Queue bank repository and method for sharing limited queue banks in memory
Abstract
In a computer system a system of exchanging tokens for queue banks is created that permits a requestor to directly specify which queue bank is wanted. Only the desired queue bank is withdrawn from a queue bank repository to accomplish this and no sorting or FIFO handling of queue banks is needed. The system uses a schema similar to a coat check room, where the requestor is given a token when the requestor wants to deposit a queue bank into the queue bank repository. The queue bank repository returns the queue bank when the token is returned by the requester. In its most efficient form, two machine-level instructions handle the entire operation, a withdraw instruction and a deposit instruction.
Claims
exact text as granted — not AI-modified1 - 9 . (canceled)
10 . A method of storing a queue bank descriptor from a client process into a queue bank repository comprising:
indicating that a client process needs to store a queue bank descriptor into said queue bank repository, providing to said client process a token having an indication of an entry address into which the queue bank descriptor is stored in said queue bank repository such that the client can later retrieve the stored queue bank by returning said token to said queue bank repository, storing said queue bank descriptor into said entry address, and removing said queue bank from the visible address space of the client process, and wherein upon said return said queue bank repository a next available entry address in said queue, bank repository will be undated using the entry address into which said queue bank descriptor had been stored.
11 . The method of claim 10 further comprising,
reading from a header in said queue bank repository said next available entry address location prior to providing said token to said client and wherein said storing step comprises storing said queue bank descriptor into a last available entry address location.
12 . The method of claim 10 further comprising manufacturing said token to include an indication of said last available entry address location into which said client queue bank descriptor was stored.
13 . The method of claim 10 further comprising manufacturing said token to include an indication of said last available entry address location into which said client queue bank descriptor was stored, or if the repository is full, providing an indication of fullness.
14 . The method of claim 10 further comprising manufacturing said token to include an indication of said last available entry address location into which said client queue bank descriptor was stored, or if the repository is full, not providing any token until said repository has an available address entry.
15 . The method of claim 10 further comprising manufacturing said token to include an indication of said last available entry address location into which said client queue bank descriptor was stored, or if the repository is full, providing an interrupt to an operating system.
16 . The method of claim 15 wherein said operating system provides for more available entry address locations when it receives said interrupt.
17 . The method of claim 10 further comprising manufacturing said token to include an indication of said last available entry address location into which said client queue bank descriptor was stored, or if the repository is full, opening a new space of entries via a call to an operating system, so that said manufacturing of said token can be accomplished with an indication that said client queue bank descriptor was stored in said new space.
18 . A method of retrieving a queue bank by a client process from a queue bank repository for storing queue bank descriptors comprising:
providing a token to said queue bank repository by said client process, reading said token to determine an address containing a one of said queue bank descriptors by said queue bank repository, providing data from said address containing said queue bank descriptor to said client process by said queue bank repository, and establishing said retrieved queue bank in the visible address space of the client as specified by the client process.
19 . A method for handling invalid attempts to retrieve a queue bank by a client process from a Queue Bank Repository for storing queue bank descriptors, said method comprising:
providing a false token to said queue bank repository by a client process, reading said false token to determine an address containing said queue bank reference by said queue bank repository providing a status indicating that the token was not valid if no deposit currently exists at that token address.
20 . A system for handling a queue bank repository system comprising at least two methods, the first method, for storing a queue bank from a client process into a queue bank repository comprising:
indicating that a client process needs to store a queue bank into said queue bank repository, providing to said client process a token having an indication of an entry address into which the queue bank descriptor is stored in said queue bank repository such that the client can later retrieve the stored queue bank, and storing said queue bank descriptor into said entry address, and the second method, for retrieving a said queue bank that has been from a client process in a queue bank repository comprising: providing a token to said queue bank repository by said client, reading said token to determine an address containing said queue bank descriptor by said queue bank repository, and providing data from said address containing said queue bank to said client process by said queue bank repository.
21 . The system of claim 19 , further comprising a method for handling invalid attempts to retrieve a queue bank by a client process from a Queue Bank Repository comprising:
providing a false token to said queue bank repository by said client, reading said token to determine an address containing said queue bank by said queue bank repository, and providing a status indicating that the token was not valid.Join the waitlist — get patent alerts
Track US2005091239A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.