Published on

This is my presentation in MobiCom'09 for SRC (Student Research Competition)

Published in: Education, Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide


  1. 1. Ahmed Saeed, KarimHabak, MahmoudFouad and MoustafaYoussef<br />Nile University, Egypt<br />SRC, MobiCom2009, Beijing, China<br />DNIS:A Middleware for Dynamic Multiple Network Interface Scheduling<br />
  2. 2. Outline<br /><ul><li>Motivation
  3. 3. What is DNIS ?
  4. 4. Scheduling algorithms
  5. 5. Maximum Throughput-based Selection
  6. 6. Implementation
  7. 7. Results
  8. 8. Related Work</li></ul>SRC, MobiCom 2009<br />
  9. 9. Motivation<br />Mobile devices in a lot of environments can find different possible ways to connect to the internet <br />(Wi-Fi, Modem, LAN, etc)<br />Available operating systems can only connect to one of those interfaces at a time<br />Socket API<br />SRC, MobiCom 2009<br />
  10. 10. What is DNIS ?<br />DNIS stands for “Dynamic Network Interface Scheduler”<br />DNIS is used for bandwidth aggregation of the available network interfaces<br />Boosting the total device’s bandwidth<br />Increasing the stability of the internet connection<br />Works at the socket-level and finds the best interface for each new socket connection<br />Process Estimator<br />Scheduler<br />Interface Estimator<br />SRC, MobiCom 2009<br />
  11. 11. Scheduling Algorithms<br />Choosing only one interface<br />Round Robin selection<br />Maximum Throughput based selection<br />Profile based selection (ongoing)<br />SRC, MobiCom 2009<br />
  12. 12. Maximum Throughput-based Selection<br />Selects one of the available interfaces for an incoming connection so that the system finishes its current load as soon as possible<br />Depends on<br />Estimated Network Interface and application parameters:<br />Average no. of bytes received/sent by an application per connection<br />Max. speed attained by a network interface<br />SRC, MobiCom 2009<br />
  13. 13. Maximum Throughput-based Selection(Cont’d)<br />IF1 (100 Kb/s) – IF 2 (60 Kb/s)<br />At t = 0<br />At t = 2<br />At t = 4<br />At t = 7<br />SRC, MobiCom 2009<br />
  14. 14. Implementation<br />DNIS uses the same concepts used by firewalls and network proxies tocontrol the network flow<br />One of its components is a service that is used to intercept socket-based connection requests and assign proper network interfaces<br /> to them<br />SRC, MobiCom 2009<br />
  15. 15. Results<br />SRC, MobiCom 2009<br />Large Clients = 50 Mbs<br />Medium Clients = 5 Mbs<br />Small Clients = 250 Kbs<br />
  16. 16. Related Work<br />Physical Layer BA<br />Special hardware needed<br />Network Layer BA<br />A proxy is needed [Chebrolu, Wireless Networks 2007] <br />Transport Layer BA<br />New protocols needed, suggesting changes in legacy servers [Hsieh, MobiCom’02] [Magalhaes, ICNP 2001]<br />Session Layer BA<br />Needs changes in the client’s application. [Zaharia, STOC SRC 2007]<br />SRC, MobiCom 2009<br />
  17. 17. Ongoing Work<br />Estimation granularity<br />Process, connection<br />Profile-based approach<br />QoS, priorities<br />Process estimation<br />UDP<br />Should different datagrams use the same interface?<br />SRC, MobiCom 2009<br />
  18. 18. Conclusion<br />We have a lot of unutilized resources!<br />DNIS is a middleware that helps a client device utilize all of its networking resources with no modifications needed on the cloud<br />A stable version will be available soon on winc.nileu.edu.eg<br />SRC, MobiCom 2009<br />
  19. 19. Thank You!<br />Questions ?<br />SRC, MobiCom 2009<br />
  20. 20. Related work<br />
  21. 21. Network Layer<br />
  22. 22. A Network Layer Approach to Enable TCP over Multiple Interfaces (Wireless Networks, Volume 11 ,  Issue 5  (September 2005) Pages: 637 – 650, Year of Publication: 2005, ISSN:1022-0038)<br />By: KAMESWARI CHEBROLU of California at San Diego, La Jolla and BHASKARAN RAMAN of Indian Institute of Technology.<br />Idea: Same as the one before it (proxies) but it supports the TCP protocol as it lets the proxy handle the aggregation.<br />Advantages:<br />Transparent to the application.<br />Easier to get estimations<br />Disadvantages:<br />Complicated (Needs to handle packets and route them to the appropriate interface).<br />Needs a proxy service<br />
  23. 23. Session Layer<br />
  24. 24. Fast and Optimal Scheduling Over Multiple Network Interfaces (University of Waterloo Technical Report CS-2007-36, October 2007)<br />By: Matei A. Zahariaof California Berkely and SrinivasanKeshav of Waterloo<br />Idea: Extending the implementation of Opportunistic Communication Management Protocol to make it aware of the available interfaces, then connecting the different interfaces each to a proxy that handles connecting to the internet for it.<br />Advantages: <br />Optimal and linear algorithm.<br />Disadvantages: <br />The need for the proxy, <br />static algorithm, <br />not transparent to the applications.<br />
  25. 25. Transport Layer<br />
  26. 26. R-MTP (Reliable Multiplexing Transport Protocol) ICNP 2001<br />By: LuizMagahlaes in University of Illinois<br />Idea: Creating a new protocol on the transport layer that virtualizes the different interfaces and aggregates the bandwidth.<br />Adv. : <br />Transparent to applications<br />transparent to hardware <br />easier to get estimations.<br />Disadv. : <br />Complicated (packets should be monitored, changes in the protocol chain should be made)<br />requires changes in legacy internet servers for compatability.<br />
  27. 27. Between the session layer and the transport(Socket Layer)<br />
  28. 28. Design and Implementation of a Socket-level Bandwidth Aggregation Mechanism for Wireless Networks (WICON; Vol. 220)<br />By: Hiroshi SAKAKIBARA et al. School of Media and Governanc Keio University 5322, Endo, Fujisawa, Kanagawa, Japan<br />Idea: SBAM (Socket Bandwidth Aggregation Mechanism). Which changes the structure of the socket to be able to manipulate the headers. The new type of server should be available at the server and the client.<br />Advantages:<br />Transparent to the applications<br />Transparent to the hardware<br />Better utilization as a single connection can be distributed to different interfaces<br />Disadvantages:<br />It should be put on the servers too.<br />Complicated because it includes packets reordering and headers manipulation which might result in an overhead.<br />
  29. 29. DNIS<br />Idea: Changing the socket layer to intercept connections on the client and using estimations about the applications and the interfaces, DNIS can assign those connections to the interfaces depending on the load it can take.<br />Advantages:<br />Transparent to the hardware.<br />Transparent to the applications.<br />No need for changes on server.<br />Easy to plug in the client.<br />Simple and easy to trace and control and has low overhead(no packet manipulation)<br />Disadvantages:<br />Lack of full utilization as connections are distributed over the interfaces not the packets so if a connection finished early its interface wouldn’t be utilized.<br />
  30. 30. Link Layer<br />
  31. 31. Link layer<br />It’s supported widely but it needs matching end points and homogenous links.<br />It makes changes on the physical layer and it needs also matching connections.<br />For more information please check this link<br />http://www.ieee802.org/3/hssg/public/apr07/frazier_01_0407.pdf<br />