[ Chapter 1 ] [ Chapter 2 ] [ Chapter 3 ] [ Chapter 4 ] [ Chapter 5 ] [ Chapter 6 ] [ Chapter 7 ] [ Index ] |
||||||||
Chapter 2 - Software models for Mobile Wireless Computing |
||||||||
Introduction Mobility
Wireless Communications
Portable Devices
Introduction What type of functionality should be assigned to mobile hosts?
Mobile units are still characterized as:
These reasons justify treating the mobile units as dumb terminals running just a userinterface and offload all functionality from the mobile unit to the fixed network Examples: InfoPad On the other hand, slow and unreliable networks argue for putting additional functionality at the mobile hosts to lessen their dependency to remote servers. Although, there is no consensus yet on the specific role mobile
hosts will play in distributed computation, the above contradictory considerations lead to models that provide for a flexible adjustment of the functionality assigned to mobile hosts. Adaptability A mobile system is presented with resources of varying number and quality:
Need to
How can adaptivity be captured and realized? By varying the partition of duties between the mobile and static elements Example: during disconnection, a mobile host may work autonomously, while during periods of
strong connectivity, depend heavily on the fixed network sparing its scarce local resources. By varying the quality of data available at the mobile host Example: Fidelity Where should support for mobility and adaptivity be placed.
Should applications be aware of their environment? Strategies range between two extremes At one extreme, adaptivity is solely the responsibility of the underlying system and is performed
transparently from applications.
+ existing applications continue to work unchanged. since there is no single best way to serve applications with diverse needs, this approach may be inadequate or even make performance worse than providing no
support for adaptivity at all. may no be attainable, for instance, during periods of long disconnections
At the other extreme, adaptation is left entirely to individual applications. No support is provided by the operating system.
No focal point to resolve the potentially incompatible resource demands of different applications or to enforce limits on resource usage of resources
applications must be written anew which can become very complicated.
Applicationaware ApplicationAwareness Additional requirements [1]
1. A mechanism to monitor the level and quality of resources and inform applications about any relevant changes in their environment
Environmental changes include: changes of the location and of resource availability (such as bandwidth, memory, etc) Raises a lot of issues. 2. Applications must be agile 3. There is a need for a central point for managing resources and authorizing any applicationinitiated request for their use In In Odyssey Handling mobility spans multiple levels Mobile Client/Server Models An application component executing in one computing system, called the client requests a service from an application component executing in
another computing system, called the server The mobile host acts as the client requesting services from servers located at the fixed network
Multiple servers or replicated servers Multiple Server Architectures
Service Handoff [11] When multiple interconnected servers: attach the client server located closest to it. In Assumptions: static clients, reliable and fast communications, and relatively
resourcerich and reliable clients Client/Agent/Server Architectures A threetier or client/agent/server model [4, 8, 20, 35, 30] that uses messaging and queuing infrastructure for communications from the mobile client to the agent and viceversa
Agents are used in a variety of forms and roles Agents as Proxies
The agent acts as a complete surrogate or proxy of the mobile host on the fixed network. Any communication to and from the mobile host goes through its agent.
Can be generalized by having an agent acting as a surrogate of multiple mobile hosts [8]. ServiceSpecific Agents The agent provides mobileaware access to specific services or applications, e.g., web browsing
[9] or database access [20].
Any client's request and server's reply associated with the specific service through the agent. Per mobile host as many agents as the services it needs access to. The agent performs various functions:
Position of the agent: depends on its role At the fringe of the fixed network, i.e., at the base station (especially when surrogate) But, the agent may need to move along with its mobile host, or the current base station may not be trustworthy.
When servicespecific agents, either closer to the majority of their clients or closer to the server. Relocation of the agents at the fixed network When?
Need to manage the location of the agent. A mobile motion prediction algorithm to predict the future location of a mobile user and place a new proxy Summary + alleviates the impact of the limited bandwidth and the poor reliability of the wireless link by continuously maintaining the client's presence on the fixed network via the agent. + splits the interaction between mobile clients and fixed servers in two parts: one between the client and the agent, and one between the agent and the server. Different protocols for each part of the interaction and each part of the interaction may be executed independently of the other. fails to sustain the current computation at the mobile client during periods of disconnection. requires changes to the client code for the development of the client/agent interaction the agent can directly optimize only data transmission over the wireless link from the fixed network to the mobile client and not vice versa. The Pair of Agents Model
A clientside agent to reduce data transmission, improve availability and sustain any computation at the mobile host uninterrupted [24, 9] from the point of view of the client: a coresident local server proxy
relatively heavyweight clients development work both at the server and at the client site. It suffices a different pair of agents per application type Proxy pairs have been gaining attention [35, 8].
Extensions to RPC e.g., asynchronous queued RPC - The RPC is stored in a local stable log at a clientside agent and control is immediately returned to the application.
- When connected, the log is drained in the background - Queueing RPCs leaves space for performing various ptimizations on the log. - Delivering replies from the server may require multiple retries
IBM's WebExpress
PeertoPeer Models
Applications in which the server resides at a mobile host Example: cooperative work on some data using their portable computers
Ideally, each site has the full functionality of both a client and a server. In this case, mobile hosts are equal partners in distributed computations. Heavyweight mobile hosts.
Disconnections in addition make the server unavailable to clients. To deal with disconnections and weak connectivity a serverside intercept agent on the mobile host as well.
Serverside agent at the mobile host posses special features: e.g., a mechanism to automatically start applications on demand [3].
Mobile Agents
Besides the functional components, organization of data.
As a collection of objects: the units of information exchange among mobile and static hosts. Objects encapsulate not only pure data but also information for their manipulation, e.g., operations.
Can be built on top of an existing database or file system. In the Rover toolkit In the Promotion infrastructure Active computations + Mobility mobile agents models. Mobile agents: processes along with data dispatched from a source computer to accomplish a specified task
Support intermittent connectivity, slow networks, and lightweight devices makes them appropriate for wireless mobile computing Disconnected operation: during a brief connection interval, a mobile client submits
an agent to the fixed network. Conversely, a mobile agent loaded from the fixed network onto a laptop before disconnection. The agent acts as a surrogate for the application allowing interaction even during disconnections.
Weak connectivity: the overall communication traffic through the wireless link reduced from a possibly large number of messages to the submission of a single agent and its result.
Shift the burden of computation from resourcepoor mobile hosts to the fixed network. Mobility is inherent in the model. Mobile agents migrate to find resources but or follow their clients. Adaptability
Relation to the client/server model and its extensions. 1. Implement the agent as mobile or 2. A client submits a mobile agent to the (static) agent that refines it before
launching it to servers on the network. Thus, agents with capabilities to process mobile agents rogrammable agents. Current research on active networks Summary
Agents placed between the mobile client and the fixed server
At what level do agents function? Multiple agents at different levels that cooperate. ways. Agents at lower layers convey information to agents at higher layers and vice versa.
Another approach: agents, called filters, that operate on protocols Example: an MPEGagent or a TCPagent.
Fewer protocols than applications thus less development work. Applications control agents by turning them on and off. References
[1] A. Acharya, M. Ranganathan, and J. Saltz. Sumatra: A Language for ResourceAware Mobile Programs. In J. Vitek and C. Tschudin, editors, Mobile Object Systems, pages 571--594. Springer Verlag LNCS, 1998. To appear. [2] R. Alonso and H. F. Korth. Database System Issues in Nomadic Computing. In Proceedings of the 1993 SIGMOD Conference, Washington, D.C., May 1993. [3] A. Athan and D. Duchamp. AgentMediated Message Passing for Constrained Environments. In Proceedings USENIX Symposium on Mobile and LocationIndependent Computing, pages 103--1070, Cambridge, Massachusetts, August 1993. [4] B. R. Badrinath, A. Bakre, T. Imielinski, and R. Marantz. Handling Mobile Clients: A Case for Indirect Interaction. In Proceedings of the 4th Workshop on Workstation Operating Systems, Aigen, Austria, October 1993. [5] A. Bakre and B.R. Badrinath. Implementation and Performance Evaluation of Indirect TCP. IEEE Transactions on Computers, 46(3), March 1997. [6] D. Chess, B. Grosof, C. Harrison, D. Levine, C. Parris, and G. Tsudik. Itinerant Agents for Mobile Computing. IEEE Personal Communications, 2(5), October 1995. [7] G. H. Forman and J. Zahorjan. The Challenges of Mobile Computing. IEEE Computer, 27(6):38--47, April 1994. [8] A. Fox, S. D. Gribble, E. A. Brewer, and E. Amir. Adapting to Network and Client Variability via OnDemand Dynamic Distillation. In Proceedings of the ASPLOSVII, Cambridge, MA, October 1996. [9] B C. Housel, G. Samaras, and D. B. Lindquist. WebExpress: A Client/Intercept Based System for Optimizing Web Browsing in a Wireless Environment. ACM/Baltzer Mobile Networking and Applications (MONET), 1997. Special Issue on Mobile Networking on the Internet. To appear. Also, University of Cyprus, CSTR 9618, December 1996. [10] T. Imielinksi and B. R. Badrinath. Wireless Mobile Computing: Challenges in Data Management. Communications of the ACM, 37(10), October 1994. [11] R. Jain and N. Krishnakumar. Network Support for Personal Information Services for PCS Users. In Proceedings of the IEEE Conference on Networks for Personal Communications, March 1994. [12] A. D. Joseph, J. A. Tauber, and M. F. Kaashoek. Mobile Computing with the Rover Toolkit. IEEE Transactions on Computers, February 1997. [13] R. H. Katz. Adaptation and Mobility in Wireless Information Systems. IEEE Personal Communications, 1:6--17, 1994. [14] J. J. Kistler and M. Satyanarayanan. Disconnected Operation in the Coda File System. ACM Transactions on Computer Systems, 10(1):213--225, February 1992. [15] G. Y. Liu, A. Marlevi, and G. Q. Maguire Jr. A Mobile VirtualDistributed System Architecture for Supporting Wireless Mobile Computing and Communications. Wireless Networks, 2:77--86, 1996. [16] S. Narayanaswamy, S. Seshan, and et. al. Application and Network Support for InfoPad. IEEE Personal Communications Magazine, March 1996. [17] B. Noble and M. Satyanarayanan. A Research Status Report on Adaptation for Mobile Data Access. Sigmod Record, 24(4), December 1995. [18] B. D. Noble, M. Price, and M. Satyanarayanan. A Programming Interface for ApplicationAware Adaptation in Mobile Computing. Computing Systems, 8(4), Winter 1996. [19] B. D. Noble, M. Satyanarayanan, D. Narayanan, J. E. Tilton, J. Flinn, and K. R. Walker. Agile ApplicationAware Adaptation for Mobility. In Proceedings of the 16th ACM Symposium on Operating System Principles, October 1997. [20] Oracle. Oracle Mobile Agents Technical Product Summary. ww.oracle.com/products/networking/mobile agents/html/, June 1997. [21] E. Pitoura and B. Bhargava. A Framework for Providing Consistent and Recoverable AgentBased Access to Heterogeneous Mobile Databases . ACM SIGMOD Record, 24(3):44--49, September 1995. [22] E. Pitoura and G. Samaras. Data Management for Mobile Computing. Kluwer Academic Publishers, 1998. [23] P. Reiher, J. Popek, M. Gunter, J. Salomone, and D. Ratner. PeertoPeer Reconiliation Based Replication for Mobile Computers. In Proceedings of the European Conference on Object Oriented Programming 2nd Workshop on Mobility and Replication, June 1996. [24] G. Samaras and A. Pitsillides. Client/Intercept: a Computational Model for Wireless Environments. In Proceedings of the 4th International Conference on Telecommunications (ICT'97), Melbourne, Australia, April 1997. [25] M. Satyanarayanan. Fundamental Challenges in Mobile Computing. In Proceedings of the 15th ACM Symposium on Principles of Distributed Computing, Philadelphia, PA, May 1996. [26] M. Satyanarayanan. Mobile Information Access. IEEE Personal Communications, 3(1), February 1996. [27] M. Satyanarayanan, B. Noble, P. Kumar, and M. Price. ApplicationAware Adaptation for Mobile Computing. Operating System Review, 29(1), January 1995. [28] B. N. Schilit, N. Adams, R. Gold, M. Tso, and R. Want. The ParcTab Mobile Computing System. In Proceedings of the 4th IEEE Workshop on Workstation Operating Sytems WWOSIV), pages 34--39, October 1993. [29] C. D. Tait and D. Duchamp. Service Interface and Replica Management Algorithm for Mobile File System Clients. In Proceedings of the First International Conference on Parallel and Distributed Information Systems, pages 190--197, 1991. [30] D. L. Tennenhouse, J. M. Smith, W. D. Sincoskie, and G. J. Minden. A Survey of Active Network Research. IEEE Communication Magazine, 35(1):80--86, January 1996. [31] D. B. Terry, M. M Theimer, K. Petersen, A. J. Demers, M. J Spreitzer, and C. H. Hauser. Managing Update Conflicts in Bayou, a Weakly Connected Replicated Storage System. In Proceedings of the 15th ACM Symposium on Operating Systems Principles, December 1995. [32] G. Walborn and P. K. Chrysanthis. PROMOTION: Support for Mobile Database Access. Personal Technologies Journal, 1(3), September 1997. [33] G. Welling and B. R. Badrinath. A Framework for Environment Aware Mobile Applications. In Proceedings of the IEEE International Conference on Distributed Computing Systems, 1997. [34] J. E. White. Mobile Agents. General Magic White Paper, www.genmagic.com/agents, 1996. [35] B. Zenel and D. Duchamp. General Purpose Proxies: Solved and Unsolved Problems. In Proceedings of the HotOS VI, 1997.
|
||||||||
[EPL651] [Course Contact] [Schedule & Readings] [Assignments] [Resources] [What's New] |