Download presentation
Presentation is loading. Please wait.
1
DOLCLAN - Distributed Objects in Loose Coupled Local Area Networks 1 DOLCLAN Distributed Objects in Loose Coupled Local Area Networks
2
DOLCLAN - Distributed Objects in Loose Coupled Local Area Networks2 Agenda 1: Motivation Concept 2: Language support System design 3: Evaluation StatusConclusion 4:Questions and discussion
3
DOLCLAN - Distributed Objects in Loose Coupled Local Area Networks3 Motivation We are moving from single peer applications to multi peer applications Pervasive applications involve information sharing and collaboration Pervasive environments are transient due to network connections and device mobility Existing technologies are ill suited to meet this challenge A more suitable method would demand no existing infrastructure and automatically adapt to changes in the environment
4
DOLCLAN - Distributed Objects in Loose Coupled Local Area Networks4 Motivation - distributed systems Fixed distributed system Mobile DeviceFixedMobile Network connection PermanentSporadic Execution context StaticDynamic Mobile Computing Middleware, Mascolo et al., 2002
5
DOLCLAN - Distributed Objects in Loose Coupled Local Area Networks5 Motivation - related work RMI / RPC M-3 Network Objects COAST / Globe / CORE / etc. one.world Device [fixed / mobile] Fixed and mobile Network connection [permanent / sporadic] Permanent Permanent and sporadic Permanent Execution context [static / dynamic] StaticStaticDynamic
6
DOLCLAN - Distributed Objects in Loose Coupled Local Area Networks6 Design requirements Easier is better Execution context is dynamic Execution context is dynamic Help the application programmer and the user Help the application programmer and the user Disconnectedness is not an error Network connections are sporadic Network connections are sporadic Encourage ad hoc composition Devices are mobile Devices are mobile Recognize sharing as default Unforeseen sessions emerge Unforeseen sessions emerge
7
DOLCLAN - Distributed Objects in Loose Coupled Local Area Networks7 Concept
8
8 Concept
9
9 Hello World
10
DOLCLAN - Distributed Objects in Loose Coupled Local Area Networks10 Language support Two modifiers distributed ephemeral distributed ephemeral distributed accountable distributed accountable One super class DistributedObject DistributedObject
11
DOLCLAN - Distributed Objects in Loose Coupled Local Area Networks11 Hello World One distributed object One distributed variable One input loop One event handler 15 lines of code
12
DOLCLAN - Distributed Objects in Loose Coupled Local Area Networks12 Programming pattern
13
DOLCLAN - Distributed Objects in Loose Coupled Local Area Networks13 Language support - lifecycle events instanceCreatedEvent instanceDeletedEvent stateChangedEvent
14
DOLCLAN - Distributed Objects in Loose Coupled Local Area Networks14 Language support - resolving conflicts Disconnected continuous work => Divergent versions will emerge We need an intelligent way to synchronize upon reconnection Override the merge function in the DistributedObject class
15
DOLCLAN - Distributed Objects in Loose Coupled Local Area Networks15 Language support - custom binding Sometimes the default naming scheme does not capture the semantics of the application Override the getDistributedOID function in the DistributedObject class
16
DOLCLAN - Distributed Objects in Loose Coupled Local Area Networks16 EaterGame
17
DOLCLAN - Distributed Objects in Loose Coupled Local Area Networks17 System design - peer architecture
18
DOLCLAN - Distributed Objects in Loose Coupled Local Area Networks18 System design - communication channels Communication One control channelOne control channel N*2 peer group channelsN*2 peer group channels Dynamic unicast connectionsDynamic unicast connections Control channel Unreliable multicastUnreliable multicast HELLO / ANNOUNCE_NETHELLO / ANNOUNCE_NET Peer group channels Un- and reliable multicastUn- and reliable multicast STATE_EVENTSTATE_EVENT CREATE / DELETE_OBJECTCREATE / DELETE_OBJECT Unicast connections Reliable unicastReliable unicast HELLO_ACKHELLO_ACK JOIN / JOIN_ACKJOIN / JOIN_ACK
19
DOLCLAN - Distributed Objects in Loose Coupled Local Area Networks19 System design - synchronous state sharing
20
DOLCLAN - Distributed Objects in Loose Coupled Local Area Networks20 Evaluation Completeness Can useful applications be build?Can useful applications be build? Complexity How hard is it to write code using the framework?How hard is it to write code using the framework? Performance Is the system performance acceptable?Is the system performance acceptable? (Utility) Have we enabled others to be successful?Have we enabled others to be successful? System support for pervasive applications, Grimm et al., 2004
21
DOLCLAN - Distributed Objects in Loose Coupled Local Area Networks21 Status RMI / RPC M-3 Network Objects COAST / Globe / CORE / etc. one.worldDOLCLANDistributedObject Type of device Fixed and mobile Fixed (and mobile) Type of network connection Permanent Permanent or sporadic PermanentSporadic Type of execution context StaticStaticDynamicDynamic Easier is better Service discovery Language support NoYesNoSomeYesNoYesYes Disconnectedness is not an error Disconnected continuous work An intelligent synchronization upon reconnection NoNoSomeNoNoNoYesYes Encourage ad hoc composition XML & open protocols SomeSomeYesYes Recognize sharing as default Unforeseen sessions supported YesYesYesYes
22
DOLCLAN - Distributed Objects in Loose Coupled Local Area Networks22 Room for improvements Language support.delete() (reference counting).delete() (reference counting).join_network() (really annoying…).join_network() (really annoying…) Meta dataMeta data System architecture Multicast (limits devices and scope)Multicast (limits devices and scope) Physical scope (extending beyond LAN)Physical scope (extending beyond LAN) Application scope (extending beyond application)Application scope (extending beyond application) Evaluation Utility (what are they really capable of?)Utility (what are they really capable of?)
23
DOLCLAN - Distributed Objects in Loose Coupled Local Area Networks23 Conclusion A novel approach for creating distributed pervasive applications Language support Distributed objects and variablesDistributed objects and variables Domain customizableDomain customizable Supporting infrastructure Pure peer to peerPure peer to peer Full state replicationFull state replication Implemented and evaluated Overall good resultsOverall good results Still room for improvementsStill room for improvements
24
DOLCLAN - Distributed Objects in Loose Coupled Local Area Networks24 Questions and discussion ?
25
DOLCLAN - Distributed Objects in Loose Coupled Local Area Networks25 Appendix
26
DOLCLAN - Distributed Objects in Loose Coupled Local Area Networks26 Modula-3 Network Objects Uses inheritance Concrete objects only resides on the serving host and can not be moved Surrogates (proxies) points to concrete objects Arguments and results are automatically marshalled (pickled) Wirerep’s (RORs) can be parsed over the network Dirty and clean calls provide network-wide reference counting for GC CS S S 1: Invocation 2: RPC 3: RPC 4: Result
27
DOLCLAN - Distributed Objects in Loose Coupled Local Area Networks27 Propagating an update
28
DOLCLAN - Distributed Objects in Loose Coupled Local Area Networks28 Propagating an update
29
DOLCLAN - Distributed Objects in Loose Coupled Local Area Networks29 Creating an object remote
30
DOLCLAN - Distributed Objects in Loose Coupled Local Area Networks30.join_network() Current Blocking Non-blocking
31
DOLCLAN - Distributed Objects in Loose Coupled Local Area Networks31 Protocol Syntax Example State representation example
32
DOLCLAN - Distributed Objects in Loose Coupled Local Area Networks32 Default naming scheme
33
DOLCLAN - Distributed Objects in Loose Coupled Local Area Networks33 Graphs - join time Number of objects Number of peers
34
DOLCLAN - Distributed Objects in Loose Coupled Local Area Networks34 Graphs - message RTT Using PGM Using UDP
35
DOLCLAN - Distributed Objects in Loose Coupled Local Area Networks35 Graphs - performance penalty and DGC Performance penalty Distributed GC
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.