SideStep – Scalable performance detouring through information reuse

Many studies have shown that the default Internet path can be suboptimal, potentially leading to poor throughput between hosts. SideStep is the first scalable and efficient system to provide free, open access to alternative paths to improve throughput — sometimes even doubling or tripling performance. The SideStep service reuses information from content distribution networks (CDNs) to locate quality overlay paths and stream data over them. SideStep is packaged as a Java-based library and stream API that is easy to integrate into existing applications. To demonstrate its effectiveness, we provide DraFTP, and open-source FTP suite that uses SideStep to improve download performance. You can find our downloads at the bottom of this page.

The Detour study showed that Internet paths are generally suboptimal, both in terms of latency and packet loss. Later, the RON (Reliable Overlay Network) project demonstrated that users can get better transfer performance by diverting your transfer to another computer before it goes to the destination. Part of the reason for this situation is that ISPs have arrangements to carry traffic for each other, and those business arrangements trump optimal path selection. Because each ISP can have different arrangements, another nearby ISP may have a better path for you.

The primary reason why RON is not widely deployed is that it requires active probing that results in measurement overhead proportional to the square of the number of nodes in the system. Such overhead is unacceptable in many Internet-scale applications, e.g., P2P networks that tend to have millions of users. An alternative approach is to pick detouring points at random, and hope that you get lucky and find a better path. Although there is very low overhead in this approach, it is unlikely to improve performance in general. SideStep sits between these two extremes of the cost/performance tradeoff: it finds high-quality detour points with high probability, and requires only a constant amount of measurement overhead per node.

SideStep achieves high scalability by using content distribution network (CDN) redirection dynamics as hints regarding good candidate detour points. CDNs cache copies of web objects on thousands of servers worldwide and redirect clients to different servers, over short time scales, based on server load and network conditions. In Drafting Behind Akamai, we demonstrate that these redirections are primarily driven by network conditions and suggest that one could use them to identify quality Internet paths without monitoring or probing them. Initial results from SideStep show that CDN redirection dynamics are indeed effective hints — inexpensive to attain and validate and sufficiently accurate to drive a large-scale detouring service.

The approach is surprisingly effective. In our measurement study conducted on 100s of computers worldwide, we found that SideStep improves performance more than half the time. (The other half of the time there was no better path to be found, so performance was the same — SideStep can never hurt your bandwidth.)

Motivation for Names

We call this project SideStep because we are “sidestepping” poor Internet paths given to users by default. The FTP suite is called DraFTP because it, like SideStep, exploits the “drafting” approach to building efficient large-scale systems. In this case, we efficiently determine path-quality information by allowing CDNs to absorb the cost of measurement much like cyclists in a peleton efficiently cruise at high speeds by allowing riders in front to deflect the slowing force of wind.

People

Collaborators

  • Aleksandar Kuzmanovic
  • Ao-Jan Su

Publications

Resources

  • We ask that you create an account on our website to access the software. Once you have created an account and logged in, download links will appear at the bottom of this page. Any paper that uses this software must refer to the publication above and you must send us a copy of the paper upon publication.
  • Note: The software below will be released when they are sufficiently stable. The documentation items will turn into links as soon as they are written.
  • SideStep Background Service
  • Documentation
    • SideStep Stream API
    • SideStep Configuration
    • Using DraFTP

FAQ

  • How can SideStep ensure my download performance never decreases? SideStep evaluates candidate detour paths by splitting your stream of data between your current path and the new one. This adds some small amount of delay while the data beings to flow along the new path, but your overall throughput does not suffer for it.
  • Won’t CDNs stop you from using their measurements? They can try, but it’s unlikely that they will. For one, the Akamai CDN already makes measurement information publicly available. Second, we use standard DNS lookups to gather hints from CDNs, but we do notdownload any content from them. These lookups can be done as infrequently as once per hour. Thus, SideStep produces a negligible amount of load compares to the hundreds of millions of Web users downloading CDN content worldwide. Finally, it is unlikley that CDNs could filter SideStep behavior — our requests are the same that are issued by regular users of CDN content.
  • Aren’t you just using AkaRouting? No, AkaRouting is a paid service for detouring provided by the Akamai CDN. SideStep is completely free and does not use AkaRouting paths.