Stream-Oriented Database Machine and Method
First Claim
Patent Images
1. A high data throughput special purpose device;
- said device comprising at least one processor in communication with an IO system, a memory and persistent storage in the form of at least one disk;
said device adapted to receive a substantially continuous stream of status data pertaining to the current state of a finite number of objects via said IO system;
said device keeping said current state of said finite number of said objects in memory while writing and reading an indefinite amount of indexed history sequentially stored on said at least one disk;
thereby to construct on said at least one disk a sequenced, time-ordered history of said status data extending back to a predetermined point in time.
1 Assignment
0 Petitions
Accused Products
Abstract
An event stream processing device capable of processing larger numbers of events while simultaneously responding to queries. This is achieved through sequential storage of data, the maintenance in memory of information pertaining to the most recent events for each entity monitored and the aggregation of file read/write requests in a single thread which is capable of optimising the execution of those requests.
128 Citations
53 Claims
-
1. A high data throughput special purpose device;
- said device comprising at least one processor in communication with an IO system, a memory and persistent storage in the form of at least one disk;
said device adapted to receive a substantially continuous stream of status data pertaining to the current state of a finite number of objects via said IO system;
said device keeping said current state of said finite number of said objects in memory while writing and reading an indefinite amount of indexed history sequentially stored on said at least one disk;
thereby to construct on said at least one disk a sequenced, time-ordered history of said status data extending back to a predetermined point in time. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
- said device comprising at least one processor in communication with an IO system, a memory and persistent storage in the form of at least one disk;
-
18. A method of processing and storing a substantially continuous stream of status data pertaining to the state of a finite number of objects;
- said method comprising maintaining said current state of said finite number of said objects in memory while sequentially writing and reading an indefinite amount of indexed history of said status data to at least one disk;
thereby to provide current status of said objects from memory and history of said status data from said disk. - View Dependent Claims (19)
- said method comprising maintaining said current state of said finite number of said objects in memory while sequentially writing and reading an indefinite amount of indexed history of said status data to at least one disk;
-
20-52. -52. (canceled)
-
53. A machine:
-
Comprising one or more central processing units (CPU'"'"'s), memory comprising one or more memory units, one or more persistent storage units, one or more communication sockets, and a clock; Programmatically arranged as an interconnected set of multi-threaded processing units (here within referred to as agents) executing a set of event processing, query processing, disk I/O, network I/O and housekeeping tasks; Accepting one or more events streams comprising event data about events pertaining to objects; Grouping predetermined amounts of event data into tasks which represent work to be done; Keeping the current location and state of the objects in said memory, in concurrent data structures, said data structures indexed by at least the identity and location of respective said objects; Processing said tasks, thereby changing the location and state of said objects held in said memory; Writing a stream of time-ordered records of changes to said location and state data of said objects onto said persistent storage in a sequential manner, indexed by at least time, object identity and location, where said index is also written concurrently and sequentially with said records; Executing query tasks by retrieving relevant said location and state data about said objects from said memory or said persistent storage; Locating and retrieving said objects in said memory by either said identity or said location; and locating and retrieving said records in persistent storage by either said identity or said location or by time.
-
Specification