The Personal Router Whitepaper · The Personal Router Whitepaper Clark and Wroclawski 1 ... a wide...

22
The Personal Router Whitepaper Clark and Wroclawski 1 The Personal Router Whitepaper David D. Clark and John T. Wroclawski MIT Laboratory For Computer Science Version 2.0 – March, 2001 Abstract: We describe the Personal Router project, a program of research currently underway within the Advanced Network Architecture group at the MIT Laboratory for Computer Science. Executive Summary The purpose of this project is to demonstrate a new paradigm for wireless network services. The motivations for this project are the following: Today, wireless service is either local to an institution (as in wireless LANs) or is provided as part of a regional or national service (as in cellular). But there could be other models. Individual providers of wireless service could put up a base station and offer service locally. Users could move among these providers and select a service based on requirements and prices. Just as we have over 5000 wireline Internet service providers today, many only serving a small area, we could have wireless coverage built bottom up. Today, we see a restricted range of wireless devices - a laptop PC with a wireless card, a cell phone augmented with data capabilities, a highly integrated device such as a pager. There is not an open market for new wide- area wireless devices, because such devices today are tightly bound, both technically and through service contract, to a particular wireless service provider. But there could be a wide range of new consumer devices if the proper interfaces and modules were available. For this to work, two things are necessary. First, each of the broad mix of competing wireless services must be accessible to a wide variety of devices. What is needed is an overall system architecture that allows cheap, small, low-power consumer-level objects to access a wide variety of technically incompatible wireless services with ease, using open interfaces. Second, selection of a service among competing alternatives must be easy. For example, a manual process of selection and entry of a credit card would be too burdensome to succeed. What is needed is a model for automated dynamic negotiation, based on rules provided by the users and providers, together with a workable economic model and a simple micro-payment scheme. The goal of this research is to demonstrate two related innovations. The first is a framework for automated negotiation for access to wireless services. The second is a small hardware device that the user can carry, a personal router, which contains the necessary wireless transceivers, implements the access negotiation protocol, and provides a network connection for the other devices and appliances that a person might choose to carry. By creation of an open interface between this personal router and other devices a user might carry, we can create an environment for the development of new devices and applications. The intellectual merit of this project is embodied in: a) the automated service negotiation framework, b) experience with systems that use policy constraints to guide automatic configuration; c) the related protocols for security and billing; d) the demonstration of the new application user interface paradigms implied by the personal router; and e) identification and definition of the interfaces between this device and the other consumer devices that can be connected to the Internet using it. The broader impacts are the possibility of creating a new market model for wireless service, based on small business investment and local competition, rather than service provision (only) by large, national- level corporations, and the development of an increased understanding of user pricing preference for communication services. Research that explores technology supporting alternative economic models is not likely to be done in private industry, and is thus especially appropriate for academic inquiry and public-sector support.

Transcript of The Personal Router Whitepaper · The Personal Router Whitepaper Clark and Wroclawski 1 ... a wide...

The Personal Router Whitepaper Clark and Wroclawski

1

The Personal Router WhitepaperDavid D. Clark and John T. WroclawskiMIT Laboratory For Computer Science

Version 2.0 – March, 2001

Abstract: We describe the Personal Router project, a program of research currently underwaywithin the Advanced Network Architecture group at the MIT Laboratory for Computer Science.

Executive SummaryThe purpose of this project is to demonstrate anew paradigm for wireless network services. Themotivations for this project are the following:

• Today, wireless service is either local to aninstitution (as in wireless LANs) or isprovided as part of a regional or nationalservice (as in cellular). But there could beother models. Individual providers ofwireless service could put up a base stationand offer service locally. Users could moveamong these providers and select a servicebased on requirements and prices. Just as wehave over 5000 wireline Internet serviceproviders today, many only serving a smallarea, we could have wireless coverage builtbottom up.

• Today, we see a restricted range of wirelessdevices - a laptop PC with a wireless card, acell phone augmented with data capabilities,a highly integrated device such as a pager.There is not an open market for new wide-area wireless devices, because such devicestoday are tightly bound, both technically andthrough service contract, to a particularwireless service provider. But there could bea wide range of new consumer devices if theproper interfaces and modules wereavailable.

For this to work, two things are necessary. First,each of the broad mix of competing wirelessservices must be accessible to a wide variety ofdevices. What is needed is an overall systemarchitecture that allows cheap, small, low-powerconsumer-level objects to access a wide variety oftechnically incompatible wireless services withease, using open interfaces. Second, selection of aservice among competing alternatives must beeasy. For example, a manual process of selectionand entry of a credit card would be too

burdensome to succeed. What is needed is amodel for automated dynamic negotiation, basedon rules provided by the users and providers,together with a workable economic model and asimple micro-payment scheme.

The goal of this research is to demonstrate tworelated innovations. The first is a framework forautomated negotiation for access to wirelessservices. The second is a small hardware devicethat the user can carry, a personal router, whichcontains the necessary wireless transceivers,implements the access negotiation protocol, andprovides a network connection for the otherdevices and appliances that a person might chooseto carry. By creation of an open interface betweenthis personal router and other devices a usermight carry, we can create an environment for thedevelopment of new devices and applications.

The intellectual merit of this project is embodiedin: a) the automated service negotiationframework, b) experience with systems that usepolicy constraints to guide automaticconfiguration; c) the related protocols for securityand billing; d) the demonstration of the newapplication user interface paradigms implied bythe personal router; and e) identification anddefinition of the interfaces between this deviceand the other consumer devices that can beconnected to the Internet using it. The broaderimpacts are the possibility of creating a newmarket model for wireless service, based on smallbusiness investment and local competition, ratherthan service provision (only) by large, national-level corporations, and the development of anincreased understanding of user pricingpreference for communication services. Researchthat explores technology supporting alternativeeconomic models is not likely to be done inprivate industry, and is thus especially appropriatefor academic inquiry and public-sector support.

The Personal Router Whitepaper Clark and Wroclawski

2

Project Description

1: Objectives and significanceThis project is motivated by two visions—first,that widespread wireless access to the Internet canbe achieved by a different economic model thanthe one currently in place, and second, that anopen market for a new generation of wirelessdevices and applications can be created by such awireless infrastructure.

The first vision is one that links economics andtechnology. Wireless access requires both atransceiver in the mobile device, and a set of basestations to which to communicate. How can thatinfrastructure of base stations come intoexistence? The investment model today is thathigh-speed base stations (e.g. wireless LANs)may be installed by private organizations withintheir own facilities, but in the wide area, service isprovided by a large-scale provider who blankets aregion or a nation with towers. It need not be thisway.

An alternative is that small businesses orindividuals put up local base stations, and sellaccess to the Internet within small regions. With asuitable economic market, demand would triggerdeployment. These small providers, together withtoday’s large-scale providers and dedicatedinstitutional networks, would create a rich,responsive, and competitive infrastructure forwireless Internet access. Our goal is to provide atechnical and economic framework in which toexplore this option. For example, a number ofuniversities have provided wireless access ontheir campus for the students and staff, and a largenumber of people have equipped themselves withwireless cards for lap-tops. Given this investment,and the results of our research here, smallbusinesses near such a university could installwireless LAN base stations, and offer service tothis pool of users. Service could be offered forpayment, or as an inducement to visit a merchant(a restaurant, coin laundry, coffee shop, etc).Service can be offered in different tiers withpricing structure if the market develops in thisway. While the final form of such a market isunclear, facilitating the experiment is the onlyway to learn.

Successful realization of this vision depends on anumber of technical capabilities. First, it must be

possible for the customer to move transparentlyand dynamically between different providers andservice zones. This implies that transport layerconnections, security associations, and the likesurvive the transition of the user from oneprovider to another. These capabilities are notsupported gracefully in today’s Internet, though anumber of current research efforts seek to addressthem.

More interesting is the need for this competitive,dynamic service environment to be madeaccessible to customers in comprehensible terms.It is not enough that the user have a choicebetween wireless service providers. To trulybenefit, the user must be able to make this choicesimply and intuitively, and to re-evaluate thechoice frequently, as service offerings change andthe user moves about. Mechanisms that involvemanual intervention, detailed understanding ofapplication service requirements or network QoSofferings, and similar complexities, are tooburdensome to succeed. What is needed is anautomated service selection mechanism, driven bya high-level intuitive capture of the user’s currentrequirements. This mechanism, by consideringthe user’s requirements as well as rules andservice descriptions made available by providers,transparently and dynamically selects the mostappropriate provider and offered service at anygiven time. The development of this selectionframework, together with its supportinginterfaces, mechanisms, and economic models, isa central objective of our research.

