IP Library › Granted Patent US 11,789,825
Granted Patent B2
US 11,789,825 · App. 17/102,063 · Granted Oct 17, 2023

Hashing information of an input/output (I/O) request against a plurality of gateway nodes

Inventors: Venkateswara Rao Puvvada (Inkollu, IN); Karrthik Kalaga Gopalakrishnan (Kodaikanal, IN); Saket Kumar (Bettiah, IN); Ashish Pandey (Pune, IN)
Assignee: International Business Machines Corporation
G06F11/1464G06F11/0772G06F11/1451G06F11/1469G06F11/3006G06F11/3051
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 11,789,825
App. No.
17/102,063
Granted
Oct 17, 2023
Kind
B2
Abstract

A computer-implemented method according to one embodiment includes receiving, on a first cluster site, a first I/O request to migrate a plurality of filesets from a second cluster site to the first cluster site. The first cluster site includes a plurality of gateway nodes. The method further includes identifying at least two of the gateway nodes having resources available to perform operations of the migration, and hashing information of a plurality of filesets against the identified gateway nodes. The information includes inode numbers of entities that are mounted during fulfillment of the first I/O request. Operations of the first I/O request are distributed to the identified gateway nodes based on the hashing, and the identified gateway nodes are instructed to fulfill the operations.

Claims (55)

1. A computer-implemented method, comprising:

receiving, on a first cluster site, a first input/output (I/O) request to migrate a plurality of filesets from a second cluster site to the first cluster site, wherein the first cluster site includes a plurality of gateway nodes;

identifying at least two of the gateway nodes having resources available to perform operations of the migration;

hashing information of a plurality of filesets against the identified gateway nodes, wherein the information includes inode numbers of entities that are mounted during fulfillment of the first I/O request;

distributing operations of the first I/O request to the identified gateway nodes based on the hashing; and

instructing the identified gateway nodes to fulfill the operations.

2. The computer-implemented method of claim 1 , wherein each of the inode numbers are evenly hashed to a unique one of the at least two identified gateway nodes during the hashing.

3. The computer-implemented method of claim 1 , comprising:

maintaining a resource mapping that indicates resource availability in the gateway nodes.

4. The computer-implemented method of claim 1 , comprising:

receiving indication that the hashing has resulted in a first of the identified gateway nodes being distributed more operations than resources of the first gateway node can fulfill;

determining at least one of the identified gateway nodes having resources available to perform at least some of the operations of the first gateway node; and

redistributing at least some of the operations from the first of the identified gateway nodes to the at least one of the identified gateway nodes determined to have resources available to perform at least some of the operations of the first gateway node.

5. The computer-implemented method of claim 4 , wherein redistributing the at least some of the operations of the first gateway node to the at least one of the gateway nodes determined to have resources available to perform at least some of the operations of the first gateway node includes: hashing the inode numbers of the operations of the first gateway node against the gateway nodes determined to have resources available to perform at least some of the operations of the first gateway node.

6. The computer-implemented method of claim 1 , comprising:

determining whether at least one of the identified gateway nodes has failed prior to fulfilling at least some of the operations of the first I/O request; and

in response to a determination that a first of the identified gateway nodes has failed, redistributing the unfulfilled operations to at least one of the other identified gateway nodes.

7. The computer-implemented method of claim 6 , wherein the redistributing includes:

determining the inode numbers associated with the unfulfilled operations; and

hashing the inode numbers associated with the unfulfilled operations against a sub-plurality of the identified gateway nodes.

8. The computer-implemented method of claim 1 , wherein at least three of the gateway nodes having resources available to perform operations of the migration are identified, wherein the hashing includes: hashing inode numbers of asynchronous type operations of the migration to a predetermined one of the identified of gateway nodes, and hashing inode numbers of synchronous type operations of the migration to at least two of the identified gateway nodes.

9. A computer program product, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions readable and/or executable by a controller to cause the controller to:

receive, by the controller, on a first cluster site, a first input/output (I/O) request to migrate a plurality of filesets from a second cluster site to the first cluster site, wherein the first cluster site includes a plurality of gateway nodes;

identify, by the controller, at least two of the gateway nodes having resources available to perform operations of the migration;

hash, by the controller, information of a plurality of filesets against the identified gateway nodes, wherein the information includes inode numbers of entities that are mounted during fulfillment of the first I/O request;

