IP Library › Granted Patent US 9,361,342
Granted Patent B2
US 9,361,342 · App. 13/269,627 · Granted Jun 7, 2016

Query to streaming data

Inventors: Qiming Chen (Cupertino, CA); Meichun Hsu (Los Altos Hills, CA)
Assignee: Hewlett Packard Enterprise Development LP
G06F17/30516G06F3/00
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,361,342
App. No.
13/269,627
Filed
Oct 10, 2011
Granted
Jun 7, 2016
Kind
B2
Art Unit
2194
USPC
719/312
Abstract

A client computer buffers a continuous flow of streaming data during a sliding window that is defined by a time boundary. The client computer processes a query on a portion of the streaming data buffered during the time boundary of the sliding window and a portion of the streaming data stored in a data warehouse.

Claims (46)

1. A method, comprising:

buffering, on a client computer, a continuous flow of streaming data during a sliding window that is defined by a time boundary;

storing a portion of the streaming data in a data warehouse, wherein the stored portion includes older streaming data that was previously buffered on the client computer and has expired from the sliding window;

receiving, by the client computer, an information request query, wherein the information request query specifies an abstract data source that represents the streaming data buffered on the client computer during the sliding window and the portion of the streaming data stored in the data warehouse;

retrieving, by the client computer, at least some of the streaming data buffered on the client computer and at least some of the portion of the streaming data stored in the data warehouse; and

executing, by the client computer, the information request query to generate query results based on the retrieved at least some of the streaming data buffered on the client computer and at least some of the portion of the streaming data stored in the data warehouse.

2. The method of claim 1 further comprising, continuously updating the streaming data buffered during the time boundary of the sliding window even when no query is pending for the streaming data.

3. The method of claim 1 further comprising, accessing the streaming data buffered in an event pipe during the time boundary of the sliding window and in the data warehouse after expiration of the time boundary.

4. The method of claim 1 further comprising:

storing the streaming data in an event pipe;

analyzing events in the event pipe based on a continuous data access object (CDAO) pattern.

5. The method of claim 1 wherein buffering the streaming data comprises continuously executing an event pipe query, wherein the event pipe query includes a stream capture function (SCF) that captures the streaming data from a particular stream source.

6. The method of claim 1 , further comprising:

processing, by the client computer, the information request query using a particular portion of the abstract data source, wherein the particular portion of the abstract data source is selected based on a time value associated with the information request query.

7. A non-transitory computer readable storage medium comprising instructions that when executed causes a computer system to:

receive, by a client computer from a server, continuous streaming data to an event pipe;

buffer, in the client computer, the streaming data in the event pipe during a time period defined by a sliding window;

store, in a data warehouse, a portion of the streaming data, wherein the stored portion includes older streaming data that was previously buffered on the client device and has expired from the sliding window;

a receive an information request query at the client computer, wherein the information request query specifies an abstract data source that represents the streaming data buffered in the client computer and the portion of the streaming data stored in the data warehouse;

retrieving, by the client computer, at least some of the streaming data buffered on the client computer and at least some of the portion of the streaming data stored in the data warehouse; and

executing, by the client computer, the information request query to generate query results based on the retrieved at least some of the streaming data buffered on the client computer and at least some of the portion of the streaming data stored in the data warehouse.

8. The non-transitory computer readable storage medium of claim 7 including instructions to further cause the computer system to:

select, based on the time value associated with the information request query, the at least some of the streaming data buffered on the client computer and the at least some of the portion of the streaming data stored in the data warehouse.

9. The non-transitory computer readable storage medium of claim 7 including instructions to further cause the computer system to:

execute a continuous data access object (CDAO) for merging query results from events retrieved from the event pipe and query results retrieved from the data warehouse.

10. The non-transitory computer readable storage medium of claim 7 including instructions to further cause the computer system to:

execute a Streaming Capture Function (SCF) that receives an information-request, signals a query engine to terminate and commit a current query execution, and rewinds a query instance for serving a next query request.

11. The non-transitory computer readable storage medium of claim 7 including instructions to further cause the computer system to:

