SlideShare a Scribd company logo
1 of 57
An Efficient Reactive Model for
Resource Discovery in DHT-Based
Peer-to-Peer Networks
James Salter
Supervisor: Dr Nick Antonopoulos
2 October 2006
Outline
 Introduction and Background
 ROME Architecture
 Node Processes
 Evaluation
 Conclusions and Future Work
Client/Server Networks
 Clients send requests to/via a central server
 Small #messages
 Single point of failure
Peer-to-Peer Networks
 No central server
 Node to node connections
 Resilient
 Large #messages
File sharing, distributed computing, instant messaging
Napster
Gnutella
Chord
 Structured Peer-to-Peer architecture
 Well-known in the research field
 Combine advantages of Napster and
Gnutella-like architectures:
 An index of resources (Napster)
 distributed over multiple nodes (Gnutella)
 Based on Distributed Hash Tables
 Simple lookup mechanism
 Given a key, it will return associated value(s)
10, 16, 28, 34
Distributed Hash Tables
 Hash functions map data keys to buckets
 Keys are stored in buckets in index table
0
1
2
3
4
5
f(x) = x mod 6
f(15) = 15 mod 6 = 3
12, 24, 30
19, 61
20, 26, 56
3, 9
23, 35, 65
f(36) = 36 mod 6 = 0
Distributed Hash Tables
 Each node hosts part of the index (one or
more buckets)
Chord
20
0 1
8
12
15
2 3 4 5 6 7 8
Chord
log2(n) hops worst case
½log2(n) hops average
ROME Concept
 Message cost is proportional to number
of nodes in network (n)
 Reduce n, reduce message cost
 Goal: Keep the ring “just big enough”
 Must always support current workload
 Not unnecessarily large
 Workload should determine ring size,
not number of nodes in the network
 Adding functionality to Chord
ROME Architecture
ROME
Chord
Lower
Layers
Traffic
Analyser
Node
Actions
ROME Data
ROME Node Process
Monitor
Workload
Attempt to
Replace Node
Attempt to Add
New Node
Attempt to
Remove Node
Pause
Overloaded Underloaded
Normal
Success
Failure
ROME Node Process
Monitor
Workload
Attempt to
Replace Node
Attempt to Add
New Node
Attempt to
Remove Node
Pause
Overloaded Underloaded
Normal
Success
Failure
Node Workload Monitoring
Zero LimitLower
Threshold
Target Upper
Threshold
Node Workload Monitoring
Zero LimitLower
Threshold
Target Upper
Threshold
Underloaded
Node Workload Monitoring
Zero LimitLower
Threshold
Target Upper
Threshold
Underloaded Normal
Node Workload Monitoring
Zero LimitLower
Threshold
Target Upper
Threshold
Underloaded Normal Overloaded
ROME Node Process
Monitor
Workload
Attempt to
Replace Node
Attempt to Add
New Node
Attempt to
Remove Node
Pause
Overloaded Underloaded
Normal
Success
Failure
ROME Node Process
Monitor
Workload
Attempt to
Replace Node
Attempt to Add
New Node
Attempt to
Remove Node
Pause
Overloaded Underloaded
Normal
Success
Failure
Replace Action
Overloaded
v0.2 5 cur_wl, targetA
Replace Action
 Search node pool to find a node with:
NPNode.LowerThreshold < OLNode.Workload AND
NPNode.UpperThreshold > OLNode.Workload
 Break ties by selecting best
quality node
 Percentage of heartbeats
received from node since
initial registration
 Measure of node reliability
Replace Action
Overloaded
v0.2 6 replace, node=Bbs
v0.2 7 chordID=21A
Replace Action
v0.2 1 tgt, thresholdsA
ROME Node Process
Monitor
Workload
Attempt to
Replace Node
Attempt to Add
New Node
Attempt to
Remove Node
Pause
Overloaded Underloaded
Normal
Success
Failure
ROME Node Process
Monitor
Workload
Attempt to
Replace Node
Attempt to Add
New Node
Attempt to
Remove Node
Pause
Overloaded Underloaded
Normal
Success
Failure
Add Action
 No nodes found to replace overloaded
node
 Add a node to share enough
workload to restore overloaded
node to normal workload
NPNode.LowerThreshold <
(OLNode.Workload - OLNode.Target)
AND
NPNode.UpperThreshold >
(OLNode.Workload - OLNode.Target)
Add Action
Overloaded
v0.2 6 add, node=C, C.tgt, C.thresholdsbs
Add Action
16 17 18 19 2015 21
ID: 21ID: 14
workload
ID: ??
Add Action
Overloaded
v0.2 7 chordID=18A
Add Action
ROME Node Process
Monitor
Workload
Attempt to
Replace Node
Attempt to Add
New Node
Attempt to
Remove Node
Pause
Overloaded Underloaded
Normal
Success
Failure
ROME Node Process
Monitor
Workload
Attempt to
Replace Node
Attempt to Add
New Node
Attempt to
Remove Node
Pause
Overloaded Underloaded
Normal
Success
Failure
Remove Action
Underloaded
v0.2 8 current_wlG
Remove Action
 If node is removed, successor
becomes responsible for its portion of
keyspace (+ workload)
 Must check successor will not become
overloaded: prevent chain reactions
Succ.UpperThreshold >
Succ.Workload + ULNode.Workload
Remove Action
Underloaded
v0.2 9 Accept/DeclineH
Remove Action
v0.2 1 tgt, thresholdsA
Additional Issues
 Node Locking
 Prevent chain reactions/overcompensation
 Workload from a single key
 Add action not attempted: assumption that
keys are atomic
 Ring collapse vulnerability
 Monitoring interval to stop too many
concurrent changes
 High volume of replaces
 Switch off replace action if few nodes in pool
Dynamic Ring Performance
 Reduction in hop count by controlling
network size based on theoretical work:
 Max hops per lookup = log2(n)
 Mean hops per lookup = ½log2(n)
 If ring A < ring B, then log2(A) < log2(B)
 - in a static ring with correct routing information
 Does this hold true in more realistic