The second vision relates to the form andmodularity of wireless user devices. Today,wireless LAN cards are inserted into laptops.Cellular wireless devices are either (like CDPDmodems) packaged as laptop PCMCIA cards, orare semi-flexible but closed consumer devices,such as WAP-enabled mobile phones, or servefixed applications such as pagers or traditionalcell phones. Some of these devices are open at theInternet level, in that they can make a connectionto any suitable server on the network. But theyare not open in a way that permits a devicemanufacturer to produce a new device, andindependently connect it into the wirelessinfrastructure. In contrast to a wireline networklike Ethernet, where anyone can put an Ethernetinterface on a device, the only way to put acellular data radio into a device is to work with

The Personal Router Whitepaper Clark and Wroclawski

3

the cellular service provider to get them tomarket, or at least support, the device. 1

An alternative outcome would be that anyonecould design and manufacture a personalconsumer device that has wireless access to theInternet, and bring it to market independently ofthe service provider, just as anyone canmanufacture a telephone. We believe that if themarket for wireless devices were open, that allsorts of devices with different functions and form-factors might appear—wireless tablets, wrist-watches with network connections, audio inputand output devices, novel displays, etc. Our goalis to create an open network model for wide areawireless access, and this requires us to examineboth technical and economic issues.

One possible strategy is to try to create an “openWAN market” in which any device could containan easily certified, license-free wide area radiointerface. However, our approach to facilitatingthis market is not to put a wide area radio intoeach device. Doing so has a number ofundesirable implications. A wide area radio isbulky, produces radio transmissions that maycause health concerns, and requires substantialbatteries to support the transmission. Further, inour desired competitive service environment,there may be several wide area communicationsstandards in use in the same region, and our usermay also have access to higher-performancemicrocells or picocells at some times. In thisworld each fully functional device would needseveral radios, not just one.

We suggest that it is much better for the user tocarry only one wide area device, which we callthe personal router, and for all his other devicesto use this one unit as a relay to reach the rest ofthe Internet. In this way, the other devices onlyneed connect to the personal router, through eithera short wire, or a very short range wireless link.These paths require much lower power levels,smaller batteries, more flexible form factors, andso on. The personal router need not have any userinterface elements at all (e.g. it need not look likea cell phone, a PDA, or a laptop). It can be carried

1 This discussion ignores some wirelessinfrastructures, such as the pager networks, whichpermit the creation of new devices that connect tothe service. But the active co-operation of theservice operator is still required.

in the purse, briefcase, on the belt, etc, andperhaps can be a little more bulky than if it has tobe held up to the head. It provides a point ofinterconnection between a range of very localinterconnection methods to other consumerdevices on the one hand, and to a range of widearea wireless services on the other hand. Further,this device represents the point of negotiationbetween the consumer and the set of wirelessservices with which he chooses to interact – andis thus the natural place to implement theselection framework described above. Thedevice’s place in the architecture of networkcomponents is exactly that of a router, and thusthe name.

Given this device, other devices and theapplications that run on them can be designedwithout knowledge of which wireless service isbeing used. This independence mirrors the basicmodular design of the Internet—applications donot know what exact network technology andwhat provider gives the network access. Theyonly need to know that they are sending Internetpackets, and a rough idea of the level of servicethey can expect. The second central objective ofour research is to demonstrate that the personalrouter, together with its dynamic service selectionframework, provides effective, powerful supportfor a new generation of mobile devices andapplications.

2: Components of the research

The research program required to meet theobjectives described in Section 1 contains severalcomponents. We outline the research spacebriefly here, and then present further discussionof key components in Sections 3 and 4.

Successful completion of the project also dependson the use of a number of techniques and resultsdeveloped by others. This section points outcrucial places where a technology or capability isrequired, but is not itself part of our proposedresearch. Much of the work supporting theseresults is discussed in Section 7.

2.1: Software and systems

A central question of our research concerns theissue of how a user (or a service provider) canexpress high level preferences about service andpricing and then have software make reasonable

The Personal Router Whitepaper Clark and Wroclawski

4

low-level decisions guided by these preferences.The proliferation of “Wizards” in popularsoftware attest to the desirability of letting usersexpress their needs in an abstract way, and lettingthe system propose specific approaches tomeeting those needs. This sort of translationbetween high level rules and low level outcomesis often described using the term intelligent agent.

The vocabulary of “intelligent agent” is one wayto capture the idea that software will translatebetween high level requirements or preferencesand low level implementation decisions in asophisticated way. This idea is sometimes statedin a different way—the need for system self-organization guided by high level policy oradministrative constraints. The Internet hasautomatic routing algorithms (which aresophisticated, if not intelligent, which aredistributed, but which have never been burdenedwith the term “agent”); however, much manualeffort is required to control routing today becauseof the organizational constraints that networkoperators wish to impose on it. This level ofmanual control is unworkable in a more broadlyconsumer-oriented or more dynamic environment.What is needed is a way to express high levelconstraints, and then let the automatic algorithmsdo what they are designed to do, subject to theseconstraints.

We believe that automated selection of networkservices given a set of service levels, applicationrequirements and price structure is a problem thatis important in its own right, but that will alsoyield insights about the general problem ofautomated network management. Automated oragent-based network management is an approachthat will have increasing application as networksbecomes more complex, and the user basebroadens to include more people with lesstechnical sophistication.

A discussion of our ideas and concepts for thepersonal router’s service selection system, whichform a principal focus of this research, is given inSection 3.

2.2: Economics and business models

As the Internet has matured, there has been agreat deal of discussion about suitable pricingmodels [McKnight, Shenker96] and some

experimentation with pricing alternatives2.Wireless access potentially provides a context forexperimentation that is useful in a number ofrespects, but that potential has not been met todate. There are two main reasons for this, both ofwhich are addressed by our project.

First, the current industry structure has grown upin a very constrained way, based on theassumption that the only way to get substantialwide-area coverage is top-down integrateddeployment over a large scale by a majorprovider. The technology has not permitted anexperiment to see if another model mightwork—a bottom up grass-roots deployment ofwireless by small business.

Second, since bandwidth in wireless access isactually scarce (as opposed, for example, to fibercapacity), there is a real incentive to find servicemodels that match user needs, to price wireless inan efficient manner, and to explore userpreference by real experiment. Wireless servicestoday, which are almost always based on long-term subscription, do not explore the full space ofservice and pricing options for a scarce resource.

The technical work proposed here will enable awireless service environment that is substantiallyricher and more dynamic than those that existtoday, while still being resource-limited in manycircumstances. This environment provides bothopportunity and motivation to explore neweconomic models for service provision. Inparticular, both the technical and procedurallimitations that narrow the range of wirelessservice pricing models will be eliminated. Thiswill allow providers and consumers of wirelessservices, as well as third-party brokers andintermediaries, to experiment with alternativepricing models. While we do not make researchon alternative pricing models a core part of thisNSF proposal, we intend to use the technologydeveloped by this project to support this type ofresearch in the context of our Internet andTelephony Convergence Consortium. The ITCC3

is a research consortium assembled to conduct

2 For example, see the Web page for the Indexproject at Berkeley athttp://www.INDEX.Berkeley.EDU/public/index.phtml3 See http://itel.mit.edu/

The Personal Router Whitepaper Clark and Wroclawski

5

cross-disciplinary research on technical,economic and business aspects of the emergingnetworking industry, and is ideally suited to carryout this related research in an effective manner.

2.3: Hardware and software modularity formobile applications

While it is possible to explore issues in serviceand price specification and automated selectionusing wireless network cards in laptop PCs, thiswill not demonstrate the full potential of openinterfaces to create a new market. We argue thatthe future portable user “device” is not a PC orany other single object, but a wide range of “postPC” devices, PDA’s and palm-tops, writingtablets, note-takers, heads-up displays, scanners,digital jewelry, health and medical monitors,cameras, and other devices not yet conceived.How are all of these to be attached to the globalnetwork? Our view is that the user should carry asingle device, which we call a personal router, toact as his agent in connecting all his otherdevices. We propose to prototype and deploy adevice that implements this concept, and inviteour students (and others) to acquire or inventother user devices that can connect to it, as a wayto validate this vision and drive the developmentof new standards, and thus a new market.

Our broad technical goals are to explore issues indevice and application modularity, howapplications can organize themselves to takeadvantage of the resources they discover as theyare activated, and how applications can negotiatefor network service, and respond to changes inthis service over time. The work proposed herefocuses on the personal router as a) the basicconnectivity path from the user’s personalenvironment to the Internet, and b) the focus of aservice selection framework that will support thedynamic service acquisition and new marketmodels described above.

Our design for the personal router includessignificant processing and memory capacity, aswell as wide area wireless access, so parts ofapplication code, as well as infrastructurefunctions such as packet forwarding, routing, QoSsupport and service selection, may run on therouter itself. This approach raises classicoperating system questions for the router, such asresource allocation and security enforcement.More interestingly, the router will need to form

the hub of a distributed “personal area operatingsystem” that encompasses other personal devicestoo lightweight to support full operating systemfunctions themselves. Hence the router will take arole in supporting these core resourcemanagement and control functions for the user’sentire constellation of devices. Solutionsspecialized for this context must be developedand implemented.

