← Back to Patent Explorer
EP0365115A2 Expired / Lapsed EP ⏱️ 0.0 years remaining

Object identifier generator for distributed computer system

Assignee: Digital Equipment Corp
•
Filing: 1989-07-19
•
Granted: —
•
Expires: 2009-07-19
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract An identifier generator produces unique identifiers for objects in a distributed computer system by concatenating (i) the identifier of the node associated with the object - a unique space component; (ii) the current time read from an associated clock, adjusted such that no two identifiers created by the same generator have the same current time, regardless of the resolution of the associated clock - a unique time component; and (iii) a random name-sequence; and (iv) a (software/hardware) version number. The generator stores the time and the random name-sequence components. When the next identifier is generated, the generator compares the then current time with the stored time component. If the times are equal, the current time is adjusted and the adjusted time is used as the new identifier time component. If the current time is less than the stored time, the generator changes the stored random name-sequence component and uses it and the current time as identifier components. If the random name sequence component used in the previous identifier is lost, the generator generates a new random name sequence and uses the new sequence and the then current time as identifier components. If the time component used in the previous identifier is lost, the generator changes the random name-sequence is a predetermined manner and uses it and the then current time as identifier components.

Inventors

  • 👤 Steven P. Miller

Bibliographic Details

Application Number —
Jurisdiction EP
Data Source google_patents
Last Synchronized 2026-11-04 08:08
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/46; G06F9/465; G06F15/00; G06F15/16; G06F15/177

Claims Analysis

