SlideShare a Scribd company logo
CSM13: Software AgentsCSM13: Software Agents
Agents and P2PAgents and P2P
James Salter
j.salter@surrey.ac.uk
19 March 2004
OutlineOutline
 What is Peer-to-Peer?
 Relationship to Agents
 Locating resources in P2P Networks
 Problems with Napster and Gnutella
 Solutions
 Other Issues with P2P & Agents
What is “P2P Computing”?What is “P2P Computing”?
 Everybody seems to have a different
idea
 File sharing
 Distributed computing
 Inter-connected communities of users
 Hideouts for virus writers and associated
criminals
 Opposite of client/server network
 All nodes can function as clients and servers
 These are all valid definitions
Network ArchitecturesNetwork Architectures
Client/Server Pure Peer-to-Peer
 Clients send requests
to/via a central server
 Small #messages
 Single point of failure
 No central server
 Clients connected to
one or more peers
 Resilient
 Large #messages
Hybrid Peer-to-Peer NetworksHybrid Peer-to-Peer Networks
 Some nodes act as group managers/routers
 More robust than client/server
 Potentially lower #messages than pure P2P
Characteristics of a P2P NetworkCharacteristics of a P2P Network
 Nodes can act as clients and servers
 No centralised server/authority
 In Pure P2P Networks
 Network is highly dynamic
 Nodes join and leave regularly
 Large-scale
 Potentially millions of nodes
 Nodes are autonomous
 But co-operate to share/retrieve resources
The Agent RelationshipThe Agent Relationship
 How does this relate to agents?
 P2P network platform for mobile agents
 Access agents over P2P network
 Agents administer P2P network
 P2P Networks are useless if agents,
users and applications cannot find
resources they require
 Queries can be represented as agents
Searching for ResourcesSearching for Resources
Napster
 Hybrid P2P
 Queries sent to
central server
 Nodes upload list of
files they hold
 Server returns IPs of
nodes hosting
matching files
 Direct connection
between nodes for
transferring files File
Transfer
Searching for ResourcesSearching for Resources
Gnutella
 Pure P2P Network
 Queries flooded from
node to node
 Query has Time-To-
Live (TTL) counter
 Decremented each
time visits a node
 Query discarded when
TTL=0
 Prevents endless
loops
The ProblemThe Problem
 Scalability
 Napster: central server is a bottleneck
 Gnutella: large volumes of query traffic
 Number of Messages
 Gnutella: query must be sent to every node
 Fault Tolerance
 Napster: single point of failure
 Ability to Find Resources
 Gnutella: query horizon (TTL limit)
SolutionSolution
Combine benefits of Gnutella and Napster
 Scalability and Number of Messages
some form of structure to avoid visiting every node
but more than one point of contact
 Fault Tolerance
structure to avoid central server
 Ability to Find Resources
provide alternative structure to remove TTL
Introduce Structure
Hash TablesHash Tables
 Hash functions map data keys to buckets
 Keys are stored in buckets in index table
 Example:
Distributed Hash Tables
 Each node hosts part of the index (one
or more buckets)
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
10, 16, 28, 34
23, 35, 65
f(36) = 36 mod 6 = 0
Chord: ArchitectureChord: Architecture
 Nodes hosting part of the index table
organised in a ring 1
41
7
22
28
34
48
52
70
73
 Each node is given
an identifier
 Hash function
determines node
host for a key(word)
 Nodes provide
pointers to machines
hosting resources
Chord: QueryingChord: Querying
 Queries routed around the ring following
finger table information
 Finger table stores
more information
about nodes closer
to it than those
further away
 Routing ~ O(log N)
 Search space
halved every hop
1
41
7
22
28
34
48
52
70
73
QueriesQueries
 Queries may be a list of keywords:
“ford AND fiesta”
 We may need more complex queries,
specifying keyword-value pairs:
“make=ford AND model=fiesta AND
mileage=20000”
 Boolean Operators: AND, OR, NOT
keyword
keyword value
A Ring of Chord RingsA Ring of Chord Rings
 Create a ring for every keyword
 Super Ring stores pointers to Keyword
