US2017192982A1PendingUtilityA1

Searching Based On Geographical Density Of Entities

38
Assignee: QUIXEY INCPriority: Dec 30, 2015Filed: Dec 29, 2016Published: Jul 6, 2017
Est. expiryDec 30, 2035(~9.5 yrs left)· nominal 20-yr term from priority
G06F 16/9537G06Q 30/0282G06Q 30/0241G06Q 10/40G06F 17/3053G06F 17/3087G06F 17/30241
38
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A method includes receiving a search query from a user device, determining a geographic search location, and determining geographic endpoint locations for search lines. The search lines radiate outwardly from the geographic search location in predetermined directions. The method includes determining geographic boundaries of a search area for the search query by connecting stored ones of the geographic endpoint locations for the search lines. The method includes determining, from the entity records stored in the memory, search results entities that have geographic locations within the geographic boundaries of the search area and satisfy the search query. The method includes obtaining access mechanisms associated with the search results entities. Each access mechanism, when executed by the user device, causes the user device to transition an application to a corresponding specific state. The method includes transmitting, to the user device, the access mechanisms and link data for the search results entities.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . A method comprising:
 receiving, by one or more processors, a search query from a user device;   determining, by the one or more processors, a geographic search location for the search query;   determining, by the one or more processors, geographic endpoint locations for search lines, respectively, the search lines radiating outwardly from the geographic search location in predetermined directions, respectively,   wherein determining the geographic endpoint locations includes, for each search line of the search lines, by the one or more processors:
 (i) initializing a distance of the search line to a first value; 
 (ii) determining a possible geographic endpoint location for the search line, the possible geographic endpoint location being the distance away from the geographic search location in the predetermined direction corresponding to the search line; 
 (iii) determining, based on the possible geographic endpoint location and geographic boundaries of a plurality of predetermined unit areas, one of the plurality of predetermined unit areas within which the possible endpoint location lies; 
 (iv) determining, from entity records stored in memory, a number of entities having geographic locations that are within the one of the plurality of predetermined unit areas; 
 (v) determining a decrease in the number of entities relative to a previous number of entities having geographic locations within another predetermined area; 
 (vi) determining whether the decrease is greater than a threshold value; and 
 (vii) in response to the decrease being greater than the threshold value, storing as the endpoint location for the search line one of: (a) the possible geographic endpoint location and (b) a previous instance of the possible geographic endpoint location of the one of the search lines; and in response to the decrease not being greater than the threshold value, incrementing the distance by a predetermined increment value and repeating (ii)-(vii); 
   determining, by the one or more processors, geographic boundaries of a search area for the search query by connecting stored ones of the geographic endpoint locations for the search lines, respectively;   determining, by the one or more processors, from the entity records stored in the memory, search results entities that: (i) have geographic locations that are within the geographic boundaries of the search area; and (ii) satisfy the search query;   obtaining from memory, by the one or more processors, access mechanisms associated with the search results entities, respectively,   wherein each access mechanism of the access mechanisms, when executed by the user device, causes the user device to transition an application to a specific state associated with the access mechanism; and   transmitting to the user device, by the one or more processors, the access mechanisms and link data for the search results entities.   
     
     
         2 . The method of  claim 1  further comprising:
 determining, by the one or more processors from the entity records stored in memory, a second set of entities, wherein each entity of the second set of entities both (i) is associated with a location within a predetermined area around the geographic search location and (ii) satisfies the search query; and 
 in response to a count of entities in the second set of entities being zero, one of:
 (i) setting the threshold value to a first predetermined value greater than zero; and 
 (ii) increasing the threshold value. 
 
 
     
     
         3 . The method of  claim 2  further comprising, in response to the count of entities in the second set of entities being greater than zero, one of:
 (i) setting the threshold value to a second predetermined value that is less than the first predetermined value; and 
 (ii) decreasing the threshold value. 
 
     
     
         4 . The method of  claim 1  further comprising receiving from the user device, by the one or more processors, a geographic location of the user device,
 wherein determining the geographic search location for the search query includes setting the geographic search location to the geographic location of the user device. 
 
     
     
         5 . The method of  claim 1  further comprising receiving from the user device, by the one or more processors, an Internet Protocol (IP) address of the user device,
 wherein determining the geographic search location for the search query includes determining the geographic search location for the search query based on the IP address of the user device. 
 
     
     
         6 . The method of  claim 1  wherein determining the geographic search location for the search query includes, by the one or more processors, determining the geographic search location for the search query based on one or more words included in the search query. 
     
     
         7 . The method of  claim 1 , further comprising:
 receiving from the user device, by the one or more processors, a transportation selection indicative of a type of transportation of a user of the user device; and   by the one or more processors, at least one of:
 setting the threshold value based on the transportation selection; and 
 setting the predetermined increment value based on the transportation selection. 
   
     
     
         8 . The method of  claim 1  further comprising:
 determining, by the one or more processors from the entity records stored in memory, a second set of entities, wherein each entity of the second set of entities is associated with a location within a predetermined area centered at the geographic search location, 
 wherein the previous number of entities having geographic locations within another predetermined area is a count of entities in the second set of entities. 
 
     
     
         9 . The method of  claim 1  wherein the previous number of entities having geographic locations within another predetermined area is the number of entities within another predetermined unit area from a previous iteration of (iv) for the search line. 
     
     
         10 . The method of  claim 1 , wherein each access mechanism of the access mechanisms, when executed by the user device, causes the user device to at least one of:
 transition a software application installed on the user device to the specific state;   launch a web browser application installed on the user device and access a specific webpage; and   access a digital distribution platform to download an application.   
     
     
         11 . A non-transitory computer-readable medium storing instructions for execution by one or more processors of a computing device, the instructions comprising instructions for:
 determining a geographic search location for a search query received from a user device;   determining geographic endpoint locations for search lines, respectively, the search lines radiating outwardly from the geographic search location in predetermined directions, respectively,   wherein the instructions for determining the geographic endpoint locations include, for each search line of the search lines, instructions for:
 (i) initializing a distance of the search line to a first value; 
 (ii) determining a possible geographic endpoint location for the search line, the possible geographic endpoint location being the distance away from the geographic search location in the predetermined direction corresponding to the search line; 
 (iii) determining, based on the possible geographic endpoint location and geographic boundaries of a plurality of predetermined unit areas, one of the plurality of predetermined unit areas within which the possible endpoint location lies; 
 (iv) determining, from entity records stored in memory, a number of entities having geographic locations that are within the one of the plurality of predetermined unit areas; 
 (v) determining a decrease in the number of entities relative to a previous number of entities having geographic locations within another predetermined area; 
 (vi) determining whether the decrease is greater than a threshold value; and 
 (vii) in response to the decrease being greater than the threshold value, storing as the endpoint location for the search line one of: (a) the possible geographic endpoint location and (b) a previous instance of the possible geographic endpoint location of the one of the search lines; and in response to the decrease not being greater than the threshold value, incrementing the distance by a predetermined increment value and repeating (ii)-(vii); 
 determining geographic boundaries of a search area for the search query by connecting stored ones of the geographic endpoint locations for the search lines, respectively; 
   determining, from the entity records stored in the memory, search results entities that: (i) have geographic locations that are within the geographic boundaries of the search area; and (ii) satisfy the search query;   obtaining, from memory, access mechanisms associated with the search results entities, respectively,   wherein each access mechanism of the access mechanisms, when executed by the user device, causes the user device to transition an application to a specific state associated with the access mechanism; and   transmitting, to the user device, the access mechanisms and link data for the search results entities.   
     
     
         12 . The non-transitory computer-readable medium of  claim 11  further comprising instructions executed by the one or more processors for:
 determining, from the entity records stored in memory, a second set of entities, wherein each entity of the second set of entities both (i) is associated with a location within a predetermined area around the geographic search location and (ii) satisfies the search query; and 
 in response to a count of entities in the second set of entities being zero, one of:
 (i) setting the threshold value to a first predetermined value greater than zero; and 
 (ii) increasing the threshold value. 
 
 
     
     
         13 . The non-transitory computer-readable medium of  claim 12  further comprising instructions executed by the one or more processors for, in response to the second count of entities in the second set of entities being greater than zero, one of:
 (i) setting the threshold value to a second predetermined value that is less than the first predetermined value; and 
 (ii) decreasing the threshold value. 
 
     
     
         14 . The non-transitory computer-readable medium of  claim 11  wherein the instructions for determining the geographic search location for the search query include instructions for setting the geographic search location to a geographic location of the user device received from the user device. 
     
     
         15 . The non-transitory computer-readable medium of  claim 11  wherein the instructions for determining the geographic search location for the search query include instructions for determining the geographic search location for the search query based on an Internet Protocol (IP) address of the user device received from the user device. 
     
     
         16 . The non-transitory computer-readable medium of  claim 11  wherein the instructions for determining the geographic search location for the search query include instructions for determining the geographic search location for the search query based on one or more words included in the search query. 
     
     
         17 . The non-transitory computer-readable medium of  claim 11  further comprising instructions executed by the one or more processors for:
 at least one of:
 setting the threshold value based on a transportation selection received from the user device, the transportation selection being indicative of transportation of a user of the user device; and 
 setting the predetermined increment value based on the transportation selection. 
 
 
     
     
         18 . The non-transitory computer-readable medium of  claim 11  further comprising instructions executed by the one or more processors for:
 determining, by the one or more processors from the entity records stored in memory, a second set of entities, wherein each entity of the second set of entities is associated with a location within a predetermined area centered at the geographic search location, 
 wherein the instructions for (v) determining the decrease in the number of entities relative to the previous number of entities having geographic locations within another predetermined area include instructions for (v) determining the decrease in the number of entities relative to a count of entities in the second set of entities. 
 
     
     
         19 . The non-transitory computer-readable medium of  claim 11  wherein the instructions for (v) determining the decrease in the number of entities relative to the previous number of entities having geographic locations within another predetermined area include instructions for (v) determining the decrease in the number of entities relative to the number of entities determined from a previous iteration of (iv) for the search line. 
     
     
         20 . The non-transitory computer-readable medium of  claim 11  wherein each access mechanism of the access mechanisms, when executed by the user device, causes the user device to at least one of:
 transition a software application installed on the user device to the specific state; 
 launch a web browser application installed on the user device and access a specific webpage; and 
 access a digital distribution platform to download an application. 
 
     
     
         21 . A system comprising:
 one or more processors; and   memory comprising instructions that, when executed by the one or more processors, cause the one or more processors to:
 determine a geographic search location for a search query received from a user device; 
 determine geographic endpoint locations for search lines, respectively, the search lines radiating outwardly from the geographic search location in predetermined directions, respectively, 
 the determination of the geographic endpoint locations including, for each search line of the search lines:
 (i) initializing a distance of the search line to a first value; 
 (ii) determining a possible geographic endpoint location for the search line, the possible geographic endpoint location being the distance away from the geographic search location in the predetermined direction corresponding to the search line; 
 (iii) determining, based on the possible geographic endpoint location and geographic boundaries of a plurality of predetermined unit areas, one of the plurality of predetermined unit areas within which the possible endpoint location lies; 
 (iv) determining, from entity records stored in memory, a number of entities having geographic locations that are within the one of the plurality of predetermined unit areas; 
 (v) determining a decrease in the number of entities relative to a previous number of entities having geographic locations within another predetermined area; 
 (vi) determining whether the decrease is greater than a threshold value; and 
 (vii) in response to the decrease being greater than the threshold value, storing as the endpoint location for the search line one of: (a) the possible geographic endpoint location and (b) a previous instance of the possible geographic endpoint location of the one of the search lines; and in response to the decrease not being greater than the threshold value, incrementing the distance by a predetermined increment value and repeating (ii)-(vii); 
 
 determine geographic boundaries of a search area for the search query by connecting stored ones of the geographic endpoint locations for the search lines, respectively; 
 determine, from the entity records stored in the memory, search results entities that: (i) have geographic locations that are within the geographic boundaries of the search area; and (ii) satisfy the search query; 
 obtain from memory, access mechanisms associated with the search results entities, respectively, 
 wherein each access mechanism of the access mechanisms, when executed by the user device, causes the user device to transition an application to a specific state associated with the access mechanism; and 
 transmit to the user device, the access mechanisms and link data for the search results entities.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.