| Patent application number | Description | Published |
| 20080275891 | METHOD TO CREATE A PARTITION-BY TIME/TUPLE-BASED WINDOW IN AN EVENT PROCESSING SERVICE - A method to create a partition by time/tuple based window in an event processing service is provided. When continuous data streams are received, tuples are stored in a data structure with partitions based upon partition keys. Only a specified amount of tuples may be stored in each partition. When a partition exceeds the specified number of tuples, the oldest tuples are removed from the data structure. Tuples stored beyond a specified time period are also removed from the data structure. Two data structures may also be used to implement a time/tuple based window. Tuples are stored in both a data structure with a partition by window and a data structure with a range window. Tuples are removed in the partition by window when tuples exceed the amount in the partition. Tuples are removed in the range window when tuples exceed a specified time period. The two data structures are synchronized. | 11-06-2008 |
| 20100223305 | INFRASTRUCTURE FOR SPILLING PAGES TO A PERSISTENT STORE - Techniques for managing memory usage in a processing system are provided. This may be achieved by receiving a data stream including multiple tuples and determining a query plan that was generated for a continuous query applied to the multiple tuples in the data stream. The query plan may include one or more operators. Before scheduling an operator in the query plan, it is determined when an eviction is to be performed based a level of free memory of the processing system. An eviction candidate is determined and a page associated with the eviction candidate is evicted from the memory to a persistent storage. | 09-02-2010 |
| 20100223437 | METHOD AND SYSTEM FOR SPILLING FROM A QUEUE TO A PERSISTENT STORE - Techniques for managing memory usage of a processing system by spilling data from a memory to a persistent store based upon an evict policy are provided. A triggering event is detected. In response to the triggering event and based on the evict policy, it is determined whether data from the memory of the processing system is to be spilled to the persistent storage. The determination is made by comparing a level of free memory of the processing system with a threshold specified by the evict policy. The data is evicted from the memory. | 09-02-2010 |
| 20100223606 | FRAMEWORK FOR DYNAMICALLY GENERATING TUPLE AND PAGE CLASSES - Techniques for reducing the memory used for processing events received in a data stream are provided. This may be achieved by reducing the memory required for storing tuples. A method for processing a data stream includes receiving a tuple and determining a tuple specification that defines a layout of the tuple. The layout identifies one or more data types that are included in the tuple. A tuple class corresponding to the tuple specification may be determined. A tuple object based on the tuple class is instantiated, and during runtime of the processing system. The tuple object is stored in a memory. | 09-02-2010 |
| 20110029484 | LOGGING FRAMEWORK FOR A DATA STREAM PROCESSING SERVER - Techniques for logging data pertaining to the operation of a data stream processing server. In one set of embodiments, logging configuration information can be received specifying a functional area of a data stream processing server to be logged. Based on the logging configuration information, logging can be dynamically enabled for objects associated with the functional area that are instantiated by the data stream processing server, and logging can be dynamically disabled for objects associated with the functional area that are discarded (or no longer used) by the data stream processing server. In another set of embodiments, a tool can be provided for visualizing the data logged by the data stream processing server. | 02-03-2011 |
| 20110029485 | LOG VISUALIZATION TOOL FOR A DATA STREAM PROCESSING SERVER - Techniques for logging data pertaining to the operation of a data stream processing server. In one set of embodiments, logging configuration information can be received specifying a functional area of a data stream processing server to be logged. Based on the logging configuration information, logging can be dynamically enabled for objects associated with the functional area that are instantiated by the data stream processing server, and logging can be dynamically disabled for objects associated with the functional area that are discarded (or no longer used) by the data stream processing server. In another set of embodiments, a tool can be provided for visualizing the data logged by the data stream processing server. | 02-03-2011 |
| 20110161321 | EXTENSIBILITY PLATFORM USING DATA CARTRIDGES - A framework for extending the capabilities of an event processing system using one or more plug-in components referred to herein as data cartridges. Generally speaking, a data cartridge is a self-contained unit of data that can be registered with an event processing system and can store information pertaining to one or more objects (referred to herein as extensible objects) that are not natively supported by the system. Examples of such extensible objects can include data types, functions, indexes, data sources, and others. By interacting with a data cartridge, an event processing system can compile and execute queries that reference extensible objects defined in the data cartridge, thereby extending the system beyond its native capabilities. | 06-30-2011 |
| 20110161328 | SPATIAL DATA CARTRIDGE FOR EVENT PROCESSING SYSTEMS - Techniques for extending the capabilities of an event processing system to support the processing of spatial data. In one set of embodiments, this extensibility can be provided via a plug-in extension component referred to herein as a spatial data cartridge. The spatial data cartridge can enable the event processing system to support spatial data types (e.g., point, polygon, etc.) and various operations related to such data types (e.g., proximity determinations, overlap determinations, etc.). The spatial data cartridge can also define an indexing scheme that can be integrated with the capabilities of the event processing system to support the indexing of spatial data. Using the spatial data cartridge, the event processing system can operate on spatial data even if spatial data formats are not natively supported by the system. | 06-30-2011 |
| 20110161352 | EXTENSIBLE INDEXING FRAMEWORK USING DATA CARTRIDGES - A framework or infrastructure (extensibility framework/infrastructure) for extending the indexing capabilities of an event processing system. The capabilities of an event processing system may be extended to support indexing schemes, including related data types and operations, which are not natively supported by the event processing system. The extensibility is enabled by one or more plug-in extension components called data cartridges. | 06-30-2011 |
| 20110161356 | EXTENSIBLE LANGUAGE FRAMEWORK USING DATA CARTRIDGES - A framework for extending the capabilities of an event processing system using one or more plug-in components referred to herein as data cartridges. In one set of embodiments, the data cartridge framework described herein can enable an event processing system to support one or more extension languages that are distinct from the native event processing language supported by the system. For example, certain “extension language” data cartridges can be provided that enable an event processing system to support complex data types and associated methods/operations that are common in object-oriented languages, but are not common in event processing languages. In these embodiments, an event processing system can access an extension language data cartridge to compile and execute queries that are written using a combination of the system's native event processing language and the extension language. | 06-30-2011 |