Rings
Super Ring
Keyword
Ring
Keyword
Ring
Keyword
Ring
Keyword
Ring
Keyword
Ring
A Ring of Chord RingsA Ring of Chord Rings
 Support for name-value queries
 Each physical machine can take part in
multiple rings
 Each node in super ring runs an agent
responsible for keyword ring organisation
and maintenance
 Agents on each node handle incoming
queries
 Queries can be spawned as agents
 Multiple keyword queries (CPU=1.8 AND RAM=128)
 More complex queries?
Further ImprovementsFurther Improvements
 Record address of keyword rings
 Can route queries for previous keywords
directly to keyword ring
 Cache previous search results
 Direct mapping between providers and
consumers
 Cache becomes Preference List
 Ordered list of resource providers most likely
to provide the required resource
Other Issues in P2P/AgentsOther Issues in P2P/Agents
 P2P applications cannot (usually)
communicate with each other
 Agent collaboration over P2P networks
 Enhancements to existing P2P protocols
using agents
 Enhance agent co-ordination schemes
using P2P co-ordination mechanisms
 Self organisation of P2P networks
 Micro-payments for resources/brokers
SummarySummary
 P2P can be used for sharing resources
 Removes need for central management
 Large scale, dynamic networks
 P2P can enhance agent systems
 Agents can enhance P2P
 Resource Discovery research area
 Agents and P2P can be closely related

More Related Content

Viewers also liked (20)

PPTX
Software agents
Aryan Rathore
 
PPTX
Software agents
rajsandhu1989
 
PPTX
parallel language and compiler
Vignesh Tamil
 
PDF
Foreign trade
ProColombia
 
PPTX
buscadores de internet
jeffrey velasco cardona
 
DOCX
Práctica panel de control
Javy Buenaño
 
PDF
Manejo de excel
Javy Buenaño
 
PPT
Lecture - Network Technologies: Peer-to-Peer Networks
James Salter
 
PDF
Manual casio
franklyn Merino
 
PPT
SaaAS (Software as an Agent Service) : SaaS - THE MOBILE AGENT BASED SERVICE ...
Sai Butchi babu Manepalli
 
PPTX
vitamina k
lennynere
 
DOCX
Discuss the role of marketing in a business organization techno assignment 2016
Mandla handirisi
 
PDF
Software Agents for Internet of Things - at AINL 2014
Anton Kolonin
 
PPT
Elemental ad:tech case study
Elemental Communications
 
PPTX
Hr audit
sowmya cn
 
PPTX
Net banking
ahmedtani
 
PDF
Recolhendo o lixo jogado
Freekidstories
 
PPTX
Energy crisis in pakistan
Muhammad Salman Naimee
 
PPTX
Apache kafka
Jemin Patel
 
PDF
Verifying Microservice Integrations with Contract Testing
Atlassian
 
Software agents
Aryan Rathore
 
Software agents
rajsandhu1989
 
parallel language and compiler
Vignesh Tamil
 
Foreign trade
ProColombia
 
buscadores de internet
jeffrey velasco cardona
 
Práctica panel de control
Javy Buenaño
 
Manejo de excel
Javy Buenaño
 
Lecture - Network Technologies: Peer-to-Peer Networks
James Salter
 
Manual casio
franklyn Merino
 
SaaAS (Software as an Agent Service) : SaaS - THE MOBILE AGENT BASED SERVICE ...
Sai Butchi babu Manepalli
 
vitamina k
lennynere
 
Discuss the role of marketing in a business organization techno assignment 2016
Mandla handirisi
 
Software Agents for Internet of Things - at AINL 2014
Anton Kolonin
 
Elemental ad:tech case study
Elemental Communications
 
Hr audit
sowmya cn
 
Net banking
ahmedtani
 
Recolhendo o lixo jogado
Freekidstories
 
Energy crisis in pakistan
Muhammad Salman Naimee
 
Apache kafka
Jemin Patel
 
Verifying Microservice Integrations with Contract Testing
Atlassian
 

Similar to Lecture: Software Agents and P2P (20)

PPT
Agents and P2P Networks
James Salter
 
PPT
Introduction P2p
Davide Carboni
 
PPT
Handling Data in Mega Scale Web Systems
Vineet Gupta
 
