De-duplication in a virtualized server environment
First Claim
1. A method for de-duplicating redundant data in memory, storage, or both, comprising:
- providing a virtual machine including a virtualization layer on a computer architecture comprising memory for temporarily storing data, and storage for persistently storing data, the virtualization layer presenting a representation of at least a portion of the memory and at least a portion of the storage to a server application;
running the server application in the virtual machine on the virtualization layer, the server application reading data from the portion of the storage into the portion of the memory and writing data to the portion of the storage from the portion of the memory through the virtualization layer; and
running a data de-duplication application on the computer architecture to de-duplicate data in the memory and in the storage of the computer architecture, wherein the data de-duplication application treats the memory and the storage as separate systems, and wherein the de-duplication application eliminates redundant data in the memory relative only to the data stored in the memory and eliminates redundant data in the storage relative only to the data stored in the storage.
9 Assignments
0 Petitions
Accused Products
Abstract
A data de-duplication application de-duplicates redundant data on the primary storage read/write pathway of a virtualized server environment. The virtualized server environment comprises one or more server applications operating on a virtualization layer provided on a computer architecture that includes memory (e.g., RAM, cache memory) for temporarily storing data and storage (e.g., disk storage) for persistently storing data. The one or more server applications use the read-write pathway to read data into memory from storage and to write data to storage from memory. The de-duplication application identifies redundant data in memory, storage, or both, and replaces the redundant data with one or more pointers pointing to a single copy of the data. The de-duplication application can operate on fixed or variable size blocks of data and can de-duplicate data either post-process or in-line.
-
Citations
20 Claims
-
1. A method for de-duplicating redundant data in memory, storage, or both, comprising:
-
providing a virtual machine including a virtualization layer on a computer architecture comprising memory for temporarily storing data, and storage for persistently storing data, the virtualization layer presenting a representation of at least a portion of the memory and at least a portion of the storage to a server application; running the server application in the virtual machine on the virtualization layer, the server application reading data from the portion of the storage into the portion of the memory and writing data to the portion of the storage from the portion of the memory through the virtualization layer; and running a data de-duplication application on the computer architecture to de-duplicate data in the memory and in the storage of the computer architecture, wherein the data de-duplication application treats the memory and the storage as separate systems, and wherein the de-duplication application eliminates redundant data in the memory relative only to the data stored in the memory and eliminates redundant data in the storage relative only to the data stored in the storage. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A method for de-duplicating data in a computer environment including one or more virtualized server applications, the method comprising:
-
providing a virtualization layer on a computer architecture that includes memory for temporarily storing data, and storage for persistently storing data; operating at least one server application in a virtual machine on the virtualization layer, the at least one server application configured to read data from storage into virtualized memory and to write data from memory to virtualized storage during operation through the virtualization layer which presents a virtualized representation of the computer architecture to the at least one server application, the virtualized representation including the virtualized memory and the virtualized storage; operating a data de-duplication application on the computer architecture to perform ; identifying data read into the virtualized memory that is identical to data already stored in memory; and identifying data written to the virtualized storage that is identical to data already stored in storage; and replacing ; identical data read into the virtualized memory with one or more pointers pointing to the corresponding data already stored in memory of the computer architecture; and identical data written to the virtualized storage with one or more pointers pointing to the corresponding data already stored in storage of the computer architecture, wherein the data de-duplication of the memory is performed relative to the memory and the data de-duplication of the storage is performed relative to the storage, wherein the de-duplication application eliminates redundant data in the memory relative only to the data stored in the memory and eliminates redundant data in the storage relative only to the data stored in the storage, wherein the data de-duplication application is configured to de-duplicate the data across a plurality of virtual machines including the virtual machine. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20)
-
Specification