IP Library › Granted Patent US 12,045,605
Granted Patent B2
US 12,045,605 · App. 17/757,563 · Granted Jul 23, 2024

Method for updating applications in cloud environments

Inventors: Daniel Turull (Solna, SE); Erik Halen (Luleå, SE); Pontus Sköldström (Solna, SE)
Assignee: Telefonaktiebolaget LM Ericsson
G06F8/656G06F9/54
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,045,605
App. No.
17/757,563
Granted
Jul 23, 2024
Kind
B2
Abstract

A method performed by a computer to update a runtime environment of an application of the computer via a communications network, wherein a filesystem of the runtime environment comprises one or more layers, wherein at least one layer of the one or more layers comprises a link layer formed by a plurality of packages and wherein the link layer comprises symbolic links indicative of the packages forming an updated layer. The method comprising receiving, from a user device or from a scheduling unit, a first signal indicative of a command to use the updated layer of the one or more layers, obtaining the updated layer, obtaining packages forming the updated layer, from a local cache or from a shared storage or from an image repository node, and updating the runtime environment by replacing a layer of the one or more layers with the updated layer using the obtained packages.

Claims (80)

1. A method performed by a computer configured to update a runtime environment of an application of the computer via a communications network, wherein a filesystem of the runtime environment comprises one or more layers,

wherein at least one layer of the one or more layers comprises a link layer formed by a plurality of packages and wherein the link layer comprises symbolic links indicative of the plurality of packages forming an updated layer, the method comprising:

receiving, from a user device or from a scheduling unit, a first signal indicative of a command to use the updated layer of the one or more layers;

obtaining the updated layer;

obtaining packages forming the updated layer, from a local cache, from a shared storage, or from an image repository node;

updating the runtime environment by replacing a layer of the one or more layers with the updated layer using the obtained packages;

generating a build image of the updated layer of a plurality of hierarchical layers;

extracting symbolic links from the build image, the symbolic links being indicative of the packages forming the updated layer;

generating a link layer by aggregating the extracted symbolic links and an identity of the updated layer, the identity of the updated layer associating the updated layer to the generated link layer;

running an installation of the application using a configuration file; and

sending a signal to the image repository node, indicative of the generated link layer.

2. The method according to claim 1 , further comprising:

sending a second signal, to the image repository node, indicative of a request for a link layer associated to the updated layer of the plurality of hierarchical layers; and

receiving a third signal, from the image repository node, indicative of the requested link layer.

3. The method according to claim 2 , further comprising:

determining a first set of packages available in the local cache;

determining a second set of packages not available in the local cache;

obtaining the first set of packages from the local cache; and

obtaining the second set of packages from the shared storage or from the image repository node.

4. The method according to claim 3 , wherein obtaining the second set of packages from the image repository node further comprises:

sending a fourth signal, to the image repository node, indicative of a request for the second set of packages; and

receiving a fifth signal, from the image repository node, indicative of the requested second set of packages.

5. The method according to claim 1 , wherein the plurality of hierarchical layers comprises a base image layer, a link layer and an additional layer, wherein the build image is generated further by:

running the installation of the application using the configuration file, the base image layer and a first link layer by adding packages and links to a second link layer; and

generating the build image of the updated layer based on the link layer and the additional layer.

6. A computer configured to update a runtime environment of an application of the computer via a communications network, wherein the runtime environment comprises a plurality of hierarchical layers,

wherein each layer of the plurality of hierarchical layers is formed by a plurality of packages, wherein at least one layer of one or more layers comprises a link layer and wherein the link layer comprises symbolic links indicative of the plurality of packages forming an updated layer, the computer comprising:

processing circuitry; and

a memory comprising instructions which, when executed by the processing circuitry, cause the computer to:

receive, from a user device or from a scheduling unit, a first signal indicative of a command to use the updated layer;

obtain the updated layer;

obtain packages forming the updated layer, from a local cache, from a shared storage, or from an image repository node;

update the runtime environment by replacing a layer of the one or more layers with the updated layer using the obtained packages;

generate a build image of the updated layer of the plurality of hierarchical layers;

