Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
ROUTER AND MESSAGE HANDLER FOR PROVIDING SCALABLE RECEIPTS OF CONTROL MESSAGES
Document Type and Number:
WIPO Patent Application WO/2017/081492
Kind Code:
A1
Abstract:
Apparatus in a network for routing instructions for remotely controlling a plurality of nodes in the network is provided comprising a communication interface for receiving a request comprising instructions for controlling a plurality of nodes, for communicating with one or more network capabilities for sending messages to one or more message handlers for controlling the plurality of nodes, and for receiving receipts from the one or more message handlers; and a message processing module configured to generate one or more messages for the instructions with at least one receipt generation optimiser parameter for managing traffic generated by transmission of receipts, acknowledging receipt of the instructions, from the one or more message handlers, and cause the one or more messages to be transmitted to the one or more network capabilities via the communication interface.

Inventors:
HAIG ANDY (GB)
BAILEY RICHARD (GB)
Application Number:
PCT/GB2016/053564
Publication Date:
May 18, 2017
Filing Date:
November 14, 2016
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
VODAFONE IP LICENSING LTD (GB)
International Classes:
H04L12/28; H04J3/14; H04L47/32
Domestic Patent References:
WO2013179269A12013-12-05
Foreign References:
US20070242606A12007-10-18
US20110172841A12011-07-14
Attorney, Agent or Firm:
BOULT WADE TENNANT (GB)
Download PDF:
Claims:
CLAIMS

1 . Apparatus in a network for routing instructions for remotely controlling a plurality of nodes in the network, the apparatus comprising:

a communication interface for receiving a request comprising instructions for controlling a plurality of nodes, for communicating with one or more network capabilities for sending messages to one or more message handlers for controlling the plurality of nodes, and for receiving receipts from the one or more message handlers; and

a message processing module configured to generate one or more messages for the instructions with at least one receipt generation optimiser parameter for managing traffic generated by transmission of receipts, acknowledging receipt of the instructions, from the one or more message handlers, and cause the one or more messages to be transmitted to the one or more network capabilities via the communication interface.

2. Apparatus according to claim 1 , wherein the at least one receipt generation optimiser parameter comprises a parameter that indicates the proportion of message handlers from which a receipt to the one or more messages is required.

3. Apparatus according to claim 2, wherein the parameter has a value that comprises a number between a low number, indicating that no message handlers are required to send receipts, and a high number, indicating that all message handlers that act on the instructions are required to send receipts.

4. Apparatus according to claim 1 , 2 or 3 wherein the at least one receipt generation optimiser comprises a parameter that indicates a time window within which a message handler is required to send a receipt if a receipt is required.

5. Apparatus according to any one of the preceding claims, wherein the message processing module is further configured to include an indication of an acceptable method of sending receipts in the one or more messages.

6. Apparatus according to claim 5, wherein the indication of an acceptable method of sending receipts comprises an indication that messages are required to be sent via one of short message service or a narrowband internet of things network.

7. Apparatus according to any one of the preceding claims, wherein the communication interface is configured to receive the receipts from the one or more message handlers via a communication channel independent of the one or more network capabilities.

8. Apparatus according to any one of the preceding claims, wherein the message processing module is further configured to include an address of the apparatus in the one or more messages to which receipts are to be sent.

9. Apparatus according to any one of the preceding claims, wherein the receipt comprises at least one out of a time of receipt of the one or more messages by the message handler, the location of the message handler and an identifier for the instructions.

10. Apparatus according to any one of the preceding claims, wherein the message processing module is further operable to generate a receipt summary based on received receipts to the one or more messages and cause the receipt summary to be sent to a customer associated with the request comprising the instructions.

1 1 . Message handler apparatus in a network for controlling one or more of a plurality of nodes in the network, the message handler apparatus comprising:

a plurality of communication interfaces for receiving messages from one or more network capabilities with instructions for controlling one or more nodes, the instructions having been routed by a router to the one or more network capabilities for forwarding to the message handler, for interfacing with the one or more nodes to carry out instructions in the messages on the nodes and for sending message receipts to the router; and

a processor for processing information in the messages and controlling the plurality of communication interfaces, wherein the processor is operable to generate a receipt in response to receiving a message in accordance with at least one receipt generation optimiser parameter in the message and control a communication interface of the plurality of communication interfaces to send the receipt to the router.

12. Message handler apparatus according to claim 1 1 , wherein the at least one receipt generation optimiser parameter comprises a scaling factor parameter that indicates the proportion of message handlers from which a receipt to the one or more messages is desired.

13. Message handler apparatus according to claim 12, wherein the scaling factor parameter has a value that comprises a number between a low number, indicating that no receipt is required, and a high number, indicating that a receipt is required.

14. Message handler apparatus according to claim 12 or 13, wherein the processor is operable to generate a random number and generate the receipt if the random number is equal to or lower than the value of the scaling factor parameter.

15. Message handler apparatus according to any one of claims 1 1 to 14, wherein the at least one receipt generation optimiser comprises an indication of receipt time window within which the message handler is required to send a receipt, if a receipt is required, and the processor is configured to control the communication interface to send the receipt within the receipt time window.

16. Message handler apparatus according to any one of claims 1 1 to 15, wherein the message comprises an indication of an acceptable messaging method for sending the receipt and wherein the processor is configured to select an interface, of the plurality of communication interfaces, that supports the acceptable messaging method in order to send the receipt.

17. Message handler apparatus according to any one of claims 1 1 to 16, wherein the processor is configured to control an interface of the plurality of communication interfaces to send the receipt via a channel independent of the network capabilities.

18. Message handler apparatus according to any one of claims 1 1 to 17, wherein the processor is configured to send the receipt to an address of the router indicated in the one or more messages.

19. Message handler apparatus router according to any one claims 1 1 to 18, wherein the one or more messages comprises a plurality of messages, each comprising a segment of the instructions and a message identifier comprising an identifier for the instructions and an identifier for the segment of the plurality of segments in the message and wherein the processor is operable to send a receipt once all the segments have been sent and include the identifier for the instructions in the receipt.

20. Message handler apparatus according to any one of claims 1 1 to 19, wherein the processor is configured to include a time of receipt of the one or more messages and a location of the message handler in the receipt.

21 . A system comprising router apparatus according to any one of claims 1 to 10 and message handler apparatus according to any one of claims 1 1 to 20.

22. A method of handling instructions for remotely controlling a plurality of nodes in a network, the method comprising:

processing a received request with instructions for controlling a plurality of nodes in the network;

generating one or more messages associated with the instructions for transmitting to one or more network capabilities for the one or more network capabilities to forward the instructions to one or more message handlers for controlling the plurality of nodes;

including in the one or more messages at least one receipt generation optimiser parameter;

causing the one or more messages to be sent to the selected network capabilities; and

receiving one or more receipts, associated with the instructions, transmitted in accordance with the at least one receipt generation optimiser parameter.

23. A method according to claim 22, wherein the at least one receipt generation optimiser parameter comprises a parameter that indicates the proportion of message handlers from which a receipt to the one or more messages is required.

24. A method according to claim 22 or 23, wherein the at least one receipt generation optimiser comprises a parameter that indicates a time window within which a message handler is required to send a receipt if a receipt is required.

25. A method according to claim 22, 23 or 24, further comprising including an indication of an acceptable method of sending receipts and an address to which to send receipts in the one or more messages.

26. A method according to any one of claims 22 to 25, further comprising generating a receipt summary based on the information in the one or more receipts and causing the receipt summary to be sent to a customer device.

27. A method of acknowledging receipts of instructions to control one or more nodes of a plurality of nodes in a network, the method comprising:

processing one or more received messages comprising instructions for controlling the one or more nodes, the one or more messages being received, via a network capability, from a router for routing instructions to the plurality of nodes; controlling one or more modes in accordance with the instructions;

generating a receipt to the one or more messages in accordance with a receipt generation optimiser parameter in the one or more messages; and

causing the receipt to be sent to the router.

28. A method according to claim 27, wherein the at least one receipt generation optimiser parameter comprises a scaling factor parameter that indicates the proportion of message handlers from which a receipt to the one or more messages is required.

29. A method according to claim 28, further comprising generate a random number and wherein generating a receipt in accordance with the receipt generation optimiser parameter comprises generating the receipt if the random number is equal to or lower than the value of the scaling factor parameter.

30. A method according to claim 27, 28 or 29, wherein the one or more messages comprise a second receipt generation optimiser comprising an indication of receipt time window within which the receipt is required to be sent and wherein causing the receipt to be sent comprises causing the receipt to be sent within the time window.

31 . A method according to any one of claims 27 to 30, wherein causing the receipt to be sent comprises causing the receipt to be sent via an acceptable messaging method and to an address indicated in the one or more messages.

32. A method according to any one of claims 27 to 31 , wherein the one or more messages comprises a plurality of messages, each comprising a segment of the instructions and a message identifier comprising an identifier for the instructions and an identifier for the segment of the plurality of segments in the message and wherein generating the receipt comprises generating the receipt once all the segments have been sent and including the identifier for the instructions in the receipt.

33. A method according to any one of the preceding claims, wherein generating the receipt comprising including a time of receipt of the one or more messages and a location of the message handler in the receipt.

34. A computer program comprising instructions that when executed by one or more processors cause the one or more processors to carry out a method according to any one of claims 22 to 33.

35. Message handler apparatus in a network for controlling one or more of a plurality of nodes in the network, the message handler apparatus comprising: a plurality of communication interfaces for receiving messages from one or more network capabilities with instructions for controlling one or more nodes, the instructions having been routed by a router to the one or more network capabilities for forwarding to the message handler, for interfacing with the one or more nodes to carry out instructions in the messages on the nodes and for sending message receipts to the router; and

a processor configured to process information in the messages, generate receipts and control the plurality of communication interfaces, the processor being configured to control an interface of the plurality of communication interface to send the receipt to the router via a communication channel independent of the one or more network capabilities.

36. Apparatus in a network for routing instructions for remotely controlling a plurality of nodes in a network, the apparatus comprising:

at least one processor; and

a computer-readable medium coupled to the at least one processor having instructions stored thereon which, when executed by the at least one processor, causes the at least one processor to:

process a received request with instructions for controlling a plurality of nodes in the network;

generate one or more messages associated with the instructions for transmitting to one or more network capabilities for the one or more network capabilities to forward the instructions to one or more message handlers for controlling the plurality of nodes;

