US 12,133,136 B2
Systems and methods for mobile device location prediction
Can Liang, Mountain View, CA (US); Huitao Luo, Fremont, CA (US); Pravesh Katyal, Mountain View, CA (US); Saravana Ravindran, Mountain View, CA (US); Hari Venkatesan, Cupertino, CA (US); Yi Jia, San Jose, CA (US); and Shashi Seth, Mountain View, CA (US)
Assigned to xAd, Inc., New York, NY (US)
Filed by xAd, Inc., New York, NY (US)
Filed on Jun. 20, 2023, as Appl. No. 18/338,227.
Application 18/338,227 is a continuation of application No. 17/135,909, filed on Dec. 28, 2020, granted, now 11,683,655.
Application 17/135,909 is a continuation of application No. 16/775,191, filed on Jan. 28, 2020, granted, now 10,880,682, issued on Dec. 29, 2020.
Application 16/775,191 is a continuation of application No. 16/397,368, filed on Apr. 29, 2019, granted, now 10,547,971, issued on Jan. 28, 2020.
Application 16/397,368 is a continuation in part of application No. 15/999,330, filed on Aug. 17, 2018, granted, now 10,278,014, issued on Apr. 30, 2019.
Application 15/999,330 is a continuation of application No. 15/344,482, filed on Nov. 4, 2016, granted, now 10,165,403, issued on Dec. 25, 2018.
Claims priority of provisional application 62/251,090, filed on Nov. 4, 2015.
Prior Publication US 2023/0413010 A1, Dec. 21, 2023
This patent is subject to a terminal disclaimer.
Int. Cl. H04W 4/021 (2018.01); G06N 20/00 (2019.01); H04W 4/029 (2018.01); H04W 4/18 (2009.01)
CPC H04W 4/021 (2013.01) [G06N 20/00 (2019.01); H04W 4/029 (2018.02); H04W 4/185 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A method performed by one or more computer systems coupled to a packet-based network, each of the one or more computer systems including at least one processor, the method comprising:
obtaining, by a processor of the one or more computer systems, geo data related to real-world objects including transportation routes and natural boundaries in a geographical area;
partitioning, by a processor of the one or more computer systems, the geographical area into geo-blocks using the geo data, each of the geo-blocks bordering one or more real-world objects within the geographical area, at least some of the geo-blocks each bordering on all sides or multiple sides by real-world objects;
receiving, by a processor of the one or more computer systems, a first plurality of requests from the packet-based network, the first plurality of requests being associated with a first plurality of mobile devices communicating with the packet-based network, a respective request of the first plurality of requests having a respective time stamp and including respective request data identifying an associated mobile device and indicating a respective location of the associated mobile device;
processing, by a processor of the one or more computer systems, the first plurality of requests with respect to at least some of the geo-blocks and with respect to a plurality of geo-fences associated with a plurality of points of interests (POIs) to generate entries in one or more databases, the entries including a first plurality of entries corresponding, respectively, to the first plurality of requests, the first plurality of entries including at least a first entry corresponding to a first request and a second entry corresponding to a second request, the first entry having a first time stamp corresponding to a time stamp of the first request and identifying one of the geo-blocks that is triggered by a first location indicated by the first request, the second entry having a second time stamp corresponding to a time stamp of the second request and identifying at least one POI of the plurality of POIs, the at least one POI having at least one geo-fence triggered by a second location indicated by the second request;
constructing a first feature space for a plurality of mobile devices using a first set of entries, each of the first set of entries being associated with one of the plurality of mobile devices and having a time stamp within a first time period;
determining a set of labels related to one or more predetermined locations for the plurality of mobile devices using a second set of entries, each of the second set of entries having a time stamp within a first time frame after the first time period;
machine training a location prediction model using the feature space and the set of labels;
constructing one or more feature sets for one or more mobile devices using a third set of entries, each of the third set of entries being associated with one of the one or more mobile devices and having a time stamp within a second time period; and
applying the location prediction model to the one or more feature sets to obtain probability of each of the one or more mobile devices being at any of the one or more predetermined locations during a second time frame after the second time period.