dynamic scenarios, with nodes
joining/leaving or failing?
Simulation: ROME vs Chord
 Two Chord rings, one running ROME
 1000 available nodes
 Node capacity: 100-400 workload units
 10 node joins per time tick
 10 node failures per tick
 500 lookups per tick
 ROME Thresholds: 5% Lower, 95% Upper
 Target Workload: 50%
 Standard Chord maintenance/update routines
run every clock tick
Workload Variation
0
50000
100000
150000
200000
250000
0 2000 4000 6000 8000 10000 12000
time
workload
0
1
2
3
4
5
6
0 2000 4000 6000 8000 10000 12000
time
meanmessagespersuccessfulquery
Messages per Query
ROME Chord
Cumulative Message Savings
0
1
2
3
4
5
6
7
8
0 2000 4000 6000 8000 10000 12000
time
lookupmessagesavings(cumulative
millions)
Number of Nodes in Each Ring
ROME Chord
0
100
200
300
400
500
600
700
800
900
1000
0 2000 4000 6000 8000 10000 12000
time
nodesinring
Query Success Rate
0%
20%
40%
60%
80%
100%
0 2000 4000 6000 8000 10000 12000
time
%successfulqueries
ROME Chord
Maintenance Cost
0
1000
2000
3000
4000
5000
6000
7000
8000
0 2000 4000 6000 8000 10000 12000
time
maintenancemessages
ROME Chord
Thresholds
Thresholds
LT=5%, UT=95%
LT=25%, UT=75%
LT=45%, UT=55%
0%
20%
40%
60%
80%
100%
0 2000 4000 6000 8000 10000 12000
time
%successfulqueries
Churn Rate (Failure is Good!)
0
200
400
600
800
1000
0 2000 4000 6000 8000 10000 12000
time
nodesinring
0 fail/tick
1 fail/tick
5 fail/tick
10 fail/tick
20 fail/tick
30 fail/tick
Churn Rate (Failure is Good!)
0
1
2
3
4
5
6
7
0 2000 4000 6000 8000 10000 12000
time
meanmessagespersuccessfulquery
0 failures/tick
1 failure/tick
5 failures/tick
10 failures/tick
20 failures/tick
30 failures/tick
Churn Rate (Failure is Good!)
0%
20%
40%
60%
80%
100%
0 2000 4000 6000 8000 10000 12000
time
%successfulqueries
0 failures/tick
1 failure/tick
5 failures/tick
10 failures/tick
20 failures/tick
30 failures/tick
Limitations of ROME
 Requires workload to be less than node
capacity
 May not be appropriate if likely to be near-equal for
majority of network’s lifetime
 Optimisations occur at the node level
 Always yields a globally optimum solution?
 Based on Chord and DHT architectures
 Any issues found (probably) inherited by ROME
 Increasing workload, failed bootstrap server
 No more nodes will be added – these would be present in
standard Chord ring, so ROME ring would drop more
workload
Potential Applications
Similar to Chord applications
 DNS lookup services
 File storage systems
 Simple databases
 Messaging
 Service Discovery
 Distributed Processing
Where workload is likely to be lower than
capacity offered by connected nodes
Future Work
 Remove reliance on single server
 Share node pools between multiple bootstrap
servers using G-ROME
 Combinations of actions
 Apply ROME concepts to other P2P
networks
 Use in unstructured networks?
 Applications in other domains
 Wireless/ad-hoc networks with dynamic
machine joins/leaves
Conclusions
 Proposed ROME, a layer running on
top of Chord
 Chord routes messages in O(log2 n) hops,
where n is number of nodes in ring
 ROME controls size of underlying Chord ring
 Simple set of actions to add/remove nodes
 Simulations show ROME can reduce
lookup cost vs standard Chord ring
 Platform for further work
 Enhance ROME, use as building block for new
services, apply to other domains
Publications List
J Salter and N Antonopoulos, “An Optimised Two-Tier P2P Architecture for Contextualised
Keyword Searches”, Future Generation Computer Systems, 2007.
G Exarchakos, J Salter and N Antonopoulos, “G-ROME: A Semantic Driven Model for Capacity
Sharing Among P2P Networks”, to appear in Internet Research.
G Exarchakos, J Salter and N Antonopoulos, “Semantic Cooperation and Node Sharing Among
P2P Networks”, Sixth International Network Conference (INC 2006).
J Salter and N Antonopoulos, “The CinemaScreen Recommender Agent: A Film Recommender
Combining Collaborative and Content-Based Filtering”, IEEE Intelligent Systems, 2006.
N Antonopoulos, J Salter and R Peel, “A Multi-Ring Method for Efficient Multi-Dimensional Data
Lookup in P2P Networks”, 2005 International Conference on Foundations of Computer
Science (FCS ’05).
J Salter, N Antonopoulos and R Peel, “ROME: Optimising Lookup and Load Balancing in DHT-
based P2P Networks”, 2005 International Conference on Parallel and Distributed
Processing Techniques and Applications (PDPTA ’05).
J Salter and N Antonopoulos, “ROME: Optimising DHT-based Peer-to-Peer Networks”, Fifth
International Network Conference (INC 2005).
N Antonopoulos and J Salter, “Efficient Resource Discovery in Grids and P2P Networks”,
Internet Research, 2004.
J Salter and N Antonopoulos, “An Efficient Fault Tolerant Approach to Resource Discovery in
P2P Networks”, UniS Computing Sciences Report CS-04-02, 2004.
N Antonopoulos and J Salter, “Improving Query Routing Efficiency in Peer-to-Peer Networks”,
UniS Computing Sciences Report CS-04-01, 2004.
J Salter and N Antonopoulos, “An Efficient Mechanism for Adaptive Resource Discovery in
Grids”, Fourth International Network Conference (INC 2004).
N Antonopoulos and J Salter, “Towards an Intelligent Agent Model for Resource Discovery in
Grid Environments”, IADIS International Conference Applied Computing 2004.
An Efficient Reactive Model for Resource Discovery in DHT-Based Peer-to-Peer Networks