include in the one or more messages at least one receipt generation optimiser parameter for managing traffic generated by transmission of receipts to the one or more messages from one or more message handlers;

cause the one or more messages to be sent to the selected network capabilities; and

receive one or more receipts associated with the instructions transmitted in accordance with the at least one receipt generation optimiser parameter.

37. Apparatus in a network for handling instructions to control a plurality of nodes in a network, the apparatus comprising:

at least one processor; and

a computer-readable medium coupled to the at least one processor having instructions stored thereon which, when executed by the at least one processor, causes the at least one processor to:

process one or more received messages comprising instructions for controlling the one or more nodes, the instructions having been routed, via a network capability, from a router for routing instructions to the plurality of nodes; control one or more modes in accordance with the instructions;

generate a receipt to the one or more messages in accordance with a receipt generation optimiser parameter in the one or more messages; and

cause the receipt to be sent to the router.

38. An apparatus as substantially hereinbefore described with reference to the accompanying drawings.

39. A method as substantially hereinbefore described with reference to the accompanying drawings.

40. A computer program as substantially hereinbefore described with reference to the accompanying drawings.

Description:
ROUTER AND MESSAGE HANDLER FOR PROVIDING SCALABLE RECEIPTS

OF CONTROL MESSAGES

FIELD OF TECHNOLOGY

[0001] The present disclosure generally relates to the handling of instructions in a network for controlling remote nodes in the network. In particular, but not exclusively, it relates to the communication of receipts in response to instructions for controlling remote utility devices.

BACKGROUND

[0002] Currently, a utility customer wanting to send instructions to control a utility device located remotely would, in some countries, send a message to a national teleswitch control handler where it is broadcast on a single transmission system, typically using a number of regional transmitters. The broadcast network would typically have a low capacity for messaging, and slow throughput, due to being multiplexed over a low frequency radio transmission, e.g. 200kHz. For example it would typically take 1 -2 minutes to transmit a telecontrol message in existing systems. Due to its low capacity and speed it is not well suited to 'demand response' solutions, e.g. protecting operational stability of transmission or distribution grids. Moreover, current systems are not able to, or inefficient at, targeting nodes and determining the level of success of an attempt to control a plurality of remote nodes.

SUMMARY

[0003] According to a first aspect of the present disclosure, there is provided an apparatus in a network for routing instructions for remotely controlling a plurality of nodes in the network, the apparatus comprising: a communication interface for receiving a request comprising instructions for controlling a plurality of nodes, for communicating with one or more network capabilities for sending messages to one or more message handlers for controlling the plurality of nodes, and for receiving receipts from the one or more message handlers; and a message processing module configured to generate one or more messages for the instructions with at least one receipt generation optimiser parameter, and cause the one or more messages to be transmitted to the one or more network capabilities via the communication interface. [0004] The message processing module may be configured to include the receipt generation optimiser parameter in the one or more messages in order to manage traffic generated by transmission of receipts, acknowledging receipt of the instructions, from the one or more message handlers.

[0005] By having router apparatus that can receive receipts from the message handlers, a feedback mechanism to a customer that made the request is provided. The customer can then be informed whether message handlers have received and acted on the instructions.

[0006] The at least one receipt generation optimiser parameter may comprise a parameter that indicates the proportion of message handlers from which a receipt to the one or more messages is required. Consequently, in some embodiments, a scalable mechanism for generating and handling receipts is provided. The parameter can be set such that even if the instructions are intended for a large number of message handlers the number of receipts generated and transmitted will not overload the network or cause traffic spikes.

[0007] The parameter may have a value that comprises a number between a low number, indicating that no message handlers are required to send receipts, and a high number, indicating that all message handlers that act on the instructions are required to send receipts.

[0008] The at least one receipt generation optimiser may comprise a parameter that indicates a time window within which a message handler is required to send a receipt if a receipt is required. This can further contribute to network stability and reduction of traffic spikes as the transmission of receipts can be spread over the time window.

[0009] The message processing module may further be configured to include an indication of an acceptable method of sending receipts in the one or more messages.

[0010] The indication of an acceptable method of sending receipts may comprise an indication that messages are required to be sent via short message service SMS. Alternatively, the indication of an acceptable method of sending receipts may comprise an indication that messages are required to be sent via a narrowband internet of things loT network. The enablement of an internet of things bearer as a medium for message receipts may allow high efficiency and low transmission costs. In some cases, more than one acceptable method of sending receipts may be indicated.

[0011] The communication interface may be configured to receive the receipts from the one or more message handlers via a communication channel independent of the one or more network capabilities. In other words, the receipt is not sent via the network capability that sent the instructions to the message handler that generated the receipt. Instead, the receipt is sent over a different communication channel or medium.

[0012] The message processing module may further be configured to include an address of the apparatus in the one or more messages to which receipts are to be sent.

[0013] The receipt may comprise at least one out of the time of receipt of the one or more messages by the message handler, the location of the message handler and an identifier for the instructions. By including the location of the message handler in the receipt, the apparatus and the customer can determine the location in which the delivery of the instructions were successful.

[0014] The message processing module may further be operable to generate a receipt summary based on received receipts to the one or more messages and cause the receipt summary to be sent to a customer associated with the request comprising the instructions. The receipt summary may be provided to a customer device associated with the customer.

[0015] The one or more network capabilities may comprise one or more network broadcast capabilities arranged to broadcast the one or more messages to a plurality of message handlers. The one or more messages may comprise a plurality of messages each comprising a segment of the instructions. Alternatively, the one or more messages may comprise a single message comprising the entire instructions.

[0016] The plurality of nodes may comprise at least one out of a meter, heater, generator and charger. [0017] The apparatus may comprise one or more servers comprising one or more processing units operable to execute instructions in one or more memory units in the server and the message processing module may comprise the one or more processing units and the one or more memory units. The communication interface may comprise one or more different communication interfaces, modules or transceivers.

[0018] According to another aspect of the present disclosure, there is provided message handler apparatus in a network for controlling one or more of a plurality of nodes in the network, the message handler apparatus comprising: a plurality of communication interfaces for receiving messages from one or more network capabilities with instructions for controlling one or more nodes, the instructions having been routed by a router to the one or more network capabilities for forwarding to the message handler, for interfacing with the one or more nodes to carry out instructions in the messages on the nodes and for sending message receipts to the router; and a processor for processing information in the messages and controlling the plurality of communication interfaces, wherein the processor is operable to generate a receipt in response to receiving a message in accordance with at least one receipt generation optimiser parameter in the message and control a communication interface of the plurality of communication interfaces to send the receipt to the router.

[0019] The at least one receipt generation optimiser parameter may comprise a scaling factor parameter that indicates the proportion of message handlers from which a receipt to the one or more messages is desired. The scaling factor parameter may comprise a value that comprises a number between a low number, indicating that no receipt is required, and a high number, indicating that a receipt is required. The processor may be operable to generate a random number and generate the receipt if the random number is equal to or lower than the value of the scaling factor parameter.

[0020] The at least one receipt generation optimiser may comprise an indication of receipt time window within which the message handler is required to send a receipt, if a receipt is required, and the processor may be configured to control the communication interface to send the receipt within the receipt time window. [0021] The message may comprise an indication of an acceptable messaging method for sending the receipt and the processor may be configured to select an interface, of the plurality of communication interfaces, that supports the acceptable messaging method in order to send the receipt.

[0022] The processor may be configured to control an interface of the plurality of communication interfaces to send the receipt via a channel independent of the network capabilities.

[0023] The processor may be configured to send the receipt to an address of the router indicated in the one or more messages.

[0024] The one or more messages may comprise a plurality of messages, each comprising a segment of the instructions and a message identifier comprising an identifier for the instructions and an identifier for the segment of the plurality of segments in the message and the processor may be operable to send a receipt once all the segments have been sent and include the identifier for the instructions in the receipt.

[0025] Additionally, or alternatively, the processor may be configured to include at least one out of a time of receipt of the one or more messages and a location of the message handler in the receipt.

[0026] According to another aspect of the present disclosure, there is provided a system comprising router apparatus as defined above and a message handler apparatus as set out above. The system may further comprise one or more network capabilities and a plurality of nodes.

[0027] According to another aspect of the present disclosure there is provided a method of handling instructions for remotely controlling a plurality of nodes in a network, the method comprising: processing a received request with instructions for controlling a plurality of nodes in the network; generating one or more messages associated with the instructions for transmitting to one or more network capabilities for the one or more network capabilities to forward the instructions to one or more message handlers for controlling the plurality of nodes; including in the one or more messages at least one receipt generation optimiser parameter for managing traffic generated by transmission of receipts to the one or more messages from one or more message handlers; causing the one or more messages to be sent to the selected network capabilities; and receiving one or more receipts associated with the instructions transmitted in accordance with the at least one receipt generation optimiser parameter.

[0028] The at least one receipt generation optimiser parameter may comprise a parameter indicating the proportion of message handlers from which a receipt to the one or more messages is required.

[0029] The at least one receipt generation optimiser may comprise a parameter that indicates a time window within which a message handler is required to send a receipt if a receipt is required.

[0030] The method may further comprise including an indication of an acceptable method of sending receipts and an address to which to send receipts in the one or more messages.

[0031] The method may further comprise generating a receipt summary based on the information in the one or more receipts and causing the receipt summary to be sent to a customer device.

[0032] The information in the one or more receipts may comprise at least one out of a message identifier for the instructions, a location of the message handler that sent the receipt and a time of receipt of the one or more messages at the message handler.

[0033] According to a further aspect of the present disclosure, there is provided a method of acknowledging receipts of instructions to control one or more nodes of a plurality of nodes in a network, the method comprising: processing one or more received messages comprising instructions for controlling the one or more nodes, the instructing having been routed, via a network capability, from a router for routing instructions to the plurality of nodes; controlling one or more modes in accordance with the instructions; generating a receipt to the one or more messages in accordance with a receipt generation optimiser parameter in the one or more messages; and causing the receipt to be sent to the router. [0034] The at least one receipt generation optimiser parameter may comprise a scaling factor parameter that indicates the proportion of message handlers from which a receipt to the one or more messages is required.

[0035] The method may further comprise generating a random number and generating a receipt in accordance with the receipt generation optimiser parameter may comprise generating the receipt if the random number is equal to or lower than the value of the scaling factor parameter.

[0036] The one or more messages may comprise a second receipt generation optimiser comprising an indication of receipt time window within which the receipt is required to be sent and causing the receipt to be sent may comprise causing the receipt to be sent within the time window.

