Cache Updates in a Peer-to-Peer Network of Mobile Agents Elias Leontiadis Vassilios V. Dimakopoulos Evaggelia Pitoura Department of Computer Science University.

Slides:



Advertisements
Similar presentations
VDR: Proactive element Conclusions VDR reaches 3.5% more nodes than VDR-R and 9% more nodes than our modified random walk routing strategy (RWR) VDR shows.
Advertisements

Self-Organizing Hierarchical Routing for Scalable Ad Hoc Networking David B. Johnson Department of Computer Science Rice University Monarch.
Ranveer Chandra , Kenneth P. Birman Department of Computer Science
Technion –Israel Institute of Technology Computer Networks Laboratory A Comparison of Peer-to-Peer systems by Gomon Dmitri and Kritsmer Ilya under Roi.
MANETs Routing Dr. Raad S. Al-Qassas Department of Computer Science PSUT
Mobile and Wireless Computing Institute for Computer Science, University of Freiburg Western Australian Interactive Virtual Environments Centre (IVEC)
Mobile and Wireless Computing Institute for Computer Science, University of Freiburg Western Australian Interactive Virtual Environments Centre (IVEC)
Scribe: A Large-Scale and Decentralized Application-Level Multicast Infrastructure Miguel Castro, Peter Druschel, Anne-Marie Kermarrec, and Antony L. T.
P2p, Spring 05 1 Topics in Database Systems: Data Management in Peer-to-Peer Systems March 29, 2005.
1 Spring Semester 2007, Dept. of Computer Science, Technion Internet Networking recitation #4 Mobile Ad-Hoc Networks AODV Routing.
Beneficial Caching in Mobile Ad Hoc Networks Bin Tang, Samir Das, Himanshu Gupta Computer Science Department Stony Brook University.
Mesh Networks A.k.a “ad-hoc”. Definition A local area network that employs either a full mesh topology or partial mesh topology Full mesh topology- each.
Building Low-Diameter P2P Networks Eli Upfal Department of Computer Science Brown University Joint work with Gopal Pandurangan and Prabhakar Raghavan.
ICNP'061 Benefit-based Data Caching in Ad Hoc Networks Bin Tang, Himanshu Gupta and Samir Das Department of Computer Science Stony Brook University.
presented by Hasan SÖZER1 Scalable P2P Search Daniel A. Menascé George Mason University.
A Distributed Search Service for Peer-to-Peer File Sharing in Mobile Application Presented by Tony Sung On Loy, MC Lab, CUHK IE 1 A Distributed Search.
Vassilios V. Dimakopoulos and Evaggelia Pitoura Distributed Data Management Lab Dept. of Computer Science, Univ. of Ioannina, Greece
LPT for Data Aggregation in Wireless Sensor networks Marc Lee and Vincent W.S Wong Department of Electrical and Computer Engineering, University of British.
Online Data Gathering for Maximizing Network Lifetime in Sensor Networks IEEE transactions on Mobile Computing Weifa Liang, YuZhen Liu.
Anonymous Gossip: Improving Multicast Reliability in Mobile Ad-Hoc Networks Ranveer Chandra (joint work with Venugopalan Ramasubramanian and Ken Birman)
Mobile and Wireless Computing Institute for Computer Science, University of Freiburg Western Australian Interactive Virtual Environments Centre (IVEC)
Mobile and Wireless Computing Institute for Computer Science, University of Freiburg Western Australian Interactive Virtual Environments Centre (IVEC)
1 Seminar: Information Management in the Web Gnutella, Freenet and more: an overview of file sharing architectures Thomas Zahn.
1 Spring Semester 2007, Dept. of Computer Science, Technion Internet Networking recitation #5 Mobile Ad-Hoc Networks TBRPF.
1 Internet Networking Spring 2006 Tutorial 3 Ad-hoc networks TBRPF (based on IETF tutorials on TBRPF)
Peer-to-peer file-sharing over mobile ad hoc networks Gang Ding and Bharat Bhargava Department of Computer Sciences Purdue University Pervasive Computing.
CS401 presentation1 Effective Replica Allocation in Ad Hoc Networks for Improving Data Accessibility Takahiro Hara Presented by Mingsheng Peng (Proc. IEEE.
Multicast Communication Multicast is the delivery of a message to a group of receivers simultaneously in a single transmission from the source – The source.
Ad Hoc Wireless Routing COS 461: Computer Networks
Mobile Ad-hoc Pastry (MADPastry) Niloy Ganguly. Problem of normal DHT in MANET No co-relation between overlay logical hop and physical hop – Low bandwidth,
IR Techniques For P2P Networks1 Information Retrieval Techniques For Peer-To-Peer Networks Demetrios Zeinalipour-Yazti, Vana Kalogeraki and Dimitrios Gunopulos.
1 6.4 Distribution Protocols Different ways of propagating/distributing updates to replicas, independent of the consistency model. First design issue.
Exploring VoD in P2P Swarming Systems By Siddhartha Annapureddy, Saikat Guha, Christos Gkantsidis, Dinan Gunawardena, Pablo Rodriguez Presented by Svetlana.
09/07/2004Peer-to-Peer Systems in Mobile Ad-hoc Networks 1 Lookup Service for Peer-to-Peer Systems in Mobile Ad-hoc Networks M. Tech Project Presentation.
Lyon, June 26th 2006 ICPS'06: IEEE International Conference on Pervasive Services 2006 Routing and Localization Services in Self-Organizing Wireless Ad-Hoc.
1 Spring Semester 2009, Dept. of Computer Science, Technion Internet Networking recitation #3 Mobile Ad-Hoc Networks AODV Routing.
Mobile Adhoc Network: Routing Protocol:AODV
Ad hoc On-demand Distance Vector (AODV) Routing Protocol ECE 695 Spring 2006.
Ad-hoc On-Demand Distance Vector Routing (AODV) and simulation in network simulator.
Carlos Rodrigo Aponte OLSRv2 High Level Overview.
Managing Real-Time Transactions in Mobile Ad-Hoc Network Databases Le Gruenwald The University of Oklahoma School of Computer Science Norman, Oklahoma,
Computer Science 1 CSC 774 Advanced Network Security Distributed detection of node replication attacks in sensor networks (By Bryan Parno, Adrian Perrig,
Fault-Tolerant Papers Broadband Network & Mobile Communication Lab Course: Computer Fault-Tolerant Speaker: 邱朝螢 Date: 2004/4/20.
1 Ad Hoc On-Demand Distance Vector Routing (AODV) Dr. R. B. Patel.
A Peer-to-Peer Approach to Resource Discovery in Grid Environments (in HPDC’02, by U of Chicago) Gisik Kwon Nov. 18, 2002.
An IP Address Based Caching Scheme for Peer-to-Peer Networks Ronaldo Alves Ferreira Joint work with Ananth Grama and Suresh Jagannathan Department of Computer.
#1 EETS 8316/NTU CC725-N/TC/ Routing - Circuit Switching  Telephone switching was hierarchical with only one route possible —Added redundant routes.
AODV: Introduction Reference: C. E. Perkins, E. M. Royer, and S. R. Das, “Ad hoc On-Demand Distance Vector (AODV) Routing,” Internet Draft, draft-ietf-manet-aodv-08.txt,
Rendezvous Regions: A Scalable Architecture for Service Location and Data-Centric Storage in Large-Scale Wireless Sensor Networks Karim Seada, Ahmed Helmy.
SRL: A Bidirectional Abstraction for Unidirectional Ad Hoc Networks. Venugopalan Ramasubramanian Ranveer Chandra Daniel Mosse.
Cache Updates in a Peer-to-Peer Network of Mobile Agents Ilias Leontiadis Master’s Thesis University of Ioannina,Greece Supervisors: Vassilios V. Dimakopoulos.
Computer Science Lecture 14, page 1 CS677: Distributed OS Last Class: Concurrency Control Concurrency control –Two phase locks –Time stamps Intro to Replication.
P2p, Fall 06 1 Topics in Database Systems: Data Management in Peer-to-Peer Systems Search in Unstructured P2p.
Intro DSR AODV OLSR TRBPF Comp Concl 4/12/03 Jon KolstadAndreas Lundin CS Ad-Hoc Routing in Wireless Mobile Networks DSR AODV OLSR TBRPF.
a/b/g Networks Routing Herbert Rubens Slides taken from UIUC Wireless Networking Group.
Peer to Peer Network Design Discovery and Routing algorithms
Energy Efficient Data Management for Wireless Sensor Networks with Data Sink Failure Hyunyoung Lee, Kyoungsook Lee, Lan Lin and Andreas Klappenecker †
Ad Hoc On-Demand Distance Vector Routing (AODV) ietf
SERENA: SchEduling RoutEr Nodes Activity in wireless ad hoc and sensor networks Pascale Minet and Saoucene Mahfoudh INRIA, Rocquencourt Le Chesnay.
Decentralized Trust Management for Ad-Hoc Peer-to-Peer Networks Thomas Repantis Vana Kalogeraki Department of Computer Science & Engineering University.
1 Along & across algorithm for routing events and queries in wireless sensor networks Tat Wing Chim Department of Electrical and Electronic Engineering.
Introduction to Wireless Sensor Networks
Mobile and Wireless Networking
Kevin Lee & Adam Piechowicz 10/10/2009
Effective Replica Allocation
Slides developed by Dr. Hesham El-Rewini Copyright Hesham El-Rewini
Replica Placement Model: We consider objects (and don’t worry whether they contain just data or code, or both) Distinguish different processes: A process.
Routing.
COS 461: Computer Networks
Routing in Mobile Wireless Networks Neil Tang 11/14/2008
Presentation transcript:

Cache Updates in a Peer-to-Peer Network of Mobile Agents Elias Leontiadis Vassilios V. Dimakopoulos Evaggelia Pitoura Department of Computer Science University of Ioannina Greece

2 Introduction Multi-Agent system (MAS)  Network of software agents  Computational resources are distributed across this network  The agents cooperate to fulfill a specified task To do so, they need resources provided by other agents Open MAS  No global knowledge of the agents in the system  Thus, agents are not aware of which agent provides a particular resource

3 Resource discovering in open MAS Approaches : Central directory  There is a single agent which holds a directory, matching resources to agents Middle agents  Some agents (middle agents) keep a fraction of the directory Our approach: Distributed caches: each agent keeps part of the directory  Performance  Failure tolerance Issue How to locate an agent that provides a particular resource

4 Distributed cache model Each agent maintains cache entries about k different resources of other agents Cache entries: keep the contact information of one agent that provides the resource The system is modeled as a directed graph G(V;E) called the cache network If agent u  v, then v is a neighbor of u a2a2 a4a4 a1a1 a6a6 a3a3 a5a5 R 4 : A 2 R 8 : A 6 R1R2R3R1R2R3 R4R7R4R7 R1R1 R8R5R2R1R8R5R2R1 R9R9 R6R6 Cache of a 1

5 Searching for a resource We consider the following flood-based search methods  Plain flood Forward the query to all its neighbors for a maximum number of steps (TTL: Time-To- Live)  Teeming Propagates the search message only to a random subset of its neighbors Φ the fixed probability of selecting a particular neighbor  Teeming with decay like teeming, but the subset gets smaller as we go deeper into the tree Φ = (1-d) level d < 1. d is called decay parameter  K-Random paths (K-walkers) The agent that initiates the search selects K random neighbors All the other agents forward the message to only one random neighbor Plain floodTeeming2-Random paths

6 The Problem: Cache network and mobility Mobility  Agents may move (e.g. change IP)  Resources may move from one agent to another Problem: when an agent A moves  Other agents that cached A’s resources before, now have invalid cache entries In fact, no one knows the new location of agent A: when it moved, it didn’t inform anyone a2a2 a4a4 a1a1 a6a6 a3a3 a5a5 a3a3 Old location New location

7 Cache update policies We propose a number of update policies that combine two basic techniques:  Pull-based method Initiated by the agent that wants to update its cache  Push-based method Initiated by the agent that moves. Since the cache entries form our overlay network, what we update is the network topology itself. We consider the problem of cache updates in a peer-to-peer network of mobile agents

8 Pull-based method Initiated by the agent that wants to refresh a cache entry (either periodically or on-demand when it discovers that an entry is invalid) Any flood-based search algorithm can be used  Plain flood  Teeming (with decay)  K-Random paths Pull method search the network for an agent that knows the new location

9 Pull search example Old location New location Agents knows the new location Agent that pulls

10 Pull search example

11 Pull search example

12 Pull search example

13 Pull search example Replies Directly

14 Pull search example

15 Push-based method Pull cannot work alone When an agent moves, it must inform at least one other agent about its new location Push method When an agent moves, it “pushes” a message to the network to inform other agents about its new location

16 Push example New location Needs the update Old location

17 Push example

18 Push example

19 Push example

20 Push example

21 Our Update Policies Plain Push/Pull combination with appropriate variations of flooding Push with snooping directories combined with periodic pulls a novel variation of push, where agents that receive information about other moving agents maintain it for a short period of time Inverted Cache with Leasing an informed push approach combined with leasing

22 Plain push/pull method Plain push The moving agent does not know which agents need the update It blindly floods the network with messages that contain its new location. When an agent receives the push message: it updates its cache entries, if needed

23 Plain push/pull method A wide push is needed to inform a sufficient number of agents  Large TTL and small decay An agent may not receive the update because:  Offline during push  Push messages may not reach it Larger TTL and decay values needed Disconnected network Such agents should perform on-demand pull.

24 Push with snooping directories and periodic pulling How it works:  An agent that receives a push message concerning other moving agents stores this information in its own snooping directory  It does so, even if it doesn’t need this information to update its own cache.  Keeps it for a small period of time (expiration time) So, each agent remembers the new location of every recently moved agent that came to its knowledge Push with snooping directories Every agent monitors the network and maintains a directory of recently moved agents. This directory is termed snooping directory.

25 Push with snooping directories example

26 Push with snooping directories example Snooping dir -a 1 moved to … Snooping dir -a 1 moved to …

27 Push with snooping directories example a1a1 Snooping dir -a 1 moved to … Snooping dir -a 1 moved to … Snooping dir -a 1 moved to … Snooping dir -a 1 moved to … Snooping dir -a 1 moved to …

28 Push with snooping directories and periodic pulling All agents perform periodic pulls Periodically, they search the network for agents in their cache that have recently moved and update the cache, if necessary Why periodic pulling?  To take advantage of the snooping directories: if we pull after a long time, information about old moves might have already been deleted  Time between two subsequent pulls < expiration time of entries in the snooping directories

29 Push with snooping directories and periodic pulling: Discussion This method allows the use of narrower push/pull flooding  Less message overhead For example: If agents pull periodically from their two-hop neighborhood:  All the nodes that are two-hop away from push-informed agents will eventually receive the update when they pull.  So, it is sufficient to push-inform just one agent in each two-hop neighborhood We prefer to use a k-walkers algorithm for pushing  We spawn K-walkers and we require that all agents be two-hops away from the walk-paths at the most

30 Push with snooping directories Changed location

31 Inverted cache push/pull Every agent keeps a list of the agents to which it is known, called inverted cache. When the agent moves, it informs the agents found  in its inverted cache  to update their plain cache  in its plain cache  to update their inverted directory By knowing where to send the updates  Avoid flooding  Low message overhead Drawback: When an agent adds/replaces/deletes a resource from its cache, a message has to be sent to the resource owner. ABCA B C

32 Inverted cache push/pull Issue Storing the entire inverted cache directory may not always be preferable, as there may exist popular agents/resources Solution  Only a limited directory may be maintained  The inverted cache strategy can be combined with leasing The agents that are not informed could use on-demand pull.

33 Inverted cache push/pull: Leasing Every entry in the cache gets a lease time issued by the resource owner After the expiration the resource owner may delete the entry from its inverted cache, without ever informing the leaser We could control the size of inverted cache directory through lease times  Shorter lease times  smaller inverted cache directories Lease time Time interval, during which the resource owner guarantees that it will notify the leaser in case the former moves.

34 Experimental results Evaluation using a simulator Create a random graph  Each agent shares some resources  Some resources (few) are more popular than others  Initially, all agents have valid cache entries The simulation runs for a number of turns:  At each turn, an agent can Move Search for a resource (on demand pull if necessary) Make a cache replacement etc. We keep statistics Push/pull messages Percentage of valid cache entries Average directory sizes Number of steps needed for the update to propagate

35 Simulation There are 1000 agents owning 3000 resources. We run the simulation for 250 turns. We are mainly interested in:  The percentage of valid cache entries during the simulation  The message overhead produced by Pull Push Cache replacements

36 Plain push/pull Extend of flooding and percentage of valid cache entries decayTTL narrow0.44 medium0.35 wide0.25 full05

37 Plain push/pull Extend of flooding and message overhead

38 Push with snooping directories and periodic pull Extend of flooding and percentage of valid cache entries

39 Push with snooping directories and periodic pull Extend of flooding and message overhead

40 Plain push/pull vs. snooping

41 Inverted cache push/pull with leases Lease time duration and percentage of valid cache entries Lease time small5 medium25 large50 Very large100

42 Inverted cache push/pull Replace frequency and message overhead

43 Comparison Plain push/pull  Should be used only when we do not want to use any additional memory for cache update methods  Can be used in an unreliable environment (on-demand pull)  Achieves satisfactory results when using wide flooding  High message overhead: It should be avoided when we have high mobility Push with snooping directories and periodic pull  Achieves the same cache quality with plain push/pull but with significantly less message overhead.  Uses additional memory Inverted cache with leasing  Negligible push message overhead  One-hop update propagation  Replacing a cache entry requires contacting the resource owner Unsuitable for systems with high replacement ratio.  Directory size can become quite large for popular agents  Not appropriate for unreliable open MAS Agents rely on each other to be updated Agents must be online to maintain a valid inverted cache

44 Conclusions We considered the problem of cache updates in a peer-to-peer network of mobile agents  Each agent maintains in its cache information about other agents  When agents move, cached entries about them become obsolete We propose a number of update policies that combine  pull-based techniques, that are initiated by the agent that wants to update its cache  push-based methods, that are initiated by the agent that moves. Push/pull variations  We propose a novel variation of push, where agents that receive information about other moving agents maintain it for a short period of time in a snooping directory  We propose an Informed push approach and we combine it with leasing (inverted cache) Our experimental results designate  Snooping directory leads to the attainment of the same cache consistency compared with plain push/pull but with ten times less message overhead  Inverted cache method is message-cost effective but only when cache replacements are not too frequent

45 Future work  Mobile agents resemble mobile (wireless) nodes in ad-hoc networks: apply our policies to message routing and resource discovery in these networks  File replicas in p2p systems apply our policies to keep replicas consistent

46 Thank you More details 

47 Pull-based method: sequence numbers Use of sequence numbers in order to find a newer location When an agent moves, it increases the sequence number of its resources.  So, larger sequence number means newer location. Cache entries include the sequence number of the cached location When pulling  Search for results with larger sequence numbers than that of the cache. a2a2 a3a3 a3a3 R 9 : SN = 5 R 9 : SN = 6 Old location New location R 9  A 3 :SN = 5 a 2 Cache