ISA-ported container images

US9928062B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9928062-B2
Application numberUS-201615060750-A
CountryUS
Kind codeB2
Filing dateMar 4, 2016
Priority dateMar 4, 2016
Publication dateMar 27, 2018
Grant dateMar 27, 2018

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 software container image that includes components dependent on a first computer instruction set architecture (ISA) is ported to enable a container to execute using the container image on a computer having a second ISA different from the first. Porting the container image entails replacing components of the container image not compatible with the second ISA with equivalent components compatible with the second ISA. The porting is performed, in some instances, dynamically as part of running a container with the container image on a computer implementing the second ISA.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-implemented method for porting a software container image to a target instruction set architecture (ISA), the software container image selected for execution on a first computer, the first computer implementing the target ISA, the method comprising: forming a ported image, the ported image capable of executing on the first computer, the forming performed in association with at least one of preparing the software container image for execution on the first computer and executing the software container image on the first computer; selecting a source image, the source image included in the software container image; selecting a source component, the source component included in the source image; determining that the source component is not compatible with the target ISA, the determining based, at least in part, on the source component dependent on a first ISA, the first ISA different from the target ISA; and including in the ported image an at least one first target-ISA equivalent component, the at least one first target-ISA equivalent component performing a function equivalent to at least one function of the source component, the at least one first target-ISA equivalent component compatible with the target ISA, the at least one first target-ISA equivalent component replacing, in the ported image, the source component, determining that the source component includes a source binary file, the source binary file not compatible with the target ISA; determining that the source component does not have a second target-ISA equivalent component, the second target-ISA equivalent component compatible with the target ISA; determining that the source binary file does not have at least one target-ISA equivalent binary file; and including, in the at least one first target-ISA equivalent component, the source binary file and at least one target-ISA stub program, the at least one target-ISA stub program invoking execution of the source binary file, the at least one target-ISA stub program invoking execution of at least one ISA translator, the execution of the at least one ISA translator translating the source binary file from the first ISA to the target ISA. 2. The method of claim 1 further comprising: determining that the source component has an at least one second target-ISA equivalent component, the at least one second target-ISA equivalent component performing a function equivalent to at least one function of the source component, the at least one second target-ISA equivalent component compatible with the target ISA; and including, in the at least one first target-ISA equivalent component, the at least one second target-ISA equivalent component. 3. The method of claim 1 further comprising: determining that the source component does not have a second target-ISA equivalent component, the second target-ISA equivalent component compatible with the target ISA; forming an at least one second target-ISA equivalent component, the at least one second target-ISA equivalent component performing a function equivalent to at least one function of the source component, the at least one second target-ISA equivalent component compatible with the target ISA; and including, in the at least one first target-ISA equivalent component, the at least one second target-ISA equivalent component. 4. The method of claim 1 further comprising: determining that the source component includes a source binary file, the source binary file not compatible with the target ISA; determining that the source component does not have a second target-ISA equivalent component, the second target-ISA equivalent component compatible with the target ISA; determining that source binary file has at least one target-ISA equivalent binary file, the at least one target-ISA equivalent binary file performing a function equivalent to at least one function of the source binary file, the at least one target-ISA equivalent binary file compatible with the target ISA; and including, in the at least one first target-ISA equivalent component, the at least one target-ISA equivalent binary file. 5. The method of claim 1 further comprising including, in the first target-ISA equivalent component, the at least one ISA translator. 6. The method of claim 1 wherein the at least one first target-ISA equivalent component includes at least one component included in a repository, and wherein the at least one first target-ISA equivalent component includes the component included in the repository replacing the at least one component in the first target-ISA equivalent component. 7. A computer program product for porting a software container image to a target instruction set architecture (ISA), the software container image selected for execution on a first computer, the first computer implementing the target ISA, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a first computer to perform a method comprising: forming, by a second computer, a ported image, the ported image capable of executing on the first computer, the forming performed in association with at least one of preparing the software container image for execution on the first computer and executing the software container image on the first computer; selecting, by the second computer, a source image, the source image included in the software container image; selecting, by the second computer, a source component, the source component included in the source image; determining, by the second computer, that the source component is not compatible with the target ISA, the determining based, at least in part, on the source component dependent on a first ISA, the first ISA different from the target ISA; and including, by the second computer, in the ported image an at least one first target-ISA equivalent component, the at least one first target-ISA equivalent component performing a function equivalent to at least one function of the source component, the at least one first target-ISA equivalent component compatible with the target ISA, the at least one first target-ISA equivalent component replacing, in the ported image, the source component determining, by the second computer, that the source component includes a source binary file, the source binary file not compatible with the target ISA; determining, by the second computer, that the source component does not have a second target-ISA equivalent component, the second target-ISA equivalent component compatible with the target ISA; determining, by the second computer, that the source binary file does not have at least one target-ISA equivalent binary file; and including, by the second computer, in the at least one first target-ISA equivalent component, the source binary file and at least one target-ISA stub program, the at least one target-ISA stub program invoking execution of the source binary file, the at least one target-ISA stub program invoking execution of at least one ISA translator, the execution of the at least one ISA translator translating the source binary file from the first ISA to the target ISA. 8. The computer program product of claim 7 , the method further comprising: determining, by the second computer, that the source component has an at least one second target-ISA equivalent component, the at least one second target-ISA equivalent component performing a function equivalent to at least one function of the source component, the at least one second target-ISA equivalent component compatible with the target ISA; and including, by the second computer, in the at least one first target-ISA equivalent component, the at least one second target-ISA equivalent compo

Assignees

Inventors

Classifications

  • G06F8/76Primary

    Adapting program code to run in a different environment; Porting · CPC title

  • Instruction analysis, e.g. decoding, instruction word fields · CPC title

  • Instruction operation extension or modification · CPC title

  • G06F8/52Primary

    Binary to binary · 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 US9928062B2 cover?
A software container image that includes components dependent on a first computer instruction set architecture (ISA) is ported to enable a container to execute using the container image on a computer having a second ISA different from the first. Porting the container image entails replacing components of the container image not compatible with the second ISA with equivalent components compatibl…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F8/76. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Mar 27 2018 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 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).