Telematics integration enabling indexing and viewing of associated event videos

A system for telematics integration includes a video system configured to receive an event email notification from a telematics system. The telematics system was provided an email address for the event email notification. The video system is further configured to scrape the event email notification for event information and to determine whether event information satisfies criteria to generate trigger criteria for an event of interest. Then video system is further configured to, in the event that the event information satisfies the criteria to generate the trigger criteria, retrieve associated video from a video repository of the video system based at least in part on the trigger criteria.

BACKGROUND OF THE INVENTION

Currently integrations between video services and telematics solutions are built in a one-to-one approach using application peripheral interface (API) integrations between the telematics applications and the video services application. This legacy approach is time consuming, requires custom development for every pair-wise integration, and also requires access and licensing of APIs from the vendors of both video and telematics platforms. The integrations have to be specified in detail and, once developed, require significant effort to maintain or to make any changes.

DETAILED DESCRIPTION

A system for telematics integration is disclosed. The system comprises a video system configured to receive an event email notification from a telematics system. The telematics system was provided an email address for the event email notification. The video system is configured to scrape the event email notification and determine whether event satisfies criteria to generate trigger criteria for an event of interest, and retrieve associated video from a video repository of the video system based at least in part on the trigger criteria in the event that the event satisfies the criteria to generate the trigger criteria.

The telematics integration system leverages the universal existence of an e-mail notification engine in telematics applications as the source for video-telematics integration meta-data. The notification engine is historically used to notify users of the telematics platform of a client specified event by sending an e-mail notification to a designated recipient list when client specified conditions are met. The telematics integration system utilizes the addition (e.g., by the system configuration or by the client) of a generic e-mail addressed to the e-mail integration service, any time a video recording of the desired event is needed or wanted. The telematics integration system receives event meta-data via e-mail notification and scrapes pertinent information (e.g., vehicle ID and timestamp of an event) from the e-mail in order to generate a trigger for obtaining videos related to the event. This allows a user of a telematics system to easily specify the conditions in which video is to be captured/indexed/uploaded for a visual recording of the desired event. In various embodiments, the telematics system comprises a vehicle tracking system, a vehicle monitoring system, a delivery management system, logistic management system, fleet management system, fuel card system, or any other system associated with vehicles. The system qualifies events by providing conditions for events to the telematics system for a first level of checking and then a second level of checking to determine whether a trigger criteria is satisfied for retrieving data from a vehicle system and/or a video system storage. In some cases, one of these checks is omitted and the video is retrieved based on only one condition, In some cases, the criteria is/are modified at the telematics system or at the video system using feedback after consistency check information does not pass one or more times.

The value of this system is that it provides for the development of a telematics integration system that easily and rapidly integrates between any telematics (or other operational platform) with a video service. It alleviates the need for time-consuming API-based one-to-one integrations that cannot cost-effectively be developed in sufficient numbers to reasonably span the spectrum of available telematics platforms in existence.

FIG. 1is a diagram illustrating an embodiment of a system for telematics integration. In the example shown, a vehicle system (e.g., vehicle system108, vehicle system110, and vehicle system112) provides data regarding driving routes, vehicle state, driving data, video streams, images, vehicle sensor data to video system100and/or to a telematics system (e.g., telematics system104or telematics system106) using cellular network116and/or network102. In various embodiments, network102comprises a wired network, a wireless network, the Internet, a local area network, a combination of networks, or any other appropriate combination of communication systems. User system114is informed of events that occur as gleaned from the data received by video system110or the telematics systems. In order to properly determine events, a full set of data is analyzed by one system. The telematics systems are configured to provide notification to video system100. The system enables easier integration and swifter adaptation to changes by the telematics systems by integrating a telematics system using email as the notification mechanism. A telematics system is configured to send the notification in the event that specified circumstances are satisfied and data regarding the event are emailed to video system100. The notification received by video system100is parsed to extract information about the event (e.g., template identifier, pertinent information identifier, sender information, customer information, time stamp, vehicle identifier, location of event, etc.). A check is made as to whether the event information is relevant to video server100(e.g., is customer relevant? is vehicle relevant? is location relevant? etc.). Video server100then determines whether the event satisfies criteria to generate trigger criteria for an event of interest. In the event that the event satisfies the criteria to generate the trigger criteria, associated video is retrieved from a video repository of video system100based at least in part on the trigger criteria. The trigger criteria may also be generated using sensor information from a vehicle (e.g., vehicle system108, vehicle system110, or vehicle system112) or from other telematics systems.

