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

Method for composing data from a combination of active and passive data sources

IP.com Disclosure Number: IPCOM000021833D
Original Publication Date: 2004-Feb-11
Included in the Prior Art Database: 2004-Feb-11
Document File: 2 page(s) / 55K

Publishing Venue



An entity called a composer computes values from a combination of data pushed by active data sources and pulled from passive data sources in a manner that causes data to be pulled only when it is needed. The composer itself can act as either an active daa source or a passive data souce.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 52% of the total text.

Page 1 of 2

Method for composing data from a combination of active and passive data sources

Many different kinds of data sources are available on the Internet. Some, called passive data sources, provide data only in response to a request. Others, called active data sources, take the initiative in generating streams of data values and transmitting them to clients with standing subscriptions. (There are also hybrid data sources, which both respond to requests and take the initiative in transmitting data to subscribers with standing requests.)

A composer is a computational entity that combines values from various data sources and computes a current value based on those values. It would be possible to awaken the composer at regular intervals to request data from passive data sources and recompute the value of the composer. However, this would result in wasted computation and network traffic if the polling interval is too short, or stale data if the polling interval is too long. Alternatively, it would be possible to cache data from active data sources and query passive data sources for their values only when the composer receives a request for its current value. However, such a composer could not itself be used as an active data source. Thus the composer could not be used to trigger application actions in response to data received from active data sources.

Disclosed is a method for querying passive data sources for their values and recomputing the value of a composer in such a manner that the composer itself is a hybrid data source. That is, the composer can be queried for its current value, and will generate new values when its active data sources generate new values and appropriate conditions hold. Passive data sources will be queried as often as necessary, but not more often.

The rule for computing the current value of the composer is specified as an expression in terms of placeholders for the composer's data sources. This expression is represented as a rooted directed graph in which some nodes correspond to standard operators such as addition, comparison, and conjunction; some nodes correspond to inputs from data sources, and some nodes correspond to nonstandard operators. An operator may be invoked as part of a requested evaluation or as part of a triggered evaluation . A requested operation returns a value. A triggered evaluation causes a value to be reported.

A requested evaluation of a standard operator node consists of performing requested evaluations of the successor nodes (the operands of the operator), using the results returned by these requested evaluations as operand values, and returning the result of applying the...