IP Library Granted Patent US 8,683,484
Granted Patent B2
US 8,683,484 · App. 12/507,960 · Granted Mar 25, 2014

Intelligently pre-placing data for local consumption by workloads in a virtual computing environment

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,683,484
App. No.
12/507,960
Granted
Mar 25, 2014
Kind
B2
Abstract

Methods and apparatus involve intelligently pre-placing data for local consumption by workloads in a virtual computing environment. Access patterns of the data by the workload are first identified. Based thereon, select data portions are migrated from a first storage location farther away the workload to a second storage location closer the workload. Migration also occurs at a time when needed by the workload during use. In this manner, bandwidth for data transmission is minimized. Latency effects created by consumption of remotely stored data is overcome as well. In various embodiments, a data vending service and proxy are situated between a home repository of the data and the workload. Together they serve to manage and migrate the data as needed. Data recognition patterns are disclosed as is apportionment of the whole of the data into convenient migration packets. De/Encryption, (de)compression, computing systems and computer program products are other embodiments.

Claims (28)

1. In a computing system environment, a method of placing data for consumption by workloads of computing devices having hardware platforms, comprising:

identifying patterns of access by the workload to the data stored on a storage computing device at a first storage location to predetermine when and which portion of the data the workload will consume by establishing traces, the traces comprising trace data defining at least one of an order and a timing of access to particular storage blocks of the data by the workload, wherein the order reveals patterns of the storage blocks of the data being accessed in sequential, algorithmic, or back and forth manner;

based on the traces, apportioning a whole of the data into portions whereby a data access pattern of the workload is satisfied; and

migrating a first portion of the data from the storage computing device at the first storage location farther away from the workload to a second storage computing device at a second storage location closer to the workload just in time for consumption by the workload during use.

2. The method of claim 1 , further including deploying the workload first near the storage location to said identify the access patterns and second near the second storage location in a cloud computing environment, the second deploying of the workload occurring before the migrating the portion of the data.

3. The method of claim 1 , further including migrating a next portion of the data from the storage computing device at the storage location farther away from the workload to the second storage computing device at the second storage location closer to the workload at a second time later said time when just needed by the workload during use.

4. The method of claim 3 , further including destroying the migrated portion of the data at the second storage computing device at the second storage location closer to the workload after said migrating the next portion of the data.

5. The method of claim 1 , further including compressing the portion of the data before the migrating and decompressing the portion of the data after the migrating.

6. The method of claim 1 , further including encrypting the portion of the data before the migrating and decrypting the portion of the data after the migrating.

7. In a computing system environment, a method of placing data for consumption by workloads of computing devices having hardware platforms, comprising:

deploying the workload to a computing device for use;

establishing traces for patterns of access of the workload to the data stored on a storage computing device at a first storage location to predetermine when and which portion of the data the workload will consume, the traces comprising trace data defining at least one of an order and a timing of access to particular storage blocks of the data by the workload, wherein the order reveals patterns of the storage blocks of the data being accessed in sequential, algorithmic, or back and forth manner;

based on the traces, apportioning the data into portions for said consumption by the workload whereby a data access pattern of the workload is satisfied; and

migrating a first portion of the data to a second storage computing device at a second storage location closer to the workload just in time for said consumption by the workload during use.

8. The method of claim 7 , wherein the apportioning the data further includes establishing a ratio of total data size to needed data size.

9. The method of claim 8 , wherein the migrating further includes migrating the first portion of the data in an amount satisfying the ratio and later migrating a second portion of the data in a second amount also satisfying the ratio.

10. The method of claim 9 , wherein the migrating the first and second portions further includes migrating overlapping portions of a whole of the data.

11. The method of claim 7 , further including deploying the workload to a hardware platform other than a first hardware platform where the establishing traces occurred.

12. The method of claim 9 , wherein the migrating the first and second portions further includes destroying the migrated first portion of the data at the second storage computing device at the second storage location closer to the workload after said migrating the second portion of the data.

13. A computing system to place data for consumption by workloads, comprising:

at least first and second computing devices having a hardware platform with a processor and memory upon which a plurality of workloads can be configured under the scheduling control of a hypervisor;

at least first and second storage devices local to the first and second computing devices respectively for storing the data that is to be consumed by the workloads;

a data vending service configured with the first storage device to migrate portions of a whole of the data to the second storage device closer to the second computing device at a time when one of the workloads is deployed on the second computing device, but formerly deployed on the first computing device; and

a data proxy service configured with each said workload to migrate portions of a whole of the data by the data vending service whereby a data access pattern of the workload is satisfied, the data access pattern being defined by predetermined trace data defining at least one of an order and a timing of access to particular storage blocks of the data by the workload, wherein the order consists of access patterns of the workload to the storage blocks of the data in sequential, algorithmic, or back and forth manner.

14. The computing system of claim 13 , further wherein the data proxy service is in communication with the data vending service to expose storage semantics of the migrated portions of the whole of the data to appear as locally stored data to the one of the workloads when deployed on the second computing device.

15. The computing system of claim 13 , wherein the data vending service is configured as executable instructions and authenticates any of the workloads that may seek to use any of said portions of the whole of the data.

