IP Library Granted Patent US 8,886,857
Granted Patent B2
US 8,886,857 · App. 14/199,492 · Granted Nov 11, 2014

Data consolidation using a common portion accessible by multiple devices

Inventors: Jeffry Z. Slutzky (Lake Worth, FL); Roni J. Putra (Pompano Beach, FL); Ziya Aral (Pompano Beach, FL)
Assignee: DataCore Software Corporation
G06F12/0866G06F2212/224
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,886,857
App. No.
14/199,492
Granted
Nov 11, 2014
Kind
B2
Abstract

Multiple devices are provided access to a common, single instance of data and may use it without consuming resources beyond what would be required if only one device were using that data in a traditional configuration. In order to retain the device-specific differences, they are kept separate, but their relationship to the common data is maintained. All of this is done in a fashion that allows a given device to perceive and use its data as though it was its own separately accessible data.

Claims (60)

1. A method for presenting virtual disks to devices, the method comprising:

presenting the virtual disks to the devices;

providing an instance of a common portion of data and device-specific portions of data that are accessible in response to transactions directed to the virtual disks by the devices,

wherein the instance of the common portion of data is implemented as underlying data for each of the virtual disks, and

the device-specific portions of data are respectively implemented as underlying data for modifications to the common portion of data for respective ones of the virtual disks; and

maintaining respective caches for the common portion of data and the device-specific portions of data, such that the instance of the common portion of data is accessible for the transactions directed to any of the virtual disks without requiring replication of the common portion of data, while modifications to the common portion of data are respectively maintained for the device-specific portions of data.

2. The method of claim 1 , further comprising:

maintaining a common portion cache for the common portion of data;

receiving read requests from the plurality of devices, directed to the plurality of virtual disks; and

directing the read requests to the common portion cache.

3. The method of claim 2 , further comprising:

maintaining device-specific caches respectively corresponding to the plurality of device-specific portions;

receiving a write request corresponding to a given virtual disk presented to a given device; and

copying original source data corresponding the write request to a device-specific portion cache for the given virtual disk.

4. The method of claim 1 , further comprising:

maintaining a common portion cache for the common portion of data;

receiving read requests from the plurality of devices, directed to the plurality of virtual disks; and

directing the read requests to the common portion cache, and updating the common portion cache to include data read in the read requests following a cache miss, such that the common portion cache is populated with data.

5. The method of claim 1 , wherein the common portion of data comprises an operating system.

6. The method of claim 1 , wherein the common portion of data comprises application data.

7. A non-transitory computer readable medium storing program code for presenting virtual disks to devices, the program code being executable to perform operations comprising:

presenting the virtual disks to the devices;

providing an instance of a common portion of data and device-specific portions of data that are accessible in response to transactions directed to the virtual disks by the devices,

wherein the instance of the common portion of data is implemented as underlying data for each of the virtual disks, and

the device-specific portions of data are respectively implemented as underlying data for modifications to the common portion of data for respective ones of the virtual disks; and

maintaining respective caches for the common portion of data and the device-specific portions of data, such that the instance of the common portion of data is accessible for the transactions directed to any of the virtual disks without requiring replication of the common portion of data, while modifications to the common portion of data are respectively maintained for the device-specific portions of data.

8. The computer readable medium of claim 7 , wherein the operations further comprise:

maintaining a common portion cache for the common portion of data;

receiving read requests from the plurality of devices, directed to the plurality of virtual disks; and

directing the read requests to the common portion cache.

9. The computer readable medium of claim 8 , wherein the operations further comprise:

maintaining device-specific caches respectively corresponding to the plurality of device-specific portions;

receiving a write request corresponding to a given virtual disk presented to a given device; and

copying original source data corresponding the write request to a device-specific portion cache for the given virtual disk.

10. The computer readable medium of claim 7 , wherein the operations further comprise:

maintaining a common portion cache for the common portion of data;

receiving read requests from the plurality of devices, directed to the plurality of virtual disks; and

directing the read requests to the common portion cache, and updating the common portion cache to include data read in the read requests following a cache miss, such that the common portion cache is populated with data.

11. An apparatus for presenting virtual disks to devices, the apparatus comprising:

a processor; and

a memory, the memory storing program code executable by the processor to perform operations comprising:

presenting the virtual disks to the devices;

providing an instance of a common portion of data and device-specific portions of data that are accessible in response to transactions directed to the virtual disks by the devices,

wherein the instance of the common portion of data is implemented as underlying data for each of the virtual disks, and

the device-specific portions of data are respectively implemented as underlying data for modifications to the common portion of data for respective ones of the virtual disks; and

maintaining respective caches for the common portion of data and the device-specific portions of data, such that the instance of the common portion of data is accessible for the transactions directed to any of the virtual disks without requiring replication of the common portion of data, while modifications to the common portion of data are respectively maintained for the device-specific portions of data.

12. The apparatus of claim 11 , wherein the operations further comprise:

maintaining a common portion cache for the common portion of data;

receiving read requests from the plurality of devices, directed to the plurality of virtual disks; and

directing the read requests to the common portion cache.

13. The apparatus of claim 12 , wherein the operations further comprise:

maintaining device-specific caches respectively corresponding to the plurality of device-specific portions;

receiving a write request corresponding to a given virtual disk presented to a given device; and

copying original source data corresponding the write request to a device-specific portion cache for the given virtual disk.

14. The apparatus of claim 12 , wherein the operations further comprise:

maintaining a common portion cache for the common portion of data;

receiving read requests from the plurality of devices, directed to the plurality of virtual disks; and

directing the read requests to the common portion cache, and updating the common portion cache to include data read in the read requests following a cache miss, such that the common portion cache is populated with data.

15. The apparatus of claim 12 , wherein the common portion of data comprises an operating system.

16. The apparatus of claim 1 , wherein the common portion of data comprises application data.

Assignments (3)
SECURITY INTEREST Recorded May 29, 2024
From: DATACORE SOFTWARE CORPORATION
To: VISTARA TECHNOLOGY GROWTH FUND V MASTER, LP
Reel/Frame 067563/0884 →
SECURITY INTEREST Recorded Oct 28, 2021
From: DATACORE SOFTWARE CORPORATION
To: STIFEL BANK
Reel/Frame 057969/0086 →
SECURITY INTEREST Recorded Dec 14, 2017
From: DATACORE SOFTWARE CORPORATION
To: SILICON VALLEY BANK
Reel/Frame 044400/0417 →
Continuity (2)
Continuation 13441150 · Apr 6, 2012
Related Publication 20140304468A1 · Oct 9, 2014