More Related Content

What's hot

Analysis big data by use php with storm
Analysis big data by use php with stormAnalysis big data by use php with storm
Analysis big data by use php with storm毅 吕
 
Developing And Deploying Edge Analytics: Dave Rauschenbach
Developing And Deploying Edge Analytics: Dave RauschenbachDeveloping And Deploying Edge Analytics: Dave Rauschenbach
Developing And Deploying Edge Analytics: Dave RauschenbachRedis Labs
 
The Ring programming language version 1.7 book - Part 52 of 196
The Ring programming language version 1.7 book - Part 52 of 196The Ring programming language version 1.7 book - Part 52 of 196
The Ring programming language version 1.7 book - Part 52 of 196Mahmoud Samir Fayed
 
Developing and Deploying Edge Analytics with Redis
Developing and Deploying Edge Analytics with RedisDeveloping and Deploying Edge Analytics with Redis
Developing and Deploying Edge Analytics with RedisDavid Rauschenbach
 
DTrace - Miracle Scotland Database Forum
DTrace - Miracle Scotland Database ForumDTrace - Miracle Scotland Database Forum
DTrace - Miracle Scotland Database ForumDoug Burns
 
[2C1] 아파치 피그를 위한 테즈 연산 엔진 개발하기 최종
[2C1] 아파치 피그를 위한 테즈 연산 엔진 개발하기 최종[2C1] 아파치 피그를 위한 테즈 연산 엔진 개발하기 최종
[2C1] 아파치 피그를 위한 테즈 연산 엔진 개발하기 최종NAVER D2
 
Distributed real time stream processing- why and how
Distributed real time stream processing- why and howDistributed real time stream processing- why and how
Distributed real time stream processing- why and howPetr Zapletal
 
Netflix SRE perf meetup_slides
Netflix SRE perf meetup_slidesNetflix SRE perf meetup_slides
Netflix SRE perf meetup_slidesEd Hunter
 
Integrate Solr with real-time stream processing applications
Integrate Solr with real-time stream processing applicationsIntegrate Solr with real-time stream processing applications
Integrate Solr with real-time stream processing applicationslucenerevolution
 
Real-time streams and logs with Storm and Kafka
Real-time streams and logs with Storm and KafkaReal-time streams and logs with Storm and Kafka
Real-time streams and logs with Storm and KafkaAndrew Montalenti
 
From Gust To Tempest: Scaling Storm
From Gust To Tempest: Scaling StormFrom Gust To Tempest: Scaling Storm
From Gust To Tempest: Scaling StormDataWorks Summit
 
Tracing Parallel Execution (UKOUG 2006)
Tracing Parallel Execution (UKOUG 2006)Tracing Parallel Execution (UKOUG 2006)
Tracing Parallel Execution (UKOUG 2006)Doug Burns
 
OSMC 2012 | Neues in Nagios 4.0 by Andreas Ericsson
OSMC 2012 | Neues in Nagios 4.0 by Andreas EricssonOSMC 2012 | Neues in Nagios 4.0 by Andreas Ericsson
OSMC 2012 | Neues in Nagios 4.0 by Andreas EricssonNETWAYS
 
Effective testing for spark programs Strata NY 2015
Effective testing for spark programs   Strata NY 2015Effective testing for spark programs   Strata NY 2015
Effective testing for spark programs Strata NY 2015Holden Karau
 
Cassandra and Storm at Health Market Sceince
Cassandra and Storm at Health Market SceinceCassandra and Storm at Health Market Sceince
Cassandra and Storm at Health Market SceinceP. Taylor Goetz
 
streamparse and pystorm: simple reliable parallel processing with storm
streamparse and pystorm: simple reliable parallel processing with stormstreamparse and pystorm: simple reliable parallel processing with storm
streamparse and pystorm: simple reliable parallel processing with stormDaniel Blanchard
 

What's hot (17)

Analysis big data by use php with storm
Analysis big data by use php with stormAnalysis big data by use php with storm
Analysis big data by use php with storm
 
Developing And Deploying Edge Analytics: Dave Rauschenbach
Developing And Deploying Edge Analytics: Dave RauschenbachDeveloping And Deploying Edge Analytics: Dave Rauschenbach
Developing And Deploying Edge Analytics: Dave Rauschenbach
 
The Ring programming language version 1.7 book - Part 52 of 196
The Ring programming language version 1.7 book - Part 52 of 196The Ring programming language version 1.7 book - Part 52 of 196
The Ring programming language version 1.7 book - Part 52 of 196
 
Developing and Deploying Edge Analytics with Redis
Developing and Deploying Edge Analytics with RedisDeveloping and Deploying Edge Analytics with Redis
Developing and Deploying Edge Analytics with Redis
 
Storm
StormStorm
Storm
 
DTrace - Miracle Scotland Database Forum
DTrace - Miracle Scotland Database ForumDTrace - Miracle Scotland Database Forum
DTrace - Miracle Scotland Database Forum
 
[2C1] 아파치 피그를 위한 테즈 연산 엔진 개발하기 최종
[2C1] 아파치 피그를 위한 테즈 연산 엔진 개발하기 최종[2C1] 아파치 피그를 위한 테즈 연산 엔진 개발하기 최종
[2C1] 아파치 피그를 위한 테즈 연산 엔진 개발하기 최종
 
Distributed real time stream processing- why and how
Distributed real time stream processing- why and howDistributed real time stream processing- why and how
Distributed real time stream processing- why and how
 
Netflix SRE perf meetup_slides
Netflix SRE perf meetup_slidesNetflix SRE perf meetup_slides
Netflix SRE perf meetup_slides
 
Integrate Solr with real-time stream processing applications
Integrate Solr with real-time stream processing applicationsIntegrate Solr with real-time stream processing applications
Integrate Solr with real-time stream processing applications
 
Real-time streams and logs with Storm and Kafka
Real-time streams and logs with Storm and KafkaReal-time streams and logs with Storm and Kafka
Real-time streams and logs with Storm and Kafka
 
