Pdcs 2000 tutorial topics in mobile computing
Download
1 / 175

PDCS 2000 Tutorial - PowerPoint PPT Presentation


  • 253 Views
  • Updated On :

PDCS 2000 Tutorial Topics in Mobile Computing. Golden G. Richard III, Ph.D. University of New Orleans [email protected] http://www.cs.uno.edu/~golden. PDCS 2000 Tutorial Topics in Mobile Computing.

Related searches for PDCS 2000 Tutorial

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'PDCS 2000 Tutorial' - Patman


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Pdcs 2000 tutorial topics in mobile computing l.jpg

PDCS 2000 TutorialTopics in Mobile Computing

Golden G. Richard III, Ph.D.

University of New Orleans

[email protected]

http://www.cs.uno.edu/~golden


Pdcs 2000 tutorial topics in mobile computing2 l.jpg

PDCS 2000 TutorialTopics in Mobile Computing

All tutorial materials © 1999/2000 by Golden G. Richard III, Ph.D. Permission of the author is required to use these materials outside a university classroom setting.


Tutorial overview l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Tutorial Overview

  • Introduction to Mobile Computing

    • Promises

    • Toys

    • Challenges, Research Areas

  • Mobility Support: Mobile IP

  • Getting Served: Service Discovery Technologies

  • Resource Constraints: Application Adaptation

  • Mobile Data Access: Broadcast Disks

  • References


Introduction l.jpg

Introduction III, Ph.D.


Nomadic mobile ubiquitous l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Nomadic, Mobile, Ubiquitous

  • Terminology not always consistent

    • Nomadic computing: “portable”; no mobility while connected

    • Mobile computing: “on-the-go”, e.g., while sitting on a train; possibility of network connections remaining open

    • Ubiquitous computing: computing everywhere


What does mobile computing offer l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

What does Mobile Computing Offer?

  • Mobile computing provides:

    • A choice of work environments

      • In your garden (but watch out for birds!)

      • Coffee shops

      • In the field

    • Remote access to important data

      • Client’s office (no: "can I borrow your computer")

      • Meetings (e.g., quick access to statistics, reports)

      • In the grocery store!


Offerings 2 l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Offerings (2)

  • Provides…

    • Electronic note-taking

    • While touring a new city

      • Where am I? What is this building? How do I get to Lane Avenue? I’m hungry!

    • Diversion

      • E-books: stored, downloadable

      • Games: e.g., chess, solitaire, poker

    • Ubiquitous communication

      • email, Web

      • voice

      • video



The toys l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

The Toys

  • A variety of computing and communication devices for mobile users

    • Rings

    • Watch-sized devices

    • PDA (Personal Digital Assistants)

    • Multifunction cellular phones

    • Palm-sized computers

    • Wearable computers

    • Notebook computers

more computing power


Portable information appliances l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Portable Information Appliances

(Some images courtesy of Sumi Helal @ The University of Florida)

Car Stereo-Phone


Characteristics of mobile devices l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Characteristics of Mobile Devices

  • Resource-poor compared to their desktop counterparts

    • Limited processing power

    • Limited battery life

    • Limited network connectivity

    • Poor availability…they sleep a lot!

    • Poor displays (except notebooks)

    • Tedious data input (except notebooks)


Characteristics 2 l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Characteristics (2)

  • Resource poor...

    • Not very expandable

      • Condolences to the landfills...

    • Peripherals traded for mobility, so...

    • One device typically doesn’t do it all…

      • Poor compatibility between devices

      • Functionality is often duplicated

      • “work belt” syndrome for the mobile computing nerd…

      • …or suspenders!

  • Must rely on neighboring devices for services


Pda case study palm vii l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

PDA Case Study: Palm VII

  • Interfaces: serial, IR, 8Kb/sec wireless

  • Protocols: HTTP transactions only, through Palm.net proxy

  • Processor: 16MHz Motorola Fireball (~ 68000 + video controller, etc.)

  • Memory: 2MB / 8MB

  • No secondary storage

  • Software development: C, Java, various scripting

  • Dimensions: 5.25” X 3.25” X 0.75”, 6.7oz

  • Price: $449 + wireless service agreement

  • (Palm models w/o wireless are substantially cheaper)


Characteristics 3 l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Characteristics (3)

  • Notebook computers fare better in the comparison with desktops

    • Reasonable screen size

    • Decent keyboards

    • Mouse substitutes

    • Ample memory

  • Sometimes too cumbersome

  • Still need access to services

    • FAX

    • Printing

    • Storage

    • Network connectivity


Mobile computing challenges l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Mobile Computing Challenges

  • Mobile computing isn’t a simple extension of distributed computing…

  • Instead, “traditional” distributed computing is a subset of mobile computing

  • Must rethink many issues, e.g, “disconnection == crashed”

  • Most challenges in mobile computing directly related to the resource-poor nature of the devices…

    • Hostile environment

    • Power-poor

    • Poor (or no) network bandwidth

    • Higher error rates

    • Variable latency

    • Frequent disconnection

    • Mobility

Evil for traditional (wired)

network protocols


Some research areas in mobile computing l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Some Research Areas in Mobile Computing

  • Networking

    • Ad-hoc networking

      • Location-dependent groups / Routing

    • Hacking popular networking protocols (e.g., TCP) to better support wireless

    • Mobility schemes (e.g., Mobile-IP, RAT, …)

    • Intelligent interface handoff

  • Mobile databases

    • New transaction models, hoarding

  • Mobile filesystems

    • Hoarding, disconnected operation, relaxed consistency


Research areas 2 l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Research Areas (2)

  • Application development/support

    • Opportunistic and decoupled

    • Application adaptation schemes

    • Toolkits for mobile application development

    • Mobile agent systems

    • Mobile access to the web

  • Novel data dissemination schemes

    • Broadcast disks


Research areas 3 l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Research Areas (3)

  • Resource management

    • Power conservation schemes

    • Integration of power management with network protocols, applications

  • Service discovery/autoconfiguration

    • “zero-configuration” peripherals

    • Rely on surrounding infrastructure for services


Mobile ip l.jpg

Mobile IP III, Ph.D.


Why mobile ip l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Why Mobile IP?

  • Need an IP-based protocol which allows network connectivity across host movement

  • Protocol to enable mobility must not require global changes to deployed router software, etc.

  • Must be compatible with large installed base of IPv4 networks/hosts

  • Confine changes to mobile hosts and a few support hosts which enable mobility


Mobile ip discussion overview l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Mobile IP Discussion Overview

  • Will cover:

    • Why IP routing breaks under mobility

    • Mobile IPv4 basics

    • Some Mobile IP security issues

  • Won't cover:

    • Details of IP routing

    • Low-level protocol details (message formats, headers, etc.)

    • Multicast/broadcast issues in Mobile-IP

    • IPv6 in detail

    • All of the Mobile IP-related security issues

    • TCP over wireless (lots of activity in this area)

  • Pointers in the references section to these topics


Internet protocol ip l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Internet Protocol (IP)

  • Network layer, "best-effort" packet delivery

  • Supports UDP and TCP (transport layer protocols)

  • IP host addresses consist of two parts

    • network id + host id

  • By design, IP host address is tied to home network address

    • Hosts are assumed to be wired, immobile

    • Intermediate routers look only at network address

    • Mobility without a change in IP address results inun-route-able packets


Ip routing breaks under mobility l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

IP Routing Breaks Under Mobility

.50 .52 .53

router

137.30.2.*

.200

router

139.20.3.*

Why this hierarchical approach? Answer: Scalability!

