On-demand performance of an action associated with a vehicle

A device may detect a trigger associated with a vehicle. The device may determine registration information, associated with the vehicle, based on detecting the trigger. The registration information may include information associated with a user device associated with the vehicle. The device may determine that the user device is not within a particular distance of the vehicle. The device may provide, to the user device and based on determining that the user device is not within the particular distance of the vehicle, an alert associated with the vehicle. The alert may be provided via a communications network. The device may determine, after providing the alert to the user device, that an action, associated with the vehicle, is to be performed. The device may cause the action, associated with the vehicle, to be performed.

BACKGROUND

A vehicle (e.g., an automobile, an airplane, a boat, etc.) may include a device capable of wireless communication. For example, the vehicle may include a device capable of wireless communication using a cellular technology (e.g., long-term evolution (LTE), third generation (3G), code division multiple access (CDMA), etc.), a wireless local area network technology (e.g., WiFi, Bluetooth, near field communication (NFC)), a geolocation technology (e.g., global positioning system (GPS)), or the like.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

A user may wish to (e.g., on-demand) cause an action, associated with a vehicle, to be performed when the user is not within or near the vehicle. For example, the user may wish to track a location of the vehicle (e.g., for theft recovery purposes, theft prevention purposes, law enforcement purposes, personal purposes, etc.) when the user is not within or near the vehicle. Traditional methods of vehicle tracking may require the user to subscribe to a vehicle tracking service and/or may require the user to purchase and/or install an external device (e.g., an external transceiver) in order to allow the user to track the location of the vehicle. Moreover, such traditional methods of vehicle tracking may not provide the user with on-demand vehicle tracking (e.g., such that the user may enable vehicle tracking, disable vehicle tracking, initiate vehicle tracking, etc.) at the user's discretion.

In some cases, the vehicle may include a communication device capable of wireless communication via a wireless communications network such as a cellular network (e.g., an LTE network, a 3G network, a CDMA network, etc.). For example, a communication device may be installed in the vehicle (e.g., during production of the vehicle, manufacture of the vehicle, assembly of the vehicle, etc.) that provides for communication via the LTE network, the 3G network, a CDMA network, or the like. Moreover, the user may possess a user device (e.g., a smart phone, a tablet, a laptop, smart watch, a wearable computing device, etc.) capable of wireless communication via the cellular network. As such, a subscription to a vehicle tracking service and/or an installation of an external device may not be necessary in order to provide a user with on-demand vehicle tracking (e.g., since the user device and the vehicle may already be capable of communicating via the cellular network). Moreover, the user device may be capable of communicating, via the cellular network, with the communication device in order to cause another type of action to be performed (e.g., safely disabling the vehicle, communicating with an occupant of the vehicle, etc.) Implementations described herein may provide a user with on-demand vehicle tracking via a cellular network without requiring the user to subscribe to a vehicle tracking service and without requiring the user to install an external device within and/or on the vehicle. Implementations described herein may also allow the user to cause an action, associated with the vehicle, to be performed on-demand when the user is not within or near the vehicle.

FIG. 1is a diagram of an overview of an example implementation100described herein. For the purposes of example implementation100, assume that a vehicle includes a communication device (e.g., installed in the vehicle during production, manufacture, assembly, etc.) that is capable of causing an action, associated with the vehicle, to be performed (e.g., determining and providing location information associated with the vehicle). Further, assume that the communication device is capable of communicating via a cellular network, and that the communication device stores or has access to registration information that identifies a registered user device associated with the vehicle (e.g., a user device associated with an owner of the vehicle).

As shown inFIG. 1, and by reference number105, the communication device may detect a trigger associated with the vehicle. In some implementations, the trigger may include an event, identified by the communication device, that causes an alert, associated with the vehicle, to be provided to a registered user device associated with the vehicle. As shown by reference number110, the communication device may identify (e.g., based on the registration information) the registered user device. As shown by reference number115, the communication device may determine (e.g., based on attempting to communicate with the registered user device over WiFi, Bluetooth, NFC, etc.) that the registered user device is not near the vehicle (e.g., not inside or within a threshold distance of the vehicle, not within communication range of the communication device via WiFi, Bluetooth, NFC, etc., or the like). As shown by reference number120, since the registered user device is not near the vehicle, the communication device may provide, via the cellular network and to the registered user device, an alert associated with the vehicle. In some implementations, the alert may include information associated with inquiring whether the communication device is to cause an action, associated with the vehicle, to be performed (e.g., whether or not the communication device is to provide location information associated with tracking the vehicle).

