IP Library Granted Patent US 9,645,901
Granted Patent B2
US 9,645,901 · App. 14/659,773 · Granted May 9, 2017

Accelerating application write while maintaining high availability in shared storage clusters

Inventor: Murali Nagaraj (Pune, IN)
Assignee: PrimaryIO, Inc.
G06F11/2046G06F11/2038
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,645,901
App. No.
14/659,773
Granted
May 9, 2017
Kind
B2
Abstract

An embodiment of the invention provides a method comprising: performing an application write; storing the application write in a local cache; performing a system call to request an underlying storage system to persist any application writes that are not yet persisted; and in response to the system call, copying the application write in the cache to a shared permanent storage. In another embodiment of the invention, an apparatus comprises: an application configured to perform an application write; a cache software configured to store the application write in a local cache; wherein the application is configured to perform a system call to request an underlying storage system to persist any application writes that are not yet persisted; and in response to the system call, the cache software is configured to copy the application write in the cache to a shared permanent storage.

Claims (27)

1. A method, comprising:

performing, by an application, an application write;

in response to the application write, intercepting, by a cache management software, the application write and storing, by the cache management software, the application write into a local cache;

after performing the application write, subsequently performing, by the application, a system call to request an underlying storage system to persist any application writes that are not yet persisted;

wherein the system call comprises a fsync system call or a fdatasync system call; and

in response to the system call, copying, by the cache management software, the application write in the local cache to a shared permanent storage so that the application write is stored in the shared permanent storage, wherein the shared permanent storage is shared by a plurality of servers.

2. The method of claim 1 , further comprising:

providing access to the application write that is stored in the shared permanent storage after a failover operation from a first server to a second server, wherein the second server can access the application write after the failover operation.

3. The method of claim 1 , wherein the local cache is organized as a transactional log.

4. An apparatus, comprising:

a server comprising an application configured to perform an application write;

the server further comprising a cache management software configured to permit the server to intercept the application write and to store the application write into a local cache in response to the application write;

wherein the application is configured to perform a system call to request an underlying storage system in the server to persist any application writes that are not yet persisted after performing the application write;

wherein the system call comprises a fsync system call or a fdatasync system call; and

in response to the system call, the cache management software is configured to permit the server to copy the application write in the local cache to a shared permanent storage so that the application write is stored in the shared permanent storage, wherein the shared permanent storage is shared by a plurality of servers.

5. The apparatus of claim 4 , further comprising:

a storage software configured to provide a second server to access to the application write that is stored in the shared permanent storage after a failover operation from a first server to the second server, wherein the second server can access the application write after the failover operation.

6. The apparatus of claim 4 , wherein the local cache is organized as a transactional log.

7. An article of manufacture, comprising:

a non-transitory computer-readable medium having stored thereon instructions operable to permit an apparatus to:

perform, by an application an application write;

in response to the application write, intercept, by a cache management software, the application write and store, by the cache management software, the application write into a local cache;

after performing the application write, subsequently perform, by the application, a system call to request an underlying storage system to persist any application writes that are not yet persisted;

wherein the system call comprises a fsync system call or a fdatasync system call; and

in response to the system call, copy, by the cache management software, the application write in the local cache to a shared permanent storage so that the application write is stored in the shared permanent storage, wherein the shared permanent storage is shared by a plurality of servers.

8. The article of manufacture of claim 7 , wherein the instructions are further operable to permit an apparatus to provide access to the application write that is stored in the shared permanent storage after a failover operation from a first server to a second server, wherein the second server can access the application write after the failover operation.

9. The article of manufacture of claim 7 , wherein the local cache is organized as a transactional log.

Assignments (2)
SECURITY INTEREST Recorded Oct 18, 2021
From: CACHEBOX, INC.
To: SILICON VALLEY BANK
Reel/Frame 057820/0247 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 26, 2017
From: NAGARAJ, MURALI
To: PRIMARYIO, INC.
Reel/Frame 041745/0154 →
Continuity (2)
Provisional Application 61953997 · Mar 17, 2014
Related Publication 20150261634A1 · Sep 17, 2015