PPTX
Peer-to-Peer Networking Systems and Streaming
Dilum Bandara
 
ODP
Scaling Streaming - Concepts, Research, Goals
kamaelian
 
PPTX
INC 2005 - ROME: Optimising DHT-based Peer-to-Peer Networks
James Salter
 
PPTX
Week2 lec3-bscs1
syedhaiderraza
 
PPT
Serverless (Distributed computing)
Sri Prasanna
 
PPTX
Peer to peer Paradigms
hassan ahmed
 
PPT
lec3_10.ppt
ImXaib
 
PPTX
INC 2004: An Efficient Mechanism for Adaptive Resource Discovery in Grids
James Salter
 
PPT
P2P Seminar
CoRehab
 
PPT
Peerto Peer Networks
sanjoysanyal
 
PDF
Protocol and Integration Challenges for SDN
Gerardo Pardo-Castellote
 
PDF
Signpost at FOCI 2013
Amir Chaudhry
 
PDF
Next Gen Data Modeling in the Open Data Platform With Doron Porat and Liran Y...
HostedbyConfluent
 
PPTX
Developing Actors in Azure with .net
Marco Parenzan
 
PPT
Peer to Peer services and File systems
MNM Jain Engineering College
 
PDF
Chapter 5 introduction to computer communication networks
N. A. Sutisna
 
Agents and P2P Networks
James Salter
 
Introduction P2p
Davide Carboni
 
Handling Data in Mega Scale Web Systems
Vineet Gupta
 
Peer-to-Peer Networking Systems and Streaming
Dilum Bandara
 
Scaling Streaming - Concepts, Research, Goals
kamaelian
 
INC 2005 - ROME: Optimising DHT-based Peer-to-Peer Networks
James Salter
 
Week2 lec3-bscs1
syedhaiderraza
 
Serverless (Distributed computing)
Sri Prasanna
 
Peer to peer Paradigms
hassan ahmed
 
lec3_10.ppt
ImXaib
 
INC 2004: An Efficient Mechanism for Adaptive Resource Discovery in Grids
James Salter
 
P2P Seminar
CoRehab
 
Peerto Peer Networks
sanjoysanyal
 
Protocol and Integration Challenges for SDN
Gerardo Pardo-Castellote
 
Signpost at FOCI 2013
Amir Chaudhry
 
Next Gen Data Modeling in the Open Data Platform With Doron Porat and Liran Y...
HostedbyConfluent
 
Developing Actors in Azure with .net
Marco Parenzan
 
Peer to Peer services and File systems
MNM Jain Engineering College
 
Chapter 5 introduction to computer communication networks
N. A. Sutisna
 
Ad

More from James Salter (7)

PPTX
Security for The Machine: By Design
James Salter
 
PPTX
The Machine - a vision for the future of computing
James Salter
 
PPTX
Big data ... for security
James Salter
 
PPTX
Accumulo: A Quick Introduction
James Salter
 
PPTX
An Efficient Reactive Model for Resource Discovery in DHT-Based Peer-to-Peer ...
James Salter
 
PPT
PDPTA 05 Poster: ROME: Optimising Lookup and Load-Balancing in DHT-Based P2P ...
James Salter
 
PPTX
FCS 05: A Multi-Ring Method for Efficient Multi-Dimensional Data Lookup in P2...
James Salter
 
Security for The Machine: By Design
James Salter
 
The Machine - a vision for the future of computing
James Salter
 
Big data ... for security
James Salter
 
Accumulo: A Quick Introduction
James Salter
 
An Efficient Reactive Model for Resource Discovery in DHT-Based Peer-to-Peer ...
James Salter
 
PDPTA 05 Poster: ROME: Optimising Lookup and Load-Balancing in DHT-Based P2P ...
James Salter
 
FCS 05: A Multi-Ring Method for Efficient Multi-Dimensional Data Lookup in P2...
James Salter
 
Ad

Recently uploaded (20)

PDF
Boardroom AI: The Next 10 Moves | Cerebraix Talent Tech
ssuser73bdb11
 
PDF
BRKACI-1001 - Your First 7 Days of ACI.pdf
fcesargonca
 
