Disconnected mobile ad hoc networks (or D-MANETs) are partially or intermittently connected wireless networks, in which continuous end-to-end connectivity between mobile nodes is not guaranteed. The ability to self-form and self-manage brings great opportunities for D-MANETs, but developing distributed applications capable of running in such networks remains a major challenge. A middleware system is thus needed between network level and application level in order to ease application development, and help developers take advantage of the unique features of D-MANETs. The characteristics of D-MANETs favor a middleware which supports a decoupled and opportunistic style of computation. Such requirements are perfectly addressed in the concept of Tuple Space. In this paper, we introduce a peer-to-peer JavaSpaces implementation that we specifically designed for D-MANETs, and with which pre-existing or new JavaSpaces-based applications can be easily deployed in such networks.
This is a preview of subscription content, log in to check access.
Buy single article
Instant access to the full article PDF.
Price includes VAT for USA
Subscribe to journal
Immediate online access to all issues from 2019. Subscription will auto renew annually.
This is the net price. Taxes to be calculated in checkout.
Liu C, Kaiser J (2005) “A survey of mobile ad hoc network routing protocols,” University of Magdeburg
Fall K (2003) “A delay-tolerant network architecture for challenged internets,” in ACM Annual Conference of the Special Interest Group on Data Communication, New York, NY, USA, pp. 27–34
Pelusi L, Passarella A, Conti M (2006) Opportunistic networking: data forwarding in disconnected mobile ad hoc networks. IEEE Commun Mag 44(11):134–141
Mascolo C, Capra L, Emmerich W (2002) “Mobile computing middleware,” in Advanced Lectures on Networking, pp. 20–58
Freeman E, Hupfer S, Arnold K (1999) JavaSpaces(TM) principles, patterns, and practice. Prentice Hall
Walker EF, Floyd R, Neves P (1990) “Asynchronous remote operation execution in distributed systems,” in 10th International Conference on Distributed Computing Systems, 1990. Proceedings, pp. 253–259
Carriero N, Gelernter D (1989) Linda in context. Commun ACM 32(4):444–458
Roman G-C, Murphy AL, Picco GP (1999) “Coordination and mobility,” in Coordination of internet agents: models, technologies, and applications, pp. 254–273
Costa P, Mottola L, Murphy AL, Picco GP (2009) “Tuple space middleware for wireless networks,” in Middleware for network eccentric and mobile applications. Garbinato B, Miranda H, RodriguesL, (eds.) Springer Press, pp. 245–264
J. S. Documentation, “Concurrency Utilities,” Oracle, 2011, http://docs.oracle.com/javase/7/docs/technotes/guides/concurrency
Haillot J, Guidec F (2010) A protocol for content-based communication in disconnected mobile ad hoc networks. J Mob Inf Syst 6(2):123–154
Vahdat A, Becker D (2000) “Epidemic routing for partially connected ad hoc networks,” Duke University
Internet Engineering Task Force, “vCard Format Specification,” http://tools.ietf.org/html/rfc6350
Peine H, Stolpmann T (1997) “The architecture of the ara platform for mobile agents,” in Proceedings of the First International Workshop on Mobile Agents, London, UK, pp. 50–61
Murphy AL, Picco GP, Roman G-C (2006) LIME: a coordination model and middleware supporting mobility of hosts and agents. ACM Trans Softw Eng Methodol 15(3):279–328
Fok C, Roman G, Hackmann G (2004) “A lightweight coordination middleware for mobile computing”. Proc 6th Int Conf Coord Models Lang 2949:135–151
Roman G-C, Handorean R, Sen R (2006) “Tuple space coordination across space and time,” in Proceedings of the 8th International Conference on Coordination Models and Languages, Berlin, Heidelberg, pp. 266–280
KaminskyA, Bondada C (2005) “Tuple board: a new distributed computing paradigm for mobile ad hoc networks,” Comput Syst, pp. 5–7
Cerf V, Burleigh S, Hooke A, Torgerson L, Durst R, Scott K, Fall K, Weiss H (2007) “Delay-Tolerant Networking Architecture,” IETF RFC 4838
Nordström E, Gunningberg P, Rohner C (2009) “A search-based network architecture for mobile devices,” Department of Information Technology, Uppsala University, 2009–003
Deploying an already-existing JavaSpaces application over JION
Here we demonstrate how a pre-existing JavaSpaces application can be deployed on a D-MANET using JION. The import statements are not shown and the class Seat is defined in Section 3.2.2. As it can be noticed we do not need to change any line in the source code to deploy it on JION.
Assuming that JION’s package is installed in the home directory, this example can be compiled with the following command:
Once the example has been successfully compiled, it can be run on a sender-side terminal in the following manner:
Similarly on a receiver-side terminal for the read operation:
Likewise, the take operation could be run on a receiver-side terminal in the following manner:
Asynchronous deployment of a JavaSpaces application
Here we demonstrate deploying a JavaSpaces application asynchronously using Threads. Note that the class Seat is defined in Section 3.2.2.
The previous code can be made more readable by changing the lines, from 4 to 17, by the next two lines only, which involve using operations based on Future object.
As a result, the code will be more readable and easier to debug and maintain.
About this article
Cite this article
Benchi, A., Launay, P. & Guidec, F. A P2P tuple space implementation for disconnected MANETs. Peer-to-Peer Netw. Appl. 8, 87–102 (2015). https://doi.org/10.1007/s12083-013-0224-4
- Peer-to-peer computing
- Opportunistic networking
- Coordination middleware
- Future object