Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
A MEMORY MODULE FOR STORING DATA INDICATIVE OF A PREDETERMINED PROFILE FOR A TRAFFIC SIGNAL CONTROLLER
Document Type and Number:
WIPO Patent Application WO/2013/110138
Kind Code:
A1
Abstract:
A system (1 ) for controlling a traffic signal includes a traffic controller (6) which has a communications interface (8) having a 25-pin RS232 communication port (9) for physically stably engaging with an external memory device in the form of a self-contained and portable memory module (10). Module (10) contains first data (11) indicative of the predetermined profile and second data (12) indicative of the coding of the first data. Controller (6) includes an on-board memory device (15) containing third data (13) and fourth data (14) that are derived from the first data (11) and the second data (12). A processor (16) is responsive to third data (13) to control the sets of traffic lights (3) and (4) in accordance with the predetermined profile, and responsive to third data (13) and the fourth data (14) for selectively raising an alert signal.

Inventors:
YOUNG MALCOLM (AU)
BULL ANDREW JAMES (AU)
LEMON ROBERT WAYNE (AU)
MILAZZO PAUL (AU)
ANGILLEY PHIL (AU)
Application Number:
PCT/AU2013/000066
Publication Date:
August 01, 2013
Filing Date:
January 25, 2013
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
ALDRIDGE TRAFFIC CONTROLLERS PTY LTD (AU)
International Classes:
G08G1/095; G06F11/08
Foreign References:
US3737847A1973-06-05
US3764973A1973-10-09
Attorney, Agent or Firm:
SHELSTON IP (Sydney NSW 2000, AU)
Download PDF:
Claims:
CLAIMS:

1. A memory module including:

a memory device for containing first data indicative of a predetermined profile for a traffic signal controller and second data indicative of a coding of the first data; and

an interface having at least one communication port for communicating with the traffic signal controller.

2. A memory module according to claim 1 including a processor for selectively communicating the first data and the second data to the traffic signal controller via the port.

3. A memory module according to claim 1 or claim 2 including a housing that exposes the port for communication with the traffic signal controller.

4. A memory module according to claim 3 wherein the housing includes a retaining formation for securely connecting with a retention device.

5. A memory module according to claim 4 wherein the retention device has one or both of a high tensile strength and a high shear strength.

6. A memory module according to claim 4 or claim 5 wherein the retention device is a pliant cord.

7. A memory module according to any one of claims 4 to 6 wherein the retention device is of: metal; plastics; fibre; or a combination of two or more of the foregoing.

8. A memory module according to any one of claim 4 to claim 7 wherein the traffic signal controller controls a traffic signal at a traffic signal site.

9. A memory module according to any one of claims 4 to 8 wherein the traffic signal controller includes a cabinet and the retention device extends between a first end which is connected to the cabinet and a second end which is securely connected with the retaining formation.

10. A memory module according to claim 9 wherein one or both of the first and the second ends are releasably connected to the cabinet and the retaining formation respectively.

11. A memory module according to claim 9 wherein one or both of the first and the second ends are fixedly connected to the cabinet and the retaining formation respectively.

12. A memory module according to claim 3 wherein the port selectively physically stably engages with the traffic signal controller.

13. A memory module according to claim 12 wherein the port releasably engages with the traffic signal controller.

14. A memory module according to claim 12 or claim 13 wherein the port includes a first part of an AMP clipping system and the traffic signal controller includes a second part of the AMP clipping system that selectively compleroentarily stably engages with the first part.

15. A memory module according to claim 2 wherein the port is a serial port and the processor selectively serialises the first data and the second data for communication to the traffic signal controller.

16. A memory module according to claim 2 wherein the serial port is a RS232 communications port.

17. A memory module according to any one of the preceding claims that, in use, is powered by the traffic signal controller.

18. A memory module according to claim 17 wherein the memory module draws power from the traffic signal controller via the port.

19. A memory module according to claim 1 wherein the second data includes integrity checking data for allowing one or more predetermined checks to be undertaken on the first data.

20. A memory module according to claim 19 wherein the one more checks are selected from: authenticity; veracity; originality; and accuracy.

21. A memory module according to claim 20 wherein the second data includes a digest derived from a secure hash algorithm.

22. A memory module according to claim 21 wherein the digest has been encrypted. ,23. A memory module according to claim 22 wherein the digest has been encrypted using a symmetric encryption method and a secret key.

24. A memory module according to claim 22 wherein the digest has been encrypted using an asymmetric encryption method with both a public key and a private key.

25. A memory module including;

a memory device for containing data indicative of a predetermined profile for a traffic control signal;

a processor for serialising the data; and

an RS232 communication port for allowing the serialised data to be communicated with device traffic signal controller.

26. A traffic signal controller for controlling a traffic signal in accordance with a predetermined profile, the traffic signal controller including:

an interface having at least one communication port for physically stably engaging with an external memory module, wherein the external memory module contains first data indicative of the predetermined profile and second data indicative of the coding of the first data;

an on-board memory device containing third data and fourth data that are derived from the first and second data; and

a processor that is responsive to the third data to control the traffic signal in accordance with the predetermined profile, and responsive to the third data and the fourth data for selectively raising an alert signal.

27. A traffic signal controller for controlling a traffic signal in accordance with a predetermined profile, the traffic signal controller including:

an interface having at least one communication port for physically stably engaging with an external memory module containing first data indicative of the predetermined profile;

an on-board memory device containing second data that is derived from the first data; and

a processor that is responsive to the second data to control the traffic signal in accordance with the predetermined profile.

28. A traffic signal controller for controlling a traffic signal in accordance with a predetermined profile, the traffic signal controller including:

an interface having at least one communication port for communicating with an external memory module, wherein the external memory module contains first data indicative of the predetermined profile and second data indicative of the coding of the first data;

an on-board memory device containing third data that is derived from the first and second data; and

a processor that is responsive to the third data to control the traffic signal in accordance with the predetermined profile, and responsive to the third data and one or both of the first data and the second data for selectively raising an alert signal.

29. A traffic signal controller for controlling a traffic signal in accordance with a predetermined profile, the traffic signal controller including:

an interface having at least one communication port for communicating with an external memory module containing first data indicative of the predetermined profile and second data indicative of the coding of the first data;