PPTX
PHIPA-Compliant Web Hosting in Toronto: What Healthcare Providers Must Know
steve198109
 
PDF
Digital burnout toolkit for youth workers and teachers
asociatiastart123
 
DOCX
Custom vs. Off-the-Shelf Banking Software
KristenCarter35
 
PPTX
西班牙巴利阿里群岛大学电子版毕业证{UIBLetterUIB文凭证书}文凭复刻
Taqyea
 
PPTX
Lec15_Mutability Immutability-converted.pptx
khanjahanzaib1
 
PPTX
Orchestrating things in Angular application
Peter Abraham
 
PDF
Top 10 Testing Procedures to Ensure Your Magento to Shopify Migration Success...
CartCoders
 
PPTX
Metaphysics_Presentation_With_Visuals.pptx
erikjohnsales1
 
PDF
Enhancing Parental Roles in Protecting Children from Online Sexual Exploitati...
ICT Frame Magazine Pvt. Ltd.
 
PDF
The Internet - By the numbers, presented at npNOG 11
APNIC
 
PDF
Cleaning up your RPKI invalids, presented at PacNOG 35
APNIC
 
PPTX
04 Output 1 Instruments & Tools (3).pptx
GEDYIONGebre
 
PPTX
Networking_Essentials_version_3.0_-_Module_3.pptx
ryan622010
 
PDF
BRKACI-1003 ACI Brownfield Migration - Real World Experiences and Best Practi...
fcesargonca
 
PDF
FutureCon Seattle 2025 Presentation Slides - You Had One Job
Suzanne Aldrich
 
PPTX
L1A Season 1 ENGLISH made by A hegy fixed
toszolder91
 
PDF
BRKSP-2551 - Introduction to Segment Routing.pdf
fcesargonca
 
PPTX
Softuni - Psychology of entrepreneurship
Kalin Karakehayov
 
Boardroom AI: The Next 10 Moves | Cerebraix Talent Tech
ssuser73bdb11
 
BRKACI-1001 - Your First 7 Days of ACI.pdf
fcesargonca
 
PHIPA-Compliant Web Hosting in Toronto: What Healthcare Providers Must Know
steve198109
 
Digital burnout toolkit for youth workers and teachers
asociatiastart123
 
Custom vs. Off-the-Shelf Banking Software
KristenCarter35
 
西班牙巴利阿里群岛大学电子版毕业证{UIBLetterUIB文凭证书}文凭复刻
Taqyea
 
Lec15_Mutability Immutability-converted.pptx
khanjahanzaib1
 
Orchestrating things in Angular application
Peter Abraham
 
Top 10 Testing Procedures to Ensure Your Magento to Shopify Migration Success...
CartCoders
 
Metaphysics_Presentation_With_Visuals.pptx
erikjohnsales1
 
Enhancing Parental Roles in Protecting Children from Online Sexual Exploitati...
ICT Frame Magazine Pvt. Ltd.
 
The Internet - By the numbers, presented at npNOG 11
APNIC
 
Cleaning up your RPKI invalids, presented at PacNOG 35
APNIC
 
04 Output 1 Instruments & Tools (3).pptx
GEDYIONGebre
 
Networking_Essentials_version_3.0_-_Module_3.pptx
ryan622010
 
BRKACI-1003 ACI Brownfield Migration - Real World Experiences and Best Practi...
fcesargonca
 
FutureCon Seattle 2025 Presentation Slides - You Had One Job
Suzanne Aldrich
 
L1A Season 1 ENGLISH made by A hegy fixed
toszolder91
 
BRKSP-2551 - Introduction to Segment Routing.pdf
fcesargonca
 
Softuni - Psychology of entrepreneurship
Kalin Karakehayov
 

