IP Library Granted Patent US 10,678,440
Granted Patent B2
US 10,678,440 · App. 16/045,889 · Granted Jun 9, 2020

Host-defined I/O storage control based on application instance and/or control group

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,678,440
App. No.
16/045,889
Granted
Jun 9, 2020
Kind
B2
Abstract

I/O storage processing behavior is controlled on a storage system based on an application instance of an I/O request. I/O storage processing behavior may be associated with application instances on a host by creating a table or other data structure that assigns identifiers to each application instance and specifies associate behavior(s) with the application instance. The table may associate behavior to application instances based on logical groupings of application instances, which may be based on existing defined groups or other logical entities, for example, a container or VM. A host may communicate the table to a storage system, and the storage system may store information from the table. An I/O request on the host may be tagged with an ID from the table, and sent to the storage system, which controls the I/O storage processing of the I/O request according to the tagged ID.

Claims (50)

1. For a system including a storage system and at least one host system having a plurality of instances of applications executing thereon, a method comprising:

associating a desired I/O behavior with each application instance, the I/O behavior specifying a desired manner in which I/O operations for the application instance will be processed on the system; and

for each of the plurality of application instances, controlling processing of I/O operations for the application instance on the storage system based on the desired I/O behavior associated with the application instance.

2. The method of claim 1 , wherein the system further includes a plurality of logical groupings of one or more of the plurality of application instances,

wherein, for the one or more application instances, the desired I/O behavior is associated with the application instance based at least in part on the logical grouping of which the application instance is a member.

3. The method of claim 2 , wherein one or more of the logical groupings corresponds to a container or virtual machine.

4. The system of claim 1 , wherein associating a desired I/O behavior includes associating a priority with each application instance.

5. The method of claim 1 , wherein associating a desired I/O behavior with each application instance includes creating a first table including a plurality of entries, each entry corresponding to one of the application instances and specifying the desired I/O behavior.

6. The method of claim 1 , wherein each application instance is associated with the respective desired I/O behavior on the at least one host system, the method further comprising:

communicating the association of application instances with the respective desired I/O behaviors to the storage system.

7. The method of claim 6 , the method further comprising:

receiving on the first host system an I/O request for a first of the plurality of application instances, the I/O request specifying an I/O operation;

determining a value corresponding to the association of the first application instance and the respective desired I/O behavior of the first application instance; and

sending an I/O communication from the at least one host to the storage system, the I/O communication including the I/O operation and the determined value.

8. The method of claim 7 , further comprising:

the storage system determining the respective desired I/O behavior from the communicated value; and

the storage system processing the I/O operation according to the respective desired I/O behavior.

9. For a computer network including a storage system and at least one host system having a plurality of instances of applications executing thereon, a system comprising:

one or more processors; and

a memory comprising code stored thereon that, when executed, performs a method comprising:

associating a desired I/O behavior with each application instance, the I/O behavior specifying a desired manner in which I/O operations for the application instance will be processed on the system; and

for each of the plurality of application instances, controlling processing of I/O operations for the application instance on the storage system based on the desired I/O behavior associated with the application instance.

10. The system of claim 9 , further comprising:

a plurality of logical groupings of one or more of the plurality of application instances,

wherein, for the one or more application instances, the desired I/O behavior is associated with the application instance based at least in part on the logical grouping of which the application instance is a member.

11. The system of claim 9 , wherein associating a desired I/O behavior with each application instance includes creating a first table including a plurality of entries, each entry corresponding to one of the application instances and specifying the desired I/O behavior.

12. The system of claim 9 , wherein each application instances is associated with the respective desired I/O behavior on the at least one host system, the method further comprising:

communicating the association of application instances with the respective desired I/O behaviors to the storage system.

13. The system of claim 12 , the method further comprising:

receiving on the first host system an I/O request for a first of the plurality of application instances, the I/O request specifying an I/O operation;

determining a value corresponding to the association of the first application instance and the respective desired I/O behavior of the first application instance; and

sending an I/O communication from the at least one host to the storage system, the I/O communication including the I/O operation and the determined value.

14. The system of claim 13 , further comprising:

the storage system determining the respective desired I/O behavior from the communicated value; and

the storage system processing the I/O operation according to the respective desired I/O behavior.

15. One or more non-transitory computer-readable media for a system including a storage system and at least one host system having a plurality of instances of applications executing thereon, the computer-readable medium having software stored thereon comprising:

executable code that associates a desired I/O behavior with each application instance, the I/O behavior specifying a desired manner in which I/O operations for the application instance will be processed on the system; and

executable code that, for each of the plurality of application instances, controls processing of I/O operations for the application instance on the storage system based on the desired I/O behavior associated with the application instance.

16. The one or more computer-readable media of claim 15 , wherein the system further includes a plurality of logical groupings of one or more of the plurality of application instances, and

wherein, for the one or more application instances, the desired I/O behavior is associated with the application instance based at least in part on the logical grouping of which the application instance is a member.

17. The one or more computer-readable media of claim 15 , wherein the executable code that associates a desired I/O behavior with each application instance includes executable code that creates a first table including a plurality of entries, each entry corresponding to one of the application instances and specifying the desired I/O behavior.

18. The one or more computer-readable media of claim 15 , wherein which each application instance is associated with the respective desired I/O behavior on the at least one host system, the software further comprising:

executable code that controls communicating the association of application instances with the respective desired I/O behaviors to the storage system.

19. The one or more computer-readable media of claim 18 , the software further comprising:

executable code that controls receiving on the first host system an I/O request for a first of the plurality of application instances, the I/O request specifying an I/O operation;

executable code that determines a value corresponding to the association of the first application instance and the respective desired I/O behavior of the first application instance; and

executable code that controls sending an I/O communication from the at least one host to the storage system, the I/O communication including the I/O operation and the determined value.

20. The one or more computer-readable media of claim 19 , the software further comprising:

executable code that determines, on the storage system, the respective desired I/O behavior from the communicated value; and

executable code that controls, on the storage system, processing the I/O operation according to the respective desired I/O behavior.

Assignments (8)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (047648/0422) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060160/0862 →
RELEASE OF SECURITY INTEREST AT REEL 047648 FRAME 0346 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 058298/0510 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
PATENT SECURITY AGREEMENT (CREDIT) Recorded Oct 12, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 047648/0346 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Oct 12, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 047648/0422 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 26, 2018
From: GOKAM, KURUMURTHY; DON, ARIEH; MARAPPAN, GOPINATH
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 046465/0689 →