IP Library Granted Patent US 8,683,020
Granted Patent B2
US 8,683,020 · App. 12/160,599 · Granted Mar 25, 2014

Naming system layer

Inventors: Mark L. Tucker (Seattle, WA); Jeremy Bruestle (Seattle, WA); Riley Eller (Seattle, WA); Brian Retford (Seattle, WA); Choong Ng (Seattle, WA)
Assignee: CoCo Communications Corp.
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,683,020
App. No.
12/160,599
Granted
Mar 25, 2014
Kind
B2
Abstract

A facility for publishing information in a distributed network without a central management infrastructure is described. In various embodiments, the facility receives an indication of a new node and a destination node, the new node omitted from a contact list associated with the destination node, the contact list having an approximately logarithmic distribution of neighboring nodes; introduces the new node to the destination node via a permanent circuit; and causes the destination node to add the new node to the contact list when adding the new node improves the logarithmic distribution of neighboring nodes.

Claims (35)

1. A method performed by a computer system for publishing information in a distributed network without a central management infrastructure, comprising:

receiving an indication of a new node and a destination node, the new node omitted from a contact list associated with the destination node, the contact list having a logarithmic distribution(c log d) of neighboring nodes;

introducing the new node to the destination node via a permanent circuit; and

causing the destination node to add the new node to the contact list when adding the new node improves the logarithmic distribution (c log d) of neighboring nodes,

wherein K=hash(N) and is a value in a key-space,

wherein for each value d between 0 and a key-space size, N d is a number of entries in the contact list for N whose keys are a distance less than d from K=hash(N), such that N d is defined as:

N d =|{N′ such that|hash( N )−hash( N ′)|< d}|<c log d

wherein c is a constant, and

wherein the inequality states that the distribution of the keys of the entries in a node N′s contact list occur increasingly sparsely at greater distances from the hash value of N.

2. The method of claim 1 wherein nodes in the contact list are logarithmically distributed when their distance is increasingly sparse at greater distances from a reference node.

3. The method of claim 2 wherein the distance is calculated based on a hash value, the hash value based on a name of the new node.

4. The method of claim 3 wherein the hash value defines a key for the new node.

5. The method of claim 4 wherein a distance between keys is an arithmetic difference.

6. The method of claim 1 further comprising attempting to converge the distributed network wherein the distributed network is converged when a contact table associated with each node of the distributed network contains that node's two nearest neighbors.

7. The method of claim 1 wherein the indication of the new node is received from the new node.

8. A method performed by a computer system for publishing information in a distributed network of existing nodes without a central management infrastructure, wherein a key associated with each of the existing nodes is represented as a plurality of hashes each being associated with one of a plurality of hierarchical naming rings which the existing node is a member of, and wherein each hierarchical naming ring has a logarithmic distribution (c log d) of its respective keys, the method comprising:

receiving an introduce message from a new node at an immediate neighbor node, wherein the new node and the immediate neighbor node are on a portion of the distributed network associated with a first one of the plurality of the hierarchical naming rings, wherein information pertaining to the new node is omitted from a contact table stored by the immediate neighbor node, wherein the contact table identifies each of the existing nodes using a <key, location> pair, and wherein the location of the <key, location> pair identifies a network location of the node;

determining a hash for the new node, wherein the determined hash for the new node corresponds to the position of the new node on the first one of the plurality of the hierarchical naming rings;

determining a new <key, location> pair of the new node, wherein the key includes the determined hash of the new node on the first one of the plurality of the hierarchical naming rings and the hashes for the remaining ones of the plurality of the hierarchical naming rings associated with the immediate neighbor node, and wherein the location of the new <key, location> pair identifies a network location of the new node; and

storing the new <key, location> pair in the contact table of the at least one immediate neighbor node,

wherein K=hash(N) and is a value in a key-space,

wherein for each value d between 0 and a key-space size, N d is a number of entries in the contact list for N whose keys are a distance less than d from K=hash(N), such that N d is defined as:

N d =|{N′ such that|hash( N )−hash( N ′)|< d}|<c log d

wherein c is a constant, and

wherein the inequality states that the distribution of the keys of the entries in a node N′s contact list occur increasingly sparsely at greater distances from the hash value of N.

9. The method of claim 8 ,

wherein the plurality of the hierarchical naming rings comprises at least a first hierarchical naming ring, a second hierarchical naming ring, and a third hierarchical naming ring;

wherein the new node and the immediate neighbor node are members of the third hierarchical naming ring, and not a member of the second hierarchical naming ring;

wherein an intermediate node is associated with the first hierarchical naming ring;

wherein a remote existing node is a member of the second hierarchical naming ring, and not a member of the first hierarchical naming ring; and

wherein the new node, the immediate neighbor node, and remote existing node are members of the first hierarchical naming ring.

10. The method of claim 9 , further comprising communicating a message from the new node to the remote node, wherein the communicating comprises:

communicating the message from the new node to the immediate neighbor node over a first permanent circuit identified by a first <key, location> pair stored in a first contact table of the new node;

communicating the message from the immediate neighbor node to the intermediate node over a second permanent circuit identified by a second <key, location> pair stored in the contact table of the immediate neighbor node; and

communicating the message from the intermediate node to the remote node over a third permanent circuit identified by a second <key, location> pair stored in a second contact table of the intermediate node.

Assignments (5)
SECURITY INTEREST Recorded Nov 29, 2017
From: COCO COMMUNICATIONS CORP.
To: BARBO FAMILY INVESTMENTS LLC; VOLPE, INC.; STACHOWIAK, JOHN; MONKMAN, WILLIAM R; STUPAY, SCOTT; THE DAVID C. WYMAN REVOCABLE LIVING TRUST
Reel/Frame 044251/0172 →
RELEASE OF SECURITY INTEREST Recorded Nov 29, 2017
From: DEFEO, JOHN E; BARBO FAMILY INVESTMENTS LLC; BARBO, CHARLES; STACHOWIAK, JOHN; WBW TRUST NO. ONE; STUPAY, SCOTT; THE DAVID C. WYMAN REVOCABLE LIVING TRUST; VOLPE, INC.; MONKMAN, WILLIAM R
To: COCO COMMUNICATIONS CORP.
Reel/Frame 044251/0621 →
RELEASE OF SECURITY INTEREST Recorded Feb 22, 2016
From: DEFEO, JOHN E.; BARBO FAMILY INVESTMENTS LLC; BARBO, CHARLES; STACHOWIAK, JOHN; WBW TRUST NO. ONE; STUPAY, SCOTT; THE DAVID C. WYMAN REVOCABLE LIVING TRUST; VOLPE, INC.; MONKMAN, WILLIAM R.
To: COCO COMMUNICATIONS CORP.
Reel/Frame 037790/0814 →
SECURITY AGREEMENT Recorded Apr 26, 2010
From: COCO COMMUNICATIONS CORP.
To: BARBO FAMILY INVESTMENTS LLC; VOLPE, INC.; STACHOWIAK, JOHN; MONKMAN, WILLIAM R.; STUPAY, SCOTT; THE DAVID C. WYMAN REVOCABLE LIVING TRUST
Reel/Frame 024286/0306 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 16, 2009
From: TUCKER, MARK L.; BRUESTLE, JEREMY; ELLER, RILEY; RETFORD, BRIAN; NG, CHOONG
To: COCO COMMUNICATIONS CORP.
Reel/Frame 023238/0192 →
Continuity (2)
Provisional Application 60656733 · Feb 26, 2005
Related Publication 20090319646A1 · Dec 24, 2009