8/27/2015 23:40 1 mobile middleware. 8/27/2015 23:40 2 outline motivating example issues:...

66
03/27/22 06:37 1 Mobile Middleware

Upload: lambert-lester

Post on 25-Dec-2015

214 views

Category:

Documents


0 download

TRANSCRIPT

04/19/23 10:01 1

Mobile Middleware

04/19/23 10:01 2

Outline

Motivating Example Issues: Mobility, Wireless Communication, Portability Adaptability and Mobile Client-Server Models Location Management Broadcast data dissemination Disconnected database operations Mobile Access to the Web Mobility in Workflow Systems State of Mobile DB Industry and Research Projects Unsolved Problems

04/19/23 10:01 3

Party on Friday

Update Smart Phone’s calendar with guests names.

Make a note to order food from Dinner-on-Wheels.

Update shopping list based on the guests drinking preferences.

Don’t forget to swipe that last can of beer’s UPS label.

The shopping list is always up-to-date.

04/19/23 10:01 4

Party on Friday

AutoPC detects a near Supermarket that advertises sales.

It accesses the shopping list and your calendar on the Smart Phone. It informs you the soda and beer are on sale, and reminds you.

that your next appointment is in 1 hour. There is enough time based on the latest traffic report.

04/19/23 10:01 5

Party on Friday

TGIF… Smart Phone reminds you that you need to order food by

noon. It downloads the Dinner-on-Wheels menu from the Web

on your PC with the guests’ preferences marked. It sends the shopping list to your

CO-OP’s PC. Everything will be delivered by the time

you get home in the evening.

04/19/23 10:01 6

Mobile Applications

Expected to create an entire new class of Applications new massive markets in conjunction with the Web Mobile Information Appliances - combining personal

computing and consumer electronics Applications:

Vertical: vehicle dispatching, tracking, point of sale Horizontal: mail enabled applications, filtered

information provision, collaborative computing…

04/19/23 10:01 7

Mobile and Wireless Computing

Goal: Access Information Anywhere, Anytime, and in Any Way.

Aliases: Mobile, Nomadic, Wireless, Pervasive, Invisible, Ubiquitous Computing.

Distinction:• Fixed wired network: Traditional distributed computing.• Fixed wireless network: Wireless computing.• Wireless network: Mobile Computing.

Key Issues: Wireless communication, Mobility, Portability.

04/19/23 10:01 8

Wireless Communication

Cellular - GSM (Europe+), TDMA & CDMA (US)– FM: 1.2-9.6 Kbps; Digital: 9.6-14.4 Kbps (ISDN-like

services) Public Packet Radio - Proprietary

– 19.2 Kbps (raw), 9.6 Kbps (effective) Private and Share Mobile Radio Wireless LAN - wireless LAN bridge (IEEE 802.11)

– Radio or Infrared frequencies: 1.2 Kbps-15 Mbps Paging Networks – typically one-way communication

– low receiving power consumption Satellites – wide-area coverage (GEOS, MEOS, LEOS)

– LEOS: 2.4 Kbps (uplink), 4.8Kbps (downlink)

04/19/23 10:01 9

Mobile Network Architecture

FIXED NETWORK

PDA

FIXEDHOSTBASE

STATION

BASESTATION

BASESTATION

Mbps to Gbps

MOBILE HOST

WIRELESS LAN CELL2Kbps - 15Mbps

WIRELESS RADIO CELL9Kbps - 14Kbps

BASESTATION

PDA

04/19/23 10:01 11

Wireless characteristics

Variant Connectivity Low bandwidth and reliability

Frequent disconnections • predictable or sudden

Asymmetric Communication Broadcast medium

Monetarily expensive Charges per connection or per message/packet

Connectivity is weak, intermittent and expensive

04/19/23 10:01 12

Portable Information Devices

PDAs, Personal Communicators Light, small and durable to be easily carried around dumb terminals [InfoPad, ParcTab projects],

palmtops, wristwatch PC/Phone, walkstations

will run on AA+ /Ni-Cd/Li-Ion batteries may be diskless I/O devices: Mouse is out, Pen is in wireless connection to information networks

either infrared or cellular phone specialized HW (for compression/encryption)

04/19/23 10:01 13

Portability Characteristics

Battery power restrictions transmit/receive, disk spinning, display, CPUs,

memory consume power Battery lifetime will see very small increase

need energy efficient hardware (CPUs, memory) and system software

planned disconnections - doze mode

Power consumption vs. resource utilization

04/19/23 10:01 14

Portability Characteristics

Resource constraints Mobile computers are resource poor Reduce program size – interpret script languages

(Mobile Java?) Computation and communication load cannot be