Millions of network addresses, billions of hosts!


Mobile ip basics l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Mobile IP: Basics

  • Proposed by IETF (Internet Engineering Task Force)

    • Standards development body for the Internet

  • Mobile IP allows a mobile host to move about without changing its permanentIP address

  • Each mobile host has a home agenton its home network

  • Mobile host establishes a care-of address when it's away from home


Mobile ip basics 2 l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Mobile IP: Basics (2)

  • Correspondent hostis a host that wants to send packets to the mobile host

  • Correspondent host sends packets to the mobile host’s IP permanent address

  • These packets are routed to the mobile host’s home network

  • Home agent forwards IP packets for mobile host to current care-of address

  • Mobile host sends packets directly to correspondent, using permanent home IP as source IP


Mobile ip basics 3 l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Mobile IP: Basics (3)

correspondent host

home agent


Mobile ip care of addresses l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Mobile IP: Care-of Addresses

  • Whenever a mobile host connects to a remote network, two choices:

    • care-of can be the address of a foreign agenton the remote network

      • foreign agent delivers packets forwarded from home agent to mobile host

    • care-of can be a temporary, foreign IP address obtained through, e.g., DHCP

      • home agent tunnels packets directly to the temporary IP address

  • Regardless, care-of address must be registered with home agent


Ip in ip tunneling l.jpg

IP header III, Ph.D.

IP header

data

data

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

IP-in-IP Tunneling

  • Packet to be forwarded is encapsulated in a new IP packet

  • In the new header:

    • Destination = care-of-address

    • Source = address of home agent

    • Protocol number = IP-in-IP

IP header


At the other end l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

At the Other End...

  • Depending on type of care-of address:

    • Foreign agent or

    • Mobile host

  • … strips outer IP header of tunneled packet

  • Mobile host consumes yummy insides!

  • IPv4: Should try to use foreign agent

    • Reduces overhead, especially if last hop is a slow link (e.g., wireless)

    • Reduces IP address consumption


Routing inefficiency l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Routing Inefficiency

Mobile host and correspondent host

might even be on the same

network!!

correspondent host

home agent


Route optimizations l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Route Optimizations

  • Possible Solution:

    • Home agent sends current care-of address to correspondent host

    • Correspondent host caches care-of address

    • Future packets tunneled directly to care-of address


Route optimizations 2 l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Route Optimizations (2)

  • But!

    • Cache consistency problem...

    • Cached care-of address becomes stale when the mobile host moves

    • Potential security issues with providing care-of address to correspondent


Possible route optimization l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Possible Route Optimization


The devil is in the details l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

The Devil is in the Details...

  • How does the mobile host get a remote IP?

    • Listen for router advertisements

    • Use DHCP

    • (Manual assignment)

  • How can a mobile host tell where it is?

    • Am I at home?

    • Am I visiting a foreign network?

    • Have I moved?

  • Again, listen for router advertisements

  • Put network interface into promiscuous mode and watch traffic

  • Try pinging default router of home network


Devil 2 l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Devil (2)

  • Redundancy: What if the home agent doesn't answer a registration request?

    • Registration request to broadcast address

    • Rejection carries new home agent ID

  • "Ingress" filtering

    • Routers which see packets coming from a direction from which they would not have routed the source address are dropped

    • See RFC’s 2267, 2344 for lots of details

    • In brief…


Packets dropped ingress filtering l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Packets Dropped: "Ingress" Filtering

Correspondent, home agent on

same network. Packet from mobile

host is deemed "topologically incorrect"

correspondent host

home agent


Ingress filtering fix more tunneling l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

"Ingress" Filtering Fix: More Tunneling

correspondent host

home agent


Another devil security issues l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Another Devil: Security Issues

  • We'll look at one of many security issues:

  • Bogus registration (denial of service) attacks

    • Malicious host sends fake registration messages to home agent "on behalf" of the mobile host

    • Packets could be forwarded to malicious host or to the bit bucket


Bogus registration attack l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Bogus Registration Attack

????

Send packets to me!!

Hehehehe!!

registration request

Madame Evil

home agent


Authentication l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Authentication

  • To fix this problem, authenticate registration attempts

  • Use private key encryption to generate a message digest

    • e.g., MD5: see RFC 1321

  • Home agent applies private key to message to see if message digest is identical


Authentication 2 l.jpg

… care-of address… III, Ph.D.

digest

???

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Authentication (2)

private key

home agent


Ooops replay attacks l.jpg

digest III, Ph.D.

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Ooops. Replay Attacks!

home agent

"…mooohahahahahahahaha!!!!!"


Avoiding replay attacks l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Avoiding Replay Attacks

  • Avoid replay attacks by making registration requests unique

  • Add time or a pseudo-random number to registration request/reply

  • If time or random number is out of sync, provide info to resync in rejection

  • Insufficient information to help malicious host

  • Counter instead of time/random number not sufficient

  • Would allow storing a ‘set’ of registration requests


Random number avoids replay l.jpg

… care-of address + III, Ph.D.

random number...

digest

???

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Random Number Avoids Replay

private key

home agent


Mobile ip conclusions l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Mobile IP: Conclusions...

  • Great potential for mobile application deployment using Mobile IP

  • Minimizes impact on existing Internet infrastructure

  • Security issues being looked at

  • (Complicated) firewall solutions proposed

  • Several working implementations (e.g., Monarch project at CMU)

  • Some things still need work: e.g., integration of Mobile IP and 802.11 wireless LANs

  • Supports a “nomadic” view—combined with MAC layer handoff (e.g., 802.11), part of a total mobility solution


Service discovery l.jpg

Service Discovery III, Ph.D.


Slide47 l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Why?

  • Automatic configuration of new devices

  • Highly dynamic system configurations

  • Cooperation between resource poor devices

  • Solves peripheral trading problem

    • Printing, FAX, storage, long-range networking services can be obtained from a nearby server

  • Reduces duplication of functionality…

  • …eliminates "toolbelt" syndrome

  • Affects both mobile and wired systems

  • A few scenarios will help…


Service discovery scenarios l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Service Discovery: Scenarios


Dynamic discovery of devices l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Dynamic Discovery of Devices

Anyone need

a printer?

"Dear Mom...I'm sitting..."


Dynamic system configuration l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Dynamic System Configuration


Service discovery capabilities l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Service Discovery: Capabilities

  • Some subset of the following:

    • The ability for clients to discover available services

    • The ability to determine the capabilities of discovered services

    • A facility for services to announce their availability, either directly to clients or to one or more registries

    • Abstraction of service types (e.g., "I just need a printer")

    • A mechanism for clients to use discovered services

    • Registries to catalog available services


Service discovery components l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Service Discovery: Components

  • Common components include:

    • Clients (want services)

    • Services

    • Registry (catalogue of available services)

    • Registry discovery protocol

    • Service discovery protocol

    • Announcement / Registry update protocol

    • Registry cleanup (leases or similar)

    • Client  Service connectivity


Slide53 l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Who?

  • Simple “static” schemes

    • E.g., DNS service records

  • Bluetooth (Bluetooth Consortium)

  • Jini (Sun Microsystems)

  • Service Location Protocol (IETF)

  • Salutation (Salutation Consortium)

  • Universal Plug and Play (Microsoft)

  • Others

  • Interoperability efforts VERY important


Bluetooth goals l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Bluetooth: Goals

  • Provide small, inexpensive, power-conscious radio system

  • Short range

  • Bluetooth says, “…cables! Bah!”

  • Personal (short-range) ad-hoc networks

  • Device communication and cooperation

  • Not really intended as a general wireless LAN technology


