IP Library Granted Patent US 8,311,043
Granted Patent B2
US 8,311,043 · App. 12/323,688 · Granted Nov 13, 2012

Distribution of identifiers in serverless networks

Assignee: Quintence Properties KG, LLC
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,311,043
App. No.
12/323,688
Granted
Nov 13, 2012
Kind
B2
Abstract

A method for assigning identifiers in a distributed system involves establishing a circle as a locus of all identifiers, with the value of any point on the circle being the portion of one complete revolution in a first direction around the circle to the point, measured from a first zero point, and selecting values to be assigned as identifiers as needed by rounds of assignment, wherein the beginning and end of any round of assignment has identifiers assigned with point values that divide the circle into equal-length sectors. The method is useful in and applied to serverless telephony systems.

Claims (67)

1. A method comprising:

employing at least one processor to execute computer executable instructions stored on at least one non-transitory computer readable medium to perform the method comprising:

allocating identifiers to nodes of a serverless network by:

associating the identifiers with point identifiers of a circle, wherein a value of each point identifier is based on a revolution in a first direction around the circle from a first zero point identifier to the point identifier; and

assigning the value of each point identifier via one or more rounds of assignment,

wherein at least two point identifiers divide the circle into equal-length sectors.

2. The method of claim 1 , the allocating further comprising:

assigning during each round of the one or more rounds of assignment a value of a point identifier associated with a midpoint of a long sector of a plurality of long sectors to create two short sectors; and

continuing the one or more rounds of assignment until the plurality of long sectors is divided;

wherein the plurality of long sectors comprises n equal length sectors before a first round of assignment, and wherein a number of sectors at the end of the first round of assignment is 2n, wherein n is a natural number.

3. The method of claim 2 , further comprising:

treating short sectors obtained at an end of a round of assignment as long sectors at a beginning of a new round of assignment; and

increasing an amount of sectors during each round of assignment by a factor of two.

4. The method of claim 2 , further comprising:

at least one of withdrawing or assigning one or more point identifiers during a round of assignment;

reassigning a value of a withdrawn point identifier that is an endpoint of an undivided long sector to a point identifier corresponding to a midpoint of a long sector; and

reusing a previously assigned value of the point identifier corresponding to the midpoint of the long sector.

5. The method of claim 4 , further comprising:

treating long sectors of a round of assignment as short sectors in a new round of assignment if withdrawal of a point identifier reduces an amount of sectors during the round of assignment.

6. The method of claim 5 , further comprising:

using a bitmap to identify long sectors that are divided into short sectors as a result of assignment of point identifiers during a round of assignment; and

using the bitmap to identify long sectors that are not divided into short sectors as a result of assignment of point identifiers during the round of assignment; wherein a number of bits in the bitmap is equal to a number of long sectors in the round of assignment.

7. The method of claim 6 , further comprising:

dividing the bitmap into equal-length fragments, wherein each equal-length fragment represents a group of adjacent sectors of the circle.

8. The method of claim 7 , further comprising:

setting fragment length as a power of two.

9. The method of claim 6 , further comprising:

assigning and reassigning point identifiers using the bitmap.

10. The method of claim 7 , further comprising:

