Scaling out moving objects for geo-fence proximity determination
First Claim
1. A method, comprising:
- distributing, by a computing device, information that defines a plurality of geo fences among a plurality of processing nodes, the plurality of geo fences identifying bounding regions within a geographic area;
receiving input events of a stream, a respective input event of the input events comprising respective location information for a location within the geographic area;
transmitting the respective input event to a respective partition on a respective processing node of the plurality of processing nodes based at least in part on the respective location information;
receiving, from the respective processing node, an output result corresponding to a respective partition result;
combining, by the computing device, the output result with a second partition result to obtain a single result corresponding to a geospatial computation; and
preparing, for output, the single result corresponding to the geospatial computation for a user.
1 Assignment
0 Petitions
Accused Products
Abstract
An event processing system for distributing geospatial computations with geo-fences is disclosed. The system can partition and distribute geo-fences efficiently for parallel computation, and can track a potentially unlimited number of moving objects. A computing device determines a minimum bounding rectangle (MBR) covering a geographic area indexed by a geo-grid, and partitions the MBR and a set of geo-fences to a plurality of processing nodes. The computing device receives input events of a stream comprising locations within the geographic area. The device distributes the events to partitions on processing nodes, based at least on the events'"'"' locations. The device can determine a partition identifier corresponding to a respective location in constant time. The computing device then combines partition results to obtain a single geospatial computation result.
30 Citations
20 Claims
-
1. A method, comprising:
-
distributing, by a computing device, information that defines a plurality of geo fences among a plurality of processing nodes, the plurality of geo fences identifying bounding regions within a geographic area; receiving input events of a stream, a respective input event of the input events comprising respective location information for a location within the geographic area; transmitting the respective input event to a respective partition on a respective processing node of the plurality of processing nodes based at least in part on the respective location information; receiving, from the respective processing node, an output result corresponding to a respective partition result; combining, by the computing device, the output result with a second partition result to obtain a single result corresponding to a geospatial computation; and preparing, for output, the single result corresponding to the geospatial computation for a user. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A system, comprising:
-
a memory configured to store computer-executable instructions; and a processor configured to access the memory and execute the computer-executable instructions to perform a method for distributing a geospatial computation, the method comprising; distributing information that defines a plurality of geo fences among a plurality of processing nodes, the plurality of geo fences identifying bounding regions within a geographic area; receiving input events of a stream, a respective input event of the input events comprising respective location information for a location within the geographic area; transmitting the respective input event to a respective partition on a respective processing node of the plurality of processing nodes based at least in part on the respective location information; receiving, from the respective processing node, an output result corresponding to a respective partition result; combining, by the computing device, the output result with a second partition result to obtain a single result corresponding to a geospatial computation; and preparing, for output, the single result corresponding to the geospatial computation for a user. - View Dependent Claims (12, 13, 14, 15, 16)
-
-
17. A non-transitory computer-readable medium storing computer-executable code that, when executed by a processor, cause the processor to perform a method for distributing a geospatial computation, the method comprising:
-
distributing information that defines a plurality of geo fences among a plurality of processing nodes, the plurality of geo fences identifying bounding regions within a geographic area; receiving input events of a stream, a respective input event of the input events comprising respective location information for a location within the geographic area; transmitting the respective input event to a respective partition on a respective processing node of the plurality of processing nodes based at least in part on the respective location information; receiving, from the respective processing node, an output result corresponding to a respective partition result; combining, by the computing device, the output result with a second partition result to obtain a single result corresponding to a geospatial computation; and preparing, for output, the single result corresponding to the geospatial computation for a user. - View Dependent Claims (18, 19, 20)
-
Specification