an on-board memory device containing third data and fourth data that are derived from the first and second data; and

a processor that is responsive to the third data to control the traffic signal in accordance with the predetermined profile, and responsive to the third data and the fourth data for selectively raising an alert signal.

30. A method for controlling a traffic signal in accordance with a predetermined profile, the method including the steps of:

providing an interface having at least one communication port for physically stably engaging with an external memory module, wherein the external memory module contains first data indicative of the predetermined profile and second data indicative of the coding of the first data;

containing in an on-board memory device third data and fourth data that are derived from the first and second data;

being responsive to the third data to control the traffic signal in accordance with the predetermined profile; and being responsive to the third data and the fourth data for selectively raising an alert signal.

31. A method for controlling a traffic signal in accordance with a predetermined profile, the method including:

providing an interface having at least one communication port for physically stably engaging with an external memory module containing first data indicative of the predetermined profile;

containing in an on-board memory device second data that is derived from the first data; and

being responsive to the second data to control the traffic signal in accordance with the predetermined profile.

32. A method for controlling a traffic signal in accordance with a predetermined profile, the method including:

providing an interface having at least one communication port for communicating with an external memory module, wherein the external memory device contains first data indicative of the predetermined profile and second data indicative of the coding of the first data;

containing in an on-board memory device third data that is derived from the first and second data;

being responsive to the third data to control the traffic signal in accordance with the predetermined profile;

being responsive to the third data and one or both of the first data and the second data for selectively raising an alert signal.

33. A method for controlling a traffic signal in accordance with a predetermined profile, the method including:

providing an interface having at least one communication port for communicating with an external memory module containing first data indicative of the predetermined profile and second data indicative of the coding of the first data; containing in an on-board memory device third data and fourth data that are derived from the first and second data; being responsive to the third data to control the traffic signal in accordance with the predetermined profile; and

being responsive to the third data and the fourth data for selectively raising an alert signal.

34. A method of storing first a predetermined profile for a traffic signal controller, the method including the steps of;

r

generating, in accordance with a coding, first data indicative of the predetermined profile;

generating second data indicative of the coding; and

storing the first data and the second data in a common memory module.

35. A computer system configured to perform a method according to any one of claims 30 to 34,

36. A computer program configured to perform a method according to any one of claims 30 to 34.

37. A non-trahsitive carrier medium carrying computer executable code that, when executed on a processor, causes the processor to perform a method according to any one of claims 30 to 34.

38. A traffic controller according to any one of claims 26 to 29 wherein the memory module is the module of any one of claims 1 to 25.

39. A system for controlling traffic signals, the system including;

a plurality of traffic signal controllers coupled to respective traffic signals, each traffic signal controller having on-board memory for containing first software instructions that are common to all the traffic signal controllers and second software instructions that are specific to that traffic signal controller, wherein the second software is coded to allow checking by the traffic signal controller and the traffic signal controller is responsive to a failed check for issuing an alert signal; and

a central controller coupled to the traffic signal controller for receiving the alert signals.

Description:
A MEMORY MODULE FOR STORING DATA INDICATIVE OF A PREDETERMINED PROFILE FOR A TRAFFIC SIGNAL CONTROLLER

FIELD OF THE INVENTION

[0001] The present invention relates to a memory module for storing data indicative of a predetermined profile for a traffic signal controller.

[0002] Embodiments of the invention have been particularly developed for use with a traffic signal controller that controls traffic signals at an intersection in accordance with the predetermined profile and will be described herein with reference to that application. However, it will be appreciated that the invention is not limited to such a field of use, and is applicable in broader contexts such as the control of traffic control signals at other than intersections, be those signals for the control and direction of flow of cars and other vehicles, pedestrians, cyclists, boats or otherwise.

BACKGROUND

[0003] Any discussion of the background art throughout the specification should in no way be considered as an admission that such art is widely known or forms part of common general knowledge in the field.

[0004] In the field of road intersection traffic control in Australia it is known to use a traffic signal controller that is located within a secure cabinet near or adjacent to one or more traffic control signals that are controlled by the controller at a given site. The controller runs a traffic control program that is resident within on-board memory. Whilst many sites are intersections of roads or streets, some sites are pedestrian crossings' only, for example. A controller executes typically a unique configuration data to ensure the traffic signal or signals operate in the correct sequence for that specific ' site. This configuration data is, by way of example, in New South Wales, referred to as the "personality" for the site or the traffic intersection signal.

[0005] The more recent method used in Australia to distribute the dedicated configuration data to the respective controllers is for the configuration data to be written to a PCMCIA card that is then taken by a technician and inserted into a corresponding PCMCIA port in the controller. Each controller is typically uniquely identifiable to facilitate the selection and insertion of the correct PCMCIA card into a corresponding port. The controller accesses the configuration data from the card on the fly - that is, during execution of the traffic control program. This use of a Cardbus Card (CBC) such as a PCMCIA card has occurred for many years and the rollout of this technology is widespread across many controllers in many different jurisdictions.

[0006] Following from a decision by the relevant manufacturers to cease production of the cards there has arisen a need for an alternative solution to the CBC. This need is exacerbated by the increasing difficultly that is being experienced in sourcing computers having CBC ports for use in programing the cards.

[0007] There is a need in the art for an improved memory module for storing data indicative of a predetermined profile for a traffic signal controller.

SUMMARY OF THE INVENTION

[0008] It is an object of the present invention to provide a useful alternative or to overcome or ameliorate at least one of the disadvantages of the prior art.

[0009] According to a first aspect of the invention there is provided a memory module including:

a memory device for containing first data indicative of a predetermined profile for a traffic signal controller and second data indicative of a coding of the first data; and

an interface having at least one communication port for communicating with the traffic signal controller.

[0010] In an embodiment the module includes a processor for selectively communicating the first data and the second data to the traffic signal controller via the port.

[001 1] In an embodiment the module includes a housing that exposes the port for communication with the traffic signal controller.

[00 2] In an embodiment the housing includes a retaining formation for securely connecting with a retention device.

[0013] In an embodiment the retention device has one or both of a high tensile strength and a high shear strength.

[0014] In an embodiment the retention device is a pliant cord,

