IP Library Granted Patent US 10,205,782
Granted Patent B2
US 10,205,782 · App. 15/142,098 · Granted Feb 12, 2019

Location-based resource availability management in a partitioned distributed storage environment

Inventors: Sahir Maredia (Maharashtra, IN); Martin George (Cochin, IN); Gargi Srinivas (Bangalore, IN); Sriram Popuri (Bangalore, IN)
Assignee: NetApp, Inc.
H04L67/1097G06F9/5061H04L45/28H04L47/70H04L29/08072
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 10,205,782
App. No.
15/142,098
Filed
Apr 29, 2016
Granted
Feb 12, 2019
Kind
B2
Art Unit
2458
USPC
709/226
Abstract

In some embodiments, a cluster computing system notifies a host system that a first path to a resource in the cluster computing system is optimized and that a second path to the resource is non-optimized. The resource is owned or managed by a first computing node of the cluster computing system. The first path includes the first computing node. The second path includes a second computing node and an intra-cluster connection between the second computing node and the first computing node. A disruption in the intra-cluster connection, which prevents communication between the first and second computing nodes via the intra-cluster connection, is identified. During a time period in which the disruption exists, the host system is notified that the first path is optimized and that the second path is unavailable, and input/output operations between the host system and the resource via the first path are continued.

Claims (41)

1. A method comprising:

notifying, by a first computing device, a host system that a first path through the first computing device to a first resource is optimized and that a second path through a second computing device and an intra-cluster connection between the first computing device and the second computing device to the first resource is non-optimized;

identifying a disruption in the intra-cluster connection, that prevents communication between the first computing device and the second computing node device;

partitioning the second computing device into an active partition with the first computing device excluded from the active partition: and

notifying the host system that the first path is optimized and that the second path is unavailable and continuing input/output operations between the host system and the first resource via the first path during the disruption.

2. The method of claim 1 , wherein the second computing device is included in a set of computing devices further comprises:

identifying paths from the first computing device node to the set of computing devices.

3. The method of claim 2 , further comprising determining that the set of computing devices is included in the active partition, the identified paths are unavailable during the time period and that other resources previously accessible via the identified paths are owned or managed by the first computing device.

4. The method of claim 2 , further comprising:

identifying tasks assigned to at least some of the set of computing devices, wherein the tasks include input/output operations involving other resources that are accessible via the paths and that are owned or managed by the first computing; and

aborting the identified tasks that involve the paths and that are managed by the first computing and notifying the host system.

5. The method of claim 1 , further comprising:

during a reboot operation in which the second computing device is available prior to the first computing device, notifying the host system that the second path is unavailable.

6. A non-transitory machine readable medium having stored thereon instructions for managing availability of resources comprising machine executable code which when executed by at least one machine causes the machine to:

notify a host system that a first path through a first computing device to a first resource is optimized and that a second path through a second computing device and an intra-cluster connection between the second computing device and the first computing device to the first resource is non-optimized;

identify a disruption in the intra-cluster connection that prevents communication between the first computing device and the second computing device;

partition the second computing device into an active partition with the first computing device excluded from the active partition; and

notify the host system that the first path is optimized and that the second path is unavailable and continuing input/output operations between the host system and the resource via the first path during the disruption.

7. The non-transitory machine readable medium of claim 6 , wherein the second computing device is in a set of computing devices and wherein the machine executable code when executed by the machine further causes the machine to identify paths from the first computing device to the set of computing devices.

8. The non-transitory machine readable medium of claim 7 , wherein the machine executable code when executed by the machine further causes the machine to:

determine that the set of computing devices is in the active partition, the identified paths from the first computing device to the set of computing devices are unavailable during the disruption, and that other resources previously accessible via the identified paths are managed by the first computing device.

9. The non-transitory machine readable medium of claim 7 , wherein the machine executable code when executed by the machine further causes the machine to:

identify tasks assigned to at least some of the set of computing devices, wherein the tasks include input/output operations involving other resources that are accessible via the paths and that are managed by the first computing; and

abort the identified tasks that involve the paths that are managed by the first computing and notifying the host system.

10. The non-transitory machine readable medium of claim 7 , wherein the machine executable code when executed by the machine further causes the machine to:

notify the host system that the second path is unavailable during a reboot operation in which the second computing device is available prior to the first computing device.

11. A computing device, comprising:

a memory containing machine readable medium comprising machine executable code having stored thereon instructions for performing a method of managing multilevel flash storage; and

a processor coupled to the memory, the processor configured to execute the machine executable code to cause the processor to:

notify a host system that a first path through a first computing device to a first resource is optimized and that a second path through a second computing device and an intra-cluster connection between the second computing device and the first computing device to the first resource is non-optimized;

identify a disruption in the intra-cluster connection that prevents communication between the first computing device and the second computing device;

partition the second computing device into an active partition with the first computing device excluded from the active partition; and

notify the host system that the first path is optimized and that the second path is unavailable and continuing input/output operations between the host system and the resource via the first path during the disruption.

12. The device of claim 11 , wherein the second computing device is in a set of computing devices and wherein the processor is further configured to execute the machine executable code to further cause the processor to identify paths from the first computing device to the set of computing devices.

13. The device of claim 12 , wherein the processor is further configured to execute the machine executable code to further cause the processor to:

determine that the set of computing devices is in the active partition, the identified paths from the first computing device to the set of computing devices are unavailable during the disruption, and that other resources previously accessible via the identified paths are managed by the first computing device.

14. The device of claim 12 , wherein the processor is further configured to execute the machine executable code to further cause the processor to:

identify tasks assigned to at least some of the set of computing devices, wherein the tasks include input/output operations involving other resources that are accessible via the paths and that are managed by the first computing; and

abort the identified tasks that involve the paths that are managed by the first computing and notifying the host system.

15. The device of claim 11 , wherein the processor is further configured to execute the machine executable code to further cause the processor to:

notify the host system that the second path is unavailable during a reboot operation in which the second computing device is available prior to the first computing device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 29, 2016
From: MAREDIA, SAHIR; GEORGE, MARTIN; SRINIVAS, GARGI; POPURI, SRIRAM
To: NETAPP, INC.
Reel/Frame 038417/0977 →
Continuity (1)
Related Publication 20170318092A1 · Nov 2, 2017