US6956827B2
Expired / Lapsed
US
⏱️ 0.0 years remaining
Distribution of identifiers in serverless networks
Assignee: Callahan Cellular LLC
•
Filing: 2004-03-15
•
Granted: 2005-10-18
•
Expires: 2024-03-15
Abstract
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.
Inventors
- 👤 Julius Goryavsky
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-10-29 08:20
CPC Classifications
H; H04; H04L; H04L12/00; H04L12/28; H04L12/42; H04L61/00; H04L2101/00; H04L2101/60; H04L2101/604
Claims Analysis
Total Claims: 22
Claim 1
Independent Claim
160 words
A method for assigning identifiers in a distributed system, comprising: (a) 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 (b) selecting values to be assigned as identifiers as needed by rounds of assignment, wherein, in any round of assignment, beginning with n equal-length sectors, termed long sectors, only the value of midpoints of long sectors are selected as new identifiers to be assigned in the system, each new assignment creating two new short sectors, the round continuing until all long sectors are divided, making the number of sectors at the end of the round, and the beginning of the next round 2n, and wherein the beginning and end of any round of assignment has identifiers assigned with point values that divide the circle into equal-length sectors.
Claim 2
Independent Claim
160 words
A method for assigning identifiers in a distributed system, comprising: (a) 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 (b) selecting values to be assigned as identifiers as needed by rounds of assignment, wherein, in any round of assignment, beginning with n equal-length sectors, termed long sectors, only the value of midpoints of long sectors are selected as new identifiers to be assigned in the system, each new assignment creating two new short sectors, the round continuing until all long sectors are divided, making the number of sectors at the end of the round, and the beginning of the next round 2n, and wherein the beginning and end of any round of assignment has identifiers assigned with point values that divide the circle into equal-length sectors.
Claim 3
Dependent Claim
49 words
The method of claim 1 wherein in every ascending new round of execution the short sectors at the end of the previous round are considered to be long sectors at the beginning of the next round, the number of sectors increasing in each round by a factor of two.
Claim 4
Dependent Claim
64 words
The method of claim 1 wherein identifiers may be withdrawn arbitrarily in any round as well as assigned, and if an identifier withdrawn is an endpoint of an undivided long sector, an already-assigned identifier in that round having a value of a midpoint of a long sector is reassigned using the value of the withdrawn identifier, freeing the previous midpoint value to be reused.
Claim 5
Dependent Claim
52 words
The method of claim 3 wherein if in any instant round withdrawal of an identifier will reduce the number of sectors below the beginning number of sectors for the round, a new descending round is entered wherein the long sectors of the instant round are considered short sectors of the descending round.
Claim 6
Dependent Claim
55 words
The method of claim 4 wherein a bitmap is used in any round for identifying, at any point in time, which long sectors are divided into short sectors by assignment of identifiers, and which are not yet divided, the number of bits in the bitmap equal to the number of long sectors in the round.
Claim 7
Dependent Claim
24 words
The method of claim 5 wherein the bitmap is divided into equal-length fragments, each fragment representing a group of adjacent sectors of the circle.
Claim 8
Dependent Claim
14 words
The method of claim 6 wherein the fragment length is a power of two.
Claim 9
Dependent Claim
63 words
The method of claim 6 wherein a hierarchy of bitmap fragments is established over the main bitmap, one bit in each upper-level bitmap representing a bitmap fragment in the next lower-level bitmap, wherein a one in a bit of an upper-level bit indicates either presence of at least one undivided sector or at least one divided sector represented in the associated lower-level fragment.
Claim 10
Dependent Claim
30 words
The method of claim 8 wherein the hierarchy of bitmaps is used to select sectors to divide to provide values for assignment as identifiers or assigned values to be re-assigned.
Claim 11
Dependent Claim
18 words
The method of claim 5 wherein the bitmap is consulted in selecting sectors for assigning and reassigning identifiers.
Claim 12
Dependent Claim
199 words
A distributed, serverless system comprising: a plurality of computerized appliances as active and inactive nodes in the serverless system; a communication facility interconnecting individual ones of the plurality of computerized appliances; and an assignment system for assigning and re-assigning identifiers to nodes of the serverless system; wherein the assignment system establishes 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 selects values to be assigned as identifiers as needed by successive rounds of assignment, wherein, in any round of assignment, beginning with n equal-length sectors, termed long sectors, only the value of midpoints of long sectors are selected as new identifiers to be assigned in the system, each new assignment creating two new short sectors, the round continuing until all long sectors are divided, making the number of sectors at the end of the round, and the beginning of the next round 2n, and wherein the beginning and end of any round of assignment has identifiers assigned with point values that divide the circle into equal-length sectors.
Claim 13
Dependent Claim
199 words
A distributed, serverless system comprising: a plurality of computerized appliances as active and inactive nodes in the serverless system; a communication facility interconnecting individual ones of the plurality of computerized appliances; and an assignment system for assigning and re-assigning identifiers to nodes of the serverless system; wherein the assignment system establishes 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 selects values to be assigned as identifiers as needed by successive rounds of assignment, wherein, in any round of assignment, beginning with n equal-length sectors, termed long sectors, only the value of midpoints of long sectors are selected as new identifiers to be assigned in the system, each new assignment creating two new short sectors, the round continuing until all long sectors are divided, making the number of sectors at the end of the round, and the beginning of the next round 2n, and wherein the beginning and end of any round of assignment has identifiers assigned with point values that divide the circle into equal-length sectors.
Claim 14
Dependent Claim
50 words
The distributed system of claim 11 wherein in every ascending new round of execution the short sectors at the end of the previous round are considered to be long sectors at the beginning of the next round, the number of sectors increasing in each round by a factor of two.
Claim 15
Dependent Claim
65 words
The distributed system of claim 11 wherein identifiers may be withdrawn arbitrarily in any round as well as assigned, and if an identifier withdrawn is an endpoint of an undivided long sector, an already-assigned identifier in that round having a value of a midpoint of a long sector is reassigned using the value of the withdrawn identifier, freeing the previous midpoint value to be reused.
Claim 16
Dependent Claim
53 words
The distributed system of claim 13 wherein if in any instant round withdrawal of an identifier will reduce the number of sectors below the beginning number of sectors for the round, a new descending round is entered wherein the long sectors of the instant round are considered short sectors of the descending round.
Claim 17
Dependent Claim
54 words
The distributed system of claim 14 wherein a bitmap is used in any round for identifying, at any point in time, which long sectors are divided into short sectors by assignment of identifiers, and which are not, the number of bits in the bitmap equal to the number of long sectors in the round.
Claim 18
Dependent Claim
25 words
The distributed system of claim 15 wherein the bitmap is divided into equal-length fragments, each fragment representing a group of adjacent sectors of the circle.
Claim 19
Dependent Claim
15 words
The distributed system of claim 16 wherein the fragment length is a power of two.
Claim 20
Dependent Claim
63 words
The method of claim 16 wherein a hierarchy of bitmap fragments is established over the main bitmap, one bit in each upper-level bitmap representing a bitmap fragment in the next lower-level bitmap, wherein a one in a bit of an upper-level bit indicates either presence of at least one undivided sector or at least one divided sector represented in the associated lower-level fragment.
Claim 21
Dependent Claim
30 words
The method of claim 18 wherein the hierarchy of bitmaps is used to select sectors to divide to provide values for assignment as identifiers or assigned values to be re-assigned.
Claim 22
Dependent Claim
19 words
The distributed system of claim 15 wherein the bitmap is consulted in selecting sectors for assigning and reassigning identifiers.
References Cited (Backward Citations)
US20020188657A1
Cited
US20030061376A1
Cited
US20030088673A1
Cited
US20040054807A1
Cited
US20040156485A1
Cited
US20040249970A1
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 2008-10-17 | 2009-04-18 | 2009-10-18 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2012-10-17 | 2013-04-18 | 2013-10-18 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2016-10-17 | 2017-04-18 | 2017-10-18 | $7700.00 | Window Closed / Lapsed |