distributed equally Small screen sizes

Asymmetry between static and mobile computers

04/19/23 10:01 15

Mobility Characteristics

Location changes• location management - cost to locate is added to

communication Heterogeneity in services

bandwidth restrictions and variability Dynamic replication of data

• data and services follow users Querying data - location-based responses Security and authentication System configuration is no longer static

04/19/23 10:01 16

What Needs to be

Reexamined?

Operating systems File systems Data-based systems Communication architecture and protocols Hardware and architecture Real-Time, multimedia, QoS Security Application requirements and design PDA design: Interfaces, Languages

04/19/23 10:01 17

Information Processing

Concern moves from CPU time and network delays to battery power and communication costs (including tariffs)

Updates may take the form of long-running transactions nodes may continue in disconnected mode need new transaction models [Chrysanthis 93, Satya 94]

Move data vs. move request for data Context (location) based query responses Consistency, autonomy, recovery

Approximate answers Stable storage for logs, data -- stabilize at servers?

Providing uniform access in a heterogeneous environment Design of human-computer interfaces (pen-based computing) Updated system info: Location information, user profiles

04/19/23 10:01 18

Recurrent Themes

Handling disconnections (planned failures?) caching strategies managing inconsistencies

Delayed write-back and prefetch: use network idle times increases memory requirements

Buffering/batching: allows bulk transfers Partitioning and replication

triggered by relocation Compression: increase effective BW

increases battery power requirements Receiving needs less power than sending

04/19/23 10:01 20

Outline

Motivating Example Issues: Mobility, Wireless Communication, Portability Adaptability and Mobile Client-Server Models Location Management Broadcast data dissemination Disconnected database operations Mobile Access to the Web Mobility in Workflow Systems State of Mobile DB Industry and Research Projects Unsolved Problems

04/19/23 10:01 21

Mobility in Db Applications

• Need to adapt to constantly changing environment:

• network connectivity

• available resources and services

• By varying and (re)negotiating:

• the partition of duties between the mobile and static elements

• the quality of data available at the mobile host

Example: Fidelity (degree to which a copy of data matches the reference copy at the

server)

04/19/23 10:01 22

Laissez-Faire Application Transparent

Application-Aware

(+) existing applications continue to work unchanged

(-) too general, cannot take advantage application semantics

(-) may not be attainable (e.g., during a long disconnection)

(-) applications must be re-written which may be very complicated

(-) no focal point of control to resolve potentially incompatible application demands or to enforce limits on resource usage

Adaptability

Where should support for mobility and adaptability be placed?

04/19/23 10:01 23

Adaptive Applications

Need: Measurement of QoS and communication with

application– A mechanism to monitor the level and quality of information

and inform applications about changes. Programmer Interface for Application-Aware

Adaptation – Applications must be agile: able to reveive events in an

asynchronous manner and react appropriately A central point for managing resources and authorizing

any application-initiated request.

04/19/23 10:01 25

Client ServerAgent

Fixed NetworkWireless Link

C-SA-C: Server-side Agent

C-SA-C: The Client/Server-side Agent/Server Model Splits the interaction between the mobile client and

server: client-agent and agent-server

• different protocols for each part of the interaction

• each part may be executed independently of the other

04/19/23 10:01 26

Responsibilities of the Agent

Messaging and queying Manipulate data prior to their transmission to the

client: perform data specific compression batch together requests change the transmission order

04/19/23 10:01 27

Role of the Agent

Surrogate or proxy of the client Any communication to/from the client goes through the

agent Offload functionality from the client to the agent

Application (service) specific provides a mobile-aware layer to specifc services or

applications (e.g., web-browsing or database access) handles all requests from mobile clients

Filters provide agents that operate on protocols E.g., an MPEG-agent or a TCP-agent

04/19/23 10:01 28

C-CA-S: Client-side Agent

C-SA-S: The Client/Client-side Agent/Server Model caching background prefetching and hoarding various communication optimizations

Mobile Host

Client ServerAgent

Fixed NetworkWireless Link

04/19/23 10:01 29

Mobile Host

Client ServerAgent

Fixed Network

Wireless Link

Agent

C-I-S: Client & Server Agents

C-I-S: Client/Intercept/Server Model Caching, prefetching etc various communication optimizations at both ends

– E.g., asynchronous queued RPC relocate computation between the agents Client interoperability

04/19/23 10:01 30

Mobile Agents

Mobile agents are migrating processes associated with an itinerary dynamic code and state deployment

Implement the agents of the previous architectures as mobile agents, E.g., server-side agents can relocate during handoff client-side agent dynamically move on and off the client

– Relocatable dynamic objects (RDO) [Rover] Implement the communication using mobile agents:

