2. Mobile Ad-Hoc Networking

advertisement
INF5261 – Development of Mobile Information Systems and Services
Mobile Ad-Hoc Networking
- Transparent Virtual Directory
Final Presentation
May 22nd, 2006
Henning Berg
Jon Oldevik
Lars Kristian Snellingen Bye
Mansur 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
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
Questions?
Download