Architecture Overview
Download
Report
Transcript Architecture Overview
Communication Topics
Jason
Hill – [email protected]
http://www.cs.berkeley.edu/~jhill/cs294-8/MiniRetreat.ppt
High Level Communication
Goals
Support low power network devices
Give intermittently connected devices the
illusion and appearance of continuous IP
connectivity
Make scalability independent of end device
Allow application to manage
availability/consistency tradeoffs
Mask device mobility from services &
applications
Provide application interface to low level
network information (location)
How?
Push
as much of the complexity as
possible into the infrastructure
Assume
compute cycles and network
bandwidth are free once you get to the
wired world
Quick look at existing wireless
systems
GSM
Mobitex
CDPD
GSM Overview….
Mobility achieved through the use of the
Home Location Register (HLR) and the Visitor
Location Register (VLR).
Mobitex Architecture
Used by Palm VII
Packet Switched
Guaranteed message delivery (Message
Queues)
http://www.ericsson.se/wireless
CDPD – “Wireless IP”
Uses Analog
Cellular System
19.2 kbps data w/ 128 bit encryption
Sends small data packets over unused
voice channels
“Mobile data intermediate systems”
route packets
Fixed “address”
Possible Architecture
Traditional Clients/Services
IP
Device Proxies
Infrastructure Based Services
Delivery Q’s
Base Stations
Portable Devices
Device Properties
Uniquely identifiable
Bootstrap to nearest Access Point
Not directly addressable
AP’s can provide them temporary names
(proximity based naming)
Must phone home to inform proxy of temp. name
Special client of proxy push/pull data to/from
proxy
Access Points/Base Station
Properties
Permanently
Connected
Globally Addressable via IP
Provides
Queues
route to “local” devices
Data for recently seen devices
Informs device proxies of “local” devices
that it is in communication with
Proxy Service Properties
Easy to find (immobile)
Always available
Has approximation of device state
What is the consistency policy?
Locatable by both devices and services
Handles all requests to and from mobile
devices – provides scalability
Can learn temporary route to portable
devices
Optimizations….
Ninja
style code migration allows layers
to collapse as an optimization
Higher power devices can take on
additional functionality
Complex base stations can perform
protocol translations for clients
Device communication can avoid
going to proxies
Optimization for data flowing
from the device…
Forward by any base station that hears clear
transmission – minimize retransmissions at
expense of wired bandwidth
Duplicates removed by proxy
If all 5 clients try to transmit, 4 would get
through
Data flowing to the device…
Base
stations uses wired network to
orchestrate communication
Base stations learn which other base
stations they conflict with for a given
client
Primary base station transmits to client
but neighboring base stations also
queue data in case client moves into
their area
Last link communication
options
option is use RF Monolithics – Low
Power/Cost
Device to AP protocol should not
determine lowest power consumption of
devices (i.e. Require device to be active
minimum amount of time.)
Are there any standard protocols we
could use?
One
Issues…
What is the internal structure of a device
proxy?
How inter-related are the designs for the
proxies, mobility support, and last link
communication protocols?
Could a device proxy be built on top of
CDMA/Mobitex providing continuous IP
connectivity?
Naming & Name Discovery
Both proxy names and temp. names
Is this a big naming problem?
Resolution
and assignment of proximity
based names
Querying of proximity based name
space?
Strengths…
Complex Device drivers are pushed into the
infrastructure where they are easy to write,
debug, & upgrade
Devices can be composed by the
infrastructure (Speaker + Camera + Display
Video Conference Device)
Allow small devices to reliably service many
clients (device proxies/surrogates)
Heterogeneity can be masked by software
adapters
Infrastructure Based
Communication Protocols
Support
mobility in a transparent way
Provide tiny devices the illusion of IP
connectivity
Make brief periods of disconnection
invisible to the “real world”
Buffer
Attempt
and Cache information for clients
to optimize delivery overhead