From Gust To Tempest: Scaling Storm
From Gust To Tempest: Scaling StormFrom Gust To Tempest: Scaling Storm
From Gust To Tempest: Scaling Storm
 
Tracing Parallel Execution (UKOUG 2006)
Tracing Parallel Execution (UKOUG 2006)Tracing Parallel Execution (UKOUG 2006)
Tracing Parallel Execution (UKOUG 2006)
 
OSMC 2012 | Neues in Nagios 4.0 by Andreas Ericsson
OSMC 2012 | Neues in Nagios 4.0 by Andreas EricssonOSMC 2012 | Neues in Nagios 4.0 by Andreas Ericsson
OSMC 2012 | Neues in Nagios 4.0 by Andreas Ericsson
 
Effective testing for spark programs Strata NY 2015
Effective testing for spark programs   Strata NY 2015Effective testing for spark programs   Strata NY 2015
Effective testing for spark programs Strata NY 2015
 
Cassandra and Storm at Health Market Sceince
Cassandra and Storm at Health Market SceinceCassandra and Storm at Health Market Sceince
Cassandra and Storm at Health Market Sceince
 
streamparse and pystorm: simple reliable parallel processing with storm
streamparse and pystorm: simple reliable parallel processing with stormstreamparse and pystorm: simple reliable parallel processing with storm
streamparse and pystorm: simple reliable parallel processing with storm
 

Viewers also liked

12 Multiple Access
12 Multiple Access12 Multiple Access
12 Multiple AccessAhmar Hashmi
 
03 internetworking
03 internetworking03 internetworking
03 internetworkingbajulusiraj
 
24 Congestion Control_and_Quality_of_Service
24 Congestion Control_and_Quality_of_Service24 Congestion Control_and_Quality_of_Service
24 Congestion Control_and_Quality_of_ServiceAhmar Hashmi
 
23 Process to_Process_Delivery_UDP_TCP_and_SCTP
23 Process to_Process_Delivery_UDP_TCP_and_SCTP23 Process to_Process_Delivery_UDP_TCP_and_SCTP
23 Process to_Process_Delivery_UDP_TCP_and_SCTPAhmar Hashmi
 
32 Security in_Internet_IP_SEC_SSL/TLS_PGN_VPN_and_Firewalls
32 Security in_Internet_IP_SEC_SSL/TLS_PGN_VPN_and_Firewalls32 Security in_Internet_IP_SEC_SSL/TLS_PGN_VPN_and_Firewalls
32 Security in_Internet_IP_SEC_SSL/TLS_PGN_VPN_and_FirewallsAhmar Hashmi
 
H.264 nal and RTP
H.264 nal and RTPH.264 nal and RTP
H.264 nal and RTPYoss Cohen
 
User datagram protocol
User datagram protocolUser datagram protocol
User datagram protocolMohd Arif
 
Fragmentation and types of fragmentation in Distributed Database
Fragmentation and types of fragmentation in Distributed DatabaseFragmentation and types of fragmentation in Distributed Database
Fragmentation and types of fragmentation in Distributed DatabaseAbhilasha Lahigude
 
UDP - User Datagram Protocol
UDP - User Datagram ProtocolUDP - User Datagram Protocol
UDP - User Datagram ProtocolPeter R. Egli
 
Peer To Peer Networking
Peer To Peer NetworkingPeer To Peer Networking
Peer To Peer Networkingicanhasfay
 

Viewers also liked (20)

29 Multimedia
29 Multimedia29 Multimedia
29 Multimedia
 
RTP
RTPRTP
RTP
 
12 Multiple Access
12 Multiple Access12 Multiple Access
12 Multiple Access
 
30 Cryptography
30 Cryptography30 Cryptography
30 Cryptography
 
Networking
NetworkingNetworking
Networking
 
7. protocols
7. protocols7. protocols
7. protocols
 
7.protocols 2
7.protocols 27.protocols 2
7.protocols 2
 
03 internetworking
03 internetworking03 internetworking
03 internetworking
 
RTP
RTPRTP
RTP
 
24 Congestion Control_and_Quality_of_Service
24 Congestion Control_and_Quality_of_Service24 Congestion Control_and_Quality_of_Service
24 Congestion Control_and_Quality_of_Service
 
23 Process to_Process_Delivery_UDP_TCP_and_SCTP
23 Process to_Process_Delivery_UDP_TCP_and_SCTP23 Process to_Process_Delivery_UDP_TCP_and_SCTP
23 Process to_Process_Delivery_UDP_TCP_and_SCTP
 
32 Security in_Internet_IP_SEC_SSL/TLS_PGN_VPN_and_Firewalls
32 Security in_Internet_IP_SEC_SSL/TLS_PGN_VPN_and_Firewalls32 Security in_Internet_IP_SEC_SSL/TLS_PGN_VPN_and_Firewalls
32 Security in_Internet_IP_SEC_SSL/TLS_PGN_VPN_and_Firewalls
 
Rtsp
RtspRtsp
Rtsp
 
H.264 nal and RTP
H.264 nal and RTPH.264 nal and RTP
H.264 nal and RTP
 
User datagram protocol
User datagram protocolUser datagram protocol
User datagram protocol
 
IPV4 Frame Format
IPV4 Frame FormatIPV4 Frame Format
IPV4 Frame Format
 
Fragmentation and types of fragmentation in Distributed Database
Fragmentation and types of fragmentation in Distributed DatabaseFragmentation and types of fragmentation in Distributed Database
Fragmentation and types of fragmentation in Distributed Database
 
Ipv4
Ipv4Ipv4
Ipv4
 
UDP - User Datagram Protocol
UDP - User Datagram ProtocolUDP - User Datagram Protocol
UDP - User Datagram Protocol
 
Peer To Peer Networking
Peer To Peer NetworkingPeer To Peer Networking
Peer To Peer Networking
 

Similar to An Efficient Reactive Model for Resource Discovery in DHT-Based Peer-to-Peer Networks

