Extensibility platform using data cartridges
First Claim
1. A method comprising:
- receiving, by a computer system, a first query configured for processing events received via one or more event streams; and
compiling, by the computer system, the first query by retrieving metadata pertaining to an extensible object from information stored by a data cartridge for the extensible object, and generating, based on the metadata, executable instructions for executing the first query, the executable instructions including a call-out instruction to a function whose implementation is included in the information stored by the data cartridge for the extensible object;
wherein the first query includes a particular link definition identifying the extensible object and a source of metadata for the extensible object;
wherein compiling the first query further comprises determining that the first query includes the particular link definition;
wherein compiling the first query further comprises identifying the data cartridge based upon the particular link definition in response to determining that the first query includes the particular link definition;
receiving a second query;
determining that the second query excludes link definitions;
in response to determining that the second query excludes link definitions, determining that a complex type specified in the second query is a native data type that is not defined in the data cartridge; and
compiling the second query based on the native data type.
1 Assignment
0 Petitions
Accused Products
Abstract
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.
296 Citations
14 Claims
-
1. A method comprising:
-
receiving, by a computer system, a first query configured for processing events received via one or more event streams; and compiling, by the computer system, the first query by retrieving metadata pertaining to an extensible object from information stored by a data cartridge for the extensible object, and generating, based on the metadata, executable instructions for executing the first query, the executable instructions including a call-out instruction to a function whose implementation is included in the information stored by the data cartridge for the extensible object; wherein the first query includes a particular link definition identifying the extensible object and a source of metadata for the extensible object; wherein compiling the first query further comprises determining that the first query includes the particular link definition; wherein compiling the first query further comprises identifying the data cartridge based upon the particular link definition in response to determining that the first query includes the particular link definition; receiving a second query; determining that the second query excludes link definitions; in response to determining that the second query excludes link definitions, determining that a complex type specified in the second query is a native data type that is not defined in the data cartridge; and compiling the second query based on the native data type. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A non-transitory computer-readable storage medium having stored thereon instructions executable by a processor, the instructions comprising:
-
instructions that cause the processor to receive a first query configured for processing events received via one or more event streams; and instructions that cause the processor to compile the first query by retrieving metadata pertaining to an extensible object from information stored by a data cartridge for the extensible object, and generating, based on the metadata, executable instructions for executing the first query, the executable instructions including a call-out instruction to a function whose implementation is included in the information stored by the data cartridge for the extensible object; wherein the first query includes a particular link definition identifying the extensible object and a source of metadata for the extensible object; wherein compiling the first query further comprises determining that the first query includes the particular link definition; wherein compiling the first query further comprises identifying the data cartridge based upon the particular link definition in response to determining that the first query includes the particular link definition; instructions that cause the processor to receive a second query; instructions that cause the processor to determine that the second query excludes link definitions; instructions that cause the processor to determine, in response to determining that the second query excludes link definitions, that a complex type specified in the second query is a native data type that is not defined in the data cartridge; and instructions that cause the processor to compile the second query based on the native data type. - View Dependent Claims (11, 12, 13)
-
-
14. A system comprising:
-
one or more central processing units; and a computer-readable storage memory storing particular instructions comprising; instructions that cause the processor to receive a first query configured for processing events received via one or more event streams; and instructions that cause the processor to compile the first query by retrieving metadata pertaining to an extensible object from information stored by a data cartridge for the extensible object, and generating, based on the metadata, executable instructions for executing the first query, the executable instructions including a call-out instruction to a function whose implementation is included in the information stored by the data cartridge for the extensible object; wherein the first query includes a particular link definition identifying the extensible object and a source of metadata for the extensible object; wherein compiling the first query further comprises determining that the first query includes the particular link definition; wherein compiling the first query further comprises identifying the data cartridge based upon the particular link definition in response to determining that the first query includes the particular link definition; instructions that cause the processor to receive a second query; instructions that cause the processor to determine that the second query excludes link definitions; instructions that cause the processor to determine, in response to determining that the second query excludes link definitions, that a complex type specified in the second query is a native data type that is not defined in the data cartridge; and instructions that cause the processor to compile the second query based on the native data type.
-
Specification