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 |
20120291049 | TRACKING LARGE NUMBERS OF MOVING OBJECTS IN AN EVENT PROCESSING SYSTEM - Techniques for tracking large numbers of moving objects in an event processing system. In one set of embodiments, an input event stream can be received, where the events in the input event stream represent the movement of a plurality of geometries or objects. The input event stream can then be partitioned among a number of processing nodes of the event processing system, thereby enabling parallel processing of one or more continuous queries for tracking the objects. In a particular embodiment, the partitioning can be performed such that (1) each processing node is configured to track objects in a predefined spatial region, and (2) the spatial regions for at least two nodes overlap. This overlapping window enables a single node to find, e.g., all of the objects within a particular distance of a target object, even if the target object is in the process of moving from the region of that node to the overlapping region of another node. | 11-15-2012 |
20130014088 | CONTINUOUS QUERY LANGUAGE (CQL) DEBUGGER IN COMPLEX EVENT PROCESSING (CEP) - A method including receiving, at a computer system, debugging configuration information specifying a functional area of a data stream processing server to be debugged, is described. Furthermore, the method includes identifying, by the computer system, an object associated with the functional area that has been instantiated by the data stream processing server, determining, by the computer system, that tracing for the object is enabled to perform the debugging, and instantiating, by the computer system, a tracelet associated with the object. Further, the method includes stepping, by the computer system, through the tracelet associated with the object to debug the object, and displaying, by the computer system, a visual representation of debugging results associated with the object. | 01-10-2013 |
20140095462 | HYBRID EXECUTION OF CONTINUOUS AND SCHEDULED QUERIES - Techniques for implementing the hybrid execution of continuous and scheduled queries are provided. In some examples, a query engine may be initialized with relational data from at least a first source. For example, the first source may include a database or other system that can provide historical data. Additionally, the query engine may be enabled to provide query results based at least in part on the relational data from at least the first source and streaming data from at least a second source. In some examples, the second source may be a data stream. | 04-03-2014 |
20140095535 | MANAGING CONTINUOUS QUERIES WITH ARCHIVED RELATIONS - Techniques for managing continuous queries with archived relations are provided. In some examples, a query that includes at least a data stream may be identified. Additionally, the query may be initialized with at least a portion of historical data. Further, in some instances, the query may be evaluated based at least in part on the data stream and the portion of the historical data. | 04-03-2014 |
20140095537 | REAL-TIME BUSINESS EVENT ANALYSIS AND MONITORING - Techniques for managing real-time business event analysis and monitoring are provided. In some examples, a logical request may be received at a business intelligence server configured with a continuous query service. Additionally, the continuous query service may be configured to translate the logical request into a physical request. Further, business intelligence information may be provided based at least in part on querying against an event data stream with a continuous query configured based at least in part on the physical request translated by the continuous query service. | 04-03-2014 |
20140095540 | MECHANISM TO CHAIN CONTINUOUS QUERIES - Techniques for implementing mechanisms for chaining continuous queries are provided. In some examples, results of a first continuous query may be stored in a data object. For example, the first continuous query may be configured to process business event data and store the results in the data object. Additionally, a second continuous query may then be processed based at least in part on the results stored in the data object. | 04-03-2014 |