# US 11,451,615 B1 · Probabilistic per-file images preloading

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

- Number: US 11,451,615 B1
- Document ID: US11451615B1
- Status: Granted
- Kind: B1
- Application number: 17/408,657
- Filed: 2021-08-23
- Granted: 2022-09-20
- Earliest claimed: 2021-08-23
- Assignees: Red Hat, Inc.
- Applicants: Red Hat, Inc.
- Inventors: Giuseppe Scrivano
- Web page: https://patentgrep.com/patent/US11451615B1

## CPC

- H04L 67/06: specially adapted for file transfer, e.g. file transfer protocol [FTP]
- G06F 9/45558: {Hypervisor-specific management and integration aspects}
- H04L 67/02: based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L 67/1097: for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
- G06F 8/63: {Image based installation; Cloning; Build to order}
- G06F 2009/45575: {Starting, stopping, suspending or resuming virtual machine instances}
- G06F 2009/45595: {Network integration; Enabling network access in virtual machine instances}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A container image including multiple files is provided to multiple containers. First indications of a first set of files being used prior to a first set of containers reaching a ready state are received. Corresponding first values for each file of the multiple files in view of the first indications, wherein the corresponding first values are associated with a first probability that each file will be used prior to a new container reaching the ready state. Second indications of a second set of files being used after a second set of containers have reached the ready state are received. Corresponding second values are determined for each file of the multiple files in view of the second indications, wherein the corresponding second values are associated with a second probability that each file will be used before or after the new container reaches the ready state.

## Claims

### Claim 1

A method comprising:
providing a container image comprising a plurality of files to a plurality of containers;
receiving, from a first set of containers of the plurality of containers, first indications of a first set of files of the plurality of files being used prior to the first set of containers reaching a ready state;
determining, by a processing device, corresponding first values for each file of the plurality of files in view of the first indications, wherein the corresponding first values are associated with a first probability that each file will be used prior to a new container reaching the ready state;
receiving, from a second set of containers the plurality of containers, second indications of a second set of files of the plurality of files being used after the second set of containers have reached the ready state;
determining corresponding second values for each file of the plurality of files in view of the second indications, wherein the corresponding second values are associated with a second probability that each file will be used before or after the new container reaches the ready state;
receiving, from a host system, a request for one or more files of the plurality of files of the container image, the request comprising a threshold value associated with one of the corresponding first values;
identifying the one or more files of the plurality of files having the corresponding first values that satisfy the threshold value; and
providing the one or more files to the host system.

### Claim 2 (depends on 1)

The method of claim 1, wherein the corresponding first values and the corresponding second values for each of the plurality of files are stored as metadata associated with each of the plurality of files.

### Claim 3 (depends on 1)

The method of claim 1, further comprising:
receiving, from the host system, a subsequent request for a particular file of the plurality of files;
halting the providing of the one or more files to the host system;
providing the particular file to the host system; and
resuming the providing of the one or more files to the host system.

### Claim 4 (depends on 1)

The method of claim 1, wherein the one or more files are to be used by a container supported by the host system.

### Claim 5 (depends on 1)

The method of claim 1, wherein the corresponding first values are used to identify the one or more files to be used by a container executing a service and wherein the corresponding second values are used to identify the one or more files to be used by a container executing a job.

### Claim 6 (depends on 1)

The method of claim 1, further comprising:
receiving, from the host system, a request for one or more files of the plurality of files of the container image, the request comprising a threshold value associated with a combination of the corresponding first values and the corresponding second values.

### Claim 7

A system comprising:
a memory; and
a processing device, operatively coupled to the memory, to:
provide a container image comprising a plurality of files to a plurality of containers;
receive, from a first set of containers of the plurality of containers, first indications of a first set of files of the plurality of files being used prior to the first set of containers reaching a ready state;
determine corresponding first values for each file of the plurality of files in view of the first indications, wherein the corresponding first values are associated with a first probability that each file will be used prior to a new container reaching the ready state;
receive, from a second set of containers the plurality of containers, second indications of a second set of files of the plurality of files being used after the second set of containers have reached the ready state;
determine corresponding second values for each file of the plurality of files in view of the second indications, wherein the corresponding second values are associated with a second probability that each file will be used before or after the new container reaches the ready state;
receive, from a host system, a request for one or more files of the plurality of files of the container image, the request comprising a threshold value associated with one of the corresponding first values;
identify the one or more files of the plurality of files having the corresponding first values that satisfy the threshold value; and
provide the one or more files to the host system.

### Claim 8 (depends on 7)

The system of claim 7, wherein the corresponding first values and the corresponding second values for each of the plurality of files are stored as metadata associated with each of the plurality of files.

### Claim 9 (depends on 7)

The system of claim 7, wherein the processing device is further to:
receive, from the host system, a subsequent request for a particular file of the plurality of files;
halt the providing of the one or more files to the host system;
provide the particular file to the host system; and
resume the providing of the one or more files to the host system.

### Claim 10 (depends on 7)

The system of claim 7, wherein the one or more files are to be used by a container supported by the host system.

### Claim 11 (depends on 7)

The system of claim 7, wherein the corresponding first values are used to identify the one or more files to be used by a container executing a service and wherein the corresponding second values are used to identify the one or more files to be used by a container executing a job.

### Claim 12 (depends on 7)

The system of claim 7, wherein the processing device is further to:
receive, from the host system, a request for one or more files of the plurality of files of the container image, the request comprising a threshold value associated with a combination of the corresponding first values and the corresponding second values.

### Claim 13

A non-transitory computer-readable storage medium including instructions that, when executed by a processing device, cause the processing device to:
provide a container image comprising a plurality of files to a plurality of containers;
receive, from a first set of containers of the plurality of containers, first indications of a first set of files of the plurality of files being used prior to the first set of containers reaching a ready state;
determine, by the processing device, corresponding first values for each file of the plurality of files in view of the first indications, wherein the corresponding first values are associated with a first probability that each file will be used prior to a new container reaching the ready state;
receive, from a second set of containers the plurality of containers, second indications of a second set of files of the plurality of files being used after the second set of containers have reached the ready state;
determine corresponding second values for each file of the plurality of files in view of the second indications, wherein the corresponding second values are associated with a second probability that each file will be used before or after the new container reaches the ready state;
receive, from a host system, a request for one or more files of the plurality of files of the container image, the request comprising a threshold value associated with one of the corresponding first values;
identify the one or more files of the plurality of files having the corresponding first values that satisfy the threshold value; and
provide the one or more files to the host system.

### Claim 14 (depends on 13)

The non-transitory computer-readable storage medium of claim 13, wherein the corresponding first values and the corresponding second values for each of the plurality of files are stored as metadata associated with each of the plurality of files.
