Virtual container storage interface controller
US-12175078-B2 · Dec 24, 2024 · US
US9542226B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9542226-B2 |
| Application number | US-201414315518-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jun 26, 2014 |
| Priority date | Oct 7, 2013 |
| Publication date | Jan 10, 2017 |
| Grant date | Jan 10, 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.
A mechanism is provided for operating programs on a computer cluster comprising cluster resources. The cluster resources comprise non-virtual real hardware resources with variable configurations and virtual resources. Each cluster resource has a configuration description and a type. Each type has a unique type identification and descriptions of operations that can be performed by the cluster resource of the each type. Each program is operable for: requesting usage of the cluster resource specifying the type and the configuration description; and requesting a modification of the variable configuration of the non-virtual real hardware resource with the variable configuration. Execution of each program requires the dedicated execution environment on the computer cluster. The generation of each dedicated execution environment requires one or more dedicated virtual resources and one or more dedicated non-virtual real hardware resources with the variable configurations.
Opening claim text (preview).
The invention claimed is: 1. A computer system for operating programs executable on a computer cluster comprising cluster resources, wherein the cluster resources comprise the following: non-virtual real hardware resources with variable configurations and virtual resources, wherein each cluster resource has a configuration description and a type, wherein each type has a unique type identification and descriptions of operations that can be performed by the cluster resource of the each type, wherein the computer system comprises a processor and a memory coupled to the processor, wherein the memory comprises instructions which, when executed by the processor, cause the processor to: identify cluster resources for generation of one or more dedicated execution environments, wherein execution of each program requires a dedicated execution environment on the computer cluster; and generate the one or more dedicated execution environments for execution of programs using the identified duster resources, wherein generation of each dedicated execution environment requires a plurality of virtual resources including one or more dedicated virtual resources and one or more dedicated non-virtual real hardware resources with the variable configurations, wherein each dedicated resource has an execution environment specific type and an execution environment specific configuration description, wherein each identified cluster resource matches one dedicated resource, wherein each identified cluster resource and the matching dedicated resource have the same type, and wherein the configuration description of each identified cluster resource comprises the execution environment specific configuration description of the matching dedicated resource, wherein at least a portion of programs have execution conflicts, wherein each program has a unique identification, wherein the unique identifications of the programs having execution conflicts are stored in a list comprising one or more pairs of the unique identifications of the programs having execution conflicts when both programs of any pair are executed concurrently, wherein the instructions further cause the processor to: split the programs in a minimum possible number of groups, wherein each group comprises no pairs of the programs having corresponding pairs of the unique identifications in the list; generate a schedule for execution of the programs, wherein all programs of each group are scheduled for concurrent execution and the groups of the programs are scheduled for consecutive execution, wherein consecutive execution of the groups is prioritized according to a number of the programs in the groups, wherein the group comprising the highest number of programs is scheduled as the first group for execution and the group comprising the least number of programs is scheduled as the last group for execution, wherein responsive to two groups comprising the same number of programs the two groups are prioritized at random; start execution of the programs according to the schedule in the one or mote generated dedicated execution environments; detect an execution conflict of a pair of the programs; abort one of the programs of the pair of the programs having the execution conflict detected; update the list with the pair the unique identifications of the pair of the programs having the execution conflict detected; generate a new schedule for execution of the aborted program and programs for which execution was not started yet; and start execution of the programs according to the new schedule in the one or more generated dedicated execution environments after execution of the group comprising another program of the pair is finished. 2. The computer system of claim 1 , wherein the cluster resources are hierarchically allocated within one or more resource parent-child relationship trees and linked by resource parent-child relationships with each other within the one or more resource parent-child relationship trees, wherein each resource parent-child relationship tree matches a type parent-child relationship tree comprising the hierarchically allocated types linked by type parent-child relations within the type parent-child relationship tree, wherein the resource parent-child relationships match the type parent-child relationships of their types, wherein each resource parent-child relationship tree has one top root cluster resource, wherein each type parent-child relationship tree has one top root type, wherein each top root cluster resource of each resource parent-child relationship tree has the top root type of the type parent-child relationship tree matching the each resource parent-child relationship tree, wherein the identifying of the cluster resources for the generation of the one or more dedicated execution environments comprises: identifying first fragments of the one or more type parent-child relationship trees linking the one or more top root types of the first fragments with the environment specific types allocated at bottoms of the first fragments; identifying second fragments of the one or more resource parent child-relationship trees matching the first fragments, wherein the identifying of the cluster resources for the generation of the one or more dedicated environments is performed using the cluster resources allocated at bottoms of the second fragments, wherein all cluster resources allocated at bottoms of the second fragments have the environment specific types; storing the second fragments in a registry; and identifying one or more first adjacent fragments of one or more resource parent-child relationship trees using a lazy thunk identification, wherein each first adjacent fragment is adjacent to one of the second fragments; and updating the registry with all identified first adjacent fragments. 3. The computer system of claim 1 , wherein the dedicated environment comprises a virtual machine operated by an operating system, wherein the generating of the one or more dedicated environments using the identified cluster resources comprises: creating the virtual machine using one or more identified virtual resources; connecting the identified non-virtual real hardware resource with the variable configuration to the virtual machine; and installing the operating system on the virtual machine. 4. A computer program product for operating programs executable on a computer cluster comprising cluster resources, wherein the cluster resources comprise non-virtual real hardware resources with variable configurations and virtual resources, wherein each cluster resource has a configuration description and a type, wherein each type has a unique type identification and descriptions of operations that can be performed by the cluster resource of each type, wherein the computer program produce comprises a computer readable storage medium carrying computer executable code for execution by a processor, wherein execution of the computer executable code causes the processor to: identify the cluster resources for generation of one or more dedicated execution environments, wherein execution of each program requires the dedicated execution environment on the computer cluster, and generate the one or more dedicated execution environments for execution of programs using the identified cluster resources, wherein generation of each dedicated execution environment requires a plurality of virtual resources including one or more dedicated virtual resources and one or more dedicated non-virtual real hardware resources with the variable configurations, wherein each dedicated resource has an execution environment specific type and an execution environment specific configuration description, wherein each identified cluster resource matches one dedicated resource, wherein each identified cluster resource and the matching dedicated resour
Hypervisor-specific management and integration aspects · CPC title
the resource being a machine, e.g. CPUs, Servers, Terminals · CPC title
Network integration; Enabling network access in virtual machine instances · CPC title
Partitioning or combining of resources · CPC title
Logical partitioning of resources; Management or configuration of virtualized resources (specific details on emulation or internal functioning of virtual machines G06F9/455) · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.