iNAT: Intelligent Naming and Adaptive Transport

PIs: Hari Balakrishnan, M. Frans Kaashoek, John V. Guttag, Robert T. Morris, David K. Gifford
DARPA ITO Contract MDA972-99-1-0014
PM: Dr. Mari Maeda

Annual Report
July 14, 2000

Objective

The next-generation Internet (NGI) is certain to be different from the current one in several important ways, including the degree of mobility and dynamism of its hosts and services, the degree of integration with the physical environment of sensors and actuators, and the heterogeneity of data transmitted on its links. The goal of the iNAT project is to design, implement, deploy, and evaluate an integrated approach to resource naming, message routing, and adaptive data transmission for this future environment. The deliverables of iNAT include a suite of middleware, algorithms, and protocols, which together solve several hard problems including remote device access (e.g., surveillance cameras), host and service mobility, group communication to dynamic services, audio/video dissemination over heterogeneous networks, and congestion management techniques for the NGI.

More specifically, our goals are:

  1. To develop a naming system for resource discovery in ad-hoc, dynamic and mobile networks without pre-configured support or infrastructure. This will enable self-organizing distributed applications such as camera surveillance networks accessible by mobile users. A specific objective of the naming system is to make it possible to name and gain access to devices and services without knowing their network location, instead describing them via an expressive and descriptive syntax.
  2. To develop a resource management framework to manage congestion and enable adaptive multimedia applications (e.g., video and audio) in the NGI. This framework should empower applications to learn about network conditions and adapt their behavior to current conditions

Approach

Our general approach is to integrate naming, routing, and resource management. In today's networks these are separate steps. First, an application resolves a name and is handed back a network address (e.g., an IP address). Then, the application makes a connection with the given network address, resulting in packets being routed to the network address. Finally, if the application uses the Transmission Control Protocol (TCP), congestion control is done, but otherwise it is not; increasingly many multimedia and streaming applications use UDP-based protocols that do not perform congestion control.

With iNAT, applications name and gain access to resources using expressive names called "intentional names," where names are resolved using the Intentional Naming System (INS). In INS, names are "intentional," where applications can describe a sought resource by expressive properties (e.g., expressing requests such as "find the nearest, least-loaded color printer that can handle transparencies" or "the view from the mobile cameras on the western side of the hill"), rather than by their network location (as in "camera643.darpa.mil" or "18.31.0.99"). Such intentional naming using attributes provides a high degree of flexibility and decentralized management, allowing an applications to describe "what" it is looking for, rather than simply "where" in the network it might be. Intentional name resolvers in the network route requests to the appropriate locations by maintaining a dynamic mapping between service descriptions and their network locations. This allows applications to self-organize because any data they need is obtained for them by INS based only on their descriptions, freeing them of the need to implement this machinery.

INS has mechanisms to scale to the wide-area by interfacing with the Internet Domain Name System (DNS) and incorporates several load-balancing and routing algorithms. A key innovation in INS is to integrate the processes of name resolution and message routing, processes that have thus far been kept separate in networks. This integration allows applications to use an intentional name as the "level-of-indirection" to track device and service mobility as well as communicate with groups of nodes seamlessly. The intentional name resolvers implement routing protocols to provide an application-level, name-based routing system.

iNAT also takes an end-to-end approach to mobility in contrast to traditional IP-layer approaches like Mobile IP, which were designed under the principle that fixed Internet hosts and applications were to remain unmodified and only the underlying IP substrate should change. In contrast, the iNAT approach requires no changes to the unicast IP substrate, but instead modifies transport protocols and applications at the end hosts. This approach has several significant advantages: it enables a natural approach to "vertical" mobility for mobile hosts with multiple network interfaces (as is increasingly common), it does not suffer from inefficient "triangle routing" as mobile IP does and therfore provides better performance, and in many cases is easier to deploy in the Internet than Mobile IP. Two important innovations make this approach work: (i) the use of dynamic updates to a naming system such as DNS or INS to track mobile host to IP address mappings, and (ii) the use of a novel connection migration scheme to securely migrate end-to-end connections across IP address changes, while guarding against connection hijacking by malicious parties.

