METHOD AND SYSTEM FOR CROSS-DOMAIN DATA SHARING
First Claim
1. A method for sharing data between a first domain and a second domain, comprising:
- issuing a first request for data from a storage pool by the first domain, wherein the first request comprises a first pseudo-physical page number, wherein the first domain comprises a first domain address map, and wherein the first domain address map comprises an entry associating the first pseudo-physical page number with a first virtual memory address;
receiving the first request by a control domain driver in a control domain;
obtaining the data from the storage pool by the control domain driver;
storing a first copy of the data in shared memory at a first physical address, wherein the shared memory is accessible by the control domain, the first domain, and the second domain;
updating a hypervisor page map to include an entry associating the first pseudo-physical page number with the first physical address;
notifying the first domain that the first request has been completed;
issuing a second request for the data from the storage pool by the second domain, wherein the second request comprises a second pseudo-physical page number, wherein the second domain comprises a second domain address map, and wherein the second domain address map comprises an entry associating the second pseudo-physical page number with a second virtual memory address;
receiving the second request by the control domain driver in the control domain;
determining by the control domain driver that the first copy of the data is present in the shared memory;
updating the hypervisor page map to include an entry associating the second pseudo-physical page number with the first physical address; and
notifying the second domain that the second request has been completed,wherein the first domain and second domain communicate with the control domain using a hypervisor.
2 Assignments
0 Petitions
Accused Products
Abstract
A method for sharing data between a first domain and a second domain, including issuing a first request for data from a storage pool by the first domain, receiving the first request by a control domain driver in a control domain, obtaining the data by the control domain driver, storing a first copy of the data in shared memory at a first physical address, updating a hypervisor page map to include an entry associating a first pseudo-physical page number with the first physical address, notifying the first domain that the first request has been completed, issuing a second request for the data by the second domain, receiving the second request by the control domain driver, determining that the first copy of the data is present in the shared memory, and updating the hypervisor page map to include an entry associating the second pseudo-physical page number with the first physical address.
-
Citations
20 Claims
-
1. A method for sharing data between a first domain and a second domain, comprising:
-
issuing a first request for data from a storage pool by the first domain, wherein the first request comprises a first pseudo-physical page number, wherein the first domain comprises a first domain address map, and wherein the first domain address map comprises an entry associating the first pseudo-physical page number with a first virtual memory address; receiving the first request by a control domain driver in a control domain; obtaining the data from the storage pool by the control domain driver; storing a first copy of the data in shared memory at a first physical address, wherein the shared memory is accessible by the control domain, the first domain, and the second domain; updating a hypervisor page map to include an entry associating the first pseudo-physical page number with the first physical address; notifying the first domain that the first request has been completed; issuing a second request for the data from the storage pool by the second domain, wherein the second request comprises a second pseudo-physical page number, wherein the second domain comprises a second domain address map, and wherein the second domain address map comprises an entry associating the second pseudo-physical page number with a second virtual memory address; receiving the second request by the control domain driver in the control domain; determining by the control domain driver that the first copy of the data is present in the shared memory; updating the hypervisor page map to include an entry associating the second pseudo-physical page number with the first physical address; and notifying the second domain that the second request has been completed, wherein the first domain and second domain communicate with the control domain using a hypervisor. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A computer readable medium comprising instructions executable by a processor for performing a method, the method comprising:
-
issuing a first request for data from a storage pool by a first domain, wherein the first request comprises a first pseudo-physical page number, wherein the first domain comprises a first domain address map, and wherein the first domain address map comprises an entry associating the first pseudo-physical page number with a first virtual memory address; receiving the first request by a control domain driver in a control domain; obtaining the data from the storage pool by the control domain driver; storing a first copy of the data in shared memory at a first physical address, wherein the shared memory is accessible by the control domain, the first domain, and a second domain; updating a hypervisor page map to include an entry associating the first pseudo-physical page number with the first physical address; notifying the first domain that the first request has been completed; issuing a second request for the data from the storage pool by the second domain, wherein the second request comprises a second pseudo-physical page number, wherein the second domain comprises a second domain address map, and wherein the second domain address map comprises an entry associating the second pseudo-physical page number with a second virtual memory address; receiving the second request by the control domain driver in the control domain; determining by the control domain driver that the first copy of the data is present in the shared memory; updating the hypervisor page map to include an entry associating the second pseudo-physical page number with the first physical address; and notifying the second domain that the second request has been completed, wherein the first domain and second domain communicate with the control domain using a hypervisor. - View Dependent Claims (12, 13, 16, 17, 18)
-
-
14. The computer readable medium of claim 14,
wherein the control domain, the first domain, and the second domain execute on a host computer comprising main memory and operatively connected to the storage pool; -
wherein the main memory comprises the shared memory and the virtual memory allocated for the first domain; and wherein the file system, the first clone of the file system, and the second file system are stored in the storage pool. - View Dependent Claims (15)
-
-
19. A system, comprising:
-
a processor; main memory comprising shared memory; a storage pool, wherein the storage pool comprises instructions executable by the processor to perform a method, the method comprising; issuing a first request for data from a storage pool by a first domain, wherein the first request comprises a first pseudo-physical page number, wherein the first domain comprises a first domain address map, and wherein the first domain address map comprises an entry associating the first pseudo-physical page number with a first virtual memory address; receiving the first request by a control domain driver in a control domain; obtaining the data from the storage pool by the control domain driver; storing a first copy of the data in the shared memory at a first physical address, wherein the shared memory accessible by the control domain, the first domain, and a second domain; updating a hypervisor page map to include an entry associating the first pseudo-physical page number with the first physical address; notifying the first domain that the first request has been completed; issuing a second request for the data from the storage pool by the second domain, wherein the second request comprises a second pseudo-physical page number, wherein the second domain comprises a second domain address map, and wherein the second domain address map comprises an entry associating the second pseudo-physical page number with a second virtual memory address; receiving the second request by the control domain driver in the control domain; determining by the control domain driver that the first copy of the data is present in the shared memory; updating the hypervisor page map to include an entry associating the second pseudo-physical page number with the first physical address; and notifying the second domain that the second request has been completed, wherein the first domain and second domain communicate with the control domain using a hypervisor. - View Dependent Claims (20)
-
Specification