IP Library Granted Patent US 11,381,476
Granted Patent B2
US 11,381,476 · App. 16/216,570 · Granted Jul 5, 2022

Standardized format for containerized applications

Inventors: Joachim Fitzer (Schriesheim, DE); Pietro Francesco Menna Ruiz Diaz (Sao Leopoldo, BR); Felipe Musse (Porto Alegre, BR); Simon Seif (Ostringen, DE)
Assignee: SAP SE
H04L41/5045G06F8/60G06F9/45558G06F9/5072G06F9/5077G06F40/205H04L41/5054H04L67/10H04L67/34G06F2009/45562
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 11,381,476
App. No.
16/216,570
Filed
Dec 11, 2018
Granted
Jul 5, 2022
Kind
B2
Art Unit
2455
USPC
709/226
Abstract

A file is created in a standardized format that defines a type of a containerized application and includes information for deployment of the containerized application. A single parser of the standardized format is thus enabled to deploy different types of containerized applications. The standardized file format includes an application definition. The application definition includes a service, a port list, a container list, a volume mount list, an access mode list, a resource usage list, or any suitable combination thereof. A client device presents a user interface that allows a user to select a containerized application to execute. An application server parses an application template file for the selected containerized application and, based on the information in the application template file, causes one or more servers (e.g., one or more Kubernetes cluster nodes) to execute the containerized application.

Claims (76)

1. A method comprising:

causing a user interface to be presented, the user interface comprising a plurality of application names;

receiving, via the user interface, a selection of an application name of the plurality of application names;

in response to the receiving of the selection, accessing, by one or more processors, a file that corresponds to the selected application name and comprises a header and a body, the header comprising an indication of a type of a containerized application;

identifying, within the body and based on the type of the containerized application, by the one or more processors, a keyword;

based on the keyword, parsing a portion of the body to identify deployment information for the containerized application, the portion of the body comprising an identification of a port for the containerized application that is exposed to users; and

based on the identified deployment information, deploying the containerized application to a server, the deploying comprising interacting with a Kubernetes cluster through a representational state transfer (REST) application programming interface (API).

2. The method of claim 1 , wherein the file is a JavaScript object notation (JSON) file.

3. The method of claim 1 , wherein the file is a yet another markup language (YAML) file.

4. The method of claim 1 , wherein:

the type is a first type;

the header is a first header;

the body is a first body;

the keyword is a first keyword;

the containerized application is a first containerized application;

the parsing of the portion of the first body comprises identifying the first keyword based on the first type of the containerized application; and

further comprising:

accessing a second file that comprises a second header and a second body, the second header comprising a second indication of a second type of a second containerized application, the second type being different from the first type;

based on the second type of the second containerized application, parsing a second portion of the second body to identify second deployment information for the second containerized application, the parsing of the second portion of the second body comprising identifying a second keyword based on the second type of the second containerized application, the second keyword being different from the first keyword; and

based on the second deployment information, deploying the second containerized application to the server.

5. The method of claim 1 , wherein:

the portion of the body comprises an identification of a version of the containerized application; and

the deploying of the containerized application to the server is based on the version of the containerized application.

6. The method of claim 1 , wherein the portion of the body further comprises an identification of a protocol used by the containerized application to communicate using the port.

7. The method of claim 1 , wherein the portion of the body further comprises data representing a name of a container for the containerized application.

8. The method of claim 1 , wherein the portion of the body further comprises data representing a path for mounting a volume.

9. The method of claim 1 , wherein the portion of the body further comprises data representing a quantity of storage requested for the containerized application.

10. A system comprising:

a memory that stores instructions; and

one or more processors configured by the instructions to perform operations comprising:

causing a user interface to be presented, the user interface comprising a plurality of application names;

receiving, via the user interface, a selection of an application name of the plurality of application names;

in response to the receiving of the selection, accessing a file that corresponds to the selected application name and comprises a header and a body, the header comprising an indication of a type of a containerized application;

