# US 12,118,401 B1 · Digital processing systems and methods for facilitating the development and implementation of applications in conjunction with a serverless environment

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

- Number: US 12,118,401 B1
- Document ID: US12118401B1
- Status: Granted
- Kind: B1
- Application number: 18/400,756
- Filed: 2023-12-29
- Granted: 2024-10-15
- Earliest claimed: 2023-11-28
- Assignees: Monday.Com Ltd.
- Applicants: Monday.Com Ltd.
- Inventors: Vlad Mystetskyi; Greg Rashkevitch; Dor Shaked; Shay Elkana
- Web page: https://patentgrep.com/patent/US12118401B1

## CPC

- G06F 21/6218: {to a system of files or objects, e.g. local or distributed file system or database}
- G06F 8/63: {Image based installation; Cloning; Build to order}
- G06F 8/71: Version control (security arrangements therefor G06F21/57); Configuration management
- G06F 9/445: Program loading or initiating (bootstrapping G06F9/4401; security arrangements for program loading or initiating G06F21/57)
- G06F 9/44578: {Preparing or optimising for loading}
- G06F 9/5055: {considering software capabilities, i.e. software resources associated or available to the machine}
- G06F 11/368: {for test version control, e.g. updating test cases to a new software version}
- H04L 9/3213: {using tickets or tokens, e.g. Kerberos (network architectures or network communication protocols for entities authentication using tickets in a packet data network H04L63/0807)}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Systems, methods, and computer program products allow usage of shared software resources. A first application to be run as a first image includes first code and first metadata information including a first set of functionalities, and first specific settings for a first set of functionalities. A mapping of the first set of functionalities to a first list of shared software resources enables the first application to accomplish the first set of functionalities. A second application to be run as a second image includes a second code and second metadata information including a second set of functionalities and second specific settings for a second set of functionalities. A mapping of the second set of functionalities to a second list of shared software resources enables the second application to accomplish the second set of functionalities. The first and second lists of shared software resources have at least one shared resource in common.

## Claims

### Claim 1

A non-transitory computer-readable medium containing instructions that when executed by at least one processor cause the at least one processor to perform operations to allow usage of shared software resources between multiple applications, the operations comprising:
receiving a first application, for use with a platform, and to be run as a first image, the first application including a first code and first metadata information for configuring the first application, the first metadata information including a first set of functionalities associated with the first application, and first specific settings for at least one of the first set of functionalities;
generating a first mapping between the first set of functionalities and a first list of shared software resources associated with the first set of functionalities;
incorporating the first mapping into the first image to thereby enable the first application to accomplish the first set of functionalities;
receiving a second application, for use with the platform, and to be run as a second image, the second application including a second code and second metadata information for configuring the second application, the second metadata information including a second set of functionalities associated with the second application, and second specific settings for at least one of the second set of functionalities;
generating a second mapping between the second set of functionalities and a second list of shared software resources associated with the second set of functionalities;
incorporating the second mapping into the second image to thereby enable the second application to accomplish the second set of functionalities; and
wherein the first list of shared software resources and the second list of shared software resources have at least one shared resource in common.

### Claim 2 (depends on 1)

The non-transitory computer-readable medium of claim 1, wherein the at least one shared software resource in common includes a communication manager.

### Claim 3 (depends on 2)

The non-transitory computer-readable medium of claim 2, wherein the first specific settings and the second specific settings respectively include a first whitelist and a second whitelist for use by the communication manager.

### Claim 4 (depends on 1)

The non-transitory computer-readable medium of claim 1, wherein the at least one shared software resource in common includes a storage manager.

### Claim 5 (depends on 1)

The non-transitory computer-readable medium of claim 1, wherein the first list of shared software resources and the second list of shared software resources are selected from a library of available shared software resources associated with the platform.

### Claim 6 (depends on 1)

The non-transitory computer-readable medium of claim 1, the library of available shared software resources associated with the platform is included in a software development kit associated with the platform.