FIG. 2Ais a diagram illustrating an embodiment of a video system. In some embodiments, video system200is used to implement video system100ofFIG. 1. In the example shown, video system200includes processor204, interface202, and video repository206. Processor204includes scraper208and trigger determiner210. Interface202receives notification from a telematics system and provides to scraper208of processor204. Scraper208determines information regarding an event associated with the notification. The information is provided to trigger determiner210to use in determining a trigger for videos relevant to an event of interest. The trigger is used to search video repository206for videos associated with the trigger (e.g., a location, a time, a vehicle, etc. associated with the event of interest). Index212of video repository206is used to find appropriate videos stored in storage214of video repository206. Also, if appropriate, processor204communicates with vehicle(s) to identify video(s) relevant to trigger using cellular network interface216, which includes a cellular transmitter/receiver, and retrieves appropriate video(s). Retrieved video(s) may be indexed and stored in video repository206. The appropriate videos from the repository and retrieved from vehicle(s) are returned via interface202to a user using a user system.

FIG. 2Bis a diagram illustrating an embodiment of a vehicle system. In various embodiments, vehicle system250is used to implement vehicle system108, vehicle system110, and/or vehicle system112ofFIG. 1. In the example shown, vehicle system250measures a vehicle using sensors while being driven—for example, using acceleration sensor260, video sensor266, global positioning system (GPS)268, camera270, or any other appropriate sensor. In some cases, video sensor266or camera270are one of a plurality of video sensors or one of a plurality of cameras. In some embodiments, video sensor266and camera270are integrated into one physical unit. The data from the sensors is used to detect events by event detection258of processor254. Vehicle system250also receives information from vehicle sensors via a vehicle bus and vehicle interface252. Data from the sensors associated with events is stored in storage264of event storage256and indexed in index262. In some cases, vehicle system250is connected to a network—for example, a wired connection or a wireless network (e.g., local hot spot in a vehicle depot yard)—for example, via interface253. The event data is sent to (e.g., either pushed or requested from) a video system using cellular network interface272, which includes a cellular transmitter/receiver. In some cases, the video system desires videos associated with an event of interest as defined using a trigger criteria and a request is made for videos or other event data associated with the trigger criteria. The processor searches stored event data in event storage256using index262and retrieves data/videos and provides them to a video system via the cellular network.

FIG. 3is a flow diagram illustrating an embodiment of a process for telematics integration system. In some embodiments, the process ofFIG. 3is executed using a video system (e.g., video system100ofFIG. 1). In the example shown, in300it is indicated to a telematics system to notify a video system of events. For example, the telematics system is configured to notify the video system using an email notification system in the event that an event at a telematics system is detected, where the event is also configured to be of a character as defined by event parameters. In some embodiments, the telematics system has default event types that are sent as notifications. In some embodiments, other notifications are also sent that are not events and these notifications will be filtered out for video retrievals. In302, an event email notification is received. For example, the telematics system emails information about an event to a video system (e.g., a telematics integration system). In304, the event email notification is scraped. For example, information regarding an event is scraped from an email from a telematics system. In some embodiments, the email is parsed for information relevant for determining a trigger for an event of interest which is used to located videos of interest. In306, it is determined whether an event satisfies criteria to generate trigger criteria for an event of interest. For example, even though conditions for an event are satisfied at the telematics system, the event may not pass consistency checks or may not also satisfy other criteria to retrieve video data (e.g., the event is no longer of interest, not of the right type, already sufficiently investigated, needs to be qualified by some other criteria, is not in the correct location, is not at the correct time, is not associated with an appropriate vehicle, is not associated with an appropriate driver, etc.). In the event that the event does not satisfy criteria to generate trigger criteria for event of interest, the process ends. In the event that the event does satisfy criteria to generate trigger criteria for event of interest, the control passes to308. In308, associated video events are retrieved using the trigger criteria. For example, a video repository is searched using an index for videos to be retrieved based on trigger criteria for events of interest. In various embodiments, trigger criteria include a location associated with an event of interest, a time associated with an event of interest, a vehicle associated with an event of interest, a customer associated with an event of interest, or any other appropriate criterion associated with an event of interest.

FIG. 4is a flow diagram illustrating an embodiment of a process for indicating to a telematics system to notify video system of events. In some embodiments, the process ofFIG. 4is used to implement300ofFIG. 3. In the example shown, in400a notification email address is provided. For example, an email address is provided to a telematics system for notification to a video system. In402, conditions for events are provided. For example, a telematics system is provided with criteria for events that are interesting to the video system and what the telematics system should be notifying the video system about. In some embodiments, no conditions are provided and this step is omitted. In some embodiments, the telematics system automatically provides notification to an email address regarding predetermined events as determined using predetermined criteria for events. In404, an indication is received that the notification request was accepted. For example, the telematics system provides confirmation that email notification and/or conditions for events was received and accepted.

