SlideShare uma empresa Scribd logo
1 de 27
CSM13CSM13
Software AgentsSoftware Agents
Seminar 5: Agents and P2P NetworksSeminar 5: Agents and P2P Networks
j.salter@surrey.ac.uk
http://www.computing.surrey.ac.uk/personal/st/N.Antonopoulos
Acknowledgements
Some of the slides in this presentation are taken or adapted from:
Sebastien Baehni. “Introduction to P2P and the JXTA framework”
http://www.ece.rutgers.edu/~parashar/Classes/03-04/ece451-566/slides/p2p.pdf
Frans Kaashoek et al. “Peer-to-Peer computing research: a fad?”
http://project-iris.net/talks/dht-toronto-03.ppt
Vinod Muthusamy. “An Introduction to Peer-to-Peer Networks”
http://www.eecg.toronto.edu/~jacobsen/mie456/slides/p2p-mie.pdf
Network Architectures
Client/Server Pure Peer-to-Peer
• Clients send requests to/via a
central server
• Small #messages
• Single point of failure
• Problem: Extreme scalability
• No central server
• Clients connected to
one or more peers
• Resilient
• Large #messages
Hybrid 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 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
Benefits of P2P Networks
• Efficient use of resources
• Scalability
• Reliability
• Ease of administration
but
• Increased message costs
• More complicated than client/server interaction
The 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
Research Question
How can we efficiently and accurately discover resources and
services in a P2P network?
Solution 1: Introduce some centralisation
Solution 2: Introduce some structure
“centralisation” and “structure” define two dimensions for classifying P2P networks
Napster
• Lists of files are uploaded
to Napster server
• Queries contain various
keywords of required file
• Server returns IP address
of user machines having
the file
• Client chooses user
machine and sets up
connection to it
• File transfer is direct
Napster
Centralised model
Napster server ensures correct results
Only used for finding the location of the files
Scalability bottleneck
Single point of failure
Denial of Service attacks possible
Lawsuits
Gnutella
• Decentralised search – no
central server
• Queries are sent to the
neighbour nodes
• Neighbours ask their own
neighbours, etc.
• Time To Live (TTL) field to
prevent loops
• File transfer is direct
Gnutella
Decentralised model
No single point of failure
Less susceptible to denial of service
SCALABILITY (flooding)
Cannot ensure correct results: “query
horizon”
KaZaA
• Hybrid of Napster and Gnutella
• Super-peers act as local search hubs
– Each super-peer is like a constrained Napster server
– Automatically chosen based on capacity and availability
• Lists of files are uploaded to a super-peer
• Super-peers periodically exchange file lists
• Queries are sent to super-peers
Freenet
• Ensures anonymity
• Decentralised search
• Queries are sent to the
neighbour nodes
• Neighbours ask their
own neighbours, etc.
• The query process is
sequential
• Learning ability
• Files propagate back
along query route
• Second generation P2P (overlay) networks
• Self-organizing
• Load balanced
• Fault-tolerant
• Guarantees on numbers of hops to answer a query
• Based on a distributed hash table interface
Structured P2P
• Distributed version of a hash table data structure
• Stores (key, value) pairs
• Goal: Efficiently insert/lookup/delete (key, value) pairs
• Each peer stores a subset of (key, value) pairs in the system
• Core operation: Find node responsible for a key
• Map key to node
• Efficiently route insert/lookup/delete request to this node
Distributed Hash Tables (DHT)
• Node id: m-bit identifier (similar to an IP address)
• Key: sequence of bytes
• Value: sequence of bytes
put(key, value)
 Store (key,value) at the node responsible for the key
value = get(key)
 Retrieve value associated with key (from the appropriate node)
DHT Generic Interface
• File sharing
• Databases
• Service discovery
• Chat service
• Publish/subscribe networks
DHT Applications
• Keys mapped evenly to all nodes in the network
• Each node maintains information about only a few
other nodes
• Efficient routing of messages to nodes
• Node insertion/deletion only affects a few nodes
DHT Desirable Properties
Node id: m-bit identifier (similar to an IP address)
Key: m-bit identifier (hash of a sequence of bytes)
Value: sequence of bytes
API
• insert(key, value)
• lookup(key)
• update(key, newval)
• join(n)
• leave()
Chord API
Chord Operation
• Nodes form a circle
based on node
identifiers
• Each node is
responsible in storing a
portion of the keys
• Hash function ensures
even distribution of
keys and nodes in the
circle
Chord Operation
Chord Operation
• Lookup the furthest
node that precedes the
key
• Query reaches target
node in O(logN) hops
Chord Properties
In a system with N nodes and K keys:
Each node manages at most K/N keys
Bounded routing information stored in every
node
Lookups resolved with O(logN) hops
Poor network locality
Network Locality
Nodes close on ring can be far in the network
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
Summary
• P2P can be used for sharing resources
• Removes need for central management
• Large scale, dynamic networks
• Efficient information organisation and retrieval
• P2P can enhance agent systems
• Agents can enhance P2P
• Focus gradually moves towards the coordinated
use of versatile, distributed computing resources

