abc - ad-hoc collaboration - 24/03/2006 1 abc ad-hoc collaboration

18
ABC - Ad-hoc collaboration - 24/03/2006 ABC - Ad-hoc collaboration - 24/03/2006 1 ABC ABC Ad-hoc collaboration Ad-hoc collaboration

Post on 15-Jan-2016

220 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ABC - Ad-hoc collaboration - 24/03/2006 1 ABC Ad-hoc collaboration

ABC - Ad-hoc collaboration - 24/03/2006ABC - Ad-hoc collaboration - 24/03/2006 11

ABCABC

Ad-hoc collaborationAd-hoc collaboration

Page 2: ABC - Ad-hoc collaboration - 24/03/2006 1 ABC Ad-hoc collaboration

ABC - Ad-hoc collaboration - 24/03/2006ABC - Ad-hoc collaboration - 24/03/2006 22

AgendaAgenda

Activity Based Computing (short)Activity Based Computing (short)• What is ABC?What is ABC?

The current hybrid architectureThe current hybrid architecture• Current architectureCurrent architecture• Pros. et. cons.Pros. et. cons.

P2P infrastructure based on DOLCLANP2P infrastructure based on DOLCLAN• Peer-to-peer Distributed Shared ObjectsPeer-to-peer Distributed Shared Objects

Ad-hoc ABC collaborationAd-hoc ABC collaboration• StatusStatus

Page 3: ABC - Ad-hoc collaboration - 24/03/2006 1 ABC Ad-hoc collaboration

ABC - Ad-hoc collaboration - 24/03/2006ABC - Ad-hoc collaboration - 24/03/2006 33

Activity Based ComputingActivity Based Computing

Page 4: ABC - Ad-hoc collaboration - 24/03/2006 1 ABC Ad-hoc collaboration

ABC - Ad-hoc collaboration - 24/03/2006ABC - Ad-hoc collaboration - 24/03/2006 44

Activity Based ComputingActivity Based Computing

Page 5: ABC - Ad-hoc collaboration - 24/03/2006 1 ABC Ad-hoc collaboration

ABC - Ad-hoc collaboration - 24/03/2006ABC - Ad-hoc collaboration - 24/03/2006 55

Activity Based ComputingActivity Based Computing

Activity-basedActivity-based Collection of related servicesCollection of related services Many concurrent activitiesMany concurrent activities

Session migrationSession migration The user’s session is distributed across the hospitalThe user’s session is distributed across the hospital Suspend – Resume Suspend – Resume Heterogeneous devices Heterogeneous devices

CollaborationCollaboration 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 AwarenessContext Awareness The computer adapts itself to the user’s context (PACS)The computer adapts itself to the user’s context (PACS)

Page 6: ABC - Ad-hoc collaboration - 24/03/2006 1 ABC Ad-hoc collaboration

ABC - Ad-hoc collaboration - 24/03/2006ABC - Ad-hoc collaboration - 24/03/2006 66

The current architectureThe current architecture

Client-ServerClient-Server Easy to createEasy to create PerformancePerformance ScalabilityScalability

Hybrid architectureHybrid architecture AccountableAccountable EphemeralEphemeral

Page 7: ABC - Ad-hoc collaboration - 24/03/2006 1 ABC Ad-hoc collaboration

ABC - Ad-hoc collaboration - 24/03/2006ABC - Ad-hoc collaboration - 24/03/2006 77

Hybrid architectureHybrid architecture

ProsPros Concurrency controlConcurrency control Late joiningLate joining SecuritySecurity MembershipMembership InvitationsInvitations Synchronous collaborationSynchronous collaboration Asynchronous collaborationAsynchronous collaboration Failure detection / handling / repairingFailure detection / handling / repairing Discovery serviceDiscovery service

ConsCons Disconnected collaborationDisconnected collaboration Ad-hoc collaboration (Anywhere)Ad-hoc collaboration (Anywhere)

Page 8: ABC - Ad-hoc collaboration - 24/03/2006 1 ABC Ad-hoc collaboration

ABC - Ad-hoc collaboration - 24/03/2006ABC - Ad-hoc collaboration - 24/03/2006 88

ShortcomingsShortcomings

