System and Method for Dynamically Determining Applicable Updates
US-2021081188-A1 · Mar 18, 2021 · US
US11748087B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11748087-B2 |
| Application number | US-202117360686-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jun 28, 2021 |
| Priority date | Jun 28, 2021 |
| Publication date | Sep 5, 2023 |
| Grant date | Sep 5, 2023 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A multi-tenant system provides software-updating functionality that selectively updates tenant systems according to a number of different factors. In some embodiments, the factors include evaluation of “health metrics” that quantify how well tenant systems are functioning after an update of software components to the latest version, policies specified by either the tenants or the multi-tenant system (or both), and/or “kill switches” specified by the multi-tenant system that prevent updating, as some examples.
Opening claim text (preview).
What is claimed is: 1. A computer-implemented method for distributing software updates to tenant organizations of a multi-tenant system, the computer-implemented method comprising: distributing an integration component to the tenant organizations of the multi-tenant system, the integration component permitting client devices of the tenant organizations to use a service of the multi-tenant system; receiving a first updated integration component that is an updated version of the integration component; for a first tenant organization of the multi-tenant system, and for different client devices of the first tenant organization, determining whether to provide the first updated integration component to the different client devices, wherein the determining comprises: receiving, from a client device of the different client devices of the first tenant organization, a poll message to determine whether an updated integration component for the first tenant organization is available; comparing a current time to a time of last update or to a time of next release as estimated in a prior release; based on the comparison, adjusting an amount of time for the client device to delay before sending another poll message, the amount of time different from a prior amount of time for the client device to delay; determining a next time for the client device to poll for the updated integration component; and sending the client device a response specifying the next time; and selectively providing the first updated integration component to the different client devices based on the determination of whether to provide the first updated integration component. 2. The computer-implemented method of claim 1 , further comprising: receiving a kill switch instruction from an administrator of the first tenant organization; refraining from providing the first updated integration component to a client device of the first tenant organization responsive to the receipt of the kill switch instruction; and providing the first updated integration component to a client device of a second organization, wherein a kill switch instruction from the second tenant organization has not been received. 3. The computer-implemented method of claim 1 , further comprising: determining that the first updated integration component functions improperly; and responsive to determining that the updated integration component functions improperly, causing the different client devices to uninstall the first updated integration component and to reinstall a prior version of the first updated integration component. 4. The computer-implemented method of claim 1 , further comprising: obtaining health metrics from a first subset of the different client devices, of the first tenant organization, that have installed the first updated integration component; based on the health metrics, determining whether the first updated integration component functions improperly for the first subset of the different client devices of the first tenant organization; and responsive to determining that the first updated integration component functions improperly for the first subset of the different client devices of the first tenant organization, refraining from providing the first updated integration component to a second subset of the different client devices, of the first tenant organization, that lack the first updated integration component. 5. The computer-implemented method of claim 4 , wherein the first subset is defined by metadata including at least one of: operating system, operating system version, user group membership, or geographic location. 6. The computer-implemented method of claim 4 , wherein the health metrics comprise numbers of successful logins to the multi-tenant system via the first updated integration component. 7. A non-transitory, computer-readable medium storing instructions that, when executed by a computer processor, perform actions comprising: distributing an integration component to tenant organizations of a multi-tenant system, the integration component permitting client devices of the tenant organizations to use a service of the multi-tenant system; receiving a first updated integration component that is an updated version of the integration component; for a first tenant organization of the multi-tenant system, and for different client devices of the first tenant organization, determining whether to provide the first updated integration component to the different client devices, wherein the determining comprises: receiving, from a client device of the different client devices of the first tenant organization, a poll message to determine whether an updated integration component for the first tenant organization is available; comparing a current time to a time of last update or to a time of next release as estimated in a prior release; based on the comparison, adjusting an amount of time for the client device to delay before sending another poll message, the amount of time different from a prior amount of time for the client device to delay; determining a next time for the client device to poll for the updated integration component; and sending the client device a response specifying the next time; and selectively providing the first updated integration component to the different client devices based on the determination of whether to provide the first updated integration component. 8. The non-transitory, computer-readable medium of claim 7 , the actions further comprising receiving a kill switch instruction from an administrator, wherein the determination of whether to provide the first updated integration component to the different client devices comprises determining, based at least in part on whether the kill switch instruction has been received, whether to provide the first updated integration component to a first client device of the different client devices. 9. The non-transitory, computer-readable medium of claim 7 , the actions further comprising: determining that the first updated integration component functions improperly; and responsive to determining that the first updated integration component functions improperly, causing the different client devices to uninstall the first updated integration component and to reinstall a prior version of the first updated integration component. 10. The non-transitory, computer-readable medium of claim 7 , the actions further comprising: obtaining health metrics from a first subset of the different client devices of the first tenant organization, that have installed the first updated integration component; based on the health metrics, determining whether the first updated integration component functions improperly for the first subset of the different client devices of the first tenant organization; and responsive to determining that the first updated integration component functions improperly for the first subset of the different client devices of the first tenant organization, refraining from providing the first updated integration component to a second subset of the different client devices, of the first tenant organization, that lack the first updated integration component. 11. The non-transitory, computer-readable medium of claim 10 , wherein the first subset is defined by metadata including at least one of: operating system, operating system version, user group membership, or geographic location. 12. The non-transitory, computer-readable medium of claim 10 , wherein the health metrics comprise numbers of successful logins to the multi-tenant system via the first updated integration component. 13. A computer system comprising:
Updates (security arrangements therefor G06F21/57) · CPC title
Version control (security arrangements therefor G06F21/57); Configuration management · CPC title
in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems · CPC title
where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems (multiprogramming arrangements G06F9/46; allocation of resources G06F9/50) · CPC title
by assessing time · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.