[0015] In an embodiment the retention device is of: metal; plastics; fibre; or a combination of two or more of the foregoing. [0016] In an embodiment the traffic signal controller controls a traffic signal at a traffic signal site.

[0017] In an embodiment the traffic signal controller includes a cabinet and the retention device extends between a first end which is connected to the cabinet and a second end which is securely connected with the retaining formation.

[0018] In an embodiment one or both of the first and the second ends are releasably connected to the cabinet and the retaining formation respectively.

[0019] In an embodiment one or both of the first and the second ends are fixedly connected to the cabinet and the retaining formation respectively.

[0020] In an embodiment the port selectively physically stably engages with the traffic signal controller.

[0021] In an embodiment the port releasably engages with the traffic signal controller.

[0022] In an embodiment the port includes a first part of an AMP clipping system and the traffic signal controller includes a second part of the AMP clipping system that selectively complementarily stably engages with the first part.

[0023] in an embodiment the port is a serial port and the processor selectively serialises the first data and the second data for communication to the traffic signal controller.

[0024] In an embodiment the serial port is a RS232 communications port.

[0025] In an embodiment the memory module, in use, is powered by the traffic signal controller.

[0026] In an embodiment the memory module draws power from the traffic signal controller via the port.

[0027] In an embodiment the second data includes integrity checking data for allowing one or more predetermined checks to be undertaken on the first data.

[0028] In an embodiment the one more checks are selected from: authenticity; veracity; originality; and accuracy.

[0029] In an embodiment the second data includes a digest derived from a secure hash algorithm. [0030] In an embodiment the digest has been encrypted.

[0031] In an embodiment the digest has been encrypted using a symmetric encryption method and a secret key.

[0032] In an embodiment the digest has been encrypted using an asymmetric encryption method with both a public key and a private key.

[0033] According to a second aspect of the invention there is provided a memory module including:

a memory device for containing data indicative of a predetermined profile for a traffic control signal;

a processor for serialising the data; and

an RS232 communication port for allowing the serialised data to be communicated with device traffic signal controller.

[0034] According to a third aspect of the invention there is provided a traffic signal controller for controlling a traffic signal in accordance with a predetermined profile, the traffic signal controller including:

an interface having at least one communication port for physically stably engaging with an external memory module, wherein the external memory module contains first data indicative of the predetermined profile and second data indicative of the coding of the first data;

an on-board memory device containing third data and fourth data that are derived from the first and second data; and

a processor that is responsive to the third data to control the traffic signal in accordance with the predetermined profile, and responsive to the third data and the fourth data for selectively raising an alert signal.

[0035] In an embodiment the port releasably engages with the external memory module.

[0036] In an embodiment the port includes a first part of an AMP clipping system and the external memory module includes a second part of the AMP clipping system that selectively complementarity stably engages with the first part.

[0037] In an embodiment the traffic signal controller includes an identifier unit containing identity data unique to the traffic signal and wherein the processor is responsive to the identity data and one or more of the first data, the second data, the third data and the fourth data for selectively raising an alert signal.

[0038] According to a fourth aspect of the invention there is provided a traffic signal controller for controlling a traffic signal in accordance with a predetermined profile, the traffic signal controller including:

an interface having at least one communication port for physically stably engaging with an external memory module containing first data indicative of the predetermined profile;

an on-board memory device containing second data that is derived from the first data; and

a processor that is responsive to the second data to control the traffic signal in accordance with the predetermined profile.

[0039] In an embodiment the port releasably engages with the external memory module.

[0040] In an embodiment the port includes a first part of an AMP clipping system and the external memory module includes a second part of the AMP clipping system that selectively complementarily stably engages with the first part.

[0041] According to a fifth aspect of the invention there is provided a traffic signal controller for controlling a traffic signal in accordance with a predetermined profile, the traffic signal controller including:

an interface having at least one communication port for communicating with an external memory module, wherein the external memory module contains first data indicative of the predetermined profile and second data indicative of the coding of the first data;

an on-board memory device containing third data that is derived from the first and second data; and

a processor that is responsive to the third data to control the traffic signal in accordance with the predetermined profile, and responsive to the third data and one or both of the first data and the second data for selectively raising an alert signal. [0042] According to a sixth aspect of the invention there is provided a traffic signal controller for controlling a traffic signal in accordance with a predetermined profile, the traffic signal controller including:

an interface having at least one communication port for communicating with an external memory module containing first data indicative of the predetermined profile and second data indicative of the coding of the first data;

an on-board memory device containing third data and fourth data that are derived from the first and second data; and

a processor that is responsive to the third data to control the traffic signal in accordance with the predetermined profile, and responsive to the third data and the fourth data for selectively raising an alert signal.

[0043] According to a seventh aspect of the invention there is provided a method for controlling a traffic signal in accordance with a predetermined profile, the method including the steps of:

providing an interface having at least one communication port for physically stably engaging with an external memory module, wherein the external memory module contains first data indicative of the predetermined profile and second data indicative of the coding of the first data;

containing in an on-board memory device third data and fourth data that are derived from the first and second data;

being responsive to the third data to control the traffic signal in accordance with the predetermined profile; and

being responsive to the third data and the fourth data for selectively raising an alert signal.

[0044] According to an eighth aspect of the invention there is provided a method for controlling a traffic signal in accordance with a predetermined profile, the method including:

providing an interface having at least one communication port for physically stably engaging with an external memory module containing first data indicative of the predetermined profile;

containing in an on-board memory device second data that is derived from the first data; and being responsive to the second data to control the traffic signal in accordance with the predetermined profile.

[0045] According to a ninth aspect of the invention there is provided a method for controlling a traffic signal in accordance with a predetermined profile, the method including:

providing an interface having at least one communication port for communicating with an external memory module, wherein the external memory device contains first data indicative of the predetermined profile and second data indicative of the coding of the first data;

containing in an on-board memory device third data that is derived from the first and second data;

being responsive to the third data to control the traffic signal in accordance with the predetermined profile;

being responsive to the third data and one or both of the first data and the second data for selectivel raising an alert signal.

[0046] According to a tenth aspect of the invention there is provided a method for controlling a traffic signal in accordance with a predetermined profile, the method including:

