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

US11907708B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11907708-B2
Application numberUS-202217833778-A
CountryUS
Kind codeB2
Filing dateJun 6, 2022
Priority dateOct 15, 2021
Publication dateFeb 20, 2024
Grant dateFeb 20, 2024

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 computer-implemented method for deploying an update to a template, the method comprising: storing by an extensible platform-as-a-service (PaaS) system, a plurality of software bundles, wherein a software bundle includes a collection of templates for configuring a plurality of software modules; receiving an indication that an update is made to a template by making one or more changes to configurations specified in the template for a respective software module for the template; determining, by the extensible PaaS system, one or more applications deployed in a production environment that use the template; assigning the one or more applications to a respective application group to determine a plurality of application groups; determining an ordering of the plurality of application groups for applying the one or more changes of the updated template; deploying a set of test applications in a development environment using a plurality of test modules configured with the one or more changes of the updated template; and responsive to validating the one or more changes based on the set of test applications, sequentially applying, to an application group, the one or more changes of the updated template according to the determined ordering of the plurality of application groups. 2. The computer-implemented method of claim 1 , wherein the template is associated with a set of attributes including at least one of a name of the template, a type indicating a type of the respective software module for the template, and a provider associated with the template. 3. The computer-implemented method of claim 1 , wherein the one or more applications are managed by a plurality of units of an online system, and a unit manages a respective subset of the one or more applications. 4. The computer-implemented method of claim 1 , wherein the one or more applications are managed by a plurality of units of an online system. 5. The computer-implemented method of claim 4 , wherein a first unit manages a first subset of applications in the one or more applications, and an application in the first subset is a canary application that is configured using a same software bundle as another application in the first subset. 6. The computer-implemented method of claim 5 , wherein the canary application is assigned to a first application group in the ordering such that the one or more changes are applied first to the canary application before being applied to the another application in the first subset. 7. The computer-implemented method of claim 1 , wherein a software module in the plurality of software modules corresponds to at least one of a source code repository, basic program templates, a collection of resources for creating containerized applications, a configured pipeline for continuous integration (CI), or a configured pipeline for continuous delivery (CD). 8. A non-transitory computer readable storage medium for storing instructions that when executed by one or more computer processors cause the one or more computer processors to perform steps comprising: storing by an extensible platform-as-a-service (PaaS) system, a plurality of software bundles, wherein a software bundle includes a collection of templates for configuring a plurality of software modules; receiving an indication that an update is made to a template by making one or more changes to configurations specified in the template for a respective software module for the template; determining, by the extensible PaaS system, one or more applications deployed in a production environment that use the template; assigning the one or more applications to a respective application group to determine a plurality of application groups; determining an ordering of the plurality of application groups for applying the one or more changes of the updated template; deploying a set of test applications in a development environment using a plurality of test modules configured with the one or more changes of the updated template; and responsive to validating the one or more changes based on the set of test applications, sequentially applying, to an application group, the one or more changes of the updated template according to the determined ordering of the plurality of application groups. 9. The non-transitory computer-readable storage medium of claim 8 , wherein the template is associated with a set of attributes including at least one of a name of the template, a type indicating a type of the respective software module for the template, and a provider associated with the template. 10. The non-transitory computer-readable storage medium of claim 8 , wherein the one or more applications are managed by a plurality of units of an online system, and a unit manages a respective subset of the one or more applications. 11. The non-transitory computer-readable storage medium of claim 8 , wherein the one or more applications are managed by a plurality of units of an online system. 12. The non-transitory computer-readable storage medium of claim 11 , wherein a first unit manages a first subset of applications in the one or more applications, and an application in the first subset is a canary application that is configured using a same software bundle as another application in the first subset. 13. The non-transitory computer-readable storage medium of claim 12 , wherein the canary application is assigned to a first application group in the ordering such that the one or more changes are applied first to the canary application before being applied to the another application in the first subset. 14. The non-transitory computer-readable storage medium of claim 8 , wherein a software module in the plurality of software modules corresponds to at least one of a source code repository, basic program templates, a collection of resources for creating containerized applications, a configured pipeline for continuous integration (CI), or a configured pipeline for continuous delivery (CD). 15. A computer system, comprising: one or more computer processors; and a non-transitory computer-readable storage medium for storing instructions that when executed by the one or more computer processors cause the one or more computer processors to perform steps comprising: storing by an extensible platform-as-a-service (PaaS) system, a plurality of software bundles, wherein a software bundle includes a collection of templates for configuring a plurality of software modules; receiving an indication that an update is made to a template by making one or more changes to configurations specified in the template for a respective software module for the template; determining, by the extensible PaaS system, one or more applications deployed in a production environment that use the template; assigning the one or more applications to a respective application group to determine a plurality of application groups; determining an ordering of the plurality of application groups for applying the one or more changes of the updated template; deploying a set of test applications in a development environment using a plurality of test modules configured with the one or more changes of the updated template; and responsive to validating the one or more changes based on the set of test applications, sequentially applying, to an application group, the one or more changes of the updated template according to the determined ordering of the plurality of application groups. 16. The system of claim 15 , wherein the template is associated with a set of attributes including at least one of a name of the template, a typ

Assignees

Inventors

Classifications

  • G06F8/71Primary

    Version control (security arrangements therefor G06F21/57); Configuration management · CPC title

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

  • Interprogram communication · CPC title

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

  • for test execution, e.g. scheduling of test suites · 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 US11907708B2 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 G06F8/71. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Feb 20 2024 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 7 related publications on this page (citations in our corpus or others sharing the same primary CPC).