IP Library › Granted Patent US 9,430,494
Granted Patent B2
US 9,430,494 · App. 12/949,081 · Granted Aug 30, 2016

Spatial data cartridge for event processing systems

Inventors: Hoyong Park (San Jose, CA); Alexandre de Castro Alves (Santa Clara, CA); Unmesh Deshmukh (Nagpur, IN); Anand Srinivasan (Bangalore, IN)
Assignee: Oracle International Corporation
G06F17/30241G06F17/30516
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,430,494
App. No.
12/949,081
Filed
Nov 18, 2010
Granted
Aug 30, 2016
Kind
B2
Art Unit
2159
USPC
707/743
Abstract

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.

Claims (36)

1. A system comprising:

a storage component configured to store a spatial data cartridge including metadata pertaining to a spatial function that is not natively supported by the system and code that implements the spatial function, the spatial function being configured to determine a topological relationship between first spatial data and second spatial data; and

a processor configured to:

receive a query referencing the spatial data cartridge and the spatial function to be evaluated using the spatial data cartridge, the query being adapted to process one or more data streams;

compile the query based on the metadata included in the spatial data cartridge, the metadata comprising a list of arguments for evaluating the spatial function using the spatial data cartridge; and

execute the query based on the code included in the spatial data cartridge;

wherein the query includes a link definition that specifies the spatial function and the spatial data cartridge;

wherein the processor is configured to identify the spatial data cartridge based on the link definition;

wherein the system is an event processing system.

2. A system comprising:

a storage component configured to store a spatial data cartridge including metadata pertaining to a spatial function that is not natively supported by the system and code that implements the spatial function, the spatial function being configured to determine a topological relationship between first spatial data and second spatial data; and

a processor configured to:

receive a query referencing the spatial data cartridge and the spatial function to be evaluated using the spatial data cartridge, the query being adapted to process one or more data streams;

compile the query based on the metadata included in the spatial data cartridge, the metadata comprising a list of arguments for evaluating the spatial function using the spatial data cartridge; and

execute the query based on the code included in the spatial data cartridge;

wherein executing the query comprises executing the code that implements the spatial function in the spatial data cartridge;

wherein executing the code that implements the spatial function comprises:

performing a first filter operation with respect to data in a first spatial data stream and data in a second spatial data stream, the first filter operation returning a superset of an exact result set for the spatial function; and

performing a second filter operation with respect to the superset, the second filter operation returning the exact result set for the spatial function.

3. The system of claim 2 wherein performing the first filter operation comprises:

comparing geometric approximations of the data in the first spatial data stream and the data in the second spatial data stream; and

determining likely topological relationships between the data in the first spatial data stream and the data in the second spatial data stream based on the comparing.

4. The system of claim 2 wherein performing the second filter operation comprises:

comparing exact geometries of the data in the first spatial data stream and the data in the second spatial data stream; and

determining exact topological relationships between the data in the first spatial data stream and the data in the second spatial data stream based on the comparing.

5. The system of claim 2 wherein performing the first filter operation comprises performing an index scan of a spatial index created for the first spatial data stream or the second spatial data stream.

6. A non-transitory computer-readable storage medium having stored thereon instructions executable by a processor, the instructions comprising:

instructions that cause the processor to register a spatial data cartridge including metadata pertaining to a spatial function that is not natively supported by the system and code that implements the spatial function, the spatial function being configured to determine a topological relationship between first spatial data and second spatial data;

instructions that cause the processor to receive a query containing a link definition that references both the spatial function to be evaluated using the spatial data cartridge and the spatial data cartridge, the query being adapted to process one or more data streams;

instructions that cause the processor to identify the spatial data cartridge based on the link definition;

instructions that cause the processor to compile the query based on the metadata included in the spatial data cartridge, the metadata comprising a list of arguments for evaluating the spatial function using the spatial data cartridge; and

instructions that cause the processor to execute the query based on the code included in the spatial data cartridge;

wherein the instructions that cause the processor to execute the query comprise instructions that cause the processor to execute the code that implements the spatial function in the spatial data cartridge.

7. The non-transitory computer-readable storage medium of claim 6 wherein the instructions that cause the processor to execute the code that implements the spatial function comprises:

instructions that cause the processor to perform a first filter operation with respect to data in a first spatial data stream and data in a second spatial data stream, the first filter operation returning a superset of an exact result set for the spatial function; and

instructions that cause the processor to perform a second filter operation with respect to the superset, the second filter operation returning the exact result set for the spatial function.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 18, 2010
From: PARK, HOYONG; DE CASTRO ALVES, ALEXANDRE; DESHMUKH, UNMESH; SRINIVASAN, ANAND
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 025374/0191 →
Continuity (5)
Provisional Application 61355415 · Jun 16, 2010
Provisional Application 61327903 · Apr 26, 2010
Provisional Application 61311175 · Mar 5, 2010
Provisional Application 61290460 · Dec 28, 2009
Related Publication 20110161328A1 · Jun 30, 2011