clients submit/receive mobile agents to/from the server

04/19/23 10:01 31

A Taxonomy

C-CA-S

C-SA-S

C-I-S

C-CA-MS

C-SA-MS

C-I-MS

Coda

WirelessWeb Browser

Pro-motionRover

WebExpress

Pro-motionOracle mobile

agents

Odyssey

Adaptability

Strategy

Laissez-Faire ApplicationMobilityAware

ApplicationTransparent

Unm

odifi

ed S

erve

rM

odifi

ed S

erve

r

04/19/23 10:01 32

Outline

Motivating Example Issues: Mobility, Wireless Communication, Portability Adaptability and Mobile Client-Server Models Location Management Broadcast data dissemination Disconnected database operations Mobile Access to the Web Mobility in Workflow Systems State of Mobile DB Industry and Research Projects Unsolved Problems

04/19/23 10:01 33

Locating Moving Objects

Example of moving objects mobile devices (cars, cellular phones, palmtops, etc) mobile users (locate users independently of the device

they are currently using) mobile software (e.g., mobile agents)

How to find their location - Two extremes Search everywhere Store their current location everywhere Searching vs. Informing

04/19/23 10:01 34

Locating Moving Objects

What (granularity), where (availability) and when (currency) to store

Ava

ilab

ilit

y

nowhere

at all sites

At selective sites (e.g., at frequent callers)

CurrencyNever update

Always update (at each movement)

Granularity

Exact location

the whole network

some partition

04/19/23 10:01 35

Architectures of Location DBs

Two-tier Schemes (similar to cellular phones) Home Location Register (HLR): store the location of

each moving object at a pre-specified location for the object

Visitor Location Register (VLR): also store the location of each moving object mo at a register at the current region

Hierarchical Schemes Maintain multiple registries

04/19/23 10:01 36

Two-tier Location DBs

Search Check the VLR at your current location If object not in, contact the object’s HLR

Update Update the old and new VLR Update the HLR

04/19/23 10:01 37

Hierarchical Location DBs

Maintain a hierarchy of location registers (databases)

A location database at a higher level contains location information for all objects below it

04/19/23 10:01 38

Hierarchical Location DBs

Call

caller

04/19/23 10:01 39

Hierarchical Location DBs

Move

old locationnew location

04/19/23 10:01 40

Hierarchical vs. Two-tier

(+) No pre-assigned HLR

(+) Support Locality

(-) Increased number of operations (database operations and communication messages)

(-) Increased load and storage requirements at the higher-levels

04/19/23 10:01 41

Locating Moving Objects

Partitions

P1 P2

P3

P4 P5

User x User x

04/19/23 10:01 42

Locating Moving Objects

Caching cache the callee’s location at the caller

Replication replicate the location of a moving object at its frequent callers

Forwarding Pointers do not update the VLR and the HLR, leave a forwarding pointer

from the old to the new VLR When and how forwarding pointers are purged?

Concurrency, coherency and recovery/checkpointing of location DBs

04/19/23 10:01 43

Querying Moving Objects

• Besides locating moving objects, answer more advanced queries, e.g.,

• find the nearest service

• send a message to all mobile objects in a specific geographical reafion

• Location queries: spatial, temporal or continuous

•Issues: representation, evaluation and imprecision

Most current research assumes a centralized location database

04/19/23 10:01 44

Querying Moving Objects

How to model the location of moving objects?

Dynamic attribute (its value change with time without an explicit update) [e.g., in MOST]

For example, dynamic attribute A with three sub-attributes: A.value, A.updatetime and A.function

(function of a single variable t that has value 0 at time t=0)

• The value of A at A.updatetime is A.value

• at time A.updatetime + t0 is A.value + A.function(t0)

04/19/23 10:01 45

Querying Moving Objects

How to represent and index moving objects?

Spatial indexes do not work well with dynamically changing values

Value-time representation

• An object is mapped to a trajectory [Kollios 99]

04/19/23 10:01 46

Mobility Middleware in the Market

Most middleware market are based on TCP/IP and socket-oriented connections

Wireless-friendly TCP versions have been proposed but no major products adopted it

Microsoft’s Remote Access supports cellular communication by integrating Shiva’s PPP suite

Shiva’s PPP (Point-to-Point protocol) suit provide a remote access client to either wired or mobile servers E.g., mobile clients can access Tuxedo transaction services

MobileWare Office Server: An agent-based middleware that supports Lotus Notes, Web access, database replication, etc. Connection profiles, checkpointing,compression, security

04/19/23 10:01 47

To Recap

Mobile and wireless computing attempts to deliver today’s and tomorrow’s applications on yesterday’s hardware and communication infrastructure!