As shown by reference number125, the registered user device may receive the alert and may determine (e.g., based on user input) that the communication device is to cause the action to be performed (e.g., that the communication device is to track the vehicle). The user device may provide, via the cellular network and to the communication device, a response to the alert indicating that the communication device is to cause the action, associated with the vehicle, to be performed. As shown by reference number130, the communication device may receive the response to the alert, and may cause the action to be performed (e.g., the communication device may begin determining location information associated with tracking the vehicle). As shown by reference number135, the communication device may (e.g., periodically, at a later time) provide information associated with the action (e.g., the location information) to the registered user device via the cellular network. In this way, a communication device, included in a vehicle, may provide on-demand performance of an action associated with a vehicle (e.g., the communication device may provide on-demand vehicle tracking) via a cellular network (e.g., without requiring the user to subscribe to a vehicle tracking service and without requiring the user to install an external device within and/or on the vehicle).

FIG. 2is a diagram of an example environment200in which systems and/or methods, described herein, may be implemented. As shown inFIG. 2, environment200may include one or more registered user devices210-1through210-N (N≧1) (hereinafter referred to collectively as registered user devices210, and individually as registered user device210), a vehicle220including a communication device230, and a network240. Devices of environment200may interconnect via wired connections, wireless connections, or a combination of wired and wireless connections.

Registered user device210may include one or more devices capable of receiving, generating, storing, processing, and/or providing information associated with performing an action associated with vehicle220. For example, registered user device210may include a communication and/or computing device, such as a mobile phone (e.g., a smart phone, a radiotelephone, etc.), a laptop computer, a tablet computer, a handheld computer, a gaming device, a wearable communication device (e.g., a smart wristwatch, a pair of smart eyeglasses, etc.), or a similar type of device. In some implementations, registered user device210may be associated with vehicle220(e.g., a user of registered user device210may be an owner, renter, possessor, etc. of vehicle220). In some implementations, registered user device210may be capable of wirelessly communicating (e.g., with communication device230) using a cellular technology and/or another type of wireless communication technology (e.g., WiFi, Bluetooth, NFC, etc.).

Vehicle220may include an object associated with transporting goods and/or people. For example, vehicle220may include an automobile, a truck, a bus, a train, a boat, an airplane, a motorcycle, a bicycle, a cart, or the like. In some implementations, vehicle220may be associated with (e.g., owned by, operated by, rented by, used by, etc.) a user of registered user device210. In some implementations, vehicle220may include communication device230.

Communication device230may include a device capable of wirelessly communicating (e.g., with registered user device210) using a cellular technology and/or another type of wireless communication technology (e.g., WiFi, Bluetooth, NFC, etc.). In some implementations, communication device230may be configured with a tracking function associated determining and/or providing location information associated with vehicle220. For example, communication device230may include a transceiver capable of determining location information associated with the vehicle, such as a set of GPS coordinates, a location associated with a cell of network240in which vehicle220is located, or the like. In some implementations, communication device230may be installed in vehicle220during production, manufacture, assembly, or the like. In other words, an owner and/or possessor of vehicle220need not install communication device230. Additionally, or alternatively, communication device230may be capable of receiving and storing registration information associated with registered user device210. In some implementations, communication device230may be capable of receiving information from and/or providing information to one or more components of vehicle220, such as an ignition component (e.g., associated with starting vehicle220), a sensor component (e.g., a speed sensor, a motion sensor, etc.), a geolocation component (e.g., a component associated with determining a geographic location of vehicle220), or the like.

Network240may include one or more wired and/or wireless networks via which registered user device210and communication device230may communicate. For example, network240may include a cellular network (e.g. an LTE network, a 3G network, a CDMA network, etc.). In some implementations, network240may also include a public land mobile network (PLMN), a local area network (LAN), a wide area network (WAN), a metropolitan area network (MAN), a telephone network (e.g., the Public Switched Telephone Network (PSTN)), a private network, an ad hoc network, an intranet, the Internet, a fiber optic-based network, a cloud computing network, or the like, and/or a combination of these or other types of networks that may allow wireless communication between registered user device210and communication device230.

FIG. 3is a diagram of example components of a device300. Device300may correspond to registered user device210and/or communication device230. In some implementations, registered user device210and/or communication device230may include one or more devices300and/or one or more components of device300. As shown inFIG. 3, device300may include a bus310, a processor320, a memory330, a storage component340, an input component350, an output component360, and a communication interface370.

FIG. 4is a flow chart of an example process400for receiving and storing registration information for a user device associated with a vehicle. In some implementations, one or more process blocks ofFIG. 4may be performed by communication device230. In some implementations, one or more process blocks ofFIG. 4may be performed by another device or a set of devices separate from or including communication device230, such as registered user device210.

As shown inFIG. 4, process400may include receiving registration information for a registered user device associated with a vehicle (block410). For example, communication device230may receive registration information for registered user device210associated with vehicle220. In some implementations, communication device230may receive the registration information when communication device230receives user input associated with the registration information. Additionally, or alternatively, communication device230may receive the registration information when another device provides the registration information, such as registered user device210or a server.

