Operating programs on a computer cluster

US9542226B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9542226-B2
Application numberUS-201414315518-A
CountryUS
Kind codeB2
Filing dateJun 26, 2014
Priority dateOct 7, 2013
Publication dateJan 10, 2017
Grant dateJan 10, 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.

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.

First claim

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

Assignees

Inventors

Classifications

  • Hypervisor-specific management and integration aspects · CPC title

  • G06F9/5027Primary

    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

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 US9542226B2 cover?
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 re…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F9/45558. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jan 10 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 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).