Download presentation
Presentation is loading. Please wait.
Published byBetty Mills Modified over 8 years ago
1
March/2001Distributed Computing With Small Mobile Wireless Devices1 Rochester Institute of Technology Distributed Computing with Small Mobile Wireless Devices Alan Kaminsky/Hans-Peter Bischof Information Technology Laboratory/CS Department Rochester Institute of Technology ark @ it.rit.edu/hpb @ cs.rit.edu
2
March/2001Distributed Computing With Small Mobile Wireless Devices2 The Problem and the Opportunity The Anhinga Project Part 1: Distributed Services Part 2: Distributed Collaboration First Steps
3
March/2001Distributed Computing With Small Mobile Wireless Devices3 The Changing Computing Milieu (1) Yesterday/Today: large sessile wired hosts
4
March/2001Distributed Computing With Small Mobile Wireless Devices4 The Changing Computing Milieu (2) Tomorrow: small mobile wireless devices Bluetooth™ is a trademark of Telefonaktiebolaget LM Ericsson.
5
March/2001Distributed Computing With Small Mobile Wireless Devices5 Device Characteristics Compared to standard PCs/workstations, small mobile wireless devices have... – Slower CPUs – Smaller memories – Slower network connections – Limited input/output capabilities – Heterogeneous operating environments – Transitory interconnections Huge applications won’t work Distributed applications are needed
6
March/2001Distributed Computing With Small Mobile Wireless Devices6 Infrastructure Barriers The sessile infrastructure: – Server machines, client machines, wired network – Client-server architectures – Mobile device = just another client machine The problem: – Servers crash, networks go down – Mobile devices go where there’s no wireless access The opportunity: – Ad-hoc networks solely of mobile devices – Peer-to-peer architectures with mobile devices – “No Sessile Infrastructure”
7
March/2001Distributed Computing With Small Mobile Wireless Devices7 Wireless Personal Area Networks The “Personal Bubble” 10 meters
8
March/2001Distributed Computing With Small Mobile Wireless Devices8 Missing Technology Low-level technology: present – Wireless local area networks IEEE 802.11 (Wireless Ethernet), Bluetooth – Java: write once run anywhere – Java 2 Micro Edition (J2ME) High-level technology: not there yet – Mobile device network routing protocols: not finished IETF’s MobileIP, MANET – Distributed middleware standards: too big CORBA, Jini Network Technology There is a lack of distributed middleware designed specifically for ad-hoc networks of mobile devices
9
March/2001Distributed Computing With Small Mobile Wireless Devices9 The Anhinga Project
10
March/2001Distributed Computing With Small Mobile Wireless Devices10 Purpose and Goals Purpose – “Develop an infrastructure for distributed communication and collaboration using small mobile wireless devices, thus realizing such devices’ latent potential for building ad-hoc peer-to-peer distributed applications.” Goals – Distributed services infrastructure – Distributed communication & collaboration infrastructure – Proof-of-concept applications Device-to-device instant messaging Device-to-device collaborative groupware Use of Anhinga/Java Space
11
March/2001Distributed Computing With Small Mobile Wireless Devices11 What’s an Anhinga? Photograph courtesy Philip Greenspun http://www.photo.net/philg/
12
March/2001Distributed Computing With Small Mobile Wireless Devices12 Part 1: Distributed Services
13
March/2001Distributed Computing With Small Mobile Wireless Devices13 Federated Service Architectures Hardware? Software? Service Everything is a service – Printer Print service – Scanner, Camera Image capture service – CPU Server CPU service – E-mail E-mail service Federated services – Dynamic discovery – Ad hoc connections Limited CPU power, memory, bandwidth No sessile infrastructure
14
March/2001Distributed Computing With Small Mobile Wireless Devices14 Java Write once, run anywhere Supported on small mobile wireless devices Remote method invocation (RMI) Moveable objects — state & behavior – MarshalledObject = serialized state + codebase URL Ideal for programming a heterogenous collection of devices Java™ is a trademark of Sun Microsystems.
15
March/2001Distributed Computing With Small Mobile Wireless Devices15 Jini Network Technology Infrastructure for a federated service architecture Service interfaces — to define services Service proxy objects — to use services Lookup Service — to find services Discovery protocol — to find the Lookup Service Join process — to register services Jini™ is a trademark of Sun Microsystems.
16
March/2001Distributed Computing With Small Mobile Wireless Devices16 Java and the Device Space Great Big Java – Java 2 Standard Edition (J2SE) Middle Sized Java – Java 2 Micro Edition (J2ME) Connected Device Configuration (CDC) Wee Little Java – Java 2 Micro Edition (J2ME) Connected Limited Device Configuration (CLDC)
17
March/2001Distributed Computing With Small Mobile Wireless Devices17 Edition Configu- rationProfileVMROMRAMTypical Use J2MECLDCMIDP*KVM136K32KCellphones, pagers, PIMs J2MECLDCPDA ProfileKVM512KHandheld personal digital assistants J2MECDCFoundation Profile CVM1.0M128KNetworked devices J2MECDCPersonal Profile CVM2.5M1.0MSet-top boxes, web appliances J2MECDCRMI ProfileCVM2.5M1.0MJini capable devices J2SE——JVM—LotsDesktop applications J2ME Profiles *Mobile Information Device Profile
18
March/2001Distributed Computing With Small Mobile Wireless Devices18 Jini Runs Here Jini ClientJini Service J2SE J2ME CDC
19
March/2001Distributed Computing With Small Mobile Wireless Devices19 Jini Doesn’t Run Here Jini ClientJini Service J2SEJ2ME CLDC
20
March/2001Distributed Computing With Small Mobile Wireless Devices20 Why Jini Doesn’t Run There J2ME CLDC lacks... – Security manager – User-defined classloaders – Reflection – Object serialization – Marshalled objects... therefore cannot access the Lookup Service It also lacks Remote Method Invocation (RMI)
21
March/2001Distributed Computing With Small Mobile Wireless Devices21 Getting Jini to Run There (1) Jini Surrogate Project Jini WirelessDevice Project “No Sessile Infrastructure” PC/Workstation Camera Cellphone
22
March/2001Distributed Computing With Small Mobile Wireless Devices22 Getting Jini to Run There (2) Anhinga Project CameraCellphone Wireless
23
March/2001Distributed Computing With Small Mobile Wireless Devices23 Anhinga Project Part 1 Tasks Develop extensions to J2ME CLDC – Lightweight classloading, security, serialization, RMI – Support for mobile objects in limited device memory – Bluetooth support Develop Jini Mobile Edition (JiniME) – Variation of Jini for J2ME CLDC devices – Service discovery with self-hosted Lookup Services – Bridge to a sessile Jini federation Environment – Linux PDAs with Bluetooth modules – Palm PDAs with Bluetooth modules
24
March/2001Distributed Computing With Small Mobile Wireless Devices24 Anhinga Project Part 1 Results JiniME Federation JiniME Bridge Jini Federation
25
March/2001Distributed Computing With Small Mobile Wireless Devices25 Part 2: Distributed Collaboration
26
March/2001Distributed Computing With Small Mobile Wireless Devices26 Communication Patterns Service interactions – One-to-one Collaborative applications – Many-to-many (M2M)
27
March/2001Distributed Computing With Small Mobile Wireless Devices27 Network Protocols TCP/IP was designed for one-to-one communication between distant sessile hosts IP multicasting was designed for one-to-many communication The IETF is trying to shoehorn mobile devices into a sessile mold – MobileIP: Make IP addresses work for mobile devices – MANET: Make IP routing work for ad-hoc networks Need new protocols specifically designed for M2M communication in ad-hoc networks of proximal mobile devices
28
March/2001Distributed Computing With Small Mobile Wireless Devices28 Distributed Programming Paradigms Shared memory: doesn’t match hardware Message passing: too complex Tuple space: just right – Invented by David Gelernter, Yale U. – Linda, JavaSpaces JavaSpaces™ is a trademark of Sun Microsystems.
29
March/2001Distributed Computing With Small Mobile Wireless Devices29 Tuple Space Abstraction Tuple Space Device 3. Read 4. Take 2. Write tuple 1. Read template
30
March/2001Distributed Computing With Small Mobile Wireless Devices30 Anhinga Project Part 2 Tasks Develop M2M communication protocol – Designed specifically for ad-hoc networks of proximal mobile devices – Don’t rely on addressing individual devices – Work over various physical layers (802.11, Bluetooth) Develop distributed tuple space implementation – Tuple resides in writing device – Tuple transferred to reading or taking device – M2M protocol announces all tuple space operations – Hashing used for tentative template matching
31
March/2001Distributed Computing With Small Mobile Wireless Devices31 Security Issues Unauthorized users – Authentication provided by secret authentication keys – Authentication = authorization in this case Passive intruders (network sniffers) – Foiled by encrypting all packets Active intruders (network spoofers) – Replay attacks foiled by challenge-response protocol
32
March/2001Distributed Computing With Small Mobile Wireless Devices32 Design Idea Design Idea…
33
March/2001Distributed Computing With Small Mobile Wireless Devices33 Application Layer
34
March/2001Distributed Computing With Small Mobile Wireless Devices34 Distributed Infrastructure I
35
March/2001Distributed Computing With Small Mobile Wireless Devices35 Distributed Infrastructure II
36
March/2001Distributed Computing With Small Mobile Wireless Devices36 Java Layer I
37
March/2001Distributed Computing With Small Mobile Wireless Devices37 Java Layer II
38
March/2001Distributed Computing With Small Mobile Wireless Devices38 Native Layer
39
March/2001Distributed Computing With Small Mobile Wireless Devices39 Questions?
40
March/2001Distributed Computing With Small Mobile Wireless Devices40 Thanks
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.