Browse Prior Art Database

Mechanism for a Wraparound Time-Ordered List With a Variable Real-Time List Origin

IP.com Disclosure Number: IPCOM000037128D
Original Publication Date: 1989-Nov-01
Included in the Prior Art Database: 2005-Jan-29
Document File: 6 page(s) / 69K

Publishing Venue

IBM

Related People

Schwartz, FA: AUTHOR

Abstract

A method is needed to process a large volume of timer requests for intervention that is fast, flexible, uses a minimal amount of storage, and will handle both large and small timer intervals.

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 37% of the total text.

Page 1 of 6

Mechanism for a Wraparound Time-Ordered List With a Variable Real-Time List Origin

A method is needed to process a large volume of timer requests for intervention that is fast, flexible, uses a minimal amount of storage, and will handle both large and small timer intervals.

It is desirable for various routines to be notified after a specified amount of time has elapsed so that the routines can take appropriate action. If some event has taken place before the corresponding timer interval has expired, then the routines need to cancel the corresponding timer request. Routines refer to both system and user software programs or procedures.

Given an ordered list of 4-byte entries, the entries represent the amount of time to wait before presenting an interrupt to the requester. The entries are ordered by these time displacements from the current time of day (TOD). Each entry represents a time interval of a selected granularity such that any request for a time interval will fall into

(Image Omitted)

one of the entry slots. For example, with a time interval of 30 seconds, a request for a timer interrupt between 1 to 30 seconds would fall into the first entry, 31 to 60 seconds into the second entry, 61 to 90 seconds into the third entry, etc. All timer interrupt requests that fall within the selected granularity for the time interval will be treated the same.

The size of the ordered list is variable. If we choose 4K, then the number of entries (n) that can fit in the list is 1,024. Each entry represents a time interval. The size of this time interval is variable. If we choose 30 seconds for this interval and we have 1,024 intervals, then the list will optimally handle a cluster of time intervals of approximately 8 1/2 hours. That is, any request for a timer interrupt from 1 second to 8 1/2 hours will be within the range of this ordered list. This should be the interval that most of the timer requests will be clustered within. A larger time interval size will yield a larger time range for the list. These values can be user specifiable to meet the various installation requirements.

Each entry in the list is a 4-byte pointer to a chain of Interval Timer Control Blocks (ITCB) (Fig. 1). Each timer interrupt request from a routine will cause an ITCB to be created to represent the interrupt request. The list entry will point to the chain of ITCBs that corresponds to the time interval that it represents. Only one system

(Image Omitted)

timer is set at any time. It is for the earliest timer interrupt request and is reset if an earlier Interrupt Time Of Day is received. When the system timer expires, then all the routines that have ITCBs for that interval are notified and the ITCB is deleted.

A mechanism is described to process a large volume of timer

1

Page 2 of 6

interval requests and meet the following criteria:

Locate an entry quickly

Add a new entry quickly

Delete an entry quickly

Not use too much storage (it is desirable to keep

the contiguous...