Lecture: Software Agents and P2P

  • 1. CSM13: Software AgentsCSM13: Software Agents Agents and P2PAgents and P2P James Salter [email protected] 19 March 2004
  • 2. OutlineOutline  What is Peer-to-Peer?  Relationship to Agents  Locating resources in P2P Networks  Problems with Napster and Gnutella  Solutions  Other Issues with P2P & Agents
  • 3. What is “P2P Computing”?What is “P2P Computing”?  Everybody seems to have a different idea  File sharing  Distributed computing  Inter-connected communities of users  Hideouts for virus writers and associated criminals  Opposite of client/server network  All nodes can function as clients and servers  These are all valid definitions
  • 4. Network ArchitecturesNetwork Architectures Client/Server Pure Peer-to-Peer  Clients send requests to/via a central server  Small #messages  Single point of failure  No central server  Clients connected to one or more peers  Resilient  Large #messages
  • 5. Hybrid Peer-to-Peer NetworksHybrid Peer-to-Peer Networks  Some nodes act as group managers/routers  More robust than client/server  Potentially lower #messages than pure P2P
  • 6. Characteristics of a P2P NetworkCharacteristics of a P2P Network  Nodes can act as clients and servers  No centralised server/authority  In Pure P2P Networks  Network is highly dynamic  Nodes join and leave regularly  Large-scale  Potentially millions of nodes  Nodes are autonomous  But co-operate to share/retrieve resources
  • 7. The Agent RelationshipThe Agent Relationship  How does this relate to agents?  P2P network platform for mobile agents  Access agents over P2P network  Agents administer P2P network  P2P Networks are useless if agents, users and applications cannot find resources they require  Queries can be represented as agents
  • 8. Searching for ResourcesSearching for Resources Napster  Hybrid P2P  Queries sent to central server  Nodes upload list of files they hold  Server returns IPs of nodes hosting matching files  Direct connection between nodes for transferring files File Transfer
  • 9. Searching for ResourcesSearching for Resources Gnutella  Pure P2P Network  Queries flooded from node to node  Query has Time-To- Live (TTL) counter  Decremented each time visits a node  Query discarded when TTL=0  Prevents endless loops
  • 10. The ProblemThe Problem  Scalability  Napster: central server is a bottleneck  Gnutella: large volumes of query traffic  Number of Messages  Gnutella: query must be sent to every node  Fault Tolerance  Napster: single point of failure  Ability to Find Resources  Gnutella: query horizon (TTL limit)
  • 11. SolutionSolution Combine benefits of Gnutella and Napster  Scalability and Number of Messages some form of structure to avoid visiting every node but more than one point of contact  Fault Tolerance structure to avoid central server  Ability to Find Resources provide alternative structure to remove TTL Introduce Structure
  • 12. Hash TablesHash Tables  Hash functions map data keys to buckets  Keys are stored in buckets in index table  Example: Distributed Hash Tables  Each node hosts part of the index (one or more buckets) 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 10, 16, 28, 34 23, 35, 65 f(36) = 36 mod 6 = 0
  • 13. Chord: ArchitectureChord: Architecture  Nodes hosting part of the index table organised in a ring 1 41 7 22 28 34 48 52 70 73  Each node is given an identifier  Hash function determines node host for a key(word)  Nodes provide pointers to machines hosting resources
  • 14. Chord: QueryingChord: Querying  Queries routed around the ring following finger table information  Finger table stores more information about nodes closer to it than those further away  Routing ~ O(log N)  Search space halved every hop 1 41 7 22 28 34 48 52 70 73
  • 15. QueriesQueries  Queries may be a list of keywords: “ford AND fiesta”  We may need more complex queries, specifying keyword-value pairs: “make=ford AND model=fiesta AND mileage=20000”  Boolean Operators: AND, OR, NOT keyword keyword value
  • 16. A Ring of Chord RingsA Ring of Chord Rings  Create a ring for every keyword  Super Ring stores pointers to Keyword Rings Super Ring Keyword Ring Keyword Ring Keyword Ring Keyword Ring Keyword Ring
  • 17. A Ring of Chord RingsA Ring of Chord Rings  Support for name-value queries  Each physical machine can take part in multiple rings  Each node in super ring runs an agent responsible for keyword ring organisation and maintenance  Agents on each node handle incoming queries  Queries can be spawned as agents  Multiple keyword queries (CPU=1.8 AND RAM=128)  More complex queries?
  • 18. Further ImprovementsFurther Improvements  Record address of keyword rings  Can route queries for previous keywords directly to keyword ring  Cache previous search results  Direct mapping between providers and consumers  Cache becomes Preference List  Ordered list of resource providers most likely to provide the required resource
  • 19. Other Issues in P2P/AgentsOther Issues in P2P/Agents  P2P applications cannot (usually) communicate with each other  Agent collaboration over P2P networks  Enhancements to existing P2P protocols using agents  Enhance agent co-ordination schemes using P2P co-ordination mechanisms  Self organisation of P2P networks  Micro-payments for resources/brokers
  • 20. SummarySummary  P2P can be used for sharing resources  Removes need for central management  Large scale, dynamic networks  P2P can enhance agent systems  Agents can enhance P2P  Resource Discovery research area  Agents and P2P can be closely related

