IP Library Granted Patent US 10,409,640
Granted Patent B1
US 10,409,640 · App. 16/003,277 · Granted Sep 10, 2019

Methods and apparatus for data request scheduling in performing parallel IO operations

Inventors: Nicholas C. Connolly (Purley, GB); Robert Bassett (Pensacola, FL); Ziya Aral (Pompano Beach, FL); Roni J. Putra (Pompano Beach, FL)
Assignee: DataCore Software Corporation
G06F9/4881G06F3/0619G06F3/0665G06F3/0689G06F12/0888G06F2212/6046
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,409,640
App. No.
16/003,277
Granted
Sep 10, 2019
Kind
B1
Abstract

Methods and apparatus for data request scheduling in performing parallel IO operations are disclosed. In one example, IO requests directed to an operating system having an IO scheduling component are processed. There, an IO request directed from an application to the operating system is intercepted. A determination is made whether the IO request is subject to immediate processing using available parallel processing resources. When it is determined that the IO request is subject to immediate processing using the available parallel processing resources, the IO scheduling component of the operating system is bypassed. The IO request is directly and immediately processed and passed back to the application using the available parallel processing resources.

Claims (42)

1. A method for handling Input/Output (IO) requests directed to an operating system having an IO scheduling component, the method comprising:

intercepting an IO request directed from an application to the operating system;

determining whether the IO request is subject to immediate processing using available parallel processing resources; and

bypassing the IO scheduling component of the operating system when it is determined that the IO request is subject to immediate processing using the available parallel processing resources.

2. The method of claim 1 , wherein said determining whether the IO request is subject to immediate processing comprises an adaptive determination of the available parallel processing resources.

3. The method of claim 1 , further comprising:

identifying a quality of service promised to the application originating the IO request; and

determining that the IO request is subject to immediate processing depending upon the quality of service promised to the application.

4. The method of claim 1 , further comprising:

determining historical demand information corresponding to IO request processing and application task processing; and

determining that the IO request is subject to immediate processing depending upon the historical demand information.

5. The method of claim 4 , further comprising:

determining instantaneous demand information; and

adjusting criteria for determining that the IO request is subject to immediate processing based upon the instantaneous demand information.

6. A non-transitory computer readable medium storing program code for handling Input/Output (IO) requests directed to an operating system having an IO scheduling component, the program code being executable by a processor to perform operations comprising:

intercepting an IO request directed from an application to the operating system; determining whether the IO request is subject to immediate processing using available parallel processing resources; and

bypassing the IO scheduling component of the operating system when it is determined that the IO request is subject to immediate processing using the available parallel processing resources.

7. The computer readable medium of claim 6 , wherein said determining whether the IO request is subject to immediate processing comprises an adaptive determination of the available parallel processing resources.

8. The computer readable medium of claim 6 , wherein the operations further comprise:

identifying a quality of service promised to the application originating the IO request; and

determining that the IO request is subject to immediate processing depending upon the quality of service promised to the application.

9. The computer readable medium of claim 6 , wherein the operations further comprise:

determining historical demand information corresponding to IO request processing and application task processing; and

determining that the IO request is subject to immediate processing depending upon the historical demand information.

10. The computer readable medium of claim 9 , wherein the operations further comprise:

determining instantaneous demand information; and

adjusting criteria for determining that the IO request is subject to immediate processing based upon the instantaneous demand information.

11. An apparatus for handling Input/Output (IO) requests directed to an operating system having an IO scheduling component, the apparatus comprising:

a processor; and

a memory, the memory storing program code executable by the processor to perform operations comprising:

intercepting an IO request directed from an application to the operating system;

determining whether the IO request is subject to immediate processing using available parallel processing resources; and

bypassing the IO scheduling component of the operating system when it is determined that the IO request is subject to immediate processing using the available parallel processing resources.

12. The apparatus of claim 11 , wherein said determining whether the IO request is subject to immediate processing comprises an adaptive determination of the available parallel processing resources.

13. The apparatus of claim 11 , wherein the operations further comprise:

identifying a quality of service promised to the application originating the IO request; and

determining that the IO request is subject to immediate processing depending upon the quality of service promised to the application.

14. The apparatus of claim 11 , wherein the operations further comprise:

determining historical demand information corresponding to IO request processing and application task processing; and

determining that the IO request is subject to immediate processing depending upon the historical demand information.

15. The apparatus of claim 14 , wherein the operations further comprise:

determining instantaneous demand information; and adjusting criteria for determining that the IO request is subject to immediate processing based upon the instantaneous demand information.

Assignments (3)
SECURITY INTEREST Recorded May 29, 2024
From: DATACORE SOFTWARE CORPORATION
To: VISTARA TECHNOLOGY GROWTH FUND V MASTER, LP
Reel/Frame 067563/0884 →
SECURITY INTEREST Recorded Oct 28, 2021
From: DATACORE SOFTWARE CORPORATION
To: STIFEL BANK
Reel/Frame 057969/0086 →
SECURITY INTEREST Recorded Oct 11, 2019
From: DATACORE SOFTWARE CORPORATION
To: SILICON VALLEY BANK
Reel/Frame 050690/0817 →
Continuity (1)
Continuation 15236902 · Aug 15, 2016