Topology-centric resource management for large scale service clusters
First Claim
Patent Images
1. A computer implemented method, comprising:
- dividing a plurality of nodes of a service cluster into a plurality of groups each having a plurality of members, each group having a dedicated node to communicate with other groups of the service cluster; and
in response to a message received from a member of a respective group, the dedicated node of the respective group distributing the message to other groups of the service cluster and a remainder of the members.
2 Assignments
0 Petitions
Accused Products
Abstract
Topology-centric resource management for large scale service clusters is described herein. According to certain embodiments of the invention, techniques include 1) creating optimized topology with network switches to connect service modules based on application flows and bandwidth requirements, 2) providing centralized or decentralized monitoring schemes to maintain the topology view of a service cluster, and 3) using the topology information for optimizing load balancing and service information dissemination. Other methods and apparatuses are also described.
-
Citations
34 Claims
-
1. A computer implemented method, comprising:
-
dividing a plurality of nodes of a service cluster into a plurality of groups each having a plurality of members, each group having a dedicated node to communicate with other groups of the service cluster; and
in response to a message received from a member of a respective group, the dedicated node of the respective group distributing the message to other groups of the service cluster and a remainder of the members. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A service cluster, comprising:
-
a plurality of nodes coupled to each other and divided into a plurality of groups, each group having a dedicated node to communicate with a remainder of the groups, wherein in response to a message received from a member of a respective group, a dedicated node of the respective group distributes the message to at least one of a remainder of the groups and a remainder of members within the respective group. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23)
-
-
24. An apparatus for a service cluster, comprising:
-
means for dividing a plurality of nodes of a service cluster into a plurality of groups each having a plurality of members, each group having a dedicated node to communicate with other groups of the service cluster; and
means for, in response to a message received from a member of a respective group, the dedicated node of the respective group distributing the message to other groups of the service cluster and a remainder of the members.
-
-
25. A computer implemented method performed within a service cluster having a plurality of nodes, the method comprising:
-
creating a service graph having a hierarchical structure with load balancing including determining a separation factor for the service cluster, separating the nodes of the service cluster into a plurality of sub-service graphs based on the determined separation factor, assigning a switch for each node of each sub-service graph, and coupling the plurality of sub-service graphs to form the service graph using one or more load balancing switches;
dividing a plurality of nodes of a service cluster into a plurality of groups according to the service graph each having a plurality of members, each group having a dedicated node to communicate with other groups of the service cluster;
in response to a message received from a member of a respective group, the dedicated node of the respective group distributing the message to other groups of the service cluster and a remainder of the members; and
in response to a message received from another group of the service cluster, the dedicated node of the respective group forwarding the message to the members of the respective group.
-
-
26. A computer implemented method, comprising:
-
maintaining a service graph for a service cluster having a plurality of nodes and each having one or more replicas, the service graph having a hierarchical infrastructure based on a network topology information associated with the plurality of nodes of the service cluster; and
in response to a service invocation from a first node, selecting, via the service graph, a second node within the service cluster according to a predetermined algorithm based on a load of the second node and a routing distance between the first and the second nodes. - View Dependent Claims (27, 28, 29)
-
-
30. A computer implemented method, comprising:
-
creating a service graph having a hierarchical structure based on application service logics of a service cluster having a plurality of nodes; and
deriving a switch layout based on the service graph for optimized availability and networking performance of the plurality of nodes, including determining a separation factor for the service cluster, separating the nodes of the service cluster into a plurality of sub-service graphs based on the determined separation factor, assigning a switch for each node of each sub-service graph, and coupling the plurality of sub-service graphs to form the service graph using one or more load balancing switches. - View Dependent Claims (31, 32, 33)
-
-
34. A computer implemented method, comprising:
-
dividing a plurality of nodes of a service cluster into a plurality of groups each having a plurality of members, each group having a dedicated node to communicate with other groups of the service cluster with respect to availability information of members of the other groups;
in response to a first availability update received from a member of a respective group, the dedicated node of the respective group distributing the first availability update to other groups of the service cluster and a remainder of the members within the respective group; and
in response to a second availability update received from another group, the dedicated node of the respective group propagating the second availability update to the members of the respective group and storing the second availability update within the dedicated node to maintain a global view of the cluster regarding service availabilities.
-
Specification