A facility comprising methods and systems for discovering travel patterns based at least in part on data collected from a plurality of dynamic and/or mobile sensor devices is disclosed. The mobile sensor devices sense or detect the presence of nearby devices and record information about each detection, such as the location, the date and time, and an identifier of the detected device and provide this information to the facility. Thus, the facility can leverage the communication capabilities of existing mobile devices and networks to provide a broad, wide-ranging, scalable sensor network that detects the presence of individual devices. By recording and analyzing the encounter data received from various mobile sensor devices, the facility can ascertain or estimate the path of devices and their associated users. Given the availability of mobile devices and mobile networks, the disclosed techniques can be deployed without a substantial investment in infrastructure and maintenance.
|
9. A computing system comprising:
a memory; and
one or more processors configured to:
receive encounter data from each of a plurality of mobile sensor devices, the encounter data comprising:
a plurality of encounters, each encounter specifying an indication of a device detected by the mobile sensor device,
a location, and
a time,
identify unique devices from among the encounter data, and
for each identified unique device,
identify encounters for the identified unique device,
determine trajectories for the identified unique device, each trajectory comprising exactly two encounters beginning at a first encounter of the identified unique device and ending at the next chronological encounter of the identified unique device,
filter the determined trajectories,
determine trips for the identified unique device, and
for each determined trip,
estimate a route for the trip, and
in response to determining that the estimated route is to be displayed, cause the estimated route to be displayed.
5. A computer-readable hardware device storing instructions that, if executed by a computing system having a processor, cause the computing system to perform operations comprising:
identifying a plurality of unique devices detected by at least one of a plurality of mobile sensor devices; and
for each of the identified unique detected devices,
identifying encounters of the identified unique detected device based at least in part on received encounter data,
chronologically ordering the identified encounters of the identified unique detected device,
determining at least one directed line segment for the identified detected device based at least in part on the received encounter data, each directed line segment comprising exactly two encounters beginning at a first encounter of the identified unique detected device and ending at the next chronological encounter of the identified unique detected device,
wherein at least one directed line segment for the identified detected device comprises a first encounter received from a first mobile sensor device and a last encounter received from a second mobile sensor device, and
based at least in part on the at least one directed line segment determined for the identified detected device, estimating a route for at least one trip for the identified detected device.
1. A method, performed by a computing system having a processor, for estimating the travel path of a plurality of unique devices, the method comprising:
receiving, from each of a plurality of mobile sensor devices, encounter data comprising a plurality of encounters, each encounter specifying an indication of a unique device detected by the mobile sensor device, a location, and a time,
wherein encounter data received from a first mobile sensor device and encounter data received from a second mobile sensor device include at least one encounter specifying an indication of a first unique device;
based at least in part on the received encounter data, identifying a plurality of unique devices detected by the mobile sensor devices; and
for each of the identified detected unique devices,
identifying encounters of the identified detected device from the received encounter data;
chronologically ordering the identified encounters for the identified detected device from the received encounter data;
determining at least one directed line segment for the identified detected device based at least in part on the received encounter data, each directed line segment beginning at a first encounter of the identified detected device and ending at the next chronological encounter of the identified detected device, and
based at least in part on the at least one directed line segment determined for the identified detected device, estimating a route for at least one trip for the identified detected device, wherein each directed line segment comprises exactly two encounters.
3. The method of
4. The method of
6. The computer-readable hardware device of
receiving, from a first mobile sensor device, first encounter data comprising a plurality of encounters, each encounter specifying an indication of a detected device, coordinates, and a timestamp;
receiving, from the second mobile sensor device, second encounter data comprising a plurality of encounters, each encounter specifying an indication of a detected device, coordinates, and a timestamp.
7. The computer-readable hardware device of
an encounter of the first encounter data specifying the first detected device, and
an encounter of the second encounter data specifying the first detected device.
8. The computer-readable hardware device of
identifying a plurality of potential routes for the at least one trip, each route having a plurality of associated route segments;
for each of the identified plurality of potential routes,
for each of the route segments associated with the potential route,
determining a cost for the route segment,
determining a popularity for the route segment, and
determining a score for the route segment based at least in part on the determined cost and the determined popularity,
determining a route score for the potential route based at least in part on the scores determined for the route segments associated with the potential route; and
selecting a route from among the potential routes based at least in part on the determined route scores.
10. The computing system of
11. The computing system of
12. The computing system of
13. The method of
clustering directed line segments for at least one mobile sensor device based at least in part on a speed associated with each directed line segment.
14. The method of
clustering directed line segments for at least one mobile sensor device based at least in part on a location associated with each directed line segment.
15. The method of
16. The method of
17. The method of
18. The method of
19. The method of
20. The method of
21. The computing system of
identifying potential routes for the trip;
for each identified potential route,
for each route segment of the identified potential route,
determining a cost for the route segment,
determining a popularity for the route segment, and
determining a score for the route segment,
determining a score for the identified potential route; and
selecting a route from among the identified potential routes.
|
This application claims the benefit of U.S. Provisional Patent Application No. 61/619,184, titled TRAVEL PATTERN DISCOVERY USING MOBILE DEVICE SENSORS, filed on Apr. 2, 2012 and U.S. Provisional Patent Application No. 61/780,095, titled TRAVEL PATTERN DISCOVERY USING MOBILE DEVICE SENSORS, and filed on Mar. 13, 2013, each of which is herein incorporated by reference in its entirety.
Determining and understanding how individuals navigate between places on foot is important to many aspects of society. City planners, civil engineers, marketing companies, business owners, forest rangers, and so on are all interested in understanding travel patterns so that they can understand the needs of those they serve and improve the services they provide. For example, a city planner may determine that various pathways or walkways need to be improved based on detected or known travel patterns. As another example, a forest ranger may determine that a particular trail should be closed or highlighted if the trail is used infrequently. As another example, a marketing company made decide where to place (or not place) advertisements or other marketing materials based on travel patterns.
Present data collection approaches for foot travel include surveys, manual counts, stationary sensors (infra-red trip line sensors or inductance loops), and video-based data collection system. With the exception of widely-distributed surveys, these approaches provide data for a very limited region (e.g., a single data collection point) or require infrastructure that can be expensive to install and maintain. Similarly, widely-distributed surveys can be expensive to disseminate and process and may suffer from self-selection bias as some individuals simply will not take the time to complete surveys. Furthermore, some communities choose to conduct surveys or travel pattern studies infrequently (due to costs), such as once per year. This approach does not provide adequate travel pattern data as it does not account for changes in travel patterns throughout the year or even over the course of a day. Current techniques for determining and understanding pedestrian travel patterns are typically expensive to install and maintain, do not scale well, and do not provide sufficient data to monitor a wide area over a wide timeframe.
A facility comprising methods and systems for discovering travel patterns based at least in part on data collected from a plurality of dynamic and/or mobile sensor devices is disclosed. In some embodiments, the mobile sensor devices sense or detect the presence of nearby devices and record information about each detection, such as the location (e.g., Global Positioning System (GPS) coordinates), the date and time (e.g., a UTC timestamp), an identifier or other indication of the detected device (e.g., a media access control address (MAC)), a device type for the detected device (e.g., mobile phone, watch, personal digital assistant, media player, notebook computer, tablet, headset, in-vehicle system, valve cap, thermometer), and so on. For example, many mobile devices broadcast unique MAC addresses periodically while in, for example, a “discoverable” mode. Furthermore, these broadcasts can occur promiscuously such that all potential listeners (e.g., mobile sensor devices) may acquire the MAC address of the broadcasting device(s) freely. A mobile device, such as a mobile telephone, tablet, or vehicle navigation system, may be configured as a mobile sensor device by, for example, downloading and installing an application that periodically scans for wireless communications from other devices and/or enabling a promiscuous mode of the mobile device. The mobile sensor devices can detect the broadcasts of other devices and record information about the time and location of each detection. For example, as a mobile sensor device, such as a mobile telephone, is carried on a city street, a college campus, a crowded subway platform, etc., the mobile sensor device may encounter and detect any number of devices. The information associated with each detection, or “encounter,” can be recorded and/or transmitted for retrieval and analysis. A single device may be detected at various locations by different mobile sensor devices as the detected device and the mobile sensor devices move throughout their environment. In this manner, the facility can leverage the communication capabilities of existing mobile devices and networks to provide a broad, wide-ranging, scalable sensor network that detects the presence and path of individual devices. By recording and analyzing the encounters, the facility can ascertain or estimate the path of devices and their associated users. Moreover, given the availability of mobile devices and mobile networks, the disclosed techniques can be deployed without a substantial investment in infrastructure and maintenance.
In some embodiments, the facility periodically receives encounter data from mobile sensor devices. The encounter data includes, for each encounter, an indication of when and where the encounter occurred, an indication of the encountered device, and an indication of a device type. Because the detected devices and the mobile sensor devices are likely to move over time, multiple mobile sensor devices may encounter and detect a single device. In other words, a single device may be encountered and detected by different mobile sensor devices at different times and at different locations. Similarly, a single device may be encountered and detected by the same mobile sensor device at different times and at different locations. Based at least in part on the received encounter data, the facility can identify unique devices among the detected devices and can construct a rough estimate of the path of the device over time, even if the successive encounters are with different mobile sensor devices. For each successive encounter, the facility can establish a trajectory for the device based at least in part on the temporal and spatial displacement between each encounter. The facility can use the trajectories as a basis for approximating the path of the device and these paths can be used to assess travel patterns for devices and their associated users.
In some embodiments, the facility constructs a set of trips for a device based at least in part on a set of related trajectories. For example, a device may be detected several times in one neighborhood on one day and again several days later in another neighborhood and construct a series of trajectories based at least in part on these encounters. The facility may distinguish between the two trips based at least in part on the gap in time between the last encounter of the first day and the first encounter of the second day. In some embodiments, the facility may be use finer levels of granularity to distinguish between trips. For example, if a device is detected several times traveling in a particular area and then is not detected or is detected in approximately the same area (e.g., within 5 feet, 10 feet, 50 feet) for at least a threshold period of time (e.g., 15 minutes, one hour, 12 hours), the facility may consider detections prior to the “break” one trip and detections after the “break” another trip, such as trips to and from work, trips to and from lunch, trips to and from a shopping excursion, and so on. As another example, the facility may use mode of transportation (e.g., walking, bicycle, vehicle, train) to distinguish between trips. The facility may distinguish between modes of transportation based at least in part on, for example, the speed (distance divided by time) of each trajectory, the device type (e.g., in-vehicle system vs. pedometer), and so on.
In some embodiments, the facility estimates travel paths or routes for one or more trips. Because the mobile sensor devices are not fixed, a device may be detected by multiple mobile sensor devices at any number of points along its route and a device may travel along any of a number of different paths or routes between successive encounters. For example, when traveling from one side (point A) of a building, fountain, lake, or other obstacle, to another side (point B), a device may travel around the obstacle, through the obstacle, across the obstacle, and so on, such as through a building or across a bridge. However, if the device is not encountered by a mobile sensing device as it traverses from point A to point B, the facility may not know with certainty which path or route the device took between point A and point B. However, the facility can use information about various routes and route segments (e.g., travel time, cost, difficultly, distance, ratings, popularity) an estimate the likely path taken between point A and point B. As the number of encounters for a device increases for a particular trip, as the does the likelihood that the estimated route will correspond to the route actually taken by the device. For example, if a mobile sensor device and a detected device are traveling along the same route at approximately the same speed and direction, the “resolution” for the detected device's trip will be greater than for a detected device that is traveling in the opposite direction and that has very few encounters with mobile sensor devices.
The computing devices on which the disclosed systems are implemented may include a central processing unit, memory, input devices (e.g., keyboard and pointing devices), output devices (e.g., display devices), and storage devices (e.g., disk drives). The functions or algorithms of the facility and other systems/devices described herein are implemented in hardware, and/or software in embodiments. The software comprises computer executable instructions on computer readable media. Non-transitory computer-readable media include tangible media such as hard drives, CD-ROMs, DVD-ROMS, and memories such as ROM, RAM, and Compact Flash memories that can store instructions. Signals on a carrier wave such as an optical or electrical carrier wave are examples of transitory computer-readable media. Further, such functions correspond to modules, which are software, hardware, firmware, or any suitable combination thereof. Multiple functions are performed in one or more modules as desired, and the embodiments described are merely examples. A digital signal processor, ASIC, microprocessor, or any other suitable type of processor operating on a system, such as a personal computer, server computer, supercomputing system, a router, or any other device capable of processing data including network interconnection devices executes the software. Instructions, data structures, and message structures may be transmitted via a data transmission medium, such as a signal on a communications link and may be encrypted. Various communications links may be used, such as the Internet, a local area network, a wide area network, a personal area network, a point-to-point dial-up connection, a cell phone network, and so on.
The disclosed technology may be described in the general context of computer-executable instructions, such as program modules, executed by one or more computers or other devices. Generally, program modules include routines, programs, objects, components, data structures, and so on that perform particular tasks or implement particular abstract data types. Typically, the functionality of the program modules may be combined or distributed as desired in various embodiments.
Many embodiments of the technology described herein may take the form of computer-executable instructions, including routines executed by a programmable computer. Those skilled in the relevant art will appreciate that aspects of the technology can be practiced on computer systems other than those shown and described herein. Embodiments of the technology may be implemented in and used with various operating environments that include personal computers, server computers, handheld or laptop devices, multiprocessor systems, microprocessor-based systems, programmable consumer electronics, digital cameras, network PCs, minicomputers, mainframe computers, computing environments that include any of the above systems or devices, and so on. Moreover, the technology can be embodied in a special-purpose computer or data processor that is specifically programmed, configured or constructed to perform one or more of the computer-executable instructions described herein. Accordingly, the terms “computer” or “system” as generally used herein refer to any suitable data processor and can include Internet appliances and handheld devices (including palmtop computers, wearable computers, cellular or mobile phones, multi-processor systems, processor-based or programmable consumer electronics, network computers, mini computers and the like). Information handled by these computers can be presented at any suitable display medium, including a CRT display or LCD.
The technology can also be practiced in distributed environments, where tasks or modules are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules or subroutines may be located in local and remote memory storage devices. Aspects of the technology described herein may be stored or distributed on computer-readable media, including magnetic or optically readable or removable computer disks, as well as distributed electronically over networks. Data structures and transmissions of data particular to aspects of the technology are also encompassed within the scope of the technology.
where scoresegment represents the score determined for the route segment, W1 represents a pre-defined constant corresponding to a popularity weighting factor, f(popularity) represents a determined popularity function for the segment, popularity represents the volume of individuals encountered along the segment (e.g., the number of individuals encountered during a predetermined period, such as the last hour, day, week, month or the average number of individuals encountered during a previous set of time periods, such as 7 am to 9 am for the past 6 months, 10 am to noon for the previous year, 5 pm to 7 pm during last March or last spring, noon to 1:30 pm Monday through Friday, and so on), W2 represents a pre-defined constant corresponding to weighting factor for cost, cost represents the determined cost for the segment (e.g., “length” in terms of distance or duration), h( . . . ) is a function that incorporates other potential factors (e.g., privacy, link centrality, attractions, etc.), α represents a route popularity weight, βi represents a weight of a particular parameter included in h( . . . ) and γ is the maximum allowable proportion of the cost that can be affected by all factors, which ensures that the maximum allowable decrease in link cost is not more than γ*cost. In some embodiments, f(popularity) is a simple quadratic function, first starting at zero, growing positive, then reducing and becoming negative in order to represent an individual's desire to walk on populated paths, but not ones that are too crowded. For example, f(popularity) may be calculated according to the following formula:
and BT is the percentage of individuals with Bluetooth-visible devices, t is the evaluation time interval length in minutes, and the constant 15 is derived from the Level of Service E defined as 15 ppl/ft/min in the Highway Capacity Manual Level of Service. Level of Service E is considered to be the turning point where pedestrian density becomes a detractor. One skilled in the art will recognize that the constant may be derived from other sources and that other values may be used for the constant and/or other percentages of individuals may be used in place of BT (e.g., percentage of individuals with mobile devices, percentage of users with GPS devices).
In block 540, the component selects the next route segment for the potential route, if any, and then loops back to block 520. In block 545, the component determines a score for the currently-selected potential route based at least in part on, for example, a summation or other aggregation of the scores determined for each associated route segment. In block 550, the component selects the next potential route, if any, and then loops back to block 515. In block 555, the component selects a route from among the potential routes based at least in part on the scores determined for each potential route and then returns the selected route. For example, the component may select the route with the highest score.
From the foregoing, it will be appreciated that specific embodiments of the technology have been described herein for purposes of illustration, but that various modifications may be made without deviating from the disclosure. The facility can include additional components or features, and/or different combinations of the components or features described herein. For example, in various embodiments, the facility may employ Dijkstra's algorithm when computing a path or route between any two points or encounters and/or other algorithms, such as the Bellman-Ford algorithm, breadth-first search, depth-first search, Euclidean shortest path algorithm, Floyd-Warshall algorithm, and so on. Additionally, while advantages associated with certain embodiments of the new technology have been described in the context of those embodiments, other embodiments may also exhibit such advantages, and not all embodiments need necessarily exhibit such advantages to fall within the scope of the technology. Accordingly, the disclosure and associated technology can encompass other embodiments not expressly shown or described herein. Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims. Accordingly, the invention is not limited except as by the appended claims.
Wang, Yinhai, Malinovskiy, Yegor
Patent | Priority | Assignee | Title |
10650621, | Sep 13 2016 | RPX Corporation | Interfacing with a vehicular controller area network |
11232655, | Sep 13 2016 | ioCurrents, Inc. | System and method for interfacing with a vehicular controller area network |
Patent | Priority | Assignee | Title |
7076365, | May 12 2003 | Malikie Innovations Limited | Enhanced dead reckoning method |
7486199, | Nov 17 2005 | NISSAN MOTOR CO , LTD | Forward vehicle brake warning system |
20040073361, | |||
20080076483, | |||
20090210141, | |||
20090258660, | |||
20100271263, | |||
20100302070, | |||
20110137551, | |||
20120163206, | |||
20130179067, | |||
20130311088, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Apr 02 2013 | University of Washington Through Its Center for Commercialization | (assignment on the face of the patent) | / | |||
Apr 05 2013 | MALINOVSKIY, YEGOR | University of Washington Through Its Center for Commercialization | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 030507 | /0735 | |
Apr 05 2013 | WANG, YINHAI | University of Washington Through Its Center for Commercialization | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 030507 | /0735 |
Date | Maintenance Fee Events |
Dec 05 2019 | M2551: Payment of Maintenance Fee, 4th Yr, Small Entity. |
Feb 12 2024 | REM: Maintenance Fee Reminder Mailed. |
Jul 29 2024 | EXP: Patent Expired for Failure to Pay Maintenance Fees. |
Date | Maintenance Schedule |
Jun 21 2019 | 4 years fee payment window open |
Dec 21 2019 | 6 months grace period start (w surcharge) |
Jun 21 2020 | patent expiry (for year 4) |
Jun 21 2022 | 2 years to revive unintentionally abandoned end. (for year 4) |
Jun 21 2023 | 8 years fee payment window open |
Dec 21 2023 | 6 months grace period start (w surcharge) |
Jun 21 2024 | patent expiry (for year 8) |
Jun 21 2026 | 2 years to revive unintentionally abandoned end. (for year 8) |
Jun 21 2027 | 12 years fee payment window open |
Dec 21 2027 | 6 months grace period start (w surcharge) |
Jun 21 2028 | patent expiry (for year 12) |
Jun 21 2030 | 2 years to revive unintentionally abandoned end. (for year 12) |