Patent Description:
Currently, traffic is managed by multiple independent signaling units that manage traffic at a particular position or intersection by changing the signals, such as traffic lights changing colors according to a particular timing schedule. Typically, each signaling unit (or traffic light) is controlled by an intersection controller or a traffic signaling control system to turn on and off the signal and thereby manage the traffic. For example, a traffic signaling control system can be coupled to an intersection traffic light and control the timing of the light switching in the traffic light according to predetermined timing schedules and inputs from various sensors. However, such systems require expensive infrastructure and hardware such as dedicated communication and control centers with many servers.

Patent application publication <CIT> discloses a self-configuring traffic controller using a single centralised traffic controller which controls all of the traffic signals.

There is thus provided, in accordance with the invention, an adaptive traffic signaling device according to claim <NUM>.

In some embodiments, the processor may control operation of the signal output unit based on the first input and second input.

In some embodiments, the at least one signal output unit includes at least one light source to display at least one color.

In some embodiments, the at least one signal output unit includes traffic signaling control system interfaces such as Ethernet with NTCIP, Serial with AB3418E or proprietary protocols, SDLC or NEMA TS-<NUM>/<NUM> ABC connectors, where the signal output unit provides known types of sensor signals to an intersection controller of a traffic signaling control system. In some embodiments, the traffic signaling device includes a timing controller, including a Real-Time Clock (RTC), wherein the timing controller may receive clock synchronization signals via the wireless communication module, and wherein the timing controller may synchronize signal output of the at least one signal output unit, based on RTC output.

In some embodiments, the traffic signaling device includes a Global Navigation Satellite System (GNSS) module, wherein the timing controller is to receive clock synchronization signals via the GNSS module. In some embodiments, the traffic signaling device includes a rechargeable power source configured to be recharged by electrical signals received via the first input. In some embodiments, the traffic signaling device includes at least one sensor, coupled to the processor, and may detect objects in proximity to the traffic signaling device.

In some embodiments, the wireless communication module may transmit data to one or more remote recipient devices, in order to coordinate the operation of one or more traffic control systems. In some embodiments, the one or more traffic control systems includes at least one of: connected vehicles, traffic signaling devices, and navigation systems. In some embodiments, the processor may identify each detected object. In some embodiments, the processor may continuously determine a number of objects in proximity to the at least one signal output unit, or to the signaling device, based on signals received from the at least one sensor.

In some embodiments, the processor may calculate at least one object's parameter, wherein the at least one object's parameter consists of, at least one of: velocity, direction, object orientation, acceleration, type of object, and object identifier. In some embodiments, the processor may instruct a timing controller to automatically adjust timing schedules for each of the at least one signal output unit, based on at least two of first input, the calculated object's parameters, and the at least one second input.

In some embodiments, the traffic signaling device includes at least one memory module coupled to the processor, wherein the at least one memory module may store at least one of: current timing schedules, schedules history, sensor raw data, sensor processed data, and historic data from external sources.

There is thus provided, in accordance with the invention, a method of adaptive traffic signaling according to claim <NUM>.

In some embodiments, the method includes determining number of objects in proximity to the at least one signal output unit based on an output of at least one sensor. In some embodiments, the method includes receiving a traffic status parameter from at least one external server, wherein the controlling is also based on the received traffic status parameter. In some embodiments, the method includes receiving a clock synchronization signal, receiving at least one timing schedule, and synchronizing the signal output of the at least one signal output unit based on the clock synchronization signal and the timing schedule.

In some embodiments, the method includes receiving an output signal from at least another signal output unit, wherein the controlling is also based on the received output signal. In some embodiments, the method includes transmitting, via the wireless communication module, data to one or more remote recipient devices.

There is thus provided, in accordance with some embodiments of the invention, an adaptive traffic signaling system including at least two signal output units, in active communications therebetween, at least two processors connected to the at least two signal output units, wherein each processor may receive a first input from a traffic signaling control system, and to receive at least one second input from at least one external source, and a wireless communication module, to allow communication between the at least one external source and the at least two processors, and between the at least two signal output units. In some embodiments, at least one processor may control operation of the signal output units based on the first input, the second input, and data from other signal output units. In some embodiments, the adaptive traffic signaling system includes one processor connected to at least two signal output units.