The registration information may include information associated with registered user device210associated with vehicle220(e.g., registered user device210to which communication device230may provide an alert associated with vehicle220). For example, the registration information may include information that identifies registered user device210, such as an international mobile subscriber identity (IMSI) number, an international mobile station equipment identity (IMEI) number, a mobile directory number (MDN), an Internet protocol (IP) address, a Bluetooth address, an NFC chip identifier, or the like. In some implementations, the registration information may also include a passcode associated with registered user device210. For example, in some implementations, the user of registered user device210may need to provide the passcode when responding to an alert (e.g., in order to protect against cloning and/or spoofing of registered user device210). As another example, the registration information may include information that identifies a means of contacting the user of user device210, such as a screen name, an email address, a telephone number, or the like (e.g., such that communication device230may provide the alert via a messaging application associated with the screen name, via email, via text, etc.).

In some implementations, the registration information may include information indicating when an alert is to be provided to registered user device210. For example, the registration information may indicate that an alert is not to be provided when registered user device210is near vehicle220(e.g., in vehicle220, within 2 meters feet of vehicle220, within 10 meters of vehicle220, within a particular distance of vehicle220, within a communication associated with communication device230and/or vehicle220, in proximity to vehicle220, etc.), and that an alert is to be provided when registered user device210is not near vehicle220. As another example, the registration information may indicate that an alert is to be provided regardless of whether registered user device210is near vehicle220(e.g., such that an alert is provided to registered user device210upon any detection of a trigger).

Additionally, or alternatively, the registration information may include information associated with a trigger that may be detected by communication device230. As described above, the trigger may include an event, identified by communication device230, that causes an alert, associated with tracking vehicle220, to be provided to registered user device210. For example, the trigger may be an ignition event (e.g., when vehicle220starts, is powered-on, etc.), a non-zero speed event (e.g., when a speed of vehicle220increases from zero), a motion event (e.g., when vehicle220experiences a window break, an impact, a force, a shake, a vibration, is pushed, is pulled, etc.), a location change event (e.g., when vehicle220is moved from a first location to a second location), an acceleration event, a deceleration event, or the like. In some implementations, the registration information may include information that identifies one or more triggers and/or information indicating whether each of the one or more triggers is to cause an alert to be provided to registered user device210.

Additionally, or alternatively, the registration information may include information associated with detecting whether registered user device210is near vehicle220. For example, the registration information may identify a manner in which communication device230may detect whether registered user device210is near vehicle220(e.g., in vehicle220, within 2 meters of vehicle220, within 10 meters of vehicle220, within communication range of communication device230, etc.), such as using WiFi technology, Bluetooth technology, NFC technology, or the like. Additionally, or alternatively, the registration information may include information that identifies a time threshold associated with detecting registered user device210. For example, the registration information may include information that identifies an amount of time (e.g., five seconds, 30 seconds, one minute, etc.) that communication device230is to attempt to detect registered user device210, before determining that registered user device210is not near vehicle220. Additional details regarding detecting registered user device210are described below with regard toFIG. 6.

Additionally, or alternatively, the registration information may include information associated with providing an alert to registered user device210. The alert may include a message (e.g., a short message service (SMS) message, a multimedia messaging service (MMS) message, a voice message, a video message, an email, etc.) associated with determining whether communication device230is to cause an action, associated with vehicle220, to be performed. The action may include, for example, tracking vehicle220, disabling vehicle220(e.g., turning off vehicle220when communication device230determines that vehicle220may be safely disabled, such as when communication device230determines that vehicle220has stopped), establishing a connection for communications associated with vehicle220(e.g., opening a channel to a speaker and a microphone of vehicle220to speak with an occupant of vehicle220, etc), sending a message (e.g., sending a text message to a particular user device), or the like. While implementations and/or methods described herein are described in the context of the action being associated with tracking vehicle220, these implementations and/or methods may equally apply to one or more other types of actions, such as those listed above.

In some implementations, the registration information may include information associated with providing a second alert when communication device230does not receive a response to a first alert (e.g., providing a second alert to a first registered user device210when communication device230does not receive a response from the first registered user device210within a threshold amount of time, providing the second alert to a second registered user device210when communication device230does not receive a response from the first registered user device210within a threshold amount of time, etc.).

Additionally, or alternatively, the registration information may include another type of information, such as priority information associated with multiple registered user devices210(e.g., information that identifies an order of the multiple registered user devices210to which alerts are to be provided), auto-tracking information (e.g., information indicating that communication device230is to automatically track vehicle220when communication device230does not receive a response to an alert within a threshold amount of time), or another type of information associated with an action that is to be performed.