### Claim 7 (depends on 1)

The non-transitory computer-readable medium of claim 1, wherein the operations further include generating the first list of shared software resources and the second list of shared software resources.

### Claim 8 (depends on 7)

The non-transitory computer-readable medium of claim 7, wherein generating the first list of shared software resources and the second list of shared software resources includes analyzing the first metadata information and the second metadata information.

### Claim 9 (depends on 7)

The non-transitory computer-readable medium of claim 7, wherein generating the first list of shared software resources and the second list of shared software resources includes analyzing the first code and the second code.

### Claim 10 (depends on 9)

The non-transitory computer-readable medium of claim 9, wherein analyzing the first code and the second code includes using Artificial Intelligence to scan the first code and the second code.

### Claim 11 (depends on 1)

The non-transitory computer-readable medium of claim 1, wherein the operations further include generating the first image and the second image.

### Claim 12 (depends on 1)

The non-transitory computer-readable medium of claim 1, wherein incorporating the first mapping into the first image and the second mapping into the second image includes generating an updated first image and an updated second image, wherein the first updated image and the second updated image are immutable.

### Claim 13 (depends on 1)

The non-transitory computer-readable medium of claim 1, wherein the first metadata information for configuring the first application and the second metadata information for configuring the second application are included respectively in the first code and in the second code.

### Claim 14

A method for allowing usage of shared software resources between multiple applications, the method comprising:
receiving a first application, for use with a platform, and to be run as a first image, the first application including a first code and first metadata information for configuring the first application, the first metadata information including a first set of functionalities associated with the first application, and first specific settings for at least one of the first set of functionalities;
generating a first mapping between the first set of functionalities and a first list of shared software resources associated with the first set of functionalities;
incorporating the first mapping into the first image to thereby enable the first application to accomplish the first set of functionalities;
receiving a second application, for use with the platform, and to be run as a second image, the second application including a second code and second metadata information for configuring the second application, the second metadata information including a second set of functionalities associated with the second application, and second specific settings for at least one of the second set of functionalities;
generating a second mapping between the second set of functionalities and a second list of shared software resources associated with the second set of functionalities;
incorporating the second mapping into the second image to thereby enable the second application to accomplish the second set of functionalities; and
wherein the first list of shared software resources and the second list of shared software resources have at least one shared software resource in common.

### Claim 15 (depends on 14)

The method of claim 14, wherein the at least one shared software resource in common includes a communication manager.

### Claim 16 (depends on 15)

The method of claim 15, wherein the first specific settings and the second specific settings respectively include a first whitelist and a second whitelist for use by the communication manager.

### Claim 17 (depends on 14)

The method of claim 14, wherein the at least one shared software resource in common includes a storage manager.

### Claim 18

A system for allowing usage of shared software resources between multiple applications, the system comprising:
at least one processor configured to:
receive a first application, for use with a platform, and to be run as a first image, the first application including a first code and first metadata information for configuring the first application, the first metadata information including a first set of functionalities associated with the first application, and first specific settings for at least one of the first set of functionalities,
generate a first mapping between the first set of functionalities and a first list of shared software resources associated with the first set of functionalities;
incorporate the first mapping into the first image to thereby enable the first application to accomplish the first set of functionalities;
receive a second application, for use with the platform, and to be run as a second image, the second application including a second code and second metadata information for configuring the second application, the second metadata information including a second set of functionalities associated with the second application, and second specific settings for at least one of the second set of functionalities;
generate a second mapping between the second set of functionalities and a second list of shared software resources associated with the second set of functionalities;
incorporate the second mapping into the second image to thereby enable the second application to accomplish the second set of functionalities; and
wherein the first list of shared software resources and the second list of shared software resources have at least one shared resource in common.

### Claim 19 (depends on 18)

The system of claim 18, wherein the at least one shared software resource in common includes a communication manager.

### Claim 20 (depends on 18)

The system of claim 18, wherein the at least one shared software resource in common includes a storage manager.