identifying, within the body and based on the type of the containerized application, a keyword;

based on the keyword, parsing a portion of the body to identify deployment information for the containerized application, the portion of the body comprising an identification of a port for the containerized application that is exposed to users; and

based on the identified deployment information, deploying the containerized application to a server, the deploying comprising interacting with a Kubernetes cluster through a representational state transfer (REST) application programming interface (API).

11. The system of claim 10 , wherein the file is a JavaScript object notation (JSON) file.

12. The system of claim 10 , wherein the file is a yet another markup language (YAML) file.

13. The system of claim 10 , wherein:

the type is a first type;

the header is a first header;

the body is a first body;

the keyword is a first keyword;

the containerized application is a first containerized application;

the parsing of the portion of the first body comprises identifying the first keyword based on the first type of the containerized application; and

the operations further comprise:

accessing a second file that comprises a second header and a second body, the second header comprising a second indication of a second type of a second containerized application, the second type being different from the first type;

based on the second type of the second containerized application, parsing a second portion of the second body to identify second deployment information for the second containerized application, the parsing of the second portion of the second body comprising identifying a second keyword based on the second type of the second containerized application, the second keyword being different from the first keyword; and

based on the second deployment information, deploying the second containerized application to the server.

14. The system of claim 10 , wherein:

the portion of the body comprises an identification of a version of the containerized application; and

the deploying of the containerized application to the server is based on the version of the containerized application.

15. A non-transitory computer-readable medium that stores instructions that, when executed by one or more processors, cause the one or more processors to perform operations comprising:

causing a user interface to be presented, the user interface comprising a plurality of application names;

receiving, via the user interface, a selection of an application name of the plurality of application names;

in response to the receiving of the selection, accessing a file that corresponds to the selected application name and comprises a header and a body, the header comprising an indication of a type of a containerized application;

identifying, within the body and based on the type of the containerized application, a keyword;

based on the keyword, parsing a portion of the body to identify deployment information for the containerized application, the portion of the body comprising an identification of a port for the containerized application that is exposed to users; and

based on the identified deployment information, deploying the containerized application to a server, the deploying comprising interacting with a Kubernetes cluster through a representational state transfer (REST) application programming interface (API).

16. The computer-readable medium of claim 15 , wherein the file is a JavaScript object notation (JSON) file.

17. The computer-readable medium of claim 15 , wherein:

the type is a first type;

the header is a first header;

the body is a first body;

the keyword is a first keyword;

the containerized application is a first containerized application;

the parsing of the portion of the first body comprises identifying the first keyword based on the first type of the containerized application; and

the operations further comprise:

accessing a second file that comprises a second header and a second body, the second header comprising a second indication of a second type of a second containerized application, the second type being different from the first type;

based on the second type of the second containerized application, parsing a second portion of the second body to identify second deployment information for the second containerized application, the parsing of the second portion of the second body comprising identifying a second keyword based on the second type of the second containerized application, the second keyword being different from the first keyword; and

based on the second deployment information, deploying the second containerized application to the server.

18. The computer-readable medium of claim 15 , wherein:

the portion of the body comprises an identification of a version of the containerized application; and

the deploying of the containerized application to the server is based on the version of the containerized application.

19. The computer-readable medium of claim 15 , wherein the portion of the body further comprises an identification of a protocol used by the containerized application to communicate using the port.

20. The computer-readable medium of claim 15 , wherein the portion of the body further comprises data representing a name of a container for the containerized application.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 11, 2018
From: FITZER, JOACHIM; MENNA, PIETRO FRANCESCO; MUSSE, FELIPE; SEIF, SIMON
To: SAP SE
Reel/Frame 047746/0769 →
Continuity (1)
Related Publication 20200186441A1 · Jun 11, 2020
Cited By (3)
US 12,248,772 US 12,494,963 US 12,639,172