A method for monitoring vehicle motion using a mobile device associated with a user including collecting activity data at a mobile device associated with the user; determining a user activity state based on the activity data; determining motion data collection parameters associated with an operating state of the mobile device, based on the user activity state; and collecting motion data at the mobile device based on the motion data collection parameters.

Patent
   11082817
Priority
Nov 27 2017
Filed
Mar 08 2019
Issued
Aug 03 2021
Expiry
Aug 03 2039

TERM.DISCL.
Extension
249 days
Assg.orig
Entity
Small
0
203
currently ok
7. A method for monitoring vehicle motion using a mobile device associated with a user, comprising:
receiving a trigger at an application executing on the mobile device in an idle state, wherein the application is operable between the idle state, an in-detection state, and a drive state;
in response to the trigger, operating the application in the in-detection state, comprising:
collecting activity data using at least one of a motion sensor and a location sensor of the mobile device,
determining a user activity state based on the activity data according to a user activity model, and
based on the user activity state, operating the application in one of the idle state and the drive state.
1. A method for monitoring vehicle motion using a mobile device associated with a user, comprising:
at an application executing on the mobile device in an idle state, detecting that the user has breached a first geofence using at least one of a motion sensor and a location sensor of the mobile device, wherein the first geofence defines a first origin and a first radius, wherein the application is operable between the idle state, an in-detection state, and a drive state;
transitioning the application into the in-detection state in response to detecting that the user has breached the first geofence;
determining, at the application in the in-detection state, that the user is in a driving activity state based on a user activity model;
transitioning the application into the drive state at a time point in response to determining that the user is in the driving activity state, wherein the drive state comprises:
collecting a movement dataset using at least one of the motion sensor and the location sensor,
analyzing the movement dataset to generate a set of vehicle movement characteristics; and
transmitting the set of vehicle movement characteristics to a database and storing the set of vehicle movement characteristics in association with the user and the time point.
2. The method of claim 1, wherein the motion sensor comprises an accelerometer, and wherein the location sensor comprises a GPS sensor.
3. The method of claim 1, further comprising collecting supplementary data at an auxiliary sensor of the mobile device, and determining that the user is in the driving activity state based on the user activity model in combination with the supplementary data.
4. The method of claim 3, wherein the supplementary data comprises audio data, and wherein the auxiliary sensor comprises a microphone that is inactive in the idle state of the application and active in the in-detection state of the application.
5. The method of claim 1, wherein the drive state further comprises determining a second origin and a second radius based on the movement dataset, and regenerating the first geofence at the second origin and with the second radius.
6. The method of claim 5, wherein determining the second radius based on the movement dataset comprises calculating the second radius based on a vehicle speed extracted from the movement dataset.
8. The method of claim 7, wherein the user activity model comprises a tree-based model defining a set of linked nodes, wherein each node of the linked nodes comprises a binary test condition, and wherein determining the user activity state comprises evaluating the binary test condition of each node along a first path traversing the set of linked nodes.
9. The method of claim 8, wherein evaluating the binary test condition of each node along the first path is associated with a corresponding resource cost, and wherein the corresponding resource cost of each node is greater than a resource cost of a preceding node along the first path.
10. The method of claim 9, wherein the corresponding resource cost of each node comprises an energy requirement associated with evaluating the binary test condition using a processor of the mobile device.
11. The method of claim 7, further comprising, in response to operating the application in the drive state: collecting a movement dataset using at least one of the motion sensor and the location sensor, and analyzing the movement dataset to generate a set of vehicle movement characteristics.
12. The method of claim 11, wherein determining the user activity state according to the user activity model comprises:
accumulating a series of activity updates extracted from the movement dataset;
determining that the user activity state is a driving state based on a comparison between the series of activity updates and a predetermined pattern of activity updates associated with driving; and wherein
operating the application in one of the idle state and the drive state comprises operating the application in the drive state.
13. The method of claim 11, wherein collecting the movement dataset comprises collecting location data using the location sensor and motion data using the motion sensor, and wherein operating the application in the drive state further comprises:
ceasing collecting location data at the location sensor in response to determining that a vehicle speed is below a threshold value while continuing collecting motion data at the motion sensor, and
resuming collecting location data in response to determining that the vehicle speed exceeds the threshold value.
14. The method of claim 11, wherein operating the application in the drive state further comprises:
detecting a cessation condition, and
transitioning the application into the idle state in response to detecting the cessation condition, wherein the cessation condition comprises a speed value extracted from the movement dataset falling below a threshold value continuously over a predetermined time period.
15. The method of claim 11, wherein operating the application in the drive state further comprises:
determining a geofence defining an origin at an instantaneous location of the mobile device and a radius, wherein the radius is proportional to an instantaneous speed of the mobile device;
detecting a breach of the geofence and an elapsed time between determining the geofence and detecting the breach;
in response to the elapsed time exceeding a threshold time, transitioning the application into the idle state; and
in response to the elapsed time falling below threshold time, regenerating the geofence wherein the origin is defined at a new instantaneous location of the mobile device at the elapsed time.
16. The method of claim 7, further comprising, in response to operating the application in the idle state: resetting a trigger condition, wherein satisfaction of the trigger condition generates the trigger.
17. The method of claim 16, wherein receiving the trigger comprises detecting that the user has breached a first geofence defining a first origin and a first radius, and wherein resetting the trigger condition comprises regenerating the first geofence with a second origin coincident with a location of the mobile device and a second radius.
18. The method of claim 16, wherein determining the user activity state according to the user activity model comprises determining that the user activity state is a non-driving state and wherein operating the application in one of the idle state and the drive state comprises operating the application in the idle state.
19. The method of claim 7, wherein operating the application in the in-detection state further comprises:
collecting supplementary data at an auxiliary sensor of the mobile device, and
determining that the user is in the driving activity state based on the user activity model in combination with the supplementary data.
20. The method of claim 19, wherein the supplementary data comprises audio data, and wherein the auxiliary sensor comprises a microphone that is inactive in the idle state of the application, and active in the in-detection state of the application.

This application is a continuation of U.S. application Ser. No. 16/201,955, filed 27 Nov. 2018, which claims the benefit of U.S. Provisional Application Ser. No. 62/679,497, filed 1 Jun. 2018, and U.S. Provisional Application Ser. No. 62/590,945, filed 27 Nov. 2017, each of which is incorporated herein in its entirety by this reference.

This invention relates generally to the vehicular activity monitoring field, and more specifically to a new and useful system and method for monitoring vehicle-related user activity and vehicle motion in the vehicular activity monitoring field.

In order to monitor and understand driving behavior using mobile phone sensor data, it is often necessary to accurately determine whether the vehicle is being driven (e.g., to detect start of driving accurately, to collect data for entire duration of drive, etc.). However, it is important to do this both accurately and efficiently (e.g., while minimizing battery consumption, wasted computational effort, etc.) given various alternative uses and onboard power limitations of mobile devices.

Thus, there is a need in the vehicle monitoring field to create a new and useful system and method for monitoring vehicle motion using a mobile device. This invention provides such a new and useful system and method.

FIG. 1 is a flowchart depiction of a method for monitoring vehicle motion using a mobile device;

FIG. 2 is a flowchart depiction of a variation of a method for monitoring vehicle motion using a mobile device;

FIG. 3 is a schematic representation of an embodiment of a portion of a method for monitoring vehicle motion using a mobile device; and

FIG. 4 is a flowchart depiction of a variation of a method for monitoring vehicle motion using a mobile device.

The following description of preferred embodiments of the invention is not intended to limit the invention to these preferred embodiments, but rather to enable any person skilled in the art to make and use this invention.

As shown in FIG. 1, a method 100 for monitoring vehicle motion includes: collecting activity data at a mobile device associated with the user S110; determining a user activity state based on the activity data S120; determining motion data collection parameters based on the user activity state S130; and collecting motion data at the mobile device based on the motion data collection parameters S140. The method 100 can additionally include: generating an analysis of collected data S150; and transmitting a communication based on an analysis S160.

