CROSS REFERENCE TO RELATED APPLICATIONSThis present application (Ser. No. 10/826,172) is one of three reissue applications which claims priority to and the benefit of U.S. Pat. No. 6,510,381 that issued on Jan. 21, 2003 based on U.S. application Ser. No. 09/780,195, filed on Feb. 9, 2001, entitled “Vehicle Mounted Device and a Method for Transmitting Vehicle Position Data to a Network Based Server,” which makes reference to, claims priority to, and claims the benefit of U.S. Provisional Application No. 60/181,887, filed on Feb. 11, 2000, entitled “Smart Cable.” In addition, to this first reissue application Ser. No. 10/826,172, a first divisional reissue application Ser. No. 11/943,479 was filed on Nov. 20, 2007 and has allowed claims all of which were incorporated into this reissue application Ser. No. 10,826,172 following which the first divisional reissue application No. 11/943,479 was abandoned and a second divisional reissue application Ser. No. 12/703,459 was filed Feb. 10, 2010 and is now fully allowed.
Continuation-in-part of provisional application No. 60/181,887, filed on Feb. 11, 2000.
BACKGROUND OF THE INVENTION1. Field of the Invention
The present invention relates to an apparatus and method for ascertaining the position, velocity and direction of travel of a vehicle at a remote location and for transmitting such information to a network-based server using a wireless communication system.
2. Description of the Related Art
Various apparatus and methods for ascertaining the position of individual vehicles and for communicating that information to a user at a location remote from said vehicles are known in the art. For example, U.S. Pat. No. 5,043,736 to Darnell, et al., discloses a cellular position locating system for ascertaining the latitude and longitude of an individual or object at a remote location and transmitting such information to a base station using a portable hand-held remote unit. The portable unit includes a receiver circuit for use with a satellite navigation system, a microprocessor for analyzing coded signals, cellular phone and modem circuits for transmitting encoded signals to a base station and a time of day clock. The base station includes a computational system for decoding position data and a visual display device for presenting the remote unit map coordinates.
In U.S. Pat. No. 5,742,509, Goldberg, et al., discloses a personal tracking system integrated with a base station. The tracking system includes a remote unit that includes a location determination means, a microprocessor, a modem, and a communication means connected to the modem. The base station includes a computer with software and a modem. The remote unit and the base station communicate with one another through a communication link.
In U.S. Pat. No. 6,131,067, Girerd, et al., discloses a client-server computer network and the use of such a network to access remote sensors having associated position determination sensors. In one embodiment of the invention, a remote sensor transmits positioning data to a server where it is analyzed to derive the location of the remote sensor. The location so determined is then transmitted from the server to the client and is displayed at the client so that the user can identify the location of the remote sensor. Use of the Internet as the client-server computer network is disclosed, along with use of a web page at the server having means for the user to identify a particular remote sensor.
The available means with which to determine the position of a remote sensor, or of a plurality of remote sensors, can be improved upon. For instance, there is a need to reduce the elapsed time that is presently required of a user in determining the position of each vehicle of a fleet of vehicles—e.g., each rental car of a fleet of rental cars or each truck of a fleet of transportation trucks. The present invention improves upon the currently available means for determining the several positions of a plurality of remote sensors by combining a fully integrated remote positioning sensor with currently available high speed telecommunications networks. The fully integrated remote positioning sensor carries out all position determining calculations, including and desired differential corrections and auxiliary calculations, on-board at the remote location. This enables all position and tracking data to be readily available for continuous or intermittent transmission of said data to a network-based server for data-basing the positional information. The data-based information is then available, on demand, when a user accesses the server to view positional information with regard to one or a plurality of vehicles. This obviates the need for polling the remote vehicle and substantially reduces the time required to access the positional information.
The device is also configured to store data on-board at the remote location during periods that the device is outside the communication range of a wireless network, and to automatically transmit the stored data as soon as the device returns to within the communication range of the wireless network. This last feature permits a history of the vehicle route and speed, etc., to be preserved for periods in which the vehicle is outside the communication range of the wireless network.
SUMMARY OF THE INVENTIONA vehicle mounted device is configured to transmit vehicle position data to a network-based server using a wireless communication system. A preferred embodiment of the device includes first and second processing modules carried by a vehicle. The first processing module includes a positioning system receiver configured to receive positioning signals from at least one source remote from said vehicle and to process said positioning signals into vehicle position data representing date and time, and the position, velocity and direction of travel of the vehicle.
The second processing module includes a data storage device configured to store the vehicle position data, a wireless communication system link for connecting the second processing module to a wireless communication system, and a processor configured to control intermittent transmission of the vehicle position data to the wireless communication system link for subsequent transmission over the wireless communication system and, finally, to a network-based server. The processor is further configured to control transmission of said position data to and from the data storage device, and to process incoming data sent from the network-based server.
In a preferred embodiment, the processor is a microcontroller that includes an erasable programable read only memory (“EPROM”) and a random access memory (“RAM”). The data storage device is an electrically erasable programable read only memory (“EEPROM”) or, more generally, an electrically erasable programmable memory. The positioning system receiver is a global positioning system (“GPS”) receiver in communication with, preferably, four or more GPS satellites. The wireless communication system is selected from the group consisting of wireless LAN/WAN (local area network/wide area network), AMPS (advanced mobile phone system), Satellite (satellite based system communication system), iDEN™, TDMA (time division multiple access), CDMA (code division multiple access), CDPD (cellular digital packet data) and GSM (groupe special mobile) infrastructures, while the network-based server is a computer connected to a network, such as the Internet, that can be accessed through a web-browser by a user logged on to the Internet. Alternative embodiments include use of the present invention with Intranet type networks.
A power supply powers the first and second processing modules. A first cable conducts power from the power supply to the second processing module. A second cable conducts power from the second module to the first module, and transmits vehicle position data from the first processing module to the second processing module.
The wireless communication system link is a wireless telephone, removably connected to the second processing module, and configured to transmit the vehicle position data over the wireless communication system to a network-based server. Alternative embodiments include use of wireless links between the second processing module and the wireless telephone, rather than removable connections. The processor is configured to establish a wireless communication between the wireless telephone and the network-based server upon start-up of the device. The processor is also configured to control transmission of the vehicle position data at predetermined periodic intervals during normal operation.
During an interruption in the wireless communication, the processor is configured to cease transmission of the vehicle position data and, rather, direct the data to be stored in the on-board storage device. The processor is also configured to periodically attempt to reestablish the wireless communication between the wireless telephone and the network-based server during such interruption. The processor is further configured to retrieve the data from the storage device and transmit it over the wireless communication system to the network-based server following reestablishment of the wireless connection.
The second processing module further includes at least one sensory input connected to the processor, where such sensory input is connected to an event sensor carried by the vehicle. The event sensor is configured to detect the occurrence of an event involving the vehicle and to transmit information regarding the event to said sensory input for processing by the processor.
A software program is configured to control initialization of the processor and the storage device upon start-up of the vehicle mounted device. The program is further configured to control enabling of interrupts and to check for the presence and functionality of all hardware and the operational mode of the vehicle mounted device. Finally, the program is further configured to control loading of operational setup parameters stored in said storage device and to check for the presence of vehicle position data stored in the storage device.
The periodic transmission of the vehicle position data is based on predetermined distance intervals, time intervals, polling, speed triggers, vehicle stop, vehicle start, or signals from the sensory inputs. The first and second modules are positionable within first and second housings, respectively, and the power supply means is a plug configured for insertion into a vehicle cigarette lighter. Alternatively, the power supply means may be a wire directly connected to the vehicle storage battery or fuse box.
BRIEF DESCRIPTION OF THE DRAWINGSIn the drawings which illustrate the preferred embodiments of carrying out the invention:
FIG. 1 is a block diagram of a preferred embodiment of the device of the present invention;
FIG. 2 is a block diagram of the vehicle mounted device of the present invention in communication with a network-based server using a wireless communication system;
FIG. 3 is a flowchart depicting the basic operational steps of a preferred embodiment of the device of the present invention.
FIG. 4 is a second flowchart depicting operational steps of a second preferred embodiment of the present invention.
FIG. 5 is a block diagram of the preferred embodiment of the present invention showing a wireless connection between the vehicle mounted device and the wireless phone or modem.
DETAILED DESCRIPTIONReferring toFIG. 1, a preferred embodiment of the vehicle mounteddevice5 includes afirst processing module10, asecond processing module20, and a wirelesscommunication system link30. Thefirst processing module10 includes a global positioning system (“GPS”)receiver40 for receiving and processing satellite signals into vehicle position data. Thesecond processing module20 includes aprocessor60, an electrically erasable programmable read only memory (“EEPROM”)70 or, more generally, an electrically erasable programmable memory, at least one RS-232driver80, at least onesensory input90, and a light emitting diode (“LED”)display100. Wireless communication system link30 is awireless phone110, which is removably attached to thesecond processing module20 through a connector means115. An alternative embodiment includes use of a wireless link between the second processing module and the wirelesscommunication system link30. Referring toFIG. 5, an alternative embodiment includes the use of a wireless link betweensecond processing module20 and wireless phone ormodem110. The wireless link may consist of a Bluetooth Chipset and built-in antenna housed withinsecond processing module20 and a compatible Bluetooth Chipset and built-in antenna housed within wireless phone ormodem110. Said wireless link, shall adhere to the Bluetooth standard for wireless communication between Bluetooth enabled devices.
Power supply150 provides power tosecond module20 throughpower supply cable140. Power is supplied towireless phone110 through an on-board storage battery typical for wireless telephones, and power is supplied toGPS receiver40 through power conductor means135 incable130. Data communication betweenfirst module10 andsecond module20 is provided through data bus means137, which are contained incable130, and data communication betweenwireless phone110 andsecond module20 is provided through data bus means117, which are contained incable120.
More specifically, a preferred embodiment of the vehicle mounteddevice5 includes:
- (i) a 24 MHz, 8-bit CMOS Microcontroller, PIC17C256A, 68-pin PLCC forprocessor60;
- (ii) a 256K-bit serial EEPROM, 8-pin SO1C forEEPROM70;
- (iii) four +5V RS-232 Transceivers, 24-pin SSOP for RS-232driver80;
- (iv) four LED's for indicating GPS status, phone status, wireless coverage and power status fordisplay100;
- (v) a DB-9 male connector for an RS-232 connection to the phone for connector means115; and
- (vi) a Garmin, 12-channel GPS receiver, model GPS35-HVS forGPS receiver40.
 
