Deployment of software applications on server clusters

US10853046B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10853046-B2
Application numberUS-201816219784-A
CountryUS
Kind codeB2
Filing dateDec 13, 2018
Priority dateDec 13, 2018
Publication dateDec 1, 2020
Grant dateDec 1, 2020

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.

Disclosed are some implementations of systems, apparatus, methods and computer program products for deploying software applications on server clusters. Characteristics of the server clusters are used to generate a deployment plan indicating an order in which the server clusters are to be updated and a timing with which the server clusters are to be updated. The characteristics of a server cluster can include a risk rating associated with the server cluster, an amount of traffic processed by the server cluster, and/or a size of the server cluster.

First claim

Opening claim text (preview).

What is claimed is: 1. A system comprising: a database system implemented using a server system, the database system configurable to cause: identifying a plurality of server clusters on which to deploy software including a set of computer-readable instructions, each of the server clusters including a plurality of servers; retrieving a plurality of risk ratings, each of the risk ratings being associated with a corresponding one of the plurality of server clusters; ascertaining, for each server cluster of the plurality of server clusters, an amount of traffic processed by the server cluster and a size of the server cluster, the size of the server cluster indicating a number of servers in the server cluster; generating a deployment plan indicating a deployment order and a deployment timing based, at least in part, on the plurality of risk ratings, the amount of traffic processed by each of the server clusters, and the size of each of the server clusters, the deployment order indicating an order in which deployment is to proceed on the server clusters, the deployment timing indicating a timing with which the software is to be deployed on the server clusters; and deploying the software on the server clusters based, at least in part, on the deployment plan, wherein deploying the software includes: installing the software on at least a first one of the server clusters according to the deployment plan; dynamically updating the deployment plan based, at least in part, on 1) a minimum confidence measure threshold associated with the risk rating of a server cluster of a first subset of the server clusters on which the software has not been deployed and 2) a confidence measure of a status of deployment of the software on at least a second subset of the server clusters on which the software has been deployed; and installing the software on at least a second one of the server clusters according to the updated deployment plan. 2. The system as recited in claim 1 , the server cluster of the first subset of the server clusters being the second one of the server clusters. 3. The system as recited in claim 1 , the database system further configurable to cause: identifying the second subset of the server clusters on which the software has been deployed; ascertaining, for each server cluster in the second subset of the server clusters, a time that has elapsed since deployment of the software on the server cluster; updating the confidence measure of the status of deployment of the software on the second subset of the server clusters based, at least in part, on the time that has elapsed since deployment of the software on each server cluster in the second subset of the server clusters, the amount of traffic processed by each server cluster in the second subset of the server clusters, and the size of each server cluster in the second subset of the server clusters; and updating the deployment plan based, at least in part, on the confidence measure and a minimum confidence measure threshold associated with at least one of the first subset of the server clusters on which the software has not been deployed. 4. The system as recited in claim 1 , wherein the software comprises a software update to a first software version running on the server clusters. 5. The system as recited in claim 1 , the database system further configurable to cause determining the deployment order based, at least in part, on the risk ratings. 6. The system as recited in claim 1 , the database system further configurable to cause generating the deployment plan further based, at least in part, on at least one of a) a total deployment time in which the deployment of the software on the server clusters is to be completed or b) a type of the traffic processed by each of the server clusters. 7. A computer program product comprising one or more non-transitory computer-readable media having computer-readable program code stored therein, the program code capable of being executed by one or more processors, the program code comprising computer-readable instructions configurable to cause: identifying a plurality of server clusters on which to deploy software including a set of computer-readable instructions, each of the server clusters including a plurality of servers; retrieving a plurality of risk ratings, each of the risk ratings being associated with a corresponding one of the plurality of server clusters; ascertaining, for each server cluster of the plurality of server clusters, an amount of traffic processed by the server cluster and a size of the server cluster, the size of the server cluster indicating a number of servers in the server cluster; generating a deployment plan indicating a deployment order and a deployment timing based, at least in part, on the plurality of risk ratings, the amount of traffic processed by each of the server clusters, and the size of each of the server clusters, the deployment order indicating an order in which deployment is to proceed on the server clusters, the deployment timing indicating a timing with which the software is to be deployed on the server clusters; and deploying the software on the server clusters based, at least in part, on the deployment plan, wherein deploying the software includes: installing the software on at least a first one of the server clusters according to the deployment plan; dynamically updating the deployment plan based, at least in part, on 1) a minimum confidence measure threshold associated with the risk rating of a server cluster of a first subset of the server clusters on which the software has not been deployed and 2) a confidence measure of a status of deployment of the software on at least a second subset of the server clusters on which the software has been deployed; and installing the software on at least a second one of the server clusters according to the updated deployment plan. 8. The computer program product as recited in claim 7 , the server cluster of the first subset of the server clusters being the second one of the server clusters. 9. The computer program product as recited in claim 7 , the program code comprising instructions further configurable to cause: identifying the second subset of the server clusters on which the software has been deployed; ascertaining, for each server cluster in the second subset of the server clusters, a time that has elapsed since deployment of the software on the server cluster; updating the confidence measure of the status of deployment of the software on the second subset of the server clusters based, at least in part, on the time that has elapsed since deployment of the software on each server cluster in the second subset of the server clusters, the amount of traffic processed by each server cluster in the second subset of the server clusters, and the size of each server cluster in the second subset of the server clusters; and updating the deployment plan based, at least in part, on the confidence measure and a minimum confidence measure threshold associated with at least one of the first subset of the server clusters on which the software has not been deployed. 10. The computer program product as recited in claim 7 , the program code comprising instructions further configurable to cause: determining the deployment order based, at least in part, on the risk ratings. 11. The computer program product as recited in claim 7 , the program code comprising instructions further configured to cause generating the deployment plan further based, at least in part, on at least one of a) a total deployment time in which the deployment of the software on the server clusters is to be completed or b) a type of the traffic processed by each of the server clusters. 12. A me

Assignees

Inventors

Classifications

  • for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS] · CPC title

  • based on web technology, e.g. hypertext transfer protocol [HTTP] · CPC title

  • Assignment of logical groups to network elements · CPC title

  • G06F8/61Primary

    Installation · CPC title

  • H04L41/082Primary

    the condition being updates or upgrades of network functionality · 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 US10853046B2 cover?
Disclosed are some implementations of systems, apparatus, methods and computer program products for deploying software applications on server clusters. Characteristics of the server clusters are used to generate a deployment plan indicating an order in which the server clusters are to be updated and a timing with which the server clusters are to be updated. The characteristics of a server clust…
Who is the assignee on this patent?
Salesforce Com Inc
What technology area does this patent fall under?
Primary CPC classification G06F8/61. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Dec 01 2020 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 5 related publications on this page (citations in our corpus or others sharing the same primary CPC).