2.4: Protocol design and implementationmodularity

Our goal for this research is a set of softwareelements, user interfaces and protocols that permita user to configure and control his personalrouter, and allow applications to take advantageof the network service provided by the routerwithout having to have a detailed knowledge ofthe underlying technology. This technologyindependence is a hallmark, and strength, of theIP protocols. However, we believe that one aspectof the basic Internet model will be challenged byour approach. In the traditional model, there is noway for the application to determine what level ofservice is available, except by testing the networkand evaluating the service received at themoment. Similarly, there is no way for the lowerlevels of the protocol stack to determine what theapplication is trying to do (for example, whetherthe file transfer that is now starting is a short oneor a very long one). This modularity has provento be extremely valuable to IP’s mission of beinga technology-neutral bearer service; allowing IPand IP applications to “run over anything”.However, the same modularity introducessignificant complexities for our task. In oursystem, there will have to be some “leakage” ofinformation between the layers. The researchchallenge is to devise an architecture that supportsthis translucent modularity without unnecessarilydegrading the technology independence that is thestrength of IP networking.

Wireless throughput in our system can rapidlyvary by many orders of magnitude from the 10kb/s or less of CDPD to the 11 mb/s of IEEE802.11 as new service access is negotiated andnetwork conditions change. This variation is bothfaster and of wider range than can be gracefullyhandled within a static application structure andsimple congestion control. It is likely that manyapplications will want to tailor their user-visiblebehavior to the network service available and the

The Personal Router Whitepaper Clark and Wroclawski

6

level of assurance that that service will remainavailable for some period of time. For example, abrowser may want to retrieve images only if theconnection is a fast one, or a user might wish tostart a file transfer only if she knows that it willcomplete within a certain interval. What is neededis a higher level of coupling between the currentlynegotiated level of network service and theapplication behavior. It is important to note thatthe level of service and the level of expectationthat this service will continue to be available arepoints that are negotiated on behalf of the user;creating a feedback loop between the applicationand the underlying network system.

The need for tightened coupling betweenapplication behavior and network-level QoS hasbeen recognized by a number of researchers, andis provided by many QoS-aware middlewareefforts. We anticipate that the ideas and perhapsthe mechanisms of these works can be applied inour environment.

In the other direction, the user may (directly orindirectly) put in place selection rules that specifythat he is willing to pay to get a faster serviceonly when he is doing certain tasks. This requiresthat the service selection agent know what thehigh-level application code is actually doing.Examples of such actions might be fetching animage, which might trigger negotiation of a fasterchannel, and reading confidential email, whichmight trigger negotiation of a secured VPNservice rather than a general IP service. Two basicapproaches may be taken.

First, the application may explicitly inform thesystem that it is taking an action that shouldtrigger renegotiation of the service. A secondapproach, which is more suitable for packaged orgeneral-purpose applications, depends on thesupporting operating system to observe theapplication’s behavior from “outside” and triggerrenegotiation or reconfiguration on behalf of theapplication when required. Formulating a cleanand simple way for limited information to passacross the protocol layer boundaries for thispurpose without unmanageable complexity is acentral goal of our research.

2.5: Integration

We believe that the problems described abovemust be explored as part of an integrated programof research to provide a convincing demonstration

of our vision. Both the service selection capabilityand the open interfaces for new devices are acentral part of creating the context for a newmarket. We will obtain valuable results from eachpart of the research, but it is the sum of the partsthat captures our vision of a new form of wirelessaccess.

3: Negotiating for network servicesOur model is that users will not tolerate anapproach to service selection between a user andservice provider that requires much manualmanagement and control. The user may pass fromprovider to provider rapidly – in seconds orminutes, not hours, and may also wish for thesystem to select a service level based on changesof application or even the changing behavior of asingle application. Each interaction may be ofvery small economic value - pennies or less, notdollars. For our vision to be practical and usable,the negotiation between user and provider needsto be automated. The user must conceptually setup a set of rules that describe his willingness topay as a function of the actions he is currentlyundertaking, each provider must offer a set ofservices, and a software agent must select andactivate the service that represents the best match.

In order to automate the process, there are anumber of things that have to becharacterized—the service, the pricing model, andso on. Further, one key input – the user’spreferences or “set of rules” – must be expressedin a simple, intuitive, high-level manner to beaccessible to most users. Our success in thisresearch will depend on our ability to capture andproduce reasonable representations of thesepreferences while meeting the challenges ofsimplicity and usability.

3.1: Overview

The essence of the personal router’s serviceselection system is as follows:

1. A personal router desiring to acquire networkconnectivity on behalf of its user monitors itsavailable networks for service offerings.Service providers wishing to offer service tothe router make available service/pricingprofiles, which describe the offered service,the provider, and the price. These profiles arelikely to be low-level and detailed, but maytake several forms, as described in Section

The Personal Router Whitepaper Clark and Wroclawski

7

3.2. Determining appropriate and usefulprofile forms to support service selection isone part of this research.

2. At the personal router, the service offeringsare received by a service selection agent.

3 . The service selection agent also receivesinformation about the identity and currentactions of the running application, eitherfrom the application itself or from anapplication observer used to supportapplications that are not designed tocommunicate directly with the agent.Determining an appropriate systemmodularity and API for applications thatwould benefit from communicating directlywith the service selection agent, anddeveloping algorithms that enable applicationobservers to act in place of applications thatcannot or choose not to interact directly withthe agent, is one part of this research.

4 . The service selection agent also receivesinput from the user’s control interface. Thisinput is most likely to be high-level, perhapssingle-dimensional, and virtually certain notto be expressed in terms of traditionalnetwork performance parameters such asthroughput. One example of a possible userinterface is discussed in Section 3.3. Wenote in passing that any such interface mustmeet the design principle of “no surprise”;that is, the interface must present a view ofthe system’s behavior that allows the user toform intuitive mental models about itsoperation. Determining appropriate methods,interfaces, coordinate spaces, and modalitiesfor both naïve and sophisticated users toexpress preferences or rules that control theservice selection process is one part of thisresearch.

5. The agent must then, based on input aboutavailable service/pricing profiles, the identityand current actions of the runningapplication, and the user’s preferences andrules, select a particular service provider andprofile. The level of difficulty inherent in thistask depends on the level of mismatch (ie, thedegree of change in coordinate spacerequired) between the user’s preferences orruleset and the semantics of theservice/pricing profiles. When userpreferences and service/pricing profiles are in

the same coordinate space, the selectionprocess is simple. When the coordinatespaces differ greatly (for example, the serviceprofiles are in terms of “throughput” and“latency” and the user preferences are interms of “good” and “excellent”), then themapping function is complex, and most likelynot algorithmic. In the most extremecircumstance, it is necessary to derive amapping empirically, by watching the user’scontrol behavior over time as he responds toapplication performance.

A brief discussion of approaches to describeservice/pricing models is in the next section.The development of algorithms and strategiesto compute or derive a particular user’smapping between high-level preferences andlow-level service pricing profiles is a key partof this research.

Given a mapping algorithm, the selectionagent then positions each offered profile in aN+1 dimensional coordinate space, wherethere are N dimensions of user preferenceand the remaining dimension is price (notethat preferences for different pricingschemes, such as a desire for flat-rate, arethemselves user preferences, and constitutean additional dimension). The set of profiles(or in some cases operating points with in asingle profile) that define the largest surfacein this space are accepted; the remainingprofiles are rejected because they offer lessvalue to the user than the accepted ones. Ofthese, the profile that is closest to the user’sprice-performance tradeoff is selected, and a“contract” or arrangement is made with thatprofile’s service provider. Note that theduration of this “contract” may be anywherefrom seconds or minutes to a much longerperiod, and changes in application,application behavior or network environmentmay trigger reselection. Different contracttimescales, and their impact on thecomplexity of the required profiles, arediscussed in Section 3.4.

6. Finally, with the service selected, IP packetsare routed to and from that service provider.Note that we depend on two lower-levelmechanisms to enable this capability; mobileIP or its research successors to deliverpackets as the personal router moves betweendifferent provider networks, and support for

The Personal Router Whitepaper Clark and Wroclawski

8

long-lived transport associations that survivetransition between service providers. Thesecapabilities have significant implications forperformance and security, and require furtherresearch, but such research is not the mainemphasis of this proposal.

7. With service established, a payment schememay be activated. Appropriate paymentschemes take many forms, and the personalrouter system must support a broad range.For example, the user and the service mayhave a long-term contract, or the user mayhave agreed to pay a small incremental rateper minute to the provider, or the user mayhave purchased a long-term service contractwith a third party that is in turn responsiblefor paying the user’s selected provider on anincremental basis. Developing a frameworkfor managing the information needed toimplement this broad range of economic andbusiness models for competitive serviceacquisition is one part of this research. 4