providing an interface having at least one communication port for communicating with an external memory module containing first data indicative of the predetermined profile and second data indicative of the coding of the first data; containing in an on-board memory device third data and fourth data that are derived from the first and second data;

being responsive to the third data to control the traffic signal in accordance with the predetermined profile; and

being responsive to the third data and the fourth data for selectively raising an alert signal.

[0047] According to an eleventh aspect of the invention there is provided a method of storing first a predetermined profile for a traffic signal controller, the method including the steps of: generating, in accordance with a coding, first data indicative of the predetermined profile;

generating second data indicative of the coding; and

storing the first data and the second data in a common memory module.

[0048] According to a twelfth aspect of the invention there is provided a traffic controller according to any one of the third to the sixth aspects above wherein the memory module is the module of the first aspect or the second aspect.

[0049] According to a thirteenth aspect of the invention the is provided a system for controlling traffic signals, the system including:

a plurality of traffic signal controllers coupled to respective traffic signals, each traffic signal controller having on-board memory for containing first software instructions that are common to all the traffic signal controllers and second software instructions that are specific to that traffic signal controller, wherein the second software is coded to allow checking by the traffic signal controller and the traffic signal controller is responsive to a. failed check for issuing an alert signal; and

a central controller coupled to the traffic signal controller for receiving the alert signals.

[0050] One embodiment provides a computer program product for performing a method as described herein.

[0051] One embodiment provides a non-transitive carrier medium for carrying computer executable code that, when executed on a processor, causes the processor to perform a method as described herein.

[0052] One embodiment provides a system configured for performing a method as described herein.

[0053] Reference throughout this specification to "one embodiment", "some embodiments" or "an embodiment" means that a particular feature, structure or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention. Thus, appearances of the phrases "in one embodiment", "in some embodiments" or "in an embodiment" in various places throughout this specification are not necessarily all referring to the same embodiment, but may. Furthermore, the particular features, structures or characteristics may be combined in any suitable manner, as would be apparent to one of ordinary skill in the art from this disclosure, in one or more embodiments.

[0054] As used herein, unless otherwise specified the use of the ordinal adjectives "first", "second", "third", etc., to describe a common object or noun, merely indicate that different instances of like objects are being referred to, and are not intended to imply that the objects so described must be in a given sequence, either temporally, spatially, in ranking, or in any other manner. Moreover, the ordinal adjectives need not be used consistently in different independent claims to identify generically the same objects. Accordingly, each independent claim and the associated dependent claims should be read and interpreted separately when interpreting the ordinal objectives.

[0055] In the claims below and the description herein, any one of the terms comprising, comprised of or which comprises is an open term that means including at least the elements/features that follow, but not excluding others. Thus, the term comprising, when used in the claims, should not be interpreted as being limitative to the means or elements or steps listed thereafter. For example, the scope of the expression a device comprising A and B should not be limited to devices consisting only of elements A and B. Any one of the terms including or which includes or that includes as used herein is also an open term that also means including at least the elements/features that follow the term, but not excluding others. Thus, including is synonymous with and means comprising.

BRIEF DESCRIPTION OF THE DRAWINGS

[0056] Embodiments of the invention will now be described, by way of example only, with reference to the accompanying drawings in which:

Figure 1 schematically illustrates a system for controlling a traffic signal in accordance with a predetermined profile;

Figure 2 schematically illustrates in more detail the system of Figure 1 including a traffic signal controller, a central controller and a memory module;

Figure 3 is a circuit diagram of the processor used in the memory module of Figure 2;

Figure 4 is a circuit diagram of the memory device used in the memory module of Figure 3;

Figure 5 is a detailed wiring diagram for three components of a communications interface for the memory module of Figure 3; Figures 6 and 7 are detailed wiring diagrams for two parts of a power supply for the memory module of Figure 3; and

Figure 8 is a flow chart illustrating the security check process undertaken by the system of Figure 1.

DETAILED DESCRIPTION

[0057] Described herein are exemplary embodiments of a memory module for storing data indicative of a predetermined profile for a traffic signal controller.

[0058] Reference is made to Figure 1 and Figure 2 where there is illustrated schematically a system 1 for controlling a traffic signal in accordance with a predetermined profile. System 1 is located at a traffic control site 2 that includes two traffic signals in the form of two spaced apart pole mounted sets of traffic signalling lights 3 and 4. Also at site 2, and adjacent to the sets of lights, is a secure and lockable metal cabinet 5 that contains a traffic signal controller 6, which is illustrated in Figure 2, for controlling the two sets of lights 3 and 4 and any other traffic control signals at site 2 in accordance with the predetermined profile. The traffic signal controller is coupled electronically to the sets of lights 3 and 4 by mechanically robust cables 7. It will be appreciated that the cables extend from the respective set of lights through the posts and then underground to cabinet 5 to contribute to the secure and robust nature of system 1.

[0059] It will be appreciated by those skilled in the art that at other sites the respective traffic signal controller controls more or less traffic control signals. It will also be appreciated that whilst in the exemplified embodiment site 2 is an intersection between two roads, that in other embodiments the site is a junction of two roads, an intersection between a road and a railway line, a pedestrian crossing, and entrance to a parking lot, a road work zone, or otherwise, it will also be appreciated that in addition to controlling the flow of vehicular traffic, that the controller is, at least at some sites, configured to control the flow of other flows instead of or in addition to vehicular flows. Examples of the other flows include bicycles and cyclists, special bus flows in addition to other vehicular flow, pedestrian flow, and the like.

[0060] Referring now specifically to Figure 2, system 1 includes a traffic signal controller 6 which has a communications interface 8 having a 25-pin RS232 communication port 9 for physically stably engaging with an external memory device in the form of a self-contained and portable memory module 10. Module 10 contains first data 1 indicative of the predetermined profile and second data 12 indicative of the coding of the first data. Moreover, controller 6 includes an on-board memory device 15 containing third data 13 and fourth data 14 that are derived from the first data 11 and the second data 12. Controller 6 includes a processor 21 that is responsive to third data 13 to control the sets of traffic lights 3 and 4 in accordance with the predetermined profile, and responsive to third data 13 and the fourth data 14 for selectively raising an alert signal.

