US 12,241,748 B2
Sequential location trace clustering
Michael Charles Albada, San Francisco, CA (US)
Assigned to Uber Technologies, Inc., San Francisco, CA (US)
Filed by Uber Technologies, Inc., San Francisco, CA (US)
Filed on Jul. 15, 2021, as Appl. No. 17/305,854.
Claims priority of provisional application 62/705,811, filed on Jul. 16, 2020.
Prior Publication US 2022/0018665 A1, Jan. 20, 2022
Int. Cl. G01C 21/34 (2006.01); G06F 16/28 (2019.01); G06Q 10/047 (2023.01)
CPC G01C 21/3415 (2013.01) [G06F 16/285 (2019.01); G06Q 10/047 (2013.01)] 17 Claims
OG exemplary drawing
 
1. A method comprising:
generating, based on aggregated data from previous transportation services, a plurality of paths between an origin corresponding to a start point and a destination corresponding to a destination point based on sequential location trace clustering using DBSAN or K-meanings clustering;
receiving, by a network system, a request for a transportation service from a client device of a user, the request indicating the destination point and being associated with the start point, the start point corresponding to a location at a time the user requested the transportation service and the destination point corresponding to a pickup location;
in response to receiving the request, identifying, based on the sequential location trace clustering using DBSAN or K-means clustering by a processor of the network system, the plurality of paths between the start point and the destination point;
selecting a path from the plurality of paths based on a ranking of the plurality of paths;
causing, by the network system, the client device to present the selected path of the plurality of paths on a user interface;
monitoring, in real-time via one or more sensors associated with the client device, a current location of the user as the user traverses the selected path;
detecting that the current location is a deviation from the selected path;
in response to the detecting, reranking the plurality of paths to determine a second path of the plurality of paths that is closer to the current location;
based on the reranking, replacing a portion of the selected path with a portion of the second path to generate an updated path; and
causing the client device to update the user interface to present the updated path.