For example, the dimensions of some of the elements can be exaggerated relative to other elements for clarity, or several physical components may be included in one functional block or element. Further, where considered appropriate, reference numerals can be repeated among the figures to indicate corresponding or analogous elements.

However, it will be understood by those skilled in the art that the present invention can be practiced without these specific details.

Although embodiments of the invention are not limited in this regard, discussions utilizing terms such as, for example, "processing," "computing," "calculating," "determining," "establishing", "analyzing", "checking", or the like, may refer to operation(s) and/or process(es) of a computer, a computing platform, a computing system, or other electronic computing device, that manipulates and/or transforms data represented as physical (e.g., electronic) quantities within the computer's registers and/or memories into other data similarly represented as physical quantities within the computer's registers and/or memories or other information non-transitory storage medium that may store instructions to perform operations and/or processes. Although embodiments of the invention are not limited in this regard, the terms "plurality" and "a plurality" as used herein may include, for example, "multiple" or "two or more". The terms "plurality" or "a plurality" may be used throughout the specification to describe two or more components, devices, elements, units, parameters, or the like. Unless explicitly stated, the method embodiments described herein are not constrained to a particular order or sequence. Additionally, some of the described method embodiments or elements thereof can occur or be performed simultaneously, at the same point in time, or concurrently.

Reference is now made to <FIG>, which shows a block diagram of an exemplary computing device <NUM>, according to some embodiments of the invention. Computing device <NUM> may include a controller <NUM> that may be, for example, a central processing unit processor (CPU), a chip or any suitable computing or computational device, an operating system <NUM>, a memory <NUM>, a storage <NUM>, at least one input device <NUM> and at least one output device <NUM>. Controller <NUM> may be configured to carry out methods as disclosed herein by for example executing code or software.

Operating system <NUM> may be or may include any code segment designed and/or configured to perform tasks involving coordination, scheduling, arbitration, supervising, controlling or otherwise managing operation of computing device <NUM>, for example, scheduling execution of programs. Operating system <NUM> may be a commercial operating system. Memory <NUM> may be or may include, for example, a Random Access Memory (RAM), a read only memory (ROM), a Dynamic RAM (DRAM), a Synchronous DRAM (SD-RAM), a double data rate (DDR) memory chip, a Flash memory, a volatile memory, a non-volatile memory, a cache memory, a buffer, a short term memory unit, a long term memory unit, or other suitable memory units or storage units. Memory <NUM> may be or may include a plurality of, possibly different memory units.

Executable code <NUM> may be any executable code, e.g., an application, a program, a process, task or script. Executable code <NUM> may be executed by controller <NUM> possibly under control of operating system <NUM>. For example, executable code <NUM> may be an application for image processing to identify number of objects in a certain frame. In some embodiments, some of the components shown in <FIG> may be omitted. For example, memory <NUM> may be a non-volatile memory having the storage capacity of storage <NUM>. Accordingly, although shown as a separate component, storage <NUM> may be embedded or included in memory <NUM>.

Input devices <NUM> may be or may include a video camera, RADAR sensor or any suitable input device. It will be recognized that any suitable number of input devices may be operatively connected to computing device <NUM> as shown by block <NUM>. Output devices <NUM> may include one or more displays and/or any other suitable output devices to deliver a signal. It will be recognized that any suitable number of output devices may be operatively connected to computing device <NUM> as shown by block <NUM>. Any applicable input/output (I/O) devices may be connected to computing device <NUM> as shown by blocks <NUM> and <NUM>.

Embodiments of the invention may include an article such as a computer or processor non-transitory readable medium, or a computer or processor non-transitory storage medium, such as for example a memory, a disk drive, or a USB flash memory, encoding, including or storing instructions, e.g., computer-executable instructions, which, when executed by a processor or controller, carry out methods disclosed herein. For example, a storage medium such as memory <NUM>, computer-executable instructions such as executable code <NUM> and a controller such as controller <NUM>.

