Method and system for dynamically initializing a view for a streaming data base system
First Claim
Patent Images
1. A method for dynamically initializing a view for a streaming database system, comprising:
- accessing, by a computing device, at least one stream of events in real time while said at least one stream of events is received by said computing device as output from a streaming database system, wherein said computing device is external to said streaming database system;
materializing, by said computing device, an initialized view from said at least one stream of events as said at least one stream of events is received from said streaming database system, wherein said initialized view is dynamically defined from said at least one stream of events, and wherein materializing said initialized view comprises receiving a first dynamic view definition and generating said initialized view according to said first dynamic view definition;
producing, by said computing device, a sequence of view snapshots from said initialized view, wherein each view snapshot in said sequence corresponds to an individual event within said at least one stream of events, wherein each individual event occurs after events of said at least one stream of events are used to materialize said initialized view;
storing said sequence of view snapshots;
receiving a second dynamic view definition, said second dynamic view definition being different than said first dynamic view definition; and
using said sequence of view snapshots to generate, by said computing device, a re-initialized view according to said second dynamic view definition, wherein generating said re-initialized view comprises incorporating events used to materialize said initialized view and events of said sequence of view snapshots, and wherein generating said re-initialized view comprises calculating a view state of said re-initialized view by retrieving and replaying said sequence of view snapshots.
12 Assignments
0 Petitions
Accused Products
Abstract
A method for dynamically initializing a view for a streaming database system. The method includes accessing a stream of events. An initial view is materialized from the stream, wherein the initial view comprises a dynamically defined view of the stream of events from the streaming database system. The method also includes processing a plurality of recent view snapshots from the initial view. A view state derived from each of the recent view snapshots is generated. An updated view is subsequently maintained in accordance with the view state, wherein the updated view incorporates new events of the stream.
-
Citations
27 Claims
-
1. A method for dynamically initializing a view for a streaming database system, comprising:
-
accessing, by a computing device, at least one stream of events in real time while said at least one stream of events is received by said computing device as output from a streaming database system, wherein said computing device is external to said streaming database system; materializing, by said computing device, an initialized view from said at least one stream of events as said at least one stream of events is received from said streaming database system, wherein said initialized view is dynamically defined from said at least one stream of events, and wherein materializing said initialized view comprises receiving a first dynamic view definition and generating said initialized view according to said first dynamic view definition; producing, by said computing device, a sequence of view snapshots from said initialized view, wherein each view snapshot in said sequence corresponds to an individual event within said at least one stream of events, wherein each individual event occurs after events of said at least one stream of events are used to materialize said initialized view; storing said sequence of view snapshots; receiving a second dynamic view definition, said second dynamic view definition being different than said first dynamic view definition; and using said sequence of view snapshots to generate, by said computing device, a re-initialized view according to said second dynamic view definition, wherein generating said re-initialized view comprises incorporating events used to materialize said initialized view and events of said sequence of view snapshots, and wherein generating said re-initialized view comprises calculating a view state of said re-initialized view by retrieving and replaying said sequence of view snapshots. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A system comprising:
-
a streaming database system that outputs at least one stream of events; a computing device, external to said streaming database system, comprising a view engine configured to access said at least one stream of events in real time while said at least one stream of events is received as output from said streaming database system, to materialize an initialized view from said at least one stream of events, wherein said initialized view is dynamically defined from said at least one stream of events, said view engine further configured to receive a first dynamic view definition and generate said initialized view according to said first dynamic view definition, to produce a sequence of view snapshots from said initialized view, wherein each view snapshot in said sequence corresponds to an individual event within said at least one stream of events, wherein each individual event occurs after events of said at least one stream of events are used to materialize said initialized view, store said sequence of view snapshots, receive a second dynamic view definition, said second dynamic view definition being different than said first dynamic view definition, and use said sequence of view snapshots to generate a re-initialized view of a second view according to said second dynamic view definition, wherein said view engine is configured to incorporate said events used to materialize said initialized view and events of said view snapshots and to calculate a view state of said re-initialized view by retrieving and replaying said sequence of view snapshots in order to generate said re-initialized view, wherein said streaming database system is configured to send said at least one stream of events to said computing device. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20)
-
-
21. A computer-readable medium comprising instructions for causing a programmable processor of a computing device external to a streaming database to:
-
access at least one stream of events in real time while said at least one stream of events is received by said computing device as output from a streaming database system, wherein said computing device is external to said streaming database system; materialize an initialized view from said at least one stream of events as said at least one stream of events is received from said streaming database system, wherein said initialized view is dynamically defined from said at least one stream of events, and wherein said instructions to materialize said initialized view comprise instructions to receive a first dynamic view definition and generate said initialized view according to said first dynamic view definition; produce a sequence of view snapshots from said initialized view, wherein each view snapshot in said sequence corresponds to an individual event within said at least one stream of events, wherein each individual event occurs after events of said at least one stream of events are used to materialize said initialized view; store said sequence of view snapshots; receive a second dynamic view definition, said second dynamic view definition being different than said first dynamic view definition; and use said sequence of view snapshots to generate a re-initialized view according to said second dynamic view definition, wherein said instructions to generate said re-initialized view comprise instructions to incorporate events used to materialize said initialized view and events of said sequence of view snapshots, and wherein said instructions to generate said re-initialized view comprise instructions to calculate a view state of said re-initialized view by retrieving and replaying said sequence of view snapshots. - View Dependent Claims (22, 23, 24, 25, 26, 27)
-
Specification