Presentation is loading. Please wait.

Presentation is loading. Please wait.

DOLCLAN - Distributed Objects in Loose Coupled Local Area Networks 1 DOLCLAN Distributed Objects in Loose Coupled Local Area Networks.

Similar presentations


Presentation on theme: "DOLCLAN - Distributed Objects in Loose Coupled Local Area Networks 1 DOLCLAN Distributed Objects in Loose Coupled Local Area Networks."— Presentation transcript:

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


Download ppt "DOLCLAN - Distributed Objects in Loose Coupled Local Area Networks 1 DOLCLAN Distributed Objects in Loose Coupled Local Area Networks."

Similar presentations


Ads by Google