1.65k likes | 1.76k Views
Distributed Data Flow Language for Multi-Party Protocols. Krzysztof Ostrowski † , Ken Birman † , Danny Dolev § † Cornell University, § Hebrew University { krzys|ken }@ cs.cornell.edu , dolev@cs.huji.ac.il. Introduction. http://liveobjects.cs.cornell.edu. http://liveobjects.cs.cornell.edu.
E N D
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
http://liveobjects.cs.cornell.edu distributed peer-to-peer protocols
http://liveobjects.cs.cornell.edu distributed peer-to-peer protocols multicast commit locking replication
http://liveobjects.cs.cornell.edu shared content distributed peer-to-peer protocols multicast commit locking replication
http://liveobjects.cs.cornell.edu replicated content distributed peer-to-peer protocols multicast commit locking replication
http://liveobjects.cs.cornell.edu synchronization, coordination replicated content distributed peer-to-peer protocols multicast commit locking replication
http://liveobjects.cs.cornell.edu basic building block
http://liveobjects.cs.cornell.edu basic building block
http://liveobjects.cs.cornell.edu basic building block
http://liveobjects.cs.cornell.edu need lots of different objects (protocols)
http://liveobjects.cs.cornell.edu user-defined objects need lots of different objects (protocols)
How to Implement New Objects? custom user-defined object
How to Implement New Objects? Java / C# / C++ custom user-defined object protocol composition Frameworks (Ensemble, BAST, Appia) MACE, P2, etc.
How to Implement New Objects? Java / C# / C++ custom user-defined object protocol composition Frameworks (Ensemble, BAST, Appia) MACE, P2, etc.
How to Implement New Objects? Java / C# / C++ custom user-defined object protocol composition Frameworks (Ensemble, BAST, Appia) MACE, P2, etc.
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.
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)
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)
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.
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.
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.
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.
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)
How to Implement New Objects? separation of concerns programmer compiler and runtime
How to Implement New Objects? separation of concerns programmer compiler and runtime