inf5261 – development of mobile information systems and services mobile ad-hoc networking -...
TRANSCRIPT
INF5261 – Development of Mobile Information Systems and Services
Mobile Ad-Hoc Networking- Transparent Virtual Directory Final PresentationMay 22nd, 2006
Henning BergJon Oldevik
Lars Kristian Snellingen ByeMansur Ali Abbasi
Outline
1. Overview [Jon]
2. Mobile Ad-Hoc Networking [Jon]
3. Prototype Concept [Henning]
4. Proof of Concept Implementation [Mansur]
5. Usage Areas [Lars]
6. Reflections [Mansur]
7. Conclusion [Henning]
8. Questions [All]
1. Overview
• Objectives– Learning what Ad-hoc networking can be used for– And how it can be implemented
• Our approach– Reading theory; books and articles– Defining a prototype
• File Sharing on a virtual ad-hoc network– Analyzing usage areas– Implementing the prototype (Proof-of-Concept)
• Results– Knowledge on mobile ad-hoc networking and Bluetooth…
• Technologies: J2ME, Bluetooth• Usage
– A partially implemented prototype– Documentation of results
2. Mobile Ad-Hoc Networking
• Ad-hoc in computer networking– Spontaneous network establishment.
– Ad-hoc is mostly associated with wireless devices.
– Requires no base station.
– Devices discover others within range to form a network.
– Connections are possible over multiple nodes.
– Devices out of range can be found by forwarding.
– Routing protocols provide stable connections even if nodes are moving around.
• Example: Sony's PlayStation Portable Uses Ad-Hoc connection for wireless
multiplayer gaming.
2. Mobile Ad-Hoc Networking – Usage Areas
• Social services– Dating, chatting
• Work and productivity related / ”useful” areas– Emergency / crisis management – Military operations– Sensor Networks (industry, hospitals, offshore)
• Entertainment– Gameplay
• Information sharing– File sharing– Streaming media services– Commercials and sales / marketing
3. Prototype Concept – Transparent Virtual Directory (TVD)
• File sharing service where all nodes should be able to share files with each other using a Bluetooth-compatible unit.
• Used to understand and reason about ad-hoc networking.
• Several problem areas related to spontaneous networks (with Bluetooth):– Master/slave issues (server/client)– Routing– File replication and file ownership– Load balancing– File forwarding
3. Prototype Concept – How does TVD work?
• Scenarios that describe usage:1. Two nodes (A and B) in a net, where ’node A’ wants to
download two files located on ’node B’
2. Three nodes (A, B, and C) in a net, where node A wants to download one file from ’node B’ and one file from ’node C’.
3. Three nodes (A, B, and C) in a net• ’node A’ and ’node B’ are within each others range
• ’node B’ and ’node C’ are within each others range
• ’node A’ is out of range to ’node C’
• ’node A’ wants to download a file from ’node C’
3. Prototype Concept – Scenario 3 illustrated
• Three nodes; ’node A’ wants to download a file from a node not directly accessible from A
4. Proof of Concept Implementation – Realization plan
• Technologies and Tools– Bluetooth-devices (Java-based emulator – Sun Wireless Toolkit)
– J2ME with Java Bluetooth API
• Open, non-proprietary standard for BT app. development
• Hides complexity of BT
– JBAN (a open source library, more later)
– Eclipse with EclipseME-plugin as IDE
4. Proof of Concept Implementation – More on JBAN
• Problem:– Process of forming scatternet out of piconets is usually not
dynamic and practical
– Scatternets formed are not robust.
– Routing and network management complicates development
– Master/slave distinction is not desired in TVD
• Solution – The JBAN open source “library”:– Provides new way to form BT ad-hoc network at Java application
level
– Allows unlimited devices to form a network dynamically – Abstracts away the master/slave distinction between nodes
4. Proof of Concept Implementation – More on JBAN (2)
• Pitfalls:– Relatively new (bundle of code in a JAR-file)– “Released” February 2006, no reported experiences– Declared stable, but is it really? (Multithreaded - difficult to test)– No documentation (some simple javadoc only)
• Big pitfall, discovered during implementation:– Dynamic network management is not yet implemented!
• Discovery worked fine, but network was unable to detect changes (nodes coming and leaving)
• Not documented, spent some time in understanding this • E-mail to JBAN author confirmed that network management is
not implemented, but on the TODO-list – We have all reasons to believe JBAN will do what we desire
once network management is implemented
4. Proof of Concept Implementation – The TVD POC Midlet (2)
• JBAN handles – Discovery and formation of network
– Network management (not yet, but hopefully soon)
– Service registration and service discovery
– Sending and receiving of data (class Packet in JBAN) using standard Java (byte array) streams
• We handle / plan to handle– Sharing files (making own files available to the TVD)
– Security (mutual authorization, and group memberships)
– Distribution of directory listing (File Awareness Model)
– File transfer and file relay management
– Other application logic (pausing/resuming transfers, etc.)
4. Proof of Concept Implementation – The TVD POC Midlet (3)
• Results from the implementation work:– JBAN eased a lot of “pain” in BT programming– JBAN will (soon) provide simple formation of a fully dynamic,
mobile ad-hoc network as desirable for TVD– We are able to send data between nodes, and forwarding is
unproblematic.– Still many other issues to think of, but mainly:– TVD is realizable on the Bluetooth/J2ME/JBAN platform
• Thoughts for further development– Involve in the JBAN open source project. Don’t want to “reinvent
the wheel” so contributing to further development of JBAN-library should be the right way to go to.
– What about performance when network is being formed at Java application level?
5. Usage areas for TVD – Many possibilities
• Sharing of image and music files• Commercial / product information• Work situations
– Document sharing
– Collecting data from nodes
• Team calendar synchronization
5. Usage areas for TVD – Example usage scenario
• Document sharing between coworkers at a meeting:– No papers
– No possibility to forget / loose links
– Don’t need to bring a big laptop, the cell phone is enough.
6. Reflections around TVD – Context Awareness
• Need to add some context intelligence to application– Context of Bluetooth-unit
• Disallow initiation of file transfer / file relay when BT-unit communicating with a BT-handsfree (or performing other high priority BT-task)?
– Context of device resources
• Battery getting low keep TVD running or auto-pause?
• Memory getting low refuse to act as relay-node?
– Context of user
• Member of multiple TVD groups. Which access group has higher priority? Can the priorities be made place-aware?
• Other precautionary rules?
6. Reflections around TVD – User Interface and Testing
• Need to come up with a “perfect” user interface– Dependent on type of device (mobile phone, mass storage
device, etc.)
– Allow for easy manipulation of context settings
– What placements of (G)UI elements feel natural for the users
– Conduct live testing with a group of potential users
• Need to test various aspects of TVD– Test UI (live) with a group of potential users
– Test context awareness in various scenarios
– Simulate large TVD-networks in a BT-simulator (BT-Sim?)
7. Conclusions
• General conclusions:– The technology used proves suitable for building ad-hoc network
applications– The Ad-hoc concept invites context sensitivity and ”social
applications”– The TVD concept was useful to learn about and understand
ad-hoc networking– Several issues not implemented
• Routing, security mechanisms, etc.
• Learning outcomes:– Raised level of understanding of principles and challenges
of Ad-Hoc networking– Raised level of understanding of the concepts mobility,
context-awareness and space/place-distinction– Insight into Bluetooth technology and BT app development– Insight into J2ME and JBAN