[0037] Causing the receipt to be sent may comprise causing the receipt to be sent via an acceptable messaging method and to an address indicated in the one or more messages.

[0038] The one or more messages may comprise a plurality of messages, each comprising a segment of the instructions and a message identifier comprising an identifier for the instructions and an identifier for the segment of the plurality of segments in the message. Generating the receipt may comprise generating the receipt once all the segments have been sent and including the identifier for the instructions in the receipt.

[0039] Generating the receipt may comprise including a time of receipt of the one or more messages and a location of the message handler in the receipt.

[0040] The methods described above may be computer-implemented methods.

[0041] According to yet another aspect of the present disclosure, there is provided a computer program comprising instructions that when executed by one or more processors cause the one or more processors to carry out the method described above. According to an aspect of the present disclosure, there is a machine readable storage storing the computer program.

[0042] According to a further aspect, there is provided apparatus in a network for routing instructions for remotely controlling a plurality of nodes in the network, the apparatus comprising: a communication interface for receiving a request comprising instructions for controlling a plurality of nodes, for communicating with one or more network capabilities for sending messages to one or more message handlers for controlling the plurality of nodes, and for receiving receipts from the one or more message handlers; and a message processing module configured to generate one or more messages for the instructions and cause the one or more messages to be transmitted to the one or more network capabilities via the communication interface, wherein the communication interface is arranged to receive receipts from the one or more message handlers via a communication path independent of the one or more network capabilities for sending messages to the one or more message handlers. The one or more network capabilities may be network broadcast capabilities arranged to broadcast the messages. The communication path may comprise a short message service SMS communication channel or a narrowband internet of things loT bearer.

[0043] According to an additional aspect of the present disclosure, there is provided message handler apparatus in a network for controlling one or more of a plurality of nodes in the network, the message handler apparatus comprising: a plurality of communication interfaces for receiving messages from one or more network capabilities with instructions for controlling one or more nodes, the instructions having been routed by a router to the one or more network capabilities for forwarding to the message handler, for interfacing with the one or more nodes to carry out instructions in the messages on the nodes and for sending message receipts to the router; and a processor configured to process information in the messages, generate receipts and control the plurality of communication interfaces, the processor being configured to control an interface of the plurality of communication interface to send the receipts to the router via a communication channel independent of the one or more network capabilities.

[0044] According to an additional aspect of the present disclosure, there is provided an apparatus in a network for routing instructions for remotely controlling a plurality of nodes in a network, the apparatus comprising: at least one processor; and a computer-readable medium coupled to the at least one processor having instructions stored thereon which, when executed by the at least one processor, causes the at least one processor to: process a received request with instructions for controlling a plurality of nodes in the network; generate one or more messages associated with the instructions for transmitting to one or more network capabilities for the one or more network capabilities to forward the instructions to one or more message handlers for controlling the plurality of nodes; include in the one or more messages at least one receipt generation optimiser parameter for managing traffic generated by transmission of receipts to the one or more messages from one or more message handlers; cause the one or more messages to be sent to the selected network capabilities; and receive one or more receipts associated with the instructions transmitted in accordance with the at least one receipt generation optimiser parameter.

[0045] According to a further aspect of the present disclosure, there is provided an apparatus in a network for handling instructions to control a plurality of nodes in a network, the apparatus comprising: at least one processor; and a computer-readable medium coupled to the at least one processor having instructions stored thereon which, when executed by the at least one processor, causes the at least one processor to: process one or more received messages comprising instructions for controlling the one or more nodes, the instructions having been routed, via a network capability, from a router for routing instructions to the plurality of nodes; control one or more modes in accordance with the instructions; generate a receipt to the one or more messages in accordance with a receipt generation optimiser parameter in the one or more messages; and cause the receipt to be sent to the router.

BRIEF DESCRIPTION OF THE DRAWINGS

[0046] Aspects of the invention may best be understood by reference to the following description of certain exemplary embodiments together with the accompanying drawings in which:

[0047] Figure 1 is a schematic diagram of a system for remotely controlling a plurality of nodes in the system;

[0048] Figure 2 is a schematic diagram of a router in the system;

[0049] Figure 3 is a schematic diagram of data and instructions stored in memory of the router;

[0050] Figure 4 is a schematic diagram of a message handler in the system; [0051] Figure 5 schematically illustrates the format of a customer request received by the router for controlling remote devices in the system;

[0052] Figure 6 schematically illustrates the format of a message transmitted by the router for routing instructions for controlling remote devices in the system;

[0053] Figure 7 is a process flow diagram for a method in the router of routing instructions for controlling remote devices in the system;

[0054] Figure 8 is a process flow diagram for generating a message transmission plan;

[0055] Figure 9 is a process flow diagram for segmenting instructions;

[0056] Figure 10a is a schematic diagram of a transmission plan stored in memory of the router and Figure 10b is a schematic diagram illustrating how instructions may be sent over a number of messages;

[0057] Figure 1 1 is a process flow diagram for a method in the message handler of receiving and executing instructions for controlling devices local to the message handler;

[0058] Figure 12 is a process flow diagram for a method in the message handler of generating and sending a receipt;

[0059] Figure 13 schematically illustrates the format of a receipt transmitted by the message handler;

[0060] Figure 14 is a process flow diagram for a method in the router of sending a receipt summary;

[0061] Figure 15 is a process flow diagram for receiving a telecontrol message via Digital Audio Broadcasting (DAB);

[0062] Figure 16 is a process flow diagram for receiving a telecontrol message using Frequency Modulation (FM) broadcast technology; and

[0063] Figure 17 is a process flow diagram for receiving a telecontrol message using Short Message Service (SMS) cell broadcast technology.

DETAILED DESCRIPTION [0064] With reference to Figure 1 , a system 1 for remotely controlling a plurality of target nodes is provided in the form of a network comprising one or more remote requesting devices 2, a network router 3, a plurality of message broadcast capabilities (MBC) 4, a message handler 5 and a plurality of target nodes 6.

[0065] Customers C1 , C2 7 in a remote location generate and send requests 8 for controlling the nodes 6 using their requesting devices 2. The network router 3 receives the requests and generates MBC request messages 9, based on the information in the requests 8, which are then sent to the MBCs 4. The MBCs 4 generate control messages 10 based on the MBC request messages 9 and send the control messages 10 to the message handlers 5. The message handlers 5, in turn, control the target nodes 6. The customer 7 may for example be a utility company, such as an energy aggregator, energy distribution network or energy supplier. The nodes 6 may for example be an energy or other utility device such as a utility meter, a generator, a heater, boiler or a charger. More specifically, it may be a night storage heater, an immersion heater or a charging point for an electric vehicle. As shown in Figure 1 , in some embodiments, a feedback channel is provided between the message handler 5 and the router 3 and the message handler 5 may transmit a receipt 1 1 to the router 3 in response to the received control message 9. The feedback channel may be independent of the MBCs 4, as shown in Figure 1 . Typically, the message handler 5, together with the nodes 6 controlled by the message handler, are located at premises belonging to the customer. Alternatively, the message handler 5 and the nodes 6 are located at the premises of another party but the customer still owns the nodes or, at least, has some control over them. The router may transmit a receipt summary 12, based on received receipts 1 1 , to the requesting devices 2. As shown in Figure 1 , the MBCs may also send status updates 13 to the router 3. The router 3 may make a decision about which MBC 4 to use for the transmission of a message based on the status updates 13.

[0066] The system 1 may comprise MBCs 4 that are capable of sending messages using different types of communication technologies. For example, messages 10 may be broadcast using different technologies including, but not limited to, digital audio broadcast (DAB) technology, frequency modulation (FM) radio signal technology and short message service (SMS) broadcast technology. Messages may also be broadcast over a low frequency transmission channel provided by, for example, an existing national broadcast transmission network. A national broadcast transmission network may be a broadcast transmission network at least partly controlled or supported by the state and covering at least a substantial part of the country using regional broadcast stations, such as the BBC broadcast network in the UK. It would typically transmit in low frequency channels, with frequencies lower than 1 MHz, e.g. around 200kHz. In the UK it may for example be the national teleswitch network. The MBCs may also comprise more than one MBC using the same type of transmission media but, for example, servicing different message handlers 5.

[0067] In the specific example of Figure 1 , the MBCs comprise two DAB MBCs, 4a, 4b, operated by a DAB operator, each servicing different regions. The first MBC 4a services a first and a second region and the second MBC 4b services a third region, as indicated in Figure 1 . The system of Figure 1 further includes an MBC 4c operated by an FM operator, an MBC 4d operated by a SMS cell broadcast operator and a national teleswitch MBC 4e operated by a national broadcast transmission network. The system of Figure 1 therefore allows the router to forward instructions over four different types of terrestrial communication networks. The router 3 routes the instructions to an appropriate MBC 4a, 4b, 4c, 4d, 4e for the MBC to broadcast control messages 10 to the message handlers 5. In existing teleswitch networks the teleswitch MBCs may broadcast messages that can be received directly by a teleswitch at the customer's premises, indicated by the dashed line in Figure 1 . If the system comprises an existing national teleswitch MBC, the message handler 5 may be configured to receive and decode the national teleswitch network messages. Alternatively, in some implementations, the system may be configured to let the existing teleswitches receive the messages from the existing teleswitch MBC. It will be appreciated that although Figure 1 shows an MBC 4e for broadcasting message over an existing national teleswitch network, in some embodiments, the system may not have access to an existing national broadcast transmission network.

[0068] Each of the MBCs may comprise one or more message assemblers and one or more transmitter in communication with the one or more message assembler. When an MBC is configured to broadcast messages, the one or more transmitter may for example be a broadcast transmitter or a plurality of broadcast transmitters covering a specific region. The transmitters may be DAB, FM, cellular or other radio signal transmitters. The one or more message assembler assemble the messages and forward them to the one or more transmitters for transmitting. The one or more message assemblers may comprise one or more data processing devices such as servers or other computing devices configured to execute software for assembling the messages.

