Spawning Networking Architectures (White Paper)

0 downloads 0 Views 54KB Size Report
Jan 20, 1998 - (ii) lack of automation of the process of realization and deployment of new ... broadband kernel, an open programmable networking platform, ...
Spawning Networking Architectures (White Paper)

Aurel A. Lazar and Andrew T. Campbell Department of Electrical Engineering and Center for Telecommunications Research Columbia University, New York, NY 10027-6699

January 20, 1998

-1-

Project Summary The rapidly evolving nature of the application base, service demands and underlying network technologies, presents a significant challenge to the research community. Existing networks architectures (e.g., Internet, ATM, mobile, Telephone) exhibit two key limitations that prevent us from meeting this challenge: (i) lack of intrinsic architectural flexibility in adaptation to new user needs and requirements, and (ii) lack of automation of the process of realization and deployment of new and distinct network architectures. In response to this, we argue that there is a critical need to propose, investigate and evaluate alternative network architectures to the existing ones. This challenge goes far beyond the proposal for yet another experimental network architecture. Rather, it calls for radically new and innovative approaches to the way we design, develop, deploy, observe and analyze next-generation networking architecture in response to future needs and requirements. Our past research has demonstrated how architectural flexibility can be incorporated within the xbind broadband kernel, an open programmable networking platform, for creating, deploying and managing sophisticated next generation multimedia services. In order to overcome the limitations of the current architectures, we propose to extend the xbind broadband kernel with the new capability of spawning (creating) a “child” kernel operating on a subset of network resources. We call the former broadband kernel the “parent kernel”. The term ‘spawning’ finds a parallel with an operating system spawning a child process. In this case, however, the spawned “child” kernel typically represents a new network architecture supporting alternative signalling protocols, communications services, QOS control and network management in comparison to the “parent kernel” architecture. Our research goals raise a large number of important questions. We can not hope to address them all in this proposal, however. We therefore propose a research agenda that comprises of items that we consider the most pressing in building a network architectures creation platform and plan to: (i) establish a methodology and create an environment for spawning virtual networks and their architectures, (ii) investigate trade-offs of location and degree of cooperation and competition among the controllers that define and characterize the architecture, (iii) investigate the trade-off between engineering efficiency and economic efficiency that arises in architecting virtual networks, (iv) demonstrate the spawning of virtual networks on demand that exhibit at least two distinct architectures. An important component of our work is the building of research prototypes. We will demonstrate the power of deploying virtual network architectures on demand on broadband and pico-cellular/ad-hoc networks; these prototypes will be profiled, spawned, observed and managed through refinement. We will exhaustively probe the design space of parent and child architectures and investigate their relationship using game theoretic models and pricing mechanisms. There are five major software deliverable in this project. First, the broadband kernel deliverable will be released at the end of year one and then each year through the duration of the project. This will provide systems support for the network profiling, network spawning and visualization deliverables. Next, the network profiling and spawning tools will be made available at the end of year two. Third, the network visualization and management tools will be made available at the end of year three. The wireline and wireless virtual networks will be the final deliverable of the project. Results from this phase of the work will be delivered at the end of year four. Results from all phases of this work will be made available to the participants of the NSF Special Project on Gigabit ATM Distribution and the OPENSIG community. We intend to feed key results from our investigation into the new and rapidly growing research and development activities associated with the IEEE standardization process on Programmable Interfaces for Networks.

January 20, 1998

-2-

1. Introduction Currently there are two key networking technologies under intense investigation in the research and development community. These are known as the Internet and the ATM. They are being championed, among others, by the IETF and the ATM Forum, respectively. The discussions in the research community between these two competing networking technologies, however, has become very counterproductive, focussing mainly on the issue of who is going to win, rather than understanding the limitations, of which there are many, of the two technologies. We identify two key limitations of today’s architectures: (i) lack of intrinsic architectural flexibility in adaptation to new user needs and requirements, and (ii) lack of understanding on how to automate the process of realizing distinct network architectures. We feel, therefore, that there is a need to propose, investigate and evaluate alternative network architectures to the existing ones. The proposal below deals with an alternative research program that uses a number of technologies from each. It does not fall into the patterns of either, however. It was prompted by the limitations of the exisiting networks (e.g., Internet, ATM, mobile, Telephone) and the lack of search for fundamentals in networking research to answer these limitations. Our key thesis has been that networking fundamentals are associated with a better understanding of service creation, deployment and management, and QOS guarantees. These need to be recognized in the network architecture explicitly and can be achieved by making the network programmable [24]. Our proposal for making the network programmable [26] revolves around the simple concept of separation of hardware from software. Such a proposal has not been discussed by either the ATM Forum or the IETF. The reasons are simple: switches and routers are vertically integrated, akin to mainframes. Third party software providers do not have access to the states (e.g., routing tables) in switches and routers. By modeling the hardware via a set of open interfaces, our proposal to build programmable networks enables third party software providers to enter the market for telecommunications software; this is similar to what the PC industry has worked with for many years. As a result, building open programmable networks has become one of the key research challenges that faces the networking community [24]. The key objective here is to make the network as programmable as the PCs and thereby drastically reduce the time to market of network services. Our past research has demonstrated how architectural flexibility can be incorporated within the xbind broadband kernel [24], [25] an open programmable networking platform, for creating, deploying and managing sophisticated next generation multimedia services.

In order to overcome the limitations of the current architectures, we propose to extend the xbind broadband kernel with the capability of spawning (creating) a “child” kernel operating on a subset of network resources. We call the former broadband kernel the “parent kernel”. Our research goals raise a large number of important questions. We can not hope to address them all in this proposal, however. We therefore propose a research agenda that comprises of items that we consider the most pressing in building a network architectures creation platform and plan to: (i) establish a methodology and create an environment for spawning virtual networks and their architectures, (ii) investigate trade-offs of location and degree of cooperation and competition among the controllers that define and characterize the architecture, (iii) investigate the trade-off between engineering efficiency and economic efficiency that arises in architecting virtual networks, (iv) demonstrate the spawning of virtual networks on demand that exhibit at least two distinct architectures. This proposal is organized as follows. In section 2 the research rationale for undertaking this work is given.

January 20, 1998

-3-

