Dismiss
InnovationQ will be updated on Sunday, Oct. 22, from 10am ET - noon. You may experience brief service interruptions during that time.
Browse Prior Art Database

Software Event Subsystem

IP.com Disclosure Number: IPCOM000117122D
Original Publication Date: 1995-Dec-01
Included in the Prior Art Database: 2005-Mar-31
Document File: 6 page(s) / 176K

Publishing Venue

IBM

Related People

Davis, RA: AUTHOR [+2]

Abstract

Within a real-time software system it is necessary for various components of the system to know when various events occur, typically polling is done until the event occurs. Polling wastes time and processing power. The Software Event Subsystem provides a mechanism by which to distribute knowledge of events without wasting time and processing power.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 34% of the total text.

Software Event Subsystem

      Within a real-time software system it is necessary for various
components of the system to know when various events occur, typically
polling is done until the event occurs.  Polling wastes time and
processing power.  The Software Event Subsystem provides a mechanism
by which to distribute knowledge of events without wasting time and
processing power.

      Within the computer environment, knowing when something has
happened or has completed is essential.  Interrupts are used to
notify various hardware components when an operation can start or has
completed, yet a mechanism does not exist to do the same with various
software components.

      Whether controlling a manufacturing line, atomic force
microscope, or a high tech game, the software developer needs to know
when certain things occur prior to starting something else.  The
Software Event Subsystem provides this capability and more.

      The Software Event Subsystem provides a mechanism by which
software applications can notify others when noteworthy things
happen.  Any application can raise or monitor events, even on a
physically different machine across a network.  With this distributed
processing capability, an event can occur on one machine and another
machine (on the network) react accordingly.

      The Software Event Subsystem consists of a server which handles
and manages event definitions and distribution, and a library of
functions that are linked into client applications wishing to make
event information available or receive event information.

      The Figure shows interaction between an application making
event information available, an application receiving event
information, and the Software Event Subsystem server.  Consider the
current tip logging component of the Atomic Force Microscope.
Information is logged when the tip or any of it's characteristics is
changed.  An event could be defined for when scan length (a
characteristic) is set, the Software Event Server would be notified
of this event, and then propagate the information to any application
registered to receive that particular event (whether located on the
same physical computer or not).

Now, to complete the example a fictitious application called
"Maintenance" must be introduced.  This application is concerned with
monitoring various aspects of the Atomic Force Microscope, one of
which is tip scan length.  The Maintenance Application would register
to be notified of the scan length event and perhaps keep track of the
total scan length.  Assuming scan length directly effects the tip
life expectancy, some statistical processing could then be performed
to predict a typical tip life based on scan length.  If the latest
scan length indicated tip life expiration, the application could
notify maintenance or service to have it replaced, thus minimizing or
even eliminating potential future inaccuracies in scan data.

      This is just one exam...