A system according to embodiments of the invention may include components such as, but not limited to, a plurality of central processing units (CPU) or any other suitable multipurpose or specific processors or controllers such as GPU or DSP, a plurality of input units, a plurality of output units, a plurality of memory units, and a plurality of storage units. A system may additionally include other suitable hardware components and/or software components. In some embodiments, a system may include or may be, for example, a personal computer, a desktop computer, a mobile computer, a laptop computer, a notebook computer, a terminal, a workstation, a server computer, a Personal Digital Assistant (PDA) device, a tablet computer, a network device, or any other suitable computing device. Unless explicitly stated, the method embodiments described herein are not constrained to a particular order or sequence. Additionally, some of the described method embodiments or elements thereof can occur or be performed at the same point in time.

Reference is now made to <FIG> and <FIG>, which show a block diagram of a traffic signaling device <NUM>, according to some embodiments of the invention. The direction of arrows in <FIG> and <FIG> may indicate the direction of data flow.

In <FIG>, traffic signaling device <NUM> includes at least one processor <NUM> (e.g., such as controller <NUM> in <FIG>) and at least one signal output unit <NUM> operably coupled thereto. Traffic signaling device <NUM> is adaptive. In some embodiments, the at least one signal output unit <NUM> may include at least one light source to display at least one predetermined color. For example, a signal output unit <NUM> may replace one or more light bulbs of a traffic light so as to output signals and thereby manage traffic, as further described hereinafter. In some embodiments, signal output unit <NUM> may output signal to computerized devices (e.g., autonomous cars) that are not visible to the drivers (e.g., RF signals) and thereby manage the traffic. It should be noted that an adaptive traffic signaling device <NUM> may be adaptive to incoming input, for example adaptive to receipt of new timing schedules from an external server.

According to the invention, the processor <NUM> receives a first input <NUM> from a traffic signaling control system (e.g., traffic signaling control system <NUM> as shown in <FIG>), and also receives at least one second input <NUM> from at least one external source. The processor <NUM> may control operation of the signal output unit based on the first input <NUM> and second input <NUM>. For example, processor <NUM> may receive a first input <NUM> of timing schedules from a traffic signaling control system coupled to an existing traffic light, and also receive a clock second input <NUM> from an external source, such as a server coupled to signaling device <NUM>, a satellite navigation system coupled to signaling device <NUM>, such as Global Positioning System (GPS), Global Navigation Satellite System (GLONASS) and/or BeiDou Navigation Satellite System (BEIDOU). In some embodiments, the processor may be coupled to a satellite navigation system (e.g., GPS, GLONASS or BEIDOU) and receive clock synchronization signals to synchronize signal output of the at least one signal output unit <NUM>. In some embodiments, positioning information from the satellite navigation system may allow optimization of traffic management utilizing traffic status data for particular locations, for example receiving traffic status for a particular intersection (e.g., based on GPS positioning data) and changing signaling accordingly.

According to the invention, traffic signaling device <NUM> further includes a wireless communication module <NUM>, for instance to allow communication between the at least one external source and the processor <NUM>. In some embodiments, the wireless communication module <NUM> may receive clock synchronization signals to synchronize signal output of the at least one signal output unit <NUM>. In some embodiments, traffic signaling device <NUM> may further include an encryption module to encrypt data transferred between the processor <NUM> and the at least one external source.

In some embodiments, wireless communication module <NUM> may transmit data to one or more remote recipient devices, in order to coordinate the operation of one or more traffic control systems. In some embodiments, a traffic control system may be or may include at least one of: connected vehicles, traffic signaling devices, and navigation systems and applications.

According to the invention, traffic signaling device <NUM> includes a timing controller <NUM> to control signal timing of the at least one signal output unit <NUM>. In some embodiments, an output signal of traffic signaling device <NUM> may be sent from timing controller <NUM> (and not from processor <NUM>) such that the output signal may be independent of the wireless communication module <NUM>. Thus, an output signal may be sent from timing controller <NUM> even when wireless communication is unavailable (e.g., due to infrastructure problems). Furthermore, such a traffic signaling device <NUM> may be protected against malicious hacking attempts (to control the signaling) via the wireless communication module <NUM> because the timing controller <NUM> is physically separate from the processor <NUM>. According to the invention, timing controller <NUM> carries out at least one timing validation check to make sure that timing command from processor <NUM> complies with timing preferences in timing controller <NUM>, for example to insure that processor <NUM> is not hacked by a malicious party.

