Examples of embodiments of the invention will now be described in greater detail with reference to the accompanying drawings, in which:
Referring to
The IGMP control channel is any connection between two or more network elements capable of carrying IGMP messages. Any Layer 2 or Layer 3 connection can be used for the control channel. Non-limiting examples include an SVC (Switched Virtual Circuit) through an ATM (Asynchronous Transfer Mode) network and an ATM PVC (Permanent Virtual Circuit) manually provisioned on each node over which the channel crosses.
In some embodiments, because the predetermined message is identified as an IGMP message, the message will be directed to an IGMP protocol module at the other network element. In some embodiments, the message will be sent from an IGMP protocol module at the network element on which the connection control module 100 is located. An IGMP protocol module is for implementing the IGMP protocol and comprises software or hardware or combinations thereof. In some embodiments, the IGMP protocol module comprises an IGMP protocol stack.
In some embodiments, the determining module 120 determines that the connectivity of the IGMP control channel has failed or that the channel is DOWN if no reply message responsive to the predetermined message is received. In some embodiments, the determining module 120 will determine that there is connectivity or that the channel is UP, if a reply responsive to the predetermined message is received. In some embodiments, the message generating module 110 will continue to send the predetermined message after the determining module 120 has determined that the connectivity of the IGMP module has failed and the determining module will make a determination that the connectivity is restored or still in a failed state, based on whether or not a responsive reply is received. This last embodiment allows users to monitor a failed control channel and be notified when the control channel is UP again.
In some embodiments, the connection control module 100 further comprises a means for transferring control of the channels controlled by the IGMP control channel to a back-up control-channel if no reply responsive to the predetermined message is received or if the determining module determines that the connectivity of the IGMP control channel has failed.
In some configurations, the message generating module 110 is configured to send the predetermined message periodically. In some of these cases, the determining module 120 determines that the connectivity of the IGMP control channel has failed if no reply message responsive to the predetermined message is received after sending the predetermined message a predetermined number of times. In other cases, the predetermined message is sent in response to an operator request.
Another embodiment of the invention relates to a reply module 200, which will be described with reference to
Referring now to
An exemplary connection control module 400 that both verifies the connectivity of a control channel and transfers control of channels to a new control channel, if necessary, will now be described with reference to
In some embodiments, the connectivity verification module 410 comprises a message generating module for generating a predetermined message to be sent from the network element to another network element over the IGMP control channel and a determining module for determining if a reply message responsive to the predetermined message has been received. These modules are similar in function to the message generating module 110 and the determining module 120 described with reference to
In some embodiments, the connectivity verification module 410 is also configured to send a reply message responsive to a predetermined message from the other network element. This configuration, in some embodiments, includes the reply module 200 described with reference to
In some embodiments of the present invention, the connection control module 400 may receive a predetermined message from another network element. Therefore, in some embodiments, the connectivity verification module 110 is also configured to send a reply responsive to receiving the predetermined message from the other network element.
In some embodiments of the present invention, the connectivity verification module 410 is configured to verify the connection between an IGMP protocol module on the network element and another IGMP protocol module on the other network element. In some embodiments of the present invention, the connectivity verification module 410 is configured to verify the connection between a control card on the network element and a control card on the other network element.
In an exemplary embodiment, the predetermined message comprises an ICMP (Internet Control Management Protocol) ping. In this embodiment, the connectivity is tested between ICMP stacks on the network elements. In most cases, if the connection between the ICMP stacks is intact, so is the connection between the IGMP stacks. A lookup on the network element directs the ICMP ping received over the IGMP control channel to the ICMP stack. The network element 500 depicted in
In some embodiments, the predetermined message is configured as an IGMP message. The predetermined message, in some embodiments, is addressed to an IGMP protocol module on the other network element. Additionally, the predetermined message may be configured to be sent from an IGMP protocol module on the network element.
The embodiments of the modules described herein may be implemented using software, hardware or combinations thereof.
Another embodiment of the present invention is a network element comprising any of the modules described herein.
Referring to
In some embodiments if a reply message responsive to the predetermined message has been received, the method further comprises determining that the IGMP control channel is connected. In some embodiments, if no reply message responsive to the predetermined message is received, the method further comprises determining that connectivity for IGMP control channel has failed.
In some embodiments, the method described with reference to
In some embodiments, the predetermined message is sent periodically. In some cases, control of channels controlled by the IGMP control channel is transferred to another IGMP control channel if no reply message responsive to the predetermine message is received after sending the predetermined messaged a predetermined number of times.
In some embodiments, the method further comprises adding status information to the predetermined message. Non-limiting examples of status information are: load balancing information; congestion control information; synchronization information; sanity checking information; bandwidth information, such as VBW (Virtual Bandwidth) information; information to be used for network analysis; and information to be used for network statistics. Load balancing information can include how much buffer space is available on an interface or a network element. If the amount of buffer space is below a minimum amount, the information may be used to switch part of the load for that network element to another interface or another network element. An example of sanity checking is to include the number of channels being sent in the message from a router network element and the number of channels being received in the reply message from the host network element. If the number being sent is different from the number being received, then a QUERY message can be sent. This reduces the number of times a QUERY message needs to be sent and thus reduces congestion on the control channel.
Referring to
As with the method described with reference to
The methods described herein can be implemented by a computer readable memory having computer readable instruction stored thereon for implementing the method. The computer readable memory may comprise software, hardware or combinations thereof.
What has been described is merely illustrative of the application of the principles of the invention. Other arrangements and methods can be implemented by those skilled in the art without departing from the spirit and scope of the present invention.