Vehicle telemetric system

A vehicle telemetric system comprises vehicle interface units (VIUs), wireless gateways, and a central host. The VIU in a vehicle collects data over the OBD-II bus and stores the data in the form of Data Point Records (DPRs) in an on-board flash memory. When the VIU is within wireless range of a gateway, it establishes a WiFi (802.11b) connection with the gateway, and submits stored DPRs to the gateway, to be stored in permanent storage at the gateway. The gateways communicate with the central host over a wide area network (WAN). When a gateway has gathered new DPRs from a VIU, it submits these to the central host. Databases in the gateways as well as in the central host are maintained and synchronized to track received DPRs by sequence number and originating VIU. In conjunction with specific protocols, all DPRs are thus collected reliably, even though communication with a vehicle may be intermittent. Efficient use of WiFi bandwidth is made by avoiding the unnecessary collection of duplicate DPRs.

FIELD OF THE INVENTION

The invention relates to motor vehicle telemetric systems, in which an on-board computer transmits vehicle related data to a central host computer over a wireless network.

BACKGROUND OF THE INVENTION

Most motor vehicles have in recent years been equipped with on-board computers connected to sensors located in various systems in the motor vehicle, for example the engine, the exhaust system, and the like.

The Society of Automotive Engineers (SAE) has set standards which include a standard connector plug and a set of diagnostic test signals that technicians use when adjusting or repairing the motor vehicle. The standard connector plug and set of test signals, today, is known collectively as OBD-II (On-Board-Diagnostic, version 2) which applies to all cars and light trucks built after Jan. 1, 1996.

The on-board computers may also be coupled through the OBD-II interface to an on-board equipment containing a wireless modem, and thence to a wireless communications network to enable interested parties to remotely obtain diagnostic and other information from the motor vehicle. The applications for accessing the vehicle on-board computers remotely include highway monitoring of emission levels, and surveillance of fleet vehicles from a central location for purposes of performance tracking and maintenance scheduling.

Depending on the application, various ways are possible in which the wireless connectivity between the vehicle and a computer host at a monitoring location (to be referred to as the central host) can be achieved. For example the wireless modem may be configured to operate in the manner of a cellular telephone, and use the cellular telephone network to connect to any central host equipped with access to the telephone network. Similarly, the wireless modem may be configured to access the central host over a Wide Area Network (WAN), for example the internet. A system for transmitting, collecting and displaying diagnostic and operational information from one or more motor vehicles to a central server connected to a wide area network, is described in U.S. Pat. No. 6,295,492, issued to Lang, et al.

A problem of access may arise, due to the reliance on a single wireless network between the vehicle and the central host. As a practical matter, and due to the nature of being a vehicle, the vehicle may travel between many locations. The use of a single, virtually ubiquitous, wireless network is possible in principle (viz. the cellular telephone network, or a satellite based network), but the use of such a network for frequent and regular access to a potentially very large number of vehicles is both expensive and wasteful of resources.

This problem may be circumvented by deploying a number of remote computers (such as reference 27 in FIG. 1 of the U.S. Pat. No. 6,295,492 cited above), connected to the central host by conventional means, e.g. the land-line based internet. Each remote computer serves as a wireless gateway (WAP or wireless access point) to a localized wireless network. The Institute of Electrical and Electronic Engineers (IEEE) Standard 802.11b describes protocol for use in a Wireless Local Area Network (WLAN). If the system is based on the IEEE 802.11b Standard, the on-board modem accesses the nearest compatible remote computer and through it achieves data communication with the central host.

