200 likes | 223 Views
This presentation discusses the development of mobile ad-hoc networking for a transparent virtual directory. It covers the prototype concept, proof-of-concept implementation, usage areas, reflections, and conclusions. The presentation showcases the use of Bluetooth technology and J2ME for file sharing and information sharing in a mobile ad-hoc network.
E N D
INF5261 – Development of Mobile Information Systems and ServicesMobile Ad-Hoc Networking- Transparent Virtual DirectoryFinal PresentationMay 22nd, 2006 Henning Berg Jon Oldevik Lars Kristian Snellingen Bye Mansur Ali Abbasi
Outline • Overview [Jon] • Mobile Ad-Hoc Networking [Jon] • Prototype Concept [Henning] • Proof of Concept Implementation[Mansur] • Usage Areas [Lars] • Reflections [Mansur] • Conclusion [Henning] • 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 • Spontaneousnetwork 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: • Two nodes (A and B) in a net, where ’node A’ wants to download two files located on ’node B’ • 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’. • 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 andspace/place-distinction • Insight into Bluetooth technology and BT app development • Insight into J2ME and JBAN