Efficient geo-fence data transfer and notifications using a time to reach value
First Claim
Patent Images
1. A method comprising:
- accessing a current location of a client system;
identifying a plurality of geo-fences based on the current location of the client system;
receiving movement path data from the client system;
determining an average travel speed for the client system;
identifying a mode of travel for a user associated with the client system based on at least the average travel speed and the movement path data;
calculating a predicted travel route to each geo-fence in the plurality of geo-fences based on the current location of the client system and the identified mode of travel, the calculating of the predicted travel route for at least one geo-fence in the plurality of geo-fences including;
identifying at least one obstacle on the predicted travel route;
based on the identified mode of travel, determining whether the identified mode of travel by which the client system is traveling would be able to traverse the identified at least one obstacle;
in accordance with a determination that the identified mode of travel by which the client system is traveling would be unable to traverse the at least one obstacle, calculating the predicted travel route such that the at least one obstacle is avoided;
calculating a time to reach of the client system to each of the plurality of geo-fences based on the predicted travel route and the mode of travel, the time to reach indicating an arrival time to each of the plurality of geo-fences;
ranking the plurality of geo-fences based on the time to reach of each geo-fence of the plurality of geo-fences;
selecting a target geo-fence from the plurality of geo-fences based on a ranking of the target geo-fence in the plurality of geo-fences, the target geo-fence having a corresponding notification range, the corresponding notification range defining a time period within which notifications are to be presented at the client system, the time period comprising an earliest notification value and a latest notification value, such that no notification is generated before the earliest notification value and no notification is generated after the latest notification value;
determining that the arrival time of the client device to the target geo-fence is within the time period defined by the corresponding notification range; and
in accordance with the determination that the time to reach value associated with the target geo-fence is less than or equal to the notification range, presenting a notification that identifies the target geo-fence at the client system.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and method for using time to reach determinations to improve the usability of geo-fences is disclosed. A computer system accesses a current location of a client system and identifies one or more nearby geo-fences. The computer system then calculates the time to reach each of these geo-fences. If the calculated time to reach value for a particular geo-fence is within the notification range associated with that geo-fence, then the computer system generates a notification to display to a user.
14 Citations
15 Claims
-
1. A method comprising:
-
accessing a current location of a client system; identifying a plurality of geo-fences based on the current location of the client system; receiving movement path data from the client system; determining an average travel speed for the client system; identifying a mode of travel for a user associated with the client system based on at least the average travel speed and the movement path data; calculating a predicted travel route to each geo-fence in the plurality of geo-fences based on the current location of the client system and the identified mode of travel, the calculating of the predicted travel route for at least one geo-fence in the plurality of geo-fences including; identifying at least one obstacle on the predicted travel route; based on the identified mode of travel, determining whether the identified mode of travel by which the client system is traveling would be able to traverse the identified at least one obstacle; in accordance with a determination that the identified mode of travel by which the client system is traveling would be unable to traverse the at least one obstacle, calculating the predicted travel route such that the at least one obstacle is avoided; calculating a time to reach of the client system to each of the plurality of geo-fences based on the predicted travel route and the mode of travel, the time to reach indicating an arrival time to each of the plurality of geo-fences; ranking the plurality of geo-fences based on the time to reach of each geo-fence of the plurality of geo-fences; selecting a target geo-fence from the plurality of geo-fences based on a ranking of the target geo-fence in the plurality of geo-fences, the target geo-fence having a corresponding notification range, the corresponding notification range defining a time period within which notifications are to be presented at the client system, the time period comprising an earliest notification value and a latest notification value, such that no notification is generated before the earliest notification value and no notification is generated after the latest notification value; determining that the arrival time of the client device to the target geo-fence is within the time period defined by the corresponding notification range; and in accordance with the determination that the time to reach value associated with the target geo-fence is less than or equal to the notification range, presenting a notification that identifies the target geo-fence at the client system. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A non-transitory computer-readable storage medium storing instructions that, when executed by the one or more processors of a machine, cause the machine to perform operations comprising:
-
receiving a request for one or more geo-fences from a client device with an associated first location; identifying, at a server system, a plurality of geo-fences, wherein each potential geo-fence has an associated location and an associated notification range; determining a mode of travel for a user associated with the client device based at least partially on movement path data received from the client device; determining a travel route to each geo-fence in the plurality of geo-fences based on the first location associated with the client device and the identified mode of travel, the determining of the travel route for at least one geo-fence in the plurality of geo-fences including; identifying at least one obstacle on the travel route; based on the identified mode of travel, determining whether the identified mode of travel by which the client device is traveling would be able to traverse the identified at least one obstacle; and in accordance with a determination that the identified mode of travel by which the client device is traveling would be unable to traverse the at least one obstacle, calculating the travel route such that the at least one obstacle is avoided; calculating a time to reach of the client system to each of the plurality of geo-fences based on the predicted travel route and the mode of travel, the time to reach indicating an arrival time to each of the plurality of geo-fences; ranking the plurality of geo-fences based on the time to reach of each geo-fence of the plurality of geo-fences; selecting a target geo-fence from the plurality of geo-fences based on a ranking of the target geo-fence in the plurality of geo-fences, the target geo-fence having a corresponding notification range, the corresponding notification range defining a time period within which notifications are to be presented at the client system, the time period comprising an earliest notification value and a latest notification value, such that no notification is generated before the earliest notification value and no notification is generated after the latest notification value; determining that the arrival time of the client device to the target geo-fence is within the time period defined by the corresponding notification range; and in accordance with the determination that the time to reach value associated with the target geo-fence is less than or equal to the notification range, presenting a notification that identifies the target geo-fence at the client system. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14)
-
-
15. A server system comprising:
-
one or more processors; memory; and one or more programs stored in the memory, the one or more programs comprising instructions for; accessing a current location of a client system; identifying a plurality of geo-fences based on the current location of the client system; receiving movement path data from the client system; determining an average travel speed for the client system; identifying a mode of travel for a user associated with the client system based on at least the average travel speed and the movement path data; calculating a predicted travel route to each geo-fence in the plurality of geo-fences based on the current location of the client system and the identified mode of travel, the calculating of the predicted travel route for at least one geo-fence in the plurality of geo-fences including; identifying at least one obstacle on the predicted travel route; based on the identified mode of travel, determining whether the identified mode of travel by which the client system is traveling would be able to traverse the identified at least one obstacle; calculating a time to reach of the client system to each geo-fence of the plurality of geo-fences based on the predicted travel route for each geo-fence and the average travel speed for the client system, the time to reach indicating an arrival time to each of the plurality of geo-fences; ranking the plurality of geo-fences based on the time to reach of each geo-fence of the plurality of geo-fences; selecting a target geo-fence from the plurality of geo-fences based on a ranking of the target geo-fence in the plurality of geo-fences, the target geo-fence having a corresponding notification range, the corresponding notification range defining a time period within which notifications are to be presented at the client system, the time period comprising an earliest notification value and a latest notification value, such that no notification is generated before the earliest notification value and no notification is generated after the latest notification value; determining that the arrival time of the client device to the target geo-fence is within the time period defined by the corresponding notification range; and in accordance with the determination that the time to reach value associated with the target geo-fence is less than or equal to the notification range, presenting a notification that identifies the target geo-fence at the client system.
-
Specification