It is generally understood that WLANs of the kind described above have a very limited geographic reach, on the order of a few 100 meters at most. There is not a continuous geographic coverage of WLANs, and a vehicle may frequently be outside the reach of any WAP. Nevertheless, WLANs for the purpose of providing wireless access for vehicles for remote performance monitoring, diagnostics, or exhaust emissions performance checks, may be established at vehicle repair facilities, in parking lots, at high way toll plazas, etc. Furthermore, not every WLAN is designed or intended to operate with all vehicles. In general, WLAN devices (i.e. the vehicle's on-board computer) must be authorized and be registered by the WLAN master (also referred to as WLAN gateway) before communication is possible.

The vehicle's on-board computer may store vehicle data in its memory during periods when the vehicle is not within reach of a designated WLAN. In a conventional application, for example when the vehicle is in a repair shop being serviced, there is no problem collecting all data. However in a general surveillance or remote monitoring application, where the vehicle is free to roam, the driver may not even be aware of the data collection taking place, or of the boundaries of a WLAN the modem in the vehicle is currently accessing. In this case, the time for wireless accessibility may be short, frequently interrupted, and occur at a number of different WAPs successively.

A method, directly applicable to vehicle telemetry is disclosed in Canadian Patent 2,414,126, issued to Nader, et al. In this system a specific protocol (Internet Protocol IP version 6) is used which can provide a virtual continuous data path (connection) between the vehicle and the central host regardless of which WLAN the vehicle is currently accessing. While providing an elegant way of “hiding” the problem, thus possibly simplifying software design at the host, this solution does not address the practical aspects of providing continuity of information using a generally available protocol (IP version 4) nor does it take into account the uncertain, often intermittent, presence of vehicles within reach of a WLAN.

There exists thus a problem to ensure continuity of the effective data communication between the vehicle and the central host.

This problem is partially solved, in a different context (hand-held personal computing devices, rather than vehicles) in a system described in U.S. Pat. No. 5,564,070, issued to Want, et al. In this system, the main flow of information is from the central host to the mobile device. Stationary computers, attached to a WLAN gateway, are used to temporarily hold or buffer data from the central host and destined for the mobile device, while the mobile device is out of reach for brief periods of time.

In the case of the motor vehicle telemetric system however, the main flow of information is the reverse, from the vehicle to the central host. The method described in the above cited U.S. Pat. No. 5,564,070 for providing continuity of communication is thus not directly applicable to the problem of providing continuity of information in a motor vehicle telemetric system.

What needs to be developed is a method for providing continuity of information in a vehicle telemetric system over localized wireless networks (WLANs), to permit a central host to collect diagnostic and other data from a vehicle, even when wireless access is intermittent.

SUMMARY OF THE INVENTION

It is an objective of the present invention to provide a vehicle telemetric system, which would avoid or reduce the above mentioned drawbacks.

According to one aspect of the invention there is provided a vehicle telemetric system, comprising:

a central host connected to a communications network;

one or more gateways connected to the communications network, the communications network enabling the transfer of packet data between the gateways and the central host;

a vehicle interface unit (VIU) within a vehicle having access to sensors in the vehicle for collecting vehicle related data, the VIU having means for communication over a wireless link of any of said gateways when the vehicle is within a transmission range of one of said gateways;

the VIU further comprising means for aggregating and formatting the vehicle related data into a data point record (DPR) including a unique sequence number and a vehicle identification number;

the VIU having a memory for storing a list of DPRs, and a VIU means for forwarding the DPRs to the one of said gateways over the wireless link;

each gateway having another memory for storing the DPRs received from the VIU, and a gateway means for forwarding the DPRs to the central host; and

the central host having means for storing DPRs generated by the VIU and received from all gateways, and means for notifying each gateway regarding the sequence numbers and the vehicle identification numbers of the DPRs that have been already received at the central host.

Beneficially, the DPR is of a size designed to fit into the payload of a layer 3 (network layer) packet, which in turn fits into a single packet of the wireless layer 2 (data link layer) protocol used for communicating over the wireless link. Advantageously, the wireless link is a short range wireless link, the layer 2 protocol used for communicating over the wireless link is the 802.11b protocol, and the layer 3 protocol used for communicating between the VIU and the gateway is the Internet Protocol (IP). Conveniently, the size of each DPR transmitted in accordance with the 802.11b protocol is limited to approximately 1024 bytes.

In the vehicle telemetric system, the VIU means for forwarding comprises means for forwarding selected DPRs as instructed by the one of said gateways, preferably in reverse order, starting with the most recently aggregated DPR.

The means in the VIU for communication over the wireless link comprises announcement means for generating an announcement packet, including the sequence number of the most recent DPR, and a counter identifying how many DPRs are available to be forwarded to the one of said gateways. The announcement means comprises timing means for repeatedly transmitting said announcement packet at a time interval as long as the wireless link is activated. Conveniently, the timing means comprises means for changing the time interval to a longer time interval after a predetermined number of announcement packets have been sent.

In the described vehicle telemetric system, the DPR includes the following fields:

a header comprising a VIU serial number,

a data length fields indicating the amount of vehicle related data aggregated in the DPR; and

a data field, including a number of data points, each data point including an encoded data and a time offset at which the encoded data was collected from the vehicle.

The central host of the vehicle telemetric system comprises means for identifying gaps in continuity in the sequence numbers of the received DPRs (the missing DPRs) and informing the gateways of the gaps, and the gateways comprise means for requesting the missing DPRs from the VIU when the vehicle is within the respective transmission range.

In the vehicle telemetric system as described above, the VIU means for forwarding comprises a means for forwarding a first set of the DPRs to the one of said gateways over the wireless link when the wireless link is activated, and for forwarding a second set of the DPRs to another of said gateways over another wireless link when the another wireless link is activated, so that the first and second sets of DPRs form the complete said list of DPRs.

According to another aspect of the invention, there is provided a vehicle interface unit (VIU) for a vehicle telemetric system, comprising a central host connected to a communications network and one or more gateways connected to the communications network, which enables the transfer of packet data between the gateways and the central host, the VIU being located in a vehicle and having access to sensors in the vehicle for collecting vehicle related data, the VIU having means for communication over a wireless link with any of said gateways, the wireless link being activated when the vehicle is within a transmission range of the one of said gateways, and another wireless link being activated when the vehicle is within a transmission range of another one of said gateways;

the VIU further comprising a means for aggregating and formatting the vehicle related data into a list of data point records (DPRs), each DPR including a unique sequence number and a vehicle identification number;

the VIU having a memory for storing the DPRs, and a VIU means for forwarding a first set of the DPRs to the one of said gateways over the wireless link when the wireless link is activated, and for forwarding a second set of the DPRs to said another of said gateways over the another wireless link when the another wireless link is activated, so that the first and second sets of DPRs form the complete said list of DPRs.

In the VIU described above, the DPR is of a size designed to fit into the payload of a layer 3 (network layer) packet, which in turn fits into a single packet of the wireless layer 2 (data link layer) protocol used for communicating over the wireless link, e.g. the layer 2 protocol used for communicating over the wireless link being the 802.11b protocol, and the layer 3 protocol used for communicating between the VIU and the gateway being the Internet Protocol (IP).

According to yet another aspect of the invention there is provided an access system for use in a vehicle telemetric system, the telemetric system comprising a central host connected to a communications network, the access system comprising:

one or more vehicle interface units (VIUs) and a gateway, the gateway being connected to the communications network,

each VIU being located in a different vehicle and having access to sensors in the vehicle for collecting vehicle related data, each VIU having means for communication over a wireless link with the gateway, the wireless link being activated when the vehicle is within a transmission range of the gateway;

the VIU further comprising a means for aggregating and formatting the vehicle related data into a data point record (DPR) including a unique sequence number and a vehicle identification number;

each VIU having a memory for storing the DPRs in a list, and a VIU means for forwarding the DPRs to the gateway over the wireless link;

the gateway having another memory for storing the DPRs received from the VIU and a gateway means for forwarding the DPRs to the central host; and

the gateway having means for requesting missing DPRs from each VIU, where the missing DPRs are those that have not been received by the central host.

In the access system described above, the VIU means for forwarding comprises a means for forwarding a first set of the DPRs to the gateway over the wireless link when the wireless link is activated, and for forwarding a second set of the DPRs to the gateway over the wireless link when the wireless link is activated at another time, so that the first and second sets of DPRs form the complete said list of DPRs.

According to one more aspect of the invention there is provided a method for monitoring a vehicle's performance in a vehicle telemetric system comprising a central host connected to a communications network, one or more gateways connected to the communications network, each gateway having a wireless transmission range, a vehicle interface unit (VIU) within a vehicle having access to sensors in the vehicle for collecting vehicle related data, the VIU having means for wireless communication with any of said gateways, the method comprising the steps of:

(a) in the VIU, collecting, aggregating and formatting the vehicle related data into data point records (DPR), each DPR including a unique sequence number and a vehicle identification number, and storing the DPRs as a list in a VIU memory;

(b) determining if the VIU is within the wireless transmission range of one of the gateways;

(c) forwarding a set of the DPRs from the VIU to the one of said gateways over a wireless link;

(d) forwarding some or all of the set of the DPRs received by the one of said gateways from the one of said gateways to the central host over the communications network; and

(e) notifying each gateway by the central host regarding the sequence numbers and the vehicle identification numbers of the DPRs that have been already received at the central host.

In the method described above, the step (a) comprises formatting the vehicle related data into the DPRs, each DPR being of a size designed to fit into the payload of a layer 3 (network layer) packet, which in turn fits into a single packet of the wireless layer 2 (data link layer) protocol used for communicating over the wireless link. Beneficially, the step (c) comprises forwarding selected DPRs as instructed by the one of said gateways, e.g. in reverse order, starting with the most recently aggregated DPR.

Advantageously, the method further comprises the step of generating an announcement packet by the VIU and sending it to the one of said gateways, the announcement packet including the sequence number of the most recent DPR, and a counter identifying how many DPRs are available to be forwarded to the one of said gateways, the step being performed before the step (c). Beneficially, the step of generating the announcement packet comprises generating the announcement packet repeatedly at a time interval as long as the wireless link is activated. Conveniently, the step of generating the announcement packet repeatedly comprises changing the time interval to a longer time interval after a predetermined number of announcement packets have been sent.

In the method described above, the step (e) comprises the step of identifying gaps in continuity in the sequence numbers of the received DPRs (the missing DPRs) and informing the gateways of the gaps, and the step (c) comprises requesting the missing DPRs from the VIU when the vehicle is within the respective transmission range.

Advantageously, the step (c) of the method comprises forwarding a first set of the DPRs to the one of said gateways over the wireless link when the wireless link is activated, and for forwarding a second set of the DPRs to another of said gateways over another wireless link when the another wireless link is activated, so that the first and second sets of DPRs form the complete said list of DPRs.

Conveniently, the step (d) comprises changing the format of the DPRs received by the one of said gateways before the DPRs are forwarded to the central host over the communications network, e.g. from a binary representation of the DPR to an ASCII representation.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

FIG. 1shows the architecture of a vehicle telemetric system10, including a central host12; a first gateway14; a second gateway16; and a vehicle18. The second gateway16is similar to the first gateway14. The gateways14and16are connected with the central host12over a wide area network (WAN)20. The coverage area of a first Wireless Local Area Network (WLAN)22exists around the first gateway14. Similarly, the coverage area of a second WLAN24exists around the second gateway16.

The vehicle18is shown inside the coverage area of the first WLAN22, and thus within reach of the first gateway14.

The vehicle telemetric system10may include additional gateways (not shown) having additional coverage areas of additional WLANs (not shown), and includes additional vehicles (not shown).

At some other time (not shown) the vehicle18is inside the coverage area of the second WLAN24, and thus within reach of the second gateway16.

At yet another time (not shown), the vehicle18may be outside the coverage area of the WLANs22and24, and also outside the coverage area of the any other WLAN of the vehicle telemetric system10. In this case the vehicle is not within reach of any gateway.

The vehicle18includes a Vehicle Interface Unit (VIU)32comprising a VIU computer (CPU)26having a flash memory (FM)27and a wireless modem (WM)28(VIU means for forwarding data wirelessly). The vehicle18further includes a vehicle bus (e.g. OBD-II)30. The VIU computer26is connected to the wireless modem28, and to the vehicle bus30.

The first gateway14includes a wireless access point (WAP)34, a gateway computer36(gateway means for forwarding data), and a gateway storage38. The gateway storage38is preferably implemented as permanent storage on a hard disk. The gateway computer36is connected to the wireless access point (WAP)34and the gateway storage38.

Similarly, the second gateway16and any additional gateways (not shown) each include a WAP and a gateway computer with data storage.

When (as shown inFIG. 1) the vehicle18is within reach of the first gateway14, a Wireless Fidelity (WiFi) link40may be established between the VIU computer26in the vehicle18and the gateway computer36in the gateway14, by way of the wireless modem28and the WAP34.

The combination of the VIU32and the gateway14, may be termed an access system for collecting data from the vehicle and uploading the data to the central host12when the VIU32is in wireless communication with the gateway14.

In the preferred embodiment, the WLANs22,24, and the additional WLANs, of the vehicle telemetric system10operate according to the IEEE 802.11b wireless LAN standard, and accordingly the wireless modem28of the vehicle18, and the WAPs of all gateways, including the WAP34of the gateway14, follow the same standard.

A central connection42may be established between central host12, and the gateway computer36in the gateway14, by way of the WAN20. The establishment of the central connection42from time to time is automatic, according to the state of the art. For the purposes of this description, the central connection42is assumed to exist whenever it is needed. In the preferred embodiment, the WAN20is the Internet.

General Operation of the Vehicle Telemetric System

The operation of the vehicle telemetric system10will first be described in general terms, with the aid ofFIGS. 2 and 3, from the perspective of the single vehicle18.

In this description, the term “the gateway” will refer to the first gateway14, unless the second gateway16or other additional gateways are specifically referred to.

The VIU32in the vehicle18, whether within wireless transmission range of a gateway or not, is programmed to periodically collect vehicle data from the vehicle bus30, and store the data in the flash memory27of the CPU26. The data is aggregated in the form of a list of Data Point Records (DPR).

FIG. 2illustrates the format of a Data Point Record (DPR)200, which is a hierarchical structure comprised of a Type2RecordInfo field202and a Data field204, the Data field204including a number of Data Points206and a padding area208.

The Type2RecordInfo field202itself is divided into two fields, a RecordInfo field210and a DataLength field212.

The Data field204has a fixed length of 987 octets, and is used to hold a variable number of DataPoint fields206. Each DataPoint field206comprises three fields: a VidNumber field226; a TimeOffset field228; and an EncodedData field230having a fixed length of 24 octets.

The overall length of the DPR200is 1024 octets and has been chosen so that it can be conveniently and efficiently transported in the payload of a standard layer 3 (network layer) packet (IP packet), carried in the payload of a single layer 2 (data link layer) packet of the wireless protocol (wireless Ethernet).

The meaning and usage of the fields of the DPR200are as follows. As vehicle information that is monitored by the VIU32, it is stored as consecutively numbered data point records (DPR)200in the flash memory27of the CPU26.

The RecordInfo field210of the Type2RecordInfo field202contains information that is specific to the VIU and common to the Data Points206that are contained in the Data field204. The DataLength field212of the Type2RecordInfo field202indicates the number of octets actually used for Data Points206in the Data field204. The DataLength field212may be set to 0 if the first octet following the last octet of the last DataPoint206is set to NULL. The first and last Data Points206in the Data field204are also referenced as232and234respectively.

The individual fields214–224of the RecordInfo field210indicate the following. The ViuSN field214contains the serial number of the VIU32that generated the Data Point Record200. It is stored as a NULL terminated ASCII string.

The SeqNum field216contains the sequence number of the Data Point Record200. The sequence numbers are assigned by the VIU32when the Data Point Record200is created.

The numbering of the DPRs200(in the SeqNum field216of the RecordInfo field210of the DPR200) proceeds as follows: When the VIU32is activated (or commissioned), the date and time of the real-time clock of the CPU26is used as the ‘seed’ for the record number. The sequence number always increments by one, unless the VIU32is re-commissioned. In that case, the real-time clock is used again to seed the record number. The rate at which records are created on a VIU in-use on a vehicle can never surpass the rate at which the real-time clock (seed as required) increases. This guarantees that sequence numbers will always increase no matter which situation is encountered, although a gap may occur.

Each data item is stored as a Data Point206in the Data field204of the DPR200, and is time-stamped. The time stamp of the first data item to be stored in the DPR200(the first Data Point232) is stored in the TimeStart field218of the RecordInfo field210. If the start time is unknown then this field is set to 0 (zero). The TimeOffset field228of each DataPoint206contains an offset value from the TimeStart field218.

The TimeStop field220contains the time stamp of the last Data Point234, i.e. the summed values of the TimeStart field218and the TimeOffset field228of the last Data Point234, in the Data Point Record200.

The ConfigSeqNum field222contains the sequence number of the configuration information that generated this Data Point Record. The configuration information is a profile controlling the data collection in the vehicle.

The VidDefVersion field224contains the version number of the VVI Definitions which the data in this Data Point Record comply with. The abbreviation “VVI” stands for “VRM Value Information”, where “VRM” stands for “Vehicle Relationship Management”. A VVI definition comprises a list of information types, see VidNumber226below.

These last two fields (222and224) are mentioned here only for completeness. They are related to software version control, and do not have a direct bearing on the present invention?

The VidNumber field226of each Data Point206describes what type of data is stored in the EncodedData field230of this Data Point. The value of the VidNumber field226identifies one information type from list of types provided in the current VVI Definition. The VidNumber field226also indirectly provides the length of the EncodedData field230.

The following Table 1 is an exemplary partial list of VVI definitions for a typical vehicle, showing VidNumbers, their corresponding data types, and their encoded data length in octets.

The TimeOffset field228of the Data Point206holds a time offset for this Data Point, that is the difference between the time when this particular Data Point was recorded and the time when the first Data Point232of the DPR200was recorded. The first Data Point232is always of type “Time Stamp” and the TimeOffset field228of the first Data Point232is always set to zero.

The EncodedData field230of the Data Point206is an array of up to 24 octets to hold the actual data collected from the vehicle bus30, or other data such as time stamp data. The number of octets of data stored in this field is determined by the VidNumber field226, and the by the VVI Version (VidDefVersion field224) used to encode the DPR200that contains this Data Point.

Each DPR200can and usually does contain multiple data items (e.g. vehicle speed, engine coolant temperature, etc). Some vehicle information is stored only if the change in the parameter exceeds some delta value (e.g. if the speed of the vehicle changes by more than 2 km/h). This is done to conserve the limited memory resources of the flash memory27on the VIU32. Data Point records are never explicitly deleted from the flash memory27on the VIU32. The flash memory27is used like a circular buffer; eventually new data point records will wrap around and overwrite old ones. The flash memory27is large enough to hold data (DPRs) collected over several weeks.

Finally, the padding area208simply contains the unused octets in the fixed size DPR200.

A main purpose of the vehicle telemetric system10is to reliably and efficiently convey the DPRs from the VIU32in the vehicle18to the central host12.

FIG. 3shows a flow chart300of the operation of the vehicle telemetric system10, comprising a START302; two decisions304and306; three groupings of steps308,310, and312; and a final step314.

It should be noted that the description is focused on the events relating to a single vehicle (vehicle18). The vehicle telemetric system10is designed to operate with many vehicles simultaneously. As such the tasks of the computers in the vehicles, the gateways, and the central host are executed concurrently, and may be queued for processing while waiting to be scheduled for processing, as is common in distributed computer systems of the current art.

In other words, the steps of the flow chart300describe the logical sequence of the operations related to the conveying of data from a single vehicle (the vehicle18) to the central host12. Furthermore, the description is simplified to provide an overview.

The decisions304and306summarize the condition of the relationship between the VIU32and the gateways of the vehicle telemetric system10with respect to their ability to communicate wirelessly. Generally, the VIU32may be within the wireless range of one gateway, or none. The decisions304and306may be considered to occur simultaneously and instantaneously.

The decision304directs the flow chart to the first grouping of steps308if the vehicle18is inside the coverage area of the first WLAN22(YES exit from the decision304). If the vehicle18is not inside the coverage area of the first WLAN22(NO exit from the decision304), but is within the coverage area of the second WLAN24(YES exit from the decision306), then the flow chart is directed to the second grouping of steps310. If the vehicle18is not inside the coverage areas of neither the first WLAN22nor the second WLAN24(NO exit from the decision306), then the flow chart is directed to the third grouping of steps312.

The first grouping of steps308includes steps that are carried out when the vehicle18is inside the coverage area of the first WLAN22, and thus within reach of the first gateway14, corresponding to the system configuration shown inFIG. 1. The first grouping of steps308includes the following steps:Step320“Establish Connection between Vehicle18and Gateway14”;Step322“Vehicle18sends Data to Gateway14”;Step324“Gateway14sends Data to Central Host12”.

In analogous fashion, the second grouping of steps310includes steps that are carried out when the vehicle18is inside the coverage area of the second WLAN24, and thus within reach of the second gateway16. The second grouping of steps310includes the following steps:Step330“Establish Connection between Vehicle18and Gateway16”;Step332“Vehicle18sends Data to Gateway16”;Step334“Gateway16sends Data to Central Host12”.

It is noted that the second grouping of steps310differs from the first grouping of steps308only in the identity of the gateway.

The third grouping of steps312includes steps (not shown in detail) that are carried out when the vehicle18is inside the coverage area of another WLAN, which is neither the first nor the second WLAN (22and24). The third grouping of steps312also includes the case when the vehicle18is outside the coverage area of any of the WLANs of the vehicle telemetric system10.

The vehicle telemetric system10may comprise additional gateways, in addition to the two gateways14and16. In this case the third grouping of steps312includes additional decisions (analogous to the decision304) and additional groupings of steps (analogous to the groupings308and310), one such grouping for each additional gateway in the vehicle telemetric system10.

Finally, the flow chart300includes the step314“Central Host12updates selected Gateways”. This step follows the steps324and334in the first and second groupings (308and310) respectively. In the case where the vehicle telemetric system10comprises additional gateways (lumped together in the third grouping312), the step314also follows the analogous steps (that is analogous to step324) in the third grouping312.

In operation, the vehicle18moves, from time to time, into and out of the wireless transmission range of any of the gateways of the vehicle telemetric system10.

After the START302, the decisions304and306determine whether the vehicle18is within reach of the first gateway14, the second gateway16, or neither of these gateways.

When the vehicle18moves into the range of the first gateway14(“YES” branch of decision304), the steps320–324of the first grouping are executed.

In the step320“Establish Connection between Vehicle18and Gateway14”, the wireless modem28in vehicle18is recognized by the WAP34in the first gateway14, thus establishing the WiFi link40to enable the transmission of data from the VIU computer26in the vehicle18to the gateway computer36in the gateway14.

In the step322“Vehicle18sends Data to Gateway14”, selected data is forwarded from the VIU computer26in the vehicle18, to the gateway storage38via the gateway computer36in the first gateway14, over the WiFi link40.

In the step324“Gateway14forwards Data to Central Host12”, the selected data is forwarded from the gateway storage38through the gateway computer36in the first gateway14, to the central host12, over the central connection42.

Following the step324, in the step314“Central Host12updates all pertinent Gateways”, the gateway computer36in the first gateway14, as well as the gateway computers in all pertinent other gateways of the vehicle telemetric system10are updated by messages from the central host12, transmitted over the WAN20.

The words “selected” and “pertinent” were used in the description of the steps320–324. This will be clarified now.

The vehicle telemetric system10is capable of serving a large number of vehicles and may contain a large number of gateways. The vehicles may be grouped into fleets according to owners, or other criteria. The gateways may be distributed over a large territory, and not every gateway is necessarily enabled to serve every vehicle or vehicle fleet. Thus, a “pertinent” gateway with respect to a specific vehicle (vehicle18in the example) is a gateway that is enabled to serve the specific vehicle.

The VIU in a vehicle (e.g. the VIU32in the vehicle18), whether within wireless transmission range of a gateway or not, is programmed to periodically collect vehicle data in the form of data point records (DPR)200.

Thus a VIU, while it is not within range of a (pertinent) gateway, stores the collected DPRs in its on-board computer. Once a vehicle enters the range of a pertinent gateway and has established communication with it (step320), the VIU in the vehicle transmits “selected” data in the form of DPRs to the gateway, where “selected” means only those DPRs which are not known to have already been received by the central host12.

Once the selected DPRs are forwarded by the gateway to the central host, the central host updates all pertinent gateways. Thus all (pertinent) gateways are given information that indicates which DPRs from the specific VIU (i.e. vehicle) have already been received by the central host.

Further Details of the Operation of the Vehicle Telemetric System

FIG. 4shows a subset400of the vehicle telemetric system10, including the central host12, the single gateway14, and the VIU32. Illustrated inFIG. 4are further; components of the central host12; components of the gateway14, that is the wireless access point (WAP)34, the gateway computer36, and the gateway storage38; and components of the gateway computer36.

The gateway computer36is expanded to show major components, namely a “Southward Looking Module” (SLM)402comprising an SLM Message Agent403; a Dynamic Host Configuration Protocol (DHCP) server404; a Gateway Message Agent406; a processing queue407; a Gateway Web Server408; and a Gateway Database410. The Gateway Database may for example be implemented using a commercial database product such as the Access Database product from Microsoft Corporation.

The central host12is expanded to show major components, namely a Central Host Web Server412; a Central Host Message Agent414; a Central Host Applications416; an Central Database418; and a central storage420. The central storage420is preferably implemented as permanent storage on a hard disk. The Central Database418is preferably implemented as a Relational DataBase Management System (RDBMS), for example an Oracle Database.

FIG. 5is a more detailed description of the step320of the flow chart300, referencing the components shown in the subset400of the vehicle telemetric system10shown inFIG. 4, including steps designed to ensure efficient and reliable communication, in accordance with the preferred embodiment.

As shown inFIG. 5, the step320(FIG. 3) comprises a step502“Wireless Handshake”, and a step504“Get IP Address”.

A wireless handshake takes place over the WiFi link40, between the VIU32(in the vehicle18) and the WAP34(in the gateway14) according to the standard IEEE 802.11b protocols.

When coming within reach of the WAP34, the VIU32confirms the validity of the WAP34to establish 802.11b connectivity over the WiFi link40. The VIU—WAP connection is dependent upon both units having the same SSID (Service Set Identifier) and WEP (Wired Equivalent Privacy) keys. These keys are defined in the 802.11b communication protocol. The channel of communication of the WAP (i.e. channel1through11) is determined by the user, as a configuration item. The VIU will automatically scan channels1through11in order to find the appropriate WAP, which is configured with the correct WEP and SSID. The VIU32transmits the WEP and SSID keys to the WAP34, however, it is the WAP34that decides if it will permit the VIU32to communicate with the gateway CPU36.

Once (and if) WiFi connectivity achieved in the step502, the VIU32obtains a local Internet Protocol (IP) address in a standard fashion from the DHCP server406that runs in the gateway CPU36. This local IP address is only valid on the subnet which is the WLAN22, and which includes the VIU32and the gateway14(seeFIG. 1). In the preferred embodiment, the DHCP server406provides the DHCP functionality. Alternative embodiments may use a DHCP server located in the WAP34or elsewhere in the vehicle telemetric system10, or statically provision an IP address for the VIU32. However, the use of static IP addressing (manually assigned), is not preferred because it would place a restriction on the number of vehicles (VIUs) that can be active in the vehicle telemetric system10.

FIG. 6is a more detailed description of the step322of the flow chart300, again referencing the components shown in the subset400of the vehicle telemetric system10shown inFIG. 4, and including steps designed to ensure efficient and reliable communication, in accordance with the preferred embodiment.

As shown inFIG. 6, the step322(FIG. 3) comprises a step602“VIU Repeat Announcement Fast”; a step604“VIU Repeat Announcement Slow”; a step606“Gateway receives announcement”; a step608“gateway synchronizes”; and a step610“gateway collects data”.

The steps602and604are based on an announcement packet (a VIU Announce Packet700), the format of which is illustrated inFIG. 7.

The “VIU Announce Packet”700includes a protocol headers field702, and a VIUInformation record704. The protocol headers field702includes standard protocol headers for 802.11b and IP. The VIUInformation record704includes the following fields:

706 “ViuSN”:the serial number of the VIU for which the data in this structureapplies to.708 “HardwareVersion”:a string describing the version of the VIU hardware.710 “SoftwareVersion”:a string describing the current version of the VIU software (orfirmware).712 “Vin”:the VIN number of the vehicle. This field is filled in if the VIU isable to read the VIN directly from the vehicle.714 “VehicleName”:the assigned name of the vehicle on which this VIU is installed.This field may be empty.716 “GroupName”:the name of the group that the node belongs to. This field may beempty.718 “CompanyName”:the name of the company that this node belongs to. This field maybe empty.720 “AssignedIP”:if the VIU has been assigned a specific IP number, this field shouldbe set to “TRUE”. Otherwise the VIU obtains its IP number fromDHCP (see step 504) and this field is set to “FALSE”.722 “IPCurrent”:the current IP number of the node.724 “SeqNumCurrent”:the record sequence number of the most current record (DPR)stored by the VIU.726 “SeqNumCount”:the number of records currently stored by the VIU.
Step602“VIU Repeat Announcement Fast”

In the step602“VIU Repeat Announcement Fast”, the VIU32transmits, using the standard IP multicast with an address selected in the range of 239.255.0.0 to 239.255.255.255, the VIU Announce Packet700twenty times rapidly, that is at the rate of one VIU Announce Packet700per second.

After a period of 20 seconds (this period of the step602“VIU Repeat Announcement Fast” is also referred to as the Fast-Announce-Interval or FAI) has elapsed, and assuming that the VIU32is still in range of the WAP34, the step604is performed. In the step604“VIU Repeat Announcement Slow”, the VIU32continues to transmit the VIU Announce Packet700more slowly, at the rate of one VIU Announce Packet700every 10 seconds.

The period of the step604“VIU Repeat Announcement Slow” is also referred to as the ‘Slow Announce Interval’ (SAI). The SAI is required to prevent wireless network traffic congestion in the WAP34, in a scenario when many vehicles are within range, for example in a large parking lot. In effect, communication priority is given to the vehicles that have just arrived in range of the WAP34and are trying to initiate communication.

The repeated transmission of VIU Announce Packets700(steps602and604) continues as long as the valid 802.11b connectivity over the WiFi link40and the WAP34exists. The VIU32thus continues to try to announce itself to the SLM402(which runs on the CPU36of the gateway14) until the gateway14receives the announcement (step606) and synchronizes (step608).

The VIU (32)-to-SLM (402) communication is via a stateless communication mechanism. The VIU32has no knowledge of what information the SLM402or the Central Host12has locally. During the steps602and604(“VIU Repeat Announcement Fast” and “VIU Repeat Announcement Slow” respectively), data is being continuously gathered from the vehicle18and stored in the flash memory27of the CPU26of the VIU32, at a rate commensurate with the condition of the vehicle, typically one Data Point Record200every 3 to 7 minutes when the engine of the vehicle is running, and a Data Point Record200every few hours when the engine is turned off. The content of the VIU Announce Packet700(reflecting the sequence number of the most current record in the “SeqNumCurrent” field724) may remain unchanged over the duration of the FAI. But its content can also vary, if the number of data point records stored within the VIU increases in the time interval between announcements.

The step606“Gateway receives announcement” may occur during the FAI (step602) or the SAI (step604), when the SLM402of the gateway14successfully receives a VIU Announce Packet700, via the WiFi 802.11b link40and the WAP34.

In the next step (step608“gateway synchronizes”), the SLM402examines the received VIU Announce Packet700to determine if it should communicate (synchronize) with the VIU32. If the VIU Announce Packet700is “uninteresting”, the SLM402ignores it, and nothing further happens at the SLM402although the VIU32continues to send VIU Announce Packets700. The SLM402will synchronize with the VIU32if it implicitly knows about the VIU32, that is if the VIU serial number (ViuSN field706of the received VIU Announce Packet700) is recognized to belong to a given company ‘A’, and is not an unidentified serial number belonging to company ‘B’ or ‘C’, and if it can determine that data needs to be uploaded from the VIU32.

As mentioned earlier, a purpose of the vehicle telemetric system10is to reliably and efficiently convey the DPRs200(containing the data collected from the vehicle18) from the VIU32in the vehicle18to the central host12. The efficiency of this operation is enhanced if each DPR200is not unnecessarily transmitted more than once, while reliability is enhanced if each DPR200is transmitted at least once. If, on occasion, duplicate DPRs are received in the central host12(duplicates are identifiable through the RecordInfo field210of the DPR) they are easily discarded.

The SLM402internally maintains a list of the sequence numbers of Data Point Records200that have been uploaded to it from each individual VIU. The SLM32can thus compare its internal data with the information supplied in the IP multicast VIU Announce Packet700(that is the “SeqNumCurrent”724and the “SeqNumCount”726) to determine if the VIU has new data to upload.

If the VIU32has no new data, then the SLM402will not attempt to communicate (synchronize) with the VIU (reducing WiFi traffic and conserving bandwidth).

If the SLM402determines that the VIU32does have new data, then the SLM402adds the VIU's serial number (from the ViuSN field706of the VIU Announce Packet700) to the processing queue407in the gateway computer36.

In either case (whether or not the VIU32has new data), the VIU32continues to send “VIU Announce Packets”700which may indicate that new information is available, even after the first VIU Announce Packet700was received by the SLM402(start of the step606). In this way, the availability of new information from the VIU32can be recognized by the SLM402as long as the WiFi 802.11b link40between the VIU32and the SLM402is working.

Since it is possible that more than one vehicle having a VIU is within the range of the single gateway14, message collection in the SLM Message Agent403of the gateway computer36is multitasked, enabling multiple VIUs to be serviced simultaneously.

In step610“gateway collects data” (FIG. 6), the SLM Message Agent403(FIG. 4) extracts the VIU's serial number from the processing queue407.

The SLM Message Agent403then services the VIU32, using the standard HyperText Transfer Protocol (HTTP) to request and upload ‘new’ DPRs200from the VIU32to the SLM402. The SLM402uploads the DPRs200from the VIU32in the binary data format described inFIG. 2.

In order to maximize the amount of data that can be uploaded wirelessly from the VIU32to the Gateway14(through the SLM402), using an unpredictable or short duration wireless connection, the following methodology was devised. In the limiting case for a short-duration WiFi connection (connection40), only a single frame of data would be transmitted successfully across the wireless link. If the basic ‘packet’ of data, the DPR200, was spread over several 802.11b transmission frames, the receiving end (i.e. the SLM402in the Gateway14) would then be unable to reassemble the DPR, since only one frame of data was received. The entire DPR200would have to be retransmitted when the link was re-established. In order to achieve maximum throughput under poor or intermittent WiFi link conditions, the DPR was chosen in size to fit within a single 802.11b data transmission frame. Thus even if only a single WiFi data frame (containing a DPR200) was successfully received by the SLM402, it will contain an entire data entity, i.e. the DPR200, which contains a complete encapsulated set of data points206from the VIU32. All communication messages (i.e. the “VIU Announce Packet”700, and DPRs200) taking place between the VIU32and the Gateway14, have been defined to fit within one wireless 802.11b transmission frame.

The SLM402keeps the received DPRs200on local storage (the gateway storage38) until instructed by the Central Host12(via the gateway message agent) to delete them, see the further description of the step314below.

Using the information from the “VIU Announce Packet”700, the SLM Message Agent403identifies new records (DPRs) that are available in the VIU32, and using the standard HTTP protocol, collects these from the VIU32(SLM402sends an HTTP “Get” message, the VIU32sends data in the form of DPRs200). The SLM402stores the new DPRs200on the gateway storage38. Note: the gateway storage38is expected to “always” have space, since old records are deleted (see step314).

The SLM402notifies the gateway web server application408that new VIU data records are available. This notification is performed indirectly using an HTTP “Get” message to pro-form a request a pre-defined web page. The VIU's serial number is supplied to the request as a parameter.

The gateway web server determines if the notification request is related to an active VIU that will need servicing. The last notification for each VIU is stored in the Gateway Database410on the gateway computer36, regardless of whether the VIU should be serviced or not. This Gateway Database contains a log of all VIUs that have tried to talk to the gateway14. It also contains data about all VIUs that it should know about, including status information such as if the VIU been activated (commissioned) for use in a vehicle.

The Gateway Database410also maintains a state field regarding all VIUs that have been assigned (by the Central Host12) to this gateway14. If the state field indicates “activeVIU=TRUE” for the given VIU32, this allows the gateway14to determine whether the newly collected data from the VIU32are of interest to the Central Host12. If the field indicates “activeVIU=FALSE” then the data is still held in the gateway storage38, until such time, possibly later, when the Central Host12informs the gateway14that the given VIU32is now active.

FIG. 8is a more detailed description of the step324“Gateway14sends Data to Central Host12” of the flow chart300, again referencing the components shown in the subset400of the vehicle telemetric system10shown inFIG. 4, including steps designed to ensure efficient and reliable communication, in accordance with the preferred embodiment.

As shown inFIG. 8, the step324(FIG. 3) comprises a step802“Gateway Notifies Central Host”; a step804“Gateway Uploads Data”; a step806“Central Host Receives Data”

In step802, the gateway14(through the Gateway Message Agent404) sends a registration request to the Central Host12(specifically the Central Host Web Server412) using a service of the standard eXtensible Markup Language (XML) over HTTP, indicating that the given VIU32has data available for transfer. The Central Host12verifies the registration request (i.e. checks to see if it needs data from the VIU32) and (through the Central Host Message Agent414) requests the Gateway Web Server408in the gateway CPU36to upload all required data that it doesn't already have (i.e. new DPRs200).

In step804, the Gateway Web Server408requests the specified DPRs200from the SLM402. The SLM402retrieves the specified DPRs200from the gateway storage38, and converts the binary data into an equivalent American Standard Code for Information Interchange (ASCII) data string, to facilitate insertion into an XML document. The ASCII data string is required because ASCII is the reference character set for XML content. The Gateway Web Server application408is based upon standard XML web services.

In step806, after receiving the registration request from the gateway14(step802above), the Central Host12receives the uploaded data (i.e. the new DPRs200, see step802above). The DPRs uploaded to the Central Host12are stored in the Central Storage420under control of the Central Database.

The Central Host12keeps track of all DPRs uploaded, and all DPRs can be traced back to the originating VIU and the Gateway from which they were uploaded. In the event that a duplicate DPR is detected, it is discarded.

Further Description of the Step314“Central Host12Updates Selected Gateways”

After receiving uploaded DPRs from the gateway14, the Central Host Message Agent414in the Central Host12sends a request (using the standard XML web services) to the Gateway Web Server408in the Gateway14to discard the uploaded DPRs. The Gateway Web Server408then passes this request to the SLM402to delete the DPRs from the gateway storage38.

If additional Gateways (such as the second gateway16inFIG. 1) are part of the vehicle telemetric system10, the Central Host12also informs all these other Gateways (via XML) that it has received specific DPRs from the given VIU32. This synchronizes the information on each of the Gateways, so that the SLMs of these gateways will not request and upload DPRs from the given VIU32, should the vehicle later come within the range of these other gateways. This avoids unnecessarily uploading DPRs that have already been transferred from the VIU32to the Central Host12.

Continuity of Information Flow Across Two Gateways

The Central Database418of the Central Host12(the RDBMS), holds a number of tables that are used in the operation of the vehicle telemetric system10, the table data being stored on the central storage420. Similarly, the Access Data Base410of the gateway14(and similarly every other gateway of the vehicle telemetric system10holds a number of tables, the table data being stored on the respective gateway storage38. Information in these tables is used to ensure that all DPRs200generated in each VIU reach the Central Host12, regardless of which Gateway (14, or other gateway of the telemetric system10) is used to forward the DPRs from the VIU to the Central Host12.

Two tables in the Central Host12are the following:a Central VIUS Table902, the record format of which is shown inFIG. 9a; anda Central Registry Table904, the record format of which is shown inFIG. 9b.

The diagrams ofFIGS. 9aand9bin each case illustrate the format of a single record, all fields being shown with their descriptive titles. Several fields contain information commonly used for the management of the data bases (e.g. indices such as “Record Id”), system management information (e.g. “Time Stamp”), or information of importance to other applications which may be running on the Central Host12.

Two tables in the Gateway14are the following:a Gateway ViuInfo Table906, the record format of which is shown inFIG. 9c; anda Gateway VIUS Table908, the record format of which is shown inFIG. 9d.

It is understood that the description of the Gateway tables not only applies to the Gateway14but also to all other gateways of the telemetric system10.

A further table, a DPR table (not shown) in the Central Host12contains all Data Point Records (DPRs) that are received from each VIU in the vehicle telemetric system10. The DPR table is a history of DPRs by VIU, for further processing outside the scope of the present invention.

Initialization

When the telemetric system10is set up to accommodate a specific VIU (e.g. the VIU32), the particulars of the VIU (i.e. Serial Number, VIU Type, Programmed Profile) and of the vehicle the VIU is installed in (i.e. VIN, license), are entered in the Central VIUS Table902of the Central Database418of the Central Host12. The other Fields of the Central VIUS Table902are set to defaults.

The Central Registry Table904is initially empty, and an entry (a record) is dynamically created each time a gateway reports a VIU.

A record in the Gateway VIUS Table908of every “pertinent” gateway (a gateway that is enabled to serve a specific VIU, see above) is initialized for every VIU in the telemetric system10, with the Serial Number of the VIU, and default information in the other fields.

The Gateway ViuInfo Table906is initially empty, and an entry (a record) is dynamically created when a VIU announces itself to the gateway (see “VIU Announce Packet”700above), provided the VIU is recognized or not in the Gateway (has an entry in the Gateway VIUS Table908).

Use Case

To further illustrate the invention, from another aspect, a Use Case1000is shown inFIG. 10.

In the use case1000, it is assumed that the telemetric system10has been set up and is running already. The VIU32comes within range of the gateway14, announces itself and transfers a number of records. The gateway14transfers these records to the central host12. Subsequently, the VIU32loses communication with the first gateway14, and communication with a second gateway (the second gateway16) is achieved a short time later.

The contents of a number of fields in the Central Host and Gateway tables are affected, and track the progress of the gathering of data from the VIU32, and transfer of the data to the central host12. The affected fields are located in the database records that are specific to the given VIU32:in the Central VIUS Table902, the field “Last Data Record Transferred”;in the Central Registry Table904, the fields “Record ID”, “Data Ready Rec ID”, “Data Ready Rec Count”, “Complete Rec ID”, “Complete Rec Count”, and “Entry State”;in the Gateway ViuInfo Table906, the fields “First Data Record ID” and “Record Count”; andin the Gateway VIUS Table908, the fields “Synched VIU Record” and “Synched Central Host Record”;

The time and time stamp fields also change according to the time of the events. The tracking of time and time stamps is not essential to the normal operation of data gathering, but is useful for diagnostics in abnormal situations, as well as for statistical and other purposes. The steps of the example use case1000correspond to the steps308and314and their sub steps above, but are described in a different aspect here to illustrate the efficiency and continuity of the information flow that is achieved through the use of the VIU-specific tables902–908when communication with the VIU in the vehicle is interrupted and subsequently regained.

“Stable State” is an assumed initial state where the Central Host12has received DPRs, up to the DPR #3000 (a DPR200, with the SeqNum field216containing the number 3000), where there are no outstanding DPRs, and where there is no recent Gateway activity. All Gateways are stable and updated, i.e. there are no pending DPRs or updates.

The Gateway ViuInfo Table906table keeps track of the last attempt by the VIU to notify the Gateway (see step608above). This information stays unchanged until the next notification.

The use case will follow the steps occurring when the vehicle (VIU32) comes within the range of the first gateway14. However, it is assumed that the vehicle was previously at the second Gateway16(seeFIG. 1), and the DPR #3000 had been received by the second gateway16.

There are no state changes at the Gateway or the Central Host yet.

The step1006“VIU announces to Gateway” corresponds to the steps602to606above.

In the step1006the VIU32sends a VIU Announce Packet700to the first gateway14, with the contents of the SeqNumCurrent field724set to “3004” and the SeqNumCount field726set to “4”.

In the step1008, the gateway collects DPRs from the VIU, starting with the most recent DPR. In this example, the wireless connection is disrupted after the first (most recent) DPR has been received. The gateway recognizes that the VIU had uploaded one record (#3004). The gateway ViuInfo table906is updated to reflect that a first set of DPRs is retrieved (one in this case), the first DPR in the set being DPR #3004 and the record count being a count of 1. The first gateway14will realize that previously collected data had no gaps. It will notice however that disk storage had received only one record not four as expected. Later on it will try to collect those missing records after the high priority latest records. From then on it will primarily rely on disk store for missing records rather than ViuInfo transient entry. It will eventually bring ViuInfo back to being in synch, when data is collected by this gateway.

In the step1010, the Gateway alerts the Central Host (corresponding to step802above), conveying information from the Gateway ViuInfo Table906(“First Data Record Id”=3004 and “Record Count”=1) to the Central Host.

The Gateway VIUS Table908is changed to reflect the fact that the Central Host has been “Synched” (Gateway to Central Host only):

At the Central Host, a new Registry Table (904) entry is created with the Record ID=“1002”, and the information received from the gateway is recorded (“Data Ready Rec ID”=3004 and “Data Ready Rec Count”=1).

In the step1012, the gateway receives a request for data from the Central Host. This request informs the gateway of the sequence number of the first DPR to be uploaded (DPR #3004), and the count (1). The Gateway VIUS Table908is updated accordingly but the Gateway ViuInfo Table906remains unchanged.

In the step1014, the Gateway sends the DPR #3004 to the Central Host (corresponding to step804above).

The Gateway ViuInfo Table906and the Gateway VIUS Table908remain unchanged. There will be updates going to “description” field for internal tracking of upload.

In the step1016, the Central Host receives the DPR #3004 (corresponding to step806above) and stores it in the DPR table for the VIU32. The Central Host VIUS Table902is updated to show the “Last Data Record Transferred”=3004 and the Central Host Registry Table904is updated to reflect that 1 record (#3004) has been completed.

In the step1018, the Central Host sends a message to all pertinent gateways including the first and second gateways14and16, in order to synchronize their records with the Central Host. This step corresponds to the step314above.

The Gateway ViuInfo Table906and the Gateway VIUS Table908of the first Gateway14will then have the following information.

However the second gateway16that had transferred data for DPR #3000 previously would now look like this:

The last entry (Synched Central Host Record) was updated in step1018to reflect the last record that the Central Host has received the DPR #3004, but the last set of DPRs actually forwarded by the second gateway16was one record, the DPR #3000.

This gateway state (showing their individual Synched VIU Records, and the common Synched Central Host Record) applies at all Gateways with respect to the given VIU32.

After the step1016is completed, the Central Host tables902and904contain the following information:

At this stage, the most recent DPR received by the Central Host12is DPR #3004, but the (older) DPRs #3001–3003 have not yet been received because the communication between the VIU32and the gateway14was interrupted before they could be uploaded from the VIU.

The VIU still retains all DPRs in its buffer. We assume here that the VIU32has not collected any new data in the mean time.

In the step1022, after having established the WiFi connection with the second gateway16, the VIU32sends a VIU Announce Packet700to the second gateway16, with the contents of the SeqNumCurrent field724set to “3004” and the SeqNumCount field726set to “4”. This step announces to the second gateway16that 4 DPRs are available, starting at count 3001.

The second gateway16will be aware of records successfully uploaded (#3000, #3004). It may collect only records #3001, #3002, #3003 from the VIU. As a result the second gateway16collects all records between the sequence number identified by the Synched VIU Record in its ViuInfo Table and the sequence number identified by the Synched Central Host Record in its ViuInfo Table, thus DPR #3001 to DPR #3003, constituting a second set of DPRs. These are collected in reverse order, DPR #3003 first, then DPR #3002, and lastly DPR #3001.

The second gateway16then updates its tables:

The step1024“Second Gateway sends missing DPRs to Central Host” is analogous to the steps1010to1016above.

The second gateway16registers the VIU32as being “data ready” to the Central Host12.

As a result, the Central host creates a new entry in the Central Host Registry Table904(Record ID=1003)

The Central Host12then runs a query on the DPR table for the VIU32and retrieves a list of “gaps” in the DPR table starting at DPR #3001. It passes this list to the second gateway16. Each “gap” is expressed as an entry containing three items: a list number; a first missing sequence number of the gap; and a last missing sequence number of the gap. In the present example the list of gaps is:

The last entry on this list is the first DPR sequence number past 3004 (one past the sequence number of the most recent DPR received by the Central Host).

The Central Host then instructs the second gateway16to collect the missing DPRs from the disk store and to forward them to the Central Host.

Meanwhile, the VIU32collects more data from the vehicle and creates another DPR (#3005), which is also forwarded through the gateway16to the Central Host12. If this event happens when Central Host (12) gets data it will be uploaded, if after the upload completes it will cause next notification with updated entry in ViuInfo table (receiving Gateway) and new entry in registration table on the Central Host (12).

After the Central Host receives the data and stores each DPR into the DPR table for the VIU32, it updates the Central Host VIUS Table902and the Central Host Registry Table904accordingly (as per case when VIU generated additional record #3005):

The Central Host Registry Table904entry “Completed Rec ID” and the Central Host Registry Table904entry “Completed Rec Count” are updated after each successful insert into DPR table. This is indicated by the successive “->” symbols above.

Finally, in the step1026the Central Host resyncs all Gateways again, resulting in the following content of the relevant VIU tables in all gateways:

The fact that all DPRs, up to #3005 have been received by the Central Host, is now reflected in the equal values of the “Synched VIU Record” fields (=3005) and the “Synched Central Host Record” fields (=3005) at all gateways.

In case the VIU re-synchronizes with the same gateway, i.e. the first gateway14in this example, the gateway will obtain only the missing records, that is those before DPR #3004. This happens typically when there is a new record generated by the VIU while the transmission is in progress and a fresh notification (VIU Announce Packet) is sent.

Conclusion

The vehicle telemetric system10thus provides a reliable and efficient method for collecting vehicle data over wireless LANs through a number of gateways, and into a central host, while taking into account the possibility of unreliable or intermittent communication.

Factors contributing to efficient use of distributed, non-contiguous WiFi Hotspots (WLANs) for VIU to Gateway to Central Host data extraction and communication are as follows:the Gateway keeps a record of all numerically sequenced DPRs that it has uploaded from a given VIU. It will only upload a given DPR from a given VIU once, even if the VIU connects with the Gateway at different times and the VIU still contains the same DPRs;the Gateway can upload as little as one DPR or as many DPRs as required (i.e. new DPRs that it has not yet uploaded) from a given VIU, as long as the WiFi link is maintained. The DPRs can be uploaded at a single Gateway or at multiple Gateways, depending on the travel of the vehicle (VIU), the distribution of Gateways and the time that the vehicle spends in the WiFi hotspot associated with each Gateway;the Central Host synchronizes all Gateways after it uploads the needed DPRs from a given VIU (via a given Gateway). If a VIU enters the WiFi hotspot at a different Gateway following synchronization, the Gateway will not request the same data again;in the event that the communication link between a given Gateway and Central Host is disabled temporarily, data from a VIU can still be uploaded to the Gateway at the afflicted gateway site. Only new data (i.e. DPRs) that the Gateway has not seen yet will only be uploaded to the Gateway. This is a type of intelligent store and forward approach. The Gateway will upload the data to the Central Host, after the communication link has been restored, if the Central Host requires part or all of the VIU's data. This store and forward approach from the Gateway to Central Host is also employed for remote sites, where dial-up modems may be employed and a constant connection between the two is not possible. Timed dial-ups would be used in this situation;when a VIU enters a WiFi hotspot at a Gateway and data is transferred from the VIU to the Gateway, the most recent DPR is always transferred first. This ensures that the most recent vehicle information is sent up to the Central Host first (e.g. odometer setting), even if the transfer residency time in the WiFi hotspot is minimal;if a newly commissioned VIU comes into communication range with a Gateway, the Gateway will only upload one DPR, as the VIU is ‘unknown’ to the Gateway at this time. The Gateway then solicits the Central Host to see if it wants this data. If the Central Host responds positively to the Gateway, it is only then that further DPRs will be uploaded to the Gateway, the next time the VIU establishes wireless communication with the Gateway. But if the Central Host does not request any data, the Gateway marks the VIU as one to be ignored the next time it comes within communication range of this Gateway. This minimizes WiFi traffic between VIUs and the Gateway. After a given time-out interval (typically a week), the Gateway will delete any knowledge it has of the ignored VIU. If the VIU comes within range of a WiFi hotspot again, the Gateway will repeat the above process, as if it was a newly commissioned VIU.
Modifications

While the preferred embodiment of the vehicle telemetric system10is based on a short-range wireless LAN technology using the 802.11b protocol standard, it is understood that other short-range wireless technologies and other wireless protocols are available already or evolving. The scope of the present invention is intended to encompass such alternative wireless technologies and protocols as well.