Research

 

CSI ]   [ ETH ]


Lab Manager ]

LST Home ]     [ People ]     [ Research ]     [ Teaching ]
[ Publications ]     [ Research Opportunities ]     [ Partners & Supporters ]     [ Earlier Work ]

Design of topology-aware networked applications

Roger P.  Karrer,  Design of topology-aware networked applications, Swiss Federal Institute of Technology, ETH Zuerich. (Diss. ETH No. 14828), September 2002. [DISS_ETH_14828.pdf  DISS_ETH_14828.ps  DISS_ETH_14828.ps.gz]
The Internet is designed along several simple principles: best-effort delivery, separation between end systems and networks, and point-to-point connectivity. This simplicity has greatly contributed to the growth of the Internet to its current dimensions, but is no longer suited to efficiently support the communication requirements of today's and tomorrow's applications, such as multicast, mobility, bandwidth-based routing or adaptation to address heterogeneity. Our thesis is that these communication requirements can be addressed by a single application-layer communication architecture that integrates knowledge about the topology and the available resources in a network into the application context, and that this integration pays off. We thereby assume that nodes inside the network (proxies) exist on which applications can instantiate their code. This dissertation first describes the architecture, a three-layered {\em topology-aware framework} we call Octopus. This application-layer framework provides abstractions for services which can be deployed inside the network, algorithms and tools to locate, evaluate and select proxies, as well as mechanisms to steer an ongoing transmission. The framework fixes the process of topology-aware communication while allowing applications express their preferences by customizing the communication abstractions. The concept of topology-awareness implies that information about the available proxies must be available. At the lowest layer, this dissertation describes a scalable and practicable application-centric solution to discover available proxies. These proxies are organized in a graph to form the network topology for a topology-aware application. The topology discovery is combined with the measurement of the available resources along this topology. The middle layer contains abstractions to evaluate the topology graph and select a proxy to instantiate application-specific code. The evaluation can be made with application-specific preferences, e.g., to find the path through the graph with the smallest latency or the largest bandwidth. Similarly, the selection can be customized, e.g., to place code for adaptation or for multicasting. Finally, at the topmost layer, we evaluate our solution with two topology-aware applications. A collaborative application distributes data of different content and size to multiple participants. We can show that a topology-aware path selection can considerably improve the delivery time or the delivery quality, based on the application preferences. Second, we integrate an existing MPEG-1 application into Octopus to deploy different communication forms. Octopus supports the dynamic creation of a multicast tree or the dynamic change from an existing connection to an alternative connection. We conclude that the breaking of the end-to-end concept and the layering concept of the Internet allows an application to opportunistically use the available resources in a way that better reflect the application requirements. The topology-aware framework is thereby well suited to deal with the increased complexity of taking topology- and performance information about the network into account.
[ Publications ]     [ Research Opportunities ]     [ Partners & Supporters ]     [ Earlier Work ]