40
Client-Server Computing in Mobile Environments

Client server computing in mobile environments

Embed Size (px)

DESCRIPTION

Client server computing in mobile environments. Versatile, Message based, Modular Infrastructure intended to improve usability, flexibility, interoperability and scalability as compared to Centralized, Mainframe, time sharing computing. Intended to reduce Network Traffic. Communication is using RPC or SQL

Citation preview

Page 1: Client server computing in mobile environments

Client-Server Computing in Mobile Environments

Page 2: Client server computing in mobile environments

2

Client-Server Architecture

Versatile, Message based, Modular Infrastructure intended to improve usability, flexibility, interoperability and scalability as compared to Centralized, Mainframe, time sharing computing.

Intended to reduce Network Traffic. Communication is using RPC or SQL

Page 3: Client server computing in mobile environments

3

Mobile Computing and Issues in Client-Server Environment

Mobile Computing a new Paradigm Issues

Mobility of Users and their computers Mobile Resource constraints

Wireless Bandwidth Limited Battery Life

Page 4: Client server computing in mobile environments

4

Paradigms of Mobile Client-Server Computing

Mobile Aware Adaptation Response to change in environment Necessary system services that can be utilized

Extended Client-Server Model Various Architectures that enables functional

participation of applications between client and servers

Mobile data Access Deals with issues like data transfer and consistency of

Client cache

Page 5: Client server computing in mobile environments

5

Mobile-Aware Adaptation

Dynamically adjusting the functionality between the mobile and stationary host to cater changes like

Variations and changes in Network Conditions Local resource availability

Computations of Clients and Servers should be adaptive in response to change in mobile environment.

Page 6: Client server computing in mobile environments

6

Mobile-Aware Adaptation

Application Transparent Adaptation Applications work with no modification in mobile

environment System shield or proxy is provided which hides

the differences between the stationary and mobile environments from Applications

The proxy / System shield mitigates to the change in environment and the change is transparent to the applications.

Page 7: Client server computing in mobile environments

7

Application Transparent Adaptation E.G. File System Proxy (CODA)

File System Proxy hides mobile issues from applications and emulate file server services on the mobile device.

Proxy Log Concurrency control after reconnection

Three phases Hoarding

Server Files pre-fetched into Mobile Computers Emulating

Upon Disconnection updates are logged Log optimization is done to improve performance

Reintegrating Synchronizes cache with the server

Page 8: Client server computing in mobile environments

8

Application Transparent Adaptation

Drawbacks of this approach

Performance is an issue

It may be sometimes very hard for the system Some manual user intervention may be needed

Page 9: Client server computing in mobile environments

9

Application-Aware Adaptation

Allows Applications or their extensions to react to mobile resource changes

How? Collaboration between System and individual

Applications System monitors resource levels and notifies

applications of relevant changes Application then adapts to the change

Page 10: Client server computing in mobile environments

10

Application-Aware Adaptation

It can be divided into three different categories

Client- based Application adaptation Client-server Application adaptation Proxy-based Application adaptation

Page 11: Client server computing in mobile environments

11

Client- based Application Adaptation

In the Collaborative adaptation ,System provides mechanisms of adaptation, while applications are free to specify adaptation policy

Application changes or adaptation is done only on client side

Page 12: Client server computing in mobile environments

12

Client-Server Application Adaptation The Rover toolkit supports the application aware

adaptation through the use of RDO http://www.pdos.lcs.mit.edu/rover/

RDOs are relocatable dynamic objects RDOs are defined for the data types manipulated by

the application and for the data transported between client and server

Programmers Task Benefits to Application Designers

Application designers have semantic knowledge Can tightly couple data with program code and manage

resources

Page 13: Client server computing in mobile environments

13

The application specific proxy has been proposed as an intermediary between client and server

It performs storage intensive and computation intensive tasks

Proxy reduces Bandwidth demands and allow legacy and non standard client to communicate with the server

Proxy-Based Application Adaptation

Page 14: Client server computing in mobile environments

14

Extended Client-Server Model

Classic client-server systems assume that the location of client and server hosts do not change and also the connection among them does not change

Functionality between client and server is statically partitioned

Extended Client server Architecture thus deals with these inconsistencies in network connections and location specifics

Page 15: Client server computing in mobile environments

15

Extended Client-Server Model

Thin client architecture

Full client architecture

Flexible client architecture

Page 16: Client server computing in mobile environments

16

Thin client architecture

Page 17: Client server computing in mobile environments

17

Full-Client Architecture

Can support disconnected or weakly connected client

The full client architecture supports emulations of functions of server at client host

Light weight servers or proxy E.G CODA , WebExpress

Page 18: Client server computing in mobile environments

18

Flexible Client-Server Architecture

Generalizes both thin client and full client architecture

Connection between client and server can be dynamically established

Page 19: Client server computing in mobile environments

19

Mobile Objects

Programming entities that can freely roam the network

Mobile objects allow clients to download the server code to mobile host for execution

They can maintain state information and make intelligent decisions

Challenge in using mobile objects? Frequently disconnected or weak environment

Page 20: Client server computing in mobile environments

20

Collaborative Groups

Division of members into groups Members can access data for the group A client is able to access data residing on

server to which it is communicating and conversely any machine holding the copy of the database, including personal laptop, should be willing to server read and write requests from nearby machines

E.G Bayou system

Page 21: Client server computing in mobile environments

21

Flexible Client-Server Architecture

Application specific proxy Proxy acts an intermediary between clients and

server Allows legacy and other non-standard clients to

interoperate with existing servers Virtual mobility of servers