FIG. 5is a flow diagram illustrating an embodiment of a process for scraping a notification. In some embodiments, the process ofFIG. 5is used to implement304ofFIG. 3. In the example shown, in500a telematics platform is determined. For example, the identity of the telematics system is determined from the notification (e.g., using a known set of characteristics of the notification—for example, a pattern or known text within the notification). In502, a customer and/or associated vehicle are determined. For example, the notification is parsed to determine a customer and/or associated vehicle. In some embodiments, the customer is determined from a vehicle identifier by retrieving a customer associated with a vehicle identifier from a database. In504, it is determined whether an ID is associated with a determined customer and/or vehicle. For example, the system determines an identifier indicating whether the notification is relevant to the system or not. In the event that there is not an ID associated with a determined customer and/or vehicle, then in506it is indicated that there is not an associated ID and the process ends. In the event that there is an ID associated with a determined customer and/or vehicle, then in508an associated time stamp and/or location are determined. For example, the time stamp of an event and/or location are determined from the information in the notification. In510, it is determined whether the time stamp and/or location are with bounds. For example, it is determined whether the time stamp is within a time and/or date window (e.g., after a starting time limit and before and ending time limit), and/or the location is within a bounded set of location boundaries (e.g., within a radius from a point or within a set of boundary lines or delineating points in any appropriate shape). In various embodiments, the time stamp is checked to see if it is within bounds, the location is checked to see if it is within bounds, or the location and the time stamp are checked to see if they are within bounds. In the event that the time stamp and/or the location is not within bounds, in512it is indicated that the time stamp and/or location are not within bounds and the process ends. In the event that the time stamp and/or the location is within bounds, in514it is determined whether the information passes a consistency check. For example, the information is checked to see if the information is consistent with prior information received regarding the same vehicle and/or customer (e.g., similar travel locations/times for the same vehicle and/or customer, etc.). In the event that the information does not pass a consistency check, in516it is indicated that the information does not pass the consistency check, and the process ends. In some cases, in the event that the information does not pass a consistency check or does not pass multiple consistency checks (e.g., a counter is incremented each time a check is not passed and upon the counter exceeding a threshold value, the event conditions are changed as provided to the telematics system). In the event that the information does pass a consistency check, in518the scraped information is provided, and the process ends.

FIG. 6is a flow diagram illustrating an embodiment for a process for satisfying a criteria to generate a trigger criteria. In some embodiments, the process ofFIG. 6is used to implement306ofFIG. 3. In the example shown, in600an event of interest criteria is received. In602, event information is received. In604, it is determined whether the event information satisfies an event of interest criteria. In the event that the event information does not satisfy an event of interest criteria, in606no trigger criteria is indicated. In the event that the event information does satisfy an event of interest criteria, in608a trigger criteria is determined based on the event information. For example, the trigger criteria comprise criteria for locating videos related to an event of interest (e.g., a location and time, an area and a time, a set of times and a set of locations, or any other appropriate criteria). In some embodiments, the trigger criteria correspond to a set of vehicles in a location (e.g., all trucks in a loading yard).

FIG. 7is a flow diagram illustrating an embodiment for a process for retrieving an associated video. In some embodiments, the process ofFIG. 7is used to implement308ofFIG. 3. In the example shown, in700index of videos is searched using a trigger criteria. In702, videos are retrieved from video storage using index results. In704, it is determined whether videos should be retrieved from vehicle storage. For example, it is determined whether the system should contact one or more vehicle systems to retrieve videos. In the event that it is determined that videos should not be retrieved from vehicle storage, then control passes to712. In the event that it is determined that videos should be retrieved from vehicle storage, then in706a vehicle is selected. In708, videos are retrieved from selected vehicle using trigger criteria. For example, the video data associated with the trigger criteria are retrieved from a vehicle system. In some embodiments, the video data is retrieved with associated metadata information—for example, a vehicle identifier, a camera identifier, a timestamp, a location, a heading, etc. In710, it is determined whether there are more vehicles. For example, it is determined whether there are more vehicles to retrieve videos from. In the event that there are more vehicles, then control passes to706. In the event that there are not more vehicles, then control passes to712. In712, videos are provided.