+ All Categories
Home > Documents > Dynamic Network Reconfiguration Support for Mobile Computers

Dynamic Network Reconfiguration Support for Mobile Computers

Date post: 31-May-2018
Category:
Upload: talhakamran2006
View: 220 times
Download: 0 times
Share this document with a friend
10
Dynamic Network Reconfigu ration Support for Mobile Computers Jon Inouye Jim Binkley [email protected] [email protected] Oregon Graduate Institute Portland State University Beaverton, Oregon Portland, Oregon Jonathan Wdpole [email protected] Oregon Graduate Institute Beaverton, Oregon Abstract Hot swapping echnology combined with pervasive heterogeneous networks empowers mobile laptop users to select the best network device for their current envi ronment. Unfortunately, the majority of systemsoftwareremains‘%ustomized”foraparticularnehvorkcon- figuration, and assumes that many characteristics associated with the network environment remain invariant over the runtime of the softwar e. Mobility ca uses changes in the environment and null i- fies many of these assumptions. This leads to severeloss in system functionality when resources are lost, and failure to benefit when resources are gained. This paper describes Physical Med ia Independence (PMI), an architectu re for dynamically diverse network interface manage- ment. PMI addres ses three issuesconcemingdynamicnehvork con- figuration. First, a model for device availability is proposed to ac- curately determine when a network device is operational. Second, a structured methodology is used to construct a dapter s that recon- figure the system when the set of available de vices change. The methodology breaks traditional layering using a meta-interface to pass events and in formation among layers, allowing e ach layer to adapt in a manner best suited to it. Third, we examine the effect of transparent and non-transp arent reconfiguration operations on a va- riety of applications. We find that adaptive, resource intensive ap- plications behave more efficiently when informed of device avail- ability events. We compare t he funct ionality of an adaptive appli- cation running on top of a adaptive operating system (OS ) with an d without cross-layer notifications. 1 Introduction Large variations in both hardware configurations and network en- vironments a re made possible by advances in interface technology and rapid deployment of network infrastructure . “Hot swappable” interfaces such as PCMCIA [18] and IEEE 1394 [30] pro vide users with the ab ility to dyn amically attach or remove devices while the system is runnin g. There is no need, other than software limitations, to power cycle the machine, reboot the operating system, or restar t applications while reconfiguring the system. Unfortunately, the richness of the environmen t poses an inter- esting network management question: “How can a mobile host be reconfigured transparently as it migrates a cross different network &mission to make digital/bard copies of all or part oftbis material for wonal or classroom use is granted without f ee provided that the copies ore not made or distributed for profit or commercial advantage, the right notice, the title of the publication and its date appear, and notice is given that copy right is by permission oftbe ACM, Inc. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires specific permission and/or fee MOBXOM 97 Budapest Hungary Copyright I997 AChl O-S979I-9SS-U97/9..S3.50 13 environments and uses heterogeneou s network interfaces?” Due to the static nature of their environment, desktop systems typically hard-cod e network configuration information in files. Extending this approach to mobile comput ers implies a configuration file for every possible combination of interfac es and environments. While this approa ch may suffice for a limited number of we ll-known net- works, e.g., home and office, the c omplexity grows with the n um- ber of environments. Emerging dynamic configuration tec hnology is helping to address this issue but, as will be shown, tends to focus on hosts equipped with a single network interface. The goal of Physical Media Independence is desktop equivu- lencefor networkmanagement. By desktop equivalence, we im ply that a mobile computer should not be significantl y harder to config- ure than a stationary co mputer. To achieve this goal, the network configuration must adapt itself as active interfaces become disabled and new interfaces become available. The methodology we use is based on the concepts of explicit assumption s and intelligent adap- tation. . . l Expht assumptions. Once a devic eis available, we assume that it continues to remain available, rather than running a se- ries of checks on the device before sending e ach packet to it. Explicitly checking for device availability is expensive, so in- stead, we make the optimistic assumption that the device will remain available, and move the checks from the frequently used packet-pro cessingpath to morerural devicemanagement paths that are t raversed rarely. We ca ll these checks guards since they monitor the validity of our assumptions. We de- scribe a device availabili ty model that defines the set of char- acteristic s that identify an available device. Ea ch characteris- tic is guarded by the addition of code to detect changes in that characteristic. l Intelligent adaptation. Guards trigger adaptation policies when they detect changes in the environment al features th ey monitor. Ideally, adaptationis intelligent with adaptationpoli- ties in different layers cooperating toward a common goal. A particular layer should not try to perform all the necessary adaptation by itself because it may duplicate or interfere with adaptations better performed by other layers. The remainder of this paper is organized as follows. Section 2 presents our model supporting device availability. The model an- swers the question, “What device s are available?” Section 3 de- scribes our approa ch to inte lligent adaptation and describes how the systemreconfigures itself when the set of available devices change s. Section 4 describes our implementation of the system and Section 5 presents an evaluation of the implementation. Section 6 describes the effects of our adaptation approa ch on various types of applica- tion programs and Section 7 discusses t he implications. Section 8 follows with a description of related resear ch, and we summarize our experiences in Section 9.
Transcript

8/14/2019 Dynamic Network Reconfiguration Support for Mobile Computers

http://slidepdf.com/reader/full/dynamic-network-reconfiguration-support-for-mobile-computers 1/10

Dynamic Network Reconfiguration Support for Mobile Computers

Jon Inouye Jim Binkley

[email protected] [email protected]

Oregon Graduate Institute Portland State University

Beaverton, Oregon Portland, Oregon

Jonathan Wdpole

[email protected]

Oregon Graduate Institute

Beaverton, Oregon

Abstract

Hot swapping echnology combined with pervasive heterogeneousnetworks empowers mobile laptop users to select the best networkdevice for their current environment. Unfortunately, the majority ofsystemsoftwareremains‘%ustomized”foraparticularnehvorkcon-figuration, and assumes that many characteristics associated withthe network environment remain invariant over the runtime of the

software. Mobility causes changes in the environment and nulli-fies many of these assumptions. This leads to severeloss in systemfunctionality when resources are lost, and failure to benefit whenresources are gained.

This paper describes Physical Media Independence (PMI), anarchitecture for dynamically diverse network interface manage-ment. PMI addresses three issuesconcemingdynamicnehvork con-figuration. First, a model for device availability is proposed to ac-curately determine when a network device is operational. Second,a structured methodology is used to construct adapters that recon-figure the system when the set of available devices change. Themethodology breaks traditional layering using a meta-interface topass events and information among layers, allowing each layer toadapt in a manner best suited to it. Third, we examine the effect oftransparent and non-transparent reconfiguration operations on a va-riety of applications. We find that adaptive, resource intensive ap-plications behave more efficiently when informed of device avail-ability events. We compare the functionality of an adaptive appli-cation running on top of a adaptive operating system (OS) with andwithout cross-layer notifications.

1 Introduction

Large variations in both hardware configurations and network en-vironments are made possible by advances in interface technologyand rapid deployment of network infrastructure. “Hot swappable”interfaces such as PCMCIA [18] and IEEE 1394 [30] provide userswith the ability to dynamically attach or remove devices while thesystem is running. There is no need, other than software limitations,to power cycle the machine, reboot the operating system, or restartapplications while reconfiguring the system.

