Processing data packets in performance enhancing proxy (PEP) environment
US-9130991-B2 · Sep 8, 2015 · US
US9626224B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9626224-B2 |
| Application number | US-201113288691-A |
| Country | US |
| Kind code | B2 |
| Filing date | Nov 3, 2011 |
| Priority date | Nov 3, 2011 |
| Publication date | Apr 18, 2017 |
| Grant date | Apr 18, 2017 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
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.
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.
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
Related publications grouped by family.
Answers are generated from the same data shown on this page.