Application and infrastructure template management to easily create secure applications for enterprises

US12340213B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12340213-B2
Application numberUS-202418420515-A
CountryUS
Kind codeB2
Filing dateJan 23, 2024
Priority dateOct 15, 2021
Publication dateJun 24, 2025
Grant dateJun 24, 2025

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

An extensible platform-as-a-service (PaaS) system is used during the software development lifecycle (SDLC) processes of an application. The system, according to various embodiments, receives indications that changes are made to one or more templates or software bundles stored in a software library and coordinates how changes to a particular template will be applied to applications for an enterprise system. Specifically, the system may identify applications that are using the template and determine an ordering for a plurality of application groups that indicates a sequence in which the updates will be applied to the applications. In this manner, template updates can be automatically and systematically deployed to applications without significant involvement by users of the PaaS system.

First claim

Opening claim text (preview).

What is claimed is: 1. A method, comprising: storing, by a computer system, a first software bundle that includes a set of templates for configuring a set of software modules; determining, by the computer system, that an update has been made to a particular one of the set of templates that changes one or more configurations specified in the particular template for a software module corresponding to the particular template; identifying, from a plurality of deployed applications by the computer system, one or more deployed applications configured in accordance with the particular template; grouping, by the computer system, the one or more identified applications into a plurality of application groups that includes a first and a second application group; determining, by the computer system, an ordering of the plurality of application groups for applying the one or more changed configurations of the particular template; and sequentially applying, by the computer system, the one or more changed configurations of the particular template by application group according to the determined ordering of the plurality of application groups, wherein the sequentially applying includes applying the one or more changed configurations to the second application group in response to determining that the first application group is functional after the one or more changed configurations have been applied. 2. The method of claim 1 , wherein the one or more identified applications include a set of canary applications assigned to the first application group in the ordering such that the one or more changed configurations are applied first to the set of canary applications before being applied to deployed applications in remaining ones of the plurality of application groups. 3. The method of claim 2 , further comprising: after applying the one or more changed configurations to the first application group: determining, by the computer system, whether all canary applications in the first application group are functional; and in response to determining that all canary applications in the first application group are functional, applying, by the computer system, the one or more changed configurations to the second application group of the plurality of application groups. 4. The method of claim 2 , further comprising: in response to detecting one or more errors after applying the one or more changed configurations to the set of canary applications assigned to the first application group, ceasing to apply the one or more changed configurations to the remaining application groups. 5. The method of claim 1 , wherein the particular template is included in a second software bundle that is different than the first software bundle, and wherein the one or more identified applications include a deployed application configured in accordance with the second software bundle. 6. The method of claim 5 , wherein the one or more identified applications are grouped into the plurality of application groups by software bundle such that the first application group includes deployed applications configured in accordance with the first software bundle and the second application group includes deployed applications configured in accordance with the second software bundle. 7. The method of claim 1 , wherein a particular application group of the plurality of application groups includes deployed applications that are configured in accordance with respective different software bundles that include the particular template. 8. The method of claim 1 , further comprising: deploying, in a test environment by the computer system, test applications of the one or more identified applications using a plurality of test modules configured with the one or more changed configurations, wherein the sequentially applying is performed in response to validating the one or more changed configurations based on the test applications. 9. The method of claim 8 , further comprising: grouping, by the computer system, the test applications into a plurality of test groups that corresponds to the plurality of application groups; and sequentially applying, by the computer system, the one or more changed configurations by test group according to an ordering of the plurality of test groups that mimics the determined ordering of the plurality of application groups. 10. A non-transitory computer-readable medium having program instructions stored thereon that are capable of causing a computer system to perform operations comprising: storing a first software bundle that includes a set of templates for configuring a set of software modules; determining that an update has been made to a particular one of the set of templates that changes one or more configurations specified in the particular template for a software module corresponding to the particular template; identifying, from a plurality of deployed applications, one or more deployed applications that were configured in accordance with the particular template; grouping the one or more identified applications into a plurality of application groups that includes a first and a second application group; determining an ordering of the plurality of application groups for applying the one or more changed configurations of the particular template; and sequentially applying the one or more changed configurations of the particular template by application group according to the determined ordering of the plurality of application groups, wherein the sequentially applying includes applying the one or more changed configurations to the second application group in response to determining that the first application group is functional after the one or more changed configurations have been applied. 11. The non-transitory computer-readable medium of claim 10 , wherein the one or more identified applications include a set of canary applications that do not process requests from end users, and wherein the one or more changed configurations are applied first to the set of canary applications before being applied to remaining ones of the one or more identified applications. 12. The non-transitory computer-readable medium of claim 11 , wherein the set of canary applications is included in the first application group. 13. The non-transitory computer-readable medium of claim 10 , wherein the one or more identified applications are grouped into the plurality of application groups by software bundle such that a given application group includes deployed applications configured in accordance with a same software bundle that includes the particular template. 14. The non-transitory computer-readable medium of claim 10 , wherein the particular template is included in a second software bundle that is different than the first software bundle, and wherein the one or more identified applications include a deployed application configured in accordance with the second software bundle. 15. The non-transitory computer-readable medium of claim 10 , wherein the operations further comprise: deploying, in a test environment, test applications of the one or more identified applications using a plurality of test modules configured with the one or more changed configurations of the particular template, wherein the sequentially applying is performed in response to validating the one or more changed configurations based on the test applications. 16. A system, comprising: at least one processor; and memory having program instructions stored thereon that are executable by the at least one processor to cause the system to perform operations comprising: storing a softw

Assignees

Inventors

Classifications

  • for test results analysis · CPC title

  • for test execution, e.g. scheduling of test suites · CPC title

  • for test design, e.g. generating new test cases · CPC title

  • Updates (security arrangements therefor G06F21/57) · CPC title

  • Test or assess software · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US12340213B2 cover?
An extensible platform-as-a-service (PaaS) system is used during the software development lifecycle (SDLC) processes of an application. The system, according to various embodiments, receives indications that changes are made to one or more templates or software bundles stored in a software library and coordinates how changes to a particular template will be applied to applications for an enterp…
Who is the assignee on this patent?
Salesforce Inc
What technology area does this patent fall under?
Primary CPC classification G06F21/577. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jun 24 2025 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).