UNIVERSITY OF JYVÄSKYLÄ Mobile Chedar – A Peer-to-Peer Middleware for Mobile Devices Presentation for International Workshop on Mobile Peer-to- Peer Computing (MP2P05) Niko Kotilainen, research assistant Department of Mathematical Information Technology University of Jyväskylä, Finland With co-authors Matthieu Weber, Mikko Vapa and Jarkko Vuori
UNIVERSITY OF JYVÄSKYLÄ 2005 Overview This paper describes Mobile Chedar, which is an implementation of a mobile peer-to-peer middleware enabling information sharing in a mobile environment The proposed middleware is an extension to a non-mobile Chedar P2P network Mobile Chedar allows Bluetooth-enabled mobile devices to access resources of Chedar P2P network through Chedar gateway nodes (workstations with Bluetooth adapters) The middleware can be used to construct mobile peer-to-peer applications and as an example of such applications a co- operative learning application using Mobile Chedar is presented
UNIVERSITY OF JYVÄSKYLÄ 2005 Related Work Four different MP2P middleware propositions were identified as the closest related work –Proem, 7DS, XMIDDLE and MOBY In contrast to these middlewares, Mobile Chedar is an extension to existing peer-to-peer network and therefore differs in the approach Also, Mobile Chedar provides mechanisms for data streaming, whereas the considered middlewares are designed for disseminating rather static content The implementation of Mobile Chedar relies on Bluetooth, whereas many of the others have been built on Wireless LAN technology
UNIVERSITY OF JYVÄSKYLÄ 2005 Chedar Chedar (CHEap Distributed ARchitecture) is a peer-to-peer middleware designed for peer-to-peer applications For example Chedar can be used to locate idle computers with a given characteristics in order to run computationally intensive calculations Programmed with Java 2 Standard Edition using TCP sockets Currently used for speeding up the computations of NeuroSearch resource discovery algorithm with Peer-to-Peer Distributed Computing application (P2PDisCo) and for studying distributed data fusion in peer-to-peer environment
UNIVERSITY OF JYVÄSKYLÄ 2005 Chedar Internals Nodes maintain a database of locally available resources and metadata for the resources such as type and path for a file or description of application registered as a resource Resource database is stored as an XML document using a specific DTD, which allows making rich and complex queries to the database in the form of XPath expressions Each Chedar node is identified with a unique identifier
UNIVERSITY OF JYVÄSKYLÄ 2005 Mobile Chedar With the advent of mobile computing and the inherent peer-to- peer properties of mobile ad hoc networks, Chedar has been extended to Mobile Chedar for mobile devices Mobile Chedar provides functionalities for registering resources on a mobile device and for querying resources from other peers Using Mobile Chedar, mobile devices can for example locate a communication stream from the network and subscribe to that stream to get all data written to the stream By publishing the stream further other peers can join the stream Programmed with Java 2 Micro Edition using Bluetooth transmission technology
UNIVERSITY OF JYVÄSKYLÄ 2005 Restrictions of Bluetooth Because of restrictions in Bluetooth, one node can be connected to only one piconet at a time forcing the connection topology to be star-shaped Chedar / Mobile Chedar gateway node can be for example workstation with a Bluetooth adapter and an Internet connection Mobile Chedar Chedar / Mobile Chedar gateway Mobile Chedar Chedar P2P Network TCP BT
UNIVERSITY OF JYVÄSKYLÄ 2005 Streamable Resources Nodes can provide streamable resources to other peers and subscribe to these streams Multiple peers can simultaneously subscribe to the same stream and after subscribing they also start publishing the stream Because streams are duplex, the data written to the streams by peers will be delivered to all other peers currently subscribed However, the order of the data is not preserved and it is handled in a First-In-First-Out manner
UNIVERSITY OF JYVÄSKYLÄ 2005 Stream Delivery
UNIVERSITY OF JYVÄSKYLÄ 2005 Neighbor and Resource Discovery Neighbor discovery is a prerequisite for resource queries Using Bluetooths Service Discovery Protocol (SDP) all nodes within range of the radio frequency transceiver can be detected Discovery of resources is performed as one hop query tagged with a unique Message-ID to all the nodes within Bluetooth range When a query arrives to Chedar/Mobile Chedar gateway node, it forwards the query to all of its Chedar neighbors with default time-to-live
UNIVERSITY OF JYVÄSKYLÄ 2005 Mobile Chedar Application Programming Interface Mobile Chedar provides the following API for MP2P applications: MP2P applications must implement the following methods: register(String resourceidentifier)Adds a resource to the resource database. unregister(String resourceidentifier)Removes a resource from the resource database. connected()Checks if Mobile Chedar is connected to other Chedar nodes. query(String resourceidentifier)Executes a query. subscribe(Resource resource)Subscribes to the found resource. unsubscribe(Resource resource)Unsubscribes from a subscribed resource. send(Resource resource, Message data)Sends data to the subscribed resource. resourceFound(Resource resource)Informs the application when the query has located a matching resource. receive(Resource resource, Message data)Informs the application when new data has arrived to a subscribed resource.
UNIVERSITY OF JYVÄSKYLÄ 2005 Mobile Peer-to-Peer Learning Environment Mobile Peer-to-Peer Learning Environment (MP2PLE) is designed for collaborative note taking during lectures as a test application for Chedar peer-to-peer network and Mobile Chedar middleware MP2PLE user interface contains a text area displaying the current state of notes and provides means for users to edit them The user is allowed to modify any part of the notes by selecting a paragraph and submitting the changes Whenever the data is being changed it is streamed to other participants subscribed to the same stream
UNIVERSITY OF JYVÄSKYLÄ 2005 MP2PLE User Interface
UNIVERSITY OF JYVÄSKYLÄ 2005 Use Cases for MP2PLE There are two common use cases for such kind of an application –Firstly, it serves as a personal note-taking tool to store lecture notes –Secondly, people who do not take notes can benefit from other users notes, either during the lectures, or later, e.g. from home by accessing Mobile Chedar nodes through a gateway node
UNIVERSITY OF JYVÄSKYLÄ 2005 Limitations of MP2PLE Tiny user interface is problematic and provides only primitive means to take notes e.g., pictures cannot be drawn and class presentation material cannot be integrated with MP2PLE Also, taking lecture notes is difficult because of the small keypads in mobile phones Bluetooth does not allow multi-hop with current mobile phones, because the device can only belong to one piconet at a time
UNIVERSITY OF JYVÄSKYLÄ 2005 Conclusion and Future Work Mobile peer-to-peer enables new kind of applications taking advantage of emerging short-range radio technologies and allowing collaborative resource sharing between peers This paper described one way to construct peer-to-peer networks with support for mobile devices and demonstrates the feasibility with a prototype implementation The future work of Mobile Chedar and MP2PLE includes the support of audio and video streams and determining the feasibility of the approach with practical experiments
UNIVERSITY OF JYVÄSKYLÄ Thank You! Any questions?