Thread based governor for time scheduled process execution

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

C709S241000

Reexamination Certificate

active

06411982

ABSTRACT:

FIELD OF THE INVENTION
The present invention pertains generally to network management systems, and more particularly, to a method and system for governing the number of concurrently executing processes in a process scheduler.
BACKGROUND OF THE INVENTION
The maintenance of a computer network is typically performed under the control of a network management system. The network management system monitors the occurrences of certain events across the system, such as network node utilization and disk I/O performance. To assist in network maintenance, reporting applications may be used to organize and present network event information into a format useful to the system administrator. These reports, depending on the type of information gathered, may be generated on a pre-determined schedule, e.g., once every ten minutes, once daily, or once weekly.
In the prior art, scheduling applications that schedule the execution of processes such as report generating applications causes execution of the scheduled applications to occur at precisely the time that they are scheduled. This technique can be problematic. Due to the cyclical nature of work week timing, there is a very high propensity for requests to be clustered around certain times of the day. For example, it often makes sense to generate daily reports at exactly midnight so that data used in generating those reports need not necessarily be saved from day to day. When too many processes are scheduled at the same time, and hence concurrently run, the performance of the network system may be adversely impacted due to not enough system resources being available to service all of the executing processes. System resources must then be time-shared according to a priority scheme across all executing processes, resulting in very slow performance for all processes or at least those that have low priority.
Accordingly, a need exists for a method for governing the number of allowed concurrently executing processes launched by the scheduler, to thereby increase system performance in the face of a heavy schedule load.
SUMMARY OF THE INVENTION
The present invention is a thread-based scheduling governor that regulates the number of scheduled tasks that are executed concurrently. The schedule governor of the invention is implemented using threads. In the system of the invention, a task goes through a life cycle. In infant form, it is given a slot on the file system as a “request file”; it graduates from “in-file” form to “in-memory” form, where it is maintained as an idle thread in a priority-ordered queue. When the time comes for the task to be executed, the task is allotted a space, if available, in a capped in-service queue, where the task graduates from “in-memory” form to “process execution” form. When a task is entered in the in-service queue, the thread launches the process(es) to accomplish the task, and monitors them for their completion. Upon completion of the monitored processes, the thread cleans up its in-service queue entry to allow another pending task to occupy the regulated cap on dispatched processes. Accordingly, a thread maintains control over a task, but system resources do not become dedicated to the processes required by the task until a process execution slot in a capacity-governed in-service queue becomes available.
In accordance with the invention, all task requests that are scheduled to be executed within a pre-specified interval of time are serviced on a first-in first-out (FIFO) basis and use absolute, or “epoch”, time according to their scheduled position in time. During heavy load times, the scheduling governor prevents overloads of the processing resources of the host computer by limiting the number of concurrently executing processes to a pre-specified capacity dimension. Task requests that are unable to be run due to the governed cap on the number of allowed concurrently executing processes are deferred until one of the fixed number of execution slots becomes available. Accordingly, the scheduling governor allows each scheduled task to be executed as close to its scheduled time as possible yet prevents system resource overload to improve efficiency and performance.


REFERENCES:
patent: 4908750 (1990-03-01), Jablow
patent: 5220653 (1993-06-01), Miro
patent: 5528513 (1996-06-01), Vaitzblit et al.
patent: 5752031 (1998-05-01), Cutler et al.
patent: 5832262 (1998-11-01), Johnson et al.
patent: 5940612 (1999-08-01), Brady et al.
patent: 6170042 (2001-01-01), Gaertner et al.
patent: 6349321 (2002-02-01), Katayama
patent: 6353844 (2002-03-01), Bitar et al.

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

Thread based governor for time scheduled process execution does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Thread based governor for time scheduled process execution, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Thread based governor for time scheduled process execution will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2893949

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