inf5261 – development of mobile information systems and services mobile ad-hoc networking -...

20
INF5261 – Development of Mobile Information Systems and Services Mobile Ad-Hoc Networking - Transparent Virtual Directory Final Presentation May 22 nd , 2006 Henning Berg Jon Oldevik Lars Kristian Snellingen Bye Mansur Ali Abbasi

Upload: godwin-sharp

Post on 27-Dec-2015

218 views

Category:

Documents


0 download

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

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?