Approach for managing state information by a group of servers that services a group of clients
First Claim
1. A method for managing state information by a first group of data processing servers that services a second group of clients, comprising:
- electronically causing one server of the first group of data processing servers to be designated as a primary server that generates the state information to be used by both the first group of data processing servers and the second group of clients;
wherein the state information supports communication between clients in the second group of clients according to a network security protocol;
electronically causing the remaining servers of the first group of data processing servers to be designated as secondary servers that receive the state information from the primary server and provide the state information to clients, wherein the secondary servers do not generate the state information; and
in response to detecting that the primary server cannot communicate with at least one secondary server, electronically causing one of the secondary servers to be designated as the primary server that generates additional state information to be used by both the first group of data processing servers and the second group of clients;
wherein the method is performed by one or more computing devices.
1 Assignment
0 Petitions
Accused Products
Abstract
An approach for managing state information by a group of servers that services a group of clients is disclosed. One server is designated as the primary server and is responsible for generating state information to be used by both the servers and the clients. The remaining servers are designated as secondary servers that help to manage the group, but which do not generate the state information. When the primary server fails or is not available due to a network partition event, one of the secondary servers changes role to become the primary server. With a network partition event, each partition can have a primary server, and when the network partition heals, one of the primary servers changes role back to being a secondary server. As a result, the group of servers maintains a consistent set of state information without being vulnerable to the single failure of a server.
-
Citations
36 Claims
-
1. A method for managing state information by a first group of data processing servers that services a second group of clients, comprising:
-
electronically causing one server of the first group of data processing servers to be designated as a primary server that generates the state information to be used by both the first group of data processing servers and the second group of clients; wherein the state information supports communication between clients in the second group of clients according to a network security protocol; electronically causing the remaining servers of the first group of data processing servers to be designated as secondary servers that receive the state information from the primary server and provide the state information to clients, wherein the secondary servers do not generate the state information; and in response to detecting that the primary server cannot communicate with at least one secondary server, electronically causing one of the secondary servers to be designated as the primary server that generates additional state information to be used by both the first group of data processing servers and the second group of clients; wherein the method is performed by one or more computing devices. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method for managing state information to be used by a first group of data processing servers and a second group of clients, comprising:
-
electronically receiving the state information from a first server at a second server, wherein; the first server is included in the first group of data processing servers and is responsible for generating the state information; the second server is included in the first group of data processing servers and is responsible for providing the state information to clients in the second group of clients, but is not responsible for generating the state information; the state information is to be used by both the first group of data processing servers and the second group of clients; wherein the state information supports communication between clients in the second group of clients according to a network security protocol; the second server electronically detecting that the first server is not able to communicate with the second server; in response to said detecting, the second server determining that the second server should be responsible for generating the state information in place of the first server; and the second server generating the state information; wherein the method is performed by one or more computing devices. - View Dependent Claims (10, 11, 12)
-
-
13. An apparatus for managing state information by a first group of data processing servers that services a second group of clients, comprising:
-
one or more processors; means, coupled to the one or more processors, for electronically causing one server of the first group of data processing servers to be designated as a primary server that generates the state information to be used by both the first group of data processing servers and the second group of clients; wherein the state information supports communication between clients in the second group of clients according to a network security protocol; means for electronically causing the remaining servers of the first group of data processing servers to be designated as secondary servers that receive the state information from the primary server and provide the state information to clients, wherein the secondary servers do not generate the state information; and means for in response to detecting that the primary server cannot communicate with at least one secondary server, electronically causing one of the secondary servers to be designated as the primary server that generates additional state information to be used by both the first group of data processing servers and the second group of clients. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20)
-
-
21. An apparatus for managing state information to be used by a first group of data processing servers and a second group of clients, comprising:
-
means for electronically receiving the state information from a first server at a second server, wherein; the first server is included in the first group of data processing servers and is responsible for generating the state information; the second server is included in the first group of data processing servers and is responsible for providing the state information to clients in the second group of clients, but is not responsible for generating the state information; the state information is to be used by both the first group of data processing servers and the second group of clients; wherein the state information supports communication between clients in the second group of clients according to a network security protocol; means for the second server electronically detecting that the first server is not able to communicate with the second server; in response to said detecting, means for the second server determining that the second server should be responsible for generating the state information in place of the first server; and means for the second server generating the state information. - View Dependent Claims (22, 23, 24)
-
-
25. An apparatus for managing state information by a first group of data processing servers that services a second group of clients, comprising:
-
a network interface that is coupled to a data network for receiving one or more packet flows therefrom; a processor; one or more stored sequences of instructions which, when executed by the processor, cause the processor to perform the steps of; electronically causing one server of the first group of data processing servers to be designated as a primary server that generates the state information to be used by both the first group of data processing servers and the second group of clients; wherein the state information supports communication between clients in the second group of clients according to a network security protocol; electronically causing the remaining servers of the first group of data processing servers to be designated as secondary servers that receive the state information from the primary server and provide the state information to clients, wherein the secondary servers do not generate the state information; and in response to detecting that the primary server cannot communicate with at least one secondary server, electronically causing one of the secondary servers to be designated as the primary server that generates additional state information to be used by both the first group of data processing servers and the second group of clients. - View Dependent Claims (26, 27, 28, 29, 30, 31, 32)
-
-
33. An apparatus for managing state information to be used by a first group of data processing servers and a second group of clients, comprising:
-
a network interface that is coupled to a data network for receiving one or more packet flows therefrom; a processor; one or more stored sequences of instructions which, when executed by the processor, cause the processor to perform the steps of; electronically receiving the state information from a first server at a second server, wherein; the first server is included in the first group of data processing servers and is responsible for generating the state information; the second server is included in the first group of data processing servers and is responsible for providing the state information to clients in the second group of clients, but is not responsible for generating the state information; the state information is to be used by both the first group of data processing servers and the second group of clients; wherein the state information supports communication between clients in the second group of clients according to a network security protocol; the second server electronically detecting that the first server is not able to communicate with the second server; in response to said detecting, the second server determining that the second server should be responsible for generating the state information in place of the first server; and the second server generating the state information. - View Dependent Claims (34, 35, 36)
-
Specification