iNAT's approach to end-to-end network resource management is based on a unified Congestion Manager (CM), which maintains information about available bandwidths and network characteristics on end-to-end paths and implements a variety of congestion control algorithms, including novel ones tuned for efficient audio and video transmission. The CM is independent of specific applications and transport protocols, but provides the ability for different streams (flows) to perform ``shared state learning.'' Rather than have each stream act in isolation and thereby give up any opportunity for global optimization, the CM maintains host- and domain-specific path information. Path properties are shared between different streams and all transmissions are performed only with the CM's consent. The CM also exports a simple API to allow applications to adapt to congestion in a way that accommodates the heterogeneous nature of streams. In addition, hints can be sent from the receiver to the sender's CM to flexibly apportion available bandwidth among different streams.

Together, the integrated approaches to name resolution and messaging routing using intentional name resolution, iNAT's end-to-end approach to host mobility, and its congestion management using the CM for adaptive data transmission handle several challenging characteristics of the future Internet and enable a variety of new applications.

Recent accomplishments

  1. Completed implementation of Version 1.1 of INS including support for intra-domain operation and load-balancing using virtual spaces. Modules for name lookups, name updates, message routing, intentional anycast (accessing best service corresponding to a name), and intentional multicast (accessing all services corresponding to a name) implemented.
  2. Several INS applications developed including Floorplan, a map-based navigation tool; Camera, a camera network; and Printer, a load-balancing printer. These use iNAT's integrated naming and routing protocols for mobility and group communication.
  3. End-to-end host mobility using dynamic name updates and secure TCP connection migration designed and implemented under Linux 2.2. The secure migration scheme uses elliptic-curve cryptography as part of a Diffie-Hellman key exchange to prevent malicious connection hijacking. The performance of this mobility scheme is in many cases several times better than Mobile IP.
  4. Congestion Manager software Version 1.0 designed and implemented. Includes a comprehensive API for application adaptation to network conditions and support for highly adaptive application-level framing approaches. The CM implements congestion control algorithms, enabling UDP-based applications to react appropriately to network congestion and probe for spare bandwidth in a network-friendly manner. Performance experiments show that it is possible to implement scalable and efficient data servers for audio/video streaming data that adapt well to network congestion.

Current plan

  1. Intentional Name Resolvers in iNAT should self-configure into an overlay network. Self-configuring algorithms for this are being developed.
  2. The CM framework enables the deployment of application-specific stable congestion control algorithms, in particular those for audio and video data, which do not react well to the drastic rate reductions caused by TCP congestion control mechanisms. In particular, nonlinear control algorithms appear promising, where the probing and reacting functions are nonlinear. These have applications to high-speed networks as well, where multiplicative-decrease may lead to under-utilization of capacity.
  3. INS wide-area operation being implemented. Evaluation and scalability experiments being planned for name resolution.
  4. Adaptive delivery of video and audio from scalable servers, using the CM, being designed and implemented.
  5. Software plans
    1. INS alpha code release planned for December 2000.
    2. iNAT's migration-based mobility alpha code release planned for September 2000. IETF draft planned for December 2000; Internet Research Task Force (IRTF) presentation done in June 2000.
    3. CM software release planned for September 2000.

Technology transition

  1. iNAT Intentional Naming System (INS) software being used by Professor Martin Rinard's group at MIT LCS for embedded software construction. INS software release done to researchers at NTT Corporation in Japan who are using it in their research.
  2. Based on iNAT's Congestion Manager (CM) research, IETF End-point Congestion Management (ECM) working group was formed. (Please see http://www.ietf.org/html.charters/ecm-charter.html). The current CM IETF draft is in last call before Proposed Standard stage, after several ECM meetings in past IETFs. Interest in CM software from several commercial vendors including IBM, service providers including Yahoo!, and network vendors including Nortel Networks.