1 / 165

Distributed Data Flow Language for Multi-Party Protocols: A Comprehensive Framework

This paper presents a novel framework for distributed data flow languages tailored for multi-party protocols. It examines the design and implementation of user-defined objects within distributed peer-to-peer systems, focusing on multicast, commit, locking, and replication mechanisms. Key concepts include protocol composition, decision-making logic, and efficiency enhancements. We discuss frameworks such as Ensemble and BAST, highlighting challenges in higher-level and lower-level logic integration. This framework aims to improve flexibility and reduce error rates in protocol design and implementation for collaborative computing environments.

melita
Télécharger la présentation

Distributed Data Flow Language for Multi-Party Protocols: A Comprehensive Framework

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Distributed Data Flow Languagefor Multi-Party Protocols Krzysztof Ostrowski†, Ken Birman†, Danny Dolev§ †Cornell University, §Hebrew University {krzys|ken}@cs.cornell.edu, dolev@cs.huji.ac.il

  2. Introduction

  3. http://liveobjects.cs.cornell.edu

  4. http://liveobjects.cs.cornell.edu distributed peer-to-peer protocols

  5. http://liveobjects.cs.cornell.edu distributed peer-to-peer protocols multicast commit locking replication

  6. http://liveobjects.cs.cornell.edu shared content distributed peer-to-peer protocols multicast commit locking replication

  7. http://liveobjects.cs.cornell.edu replicated content distributed peer-to-peer protocols multicast commit locking replication

  8. http://liveobjects.cs.cornell.edu synchronization, coordination replicated content distributed peer-to-peer protocols multicast commit locking replication

  9. http://liveobjects.cs.cornell.edu

  10. http://liveobjects.cs.cornell.edu

  11. http://liveobjects.cs.cornell.edu

  12. http://liveobjects.cs.cornell.edu

  13. http://liveobjects.cs.cornell.edu basic building block

  14. http://liveobjects.cs.cornell.edu basic building block

  15. http://liveobjects.cs.cornell.edu basic building block

  16. http://liveobjects.cs.cornell.edu need lots of different objects (protocols)

  17. http://liveobjects.cs.cornell.edu user-defined objects need lots of different objects (protocols)

  18. How to Implement New Objects? custom user-defined object

  19. How to Implement New Objects? Java / C# / C++ custom user-defined object protocol composition Frameworks (Ensemble, BAST, Appia) MACE, P2, etc.

  20. How to Implement New Objects? Java / C# / C++ custom user-defined object protocol composition Frameworks (Ensemble, BAST, Appia) MACE, P2, etc.

  21. How to Implement New Objects? Java / C# / C++ custom user-defined object protocol composition Frameworks (Ensemble, BAST, Appia) MACE, P2, etc.

  22. How to Implement New Objects? higher-level logic (making decisions) Java / C# / C++ protocol composition Frameworks (Ensemble, BAST, Appia) intermingled, tightly-coupled lower-level logic (e.g., ACKs, timeouts, building rings/trees, internal bookkeeping) MACE, P2, etc.

  23. How to Implement New Objects? higher-level logic (making decisions) intermingled, tightly-coupled lower-level logic (e.g., ACKs, timeouts, building rings/trees, internal bookkeeping)

  24. How to Implement New Objects? higher-level logic (making decisions) intermingled, tightly-coupled lower-level logic (e.g., ACKs, timeouts, building rings/trees, internal bookkeeping)

  25. How to Implement New Objects? harder to write/debug Java / C# / C++ error-prone protocol composition Frameworks (Ensemble, BAST, Appia) less sophisticated less flexibility MACE, P2, etc.

  26. How to Implement New Objects? harder to write/debug Java / C# / C++ error-prone protocol composition Frameworks (Ensemble, BAST, Appia) less sophisticated less flexibility MACE, P2, etc.

  27. How to Implement New Objects? harder to write/debug Java / C# / C++ error-prone protocol composition Frameworks (Ensemble, BAST, Appia) less sophisticated less flexibility MACE, P2, etc.

  28. How to Implement New Objects? harder to write/debug Java / C# / C++ error-prone protocol composition Frameworks (Ensemble, BAST, Appia) less sophisticated less flexibility MACE, P2, etc.

  29. How to Implement New Objects? separation of concerns higher-level logic (making decisions) lower-level logic (e.g., ACKs, timeouts, building rings/trees, internal bookkeeping)

  30. How to Implement New Objects? separation of concerns programmer compiler and runtime

  31. How to Implement New Objects? separation of concerns programmer compiler and runtime

  32. Our Approach:FlowsObjectsAggregationBatchingRecursion

More Related