Horde: Separating Network Striping Policy from Mechanism

Asfandyar Qureshi, John Guttag
3rd International Conference on Mobile Systems, Applications, and Services (Mobisys 2005), Seattle, WA, June 2005

Inverse multiplexing, or network striping, allows the construction of a high-bandwidth virtual channel from a collection of multiple low-bandwidth network channels. Striping systems usually employ an immutable packet scheduling policy and allow applications to be oblivious of the way in which packets are routed to specific network channels. Though this is appropriate for many applications, other applications can benefit from an approach that explicitly involves the application in the dynamic determination of the striping policy. Horde is middleware that facilitates flexible striping in wireless environments for a diverse range of applications. Horde separates the striping policy from routing and scheduling. It allows applications to specify network quality-of-service objectives that the striping mechanism attempts to satisfy. Horde can be used by a set of application data streams, each with its own quality-of-service policy, to flexibly stripe data over a highly heterogeneous set of dynamically varying wireless network channels. We present the Horde architecture, describe an early implementation, and examine how different policies can be used to modulate the quality-of-service observed across different independent data streams.

[PDF (256KB)] [Presentation (365KB)]

Bibtex Entry:

   author =       "Asfandyar Qureshi and John Guttag",
   title =        "{Horde: Separating Network Striping Policy from Mechanism}",
   booktitle =    {3rd International Conference on Mobile Systems, Applications, and Services (Mobisys 2005)},
   year =         {2005},
   month =        {June},
   address =      {Seattle, WA}