Claims
- 1. A method to be performed by a machine for calendaring a plurality of events which are to occur on a plurality of machines at various times to thereby control operation of and improve scheduling of said plurality of machines, comprising the steps of:
- (a) dividing future time spans into a plurality of segments of unequal length, wherein later segments are predetermined multiples of the length of the first segment;
- (b) placing events to occur on any of the said plurality of machines in appropriate buckets representative of the time segments;
- (c) incrementing a clock, wherein each of said events are removed from the first bucket when the clock reaches their calendared time; and
- (d) dividing the events contained in larger buckets among appropriate smaller buckets when previous buckets have been emptied, and resetting the time represented by the first bucket to the current time.
- 2. The method for calendaring a plurality of events of claim 1, wherein said first bucket is a sliding bucket.
- 3. The method for calendaring a plurality of events of claim 1, wherein only said first bucket is sorted.
- 4. The method for calendaring a plurality of events of claim 1, wherein said events in all buckets other than said first bucket are linked lists of events.
- 5. The method for calendaring a plurality of events of claim 4, wherein each of said events has a description identifying what is to occur, a time, and a pointer to the next event in the list.
- 6. The method for calendaring a plurality of events of claim 4, wherein said linked lists are simple single linked lists.
- 7. The method for calendaring a plurality of events of claim 1, wherein said second bucket covers a segment of future time span equal to said first bucket, and each other said bucket covers a segment of future time spans which is twice that of an immediately preceding bucket, so that said segment covered by any particular bucket will always exactly span the sum of the segments of all preceding buckets.
- 8. A calendar mechanism for a scheduler system controlling the operation of a plurality of machines, comprising:
- a timing means which is adapted to be incremented by the system;
- a means for dividing future time spans into a plurality of segments of unequal length, assigning each of a plurality of buckets to correspond to each of the plurality of segments, wherein later segments are predetermined multiples of the length of the first segment;
- a means for receiving inputted events from the system and placing said inputted events in appropriate buckets representative of the time segments received from said segmenter;
- a means for removing events from a first bucket when the incremented clock reaches their calendared time and outputting such event to the system for appropriate response by the machine; and
- a controlling means for dividing the events contained in later buckets among appropriate earlier buckets when previous buckets have been emptied, and resetting the time represented by the first bucket to the current time.
- 9. The calendar mechanism for a scheduler system of claim 8, wherein said first bucket is a sliding bucket.
- 10. The calendar mechanism for a scheduler system of claim 8, wherein only said first bucket is sorted.
- 11. The calendar mechanism for a scheduler system of claim 8, wherein said events in all buckets other than said first bucket are linked lists of events.
- 12. The calendar mechanism for a scheduler system of claim 11, wherein each of said events has a description identifying what is to occur, a time, and a pointer to the next event in the list.
- 13. The calendar mechanism for a scheduler system of claim 11, wherein said linked lists are simple single linked lists.
- 14. The calendar mechanism for a scheduler system of claim 8, wherein a second bucket covers a segment of future time span equal to said first bucket, and each other of said plurality of buckets cover a segment of future time spans which is twice that of an immediately preceding bucket, so that said segment covered by an particular bucket will always exactly span the sum of the segments of all preceding buckets.
Parent Case Info
This application is a continuation of application Ser. No. 07/614,956, filed Nov. 15, 1990 now abandoned, which is a continuation of application Ser. No. 07/408,163, filed Sep. 15, 1989, now abandoned which is a division of application Ser. No. 273,643 filed Nov. 10, 1988, issued as U.S. Pat. No. 4,888,692, which is a continuation of application Ser. No. 895,061 filed Aug. 11, 1986, now abandoned.
Non-Patent Literature Citations (2)
Entry |
Campbell, K. L. "An alternative--Bucketless net change MRP", Proc. 20th Int. Tech. Conf. APICS, Cleveland, Ohio, 1977, 325-333. |
Brown, R. "Calendar queues: a fast 0(1) priority queue implementation for the simulation event set problem", Communications of the ACM, vol. 31, No. 10, Oct. 1988, 1220-8. |
Divisions (1)
|
Number |
Date |
Country |
Parent |
273643 |
Nov 1988 |
|
Continuations (3)
|
Number |
Date |
Country |
Parent |
614956 |
Nov 1990 |
|
Parent |
408163 |
Sep 1989 |
|
Parent |
895061 |
Aug 1986 |
|