Safe data access following storage failure
First Claim
1. A system comprising:
- at least one processor; and
a memory storing instructions that when executed by the at least one processor perform a set of operations comprising;
generating, by an application, an indication to enable failure reporting of a failure during a communication session with a storage system;
sending a first access request for target data to the storage system, the first access request associated with a first request identifier;
storing, by the system, the first request identifier;
receiving a first access response granting access to the target data;
receiving notification of a first failure;
based on the notification of the first failure, pausing the application;
resuming the application;
sending a resume request for the target data to the storage system, the resume request associated with the first request identifier; and
receiving a resume response granting access to the target data.
2 Assignments
0 Petitions
Accused Products
Abstract
A request identifier is employed with various systems and methods in order to enable an application to pause execution during a failure and subsequently resume execution and communication with a storage system once the failure is resolved. An application residing on a node may attempt to access target data on a storage system. The application sends a request to access the target data. The request may be associated with a request identifier that identifies the application. When the storage system experiences a failure, the application receives a failure notification. The application pauses execution as a result of the notification. When the node reestablishes a connection to the storage system, the application resumes execution using the same request identifier. If the resume request is granted, the application is guaranteed that the target data was not modified during the failure.
69 Citations
20 Claims
-
1. A system comprising:
-
at least one processor; and a memory storing instructions that when executed by the at least one processor perform a set of operations comprising; generating, by an application, an indication to enable failure reporting of a failure during a communication session with a storage system; sending a first access request for target data to the storage system, the first access request associated with a first request identifier; storing, by the system, the first request identifier; receiving a first access response granting access to the target data; receiving notification of a first failure; based on the notification of the first failure, pausing the application; resuming the application; sending a resume request for the target data to the storage system, the resume request associated with the first request identifier; and receiving a resume response granting access to the target data. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A computer-implemented method, the method comprising:
-
enabling failure reporting by an input/output (IO) manager of a failure during a communication session with a storage system; sending a first access request for target data to the storage system, the first access request associated with a first request identifier; storing the first request identifier; receiving a first access response granting access to the target data; receiving, from the IO manager, notification of a first failure; based on the notification of the first failure, pausing the application; resuming the application; sending a resume request for the target data to the storage system, the resume request associated with the first request identifier; and receiving a resume response granting access to the target data. - View Dependent Claims (11, 12, 13, 14, 15)
-
-
16. A computer-implemented method, the method comprising:
-
generating, by an application, an indication to enable failure reporting of a failure during a communication session with a storage system; sending a first access request for target data to the storage system, the first access request associated with a first request identifier; storing the first request identifier; receiving a first access response granting access to the target data; receiving notification of a first failure; based on the notification of the first failure, pausing the application; receiving notification of resolution of the first failure; based on the notification of resolution, resuming the application; sending a resume request for the target data to the storage system, the resume request associated with the first request identifier; and receiving a resume response granting access to the target data. - View Dependent Claims (17, 18, 19, 20)
-
Specification