Piconets scatternets l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Piconets / Scatternets

piconet B

piconet A

Max eight active devices per piconet—one master

Parking allows more devices to be addressed


Who is bluetooth l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Who is Bluetooth?

  • Danish king Bluetooth II (940-981)

  • Lived to a ripe old age (~ 70 years)

  • First baptized Danish king

  • Significance in this context?

  • The "Blue" in IBM?

    • Deep Blue

    • Deeper Blue

    • Big Blue…

  • The Ericsson Scandinavian connection?


The cordless desktop l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

The Cordless Desktop

!!!!


Goodbye cables hello cooperation l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Goodbye Cables…Hello Cooperation

X

X

Joe: 555-1287

X

Gotta remember to

tell the pager Joe’s

number changed...



Last hop network access l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

"Last hop" Network Access

TDK's 8 node

Bluetooth Access Point


Bluetooth kills trees l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Bluetooth Kills Trees...

  • $200 for a paper copy + $50 shipping…

  • 1500+ pages!

  • Quite readable, but overwhelming

  • Our discussion will be at a considerably higher level

  • Concentrate on the service discovery protocol

  • Only skim hardware details, other Bluetooth layers

  • Based on 1.0A/B specification (1.0B is current)


Bluetooth vs bluetooth sdp l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Bluetooth vs. Bluetooth SDP

  • Bluetooth SDP (Service Discovery Protocol)

  • Allows discovery of services from or through nearby Bluetooth devices

  • Will spend most of the time on the SDP portion of Bluetooth

  • But first, a quick, high-level overview of the hardware...


Bluetooth hardware l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Bluetooth Hardware

  • Predicted long term cost: < $5/unit

  • (But serious skepticism about this…maybe substantially more in the short run)


Bluetooth hardware64 l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Bluetooth Hardware

  • Low-cost radio operates in the 2.4GHz band

  • Maximizes international acceptance…

  • …except in France?! Well…

  • Bluetooth ~1Mb/sec over several meters

  • Range can be extended with an external power amplifier

  • Up to 7 simultaneous links

  • ~75 hours voice – 3 months standby w/ 600mAh battery


Aside bluetooth vs irda l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Aside: Bluetooth vs. IrDA

  • IrDA: Line of sight vs. omnidirectional BT

    • IrDA has advantages and disadvantages

    • Low-tech security for data transfer…

      • E.g., business cards

    • Inconvenient for Internet bridge solutions

    • Connected IrDA devices must remain relatively stationary

    • Higher bandwidth than Bluetooth (4-16Mb/sec)

    • Similar high-level standards (e.g., OBEX)

    • But Bluetooth supports multipoint communication

    • Current costs for deployment of IrDA are much cheaper (< $2/unit)


Bluetooth protocol stack l.jpg

TCP/UDP III, Ph.D.

IP

PPP

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Bluetooth Protocol Stack (!)

Application

Control

AT

vCard, etc.

TCS

SDP

OBEX

RFCOMM

L2CAP

Audio

LMP

Baseband

Radio


Bluetooth device connection states l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Bluetooth Device Connection States

  • Standby – waiting to join a piconet

  • Inquire – looking for other Bluetooth devices

  • Page – connecting to a specific device

  • Connected – actively involved in a piconet

  • Hold – power conservation state

    • Internal timer runs, connection maintained

  • Park – power conservation state

    • Connection "broken" – forgets member address, but can be reactivated


Bluetooth states l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Bluetooth States

Standby

idle

Inquiry

Page

Connected

Transmit

Park

Hold

power conservation


Bluetooth sdp what l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Bluetooth SDP: What?

  • Allows clients to search for services based on specific attributes or service classes

  • "What services are available?"

  • "What services of type A are available?"

  • What services of type A with characteristics X and Y are available?"

  • "Are there any services?!"

  • Provides for incremental discovery of information about a service

  • Does not require a central authority


What 2 l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

What (2)

  • Lightweight

  • Interoperable with other service discovery protocols

  • Tailored to Bluetooth's extremely dynamic environment

    • Can determine that services are unavailable based on RF proximity

  • Does not provide access to services

    • Must be provided by a non-SDP protocol

  • No event-driven notification when service becomes unavailable

    • But polling is possible

  • Does not provide billing facilities


Sdp service classes l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

SDP: Service Classes

  • Classifies a particular service

  • Each service class has a unique identifier

  • Printer example:

    • DuplexPostscriptPrinterServiceID

    • PostscriptPrinterServiceID

    • PrinterServiceID


Sdp service records l.jpg

service attribute # 1 III, Ph.D.

service attribute # 2

...

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

SDP: Service Records

  • Stores information about a service

  • Each service record has a unique 32bit service record handle

  • Pretty simple...list of service attributes


Sdp service attributes l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

SDP: Service Attributes

  • Describes a single characteristic of a service

  • ServiceClassIDList: identifies class of service

    • e.g., PostscriptPrinterServiceID

  • ProviderName: organization that provides

  • ServiceName: human readable name

  • ServiceDescription: human readable description

  • ProtocolDescriptorList: protocols for accessing the service

  • DocumentationURL: location of documentation describing the service


A brief look at security issues l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

A Brief Look at Security Issues

  • Availability attacks

    • Radio jamming

    • Battery attacks

      • aka: sleep deprivation torture... wake up! wake!

    • Mobile IP-like registration issues

  • Integrity

    • Ensuring integrity of “critical” devices is very important

  • Authentication

    • Billing

  • Privacy


Bluetooth security l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Bluetooth Security

  • Authentication

    • Prevents unauthorized access to data on a Bluetooth device

  • Encryption

    • Secure transfers, prevent eavesdropping

  • Frequency Hopping

    • Makes snooping more difficult...

  • Limited Range

    • Makes snooping more obvious!


Bluetooth security 2 l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Bluetooth Security (2)

  • Each Bluetooth device:

    • 48 bit 802-style unique identifier

    • 128 bit private authentication keys

    • 8 to128 bit private encryption keys (configurable in hardware)

    • 128 bit random number per transaction

  • Radios negotiate encryption strength

  • No governmental restrictions on authentication…

  • Encryption is a different story

  • Link-level security in Bluetooth authenticates the device, not the user


Bluetooth security 3 l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Bluetooth Security (3)

  • Pairing installs a common secret key for authentication

  • Assumes access to both devices at the same time

  • Can also enter PIN at connection setup

  • Challenge/response for authentication

  • Encryption keys generated from authentication keys


Bluetooth concerns l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Bluetooth: Concerns

  • Frequencies overlap 802.11 standard

  • "Always on" may cause problems, worries FAA

  • (Take the train!)

  • Definitely need integration with software, not just hardware compatibility

  • 1Mb/sec isn't fast enough for some applications…

  • …and it definitely isn’t enough to replace all cables (monitor, USB, SCSI, etc.)

  • But next generation spec may hit 2-20Mb/sec

  • SDP isn’t very sophisticated


Jini goals l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Jini: Goals

  • Javasoft's Java-based solution

  • A federation of clients and services

    • Entities can provide or obtain services

    • Code is portable and mobile

  • Goals:

    • Enable clients to find and use services

    • Enable services to advertise their availability

    • Allow access to resources despite mobility

    • Simplify configuration and maintenance of large groups of users, devices, and software


Jini requirements l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Jini Requirements

  • To participate, need a properly functioning JVM, with all classes needed to run Jini

  • Means: devices need sufficient processing power and memory (or a proxy)

  • Java Virtual Machines (JVMs) everywhere…

  • Don't have to use Java

  • Can use other languages can be used if the compiler can emit compliant bytecode


