Router software upgrade employing redundant processors
First Claim
Patent Images
1. A computer-implemented method for reprogramming an active packet switching router without interfering with packet flow, said method comprising:
- receiving a software upgrade message at a currently active packet switching device (A);
halting receipt of new packets at said packet switching device (A) upon receipt of said software upgrade message;
transferring protocol state information, including routing tables, negotiated state information, authorization status and learned routing state information, from said packet switching device (A) to a currently inactive packet switching device (B);
reprogramming said packet switching device (B);
sending a message requesting activation from said packet switching device (A) to said packet switching device (B);
de-activating said packet switching device (A) and activating said reprogrammed packet switching device (B) to handle packet flow previously handled by said packet switching device (A), including beginning receipt of new packets at said packet switching device (B);
reprogramming said packet switching device (A), including retrieving new packet processing software from a remote location; and
thereafterde-activating said packet switching device (B) and re-activating said packet switching device (A).
0 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods for replacing software controlling active routers while minimizing impact on network operation are provided by virtue of one embodiment of the present invention. The software replacement process takes advantage of packet processor redundancy. An active packet switching device to be reprogrammed is de-activated and a redundant packet switching device takes over. The no longer active packet switching device is reprogrammed before being reactivated.
29 Citations
38 Claims
-
1. A computer-implemented method for reprogramming an active packet switching router without interfering with packet flow, said method comprising:
-
receiving a software upgrade message at a currently active packet switching device (A); halting receipt of new packets at said packet switching device (A) upon receipt of said software upgrade message; transferring protocol state information, including routing tables, negotiated state information, authorization status and learned routing state information, from said packet switching device (A) to a currently inactive packet switching device (B); reprogramming said packet switching device (B); sending a message requesting activation from said packet switching device (A) to said packet switching device (B); de-activating said packet switching device (A) and activating said reprogrammed packet switching device (B) to handle packet flow previously handled by said packet switching device (A), including beginning receipt of new packets at said packet switching device (B); reprogramming said packet switching device (A), including retrieving new packet processing software from a remote location; and
thereafterde-activating said packet switching device (B) and re-activating said packet switching device (A). - View Dependent Claims (2, 3, 4)
-
-
5. A computer-implemented method for reprogramming an active packet switching router without interfering with packet flow, said method comprising:
-
receiving a software upgrade message at a currently active packet switching device (A); halting receipt of new packets at said packet switching device (A) upon receipt of said software upgrade message; transferring protocol state information comprising register values including routing tables, negotiated state information, authorization status and learned routing state information, from said packet switching device (A) to a currently inactive packet switching device (B); sending a message requesting activation from said packet switching device (A) to said packet switching device (B); de-activating said packet switching device (A) and activating said reprogrammed packet switching device (B) to handle packet flow previously handled by said packet switching device (A), including beginning receipt of new packets at said packet switching device (B); reprogramming said packet switching device (A), including retrieving new packet processing software from a remote location; and
thereafterde-activating said packet switching device (B) and re-activating said packet switching device (A). - View Dependent Claims (6, 7)
-
-
8. A computer-readable storage medium encoded with a computer program that reprograms an active packet switching router without interfering with packet flow, said computer program comprising:
-
code that receives a software upgrade message at a currently active packet switching device (A); code that halts receipt of new packets at said packet switching device (A) upon receipt of said software upgrade message; code that transfers protocol state information, including routing tables, negotiated state information, authorization status and learned routing state information, from said packet switching device (A) to a currently inactive packet switching device (B); code that sends a message requesting activation from said packet switching device (A) to said packet switching device (B); code that reprograms said packet switching device (B) before said packet switching device (B) is activated; code that de-activates said packet switching device (A) and activates said packet switching device (B) to handle packet flow previously handled by said packet switching device (A); code that reprograms said packet switching device (A) after de-activation, including code that retrieves new packet processing software from a remote location; and code that de-activates said packet switching device (B) and re-activates said packet switching device (A) after reprogramming. - View Dependent Claims (9, 10, 11)
-
-
12. A computer-readable storage medium encoded with a computer program that reprograms an active packet switching router without interfering with packet flow, said computer program comprising:
-
code that receives a software upgrade message at a currently active packet switching device (A); code that halts receipt of new packets at said packet switching device (A) upon receipt of said software upgrade message; code that transfers protocol state information comprising register values including routing tables, negotiated state information, authorization status and learned routing state information, from said packet switching device (A) to a currently inactive packet switching device (B); code that sends a message requesting activation from said packet switching device (A) to said packet switching device (B); code that de-activates said packet switching device (A) and activates said packet switching device (B) to handle packet flow previously handled by said packet switching device (A); code that reprograms said packet switching device (A) after de-activation, including code that retrieves new packet processing software from a remote location; and code that de-activates said packet switching device (B) and re-activates said packet switching device (A) after reprogramming. - View Dependent Claims (13, 14)
-
-
15. A packet switching system comprising:
-
a currently active packet switching device (A); a packet switching device (B); and a memory system storing; code that receives a software upgrade message at said packet switching device (A); code that halts receipt of new packets at said packet switching device (A) upon receipt of said software upgrade message; code that transfers protocol state information, including routing tables, negotiated state information, authorization status and learned routing state information, from said packet switching device (A) to said packet switching device (B); code that sends a message requesting activation from said packet switching device (A) to said packet switching device (B); code that reprograms said packet switching device (B) before said packet switching device (B) is activated; code that de-activates said packet switching device (A) and activates said packet switching device (B) to handle packet flow previously handled by said packet switching device (A); code that reprograms said packet switching device (A) after de-activation, including code that retrieves new packet processing software from a remote location; and code that de-activates said packet switching device (B) and re-activates said packet switching device (A) after reprogramming. - View Dependent Claims (16, 17, 18)
-
-
19. A packet switching system comprising:
-
a currently active packet switching device (A); a packet switching device (B); and a memory system storing; code that receives a software upgrade message at said packet switching device (A); code that halts receipt of new packets at said packet switching device (A) upon receipt of said software upgrade message; code that transfers protocol state information comprising register values including routing tables, negotiated state information, authorization status and learned routing state information, from said packet switching device (A) to said packet switching device (B); code that sends a message requesting activation from said packet switching device (A) to said packet switching device (B); code that de-activates said packet switching device (A) and activates said packet switching device (B) to handle packet flow previously handled by said packet switching device (A); code that reprograms said packet switching device (A) after de-activation, including code that retrieves new packet processing software from a remote location; and code that de-activates said packet switching device (B) and re-activates said packet switching device (A) after reprogramming. - View Dependent Claims (20, 21)
-
-
22. A packet switching system comprising:
-
a currently active packet switching device (A); a currently inactive packet switching device (B); and a memory system storing; code that receives a failover message at said currently active packet switching device (A); code that then transfers protocol state information, including routing tables, negotiated state information, authorization status and learned routing state information, from said packet switching device (A) to said packet switching device (B); code that reprograms said packet switching device (B) before said packet switching device (B) is activated; code that de-activates said packet switching device (A), including code that sends a message requesting activation from said packet switching device (A) to said packet switching device (B) and code that halts receipt of new packets at said packet switching device (A) upon receipt of said failover message, and that activates said packet switching device (B), including code that begins receipt of new packets at said packet switching device (B); code that reprograms said packet switching device (A) after said packet switching device (A) is de-activated, including code that retrieves new packet processing software from a remote location; and code that reprograms said packet switching device (B) before said packet switching device (B) is activated. - View Dependent Claims (23, 24, 25)
-
-
26. A packet switching system comprising:
-
a currently active packet switching device (A); a packet switching device (B); and a memory system storing; code that receives a software upgrade message at said packet switching device (A); code that halts receipt of new packets at said packet switching device (A) upon receipt of said software upgrade message; code that transfers protocol state information comprising register values including routing tables, negotiated state information, authorization status and learned routing state information, from said packet switching device (A) to said packet switching device (B); code that sends a message requesting activation from said packet switching device (A) to said packet switching device (B); code that de-activates said packet switching device (A) and activates said packet switching device (B) to handle packet flow previously handled by said packet switching device (A); code that reprograms said packet switching device (A) after de-activation, including code that retrieves new packet processing software from a remote location; code that de-activates said packet switching device (B) and re-activates said packet switching device (A) after reprogramming; and code that reprograms said packet switching device (B) before said packet switching device (B) is activated. - View Dependent Claims (27, 28)
-
-
29. A packet switching router having a packet switching devices, said router comprising:
-
means for receiving a failover message at a currently active packet switching device (A); means for then transferring protocol state information, including routing tables, negotiated state information, authorization status and learned routing state information, from said packet switching device (A) to a currently inactive packet switching device (B); means for sending a message requesting activation from said packet switching device (A) to said packet switching device (B); means for halting receipt of new packets at said packet switching device (A) upon receipt of said failover message; means for de-activating said packet switching device (A) and activating said packet switching device (B), including beginning receipt of new packets at said packet switching device (B); and means for reprogramming said packet switching device (A) after de-activating said packet switching device (A), including retrieving new packet processing software from a remote location. - View Dependent Claims (30, 31, 32, 33)
-
-
34. A packet switching router with a plurality of packet switching devices, said router comprising:
-
means for receiving a software upgrade message at a currently active packet switching device (A); means for halting receipt of new packets at said packet switching device (A) upon receipt of said software upgrade message; means for transferring protocol state information, including routing tables, negotiated state information, authorization status and learned routing state information, from said packet switching device (A) to a currently inactive packet switching device (B); means for sending a message requesting activation from said packet switching device (A) to said packet switching device (B); means for de-activating said packet switching device (A) and activating said packet switching device (B) to handle packet flow previously handled by said packet switching device (A), including beginning receipt of new packets at said packet switching device (B); means for thereafter reprogramming said packet switching device (A), including retrieving new packet processing software from a remote location; and means for thereafter de-activating said packet switching device (B) and re-activating said packet switching device (A). - View Dependent Claims (35, 36, 37, 38)
-
Specification