News Column

Patent Application Titled "Variable Duration Windows on Continuous Data Streams" Published Online

August 5, 2014



By a News Reporter-Staff News Editor at Information Technology Newsweekly -- According to news reporting originating from Washington, D.C., by VerticalNews journalists, a patent application by the inventors Bishnoi, Sandeep (Sirsa, IN); Srinivasan, Anand (Bangalore, IN), filed on March 15, 2013, was made available online on July 24, 2014.

The assignee for this patent application is Oracle International Corporation.

Reporters obtained the following quote from the background information supplied by the inventors: "The disclosed embodiments relate generally to data processing systems, and more specifically to techniques for processing continuous event streams using variable duration windows.

"In traditional database systems, data is stored in one or more databases usually in the form of tables. The stored data is then queried and manipulated using a data management language such as SQL. For example, a SQL query may be defined and executed to identify relevant data from the data stored in the database. A SQL query is thus executed on a finite set of data stored in the database. Further, when a SQL query is executed, it is executed once on the finite data set and produces a finite static result. Databases are thus best equipped to run queries over finite stored data sets.

"A number of modern applications and systems however generate data in the form of continuous data or event streams instead of a finite data set. Examples of such applications include but are not limited to sensor data applications, financial tickers, network performance measuring tools (e.g. network monitoring and traffic management applications), clickstream analysis tools, automobile traffic monitoring, and the like. For example, a temperature sensor may be configured to send out temperature readings. Such applications have given rise to a need for a new breed of applications that can process the data streams.

"Managing and processing data for these types of event stream-based applications involves building data management and querying capabilities with a strong temporal focus. A different kind of querying mechanism is needed that comprises long-running queries over continuous unbounded sets of data. While some vendors now offer product suites geared towards event streams processing, these product offerings still lack the processing flexibility required for handling today's events processing needs."

In addition to obtaining background information on this patent application, VerticalNews editors also obtained the inventors' summary information for this patent application: "Certain embodiments of the present invention relate generally to data processing systems, and more specifically to techniques for processing continuous event streams using variable duration windows.

"In certain embodiments, the duration of the time that an event is eligible for remaining in a time-based window can be variable for different events received via the same event stream. For example, for a first input event received via the event stream, the duration of time that the first event is eligible for remaining in a time-based range window may be 'X', and for a second event received via the same event stream, the duration of time that the second event is eligible to remain in the time-based window may be 'Y', where X is not the same as Y. The first and second events may have the same associated timestamp or different timestamps. Embodiments of the present invention thus enable the amount of time that an event spends in a time-based window to be controlled.

"In certain embodiments, the duration of time that an input event spends in a time-based window is a function of one or more values of one or more attributes of the event. Since different events can have different one or more attribute values, the different events can spend different amounts of time in a time-based window. This enables the amount of time that an event spends in a time-based window to be controlled via one or more attributes of the event.

"In one embodiment, multiple events may be received by a computing device via an event stream. For example, a first event and a second event may be received via the event stream. A first duration of time may be determined for the first event, where the first duration of time indicates a time duration that the first event is eligible to remain in a time-based window specified for the event stream. A second duration of time may be determined for the second event, where the second duration of time indicates a time duration that the second event is eligible to remain in the time-based window, wherein the second time duration is different from the first time duration.

"In certain embodiment, the first and second events may be added to the time-based window specified for the event stream. The first event remains in the time-based window for the first duration of time and is then removed or deleted from the time-based window. The second event remains in the time-based window for the second duration of time and is then removed or deleted from the time-based window. In this manner, the duration of time that the first event spends in the time-based window may be different from the duration of time that the second event spends in the time-based window.

"In the first and second events example embodiment described above, the first event may have an associated first time and the second event may have an associated second time. In one instance, the first time and the second time may be the same. In a second instance, the first time may be different from the second time.

"In certain embodiments, the duration of time that an event is eligible to spend in the time-based window may be based upon values of one or more attributes of the event.

"In certain embodiments, row-time range windows may be different partitions. The partition to which an event belongs may be based upon a value of an attribute of the first event. The amount of time that an event is eligible to spend in a row-time range window for a partition may be based upon one or more values of one or more attributes of the event. Accordingly, for events belonging to a particular partition, different events may be eligible to spend different durations of time in the row-time range window for the particular partition.

"In certain embodiments, a first expiration time maybe computed for the first event based upon a first time associated with the first event and the first duration of time. A second expiration time may be determined for the second event based upon a second time associated with the second event and the second duration of time. The first event is removed or deleted from the time-based window at or after the occurrence of the first expiration time. Likewise, the second event may be removed or deleted from the time-based window at or after the occurrence of the second expiration time.

"The following detailed description together with the accompanying drawings will provide a better understanding of the nature of embodiments of the present invention.

BRIEF DESCRIPTION OF THE DRAWINGS

"FIG. 1 depicts a simplified high level diagram of an event processing system that may incorporate an embodiment of the present invention.

"FIG. 2 depicts a simplified flowchart depicting a method for managing variable duration windows according to an embodiment of the present invention.

"FIG. 3 depicts modules and data structures that may be used to implement variable duration time-based windows processing according to an embodiment of the present invention.

"FIG. 4 depicts a simplified flowchart depicting processing that may be performed by a time-based window operator in embodiments where a priority queue, as described above, is used to implement a variable duration time-based window.

"FIG. 5 depicts a simplified flowchart depicting a method for managing variable duration windows for partitions according to an embodiment of the present invention.

"FIG. 6 depicts a simplified flowchart depicting processing that may be performed by a time-based window operator for handling variable duration windows for partitions using priority queues according to an embodiment of the present invention.

"FIG. 7 is a simplified block diagram illustrating components of a system environment that may be used in accordance with an embodiment of the present invention.

"FIG. 8 is a simplified block diagram of a computer system that may be used in accordance with certain embodiments of the present invention."

For more information, see this patent application: Bishnoi, Sandeep; Srinivasan, Anand. Variable Duration Windows on Continuous Data Streams. Filed March 15, 2013 and posted July 24, 2014. Patent URL: http://appft.uspto.gov/netacgi/nph-Parser?Sect1=PTO2&Sect2=HITOFF&u=%2Fnetahtml%2FPTO%2Fsearch-adv.html&r=523&p=11&f=G&l=50&d=PG01&S1=20140717.PD.&OS=PD/20140717&RS=PD/20140717

Keywords for this news article include: Information Technology, Information and Data Management, Information and Data Processing, Oracle International Corporation.

Our reports deliver fact-based news of research and discoveries from around the world. Copyright 2014, NewsRx LLC


For more stories covering the world of technology, please see HispanicBusiness' Tech Channel



Source: Information Technology Newsweekly


Story Tools






HispanicBusiness.com Facebook Linkedin Twitter RSS Feed Email Alerts & Newsletters