04/19/23 10:01 53

A Network Architecture for Heterogeneous Mobile

Computing

04/19/23 10:01 54

BARWAN Project Outline

Enables seamless roaming in a single logical overlay network composed of many heterogeneous (mostly wireless) physical net-works, and provides significantly better TCP performance for these networks

Provides complex scalable and highly available services to enable powerful capabilities across a very wide range of mobile devices, and mechanisms for automated discovery and configuration of localized services

04/19/23 10:01 55

Concerns

How to build this network out of an overlaid collection of networks?

How to seamlessly roam around it? How to make it perform well? How to leverage computing in the infrastructure to

enable new abilities and services for even the simplest mobile devices?

04/19/23 10:01 56

Challenges

Having a ubiquitous localized networking: the net-work as a whole has broad coverage, but connection quality and services vary greatly by location

Need a powerful infrastructure that is highly available, cost effective, and sufficiently scalable to support millions of users

04/19/23 10:01 57

Solutions from Architecture

Seamless mobility both within a network and across heterogeneous networks

A reliable transport layer, based on TCP Automatic discovery and configuration of local

network services Remote control of local environments Thin clients through dynamic adaptation of content

04/19/23 10:01 58

Solutions from Architecture

New abilities for such devices by leveraging computation in the infrastructure

Cluster-based support for scalable, manageable and highly available infrastructure services

A layered programming model for implementing services that allows authors to focus on service content

04/19/23 10:01 59

Elements of the BARWAN Architecture

04/19/23 10:01 60

Layered view of the architecture

04/19/23 10:01 61

Key Themes

Dynamic adaptation: a generic solution to varying network conditions

and client heterogeneity Cross-layer Information:

break the OSI networking model to enable smarter adaptation or better performance

04/19/23 10:01 62

Key Themes

Agent-base capabilities: the use of agents in the infrastructure to enable

new abilities and to hide new problems from legacy servers and protocol stacks

Soft sate : state that aids in performance or adds capabilities,

but not required for correctness the importance for simplicity, ease of fault

recovery, and scalability (of agents)

04/19/23 10:01 63

Overlay Networking

the unification of several heterogeneous networks, of varying coverage and performance, into a single logical network that provides coverage that is the union of the networks’ coverage with performance corresponding to the best network in range

In addition to traditional cell-based roaming (horizontal roaming), they provide transparent roaming across the constituent networks (vertical roaming), even when this requires changing the IP address or network interface

04/19/23 10:01 64

Wireless overlay network structure

04/19/23 10:01 65

Elements of the handoff system

04/19/23 10:01 66

Breakdown of a handoff

04/19/23 10:01 67

Reliable Data Transport Over Wireless Networks

In overlay network, the next immediate challenge is the poor performance of standard TCP over the mobile, wireless and asymmetric networks TCP assumptions of congestion losses and symmetrical

connection may be false Solution: a combination of TCP enhancements and corrective

agents (snoop) in the infrastructure Hiding the effects of wireless losses and asymmetry The keys to making agents work well are to exploit cross-

layer information

04/19/23 10:01 68

Network topology

04/19/23 10:01 69

The proxy architecture

Why: Inability of (nearly all) servers to handle the incredible variation in software, hardware and networking capabilities of mobile clients

As a smart intermediary between traditional servers and heterogeneous mobile clients

By a powerful agent in the infrastructure to adapt content dynamically to support heterogeneous networks and mobile devices

The proxy enables useful access even from very simple devices

04/19/23 10:01 70

Basic proxy architecture

04/19/23 10:01 71

Dynamic adaptation

04/19/23 10:01 72

Adaptive Network Services

IP connectivity is not sufficient: mobile users need to discover, configure and use local

services, such as DNS servers, local printers, and in-room control of lights and A/V equipment.

This supports seamless interaction with the current environment as clients roam in overlaid networks

This enables a far richer environment for mobile users, and when combined with the proxy greatly simplifies the creation and use of new services

04/19/23 10:01 73

Mechanism for Adaptive network services

Service Discovery The protocol allows for the maintenance of dynamic

repositories of service information, advertises its availability, and supports queries against it

Remote control extend room devices and collaborative applications with

shared, simplified, remote-control interfaces Access control based on physical locality (scope)

embed tickets, random fixed-length bit vectors, in the mobility beacons and require the current ticket to be included in all communications to servers

04/19/23 10:01 74

Conclusion

Deployed a really useful working network It is possible to roam among several networks and the

performance of the networks is quite good The proxy is highly available and supports thousands of users,

several quality services, and a wide range of mobile devices The support for localized network services enables automatic

configuration of mobile devices