This invention relates to the field of telecommunications and, more specifically, to a method and system for determining media gateway loading.
In traditional telephony, when party A wants to speak with party B, party A dials party B's phone number. After the phone number is dialed, various telephone switches activate to establish a dedicated circuit between party A and party B. Party A and party B are then able to converse with each other. Until one party ends the conversation by hanging up the phone, the established circuit between the parties persists and the parties have exclusive use of that circuit. This process is known as circuit switching and, while providing a reliable method for communications, can be expensive because circuit switched telephony requires extensive switching facilities, and every connection requires a dedicated circuit for the duration of the conversation.
Different systems have been designed to move telephony away from traditional circuit switched networks. For example, one such system is voice over IP (VOIP). VOIP is a packet switched method of providing voice telephone calls. In a typical VOIP system, the conversations of party A and party B are digitized and divided into any number of data packets. Each packet is given a unique identifier and a destination address. These packets then travel through a data network, such as the Internet, to their destination, where the packets are reassembled. Then, the digitized voice is converted back to analog voice. The analog voice can then be routed through a circuit switched data network for final delivery of the call to the recipient.
To provide interoperability between circuit switched networks and packet switched networks, a gateway can be used. The gateway can include media gateways, which terminate media streams, such as analog voice streams, packetize the data, and deliver the packets of data to a data network, such as the Internet. Media gateways work under the control of media gateway controllers. One task of the media gateway controller is to properly load balance the media gateways. That is, the media gateway controller distributes calls amongst the various media gateways to ensure efficient use of resources. In prior art systems, each media gateway controller is associated with one or more media gateways in a one-to-many relationship. In this arrangement, the media gateway controller is able to assign calls in a balanced manner to one or more media gateways, since the media gateway controller has knowledge of the traffic allocated to each of the associated media gateways.
However, if multiple media gateway controllers assign calls to multiple media gateways; that is, if there is a many-to-many relationship between media gateway controllers and media gateways, a single media gateway controller does not have knowledge of all traffic assigned to a media gateway and, therefore, is unable to properly load balance incoming calls. What is needed is a method and system for determining media gateway loading.
In one embodiment of the present invention, a method for load balancing call traffic in a telecommunication gateway is disclosed. The communication gateway comprises a plurality of media gateway controllers and a plurality of media gateways. The media gateway controllers and the media gateways are coupled in a many-to-many relationship. In a first step of the method, a status request for a load level is sent from one of the plurality of media gateway controllers to each of the plurality of media gateways controlled by the one of the plurality of media gateway controllers. Next, a reply containing a load level is received from each of the plurality of media gateways. Then, a proper media gateway from the plurality of media gateways to route a call is determined based on the load level.
In another embodiment of the present invention, a telecommunications gateway is disclosed. The telecommunication gateway comprises a plurality of media gateway controllers and a plurality of media gateways coupled to the media gateway controllers in a many-to-many relationship. In the embodiment, each of the plurality of media gateways are configured to send a load level reply to each a requesting media gateway controller.
The present invention will hereinafter be described in conjunction with the following drawing figures, wherein like numerals denote like elements, and:
The following detailed description is merely exemplary in nature and is not intended to limit the invention or the application and uses of the invention. Furthermore, there is no intention to be bound by any expressed or implied theory presented in the preceding technical, background, brief summary or the following detailed description.
First communication network 104 and second communication network 106 can be one of many types of communication networks including, but not limited to, cellular networks, computer data networks, plain-old-telephone (POTS) networks and the like. First communication network 104 and second communication network 106 can be incompatible networks or compatible networks. For example, first communication network 104 can be a network supporting voice over IP (VOIP) and second communication network 106 can be a circuit switched network.
Gateway 102 provides an entrance to and exit from a communication networks such as first communication network 104 and second communication network 106. In one embodiment, gateway 102 can connect incompatible networks. In this embodiment, the gateway 102 performs any needed code and protocol conversions to support incompatible networks. For example, gateway 102 can connect a public switched telephone network with a voice over IP network, a push-to-talk network, a data network and the like.
While gateway 102 is illustrated as a single device located at a single location, gateway 102 can be a physically decomposed gateway having its various components spread throughout a network. In one embodiment, gateway 102 can be part of the integrated enhanced network (iDEN).
In one embodiment, gateway 102 includes a signaling gateway module 108 and a data media gateway module 110. Signaling gateway module 108 includes one or more media gateway controllers 202 (
The data media gateway module 110 comprises one or more media gateways 204 (
As seen in
As seen in
To solve this problem, in one embodiment of the present invention, each media gateway controller 202 can send a query to each media gateway 204 under its control, the query requesting the loading status of the media gateway 204. A method for determining the loading of media gateway 204 is illustrated in conjunction with
In one embodiment of the present invention, the media gateway control (MEGACO) protocol is used. The MEGACO protocol is a low level protocol used in gateways. The MEGACO protocol does not include a command that can be used by the media gateway controller 202 to request loading status. Instead, media gateways 204 can request a back off in loading from each of the media gateway controllers 202. This places the loading algorithm responsibility on the media gateway 204. Because of the many-to-many relationship between the media gateway controller 202 and media gateway 204, the media gateway 204 has the difficult task of trying to determine how much each media gateway controller 202 needs to back off loading. Thus, current implementation of the MEGACO protocol does not allow for an efficient way to control loading of the media gateways 204. As a solution, in one embodiment of the present invention, the MEGACO protocol can be extended to allow for the media gateway 204 to respond to a request from the media gateway controller 202 with loading information.
As an example,
After receiving a request for loading information, in step 304, the media gateway 204 responds with loading information. In the embodiment where the MEGACO protocol is used, and as illustrated in
Next, in step 306, steps 302 and 304 are repeated for each of the media gateways 204 controlled by the media gateway controller 202.
In step 308, the media gateway controller 202 receives call data requiring the assignment of a call to one of the media gateways 204. In step 310, the media gateway controller 202 executes an optimization algorithm that uses the loading information from each media gateway 204 and assigns the call to the proper media gateway 204. Such optimizing algorithms are well known in the art. In step 312, the call is routed to the media gateway 204 determined in step 308.
While at least one example embodiment has been presented in the foregoing detailed description, it should be appreciated that a vast number of variations exist. It should also be appreciated that the example embodiment or embodiments described herein are not intended to limit the scope, applicability, or configuration of the invention in any way. Rather, the foregoing detailed description will provide those skilled in the art with a convenient road map for implementing the described embodiment or embodiments. It should be understood that various changes can be made in the function and arrangement of elements without departing from the scope of the invention as set forth in the appended claims and the legal equivalents thereof.