In some implementations, communication device230may receive the registration information based on user input. For example, communication device230may receive (e.g., via a display screen associated with communication device230) user input associated with the registration information. Additionally, or alternatively, communication device230may receive the registration based on information provided by another device. For example, communication device230may receive the registration information when registered user device210provides the registration information (e.g., when registered user device210is configured to receive user input associated with the registration information). As another example, communication device230may receive the registration when another device (e.g., a device associated with a manufacturer of communication device230and/or a manufacturer of vehicle220, a device associated with providing the on-demand tracking service) provides default registration information (e.g., when user input associated with the registration information has not yet been received).

In some implementations, communication device230may receive updated registration information. For example, communication device230may receive (e.g., based on user input) registration information associated with a set of registered user devices210. Here, the user may modify the registration information (e.g., when the user edits registration information associated with an existing registered user device210, adds registration information associated with a new registered user device210, deletes registration information associated with an existing registered user device210, etc.) to create the updated registration information.

As further shown inFIG. 4, process400may include storing the registration information (block420). For example, communication device230may store the registration information. In some implementations, communication device230may store the registration information after communication device230receives the registration information. Additionally, or alternatively, communication device230may store the registration information when communication device230receives information indicating that communication device230is to store the registration information from another device, such as registered user device210.

In some implementations, communication device230may store the registration information in a memory location (e.g., a RAM, a ROM, a cache, a hard disk, etc.) of communication device230. In some implementations, communication device230may store information associated with the registration information such that previous registration information (e.g., registration information received by communication device230at an earlier time) is supplemented, modified, overwritten, deleted, or the like. Additionally, or alternatively, communication device230may store the registration information such that communication device230may retrieve the registration information at a later time (e.g., when detecting a trigger, when determining whether to provide an alert to registered user device210, when providing the alert to registered user device210, etc.).

FIG. 5is a diagram of an example implementation500relating to example process400shown inFIG. 4. For the purposes of example implementation500, assume that a user interface, associated with communication device230, is capable of receiving user input associated with registration information (e.g., for registered user devices210associated with vehicle220).

As shown inFIG. 5, communication device230may receive the registration information based on user input provided via input elements of the registration information user interface. As shown by reference number505, communication device230may receive registration information associated with a first registered user device210(e.g., the first registered user device: (123) 456-7890, Passcode: 2384, Bluetooth Address: 001060AA36F7). As shown by reference number510, communication device230may receive registration information associated with a second registered user device210(e.g., the second registered user device: (123) 567-8904, Passcode: 5316, Bluetooth Address: 101050AC36F9). In this way, communication device230may receive registration information associated with multiple registered user devices210.

As shown by reference number515, communication device230may also receive registration information associated with triggers that may be detected by communication device230. For example, as shown, the registration information may indicate that an ignition event is to trigger an alert to be provided by communication device230, that a non-zero speed event is to trigger an alert to be provided by communication device230, that a motion event is not to trigger an alert to be provided by communication device230, and that a location change event is not to trigger an alert to be provided by communication device230.

As shown by reference number520, communication device230may also receive registration information associated with detecting whether registered user device210is near vehicle220. For example, as shown, the registration information may indicate that communication device230is to determine whether registered user devices210are near vehicle220using Bluetooth (e.g., rather than WiFi and/or NFC).

As shown by reference number525, communication device230may also receive registration information associated with a threshold for providing a second alert to the first registered user device210. For example, as shown, the registration information may indicate that communication device230is to provide a second alert to the first registered user device210ten minutes after communication device230provides a first alert to the first registered user device210(e.g., when communication device230does not receive a response to the first alert within ten minutes).

As shown by reference number530, communication device230may also receive registration information associated with a threshold for providing an alert to the second registered user device210. For example, as shown, the registration information may indicate that communication device230is to provide an alert to the second registered user device210five minutes after communication device230provides an alert to the first registered user device210(e.g., when communication device230does not receive a response to the alert provided to the first registered user device210within five minutes).

As shown by reference number535, communication device230may also receive registration information associated with a threshold for automatically tracking vehicle220. For example, as shown, the registration information may indicate that communication device230is to automatically track vehicle220twenty minutes after providing the first alert to the first registered user device210(e.g., when communication device230does not receive a response to any alert provided by communication device230within 20 minutes of providing the first alert to the first registered user device210).

As shown by reference number540, communication device230may receive (e.g., based on a user selection of an OK button) an indication that the user has finished providing the registration information, and communication device230may store the registration information accordingly.

As indicated above,FIG. 5is provided merely as an example. Other examples are possible and may differ from what was described with regard toFIG. 5.

FIG. 6is a flow chart of an example process600for alerting a user device based on a trigger associated with a vehicle, and providing information, associated with the vehicle, based on alerting the user device. In some implementations, one or more process blocks ofFIG. 6may be performed by communication device230.

As shown inFIG. 6, process600may include detecting a trigger associated with a vehicle (block610). For example, communication device230may detect a trigger associated with vehicle220. In some implementations, communication device230may detect the trigger associated with vehicle220when communication device230receives information, associated with the trigger, from a component of vehicle220.

