System and method for processing, receiving, and displaying traffic information
09773410 · 2017-09-26
Assignee
Inventors
Cpc classification
G08G1/09675
PHYSICS
G08G1/0129
PHYSICS
G08G1/0104
PHYSICS
G08G1/096775
PHYSICS
G08G1/096716
PHYSICS
International classification
G08G1/0967
PHYSICS
Abstract
A system for sharing and processing traffic and/or road condition information includes a number of traffic and/or road condition information computer systems within individual vehicles and/or devices and/or a virtual traffic information server on a mobile network. The traffic and/or road condition information computer systems may be each connected through a peer-to-peer radio, cellular, Wi-Fi, or other similar types of communications network, and which each operate with a database for displaying road maps, with a database storing average speed data for directions of travel along roadways, and with a location sensor used to determine the location and average speed of the vehicle or device, which may be transmitted to other vehicles. The virtual server returns average speed data for road segments, which is displayed on the road maps. The system includes sharing average speed data calculated as well average speed data received from the plurality of vehicles to other vehicles, thereby enhancing the real-time communication of traffic and/or road condition data.
Claims
1. A method for processing traffic information via a traffic information server, said method comprising the steps of: receiving, via said traffic information server, information regarding a first set of traffic data collected from one or more traffic information computers, each associated with a vehicle travelling along a section of road, wherein said first set of traffic data comprises an average speed of each vehicle periodically calculated by said traffic information computer associated with said vehicle; processing, via said traffic information server, said first set of traffic data to generate a second set of traffic data comprising an average speed of said vehicles traveling along said section of road; and transmitting, via said traffic information server, said second set of traffic data to at least one or more traffic information computers.
2. The method of claim 1, wherein said transmission of said second set of traffic data to at least one or more traffic information computers is used by said one or more traffic information computers to display, via a display screen in operative communication with said one or more traffic information computers, an indication of said average speed of said vehicles traveling along said section of road.
3. The method of claim 2, wherein said indication of said average speed of said vehicles traveling along said section of road comprises one or more colors.
4. The method of claim 1, wherein said second set of traffic data further comprises data for opposite directions of travel.
5. The method of claim 1, further comprising the step of: storing, via a traffic database, information regarding one or more of said first set and said second set of traffic data.
6. A traffic information system, comprising: a traffic information server comprising a processor; wherein said traffic information server receives information regarding a first set of traffic data collected from one or more traffic information computers, each associated with a vehicle travelling along a section of road, wherein said first set of traffic data comprises an average speed of each vehicle periodically calculated by said traffic information computer associated with said vehicle; wherein said processor processes said first set of traffic data to generate a second set of traffic data comprising an average speed of said vehicles traveling along said section of road; and wherein said second set of traffic data is transmitted by said traffic information server to at least one or more traffic information computers.
7. The system of claim 6, wherein said transmission of said second set of traffic data to at least one or more traffic information computers is used by said one or more traffic information computers to display, via a display screen in operative communication with said one or more traffic information computers, an indication of said average speed of said vehicles traveling along said section of road.
8. The system of claim 7, wherein said indication of said average speed of said vehicles traveling along said section of road comprises one or more colors.
9. The system of claim 6, wherein said second set of traffic data further comprises data for opposite directions of travel.
10. The system of claim 6, further comprising: a traffic database, wherein said traffic database stores information regarding one or more of said first set and said second set of traffic data.
11. A traffic information system, comprising: a receiver associated with a first vehicle, wherein said receiver receives, from one or more other vehicles traveling along a road segment, information comprising an average speed of the one or more other vehicles travelling along the road segment; a processor associated with said first vehicle, wherein said processor periodically calculates an average speed of movement of said first vehicle; a transmitter associated with said first vehicle, wherein said transmitter transmits to a traffic information server the average speed of movement of said first vehicle.
12. The traffic information system of claim 11, further comprising: a display device associated with said first vehicle, wherein an indication of said average speed of movement of said one or more other vehicles travelling along said road segment may be displayed on said display device associated with said first vehicle.
13. The traffic information system of claim 12, wherein said indication of said average speed of movement of said one or more other vehicles travelling along said road segment comprises one or more colors.
14. The traffic information system of claim 11, wherein said transmission of said average speed of movement of said first vehicle is sent over a communications network that connects to said traffic information server.
15. The traffic information system of claim 11, each vehicle having a location determining module associated therewith, wherein said location determining module determines at least one of a location and a direction of each said vehicle.
16. The traffic information system of claim 11, wherein said processor further periodically calculates a distance traveled by said first vehicle between a first location and a second location over a predetermined period of time.
17. The traffic information system of claim 11, wherein said information comprising said average speed of movement of one or more other vehicles travelling along a road segment further comprises information for opposite directions of travel.
18. The traffic information system of claim 11, wherein said reception and transmission of information may be performed on a vehicle peer-to-peer network.
19. The traffic information system of claim 12, wherein said display device further comprises: a display screen.
20. The traffic information system of claim 19, wherein said display screen may display at least said indication of said average speed of movement.
21. The system according to claim 11, wherein the receiver associated with the first vehicle receives information, from the one or more other vehicles traveling the road segment, comprising a first set of traffic data including an average speed of the one or more other vehicles travelling along the road segment and wherein the average speed of the one or more other vehicles is periodically calculated by one or more traffic information computers associated with the one or more other vehicles.
22. The system according to claim 11, wherein the receiver receives information comprising the average speed of the one or more other vehicles travelling along the road segment on which the first vehicle is also traveling.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) A further understanding of the invention can be obtained by reference to a preferred embodiment set forth in the illustrations of the accompanying drawings. Although the illustrated embodiment is merely exemplary of systems for carrying out the invention, both the organization and method of operation of the invention, in general, together with further objectives and advantages thereof, may be more easily understood by reference to the drawings and the following description. The drawings are not intended to limit the scope of this invention, which is set forth with particularity in the claims as appended or as subsequently amended, but merely to clarify and exemplify the invention.
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
DETAILED DESCRIPTION OF THE INVENTION
(13) As required, a detailed illustrative embodiment of the invention is disclosed herein. However, techniques, systems and operating structures in accordance with the invention may be embodied in a wide variety of forms and modes, some of which may be quite different from those in the disclosed embodiment. Consequently, the specific structural and functional details disclosed herein are merely representative, yet in that regard, they are deemed to afford the best embodiment for purposes of disclosure and to provide a basis for the claims herein, which define the scope of the invention. The following presents a detailed description of the preferred embodiment of the invention.
(14)
(15)
(16) During operation of the traffic information computer 12, instructions and data are loaded from storage 40 into RAM 28 for execution of the instructions within the microprocessor 24. The microprocessor 24 also executes program instructions stored in ROM 26. Instructions and data may be loaded into storage 40 from a computer readable medium 38 through the drive unit 37. For example, the medium 38 may be a compact disc, while the drive unit 37 is a device for reading such a medium. Alternatively or additionally, instructions and data may be loaded into storage 40 through cellular telephone transmissions through the cellular transceiver 50 and the communications adapter.
(17) In accordance with a preferred version of the invention, the traffic information computer 12 is additionally provided with a capability for communicating with a second traffic information computer or client 60 in a second vehicle 61 on a direct, peer-to-peer basis, without the use of cellular towers 16 or the traffic information server 22. To this end, a peer-to-peer radio transceiver 62 is connected to the bus 30 through a peer-to-peer adapter 63. For example, the peer-to-peer radio transceiver 60b may transmit and receive data on one of the frequencies described in the IEEE 802.11 specifications. Peer-to-peer communications can be used to obtain traffic data from another vehicle 60a having the traffic data stored in its traffic information 60 in the event that communication cannot be established with a cellular tower 16.
(18) While the use of cellular communications is via the Internet 20, it is understood that other systems, such as the wireless application protocol (WAP) and the Global System for Mobile Communications (GSM) may alternately be used to establish a wireless network for vehicles 10 communicating with the traffic information server 22.
(19)
(20) Referring to
(21) In accordance with the invention, the traffic data client subroutine 54 uses the communication adapter 48 and the cellular transceiver 50 to communicate with the traffic information server 22. The vehicle 10 acts as a probe vehicle for the traffic information server 22, with the data client subroutine 54 additionally reporting data indicating the average speed of the vehicle 10 over a section of road along which the vehicle 10 is moving. The traffic information server 22 receives and stores this speed data received from the vehicle 10 and from a number of other vehicles. The traffic data client subroutine 54 also requests data to be provided by the traffic information server 22 regarding the average speed at which vehicles are traveling on roadways in the vicinity of the vehicle 10. After receiving such data from the traffic information server 22, the traffic data client subroutine 54 writes the speed data to the traffic database 58.
(22) In other non-limiting embodiments, traffic data client subroutine 54 may request data from other traffic information clients residing in a plurality of other vehicles or a plurality of other devices, from data gathered by road sensors, data from commercial fleets and other sources, with the traffic data client subroutine using the data to calibrate sensor data and rating the data received to indicate a difference in confidence ratings. The traffic data is updated at periodic time periods or distances, thereby updating traffic data transmitted to other vehicles. The traffic data received from the plurality of vehicles provides the traffic information system 10 with the most up-to-date real-time traffic information received from the plurality of other vehicles or devices as these other vehicles travel on roadways. The traffic data is also used to update the plurality of vehicles with up-to-date real time data by transmitting average speed data generated by vehicle 10 as well as transmitting traffic data received from the other plurality of vehicles to other vehicles in the network. Therefore, each device includes historical traffic data gathered for road segments for, in one example, each of the 672 separate 15-minute time periods during the week.
(23) Further in accordance with the invention, each road within a number of roads in a geographic region for which the traffic information server 22 provides information is divided into a number of segments. For example, such a geographic region may be a city, a metropolitan area, a state or province, or a country. Traffic data is reported to the traffic information server 22 according to vehicle movements in each of these segments and is stored by the traffic information server 22 in data locations corresponding to these segments.
(24) The navigation subroutine 52 reads data from the traffic database 58 and causes the data to be displayed on the display screen 34 in a number of data boxes 68, 69 at locations on the road display pattern 62 corresponding to the segments of roads for which data is being displayed. If the average vehicle data speed is determined to be significantly different in the two directions of travel along the road segment, two values are shown in a split data box 68. If the average vehicle data speed is determined not to be significantly different in the two directions of travel, a single value is shown in a single-value data box 69. For example, a difference of less than five miles per hour may not be considered significant. In any case, the data boxes 68, 69 may be modified to include pointers 70 indicating a direction of travel corresponding to the adjacent displayed value of average vehicle speed. The vehicle speeds are preferably displayed in miles per hour or in kilometers per hour.
(25) Preferably, the data boxes 68, 69 are colored to indicate a relationship between the average speed of traffic and a normal traffic speed, which may be calculated using the speed limit of the particular road segment, modified by delays associated with traffic lights under light traffic or normal traffic conditions. For example, if the traffic is flowing at 80 percent or more of the normal speed, the associated data box 68, 69 is displayed with a green background. If the traffic is flowing between 50 and 80 percent of the normal speed, the associated data box 68, 69 is displayed with a yellow background. If the traffic is flowing at less than 50 percent of the normal speed, the associated data box 68, 69 is displayed with a red background. A split data box may have display different colors on its two sides.
(26) According to a preferred version of the invention, the display screen 34 displays two or more levels of detail, with
(27) On either type of display, the location of the vehicle 10 and its direction of orientation are indicated by an arrow 67, which moves along the displayed map with motion of the vehicle. The view shown by the map also moves, at least in a manner sufficient to keep the arrow 67 visible within the display. The navigation control 76 is also used to change the display of the map. For example, if the upper edge of the navigation control 76 is depressed, the displayed map is moved downward, showing more roads and traffic conditions above, or to the north of, the presently displayed area.
(28) For example, the navigation control 76 is implemented using a plastic disk extending above four switches, located at positions corresponding to the cardinal points of the compass (north, south, east, and west). If the disk is depressed in an intermediate position, two of the switches are operated. For example, if the disk is depressed in a northwest position, the switches corresponding to the north and west positions are both operated, so that the map is moved to show more roads and traffic conditions toward the northwest. In another embodiment, the display may provide a snapshot of current traffic conditions around a user location on all major and minor road segments, with the users route represented in a color that makes it readily distinguishable from the displayed routes. Generally accepted color conventions may be utilized to convey traffic flow, with heavily congested traffic represented in red, moderate congestion in yellow, minor congestion in orange, and fast-moving traffic in green. The display may also convey the source of data received, with solid lines representing stored data from traffic information server 22 and dashed lines representing traffic data from the plurality of vehicles, commercial fleet vehicles, location sensors on road segments, etc.
(29)
(30) Preferably, the traffic data computer 12 has an ability to display data in several forms, including the highly detailed view described above in reference to
(31) The traffic data computer 12 preferably uses a menu-driven process to change settings determining how the system is operated, with data describing the settings being stored in the configuration data structure 59. Access to the menu-driven process is achieved by depressing the menu button 86.
(32)
(33) Continuing to refer to
(34) In another non-limiting embodiment, the system may provide traffic data associated with this address by requesting and receiving traffic data from other traffic information clients located in the vicinity of the address or from the peer-to-peer network which transmits traffic data that peer-to-peer network receives from traffic information clients in the vicinity of the address. Furthermore, the system may request and receive traffic data from the traffic information server 22, with the traffic information server 22 transmitting traffic data received from other traffic information clients located in the vicinity of the address or from other traffic information clients that have further received this data from still further traffic information clients located in the vicinity of the address.
(35) The traffic data computer may also include a feature providing audio capabilities. For example, if the user is driving the vehicle 10 along a route chosen by the system, an audio message provided through the sound adapter 35 and the speaker 36 may give an audio indication, using synthesized speech, when he is approaching a point in which he has to turn to stay on the route. The system may also provide an audio indication to inform the user that the vehicle 10 is approaching an area in which traffic data indicates there is slow moving traffic. If this feature is provided, a volume control button 98 is used to determine the volume of the audio messages. For example, the volume control button 98 is repeatedly depressed to step through six levels of increasing audio volume, with an additional depression of the button 98 returning to the lowest level to repeat the process.
(36)
(37) Referring to
(38) If it is determined in step 108 that the map data needed is available, the system proceeds to step 120 to determine whether traffic data for the map to be displayed is available within the traffic database 58. The traffic database 58 may include a field indicating when each traffic data value has been recorded, with the process of determining whether traffic data is available including a determination of whether the data has been written recently enough that it should be considered timely. If it is determined in step 120 that the needed traffic data is not available, the system displays a “waiting” message in step 122, indicating that it is waiting to receive traffic data. The navigation program 52 then calls the traffic data client 54 in step 124 to obtain the necessary traffic data. In a manner to be described in detail in reference to
(39) After it is determined in step 120 that the traffic data needed for display on the map is available, the system displays the map in step 128. Then, the system enters a loop in which it is determined whether an event that may cause a change in the map being displayed has occurred. The first such event is the movement of the vehicle 10. To determine the position of the vehicle 10, the output of the GPS receiver 46 is examined in step 130 through the GPS interface 44 whenever it is determined in step 132 that a time has arrived to check the vehicle location. Then, in step 134, data describing the new location is written to a location data structure 136 within RAM memory 28. Then, in step 138, a determination is made of whether the movement of the vehicle 10 has been sufficient to require the display of a new map. If a new map is needed, the system returns to step 108 to determine if the data to generate the new map is available. If a new map is not needed, the arrow representing the position of the vehicle is repositioned on the map in step 140. In general, this arrow is displayed on one of the roadways shown in the map, at a location determined by the location data, with the arrow being moved along the roadway until it has moved far enough to cause the display of a new map. The arrow may be maintained near the center of the displayed map, or most of the displayed map may be provided to show roadways toward which the vehicle is heading.
(40) The traffic data client 54 obtains new traffic data on a periodic basis, refreshing the traffic data stored within the traffic database 56. When this occurs, the traffic data client 54 returns a code to the navigation program 52 indicating that the data has been refreshed. When it is determined in step 142 that this has occurred, new traffic data is written to the displayed map in step 144.
(41) The user may also change information displayed on the screen 34 by operating one of the controls 42. If it is determined in step 146 that the user has operated one of the controls, the system proceeds to step 148, in which a further determination is made of whether one of the controls selecting a new map has been operated. For example, the depression of the zoom buttons 72, 73, the DISP button 84 results in the selection of a new map to be displayed, as determined in step 148, causing the system to return to step 108 to determine whether map data is available for the new map.
(42) If a control is actuated without selecting a new map, the system proceeds to step 150, in which it is determined whether the power switch has been depressed. If it has, the open files are closed in step 152, and the power is shut off in step 154.
(43) If it is determined in step 150 that the power switch 61 was not depressed, the system proceeds to step 156, in which it is determined whether the menu button 86 has been depressed. If it has, the menu is displayed in step 158, with the system entering a loop to respond to the depression of another control button. Then, if a cursor control button, such as one of the zoom buttons 72, 73, is depressed, as determined in step 160, the cursor is moved on the screen, in step 162, in the direction of movement associated with the button that is depressed. When it is determined in step 164 that the enter button has been depressed, data corresponding to the entry is recorded in the configuration data 59, with the menu display being updated by the placement of a marking in the checkbox 88 that has been selected, and with markings being removed from any conflicting checkboxes. When it is determined in step 168 that the exit button 92 has been depressed, the system proceeds to step 170, in which it is determined whether a new map is needed due to the changes that have been made. If it is, the system returns to step 108 to determine whether map data is available for the new map. Otherwise, the map previously displayed is updated and displayed again in step 172.
(44) If it is determined in step 171 that the menu button has not been depressed, the system proceeds to step 173, in which a determination is made of whether the volume button 98 has been depressed. If it has, a volume level adjustment for subsequent audio messages is changed in step 174, being increased, for example, in incremental levels among six volume levels and then returned to the lowest volume level.
(45) If it is determined in step 156 that the menu button 86 has not been depressed, it is assumed that either the find button 94 or the route button 97 has been depressed, so the system proceeds to step 175 to accept input from the keyboard 96 until a determination is made in step 176 that the enter button 90 has been depressed. Then, in step 178, the mapping database 56 is searched to find the location having an address entered by the user with the keyboard 96. If this location is not found, as determined in step 180, an error message is displayed in step 182, with the system returning to step 184 to wait for another operator action. For example, the user may correct his keyboard input to begin another search operation. If the location of the address provided by the user as an input in step 175 is found, the system proceeds to display a map including a highlighted route between the user's present location and the location of the address provided in step 175, if the route button has been depressed. Alternately, if find button 94 has been depressed, the system may proceed to display a map in which the location of the address provided in step 175 is highlighted or identified by an icon. If this process requires a new map, the system returns to step 108 to determine if the map data is available for the new map. Otherwise, the new information is added to the presently-displayed map in step 172.
(46)
(47) Referring to
(48) In response to either a determination in step 192 that the data check time has arrived, or in response to a call from the navigation program, as determined in step 194, the client subroutine 54 proceeds to determine an average speed at which the vehicle 10 has traveled since the last contact between the system and the traffic information server 22 (shown in
(49) Thus, the process of determining an average speed is begun in step 196 by going to the data entry identified by the pointer. Next, in step 198, the location stored within this data entry is read. Then, in step 200, the client subroutine 54 goes to the next entry in the location data structure 136. Each time the client subroutine 54 goes to a new entry beyond the entry located by the pointer, a determination is made in step 202 of whether the end of the list in the location data structure 136 has been found. If it has not, a new location identified in the entry is read in step 204. Then, in step 206, the distance moved between the location identified in the most recently read entry and the location read in the previously read entry is calculated. For example, this distance moved may be calculated as the straight-line distance between the two locations. Next, in step 208, the distance moved is added to a total distance, which reflects the distance traveled since the last contact between the client subroutine 54 and the traffic information server 22. Next, in step 210, a number of entries, indicating the number of location distances moved that have been added to form the total distance is incremented. Then, the client subroutine 54 returns to step 200 to go to the next entry.
(50) In response to a determination in step 202 that the end of the list within the location data structure 136 has been reached, the average speed is calculated in step 212, with the total distance calculated by multiple summations in step 208 being divided by the time, as evidenced by the number of entries determined in step 210. Preferably a constant is further applied, with consideration of the time between the periodic determination of locations, so that the average speed is expressed in a convenient unit, such as miles per hour or kilometers per hour. Also, average speed is calculated for traffic data received from other traffic information clients residing in other vehicles traveling on the same or other road segments through a peer-to-peer network, through a physical server, or from the connection to the traffic information server 22.
(51) If the vehicle 10 has remained motionless, an average speed of zero is reported, based on an assumption that the vehicle 10 has been sitting in a traffic jam. However, in the first communication with the traffic information server 22, which is needed to obtain initial traffic information, which occurs with only one entry listed in the location data structure 136 a code indicating that an average speed could not be determined will be communicated.
(52) Next, in step 213, the client subroutine 54 calls the traffic information server 22, using the communications adapter 48 and the cellular transceiver 50. If a connection is successfully established, as then determined in step 214, a password identifying the traffic data computer 12 is transmitted to the traffic information server 22 in step 215. Then, in step 216, the vehicle location described in the last entry of the location data structure 136 and the average speed calculated in step 212 is transmitted. Next, in step 217, traffic data information associated with the location transmitted in step 216 is received from the traffic information server 22. After this data has been received, the call is ended in step 218. Then, in step 219, the traffic data received in step 217 is written to the traffic database 58. Next, in step 220, the client subroutine 54 returns a code to the navigation program 52. This code is used, as previously described in reference to
(53) If it is determined in step 214 that a connection has not been made with the traffic information server 22, the traffic data client subroutine 54 attempts to call a peer vehicle 61 in step 222, using the peer-to-peer transceiver 62, driven through the peer-to-peer adapter circuit 63. If the attempt to establish contact with a peer vehicle 61 is successful, as determined in step 223, the traffic data client subroutine 54 receives traffic data from the peer vehicle computer 60 in step 224. When this process is complete, the client subroutine 54 ends the call in step 225 and proceeds to step 219 to write the new information to the traffic database 58. The client subroutine 54 then returns a code to the navigation program in step 220, resets parameters in step 221, and returns to step 192.
(54) If the traffic data client subroutine 54 fails to establish a connection with a peer vehicle 61, as indicated in step 223, a further determination is made in step 226 of whether the process of attempting to make a connection has been timed out. If it has not, the client subroutine 54 returns to step 213 to make another attempt to call the traffic information server 22, followed, if necessary, by another attempt to call a peer vehicle 61. When the process times out, as defined as reaching a predetermined time or, alternately, as having made a predetermined number of unsuccessful attempts, the client subroutine 54 proceeds from step 226 to step 192.
(55) If a the traffic data client subroutine 54 receives a call from a peer vehicle 61, as determined in step 195, the client subroutine 54 transmits the data stored within its traffic database 58 to the peer vehicle 61 in step 227 and the ends the call in step 228.
(56) Thus, the capability to establish peer-to-peer communications is used as a back-up traffic data source in the event that communications cannot be established with the traffic information server 22. For example, such a failure can occur while traveling in a location too far from the nearest cellular tower 16 or in a location where too many cellular devices are already using the nearest cellular tower 16.
(57) Nevertheless, peer-to-peer communication is understood to be an optional feature of the traffic data computer 12. If the system is not equipped with this feature, the client subroutine 54 makes repeated attempts to contact the traffic information server 22 when such attempts are required until a time-out condition is reached, and the client subroutine 54 returns to step 192 when it is determined in step 194 that a call from the navigation program 52 has not been received.
(58)
(59) As traffic data clients 54 call the traffic information server 22 to provide and receive traffic information, the time fields 246 and associated speed fields 248 of various records 234 are filled with data. Fields that are not filled retain null values. When a record includes one or more null fields, new time and speed data are written to null fields. If there are no null fields, such data is preferably written over the oldest data stored within the record. On a periodic basis, data within the data structure 30 is refreshed by calculating a new average speed, to be written in the average speed field 240 of each record 234, with the average speed being calculated as the average of the data in the speed fields 248 associated with times, recorded in the associated time fields 246, that indicate a time for relevance of the data has not expired. If this time has expired, the time and speed data is overwritten or erased to leave fields having null values.
(60) The traffic database further includes a means for relating various of the records 234 with one another, so that, when a client calling from a vehicle 10 transmits his location, detailed traffic data for an area surrounding his location can be returned to him, along with data for main roads in a larger region. Such a means may be provided through another table identifying records as being related to one another or by organizing the table 230 into sections, with one section including records 234 for main roads, having data to be returned to all calling vehicles, and with other sections including detailed records to be returned only to vehicles calling from a location within or adjacent to each of the sections.
(61)
(62) Referring to
(63) Additionally in accordance with a preferred version of the invention, the various client systems each have a password, which is stored in a client database 260. The use of a password, which can be automatically presented by the client, restricts access, for example, to individuals paying fees to cover the cost of operation.
(64) Referring to
(65) Then, in step 270, traffic data from records associated with the record 234 corresponding to the location of the vehicle 10 is read from the traffic database 232. Preferably, this traffic data includes average speed data from field 240 and a color code from field 242 for each road segment in an area surrounding the location of the vehicle 10, together with such data for segments of main roads within a larger area. Next, in step 272, the data read in step 270 is returned to the calling traffic data client 54 placing the call. Finally, in step 274, the call is terminated, with the traffic data server returning to step 252 to wait for another call from a client or for the time to refresh data.
(66) If it is determined in step 264 that the call is from a personal computer 256 instead of from a vehicle 10, the traffic information server 22 proceeds to step 276 to receive location data from the personal computer 256. Such data reflects an input from the user indicating the location around which he wishes to receive traffic data. This traffic data is then read from the traffic database in step 270 and transmitted to the personal computer in step 272, with the call being terminated in step 274.
(67) The process of refreshing the data within the traffic database 232 includes the elimination of data that is too old to be considered relevant in determining present traffic conditions and recalculating the average speed for each record 234 in the table 230. Thus, if it is determined in step 254 that the time to refresh data has arrived, the system goes to the first record 234 in step 278. Then, in step 280, variables used in the calculation of an average speed are initialized. Then, in step 282, the server system goes to the time field 246 in which the next time is entered. Time fields 246 having null values are skipped in this process. Next, in step 284, a determination is made of whether a predetermined time limit has expired since data was written in this record to this time field 246. If it has, the data within the time field 246 and in the next speed field 248, which is associated with this time field is erased or overwritten in step 286 to leave a null value. If it is determined in step 284 that the time has not expired, the speed in the next speed field 248 is added to an accumulating variable, and one is added to a counting variable, in step 288.
(68) After step 286 or after step 288, a determination is made in step 290 of whether the time and speed data that has just been considered is at the end of the record. If it is not, the information server 22 returns to step 280 to perform the same process on the next time and speed data in the record. After the last time and speed data in the record has been considered, as determined in step 290, the average speed for the record is calculated in step 292 as the value of the accumulating variable divided by the value of the counting variable. Then, in step 294, the average speed calculated in step 292 is compared to the normal speed for the road section associated with the record 234, with this normal speed being read from the normal speed field 242. The result of this comparison is used to determine a color code to indicate a comparison of the traffic status of the road segment with normal traffic flow conditions for the same road segment. Then, in step 296, the average speed and color code are written to the database 232 in the average speed field 240 and the color code field 244, respectively.
(69) Next, a determination is made in step 298 of whether the record that has just been considered is the last record in the data structure within the traffic database 232. If it is not, the server goes to the next record in step and returns to step 280 to begin the process of refreshing data within the next record. If it is the last record, the process of refreshing data has been completed, so the system returns to step 252 to continue waiting for a call from a client or for the next time to refresh data.
(70) The processes described above for answering client calls and for refreshing data may be carried out by separate routines executing in a multitasking environment within a processor in the traffic information server 22, or by routines executing in separate processors or computing systems both having access to the traffic database 232.
(71)
(72) Referring to
(73) If it is determined in step 315 that a connection has not been made with the traffic information server 22, the traffic data client subroutine 54 attempts to call a peer vehicle 61 in step 335, using the peer-to-peer adapter circuit 63. If the attempt to establish contact with the peer vehicle 61 is successful, as determined in step 340, the traffic data client subroutine 54 receives traffic data from the peer vehicle computer 60 in step 345. When this process is complete, the traffic data is written to the traffic database in step 350. The client subroutine 54 resets the connection and returns to step 310. If a connection to a peer vehicle cannot be made in step 340, a further determination is made in step 355 of whether the process of attempting to make a connection has been timed out. If it has not, the client subroutine 54 returns to step 335 to make another attempt to call the peer vehicle. When the process times out, as defined as reaching a predetermined time or alternately, as having made a predetermined number of unsuccessful attempts, the client subroutine 54 proceeds to step 310 to repeat the process of receiving traffic data. The invention has an advantage over methods of the prior art in that traffic speed data is transmitted to the traffic data computer 12 and displayed directly on the screen 34 to aid the user in determining which road to take. Another advantage of the invention arises from the fact that peer-to-peer communications with another vehicle 61 are used when communications cannot be achieved with the traffic information server 22. Yet another advantage arises from the fact that the number of cellular telephone calls between each vehicle 10 and the traffic information server 22 is minimized, first by accumulating the results of a number of location measurements before placing such a call, and second because data is transmitted in both directions between the vehicle 10 and the traffic information server 22.
(74) In addition to traffic conditions, other information can be tracked. Any other condition can be tracked such as road conditions. These road conditions could include, but are not limited to pot holes, ice, road closings, flooding, accidents, road repairs, detours, etc. This data would be supplied by the users of the mobile device through software running on that device. Users could select from a list of premade items that they could use to indicate when they encounter one of these road conditions. A mobile device may also be equipped to automatically detect certain road conditions like potholes or rough roads by using an accelerometer to determine jarring of the device. Alternatively, road condition data may be acquired from a third party such as a department of transportation, news service, or the like. Certain road condition data may also be determined by a traffic information service provider's system. For example, analysis of traffic data incoming from remote devices may indicate that drivers at a certain section of roadway are travelling, on average, slower than normal, and that drivers are avoiding a certain lane on a road section. This may indicate an accident, unannounced road closure, or other road condition preventing use of a particular lane or road section.
(75) The road condition data may be collected, or generated, and processed the same as traffic conditions above. The road condition data may be stored in a road condition database or any other data storage, which may be a database separate from a traffic data database, or may be integrated into a traffic data database. The system would then display the specific road condition on a map using icons as the traffic conditions are displayed. Users could also type in their own messages and these messages would be displayed to other users.
(76) The historic road data would be stored indefinitely for and could be used to make decisions on road repairs or upgrades. Data can include floods, accidents on particular road segments, road repairs, pot holes, traffic patterns and speeds, etc. This historic information would be used to determine if roads required more frequent repairs to alleviate floods or other conditions that occur often in a particular area.
(77) These road conditions (as well as traffic conditions) can be used to update estimated time of arrival.
(78) While the invention has been shown in its preferred forms or embodiments with some degree of particularity, it is understood that such descriptions have been given only by way of example and that many changes can be made without departing from the spirit and scope of the invention, as described in the appended claims.