1. Field of the Invention
The present invention relates to a method for distributing software components to nodes of a telecommunication network.
In a telecommunication network, all the nodes consist of network elements, performing all the routing and switching functions of the traffic travelling across the network. Each network element comprises hardware devices (such as, for example, switches, cross-connectors or add-drop multiplexers) and software components, allowing, for instance, to configure the hardware devices in order to properly route the traffic.
2. Description of the Prior Art
Sometimes it is necessary, for network maintenance and/or upgrade purposes, distribute one or more software components to the network elements, such as, for instance, a new release of a software component already installed in the nodes. In these cases, it is desirable that a network provider is able to perform such maintenance/upgrade services as quickly as possible, and interfering as less as possible with the ordinary operation of the network. Besides, as the software distribution is generally performed on dedicated channels, it is desirable that the bandwidth of these channels is as reduced as possible, so that the system capacity is available for transporting user data.
In the art, it is known to carry out the software distribution in a centralized way. In other words, the new software components are distributed from a single source node to the target nodes, according to a path which is established a priori from control means which are external to the network. The software is distributed through suitable transfer protocols. For instance, it is possible to use the File Transfer Protocol FTP; in this case, the source node is called “FTP server”, while the target nodes are called “FTP clients”.
In these known centralised software distribution methods, the control means can be, for instance, a Network Operation Center or NOC. The NOC is an equipment allowing the network provider to perform, among other network supervision/management functions, the software distribution functions. For instance, the NOC decides which target nodes are to be involved in a software distribution, and which software components must be distributed to these target nodes.
According to a first known method for software distribution in a telecommunication network, copies of the software image are transmitted to a gateway node, and the other nodes obtain the software image from the gateway node. Multiple copies of the software image are provided from a software source to the gateway node for retrieval by each requesting node. This technique requires multiple streams of the software image to be distributed at the nodes.
A disadvantage of such a method is that the maximum number of target nodes that can receive a new software component within a single software distribution operation (an then the overall software distribution time of the network) depends on the dedicated channel bandwidth. This happens because the dedicated channel must support a number of separated data streams which is equal to the number of target nodes. Therefore, for a given dedicated channel bandwidth, the overall software distribution time is strictly dependent on the number of target nodes.
WO 2004/059434 discloses a method similar to the above described method, except that, instead of generating a number of copies of a software component which is equal to the number of target nodes, the invention uses an on-the-fly distribution concept and an handshake protocol, thus avoiding multicast techniques. One node in designed as gateway node and the other nodes are designed as receiving nodes; some nodes may also serve as intermediate nodes distributing software to the downstream nodes. A software source sends an initialisation request to the gateway node, including a list of all the nodes that are to receive the download. Then, the gateway node executes a route tracing routine to determine possible download channels. Then, one route is selected, either by a user, or by the gateway node and/or the software source, based on a variety of network parameters. The intermediate nodes are programmed for forward a copy of the received download to the remote node that is next in the download tree. The software image is distributed from the software source to the gateway node and then along the download channels to the nodes. The gateway forwards a copy of the software to each node over each gateway node-node download channel. The gateway node and intermediate nodes do not need to temporarily store the software for distribution, since the duplication and distribution occur on-the-fly.
However, if the number of target nodes is particularly high, this method requires a long time, both for executing route tracing routine and for propagating the software component along all the route. Moreover, this method is particularly disadvantageous in cases wherein only few nodes require software distribution, and these nodes are located very far from the software source. In fact, according to WO 2004/059434, the software distribution always starts from the software source. However, if the software source is very far from the target nodes, the distribution will require the intervention of many intermediate nodes, thus subtracting them capacity to support user data traffic.
As the known solutions, above described, are not completely satisfactory, an object of the present invention is to provide a method of software distribution to the nodes of a telecommunication network which overcomes the aforesaid problems.
In particular, an object of the present invention is providing a method of software distribution to the nodes of a telecommunication network which allows to perform the software maintenance/upgrade operations into the network as quickly as possible, and with an impact which is as low as possible on the capacity of high priority traffic.
These and other objects are achieved, according to the present invention, by a method of software distribution to nodes of a telecommunication network according to claim 1, and a node of a telecommunication network according to claim 16. Further advantageous features of the present invention are set forth into the respective dependent claims. All the claims are deemed to be an integral part of the present description.
According to the present invention, a method of software distribution to the nodes of a telecommunication network is provided, wherein the NOC selects one or more gateway nodes, to which the NOC sends a copy of a software component to be distributed. Each node, according to the present invention, exchanges information with the adjacent nodes. This information allows each node to determine whether a software distribution of a new software component is ongoing across the network. Further, each node is able to determine whether it has to download the new software component and, in affirmative case, each node is able to determine the source node(s) from which the new software component can be downloaded.
Finally, according to the invention, after downloading the new software component, each node is able to act as a source node for the adjacent nodes.
Therefore, according to the invention, the software distribution management is not centralised but it is distributed among all the nodes of the network. The NOC indeed only selects the gateway nodes from which the software distribution starts, but it is not responsible for detecting all the target nodes any more. On the contrary, each node is able to state autonomously whether to download or not a new software component. Therefore, the software distribution path is not computed a priori any more, but each node plays an active part in dynamically tracing such a distribution path, according to the traffic condition of the network, or according to possible faults of the network as well.
Besides, as each node may act as a source node for the adjacent nodes, during the software distribution the available source nodes may increase. Therefore, the nodes have at their disposal an increasing number of source nodes, thus reducing the overall distribution time of the network.
In a first aspect, the present invention provides a method of distributing a first software component to a number of nodes of a telecommunication network, wherein: a first node is identified among said number of nodes; said first node is provided with said first software component; said first node provides to a second adjacent node information on the availability of said first software component at said first node; said second adjacent node, according to the information received from said first node, determines whether to download said first software component from said first node; a third node is provided, which is adjacent to said second node; said second node provides to said third node information on the availability of said first software component at said first node and/or at said second node; and said third node, according to the information received from said second node, determines whether to download said first software component from said second node or from said first node.
When a second software component is distributed to said third node of the network, the step of distributing said second software component comprises: said second software component is provided to said first node; said first node provides to a second adjacent node information on the availability of said second software component at said first node; said second adjacent node, according to the information received from said first node, determines whether to download said second software component from said first node; said second node provides to said third node information on the availability of said second software component at said first node and/or at said second node; and said third node, according to the information received from said second node, determines whether to download said second software component from said second node or from said first node.
In one embodiment, a fourth node, adjacent to said third node, is provided with said first software component, said second and fourth nodes provide information on the availability of said first software component at said second and fourth nodes, respectively, and said third node, according to the information received from said second and fourth nodes, determines whether to download said first software component from said second node or from said fourth node.
According to one embodiment, said third node determines whether to download said first software component from said second node or from said fourth node according to criteria minimizing a cost for downloading said first software component. As an alternative, said third node determines whether to download said first software component from said second node or from said fourth node according to criteria minimizing a time for downloading said first software component.
Preferably, the step of providing said first software component or said second software component to said first node is performed by a Network Operation Center (NOC), and said Network Operation Center is notified about the software component downloads in the nodes of the network.
Preferably, said first node is a gateway node and it is connected to said Network Operation Center.
According to one embodiment, the method further comprises a step of partitioning said network into a number of network partitions, each of said network partitions comprising a gateway node.
The information on the software component availability may include: the name of said software component, the name of a node where said software component is available, information about software release, information about software compatibility and information about cost and time for downloading said software component.
The method may optionally comprise a step, performed in a node, of verifying compatibility of said first software component with any other software component already installed in said node.
According to a second aspect, the present invention provides a telecommunication network node for performing a method as set forth above. The node comprises a software component list, means for updating such a software component list and means for forwarding such a software component list to at least an adjacent node and means for, upon request from said at least one adjacent node, providing such an adjacent node with one or more software components.
Profitably, the node further comprises means for receiving a software component list from an adjacent node and means for requesting a software component to said adjacent node or to a non-adjacent node.
Preferably, said means for requesting a software component comprise means for comparing the software component list received from an adjacent node with its software component list.
In addition, the node further comprises means for notifying a network operation centre the receipt of a software component.
According to a third aspect, the present invention provides a telecommunication network comprising a plurality of nodes as set forth above.
Further features and advantages of the present invention will become clear by the following description, provided as a non limiting example, to be read with reference to the accompanying drawings.
In the drawings:
a and 3b show the structure of a known node and the structure of a node according to the invention, respectively, from the functional point of view;
a and 4b show two succeeding steps of the method of software distribution to the nodes of a telecommunication network according to the present invention, in a portion of a telecommunication network;
a, 5b and 5c show three different embodiments of software distribution according to the present invention, in a ring network;
a and 6b show two different embodiments of software distribution according to the present invention, in a mesh network; and
a and 7b show two different embodiments of software distribution according to the present invention, in a multi-ring network.
As mentioned above, the method of software distribution according to the present invention provides a first step wherein the NOC selects one or more gateway nodes, and sends to these gateway nodes a new software component to be distributed. The NOC may select the gateway node(s) according to different criterion. Generally, the NOC may select a single gateway node for the entire network, or the NOC may select more than one gateway node for a network.
a shows a first embodiment of the method according to the invention, wherein the NOC selects a single gateway node GN for the whole network. It should be noticed that the NOC can be linked to the gateway node or nodes either through a dedicated control network, or through a path comprising node-to-node links of the network. In
b shows a second embodiment of the method according to the invention, wherein the NOC selects two gateway nodes GNA, GNB. It can be noticed that, in a ring network, the two gateway nodes GNA, GNB are advantageously arranged in diametrically opposed positions, as shown in
c shows a third embodiment of the method according to the invention, wherein the NOC performs a partitioning of a ring network, and for each of the resulting partitions PA, PB, PC, PD the NOC selects a respective gateway node GNA, GNB, GNC, GND. In each partition, the software distribution starts from a respective gateway node, and all the nodes belonging to a partition download the new software components only from source nodes belonging to the same partition, as it will be described in detail herein after. The optimum number of partitions and the optimum diameter of each partition (i.e. the maximum distance, expressed in nodes, between two nodes belonging to the same partition) are estimated in order to minimise the overall distribution time, as it will be described in detail herein after.
Again,
The choice of the number of gateway nodes and of their position mainly depends on the network topology (ring, mesh, bus), on the extension of the network (i.e. on the overall number of nodes comprised into the network) and on the type of nodes.
As mentioned above, in the method according to the present invention each node plays an active part in the software distribution mechanism. According to the invention, indeed, it is provided a step wherein a node receives information from the adjacent nodes regarding the availability of a new software component. Further, according to the invention it is provided a step wherein the node determines whether to download the new software component and, in affirmative case, which are the source nodes from which the new software component will be downloaded. Therefore, the network nodes, according to the present invention, perform additional functions with respect to a traditional node.
a and 3b show a known network node and a network node according to the invention, respectively. A known node N, shown in
b shows a network node according to the invention. In addition to the memory NLOG and the FTP client FTPC, the node N comprises:
In the method according to the present invention, each node compiles a DSL list, i.e. a list of all the software components stored into its memory NLOG, or available on other nodes. If the network is partitioned, the DSL list of a node belonging to a partition includes only the software components which are already available into the nodes of the same partition. For each software component, the DSL contains at least part of the following information:
Besides, each node has a SDA agent, which is a software application performing different operations for downloading the new software component.
The node N may optionally include an FTP server, whose role will be explained in detail herein after.
The method of software distribution according to the present invention, and in particular the operation of the SDA agent and the use of the DSL list, will be now explained in detail, referring to
a and 4b show two succeeding steps of the method of software distribution according to the present invention, in a portion of a telecommunication network. Such a portion comprises a gateway node GN and three nodes N21, N22, N3, which are connected one to each other in a ring topology.
It is assumed that at the time t1 (not shown in
It is assumed that the node N21 only needs the components “a”, “b” and “c”, while the node N22 needs the components c”, “d” and “e”.
The SDA agent of the node N21 compares the received list DSL-GN with its own list (not shown in
Once installed the new components, the SDA agent of the node N21 notifies to the NOC the reception of the components (not shown in
As for the node N21, the node N22 receives at the time t2 the updated list DSL-GN from the gateway node GN.
The SDA agent of the node N22 compares the received list DSL-GN with its own list (not shown in
Once installed the new components, the SDA agent of the node N22 notifies to the NOC the reception of the components (not shown in
On the basis of the description reported above, at a time t3 the node N3 simultaneously receives the list DSL-N21 from the node N21 and the list DSL-N22 from the node N22.
It is assumed that, for example, the node N3 has to download uniquely the software components “a”, “c” and “e”. The SDA agent of the node N3 compares the received lists DSL-N21, DSL-N22 with its own list (not shown in
Regarding the software component “c”, both N21 and N22 can provide it to N3. In this case, the SDA agent of the node N3 may read into the lists DSL-N21 and DSL-N22 the information (not shown in
Once received the software components, the SDA agent of the node N3 updates its own DSL list (not shown) and notifies to the NOC the reception of the new components (not shown). The updated DSL list is forwarded to the adjacent nodes, if any (not shown).
Hence, an SDA agent of a node N according to the present invention performs the following functions:
It can be observed that in the example described above referring to
According to the present invention, in a transmission network all the nodes may support Single-Source Download; alternatively, all the nodes may support Multi-Source Download; alternatively, a network may comprise both nodes supporting Single-Source Download and nodes supporting Multi-Source Download.
In the following, different embodiments of the method according to the present invention will be described, applied to networks with different topologies.
For instance,
In particular,
Under the assumption that a single download time from a source node to a target node is constant and equal to T, the overall distribution time for the network of
b shows a ring network comprising fourteen nodes. The NOC selects two gateway nodes GNA, GNB, placed in diametrically opposed positions of the ring. Again, it is assumed that each node is able to act as a source node for the adjacent nodes. The gateway node GNA receives new software components at a time t1. At a time t2, while the GNA distributes the new software component to the adjacent nodes N2, the gateway node GNB receives from the NOC the new software components. The software distribution then starts in two opposite positions of the ring, thus allowing to further reduce the overall distribution time with respect to the embodiment described in
Referring to
c shows a ring network comprising sixteen nodes. The NOC defines a partitioning of the network. As mentioned above, in each partition, a node can download software only from source nodes belonging to the same partition. The partitioning is defined by the NOC in order to minimise the overall distribution time of the network. If n is the number of partitions and R(n) is the radius of the n-th partition, the overall distribution time is:
Ttot=T*[n+max(R(1), R(2), . . . R(n))],
where T is a single download time. The minimum of Ttot is obtained when:
R(n)= . . . =R(2)−(n−2)=R(1)−(n−1)=0.
For example, in the network of
For each partition, the NOC selects a gateway node GNA, GNB, GNC, GND. Obviously, the optimum position for each gateway node inside its respective partition is the centre of the partition. It is still assumed that each node can act as a source node for the adjacent nodes belonging to the same partition. The gateway node GND is updated at a time t1=T. At a time t2, while the gateway node GND distributes the software components to the adjacent node N2 of the partition PD, the NOC updates the gateway nodes GNC, so the software distribution can start into the partition PC. At a time t3, the gateway node GNB id updated, so the software distribution can start also into the partition PB. At a time t4, the gateway node GNA is updated, and the updating of all the partitions of the network is completed. The overall distribution time of the partitioned network is thus Ttot=4T. Considering that, with the known methods, the overall distribution time is Ttot(old)=16T, the overall distribution time of the network is reduced to 25% of the overall distribution time required by the known methods.
It has to be noticed that, the higher the number of nodes composing a ring network, the better the improvement deriving from the application of this particular embodiment of the method of the invention. For instance, if the number of nodes in a ring network is sixty-four (not shown), by applying a partitioning according to the above reported criterion, an overall distribution time Ttot=8T is obtained, thus allowing to reduce the overall distribution time to about 12,5% of the overall distribution time according to the known method.
By comparing the embodiment shown in
a shows an embodiment of the method according to the invention in a mesh network including twenty-five nodes. The NOC selects a single gateway node GN, which is placed in the centre of the mesh. Each node is able to act as a source node for the adjacent nodes. If, again, a single download time is T, the GN is updated at a time t1, the nodes N2 are updated at a time t2 and so on, until the nodes N5 which are updated at a time t5. Therefore, the overall distribution time is Ttot=5T. According to the known methods, the overall distribution time is Ttot(old)=25T. Therefore, according to the present invention, the overall distribution time of the network is reduced to about 20% of the overall distribution time required by the known methods.
b shows the same mesh network, wherein the NOC selects three gateway nodes GNA, GNB, GNC. In this case, it can be noticed that the overall distribution time according to this embodiment of the invention is Ttot=4T, i.e. Ttot is about 16% of Ttot(old).
a and 7b show two embodiments of the method according to the present invention in a multi-ring network comprising eighteen nodes. With the known methods, the overall distribution time is Ttot(old)=18T.
b shows a second embodiment wherein, in the network similar to the one of
Number | Date | Country | Kind |
---|---|---|---|
04 292 714.5 | Nov 2004 | EP | regional |