Dismiss
InnovationQ will be updated on Sunday, Oct. 22, from 10am ET - noon. You may experience brief service interruptions during that time.
Browse Prior Art Database

# Method for Generating Unique Identifiers by Using Low-Resolution Timestamps

IP.com Disclosure Number: IPCOM000105314D
Original Publication Date: 1993-Jul-01
Included in the Prior Art Database: 2005-Mar-19
Document File: 2 page(s) / 36K

IBM

## Related People

Kosaka, K: AUTHOR

## Abstract

Disclosed is a method for generating a unique identifier based on a timestamp even if the latter's resolution is lower than that needed for the shortest interval of identifier generations.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 88% of the total text.

Method for Generating Unique Identifiers by Using Low-Resolution Timestamps

Disclosed is a method for generating a unique identifier based
on a timestamp even if the latter's resolution is lower than that
needed for the shortest interval of identifier generations.

Let the resolution (minimum effective unit) of timestamps be T
and the shortest interval between identifier generation requests be
R.  Existing identifier generation methods based on a timestamp
assume that T is sufficient for R (T <  R).  In this case, we can use
a timestamp as a unique identifier, because every identifier
generation request obtains a different timestamp.  On the other hand,
if a timestamp has a low resolution (T >  R), it cannot be used as a
unique identifier, because there is a possibility that two or more
identical (non-unique) identifiers would be generated.  The proposed
method is effective in the latter case.

This method requires an integer variable V with the restriction
of (T/R) <=  2(N), where N is the bit-width of V. Each identifier
generation request increases the value of V by 1.  A combination of T
and a value of V has sufficient resolution for R and can be used as a
unique identifier.  For example, if T=10 msec and R=1 msec, we need a
variable V with a bit-width of at least 4 (2(3)  <  10 <  2(4)).

There is no need to keep V in secondary storage, because T has
a different value every time an application starts up, and any
combin...