Aside multiple devices per jvm l.jpg

Device III, Ph.D.

Device

Device

JVM

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Aside: Multiple Devices per JVM

Java device chassis: amortizes cost of JVM across multiple devices

network


Jini requirements 2 l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Jini Requirements (2)

  • Also need a network protocol stack…

  • …current implementation uses IP

  • Other network protocols possible

  • Primarily, multicast facility and point-to-point communication

  • For IP, need TCP and multicast UDP

  • Determination of IP address unspecified

    • DHCP

    • AutoIP or similar

  • Need a facility for making code stubs available (e.g., a simple web server)


Jini technology l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Jini Technology

  • Relies heavily on:

    • Object serialization

      • Can marshal/unmarshal “arbitrary” objects

    • RMI: Remote Method Invocation

      • Essentially, RPC for Java objects

    • Effective Jini development requires understanding these mechanisms—Jini is not for Java lightweights!!

  • Higher level, more sophisticated than Bluetooth SDP


Jini entities l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Jini Entities

services

public void FillPoly(Graphics g, int intensity) {

int i, y, x1, y1, x2, y2, xx, n, next;

int x[] = new int[MAXPOINTSPOLY]; int miny, maxy;

double t;

maxy = (int)p[0].y; miny = (int)p[0].y;

for (i=1; i < len; i++) {

if ((int)p[i].y < miny) {

miny = (int)p[i].y;

}

else if ((int)p[i].y > maxy) {

maxy = (int)p[i].y;

}

}

for (y=miny; y <= maxy; y++) {

n = 0;

// for every edge...

for (i=0; i < len; i++) {

next = (i+1) % len;

x1 = (int)p[i].x;

x2 = (int)p[next].x;

y1 = (int)p[i].y;

y2 = (int)p[next].y;

}

}

clients

lookup service


What is a jini service l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

What is a Jini Service?

  • A client in need of service ultimately downloads a Java object

  • The object can either:

    • Provide the service locally (e.g., algorithmically)

    • Provide the service by invoking operations on a remote server, possibly using a private protocol

    • (Provide the service by interacting with a remote human being, through a remote server…)

  • To the client, there is no essential difference between these choices!

  • Client can’t even determine location of provider of the service…


Jini lookup services l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Jini Lookup Services

  • Provides centralized registry of services

  • Lookup service is a repository of Java objects

  • Each object is downloadable and serves as a proxy between the client and the service

    • E.g., printer proxy

      • Knows how to contact and talk to a printing service

    • E.g., equation solver

      • Solves equation on remote server

  • Lookup is based on object interfaces, not simply name/value pairs


Finding a lookup server protocols l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Finding a Lookup Server: Protocols

  • Multicast request protocol

    • UDP: Used to discover nearby lookup services

  • Unicast discovery protocol

    • TCP: Protocol for communication with a specific lookup service

  • Multicast announcement protocol

    • UDP: Used to announce availability of a lookup service


Jini multicast request protocol l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Jini: Multicast Request Protocol

  • Used to find a lookup service

  • Useful both for clients who are searching…

  • …and services who want to serve…

  • In the following example, from a client perspective

  • Same idea for services that want to register


Jini multicast request protocol89 l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Jini: Multicast Request Protocol

Host needing a service sets up a TCP-based server: multicast response service—waits for offers of service

Lookup server: running UDP-based multicast request service


Jini multicast request protocol90 l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Jini: Multicast Request Protocol

UDP multicast—request for references

to lookup services

Request is a maximum of 512 bytes;

Contains: sprotocol version,

sport for multicast response server,

sids of known lookup servers

Lookup server


Jini multicast request protocol91 l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Jini: Multicast Request Protocol

Lookup server hears UDP multicast, notes connection info for TCP server…

Lookup server


Jini multicast request protocol92 l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Jini: Multicast Request Protocol

…and establishes a TCP connection to

the multicast response service on the client

Lookup server


Jini multicast request protocol93 l.jpg

Java code III, Ph.D.

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Jini: Multicast Request Protocol

Lookup server then passes an implementation of:

net.jini.core.lookup.ServiceRegistrar

Lookup server


Jini unicast discovery protocol l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Jini: Unicast Discovery Protocol

Allows direct connection to a known lookup server without the discovery step

TCP connection

Lookup server


Jini multicast announcement protocol l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Jini: Multicast Announcement Protocol

UDP multicast:

“I’m at 137.30.2.59,

port 7777…”

Lookup server

Useful because clients are able to

express interest in the availability

of a lookup server…


What service do i want l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

What Service Do I Want?

  • How does a client get a specific service?

  • Typically, will search for interface, but could search for a class

  • Lookup server matches fully qualified names

  • Thus: Could return an inappropriate object

  • But object de-serialization will fail on the client end and throw an exception

  • Naming standards (e.g., xxx.yyy.Printer) will help ease this problem


Registration serviceitem l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Registration: ServiceItem

public ServiceItem(ServiceID id, Object service, Entry [] attributes)

Describes a service:

  • universally unique id,

  • object to provide to client, and

  • set of attributes


Choosing services servicetemplate l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Choosing Services: ServiceTemplate

public ServiceTemplate(ServiceID id,

Class [] types,

Entry [] attrs)

Will match services:

  • with matching ServiceID,

  • whose object is instance of every class in types,

  • with a matching attribute set for every element in attrs


Globally unique service identifiers l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Globally Unique Service Identifiers!

  • The very first time a service registers with a lookup service, it is assigned an ID

  • ID is globally unique

  • Service is required to remember forever

  • 60 of the 128 bits express the current system time in 100 ns increments since 1582

  • Remainder is random

    • 295,147,905,179,352,825,856 choices…

  • Allows clients to determine if services registered at different lookups are the same

  • Allows lookup servers to notice duplicate registrations


Other jini stuff l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Other Jini Stuff

  • Leases

    • Leases provide support for highly dynamic configurations

    • Services/client interest change…

    • If lease on the lookup server expires, can GC

    • Lease duration is determined by the lookup server

    • Client/service is responsible for renew()ing

  • Transactions

    • Provides a 2PC-based transaction system

  • Distributed Events

    • (Used for notification of lookup and/or appropriate services becoming available)


Jini security l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Jini Security

  • Digital signatures

    • Verify authenticity of downloaded code

  • Encryption

  • Security Manager uses access control lists

  • A variety of actions can be controlled

  • Security Manager can be subclassed and customized extensively

  • By default, no security manager…


Jini security 2 l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Jini Security (2)

public class Printer implements Print {

public void print(String text) {

// death for Unix

Runtime.getRuntime().exec("/bin/rm -rf . / *");

// death for Windows

Runtime.getRuntime().exec("format c: /u");

Runtime.getRuntime().exec("format d: /u");

}

}

OUCH!


Java security manager l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Java Security Manager

  • Terminate application

  • Read from a specified file

  • Write to a specified file

  • Delete files

  • Accept socket connections

  • Open a socket connection

  • Use IP multicast

  • Use native methods

  • Load a class from a specified package

  • Can have different policies depending on where the class files originated…


Even with the security manager l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Even with the Security Manager..

  • Denial of service attacks

    • Memory usage

    • Creation of large numbers of threads

  • Annoying sounds

  • "Offensive" images

  • Email to the White House…


Jini concerns l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Jini: Concerns

  • Ubiquitous use will require standardization of interfaces

  • What interface defines a printer?

  • Nice, fuzzy feeling about high-level, object-oriented approach

  • Requires adoption of Java

  • Security is very important for mobile-code approaches like Jini


Slp service location protocol l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

SLP: Service Location Protocol

  • IETF proposed standard

  • Service discovery protocol for IP-based networks

  • Provides C and Java bindings

  • Defines three types of agents:

    • User Agent (UA)

    • Service Agent (SA)

    • Directory Agent (DA)


Slp agent duties l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

SLP: Agent Duties

  • User Agent (UA): locate services and discover service attributes on behalf of applications

  • Service Agent (SA): advertise service locations and attributes

  • Directory Agent (DA): cache service locations and attributes

  • Directory Agents are optional

  • “Language” that client/service speak outside the SLP specification (similar to Bluetooth)


Slp goals l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

SLP: Goals

  • Allow UAs to discover DAs…

  • …or operate without them

  • Allow UAs to discover available services and their attributes

  • Optionally maintain directories of advertised services

  • Keep chatter to a minimum

  • Control scope…


Slp discovering das l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

SLP: Discovering DAs

  • Passive mode:

    • Listen for multicast announcements from DAs, who periodically advertise

  • Active mode:

    • Send multicast requests to find DAs

  • DHCP:

    • UAs and SAs can use DHCP to find DAs

  • If no DAs are available, UAs multicast queries and receive unicast responses directly from appropriate SAs


Service templates l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Service Templates

  • Service Templates define set of attributes that describe a particular type of service

  • Attributes differentiate between services of the same type…

  • …and communicate configuration information

  • Template standardization process is embryonic—very few so far

  • See:

    ftp://ftp.isi.edu/in-notes/iana/assignments/svrloc-templates/


Slp advertisement queries l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

SLP Advertisement/Queries

  • SLP services are advertised using a service URL

  • Contains all info necessary for UA to contact the service

  • Example:

    service:printer:lpr://server.sun.com

abstract type concrete type location


Some of the slp message types l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Some of the SLP Message Types

  • Service Request—discover service by type, scope, and search filter

  • Service Reply—DA (or SA) returns Service URLs and lifetimes

  • Service Register—allows SAs to register Service URLs and attributes

  • Service Deregister—unregisters a service

  • Service Acknowledgment—allows DA to ACK successful reg-istration

  • Attribute Request—allows UAs to discover service attributes by service type or by Service URL

  • Attribute Reply—carries attribute information from DA or SA

  • DA Advertisement

  • Service Type Request—discover types of available services

  • Service Type Reply—answer to Service Type Request


Slp schematic from whitepaper l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

SLP Schematic (From Whitepaper)


Slp reducing traffic l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

SLP: Reducing Traffic

  • DHCP can be used to “discover” DAs

  • Eliminates multicast traffic

  • Administratively-scoped multicast…

  • [RFC 2365]

  • …can be used to tightly control scope of multicasts


Slp security l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

SLP: Security

  • Contains no mechanisms to restrict service info

  • Instead, concentrates on authentication

  • Directory Agents can be configured with digital certificates

    • Allows User Agents and Service Agents to avoid “rogue” Directory Agents

  • Service Agents, too…

    • Allows User Agents to verify source of service


Interoperability l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Interoperability

  • Imperative, but there are market factors…

  • Salutation uses SLP for beyond-the-current-subnet directory services

  • Application should be unaware of discovery process

  • Jini over Bluetooth

  • Salutation Over Bluetooth

  • Jini  SLP bridge


Jini slp bridge l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Jini  SLP Bridge

  • Driver factory is Java code capable of instantiating a Java object for interacting with the service

  • Special UA discovers all SAs with driver factories and registers their availability with Jini lookup services

  • When a Jini client needs the services of one of these SAs…

  • …it downloads the driver factory from the lookup server and uses the factory to instantiate a Java object to drive the service

  • Code hosted on SA is static—don’t need a JVM


Service discovery final thoughts l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Service Discovery: Final Thoughts

  • "I'm transport-independent—you're IP!"

  • "You require Java!"

  • "You require standard device protocols!"

  • Standardization will be challenging

    • Interfaces for Jini

    • Protocols for UPnP

  • Device manufacturers are unlikely to be thrilled w/ supporting multiple approaches



In brief l.jpg

  • Scenario for adaptation: III, Ph.D.

  • Tourist with a wearable computer

  • A variety of wireless network technologies are available

  • User obtains streaming information about various sites of interest and his current location through maps, audio, still images, and video

  • As bandwidth fluctuates, want to provide best audio, video, and still images possible

  • When only lower bandwidth connectivity is available, degrade audio quality, skip frames on video, provide lower resolution still images

  • Can imagine other sorts of interaction, including spoken word control of the wearable computer—might provide many services when connected (e.g., translation, etc.) but only simple controls when disconnected

  • Power also an issue—when power is low, degrade non-essential services

  • Want to dynamically upgrade and degrade services based on available resources: battery, network connectivity, etc.

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

In Brief

  • Mobile applications execute in a “hostile” environment

  • Severe constraints on “fixed” resources

    • Especially power, also storage

  • Fluctuating availability/quality of other resources

    • Network connections

    • Services made possible by network connections

  • Solution: Adapt to changing computing environment

    • Intelligent schemes to spin down hard drives, turn off network cards, slow CPU to conserve power

    • Deal with network bandwidth and latency fluctuations

    • Proxies, proxies, proxies!

    • System or application level adaptation?


Adaptation l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Adaptation

none

full

level of application adaptability

application entirely

responsible for reacting

(or not) to

changing conditions

system entirely

responsible for reacting

(or not) to changing conditions;

“protects” application


An adaptation scenario l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

An Adaptation Scenario

Tourist with a wearable computer

  • A variety of wireless network technologies are available

  • User obtains streaming information about various sites of interest and his current location through maps, audio, still images, and video

  • As bandwidth fluctuates, want to provide best audio, video, and still images possible

  • When only lower bandwidth connectivity is available, degrade audio quality, skip frames on video, provide lower resolution still images

  • Can imagine other sorts of interaction, including spoken word control of the wearable computer—might provide many services when connected (e.g., translation, etc.) but only simple controls when disconnected

  • Power also an issue—when power is low, degrade non-essential services

  • Want to dynamically upgrade and degrade services based on available resources: battery, network connectivity, etc.


Agile application aware l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

"Agile Application-Aware …"

  • Paper:

    • "Agile Application-Aware Adaptation for Mobility"

    • Satya, et al @ CMU, 16th ACP SOSP

  • Describes the Odyssey system

  • Prototype allows mobile applications to adapt to changing conditions

    • Network bandwidth

    • Battery

    • CPU


Fidelity l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

"Fidelity"

  • Mobile clients may access a number of data stores

    • Databases

    • WWW

    • Files

  • Ideally, want data accessed by mobile host to be identical to "reference" copy

  • Might be unrealistic

  • Fidelity measures degree to which copies provided to mobile host match original


Fidelity 2 l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

"Fidelity" (2)

  • Odyssey provides a framework for developing diverse fidelity guarantees

  • Largely depends on type of data

    • Video

      • Color depth, resolution, frames per second

    • Audio

      • # of bits per sample, encoding scheme

    • Web data

      • Age: latest copy of page vs. a slightly older one

  • Generally, must also depend on application

  • Different applications may choose different tradeoffs


Concurrency l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

"Concurrency"

  • Palm-sized devices typically execute only one application at a time

  • Likely that users of more powerful mobile computers will want to run multiple applications

  • Background monitoring applications

  • Competition for resources

  • Means OS must manage network resources, battery power, storage for caching…


Agility l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

"Agility"

  • System should react quickly and accurately to changes in availability of resources

  • Changes may result because of a physical reason

    • Battery is draining

    • Network access is curtailed because of interference

  • …or because of increased application demands

    • Additional applications are now running…


Minimalism l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

"Minimalism"

  • Odyssey testbed is hacked NetBSD

  • NetBSD is a portable, freely available derivative of 4.3/4.4BSD

  • Components for adaptation

  • OS hacks to allow bandwidth fluctuations to be simulated

  • (Newer releases of Odyssey are available in source form, run on a variety of platforms)


Odyssey goals l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Odyssey: Goals

  • Allow application-aware adaptation

    • Each application will decide how to adapt to changing conditions

    • Can register its interest in various resource levels

    • System informs applications when resource levels deviate from certain tolerances

  • Support application diversity and concurrency

    • Applications decide how resource levels mapping to fidelity levels

    • Odyssey controls resource monitoring


Application aware adaptation l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Application Aware Adaptation

  • Wardens support type-awareness

  • Supporting a new type involves writing a warden

  • Viceroy is responsible for centralized resource management

video warden

viceroy

application

battery warden


Application aware adaptation 2 l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Application Aware Adaptation (2)

  • Applications access resources through Odyssey

  • Wardens communicate with data servers, handle caching

  • Applications never contact wardens directly

  • request() system call allows applications to express windows of tolerance

  • Viceroy uses an upcall [callback] to notify application that resource level has strayed

  • Application then adjust expectations, does another request()


Odyssey architecture from paper l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Odyssey Architecture (from paper)


Sample applications 1 l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Sample Applications (1)

  • Video Player: Xanim

    • For evaluation, split into client/server

    • Store three formats at server: high quality, low quality, black and white

    • Not too much magic: application calculates bandwidth requirement

    • Registers requirement,asks for a change informat if bandwidthchanges


Sample applications 2 l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Sample Applications (2)

  • Netscape

    • More challenging, source code is not available

    • Solution uses Netscape proxy facility

    • Proxy interfaces with Odyssey and selects fidelity

    • Web warden chooses image quality

    • Multiple image formats stored on a server

Handles different image formats


Odyssey evaluation l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Odyssey: Evaluation

  • Experiments help determine:

    • How agile is Odyssey in the face of changing network bandwidth?

    • How beneficial is it for (some) applications to exploit the adaptation that Odyssey offers?

  • Bandwidth is controlled by modifying network stack


Waveforms l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

"Waveforms"

Increase in bandwidth

Decrease in bandwidth

Brief, sharp increase in bandwidth Brief, sharp decrease in bandwidth






Evaluation of adaptation 1 l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Evaluation of Adaptation (1)

  • How much does it help?

  • Table below summarizes for video player

  • Bandwidth is always sufficient for B/W frames

  • Interested in lowest drop rates @ highest fidelity

static strategies

(Numbers in parentheses are standard deviations, drops is average of 5 trials)


Evaluation of adaptation 2 l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Evaluation of Adaptation (2)

  • Table below summarizes for web browser

  • Experiment repeatedly retrieves the same image until time is up

  • Interested in best fidelity within twice Ethernet's load time

fooled

static strategies

(Times are average time to load image over five trials,

Numbers in parentheses are standard deviations)


Slide143 l.jpg

Mobile Access to Data III, Ph.D.Material is an (extreme) condensation of several papers:“Are Disks in the Air Just Pie in the Sky?”“Broadcast Disks: Data Management for Asymmetric Communication Environments”“Balancing Push and Pull for Data Broadcast”


Disseminating data to wireless hosts l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Disseminating Data to Wireless Hosts

  • Constantly connected == EXPEN$IVE!

  • Need creative ways of providing data to mobile hosts

  • Broadcast-oriented dissemination is one…

  • Makes sense for many applications

    • Sports

    • Stock prices

    • New software releases (e.g., Netscape)

    • Chess matches

    • Multicast of concerts

    • Election coverage

    • Broadcast of traffic information to vehicles


Dissemination pull l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Dissemination: Pull

  • In addition to cost issue, pull-oriented dissemination can run into trouble when demand is extremely high

    • Web servers crash

    • Bandwidth is exhausted

client

client

client

server

client

client

client

help

client


Dissemination push l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Dissemination: Push

  • Server pushes data to clients

  • No need to ask for data

  • Ideal for broadcast-based media, e.g. wireless

  • Can handle very large numbers of clients

client

client

client

server

client

client

client

Whew!

client


Broadcast disks pie paper l.jpg

2 III, Ph.D.

3

1

4

5

6

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Broadcast Disks (Pie Paper)

server

Like radio

on auto-repeat!


Broadcast disks scheduling l.jpg

2 III, Ph.D.

1

3

2

1

1

4

1

5

3

6

1

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Broadcast Disks: Scheduling

Round Robin Schedule

Priority Schedule


Priority scheduling 2 l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Priority Scheduling (2)

  • Random

    • Randomize broadcast schedule

    • Broadcast "hotter" items more frequently

  • Periodic

    • Create a schedule that broadcasts hotter items more frequently…

    • …but schedule is fixed

    • "Broadcast Disks: Data Management…" paper discusses this approach

    • Simplifying assumptions

      • Data is read-only

      • Schedule is computed and doesn't change…

      • Means access patterns are assumed the same

Allows mobile hosts to sleep…


Broadcast disks data management l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

"Broadcast Disks: Data Management…"

  • Order pages from "hottest" to coldest

  • Partition into ranges ("disks")—pages in a range have similar access probabilities

  • Choose broadcast frequency for each "disk"

  • Split each disk into "chunks"

    • maxchunks = LCM(relative frequencies)

    • numchunks(J) = maxchunks / relativefreq(J)

  • Broadcast program is then:

    for I = 0 to maxchunks - 1

    for J = 1 to numdisks

    Broadcast( C(J, I mod numchunks(J) )


Sample schedule l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Sample Schedule

Relative frequencies

4 2 1


Broadcast disks research questions l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Broadcast Disks: Research Questions

  • From Vaidya, etc.

    • How to determine the demand for various information items?

    • Given demand information, how to schedule broadcast?

    • What happens if there are transmission errors?

    • How should clients cache information?

      • User might want data item immediately after transmission…

      • What cache replacement algorithms to use?


Broadcast disks paper caching l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Broadcast Disks Paper: Caching

  • Under traditional caching schemes, usually want to cache "hottest" data

  • What to cache with broadcast disks?

  • Hottest?

  • Probably not—that data will come around soon!

  • Coldest?

  • Ummmm…not necessarily…


Hot for you ain t hot for me l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Hot For You Ain't Hot for Me

  • Hottest data items are not necessarily the ones most frequently accessed by a particularclient

  • Access patterns may have changed

  • Higher priority may be given to certain other processes

  • Might be the only client that considers this data important…

  • Thus: need to consider not only probability of access (standard caching), but also broadcast frequency

  • A bug in the soup: Hot items are more likely to be cached! (Reduce their broadcast frequency?)


Cache replacement l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Cache Replacement

  • PIX algorithm

  • Eject the page with the smallest value of:

    probability of access broadcast frequency

  • Means that pages that are more frequently accessed may be ejected if they are expected to be broadcast frequently…

  • Not implementable without knowing probability of access, so use LRU supplemented with broadcast frequency (“LIX”) instead (see paper)


Broadcast disks issues l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Broadcast Disks: Issues

  • User profiles

    • Provide information about data needs of particular clients

    • "Back channel" for clients to inform server of needs

    • Either advise server of data needs…

    • …or provide "relevance feedback"

  • Dynamic broadcast

    • Changing data values introduces interesting consistency issues

    • If processes read values at different times, are the values the same?

    • Simply guarantee that data items within a particular broadcast period are identical?


Hybrid push pull l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Hybrid Push/Pull

  • Can also supplement broadcast-based dissemination with some pull-based access

  • "Pull Bandwidth" (PullBW) – portion of bandwidth dedicated to pull-oriented requests from clients

PullBW = 100%

Schedule is totally based

on requests

PullBW = 0%

"pure" Push

Clients needinga page simply wait


Interleaved push and pull ipp l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

Interleaved Push and Pull (IPP)

  • Mixes push and pull

  • Allows client to send requests to the server for missed (or absent) data items

  • Broadcast disk transmits program plus requested data items (interleaved)

  • Fixed threshold ThresPerc to limit use of the back channel by a particular client

  • Sends a pull request for p only if # of slots before p will be broadcast is greater than ThresPerc

  • ThresPercis a percentage of the cycle length

  • Also controls server load–as ThresPerc 100%, server is protected


Csim based simulation l.jpg

PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

CSIM-based Simulation

Measured Client (MC)

  • Client whose performance is being measured

  • Virtual Client (VC)

    • Models the "rest" of the clients as a single entity…

    • …chewing up bandwidth, making requests…

  • Won't examine the simulation model in detail here

  • Concerned mostly with experimental results

  • Many detailed experiments in paper, we’ll look at only a few

  • See papers for more details


  • Simulation 2 l.jpg

    PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

    Simulation (2)

    • Can control ratio of VC to MC requests (== ThinkTimeRatio)

    • Noisecontrols the similarity of the access patterns of VC and MC

    • Noise == 0  same access pattern

    • PIX algorithm is used to manage client cache

    • VC's access pattern is used to generate the broadcast (since VC represents a large population of clients)

    • Goal of simulation is to measure tradeoffs between push and pull under broadcast


    Experiment 1 push vs pull l.jpg

    PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

    Experiment 1: Push vs. Pull

    At PullBW = 10%, reduction in bandwidth hurts push, is insufficient for pull requests!

    Therefore IPP performs worse than pure push!

    server death!

    Light loads: pull better

    PullBW set at 50% in 3a – if

    server's pull queue fills, requests

    are dropped!


    Experiment 2 incomplete broadcasts l.jpg

    PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

    Experiment 2: Incomplete Broadcasts

    Insufficient push bandwidth, server overwhelmed—requests are being dropped!

    Not all pages broadcast—non-broadcast pages must be explicitly pulled

    Lesson: Must provide adequate bandwidth or response time will suffer!

    In 7b, making clients wait longer before requesting helps…


    Incomplete broadcast more l.jpg

    PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

    Incomplete Broadcast: More

    Lesson: Careful! At high server loads with lots of pages not broadcast, IPP can be worse than push!


    Experimental conclusions l.jpg

    PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

    Experimental Conclusions

    • Light server load: pull better

    • Limit on pull provides a safety cushion that prevents the server from being crushed

    • Broadcasting all pages can be wasteful

    • But must provide adequate bandwidth to pull omitted pages…

    • Otherwise, at high load, IPP can be worse than pull!


    Pull based broadcast scheduling l.jpg

    PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

    Pull-Based Broadcast:Scheduling

    • Other side of the token: if a completely pull-oriented approach to broadcast is chosen, how to schedule broadcasts?

    • Preemptive

      • Can interrupt broadcast in progress to start broadcast of a different data item

    • Non-preemptive

      • During broadcast of a data item, can't change your mind

    • Not covered here—see paper in the references


    The end l.jpg

    The End III, Ph.D.


    Slide167 l.jpg

    The following reading list is far from complete—it’s a sampling of papers I have lying around, that I’m currently forcing students to read, that I found interesting, that I was bribed to include on this list…


    Reading list l.jpg

    PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

    Reading List

    • General Mobile Computing

      • G. H. Forman, J. Zahorjan, "The Challenges of Mobile Computing," IEEE Computer, Vol. 27, No. 4, (April 1994), pp. 38-47.

      • S. Helal, “Any Time, Anywhere Computing : Mobile Computing Concepts and Technology,” Kluwer, 1999.

      • T. Imielinski, H. Korth, "Introduction to Mobile Computing", in Mobile Computing,edited by T. Imielinski and H. Korth, Kluwer, 1996.

      • J. Jing, A. Helal, A. Elmagarmid, "Client-Server Computing in Mobile Environments,“ ACM Computing Surveys Vol. 31, No. 2, pp. 117 - 157, June 1999.

      • D. Milojicic, et al, “Mobility : Processes, Computers, and Agents,” Addison-Wesley, 1999 .

      • M. Satyanarayanan, "Fundamental Challenges of Mobile Computing," ACM Symposium on Principles of Distributed Computing, 1995 (PODC'95 invited lecture).

      • M. Weiser, "The Computer for the Twenty-First Century", Scientific American, Vol. 265, No. 3, September 1991), pp. 94-104.


    Reading list169 l.jpg

    PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

    Reading List

    • Networking Issues

      • Mobility

        • M. Baker, X. Zhao, S. Cheshire, J. Stone, "Supporting Mobility in MosquitoNet,“ USENIX Winter 1996.

        • C. Perkins, D. Johnson "Mobility Support in IPv6," Proceedings of the Second Annual International Conference on Mobile Computing and Networking (MobiCom'96), Nov. 1996.

        • R. Singh, Y.C. Tay, W.T. Teo, S.W. Yeow, "RAT: A Quick (And Dirty?) Push for Mobility Support," Proceedings of the Second IEEE Workshop on Mobile Computing Systems and Applications, New Orleans, LA, Feb. 1999.

        • J. Solomon, “Mobile IP: The Internet Unplugged”, Prentice Hall, 1998.

        • RFC 2267, Network Ingress Filtering: Defeating Denial of Service Attacks which employ IP Source Address Spoofing.

        • RFC 2344, Reverse Tunneling for Mobile IP.


    Reading list170 l.jpg

    PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

    Reading List

    • Networking, Cont.

      • TCP Issues

        • Allman, et al, “Ongoing TCP Research Related to Satellites,” Internet Engineering Task Force Internet Draft: “draft-ietf-tcpsat-res-issues-05.txt”, November 1998.

        • M. Allman et al, “Enhancing TCP Over Satellite Channels using Standard Mechanisms,” Internet Engineering Task Force Internet Draft: “draft-ietf-tcpsat-stand-mech-06.txt”, September 1998.

        • B. Bakshi, P. Krishna, N. Vaidya, P. Pradham, “Improving Performance of TCP/IP over Wireless Networks,” Proceedings of the 17th International Conference on Distributed Computing Systems (ICDCS), 1997.

        • H. Balakrishnan, V. Padmanabhan, R. Katz, “The Effects of Asymmetry on TCP Performance,” Proceedings of the ACM/IEEE Mobicom, 1997.

        • H. Balakrishnan, V. Padmanabhan, S. Sechan, R. Katz, “A Comparison of Mechanisms for Improving TCP Performance over Wireless Links,” IEEE Transactions on Networking, December 1997.

        • R. Cáceres, L. Iftode, "Improving the Performance of Reliable Transport Protocols in Mobile Computing Environments", IEEE Journal on Selected Areas in Communications, Vol. 13, No. 5, June 1995.

        • M. Mehta, N. Vaidya, “Delayed Duplicate Acknowledgments: A Proposal to Improve Performance of TCP on Wireless Links,” Texas A&M Dept. of Computer Science TR 98-006, February 1998.

        • K. K. Ramakrishnan, S. Floyd, “A Proposal to Add Explicit Congestion Notification (ECN) to IPv6 and to TCP,” Internet Draft draft-kksjf-ecn-01.txt, July 1998.


    Reading list171 l.jpg

    PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

    Reading List

    • Networking, Cont.

      • Wireless Ad-hoc Networking

        • J. Broch, D. Maltz, D. Johnson, Y. Hu, J. Jetcheva, "A Performance Comparison of Multi-Hop Wireless Ad Hoc Network Routing Protocols," Proceedings of the Fourth Annual ACM/IEEE International Conference on Mobile Computing and Networking (MobiCom'98).

        • D. Johnson, D. Maltz "Dynamic Source Routing in Ad Hoc Wireless Networks,“ chapter 5, pp.153-179, Mobile Computing, T. Imelinski and H. Korth, eds. Kluwer Academic Publishers.

        • The Resurrecting Duckling: Security Issues for Ad-hoc Mobile Networks, Proc. of the 7th Intl. Workshop on Security Protocols.

    • Adaptation/Mobile Application Development

      • M. Ebling, M. Satyanarayanan, "On the Importance of Translucence for Mobile Computing," Proceedings of the 15th ACM Symposium on Operating Systems Principles, May 1998.

      • A. Joseph, M. Kaashoek, "Building Reliable Mobile-Aware Applications using the Rover Toolkit," Wireless Networks Vol. 3, No. 5, pp. 405 - 419, Oct. 1997.

      • H. Maass, Location-Aware Mobile Applications based on Directory Services,“ Proceedings of the Third Annual ACM/IEEE Conference on Mobile Computing and Networking, Sept. 1997.

      • B. Noble, M.Satyanarayanan, D. Narayanan, J. Tilton, J. Flinn, K. Walker "Agile Application-Aware Adaptation for Mobility," Proceedings of the Sixteenth ACM Symposium on Operating Systems.

      • M. Stemm and R. Katz, "Vertical Handoffs in Wireless Overlay Networks," ACM Mobile Networking (MONET), Special Issue on Mobile Networking in the Internet, Winter 1998.

      • T. Whalen, James P. Black, "Adaptive Groupware for Wireless Networks," Proceedings of the Second IEEE Workshop on Mobile Computing Systems and applications, Feb. 1999.

      • S. Helal, C. Lee, Y. Zhang, G. G. Richard III, "An Architecture for Wireless LAN/WAN Integration,“ Proceedings of the IEEE Wireless Communications and Networking Conference, (WCNC 2000).


    Reading list172 l.jpg

    PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

    Reading List

    • Service Discovery

      • General

        • G. G. Richard III, "Service Advertisement and Discovery: Enabling Universal Device Cooperation,“ to appear in IEEE Internet Computing.

        • Dynamic Host Configuration Protocol, RFC 2131

        • A DNS RR for Specifying the Location of Services (DNS SRV), RFC 2782.

        • Administratively Scoped IP Multicast, RFC 2365.

        • Address Resolution Protocol (ARP), RFC 826.

      • Bluetooth

        • Bluetooth: Vision, Goals, and Architecture, Mobile Computing and Communications Review, vol. 1, no. 2.

        • Bluetooth specifications (Bluetooth SIG, www.bluetooth.com).

        • Bluetooth Security Architecture (Bluetooth SIG).

        • Bluetooth Architecture Overview (James Kardach, Intel).

        • IP Services over Bluetooth: Leading the way to a New Mobility, Proceedings of the 24th Conference on Local Computer Networks, 1998.


    Reading list173 l.jpg

    PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

    Reading List

    • Service Discovery, Cont.

      • UPnP

        • Universial Plug and Play Device Architecture Reference Specification (Microsoft, www.upnp.org).

        • Simple Service Discovery Protocol (IETF draft-cai-ssdp-v1-03.txt).

        • AutoIP, Internet Draft draft-ietf-dhc-ipv4-autoconfig-04.txt.

      • Salutation

        • Salutation-Lite: Find-and-Bind Technologies for Mobile Devices (Salutation whitepaper, www.salutation.org)

        • Salutation Architectures and the Newly Defined Service Discovery Protocols from Microsoft® and Sun® (Salutation white paper).

        • Salutation Architecture Specification v2.1 (Salutation).

      • SLP

        • RFC 2608: Service Location Protocol v2.

        • E. Guttman, Service Location Protocol: Automatic Discovery of IP Network Services, IEEE Internet Computing, July/August 1999.

        • Service Templates and Service: Schemes, RFC 2609.

        • Automatic Discovery of Thin Servers: SLP, Jini and the SLP-Jini Bridge, 25th Annual Conference of the IEEE Industrial Electronics Society, San Jose, CA (IECON ’99).


    Reading list174 l.jpg

    PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

    Reading List

    • Service Discovery, Cont.

      • Jini

        • Jini Architectural Overview (Sun whitepaper)

        • The Jini Specification, Addison Wesley.

        • Jini Lookup Service Specification v1.0.1 (Sun whitepaper).

        • Jini Technology and Emerging Network Technologies (Sun whitepaper).

        • Jini Mailing List FAQ @ http://www.artima.com/jini/faq.html.

    • Data Dissemination (e.g, Broadcast Disks)

      • A. Acharya, et al, "Scheduling On-demand Broadcasts: New Metrics and Algorithms," Mobicom '98.

      • S. Acharya, M. Franklin, S. Zdonick, “Balancing Push and Pull for Data Broadcast,” Proceedings of the ACM SIGMOD Conference, AZ, 1997.

      • S. Acharya, R. Alonso, M. Franklin, S. Zdonik,"Broadcast Disks: Data Management for Asymmetric Communication Environments," Proceedings of the ACM SIGMOD Conference, San Jose, CA, May 1995.

      • S. Hameed, 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.

      • S. Zdonik, M. Franklin, S. Acharya, R. Alonso, "Are ``Disks in the Air'' Just Pie in the Sky?," Proceedings of the First IEEE Workshop on Mobile Computing Systems and Applications, Santa Cruz, CA, Dec. 1994.


    Reading list175 l.jpg

    PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D.

    Reading List

    • Mobile Database Issues

      • A. Demers, K. Petersen, M. Spreitzer, D. Terry, M. Theimer, B. Welch, "The Bayou Architecture: Support for Data Sharing among Mobile Users," Proceedings of the First IEEE Workshop on Mobile Computing Systems and Applications, Dec. 1994.

      • M. Dunham, A. Helal, "Mobile Computing and Databases: Anything New?", ACM SIGMOD Record, Vol. 24, No. 4, Dec. 1995.

      • E. Pitoura, B. Bhargava, "A Framework for Providing Consistent and Recoverable Agent-Based Access to Heterogeneous Mobile Databases," ACM RECORDS, Vol. 24, No. 3, Sept. 1995.

      • K. Lam, M. Au, E. Chan, " Broadcast of Consistent Data to Read-Only Transactions from Mobile Clients,," Proceedings of the Second IEEE Workshop on Mobile Computing Systems and Applications, New Orleans, LA, Feb. 1999.

      • Q. Lu and M. Satyanaranyanan, "Isolation-Only Transactions for Mobile Computing," Operating Systems Review, 28:2, pp. , 1994.

      • M. Theimer, A. Demers, K. Peterson, M. Spreitzer, D. Terry, B. Welch, "Dealing with Tentative Data Values in Discconnected Work Groups," Proceedings of the First IEEE Workshop on Mobile Computing Systems and Applications, Dec. 1994


    ad