According to some embodiments, traffic signaling device <NUM> may further include at least one sensor <NUM>, coupled to the processor <NUM>, and configured to detect objects <NUM> in proximity to the traffic signaling device <NUM>. Such objects <NUM> may be identified and associated to object types selected from the group consisting of: vehicles, pedestrians, and hazardous objects (e.g. obstacles on the road). In some embodiments, processor <NUM> may receive from the at least one sensor <NUM> sensor raw data, and may determine a number of objects <NUM> in proximity to the at least one signal output unit <NUM> (e.g., using object detection, tracking, and recognition algorithms, such as object detection algorithms such a Convolutional Neural Networks (CNN), HOG SVM classifiers, blob tracking, keypoint tracking and tracking by detection, etc.). In some embodiments, number of objects <NUM> may be determined, in proximity to the at least one signal output unit <NUM>, for each frame if the sensor <NUM> is an imager. In some embodiments, localization of at least one object <NUM> may be determined, e.g. in the frame/field of view of the sensor <NUM>.

In some embodiments, the processor <NUM> may calculate at least one object's <NUM> parameter, such as velocity, direction, object orientation, acceleration, type of object (e.g., public transportation, private car etc.), and object identifier (e.g., license plate). In some embodiments information regarding type and velocity maybe be used to calculate ETA for each object. In some embodiments, the sensor <NUM> may include at least one of: a video camera, a RADAR sensor, and LIDAR sensor. In some embodiments, one or more of the object's <NUM> parameters may be calculated based on comparison of two or more consecutive readings received from sensor <NUM> (e.g., two or more consecutive images obtained by a camera or a RADAR).

In some embodiments, the processor <NUM> may automatically adjust predetermined timing schedules for each of the at least one signal output unit <NUM>, based on at least two of first input <NUM>, the calculated object's <NUM> parameters, timing controller <NUM> and the at least one second input <NUM>. For example, processor <NUM> may receive timing schedules as first input <NUM>, real-time traffic jam data in predetermined proximity (e.g., <NUM> kilometers) to traffic signaling device <NUM> as second input <NUM>, and image sensor <NUM> reading detecting that there are no vehicles waiting for a green light at the intersection so that there is no need to change the signaling of the signal output unit <NUM>, and accordingly adjust the predetermined timing schedule. In another example, image sensor <NUM> may detect a vehicle approaching at a velocity greater than a predetermined threshold (e.g., over <NUM> kilometers per hour) such that the vehicle is unable to stop if signal output unit <NUM> changes signal to indicate the vehicle to stop, so in that scenario signal output unit <NUM> may wait until the speeding vehicle passes to change the signaling and thereby avoid a collision with other vehicle and/or object. In yet another example, processor <NUM> may receive timing schedules as first input <NUM>, and real-time traffic jam data in predetermined proximity (e.g., <NUM> kilometers) to traffic signaling device <NUM> as second input <NUM> indicating that a traffic jam occurs in a nearby intersection so that signal output unit <NUM> may automatically restrict traffic flow in that direction (e.g., increasing time of red light in a traffic light with timing controller <NUM>) so as to reduce incoming traffic to that intersection and thereby reduce the traffic jam.

According to some embodiments, first input <NUM> may provide power for the operation of traffic signaling device <NUM>. In one embodiment, traffic signaling device <NUM> may include a rechargeable power source to be recharged by electrical signals received via the first input <NUM>. In some embodiments, traffic signaling device <NUM> may further include a user interface module to allow manual control of the at least one signal output unit <NUM>.

According to some embodiments, traffic signaling device <NUM> may further include at least one memory module <NUM> coupled to the processor <NUM> to store at least one of: predetermined timing schedules, schedules history, sensor raw data, and historic data from external sources.