3.2: How to characterize pricing/servicemodels

Models for pricing are actually harder to constructthan models for network usage, because pricingcan be done in rather arbitrary ways that do notnecessarily match real costs or real usage. Oneonly has to look at pricing for telephone service(flat rate vs. metered, Friends and Family vs. 800calling, and so on) to recognize that options forpricing are limited only by marketing creativity,and any pre-set parameterization of this is likelyto constrain the options that can be offered.

We identify two possible approaches forcharacterizing service/pricing options offered byproviders, which we call performance-labeledand application-labeled. Performance-labeledservices are characterized in terms of technicalperformance parameters such as throughput.Committed sending rates, token buckets and otherusage profiles are examples of performancelabels. In contrast, application-labeled options are

4 However, supporting activities such as thedesign of a new micropayment protocol or newform of electronic cash are not, unless it turns outthat some presently unrecognized aspect of theresearch problem requires us to do so.

described in terms of what application they aresuited for, and a relative ordering for thatapplication. This form of label is closer to what amarketing department might devise: “Web turboservice”.

Both of these representations require additionalinformation to specify the pricing, which may bea function of the duration of the contract. (Onecan imagine buying service for a period measuredin second, minutes, or even hours or months incertain cases. Section 3.4 discusses therelationship between timescale of the servicecommitment and the complexity of the servicedescription required.)

Each of these schemes has advantages anddisadvantages.

Performance-labeled services: T h e s especifications describe the offered service interms of performance parameters, such asthrougput or burst tolerance. They require theuser’s selection agent to find a mapping from aset of performance parameters to an overalldesirability for a specific application. A servicethat works well for streaming MP3 playback isnot necessarily best for using the Web. So a set ofapplication-specific rules are required to describethe sort of services that work well for anapplication. These rules can be supplied by theapplication designer, by a third party, or by asophisticated user. A more ambitious optionwould be that the agent could observe actualapplication usage patterns, and propose and tryrules automatically.

The limitation of the performance-labeledapproach is that some framework for servicedescription must be developed and adopted, andonly services that can be described in thisframework can be marketed. So of necessity it isimpossible to create and market arbitraryperformance-labeled services. Our prior researchinto Expected Capacity Profiles [Clark98] haswell positioned us to develop models of burstyusage, and to link these to pricing options.However, additional research may yield moregeneral forms of performance labels; for examplewe are currently evaluating a new servicespecification called Bounded On-period PeakRate filtering.

Application-labeled services: These specificationsare not based on technical performanceparameters. Instead, they identify an application,

The Personal Router Whitepaper Clark and Wroclawski

9

and some ranking of service merit for thatapplication. Here the agent can attempt toimprove the service by moving to a better gradeof service, but cannot evaluate what the service is.This is actually easier to implement, since it givesthe selection agent less to do. However, it createsthe problem that it is impossible to compareservices from competing providers, and it is hardto know what to do with a new application forwhich there is no named service.

Our research will explore the limits of bothoptions, which define the endpoints of aspectrum. It is likely that a hybrid solution is thecorrect one, in which services are described bytechnical performance specifications, and inaddition may carry hints about which applicationsthey are considered useful for. Additionally, theremight be attached text descriptions of theperformance issues that do not fit within ourspecification framework.

3.3: Creating a user interface to serviceselection

We assume that the selection agent makes servicechoices based on high-level user guidance and thespecifics of what services are offered, whatapplications are running, and so on. We assumethat most users, unless they are unusuallysophisticated, will want only a high-level controlover this process. Therefore some user interfacewill be required. The user will want some way tocontrol the overall behavior of the system, and tomonitor any current rate of charging.

As a starting point, we propose a simple userinterface that attempts to map user control onto asingle dimension of service quality, which we callthe “better-cheaper” spectrum. In this model, theuser interface consists of two buttons (“better”and “cheaper”), a meter that shows the moneyconsumption since last reset (the “taxi meter”)and a meter that shows the derivative of thismeter (the “money speedometer”). In this model,if the user is running an application and is notsatisfied with the current performance, he clicksthe “better” button, and his agent selects a newservice from among the service options providedby the various providers. “Cheaper” has the

opposite effect. A conceptual graphic of thisinterface is shown below. 5

BetterCheaper

$ 0.07

TotalPennies per minute

It is interesting to note that key to making thisinterface intuitive is that each push of the buttoncause a noticeable, and roughly similar, change inthe relevant metric. For example, each push of the“Better” button might roughly double applicationperformance, while each push of the “Cheaper”button might cut the cost in half. An implicationof this is that the scale going up is not the same asthe scale going down. In one case the qualitydoubles, in the other the price halves, but there isnot necessarily a one-to-one correspondencebetween the two.

It is possible to imagine a multi-dimensionalcontrol panel, and such a thing may provenecessary as we gain experience with the system.But our goal is to put as much intelligence aspossible into the selection agent, and thus we takeas a starting point a simple, single-dimensioncontrol at the user level, and a complex,application-specific transformation within theselection agent.

An important dimension of this selection processis that the application can adapt to a selectedservice, as well as drive the selection. So theapplication-specific rules mentioned above canprovide instructions for the application as well as

5 One additional component of this proposedinterface that is not shown here is the “flat ratelight”. This indicator is solidly lit when thecurrent service has no incremental cost, perhapsover that of a long-term contract in place betweenthe user and current service provider. Theindicator is flashing when the present service isincrementally charged, but pushing one or theother button would eventually arrive at a flat rateservice. The indicator is dark when no flat rateservice is available. We believe that this simplemechanism will address people’s frequent desireto use a flat-rate service when available, even if itis not necessarily economically efficient.

The Personal Router Whitepaper Clark and Wroclawski

10

the selection agent. For example, one could writea rule that says that for throughputs less than acertain amount, a Web browser should retrieveonly text, and not images. Given that rule, as theuser clicks the “cheaper” button, the applicationbehavior may change, as well as the perceivedperformance.

3.4: The time scale of contracts

Most Internet services today are priced based onlong-term contracts—monthly fees, yearlycommitments, etc. It has been widely observedthat these contracts seem to be preferred in themarket, since they remove pricing risk from bothparties. However, in the case of a dynamic marketbetween mobile users and very local providers,the obvious market is a short-term servicecontract. At the extreme, one could negotiate forservice on a second by second basis, buying highcapacity to download a Web image, a smallcapacity to check for mail, and so on. On aslightly longer time scale, one might purchaseprofiles with a peak and an average rate. It is ourhypothesis that for contracts of a few seconds or aminute duration, that great complexity in thespecification framework is not necessary orjustified. It is when a contract needs to describeusage profiles over a number of time-scales atonce that the specification becomes complex. Soby using a combination of performanceparameters and a repeating negotiation, that morecomplex overall service relationships can beconstructed.

We believe that with suitable controls andprotections, most users will be comfortable with ashort-term pricing model. One of the advantagesthat arises from the fact that individualtransactions are small is that a small error inpicking the right service at any moment is notlikely to trigger a significant economic loss. Thispermits the negotiation to be structured in a waythat economists call an “experience good”. Thatis, the user can try a service and evaluateincrementally whether the cost and performancemeet the needs. This is the purpose of the “taximeter” in the user interface, which can besupplemented with rules that provide constraintson what the agent is allowed to select.

4: The personal routerThe personal router is a key device in our visionof a service-rich environment. It sits at theboundary of two worlds; the user’s constellationof personal devices and “digital jewelry” on theone hand, and the outside world of competingnetwork service providers on the other. To fulfillthis role, the router takes on a number offunctions.

• It provides basic network connectivitybetween the two worlds. This includes simplepacket forwarding, mobile networkingfunctions, wireless protocol functions such asenergy management, and higher levelfunctions such as firewalling, managingsecurity associations, and the like. In essencethe personal router acts as a boundary routerbetween two different administrative,security, and policy regions of the Internet,with all of the functions that this implies.

• It implements the service selectionframework described in Section 3. To do thisit implements the selection protocols,communicates with service providers onbehalf of its user, communicates with theuser’s applications to obtain usageinformation and requirements, andimplements or communicates with the userinterface that gives the user control of theselection process.

• It implements the core of a dynamicapplication composition and adaptationframework. This framework supports thecreation of applications that span multiplepersonal devices, perhaps including therouter itself, and that reconfigure andrespond dynamically to changes in userrequirements and the user’s networkenvironment. This application framework isan important part of the overall personalrouter vision, but we are not requestingsupport for it in this proposal, and it ispossible to make significant progress on thecore personal router and service selectioncomponents using a simple, skeletonapplication adaptation model and framework.Hence, we do not discuss it in depth here.

We emphasize that while the overall concept ofthe personal router is crucial to our goal of a rich,competitive environment for mobile applications,devices, and service providers, substantial

The Personal Router Whitepaper Clark and Wroclawski

11

