170 likes | 264 Views
Mobile Chedar – A Peer-to-Peer Middleware for Mobile Devices Presentation for International Workshop on Mobile Peer-to-Peer Computing (MP2P’05). 12.3.2005 Niko Kotilainen, research assistant Department of Mathematical Information Technology University of Jyväskylä, Finland
E N D
Mobile Chedar – A Peer-to-Peer Middleware for Mobile Devices Presentation for International Workshop on Mobile Peer-to-Peer Computing (MP2P’05) 12.3.2005 Niko Kotilainen, research assistant Department of Mathematical Information Technology University of Jyväskylä, Finland http://tisu.it.jyu.fi/cheesefactory With co-authors Matthieu Weber, Mikko Vapa and Jarkko Vuori
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
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
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
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
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
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 Mobile Chedar Mobile Chedar BT BT Chedar P2P Network BT Mobile Chedar Chedar / Mobile Chedar gateway BT BT BT Mobile Chedar TCP Mobile Chedar
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
Neighbor and Resource Discovery • Neighbor discovery is a prerequisite for resource queries • Using Bluetooth’s 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
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.
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
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 user’s notes, either during the lectures, or later, e.g. from home by accessing Mobile Chedar nodes through a gateway node
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
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
Thank You! Any questions?