Presentation is loading. Please wait.

Presentation is loading. Please wait.

Concurrency Seminar : PeerSpaces Data-Driven Coordination on P2P Networks PeerSpaces: Data-Driven Coordination on P2P Networks (2003) From Nadia Busi,

Similar presentations


Presentation on theme: "Concurrency Seminar : PeerSpaces Data-Driven Coordination on P2P Networks PeerSpaces: Data-Driven Coordination on P2P Networks (2003) From Nadia Busi,"— Presentation transcript:

1 Concurrency Seminar : PeerSpaces Data-Driven Coordination on P2P Networks PeerSpaces: Data-Driven Coordination on P2P Networks (2003) From Nadia Busi, Cristian Manfredini, Alberto Montresor and Gianluigi Zavattaro of University of Bologna Presented by Samuele Milani

2 Concurrency Seminar : PeerSpaces Data-Driven Coordination on P2P Networks 2

3 3 Summary  New coordination model (The Peer Spaces Model)  Exploit the Linda Model for Peer-to-Peer Networks.  Prototypical implementation (JXTA).

4 Concurrency Seminar : PeerSpaces Data-Driven Coordination on P2P Networks 4 Overview 1)Peer-to-Peer Networks 2)The Linda Model 3)Linda in a Mobile Environment (LIME) 4)Peer Spaces 5)An Implementation with JXTA

5 Concurrency Seminar : PeerSpaces Data-Driven Coordination on P2P Networks 5 1. Peer-to-Peer Networks

6 Concurrency Seminar : PeerSpaces Data-Driven Coordination on P2P Networks 6 Peer-to-Peer Basics  Various type of Networks : - Client-Server : Web servers - Hybrid P2P : Napster, eDonkey - Pure P2P : Gnutella, Freenet

7 Concurrency Seminar : PeerSpaces Data-Driven Coordination on P2P Networks 7 The eDonkey Network

8 Concurrency Seminar : PeerSpaces Data-Driven Coordination on P2P Networks 8 Problems ?  High comunication overhead  Slow search  Distribution of load & resources  Elephant & Mice problem  …

9 Concurrency Seminar : PeerSpaces Data-Driven Coordination on P2P Networks 9 2. The Linda Model

10 Concurrency Seminar : PeerSpaces Data-Driven Coordination on P2P Networks 10 The Linda Model  Developped at Yale University in 1985  Shared memory accessible by all processes  Data elements consists of tuples  Tuple is like a record ex. (‘worker’, 0, i)  Four basic primitives  Implemented through libraries (Linda for C, Fortran, C++)

11 Concurrency Seminar : PeerSpaces Data-Driven Coordination on P2P Networks 11 The Fantastic 4  out(‘test’, 4, 64) places a data tuple in tuple space  eval(‘test’,i, f(i)) creates a live tuple, which start a process that evaluate each argument  rd(‘test’, ?i, ?j) blocking read the values in a tuple in a tuple space  in(‘test’, ?i, ?j) blocking same as rd except that it also removes the tuple from the tuple space

12 Concurrency Seminar : PeerSpaces Data-Driven Coordination on P2P Networks 12 Example (‘Test’,1) (‘Test2’,18) Boss Slave (‘Car’,180,’Volvo’) Slave

13 Concurrency Seminar : PeerSpaces Data-Driven Coordination on P2P Networks 13 Example (‘Test’,1) (‘Test2’,18) Boss Slave (‘Car’,180,’Volvo’) Slave out(‘Job1’,100,’$’)

14 Concurrency Seminar : PeerSpaces Data-Driven Coordination on P2P Networks 14 Example (‘Test’,1) (‘Test2’,18) Boss Slave (‘Car’,180,’Volvo’) Slave (‘Job1’,100,’$’)

