Implicit group messaging in peer-to-peer networks Daniel Cutting, 28th April 2006 Advanced Networks Research Group

  • View
    212

  • Download
    0

Embed Size (px)

Text of Implicit group messaging in peer-to-peer networks Daniel Cutting, 28th April 2006 Advanced Networks...

  • Implicit group messaging inpeer-to-peer networks

    Daniel Cutting, 28th April 2006Advanced Networks Research Group

    Implicit group messaging

  • Outline.Motivation and problemImplicit groupsImplicit group messaging (IGM)P2P modelEvaluation

    Implicit group messaging

  • Motivation.Its now very easy to publish content on the Internet: blogs, podcasts, forums, iPhoto photocasting, More and more publishers of niche contentSocial websites like Flickr, YouTube, MySpace, etc. are gateways for connecting publishers and consumersSimilar capability would also be desirable in P2PCollaboration and sharing without central authorityNo reliance on dedicated infrastructureNo upfront costs, requirements

    Implicit group messaging

  • Problem.As more new niches are created, consumers need to search/filter more to find and collate varied contentHow can we connect many publishers and consumers?The publisher already knows the intended audienceCan often describe the audience in terms of interestsDoes not know the names of individual audience membersSo, address them as an implicit group

    Implicit group messaging

  • Implicit groups.Explicit groupsMembers namedPre-defined by publisher or consumers need to joinWolfgang, JulieImplicit groupsMembers describedPublisher defines on the fly, consumers dont need to joinSoccer & Brazil

    Implicit group messaging

  • Implicit group messaging.CAST messages from any source to any implicit group at any time in a P2P networkEach peer described by attributes (capabilities, interests, services, ), e.g. Soccer, BrazilImplicit groups are specified as logical expressions of attributes, e.g. (Soccer OR Football) AND BrazilSystem delivers messages from sources to all peers matching target expressions

    Implicit group messaging

  • P2P model.A fully distributed, structured overlay networkPeers maintain a logical Cartesian surface (like CAN)Each peer owns part of the surface and knows neighboursPeers store data hashed to their part of the surfacePeers geometrically ROUTE to locations by passing from neighbour to neighbourQuadtree-based surface addressingSmoothly combine two major techniques for efficient CAST delivery to groups of any size

    Implicit group messaging

  • P2P model.Attribute partitioning: attribute peer index for small groupsSummary hashing: for reaching BIG groupsHybrid CAST algorithm: reactive multicast algorithm combining the above

    Implicit group messaging

  • Quadtree-based addressing.Surfaces can be any dimensionality dAn address is a string of digits of base 2dMap from an address to the surface using a quadtree decompositionQuadrants called extents

    Implicit group messaging

  • Attribute partitioning.A distributed index from each attribute to all peersIndices are stored at rendezvous points (RPs) on the surface by hashing the attribute to an address

    Implicit group messaging

  • Attribute partitioning (registration).Every peer registers at each of its attributes RPsEvery registration includes IP address and all attributes

    Implicit group messaging

  • Attribute partitioning (CASTing).To CAST, select one term from targetRoute CAST to its RPRP finds all matches and unicasts to each

    Implicit group messaging

  • Attribute partitioning.Simple, works well for small groups and rare attributesFast: just one overlay route followed by unicastsFair: each peer responsible for similar number of attributesBUT common attribute lots of registrations at one RPHeavy registration load on some unlucky peersALSO big groups many identical unicasts requiredHeavy link stress around RPsSO, in these cases share the load with your peers!

    Implicit group messaging

  • Summary hashing.Spreads registration and delivery load over many peersIn addition to attribute registrations, each peer stores a back-pointer and a summary of their attributes at one other location on the surfaceLocation of summary encodes its attributesGiven a target expression, any peer can calculate all possible locations of matching summaries (and thus find pointers to all group members)Summaries distributed over surface; a few at each peer

    Implicit group messaging

  • Summary hashing (registration).Each peer creates a Bloom Filter{Soccer,Brazil}01101 01100 | 01001Treat bits as an address01101(0) 122 (2D)Store summary at that address on the surface

    Wolfgang {Soccer, Brazil}Benoit {Argentina, Soccer}Kim {Brazil}Julie {Soccer, Argentina, Brazil}

    Implicit group messaging

  • Summary hashing (CASTing).Can find all summaries matching a CAST by calculating all possible extents where they must be storedConvert CAST to Bloom Filter, replace 0s with wildcardsSoccer & Brazil {Soccer, Brazil} *11*1 01100 | 01001Any peer with both attributes must have (at least) the 2nd, 3rd and 5th bits set in their summary addressThe wildcards may match 1s or 0s depending on what other attributes the peer has

    Implicit group messaging

  • Summary hashing (CASTing).Find extents with 2nd, 3rd and 5th bits are set{Soccer,Brazil} *11*1(*) = {122, 123, 132, 133, 322, 323, 332, 333 }

    Implicit group messaging

  • Summary hashing (CASTing).Start anywhere and intersect unvisited extents with target expressionCluster remainder and forward towards each one until none remainWhen summaries are found, unicast to peersCalled Directed Amortised Routing (DAR)

    Implicit group messaging

  • IGM on P2P summary.Peers store their summary on the surface and register at the RP for each of their attributesIf an RP receives too many registrations for a common attribute, it simply drops themTo CAST, a source peer picks any term from target expression and tries a Partition CAST (through an RP)If RP doesnt know all matching members (because its a common attribute) or the group is too large to unicast to each one, it resorts to a DAR

    Implicit group messaging

  • Evaluation.2,000 peer OMNeT++/INET simulation of campus-scale physical networks, 10 attributes per peer (Zipf)8,000 random CASTs of various sizes (0 to ~900 members)Comparison to a Centralised server modelMetricsDelay penaltyPeer stress (traffic and storage)

    Implicit group messaging

  • Evaluation (delay penalty).Ratio of Average Delay (RAD) and Ratio Maximum Delay (RMD) compared to Centralised model80% of CASTs have average delay less than 6 times Centralised model95% have maximum delay less than 6 times Centralised

    Implicit group messaging

  • Evaluation (peer stress).Order of magnitude fewer maximum packets handled by any one peer over the Centralised server Higher average stress since more peers involved in delivering CASTsEven spread of registrations over peers

    Implicit group messaging

  • ConclusionImplicit groups are a useful way of addressing a group when you know what they have in common but not who they areIGM is also applicable to other applicationsSoftware updates to those who need themDistributed search engines

    P2P implicit group messaging is fast and efficientDoes not unfairly stress any peers or network linksCan deliver to arbitrary implicit groups with large size variation

    Implicit group messaging

  • Questions?

    Implicit group messaging