U.S. patent application number 17/558098 was filed with the patent office on 2022-04-14 for systems and methods for dynamic device programming.
The applicant listed for this patent is CALAMP CORP.. Invention is credited to Robert Shields, Dean Zywicki.
Application Number | 20220116258 17/558098 |
Document ID | / |
Family ID | 1000006041996 |
Filed Date | 2022-04-14 |
![](/patent/app/20220116258/US20220116258A1-20220414-D00000.png)
![](/patent/app/20220116258/US20220116258A1-20220414-D00001.png)
![](/patent/app/20220116258/US20220116258A1-20220414-D00002.png)
![](/patent/app/20220116258/US20220116258A1-20220414-D00003.png)
![](/patent/app/20220116258/US20220116258A1-20220414-D00004.png)
![](/patent/app/20220116258/US20220116258A1-20220414-D00005.png)
![](/patent/app/20220116258/US20220116258A1-20220414-D00006.png)
United States Patent
Application |
20220116258 |
Kind Code |
A1 |
Zywicki; Dean ; et
al. |
April 14, 2022 |
SYSTEMS AND METHODS FOR DYNAMIC DEVICE PROGRAMMING
Abstract
Systems and methods for dynamic device programming in accordance
with embodiments of the invention are disclosed. One embodiment
includes a vehicle telematics device including a processor, a
memory containing a dynamic telematics messaging application, a
plurality of accumulators, and a communications interface, wherein
the dynamic telematics messaging application directs the processor
to obtain a first message data describing a requested set of sensor
data using the communications interface, dynamically reconfigure
the plurality of accumulators to measure the requested set of
sensor data, and transmit a second message data describing the
measured set of sensor data.
Inventors: |
Zywicki; Dean; (Irvine,
CA) ; Shields; Robert; (Irvine, CA) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
CALAMP CORP. |
IRVINE |
CA |
US |
|
|
Family ID: |
1000006041996 |
Appl. No.: |
17/558098 |
Filed: |
December 21, 2021 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
15828102 |
Nov 30, 2017 |
11206171 |
|
|
17558098 |
|
|
|
|
62582818 |
Nov 7, 2017 |
|
|
|
Current U.S.
Class: |
1/1 |
Current CPC
Class: |
G07C 5/008 20130101;
H04L 67/12 20130101; G08C 17/02 20130101; H04L 29/08558 20130101;
G01S 19/39 20130101; G08C 2200/00 20130101 |
International
Class: |
H04L 67/12 20060101
H04L067/12; G07C 5/00 20060101 G07C005/00; G01S 19/39 20060101
G01S019/39 |
Claims
1. A vehicle telematics device comprising: one or more processors;
a set of accumulators configured to store sensor data; and one or
more memory having stored therein a plurality of instructions that,
in response to execution by the one or more processors, cause the
vehicle telematics device to: assign each accumulator of the set of
accumulators to store corresponding sensor data based on a
predetermined priority of the corresponding sensor data; receive
message data that identifies requested sensor data; select a first
accumulator from the set of accumulators to be reassigned from
storing the sensor data previously assigned to the first
accumulator to storing the requested sensor data; and reassign the
first accumulator from storing the sensor data previously assigned
to the first accumulator to storing the requested sensor data.
2. The vehicle telematics device of claim 1, wherein to select the
first accumulator comprises to select the first accumulator based
on the predetermined priority of the sensor data previously
assigned to the first accumulator.
3. The vehicle telematics device of claim 1, wherein to select the
first accumulator comprises to: determine whether an accumulator of
the set of accumulators is available to store the requested sensor
data; and in response to a determination that the accumulator of
the set of accumulators is not available to store the requested
sensor data, select the first accumulator from the set of
accumulators to be reassigned from storing the sensor data
previously assigned to the first accumulator to storing the
requested sensor data.
4. The vehicle telematics device of claim 1, wherein the message
data also identifies a desired accumulator of the set of
accumulators to store the requested sensor data, and wherein the
plurality of instructions, in response to execution by the one or
more processors, further cause the vehicle telematics device to:
determine whether the desired accumulator of the set of
accumulators is available to store the requested data, wherein to
select the first accumulator comprises to select the desired
accumulator in response to a determination that the desired
accumulator is available to store the requested data.
5. The vehicle telematics device of claim 4, wherein to select the
first accumulator comprises to select, in response to a
determination that the desired accumulator is not available to
store the requested data, a first accumulator, different from the
desired accumulator, from the set of accumulators based on the
sensor data previously assigned to the first accumulator.
6. The vehicle telematics device of claim 1, wherein the message
data further identifies sensor data that is no longer required, and
wherein to select the first accumulator comprises to select a first
accumulator from the set of accumulators that was previously
assigned to store the sensor data that is no longer required.
7. The vehicle telematics device of claim 1, wherein to select the
first accumulator comprises to select the first accumulator based
on data indicative of a number of times the first accumulator has
been previously reassigned from storing first sensor data to
storing second sensor data different from the first sensor
data.
8. The vehicle telematics device of claim 7, wherein to select the
first accumulator comprises to update, in response to selecting the
first accumulator, the data indicative of the number of times the
first accumulator has been previously reassigned.
9. The vehicle telematics device of claim 1, wherein the one or
more memory further has stored therein a set of behavior profiles,
wherein each behavior profile of the set of behavior profiles
identifies an assignment of each accumulator of the set of
accumulators to store corresponding sensor data, wherein to assign
each accumulator comprises to assign each accumulator of the set of
accumulators based on a first behavior profile of the set of
behavior profiles, wherein the message data further identifies a
second behavior profile of the set of behavior profiles different
from the first behavior profile, and wherein to select the first
accumulator comprises to select the first accumulator from the set
of accumulators based on the second behavior profile.
10. A method for configuring a vehicle telematics device, the
method comprising: assigning each accumulator of a set of
accumulators of the vehicle telematics device to store
corresponding sensor data based on a predetermined priority of the
corresponding sensor data; receiving message data that identifies
requested sensor data; selecting a first accumulator from the set
of accumulators to be reassigned from storing the sensor data
previously assigned to the first accumulator to storing the
requested sensor data; and reassigning the first accumulator from
storing the sensor data previously assigned to the first
accumulator to storing the requested sensor data.
11. The method of claim 10, wherein selecting the first accumulator
comprises selecting the first accumulator based on the
predetermined priority of the sensor data previously assigned to
the first accumulator.
12. The method of claim 10, wherein selecting the first accumulator
comprises: determining whether an accumulator of the set of
accumulators is available to store the requested sensor data; and
in response to a determination that the accumulator of the set of
accumulators is not available to store the requested sensor data,
selecting the first accumulator from the set of accumulators to be
reassigned from storing the sensor data previously assigned to the
first accumulator to storing the requested sensor data.
13. The method of claim 10, wherein the message data also
identifies a desired accumulator of the set of accumulators to
store the requested sensor data, and wherein the method further
comprises determining whether the desired accumulator of the set of
accumulators is available to store the requested data, wherein
selecting the first accumulator comprises selecting the desired
accumulator in response to a determination that the desired
accumulator is available to store the requested data.
14. The method of claim 10, wherein the message data further
identifies sensor data that is no longer required, and wherein
selecting the first accumulator comprises selecting a first
accumulator from the set of accumulators that was previously
assigned to store the sensor data that is no longer required.
15. The method of claim 10, wherein selecting the first accumulator
comprises selecting the first accumulator based on data indicative
of a number of times the first accumulator has been previously
reassigned from storing first sensor data to storing second sensor
data different from the first sensor data.
16. The method of claim 10, wherein assigning each accumulator
comprises to assigning each accumulator of the set of accumulators
based on a first behavior profile of a set of behavior profiles
stored on the vehicle telematics device, wherein each behavior
profile of the set of behavior profiles identifies an assignment of
each accumulator of the set of accumulators to store corresponding
sensor data, wherein the message data further identifies a second
behavior profile of the set of behavior profiles different from the
first behavior profile, and wherein selecting the first accumulator
comprises selecting the first accumulator from the set of
accumulators based on the second behavior profile.
17. One or more non-transitory, machine-readable media having a
plurality of instructions stored thereon that, when executed, cause
a vehicle telematics device to: assign each accumulator of a set of
accumulators of the vehicle telematics device to store
corresponding sensor data based on a predetermined priority of the
corresponding sensor data; receive message data that identifies
requested sensor data; select a first accumulator from the set of
accumulators to be reassigned from storing the sensor data
previously assigned to the first accumulator to storing the
requested sensor data; and reassign the first accumulator from
storing the sensor data previously assigned to the first
accumulator to storing the requested sensor data.
18. The one or more non-transitory, machine-readable media of claim
17, wherein to select the first accumulator comprises to select the
first accumulator based on the predetermined priority of the sensor
data previously assigned to the first accumulator.
19. The one or more non-transitory, machine-readable media of claim
17, wherein the message data further identifies sensor data that is
no longer required, and wherein to select the first accumulator
comprises to select a first accumulator from the set of
accumulators that was previously assigned to store the sensor data
that is no longer required.
20. The one or more non-transitory, machine-readable media of claim
17, wherein to select the first accumulator comprises to select the
first accumulator based on data indicative of a number of times the
first accumulator has been previously reassigned from storing first
sensor data to storing second sensor data different from the first
sensor data.
Description
CROSS-REFERENCE TO RELATED APPLICATION
[0001] The present application is a continuation of and claims
priority under 35 U.S.C. .sctn. 120 to U.S. patent application Ser.
No. 15/828,102, entitled "SYSTEMS AND METHODS DYNAMIC DEVICE
PROGRAMMING" by Zywicki, now U.S. Pat. No. 11,206,171, which was
filed on Nov. 30, 2017, and which claims priority to U.S.
Provisional Patent Application No. 62/582,181, field on Nov. 7,
20271, the entirety of each of which is expressly incorporated
herein by reference.
FIELD OF THE DISCLOSURE
[0002] The present invention relates to system communication
processing and more specifically to dynamically processing
disparate messages.
BACKGROUND
[0003] 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.
SUMMARY
[0004] Systems and methods for dynamic device programming in
accordance with embodiments of the invention are disclosed. One
embodiment includes a vehicle telematics device including a
processor, a memory containing a dynamic telematics messaging
application, a plurality of accumulators, and a communications
interface, wherein the dynamic telematics messaging application
directs the processor to obtain a first message data describing a
requested set of sensor data using the communications interface,
dynamically reconfigure the plurality of accumulators to measure
the requested set of sensor data, and transmit a second message
data describing the measured set of sensor data.
[0005] In another embodiment, the processor includes a plurality of
processing engines.
[0006] In a further embodiment, at least one of the plurality of
processing engines is a virtual processing engine.
[0007] In still another embodiment, a first processing engine in
the plurality of processing engines is directed to transcode the
first message data into a format usable by a second processing
engine in the plurality of processing engines.
[0008] In a still further embodiment, the first message data is
encoded in a standardized message format.
[0009] In yet another embodiment, the vehicle telematics device is
connected to a vehicle using the communications interface.
[0010] In a yet further embodiment, the communications interface
includes a diagnostic port connector.
[0011] in another additional embodiment, the dynamic telematics
messaging application further directs the processor to determine
what sensor devices are available from the vehicle, generate
configuration data based on the available sensor devices, and
dynamically reconfigure the plurality of accumulators based on the
configuration data.
[0012] In a further additional embodiment, dynamically
reconfiguring the plurality of accumulators includes assigning at
least one accumulator in the plurality of accumulators to a sensor
device.
[0013] In another embodiment again, the configuration data
describes what sensor devices are available and which sensor data
are to be stored.
[0014] In a further embodiment again, a method for dynamically
configuring a vehicle telematics device includes obtaining a first
message data from a vehicle telematics server system using a
communications interface, reconfiguring at least one accumulator in
a plurality of accumulators to store sensor data based on the first
message data, and transmitting a second message data describing the
sensor data using the communications interface.
[0015] In still yet another embodiment, the method further includes
transcoding the first message data from a first format to a second
format, where the first format is not usable by at least one
processing engine.
[0016] In a still yet further embodiment, the at least one
processing engine is a virtual processing engine.
[0017] In still another additional embodiment, the method further
includes connecting to a vehicle via a communications interface,
determining a plurality of sensor devices from the vehicle,
generating a configuration data based on the plurality of sensor
devices, and reconfiguring the at least one accumulator in the
plurality of accumulators to store a set of sensor data from the
plurality of sensor devices.
[0018] In a still further additional embodiment, the configuration
data includes priority data describing which sensor data should be
measured.
[0019] In still another embodiment again, reconfiguring at least
one accumulator in a plurality of accumulators to store sensor data
further includes updating a configuration data describing which
sensor devices are available, wherein the configuration data
includes a priority data describing which sensor data should be
measured.
[0020] In a still further embodiment again, the priority data
includes a behavior profile.
[0021] In yet another additional embodiment, the first message data
is obtained from a dynamic telematics server system.
[0022] In a yet further additional embodiment, a vehicle telematics
device includes E first processing engine for directed to generate
status reports, a second processing engine directed to process
sensor data, a third processing engine directed to transcode
message data for the first and second processing engines, a
plurality of accumulators configured to store sensor data, and a
memory comprising a dynamic telematics messaging application,
wherein the dynamic telematics messaging application directs the
processor to obtain a first message data in a first message format
from a dynamic telematics server system, classify the transcoded
message data, transcode the first message data to a second format
using the third processing engine, process the transcoded message
data using the appropriate processing engine, reconfigure the
plurality of accumulators based on the transcoded message data,
generate a second message data based on the sensor data stored by
the plurality of accumulators, and provide the second message
data.
[0023] In yet another embodiment again, the first, second, and
third processing engines are virtual processing engines.
[0024] In a yet further embodiment again, the vehicle telematics
device further includes a communications interface connected to the
diagnostic port of a vehicle.
[0025] In another additional embodiment again, the dynamic
telematics messaging application further directs the processor to
obtain sensor data from the vehicle.
[0026] 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.
BRIEF DESCRIPTION
[0027] 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:
[0028] FIG. 1 is a conceptual illustration of a vehicle telematics
system in accordance with an embodiment of the invention;
[0029] FIG. 2A is a conceptual illustration of a vehicle telematics
device in accordance with an embodiment of the invention;
[0030] FIG. 2B is a conceptual illustration of a telematics server
system in accordance with an embodiment of the invention;
[0031] FIG. 3 is a flow chart illustrating a process for
automatically configuring a vehicle telematics device in accordance
with an embodiment of the invention;
[0032] FIG. 4 is a flow chart illustrating a process for
reconfiguring vehicle telematics devices in accordance with an
embodiment of the invention; and
[0033] FIG. 5 is a flow chart illustrating a process for
transcoding message data in accordance with an embodiment of the
invention.
DETAILED DESCRIPTION
[0034] Turning now to the drawings, systems and methods for dynamic
device programming 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 vehicle telematics devices. 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 telematics server systems. Vehicle telematics
devices can have a set of accumulators configured to store measured
data. However, there are often not enough accumulators to store all
measurable data. Furthermore, vehicle telematics devices may be
preprogrammed to measure a certain set of data, but without knowing
what type of vehicle it is going to be connected to, there is a
chance that accumulator space may be unused and/or the device
itself may need to be reprogrammed post-installation. Vehicle
telematics devices can include one or more processing engines. In a
variety of embodiments, processing engines can include engines for
processing and generating status reports and processing and
generating sensor data messages, although any processing engines
can be utilized as appropriate to the requirements of specific
applications of embodiments of the invention.
[0035] In many embodiments, vehicle telematics devices can
automatically detect the type of available data after connecting to
a vehicle. In numerous embodiments, vehicle telematics devices can
dynamically assign accumulators to change what data is measured
and/or reported back to a telematics server system. Vehicle
telematics devices can change their behavior in response to
messages from telematics server systems including, but not limited
to, what data is being stored, what data is being transmitted, the
format of transmitted messages, and/or any other behavioral change
as appropriate to the requirements of a given application. In
numerous embodiments, vehicle telematics devices include a
processing engine for transcoding messages into formats usable by
other processing engines. In this way, vehicle telematics devices
can automatically maintain compatibility with a variety of
telematics server systems and/or messaging formats while
maintaining functionality and/or compatibility with legacy on-board
processing engines. Systems and methods for dynamic telematics
messaging, including a variety of formats for transmitting messages
within a vehicle telematics system, that can be utilized in
accordance with embodiments of the invention are described in U.S.
patent application Ser. No. 15/818,260 entitled "Systems and
Methods for Dynamic Telematics Messaging", filed Nov. 20, 2017, the
disclosure of which is hereby incorporated by reference in its
entirety.
Vehicle Telematics Systems
[0036] Vehicle telematics systems in accordance with embodiments of
the invention can transmit a variety of data between a telematics
server system and a vehicle telematics device. A conceptual diagram
of a vehicle telematics system in accordance with an embodiment of
the invention is shown in FIG. 1. The vehicle telematics system 10
includes a vehicle telematics device 20 that can communicate with a
vehicle data bus 22, an input/output (I/O) interface 24, and/or a
network 30 as appropriate to the requirements of specific
applications of embodiments of the invention. In a variety of
embodiments, vehicle telematics device 20 communicates with a
telematics server system 40 via the network 30. In a variety of
embodiments, the network 30 is the Internet. In many embodiments,
the network 30 is any wired or wireless network, such as a cellular
network, between the vehicle telematics device 20 and the
telematics server system 40. In a number of embodiments, the
telematics server system 40 implemented using a single server
system. In several embodiments, the telematics server system 40 is
implemented using multiple server systems.
[0037] 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.
[0038] 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 telematics 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.
[0039] In a variety of embodiments, the vehicle telematics device
20 and/or telematics 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 telematics 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.
[0040] Although a specific architecture of a vehicle telematics
system in accordance with embodiments of the invention are
discussed above and illustrated in FIG. 1, a variety of
architectures, including sensors and other devices and techniques
not specifically described above, can be utilized in accordance
with embodiments of the invention. Furthermore, the processes
described herein can be performed using any combination the vehicle
telematics device and/or the telematics server system as
appropriate to the requirements of specific applications of
embodiments of the invention.
Vehicle Telematics Devices
[0041] Vehicle telematics devices in accordance with many
embodiments of the invention can transmit and receive data. A
conceptual illustration of a vehicle telematics device in
accordance with an embodiment of the invention is shown in FIG. 2A.
The vehicle telematics device 200 includes a processor 210 in
communication with a memory 240. Processor 210 can include any
number of processing engines. In many embodiments, three processing
engines are used. Processing engines can have specialized purposes
including, but not limited to, processing sensor data, generating
reports, transcoding messages, and/or any other purpose as
appropriate to the requirements of a given application. Processing
engines can be implemented in hardware and/or as virtual processing
engines. In many embodiments, memory includes a series of
accumulators configured to store bit strings. Accumulators can be
assigned static identifiers, e.g. 0, 1, 2 . . . etc. The vehicle
telematics device 200 includes a communications interface 220
capable of sending and receiving data. Although the processor 210
and communications interface 220 are illustrated as separate
components, some or all of these devices can be implemented using a
single-chip solution as appropriate to the requirements of specific
applications of embodiments of the invention.
[0042] 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. In certain embodiments, sensor devices 230 are included
within the vehicle telematics device 200. However, vehicle
telematics devices can also acquire sensor data from sensor devices
located externally to the vehicle telematics device 200. In a
variety of embodiments, sensor devices 230 include any sensors
integrated into the vehicle and transmitted to the vehicle
telematics device 200. In many embodiments, sensors are integrated
into the vehicle and transmitted over a vehicle data bus. In
numerous embodiments, sensor readings are stored as bit strings in
the series of accumulators.
[0043] In several embodiments, the memory 240 is any form of
storage storing a variety of data, including, but not limited to, a
messaging application 242, device configuration data 244, and/or
sensor data 246. In many embodiments, the messaging application
242, device 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.
Device configuration data can be used to direct the processor to
generate messages in a chosen static message profile. In a variety
of embodiments, dynamic messaging applications can generate dynamic
messages that require minimal processing by dynamic telematics
messaging systems. In numerous embodiments, device configuration
data 244 describes what sensor data is available and/or which types
of sensor data are currently being collected.
[0044] Turning now to FIG. 2B, a conceptual illustration of a
telematics server system is shown. The telematics server system 260
contains a processor 270 in communication with a memory 290 and a
communications interface 280. Processor 270 can be any type of
computational processing unit, including, but not limited to,
microprocessors, central processing units, graphical processing
units, parallel processing engines, or any other type of processor
as appropriate to the requirements of a given application. The
communications interface 280 can be utilized to transmit and
receive messages from and to vehicle telematics devices, as well as
to transmit data between server systems and interface devices.
Communications interface 280 can include multiple ports and/or
technologies in order to communicate with various devices as
appropriate to the requirements of specific applications of
embodiments of the invention.
[0045] Memory 290 can be implemented using any combination of
volatile and/or non-volatile memory, including, but not limited to,
random access memory, read-only memory, hard disk drives,
solid-state drives, flash memory, or any other memory format as
appropriate to the requirements of a given application. In several
embodiments, the memory 290 stores a variety of data, including,
but not limited to, a dynamic messaging application 292 and/or
received report data 293. In many embodiments, the dynamic
messaging application 292 and/or received report data 293 are
stored using an external server system and received by the
telematics server system 200 using the communications interface
280.
[0046] Processor 210 and processor 270 can be directed, by
messaging application 242 and dynamic messaging application 292, to
perform a variety of dynamic telematics messaging processes. As
described in more detail below dynamic messaging processes can
include, but are not limited to, dynamically configuring a vehicle
telematics device and generating message data including data read
using one or more sensor devices.
[0047] Although specific architectures for vehicle telematics
devices and telematics server systems in accordance with
embodiments of the invention are conceptually illustrated in FIGS.
2A and 2B, any of a variety of architectures, including those that
store data or applications on disk or some other form of storage
and are loaded into memory at runtime, can also be utilized. In a
variety of embodiments, a memory includes circuitry such as, but
not limited to, memory cells constructed using transistors, that
are configured to store instructions. Similarly, a processor can
include logic gates formed from transistors (or any other device)
that dynamically perform actions based on the instructions stored
in the memory. In several embodiments, the instructions are
embodied in a configuration of logic gates within the processor to
implement and/or perform actions described by the instructions. In
this way, the systems and methods described herein can be performed
utilizing both general-purpose computing hardware and by
single-purpose devices such as, but not limited to,
systems-on-a-chip (SoC). Furthermore, telematics server systems can
be implemented on multiple servers within at least one server
system. For example, telematics server system systems can be
implemented on various remote "cloud" server systems as appropriate
to the requirements of a given application.
Configuring Vehicle Telematics Devices
[0048] When vehicle telematics devices are connected to vehicles,
they can determined what data and/or is available, and accumulators
can be assigned to different data types. Dynamic telematics
messaging processes in accordance with embodiments of the invention
can include querying the vehicle to generate initialization data
and automatically configure the vehicle telematics device. Turning
now to FIG. 3, a process for dynamically configuring a vehicle
telematics device in accordance with an embodiment of the invention
is illustrated. Process 300 includes connecting (310) to a vehicle.
In many embodiments, the connection is made to the vehicle data
bus. In numerous embodiments, the connection to the vehicle data
bus is made via a diagnostic port located within the vehicle.
However, any number of connection methods, including direct wiring
into particular devices and/or sensors located within the vehicle,
can be used as appropriate to the requirements of a given
application.
[0049] Process 300 further includes determining (320) available
sensor devices. In numerous embodiments, the determination of
available sensor devices includes detecting what sensor devices are
available via the vehicle data bus. In many embodiments, the
available sensors devices is determined using a bus discovery
process, such as those described in SAE J1978 and J1979
incorporated by reference above. The bus discovery process can
provide a list of sensor devices in a variety of formats, including
a bit string matching a standardized format, as appropriate to the
requirements of specific applications of embodiments of the
invention. In a variety of embodiments, vehicle identification
information such as, but not limited to, a vehicle identification
number (VIN), are used to determine what sensor devices are
available. In numerous embodiments, vehicle identification
information can be used to query a database to determine an
appropriate initial device configuration data.
[0050] The vehicle telematics device can be dynamically configured
(330). In many embodiments, device configuration data generated
based on the available sensor devices is used to configure the
vehicle telematics device. In numerous embodiments, sensor data are
dynamically assigned to accumulators. If there are more sensor
devices and/or collectable types of data available than there are
accumulators, a record can be kept of available sensor devices. In
many embodiments, which sensors are assigned to accumulators is
determined based on a predetermined priority data describing which
data is of highest value. In a number of embodiments, the
assignment of sensor devices to accumulators can be automatically
updated based on requests for data from particular sensor
devices.
[0051] In a number of embodiments, process 300 also includes
initializing (340) data collection and/or providing (350) a vehicle
report. In many embodiments, initializing data collection includes
storing sensor data in accumulators. Vehicle reports can include
information about available sensor data, the type of vehicle, the
time of install, and/or any other initialization information as
appropriate to the requirements of a given application. In several
embodiments, the vehicle report is generated by a script that
automatically compiles the current value of one or more
accumulators.
[0052] Specific processes for configuring vehicle telematics
devices in accordance with embodiments of the invention are
described above and shown with respect to FIG. 3; however, any
number of processes, including those that use alternative
techniques for determining available sensor devices and/or storing
sensor data, can be utilized as appropriate to the requirements of
a specific application in accordance with embodiments of the
invention.
Dynamically Reconfiguring Vehicle Telematics Devices
[0053] There are situations where data that is accessible by a
vehicle telematics device is not being recorded and/or there is a
request for particular data to be measured by a vehicle telematics
device. In several embodiments, messages can be provided to vehicle
telematics devices to dynamically reconfigure its behavior. Dynamic
telematics messaging processes in accordance with embodiments of
the invention can include dynamically reconfiguring vehicle
telematics devices in response to a message. Turning now to FIG. 4,
a method for dynamically reconfiguring a vehicle telematics device
in accordance with an embodiment of the invention is illustrated.
Process 400 includes obtaining (410) message data. The message type
can be determined (420). Message types can be, but are not limited
to, messages that request changes in sensor data, message format,
communications protocol, firmware updates, and/or any other
reconfigurable behavior in accordance with an embodiment of the
invention.
[0054] The vehicle telematics device can be dynamically
reconfigured (430) based on the message data. In many embodiments,
when the message data includes a request for a change in sensor
data, the requested sensor data is assigned to an accumulator. The
particular accumulator utilized can be determined automatically
and/or defined in the message data as appropriate to the
requirements of specific applications of embodiments of the
invention. If there are no available accumulators, an accumulator
currently in use can be reassigned to store the requested sensor
data. In numerous embodiments, the message indicates which sensor
data is no longer required so that the accumulator previously used
to store the data is reassigned. In a variety of embodiments, the
accumulator to be reassigned is based on predetermined priority
data. However, which accumulator is reassigned can be determined in
any number of ways, including, but not limited to number of times
an accumulator has been reassigned, and/or any other metric as
appropriate to the requirements of a given application of the
invention. In a variety of embodiments, device configuration data
can describe a number of behavior profiles indicating accumulator
assignments. In many embodiments, the message data can include a
request for a new behavior profile from stored behavior profiles
and/or transmit a new behavior profile. When the message requests a
change in reporting data format(s), the vehicle telematics device
can dynamically reconfigure the message structure used to generate
vehicle reports. In numerous embodiments, when the message requests
a change in transmission protocol, the vehicle telematics device
can be dynamically reconfigured to communicate via the updated
transmission protocol.
[0055] Process 400 can further include providing (440) requested
data. In numerous embodiments, the requested data contains the
newly requested sensor data. In many embodiments, the requested
data is in a message format includes containers for a large number
of different types of data, but only the types of data stored
accumulators are stored in the message. In numerous embodiments,
identifying data about the vehicle and/or vehicle telematics device
are stored in the message. Identifying data can be stored as
metadata in message format. In a variety of embodiments, the
requested data includes one or more vehicle reports as described in
more detail above.
[0056] Specific processes for dynamically reconfiguring vehicle
telematics devices in accordance with embodiments of the invention
are described above and shown with respect to FIG. 4; however, any
number of processes, including those that use alternative
techniques for allocating memory, can be utilized as appropriate to
the requirements of a specific application in accordance with
embodiments of the invention.
Transcoding Message Data
[0057] Vehicle telematics devices can perform a variety of
processes to transcode message data in a first format into a second
format usable by specific processing engines. Dynamic telematics
messaging processes in accordance with embodiments of the invention
can include transcoding received messages into specific formats.
For example, the first message format can utilize the extensible
markup language (XML) standard, while the second format includes a
hex-encoded bit string. However, it should be noted that any data
formats can be utilized and/or transcoded as appropriate to the
requirements of specific applications of embodiments of the
invention.
[0058] Turning now to FIG. 5, a process for providing transcoded
message data in accordance with an embodiment of the invention is
illustrated. Process 500 includes obtaining (510) message data. In
numerous embodiments, obtained message data is in a format that is
typically not readable by vehicle telematics devices. Message data
can be transcoded (520) into a usable format. In many embodiments,
message data is encoded in a standardized format that is not
readable by vehicle telematics devices. Standardized message data
can be converted into a device specific format. In numerous
embodiments, message data is transcoded by applying a set of rules
describing transformations of instruction data stored within
message data. In many embodiments, the instruction data provides
requests for data such as, but not limited to, sensor data. In a
variety of embodiments, instruction data describes changes to
communications protocols. The instruction data can be stored as
transcoded message data. The transcoded message data can be
provided (530). In numerous embodiments, the transcoded message
data is provided to hardware within a vehicle telematics device. In
a variety of embodiments, the transcoded message data is provided
to a processing engine executing within the vehicle telematics
device. However, any transcoded message data can be provided to any
number of devices such as, but not limited to, relays, modems, user
interfaces, and/or any other device as appropriate to the
requirements of a given application.
[0059] In many embodiments, transcoded message data can trigger
processes for dynamically reconfiguring vehicle telematics devices.
In numerous embodiments, data requested by transcoded message data
can be provided (540). In numerous embodiments, the provided data
includes one or more vehicle reports as described in more detail
above.
[0060] Specific processes for providing transcoded message data in
accordance with embodiments of the invention are described above
and shown with respect to FIG. 5; however, any number of processes,
including those that use alternative transcoding techniques, can be
utilized as appropriate to the requirements of a specific
application in accordance with embodiments of the invention.
[0061] 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.
* * * * *