[0069] It will be realised that although the network messaging capabilities 4 are referred to herein as 'message broadcast capabilities', the system is not limited to transmitting messages by broadcast. The messages could also be communicated using unicast or multicast transmission technologies. The messages may be transmitted over a communication network allowing communication between a single sender and a single receiver. Alternatively, or additionally, the messages may be transmitted over a network allowing communication between a single sender and a defined set of receivers. The networks may be two-way communication networks. Messages may for example be transmitted to one or more specific message handlers 5 over a cellular network, via the internet or via fixed broadband connections such as digital subscriber line (DSL) or cable access. Although the terms 'message broadcast capability', 'MBC or 'broadcasting' in relation to the messages will be used below to describe various embodiments it should be understood, unless the context makes it clear otherwise, that the messages in the system may be sent to the message handlers 5 via any network messaging capability able to forward the messages from the router to the message handler 5 using any type of suitable messaging technology and the system may also comprise messaging capabilities that support unicast and/or multicast communication.

[0070] The requesting devices may be a server, conventional computer, a laptop, a tablet, a smart phone or any other electronic device from which messages can be sent.

[0071] The router 3 will now be described in more detail with respect to Figures 2 and 3. The router is an electronic data processing apparatus comprising a communication interface 21 , a processor 22 and a memory 23. The electronic data processing apparatus may for example comprise one or more servers. The processor 22 and the memory 23 may comprise one or more processors and memory modules distributed over the one or more servers. In some implementations, the router may comprise a managed service running on a server. The communication interface may comprise an interface for accessing a communication network, for example including the internet, for communicating with the customer devices 2, sending request messages 9 and for receiving receipts 1 1 and MBC status updates 13. The access may for example be via a fixed broadband connection such as DSL or cable access, via a connection to a data centre for example over a T1 or Ethernet connection, or via another connection suitable for communicating with other electronic devices. The interface 21 may therefore comprise software or a combination of hardware and software.

[0072] The communication interface 21 may comprise a handler for network Application Programming Interface (API) requests coming from the customer devices 2. It may for example support hypertext transfer protocol (HTTP) representational state transfer (REST) APIs or simple object access protocol (SOAP) web services. The communication interface may comprise one or more API handlers to receive requests 8 and send receipt summaries 12 to the customer devices 2. The one or more API handlers may further be used to send request message 9 to the MBCs and to receive status updates from the MBCs. The method to submit messages would be under the control of the operator of the MBC but the MBCs could for example also provide a REST API or SOAP web service for submission and the communication interface could subscribe to that web service to submit the messages. The communication interface 21 may subscribe to a different REST API or SOAP web service at the MBCs to achieve the push of status update events from the MBC. The one or more API handlers may also receive the receipts from the message handlers. In some embodiments, the communication interface 21 may communicate with another electronic data processing and communication apparatus that receives the receipts and forwards the receipts to the router. For example, another device may comprise a cellular receiver for receiving receipts sent by SMS from the message handlers, if SMS is a method available to the message handlers for sending receipts, and may then forward the receipt information to the communication interface 21 . Alternatively, the communication interface 21 may comprise the cellular receiver.

[0073] The communication 21 interface receives a request 8 from a requesting device 2. The processor 22 generates one or more MBC request messages 9 based on the information in the request. The processor may also include additional data in the request messages 9. The processor 22 then instructs the communication interface 21 to send the message 9 to one or more MBCs 4 for broadcasting for receipt by the relevant message handlers 5. As mentioned above, if the network capability supports communication via unicast or multicast channels, the network capability may alternatively send the message only to the relevant message handlers. Moreover, if the system comprises an MBC configured to broadcast directly to a radio teleswitch node, the processor 22 may additionally or alternatively cause the communication interface 21 to send the message to that MBC for broadcasting for receipt by the radio teleswitch node. A decision on which MBC to forward the message to is made based on data and algorithms stored in memory 23. The router may at a later time receive a receipt from at least some of the message handlers that received the message. The receipts are received via the communication interface 21 and processed by the processor 22. The processor may generate a receipt summary 12 based on the receipts and send it via the communication interface 21 to the customer devices 2. The router would typically also comprise a user interface (not shown in Figure 2) for allowing a user to control and query the router. However, user interaction is not required for sending MBC request messages 9 to the MBCs based on received requests, receiving receipts and status updates and sending receipt summaries. The processor automatically generates and sends the messages to the appropriate MBCs.

[0074] Figure 3 is a schematic view of the data stored in memory 23 in the router 3. The memory of the router stores algorithms 31 for deciding to which MBC to forward instructions. The memory also stores the received requests 8 from the requesting devices 2 and request messages 9 to be sent to the MBCs together with a transmission plan 32 of how and when to send the request messages 9. Additionally, the memory comprises an area for storing the received status updates 13 from the MBCs. The memory may also store processed status information 33 including a list of regions, the MBCs that support each region, the anticipated speed of transmission by the MBC in that region, the cost of transmission for that region and the maximum segment size for transmission. The status data may for example be stored as a table in the memory. The cost of transmission may for example be stored as a price per MB per region. The processor 21 of the router 3 will consider the information in the requests 8 and the MBC status information 33 and, using the decision algorithms 31 , make a decision about how to generate the messages and where to send them. The processor 21 also makes a decision about when to send a specific message based on the information in the request 8 and the decision algorithms 31 in memory 23.

[0075] With reference to Figure 3, the memory 23 may also comprise an area for storing receipts 1 1 from the message handlers. Additionally, it may comprise a memory area for storing receipt summaries 12 to be sent to the requesting devices.

[0076] Additionally, the memory 23 further stores computer programs 34 comprising instructions for operating the router and receiving, generating and sending messages. The programs 34 comprise the operating system software that is accessed by the processor 21 to control the router. The programs 34 can invoke the decision algorithm 31 to determine to which MBCs to send a message and when to send the message. They can also handle requests 8 from the customer devices 2 and receipts 1 1 from the message handlers 5. At least one of the one or more processors 21 of the router and at least some of the programs 34 therefor make up a message processing module for handling messages including requests 8, request messages 9, receipts 1 1 , summary receipts 12 and MBC status updates 13. The processor 21 executes the instructions in the programs to route instructions for the nodes and to process and generate messages. The memory also stores additional data 35 for operating the router. For example, the data may comprise settings and address data.

[0077] The term 'memory' has been used in the description of the router to indicate any type of memory or data storage. It will be realised that the memory can be implemented using a combination of cache memory, random access memory (RAM), a hard disk or any other combination of volatile and non-volatile memory or data storage. For example, some information in memory described with respect to Figure 3 may be stored on a hard disk and then loaded into RAM when the router 3 is started.

[0078] The message handler 5 will now be described in more detail with respect to Figure 4. With reference to Figure 4, the message handler is an electronic data processing apparatus comprising an MBC communication interface 41 , a processor 42, a memory 43 and an interface 44 for communicating with, and controlling, the target nodes 6. The message handler may also comprise an additional communication interface 45 for communicating with the router 3 via a communication channel that is independent of the MBCs. In other words, the message handler 5 may be configured to communicate directly with the router without sending messages via the MBCs. The memory 43 is arranged to store received control messages 10, information 46 about the nodes 6 to which the message handler is connected and other data 47 including, but not limited to, settings, time stamps, receipts 1 1 , and information about the channels to tune into to receive control messages 10. The memory also stores computer programs 48 comprising instructions for operating the message handler. For example, the computer programs may comprise an operating system for operating the message handler and instructions and algorithms invoked by the operating system to handle messages and receipts. The computer programs may also comprise instructions for controlling the nodes. The processor 42 executes the instructions in the programs to control the communication interfaces 41 , 44, 45, process control messages, handle instructions for the nodes and generate messages.

[0079] The MBC communication interface 41 may comprise more than one receiver or interface configured to receive message from the MBCs. In some embodiments, the receivers are configured to receive messages communicated over at least two different types of transmission media. The receivers monitor broadcast, unicast or multicast channels using different types of communication technologies and the processor 41 can then detect control messages 10 when they are sent in the channels. As a specific example the MBC communication interface may comprise a DAB/FM receiver and a cellular receiver. The message handler may then be able to receive control messages over four different types of transmission media, for example DAB, FM, SMS cellular broadcast and a low frequency radio signal transmission medium of a national broadcast transmission network, as shown in Figure 1 .

[0080] The target node interface 44 may for example comprise a Bluetooth transceiver, a ZigBee transceiver, a device language message specification / companion specification for energy metering (DLMS/COSEM) over high-level data link control (HDLC) transceiver, a Wi-Fi transceiver or any other suitable short-range communication interface. The processor 42 processes messages according to programs and algorithms in memory 43 and carries out the instructions in the messages by, for example, sending messages via the target node interface 44. The target nodes 6 would have a corresponding communication interface for receiving the instructions from the message handler 5 for the instructions to be executed by a processing unit of the target node 6. In some embodiments, instead of sending messages to target nodes, the target interface 44 may comprise means for mechanically switching a node device on or off or adjusting the settings of the node device.

[0081] In some embodiments, the message handler 5 is able to send receipts to the router 3. The message handler 5 may generate the receipt based on instructions stored in memory 43 and information in the received control messages 10 and send the receipts 1 1 via the interface 45 for communicating with the router 3. The interface 45 may be arranged to send the receipts via a communication path that is independent of the MBCs. The interface may for example comprise a cellular or Wi- Fi transceiver for sending the receipts directly to the router via a network.

[0082] In some embodiments, a single transceiver may provide the function of at least two of the node interface 44, the router interface 45 and part of the MBC communication interface 41 . For example, a cellular chip may provide both the function of a receiver for receiving a broadcast message from an MBC and a transmitter for transmitting a receipt to the router 45. Moreover, a Wi-Fi chip may provide an interface to both the nodes and the router. It may also provide an interface for receiving the control messages 10. For example, the message handler may comprise a DAB/FM chip for receiving DAB and FM broadcast messages, a cellular chip for receiving broadcast, unicast and/or multicast messages and communicating with the router and a Wi-Fi chip or Bluetooth chip for providing an alternative communication path, via a network, to the router and for communicating with the nodes. In other embodiments, separate chips are provided for each of the node interface 44, router interface 45 and MBC communication interface 41 . In some embodiments at least some of the interfaces may comprise a combination of hardware and software for monitoring the communication channels and receiving and transmitting messages. [0083] The message handler 5 may also comprise a user interface (not shown in Figure 4) for allowing a user to control the message handler 5. However, it will be realised that the message handler does not require any user input to handle the control messages 10, control the nodes 6 and send receipts 1 1 . The messages are automatically processed and the message handler automatically controls the nodes and generates and sends receipts in accordance with the instructions in the message. The user interface may be used by a user to provision the message handler about which broadcast and/or unicast and/or multicast channels to tune into, reflecting the channels that the owner of the node, controlled by the message handler, has decided to use. It may also be used to provision the message handler with information about the nodes which it controls. The provisioning may be carried out off-line. The information about the nodes and which channels to tune into is stored in the memory 43.

