IP Library Granted Patent US 10,901,621
Granted Patent B2
US 10,901,621 · App. 15/840,561 · Granted Jan 26, 2021

Dual-level storage device reservation

Inventors: Huamin Chen (Westford, MA); Eric S. Paris (Raleigh, NC); Derek W. Carr (Raleigh, NC)
Assignee: Red Hat, Inc.
G06F3/061G06F3/067G06F3/0635
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,901,621
App. No.
15/840,561
Granted
Jan 26, 2021
Kind
B2
Abstract

Dual-level storage device reservation is disclosed. A first request associated with a first application of a plurality of applications to reserve a first network-attached storage device for write access is accessed. A first storage device reservation key is stored on the first network-attached storage device to reserve the network-attached storage device. A first mapping entry that associates the first storage device reservation key with a first application identifier (ID) of the first application is generated. The first storage device reservation key is received from the first application, and a message is sent to the first application that contains information that identifies the first application as having write access to the first network-attached storage device based on the first mapping entry.

Claims (78)

1. A method comprising:

determining, by a storage device controller executing on a host computing device comprising a processor device, that a first network-attached storage device is to be reserved for a first application of a plurality of applications for write access to the first network-attached storage device by the first application;

in response to determining that the first network-attached storage device is to be reserved, storing, by the storage device controller, a first storage device reservation key on the first network-attached storage device to reserve the first network-attached storage device;

subsequent to storing the first storage device reservation key, generating, by the storage device controller, a first mapping entry that associates the first storage device reservation key with a first application identifier (ID) associated with the first application;

receiving, by the storage device controller, the first storage device reservation key from the first application prior to access of the first network-attached storage device by the first application; and

in response to receiving the first storage device reservation key from the first application and based on the first mapping entry, sending, by the storage device controller, a message to the first application that contains information that identifies the first application as having write access to the first network-attached storage device.

2. The method of claim 1 further comprising:

determining that the first application has released the first network-attached storage device; and

updating the first mapping entry to indicate that the first storage device reservation key is not associated with any application.

3. The method of claim 2 further comprising:

accessing, by the storage device controller, a second request associated with a second application of the plurality of applications to reserve the first network-attached storage device for write access;

accessing the first mapping entry to determine that the first network-attached storage device is not associated with any application; and

updating the first mapping entry with a second application ID associated with the second application.

4. The method of claim 1 wherein receiving the first storage device reservation key from the first application comprises receiving the first storage device reservation key from the first application, the first application executing on a first computing device that is different from the host computing device.

5. The method of claim 1 wherein storing the first storage device reservation key on the first network-attached storage device comprises:

generating a small computer system interface (SCSI) persistent reservation with the first storage device reservation key; and

transmitting the SCSI persistent reservation to the first network-attached storage device in accordance with a storage networking protocol.

6. The method of claim 5 wherein the storage networking protocol comprises one of an internet small computer system interface (iSCSI) storage networking protocol and a Fibre Channel storage networking protocol.

7. The method of claim 1 wherein sending the message to the first application that contains information that identifies the first application as having write access to the first network-attached storage device based on the first mapping entry further comprises:

accessing a mapping structure that comprises the first mapping entry;

selecting the first mapping entry in the mapping structure based on the first storage device reservation key received from the first application;

extracting the first application ID from the first mapping entry; and

sending the first application ID to the first application.

8. The method of claim 1 further comprising:

receiving, by the storage device controller, the first storage device reservation key from a second application; and

sending a message to the second application that contains information that indicates the second application does not have write access to the first network-attached storage device.

9. The method of claim 8 further comprising:

accessing a mapping structure that comprises the first mapping entry;

selecting the first mapping entry in the mapping structure based on the first storage device reservation key received from the second application;

extracting the first application ID from the first mapping entry; and

sending the first application ID to the second application.

10. The method of claim 1 further comprising:

receiving, by the storage device controller, a second request associated with a second application of the plurality of applications to reserve a second network-attached storage device for write access;

storing a second storage device reservation key on the second network-attached storage device to reserve the second network-attached storage device;

generating a second mapping entry that associates the second storage device reservation key with a second application ID associated with the second application;

receiving the second storage device reservation key from the second application; and

