|
|
The following figure shows the system architecture for an ATP environment. The ATP protocol stack consists of four layers:
Underlying Network LayerThis layer presents the communication infrastructure for our system. This can be an IP infrastructure (such as the case in the Internet), an ad-hoc network (such as the case in MANET), or any other underlying network. Instance Based Network (IBN) LayerWe define an instance-based network (IBN) as a network of endpoint entities
called contents where each content is addressed or located by its name,
properties or attributes, independent of its physical location. The content
could be a user, an application service, a document, a network node, a network
connection or any other object. Unlike IP networks where the IP address is not
just a unique ID but also a locator, IBN addressing is decoupled from the
location of contents. Contents can actively communicate with each other by
sending or receiving messages, or performing a lookup for other contents. Other
content types, such as a document, can be passively stored in the network. The
IBN layer extends the functionality provided by the current peer-to-peer lookup
services (such as CAN, Chord,
Pastry, and Tapestry) to
achieve its functionality. Autonomous Transport Protocol (ATP) LayerThe main goal of the Autonomous Transport Protocol is to offer a reliable transport protocol over the IBN. Migration of endpoints should be transparent to each other; that is, the protocol should be able to maintain the connection during the migration of endpoints. The protocol should maintain established connections seamlessly and independent from intermediate node availability. In other words, our proposed protocol should have the same functionality of TCP in static networks while confronting the dynamics of the IBN environment. Application LayerATP-aware applications communicate with the ATP layer to perform migration of the endpoints. The ATP layer is responsible for migrating the open connection state to the new node, while the application is responsible for migrating the application state. To minimize the required changes of the existing applications to be ATP-aware, the interface between the ATP layer and the application layer is similar to the TCP socket interface with the addition of two functions: "migrate" and "land". An application that wants to migrate calls the migrate API function to inform the ATP layer of its intention to migrate. When the application migration is done, the application needs to call the land API function to notify the ATP layer on the new node to restore the open connections. Back to Top |
Department of Computer Science Last changed: February 20, 2004 |