What can agents do for P2P systems Bin Yu Department of Computer Science North Carolina State University What is P2P Definition • A distributed system in which all nodes have identical responsibilities, and all communication is symmetric. • An application-level Internet on top of the Internet Resource sharing on a massive scale • Files, cycles, equipment, people... Conferences • O’Reilly P2P conference 2001 (conferences.oreilly.com/p2p/) • First International Workshop on Peer-to-Peer Systems (IPTPS '02) (http://www.cs.rice.edu/Conferences/IPTPS02/) Historical Perspective P2P is nothing new – ARPANET Internet was fundamentally designed to be a P2P system • any 2 computers could send packets to each other – no firewalls / no network address translation – no asymmetric connections (V.90, ADSL, cable, etc.) The popularity of www, telnet, ftp... changed the paradigm to client/server • Server – Service Provider – Powerful machine to server a large number of clients • Client – Service Consumer – client, machine with limited capacity, is used to request services P2P: today Many emerging applications: • Napster, Gnutella, Freenet… P2P Properties: • • • • no central coordination no peer has a global view of the system global behavior emerges from local interactions all existing data and services are accessible from any peer • peers are autonomous • peers and connections are unreliable P2P File-sharing Napster • Decentralized storage of actual content – transfer content directly from one peer (client) to another • Centralized index and search Gnutella • Not like Napster, with decentralized indexing • Search via flooding • Direct download Napster 128.1.2.3 Central Napster server Napster 128.1.2.3 Central Napster server Napster 128.1.2.3 Central Napster server Gnutella Gnutella xyz.mp3 ? Gnutella Gnutella Challenge “Location Resolution” • Given an object (might be name, attribute, or even content) • Return a channel to a node (peer) that has that object Approaches: • Centralized Index (Napster) • Broadcast information to be resolved (Gnutella) • Distributed Hashing (Chord, CAN) Distributed Hashing Objects Nodes 1. Map both objects and nodes into some topology (“id space”) Distributed Hashing Objects Nodes 1. Map both objects and nodes into some topology (“id space”) 2. Each node “owns” some neighborhood in the topology, has channel to some neighbors Distributed Hashing Objects Nodes 1. Map both objects and nodes into some topology (“id space”) 2. Each node “owns” some neighborhood in the topology, has channel to some neighbors 3. Topological structure lets query be routed to the “owner” of a given point Chord - Basic Idea Topology is a ring of ordered, fixed-size IDs (say 32 bits) • Node ID based on IP address, object ID based on name, content, ... 0 Chord - Basic Idea Nodes “own” the part of the ID space between their ID and their predecessor’s ID. 0 Chord - Basic Idea Each node has a channel to its successors at distances 1, 2, 4, 8, 16, ..., 2^(m-1) • where m = log_2 of the ring size (32 in this case) 0 Chord: Resolution Get ID of desired object Find the last node whose ID is LESS than the desired ID • Look in finger table to find farthest-away neighbor whose ID is LESS than the desired ID • Ask it for somebody closer That node’s successor is the “owner” of the object CAN: Basic Idea Topology is an N-dimensional torus • N=2 for simple examples Each node is responsible for a subrange in each dimension • Space is partitioned among all nodes Route via neighbors -- move in direction of destination CAN: simple example 1 CAN: simple example 1 2 CAN: simple example 3 1 2 CAN: simple example 3 1 2 4 CAN: simple example CAN: simple example (K,V) (a,b) retrieve (K) insert (K,V) hash(K) = (a,b) CAN: routing table CAN: routing (a,b) (x,y) Quick Review Two similar approaches to locating objects by “computed routing” • Similar to Manhattan Street Networks • Mainly for distributed storage systems. All these P2P networks ignore underlying topology! • Each node has relatively simple function • Network is not reconfigurable, and there is no learning happened • Brute-force searching, and broadcast the request to all the peers • Some networks, i.e., social networks, can not be partitioned by IP. Agent-based P2P networks Software agents • Computer programs which can perform a set of tasks autonomously. How to find an appropriate service or person • Through referrals • Approach: automate the process using software agents through referrals. Agent-based referral networks • Software agents cooperate to direct requests toward appropriate service or person. Agent-based Referral Networks Referral systems • MINDS 1987 • ReferralWeb 1996,1997 A computational model of agent-based referral networks • Each node is represented a software agent • Learn models of each other in term of – Expertise (ability to produce correct domain answers) – Sociability (ability to produce accurate referrals) – Cooperativeness (willingness to produce answers or referrals) . 32 Global View of Referral Networks Why is the idea feasible? Relative short distance between any two nodes • Small-world phenomenon – six (5.5) for human social networks of USA (Stanley Milgram, 1960s) The relative small value indicates • Intelligent software agents can follow only the relevant links and find the desired experts. Paths to the Expert(s) A Mark B Jenny C User modeling Paths to the Expert(s) A Mark B Jenny C User modeling Paths to the Expert(s) Mark A D B Jenny C E Uncooperative agents User modeling Paths to the Expert(s) Mark A D B Jenny C E Uncooperative agents User modeling Paths to the Expert(s) Mark A D E B Jenny C User modeling Uncooperative agents Note that: all of the queries were sent out from Jenny. A referral graph encodes how the computation spreads from Jenny and referrals or answers are sent back to Jenny. Referral Graph Ar A1 A2 Referral Graph Ar A1 A3 A2 Referral Graph Ar A1 A3 A4 A2 Referral Graph Ar A1 A2 A3 A6 A4 A5 Redundant referral Ar Root of the graph A1 Node has been visited A5 Node has not been visited Referral Graph Ar A1 A3 A2 A6 A4 A5 Question: node A5 and A6, which should be visited first? Weighted Referral Graph 1.0 Ar 0.6 A1 0.5 A2 0.6 0.5 1.0 0.5 A3 0.3 A6 1.0 1.0 A4 0.3 1.0 A5 0.3 Wnodek Wnodei Wlinki iN 0.8 Credits/Penalties Propagation 1.0 Ar 0.6 A1 0.6 0.5 A2 0.5 1.0 0.5 A3 0.3 A6 1.0 0.8 Answer 1.0 A4 0.3 1.0 A5 0.3 Suppose A6 returns an answer, then Ar will update the expertise for A6 and sociability for A1, A2, A3, A4. Research Challenges Improving the accuracy of “referrals” • User modeling and multiagent learning Avoiding interaction with undesirable participants • How to judge the trustworthiness of one agents Studying key properties of referral networks • Evolution of referral networks • Transition to small-world networks through interactions. • Protocols that foster the small-world phenomenon. 47 Vector Space Model Let D = {d1, d2, …, dn} denotes a collection of documents. {t1, t2, … tp} be the dictionary (a set of all the words) Each document d is represented as a p-dimensional vector d = dt1, dt2, … dtp d ti (0.5 0.5 tfi n )(log ) tf max df i where tfi is the number of times word ti appears in document d (the term frequency), dfi is the number of documents in the collection which contain ti (the document frequency), n is the number of documents in the collection, Tfmax is the maximum term frequency over all words in D. Ontology Understand the information context • Ontology is a set of definitions of formal vocabulary Class hierarchy of AI domain. • We manually construct an ontology for AI domain • Totally 19 domains – – – – – AI architecture Agents and multiagent systems … Planning and search Vision and robotics User Modeling Expertise as a term vector { EPi, LC1, LC2, … LCp} Agent Contact Info Expertise Profile NeighborModel NeighborModels Contact Info Expertise Sociability Cooperativeness Cache Each agent learns models of others based on experience: • hen a good service is obtained, the expertise of the provider is W revised upwards as is the sociability of those who gave referrals to it. •When a poor service is obtained, the revisions are downward. When to answer a query? Definition 1: Given a query vector Q = q1, …, qn and an expertise vector E = e1, …, en, the similarity between Q and E is defined as n QE t 1 t 1 (q t ) n q tet 2 2 (e ) t 1 t n Rule 1: Given a query vector Q with the expertise domain Ci and a threshold canAnswer, where 0 canAnswer 1, it says there is a good match between the user Pi and the query Q for a domain Ci if max{L ci , Q E Pi } ωcanAnswer When to generate referrals? Definition 2: Given a query vector Q with the domain Ci, the relevance of a query Q to any neighbor Pj is defined as Q Ci Pj max{L Ci , Q E Pj }(1 η) ηSPj where EPj and SPj are the expertise and sociability of agent Pj, respectively; and and (1- ) are the weights given to sociability and expertise. Rule 2: Given a query vector Q with the domain Ci, and a threshold canReferral, a neighbor is relevant to Q if Q Ci Pj ωcanReferra l for a value of . Architecture Jenny Mark Profile NeighborModels Agent Cache Referral Networks MARS is composed of a registration server and a bunch of software agents. GUI Feedback Learner Queries Answers Profile Collection-P NeighborModels Collection-N Matchmaker Planner Close Friend List Wrapper Queries Answers Referrals Classifier Heuristics Priority queue Queries/Answers/Referrals Outgoing messages Incoming messages Control Flow GUI Communication 4. Update New Message Notifier New Message Viewer 5. Get new message (Queries/answers) 6. Send message 2. Create message queue 2. Create message queue Incoming Message Processor (Update every 5 minutes) Send Queries Answer/Refer Evaluation . . . . Learner Planner 3. Send out message 7. User feedback NeighborModels Profile Referral Graph Builder Out-going Message Processor 1. Incoming Messages 8. Outgoing Messages Main windows of MARS Sign up window of MARS Window for incoming queries/answers Conclusion A computation model of agent-based referral networks • Improving the accuracy of referrals • A natural way for people to seek information • Applied in building multiagent systems in general A probabilistic model of distributed reputation management • Leads to a decentralized society in which agents help each other weed out undesirable players. A prototype system MARS • Limited in AI domain • Learning the knowledge in general is nontrivial. • Privacy when sharing with user’s email account. Future Work Evaluate the efficiency of referral networks • Reconstruct the social networks using AAAI (1980-2000) and IJCAI (1981-1999) proceedings • Visualize the whole network using KrackPlot and/or UNINET Economic model of referral networks • Incentive of help • Payment systems Trust model of referral networks • Lying and rumors Wants to know more? Book • Peer-to-peer: harnessing the power of disruptive techniques, Andy Oram (ed.) O’Reilly & Associates, Inc. Conference • O’Reilly P2P conference 2001 (http://conferences.oreilly.com/p2p/) • First International Workshop on Peer-to-Peer Systems (IPTPS '02) (http://www.cs.rice.edu/Conferences/IPTPS02/) • AAMAS-02 Workshop on Regulated Agent-based Social systems http://www.informatik.uni-hamburg.de/TGI/events/rasta02/ Bibliography Journal Papers • Bin Yu and Munindar P. Singh, Distributed Reputation Management for Electronic Commerce, Computational Intelligence, 2002, to appear • Bin Yu, Mahadevan Venkatraman and Munindar P. Singh, An Adaptive Social Network for Information Access: Theoretical and Experimental Results, Journal of Applied Artificial Intelligence, 2002, to appear. • Munindar P. Singh, Bin Yu and Mahadevan Venkatraman, Beyond Communication: Linking People and their Communities, Communications of the ACM, 2001,44(4):49-54 Conference Papers • Bin Yu and Munindar P. Singh, An Evidential Model of Distributed Reputation Management, In Proceedings of First Joint Conference on Autonomous Agents and Multiagent Systems, 2002, to appear • Bin Yu and Munindar P. Singh, Emergence of Agent-based Referral Networks (poster), In Proceedings of First Joint Conference on Autonomous Agents and Multiagent Systems, 2002, to appear • Bin Yu and Munindar P. Singh, Towards a probabilistic model of distributed reputation management, Proceedings of Fourth International Workshop on Deception, Fraud and Trust in Agent Societies, pages 125-137, 2001 • Bin Yu and Munindar P. Singh, A Social Mechanism of Reputation Management in Electronic Communities, Proceedings of Fourth International Workshop on Cooperative Information Agents, pages 154-165, 2000. • Mahadevan Venkatraman, Bin Yu and Munindar P. Singh, Trust and Reputation Management in a Small-World Network, accepted by ICMAS'2000 (Poster), Proceedings of Fourth International Conference on MultiAgent Systems, pages 449-450. • Bin Yu, Mahadevan Venkatraman and Munindar P. Singh, A Multiagent Referral System for Expertise Location, Proceedings of AAAI’99 Workshop on Intelligent Information Systems, pages 66-69, 1999. • http://www4.ncsu.edu/~byu Acknowledgements Dr. Munindar P. Singh (my thesis advisor) • For his advice and support. Dr. Henry A. Kautz • For his encouragement and discussion. My other committee members • Dr. James Lester, Dr. Carla Savage, especially Dr. Peter Wurman for their time and valuable comments. People working on the MARS project • Mahadevan Venkatraman, Amit Chopra • Wentao Mo, Paul Jose Palathingal The End