[0061] Processor 21 is coupled to memory device 15 and interface 8. Memory device 15 also includes software instructions 22 which are executable on processor 21 . These software instructions are referred to as a traffic control program or application which is often generically loaded into all traffic signal controllers and which, upon execution by processor 21 , is responsive to the third and fourth data 13 and 14 - which is derived from the predetermined profile - for providing the control specific to controller 6 and site 2.

[0062] Controller 6 is a TSC/4 Traffic Signal Controller manufactured by Aldridge Traffic Controllers Pty Ltd. In other embodiments use is made of other controllers from this manufacturer or from another manufacturer.

[0063] Memory device 15 includes EEPROM memory for storing the traffic control program and FLASH memory for storing data 13 and data 14.

[0064] Interface 8 also includes a port 24 for communicating with an identifier unit 25 that is secured to an internal surface (not shown) of cabinet 5. Unit 25 includes a combination of hardware and software, as would be appreciated by those skilled in art. In particular, unit 25 contains identity data 26 that is indicative of the identity of site 2, controller 6, the traffic signals (that is, the sets of lights 3 and 4) and/or cabinet 5. In this embodiment data 26 is unique and is able to be selectively accessed or otherwise read and communicated via port 24 by processor 21. In this way, processor 21 is able to be responsive to identity data 26 and one or more of the first data 1 , the second data 12, the third data 13 and the fourth data 14 for selectively raising an alert signal.

[0065] Memory module 10 includes a memory device 31 for containing first data 11 and second data 12 in a stable readable form. In this embodiment, module 10 makes use of EEPROM memory. Module 10 also includes a communications interface 32 having a 25- pin RS232 communication port 33 for allowing communication with an external device in the form of controller 6. It will be appreciated that port 9 and port 33 are configured for complementary physical stable engagement. Moreover, ports 9 and 33 are, in use, releasably engaged. In this embodiment, port 9 includes female contacts of a 25-pin Minature "D" connector and is fitted with a backshell to provide strain relief for any wiring used. This is in some jurisdictions referred to as the XTTY connector of controller 6. [0066] Port 33 includes male contacts of a 25-pin inature "D" connector that are selectively and complementarily releasably engagable with the female contacts of port 9. Port 33 also includes spring latches for contributing to a stable physical connection between ports 9 and 33. One connection combination for ports 9 and 33 is provided by a connector in the AMP HDP-20 series of connectors, part number 207464-2. Other equivalents from other parts manufacturers are also available.

[0067] Module 10 includes a processor 35 that is coupled to memory device 31 and interface 32 for selectively communicating first data 1 and second data 2 to controller 6 via ports 33 and 9. This is done in response to a request from controller 6 during the execution of the traffic control program. Memory device 31 includes serially addressable EEPROM (type LCH1024) for storing first data 11 and second data 12, and FLASH memory for containing software instructions 36 that are executed by processor 35 to perform a number of operations. One of these operations is to selectively serialise the first data and the second data for communication to controller 6. Another of the operations is, when the first and second data is to be written to device 31 , to take the serialised data and format it for storage.

[0068] Processor 35 is a microcontroller type PIC18F4580 manufactured by Microchip Technology, Inc. It will be appreciated by those skilled in the art that other processor and microcontrollers are available for use in other embodiments.

[0069] Module 10 includes a rigid plastics generally rectangular prismatic housing 39 that exposes port 33 but which conceals all the other components and circuitry of module 10. Housing 39 includes a retaining formation in the form of a protruding metal loop 40 for securely connecting with a retention device in the form of a pliant braided nylon cord 41 that has both of a high tensile strength and a high shear strength. In other embodiments the retention device is of: metal; plastics; fibre; or a combination of two or more of the foregoing.

[0070] Cord 41 includes a first end 43 which is securely and fixedly connected to a retaining formation 44 that is located on an internal surface of cabinet 5. Cord 41 extends from first end 43 to a second end 45 which is securely and releasably connected with loop 40. In other embodiments both ends 43 and 45 are fixedly connected to formation 44 and loop 40 respectively.

[0071] Module 10, in use, is wholly powered by controller 6 by drawing power from selected pins provided in port 9. Accordingly, when module 10 is removed from port 9 it is no longer powered and automatically shuts down. However, as all data in device 31 is held in non-volatile memory, this loss of power is not problematic.

[0072] The second data 12 includes integrity checking data for allowing one or more predetermined checks to be undertaken on first data 1 1 or copies of that data. In this embodiment the second data includes a digest derived from a secure hash algorithm, and the check is a relatively simple type which allows for checking of the integrity of the first data. In other embodiments the check is a stronger kind where the digest has been encrypted. For example in some such embodiments, the digest has been encrypted using a symmetric encryption method and a secret key, whilst in other embodiments the digest has been encrypted using an asymmetric encryption method with both a public key and a private key. The latter also being used to allow confirmation of the authenticity of the first data and/or guaranteeing non-repudiation of the first data. In a number of embodiments, use is made of Public Key Infrastructure (PKI) encryption to provide a greater range of options in securely managing the authorship, authentication, modification and other controls of the first data. That is, through controlling access to the two keys, the relevant government authority is able to better manage the quality of the profiles (either initially or if amended) to better ensure safety of the persons who rely upon the controllers and traffic signals. Encryption techniques described herein are 256 bit encryption techniques, which are much higher in terms of bits than existing techniques.

[0073] in some such embodiments making use of PKI encryption one of the keys is held by the authority and another by either an external party engaged to design and modify the predetermined profiles or the manufacturer of the traffic signal controller.

[0074] A skilled addressee, given the benefit of the teaching herein, will appreciate that other methods of data checking are available such as those made available through the U.S. Federal Information Processing Standard publication FIPS PUB 1 19 (also commonly referred to as the FIPS standard).

[0075] Interface 8 includes a port 51 that is coupled with one end of cables 7 for conveying the necessary traffic control signals to the sets of lights 3 and 4.

[0076] It will also be appreciated that interface 8 includes ports (not shown) for receiving input from one or more sensors used at site 2. Examples of sensors include presence sensors such as inductive loop sensors or pressure sensors, actuators for pedestrians, light sensors, and others. [0077] Interface 8 includes a port 52 for allowing controller 6 to communicate with a central controller 53. This central controller is configured to communicate with a " network of controllers 6 that typically all include the same traffic controller program but which each contain unique first data. Controller 53 includes a memory device 54 for storing software instructions 55 that are executed by a processor 56 for managing the network. Processor 56 is coupled to device 54 and to a communications interface 57 for allowing communication with all the traffic controllers in the network.