Total Claims: 21
Claim 1
Independent Claim 192 words
A device for generating identifiers for objects in a computer system, said device comprising: A. a clock for designating the current time; B. means for generating a random number sequence; C. a first storage means for storing the time and the random number sequence components of a generated identifier, the contents of said storage means being updated after each identifier is generated; D. a comparator for comparing the current time read from said clock and the time stored in said storage means; E. time adjusting means connected to receive the current time from said clock and responsive to the output of said comparator for adjusting the current time if the current time and the stored time are equal; F. sequence adjusting means connected to receive the random number sequence from said first storage means and responsive to the output of said comparator for adjusting said stored random number sequence if the current time is less than the stored time; and G. a second storage means responsive to the output of said time adjusting means and the output of said sequence adjusting means for storing said outputs as components of the current identifier.
Claim 2
Independent Claim 192 words
A device for generating identifiers for objects in a computer system, said device comprising: A. a clock for designating the current time; B. means for generating a random number sequence; C. a first storage means for storing the time and the random number sequence components of a generated identifier, the contents of said storage means being updated after each identifier is generated; D. a comparator for comparing the current time read from said clock and the time stored in said storage means; E. time adjusting means connected to receive the current time from said clock and responsive to the output of said comparator for adjusting the current time if the current time and the stored time are equal; F. sequence adjusting means connected to receive the random number sequence from said first storage means and responsive to the output of said comparator for adjusting said stored random number sequence if the current time is less than the stored time; and G. a second storage means responsive to the output of said time adjusting means and the output of said sequence adjusting means for storing said outputs as components of the current identifier.
Claim 3
Dependent Claim 29 words
The device of claim 1, wherein said random number sequence generator generates a new random number sequence if said first storage means does not contain a random number sequence.
Claim 4
Dependent Claim 26 words
The device of claim 2, wherein said sequence adjusting means adjusts said stored random number sequence if said first storage means does not contain the time.
Claim 5
Dependent Claim 25 words
The device of claim 3, wherein said device further comprises a node identifier means for storing the identifier of a node associated with the object.
Claim 6
Dependent Claim 34 words
The device of claim 4, wherein said second storage means is further responsive to said node identifier means for storing the contents of said node identifier means as a component of the current identifier.
Claim 7
Dependent Claim 30 words
The device of claim 5, wherein said device further comprises a version number storage means for storing the version number of hardware or software used in generating the current identifier.
Claim 8
Dependent Claim 36 words
The device of claim 6, wherein said second storage means if further responsive to said version number storage means for storing the contents of said version number storage means as a component of the current identifier.
Claim 9
Independent Claim 241 words
A device for generating identifiers for objects in a computer system, said device comprising: A. a clock for designating the current time; B. means for generating a random number sequence; C. a first storage means for storing the time and the random number sequence components of a generated identifier, the contents of said storage means being updated after each identifier is generated; D. a comparator for comparing the current time read from said clock and the time stored in said storage means; E. time adjusting means connected to receive the current time from said clock and responsive to the output of said comparator for adjusting the current time if the current time and the stored time are equal; F. sequence adjusting means connected to receive the random number sequence from said first storage means and responsive to the output of said comparator for adjusting said stored random number sequence if the current time is less than the stored time; G. node identifier means for storing the identifier of the node associated with the object; H. version number storage means for storing the version number of hardware or software used in generating the current identifier; and I. a second storage means responsive to the output of said time adjusting means and said sequence adjusting means, and the contents of said node identifier means and said version number storage means for storing said outputs and said contents as components of the current identifier.
Claim 10
Independent Claim 241 words
A device for generating identifiers for objects in a computer system, said device comprising: A. a clock for designating the current time; B. means for generating a random number sequence; C. a first storage means for storing the time and the random number sequence components of a generated identifier, the contents of said storage means being updated after each identifier is generated; D. a comparator for comparing the current time read from said clock and the time stored in said storage means; E. time adjusting means connected to receive the current time from said clock and responsive to the output of said comparator for adjusting the current time if the current time and the stored time are equal; F. sequence adjusting means connected to receive the random number sequence from said first storage means and responsive to the output of said comparator for adjusting said stored random number sequence if the current time is less than the stored time; G. node identifier means for storing the identifier of the node associated with the object; H. version number storage means for storing the version number of hardware or software used in generating the current identifier; and I. a second storage means responsive to the output of said time adjusting means and said sequence adjusting means, and the contents of said node identifier means and said version number storage means for storing said outputs and said contents as components of the current identifier.
Claim 11
Independent Claim 153 words
A method for generating identifiers for objects in a computer system comprising the steps of: A. obtaining the current time; B. obtaining a random number sequence; C. comparing the current time with a previously generated identifier time component; D. adjusting the current time if the two times are equal to produce the current time component for the identifier; E. using the current time as the current time component of the identifier if the two times are not equal; F. adjusting said random number sequence if the current time is less than the previously generated identifier time component to produce a random number sequence component for the identifier; G. using said random number sequence as the random number sequence component of the identifier if the current time is not less than the previously generated identifier time component; and H. concatenating the current time component and the random number sequence component to form the identifier.
Claim 12
Independent Claim 153 words
A method for generating identifiers for objects in a computer system comprising the steps of: A. obtaining the current time; B. obtaining a random number sequence; C. comparing the current time with a previously generated identifier time component; D. adjusting the current time if the two times are equal to produce the current time component for the identifier; E. using the current time as the current time component of the identifier if the two times are not equal; F. adjusting said random number sequence if the current time is less than the previously generated identifier time component to produce a random number sequence component for the identifier; G. using said random number sequence as the random number sequence component of the identifier if the current time is not less than the previously generated identifier time component; and H. concatenating the current time component and the random number sequence component to form the identifier.
Claim 13
Dependent Claim 25 words
The method of claim 9, wherein said step of obtaining a random number sequence further comprises obtaining the sequence used in the previously generated identifier.
Claim 14
Dependent Claim 32 words
The method of claim 10, wherein said method further comprises the step of generating a new random number sequence if the random number sequence from the previously generated identifier cannot be obtained.
Claim 15
Dependent Claim 23 words
The method of claim 11, wherein said method further comprises the step of obtaining an identifier for a node associated with the object.
Claim 16
Dependent Claim 37 words
The method of claim 12, wherein said method further comprises the step of obtaining a number indicative of the present method, said number being updated whenever the process of completing each of the method steps is changed.
Claim 17
Independent Claim 196 words
A method for generating identifiers for objects in a computer system comprising the steps of: A. obtaining the current time; B. obtaining a random number sequence; C. comparing the current time with a previously generated identifier time component; D. adjusting the current time if the two times are equal to produce the current time component for the identifier; E. using the current time as the current time component of the identifier if the two times are not equal; F. adjusting said random number sequence if the current time is less than the previously generated identifier time component to produce a random number sequence component for the identifier; G. using said random number sequence as the random number sequence component of the identifier if the current time is not less than the previously generated identifier time component; H. obtaining an identifier for a node associated with the object; I. obtaining a number indicative of the present method, said number being updated whenever the process of completing each of the method steps is changed; and J. concatenating the current time component, the random number sequence component, the node identifier and the present method number to form the identifier.
Claim 18
Independent Claim 196 words
A method for generating identifiers for objects in a computer system comprising the steps of: A. obtaining the current time; B. obtaining a random number sequence; C. comparing the current time with a previously generated identifier time component; D. adjusting the current time if the two times are equal to produce the current time component for the identifier; E. using the current time as the current time component of the identifier if the two times are not equal; F. adjusting said random number sequence if the current time is less than the previously generated identifier time component to produce a random number sequence component for the identifier; G. using said random number sequence as the random number sequence component of the identifier if the current time is not less than the previously generated identifier time component; H. obtaining an identifier for a node associated with the object; I. obtaining a number indicative of the present method, said number being updated whenever the process of completing each of the method steps is changed; and J. concatenating the current time component, the random number sequence component, the node identifier and the present method number to form the identifier.
Claim 19
Dependent Claim 25 words
The method of claim 14, wherein said step of obtaining a random number sequence further comprises obtaining the sequence used in the previously generated identifier.
Claim 20
Dependent Claim 32 words
The method of claim 15, wherein said method further comprises a step of generating a new random number sequence if the random number sequence from the previously generated identifier cannot be obtained.
Claim 21
Dependent Claim 33 words
The method of claim 16, wherein said method further comprises a step of alter the random number sequence in a predetermined manner if the time from the previously generated identifier cannot be obtained.

References Cited (Backward Citations)

No citation records indexed.

USPTO Annuity & Maintenance Windows

Maintenance schedule is calculated for granted US utility patents.

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag