GB2458540A - Determining a set of relay communication devices for transferring data - Google Patents
Determining a set of relay communication devices for transferring data Download PDFInfo
- Publication number
- GB2458540A GB2458540A GB0805648A GB0805648A GB2458540A GB 2458540 A GB2458540 A GB 2458540A GB 0805648 A GB0805648 A GB 0805648A GB 0805648 A GB0805648 A GB 0805648A GB 2458540 A GB2458540 A GB 2458540A
- Authority
- GB
- United Kingdom
- Prior art keywords
- communication device
- communication
- destination
- network
- flow
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
- 238000004891 communication Methods 0.000 title claims abstract description 662
- 238000000034 method Methods 0.000 claims abstract description 69
- 238000004364 calculation method Methods 0.000 claims abstract description 16
- 239000011159 matrix material Substances 0.000 claims description 111
- 238000012546 transfer Methods 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 5
- 230000001419 dependent effect Effects 0.000 claims 1
- 238000005259 measurement Methods 0.000 abstract description 15
- 239000004262 Ethyl gallate Substances 0.000 abstract description 3
- 238000010276 construction Methods 0.000 abstract description 3
- 239000004318 erythorbic acid Substances 0.000 abstract description 2
- 235000010350 erythorbic acid Nutrition 0.000 abstract description 2
- 239000000555 dodecyl gallate Substances 0.000 abstract 1
- 239000000473 propyl gallate Substances 0.000 abstract 1
- 230000001360 synchronised effect Effects 0.000 description 125
- 208000031339 Split cord malformation Diseases 0.000 description 86
- 238000004645 scanning capacitance microscopy Methods 0.000 description 86
- 238000013068 supply chain management Methods 0.000 description 86
- 238000004422 calculation algorithm Methods 0.000 description 32
- 230000006870 function Effects 0.000 description 30
- 230000005540 biological transmission Effects 0.000 description 27
- 238000005457 optimization Methods 0.000 description 9
- 230000014509 gene expression Effects 0.000 description 8
- KEZYHIPQRGTUDU-UHFFFAOYSA-N 2-[dithiocarboxy(methyl)amino]acetic acid Chemical compound SC(=S)N(C)CC(O)=O KEZYHIPQRGTUDU-UHFFFAOYSA-N 0.000 description 6
- 101100108340 Solanum commersonii SCM1 gene Proteins 0.000 description 6
- 108700041121 sarcosine dithiocarbamate Proteins 0.000 description 6
- 239000003490 Thiodipropionic acid Substances 0.000 description 5
- 239000001362 calcium malate Substances 0.000 description 5
- 239000004255 Butylated hydroxyanisole Substances 0.000 description 4
- 239000004258 Ethoxyquin Substances 0.000 description 4
- 235000019282 butylated hydroxyanisole Nutrition 0.000 description 4
- 239000001540 sodium lactate Substances 0.000 description 4
- 101150028668 APO1 gene Proteins 0.000 description 3
- 239000003508 Dilauryl thiodipropionate Substances 0.000 description 3
- 101100152436 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) TAT2 gene Proteins 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 239000001729 Ammonium fumarate Substances 0.000 description 2
- 239000004257 Anoxomer Substances 0.000 description 2
- 239000003109 Disodium ethylene diamine tetraacetate Substances 0.000 description 2
- 239000003216 Oxystearin Substances 0.000 description 2
- 239000001747 Potassium fumarate Substances 0.000 description 2
- 101150105594 SCM3 gene Proteins 0.000 description 2
- 101100202505 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) SCM4 gene Proteins 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 239000011692 calcium ascorbate Substances 0.000 description 2
- 235000010376 calcium ascorbate Nutrition 0.000 description 2
- 239000004313 iron ammonium citrate Substances 0.000 description 2
- 239000004337 magnesium citrate Substances 0.000 description 2
- 239000001472 potassium tartrate Substances 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 239000001601 sodium adipate Substances 0.000 description 2
- 239000001433 sodium tartrate Substances 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 239000001733 1,4-Heptonolactone Substances 0.000 description 1
- 239000004322 Butylated hydroxytoluene Substances 0.000 description 1
- 101100042788 Caenorhabditis elegans him-1 gene Proteins 0.000 description 1
- 239000001749 Calcium fumarate Substances 0.000 description 1
- 239000001736 Calcium glycerylphosphate Substances 0.000 description 1
- 239000002656 Distearyl thiodipropionate Substances 0.000 description 1
- 239000002310 Isopropyl citrate Substances 0.000 description 1
- 239000001358 L(+)-tartaric acid Substances 0.000 description 1
- 239000001744 Sodium fumarate Substances 0.000 description 1
- 239000001361 adipic acid Substances 0.000 description 1
- 239000011668 ascorbic acid Substances 0.000 description 1
- 235000010323 ascorbic acid Nutrition 0.000 description 1
- 235000010354 butylated hydroxytoluene Nutrition 0.000 description 1
- 239000001354 calcium citrate Substances 0.000 description 1
- 239000001201 calcium disodium ethylene diamine tetra-acetate Substances 0.000 description 1
- 239000001427 calcium tartrate Substances 0.000 description 1
- KRKNYBCHXYNGOX-UHFFFAOYSA-N citric acid Substances OC(=O)CC(O)(C(O)=O)CC(O)=O KRKNYBCHXYNGOX-UHFFFAOYSA-N 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005562 fading Methods 0.000 description 1
- 239000000787 lecithin Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 239000001369 metatartaric acid Substances 0.000 description 1
- NBIIXXVUZAFLBC-UHFFFAOYSA-N phosphoric acid Substances OP(O)(O)=O NBIIXXVUZAFLBC-UHFFFAOYSA-N 0.000 description 1
- 239000001508 potassium citrate Substances 0.000 description 1
- 239000001415 potassium malate Substances 0.000 description 1
- LWIHDJKSTIGBAC-UHFFFAOYSA-K potassium phosphate Substances [K+].[K+].[K+].[O-]P([O-])([O-])=O LWIHDJKSTIGBAC-UHFFFAOYSA-K 0.000 description 1
- 238000004353 relayed correlation spectroscopy Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 239000001394 sodium malate Substances 0.000 description 1
- 239000001488 sodium phosphate Substances 0.000 description 1
- 239000001476 sodium potassium tartrate Substances 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 239000001384 succinic acid Substances 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 239000001393 triammonium citrate Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
- H04L45/123—Evaluation of link metrics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
-
- H04L12/2416—
-
- H04L12/2425—
-
- H04L12/569—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W16/00—Network planning, e.g. coverage or traffic planning tools; Network deployment, e.g. resource partitioning or cells structures
- H04W16/18—Network planning tools
- H04W16/20—Network planning tools for indoor coverage or short range network deployment
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/10—Flow control between communication endpoints
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
- H04W40/02—Communication route or path selection, e.g. power-based or shortest path routing
- H04W40/12—Communication route or path selection, e.g. power-based or shortest path routing based on transmission quality or channel quality
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
- H04W40/02—Communication route or path selection, e.g. power-based or shortest path routing
- H04W40/22—Communication route or path selection, e.g. power-based or shortest path routing using selective relaying for reaching a BTS [Base Transceiver Station] or an access point
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
- H04W40/24—Connectivity information management, e.g. connectivity discovery or connectivity update
-
- H04L12/2458—
-
- H04L12/2621—
-
- H04L12/2639—
-
- H04L12/2692—
-
- H04L29/06455—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/22—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks comprising specially adapted graphical user interfaces [GUI]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/04—Processing captured monitoring data, e.g. for logfile generation
- H04L43/045—Processing captured monitoring data, e.g. for logfile generation for graphical visualisation of monitoring data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0811—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
- H04L43/0888—Throughput
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/16—Threshold monitoring
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/611—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
The invention relates to a method for determining a set of relay communication devices (A, B, C, D, E, F, G) for transferring data between a source communication device (S) and a plurality of destination communication devices (D1, D2, D3), where the communication devices are connected to one another by communication links, with the source communication device transferring data to each destination communication device according to a number of separate paths (or routes) which is greater than a predetermined number greater than one (i.e. so that every destination device has at least two paths (or routes) for data to be received via relay node(s) from the source device). In further aspects a communication device may detect (E310, Fig 25b) the removal of at least one link in the network, determine (E312, E313, Fig 25b), following the removal of the at least one link, for each destination device, the minimum number of separate paths (or routes) available for transferring data to the destination device, determine (E315, Fig 25b) a new set of relay communication devices if the minimum number of separate paths (or routes) is less than or equal to the predetermined number so that the minimum specified robustness for the network is maintained. Also described is the construction of a graph corresponding to the communication network so as to aid in determining flow calculation from source to destinations (e.g. Figs 7 and 8). Possible communication flow in the network may be determined using the Ford Fulkerson theorem. The arrangement further describes optimizing flow in the network such that excess paths (those being paths over the predetermined minimum required) may be removed such as to minimize the number of relay communication devices used in the network. RSSI measurements may be used to detect broken links in the network (links being determined as broken if RSSI levels detected do not satisfy a threshold minimum) for wireless embodiments. Delay measurements may similarly be used for wired embodiments.
Description
Method for measuring robustness of a communications network, method for varying the configuration of a communications network, method for determining a set of relay communication devices, and communication devices.
The present invention relates to a method for measuring robustness of a communications network, method for varying the configuration of a communications network, method for determining a set of relay communication devices, and communication devices.
In some meshed wireless communication networks, a source communication device transmits data in the form of packets intended for a set of destination communication devices. If wireless communications devices are provided which use a high frequency range, such as around the 60 Ghz range, reflection of signals is very low such that a clear line of sight, or near line of sight, is required between communication devices for communication to be reliable. To ensure transmission between all the devices, known as multicast transmission, a relay scheme for relaying data is conventionally proposed. Communication devices in the communication network relay the data packets. A relay scheme allows a communication device, which is not able to receive data directly from the source communication device, to receive the data through another communication device.
The relay scheme must ensure that, for a multicast transmission, each destination communication device receives a data packet sent by the source * communication device at least once.
* When the communication network is used in a room in a residence, if people move in the room, or the arrangement of the communication devices is changed in the room, or if furniture is added, removed or moved in the room, the communication *..: conditions between the communication devices may be changed.
* These changes in the communication conditions between the communication devices are likely to happen regularly, and it is therefore necessary to re-update a relay scheme used by the communication devices for each change in the communication conditions.
It is an object of the present invention to alleviate some of the drawbacks of the
prior art.
According to a first aspect of the present invention there is provided a method for measuring robustness of a communications network comprising a source communication device and a plurality of destination communication devices, wherein the communication devices are connected to one another by communication links, the communications network is configured to allow transfer of data from the source communication device to each destination communication device via at least one relay communication device, and to allow communication between the source communication device and each destination communication device via a plurality of separate paths, the separate paths being made up of different links, wherein the method comprises the steps, executed by a communication device, of: determining for each destination communication device, the number of separate paths available for transferring data to the destination communication device, and selecting the minimum number.
The present invention provides a convenient measure for how the communications network will respond to loss of one or more communication links.
Because the communications network has at least the selected number of separate paths for communication from the source communication device to each destination communication device, communication to all of the destination communication devices will still be possible following removal of the selected minimum number minus one paths.
In some embodiments the method comprises the step of constructing a graph corresponding to the communication network and determining the number of separate paths on the graph. The use of a graph allows the structure of the communication * ,* network to be conveniently represented.
The step of determining the number of separate paths may include, for each destination communication device, calculating a flow between the source communication device and the destination communication device, and determining the *..: number of separate paths based on the calculated flow. In such embodiments, each flow may be determined using the Ford-Fulkerson Theorem. By calculating the flow between the source and destination communication devices, the number of separate S...
: paths may conveniently be calculated. In particular, the number of separate paths to each destination communication device may be determined based on a maximum flow value of the calculated flow for the destination communication device.
The step of determining the number of separate paths may further comprise the step of determining a global flow for the communications network equal to the sum of the determined flows for each destination communication device. The calculation of the global flow makes it possible to determine whether particular links of the communications network are used in a flow to a destination communication device.
In some embodiments, method may include optimizing the global flow to generate an optimized global flow by identifying destination communication devices that have excess separate paths available for transferring data, which excess separate paths are a number of paths over a predetermined minimum number of paths, and removing the excess paths from the global flow. By calculating an optimized global flow it is possible to determine a sct of paths and hence relay communication devices that does not include excess paths that would cause unnecessary workload and/or bandwidth consumption on the communications network.
The excess paths removed to calculate the optimized global flow may be removed in such a manner as to minimize the number of relay communication devices used in the optimized global flow. This allows calculation of a minimum set of relay communication devices for the communications network to maintain the predetermined minimum number of paths to each communications device.
The step of optimizing the global flow may include: representing the global flow as a matrix; generating a calculation matrix by removing from the global flow matrix a matrix representation of the flow to a destination communication device that has at least one excess path; identifying one or more minimum values of the calculation matrix that corresponds to non-zero entry in the flow matrix, and which does not * represent a link to or from the destination communication device; identifying one or more paths corresponding to minimum values identified in the identifying step; and removing at least one path identified from the global flow. Preferably, the path * * 25 removed is the path including the largest number of links identified via the minimum : values. The step of optimizing the global flow may be repeated so as to remove a plurality of paths from the global flow. The step may be repeated until the optimized global flow does not include any excess paths. The use of such a method provides a *..: convenient way of optimizing the global flow.
In some embodiments, the method may comprise step of classifying the links of the communication network depending on whether they form part of the global flow and/or optimized global flow. By performing such a classification it is possible to easily determine what effect loss or restoration of the link will have on the transmissions on the communications network. In particular, a link may be classified as useless if it does not form a part of the global flow, a link may be classified as locally useful if it forms part of the global flow but not part of the optimized global flow, and a link may be classified as globally useful if it forms part of the global flow and the optimized global flow.
According to a second aspect of the present invention there is provided a method for varying the configuration of a communication network including relay communication devices for transferring data between a source communication device and a plurality of destination communication devices, wherein the communication devices are connected to one another by communication links, the communications network is configured to allow transfer of data from the source communication device to each destination communication device via at least one relay communication device, and to allow communication between the source communication device and each destination communication device via a plurality of separate paths, the separate paths being paths made up of different links, wherein the method comprises the steps, executed by a communication device, of: detecting removal of at least one link from the communication network to form a modified communication network; performing a method according to the first aspect of the present invention on the modified communications network; and determining a new set of relay communication devices if selected minimum number of separate paths is less than or equal to a predetermined number, which * predetermined number is greater than one.
The second aspect of the invention is advantageous because a new set of relay * *** communication devices is determined only when a link of the communications network is removed that affects the robustness of the communications network. ***.
*..: The step of determining the number of separate paths may comprise the step of obtaining a minimum number of separate paths to the destination communication devices of the communication network before the link was removed, obtaining the **** *..: classification of the removed link, and if the removed link is classified as globally useful, reducing the obtained minimum number by one. In this way, the minimum number of separate paths to destination communication devices of the communications network may be quickly updated following removal of a link.
According to a third aspect of the present invention there is provided a method for determining a set of relay communication devices for transferring data between a source communication device and a plurality of destination communication devices in a communication network, wherein the communication devices are connected to one another by communication links, the communications network is configured to allow transfer of data from the source communication device to each destination communication device via at least one relay communication device, and to allow communication between the source communication device and each destination communication device via a plurality of separate paths, the separate paths being paths made up of different links, wherein the method comprises the steps, executed by a communication device, of: determining a first state of the communications network including a set of relay communication devices; removing at least one relay communication device from the set of relay communication devices to generate a modified state of the communications network; performing a method according to the first aspect to determine the selected minimum number of paths of the modified communications network; and determining whether the selected minimum number is below a predetermined minimum number; selecting the first state of the network if the selected minimum number is below the predetermined minimum number or selecting the modified state of the communications network if the selected minimum number is equal to or above the predetermined minimum number. The third aspect of the invention is advantageous in * that it provides a method of determining a set of relay communication devices in * ** which at least a predetermined minimum number of paths to each destination * *** * * communication device is provided.
Preferably the steps of the second aspect are repeated using the selected state of *..: the communications network as the determined first state of the communications * network such that each relay communication device is removed during a removing step. This provides a convenient way of iteratively determining a minimum set of *..: relay communication devices that provides a predetermined minimum number of paths to each destination communication device.
According to a further aspect of the present invention there is provided a communications device for use in a communications network comprising a source communication device and a plurality of destination communication devices, wherein the communication devices are connected to one another by communication links, the communications network is configured to allow transfer of data from the source communication device to each destination communication device via at least one relay communication, and to allow communication between the source communication device and each destination communication device via a plurality of separate paths the separate paths being made up of different links, wherein the communication device comprises: means for determining, for each destination communication device, the number of separate paths available for transferring data to the destination communication device, and selecting the minimum number. l0
According to a further aspect of the present invention there is provided a communication device for use in a communication network including relay communication devices for transferring data between a source communication device and a plurality of destination communication devices, wherein the communication devices are connected to one another by communication links, the communications network is configured to allow transfer of data from the source communication device to each destination communication device via at least one relay communication, and to allow communication between the source communication device and each destination communication device via a plurality of separate paths the separate paths being made up of different links, wherein the communication device comprises: means for detecting removal of at least one link from the communication network to form a modified communication network; *: *:.* means for performing a method according to the first aspect of the present ***. invention based on the modified communication network; and means for determining a new set of relay communication devices if the ***.
minimum number of separate paths of the modified communications network is less than or equal to a predetermined number, which predetermined number is greater than one.
According to a further aspect of the present invention there is provided a * 30 communication device for use in a communication network including relay communication devices for transferring data between a source communication device and a plurality of destination communication devices, wherein the communication devices are connected to one another by communication links, the communications network is configured to allow transfer of data from the source communication device to each destination communication device via at least one relay communication device, and to allow communication between the source communication device and each destination communication device via a plurality of separate paths the separate paths being made up of different links, wherein the communication device comprises: means for determining a state of the communications network including a set of relay communication devices; means for removing at least one relay communication device from the set of relay communication devices to generate a modified state of the communications network; means for performing a method according to the first aspect of the present invention to determine the selected minimum number of paths of the modified communications network; means for determining whether the selected minimum number is below a predetermined minimum number; and means for selecting the first state of the communications network if the selected minimum number is below the predetermined minimum number, or selecting the modified state of the communications network if the selected minimum number is equal to or above the predetermined minimum number.
There may also be provided a computer program that, when run on a communications device, causes the communications device to perform a method according to one of the first, second, or third aspects of the present invention. There may also be provided a storage medium storing such a computer program.
*..... According to a further aspect of the present invention there is provided a method *. for determining a set of relay communication devices for transferring data between a source communication device and a plurality of destination communication devices in : a communication network, where the communication devices are connected to one another by communication links, where the source communication device uses the relay communication devices to transfer data to each destination communication S...
: device according to a number of separate paths which is greater than a predetermined * 30 number greater than one, two separate paths being paths made up of different links, with the paths being determined beforehand and being part of a set of paths, characterized in that the method comprises the steps, executed by a communication device, of: -detecting the removal of at least one link, -determining, following the removal of the at least one link, for each destination communication device, the number of separate paths available for transferring data to the destination communication device, and selecting the minimum number, -determining a new set of relay communication devices if the minimum number of separate paths is less than or equal to the predetermined number.
Correlatively, this aspect of the invention relates to a device for determining a set of relay communication devices for transferring data between a source communication devicc and a plurality of destination communication devices in a communication network, where the communication devices are connected to one another by communication links, where the source communication device uses the relay communication devices to transfer data to each destination communication device according to a number of separate paths which is greater than a predetermined number greater than one, two separate paths being paths made up of different links, with the paths being determined beforehand and being part of a set of paths, characterized in that the determination device has: -means for detecting the removal of at least one link, -means for determining, following the removal of the at least one link, for each destination communication device, the number of separate paths available for transferring data to the destination communication device, and selecting the minimum number, -means for determining a new set of relay communication devices if the minimum number of separate paths is less than or equal to the predetermined number.
*1.. Thus, the paths or the relay scheme (relay nodes of the paths) are determined and reconfigured only when necessary, while guaranteeing that each destination communication device receives at least the predetermined number of copies of each *** data packet sent by the source communication device.
* According to one specific form of the invention, the minimum number of separate paths available for transferring data to each receiving communication device is I...
determined by comparing, for the or each link removed, a first and a second value associated with said link with a predetermined value and by decrementing or not decrementing the number of separate paths on the basis of the comparison of the first value and a second value.
According to one specific form of the invention, the first value represents whether the link belongs to the set of separate paths between the source and at least one recipient. The number of separate available paths between the source node and a destination node represents the maximum number of links which could be broken (by obstacles) whilst guaranteeing that the destination node receives at least one copy of the message sent by the source node. A link belongs of one path of the separate available paths has an impact because if this link is broken, one path is broken and then the number of separate available paths is decremented. The first information indicates if the link belongs to a path of the set of separate paths.
According to one specific form of the invention, the second value renresents the relevance of the link over the minimum number of separate paths.
Each destination node has a different number of separate available paths. The minimum number of separate available paths of all the destination nodes represents the maximum number of links which could be broken (by obstacles) whilst guaranteeing that all the destination nodes receive at least one copy of the message sent by the source node (this value represents the robustness of the network). But, if the number of separate available paths between the source node and a destination node is strictly superior to the minimum number of separate available paths, then if a link which belongs to the set of separate paths is broken, the number of separate available paths between the source node and the destination node is decremented but not the minimum number of separate available paths of all the destination nodes. The second value indicates its notion.
According to one specific form of the invention, the minimum number of separate paths available for transferring data to each receiving communication device * *e S....' is determined by comparing, for the or each link removed, a first and a second value * associated with said link with a predetermined value and by decrementing or not decrementing the number of separate paths on the basis of the comparison of the first * S..
value and a second value.
. According to one specific form of the invention, the first value associated with a link is obtained by summing third values, each third value being associated with a S..
destination communication device and with the link, and represents the existence of * . 30 the link in a path from a predetermined set of separate paths between the source communication device and the destination communication device.
The invention makes it possible to detect the communication links which do not belong to any of the sets of separate paths between the source communication device and the destination communication devices. The invention makes it possible to reduce the number of updates for the set of relay communication devices by ignoring the instances of removal of the aforementioned links.
It is thus possible to use algorithms designed for the case in which a source communication device sends data to a sole destination communication device.
According to one specific form of the invention, the second value is obtained from optimization of first values.
According to one specific form of the invention, the first values are coefficients of a first matrix, the second values are coefficients of a second matrix, and the third values are coefficients of a third matrix associated with a destination communication device.
Thus, the values are put into a form which is easy for the electronic components or the software to process.
According to one specific form of the invention, the first values are optimized by, for each destination communication device: -subtracting the third matrix from the second matrix to obtain a new matrix, -determining a coefficient of the new matrix which has a minimum value, -obtaining the path containing the link with which the determined coefficient is associated, -decrementing the value of each coefficient of the second matrix whose associated link is included in the path obtained.
It is thus possible to detect the communication links which influence the minimum number of separate paths. The invention thus makes it possible to reduce the * ** number of updates for the set of the relay communication devices by taking account . only of the instances of deletion of links which influence the minimum number of *sIs separate paths. ****
According to one specific form of the invention, the number of separate paths between the source communication device and the destination communication device is determined, and if the determined number of separate paths for a destination I...
communication device is different from the minimum of the determined numbers of . 30 separate paths: -at least one communication link is selected which has the first minimum value among the links in the separate paths between the source communication device and the destination communication device, -the second value is assigned to each of the links in the path which has the selected link.
According to one specific form of the invention, a new set of relay communication devices is determined by: -selecting a set comprising at least one communication device to be removed among a list made up of communication devices in the communication network, -removing each communication link connecting the at least one communication device to be removed to another communication device, -determining the minimum number of separate paths available for transferring data to each receiving communication device, -selecting another set if the minimum number of separate paths is less than or equal to the predetermined number.
According to one specific form of the invention, if the minimum number of separate paths is not less than or equal to the predetermined number then another number of communication devices to be removed is selected and the selection of sets and the removal of each communication link connecting the at least one communication device to be removed to another communication device are repeated.
Thus, the invention makes it possible to determine the minimum set of relay communication devices which makes it possible to have a number of separate paths which is equal to or greater than the predetermined number.
The invention thus allows a power consumption benefit with a number of operations to be carried out which is less than within the context of a systematic relay scheme in which all the relay communication devices would retransmit the * *, information.
The invention allows a memory benefit: a relay communication device which S...
does not have to retransmit no longer needs to store the data to be retransmitted.
The invention allows a bandwidth benefit: the relay communication device which no longer needs to retransmit can use the freed bandwidth to send other data.
* According to one specific form of the invention, -the restoration of at least one link is detected, -for the or each link restored, a first and a second value associated with said link are compared with a predetermined value, and the number of separate paths is incremented or not incremented on the basis of the comparison of the first value and a second value.
According to one specific form of the invention, the present invention is executed by each communication device.
Thus, the invention can be used in communication networks having a distributed architecture.
The invention also relates to the computer program stored on an information storage medium, said program having instructions allowing implementation of the method described above, when it is loaded and executed by a computer system.
The features of the invention which are mentioned above, and others, will appear more clearly upon reading the description below of an exemplary embodiment, said description being given with reference to the appended drawings, among which: Fig. I shows a communication network in which the present invention is implemented; Fig. 2 shows the structure of packets sent over the communications network during a super cycle SDTC(n); Fig. 3 shows a simplified block diagram of a communication block in which the present invention is implemented; Fig. 4 shows an example of a graph; Figure 5 shows a graph based on the communication network shown in Figure 1; Figure 6 shows a flow on the graph shown in Figure 5; Figure 7 shows a simplified graph for the purposes of explanation of the method of the embodiment; Figure 8 shows a flow to a first destination node on the graph shown in Figure 7; Figure 9 shows a matrix representing the flow shown in Figure 8; * Figure 10 shows a flow to a second destination node on the graph shown in Figure 7; Figure 11 show a matrix representing the flow shown in Figure 10; Figure 12 shows a flow to a third destination node on the graph shown in Figure 7; * Figure 13 shows a matrix representing the flow shown in Figure 12; * 30 Figure 14 shows a global flow on the graph shown in Figure 7; : Figure 15 shows a matrix representing the global flow shown in Figure 14; * Figure 16 shows a first calculation matrix; Figure 17 shows a sub flow to the first destination node; Figure 18 shows the sub flow shown in Figure 17 in matrix form; Figure 19 shows an optimized global matrix after optimization with respect to a first flow; Figure 20 shows a second calculation matrix; Figure 21 shows a sub flow to the second destination node; Figure 22 shows a matrix representing the sub flow to the first destination node; Figure 23 shows an optimized global flow on the graph shown in Figure 7; Figure 24 shows a matrix representing the optimized global flow; and Figures 25a to 25c show steps in an algorithm for updating the robustness of the communications network; Figure 25d shows steps performed in determining a set of relay communication devices; Figure 25e shows steps performed in determining the robustness of the network; Figure 25f shows steps performed in determining the optimized global flow; Figure 25g shows steps performed in classifying links of the communications network.
Description of the structure of the communication network Fig. 1 shows a communication network I in which the present invention is implemented.
The communication network I is a radio communication network including five communication devices SCM1 to SCM5. The communication devices are configured to communicate with each other using radio communication at around 60 GHz.
Because the communications devices communicate with each other at such a high frequency, the communication devices to have a clear path between them in order to communicate effectively as explained in the introduction. Figure 1 includes a number of dashed lines which represent links where there is a clear path between the S...
communication devices along which communication may take place. This will be explained in more detail below. The communication devices will subsequently be called synchronous communication modules SCM1 to SCM5. Fig. 1 shows five synchronous communication modules SCM. Of course, in other embodiments, the S...
: communication system may comprise a greater or lesser number of synchronous communication modules SCM.
The communication network is part of a home cinema system. The communication devices SCM I to SCM 5 are wireless speakers that receive wireless signals from a digital television set. The communication network is used to transfer synchronous audio data from the digital TV set to the speakers on respective audio channels. The communication modules are referred to as synchronous because they send or receive, as will be explained below, packets alternately and at times which are known to all the communication modules.
Figure 2 shows the structure of packets pk radio (1) to pk radio (k) sent over the communication network 1 during a cycle SDTC(n). Each synchronous communication module SCM has a predcfined fixed transmission time for transmitting a packet pk radio of fixed size. The set of transmission times of the synchronous communication modules SCM in the communication network makes up the synchronous transmission cycle SDTC(n) which is repeated periodically. The ordered sequence for sending packets within a super-frame is fixed when the communication network is initialized, and is known to all the synchronous communication modules SCM in the communication network.
In the nth data transmission cycle SDTC(n), each synchronous communication module SCMk, where k = I to K, successively transmits a radio packet labelled Pk_radio (k) in synchronous fashion.
Each radio packet Pk_radio(k) is made up of a header field RPH, a useful data field (RPP) and an information field (RPI). The information field (RPI) comprises the information representing the reception conditions for the signals received by the synchronous communication module SCM(k) sending the radio packet labelled Pk_radio (k).
More precisely, each piece of information representing the reception conditions for received signals corresponds to a RSSI (Radio Signal Strength Indicator) measurement performed by a synchronous communication module SCM upon reception of a radio packet sent by another synchronous communication module SCM. * S..
As a variant, each piece of information representing the reception conditions for received signals corresponds to an SNR measurement, the acronym SNR standing for Signal-to-Noise Ratio.
It should be noted at this juncture that when an RSSI measurement is considered to be erroneous, it is replaced by a predetermined identifier known to all the synchronous communication modules SCM.
More precisely, the information field (RPI) is made up of a subfield of information referred to as original ORPI (Original Radio Packet Information), and of a subfield of data relays (RRPI). There is also provided a CRC (Cyclic Redundancy Check), which allows detection of errors in the packet.
The original information subfield ORPI (Original Radio Packet Information) corresponds to the RSSI measurements measured by the synchronous communication module SCM1 on the occasion of the previous radio packet transmissions by the other synchronous communication modules SCMk, where k!= I. The RSSI measurements measured by the synchronous communication module SCM1 of the signals sent by a syncluonous communication module SCMk are labelled Mesk!.
The data relay subfield (RRPI) comprises data measured by the other synchronous communication modules SCM and allows reception, by all the synchronous communication modules SCM, of the RSSI measurements, even in the presence of fixed or temporary obstacles in the communication network. The data relay subfield is formed by the concatenation of the (K-I) ORPI received from the other synchronous communication modules SCM.
When the communication network I is used to transfer audio data, it is placed in a room in a residence. When people move in the room, the arrangement of the synchronous communication modules SCM is changed in the room, or furniture is added, removed or moved in the room, the communication conditions between the synchronous communication modules SCM are changed. In particular, the ability to communicate between a pair of SCMs may change depending on whether an individual or item of furniture is introduced or removed from the path between the SCMs. Such a change in the communication conditions could be temporary (for example because a person has moved into a path between the SCMs and moved out of the path after a short time) or long term (for example, because an item of furniture has been introduced into the path).
We will subsequently call a communication path, which connects two S...
synchronous communication modules SCM, a communication link.
S... . . . * The state of the communication network is defined as the set of information *S..
representing the reception conditions for signals sent over a set of communication links which exist between each pair of synchronous communication modules SCM in the communication network. The dashed lines shown in Figure 1 represent links *..
*:. between the communication modules SCM in one state of the communication network. Where no link shown in Figure 1 (such as between SCM! and SCM 4) there is no communication link between the communication modules. Communication between such pairs of communication modules may, of course, still be possible by use of a relay communication module.
Fig. 3 shows a simplified block diagram of a synchronous communication module SCM. Each synchronous communication module SMC 1 to SCM 5 is similar in structure.
Each synchronous communication module SCMk (where k = 1 to K, and K is the number of synchronous communication modules in the communication network, in this case five), is formed by a processor CPU (Central Processing Unit) which has an associated performance memory block RAM and an associated non-volatile memory block ROM, which are not shown in Fig. 3.
The processor communicates with the communication block 200. The communication block 200 makes the link between a radio interface 225 and an application module 260. The communication block 200 comprises a packet transmission block 230 which executes particularly the modulation functions, for example of OFDM type, and comprises a packet reception block 265 which performs the opposite functions to those implemented in the packet transmission block 230.
The radio interface 225 has means for determining data representing signal reception conditions on the communication links. By way of example and in non-limiting fashion, these data are RSSI (Radio Signal Strength Indicator) radio measurements for every reception of a data packet. The data representing the signal reception conditions on the communication links are transferred to an updater block 250 in order to re-update the state of the communication network.
The communication block 200 comprises a transmission memory 240 and a reception memory 270.
The communication block 200 comprises an encoder block 235 which is formed by a conventional encoder such as a linear block encoder of Reed-Salomon type.
The communication block 200 comprises a decoder block 255 which performs the opposite operations to those carried out by the encoder block 235. The decoder block 255 transfers the decoded data either to the application module 260, if the * 30 synchronous communication module SCM is a destination synchronous communication module SCM, or to the memory 240, if the synchronous **** * communication module SCM is a relay. The RSSI measurements which the decoded S..
* data packet contents are transferred to the updater block 250 in order to update the state of the network.
The updater block 250 comprises a block 251 for managing the state of the network, which receives the RSSI measurements Meskl sent by the Radio IF 225 and Decoder 255 and updates the current stored state of the network in order to determine the "stable" network states of the communication network as will be explained later.
The communications network is configured so that a stable state is determined simultaneously by all the synchronous communication modules SCM. Each new determined stable state of the network is sent to a block for determining usefulness 252.
The block for managing a state of the network 251 checks whether the communication network is in a stable state EM. The communication network is in a stable state when the reception conditions for signals transmitted in each communication link in the communication network do not change much or at all over time. The communication network is in an unstable state when the reception conditions for signals transmitted in at least one communication link in the communication system change a lot over time. For this, the block for managing a state of the network 251 studies the progress of the reception condition(s) relative to previously stored reception conditions.Two reception conditions will be considered to be stable for a communication link (k,1) if, by way of example, the absolute value of the difference between the RSSI measurement Meski obtained for the communication link in a cycle SDTC(n) and the RSSI measurement Mes'kI corresponding to the communication link obtained at in a previous cycle SDTC(n-l) and stored at the synchronous communication module is less than a predetermined percentage, for example 10%, of the stored measurement Mes'kI.
The updater block 250 determines whether or not the synchronous 25 communication module SCM needs to relay data. This is done on the basis of the stable states determined by the block for managing the state of the network 251. The updater block 250 updates or does not update the relay scheme, the set of relay * synchronous communication modules SCM, and identifies whether the synchronous * communication module SCM is part of a set of synchronous communication modules **.
* 30 that need to relay data. If it is determined that data needs to be relayed, the updater *:" block 250 will cause the SCM to relay data to the other relevant SCM as will be **** * explained later. It should be noted at this juncture that the updater block 250 of each *** * synchronous communication module SCM executes these operations separately and simultaneously in a distributed fashion. The block for managing the state of the network 251 of each synchronous communication module SCM determines the same stable state at the same instant, and the update of the relay scheme is thus distributed and identical at all the synchronous communication modules SCM.
The communication block 200 has a selection block 254 which controls the regular concatenation of the transmission cycles relative to the packets received by the packet reception block 265 in order to guarantee synchronous access to the transmission channel for the packet transmission block 230 to send data packets.
The updater block 250 includes the block for determining usefulness 252, a block 253 for determining the robustness of the communication network and a selection block 254 which determines whether or not the synchronous communication module SCM needs to relay data according to the results provided by the block for determining usefulness 252 and block for determining robustness 253. The functions executed by the blocks 252, 253 and 254 will be explained in more detail with reference to Fig. 25a to 25g.
Introduction to graph theory and related terms
A few comments on basic graph theory are provided now to aid understanding
of the following description of the embodiment.
Figure 4 shows a graph, G, which is a mathematical structure. The graph G includes 7 nodes, labelled I to 7 and marked by circular shapes, which nodes are linked by a series of' edges. In Figure 4, straigJit lines mark the edges, for example the line between nodes 1 and 3. The set of nodes in a graph will hereinafter be labelled V, and the set of all the edges linking pairs of the nodes in the set V will hereinafter be labelled E. In addition to being able to define and prove theorems on a graph, it is possible * ,* 25 to consider flows across a graph by designating a source node and a destination node.
For example, we could consider a flow from a source node, node I, to a destination 0*S* * . * node, node 6. In order to consider such a flow, we need to define an ability of edges to carry a flow. This is done by a capacity function c(k,1), which defines an ability to carry flow on an edge between node k and node 1.
Such a graph, which may carry a flow, may be represented by an adjacency matrix. An adjacency matrix is a K*K matrix, where K is the number of nodes in the graph. An entry aki in an adjacency matrix A is equal to the capacity function of the edge between k and I i.e. equal to c(kl).
The flow on the graph may be expressed by a function f(k,l), which provides a value for the flow on each edge of the graph. The function f(k,l) obeys the following properties: 1. f(k,I) c(k,l) 2. f(k,l) = -f(l,k) 3. f(k,1) = 0 node k!= source node or destination node The first expression is equivalent to saying that the flow along an edge cannot be greater than the capacity function for the edge. The second expression is equivalent to saying that the flow along an edge in one direction is equal to the negative of the flow along the edge in the other direction. The third expression is equivalent to saying that no flow accumulates at any node, k, of the network that is not a source node or a destination node.
Based on such considerations, the Ford-Fulkerson algorithm (the details of which are not described here) allows computation of a maximum flow F between a source node and a destination node. The maximum flow F may involve sub-flows passing along different paths and consequently along different edges. The flow along a particular edge between node k and node I that contributes to a flow F is f (k,l) as previously explained.
As will be explained later, the Ford Fulkerson algorithm is applicable to a graph of the type described above in which the source node has no incoming edges and the destination node has no outgoing edges.
Further description of the embodiments
The first embodiment will now be described in two parts. In the first part a specific example of a method for determining robustness of a network will be :.:: explained with reference to the communication network previously described and an illustrative graph. In the second part, the method for determining robustenss will be generalized to make it clear that the method can be applied to any graph or * communication network of the type described. In addition in the second part, a method for determining and updating configurations of the network using the method for determining robustness will be described.
* SPECIFIC EXAMPLE OF METHOD OF DETERMINING ROBUSTNESS *** The first step of the method involves constructing a graph corresponding to the communications network 1. Figure 5 shows a graph corresponding to the communications network I shown in Figure 1. The graph consists of a source node S and five nodes numbered I to 5. The source node S corresponds to the digital TV, DTV, shown in Figure 1 and the five nodes I to 5 correspond to synchronous communication modules SCM I to 5 respectively. In the communication network 1 the digital TV transmits an audio signal on a respective channel to each of the synchronous communication modules SCM. Accordingly, each of the nodes I to 5 forms a destination node in the graph. Also, as explained above, each of the nodes/communication modules may act as a relay node/communication module.
Figure 6 shows a set of separate paths for transmitting a signal from the source node to the second node. For the purposes of this embodiment, a path between a source node and destination node is considered to be a series of edges between nodes.
For two paths to be separate paths, the paths must not have any nodes in common. It is only necessary to consider separate paths in this embodiment because the capacity function of the graph takes a value of either I or 0. Accordingly, if we allow a sub flow along a path to take a value of I, it is impossible for an edge to carry more than one sub flow.
As can be seen from Figure 6, there are three paths between the source node and the second node. A first path is a direct path, consisting only of the edge between the source node and the second node. A second path is a path via the first node consisting of the edge between the source node and the first node and the edge between the first node and the second node. A third path is a path via the third, fifth, and fourth nodes.
At this point, the explanation of the first embodiment will be continued using an illustrative graph shown in Figure 7. As explained above, the graph shown in Figure 6 has five destination nodes corresponding to the five synchronous communications modules. The graph shown in Figure 7 has only three destination nodes. By S. continuing the explanation with the illustrative graph shown in Figure 7, the description can be made shorter and more concise. However, it will be clear to the skilled person that the following steps described in connection with Figures 7 to 21, : may easily be carried out on the graph shown in Figure 6.
Figure 7 shows a graph including a source node, labelled S, and three destination nodes labelled Dl, D2, and D3. Between the source node and the "S.
destination nodes are provided relay nodes labelled A to G. As before, the edges of the graph are represented by straight lines and each edge is has a capacity function value of 1. In cases where no edge is shown, such as between node A and node E, the capacity function value is 0.
Having set up a graph as previously described the next step in the method of the embodiment is to identify flows between the source node and each destination node.
This step will be described in connection with figures 8 to 13.
Figure 8 shows a flow i between the source node and the first destination node Dl. As can he seen from figure 8, the flow from the source node to the first destination node may take three separate paths. A first path is via nodes A and D, a second path is via nodes B and E and a third path is via nodes C and F. The values 1/1 or 0/1 shown on Figure 8 indicate values of the flow against the capacity function of the edge (flow/capacity function). It can be seen from Figure 8 that, as indicated above, the capacity function of the links shown by lines is always 1 and that the flow takes a value of 1 along its paths and 0 otherwise.
Figure 9 shows a matrix representation of the flow F1. The entries in the matrix Fi(i,j) indicate values of the flow on an edge (i,j). The rows therefore represent the node from which the flow is going and the columns represent the nodes to which the flow is going. The entries in the matrix are 0 except for the edges included in the sub flows shown in Figure 8. It can be seen that the matrix is anti-symmetric because F1 (i,j) is equal to -F,(j,i).
Figure 10 shows a flow F2 between the source node and the second destination node D2. As can be seen from Figure 10, the flow from the source node to the second destination node may take three separate paths. A first path via nodes A and D, a s.. second path via nodes B and E, and a third path between nodes C and G. Figure 11 shows a matrix representation of the flow F2 in the same way that Figure 9 shows a matrix representation of the flow F1. Description of the matrix will not be repeated.
Figure 12 shows a flow F3 between the source node and the third destination node. As can be seen from Figure 12, the flow from the source node to the third *:" destination node may take 2 separate paths, a first path via nodes B and E, and a second path via nodes C and G. It can be seen that it is not possible to form a third *** 0 separate path via nodes C and F because this path would have a link in common with the path via nodes C and G. Figure 13 shows a matrix representation of the flow F3 similar to that shown in Figures9 and II.
Having identified the possible flows, the next step is to construct a global flow matrix M1. The global flow matrix M1 consists of the sum of the flow matrices F1 to F3. Figure 14 shows the sum of the flows F1 to F3 in a graph format. It should be noted that because this diagram shows the value of the three flows across a single graph, the flow along an edge is no longer limited to 1. The maximum flow across a link is in fact 3, because each edge represents the sum of three edges with a capacity function of 1. Figure 15 shows the global flow M1 in matrix form.
It can be observed at this stage, that if a value corresponding to an edge in the global flow matrix M1 is zero, the edge is not used in any of the flows from the source to a destination node. If such an edge were to be removed from the graph this would not affect the flow from the source to any destination node. Such an edge corresponds to a link between communication modules SCM (by virtue of construction of the graph) and such a link/edge is hereinafter referred to as globally useless because its existence does not affect flow across the network. If a link/edge has a corresponding non-zero entry in the global flow matrix M1, the link is referred to as globally useful because it is useful to carry at least one flow.
The next step in the method, described below, is to optimize the global flow matrix M1 to generate an optimized global flow matrix M2.
As observed above, there were three separate paths to each of the first and second destination nodes, but only two paths to the third destination node. The maximum number of paths to the i-th destination node is referred to hereinafter as the maximum value of the flow, MaxFi. The number of separate paths equates to the maximum value of the flow, because each path can hold a flow value of 1, which is equivalent to the capacity function of the edges on the path.
" 25 A further quantity, the robustness, Ri, of the i-th destination node, is defined as the minimum number of edges that can be removed from the graph to leave only a single communication path to the i-th destination node. The robustness is equal to the * maximum value of the flow minus 1. The robustness of the graph is defined as the minimum of the robustness of each of the destination nodes.
Looking at the flows F1 to F3 it can easily be seen that the maximum value of the S..
* flow, maxF1, to the first destination node is 3 because there are three paths to the first destination node. Similarly, the maximum value of the flow, max F2, to the second destination node is 3, and the maximum value of the flow, maxF3, to the third destination node is 2. The robustness of the first flow F1 is therefore equal to 2, the robustness of the second flow F2 is equal to 2, and the robustness of the third flow F3 is equal to I. The robustness of the network is therefore equal to 1.
When selecting a configuration for the network by selecting which devices will be relay communication devices, it is undesirable to have a large redundancy in paths to particular destination synchronous communications devices because such transmissions take up processing power and bandwidth. On the other hand, it is desirable that communication to each synchronous communications device is still reliable following removal of a certain number of links, i.e. the network and its corresponding graph should have a certain robustness. In the example, described above, we shall assume that the network is required to have a robustness of 1. That is, that there shall be two paths to each destination node. In this case, in order to minimise the number of relay communication devices, and hence the total flow across the network, we wish to remove paths to the destination nodes in the global flow F, so that each destination node has only two paths. This is done by removing paths from the global flow matrix M1 to generate and optimized global flow matrix M2. The number of relay communication devices is minimised when the number of zero entries in the global flow matrix is maximised. The calculation of the optimized global flow matrix is iterative and is performed as follows.
The first destination node has a maximum flow value, maxF1, of 3 and robustness R1 of 2. There is therefore one excess path from the first flow F1 that can be removed from the global flow matrix M1 to increase the number of zeros in the global flow matrix whilst maintaining robustness for the graph of 1.
in order to calculate the optimized global matrix M2, the value of the optimized global flow matrix coefficients M2 are initially set to those of the global flow matrix M1. Then a first calculation matrix u1 is calculated. The first calculation matrix U1 is * : equal to the optimized global matrix M2 minus the first flow F1. The first calculation matrix is shown in Figure 16. The values shown in bold are those values in the matrix **.
* U1 that differ from those in the global flow matrix M1.
* : * in order to select a path to remove, the changed values of the calculation matrix (equivalent to those values of the calculation matrix that correspond to non-zero *** * entries in F1), are examined. The entries in the row and column corresponding to node D1 will necessarily be zero because all flows to the first destination node have been removed and the destination node does not act as a relay node. These entries are therefore ignored. Of the remaining entries, the flow values with the smallest magnitude are identified. In other words, the edges carrying the smallest magnitude of flow are identified. In this example, there is a single edge (C,F), whose value is reduced to 0 in matrix Ui.
The next step is to identify the path in the flow F1 that includes the largest number of the identified edges. In this case, there is only a single identified path, but in other cases there may be more than one path identified. The path that includes the largest number of identified edges is then removed from the flow Fl to generate a sub flow F'1. The path is also removed from the optimized global flow matrix M2, which currently has the entries of the global flow matrix M1 in it.
Figure 17 shows the sub flow F'1, which does not include the path between S and D1 via nodes C and F. It can be seen that the sub flow F'1 includes only two paths in accordance with the required robustness of the network. The sub flow F'1 is shown in matrix form in Figure 18. Figure 19 shows the matrix M2 after optimization with respect to the first flow.
The process described above to optimize the global flow matrix with respect to the flow F1 is now performed with respect to the flow F2. The flow F2 includes three paths between the source S and the destination node D2. Therefore for optimization to a robustness of 1, a single path needs to be removed from the flow F2.
This time a second calculation matrix U2, shown in figure 20, is calculated by subtracting the second flow F2 from the matrix M2 after optimization with respect to F. The matrix U2 is shown in Figure 20. The entries in the matrix U2 that are different from those in the matrix M2 are shown in bold. These entries correspond to those links * *. included in the paths ofF2.
As before, the paths into and out of the destination node D2 are necessarily zero * 25 and so may be ignored. The values corresponding to the paths of the second flow F2 which have a minimum magnitude of flow are the edges (S,A), (S,C), (A,D), and (C,G). Each of these edges has an entry value of I in the matrix U2. Looking at the * flows of F2 (see Figure 10), it can be seen that two of these edges belong to the path between S and D2 via nodes A and D, and two belong to the path between S and D2 **** . . . . . via nodes C and 0. In this case, it is an arbitrary choice regarding the path to be * : * removed. In this case, arbitrarily, the path corresponding to the earliest of the identified edges working from the top left hand corner of the matrix is removed i.e. the edge (S,A) and the corresponding path via nodes A and D. This path is removed from the flow F2 to generate a sub flow F'2. The sub flow F'2 is shown in Figure 21, and its corresponding matrix representation is shown in Figure 22.
The path between S and D2 is also removed from the global matrix M2 after optimization with respect to F1, to generate the optimized global flow matrix M2. It will be recalled that there were only two paths in the third flow F3. Accordingly, this flow already has the desired robustness of I and no optimization of the global flow matrix with respect to the third flow F3 is necessary.
The optimized global flow matrix M2 generated by optimization with respect to all the flows F1 to F3 is shown in Figure 24. The optimized flow is also shown in graphical form in Figure 23, where the value of the flow on each edge of the graph is shown.
At this stage, the following can be observed. A link/edge may be considered to be globally useful or globally useless depending on whether its corresponding entry in the global flow matrix is non-zero or not, as described above. Further, if a link/edge is globally useful, it may or may not have a non-zero entry in the optimized global flow matrix M2. If the link/edge has a zero entry in the optimized global flow matrix M2, it is referred to as locally useful because removal of the link will not reduce the robustness of the network. If the link/edge has a corresponding non-zero value in the optimized global flow matrix it is referred to as globally useful because removal of the link may reduce the robustness of the network.
GENERALIZATION OF METHOD FOR DETERMINING ROBUSTNESS
Now in a second part of the description of the first embodiment, the method * * ** described above will be generalized for use on an arbitrary network.
As before, first a graph is constructed. When constructing the graph, the digital television SCM 1 is the source node and each speaker is a destination node. The edges * : * of the graph are links between respective pairs of synchronous communication modules. A path between the source synchronous communication module SCM and * the destination synchronous communication modules SCM is an ordered set of communication links connecting the source synchronous communication module SCM to the destination synchronous communication module SCM via relay *** * synchronous communication modules SCM, each synchronous communication module SCM being connected to the next communication module SCM by a communication link whose capacity function is non-zero.
The updater block 250 determines the graph of the communication network by producing a graph labelled G_temp = (V,E) on the basis of V, in which each synchronous communication module SCMk is connected by a communication link (k,l) to every other synchronous communication module SCMI, where k = 1 to K, 11 to K and k!= 1. This graph therefore includes all the nodes and all the possible edges between the nodes.
E c: V x V is a finite set of oriented communication links. Links are oriented if direction along the link is taken into account. In this case, data is measured for data travelling in both directions along links of the communication network 1. Therefore, the signal strength of data received by SCMk from SCM1 may be different from the signal strength of data received by SCM1 from SCMk. Of course, in practice it is expected that the two signal strengths will be similar. However, in the present embodiment the signal strengths are treated separately. An oriented link can be represented as an ordered pair (k, I). An oriented graph is a graph whose links are oriented.
As exp'ained above, the graph G_temp may be represented in the form of an adjacency matrix A with dimensions K*K. In this embodiment, each link between synchronous communication modules is considered to either be operational or not-operational. The operational status of a link is determined by whether or not the RSSI of the link is above a predetermined threshold called the radio threshold. If the link is operational, it is a assigned a capacity function value of 1. If the link is not operational, the link is assigned a capacity function value of 0. Each coefficient aki of the adjacency matrix A, where k = I to K and 1=1 to K, therefore takes the value one if the measurement Meski is above the radio threshold, and takes the value zero otherwise. The radio threshold is selected so that a received data packet on an operational link may be read and accurately decoded.
The updater block 250 determines a capacity function c(k,l) for each * communication link in the graph G_temp.
c(k, 1) = aki The updater block 250 then determines a sub graph G for G_temp by removing *** * the communication links in the graph G_temp which have a zero capacity function, and keeping those which have a non-zero capacity function. The sub graph G thus includes the nodes and those links that that have a signal strength above the threshold.
The updater block 250 also removes from the sub graph G the incoming communication links of the source synchronous communication module SCM 1 (digital television) to generate a multicast network graph. An incoming communication link for a synchronous communication module SCMk is a link in which the synchronous communication module SCMk may receive packets from the other synchronous communication modules SCM. Thus, the updater block 250 determines a multicast network graph Gm=(G,s,D,c) where, s is the identifier for the source syricurorious communication module SCMs, D is the set of the destination synchronous communication modules SCM and c is the capacity function c(k, 1).
In order to determine a flow F, to each destination node D, the Ford-Fulkerson algorithm is applied. In the situation above, we are considering a system in which there is a single source node and a plurality of destination nodes (speakers). However, the Ford Fulkerson algorithm is only applicable to graphs in which there is a single source node and a single destination node, a so called unicast graph. A unicast graph Gu(G,s,t,c) is a graph G, a capacity function c, and two nodes s (called source node) and t (called destination node), which have the following properties: 1.Pred(s)= {yI(y,s) E E) 0.
2. Suc(t) = {y I (t, y) c E} = 0.
The term Pred(s) represents incoming edges into the source node. These edges can be represented by an ordered pair (y,s) which is an element of the set of edges E. The value y represents the other nodes of the graph. The first term can be interpreted to mean that there are no edges which can carry flow into the source node. The term *. Suc(t) represents edges going out of the destination node. These outgoing edges can *::::* be represented by an ordered pair (t,y), which is element of the set of edges E. The second term can be interpreted to mean that there are no edges which can carry flow : out of the destination node. The Ford-Fulkerson algorithm can be applied only to a *. unicast network graph. It is therefore necessary to convert the multicast network graph Gm to a unicast graph. If we want to apply the algorithm between the source node s and a destination node di, the two properties Pred(s)= 0 and Suc(di) =0 must be checked. The input links of s are deleted and the output links of d1 are deleted. The term B will be used to represent the set of input links of s and the set of output links of d1. These links are not broken but are deleted to apply the Ford-Fulkerson algorithm.
The Ford-Fulkerson algorithm is therefore applied to a set of unicast graphs G', where each unicast graph has a different destination node d1. To each unicast network sub graph G', where G'=((V,E11),s,d11c), where E'=E -8 where B={(y,s) E or (d,y) E V y V}, between a source synchronous communication module SCMs and a destination synchronous communication module SCMd where i=1 to card(D). Card (D) is, of course, the cardinality of the set D, which represents the number of destination nodes, i.e. the number of speakers.
The result of the Ford Fulkerson algorithm is that a flow F, is obtained for each recipient synchronous communication moduic SCMd1.
As before, the flow F in the network graph can be represented by a real function f: V x V -> 9 which has the following three properties for each communication link (x,y): 1. f(x,y)c(x,y) Vx,yE E. 2. f(x,y) = -f(y,x).
3. VvV,v!=s,d1 f(x,v)= f(v,y) xPred(v) yESUC(v) From the three conditions above, a fourth condition is deduced: 4. f(s,y) = f(y,d) vSuc(s) E Pred(d1) The set Suc(x) = {y I (x, y) E E} is the set of successors for x.
The set Pred(x) = {y I (y, x) E} is the set of predecessors for x.
The successor for a module of a synchronous communication module SCMx is the synchronous communication module SCMy which succeeds the synchronous communication module SCMx in the path between the source s and the destination d1.
The predecessor for a module of a synchronous communication module SCMx is the synchronous communication module SCMy which precedes the synchronous communication module SCMx in the path between the source s and the destination d1.
The first expression is equivalent to saying that the flow between nodes x and y :. (for all nodes x and y) is less than or equal to the capacity function for the edge between those nodes, which as explained above could be either I or 0.
The second expression is equivalent to saying that the flow in one direction down a link is equal to minus the flow in the other direction.
The third expression is equivalent to saying that for all nodes in a unicast graph, which are not the source node or destination node, the flows into the node equal the flows out of the node. In other words, the nodes do not enhance or diminish flow.
The fourth property is equivalent to saying that the quantity of data which is sent by the source s is equal to that received by the destination d1. This quantity of information is called "value of the flow".
A flow F1, in a network graph whose source is labelled s and whose destination is labelled d1, can be represented by a matrix of dimensions V x V whose coefficients f1kl, where k=l to K, 1=1 to K, have a real, and more precisely integer, value within the framework of the present embodiment. Each coefficient f1kl has the following three properties: 1. fiki c(k,l) where k = I..K, 1=1. .K assuming that f1kk=0 and c(k,k)=0.
2. f1kl=-f1lk.
3. Vk=1..K,k!=s,d1 fxk= >f1ky xePred(k) ySuc(*) Where Pred(k) = {j = 1.. K! ak = 1) and Suc(k) = {j = 1.. K! akJ = I} The above expressions correspond with those given for the flow F1 above, and arise naturally from the expression ofF1 as a matrix.
As before, a value maxF1 of the flow F1 represents the number of separate paths between the source synchronous communication module and the recipient synchronous communication module SCMdI As explained above, the capacity of each link is 0 or 1, and consequently the flow under consideration has an integer value Each coefficient f1(k,l) corresponds to the flow through link (k,l), where k=1 to K and 1=1 to K and which takes the value equal to one if the link (k,l) is a link between two consecutive synchronous communication modules SCM in a separate path between * ** the source and the destination d1. F is thus a representation of the set of separate paths between the source and the destination d1. ****
*** In this embodiment, the flow F1 is obtained by the Ford-Fulkerson algorithm.
The value maxF1 of the flow F1 represents the maximum value of the flow from the source to the sink node and hence the maximum number of separate paths between the source synchronous communication module and the recipient synchronous communication module SCMdI. In other words, maxF1 is thus the cardinal number of the set of separate paths.
On the basis of these flows F1, where d1=1..card(D), card(D) being the number of destination synchronous communication modules, the updater block 250 forms a global flow matrix M1. The global flow matrix M1 is a matrix of dimensions K*K whose coefficients m1kI, where k=1 to K and 1=1 to K are calculated as follows: card( D) m1kl = fk1 where the sum operator represents the matrix sum.
The value of the coefficient m1kl represents the usefulness of the link (k,1). A link (k,l) is useless if m1kl =0, that is to say that the link does not belong to any flow F1. In the opposite case, the link is considered useful.
Moreover, on the basis of these flows F1, a notion of robustness may be defined.
Two paths are separate when there is no common link belonging to the two paths.
For the following description, a network is referred to as robust if the transmission between each synchronous communication module SCM is robust.
In the same way, the communication network is referred to as R robust if a transmission between each synchronous communication module SCM is at least R robust.
More particularly, when there are several recipient synchronous communication modules SCM, the communication network is referred to as R robust if it is robust at R broken links. hi this case the transmission between the source synchronous communication module SCMs and each destination synchronous communication module SCMd1 to SCMdcard(D) of D is at least R robust.
The robustness equals: R = mm R1, where i= I. .card(D), where card(D) is the number of destination nodes and R is the robustness between the source synchronous communication module SCMs and the destination synchronous communication module SCM d1.
* * To calculate the robustness, it thus suffices to determine a flow F1 of value 1 maxF1 using Ford-Fulkerson between the source synchronous communication module * *** SCMs and each synchronous communication module SCM d1 and to take the minimum of the (maxFi -1): R = mm (maxFi -1) where i=1..card(D) * The flows Fi to different destination nodes have different maxFi values, only the minimum value being retained for calculating graph robustness.
The robustness is defined by a set of sub-flows F1 of the network flow F which have the smallest value of maxF1 Other sub-flows F1 of the network have a value of maxF1 which is larger.
The first value m1kl of a link (k,l) indicates if the link belongs to a path of at least one set of separate paths between a source and the destination nodes (in that case, the value of m1 is strictly positive arid other than zero). More precisely, the value of m1kl represents the number times that the link belongs to a path of a set of separate paths between the source and a destination node. In this way, if a link (k,l) with a first value m1ld is broken then the robustness of m1kI transmissions between the source and a destination node is reduced.
In this embodiment, the set of subflows ofF, labelled F'1, is defined as the set of sub-flows F'1 to each destination node having a value maxF1 equal to the minimum value of maxF1 for the network. The selection algorithm will be described with reference to Fig. 25f, its main Function being to remove separate paths from a set of separate paths F, according to a criterion so as to maximize the number of zero coefficients for the matrix M1. The paths that are removed are paths to destinations that have more separate paths than R+1 On the basis of the set of sub-flows F'1, where di=1..card(D), a global flow M2 is created. The global flow M2 is a matrix of dimensions K*K whose coefficients m2kl where k=l to K and 1=1 to K, are calculated as follows: card(D) m2kI f', ki where the sum operator represents the matrix sum.
On the basis of the global flow m2kl, a link (k,l) is considered to be locally useful ifm1kl!=0 and m2kl =0. The value m1kl indicating that the link (k,I) is used in at least one path of the flow F, and the value of m2kl indicating that the link (k,l) is not used in one of the sub-flows F1 with a value maxFi equal to mm (maxFi). The quality of a locally useful link impacts solely on the robustness of the transmission but does not impact on the robustness of the network.
* The link (k,l) is globally useful if mikl!=0 and m2kl!=0. The value m1kl indicating that the link (k,1) is used in at least one path of the flow F, and the value **.* * *,*. m2kl indicating that the link (k,l) is used in at least one of the sub-flows F1 with a * 25 value maxF1 equal to mm (maxF1). The quality of a globally useful link impacts on the robustness of the network. Fig. 25e shows the algorithm for calculating the robustness * R of a multicast network graph.
In step E350, the block 253 initializes each coefficient m1kl of the global flow : M1 at the value zeroVk = 1..K,VI = 1..K.
In the next step E351, the block 253 selects the first recipient synchronous communication module labelled d1.
In step E352, the block 253 executes the Ford-Fulkerson algorithm between the source and a recipient node d1 from the set of the recipient nodes D. The Ford-Fulkerson algorithm can be applied only to a unicast network graph. It is therefore necessary to convert the multicast network graph to a unicast graph as described above. As before, we consider G' the subgraph 0, where G'u=((V,E'),s,d1,c), where E'=E -B1, where B,={(y,s) EE, or where (y,d1) E Vy E V} E E. G' is a unicast network graph by construction. The Ford-Fulkerson algorithm is then applied to it, which calculates the flow F and the maximum flow value maxF1. The value maxF, represents the number of separate paths between the source synchronous communication module SCMs and the destination synchronous communication module SCMd1. For that, the block 253 finds the function f which maximizes the value of the flow F1, that is to say by resolving the following system: maxF1 = Max (flow_value), where flow_value = f(s,x) = f(y,d,) XESUC(s) vEPred(d,) Or, in matrix terms, the block 253 determines: maxF1 = Max (flow_value), where flow_value fisx = fiyd, xeSuc(s) yePred(d) The robustness R of the transmission between the synchronous communication module SCMs and the synchronous communication module SCMdI is equal to maxF1 -In the next step E353, the block 253 updates the global flow M1 by adding to it the flow F1 obtained in step E352.
In the next step E354, the block 253 checks whether all the destination synchronous communication modules SCM have been selected. If so, the block 253 * ** moves to step E356. If not, the block 253 moves to step E355, selects the next destination and returns to step E352.
S..'.' In step E356, the block 253 sets the value of the variable R representing the * : 25 robustness of the network to the minimum value from the robustness values R1, where i=l to Card(D), determined in step E352.
Fig 25f shows steps performed in generating the optimized global flow matrix M2. More particularly, Fig. 25f describes the step of removing separate paths in the sets of separate paths (represented by F1) which have a value maxF, strictly greater than the robustness R+l in order to reduce the number of globally useful links.
Fig. 2Sf describes the optimization, by the block 252 in the updater block 250, of the global flow M, of the network graph G obtained using the algorithm from Fig. 25e. The input parameters are the robustness R of the communication network, including the robustnesses R1, where i= 1. .card(D), and the number card(D). The aim of the algorithm in Fig. 25f is to maximize the number of zero coefficients for the matrix M representing the global flow so as to minimize the number of globally useful links.
In step E360, the updater block 250 initializes the variable i at the value zero, and sets the global flow M2 equal to the global flow M1.
In the next step E36l, the updater block 250 increments the variable i, that is to say considers a transmission between the synchronous communication module SCMs and a destination synchronous communication module SCMdI.
In the next step E362, the updater block 250 calculates the robustness R1 of the transmission between the synchronous communication module SCMs and the synchronous communication module SCMdI if this has not been stored when the algorithm in Fig. 25e was executed.
In the next step E363, the updater block 250 checks whether the robustness R1 is greater than the network robustness R. In other words, the updater block 250 checks whether the transmission between the synchronous communication module SCMs and the synchronous communication module SCMdI is over-robust.
If not, the updater block 250 moves to step E372. If so, the updater block 250 moves to step E364.
In step E364, the updater block 250 calculates the flow F1 in the same way as that described in step E352 in Fig. 25e.
In the next step E365, the updater block 250 initializes the variable Nbpaths_to_be_rem at the value 1. The variable Nbpaths_to_be rem represents the number of separate paths to be removed.
In the next step E366, the updater block 250 performs a matrix subtraction (coefficient by coefficient) between the global flow M2 and the flow F1. Let U1 be the S..
: resulting matrix. The aim of this operation is to remove the weight of the flow F1 from M2, which is equal to the sum of the flows.
The updater block 250 stores the coefficients for the matrix U1.
In the next step E367, the updater block 250 looks for a coefficient labelled umifl(kM,lM) for the matrix U which has the minimum value among the coefficients for the links in the separate paths between the source and the destination. kM represents the index for the line of the coefficient Umin and lM represents the index for the line of the coefficient Umin. When performing this step, the update block 250 ignores zero entries generated for links into the destination node d1. One or more minimum values Umin may be found.
It should also be noted that Umifl(kM,IM) also represents one or more links (kM,lM).
In the next step E368, the updater block 250 looks for the path which contains the greatest number of link (kM,lM), a path being a series of coefficients of F1 which have a value equal to one. For this, the updater block 250 analyses all the paths contained in F1.
More precisely, the updater block 250 considers the non-zero coefficients for the first line of the matrix F, and reconstructs a series of coefficients of F which have a value equal to one in iterative fashion from synchronous communication module to synchronous communication module up to the destination synchronous communication module.
In the next step E369, the updater block 250 decrements the coefficients of M2 which are contained in the path obtained in step E368 by one unit.
In the next step E370, the updater block 250 verifies whether paths still need to be removed by testing whether the transmission is still over-robust.
For this, the updater block 250 checks whether the variable Nb_paths_to_be_rem is equal to R1-R.
If the transmission is still over-robust, the updater block 250 moves to step E37l, increments the variable Nb_paths_to_be_rem by one unit and returns to step E366.
If not, the updater block 250 moves to step E372.
* In step E372, the updater block 250 checks whether all the recipient synchronous communication modules have been processed. **..
If all the recipient synchronous communication modules have been processed, the updater block 250 interrupts the present algorithm and the optimized global flow matrix M2 has been calculated. Otherwise, the updater block 250 returns to step E361.
* Fig. 25g shows an algorithm for determining the usefulness of links based on the global flow matrix M1 and the optimized global flow matrix M2.
Fig. 25g describes the assignment of the usefulness of the links by the block 252 in the updater block 250. The algorithm is based on the analysis of each coefficient m1kl of the global flow M1 obtained by the method described in Fig. 25e and of the optimized global flow M2 obtained by the method described in Fig. 2Sf.
In step E380, the updater block 250 initializes the two variables k and 1 at zero.
In the next step E381, the updater block 250 increments the variable k by one unit.
In the next step E382, the updater block 250 increments the variable 1 by one unit.
In the next step E383, the updater block 250 checks whether the value of the coefficient m1kl is zero. If the value of the coefficient m1kl is zero, the updater block 250 moves to step E387. Otherwise, the updater block 250 moves to step �384.
in the next step E384, the updater block 250 checks whether the value of the coefficient m2kl is zero. If the value of the coefficient m2kl is zero, the updater block 250 moves to step �385. Otherwise, the updater block 250 moves to step E386.
In step E385, the updater block 250 considers the link (k,l) to be locally useful.
Once this operation has been performed, the updater block 250 moves to step E388.
In step E386, the updater block 250 considers the link (k,l) to be globally useful.
Once this operation has been performed, the updater 250 moves to step E388.
In step E387, the updater block 250 considers the link (k,1) to be useless. Once this operation has been performed, the updater block 250 moves to step E388.
In step E388, the updater block 250 checks whether the value of the variable I is equal to K. If the value of the variable I is equal to K, the updater block 250 moves to step E389. Otherwise, the updater block 250 returns to step E382.
In step E388, the updater block 250 checks whether the value of the variable I is equal to K. If the value of the variable 1 is equal to K, the updater block 250 moves to step E389. Otherwise, the updater block 250 returns to step E382.
In step E389, the updater block 250 sets the variable 1 to the value zero.
In the next step E390, the updater block 250 checks whether the value of the variable k is equal to K. If the value of the variable k is equal to K, the updater block 250 interrupts the present algorithm. Otherwise, the updater block 250 returns to step :L E381. In this way a usefulness is assigned to each link of the network.
METHOD OF DETERMINING A SET OF RELAY COMMUNICATION
DEVICES AND UPDATING A NETWORK CONFIGURATION USING THE
METHOD FOR DETERMINING ROBUSTNESS OF THE NETWORK
The algorithm described below in connection with Figure 25a is separately executed by each updater block 250.
Step E300 in Fig. 25a corresponds to the initialization or set up of the communication network 1. At this stage, the synchronous communication modules SCM I to SCM 5 arc positioned in a room and an initial configuration of the SCMs is performed such that initially the synchronous communication modules can communicate with each other.
In step E30l, the updater block 250 of the synchronous communication module SCM detects a stable state from the block for managing the state of the network 251.
Tne stable state is either the last stable state which the communication network had or a reference state stored in the synchronous communication module SCM.
On the basis of the stable state, the block 251 determines a graph corresponding to the communication network as previously described.
On the basis of the multicast network graph, the updater block 250 selects the relay synchronous communication modules SCM in step E302 and calculates the network robustness of the communication network. Step E302 will be described in more later detail with reference to Fig. 25d.
Referring now to Figure 25b, in step E3 10, the updater block 250 checks whether one or more communication links has been broken between the current stable state of the communication network and the previous stable state of the communication network. A communication link (k,1) is broken when measured reception conditions between two synchronous communications devices drops below a threshold and the capacity function c(k, 1) for the corresponding link becomes/is zero.
if a communication link is broken, the updater block 250 moves to step E3 11, *:*:* otherwise the updater block 250 moves to step E320 in Fig. 25c.
In step E3ll, the updater block 250 updates the multicast network graph 0m(G,S,D,C) by removing the or each communication link determined as broken in **S* : step E3l0.
:. In step E3 12, the updater block 250 checks whether the or each communication link determined as broken is a link which is considered to be globally useful. A link is considered to be globally useful if it carries some part of a flow between the source * * node and a destination node. If the or each communication link determined as broken is determined not to be globally useful in step E3 12, the updater block 250 moves to step E320 in Fig. 25c. Otherwise, the updater block 250 moves to step E313.
It should be noted at this juncture that, as a variant: the updater block 250 does not execute step E3 12 and moves directly from step E3 11 to step E3 13.
In step E313, the updater block 250 decrements the robustness of the communication network labelled R by one unit.
In the next step E3 14, the updater block 250 checks whether the robustness of the communication network is equal to a predetermined threshold labelled st.
If it is, the updater block 250 moves to step E3 15. If it is not, the updater block 250 interrupts the present algorithm.
On the basis of the multicast network graph, Gm, the updater block 250 selects the relay synchronous communication modules SCM in step E315 and calculates the network robustness of the communication network. Step E3 15 will be described in more detail with reference to Fig. 25d. After step E3 15, the algorithm proceeds to step E320 shown on Figure 25c.
In step E320 in Fig. 25c, the updater block 250 checks whether one or more communication links have been restored between the current stable state of the communication network and the previous stable state of the communication network.
A communication link (k, 1) is restored when the capacity function c(k,l) for the link (k,l) becomes non zero.
If a communication link has been restored, the updater block 250 moves to step E32 1, otherwise the updater block 250 interrupts the present algorithm.
In step E321, the updater block 250 updates the multicast network graph Gm(G,s,D,c) by adding the or each communication link determined as restored into the previously stored multicast graph.
In step E322, the updater block 250 checks whether the or each restored link has been marked beforehand. A communication link is marked when the usefulness of the S..
link has been considered previously. ***.
If the or each restored link has not been marked beforehand, the updater block 250 moves to step E325.
On the basis of the multicast network graph, the updater block 250 selects the relay synchronous communication modules SCM in step E325 and updates the . network robustness of the communication network. Step E325 will be described in more detail with reference to Fig. 25d.
If the or each restored link has been marked beforehand, the updater block 250 moves to step E323.
In step E323, the updater block 250 checks whether the or each communication link determined as being restored was a link considered to be globally useful.
If the or each communication link determined as being restored was not globally useful, the updater block 250 interrupts the present algorithm. Otherwise, the updater block 250 moves to step E324.
In step E324, the updater block 250 increments the robustness R of the communication network by one unit.
Once this operation has been performed, the updater block 250 interrupts the present algorithm.
If several communication links have been restored, step E324 is repeated. As a variant, if several communication links have been restored, step E324 is not repeated.
According to another variant, if several communication links have been restored, step E325 is carried out in order to update the relay scheme for the purpose of analysing the impact of the restoration of the globally useful communication link.
Fig. 25d shows steps of selecting the relay synchronous communication modules SCM.
The input parameters for the present algorithm are the multicast network graph Gm and a robustness KR, which value is predetermined or fixed by the user of the communication network. It will be recalled that the multicast network graph includes all the available communication devices on the network.
The number of retransmissions by the relays affects the performance of the communication network in terms of bandwidth. To avoid designing a system which is too greedy in terms of bandwidth, it is possible to arbitrarily decide upon an envisaged :* average robustness according to the number of relays and the speed at which the selection of the relay synchronous communication modules SCM can be performed.
In step E330, the updater block 250 initializes the number of relay synchronous *.S.
communication devices SCM to be removed, as represented by the variable * Nb_relays_to_be_removed, at the value -1.
In the next step E33 I, the updater block 250 increments the number of relay *.: 30 synchronous communication devices SCM to be removed.
In the next step E332, the updater block 250 calculates the number of possible combinations (Nblter) for the Nb_relays_to_be_removed relay synchronous communication devices SCM to be removed among the set of the relay synchronous communication devices.
In the next step E333, the updater block 250 constructs the set of subsets of relay synchronous communication devices to be removed of size Nbrclays_to_bc_removed. By way of example, if Nb_relays_to_be_removed is equal to 1, the set is made up of the following elements: ({SCM2},{SCM3},...{SCM5}}. If Nb_relays_to_be_removed is equal to 2, the set is as follows: {{{SCM2,SCM3},{SCM2,SCM4},... {SCM4,SCM5}}.
In the next step E334, the updater block 250 initializes the variable Iter at the value 1. The variable 11cr represents the number of iterations to be made. An iteration has a corresponding subset of synchronous communication devices SCM to be removed.
In the next step E335, the updater block 250 checks whether all the sets have been tested. If not, the updater block 250 moves to step E336. If so, the updater block 250 moves to step E345.
In step E336, the updater block 250 produces the subaph G_temp for G in the following way: for each relay synchronous communication device SCM to be removed, the updater block 250 removes the outgoing links from the relay synchronous communication device SCM.
In the next step E337, the updater block 250 calculates the robustness R of the multicast communication network graph 0_temp and the global flow labelled M_temp associated with G_temp.
In the next step E338, the updater block 250 checks whether the value of R is strictly less than KR a desired robustness for the network. If so, the updater block 250 moves to step E339, increments the variable Iter and returns to step E335. The updater *.:, block 250 will thus test the next subset of relay synchronous communication devices *::* 25 to be removed.
If R is greater than or equal to KR, the updater block 250 moves to step E340 : and stores the graph for the network 0 Temp under the graph identifier G' and its * associated global flow M_temp under the global flow identifier M1.
Once this operation has been performed, the updater block 250 returns to step **** **** s In this step, the updater block 250 will reduce the number of relay synchronous communication devices because, for the tested number of relay synchronous communication devices, robustness greater than the fixed robustness KR has been found.
In step E345, the updater block 250 reduces the number of globally useful links by generating the optimized global flow matrix in order to limit the number of updates. This step was described above with reference to Fig. 25f.
In the next step E346, the updater block 250 checks whether or not the graph G' has been determined, that is to say whether the current topology of the communication network represented by the graph G with the participation of all the relay nodes is already able to attain the robustness KR.
If so, the updater block 250 moves to step E347 and the links are assigned a usefulness value on the graph G', otherwise the updater block 250 moves to step E348 and the links are assigned on the graph G. The assignment of usefulness has been described above with reference to Fig. 25g.
Once step E347 or E348 has been performed, the updater block 250 interrupts the present algorithm. In this way an optimized network configuration can be calculated by removing relay communication devices until the desired robustness is achieved and optimizing the relay configuration to keep the number of globally useful relays to a minimum as described above.
The present invention has been described when it is used in a radio communication network, but the present invention can also be applied to wired communication networks. In fact, the propagation and fading problems associated with the radio network have the corresponding problem of saturation of the routers in a wired network. The communication conditions are then obtained by measuring the average propagation delay for a packet. A useless link then becomes a link which carries the information more slowly than a predetermined threshold.
*.,.. Of course, the present invention is not limited to the embodiments described here in any way but, quite on the contrary, encompasses any variant within the scope of a person skilled in the art. * **. * **** * ***
S **** * S...
S S..
Claims (21)
- CLAIMS1) A method for measuring robustness of a communications network comprising a source communication device and a plurality of destination communication devices, wherein the communication devices are connected to one another by communication links, the communications network is configured to allow transfer of data from the source communication device to each destination communication device via at least one relay communication device, and to allow communication between the source communication device and each destination communication device via a plurality of separate paths, the separate paths being made up of different links, wherein the method comprises the steps, executed by a communication device, of: -determining for each destination communication device, the number of separate paths available for transferring data to the destination communication device from the source communication device, and selecting the minimum number.
- 2) A method according to claim 1 comprising the step of constructing a graph corresponding to the communication network and determining the number of separate paths on the graph.
- 3) A method according to claim 2 wherein the step of determining the number of separate paths includes, for each destination communication device, calculating a flow between the source communication device and the destination communication device, and determining the number of separate paths based on the calculated flow. *... *.S.
- 4) A method according to claim 3, wherein each flow is determined using the * S..: 25 Ford Fulkerson Theorem.S
- 5) A method according to claim 3 or claim 4, wherein the number of separate S...paths is determined based on a maximum flow value of the calculated flow for each destination communication device.
- 6) A method according to any of claims 3 or claim 5, further comprising the step of determining a global flow for the communications network equal to the sum of the determined flows for each destination communication device.
- 7) A method according to claim 6, further comprising the step of optimizing the global flow to generate an optimized global flow by identifying destination communication devices that have excess separate paths available for transferring data, which excess separate paths are a number of paths over a predetermined minimum number of paths, and removing the excess paths from the global flow.
- 8) A method according to claim 7, wherein the excess paths are removed in such a manner as to minimize the number of relay communication devices used in the optimized global flow.
- 9) A method according to claim 8, wherein the step of optimizing the global flow includes: representing the global flow as a matrix; generating a calculation matrix by removing from the global flow matrix a matrix representation of the flow to a destination communication device that has at least one excess path; identifying one or more minimum values of the calculation matrix that corresponds to non-zero entry in the flow matrix, and which does not represent a link to or from the destination communication device; identifying one or more paths corresponding to minimum values identified in the identifying step; and removing at least one path identified from the global flow.
- 10) A method according to claim 9 wherein the path removed is the path including the largest number of links identified via the minimum values.
- 11) A method according to any of claims 7 to 10, further comprising the step of classifying the links of the communication network depending on whether they form part of the global flow andlor optimized global flow.
- 12) A method according to claim 11, wherein a link is classified as useless if it does not form a part of the global flow, a link is classified as locally useful if it forms part of the global flow but not part of the optimized global flow, and a link is classified as globally useful if it forms part of the global flow and the optimized global flow.
- 13) A method for varying the configuration of a communication network including relay communication devices for transferring data between a source communication device and a plurality of destination comrninication devices, wherein the communication devices are connected to one another by communication links, the communications network is configured to allow transfer of data from the source communication device to each destination communication device via at least one relay communication device, and to allow communication between the source communication device and each destination communication device via a plurality of separate paths, the separate paths being made up of different links, wherein the method comprises the steps, executed by a communication device, of: detecting removal of at least one link from the communication network to form a modified communication network; performing a method according to any of claims I to 12 on the modified communication network; and determining a new set of relay communication devices if the minimum number of separate paths is less than or equal to a predetermined number, which predetermined number is greater than one.
- 14) A method according to claim 13 when dependent upon claim 12, further . 25 comprising the step of determining the minimum number comprises the step of obtaining a minimum number of separate paths of the communication network before the link was removed, obtaining the classification of the removed link, and if the :. removed link is classified as globally useful, reducing the obtained minimum number by one.
- 15) A method for determining a set of relay communication devices for transferring data between a source communication device and a plurality of destination communication devices in a communication network, wherein the communication devices are connected to one another by communication links, the communications network is configured to allow transfer of data from the source communication device to each destination communication device via at least one relay communication device, and to allow communication between the source communication device and each destination communication device via a plurality of separate paths the separate paths being made up of different links, wherein the method comprises the steps, executed by a communication device, of: determining a state of the communications network including a set of relay communication devices; removing at least one relay communication device from the set of relay communication devices to generate a modified state of the communications network; performing a method according to any of claims I to 12 to determine the selected minimum number of paths of the modified communications network; determining whether the selected minimum number is below a predetermined minimum number; and selecting the first state of the communications network if the selected minimum number is below the predetermined minimum number, or selecting the modified state of the communications network if the selected minimum number is equal to or above the predetermined minimum number.
- 16) A method according to claim 15 further comprising the step of repeating the steps of removing at least one relay communication device, performing a method to determine robustness, determining whether the selected minimum number is below the predetermined minimum number and selecting one of the communications *..... networks, and using the selected state of the communications network as the *::::* 25 determined first state of the communications network, until each relay communication device has been removed during a removing step a a...
- * 17) A communications device for use in a communications network comprising a source communication device and a plurality of destination communication devices, * 30 wherein the communication devices are connected to one another by communication **.* links, the communications network is configured to allow transfer of data from the source communication device to each destination communication device via at least one relay communication device, and to allow communication between the source communication device and each destination communication device via a plurality of separate paths, the separate paths being made up of different links, wherein the communication device comprises: means for determining, for each destination communication device, the number of separate paths available for transferring data to the destination communication device from the source communication device, and selecting the minimum number.
- 18) A communication device for use in a communication network including relay communication devices for transferring data between a source communication device and a plurality of destination communication devices, wherein the communication devices are connected to one another by communication links, the communications network is configured to allow transfer of data from the source communication device to each destination communication device via at least one relay communication device, and to allow communication between the source communication device and each destination communication device via a plurality of separate paths, the separate paths being made up of different links, wherein the communication device comprises: means for detecting removal of at least one link from the communication network to form a modified communication network; means for performing a method according to any of claims I to 12 based on the modified communication network; and means for determining a new set of relay communication devices if the minimum number of separate paths of the modified communication network is less *:** than or equal to a predetermined number, which predetermined number is greater than *:::.* 25 one.
- * 19) A communication device for use in a communication network including **.* *:. relay communication devices for transferring data between a source communication device and a plurality of destination communication devices, wherein the communication devices are connected to one another by communication links, the *:. communications network is configured to allow transfer of data from the source communication device to each destination communication device via at least one relay communication device, and to allow communication between the source communication device and each destination communication device via a plurality of separate paths the separate paths being made up of different links, wherein the communication device comprises: means for determining a state of the communications network including a set of relay communication devices; means for removing at least one relay communication device from the set of relay communication devices to generate a modified state of the communications network; means for performing a method according to any of claims I to 12 to determine the selected minimum number of paths of the modified communications network; means for determining whether the selected minimum number is below a predetermined minimum number; and means for selecting the first state of the communications network if the selected minimum number is below the predetermined minimum number, or selecting the modified state of the communications network if the selected minimum number is equal to or above the predetermined minimum number.
- 20) A computer program that, when run on a communication device, causes the communication device to perform a method according to any of claims I to 15.
- 21) A storage medium storing a computer program according to claim 20. * ** * S S * ** *,** * S S.... S... S... S..S S...S *5*S
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB0805648A GB2458540A (en) | 2008-03-28 | 2008-03-28 | Determining a set of relay communication devices for transferring data |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB0805648A GB2458540A (en) | 2008-03-28 | 2008-03-28 | Determining a set of relay communication devices for transferring data |
Publications (2)
Publication Number | Publication Date |
---|---|
GB0805648D0 GB0805648D0 (en) | 2008-04-30 |
GB2458540A true GB2458540A (en) | 2009-09-30 |
Family
ID=39386910
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
GB0805648A Withdrawn GB2458540A (en) | 2008-03-28 | 2008-03-28 | Determining a set of relay communication devices for transferring data |
Country Status (1)
Country | Link |
---|---|
GB (1) | GB2458540A (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2360870A1 (en) * | 2010-02-12 | 2011-08-24 | Canon Kabushiki Kaisha | Process and device for managing a network |
GB2500648A (en) * | 2012-03-28 | 2013-10-02 | Toshiba Res Europ Ltd | Determining path metrics in a wireless relay device for route selection |
WO2013190258A1 (en) * | 2012-06-20 | 2013-12-27 | Texecom Limited | A method of measuring integrity of wireless signalling systems |
US11855866B1 (en) | 2022-09-29 | 2023-12-26 | The Mitre Corporation | Systems and methods for assessing a computing network's physical robustness |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5732072A (en) * | 1994-08-31 | 1998-03-24 | Siemens Aktiengesellschaft | Method for adaptive routing in a communication network |
JP2004297180A (en) * | 2003-03-25 | 2004-10-21 | Matsushita Electric Ind Co Ltd | Multicast distribution system and method |
US20070121521A1 (en) * | 2005-11-30 | 2007-05-31 | D Amico Thomas V | Method and apparatus for broadcast in an AD HOC network with dynamic selection of relay nodes |
US20070165581A1 (en) * | 2006-01-17 | 2007-07-19 | Mehta Neelesh B | Method and system for communicating in cooperative relay networks |
WO2008011717A1 (en) * | 2006-07-28 | 2008-01-31 | Nortel Networks Limited | Multi-hop network topology system and method |
-
2008
- 2008-03-28 GB GB0805648A patent/GB2458540A/en not_active Withdrawn
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5732072A (en) * | 1994-08-31 | 1998-03-24 | Siemens Aktiengesellschaft | Method for adaptive routing in a communication network |
JP2004297180A (en) * | 2003-03-25 | 2004-10-21 | Matsushita Electric Ind Co Ltd | Multicast distribution system and method |
US20070121521A1 (en) * | 2005-11-30 | 2007-05-31 | D Amico Thomas V | Method and apparatus for broadcast in an AD HOC network with dynamic selection of relay nodes |
US20070165581A1 (en) * | 2006-01-17 | 2007-07-19 | Mehta Neelesh B | Method and system for communicating in cooperative relay networks |
WO2008011717A1 (en) * | 2006-07-28 | 2008-01-31 | Nortel Networks Limited | Multi-hop network topology system and method |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2360870A1 (en) * | 2010-02-12 | 2011-08-24 | Canon Kabushiki Kaisha | Process and device for managing a network |
GB2500648A (en) * | 2012-03-28 | 2013-10-02 | Toshiba Res Europ Ltd | Determining path metrics in a wireless relay device for route selection |
GB2500648B (en) * | 2012-03-28 | 2014-06-25 | Toshiba Res Europ Ltd | Wireless communication methods and apparatus |
US9131510B2 (en) | 2012-03-28 | 2015-09-08 | Kabushiki Kaisha Toshiba | Wireless communication methods and apparatus |
WO2013190258A1 (en) * | 2012-06-20 | 2013-12-27 | Texecom Limited | A method of measuring integrity of wireless signalling systems |
CN104396310A (en) * | 2012-06-20 | 2015-03-04 | 泰斯康有限公司 | A method of measuring integrity of wireless signalling systems |
GB2518790A (en) * | 2012-06-20 | 2015-04-01 | Texecom Ltd | A method of measuring integrity of wireless signalling systems |
US9838890B2 (en) | 2012-06-20 | 2017-12-05 | Texecom Limited | Method of measuring integrity of wireless signalling systems |
GB2518790B (en) * | 2012-06-20 | 2018-12-05 | Texecom Ltd | Wireless Signalling Systems |
US11855866B1 (en) | 2022-09-29 | 2023-12-26 | The Mitre Corporation | Systems and methods for assessing a computing network's physical robustness |
Also Published As
Publication number | Publication date |
---|---|
GB0805648D0 (en) | 2008-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8335164B2 (en) | Method for determining a route in a wireless mesh network using a metric based on radio and traffic load | |
US8407364B2 (en) | Apparatus and method for providing a congestion measurement in a network | |
CN101647238B (en) | A radio and bandwidth aware routing metric for multi-radio multi-channel multi-hop wireless networks | |
US20140254433A1 (en) | Sensor network system, sensor network control method, sensor node, sensor node control method, and sensor node control program | |
CN113242177B (en) | Method and device for multi-path concurrent data transmission, storage medium and electronic equipment | |
US20140241159A1 (en) | Optimization of transmission control protocol (tcp) connections in a wireless network | |
WO2012108383A1 (en) | Path selection method and control server | |
CN112291747B (en) | Network congestion control method and device, electronic equipment and storage medium | |
CN103888317A (en) | Protocol-independent network redundant flow eliminating method | |
GB2458540A (en) | Determining a set of relay communication devices for transferring data | |
CN115278811B (en) | MPTCP connection path selection method based on decision tree model | |
JP2008035473A (en) | Ad-hoc network building method, program, and wireless terminal | |
CN104734808B (en) | Worst time delay perceives cross-layer optimizing method in a kind of wireless sensor network | |
CN105493602B (en) | The dynamic cluster coordinated for the radio in virtual network | |
RU2457628C1 (en) | Method for dynamic routing in multidimensional route and batched messaging communication network | |
Liu et al. | Cross-layer design of control over wireless networks | |
US8976651B2 (en) | Load balance control unit, load balance control method and storage medium | |
Marbach et al. | Asynchronous CSMA policies in multihop wireless networks with primary interference constraints | |
Olshevsky | Consensus with ternary messages | |
CN109644386B (en) | Wireless communication terminal, wireless communication system, and recording medium | |
CN111865488B (en) | Code selection method for multi-hop short packet communication | |
RU2431945C1 (en) | Method for adaptive routing in multidimensional messaging route communication network | |
Yuan et al. | On the queueing behavior of inter-flow asynchronous network coding | |
Ma et al. | LIPS: link prediction as a service for data aggregation applications | |
JP2018023013A (en) | Route selection device, route selection method and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WAP | Application withdrawn, taken to be withdrawn or refused ** after publication under section 16(1) |