Claims
- 1. A system for managing access by a user to a reusable resource, comprising
- an integer pool;
- get means for obtaining an integer from said integer pool;
- put means for directly returning said integer to said integer pool upon completion of use;
- said integer pool including a NEXT control structure;
- said get means further operative for obtaining a first next integer from said NEXT control structure and causing said NEXT control structure to be loaded with a second next integer from said integer pool; and
- said put means further operative for loading a current integer currently stored in said NEXT control structure deeper into said integer pool and loading said NEXT control structure with a reuse integer being made available for reuse.
- 2. The system of claim 1 further comprising means for waiting said user responsive to said integer pool being empty.
- 3. The system of claim 1 wherein said integer pool is a linked list by proxy.
- 4. The system of claim 1 wherein said reusable resource is a data buffer.
- 5. The system of claim 1 wherein said reusable resource is a hardware status bit.
- 6. The system of claim 1 wherein said reusable resource is a logical connection.
- 7. The system of claim 1 wherein said reusable resource is a data channel.
- 8. The system of claim 1 wherein a plurality of integer pools are used to manage access to a plurality of different reusable resources.
- 9. The system of claim 8 wherein said plurality of different reusable resources include two or more data buffers, hardware status bits, logical connections and/or data channels.
- 10. A method for managing access by a user to a reusable resource, comprising the steps of:
- establishing an integer pool;
- establishing in connection with said integer pool a NEXT control structure;
- responsive to a user request, obtaining an integer from said integer pool for exclusive use by said user; said obtaining step obtaining a first next integer from said NEXT control structure and causing said NEXT control structure to be loaded with a second next integer from said integer pool; and
- responsive to release by said user of said integer, returning said integer directly to said integer pool; said returning step loading an integer previously stored in said NEXT control structure in said integer pool and loading said NEXT control structure with another integer being made available for reuse.
- 11. The method of claim 10 further comprising the step of waiting said user responsive to said integer pool being empty.
- 12. A program storage device readable by a machine, tangibly embodying a program of instructions executable by a machine to perform method steps for managing use of reusable resources, said method steps comprising:
- establishing an integer pool;
- establishing in connection with said integer pool a NEXT control structure;
- responsive to a request by a user, obtaining an integer from said integer pool for exclusive use by said user; said obtaining step obtaining a first next integer from said NEXT control structure and causing said NEXT control structure to be loaded with a second next integer from said integer pool; and
- responsive to release by said user of said integer, directly returning said integer to said integer pool; said returning step loading an integer previously stored in said NEXT control structure into said integer pool and loading said NEXT control structure with another integer being made available for reuse.
- 13. A memory device, such as a transmission medium, magnetic or optical tape or disc, for storing signals for structuring the components of a computer to manage use of reusable resources, said components comprising:
- an integer pool;
- get means for obtaining an integer from said integer pool;
- put means for returning said integer directly to said integer pool upon completion of usage;
- said integer pool including a NEXT control structure;
- said get means further operative for obtaining a first next integer from said NEXT control structure and causing said NEXT control structure to be loaded with a second next integer from said integer pool; and
- said put means further operative for loading a current integer currently stored in said NEXT control structure deeper into said integer pool and loading said NEXT control structure with a reuse integer being made available for reuse.
CROSS-REFERENCES TO RELATED APPLICATIONS
The following U.S. patent applications relate in certain respects to the system and method of the invention, the teachings of which are incorporated herein by reference.
U.S. patent application Ser. No. 08/820,181, filed Mar. 14, 1997 by G. W. Wilhelm, Jr. for Stationary Queue for Scarce Resource Management, still pending.
U.S. patent application Ser. No. 08/731,809, filed Oct. 21, 1996 by J. W. Feeney, et al. for Method and Apparatus for Maintaining Message Order for Multi-user FIFOs, still pending.
U.S. patent application Ser. No. 08/734,946 filed Oct. 22, 1996 by J. W. Feeney at al. for Multi-tasking Adapter for Parallel Network Applications, still pending.
US Referenced Citations (11)