P
US10477359B2ActiveUtilityPatentIndex 50

Publishing messages based on geographic area

Assignee: IBMPriority: Dec 8, 2014Filed: Dec 8, 2014Granted: Nov 12, 2019
Est. expiryDec 8, 2034(~8.4 yrs left)· nominal 20-yr term from priority
Inventors:CUOMO GENNARO ASINGH GARI RYADAV MEETA
H04W 4/021H04W 4/12H04W 4/06
50
PatentIndex Score
0
Cited by
19
References
16
Claims

Abstract

Embodiments relate to methods, systems and computer program products for publishing messages within a geographic area. Aspects include receiving a location from each of a plurality of user devices and creating a geo-hash tree based on the location of each of a plurality of user devices. Aspects also include receiving a message with the geographic area, computing a geo-hash grid for a region that includes the geographic area and identifying one or more nodes of the geo-hash tree that corresponds to the geo-hash grid. Aspects further include transmitting the message to one or more of the plurality of user devices associated with the one or more identified nodes.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. A computer program product for publishing messages within a geographic area, the computer program product comprising:
 a non-transitory storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a method comprising: 
 receiving a location from each of a plurality of user devices; 
 creating a geo-hash tree based on the location of each of a plurality of user devices; 
 receiving a message with the geographic area, wherein the geographic area is non-rectangular; 
 computing a geo-hash grid for a region that includes the geographic area, wherein the region includes an entirety of the geographic area and one or more areas that are not within the geographic area; 
 identifying one or more nodes of the geo-hash tree that correspond to the geo-hash grid as candidate nodes; 
 performing a point in a polygon algorithm for each of the candidate nodes to determine whether each of the one or more of the plurality of user devices associated with the candidate nodes are located inside or outside a boundary of the geographic area; and 
 transmitting the message to one or more of the plurality of user devices associated with the candidate nodes that are determined to be located inside the geographic area. 
 
     
     
       2. The computer program product of  claim 1 , wherein computing the geo-hash grid for the region that includes the geographic area comprises:
 receiving a definition of the geographic area; 
 computing geo-hashes for a plurality of points along the perimeter of the geographic area; and 
 comparing a common part of the geo-hashes for the plurality of points along the perimeter of the geographic area to find the geo-hash grid that contains the region that includes the geographic area. 
 
     
     
       3. The computer program product of  claim 1 , wherein the method further comprises receiving location updates from at least one of the plurality of user devices and responsively updating the geo-hash tree. 
     
     
       4. The computer program product of  claim 1 , wherein the geo-hash tree includes a plurality of geo-hash nodes and one or more device nodes. 
     
     
       5. The computer program product of  claim 4 , wherein an address of the one or more device nodes in the geo-hast tree corresponds to the location of each of the one or more device nodes. 
     
     
       6. The computer program product of  claim 1 , wherein an accuracy of the location received from each of the plurality of user devices is determined by a user of the plurality of user devices. 
     
     
       7. The computer program product of  claim 1 , wherein the geo-hash tree further comprises a device identifier for each of the plurality of user devices, wherein the device identifier is indicative of a make, a model and an operating system of a user device. 
     
     
       8. The computer program product of  claim 1 , wherein the geo-hash tree further comprises a time stamp for a latest location of each of the plurality of user devices. 
     
     
       9. A messaging system for publishing messages within a geographic area, the messaging system comprising a processor configured for performing a method comprising:
 receiving a location from each of a plurality of user devices; 
 creating a geo-hash tree based on the location of each of a plurality of user devices; 
 receiving a message with the geographic area, wherein the geographic area is non-rectangular; 
 computing a geo-hash grid for a region that includes the geographic area, wherein the region includes an entirety of the geographic area and one or more areas that are not within the geographic area; 
 identifying one or more nodes of the geo-hash tree that correspond to the geo-hash grid as candidate nodes; 
 performing a point in a polygon algorithm to determine whether each of the one or more of the plurality of user devices associated with the candidate nodes are located inside or outside a boundary of the geographic area; and 
 transmitting the message to one or more of the plurality of user devices associated with the candidate nodes that are determined to be located inside the geographic area. 
 
     
     
       10. The messaging system of  claim 9 , wherein computing the geo-hash grid for the region that includes the geographic area comprises:
 receiving a definition of the geographic area; 
 computing geo-hashes for a plurality of points along the perimeter of the geographic area; and 
 comparing a common part of the geo-hashes for the plurality of points along the perimeter of the geographic area to find the geo-hash grid that contains the region that includes the geographic area. 
 
     
     
       11. The messaging system of  claim 9 , further comprising receiving location updates from at least one of the plurality of user devices and responsively updating the geo-hash tree. 
     
     
       12. The messaging system of  claim 9 , wherein the geo-hash tree includes a plurality of geo-hash nodes and one or more device nodes. 
     
     
       13. The messaging system of  claim 12 , wherein an address of the one or more device nodes in the geo-hast tree corresponds to the location of each of the one or more device nodes. 
     
     
       14. The messaging system of  claim 9 , wherein the geo-hash tree further comprises a device identifier for each of the plurality of user devices, wherein the device identifier is indicative of a make, a model and an operating system of a user device. 
     
     
       15. The messaging system of  claim 9 , wherein the geo-hash tree further comprises a time stamp for a latest location of each of the plurality of user devices. 
     
     
       16. A computer program product for publishing messages within a geographic area, the computer program product comprising:
 a non-transitory storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a method comprising: 
 receiving a location from each of a plurality of user devices; 
 creating a geo-hash tree based on the location of each of a plurality of user devices; 
 receiving a message with the geographic area; 
 computing a geo-hash grid for a region that includes the geographic area; 
 identifying one or more nodes of the geo-hash tree that correspond to the geo-hash grid; 
 performing a point in a polygon algorithm to determine if the one or more of the plurality of user devices associated with the one or more identified nodes are located inside the geographic area; and 
 transmitting the message to one or more of the plurality of user devices associated with the one or more identified nodes that are determined to be located inside the geographic area.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.