As described above, the trigger may include an event, identified by communication device230, that causes an alert, associated with vehicle220, to be provided to registered user device210. For example, the trigger may be an ignition event (e.g., when vehicle220starts, is powered-on, etc.), a non-zero speed event (e.g., when a speed of vehicle220increases above zero), a motion event (e.g., when vehicle220experiences a window break, an impact, a force, a shake, a vibration, is pushed, is pulled, etc.), a location change event (e.g., when vehicle220is moved from a first location to a second location), or the like.

In some implementations, communication device230may detect the trigger based on information associated with vehicle220. For example, vehicle220may include an ignition component (e.g., associated with starting vehicle220), a sensor component (e.g., a speed sensor, a motion sensor, etc.), a geolocation component (e.g., a component associated with determining a geographic location of vehicle220), or the like. Here, one or more components of vehicle220may be configured to provide a notification (e.g., a notification that vehicle220has started, a notification that vehicle220is in motion, etc.). In this example, communication device230may detect the trigger based on the notification provided by the one or more components of vehicle220.

In some implementations, communication device230may detect the trigger based on registration information stored or accessible by communication device230. For example, as described above, communication device230may store or have access to registration information that identifies one or more triggers and/or information indicating whether each of the one or more triggers is to cause an alert to be provided to registered user device210. In this example, communication device230may receive a notification from a particular component (e.g., the ignition component, the speed sensor, the motion sensor, etc.) of vehicle220and may detect the trigger accordingly (e.g., when the registration information indicates that communication device230is to detect a trigger based on a notification from the particular component).

As further shown inFIG. 6, process600may include determining registration information for a registered user device associated with the vehicle (block620). For example, communication device230may determine registration information for registered user device210associated with vehicle220. In some implementations, communication device230may determine the registration information after communication device230detects the trigger associated with vehicle220.

As described above, the registration information may include information associated with registered user device210to which communication device230may provide an alert associated with vehicle220. In some implementations, communication device230may determine the registration information based on information stored or accessible by communication device230. For example, communication device230may receive and store the registration information, as described above. Here, communication device230may detect the trigger, associated with vehicle220, and may determine the registration information based on the stored registration information.

As further shown inFIG. 6, process600may include determining whether the registered user device is near the vehicle (block630). For example, communication device230may determine whether registered user device210is near vehicle220. In some implementations, communication device230may determine whether registered user device210is near vehicle220after communication device230determines the registration information. Additionally, or alternatively, communication device230may determine whether registered user device210is near vehicle220after communication device230detects the trigger associated with vehicle220.

In some implementations, communication device230may determine whether registered user device210is near vehicle220based on the registration information. For example, assume that the registration information includes information that identifies registered user device210(e.g., an IP address, a Bluetooth address, a NFC chip identifier, etc.). Here, communication device230may determine whether registered user device210is near vehicle220by sending (e.g., via WiFi, via Bluetooth, via NFC, etc.) a query to registered user device210, and waiting for a response to the query. In this example, if communication device230does not receive a response to the query within a threshold amount of time (e.g., a default threshold amount of time, a threshold amount of time identified in the registration information), then communication device230may determine that registered user device210is not near vehicle220. In some implementations, communication device230may send the query to registered user device210without requiring an action by an operator and/or occupant of vehicle220(i.e., the operator and/or occupant of vehicle220may not be made aware that communication device230sends the query).

In some implementations, registered user device210may respond to the query without an action by the user of registered user device210. For example, communication device230may be configured to automatically (e.g., without user interaction) respond to a query sent via WiFi and/or via Bluetooth (e.g., when registered user device210is within WiFi range and/or Bluetooth range of communication device230). As such, communication device230may determine that registered user device210is near vehicle220without requiring user action.

Additionally, or alternatively, registered user device210may respond to the query with an action by the user. For example, communication device230may send the query via NFC, and registered user device210may respond to the query when the user of registered user device210holds registered user device210in close proximity (e.g., three centimeters, ten centimeters, twenty-five centimeters, etc.) of an NFC chip associated with communication device230. As such, communication device230may determine that registered user device210is near vehicle220based on the user action associated with registered user device210.

In some implementations, communication device230may determine whether registered user device210is near vehicle220via one or more wireless technologies identified by the registration information. For example, the registration information may indicate that communication device230is to determine whether registered user device210is near vehicle220via Bluetooth and/or NFC, and communication device230may determine whether registered user device210is near vehicle220accordingly.

Additionally, or alternatively, communication device230may determine whether multiple registered user devices210are near vehicle220. For example, the registration information may identify a first registered user device210, a second registered user device210, and a third registered user device210. Here, communication device230may determine (e.g., in series, concurrently, etc.) whether the first registered user device210, the second registered user device210, and/or the third registered user device210are near vehicle220.

