US2020301789A1PendingUtilityA1

File Sharing Among Virtual Containers with Fast Recovery and Self-Consistency

Assignee: IBMPriority: Mar 18, 2019Filed: Mar 18, 2019Published: Sep 24, 2020
Est. expiryMar 18, 2039(~12.6 yrs left)· nominal 20-yr term from priority
G06F 16/176G06F 11/1469G06F 16/188G06F 9/455G06F 2201/82G06F 8/65G06F 2201/815G06F 2201/80
60
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

An approach is provided in which an information handling system creates a set of first containers from a container image that each includes a set of shareable files. The information handling system creates a second container from the container image that is devoid of the set of shared files and includes a pointer that points to a selected one of the first containers. In turn, the second container mounts to the first container and utilizes the shared files included the first container.

Claims

exact text as granted — not AI-modified
1 . A method implemented by an information handling system that includes a memory and a processor, the method comprising:
 creating, from a container image, a set of first containers that each comprise a set of shared files;   creating, from the container image, a second container that is devoid of the set of shared files and comprises a pointer that points to a first one of the set of shared files included in a selected one of the or more first containers; and   utilizing, by the second container, the first set of shared files in response to the second container mounting the first set of shared files included in the selected first container.   
     
     
         2 . The method of  claim 1  further comprising:
 detecting a failure by the second container to utilize the first set of shared files; 
 identifying a different one of the set of first containers that comprise a second one of the set of shared files; 
 mounting, by the second container, the second set of shared files included in the different first container; and 
 utilizing, by the second container, the second set of shared files included in the different first container. 
 
     
     
         3 . The method of  claim 2  wherein the pointer points to a proxy embedded in the second container, and wherein the proxy performs the mounting of the first set of shared files and the mounting of the second set of shared files. 
     
     
         4 . The method of  claim 2  wherein, in response to mounting the second set of shared files, the method further comprises:
 modifying a container list entry to indicate that the second container is sharing the second set of shared files included in the different first container. 
 
     
     
         5 . The method of  claim 1  further comprising:
 determining a first container amount of the set of first containers that comprises the set of shared files; and 
 in response to determining that the first container amount reaches a threshold, creating the second container that is devoid of the set of shared files. 
 
     
     
         6 . The method of  claim 1  further comprising:
 unmounting the second container from the first set of shared files; 
 upgrading a version of the second container to an upgraded version second container; 
 identifying an upgraded version of the one or more first containers that match the version of the upgraded version second container; and 
 mounting the upgraded version second container to an upgraded set of shared files included in the identified upgraded version first container. 
 
     
     
         7 . The method of  claim 1  wherein the container image comprises a shared files parameter that identifies a read-only library as at least one of the set of shared files. 
     
     
         8 . The method of  claim 1  further comprising:
 determining a memory amount consumed by each of the set of shared files included in the one or more first files; 
 in response to determining that the memory amount reaches a threshold, creating the second container devoid of the set of shared files. 
 
     
     
         9 . (canceled) 
     
     
         10 . (canceled) 
     
     
         11 . (canceled) 
     
     
         12 . (canceled) 
     
     
         13 . (canceled) 
     
     
         14 . (canceled) 
     
     
         15 . (canceled) 
     
     
         16 . (canceled) 
     
     
         17 . (canceled) 
     
     
         18 . (canceled) 
     
     
         19 . (canceled) 
     
     
         20 . (canceled) 
     
     
         21 . An information handling system comprising:
 one or more processors;   a memory coupled to at least one of the processors; and   a set of computer program instructions stored in the memory and executed by at least one of the processors in order to perform actions comprising:   creating, from a container image, a set of first containers that each comprise a set of shared files;   creating, from the container image, a second container that is devoid of the set of shared files and comprises a pointer that points to a first one of the set of shared files included in a selected one of the or more first containers; and   utilizing, by the second container, the first set of shared files in response to the second container mounting the first set of shared files included in the selected first container.   
     
     
         22 . The information handling system of  claim 21  wherein the actions further comprise:
 detecting a failure by the second container to utilize the first set of shared files; 
 identifying a different one of the set of first containers that comprise a second one of the set of shared files; 
 mounting, by the second container, the second set of shared files included in the different first container; and 
 utilizing, by the second container, the second set of shared files included in the different first container. 
 
     
     
         23 . The information handling system of  claim 22  wherein the pointer points to a proxy embedded in the second container, and wherein the proxy performs the mounting of the first set of shared files and the mounting of the second set of shared files. 
     
     
         24 . The information handling system of  claim 22  wherein, in response to mounting the second set of shared files, the actions further comprise:
 modifying a container list entry to indicate that the second container is sharing the second set of shared files included in the different first container. 
 
     
     
         25 . The information handling system of  claim 21  wherein the actions further comprise:
 determining a first container amount of the set of first containers that comprises the set of shared files; and 
 in response to determining that the first container amount reaches a threshold, creating the second container that is devoid of the set of shared files. 
 
     
     
         26 . The information handling system of  claim 21  wherein the actions further comprise:
 unmounting the second container from the first set of shared files; 
 upgrading a version of the second container to an upgraded version second container; 
 identifying an upgraded version of the one or more first containers that match the version of the upgraded version second container; and 
 mounting the upgraded version second container to an upgraded set of shared files included in the identified upgraded version first container. 
 
     
     
         27 . The information handling system of  claim 21  wherein the container image comprises a shared files parameter that identifies a read-only library as at least one of the set of shared files. 
     
     
         28 . The information handling system of  claim 21  wherein the actions further comprise:
 determining a memory amount consumed by each of the set of shared files included in the one or more first files; 
 in response to determining that the memory amount reaches a threshold, creating the second container devoid of the set of shared files. 
 
     
     
         29 . A computer program product stored in a computer readable storage medium, comprising computer program code that, when executed by an information handling system, performs actions comprising:
 creating, from a container image, a set of first containers that each comprise a set of shared files;   creating, from the container image, a second container that is devoid of the set of shared files and comprises a pointer that points to a first one of the set of shared files included in a selected one of the or more first containers; and   utilizing, by the second container, the first set of shared files in response to the second container mounting the first set of shared files included in the selected first container.   
     
     
         30 . The computer program product of  claim 29  wherein the actions further comprise:
 detecting a failure by the second container to utilize the first set of shared files; 
 identifying a different one of the set of first containers that comprise a second one of the set of shared files; 
 mounting, by the second container, the second set of shared files included in the different first container; and 
 utilizing, by the second container, the second set of shared files included in the different first container. 
 
     
     
         31 . The computer program product of  claim 30  wherein the pointer points to a proxy embedded in the second container, and wherein the proxy performs the mounting of the first set of shared files and the mounting of the second set of shared files. 
     
     
         32 . The computer program product of  claim 30  wherein, in response to mounting the second set of shared files, the actions further comprise:
 modifying a container list entry to indicate that the second container is sharing the second set of shared files included in the different first container. 
 
     
     
         33 . The computer program product of  claim 29  wherein the actions further comprise:
 determining a first container amount of the set of first containers that comprises the set of shared files; and 
 in response to determining that the first container amount reaches a threshold, creating the second container that is devoid of the set of shared files. 
 
     
     
         34 . The computer program product of  claim 29  wherein the actions further comprise:
 unmounting the second container from the first set of shared files; 
 upgrading a version of the second container to an upgraded version second container; 
 identifying an upgraded version of the one or more first containers that match the version of the upgraded version second container; and 
 mounting the upgraded version second container to an upgraded set of shared files included in the identified upgraded version first container. 
 
     
     
         35 . The computer program product of  claim 29  wherein the container image comprises a shared files parameter that identifies a read-only library as at least one of the set of shared files. 
     
     
         36 . The computer program product of  claim 29  wherein the actions further comprise:
 determining a memory amount consumed by each of the set of shared files included in the one or more first files; 
 in response to determining that the memory amount reaches a threshold, creating the second container devoid of the set of shared files.

Join the waitlist — get patent alerts

Track US2020301789A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.