Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/1557876.1557878acmotherconferencesArticle/Chapter ViewAbstractPublication PagesecoopConference Proceedingsconference-collections
research-article

Beernet: RMI-free peer-to-peer networks

Published: 06 June 2009 Publication History

Abstract

The key issue in distributed programming is partial failure: how to handle failures of part of the system. This unavoidable property causes uncertainty because we cannot know whether a remote object is ever going to reply to a message. It is also the reason why RMI/RPC is difficult to use. In this paper we describe the most convenient object-oriented mechanism we have found to develop peer-to-peer applications effectively, namely by using active objects that communicate via asynchronous message passing and fault streams for failure handling. We show that this works better than the usual approach of using RMI to communicate and distributed exceptions for failure handling. We define our peers as lightweight actors and we use them to build a highly dynamic peer-to-peer network that deals well with partial failure and non-transitive connectivity. We give many code examples to show the simplicity and naturalness of our approach.

References

[1]
G. A. Agha, I. A. Mason, S. F. Smith, and C. L. Talcott. A foundation for actor computation. J. Funct. Program., 7(1):1--72, 1997.
[2]
C. Arad and S. Haridi. Practical Protocol Composition, Encapsulation and Sharing in Kompics. Self-Adaptive and Self-Organizing Systems Workshops, IEEE International Conference on, 0:266--271, 2008.
[3]
J. Armstrong. Erlang -- a Survey of the Language and its Industrial Applications. In INAP'96 -- The 9th Exhibitions and Symposium on Industrial Applications of Prolog, pages 16--18, Hino, Tokyo, Japan, 1996.
[4]
R. Collet. The Limits of Network Transparency in a Distributed Programming Language. PhD thesis, Université catholique de Louvain, Dec. 2007.
[5]
R. Collet and P. Van Roy. Failure Handling in a Network-Transparent Distributed Programming Language. In Advanced Topics in Exception Handling Techniques, pages 121--140, 2006.
[6]
J. Dedecker, T. Van Cutsem, S. Mostinckx, T. D'hondt, and W. De Meuter. Ambient-Oriented Programming in AmbientTalk. 2006.
[7]
R. Guerraoui and L. Rodrigues. Introduction to Reliable Distributed Programming. Springer-Verlag, Berlin, Germany, 2006.
[8]
B. Mejías and P. Van Roy. The Relaxed-Ring: A fault-tolerant topology for structured overlay networks. Parallel Processing Letters, 18(3):411--432, September 2008.
[9]
M. S. Miller, E. D. Tribble, J. Shapiro, and H. P. Laboratories. Concurrency among strangers: Programming in E as plan coordination. In In Trustworthy Global Computing, International Symposium, TGC 2005, pages 195--229. Springer, 2005.
[10]
Mozart Community. The Mozart-Oz Programming System - http://www.mozart-oz.org, 2008.
[11]
Programming Languages and Distributed Computing Research Group, UCL. Beernet: pbeer-to-pbeer network - http://beernet.info.ucl.ac.be.
[12]
I. Stoica, R. Morris, D. Karger, F. Kaashoek, and H. Balakrishnan. Chord: A Scalable Peer-To-Peer Lookup Service for Internet Applications. In Proceedings of the 2001 ACM SIGCOMM Conference, pages 149--160, 2001.
[13]
A. S. Tanenbaum and M. Van Steen. Distributed Systems: Principles and Paradigms. Prentice Hall PTR, Upper Saddle River, NJ, USA, 2001.
[14]
T. Van Cutsem, S. Mostinckx, E. G. Boix, J. Dedecker, and W. De Meuter. AmbientTalk: Object-oriented Event-driven Programming in Mobile Ad hoc Networks. Chilean Computer Science Society, International Conference of the, 0:3--12, 2007.
[15]
P. Van Roy and S. Haridi. Concepts, Techniques, and Models of Computer Programming. MIT Press, 2004.
[16]
J. Waldo, G. Wyant, A. Wollrath, and S. Kendall. A Note on Distributed Computing. In Mobile Object Systems: Towards the Programmable Internet, pages 49--64. Springer-Verlag: Heidelberg, Germany, 1994.

Cited By

View all
  • (2013)Improving DUIs with a Decentralized Approach with Transactions and FeedbacksDistributed User Interfaces: Usability and Collaboration10.1007/978-1-4471-5499-0_2(17-25)Online publication date: 23-Aug-2013

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
DO21 '09: Proceedings of the 1st International Workshop on Distributed Objects for the 21st Century
June 2009
26 pages
ISBN:9781605585451
DOI:10.1145/1557876
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

In-Cooperation

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 06 June 2009

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. actors
  2. distributed-programming
  3. message-passing

Qualifiers

  • Research-article

Conference

ECOOP '09

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)1
  • Downloads (Last 6 weeks)0
Reflects downloads up to 24 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2013)Improving DUIs with a Decentralized Approach with Transactions and FeedbacksDistributed User Interfaces: Usability and Collaboration10.1007/978-1-4471-5499-0_2(17-25)Online publication date: 23-Aug-2013

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media