In some implementations, communication device230may determine that registered user device210is near vehicle220(e.g., when communication device230receives a response to the query provided by communication device230). Alternatively, communication device230may determine that registered user device210is not near vehicle220(e.g., when communication device230does not receive a response to the query provided by communication device230).

As further shown inFIG. 6, if the registered user device is near the vehicle (block630—YES), then process600may include not performing an action associated with the vehicle (block640). For example, communication device230may determine that registered user device210is near vehicle220, and communication device230may not track vehicle220(e.g., when communication device230is configured not to send an alert to registered user device210and/or track vehicle220when registered user device210is near vehicle220).

As further shown inFIG. 6, if the registered user device is not near the vehicle (block630—NO), then process600may include providing, to the registered user device, an alert associated with the vehicle (block650). For example, communication device230may determine that registered user device210is not near vehicle220, and communication device230may provide, to registered user device210, an alert associated with vehicle220. In some implementations, communication device230may provide the alert to registered user device210after communication device230determines that registered user device210is not near vehicle220.

As described above, the alert may include a message associated with determining whether communication device230is cause an action, associated with vehicle220to be performed. For example, the alert may include a message associated with determining whether communication device230is to track vehicle220. Other examples of the action may include disabling vehicle220(e.g., turning off vehicle220when communication device230determines that vehicle220may be safely disabled), establishing a connection for communications associated with vehicle220(e.g., opening a channel to a speaker and a microphone of vehicle220to speak with an occupant of vehicle220, etc), sending a message (e.g., sending a text message to a particular user device), or the like. Notably, while implementations and/or methods described herein are described in the context of the action being associated with tracking vehicle220, these implementations and/or methods may equally apply to one or more other types of actions, such as those listed above.

In some implementations, the alert may include a SMS message, a MMS message, a voice message, a video message, an email, or the like. In some implementations, the alert may include an inquiry associated with determining whether communication device230is to cause an action, associated with vehicle220, to be performed. For example, the alert may indicate that communication device230has detected a trigger, and may inquire (e.g., to the user of registered user device210) whether communication device230is to track vehicle220. In some implementations, communication device230may provide the alert via a cellular network (e.g., network240) via which communication device230is capable of communicating with registered user device210.

In some implementations, the alert may include location information associated with vehicle220. For example, the alert may include a set of GPS coordinates that identify a geographic location of vehicle220at the time that communication device230detected the trigger. As another example, the alert may include information that identifies a cell, associated with network240, in which vehicle220was located at the time that communication device230detected the trigger.

In some implementations, communication device230may provide multiple alerts to registered user device210identified by the registration information. For example, communication device230may provide a first alert to registered user device210. Here, if communication device230does not receive a response to the first alert within a threshold amount of time (e.g., a default threshold amount of time, a threshold amount of time identified in the registration information, etc.), then communication device230may send a second alert to registered user device210.

Additionally, or alternatively, communication device230may provide the alert to multiple registered user devices210identified by the registration information. For example, communication device230may provide a first alert to a first registered user device210. Here, if communication device230does not receive, from the first registered user device210, a response to the first alert within a first threshold amount of time, then communication device230may provide a second alert to a second registered user device210. As another example, communication device230may concurrently provide the alert to the first registered user device210and the second registered user device210.

In some implementations, communication device230may not receive a response to one or more alerts (e.g., provided to one or more registered user devices210), and communication device230may automatically cause the action, associated with vehicle220, to be performed. For example, assume that communication device230provides a set of alerts to a set of registered user devices210over a period of time. Here, if communication device230does not receive a response to any alert, then communication device230may periodically (e.g., every minute, every ten minutes, etc.) determine location information associated with tracking vehicle220. In this case, communication device230may automatically provide the location information to the set of registered user devices210and/or may store the location information (e.g., such that the location information may be provided to the set of registered user devices210at a later time). In some implementations, communication device230may continue (e.g., periodically) providing, to the set of registered user devices210, the location information and/or additional alerts (e.g., until communication device230receives a response an alert).

As further shown inFIG. 6, process600may include receiving a response to the alert associated with the vehicle (block660). For example, communication device230may receive a response to the alert associated with tracking vehicle220. In some implementations, communication device230may receive the response to the alert after communication device230provides the alert. Additionally, or alternatively, communication device230may receive the response to the alert after registered user device210provides the response to the alert. In some implementations, communication device230may receive the response to the alert via the cellular network (e.g., network240) via which communication device230is capable of communicating with registered user device210.

In some implementations, the response may include an indication whether communication device230is to cause the action, associated with vehicle220, to be performed. For example, the response may include an indication whether communication device230is to determine location information associated with tracking vehicle220. Here, the response may include an indication that communication device230is to determine location information associated with tracking vehicle220(e.g., when the user of registered user device210wishes for communication device230to track vehicle220). As another example, the response may include an indication that communication device230is not to determine location information associated with tracking vehicle220(e.g., when the user of registered user device210does not wish for communication device230to track vehicle220).