portions of the device’s functionality can berealized by leveraging existing work. Our strategyis to do this wherever possible, reserving ourresearch effort for those components of the routerthat are truly new. Our research and developmentplan for the personal router leads to a low-riskhigh payoff realization of a device that is realisticin form as well as function, and hence can be usedto support real experiments and deployment in awide community. This approach takes the projecta substantial step beyond the alternative of simplyimplementing the router’s software and hardwarefunctions in an ad hoc manner on an existingplatform such as a laptop PC. This is because thesize, power, and interface restrictions of that typeof platform mean that it can not be used tosupport realistic applications and usage patternsin a post-PC mobile environment.

4.1: Hardware platform

Our approach to constructing the personal routeris based on leveraging our current LCSCommunicator project [Wroclawski99]], in whichwe are developing a portable user device closelyresembling a cell phone in form factor, butequipped with an 800x600 SVGA color micro-display, a small camera, a PC Card (PCMCIA)slot that can host a wireless LAN or cellularmodem card, and a general purpose processor andmemory. The Communicator softwarearchitecture integrates this device with adistributed back-end conversational languageframework, providing an overall platform fordelivering applications with an I/O-rich, naturallanguage interface to the mobile user. One portionof the Communicator software implements amobile IP environment that supports manualselection of, and transition between, differentservice providers.

The Communicator device will be used toexperiment with a variety of speech-basedapplications in the highly mobile wirelessenvironment, and provides an interesting platformfor further research in human factors andapplication design. However, the device takes anessentially traditional perspective on the matter ofform factor and delivery model for post-PCapplications. Our proposal for a personal routerreflects our conclusion that we need to explorealternative form factors and device modularities.

Our plan for the personal router is to repackagethe LCS Communicator device, remove the userinterface elements such as micro-display andcamera, add a second PC Card slot (so that thedevice can interface to two forms of wirelessaccess to the Internet at the same time, initiallyCDPD and 802.11 LAN), and add a mechanismfor short-range access to the user’s other personaldevices. Our initial choice for personal areainterconnection is expected to be Bluetoothradios. Bluetooth is not ideal for this use, becausea Bluetooth picocell supports only 8 devices, andbecause the current Bluetooth protocols are notideally suited to our model of general-purpose IPinterconnection. However, the wide commercialavailability of Bluetooth technology andconsumer devices makes this a low-risk initialchoice. At a later date, we will evaluate the use ofother technologies such as the rapidly emergingUltra-Wideband, or pulse, radios, which mayprovide dramatic bandwidth-power productimprovements over current technology. However,this later work is outside the scope of the currentproposal, and is not discussed further here.

We will base the hardware on the existing chip-level design for the Communicator, but will haveto modify the schematics and netlists, produce anew circuit board, and design and fabricate newpackaging for the device. Initial engineeringestimates suggest that approximately 10% of theelectronics design will be new. Crucially, we willbe able to reuse virtually all of the power supplyand management components, which are the mostdifficult part of a portable design.

While this work is very low risk, given our priordevelopment of the original Communicator, itwill require a reasonable investment ofengineering effort. We propose to share the costof this development project among a number ofsponsors (funds from other sponsors are alreadyin hand), and are asking NSF to provide supportfor only part of the design effort, as well as thecost of obtaining devices to support ongoingresearch once the design is proved successful.

A block diagram of the personal router hardwareplatform is shown below. Key elements of thedevice are the StrongArm processor core, the PCCard I/O subsystem, the personal area radiointerface and IC, and the power supply andenergy management components.

The Personal Router Whitepaper Clark and Wroclawski

12

Personal Router Block Diagram, 1/16/00

SA-1110206 MHz

16 MBSDRAM

bluetoothcontroller(Virtex)

8 MBboot

FLASH

UCB1200

DC In

Batteries,2 x Li-Polymer

Controller

3.3VSystem Reg

1.75V LDO Reg

16 MBSDRAM

!high 16 low 16

16 @ 103 MHz or 51.5 MHz

16 / 32

PCMCIA Riser

16

16

16 data26 address

andPCMCIA control

buffer /glue logic

buffer /glue logic

debugheaders

wirelessLAN / CDPD

4

2

charger

RS-232

hands-free set

2.5V reg.FPGA, IO rings

7.2V nom.

crystals

4 MHzoscillator

(additional debugheaders on mainboard

not shown)

"SX-2 dongle"

STOP

Power Riser

to riser

spkr/micfrom

codecreset,lo batt.

SYSDC, 3.3V

5V LAN reg

16-p

in I/

O

PCMCIA riser card

Type II PCMCIA

external cable, used only when charging or debugging

SYSDCfrom riser

Type II PCMCIAwirelessLAN / CDPD

bluetoothradio

ic

LCDand

keypad

4.2: Personal router software

Software required for the personal routerincludes the operating system, network protocolsand routing functions, the service selectionframework described in Section 3, a basicframework for implementing dynamicallycomposed distributed applications across theuser’s personal digital devices, and, in somecircumstances, software to support a simple usercontrol interface.

The initial base operating system for the personalrouter will be a version of Linux derived fromthat developed for the LCS Communicator.Drawing on code developed for theCommunicator and by others in the community,this base operating system supports a number ofcapabilities needed by the personal router.Additional operating system capabilities specificto the personal router will be added as required.This operating system environment will serve asthe base for our implementation of the serviceselection framework described in this proposal,as well as continued development of theapplication composition framework mentioned atthe start of this section.

Important software functions to be provided bythe router’s operating system are listed below.

• Basic operating system functions, plusremote booting, downloading and debuggingof operating system code.

• Basic IP network protocol functions,including packet forwarding, routing, andupper-layer protocol stack.

• Support for mobility, including mobile IPand recent research communityenhancements.

• Support for lower-layer wirelesscommunications protocols, presentlyincluding CDPD and a host-basedimplementation of 802.11. This host-based802.11 implementation allows us to modifythe protocol as required to support researchenhancements such as QoS management,energy management, and alternativeroaming and binding algorithms.

• Support for IP-level QoS control based onIETF standards and our continuing researchin this area.

• Support for IPSec and encrypted tunnels(VPN’s), providing the base capability forapp l i ca t i ons t o s e l ec t s ecu recommunications services.

The Personal Router Whitepaper Clark and Wroclawski

13

• Power monitoring and managementfunctions for the personal router hardware.

Of these capabilities, most are presentlyimplemented by the version of Linux used by theLCS Communicator. In the course of developingthe personal router, some level of furtherrefinement will be required in the areas ofsecurity and authentication capabilities, and inmore advanced wireless lower-layer capabilities.Beyond this, we expect to incorporate continuingresearch results in the areas of QoS control,mobile networking protocols, and energy-efficient communication algorithms presentlybeing developed by our group and otherresearchers.

Also incorporated within the personal router willbe a Java VM and supporting environment. Thisenvironment will have several distinct uses.First, it will be used to implement themechanisms that implement the personal router’sservice selection framework. We choose toimplement the framework in the sandboxed Javaenvironment for robustness and security, becausewe anticipate that our research may eventuallylead to service selection agents that aredynamically created or passed to the personalrouter by other components of the system.Second, we anticipate the Java-based componentsoftware will be used to underpin our applicationsynthesis framework. Because the personalrouter also serves as a possible executionplatform for portions of a distributed application,provision of an efficient Java environment on therouter is crucial. Finally, as a matter ofconsistency, we choose to make the softwareinterfaces that control the router itself availablethrough Java remote invocation mechanisms;allowing the router to use any Java-enableddevice with UI capabilities to serve as the controlinterface between the router and its user.

4.3: Security, authentication, and privacy

The personal router project raises a number ofissues related to security, authentication, andprivacy, which range in complexity anddifficulty. Two of particular interest are themodel of authentication used by the personalrouter, and the tradeoff between dynamic onlineselection and privacy.

For a personal router to acquire services from thenetwork it is necessary that the router be able toidentify its user to at least some entity in thenetwork, so that on-demand services can becharged to a user. Various authenticationschemes are possible, corresponding to variousbusiness and payment flow models.

A key issue is that the router acts as an agent ofthe user, but must do so cautiously. If, forexample, a stolen router can be used to aquirenetwork service that is charged to the originalowner, it is likely that stealing routers willbecome commonplace.

Instead, the router can derive its identity from itsuser. Two models are of interest. The “passive”,or open model, allows a router to take on theidentity of any user’s personal area network anduse it to acquire services for that user. Thiswould be appropriate when personal routers arepassed from user to user, or perhaps used toprovide network services for a group of users.The “active”, or closed model assumes that arouter belongs to a specific user. In this modelthe router, before agreeing to acquire service forthe user, the router challenges the current user toprove his identity, and refuses to provide serviceif the users identity is not what is expected.

One technological solution is to provide a“signet ring” or other device as a complement tothe router, and require that the router be incontact with the ring to operate. It need not be inconstant contact, but can refuse to operate if itcannot renew contact every so often.