extract symbolic links from the build image, the symbolic links being indicative of the packages forming the updated layer;

generate a link layer by aggregating the extracted symbolic links and an identity of the updated layer, the identity of the updated layer associating the updated layer to the generated link layer;

run an installation of the application using a configuration file; and

send a signal to the image repository node, indicative of the generated link layer.

7. The computer according to claim 6 , further comprising:

an image manager; and

at least one container runtime environment comprising the runtime environment, wherein the runtime environment comprises a plurality of container instances.

8. The computer according to claim 6 , further to:

send a second signal, to the image repository node, indicative of a request for a link layer associated to the updated layer of the plurality of hierarchical layers; and

receive a third signal, from the image repository node, indicative of the requested link layer.

9. The computer according to claim 8 , further to:

determine a first set of packages available in the local cache;

determine a second set of packages not available in the local cache;

obtain the first set of packages from the local cache; and

obtain the second set of packages from the shared storage or from the image repository node.

10. The computer according to claim 9 , wherein to obtain the second set of packages from the image repository node is for the computer to:

send a fourth signal, to the image repository node, indicative of a request for the second set of packages; and

receive a fifth signal, from the image repository node, indicative of the requested second set of packages.

11. The computer according to claim 6 , wherein the plurality of hierarchical layers comprises a base image layer, a link layer and an additional layer, wherein the build image is generated further by operations to:

run the installation of the application using the configuration file, the base image layer and a first link layer by adding packages and links to a second link layer; and

generate the build image of the updated layer based on the link layer and the additional layer.

12. A non-transitory computer readable storage medium comprising instructions which, when executed on processing circuitry, cause a computer node to update a runtime environment of an application of the computer node via a communications network, wherein a filesystem of the runtime environment comprises one or more layers,

wherein at least one layer of the one or more layers comprises a link layer formed by a plurality of packages and wherein the link layer comprises symbolic links indicative of the plurality of packages forming an updated layer, by performing operations comprising:

receiving, from a user device or from a scheduling unit, a first signal indicative of a command to use the updated layer of the one or more layers;

obtaining the updated layer;

obtaining packages forming the updated layer, from a local cache, from a shared storage, or from an image repository node;

updating the runtime environment by replacing a layer of the one or more layers with the updated layer using the obtained packages;

generating a build image of the updated layer of a plurality of hierarchical layers;

extracting symbolic links from the build image, the symbolic links being indicative of the packages forming the updated layer;

generating a link layer by aggregating the extracted symbolic links and an identity of the updated layer, the identity of the updated layer associating the updated layer to the generated link layer;

running an installation of the application using a configuration file; and

sending a signal to the image repository node, indicative of the generated link layer.

13. The non-transitory computer readable storage medium according to claim 12 , wherein the computer node to further perform operations comprising:

sending a second signal, to the image repository node, indicative of a request for a link layer associated to the updated layer of the plurality of hierarchical layers; and

receiving a third signal, from the image repository node, indicative of the requested link layer.

14. The non-transitory computer readable storage medium according to claim 13 , wherein the computer node to further perform operations comprising:

determining a first set of packages available in the local cache;

determining a second set of packages not available in the local cache;

obtaining the first set of packages from the local cache; and

obtaining the second set of packages from the shared storage or from the image repository node.

15. The non-transitory computer readable storage medium according to claim 14 , wherein obtaining the second set of packages from the image repository node further comprises:

sending a fourth signal, to the image repository node, indicative of a request for the second set of packages; and

receiving a fifth signal, from the image repository node, indicative of the requested second set of packages.

16. The non-transitory computer readable storage medium according to claim 12 , wherein the plurality of hierarchical layers comprises a base image layer, a link layer and an additional layer, wherein the build image is generated further by:

running the installation of the application using the configuration file, the base image layer and a first link layer by adding packages and links to a second link layer; and

generating the build image of the updated layer based on the link layer and the additional layer.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 17, 2022
From: HALEN, ERIK; SKÖLDSTRÖM, PONTUS; TURULL, DANIEL
To: TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)
Reel/Frame 060233/0254 →
Continuity (1)
Related Publication 20230022646A1 · Jan 26, 2023