Title: INSTwine : A Scalable PeertoPeer Architecture for Intentional Resource Discovery
1INS/Twine A ScalablePeer-to-Peer Architecture
for Intentional Resource Discovery
- Magdalena Balazinska, Hari Balakrishnan, and
David Karger - MIT Laboratory for Computer Science
- http//nms.lcs.mit.edu/
2Problem Description
- Abundant ubiquitous computation and communication
- Increasingly large computing environments
- Dynamic environments
- Many possible cool applications
- Locate resources using intentional descriptions
3INS Overview
Client describes attributes of required resources
Self-configuring resolver network
Resources advertise their capabilities
INR Intentional Name Resolver
4Resource Discovery Goals
- Allow client applications to locate services and
devices - Handle sophisticated resource descriptions
- Handle dynamism in the operating environment
- Scale to large numbers of resources
5Existing Solutions for Scalability
Partitioning
Cameras
Bldg 3
Resolver
Resolver
?
Floors 1-3
Floors 4-6
Bldg 1
Bldg 2
Resolver
Resolver
Resolver
Resolver
6Existing Solutions for Scalability
Hierarchies
Resolver
Resolver
Resolver
Resolver
Resolver
Resolver
Resolver
7INS/Twine Contributions
- Collaborating peer resolvers no content or
location constraints on queries - Scalability and load distribution via hash-based
partitioning of resource descriptions among
resolvers - Semi-structured resource descriptions with
arbitrary attribute-set - Network dynamism
- Designed for an environment where all resources
are equally important to users
8INS/Twine Approach Overview
resource camera
resource motion sensor
Resolver
Resolver
subject traffic
Resolver
Resolver
Resolver
Resolver
Resolver
subject traffic
resource motion sensor subject traffic
resource camera subject traffic
9INS/Twine Approach Overview
- A resource advertises its descriptions and
network location to any resolver - The description is converted into a canonical
form attribute-value tree (AVTree) - Using the content of the advertised description,
the resolver determines which resolvers should
know about the resource - The resolver forwards the description to these
resolvers for storage - Similarly for queries
10Architecture of One Resolver
h hash(a1v1-a2v2)
11Splitting Descriptions into Strands
Resource description AVTrees
Six strands
- Each strand is then hashed into a 128 bit value
which determines the nodes that will store the
resource information. - All queries, even short stranded queries require
asking only one resolver!
12Distributed Hash Table Chord
N5
N10
N110
N20
N99
Circular ID Space
N32
Stores key-values for keys 21..32
N80
N60
Keys 33..60
- Nodes and keys have 160-bit IDs
- Chord maps IDs to successor
- Successor Node with next highest ID
13Basic Lookup
N120
N10
Where is key 80?
N105
Successor pointer
N32
N90 has K80
N90
K80
N60
14Finger table allows log(N)-time lookups
½
¼
K log(n) immediate Successors for
robustness Stabilization methods for concurrency
1/8
1/16
1/32
1/64
1/128
fingeri points to successor (n 2i) log(n)
fingers in all
N80
15Back to Example
resource camera
resource motion sensor
Resolver
Resolver
subject traffic
Resolver
Resolver
Resolver
Resolver
Resolver
subject traffic
resource motion sensor subject traffic
resource camera subject traffic
16Properties of INS/Twine
- For a resource description with a attributes, t
at the top-level - Number of strands is s 2a t
- For R resources, S strands, K replication level,
and N resolvers - Storage requirement at each resolver (RSK)/N
- Advertisement
- SK resolvers contacted ( O(log N) for key
routing) - Query
- K resolvers contacted ( O(log N) for key
routing) - 100 success rate for less than K failures
- Failure rate decreases exponentially with K
17State Management
- Resources join, move, leave and fail
- Resolvers join and fail
- How to maintain consistency while achieving fault
tolerance? - Hard state
- Soft state
- Hybrid solution implemented in INS/Twine
18State Management
D
D
D
d
INR Intentional Name Resolver
19State Management
Remove
Remove
Remove
INR Intentional Name Resolver
20State Management
D
D
D
d
INR Intentional Name Resolver
21State Management
Expire
Expire
Expire
INR Intentional Name Resolver
22Evaluation Data Distribution
Data distribution rather even. Each resolvers
holds a small fraction of resource descriptions
23Evaluation Query Resolution
Even distribution of queries among resolvers
24Conclusion
- Intentional resource discovery
- Scalable peer-to-peer network of resolvers
- Hash-based mapping of resource descriptions to
resolvers - Dynamic and even distribution of resource
information and queries - Handles dynamism of resources and resolvers
http//nms.lcs.mit.edu/projects/twine/
25Appendix
26INS Overview
INR Intentional Name Resolver
27Describing Resources
28Problems using concatenation
- If numerous resources share the same prefix, some
nodes may receive significantly more load than
others - Fully solving short stranded queries requires the
colaboration of a linearly growing number of
resolvers (with respect to network size) - 1) and 2) are contradictory requirements!
29Distributed Hash Table Chord
A distributed hash-table is used to map keys onto
resolvers efficiently
From Chord A Peer-to-Peer Lookup Service for
Internet Applications Ion Stoica, Robert Morris,
David Karger, Frans Kaashoek, Hari Balakrishnan
Proc. ACM SIGCOMM Conf., San Diego, CA,
September 2001.
30Problems using prefixes
- More insertions for each resource. Small factor
since we expect descriptions to be rather short - Very popular prefixes may overload certain nodes
many advertisements and queries gt the prefix
should then become unusable - Nodes stop storing resources for that prefix
- Nodes answer queries for the prefix specifying
that they provide a partial answer due to the
vague nature of the query