based on the second mapping entry, sending a message to the second application that contains information that identifies the second application as having write access to the second network-attached storage device.

11. The method of claim 1 wherein the first application comprises a container controller, and further comprising:

determining, by the container controller executing on a first compute node, that a volume of a first container is bound to the first network-attached storage device;

accessing the first network-attached storage device to obtain a storage device reservation key from the first network-attached storage device;

sending the storage device reservation key to the storage device controller;

receiving the message that contains the information that identifies the first application as having write access to the first network-attached storage device; and

in response to the message, mounting the volume to allow the first container to utilize the volume.

12. A computing device, comprising:

a memory; and

a processor device coupled to the memory to:

determine that a first network-attached storage device is to be reserved for a first application of a plurality of applications for write access to the first network-attached storage device by the first application;

in response to determining that the first network-attached storage device is to be reserved, store a first storage device reservation key on the first network-attached storage device to reserve the first network-attached storage device;

subsequent to storing the first storage device reservation key, generate, by the storage device controller, a first mapping entry that associates the first storage device reservation key with a first application identifier (ID) associated with the first application;

receive the first storage device reservation key from the first application prior to access of the first network-attached storage device by the first application; and

send a message to the first application that contains information that identifies the first application as having write access to the first network-attached storage device in response to receiving the first storage device reservation key from the first application and based on the first mapping entry.

13. The computing device of claim 12 wherein the processor device is further to:

determine that the first application has released the first network-attached storage device; and

update the first mapping entry to indicate that the first storage device reservation key is not associated with any application.

14. The computing device of claim 13 wherein the processor device is further to access a second request associated with a second application of the plurality of applications to reserve the first network-attached storage device for write access;

access the first mapping entry to determine that the first network-attached storage device is not associated with any application; and

update the first mapping entry with a second application ID associated with the second application.

15. The computing device of claim 12 wherein to receive the first storage device reservation key from the first application, the processor device is further to receive the first storage device reservation key from the first application, the first application executing on a first computing device that is different from the computing device.

16. The computing device of claim 12 wherein to send the message to the first application that contains information that identifies the first application as having write access to the first network-attached storage device, the processor device is further to:

access a mapping structure that comprises the first mapping entry;

select the first mapping entry in the mapping structure based on the first storage device reservation key received from the first application;

extract the first application ID from the first mapping entry; and

send the first application ID to the first application.

17. The computing device of claim 12 wherein the processor device is further to:

receive the first storage device reservation key from a second application; and

send a message to the second application that contains information that indicates the second application does not have write access to the first network-attached storage device.

18. A non-transitory computer-readable storage medium that includes executable instructions to cause a processor device to:

determine that a first network-attached storage device is to be reserved for a first application of a plurality of applications for write access to the first network-attached storage device by the first application;

in response to determining that the first network-attached storage device is to be reserved, store a first storage device reservation key on the first network-attached storage device to reserve the first network-attached storage device;

subsequent to storing the first storage device reservation key, generate, by the storage device controller, a first mapping entry that associates the first storage device reservation key with a first application identifier (ID) associated with the first application;

receive the first storage device reservation key from the first application prior to access of the first network-attached storage device by the first application; and

send a message to the first application that contains information that identifies the first application as having write access to the first network-attached storage device in response to receiving the first storage device reservation key from the first application and based on the first mapping entry.

19. The non-transitory computer-readable storage medium of claim 18 wherein to receive the first storage device reservation key from the first application, the instructions further cause the processor device to receive the first storage device reservation key from the first application, the first application executing on a first computing device that is different from a host computing device that comprises the processor device.

20. The non-transitory computer-readable storage medium of claim 18 wherein to send the message to the first application that contains information that identifies the first application as having write access to the first network-attached storage device, the instructions further cause the processor device to:

access a mapping structure that comprises the first mapping entry;

select the first mapping entry in the mapping structure based on the first storage device reservation key received from the first application;

extract the first application ID from the first mapping entry; and

send the first application ID to the first application.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 13, 2017
From: CHEN, HUAMIN; PARIS, ERIC S.; CARR, DEREK W.
To: RED HAT, INC.
Reel/Frame 044387/0694 →
Continuity (1)
Related Publication 20190179530A1 · Jun 13, 2019