The Internet has had a profound impact on software, as reflected in many examples in this book. One current result is freeing users from place. While many users access the Internet from a single access point (at home or work), nomadic users connect to the network from different access points (as when they use laptops while traveling). There are two cases: an appliance or computer can be relocated (e.g., a laptop or personal digital assistant—PDA), or the user can move from one appliance or computer to another (e.g., using a Web browser in an Internet caf while traveling).
The advent of wireless Internet access based on radio technology allows mobility: mobile users maintain continuous network access (and thus change their topological point of connection) even in the course of using an application (e.g., using a cell phone or handheld device on a bus or train) (Macker, Park, and Corson 2001). A practical limitation of wireless connections is reduced communication speeds, especially relative to fiber optics. It is also often the case that wireless connectivity performance attributes (like bit rate or error rate) change with time, for example, as geographic obstacles come and go.
Ideally, nomadic and mobile users would benefit from transparent access to applications; that is, their nomadic or mobile state would not be evident. In practice today, we fall far short of this ideal. Two sorts of technical challenge arise with nomadic or mobile uses, those within the infrastructure and those within applications. In the infrastructure, sometimes distributed computing capabilities (see section 4.5) must be made dynamically reconfigurable.
Example The service discovery mechanism in Web services (see section 7.3.7) may have to be upgraded to account for nomadic services. Fortunately, most services are based in servers at static locations, and it is primarily the clients accessing those services that are nomadic or mobile. However, there may also be nomadic services. For example, a collaboration application may be based in part on services provided by the user's client machine, which in turn may be nomadic or mobile.
The Internet was not originally designed to support nomadic and mobile uses, and upgrading it to these capabilities has proven a challenge.
Example The domain name system and the communication among hosts assume a static Internet address. Mobile IP (Maes et al. 2000) was developed to bypass this restriction by routing all communications through the mobile user's home or office computer; a home agent on this host then forwards the communication to the user's actual network access point. This overlay approach has disadvantages (a native Internet approach would be better). It is not transparent to the user (who has to install and configure home agent software and make sure its host is always available), and it often involves very circuitous "triangular" routing (through the forwarding host rather than directly to the user network access point) with extra delay and resource consumption.
The underlying technology supporting transparent nomadic and mobile uses is usually based on some variation of indirection (see figure 10.1). A nomadic server stores and updates information about its location, and the client can find the current location of the server before communicating directly with it. This form of indirection doesnot support a mobile server; that requires the actual client-server communication to be routed through an indirection point (Mobile IP uses this approach).
Figure 10.1: The rendezvous is a genric technique to allow a client to find a nomadic server.
There are also challenges for application developers. The application should recreate a consistent user environment wherever the user may move (different access points or different appliances or computers). Either applications need to be more cognizant of and adjust to wide variations in communication connectivity, or the infrastructure needs to perform appropriate translations on behalf of applications.
Example The perceptual quality of video is affected by the bit rate and error rate on the lowest-quality link, and it is necessarily much lower on today's wireless access networks than in a fiber optics backbone network. An application utilizing video will have to adjust to available network resources, by depending on the network to perform translations from one video representation to another or by utilizing an end-to-end video service provided by the network. For mobile users, this adjustment must be dynamic, changing during one application session. Multipoint video services impose more severe requirements because end-points may have widely differing access rates.
It may be desirable to allow application code to reside within the network infrastructure to deal with some of the technical issues (see section 4.5.6). Mobile code is a way to achieve this flexibly and dynamically.
Example A video or telephony session to an information appliance (like a video teleconference set or telephone) benefits from a translation between its predetermined representation and alternative representations used elsewhere in the network. The greatest flexibility is achieved when the translation is near the appliance; this suggests mobile code supplied by the application executing there.
Recognizing that the most cost-effective way to deal with these complicated issues is by upgrading the network infrastructure to directly offer nomadic and mobile services (data, audio, and video) rather than layering upon the current network to add these capabilities, the network will become increasingly sophisticated in this respect. While the technical challenges are daunting enough, some of the most interesting issues relate to the distributed ownership and management of the network (see section 5.4). Because of direct network effects, the user is best served if standardization is able to achieve interoperable management mechanisms across all network resources regardless of ownership and operational responsibilities. If this is not achieved, then network service providers who can offer global coverage and homogeneous end-to-end coordinated management of network resources will have a marked competitive advantage for end-user organizations who are able to outsource their network services to a single provider, and we can expect a rapid consolidation of the networking industry into a relatively few global providers. The increasingly sophisticated nomadic and mobile capabilities provided by the network in the future will also raise all sorts of issues relating to business models for service providers, including pricing and versioning (see section 9.3). With mobility, even a single application session may require dynamic pricing scenarios with settlements apportioning the revenue among different service providers.