In one variation, as shown in FIG. 2, the method 100 for monitoring vehicle motion includes: detecting that a user has breached a geofence using a first sensor of the mobile device S112; determining that the user is in a driving activity state based on a user activity model in response to detecting that the user has breached the geofence S122; determining motion data collection parameters corresponding to an operating state of the mobile device of the user, wherein the operating state is determined, based on the driving activity state, to be a drive state S132; and collecting motion data using a second sensor of the mobile device in accordance with the motion data collection parameters S142.

In a second variation, as shown in FIG. 4, the method can include: detecting a wake event in an idle state (e.g., Block 110; operating in an idle state); executing a start event detection process in response to detecting the wake event; detecting a start event using the start event detection process (e.g., Block S122; operating in an in-detection state); executing a drive analysis process in response to start event detection (e.g., Block S132; starting drive state operation); executing an end detection process when the drive analysis process is executed (e.g., before, after, or in parallel with the drive analysis process), and operating in the idle state in response to detection of an end event by the end detection process.

The method 100 can also include analyzing the motion data and extracting a set of vehicle movement characteristics S152, and transmitting a notification to a remote entity based on at least one of the extracted vehicle movement characteristics exceeding a threshold value of a vehicle motion parameter S162.

In specific examples, the method 100 can include any of the processes and/or blocks substantially as described in U.S. application Ser. No. 14/206,721, entitled “System and Method for Determining A Driver in A Telematic Application” and filed 12 Mar. 2014, which is incorporated herein in its entirety by this reference. However, the method 100 can additionally or alternatively include any other suitable blocks and/or processes.

The method 100 functions to enable the accurate detection of the start of a driving session (e.g., driving activity) and collect movement data for the duration of the driving session at a mobile device of the user, while minimizing power consumption of the mobile device (e.g., due to data collection). The method 100 can also function to enable time-efficient and power-efficient collection of vehicle position, velocity, and acceleration (PVA) data. The method 100 can also function to enable accurate and rapid detection of supplementary data (e.g., audio data, vehicle sensor data, etc.).

The method 100 is preferably implemented on a mobile electronic device (e.g., the mobile electronic device of Block S140) removably coupled to a vehicle and/or user (e.g., a smartphone carried inside a car, a smartphone carried by a user); the method 100 may additionally or alternatively be implemented by any electronic device capable of collecting user activity data and vehicle PVA data, and/or a collection of electronic devices in mutual communication and collectively capable of collecting user activity data and vehicle PVA data. The mobile electronic device(s) may be referred to as a mobile device and/or a navigation device. The method is preferably performed by a client or application, but can be performed by a piece of hardware (e.g., an ASIC) or any suitable system. The client preferably runs on a mobile device, but can alternatively run on any other suitable computing system. The client can be a native application, a browser application, an operating system application, or be any other suitable application or executable.

The vehicle to which the mobile electronic device is removably coupled, and in the context of which variations of the method 100 can be implemented, can be an automotive vehicle (e.g., a car, truck, SUV, etc.), a light electric vehicle (e.g., an electric bike, an electric scooter, an electric skateboard, any other suitable electric vehicle that is configured to carry at least one human, etc.), an aerial vehicle (e.g., a fixed wing aircraft, a rotary wing aircraft, a drone, a hovercraft, etc.), a mass transit land vehicle (e.g., a bus, a locomotive train, a light-rail train, etc.), an aquatic vehicle (e.g., a pleasure craft, a ferry, a hydrofoil craft, etc.), and/or any other suitable vehicle.

Variations of the method can afford various benefits and/or advantages.

First, the technology can leverage non-generic location data (e.g., location datasets, GPS data, beacon data, etc.) and/or motion data (e.g., motion datasets, accelerometer data, gyroscope data, etc.) to conveniently and unobtrusively determine the beginning of a driving session, vehicle motion characteristics during the driving session, and the conclusion of the driving session (e.g., to facilitate data collection during the time of the driving session but not outside the time of the driving session). In examples, the location data and/or motion data can be passively collected at a user's mobile computing device (e.g., a smartphone, a tablet, etc.), such that the technology can perform driving event determination and/or receive driving-related communications without requiring a user to purchase additional hardware (e.g., a specialized onboard device for monitoring traffic-related events, a purpose-built such device, etc.) or for the user to manually indicate the beginning and/or end of a driving session.

Second, the technology can automatically initiate collection of driving data (e.g., movement datasets associated with a driving session), and analyses that result in performance of traffic-related actions (e.g., actions relating to driving on a roadway, in traffic-related scenarios, etc.). Traffic-related actions can include any one or more of controlling the user device, sending a notification to the user or a related entity, generating user-specific content, and/or other suitable user-related actions. Traffic-related actions can additionally or alternatively include controlling the vehicle or subsystems of the vehicle (e.g., brakes, throttle, signals, lights, steering, HVAC, audio-visual, etc.), generating control instructions (e.g., auditory instructions, visual instructions, etc.) for provision to a driver, and/or other suitable control-related actions. Further, in examples, the type of initiated traffic-related action can be tailored to the particular traffic-related communication or event based on movement data (e.g., motion data, location data, etc.) and/or supplemental data. In examples, the technology can include a software development kit for third-parties to integrate the traffic-related communication features into various applications, thereby enabling third-parties to leverage traffic-related event data that is automatically determined and/or communicated in relevant geographic areas for purposes of driving education, ride sharing, valet services, navigation, roadside assistance, insurance processing, emergency services, autonomous vehicle control, advanced driver assistance system operation, and/or other suitable services and applications.

Third, the technology can improve the technical fields of at least vehicle telematics, inter-vehicle networked communication, computational modeling of traffic-related events, and traffic-related event determination with mobile computing device data. The technology can continuously collect and utilize non-generic sensor data (e.g., location sensor data, motion sensor data, GPS data, audio/visual data, ambient light data, etc.) to provide real-time determination of traffic-related events and communication of those events to potentially affected entities. Further, the technology can take advantage of the non-generic sensor data and/or supplemental data (e.g., vehicle sensor data, weather data, traffic data, environmental data, biosignal sensor data, etc.) to better improve the understanding of correlations between such data and traffic-related events and/or responses to such events, leading to an increased understanding of variables affecting user behavior while driving and/or riding in a vehicle and/or traffic behavior at the scale of a population of users driving vehicles.

Fourth, the technology can provide technical solutions necessarily rooted in computer technology (e.g., automatic data collection via a mobile computing platform, utilizing computational models to determine traffic-related events from non-generic movement datasets and/or supplementary datasets collected at mobile computing devices, updating the computational models based on event determination and/or communication accuracy, etc.) to overcome issues specifically arising with computer technology (e.g., issues surrounding how to leverage movement data collected by a mobile computing device to determine traffic-related events, how to automatically communicate traffic-related information to initiate traffic-related actions for responding to traffic-related characterization, etc.).