[0084] The term 'memory' in the description of the message handler 5 has been used to indicate any type of memory or data storage. It will be realised that the memory can be implemented using a combination of cache memory, RAM, a hard disk or any other combination of volatile and non-volatile memory or data storage. For example, some information in the memory 43 described with respect to Figure 4 may be stored on a hard disk and then loaded into RAM when the message handler is booted up.

[0085] The information included in a request 8 from a requesting device 2 according to some embodiments is shown schematically in Figure 5. The request comprises target group selectors 51 , a message identifier 52, a message payload 53, receipt generation optimisers 54 and a delivery time criticality parameter 55. The request 8 may also comprise additional information not shown in Figure 5.

[0086] The target group selectors 51 may comprise one or more parameters 51 a indicating the target location of nodes 6 to be controlled. Alternatively, or additionally, it may also comprise one or more parameters 51 b indicating one or more target classes of nodes to be controlled. For example, a target location parameter 51 a could be data indicating a postcode area or a Geographic Information System (GIS) representation. The target group selectors 51 may allow a requesting device to include a set of target locations, e.g. a set of postcodes, for increased flexibility. The router 3 is configured to use the target location parameter to choose the most appropriate MBC or MBCs 4 for delivery of a control message 10. A target class parameter 51 b may include data indicating for example the owner of a node, the type of a node or the category of a node. For example, the owner may be a particular utility company. The type and category may indicate different characteristics of the node device. The type may for example include, but is not limited to, 'heaters', 'meters' or 'chargers'. The category may indicate a capability of the nodes, e.g. 'a switchable load, 10-50kW. In some cases, the target class can embody a combination of factors. For example a value may represent 'switchable load, 10- 50kW, managed by Utility A'. The value of the parameter may be a code that represent different factors or combination of factors and a look-up table with the codes and the characteristics they relate to may be provided. The look-up table may be stored by at least the customer devices 2 and the message handlers 5. The message handlers 5 store the target group selector parameters 51 a, 51 b for each of the nodes which they are configured to control as part of the data about the nodes 46 in memory 43. The message handler 5 can be configured to use the target group selector parameters to decide whether the received message is relevant for the nodes it controls. By including target group selectors in the requests 8, appropriate MBCs can be selected for the instructions and messages can be generated and broadcast such that the instructions are subsequently acted on by a subset of a customer's nodes. This may improve the transmission efficiency and granularity of control offered to the customer.

[0087] The message identifier 52 includes an identification number for the set of instructions in the payload. The message payload 53 comprises the actual instructions for controlling the target node. The instructions may for example comprise a command, such as a command to adjust, turn on or switch off. The instructions may be encrypted. For example, the instructions may be encrypted by the customer such that it can only be decrypted by the message handlers or nodes that are associated with the customer.

[0088] The receipt generation optimisers 54 may comprise a message receipt scaling factor parameter 54a. Alternatively, or additionally, it may comprise a message receipt window parameter 54b. The message receipt scaling factor parameter 54a indicates the proportion of message handlers 5 from which a message receipt 1 1 is desired. In some implementations, the parameter may be an integer number between 0 and 100, with a value of 0 indicating that message receipts are not required from any message handlers and a value of 100 indicating that message receipts are required from all message handlers. However, it will be appreciated that other implementations are possible. The generation of message receipts according to the message receipt scaling factor parameter will be described in more detail with respect to Figure 12. The message receipt window 54b parameter specifies the time window during which delivery receipts can be spread. For example, if the customer requires urgent confirmation that the instructions in the payload 53 have been executed, the message receipt window may specify a relative short time. If confirmation is less urgent, the message receipt window may specify a relatively longer time. The parameter may for example comprise a value which specifies a number of seconds.

[0089] The delivery time criticality parameter 55 indicates the level of urgency with which the router 3 will need to ensure that the instructions are delivered to the target nodes. For example, the delivery time criticality parameter may specify a time period in milliseconds. The delivery time criticality parameter 55 may be used by the router 3 to choose the most appropriate MBC or MBCs for delivering the instructions in the payload 53.

[0090] The information in an MBC request message 9 according to some embodiments is shown in Figure 6. The message comprises the target group selectors 51 , a message identifier 62, a message payload 63 comprising instructions, the receipt generation optimisers 54, a parameter indicating acceptable methods for message receipts 65, an address list for the router 66 and preferred channel characteristics 67. The request message 9 may also comprise additional information not shown in Figure 6.

[0091] The target group selectors 51 and the receipt generation optimisers 54 of the MBC request message 9 may be copied from the target group selectors and the receipt generation optimisers of the request 8 described with respect to Figure 5. The target group selectors may comprise a target location parameter 51 a and a target class parameter 51 b and the receipt generation optimisers 54 may comprise a message receipt scaling factor parameter 54a and a message receipt window parameter 54b as described with respect to Figure 5. The message identifier 62 and message payload 63 are based on the message identifier 52 and payload 53 in the request 8 described with respect to Figure 5. However, in some implementations, the message identifier 62 of the MBC request message 9 may be an extended message identifier and the payload 63 may only comprise a segment of the payload 53 of the request 8. For example, if the router 3 decides that it would be appropriate to send a set of instructions in a request 8 as a plurality of segments, wherein each segment is transmitted in a separate message, the message identifier 62 may comprise the message identifier 52 of the request 8 plus information linking the message with the other messages that comprise the other segments of the set of instructions. A method of generating a plurality of MBC request messages 9 based on a single request 8 will be described in more detail with respect to Figure 9.

[0092] The parameter 65 indicating acceptable methods for message receipts may comprise data indicating different types of communication technologies or networks that can be used by the message handler 5 to send receipts 1 1 to the router 3. For example, the parameter may comprise the value "SMS" indicating that receipts can be sent via SMS or the value "NB-IOT" indicating that receipts can be sent via a narrowband Internet of Things (loT) network provider. In some embodiments, the parameter may comprise more than one value indicating that more than one messaging technology can be used by the message handler 5 to deliver a receipt 1 1 .

[0093] The address list 66 may comprise a list of addresses for the router, with at least one address for each acceptable communication method indicated in the message. For example, the list could comprise the values "SMS=(e.164 address); "NB-IOT=(IPv4 address)" where '(e.164 address)' and '(IPv4 address)' indicate the addresses of the router using the e.164 international public telecommunication numbering plan and Internet Protocol version 4 (IPv4) respectively. In this example, the list could additionally or alternatively also comprise the Internet Protocol version 6 (IPv6) address.

[0094] The preferred channel characteristics 67 may comprise a value that indicates to the receiving MBC the preferred type of data channel to be used for transmission. For example, it may include a value corresponding to 'low latency preferred' or 'high data rate preferred'. This may be useful if a particular MBC has a number of available data channels with differing characteristics.

[0095] The information in a control message 10, according to some embodiments, comprises all the parameters and instructions 51 , 62, 63, 54, 65, 66 described with respect to the request message 9 in Figure 6 except the preferred channel characteristics 67. The MBCs would remove the preferred channel characteristics once the appropriate channel has been selected, in dependence on the preferred channel characteristics, if more than one channel is available. The router may not always know if an MBC can transmit control messages in more than one communication channel but may include the preferred channel characteristics in case more than one channel is available. The MBC may also leave out some of the information in the message requests 9 and/or include additional information when it assembles control messages 10, to be sent to the message handlers, from the request messages 9 received.

[0096] The operation of the router 3 will now be described in more detail with respect to Figures 7, 8 and 9. With reference to Figure 7, the router receives status updates 13 from the MBCs at step S7.1 and saves the status updates in memory 23 at step S7.2. A status update 13 from an MBC may comprise a list of regions supported for broadcast by the MBC, the anticipated speed of transmission per region and a maximum segment size for transmission. The status update may also comprise the cost of transmission per region, for example provided as a price per MB. The processor 22 may process the information and include the information in the processed status information 33 in memory 23. In some implementations, the information is pulled by the router 3 from the MBCs 4. For example, the information may be pulled by the router at regular intervals. In other implementations the information is pushed to the router 3 by the MBC on an event basis. For example, it may be pushed when there is a change in the cost or speed of transmission of the MBC. In some implementations the communication interface 21 of the router subscribes to a web service exposed by the MBC with web sockets to achieve the push of events from the MBC 4 to the router 3. The router repeats steps S7.1 and S7.2 for each MBC and for each status update received. [0097] At step S7.3 the router receives a request 8 from a requesting device 2. The processor 22 of the router saves the request 8 in memory 23 at step S7.4. It then invokes the decision algorithms 31 to determine a transmission plan for where and when to send an MBC request message 9 at step S7.5. Using a decision algorithm 31 , the processor 22 selects one or more MBCs 4 to which it will send the request message 9 and determines a time when it will send the message to the one or more MBCs. In some implementations it determines (a) an 'immediate send list' and (b) a 'deferred send list'. The immediate send list includes MBCs to which the message will be sent immediately. The deferred send list includes MBCs to which the message may be sent at a later time. The method of selecting MBCs will be described in more detail with respect to Figure 8.

[0098] The processor 22 then generates an MBC request message 9 at step S7.6. The processor generates a message identifier 62 and a message payload 63 based on the message identifier 52 and message payload 53 of the request and includes these in the new message. The processor also includes the target group selectors 51 and the receipt generation optimisers 54 from the request 8 in the new message. The processor also includes an acceptable method for sending receipts 65 and the address of the router 66, to which the message handler can send receipts using the acceptable method. Furthermore, the processor includes an indication of preferred channel characteristics, which may later be used if an MBC has more than one channel. The message may be generated as a message to be pushed to the MBC via the internet or any other suitable transmission medium. The method to submit messages is under the control of the operator of the MBC, for example they could provide a REST API or SOAP web service for submission. For some MBCs, the payload 63 may be too large to send in a single message. Consequently, the router may divide the message into a number of smaller messages as will be described with respect to Figure 9. At step S7.7, the processor 22 then causes the one or more messages to be transmitted to the MBCs, via the communication interface 21 , according to the transmission plan 32 determined at step S7.5. In some situations, this may involve sending a message simultaneously to a number of MBCs. In other situations, the messages may be sent sequentially to a number of MBCs. In yet other situations, the message may be sent simultaneously to a number of MBCs and then at a later time sent to one or more MBCs if the number of receipts received are not above a threshold. Typically, as indicated above, a message assembler entity within the MBC receives and deals with the messages. The message assembler entity may extract the relevant information from the received request messages 9, generate the control messages 10 and broadcast the generated control messages. The message assembler entity may check the preferred channel characteristics and broadcast control messages in a channel selected accordingly.

