Various devices in an H.323 network may exchange information, such as voice or other multimedia information in accordance with the International Telecommunication Union (ITU) Recommendation H.323 entitled “Packet-based Multimedia Communications System” (November, 2000). In general, H.323 is a multimedia conferencing protocol associated with voice, video, and/or data conferencing via a packet switched network, such as an Internet Protocol (IP) network. For example, FIG. 1 is an illustration of a known H.323 network 100. The network 100 includes two administrative domains 110, each including a single border element 140. Within each administrative domain 110, a number of gatekeepers 120 are each associated with a number of endpoints 130.
The endpoints 130 may comprise, for example, telephones, video phones, or Personal Computers (PCs). Each endpoint 130 registers with one of the gatekeepers 120 in its administrative domain 110 to facilitate an exchange of information with other endpoints 130.
The gatekeepers 120 perform admission control, bandwidth management, and address resolution functions within the network 100. In addition, a gatekeeper 120 may allow a call to be placed directly between two endpoints 130 or may instead route the call signaling itself.
The border elements 140 control the gatekeepers 120 within its administrative domain 110, exchange addressing information, and participate in call authorization between administrative domains 110. Note that a border element 140 may be co-located with a gatekeeper 120.
When an endpoint 130 is powered-up, it multicasts a Gatekeeper Discovery (GRQ) message to all of the gatekeepers 120 within its administrative domain 110. Any available gatekeepers 120 respond with a Gatekeeper Confirmation (GCF) message. A gatekeeper 120 that is not available might ignore the GRQ message or respond with a Gatekeeper Reject (GRJ) message (perhaps including a list of alternate gatekeepers 120 that might be able to accept the endpoint 130). If the endpoint 130 receives multiple GCF messages, it simply selects any one of the available gatekeepers 120.
After discovering an available gatekeeper 120, the endpoint 130 transmits a Registration Request (RRQ) message to that gatekeeper 120. Note that instead of transmitting a multicast GRQ message, an endpoint 130 sometimes transmits an RRQ message directly to a particular gatekeeper 120 (e.g., when the endpoint 130 already knows the address of that particular gatekeeper 120).
When a gatekeeper 120 receives an RRQ message, it responds with a Registration Confirm (RCF) message if sufficient resources are available to support that endpoint 130. If sufficient resources are not available, the gatekeeper 120 instead responds with a Registration Reject (RRJ) message.
After being registered, the endpoint 130 requests admission to make or receive a call by transmitting an Admission Request (ARQ) message to its gatekeeper 120. The gatekeeper 120 may then respond with an Admission Confirm (ACF) message if it has enough resources to support the call (e.g., when the gatekeeper 120 would need actually route the call through itself). If the gatekeeper 120 does not have enough resources, it may instead transmit an Admission Reject (ARJ) message to the endpoint 130.
Note that different gatekeepers 120 within an administrative domain 110 may have different registration loads and/or call loads. For example, one gatekeeper 120 might have registered a large number of endpoints 130 while another gatekeeper 120 registered only a few endpoints 130. As a result, the distribution of traffic through the network 110 may not be balanced—and the exchange of information between endpoints 130 may be degraded.
To avoid this situation, it is known that every gatekeeper 120 can store load information associated with every other gatekeeper 120 within the administrative domain 110. Each gatekeeper 120 can then accept or reject RRQ/ARQ messages based on that information. This approach, however, can be impractical when there a large number of gatekeepers 120 within an administrative domain 110 (e.g., because of the amount of information that each gatekeeper 120 must store about the other gatekeepers 120 and/or the amount of traffic that is required between the gatekeepers 120).