IP Library › Granted Patent US 9,917,740
Granted Patent B2
US 9,917,740 · App. 14/848,401 · Granted Mar 13, 2018

Reducing internodal communications in a clustered system

Inventors: Robert Miller (Rochester, MN); Kiswanto Thayib (Rochester, MN)
Assignee: International Business Machines Corporation
H04L41/12H04L47/78H04L67/10
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,917,740
App. No.
14/848,401
Granted
Mar 13, 2018
Kind
B2
Abstract

A clustered system has a subset of nodes coupled to a particular cluster resource. Nodes not coupled to the cluster resource may operate on a cluster resource through a node coupled to that resource. The nodes coupled to the resource form a group, the nodes in the group perform protocols to operate on the cluster resource, nodes not in the group do not participate in the protocols.

Claims (47)

1. A system for performing operations on a cluster resource in a first clustered system, the system comprising:

a plurality of nodes, each of the nodes comprising a processor and a memory coupled to the processor; and

a first cluster resource, the first cluster resource coupled to a first node of the plurality of nodes;

a first cluster resource group (CRG) within the first node, the first CRG configured to operate on the first cluster resource, the first node configured to communicate to at least one other node included in the plurality of nodes CRG information, the CRG information descriptive of the first CRG, and the CRG information including cluster resource information, the cluster resource information descriptive of the first cluster resource;

a cluster resource communications group (CRCG) within the first clustered system, the CRCG including a subset of the plurality of nodes, the subset including less than all of the plurality of nodes, the subset including the first node;

a cluster resource protocol, the cluster resource protocol effective to perform an operation on the first cluster resource, the cluster resource protocol operative within the subset of nodes included in the CRCG; and

a cluster resource request, the cluster resource request originated on a second node, the cluster resource request including the operation, the second node configured to transfer the cluster resource request to the first node, the first node configured to initiate the cluster resource protocol;

wherein the second node is not coupled to the first cluster resource and is excluded from the CRCG;

wherein, in response to receiving the cluster resource request, the first node is configured to:

record information identifying the second node and the cluster resource request;

perform a request protocol only with each node included in the CRCG to determine a node included in the CRCG to perform the cluster resource request;

receive results of performing the cluster resource request from the determined node; and

communicate the results of performing the cluster resource request to the second node using the recorded information.

2. The system of claim 1 wherein the first node is a computer, a server, a virtual machine, a network component, or a second clustered system coupled to and distinct from the first clustered system.

3. The system of claim 1 wherein the first cluster resource is a processing or co-processing element, a memory element, a storage medium, a storage volume or pool, an IO device, a database, a data set, a network component, a network connection, a network identifier, a virtual machine, or an application, a program, or a job executed in the first node.

4. The system of claim 1 further comprising a second cluster resource group (CRG) within a third node, the second CRG configured to operate on the first cluster resource, the second CRG included in the CRCG, the second CRG configured to perform the protocol with the first CRG.

5. The system of claim 1 wherein the operation is effective to start, stop, access, or alter an operational state or configuration of the cluster resource; to start, stop, or alter a configuration of the first CRG; to add the first CRG to the CRCG; to transfer control of the cluster resource from the first CRG to a second CRG, the second CRG included in a third node, the third node included in the CRCG; or to alter access to the cluster resource by the at least one other node.

6. The system of claim 1 wherein the CRG information includes CRG operational information, the CRG operational information including an operational state or configuration of the first CRG, and the cluster resource information includes cluster resource operational information, the cluster resource operational information including an operational state or configuration of the first cluster resource.

7. A computer program product for performing operations on a resource in a clustered system, the computer program product comprising a non-transitory computer readable storage medium having program instructions embodied therewith, the program instructions executable by nodes within the clustered system to perform a method comprising:

making, by a first node included in a plurality of nodes, a first resource coupled to the first node into a cluster resource;

forming, by the first node, a first CRG, the first CRG operating on the cluster resource;

forming, by one of the nodes included in the plurality of nodes, a cluster resource communications group (CRCG), the CRCG including a subset of the plurality of nodes, the subset including less than all of the plurality of nodes, the subset including the first node, each node in the CRCG being coupled to the cluster resource and configured to perform a cluster resource protocol operative on the cluster resource;

communicating, by one of the nodes included in the plurality of nodes, to at least one other node included in the plurality of nodes, CRG information, the CRG information descriptive of the first CRG and the CRG information including cluster resource information, the cluster resource information descriptive of the cluster resource;

performing, by nodes within the subset of the nodes included in the CRCG, a cluster resource protocol, the protocol performing an operation on the cluster resource;

communicating, by a second node not coupled to the cluster resource and excluded from the CRCG, a cluster resource request to the first node included in the CRCG, the second node originating the cluster resource request, the cluster resource request including the operation; and

in response to receiving the cluster resource request from the second node not coupled to the cluster resource:

recording, by the first node, information identifying the second node and the cluster resource request;

performing a request protocol, by the first node, only with each node included in the CRCG to determine a node included in the CRCG to perform the cluster resource request;

performing the cluster resource request by the determined node;

communicating results of performing the cluster resource request from the determined node to the first node;

communicating the results of performing the cluster resource request from the first node to the second node using the recorded information.

8. The computer program product of claim 7 wherein the first node is a computer, a server, a virtual machine, a network component, or a second clustered system coupled to and distinct from the first clustered system.

9. The computer program product of claim 7 wherein the cluster resource is a processing or co-processing element, a memory element, a storage medium, a storage volume or pool, an IO device, a database, a data set, a network component, a network connection, a network identifier, a virtual machine, or an application, a program, or a job executed in the first node.

10. The computer program product of claim 7 wherein the operation is effective to start, stop, access, or alter an operational state or configuration of the cluster resource; to start, stop, or alter a configuration of the first CRG; to add the first CRG to the CRCG; to transfer control of the cluster resource from the first CRG to a second CRG, the second CRG included in a third node, the third node included in the CRCG; or to alter access to the cluster resource by the at least one other node.

11. The computer program product of claim 7 , the method further comprising:

forming, by the first node, the first CRG in response to the first node making the resource into a cluster resource and in response to the first CRG not yet existing on the first node; and

forming, by the first node, the CRCG in response to the first node forming or starting the first CRG and in response to the CRCG not yet existing in the first clustered system.

12. The computer program product of claim 7 , the method further comprising:

forming, by a third node, a second CRG;

including, by the nodes included in the CRCG, the third node in the CRCG; and

performing the protocol, by the second CRG and the first CRG.

13. The computer program product of claim 12 wherein the performing the protocol by the second CRG and the first CRG comprises:

determining, by the first CRG, that the third node is included in the CRCG;

communicating, by the first CRG, the request to the second CRG;

determining, by the second CRG, that the second CRG can perform the operation;

performing, by the second CRG, the operation; and

communicating, by the second CRG, the results of the operation to the first CRG.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 9, 2015
From: MILLER, ROBERT; THAYIB, KISWANTO
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 036516/0159 →
Continuity (1)
Related Publication 20170070394A1 · Mar 9, 2017