execute a continuous data access object (CDAO) with plural event pipes implemented in terms of Event Pipe Queries (EPQs) that integrate event buffering and analysis in a single query.

12. The non-transitory computer readable storage medium of claim 7 including instructions to further cause the computer system to:

execute, by the client computer, the information request query using a particular portion of the abstract data source, wherein the particular portion of the abstract data source is selected based on a time value associated with the information request query.

13. A computer system, comprising:

a memory storing instructions; and

a processor executing the instructions to:

buffer streaming data in an event pipe on the computer system during a time boundary defined by a sliding window,

store a portion of the streaming data in a data warehouse, wherein the stored portion includes older streaming data that was previously buffered on the client device and has expired from the sliding window;

receive an information request query at the computer system, wherein the information request query specifies an abstract data source that represents the streaming data buffered in the event pipe on the client computer and the portion of the streaming data stored in the data warehouse;

retrieve at least some of the streaming data buffered on the client computer and at least some of the portion of the streaming data stored in the data warehouse; and

execute the information request query to generate query results based on the retrieved at least some of the streaming data buffered on the client computer and at least some of the portion of the streaming data stored in the data warehouse.

14. The computer system of claim 13 wherein the processor further executes the instructions to use time marks to know a location of data available in the event pipe and a location of data available in the data warehouse.

15. The computer system of claim 13 further comprising a continuous data access object (CDAO) executing on a client computer, wherein the CDAO includes multiple Event Pipe Queries (EPQs) on a same event stream but with different query constructs expressing different event analysis functionalities and with different sliding window coverage.

16. The computer system of claim 13 wherein the processor further executes the instructions to cache events in the event pipe, maintain most recent events in the event pipe while the events fall in the time boundary defined by the sliding window, and query content of the event pipe on-demand.

17. The computer system of claim 13 wherein the processor further executes the instructions to continuously maintain and update the streaming data in the event pipe by appending new elements and removing the older ones.

18. The computer system of claim 13 wherein the processor further executes the instructions to continuously execute an event pipe query, wherein the event pipe query includes a stream capture function (SCF) that captures the streaming data from a particular stream source.

19. The computer system of claim 18 wherein the processor further executes the instructions to:

execute the information request query using a particular portion of the abstract data source, wherein the particular portion of the abstract data source is selected based on a time value associated with the information request query.

Assignments (8)
RELEASE OF SECURITY INTEREST REEL/FRAME 044183/0577 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: MICRO FOCUS LLC (F/K/A ENTIT SOFTWARE LLC)
Reel/Frame 063560/0001 →
RELEASE OF SECURITY INTEREST REEL/FRAME 044183/0718 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: MICRO FOCUS LLC (F/K/A ENTIT SOFTWARE LLC); BORLAND SOFTWARE CORPORATION; MICRO FOCUS (US), INC.; SERENA SOFTWARE, INC; ATTACHMATE CORPORATION; MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.); NETIQ CORPORATION
Reel/Frame 062746/0399 →
CHANGE OF NAME Recorded Aug 8, 2019
From: ENTIT SOFTWARE LLC
To: MICRO FOCUS LLC
Reel/Frame 050004/0001 →
SECURITY INTEREST Recorded Oct 11, 2017
From: ATTACHMATE CORPORATION; BORLAND SOFTWARE CORPORATION; NETIQ CORPORATION; MICRO FOCUS (US), INC.; MICRO FOCUS SOFTWARE, INC.; ENTIT SOFTWARE LLC; ARCSIGHT, LLC; SERENA SOFTWARE, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 044183/0718 →
SECURITY INTEREST Recorded Oct 11, 2017
From: ENTIT SOFTWARE LLC; ARCSIGHT, LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 044183/0577 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 9, 2017
From: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
To: ENTIT SOFTWARE LLC
Reel/Frame 042746/0130 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2015
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 037079/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 10, 2011
From: CHEN, QIMING; HSU, MEICHUN
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 027035/0089 →
Continuity (1)
Related Publication 20130091123A1 · Apr 11, 2013