Horde: Flexible Network Striping

Horde is linux-based networking middleware that allows an application to stripe data from multiple streams across a set of dissimilar wireless network channels. Horde's approach aims to decrease the programming costs associated with building complex mobile systems that use network striping.

 

Horde provides a robust way for multi-stream applications to communicate over multiple channels with widely varying latency and bandwidth. It attempts to separate the striping mechanism from the striping policy, the latter being specified at run-time by the application in an abstract manner. In this way, in addition to aggregating bandwidth, Horde allows applications to modulate network QoS for their streams.

 

We have been using Horde to stripe video over multiple CDMA2000 EV-DO channels, so the current development code is optimized for this scenario.

Source code

Development snapshot.

 

Presentations

RQE Talk, August 2006.

 

Conference Papers

"Horde: Separating Network Striping Policy from Mechanism," Asfandyar Qureshi and John Guttag, 3rd International Conference on Mobile Systems, Applications, and Services (Mobisys 2005), Seattle, WA, June 2005. [read more]

 

"Tavarua: Video Streaming with WWAN Striping," Asfandyar Qureshi, Jennifer Carlisle and John Guttag, ACM Multimedia 2006, Santa Barbara, CA, October 2006. [read more]

 

Networks and Mobile Systems group | Computer Science and AI Laboratory | MIT