Browse Prior Art Database

Generate Unique and Recoverable Object Identifier

IP.com Disclosure Number: IPCOM000037067D
Original Publication Date: 1989-Nov-01
Included in the Prior Art Database: 2005-Jan-29
Document File: 4 page(s) / 39K

Publishing Venue

IBM

Related People

Wierbowski, DJ: AUTHOR

Abstract

The algorithm described herein is implemented in VM/SP Release 6. It is used by the new shared file system to internally represent the names of files, aliases, and directories.

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 50% of the total text.

Page 1 of 4

Generate Unique and Recoverable Object Identifier

The algorithm described herein is implemented in VM/SP Release 6. It is used by the new shared file system to internally represent the names of files, aliases, and directories.

The names of files, aliases, and directories (also referred to as objects) are represented externally as long character strings. It is inefficient to use the external name of an object as its internal representation. Therefore, it is necessary to create an algorithm that will generate identifiers to internally represent the names of objects.

Such an algorithm must produce unique identifiers. That is, two objects cannot be represented internally by the same identifier. Such an algorithm should produce identifiers that can be represented more efficiently than the object's external name (i.e., requires less storage). The algorithm described herein is such an algorithm.

In a file management system, groups are created to confine file allocations to a limited set of physical or virtual DASD. There is a control disk that contains information pertaining to the entire file system. Periodically, backup copies of the groups and the control disk are made. In the case of a catastrophic DASD failure, these backup copies are used to restore the data.

The algorithm described in this disclosure allows for such recoveries to be performed on a group-by-group basis. That is, after all the data for a storage group is restored, that storage group can be accessed by users. Therefore, the total system does not have to be restored before access to individual storage groups can be restored. The unique aspect of this algorithm is that this is true even when the failure occurs on the control disk and the backup copy of the control disk is restored to a previous level (e.g., the backup of one or more of the groups were taken after the backup of the control disk).

The algorithm for generating unique object identifiers (OIDs) is as follows:

1. Define an OID as a Storage Group Identifier concatenated with an incrementing counter field. The size of these fields is dependent on the requirements of the file system. For example, an OID with a two-byte storage group identifier and a four-byte incrementing counter would support 65,536 storage groups and would generate at least 4,294,967,296 unique identifiers. By increasing the size of the incrementing counter to six bytes, over 281 trillion unique identifiers would be generated.

2. During generation of the file system, perform the following: Initialize the incrementing counter to zero, and store this value on the control disk. Assign each storage group a unique storage group identifier. This is done by assigning the first storage group encountered with an identifier of 1, the second with an identifier of 2, the third with an identifier of 3,.... The algorithm for generating storage group identifiers is as follows: DO I = 1 to NUMBER OF STORAGE GROUPS DEFINED;

1

Page 2 of 4

Storage group identif...