Offload Read and Write Offload Provider
First Claim
Patent Images
1. A method implemented at least in part by a computer, the method comprising:
- at a data access component, receiving a write request directed at a storage container, the write request involving storage locations of data represented by a token, the token previously issued by an offload provider responsible for ensuring that the data represented by the token is not allowed to change while the token is valid;
in response to receiving the write request, performing an action, the action depending on implementation of the offload provider, the action including one or more of;
invalidating the token,copying the data affected by the write request to another storage location,copying the data affected by the write request to other memory that includes volatile and/or nonvolatile elements in conjunction with updating the token to reference the other memory,unsparing shared storage locations used to store the data, andcausing the write request to write to a new storage location that does not affect the data represented by the token.
2 Assignments
0 Petitions
Accused Products
Abstract
Aspects of the subject matter described herein relate to an offload provider. In aspects, an offload provider may provide a token that represents data. The offload provider may be expected to ensure that the data the token represents will not change while the token is valid. The offload provider may take actions to ensure the immutability of the data. The actions may be taken, for example, in conjunction with receiving an offload read and/or offload write, and/or in conjunction with receiving another write that, if allowed to proceed, would otherwise change the data represented by the token.
35 Citations
20 Claims
-
1. A method implemented at least in part by a computer, the method comprising:
-
at a data access component, receiving a write request directed at a storage container, the write request involving storage locations of data represented by a token, the token previously issued by an offload provider responsible for ensuring that the data represented by the token is not allowed to change while the token is valid; in response to receiving the write request, performing an action, the action depending on implementation of the offload provider, the action including one or more of; invalidating the token, copying the data affected by the write request to another storage location, copying the data affected by the write request to other memory that includes volatile and/or nonvolatile elements in conjunction with updating the token to reference the other memory, unsparing shared storage locations used to store the data, and causing the write request to write to a new storage location that does not affect the data represented by the token. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. In a computing environment, a system, comprising:
-
an offload provider operable to provide a token in response to receiving an offload read request, the token initially representing data of a storage container, the offload provider responsible for ensuring that the data represented by the token is not allowed to change while the token is valid, the offload provider further operable to receive a write request and determine that the write request involves storage locations also used to store data represented by the token, the offload provider further operable to take action to ensure that the data represented by the token is not allowed to change while the token is valid, the action including one or more of; invalidating the token, copying the data to another location in response to receiving the write request, unsparing shared storage used to store the data, logically copying the data to another location in conjunction with providing the token in response to receiving the offload read request, in performing a logical write, writing a portion of the logically-written data to a newly-allocated physical storage location, taking a snapshot of the storage container or a portion thereof, and associating the token with a portion of a read-only storage container that logically includes the data. - View Dependent Claims (18, 19)
-
-
20. A method implemented at least in part by a computer, the method comprising:
-
sending an offload read request to an offload provider, the offload provider operable to provide a token in response to receiving the offload read request, the token representing data of a storage container, the offload provider responsible for ensuring that the data represented by the token is not allowed to change while the token is valid; receiving the token; sending a write request that involves the data represented by the token, the offload provider further operable to take action to ensure that the data represented by the token is not allowed to change while the token is valid, the action including one or more of; invalidating the token, copying the data to another location in response to receiving the write request, unsparing shared storage used to store the data, logically copying the data to another location in conjunction with providing the token in response to receiving the offload read request, in servicing a write request, writing a portion of the data as indicated by the write request to a newly-allocated physical storage location, taking a snapshot of the storage container or a portion thereof, and associating the token with a read-only storage container that logically includes the data.
-
Specification