Additionally, or alternatively, the response may include a passcode associated with registered user device210. For example, the response may include a passcode, provided via user input to registered user device210, associated with validating the response (e.g., in order to protect against cloning and/or spoofing of registered user device210).

As further shown inFIG. 6, process600may include determining whether to cause the action, associated with the vehicle, to be performed (block670). For example, communication device230may determine whether to track vehicle220based on the response to the alert. In some implementations, communication device230may determine whether to track vehicle220after communication device230receives the response to the alert.

In some implementations, communication device230may determine whether the action, associated with vehicle220, is to be performed based on the response to the alert. For example, communication device230may determine whether to track vehicle220based on the response to the alert. Here, the response may include information indicating that communication device230is to track vehicle220. As another example, the response may include information indicating that communication device230is not to track vehicle220.

In some implementations, communication device230may compare a passcode, included in the response, to a passcode included in the registration information. Here, if the passcode included in the response matches the passcode included in the registration information, then communication device230may act in accordance with the response (e.g., by beginning to track vehicle220, by not tracking vehicle220). Alternatively, the passcode included in the registration information may not match the passcode included in the registration information. Here, communication device230may notify registered user device210that the passcode is incorrect (e.g., such the user may reenter the passcode) and/or may (e.g., automatically) begin tracking vehicle220(e.g., after communication device230receives a threshold quantity of incorrect passcodes from registered user device210).

As further shown inFIG. 6, if the action is not to be performed (block670—NO), then process600may include not performing the action associated with the vehicle (block640). For example, communication device230may determine, based on the response, that vehicle220is not to be tracked, and communication device230may not track vehicle220.

As further shown inFIG. 6, if the action, associated with the vehicle, is to be performed (block670—YES), then process600may include causing the action, associated with the vehicle, to be performed (block680). For example, communication device230may determine that vehicle220is to be tracked, and communication device230may provide location information associated with tracking vehicle220. In some implementations, communication device230may provide the location information associated with tracking vehicle220after communication device230determines that communication device230is to track vehicle220. In some implementations, communication device230may provide the location information via the cellular network (e.g., network240) via which communication device230is capable of communicating with registered user device210.

The location information may include information that identifies a geographic location of vehicle220. For example, the location information may include a set of GPS coordinates, a location associated with a cell of network240, or the like. In some implementations, communication device230may periodically determine the location information associated with vehicle220. For example, communication device230may determine location information every one second, every five seconds, every one minute, every ten minutes, or the like.

In some implementations, communication device230may provide the location information to registered user device210. For example, communication device230may provide the location information to registered user device210each time communication device230determines the location information (e.g., every one second, every five seconds, every one minute, every ten minutes, etc.). In some implementations, the rate at which communication device230provides the location information may be configured by the user of registered user device210. Additionally, or alternatively, communication device230may provide the location information for storage by communication device230(e.g., such that communication device230may provide the location information to registered user device210at a later time) or a server (e.g., such that communication device230may provide the location information to the server and registered user device210may retrieve the location information from the server at a later time).

In some implementations, communication device230may provide the location information such that the user of registered user device210may view the location information. For example, communication device230may provide the location information to registered user device210. Here, registered user device210may provide, for display via a display screen, the location information in the form of a map, a list of GPS coordinates, or the like. In some implementations, communication device230may provide (e.g., concurrently, in a sequence) the location information (e.g., a list of GPS coordinates), and registered user device210may plot the location information on a map for display to the user. Additionally, or alternatively, communication device230may provide the location information to registered user device210, and registered user device210may store the location information (e.g., such that the user may view the location information at a later time).

Additionally, or alternatively, communication device230may cause another type of action to be performed. For example, communication device230may cause vehicle220to be disabled (e.g., when communication device230determines that vehicle220may be safely disabled, such as when communication device230determines that vehicle220has stopped), cause a connection for communications associated with vehicle220to be established, cause a message to be sent (e.g., to a display screen associated with communication device230, to a particular user device, etc.), or the like.

FIG. 7is a diagram of an example implementation700relating to example process600shown inFIG. 6. For the purposes of example implementation700, assume that vehicle220includes communication device230capable of determining location information associated with vehicle220. Further, assume that communication device230is capable of communicating via a cellular network (e.g., network240), and that communication device230stores registration information that identifies a first registered user device210(e.g., RUD210-1) associated with vehicle220and a second registered user device210(e.g., RUD210-2), associated with vehicle220, as described above with regard to example implementation500.

As shown inFIG. 7, and by reference number705, communication device230may detect a trigger associated with tracking vehicle220. For example, communication device230may detect an ignition event (i.e., that vehicle220has started), and may determine (e.g., based on the registration information stored by communication device230) that the ignition event is a trigger associated with vehicle220. As shown by reference number710, communication device230may determine (e.g., based on the registration information) whether the first registered user device and/or the second registered user device are near vehicle220via Bluetooth. As shown, communication device230may determine a first Bluetooth address corresponding to the first registered user device (e.g., the first registered user device BT=001060AA36F7) and a second Bluetooth address corresponding to the second registered user device (e.g., the second registered user device BT=101050AC36F9).

