DOCUMENTATION :: TOFFEE deployment topology guide
Written by: Kiran Kankipati
Typical setup (for DIY users, SOHO, etc): Assume you have two sites (such as Site-A and Site-B) connected via slow/critical WAN link as shown below.
You can optimize this link by saving the bandwidth as well possibly improve the speed.
However the WAN speed can be optimized only if the WAN link speeds are below that of the processing latency of your TOFFEE installed hardware.
Assume your WAN link is 12Mbps, and assume the maximum WAN optimization speed/capacity of Raspberry Pi is 20Mbps,
then your link will get speed optimization too. And in another case, assume your WAN link is 50Mbps,
then using the Raspberry Pi as WAN Optimization device will actually increase the latency (i.e slows the WAN link).
But in all the cases the bandwidth savings should be the same irrespective of the WAN link speed.
In other words, if you want to cut down the WAN link costs via this WAN Optimization set up,
you can always get it since it reduces the overall bandwidth in almost all the cases (including encrypted and pre-compressed data).
TOFFEE deployment with VPN devices: In case if you need to deploy TOFFEE along with your existing VPN devices you can deploy the same as shown below.
This will allow your VPN devices to encrypt your TOFFEE WAN Optimized network data.
TOFFEE deployment with web-proxy cache: If you want to deploy TOFFEE along with a web-proxy cache (such as Squid Proxy)
you can deploy the same as shown below. TOFFEE does not cache files. TOFFEE does packet level network optimization. So if you want caching
your web content you can use transparent mode web-proxy cache intercepting your WAN links. A web-proxy may reduce amount of data being
processed (optimized) within these TOFFEE devices and so reduce the CPU overheads and improve its performance.
Large Infrastructure or ISP setup: In case if you are an ISP and interested in deploying a large customer WAN Optimized network or an add-on
enhanced (WAN Optimized) network for select few customers, then you can deploy something as shown below. Although this case is not meant for hobby/DIY users.
This is a feasible solution for high-end professional application and the same can be deployed as shown below.
TOFFEE Optimized Mobile Wireless Backhaul Networks: TOFFEE can be used to optimize expensive Wireless backhaul network infrastructure.
TOFFEE can be deployed over existing slow or often outdated old backhaul networks too. This will leverage mobile ISPs and network service providers
to reduce their bulk IT CapEx and OpEx Costs.
TOFFEE Optimized CubeSat Network setup: If you are building a DIY/Research CubeSat network (such as with Raspberry Pi and so on)
you can optimize this network via TOFFEE as shown below. The CubeSats will not have WAN Optimization modules. But the User-end TOFFEE WAN Optimization
devices can communicate remote Ground-station via CubeSats. And at the ground-station you can deploy a large and or multiple TOFFEE WAN Optimization devices.
And based on the loads these TOFFEE devices deployed at ground station can be installed in high-end hardware such as high-end desktop systems or server
TOFFEE-DataCenter a TOFFEE variant for Data Center applications: TOFFEE Data-Center (a variant of TOFFEE) is specifically meant for Data Center,
Cluster Computing, HPC, SDN, VM applications. TOFFEE is built in Linux Kernel core. TOFFEE Data-Center will have basic minimal kernel module plus TOFFEE
user-space components. The entire packet processing is done within user-space. And these modules can be spawned according to the load, and system's
hardware capabilities. In a typical Gigabit system, you can have 10-100 such threads executing simultaneously. And if required based on the load, new
threads can be spawned dynamically. With high-speed load balancing systems, you can build a complete WAN Optimization hardware cluster based on TOFFEE
Data-Center variant. Here is an example of TOFFEE Data-Center deployment in which TOFFEE Data-Center is deployed in single or in multiple servers with optional
TOFFEE-DataCenter with GlusterFS Storage Cluster: GlusterFS Storage Cluster (cloud storage) is a distributed cluster network-attached storage file system often used in cloud computing, streaming media services, and content delivery networks (CDN). GlusterFS can be implemented as file-based mirroring and replication, file-based striping, file-based load balancing, volume failover, scheduling and disk caching, storage quotas, and volume snapshots. And this can span across tens and hundreds of servers. GlusterFS is open-source, incredibly powerful, easy to scale and relatively easy to setup and because of these reasons the biggest players in IT world such as Facebook, and many others are building their entire IT storage infrastructure with GlusterFS. With TOFFEE-DataCenter you can optimize huge data volumes of GlusterFS servers connected between the main data-center(s) and remotely connected remote disaster recovery site(s) as shown below.
TOFFEE-Butterscotch is a variant of TOFFEE can be used to save and optimize your Home/SOHO Internet/WAN bandwidth. Unlike TOFFEE (and TOFFEE-DataCenter) TOFFEE-Butterscotch is a non peer-to-peer (and asymmetric) network optimization solution. This makes TOFFEE-Butterscotch an ideal tool for all Home and SOHO users. Here is the deployment topology of TOFFEE-Butterscotch deployment. You can deploy the same either before your WiFi router or after your router whichever is feasible as shown below.
Thank you, Kiran