We discuss the limitations of the existing networks, introduce the concept of spawning network architectures and describe the expected impact of the proposed research. Section 3 describes the current state of the xbind broadband kernel and some of its limitations. The overall research program is presented in section 4. Section 5 describes the technical approach in detail. Engineering network architecture prototypes are covered in section 5.1, research issues generated by the engineering prototypes are discussed in section 5.2 and deliverables appear in section 5.3.

2. Research Rationale The rapidly evolving nature of the application base, service demands and underlying network technologies, presents a significant challenge to the research community. This challenge goes far beyond the proposal for yet another experimental network architecture. Rather, it calls for new and radical approaches to the way we design, develop, deploy and analyze next-generation networks in response to future needs and requirements. We identify two key limitations of today’s architectures: (i) lack of intrinsic architectural flexibility in adaptation to new user needs and requirements, and (ii) lack of understanding on how to automate the process of realizing distinct network architectures.

2.1 Limitations of Existing Networks To help deal with complexity network designers capture the blue print that parametrizes the design space into an architecture. Network architectures (e.g., Internet, ATM, mobile, Telephone) identify the network hardware and software components, and show how they can be arranged to build a complete environment to support service requirements. Thus, nework architectures clearly embody the major building blocks and their interaction. Abstractions, such as layering and objects, are techniques used by the network architect to manage the communication systems complexity. In what follows we make a number of observations about the limitations encountered in designing and deploying these architectures. These observations motivate our proposed research. First, the current network architectures are deployed on top of a multitude of networking technologies such as wireless/mobile, satellite and land based for a bewildering array of voice, video and data applications. Since these architectures offer a very limited capability to match the various environments/applications, the deployment of these architectures has predictably met with various degrees of success. Tremendous difficulties arise, for example, in mobile IP because of the inability of the TCP protocol to match the high loss rate encountered in wireless networks. A protocol other than TCP might help but its implementation is difficult to realize. Second, the interface between the network and the service architecture responsible for the basic communication services (like connection setup procedures in ATM and Telephone networks) is rigidly defined (and can not be replaced, modified, nor supplemented) or based on end user connectivity abstractions (as in the Internet) with scant support for quality of service (QOS) guarantees and accounting for usage of network resources (billing). Third, the creation and deployment of a network architecture is a manual, time consuming and costly process. At its most advanced, the creation process utilizes off-line tools for network planning, emulation and simulation. These tools are, however, invariably narrow in scope, primitive in use and fail to highlight significant integration problems. To the network architect the creation process is typically ad-hoc in nature, based on hand crafting small-scale prototypes that evolve toward wide scale deployment. There is a dire

January 20, 1998

-4-

need to design architectures based on solid theoretical foundations that call for clearly reasoned system level models. Fourth, multiple parametrizations of the network design space are needed and should be used for systematic explorations before the final realization of the architecture is deployed. Such capabilities hardly exist and as a result the deployment cycle is typically a “blind” iterative process based on ‘design, deploy and analyze’. While such a ‘trial and error’ approach is essential when assessing the pros and cons of selecting a particular sub-set of the architectural design space, an architectural design methodology is needed to support such capabilities. All these limitations call for new approaches for architecting networks. Before trying to understand how we can realize a network architecture, however, one must first understand the application, services and underlying technology requirements that drive its design. A set of principles for defining network architectures is described in detail in [24] and the references therein. Other sources that represent different points of view from ours are [2], [9].

2.2 Spawning Networking Architectures In this research proposal we call for a radically new approach to the creation, deployment and analysis of next-generation network architectures. We believe that ‘the’ issue for the research community is the investigation of architectures that exhibit strikingly new capabilities to move beyond our current world view, e.g., ATM or Internet approaches. We argue that the design, creation and deployment process for realizing new architectures must be automated and built on the foundations for programmable networks. We describe the process of automating the creation and deployment of new architectures as “spawning”. The term ‘spawning’ finds a parallel with an operating system spawning a child process. By spawning a process the operating system creates a copy of the calling process. The calling process is known as the parent process and the new process the child process. Notably the child process inherits its parents attributes typically executing on the same hardware (i.e., the CPU). We envision next-generation broadband kernels as having the capability to spawn not processes but complex network architectures. This is a radical proposal for architecting and deploying next-generation networks. We call the broadband kernel installed on top of the network resources the “parent kernel”. We propose the realization of a parent kernel with the capability of creating a “child kernel” operating on a subset of network resources as illustrated in Figure 1. This is a departure from the operating system analogy where the parent and child typically share the same hardware. The partitioning of the network resources and the architecture controlling those resources, i.e., the child kernel, will be spawned by the parent broadband kernel. Therefore, we propose to investigate the feasibility of instantiating an architecture within a given network architecture. The two architectures (i.e., parent and child) would be deployed in response to possibly different user needs and requirements. For example, part of an access network to a wired network might be redeployed as a pico-cellular virtual network or a satellite virtual network as illustrated in Figure 1. In this case the wired network is the “parent” and the wireless network the “child”. Another example is offered by virtual networks that can be either under the control of a service provider (such as a telco or an ISP) or under customer control. Typically, spawned network architectures would support alternative signalling protocols, communications services, QOS control and network management in comparison to the parent architecture. These networks would map down and execute over a sub-set of the underlying physical network topology as illustrated in Figure 1.

January 20, 1998

-5-

Cellular/ Ad-hoc NetArch Satellite NetArch parent kernel spawning

Broadband NetArch

Multimedia Computing

mobileDevice

LEOSatelliteSwitch

Broadband Networking

VirtualDevice

SwitchServer

MediaProcessors

WirelessAccessPoint

Figure 1. Programmable Networks 2.3 Related Work Most closely related to our on-going research on network programmability and service creation is the work by the active networking community [39]. The research on active networks (e.g., [39], [41], [23]) is to develop a highly dynamic runtime environment that supports a finely tuned degree of control over network services. The research program calls for, among others, the design and development of subsystems that allow a broad spectrum of services to be integrated and a multiplicity of network behaviors to be supported through visualization of the underlying infrastructure. While most of the current research in active networks proposes the dynamic deployment of software capabilities at runtime, it does so within the confines of a given network architecture. This clearly allows adding and changing node functions relative to basic handling capabilities such as routing, changing and adding node functions for resource management such as scheduling, etc. In this process the relative relationship among the controllers in the network, however, remains unchanged. We feel that the aims of the active networks program to be limiting in relation to this proposed project as they do not allow us to construct novel networks in a fundamentally different way from the existing legacy networks. By contrast we propose here capabilities that enable the deployment of networks and their architecture on demand. These architectures can be interpreted as extremely complex services that independently support the establishment of services themselves.

