Virtualization and offload reads and writes
First Claim
Patent Images
1. A method implemented at least in part by a computer, the method comprising:
- receiving a first request regarding a virtual environment;
in response to the first request, sending a second request for a representation of first data of a store, the second request conveyed in conjunction with a description that identifies a portion of the store;
in response to the second request, receiving a token that represents second data logically stored in the portion of the store, the second data a subset of the first data, wherein the token is invalidated when the second data changes; and
providing the token together with information indicating to logically write third data via an offload provider, at least one of the first, second, and third data to be retrieved from or stored in a virtual storage container, wherein the information indicating to logically write the third data via an offload provider comprises;
a destination-relative offset identifying a location to write the third data;
a token-relative offset identifying a start of the third data; and
a length identifying the end of the third data.
2 Assignments
0 Petitions
Accused Products
Abstract
Aspects of the subject matter described herein relate to virtualization and offload reads and writes. In aspects, an offload read allows a requestor to obtain a token that represents data while an offload write allows the requestor to request that the data (or a part thereof) represented by a token be logically written. Offload reads and writes may be used to perform various actions for virtual environments.
116 Citations
20 Claims
-
1. A method implemented at least in part by a computer, the method comprising:
-
receiving a first request regarding a virtual environment; in response to the first request, sending a second request for a representation of first data of a store, the second request conveyed in conjunction with a description that identifies a portion of the store; in response to the second request, receiving a token that represents second data logically stored in the portion of the store, the second data a subset of the first data, wherein the token is invalidated when the second data changes; and providing the token together with information indicating to logically write third data via an offload provider, at least one of the first, second, and third data to be retrieved from or stored in a virtual storage container, wherein the information indicating to logically write the third data via an offload provider comprises; a destination-relative offset identifying a location to write the third data; a token-relative offset identifying a start of the third data; and a length identifying the end of the third data. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A physical storage device having computer-executable instructions, which when executed by at least one processor perform a method comprising:
-
receiving, from a virtualization component of a virtual environment, a first request for a representation of first data logically stored in a source store; generating a token that represents second data logically stored in the source store, the second data a subset of the first data, wherein the token is invalidated when the second data changes; associating the token with the second data via a data structure, the token usable to obtain the second data as the data existed when the token was bound to the second data; sending, to the virtualization component, the token; and receiving the token in conjunction with a second request to logically write third data, wherein the request is includes information comprising; a destination-relative offset identifying a location to write the third data; a token-relative offset identifying a start of the third data; and a length identifying the end of the third data. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
-
16. In a computing environment, a system, comprising:
-
a virtualization layer operable to create a virtual environment having one or more virtual storage devices; a virtual storage manager operable to receive a request to logically write data to or from one or more of the virtual storage devices, the virtual storage manager further operable to send a request for a representation of first data in a store, the virtual storage manager further operable to receive a token that represents second data as the second data logically existed when the token was bound to the second data, wherein the token is invalidated when the second data changes, the virtual storage manager further operable to provide the token together with information indicating to logically write third data, wherein the information indicating to logically write the third comprises; a destination-relative offset identifying a location to write the third data; a token-relative offset identifying a start of the third data; and a length identifying the end of the third data; and an offload provider operable to receive the token together with the information, the offload provider further operable to logically write the third data using the token that represents the second data. - View Dependent Claims (17, 18, 19, 20)
-
Specification