We will explore what technological solutionsmay be possible, and implement one or more inour personal router. For our first round ofresearch, a possibility is to require that the userre-identify himself to the device periodicallywith some sort of challenge-response protocolbased on a PIN and a crypto algorithm. Analternative, derived from related work in ourlaboratory, might be speech recognition. Furtherinto the project, we plan to implement the signetring approach.

A much more difficult issue is that the user ofthis system in its simplest form leaves a detailedtrail behind him of where he has been, since hemust constantly select or negotiate servicecontracts, and must identify himself to do so.This issue is similar to the consequence of using

The Personal Router Whitepaper Clark and Wroclawski

14

a cell phone, which constantly informs thecellular system where a person is (to thegranularity of a base station) so that one canreceive a call. One might propose a paymentscheme based on anonymous cash to avoid thisconsequence, but we do not propose toimplement such a scheme in this round ofresearch.

5: Specific research tasks

Automated service selection

To carry out this research, the following tasks arerequired:

• Development of models for service levelagreements.

• Development of models for pricing ofservice.

• Development of an approach for passingusage and service requirements informationamong the protocol layers from applicationto selection protocol.

• Development of a protocol for intelligentnegotiation between provider and user forselection of service/pricing options.

• Development of agent software for mobilecomputer (e.g. laptop) to implement theagent selection protocol.

• Development of agent software for basestation (based on router software running onopen PC platform) to implement the agentselection protocol.

• Development of prototype billing agent tomanage payments during ini t ialexperiments.

• Development of user interface tools forlaptop to permit user to express usagepreferences, and to monitor cost and servicequality on an ongoing basis.

• Development of methods and protocols thatprevent theft of wireless service.

Personal Router

To carry out this research, the following tasks arerequired:

• Modification of Communicator schematicsto remove U/I elements, add secondPCMCIA slot, personal area radio interface.

• Fabrication of hardware; PCB layout andfab, mechanical design, case fabrication

• Port of Communicator system softwaresoftware to personal router.

• Development or port of router code forpersonal router.

• Port of agent selection code.

• Redesign of user interface software forcontrol of selection code, using other userdevice as human interface.

• Selection or modification of other devices tointerface to router, and demonstration ofmodular applications running on thesedevices.

6: Relation to long-term researchgoals

Our long-term goal is to move the Internetprotocols from their current focus oninterconnection of PCs to a post-PC world ofembedded devices, portable user interfaceelements, consumer networking, and applicationsthat reconfigure themselves in the context of achanging base of hardware. This long-termvision has been articulated in a position paper6.This project is an essential step in that overallprogram.

Concretely, this project builds on a number ofprior projects done in the Advanced NetworkArchitecture group at the MIT Laboratory forComputer Science.

• Our works on Quality of Service over thelast 10 years [Wroclawski 97A, Wroclawski97B, Clark98]) have equipped us tounderstand issues in service definition andcharacterization.

• Our work on Internet pricing [Clark 97] hasgiven us experience in economic issues.

6 Seehttp://www.lcs.mit.edu/anniv/speakers/presentation?id=041399-6

The Personal Router Whitepaper Clark and Wroclawski

15

• Our work on Internet protocols andmodularity has given us a deepunderstanding of how to relax modularityconstraints so that applications and theselection layer can interact effectively. Thisinterest in relaxing layer boundaries is along-standing study. (eg.[Cooper])

• Our work on the LCS Communicator hasprovided a hardware platform that can beeasily modified to produce the neededhardware. This same work has also given ussubstantial experience with emerging userinterface modalities such as conversationalspeech, and with alternative modularities formobile digital devices.

• Our work on an open software platform forIP routing gives us a useful software baseboth for the base station and for the personalrouter.

This project will in turn underpin substantialfurther research directed at our long-termobjective. Upon completion of this project, wewill use its results and artifacts to support thenext stage of our research, which will focus onan adaptive, dynamic application catalysisframework for use with the decomposedcomponent hardware model enabled by thepersonal router. We plan to integrate thisdecomposed hardware/application frameworkwith our current work on system software forconversational speech-based mobile devices andapplications, leading to an overall model forbuilding applications that offer rich, human-oriented user interfaces in a world of post-PCdigital devices.

7: Related work

The research proposed here draws on related andprevious work from a number of areas. Wesummarize several of these areas and certainrelevant results within each here, but of necessitythis discussion is limited due to spacerestrictions. In particular, we acknowledge thelarge body of academic and commercial work onwearable computing, which we have omitteddiscussing here in order to focus on networkingand communications issues.

7.1: Intelligent agents and negotiation

Intelligent agents are a topic of much research inthe CS community today. Our process for serviceselection can be described as agent-based, in thatit takes high level rules and high level userguidance, and makes low-level specific decisionsbased on these external inputs.

A number of different sorts of intelligent agentshave been developed that bear to some extent onour work here. One category of agent is thenegotiation agent for e-commerce. [CACM 42]provides a good overview of the state of the artin this area. The Tête-à-Tête system at MIT’sMedia Lab [Guttman] provides the ability for auser to specify a multi-dimensional preferencespace (not just price but issues such as privacy,shipping time and so on), and negotiateautomatically within these constraints. Webelieve that schemes such as these provideevidence that automated negotiation within therestricted domain of network service pricing ispractical.