<FIG> shows an alternative configuration of traffic signaling device <NUM> in accordance with an alternative embodiment. In <FIG>, traffic signaling device <NUM> is substantially similar to that which is shown and described in <FIG> except as is otherwise indicated hereinbelow. In <FIG>, the at least one signal output unit <NUM> may include at least one detector interface, such as a call interface in NTCIP, a proprietary protocol using serial interface such as RS-<NUM>/<NUM>/<NUM>, a NEMA TS-<NUM>/<NUM> ABC connector or any other connector that receives a digital electrical signal. For example, signal output unit <NUM> may emulate a detector (such as a loop detector, a video detector, or a radar detector that outputs an on-off signal), and in that way control the traffic light by placing calls to a free-mode, fully-actuated traffic signaling control system. Traffic signaling device <NUM> may be adaptive to incoming input, such as the receipt of data from sensors or external sources such as connected cars. Processor <NUM> may receive first input <NUM> in the form of the current phase status from a traffic signaling control system coupled to existing traffic lights.

In some embodiments of <FIG>, an output signal of traffic signaling device <NUM> may be sent from timing controller <NUM> to the traffic signaling control system through signal output unit <NUM> such that the output signal may be independent of the wireless communication module <NUM>. Thus, an output signal may be sent from timing controller <NUM> even when wireless communication is unavailable (e.g., due to infrastructure problems). Furthermore, traffic signaling device <NUM> may be protected against malicious hacking attempts (to control the signaling) via the wireless communication module <NUM>, where the timing controller <NUM> is physically separate from the processor <NUM>. The physical separation is preferably implemented via a dedicated interface that lowers the attack surface by allowing only specific messages between them, where the interface isolation can be, for example, a single-way communication interface such as electro-optical isolation or software based. In some embodiments, processor <NUM> and/or timing controller <NUM> may carry out at least one timing validation checks to make sure that timing command from processor <NUM> complies with timing preferences in timing controller <NUM>, for example to ensure that processor <NUM> is not hacked by a malicious party. Such protection works by the means of cryptographic signatures of the data provided by other inputs (such as RSA public-private keys). When a processor that is coupled to the output units receives data from other processors or external sources, it then validates that the data was signed by the originators of the data such that it protects against injection of malicious data. Moreover, when a new timing plan is created, the timing controller validates that multiple signaling devices <NUM> that are found in a given traffic intersection all agree that the new plan is safe and correct by asking all the processor <NUM> to sign the timing plan with their own private encryption key. Moreover, timing controller <NUM> will preferably have a set of preferences that dictates a set of limits which the timing plans should adhere to, such as maximum green time per traffic cycle, minimum yellow time per traffic cycle, and other micro-level settings exposed by the traffic signaling control system to be configured or set via timing controller <NUM>.

Operation of the system of <FIG> may be illustrated in the context of the following scenario in which a traffic signaling control system controls of one or more traffic signals. First input <NUM> receives the current phase status of the traffic signals from the traffic signaling control system. Second input <NUM> receives data about a queue of cars in the proximity of sensor <NUM>, as well as data about other such queues from other signaling devices <NUM> that are found at the same intersection. Processor <NUM> computes an optimal traffic control plan using the current phase status and the queue data and passes it to timing controller <NUM>. Timing controller <NUM> transmits the plan via wireless communication module <NUM> to other devices <NUM> that are found at the same intersection together with a request that the other signaling devices <NUM> approve and cryptographically sign the plan using their private encryption keys and transmit the signed plan back to the sending signaling device <NUM> after checking the plan according to their stored preferences and safety policies. Signaling device <NUM> receives and validates the signed plans using the public cryptographic keys of the sending signaling devices <NUM> to which signaling device <NUM> has access. If all signaling devices <NUM> approve the plan, and the signed plans are all validated, timing controller <NUM> executes the plan by placing calls through signal output unit <NUM> in the order and duration specified by the timing plan. Whichever signal output unit <NUM> that receives such a call sends an emulated detector signal to the traffic signaling control system, which itself then issues a call which changes the traffic signal to the desired status as dictated by the plan, thus controlling the traffic signal to manage the current traffic in the intersection.

