Optimizing available computing resources within a virtual environment

US9626224B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9626224-B2
Application numberUS-201113288691-A
CountryUS
Kind codeB2
Filing dateNov 3, 2011
Priority dateNov 3, 2011
Publication dateApr 18, 2017
Grant dateApr 18, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Methods and systems for the optimization of available computing resources within a virtual environment are disclosed. An exemplary method comprises determining the sizes of the computing resources available to the virtual machine and determining optimal data structures for the virtual machine based on the sizes of the computing resources. The optimal data structures may include an indexing data structure and a historic data. The method may further comprise allocating a Random Access Memory (RAM) and disk storage to the optimal data structures and configuring the optimal data structures within the RAM and the disk storage. The optimization of data structures involves balancing requirements of the indexing data structure and the historic data.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for apportioning resources within a virtual machine, the method comprising: discovering allotted computing resources available to the virtual machine, the allotted computing resources including at least a Random Access Memory (RAM) and a disk storage; determining, in an iterative process, an apportionment of each of the discovered allotted computing resources, to at least two data structures for the virtual machine, wherein the at least two data structures comprise a historic packet data store including at least a portion of a payload of data packets extracted sequentially from flows of network data traveling across a network and an indexing data structure that indexes the historic packet data; dynamically allocating, independently from a host server and according to the determined apportionment, a portion of the Random Access Memory (RAM) and a portion of the disk storage available to the virtual machine to each of the at least two data structures from the discovered allotted computing resources available to the virtual machine; and configuring according to the determined apportionment the at least two data structures within the RAM available to the virtual machine and configuring according to the determined apportionment the at least two data structures within the disk storage available to the virtual machine. 2. The method of claim 1 , further comprising communicating, to a further virtual machine, information related to the data structures for the virtual machine. 3. The method of claim 1 , wherein the computing resources further include a Central Processing Unit (CPU) and a Virtual Machine (VM) container. 4. The method of claim 1 , wherein the data structure sizes are affected by specific historical measurements. 5. The method of claim 1 , wherein the data structures are based on relative sizes between the indexing data structure and the historic packet data, such that the size of the indexing data structure depends on the size of the historic packet data. 6. The method of claim 1 , wherein the indexing data structure comprises one or more signature array hash tables, and the historic packet data comprises flow history pages. 7. The method of claim 6 , wherein determining the indexing data structure comprises determining sizes of the one or more signature array hash tables and the flow history pages. 8. The method of claim 7 , wherein the determining sizes of the one or more signature array hash tables is an iterative process. 9. The method of claim 1 , wherein the discovering allotted computing resources available to the virtual machine comprises requesting a virtual machine manager to provide information related to allotted resources and/or acquiring computing resources usage metrics. 10. The method of claim 1 , further comprising: storing the historic packet data within the virtual machine; and updating contents of at least one hash table within the virtual machine based on the historic packet data. 11. A system for apportioning resources within a virtual machine, comprising: a processor to execute modules, the modules comprising: a determination module configured to discover computing resources available to the virtual machine, the computing resources including at least a Random Access Memory (RAM) and a disk storage; a data structure determination module configured to iteratively determine an apportionment of each of the discovered computing resources to at least two data structures for the virtual machine, the data structures comprising a historic packet data store including at least a portion of a payload of data packets extracted sequentially from flows of network data traveling across a network and an indexing data structure that indexes the historic packet data; an allocation module configured to dynamically allocate, independently from a host server and according to the determined apportionment, a portion of the Random Access Memory (RAM) and a portion of the disk storage available to the virtual machine to each of the at least two data structures, from the discovered computing resources available to the virtual machine; and a configuration module to configure according to the determined apportionment the at least two data structures within the RAM available to the virtual machine and configure according to the determined apportionment the at least two data structures within the disk storage available to the virtual machine. 12. The system of claim 11 , further comprising a communication module configured to communicate, to a further virtual machine, information related to the data structures for the virtual machine. 13. The system of claim 11 , wherein the data structure sizes are based on specific historical packet data. 14. The system of claim 11 , wherein the data structures are based on relative sizes between the indexing data structure and the historic packet data. 15. The system of claim 11 , further comprising a paged memory system for the data structures. 16. The system of claim 11 , wherein the indexing data structure comprises one or more signature array hash tables and the historic packet data comprises a flow history pages table. 17. The system of claim 16 , wherein the data structure determination module is further configured to determine sizes of the one or more signature array hash tables and the flow history pages table. 18. The system of claim 11 , wherein the determination module is further configured to request a virtual machine manager to provide information related to allotted resources and/or acquire computing resources usage metrics in order to discover alloted computing resources available to the virtual machine. 19. The system of claim 11 , wherein the data structure determination module is further configured to store the historic packet data within the virtual machine, and update contents of at least one hash table within the virtual machine based on the historic packet data. 20. A non-transitory computer-readable medium having instructions stored thereon, which when executed by one or more computers, causes the one or more computers to: discover allotted computing resources available to a virtual machine, the allotted computing resources including at least a Random Access Memory (RAM) and a disk storage; iteratively determine an apportionment of each of the discovered allotted computing resources, to at least two data structures for the virtual machine, wherein the at least two data structures comprise a historic packet data store including at least a portion of a payload of data packets extracted sequentially from flows of network data traveling across a network and an indexing data structure that indexes the historic packet data; dynamically allocate, independently from a host server and according to the determined apportionment, a portion of the Random Access Memory (RAM) and a portion of the disk storage available to the virtual machine to each of the at least two data structures from the discovered allotted computing resources available to the virtual machine; and configure according to the determined apportionment the at least two data structures within the RAM available to the virtual machine and configure according to the determined apportionment the at least two data structures within the disk storage available to the virtual machine.

Assignees

Inventors

Classifications

  • G06F9/5077Primary

    Logical partitioning of resources; Management or configuration of virtualized resources (specific details on emulation or internal functioning of virtual machines G06F9/455) · CPC title

  • in hierarchically structured memory systems, e.g. virtual memory systems · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9626224B2 cover?
Methods and systems for the optimization of available computing resources within a virtual environment are disclosed. An exemplary method comprises determining the sizes of the computing resources available to the virtual machine and determining optimal data structures for the virtual machine based on the sizes of the computing resources. The optimal data structures may include an indexing data…
Who is the assignee on this patent?
Hughes David Anthony, Burns John, Silver Peak Systems Inc
What technology area does this patent fall under?
Primary CPC classification G06F9/5077. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 18 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).