[0078] When controller 6 generates an alert signal that is communicated via port 52 to controller 53. Controller 53 is responsive to the alert signal for selectively overriding controller 6, dispatching a service technician or crew to site 2, scheduling a maintenance call for controller 6, as well as other options.

[0079] In use, module 10 is initially coupled to an authorising computer (not shown) that runs executable software for allowing a user of that computer to download a copy of the first data 11 and the second data 2 into device 31. The coupling is via a RS232 port and, during that coupling, module 10 draws power from the authorising computer. Once the download is completed module 10 is removed from the RS232 port and de-powers. It will be appreciated that second data 12 includes information indicative of identity data 26.

[0080] Module 10 is then transported to site 2 for installation by a technician 60. As a matter of practice, this installation is preceded by connecting end 45 of cord 41 to loop 40.

[0081] If controller 6 is not yet commissioned, it is now powered-up, and processor 21 commences with the execution of software instructions 22 held in memory device 15. This will result in controller 6 undertaking a series of set-up operations, one of which will be to scan the available ports in interface 8 for the first data that is indicative of the predetermined profile for controller 6 and site 2. If this data cannot be located an alert signal is generated by processor 21 and communicated via port 52 to central controller 53. Another of the set-up operations is for processor 21 to make a read request for the identity data stored on unit 25. This read identity data is stored in device 15 and periodically re-read to ensure accuracy.

[0082] Module 10 is then placed by technician 60 such that ports 9 and 32 are compiementarily and stably physically engaged. Module 10 will draw power from controller 6 and power-up. Controller 6 will then recognise module 10 and send a read request for the first and second data. Processor 35 is responsive to that request to serialise the first and second data and to communicate both to controller 6 via port 33. [0083] Processor 21 is responsive to the read first and second data for writing to device 15 third data and fourth data. In this embodiment the third data is a copy of the first data and the second data, and the fourth data is also a copy of the first data and the second data.

[0084] Processor 21 , in continuing to execute instructions 22, is responsive to the third data 13 for controlling the two sets of traffic lights in accordance with the predetermined profile. Module 10 is now able to be removed from port 9 without halting the operation of controller 6. However, due to the operation of cord 41 , module 10 will remain tethered within cabinet 5 and, hence, later available to technician 60 if required. It will also be appreciated that module 10 is able to remain physically coupled with port 9 during the normal operation of controller 6. The use of cord 41 provides a physical link between cabinet 5 and module 10 and reduces the risk that module 10 will be inadvertently removed from cabinet 5. During the replacement of any components within controller 6, the technician will be provided with a physical reminder of the need to remove module 10 from port 9, for otherwise the associated hardware of controller 6 will also remain tethered to cabinet 5 by cord 41. Moreover, module 0 remains easily available for insertion in port 9 of the controller once the upgrade or other repair has been completed b the technician. Accordingly, verifiable forms of data 1 1 and data 12 will also be available for use in the ongoing operation of controller 6, increasing the reliability, consistency, and predictability of that operation and contributing to the overall safety of controller 6.

[0085] Processor 21 is also responsive to fourth data 4 for undertaking checks on one or more of the authenticity, accuracy, veracity, integrity, confidentiality and other like tests such as are defined in FIPS. If an assessment is made that one or more of the checks has not been passed, processor 21 generates the alert signal that is then communicated to controller 53 via port 52. In the event that the communication link with controller 53 is not operational, or not available, controller 6 stores a log of alert signals in device 15.

[0086] In the event data 13 is found to be defective or otherwise inaccurate, processor 21 immediately reverts to the use of data 14 to maintain a continuing and safe operation of the traffic control signals in accordance with the precise predetermined profile. Processor 21 will also then re-read the first and second data from module 10 to re-write data 13. Once the re-written data 13 is checked for accuracy and authenticity, it will then be used for ongoing checks of data 14.

[0087] In some embodiments, module 10 remains in use coupled with controller 6 and data 11 and 12 are accessed by controller 6 as part of the ongoing checking of data 13 and 14. [0088] Referring to Figure 8, there is illustrated a flow chart detailing the specific dual FLASH based personality checking process as part of the security encryption for system 1. The process shown is an incremental check of the personality at predetermined personality check times. In the flowchart, data 13 and data 14 (referred to in Figure 8 as "PERS COPY 1" and "PERS COPY 2" respectively) are firstly individually put through respective two stage cyclic redundancy checks by processor 21 , the first stage denoted as "RUN CRC32JEEE" (which includes a standard IEEE software test) and the second stage denoted as "RUN CRC32_C". In the next stage, the compare test is also run to ensure PERS COPY 1 and PERS COPY 2 match. Once this has been completed, PERS COPY 1 and PERS COPY 2 are individually put through a stage of hash algorithm checks (referred to in Figure 8 as "RUN HASH") which test PERS COPY 1 and PERS COPY 2 against a digest derived from a secure hash algorithm. If any of the above seven test stages (four CRC checks, one comparison check and two hash algorithm checks) comes back as non-matching for at least one of the CRC checks or the has algorithm checks for both of PERS COPY 1 and PERS COPY 2 (that is, any test has not been passed at least once for each of PERS COPY 1 and PERS COPY 2) then processor 21 will log an error message and lock controller 6 out for 4 hours. But, if PERS COPY 2 has passed all checks, but PERS COPY 1 has not, controller 6 will continue to run off the uncorrupted PERS COPY 2.

[0089] In other embodiments, a similar checking process to that in Figure 8 is used by processor 35 to check data 11 and data 12, whereby "PERS COPY 1" and "PERS COPY 2" respectively refer to data 11 and data 12.

[0090] In further embodiments the failure to pass all checks results in different levels of escalation. For example, raising an alert with a remote controller, locking out controller 6 for other than four hours, and the like.

[0091] Reference is made to Figure 3 where there is illustrated a detailed circuit diagram for processor 35. The processor is indicated as U5.

[0092] Reference is made to Figure 4, where memory device 31 is exemplarily illustrated as U4 together with details of the relevant wiring.