Editor's Notes

  • #4: File Sharing – virtually unlimited music, movies, software and “other” material all available for free 24/7. E.g. Napster (a few years ago), Gnutella, Kazaa, Limewire… Distributed Computing – harnessing unused processing power of millions of computers. E.g. the SETI@home project searching for aliens. 4.9million users, donated 1.8million years worth of CPU time. Inter-connected communities of users. E.g. Instant Messaging. MSN Messenger has 100million users worldwide. Hideouts for virus writers – Slapper one of the first viruses to build a peer to peer network of machines that creators can utilise – e.g. to launch a Denial of Service Attack. Opposite of a client/server network – machines can act as servers and clients. All valid definitions – but let’s look at the last one in more detail
  • #5: In traditional client/server environment all requests are handled by the server. No direct client to client communication. There are only a small number of messages required to send data to the server. Each machine knows where the server is on the network. Having a single server leads to a single point of failure. If the server goes down, nobody can access any resources. Opposite of this is a pure peer-to-peer environment. Each machine can be both a client and server, so we remove the need for a single central server and therefore the single point of failure. Clients no longer know exactly where the machine hosting the resource they need is. Increase in #messages required to find the resource.
  • #6: Not all P2P networks “pure”. In fact, many are hybrids somewhere between client/server and pure P2P. More organisation – group managers hold more information about the network so resources can be found in less messages.
  • #7: Notice many of the characteristics are similar to agents
  • #8: Agents can communicate over P2P - autonomous agents more suited to autonomous environments than client/server.
  • #9: Napster had a central server where all search queries were sent. Server held list of all machines that hosted the requested file. Direct connection between peers only set up to actually download the file. The single centralised server ultimately led to Napster’s downfall. Lawyers for the Recording Industry Association of America (RIAA) were able to show Napster knew their users were sharing copyrighted material (and could stop it) because everything passed through their servers. When the central server was shut down, the Napster network was broken.
  • #10: Huge amounts of traffic can be generated if many users are submitting queries at the same time What happens if a machine hosting the file you are searching for lies outside the query “horizon”? – It will not be found.
  • #13: Developed in 1960s Like pigeon holes in the common room.
  • #14: Nodes organised in ring according to the identifier they have been given. Could be generated by hashing their IP address. Nodes host portion of hash table around their identifier. The node hosting the index is not necessarily the node actually providing the resource – separation of index from resource (like Napster, unlike Gnutella)
  • #16: What do queries look like?
  • #17: Improve over existing Chord No need to route through a single large ring containing every node – can route using less messages.
  • #19: Record address of keyword rings as queries are conducted: Reduces #messages necessary to route query through ring. Improves fault-tolerance – these queries no longer rely on ANY node in Super Ring. Cache previous results: no reliance on indexing structure Preference List: further reduce #messages required to find required resource. Whether resource exists on located node may not be only consideration: Is node regularly too busy to provide resource? Is node willing to provide you with the resource? Do you have compatible security policies?
  • #21: P2P can be used for file sharing, distributed computing, creating communities – more generally sharing resources. No need for centralised indexes or servers – this also means the network must be self organising. Not talking about company networks – looking at worldwide scale networks (think Internet) P2P can enhance agent systems: Agents can communicate over P2P. Agents can be nodes at edges of P2P network. Agents can enhance P2P: Help in management of network (P2P networks must be self-organising – no central server). Agents can be used to discover resources. Resource Discovery in P2P networks is an ongoing research area. Agents can be useful in this. Current research activities looking at many uses of P2P and agents.