Skip Navigation
Text:
Increase font size
Decrease font size

    Protocol Coordination for Multistrearn Applications

    Principal Investigator:Ketan Mayer-Patel
    Funding Agency: National Science Foundation 
    Agency Number: CSN-0219780

    Abstract

    Future Internet applications will increasingly make use of multiple communication and computing devices in a distributed fashion. Examples of these appplications include distributed sensor arrays, tele-immersion, computer-supported collaborative workspaces (CSCW), ubiquitous computing environments, and complex multistream, multimedia presentations. One key characteristic of these types of applications is that a single device or computational resource does not produce or manage all of the streams of data transmitted by one participant (or set of participants) to another. Instead, the endpoints of communication are collections of devices. We call these types of applications cluster applications. Unfortunately, traditional network technologies and protocols are ill-equipped to support these kinds of applications. A major roadblock faced when developing large, complex, cluster applications is the fact that transport-level protocols (i.e., TCP, UDP, RTP, etc) are tightly tied to a strict notion of "end-to-end". Furthermore, current end-to-end transportlevel protocols are engineered to operate in isolation. The use of network resources by different transport-level protocols are uncoordinated. As a result, separate data flows compete for available bandwidth and the response to congestion may be uneven and unfair. Cluster applications, however, have a more lenient notion of endpoint and therefore more complex networking needs. Any particular data stream produced by one device may need to be delivered to a number of devices on the other side and the set of devices requiring a stream may change dynamically. The paths travelled by the data streams will be nearly identical except for the first few and last few hops. Furthermore, the numerous data streams produced by a cluster application will have semantic relationships known only to the application which will affect how the data should be transmitted and the operation of the transport-level protocol. These characteristics need to be exploited by the underlying network mechanisms to provide cluster applications with appropriate communication services. We are proposing to introduce mechanisms at the points of aggregation for data streams in a cluster application that determine network conditions along the shared common path and provide a consistent and coordinated view of available network resources to transport-level protocols. We will do this by introducing an additional protocol layer between the network level (IP) and the transport level (TCP, UDP, etc.). This additional protocol layer will be used to communicate information between the coordination mechanisms at the two aggregation points on either end of a cluster application. The information exchanged by these mechanisms will be used to estimate the dynamic network conditions along the shared path (i.e., congestion, latency, jitter, etc.). These mechanism will then communicate these parameters to the transport-level protocols. Because a single mechanism is charged with estimating network conditions, all of the individual transport-level protocols involved in a cluster application receive a consistent and coordinated view of current conditions. The cluster application can then react to congestion, loss, and other network events in a manner that incorporates application-level knowledge.

    Document Actions