Browse Prior Art Database

Program Event Signaling

IP.com Disclosure Number: IPCOM000083166D
Original Publication Date: 1975-Apr-01
Included in the Prior Art Database: 2005-Mar-01
Document File: 3 page(s) / 41K

Publishing Venue

IBM

Related People

Boggs, JK: AUTHOR

Abstract

An implementation for efficient signaling of a single event to multiple listening processes is presented. The mechanism minimizes overhead of event signaling at the cost of supporting a limited number of listeners. One copy of event related data is provided at the cost of additional event processing overhead.

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 50% of the total text.

Page 1 of 3

Program Event Signaling

An implementation for efficient signaling of a single event to multiple listening processes is presented. The mechanism minimizes overhead of event signaling at the cost of supporting a limited number of listeners. One copy of event related data is provided at the cost of additional event processing overhead.

The figure displays the relationship of the various elements of the mechanism which is used. The parts of the mechanism are defined as follows: 1. Object: This is a portion of storage which describes the mechanism which may cause the occurrence of events. For example, an Input/Output device would be represented as an object. 2. Event Data Queue Header: This is a portion of an Object which provides the address of that portion of storage, which contains event data for one or more events. 3. Event Data Item: This is a portion of storage which contains the event data, and which contains within itself the address of another event data item. 4. Event Process List: This is a portion of storage which is addressed from the Object, and which describes the listeners for those events which this Object can generate. (Assuming that all listeners wish to be notified for the occurrence of all events). 5. Event Listener Mask: This is a portion of an Object. It is a bit mask which is as wide as the maximum number of event listeners allowed for this Object. As an event listener is connected to an Object, then a bit is assigned to the listener for the duration that the listener wishes to listen. Multiple bits may be on in this mask. Each bit which is on represents the condition that a listener for that Object's events exists. 6. Listener Mask: This is a bit mask which is equal in width to the Event Listener Mask. Only one bit is ever on in this mask. This mask is saved with the processing description of the listener. 7. Event Data Listener Mask: This is a bit mask which is equal in width to the Event Listener Mask. Multiple bits may be on in this mask. Its value is saved with the Event Data Item. Its initial value is equal to the value of the Event Listener Mask at the time that the Event Data Item is created.
8. Connection of Listener: This is a point in time during processing when the listening process identifies his desire to listen to an Objects events. 9. Disconnection of Listener: This is a point in time during processing when the connected listener identifies that he no longer wishes to listen to an Objects events. 10. Event Creation: This is a point in time when the event occurrence is made visible to the listeners. 11. Event Processing: This is a point in time when the listener actually processes the event through its representation via an Event Data Item. 12. Event Destruction: This is a point in time when the Event Data Item has been completely processed and can now be removed from storage (made no longer visible).

The processing which is performed is as follows. Each point in time which was previously identifi...