Mais conteúdo relacionado

Semelhante a Agents and P2P Networks

Semelhante a Agents and P2P Networks (20)

Lecture: Software Agents and P2P
Lecture: Software Agents and P2PLecture: Software Agents and P2P
Lecture: Software Agents and P2P
 
From Device to Data Center to Insights: Architectural Considerations for the ...
From Device to Data Center to Insights: Architectural Considerations for the ...From Device to Data Center to Insights: Architectural Considerations for the ...
From Device to Data Center to Insights: Architectural Considerations for the ...
 
From Device to Data Center to Insights
From Device to Data Center to InsightsFrom Device to Data Center to Insights
From Device to Data Center to Insights
 
PWL Seattle #16 - Chord: A Scalable Peer-to-peer Lookup Protocol for Internet...
PWL Seattle #16 - Chord: A Scalable Peer-to-peer Lookup Protocol for Internet...PWL Seattle #16 - Chord: A Scalable Peer-to-peer Lookup Protocol for Internet...
PWL Seattle #16 - Chord: A Scalable Peer-to-peer Lookup Protocol for Internet...
 
P2P Lecture.ppt
P2P Lecture.pptP2P Lecture.ppt
P2P Lecture.ppt
 
Peer Sim & P2P
Peer Sim & P2PPeer Sim & P2P
Peer Sim & P2P
 
Final peersimp pt
Final peersimp ptFinal peersimp pt
Final peersimp pt
 
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
 
Peer to peer Paradigms
Peer to peer ParadigmsPeer to peer Paradigms
Peer to peer Paradigms
 
P2 p
P2 pP2 p
P2 p
 
CS8603 DS UNIT 5.pptx
CS8603 DS UNIT 5.pptxCS8603 DS UNIT 5.pptx
CS8603 DS UNIT 5.pptx
 
Distributed "Web Scale" Systems
Distributed "Web Scale" SystemsDistributed "Web Scale" Systems
Distributed "Web Scale" Systems
 
IP Signal Distribution
IP Signal DistributionIP Signal Distribution
IP Signal Distribution
 
Node.js
Node.jsNode.js
Node.js
 
Part 6 : Internet applications
Part 6 : Internet applicationsPart 6 : Internet applications
Part 6 : Internet applications
 
Part1-Intro-Apps.pptx
Part1-Intro-Apps.pptxPart1-Intro-Apps.pptx
Part1-Intro-Apps.pptx
 
Kademlia introduction
Kademlia introductionKademlia introduction
Kademlia introduction
 
Msit computer networks 1
Msit computer networks 1Msit computer networks 1
Msit computer networks 1
 
BSIDES-PR Keynote Hunting for Bad Guys
BSIDES-PR Keynote Hunting for Bad GuysBSIDES-PR Keynote Hunting for Bad Guys
BSIDES-PR Keynote Hunting for Bad Guys
 
Week_1_Intro_Internet_arch_Applications.ppt
Week_1_Intro_Internet_arch_Applications.pptWeek_1_Intro_Internet_arch_Applications.ppt
Week_1_Intro_Internet_arch_Applications.ppt
 

Mais de James Salter

Mais de James Salter (9)

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
 
An Efficient Reactive Model for Resource Discovery in DHT-Based Peer-to-Peer ...
An Efficient Reactive Model for Resource Discovery in DHT-Based Peer-to-Peer ...An Efficient Reactive Model for Resource Discovery in DHT-Based Peer-to-Peer ...
An Efficient Reactive Model for Resource Discovery in DHT-Based Peer-to-Peer ...
 
INC 2005 - ROME: Optimising DHT-based Peer-to-Peer Networks
INC 2005 - ROME: Optimising DHT-based Peer-to-Peer NetworksINC 2005 - ROME: Optimising DHT-based Peer-to-Peer Networks
INC 2005 - ROME: Optimising 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 ...
 
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...
 
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
 

Último

+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
VishalKumarJha10
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
VictorSzoltysek
 

Último (20)

AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verifiedSector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
ManageIQ - Sprint 236 Review - Slide Deck
ManageIQ - Sprint 236 Review - Slide DeckManageIQ - Sprint 236 Review - Slide Deck
ManageIQ - Sprint 236 Review - Slide Deck
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 

