U.S. patent application number 12/401515 was filed with the patent office on 2009-07-09 for systems, methods and devices for a telematics web services interface feature.
This patent application is currently assigned to HTIIP, LLC.. Invention is credited to Vern Badham, Wade Williams, Randy Yuen.
Application Number | 20090177350 12/401515 |
Document ID | / |
Family ID | 40550481 |
Filed Date | 2009-07-09 |
United States Patent
Application |
20090177350 |
Kind Code |
A1 |
Williams; Wade ; et
al. |
July 9, 2009 |
Systems, methods and devices for a telematics web services
interface feature
Abstract
A telematics system is disclosed that includes a web services
interface in communication with a secondary software system,
wherein the web services interface comprises at least one processor
configured to retrieve, receive, analyze and/or transmit data in
response to a request from the secondary software system. In
addition, the telematics system includes a gateway system
configured to transmit data through a network to an in-vehicle
telematics device and receive data from the in-vehicle telematics
device, wherein the data comprises diagnostic data and/or
location-based data associated with a host vehicle. The telematics
system also includes a database in communication with the gateway
system and the web services interface, wherein the database is
configured to receive and store data transmitted from the gateway
system and/or the web services interface.
Inventors: |
Williams; Wade; (San Diego,
CA) ; Yuen; Randy; (San Diego, CA) ; Badham;
Vern; (San Diego, CA) |
Correspondence
Address: |
HUGHES TELEMATICS, INC.
41 PERIMETER CENTER EAST, SUITE 400
ATLANTA
GA
30346
US
|
Assignee: |
HTIIP, LLC.
|
Family ID: |
40550481 |
Appl. No.: |
12/401515 |
Filed: |
March 10, 2009 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
10823478 |
Apr 13, 2004 |
7523159 |
|
|
12401515 |
|
|
|
|
10626810 |
Jul 24, 2003 |
7477968 |
|
|
10823478 |
|
|
|
|
09808690 |
Mar 14, 2001 |
6611740 |
|
|
10626810 |
|
|
|
|
Current U.S.
Class: |
701/31.4 |
Current CPC
Class: |
G01M 15/04 20130101 |
Class at
Publication: |
701/29 |
International
Class: |
G06F 19/00 20060101
G06F019/00 |
Claims
1-19. (canceled)
20. A method of monitoring and communicating at least one of
diagnostic data and location-based data concerning a host vehicle,
the method comprising: receiving at least one of diagnostic data
and location-based data from an in-vehicle telematics device;
receiving a first message from a secondary software system;
processing the first message into a processed first message;
retrieving data from the database according to the processed first
message; processing the data retrieved from the database according
to the processed first message; processing a web services
description language file into a second message; and transmitting
the second message to the secondary software system according to
the processed first message.
21. An apparatus, comprising: means for receiving at least one of
diagnostic data and location-based data from an in-vehicle
telematics device; means for receiving a first message from a
secondary software system; means for processing the first message
into a processed first message; means for retrieving data from the
database according to the processed first message; means for
processing the data retrieved from the database according to the
processed first message; means for processing a web services
description language file into a second message; and means for
transmitting the second message to the secondary software system
according to the second message.
22. A computer readable medium having stored thereon instructions
which, when executed by a processor, cause a processor to: receive
at least one of diagnostic data and location-based data from an
in-vehicle telematics device; receive a first message from a
secondary software system; process the first message into a
processed first message; retrieve data from the database according
to the processed first message; process the data retrieved from the
database according to the processed first message; process a web
services description language file into a second message; and
transmit the second message to the secondary software system
according to the processed first message.
23. The method of claim 20 wherein the secondary software system is
an end-user application.
24. The method of claim 23 wherein the end-user application is
capable of providing web services.
25. The method of claim 20 wherein the first message includes code
for sending the second message in the form of an XML message.
26. The method of claim 20 wherein the first message includes code
for sending the second message in the form of an XML message.
27. The method of claim 20 wherein the first message is a SOAP
message.
28. The apparatus of claim 21 wherein the secondary software system
is an end-user application.
29. The apparatus of claim 28 wherein the end-user application is
capable of providing web services.
30. The apparatus of claim 21 wherein the first message includes
code for sending the second message in the form of an XML
message.
31. The apparatus of claim 21 wherein the first message includes
code for sending the second message in the form of an XML
message.
32. The apparatus of claim 21 wherein the first message is a SOAP
message.
33. The computer readable medium of claim 22 wherein the secondary
software system is an end-user application.
34. The computer readable medium of claim 33 wherein the end-user
application is capable of providing web services.
35. The computer readable medium of claim 22 wherein the first
message includes code for sending the second message in the form of
an XML message.
36. The computer readable medium of claim 22 wherein the first
message includes code for sending the second message in the form of
an XML message.
37. The computer readable medium of claim 22 wherein the first
message is a SOAP message.
Description
[0001] This application is a divisional of prior application Ser.
No. 10/823,478, which is a continuation-in-part of prior
application Ser. No. 10/626,810, filed Jul. 24, 2003, now U.S. Pat.
No. 7,477,968, which application is a continuation of prior
application Ser. No. 09/808,690, filed Mar. 14, 2001, now U.S. Pat.
No. 6,611,740. The present application incorporates the contents of
each prior application referenced herein by reference in its
entirety.
BACKGROUND
[0002] Vehicles, such as light-duty cars and trucks and heavy-duty
tractor/trailers, may include "telematics" systems that monitor
information describing the vehicle's location and diagnostic
condition. Such telematics systems may include a conventional
global positioning system ("GPS") that receives signals from
orbiting satellites and a processor that analyzes these signals to
calculate a GPS "fix." The fix describes the vehicle's location
with an accuracy of about 10 meters or better and may include data
such as the vehicle's latitude, longitude, altitude, heading, and
velocity.
[0003] Telematics systems may also include circuitry that monitors
the host vehicle's diagnostic system. For example, light-duty
automobiles and trucks beginning with model year 1996 may include
an on-board diagnostic ("OBD-II") system as mandated by the
Environmental Protection Agency ("EPA"). OBD-II systems may operate
under one of the following communication protocols: J1850 VPW
(Ford); J1850 VPWM (General Motors); ISO 9141-2 (most Japanese and
European vehicles); Keyword 2000 (some Mercedes and Hyundai
vehicles); and CAN (a newer protocol used by many vehicles
manufactured after 2004).
[0004] OBD-II systems monitor the vehicle's electrical, mechanical
and emissions systems and generate data such as vehicle speed
("VSS"), engine speed ("RPM"), engine load ("LOAD"), and mass air
flow ("MAF"). This data may be processed by a vehicle's engine
control unit ("ECU") to detect malfunctions or deterioration in
vehicle performance. In processing such data, the ECU may generate
diagnostic trouble codes ("DTCs"), which are 5-digit codes (e.g.,
"P0001") indicating electrical or mechanical problems with the
vehicle. Most vehicles manufactured after 1996 make the information
available through a standardized, serial 16-cavity connector
located in the vehicle and referred to herein as an "OBD-II
connector." The OBD-II connector provides a serial interface to the
vehicle's ECU and passes data and diagnostic codes to diagnostic
equipment located external to the vehicle.
[0005] Likewise, heavy-duty trucks may also include a diagnostic
system referred to herein as a "truck diagnostic system," which is
analogous to the OBD-II systems present in light-duty vehicles.
Truck diagnostic systems may operate under a communication protocol
such as J1708/J1587 or J1939 and may include a connector located in
the trick's interior and referred to herein as the "truck
diagnostic connector." The truck diagnostic connector, like the
OBD-II connector, makes the diagnostic information available to
diagnostic equipment located external to the vehicle.
SUMMARY
[0006] An aspect of the present invention is to provide a
telematics system that monitors a vehicle's diagnostic and
location-based data and utilizes a web services interface to send
the data to a secondary software application. According to various
embodiments, an in-vehicle telematics device may transmit the
diagnostic and location-based data from the vehicle to a database
for storage. According to further embodiments, the web services
interface may be in communication with the database, and when
instructed by the secondary software application, the web services
interface may extract the diagnostic and location-based data from
the database. In addition, the web services interface may also
format the data into a simple object access protocol (SOAP) message
and transmit the message to the secondary software application. As
a result, a user of the secondary software application, who is
remotely located from the vehicle, may view the diagnostic and
location-based data and make informed decisions regarding the
status and location of the vehicle.
[0007] In one embodiment, the present invention is directed to a
telematics system. The telematics system includes a web services
interface in communication with a secondary software system,
wherein the web services interface comprises at least one
processor, wherein the processor is configured to retrieve,
receive, analyze and/or transmit data in response to a request from
the secondary software system. In addition, the telematics system
includes a gateway software system configured to transmit data
through a network to an in-vehicle telematics device and receive
data from the in-vehicle telematics device, wherein the data
comprises diagnostic data and/or location-based data associated
with a host vehicle. The telematics system also includes a database
in communication with the gateway software system and the web
services interface, wherein the database is configured to receive
and store data transmitted from the gateway software system and/or
the web services interface.
[0008] In another embodiment, the present invention is directed to
a telematics system that includes a gateway software system
configured to receive diagnostic data and/or location-based data
associated with a host vehicle. In this embodiment the diagnostic
and location-based data are transmitted from an in-vehicle
telematics device. In addition, the telematics system includes a
web services interface configured to transmit data to a secondary
software system and/or the in-vehicle telematics device and receive
data from the secondary software system and/or the in-vehicle
telematics device. The telematics system also includes a database,
in communication with the gateway software system and the web
services interface, configured to receive and store the diagnostic
data and/or the location-based data. The diagnostic and
location-based data are transmitted from the gateway software
system and/or the web services interface.
[0009] In another embodiment, the present invention is directed to
a method of monitoring and communicating diagnostic data and/or
location-based data concerning a host. The method includes
transmitting data to an in-vehicle telematics device and/or
receiving diagnostic data and/or location-based data from the
in-vehicle telematics device. The method also includes receiving a
first message from a secondary software system; processing the
first message; storing data in a database; retrieving data from the
database; processing data; processing a web services description
language file; and transmitting a second message to the secondary
software system.
[0010] In another embodiment, the present invention is directed to
an apparatus. The apparatus includes means for transmitting data to
an in-vehicle telematics device and/or receiving diagnostic data
and/or location-based data from the in-vehicle telematics device.
The apparatus also includes means for receiving a first message
from a secondary software system; means for processing the first
message; means for storing data in a database; means for retrieving
data from the database; means for processing data; means for
processing a web services description language file; and means for
transmitting a second message to the secondary software system.
[0011] In another embodiment, the present invention is directed to
a computer-readable medium. According to this embodiment, the
computer readable medium has stored thereon instructions which,
when executed by a processor, cause the processor to transmit data
to an in-vehicle telematics device and/or receive diagnostic data
and/or location-based data from the in-vehicle telematics device.
Instructions stored on the computer-readable medium may also cause
the processor to receive a first message from a secondary software
system; process the first message; store data in a database;
retrieve data from the database; process data; process a web
services description language file; and transmit a second message
to the secondary software system.
BRIEF DESCRIPTION OF DRAWINGS
[0012] Further advantages of the present invention may be
understood by referring to the following descriptions taken in
conjunction with the accompanying drawings, in which:
[0013] FIG. 1 is a schematic drawing of a telematics system
featuring a web services interface according to one embodiment of
the present invention;
[0014] FIG. 2 is a schematic drawing of the web services interface
of FIG. 1 according to one embodiment of the present invention;
[0015] FIG. 3 is a flowchart illustrating a process performed by
the telematics system according to one embodiment of the present
invention;
[0016] FIG. 4 is a schematic drawing of a telematics system
featuring a web services interface according to one embodiment of
the present invention;
[0017] FIG. 5A is a schematic drawing of an Internet-accessible web
site according to one embodiment of the present invention;
[0018] FIG. 5B is a schematic drawing of an Internet-accessible web
page according to one embodiment of the present invention;
[0019] FIG. 6 is a schematic drawing of an Internet-accessible web
page displaying diagnostic data according to one embodiment of the
present invention;
[0020] FIG. 7 is a schematic drawing of an Internet-accessible web
page displaying location-based data according to one embodiment of
the present invention; and
[0021] FIG. 8 is a schematic drawing of an Internet-accessible web
page displaying service records according to one embodiment of the
present invention.
DETAILED DESCRIPTION
[0022] It is to be understood that the figures and descriptions of
the present invention have been simplified to illustrate elements
that are relevant for a clear understanding of the present
invention, while eliminating, for purposes of clarity, other
elements of a conventional telematics system. For example, certain
telematics systems may include multiple power supplies that are not
described herein. Those of ordinary skill in the art will
recognize, however, that these and other elements may be desirable
in a typical telematics system. However, because such elements are
well known in the art and because they do not facilitate a better
understanding of the present invention, a discussion of such
elements is not provided herein.
[0023] Also, in the claims appended hereto, any element expressed
as a means for performing a specified function is to encompass any
way of performing that function including, for example, a
combination of elements that perform that function. Furthermore the
invention, as defined by such means-plus-function claims, resides
in the fact that the functionalities provided by the various
recited means are combined and brought together in a manner as
defined by the appended claims. Therefore, any means that can
provide such functionalities may be considered equivalents to the
means shown herein.
[0024] The term data is used herein generally to refer to any
numbers, letters, symbols and/or analog quantities that function as
an input to a device and/or an output from a device. The term
"communication" is used herein generally to refer to any wireless
and/or wireline transmission and/or reception of data including,
but not limited to, voice, text and video data. Furthermore, the
terms "send," "transmit" and "receive," or any conjugations
thereof, are used herein generally to refer to all data
communications over landline and/or wireless technologies
including, but not limited to, point-to-point transfers and
packet-switched networking. In addition, the term "user" is used
herein generally to refer to a person and/or apparatus that
operates, interfaces and/or communicates with a device or system
such as, for example, a person operating a software system or a
person interfacing with an Internet accessible website.
[0025] FIG. 1 shows a telematics system 5, according to one
embodiment of the present invention, that utilizes a web services
interface 14 to monitor and analyze diagnostic and location-based
data describing a vehicle 9. The web services interface 14 may
cause the vehicle 9 to be in communication with a secondary
software system 15, thereby enabling a user of the secondary
software system 15 that is remotely located from the vehicle to
view the diagnostic and location-based data and make informed
decisions regarding the status and location of the vehicle.
[0026] In one embodiment, the telematics system 5 may include: (1)
a telematic device 10 located in the vehicle 9; (2) a gateway
software system 12 configured to receive the diagnostic and
location-based data wirelessly transmitted from the telematics
device 10; (3) a database 13 configured to receive the diagnostic
and location-based data from the gateway software system 12 and
store this data or derivatives thereof, and (4) a web services
interface 14 configured to retrieve the diagnostic and
location-based data or derivatives thereof from the database 13 in
response to a request from the secondary software system 15.
[0027] According to one embodiment, an OBD-II connector (not shown)
may supply power and ground to the telematics device 10.
Additionally, the OBD-II connector may provide a serial interface
between the telematics device 10 and the vehicle's engine computer
(not shown), thus enabling the telematics system 5 to collect
diagnostic data regarding the vehicle 9. In another embodiment, the
telematics device 10 may also include an internal GPS system
configured to receive signals from overlying satellites and convert
the signals into location-based data such as latitude, longitude,
altitude, speed, and heading.
[0028] In yet another embodiment, the telematics device 9 may also
transmit and/or receive diagnostic and location-based data through
a wireless network 11. The wireless network 11 connects to a
gateway software system 12, e.g. a Unix gateway system. The
wireless network 11 may involve a conventional circuit, or
packet-switched network, e.g. CDMA networks (e.g., networks
operated by Sprint and Verizon), GSM/GPRS networks (e.g., networks
operated by ATT and Cingular), data-only networks (e.g., Mobitex
and DataTac) and/or satellite networks. According to this
embodiment, the gateway software system 12 may process the
diagnostic and location-based data and store the data in the
database 13. Furthermore, the secondary software system 15 may also
utilize the web services interface 14 to access the diagnostic and
location-based data stored in the database 13.
[0029] In one embodiment, the web services interface 14 may be
based on Extensible Markup Language ("XML"), a computer language
that encloses data in "documents" that are portable between
software applications. According to this embodiment, XML may be
utilized as a system-independent language for representing data
transmitted across the web services interface 14. This transmission
of data may be in the form of simple object access protocol
("SOAP") messages, which are XML-based messages that are
communicated through standard Internet protocols such as, for
example, Hypertext Transfer Protocol ("HTTP").
[0030] In another embodiment, the web services interface 14 may
communicate with the secondary software system 15, wherein the
secondary software system 15 may be an end-user application such
as, for example, a web site and/or a software system capable of
providing web services. According to this embodiment, the secondary
software system 15 may process the diagnostic and location-based
data by itself or combine and process these data with other
information, which may be stored directly on the secondary software
system 15 or may be accessed by the secondary software system 15
using the web services interface 14.
[0031] In one embodiment, the web services may be implemented with
software, such as BEA WebLogic Server. According to this
embodiment, the software may contain a software application, called
a "servlet module," which sends and/or receives XML-based SOAP
messages to and/or from the secondary software system 15. According
to this embodiment, the servlet module may implement remote
procedure calls ("RPCs") between the web services interface 14 and
the secondary software system 15. In one embodiment, a user of the
secondary software system 15 may utilize a keyboard, mouse or other
input device to instruct the secondary software system 15 to poll
data from the database 13 using the web services interface 14. In
other embodiments, the secondary software system 15 may receive an
automated HTTP request to initiate the data polling.
[0032] In another embodiment, the secondary software system 15 may
interpret XML messages transmitted by the web services interface
14. According to this embodiment, the XML messages may be used to
code web pages by enclosing data in "tags" that define the enclosed
information. XML messages may also be extensible, meaning a user
may develop application-specific tags to disclose a wide range of
data. In addition, with XML, the user may create a "schema" that
describes the structure of the XML document, such as the
definitions and locations of the tags used therein.
[0033] According to one embodiment of the present invention, the
web services interface 14 may send diagnostic and location-based
data formatted in a SOAP message from the database 13 to the
secondary software system 15. In this embodiment, the web services
interface 14 may "pull" (e.g., extract) the data from the database
13 in response to a query from the secondary software system 15
rather than "push" data to the secondary software system 15. In
addition, the data may be formatted independent from the secondary
software system 15 query or any other query that may result from
any "downstream" processing.
[0034] In one embodiment, the secondary software system 15 may be
designed on a software platform that supports web services, such as
the Java 2 Platform, Enterprise Edition (J2EE.TM.) or Microsoft's
Net platform. The secondary software system 15 that may be built on
J2EE.TM., may connect to other software applications through web
services and include essential features such as security,
distributed transaction management, and connection pool management.
In other embodiments, data may be displayed using a conventional
web application 20 that does not utilize a web service.
[0035] In one embodiment, the data transfer executed by the web
services interface 14 may operate independently from the secondary
software system 15, the data format of the secondary software
system 15 or any processing performed by the secondary software
system 15. Therefore, according to this embodiment, the telematics
system 5 may function as a "data provider" to numerous secondary
software systems 15, wherein each secondary software system 15 may
be configured to execute different functions. For example, a
vehicle-leasing company may employ a secondary software system 15
that utilizes the diagnostic and location data in combination with
other data to perform a leasing transaction, such as authorizing a
leased vehicle in need of repair. Using a web site that relies on
the web services interface 14, a user at the vehicle-leasing
company may access a web page that displays the vehicle's
diagnostic data, previous service records, and a description of the
type of repair that may be required. With this information,
combined with data describing the vehicle's location, owner, and
leasing program, the user may authorize the repair.
[0036] In another embodiment, the telematics system 5 may transmit
the vehicle's location-based data through the web services
interface 14 to a web-based secondary software system 15 operated
by a call center that recovers stolen vehicles. According to this
embodiment, a customer, whose vehicle was stolen, may call an
operator located at a call center that has access to the web-based
software system. Using the web services interface 14, the web-based
secondary software system 15 retrieves the vehicle's most recent
GPS-determined locations from the database 13. Armed with this
information, the call center operator may then contact the local
police to recover the stolen vehicle.
[0037] Alternatively, the telematics system 5 may transmit data
and/or instructions from the secondary software system 15 to the
in-vehicle telematics device 10 via the web services interface 14.
The in-vehicle telematics device 10 may then display the data, or
process and execute the instructions to perform a function. Such
functions may include opening the vehicle's doors, sending
diagnostic and/or location data, changing an update rate in which
these data are transmitted, or downloading new firmware into the
in-vehicle telematics device 10. In other embodiments, the data
and/or instructions transmitted from the secondary software system
15 to the in-vehicle telematics device 10, or the data and/or
instructions transmitted from the in-vehicle telematics device 10
to the secondary software system 15, may be used alone or in
combination with other data to perform a given function.
[0038] In yet another embodiment, the telematics system 5 may
provide wireless, real-time transmission and analysis of diagnostic
and location-based data by one or more peripheral devices in
communication with the in-vehicle telematics device 10. According
to this embodiment, the telematics system 5 may characterize the
vehicle's performance and determine the vehicle's location in
real-time from any remote location that is in communication with a
network, such as, for example, the Internet. In addition, the
diagnostic and location information are complementary and, when
analyzed together, may improve conventional services such as
roadside assistance, vehicle theft notification and recovery, and
remote diagnostics analysis. For example, the information may,
according to one embodiment, indicate a vehicle's location, the
vehicle's fuel level and battery voltage, and whether or not the
vehicle 9 has any active diagnostic trouble codes ("DTCs"). Using
such information, a call center, for example, may dispatch a tow
truck equipped with the appropriate materials to properly service
the vehicle 9 such as, for example, extra gasoline or tools
required to repair a specific problem.
[0039] In another embodiment, one or more secondary software
systems 15 are in communication with the web services software
interface 14. The secondary software systems 15 may communicate
simultaneously or sequentially with the web services software
interface.
[0040] Further embodiments of the present invention may also be
used in servicing a wide range of vehicles. In one embodiment, the
telematics system 5 may, for example, cause the secondary software
system 15 and/or the Web application 20 to be in communication with
vehicles 9, including but not limited to: (1) automobiles, (2)
commercial equipment, (3) light, medium and heavy-duty trucks, (4)
construction vehicles such as, for example, front-end loaders,
bulldozers and forklifts, (5) powered sport vehicles such as, for
example, motorboats, motorcycles, all-terrain vehicles, snowmobiles
and jet skis, (6) collision repair vehicles, (7) marine vehicles,
and (8) recreational vehicles. Further, embodiments may also be
useful in the vehicle care industry.
[0041] Now referring to FIG. 2, the illustrated embodiments depict
a telematics system 5 involving the web services interface 14 in
communication with the secondary software system 15. In one
embodiment, the web services interface 14 may comprise one or more
processors having stored thereon instructions which, when executed
by the processor, cause the processor to communicate with the
secondary software system 15 and the database 13. According to this
embodiment, the instructions may include a web services container
17 that may be a software application written, for example, in
Java, and developed on a platform such as BEA WebLogic. The web
services container 17 may execute an RPC SOAP servlet module 19
that communicates over HTTP with the secondary software system 15.
In another embodiment, the instructions, which are stored oil the
web services interface processor, may also include an enterprise
java bean (EJB) container 16. The EJB container 16 may be a
software application configured to execute one or more stateless
session enterprise java beans (EJB) 18 that communicate with the
RPC SOAP servlet module 19. According to this embodiment, the
servlet module 19 functions as a remote object that performs a
well-defined function concerning the secondary software system
15.
[0042] In one embodiment, the RPC SOAP servlet module 19 in the web
services interface 14 may be configured to process messages coded
in an application-independent format such as an XML and/or SOAP
format. According to this embodiment, the RPC SOAP servlet module
19 may include computer code that instructs the web services
interface 14 to receive a SOAP message sent from the secondary
software system 15, process the SOAP message, and extract at least
one parameter from the message. In addition, the extracted
parameter(s) may be transmitted to the stateless session EJB 18,
wherein the stateless session EJB 18 is configured to transmit
information to the database 13 and extract information from the
database 13.
[0043] In other embodiments, the stateless session EJB 18 may
include computer code that instructs the web services interface 14
to process a web services description language (WSDL) file and send
at least one parameter of the WSDL file to the RPC SOAP servlet
module 19. According to this embodiment, the WSDL file may be an
XML document that specifies the location (e.g., web address) of the
web service and the operations that the web service conducts. In
still other embodiments, the web services interface 14 may further
include computer code that sends the diagnostic and location-based
data in the form of an XML or SOAP message to the secondary
software system 15. In further embodiments, the web services
interface 14 may include a software interface configured to receive
information such as service records from the secondary software
system 15. In these embodiments, the secondary software system 15
may, for example, be a data-management software (DMS) system and/or
an enterprise resource planning (ERP) software system.
[0044] According to yet another embodiment of the present
invention, the secondary software system 15 may instruct a web
service to transmit parameter values in the form of a SOAP message
to the web services container 17, which in turn may instruct the
RPC SOAP servlet module 19 to return data to the secondary software
system 15 in the form of a second SOAP message.
[0045] FIG. 3 is a flowchart illustrating an embodiment of a
process performed by the telematics system according to the present
invention, wherein the web services container may include multiple
SOAP servlet modules that are configured to manage different
requests formatted in SOAP messages. According to this embodiment,
one or more SOAP servlet modules may, at step 200, receive a first
SOAP message from the secondary software system and, at step 202,
"unwrap" the message to identify parameters contained within the
message. At step 204, the SOAP servlet modules may process the
parameters to identify and implement the stateless session EJB
within the EJB container. The process may then proceed to step 206
where the SOAP servlet modules may send the parameters to the
selected stateless session EJB. In response, the stateless session
EJB may process the parameters and return a value to the SOAP
servlet module at step 208, thereby triggering step 210 where the
SOAP servlet module generates and sends to the secondary software
system a second SOAP message that includes the return value. The
process may then proceed to step 212 where the secondary software
system displays the return value using a web site, for example,
and/or stores the return value into a database located within the
secondary software system.
[0046] FIG. 4 depicts an embodiment wherein the secondary software
system 15 performs a "GPS_Info web service." In this embodiment the
secondary software system 15 requests GPS information, such as a
vehicle's latitude and longitude from a software system 34. In one
embodiment, the software system 34 may be a component of a larger
software system such as a telematics system. In addition, the
software system 34 may be identified by a web address such
as--"www.networkcar.com/pub/gpsinfo/gps_location." According to
this embodiment, the software system 34 may include a web services
container 27 and an EJB container 26, similar to those described
above with reference to FIG. 2. During operation, the web services
container 27 may receive a request in the form of a first GPS SOAP
message 23 from the secondary software system 15. In response, the
web services container 27 may instruct a GPS_Info SOAP servlet
module 24 to unwrap the first GPS SOAP message 23 and extract
parameters. In one embodiment, these parameters may identify that a
GPS_Info EJB 25 needs to be implemented.
[0047] In another embodiment, the GPS_Info web service may be
defined by a web services description language (WSDL) file 29,
which is dynamically served through the GPS_Info EJB 25. According
to this embodiment, the WSDL file 29 may be an XML document that
specifies the location (e.g., web address) of the web service and
the operations that the web service conducts, for example, a web
service for retrieving location-based data.
[0048] In one embodiment of the present invention, the GPS_Info
SOAP servlet module 24 may instruct the GPS_Info EJB 25 to execute
a task and provide the GPS_Info EJB 25 with the necessary
information to carry out the task. This information may include: an
identification of the in-vehicle telematics device that measures
the GPS-determined location; the VIN of the vehicle that hosts the
in-vehicle telematics device; and the name, username, and password
of the customer associated with the vehicle. According to this
embodiment, the GPS_Info EJB 25 may query a database 30 to
authorize the request by ensuring that the requesting user has a
valid username and password. In another embodiment, the GPS_Info
EJB 25 may query the database 30 to generate a response "string" in
the form of an XML document that includes either the requested GPS
data or an "error statement" indicating that the GPS data is not
available. In addition, the GPS_Info EJB 25 may return the XML
document as a "payload" to the SOAP servlet module 24, wherein the
SOAP servlet module 24 is configured to return the payload
information to the secondary software system 15 in the form of a
second SOAP message 23'.
[0049] According to one embodiment, the secondary software system
15 may complete the web service by receiving and processing the
second SOAP message 23'. According to this embodiment, the
secondary software system 15 may parse the XML payload within the
second SOAP message 23' and incorporate the location-based data
therein into an application such as a web site that features a
mapping application; however, if the XML payload includes an error
statement then the web site may then render an error message.
[0050] FIG. 5A-FIG. 8 illustrate Internet-accessible web pages,
according to several embodiments of the present invention, wherein
the Internet-accessible web pages are supported by the secondary
software system. In these embodiments, the secondary software
system may utilize the web services interface as described above,
and may also display, receive and transmit data in more detail
below.
[0051] FIG. 5A illustrates an Internet-accessible web page 66a
according to one embodiment of the present invention. According to
this embodiment, the web page 66a may enable a fleet manager, for
example, to view GPS and diagnostic information and text messages
for each vehicle in the fleet. The web page 66a may be also
connected to a text messaging-processing component configured to
process information received from a host vehicle, comprising a
telematics device and a peripheral device such as an
LCD/keyboard.
[0052] In other embodiments, the web page 66a may feature tabs
42a-d that are capable of connecting to secondary web pages that
display vehicle diagnostic information (42a), GPS information and
mapping (42b), service records (42c) and text messaging (42d). Each
of these web pages 42a-d is described below with reference to FIG.
5B-FIG. 8.
[0053] FIG. 5B is a block diagram of a web page 66b according to
one embodiment of the present invention. The web page 66b may be
rendered when a user selects the tab 42d labeled "Text Messaging"
in the website 66a shown in FIG. 5A. The web page 66b may include a
window 43 wherein a user (for example, a fleet manager) may type a
text message that is sent through a wireless network and displayed
on an LCD attached to the in-vehicle telematics device. The web
page 66b may also include a field 44 that lists standard components
of the text message such as the destination of the text message,
the sender, and the subject of the message. In one embodiment, a
fleet manager may type a message in the window 43 and wirelessly
transmit the message to the driver of the host vehicle 9 by
selecting the "Send" button 46. Similarly, the fleet manager may
receive incoming text messages in the window 43 by clicking the
"Receive" button 48. According to various embodiments of the
present invention, the text messages may be sent to and received
from the in-vehicle telematics device using the web services
interface as described above.
[0054] In another embodiment, the web page 66b may include text
messaging software that enables the web page 66b to communicate
with additional web pages that include software systems for
managing text messages. According to this embodiment, these
software systems may include file-management systems for storing
and managing incoming and outgoing messages; systems for sending
messages to multiple vehicles in the fleet; systems for tracking
the status of a message; systems for storing draft and standard,
formatted messages such as, for example, maps, directions, and
standard responses; systems for sending standard messages; systems
for porting information from messages to other applications; and
other message-processing systems.
[0055] FIG. 6 depicts a web page 66c that renders when a user
selects the "Diagnostics" tab 42a on the web page 66a shown in FIG.
5A. In one embodiment, the web page 66c may display diagnostic data
collected from the ECU of a particular vehicle as described above.
The web page 66c may also involve a set of diagnostic data 131 that
includes fields listing an acronym 132, value and units 134, and a
brief description 136 for each datum. In other embodiments, the web
page 66c may include graphs 138, 139 that plot selected diagnostic
data 131 in time-dependent (graph 139) and histogram (graph 138)
formats.
[0056] In one embodiment, the in-vehicle telematics device may
automatically transmit a set of diagnostic data 131 at a periodic
interval such as, every 20 to 40 minutes. In other embodiments, the
telematics device may transmit similar data sets at random time
intervals in response to a query from the secondary software
system, sometimes referred to as a "ping." Detailed descriptions of
these data and how such data can be further analyzed and displayed
are provided in the following U.S. patents, the contents of which
are incorporated herein by reference: WIRELESS DIAGNOSTIC SYSTEM
AND METHOD FOR MONITORING VEHICLES (U.S. Pat. No. 6,636,790) and
INTERNET-BASED VEHICLE-DIAGNOSTIC SYSTEM (U.S. Pat. No.
6,611,740).
[0057] FIG. 7 illustrates a web page 66d, according to one
embodiment, that renders when a user selects the "Mapping" tab 42b
on the web page 66a shown in FIG. 5A. In one embodiment, the web
page 66d may display, GPS data 154 and a map 158 that together
indicate a vehicle's location. According to this embodiment, the
GPS data 154 may include the time and date, the vehicle's latitude,
longitude, a "reverse geocode" of these data indicating a
corresponding street address, the nearest cross street, and the
status of the vehicle's ignition such as, for example, "on" or
"off" and whether the vehicle is parked or moving. In addition, the
map 158 may display these coordinates in a graphical form relative
to an area of a few square miles. In one embodiment, the secondary
software system 15 may render the web page 66d each time the GPS
data 154 are periodically transmitted from the in-vehicle
telematics device 10, for example, every 1-2 minutes.
[0058] Both the map 158 and a database that translates the latitude
and longitude into a reverse geocode may be hosted by an external
computer server and may be accessible though an Internet-based
protocol such as XML, Web Services, or TCP/IP. Companies such as
MapTuit, MapQuest, and NavTech host software that provides maps and
databases such as these. Methods for processing location-based
data, taken alone or in combination with diagnostic data, are
described in the following U.S. patent application, the contents of
which are incorporated herein by reference: WIRELESS,
INTERNET-BASED SYSTEM FOR TRANSMITTING AND ANALYZING GPS DATA (U.S.
Ser. No. 10/301,010).
[0059] FIG. 8 depicts a web page 66e that renders when a user
selects the "Service Records" tab 42c on the web page 66a shown in
FIG. 5A. In one embodiment, the web page 66e may display a list of
service records 164 for a particular vehicle and an individual
service record 168 that provides details of a service performed on
the vehicle. The list of service records 164 may include: 1) the
date of the service; 2) a work order number; and 3) the company
providing the service. In addition, the individual service record
168 may describe: 1) the type of service; 2) the mechanic that
completed the service; 3) the cost of the service; 4) the mileage
on the vehicle at the time of the service; and 5) one or more
comments describing the service.
[0060] To display the list of service records 164 or the individual
service record 168, the secondary software system may communicate
through the web services interface to a data-management system
("DMS") that operates in conjunction with a computer system at an
automotive dealership. In another embodiment, the DMS may be, for
example, an "Entity Relationship Attribute" (ERA) software system.
According to this embodiment, the ERA system may transfer service
records to the secondary software system through a variety of means
such as, for example, XML, XML-based Web Services, file transfer
protocol (FTP), and email. In one embodiment, the web page 66e may
also include service records describing service performed by
organizations other than an automotive dealership. These include
services performed by the vehicle owner or another non-dealership
entities such as, for example, Jiffy Lube.TM.. In other
embodiments, the service records may also be entered by hand into
the web page 66e.
[0061] In still other embodiments, the above-described telematics
system may communicate with a wide variety of secondary software
systems via the web services interface. These secondary software
systems may, for example, include systems that analyze diagnostic
and location-based data, alone or in combination, for: (1)
stolen-vehicle recovery; (2) vehicle-manufacturers (e.g., Ford,
GM), (3) insurance applications; (4) emissions-control
applications; (5) general fleet-management applications; (6)
roadside assistance; (7) concierge services (e.g., directions); (8)
product development and testing; (9) mapping applications; (10)
toll collections; and (11) traffic management.
[0062] In further embodiments, the secondary software system may
utilize the web services interface to implement additional
performance features for the in-vehicle telematics device, for
example, (1) alteration of data-transmission rates; (2) firmware
downloads; (3) immediate transmission of diagnostic or
location-based data; (4) investigation of the in-vehicle unit's
hardware or software status; (5) network properties; (6) vehicle
performance statistics; (7) GPS properties; and (8) ECU diagnostics
and other vehicle properties.
[0063] According to other embodiments, the web services interface
may feature a suite of "loosely coupled" web services that are
"message" based and/or asynchronous in nature. In this embodiment,
the loosely coupled web service may replace the above-described
systems using the RPC SOAP servlet module as described in FIG. 2.
In one embodiment, the loosely coupled web service may permit a
"conversation" to occur between the secondary software system and a
software system involving the web services interface. For example,
the loosely coupled web service may send a first message to the
vehicle that causes the in-vehicle telematics device to unlock the
doors of the vehicle. According to this embodiment, the first
message may also be followed by a second message that requests the
in-vehicle telematics device to provide a status report with
respect to the operation of unlocking the doors.
[0064] In one embodiment, the web services interface may also
include security measures such as, for example, authentication,
authorization, encryption, credential presentation, and digital
signature resolution. In other embodiments, the web services
interface may be modified to conform to industry-mandated, XML
schema definitions, while remaining "backwards compatible" with any
existing XML schema definitions such as XML schema definitions that
may be used by an ERP system. In still other embodiments, the web
services interface may be designed to be interoperable with other
web services implementations, such as, for example, Microsoft .Net
and IBM Websphere.
[0065] According to further embodiments, web pages hosted by the
secondary software system may take on many different forms. For
example, the display of the data, the nature and format of the
data, and the computer code used to generate the web page and/or
data may incorporate a variety of formats without deviating from
the spirit of the present invention. In addition, a web page may
also be formatted using standard wireless access protocols (WAP)
thereby enabling the web page to be accessed by wireless devices
such as, for example, cellular telephones, personal digital
assistants (PDAs), and other related devices. In addition, these
wireless devices may also display text messages that are
transmitted using the above-described systems. In still other
embodiments, the above-described systems may be used to locate
vehicles or items other than cars and trucks, such as, for example,
industrial equipment and/or shipping containers.
[0066] In general, it will be apparent to one of ordinary skill in
the art that some of the embodiments as described hereinabove may
be implemented in many different embodiments of software,
firm-ware, and hardware in the entities illustrated in the figures.
The actual software code or specialized control hardware used to
implement some of the present embodiments is not limiting of the
present invention. For example, the embodiments described
hereinabove may be implemented in computer software using any
suitable computer software language type such as, for example, C or
C++ using, for example, conventional or object-oriented techniques.
Such software may be stored on any type of suitable
computer-readable medium or media such as, for example, a magnetic
or optical storage medium. Thus, the operation and behavior of the
embodiments are described without specific reference to the actual
software code or specialized hardware components. The absence of
such specific references is feasible because it is clearly
understood that artisans of ordinary skill would be able to design
software and control hardware to implement the embodiments of the
present invention based on the description herein with only a
reasonable effort and without undue experimentation.
[0067] Moreover, the processes associated with the present
embodiments may be executed by programmable equipment, such as
computers. Software that may cause programmable equipment to
execute the processes may be stored in any storage device, such as,
for example, a computer system (non-volatile) memory, an optical
disk, magnetic tape, or magnetic disk. Furthermore, some of the
processes may be programmed when the computer system is
manufactured or via a computer-readable medium. Such a medium may
include any of the forms listed above with respect to storage
devices and may further include, for example, a carrier wave
modulated, or otherwise manipulated, to convey instructions that
may be read, demodulated/decoded and executed by a computer.
[0068] It can also be appreciated that some process aspects
described herein may be performed using instructions stored on a
computer-readable medium or media that direct a computer system to
perform the process aspects. A computer-readable medium may
include, for example, memory devices such as diskettes, compact
discs of both read-only and read/write varieties, optical disk
drives, and hard disk drives. A computer-readable medium may also
include memory storage that may be physical, virtual, permanent,
temporary, semi-permanent and/or semi-temporary. A
computer-readable medium may further include one or more data
signals transmitted on one or more carrier waves.
[0069] A "computer" or "computer system" may be, for example, a
wireless or wireline variety of a microcomputer, minicomputer,
laptop, personal data assistant (PDA), wireless e-mail device
(e.g., BlackBerry), cellular phone, pager, processor, or any other
programmable device configured to transmit and receive data over a
network. Computer devices disclosed herein may include memory for
storing certain software applications used in obtaining, processing
and communicating data. It can be appreciated that such memory may
be internal or external to the disclosed embodiments. The memory
may also include any means for storing software, including a hard
disk, an optical disk, floppy disk, ROM (read only memory), RAM
(random access memory), PROM (programmable ROM), EEPROM
(electrically erasable PROM), and other computer-readable
media.
[0070] While several embodiments of the invention have been
described, it should be apparent, however, that various
modifications, alterations and adaptations to those embodiments may
occur to persons skilled in the art with the attainment of some or
all of the advantages of the present invention. For example, in
some embodiments of the present invention disclosed herein, a
single component may be replaced by multiple components, and
multiple components may be replaced by a single component, to
perform a given function or functions. Except where such
substitution would not be operative to practice embodiments of the
present invention, such substitution is within the scope of the
present invention. The disclosed embodiments are therefore intended
to include all such modifications, alterations and adaptations
without departing from the scope and spirit of the present
invention as defined by the appended claims.
* * * * *