Springer Nature is making SARS-CoV-2 and COVID-19 research free. View research | View latest news | Sign up for updates

A P2P tuple space implementation for disconnected MANETs

  • 163 Accesses

  • 1 Citations


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.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8


  1. 1.


  2. 2.



  1. 1.

    Liu C, Kaiser J (2005) “A survey of mobile ad hoc network routing protocols,” University of Magdeburg

  2. 2.

    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

  3. 3.

    Pelusi L, Passarella A, Conti M (2006) Opportunistic networking: data forwarding in disconnected mobile ad hoc networks. IEEE Commun Mag 44(11):134–141

  4. 4.

    Mascolo C, Capra L, Emmerich W (2002) “Mobile computing middleware,” in Advanced Lectures on Networking, pp. 20–58

  5. 5.

    Freeman E, Hupfer S, Arnold K (1999) JavaSpaces(TM) principles, patterns, and practice. Prentice Hall

  6. 6.

    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

  7. 7.

    Carriero N, Gelernter D (1989) Linda in context. Commun ACM 32(4):444–458

  8. 8.

    Roman G-C, Murphy AL, Picco GP (1999) “Coordination and mobility,” in Coordination of internet agents: models, technologies, and applications, pp. 254–273

  9. 9.

    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

  10. 10.

    J. S. Documentation, “Concurrency Utilities,” Oracle, 2011, http://docs.oracle.com/javase/7/docs/technotes/guides/concurrency

  11. 11.

    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

  12. 12.

    Vahdat A, Becker D (2000) “Epidemic routing for partially connected ad hoc networks,” Duke University

  13. 13.

    Internet Engineering Task Force, “vCard Format Specification,” http://tools.ietf.org/html/rfc6350

  14. 14.

    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

  15. 15.

    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

  16. 16.

    Fok C, Roman G, Hackmann G (2004) “A lightweight coordination middleware for mobile computing”. Proc 6th Int Conf Coord Models Lang 2949:135–151

  17. 17.

    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

  18. 18.

    KaminskyA, Bondada C (2005) “Tuple board: a new distributed computing paradigm for mobile ad hoc networks,” Comput Syst, pp. 5–7

  19. 19.

    Cerf V, Burleigh S, Hooke A, Torgerson L, Durst R, Scott K, Fall K, Weiss H (2007) “Delay-Tolerant Networking Architecture,” IETF RFC 4838

  20. 20.

    Nordström E, Gunningberg P, Rohner C (2009) “A search-based network architecture for mobile devices,” Department of Information Technology, Uppsala University, 2009–003

Download references

Author information

Correspondence to Frédéric Guidec.



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.

Rights and permissions

Reprints and Permissions

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

Download citation


  • Peer-to-peer computing
  • Opportunistic networking
  • D-MANETs
  • Coordination middleware
  • JavaSpaces
  • Future object