Abstract
Contemporary object-oriented programming seeks to enable distributed computing by accessing remote objects using blocking remote procedure calls. This technique, however, suffers from several drawbacks because it relies on the assumption of stable network connections and synchronous method invocations. In this paper we present an approach to support distributed programming, which rely on local object replicas keeping themselves synchronized using an underlying peer-to-peer infrastructure. We have termed our approach Peer-to-peer Distributed Shared Objects (PDSO). This PDSO approach has been implemented in the DOLCLAN framework. An evaluation demonstrates that DOLCLAN can be utilized to create a real distributed collaborative system for ad-hoc collaboration in hospitals, which demonstrates that the approach can support the creation of non-trivial distributed applications for pervasive computing.
Keywords
- Address Space
- Shared Object
- Computer Support Cooperative Work
- Tuple Space
- Collaborative System
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
Chapter PDF
References
Bakker, A., van Steen, M., Tanenbaum, A.S.: From remote objects to physically distributed objects. In: FTDCS ’99: Proceedings of the 7th IEEE Workshop on Future Trends of Distributed Computing Systems, p. 47. IEEE Computer Society, Washington, DC (1999)
Bal, H.E., Bhoedjang, R., Hofman, R., Jacobs, C., Langendoen, K., Ruhl, T., Kaashoek, M.F.: Performance evaluation of the orca shared-object system. ACM Trans. Comput. Syst. 16(1), 1–40 (1998)
Bal, H.E., Kaashoek, M.F., Tanenbaum, A.S.: Orca: A language for parallel programming of distributed systems. IEEE Trans. Softw. Eng. 18(3), 190–205 (1992)
Bal, H.E., Tanenbaum, A.S.: Distributed programming with shared data. In: IEEE CS 1988 International Conference on Computer Languages, pp. 82–91. IEEE Press, Piscataway (1988)
Bardram, J.E., Bunde-Pedersen, J., Mogensen, M.: Differentiating between Accountable and Ephemeral Events in the ABC Hybrid Architecture for Activity-Based Collaboration. In: Proceedings of the IEEE International Conference on Collaborative Computing (CollaborateCom 2005), pp. 168–176. IEEE Press, Orlando, Florida (2005)
Bardram, J.E., Bunde-Pedersen, J., Soegaard, M.: Support for activity-based computing in a personal computing operating system. In: CHI ’06: Proceedings of the SIGCHI conference on Human factors in computing systems (To appear), ACM Press, New York (2006)
Beaudouin-Lafon, M., (ed.): Computer Supported Cooperative Work. John Wiley and Sons, New York (1999)
Birrell, A.D., Nelson, B.J.: Implementing remote procedure calls. ACM Trans. Comput. Syst. 2(1), 39–59 (1984)
Cugola, G., Picco, G.: Peerware: Core middleware support for peer-to-peer and mobile systems (2001)
Gelernter, D.: Generative communication in linda. ACM Trans. Program. Lang. Syst. 7(1), 80–112 (1985)
Geyer, W., Vogel, J., Cheng, L.-T., Muller, M.: Supporting activity-centric collaboration through peer-to-peer shared objects. In: GROUP ’03: Proceedings of the 2003 international ACM SIGGROUP conference on Supporting group work, pp. 115–124. ACM Press, New York (2003)
Greenberg, S., Roseman, M.: Groupware toolkits for synchronous work. In: Beaudouin-Lafon [7], pp. 135–168
Hagimont, D., Boyer, F.: A configurable rmi mechanism for sharing distributed java objects. IEEE Internet Computing 5(1), 36–43 (2001)
Hill, J., Gutwin, C.: The MAUI Toolkit: Groupware Widgets for Group Awareness. Computer Supported Cooperative Work 13(2), 539–571 (2004)
Homburg, P., van Steen, M., Tanenbaum, A.S.: An architecture for a wide area distributed system. In: EW 7: Proceedings of the 7th workshop on ACM SIGOPS European workshop, pp. 75–82. ACM Press, New York (1996)
Lamport, L.: Time, clocks, and the ordering of events in a distributed system. Commun. ACM 21(7), 558–565 (1978)
Lipkind, I., Pechtchanski, I., Karamcheti, V.: Object views: language support for intelligent object caching in parallel and distributed computations. In: OOPSLA ’99. Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, pp. 447–460. ACM Press, New York (1999)
Liskov, B., Shrira, L.: Promises: linguistic support for efficient asynchronous procedure calls in distributed systems. In: PLDI ’88. Proceedings of the ACM SIGPLAN 1988 conference on Programming Language design and Implementation, pp. 260–267. ACM Press, New York (1988)
Matsuoka, S., Kawai, S.: Using tuple space communication in distributed object-oriented languages. In: OOPSLA ’88. Conference proceedings on Object-oriented programming systems, languages and applications, pp. 276–284. ACM Press, New York (1988)
Mogensen, M.: Distributed objects in loose coupled local area networks. Technical Report, Computer Science Department, University of Aarhus (2005)
Oki, B., Pfluegl, M., Siegel, A., Skeen, D.: The information bus: an architecture for extensible distributed systems. In: SOSP ’93. Proceedings of the fourteenth ACM symposium on Operating systems principles, pp. 58–68. ACM Press, New York (1993)
OMG. Corba services: Common object services specification, chapter 4: Event service (March 2001)
Picco, G.P., Murphy, A.L., Roman, G.-C.: LIME: Linda meets mobility. In: International Conference on Software Engineering, pp. 368–377 (1999)
Prakash, A.: Group editors. In: Beaudouin-Lafon [7], pp. 103–134
Roseman, M., Greenberg, S.: Building real-time groupware with groupkit, a groupware toolkit. ACM Trans. Comput.-Hum. Interact. 3(1), 66–106 (1996)
Shim, H.S., Hall, R.W., Prakash, A., Jahanian, F.: Providing Flexible Services for Managing Shared State in Collaborative Systems. In: Rodden, T., Hughes, J., Schmidtk, K. (eds.) Proceedings of the Fifth European Conference on Computer Supported Cooperative Work, Lancaster, UK, pp. 237–252. Kluwer Academic Publishers, Boston (1997)
Smith, D.A., Kay, A., Raab, A., Reed, D.P.: Croquet - a collaboration system architecture. In: C5 2003. Proceedings. First Conference on Creating, Connecting and Collaborating Through Computing, pp. 2–9. IEEE Press, New York (2003)
Speakman, T., Crowcroft, J., Gemmell, J., Farinacci, D., Lin, S., Leshchiner, D., Luby, M., Montgomery, T., Rizzo, L., Tweedly, A., Bhaskar, N., Edmonstone, R., Sumanasekera, R., Vicisano, L.: PGM Reliable Transport Protocol Specification. RFC 3208 (Experimental) (December 2001)
Vogel, J., Geyer, W., Cheng, L.-T., Muller, M.J.: Consistency control for synchronous and asynchronous collaboration based on shared objects and activities. Computer Supported Cooperative Work 13(5-6), 573–602 (2004)
Yonezawa, A., Briot, J.-P., Shibayama, E.: Object-oriented concurrent programming abcl/1. In: OOPLSA ’86. Conference proceedings on Object-oriented programming systems, languages and applications, pp. 258–268. ACM Press, New York (1986)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2007 IFIP International Federation for Information Processing
About this paper
Cite this paper
Bardram, J.E., Mogensen, M. (2007). DOLCLAN – Middleware Support for Peer-to-Peer Distributed Shared Objects. In: Indulska, J., Raymond, K. (eds) Distributed Applications and Interoperable Systems. DAIS 2007. Lecture Notes in Computer Science, vol 4531. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-72883-2_9
Download citation
DOI: https://doi.org/10.1007/978-3-540-72883-2_9
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-72881-8
Online ISBN: 978-3-540-72883-2
eBook Packages: Computer ScienceComputer Science (R0)