January 20, 1998

-6-

2.4 Impact Today, most major network architectures are closed to third party software providers. It is not in the commercial interest of switch/router vendors to open up their networks/switches/routers to third party competition. It is not in the scope of any one company to develop new network architecture creation methodologies and tools as it goes far beyond the scope of any one company’s immediate networking vision. Clearly, it is in the interest of the service providers to have a programmable networking base. Such networks allow the integration of network control and service management and would substantially reduce the time to market of new services that a specific customer base asks for. Creating a highly programmable network will change the structure of the telecommunications industry and lead to an abundance of low cost network services. Within this context we feel that NSF can play a critical role in laying the foundations for the next-generation network architectures with strikingly different capabilities from the ones that exist today. The PIs have played a key role in establishing a number of new international forums to promote and address the need for research into open architectures, open signalling and network programming for ATM, Internet and mobile networks. First, we played an important role in establishing an international working group called OPENSIG (open signalling) [34] for actively exploring network programmability and next generation signalling technology. The OPENSIG group meets on an informal basis every six months to exchange ideas and discuss appropriate forms of collaboration with the stated goal of promoting research and development on open signalling and service creation. The OPENSIG community regularly attracts 150 plus researchers from industry, academia and the military. The groups interest spans ATM, Internet and mobile networking technologies. Second, as a result of the tremendous success of OPENSIG, the IEEE Communications Society is sponsoring a new conference on Open Architectures and Network Programming (OPENARCH '98) [33]. The first OPENARCH conference with the PI as its Program Chair will be held on April 3-4, 1998 in San Francisco and will be co-located and organized in conjunction with INFOCOM'98. OPENARCH will offer a forum for the communication of experimental as well as theoretical results aimed at a better understanding of the overall networking architecture and its realization in software. It will encourage a shift of the processes of service creation, resource allocation and control from ad-hoc solutions to a discipline of network programming. Third, our initial work on open programmable networks has been instrumental in the formation of the new IEEE standardization initiative on “Programmable Interfaces for Networks” [18]. Columbia University, Ericsson, ISS and NEC are leading the working group under the auspices of the IEEE. Because of the breadth and depth of scope we believe this to be a key development in networking. The standardization process will potentially have an enormous impact on the design and deployment of next-generation architectures. The first meeting of the IEEE standardization team will take place at Columbia University, Feb 12-13, 1998. Next, the ISO MPEG-4 have adopted our work on network APIs to support the “DMIF Network and Media Dependent Part” initiative known as XDMIF. The MPEG-4 contribution [6], [7] on network APIs is sponsored by Nortel. It is anticipated that this contribution with the rest of MPEG-4 proposals will reach international standard status by 1999. Finally, our software platforms have been widely used by the research and developement community. The

January 20, 1998

-7-

xbind 1.0 platform has been deployed and experimented with by a number of universities and industrial research laboratories worldwide. (See, among others, the list of participants in [34].)

3. The xbind Broadband Kernel The distributed object computing paradigm allows a useful and accurate abstraction of a network as a distributed collection of objects (as illustrated in Figure 1) each with its own state, and software interfaces by which that state can be manipulated in order to achieve global objectives. By modeling all controllers as entities interacting through (remote or local) object invocations, the necessary programmatic interface to the software architecture is achieved. At core of this software architecture lies a distributed broadband kernel that reflects the states of resources across the broadband network. The proposed research calls, among others, for major innovations in the capability of the current broadband kernel in support of the creation, deployment, analysis and management of spawned network architectures. We first present an overview of our previous work on the broadband kernel and then, later in the proposal, we detail the necessary enhancements setting out our research agenda for these new foundations.

3.1 Status of Previous Work In the fall of 1996, we completed the implementation of a broadband kernel, a flexible open programmable networking platform, for creating, deploying and managing sophisticated next generation multimedia services called xbind [26] (version 2.0 - version 1.0 can be downloaded from the web [32]). xbind currently supports the creation, deployment and management of networked multimedia services (e.g., multicast, etc.) and mechanisms for efficient resource allocation (e.g., QOS routing, admission control, QOS mapping, etc.). The term ‘kernel’ is deliberately used to draw a parallel between its role as a resource allocator and extended machine, and that of a typical operating system. The broadband kernel behaves as a resource allocator because it mediates and arbitrates between conflicting requests for resources made by various parties in the system. It functions like an extended machine because it provides a simplified means of accessing fundamental system services by abstracting away the operational complexities of provisioning these services. The broadband kernel is completely object based. A set of APIs abstract and represent computer and communications hardware [1] (e.g., ATM switches, wireless access points, multimedia devices) and network resources (e.g., link capacity, name space, CPU) allowing network controllers (e.g., connection managers, multicast routers, mobility managers, etc.) to directly program the hardware to meet new service requirements. This separation between hardware and software and the introductions of open APIs in the network architecture at all levels provides a foundation for programmable networks [24]. The primary power of the xbind APIs is the tremendous flexibility made available for service providers and users alike to mold the structure of the network in a way that reflects economic policies and business practices. By this we mean that these various levels of APIs allow different parties or stakeholders to influence the partitioning of resources to carve out natural market niches or even create wholly new markets. In other words, unlike the service architectures of the Telephone Network or the Internet which tend to fall along the lines of ‘all or nothing’, we envision a future service marketplace to be rich in choices, variations and sophistication. Open APIs expose the network and switching hardware states promoting independent and flexible signalling based service creation. By using the object binding mechanisms provided by a distributed object

January 20, 1998

-8-

programming environment, xbind encapsulates different types of signalling protocols, so that they may be accessed from the same generic interface [25]. This will benefit network service developers and application vendors who can realize communication services not specified in standard signalling protocols, and conduct service quality negotiations with network elements. The exposed interfaces will also benefit switch/router vendors through enhanced external control and management of switching hardware with minimum software development effort.

Services and Applications Network Service Abstractions

The Multimedia Network Binding Algorithms Binding Interface Base

Programming Model

QOS Abstractions

The Broadband Network

Fig. 2. Overview of XRM The current software release of the xbind broadband kernel does not support wireless communications. To address this limitation we initiated project mobiware in the Summer of 1996. Mobiware [10], [42] will extend the broadband kernel’s capability to the wireless and mobile domain [11] providing programmable mobile networking extensions to the kernel. Mobiware will incorporate wireless transport, mobility management, QOS adaptation management, and proxy technology

3.2 Evolving the XRM The Extended Reference Model (XRM) [25], [26] which represents the underlying model of the xbind broadband kernel, will play a central role in providing the necessary foundations for spawning new network architectures. Currently, the XRM supports multimedia networking and computing and consists of 3 components called, the Broadband Network, the Multimedia Network and the Services and Applications Network (see Figure 2). The broadband network is defined as the physical network that consists of switching and communication equipment and multimedia end-devices. Upon this physical infrastructure, resides the multimedia network whose primary function is to provide the middleware support needed for realizing end-to-end QOS guarantees over the physical media-unaware network. This is achieved by abstracting from the broadband network a set of QOS abstractions. These are located in a repository called the Binding Interface Base [1]. Based on the latter, resource management and control can be performed. However, QOS abstractions, by themselves, are a passive representation of resource states. Services, on the other hand require activity in terms of resource reservations and distributed state manipulation. These activities can be viewed as part of an algorithm which when executed creates the service. In this perspective, the multimedia network provides a programming model which together with the QOS abstractions it receives from the broadband network, allows service behavior to be specified and executed. Service abstractions represent the states of a service created using algorithms native to the multimedia network. These abstractions are used by the services and

January 20, 1998

-9-

applications network for managing and creating new services through dynamic composition and binding of objects.

4. Proposed Research The xbind broadband kernel is booted off a well defined initial ATM hardware platform. The system is handcrafted: a set of software objects exert control over a given resource space provided by the switches and communication links. After installing the control and communication software on the control processors, xbind supports the creation of network services such as switched virtual circuits using the signalling system and virtual paths using the management system. Recall that the xbind broadband kernel as installed on top of the network resources is called the “parent kernel”. We propose the realization of a parent kernel with the capability of creating a “child kernel” operating on a subset of network resources. The partitioning of the network resources and the architecture controlling those resources, i.e., the child kernel, will be spawned by the parent xbind kernel. Therefore, we propose to investigate the feasibility of instantiating an architecture within a given network architecture. The two architectures would be deployed in response to possibly different user needs and requirements. For example, part of an access network to a wired network might be redeployed as a wireless network or a satellite network. In this case the wired network is the “parent” and the wireless network is the “child”. Another example is offered by virtual networks that can be either under the control of a service provider (such as a telco or an ISP) or under costumer control. Spawning an architecture upon request appears to be an exceedingly difficult task. In order to achieve our goal the parent kernel has to be made programmable well beyond what is possible today. Within the parent kernel a network creation environment is needed that can describe the capabilities of, reserve the resource for and upon initiation realize network architectures. How can such a program of research be realized? First, we need to extend the xbind broadband kernel with capabilities that automate the realization of network architecture prototypes. While building such prototypes is a research topic of its own, this work has a strong engineering dimension and requires substantial manpower resources. Our past experience has shown that without building (network architecture) prototypes, however, the design space is too large and no meaningful research work can be accomplished. Second, within the space defined by the network prototypes we will extract and investigate the key trade-offs that arise in their design and realization. This work has a primarily research dimension. Our research goals raise a large number of important questions. We cannot hope to address them all in this proposal, however. We therefore propose a research agenda that comprises of items that we consider the most pressing in building a network architectures creation platform and plan to: (i) establish a methodology and create an environment for spawning virtual networks and their architectures, (ii) investigate trade-offs of location and degree of cooperation and competition among the controllers that define and characterize the architecture, (iii) investigate the trade-off between engineering efficiency and economic efficiency that arises in architecting virtual networks, (iv) demonstrate the spawning of virtual networks on demand that exhibit at least two distinct architectures.

January 20, 1998

- 10 -

5. Technical Approach In order to describe the spawning process of a virtual network (as a set of resources) and its architecture (defined as a set of interacting controllers) we must understand first and foremost how to establish a virtual network on demand, i.e., how to specify such a request, launch it, install and manage a virtual network. This process reduces to reserving resources in the network and constructing an image of these resources on a repository under the control of the service management system. Virtual networks are typically realized using resource partitioning algorithms [5]. Such networks provide some degree of customer control. They do not support, however, different signalling and service management systems. This is made possible by switchlets [31]. Switchlets encapsulate a subset of physical switching resources. A set of switchlets on different switches combine to form a virtual network. Because of their low level realization, virtual networks based on switchlets can potentially use different control and management mechanisms such as ATM Forum signalling, IP switching, etc.. Next, our interest is in realizing an architecture for virtual networks that is specifically customized according to the ever evolving requirements of the user. This entails the “partitioning” of the network control space (plane) of the parent kernel (spawning). Such a partitioning capability would redefine networking as we understand it today by giving the service provider an unparalleled flexibility to program its architecture. A clarification might be in order. Unless explicitly stated virtual networks as discussed here consist of a set of resources that are under control of the parent kernel. Spawning a child kernel calls for a network architecture controlling the resources of a virtual network that is distinctly different from the parent kernel. For example the parent might be a decentralized architecture controlling the resources of the virtual network whereas the child is a centralized one.

5.1 Engineering Network Architectures Building on our extensive experience with the design and implementation of virtual private networks [3], [5], [13], [17], we will investigate representations of virtual networks as switchlets as services of the network architecture. The goal here is to exchange the management based creation of the virtual network with a control based one. The latter would be executed automatically by the signalling system without the interference of a network operator (typically the case if the management system is involved). Such a capability raises a number of interesting issues. What is the minimal representation of a virtual network as a set of resources? What APIs does the user have at its disposal in order to specify, spawn, observe and manage virtual networks? How will such a request for setting up a virtual network be translated into a reservation of resources on the actual physical network?

5.1.1 Extending the Broadband Kernel We will extend the xbind broadband kernel to support switchlets, wireless networking, network profiling, network spawning, and network visualization and management. Switchlets will be realized as Binding Interface Base (BIB) [25], [1] objects that support the dynamic partitioning and control of physical network resources. Adding wireless capability is a major thrust in the evolution of the xbind broadband kernel. To address the current limitation of xbind to the wired domain we propose to incorporate wireless transport, mobility management, QOS adaptation management, and proxy technology into the broadband kernel. Wireless contributions to the broadband kernel include new BIB objects and binding algorithms. New BIB objects

January 20, 1998

- 11 -

will abstract and represent the capability of mobile devices, access points and mobile capable ATM switches/routers. New binding algorithms will be required to support mobility management, wireless transport and QOS adaptation management [4]. These new BIB and binding algorithms provide a foundation for the creation, deployment and management of new QOS-adaptive wireless and mobile services. Building on our past work we propose to investigate and build two classes of virtual wireless network architectures based on two distinct communication models. These are generically called mobinet [8]. Mobile devices can be attached to the mobinet via pico-cellular or ad-hoc connectivity. Ad-hoc mode is used for mobile devices that are out of reach of a pico-cellular access point. The platform will comprise a number of active and adaptive programmable algorithms that will be designed to efficiently operate over an indoor broadband pico-cellular and/or ad-hoc network. Mobinet will operate at speeds up to 155 Mbps in the core wired network and is targeted to operate at speeds of up to 25 Mbps over the air-interface using 350 MHz of NII/SUPERNet spectrum in the 5GHz unlicensed band. The introduction of cellular and adhoc virtual networks will call for significantly different approaches to signaling, control and management. Early analysis informs us that the ad-hoc network is a variant of the pico-cellular architecture [8]. This observation implies that the cellular virtual network will be the parent architecture “spawning” the ad-hoc wireless network as a child in mobinet.

5.1.2 Profiling Before we can spawn a new virtual network architecture we must first be able to specify and profile a target architecture’s software and hardware building blocks and annotate their interaction. We will investigate and develop a virtual network profiling tool that is capable of capturing the characteristics of virtual network architecture and the relationship between network controllers in a ‘profiling script’. The process of profiling will enable network architects to specify a virtual network architecture’s addressing, routing, signaling, control and management capability as a profiling script. Profiling shall also maintain information on topology, users membership, necessary network resources, QOS classes, connectivity types (e.g., pointto-point, multicast, etc.). A profiling script should also identify the parent architecture attributes - a spawned child architecture inherits this context. The location of controllers, their relationship between each other and their interaction with switchlet resources is also a concern of the profiling phase of virtual network creation. The output from this phase is a comprehensive profiling script that captures the ‘blue print’ of the nascent architecture.

5.1.3 Spawning Once a network architect has fully specified the architecture in terms of a profiling script we are in a position to ‘execute’ the new virtual network architecture using a virtual network spawning process. The profiling script is central to the spawning process. As the term ‘script’ suggests the broadband kernel’s spawning process uses the script to instantiate virtual networking architectures. We will investigate the spawning process and its relation to the broadband kernel. The process of spawning a new virtual network architecture is akin to creating a process in an operating systems. Profiling scripts will be executed by the broadband kernel spawning engine. The following actions should take place. The spawning engine systematically sets up the topology and address space, and binds resources, transport, routing, network management capability to the new virtual network architecture. Throughout this process a virtual network admission test is in operation. Based on an architecture profiling script and available network resources, network objects (e.g., switchlets) and controllers (e.g., connection) are created, binded and dispatched to instantiate the new virtual network architecture. Once this phase is complete the parent kernel completes the process by spawning the child virtual network architecture.

January 20, 1998

- 12 -

5.1.4 Visualization and Management Once a child network architecture has been successfully spawned the network architecture needs to be analyzed, managed and refined based on observations gleamed from the executing architecture. We will develop visualization and management tools for observing and controlling the dynamic behavior of spawned architecture [14], [15], [30]. This is fundamental for assessing the pros and cons of a selected architecture’s design space. For example, we need to be able to analyze network controller objects (e.g., connection, handoff, routing, etc.) and visualize their interaction with network resource objects (e.g., switchlet, wireless access point, etc.) in real-time. To meet this challenge we will develop a visualization client (based on java code) that can execute anywhere on the Internet providing remote visualization, animation and management of virtual networks. Clients interact with visualization tools to analyze the dynamic nature of spawned networks. Based on a management API, network architects will be able to exert a level of control over the managed virtual network resources through the process of refinement of the network design space, e.g., by dynamically influencing the behavior of set of the network controllers via pricing mechanism. Through observation and refinement network architects will gain a deep understanding of the dynamics of the network architecture. Such insight will shape the deployment of future network architectures. The proposed methodology of profiling, spawning, visualiztion and management facilitates the investigation of instantiated network architecture design space. This methodolody represents a major shift in how we design, deploy and manage new networking architectures.

5.1.5 Prototyping Automating the process of building new prototype network architectures is a powerful abstraction for network architects. We believe that the process of prototyping new virtual network architectures should be a simple one for network designers. Any complexity should be hidden by the broadband kernel and spawning tools. The prototyping process should take the following steps. First, profiling creates a ‘blue print’ of the new virtual network architecture; next, spawning creates the required network objects and controllers; then, instantiated network controllers are dynamically dispatched and positioned at the appropriate locations in the virtual network topology; next, ‘run-time’ resources are attached to resource objects; and finally, the child architecture is spawned and starts executing on the network hardware. After spawning is complete, visualization can begin. Visualization is used to observe the dynamics of the executing child architecture. A management API allows for refinement and customization of the virtual network’s design space. We will demonstrate the power of the prototyping stepwise process by deploying two distinct virtual network architectures on the same physical network. These will consist of broadband and pico-cellular/adhoc networks; these prototypes will be profiled, spawned, observed and managed through refinement. An important part of this phase of the work is to exhaustively investigate the design space of the executing architecture. Using advance network control techniques e.g., pricing mechanisms and game theoretic controls, we can influence the dynamics of prototype virtual networks by rigourously probing the design space through the process of observation and refinement. We believe analyzing the design space in this manner will lead to important innovations in network architecture design.

5.2 Research Once the virtual network resources have been reserved, there is a need to define the structure of its architecture. The issues arising in the process of defining the network architecture are, however, universal

January 20, 1998

- 13 -

in nature. Virtual networks or “real networks” for that matter appear to be the same from our architectural standpoint. We, therefore, need ways to define controllers, investigate their location in the network, and their interrelationship, i.e., how these will compete or cooperate in the process of assigning resources to services they spawn. One difference, however, is dictated by the need for the child to communicate with the parent. This is required if the child kernel determines that its resources are too limited and needs to initiate negotiations with the parent. As we already mentioned the building blocks of the xbind broadband kernel consist of a set of objects typically modeling the underlying resources (“hardware”) and as a set of objects modeling controllers (“software resources” belonging to the network control and management space). Among the former, we mention switches, routers, network interface cards, etc. Among the latter we mention “pumps” (protocol engines), control mechanisms (routing algorithms, connection management, etc.) and management capabilities (fault management, etc.). Given the daunting complexity, an abstract viewpoint appears to us to effectively highlight some of the key issues involved in spawning network architectures. We propose to investigate the feasibility of deploying a set of controllers on an arbitrarily defined set of resources in such a way as to realize a fully operational network architecture controlling those resources. We propose to investigate trade-offs of location and degree of cooperation and competition among the various controllers that define and characterize the spawned architecture. How does one describe the composition of controllers and their location within the topology? How do we introduce policy and new pricing models that influence the interaction between controllers competing or cooperating for network resources? What if certain resources are not available? Will the set up of the virtual network be blocked or simply a renegotiation phase introduced? These questions, among others, lead us to consider an economic based approach to probe the network design space and pricing mechanisms to influence the network dynamics.

5.2.1 Architecting Virtual Networks In the framework of our architecture service creation can be executed at the periphery of the network, as in the case of the Internet, or in the network itself, as is the case in the Telephone and ATM Networks. Thus, there is complete freedom in locating the objects participating in the service creation process. In addition, there might be multiple providers offering services at various level of abstraction and thereby a parametrization between the ‘all or nothing’ capabilities of the Internet and Telephone Network is made possible. The novel design trade-offs that our architectural model is enabling pertains to the location and the degree of cooperation and competition among various entities that the service creation process is based upon. The location and the degree of cooperation and competition among various controllers comprising such programmable architectures will be investigated within the game theoretic framework [19], [20], [21], [22], [36] that we have pioneered. By taking a game theoretic (or economic - market based) approach to engineering the architecture of switchlet based virtual networks, we seek solutions where the intelligence and decision making is distributed and thus scalable, and the objective of a more efficient and fair utilization of shared resources results from the induced market dynamics. Thus, we are borrowing, and adapting the tools from Economics and using them to solve problems of resource allocation (such as bandwidth allocation, routing, flow control and scheduling). By viewing a network as a collection of resources which players (controllers) are competing for, this approach gives rise to efficient, decentralized algorithms, and leads to network architectures which provide explicit QOS guarantees. In [12] we described the design of a high speed connection controller operating within xbind. In this

January 20, 1998

- 14 -

architecture there is logically a connection manager (realized as a centralized or decentralized entity) belonging to one ISP. We are far from understanding the trade-offs in the design of such a controller. We propose to continue investigating its realization. In addition we plan to implement another connection manager modeling a second ISP operating on the same BIB infrastructure. Such a design raises a number of interesting research issues. For one, the SwitchServers in the network will need to be endowed with schedulers [37] - that decide, in a cooperative environment, upon execution of service requests based on priorities. However, in the case of noncooperative behavior the decision of service needs to be based on other mechanisms [21]. A market model [24] allows a flexible definition of the relationship among the various controllers. The players in the network economy acquire resources, such as bandwidth and buffer space, from the network on behalf of applications (video, voice, data transfer). Under appropriate rules of interaction, the collective actions of all the controllers constitute a distributed intelligence, superior to that of any single controller. Thus, ultimately the challenges are to flexibly realize cooperative and noncooperative behavior and algorithmic strategies, and to design the mechanisms (rules of the game) that will ensure the desired outcomes [16]. Network controllers would compete for resources, say in the sense of achieving Nash or Stackelberg equilibria [19], [21], [35] or cooperate with each other in the process of resource sharing. We plan to investigate two levels of competition/cooperation. On the high level there is competition among virtual networks as atomic entities. This competition takes place at connection setup time but also during the renegotiation phase since a virtual network might request additional resources from the network in order to cope with demand. The second level of competition takes place within each virtual network and takes place between the controllers that define its architecture. We plan to extend upon our initial results published in [28].

5.2.2 Pricing Mechanisms for Virtual Networks The fundamental issue in designing pricing mechanisms is the trade-off between engineering efficiency and economic efficiency [29], [38]. This trade-off, constrained by the underlying network technology, has many dimensions, including: how much measurement (from usage to capacity pricing), the granularity of differently priced service offerings (e.g., number of traffic classes), the level of resource aggregation both -- in time and in space -- at which pricing is done (per packet/cell or per connection, at the edge of the network or at each hop), and the information requirement (how much knowledge of user behavior and preferences is required/assumed in computing prices). We propose to investigate auction mechanisms [28] which accommodate various dimensions of the engineering-economics trade-off. The mechanism is applicable to equivalent bandwidth, peak rate, contract regions, etc., or any other arbitrarily divisible and additive resource model, at any level of aggregation. We will assume specific mapping of resource allocation to quality of service via the rate distortion function. Users are defined as having an explicit monetary valuation of quantities of resource, which the network does not or can not know a priori. For network resource allocation, it is natural to assume that bidding would be on a per flow basis, or per unit time on an appropriate time scale. A prototype of such an agent based system, called TREX, has been implemented and extensively used since December 1995. Much of the intuition behind the mechanism design and the analysis in TREX came from experiments done on this inter-active distributed auction game on the World Wide Web, using the Java programming language [36], [28]. The game can be played in realtime by any number of players from anywhere on the Internet.

January 20, 1998

We have investigated the progressive second price auction, a new auction which generalizes key properties of traditional single non-divisible object auctions to the case where an arbitrarily divisible resource is to be shared. We have shown that our auction rule, assuming an elastic-demand model of user preferences, constitutes a stable and efficient allocation and pricing mechanism in a network context, both for virtual network and edge capacity pricing applications [28]. We propose to further investigate auction mechanisms and thereby build on a body of knowledge that we have already created. Whereas in our past work, for reasons of mathematical tractability, we did not explicitly cover the modeling of resources, as we assumed a generic arbitrarily divisible and additive resource model, we will do so explicitly here as the focus is on having multiple controllers access the same set of resources on the service level. We propose to investigate the case of stochastically arriving players bidding for advance reservations (i.e., resources for a given period of time). Another interesting direction of future work is learning strategies, and evolutionary behavior which can emerge from repeated interaction between the same players. The strength of a game-theoretic approach lies in the general assumption of non-cooperative users and the distributed model to solicit realistic resource demands from users. Mobile networking games bridge the gap between the application's selfish demands for wireless resources and the network “fair” allocation rule. We argue that the application of mobile networking games will enable the network to satisfy a wide variety of adaptive-QOS requirements by placing the onus on users to optimize their own level of satisfaction. In this context, we propose that application utility functions are quantized and declared to network resource allocators. Subsequently, the allocators use Generalized Vickrey auction [16] to adjust resource allocation. Our work is based on the MacKie-Mason's scheme [29]. However, a major difference in our proposal is the adoption of a new allocation rule. Instead of maximizing the total utility value as used in [28], we maximize the total resource usage under the constraint that all the sessions (a.k.a. flows) receive the same valuation index. Our initial investigation has shown that this rule leads to a close-form solution for piece-wise linear and also staircase shaped valuation curves [8].

5.3 Deliverables There are five major software deliverable in this project. Results from the project will be widely distributed to academia and industry. Fully documented source code will be made available to participants of the NSF Special Project on Gigabit ATM Distribution [40] and the OPENSIG community [34]. Results from all phases of this work will be published in leading journals and conferences. We intend to feed key results from our investigation into the new IEEE Standardization process on Programmable Interfaces for Networks [18]. The project software distribution comprises the broadband kernel, network profiling, network spawning, and network visualization and management source code. Proof of concept demonstrators will be made available as part of the software distribution. This will include two virtual network prototypes for wireline and wireless virtual networks. We will demonstrate the process of spawning and managing these prototype virtual networks at OPENSIG. A number of deliverables are scheduled to be released over the 4 year duration of the project. First, the broadband kernel deliverable will be released at the end of year one and then each year through the duration of the project. This will provide systems support for the network profiling, network spawning and visualization deliverables. Next, the network profiling and spawning tools will be made available at the end of year two. Third, the network visualization and management tool will be made available at the end of year three. The wireline and wireless virtual networks will be the final deliverable of the project. Results from this phase of the work will be delivered at the end of year four.

January 20, 1998

References [1]

Adam, C.M., Chan, M.C., Lazar, A.A., Huard, J.-F. and Lim, K.S., “The Binding Interface Base Specification Revision 2.0”, OPENSIG Workshop on Open Signalling for ATM, Internet and Mobile Networks, University of Cambridge, Cambridge, UK, April 17-18, 1997; also CTR Technical Report #475-97-09, Center for Telecommunications Research, Columbia University, New York, April 16, 1997, available under URL: http://comet.columbia.edu/publications/standard_contributions/ BIB.html.

[2]

Ahamed, S.V. and Lawrence, V.B., Intelligent Broadband Multimedia Networks, KluwerAcademic Publishers, Norwell, MA, 1997.

[3]

Aneroussis, N.G. and Lazar, A.A., “Managing Virtual Paths on XUNET III: Architecture, Experimental Platform and Performance”, Proceedings of the Fourth International Symposium on Integrated Network Management, San Francisco, CA, May 1-5, 1995.

[4]

Aneroussis, N.G. and Lazar, A.A., “A Framework for Pricing Virtual Circuit and Virtual Path Services in ATM Networks”, ITC97, Washington, DC, June 23-27, 1997. Available under URL: http:// comet.columbia.edu/publications/conference.html.

[5]

Aneroussis, N.G. and Lazar, A.A., “Virtual Path Control for ATM Networks with Call Level Quality of Service Guarantees”, IEEE Transactions on Networking, 1998, to apear. Available under URL: http://comet.columbia.edu/publications/journals.html.

[6]

Balabanian, V., “Binding Interface Base Operations”, MPEG97/M2015, ISO/IEC JTC1/SC29/ WG11.

[7]

Balabanian, V. and Cuervo, F., “Proposal of an Interface Framework for Control of Bindings between DMIF Network and Media Dependent Parts,” MPEG97/M2014, ISO/IEC JTC1/SC29/WG11.

[8]

Bianchi, G., Campbell, A. T., and R. Liao, “Programming QOS in Mobile Multimedia Networks”, Center for Telecommunications Research Technical Report, submitted to IEEE Network Special Issues on Active and Programmable Networks, December 1997

[9]

Braden, R., Clark, D. and Shenker, S., “Integrated Services in the Internet Architecture: An Overview”, IETF RFC 1633, June 1994.

[10] Campbell, A.T., "Mobiware: QOS-Aware Middleware for Mobile Multimedia Communications" , 7th IFIP International Conference on High Performance Networking, White Plains, NY, April, 1997. [11] Campbell A.T. and A. A. Lazar, “xbind Extensions for Mobility”, (extended abstract) , Proc. International Workshop on Multimedia Information Systems , Westpoint, September, 1996. [12] Chan, M.C. and Lazar, A.A., “Connection Services on the xbind Broadband Kernel,” OPENSIG Workshop on Open Signalling for ATM, Internet and Mobile Networks, University of Cambridge, Cambridge, UK, April 17-18, 1997. Available under URL: http://comet.columbia.edu/publications/ conference.html. [13] Chan, M.C., Lazar, A.A. and Stadler, R., “Costumer Management and Control of Broadband VPN Services”, Integrated Network Management V, Lazar, A.A., Saracco, R. and Stadler, R., eds., Chapman and Hall, New York, 1997, pp. 301-314. [14] Chan, M.C., Pacifici, G. and Stadler, R. “Real-Time Emulation and Visualization of Large Multimedia Networks,” in Proceedings of the ACM Multimedia, Demonstrations Program, (San Francisco, CA), November 1995. [15] Crutcher, A.L. and Lazar, A.A., “Management and Control for Giant Gigabit Networks”, IEEE Net-

January 20, 1998

work, November 1993, pp. 62-71. [16] Fudenberg, D. and Tirole, J., Game Theory, The MIT Press, Cambridge, MA, 1992. [17] Hyman, J.M., Lazar, A.A. and Pacifici, G., ‘‘VC, VP and VN Resource Assignment Strategies for Broadband Networks’’, Proceedings of the 4th International Workshop on Network and Operating System Support for Digital Audio and Video, D. Shepherd, G. Blair, G. Coulson, N. Davies and F. Garcia (eds), Lecture Notes in Computer Science, Vol. 846, Springer-Verlag, 1994. Available under URL: http://comet.columbia.edu/publications/conference.html. [18] IEEE Standardization Initiative on "Programmable Interfaces for Networks", http://comet.columbia.edu/opensig/standards/standards.html [19] Korilis, Y.A. and Lazar, A.A., ‘‘On the Existence of Equilibria for Noncooperative Flow Control’’, Journal of the Association for Computing Machinery, Vol. 42, No. 3, May 1995, pp. 584-613. [20] Korilis, Y. A., Lazar, A.A. and Orda, A., ‘‘Architecting Noncooperative Networks’’, IEEE Journal on Selected Areas in Communications, Vol. 13, No. 7, September 1995, pp. 1241-1251. [21] Korilis, Y. A., Lazar, A.A. and Orda, A., ‘‘Achieving Network Optima Using Stackelberg Routing Strategies’’, IEEE Transactions on Networking, Vol. 5, No. 1, February 1997, pp. 161-173. [22] Korilis, Y. A., Lazar, A.A. and Orda, A., ‘‘Capacity Allocation under Non-Cooperative Routing’’, IEEE Transactions on Automatic Control, Vol. 42, No. 3, March 1997, pp. 309-325. [23] Kulkarni, A.B., Minden, G.J., Hill, R., Wijata, Y., Gopinath, A., Sheth, S., Wahhab, F. , Pindi, H. and Nagarajan, A., ‘‘Implementation of a Prototype Active Network”, Proceedings of OPENARCH’98, Lazar, A.A., ed., San Francisco, CA, April 3-4, 1998. [24] Lazar, A.A., ‘‘Programming Telecommunication Networks’’, IEEE Network, September/October 1997, pp. 8-18. [25] Lazar, A.A., Bhonsle, S. and Lim, K.S., “A Binding Architecture for Multimedia Networks”, Journal of Parallel and Distributed Computing, Vol. 30, No. 2, Nov. 1995, pp. 204-216. [26] Lazar, A.A., Lim, K.S. and Marconcini, F., “Realizing a Foundation for Programmability of ATM Networks with the Binding Architecture”, IEEE Journal of Selected Areas in Communications, Special Issue on Distributed Multimedia Systems, Vol. 14, No. 7, September 1996. [27] Lazar, A.A., Orda, A. and Pendarakis, D. E., ‘‘Virtual Path Bandwidth Allocation in Multi-User Networks’’, IEEE Transactions on Networking, Vol. 5, No. , December 1997, to appear. [28] Lazar, A.A and Semret, N., ‘‘Auctions for Network Resource Sharing’’, CTR Technical Report # 468-97-02, Center for Telecommunications Research, Columbia University, February 1997. Available under URL: http://comet.columbia.edu/publications/techreports.html. [29] MacKie-Mason, J.K., and Varian, H.R., “Pricing Congestible Network Resources”, IEEE Journal on Selected Areas in Communications, Vol. 13, No. 7, September 1995, pp. 1141-1149. [30] Mazumdar, S. and Lazar, A.A., “Objective-Driven Monitoring,” IEEE Transactions on Data and Knowledge Engineering, Vol. 8, No. 3, June 1996, pp. 391-402. [31] Merwe, van der J.E. and Leslie, I., “Switchlets and Dynamic Virtual ATM Networks”, Integrated Network Management V, Lazar, A.A., Saracco, R. and Stadler, R., eds., Chapman and Hall, New York, 1997, pp. 355-368. [32] Project xbind, http://comet.columbia.edu/xbind. [33] OPENARCH'98: First IEEE Conference on Open Architectures and Network Programming, San

January 20, 1998

Francisco, April 3-4, 1998 http://comet.columbia.edu/openarch/. [34] OPENSIG, http://comet.columbia.edu/opensig. [35] Orda, A., Rom, R. and Shimkin, N., “Competitive Routing in Multiuser Communication Networks”, IEEE/ACM Transactions on Networking, Vol. 1, No. 5, October 1993. [36] Resource Allocation and Networking Games, http://comet.columbia.edu/networking_games. [37] Shenker, S., “Making Greed Work in Networks: A Game-Theoretic Analysis of Switch Service Disciplines”, IEEE Transactions on Networking, Vol. 3, No. 6, December 1995, pp. 819-831. [38] Shenker, S., Clark, D., Estrin, D. and Herzog, S., “Pricing in Computer Networks: Reshaping the Research Agenda”, ACM Computer Communication Review, Vol. 26, No. 2, 1996, pp. 19-43. [39] Tennenhouse, D.L., Smith, J.M., Wetherall, D.J. and Minden, G.J., “A Survey of Active Network Research”, IEEE Communications Magazine, Vol. 35, No.1, January 1997. [40] Turner, NSF Special Project on Gigabit ATM Network Kits Research Technology Distribution http:/ /www.arl.wustl.edu/~jst/gigatech/kits.html. [41] Wetherall, D.J., Guttag, J.W. and Tennenhouse, D.L., , “ANTS: A Toolkit for Building and Dynamically Deploying Network Protocols”, Proceedings of OPENARCH’98, Lazar, A.A., ed., San Francisco, CA, April 3-4, 1998. [42] Wireless Media Systems Project, http://comet.columbia.edu/wireless/.

January 20, 1998