ABC - Ad-hoc collaboration - 24/03/ ABC Ad-hoc collaboration
ABC - Ad-hoc collaboration - 24/03/20062 Agenda Activity Based Computing (short) What is ABC?What is ABC? The current hybrid architecture Current architectureCurrent architecture Pros. et. cons.Pros. et. cons. P2P infrastructure based on DOLCLAN Peer-to-peer Distributed Shared ObjectsPeer-to-peer Distributed Shared Objects Ad-hoc ABC collaboration StatusStatus
ABC - Ad-hoc collaboration - 24/03/20063 Activity Based Computing
ABC - Ad-hoc collaboration - 24/03/20064 Activity Based Computing
ABC - Ad-hoc collaboration - 24/03/20065 Activity Based Computing Activity-based Collection of related services Collection of related services Many concurrent activities Many concurrent activities Session migration The user’s session is distributed across the hospital The user’s session is distributed across the hospital Suspend – Resume Suspend – Resume Heterogeneous devices Heterogeneous devices Collaboration Shared activity (‘tele-conference’) (different places) Shared activity (‘tele-conference’) (different places) Synchronous (same time) + Asynchronous (different time) Synchronous (same time) + Asynchronous (different time) Ad-hoc (Any place, but synchronous) Ad-hoc (Any place, but synchronous) Context Awareness The computer adapts itself to the user’s context (PACS) The computer adapts itself to the user’s context (PACS)
ABC - Ad-hoc collaboration - 24/03/20066 The current architecture Client-Server Easy to create Easy to create Performance Performance Scalability Scalability Hybrid architecture Accountable Accountable Ephemeral Ephemeral
ABC - Ad-hoc collaboration - 24/03/20067 Hybrid architecture Pros Concurrency control Concurrency control Late joining Late joining Security Security Membership Membership Invitations Invitations Synchronous collaboration Synchronous collaboration Asynchronous collaboration Asynchronous collaboration Failure detection / handling / repairing Failure detection / handling / repairing Discovery service Discovery service Cons Disconnected collaboration Disconnected collaboration Ad-hoc collaboration (Anywhere) Ad-hoc collaboration (Anywhere)
ABC - Ad-hoc collaboration - 24/03/20068 Shortcomings Ad-hoc collaboration No infrastructure No infrastructure Collaboration anywhere Collaboration anywhere Disconnected collaboration Disconnected collaboration
ABC - Ad-hoc collaboration - 24/03/20069 P2P infrastructure - DOLCLAN Distributed Objects in Loose Coupled Local Area Networks
ABC - Ad-hoc collaboration - 24/03/ PDSO and groups Peer-to-peer Distributed Shared Objects OID OID PDSO PDSO Group Group
ABC - Ad-hoc collaboration - 24/03/ Model View Controller
ABC - Ad-hoc collaboration - 24/03/ Syntax public distributed class DistributedPoint { //A distributed Point private distributed ephemeral int x; private distributed ephemeral int y;... }
ABC - Ad-hoc collaboration - 24/03/ Syntax public distributed class DistributedPoint : Observable { //A distributed x position private int x; public distributed ephemeral int X{ get { return this.x; } set { this.x = value; //Notify observers this.stateChanged(); } //A distributed y position... }
ABC - Ad-hoc collaboration - 24/03/ Syntax public void start(){ OID[] oids = EaterModel.getOIDs(); if (oids.Length > 0){ model = join EaterModel(oids[0]); } else { model = new EaterModel("MyGame",10); }... }
ABC - Ad-hoc collaboration - 24/03/ Syntax public distributed class DistributedStone : Observable {... public void merge(object netState){ //Cast the object to a DistributedStone DistributedStone netStone = (DistributedStone)netState; //The position never change, so thats up to date //Figure out if the stone has been eaten either offline or online this.Eaten = (this.Eaten || netStone.Eaten); }
ABC - Ad-hoc collaboration - 24/03/ An example
ABC - Ad-hoc collaboration - 24/03/ Current status ABC support Collaboration using a server and P2P Collaboration using a server and P2P Ad hoc collaboration using DOLCLAN Ad hoc collaboration using DOLCLAN Hybrid collaboration Hybrid collaboration P2P CENTRALIZED
ABC - Ad-hoc collaboration - 24/03/ Current status