Reference is now made to <FIG>, which schematically illustrates an traffic signaling system <NUM>, according to some embodiments of the invention. The direction of arrows in <FIG> may indicate the direction of data flow.

According to some embodiments, traffic signaling system <NUM> may include at least two traffic signaling devices <NUM> with at least two signal output units <NUM> in active communications therebetween. In some embodiments, traffic signaling system <NUM> may include at least one processor (e.g., a processor <NUM> of a traffic signaling devices <NUM>) connected to the at least two signal output units to receive a first input from a traffic signaling control system <NUM>, and to receive at least one second input from at least one external source. The at least one processor may control operation of at least one signal output unit <NUM> based on the first input, the second input, and data from other signal output units <NUM>.

It should be noted that traffic signaling devices <NUM> may only receive electrical power from traffic signaling control system <NUM>, while communication between signal output units <NUM> may be wireless (indicated with a dashed line in <FIG>).

In some embodiments, traffic signaling system <NUM> may further include a wireless communication module <NUM>, to allow communication between the at least one external source and the at least one processor <NUM>, and between the at least two signal output units <NUM>.

In some embodiments, the at least one processor <NUM> may receive information regarding objects in traffic, such as vehicles in proximity to the traffic signaling devices <NUM> (e.g., detected by sensor <NUM>) and/or in other locations to optimize the traffic flow by controlling the signals of the signal output units <NUM>. For example, processor <NUM> may receive information from navigation algorithms and/or systems (e.g., Google Maps) that have data regarding traffic in various locations, and not only in proximity to the traffic signaling devices <NUM>.

It should be noted that traffic signaling system <NUM> may operate completely automatically to manage traffic with an independent and distributed system (where each traffic signaling device <NUM> may be considered as a node) that allows access from each node to all data stored in the system. Traffic signaling system <NUM> may also allow control of all nodes via a single access point (e.g., each node, or a centralized server) via gossip and/or replication communication protocols for distributed systems. Thus, any node may share data (e.g., an image of a traffic jam near a traffic light) in the distributed system. In some embodiments, data may be stored in a compressed format.

According to the invention, when at least two processors <NUM> are coupled to a distributed network (e.g., for a predetermined area such as an intersection) one processor is selected as master or leader, for instance using a leader election algorithm. The leader processor may receive input data, via the wireless communication module <NUM>, from (slave) processors <NUM>, wherein such input data may include traffic status and/or number of objects near each traffic signaling device <NUM> such that the leader processor may create a timing plan based on the input data. In some embodiments, the leader processor may send the timing plan (e.g., timing signaling of each traffic light in an intersection) to timing controllers coupled thereto for authentication and/or validation. In some embodiments, timing controllers that receive the timing plan may execute that plan on the signal output units, for example a timing controller may validate a timing plan and then control at least one signal output unit to execute signals according to that plan.

According to the invention, each timing controller <NUM> authenticates a timing signal (e.g., for a specific signal output units <NUM>) with a unique signature such that timing signals received by the leader processor may be identified for their origin, and therefore allow leader validation on the received timing programs. It should be noted that such leader validation may assist in blocking tempering and/or hacking attempts to the system.

Reference is now made to <FIG>, which shows a flow chart for a method of validating timing plans in a distributed manner, according to some embodiments of the invention. In some embodiments, a predetermined geographical area (e.g., an intersection with two traffic lights) with at least two traffic signaling devices <NUM> may be considered as a distributed system, where one processor <NUM> may be selected as leader. The leader processor may receive <NUM> input data, for example number of objects near each traffic light, from at least two processors <NUM> coupled to that distributed system. The leader processor may create <NUM> a new timing plan (e.g., proposed timing of signaling for each signal output unit <NUM>) based on the received input data.

The leader processor requests <NUM> timing controllers <NUM> associated with the leader processor (e.g., in the same system for a particular intersection) to sign (and/or validate) and return the proposed timing plan to the leader processor. In some embodiments, a timing controller <NUM> may authenticate and/or sign a proposed timing plan if it complies with timing schedules of the corresponding processor and/or signal output unit <NUM>.

