Systems and apparatuses for aggregating nodes to form an aggregated virtual storage for a virtualized desktop environment
First Claim
1. A virtual storage system comprising:
- a subset of servers including a plurality of processors and a plurality of memories;
an aggregated virtual storage comprising the plurality of memories, each of the plurality of memories being associated with a corresponding server in the subset of servers; and
a storage aggregator processor coupled to a memory including executable instructions to disperse duplicative data comprising copies of original data by distributing the copies of original data and the original data among the subset of servers or a portion thereof, and generate a data structure for storage in each memory in an associated server in the subset of servers, each of the data structures being configured to store a reference to duplicative data stored in a first number of servers in the subset of servers, the memory further including executable instructions to translate between disk memory access requests and access requests with the aggregated virtual storage,wherein the duplicative data provides redundancy when a second number of servers, or fewer, in the subset of servers are inaccessible.
2 Assignments
0 Petitions
Accused Products
Abstract
Embodiments of the invention relate generally to software, data storage, and virtualized computing and processing resources. More specifically, systems and apparatuses are described for aggregating nodes to form an aggregated virtual storage for a virtualized desktop environment. In one embodiment, a virtual storage system includes servers including processors and memories, and an aggregated virtual storage including the memories, each of the memories being associated with a corresponding server. Also included is a storage aggregator processor coupled to a memory including executable instructions to generate a data structure for storage in each memory in an associated server in the servers, each of the data structures being configured to store a reference to duplicative data stored in a first number of servers in the servers. The duplicative data provides redundancy when a second number of servers, or fewer, in the servers are inaccessible.
-
Citations
19 Claims
-
1. A virtual storage system comprising:
-
a subset of servers including a plurality of processors and a plurality of memories; an aggregated virtual storage comprising the plurality of memories, each of the plurality of memories being associated with a corresponding server in the subset of servers; and a storage aggregator processor coupled to a memory including executable instructions to disperse duplicative data comprising copies of original data by distributing the copies of original data and the original data among the subset of servers or a portion thereof, and generate a data structure for storage in each memory in an associated server in the subset of servers, each of the data structures being configured to store a reference to duplicative data stored in a first number of servers in the subset of servers, the memory further including executable instructions to translate between disk memory access requests and access requests with the aggregated virtual storage, wherein the duplicative data provides redundancy when a second number of servers, or fewer, in the subset of servers are inaccessible. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A node storage aggregator comprising:
-
interfaces configured to exchange data with nodes; a hash generator configured to generate a hash value for a portion of data; a metadata generator configured to generate data structures to store metadata in each of the nodes, the metadata including the hash value for the portion of data and node identifiers specifying a subset of nodes at which the portion of data is to be stored; a duplication module configured to generate duplicate portions of the data, and to store each of the duplicate portions of the data at each node in the subset of nodes; and a redundant node access module configured to read the metadata in parallel from each of the nodes, to determine non-responsive nodes in the subset of nodes, and to extract at least one duplicate portion of the data from responsive nodes in the subset of nodes. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
-
16. A system including one or more processors and one or more memories, the system comprising:
-
an aggregated virtual storage comprising subsets of memories in subsets of servers; a hypervisor comprising one or more computing devices including processors and memory including executable instructions configured to provide a virtualization layer for a plurality of virtual desktop machines; a deduplication application including executable instructions to deduplicate data received from a virtual desktop machine as the data is written to the aggregate virtual storage; and a node storage aggregator configured to disperse duplicative data comprising copies of original data by distributing the copies of original data and the original data among the subset of servers or a portion thereof, and generate a data structure for storage in each memory in a subset of memories in a subset of servers, each of the data structures being further configured to store a reference to duplicative data stored in a first number of servers in the subset of servers, wherein the duplicative data provides redundancy when a second number of servers in the subset of servers are inaccessible. - View Dependent Claims (17)
-
-
18. A method, comprising:
-
exchanging data with nodes through interfaces of a node storage aggregator; generating, with a processor, a hash value for a portion of data; generating data structures to store metadata in each of the nodes, the metadata including the hash value for the portion of data and node identifiers specifying a subset of nodes at which the portion of data is to be stored; generating duplicate portions of the data; storing each of the duplicate portions of the data at each node in the subset of nodes; and reading the metadata in parallel from each of the nodes to determine non-responsive nodes in the subset of nodes, and to extract at least one duplicate portion of the data from responsive nodes in the subset of nodes. - View Dependent Claims (19)
-
Specification