[0099] A method of selecting a number of MBCs 4 and determining a transmission plan 32 will now be described with respect to Figure 8. The processor 22 of the router extracts the target location parameter 51 a from the target group selectors 51 in the request 8 at step S8.1 . The processor 22 then accesses the processed MBC status information 33 and identifies which MBCs are able to broadcast messages to the target location at step S8.2. The processor 22 then generates an 'immediate send list' and a 'deferred send list' and includes one or more of the identified MBCs on the immediate send list and one or more of the identified MBCs on the deferred send list. The immediate send list is a list of MBCs to which the one or more request messages 9 to be generated from the request will be sent immediately or as soon as the system allows. The deferred send list is a list of MBCs to which the one or more request messages 9 to be generated from the request will be sent after a certain time if the number of message receipts from the message handlers is below a certain threshold. In more detail, the processor extracts the delivery time criticality parameter 55 from the received request 8 at step S8.3 and based on this data and the MBC status information 33 in memory the processor selects, using the decision algorithm 31 , which one or more of the identified MBCs to include on the immediate send list at step S8.4 and which one or more of the identified MBCs to include on the deferred send list at step S8.5. For example, if the delivery time criticality parameter 55 has a very low value, the router may choose more than one MBC with a very low latency to include on the immediate send list. The processor 22 may also select preferred channel characteristics to include in the request message 9 based on the information in the request 8 and the decision algorithms 31 stored in memory 23.

[0100] The processor then determines at step S8.6, using the decision algorithms 31 , a suitable receipt threshold and the time at which to send the message to the MBCs on the deferred send list if the number of receipts received is below the threshold. The same receipt threshold and deferred send time may be applied to all MBCs on the deferred send list. The message receipt threshold may be selected based on the receipt scaling factor 54a of the receipt generation optimisers 54 in the request 8. The receipt threshold and deferred send time may additionally or alternatively be selected on a per customer basis. That way the router can vary the quality of service experienced by the customers, for example in relation to the cost incurred by each customer. The immediate send list, the deferred send list, the receipt threshold and the deferred send time are stored in, and forms part of, the transmission plan 32 in memory. As a specific example, the router may choose to simultaneously send a time-critical MBC request message 9 to the national broadcast transmission network 4e and the DAB transmission operator for region 1 and 2, 4a. If after 60 seconds, message receipts have been received from less than 50% of the message handlers, the router may send the MBC request message 9 to a SMS cell broadcast network operator 4d for broadcasting by SMS as well.

[0101] The process for generating messages and message identifiers will now be described in more detail with respect to Figure 9. The processor 22 of the router accesses the status information 33 for a particular MBC either on the immediate send list or the deferred send list at step S9.1 and determines the capability of the MBC. At step S9.2, the processor 22 then determines the size of the payload 53 of the request 8 based on which it will generate one or more request messages 9. If the processor determines at step S9.3 that the size of the payload 53 is smaller than the maximum payload size the MBC can handle in a single message, the processor creates a single request message 9 at step S9.4, with the instructions from the request and a message identifier 62 equal to the message identifier 52 from the request 8 or extended with information to indicate that the full set of instructions is included in one message. If, conversely, the processor 22 determines at step S9.3 that the payload size is greater than the maximum payload size the MBC can handle, the processor determines how many segments the message will need to be broken into at step S9.5. The processor then extends the message identifier 52 from the request 8 with the segment number of the segment of the message payload 53 being transmitted and the total number of segments used to convey the overall message payload at step S9.6. The processor then chooses a message payload 63, comprising a segment of the instructions of the payload 53 of the request, for each segment message at step S9.7 and creates the messages 9 at step S9.8. The router then repeats the step for the next MBC on the immediate send list or deferred send list.

[0102] In some implementations, to reduce the amount of processing, the processor may analyse all the MBCs on the immediate and deferred send lists at step S9.1 and group them into similar capabilities so that the steps of Figure 9 are only repeated once for each group of MBCs with similar capability. If the system has two MBCs that require segmentation but the MBCs can support different maximum payload sizes, a different message segmentation may be generated for each MBC. For example, one MBC may have maximum message size of 100 bytes and another MBC may have a maximum message size of 150 bytes. That might lead to different number of message segments being generated from the request for each MBC. The message handler 5 can find and group segments provided by broadcast control messages 10 with extended message identifiers 62 that start with the same message identifier 52, taken from the associated request 8, and specify the same total number of segments.

[0103] Figure 10a schematically illustrates an example of how a transmission plan 32 may be organised and stored in memory 23. The table of Figure 10a includes the original message identifiers 52, from the associated requests 8, for a number of different set of instructions and the immediate send list 102, the deferred send list 103, the deferred send time 104 and the message receipt threshold 105 for the set of instructions. The first column indicates the original message identifier 52. The table of Figure 10a stores transmission plan data for instructions with identifiers 1 1 1 1 1 , 1 1 1 12 and 1 1 1 13. A different table or data area in the memory 23 will store the associated segment information and extended message identifiers for the request messages used to convey the instructions. The immediate send list 102 and the deferred send list 103 are indicated in the second and third column respectively. Moreover, the deferred send time 104 and the message receipt threshold 105 are indicated in column 4 and column 5 respectively. In the example of Figure 10a, two different MBCs, MBC1 and MBC3, are included on the immediate send list and two other MBCs, MBC4 and MBC5, are included on the deferred send list for the instructions with identifier 1 1 1 1 1 . The transmission plan indicates that if after 60 seconds, message receipts have only been received from fewer than 30% of the message handlers, the message will be resent to MBC4 and MBC5. Figure 10a shows different examples of immediate send lists, deferred send lists, deferred send times and receipt thresholds for the instructions associated with message identifier 1 1 1 12 and 1 1 1 1 13.

[0104] If the maximum message size of one or more of the MBCs is smaller than the message size that would be required to broadcast the full instructions associated with message identifier 1 1 1 1 1 , the instructions may be segmented as schematically illustrated with respect to Figure 10b. The request 8 with the full instructions 106 is used by the router to generate two segmented request messages 9a and 9b with instruction segments 106a and 106b respectively which in turn are used by one or more MBCs to generate two control messages 10a and 10b, again comprising the instruction segments 106a and 106b respectively. The message handler then generates a single receipt 1 1 for the instructions. Other message handlers may generate their own receipts 1 1 for the same instructions and with the same identifier. The extended message identifiers 62 for the request messages 9a and 9b comprise the original message identifier 1 1 1 1 1 from the associated request, the segment number and the total number of segments. As is clear from Figure 10b, the two digits after the original message identifier indicates the segment number, in this case '01 ' or '02', and the last two digits indicate the total number of segments of the instructions, in this case '02'. It will be realised that a different segmentation may be required for different MBCs and for other MBCs more than two segments may be required. Moreover, for some MBCs no segmentation may be required. The full instructions 106 would then be included in a single request message 9 and a single control message 10. Moreover, it will be realised that in practice a longer message identifier 52 than shown in Figures 10a and 10b may be required. It will be appreciated that Figure 10b is schematic and, for clarity, does not show all the information included in the request 8, the request messages 9a, 9b, the control messages 10a, 10b and the receipt 1 1 .

[0105] It will be appreciated by the skilled person that there are a number of possible implementations for the transmission plan and the plan shown in Figure 10a is only one example. It will also be appreciated that although Figure 10a shows that the MBCs on the deferred list are different to the MBCs on the immediate send list, some of the MBCs on the immediate send list may also be on the deferred send list. [0106] The handling of messages and receipts will now be described in more detail with respect to Figure 1 1 , 12 and 13. With reference to Figure 1 1 , the one or more receivers of the MBC communication interface 41 of the message handler receives a control message at step S1 1 .1 and the processor 42 then reads the message. The message handler can be provisioned to tune in to specific channels, reflecting the channels that the company owning the message handler has decided to use. The message handler may tune in to specific channels based on data 47 in memory 43. Once tuned into the specific message channels, it scans the channels to find control messages 10. If the control message is encrypted and not meant for the message handler, the message handler will not be able to read the message and may discard it before reading it. Consequently, by being able to decrypt a message, the message handler may determine that it may be the intended recipient.

[0107] If the receiver and processor can receive and decode the message, the processor extracts parts of the message for analysis. The processor checks the target group selectors 51 of the message at step S1 1 .2 to determine whether the message is in fact relevant for the message handler. For example, the target class parameter 51 b of the target group selectors 51 may indicate that the instructions in the message applies to all electric heaters associated with a particular electricity company and the instructions may indicate that they should be switched off. Alternatively, the target class parameter may indicate that the instructions apply to electric car charging stations and the instructions include a command to switch them on. The processor 42 compares the target class parameter 51 b in the message with the data 46, stored in memory 43, indicating the classes of the nodes which it is able to control at step S1 1 .3 and determines if it needs to act on the message. The information 46 in the memory 43 may include information indicating the owner, the type and category of devices to which it is connected or at least with which it is able to communicate. If the broadcast channel covers more than one region the processor 42 may also check the target location parameter 51 a of the target group selectors 51 to determine if the instructions in the message are for the region in which the message handler is located. Again, the data 46 in memory 43 may include the location of the message handler and the nodes. If the target class 51 b in the message is different to the target class of all the nodes, the message is discarded at step S1 1 .4. Similarly, if the target location 51 a is different to the location of the message handler and the nodes, the message is also discarded. If the comparison at step S1 1 .3 indicates that the target group selectors match the stored information about the nodes, for example because a target class parameter match one of the stored classes for the nodes, the processor determines that the instructions are relevant for one or more of the nodes.

[0108] The processor 42 then checks the message identifier at step S1 1 .5 and determines whether the message has already been received via a different communication channel at step S1 1 .6. It may also check whether the message is a segment message and if it therefore will need to look out for further messages, and/or add the instructions in the message to instruction segments of already received messages, to obtain the entire instructions. If the message has already been received and executed, it discards the message at step S1 1 .7. If the message has not been received, it logs the message and the time of receipt in memory 43 at step S1 1 .8. Steps S1 1 .1 to S1 1 .3, S1 1 .5, S1 1 .6 and S1 1 .8 are then repeated for any control messages that include associated instruction segments. When the message handler has received the entire set of instructions, the processor 42 executes the instructions in the message at step S1 1 .9. For example, it may instruct a device connected to it to perform an operation as encoded in the payload in the received message or messages, such as activation of a switch within a utility meter to change that meter's tariff from tariff A to tariff B or activation of a switch to turn on a generator. After it has executed the instructions it may discard the message but keep an indication in memory 43 that the message has been received and executed. Execution of instructions in telecontrol or telemetry messages are known and will not be described in detail herein. As indicated above, executing the instructions may include sending an instruction via a wireless or wired connection to an energy or other utility device to adjust itself, turn on or switch off. It may alternatively include operating a mechanical switch.

