Network event identifiers

Abstract: Identifiers for events occurring at a network node (10) are generated responsive on the time of the event, to a telephone number associated with the node, and to an event characteristic. In a network all of whose nodes (10) use this method, an identifier can be generated at one node without reference to any other node, which will be unique over the network. An identifier generated by this method can be decomposed to recover the time of the event, the telephone number associated with the node at which the event occurred at the time of occurrence, or the event characteris­ tic.

Description: This invention relates to the operation of data processing nodes connected in a network to comprise a data processing system, and particularly to the generation of identifiers for events such as file creation, for use in the network. When a file is created at a stand-alone data processing device, in some such devices an identifier is automatically assigned by the device. while in others the user may assign any identifier he chooses to the file (within the device file-naming conventions), so long as the identifier is unique among the identifiers in use at the device. It is usual to provide at the device means for comparing a newly assigned identifier with those already in use, and to reject an identifier that is found to be identical with one in use. Generally, such means can search only identifiers in current use, not those of files which have been deleted or archived. It is therefore possible for a file identifier to be used to identify more than one file over a period of time. When the device is a node in a data processing network, problems in identifying files may arise from several sources. Nodes in a network may be independently designed devices, each of which has its own local file naming convention. It is difficult to change these conventions after the devices are in use. When such devices are connected in a network, the different conventions introduce difficulties of communication between devices. A plurality of file-naming rules make cross-node file references by file name awkward or even impossible in the general case. Because of this difficulty, if it is necessary to share the data content of a file across nodes, the file may have to be copied in its entirety, renamed, and stored locally. This is inefficient. Further if one copy is changed locally, inconsistencies arise between the version. Global file naming conventions can solve many of these problems. One method that is used to provide unique file identifiers is to refer to a central catalog or master memory in the system; however, in distributed networks there is no defined "central" location for this name-management facility. Even if one node is arbitrarily chosen for this purpose, it may not be accessible to all other nodes at all times during their operation. For example, when the "central" node is temporarily down, the other nodes on the network will be unable to refer to it in order to assign unique file identifiers. Alternatively, if a node is temporarily disconnected from the network, it cannot refer to the central node in order to verify a file identifier. In Proceedings of the Association for Computing Machinery, 1984 Annual Conference, San Fransisco, 8-14 October 1984, pages 179-188, J.C. Browne et al, is discussed the concept of associating each object with a system-wide unique identifier. Such identifier is described as having a lost identifier, incarnation number and a sequence number within the incarnation number. In Communications of the ACM, vol.21, no.7, July 1978, pages 558-565, L. Lamport, the concept of assigning a number to an event which represents the time at which that event occurs is described. The article "Das elektronische Datenvermittlungssystem EDS" by K. Witt, Unterrichtsblätter (B), vol. 27/1974, Nr. 1, pp. 79-86 discloses a data processing device serving as an electronic data exchange system which comprises the features of the preamble of claim 1. Further descriptions of said electronic data exchange system EDS are given in the article "Struktur des Siemens Systems EDS" by e. Mair et al. Siemens Zeitschrift vol. 51/1977, pp. 82-87, and in the book "Datenvermittlungstechnik (EDS)" by N. Dauth, R.v. Decker's Verlag, Heidelberg, Hamburg 1978, pp. VI-XVI, 184-187 and 232-235. It is desirable to provide a method and means for providing event (such as file creation) identifiers' that ensure that each identifier is unique over a network of nodes. It is further desirable that such a method and means be operable entirely within a single node, whether or not the node is connected into the network at the time of the event. It is an object of the present invention as defined in claims 1 and 6 respectively to provide such device and method for generating unique event identifiers that do not require reference or physical link to any shared central naming facility or catalog, and that provide information about the time and place of the identified event, as well as information about the nature of the event. According to a first aspect of the invention, there is provided a device as defined in claim 1. In preferred embodiments, the event signal is also responsive to a characteristic of the event, and the identifier signal is also indicative of the event characteristic. Desirably, a plurality of such nodes are connected together in a network. According to another aspect of the invention, there is provided a method as defined in claim 6. In preferred embodiments, the event signal means is also responsive to a characteristic of the event for providing the event signal, and the generated identifier signal is indicative of the event characteristic. There is also provided analysis means comprising first decomposing means responsive to a generated event identifier signal for generating time signals indicative of the denominated time most closely associated with the time of occurrence of the event identified by the identifier signal; second decomposing means responsive to a generated event identifier signal for generating call number signals representing the call number of the telephone terminal associated, at the time of occurrence of the identified event, with the node at which the event identifier signal was generated; and third decomposing means responsive to a generated event identifier signal for generating event characteristic signals indicative of the characteristic of the identified event. These and other objects, feature and advantages of the present invention will appear from the following description of a preferred embodiment, together with the drawing, in which Fig. 1 is a schematic showing of a node in which the present invention is practiced. Referring now to the drawing, a data processing device 10 comprises a central processing unit 12, an internal clock 14, and storage 16. Input/output means conventionally comprising a display 18 and keyboard 20 is provided. A network interface 22, which may be a modem or other appropriate means, connects the device into a network. A telephone terminal 24 is associated with device 10. Terminal 24 may be a handset or other type of terminal having a unique call number. Terminal 24 need not be physically connected with device 10; its call number is stored in buffer 26 either by being entered through keyboard 20 or in any other convenient way. A real-time clock 28 is associated with device 10; the time shown by this clock is used to provide a fiduciary time for the internal clock 14. This fiduciary time may be entered through keyboard 20 or in any other convenient way. As is well understood in the art, central processor 12 operates according to an operating system program 30, stored in storage 16, to manage the data processing and other activities of the device. An event routine 32 is provided in operating system program 30. Designers of higher level programming for the device select certain events as qualifying events, that is, events for which it is desired to provide an identifier. Such events maybe, for example, file creation, keyboard input, or logging on or off. Provision is made for calling event routine 32 upon occurrence of such a qualifying event. Device 10, under the control of event routine 32, generates an event signal, which desirably represents a characteristic of the event, that is, its type or class. Qualifying events are assumed to occur at device 10 at time intervals having a minimum size of x seconds. Clock 14 provides time signals indicative of distinctly denominated times; any two successive denominated times are separated by a time interval smaller than x. Typically, successive denominated times are separated by 1/20 second, of the order of conventional disk access time. An identifier routine 34 is provided in operating system 30. This routine responds to the event signal by referring to the call number buffer 26 and to clock 14, and generates responsive to the event signal, to the stored call number signals and to the time signals from clock 14, an identifier signal associated with the event. This identifier signal is stored, for example in file index 40 (in storage 16) or wherever a file identifier is conventionally used. The identifier is desirably in the form of a Node field 42. comprising signals representing the call number from buffer 26, a Time field 44, comprising time signals from clock 14 indicative of a denominated time most closely associated with the time of the event signal, and a Type field 46, comprising signals indicative of the type of event (event characteristic). These signals may be packed or concatenated in any convenient way. I estimate that an identifier format comprising 16 bytes is adequate to conveniently and unambiguously describe at least 1000 events per second at each phone number in the world for at least the next 1000 years. File catalog systems on most current computer systems support file names of at least 16 bytes, so the identifier generated according to the present invention can be adopted within the framework of most existing file naming and cataloging methods. In a network of nodes in which my invention is employed, a file identifier generated according to my invention is unique among all identifiers generated in the network at any time, not merely among those catalogued or indexed at the time of generation. Thus even archived and deleted files remain uniquely identified. An identifier generated according to the present invention can be used by any node in the system, which can therefore access the identified file without further information if the nodes are connected through the global telephone network. Events or objects other than file creation that may desirably be identified according to my invention are creation or change of any network node, a hardware component in the node, the person or organization typically using the node, or transient data structures. An identifier generated according to my invention can be analyzed to derive information that is useful in accessing the identified file or otherwise. For this purpose, three decomposition routines are provided in operating system 30. Decomposition routine 50 generates, in response to a provided identifier generated as described above, the call number of the telephone terminal that was associated, at the time of the event, with the node where the event occurred. This information is useful, if the identified file has been archived but is no longer stored in the node; a telephone call to the derived call number is likely to reach an operator who can provide the identified file. Furthermore, call forwarding information can be provided at the node if the associated telephone terminal has been changed. Decomposition routine 52 generates, in response to a provided identifier generated as described above, the denominated time closest to the time when the event occurred. This information is frequently desired by users of data processing devices. Finally, decomposition routine 54 generates, in response to a provided identifier generated as described above, signals representing the characteristic or type of the event. This information is useful in the internal operation of the device; for example. a program branch can be conditioned on the event characteristic.

