# US 9,436,496 B1 · Dynamic virtual storage creation and provisioning of virtual machine resources

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 9,436,496 B1
- Document ID: US9436496B1
- Status: Granted
- Kind: B1
- Application number: 14/882,159
- Filed: 2015-10-13
- Granted: 2016-09-06
- Earliest claimed: 2011-07-19
- Assignees: Open Invention Network, LLC
- Applicants: Open Invention Network LLC
- Inventors: John Michael Suit
- Web page: https://patentgrep.com/patent/US9436496B1

## CPC

- G06F 9/45558: {Hypervisor-specific management and integration aspects}
- G06F 3/0604: {Improving or facilitating administration, e.g. storage management}
- G06F 3/0607: {by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device}
- G06F 3/0608: {Saving storage space on storage systems}
- G06F 3/0631: {by allocating resources to storage systems}
- G06F 3/0664: {at device level, e.g. emulation of a storage device or system}
- G06F 3/0665: {at area level, e.g. provisioning of virtual or logical volumes}
- G06F 3/067: {Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]}
- G06F 3/0671: {In-line storage system}
- G06F 3/0689: {Disk arrays, e.g. RAID, JBOD}
- G06F 12/023: {Free address space management}
- G06F 12/08: in hierarchically structured memory systems, e.g. virtual memory systems
- G06F 16/256: {in federated or virtual databases}
- G06F 21/78: to assure secure storage of data (address-based protection against unauthorised use of memory G06F12/14; record carriers for use with machines and with at least a part designed to carry digital markings G06K19/00)
- G06F 2009/45579: {I/O management, e.g. providing access to device drivers or storage}
- G06F 2009/45583: {Memory management, e.g. access or allocation}
- G06F 2212/151: Emulated environment, e.g. virtual machine
- G06F 2212/154: Networked environment
- G06F 2212/163: Server or database system
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A method and apparatus are disclosed of identifying a virtual machine usage of enterprise network resources, such as memory storage usage. One example method of operation may include transmitting a storage request to a database to determine an amount of physical memory storage available in the enterprise network. The method may also include receiving an alert message indicating a virtual machine currently operating has exceeded a predetermined memory storage threshold value. The method may also include creating a new virtual hard disk (VHD) to accommodate the exceeded predetermined memory storage threshold value.

## Claims

### Claim 1

A method, comprising:
receiving a request at a database to determine an amount of available physical memory storage;
receiving an alert message indicating at least one virtual machine currently operating has exceeded a predetermined memory storage threshold value;
identifying a percentage of total available physical memory storage by which the at least one virtual machine has exceeded the predetermined memory storage threshold value;
determining an amount of memory for at least one new virtual hard disk as the percentage of total available physical memory storage;
creating, via a processor, the at least one new virtual hard disk (VHD) to accommodate the exceeded predetermined memory storage threshold value; and
allocating the physical memory storage to the at least one new VHD that is equal to an integer multiple of a difference between the amount of physical memory storage available and 100 percent of the physical memory storage available;
wherein the request and the alert message are communicated over an established application programming interface (API).

### Claim 2 (depends on 1)

The method of claim 1, wherein the storage level request comprises a request for a logical unit number (LUN) available to the at least one virtual machine currently operating.

### Claim 3 (depends on 1)

The method of claim 1, wherein the amount of physical memory storage available is based on an amount of physical memory storage that is not allocated to any of the virtual machines currently operating.

### Claim 4 (depends on 1)

The method of claim 1, wherein the request is received at the database at a predefined time interval.

### Claim 5 (depends on 1)

The method of claim 1, wherein the integer multiple is equal to 4.

### Claim 6 (depends on 1)

The method of claim 1, wherein the integer multiple is equal to 2.

### Claim 7

An apparatus, comprising:
a receiver configured to receive:
an alert message indicating at least one virtual machine currently operating has exceeded a predetermined memory storage threshold value;
at a predefined time interval a request at a database to determine an amount of available physical memory storage; and
a processor configured to:
identify a percentage of total available physical memory storage by which the at least one virtual machine has exceeded the predetermined memory storage threshold value;
determine an amount of memory for at least one new virtual hard disk as the percentage of total available physical memory storage;
create the at least one new virtual hard disk (VHD) to accommodate the exceeded predetermined memory storage threshold value; and
allocate the physical memory storage to the at least one new VHD that is equal to an integer multiple of a difference between the amount of physical memory storage available and 100 percent of the physical memory storage available;
wherein the request and the alert message are communicated over an established application programming interface (API).

### Claim 8 (depends on 7)

The apparatus of claim 7, wherein the storage level request comprises a request for a logical unit number (LUN) available to the at least one virtual machine that currently operates.

### Claim 9 (depends on 7)

The apparatus of claim 7, wherein the amount of physical memory storage available is based on an amount of physical memory storage that is not allocated to any of the virtual machines that currently operates.

### Claim 10 (depends on 7)

The apparatus of claim 7, wherein the request is received at the database at a predefined time interval.

### Claim 11 (depends on 7)

The apparatus of claim 7, wherein the integer multiple is equal to 4.

### Claim 12 (depends on 7)

The apparatus of claim 7, wherein the integer multiple is equal to 2.

### Claim 13

A non-transitory computer readable storage medium configured to store instructions that when executed cause a processor to perform:
receiving at a predefined time interval a request at a database to determine an amount of available physical memory storage;
receiving an alert message indicating at least one virtual machine currently operating has exceeded a predetermined memory storage threshold value;
identifying a percentage of total available physical memory storage by which the at least one virtual machine has exceeded the predetermined memory storage threshold value;
determining an amount of memory for at least one new virtual hard disk as the percentage of total available physical memory storage;
creating the at least one new virtual hard disk (VHD) to accommodate the exceeded predetermined memory storage threshold value; and
allocating the physical memory storage to the at least one new VHD that is equal to an integer multiple of a difference between the amount of physical memory storage available and 100 percent of the physical memory storage available;
wherein the request and the alert message are communicated over an established application programming interface (API).

### Claim 14 (depends on 13)

The non-transitory computer readable storage medium of claim 13, wherein the storage level request comprises a request for a logical unit number (LUN) available to the virtual machines currently operating.

### Claim 15 (depends on 13)

The non-transitory computer readable storage medium of claim 13, wherein the amount of physical memory storage available is based on an amount of physical memory storage that is not allocated to any of the virtual machines currently operating.

### Claim 16 (depends on 13)

The non-transitory computer readable storage medium of claim 13, wherein the request is received at the database at a predefined time interval.

### Claim 17 (depends on 13)

The non-transitory computer readable storage medium of claim 13, wherein the integer multiple is equal to 4.

### Claim 18 (depends on 13)

The non-transitory computer readable storage medium of claim 13, wherein the integer multiple is equal to 2.