Unfortunately, the richness of the environment poses an inter-esting network management question: “How can a mobile host bereconfigured transparently as it migrates across different network

&mission to make digital/bard copies of all or part oftbis material for

wonal or classroom use is granted without fee provided that the copies

ore not made or distributed for profit or commercial advantage, the copy-

right notice, the title of the publication and its date appear, and notice is

given that copyright is by permission oftbe ACM, Inc. To copy otherwise,

to republish, to poston servers or to redistribute to lists, requires specific

permission and/or fee

MOBXOM 97 Budapest HungaryCopyright I997 AChl O-S979I-9SS-U97/9..S3.50

13

environments and uses heterogeneous network interfaces?” Dueto the static nature of their environment, desktop systems typicallyhard-code network configuration information in files. Extendingthis approach to mobile computers implies a configuration file forevery possiblecombinationof interfaces and environments.Whilethisapproach may suffice for a limited number of well-known net-works, e.g., home and office, the complexity grows with the num-ber of environments. Emerging dynamic configuration technology

is helping to address this issue but, as will be shown, tends to focuson hosts equipped with a single network interface.

The goal of Physical Media Independence is desktop equivu-

lencefor networkmanagement. By desktop equivalence, we implythat a mobile computer should not be significantly harder to config-ure than a stationary computer. To achieve this goal, the networkconfiguration must adapt itself as active interfaces become disabledand new interfaces become available. The methodology we use isbased on the concepts of explicit assumptions and intelligent adap-

tation.. .

l Expht assumptions. Once a deviceis available,we assumethat it continues to remain available, rather than running a se-ries of checks on the device before sending each packet to it.Explicitly checking for device availability is expensive, so in-

stead, we make the optimistic assumption that the device will

remain available, and move the checks from the frequentlyused packet-processingpath to morerural devicemanagementpaths that are traversed rarely. We call these checks guards

since they monitor the validity of our assumptions. We de-scribe a device availability model that defines the set of char-acteristics that identify an available device. Each characteris-tic is guarded by the addition of code to detect changes in thatcharacteristic.

l Intelligent adaptation. Guards trigger adaptation policieswhen they detect changes in the environmental features theymonitor. Ideally, adaptationis intelligent with adaptationpoli-ties in different layers cooperating toward a common goal.A particular layer should not try to perform all the necessaryadaptation by itself because it may duplicate or interfere withadaptations better performed by other layers.

The remainder of this paper is organized as follows. Section 2presents our model supporting device availability. The model an-swers the question, “What devices are available?” Section 3 de-scribes our approach to intelligent adaptation and describes how thesystemreconfigures itself when the set of available devices changes.Section 4 describes our implementation of the system and Section 5presents an evaluation of the implementation. Section 6 describesthe effects of our adaptation approach on various types of applica-tion programs and Section 7 discusses the implications. Section 8follows with a description of related research, and we summarizeour experiences in Section 9.

8/14/2019 Dynamic Network Reconfiguration Support for Mobile Computers

http://slidepdf.com/reader/full/dynamic-network-reconfiguration-support-for-mobile-computers 2/10

Table 1: Device Characteristics Table 2: Internal Events Generated by External Events

Name Description

‘pi

NetNamed Network name is bound to device

Affordable Cost of use is within budget

External Events

Card removed

Internal events

Invalidate name and connectivity, powerdown.

Card attached

Power suspend

Power resume

Connectivitv loss

2 Device Availability Model

We designatenetwork interface availability as the primary assump-tion in providing Physical Media Independence. Interfaces can beavailable or unavailable to higher level protocols. When an inter-face is available, packets sent to it by the network layer arepassed tothe link layer where they are encapsulated into frames and sent outvia the physical network device. Frames received by the physicalnetwork device are passed by the device driver up to the networklayer. Packets do not flow between the network stack and the de-vice driver when the driver’s network interface is unavailable. Wedefine six characteristics that determine when an interface is avail-able. These characteristics are shown in Table 1. We concede the

likely existenceof other useful characteristics, such as security, butbelieve they can be integrated into our model without changing theoverall architecture.

Connectivity gain

Name acquisitionName invalidation

Affordable

Power up, check connectivity, beginname acquisition.Invalidate name and connectivity.Check connectivity, begin name

acquisition.None.None.

None.Begin name acquisition.Power up, check connectivity, beginname acquisition.

Unaffordable Invalidate name and connectivity, powerdown.

User disable

User enable

Invalidate name and connectivity, power

*Iower up check connectivity beg n

An interface is presentif both the hardware device and the soft-ware driver exists. This characteristic addressesthe issues emergingwith hot swapping technology.

An interface is connecredif there exists a connection at the linklayer.’ This characteristic addresses the variable connectivity ofwireless networks. Fluctuations caused by distance, interference,and obstructions may prevent a wireless interface from communi-cating with its base station. While connectivity is not a booleanvalue, our model requires a simple event to be raised to mark the de-vice unavailable or available. The policy behind the event notifica-tion may be multi-valued. For example, a simple empirically deter-mined threshold value for signal strength might be used, or a more

complex feedback loop involving higher level protocols. Wired in-terfaces also require link connectivity checks due to cabling. Usersmay disconnect cables and leave PCMCIA network cards attachedto their computers while mobile becauseit is more convenientthanremoving and storing the card.

interactive users who don’t realize how long they are “surfing” theWorld Wide Web or how much data they are transferring, this char-acteristic targets virtually connected systems. Virtual connectivityis support by PPP clients that automatically establish a point-to-point connection when a packet is sent to the interface, and “wake-on-ring” technology that resumes a suspended computer when anincoming call is detected. When virtual connectivity is used bybackgroundtxaffic, this characteristic provides a “cutoff’ switch IO

prevent unexpectedly large bills.An interface is enabled unless it is specifically disabled by a

user-level directive. This provides users with the ability to over-ride the system and disable a device without having to remove odisconnect it. UNIX systems have supported this characteristic as aflag within an interface’s data structure representation,

An interface is available if the conjunction of all these charac

teristics is true (Equation 1). Oncewe determine whetherndcvicoisavailable or unavailable, we can configure the system based on theset of available devices. This configuration is valid until the membership of the set changes.

An interface is network named when there exists a binding toa network address. This characteristic has been required for sup-porting network (and higher) level protocols. We concentrate on IPnetworks, so we require an IP address assignment to satisfy this con-dition.

Available(l) k&d A Ipouted A Iconnected A

Inetnomed A Ioj fordable A Ienabled

An interfaceispoweredif thenetworkdevicehasenoughpowerto function properly. The interface does not have to be poweredfor this characteristic to be true. For example, power conserving“sleep”mode may remove power from sections of a network devicewhile not in use, and restore power when those sections are needed.

The powered characteristic concentrates on situations such as sus-pend/resume operation, detecting a failing external battery, orinter-acting with operating system power management policies.

An interface is afirdable if the monetary cost of using thedevice is within the budget. Because wide-area wireless serviceshave limited bandwidth, providers tend to charge on a per-usage ba-sis. Examples include both circuit cellular (GSM, AMPS), whichcharges users per unit time, and packet cellular (CDPD), wherecharges are basedon the volume of data traffic. While beneficial for

