# US 12,001,407 B2 · Generating filesystem images with integrated containers

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

- Number: US 12,001,407 B2
- Document ID: US12001407B2
- Status: Granted
- Kind: B2
- Application number: 17/717,552
- Filed: 2022-04-11
- Published: 2023-10-12
- Granted: 2024-06-04
- Earliest claimed: 2022-04-11
- Assignees: Red Hat, Inc.
- Applicants: Red Hat, Inc.
- Inventors: Pierre-Yves Chibon; Leigh Griffin
- Web page: https://patentgrep.com/patent/US12001407B2

## CPC

- G06F 16/119: {Details of migration of file systems (migration mechanisms in storage systems G06F3/0647)}
- G06F 16/188: Virtual file systems
- G06F 16/122: {using management policies (point-in-time backing up or restoration of persistent data G06F11/1446; file migration policies for HSM systems G06F16/185)}
- G06F 16/1873: {Versioning file systems, temporal file systems, e.g. file system supporting different historic versions of files}
- G06F 16/322: {Trees}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Generating filesystem images with integrated containers is disclosed herein. In one example, a processor device obtains a filesystem tree comprising a plurality of filesystem files, and also obtains a container image comprising a plurality of container files. Based on the filesystem tree and the container image, the processor device generates a filesystem image that comprises the filesystem tree and the plurality of container files. The processor device then stores the filesystem image on a persistent data store.

## Claims

### Claim 1

A method, comprising:
obtaining, by a processor device of a computing device, a filesystem tree comprising a plurality of filesystem files;
obtaining, by the processor device, a container image comprising a plurality of container files;
generating, by the processor device based on the filesystem tree and the container image, a bootable filesystem image comprising the filesystem tree and the plurality of container files, wherein generating the bootable filesystem image comprises incorporating the plurality of container files into the filesystem tree based on metadata included in the container image;
configuring, by the processor device, the filesystem tree in the bootable filesystem image to automatically execute a container based on the plurality of container files in the bootable filesystem image upon a reboot from the bootable filesystem image;
storing, by the processor device, the bootable filesystem image on a persistent data store;
deploying, by the processor device, the bootable filesystem image to a target computing device; and
causing, by the processor device, the target computing device to reboot from the bootable filesystem image to execute the container.

### Claim 2 (depends on 1)

The method of claim 1, wherein obtaining the filesystem tree comprises obtaining the filesystem tree using a package repository.

### Claim 3 (depends on 2)

The method of claim 2, wherein obtaining the filesystem tree using the package repository comprises obtaining the filesystem tree using an rpm-ostree system and a libdnf package management library.

### Claim 4 (depends on 1)

The method of claim 1, wherein obtaining the container image comprises obtaining the container image from a container registry.

### Claim 5 (depends on 4)

The method of claim 4, wherein the container registry comprises an Open Containers Initiative (OCI)-compliant container registry.

### Claim 6 (depends on 1)

The method of claim 1, further comprising, subsequent to storing the bootable filesystem image:
identifying a modification to a container file of the plurality of container files;
generating a layer indicating the modification to the container file; and
modifying the bootable filesystem image to include the layer.

### Claim 7 (depends on 1)

The method of claim 1, wherein deploying the bootable filesystem image to the target computing device comprises atomically deploying the filesystem tree and the plurality of container files to the target computing device using the bootable filesystem image.

### Claim 8

A computing device, comprising:
a system memory; and
a processor device communicatively coupled to the system memory, the processor device to:
obtain a filesystem tree comprising a plurality of filesystem files;
obtain a container image comprising a plurality of container files;
generate, based on the filesystem tree and the container image, a bootable filesystem image comprising the filesystem tree and the plurality of container files, wherein to generate the bootable filesystem image is to incorporate the plurality of container files into the filesystem tree based on metadata included in the container image;
configure the filesystem tree in the bootable filesystem image to automatically execute a container based on the plurality of container files in the bootable filesystem image upon a reboot from the bootable filesystem image;
store the bootable filesystem image on a persistent data store;
deploy the bootable filesystem image to a target computing device; and
cause the target computing device to reboot from the bootable filesystem image to execute the container.

### Claim 9 (depends on 8)

The computing device of claim 8, wherein to obtain the filesystem tree is to obtain the filesystem tree using a package repository.

### Claim 10 (depends on 9)

The computing device of claim 9, wherein to obtain the filesystem tree using the package repository is to obtain the filesystem tree using an rpm-ostree system and a libdnf package management library.

### Claim 11 (depends on 8)

The computing device of claim 8, wherein to obtain the container image is to obtain the container image from a container registry.

### Claim 12 (depends on 11)

The computing device of claim 11, wherein the container registry comprises an Open Containers Initiative (OCI)-compliant container registry.

### Claim 13 (depends on 8)

The computing device of claim 8, wherein the processor device is further to, subsequent to storing the bootable filesystem image:
identify a modification to a container file of the plurality of container files;
generate a layer indicating the modification to the container file; and
modify the bootable filesystem image to include the layer.

### Claim 14 (depends on 8)

The computing device of claim 8, wherein, to deploy the bootable filesystem image to the target computing device, the processor device is further to atomically deploy the filesystem tree and the plurality of container files to the target computing device using the bootable filesystem image.

### Claim 15

A non-transitory computer-readable medium having stored thereon computer-executable instructions that, when executed, cause one or more processor devices to:
obtain a filesystem tree comprising a plurality of filesystem files;
obtain a container image comprising a plurality of container files;
generate, based on the filesystem tree and the container image, a bootable filesystem image comprising the filesystem tree and the plurality of container files, wherein to generate the bootable filesystem image is to incorporate the plurality of container files into the filesystem tree based on metadata included in the container image;
configure the filesystem tree in the bootable filesystem image to automatically execute a container based on the plurality of container files in the bootable filesystem image upon a reboot from the bootable filesystem image;
store the bootable filesystem image on a persistent data store;
deploy the bootable filesystem image to a target computing device; and
cause the target computing device to reboot from the bootable filesystem image to execute the container.

### Claim 16 (depends on 15)

The non-transitory computer-readable medium of claim 15, wherein the computer-executable instructions further cause the one or more processor devices to:
identify a modification to a container file of the plurality of container files;
generate a layer indicating the modification to the container file; and
modify the bootable filesystem image to include the layer.