As shown by reference number715, communication device230may determine that the second registered user device is near vehicle220. For example, communication device230may send, to the second registered user device, a query associated with communicating via Bluetooth, and may determine, based on receiving a response to the query, that the second registered user device is near vehicle220. As shown by reference number720, since communication device230determines that the second registered user device is near vehicle220, communication device230may not track vehicle220.

As indicated above,FIG. 7is provided merely as an example. Other examples are possible and may differ from what was described with regard toFIG. 7.

FIGS. 8A and 8Bare diagrams of an additional example implementation800relating to example process600shown inFIG. 6. For the purposes of example implementation800, assume that vehicle220includes communication device230capable of determining location information associated with vehicle220. Further, assume that communication device230is capable of communicating via a cellular network (e.g., network240), and that communication device230stores registration information that identifies a first registered user device210(e.g., RUD210-1) associated with vehicle220and a second registered user device210(e.g., RUD210-2), associated with vehicle220, as described above with regard to example implementation500.

As shown inFIG. 8A, and by reference number805, communication device230may detect a trigger associated with tracking vehicle220. For example, communication device230may detect an ignition event (i.e., that vehicle220has started), and may determine (e.g., based on the registration information stored by communication device230) that the ignition event is a trigger associated with vehicle220. As shown by reference number810, communication device230may determine (e.g., based on the registration information) whether the first registered user device and/or the second registered user device are near vehicle220via Bluetooth. As shown, communication device230may determine a first Bluetooth address corresponding to the first registered user device (e.g., the first registered user device BT=001060AA36F7) and a second Bluetooth address corresponding to the second registered user device (e.g., the second registered user device BT=101050AC36F9). As shown by reference number815, communication device230may determine that neither the first registered user device nor the second registered user device is near vehicle220. For example, communication device230may send, to the first registered user device and the second registered user device, a query associated with communicating via Bluetooth, and may determine, based on waiting for a threshold amount of time without receiving a response from either the first registered user device or the second registered user device, that neither the first registered user device nor the second registered user device is near vehicle220.

As shown by reference number820, since neither the first registered user device nor the second registered user device is near vehicle220, communication device230may provide, to the first registered user device, an alert associated with vehicle220(e.g., since the registration information indicates that the alert is to be provided to the first registered user device first). As shown, communication device230may provide the alert (e.g., an SMS) via a cellular network (e.g., network240) and based on the registration information that identifies the first registered user device (e.g., 123-456-7890). As shown by reference number825, the first registered user device may receive the alert, and may display information associated with the alert to a user (e.g., “Vehicle220has started! Track vehicle220?”). As shown, the user may indicate (e.g., by selecting a Yes button) that the user wishes for communication device230to track vehicle220. As further shown, the user may provide (e.g., via a textbox) a passcode associated with the first registered user device (e.g., Enter Passcode: 2384).

As shown inFIG. 8B, and by reference number830, the first registered user device may provide a response to the alert that includes information, indicating that communication device230is to track vehicle220, and the passcode provided by the user. As shown by reference number835, communication device230may receive the response to the alert and may determine, based on the registration information, that the passcode included in the response matches the passcode included in the registration information (e.g., RUD210-1PC=OK). As shown by reference number840, communication device230may determine location information associated with vehicle220(e.g., 40.0017° N, 83.0197° W). As shown by reference number845, communication device230may provide the location information to the first registered user device. As shown, the first registered user device may provide the location information for viewing by the user. Communication device230may continue (e.g., periodically) determining updated location information associated with vehicle220, and providing the updated location information accordingly (e.g., such that the first registered user device periodically receives the updated location information).

As indicated above,FIGS. 8A and 8Bare provided merely as an example. Other examples are possible and may differ from what was described with regard toFIGS. 8A and 8B.

Implementations described herein may allow a user to cause an action, associated with a vehicle, to be performed (e.g., on-demand) when the user is not within or near the vehicle. Implementations described herein may also provide the user with on-demand vehicle tracking via a cellular network without requiring the user to subscribe to a vehicle tracking service and without requiring the user to install an external device within and/or on the vehicle.

For example, while implementations described herein are described in the context of registered user device210providing a response to an alert provided by communication device230, in some implementations, registered user device210may provide, to communication device230(e.g., via the cellular network) a request associated with tracking vehicle220. In this example, registered user device210may provide, to communication device230, an indication that communication device230is to track vehicle220(and the passcode associated with registered user device210), and communication device230may begin tracking vehicle220accordingly. In this way, registered user device210need not wait to receive an alert before causing communication device230to track vehicle220.