Adaptive Network SocketsUmar Saif & Justin Mazzola PaluskaOverviewThe continual shrinking of devices has led to the expectation that users should be able to carry their handheld devices between two, possibly disconnected spaces and have the system provide personalized ubiquitous access to system resources in the context of the user. A key problem in such environments is adaptively finding and connecting to available resources in changing environments. Traditional systems burden the each application with the chore of re-discovering and re-connecting services while content-based routing systems burden the underlying network. Instead, we propose Service-Oriented Network Sockets (SoNS) interposed at the session binding layer at each end host. Service-oriented network sockets take a high-level description of a service and opportunistically connect to the best provider of that service in the context of the device. An application states its high-level service requirements as a set of constraints on the properties required in a suitable resource. In turn, the system continuously monitors, evaluates, and compares the available resources. It connects and potentially (re-)connects to the resource that best satisfies the specified constraints. Unlike content-based routing systems, service-oriented network sockets offer connection-oriented semantics. Additionally, the Service-oriented network interface allows an application to tailor the planning policy used to establish and rebind a network session. In summary, service-oriented network sockets integrate a service-oriented abstraction with the traditional operating system interface for accessing network services, making it simpler to develop pervasive, mobile applications. ApproachSoNS is designed as an extension of the operating system socket interface. As such, it implements all the methods and options of a traditional AF_INET Unix socket, with additional options for establishing service-oriented network connections. A service-oriented network socket extends a traditional network socket in the following ways:
By handling the dynamism of the system at an end-node, SoNS does not require any changes to the network routing infrastructure. Therefore, as opposed to systems that employ application-level content-based routing to address the dynamism of the system, SoNS's architecture does not introduce extra routing complexity in the participating nodes, achieves better performance, and leverages the underlying network support for quality-of-service. Extending SoNS: LANSThe end-to-end nature of SoNS has two disadvantages. The first of these is that each end host must host all of SoNS and its overhead. SoNS's continual network probing strains batteries on mobile hosts while parsing returned results often slows computationally weak handhelds. The second is that SoNS acts greedily in its resource management; in the presence of many SoNS clients resources get allocated sub-optimally. To mediate both of these problems, we extend SoNS to create Lightweight Adaptive Network Sockets (LANS). LANS improves on SoNS in several ways:
To summarize, LANS offers the same interface as SoNS, but with increased efficiency and application control. For example, the figure below shows the power savings of a video application using LANS and SoNS in two different configurations on an iPAQ—using the iPAQ's local screen and adaptively offloading the video to a nearby network screen. LANS cuts power consumption drastically. |
||
|