Date post: | 21-Dec-2015 |
Category: |
Documents |
View: | 223 times |
Download: | 0 times |
DOLCLAN Middleware Support for Peer-to-Peer
Distributed Shared Objects
Jakob E. Bardram and Martin Mogensen
University of Aarhus, Denmark
[Center for Pervasive Healthcare]
http://pervasivehealthcare.com
DAIS '07 DOLCLAN - Middleware Support for Peer-to-Peer Distributed Shared Objects 2
Background
Motivation– Pervasive Computing– Mobility, pervasiveness, changing environments, …– Transient infrastructure– Heterogeneous devices, incl. Sensors– Increasing demand for dependability of such systems– Termed by Laprie [1] as the "dependability gap"
Goal– Pervasive Computing infrastructure– Development framework– Integrated language support
[1] Jean-Claude Laprie Resilience for the Scalability of Dependability In: Proceedings of the IEEE International Symposium on Network Computing and Applications
DAIS '07 DOLCLAN - Middleware Support for Peer-to-Peer Distributed Shared Objects 3
Main Problem
RPC Paradigm– Remote objects accessed by procedure calls– Assumes reliable infrastructure– Assumes stable host machine– Synchronous blocking procedure calls
Pervasive Environments– Intermitted network connections– Heterogeneous devices– More or less (un)stable devices
=> RPC does not fit in this environment !
DAIS '07 DOLCLAN - Middleware Support for Peer-to-Peer Distributed Shared Objects 4
Approach
Peer-to-Peer Distributed Shared Objects– Physically distributed replicas– Peer-to-Peer updates
Advantages– Heightens application responsiveness– Support disconnected work– Distributes computational and network load– Resilient network joining
Drawbacks– Increased complexity managing data– Increased complexity managing network topology– DOLCLAN handles these
DAIS '07 DOLCLAN - Middleware Support for Peer-to-Peer Distributed Shared Objects 5
Concept PDSO
Peer-to-Peer Distributed Shared Objects– Physical distribution– Synchronized objects– Peer-to-Peer updates– Responsive optimistic concurrency protocol– Distribution-aware programming
DAIS '07 DOLCLAN - Middleware Support for Peer-to-Peer Distributed Shared Objects 7
Terms PDSO
Terms used– OID : Object Identifier
• Names a single local replica• E.g. A
– PDSO : Peer-to-Peer Distributed Shared Object• Set of local replicas named by the same OID• E.g. PDSO(A)
– Group : Set of PDSOs• Defined by the transitive closure of a specified PDSO• I.e. There is a path in the object graph• E.g. Group(PDSO(A))
DAIS '07 DOLCLAN - Middleware Support for Peer-to-Peer Distributed Shared Objects 9
Distribution Awareness
Key differentiation between what we [2] have termed– accountable events
• Crucial events, long lived• Affects the state of the system in long time• The system needs to account for the events• TCP or reliable multicast
– ephemeral events• Transient events, short lived• Collaboration awareness events• Tele-pointers, voice links, etc ...• UDP or unreliable multicast
[2] 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 2005
DAIS '07 DOLCLAN - Middleware Support for Peer-to-Peer Distributed Shared Objects 10
DOLCLAN
Proof-of-PDSO-concept implemented– Service discovery– Peer joining– Synchronous object state replication– Data management– Network management– Language support
DAIS '07 DOLCLAN - Middleware Support for Peer-to-Peer Distributed Shared Objects 11
A simple example
Let’s create a distributed Pacman game
DAIS '07 DOLCLAN - Middleware Support for Peer-to-Peer Distributed Shared Objects 12
A simple example
A model for a distributed Pacman game
DAIS '07 DOLCLAN - Middleware Support for Peer-to-Peer Distributed Shared Objects 13
C# Language Support
New keywords• distributed classes and fields• accountable and ephemeral modifiers
DAIS '07 DOLCLAN - Middleware Support for Peer-to-Peer Distributed Shared Objects 14
C# Language Support
New keywords• distributed properties• accountable and ephemeral modifiers
DAIS '07 DOLCLAN - Middleware Support for Peer-to-Peer Distributed Shared Objects 15
C# Language Support
Object creation and joining• Create PDSOs with the new keyword• Join PDSO groups with the join keyword
DAIS '07 DOLCLAN - Middleware Support for Peer-to-Peer Distributed Shared Objects 16
C# Language Support
Domain specific conflict resolution• Override public void merge(object)
DAIS '07 DOLCLAN - Middleware Support for Peer-to-Peer Distributed Shared Objects 17
C# Language Support
The complete EaterModel• You are not supposed to read this ;-)
DAIS '07 DOLCLAN - Middleware Support for Peer-to-Peer Distributed Shared Objects 18
Evaluation - Language Support
A simple programming task• Create a distributed tree-view application
DAIS '07 DOLCLAN - Middleware Support for Peer-to-Peer Distributed Shared Objects 19
Evaluation - Performance
Time to push state changes into the net• Does not say anything about time to deliver• Stresses the need for ephemeral and accountable modifiers
DAIS '07 DOLCLAN - Middleware Support for Peer-to-Peer Distributed Shared Objects 20
Evaluation - Utility
Can pervasive applications be created?– We have used DOLCLAN for the ABC framework– Adds support for ad-hoc collaboration– Re-coding took few days– Shows that more complex applications can be created
DAIS '07 DOLCLAN - Middleware Support for Peer-to-Peer Distributed Shared Objects 21
On-going Work
Technical work– Support outside LANs – Support for sensor networks– .NET Compact Framework library
Applications– Integration with real EHR
(Electronic Health Record)
– Enable collaborative sessions(Between surgeons in the operating theater and second level experts)
– Integration with PACS system(Picture, Archiving, and Communication System)
Deployment– Horsens hospital, Denmark– Surgical department
DAIS '07 DOLCLAN - Middleware Support for Peer-to-Peer Distributed Shared Objects 22
Summary
Challenges– RPC paradigm is imperfect in a pervasive environment
Peer-to-Peer Distributed Shared Objects– Pervasive Computing infrastructure– Development framework– Integrated language support
On-going work– Extending support and infrastructure– Creating pervasive applications– Deploying applications in hospitals
DAIS '07 DOLCLAN - Middleware Support for Peer-to-Peer Distributed Shared Objects 23
More Information
[Martin Mogensen - [email protected]]
Thank you for listening !
[Center for Pervasive Healthcare]
www.pervasivehealthcare.com
[iHospital research project at Horsens Hospital, Denmark]
www.ihospital.dk
[Activity Based Computing and the ABC framework]
www.activity-based-computing.org