[0093] Reference is now made to Figure 5, where interface 32 is shown in more detail. In particular, use is made of: U1 for receiving data such as read requests or write requests (of the first and second data to be written to device 31); and U2 for sending data from memory device 31. The detailed wiring configuration of port 33 is also provided and referred to as J1. [0094] For the sake of completeness, there is also provided in Figures 6 and 7 detailed wiring diagrams for a power supply for module 10.

[0095] The main advantages of the above embodiments include:

• The memory module is physically robust, relatively easy to manufacture and inexpensive to replace.

• The memory module stores a master copy of the predetermined profile at the site.

(There is a super-master copy on the central controller, but bandwidth limitations make it impractical to access this in real time).

• The data indicative of the predetermined profile is able to be verified against two different 32 bit CRC algorithms and a 256 bit secure signature.

• The signature included in the second data will be unique for each first data.

• With the inclusion of a digital signature in the second data it is possible to trace the author and authenticity of the predetermined profile. Typically it is a government authority that creates, or at least authorises, the predetermined profiles, and the use of the digital signature greatiy enhances the authority's ability to manage risk, trace authorship, and provide ongoing public accountability for the operation of the controllers and associated infrastructure.

• The first and second data is able to be copied to the FLASH memory of controller 6 while the traffic control program is executing.

• The first and second data is used to allow processor 21 to create two different copies - that is, to create the third data and the fourth data - both with all of the inherent security and checking capability as the "master copy" that is defined by the combination of the first and second data.

• Controller 6 is able to read the third data (or the fourth data) directly to derive the predetermined profile for the traffic signal controller. This provides for greater reliability for the data is read directly from FLASH memory.

• The third data (or the fourth data) is able to be continually checked against the 32 bit CRCs and the digital signature, and the third data is able to be checked against the fourth data.

• With both the third data and the fourth data held in FLASH memory, controller 6 is able to detect a problem in the active one of the third data and the fourth data and switch to the other without the controller having to enter a fault condition. This switch does result in an error message (which is one form of an alert signal) being generated and logged.

• If a problem is found with the active one of the third data or fourth data, the problematic one will be replaced by accessing the first and second data from module 10. This typically occurs during the next power OFF-ON cycle, but can occur on the fly.

• Module 10 is able to be produced from mass-manufactured commonly available components.

• Module 10 is able to be coupled to other of the ports provided by interface 8.

• Whilst for traffic controllers the RS232 port 9 is specified for inclusion by relevant authorities and standards, it is rarely used for its originally intended purpose and is often left unused for the entire life of a traffic signal controller. The embodiments of module 10 described in the Figures make use of this typically ignored port.

• Module 0 is able to be easily programmed on any computer with a RS232 or USB serial port.

• The coupling of module 10 to controller 6 is via a connector that is robust, engaged in a physically stable manner, and which is suitable for a high number of mating cycles.

• The coupling of module 10 to controller 6 is restrained from accidental or inadvertent removal though use of the described clipping system.

• Once the third and fourth data are stored in memory device 15, module 10 is not required to remain coupled to controller 6 for correct operation of the controller.

[0096] With specific regard to the encryption techniques described herein, they are particularly advantageous for the following reasons:

• Substantially prevents the unlawful copying and/or manufacture of the hardware of the system.

• Provides tractability of the system in terms of keeping a log of those who have accessed the system.

• Provides the operator of the system with the capability to control authorised writing, implantation, creation and activation of the "personalities" (that is, the site configuration data). • Provides further security with regards to intellectual property relating to high level software used in the system. For example, there is provided substantial prevention of unauthorised expansion of existing systems through the illegal propagation and connection of unauthorised field equipment (such as controllers).

[0097] The operating environment within cabinet 5 is relatively harsh in terms of extended temperature variations, mechanical stresses due to vibration and contact with external moving objects, and other factors. This, in combination with the need for extremely safe and reliable operation of controller 6 and all the other components used at site 2, has fed the inventors to look to a very different solution than that provided by the prior art. In terms of the hardware solution used in the described embodiments, this makes Use of the XTTY connector that is a standard requirement for controllers in many jurisdictions, but which is not used, or seldom used, during the operational lifetime of the controller. The use of this connector as the path to communicate the predetermined profile to the controller has also allowed the inventors to develop a number of new operations for verifying, authenticating or gaining non-repudiation of the predetermined profile,

[0098] It will be appreciated that the disclosure above provides various memory modules for storing data indicative of a predetermined profile for a traffic signal controller.

[0099] Unless specifically stated otherwise, as apparent from the following discussions, it is appreciated that throughout the specification discussions utilizing terms such as "processing," "computing," "calculating," "determining", analyzing" or the like, refer to the action and/or processes of a computer or computing system, or similar electronic computing device, that manipulate and/or transform data represented as physical, such as electronic, quantities into other data similarly represented as physical quantities.

[00100] In a similar manner, the term "processor" may refer to any device or portion of a device that processes electronic data, for example, from registers and/or memory to transform that electronic data into other electronic data that, for example, may be stored in registers and/or memory. A "computer" or a "computing machine" or a "computing platform" may include one or more processors.

[00101] The methodologies described herein are, in one embodiment, performable by one or more processors that accept computer-readable (also called machine-readable) code containing a set of instructions that when executed by one or more of the processors carry out at least one of the methods described herein. Any processor capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken are included. Thus, one example is a typical processing system that includes one or more processors. Each processor may include one or more of a CPU, a graphics processing unit, and a programmable DSP unit. The processing system further may include a memory subsystem including main RAM and/or a static RAM, and/or ROM. A bus subsystem may be included for communicating between the components. The processing system further may be a distributed processing system with processors coupled by a network. If the processing system requires a display, such a display may be included, for example, a liquid crystal display (LCD) or a cathode ray tube (CRT) display. If manual data entry is required, the processing system also includes an input device such as one or more of an alphanumeric input unit such as a keyboard, a pointing control device such as a mouse, and so forth. The term memory unit as used herein, if clear from the context and unless explicitly stated otherwise, also encompasses a storage system such as a disk drive unit. The processing system in some configurations may include a sound output device, and a network interface device. The memory subsystem thus includes a computer-readable carrier medium that carries computer-readable code (for example, software) including a set of instructions to cause performing, when executed by one or more processors, one of more of the methods described herein. Note that when the method includes several elements, for example, several steps, no ordering of such elements is implied, unless specifically stated. The software may reside in the hard disk, or may also reside, completely or at least partially, within the RAM and/or within the processor during execution thereof by the computer system. Thus, the memory and the processor also constitute computer-readable carrier medium carrying computer-readable code.

