Elastically managing a service node group
First Claim
1. A non-transitory machine readable medium storing a primary service node (PSN) for execution on a host computer, the PSN comprising a program for managing a service node (SN) group that performs a service on data messages, the SN group comprising a plurality of service nodes, wherein one of the service nodes is the PSN and each other service node is a secondary service node (SSN), the program comprising sets of instructions for:
- receiving, at the PSN, all data messages for the SN group and identifying, for an incoming data message, an SN in the group of SNs to perform the service on data messages of a data message flow to which the incoming data message belongs;
if the identified SN is one of the SSNs, forwarding the data message to the identified SSN; and
if the identified SN is the PSN, performing the service on the data message at the PSNanalyzing message traffic data relating to data messages that each service node in the SN group processes; and
based on the analysis, adding a service node to the SN group.
1 Assignment
0 Petitions
Accused Products
Abstract
Some embodiments provide an elastic architecture for providing a service in a computing system. To perform a service on the data messages, the service architecture uses a service node (SN) group that includes one primary service node (PSN) and zero or more secondary service nodes (SSNs). The service can be performed on a data message by either the PSN or one of the SSN. However, in addition to performing the service, the PSN also performs a load balancing operation that assesses the load on each service node (i.e., on the PSN or each SSN), and based on this assessment, has the data messages distributed to the service node(s) in its SN group. Based on the assessed load, the PSN in some embodiments also has one or more SSNs added to or removed from its SN group. To add or remove an SSN to or from the service node group, the PSN in some embodiments directs a set of controllers to add (e.g., instantiate or allocate) or remove the SSN to or from the SN group. Also, to assess the load on the service nodes, the PSN in some embodiments receives message load data from the controller set, which collects such data from each service node. In other embodiments, the PSN receives such load data directly from the SSNs.
176 Citations
23 Claims
-
1. A non-transitory machine readable medium storing a primary service node (PSN) for execution on a host computer, the PSN comprising a program for managing a service node (SN) group that performs a service on data messages, the SN group comprising a plurality of service nodes, wherein one of the service nodes is the PSN and each other service node is a secondary service node (SSN), the program comprising sets of instructions for:
-
receiving, at the PSN, all data messages for the SN group and identifying, for an incoming data message, an SN in the group of SNs to perform the service on data messages of a data message flow to which the incoming data message belongs; if the identified SN is one of the SSNs, forwarding the data message to the identified SSN; and if the identified SN is the PSN, performing the service on the data message at the PSN analyzing message traffic data relating to data messages that each service node in the SN group processes; and based on the analysis, adding a service node to the SN group. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A non-transitory machine readable medium of storing a program for managing service nodes that perform a service on data messages, the program comprising sets of instructions for:
-
defining a service node (SN) group comprising plurality of service nodes, each service node including a service virtual machine (SVM); analyzing message traffic data relating to data messages that each service node in the SN group processes; based on the analysis, adding a service node to the SN group by directing a controller set to add the service node to the SN group, wherein the controller set adds a service node by instantiating a new SVM and adding the SVM to the SN group. - View Dependent Claims (19, 20)
-
-
21. A non-transitory machine readable medium of storing a program for managing service nodes that perform a service on data messages, the program comprising sets of instructions for:
-
defining a service node (SN) group comprising plurality of service nodes, each service node including a service virtual machine (SVM); analyzing message traffic data relating to data messages that each service node in the SN group processes; based on the analysis, adding a service node to the SN group by directing a controller set to add the service node to the SN group, wherein the controller set adds a service node by allocating a previously instantiated SVM to the SN group. - View Dependent Claims (22, 23)
-
Specification