Object oriented network system for allocating ranges of globally unique object identifiers from a server process to client processes which release unused identifiers
First Claim
1. A system for allocating a globally unique identifier to an object created in a distributed object oriented database, said system comprising:
- a network;
at least two processors connected to said network, one of said at least two processors executing at least one client process and one of said at least two processors executing a globally unique identifier server process;
one of said at least one client process requesting a range of globally unique identifiers from said globally unique identifier server process;
said globally unique identifier server process reserving a range of contiguous globally unique identifiers for said one of said at least one client process requesting a range of globally unique identifiers;
said globally unique identifier server process transmitting a first globally unique identifier and a last globally unique identifier from said range of globally unique identifiers to said one of said at least one client process requesting a range of globally unique identifiers after reserving said range of globally unique identifiers;
said one of said at least one client process requesting a range of globally unique identifiers allocating a globally unique identifier from said range of globally unique identifiers for each object created by said one of said at least one client process requesting a range of globally unique identifiers; and
said one of said at least one client process releasing an unused portion of said range of globally unique identifiers to said globally unique identifier server process upon completion of said allocation of globally unique identifiers.
9 Assignments
0 Petitions
Accused Products
Abstract
A system for generating globally unique identifiers for objects in a distributed object oriented database. In one embodiment the system comprises at least two processors connected by means of a network to a processor executing a server process which provides globally unique identifiers for objects throughout the network. Each processor on the network may execute one or more client processes, each of which may run transactions against the database. Each such client process transmits a request to the server process which provides the globally unique identifiers when that client process requires a globally unique object identifier for objects which the requesting client process is creating. In response to the request, the server which provides globally unique identifiers transmits a range of globally unique object identifiers to the requesting client process. The requesting client process then allocates object identifiers from this range of globally unique object identifiers to the objects it is creating. Upon completion of the allocation of the globally unique object identifiers to the objects which have been created, the requesting client process then returns any unused globally unique object identifiers to the server for use by other client processes.
180 Citations
14 Claims
-
1. A system for allocating a globally unique identifier to an object created in a distributed object oriented database, said system comprising:
-
a network; at least two processors connected to said network, one of said at least two processors executing at least one client process and one of said at least two processors executing a globally unique identifier server process; one of said at least one client process requesting a range of globally unique identifiers from said globally unique identifier server process; said globally unique identifier server process reserving a range of contiguous globally unique identifiers for said one of said at least one client process requesting a range of globally unique identifiers; said globally unique identifier server process transmitting a first globally unique identifier and a last globally unique identifier from said range of globally unique identifiers to said one of said at least one client process requesting a range of globally unique identifiers after reserving said range of globally unique identifiers; said one of said at least one client process requesting a range of globally unique identifiers allocating a globally unique identifier from said range of globally unique identifiers for each object created by said one of said at least one client process requesting a range of globally unique identifiers; and said one of said at least one client process releasing an unused portion of said range of globally unique identifiers to said globally unique identifier server process upon completion of said allocation of globally unique identifiers. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A system for allocating a globally unique identifier to an object created in a distributed object oriented database, said system comprising:
-
a network; and at least two processors connected to said network, one of said at least two processors executing at least one client process and one of said at least two processors executing a globally unique identifier server process, one of said at least one client process requesting a range of globally unique identifiers from said globally unique identifier server process, said globally unique identifier server process transmitting an object identifier space object having a plurality of ranges of globally unique identifiers to said one of said at least one client process requesting a range of globally unique identifiers, said one of said at least one client process requesting a range of globally unique identifiers reserving a range of globally unique identifiers within said object identifier space object, said one of said at least one client process requesting a range of globally unique identifiers allocating a globally unique identifier from said reserved range of globally unique identifiers reserved to each object created by said one of said at least one client process requesting a range of globally unique identifiers, said one of said at least one client process requesting a range of globally unique identifiers releasing an unused portion of said reserved range of globally unique identifiers, and said one of said at least one client process requesting a range of globally unique identifiers transmitting said object identifier space object to said globally unique identifier server process. - View Dependent Claims (10, 11, 12)
-
-
13. A method for allocating a globally unique identifier to an object created in a distributed object oriented database, by at least one client process, said method comprising:
-
requesting, by said at least one client process, a range of globally unique object identifiers from a server process; reserving, by said server process, a range of contiguous object identifiers to said at least one client process; transmitting, by said server process, a first globally unique identifier and a last globally unique identifier from said reserved range of globally unique identifiers to said at least one client process; allocating, by said at least one client process, a globally unique object identifier to each object created by said at least one client process from said transmitted range of object identifiers; and releasing, by said at least one client process, an unused portion of said range of object identifiers to said server process upon completion of said allocation of said globally unique object identifiers.
-
-
14. A method for allocating a globally unique identifier to an object created, by at least one client process, in a distributed object oriented database having a network, said method comprising:
-
requesting, by said at least one client process, a range of globally unique identifiers from a server process; transmitting, by said server process, an object identifier space object having a plurality of ranges of globally unique identifiers to said at least one client process in response to said request; reserving, by said at least one client process, a range of globally unique identifiers within said object identifier space object to said at least one client process; allocating, by said at least one client process, a globally unique identifier from said reserved range of globally unique identifiers reserved to each object created by said at least one client process requesting a range of globally unique identifiers; releasing, by said at least one client process, an unused portion of said reserved range of globally unique identifiers; and returning said object identifier space object by said at least one client process to said server process.
-
Specification