IP Library Granted Patent US 10,503,672
Granted Patent B2
US 10,503,672 · App. 15/963,398 · Granted Dec 10, 2019

Time dependent service level objectives

Inventors: Thomas F. O'Neill (Acton, MA); Sanjib Mallick (Bangalore, IN); Arieh Don (Newton, MA); Vinay G. Rao (Bangalore, IN)
Assignee: EMC IP Holding Company LLC
G06F13/1668G06F13/18
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,503,672
App. No.
15/963,398
Granted
Dec 10, 2019
Kind
B2
Abstract

Described are techniques for processing I/O operations that may include: issuing, by a process of an application on a host, an I/O operation; tagging the I/O operation with a tag value in accordance with a process name associated with the process that issued the I/O operation; sending the I/O operation from the host to a data storage system; and determining, on the data storage system, an service level objective (SLO) for the I/O operation in accordance with the tag value of the I/O operation. The process name may include a first portion and a second customizable or configurable portion used to distinguish between different instance of the same application process. It may be determined which of multiple time-dependent SLOs for the process name is active and used with the I/O operation based on a receipt or processing time associated with the I/O operation.

Claims (45)

1. A method of processing I/O operations comprising:

issuing, by a process of an application on a host, an I/O operation;

tagging the I/O operation with a tag value, wherein the tag value is determined in accordance with a process name associated with the process that issued the I/O operation, and wherein said tagging includes storing the tag value in the I/O operation;

sending the I/O operation including the tag value from the host to a data storage system; and

determining, on the data storage system, a service level objective for the I/O operation in accordance with the tag value included in the I/O operation.

2. The method of claim 1 , wherein said tagging is performed by a multi-path I/O driver of the host.

3. The method of claim 1 , wherein the tag value is used to distinguish between different processes.

4. The method of claim 1 , wherein the tag value is used to distinguish between different instances of a same process.

5. The method of claim 1 , wherein the process name includes a first portion and a second portion, and wherein the first portion denotes a particular process of the application and the second portion is a customized portion denoting a particular instance of the application.

6. The method of claim 5 , wherein the host includes two instances of the application and two different instances of a same process, the process, executing on the host, and wherein the second portion of the process name is used to distinguish between the two different instances of the same process of the application.

7. The method of claim 1 , further comprising:

receiving the I/O operation at the data storage system; and

responsive to receiving the I/O operation, performing first processing that determines the service level objective for the I/O operation in accordance with the tag value of the I/O operation.

8. The method of claim 7 , wherein a table includes entries of process names and, for each process name, an associated tag value and one or more associated service level objective-time frame pairs.

9. A method of processing I/O operations comprising:

issuing, by a process of an application on a host, an I/O operation;

tagging the I/O operation with a tag value in accordance with a process name associated with the process that issued the I/O operation;

sending the I/O operation from the host to a data storage system; and

determining, on the data storage system, a service level objective for the I/O operation in accordance with the tag value of the I/O operation;

receiving the I/O operation at the data storage system; and

responsive to receiving the I/O operation, performing first processing that determines the service level objective for the I/O operation in accordance with the tag value of the I/O operation, wherein a table includes entries of process names and, for each process name, an associated tag value and one or more associated service level objective-time frame pairs, and wherein the table includes a first entry for the process name and the first processing further comprises:

determining, using the table and the tag value of the I/O operation, at least one associated service level objective-time frame pair, wherein the at least one associated service level object-time frame pair specifies a service level that is active or effective or the process name at particular points in time in accordance with time-specific criteria.

10. The method of claim 9 , wherein the time-specific criteria includes any of: a particular day of a week, a particular date, a particular time of day, and a particular calendar day.

11. The method of claim 9 , wherein the first processing includes:

determining that the at least one associated service level objective-time frame pair is currently not active or effective for the I/O operation whereby the I/O operation is received at the data storage system at a time which does not meet the time-specific criteria of the at least one associated service level objective-time frame pair; and

responsive to determining that the at least one associated service level objective-time frame pair is currently not active or effective for the I/O operation, using a default service level objective for processing the I/O operation.

12. The method of claim 11 , wherein the at least one associated service level objective-time frame pair specifies a higher service level objective than the default service level objective, and wherein the higher service level objective is active or effective when the time-specific criteria is met by the I/O operation.

13. The method of claim 11 , wherein the at least one associated service level objective-time frame pair specifies a lower service level objective than the default service level objective, and wherein the lower service level objective is active or effective when the time-specific criteria is met by the I/O operation.

14. A system comprising:

at least one processor; and

a memory comprising code stored therein that, when executed by the at least one processor, performs a method of processing I/O operations comprising:

issuing, by a process of an application on a host, an I/O operation;

tagging the I/O operation with a tag value, wherein the tag value is determined in accordance with a process name associated with the process that issued the I/O operation, and wherein said tagging includes storing the tag value in the I/O operation;

sending the I/O operation including the tag value from the host to a data storage system; and

determining, on the data storage system, a service level objective for the I/O operation in accordance with the tag value included in the I/O operation.

15. A computer readable medium comprising code stored thereon that, when executed, performs a method of processing I/O operations comprising:

issuing, by a process of an application on a host, an I/O operation;

tagging the I/O operation with a tag value, wherein the tag value is determined in accordance with a process name associated with the process that issued the I/O operation, and wherein said tagging includes storing the tag value in the I/O operation;

sending the I/O operation including the tag value from the host to a data storage system; and

determining, on the data storage system, a service level objective for the I/O operation in accordance with the tag value included in the I/O operation.

16. The computer readable medium of claim 15 , wherein said tagging is performed by a multi-path I/O driver of the host.

17. The computer readable medium of claim 15 , wherein the tag value is used to distinguish between different processes.

18. The computer readable medium of claim 15 , wherein the tag value is used to distinguish between different instances of a same process.

19. The computer readable medium of claim 15 , wherein the process name includes a first portion and a second portion, and wherein the first portion denotes a particular process of the application and the second portion is a customized portion denoting a particular instance of the application.

20. The computer readable medium of claim 19 , wherein the host includes two instances of the application and two different instances of a same process, the process, executing on the host, and wherein the second portion of the process name is used to distinguish between the two different instances of the same process of the application.

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 (046366/0014) 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 060450/0306 →
RELEASE OF SECURITY INTEREST AT REEL 046286 FRAME 0653 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/0093 →
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 Jun 1, 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 046286/0653 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Jun 1, 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 046366/0014 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 27, 2018
From: O'NEILL, THOMAS; MALLICK, SANJIB; DON, ARIEH; RAO, VINAY G.
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 045654/0249 →
Continuity (1)
Related Publication 20190332554A1 · Oct 31, 2019