establishing a hierarchy of bitmap fragments from the bitmap, wherein a bit of an upper-level bitmap represents a bitmap fragment of a lower-level bitmap, and wherein a one ('1′) in the bit of the upper-level bitmap indicates an undivided or divided sector in the bitmap fragment of the lower-level bitmap.

11. The method of claim 10 , further comprising:

dividing sectors based on the hierarchy of bitmap fragments; and

assigning and reassigning point identifiers of sectors based on the hierarchy of bitmap fragments.

12. A method comprising:

employing at least one processor to execute computer executable instructions stored on at least one non-transitory computer readable medium to perform the method comprising:

at least one of assigning or reassigning node identifiers of a serverless network by:

creating a bitmap that represents sectors of a circle;

associating each sector of the circle to one of the node identifiers;

dividing the bitmap into a series of fragments; and

creating a first hierarchy of bitmap fragments comprising ascending levels of bitmap fragments; wherein each bit of a higher-level bitmap is associated with a multi-bit fragment of a lower-level bitmap; wherein a one (‘1’) in a bit value of the higher-level bitmap indicates there is a 1 in at least one bit value of the lower-level multi-bit fragment; and wherein the 1 in the at least one bit value indicates an associated sector is undivided.

13. The method of claim 12 , further comprising:

creating a second hierarchy of bitmap fragments comprising ascending levels of bitmap fragments; wherein each bit of a higher-level bitmap is associated with a multi-bit fragment of a lower-level bitmap; wherein a 1 in a bit value of the higher-level bitmap indicates there is a zero (‘0’) in at least one bit value of the lower-level multi-bit fragment; and wherein the 0 in the at least one bit value indicates an associated sector is divided.

14. The method of claim 13 , further comprising:

entering the first or second hierarchy of bitmap fragments at a highest level to manage assignment of point identifiers, wherein the circle is a locus of the point identifiers; and

traversing bit indicators through the first or second hierarchy to locate a bit of the bitmap that indicates whether a point identifier associated with a value of the serverless network is assignable or re-assignable.

15. The method of claim 14 , further comprising:

assigning values associated with a serverless telephony system to the point identifiers; and

assigning nodes in the serverless telephony system to computerized appliances.

16. The method of claim 15 , further comprising:

storing fragments of the bitmap on nodes of the serverless telephony system.

17. A method comprising:

employing at least one processor to execute computer executable instructions stored on at least one non-transitory computer readable medium to perform the method comprising:

associating nodes of a peer-to-peer network with sectors of a circle; and

assigning one or more node values to one or more endpoints of each sector during one or more rounds of assignment, wherein the one or more rounds of assignment divide each long sector of the circle into equal length short sectors, and wherein the equal length short sectors are renamed long sectors after all long sectors of the circle are divided.

18. The method of claim 17 , further comprising:

at least one of withdrawing one or more node values during a round of assignment or assigning one or more node values during a round of assignment;

reassigning a withdrawn node value that is an endpoint of an undivided long sector to a node value corresponding to a midpoint of a long sector; and

reusing a previously assigned node value corresponding to the midpoint of the long sector.

19. A system comprising:

at least one processor that executes the following computer executable components:

a communication facility that that interconnects nodes of a serverless system by:

creating a bitmap representing sectors of a circle, wherein the circle is a locus of point values related to the serverless system; and assignment logic that:

divides the bitmap into fragments; and

creates a hierarchy of bitmap fragments comprising ascending levels of bitmap fragments;

wherein each bit of a higher-level bitmap is associated with a multi-bit fragment of a lower-level bitmap;

wherein a one (‘1’) in a bit value of the higher-level bitmap indicates there is a 1 in at least one bit value of the lower-level multi-bit fragment; and

wherein the 1 in the at least one bit value indicates an associated sector of the circle is undivided.

Assignments (6)
MERGER Recorded Jan 12, 2016
From: QUINTENCE PROPERTIES KG, LLC
To: CALLAHAN CELLULAR L.L.C.
Reel/Frame 037488/0241 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 5, 2009
From: GORYAVSKY, JULIUS
To: CROSSOPTIX CORPORATION
Reel/Frame 022343/0567 →
CHANGE OF NAME Recorded Mar 5, 2009
From: CROSSOPTIX CORPORATION
To: POPULAR TELEPHONY, INC.
Reel/Frame 022343/0619 →
SECURITY AGREEMENT Recorded Mar 5, 2009
From: POPULAR TELEPHONY, INC.; EURL CROSSOPTIX FRANCE; CROSSOPTIX (ISRAEL) LTD.
To: VENTECH SA
Reel/Frame 022343/0756 →
RELEASE OF SECURITY INTEREST Recorded Mar 5, 2009
From: VENTECH SA
To: POPULAR TELEPHONY, INC.
Reel/Frame 022343/0773 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 29, 2008
From: POPULAR TELEPHONY, INC.
To: QUINTENCE PROPERTIES KG, LLC
Reel/Frame 022034/0284 →
Continuity (4)
Continuation 11136320 · May 23, 2005
Division 10801291 · Mar 15, 2004
Continuation In Part 10641821 · Aug 15, 2003
Related Publication 20090073966A1 · Mar 19, 2009