There are a number of rather different agentsystems that have been called “negotiationagent” systems. One class of agent is a supporttool for human to human negotiation, such as theI n s p i r e s y s t e m(http://www.business.carleton.ca/inspire/). Thiswork does not directly bear on our research.Another class of negotiation agent is a programthat goes through a multi-step bid-offer cycle formarket purchasing. For example, see [Oliver].This work may be of some relevance, but wehypothesize that this sort of complex negotiationis not required for our system, which is moreselection than negotiation. Yet a third form ofnegotiation agent is represented by the Pleiadesp r o j e c t a t C M U(http://www.cs.cmu.edu/afs/cs.cmu.edu/project/theo-5/www/pleiades.html). This system providespersonal agents that observe a user’s behaviorand customize themselves to the user’s needs.These agents negotiate among themselves toimprove their effectiveness. This sort ofapproach might be helpful in the part of oursystem that observes usage patterns of specificapplications, and then attempts to find serviceofferings that match the user’s high-levelguidance from the “better/cheaper” interface.This form of negotiation, of course, has nothingto do with the negotiation between buyer and

The Personal Router Whitepaper Clark and Wroclawski

16

seller in a market. Finally, there are the so-called“search agents” that look for low prices onnetwork products, such as the C/Net web site.(http://www.cnet.com). These commercialservices may perform some search function, butthey do not appear to relate directly to ourrequirement to search and select among availableservice offerings.

7.2: QoS-aware middleware

A number of recent research projects haveaddressed the broad topic of providingapplications with some awareness of, and abilityto control or adapt to, network level quality ofservice constraints. Those systems that assist theapplication to adjust to changing network servicelevels are particularly relevant to our work,because they provide frameworks that could beused to allow an application to dynamicallyadapt to the changing service levels that it mightobtain from the network within our architecture.

The Dynamic Integrated Resource Management(DIRM) project at BBN is an example of amiddleware project designed to allow anapplication to control the QoS of the underlyingnetwork. This system allows the application torequest a specific QoS using a reservationprotocol. It requires that applications takeexplicit account of the QoS features; it does notsupport the implicit augmentation of existingapplications using external rules. The AdaptiveQuality of Service Availability project, also atBBN, which builds on DIRM, provides a meansfor the application to adapt itself to changingnetwork service, with specific attention tochanging patterns of replication driven bynetwork availability. The perspective of thiswork is distributed object systems, and methodinvocation in a variable QoS world. Again, theapplication must be implemented to takeadvantage of these tools. These projects build ontheir Quality Object (QuO) architecture, whichextends the CORBA distributed objectframework by providing a means for theapplication to discover, at the time of methodinvocation, what category of service is in force,and to adapt its behavior accordingly. Thesesystems concern themselves both with classicperformance metrics of bandwidth and delay,and more general issues of availability which arevery important to our presumed system. See

[Vanegas], [Zinkey], or http://www.dist-systems.bbn.com/tech/QuO/.

The Darwin project at CMU is a system thatprovides an application a high-level, application-wide view of the network resources that havebeen allocated to the application, and a set ofnetwork-level resources that permit integratedresource management. This capability impliesthe ability to specify resource requirements at ahigh level . See [Chandra] orhttp://www.cs.cmu.edu/~darwin/. The Remulacproject at CMU is concerned with an API andsupporting tools to gather and provide to theapplication information on current levels ofresource availability. See [Lowekamp], orhttp://www.cs.cmu.edu/~cmcl/remulac/index.html.

The Scope project at USC ISI is concerned withthe issues of resource allocation with resourcediscovery, resource selection based on assurancecredentials, distributed authorization, and onlinepayments. It explicitly addresses the issue ofpurchase of resources on a short-time basis tosupplement long-term resource contracts. Seehttp://www.isi.edu/gost/projects/scope/.

The Agilos project at the University of Illinois isdeveloping a framework by which a adaptiveQoS middleware layer can control an agileapplication as the service quality of the networkchanges. The goal is that the application willadjust to give the best possible service under theconditions at hand. See [Li] orhttp://cairo.cs.uiuc.edu/tracking/index.html.

7.3: QoS for wireless networks

Wireless QoS: Providing wireless quality ofservice has been addressed in a number ofprojects that capture application adaptability tochanging network conditions to differingdegrees. For instance the frameworks in [Gerla,Lee, Sinha] provide a very limited form of QoSsupport (actually only one or two bandwidthlevels) in an ad hoc wireless network. This workis useful in that it has brought to light many ofthe issues surrounding QoS in highly dynamicnetworks. Each project uses differentmechanisms for how the QoS is signalled to thenetwork, employing both in-band (ip-options)and out-of-band techniques (reservationrequests).

The Personal Router Whitepaper Clark and Wroclawski

17

The QoS problem has been further considered in[Singh, Bianchi]. The Mobiware project attemptsto capture an adaptive QoS model forapplications through both an application utilityfunction and an adaptation policy. The utilityfunction captures how an application'sperformance quality scales against oneperformance parameter (usually bandwidth). Theadaptation policy captures in a limited fashion(fast, slow, or during hand-off) the time scales onwhich an application can adapt to changingconditions. Other QoS parameters are suggestedin [4] such as probability of seamless service anda loss profile that captures the preferred way inwhich data should be discarded in the event ofcongestion.

In [Toh, Campell, Karol, Indu, Choi,Raychaudhuri, Yuan] the problem of QoS isaddressed in the context of wireless ATM. Theperformance of these approaches depends largelyon the various medium access control (MAC)protocols proposed. In [Chen] the comparativeperformance many of these access protocols isinvestigated. The hand-off techniques and MACprotocols are particularly relevant pieces ofwork.

Mobile IP: An extensive amount of work onMobile IP has been done by the IP Routing forWireless/Mobile Hosts Working Group of theIETF [MobileIP]. The group has developedrouting support to permit IP nodes to seamlesslymove between IP subnetworks. The Mobile IPmethod provides transparency to active TCPconnections and UDP port bindings. Futureplanned work of the group dealing with micromobility (movement within a subnet), QoS usingdiff-serv and/or int-serv/RSVP, and locationprivacy will be of particular interest.

Extensions to the Mobile IP framework havebeen proposed such as Cellular IP [Valko] thatmay improve performance in certain scenarios. Ithas been demonstrated in [Caceres] that MobileIP with fast moving hosts is not an optimalsolution when hand-off latency increasesconsiderably, as the distance between homeagent and mobile agent increases. The CellularIP extensions support local mobility (mobilityinside an access network) by creating a hierarchyin which the majority of the hand-offs occurlocally. Other projects [Fladenmuller,Williamson] are examining performance

characteristics and optimizations for Mobile IP.We expect to leverage their results as well.

Other related mobile computing projects includethe Mobile People Architecture (MPA)[Roussopoulos], the Iceberg project [Joseph],and the TOPS [Anerousis] architecture. All threeof these projects attempt to provide user levelmobility within one or more network types. TheMPA relies upon a person-level router, thePersonal Proxy, that tracks a mobile person'slocation, accepts communication on the user'sbehalf, performs any conversions, and thenforwards communications to the user. TheIceberg project and the TOPS architecture relyupon similar tracking proxy nodes within thenetwork.

7.4: Power aware computing

Because a mobile host relies on a limited batteryas a source of power, power-conservation is animportant factor in mobile system design.Scientists are therefore currently examiningpower-conservation techniques that addressevery aspect of a mobile host's operation,including wireless communication. In the areaof wireless communication, this research hasfocused on two topics, using communication tomigrate computation away from the mobile hostand redesigning standard protocols to use lesspower. Certain mobile host applications, forinstance sensor-data analysis or natural languagerecognition, are compute-intensive and thereforewill use a significant amount of a mobile host'spower supply. Some scientists have recentlyproposed that a distributed computation modelmay help to offset this problem, where mobilehosts would negotiate to offload computationsonto other systems with larger battery supplies,thus trading off computation costs forcommunication costs [Rabiner]. (In our case, aninteresting speculation is that the personal routerbecomes the “large” host, and the computation isoffloaded from smaller, lower-power personaldevices. A more significant amount of researchhas gone into reducing the high cost, in terms ofpower, of actually communicating over awireless medium. Over the last two years,scientists have begun to seriously examine thepower consumption of network protocols at alllevels of the protocol stack, including thephysical, MAC, IP, TCP, and application layers

The Personal Router Whitepaper Clark and Wroclawski

18

[Kravets99, Kravets98, Stemm, Sivali,Chlamtac, Rabiner, Zorzi, Chock]. Of particularrelevance to this work is the research that hasfocused specifically on power-conservation forquality-of-service support [Lettier, Goodman]and for personal-area networks [Gomez]. Ingeneral, we believe that we will need to buildupon all of these power-conservation techniquesin designing the personal router.

8: Citations

[Anerousis] N. Anerousis, R.Gopalakrishnan, C.R. Kalmanek, A.E.Kaplan, W.T. Marshall, P.P. Mishra, P.Z.Onufryk, K.K. Ramakrishnan, and C.J.Sreenan. ``TOPS: An Architecture forTelephony Over Packet Networks,'' IEEEJournal of Selected Areas inCommunications, 17(1), January 1999.

[Barford] P. Barford and M. Crovella."Generating Representative WebWorkloads for Network and ServerPerformance Evaluation," SIGMETRICS'98.

[Bianchi] G. Bianchi, A. Campell, R. R.-F.Liao. "Programming QOS in MobileMultimedia Networks"

[Braden] Braden, R., Clark, D. and S.Shenker, "Integrated Services in theInternet Architecture: An Overview",Internet Request for Comments RFC1633, July 1994.

[CACM 99] Communications of the ACM.Vol 42(3), March 1999. Special issue onMulti-agent Systems on the Net andAgents in E-commerce.

[Caceres] Ramon Caceres, V. N.Padmanabhan, `` Fast and ScalableHandoffs for Wireless Internetworks,''Proc. ACM Conference on Mobile

Computing and Networking (Mobicom'96), pp. 56-66, 1996.

[Campell] A. Campell, R. Liao, Y.Shobatake, ``QoS Controlled Handoff inWireless ATM Networks''. Proc 6thWINLAB Workshop on 3rd GenerationWirelss Information Networks, NewJersey, USA, March 20-21, 1997.

Chandra] Prashant Chandra, Allan Fisher,Corey Kosak, T. S. Eugene Ng, PeterSteenkiste, Eduardo Takahashi, HuiZhang, Darwin: Resource Managementfor Value-Added Customizable NetworkService, Sixth IEEE InternationalConference on Network Protocols(ICNP'98), Austin, October 1998

[Chen] Jyh-Cheng Chen, Krishna M.Sivalingam and Raj Acharya.``Comparative analysis of wireless ATMchannel access protocols supportingmultimedia traffic'' Mobile Networks andApplications Volume 3 , Issue 3 (1998).

[Chlamtak] Imrich Chlamtac, ChiaraPetrioli, and Jason Redi. Energyconservation in access protocols formobile computing and communication.Microprocessors and MicrosystemsJournal, 1998.

[Chock] A. Chockalingam and M. Zorzi.Energy efficiency of media accessprotocols for mobile data networks. IEEETransactions on Communications, 46,November 1998.

[Choi] Sunghyun Choi and Kang G. Shin.``A cellular wireless local area networkwith QoS guarantees for heterogeneoustraffic'' Mobile Networks andApplications Volume 3 , Issue 1 pp. 89-100 (1998).

[Clark 97] D. Clark. “Internet CostAllocation and Pricing”. L. McKnight

The Personal Router Whitepaper Clark and Wroclawski

19

and L. Bailey ed. Internet Economics.MIT Press, 1997

[Clark 98] D. Clark and W. Fang, "ExplicitAllocation of Best Effort Packet DeliveryService", IEEE/ACM Trans. onNetworking, vol. 6(4) , August 1998, pp.362-373.

[Conti] Marco Conti, Claudio Demaria, andLorenzo Donatiello, ``Design andperformance evaluation of a MACprotocol for wireless local area networks''Mobile Networks and ApplicationsVolume 2 , Issue 1 (1997)

[Cooper] Cooper, G., An Argument for SoftLayering of Protocols, 1983. MIT-LCS-TR-300, August 1983

[Edell] Richard Edell, N. McKeown and P.Varaiya, "Billing Users and Pricing forTCP," IEEE Journal on Selected Areas inCommunications,, Sep. 1995.

[Fladenmuller] Anne Fladenmuller andRanil De Silva, ``The effect of mobile IPhandoffs on the performance of TCP''Mob. Netw. Appl. 4, 2 May. 1999.

[Gerla] M. Gerla, J T-C Tsai. ''Multicluster,mobile, multimedia radio network,''Wireless Networks 1 1995, pp. 255-265.

[Gomez] Javier Gomez, Andrew T.Campbell, Mahmoud Naghshineh, and C.Bisdikian. Power-aware routing inwireless networks. In Sixth IEEEInternational Workshop on MobileMultimedia Communications(MOMUC), November 1999.

[Goodman] David Goodman and NarayanMandayam. Power control for wirelessdata. In The Sixth IEEE InternationalWorkshop on Mobile Multimedia

Communications (MOMUC), November1999.

[Guttman] R. Guttman and P, Maes. “Agent-mediated integrative negotiation for retailelectronic commerce”. In Proceedings ofthe workshop on Agent-MediatedElectronic Trading AMET’98,Minneapolis, May 1998

[Indu] Indu Mahadevan, and KrishnaM.Sivalingam. ``An architecture for QoSguarantees and routing inwireless/mobile networks'' Proceedingsof first ACM international workshop onWireless mobile multimedia. October 25- 30, 1998, pp. 11-20 Dallas, TX USA

[Johnson] D. Johnson. ``Scalable Supportfor Transparent Mobile HostInternetworing'' Mobile Computing,1996.

[Joseph] A. D. Joseph, B. R. Badrinath, andR. H. Katz. ``The Case for Services overCascaded Networks,'' In Proceedings ofWOMMOM '98,October 1998.

[Karol] M. J. Karol, Z. Liu, K. Y. Eng, ``AnEfficient Demand-Assignment MultipleAccess Protocol for Wireless Packet(ATM) Networks'', ACM Journal onWireless Networking, December 1997.

[Kravets98] Robin Kravets and P. Krishnan.Power management techniques formobile communication. In The FourthAnnual ACM/IEEE InternationalConference on Mobile Computing andNetworking (MOBICOM), October1998.

[Kravets99] Robin Kravets, KarstenSchwan, and Ken Calvert. Power-awarecommunication for mobile hosts. In TheSixth IEEE International Workshop on

The Personal Router Whitepaper Clark and Wroclawski

20

Mobile Multimedia Communications(MOMUC), November 1999.

[Lee] S-B Lee. A Campbell. ``INSIGNIA:In-band signaling support for QoS inmobile ad hoc networks,'' Proceedings of5th Intl. Workshop on Mobile MultimediaCommunication 1998.

[Lettiere] Paul Lettieri and Mani B.Srivastava. A QoS-aware energy-efficient wireless node architecture. InThe Sixth IEEE International Workshopon Mobile Multimedia Communications(MOMUC), November 1999.

[Li] Baochun Li, Klara Nahrstedt, AControl-based Middleware Frameworkfor Quality of Service Adaptations, inIEEE Journal of Selected Areas inCommunications, Special Issue onService Enabling Platforms, Vol. 17, No.9, pp. 1632-1650, September 1999.

Lowekamp] Lowekamp, B. Miller, N.Sutherland, D. Gross, T. Steenkiste, P.Subhlok, J., "A Resource Query Interfacefor Network-Aware Applications" , 7thIEEE Symposium on High-PerformanceDistributed Computing, IEEE, July 1998,Chicago,

[McKnight and Bailey] L. McKnight and J.Bailey (Eds.), Internet Economics, MITPress, 1997

[Maes] P. Maes, R. Guttman and AMoukas, Agents that Buy and Sell,CACM Vol 42(3), March 1999, pp 81-91

[Miller] B. Miller, N. Sutherland, D. Gross,T. Steenkiste, P. Subhlok, J., "AResource Query Interface for Network-Aware Applications" , 7th IEEESymposium on High-PerformanceDistributed Computing, IEEE, July 1998,Chicago

[MobileIP] IP Routing for Wireless/MobileHosts (mobileip) Charter:http://www.ietf.org/html.charters/mobileip-charter.html

[Odlyzko] Andrew Odlyzko, "The Internetand other networks: Utilization rates andtheir implications," in Proc. of 26thTelecommunications Policy ResearchConference, Oct. 1998.

[Oliver] J.R. Oliver, On AutomatedNegotiation and Electronic Commerce,PhD, University of Pennsylvania.http://opim.wharton.upenn.edu/~oliver27/html/diss.overview.html

[Rabiner] Wendi Rabiner, Joanna Kulik, andHari Balakrishnan. Adaptive protocolsfor information dissemination in wirelesssensor networks. In The Fifth AnnualACM/IEEE International Conference onMobile Computing and Networking(MOBICOM), August 1999.

[Raychaudhuri] D. Raychaudhuri.``Wireless ATM: an enabling technologyfor multimedia personal communication''Wireless Networks Volume 2, Issue 3(1996)

[Roussopoulos] Mema Roussopoulos, PetrosManiatis, Edward Swierk, Kevin Lai,Guido Appenzeller, Mary Baker,"Person-Level Routing in the MobilePeople Architecture." Proceedings of theUSENIX Symposium on InternetTechnologies and Systems, October1999.

[Shenker 95] Scott Shenker, "ServiceModels and Pricing Policies for anIntegrated Services Internet," in Public

The Personal Router Whitepaper Clark and Wroclawski

21

Access to the Internet, B. Kahin and J.Keller, ed., pp. 315--337, 1995.

[Shenker 96] S. Shenker, D. D. Clark, D.Estrin, and S. Herzog, "Pricing inComputer Networks: Reshaping theResearch Agenda," ACM ComputerCommunication Review, vol. 26, pp. 19-43, Apr. 1996.

[Singh] S. Singh. ``Quality of ServiceGuarantees in Mobile Computing.''Computer Communications.

[Sinha] P. Sinha R. Sivakumar V.Bharghavan. ``CEDAR: a Core-Extraction Distributed Ad hoc Routingalgorithm'' Univesity of Illinois atUrbana-Champaign. 1999.

[Sivali] Krshna Sivalingam, Jyh-ChangChen, Prathima Agrawal, and ShalineeKshore. Design and analysis of low-power access protocols for wireless andmobile ATM networks. ACM/BaltzerJournal on Special Topics in MobileNetworking and Applications (MONET),June 1998.

[Stemm] Mark Stemm and Randy Katz.Reducing power consumption of networkinterfaces for hand-held devices. In TheThird IEEE International Workshop onSixth IEEE International Workshop onMobile Multimedia Communications(MOMUC), September 1996.

[Toh] C.-K. Toh, ``Mobile Quality ofService for Wireless ATM Networks: AnAdaptive Approach'', Proc. of ACTSMobile Communications Summit,Denmark, Oct 1997.

[Valko] A. G. Valko, "Cellular IP - A NewApproach to Internet Host Mobility,"ACM Computer Communication Review,January 1999.

[Vanegas] Vanegas R, Zinky JA, Loyall JP,Karr DA, Schantz RE, Bakken DE.QuO's Runtime Support for Quality ofService in Distributed Objects.Proceedings of the IFIP InternationalConference on Distributed SystemsPlatforms and Open DistributedProcessing (Middleware'98), 15-18September 1998, The Lake District,England.

[Williamson] Carey L. Williamson, Tim G.Harrison, Wayne L. Mackrell andRichard B. Bunt ``Performanceevaluation of the MoM mobile multicastprotocol,'' Mob. Netw. Appl. 3, 2 (Aug.1998), Pages 189 - 201

[Wroclawski 97A] J. Wroclawski,Specification of the Controlled-LoadNetwork Element Service, InternetRequest for Comments RFC 2211,September 1997. ftp://ftp.isi.edu/in-notes/rfc2211.txt

[Wroclawski 97B] J. Wroclawski. The Useof RSVP with IETF Integrated Services,Internet Request for Comments RFC2210, September 1997.ftp://ftp.isi.edu/in-notes/rfc2210.txt

[Wroclawski 99] J. Wroclawski. et al., LCSCommunicator Web,http://lcscomm.lcs.mit.edu

[Yuan] R. Yuan, S. K.Biswas, L. J.French, J.Li, and D. Raychaudhuri. ``A signalingand control architecture for mobilitysupport in wireless ATM networks''Mobile Networks and ApplicationsVolume 1 , Issue 3 (1996)

[Zinky] Zinky JA, Bakken DE, Schantz RE.Architectural Support for Quality of

The Personal Router Whitepaper Clark and Wroclawski

22

Service for CORBA Objects. Theory andPractice of Object Systems. April, 1997.

[Zorzi] M. Zorzi and R. R. Rao. Energyefficiency of TCP. In The Sixth IEEEInternational Workshop on MobileMultimedia Communications(MOMUC), November 1999.