System for allocating resources among agent processes

Electrical computers and digital processing systems: multicomput – Computer-to-computer data routing – Least weight routing

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

Reexamination Certificate

active

06704765

ABSTRACT:

BACKGROUND OF THE INVENTION
1. Field of the Invention
This invention relates generally to parallel processing of data processing requests, and, more particularly, to concurrent processing on a plurality of nodes by interacting processes.
2. Background Art
Due to the increasing speed and decreasing cost of microprocessors, it is increasingly useful to perform parallel processing in multi-node, microprocessor-based computer systems. Applications for parallel processing include numerical calculation and database processing. This processing of numerous applications concurrently among different nodes may be divided into (a) off-line tasks, wherein application requests in a high level language are compiled into a lower level language such as an assembly language, (b) run-time tasks, wherein the concurrent processing of the instructions is coordinated, and (c) system administration, wherein the system is configured and performance is monitored. The invention described herein primarily concerns parallel processing run-time tasks.
The multi-node, microprocessor-based computer systems which perform parallel processing may have a variety of architectures, ranging from systems having elaborate, high speed communication channels and shared memory, to systems with loosely-coupled communication and no shared memory. The present invention concerns the simpler architecture of multi-node systems with loosely-coupled communication and no memory shared among nodes.
SUMMARY OF THE INVENTION
An objective of the invention is to efficiently allocate computer processing resources among a number of concurrent processes (“agents”) which share the resources for processing a number of requests.
According to the present invention, the foregoing and other objects are attained by creating a certain number of agents and tokens. A first agent that is assigned a request must obtain a token to process the request. The number of agents which may concurrently process requests is limited by preventing an agent from processing a request unless the agent has an assigned token.
In another aspect of the invention, a second agent is enqueued in a resume agent queue when the second agent is assigned a request and a token is not available so that the second agent may await notification of an available token. The first agent releases the assigned token when the first agent completes the assigned request. The first agent notifies the second agent if the first agent releases the token, so that the second agent may obtain the released token.
In still another aspect of the invention, the first agent releases the assigned token when the first agent suspends processing of a request, if the duration of the suspension has exceeded a certain time limit. The suspension is due to the agent waiting for a resource or an event. The first agent notifies the second agent in the resume agent queue when the first agent releases the token. The first agent enqueues in the resume agent queue after resolution of the suspension, if the first agent has released its assigned token.
In a still further aspect of the invention, an additional agent is created after assigning the token to the first agent, if an existing agent is not available to wait for a request, and an unassigned token is available for the additional agent. A certain minimum number of agents is defined and an agent is automatically eliminated when the agent completes a request, if the number of agents that are assigned tokens exceeds the minimum number of agents. The automatic elimination of an agent may be preempted by a damping function.
The invention is intended to be limited only as defined in the claims. Additional objects, advantages, and novel features are set forth in the following description, or will be apparent to those skilled in the art or those practicing the invention. Other embodiments are within the spirit and scope of the invention. These objects and embodiments may be achieved by the combinations pointed out in the appended claims.


REFERENCES:
patent: 4384322 (1983-05-01), Bruce et al.
patent: 4570220 (1986-02-01), Tetrizk
patent: 4621359 (1986-11-01), McMillen
patent: 4785396 (1988-11-01), Murphy et al.
patent: 4807109 (1989-02-01), Farrell et al.
patent: 4885684 (1989-12-01), Austin
patent: 4937737 (1990-06-01), Schwane et al.
patent: 4942602 (1990-07-01), Baker, Jr. et al.
patent: 4943996 (1990-07-01), Baker, Jr. et al.
patent: 4949373 (1990-08-01), Baker, Jr. et al.
patent: 4982187 (1991-01-01), Goldstein et al.
patent: 4989131 (1991-01-01), Stone
patent: 5142675 (1992-08-01), Oi
patent: 5241628 (1993-08-01), Solari
patent: 5253342 (1993-10-01), Blount et al.
patent: 5274774 (1993-12-01), Manber et al.
patent: 5280591 (1994-01-01), Garcia et al.
patent: 5371896 (1994-12-01), Grove
patent: 5421013 (1995-05-01), Smith
patent: 5437032 (1995-07-01), Wolf et al.
patent: 5442791 (1995-08-01), Wrabetz et al.
patent: 5471592 (1995-11-01), Grove
patent: 5475845 (1995-12-01), Orton et al.
patent: 5485626 (1996-01-01), Lawlor
“Computer Dictionary”, Microsoft Press, 1994.

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

System for allocating resources among agent processes does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with System for allocating resources among agent processes, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and System for allocating resources among agent processes will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3230837

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.