The present invention relates to the field of switches for telecommunication networks. More particularly, the present invention relates to a switch for integrated telecommunication networks, which is adapted to switch both TDM flows and packets. The present invention further relates to a method for switching both TDM flows and packets.
This application is based on, and claims the benefit of, European Patent Application No. 05 290 508.0 filed on Mar. 4, 2005, which is incorporated by reference herein.
In a telecommunication network, a source node transmits information to a destination node through a number of intermediate nodes.
In packet-switched networks, the information is divided into packets, each packet being transmitted across the network independently from the other packets. The packet size may be either fixed (e.g. ATM cells) or variable (e.g. IP packets). Each packet has an overhead, which allows intermediate nodes to route the packet towards the destination node.
Besides, in circuit-switched networks, information is transmitted through the network as a continuous flow. In particular, in synchronous circuit-switched networks, all the nodes are synchronized to a reference clock signal. In these types of network, such as for example SDH or Sonet networks, information is transported by fixed-size numerical structures, which are organized in a synchronous hierarchy. In particular, each user channel (or tributary channel) is transported by a respective lower order numerical structure. Several lower order numerical structures are multiplexed by a time division multiplexing (TDM) technique in a higher order numerical structure, which is transmitted through the network as a TDM flow. Hence, each tributary channel is associated to a time slot which is located in a predefined position of the TDM flow. Such a predefined position is fixed until the tributary channel is active. Thus, intermediate nodes may route each tributary channel towards its respective destination node without demultiplexing the whole TDM flow.
As already mentioned, intermediate nodes are responsible for routing information towards respective destination nodes. For instance, intermediate nodes may cross-connect, multiplex, regenerate or amplify information.
In particular, nodes cross-connecting and/or multiplexing information, such as cross-connects and add-drop multiplexers, comprise switches. A switch is a device which is adapted to receive information through a plurality of input lines and selectively send said information to a plurality of output lines, according to the destination node of such information.
In a packet-switched network, a switch (which is also termed packet switch) switches each packet according to the content of its overhead. Typically, each input line of a packet switch is provided with a number of buffers which equals the number of output lines. Each packet incoming from a given input line is stored into the buffer corresponding to the output line indicated by the overhead content. In each buffer, packets are stored in a queue, where they wait to be taken by the respective output line. An output controller is provided for each set of buffers associated to a same output line. The output controller receives from each buffer connected to it information about the state of the queue (number of packets, packet sizes, etc.). According to these information, each output controller instructs its respective output line to take packets from the buffers associated thereto. The output controller determines the order according to which packets must be taken, in order to avoid buffer saturation and switch congestion.
In a packet switch, switching is thus dynamically controlled, according to the overhead content of each incoming packet.
Besides, in synchronous circuit-switched networks, a switch (which is termed TDM switch) switches each tributary channel according to its position into the TDM flow.
A TDM switch comprises a TDM matrix, which is typically implemented as a memory. Each matrix input is adapted to write in predetermined portions of the memory in predetermined time slots. Besides, each matrix output is adapted to read from predetermined portions of the memory in predetermined time slots. The predetermined time slots are estimated by recovering the reference clock signal of the synchronous network, so that writing and reading operations are synchronized.
Each TDM switch has a routing table indicating, for each matrix output, an ordered list of the tributary channels that must be taken by the matrix output. The routing table of a TDM switch is static, i.e. it is modified only when changes in the channel configuration occur (e.g. one or more tributary channels are switched on or switched off).
Each matrix output is provided with a source address generator. The source address generator of each matrix output generates, by processing the information contained into the static routing table, an ordered list of source addresses. A source address is a memory address indicating the position of the memory portions containing the tributary channel to be taken, as it will be described in greater detail herein after.
Integrated telecommunication networks are networks comprising different sub-networks which are based on different transmission technologies. For instance, an integrated transport network may comprise a circuit-switched synchronous backbone (e.g. SDH or Sonet), connected to different packet-switched local networks (e.g. Ethernet, ATM or the like). In integrated telecommunication networks, information flows incoming to a node may comprise both TDM flows and packets. Therefore, nodes of an integrated transport network must be able to handle both TDM flows and packets. Therefore, a switch for integrated network must comprise both a TDM switching capability and a packet switching capability.
A first known arrangement for implementing a switch for integrated network is providing a node comprising two separated switch devices, i.e. a TDM switch and a packet switch. This first known arrangement however has many disadvantages. First of all, it is very costly, as all the resources of the switch are duplicated. Moreover, it does not allow an efficient exploitation of both devices. In fact, depending on the ratio between TDM flow capacity and packet capacity, a percentage of the processing capacity of each device will not be exploited.
A second known arrangement for implementing a switch for integrated networks is providing a single packet switch which is adapted to switch both TDM flows and packets. Packets are switched as described above. Each TDM flow is divided into blocks and each block is provided with a respective overhead. Hence, TDM flow blocks may be stored into buffer queues of the packet switch and they can be processed as if they were packets.
Also this second known arrangements involves disadvantages. First of all, a high number of buffers must be provided, as both packets and TDM flow blocks must be stored. Besides, managing TDM flows through queues introduces variable delays, which results in degradation of services supported by TDM flows. Moreover, this solution is disadvantageous when applied to multicast or broadcast transmissions, wherein the same information is transmitted to a plurality of destination nodes, as for each TDM flow block a number of copies must be provided which equals the number of destination nodes. Thus, multicast and broadcast transmission become very complex from processing point of view.
According to the above considerations, a general object of the present invention is providing a switch for integrated telecommunication networks which overcomes the aforesaid problems.
In particular, a first object of the present invention is providing a switch for integrated telecommunication networks which is able to switch both TDM flows and packets by means of a single switching matrix and wherein the exploitation of the switch resources is optimized and independent from the ratio between TDM flow capacity and packet capacity.
A further object of the present invention is providing a switch for integrated telecommunication networks wherein TDM flows and packets undergo a fixed delay.
A further object of the present invention is providing a switch for integrated telecommunication networks wherein multicast and broadcast transmission can be easily implemented, both for TDM flows and for packets.
According to a first aspect, the present invention provides a switch for telecommunication networks comprising a time division multiplexing matrix provided with a number of matrix inputs and a number of matrix outputs; and source address generators connected to matrix outputs of the time division multiplexing matrix. The switch further comprises input modules, each of said input modules being adapted to generate a fixed size block, said block comprising a number of packets arranged according to a predefined order; matrix input processing modules, each of said matrix input processing modules being connected to an input module to receive therefrom said fixed size block, and each of said matrix input processing modules being further connected to a matrix input; and a dynamic provisioning module, which is adapted to receive from said matrix input processing modules routing information comprised in said packets, generate, according to said routing information, a dynamic routing table, and supply said dynamic routing table to the source address generators.
Preferably, it further comprises a static provisioning module which is adapted to supply a static routing table to said source address generators.
According to one embodiment, the fixed size block further comprises a portion of time division multiplexing flow. In this case, the switch further comprises a clock module for recovering from the time division multiplexing flow a reference clock signal, and supplying the reference clock signal to source address generators.
Preferably, the routing information is sent to said dynamic provisioning module according to the predefined order.
According to one embodiment, the predefined order corresponds to the order of matrix outputs to which packets are addressed.
Preferably, the switch is at least partially implemented in an application specific integrated circuit.
According to a second aspect, the present invention provides a method of switching information flows in a telecommunication network, the method comprising: generating fixed size blocks comprising a number of packets which are arranged according to a predefined order; taking routing information from the packets, generating, according to said routing information, a dynamic routing table; generating source addresses according to said dynamic routing table; and supplying said source addresses to matrix outputs of a time division multiplexing matrix.
The source addresses are preferably generated according to a static provisioning table.
According to one embodiment, the fixed size blocks are generated with a portion of a time division multiplexing flow.
The method preferably comprises: recovering a reference clock signal from said time division multiplexing flow; and timing the step of generating source addresses according to said reference clock signal.
The step of taking routing information preferably comprises taking routing information according to said predefined order.
A French patent application filed by the same Applicant of the present application, which was filed before the present patent application, but published afterward, describes a switching system comprising input modules each connected to a switching matrix and to a corresponding controller. Each input module organizes packets that it receives into digital data blocks with a fixed size, and makes transfers of these blocks by successive cycles to the matrix. Each of these blocks is organized into groups of digital data, these groups having corresponding modifiable sizes and being stored according to a predetermined order and associated with the corresponding output ports in the system. Each of these groups is formed of packets to be sent to a single corresponding output port. Any block transfer to the matrix is accompanied by transmission of information representative of the corresponding sizes of the groups of the transferred block to the said controller, and the groups of each transferred block are switched to their corresponding destination output ports as a function of this information representing the sizes.
This French patent application neither describes nor suggests to provide a switch for integrated networks for switching both TDM flows and packets. Furthermore, this patent application neither describes nor suggests to dynamically generate, according to overhead of incoming packets, source addresses of packets, thus using said source addresses to control the matrix outputs of a TDM matrix for switching the packets.
On the contrary, according to the present invention, the input modules arrange packets according to a predefined order; the matrix input processing modules drop the overheads of the packets into the same predefined order, and send them to the dynamic provisioning module. The dynamic provisioning module processes the overheads and provides a dynamic routing table, which allows the source address generators to generate source addresses for the packets.
Thus, the switch according to the present invention advantageously allows to avoid duplicating the resources of the switch, thus reducing the device cost.
Moreover, the switch according to the present invention advantageously allows to optimize the exploitation of the switch resources, independently from the composition of the incoming traffic flow.
Besides, the switch according to the present invention advantageously allows to easily implement multicast and broadcast transmission, as the TDM matrix is controlled through its matrix outputs.
Besides, the switch according to the present invention advantageously allows to introduce a fixed delay both on TDM traffic and on packet traffic, as traffic management by means of queues is avoided.
Further features and advantages of the present invention will become clear by the following detailed description, given by way of example and not of limitation, to be read with reference to the accompanying drawings, wherein:
a and 4b schematically show blocks as generated by an input module according to the present invention;
The operation of the packet switch PS, which has already been described in the introduction of the present description, will be only briefly summarized herein after.
A packet incoming through the input line Lin1 is stored in one of the buffers B11, . . . B1M, according to the content of its overhead. In each buffer, packets are stored in a queue, waiting to be taken by the corresponding output line Lout1, . . . LoutM. The same considerations apply also to the other input lines Lin2, . . . LinN.
The output controller OC1 associated to the output line Lout1 receives from the buffers B11, B21, . . . BN1 information about the status of the queue of each of buffers B11, B21, . . . BN1. According to these information, the output controller OC1 determines the order according to which packets into the buffers B11, B21, . . . BN1 must be taken by the output line Lout1. The same considerations apply also to the other output lines Lout2, . . . LoutM.
It has to be noticed that typically the input modules IM1, IM2, . . . IMN are implemented on a port board PB, together with other port devices (not shown in
According to a preferred embodiment of the present invention, the memory is implemented as a number of memories working in parallel. This allows to speed up the reading functions performed by the matrix outputs.
According to a preferred embodiment of the present invention, the TDM matrix comprises a main matrix and a spare matrix, which is substantially identical to the main matrix. Typically, incoming traffic is bridged both to the main matrix and to the spare matrix, which both perform switching at the same time. Output ports (not shown) receive output flows both from the main and spare matrices. During normal operation, the output ports select the flows from the main matrix. Should the main matrix become failed, the output ports will select the flows from the spare matrix.
Herein after, by referring to
According to the present invention, each input line Lin1, Lin2, . . . LinN of the switch INS is adapted to receive a respective information flow, which may comprise only TDM flows, packets or both TDM flows and packets. According to the present invention, each information flow incoming at the switch INS through the input line Lin1, Lin2, . . . LinN, is divided by the respective input modules IM1, IM2, . . . IMN in blocks having fixed size. Additional processing functions of the input flows are performed by other port devices, which are not described, as they are not relevant for the present description.
a schematically shows the structure of an example of a block generated by an input module. The fixed-size block FSB comprises a packet overhead field P-OH, a packet field PF and a TDM field TDMF. The packet field PF comprises a number k of packets P1, P2, . . . Pk. Such packets may have all the same size, or they can have different sizes, according to the protocol transporting them. The overall dimension of the packet field PF is thus variable, and it depends both on the number k of packets and on the size of each packet. The packets P1, P2, . . . Pk are arranged into the packet field PF according to a predefined order. For instance, in a preferred embodiment of the invention, packets are arranged according to their respective destination output lines, as it will be shown in greater detail by referring to
The packet overhead field P-OH comprises the overheads of the packets P1, P2, . . . Pk. Preferably, the overheads are arranged according to the same predefined order as the packets. Thus, the packet overhead field P-OH comprises the overhead OH1 of the packet P1, the overhead OH2 of the packet P2 and the overhead OHk of the packet Pk.
Finally, the fixed-size block FSB may comprise a portion of a TDM flow. It has to be noticed that the TDM field may comprise different portions TDM1, . . . TDMh of different TDM flows. For instance, the TDM field may comprise portions of unicast TDM flows (e.g. SDH frame, Sonet frame), and/or portions of a multicast/broadcast TDM flow (e.g. a video signal). Switching of multicast/broadcast TDM flows will be described in detail with reference to
It must be noticed that the composition of each fixed size block dynamically changes according to the composition of the traffic flow. For instance, one or more tributary channels of the TDM flow may be switched off, or the transmission of a video signal may finish. In these cases, the size of the TDM field decreases, and consequently the packet field size and the packet overhead field size increase. This is shown in
It has to be noticed that, if the incoming information flow comprises only packets, there is no TDM field into the block. Similarly, if the incoming information flow comprises only TDM flows, there are no packet overhead field and packet field into the block, as it will be shown herein after, with reference to
After each input module IM1, IM2, . . . IMN has generated a respective block as shown in
The dynamic provisioning module DPM, according to the content of the packet overhead fields received from the matrix input processing modules, generates a dynamic routing table. More specifically, the dynamic routing table may contain, for each matrix output:
The dynamic provisioning module DPM sends such a dynamic routing table to the source address generators SAG1′, SAG2′, . . . SAGM′. Furthermore, the source address generators SAG1′, SAG2′, . . . SAGM′ receive from the static provisioning module SPM a static routing table relative to the TDM portions. Therefore, by processing both the dynamic routing table and the static routing table, each source address generator SAG1′, SAG2′, . . . SAGM′ generates, for its respective matrix output, an ordered list of source addresses, i.e. an ordered list of memory addresses from where the matrix output may take packets and TDM portions.
Thus, according to the present invention, both TDM flows and packets are switched by the same TDM matrix, which is controlled by means of the source address of the matrix outputs. Source addresses may be generated either dynamically (for packets) or statically (for portions of TDM flows).
It has to be noticed that, advantageously, according to the present invention, failures or down times of the main matrix can be managed in a substantially transparent manner. In fact, as switching is performed by a TDM matrix which is controlled by means of its outputs, and all the incoming traffic is bridged both to the main and to the spare matrixes, managing main matrix failures can be performed in a “hitless” manner, i.e. without loosing any portion of the incoming traffic.
Besides, as already mentioned with reference to
An example of the method for switching both TDM flows and packets according to the present invention will be now described with reference to
As above mentioned, according to the present invention, each input module arranges packets according to a predefined order. In
Each block FSBin1, FSBin2, FSBin3, FSBin4 further comprises a packet overhead field, which in turn comprises the packet overheads arranged according to the same predefined order of packets. Thus, the packet overhead field of the block FSBin1 comprises the overhead OH11 of the packet P11, the overhead OH21 of the packet P21, the overhead OH31 of the packet P31, and the overhead OH41 of the packet P41. Similar considerations apply also to blocks FSBin2, FSBin3 and FSBin4.
Each overhead may for instance comprise packet size, an identifier of the destination matrix output and an identifier of the source matrix input. Thus, the overhead OHyx of a packet Pyx may be expressed as:
OHyx=(Wyx, y, x),
wherein Wyx is the size of the packet Pyx, y is the identifier of the destination matrix output of the packet Pyx and x is the identifier of the source matrix input of the packet Pyx. It has to be noticed that, as the order according to which packets are arranged in a block is predefined, the identifier of the destination matrix output and the identifier of the source matrix input can be omitted. In this case, even if a packet has size equal to 0, its overhead can not be omitted, in order to preserve the predefined order.
As already mentioned, a TDM matrix may be implemented as a memory. When a TDM matrix switches TDM flows, matrix inputs are able to write at predetermined memory addresses, while the matrix outputs are able to read from predetermined memory addresses. Similarly, the TDM matrix TDMM comprised into the switch INS according to the present invention may be implemented as a memory. However, as the switch INS according to the invention is adapted to switch variable size packets, the memory positions wherein packets are stored dynamically change according to packet size.
Under the assumption that each matrix input writes the packets of the respective block one after the other into a respective row of the memory MEM, the column addresses of the packets comprised in the block FSBin1 are:
Similarly, the column addresses of the packets comprised in the block FSBin2 are:
Similar considerations apply to blocks FSBin3 and FSBin4. Thus, each memory row comprises one after the other packets comprised in a block of a respective matrix input, as shown in
As each packet address dynamically varies with the size of all the packets comprised into the block, the present invention provides a dynamic provisioning module DPM. The dynamic provisioning module DPM processes the packet overhead field of each block, in order to generate a dynamic routing table. As already mentioned, for each matrix output, the dynamic routing table comprises the starting address of the packets that the matrix output has to take, and the size of each packet that the matrix output has to take.
For instance, for the first matrix output, the dynamic routing table provides:
For the second matrix output, the dynamic routing table provides:
For the third matrix output, the dynamic routing table provides:
Finally, for the fourth matrix output, the dynamic routing table provides:
The dynamic provisioning module DPM provides the dynamic routing table to the source address generators. The source address generators, according to these information generate the source addresses, i.e. the memory addresses of each word of each packet.
Further, each source address generator is able to determine the starting address of the TDM portions. For instance, for the first row, corresponding to the fist matrix input, the starting address of the TDM portion is given by the following formula:
Similar formulas can be applied for the other rows. Further, as each block has a fixed dimension, the formula (1) also allows the source address generators to determine the dimension of the TDM field TDMF.
Similarly, the source address generators are able, for each matrix output, to determine the starting address of the TDM portions. More particularly, by estimating, for the first matrix output:
the source address generator of the first matrix output estimates the address wherein dynamic switching is replaced by static switching. Similar considerations also apply to the other matrix outputs.
It must be noticed that, for avoiding congestion of the TDM matrix, for each matrix output the following condition must be fulfilled:
wherein x is the matrix input identifier, y is the matrix output identifier, and Cy is the capacity of the matrix output y.
Besides, for avoiding congestion also the following condition must be fulfilled for each matrix input:
wherein Cx is the capacity of the matrix input x.
According to the present invention, congestion management is performed by a suitable congestion management algorithm. The congestion management algorithm determines, for each block, the maximum number of packets that the block may comprise and the maximum size of each packet comprised into the block, in order to assure that the conditions expressed by (3) and (4) are fulfilled.
In a preferred embodiment of the present invention, the congestion management algorithm is implemented on a dedicated device, which is generally termed central scheduler, which is not shown in
According to the present invention, the matrix input simply writes the multicast flow portion TDMm into the memory MEM of the matrix TDMM as described by referring to
Thus, according to the present invention, multicasting is implemented by source address generators and by the matrix outputs, while matrix inputs and the memory are not required to create and store, respectively, a plurality of copies of the TDMm portion. This allows to reduce the processing complexity of multicasting and broadcasting transmissions.
Number | Date | Country | Kind |
---|---|---|---|
05290508.0 | Mar 2005 | EP | regional |