15 Concurrency Seminar : PeerSpaces Data-Driven Coordination on P2P Networks 15 Example (‘Test’,1) (‘Test2’,18) Boss Slave (‘Car’,180,’Volvo’) Slave (‘Job1’,100,’$’) in(‘Job1’,?i,’$’)

16 Concurrency Seminar : PeerSpaces Data-Driven Coordination on P2P Networks 16 Example (‘Test’,1) (‘Test2’,18) Boss Slave (‘Car’,180,’Volvo’) Slave (‘Job1’,100,’$’)

17 Concurrency Seminar : PeerSpaces Data-Driven Coordination on P2P Networks 17 3. Lime (Linda in Mobile Environment)

18 Concurrency Seminar : PeerSpaces Data-Driven Coordination on P2P Networks 18 Lime  Problems with Linda : - where i store the tuples (Server) - rather statical model - not suitable for dynamical changing networks  Lime designed for mobile applications over wired and ad hoc networks  Supports physical and logical mobility of the hosts  Introduces transiently shared data space  Decoupled and opportunistic style of computation

19 Concurrency Seminar : PeerSpaces Data-Driven Coordination on P2P Networks 19 Transiently shared Dataspaces Process Level Data Space Host Level Data Space Transiently shared Data Space

20 Concurrency Seminar : PeerSpaces Data-Driven Coordination on P2P Networks 20 4. Peer Spaces

21 Concurrency Seminar : PeerSpaces Data-Driven Coordination on P2P Networks 21 Motivation  Adapt the Linda/Lime Model to P2P  Generative communication  Must support extreme dynamism in structure, content and load  Large degree of self-configuration and self management is required  New coordination model PeerSpaces  Formal rules, abstraction of data and network structure

22 Concurrency Seminar : PeerSpaces Data-Driven Coordination on P2P Networks 22 Definitions  Data (d)  Local data  Generic data (Chat)  Replicable data (FileSharing)  Peer p [P, DS]  Ps set of peers  MD Misplaced data  Network topology

23 Concurrency Seminar : PeerSpaces Data-Driven Coordination on P2P Networks 23 A Peer Space Example Peer p : p( write(job,Gen).read(response,8).write(cash,Gen). P, { }) Peer q : q( read(job,8).write(response,Rep).read(cash,8). write(pay,Gen). Q, {dog}) Peer r : r( read(pay,8).write(receipt,Gen).R, {credit}) Network : -fully connected MD = { }

24 Concurrency Seminar : PeerSpaces Data-Driven Coordination on P2P Networks 24 A Peer Space Example Peer p : p( write(job,Gen).read(response,8).write(cash,Gen). P, { }) Peer q : q( read(job,8).write(response,Rep).read(cash,8). write(pay,Gen). Q, {dog}) Peer r : r( read(pay,8).write(receipt,Gen).R, {credit}) Network : -fully connected MD = { }

25 Concurrency Seminar : PeerSpaces Data-Driven Coordination on P2P Networks 25 A Peer Space Example Peer p : p( read(response,8).write(cash,Gen). P, {job }) Peer q : q( read(job,8).write(response,Rep).read(cash,8). write(pay,Gen). Q, {dog}) Peer r : r( read(pay,8).write(receipt,Gen).R, {credit}) Network : -fully connected MD = { }

26 Concurrency Seminar : PeerSpaces Data-Driven Coordination on P2P Networks 26 A Peer Space Example Peer p : p( read(response,8).write(cash,Gen). P, {}) Peer q : q( read(job,8).write(response,Rep).read(cash,8). write(pay,Gen). Q, {dog}) Peer r : r( read(pay,8).write(receipt,Gen).R, {credit}) Network : -fully connected MD = {job }

27 Concurrency Seminar : PeerSpaces Data-Driven Coordination on P2P Networks 27 A Peer Space Example Peer p : p( read(response,8).write(cash,Gen). P, { }) Peer q : q( write(response,Rep).read(cash,8). write(pay,Gen). Q, {dog, job }) Peer r : r( read(pay,8).write(receipt,Gen).R, {credit}) Network : -fully connected MD = { }