Claims: A data processing device (10), at which successive qualifying events can occur at time intervals no smaller than x, including: a central processing unit (12), an operating system program (30), time signal means (14) for providing time signals indicative of distinctly denominated times, any two successive denominated times being separated by a time interval smaller than x, storage means (16), and event signal means (32) responsive to the occurrence and a characteristic of a qualifying event for providing an event signal, characterized in that the data processing device (10) is located at one of a plurality of network nodes of a data processing network, the data processing device (10) is adapted to create or modify data files, and the data processing device (10) further includes: user display means (18) for the display of data files, user input means (20) for the creation or modification of data files, a telephone terminal means (24) associated with said node and having a unique call number, call number buffer (26) for providing and storing in said storage means (16) signals representing the call number of said telephone terminal means (24), network interface means (22), file identifier means (34) responsive to said event signal for generating a unique file identifier for any qualifying event, said file identifier being associated with said event and indicative of said stored call number signals, and said file identifier including: a type field (46) identifying one of a plurality of pre-defined file-related events, a node field (42) identifying the node at which the data processing device (10) is located, and a time field (44) identifying the denominated time most closely associated with the time of the event signal, and file index means (40) for storing, at said node, said file identifiers associated with data files created or modified by said data processing device (10). The data processing device of claim 1, wherein said plurality of predefined file-related events includes the creation of a new data file. The data processing device of claim 1 or 2, wherein said file index means (40) includes file identifiers for files which have been deleted from the data processing device (10). The data processing device of claim 1 or 2, wherein the file index means (40) includes file identifiers for files which have been archived from the data processing device (10). The data processing device (10) recited in anyone of claims 1 to 4, characterized by means for analyzing a file identifier to derive information which is useful in accessing said file, which includes: a first decomposition routine (50) for generating, in response to said node field, a telephone number associated with the node where the file was created, a second decomposition routine (52) for generating, in response to said time field, the denominated time closest to the time when the file was created, and a third decomposition routine (54) for generating, in response to said type field, signals representing the type of the predefined file-related event associated with said data file. A method for generating file identifiers in an associated data processing device (10) in a data processing network having a plurality of data processing nodes, so that each file identifier will be unique within the network, by generating a unique event identifier signal for a qualifying event occurring upon creation or modification of a data file at a network node in the operation of said node, at which successive qualifying events can occur at time intervals no smaller than x, which comprises providing and storing call number signals representing the call number of a telephone terminal associated with said node, providing time signals indicative of distinctly denominated times, any two successive denominated times being separated by a time interval smaller than x, providing an event signal responsive to occurrence and a characteristic of a said qualifying event, generating, responsive to said event signal, a file identifier associated with said event and indicative of said stored call number signals, said file identifier including a type field (46) identifying one of a plurality of a predefined file-related events, a node field (42) identifying the node at which the data processing device (10) is located, and a time field (44) identifying the denominated time most closely associated with the time of the event signal, and storing said file identifier (42,44,46) associated with data files greated or modified by said data processing device in said node in a file index means (40).

Inventors: CORWIN DANIEL W, CORWIN, DANIEL W.
Applicants: WANG LABORATORIES, WANG LABORATORIES INC.
Application year: 1987
Main classification: G06F17
IPC codes: H04M3, H04L29, H04M1, G06F17, H04M11, H04Q3, G06F12