Download presentation
Presentation is loading. Please wait.
Published byEric Hopkins Modified over 9 years ago
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…
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.