‘So a twisted airEthernet nterface card connected to an isolated hub would be

considered“connected”.

Given all these characteristics, each network interface mny berepresented by a state machine. Each state represents a combina-tion of the truth values of the six characteristics. Different state machines are possible by varying the policies driving state transitions.For example, in our state machine all LAN devices start out witthe enabled characteristic while point-to-point interfnces start with

out it. A state machine is affected by both external events (user attaching a network card) and internal events genemted in responsato the external events. Table 2 describes one possible set of internastate transitions caused by external events. There are many tradeoffs. For example, our state machine invalidates the network namcharacteristic when suspending, disabling, or removing n networkdevice. This forces name acquisition to be performed before the device can be made available again. Optimistically, one could assumthe previous network name would be valid until proven otherwiseThe goal is faster reconfiguration performance and if the assumption is correct most of the time, then performance will improve, Ithe assumption is incorrect, the system must first detect it and then

(1

8/14/2019 Dynamic Network Reconfiguration Support for Mobile Computers

http://slidepdf.com/reader/full/dynamic-network-reconfiguration-support-for-mobile-computers 3/10

* 0”. _ _ 2’_-- A____

!

recover. Another tradeoff is power consumption. A more power-conservative state machine might power down an interface and dis-able it upon losing link connectivity rather that to continue to powerit and hope connectivity will be restored soon. This would force theuser to enable the device (or reboot the system) before the devicecould be operational again.

2.1 Detecting Invalidations

We place guards to detect the validation and invalidation of devicecharacteristics. These guards are placed in modules that monitorthe validity of the characteristic and are not present within the con-trol path used to send or receive packets. When triggered, guardsforce transitions in the state machine and may create a different setof available devices. In this section, we focus on the mechanismsneeded to monitor our device characteristics.

Guarding Present. We depend on the existence of hot swap-ping support within the operating system, such as Windows Plug-and-Play [IO], or hardware interfaces, such as those provided pro-vided by PCMCIA[ 181.

Guarding Connected. The most logical place to guard thisproperty is the device driver. More advanced driver interfaces are

beginning to support this type of functionality. For example, thewireless NDIS* extensions proposed by the Personal Computerand Communications Association (PCCA) allow network stacks toreceive indications when channel quality falls below a specifiedthreshold [23]. Unfortunately, most driver interfaces for wired de-vices do not export link-layer connectivity to the operating systemeven though the hardware supports it. The IEEE 802.3 IOBASE-

T standard defines a twisted-pair Ethernet link integrity test butdoes not require all devices to implement it. Those that do have nostandard programming interface to communicate this informationto higher layers and usually end up logging warnings to the systemconsole.

Guarding NetNamed. Network names are invalidated whenmigrating to a new network. There are many mechanisms for dis-

covering this including receiving ICMP router advertisements [8],Mobile IP beacons [22], querying DHCP [9] servers, or receivinguser input. These guards will most likely live within network-layerentities and must propagate their events down to the device man-ager. From an opposite viewpoint, the device manager must be ableto upcall network-layer entities to acquire a network name.

Guarding Powered. Poweris becominganincreasinglyimpor-tant resource. Weassumetheexistenceof some form ofpowerman-agement module that is responsible for allocating and deallocatingpower resources in a system. While APM [12] provides a few basicmechanisms for power management, it does not provide any powermanagement policies or ability to monitor the power usage of net-work devices. Second-generation system like the Advanced Con-figuration and Power Interface (ACPI) 3 are designed to give the

operating system more control over power management responsi-bilities.

Guarding Affordable. Determining whether or not an interfaceis within a budget depends on knowing both the budget and the costof using the interface. Our architecture places the burden of pro-viding this information on the user or some other higher-level en-tity. The user is responsible for setting a strict budget for network

‘Ne~orkDriver InterfaceStandard-the driverinterfaceforMicrosoft Windows.

3See http~/~.teleport.~~~a~~formoreinformationonACPI.

I

AdaptersII Existing Network StackI

I A$$$; Application LayerI ’ ; ’ 1

Notifications : Socket

API I

Transport Layer

normal

data flow

Network LayerI

Figure 1: Layered Design wl Cross-Layer Notification

communication and binding a “cost model” to all interfaces charg-

ing usage fees. Given these two pieces of information, the systemis responsible for monitoring the interface and disabling it when thebudget is exceeded.

Guarding Enabled. User directives can be guarded by addinga check to the application programming interface (API) used to en-able or disable the device. Most operating systems provide such anAPI, and guarding it should only require the addition of an eventmechanism that triggers when the API is used to toggle this charac-teristic.

3 Intelligent Adaptation

We say a system adapts intelligently if it avoids conflicts and du-plication of effort between layers. This goal is accomplished bycommunicating assumptions and adaptation operations across layerboundaries. Figure 1 illustrates the application of this approach to atypicalTCP/IP network stack. Adaptation modules attached to eachlayer of the network stack receive policy-related information (meta-data) from higher layers and event indications from lower layers.We call these types of messages cross-hyernotifcations.

Changes in device availability are associated with the link layer,but cross-layer notifications are used to propagate this informationto higher layers. In our model, a layer delays propagating deviceavailability indications to higher layers until its own internal adap-tation has completed. While this is helpful in avoiding synchroniza-tion problems, it increases the latency in propagating notifications.

3.1 Network-Layer Adaptation

The IP network layer creates two forms of bindings to interfaces:multicast groups and route table entries.4 IP multicast groups arebound to interfaces, allowing interfaces to participate in group man-agement (IGMP) communication between host interfaces and mul-ticast routers [7]. If an interface is removed, the system must de-cide what to do with the groups attached to that interface. Shouldgroup membership be revoked, or should they be migrated to an-other available interface? Revoking group memberships prevents

‘In 4ABSD ARF’ ntries are route table entries.

15

.

8/14/2019 Dynamic Network Reconfiguration Support for Mobile Computers

http://slidepdf.com/reader/full/dynamic-network-reconfiguration-support-for-mobile-computers 4/10

applications from receiving packets sent to that group while migrat-ing group memberships may adversely affect the network. For ex-ample, you would not want to migrate a group with high bandwidthrequirements to an interface that could not support it.

Route table entries bind destination addresses to interfaces.When interfaces become unavailable, these entries must be inval-idated. When a new interface becomes available, bindings discov-ered via routing protocol advertisements and user-specified entriesmust be created.

3.2 Transport-Layer Adaptation

The transport layer caches a lot of information. Protocol controlblocks cache route table entries to avoid route lookups on everypacket. In 4.4BSD, route table entries store characteristics such asmaximum transmission unit (MTU), slow start threshold, and esti-mated round-trip-time (R‘IT) associated with a route [31]. Whennetwork layer adaptation migrate routes from one network deviceto another (or from one network address to another), notificationsshould trigger recalculations of these characteristics.

3.3 Application-Layer Adaptation

Applications also have assumptions based on available networkde-vices and cache information related to these devices. The most

prominent of these is the IP address of the local interface which isstored in the socket structure. However, applications also care aboutpath characteristics such as available bandwidth, connectivity, trust,and cost.

4 Implementation

We implementedoursysasmusing FreeBSD 2.1R augmented by theApril 1996 release of the PA0 patch kit and Portland State Uni-versity’s Mobile IP [22] release.5 We chose FreeBSD due to thefreely distributed nature of the code, low cost, commercial qualityof the network stack, and the available documentation. The disad-vantages of choosing FreeBSD are the alpha nature of the PC cardand APM [12] support. TheFreeBSDnetwork codeis derived from4.4BSD [17] and is documented thoroughly in [31].

Figure2 illustrates the various components of our prototypesys-tern. The prototype is very modular in nature and is implementedmostly outside the kernel. The PC card daemon, pccardd, is in-

cluded with FreeBSD and supports hot swappable PCMCIA de-vices. pmid implements multiple deviceavailability state machines

%ee httpzJ/www.jp.FreeBSD.org/T’AOor more information on the PA0 patchesandh~~~,cs.pdx.edu/researchlSMNforinononPSU’sMobilelPrelease.

Figure 2: Dynamic Configuration Support

Figure 3: Pulse Operational Modes

and the policies used in supporting Physical Media Independence.On startup, pmid reads a configuration file (pmidconf) contain-ing configuration policies and administrator-specified network in-formation. The policies specify preferences that help lower lnyersadapt in a manner providing the greatest user benefit, For exam-ple, if multiple possible default routers exist on multiple interfaces,one policy helps determine which interface to use. Once the con-

figuration file has been assimilated, pmid examines each interfaceon the system and removes those interfaces it knows are not asso-ciated with network devices, such as the loopback interface. Afterinitialization, pmid listens for messages from the guards and pcrl-odically queries the kernel for network interface status to make sureits representation of network interfaces remains consistent with thekernel. This high-level guard helps catch events that slip past otherguards in the system. A pseudo device driver, ldevlpmi, is used topass events from the operating system to pmid and provides a meta-interface for applications to register interest in, and receive notlflcn-tions of, device availability events. The mobile node daemon, mnd,is part of PSU’s Mobile IP distribution and handles handoffs for asingle class of interface cards. Unfortunately, the integration of Mo-bile IP with our dynamic reconfiguration daemons is not completeand there are some outstanding issues, such as routing protocol in-

teraction, that still need to be addressed.

4.1 Guards

We use the innate PC card support in FreeBSD to detect the lnscr-tion and removal of network interface cards. The pccmdd dacmonuses a database (indexed by card manufacturer and model) to detcr-mine which operations to perform on the insertion or removal of acard. We create two utility programs that simply send a messageto pmid and indicate a change (validation or invalidation) in thepresentcharacteristic. Weconfigurethedatabaseso theseprogmmsare executed by pccardd on card insertions and removals.

To detect changes in link-connectivity and network addressespmid creates a pulse process for every present and enabled LANinterface. Ideally, link-connectivity guards should be placed in thedevice driver rather than at the network level. However, rather thanmodify all the drivers we wanted a simpler mechanism for our pro-totype that would be more driver-independent. Each pulse proces

uses heartbeats (ICMP echo requests and replies) to validate an ln-terface’s IP address and link-layer connectivity. Figure 3 describesthe various modes pulse operates in. In normal connected opem-tion, heartbeats between the mobile host and an adjacent “anchor”host are used to validate connectivity. Once the number of consec-utive missed beats passes a threshold (default of 2), pulse enterssearch mode and sends the next heartbeat to the all-hosts multicastgroup (224.0.0.1) and the first valid reply becomes the new anchorhost. If no valid reply is received from the multicast request, puls

8/14/2019 Dynamic Network Reconfiguration Support for Mobile Computers

http://slidepdf.com/reader/full/dynamic-network-reconfiguration-support-for-mobile-computers 5/10

-.

- ----L -.&. I-.----L ---

model cdpd

device ‘tun0'

label ‘AT&T CDPD’

data

1024 5

model airfonedevice 'tun0'

label ‘GTE Airfone’circuitconnection 62760 328connection limit 1500

Figure 4: Sample Cost Models

enters thedisconnectandusestheBerkeley PacketFilter (BPF) [15]to promiscuously listen for all ICMP echo replies. This allows theimplementation to distinguish between link-level disconnections(no response at all) and network migrations (responses with incor-rect destination link layer addresses). Bad packets refer to packetswith incorrect destination link-level addresses. Packets with incor-

rect sequencenumbers, identification fields, or bad checksums arediscarded. If any response is detected, the network name associatedwith the device is invalidated by sending a message to pmid. If noresponse to the ICMP echo request is detected, the link-connectivitycharacteristic associated with the device is invalidated, again by

sending a message to pmid. In bad name and disconnected oper-ation, the BPF is used to send out requests since there should be noroutes associated with that interface - routes are only attached toavailable interfaces. If a response is detected, pmid is informed so

that it may initiate reconfiguration options, e.g., DHCP, to acquirea valid IP address for that interface. FreeBSD’s user-level PPP pro-gram has the ability to detect the loss of a carrier signal. It then re-moves all routes bound to the PPP interface. To avoid duplicatingeffort and increasing overhead, pulseprocesses are only attached toLAN devices.

To monitor costs, pmid creates a costd process for each inter-face that has a cost model definedin pmid.conf. Figure4 shows twosample cost models. The first model represents local (no roaming)cellular digital packet data (CDPD) charges. The keyword “data”indicates that this model is data-based, so fees will be based on datathroughput. The line “1024 5” represents a charge of 5 cents per

1024 bytes of data. The second model is taken from a United Air-lines’ advertisement and represents the cost of using the GTE Air-fone [27]. The “connect? keyword indicates a connection-orientedfee, so the cost of this interface depends on the amount of time itis available. The model represents a connection charge of $6.27($2.99 + the first minute) with further charges of $3.28 every 60 sec-onds. The limit indicates an upper bound of $15.00 per call6

The cost model is in an early stage of development and has nosupport for temporal costs (day vs. evening rates) or handling per-sistent data (cost built up over multiple connections). The former

is necessary for most telephone rates and the latter is necessary toprevent automatic re-dial facilities from creating a large bill by notspending more than a set amount per connection.

User enabling and disabling of devices are detected by addinga guard to the ioctl routine inside the kernel to detect SIOCSIF-

FLAGScommands that affect the IFFXJP interface flag. Changes tothis flag notify a PMI support module within the kernel and areprop-agated eventually to pmid.

‘If you get disconnected,you can redial the same phonenumberwithout ncurringan additionalcharge as long as you contact the operatorbefore the end of the flight

to havethendditionalwnnectionsremovedfromyourbill.

17

Table 3: ‘Guarding Device Availability

Characteristic 1 Guards

The implementation does not currently support any powerman-agement guards, Table 3 summarizes the six device characteristicsand the modules which guard them.

4.2 Adaptation

When pmid receives a device availability event, it initiates adapta-tion routines starting at the network level. Figure 5 shows the majordata structures making up the 4.4BSD network stack implementa-tion. All routes and multicast groups associated with an invalidatedinterface are removed from kernel data structures by executing autility program that selectively flushes entries from the routing ta-

ble. We treat two routes, the default and multicast, with special care.The default route is used when the destination address fails to matchany other entry in the route table. FreeBSD supports at most one de-

fault route at any time so pmid must select one router out of a listof possibilities. The daemon maintains a list of candidates for each

interface in order of preference. Ordering follows the preferencesused by each discovery mechanism. For example, both ICMP routeradvertisements and DHCP replies order default route candidates.However, these preferences have no meaning when comparing can-didates from more than one interface. In order to evaluate candi-dates from different interfaces, we have added a policy based on de-vice name and the time at which the device became available. Forexample, the user may specify that the IBM Ethernet device shouldbe preferred over the dialup PPP interface, and if multiple Ethernetdevices are available, the device that became active most recentlyshould be preferred. If an interface used by the default route is in-

validated, the route is migrated to the first candidate of the inter-face with the highest preference. The multicast route (224.0.0.0/g)follows a similar policy, except it gets bound to the interface’s IPaddress. While the addition of a new interface does not cause anyroutes to be deleted, it may initiate the migration of the default andmulticast route to the new interface.

The implementation supports no transport-level adaptation at

Figure 5: Network Data Structures in 4.4BSD

8/14/2019 Dynamic Network Reconfiguration Support for Mobile Computers

http://slidepdf.com/reader/full/dynamic-network-reconfiguration-support-for-mobile-computers 6/10

Table 4: Overhead of the Dynamic Configuration Support Table 5: Dynamic Configuration Performance

pmid costd pulse

CPU overhead (sets) 2.8Un.3~ 2.811/2.5s 1 Su/3.2s

CPU overhead (%) 0.17 0.15 0.13Bandwidth Ibus) N/A N/A 736

this time. We intend to reset local retransmission timers thathave begun exponential backoff because of disconnection and useCaceres and Iftode’s “triple ack hack” [3J where multiple acknowl-

edgements are sent to the correspondent host to encourage the re-mote TCP state machine to enter fast retransmit and recovery mode.

We allow application-level adaptation through the use of apseudo-devicedriver. Applications may receive device availabilitynotifications by performing a select on the device, which blocksthe process until an notification is received. This is an inelegantsolution, but allows us to experiment with both synchronous andasynchronous notification mechanisms. Synchronous notificationsmay be simulated by using select before calling send or recv.Asynchronous notifications may be implemented by forking off achild process that performs a select on the pseudo-device andsends a signal to its parent when it wakes up.

5 Evaluation

The evaluation and application experiments were run on a ToshibaT49OOCT aptop computer with a 75 MHz Pentium processor and16 Mbytes of RAM. We wanted to measure both the system over-head and reconfiguration performance. Overhead is measured interms of CPU and bandwidth usage. To measure overhead we leftour daemons running for one hour and recorded how much CPUtime (user and system) they consumedover that period. The systemwas used rather lightly (long tehret-based shell sessions with two lo-cal kernel builds) during this hour. We measured costd running indata mode, which is usually more CPU intensive since it uses BPFto determine the amount of data passing through the interface, whilein connection mode a simple calculation is done every second. Wealso wanted to know how much bandwidth pulse was using. This

can be calculated as a 736 bps; 28 byte ICMP message with 4 bytesof data and using a 14 byte Ethernet header twice a second. Table 4shows the results of our measurements. Note that we measured theoverhead of a single process and there may be multiple pulse andc&d processes in a given system. The processor overhead is in-significant, accounting for less than 0.2% of CPU time. pmid hasthe highest overhead, resulting from its periodic (once per second)polling of network interface state maintained in the kernel. Theevaluation assumes pulse is in a normal anchored state, but thereare occasions when multicast ICMP echo requests will be sent outwhile waiting to acquire a network name. Depending on the num-ber of machines attached to the Ethernet, this can generate a burstof ICMP echo response traffic and result in a high number of colli-sions.

Table 5 measures the performance of reconfiguring the systemwhen adding or removing LAN cards while connected with a PPP

connection. All LAN cards are assignedIP addressesby the config-uration files so the system does not have to query a DHCP server orregister with a mobile IP agent. The reconfiguration performance ofthe system is rather poor due to excessive calls to system whichexecutes commands in a shell. First, pccardd executes system togenerate a message for pmid. After receiving the message, pmid

executes sys tern to run a utility program that removes all route en-ties attached to a selected interface. When migration is infrequent,these commands result in disk operations.’ When performed re-

7Diskpowermanagementwas notenabledso theseopemtionsdidnotincurthead-

Operation

add Et1 Time (sets)

4-l

peatedly, reconfiguration operations complete within 200 millisec-onds. The exception is the configuration of the WaveLAN devicewhere the primary culprit is the execution of the if conf ig com-mand which is hampered by multiple settling delays used by thedriver while configuring the radio modem.

These are the reconfiguration times for our system and do notinclude the time used by the PC card system (about half a second)or the time it takes to detect a loss in link-connectivity (over fourseconds with the parameters we use). It is possible to reduce thedetection time by a more aggressive implementation with reducedperiods between pulses. This comes at a cost of additional CPU andbandwidth overhead.

6 Application Effects

In Section 4 we described the areas where we did not provide sup-port for adaptation. To determine the support needed by various ap-plications, we use a small suite of programs. Each program makesdifferent assumptions related to device availability. The first appli-cation uses long-term TCP connections while the second uses short-term TCP connections. Our third application uses IP multicast toreceive real-time video while the final application uses UDP to rc-ceive real-time video.

Figure 6 shows the network configuration used by the experi-ments. The mobile host, MH, can connect via three different phys-ical interfaces: 10 Mbps Ethernet, 2 Mbps AT&T WaveLAN, and28.8 Kbps POTS PPR The PPP server lives on network 129.9540and is configured to assign IP addresses based on the dialup line.All dialup addresses are allocated from a separate virtual network(129.9548). The netmask for all subnets in our experiments is

255255255.0.Eachexperimentstartsoffwith MHconnectedvia bothEthernetand PPP. The Ethernet card is removed for awhile, then the Wavc-LAN card is inserted. In the beginning, the default route points toRouterB using the Ethernet interace. When the Ethernet card is rc-moved, all route entries associated with that interface are removed.

The default route is migrated to the dialup server as it is the onlyrouter specifiedon the only available interface. The multicast routeis not migrated, since our configuration file has forbidden a multi-cast route to ever be bound to tun0, the PPP interface. Note that

ditional several seconds of latency required to spin-up a disk.

PPP

. .**.*.s‘*......*.

129.9548124

Dinlup

Server

Figure 6: Network for Experiments

8/14/2019 Dynamic Network Reconfiguration Support for Mobile Computers

http://slidepdf.com/reader/full/dynamic-network-reconfiguration-support-for-mobile-computers 7/10

*,..

- - ..A - -

multicast groups can still be bound to the interface since the de-fault route uses it and our PPP interface says it supports multicast.When the WaveLAN card is inserted, pmid follows the configura-tion file’s policy for configuring ‘wlp’ devices by first attempting touse DHCR This succeeds since we have installed the Internet Soft-ware Consortium’s DHCP server on RouterA. The IP address of theWaveLANinterface, defaultroute, andname server are obtained viaDHCR Since the WaveLAN interface is preferred over the PPP in-terface, the default route is deleted and a new route is created to useRouterA.

6.1 TCP Sessions

The first application is telnet, one of the first TCP/IP programs everdeveloped. Unfortunately, without network layer adaptation to re-tain its IP address, relnet cannot survive the loss of the interfacehosting the local IP address. If we could use the PPP connection asa co-located care-of-address (COA), Mobile IP would enable telnetto continue functioning.

6.2 TCP Transactions

Our second application, Netscape Navigator, generates HTTP traf-fic which most often takes the form of a series of short-term connec-

tions. Our implementation supports this application quite well, withthe exception of indefinitely stalling any data transfers in progressduring the removal of the Ethernet interface. Luckily, the stalledtransfers can be aborted at the GUI level by clicking the STOP but-ton. New HTTP transactions can be initiated over the PPP interface.

When the WaveLAN card is inserted and the system has recon-

figured itself, HTTP transactions in progress continue to use the PPPconnection but new connections use the WaveLAN interface. Theonly problem we encountered was the inability to access the inter-nal web pages using the WaveLAN interface. This is because theApache web server is protecting those pages using .htaccess filesthat specify domain names. Because our DHCP server did not pro-vide MH with an IP address with a DNS record, we could not accessWeb sites. In addition to helping sustain TCP connections acrosshandoffs, Mobile IP retains a host’s IP address for authenticationpurposes. We feel the latter may be more important than the former

given the number of utilities that use IP addresses for authentication(hosts.equiv, hostslpd, hostsallow, .rhosts, etc).

6.3 IP Multicast

We selected real-time multimedia applications for our last two ap-plications. UnlikeunicastlP, whereIPaddressesareassociatedwithinterfaces, multicast addresses are associated with groups. To re-ceive data sent to an IP multicast group, an interface must join thegroup using IGMP messages. For mobile hosts, IP multicast pro-vides a level of indirection so the sender never has to know wherethe receiver(s) are. The network figures this out and routes packetsaccordingly.

To examine IP multicast, we use vie, a video player developedat LBL and U.C. Berkeley [16]. We modified vie to rebind the send

and receive sockets upon the receipt of an asynchronous mobilitynotification. This addition of less than 30 lines of code allows vieto continue to receive video while moving between Ethernet and

WaveLAN interfaces.While we decided to leave the decision entirely in the hands of

the application, Mobile IP does provide two alternatives to joininggroups and foreign networks. Iftheinterface has a co-IocatedCOA,the interface may join the group by sending an IGMP report to alocal router, using the COA as the source IP address. The secondalternative uses a bi-directional tunnel back to the home network.That is, the IGMP report is send back to the home network usingthe home address as the source IP address. None of the choices is

19

optimal for all cases, and the “correct” decision probably requiresuserinput about the characteristics (ttl, bandwidth, security, etc.) ofthe stream.

6.4 Streaming UDP

For unicast UDP we selected vcr, a real-time distributed MPEGvideo player [4] that we adapted to use our notification mecha-nism [I 11. This video client resides on MH while the video server

runs on a workstation attached to the Ethernet network. A reliableTCP connection is used for control messages between the videoserver and the client controller, while a best effort UDP connectionis used to stream video frames and ship feedback messages. TheUDP connection has its own feedback policy to implement conges-tion control mechanisms so it will fairly share the path with TCPconnections. The player uses another software feedback policy toadjust the video stream to fit the available bandwidth of the cormec-tion. The server adjusts the stream by selectively dropping framesand changing resolutions. For this experiment, the server sendsa medium-resolution (256x192x8) video stream at rates up to 30frames per second. If a display frame rate of 3 frames-per-second(fps) cannot be sustained, the client requests the server to switchto a low-resolution (128x96) stream. If the low-resolution streamsurpasses 12 fps, the client asks the server to switch to medium-

resolution stream.On receiving a device availability notification, the player re-

establishes the control and data connections between the client andserver and resets the feedback system. When reset, the feedbacksystem enters a “exploratory” mode and uses slow-start (exponen-

tial growth) policies to quickly determine the available bandwidthof the connection. Figure 7 shows the display frame rate achievedat

Ethernet, POTS, and WaveLAN speeds. After the switch to Wave-LAN frame rate increases until it passes the 12 fps threshold andswitches to the higher resolution stream which can only sustainaround 5 fps.

In order to emphasizethe usefulness of cross-layer notifications,we compared our strict dynamic reconfiguration with Mobile IP, asystemprovidingIPtransparencywithoutnotifications. TheMobileIP implementation currently supports handoffs between one classof device, so we simulated heterogenous handoff between foreignagents using a foreign agent (FA) with a WaveLAN interface onone side, and a PPP interface on the other as shown in Figure 8.The home agent was located at Portland State University. The band-

width between OGI and PSU was large enough (two T-l lines, ap-proximately 3 Mbps) that the frame rate was still bounded by CPUperformance.

Figure 9 shows the display frame rate achievedby the client dur-

Ethernet to POTS to WaveLAN30

Ethernet last

waveLAN gamd

0 1000 moo 3000 4wo 5oca 6ooo 7wo woo-mm (frame number)

Figure 7: Frame Rate wl notifications

8/14/2019 Dynamic Network Reconfiguration Support for Mobile Computers

http://slidepdf.com/reader/full/dynamic-network-reconfiguration-support-for-mobile-computers 8/10

Figure 8: Mobile IP Configuration

ing handoffs to and from the low-bandwidth FA. One goal of thefeedbacksystemis to display a smooth picture, so it is very cautiousabout increasing its bandwidth usage in steady state mode. This isthe reason it takes over 2500 frames (83 seconds) after handoff tothe HA before switching to the higher resolution image. Comparethis to Figure 7, where notifications initiate exponential growth andreaches smooth playbackin only 500 frames (17 seconds).

7 Discussion

We have seen how vcr exploits higher bandwidth connections sig-

nificantly better with notifications than without them. The switchto the higher resolution stream occurs within 10 seconds after re-ceiving a notification compared to over 75 seconds without it. Webelieve that complex applications require cross-layer adaptation.These applications contain many high-level semantics that are hid-den from the operating system and network stack. Enabling intel-ligent adaptation requires these semantics to be transformed intosomething more meaningful to lower-layers and passed down tothem. We use the term microlanguages [24] to describe domain-specific languages (DSL) focused on describing application as-sumptions in a mamrermeanlngful to the application, but also trans-formable to a DSL more meaningful to a lower layer. For example,vcr uses software feedback [4] to monitor the bandwidth betweenitself and the video server. While the device layer has no under-standing of path characteristics, it does understand link-layer char-

acteristics. Allowing the feedback system to register an interest indevice availability allows it to guard against drastic changes in pathcharacteristics resulting from network media switching on the localsystem.

Using notifications in conjunction with Mobile IP would savethe application from tearing down and creating another TCP con-trol channel. However, if the network layer adapts first before pass-ing a notification to the application, the video server’s data may still

Moblle IP between VfavelAN and POTS

3o1

“0 1000 2GQo 3000 4000 5m3 6WO 7oM) 6cimTime (frame number)

Figure 9: Frame Rate wol notification

overflow the low-bandwidth connection before it is informed thatthe bandwidth to the client has drastically changed. This increasesthe communication latency because the buffers along the path be-tween server and client have been filled. Physical Media Indepcn-dence without Mobile IP still benefits a large class of applicationsusing short TCP sessions. These applications are less dependent onthe stability of any particular IP address and may have higher levelconcerns such as available bandwidth, security, of monetary cost,

Another useful aspect of dynamic reconfigumtlon not demon-

strated by our set of applications is the ability to hibernate anetwork-dependent application during periods of disconnection,For example, rather than polling the mail queue every 30 minuteswhiledisconnected,sendmail[6] might registerinterest in bclngno-tified when the set of available devices becomes empty. On recelv-ing the notification sendmuil ceases polling and registers an intcr-est in being notified when the set becomes non-empty. After rc-ceiving this notification, sendmail checks the queue and deliversany outstanding mail messages. One problem with hibernating pro-cessesis their background traffic may interfere with higher-pdorityforeground traffic. This can be very obtrusive while working overa weakly-connected link. Admission control and network-relatedpriorities might help prevent background traffic from lowering thequality of interactive traffic.

A deficiency in our architecture is that each state machine mon-

itors external events from the environment but ignores state ma-chines associated with other interfaces. There is no global policyfor dealing with interactions between interfaces. This prevents thestate transitions in one state machine from motivating state transi-tions in others. For example, several PPP implementations supportthe ability to dial into a PPP server and acquire an IP address on dc-mand, that is, when packets are sent to the interface. So a PPP con-nection might only be initiated when the last LAN card is removedfrom a system and an application is attempting to send data withoutfinding an available interface.

8 Related Work

Our project goals are very similar to those of Stanford’sMosquitoNet [l] project and Berkeley’s Infopad [20] and

Daedalus [14] projects. While these groups have focused momon Mobile IP implementations than dynamic reconfigurationpolicies, they do address many issues that we ignore, such asassumptions about wireless network characteristics and handoffpolicies. Daedalus has developed a snoop protocol that providessignificantly better TCP performance over lossy wireless nct-works [2]. Stemm’s thesis mentions ongoing work toward pollcicsfor supporting “vertical handoffs” that determine when to pass anIP address from one type of interface to another [26]. Multlplcinterfaces are not available at any point in time, just the “best”interface which is selected according to a specified policy.

Dynamic reconfiguration treats Mobile IP as a form of adapta-tion within the network layer. Fully integrating Mobile IP into oursystem involves developing additional policies to handle the migm-tion of IP addresses between interfaces. For example, the loss oan interface might migrate the IP address to another available ln-

terface, using the available interface’s IP address as a co-locatedcare-of-address. This raises some interesting routing policy issuesas described by Cheshire [SJ. Normal routing policies using met-rics related to hop counts may be inappropriate for selecting nct-work routes where path connectivity, cost, and power managementare important concerns. One of MosquitoNet’s goals is to nllov~pplications to specify their requirements and let the routing policyselect the most appropriate delivery mechanism. For example, aNnvigatorsessionmight describeitself as using short-term sessionsso (while away from home) MosquitoNet’s routing policy mightdecide to use standard IP with a co-located COA as the IP source

20

.-- - - .-- - ---- ----___I---- ----

7-y-v - ‘r

,

.

. .

-- - - disc r - --- / , , , , -

8/14/2019 Dynamic Network Reconfiguration Support for Mobile Computers

http://slidepdf.com/reader/full/dynamic-network-reconfiguration-support-for-mobile-computers 9/10

address. On the other hand, felnet might describe itself as long-term session and by delivered using Mobile IP with bi-directionaltunnels. Note that routing decisions are only changed on the end-vstem where the packets are produced and the home agent wherepackets are re-directed; no modifications to existing routers are re-quired. Determining the appropriate metrics for specifying an ap-plications behavior and how to evaluate them is an area of activeresearch.

The IETF has several working groups working on topics relatedto dynamic configuration, but they are mostly focused on desktopsystems. However we make good use of DHCP, which emergedfrom an IETF working group, as a mechanism to obtain networkinformation while visiting a foreign network. The Service Loca-tion Protocol [28] provides a mechanism for both desktop and mo-bile hosts to discover resources within their environment includingprinters, file servers, and proxies.

There is also a significant amount of research adapting appli-cations for mobile operation using existing system mechanisms.Rather than depend on mobility support within the operating sys-tem, these applications are designed to work in environments withintermittent connectivity or low bandwidth. POP mailers* enableusers to retrieve mail during periods of connectivity and read mailafter disconnection. Application-level toolkits such as Rover [13]and Wit [29] allow existing applications to be re-engineered for

mobility. We believe adaptive applications will perform more ef-ficiently if they cooperate with the operating system. This was re-inforced by ourexperiencesdevelopingvcr. CMU’s Odysseyarchi-tecture also supports application-aware applications [25]. Odysseyextends the system call interface, allowing applications to collab-orate with the operating system. The new system calls expose re-

sources to application programs by permitting programmers to reg-ister a bound of tolerance for scarce resources such as networkbandwidth, disk space, batterypowerandcost [21]. When the avail-ability of the resource moves outside the tolerance window, the ap-plication is informed via an upcall. Physical Media Independencefollows the Odyssey policy of registering interest with resourceand providing a notification event. While both architectures sup-port network-aware applications, Physical Mediahrdependencefo-cuses on device availability rather than path-oriented resources such

as network bandwidth and latency. Physical Media Independenceleaves this to higher layers of software, such as the software feed-back system used by vcr, and simply provides second-order feed-back in the form of device availability notifications.

9 Summary

PhysicalMedia Independenceis an architectural framework for dy-namically configuring a mobile systemin response to changes in thelink-layer environment. The framework includes a model for deviceavailability that determines the set of available network devices. Setmembership changes are communicated through the system usingcross-layer notifications. This allows each module or layer withinthe system to perform the adaptation best suited to it.

Using a prototype implementation, we ran several varieties ofapplications to determine their assumptions on the availability of aparticular network device. Physical Media Independence withoutMobile IP supports short-term TCP connections such as those usedby HTTP traftic. The addition of Mobile IP would enable long-termTCP sessions to survive by providing continuous IP address trans-parency. This allows legacy applications to continue to functionacross heterogeneous interfaces. The problem is that resource in-tensive applications make assumptions about an interface’s abilityin addition to its name. We have shown that these applications adaptin a more efficient manner when the system informs them aboutchanges in the environment.

‘hiail readers built on topof the Post Office Protocol [19].

Our conclusion is that transparency is an admirable trait, un-less it is forced upon applications. In order to properly supportmobile computers and mobile-aware applications, a mobile sys-tem will have to support multiple levels of adaptation and al-low meta-information concerning adaptation policies to propagatebetween layers. We are continuing to investigate the types ofmeta-information and programming interfaces necessary to sup-port virtually-connected mobile computing using multiple hetero-geneous network devices.

Acknowledgements

We are grateful for the timely and thoughtful comments on this pa-per from Bikram Bakshi, Dylan McNamee, and Xinhua Zhao. De-tailed feedback from our anonymous referees led to improvementsin both content and presentation. Shanwei Cen provided us witha mobile-aware version of vcr, his streaming media player. Thisresearch also benefited from many discussions with members ofOGI’s Synthetix project, PSU’s SecureMobile Networking project,and Intel’s Mobile Technology Lab and Mobile CommunicationsOperation.

This research was supported by the AdvancedResearchProjectsAgency (ARPA) under grant NO001494-1-0845 and contractMDA90495-C-5547, Intel Corporation, and Tektronix Inc. Jon In-

ouye was supported by an Intel Foundation Fellowship. Jim Bink-ley was supported by ARPA and the U.S. Air Force Rome Labora-tory under contract F30602-95-1-0046.

References

PI

Dl

[41

151

&I

171

El

PI

21

BAKER, M. G., ZHAO, X., CHESHIRE, S., AND STONE, J.Supporting Mobility in MosquitoNet In Proceedings of the

I996 USENIX Technical Conference (San Diego, CA, January1996).

BALAKRISHNAN,H., SESHAN, S., AMIR, E., AND KATZ,R. H. Improving TCP/IP Performance over Wireless Net-works. In Proceedingsof the FirstAnnual International Con-

ferenceon Mobile Computing and Networking(Berkeley, Cal-

ifornia, November 1995), pp. 2-11.

CACERES,R., AND IFTODE, L. Improving the Performanceof Reliable Transport Protocols in Mobile Computing Envi-ronments. IEEEJoumalofSelectedAreasin Communications13,5 (June 1995), 850-857.

CEN, S., Pu, C., STAEHLI, R., COWAN, C., ANDWALPOLE, J. A Distributed Real-Time MPEG VideoAudio Player. In Proceedings of the Fifth InternationalWorkshop on Network and Operating System Support ofDigital Audio and Wdeo (NOSSDAV ‘95) (Durham, NewHampshire, April 1995), pp. 151-162.

CHESHIRE,S., ANDBAKER, M. G. IntemetMobility4x4. InProceedings of the ACM SIGCOMM’96 Conference (StanfordUniversity, CA, August 1996), pp. 318-329.

COSTALES, B., AND ALLMAN, E. sendmail, second ed.O’Reilly and Associates, 1997.

DEERING, S. Host extensions for IP multicasting. NetworkWorking Group Request for Comments: 1112, August 1989.

DEERING, S. ICMP Router Discovery Messages. Net-work Working Group Request for Comments: 1256, Septem-ber 1991.

DROMS, R. Dynamic Host ConfigurationProtocol. NetworkWorking Group Request for Comments: 2131, April 1997.

8/14/2019 Dynamic Network Reconfiguration Support for Mobile Computers

http://slidepdf.com/reader/full/dynamic-network-reconfiguration-support-for-mobile-computers 10/10

[lo] HALFHILL, . R. Transforming he PC: Plug and Play. Byte(September 1994),78-94.

[Ill INOUYE, ., CEN, S., Pu, C., ANDWALPOLE,. SystemSupportfor Mobile MultimediaApplications. nProceedings

of the 7th International Workshop on Network and OperatingSystems Supportfor Digital Audio and Vtteo (NOSSDAV 97)

(St. Louis, Missouri,May 1997),pp. 143-154.

[I21 INTEL CORPORATION. Advanced Power Management

(APM) BIOS Inte$zce Spec@cation, 1.2 ed., February 1996.Availableat URL,http://www.intel.co~powetmgro/.

[13] JOSEPH,A.D., DELESPINASSE,A.., TAUBER,. A., GIF-FORD,D. K., ANDKAASHOEK, . F. Rover: A Toolkit forMobile Information Access. In Proceedings of the Ftjteenth

ACM Symposium on Operating System Principles (CopperMountainResort, Colorado, December 1995),pp. 156-171.

[14] KATZ,R. Adaptationand Mobility in Wireless nformationSystems. IEEE Personal Communications Magazine I, 1(1995),6-17.

[15] MCCANNE, ., AND ACOBSON, . TheBSDPacketFilter:A New Architecture for User-level Packet Capture. In Pro-ceedings of the 1993 Wmter USENIX Conference (San Diego,

CA, January 1993),pp. 259-269.

[16] MCCANNE, ., AND ACOBSON, . vie: A Flexible Frame-work for PacketVideo.In Proceedingsof the ThirdACM Con-ference and Exhibition (Multimedia ‘96) (San Francisco,Cal-ifornia, November 1995),pp. 511-522.

[17] MCKUSICK,M. K.. BOSTIC,K., KARELS,M. J., ANDQUARTERMAN,. S. The Design and Implementation of the

4.4BSD Operating System. Addison-Wesley, 996.

[18] MORI,M. T., ANDWELDER,W. D. The PCMClA Devel-oper’s Guide, seconded. Sycard Technology,1995.

[19] MYERS, ., ANDROSE,M. Post Office Protocol -Version3. Network Working Group Request for Comments: 1725,November 1994.

[20] NARAYANASWAMY,., et al. Applicationand NetworkSup-port for IufoPad. IEEE Personal Communications 3.2 (April1997),4-17.

[21] NOBLE,B. D., SATYANARAYANAN,M.,ARAYANAN,D.,TILTON,J. E., FLINN,J., ANDWALKER,K. R. AgileApplication-AwareAdaptation or Mobility. In Proceedingsof the Sixteenth ACM Symposium on Operating System Prin-ciples (Saint Malo, France, October 1997). To appear.

1221 PERKINS,C. IP Mobility Support. NetworkWorkingGroupRequest for Comments:2002, October 1996.

1231PORTABLECOMPUTERANDCOMMUNICATIONSASSOCIA-TION.Extensions to NDIS3 for Wireless WANs,1995. Avrtil-

able at httpY/www.airdata.com/pcca/.[24] Pu, C., BLACK,A., COWAN, ., WALPOLE,., ANDCON-

SEL,C. Microlanguages or OperatingSystem Specialization.In Proceedingsof the SIGPLAN Workshopon Domain SpecificLanguages (Paris, France, Jrumery1997).

[25] SATYANARAYANAN,., NOBLE, B., KUMAR,P., ANDPRICE,M. Application-AwareAdaptation or Mobile Com-puting. In Proceedings of the 6th ACM SIGOPS Euro-

pean Workshop(DagstuhlCastle,Germany,September1994).Reprinted n OperatingSystems Review,Vol. 29, No. 1, Jan-uary 1995,pp. 52-55.

[26] STEMM,M. VerticalHandoffs n WirelessOverlay NetworksMaster’s hesis, University of California at Berkeley, 1996Publishedas UCB TechnicalReport CSD-96-903.

[27] UNITEDAIRLINES emispheres MAGAZINE.GTE Digita

Airfone advertisement, November 1996.

[28] VEIZADES,.. GUTTMAN,E., ERKINS,& ANDKAPLANS. Service Location Protocol. Network WorkingGroup Rc

quest for Comments:2165, June 1997.[29] WATSON, . Effective Wireless CommunicationThrough

ApplicationPartitioning. In Proceedings of the Fflh Workshop on Hot Topics in Operating Systems [HotOS-V) (OrcaIsland,Washington,May 1995),pp. 24-27.

[30] WICKELGREN,. J. The facts about FireWire. IEEE Spec-

trum34,4 (April 1997), 19-25.

[31] WRIGHT,G. R., ANDSTEVENS,W. R. TCP/IP IllustratedVolume 2: The Implementation. Addison-Wesley, 995,


Recommended