28 Concurrency Seminar : PeerSpaces Data-Driven Coordination on P2P Networks 28 A Peer Space Example Peer p : p( read(response,8).write(cash,Gen). P, { }) Peer q : q( read(cash,8). write(pay,Gen). Q, {dog, job, response }) Peer r : r( read(pay,8).write(receipt,Gen).R, {credit}) Network : -fully connected MD = { }

29 Concurrency Seminar : PeerSpaces Data-Driven Coordination on P2P Networks 29 A Peer Space Example Peer p : p( write(cash,Gen). P, {response }) Peer q : q( read(cash,8). write(pay,Gen). Q, {dog, job, response }) Peer r : r( read(pay,8).write(receipt,Gen).R, {credit}) Network : -fully connected MD = { }

30 Concurrency Seminar : PeerSpaces Data-Driven Coordination on P2P Networks 30 A Peer Space Example Peer p : p(P, {response, cash }) Peer q : q( read(cash,8). write(pay,Gen). Q, {dog, job, response }) Peer r : r( read(pay,8).write(receipt,Gen).R, {credit}) Network : -fully connected MD = { }

31 Concurrency Seminar : PeerSpaces Data-Driven Coordination on P2P Networks 31 A Peer Space Example Peer p : p(P, {response}) Peer q : q( write(pay,Gen). Q, {dog, job, response, cash } ) Peer r : r( read(pay,8).write(receipt,Gen).R, {credit}) Network : -fully connected MD = { }

32 Concurrency Seminar : PeerSpaces Data-Driven Coordination on P2P Networks 32 A Peer Space Example Peer p : p(P, {response}) Peer q : q( Q, {dog, job, response, cash, pay } ) Peer r : r( read(pay,8).write(receipt,Gen).R, {credit}) Network : -fully connected MD = { }

33 Concurrency Seminar : PeerSpaces Data-Driven Coordination on P2P Networks 33 A Peer Space Example Peer p : p(P, {response}) Peer q : q( Q, {dog, job, response, cash } ) Peer r : r( read(pay,8).write(receipt,Gen).R, {credit}) Network : -A Node has disconnected now Route(q,r) = false MD = {pay }

34 Concurrency Seminar : PeerSpaces Data-Driven Coordination on P2P Networks 34 Data Production

35 Concurrency Seminar : PeerSpaces Data-Driven Coordination on P2P Networks 35 Data Retrieval

36 Concurrency Seminar : PeerSpaces Data-Driven Coordination on P2P Networks 36 Constant and Context Rules

37 Concurrency Seminar : PeerSpaces Data-Driven Coordination on P2P Networks 37 Open issues ? Implementation of : - Route (p, p’) - Hor (p, h) - LoadBal (p,p’,d)

38 Concurrency Seminar : PeerSpaces Data-Driven Coordination on P2P Networks 38 5. A JXTA Prototypical Implementation

39 Concurrency Seminar : PeerSpaces Data-Driven Coordination on P2P Networks 39 What’s JXTA ?  JXTA is an open-source project by Sun to provide a set of basic facilities for P2P applications  Based on a set of XML protocols  JXTA middleware has 3 layers - core : low-level functions (routing, communication, …) - services : indexing, searching, file sharing - applications : high-level application (chat, auction, …)

40 Concurrency Seminar : PeerSpaces Data-Driven Coordination on P2P Networks 40 The JPS Network

41 Concurrency Seminar : PeerSpaces Data-Driven Coordination on P2P Networks 41 Conclusion  We can not yet draw conclusions until concrete implementations comes out !!!!  But the model should theoretically work To be continued…


Download ppt "Concurrency Seminar : PeerSpaces Data-Driven Coordination on P2P Networks PeerSpaces: Data-Driven Coordination on P2P Networks (2003) From Nadia Busi,"

Similar presentations


Ads by Google