[00102] Furthermore, a computer-readable carrier medium may form, or be included in a computer program product.

[00103] In alternative embodiments, the one or more processors operate as a standalone device or may be connected, for example, networked to other processor(s), in a networked deployment, the one or more processors may operate in the capacity of a server or a user machine in server-user network environment, or as a peer machine in a peer-to-peer or distributed network environment. The one or more processors may form a personal computer (PC), a tablet PC, a set-top box (STB), a Personal Digital Assistant (PDA), a cellular telephone, a web appliance, a network router, switch or bridge, or any machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine.

[00 04] Note that while diagrams only show a single processor and a single memory that carries the computer-readable code, those in the art will understand that many of the components described above are included, but not explicitly shown or described in order not to obscure the inventive aspect. For example, while only a single machine is illustrated, the term "machine" or "computer" shall also be taken to include any collection of machines or computers that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein.

[00105] Thus, one embodiment of each of the methods described herein is in the form of a computer-readable carrier medium carrying a set of instructions, for example, a computer program that is for execution on one or more processors, for example, one or more processors that are part of web server arrangement. Thus, as will be appreciated by those skilled in the art, embodiments of the present invention may be embodied as a method, an apparatus such as a special purpose apparatus, an apparatus such as a data processing system, or a computer-readable carrier medium, for example, a computer program product. The computer-readable carrier medium carries computer readable code including a set of instructions that when executed on one or more processors cause the processor or processors to implement a method. Accordingly, aspects of the present invention may take the form of a method, an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present invention may take the form of carrier medium (for example, a computer program product on a computer-readable storage medium) carrying computer- readable program code embodied in the medium.

[00 06] The software may further be transmitted or received over a network via a network interface device. While the carrier medium is shown in an exemplary embodiment to be a single medium, the term "carrier medium" should be taken to include a single medium or multiple media (for example, a centralized or distributed database, and/or associated caches and servers) that store the one or more sets of instructions. The term "carrier medium" shall also be taken to include any medium that is capable of storing, encoding or carrying a set of instructions for execution by one or more of the processors and that cause the one or more processors to perform any one or more of the methodologies of the present invention. A carrier medium may take many forms, including but not limited to, non-volatile media, volatile media, and transmission media. Non-volatile media includes, for example, optical, magnetic disks, and magneto-optical disks. Volatile media includes dynamic memory, such as main memory. Transmission media includes coaxial cables, copper wire and fiber optics, including the wires that comprise a bus subsystem. Transmission media also may also take the form of acoustic or light waves, such as those generated during radio wave and infrared data communications. For example, the term "carrier medium" shall accordingly be taken to included, but not be limited to, solid-state memories, a computer product embodied in optical and magnetic media; a medium bearing a propagated signal detectable by at least one processor of one or more processors and representing a set of instructions that, when executed, implement a method; and a transmission medium in a network bearing a propagated signal detectable by at least one processor of the one or more processors and representing the set of instructions.

[00107] It will be understood that the steps of methods discussed are performed in one embodiment by an appropriate processor (or processors) of a processing (i.e., computer) system executing instructions (computer-readable code) stored in storage. It will also be understood that the invention is not limited to any particular implementation or programming technique and that the invention may be implemented using any appropriate techniques for implementing the functionality described herein. The invention is not limited to any particular programming language or operating system.

[00108] It should be appreciated that in the above description of exemplary embodiments of the invention, various features of the invention are sometimes grouped together in a single embodiment, Figure, or description thereof for the purpose of streamlining the disclosure and aiding in the understanding of one or more of the various inventive aspects. This method of disclosure, however, is not to be interpreted as reflecting an intention that the claimed invention requires more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive aspects lie in less than all features of a single foregoing disclosed embodiment. Thus, the claims following the Detailed Description are hereby expressly incorporated into this Detailed Description, with each claim standing on its own as a separate embodiment of this invention.

[00109] Furthermore, while some embodiments described herein include some but not other features included in other embodiments, combinations of features of different embodiments are meant to be within the scope of the invention, and form different embodiments, as would be understood by those skilled in the art. For example, in the following claims, any of the claimed embodiments can be used in any combination.

[00110] Furthermore, some of the embodiments are described herein as a method or combination of elements of a method that can be implemented by a processor of a computer system or by other means of carrying out the function. Thus, a processor with the necessary instructions for carrying out such a method or element of a method forms a means for carrying out the method or element of a method. Furthermore, an element described herein of an apparatus embodiment is an example of a means for carrying out the function performed by the element for the purpose of carrying out the invention. [001 11] In the description provided herein, numerous specific details are set forth. However, it is understood that embodiments of the invention may be practiced without these specific details. In other instances, well-known methods, structures and techniques have not been shown in detail in order not to obscure an understanding of this description.

[001 2] Similarly, it is to be noticed that the term coupled, when used in the claims, should not be interpreted as being limited to direct connections only. The terms "coupled" and "connected," along with their derivatives, may be used. It should be understood that these terms are not intended as synonyms for each other. Thus, the scope of the expression a device A coupled to a device B should not be limited to devices or systems wherein an output of device A is directly connected to an input of device B. It means that there exists a path between an output of A and an input of B which may be a path including other devices or means. "Coupled" may mean that two or more elements are either in direct physical or electrical contact, or that two or more elements are not in direct contact with each other but yet still co-operate or interact with each other.

[00113] Thus, while there has been described what are believed to be the preferred embodiments of the invention, those skilled in the art will recognize that other and further modifications may be made thereto without departing from the spirit of the invention, and it is intended to claim all such changes and modifications as falling within the scope of the invention. For example, any formulas given above are merely representative of procedures that may be used. Functionality may be added or deleted from the block diagrams and operations may be interchanged among functional blocks. Steps may be added or deleted to methods described within the scope of the present invention.