The present invention relates to systems and methods for synchronizing vehicular traffic. More particularly, the present invention relates to automated traffic synchronization.
Each driver of a vehicle controls his or her vehicle independently of other vehicles that are close to the vehicle. As events occur on a roadway, such as changes in traffic lights and roadway congestion, each driver also potentially has a different response time to those events and a different level of attention while driving. Accordingly, traffic patterns are random in nature. This random nature of traffic patterns causes “start-stop” or accordion-like traffic patterns on roadways at intersections and during heavy traffic situations. Collisions occur on roadways and are often attributed to carelessness and/or reckless driving.
The subject matter described herein provides automated traffic synchronization, monitoring, and control to coordinate and improve vehicular traffic patterns, safety, fuel consumption, time efficiency, facility use, and other traffic-related aspects in a variety of vehicular environments. An automated traffic synchronization device determines spatial relationship information and performance information for vehicles. As a traffic regulation system changes traffic signaling information to indicate vehicle start times or stop times (e.g., yellow, red, or green light at a traffic light), the automated traffic synchronization device calculates at least one synchronized control action for each vehicle based upon the traffic signaling information, the spatial relationship information, and the performance information for each vehicle. The automated traffic synchronization device communicates the synchronized control action to each vehicle to indicate the appropriate action. This synchronized control action may be used to control vehicles that are equipped with automated acceleration and deceleration controls, a driver notification time, a vehicle start time, a vehicle stop time, or to provide an alert a driver to take the appropriate action when signaled. The automated traffic synchronization, monitoring, and control described is applicable to roadways with congested traffic, intersections with stop lights, waterways and canals, airports, train stations or switching yards, and other vehicular environments.
A method includes determining spatial relationship information and performance information for each of a plurality of vehicles within a vehicular environment; receiving traffic signaling information from a traffic regulation system associated with the vehicular environment; calculating at least one synchronized control action for each of the plurality of vehicles to synchronize the plurality of vehicles with the traffic regulation system based upon the traffic signaling information, the determined spatial relationship information, and the determined performance information for each of the plurality of vehicles; and communicating the associated at least one synchronized control action to each of the plurality of vehicles.
A system includes a memory adapted to store traffic synchronizing information; and a processor programmed to determine spatial relationship information and performance information for each of a plurality of vehicles within a vehicular environment; store the spatial relationship information and the performance information to the memory; receive traffic signaling information from a traffic regulation system associated with the vehicular environment; store the traffic signaling information to the memory; calculate at least one synchronized control action for each of the plurality of vehicles to synchronize the plurality of vehicles with the traffic regulation system based upon the traffic signaling information, the determined spatial relationship information, and the determined performance information for each of the plurality of vehicles; and communicate the associated at least one synchronized control action to each of the plurality of vehicles.
An alternative system includes a memory adapted to store traffic synchronizing information; and a processor programmed to determine spatial relationship information and performance information for each of a plurality of vehicles within a vehicular environment; store the spatial relationship information and the performance information to the memory; receive traffic signaling information from a traffic regulation system associated with the vehicular environment; store the traffic signaling information to the memory; receive driver status information for a driver of at least one of the plurality of vehicles from a driver monitoring module associated with the at least one of the plurality of vehicles, the driver status information comprising at least one of driver body orientation information, driver head orientation information, driver eye direction information, and driver activity information; store the driver status information to the memory; calculate at least one synchronized control action for each of the plurality of vehicles to synchronize the plurality of vehicles with the traffic regulation system based upon the traffic signaling information, the determined spatial relationship information and performance information for each of the plurality of vehicles, and the driver status information, where the at least one synchronized control action comprises at least one of an acceleration parameter, a deceleration parameter, a driver notification time, a vehicle start time, and a vehicle stop time for each of the plurality of vehicles; and communicate the associated at least one synchronized control action to each of the plurality of vehicles.
Those skilled in the art will appreciate the scope of the present invention and realize additional aspects thereof after reading the following detailed description of the preferred embodiments in association with the accompanying drawing figures.
The accompanying drawing figures incorporated in and forming a part of this specification illustrate several aspects of the invention, and together with the description serve to explain the principles of the invention.
The examples set forth below represent the necessary information to enable those skilled in the art to practice the invention and illustrate the best mode of practicing the invention. Upon reading the following description in light of the accompanying drawing figures, those skilled in the art will understand the concepts of the invention and will recognize applications of these concepts not particularly addressed herein. It should be understood that these concepts and applications fall within the scope of the disclosure and the accompanying claims.
The subject matter described herein provides automated traffic synchronization, monitoring, and control to coordinate and improve vehicular traffic patterns, safety, fuel consumption, time efficiency, facility use, and other traffic-related aspects in a variety of vehicular environments. An automated traffic synchronization device determines spatial relationship information and performance information for vehicles. As a traffic regulation system changes traffic signaling information to indicate vehicle start times or stop times (e.g., yellow, red, or green light at a traffic light), the automated traffic synchronization device calculates at least one synchronized control action for each vehicle based upon the traffic signaling information, the spatial relationship information, and the performance information for each vehicle. The automated traffic synchronization device communicates the synchronized control action to each vehicle to indicate the appropriate action. This synchronized control action may be used to control vehicles that are equipped with automated acceleration and deceleration controls, a driver notification time, a vehicle start time, a vehicle stop time, or to provide an alert a driver to take the appropriate action when signaled. The automated traffic synchronization, monitoring, and control described is applicable to roadways with congested traffic, intersections with stop lights, waterways and canals, airports, train stations or switching yards, and other vehicular environments. Additionally, the present subject matter may be used to compensate for foggy conditions, stormy conditions, snow (e.g., blizzard) conditions, and other conditions that increase danger within vehicular environments. The automated traffic synchronization, monitoring, and control of the present subject matter may be used to increase traveling distances between vehicles, decrease vehicle speeds, and to perform other compensations automatically to potentially improve safety for vehicles traveling under these conditions.
The automated traffic synchronization, monitoring, and control described herein may be performed in real time to allow prompt response and control of multiple vehicles within a vehicular environment. For purposes of the present description, real time shall include any time frame of sufficiently short duration as to provide reasonable response time for information processing acceptable to a user of the subject matter described. Additionally, the term “real time” shall include what is commonly termed “near real time”—generally meaning any time frame of sufficiently short duration as to provide reasonable response time for on demand information processing acceptable to a user of the subject matter described (e.g., within a few seconds or less than ten seconds or so in certain systems). These terms, while difficult to precisely define are well understood by those skilled in the art.
To further elaborate on the problems that the present subject matter addresses, it may be helpful to consider a traffic environment on a roadway. “Start-stop” effects occur on roadways due to random response times of drivers to signaling and other events that occur on the roadways. These random response times are compounded when an inattentive driver does not realize that it is time to move from a stopped position or does not realize that the traffic ahead is stopping. Additionally, a driver may not even be able to see a traffic light and may only know when to begin moving based upon the vehicle in front of the driver's vehicle beginning to move. Certain drivers also tend to slow to look at traffic wrecks and then increase in speed after passing the wreck. Accordingly, a time lag is introduced at each vehicle and is compounded repeatedly as each successive driver responds to traffic events and situations. This activity creates an accordion-like situation in the traffic flow. The present subject matter addresses these issues.
The vehicles 102 through 108 may be automobiles, motorcycles, planes, boats, trains, or other vehicles, and the system 100 may be used in an appropriate vehicular environment for the respective vehicle type. As such, the system 100 may be used within a roadway environment, an airport taxi way or runway environment, a waterway environment (e.g., canal or shipping lane), and a train station or switching yard without departure from the scope of the present subject matter. Additionally, the present subject matter may be usable to assist with multi-vehicular type environments, such as with emergency landings on roadways for planes that are in distress and at boat ramps where automobiles with trailers are sequenced to unload and load boats. Accordingly, all possible combinations of vehicles and vehicle environments are considered within the scope of the present subject matter.
Each of the vehicles 102 through 108 is equipped with at least one of vehicle relative-position sensor 110 located so as to provide sensing capabilities for a front and rear of each respective vehicle to determine a distance 112 between each pair of vehicles 102 through 108. The vehicle relative-position sensors 110 may include radar-based sensors, infrared sensors, or any other system suitable for the purpose.
A distance, vehicle, and driver monitoring module 114 at each of the vehicles 102 through 108 receives signaling from the respective vehicle relative-position sensors 110 to calculate the respective distance 112 between the respective vehicle and other vehicles traveling in proximity to the respective vehicle. The distance, vehicle, and driver monitoring module 114 may also include global positioning system (GPS) tracking system modules for use in association with the vehicle relative-position sensors 110 to determine a location and/or position of the respective vehicle 102 through 108 relative to other vehicles within the vehicular environment.
The distance, vehicle, and driver monitoring module 114 also manages and monitors performance information associated with the vehicle, such as acceleration and deceleration (e.g., braking) capabilities, weight, wheel base, turning radius, cargo (e.g., fuel, gravel, etc.), and other data associated with the respective vehicle. Though the distance, vehicle, and driver monitoring module 114 is illustrated as a component-level module for ease of illustration and description purposes, it should be noted that the distance, vehicle, and driver monitoring module 114 may include multiple modules without departure from the scope of the present subject matter. Further, whether configured as a single module or as multiple modules, the distance, vehicle, and driver monitoring module 114 includes any hardware, programmed processor(s), and memory used to carry out the functions of the distance, vehicle, and driver monitoring module 114 as described above and in more detail below.
For example, the distance, vehicle, and driver monitoring module 114 may include additional controller circuitry in the form of application specific integrated circuits (ASICs), processors, antennas, and/or discrete integrated circuits and components for performing communication and electrical control activities associated with the distance, vehicle, and driver monitoring module 114. Additionally, the distance, vehicle, and driver monitoring module 114 also includes interrupt-level, stack-level, and application-level modules as appropriate. Furthermore, the distance, vehicle, and driver monitoring module 114 includes any memory components used for storage, execution, and data processing for performing processing activities associated with the distance, vehicle, and driver monitoring module 114. The distance, vehicle, and driver monitoring module 114 may also form a portion of other circuitry described without departure from the scope of the present subject matter.
Example processing performed by the distance, vehicle, and driver monitoring module 114 includes communicating with vehicles traveling in proximity to the vehicle within which the distance, vehicle, and driver monitoring module 114 operates; receiving vehicle identifiers, vehicle performance capabilities, location information (e.g., GPS coordinates), and driver orientation information from the vehicles; and determining vehicle spacing with respect to the other vehicles.
A communication module 116 is associated with each of the vehicles 102 through 108 to allow external communication between the vehicles 102 through 108 and with other modules within the system 100. The communication module 116 may form a portion of the distance, vehicle, and driver monitoring module 114 or modules or may be a separate module. Communication protocols used by the communication module 116 may include any suitable wireless communication protocol, such as a cellular protocol, a Bluetooth protocol, or other wireless protocol capable of allowing inter-communication between the vehicles 102 through 108 and between the vehicles 102 through 108 and other components within the system 100. For example, the communication module 116 may communicate with other vehicles in close proximity via the Bluetooth or other short-range protocol. Alternatively, the communication module 116 may communicate via a wireless network 118 with other devices and vehicles within the system 100.
A traffic monitoring device 120 monitors the vehicles 102 through 108. The traffic monitoring device 120 collects data associated with the vehicles 102 through 108. The traffic monitoring device 120 includes sensors (not shown), such as a camera, infrared sensor, GPS system, or other systems, to allow it to detect information associated with vehicle spatial relationships, relative speeds, and other information associated with the vehicles 102 through 108. Additionally, the traffic monitoring device 120 may determine weather conditions based upon the associated sensors and/or systems. Alternatively, the traffic monitoring device 120 may include a connection to a weather service (not shown) for determining current weather conditions.
Example processing performed by the traffic monitoring device includes communicating with vehicles within a given vehicular environment, receiving vehicle identifiers, vehicle performance capabilities, location information (e.g., GPS coordinates), and driver orientation information from the vehicles; and determining vehicle spacing with respect to the other vehicles. Additional example processing includes capturing image information for vehicles within a given vehicular environment, processing the captured image information, determining vehicle location information within the vehicular environment based upon the processed image information.
A traffic signaling module 122 provides traffic regulation and control signals for the vehicles 102 through 108 within a given vehicular environment. As such, for purposes of the present description, the traffic signaling module 122 may be considered a traffic regulation system. The traffic signaling module 122 may include any visual signaling module that provides visual signaling at an intersection on a roadway, at an airport, in association with a waterway or canal, or at a train station. Alternatively, the traffic signaling module 122 may include radio-frequency signaling capabilities to communicate the associated signaling to the vehicles 102 through 108 and other modules within the system 100. The traffic signaling module 122 may signal other modules within the system 100 contemporaneously with traffic signaling or in advance of signaling to allow flexibility within the system 100.
A traffic synchronization device 124 communicates via the wireless network 118 with each of the vehicles 102 through 108 via the respective communication module 116 and with other modules as described above and in more detail below in association with
A database 126 is associated with the traffic synchronization device 124 and provides storage capabilities for information associated with the automated traffic synchronization, monitoring, and control performed by the traffic synchronization device 124. The database 126 includes a vehicle information storage area 128, a driver information storage area 130, and a traffic information storage area 132. Information and data stored within the vehicle information storage area 128, the driver information storage area 130, and the traffic information storage area 132 may be stored in the form of tables or other arrangements accessible by the traffic synchronization device 124.
The vehicle information storage area 128 stores vehicle information, such as spatial relationship information (e.g., GPS location information) and performance information, received from the vehicles 102 through 108 via the respective communication module 116. Additionally, the vehicle spatial relationship information may be received or determined from information received from the traffic monitoring device 120. The vehicle spatial information may include distances between vehicles within the given vehicular environment and may also include minimum desired spacing with respect to other vehicles for weather, speed, or other reasons. For example, a tanker truck full of gasoline or a dump truck full of gravel may have minimum desired spacing with respect to other vehicles, such as to stay a certain distance behind the vehicle, while traveling. The performance information includes acceleration and deceleration (e.g., braking) capabilities, weight, wheel base, turning radius, cargo (e.g., fuel, gravel, etc.), and other data associated with each of the vehicles 102 through 108.
The driver information storage area 130 stores driver status information associated with drivers of the vehicles 102 through 108 provided by the respective distance, vehicle, and driver monitoring module 114. The driver status information includes information such as driver body orientation information, driver head orientation information, driver eye direction information, and driver activity information.
The traffic information storage area 132 stores traffic information and data generated by the traffic monitoring device 120. As described above, the traffic information and data includes position information, spacing, relative speeds, and other information associated with the vehicles 102 through 108. Additionally, any determined traffic congestion patterns, such as rush hour patterns, may be stored to the traffic information storage area 132 for use during the automated traffic synchronization, monitoring, and control activities of the traffic synchronization device 124.
It should be noted that the traffic synchronization device 124 may be any computing device capable of processing information as described above and in more detail below. For example, the traffic synchronization device 124 may include devices such as a personal computer (e.g., desktop, laptop, palm, etc.) or a handheld device (e.g., cellular telephone, personal digital assistant (PDA), email device, music recording or playback device, etc.), or any other device capable of processing information as described.
The display 202 may include any display device, such as a cathode ray tube (CRT), liquid crystal display (LCD), light emitting diode (LED), projection, touchscreen, or other display element or panel. The input device 204 may include a computer keyboard, a keypad, a mouse, a pen, a joystick, or any other type of input device by which the user may interact with and respond to information on the display 202. The display 202 and the input device 204 provide user configurability and feedback for operations associated with the traffic synchronization device 124. For example, the display 202 may present status associated with the traffic synchronization device 124 to an administrative person associated with the traffic synchronization device 124. Additionally, the input device 204 may provide input capabilities for the traffic synchronization device 124, such as enabling and disabling functionality, status information, or configuration options.
It should be noted that the display 202 and the input device 204 are illustrated with a dashed-line representation within
A communication module 206 provides interconnection capabilities that allow the traffic synchronization device 124 to communicate with other modules within the system 100, such as any of the communication modules 116 of the vehicles 102 through 108, the traffic monitoring device 120, and the traffic signaling device 122. The communication module 206 may include any electrical, protocol, and protocol conversion capabilities useable to provide the interconnection capabilities. Though the communication module 206 is illustrated as a component-level module for ease of illustration and description purposes, it should be noted that the communication module 206 includes any hardware, programmed processor(s), and memory used to carry out the functions of the communication module 206 as described above and in more detail below.
For example, the communication module 206 may include additional controller circuitry in the form of application specific integrated circuits (ASICs), processors, antennas, and/or discrete integrated circuits and components for performing communication and electrical control activities associated with the communication module 206. Additionally, the communication module 206 also includes interrupt-level, stack-level, and application-level modules as appropriate. Furthermore, the communication module 206 includes any memory components used for storage, execution, and data processing for performing processing activities associated with the communication module 206. The communication module 206 may also form a portion of other circuitry described without departure from the scope of the present subject matter.
A memory 208 includes a traffic synchronization application 210 that provides the automated traffic synchronization, monitoring, and control for the traffic synchronization device 124, as described above and in more detail below. The traffic synchronization application 210 includes instructions executable by the CPU 200 for performing these functions. The CPU 200 executes these instructions to provide the processing capabilities described above and in more detail below for the traffic synchronization device 124.
The traffic synchronization application 210 may form a portion of an interrupt service routine (ISR), a portion of an operating system, a portion of a browser application, or a portion of a separate application without departure from the scope of the present subject matter. The traffic synchronization application 210 also calculates a synchronized control action for each of the vehicles 102 through 108 for synchronizing traffic with a traffic regulation system, such as the traffic signaling device 122, based upon traffic signaling information, and spatial relationship information and performance information for each of the vehicles 102 through 108.
Alternatively, as with other modules described, the traffic synchronization application 210 may be configured as a separate hardware or hardware/software module and may include additional controller circuitry in the form of application specific integrated circuits (ASICs), processors, antennas, and/or discrete integrated circuits and components for performing communication and electrical control activities associated with the traffic synchronization application 210. Additionally, the traffic synchronization application 210 may include any interrupt-level, stack-level, and application-level modules as appropriate. Furthermore, the traffic synchronization application 210 may include any memory components used for storage, execution, and data processing for performing processing activities associated with the traffic synchronization application 210. The traffic synchronization application 210 may also form a portion of other circuitry described without departure from the scope of the present subject matter.
It is understood that the memory 208 may include any combination of volatile and non-volatile memory suitable for the intended purpose, distributed or localized as appropriate, and may include other memory segments not illustrated within the present example for ease of illustration purposes. For example, the memory 208 may include a code storage area, a code execution area, and a data area without departure from the scope of the present subject matter.
The CPU 200, the display 202, the input device 204, the communication module 206, the memory 208, and the database 126 are interconnected via an interconnection 212. The interconnection 212 may include a system bus, a network, or any other interconnection capable of providing the respective components with suitable interconnection for the respective purpose.
It should be noted that the traffic synchronization device 124 is described as a stationary device for ease of illustration purposes. However, it should be noted that the traffic synchronization device 124 may be a portable device that may be carried by a user or may be a stationary device located within a moving vehicle, such as a plane, boat, train, automobile, or other vehicle, without departure from the scope of the present subject matter. In addition, components of the traffic synchronization device 124 may be co-located or distributed and interconnected via a network without departure from the scope of the present subject matter. It should also be understood that, though the vehicle information storage area 128, the driver information storage area 130, and the traffic information storage area 132 are shown within the database 126, they may also be stored within the memory 208 without departure from the scope of the present subject matter.
Accordingly, the traffic synchronization device 124 may take many forms and may be associated with many platforms.
At block 402, the process 400 determines which vehicles within a given vehicular environment are capable of automated control. As described above, certain vehicles within the vehicular environment may be capable of automated control based upon the automated traffic synchronization performed by the traffic synchronization device 124 and certain other vehicles may be controlled manually by a driver/operator of the vehicle. Accordingly, the process 400 makes the determination at block 402 to allow appropriate synchronization activities, as described in more detail below, to be performed. The determination made at block 402 may also include determining a vehicle identifier associated with each vehicle to allow automated control signaling to be communicated to each vehicle using the respective vehicle identifier.
The determination made by the process 400 at block 402 may include communication with the respective distance, vehicle, and driver monitoring module 114 or appropriate sub-module to poll or query each of the vehicles 102 through 108 within the vehicular environment for automated control capabilities. The polled inquiry or query may be communicated to the respective distance, vehicle, and driver monitoring module 114 or appropriate sub-module, as appropriate. Additionally, the determination made at block 402 may include receiving responses to the polled inquiries or queries of each of the vehicles 102 through 108. Further, the determination made at block 402 may be made in response to a broadcast of automated control capabilities produced by the distance, vehicle, and driver monitoring module 114 located within each of the vehicles 102 through 108 and received by the traffic synchronization device 124. Any broadcast capabilities of the distance, vehicle, and driver monitoring module 114 may be configured to be periodic or may be triggered upon entry into range of a given vehicular environment or traffic regulation device, such as the traffic signaling device 122. Many other possibilities exist for determining automated control capabilities of vehicles within a given vehicular environment and all are considered within the scope of the present subject matter.
At block 404, the process 400 communicates vehicle identifier information, vehicle capabilities (e.g., automated or non-automated), and a driver alert to vehicles within the given vehicular environment. This communication allows vehicles within the vehicular environment to become informed as to capabilities of surrounding vehicles. It should be noted that this portion of the process 400 may also be performed and/or verified by inter-vehicle communication via the communication modules 116 associated with each of the vehicles 102 through 108.
At block 406, the process 400 determines performance characteristics for the vehicles 102 through 108. The performance characteristics may include acceleration and deceleration (e.g., braking) capabilities, weight, wheel base, turning radius, cargo (e.g., fuel, gravel, etc.), and other data associated with the respective vehicles. At block 408, the process determines driver characteristics for drivers/operators of the vehicles 102 through 108. The driver characteristics may include driver body orientation information, driver head orientation information, driver eye direction information, and driver activity information, and other driver characteristics as described above.
As with other processing operations performed by the process 400, for both blocks 406 and 408, the process 400 may communicate with the respective distance, vehicle, and driver monitoring module 114 or appropriate sub-module to poll or query each vehicle within the vehicular environment for the respective performance and driver characteristics and may receive appropriate responses to the polled inquiries or queries of each of the vehicles 102 through 108. Further, the determination of the performance and driver characteristics may be made in response to broadcast performance and driver characteristics produced by the distance, vehicle, and driver monitoring module 114 located within each of the vehicles 102 through 108 and received by the traffic synchronization device 124. As described above, any broadcast capabilities of the distance, vehicle, and driver monitoring module 114 may be configured to be periodic or may be triggered upon entry into range of a given vehicular environment or traffic regulation device, such as the traffic signaling device 122. Many other possibilities exist for determining performance characteristics and driver characteristics and all are considered within the scope of the present subject matter.
At block 410, the process 400 determines traffic characteristics associated with the vehicles 102 through 108 within the respective vehicular environment. The traffic characteristics may include a number of vehicles, spacing, speed, and other characteristics. As described above, these characteristics may be received from the respective distance, vehicle, and driver monitoring module 114 or from the traffic monitoring device 124 in any manner described above for other processing operations performed by the process 400. The traffic characteristics may include GPS coordinates for each of the vehicles 102 through 108.
At decision point 412, the process 400 makes a determination as to whether a traffic signaling event has occurred. As described above, traffic signaling events may be generated by the traffic signaling device 122 and communicated to the traffic synchronization device 124 in any manner described above for other processing operations performed by the process 400. When a determination is made at decision point 412 that a traffic signaling event has not occurred, the process 400 returns to block 402 to iterate as described above through blocks 402 through 410 to continually and/or periodically monitor and update all tracked information. As such, the process 400 may remain in a ready state to perform automated traffic synchronization and control processing.
When a determination is made at decision point 412 that a traffic signaling event has occurred or is about to occur, depending upon configuration of the traffic signaling device 122 and its signaling configuration, the process 400 sends an initial alert to drivers of the vehicles 102 through 108 at block 414. The alert sent at block 414 notifies the drivers of the vehicles 102 through 108 that either an automated synchronization and control action is about to be performed for automated control vehicles or that an instruction for manual control will be provided to the driver of any non-automated vehicles.
At block 416, the process 400 calculates a synchronized control action for each of the vehicles 102 through 108. The synchronized control action may be an automated control action or a control action to be performed by the driver of the respective vehicle, such as acceleration and deceleration (e.g., braking) controls, a driver notification time, a vehicle start, and a vehicle stop time for each of the vehicles 102 through 108, as described above. At block 418, the process 400 communicates the respective synchronized control action to each vehicle within the given vehicular environment. The process 400 returns to block 402 to begin monitoring and data gathering activities as described above.
It should be noted that while the example of
As described above in association with
Those skilled in the art will recognize, upon consideration of the above teachings, that certain of the above exemplary embodiments are based upon use of a programmed, processor such as CPU 200. However, the invention is not limited to such exemplary embodiments, since other embodiments could be implemented using hardware component equivalents such as special purpose hardware and/or dedicated processors. Similarly, general purpose computers, microprocessor based computers, micro-controllers, optical computers, analog computers, dedicated processors, application specific circuits and/or dedicated hard wired logic may be used to construct alternative equivalent embodiments.
As will be appreciated by one skilled in the art, the present invention may be embodied as a system, method or computer program product. Accordingly, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module” or “system.” Furthermore, the present invention may take the form of a computer program product embodied in any tangible medium of expression having computer-usable program code embodied in the medium.
Any combination of one or more computer usable or computer readable medium(s) may be utilized. The computer-usable or computer-readable medium may be, for example but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, device, or propagation medium. More specific examples (a non-exhaustive list) of the computer-readable medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a transmission media such as those supporting the Internet or an intranet, or a magnetic storage device. Note that the computer-usable or computer-readable medium could even be paper or another suitable medium upon which the program is printed, as the program can be electronically captured, via, for instance, optical scanning of the paper or other medium, then compiled, interpreted, or otherwise processed in a suitable manner, if necessary, and then stored in a computer memory. In the context of this document, a computer-usable or computer-readable medium may be any medium that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device. The computer-usable medium may include a propagated data signal with the computer-usable program code embodied therewith, either in baseband or as part of a carrier wave. The computer usable program code may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc.
Computer program code for carrying out operations of the present invention may be written in any combination of one or more programming languages, including an object oriented programming language such as Java™, Smalltalk, C++ or the like and conventional procedural programming languages, such as the “C” programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).
The present invention has been described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to example embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable medium that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable medium produce an article of manufacture including instruction means which implement the function/act specified in the flowchart and/or block diagram block or blocks.
The computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
The flowchart and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible example implementations of systems, methods and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
A data processing system suitable for storing and/or executing program code will include at least one processor coupled directly or indirectly to memory elements through a system bus. The memory elements can include local memory employed during actual execution of the program code, bulk storage, and cache memories which provide temporary storage of at least some program code in order to reduce the number of times code must be retrieved from bulk storage during execution.
Input/output or I/0 devices (including but not limited to keyboards, displays, pointing devices, etc.) can be coupled to the system either directly or through intervening I/0 controllers.
Network adapters may also be coupled to the system to enable the data processing system to become coupled to other data processing systems or remote printers or storage devices through intervening private or public networks. Modems, cable modems and Ethernet cards are just a few of the currently available types of network adapters.
Those skilled in the art will recognize improvements and modifications to the preferred embodiments of the present invention. All such improvements and modifications are considered within the scope of the concepts disclosed herein and the claims that follow.
This application is a continuation of and claims priority to and claims the benefit of U.S. patent application Ser. No. 12/206,507 titled “AUTOMATED TRAFFIC SYNCHRONIZATION,” which was filed in the United States Patent and Trademark Office on Sep. 8, 2008, which has a current status of “Allowed,” and which is incorporated herein by reference in its entirety.
Number | Name | Date | Kind |
---|---|---|---|
5454442 | Labuhn et al. | Oct 1995 | A |
5777451 | Kobayashi et al. | Jul 1998 | A |
5969640 | Timm et al. | Oct 1999 | A |
6044321 | Nakamura et al. | Mar 2000 | A |
6246948 | Thakker | Jun 2001 | B1 |
6278360 | Yanagi | Aug 2001 | B1 |
6370471 | Lohner et al. | Apr 2002 | B1 |
6459983 | Lichtenberg et al. | Oct 2002 | B1 |
6516262 | Takenaga et al. | Feb 2003 | B2 |
6629515 | Yamamoto et al. | Oct 2003 | B1 |
6985073 | Doan | Jan 2006 | B1 |
7119696 | Borugian | Oct 2006 | B2 |
7138923 | Ferrone et al. | Nov 2006 | B2 |
8344906 | Emam et al. | Jan 2013 | B2 |
20030168271 | Massen | Sep 2003 | A1 |
20040068393 | Lawrence | Apr 2004 | A1 |
20040083049 | Fuchs | Apr 2004 | A1 |
20040260455 | Dort | Dec 2004 | A1 |
20060184312 | Kiim | Aug 2006 | A1 |
20070222638 | Chen et al. | Sep 2007 | A1 |
Number | Date | Country |
---|---|---|
16-275197 | Apr 2006 | JP |
18-038337 | Aug 2007 | JP |
Entry |
---|
United States Patent and Trademark Office, Office Action for U.S. Appl. No. 12/206,507, Feb. 1, 2011, pp. 1-10, Alexandria, VA, USA. |
United States Patent and Trademark Office, Office Action for U.S. Appl. No. 12/206,507, Nov. 23, 2011, pp. 1-9, Alexandria, VA, USA. |
United States Patent and Trademark Office, Notice of Allowance for U.S. Appl. No. 12/206,507, Aug. 21, 2012, pp. 1-8, Alexandria, VA, USA. |
Number | Date | Country | |
---|---|---|---|
20130013130 A1 | Jan 2013 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 12206507 | Sep 2008 | US |
Child | 13617080 | US |