distribute, by the controller, operations of the first I/O request to the identified gateway nodes based on the hashing; and

instruct, by the controller, the identified gateway nodes to fulfill the operations.

10. The computer program product of claim 9 , wherein the inode numbers are evenly hashed to a unique one of the identified gateway nodes during the hashing.

11. The computer program product of claim 9 , the program instructions readable and/or executable by the controller to cause the controller to: maintain, by the controller, a resource mapping that indicates resource availability in the gateway nodes.

12. The computer program product of claim 9 , the program instructions readable and/or executable by the controller to cause the controller to:

receive, by the controller, indication that the hashing has resulted in a first of the identified gateway nodes being distributed more operations than resources of the first gateway node can fulfill;

determine, by the controller, at least one of the identified gateway nodes having resources available to perform at least some of the operations of the first gateway node; and

redistribute, by the controller, at least some of the operations from the first of the identified gateway nodes to the at least one of the identified gateway nodes determined to have resources available to perform at least some of the operations of the first gateway node.

13. The computer program product of claim 12 , wherein redistributing the at least some of the operations of the first gateway node to the at least one of the gateway nodes determined to have resources available to perform at least some of the operations of the first gateway node includes: hashing the inode numbers of the operations of the first gateway node against the gateway nodes determined to have resources available to perform at least some of the operations of the first gateway node.

14. The computer program product of claim 9 , the program instructions readable and/or executable by the controller to cause the controller to:

determine, by the controller, whether at least one of the identified gateway nodes has failed prior to fulfilling at least some of the operations of the first I/O request; and

in response to a determination that a first of the identified gateway nodes has failed, redistribute, by the controller, the unfulfilled operations to at least one of the other identified gateway nodes.

15. The computer program product of claim 14 , wherein the redistributing includes:

determining the inode numbers associated with the unfulfilled operations; and

hashing the inode numbers associated with the unfulfilled operations against a sub-plurality of the identified gateway nodes.

16. The computer program product of claim 9 , wherein at least three of the gateway nodes having resources available to perform operations of the migration are identified, wherein the hashing includes: hashing inode numbers of asynchronous type operations of the migration to a predetermined one of the identified of gateway nodes, and hashing inode numbers of synchronous type operations of the migration to at least two of the identified gateway nodes.

17. A system, comprising:

a processor; and

logic integrated with the processor, executable by the processor, or integrated with and executable by the processor, the logic being configured to:

receive, on a first cluster site, a first input/output (I/O) request to migrate a plurality of filesets from a second cluster site to the first cluster site, wherein the first cluster site includes a plurality of gateway nodes;

maintain a resource mapping that indicates resource availability in the gateway nodes;

identify at least two of the gateway nodes having resources available to perform operations of the migration;

hash information of a plurality of filesets against the identified gateway nodes, wherein the information includes inode numbers of entities that are mounted during fulfillment of the first I/O request;

distribute operations of the first I/O request to the identified gateway nodes based on the hashing; and

instruct the identified gateway nodes to fulfill the operations.

18. The system of claim 17 , wherein the inode numbers are evenly hashed to a unique one of the identified gateway nodes during the hashing.

19. The system of claim 17 , the logic being configured to:

receive indication that the hashing has resulted in a first of the identified gateway nodes being distributed more operations than resources of the first gateway node can fulfill;

determine at least one of the identified gateway nodes having resources available to perform at least some of the operations of the first gateway node; and

redistribute at least some of the operations from the first of the identified gateway nodes to the at least one of the identified gateway nodes determined to have resources available to perform at least some of the operations of the first gateway node.

Assignments (2)
CORRECTIVE ASSIGNMENT TO CORRECT THE THE SECOND INVENTOR'S NAME PREVIOUSLY RECORDED AT REEL: 054594 FRAME: 0281. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Oct 15, 2021
From: PUVVADA, VENKATESWARA RAO; GOPALAKRISHNAN, KARRTHIK KALAGA; KUMAR, SAKET; PANDEY, ASHISH
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 057827/0428 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2020
From: PUVVADA, VENKATESWARA RAO; K G, KARRTHIK; KUMAR, SAKET; PANDEY, ASHISH
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 054594/0281 →
Continuity (1)
Related Publication 20220164258A1 · May 26, 2022