EP3028105B1 - Inferring a current location based on a user location history - Google Patents
Inferring a current location based on a user location history Download PDFInfo
- Publication number
- EP3028105B1 EP3028105B1 EP14748356.4A EP14748356A EP3028105B1 EP 3028105 B1 EP3028105 B1 EP 3028105B1 EP 14748356 A EP14748356 A EP 14748356A EP 3028105 B1 EP3028105 B1 EP 3028105B1
- Authority
- EP
- European Patent Office
- Prior art keywords
- location
- entry
- client device
- user
- computing devices
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
- 238000000034 method Methods 0.000 claims description 47
- 238000004891 communication Methods 0.000 claims description 6
- 238000004458 analytical method Methods 0.000 description 9
- 238000013507 mapping Methods 0.000 description 8
- 230000008901 benefit Effects 0.000 description 5
- 238000001914 filtration Methods 0.000 description 4
- 230000003993 interaction Effects 0.000 description 3
- 230000001737 promoting effect Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008094 contradictory effect Effects 0.000 description 1
- 235000014510 cooky Nutrition 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 239000000047 product Substances 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
- H04W4/029—Location-based management or tracking services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/52—Network services specially adapted for the location of the user terminal
Definitions
- the present disclosure relates generally to providing location-enhanced services.
- the present disclosure relates to systems and methods for inferring a current location of a user or device based on an analysis of a user location history.
- Location-enhanced services are increasingly common online tools used by many people on a daily basis.
- location-enhanced services use knowledge of a user's location to provide an online service in a more accurate or useful manner.
- a search engine can use knowledge of a user's location to tailor search results to reflect the most accurate or useful information for such location.
- a mapping application or geographic information system can provide a superior map in response to a point of interest search or a request for directions. Therefore, knowledge of a user's location is increasingly a key factor used to provide a superior online experience across a broad range of services or tools.
- IP internet protocol
- mobile computing such as, for example, a smartphone
- existing systems and methods for determining a user location are much less suitable.
- users of mobile computing devices have high expectations regarding the ability of the computing device and its corresponding communication system to geolocate.
- smartphones consistently employ their devices to act as navigational devices or to provide real-time, location-enhanced search results when hunting for a local point of interest, such as a restaurant, hotel, or other meeting place.
- Some methods of geolocation for mobile computing devices are relatively precise. For example, successful use of the global positioning system or a Wi-Fi positioning system can result in a precise location for the mobile computing device. Unfortunately, such positioning systems are simply not available or operational for a large amount of time or locations. Further, geolocation by analysis of IP address is generally not as informative for mobile device carrier IPs. In addition, requiring the user to manually correct the query by appending the desired location is slow, cumbersome, and undesirable for the user.
- US2012/0009904 discloses systems, methods and computer program products for determining a location of a tracked device, particularly following a device or network failure
- US 2011/161485 discloses a method for monitoring multiple dynamic media streams playing concurrently on a client computer system.
- US 2010/287178 discloses a method for determining a user's device location based on the history of said user's previous locations.
- US 2012/184287 discloses a method of determining a device's location based on the history of said device's previous locations and the history of multiple other devices' previous locations.
- the present disclosure is directed to systems and methods for inferring a current location of a user or device based on an analysis of a user location history.
- a plurality of historical locations provided by the user location history can be scored according to a variety of parameters. The historical location receiving the highest score can be inferred to be the current location of the user.
- a user location history can be generated and maintained for the user.
- the user location history can be defined by a user account associated with the user and can store one or more entries for each instance in which a device that is signed into or otherwise associated with such user account performs an online interaction or reports its location. Each entry can describe a location and time and can provide a device identifier corresponding to the particular device used at such location and time.
- the user in order to obtain the benefits of the techniques described herein, the user may be required to allow the collection and analysis of personal information, such as location information or device identity information. Therefore, in some embodiments, users may be provided with an opportunity to control whether programs or features collect such information. If the user does not allow collection and use of such information, then the user may not receive the benefits of the techniques described herein. In some embodiments, the user can also be provided with tools to revoke or modify consent. In addition, certain information or data can be treated in one or more ways before it is stored or used, so that personally identifiable information is removed.
- a current location of such device can be determined with sufficient precision. For example, a number of various geolocation techniques can be performed. Alternatively, if a location has been freshly determined for such device ( e.g . within the last 5 minutes), then such freshly determined location can be used. However, if the precise location of the device cannot be determined and a fresh location is not available, then the user location history can be analyzed to assist in inferring the current location of such device.
- a plurality of entries can be obtained from the user location history. For example, the most recent entry for each unique device identifier can be obtained. As another example, a particular number of the most recent entries regardless of device identifier can be obtained. As yet another example, a mix of entries can be obtained that includes the most recent entries in addition to at least one entry per unique device identifier.
- Each of the obtained entries can be scored according to a scoring formula.
- the scoring formula can provide a score to the entry based at least in part on its age, a location consistency, and a device co-location factor. Other parameters or components can be included as well.
- the location consistency can compare the location provided by the entry being scored to a coarse location obtained by, for example, geolocating an IP address from which the request for the location-enhanced service was received.
- the device co-location factor can provide an indication of how often the two devices have historically been at the same place at the same time. For example, the device co-location factor can compare some or all historical locations and times associated with the device identifier provided by the entry being scored with some or all historical locations and times associated with the device identifier of the device from which the request was received.
- the location provided by the entry that received the highest score can be selected as the current location of the device from which the request was received. Such selected location can then be used to provide the requested location-enhanced service.
- location-enhanced services can be effectively provided even in instances in which a current location of the device is generally unobtainable with sufficient precision according to known techniques.
- FIG. 1 depicts a graphical diagram 100 of a client device 102 requesting and receiving a location-enhanced service from a service provider 104 according to an example embodiment of the present disclosure.
- a location-enhanced service can include any service provided to a client device by host server in which knowledge of the client device's location is used to enhance or adjust one or more aspects of the provided service.
- Example location-enhanced services include, but are not limited to, identifying, filtering, or promoting web search results based on device location; providing location-specific maps or directions; identifying, filtering, or promoting point of interest search results in a mapping application or geographic information system based on device location; identifying, filtering, or promoting content or advertisements based on device location; providing personal assistant functionality by organizing and selecting for presentation information available from a range of data sources based on device location; modifying operations of an arbitrary web-service based on device location; or any other suitable location-enhanced service, including aspects of web-based email, social networking, news or other content aggregation, or other suitable services or products.
- example client device 102 has been used to sign into a user account ("User123").
- a user account can be any account or means of identification that is associated with a user of one or more services.
- Example user accounts include an operating system account; an account used for purchasing and ownership of content from a content distribution platform; a web-based email account; a social media account; a financial services account; a game account; an application-specific account (e.g. a news aggregator account or an internet-radio application account); or any other suitable user account.
- service provider 104 offers several of the services discussed above (e.g . web-based email, social media, gaming, and content distribution) and a single user account can be used to participate in, receive, or otherwise control aspects of each of such services from service provider 104.
- example client device 102 can implement an application module to operate a mapping application.
- the user has entered a point of interest search query of "bike repair.”
- a "Go” icon, or the magnifying glass icon the user can send the search query to service provider 104.
- client device 102 can request a service from service provider 104 (e.g. a point of interest search in a mapping application). Further, the requested service could be enhanced using knowledge of current location of client device 102. In particular, by identifying and presenting point of interest search results in a general vicinity of a current location of the client device 102, the point of interest search service can be improved.
- service provider 104 e.g. a point of interest search in a mapping application
- the entered search query has not provided any information to determine a desired location of the point of interest.
- the current viewpoint provided by the mapping application is significantly broad such that a desired location of the point of interest cannot be inferred from such viewpoint.
- a current location of client device 102 cannot be determined with sufficient precision.
- the request for the location-enhanced service can fail to identify the current location of client device 102 and other geolocation techniques such as GPS or WiFi positioning can be unavailable.
- service provider 104 can analyze a user location history 108 associated with User123 to infer the current location of the client device 102. Service provider 104 can then use such inferred current location in conjunction with service functionality 106 to provide the location-enhanced service to client device 102.
- the location-enhanced service e.g . location-specific point of interest search results
- service provider 104 the location-enhanced service
- FIG. 2 depicts an example system 200 according to an example embodiment of the present disclosure.
- System 200 can include a client-server architecture, where a host server 202 communicates with one or more client devices 204, 206, and 208 over a network 210. Although three client devices 204, 206, and 208 are illustrated in FIG. 2 , any number of client devices can be connected to host server 202 over network 210.
- Client devices 204, 206, and 208 can be, for example, a computing device having a processor 230 and a memory 232, such as a wireless mobile device, a personal digital assistant (PDA), smartphone, tablet, navigation system located in a vehicle, handheld GPS system, laptop computer, desktop computer, computing-enabled watch, computing-enabled eyeglasses, gaming console, embedded computing system, home appliances, or other such devices/systems.
- client device 204 can be any computer, device, or system that can interact with the host server system 202 (sending and receiving data).
- Processor 230 of client device 204 can be any suitable processing device and can be one processor or a plurality of processors that are operably connected.
- Memory 232 can include any number of computer-readable instructions or other stored data.
- memory 232 can include, store, or provide one or more application modules 234.
- application modules 234 can respectively cause or instruct processor 230 to perform operations consistent with the present disclosure, such as, for example, running an application that transmits location data to host server 202 in addition to performing any number of arbitrary operations.
- Application modules 234 can include, for example, a mapping application or a browser application.
- module refers to computer logic utilized to provide desired functionality.
- a module can be implemented in hardware, firmware and/or software controlling a general purpose processor.
- the modules are program code files stored on the storage device, loaded into memory and executed by a processor or can be provided from computer program products, for example, computer executable instructions that are stored in a tangible computer-readable storage medium such as RAM hard disk or optical or magnetic media.
- Client device 204 can further include a positioning system 238.
- Positioning system 238 can determine a current geographic location of client device 204 and communicate such geographic location to host server 202 over network 210.
- the positioning system 238 can be any device or circuitry for analyzing the position of the client device 204.
- the positioning system 238 can determine actual or relative position by using a satellite navigation positioning system (e.g. a GPS system, a Galileo positioning system, the GLObal Navigation satellite system (GLONASS), the BeiDou Satellite Navigation and Positioning system), an inertial navigation system, a dead reckoning system, based on IP address, by using triangulation and/or proximity to cellular towers or WiFi hotspots, and/or other suitable techniques for determining position.
- a satellite navigation positioning system e.g. a GPS system, a Galileo positioning system, the GLObal Navigation satellite system (GLONASS), the BeiDou Satellite Navigation and Positioning system
- GLONASS GLObal Navigation satellite system
- the positioning system 238 can analyze the position of the client device 204 as the user moves around in the world and provides the user location information to the host server 202 over network 210. As will be discussed further later, each of such location updates can be used to build a user location history for a user account associated with client device 204.
- Client device 204 can further include a network interface 240.
- Network interface 240 can include any suitable components for interfacing with one more networks, including for example, transmitters, receivers, ports, controllers, antennas, or other suitable components.
- Host server 202 can be implemented using one or more suitable computing devices and can include a processor 212 and a memory 214. In the instance in which host server 202 is implemented using a plurality of computing devices, such devices can be configured according to a parallel computing architecture, a sequential computing architecture, or a combination of such architectures.
- Processor 212 can be any suitable processing device and can be one processor or a plurality of processors which are operably connected.
- Memory 214 can store instructions 216 that cause processor 212 to perform operations to implement the present disclosure.
- Host server can communicate with client device 204 over network 210 by sending and receiving data.
- Network 210 can be any type of communications network, such as a local area network (e.g., intranet), wide area network (e.g., Internet), or some combination thereof and can include any number of wired or wireless links.
- communication between the host server 202 and a client device 204 can be carried via any type of wired and/or wireless connection, using a wide variety of communication protocols (e.g., TCP/IP, HTTP, SMTP, FTP), encodings or formats (e.g., HTML, XML), and/or protection schemes (e.g., VPN, secure HTTP, SSL).
- client device 204 can freely move throughout the world and communicate with host server 202 is a wireless fashion.
- Host server 202 can be coupled to or in communication with one or more databases, including a database providing an index of user location histories 218, a geographic information system 220, and external content 222.
- databases 218, 220, and 222 are depicted in FIG. 2 as external to host server 202, one or more of such databases can be included in memory 214 of host server 202. Further, databases 218, 220, and 222 can each correspond to a plurality of databases rather than a single data source.
- user location histories database 218 can store or provide a plurality of user location histories respectively associated with a plurality of user accounts.
- each location update can identify the presently active user account and a unique device identifier that corresponds to the device providing the update.
- Each location update can further include a location (e.g . latitude and longitude) and a timestamp identifying the date and time of day.
- location updates can further include an accuracy indicator and/or other identifying information such as an originating IP address.
- the user in order to obtain the benefits of the techniques described herein, the user may be required to allow the collection and analysis of personal information, such as location information or device identity information. Therefore, in some embodiments, users may be provided with an opportunity to control whether programs or features collect such information. If the user does not allow collection and use of such information, then the user may not receive the benefits of the techniques described herein. In some embodiments, the user can also be provided with tools to revoke or modify consent. In addition, certain information or data can be treated in one or more ways before it is stored or used, so that personally identifiable information is removed.
- the device identifiers used in the user location histories can be any suitable means of identifying particular client devices.
- example device identifiers include, but are not limited to, manufacturer serial number; MAC address; a device platform string (e.g . Operating System/Device Manufacturer/Device Model/Operational Parameters); IP address; an ID code provided from device memory; or any other suitable device identifier.
- Additional information can be used to build or supplement a user location history as well.
- a user is logged into a user account and performs a web search or uses one or more applications, such as a mapping application, it is possible that such interaction can result in obtaining the user's location. Therefore, an entry identifying such location can be formed in the associated user location history based on such interaction.
- the user location history for each user account can consist of an encrypted set of location history entries.
- the set of location history entries for each user location history can be sorted by device identifier and other parameters.
- a sub-history can be maintained for each user location history in some implementations.
- the sub-history can provide the single most recent location per each device or device identifier.
- Geographic information system 220 can store or provide geospatial data to be used by host server 202.
- Example geospatial data includes geographic imagery (e.g., digital maps, satellite images, aerial photographs, street-level photographs, synthetic models, etc.), tables, vector data (e.g. vector representations of roads, parcels, buildings, etc.), point of interest data, or other suitable geospatial data.
- Geographic information system 220 can be used by host server 202 to provide navigational directions, perform location-specific point of interest searches, or any other suitable use or task required or beneficial for providing location-enhanced services.
- Computer based system 200 can further include external content 222.
- External content 222 can be any form of external content including news articles, webpages, video files, audio files, written descriptions, ratings, game content, social media content, photographs, commercial offers, or other suitable external content.
- Host server system 202 and client device 204 can access external content 222 over network 210.
- External content 222 can be searched by host server 202 according to known searching methods and can be ranked according to relevance, popularity, or other suitable attributes, including location-specific filtering or promotion.
- FIGS. 3A and 3B depict a flowchart of an example method (300) for inferring a current location of a client device based on an analysis of a user location history according to an example embodiment of the present disclosure.
- method (300) can be implemented using any suitable computing system.
- FIGS. 3A and 3B depict steps performed in a particular order for purposes of illustration and discussion, methods of the present disclosure are not limited to such particular order or arrangement. Various steps of the method (300) can be omitted, rearranged, combined, and/or adapted in various ways without deviating from the scope of the present disclosure.
- a request for a service can be received from a client device.
- host server can receive a request from client device 204 to provide point of interest search results in a mapping application.
- a desired location to search for points of interest may be ambiguous.
- positioning system 238 of client device 204 can operate to provide geolocation of client device 204 according to any known techniques, such as GPS. However, in some instances such geolocation techniques may not be available or otherwise fail to identify a particular location with sufficient precision.
- the request received at (302) can include or otherwise be associated with an originating IP address. Geolocation based on such IP address can often be used to provide a general location for the client device. In addition, a confidence percentage can be obtained or computed.
- method (300) can proceed to (306) and perform the requested location-enhanced service based on such determined current location of the client device.
- host server 202 can utilize geographic information system 220 to provide location-specific point of interest search results.
- the method (300) can proceed to (308).
- session cookies or other indicators can be analyzed to determine and identify a presently active user account.
- the service can be provided without location-enhancements.
- host server 202 might provide location-agnostic search results or might request a further narrowing of the target search location.
- method (300) can proceed at (312).
- host server 202 can analyze a user location history associated with the user account identified at (308) to obtain and analyze the most recent location entry associated with such client device (e.g. the most recent entry providing the device identifier associated with the client device from which the request was received at (302)).
- the most recent entry for the client device will be considered fresh if it is within a threshold time from the current time.
- other indicators of suitability can be analyzed in addition or alternatively to age, such as a confidence score or other metrics, including a comparison to a coarse location provided by IP geolocation.
- the location-enhanced service can be provided based on the location denoted by such fresh location entry.
- a smartphone is signed into a user account.
- a web search is performed on the smartphone at 2:04 PM, but a GPS update cannot be received. If the last location update for the smartphone stored in the user location history is in Palo Alto, CA at 2:00 PM, then such entry can be considered as fresh and the Palo Alto, CA location can be used to provide location-enhanced web search results.
- method (300) can proceed to (316) of FIG. 3B .
- a plurality of entries included in the user location history can be obtained. For example, the most recent entry for each unique device identifier can be obtained. As another example, a particular number of the most recent entries regardless of device identifier can be obtained. As yet another example, a mix of entries can be obtained that includes the most recent entries in addition to at least one entry per unique device identifier.
- Host server 202 can obtain or otherwise access the appropriate location entries from the user location history stored in database 218.
- each of the entries obtained at (316) can be scored according to a scoring formula.
- the scoring formula can score each entry on a number of criteria or parameters to provide a general indication of whether it is reasonable to use the location provided by the scored entry as the current location of the client device. In other words, for example, an entry that receives a higher score is more likely to provide a location that accurately corresponds to the current location of the client device.
- the scoring formula used at (318) can provide a score to an entry based at least in part on such entry's age.
- a more recent location entry is more likely to accurately reflect the current location of the client device while an older location entry is less likely to accurately reflect the current location of the client device.
- an age component of the scoring formula can decay over time. For example, a location entry that is over five days old should be scored very low as it is likely stale.
- the age component of the scoring formula does not operate in units of time but rather analyzes a position of the entry being scored within the user location history. For example, if a device identifier has four associated historical location entries, the entry in the fourth position (e.g . oldest) would receive a lower score than the entry in the first position.
- the scoring formula used at (318) can provide a score to the entry based at least in part on a location consistency with a coarse location obtained for the client device. For example, referring to FIG. 3A , at (304) a coarse location may have been able to be obtained for the client device, but such coarse location may not have had sufficient precision to be used at (306). As an example, IP geolocation could have been performed at (304) to obtain a coarse location ( e.g. a state), but such coarse location was not sufficiently precise.
- the scoring formula used at (318) can compare the location provided by the entry being scored with any coarse location previously determined for the client device. Matching locations will result in a higher score while contradicting locations will result in a lower score. A confidence value associated with either the coarse location or the location entry can influence the scoring formula as well. Thus, an entry that is older in time may still receive a higher score than an entry that is more recent if the older entry more accurately matches the coarse location.
- the scoring formula used at (318) can provide a score to the entry based at least in part on a device co-location factor.
- the device co-location factor can provide an indication of how often the client device and the device identified by the entry being scored have historically been at the same place at the same time.
- a system implementing the present disclosure can compute a device co-location factor for each pair of device identifiers included in a user location history by comparing the historical locations and times provided by some or all entries associated with a first device identifier with the historical locations and times provided by some or all entries associated with a second device identifier.
- the device co-location factor can be generally proportional to a number of times that the two devices have been within a threshold distance of each other within a threshold amount of time.
- the device co-location factor for any pair of device identifiers can be computed ahead of time and stored in memory or can be computed by accessing some or all user location entries in real-time at (318).
- the device co-location factor can provide an indication of how reasonable it is that a location entry for one device would be applied to a second device. For example, if a user carries their smartphone and tablet together a large percentage of the time, but has turned off the GPS in the smartphone to save battery life, it is likely reasonably accurate to infer the location of the tablet as the current location of the smartphone. However, if the two devices are routinely in different locations, then such inference is less likely to be accurate.
- the scoring formula used at (318) can provide a score to the entry based at least in part on the method of geolocation by which the location provided by such entry was identifier. For example, an entry providing a location that was determined according to a more precise method of geolocation, such as, for example, GPS, can receive a higher score while an entry providing a location that was determined according to a less precise method of geolocation, such as, for example, IP geolocation or geolocation based on search string, can receive a lower score.
- a more precise method of geolocation such as, for example, GPS
- a less precise method of geolocation such as, for example, IP geolocation or geolocation based on search string
- scoring parameters or attributes of a historical location entry can be analyzed by a suitable scoring formula as well.
- scoring parameters discussed above can be considered in isolation or in other combinations and are not necessarily used at a single time to provide a single score.
- weightings, coefficients, or other components of the scoring formula can be trained against data having a known accuracy or categorization.
- one or more regression analyses can be performed with respect to a provided set of location data having known classifications as accurate or inaccurate.
- the location provided by the entry that received the highest score can be selected as the current location of the client device.
- the location-enhanced service can be provided based on the location selected at (320).
- server processes discussed herein may be implemented using a single server or multiple servers working in combination.
- Databases and applications may be implemented on a single system or distributed across multiple systems. Distributed components may operate sequentially or in parallel.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Telephonic Communication Services (AREA)
- Information Transfer Between Computers (AREA)
Description
- The present disclosure relates generally to providing location-enhanced services. In particular, the present disclosure relates to systems and methods for inferring a current location of a user or device based on an analysis of a user location history.
- Location-enhanced services are increasingly common online tools used by many people on a daily basis. In particular, location-enhanced services use knowledge of a user's location to provide an online service in a more accurate or useful manner. For example, a search engine can use knowledge of a user's location to tailor search results to reflect the most accurate or useful information for such location. As another example, when the user's location is known, a mapping application or geographic information system can provide a superior map in response to a point of interest search or a request for directions. Therefore, knowledge of a user's location is increasingly a key factor used to provide a superior online experience across a broad range of services or tools.
- In the context of a traditional desktop computer, methods for determining user location are fairly established and successful. For example, geolocation by analysis of internet protocol (IP) address is a common technique which yields generally useful results.
- However, in the context of mobile computing, such as, for example, a smartphone, existing systems and methods for determining a user location are much less suitable. In particular, users of mobile computing devices have high expectations regarding the ability of the computing device and its corresponding communication system to geolocate. For example, many users of smartphones consistently employ their devices to act as navigational devices or to provide real-time, location-enhanced search results when hunting for a local point of interest, such as a restaurant, hotel, or other meeting place.
- Some methods of geolocation for mobile computing devices are relatively precise. For example, successful use of the global positioning system or a Wi-Fi positioning system can result in a precise location for the mobile computing device. Unfortunately, such positioning systems are simply not available or operational for a large amount of time or locations. Further, geolocation by analysis of IP address is generally not as informative for mobile device carrier IPs. In addition, requiring the user to manually correct the query by appending the desired location is slow, cumbersome, and undesirable for the user.
- The above problems result in a significant amount of time in which a precise location for a mobile computing device is not available or otherwise known. Thus, without knowledge of the device's location, service providers struggle to provide location-enhanced services, resulting in user frustration and loss of optimal functionality.
-
US2012/0009904 discloses systems, methods and computer program products for determining a location of a tracked device, particularly following a device or network failureUS 2011/161485 discloses a method for monitoring multiple dynamic media streams playing concurrently on a client computer system.US 2010/287178 discloses a method for determining a user's device location based on the history of said user's previous locations..US 2012/184287 discloses a method of determining a device's location based on the history of said device's previous locations and the history of multiple other devices' previous locations. - Aspects of the present disclosure are in accordance with the subject matter of the appended claims.
- These and other features, aspects and advantages of the present disclosure will become better understood with reference to the following description and appended claims. The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments of the present disclosure and, together with the description, serve to explain the principles of the present disclosure.
- A full and enabling description of the present disclosure, including the best mode thereof, directed to one of ordinary skill in the art, is set forth in the specification, which makes reference to the appended figures, in which:
-
FIG. 1 depicts a graphical diagram of a client device requesting and receiving a location-enhanced service from a service provider according to an example embodiment of the present disclosure; -
FIG. 2 depicts an example system according to an example embodiment of the present disclosure; and -
FIGS. 3A and3B depict a flowchart of an example method for inferring a current location of a client device based on an analysis of a user location history according to an example embodiment of the present disclosure. - The present disclosure is directed to systems and methods for inferring a current location of a user or device based on an analysis of a user location history. As an example, when the current location of a device requesting a location-enhanced service cannot be determined with sufficient precision, a plurality of historical locations provided by the user location history can be scored according to a variety of parameters. The historical location receiving the highest score can be inferred to be the current location of the user.
- More particularly, a user location history can be generated and maintained for the user. The user location history can be defined by a user account associated with the user and can store one or more entries for each instance in which a device that is signed into or otherwise associated with such user account performs an online interaction or reports its location. Each entry can describe a location and time and can provide a device identifier corresponding to the particular device used at such location and time.
- Thus, in some embodiments, in order to obtain the benefits of the techniques described herein, the user may be required to allow the collection and analysis of personal information, such as location information or device identity information. Therefore, in some embodiments, users may be provided with an opportunity to control whether programs or features collect such information. If the user does not allow collection and use of such information, then the user may not receive the benefits of the techniques described herein. In some embodiments, the user can also be provided with tools to revoke or modify consent. In addition, certain information or data can be treated in one or more ways before it is stored or used, so that personally identifiable information is removed.
- When a request for a location-enhanced service is received from a device signed into the user account, it can first be determined whether a current location of such device can be determined with sufficient precision. For example, a number of various geolocation techniques can be performed. Alternatively, if a location has been freshly determined for such device (e.g. within the last 5 minutes), then such freshly determined location can be used. However, if the precise location of the device cannot be determined and a fresh location is not available, then the user location history can be analyzed to assist in inferring the current location of such device.
- In particular, a plurality of entries can be obtained from the user location history. For example, the most recent entry for each unique device identifier can be obtained. As another example, a particular number of the most recent entries regardless of device identifier can be obtained. As yet another example, a mix of entries can be obtained that includes the most recent entries in addition to at least one entry per unique device identifier.
- Each of the obtained entries can be scored according to a scoring formula. As an example, the scoring formula can provide a score to the entry based at least in part on its age, a location consistency, and a device co-location factor. Other parameters or components can be included as well.
- The location consistency can compare the location provided by the entry being scored to a coarse location obtained by, for example, geolocating an IP address from which the request for the location-enhanced service was received.
- The device co-location factor can provide an indication of how often the two devices have historically been at the same place at the same time. For example, the device co-location factor can compare some or all historical locations and times associated with the device identifier provided by the entry being scored with some or all historical locations and times associated with the device identifier of the device from which the request was received.
- Once each of the obtained entries has been scored, the location provided by the entry that received the highest score can be selected as the current location of the device from which the request was received. Such selected location can then be used to provide the requested location-enhanced service. Thus, location-enhanced services can be effectively provided even in instances in which a current location of the device is generally unobtainable with sufficient precision according to known techniques.
- With reference now to the FIGS., example embodiments of the present disclosure will now be discussed in detail.
-
FIG. 1 depicts a graphical diagram 100 of aclient device 102 requesting and receiving a location-enhanced service from aservice provider 104 according to an example embodiment of the present disclosure. - A location-enhanced service can include any service provided to a client device by host server in which knowledge of the client device's location is used to enhance or adjust one or more aspects of the provided service. Example location-enhanced services include, but are not limited to, identifying, filtering, or promoting web search results based on device location; providing location-specific maps or directions; identifying, filtering, or promoting point of interest search results in a mapping application or geographic information system based on device location; identifying, filtering, or promoting content or advertisements based on device location; providing personal assistant functionality by organizing and selecting for presentation information available from a range of data sources based on device location; modifying operations of an arbitrary web-service based on device location; or any other suitable location-enhanced service, including aspects of web-based email, social networking, news or other content aggregation, or other suitable services or products.
- As shown in
FIG. 1 ,example client device 102 has been used to sign into a user account ("User123"). As used herein, a user account can be any account or means of identification that is associated with a user of one or more services. Example user accounts include an operating system account; an account used for purchasing and ownership of content from a content distribution platform; a web-based email account; a social media account; a financial services account; a game account; an application-specific account (e.g. a news aggregator account or an internet-radio application account); or any other suitable user account. - In one implementation,
service provider 104 offers several of the services discussed above (e.g. web-based email, social media, gaming, and content distribution) and a single user account can be used to participate in, receive, or otherwise control aspects of each of such services fromservice provider 104. - As an example, as shown in
FIG. 1 ,example client device 102 can implement an application module to operate a mapping application. In particular, the user has entered a point of interest search query of "bike repair." By pressing or selecting an "Enter" key, a "Go" icon, or the magnifying glass icon the user can send the search query toservice provider 104. - Thus,
client device 102 can request a service from service provider 104 (e.g. a point of interest search in a mapping application). Further, the requested service could be enhanced using knowledge of current location ofclient device 102. In particular, by identifying and presenting point of interest search results in a general vicinity of a current location of theclient device 102, the point of interest search service can be improved. - However, as an example, assume that the entered search query has not provided any information to determine a desired location of the point of interest. Furthermore, the current viewpoint provided by the mapping application is significantly broad such that a desired location of the point of interest cannot be inferred from such viewpoint.
- Further assume for the purposes of the present example that a current location of
client device 102 cannot be determined with sufficient precision. For example, the request for the location-enhanced service can fail to identify the current location ofclient device 102 and other geolocation techniques such as GPS or WiFi positioning can be unavailable. - According to aspects of the present disclosure,
service provider 104 can analyze auser location history 108 associated with User123 to infer the current location of theclient device 102.Service provider 104 can then use such inferred current location in conjunction withservice functionality 106 to provide the location-enhanced service toclient device 102. - In particular, as shown in
FIG. 1 , although the current location ofclient device 102 was unable to be determined with sufficient precision using traditional geolocation techniques such as GPS, the location-enhanced service (e.g. location-specific point of interest search results) was still able to be provided toclient device 102 byservice provider 104. -
FIG. 2 depicts anexample system 200 according to an example embodiment of the present disclosure.System 200 can include a client-server architecture, where ahost server 202 communicates with one ormore client devices network 210. Although threeclient devices FIG. 2 , any number of client devices can be connected tohost server 202 overnetwork 210. -
Client devices processor 230 and amemory 232, such as a wireless mobile device, a personal digital assistant (PDA), smartphone, tablet, navigation system located in a vehicle, handheld GPS system, laptop computer, desktop computer, computing-enabled watch, computing-enabled eyeglasses, gaming console, embedded computing system, home appliances, or other such devices/systems. In short,client device 204 can be any computer, device, or system that can interact with the host server system 202 (sending and receiving data). -
Processor 230 ofclient device 204 can be any suitable processing device and can be one processor or a plurality of processors that are operably connected.Memory 232 can include any number of computer-readable instructions or other stored data. In particular,memory 232 can include, store, or provide one ormore application modules 234. When implemented byprocessor 230,application modules 234 can respectively cause or instructprocessor 230 to perform operations consistent with the present disclosure, such as, for example, running an application that transmits location data to hostserver 202 in addition to performing any number of arbitrary operations.Application modules 234 can include, for example, a mapping application or a browser application. - The term "module" refers to computer logic utilized to provide desired functionality. Thus, a module can be implemented in hardware, firmware and/or software controlling a general purpose processor. In one embodiment, the modules are program code files stored on the storage device, loaded into memory and executed by a processor or can be provided from computer program products, for example, computer executable instructions that are stored in a tangible computer-readable storage medium such as RAM hard disk or optical or magnetic media.
-
Client device 204 can further include apositioning system 238.Positioning system 238 can determine a current geographic location ofclient device 204 and communicate such geographic location to hostserver 202 overnetwork 210. Thepositioning system 238 can be any device or circuitry for analyzing the position of theclient device 204. For example, thepositioning system 238 can determine actual or relative position by using a satellite navigation positioning system (e.g. a GPS system, a Galileo positioning system, the GLObal Navigation satellite system (GLONASS), the BeiDou Satellite Navigation and Positioning system), an inertial navigation system, a dead reckoning system, based on IP address, by using triangulation and/or proximity to cellular towers or WiFi hotspots, and/or other suitable techniques for determining position. - In the instance in which the user consents to the use of positional or location data, the
positioning system 238 can analyze the position of theclient device 204 as the user moves around in the world and provides the user location information to thehost server 202 overnetwork 210. As will be discussed further later, each of such location updates can be used to build a user location history for a user account associated withclient device 204. -
Client device 204 can further include anetwork interface 240.Network interface 240 can include any suitable components for interfacing with one more networks, including for example, transmitters, receivers, ports, controllers, antennas, or other suitable components. -
Host server 202 can be implemented using one or more suitable computing devices and can include aprocessor 212 and amemory 214. In the instance in whichhost server 202 is implemented using a plurality of computing devices, such devices can be configured according to a parallel computing architecture, a sequential computing architecture, or a combination of such architectures. -
Processor 212 can be any suitable processing device and can be one processor or a plurality of processors which are operably connected.Memory 214 can storeinstructions 216 that causeprocessor 212 to perform operations to implement the present disclosure. Host server can communicate withclient device 204 overnetwork 210 by sending and receiving data. -
Network 210 can be any type of communications network, such as a local area network (e.g., intranet), wide area network (e.g., Internet), or some combination thereof and can include any number of wired or wireless links. In general, communication between thehost server 202 and aclient device 204 can be carried via any type of wired and/or wireless connection, using a wide variety of communication protocols (e.g., TCP/IP, HTTP, SMTP, FTP), encodings or formats (e.g., HTML, XML), and/or protection schemes (e.g., VPN, secure HTTP, SSL). Preferably, however,client device 204 can freely move throughout the world and communicate withhost server 202 is a wireless fashion. -
Host server 202 can be coupled to or in communication with one or more databases, including a database providing an index ofuser location histories 218, ageographic information system 220, andexternal content 222. Althoughdatabases FIG. 2 as external tohost server 202, one or more of such databases can be included inmemory 214 ofhost server 202. Further,databases - According to an aspect of the present disclosure, user
location histories database 218 can store or provide a plurality of user location histories respectively associated with a plurality of user accounts. - In particular, when a user elects to participate and has signed into her user account with respect to one or more of
client devices server 202 overnetwork 210. For example, each location update can identify the presently active user account and a unique device identifier that corresponds to the device providing the update. Each location update can further include a location (e.g. latitude and longitude) and a timestamp identifying the date and time of day. In some implementations, location updates can further include an accuracy indicator and/or other identifying information such as an originating IP address. - Thus, in some embodiments, in order to obtain the benefits of the techniques described herein, the user may be required to allow the collection and analysis of personal information, such as location information or device identity information. Therefore, in some embodiments, users may be provided with an opportunity to control whether programs or features collect such information. If the user does not allow collection and use of such information, then the user may not receive the benefits of the techniques described herein. In some embodiments, the user can also be provided with tools to revoke or modify consent. In addition, certain information or data can be treated in one or more ways before it is stored or used, so that personally identifiable information is removed.
- The device identifiers used in the user location histories can be any suitable means of identifying particular client devices. For example, example device identifiers include, but are not limited to, manufacturer serial number; MAC address; a device platform string (e.g. Operating System/Device Manufacturer/Device Model/Operational Parameters); IP address; an ID code provided from device memory; or any other suitable device identifier.
- Additional information can be used to build or supplement a user location history as well. As an example, whenever a user is logged into a user account and performs a web search or uses one or more applications, such as a mapping application, it is possible that such interaction can result in obtaining the user's location. Therefore, an entry identifying such location can be formed in the associated user location history based on such interaction.
- All received location updates are stored and keyed by user account so that a user location history is built over time. Thus, in some embodiments, the user location history for each user account can consist of an encrypted set of location history entries. The set of location history entries for each user location history can be sorted by device identifier and other parameters.
- As user location histories can include a large amount of data over time, in some embodiments, a sub-history can be maintained for each user location history in some implementations. The sub-history can provide the single most recent location per each device or device identifier.
-
Geographic information system 220 can store or provide geospatial data to be used byhost server 202. Example geospatial data includes geographic imagery (e.g., digital maps, satellite images, aerial photographs, street-level photographs, synthetic models, etc.), tables, vector data (e.g. vector representations of roads, parcels, buildings, etc.), point of interest data, or other suitable geospatial data.Geographic information system 220 can be used byhost server 202 to provide navigational directions, perform location-specific point of interest searches, or any other suitable use or task required or beneficial for providing location-enhanced services. - Computer based
system 200 can further includeexternal content 222.External content 222 can be any form of external content including news articles, webpages, video files, audio files, written descriptions, ratings, game content, social media content, photographs, commercial offers, or other suitable external content.Host server system 202 andclient device 204 can accessexternal content 222 overnetwork 210.External content 222 can be searched byhost server 202 according to known searching methods and can be ranked according to relevance, popularity, or other suitable attributes, including location-specific filtering or promotion. -
FIGS. 3A and3B depict a flowchart of an example method (300) for inferring a current location of a client device based on an analysis of a user location history according to an example embodiment of the present disclosure. - While example method (300) will be discussed with reference to the
system 200 ofFIG. 2 , method (300) can be implemented using any suitable computing system. In addition, althoughFIGS. 3A and3B depict steps performed in a particular order for purposes of illustration and discussion, methods of the present disclosure are not limited to such particular order or arrangement. Various steps of the method (300) can be omitted, rearranged, combined, and/or adapted in various ways without deviating from the scope of the present disclosure. - Referring to
FIG. 3A , at (302) a request for a service can be received from a client device. For example, host server can receive a request fromclient device 204 to provide point of interest search results in a mapping application. However, a desired location to search for points of interest may be ambiguous. - At (304) it is determined whether the current location of the client device is able to be determined with sufficient precision. As an example,
positioning system 238 ofclient device 204 can operate to provide geolocation ofclient device 204 according to any known techniques, such as GPS. However, in some instances such geolocation techniques may not be available or otherwise fail to identify a particular location with sufficient precision. - As another example, the request received at (302) can include or otherwise be associated with an originating IP address. Geolocation based on such IP address can often be used to provide a general location for the client device. In addition, a confidence percentage can be obtained or computed.
- If the current location of the client device is able to be determined with sufficient precision at (314), then method (300) can proceed to (306) and perform the requested location-enhanced service based on such determined current location of the client device. For example,
host server 202 can utilizegeographic information system 220 to provide location-specific point of interest search results. - However, if it is determined at (304) that the current location of the client device cannot be determined with sufficient precision, the method (300) can proceed to (308).
- At (308) it can be determined whether the client device is currently signed into or otherwise presently associated with a user account. For example, session cookies or other indicators can be analyzed to determine and identify a presently active user account.
- If it is determined at (308) that the client device is not currently signed into a user account, then at (310) the service can be provided without location-enhancements. For example,
host server 202 might provide location-agnostic search results or might request a further narrowing of the target search location. - However, if it is determined at (308) that the client device is currently logged into an identifiable user account, then method (300) can proceed at (312).
- At (312) it is determined whether a fresh location entry exists for the client device from which the request was received at (302). For example,
host server 202 can analyze a user location history associated with the user account identified at (308) to obtain and analyze the most recent location entry associated with such client device (e.g. the most recent entry providing the device identifier associated with the client device from which the request was received at (302)). - Generally, the most recent entry for the client device will be considered fresh if it is within a threshold time from the current time. Thus, at (312) it can be determined that the most recent entry associated with the client device is fresh if it is less than, for example, five minutes old. However, other indicators of suitability can be analyzed in addition or alternatively to age, such as a confidence score or other metrics, including a comparison to a coarse location provided by IP geolocation.
- If it is determined at (312) that a fresh entry exists for the client device, then at (314) the location-enhanced service can be provided based on the location denoted by such fresh location entry.
- As an example, assume a smartphone is signed into a user account. A web search is performed on the smartphone at 2:04 PM, but a GPS update cannot be received. If the last location update for the smartphone stored in the user location history is in Palo Alto, CA at 2:00 PM, then such entry can be considered as fresh and the Palo Alto, CA location can be used to provide location-enhanced web search results.
- However, if it is determined at (314) that a fresh location entry is not available for the client device, then method (300) can proceed to (316) of
FIG. 3B . - Referring now to
FIG. 3B , at (316) a plurality of entries included in the user location history can be obtained. For example, the most recent entry for each unique device identifier can be obtained. As another example, a particular number of the most recent entries regardless of device identifier can be obtained. As yet another example, a mix of entries can be obtained that includes the most recent entries in addition to at least one entry per unique device identifier.Host server 202 can obtain or otherwise access the appropriate location entries from the user location history stored indatabase 218. - At (318) each of the entries obtained at (316) can be scored according to a scoring formula. The scoring formula can score each entry on a number of criteria or parameters to provide a general indication of whether it is reasonable to use the location provided by the scored entry as the current location of the client device. In other words, for example, an entry that receives a higher score is more likely to provide a location that accurately corresponds to the current location of the client device.
- As an example, the scoring formula used at (318) can provide a score to an entry based at least in part on such entry's age. A more recent location entry is more likely to accurately reflect the current location of the client device while an older location entry is less likely to accurately reflect the current location of the client device. Thus, for example, an age component of the scoring formula can decay over time. For example, a location entry that is over five days old should be scored very low as it is likely stale.
- In other implementations, the age component of the scoring formula does not operate in units of time but rather analyzes a position of the entry being scored within the user location history. For example, if a device identifier has four associated historical location entries, the entry in the fourth position (e.g. oldest) would receive a lower score than the entry in the first position.
- As another example, the scoring formula used at (318) can provide a score to the entry based at least in part on a location consistency with a coarse location obtained for the client device. For example, referring to
FIG. 3A , at (304) a coarse location may have been able to be obtained for the client device, but such coarse location may not have had sufficient precision to be used at (306). As an example, IP geolocation could have been performed at (304) to obtain a coarse location (e.g. a state), but such coarse location was not sufficiently precise. - Thus, the scoring formula used at (318) can compare the location provided by the entry being scored with any coarse location previously determined for the client device. Matching locations will result in a higher score while contradicting locations will result in a lower score. A confidence value associated with either the coarse location or the location entry can influence the scoring formula as well. Thus, an entry that is older in time may still receive a higher score than an entry that is more recent if the older entry more accurately matches the coarse location.
- As yet another example, the scoring formula used at (318) can provide a score to the entry based at least in part on a device co-location factor. In particular, the device co-location factor can provide an indication of how often the client device and the device identified by the entry being scored have historically been at the same place at the same time.
- For example, a system implementing the present disclosure can compute a device co-location factor for each pair of device identifiers included in a user location history by comparing the historical locations and times provided by some or all entries associated with a first device identifier with the historical locations and times provided by some or all entries associated with a second device identifier. In one implementation, the device co-location factor can be generally proportional to a number of times that the two devices have been within a threshold distance of each other within a threshold amount of time. The device co-location factor for any pair of device identifiers can be computed ahead of time and stored in memory or can be computed by accessing some or all user location entries in real-time at (318).
- If a user typically carries the first device and the second device together it is more reasonable to infer the location of the second device based on a historical location of the first device. Thus, the device co-location factor can provide an indication of how reasonable it is that a location entry for one device would be applied to a second device. For example, if a user carries their smartphone and tablet together a large percentage of the time, but has turned off the GPS in the smartphone to save battery life, it is likely reasonably accurate to infer the location of the tablet as the current location of the smartphone. However, if the two devices are routinely in different locations, then such inference is less likely to be accurate.
- As another example, the scoring formula used at (318) can provide a score to the entry based at least in part on the method of geolocation by which the location provided by such entry was identifier. For example, an entry providing a location that was determined according to a more precise method of geolocation, such as, for example, GPS, can receive a higher score while an entry providing a location that was determined according to a less precise method of geolocation, such as, for example, IP geolocation or geolocation based on search string, can receive a lower score.
- Other parameters or attributes of a historical location entry can be analyzed by a suitable scoring formula as well. In addition, the scoring parameters discussed above can be considered in isolation or in other combinations and are not necessarily used at a single time to provide a single score.
- Furthermore, weightings, coefficients, or other components of the scoring formula can be trained against data having a known accuracy or categorization. As an example, one or more regression analyses can be performed with respect to a provided set of location data having known classifications as accurate or inaccurate.
- After each of the obtained entries has been scored according to the scoring formula at (318), at (320) the location provided by the entry that received the highest score can be selected as the current location of the client device. At (322) the location-enhanced service can be provided based on the location selected at (320).
- Thus, historical locations included in a user location history can be scored according to a scoring formula designed to identify the most appropriate replacement for an unknown or imprecise position of a client device. Therefore, a service provider will be able to routinely provide location-enhanced services despite being unable to determine a precise location of the client device using traditional geolocation techniques.
- The technology discussed herein makes reference to servers, databases, software applications, and other computer-based systems, as well as actions taken and information sent to and from such systems. The inherent flexibility of computer-based systems allows for a great variety of possible configurations, combinations, and divisions of tasks and functionality between and among components. For instance, server processes discussed herein may be implemented using a single server or multiple servers working in combination. Databases and applications may be implemented on a single system or distributed across multiple systems. Distributed components may operate sequentially or in parallel.
- Although the invention has been explained in relation to its preferred embodiment(s) as mentioned above, it is to be understood that many other possible modifications and variations can be made without departing from the scope of the present invention, which is defined by the claims.
Claims (14)
- A computer-implemented method for determining a current location of a client device, wherein a first device identifier is associated with the client device, the method comprising:receiving (302), by one or more computing devices, a request for a location-enhanced service from the client device;obtaining, by the one or more computing devices, a user location history having a plurality of entries, each entry identifying a location, a time, and one of a plurality of device identifiers for devices which are, at a current time, signed into or otherwise associated with an account of the user;determining, (312) by the one or more computing devices, whether the time of the most recent entry that identifies the first identifier is within a threshold time from the current time;when the time of the most recent entry that identifies the first identifier is within the threshold time from the current time, selecting, by the one or more computing devices as the current location of the client device, the location of the most recent entry that identifies the first identifier;when the time of the most recent entry that identifies the first identifier is not within the threshold time from the current time:identifying, by the one or more computing devices for each of the plurality of device identifiers, the entry having the most recent time;determining, (318) by the one or more computing devices, a score for each of the identified entries using a scoring formula; andselecting, (320) by the one or more computing devices, the location of the entry having the highest score as the current location of the client device; using, (322) by the one or more computing devices, the selected location to provide the location-enhanced service to the client device.
- The computer-implemented method of claim 1, wherein the scoring formula computes the score for each obtained entry based at least in part on an age of the entry, a location consistency, and a device co-location factor.
- The computer-implemented method of claim 2, wherein the location consistency compares the location provided by the entry being scored with a coarse location associated with the client device.
- The computer-implemented method of claim 3, wherein the coarse location associated with the client device is obtained by geolocation of an internet protocol address associated with the request received from the client device.
- The computer-implemented method of claim 2, wherein the device co-location factor compares a first device location history associated with the device identifier provided by the entry being scored with a second device location history associated with the client device.
- The computer-implemented method of claim 5, wherein the first device location history comprises the plurality of locations respectively provided by the plurality of entries that identify the device identifier provided by the entry being scored; and / or.
wherein the second device location history comprises the plurality of locations respectively provided by the plurality of entries that identify a first device identifier associated with the client device. - One or more server computing devices comprising:one or more processors;one or more non-transitory computer-readable media storing instructions that, when executed by the one or more processors, cause the one or more server computing devices to perform a method according to any one of the preceding claims.
- The one or more server computing devices of claim 7, wherein the scoring formula computes the score for each of the entries based at least in part on an age of the entry;
and / or wherein the scoring formula computes the score for each of the entries based at least in part on a device co-location factor describing a relative amount of time for which the device associated with the entry being scored is within a threshold distance from the first device;
and / or wherein the operations further comprise providing one or more location-enhanced services based at least in part on the selected current location. - The one or more server computing devices of claim 7, wherein the scoring formula computes the score for each of the entries based at least in part on a location consistency associated with the entry, the location consistency describing a consistency between the location provided by the entry being scored and a coarse location associated with the first device.
- The one or more server computing devices of claim 9, wherein the coarse location is derived from an IP address associated with the communication from the first device.
- One or more non-transitory computer-readable media storing instructions that, when executed by one or more processors, cause the one or more server processors to perform a method according to any one of claims 1 to 6.
- The one or more non-transitory computer-readable media of claim 11, wherein the operations further comprise:prior to determining the score for each of the plurality of candidate locations, receiving a request for a location-enhanced service from the client device; andafter selecting the candidate location having the highest score as the current location of the client device, providing the location-enhanced service to the client device based at least in part on the current location of the client device.
- The one or more non-transitory computer-readable media of claim 11, wherein the plurality of candidate locations respectively associated with the plurality of device identifiers associated with the user account are respectively specified by a plurality of entries in a user location history associated with the user account;
and optionally wherein the plurality of entries in the user location history comprise a most recent entry associated with each of the plurality of device identifiers. - The one or more non-transitory computer-readable media of claim 11, wherein the co-location factor exhibited between the pair of device location histories respectively associated with the client device and the device identifier associated with the candidate location being scored describes an amount of time for which the client device and the device identified by the device identifier associated with the candidate location being scored are located within a threshold distance from each other.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361860143P | 2013-07-30 | 2013-07-30 | |
PCT/US2014/046589 WO2015017115A2 (en) | 2013-07-30 | 2014-07-15 | Inferring a current location based on a user location history |
Publications (3)
Publication Number | Publication Date |
---|---|
EP3028105A2 EP3028105A2 (en) | 2016-06-08 |
EP3028105A4 EP3028105A4 (en) | 2017-04-19 |
EP3028105B1 true EP3028105B1 (en) | 2018-10-10 |
Family
ID=51298961
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP14748356.4A Active EP3028105B1 (en) | 2013-07-30 | 2014-07-15 | Inferring a current location based on a user location history |
Country Status (4)
Country | Link |
---|---|
US (1) | US9420426B2 (en) |
EP (1) | EP3028105B1 (en) |
DE (1) | DE202014010941U1 (en) |
WO (1) | WO2015017115A2 (en) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9800686B2 (en) * | 2014-01-31 | 2017-10-24 | Aruba Networks, Inc. | Determining packet priority based on a location associated with a client device |
US10922712B1 (en) * | 2014-09-29 | 2021-02-16 | Groupon, Inc. | System and method for generating geographic zone information for consumers |
US20160149775A1 (en) * | 2014-11-23 | 2016-05-26 | Dennis Cheung | Determining physical location of a networked computing device |
EP3030020B1 (en) * | 2014-12-01 | 2020-01-08 | Viavi Solutions UK Limited | Providing streaming geolocation infomation |
US10909464B2 (en) | 2015-04-29 | 2021-02-02 | Microsoft Technology Licensing, Llc | Semantic locations prediction |
US20160328197A1 (en) * | 2015-05-04 | 2016-11-10 | GM Global Technology Operations LLC | Vehicle data enforcement and contextual interference module for in-vehicle app development |
RU2609082C2 (en) * | 2015-06-30 | 2017-01-30 | Общество С Ограниченной Ответственностью "Яндекс" | Method and system for determining address corresponding to most probable physical position of electronic device associated with user |
US9641489B1 (en) * | 2015-09-30 | 2017-05-02 | EMC IP Holding Company | Fraud detection |
US10769665B2 (en) * | 2016-12-05 | 2020-09-08 | Comscore, Inc. | Systems and methods for transmitting content based on co-location |
US10257656B2 (en) | 2017-03-20 | 2019-04-09 | Google Llc | Systems and methods of improving stability of a displayed user location using recent location history |
US10579322B1 (en) * | 2017-05-22 | 2020-03-03 | Parallels International Gmbh | Connecting to remote access session based on proximity of mobile device |
EP3586552B1 (en) * | 2017-11-06 | 2022-03-30 | Google LLC | Evaluating ip location accuracy on a mobile device |
US20190197863A1 (en) * | 2017-12-21 | 2019-06-27 | Frank Kao | WareAbouts: Proactive Care System through Enhanced Awareness |
US11178156B2 (en) | 2018-07-27 | 2021-11-16 | Verizon Patent And Licensing Inc. | Methods and systems for authenticating a reported geolocation of a mobile device |
EP3868135A1 (en) * | 2018-11-19 | 2021-08-25 | Microsoft Technology Licensing, LLC | Saving battery life using an inferred location |
CN115643430A (en) * | 2022-10-10 | 2023-01-24 | 深圳锋芒信息技术有限公司 | Playing method, device and equipment of self-adaptive playing source and storage medium |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8559968B2 (en) * | 2006-05-12 | 2013-10-15 | At&T Intellectual Property I, L.P. | Location-based targeting |
US20100287178A1 (en) | 2009-05-08 | 2010-11-11 | Google Inc. | Refining location estimates and reverse geocoding based on a user profile |
US8521680B2 (en) * | 2009-07-31 | 2013-08-27 | Microsoft Corporation | Inferring user-specific location semantics from user data |
US8825375B2 (en) | 2009-09-29 | 2014-09-02 | Apple Inc. | Snap-to-road using wireless access point data |
US8301364B2 (en) | 2010-01-27 | 2012-10-30 | Navteq B.V. | Method of operating a navigation system to provide geographic location information |
US8301639B1 (en) | 2010-01-29 | 2012-10-30 | Google Inc. | Location based query suggestion |
US8700052B2 (en) * | 2010-07-07 | 2014-04-15 | At&T Intellectual Property I, L.P. | Systems, methods, and computer program products for determining a location of a tracked device after a device or network failure |
US8634849B2 (en) * | 2011-01-19 | 2014-01-21 | Qualcomm Incorporated | Methods and apparatus for mobile device based location determination in a communications system |
US20140045523A1 (en) * | 2011-02-03 | 2014-02-13 | Endrelia Technologies Inc. | Methods and apparatus for tracking location of portable electronic device |
US20130185355A1 (en) | 2011-08-04 | 2013-07-18 | Erick Tseng | Recommendations Based On Geolocation |
US20130267251A1 (en) * | 2012-04-10 | 2013-10-10 | Qualcomm Incorporated | Personalized position using information correlation and self-sourcing |
US9635116B2 (en) * | 2013-04-26 | 2017-04-25 | Linkedin Corporation | Techniques for inferring a location |
-
2014
- 2014-07-11 US US14/329,086 patent/US9420426B2/en active Active
- 2014-07-15 EP EP14748356.4A patent/EP3028105B1/en active Active
- 2014-07-15 DE DE202014010941.9U patent/DE202014010941U1/en active Active
- 2014-07-15 WO PCT/US2014/046589 patent/WO2015017115A2/en active Application Filing
Non-Patent Citations (1)
Title |
---|
None * |
Also Published As
Publication number | Publication date |
---|---|
WO2015017115A3 (en) | 2015-11-19 |
EP3028105A2 (en) | 2016-06-08 |
US20150038162A1 (en) | 2015-02-05 |
DE202014010941U1 (en) | 2017-01-24 |
WO2015017115A2 (en) | 2015-02-05 |
EP3028105A4 (en) | 2017-04-19 |
US9420426B2 (en) | 2016-08-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3028105B1 (en) | Inferring a current location based on a user location history | |
US9747304B2 (en) | Approximating a user location | |
US10094678B2 (en) | Systems and methods for initiating mapping exit routines and rating highway exits | |
US20150330800A1 (en) | Systems and Methods for Personalized Multi-Destination Trip Planning | |
EP2993921B1 (en) | Service processing method based on location information | |
AU2012339408B2 (en) | Method and server for searching for nearby user in social network | |
US20130346396A1 (en) | Automatically updating a query | |
WO2019061656A1 (en) | Electronic apparatus, service place recommendation method based on lbs data, and storage medium | |
US10346495B2 (en) | System and method for large scale crowdsourcing of map data cleanup and correction | |
WO2012159093A2 (en) | Discovering nearby places based on automatic query | |
US9234763B1 (en) | Systems and methods for identifying and selecting personalized waypoints for presentation on a map | |
CN104396322A (en) | Method and apparatus for determining locations of access points | |
US9640074B2 (en) | Permissions-based tracking of vehicle positions and arrival times | |
US10602315B2 (en) | System and method for providing a platform for creating, browsing and searching a journal of activities of a user | |
US9817907B1 (en) | Using place of accommodation as a signal for ranking reviews and point of interest search results | |
US9787557B2 (en) | Determining semantic place names from location reports | |
US20150242868A1 (en) | Method and apparatus for causing a recommendation of a point of interest | |
US11785534B2 (en) | Provisioning services based on geolocation data and activity recognition | |
US20190170851A1 (en) | Systems and Methods for Beacon Device Fleet Management | |
RU2767958C2 (en) | Method and system for determining fact of user visiting a point of interest | |
JP6389583B1 (en) | Behavior index evaluation system, behavior index evaluation method, and program | |
AU2017366668B2 (en) | On-demand location visit conversion metrics | |
EP3483824A1 (en) | On-demand location visit conversion metrics | |
Akşehir et al. | A New Hybrid Method for Indoor Positioning | |
Niu et al. | Implementation and evaluation of cloud-based integration framework for indoor location |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
REG | Reference to a national code |
Ref country code: DE Ref legal event code: R138 Ref document number: 202014010941 Country of ref document: DE Free format text: GERMAN DOCUMENT NUMBER IS 602014033823 |
|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
17P | Request for examination filed |
Effective date: 20160209 |
|
AK | Designated contracting states |
Kind code of ref document: A2 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
AX | Request for extension of the european patent |
Extension state: BA ME |
|
DAX | Request for extension of the european patent (deleted) | ||
A4 | Supplementary search report drawn up and despatched |
Effective date: 20170321 |
|
RIC1 | Information provided on ipc code assigned before grant |
Ipc: G05D 1/02 20060101AFI20170315BHEP Ipc: H04W 4/02 20090101ALI20170315BHEP Ipc: G06F 17/10 20060101ALI20170315BHEP Ipc: H04L 29/08 20060101ALI20170315BHEP |
|
RAP1 | Party data changed (applicant data changed or rights of an application transferred) |
Owner name: GOOGLE LLC |
|
GRAP | Despatch of communication of intention to grant a patent |
Free format text: ORIGINAL CODE: EPIDOSNIGR1 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: GRANT OF PATENT IS INTENDED |
|
RIC1 | Information provided on ipc code assigned before grant |
Ipc: H04W 4/02 20090101ALI20180313BHEP Ipc: G05D 1/02 20060101AFI20180313BHEP Ipc: H04W 4/029 20180101ALI20180313BHEP Ipc: H04L 29/08 20060101ALI20180313BHEP Ipc: G06F 17/10 20060101ALI20180313BHEP |
|
INTG | Intention to grant announced |
Effective date: 20180409 |
|
GRAJ | Information related to disapproval of communication of intention to grant by the applicant or resumption of examination proceedings by the epo deleted |
Free format text: ORIGINAL CODE: EPIDOSDIGR1 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE |
|
GRAR | Information related to intention to grant a patent recorded |
Free format text: ORIGINAL CODE: EPIDOSNIGR71 |
|
GRAS | Grant fee paid |
Free format text: ORIGINAL CODE: EPIDOSNIGR3 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: GRANT OF PATENT IS INTENDED |
|
GRAA | (expected) grant |
Free format text: ORIGINAL CODE: 0009210 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE PATENT HAS BEEN GRANTED |
|
INTC | Intention to grant announced (deleted) | ||
AK | Designated contracting states |
Kind code of ref document: B1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
INTG | Intention to grant announced |
Effective date: 20180903 |
|
REG | Reference to a national code |
Ref country code: GB Ref legal event code: FG4D |
|
REG | Reference to a national code |
Ref country code: CH Ref legal event code: EP Ref country code: AT Ref legal event code: REF Ref document number: 1051978 Country of ref document: AT Kind code of ref document: T Effective date: 20181015 |
|
REG | Reference to a national code |
Ref country code: IE Ref legal event code: FG4D |
|
REG | Reference to a national code |
Ref country code: DE Ref legal event code: R096 Ref document number: 602014033823 Country of ref document: DE |
|
REG | Reference to a national code |
Ref country code: NL Ref legal event code: MP Effective date: 20181010 |
|
REG | Reference to a national code |
Ref country code: LT Ref legal event code: MG4D |
|
REG | Reference to a national code |
Ref country code: AT Ref legal event code: MK05 Ref document number: 1051978 Country of ref document: AT Kind code of ref document: T Effective date: 20181010 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: NL Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20181010 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: ES Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20181010 Ref country code: AT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20181010 Ref country code: PL Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20181010 Ref country code: HR Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20181010 Ref country code: LV Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20181010 Ref country code: IS Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20190210 Ref country code: FI Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20181010 Ref country code: BG Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20190110 Ref country code: LT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20181010 Ref country code: NO Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20190110 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: RS Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20181010 Ref country code: GR Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20190111 Ref country code: PT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20190210 Ref country code: AL Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20181010 Ref country code: SE Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20181010 |
|
REG | Reference to a national code |
Ref country code: DE Ref legal event code: R097 Ref document number: 602014033823 Country of ref document: DE |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: DK Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20181010 Ref country code: CZ Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20181010 Ref country code: IT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20181010 |
|
PLBE | No opposition filed within time limit |
Free format text: ORIGINAL CODE: 0009261 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: SK Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20181010 Ref country code: EE Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20181010 Ref country code: SM Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20181010 Ref country code: RO Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20181010 |
|
26N | No opposition filed |
Effective date: 20190711 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: SI Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20181010 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: MC Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20181010 |
|
REG | Reference to a national code |
Ref country code: CH Ref legal event code: PL |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: TR Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20181010 |
|
REG | Reference to a national code |
Ref country code: BE Ref legal event code: MM Effective date: 20190731 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: CH Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20190731 Ref country code: LI Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20190731 Ref country code: LU Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20190715 Ref country code: BE Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20190731 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: IE Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20190715 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: CY Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20181010 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: HU Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT; INVALID AB INITIO Effective date: 20140715 Ref country code: MT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20181010 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: MK Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20181010 |
|
P01 | Opt-out of the competence of the unified patent court (upc) registered |
Effective date: 20230506 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: GB Payment date: 20230727 Year of fee payment: 10 |
|
REG | Reference to a national code |
Ref country code: DE Ref legal event code: R079 Ref document number: 602014033823 Country of ref document: DE Free format text: PREVIOUS MAIN CLASS: G05D0001020000 Ipc: G05D0001430000 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: FR Payment date: 20230725 Year of fee payment: 10 Ref country code: DE Payment date: 20230727 Year of fee payment: 10 |