IP Library Granted Patent US 9,524,111
Granted Patent B1
US 9,524,111 · App. 15/181,278 · Granted Dec 20, 2016

Devices, systems, apparatus, and methods for transparent and automated optimization of storage resource allocation in a cloud services system

Inventors: Prakash Manden (Boxborough, MA); Prashant Parikh (Holtsville, NY); Jin Ren (Acton, MA); Jienhua Huang (Billerica, MA)
Assignee: FittedCloud, Inc.
G06F3/0611G06F3/0631G06F3/0685
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 9,524,111
App. No.
15/181,278
Granted
Dec 20, 2016
Kind
B1
Abstract

A device or system includes a plurality of storage resources each associated with a respective performance class, each being associated with selected performance characteristics such as IOPS, bandwidth, etc. The device or system includes a compute instance having access to allocated storage resources, the allocated storage devices including one or more storage resources. The device or system also includes an optimization component adapted to obtain information relating to utilization by the compute instance component of the allocated storage resources, determine that a change to the allocated storage resources is necessary, based on the information, cause data to be migrated from a first storage resource associated with a first performance class to a second storage resource associated with a second storage class, and cause a removal from the allocated storage resources of the first storage resource and an addition to the allocated storage resources of the second storage resource.

Claims (66)

1. A device comprising:

a processor;

a memory adapted to store data; and

an optimization component communicatively coupled to the memory, the optimization component adapted to:

receive information relating to utilization, by a compute instance operating within a network, of allocated storage resources, the allocated storage resources comprising a first storage resource associated with a first performance class and a second storage resource associated with a second performance class;

determine that a change to the allocated storage resources is necessary, based on the information; and

cause a removal from the allocated storage resources of the first storage resource and an addition to the allocated storage resources of the second storage resource;

wherein:

the first performance class is associated with a first measure of input/output operations per second (IOPS); and

the second performance class is associated with a second measure of IOPS lower than the first measure of IOPS.

2. A system for allocating access to storage resources distributed within a network, the system comprising:

a plurality of storage resources distributed within a network, each storage resource associated with one of a plurality of performance classes;

a compute instance component having access to allocated storage resources, the allocated storage resources including one or more of the plurality of storage resources;

an optimization component adapted to:

obtain information relating to utilization by the compute instance component of the allocated storage resources;

determine that a change to the allocated storage resources is necessary, based on the information;

cause data to be migrated from a first storage resource associated with a first performance class to a second storage resource associated with a second performance class; and

cause a removal from the allocated storage resources of the first storage resource and an addition to the allocated storage resources of the second storage resource;

wherein:

the first performance class is associated with a first measure of input/output operations per second (IOPS); and

the second performance class is associated with a second measure of IOPS lower than the first measure of IOPS.

3. A system for allocating access to storage resources distributed within a network, the system comprising:

a plurality of storage resources distributed within a network, each storage resource associated with one of a plurality of performance classes;

a compute instance component having access to allocated storage resources, the allocated storage resources including one or more of the plurality of storage resources;

an optimization component adapted to:

obtain information relating to utilization by the compute instance component of the allocated storage resources;

determine that a change to the allocated storage resources is necessary, based on the information;

cause data to be migrated from a first storage resource associated with a first performance class to a second storage resource associated with a second performance class; and

cause a removal from the allocated storage resources of the first storage resource and an addition to the allocated storage resources of the second storage resource;

wherein:

the first performance class is associated with a first measure of bandwidth; and

the second performance class is associated with a second measure of bandwidth different from the first measure of bandwidth.

4. A system for allocating access to storage resources distributed within a network, the system comprising:

a plurality of storage resources distributed within a network, each storage resource associated with one of a plurality of performance classes;

a compute instance component having access to allocated storage resources, the allocated storage resources including one or more of the plurality of storage resources;

an optimization component adapted to:

obtain information relating to utilization by the compute instance component of the allocated storage resources;

determine that a change to the allocated storage resources is necessary, based on the information;

cause data to be migrated from a first storage resource associated with a first performance class to a second storage resource associated with a second performance class; and

cause a removal from the allocated storage resources of the first storage resource and an addition to the allocated storage resources of the second storage resource;

wherein:

the first performance class is associated with a first measure of latency; and

the second performance class is associated with a second measure of latency different from the first measure of latency.

5. A system for allocating access to storage resources distributed within a network, the system comprising:

a plurality of storage resources distributed within a network, each storage resource associated with one of a plurality of performance classes;

a compute instance component having access to allocated storage resources, the allocated storage resources including one or more of the plurality of storage resources;

an optimization component adapted to:

obtain information relating to utilization by the compute instance component of the allocated storage resources;

determine that a change to the allocated storage resources is necessary, based on the information;

cause data to be migrated from a first storage resource associated with a first performance class to a second storage resource associated with a second performance class; and

cause a removal from the allocated storage resources of the first storage resource and an addition to the allocated storage resources of the second storage resource;

wherein:

the first performance class is associated with a first storage capacity; and

the second storage class is associated with a second storage capacity lower than the first storage capacity.

6. A system for allocating access to storage resources distributed within a network, the system comprising:

a plurality of storage resources distributed within a network, each storage resource associated with one of a plurality of performance classes;

a compute instance component having access to allocated storage resources, the allocated storage resources including one or more of the plurality of storage resources;

an optimization component adapted to:

obtain information relating to utilization by the compute instance component of the allocated storage resources;

determine that a change to the allocated storage resources is necessary, based on the information;

cause data to be migrated from a first storage resource associated with a first performance class to a second storage resource associated with a second performance class; and

cause a removal from the allocated storage resources of the first storage resource and an addition to the allocated storage resources of the second storage resource;

wherein:

the first performance class is associated with a particular performance attribute;

wherein the optimization component is further adapted to:

determine that a change to the allocated storage resources is necessary, in response to a determination that a discrepancy exists between the utilization of the allocated storage resources and the particular performance attribute.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 20, 2023
From: APPTIO, INC.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 065618/0956 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 13, 2018
From: FITTEDCLOUD, INC.
To: APPTIO, INC.
Reel/Frame 047773/0163 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 14, 2016
From: MANDEN, PRAKASH; PARIKH, PRASHANT; REN, JIN; HUANG, JIENHUA
To: FITTEDCLOUD, INC.
Reel/Frame 038991/0144 →
Continuity (1)
Provisional Application 62304829 · Mar 7, 2016