Stateful failover of service managers
First Claim
Patent Images
1. A fault tolerant method of providing a network service, comprising:
- receiving a packet corresponding to a flow from a forwarding agent at a primary service manager;
determining at the primary service manager instructions for handling packets corresponding to the flow;
sending the instructions to the forwarding agent;
storing the instructions for handling packets corresponding to the flow at the primary service manager;
sending a replication packet to a backup service manager, the replication packet including the instructions for handling packets corresponding to the flow; and
deleting the instructions for handling packets corresponding to the flow from the primary service manager upon the expiration of a primary service manager instruction maintenance time interval.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and method are disclosed for providing a fault tolerant network service. A packet is received that corresponds to a flow from a forwarding agent at a primary service manager and instructions are determined at the primary service manager for handling packets corresponding to the flow. The instructions are sent to the forwarding agent and the instructions are stored at the primary service manager. A replication packet is sent to a backup service manager. The replication packet includes the instructions for handling packets corresponding to the flow.
107 Citations
22 Claims
-
1. A fault tolerant method of providing a network service, comprising:
-
receiving a packet corresponding to a flow from a forwarding agent at a primary service manager;
determining at the primary service manager instructions for handling packets corresponding to the flow;
sending the instructions to the forwarding agent;
storing the instructions for handling packets corresponding to the flow at the primary service manager;
sending a replication packet to a backup service manager, the replication packet including the instructions for handling packets corresponding to the flow; and
deleting the instructions for handling packets corresponding to the flow from the primary service manager upon the expiration of a primary service manager instruction maintenance time interval. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
setting a primary service manager expiration time for the instructions for handling packets corresponding to the flow to expire on the primary service manager, the primary service manager expiration time being a primary service manager instruction deletion time interval after the time that the instructions for handling packets corresponding to the flow were stored on the primary service manager; and
setting a backup service manager expiration time for the instructions for handling packets corresponding to the flow to expire on the backup service manager, the backup service manager expiration time being a backup service manager instruction deletion time interval after the time that the instructions for handling packets corresponding to the flow were stored on the backup service manager.
-
-
6. A fault tolerant method of providing a network service as recited in claim 5 further including:
-
receiving a subsequent packet corresponding to the flow from the forwarding agent;
resetting the primary service manager instruction expiration time to the primary service manager instruction deletion time interval after the time that the subsequent packet was received; and
sending a second replication packet to the backup service manager.
-
-
7. A fault tolerant method of providing a network service as recited in claim 6 further including receiving the second replication packet at the backup service manager and resetting the backup service manager instruction expiration time to the backup service manager instruction deletion time interval after the time that the second replication packet was received.
-
8. A fault tolerant method of providing a network service as recited in claim 1 including:
-
determining at the backup service manager that the primary service manager has failed;
receiving at the backup service manager a subsequent packet from the forwarding agent corresponding to the flow;
matching the subsequent packet to the instructions stored on the backup service manager for handling packets corresponding to the flow; and
sending the instructions stored on the backup service manager for handling packets corresponding to the flow to the forwarding agent.
-
-
9. A fault tolerant method of providing a network service as recited in claim 8 further including resetting a backup service manager instruction expiration time to a backup service manager instruction deletion time interval after the time that the subsequent packet was received.
-
10. A fault tolerant method of providing a network service as recited in claim 8 further including sending canceling instructions from the backup service manager to the forwarding agent upon determining that the primary service manager has failed, the canceling instructions causing instructions from the primary service manager that are stored on the forwarding agent to expire.
-
11. A primary service manager for providing a network service in a fault tolerant manner, comprising:
-
a processor configured to determine instructions for handling packets corresponding to a flow;
a forwarding agent interface configured to send the instructions for handling packets to a forwarding agent;
a memory configured to store the instructions for handling packets corresponding to the flow; and
a backup service manager interface configured to send a replication packet to a backup service manager wherein the replication packet includes instructions for handling packets corresponding to the flow, and wherein the primary service manager is further configured to delete the instructions for handling packets corresponding to the flow upon the expiration of a primary service manager instruction maintenance time interval.
-
-
12. A backup service manager for providing a network service in a fault tolerant manner, comprising:
-
a primary service manager interface configured to receive the instructions for handling packets corresponding to a flow; and
a memory configured to store the instructions for handling packets corresponding to the flow, wherein the primary service manager is further configured to delete the instructions for handling packets corresponding to the flow upon the expiration of a primary service manager instruction maintenance time interval.
-
-
13. A fault tolerant distributed system for providing a network service including:
-
a forwarding agent configured to send a packet corresponding to a flow to a primary service manager;
a primary service manager configured to determine instructions for handling packets corresponding to the flow, to send the instructions for handling packets to the forwarding agent, to store the instructions for handling packets corresponding to the flow and to send a replication packet to a backup service manager, the replication packet including the instructions for handling packets corresponding to the flow; and
a backup service manager configured to receive the instructions for handling packets corresponding to the flow and to store the instructions for handling packets corresponding to the flow, wherein the primary service manager is further configured to delete the instructions for handling packets corresponding to the flow upon the expiration of a primary service manager instruction maintenance time interval. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21)
the primary service manager is further configured to set a primary service manager expiration time for the instructions for handling packets corresponding to the flow to expire on the primary service manager, the primary service manager expiration time being a primary service manager instruction deletion time interval after the time that the instructions for handling packets corresponding to the flow were stored on the primary service manager; and
the backup service manager is further configured to set a backup service manager expiration time for the instructions for handling packets corresponding to the flow to expire on the backup service manager, the backup service manager expiration time being a backup service manager instruction deletion time interval after the time that the instructions for handling packets corresponding to the flow were stored on the backup service manager.
-
-
17. A fault tolerant distributed system as recited in claim 16 wherein the primary service manager is further configured to receive a subsequent packet corresponding to the flow from the forwarding agent, reset the primary service manager instruction expiration time to the primary service manager instruction deletion time interval after the time that the subsequent packet was received and send a second replication packet to the backup service manager.
-
18. A fault tolerant distributed system as recited in claim 17 wherein the backup service manager is further configured to receive the second replication packet and reset the backup service manager instruction expiration time to the backup service manager instruction deletion time interval after the time that the second replication packet was received.
-
19. A fault tolerant distributed system as recited in claim 13 wherein the backup service manager is further configured to determine that the primary service manager has failed, to receive a subsequent packet from the forwarding agent corresponding to the flow, to match the subsequent packet to the instructions stored on the backup service manager for handling packets corresponding to the flow;
- and to send the instructions stored on the backup service manager for handling packets corresponding to the flow to the forwarding agent.
-
20. A fault tolerant distributed system as recited in claim 19 wherein the backup service manager is further configured upon determining that the primary service manager has failed to send instructions to the forwarding agent that cause instructions from the primary service manager that are stored on the forwarding agent to expire.
-
21. A fault tolerant distributed system as recited in claim 19 wherein the backup service manager is further configured to reset the backup service manager instruction expiration time to a backup service manager instruction deletion time interval after the time that the subsequent packet was received.
-
22. A computer program product for providing a network service in a fault tolerant manner embodied in a computer readable medium comprising computer instructions for:
-
receiving a packet corresponding to a flow from a forwarding agent at a primary service manager;
determining at the primary service manager instructions for handling packets corresponding to the flow;
sending the instructions to the forwarding agent;
storing the instructions for handling packets corresponding to the flow at the primary service manager; and
sending a replication packet to a backup service manager, the replication packet including the instructions for handling packets corresponding to the flow, wherein the primary service manager is further configured to delete the instructions for handling packets corresponding to the flow upon the expiration of a primary service manager instruction maintenance time interval.
-
Specification