The present invention relates to system communication processing and more specifically to dynamically processing disparate messages.
Telematics is the integrated use of telecommunications and informatics. Telematics units are installed in vehicles to provide a variety of telematics functionality in the vehicle. This functionality includes, but is not limited to, emergency warning systems, navigation functionality, safety warnings, vehicle location determination, and automated driving assistance. Telematics units are also capable of recording data related to the operation of the vehicle and providing that information for analysis, whether in real-time or during a time when the vehicle is being serviced. This information can be used in a variety of applications, such as fleet tracking, shipment tracking, insurance calculations, and in vehicle management and service.
Systems and methods for dynamic telematics messaging in accordance with embodiments of the invention are disclosed. One embodiment includes a dynamic telematics messaging system includes at least one vehicle telematics device, and a dynamic telematics messaging server system including, at least one processor, and a memory containing a messaging application, wherein the messaging application directs the at least one processor to obtain a first message data from the at least one vehicle telematics device encoded in a first message format, transcode the first message data into a second message format, process the transcoded message data, and provide the transcoded message data.
In another embodiment, transcoding the first message data into a second message format includes classifying the first message data by identifying the first message format.
In a further embodiment, classifying the first message data includes locating a header searching the first message data for at least one identifier and decoding the at least one identifier.
In still another embodiment, the at least one identifier is selected from the group consisting of a vehicle telematics device serial number, a vehicle identification number, an event code pattern, message data size, a unique accumulator value, and an IP address.
In a still further embodiment, decoding the at least one identifier includes matching the identifier to a messaging profile.
In yet another embodiment, decoding the at least one identifier includes matching the identifier to a messaging profile.
In a yet further embodiment, the appropriate module is a sensor data module, and the sensor data module directs the processor to determine available sensor data in the transcoded message and compile dynamic message data by aggregating the available sensor data into the second message format.
In another additional embodiment, the second message format is a standardized message format and aggregating the available sensor data includes populating standardized fields associated with the available sensor data.
In a further additional embodiment, the sensor data module further directs the processor to convert units associated with the available sensor data to standard units.
In another embodiment again, the sensor data module further directs the processor to generate secondary data based on the available sensor data.
In a further embodiment again, the appropriate module is a reverse geocoding module, and the reverse geocoding module directs the processor to obtain location data from the first message data, determine the nearest address based on the location data, and provide the determined address.
In still yet another embodiment, the location data includes GPS data.
In a still yet further embodiment, a method for dynamics telematics messaging includes obtaining a first message data from the at least one vehicle telematics device encoded in a first message format, transcoding the first message data into a second message format, processing the transcoded message data, and providing the transcoded message data.
In still another additional embodiment, transcoding the first message data into a second message format includes classifying the first message data by identifying the first message format.
In a still further additional embodiment, classifying the first message data includes locating a header, searching the first message data for at least one identifier, and decoding the at least one identifier.
In still another embodiment again, the at least one identifier is selected from the group consisting of a vehicle telematics device serial number, a vehicle identification number, an event code pattern, message data size, a unique accumulator value, and an IP address.
In a still further embodiment again, processing the transcoded message data includes applying an appropriate processing module to the transcoded message data.
In yet another additional embodiment, the appropriate module is a sensor data module, and the method further includes determining available sensor data in the transcoded message and compiling dynamic message data by aggregating the available sensor data into the second message format.
In a yet further additional embodiment, the second message format is a standardized message format, and aggregating the available sensor data includes populating standardized fields associated with the available sensor data.
In yet another embodiment again, the appropriate module is a reverse geocoding module, and the method further includes obtaining location data from the first message data, determining the nearest address based on the location data, and providing the determined address.
Other objects, advantages and novel features, and further scope of applicability of the present invention will be set forth in part in the detailed description to follow, and in part will become apparent to those skilled in the art upon examination of the following, or may be learned by practice of the invention. The objects and advantages of the invention may be realized and attained by means of the instrumentalities and combinations particularly pointed out in the prepended claims.
The description will be more fully understood with reference to the following figures, which are presented as exemplary embodiments of the invention and should not be construed as a complete recitation of the scope of the invention, wherein:
Turning now to the drawings, systems and methods for dynamic telematics messaging in accordance with embodiments of the invention are disclosed. Fleets of vehicles are a core component of many industries such as logistics and personal transportation. In many cases, it can be beneficial to be able to monitor and track the status of vehicles within the fleet. As such, many vehicles are equipped with a vehicle telematics device. These vehicle telematics devices can obtain and/or measure a variety of data regarding the conditions and/or location of the vehicle along with receiving and transmitting data to remote server systems. In many designs, in order to facilitate the transmission and receiving of data to remote server systems, the data is formatted such that it can be understood and processed by the remote server system. However, traditional telematics messaging systems are static in nature, meaning that once they have been established, a great deal of work is typically needed to add or adjust any features, such as, but not limited to, message content and/or message structure. This work can potentially include a re-writing of the program source code of the telematics messaging system and/or updating the firmware of the vehicle telematics devices to conform to the new message formats.
Dynamic telematics messaging systems can be used to obtain and transcode messages from a wide variety of vehicle telematics devices to a standardized format. Further, dynamic telematics messaging systems can generate additional data based on received messages. For example, vehicle telematics devices may not have the capability to measure fuel efficiency, while a dynamic telematics messaging system can automatically calculate fuel efficiency based on other metrics received. In numerous embodiments, different modules can be implemented within dynamic telematics messaging systems to perform different data transformations. In many embodiments, modules are processes for processing message data. Dynamic telematics messaging systems can additionally be used to communicate with a variety of types of vehicle telematics devices using only a single gateway rather than an individual gateway for each type or variation of vehicle telematics device.
Dynamic telematics messaging systems offer an improvement over previous messaging systems in a number of ways that include, but are not limited to, allowing the automatic processing of a wide variety of messages which previously could not be processed using a single system. In many embodiments, dynamic telematics messaging systems improve the ability of the system to dynamically identify and process message data over the prior systems. In several embodiments, dynamic telematics messaging systems transcode messages when received messages have an absence of (or insufficient) identifying metadata. For example, many vehicle telematics devices may not include firmware version numbers, message format indicators, or any other identifier as appropriate to the requirements of a given application. In numerous embodiments, if received messages include some form of an identifier (e.g. a serial number, a vehicle identification number (VIN), user defined identifier, Internet Protocol (IP) address, etc.), but the identifier is insufficient to confirm the type of message, dynamic telematics messaging systems can perform processes to supplement the identification metadata. As such, dynamic telematics messaging systems can identify the type of message by analyzing message format. Consequently, vehicle telematics devices operating using legacy message formats can remain in use in the field while being interoperable with the dynamic telematics messaging system.
Dynamic Telematics Messaging Systems
Dynamic telematics messaging systems in accordance with embodiments of the invention can transmit a variety of data between a remote server system and vehicle telematics devices. A conceptual diagram of a dynamic telematics messaging system in accordance with an embodiment of the invention is shown in
In a variety of embodiments, the vehicle telematics device 20 is installed in a vehicle having a vehicle data bus 22. In several embodiments, the vehicle telematics device 20 is connected to a vehicle diagnostic connector that provides access to the vehicle data bus 22. The vehicle telematics device 20 can obtain data from any of a variety of vehicle devices connected to the vehicle data bus 22 utilizing any of a variety of techniques as appropriate to the requirements of specific applications of embodiments of the invention. Vehicle devices can include, but are not limited to, engine sensors, electronic control unit (ECU) devices, alternator sensors, vibration sensors, voltage sensors, oxygen sensors, Global Positioning System (GPS) receivers, ignition devices, weight sensors, wireless network devices, and/or acceleration determination devices. Systems and methods for connecting to a vehicle data bus that can be utilized in accordance with embodiments of the invention are described in SAE J1978, titled “OBD II Scan Tool,” first published by SAE International of Troy, Mich. on Mar. 1, 1992 and last updated Apr. 30, 2002. Systems and methods for obtaining data from devices connected to a vehicle data bus are described in SAE J1979, titled “E/E Diagnostic Test Modes,” first published by SAE International on Dec. 1, 1991 and last updated Aug. 11, 2014. The disclosures of SAE J1978 and SAE J1979 are hereby incorporated by reference in their entirety. In a number of embodiments, the vehicle telematics device is connected directly, either wired or wirelessly, to one or more sensors within the vehicle and/or does not utilize the vehicle data bus 22. The vehicle telematics device 20 can include any of a variety of sensors and/or devices, including those described above with respect to the vehicle data bus and any described in more detail below, to obtain data regarding the status of the vehicle. The vehicle telematics device 20 can also communicate with any of a variety of sensors and/or devices using the I/O interface 24. The I/O interface 24 can be any connection, including wired and wireless connections, as appropriate to the requirements of specific applications of embodiments of the invention.
In several embodiments, the vehicle telematics device 20 is capable of executing scripts to read data and/or perform particular processes. These scripts can be pre-loaded on the device and/or obtained from the dynamic messaging server system 40, vehicle data bus 22, and/or the I/O interface 24 as appropriate to the requirements of specific applications of embodiments of the invention. The vehicle telematics device 20 can be self-powered and/or connected into the electrical system of the vehicle in which the vehicle telematics device 20 is installed. In a variety of embodiments, the vehicle telematics device is powered via the vehicle data bus 22 and/or the I/O interface 24. In many embodiments, the vehicle telematics device 20 utilizes a Global Positioning System (GPS) receiver in order to determine the location, speed, and/or acceleration of the vehicle. However, it should be noted that any location-determining techniques, such as cellular tower triangulation, wireless network geolocation techniques, and dead reckoning techniques, could be utilized as appropriate to the requirements of specific applications of embodiments of the invention.
In a variety of embodiments, the vehicle telematics device 20 and/or dynamic messaging server system 40 provides a user interface allowing for visualizing and interacting with the data transmitted and/or received between the systems. In several embodiments, the vehicle telematics device 20 and/or dynamic messaging server system 40 provide an interface, such as an application programming interface (API) or web service that provides some or all of the data to third-party systems for further processing. Access to the interface can be open and/or secured using any of a variety of techniques, such as by using client authorization keys, as appropriate to the requirements of specific applications of the invention.
Turning now to
In a variety of embodiments, a wireless access point 117 contains components similar to vehicle telematics devices. In many embodiments, wireless access points can accumulate data and perform similar processes as vehicle telematics devices. In numerous embodiments, vehicle telematics devices transmit data using the wireless access point. In a variety of embodiments, the wireless access point is cell phone, a modem, a router, or any other wireless communications device as appropriate to the requirements of a given application. Systems and methods for transmitting data using a wireless access point that can be utilized in accordance with embodiments of the invention are described in U.S. patent application Ser. No. 15/430,400 titled “Systems and Methods for Radio Access Interfaces” filed Feb. 10, 2017, and U.S. patent application Ser. No. 15/373,277 titled “Systems and Methods for Tracking Multiple Collocated Assets” filed Dec. 8, 2016, the disclosures of which are incorporated herein by reference in their entirety. Data can be transferred over a wireless communications network 120 to a dynamic messaging server system 130. Messages transmitted to the dynamic messaging server system are obtained by a network processor 131 and stored in a queue to be processed by message processor 132. In many embodiments, message processors transcode received messages into a standardized message format. In numerous embodiments, message processors generate messages for transmission to vehicle telematics devices. As such, message processor 132 can be configured to store generated messages in a queue for transmission by the network processor 131 over the wireless communications network 120 back to vehicle telematics device 110.
Message processor 132 can further queue messages to be sent to data pump 133. Data pump 133 can be used to transmit messages between dynamic messaging server systems and user interface systems 170 via a network 150, such as the Internet. In many embodiments, the network 150 is configured to transmit messages using the hypertext transfer protocol using representational state transfer methods. However, any network protocol can be used to transmit data over the network as appropriate to the requirements of a given application.
The message processor 132 can further transmit messages to a message database 135. In numerous embodiments, message databases store standardized messages as records. In many embodiments, messages of various formats can be stored within message databases. The message database can be queried by a services module 140. Service modules comprise a set of core services 141, such as, but not limited to, applications that can process messages to produce meaningful data. Examples of core services include, but are not limited to, tracking a particular vehicle/set of vehicles, insurance claim data generation, route optimization, efficiency calculations, geofencing, or any other service as appropriate to the requirements of a given application. Core services can obtain service requests from interface systems 170, which can be passed through dynamic messaging server systems to the services module. Results can be generated and transmitted back via a similar route. In numerous embodiments, dynamic messaging server systems can generate a set of results to specific queries in addition to, or instead of, the services module. In many embodiments, service modules have databases 142 for storing data relevant to implementing various core services, including, but not limited to, relevant message records.
In numerous embodiments, storage module 160 can be connected to the message database 135 to store messages. Storage module 160 can include a storage database implemented using disk storage (disk database) 161 and/or a storage database implemented on main memory (in-memory database) 162. In numerous embodiments, the disk database is implemented using MongoDB. In a variety of embodiments, the in-memory database is implemented using Redis. However, any number of database implementations can be used in accordance with the requirements of a given application.
Although specific architectures of dynamic telematics messaging systems in accordance with embodiments of the invention are discussed above and illustrated in
Vehicle Telematics Devices
Vehicle telematics devices in accordance with many embodiments of the invention can transmit and receive data via dynamic telematics messaging systems. A conceptual illustration of a vehicle telematics device in accordance with an embodiment of the invention is shown in
In certain embodiments, sensor devices 230 can be included within the vehicle telematics device 200 and/or located external to the vehicle telematics device 200. Sensor devices 230 can include, but are not limited to, RPM sensors, voltage sensors, GPS receivers, noise sensors, vibration sensors, acceleration sensors, weight sensors, and any other device capable of measuring data regarding a vehicle as appropriate to the requirements of specific applications of embodiments of the invention. Sensor devices 230 can further include any sensor readings produced by sensors integrated into the vehicle, and transmitted to the vehicle telematics device. In many embodiments, sensor readings produced by sensors integrated into the vehicle and transmitted over the vehicle bus. In numerous embodiments, sensor readings are stored in the series of accumulators.
In several embodiments, the memory 240 is any form of storage configured to store a variety of data, including, but not limited to, a messaging application 242, device configuration data 244, and sensor data 246. In many embodiments, the messaging application 242, configuration data 244, and/or sensor data 246 are stored using an external server system and received by the vehicle telematics device 200 using the communications interface 220. Sensor data 246 can include any measurements taken by sensor devices. In numerous embodiments, sensor data is stored in accumulators. Sensor data can also include location data generated using a variety of methods including, but not limited to, utilizing GPS, cellular tower triangulation, wireless network geolocation techniques, dead reckoning techniques, and/or any other geolocation measurement system as appropriate to the requirements of a given application.
Turning now to
In several embodiments, the memory 290 is any form of storage configured to store a variety of data, including, but not limited to, a dynamic messaging application 292, received message data 293, and/or dynamic message data 294. In many embodiments, the dynamic messaging application 292, received message data 293, and/or dynamic message data 294 are stored using an external server system and received by the dynamic messaging server system 260 using the communications interface 280.
The processor 210 and the processor 270 can be directed, by messaging application 242 and dynamic messaging application 292 respectively, to perform a variety of dynamic telematics messaging processes. A number of dynamic telematics messaging processes in accordance with embodiments of the invention are described in more detail below.
Although specific architectures for vehicle telematics devices and dynamic messaging server systems in accordance with embodiments of the invention are conceptually illustrated in
Dynamic Telematics Messaging
Vehicle telematics devices across a fleet of vehicles are often different models and/or operate using different messaging schemes. Dynamic telematics messaging systems can be used to harmonize the content and structure of messages received from different telematics units. In many embodiments, message data received from at least one vehicle telematics device in the fleet is not self-descriptive. That is, the message data does not identify what the data represents. In many embodiments, messages contain bit strings from accumulator registers and/or event codes from the originating vehicle telematics device. In some embodiments, event codes can be associated with accumulator register data. For example, event codes can be, but are not limited to, elapsed time, distance traveled, speed, maximum speed achieved, current acceleration/deceleration output, maximum acceleration/deceleration output, zone states, position accuracy estimates, input/output states, maximum acceleration and/or deceleration, received signal strength indication, communications network identification numbers, temperature, speed history, throttle position engine speed, odometer, fuel remaining, current gear, coolant temperature, fuel consumption rate, battery voltage, service interval inspection distance, oil temperature, or any other metric associated with the vehicle that the vehicle telematics device is attached to. The above list is not meant to be exhaustive, and one of ordinary skill in the art would recognize that any number of metrics can be associated with a vehicle.
Further, vehicle telematics devices can have multiple messaging profile types such that generated messages can have various orderings of data. In numerous embodiments, event codes are not all unique identifiers and/or do not expressly indicate the type of associate data. Despite receiving sparsely labeled and/or unlabeled data, Dynamic telematics messaging processes in accordance with embodiments of the invention can include harmonizing numerous different messages, in a variety of formats, from different vehicle telematics devices to a single messaging format.
Turning now to
In numerous embodiments, parsing the message data involves analyzing the structure of the message data. In a variety of embodiments, parsing the message involves analyzing the content of the message. The message type is identified (306) and dynamic message data are generated (308). In numerous embodiments, dynamic message data is a standardized message format that labels each type of data contained in a received message data using a unique identifier. In some embodiments, the dynamic message data contains a field for each possible type of data receivable in a vehicle telematics device message. In a variety of embodiments, the dynamic message data only contains a field for the types of data received in the received vehicle telematics device message. However, any subset of the set of possible types of data can be used as a field in a dynamic message data in accordance with the requirements of a given application.
In many embodiments, dynamic messaging processes include parsing messages data. Parsing message data can include reading the content and/or structure of received message data and determining one or more processing modules to be used to transcode the message data to a standard format. Turning now to
Process 310 further includes decoding (314) identifiers. In numerous embodiments, identifiers can be headers. For example, in a variety of embodiments, identifiers can be part of the byte message data. Identifiers can include patterns of event codes that are unique to particular messaging profiles. Identifiers can also include accumulator values that are unique to specific event types. In many embodiments, identifiers can be extracted from a combination of byte message data and headers. For example, message size in addition to an event code location in the bit message can indicate the source vehicle telematics device type and/or messaging profile used to generate the message data. However, any combination of data can be used as an identifier as appropriate to the requirements of specific applications of embodiments of the invention.
Identifiers can be used to classify (316) message data types. In many embodiments, identifiers are matched against a database of identifiers associated with message data types. In several embodiments, message data types are messaging profiles that describe the labels for the data in a particular message data format. Multiple messaging profiles can be associated with the same vehicle telematics device type. Message data types can include, but are not limited to, messages regarding event reporting, vehicle telematics device identification, user data, application data, configuration settings, data requests, location reports, accumulator logs, collision reports, acknowledged status, not acknowledged status, and/or any other messaging type as appropriate to the requirements of a given application. In numerous embodiments, a single message can contain data associated with more than one type. In a variety of embodiments, if no type can be determined, the message data can be placed in a queue for unrecognized messages. Unrecognized messages can be flagged for manual processing, and/or stored in a log file associated with the vehicle telematics device.
Once the vehicle telematics device message type is identified, the message data, in whole or in part, can be processed (318) based on the identified classification. In many embodiments, each messaging type is parsed differently based on the message data type. In numerous embodiments, message data are labeled according to a set of rules for the particular processing stream. In the event that message data is unable to be fully parsed, all or part of the message can be flagged and/or stored in the log file associated with the vehicle telematics device.
While a variety of methods for generating and parsing message data are described above with respect to
Processing Messages Using Dynamic Telematics Messaging Systems
Dynamic telematics messaging processes in accordance with embodiments of the invention can include generating dynamic messaging data based on received. Turning now to
Incoming messages generated from application interface events can be acquired through an uplink message consumer 430. In many embodiments, the uplink message consumer is a polling consumer. In certain embodiments, received messages can be processed through an uplink message broker 431 to generate a network message 432 in a proper format for processing. In numerous embodiments, each message consumer includes an integrated exception handler to handle any exceptions that occur during processing.
The message processor 410 enriches incoming network messages 432. In several embodiments, the message processor 410 receives network messages 432 via the message service handler 411. In a variety of embodiments, the message service handler 411 measures the network message 432 for device configuration data that can be utilized to determine core services necessary for processing of the message 432. The message converter 412 converts the message from a network message 432 into event object data. In a number of embodiments, the event object data is in a self-described format. In a variety of embodiments, the message module processor 413 correlates event object data with subscription data to determine modules that can be utilized by the message processor 410 to process the event object data. The service/module locator 414 loads core services and modules based on the enriched event object data.
Modules can be stored internally 415 or externally 416 based on the needs of the application. Modules can be utilized based on a variety of factors including, but not limited to, configuration data, subscription data, the type of message, and/or the specific need of the application. For example, modules can be dynamically applied in dynamic telematics messaging systems based on the type of device that sent the message or by messages processed from a certain client. In many embodiments, a module for converting event object data into behavior data is utilized for further analysis and processing. Modules are dynamically applied to the message processor, thereby allowing for the creation of new modules as needed.
In several embodiments, each type of module 415, 416 handles its own exceptions through an exception handling process 420. When exceptions occur, exception data 421 can be generated. In a variety of embodiments, the exception data 421 is processed by an exception handler 422. In many embodiments, based on the rules of the exception handler 422, the event object is added to a failed message queue 423. A failed message consumer 440 receives the failed message from the failed message queue 423. In many embodiments, the failed message is processed by a failed message broker 441 to generate a failed message pass (MP) message 442 in a format suitable for processing by the message processor 410. In a variety of embodiments, the message service handler 411 receives the failed MP message 442 and only invokes the modules or services that generated the exception data from the previous message processing.
Specific structures for processing messages in accordance with embodiments of the invention are described above and shown with respect to
Generating Dynamic Message Data
Dynamic telematics messaging processes in accordance with embodiments of the invention can include generating dynamic message data. Dynamic message data can be generated by compiling parsed vehicle telematics device messages. In numerous embodiments, dynamic message data also includes new data generated by dynamic telematics messaging systems from parsed vehicle telematics device messages. In many embodiments, older vehicle telematics devices are not capable of producing the same types of data as newer vehicle telematics devices. However, some newer types of data can be calculated and/or approximated from older vehicle telematics device data types. In numerous embodiments, new data generate by dynamic telematics messaging systems incorporates data or processing capabilities not available to the vehicle telematics devices, such as, but not limited to, map data, impact detection processing, or any other calculation or data set as appropriate to the requirements of a given application.
Turning now to
Data, including parsed message data and/or additional data, can be labeled (516) and compiled (518) into dynamic message data. Labeling parsed message data can include, but is not limited to, adding appropriate units, adding additional metadata, or formatting the message data structure in such a way that the type of data is readily apparent. For example, the parsed message data can be labeled using a variety of extensible markup language (XML) tags, although any label metadata can be utilized as appropriate to the requirements of specific applications of embodiments of the invention.
Specific processes for generating additional data and/or labeling data in accordance with embodiments of the invention are described above and shown with respect to
Processing Sensor Data
Sensor data can be stored within message data. Dynamic telematics messaging processes can include determining the kinds of sensor readings that are present within a given message and/or produce additional data based on received data to provide useful data. Turning now to
Process 600 can also include generating (614) secondary data based on the determined available data. In numerous embodiments, information regarding the vehicle and/or sensors that the vehicle telematics device that originated the message in installed and/or connected to can be utilized to identify secondary data. For example, the accumulator configuration for a particular device can be determined based on the vehicle identification number (VIN) for the vehicle; the accumulator configuration can be utilized to decode and process the message data received as described above. In numerous embodiments, a time to next vehicle service requirement can be calculated based on odometer readings and/or vehicle service history data. In a variety of embodiments, an estimated time to arrival at a destination can be calculated based on current time, the location of the vehicle, and the average speed of the vehicle. However, any number of different calculations, including alternate methods of calculating the same data, can be performed by vehicle telematics device sensor data modules as appropriate to the requirements of a given application of embodiments of the invention.
Process 600 also includes generating (616) dynamic message data by aggregating received data and generated secondary data into a standard dynamic message structure. In numerous embodiments, the standard dynamic message structure has standardized fields for different types of data. In many embodiments, the vehicle telematics device sensor data module provides the available data and the generated secondary data to the message processor to compile the dynamic message data.
Specific processes for generating dynamic messaging data in accordance with embodiments of the invention are described above and shown with respect to
Reverse Geocoding
Reverse geocoding is the process of determining a nearest address to a specific geographic coordinate. Message data can include location data describing where the message originated. In many embodiments, address based location information can be useful for asset tracking. In numerous embodiments, data such as GPS coordinates can be unreliable. For example, in areas with numerous obstacles (e.g. buildings in an urban setting), GPS data can be unreliable. Location data can include a variety of alternative location data such as, but not limited to, geolocation derived from IP addresses associated with wireless networks. Alternative location data can be used to augment other location data and/or to improve the process of locating the point of origin of the message data. Dynamics telematics messaging processes in accordance with embodiments of the invention can include automatically reverse geocoding location data to include location data in the dynamic message data.
Turning now to
Specific processes for reverse geocoding in accordance with embodiments of the invention are described above and shown with respect to
Although the present invention has been described in certain specific aspects, many additional modifications and variations would be apparent to those skilled in the art. In particular, any of the various processes described above can be performed in alternative sequences and/or in parallel in order to achieve similar results in a manner that is more appropriate to the requirements of a specific application. It is therefore to be understood that the present invention can be practiced otherwise than specifically described without departing from the scope and spirit of the present invention. Thus, embodiments of the present invention should be considered in all respects as illustrative and not restrictive. It will be evident to the person skilled in the art to freely combine several or all of the embodiments discussed here as deemed suitable for a specific application of the invention. Throughout this disclosure, terms like “advantageous”, “exemplary” or “preferred” indicate elements or dimensions which are particularly suitable (but not essential) to the invention or an embodiment thereof, and may be modified wherever deemed suitable by the skilled person, except where expressly required. Accordingly, the scope of the invention should be determined not by the embodiments illustrated, but by the appended claims and their equivalents.
The current application is a continuation of U.S. patent application Ser. No. 16/883,648, entitled “Systems and Methods for Dynamic Telematics Messaging” to Santhosh Srinivasulu, filed May 26, 2020, which issued as U.S. Pat. No. 11,290,556 on Mar. 29, 2022, which is a continuation of U.S. patent application Ser. No. 15/818,260, entitled “Systems and Methods for Dynamic Telematics Messaging” to Santhosh Srinivasulu, filed Nov. 20, 2017, which claims priority to U.S. Provisional Patent Application No. 62/582,192, filed Nov. 6, 2017, the disclosures of which are incorporated herein by reference in their entireties.
Number | Name | Date | Kind |
---|---|---|---|
4497025 | Hannoyer | Jan 1985 | A |
4549277 | Brunson et al. | Oct 1985 | A |
5058020 | Matsuda | Oct 1991 | A |
5117375 | Worcester et al. | May 1992 | A |
5251161 | Gioutsos et al. | Oct 1993 | A |
5253173 | Drobny et al. | Oct 1993 | A |
5337238 | Gioutsos et al. | Aug 1994 | A |
5339242 | Jensen et al. | Aug 1994 | A |
5519613 | Gioutsos et al. | May 1996 | A |
5559699 | Gioutsos et al. | Sep 1996 | A |
5563791 | Gioutsos et al. | Oct 1996 | A |
5587906 | Muckley et al. | Dec 1996 | A |
5588005 | Ali et al. | Dec 1996 | A |
5684701 | Breed et al. | Nov 1997 | A |
5754115 | Woo | May 1998 | A |
5754849 | Dyer et al. | May 1998 | A |
5758301 | Saito et al. | May 1998 | A |
5767766 | Kwun | Jun 1998 | A |
5780782 | O'Dea et al. | Jul 1998 | A |
5805460 | Greene et al. | Sep 1998 | A |
5825283 | Camhi | Oct 1998 | A |
5841201 | Ibaraki et al. | Nov 1998 | A |
5862511 | Croyle et al. | Jan 1999 | A |
5874675 | Edmans et al. | Feb 1999 | A |
6029111 | Croyle | Feb 2000 | A |
6076028 | Donnelly et al. | Jun 2000 | A |
6085151 | Farmer et al. | Jul 2000 | A |
6163690 | Lilja | Dec 2000 | A |
6236921 | McConnell | May 2001 | B1 |
6269290 | Tsuji et al. | Jul 2001 | B1 |
6308134 | Croyle et al. | Oct 2001 | B1 |
6337653 | Buchler et al. | Jan 2002 | B1 |
6346876 | Flick | Feb 2002 | B1 |
6356841 | Hamrick et al. | Mar 2002 | B1 |
6363308 | Petti et al. | Mar 2002 | B1 |
6392527 | Gilano et al. | May 2002 | B1 |
6401027 | Xu et al. | Jun 2002 | B1 |
6417802 | Diesel | Jul 2002 | B1 |
6431593 | Cooper et al. | Aug 2002 | B1 |
6438475 | Gioutsos et al. | Aug 2002 | B1 |
6532419 | Begin | Mar 2003 | B1 |
6540255 | Garcia et al. | Apr 2003 | B1 |
6611755 | Coffee et al. | Aug 2003 | B1 |
6737989 | Flick | May 2004 | B2 |
6756885 | Flick | Jun 2004 | B1 |
6812888 | Drury et al. | Nov 2004 | B2 |
6832140 | Fan et al. | Dec 2004 | B2 |
6850839 | Mcgibney | Feb 2005 | B1 |
6912557 | North et al. | Jun 2005 | B1 |
7015830 | Flick | Mar 2006 | B2 |
7020501 | Elliott et al. | Mar 2006 | B1 |
7050897 | Breed et al. | May 2006 | B2 |
7085637 | Breed et al. | Aug 2006 | B2 |
7110880 | Breed et al. | Sep 2006 | B2 |
7158016 | Cuddihy et al. | Jan 2007 | B2 |
7250850 | Mizutani | Jul 2007 | B2 |
7272493 | Hamrick et al. | Sep 2007 | B1 |
7286929 | Staton et al. | Oct 2007 | B2 |
7348895 | Lagassey et al. | Mar 2008 | B2 |
7366608 | Hamrick et al. | Apr 2008 | B2 |
7460954 | Hamrick et al. | Dec 2008 | B2 |
7484756 | Chou et al. | Feb 2009 | B2 |
7527288 | Breed et al. | May 2009 | B2 |
7577525 | Hamrick et al. | Aug 2009 | B2 |
7607510 | Mun et al. | Oct 2009 | B1 |
7643919 | Nicaise | Jan 2010 | B2 |
7660652 | Smith et al. | Feb 2010 | B2 |
7671727 | Flick | Mar 2010 | B2 |
7725218 | Hamrick et al. | May 2010 | B2 |
7765039 | Hagenbuch | Jul 2010 | B1 |
7767766 | Tilbrook | Aug 2010 | B2 |
7805231 | Cluff et al. | Sep 2010 | B2 |
7805276 | Byers et al. | Sep 2010 | B1 |
8004397 | Forrest et al. | Aug 2011 | B2 |
8010251 | Hamrick et al. | Aug 2011 | B2 |
8032278 | Flick | Oct 2011 | B2 |
8065342 | Borg | Nov 2011 | B1 |
8155841 | Erb | Apr 2012 | B2 |
8330626 | Adelson | Dec 2012 | B1 |
8489271 | Hergesheimer et al. | Jul 2013 | B2 |
8635091 | Amigo et al. | Jan 2014 | B2 |
8688380 | Cawse et al. | Apr 2014 | B2 |
8749350 | Geisler et al. | Jun 2014 | B2 |
8762009 | Ehrman et al. | Jun 2014 | B2 |
8812173 | Chen et al. | Aug 2014 | B2 |
8855143 | Acampora | Oct 2014 | B1 |
8874279 | Frye et al. | Oct 2014 | B2 |
8996240 | Plante | Mar 2015 | B2 |
9002538 | Hergesheimer et al. | Apr 2015 | B2 |
9171460 | Chen | Oct 2015 | B2 |
9179497 | Teixeira et al. | Nov 2015 | B1 |
9217757 | Hergesheimer et al. | Dec 2015 | B2 |
9406222 | Hergesheimer et al. | Aug 2016 | B2 |
9459277 | Hergesheimer et al. | Oct 2016 | B2 |
9491420 | Mimar | Nov 2016 | B2 |
9644977 | Camisa | May 2017 | B2 |
9648579 | Abhishek | May 2017 | B2 |
10219117 | Hergesheimer et al. | Feb 2019 | B2 |
20020065045 | Kim et al. | May 2002 | A1 |
20020100310 | Beoin | Aug 2002 | A1 |
20020124166 | Lee et al. | Sep 2002 | A1 |
20020135167 | Mattes et al. | Sep 2002 | A1 |
20030001368 | Breed et al. | Jan 2003 | A1 |
20030005117 | Kano et al. | Jan 2003 | A1 |
20030028766 | Gass et al. | Feb 2003 | A1 |
20030083079 | Clark | May 2003 | A1 |
20030121027 | Hines | Jun 2003 | A1 |
20030151507 | Andre et al. | Aug 2003 | A1 |
20030176959 | Breed et al. | Sep 2003 | A1 |
20030236970 | Palmer et al. | Dec 2003 | A1 |
20040036261 | Breed et al. | Feb 2004 | A1 |
20040075539 | Savoie et al. | Apr 2004 | A1 |
20040088090 | Wee | May 2004 | A1 |
20040132500 | Rogalski et al. | Jul 2004 | A1 |
20040142659 | Oesterling | Jul 2004 | A1 |
20040155790 | Tsuji et al. | Aug 2004 | A1 |
20040171378 | Rautila et al. | Sep 2004 | A1 |
20040257208 | Huang et al. | Dec 2004 | A1 |
20050065711 | Dahlgren et al. | Mar 2005 | A1 |
20050071314 | Caron | Mar 2005 | A1 |
20050099289 | Arita et al. | May 2005 | A1 |
20050240343 | Schmidt et al. | Oct 2005 | A1 |
20050267947 | Patrick et al. | Dec 2005 | A1 |
20050273516 | Patrick et al. | Dec 2005 | A1 |
20050283286 | Kanda et al. | Dec 2005 | A1 |
20060022469 | Syed et al. | Feb 2006 | A1 |
20060031432 | Patrick et al. | Feb 2006 | A1 |
20060034237 | Patrick et al. | Feb 2006 | A1 |
20060041336 | Schubert et al. | Feb 2006 | A1 |
20060047459 | Underbrink et al. | Mar 2006 | A1 |
20060050953 | Farmer et al. | Mar 2006 | A1 |
20060074621 | Rachman | Apr 2006 | A1 |
20060161840 | Cohen | Jul 2006 | A1 |
20060199537 | Eisenbach et al. | Sep 2006 | A1 |
20070027612 | Barfoot et al. | Feb 2007 | A1 |
20070038653 | Li et al. | Feb 2007 | A1 |
20070109117 | Heitzmann et al. | May 2007 | A1 |
20070229251 | Ehrman et al. | Oct 2007 | A1 |
20070257791 | Arita et al. | Nov 2007 | A1 |
20070266078 | Rittle et al. | Nov 2007 | A1 |
20070271014 | Breed | Nov 2007 | A1 |
20070299587 | Breed et al. | Dec 2007 | A1 |
20080043821 | Brockhage et al. | Feb 2008 | A1 |
20080111666 | Plante et al. | May 2008 | A1 |
20080114545 | Takaoka et al. | May 2008 | A1 |
20080128600 | Ogisu et al. | Jun 2008 | A1 |
20080150707 | Shamoto | Jun 2008 | A1 |
20080195261 | Breed | Aug 2008 | A1 |
20080202199 | Finley et al. | Aug 2008 | A1 |
20080211666 | Saidi et al. | Sep 2008 | A1 |
20080211914 | Herrera et al. | Sep 2008 | A1 |
20080228976 | Wei et al. | Sep 2008 | A1 |
20080275601 | Saito et al. | Nov 2008 | A1 |
20080281618 | Mermet et al. | Nov 2008 | A1 |
20090015392 | Takahashi et al. | Jan 2009 | A1 |
20090037056 | Erb | Feb 2009 | A1 |
20090077229 | Ebbs | Mar 2009 | A1 |
20090177350 | Williams et al. | Jul 2009 | A1 |
20090217163 | Jaroker | Aug 2009 | A1 |
20090217733 | Stachow | Sep 2009 | A1 |
20090221320 | Walley et al. | Sep 2009 | A1 |
20090249858 | Ishikawa et al. | Oct 2009 | A1 |
20100039216 | Knight et al. | Feb 2010 | A1 |
20100039247 | Ziegler et al. | Feb 2010 | A1 |
20100039318 | Kmiecik et al. | Feb 2010 | A1 |
20100042286 | Lich | Feb 2010 | A1 |
20100097316 | Shaw et al. | Apr 2010 | A1 |
20100122246 | Gesquiere et al. | May 2010 | A1 |
20100185524 | Watkins | Jul 2010 | A1 |
20100205427 | Bauer et al. | Aug 2010 | A1 |
20100231002 | Yoshioka et al. | Sep 2010 | A1 |
20100235433 | Ansari et al. | Sep 2010 | A1 |
20100241838 | Cohen et al. | Sep 2010 | A1 |
20100273422 | Garrett et al. | Oct 2010 | A1 |
20100279647 | Jacobs et al. | Nov 2010 | A1 |
20100312473 | Hoshizaki | Dec 2010 | A1 |
20100318257 | Kalinadhabhotla | Dec 2010 | A1 |
20110004444 | Farrow et al. | Jan 2011 | A1 |
20110037561 | True et al. | Feb 2011 | A1 |
20110053575 | Veliu et al. | Mar 2011 | A1 |
20110060496 | Nielsen et al. | Mar 2011 | A1 |
20110071971 | Parks et al. | Mar 2011 | A1 |
20110106373 | Hergesheimer et al. | May 2011 | A1 |
20110109438 | Dijkstra et al. | May 2011 | A1 |
20110130906 | Mayer | Jun 2011 | A1 |
20110153367 | Amigo | Jun 2011 | A1 |
20110202225 | Willis et al. | Aug 2011 | A1 |
20110202305 | Willis et al. | Aug 2011 | A1 |
20110218710 | Trinh et al. | Sep 2011 | A1 |
20110238289 | Lehmann et al. | Sep 2011 | A1 |
20110264393 | An | Oct 2011 | A1 |
20110320088 | Eom et al. | Dec 2011 | A1 |
20120022780 | Kulik et al. | Jan 2012 | A1 |
20120035881 | Rubin | Feb 2012 | A1 |
20120041618 | Sun et al. | Feb 2012 | A1 |
20120050095 | Scherzinger | Mar 2012 | A1 |
20120072078 | Oosaki et al. | Mar 2012 | A1 |
20120116669 | Lee | May 2012 | A1 |
20120155389 | Mcnamee et al. | Jun 2012 | A1 |
20120158211 | Chen et al. | Jun 2012 | A1 |
20120159142 | Jibbe et al. | Jun 2012 | A1 |
20120231821 | Swanson | Sep 2012 | A1 |
20120233237 | Roa et al. | Sep 2012 | A1 |
20120233668 | Leafe et al. | Sep 2012 | A1 |
20120253551 | Halimi et al. | Oct 2012 | A1 |
20120253585 | Harvie | Oct 2012 | A1 |
20120253892 | Davidson | Oct 2012 | A1 |
20120259526 | Inoue | Oct 2012 | A1 |
20120303203 | Olsen et al. | Nov 2012 | A1 |
20120331181 | Govande et al. | Dec 2012 | A1 |
20130002415 | Walli | Jan 2013 | A1 |
20130007245 | Malik | Jan 2013 | A1 |
20130013907 | Marino et al. | Jan 2013 | A1 |
20130024202 | Harris | Jan 2013 | A1 |
20130030811 | Olleon et al. | Jan 2013 | A1 |
20130038439 | Saito et al. | Feb 2013 | A1 |
20130073142 | Hergesheimer et al. | Mar 2013 | A1 |
20130080542 | Peng et al. | Mar 2013 | A1 |
20130095841 | Quimby et al. | Apr 2013 | A1 |
20130148554 | Chen et al. | Jun 2013 | A1 |
20130163584 | Jayaraman et al. | Jun 2013 | A1 |
20130182693 | Sperling et al. | Jul 2013 | A1 |
20130204572 | Sato | Aug 2013 | A1 |
20130244210 | Nath et al. | Sep 2013 | A1 |
20130249713 | Adelson | Sep 2013 | A1 |
20130275001 | Hergesheimer et al. | Oct 2013 | A1 |
20130288659 | Hrabak et al. | Oct 2013 | A1 |
20130297137 | Fushiki et al. | Nov 2013 | A1 |
20130302756 | Takeuchi | Nov 2013 | A1 |
20130320654 | Clark et al. | Dec 2013 | A1 |
20130325250 | Cawse | Dec 2013 | A1 |
20130338855 | Mason | Dec 2013 | A1 |
20140069837 | Naruishi et al. | Mar 2014 | A1 |
20140074315 | Frye et al. | Mar 2014 | A1 |
20140074353 | Lee et al. | Mar 2014 | A1 |
20140094210 | Gellens et al. | Apr 2014 | A1 |
20140095211 | Gloerstad et al. | Apr 2014 | A1 |
20140111354 | Hergesheimer et al. | Apr 2014 | A1 |
20140118132 | Braunberger et al. | May 2014 | A1 |
20140142886 | Hergesheimer et al. | May 2014 | A1 |
20140143940 | Juliano et al. | May 2014 | A1 |
20140149145 | Peng | May 2014 | A1 |
20140173581 | Grinberg et al. | Jun 2014 | A1 |
20140180529 | Simon et al. | Jun 2014 | A1 |
20140189335 | Liu et al. | Jul 2014 | A1 |
20140236518 | Hergesheimer et al. | Aug 2014 | A1 |
20140236519 | Hergesheimer et al. | Aug 2014 | A1 |
20140237463 | Sriram et al. | Aug 2014 | A1 |
20140300739 | Mimar | Oct 2014 | A1 |
20140303836 | Phelan et al. | Oct 2014 | A1 |
20140309843 | Chen et al. | Oct 2014 | A1 |
20140357295 | Skomra et al. | Dec 2014 | A1 |
20140358394 | Picciotti | Dec 2014 | A1 |
20140379208 | McQuade et al. | Dec 2014 | A1 |
20150015385 | Tomita et al. | Jan 2015 | A1 |
20150051796 | Levy | Feb 2015 | A1 |
20150105099 | Luo et al. | Apr 2015 | A1 |
20150161391 | Johnsen et al. | Jun 2015 | A1 |
20150248731 | Fernandes et al. | Sep 2015 | A1 |
20150268059 | Borghesani | Sep 2015 | A1 |
20150271271 | Bullotta et al. | Sep 2015 | A1 |
20150271299 | Bullotta et al. | Sep 2015 | A1 |
20150339241 | Warner et al. | Nov 2015 | A1 |
20160094964 | Barfield et al. | Mar 2016 | A1 |
20160104123 | Viswanath | Apr 2016 | A1 |
20160133130 | Grimm et al. | May 2016 | A1 |
20160146615 | Abhishek | May 2016 | A1 |
20160162284 | Meng et al. | Jun 2016 | A1 |
20160173281 | White et al. | Jun 2016 | A1 |
20160335813 | Hergesheimer et al. | Nov 2016 | A1 |
20160341559 | Camisa | Nov 2016 | A1 |
20160362075 | Dlagnekov | Dec 2016 | A1 |
20170023610 | Hergesheimer et al. | Jan 2017 | A1 |
20170075835 | Langer | Mar 2017 | A1 |
20170147331 | Liem et al. | May 2017 | A1 |
20170236339 | Camisa | Aug 2017 | A1 |
20180012429 | Jenkins et al. | Jan 2018 | A1 |
20180053354 | Jenkins et al. | Feb 2018 | A1 |
20180103355 | Hergesheimer et al. | Apr 2018 | A1 |
20180164401 | Hergesheimer | Jun 2018 | A1 |
20190140886 | Zywicki et al. | May 2019 | A1 |
20190281428 | Hergesheimer et al. | Sep 2019 | A1 |
Number | Date | Country |
---|---|---|
2056298 | May 2009 | EP |
2083276 | Jul 2009 | EP |
2923277 | Sep 2017 | EP |
2506365 | Apr 2014 | GB |
2007178295 | Jul 2007 | JP |
2009097547 | Sep 2009 | KR |
2000017607 | Mar 2000 | WO |
2002018873 | Mar 2002 | WO |
2013076695 | May 2013 | WO |
2014049352 | Apr 2014 | WO |
2014081485 | May 2014 | WO |
2014130077 | Aug 2014 | WO |
2014130078 | Aug 2014 | WO |
2014202110 | Dec 2014 | WO |
2015121639 | Aug 2015 | WO |
2015183677 | Dec 2015 | WO |
2016081901 | May 2016 | WO |
2016191306 | Dec 2016 | WO |
2016200589 | Dec 2016 | WO |
2018035065 | Feb 2018 | WO |
2019090366 | May 2019 | WO |
2019094988 | May 2019 | WO |
Entry |
---|
Examination Report for Application No. GB2008519.7, dated Sep. 20, 2021, 2 pages. |
International Search Report and Written Opinion for International Application No. PCT/US2018/061648, Search completed Feb. 12, 2019, dated Apr. 15, 2019, 14 pgs. |
International Search Report and Written Opinion for International Application No. PCT/US2018/061650, Search completed Feb. 17, 2019, dated Mar. 25, 2019, 17 pgs. |
International Preliminary Report on Patentability for International Application PCT/US2016/033621, Report dated Nov. 28, 2017, dated Dec. 7, 2017, 7 Pgs. |
International Search Report and Written Opinion for International Application No. PCT/US2017/040763, Search completed Aug. 22, 2017, dated Sep. 8, 2017, 15 Pgs. |
Extended European Search Report for European Application No. 17160719.5, Search completed Apr. 6, 2017, dated Apr. 18, 2017, 6 Pgs. |
Extended European Search Report for European Application No. 13875911.3, Search completed Nov. 22, 2016, dated Dec. 9, 2016, 6 Pgs. |
Extended European Search Report for European Application No. 13875407.2, Search completed Nov. 22, 2016, dated Nov. 30, 2016, 7 Pgs. |
International Search Report and Written Opinion for International Application No. PCT/US2016/033625, Search completed Jul. 19, 2016, dated Aug. 18, 2016, 7 Pgs. |
International Search Report and Written Opinion for International Application No. PCT/US2016/033621, completed Jul. 28, 2016, dated Aug. 5, 2016, 11 Pgs. |
International Search Report and Written Opinion for International Application No. PCT/US2015/061990, completed Jan. 12, 2016, dated Feb. 4, 2016, 6 Pgs. |
International Preliminary Report on Patentability for International Application PCT/US2013/054939, dated Aug. 25, 2015, dated Sep. 3, 2015, 4 Pgs. |
International Preliminary Report on Patentability for International Application PCT/US2013/054943, dated Aug. 25, 2015, dated Sep. 3, 2015, 6 Pgs. |
International Preliminary Report on Patentability for International Application PCT/US2013/054956, Report dated May 26, 2015, dated Jun. 4, 2015, 9 Pgs. |
International Search Report and Written Opinion for International Application No. PCT/US2013/054956, International Filing Date Aug. 14, 2013, Search Completed Feb. 11, 2014, dated Mar. 6, 2014, 9 pgs. |
International Search Report and Written Opinion for International Application No. PCT/US13/54943, Completed Feb. 13, 2014, dated Feb. 27, 2014, 6 pgs. |
International Search Report and Written Opinion for International Application No. PCT/US13/54939, Completed Feb. 5, 2014, dated Feb. 24, 2014, 5 pgs. |
Memsic 2125 Dual-Axis Accelerometer (#28017) Data Sheet (Parallax Inc., v2.0 Jan. 29, 2009). |
ETSI, GSM Technical Specification, GSM 07.07, Version 5.0.0, Jul. 1996, 77 pgs. |
Road vehicles—Diagnostic Systems—Part 2: CARB requirements for interchange of digital information, ISO 9141-2, Feb. 1, 1994, 18 pgs. |
Surface Vehicle Recommended Practice, Universal Interface for OBD II Scan, SAE Standard J2201, Issued Jun. 30, 1993, 45 pgs. |
SAE International Surface Vehicle Recommended Practice, OBD II Scan Tool, SAE Standard J1978, Issued Mar. 1992, 13 pgs. |
Surface Vehicle Recommended Practice; OBD II Scan Tool, Mar. 1992, 14 pgs. |
SAE International Surface Vehicle Recommended Practice, E/E Diagnostic Test Modes, SAE Standard J1979, Issued Dec. 1991, 19 pgs. |
Surface Vehicle Recommended Practice, E/E Diagnostic Test Modes, Dec. 1991, 32 pgs. |
Number | Date | Country | |
---|---|---|---|
20220210240 A1 | Jun 2022 | US |
Number | Date | Country | |
---|---|---|---|
62582192 | Nov 2017 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 16883648 | May 2020 | US |
Child | 17698318 | US | |
Parent | 15818260 | Nov 2017 | US |
Child | 16883648 | US |