Referring now toFIGS. 2 and 3,GPS receiver40 is configured to receivesignals260 fromsatellites200 and to convert said signals into vehicle position data, which includes data representing the date and time, the number of satellites tracked, the GPS lock status, and the vehicle position, velocity and direction of travel.GPS receiver40 is further configured to transmit380 said data toprocessor60 following processing ofsignals260 into vehicle position data.Processor60 is configured to then transmit the vehicle position data, along with any status data representing the status ofsensory input90, towireless phone110 for transmission to networkserver230.Processor60 is further configured to make such communications intermittently, depending upon whether the value of the time or distance parameters that are stored inEEPROM70 are satisfied370.
The operation ofvehicle device5 commences when the device receives power frompower supply150, which is supplied todevice5 throughpower cable140. Upon receiving power,processor60 is initialized.Processor60 then checks for the presence and functionality of all hardware contained indevice5, and then loads the setup parameters inEEPROM70, which include the host IP and port address, the dial string, the Internet Service Provider (“ISP”) phone number, user name and password, the time and distance reporting rates for both in and out of coverage reporting, the speed trigger, the sense input trigger, and enablement and disablement triggers. Following loading of setup parameters,device5 attempts to establish a wireless connection overwireless communication system210 toserver230 for automatic, but intermittent, transmission of vehicle position data. A point-to-point protocol (“PPP”) connection is established betweensecond module20 andwireless phone110 using a packet data or circuit-switched connection depending on thewireless communications system210. Once the PPP connection is established, vehicle position data updates are transmitted, intermittently, each time one of the configured timers, either time or distance, has expired370. At that time, a vehicle position data update is constructed as a User Diagram Protocol (“UDP”) packet and transmitted over thewireless communication system210 toserver230.
Referring still toFIGS. 2 and 3,processor60 is configured to intermittently transmit300 the vehicle position data towireless phone110 during periods whenwireless phone110 is incommunication310 withserver230.Wireless phone110 then communicates the vehicle position data overwireless communications system210 tonetwork220.Network220 communicates the data throughnetwork service provider240 toserver230. It is noted thatwireless communication system210 may be selected from the group of infrastructures that include wireless LAN/WAN (local area network/wide area network), AMPS (advanced mobile phone system), Satellite (satellite based system communication system), iDEN™, TDMA (time division multiple access), CDMA (code division multiple access), CDPD (cellular digital packet data) and GSM (groupe special mobile) infrastructures. It is further noted thatserver230 is configured to communicate with, and store vehicle position data received from, a plurality of individual vehicle mounteddevices5. In a preferred embodiment of the invention,network220 is the Internet, although an alternative embodiment may have an Intranet asnetwork220.
During periods whenwireless phone110 is not incommunication320 withserver230—e.g., whenwireless phone110 is disconnected or out of coverage ofwireless communication system210—processor60 directs the vehicle position data to EEPROM70 forstorage330 untilwireless phone110 is able to reestablish communication withserver230.Processor60 is configured to store said data sequentially inEEPROM70 forsubsequent retrieval350. Use of a 256-K Bit Serial EEPROM, such as is used in a preferred embodiment, permits storage of up to509 GPS positions inEEPROM70. In the event all509 storage locations are filled during a period when communication is not established320,processor60 is configured to overwrite the least recent data entries with current data entries. Oncewireless phone110 reestablishes communication withserver230,processor60retrieves350 the vehicle position data stored inEEPROM70 and transmits it towireless phone110 forsubsequent communication360 of said data overwireless communication system210 tonetwork230.
Further referencingFIGS. 2 and 3, a user with access to a computer and network browser—USER “A”250, for example—logs on to network220 throughnetwork service provider256 and accessesserver230. USER “A”250 is then able to view the vehicle position data for a single vehicle or for a fleet of vehicles.Wireless phone110 is also configured to receive messages sent byserver230 and to direct those messages back toprocessor60. This permits USER “A”250, for example, to communicate messages like Internet Control Management Protocol Echo (“ICMP”) ping messages, configuration messages, or poll messages towireless phone110, which is configured to transmit those messages toprocessor60.
Receipt bydevice5 ofpoll message390 allows the user to request an immediate position update be determined and transmitted305 fromvehicle device5 toserver230. Receipt bydevice5 ofconfiguration message315 allows the user to change and reload325 the setup parameters stored inEEPROM70. For example,configuration message315 allows the user to change and reload325 the setup parameters in order to change the interval at which data is transmitted370 fromdevice5 toserver230.Processor60 is further configured to respond335 to aconfiguration inquiry345 fromserver230 regarding the current configuration of parameters stored inEEPROM70.
It is noted thatprocessor60 is configured to operate using a software program that controls initialization of said processor and said storage device upon start-up of said vehicle mounted device, that controls enabling of interrupts and checking for the presence and functionality of all hardware and operational modes of said vehicle mounted device, and that controls loading of operational setup parameters stored in said storage device and checking for the presence of vehicle position data stored in said storage device.
A preferred embodiment of the invention also enables indirect addressing to be used in the vehicle positioning process. For example, when vehicle position data is transmitted to a network-based server over a wireless network, a wireless carrier may translate the IP address (“Internet protocol address”) that identifies the transmitting wireless communication system link—e.g., the wireless phone or modem—making it difficult or impossible to data-base the vehicle position data accurately. For devices and methods that depend on the IP-address of the wireless phone or modem to identify the vehicle mounted device, an identification problem can result. In order to overcome the problem,processor60 is further configured to add an identification code to the vehicle position data and transmit the identification code along with the vehicle position data. The identification code is identified by the network-based server, enabling the vehicle position data to be data-based at the network-based server consistent with the transmitting vehicle mounted device. This further enables the device to be used with several different phones and wireless carriers, regardless of whether the carrier translates the IP-address code or not. In other words, this feature allows use with wireless systems that implement a firewall between their network and the Internet, where the wireless systems provider translates the provisioned IP address in the wireless phone or modem to a “Routable” IP address on the Internet. This feature further allows the vehicle mounted device to be connected to any model wireless phone or modem, where each wireless phone or modem has a uniquely provisioned IP-address. Stated otherwise, any wireless phone or modem can be connected to the same vehicle mounted device, and the network-based server will identify that device based on the data sent with the vehicle position data, and not on the IP-address of the wireless phone or modem. This method is referred to as indirect addressing because the network-based server indirectly identifies each vehicle mounted device by the code sent with the vehicle position data, and not the IP address that routes the message to the network-based server.
Upon power up and initialization ofvehicle device5,processor60 completes an initialization and hardware check ofvehicle device5. Next, the setup parameters forvehicle device5 are loaded fromEEPROM70. The setup parameters includeserver230 IP and Port addresses, the dial string forwireless phone110, the dial rate and hang time for the connection towireless phone110, the sense trigger levels, the speed trigger and the time and distance parameters for position updates both in and out ofwireless system210 coverage.
After initialization and configuration ofvehicle device5,processor60 checks for stored positions and then starts to process GPS data fromGPS receiver40. Next,processor60 determines if a phone connection should be established towireless phone110. If position data is stored or a connection towireless phone110 is required based on setup parameters,processor60 attempts to make a connection towireless phone110. Ifwireless phone110 is not present,processor60 returns to the process of reading GPS data fromGPS receiver40. Withwireless phone110 not present and the process of reading GPS data complete,processor60 checks if position triggers have occurred and if so, stores that GPS position inEEPROM70. If no position triggers have occurred,processor60 returns to reading and processing GPS data.
Ifwireless phone110 is present,processor60 will establish a PPP connection withwireless phone110. After a PPP connection is established withwireless phone110,processor60 will check and process any data fromwireless phone110. If a data message is received fromwireless phone110 viaServer230,processor60 will process data message based on the type of data message. For a Poll message,processor60 will send the current GPS position of the vehicle. For a Configure message,processor60 will load the new configuration message which may includeServer230 IP and Port address, dial rate, hang time, speed trigger or time and distance reporting rates. For a Configure Inquiry message,processor60 will send the current configuration requested which may includeServer230 IP and Port address, dial rate, hang time, speed trigger or time and distance reporting rates. After processing the received data message,processor60 returns to read and process GPS data.
If no data message is received fromwireless phone110 whilevehicle device5 is connected,processor60 reads and processes GPS data fromGPS receiver40. Afterprocessor60 processes GPS data,processor60 checks if there are stored GPS positions or if GPS positions are queued based on setup parameters. If GPS positions are stored or queued,processor60 sends the positions viawireless phone110 toServer230 based on IP and Port addresses in the setup parameters. After sending GPS positions,processor60 checks ifvehicle device5 should stay connected towireless phone110. Based on setup parameters,processor60 will close the phone connection if appropriate or continue to stay connected and process positions triggers. If position triggers occur,processor60 will return to read and process GPS Data and then send a GPS position. If position triggers have not occurred,processor60 will return to read and process data fromwireless phone110.