WO2019177786A1 - System for location naming service - Google Patents

System for location naming service Download PDF

Info

Publication number
WO2019177786A1
WO2019177786A1 PCT/US2019/020211 US2019020211W WO2019177786A1 WO 2019177786 A1 WO2019177786 A1 WO 2019177786A1 US 2019020211 W US2019020211 W US 2019020211W WO 2019177786 A1 WO2019177786 A1 WO 2019177786A1
Authority
WO
WIPO (PCT)
Prior art keywords
location
locator
code
data
user
Prior art date
Application number
PCT/US2019/020211
Other languages
French (fr)
Inventor
James O'FLAHERTY Jr.
Wayne M. GEAREY
Dennis J. CAGAN
Original Assignee
Precision Location Intelligence, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Precision Location Intelligence, Inc. filed Critical Precision Location Intelligence, Inc.
Publication of WO2019177786A1 publication Critical patent/WO2019177786A1/en

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3863Structures of map data
    • G01C21/387Organisation of map data, e.g. version management or database structures
    • G01C21/3874Structures specially adapted for data searching and retrieval
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • G06Q10/087Inventory or stock management, e.g. order filling, procurement or balancing against orders

Definitions

  • FIG. 1 illustrates an example system for a location naming service according to some implementations.
  • FIGs. 2A and 2B illustrate examples of location data received by the location naming service of FIG. 1 according to some implementations.
  • FIG. 3 illustrates another example system for a location naming service according to some implementations.
  • FIG. 4 illustrates an example architecture of one or more servers associated with a location naming service system according to some implementations.
  • FIG. 5 illustrates example components of one or more user devices hosting a client side application associated with the location naming system according to some implementations.
  • FIG. 6 is an example flow diagram showing an illustrative process for generating a locator code according to some implementations.
  • FIG. 7 is an example flow diagram showing an illustrative process for determining location information associated with a locator code according to some implementations.
  • FIG. 8 is another example flow diagram showing an illustrative process for determining location information associated with a locator code according to some implementations.
  • This disclosure includes techniques and implementations associated with a system for a location naming service to associate and process location data (such as a geohash) with a customized phrase to improve the accuracy and efficiency of services that utilize address locations such as parcel deliveries, navigation services, etc.
  • location data such as a geohash
  • a user may choose a customized phrase to associate with location data (such as an address, latitude/longitude coordinate, geohash, geohash phrase, etc.) and the location naming service may provide the location data in response to a third-party request with regards to the customized phrase.
  • the location data or the data returned to the third-party may be a generated locator code associated with the location data, such as a hashed value, the physical location associated with the location data, etc.
  • a computer system is then able to quickly access the location naming service to locate the generated locator code (and thereby the exact location indicated by the address), and accurately perform operations associated with the address without additional verification and/or correction.
  • the locator code may include multiple portions, where each portion is associated with a characteristic of the location.
  • the location may be an address associated with a building, a street and/or avenue intersection, and a subunit (e.g. unit, suite, etc. within the building).
  • the locator code may include three portions that represent each aspect of the address location.
  • each portion may comprise a machine-readable code, such as a hashed value.
  • the first portion of the locator code, representing the building location may be generated by applying a hash function or code generator program to an address, a latitude/longitude, or a global satellite position data.
  • each portion of the locator code may further be associated with a geohash or a geohash phrase corresponding to the location characteristic.
  • the location naming service may locate one or more unique identifiers, such as geohashes or generated hashes, associated with the address to generate the one or more portions of the locator code.
  • the locator code may include a first hash code portion generated for the geohash associated with the location of the building located at 1234 Cherry Lane, Austin, Texas 78738, represented by a unique identifier, such as a generated hash or geohash“SCNP1J0PGLCU.” Further, the locator code may include a second hash code portion generated for the geohash associated with the street location, such as the street intersection, of the building and/or Apt. 567 is located at (e.g. the intersection of Cherry Lane and another cross-street), represented by a generated hash or“[UR7]” Lastly, the locator code may include a third hash code portion generated for a geohash associated with the local unit, such as the location of the subunit Apt. 567, represented by a generated hash or geohash “XA396ALXLU.”
  • Austin, Texas 78738 may be represented by“ SCNP 1 J 0PGLCU[UR7] .
  • XA396 ALXLU” may be stored in a database of the location naming service along with the address location entered by the user.
  • the user-provided customized label, or one generated for the user may be associated with the locator code. For example, if the address location is a home address, the user may wish to associate the label“SmithHome” with the locator code. In this way, the user will not have to memorize the locator code and may simply select a plain language label, such as their email address or a username, for entry when interacting with third-party sites, as will be discussed in more detail below.
  • the locator code may be further associated with a system-assigned locator phrase, or geohash phrase.
  • the locator phrase may include words from a user’s native language (e.g., English words for English speakers, Spanish words for Spanish speakers, etc.).
  • the phrase words assigned to the locator phrase regions may be selected for improved searching or user interaction with computing systems.
  • the locator phrase may be selected from a pool consisting of nouns, verbs, and adjectives within the selected language. In this manner, the system may allow individuals to memorize the assigned phrase associated with the locator code (and associated address location), in lieu of the locator code, and allow the phrase to be entered as a user input into a computing system when interacting with third-party services.
  • the user may associate more than one location with the customized label (either chosen or generated). For example, the user may wish to associate a home location, work location, secondary home, etc. with the customized label. By associating more than one location with the customized label, this will allow the user flexibility in selecting a location for deliveries, navigation services, and so on. For example, if the user is often traveling between homes, the user may wish to select an order for a product, but may not know where at which home they will be when the product ships. In this way, the user may place the order for the product and input the customized label associated with multiple addresses so there is no delay in placing the order.
  • the user or the location naming service may select the delivery location. For example, if the shipping is delayed or the user has an unexpected trip, the user may login to the location naming service and change the delivery location at a time after placing the order. In another example, the user may get a notification from the third-party service or the location naming service that will allow the user to select the desired delivery location from amongst those locations associated with the customized label. In some cases, the location naming service may be configured to select the delivery location based on information known about the user at the time a delivery request is received from the third-party system.
  • the user may further associate a global positioning system (GPS) of a desired device with the customized label.
  • GPS global positioning system
  • the user may wish to associate a GPS of a smart device (e.g., smart phone, laptop, tablet, etc.) with the customized label, along with one or more locations.
  • a smart device e.g., smart phone, laptop, tablet, etc.
  • the location naming service may ping the GPS to determine the location of the device, and thus the user, and fulfill the service.
  • the GPS may indicate that the user is in their home city and the location naming service may then select the user’s previously provided home address as the delivery location.
  • the GPS data may indicate that the user is at their vacation home.
  • the location naming service may return the previously provided location of the user’s vacation home.
  • the location naming service may determine the user is at a remote location, such as a previously provided campsite that the user frequents.
  • the system may return the GPS location associated with the campsite as the delivery location.
  • the location naming service may allow for the delivery of packages even when the user is at a location lacking a physical street address.
  • FIG. 1 illustrates an example system for a location naming service 100 according to some implementations.
  • the location naming service system 100 may include a remote or cloud based system 102 operating as a cloud-based service 104 for one or more applications operating on local devices 106(1)-(K) proximate to a user l08(l)-(L).
  • the cloud-based location naming service 104 may operate on one or more cloud-based resources 110.
  • the cloud- based resources 110 may include one or more communication interfaces 112 in communication with the local devices 106 via one or more networks 114 (such as the Internet).
  • the cloud-based resources 110 hosting the cloud-based location naming service 104 may also include one or more processors 116 as well as computer-readable storage media 118.
  • processors 116 may also include one or more processors 116 as well as computer-readable storage media 118.
  • modules, such as instruction(s), data stores, and so forth may be stored within the computer-readable storage media 118 and configured to execute on the processors 116.
  • location characteristic determining instruction(s) 120, locator code generation instruction(s) 122, locator phrase association instruction(s) 124, and location determining instruction(s) 126 may be stored within the computer-readable storage media 1118.
  • the computer- readable media 118 may store data, such as location data 128 (e.g., latitude/longitude, size, landmass, population density, GPS coordinates, and/or other data associated with each region and/or a geohash code), geohash data 130 (e.g., hash codes or tags assigned to regions and/or location characteristics), and locator code data 132, as well as other data.
  • location data 128 e.g., latitude/longitude, size, landmass, population density, GPS coordinates, and/or other data associated with each region and/or a geohash code
  • geohash data 130 e.g., hash codes or tags assigned to regions and/or location characteristics
  • locator code data 132 e.g., hash codes or tags assigned to regions and/or location characteristics
  • the location characteristic determining instruction(s) 120 may be configured to receive position data 134 from one or more of the local user devices 106(1)-(K).
  • the position data 134 may include information and/or data usable to determine a desired position relative to the Earth.
  • position data 134 may include coordinates, data collected from sensors such as inertial measurement units (IMU), GPS units, accelerometers, gyroscopes, magnetometers, etc., among other machine collected location/position data.
  • IMU inertial measurement units
  • GPS units GPS units
  • accelerometers gyroscopes
  • magnetometers magnetometers, etc.
  • the location characteristic determining instruction(s) 120 may also be configured to receive location data 140 from one or more of the local user devices 106(1)-(K).
  • the location data 140 may also include information or data usable to determine a desired position relative to the Earth.
  • location data 140 may include coordinates, regions, or locations selected by the user 108 via a user interface map displayed on the device 106, names of locations (e.g., landmarks, cities, countries, etc.) entered by the user 108, among other data representative of a location.
  • the location data 140 may be representative of a current location of the user 108, while in other cases, the location data 140 may be representative of a desired location (e.g., a location for a service, such as a package delivery, navigation location, etc.).
  • the location data 140 may be received via a user interface of the one or more of the local user devices 106(1)-(K).
  • the user interface may include a text entry field and/or a generated map that allows a user to input the location data 140.
  • the location data 140 may include any data representative of a location such as a home address, office address, etc.
  • the location characteristic determining instruction(s) 120 may cause the cloud-based location naming system to determine one or more location characteristics associated with the position data 134 and/or location data 140. For example, if the location data 140 includes a user input indicating a home address, the location determining instruction(s) 120 may analyze the location data 140 to determine a building location, a street location, and/or a subunit associated with the location data 140. As an example, if the location data 140 included user input specifying an address“1234 Cherry Lane, Apt. 567, Austin, Texas 78738,” the location determining instruction(s) may analyze the address and determine a building location (e.g.
  • the location characteristic determining instruction(s) 120 may be configured to access the location characteristic data 128 and the one or more location characteristics may be determined via a stored mapping or table between the position data 134 and/or the location data 140 and the location characteristic data 128.
  • the location characteristic determining instruction(s) 120 may cause the cloud-based location naming system to determine one or more geohash codes (or other location information, such as latitude/longitude coordinates, geohashes, geohash phrases, plus code(s) (of Open Location Code(s)), pbKeyTM, Google® Place IDs, etc.) associated with the one or more location characteristics. For example, one or more geohash codes may be determined for each of the determined building location, street location, and/or subunit location. In some cases, the location characteristic determining instruction(s) 120 may be configured to access third party data stores and systems (not shown) in order to determine the location characteristics and/or corresponding geohash codes. In other examples, the location characteristic determining instruction(s) 120 may be configured to access the geohash data 130 and the one or more geohash codes may be determined via a stored mapping or table between the one or more location characteristics and the geohash data 130.
  • geohash codes or other location information, such as latitude/longitude coordinates, geohashes, geo
  • the one or more geohash codes determined by the location characteristic determining instruction(s) 120 may be utilized by the locator code generation instruction(s) 122 to translate the one or more geohash codes into a locator code 142.
  • the locator code generation instruction(s) 122 may be configured to apply a hash function, code generator program, or other tool to each determined geohash code associated with the one or more location characteristics (and thus the position data 134 and/or location data 140) to generate a machine-readable set of characters.
  • the resulting locator code 142 may include one or more code portions. Each code portion may represent, or be associated with, a geohash code or phrase corresponding to a location characteristic of the position data 134 and/or location data 140.
  • the locator phrase association instruction(s) 124 may be configured to receive locator label data 144 from one or more of the local user devices 106(1)-(K) and associate the locator label data 144 with the locator code 142.
  • the locator label data 144 may include a user selected label to associate with the position data 134 and/or location data 140. For example, if the location data 140 includes the user’s home address, the user may also provide desired locator label data (e.g. a phrase such as“Home. address,” a personal email address, etc.) that the user wishes to associate with“1234 Cherry Lane, Apt.
  • the user may wish to associate more than one location of the location data 140 with the locator label data 144. For instance, the user may wish to associate a home address, a work address, a vacation home, and so on.
  • the locator phrase association instruction(s) 124 may generate a locator label to associate with the locator code 142.
  • the determined locator code(s) 142 may then be stored in the locator code data 132 for later access in determining locations associated with the locator code(s) 142 received by the cloud- based location naming service system 104.
  • the locator phrase association instruction(s) 124 may translate the locator code 142 associated with the position data 134 and/or location data 140 into a geohash phrase, which may be returned to the device 106. For example, one the locator code 142 is determined, the locator phrase association instruction(s) 124 may determine the geohash phrase via a stored mapping or table between the geohash phrase and the location characteristic data 128, the geohash data 130, and/or the locator code data 132. In other examples, the locator phrase association instruction(s) 124 may determine the geohash for the position data 134 and/or location data 140 and then convert the geohash into the geohash phrase 136.
  • FIGs. 2A and 2B illustrate examples of location data received by the location naming service of FIG. 1 according to some implementations.
  • the location data 200 may include location information provided by a user of the location naming service system 100 (e.g., location data 140).
  • the location data 200 may include location information received via a user interface of an application hosted on a client device.
  • the user interface may include a text entry field and/or a generated map that allows a user to input the location data 200.
  • the location data 200 may include any data representative of a location such as a home address, office address, etc.
  • the location data 200 is representative of a subunit 202 within a building 204.
  • the building 202 may be a large building that spans multiple street intersections.
  • the building 202 spans four urban avenues, namely“Avenue A,”“Avenue B,”“Avenue C,” and“Avenue D”
  • a user utilizing a conventional address or navigational system e.g., current online mapping programs, United States Postal Service, UPS, etc.
  • the building 204 may have four entrances located at each avenue intersection/corner of the building.
  • a large building such as building 204 may not have the ability to traverse the entire building from each entrance or may be too large to walk if the wrong entrance is selected as the entry point. For example, if a user wishes to arrive at, and access, subunit 202, located near an entrance at the corner of Avenue B and Avenue D, the user may have no means to specify that information to a navigational system. Additionally, if the user enters the building 204 at the wrong entrance, the user may not be able to access subunit 202 from every entrance. This may lead to confusion, additional time consumption, or even the inability to deliver a package or access a particular unit of similar buildings. In some embodiments, by providing the location data 200 to the location naming service system (e.g., the cloud-based location naming service system 104), the user may avoid such hindrances.
  • the location naming service system e.g., the cloud-based location naming service system 104
  • the user of the cloud-based location naming service system 104 when entering the location data 200, may be able to specify an exact location of the subunit 202. For instance, the user may be able to input text data or pinpoint an exact location on a generated map interface. As described with reference to FIG. 1, the location characteristic determining instruction(s) 120 of the cloud-based location naming service system 104 may then analyze the location data 200 to determine one or more location characteristics associated with the location data 200 and corresponding to one or more geohashes.
  • the location data 200 associated with the subunit 202 of the building 204 may include one or more location characteristics corresponding to the region of the building 204 location, the avenue intersection nearest the subunit 202 (e.g., the intersection of Avenue B and Avenue D) and/or the street number associated with the address of the subunit, and the unit number associated with the subunit (e.g., Suite 402).
  • the location characteristic determining instruction(s) 120 would then utilize the one or more location characteristics to determine associated location information, such as a geohash corresponding to each location characteristic.
  • the cloud-based location naming service system 104 may then generate a locator code 142 for each of the locations and associate the locator code 142 with user-specified locator label data 144.
  • the user may simply input the locator label data 144 (e.g., a phrase such as“office address”) when interacting with third-party systems.
  • the third-party system may then communicate with the cloud-based location naming service system 104 to determine the exact location (e.g., the locator code, geohash codes, and/or corresponding location characteristics) associated with the locator label data 144 to ensure accuracy of the location information being utilized.
  • the location data 206 may include location information provided by a user of the location naming service system 100 (e.g. location data 140).
  • the location data 206 is representative of a subunit 208 within a duplex 210.
  • the duplex 210 may include two distinct units, namely subunit“#l” (subunit 208) and subunit“#2.”
  • a duplex 210, or other type of building with multiple subunits may be associated with only one postal address code.
  • the duplex 210 may have been subdivided after the property was already assigned a postal address. In these cases, it may be difficult, or impossible, to specify which subunit is desired to a third-party system.
  • the user of the cloud-based location naming service system 104 when entering the location data 206, may be able to specify an exact location of the subunit 209. For instance, the user may be able to input text data or pinpoint an exact location on a generated map interface. As described with reference to FIG. 1, the location characteristic determining instruction(s) 120 of the cloud-based location naming service system 104 may then analyze the location data 206 to determine one or more location characteristics associated with the location data 206 and corresponding to one or more geohashes.
  • the location data 206 associated with the subunit 208 of the duplex 210 may include one or more location characteristics corresponding to the region of the duplex 210 location, the street number associated with the address of the duplex 210, and the unit number (e.g.“#l”) associated with the subunit 208.
  • the location characteristic determining instruction(s) 120 would then utilize the one or more location characteristics to determine associated location information, such as a geohash corresponding to each location characteristic.
  • the cloud-based location naming service system 104 may then generate a locator code 142 for each of the geohashes and associate the locator code 142 with user-specified locator label data 144.
  • the user may simply input the locator label data 144 (e.g. a phrase such as“duplex. address”) when interacting with third-party systems.
  • the third-party system may then communicate with the cloud- based location naming service system 104 to determine the exact location (e.g., the locator code, geohash codes, and/or corresponding location characteristics) associated with the locator label data 144 to ensure accuracy of the location information being utilized.
  • FIG. 3 illustrates another example system for a location naming service according to some implementations.
  • a user 302 interacts with a third- party service 304 in communication with an example of a location naming service system 306.
  • the location naming service system 306 may include one or more communication interfaces 308, one or more processors 310, and one or more computer- readable storage media 312.
  • Several modules, such as instruction(s), data stores, and so forth may be stored within the computer-readable storage media 312 and configured to execute on the processors 310.
  • locator code determining instruction(s) 314, geohash determining instruction(s) 316, and location determining instruction(s) 318 may be stored within the computer-readable storage media 312.
  • the computer-readable media 312 may store data, such as location characteristic data 320 (e.g., latitude/longitude, size, landmass, population density, GPS coordinates, and/or other data associated with each region and/or a geohash code), geohash data 322 (e.g., hash codes or tags assigned to regions and/or location characteristics), and locator code data 324, as well as other data.
  • location characteristic data 320 e.g., latitude/longitude, size, landmass, population density, GPS coordinates, and/or other data associated with each region and/or a geohash code
  • geohash data 322 e.g., hash codes or tags assigned to regions and/or location characteristics
  • locator code data 324 e.g., hash codes or tags assigned to regions and/or location characteristics
  • the user may input locator label data 326 associated with a location via an interface of a user device 328.
  • the locator label data 326 may have been provided to the location naming service system 306 along with location data.
  • the location naming service system 306 may generate a locator code associated with the location data and associate that locator code with the locator label data 326.
  • the locator label data 326 is then transmitted over the network 330 to the third-party site 304 the user is interacting with.
  • the third-party site 304 transmits the locator label data 326 to the location naming service system 306 via network 332.
  • the locator code determining instruction(s) 314 may be configured to receive the locator label data 326.
  • the locator code determining instruction(s) 314 may be configured to analyze the locator label data 326 to determine the locator code associated with the locator label data 326.
  • the locator code determining instruction(s) 314 may be configured to access the locator code data 324 including a plurality of locator codes and their associated locator labels.
  • the locator code may be determined via a stored mapping or table between the locator code and the locator label data 326 stored in the locator code data 324.
  • the locator code determining instruction(s) 314 may be configured to determine one or more code portions associated with the locator code.
  • the locator code may include one or more code portions representing a hashed value, geohash, or geohash phrase.
  • the geohash determining instruction(s) 316 may be configured to analyze the one or more code portions and determine one or more geohash codes associated.
  • the one or more code portions of the locator code may represent one or more geohash codes, associated with the location data 308, that have been hashed by the location naming service system 306.
  • the geohash determining instruction(s) 316 may be configured to access the geohash data 322 and the one or more geohash codes may be determined via a stored mapping or table between the locator code and the one or more geohash codes stored in the geohash data.
  • the location determining instruction(s) 318 may be configured to analyze the one or more geohash codes, geohash phrase, etc. to determine one or more associated location characteristics and determine the location data 308 for transmission to the third-party site 304 along with, or in place of, the locator code.
  • the location determining instruction(s) may be configured to access the location characteristics data 320 and the one or more location characteristics may be determined via a mapping or table between the one or more geohash codes and the one or more location characteristics.
  • the one or more location characteristics may include a building location, a street location, and a subunit corresponding to one or more geohash codes.
  • an association may have been made between the one or more location characteristics and the one or more geohash codes and may be used to determine the location data 308 associated with the received locator label data 326.
  • the location data 308 is transmitted to the third-party system 304 (such as retailer) via the communication interface(s) 308 and over the network 332 along with, or in place of, the locator code.
  • the third-party system 304 may utilize the location data 308 to fulfill a service, route a navigation element, etc. to the desired location.
  • the user 302 may provide the locator label data 326 (such as“SmithHome”) to the third-party system 304 in lieu of a physical address.
  • the location data 308 may be returned to the third-party system 304 along with the locator code, and thus the exact, desired location is provided.
  • both the user 302 and the third-party system 304 may avoid errors associated with postal addresses, subdivided buildings (e.g. building 310 of FIG. 2B), buildings spanning multiple street addresses (e.g. building 204 of FIG. 2A), human error, and time expended to verify and/or correct such errors.
  • an exact location associated with the locator code
  • the location data 308 may be provided directly to the third-party system 304 for use.
  • FIG. 4 illustrates an example architecture of one or more servers associated with a location naming service system according to some implementations.
  • the servers which host the location naming service system 402 collectively comprise processing resources, as represented by processors 404, and computer-readable storage media 408.
  • the computer-readable storage media 408 may include volatile and nonvolatile memory, removable and non-removable media implemented in any method or technology for storage of information, such as computer-readable instruction(s), data structures, program modules, or other data.
  • Such memory includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, RAID storage systems, or any other medium which can be used to store the desired information and which can be accessed by a computing device.
  • the servers may also include one or more communication interfaces 406, which may support both wired and wireless connection to various networks, such as cellular networks, radio (e.g., radio-frequency identification (RFID)), WiFi networks, short-range or near-field networks (e.g., Bluetooth®), infrared signals, local area networks, wide area networks, the Internet, and so forth.
  • RFID radio-frequency identification
  • WiFi networks e.g., WiFi networks
  • short-range or near-field networks e.g., Bluetooth®
  • infrared signals e.g., local area networks, wide area networks, the Internet, and so forth.
  • the communication interfaces 46 may allow the location naming service system 402 to receive transaction data, user communications, and/or offer data from user devices and third party systems.
  • a co-located management system may act as a proxy or additional tier for a cloud-based management system.
  • Several modules such as instruction(s), data stores, and so forth may be stored within the computer-readable storage media 408 and configured to execute on the processors 404.
  • a location characteristic determining instruction(s) 410 a locator code generation instruction(s) 412, a locator phrase association instruction(s) 414, a locator code determining instruction(s) 416, a geohash determining instruction(s) 418, a location determining instruction(s) 418, and a location returning instruction(s) 420.
  • the computer-readable media 408 may store data, such as location characteristic data 422 (e.g., latitude/longitude, size, landmass, population density, GPS coordinates, and/or other data associated with each region and/or geohash), geohash data 424 (e.g., hash codes or tags assigned to regions and/or location characteristics), and locator code data 426, as well as other data.
  • location characteristic data 422 e.g., latitude/longitude, size, landmass, population density, GPS coordinates, and/or other data associated with each region and/or geohash
  • geohash data 424 e.g., hash codes or tags assigned to regions and/or location characteristics
  • locator code data 426 e.g., hash codes or tags assigned to regions and/or location characteristics
  • the location characteristic determining instruction(s) 410 may be configured to receive location data from one or more devices, such as a user device.
  • the location data may user input data, input via a user interface, usable to determine a desired location or position relative to the Earth.
  • location data may include an address, coordinates, regions, or locations selected by the user via a user interface map displayed on the device and/or names of locations (e.g., buildings, landmarks, cities, countries, etc.) entered by the user via a text input, among other data representative of a location.
  • the location data may be representative of a current location or of a desired location (e.g., a location for a service, such as a package delivery, navigation location, etc.).
  • the location characteristic determining instruction(s) 120 may cause the cloud-based location naming system 420 to determine one or more location characteristics associated with the location data. For example, if the location data includes a user input indicating a work address, the location determining instruction(s) may analyze the location data to determine an office building location, a street location, and/or a subunit associated with the location data. As an example, if the location data included user input specifying an address“1234 Cherry Lane, Apt. 567, Austin, Texas 78738,” the location determining instruction(s) may analyze the address and determine a building location (e.g. 1234), a street location (e.g. Cherry Lane), and/or a subunit location (e.g. Apt. 567. In some examples, the location characteristic determining instruction(s) 410 may be configured to access the location characteristic data 422 and the one or more location characteristics may be determined via a stored mapping or table between the location data and the location characteristic data 422.
  • the location characteristic determining instruction(s) 410 may be
  • the location characteristic determining instruction(s) 410 may also cause the cloud-based location naming system 402 to determine one or more location indicators, such as geohash codes, longitude/latitude coordinates, etc. associated with the one or more location characteristics. For example, one or more geohash codes may be determined for each of the determined building location, street location, and/or subunit location.
  • the location characteristic determining instruction(s) 410 may be configured to access third party data stores and systems (not shown) in order to determine the location characteristics and/or corresponding geohash codes.
  • the location characteristic determining instruction(s) 410 may be configured to access the geohash data 424 and the one or more geohash codes may be determined via a stored mapping or table between the one or more location characteristics and the geohash data 424.
  • the locator code generation instruction(s) 412 are configured to translate the location indicators, such as the one or more geohash codes, into a locator code.
  • the locator code generation instruction(s) 412 may be configured to apply a hash function, or other code generator program, to each determined geohash code associated with the one or more location characteristics (and thus the location data 140) to generate a machine-readable set of characters.
  • the resulting locator code may include one or more code portions representing each geohash code corresponding to a location characteristic of the location data.
  • the locator phrase association instruction(s) 414 may be configured to receive locator label data from the user device(s) and associate the locator label data with the locator code.
  • the locator label data may include a user designated label to associate with the location data 140.
  • the user may wish to associate more than one location of the location data 140 with the locator label data. For instance, the user may wish to associate a second address such as an additional home address, a work address, a vacation home, and so on.
  • the determined locator code(s) may then be stored in the locator code data 426 for later access in determining locations associated with the locator code(s) received by the cloud-based location naming service system 402.
  • the locator code determining instruction(s) 416 may be configured to receive the locator label data from a user and/or third-party site.
  • the locator code determining instruction(s) 416 may be configured to analyze the locator label data to determine the locator code associated with the locator label data.
  • the locator code determining instruction(s) 416 may be configured to access the locator code data 416 and the locator code may be determined via a stored mapping or table between the locator code and the locator label data stored in the locator code data 426.
  • the locator code determining instruction(s) 416 may be configured to determine one or more code portions associated with the locator code.
  • the locator code may include one or more code portions representing a hashed code corresponding to geohash codes.
  • the location determining instruction(s) 418 may be configured to analyze the one or more code portions and determine the associated one or more location indicators, such as one or more geohash codes, latitude/longitude coordinate, etc.
  • the one or more code portions of the locator code may represent one or more geohash codes, associated with the location data 308, that have been hashed by the location naming service system 402.
  • the location determining instruction(s) 418 may be configured to access the geohash data 424 and the one or more geohash codes may be determined via a stored mapping or table between the locator code and the one or more geohash codes stored in the geohash data.
  • the location determining instruction(s) 418 may further be configured to analyze the one or more location indicators, such as the one or more geohash codes, to determine one or more location characteristics associated with the geohash codes and determine the location data for transmission to the user and/third- party site.
  • the location determining instruction(s) may be configured to access the location characteristics data 422 and the one or more location characteristics may be determined via a mapping or table between the one or more geohash codes and the one or more location characteristics.
  • the one or more location characteristics may include a building location, a street location, and a subunit corresponding to one or more geohash codes.
  • an association may have been made between the one or more location characteristics and the one or more geohash codes and may be used to determine the location data 308 associated with the received locator label data.
  • the location returning instruction(s) 420 may be configured to transmit the location data, along with the locator code, to the third-party site via the communication interface(s) 406.
  • the third-party site may utilize the location data and/or locator code to fulfill a service, route a navigation element, etc. to the desired location.
  • the location determining instruction(s) 418 may determine one or more location data for transmission to the user and/or third party-site.
  • the user may wish to associate more than one location so that, when the location is ready to be utilized, the user may choose which location data to use.
  • the user may initiate the service and, when the service is ready for fulfilment, the user may input their locator label data, receive the one or more associated location data, and choose which location to utilize.
  • FIG. 5 illustrates example components of one or more user devices hosting a client side application associated with the location naming system according to some implementations.
  • FIG. 5 illustrates example components of one or more user devices 500 hosting a client side application, or location naming service application 512, associated with a location naming service system according to some implementations.
  • the device 500 may host or implement the location naming service application 512 that allows the user to interact with the location naming service system described in various embodiments herein.
  • the device 500 may include one or more processors 502, and computer-readable storage media 504 as well as communication interface(s) 506, sensor(s) 508, and input/output interface(s) 510.
  • the communication interfaces 506 may support both wired and wireless connection to various networks, such as cellular networks, radio (e.g., radio-frequency identification (RFID)), WiFi networks, short-range or near-field networks (e.g., Bluetooth®), infrared signals, local area networks, wide area networks, the Internet, and so forth.
  • RFID radio-frequency identification
  • WiFi networks e.g., WiFi networks
  • short-range or near-field networks e.g., Bluetooth®
  • infrared signals e.g., local area networks, wide area networks, the Internet, and so forth.
  • the communication interfaces 506 may allow the device 500 to send and receive data associated with location data, locator label data, etc.
  • the sensors 508 may be used to monitor position and movement of the user device 500.
  • the sensors may include motion sensors (e.g., gyroscopes and accelerometers) and/or position sensors (e.g., Global Position System (GPS) or other satellite receivers based location tracking systems).
  • the sensors 508 may include systems for tracking movement based on wireless signals, such as the nearest cellular tower or currently connected tower.
  • the input/output interfaces 510 may include one or more output components, such as a display or touch screen, and one or more input components, such as keyboards, keypads, joysticks, a mouse, a touch screen, touch pad, drawing pad, or control buttons.
  • the output components and input components are combined in a single interface to provide a touch-sensitive display, or touch screen display.
  • the input/output interfaces 510 include one or more displays for presenting information, such as electronic content items, to a user, one or more input sensors for accepting input resulting from contact and/or application of incident force, such as a user finger or stylus pressing upon one of the sensors.
  • the computer-readable storage media 504 may include volatile and nonvolatile memory, removable and non-removable media implemented in any method or technology for storage of information, such as computer-readable instruction(s), data structures, program modules, or other data.
  • memory includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, RAID storage systems, or any other medium which can be used to store the desired information and which can be accessed by a computing device.
  • the computer-readable media 504 may store the location naming service application 512 that includes geohash determining instruction(s) 514, locator code generation instruction(s) 516, locator phrase association instruction(s) 518, and location selection instruction(s) 520.
  • location naming service application 512 may also store local location characteristic data 522, geohash data 524, and/or locator code data 526.
  • the location characteristic determining instruction(s) 514 may be configured to receive user input data including location data via a user interface, such as input/output interface(s) 510.
  • the user interface may include an interactive map with one or more selectable elements and/or a text entry element.
  • the user interface may allow a user to input location data may include an address, coordinates, regions, or locations.
  • the input may include a selection of the one or more elements by the user via the user interface map designating one or more locations.
  • the user input data may further include text input including names of locations (e.g., buildings, landmarks, cities, countries, etc.) entered by the user via a text input.
  • the user input may further include any data representative of a location.
  • the location characteristic determining instruction(s) 514 may cause the location naming service application 512 to determine one or more location characteristics associated with the location data. For example, if the location data includes a user input indicating a home address, the location determining instruction(s) may analyze the location data to determine a residential building location, a street location, and/or a subunit associated with the location data. In some examples, the location characteristic determining instruction(s) 514 may be configured to access the location characteristic data 522 and the one or more location characteristics may be determined via a stored mapping or table between the location data and the location characteristic data 522.
  • the location characteristic determining instruction(s) 514 may also cause the location naming service application 512 to determine one or more location indicators, such as geohash codes (or other location information such as latitude/longitude coordinates, geohashes, geohash phrases, plus code(s) (of Open Location Code(s)), pbKeyTM, Google® Place IDs, etc.) associated with the one or more location characteristics.
  • location indicators such as geohash codes (or other location information such as latitude/longitude coordinates, geohashes, geohash phrases, plus code(s) (of Open Location Code(s)), pbKeyTM, Google® Place IDs, etc.) associated with the one or more location characteristics.
  • geohash codes or other location information such as latitude/longitude coordinates, geohashes, geohash phrases, plus code(s) (of Open Location Code(s)), pbKeyTM, Google® Place IDs, etc.
  • geohash codes may be determined for each of the determined building location, street location, and/or subunit location.
  • the location characteristic determining instruction(s) 514 may be configured to access third party data stores and systems (not shown) in order to determine the location characteristics and/or corresponding geohash codes. In other examples, the location characteristic determining instruction(s) 514 may be configured to access the geohash data 524 and the one or more geohash codes may be determined via a stored mapping or table between the one or more location characteristics and the geohash data 524.
  • the locator code generation instruction(s) 516 are configured to translate the one or more geohash codes into a locator code.
  • the locator code generation instruction(s) 516 may be configured to apply a hash function to each determined geohash code associated with the one or more location characteristics (and thus the location data) to generate a machine-readable set of characters.
  • the resulting locator code may include one or more code portions representing each geohash code corresponding to a location characteristic of the location data.
  • the locator phrase association instruction(s) 518 may be configured to receive locator label data via the user interface (e.g. input/output interface(s) 510) and associate the locator label data with the locator code.
  • the locator label data may include a user designated label including one or more text characters.
  • the user may wish to associate more than one location of the location data with the locator label data. For instance, the user may wish to associate a second address such as an additional home address, a work address, a vacation home, and so on.
  • the determined locator code(s) may then be stored in the locator code data 526 for later access in determining locations associated with the locator code(s).
  • the location selection instruction(s) 520 may be configured to select a locator code, associated with location data, from among the one or more location data inputs provided by the user, to return to an additional user or a system.
  • the user may indicate more than one location to associate with the locator label.
  • the location selection instruction(s) 520 may be configured to select a locator code based on one more or configuration settings and/or to provide a user interface, via the input/output interface(s) 510 to allow the user to select from among the one or more locator codes (and associated locations).
  • the user may place an order for a product through the third- party system and input the customized locator label.
  • the user or the location selection instruction(s) 520 may be configured to select a delivery location. For example, if the shipping is delayed or the user has an unexpected trip, the user may login to the location naming service application 512 and change the delivery location at a time after placing the order.
  • the location selection instruction(s) 520 may be configured to transmit, via the communication interface(s) 506, the updated delivery information (e.g., the location information and/or locator code associated with the selected delivery location) to the third-party system.
  • the location selection instruction(s) 520 may be configured to transmit a notification to the user, via the input/output interface(s) 510, to allow the user to select the desired delivery location from amongst the location data associated with the locator label.
  • the user may associate a GPS sensor, from the sensor(s) 508, with the locator label, and the location selection instruction(s) 520 may be configured to select the location data based on GPS information known about the user at the time a delivery request is received from the third-party system. For example, when the service is ready to be fulfilled (e.g., the package is ready for delivery), the location naming service may ping the GPS to determine the location of the device, and thus the user, to fulfill the service and provide this information to the third-party system.
  • FIG. 6 is an example flow diagram showing an illustrative process for generating a locator code according to some implementations.
  • a user may provide location data (or a plurality of location data) to a location naming service system, along with a locator label, and a locator code may be generated corresponding to the location data.
  • the user may utilize the locator label when interacting with third-party services requiring location information.
  • the system may receive user input data including location information and a locator label.
  • the user input data may include text characters and/or a user selection indicating one or more locations.
  • the user input data may further include a locator label, including one or more text characters, that the user wishes to associate with the one or more locations.
  • the system may analyze the location information to determine one or more location characteristics. For example, the system may analyze the location information to determine one or more location characteristics including a building location, a street number, a subunit, etc.
  • the one or more location characteristics may be determined by accessing a third-party database, parsing the text of the input data, and/or analyzing the user selection(s).
  • the system may generate a locator code associated with the location characteristics. For example, the system may determine one or more geohash codes associated with the one or more location characteristics. For instance, the system may access a geohash database that maps the one or more location characteristics to one or more geohash codes. Each of the one or more location characteristics may be associated with an individual geohash code. For example, there may be a geohash code determined for each of the building location, the street number, and the subunit associated with the location data. In other examples, the system may determine latitude/longitude coordinates, or other location information, associated with the location characteristics.
  • the system may apply a hash function, or other code generating function/program, to the one or more geohash codes, latitude/longitude coordinates, location information, etc. to generate a locator code.
  • the system may apply a hash function to each of the one or more geohash codes and compile each hash function into the locator code.
  • the locator code may include multiple code portions corresponding to each geohash that has been hash.
  • the system may associate the locator code with at least one of the locator label or a geohash phrase.
  • the system may associate the generated locator code with the user-designed locator label.
  • the system may generate a geohash phrase to associated with the locator code.
  • FIG. 7 is an example flow diagram showing an illustrative process for determining location information associated with a locator code according to some implementations.
  • the location naming service system may receive a locator label and may utilize the locator label to determine one or more locations associated with the locator label.
  • a user may enter a locator label while interacting with a third-party system.
  • the user may enter the locator label in lieu of a physical address, or other location information, while placing an order, initiating navigation, etc.
  • the system may receive a locator label.
  • the third-party system may receive the locator label data from a device associated with a user.
  • the user may provide the locator label through a user interface associated with the location naming service system application, a web application associated with the third-party system, etc.
  • the third-party system may provide the locator label and/or user identification data to the location naming service system.
  • the third-party system may transmit, via one or more communication interfaces, the locator label provided by the user and/or user identification data to the location naming service system.
  • the user identification may include profile information, user preferences, configuration settings, a current location, etc.
  • the user identification data may include user preferences indicating a location the user often selects for deliveries.
  • the location naming services system receives the locator label and/or user identification data.
  • the location naming services system may receive the locator label and/or user identification data via one or more communication interfaces.
  • the location naming service system may identify a locator code associated with the locator label including one or more code portions. For example, the system may access data mapping the locator label data and/or user identification data with one or more locator codes. In some examples, the system may determine that the locator code includes one or more distinct code portions.
  • the location naming service system may analyze the locator code to determine a location associated with the locator label. For example, the system may analyze each code portion of the one or more code portions to determine one or more location identifiers, such as geohash codes, latitude/longitude coordinates, etc. associated with the locator code. For example, the system may access data that maps the one or more code portions to one or more geohash codes. For example, the one or more code portions may correspond to one or more geohash codes that have been hashed. An association between the one or more code portions and the geohash code may be stored in the data and accessed by the system to determine the geohash code(s).
  • location identifiers such as geohash codes, latitude/longitude coordinates, etc. associated with the locator code.
  • the system may access data that maps the one or more code portions to one or more geohash codes.
  • the one or more code portions may correspond to one or more geohash codes that have been hashed.
  • the system may identify a location based at least in part on the one or more location identifiers. For example, the system may utilize the one or more geohash codes to identify one or more corresponding location characteristics. The one or more location characteristics may be utilized to identify the one or more locations corresponding to the locator code. For example, the system may access data including a mapping or table associating the determined geohash code(s) and the one or more location characteristics. In addition, if more than one location is determined, the location naming service system may present the user with the one or more determined locations and may allow the user to input a selection to indicate a desired location of the determined locations.
  • the location naming service system may return the determined location and/or locator code to the third-party system.
  • the system may transmit/retum the location to the third-party system via one or more communication interfaces and the third-party system may utilize the location to fulfill a service, schedule a delivery, initiating navigation to the location, etc.
  • the third-party system may receive the location and/or locator code.
  • the third-party system may receive, via one or more communication interfaces, the location and/or locator code.
  • FIG. 8 is another example flow diagram showing an illustrative process for determining location information associated with a locator code according to some implementations.
  • the location naming service system may receive a locator label and may utilize the locator label to determine one or more locations associated with the locator label.
  • the third-party system may receive a locator label.
  • a user may enter the locator label in lieu of a physical address, or other location information, while placing interacting with the third-party system, delivery system, or location naming service system.
  • the third-party system may provide the locator label and/or user identification data to the location naming service system.
  • the third-party system may transmit, via one or more communication interfaces, the locator label provided by the user and/or user identification data to the location naming service system.
  • the user identification may include profile information, user preferences, configuration settings, a current location, etc.
  • the location naming service system receives the locator label and/or user identification data.
  • the location naming services system may receive the locator label and/or user identification data via one or more communication interfaces.
  • the location naming service system may identify a locator code associated with the locator label. For example, the system may access data mapping the locator label data and/or user identification data with one or more locator codes. In some examples, the system may determine that the locator code includes one or more distinct code portions.
  • the location naming service system may analyze the locator code to determine a location associated with the locator label. For example, the location naming service system may analyze each code portion of the one or more code portions to determine one or more location identifiers, such as geohash codes, latitude/longitude coordinates, etc. associated with the locator code. For example, the location naming service system may access data that maps the one or more code portions to one or more geohash codes. For example, the one or more code portions may correspond to one or more geohash codes that have been hashed. An association between the one or more code portions and the geohash code may be stored in the data and accessed by the location naming service system to determine the geohash code(s).
  • location naming service system may analyze each code portion of the one or more code portions to determine one or more location identifiers, such as geohash codes, latitude/longitude coordinates, etc. associated with the locator code.
  • the location naming service system may access data that maps the one or more code portions to one or more geo
  • the location naming service system may identify a location based at least in part on the one or more location identifiers. For example, the location naming service system may utilize the one or more geohash codes to identify one or more corresponding location characteristics. The one or more location characteristics may be utilized to identify the one or more locations corresponding to the locator code. For example, the location naming service system may access data including a mapping or table associating the determined geohash code(s) and the one or more location characteristics. In addition, if more than one location is determined, the location naming service system may present the user with the one or more determined locations and may allow the user to input a selection to indicate a desired location of the determined locations.
  • the location naming service system may return the determined location and/or locator code to a delivery/navigation system.
  • the location naming service system may transmit/return the location to a delivery system or navigation system associated with the third-party system.
  • the delivery or navigation system may utilize the location to fulfill a service, schedule a delivery, initiating navigation to the location, etc.
  • the delivery/navigation system may receive the location and/or locator code.
  • the delivery/navigation system may receive, via one or more communication interfaces, the location and/or locator code.

Landscapes

  • Engineering & Computer Science (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Data Mining & Analysis (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Telephonic Communication Services (AREA)
  • Navigation (AREA)
  • Telephone Function (AREA)

Abstract

A location naming service system is configured to receive location information and a corresponding label, determine a locator code corresponding to the location information, and associate the locator code with the label. The locator code is generated by applying a code generating function to one or more location indicators, such as geohash codes, associated with the location information. The label may be utilized with third-party systems to provide location information associated with the user.

Description

SYSTEM FOR LOCATION NAMING SERVICE
CROSS-REFERENCE TO RELATED APPLICATION(S)
[0001] This application claims priority to U.S. Provisional Application No. 62/643,450 filed on March 15, 2018 and entitled“System for Location Naming
Service,” the entirety of which is incorporated herein by reference.
BACKGROUND
[0002] It has become increasingly common for individuals to rely on location information in daily activities. Today, the conventional address system is utilized for everything from parcel deliveries to navigation. However, the house number, street name, jurisdiction name, zip code format that is common in the United States address system often lends much room to human error. For example, the United States address system often includes incorrect or outdated information. In addition, large buildings (e.g. buildings occupying multiple city blocks, avenues, etc.) may have multiple addresses associated with one building, or properties may have been converted into multiple units housed in one building, making it difficult to specify an exact location for a delivery or navigation destination. In such instances, it may fall on a human reviewer to validate and/or correct address information, which is not only costly and time consuming, but may lead to inconsistencies and errors.
BRIEF DESCRIPTION OF THE DRAWINGS
[0003] The detailed description is described with reference to the accompanying figures. In the figures, the left-most digit(s) of a reference number identifies the figure in which the reference number first appears. The use of the same reference numbers in different figures indicates similar or identical components or features.
[0004] FIG. 1 illustrates an example system for a location naming service according to some implementations.
[0005] FIGs. 2A and 2B illustrate examples of location data received by the location naming service of FIG. 1 according to some implementations.
[0006] FIG. 3 illustrates another example system for a location naming service according to some implementations.
[0007] FIG. 4 illustrates an example architecture of one or more servers associated with a location naming service system according to some implementations.
[0008] FIG. 5 illustrates example components of one or more user devices hosting a client side application associated with the location naming system according to some implementations.
[0009] FIG. 6 is an example flow diagram showing an illustrative process for generating a locator code according to some implementations.
[0010] FIG. 7 is an example flow diagram showing an illustrative process for determining location information associated with a locator code according to some implementations.
[0011] FIG. 8 is another example flow diagram showing an illustrative process for determining location information associated with a locator code according to some implementations.
DETAILED DESCRIPTION
[0012] This disclosure includes techniques and implementations associated with a system for a location naming service to associate and process location data (such as a geohash) with a customized phrase to improve the accuracy and efficiency of services that utilize address locations such as parcel deliveries, navigation services, etc. For example, a user may choose a customized phrase to associate with location data (such as an address, latitude/longitude coordinate, geohash, geohash phrase, etc.) and the location naming service may provide the location data in response to a third-party request with regards to the customized phrase. In some cases, the location data or the data returned to the third-party may be a generated locator code associated with the location data, such as a hashed value, the physical location associated with the location data, etc. In this way, whenever the user inputs the chosen customized phrase through a third-party service, a computer system is then able to quickly access the location naming service to locate the generated locator code (and thereby the exact location indicated by the address), and accurately perform operations associated with the address without additional verification and/or correction.
[0013] In some examples, the locator code (e.g., location data, hash code, etc.), may include multiple portions, where each portion is associated with a characteristic of the location. For example, the location may be an address associated with a building, a street and/or avenue intersection, and a subunit (e.g. unit, suite, etc. within the building). In this example, the locator code may include three portions that represent each aspect of the address location. In some cases, each portion may comprise a machine-readable code, such as a hashed value. For example, the first portion of the locator code, representing the building location, may be generated by applying a hash function or code generator program to an address, a latitude/longitude, or a global satellite position data. In some examples, each portion of the locator code may further be associated with a geohash or a geohash phrase corresponding to the location characteristic. [0014] For example, if a user entered an address such as 1234 Cherry Lane, Apt. 567, Austin, Texas 78738, the location naming service may locate one or more unique identifiers, such as geohashes or generated hashes, associated with the address to generate the one or more portions of the locator code. For example, the locator code may include a first hash code portion generated for the geohash associated with the location of the building located at 1234 Cherry Lane, Austin, Texas 78738, represented by a unique identifier, such as a generated hash or geohash“SCNP1J0PGLCU.” Further, the locator code may include a second hash code portion generated for the geohash associated with the street location, such as the street intersection, of the building and/or Apt. 567 is located at (e.g. the intersection of Cherry Lane and another cross-street), represented by a generated hash or“[UR7]” Lastly, the locator code may include a third hash code portion generated for a geohash associated with the local unit, such as the location of the subunit Apt. 567, represented by a generated hash or geohash “XA396ALXLU.”
[0015] In this example, the resulting locator code generated for 1234 Cherry Lane,
Austin, Texas 78738 may be represented by“ SCNP 1 J 0PGLCU[UR7] . XA396 ALXLU” and may be stored in a database of the location naming service along with the address location entered by the user. Once the locator code is generated, the user-provided customized label, or one generated for the user, may be associated with the locator code. For example, if the address location is a home address, the user may wish to associate the label“SmithHome” with the locator code. In this way, the user will not have to memorize the locator code and may simply select a plain language label, such as their email address or a username, for entry when interacting with third-party sites, as will be discussed in more detail below. [0016] In addition, in some examples, the locator code may be further associated with a system-assigned locator phrase, or geohash phrase. For example, the locator phrase may include words from a user’s native language (e.g., English words for English speakers, Spanish words for Spanish speakers, etc.). In some cases, the phrase words assigned to the locator phrase regions may be selected for improved searching or user interaction with computing systems. For example, the locator phrase may be selected from a pool consisting of nouns, verbs, and adjectives within the selected language. In this manner, the system may allow individuals to memorize the assigned phrase associated with the locator code (and associated address location), in lieu of the locator code, and allow the phrase to be entered as a user input into a computing system when interacting with third-party services.
[0017] In some examples, the user may associate more than one location with the customized label (either chosen or generated). For example, the user may wish to associate a home location, work location, secondary home, etc. with the customized label. By associating more than one location with the customized label, this will allow the user flexibility in selecting a location for deliveries, navigation services, and so on. For example, if the user is often traveling between homes, the user may wish to select an order for a product, but may not know where at which home they will be when the product ships. In this way, the user may place the order for the product and input the customized label associated with multiple addresses so there is no delay in placing the order. Then, after the order has been placed and the product is ready to ship, the user or the location naming service may select the delivery location. For example, if the shipping is delayed or the user has an unexpected trip, the user may login to the location naming service and change the delivery location at a time after placing the order. In another example, the user may get a notification from the third-party service or the location naming service that will allow the user to select the desired delivery location from amongst those locations associated with the customized label. In some cases, the location naming service may be configured to select the delivery location based on information known about the user at the time a delivery request is received from the third-party system.
[0018] In further examples, the user may further associate a global positioning system (GPS) of a desired device with the customized label. For example, if the user is highly mobile, the user may wish to associate a GPS of a smart device (e.g., smart phone, laptop, tablet, etc.) with the customized label, along with one or more locations. As described above, this will enable a user to initiate a service through a third-party site that requires address information using only the customized label. When the service is ready to be fulfilled, the location naming service may ping the GPS to determine the location of the device, and thus the user, and fulfill the service. For instance, the GPS may indicate that the user is in their home city and the location naming service may then select the user’s previously provided home address as the delivery location. In another instance, the GPS data may indicate that the user is at their vacation home. In this instance, the location naming service may return the previously provided location of the user’s vacation home. In one specific instance, the location naming service may determine the user is at a remote location, such as a previously provided campsite that the user frequents. In this specific instance, the system may return the GPS location associated with the campsite as the delivery location. Thus, in some instance, the location naming service may allow for the delivery of packages even when the user is at a location lacking a physical street address.
[0019] FIG. 1 illustrates an example system for a location naming service 100 according to some implementations. In the current example, the location naming service system 100 may include a remote or cloud based system 102 operating as a cloud-based service 104 for one or more applications operating on local devices 106(1)-(K) proximate to a user l08(l)-(L). In the illustrated example, the cloud-based location naming service 104 may operate on one or more cloud-based resources 110. The cloud- based resources 110 may include one or more communication interfaces 112 in communication with the local devices 106 via one or more networks 114 (such as the Internet).
[0020] The cloud-based resources 110 hosting the cloud-based location naming service 104 may also include one or more processors 116 as well as computer-readable storage media 118. Several modules, such as instruction(s), data stores, and so forth may be stored within the computer-readable storage media 118 and configured to execute on the processors 116. For example, location characteristic determining instruction(s) 120, locator code generation instruction(s) 122, locator phrase association instruction(s) 124, and location determining instruction(s) 126 may be stored within the computer-readable storage media 1118. In some implementations, the computer- readable media 118 may store data, such as location data 128 (e.g., latitude/longitude, size, landmass, population density, GPS coordinates, and/or other data associated with each region and/or a geohash code), geohash data 130 (e.g., hash codes or tags assigned to regions and/or location characteristics), and locator code data 132, as well as other data.
[0021] The location characteristic determining instruction(s) 120 may be configured to receive position data 134 from one or more of the local user devices 106(1)-(K). The position data 134 may include information and/or data usable to determine a desired position relative to the Earth. For example, position data 134 may include coordinates, data collected from sensors such as inertial measurement units (IMU), GPS units, accelerometers, gyroscopes, magnetometers, etc., among other machine collected location/position data.
[0022] The location characteristic determining instruction(s) 120 may also be configured to receive location data 140 from one or more of the local user devices 106(1)-(K). The location data 140 may also include information or data usable to determine a desired position relative to the Earth. For example, location data 140 may include coordinates, regions, or locations selected by the user 108 via a user interface map displayed on the device 106, names of locations (e.g., landmarks, cities, countries, etc.) entered by the user 108, among other data representative of a location. In some cases, the location data 140 may be representative of a current location of the user 108, while in other cases, the location data 140 may be representative of a desired location (e.g., a location for a service, such as a package delivery, navigation location, etc.). In some examples, the location data 140 may be received via a user interface of the one or more of the local user devices 106(1)-(K). For example, the user interface may include a text entry field and/or a generated map that allows a user to input the location data 140. The location data 140 may include any data representative of a location such as a home address, office address, etc.
[0023] Once the position data 134 and/or location data 140 is received, the location characteristic determining instruction(s) 120 may cause the cloud-based location naming system to determine one or more location characteristics associated with the position data 134 and/or location data 140. For example, if the location data 140 includes a user input indicating a home address, the location determining instruction(s) 120 may analyze the location data 140 to determine a building location, a street location, and/or a subunit associated with the location data 140. As an example, if the location data 140 included user input specifying an address“1234 Cherry Lane, Apt. 567, Austin, Texas 78738,” the location determining instruction(s) may analyze the address and determine a building location (e.g. 1234), a street location (e.g., Cherry Lane), and/or a subunit location (e.g., Apt. 567. In some examples, the location characteristic determining instruction(s) 120 may be configured to access the location characteristic data 128 and the one or more location characteristics may be determined via a stored mapping or table between the position data 134 and/or the location data 140 and the location characteristic data 128.
[0024] In some embodiments, once the one or more location characteristics are determined, the location characteristic determining instruction(s) 120 may cause the cloud-based location naming system to determine one or more geohash codes (or other location information, such as latitude/longitude coordinates, geohashes, geohash phrases, plus code(s) (of Open Location Code(s)), pbKey™, Google® Place IDs, etc.) associated with the one or more location characteristics. For example, one or more geohash codes may be determined for each of the determined building location, street location, and/or subunit location. In some cases, the location characteristic determining instruction(s) 120 may be configured to access third party data stores and systems (not shown) in order to determine the location characteristics and/or corresponding geohash codes. In other examples, the location characteristic determining instruction(s) 120 may be configured to access the geohash data 130 and the one or more geohash codes may be determined via a stored mapping or table between the one or more location characteristics and the geohash data 130.
[0025] In some examples, the one or more geohash codes determined by the location characteristic determining instruction(s) 120 may be utilized by the locator code generation instruction(s) 122 to translate the one or more geohash codes into a locator code 142. For example, the locator code generation instruction(s) 122, may be configured to apply a hash function, code generator program, or other tool to each determined geohash code associated with the one or more location characteristics (and thus the position data 134 and/or location data 140) to generate a machine-readable set of characters. The resulting locator code 142, may include one or more code portions. Each code portion may represent, or be associated with, a geohash code or phrase corresponding to a location characteristic of the position data 134 and/or location data 140.
[0026] In some embodiments, the locator phrase association instruction(s) 124 may be configured to receive locator label data 144 from one or more of the local user devices 106(1)-(K) and associate the locator label data 144 with the locator code 142. The locator label data 144 may include a user selected label to associate with the position data 134 and/or location data 140. For example, if the location data 140 includes the user’s home address, the user may also provide desired locator label data (e.g. a phrase such as“Home. address,” a personal email address, etc.) that the user wishes to associate with“1234 Cherry Lane, Apt. 567, Austin, Texas 78738.” In some examples, the user may wish to associate more than one location of the location data 140 with the locator label data 144. For instance, the user may wish to associate a home address, a work address, a vacation home, and so on. In other embodiments, if the locator label data 144 is not provided, the locator phrase association instruction(s) 124 may generate a locator label to associate with the locator code 142. The determined locator code(s) 142 may then be stored in the locator code data 132 for later access in determining locations associated with the locator code(s) 142 received by the cloud- based location naming service system 104.
[0027] In other examples, the locator phrase association instruction(s) 124 may translate the locator code 142 associated with the position data 134 and/or location data 140 into a geohash phrase, which may be returned to the device 106. For example, one the locator code 142 is determined, the locator phrase association instruction(s) 124 may determine the geohash phrase via a stored mapping or table between the geohash phrase and the location characteristic data 128, the geohash data 130, and/or the locator code data 132. In other examples, the locator phrase association instruction(s) 124 may determine the geohash for the position data 134 and/or location data 140 and then convert the geohash into the geohash phrase 136.
[0028] FIGs. 2A and 2B illustrate examples of location data received by the location naming service of FIG. 1 according to some implementations. Referring to FIG. 2 A, an example of location data 200 is illustrated. The location data 200 may include location information provided by a user of the location naming service system 100 (e.g., location data 140).
[0029] In some examples, the location data 200 may include location information received via a user interface of an application hosted on a client device. For example, the user interface may include a text entry field and/or a generated map that allows a user to input the location data 200. The location data 200 may include any data representative of a location such as a home address, office address, etc. In this example, the location data 200 is representative of a subunit 202 within a building 204.
[0030] In some embodiments, the building 202 may be a large building that spans multiple street intersections. In the depicted example, the building 202 spans four urban avenues, namely“Avenue A,”“Avenue B,”“Avenue C,” and“Avenue D” A user utilizing a conventional address or navigational system (e.g., current online mapping programs, United States Postal Service, UPS, etc.) may encounter difficulties specifying the exact location of the subunit 202, the nearest entrance, etc. [0031] For example, the building 204 may have four entrances located at each avenue intersection/corner of the building. In some examples, a large building such as building 204 may not have the ability to traverse the entire building from each entrance or may be too large to walk if the wrong entrance is selected as the entry point. For example, if a user wishes to arrive at, and access, subunit 202, located near an entrance at the corner of Avenue B and Avenue D, the user may have no means to specify that information to a navigational system. Additionally, if the user enters the building 204 at the wrong entrance, the user may not be able to access subunit 202 from every entrance. This may lead to confusion, additional time consumption, or even the inability to deliver a package or access a particular unit of similar buildings. In some embodiments, by providing the location data 200 to the location naming service system (e.g., the cloud-based location naming service system 104), the user may avoid such hindrances.
[0032] For example, the user of the cloud-based location naming service system 104, when entering the location data 200, may be able to specify an exact location of the subunit 202. For instance, the user may be able to input text data or pinpoint an exact location on a generated map interface. As described with reference to FIG. 1, the location characteristic determining instruction(s) 120 of the cloud-based location naming service system 104 may then analyze the location data 200 to determine one or more location characteristics associated with the location data 200 and corresponding to one or more geohashes.
[0033] For instance, in this example, the location data 200 associated with the subunit 202 of the building 204 may include one or more location characteristics corresponding to the region of the building 204 location, the avenue intersection nearest the subunit 202 (e.g., the intersection of Avenue B and Avenue D) and/or the street number associated with the address of the subunit, and the unit number associated with the subunit (e.g., Suite 402). In this example, the location characteristic determining instruction(s) 120 would then utilize the one or more location characteristics to determine associated location information, such as a geohash corresponding to each location characteristic. As described above, the cloud-based location naming service system 104 may then generate a locator code 142 for each of the locations and associate the locator code 142 with user-specified locator label data 144. In this way, the user may simply input the locator label data 144 (e.g., a phrase such as“office address”) when interacting with third-party systems. The third-party system may then communicate with the cloud-based location naming service system 104 to determine the exact location (e.g., the locator code, geohash codes, and/or corresponding location characteristics) associated with the locator label data 144 to ensure accuracy of the location information being utilized.
[0034] Referring now to FIG. 2B, another example of location data 206 is illustrated. The location data 206 may include location information provided by a user of the location naming service system 100 (e.g. location data 140). In this example, the location data 206 is representative of a subunit 208 within a duplex 210.
[0035] In some embodiments, the duplex 210 may include two distinct units, namely subunit“#l” (subunit 208) and subunit“#2.” In some instances, a duplex 210, or other type of building with multiple subunits, may be associated with only one postal address code. For example, the duplex 210 may have been subdivided after the property was already assigned a postal address. In these cases, it may be difficult, or impossible, to specify which subunit is desired to a third-party system.
[0036] In some examples, the user of the cloud-based location naming service system 104, when entering the location data 206, may be able to specify an exact location of the subunit 209. For instance, the user may be able to input text data or pinpoint an exact location on a generated map interface. As described with reference to FIG. 1, the location characteristic determining instruction(s) 120 of the cloud-based location naming service system 104 may then analyze the location data 206 to determine one or more location characteristics associated with the location data 206 and corresponding to one or more geohashes.
[0037] For instance, in this example, the location data 206 associated with the subunit 208 of the duplex 210 may include one or more location characteristics corresponding to the region of the duplex 210 location, the street number associated with the address of the duplex 210, and the unit number (e.g.“#l”) associated with the subunit 208. In this example, the location characteristic determining instruction(s) 120 would then utilize the one or more location characteristics to determine associated location information, such as a geohash corresponding to each location characteristic. As described above, the cloud-based location naming service system 104 may then generate a locator code 142 for each of the geohashes and associate the locator code 142 with user-specified locator label data 144. In this way, the user may simply input the locator label data 144 (e.g. a phrase such as“duplex. address”) when interacting with third-party systems. The third-party system may then communicate with the cloud- based location naming service system 104 to determine the exact location (e.g., the locator code, geohash codes, and/or corresponding location characteristics) associated with the locator label data 144 to ensure accuracy of the location information being utilized.
[0038] FIG. 3 illustrates another example system for a location naming service according to some implementations. In this example, a user 302 interacts with a third- party service 304 in communication with an example of a location naming service system 306. The location naming service system 306 may include one or more communication interfaces 308, one or more processors 310, and one or more computer- readable storage media 312. Several modules, such as instruction(s), data stores, and so forth may be stored within the computer-readable storage media 312 and configured to execute on the processors 310. For example, locator code determining instruction(s) 314, geohash determining instruction(s) 316, and location determining instruction(s) 318 may be stored within the computer-readable storage media 312. In some implementations, the computer-readable media 312 may store data, such as location characteristic data 320 (e.g., latitude/longitude, size, landmass, population density, GPS coordinates, and/or other data associated with each region and/or a geohash code), geohash data 322 (e.g., hash codes or tags assigned to regions and/or location characteristics), and locator code data 324, as well as other data.
[0039] In some examples, the user may input locator label data 326 associated with a location via an interface of a user device 328. The locator label data 326 may have been provided to the location naming service system 306 along with location data. As described in FIG. 1, the location naming service system 306 may generate a locator code associated with the location data and associate that locator code with the locator label data 326. In this example, the locator label data 326 is then transmitted over the network 330 to the third-party site 304 the user is interacting with. The third-party site 304, in turn, transmits the locator label data 326 to the location naming service system 306 via network 332.
[0040] In some examples, the locator code determining instruction(s) 314 may be configured to receive the locator label data 326. The locator code determining instruction(s) 314 may be configured to analyze the locator label data 326 to determine the locator code associated with the locator label data 326. For example, the locator code determining instruction(s) 314 may be configured to access the locator code data 324 including a plurality of locator codes and their associated locator labels. In some examples, the locator code may be determined via a stored mapping or table between the locator code and the locator label data 326 stored in the locator code data 324. In addition, the locator code determining instruction(s) 314 may be configured to determine one or more code portions associated with the locator code. For example, the locator code may include one or more code portions representing a hashed value, geohash, or geohash phrase.
[0041] In some embodiments, the geohash determining instruction(s) 316 may be configured to analyze the one or more code portions and determine one or more geohash codes associated. For example, as described herein, the one or more code portions of the locator code may represent one or more geohash codes, associated with the location data 308, that have been hashed by the location naming service system 306. In some examples, the geohash determining instruction(s) 316 may be configured to access the geohash data 322 and the one or more geohash codes may be determined via a stored mapping or table between the locator code and the one or more geohash codes stored in the geohash data.
[0042] In additional embodiments, the location determining instruction(s) 318 may be configured to analyze the one or more geohash codes, geohash phrase, etc. to determine one or more associated location characteristics and determine the location data 308 for transmission to the third-party site 304 along with, or in place of, the locator code. For example, the location determining instruction(s) may be configured to access the location characteristics data 320 and the one or more location characteristics may be determined via a mapping or table between the one or more geohash codes and the one or more location characteristics. For example, the one or more location characteristics may include a building location, a street location, and a subunit corresponding to one or more geohash codes. In some examples, an association may have been made between the one or more location characteristics and the one or more geohash codes and may be used to determine the location data 308 associated with the received locator label data 326.
[0043] In some examples, once the location data 308 is determined, it is transmitted to the third-party system 304 (such as retailer) via the communication interface(s) 308 and over the network 332 along with, or in place of, the locator code. The third-party system 304 may utilize the location data 308 to fulfill a service, route a navigation element, etc. to the desired location. For example, the user 302 may provide the locator label data 326 (such as“SmithHome”) to the third-party system 304 in lieu of a physical address. Once the location data 308 is determined, it may be returned to the third-party system 304 along with the locator code, and thus the exact, desired location is provided. By utilizing the locator label data 326, and associated locator code, both the user 302 and the third-party system 304 may avoid errors associated with postal addresses, subdivided buildings (e.g. building 310 of FIG. 2B), buildings spanning multiple street addresses (e.g. building 204 of FIG. 2A), human error, and time expended to verify and/or correct such errors. In this way, an exact location (associated with the locator code), or the location data 308, may be provided directly to the third-party system 304 for use.
[0044] FIG. 4 illustrates an example architecture of one or more servers associated with a location naming service system according to some implementations. The servers, which host the location naming service system 402 collectively comprise processing resources, as represented by processors 404, and computer-readable storage media 408. The computer-readable storage media 408 may include volatile and nonvolatile memory, removable and non-removable media implemented in any method or technology for storage of information, such as computer-readable instruction(s), data structures, program modules, or other data. Such memory includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, RAID storage systems, or any other medium which can be used to store the desired information and which can be accessed by a computing device.
[0045] The servers may also include one or more communication interfaces 406, which may support both wired and wireless connection to various networks, such as cellular networks, radio (e.g., radio-frequency identification (RFID)), WiFi networks, short-range or near-field networks (e.g., Bluetooth®), infrared signals, local area networks, wide area networks, the Internet, and so forth. For example, the communication interfaces 46 may allow the location naming service system 402 to receive transaction data, user communications, and/or offer data from user devices and third party systems. In some cases, a co-located management system may act as a proxy or additional tier for a cloud-based management system.
[0046] Several modules such as instruction(s), data stores, and so forth may be stored within the computer-readable storage media 408 and configured to execute on the processors 404. For example, a location characteristic determining instruction(s) 410, a locator code generation instruction(s) 412, a locator phrase association instruction(s) 414, a locator code determining instruction(s) 416, a geohash determining instruction(s) 418, a location determining instruction(s) 418, and a location returning instruction(s) 420. In some implementations, the computer-readable media 408 may store data, such as location characteristic data 422 (e.g., latitude/longitude, size, landmass, population density, GPS coordinates, and/or other data associated with each region and/or geohash), geohash data 424 (e.g., hash codes or tags assigned to regions and/or location characteristics), and locator code data 426, as well as other data.
[0047] The location characteristic determining instruction(s) 410 may be configured to receive location data from one or more devices, such as a user device. The location data may user input data, input via a user interface, usable to determine a desired location or position relative to the Earth. For example, location data may include an address, coordinates, regions, or locations selected by the user via a user interface map displayed on the device and/or names of locations (e.g., buildings, landmarks, cities, countries, etc.) entered by the user via a text input, among other data representative of a location. In some cases, the location data may be representative of a current location or of a desired location (e.g., a location for a service, such as a package delivery, navigation location, etc.).
[0048] Once the location data is received, the location characteristic determining instruction(s) 120 may cause the cloud-based location naming system 420 to determine one or more location characteristics associated with the location data. For example, if the location data includes a user input indicating a work address, the location determining instruction(s) may analyze the location data to determine an office building location, a street location, and/or a subunit associated with the location data. As an example, if the location data included user input specifying an address“1234 Cherry Lane, Apt. 567, Austin, Texas 78738,” the location determining instruction(s) may analyze the address and determine a building location (e.g. 1234), a street location (e.g. Cherry Lane), and/or a subunit location (e.g. Apt. 567. In some examples, the location characteristic determining instruction(s) 410 may be configured to access the location characteristic data 422 and the one or more location characteristics may be determined via a stored mapping or table between the location data and the location characteristic data 422.
[0049] In some embodiments, once the one or more location characteristics are determined, the location characteristic determining instruction(s) 410 may also cause the cloud-based location naming system 402 to determine one or more location indicators, such as geohash codes, longitude/latitude coordinates, etc. associated with the one or more location characteristics. For example, one or more geohash codes may be determined for each of the determined building location, street location, and/or subunit location. In some cases, the location characteristic determining instruction(s) 410 may be configured to access third party data stores and systems (not shown) in order to determine the location characteristics and/or corresponding geohash codes. In other examples, the location characteristic determining instruction(s) 410 may be configured to access the geohash data 424 and the one or more geohash codes may be determined via a stored mapping or table between the one or more location characteristics and the geohash data 424.
[0050] In some examples, the locator code generation instruction(s) 412 are configured to translate the location indicators, such as the one or more geohash codes, into a locator code. For example, the locator code generation instruction(s) 412, may be configured to apply a hash function, or other code generator program, to each determined geohash code associated with the one or more location characteristics (and thus the location data 140) to generate a machine-readable set of characters. The resulting locator code may include one or more code portions representing each geohash code corresponding to a location characteristic of the location data.
[0051] In some embodiments, the locator phrase association instruction(s) 414 may be configured to receive locator label data from the user device(s) and associate the locator label data with the locator code. The locator label data may include a user designated label to associate with the location data 140. In some examples, the user may wish to associate more than one location of the location data 140 with the locator label data. For instance, the user may wish to associate a second address such as an additional home address, a work address, a vacation home, and so on. The determined locator code(s) may then be stored in the locator code data 426 for later access in determining locations associated with the locator code(s) received by the cloud-based location naming service system 402.
[0052] In some examples, the locator code determining instruction(s) 416 may be configured to receive the locator label data from a user and/or third-party site. The locator code determining instruction(s) 416 may be configured to analyze the locator label data to determine the locator code associated with the locator label data. For example, the locator code determining instruction(s) 416 may be configured to access the locator code data 416 and the locator code may be determined via a stored mapping or table between the locator code and the locator label data stored in the locator code data 426. In addition, the locator code determining instruction(s) 416 may be configured to determine one or more code portions associated with the locator code. For example, the locator code may include one or more code portions representing a hashed code corresponding to geohash codes.
[0053] In some embodiments, the location determining instruction(s) 418 may be configured to analyze the one or more code portions and determine the associated one or more location indicators, such as one or more geohash codes, latitude/longitude coordinate, etc. For example, as described herein, the one or more code portions of the locator code may represent one or more geohash codes, associated with the location data 308, that have been hashed by the location naming service system 402. In some examples, the location determining instruction(s) 418 may be configured to access the geohash data 424 and the one or more geohash codes may be determined via a stored mapping or table between the locator code and the one or more geohash codes stored in the geohash data.
[0054] In additional embodiments, the location determining instruction(s) 418 may further be configured to analyze the one or more location indicators, such as the one or more geohash codes, to determine one or more location characteristics associated with the geohash codes and determine the location data for transmission to the user and/third- party site. For example, the location determining instruction(s) may be configured to access the location characteristics data 422 and the one or more location characteristics may be determined via a mapping or table between the one or more geohash codes and the one or more location characteristics. For example, the one or more location characteristics may include a building location, a street location, and a subunit corresponding to one or more geohash codes. In some examples, an association may have been made between the one or more location characteristics and the one or more geohash codes and may be used to determine the location data 308 associated with the received locator label data.
[0055] In some examples, once the location data is determined, the location returning instruction(s) 420 may be configured to transmit the location data, along with the locator code, to the third-party site via the communication interface(s) 406. The third-party site may utilize the location data and/or locator code to fulfill a service, route a navigation element, etc. to the desired location.
[0056] While the examples above are described with respect to a single location, one or more locations may be utilized. For example, in some instances, as described above, the user may wish to associate more than one location data with the locator label data. In such examples, more than one locator code may be associated with the locator label data. As a result, the location determining instruction(s) 418 may determine one or more location data for transmission to the user and/or third party-site. For example, the user may wish to associate more than one location so that, when the location is ready to be utilized, the user may choose which location data to use. For example, if the user is highly mobile, the user may wish to place an order, schedule a service, etc. but may not be in a position to specify a location for fulfilment. In this way, the user may initiate the service and, when the service is ready for fulfilment, the user may input their locator label data, receive the one or more associated location data, and choose which location to utilize.
[0057] FIG. 5 illustrates example components of one or more user devices hosting a client side application associated with the location naming system according to some implementations. FIG. 5 illustrates example components of one or more user devices 500 hosting a client side application, or location naming service application 512, associated with a location naming service system according to some implementations. The device 500 may host or implement the location naming service application 512 that allows the user to interact with the location naming service system described in various embodiments herein. The device 500 may include one or more processors 502, and computer-readable storage media 504 as well as communication interface(s) 506, sensor(s) 508, and input/output interface(s) 510.
[0058] The communication interfaces 506 may support both wired and wireless connection to various networks, such as cellular networks, radio (e.g., radio-frequency identification (RFID)), WiFi networks, short-range or near-field networks (e.g., Bluetooth®), infrared signals, local area networks, wide area networks, the Internet, and so forth. For example, the communication interfaces 506 may allow the device 500 to send and receive data associated with location data, locator label data, etc.
[0059] The sensors 508 may be used to monitor position and movement of the user device 500. For example, the sensors may include motion sensors (e.g., gyroscopes and accelerometers) and/or position sensors (e.g., Global Position System (GPS) or other satellite receivers based location tracking systems). In some case, the sensors 508 may include systems for tracking movement based on wireless signals, such as the nearest cellular tower or currently connected tower.
[0060] The input/output interfaces 510 may include one or more output components, such as a display or touch screen, and one or more input components, such as keyboards, keypads, joysticks, a mouse, a touch screen, touch pad, drawing pad, or control buttons. In some implementations, the output components and input components are combined in a single interface to provide a touch-sensitive display, or touch screen display. For instance, in the illustrated example, the input/output interfaces 510 include one or more displays for presenting information, such as electronic content items, to a user, one or more input sensors for accepting input resulting from contact and/or application of incident force, such as a user finger or stylus pressing upon one of the sensors.
[0061] The computer-readable storage media 504 may include volatile and nonvolatile memory, removable and non-removable media implemented in any method or technology for storage of information, such as computer-readable instruction(s), data structures, program modules, or other data. Such memory includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, RAID storage systems, or any other medium which can be used to store the desired information and which can be accessed by a computing device.
[0062] Several modules such as instruction, data stores, and so forth may be stored within the computer-readable storage media 504 and configured to execute on the processors 502. For example, the computer-readable media 504 may store the location naming service application 512 that includes geohash determining instruction(s) 514, locator code generation instruction(s) 516, locator phrase association instruction(s) 518, and location selection instruction(s) 520. In some cases, location naming service application 512 may also store local location characteristic data 522, geohash data 524, and/or locator code data 526.
[0063] In some examples, the location characteristic determining instruction(s) 514 may be configured to receive user input data including location data via a user interface, such as input/output interface(s) 510. For example, the user interface may include an interactive map with one or more selectable elements and/or a text entry element. The user interface may allow a user to input location data may include an address, coordinates, regions, or locations. The input may include a selection of the one or more elements by the user via the user interface map designating one or more locations. The user input data may further include text input including names of locations (e.g., buildings, landmarks, cities, countries, etc.) entered by the user via a text input. The user input may further include any data representative of a location.
[0064] Once the location data is received, the location characteristic determining instruction(s) 514 may cause the location naming service application 512 to determine one or more location characteristics associated with the location data. For example, if the location data includes a user input indicating a home address, the location determining instruction(s) may analyze the location data to determine a residential building location, a street location, and/or a subunit associated with the location data. In some examples, the location characteristic determining instruction(s) 514 may be configured to access the location characteristic data 522 and the one or more location characteristics may be determined via a stored mapping or table between the location data and the location characteristic data 522.
[0065] In some embodiments, once the one or more location characteristics are determined, the location characteristic determining instruction(s) 514 may also cause the location naming service application 512 to determine one or more location indicators, such as geohash codes (or other location information such as latitude/longitude coordinates, geohashes, geohash phrases, plus code(s) (of Open Location Code(s)), pbKey™, Google® Place IDs, etc.) associated with the one or more location characteristics. For example, one or more geohash codes may be determined for each of the determined building location, street location, and/or subunit location. In some cases, the location characteristic determining instruction(s) 514 may be configured to access third party data stores and systems (not shown) in order to determine the location characteristics and/or corresponding geohash codes. In other examples, the location characteristic determining instruction(s) 514 may be configured to access the geohash data 524 and the one or more geohash codes may be determined via a stored mapping or table between the one or more location characteristics and the geohash data 524.
[0066] In some examples, the locator code generation instruction(s) 516 are configured to translate the one or more geohash codes into a locator code. For example, the locator code generation instruction(s) 516, may be configured to apply a hash function to each determined geohash code associated with the one or more location characteristics (and thus the location data) to generate a machine-readable set of characters. The resulting locator code may include one or more code portions representing each geohash code corresponding to a location characteristic of the location data.
[0067] In some embodiments, the locator phrase association instruction(s) 518 may be configured to receive locator label data via the user interface (e.g. input/output interface(s) 510) and associate the locator label data with the locator code. The locator label data may include a user designated label including one or more text characters. In some examples, the user may wish to associate more than one location of the location data with the locator label data. For instance, the user may wish to associate a second address such as an additional home address, a work address, a vacation home, and so on. The determined locator code(s) may then be stored in the locator code data 526 for later access in determining locations associated with the locator code(s).
[0068] In further embodiments, the location selection instruction(s) 520 may be configured to select a locator code, associated with location data, from among the one or more location data inputs provided by the user, to return to an additional user or a system. For example, as described above, the user may indicate more than one location to associate with the locator label. In such examples, the location selection instruction(s) 520 may be configured to select a locator code based on one more or configuration settings and/or to provide a user interface, via the input/output interface(s) 510 to allow the user to select from among the one or more locator codes (and associated locations).
[0069] For example, the user may place an order for a product through the third- party system and input the customized locator label. When the product is ready to ship, the user or the location selection instruction(s) 520 may be configured to select a delivery location. For example, if the shipping is delayed or the user has an unexpected trip, the user may login to the location naming service application 512 and change the delivery location at a time after placing the order. In this example, the location selection instruction(s) 520 may be configured to transmit, via the communication interface(s) 506, the updated delivery information (e.g., the location information and/or locator code associated with the selected delivery location) to the third-party system.
[0070] In another example, when the product is ready for shipment, or at the request of the additional user, the location selection instruction(s) 520 may be configured to transmit a notification to the user, via the input/output interface(s) 510, to allow the user to select the desired delivery location from amongst the location data associated with the locator label. In still further examples, the user may associate a GPS sensor, from the sensor(s) 508, with the locator label, and the location selection instruction(s) 520 may be configured to select the location data based on GPS information known about the user at the time a delivery request is received from the third-party system. For example, when the service is ready to be fulfilled (e.g., the package is ready for delivery), the location naming service may ping the GPS to determine the location of the device, and thus the user, to fulfill the service and provide this information to the third-party system.
[0071] FIG. 6 is an example flow diagram showing an illustrative process for generating a locator code according to some implementations. As described above, a user may provide location data (or a plurality of location data) to a location naming service system, along with a locator label, and a locator code may be generated corresponding to the location data. As a result, the user may utilize the locator label when interacting with third-party services requiring location information.
[0072] At 602, the system may receive user input data including location information and a locator label. For example, the user input data may include text characters and/or a user selection indicating one or more locations. The user input data may further include a locator label, including one or more text characters, that the user wishes to associate with the one or more locations.
[0073] At 604, the system may analyze the location information to determine one or more location characteristics. For example, the system may analyze the location information to determine one or more location characteristics including a building location, a street number, a subunit, etc. The one or more location characteristics may be determined by accessing a third-party database, parsing the text of the input data, and/or analyzing the user selection(s).
[0074] At 606, the system may generate a locator code associated with the location characteristics. For example, the system may determine one or more geohash codes associated with the one or more location characteristics. For instance, the system may access a geohash database that maps the one or more location characteristics to one or more geohash codes. Each of the one or more location characteristics may be associated with an individual geohash code. For example, there may be a geohash code determined for each of the building location, the street number, and the subunit associated with the location data. In other examples, the system may determine latitude/longitude coordinates, or other location information, associated with the location characteristics. Then, the system may apply a hash function, or other code generating function/program, to the one or more geohash codes, latitude/longitude coordinates, location information, etc. to generate a locator code. For example, the system may apply a hash function to each of the one or more geohash codes and compile each hash function into the locator code. Thus, in some examples, the locator code may include multiple code portions corresponding to each geohash that has been hash. [0075] At 608, the system may associate the locator code with at least one of the locator label or a geohash phrase. For example, the system may associate the generated locator code with the user-designed locator label. In addition to, or alternatively, the system may generate a geohash phrase to associated with the locator code.
[0076] FIG. 7 is an example flow diagram showing an illustrative process for determining location information associated with a locator code according to some implementations. For example, as described above, the location naming service system may receive a locator label and may utilize the locator label to determine one or more locations associated with the locator label.
[0077] At 702, a user may enter a locator label while interacting with a third-party system. For example, the user may enter the locator label in lieu of a physical address, or other location information, while placing an order, initiating navigation, etc.
[0078] At 704, the system may receive a locator label. For example, the third-party system may receive the locator label data from a device associated with a user. For instance, the user may provide the locator label through a user interface associated with the location naming service system application, a web application associated with the third-party system, etc.
[0079] At 706, the third-party system may provide the locator label and/or user identification data to the location naming service system. For example, the third-party system may transmit, via one or more communication interfaces, the locator label provided by the user and/or user identification data to the location naming service system. In some examples, the user identification may include profile information, user preferences, configuration settings, a current location, etc. For example, the user identification data may include user preferences indicating a location the user often selects for deliveries. [0080] At 708, the location naming services system receives the locator label and/or user identification data. For example, the location naming services system may receive the locator label and/or user identification data via one or more communication interfaces.
[0081] At 710, the location naming service system may identify a locator code associated with the locator label including one or more code portions. For example, the system may access data mapping the locator label data and/or user identification data with one or more locator codes. In some examples, the system may determine that the locator code includes one or more distinct code portions.
[0082] At 712, the location naming service system may analyze the locator code to determine a location associated with the locator label. For example, the system may analyze each code portion of the one or more code portions to determine one or more location identifiers, such as geohash codes, latitude/longitude coordinates, etc. associated with the locator code. For example, the system may access data that maps the one or more code portions to one or more geohash codes. For example, the one or more code portions may correspond to one or more geohash codes that have been hashed. An association between the one or more code portions and the geohash code may be stored in the data and accessed by the system to determine the geohash code(s). Next, in some examples, the system may identify a location based at least in part on the one or more location identifiers. For example, the system may utilize the one or more geohash codes to identify one or more corresponding location characteristics. The one or more location characteristics may be utilized to identify the one or more locations corresponding to the locator code. For example, the system may access data including a mapping or table associating the determined geohash code(s) and the one or more location characteristics. In addition, if more than one location is determined, the location naming service system may present the user with the one or more determined locations and may allow the user to input a selection to indicate a desired location of the determined locations.
[0083] At 714, the location naming service system may return the determined location and/or locator code to the third-party system. For example, the system may transmit/retum the location to the third-party system via one or more communication interfaces and the third-party system may utilize the location to fulfill a service, schedule a delivery, initiating navigation to the location, etc.
[0084] At 716, the third-party system may receive the location and/or locator code. For example, the third-party system may receive, via one or more communication interfaces, the location and/or locator code.
[0085] FIG. 8 is another example flow diagram showing an illustrative process for determining location information associated with a locator code according to some implementations. For example, as described above, the location naming service system may receive a locator label and may utilize the locator label to determine one or more locations associated with the locator label.
[0086] At 802, the third-party system may receive a locator label. For example, a user may enter the locator label in lieu of a physical address, or other location information, while placing interacting with the third-party system, delivery system, or location naming service system.
[0087] At 804, the third-party system may provide the locator label and/or user identification data to the location naming service system. For example, the third-party system may transmit, via one or more communication interfaces, the locator label provided by the user and/or user identification data to the location naming service system. In some examples, the user identification may include profile information, user preferences, configuration settings, a current location, etc.
[0088] At 806, the location naming service system receives the locator label and/or user identification data. For example, the location naming services system may receive the locator label and/or user identification data via one or more communication interfaces.
[0089] At 808, the location naming service system may identify a locator code associated with the locator label. For example, the system may access data mapping the locator label data and/or user identification data with one or more locator codes. In some examples, the system may determine that the locator code includes one or more distinct code portions.
[0090] At 810, the location naming service system may analyze the locator code to determine a location associated with the locator label. For example, the location naming service system may analyze each code portion of the one or more code portions to determine one or more location identifiers, such as geohash codes, latitude/longitude coordinates, etc. associated with the locator code. For example, the location naming service system may access data that maps the one or more code portions to one or more geohash codes. For example, the one or more code portions may correspond to one or more geohash codes that have been hashed. An association between the one or more code portions and the geohash code may be stored in the data and accessed by the location naming service system to determine the geohash code(s). Then, in some examples, the location naming service system may identify a location based at least in part on the one or more location identifiers. For example, the location naming service system may utilize the one or more geohash codes to identify one or more corresponding location characteristics. The one or more location characteristics may be utilized to identify the one or more locations corresponding to the locator code. For example, the location naming service system may access data including a mapping or table associating the determined geohash code(s) and the one or more location characteristics. In addition, if more than one location is determined, the location naming service system may present the user with the one or more determined locations and may allow the user to input a selection to indicate a desired location of the determined locations.
[0091] At 812, the location naming service system may return the determined location and/or locator code to a delivery/navigation system. For example, the location naming service system may transmit/return the location to a delivery system or navigation system associated with the third-party system. The delivery or navigation system may utilize the location to fulfill a service, schedule a delivery, initiating navigation to the location, etc.
[0092] At 814, the delivery/navigation system may receive the location and/or locator code. For example, the delivery/navigation system may receive, via one or more communication interfaces, the location and/or locator code.
[0093] Although the subject matter has been described in language specific to structural features, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features described. Rather, the specific features are disclosed as illustrative forms of implementing the claims.

Claims

CLAIMS WHAT IS CLAIMED IS :
1. A system comprising:
one or more communication interfaces;
one or more processors;
non-transitory computer-readable media storing computer-executable instructions, which when executed by the one or more processors cause the one or more processors to:
present a user interface configured to receive user input data;
receiver the user input data, the user input data including a first location, a second location, and a locator label;
analyze the first location to determine a first location characteristic associated with the first location;
analyze the second location to determine a second location characteristic associated with the second location;
generate a first locator code associated with the first location characteristic; generate a second locator code associated with the second location characteristic; and
associate the first locator code and the second locator code with the locator label.
2. The system of claim 1, wherein generating the first locator code and the second locator code comprises:
determine a first location indicator corresponding to the first location characteristic; determine a second location indicator corresponding to the second location characteristic; and
apply a hash function to the first location indicator to generate the first locator code; and
apply the hash function to the second location indicator to generate the second locator code.
3. The system of claim 1, wherein the first locator code and the second locator code each include one or more code portions, and wherein each code portion of the one or more code portions is associated with a location characteristic.
4. The system of claim 1, wherein the each of first location characteristic and the second location characteristic includes a building location and at least one of a street location or a subunit location.
5. The system of claim 1, wherein the non-transitory computer-readable media stores additional computer-executable instructions, which when executed by the one or more processors cause the one or more processors to:
receive the locator label via the communication interface;
identify the first locator code and the second locator code associated with the locator label, each of the first locator code and the second locator code including one or more code portions; and
analyze each code portion of the one or more code portions to determine a first location associated with the first locator code and a second location associated with the second locator code.
6. The system of claim 5, wherein analyzing each code portion of the one or more code portions to determine the first location and the second location comprises: analyze the first locator code to determine the first location characteristic, wherein the first location characteristic corresponds to a first location indicator;
analyze the second locator code to determine the second location characteristic, wherein the second location characteristic corresponds to a second location indicator; identify the first location based at least in part on the first location indicator; and identify the second location based at least in part on the second location indicator.
7. The system of claim 5, wherein the non-transitory computer-readable media stores additional computer-executable instructions, which when executed by the one or more processors cause the one or more processors to:
present an additional user interface configured to receive additional user input data, the additional user input data associated with a selection of at least one location of the first location or the second location; and
transmit the selection to a device.
8. A method comprising:
receiving user input data, the user input data including a first location, a second location and a locator label;
analyzing the first location to determine a first location characteristic;
analyzing the second location to determine a second location characteristic; generating a first locator code associated with the first location characteristic; generating a second locator code associated with the second location characteristic; and
associating the first locator code and the second locator code with the locator label.
9. The method of claim 8, wherein generating the first locator code and the second locator code comprises:
determining a first geohash codes associated with the first location characteristic;
determining a second geohash codes associated with the second location characteristic;
applying a hash function to the first geohash code to generate the first locator code ; and
applying the hash function to the second geohash code to generate the second locator code.
10. The method of claim 8, wherein the user input data is received via a user interface, the user interface including at least one of a text entry field or an interactive map, the interactive map including a one or more selectable elements associated with the first location and the second location.
11. The method of claim 8, further comprising:
receiving additional user input, the additional user input including a selection of a user device and an additional locator label, the user device including a global positioning system (GPS); and
associating the selection with the additional locator label.
12. A method comprising:
receiving a locator label, the locator label including at least one text character; identifying a first locator code and a second locator code associated with the locator label, each locator code of the first locator code and the second locator code including one or more code portions;
analyzing each code portion of the one or more code portions to determine a first location indicator and a second location indicator;
identifying a first location based at least in part on first location indicator; identifying a second location based at least in part on the second location indicator; and
transmitting the first location and the second location to a device.
13. The method of claim 12, wherein the each of the first location indicator and the second location indicator includes at least one of a geohash code or a latitude/longitude coordinate.
14. The method of claim 13, further comprising:
receiving a request from the device for a selection of at least one the first location or the second location;
presenting a user interface to a user device associated with the locator label, the user interface including one or more selectable elements associated with the first location and the second location;
receiving a user input indicating a selection associated with the one or more selectable elements; and transmitting the selection to the device.
15. The method of claim 13, further comprising:
receiving an additional locator label;
identifying a GPS of a user device associated with the locator label;
transmitting a location query to the GPS, the location query configured to request a location of the user device;
receiving a response to the location query, the response including a location of the user device; and
transmitting the location to the device.
PCT/US2019/020211 2018-03-15 2019-03-01 System for location naming service WO2019177786A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201862643450P 2018-03-15 2018-03-15
US62/643,450 2018-03-15

Publications (1)

Publication Number Publication Date
WO2019177786A1 true WO2019177786A1 (en) 2019-09-19

Family

ID=65763886

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2019/020211 WO2019177786A1 (en) 2018-03-15 2019-03-01 System for location naming service

Country Status (1)

Country Link
WO (1) WO2019177786A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112732750A (en) * 2021-04-06 2021-04-30 北京数智鑫正科技有限公司 Geohash-based mobile terminal location data processing method and system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1160694A2 (en) * 2000-06-02 2001-12-05 Navigation Technologies Corporation Method and system for forming a keyword database for referencing physical locations
US20040139049A1 (en) * 1996-08-22 2004-07-15 Wgrs Licensing Company, Llc Unified geographic database and method of creating, maintaining and using the same
EP2261605A2 (en) * 2000-02-16 2010-12-15 TeleNav, Inc. Method and system for labelling a user's present location in a navigation system
US20160283515A1 (en) * 2015-03-26 2016-09-29 International Business Machines Corporation Enhanced conversion between geohash codes and corresponding longitude/latitude coordinates

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040139049A1 (en) * 1996-08-22 2004-07-15 Wgrs Licensing Company, Llc Unified geographic database and method of creating, maintaining and using the same
EP2261605A2 (en) * 2000-02-16 2010-12-15 TeleNav, Inc. Method and system for labelling a user's present location in a navigation system
EP1160694A2 (en) * 2000-06-02 2001-12-05 Navigation Technologies Corporation Method and system for forming a keyword database for referencing physical locations
US20160283515A1 (en) * 2015-03-26 2016-09-29 International Business Machines Corporation Enhanced conversion between geohash codes and corresponding longitude/latitude coordinates

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112732750A (en) * 2021-04-06 2021-04-30 北京数智鑫正科技有限公司 Geohash-based mobile terminal location data processing method and system
CN112732750B (en) * 2021-04-06 2021-06-22 北京数智鑫正科技有限公司 Geohash-based mobile terminal location data processing method and system

Similar Documents

Publication Publication Date Title
US10170084B2 (en) Graphical representation generation for multiple points of interest
US9672240B2 (en) Apparatus and method to update geographic database
WO2014055363A1 (en) Method and system for providing location services
US20150205879A1 (en) Information processing apparatus, browsing history classification method, and browsing history classification program
RU2680093C2 (en) Location error radius determination
KR102128320B1 (en) System and method for providing circumference search result
CN111709856A (en) House source information processing method and device and electronic equipment
US8744410B2 (en) Communication of position data via text message
JP5697704B2 (en) Search server, search method, and search program
US20140180577A1 (en) Method and system for navigation and electronic device thereof
WO2019177786A1 (en) System for location naming service
Mahali et al. Smart traffic light based on IoT and mBaaS using high priority vehicles method
US20210396543A1 (en) Information processing apparatus, information processing method, and program
JP5998182B2 (en) POI data generation device, terminal device, POI data generation method and program
Nikander et al. Indoor and outdoor mobile navigation by using a combination of floor plans and street maps
JPWO2009011035A1 (en) Stop location candidate information registration device, stop location candidate information registration method, stop location candidate information registration program, and storage medium
WO2019177785A1 (en) System for location naming service
KR20200046515A (en) Pedestirian navigation guide system for providing contents service capable of supporting multinational language
US8874141B2 (en) Provision of information
US20220136836A1 (en) System and method for indoor navigation
KR20190015313A (en) Integration of location into e-mail system
JP2018081391A (en) Information processing system, information processing apparatus, information processing method, and information processing program
CN112559876A (en) Method, device and equipment for displaying map search result and storage medium
JP6404682B2 (en) Area information providing apparatus, area information providing method, and program
CN111343564A (en) Method and device for determining category of wireless network, electronic equipment and storage medium

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19710954

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19710954

Country of ref document: EP

Kind code of ref document: A1