Use of unique XID range among multiple control processors
First Claim
1. A method of failing over from a first processor to a second processor, each processor including a transaction identifier (“
- XID”
) in requests issued by the processor, comprising;
(a) upon the occurrence of a fault associated with the first processor, the second processor determining whether the first processor has issued a request that has not yet completed;
(b) the second processor reissuing any such request that has not yet completed using a XID that is different than the XID that was used by the first processor;
(c) the second processor receiving a response to an issued request; and
(d) the second processor determining whether the response contains the XID pertaining to the first processor or the second processor.
7 Assignments
0 Petitions
Accused Products
Abstract
A “high availability” system comprises multiple switches under the control of multiple control processors (“CPs”). One of the CPs is “active,” while the other CP is in a “standby” mode. Upon detection of a failure of the active CP, fail-over occurs to the standby CP. The standby CP re-issues all messages that the previously active CP had issued and which had not yet completed when the fail-over occurred. The newly active CP uses a different range of transaction identifiers (“XIDs”) than its predecessor CP. By using a different range of XID values, the newly active CP determines whether an incoming response message is responsive to a message that originated from the previously active CP or the newly activated CP. The currently active CP ignores all response messages that do not have an XID in its range, thereby ensuring proper and reliable messaging.
-
Citations
34 Claims
-
1. A method of failing over from a first processor to a second processor, each processor including a transaction identifier (“
- XID”
) in requests issued by the processor, comprising;(a) upon the occurrence of a fault associated with the first processor, the second processor determining whether the first processor has issued a request that has not yet completed; (b) the second processor reissuing any such request that has not yet completed using a XID that is different than the XID that was used by the first processor; (c) the second processor receiving a response to an issued request; and (d) the second processor determining whether the response contains the XID pertaining to the first processor or the second processor. - View Dependent Claims (2, 3, 4, 5)
- XID”
-
6. A system, comprising:
-
a plurality of electronic devices; and a pair of control processors coupled to each other and to the electronic devices; wherein one control processor is in an active mode (“
active control processor”
) and the other control processor is in a standby mode (“
standby control processor”
); andupon a fault occurring in the active control processor, the standby control processor determines whether the active control processor issued a request that has not yet completed, reissues any such request that has not yet completed, said reissued requests including a transaction identifier (“
XID”
) that is different than the XID used by the active control processor, said standby control processor also receives a response to an issued request and determines whether said response contains an XID pertaining to the active control processor or the standby control processor. - View Dependent Claims (7, 8, 9, 10, 11)
-
-
12. A standby control processor adapted to communicate with an active control processor and other electronic devices, said standby and active control processors capable of issuing requests containing a transaction identifier (“
- XID”
), comprising;a CPU; memory coupled to said CPU; and firmware stored in said memory and executed by said CPU, said firmware permitting said standby control processor to; determine when a fault associated with the active control processor has occurred; determine whether the active control processor issued a request that has not yet completed; reissue any such request that has not yet completed using an XID that is different than the XID used by the active control processor; receive a response to an issued request; and determine whether said response contains an XID pertaining to the active control processor or to the standby control processor. - View Dependent Claims (13, 14, 15, 16)
- XID”
-
17. A computer readable storage medium for storing an executable set of software instructions that are executable by a CPU, said software instructions being operable to provide fail-over functionality from an active processor to a standby processor, said software instructions comprising:
-
a means for detecting a fault associated with the active processor; a means for determining whether the active processor has issued a request that has not yet completed; a means for reissuing any such request that has not yet completed using a XID that is different than the XID that was used by the active processor; a means for receiving a response to an issued request; and a means for determining whether the response contains the XID pertaining to the first processor or the second processor. - View Dependent Claims (18, 19, 20, 21)
-
-
22. A method of failing over from a first processor to a second processor, each processor including a transaction identifier (“
- XID”
) in requests issued by the processor, comprising;(a) the second processor receiving a response to an issued request; (b) the second processor determining whether the response contains the XID pertaining to the first processor or the second processor; and (c) the second processor reissuing any issued request that has not yet completed using a XID that is different than the XID that was used by the first processor. - View Dependent Claims (23, 24, 25, 26)
- XID”
-
27. A system, comprising:
-
a plurality of electronic devices; and a pair of control processors coupled to each other and to the electronic devices; wherein one control processor is in an active mode (“
active control processor”
) and the other control processor is in a standby mode (“
standby control processor”
), both control processors including transaction identifiers (“
XIDs”
) in requests they issue and the XIDs used by the active control processor being different than the XIDs used by the standby processor; andwherein upon fail-over to said standby control processor, said standby control processor receives a response to an issued request and determines whether said response contains an XID pertaining to the active control processor or the standby control processor and wherein said standby control processor reissues any requests from said active control processor that have not completed using a different XID than the XID used by the active control processor. - View Dependent Claims (28, 29, 30)
-
-
31. A method of transitioning a control processor from a first state to a second state, the control processor including a transaction identifier (“
- XID”
) in requests issued by the processor, the XIDs differing from the first state to the second state, comprising;(a) receiving a response to an issued request; (b) determining whether the response contains an XID pertaining to the first state or the second state; (c) reissuing any issued request that has not yet completed using an XID that is different than the XID used in the first state. - View Dependent Claims (32, 33, 34)
- XID”
Specification