Fifth, the technology can leverage specialized computing devices (e.g., computing devices with GPS location capabilities, computing devices with motion sensor functionality, wireless network infrastructure nodes capable of performing edge computation, etc.) to collect specialized datasets for characterizing traffic behaviors executed by the vehicle (e.g., under the influence of the driver's control, when controlled by an autonomous control system, etc.).

Sixth, the technology can enable prompt collision detection (e.g., substantially as described in U.S. application Ser. No. 15/727,972, filed 9 Oct. 2017, which is incorporated herein in its entirety by this reference), and communication of the collision to relevant entities (e.g., potentially affected vehicles by transmitting a traffic-related communication to mobile devices within those vehicles, an insurance-related entity by transmitting an FNOL to the entity, etc.).

However, the method 100 and/or variations thereof can additionally or alternatively afford any suitable benefits.

As shown in FIG. 1, a method 100 for monitoring vehicle motion includes: collecting activity data at a mobile device associated with the user S110; determining a user activity state based on the activity data S120; determining motion data collection parameters based on the user activity state S130; and collecting motion data at the mobile device based on the motion data collection parameters S140. The method 100 can additionally include: generating an analysis of collected data S150; and transmitting a communication based on an analysis S160.

Block S110 includes collecting activity data. Activity data is preferably data that describes the activity of the user, and more preferably describes the activity of the user in relation to driving of a vehicle. For example, activity data preferably includes data indicative of whether the user is driving (e.g., actively controlling a vehicle, riding in a vehicle being actively driven, riding in a moving vehicle, etc.), about to drive (e.g., imminently, within a predetermined threshold time period such as one minute, five minutes, etc.), has stopped driving within a recent time period (e.g., five minutes, one minute, a period equivalent to a movement data collection interval, etc.), and any other suitable characteristic of user activity in relation to driving events (e.g., driving sessions).

In relation to Block S110, driving of a vehicle can include operating a motor vehicle (e.g., an automotive vehicle), using a light vehicle (e.g., a bicycle, a scooter, a skateboard, etc.) which can be powered (e.g., electric powered, gas powered, etc.) and/or unpowered (e.g., human powered, pedaled, etc.), operating any other suitable vehicle as described above, and/or performing any other suitable actions associated with control of a vehicle.

In relation to Block S110, activity data preferably includes movement data (e.g., accelerometer data collected at a sensor of the mobile device of the user) and supplementary data (e.g., contextual data collected in association with the movement data). Supplementary data is preferably data that can be used in combination with, to filter, to control for errors in, and/or otherwise supplement movement data in order to determine user activity (e.g., in Block S120). Additionally or alternatively, supplementary data can be used by portions of the method 100 in a manner independent of movement data. Supplementary data can include any one or more of: user data (e.g., indicative of user information describing one or more characteristics of one or more users and/or associated devices, etc.), audio data (e.g., audio recorded by a plurality of mobile devices; audio associated with a phone call; associated with conversations which can indicate that a user is intending to imminently begin a driving session or is starting a trip; environmental audio; vehicular audio, such as engine audio; etc.), optical data (e.g., imagery; video; internal vehicle-facing optical data of users operating a vehicle; external vehicle-facing optical data of route, landmarks, geographical markers, and/or the speed at which such objects are passing by the optical sensor; optical data capturing users entering or exiting the vehicle, such as from the driver side or passenger side; mobile device camera data; etc.), vehicle data (e.g., vehicle proximity sensor data; OBD data; vehicle operation data; vehicle camera data; PVA data; fuel data; motion sensor data; etc.), traffic data (e.g., route data, which can be used to determine that the mobile device is in a vehicle and/or traversing vehicle-only routes; type of vehicular path such as freeway road or local road; etc.), biometric data (e.g., cardiovascular parameters, such as heart rate, which can be indicative of user driving behavior in response to different traffic conditions; sleep metrics; respiration data; biological fluid data; etc.), environmental data (e.g., weather conditions, which can be correlated with frequency of a particular user to operate a vehicle during such weather conditions; road conditions; pressure conditions; air quality; etc.), and/or any other suitable data for facilitating determination of user activity states, vehicle movement characteristics, and/or other suitable data.

Relating to Block S110, user activity data (e.g., user activity datasets) can include any one or more of: device datasets (e.g., describing devices associated with the user; historical pairings and/or communications with other devices, such as vehicles and/or other user devices via Bluetooth or other communication protocols; etc.); behavioral datasets (e.g., behavior data upon which user activity models can be based or generated for users and/or user accounts; social media datasets derived from social media actions taken by the user and/or related to the user, which can indicate user activity states corresponding to social media actions; physical activity datasets associated with movement patterns of the user; etc.); demographic datasets (e.g., nationality, ethnicity, age, gender, etc.); device event datasets (e.g., associated with text messaging; phone calling; device idling; device charging; application usage; sensor usage; intelligent personal assistants; outputs such as media casting; inputs; etc.), and/or any other suitable datasets associated with a user. Vehicle data can include any one or more of: proximity sensor data (e.g., radar, electromagnetic sensor data, ultrasonic sensor data, light detection and ranging, light amplification for detection and ranging, line laser scanner, laser detection and ranging, airborne laser swath mapping, laser altimetry, sonar, etc.), vehicle camera data (e.g., in-car cameras, exterior cameras, back-up cameras, dashboard cameras, front-view cameras, side-view cameras, image recognition data, infrared camera, 3D stereo camera, monocular camera, etc.), car speed, RPM data, odometer, altimeter, location sensor data (e.g., GPS data, compass data, etc.), motion sensor data (e.g., from an accelerometer, gyroscope, etc.), environmental data (e.g., pressure, temperature, etc.), light sensor data (e.g., from infrared sensors, ambient light sensors, etc.), fuel level (e.g., percentile-based, distance-based, low warning, etc.), fuel system status, oxygen sensor data, throttle position, gear data (e.g., drive, neutral, park, reverse, gear number, etc.), HVAC data (e.g., current temperature, target temperature, etc.), driving status (e.g., restricted features such as user inputs into control panel, unrestricted features, etc.), connectedness status (e.g., near-field communication pairing between the vehicle and a user's mobile device), and/or any other suitable vehicle data. For example, vehicle data can be used in comparisons with mobile device-derived movement data in training, updating, and/or otherwise processing computational models described herein and/or other suitable models. However, supplementary data types can be configured in any suitable manner.

Block S110 preferably includes collecting user activity data at devices used in collecting movement data (e.g., a mobile device associated with the user), but can additionally or alternatively include collecting user activity data at a distinct device (e.g., another mobile device, medical device, other user device, third party database, etc.). For example, Block S110 can include collecting device event data (e.g., application usage, locks, unlocks, etc.) from a mobile device during a time period in which movement data from the mobile device is being collected. In another example, Block S110 can include collecting first supplementary data of a first type (e.g., device event data) from a first mobile device (e.g., where the corresponding user has permitted such data collection, etc.) during a time period; and collecting second supplementary data of a second type (e.g., audio data, etc.) from a second mobile device during the time period. However, collecting supplementary data can be performed at any suitable components associated with any suitable portions of the method 100.

Block S110 can be performed by the application (e.g., a native application executing in the background, a client, etc.); the operating system of the mobile device (e.g., iOS™, Android™); a remote computing system associated with the operating system; or by any suitable system. In variants where S110 is performed by the operating system or remote system associated with the operating system, the method can reduce additional resource consumption (e.g., battery consumption) because the underlying data is being collected and used for other processes; the application itself is minimizing or not consuming any additional resources. In one variation, Block S110 includes setting a wake condition with the mobile device operating system, wherein the mobile device operating system delivers an event (e.g., notification) to the application, launches the application, progresses to Block S120, or otherwise triggers further application operation in response to the condition being met.

In a variation, Block S110 includes Block S112, which includes detecting that a user has breached a geofence using a first sensor of the mobile device. Block S112 functions to trigger the determination of user activity (e.g., in Block S120), in response to detecting that the user has crossed a virtual barrier (e.g., geofence). Block S112 can also function to indicate (e.g., preliminarily) the user activity (e.g., wherein the user activity involves moving). The first sensor of the mobile device is preferably a location sensor (e.g., a GPS sensor subsystem) and a suitable set of hardware and/or software components for setting a geofence and determining that a geofence has been crossed (e.g., a GPS application executing on the mobile device CPU and operating system). In variants, Block S112 can function as the wake condition passed by the application to the mobile device operating system and/or be the wake condition detected by the operating system. However, the wake condition can include: user activities being classified as non-stationary (e.g., based on a subscription to operation-system logged user activity updates); user activities being classified as a predetermined activity class (e.g., motion above a velocity threshold); mobile device execution of a vehicle-associated application (e.g., a vehicle OEM or vehicle control application being launched); occurrence of an activity update (e.g., Android™ activity update) that the application has subscribed to; or be any suitable wake condition.

In relation to Block S112 and other Blocks of the method 100 including the user of a geofence, the geofence can be a static geofence (e.g., a geofence made up of a curve virtually located at a fixed position relative to a predetermined location), a dynamic geofence (e.g., a geofence that has an adjustable curve virtually located at a moveable position relative to a predetermined or dynamically determinable location), a temporally-variable geofence (e.g., a static or dynamic geofence that is monitored during a predetermined time period or schedule), and any other suitable type of virtual geographic barrier. The geofence can be a closed curve (e.g., a circle, an amorphous closed shape, a 2D footprint corresponding to a building, etc.) or an open curve (e.g., a line, an arc, a sinuous curve, a threshold corresponding to a building egress point, etc.). In some variations, the geofence can be updated periodically (e.g., continuously, with a constant period, with a speed-based period, asynchronously, and any other suitable temporal characteristics, etc.). In a specific example, the geofence is defined as a circle having a variable radius based upon the speed of the user (e.g., computed based on the distance between two sequential measured locations of the user divided by the elapsed time between the measurements of the two sequential points) and is centered at the mobile device, wherein the variable radius is determined based on the speed such that the geofence is crossed at a constant frequency (e.g., approximately constant) if the speed is held constant. In a specific example, when the wake condition includes breaching a geofence (or entering a geofence), the set geofence (e.g., the geofence set prior to meeting the wake condition, the geofence set as a result of meeting the wake condition, etc.) can be centered about the mobile device location and have a small radius (e.g., 1 m, 5 m, etc.). However, the geofence can be otherwise suitably determined and manipulated.

Block S120 includes determining a user activity state. Block S120 functions to discern when a user has entered a driving state (e.g., when the user is beginning to operate a vehicle, when the user will imminently be in a moving vehicle, when the user has started a ride on a light electric vehicle, etc.). Block S120 can also function to discern when a user has entered a non-driving state (e.g., has not entered a driving state, has exited a driving state, will not imminently enter a driving state, will imminently exit a driving state, etc.).

Block S120 is preferably performed at the mobile device of the user, more preferably by the application running on the mobile device (e.g., native application) but alternatively by the operating system, a browser application or other application; but can additionally or alternatively be performed and/or executed at any suitable computing system in communication with the mobile device (e.g., a remote computing system).

Determining the user activity state is preferably based on the activity data (e.g., collected in Block S110). In particular, determining the user activity state is preferably based on a user activity model that outputs the user activity state based on the input of the user activity data. However, the user activity state can be otherwise suitably determined based on the activity data (e.g., via retrieval of user activity state data correlated to the activity data from a database, via direct input or selection from a user at an application executing on the mobile device, etc.).

In a first variation, an example of which is shown in FIG. 3, Block S120 includes Block S122, which includes determining the user activity state based on a user activity model. The user activity model is preferably one of a plurality of user activity models, each of the plurality of user activity models associated with a single user activity (e.g., walking, biking, sitting, etc.); however, the user activity model can additionally or alternatively be a single multi-activity user activity model. The user activity model preferably generates the user activity state as an output and receives the activity data (e.g., as described above) as an input. The user activity models used in accordance with Block S122 preferably include a walking model, a biking model, a flying model, a resting (e.g., substantially immobile) model, and a driving model, but can additionally or alternatively include any suitable models for any suitable activity.

In specific examples, the user activity model can be a memory-based model that uses a series of activity updates (e.g., received from a mobile device operating system that determines a categorization of user activity based on user interactions with the device operating system and outputs the categorization as an activity update) accumulated over time to build the user activity model. The memory-based model can subsequently be used to categorize user activity as a particular user activity state (e.g., driving, walking to a parking lot, sitting at the user's desk, maintaining the user's ranarium, etc.). However, the user activity model can be a deterministic model, a set of rules, a model trained according to machine-learning algorithms, and any other suitable type of model.

In a first example, Block S122 includes: storing a series of condition-based queries; sending the first query of the series to the mobile device operating system and/or associated computing system in response to Block S110 occurrence; sending the next query to the computing system in response to the returned data (returned by the computing system) satisfying the condition associated with the query; and detecting a start event (e.g., drive start event) when the last query is satisfied and/or the last condition is satisfied. The condition can be activity updates (e.g., determined by an Android™ operating system) having a predetermined value, class, or other parameter value; or be any suitable condition.

In a second example, Block S122 includes accumulating activity updates (e.g., determined by the application, determined by the operating system, etc.); and detecting a start event when the pattern, combination, or other permutation of the activity updates satisfies a predetermined pattern, combination, confidence level, or other metric. However, Block 122 can be otherwise performed.

In the above examples, the series or pattern of conditions can be stored as a tree-based model, wherein each condition can be a node. However, the queries can be otherwise stored. Each parent condition or node in the tree preferably has a lower resource cost (e.g., consumes less batteries, uses sensor data that requires less processing power and/or battery power, etc.) than the child condition or node, but the tree can be structured such that the high-resource nodes are parent nodes of low-resource children nodes, structured independent of node resource requirements, or otherwise structured.

In a specific example, the tree can include, in series: detecting a geofence breach (e.g., based on sampling from the GPS module; based on a GPS event notification from an activity subscription; etc.); determining that the activity is not a non-driving event (e.g., based on sampling from the IMU, based on a walking or biking event notification from an activity subscription; etc.); verifying that a short-range radio (e.g., Bluetooth) is connected to a vehicle endpoint (e.g., wherein the vehicle endpoint can be manually tagged as a vehicle, be associated with a vehicle OEM prefix, etc.); and verifying that a mid-range radio (e.g., WiFi, ZigBee) is not connected to a mid-range endpoint (e.g., a home router), wherein the method can default to Block S110 if any of the conditions fail. If the aforementioned conditions are satisfied, the application can determine mobile device movement parameters (e.g., velocity, acceleration) by turning on sensor data (e.g., GPS and inertial sensors) and/or using other higher-powered operations. If the mobile device movement satisfies a movement condition (e.g., the velocity exceeds a predetermined threshold), then the method can run Block S130; if the movement condition is not satisfied, the method can default to Block S110 and/or keep monitoring the mobile device movement until a cessation condition is reached (e.g., a timer expires, a threshold number of attempts has been met, etc.).

Block S130 includes determining collection parameters. Block S130 functions to determine features of movement dataset collection that guide the collection of movement dataset(s) (e.g., in accordance with various operating modes of an application executing at least a portion of the method 100). Block S130 can also function to define operating modes or states of data collection and/or processing devices (e.g., a mobile device of the user).

Block S130 can include determining an operating state of the mobile device associated with the user. The mobile device operating state can be an idle state, an in-detection state, a drive state, and any other suitably defined state. Block S130 can include operating the mobile device in one of the plurality of operating states (e.g., idle state, in-detection state, and drive state), preferably based on the activity data but additionally or alternatively having any other suitable basis.

Operating states preferably dictate how GPS data is collected, including data collection frequency, GPS receiver power state, GPS-related application states, and the like. S130 preferably includes collecting GPS data when necessary for vehicle movement analysis purposes, while ceasing to query the GPS receiver when GPS data collection is not necessary (e.g., by powering the GPS receiver off, by operating the GPS receiver in a standby state associated with a slower sampling rate, by querying the GPS receiver at a slower rate, etc.). Alternatively, GPS data may be used for multiple reasons (e.g., for both navigation and accident detection purposes), in these cases, GPS data may be collected whenever desired for any purpose. For example, GPS data may be collected and used for accident detection (even if other sources of PVA data are available) anytime it is already being collected for another purpose.

Mobile device operating states (as they pertain to GPS data collection) may be determined (e.g., set) based on any input data. For example, S130 may include determining GPS data collection parameters differently depending on mobile device battery state (e.g., charge level, charging status), time of day, location, route knowledge (e.g., how much data has been collected about the current route and/or position), GPS signal quality, or any other data.

Block S130 can include Block S132, which includes determining motion data collection parameters corresponding to the operating state of the mobile device of the user. Block S132 functions to determine the data collection parameters that correspond to the determined operating state of the mobile device, and can also function to collect the data according to the data collection parameters thus determined.

In relation to Block S132, the idle state preferably utilizes a minimum of mobile device power. In the idle state, the mobile device preferably monitors collected data (e.g., data collected in accordance with Block S110) for triggers, and upon detection of triggers implements a test (e.g., in accordance with Block S120) to check that driving has started, and in cases wherein driving has started Block S130 preferably includes transitioning the mobile device to operation in the drive state. In the idle state, a geofence is preferably defined about the location of the mobile device (e.g., the location of the. user) such that a trigger is generated when the user enters or exits the geofenced area; the geofence region around the location is preferably sized such that the user crosses the geofence when the user moves substantially (e.g., leaves the location of the geofence such as a workplace, a room, a building, a city block, etc.).

In relation to Block S132, the in-detection state preferably minimizes the amount of processing and/or sensor data used to detect the start of a driving session and further minimizes the number of false positive trip-start detections. In the in-detection state, the mobile device preferably implements one or more tests, which can include executing a user activity model, checking that a geofence has been breached, checking if a user's mobile device has paired with a vehicle computing system (e.g., via Bluetooth), checking if a user's mobile device is connected to a stationary local network (e.g., a home WiFi network, an office WiFi network, etc.), and any other suitable tests. In some variations, if the one or more tests are satisfied, speed of movement data is subsequently collected (e.g., GPS data, inertial sensor data) and used to determine speed of movement. In such variations, if the speed is above a threshold speed (e.g., greater than a walking speed, a biking speed, 40 mph, etc.) and/or the movement is otherwise suitably characteristic of driving motion, then the mobile device is transitioned into the drive state, whereas if the speed is below the threshold speed and/or not otherwise suitably characteristic of driving, the mobile device is transitioned into the idle state.

In relation to Block S132, the drive state (e.g., driving state) preferably includes collecting sensor data without disruption (e.g., for the span of the driving session at suitable frequencies and/or intervals) while minimizing resource consumption (e.g., power consumption, data consumption, etc.). In an example, the drive state includes: in response to detection of a geofence breach, establishing a new geofence having the current location at the center and having a radius proportional to driving speed, such that the number of instances of the geofence being breached is substantially constant per unit time (e.g., the radius can be changed as a function of the driving speed to achieve a substantially constant number of breaches per unit time). In this example and related examples, the existing geofence can be reset in response to detection of the speed of the vehicle decreasing below a threshold value (e.g., 50% of the previously-detected speed at a point in time, a fraction of the maximum speed during the driving session, a percentage decrease in speed of any suitable degree, etc.) in order to regularize the geofence breaching interval as described (e.g., to hold the number of geofence breaches per unit time substantially constant). In another example, in the drive state a persistent notification is pushed to the foreground of the mobile device operating system to prevent termination of the data collection routines (e.g., backgrounding of the application executing data collection).

The drive state can additionally or alternatively include detecting walking (e.g., executing an instance of Block S120) at the end of a driving session, which can trigger transition of the mobile device out of the drive state (e.g., into the idle state, into the in-detection state, etc.). Detecting walking in the drive state can function to reduce resource consumption by accurately and efficiently ceasing data collection outside the bounds of a driving session. In a specific example, the drive state can include ceasing GPS data collection in response to the driving speed (e.g., the user's speed) dropping substantially to zero (e.g., when the user is stopped at an intersection), and continuing to monitor accelerometer output (e.g., from an inertial sensor of the mobile device). In this example, the drive state includes resuming GPS data collection in response to detection of an accelerometer output corresponding to resumption of driving (e.g., when the user accelerates through the intersection after stopping) during the driving session.

Block S140 includes: collecting a movement dataset (e.g., a position, velocity, acceleration dataset or PVA dataset, a motion dataset, motion data, movement data, etc.). Block S140 functions to collect movement-related data (e.g., speed, heading, derivatives of velocity including acceleration, jerk, etc.) associated with a vehicle. The vehicle is preferably driven by the user and/or containing the user as the vehicle is driven by a third-party entity, but in alternative variants the vehicle can be otherwise associated with the user (e.g., owned by the user and operated by a third party, registered to the user, driven without the user's knowledge and/or without containing the user, etc.).

Block S140 functions to collect data pertaining to vehicle position, velocity, and/or acceleration for use in other Blocks of the method 100 (e.g., Blocks S120, S150, S160, etc.).

Movement datasets preferably describe at least one of position, velocity, and/or acceleration (PVA) of one or more vehicles, user devices (e.g., user smartphones), users, and/or any other suitable entities, but can additionally or alternatively describe any suitable movement-related characteristic. Movement datasets are preferably sampled at one or more movement sensors indicative of one or more of motion and/or location, which can include one or more of: motion sensors (e.g., multi-axis and/or single-axis accelerometers, gyroscopes, etc.), location sensors (e.g., GPS data collection components, magnetometer, compass, altimeter, etc.), optical sensors, audio sensors, electromagnetic (EM)-related sensors (e.g., radar, lidar, sonar, ultrasound, infrared radiation, magnetic positioning, etc.), environmental sensors (e.g., temperature sensors, altitude sensors, pressure sensors, etc.), biometric sensors, and/or any other suitable sensors.

In a variation, Block S140 can include deriving movement data from collected signal data (e.g., in relation to EM signals transmitted and/or received by mobile devices, vehicles, etc.), such as based on signal quality (e.g., in-vehicle WiFi signal quality; differences in cellular signal quality for mobile devices within a vehicle; Bluetooth signal quality between mobile devices in a vehicle, between mobile devices and a vehicle media system; etc.), received signal strength indicators, Wi-Fi positioning system parameters, signal angle of arrival (e.g., with directional sensors), and/or any other suitable signal-related data. In another variation, Block S140 can include deriving movement data from visual data (e.g., deriving PVA data from video taken by a smartphone's camera and/or vehicle camera; derived from visual markers captured in optical data, such as geographical markers, markers indicated by satellite imagery; etc.) and/or audio data (e.g., deriving motion from Doppler effects captured in data from the smartphone's microphone, etc.). In another variation, Block S140 can include collecting laser rangefinder data sampled using lasers associated with a vehicle. In another variation, Block S140 can include collecting movement data from data collected at the vehicle (e.g., vehicle sensors described herein and/or other suitable vehicle sensors), where the movement data can be received through wired communication (e.g., transmission of data from the vehicle to a mobile device through a wired communication channel, etc.) and/or wireless communication (e.g., transmission of data from the vehicle to a remote vehicle movement determination system through WiFi; transmission of data from the vehicle to the mobile device through Bluetooth, and transmission of the data from the mobile device to the remote vehicle movement determination system; etc.). Movement-related data collected from any suitable components (e.g., different types of mobile devices, etc.) can be processed together, individually, and/or in any suitable manner. However, movement data can be derived from any suitable components in any suitable manner.

Block S140 preferably includes collecting one or more location datasets (e.g., collecting location data), which can include any one or more of: GPS data (e.g., position coordinates, associated time stamps, etc.), indoor positioning system data, local positioning system data, multilateration data, GSM localization data, self-reported positioning, control plane locating data, compass data, magnetometer data, and/or any other suitable location-related data. In an example, GPS data can be leveraged for complete PVA solutions, but can additionally or alternatively include any movement data, such as retrieved using GNSS data (e.g., via GLONASS, Galileo, BeiDou). In another example, proximity sensors associated with mobile phones (e.g., for capacitive proximity sensing; IR-based proximity sensing; etc.) can be used to in determining location of objects (e.g., users within a vehicle). In another example, Block S140 can include collecting a micro-location dataset (e.g., sampled using beacons within and/or mounted to a vehicle). In another example, Block S140 can include collecting a location dataset sampled by a mobile device and indicating the location of the mobile device within the vehicle (e.g., proximal front of vehicle; back of vehicle; etc.). However, collecting location datasets can be performed in any suitable manner.

Block S140 preferably includes collecting one or more motion datasets (e.g., collecting motion data), which can include one or more of: accelerometer data (e.g., single-axis data, multi-axis data), gyroscope data (e.g., single-axis data, multi-axis data), velocity data (e.g., speed, instantaneous velocity, average velocity, change in velocity, velocity variability over time, maximum velocity, minimum velocity, etc.), acceleration data (e.g., instantaneous acceleration, gravitational acceleration, average acceleration, change in acceleration, acceleration variability over time, maximum acceleration, minimum acceleration, etc.), displacement data, orientation data, rotation data, turning data, and/or any other suitable motion-related data. In an example, Block S140 can include collecting a motion dataset for a user entering or exiting a vehicle (e.g., where the motion dataset can be indicative of whether the user is a driver or passenger entering or exiting the vehicle from a driver seat door or passenger seat door; where the motion dataset indicates walking patterns of the user in relation to entering or exiting a vehicle; etc.). However, collecting motion datasets can be performed in any suitable manner.

In relation to Block S140, movement datasets (and/or supplementary datasets) are preferably sampled by components arranged at a mobile device, but can additionally or alternatively be sampled by components associated with (e.g., arranged at, positioned within, mounted to, physically connected to, etc.) any suitable device and/or vehicle. Movement datasets (and/or supplementary datasets) are preferably associated with one or more users (e.g., collected at a mobile device of the user; collected at a mobile device physically proximal a user; stored in association with user accounts for one or more users; movement datasets describing user movement, such as pre-, during, and/or post-driving session; etc.). Further, movement datasets are preferably associated with one or more driving sessions, which can be characterized by characteristics and/or patterns in movement data (e.g., movement data indicating movement that is characteristic of a vehicle) and/or supplementary data (e.g., engine sounds as sensed by a smartphone microphone), and where driving sessions can include movement of, stoppage of, operation control related to, and/or other suitable aspects associated with vehicles. Additionally or alternatively, movement datasets can be associated or independent of any suitable entities.

Block S140 preferably includes collecting movement data continuously from mobile devices in a vehicle (e.g., during vehicle operation), such as in real-time, but can additionally or alternatively include collecting movement data periodically (e.g., at vehicle stoppage events, at predetermined time intervals such as every minute, etc.), and/or in temporal relation (e.g., in response to, etc.) to trigger conditions (e.g., movement-related thresholds; satisfaction or failure of device association conditions; conditions associated with supplementary data; etc.), but collecting movement datasets can be performed at any suitable time and/or frequency. Movement datasets are preferably associated with one or more temporal indicators (e.g., a time period, a time point, etc.) describing when the movement data was collected (e.g., sampled at the corresponding sensor, etc.), determined, and/or otherwise processed. Additionally or alternatively, associated temporal indicators can describe temporal context surrounding the movement indicated by the movement data (e.g., when the movement occurred) but can correspond to any suitable temporal indicator or be time-independent. However, collecting movement data S140 can be performed in any suitable manner.

Block S140 preferably includes collecting GPS data from a GPS receiver of the navigation device. GPS data preferably includes complete position, velocity, time (PVT) solutions, but may additionally or alternatively include any PVA data retrieved using GNSS data (e.g., via GLONASS, Galileo, BeiDou). GPS data is preferably used as a source of both position and velocity data. Velocity data is preferably collected directly from the GPS PVT solution, but may additionally or alternatively be derived from change in position over time (i.e., average velocity). GPS data may additionally or alternatively be used as a source of acceleration data (as derived from change in velocity over time).

Block S140 may additionally or alternatively include collecting PVA data from any other source. For example, S140 may include collecting acceleration data from gyroscopes and/or inertial measurement units (IMU). As another example, S140 may include collecting PVA data using visual data (e.g., deriving velocity from video taken by a smartphone's camera).

Block S140 preferably includes collecting PVA data whenever the mobile device (e.g., navigation device) is in a moving vehicle, but may additionally or alternatively include collecting PVA data at any suitable times and/or ranges of times.

Block S140 preferably also includes collecting PVA data using one or more accelerometers (i.e., collecting accelerometer data). Accelerometer data is preferably used as a source of acceleration data. As with GPS data, accelerometer data is preferably collected based on an operating state of the mobile device (e.g., determined in one or more variations of Block S130), but may additionally or alternatively be collected in any manner.

In variations of Block S140, accelerometer data can be used as a source of position data and/or velocity data. Accelerometer data is preferably used as a source of position data by comparing accelerometer patterns to a map reference with known patterns (e.g., road surface vibration patterns measured by the accelerometer that correlate to a specific stretch of road and therefore a specific geographic location, vibration patterns that correspond to road features of a known physical spacing that can be converted to a velocity, etc.), but can additionally or alternatively utilize dead-reckoning (e.g., double integration of acceleration time series starting from a known position), and any other suitable manner for deriving or estimating position and/or velocity data.

In a variation, Block S140 includes collecting motion data using a second sensor of the mobile device in accordance with motion data collection parameters S142. The motion data collection parameters are preferably determined as described above in relation to Block S130, but can be otherwise suitably determined.

The method 100 can additionally or alternatively include Block S150, which includes generating an analysis of a movement dataset (e.g., collected in Block S140). Block S150 can function to determine characteristics (e.g., an analysis) describing one or more of: vehicles (e.g., PVA-related characteristics; type of vehicle, such as including autonomous properties; etc.), users (e.g., classifications of passenger or driver; driver behavior; passenger behavior; etc.), and/or any other suitable entities.

Determining the vehicle movement characteristic can include any one or more of: combining datasets (e.g., processing a plurality of movement datasets associated with a plurality of mobile devices to extract a set of movement features to input into a vehicle movement model; etc.), and/or otherwise processing datasets (e.g., using processing techniques described herein, etc.) to improve accuracy and/or other suitable aspects associated with vehicle movement characteristic (e.g., processing speed, storage and/or retrieval associated with the vehicle movement characteristic, etc.).

Block S150 can additionally or alternatively include Block S155, which includes processing a dataset (e.g., a movement dataset, a user activity dataset, etc.). Block S155 functions to process data collected in other Blocks of the method 100 into a form suitable for determining user activity, analyzing vehicle movement, and/or any other suitable data analysis. Processing datasets (e.g., in Block S155 and/or any other suitable portion of the method 100) can include any one or more of: extracting features (e.g., from a plurality of datasets collected at a plurality of mobile devices, etc.), performing pattern recognition on data (e.g., comparing current movement datasets to reference movement datasets), fusing data from multiple sources, combination of values (e.g., averaging values, etc.), compression, conversion (e.g., digital-to-analog conversion, analog-to-digital conversion), performing statistical estimation on data (e.g. ordinary least squares regression, non-negative least squares regression, principal components analysis, ridge regression, etc.), wave modulation, normalization, updating, ranking, weighting, validating, filtering (e.g., for baseline correction, data cropping, etc.), noise reduction, smoothing, filling (e.g., gap filling), aligning, model fitting, binning, windowing, clipping, transformations, mathematical operations (e.g., derivatives, moving averages, summing, subtracting, multiplying, dividing, etc.), multiplexing, demultiplexing, interpolating, extrapolating, clustering, image processing techniques (e.g., image filtering, image transformations, histograms, structural analysis, shape analysis, object tracking, motion analysis, feature detection, object detection, stitching, thresholding, image adjustments, etc.), other signal processing operations, other image processing operations, visualizing, and/or any other suitable processing operations. In an example, Block S155 can include associating different data (e.g., different data collected at different mobile devices, different data types, same data type, etc.) based on a common and/or overlapping temporal indicator (e.g., time point, time window, time period, etc.), which can enable data collected from multiple sources during a common temporal indicator to be processed and/or analyzed together.

Block S155 is preferably performed at a vehicle movement determination system (e.g., remote computing system, etc.), but can additionally or alternatively be performed at mobile devices and/or at any suitable components at any suitable time and frequency (e.g., in response to collecting a threshold amount and/or threshold types of data, etc.). However, processing at least one of a movement dataset and a supplementary dataset can be performed in any suitable manner.

The method 100 can additionally or alternatively include Block S160, which includes transmitting a communication based on the analysis (e.g., generated in Block S150). Block S160 functions to notify an entity of a result and/or consequence of the analysis.

In an example, Block S160 can include reporting an accident to an insurance-related entity in response to an analysis of the motion data indicative that an accident has occurred. Reporting the accident (e.g., collision) can include providing a first notice of loss (FNOL) to the insurance-related entity (e.g., retail insurer, insurance underwriter, policy holder, policy underwriter, policy issuer, etc.). An FNOL can be provided automatically (e.g., without user input at the mobile device), semi-automatically (e.g., wherein data pertaining to the collision is automatically entered into an FNOL form and final authorization to send is provided by the user at the mobile device).

In additional or alternative examples, Block S160 can include any suitable traffic-related communications analogous to those described in U.S. application Ser. No. 16/166,895, entitled “Method and System for Vehicular-Related Communications” and filed 22 Oct. 2018, which is incorporated herein in its entirety by this reference.

However, Block S160 can additionally or alternatively include transmitting any suitable communication for any suitable purpose.

In a variation, Block S160 includes Block S162, which includes transmitting a notification to a remote entity based on at least one of the extracted vehicle movement characteristics exceeding a threshold value of a vehicle motion parameter. Vehicle motion parameters can include speed, lateral acceleration, and any other suitable parameters of vehicle motion.

In a first specific example, the method for monitoring vehicle motion using a mobile device associated with a user includes detecting that the user has breached a first geofence using at least one of a motion sensor and a location sensor of the mobile device. The first geofence in this example defines a first origin and a first radius. Detecting that the user has breached the first geofence and the subsequent portions of the method are by an application executing on the mobile device, wherein the application is operable between an idle state, an in-detection state, and a drive state. This example of the method further includes transitioning the application into the in-detection state in response to detecting that the user has breached the first geofence, and determining, at the application in the in-detection state, that the user is in a driving activity state based on a user activity model. This example of the method further includes transitioning the application into the drive state (e.g., at a time point) in response to determining that the user is in the driving activity state. Operating the application in the drive state includes: collecting a movement dataset using at least one of the motion sensor and the location sensor, determining a second origin and a second radius based on the movement dataset, and regenerating the first geofence at the second origin and with the second radius. This example of the method further includes analyzing the movement dataset to generate a set of vehicle movement characteristics, and transmitting the set of vehicle movement characteristics to a database and storing the set of vehicle movement characteristics in association with the user (e.g., and the time point).

In a second specific example, the method for monitoring vehicle motion using a mobile device associated with a user is performed by an application executing on the mobile device, wherein the application is operable between an idle state, an in-detection state, and a drive state. In this example, the method includes receiving a trigger at the application operating in the idle state, and, in response to the trigger, operating the application in the in-detection state. Operating the application in the in-detection state includes: collecting activity data using at least one of a motion sensor and a location sensor of the mobile device, determining a user activity state based on the activity data according to a user activity model, and based on the user activity state, operating the application in one of the idle state and the drive state. In this example operating the application in the drive state includes collecting a movement dataset using at least one of the motion sensor and the location sensor, and analyzing the movement dataset to generate a set of vehicle movement characteristics. In this example, operating the application in the idle state includes resetting a trigger condition, wherein satisfaction of the trigger condition generates the trigger (e.g., which is received when operating the application in the idle state).

The system(s) and method(s) of the preferred embodiment and variations thereof can be embodied and/or implemented at least in part as a machine configured to receive a computer-readable medium storing computer-readable instructions. The instructions are preferably executed by computer-executable components (e.g., integrated with the system, making up the system itself, etc.). The computer-readable medium can be stored on any suitable computer-readable media such as RAMs, ROMs, flash memory, EEPROMs, optical devices (CD or DVD), hard drives, floppy drives, or any suitable device. The computer-executable component is preferably a general or application specific processor, but any suitable dedicated hardware or hardware/firmware combination device can alternatively or additionally execute the instructions.

Although omitted for conciseness, the preferred embodiments include every combination and permutation of the various system components and/or method blocks.

As a person skilled in the art will recognize from the previous detailed description and from the figures and claims, modifications and changes can be made to the preferred embodiments of the invention without departing from the scope of this invention defined in the following claims.

Risbood, Pankaj, Matus, Jonathan

Patent Priority Assignee Title
Patent Priority Assignee Title
10176524, Oct 26 2015 Allstate Insurance Company Vehicle-to-vehicle incident information collection
5673039, Apr 13 1992 INTERNATIONAL ROAD DYNAMICS INC Method of monitoring vehicular traffic and of providing information to drivers and system for carring out the method
6049778, Oct 31 1997 GROUPON, INC Method and apparatus for administering a reward program
6055477, Mar 31 1995 TRIMBLE NAVIGATIONS LIMITED Use of an altitude sensor to augment availability of GPS location fixes
6826477, Apr 23 2001 ECOLE POLYTECHNIQUE FEDERALE DE LAUSANNE EPFL Pedestrian navigation method and apparatus operative in a dead reckoning mode
6941222, Apr 27 2001 Pioneer Corporation Navigation system, server system for a navigation system, and computer-readable information recorded medium in which destination prediction program is recorded
7065449, Mar 05 2004 BELL GEOSPACE, INC Method and system for evaluating geophysical survey data
7532196, Oct 30 2003 Microsoft Technology Licensing, LLC Distributed sensing techniques for mobile devices
7668931, Dec 22 2000 Microsoft Technology Licensing, LLC Context-aware systems and methods, location-aware systems and methods, context-aware vehicles and methods of operating the same, and location-aware vehicles and methods of operating the same
7801675, Jul 13 2007 Malikie Innovations Limited System and method of identifying portions of roads
7881868, Jun 12 2007 UATC, LLC Dual assessment for early collision warning
8054168, Feb 27 2009 General Motors LLC System and method for estimating an emergency level of a vehicular accident
8264375, Jan 29 2009 HERE GLOBAL B V Method and system for developing traffic messages
8326257, Oct 28 2002 Qualcomm Incorporated Utilizing speed and position information to select an operational mode in a wireless communication system
8352189, Feb 02 2009 Surface Systems & Instruments, Inc. Method for generating high resolution surface topology map using surface profiling and surveying instrumentation
8369876, May 26 2006 Sovereign Peak Ventures, LLC Mobility management in communication networks
8395542, Aug 27 2010 Trimble Navigation Limited Systems and methods for computing vertical position
8489330, Oct 09 2010 DISCRETE WIRELESS, INC Navigation system with distance limitation mechanism and method of operation thereof
8498610, Dec 06 2007 CONTINENTAL TEVES AG & CO OHG Method and system for transmitting an emergency call
8504035, Nov 09 2010 DOCOMO INNOVATIONS, INC ; NTT DoCoMo, Inc System and method for population tracking, counting, and movement estimation using mobile operational data and/or geographic information in mobile network
8521193, Dec 08 2010 Deutsche Telekom AG Energy-efficient positioning system for smartphone using cell-id sequence matching
8577703, Jul 17 2007 INTHINC TECHNOLOGY SOLUTIONS, INC System and method for categorizing driving behavior using driver mentoring and/or monitoring equipment to determine an underwriting risk
8634822, Jun 24 2012 TANGO NETWORKS, INC. Automatic identification of a vehicle driver based on driving behavior
8754766, Nov 18 2011 General Motors LLC Providing emergency communication services using a vehicle telematics unit and a mobile device
8912103, Apr 05 2012 Samsung Electronics Co., Ltd. Method of fabricating and correcting nanoimprint lithography templates
8971927, Oct 09 2008 University of Utah Research Foundation System and method for preventing cell phone use while driving
8972103, Mar 19 2013 Ford Global Technologies, LLC Method of building and using local map of vehicle drive path
8996234, Oct 11 2011 LYTX, INC Driver performance determination based on geolocation
9064412, Oct 09 2013 Bayerische Motoren Werke Aktiengesellschaft Method for providing information to first responders of vehicle accidents
9121940, Mar 26 2010 Apple Inc Vehicle navigation using non-GPS LEO signals and on-board sensors
9141974, Jan 16 2008 BIG WILL ENTERPRISES INC Systems and methods for determining mobile thing (MT) identification and/or MT motion activity using sensor data of wireless communication device
9185526, May 08 2009 Western Alliance Bank Systems, methods, and devices for policy-based control and monitoring of use of mobile devices by vehicle operators
9188451, Feb 28 2013 HERE GLOBAL B V Method and apparatus for minimizing power consumption in a navigation system
9221428, Mar 02 2011 AUTOMATIC LABS INC Driver identification system and methods
9222798, Dec 22 2009 Ikorongo Technology, LLC Systems and methods for identifying an activity of a user based on a chronological order of detected movements of a computing device
9224293, Mar 16 2013 Apparatus and system for monitoring and managing traffic flow
9250090, Apr 30 2007 PEIKER ACUSTIC GMBH & CO Navigation system and control unit for navigation system
9311211, Jul 28 2011 Tata Consultancy Services Limited Application performance measurement and reporting
9311271, Dec 15 2010 AUTO TELEMATICS LTD Method and system for logging vehicle behavior
9360323, Feb 17 2014 TOURMALINE LABS, INC Systems and methods for estimating movements of a vehicle using a mobile device
9368027, Nov 01 2013 HERE Global B.V. Traffic data simulator
9390625, Sep 29 2010 Cyber Physical Systems LLC System and method for automatic traffic accident determination and notification
9423318, Jul 29 2014 Honeywell International Inc. Motion detection devices and systems
9449495, May 15 2015 State Farm Mutual Automobile Insurance Company Crash detection and severity classification system implementing emergency assistance
9457754, Jul 13 2015 State Farm Mutual Automobile Insurance Company Method and system for identifying vehicle collisions using sensor data
9467515, Apr 22 2011 Emerging Automotive, LLC Methods and systems for sending contextual content to connected vehicles and configurable interaction modes for vehicle interfaces
9495601, Dec 09 2013 Mirsani, LLC Detecting and reporting improper activity involving a vehicle
9536428, May 19 2014 Allstate Insurance Company Electronic display systems connected to vehicles and vehicle-based systems
9558520, Dec 31 2009 HARTFORD FIRE INSURANCE COMPANY System and method for geocoded insurance processing using mobile devices
9566981, Sep 01 2014 HONDA RESEARCH INSTITUTE EUROPE GMBH Method and system for post-collision manoeuvre planning and vehicle equipped with such system
9628975, Aug 06 2014 Mobile Video Computing Solutions LLC Crash event detection, response and reporting apparatus and method
9632507, Jan 29 2016 WABCO USA LLC System and method for adjusting vehicle platoon distances based on predicted external perturbations
9633487, Dec 15 2010 AUTO TELEMATICS LTD Method and system for logging vehicle behavior
9645970, Feb 28 2013 Ford Global Technologies, LLC Driver coaching system
9650007, Apr 13 2015 Arity International Limited Automatic crash detection
9674370, Mar 16 2015 Hyundai Motor Company Device and method for providing vehicle accident information
9689698, Apr 19 2011 BRIDGESTONE MOBILITY SOLUTIONS B V System and method for associating devices moving along the same travel path
9716978, Jun 25 2015 Motorola Mobility LLC Mobile communication device system and method for determining mode settings of vehicle passengers
9731713, Sep 10 2014 Volkswagen AG Modifying autonomous vehicle driving by recognizing vehicle characteristics
9773281, Sep 16 2014 Allstate Insurance Company Accident detection and recovery
9794729, Dec 06 2013 Apple Inc. Mobile device sensor data subscribing and sharing
9800716, Sep 21 2010 CELLEPATHY INC Restricting mobile device usage
9801027, Jul 26 2013 ANAGOG LTD Associating external devices to vehicles and usage of said association
9805601, Aug 28 2015 State Farm Mutual Automobile Insurance Company Vehicular traffic alerts for avoidance of abnormal traffic conditions
9818239, Aug 20 2015 Zendrive, Inc Method for smartphone-based accident detection
9842120, Feb 15 2013 United Parcel Service of America, Inc Standardization of addresses and location information
9852475, May 20 2014 State Farm Mutual Automobile Insurance Company Accident risk model determination using autonomous vehicle operating data
9854396, Nov 23 2015 SAP Portals Israel Ltd. Monitoring movement transitions via cellular network data
9868394, Aug 28 2015 State Farm Mutual Automobile Insurance Company Vehicular warnings based upon pedestrian or cyclist presence
9870649, Aug 28 2015 Hyundai Motor Company; Kia Corporation Shared vehicle usage, monitoring and feedback
9994218, Aug 20 2015 Zendrive, Inc Method for smartphone-based accident detection
20020161517,
20030018430,
20040082311,
20050080555,
20050093868,
20050197773,
20060153198,
20070005228,
20070208494,
20070208501,
20080033776,
20080103907,
20080243439,
20080312832,
20090024419,
20100056175,
20100100398,
20100106406,
20100198517,
20100219944,
20100273508,
20100299021,
20110077028,
20110124311,
20110161116,
20110246156,
20110294520,
20120050095,
20120065871,
20120066053,
20120089328,
20120129545,
20120136529,
20120149400,
20120158820,
20120197587,
20120226421,
20120245963,
20130006469,
20130041521,
20130052614,
20130069802,
20130096731,
20130124074,
20130130639,
20130211618,
20130302758,
20130316737,
20130317860,
20130325517,
20130332357,
20130344856,
20140038640,
20140046896,
20140081670,
20140188638,
20140197967,
20140232592,
20140244150,
20140244156,
20140288765,
20140288828,
20140358394,
20150025917,
20150084757,
20150087264,
20150097703,
20150229666,
20150233718,
20150246654,
20150327034,
20150332407,
20150334545,
20160021238,
20160033366,
20160042767,
20160048399,
20160059855,
20160068156,
20160086285,
20160133130,
20160150070,
20160171521,
20160174049,
20160189442,
20160225263,
20160232785,
20160269852,
20160272140,
20160282156,
20160325756,
20160328893,
20160339910,
20160358315,
20160364983,
20160379310,
20160379485,
20160381505,
20170034656,
20170053461,
20170097243,
20170103342,
20170103588,
20170115125,
20170126810,
20170138737,
20170164158,
20170178416,
20170178422,
20170178424,
20170210323,
20170211939,
20170232963,
20170234689,
20170279947,
20170289754,
20170369055,
20170371608,
20180061230,
20180090001,
20180154908,
20180174446,
20190007511,
20190035266,
20190281416,
DE102008008555,
DE3439000,
EP534892,
GB2492369,
KR20130106106,
WO2004085220,
WO2015122729,
////
Executed onAssignorAssigneeConveyanceFrameReelDoc
Feb 28 2019RISBOOD, PANKAJZendrive, IncASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0485510511 pdf
Mar 06 2019MATUS, JONATHANZendrive, IncASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0485510511 pdf
Mar 08 2019Zendrive, Inc(assignment on the face of the patent)
Jul 16 2021Zendrive, IncTRINITY CAPITAL INC INTELLECTUAL PROPERTY SECURITY AGREEMENT0568960460 pdf
Date Maintenance Fee Events
Mar 08 2019BIG: Entity status set to Undiscounted (note the period is included in the code).
Mar 26 2019SMAL: Entity status set to Small.


Date Maintenance Schedule
Aug 03 20244 years fee payment window open
Feb 03 20256 months grace period start (w surcharge)
Aug 03 2025patent expiry (for year 4)
Aug 03 20272 years to revive unintentionally abandoned end. (for year 4)
Aug 03 20288 years fee payment window open
Feb 03 20296 months grace period start (w surcharge)
Aug 03 2029patent expiry (for year 8)
Aug 03 20312 years to revive unintentionally abandoned end. (for year 8)
Aug 03 203212 years fee payment window open
Feb 03 20336 months grace period start (w surcharge)
Aug 03 2033patent expiry (for year 12)
Aug 03 20352 years to revive unintentionally abandoned end. (for year 12)