PDPTA 05 Poster: ROME: Optimising Lookup and Load-Balancing in DHT-Based P2P ...
PDPTA 05 Poster: ROME: Optimising Lookup and Load-Balancing in DHT-Based P2P ...PDPTA 05 Poster: ROME: Optimising Lookup and Load-Balancing in DHT-Based P2P ...
PDPTA 05 Poster: ROME: Optimising Lookup and Load-Balancing in DHT-Based P2P ...James Salter
 
Resilience at Extreme Scale
Resilience at Extreme ScaleResilience at Extreme Scale
Resilience at Extreme ScaleMarc Snir
 
INC 2004: An Efficient Mechanism for Adaptive Resource Discovery in Grids
INC 2004: An Efficient Mechanism for Adaptive Resource Discovery in GridsINC 2004: An Efficient Mechanism for Adaptive Resource Discovery in Grids
INC 2004: An Efficient Mechanism for Adaptive Resource Discovery in GridsJames Salter
 
Naveen nimmu sdn future of networking
Naveen nimmu sdn   future of networkingNaveen nimmu sdn   future of networking
Naveen nimmu sdn future of networkingOpenSourceIndia
 
Naveen nimmu sdn future of networking
Naveen nimmu sdn   future of networkingNaveen nimmu sdn   future of networking
Naveen nimmu sdn future of networkingsuniltomar04
 
Low latency in java 8 v5
Low latency in java 8 v5Low latency in java 8 v5
Low latency in java 8 v5Peter Lawrey
 
Proof of Computing Work Protocol by Pandora Boxchain
Proof of Computing Work Protocol by Pandora BoxchainProof of Computing Work Protocol by Pandora Boxchain
Proof of Computing Work Protocol by Pandora BoxchainPandora Boxchain
 
KEY CONCEPTS FOR SCALABLE STATEFUL SERVICES
KEY CONCEPTS FOR SCALABLE STATEFUL SERVICESKEY CONCEPTS FOR SCALABLE STATEFUL SERVICES
KEY CONCEPTS FOR SCALABLE STATEFUL SERVICESMykola Novik
 
Building a Database for the End of the World
Building a Database for the End of the WorldBuilding a Database for the End of the World
Building a Database for the End of the Worldjhugg
 
Low latency in java 8 by Peter Lawrey
Low latency in java 8 by Peter Lawrey Low latency in java 8 by Peter Lawrey
Low latency in java 8 by Peter Lawrey J On The Beach
 
Analytical Modeling of End-to-End Delay in OpenFlow Based Networks
Analytical Modeling of End-to-End Delay in OpenFlow Based NetworksAnalytical Modeling of End-to-End Delay in OpenFlow Based Networks
Analytical Modeling of End-to-End Delay in OpenFlow Based NetworksAzeem Iqbal
 
An introduction to node3
An introduction to node3An introduction to node3
An introduction to node3Vivian S. Zhang
 
The Power of Motif Counting Theory, Algorithms, and Applications for Large Gr...
The Power of Motif Counting Theory, Algorithms, and Applications for Large Gr...The Power of Motif Counting Theory, Algorithms, and Applications for Large Gr...
The Power of Motif Counting Theory, Algorithms, and Applications for Large Gr...Nesreen K. Ahmed
 
Scaling Apache Storm - Strata + Hadoop World 2014
Scaling Apache Storm - Strata + Hadoop World 2014Scaling Apache Storm - Strata + Hadoop World 2014
Scaling Apache Storm - Strata + Hadoop World 2014P. Taylor Goetz
 
Bharath Ram Chandrasekar_Tele 6603_SDN &NFV
Bharath Ram Chandrasekar_Tele 6603_SDN &NFVBharath Ram Chandrasekar_Tele 6603_SDN &NFV
Bharath Ram Chandrasekar_Tele 6603_SDN &NFVBharath Ram Chandrasekar
 
Scaling a Rails Application from the Bottom Up
Scaling a Rails Application from the Bottom Up Scaling a Rails Application from the Bottom Up
Scaling a Rails Application from the Bottom Up Abhishek Singh
 
Training Neural Networks
Training Neural NetworksTraining Neural Networks
Training Neural NetworksDatabricks
 
Botnets behavioral patterns in the network. A Machine Learning study of botne...
Botnets behavioral patterns in the network. A Machine Learning study of botne...Botnets behavioral patterns in the network. A Machine Learning study of botne...
Botnets behavioral patterns in the network. A Machine Learning study of botne...Czech Technical University in Prague
 
MongoSF 2011 - Using MongoDB for IGN's Social Platform
MongoSF 2011 - Using MongoDB for IGN's Social PlatformMongoSF 2011 - Using MongoDB for IGN's Social Platform
MongoSF 2011 - Using MongoDB for IGN's Social PlatformManish Pandit
 

Similar to An Efficient Reactive Model for Resource Discovery in DHT-Based Peer-to-Peer Networks (20)

PDPTA 05 Poster: ROME: Optimising Lookup and Load-Balancing in DHT-Based P2P ...
PDPTA 05 Poster: ROME: Optimising Lookup and Load-Balancing in DHT-Based P2P ...PDPTA 05 Poster: ROME: Optimising Lookup and Load-Balancing in DHT-Based P2P ...
PDPTA 05 Poster: ROME: Optimising Lookup and Load-Balancing in DHT-Based P2P ...
 
Resilience at Extreme Scale
Resilience at Extreme ScaleResilience at Extreme Scale
Resilience at Extreme Scale
 
INC 2004: An Efficient Mechanism for Adaptive Resource Discovery in Grids
INC 2004: An Efficient Mechanism for Adaptive Resource Discovery in GridsINC 2004: An Efficient Mechanism for Adaptive Resource Discovery in Grids
INC 2004: An Efficient Mechanism for Adaptive Resource Discovery in Grids
 
Naveen nimmu sdn future of networking
Naveen nimmu sdn   future of networkingNaveen nimmu sdn   future of networking
Naveen nimmu sdn future of networking
 
Naveen nimmu sdn future of networking
Naveen nimmu sdn   future of networkingNaveen nimmu sdn   future of networking
Naveen nimmu sdn future of networking
 
