Patent ID: 7355965

Claim:
A ring relay for use in a bidirectional network ring for a bidirectional network ring that is manipulated to provide a virtual break in order to operate within a network requiring a tree topology, the bidirectional network ring carrying data packets; the ring relay comprising the following attributes: having a first ring port in data communication with a first incoming link and a first outgoing link and a second ring port in data communication with a second incoming link and a second outgoing link connected to the bidirectional network ring; operating to pass HELLO messages received on the first incoming link to the second outgoing link and to pass HELLO messages received on the second incoming link to the first outgoing link; and after detecting an OPER DOWN failure on the second incoming link, reacting to the detection of the OPER DOWN failure on the second incoming link by: imposing a break on the second incoming link so that user data packets are blocked from passing into the ring relay but the imposed break does not block any incoming HELLO messages; imposing a break on the second outgoing link so that user data packets are blocked from leaving the ring relay on that link; sending a type of HELLO message and a control signal out the second outgoing link such that an adjacent node receives a HELLO message to provide assurance that the second outgoing link from that ring relay is operating and to convey to a node other than the ring relay that the ring relay is imposing a bidirectional break so that the virtual break should be removed; detecting the cessation of the OPER DOWN failure on the second incoming link then resuming operating to pass HELLO messages received on the first incoming link to the second outgoing link; and delaying the removal of the imposed break for user data packets on the second outgoing link and on the second incoming link for a time period sufficient to allow the bidirectional network ring to impose a virtual break at a node other than the ring relay.