Mobile Computing Models
Mobile Computing Models
References
5.1: J. Jing, A. Helal, A. Elmagarmid, "Client-Server Computing in Mobile Environments," ACM Computing Surveys, June 1999. 5.2: B. Noble, M.Satyanarayanan, D. Narayanan, J. Tilton, J. Flinn, K. Walker "Agile ApplicationAware Adaptation for Mobility," Proceedings of the Sixteenth ACM Symposium on Operating Systems. 5.3: M. Ebling and M. Satyanarayanan, "On the Importance of Translucence for Mobile Computing," Proceedings of the 15th ACM Symposium on Operating Systems Principles, May 1998, , CO 5.4: A. Joseph and M. Kaashoek, "Building Reliable Mobile-Aware Applications using the Rover Toolkit," To appear in ACM Wireless Networks (WINET). 5.5: R. Gray, D. Kotz, S. Nog, D. Rus, and G. Cybenko, "Mobile Agents for Mobile omputing," Technical Report PCS-TR96-285, Dept. of Computer Science, Dartmouth College, May 1996. 5.6: B. Zenel and D. Duchamp, "A General Purpose Proxy Filtering Mechanism Applied to the Mobile Environment," Proceedings of the third annual ACM/IEEE Conference on Mobile Computing and Networking, Sept. 1997.
References
5.7.1: S. Zdonik, M. Franklin, S. Acharya, and R. Alonso, "Are ``Disks in the Air'' Just Pie in the Sky?," Proceedings of the IEEE Workshop on Mobile Computing Systems Applications, Santa Cruz, CA, December 1994 5.7.2: S. Acharya, R. Alonso, M. Franklin and S. Zdonik,"Broadcast Disks: Data Management for Asymmetric Communication Environments," Proceedings of the ACM SIGMOD, Conference, San Jose, CA, May 1995. 5.7.3: S. Hameed and N. Vaidya, "Log-time Algorithms for Scheduling Single and Multiple Channel Data Broadcast," Proceedings of the third annual ACM/IEEE Conference on Mobile Computing and Networking, Sept. 1997. 5.8.1: J. Jing, A. Elmagarmid, A. Helal, and R. Alonso, Bit-Sequences, "An Adaptive Cache Invalidation Method in Mobile Client/Server Environments," the ACM-Baltzer Journal on Special Topics in Mobile Networks and Applications (MONET), Volume 2, Number 2, pp115-127, October 1997 5.8.2: H. Lei and D. Duchamp, "An analytical approach to file prefetching," USENIXAnnual Technical Conference, 1997.
Adaptations Unaware Client/Server Model Client/Proxy/Server Model Thin Client/Server Model Disconnected Operation Dynamic Client/Server Models Mobile Agents
Mobile Workflow
Ad-hoc Mobile Server
Client/Server Computing
Cache Coherency:
- cache invalidation - update propagation
client cache server cache
Client State
Request
Server
Client
Sockets TLI RPC RMI
Reply
Sockets TLI
Fixed Network
RPC RMI
Client/Server Design
Stateless/stateful client/server design Caching and
cache invalidation
server invalidates client cache and/or client requests server to validate its cache. file system caching: writes => update propagation
Client is always connected with availability comparable to the servers. Server can always invalidate the client cache
Server Availability
& Reliability
Server is highly available. Reliable if stateless (but state info is exchanged in every C/S interaction), or if implements recovery procedures (may require client availability) fast*, reliable*, BER < 10-6, bounded delay variance
Network
The conventional, unaware client/server model the client/proxy/server model the disconnected operation model dynamic client/server model the mobile agent (object) model
System-aware, application-transparent
System-transparent, application-aware
System-aware, application-aware
on mobile host and full server on fixed network (SLIP/PPP C/S) Client and Server are not mobility-aware Client caching does not work as the client can be disconnected when the server invalidates the cache Not reliable and of unpredictable performance Requires special cache invalidation algorithms to enable caching despite long client disconnections
Client and server are not mobility-aware. Proxy functions as a client to the fixed network server, and as a mobility-aware server to the mobile client Proxy may be placed in the mobile host (Codas Venus), or the fixed network, or both (WebExpress) Application- and user-dependent One advantage: enables thin client design for resource-poor mobile computers
Thin Client
Display events
Thin client fits in resource poor info appliances Bounded communication Requires at least weak connection CITRIX WinFrame and ICA thin client VNC client InfoPad
Provide full client and a thin version of the server on the mobile platform. In addition, needed data is replicated into the mobile platform. Upon reconnection, updated replicas are synchronized with the home server. Conflict resolution strategies are needed (Coda/Venus & Oracle Lite) Provide a full client and a mobility agent that intercepts requests to the unreachable server, emulates the server, buffers the requests, and transmit them upon reconnection (Oracle Mobile Agents)
Approach II:
applications programmed with dynamic object relocation policies for adaptation (Rovers RDOs) disconnected mobile clients turns into a group of collaborating, mobile servers and clients connected via an ad-hoc net. (Bayou architecture)
Collaborative Groups:
Virtual Mobility of
Servers:
servers relocate in the fixed network, near the mobile host, transparently, as the latter moves.
platform limitations and user profile receives a request; moves into the fixed network near the requested service Mobile agent acts as a client to the server, or invokes a client to the server Based on the nature of the results, experienced communication delays, and programmed knowledge, the mobile agent performs transformations and filtering. Mobile agent returns back to mobile platform, when the client is connected.
Disconnected
operation (Venus): hoarding, emulating, reintegrating Weakly connected operation: both object and volume call-backs Isolation-Only Transactions
Isolation-Only Transactions (ACID): no failure atomicity guarantees. Also Durability is guaranteed only conditionally.
B/W
downstream
upstream
Pull data delivery: clients request (validate) data by sending uplink msgs to server Push data delivery: servers push data (and validation reports) through a broadcast channel,to a community of clients
Broadcast Disks
Periodic broadcast of one or more disks using a broadcast channel Each disk can be bcast at different speed Disk speed can be changed based on client access pattern
Indexing on Air
inx
inx
inx
inx
inx
inx
inx
inx
inx
inx
Server dynamically adjusts bcast hotspot Clients read the index, enters into doze mode, and then perform selective tuning
Query Time: time taken from point a client issues a query until answer is received Listening Time: time spent by client listening to the channel.
critical to many applications such as Web browsing and file and database systems Classical cache invalidation techniques do not work effectively in the mobile environment because of:
client disconnection (call-backs do not work) slow and limited up-link bandwidth for client invalidation (detection approach is inefficient) very limited scalability for application servers with a large number of clients limited caching capacity due to client memory and power consumption limitations
Broadcast disks: periodic broadcast of disk-organized data; does not require upstream communication for disk reads Indexing on the air: broadcast of disk and its index; allows selective tuning; increases access time but reduces tuning time; allows dormant state
Cache cache
invalidation:
stamps for each object and its containing volume. When an object is updated, the server updates its version stamp and that of its containing volume. In anticipation of disconnection, clients cache volume version stamps Upon reconnection, clients present volume version stamps to server for validation If valid, so is every object cached at the client, otherwise, cached objects are invalidated individually
Time Window
Broadcast period
Server bcast invalidation report showing all items updated within preceding w seconds Client connected: invalidation is straightforward Clients must invalidate their entire cache if their disconnection period exceeds w seconds.
bit-sequence naming (each bit in a BS represents one data object) update aggregation (one timestamp for a group of updates)
Effectiveness of invalidation
report: accuracy of validating the status of cached data items w.r.t. invalidation report size report effectiveness for clients with unpredictable disconnection time
Addresses invalidation
hierarchical structure of BSs (clients with different disconnection times can use different BSs in the structure)
Server: Bit-Sequences construction algorithm Client: cache invalidation algorithm Design: different bitmapping strategies Report size: L= 2N+bTlog(N)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 DB
1 0 0 0 1 1 110 1 0 1 0 0 0 1
TS(B4) 50
0 0 0 1 1 01 1
TS(B3) 140
TS(B2) 16 0 TS(B1) time 200
B2
0 110 10
B1
UPDATE UPDATE
UPDATE
x x xx x
TS(Bk) Td TS(Bk-1)
xx
TS(Bk- )
Scenario 1
UPDATE UPDATE UPDATE
x x xx x
TS(Bk) Td TS(Bk-1)
xx
TS(Bk- )
Scenario
Case Studies
Bayou Odyssey Rover
resolution
http://www.parc.xerox.com/csl/projects/bayou/
applications Ad-hoc network of portable computers participate in managing a mobile, replicated storage system Suitable for a group of collaborators, all mobile and disconnected from fixed network, sharing (reading/writing) appointment calendars, meeting notes, evolving design documents, etc.
Eventual replica convergence through a peer--wise anti-entropy process Per-client consistency guarantees Roll-back and undo capabilities
Storage System
Storage System
Server State
Client
Read or Write
Anti-entropy
Server State
Server
Storage System
Server
Storage System
Server
Server State
Client Server
As a
pre-condition to performing the write operation, the dependency check must succeed A conflict is detected if query, when run against server data, does not produce same results.
Others:
consistency) Bayou servers propagate their writes during pair-wise contacts. This process is called Anti-entropy and results on the two server agreeing on the writes and their order. Eventually all writes will reach all servers (eventual consistency)
Bayou: Summary
Applications
Adaptation
Non-real time collaborative applications: meeting room scheduler and bibliographic database, appointment calendars, evolving design documents, news bulletin boards. Application-specific adaptation to disconnection and intermittent connectivity; applications are permitted to make trade-off of replicated data consistency and availability by using individually selectable session guarantees. Disconnected collaborative group; full (or disconnected) client architecture. System support for detection of update conflicts, application-specific resolution of update conflicts, eventual replica convergence through a peer-wise anti-enthropy process, and per-client consistency guarantees.
Applications
Cache Manager
system resources and notifies applications of relevant changes Applications decide when and how to adapt, to maintain certain level of fidelity General support for adaptation: Viceroy Type-specific support: Warden Caching support
operate on Odyssey objects express resource needs (expectations) be notified when needed resources are no longer available respond by changing levels of fidelity
Odyssey API
Upcall Handler
Type-specific Operations
Odyssey: Summary
Applications Adaptation
File system access, video playing, and Web browsing. Application-aware adaptation with the system support that provides resource monitoring, notifies applications of resource changes, and enforces resource allocation decisions. Classic client-server architecture. Distilled server data delivery based on the client Feedbacks.
Rover Novel features of Rover Rover system components Constructing mobile applications using Rover Rover applications
ToolKit for developing applications that can be used in both the fixed and mobile environment Supports both application-transparent and applicationaware adaptations Supports the dynamic client/server model Can build Rover apps from scratch or migrate existing apps (with some effort) to be mobile
Mobile objects disconnected operation dynamic client/server Relocatable Dynamic Objects (RDO) Queued Remote Procedure Calls (QRPC)
Applications decide
disconnected Client applications use QRPC to fetch RDOs. Upon connection, or when an RDO arrives, the requesting client is called back QRPC is also used to commit updates made to RDOs Non-executed QRPCs are kept in an operation log As network connection comes and goes, the operation logs are flushed back to the servers
erver
the application into clients and servers modules Decide where each module resides initially (mobile host or fixed network) Encapsulate each module as an RDO Add application-specific semantics to RDOs Add application-specific conflict resolution procedures.
Rover Applications
Application-transparent adaptation
Rover NNTP proxy and Rover HTTP proxy Rover Exmh (mail browser), Rover Webcal (distributed calendar system), Rover Irolo (graphical Rolodex tool), and Rover stock market watcher
Application-aware adaptation
Rover: Summary
Applications Adaptation
-mails, appointments, to do lists, reminders, calendars; and eb pages and images. Application-a are adaptation ith the use o Rover Toolkits that deal ith intermittent and lo bandwidth connection and resource-poor clients; application-transparent adaptation by using Rover proxies. ynamic client-server architecture with the use o R Os. Asynchronous and disconnected operations with the support o RP .