Low latency in java 8 v5
Low latency in java 8 v5Low latency in java 8 v5
Low latency in java 8 v5
 
Proof of Computing Work Protocol by Pandora Boxchain
Proof of Computing Work Protocol by Pandora BoxchainProof of Computing Work Protocol by Pandora Boxchain
Proof of Computing Work Protocol by Pandora Boxchain
 
KEY CONCEPTS FOR SCALABLE STATEFUL SERVICES
KEY CONCEPTS FOR SCALABLE STATEFUL SERVICESKEY CONCEPTS FOR SCALABLE STATEFUL SERVICES
KEY CONCEPTS FOR SCALABLE STATEFUL SERVICES
 
overbooking.ppt
overbooking.pptoverbooking.ppt
overbooking.ppt
 
Building a Database for the End of the World
Building a Database for the End of the WorldBuilding a Database for the End of the World
Building a Database for the End of the World
 
Low latency in java 8 by Peter Lawrey
Low latency in java 8 by Peter Lawrey Low latency in java 8 by Peter Lawrey
Low latency in java 8 by Peter Lawrey
 
Analytical Modeling of End-to-End Delay in OpenFlow Based Networks
Analytical Modeling of End-to-End Delay in OpenFlow Based NetworksAnalytical Modeling of End-to-End Delay in OpenFlow Based Networks
Analytical Modeling of End-to-End Delay in OpenFlow Based Networks
 
An introduction to node3
An introduction to node3An introduction to node3
An introduction to node3
 
The Power of Motif Counting Theory, Algorithms, and Applications for Large Gr...
The Power of Motif Counting Theory, Algorithms, and Applications for Large Gr...The Power of Motif Counting Theory, Algorithms, and Applications for Large Gr...
The Power of Motif Counting Theory, Algorithms, and Applications for Large Gr...
 
Scaling Apache Storm - Strata + Hadoop World 2014
Scaling Apache Storm - Strata + Hadoop World 2014Scaling Apache Storm - Strata + Hadoop World 2014
Scaling Apache Storm - Strata + Hadoop World 2014
 
Bharath Ram Chandrasekar_Tele 6603_SDN &NFV
Bharath Ram Chandrasekar_Tele 6603_SDN &NFVBharath Ram Chandrasekar_Tele 6603_SDN &NFV
Bharath Ram Chandrasekar_Tele 6603_SDN &NFV
 
Scaling a Rails Application from the Bottom Up
Scaling a Rails Application from the Bottom Up Scaling a Rails Application from the Bottom Up
Scaling a Rails Application from the Bottom Up
 
Training Neural Networks
Training Neural NetworksTraining Neural Networks
Training Neural Networks
 
Botnets behavioral patterns in the network. A Machine Learning study of botne...
Botnets behavioral patterns in the network. A Machine Learning study of botne...Botnets behavioral patterns in the network. A Machine Learning study of botne...
Botnets behavioral patterns in the network. A Machine Learning study of botne...
 
MongoSF 2011 - Using MongoDB for IGN's Social Platform
MongoSF 2011 - Using MongoDB for IGN's Social PlatformMongoSF 2011 - Using MongoDB for IGN's Social Platform
MongoSF 2011 - Using MongoDB for IGN's Social Platform
 

More from James Salter

Security for The Machine: By Design
Security for The Machine: By DesignSecurity for The Machine: By Design
Security for The Machine: By DesignJames Salter
 
The Machine - a vision for the future of computing
The Machine - a vision for the future of computingThe Machine - a vision for the future of computing
The Machine - a vision for the future of computingJames Salter
 
Big data ... for security
Big data ... for securityBig data ... for security
Big data ... for securityJames Salter
 
Accumulo: A Quick Introduction
Accumulo: A Quick IntroductionAccumulo: A Quick Introduction
Accumulo: A Quick IntroductionJames Salter
 
FCS 05: A Multi-Ring Method for Efficient Multi-Dimensional Data Lookup in P2...
FCS 05: A Multi-Ring Method for Efficient Multi-Dimensional Data Lookup in P2...FCS 05: A Multi-Ring Method for Efficient Multi-Dimensional Data Lookup in P2...
FCS 05: A Multi-Ring Method for Efficient Multi-Dimensional Data Lookup in P2...James Salter
 
Agents and P2P Networks
Agents and P2P NetworksAgents and P2P Networks
Agents and P2P NetworksJames Salter
 
Lecture - Network Technologies: Peer-to-Peer Networks
Lecture - Network Technologies: Peer-to-Peer NetworksLecture - Network Technologies: Peer-to-Peer Networks
Lecture - Network Technologies: Peer-to-Peer NetworksJames Salter
 
Lecture: Software Agents and P2P
Lecture: Software Agents and P2PLecture: Software Agents and P2P
Lecture: Software Agents and P2PJames Salter
 

More from James Salter (8)

Security for The Machine: By Design
Security for The Machine: By DesignSecurity for The Machine: By Design
Security for The Machine: By Design
 
The Machine - a vision for the future of computing
The Machine - a vision for the future of computingThe Machine - a vision for the future of computing
The Machine - a vision for the future of computing
 
Big data ... for security
Big data ... for securityBig data ... for security
Big data ... for security
 
Accumulo: A Quick Introduction
Accumulo: A Quick IntroductionAccumulo: A Quick Introduction
Accumulo: A Quick Introduction
 
FCS 05: A Multi-Ring Method for Efficient Multi-Dimensional Data Lookup in P2...
FCS 05: A Multi-Ring Method for Efficient Multi-Dimensional Data Lookup in P2...FCS 05: A Multi-Ring Method for Efficient Multi-Dimensional Data Lookup in P2...
FCS 05: A Multi-Ring Method for Efficient Multi-Dimensional Data Lookup in P2...
 
Agents and P2P Networks
Agents and P2P NetworksAgents and P2P Networks
Agents and P2P Networks
 
Lecture - Network Technologies: Peer-to-Peer Networks
Lecture - Network Technologies: Peer-to-Peer NetworksLecture - Network Technologies: Peer-to-Peer Networks
Lecture - Network Technologies: Peer-to-Peer Networks
 