[0109] It will be appreciated that the order of the steps of the processes described herein may be changed. For example, in Figure 1 1 , the processor of the message handler may check the message identifier before it checks the target group selectors so that it does not have to check the location and class of the nodes at step S1 1 .2 and S1 1 .3 if the message has already been received and executed. By having a message identifier, the message handler can avoid executing the same command, broadcast in alternative channels, multiple times. Moreover, in some implementations, only the payload may be encrypted and the message handler may carry out steps S1 1 .2, S1 1 .3, S1 1 .5 and S1 1 .6 before it attempts to decrypt the payload.

[0110] A method of sending message receipts 1 1 will now be described with respect to Figure 12. For segmented messages, the message handler 5 only sends a receipt, to acknowledge receipt of instructions, once all the segments of the instructions are received. Moreover, in some implementations, only one receipt is sent even if the message handler has executed the instructions on multiple nodes. The processor 42 extracts the receipt generation optimisers 54 from the control message 10 stored in memory 43 and checks the message receipt scaling factor 54a at step S12.1 . The message receipt scaling factor may indicate that no receipts are necessary, in which case the message handler determines that a receipt is not required at step S12.2 and ends the process. For example, a scaling factor with the value '0' may indicate that message receipts are not necessary. If the scaling factor has a value that indicates that it may be required to acknowledge receipt, the processor determines that it may need to send a receipt at step S12.2 and proceeds to step S12.3 and to generate a random number. If the random number R is found to be smaller or equal to the message scaling factor F at step S12.4, the processor generates a receipt at step S12.5. To indicate that a message receipt may be necessary, the scaling factor may be given a value corresponding to a number between 1 and 100 and the processor may generate a random number between 1 and 100. Different message handlers can generate random numbers in different ways but, as an example, the processor of the message handler could create a random number based on a hash of the time of receipt of the message and the manufacturer serial number of the message handler. If, for example, the scaling factor is set to 30, approximately 30% of the message handlers should generate a random number equal to or lower than 30, especially if the population of message handlers to which the instructions apply is large, and the router should therefore, if the transmission of the control message was successful, receive receipts from approximately 30% of the relevant message handlers. Of course, the exact percentage will depend on the population of message handlers that receive and act on the control message. [0111] The receipt 1 1 is then sent at step S12.6 during the message receipt window 54b indicated in the receipt generator optimiser parameters 54. The message handler may extract the acceptable methods for receipt 65 and the address list 66 for the router and send the receipt to one of the addresses on the list using the corresponding acceptable method. In some implementations, the message handler may have the capability to send the message using more than one of the acceptable methods, in which case it may select one of them. For example, the message handler may both have a cellular chip and be connected to broadband via, for example, a Wi-Fi connection. By only asking for receipts from a portion of the handlers, receipts are generated for sufficient cases to inform the customer of the outcome without causing traffic spikes. Moreover, the message handler can spread the message generation and transmission of receipt over the time window, further reducing the likelihood of traffic spikes.

[0112] An example of the information in a receipt 1 1 is shown in Figure 13. The receipt of Figure 13 includes the time of receipt 131 of the message, the message identifier 52 and the location of the message handler 133. Since only one receipt is sent even if the instructions are segmented, the message identifier in the receipt is the unextended message identifier 52 corresponding to the message identifier in the request 8. The location area of the message handler may be provisioned at the message handler by the customer, for example using a graphical user interface, and stored as part of the information about the nodes 46 in memory 43. The time of receipt and the location area of the message handler are extracted from the memory 43 and included in the receipt.

[0113] The handling of receipts in the router 3 will now be described with reference to Figure 14. The router receives the message receipts 1 1 and stores them in memory at step S14.1 . At the end of a time period corresponding to the deferred send time 104 in the transmission plan 32, the processor 22 then analyses the receipts at step S14.2. It may count the number of receipts and it may also calculate the percentage of receipts based on the number of target message handlers and/or nodes. If the number of receipts is lower than the message receipt threshold, the router may decide at step S14.3 to resend the instructions via the MBCs on the deferred send list 103 and the process then returns to receiving and storing incoming receipts. Alternatively, if the number of message receipts for a message is equal to or above the threshold, the processor of the router generates a summary of the receipts and causes the summary to be sent, via the communication interface 21 , to a relevant customer device 2 at step S14.4. The summary receipt may take the form of the number of message receipts received per location area. If the router had to resend the message via the MBCs on the deferred list, the processor will again analyse the receipts at the end of a time period based on the receipt window 54b. If the router has already sent the message via the MBCs on the deferred list, the processor 22 may determine at step S14.3 that no further messages are to be sent and cause a summary of the receipts to be sent at step S14.4 even if the threshold has not been met. Alternatively, it may decide to resend the message again and wait until the receipt threshold has been met before it sends a summary to the customer device.

[0114] By having a number of different types of message communication technologies available, via the MBCs 4, the router can choose one or more appropriate technologies. Mechanisms for transmitting control messages over DAB, FM and SMS cell broadcast will now be described with respect to Figures 15, 16 and 17. The control messages 10 will be referred to as time-critical telecontrol messages (TCTM) and the message handler 5 as a telecontrol message handler (TMH). It will be realised that the term 'telecontrol' is meant to be interpreted broadly and to indicate control of remote nodes, but the messages could also be used to communicate other information than control commands and the mechanisms may also be appropriate for 'telemetry' systems and time-critical telemetry messages.

[0115] Mechanism for broadcasting messages over a DAB transmission network and procedures in the TMH 5 for detecting and reading messages transmitted over a DAB transmission network will first be described. The structure of DAB multiplexes are known by the skilled person and will not be described herein in detail. References will be given to the relevant sections and parameters described in the standards documents ETSI EN 300 401 (2006-01 ) "Radio Broadcasting Systems; Digital Audio Broadcasting (DAB) to mobile, portable and fixed receivers" (referred to as 'ref[1 ]' hereinafter) and ETSI TS 101 756 (2014-05) "Digital Audio Broadcasting (DAB) Registered Tables" (referred to as 'ref[2]' hereinafter). [0116] A mechanism is required for carrying the TCTM 10 over the available data channels in DAB and for the TMH 5 to be able to identify the TCTM in the broadcast DAB multiplex. With reference to Figure 15, the communication interface 41 of the TMH receives a DAB multiplex at step S15.1 . The communication interface 41 of the TMH 5, in the implementations in which the TMH can receive messages over a DAB communication medium, comprises a DAB receiver for receiving the DAB multiplex. The processor 42 of the TMH then accesses specific multiplex data, in the received multiplex, indicating whether a TCTM 10 can be found in the multiplex at step S15.2 and determines whether the data comprises a TCTM at step S15.3. If it determines that the multiplex contains a TCTM, the processor of the TMH 5 then extracts the TCTM at step S15.4. A number of different mechanism for achieving the method of Figure 15 are provided as will be described below.

[0117] The DAB main service channel (MSC) provides two methods to transfer user data, namely the stream mode sub-channel and the packet mode sub-channel. However, in known systems it is not possible to transfer TCTMs in the main service channel because a receiver is unable to determine whether the received multiplex signal contains TCTMs and where within the multiplex they are located. In some implementations of the system of Figure 1 , a dedicated value to represent TCTMs is allocated to the 'Data service component type' parameter (table 2 in ref[2]) and a procedure is introduced in the TMH to detect it. In this method, the processor 42 of the TMH will read the Multiplex Configuration Information (MCI) for a DAB multiplex at step S15.2 to determine how the service and service components are organised. This can be achieved by the TMH reading the 'FIG Type 0 - Extension 2 field, FIG 0/2' (Figure 24 in ref[1 ]), where 'FIG' corresponds to the 'Fast Information Group'. If the Transport Mechanism = 1 (MSC stream data) and the Data Service Component equals a value representing TCTM, the TMH determines at step S15.3 that the service component is a stream mode sub-channel containing a TCTM data and can decode the TCTM at step S15.4. Alternatively, if the Transport Mechanism = 3 (MSC packet data) and the Data Service Component equals a value representing TCTM, the TMH determines at step S15.3 that the service component is a packet mode sub-channel containing TCTM data and can decode it accordingly at step S15.4. [0118] In other implementations of the TMH 5, the TMH can receive TCTMs in the Fast Information Data Channel (FIDC) of a DAB multiplex. The DAB FIDC provides a channel to transfer user data but in known systems it is not possible to use the channel to transfer TCTMs because a receiver is unable to determine whether the received multiplex signal contains TCTM traffic and if so where it is located. In some of the implementations of Figure 1 , a mechanism for transmitting TCTM using DAB is provided in which a new value to indicate TCTM traffic is allocated to the 'FIDC identifier'. This can be done using a dedicated 'Extension' value, for example Extension 3, of the FIG Type 5 data field (Figure 7 in ref[1 ]). A procedure is introduced in the TMH to detect the new value. Again, the processor 42 of the TMH would read the MCI for the received DAB multiplex at step S15.2, but in this implementation it would then check the value of the Transport Mechanism and the FIDC identifier. If the Transport Mechanism = 3 (FIDC) and the FIDC identifier equals a value representing TCTMs, the TMH determines at step S15.3 that the service component is a FIDC containing TCTM data and can decode it accordingly at step S15.4.

