# US 2018/0321960 A1 · Running kernel dependent applications inside a container

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

- Number: US 2018/0321960 A1
- Document ID: US20180321960A1
- Status: Published application
- Kind: A1
- Application number: 15/587,614
- Filed: 2017-05-05
- Published: 2018-11-08
- Earliest claimed: 2017-05-05
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: Yanyan Hu; Guang Cheng Li; Yubo Li; Chao Zhu
- Web page: https://patentgrep.com/patent/US20180321960A1

## CPC

- G06F 9/545: {where tasks reside in different layers, e.g. user- and kernel-space}
- G06F 9/45558: {Hypervisor-specific management and integration aspects}
- G06F 9/4843: {by program, e.g. task dispatcher, supervisor, operating system}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A method, computer program product, and computer system are provided for running an application over a host kernel. The method intercepts a system call initiated by a container instance running on a host kernel, then determines whether the initiating container instance is tagged with a mapping to a virtual machine (VM) also running on the host kernel. The method further redirects the system call to the mapped VM responsive to the initiating container instance being tagged with a mapping to a VM, wherein the system call is to be processed by the VM.

## Claims

### Claim 1

A method for running an application over a host kernel, the method comprising:
intercepting, by a hook module, a system call initiated by a container instance running on the host kernel;
determining, by the hook module, whether the initiating container instance is tagged with a mapping to a virtual machine (VM) also running on the host kernel;
responsive to the initiating container instance being tagged with the mapping to the VM, redirecting, by the hook module, the system call to the mapped VM, wherein the system call is to be processed by the VM.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
receiving, by the hook module, a result of the system call processed by the VM.

### Claim 3 (depends on 1)

The method of claim 1, further comprising:
receiving the system call; and
passing the received system call to the kernel of the VM for processing by an agent running on the kernel of the VM.

### Claim 4 (depends on 1)

The method of claim 1, wherein devices of the host kernel are passed through from the host kernel to the VM.

### Claim 5 (depends on 4)

The method of claim 4, wherein the devices are further accessed by the kernel of the VM to process the system call responsive to the system call requesting to access the devices.

### Claim 6 (depends on 1)

The method of claim 1, further comprising:
responsive to the initiating container instance not being tagged with a mapping to a VM, passing, by the hook module, the system call to the host kernel, wherein the system call is to be processed by the host kernel.

### Claim 7 (depends on 1)

The method of claim 1, wherein there are a plurality of container instances and a single VM shared by the plurality of container instances running on the host kernel.

### Claim 8 (depends on 1)

The method of claim 1, wherein there are a plurality of container instances and a plurality of VMs running on the host kernel.

### Claim 9

A computer program product comprising a computer readable storage medium having a computer readable program stored therein, wherein the computer readable program, when executed on a computing device, causes the computing device to:
intercept a system call initiated by a container instance running on a host kernel;
determine whether the initiating container instance is tagged with a mapping to a virtual machine (VM) also running on the host kernel;
responsive to the initiating container instance being tagged with the mapping to the VM, redirect the system call to the mapped VM, wherein the system call is to be processed by the VM.

### Claim 10 (depends on 9)

The computer program product of claim 9, wherein the computer readable program further causes the computing device to receive a result of the system call processed by the VM.

### Claim 11 (depends on 9)

The computer program product of claim 9, wherein the computer readable program further causes the computing device to:
receive the system call; and
pass the received system call to the kernel of the VM for processing by an agent running on the kernel of the VM.

### Claim 12 (depends on 9)

The computer program product of claim 9, wherein the devices of the host kernel are passed through from the host kernel to the VM.

### Claim 13 (depends on 12)

The computer program product of claim 12, wherein the devices are further accessed by the kernel of the VM to process the system call requesting to access the devices.

### Claim 14 (depends on 9)

The computer program product of claim 9, wherein the computer readable program further causes the computing device to:
responsive to the initiating container instance not being tagged with a mapping to a VM, passing the system call to the host kernel, wherein the system call is to be processed by the host kernel.

### Claim 15

A computer system, comprising a processor, and a memory coupled to the processor, wherein the memory comprises instructions which, when executed by the processor, cause the processor to perform a method comprising:
intercepting a system call initiated by a container instance running on a host kernel;
determining whether the initiating container instance is tagged with a mapping to a virtual machine (VM) also running on the host kernel;
responsive to the initiating container instance being tagged with the mapping to the VM, redirecting the system call to the mapped VM, wherein the system call is to be processed by the VM.

### Claim 16 (depends on 15)

The computer system of claim 15, further comprising:
receiving a result of the system call processed by the VM.

### Claim 17 (depends on 15)

The computer system of claim 15, wherein the system call is further received and passed to the kernel of the VM for processing by an agent running on the kernel of the VM.

### Claim 18 (depends on 15)

The computer system of claim 15, wherein the devices of the host kernel are passed through from the host kernel to the VM.

### Claim 19 (depends on 18)

The computer system of claim 18, wherein the devices are further accessed by the kernel of the VM to process the system call.

### Claim 20 (depends on 15)

The computer system of claim 15, further comprising:
responsive to the initiating container instance not being tagged with a mapping to a VM, passing the system call to the host kernel, wherein the system call is to be processed by the host kernel.
