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.
The present invention provides an object oriented structure existing on a digital computer or PACS and a method, executed on a digital computer or PACS. The invention comprises a structure providing a plurality of semantic definition and validation objects and a method which semantically validates a DICOM message by passing the message through the structure. DICOM messages are comprised of a plurality of elements. A plurality of these elements are grouped into a module. A plurality of modules are grouped into an Information Entity (IE). A plurality of IEs are grouped into an Information Object Description (IOD). A pluratility of IODs are grouped into a block. A plurality of blocks comprise a DICOM message. The semantic validation objects provide a structure and method for defining, examining and semantically validating the Elements, Modules, IEs, IODs, and Blocks which comprise a DICOM message. The present invention generates warnings regarding the semantic validation of the DICOM message. These warnings are stored in the list created in computer memory by the application program requesting validation. The transformed physical image is stored into computer memory and transfered via a DICOM message after the application program has received a list of semantic warnings from the present invention.
A method, apparatus, and article of manufacture for generating an item identification number within a computer. An item identification number is associated with an item stored in a database connected to the computer. In accordance with the present invention, a unique seed value is created, wherein the unique seed value comprises a computer-dependent timestamp and one or more unique identifiers. A unique item identification number is produced by inputting the unique seed value into a random number generator.
A computer-controlled graphics display system providing improved means for selecting objects for joint action. The invention helps the user of a graphical user interface more easily select a group of objects that are meaningfully related to each other. Objects are usually created serially in time by a user, but they are typically selected by spatial grouping in graphical user interfaces. The invention shows that such a spatial grouping can be refined by considering the temporal grouping of objects. Algorithms are proposed which combine both spatial and temporal grouping to produce the most appropriate grouping of objects, i.e., groupings that most likely conform to the user's intentions.
A tag server system provides unique tag values to many client systems. The tag server system comprises a processor that generates an inventory of unique tag values, such values being generated by monotonically increasing a value within the tag body field. A memory is provided for storing the inventory of unique tag values. A nonvolatile memory is controlled by the processor and stores a highest unique tag value generated by the processor. The processor implements a tag value recovery procedure and is responsive to a data loss failure mode in the tag server system to cause a readout of the highest unique tag value from the non-volatile memory. The processor is responsive to that highest unique tag value to commence generation of new unique tag values monotonically from that value and expends no effort to regenerate lost unique tag values that are less than the highest unique tag value derived from the non-volatile memory.
In a data structure identifying method, objects and/or data structures are differentiated by using an identifier. The identifier is formed by using an index in place of an address, thereby reducing a required number of bits for describing the address. A table is used for representing the relationship between the index and the address. To ensure that the identifier is unique on a time axis, the index is combined with a time stamp or a counter. The identifier further includes a format determining portion, such as an object identifier "OID" format bit and/or a reserved bit, which may be used for determining the presence or the absence of a network address. The identifier is thus applicable to an expandable system. As a result, it is possible to provide a data structure identifying method in which only a small number of bits are required and in which a high level of system performance can be maintained. A recording medium in which a program implementing the above data structure identifying method is recorded is also provided.