Agents and P2P Networks

  • 1. CSM13CSM13 Software AgentsSoftware Agents Seminar 5: Agents and P2P NetworksSeminar 5: Agents and P2P Networks j.salter@surrey.ac.uk http://www.computing.surrey.ac.uk/personal/st/N.Antonopoulos
  • 2. Acknowledgements Some of the slides in this presentation are taken or adapted from: Sebastien Baehni. “Introduction to P2P and the JXTA framework” http://www.ece.rutgers.edu/~parashar/Classes/03-04/ece451-566/slides/p2p.pdf Frans Kaashoek et al. “Peer-to-Peer computing research: a fad?” http://project-iris.net/talks/dht-toronto-03.ppt Vinod Muthusamy. “An Introduction to Peer-to-Peer Networks” http://www.eecg.toronto.edu/~jacobsen/mie456/slides/p2p-mie.pdf
  • 3. Network Architectures Client/Server Pure Peer-to-Peer • Clients send requests to/via a central server • Small #messages • Single point of failure • Problem: Extreme scalability • No central server • Clients connected to one or more peers • Resilient • Large #messages
  • 4. Hybrid Peer-to-Peer Networks • Some nodes act as group managers/routers • More robust than client/server • Potentially lower #messages than pure P2P
  • 5. Characteristics 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
  • 6. Benefits of P2P Networks • Efficient use of resources • Scalability • Reliability • Ease of administration but • Increased message costs • More complicated than client/server interaction
  • 7. The 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. Research Question How can we efficiently and accurately discover resources and services in a P2P network? Solution 1: Introduce some centralisation Solution 2: Introduce some structure “centralisation” and “structure” define two dimensions for classifying P2P networks
  • 9. Napster • Lists of files are uploaded to Napster server • Queries contain various keywords of required file • Server returns IP address of user machines having the file • Client chooses user machine and sets up connection to it • File transfer is direct
  • 10. Napster Centralised model Napster server ensures correct results Only used for finding the location of the files Scalability bottleneck Single point of failure Denial of Service attacks possible Lawsuits
  • 11. Gnutella • Decentralised search – no central server • Queries are sent to the neighbour nodes • Neighbours ask their own neighbours, etc. • Time To Live (TTL) field to prevent loops • File transfer is direct
  • 12. Gnutella Decentralised model No single point of failure Less susceptible to denial of service SCALABILITY (flooding) Cannot ensure correct results: “query horizon”
  • 13. KaZaA • Hybrid of Napster and Gnutella • Super-peers act as local search hubs – Each super-peer is like a constrained Napster server – Automatically chosen based on capacity and availability • Lists of files are uploaded to a super-peer • Super-peers periodically exchange file lists • Queries are sent to super-peers
  • 14. Freenet • Ensures anonymity • Decentralised search • Queries are sent to the neighbour nodes • Neighbours ask their own neighbours, etc. • The query process is sequential • Learning ability • Files propagate back along query route
  • 15. • Second generation P2P (overlay) networks • Self-organizing • Load balanced • Fault-tolerant • Guarantees on numbers of hops to answer a query • Based on a distributed hash table interface Structured P2P
  • 16. • Distributed version of a hash table data structure • Stores (key, value) pairs • Goal: Efficiently insert/lookup/delete (key, value) pairs • Each peer stores a subset of (key, value) pairs in the system • Core operation: Find node responsible for a key • Map key to node • Efficiently route insert/lookup/delete request to this node Distributed Hash Tables (DHT)
  • 17. • Node id: m-bit identifier (similar to an IP address) • Key: sequence of bytes • Value: sequence of bytes put(key, value)  Store (key,value) at the node responsible for the key value = get(key)  Retrieve value associated with key (from the appropriate node) DHT Generic Interface
  • 18. • File sharing • Databases • Service discovery • Chat service • Publish/subscribe networks DHT Applications
  • 19. • Keys mapped evenly to all nodes in the network • Each node maintains information about only a few other nodes • Efficient routing of messages to nodes • Node insertion/deletion only affects a few nodes DHT Desirable Properties
  • 20. Node id: m-bit identifier (similar to an IP address) Key: m-bit identifier (hash of a sequence of bytes) Value: sequence of bytes API • insert(key, value) • lookup(key) • update(key, newval) • join(n) • leave() Chord API
  • 21. Chord Operation • Nodes form a circle based on node identifiers • Each node is responsible in storing a portion of the keys • Hash function ensures even distribution of keys and nodes in the circle
  • 23. Chord Operation • Lookup the furthest node that precedes the key • Query reaches target node in O(logN) hops
  • 24. Chord Properties In a system with N nodes and K keys: Each node manages at most K/N keys Bounded routing information stored in every node Lookups resolved with O(logN) hops Poor network locality
  • 25. Network Locality Nodes close on ring can be far in the network
  • 26. 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
  • 27. Summary • P2P can be used for sharing resources • Removes need for central management • Large scale, dynamic networks • Efficient information organisation and retrieval • P2P can enhance agent systems • Agents can enhance P2P • Focus gradually moves towards the coordinated use of versatile, distributed computing resources

Notas do Editor

  1. Notice many of the characteristics are similar to agents
  2. Agents can communicate over P2P - autonomous agents more suited to autonomous environments than client/server.
  3. The key is like a filename The value can be file contents