Ad-hoc collaborationAd-hoc collaboration No infrastructureNo infrastructure Collaboration anywhereCollaboration anywhere Disconnected collaborationDisconnected collaboration

Page 9: ABC - Ad-hoc collaboration - 24/03/2006 1 ABC Ad-hoc collaboration

ABC - Ad-hoc collaboration - 24/03/2006ABC - Ad-hoc collaboration - 24/03/2006 99

P2P infrastructure - DOLCLANP2P infrastructure - DOLCLAN

Distributed Objects in Loose Coupled Distributed Objects in Loose Coupled Local Area NetworksLocal Area Networks

Page 10: ABC - Ad-hoc collaboration - 24/03/2006 1 ABC Ad-hoc collaboration

ABC - Ad-hoc collaboration - 24/03/2006ABC - Ad-hoc collaboration - 24/03/2006 1010

PDSO and groupsPDSO and groups

Peer-to-peer Distributed Shared ObjectsPeer-to-peer Distributed Shared Objects OIDOID PDSOPDSO GroupGroup

Page 11: ABC - Ad-hoc collaboration - 24/03/2006 1 ABC Ad-hoc collaboration

ABC - Ad-hoc collaboration - 24/03/2006ABC - Ad-hoc collaboration - 24/03/2006 1111

Model View ControllerModel View Controller

Page 12: ABC - Ad-hoc collaboration - 24/03/2006 1 ABC Ad-hoc collaboration

ABC - Ad-hoc collaboration - 24/03/2006ABC - Ad-hoc collaboration - 24/03/2006 1212

SyntaxSyntax

public distributed class DistributedPoint {

//A distributed Pointprivate distributed ephemeral int x;private distributed ephemeral int y;...

}

Page 13: ABC - Ad-hoc collaboration - 24/03/2006 1 ABC Ad-hoc collaboration

ABC - Ad-hoc collaboration - 24/03/2006ABC - Ad-hoc collaboration - 24/03/2006 1313

SyntaxSyntaxpublic distributed class DistributedPoint : Observable {

//A distributed x positionprivate int x;public distributed ephemeral int X{

get { return this.x; }set {

this.x = value;//Notify observersthis.stateChanged();

}}

//A distributed y position...

}

Page 14: ABC - Ad-hoc collaboration - 24/03/2006 1 ABC Ad-hoc collaboration

ABC - Ad-hoc collaboration - 24/03/2006ABC - Ad-hoc collaboration - 24/03/2006 1414

SyntaxSyntax

public void start(){OID[] oids = EaterModel.getOIDs();if (oids.Length > 0){

model = join EaterModel(oids[0]);} else {

model = new EaterModel("MyGame",10);}...

}

Page 15: ABC - Ad-hoc collaboration - 24/03/2006 1 ABC Ad-hoc collaboration

ABC - Ad-hoc collaboration - 24/03/2006ABC - Ad-hoc collaboration - 24/03/2006 1515

SyntaxSyntax

public distributed class DistributedStone : Observable {...public void merge(object netState){//Cast the object to a DistributedStoneDistributedStone netStone = (DistributedStone)netState;

//The position never change, so thats up to date

//Figure out if the stone has been eaten either offline or onlinethis.Eaten = (this.Eaten || netStone.Eaten);}

}

Page 16: ABC - Ad-hoc collaboration - 24/03/2006 1 ABC Ad-hoc collaboration

ABC - Ad-hoc collaboration - 24/03/2006ABC - Ad-hoc collaboration - 24/03/2006 1616

An exampleAn example

Page 17: ABC - Ad-hoc collaboration - 24/03/2006 1 ABC Ad-hoc collaboration

ABC - Ad-hoc collaboration - 24/03/2006ABC - Ad-hoc collaboration - 24/03/2006 1717

Current statusCurrent status

ABC supportABC support Collaboration using a server and P2PCollaboration using a server and P2P Ad hoc collaboration using DOLCLANAd hoc collaboration using DOLCLAN Hybrid collaborationHybrid collaboration P2P

CENTRALIZED

Page 18: ABC - Ad-hoc collaboration - 24/03/2006 1 ABC Ad-hoc collaboration

ABC - Ad-hoc collaboration - 24/03/2006ABC - Ad-hoc collaboration - 24/03/2006 1818

Current statusCurrent status