[0119] Yet other alternative implementations involve transferring TCTMs using the programme associated data (PAD) of a DAB multiplex. The DAB PAD provides a channel to transfer user data, associated with an audio channel, but in known DAB networks it is not possible to successfully transfer TCTMs in the PAD because a receiver is unable to determine which PAD data represents TCTMs. In implementations of the system of Figure 1 , a new value to indicate TCTM traffic is allocated to the 'Application Type' (Table 27 in ref[1 ]) in the extended PAD (X-PAD) field associated with the audio stream (section 7.4.2 in ref[1 ]). The TMH receives the DAB multiplex containing audio streams and, at step S15.2, the processor reads the X-PAD field associated with the audio stream. The TMH then locates the 'Application type' indicator, either by scanning the entire X-PAD field or by examining the Contents Indicator if present (Figure 40, Figure 41 in ref[1 ]). If the application type value represents TCTMs, the TMH knows that the X-PAD data contains TCTM data and can decode it accordingly. The receiver in the message handler then seeks a DAB channel with an audio stream containing the corresponding 'Application type' to receive the TCTM. [0120] In yet other implementations, the location of the TCTMs can be signalled using DAB 'user application information'. It can be time-consuming for a processor to locate TCTMs within a DAB multiplex, especially those located within audio streams. In these implementations, a new value to indicate TCTM traffic is allocated to the 'User Application Type' (Table 16 in ref[2]). In these implementations, the processor of the TMH reads the Service Information field for a DAB multiplex at step S15.2, to search for 'User application information' which if present will be located in the 'FIG Type 0 - Extension 13' field (Figure 68 in ref[1 ]). If the value of 'User application type' within this field indicates TCTM traffic, the TMH can determine at step S15.3 that the TCTM data is located in the channel pointed to by the 'Service Identifier' (Sid) and the 'Service Component Id within the Service' (SCIdS) parameters. Both of these are included within the 'User application Information' field where the User application type was detected.

[0121] A mechanism for transmitting TCTMs via an FM transmission network will now be described. By including MBCs that can broadcast messages using FM radio signal technology in the system of Figure 1 and introducing a procedure in the TMH 5 for detecting and reading a message transmitted over a FM broadcast network, the router 3 will have further options for routing a time-critical message to the TMHs. The Radio Data System (RDS) and the DAta Radio Channel (DARC) provide channels to transfer user data, associated with an FM broadcast. However, in known systems it is not possible to transfer TCTMs in FM broadcasts because a receiver is unable to determine where the TCTM is located within the FM broadcast. The structures of FM broadcast data and channels are known by the skilled person and will not be described herein in detail. References will be given to the relevant sections and parameters described in the standards documents CENELEC EN 50067:97 "Specification of the radio data system (RDS) for VHF/FM sound broadcasting in the frequency range from 87,5 to 108,0MHz" (referred to as 'ref[3]' hereinafter) and ETSI EN 300 751 (2003-01 ) "Radio broadcasting systems; DAta Radio Channel (DARC); System for wireless infotainment forwarding and teledistribution" (referred to as 'ref[4]' hereinafter).

[0122] In some embodiments of the system of Figure 1 , a set of methods for carrying the TCTMs over the available FM data channels, including RDS and DARC, and for the TMH to be able to identify the TCTMs in the FM transmission are provided. With reference to Figure 16, the communication interface of the TMH receives a FM transmission at step S16.1 . The processor of the TMH controls the communication interface to monitor a specific group or channel of the transmission at step S16.2, as will be described in more detail below, determines that the transmission includes a TCTM at step S16.3 and then determines the location of the message and accesses the message at step S16.4.

[0123] In some implementations of the system of Figure 1 , the TCTM can be sent via the RDS Open Data Application Channel. In these implementations the communication interface 41 of the TMH 5 comprises an RDS receiver. Moreover, a dedicated value is allocated to the 'Applications Identification Code' (AID) parameter (see section 3.1 .4 in ref[3]) to indicate TCTM traffic. At step S16.2, the processor 42 controls the RDS receiver to monitor the Type 3A Group (see Section 3.1 .5.4 in ref[3]). If an AID value representing TCTM traffic is found, the corresponding Type 3A group will indicate in which Groups the TCTM traffic will be found. The processor 42 of the TMH 5 can then extract the message at step S16.4.

[0124] In other implementations, the TCTM can be sent via the DARC channel. In those implementations, the communication interface of the message handler comprises a DARC receiver. A dedicated value representing TCTM traffic is allocated to the Service Identity (SID) parameter (see ref[4]). At step 16.2, the processor 42 controls the DARC receiver to monitor the DARC service channel (SeCh) to retrieve information about the multiplex organisation (see section 8.3 in ref[4]). If a Service Identity value is found representing TCTM traffic, the processor of the TMH can then determine at step S16.3 that the FM broadcast includes a TCTM and identify from the SeCh the address and characteristics of the TCTM service within the multiplex such that it can access the message at step S16.4.

[0125] A mechanism for transmitting TCTMs via SMS cell broadcast will now be described. By including MBCs in the network of Figure 1 that can transmit via SMS cell broadcast and introducing a procedure in the TMH for reading a message transmitted over SMS broadcast, the router will have further options for routing a time-critical message to the TMHs. The structure of SMS cell broadcast data is known by the skilled person and will not be described herein in detail. References will be given to the relevant sections and parameters described in the standards document 3GPP TS 23.041 V2.0.0 "Technical realization of Cell Broadcast Service" (referred to as 'ref[5]' hereinafter).

[0126] In some embodiments of the system of Figure 1 , a mechanism for carrying the TCTMs over the available SMS cell broadcast channels and for the TMHs to be able to identify the TCTM in a multiplex of cell broadcast messages are provided. With reference to Figure 17, the communication interface 41 of the TMH receives a cell broadcast at step S17.1 and monitors the cell broadcast channels for all the supported radio accesses in step S17.2. This may cover one or more of Global System for Mobile Communications (GSM), Universal Mobile Telecommunications Service (UMTS) and Long Term Evolution (LTE) radio accesses. The communication interface 41 of the TMH in these embodiments includes a suitable receiver for monitoring the cell broadcast channels used to send TCTMs. The processor 42 of the TMH then determines at step S17.3 whether the broadcast includes a TCTM message and, if it does, reads the message at step S17.4. To realise communication of TCTMs over the SMS cell broadcast communication medium, a dedicated value representing TCTMs is allocated to the 'Message Identifier' parameter (see section 9.2.1 in ref[5]]). The TMH checks the Subscriber Identity Module (SIM) file 'EFcbmi', corresponding to the 'Elementary file, cell broadcast message identifier selection'. The file includes a set of 'message identifier' values. If a value is found representing the new value for TCTM traffic, then the processor of the TMH determines at step S17.3 that the multiplex of cell broadcast messages includes a TCTM message. The processor then checks the cell broadcast schedule message to find where the TCTM message is located within the multiplex, for that 'message identifier' value, and extracts the message at step S17.4.

[0127] Various mechanisms for indicating the existence of TCTMs in the broadcasts and procedures for detecting the dedicated values representing TCTMs have been described above. The receivers may be configured using software stored as part of the computer programs 48 in memory 43 and settings stored as part of the data 47 in memory 43, described with respect to Figure 4, in order to detect the dedicated values and access the TCTMs. The processor 42 may execute software to control the receivers to monitor the relevant channels, to check the relevant data structures and values and to extract the messages. The dedicated values for indicating the presence of TCTMs may be stored in the data 47 in memory 43 and the processor 42 may compare the values in the received DAB, FM or SMS cell broadcast multiplexes with the values stored in the memory 43 to determine whether the received broadcasts include TCTMs.

[0128] As mentioned with respect to Figure 1 , the router may be able to route instructions to an MBC that is able to transmit messages over a national broadcast transmission network, such as the national teleswitch transmission network in the UK. It is known how TCTM messages can be transmitted over national broadcast transmission networks, and then used to control target nodes, and this will not be described herein.

[0129] A number of different implementations of transmitting messages via DAB, FM and SMS cell broadcast have been described and it will be realised that any implementation for transmitting a message via DAB, FM or SMS cell broadcast can be combined with an implementation for transmitting a message via any of the other of DAB, FM and SMS cell broadcast described above. The various implementations can also be combined with implementations in which a message handler is also able to receive messages over a national broadcast transmission network. Moreover, in some embodiments, the various implementations may be combined with transmitting messages using unicast or multicast technology, for example, using a cellular network or via a fixed broadband internet connection. The system may comprise one or more separate network unicast capabilities for forwarding messages from the router to the message handlers. In some embodiments, the router may also be operable to send messages directly to the message handlers, using a unicast transmission channel, as an alternative to sending messages to MBCs or separate message unicast capabilities. However, in other embodiments in which time critical messages are required to be sent to tens of millions of devices, broadcasting the messages using one or more MBCs may be the most appropriate method.

[0130] Although a number of specific components of the network of Figure 1 has been described herein it will be appreciated that the network can also comprise additional components. A network implementing the mechanisms described herein may comprise a very large number of message handlers and nodes, each message handler controlling multiple nodes. In some embodiments, a message handler and a node may be located in the same housing and be part of the same device. In other embodiments, the message handlers may be separate devices from the nodes to be controlled. Specific components of the router and the message handlers have been described but it will be realised that the router and the message handler can be implemented in other ways. For example, a message processing module of the router may be implemented only in software or only in hardware. Moreover, the message handler may comprise a number of separate devices or all components may be included in a single device. The processor of the message handler may comprise one or more processing units in the message handler.

[0131] It will be appreciated that the order of the steps in the processes described with respect to Figures 7, 8, 9, 1 1 , 12, 14, 15, 16 and 17 can be varied and a different order than that described may be contemplated for some embodiments. Moreover, some steps may be carried out in parallel with other steps by different parts or modules of the apparatus in which the process is carried out and once the processes and steps have been carried out for a particular request, status update, message, receipt or broadcast data, they may be repeated for other requests, status updates, messages, receipts and broadcasts data.

[0132] Various applications for the system have been described herein but it will be appreciated that other applications are possible. For example, distribution networks need to balance demand and supply to make sure the quality and security of supply of utilities across the area they service and the system described herein can be used to ensure demand and supply are balanced. The frequency of a distribution network is controlled by real-time or near real-time balance between demand and supply and the frequency various continuously. As a specific example, the system described herein can be used in Frequency Response and Firm Frequency Response services to control the frequency. Moreover, it will be appreciated that the system can also have applications not concerned with the supply of utilities.

[0133] The description of the various aspects and embodiments of the present invention has been presented for purposes of illustration and description, but is not intended to be exhaustive or to limit the invention to the forms disclosed. A number of alternatives and optional features have been described and it will be appreciated that any optional feature or alternative may be combined with any other optional features and alternatives described and the disclosure includes the various combinations and configurations of optional features and alternatives. It will be appreciated by those skilled in the art that changes could be made to the embodiments described above without departing from the broad inventive concept thereof. It will be understood that the scope of the present invention is defined by the appended claims and not limited to the particular examples and embodiments disclosed.