IP Library Granted Patent US 9,374,277
Granted Patent B2
US 9,374,277 · App. 14/673,716 · Granted Jun 21, 2016

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.
H04L41/12H04L29/12132H04L29/12594H04L61/1552H04L61/303H04L69/325H04W4/02H04W8/26H04L29/12801H04L61/6004H04L67/18
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 9,374,277
App. No.
14/673,716
Granted
Jun 21, 2016
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 (15)

1. A method performed at a node of a distributed network of existing nodes, wherein the distributed network of existing nodes operates 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 one of the existing nodes;

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 immediate neighbor node.

2. The method of claim 1 ,

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.

3. The method of claim 2 , 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 (3)
CERTIFICATE OF CONVERSION Recorded Nov 5, 2019
From: UNIUM INC.
To: UNIUM LLC
Reel/Frame 050936/0136 →
CHANGE OF NAME Recorded Sep 24, 2019
From: COCO COMMUNICATIONS CORP.
To: UNIUM INC.
Reel/Frame 050468/0359 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 7, 2018
From: TUCKER, MARK L; BRUESTLE, JEREMY; ELLER, RILEY; RETFORD, BRIAN; NG, CHOONG
To: COCO COMMUNICATIONS CORP
Reel/Frame 045138/0110 →
Continuity (4)
Continuation 14223204 · Mar 24, 2014
Continuation 12160599
Provisional Application 60656733 · Feb 26, 2005
Related Publication 20150207690A1 · Jul 23, 2015