16. The computing system of claim 13 , wherein the data vending service and the data proxy service are configured to communicate via a secure computing tunnel.

17. The computing system of claim 13 , further including executable instructions to compress or encrypt any of said portions of the whole of the data before the migration by the data vending service.

Assignments (19)
RELEASE OF SECURITY INTEREST REEL/FRAME 035656/0251 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: BORLAND SOFTWARE CORPORATION; ATTACHMATE CORPORATION; NETIQ CORPORATION; MICRO FOCUS (US), INC.; MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.)
Reel/Frame 062623/0009 →
RELEASE OF SECURITY INTEREST REEL/FRAME 044183/0718 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: MICRO FOCUS LLC (F/K/A ENTIT SOFTWARE LLC); BORLAND SOFTWARE CORPORATION; MICRO FOCUS (US), INC.; SERENA SOFTWARE, INC; ATTACHMATE CORPORATION; MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.); NETIQ CORPORATION
Reel/Frame 062746/0399 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME - 042388/0386 AND REEL/FRAME - 044183/0577 Recorded Mar 18, 2019
From: JPMORGAN CHASE BANK, N.A.
To: SUSE LLC
Reel/Frame 048628/0221 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME - : 044183/0718 Recorded Mar 18, 2019
From: JPMORGAN CHASE BANK, N.A.
To: SUSE LLC
Reel/Frame 048628/0436 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 20, 2019
From: MICRO FOCUS SOFTWARE INC.
To: SUSE LLC
Reel/Frame 048379/0548 →
CORRECTIVE ASSIGNMENT TO CORRECT THE TO CORRECT TYPO IN APPLICATION NUMBER 10708121 WHICH SHOULD BE 10708021 PREVIOUSLY RECORDED ON REEL 042388 FRAME 0386. ASSIGNOR(S) HEREBY CONFIRMS THE NOTICE OF SUCCESSION OF AGENCY. Recorded Jul 26, 2018
From: BANK OF AMERICA, N.A., AS PRIOR AGENT
To: JPMORGAN CHASE BANK, N.A., AS SUCCESSOR AGENT
Reel/Frame 048793/0832 →
SECURITY INTEREST Recorded Oct 11, 2017
From: ATTACHMATE CORPORATION; BORLAND SOFTWARE CORPORATION; NETIQ CORPORATION; MICRO FOCUS (US), INC.; MICRO FOCUS SOFTWARE, INC.; ENTIT SOFTWARE LLC; ARCSIGHT, LLC; SERENA SOFTWARE, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 044183/0718 →
NOTICE OF SUCCESSION OF AGENCY Recorded May 2, 2017
From: BANK OF AMERICA, N.A., AS PRIOR AGENT
To: JPMORGAN CHASE BANK, N.A., AS SUCCESSOR AGENT
Reel/Frame 042388/0386 →
CHANGE OF NAME Recorded Sep 13, 2016
From: NOVELL, INC.
To: MICRO FOCUS SOFTWARE INC.
Reel/Frame 040020/0703 →
SECURITY INTEREST Recorded May 13, 2015
From: MICRO FOCUS (US), INC.; BORLAND SOFTWARE CORPORATION; ATTACHMATE CORPORATION; NETIQ CORPORATION; NOVELL, INC.
To: BANK OF AMERICA, N.A.
Reel/Frame 035656/0251 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 028252/0216 Recorded Nov 24, 2014
From: CREDIT SUISSE AG
To: NOVELL, INC.
Reel/Frame 034470/0680 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 028252/0316 Recorded Nov 24, 2014
From: CREDIT SUISSE AG
To: NOVELL, INC.
Reel/Frame 034469/0057 →
GRANT OF PATENT SECURITY INTEREST SECOND LIEN Recorded May 23, 2012
From: NOVELL, INC.
To: CREDIT SUISSE AG, AS COLLATERAL AGENT
Reel/Frame 028252/0316 →
GRANT OF PATENT SECURITY INTEREST FIRST LIEN Recorded May 23, 2012
From: NOVELL, INC.
To: CREDIT SUISSE AG, AS COLLATERAL AGENT
Reel/Frame 028252/0216 →
RELEASE OF SECURITY INTEREST IN PATENTS FIRST LIEN (RELEASES RF 026270/0001 AND 027289/0727) Recorded May 22, 2012
From: CREDIT SUISSE AG, AS COLLATERAL AGENT
To: NOVELL, INC.
Reel/Frame 028252/0077 →
RELEASE OF SECURITY IN PATENTS SECOND LIEN (RELEASES RF 026275/0018 AND 027290/0983) Recorded May 22, 2012
From: CREDIT SUISSE AG, AS COLLATERAL AGENT
To: NOVELL, INC.
Reel/Frame 028252/0154 →
GRANT OF PATENT SECURITY INTEREST (SECOND LIEN) Recorded May 13, 2011
From: NOVELL, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 026275/0018 →
GRANT OF PATENT SECURITY INTEREST Recorded May 12, 2011
From: NOVELL, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 026270/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 23, 2009
From: SRINIVASAN, KATTIGANEHALLI Y.
To: NOVELL, INC.
Reel/Frame 022996/0377 →