Lecture: Software Agents and P2P
Lecture: Software Agents and P2PLecture: Software Agents and P2P
Lecture: Software Agents and P2P
 

Recently uploaded

Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
software engineering Chapter 5 System modeling.pptx
software engineering Chapter 5 System modeling.pptxsoftware engineering Chapter 5 System modeling.pptx
software engineering Chapter 5 System modeling.pptxnada99848
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 

Recently uploaded (20)

Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
software engineering Chapter 5 System modeling.pptx
software engineering Chapter 5 System modeling.pptxsoftware engineering Chapter 5 System modeling.pptx
software engineering Chapter 5 System modeling.pptx
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 

An Efficient Reactive Model for Resource Discovery in DHT-Based Peer-to-Peer Networks

  • 1. An Efficient Reactive Model for Resource Discovery in DHT-Based Peer-to-Peer Networks James Salter Supervisor: Dr Nick Antonopoulos 2 October 2006
  • 2. Outline  Introduction and Background  ROME Architecture  Node Processes  Evaluation  Conclusions and Future Work
  • 3. Client/Server Networks  Clients send requests to/via a central server  Small #messages  Single point of failure
  • 4. Peer-to-Peer Networks  No central server  Node to node connections  Resilient  Large #messages File sharing, distributed computing, instant messaging
  • 7. Chord  Structured Peer-to-Peer architecture  Well-known in the research field  Combine advantages of Napster and Gnutella-like architectures:  An index of resources (Napster)  distributed over multiple nodes (Gnutella)  Based on Distributed Hash Tables  Simple lookup mechanism  Given a key, it will return associated value(s)
  • 8. 10, 16, 28, 34 Distributed Hash Tables  Hash functions map data keys to buckets  Keys are stored in buckets in index table 0 1 2 3 4 5 f(x) = x mod 6 f(15) = 15 mod 6 = 3 12, 24, 30 19, 61 20, 26, 56 3, 9 23, 35, 65 f(36) = 36 mod 6 = 0 Distributed Hash Tables  Each node hosts part of the index (one or more buckets)
  • 10. Chord log2(n) hops worst case ½log2(n) hops average
  • 11. ROME Concept  Message cost is proportional to number of nodes in network (n)  Reduce n, reduce message cost  Goal: Keep the ring “just big enough”  Must always support current workload  Not unnecessarily large  Workload should determine ring size, not number of nodes in the network  Adding functionality to Chord
  • 13. ROME Node Process Monitor Workload Attempt to Replace Node Attempt to Add New Node Attempt to Remove Node Pause Overloaded Underloaded Normal Success Failure
  • 14. ROME Node Process Monitor Workload Attempt to Replace Node Attempt to Add New Node Attempt to Remove Node Pause Overloaded Underloaded Normal Success Failure
  • 15. Node Workload Monitoring Zero LimitLower Threshold Target Upper Threshold
  • 16. Node Workload Monitoring Zero LimitLower Threshold Target Upper Threshold Underloaded
  • 17. Node Workload Monitoring Zero LimitLower Threshold Target Upper Threshold Underloaded Normal
  • 18. Node Workload Monitoring Zero LimitLower Threshold Target Upper Threshold Underloaded Normal Overloaded
  • 19. ROME Node Process Monitor Workload Attempt to Replace Node Attempt to Add New Node Attempt to Remove Node Pause Overloaded Underloaded Normal Success Failure
  • 20. ROME Node Process Monitor Workload Attempt to Replace Node Attempt to Add New Node Attempt to Remove Node Pause Overloaded Underloaded Normal Success Failure
  • 22. Replace Action  Search node pool to find a node with: NPNode.LowerThreshold < OLNode.Workload AND NPNode.UpperThreshold > OLNode.Workload  Break ties by selecting best quality node  Percentage of heartbeats received from node since initial registration  Measure of node reliability
  • 23. Replace Action Overloaded v0.2 6 replace, node=Bbs v0.2 7 chordID=21A
  • 24. Replace Action v0.2 1 tgt, thresholdsA
  • 25. ROME Node Process Monitor Workload Attempt to Replace Node Attempt to Add New Node Attempt to Remove Node Pause Overloaded Underloaded Normal Success Failure
  • 26. ROME Node Process Monitor Workload Attempt to Replace Node Attempt to Add New Node Attempt to Remove Node Pause Overloaded Underloaded Normal Success Failure
  • 27. Add Action  No nodes found to replace overloaded node  Add a node to share enough workload to restore overloaded node to normal workload NPNode.LowerThreshold < (OLNode.Workload - OLNode.Target) AND NPNode.UpperThreshold > (OLNode.Workload - OLNode.Target)
  • 28. Add Action Overloaded v0.2 6 add, node=C, C.tgt, C.thresholdsbs
  • 29. Add Action 16 17 18 19 2015 21 ID: 21ID: 14 workload ID: ??
  • 32. ROME Node Process Monitor Workload Attempt to Replace Node Attempt to Add New Node Attempt to Remove Node Pause Overloaded Underloaded Normal Success Failure
  • 33. ROME Node Process Monitor Workload Attempt to Replace Node Attempt to Add New Node Attempt to Remove Node Pause Overloaded Underloaded Normal Success Failure
  • 35. Remove Action  If node is removed, successor becomes responsible for its portion of keyspace (+ workload)  Must check successor will not become overloaded: prevent chain reactions Succ.UpperThreshold > Succ.Workload + ULNode.Workload
  • 37. Remove Action v0.2 1 tgt, thresholdsA
  • 38. Additional Issues  Node Locking  Prevent chain reactions/overcompensation  Workload from a single key  Add action not attempted: assumption that keys are atomic  Ring collapse vulnerability  Monitoring interval to stop too many concurrent changes  High volume of replaces  Switch off replace action if few nodes in pool
  • 39. Dynamic Ring Performance  Reduction in hop count by controlling network size based on theoretical work:  Max hops per lookup = log2(n)  Mean hops per lookup = ½log2(n)  If ring A < ring B, then log2(A) < log2(B)  - in a static ring with correct routing information  Does this hold true in more realistic dynamic scenarios, with nodes joining/leaving or failing?
  • 40. Simulation: ROME vs Chord  Two Chord rings, one running ROME  1000 available nodes  Node capacity: 100-400 workload units  10 node joins per time tick  10 node failures per tick  500 lookups per tick  ROME Thresholds: 5% Lower, 95% Upper  Target Workload: 50%  Standard Chord maintenance/update routines run every clock tick
  • 41. Workload Variation 0 50000 100000 150000 200000 250000 0 2000 4000 6000 8000 10000 12000 time workload
  • 42. 0 1 2 3 4 5 6 0 2000 4000 6000 8000 10000 12000 time meanmessagespersuccessfulquery Messages per Query ROME Chord
  • 43. Cumulative Message Savings 0 1 2 3 4 5 6 7 8 0 2000 4000 6000 8000 10000 12000 time lookupmessagesavings(cumulative millions)
  • 44. Number of Nodes in Each Ring ROME Chord 0 100 200 300 400 500 600 700 800 900 1000 0 2000 4000 6000 8000 10000 12000 time nodesinring
  • 45. Query Success Rate 0% 20% 40% 60% 80% 100% 0 2000 4000 6000 8000 10000 12000 time %successfulqueries ROME Chord
  • 46. Maintenance Cost 0 1000 2000 3000 4000 5000 6000 7000 8000 0 2000 4000 6000 8000 10000 12000 time maintenancemessages ROME Chord
  • 48. Thresholds LT=5%, UT=95% LT=25%, UT=75% LT=45%, UT=55% 0% 20% 40% 60% 80% 100% 0 2000 4000 6000 8000 10000 12000 time %successfulqueries
  • 49. Churn Rate (Failure is Good!) 0 200 400 600 800 1000 0 2000 4000 6000 8000 10000 12000 time nodesinring 0 fail/tick 1 fail/tick 5 fail/tick 10 fail/tick 20 fail/tick 30 fail/tick
  • 50. Churn Rate (Failure is Good!) 0 1 2 3 4 5 6 7 0 2000 4000 6000 8000 10000 12000 time meanmessagespersuccessfulquery 0 failures/tick 1 failure/tick 5 failures/tick 10 failures/tick 20 failures/tick 30 failures/tick
  • 51. Churn Rate (Failure is Good!) 0% 20% 40% 60% 80% 100% 0 2000 4000 6000 8000 10000 12000 time %successfulqueries 0 failures/tick 1 failure/tick 5 failures/tick 10 failures/tick 20 failures/tick 30 failures/tick
  • 52. Limitations of ROME  Requires workload to be less than node capacity  May not be appropriate if likely to be near-equal for majority of network’s lifetime  Optimisations occur at the node level  Always yields a globally optimum solution?  Based on Chord and DHT architectures  Any issues found (probably) inherited by ROME  Increasing workload, failed bootstrap server  No more nodes will be added – these would be present in standard Chord ring, so ROME ring would drop more workload
  • 53. Potential Applications Similar to Chord applications  DNS lookup services  File storage systems  Simple databases  Messaging  Service Discovery  Distributed Processing Where workload is likely to be lower than capacity offered by connected nodes
  • 54. Future Work  Remove reliance on single server  Share node pools between multiple bootstrap servers using G-ROME  Combinations of actions  Apply ROME concepts to other P2P networks  Use in unstructured networks?  Applications in other domains  Wireless/ad-hoc networks with dynamic machine joins/leaves
  • 55. Conclusions  Proposed ROME, a layer running on top of Chord  Chord routes messages in O(log2 n) hops, where n is number of nodes in ring  ROME controls size of underlying Chord ring  Simple set of actions to add/remove nodes  Simulations show ROME can reduce lookup cost vs standard Chord ring  Platform for further work  Enhance ROME, use as building block for new services, apply to other domains
  • 56. Publications List J Salter and N Antonopoulos, “An Optimised Two-Tier P2P Architecture for Contextualised Keyword Searches”, Future Generation Computer Systems, 2007. G Exarchakos, J Salter and N Antonopoulos, “G-ROME: A Semantic Driven Model for Capacity Sharing Among P2P Networks”, to appear in Internet Research. G Exarchakos, J Salter and N Antonopoulos, “Semantic Cooperation and Node Sharing Among P2P Networks”, Sixth International Network Conference (INC 2006). J Salter and N Antonopoulos, “The CinemaScreen Recommender Agent: A Film Recommender Combining Collaborative and Content-Based Filtering”, IEEE Intelligent Systems, 2006. N Antonopoulos, J Salter and R Peel, “A Multi-Ring Method for Efficient Multi-Dimensional Data Lookup in P2P Networks”, 2005 International Conference on Foundations of Computer Science (FCS ’05). J Salter, N Antonopoulos and R Peel, “ROME: Optimising Lookup and Load Balancing in DHT- based P2P Networks”, 2005 International Conference on Parallel and Distributed Processing Techniques and Applications (PDPTA ’05). J Salter and N Antonopoulos, “ROME: Optimising DHT-based Peer-to-Peer Networks”, Fifth International Network Conference (INC 2005). N Antonopoulos and J Salter, “Efficient Resource Discovery in Grids and P2P Networks”, Internet Research, 2004. J Salter and N Antonopoulos, “An Efficient Fault Tolerant Approach to Resource Discovery in P2P Networks”, UniS Computing Sciences Report CS-04-02, 2004. N Antonopoulos and J Salter, “Improving Query Routing Efficiency in Peer-to-Peer Networks”, UniS Computing Sciences Report CS-04-01, 2004. J Salter and N Antonopoulos, “An Efficient Mechanism for Adaptive Resource Discovery in Grids”, Fourth International Network Conference (INC 2004). N Antonopoulos and J Salter, “Towards an Intelligent Agent Model for Resource Discovery in Grid Environments”, IADIS International Conference Applied Computing 2004.