This invention relates to protocol processing in a network element. In particular, this invention relates to the protocol processing in a network element, called media gateway (MGW), which transfers communication channels among different types of communication networks.
It is convenient to divide the tasks of a communication network into several parts. Certain rules must be followed to achieve those tasks. A format and a set of rules are called a protocol. There exist several different protocols in communication networks. Correspondingly, the tasks of a network element are divided into several parts.
The Transport layer provides communication between a pair of application programs, the one in a local network element and the other in a remote network element. Such communication is often called end-to-end. Transport protocol software may provide reliable transport, ensuring that data arrives without errors and in sequence. The transport protocol software divides the data stream being transmitted into packets and passes each packet along with a destination address to the IP network layer. The most common transport protocols are UDP (User Datagram Protocol) and TCP (Transmission Control Protocol).
The IP network layer handles communication from one network element to another element. It accepts a request to send a packet from the Transport layer with an indentification of the network element to which the packet should be sent. The IP network layer encapsulates the packet in an IP datagram, decides where the datagram should be sent and passes the datagram to the appropriate network interface for transmission. The IP network layer also handles incoming datagrams, checking their validity and deciding whether the datagram should be processed locally or forwarded to another network element. The protocol used in this layer is IP (Internet Protocol).
The network interface layer comprises interface software which handles accepting IP datagrams and transmitting them over a specific network. A communication network uses network specific frames to carry IP datagrams, so the network interface layer handles the packing and depacking of IP datagrams into and out from network frames.
The gateway also contain several DSP's (digital signal processors) (25) which convert the IP traffic format to a traffic format used in a TDM network, such as PCM (Pulse Code Modulation) and vice versa. A DSP is a modified fast real-time processor for a specific signaling processing purpose.
Normally the IP stack (24) handles the task of the Network Interface layer, IP network layer and Transport layer. Because a gateway usually contains only one CPU and channels from several DSP's load it, the CPU forms a capacity bottleneck. The intention of the invention is to alleviate this drawback. This is achieved in a way described in the claims.
The idea of the invention is to divide an IP protocol stack between a CPU and several DSP's in a network element. Because the CPU contains a MAC-interface for an Internet interface and it routes IP traffic to the right DSP, a certain part of the IP protocol stack must be handled in the CPU. The rest of the IP protocol is handled by each DSP. In this way, it is possible to share the processing of the IP stack among several processors.
In the following the invention is described in more detail by means of
The division of the IP stack makes it possible to avoid the situation where the CPU is a capacity bottleneck. It may, for example, be that the CPU handles the maximum number of channels while only one third of the channel capacity is in use in the DSP's, thus causing a capacity bottleneck. An easy way to solve this problem is to increase the number of CPU's or decrease the number of DSP's, but both these would end in a non-optimal solution.
Because the CPU has an MAC-interface for the physical Internet interface (23), IP protocols used in hardware (Refer to the Network Interface layer in
Normally, it is the IP protocol in the CPU that routes the incoming IP traffic from the Internet to the right destination through the right DSP, but in the inventive arrangement there must be another solution because DSP's contain the IP protocol. In the invention each DSP preferably has its own identification code inside the IP address field of the IP datagram. In other words, each DSP forms a subnetwork, which has its own network address.
Other solutions for addressing the traffic to the right DSP are to use UDP (User Datagram Protocol) or TCP port numbers. However, the use of these choices strongly depends on the size of the TDM networks behind the DSP's. An UDP or TCP port number usually identifies a protocol port (a destination point) for a specific application, such as FTP or SMTP. If the UDP or TCP port number are used for routing traffic in a gateway, the CPU may have only one IP address (This can be a desired feature.), which is the same for all DSP's. The separation of the transport channels is based on the UDP/TCP port numbers.
It is also possible to use the separation of real-time or non-real-time traffic for routing. See
It is also possible to use the RTP (Real-time Transport Protocol) for the routing in the CPU. The RTP protocol contains a payload type field, which can be a criterion for routing traffic to the right DSP handling a certain type of traffic.
To sum up, the routing operation in a CPU can be handled using an IP-address, the TOSS field in an IP datagram, the TCP port number in the TCP protocol, the UDP port number in the UDP protocol or the payload type field in the RTP protocol. In every case, there exists a routing table in the CPU.
Correspondingly the out coming traffic from the TDM networks are assembled in the stacks B for forming IP datagrams, for sending to the Internet through the CPU. The CPU does not have to check IP addresses before sending them to the Internet.
If the user data streams consist of UDP traffic, the CPU handles interface protocols and the DSP's handle the rest of the protocols in the Transport layer and IP network layer. If the user data streams consist of TCP traffic the operations of the whole IP stack may have to be performed in the CPU. The reason for this is that the processing of the TCP protocol requires much memory and DSP's are usually memory restricted. But if enough memory exits in the DSP's, there are no obstacles to use the inventive sharing of IP stack among many processors.
An IP stack can be divided into two parts in many ways. One way was described above. Another way is that IP interface protocols and an IP protocol form together the stack in a CPU, and a protocol in the Transport layer and maybe some application protocols form the stack in a DSP. Anyway, when dividing the processing of the whole IP stack among several processors, cooperation must be taken into account, which is not always easy to achieve. It may be confusing when the operations of a part of the IP stack are performed in one processor and the other part in another processor.
The invention offers an arrangement to avoid the situation where a capacity bottleneck is going to develop in a CPU. The capacity of DSP's can be used more optimally than present solutions. The invention can be implemented in many ways, in the scope of the inventive idea.
Number | Date | Country | Kind |
---|---|---|---|
20002025 | Sep 2000 | FI | national |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/FI01/00710 | 8/13/2001 | WO | 00 | 8/19/2003 |
Publishing Document | Publishing Date | Country | Kind |
---|---|---|---|
WO02/23862 | 3/21/2002 | WO | A |
Number | Name | Date | Kind |
---|---|---|---|
5852724 | Glenn, II et al. | Dec 1998 | A |
5943481 | Wakeland | Aug 1999 | A |
6006264 | Colby et al. | Dec 1999 | A |
6011803 | Bicknell et al. | Jan 2000 | A |
6128298 | Wootton et al. | Oct 2000 | A |
6683885 | Sugai et al. | Jan 2004 | B1 |
20010037406 | Philbrick et al. | Nov 2001 | A1 |
20030200341 | Lynch et al. | Oct 2003 | A1 |
20040117509 | Craft et al. | Jun 2004 | A1 |
20040202184 | Yazaki et al. | Oct 2004 | A1 |
20060029038 | Jungck | Feb 2006 | A1 |
Number | Date | Country |
---|---|---|
0 942 554 | Sep 1999 | EP |
1 009 133 | Jun 2000 | EP |
1 059 790 | Dec 2000 | EP |
WO 9922353 | May 1999 | WO |
WO 0027164 | May 2000 | WO |
Number | Date | Country | |
---|---|---|---|
20040028033 A1 | Feb 2004 | US |