Achieved by replication

Page 22: Client server computing in mobile environments

22

Mobile Data Access

Mobile data access enables the delivery of server data and the maintenance of client-server data

Data Access strategies in mobile environment can be characterized by Data delivery Data organization Consistency requirement

Server Data Delivery Modes Client –pull Server-push Hybrid delivery

Page 23: Client server computing in mobile environments

23

Server Data Dissemination

Asymmetrical communication between clients and server

Scalability problems for applications with asymmetrical communication

Solution: Broadcast –based dissemination Broadcast disk Indexing on air

Increases query time Decreases Listening time

Page 24: Client server computing in mobile environments

24

Client Cache Management

Caching reduces contention and improves query response time

Cache data can support disconnected operations

Automated Hoarding Varied Granularity of Cache coherence

Callback Approach Detection Approach

Page 25: Client server computing in mobile environments

Disconnected Operationin a Mobile Computing

Environment

Page 26: Client server computing in mobile environments

26

1. Introduction

Key requirement of portable computers

the ability to access critical data regardless of location

Constraints of mobile elements resource-poor more prone to loss, destruction, and subversion must operate under a much broader range of

networking conditions Ideally, mobility should be completely transparent

to users

Page 27: Client server computing in mobile environments

27

2. Overview of Coda File System

Design optimized for the access and sharing patterns typical of academic and research environments

Server replication

volume storage group (VSG) accessible VSG (AVSG) callback-based caching

Disconnected operation venus services by

relying on its cache

hoarding

emulationreintegration

disconnection

reconnection

sync

hron

ized

HDB

Client modifylog

Page 28: Client server computing in mobile environments

28

3. Implementation Status1990 1991 1992 1993

October

•minimal functionality was demonstrated

•a more complete version•began to be used regularly by members of the Coda group

•almost all of the functionality•user community had expanded outside the Coda group

•performance tuning and bug-fixing

•about 30 users, of whom about 20 use on a regular basis

Page 29: Client server computing in mobile environments

29

3. Implementation Status (cont’d)

Server three DECStation 5000/200 with 2GB HDD 150 volumes

25% - user volumes 65% - project volumes 10% - system volumes

Clients 15 desktops : DECStation 5000/200, Sun Sparcstation, IBM

RT user and project volumes - Coda / system volumes - AFS

25 laptops : mostly 386-based IBM PS2/L40 completely dependent on Coda

Page 30: Client server computing in mobile environments

30

4. Qualitative Evaluation The nature of testbed environment

voluntary disconnected operation of mobile user involuntary disconnection of desktop user when

Coda server crash

4.1. Hoarding substantially improved the usefulness of disconnected

operation

hoard profiles common method of user/HDB interactions little direct sharing of profiles among users

Page 31: Client server computing in mobile environments

31

multi-level hoard priorities only a single level of hoard priority in earliest Coda

design

an object was either sticky or not much more time and effort reduce the ability of users to hoard effectively frequent disconnected misses

meta-expansion reduce the verbosity of hoard profiles and simplify

their maintenance c : the command applies to immediate

children d : the command applies to all descendants + : the command applies to all future

Page 32: Client server computing in mobile environments

32

reference spying spy program

record all file references observed by Venus

periodic hoard walking background equilibration of the cache

guard a user who forgets to demand a hoard walk before voluntary disconnecting

prevents a huge latency hit if and when a walk demanded

demand hoard walking foreground cache equilibration

invoked before voluntary disconnecting

Page 33: Client server computing in mobile environments

33

4.2. Server emulation transparency

high degree of transparency attribute to a single client agent supporting both connected and disconnected operation

cache misses experienced no cache misses

hoarding most disconnections were voluntary

when disconnected misses occur block processes switch to another task

Page 34: Client server computing in mobile environments

34

4.3. Reintegration performance

taken less than a minute to complete (mainly 5~20 seconds)

reintegration storm server returns a busy message break operation logs into independent parts

detected failures very rare, however, due to bugs rather than update

conflicts Venus writes out the operation log and related

container files to a local file called a closure

Page 35: Client server computing in mobile environments

35

4.4. Other observations optimistic replication

vs. pessimistic protocol security

no detected violations of security in use of Coda Coda servers demand to see a user’s credentials on

every client request public workstations

never a primary goal to support disconnected operation in this domain

not well suited to public access conditions security problem hoarding latency

Page 36: Client server computing in mobile environments

36

5. Quantitative Evaluation How large a local disk does one need? How noticeable is reintegration? How important are optimizations to the operation log?

5.1. Methodology trace-replay all reference to Coda, AFS or the

local file system five 12-hour workdays and five week-long

activities

5.2. Disk space requirements

High-water mark : the maximum cache space in use until current time

Page 37: Client server computing in mobile environments

37

5.3. Reintegration latency Back-fetching : the transfer of data from client to server representing disconnected file store

operation

Reintegration Latency

Page 38: Client server computing in mobile environments

38

5.4. Value of log optimizations

Optimized vs. Unoptimized Cache Space High-Water Marks

Optimized vs. Unoptimized Space Usage

Page 39: Client server computing in mobile environments

39

6. Work in Progress

Exploiting weak connectivity rapid cache validation

large granularity callbacks trickle reintegration

log optimization with aging user-assisted miss handling

patience threshold status walk & data walk

Page 40: Client server computing in mobile environments

40

7. Conclusion

Disconnected operation is the newer concept and central to solving the mobile computing problem

Importance of server replication None of the shortcomings exposed are fatal They all point to desirable ways in which the

system should evolve Actively refining the Coda system