Patent US5117351A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5117351A Expired / Lapsed US ⏱️ 0.0 years remaining

Object identifier generator for distributed computer system

Assignee: Hewlett Packard Development Co LP
•
Filing: 1988-10-21
•
Granted: 1992-05-26
•
Expires: 2008-10-21
📄 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 Miller

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-25 09:47
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/46; G06F9/465; G06F15/00; G06F15/16; G06F15/177

Claims Analysis

Total Claims: 19
Claim 1
Independent Claim 207 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 wherein said current time represents days, months, years, hours, minutes, seconds and fractions of seconds.
Claim 2
Independent Claim 207 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 wherein said current time represents days, months, years, hours, minutes, seconds and fractions of seconds.
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 48 words
The device of claim 3, wherein said device further comprises a node identifier means for providing the identifier of a node associated with the object to said second storage means, said second storage means storing the contents of said node identifier means as a component of the identifier.
Claim 6
Dependent Claim 53 words
The device of claim 4, wherein said device further comprises a version number storage means for providing a version number of hardware or software used in generating the identifier to said second storage means, said second storage means storing the contents of said version number storage means as a component of the identifier.
Claim 7
Independent Claim 256 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 wherein said current time represents days, months, years, hours, minutes, seconds and fractions of seconds.
Claim 8
Independent Claim 256 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 wherein said current time represents days, months, years, hours, minutes, seconds and fractions of seconds.
Claim 9
Independent Claim 168 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 wherein said current time represents days, months, years, hours, minutes, seconds and fractions of seconds.
Claim 10
Independent Claim 168 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 wherein said current time represents days, months, years, hours, minutes, seconds and fractions of seconds.
Claim 11
Dependent Claim 25 words
The method of claim 7, wherein said step of obtaining a random number of sequence comprises obtaining the sequence used in the previously generated identifier.
Claim 12
Dependent Claim 35 words
The method of claim 8, wherein said step of obtaining a random number sequence further comprises generating a new random number sequence if the random number sequence from the previously generated identifier cannot be obtained.
Claim 13
Dependent Claim 34 words
The method of claim 9, wherein said method further comprises the steps of: A. obtaining an identifier for a node associated with the object; and B. including the node identifier in the object identifier.
Claim 14
Dependent Claim 36 words
The method of claim 10, wherein said method further comprises the steps of: A. obtaining a version number associated with hardware or software used in generating the identifier; and B. including the number in the identifier.
Claim 15
Independent Claim 211 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 wherein said current time represents days, months, years, hours, minutes, seconds and fractions of seconds.
Claim 16
Independent Claim 211 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 wherein said current time represents days, months, years, hours, minutes, seconds and fractions of seconds.
Claim 17
Dependent Claim 24 words
The method of claim 12, wherein said step of obtaining a random number sequence comprises obtaining the sequence used in the previously generated identifier.
Claim 18
Dependent Claim 35 words
The method of claim 13, wherein said step of obtaining a random number sequence further comprises generating a new random number sequence if the random number sequence from the previously generated identifier cannot be obtained.
Claim 19
Dependent Claim 33 words
The method of claim 14, wherein said method further comprises a step of altering the random number sequence in a predetermined manner if the time from the previously generated identifier cannot be obtained.

References Cited (Backward Citations)

US4597057A Cited
US4558413A Cited
US4792921A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1995-05-26 1995-11-25 1996-05-26 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 1999-05-26 1999-11-25 2000-05-26 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2003-05-26 2003-11-25 2004-05-26 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag