# US 2023/0266984 A1 · Container-based operating system translation

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2023/0266984 A1
- Document ID: US20230266984A1
- Status: Published application
- Kind: A1
- Application number: 17/678,925
- Filed: 2022-02-23
- Published: 2023-08-24
- Earliest claimed: 2022-02-23
- Assignees: Red Hat, Inc.
- Applicants: Red Hat, Inc.
- Inventors: Daniel Walsh; Giuseppe Scrivano; Aditya Rajan
- Web page: https://patentgrep.com/patent/US20230266984A1

## CPC

- G06F 9/455: Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F 9/45554: {Instruction set architectures of guest OS and hypervisor or native processor differ, e.g. Bochs or VirtualPC on PowerPC MacOS}
- G06F 9/4406: {Loading of operating system}
- G06F 9/45537: {Provision of facilities of other operating environments, e.g. WINE (I/O emulation G06F13/105)}
- G06F 9/545: {where tasks reside in different layers, e.g. user- and kernel-space}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A container image is received at a host device. The container image includes a container application compatible with a first operating system, and the host device includes a second operating system, different from the first operating system. A container engine on a processing device executes a container corresponding to the container image. The container engine includes an emulator configured to translate a request from the container application that is directed to the first operating system into a request to the second operating system.

## Claims

### Claim 1

A method comprising:
receiving a container image at a host device, wherein the container image comprises a container application compatible with a first operating system, and wherein the host device comprises a second operating system, different from the first operating system; and
executing a container corresponding to the container image, by a container engine on a processing device, wherein the container engine comprises an emulator configured to translate a request from the container application that is directed to the first operating system into a request to the second operating system.

### Claim 2 (depends on 1)

The method of claim 1, wherein the container image is free of an executable that is compatible with the second operating system.

### Claim 3 (depends on 1)

The method of claim 1, wherein the container engine is configured to isolate the container corresponding to the container image from other applications of the host device that are compatible with the second operating system.

### Claim 4 (depends on 1)

The method of claim 1, wherein the host device and the container image are free of a kernel of the first operating system.

### Claim 5 (depends on 1)

The method of claim 1, wherein the second operating system is a Linux-based operating system, and wherein the first operating system is a non-Linux-based operating system.

### Claim 6 (depends on 1)

The method of claim 1, wherein the request from the container application that is to the first operating system is a system call directed to the first operating system, and
wherein the emulator is configured to translate the system call directed to the first operating system into a system call directed to the second operating system executing on the host device.

### Claim 7 (depends on 1)

The method of claim 1, further comprising:
determining a container type of the container image; and
selecting the emulator based on the container type.

### Claim 8

A system comprising:
a memory; and
a processing device, operatively coupled to the memory, to:
receive a container image at a host device, wherein the container image comprises a container application compatible with a first operating system, and wherein the host device comprises a second operating system, different from the first operating system; and
execute a container corresponding to the container image, by a container engine, wherein the container engine comprises an emulator configured to translate a request from the container application that is directed to the first operating system into a request to the second operating system.

### Claim 9 (depends on 8)

The system of claim 8, wherein the container image is free of an executable that is compatible with the second operating system.

### Claim 10 (depends on 8)

The system of claim 8, wherein the container engine is configured to isolate the container corresponding to the container image from other applications of the host device that are compatible with the second operating system.

### Claim 11 (depends on 8)

The system of claim 8, wherein the host device and the container image are free of a kernel of the first operating system.

### Claim 12 (depends on 8)

The system of claim 8, wherein the second operating system is a Linux-based operating system, and wherein the first operating system is a non-Linux-based operating system.

### Claim 13 (depends on 8)

The system of claim 8, wherein the request from the container application that is to the first operating system is a system call directed to the first operating system, and
wherein the emulator is configured to translate the system call directed to the first operating system into a system call directed to the second operating system executing on the host device.

### Claim 14 (depends on 8)

The system of claim 8, wherein the processing device is further to:
determine a container type of the container image; and
select the emulator based on the container type.

### Claim 15

A non-transitory computer-readable storage medium including instructions that, when executed by a processing device, cause the processing device to:
receive a container image at a host device, wherein the container image comprises a container application compatible with a first operating system, and wherein the host device comprises a second operating system, different from the first operating system; and
execute a container corresponding to the container image, by a container engine on the processing device, wherein the container engine comprises an emulator configured to translate a request from the container application that is directed to the first operating system into a request to the second operating system.

### Claim 16 (depends on 15)

The non-transitory computer-readable storage medium of claim 15, wherein the container image is free of an executable that is compatible with the second operating system.

### Claim 17 (depends on 15)

The non-transitory computer-readable storage medium of claim 15, wherein the host device and the container image are free of a kernel of the first operating system.

### Claim 18 (depends on 15)

The non-transitory computer-readable storage medium of claim 15, wherein the second operating system is a Linux-based operating system, and wherein the first operating system is a non-Linux-based operating system.

### Claim 19 (depends on 15)

The non-transitory computer-readable storage medium of claim 15, wherein the request from the container application that is to the first operating system is a system call directed to the first operating system, and
wherein the emulator is configured to translate the system call directed to the first operating system into a system call directed to the second operating system executing on the host device.

### Claim 20 (depends on 15)

The non-transitory computer-readable storage medium of claim 15, wherein the processing device is further to:
determine a container type of the container image; and
select the emulator based on the container type.