According to the invention, leader processor receives signed timing plans from the corresponding timing controllers <NUM>, and checks <NUM> if received signed timing plan is validated. For example, leader processor may check if all timing controllers <NUM> associated with the leader processor sent signed timing plans. In case that the received signed timing plans are validated by the leader processor, the leader processor distributes <NUM> the timing plan back to all timing controllers so as to execute at corresponding signal output units <NUM>.

In case that the received signed timing plans are not validated by the leader processor, the leader processor may send another request <NUM> for timing controllers <NUM> associated with the leader processor to sign and return the proposed timing plan until the signed plans are validated by the leader processor. In some embodiments, at least one timing controller may check and/or validate that the received timing plan does not include conflicting commands, for example validate that two adjacent traffic lights do not display green light simultaneously so as to avoid collision in an intersection.

Reference is now made to <FIG>, which shows a flow chart for a method of adaptive traffic signaling, according to some embodiments of the invention. Some embodiments may include receiving <NUM>, by a processor <NUM> of at least one traffic signaling device <NUM>, a first input <NUM> from a traffic signaling control system <NUM> (e.g., as shown in <FIG>). Some embodiments may include receiving <NUM>, by the processor <NUM>, at least one second input <NUM> from at least one external source.

Some embodiments may include controlling <NUM> operation of a signal output unit <NUM> of the at least one traffic signaling device <NUM>, based on the first input <NUM> and the second input <NUM>.

Some embodiments may include receiving <NUM> a clock synchronization signal, and synchronizing <NUM> the signal output of the at least one signal output unit <NUM> based on the clock synchronization signal.

Some embodiments may include determining amount and/or type and/or location of objects <NUM> in proximity to the at least one signal output unit <NUM> with at least one sensor <NUM>. Some embodiments may include receiving a traffic status parameter from at least one external server, wherein the controlling may also be based on a timing schedule. Some embodiments may include receiving an output signal from at least one signal output unit <NUM>, wherein the controlling may also be based on the received output signal.

Some embodiments may include receiving at least one timing schedule and synchronizing the signal output of the at least one signal output unit <NUM> based on the timing schedule. Some embodiments may include transmitting, via the wireless communication module <NUM>, data to one or more remote recipient devices. In some embodiments, data transmitted to the one or more remote recipient devices may include at least one of: expected signal output in predefined time intervals and/or current signal output. In some embodiments, the one or more remote recipient devices may be selected from the group consisting of: a user computing device, a traffic signaling unit, a remote server, and a vehicle.

Unless explicitly stated, the method embodiments described herein are not constrained to a particular order in time or chronological sequence. Additionally, some of the described method elements can be skipped, or they can be repeated, during a sequence of operations of a method.

Claim 1:
An adaptive traffic signaling device (<NUM>) configured to communicate with one or more other adaptive traffic signaling devices and comprising:
at least one signal output unit (<NUM>);
at least one processor (<NUM>) connected to the at least one signal output unit (<NUM>), wherein the processor (<NUM>) is configured to
receive a first input (<NUM>) from a traffic signaling control system (<NUM>),
receive at least one second input (<NUM>) from at least one external source, and
generate a timing command based on the first input and second input (<NUM>);
a timing controller (<NUM>) that is physically separate from the processor (<NUM>), wherein the timing controller (<NUM>) is configured to
receive the timing command from the processor (<NUM>),
perform a timing validation check to ensure that the timing command complies with timing preferences maintained by the timing controller (<NUM>), and
control signal timing of the signal output unit (<NUM>) in compliance with the timing command if the timing command complies with the timing preferences; and
a wireless communication module (<NUM>), to allow communication between the at least one external source and the processor (<NUM>),
wherein when the processor (<NUM>) is elected a leader processor with respect to the one or more other processors of the adaptive traffic signaling devices,
the processor (<NUM>) is further configured to:
send a timing plan to timing controllers comprised in the one or more other adaptive traffic signaling devices;
receive from each of the timing controllers comprised in the one or more other adaptive traffic signaling devices a signed copy of the timing plan;
upon validation of all received signed copies, resend the timing plan to the one or more other timing controllers for execution.