IP Library Granted Patent US 9,411,518
Granted Patent B2
US 9,411,518 · App. 14/513,840 · Granted Aug 9, 2016

Method, computer program product and apparatus for accelerating responses to requests for transactions involving data operations

Inventors: Ziya Aral (Pompano Beach, FL); Roni J. Putra (Pompano Beach, FL)
Assignee: DataCore Software Corporation
G06F3/0608G06F3/0661G06F3/0689G06F12/0638G06F12/0866G06F12/0873H04L67/1097G06F2212/202G06F2212/2146
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 9,411,518
App. No.
14/513,840
Granted
Aug 9, 2016
Kind
B2
Abstract

Responding to IO requests made by an application to an operating system within a computing device implements IO performance acceleration that interfaces with the logical and physical disk management components of the operating system and within that pathway provides a system memory based disk block cache. The logical disk management component of the operating system identifies logical disk addresses for IO requests sent from the application to the operating system. These addresses are translated to physical disk addresses that correspond to disk blocks available on a physical storage resource. The disk block cache stores cached disk blocks that correspond to the disk blocks available on the physical storage resource, such that IO requests may be fulfilled from the disk block cache. Provision of the disk block cache between the logical and physical disk management components accommodates tailoring of efficiency to any applications making IO requests, and flexible interaction with various different physical disks.

Claims (37)

1. A method for accelerating responses to requests for transactions involving data operations, the method comprising:

presenting from a server device a logical disk having corresponding storage resources, the logical disk being presented to an application container;

maintaining a disk block cache corresponding to the logical disk and the storage resources within the server device, the cache including blocks of data for the logical disk that are determined as being accessed by the application container, the cache being resident in a memory having a responsiveness that is faster than a responsiveness of the storage resources, the cache being transparent to the application container to which the logical disk is presented;

receiving from the application container a transaction request that involves a data operation on the logical disk, the transaction request being received through a first connection;

satisfying the data operation on the logical disk using the cache; and

reconciling the cache with data for the logical disk that is stored on the storage resources, through a second connection with the storage resources.

2. The method of claim 1 , wherein the storage resources comprise physical storage resources that are separate from the server device.

3. The method of claim 1 , wherein the first and second connections are respectively first and second network connections, the second network connection being external to the server device.

4. The method of claim 3 , wherein the first network connection includes at least one of a LAN connection or an Internet connection.

5. The method of claim 3 , wherein the second network connection implements a SCSI protocol.

6. The method of claim 3 , wherein the second network connection implements a Fibre Channel (FC) protocol.

7. The method of claim 1 , wherein the memory is a solid state memory that is attached to the server device.

8. The method of claim 1 , wherein the transaction request is received from one or more applications within the application container.

9. The method of claim 1 , wherein the application container is a virtual machine.

10. The method of claim 1 , wherein the application container comprises virtual and physical components.

11. A non-transitory computer readable medium storing program code for accelerating responses to requests for transactions involving data operations, the program code being executable by a processor to perform operations comprising:

presenting from a server device a logical disk having corresponding storage resources, the logical disk being presented to an application container;

maintaining a disk block cache corresponding to the logical disk and the storage resources within the server device, the cache including blocks of data for the logical disk that are determined as being accessed by the application container, the cache being resident in a memory having a responsiveness that is faster than a responsiveness of the storage resources, the cache being transparent to the application container to which the logical disk is presented;

receiving from the application container a transaction request that involves a data operation on the logical disk, the transaction request being received through a first connection;

satisfying the data operation on the logical disk using the cache; and

reconciling the cache with data for the logical disk that is stored on the storage resources, through a second connection with the storage resources.

12. The computer readable medium of claim 11 , wherein the storage resources comprise physical storage resources that are separate from the server device.

13. The computer readable medium of claim 11 , wherein the first and second connections are respectively first and second network connections, the second network connection being external to the server device.

14. The computer readable medium of claim 11 , wherein the application container is a virtual machine.

15. The computer readable medium of claim 11 , wherein the application container comprises virtual and physical components.

16. An apparatus for accelerating responses to requests for transactions involving data operations, the apparatus comprising:

a processor; and

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

presenting from a server device a logical disk having corresponding storage resources, the logical disk being presented to an application container;

maintaining a disk block cache corresponding to the logical disk and the storage resources within the server device, the cache including blocks of data for the logical disk that are determined as being accessed by the application container, the cache being resident in a memory having a responsiveness that is faster than a responsiveness of the storage resources, the cache being transparent to the application container to which the logical disk is presented;

receiving from the application container a transaction request that involves a data operation on the logical disk, the transaction request being received through a first connection;

satisfying the data operation on the logical disk using the cache; and

reconciling the cache with data for the logical disk that is stored on the storage resources, through a second connection with the storage resources.

17. The apparatus of claim 16 , wherein the storage resources comprise physical storage resources that are separate from the server device.

18. The apparatus of claim 16 , wherein the first and second connections are respectively first and second network connections, the second network connection being external to the server device.

19. The apparatus of claim 16 , wherein the application container is a virtual machine.

20. The apparatus of claim 16 , wherein the application container comprises virtual and physical components.

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 Dec 14, 2017
From: DATACORE SOFTWARE CORPORATION
To: SILICON VALLEY BANK
Reel/Frame 044400/0417 →
Continuity (3)
Continuation 12828892 · Jul 1, 2010
Continuation 11319734 · Dec 29, 2005
Related Publication 20150186050A1 · Jul 2, 2015