Container Storage Migration
US-2017083541-A1 · Mar 23, 2017 · US
US10467241B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10467241-B2 |
| Application number | US-201715468648-A |
| Country | US |
| Kind code | B2 |
| Filing date | Mar 24, 2017 |
| Priority date | Mar 24, 2017 |
| Publication date | Nov 5, 2019 |
| Grant date | Nov 5, 2019 |
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.
Provided is a process, including: assigning different instances of a single-tenant application among a plurality of instances of the single-tenant application to different computing sessions with different client computing devices associated with different tenant user accounts; while the plurality of instances of the single-tenant application are executing, determining that a workload of the plurality of instances of the single-tenant application satisfies a first threshold condition; in response to the determination, automatically provisioning an added instance of the single-tenant application; and assigning the added instance of the single-tenant application to a session with a given client computing device.
Opening claim text (preview).
What is claimed is: 1. A tangible, non-transitory, machine-readable medium storing instructions that when executed by one or more processors effectuate operations to dynamically provision and terminate instances of a single-tenant application deployed for a multi-tenant use case based on workload, the operations comprising: assigning, with one or more processors, different instances of a single-tenant application among a plurality of instances of the single-tenant application to different computing sessions with different client computing devices associated with different tenant user accounts, wherein: each instance of the single-tenant application is configured, either before, upon, or after launching, to access data of the single-tenant application in a database, the database stores data of multiple tenants accessed by instances of the single-tenant application, and the stored data of different tenants among the multiple tenants is associated with different tenant user accounts; while the plurality of instances of the single-tenant application are executing, determining, with one or more processors, in a first determination, that a workload of the plurality of instances of the single-tenant application satisfies a first threshold condition; in response to the first determination, automatically provisioning, with one or more processors, an added instance of the single-tenant application; assigning, with one or more processors, the added instance of the single-tenant application to a session with a given client computing device; receiving, with one or more processors, a database access request from the added instance of the single-tenant application to the database to access data of a tenant having a tenant user account, wherein the given computing device is logged into the tenant user account; modifying, with one or more processors, the received database access request to add a reference to a field of the database having values that distinguish data of different tenants among the multiple tenants from data of other tenants among the multiple tenants; sending, with one or more processors, the modified database access request to the database; after provisioning the added instance of the single-tenant application, determining, with one or more processors, in a second determination, that a workload of the single-tenant application satisfies a second threshold condition, the second threshold condition corresponding to a smaller workload than the first threshold condition; and in response to the second determination, automatically terminating, with one or more processors, at least one instance of the single-tenant application, wherein: each instance of the single-tenant application is accessed by a single tenant at a time, and a number of instances of the single-tenant application executing is dynamically scaled responsive to workload. 2. The medium of claim 1 , wherein: the single-tenant application is configured to not distinguish among the multiple tenants in access requests to the database; and the operations comprise editing queries from instances of the single-tenant application to the database to add a query predicate that specifies the queries do not apply to data of tenants in the database other than a tenant identified by the query predicate. 3. The medium of claim 1 , wherein: the first determination is made responsive to a request from the given client computing device to access the single-tenant application. 4. The medium of claim 1 , wherein: the first determination is made before receiving a request from the given client computing device to initiate a session with the single-tenant application; and the session with the given client computing device is the first session with a client computing device of the added instance of the single-tenant application. 5. The medium of claim 1 , wherein: the database is a noSQL (no structured query language) document database having a plurality of documents identified in at least one index of contents of the documents; the at least one index has an alias with a filter configured to segment the at least one index according to tenant identifier; and modifying the received database access request comprises specifying a tenant identifier to be applied by the filter of the alias. 6. The medium of claim 1 , wherein: the added instance of the single-tenant application is executed in a different container, virtual machine, or computing device from at least some of the other instances of the single-tenant application; and a reverse proxy server routes messages between each of the instances of the single-tenant applications and client computing devices. 7. The medium of claim 1 , wherein: the plurality of instances of the single-tenant application are part of a hybrid single-tenant/multi-tenant application in which a multi-tenant application writes data to the database and the data is viewed or otherwise accessed by tenant users via the single-tenant application. 8. The medium of claim 7 , wherein: the multi-tenant application comprises a monitoring application configured to monitor delivery of a plurality of applications provided by respective ones of the multiple tenants. 9. The medium of claim 1 , wherein: different tenants access the same instance of the single-tenant application at different times but not concurrently. 10. The medium of claim 1 , wherein the operations comprise: executing a process that monitors a log file of each instance of the single-tenant application, wherein determining that the workload of the single-tenant application satisfies the second threshold condition comprises determining that a timestamp of a most recent transaction in the log file of at least one instance of the single-tenant application is older than a threshold age. 11. The medium of claim 1 , wherein: provisioning the added instance of the single-tenant application comprises adding a service corresponding to the single-tenant application to a computing device executing a plurality of services corresponding to other instances of the single-tenant application, wherein at least some of the services have a plurality of processes. 12. The medium of claim 1 , wherein: the added instance of the single-tenant application executes on a single computing device along with the plurality of instances of the single-tenant application; provisioning the added instance of the single-tenant application comprises: identifying a port number of the computing device that is not assigned to another instance of the single-tenant application; and configuring the added instance of the single-tenant application to monitor the added port number by writing the port number to a human readable hierarchical serialization data format document storing configuration settings of the added instance. 13. The medium of claim 12 , wherein: provisioning, the first determination, the second determination, and terminating are performed by a service executing on a computing device that executes the plurality of instances of the single-tenant application and the added instance of the single-tenant application. 14. The medium of claim 1 , wherein provisioning, terminating, or both comprise: steps for dynamically scaling a number of instances of a single-tenant application based on workload. 15. A method, comprising: assigning, with one or more processors, different instances of a single-tenant application among a plurality of instances of the single-tenant application to different computing sessions with different client computing devices associated with different tenant user ac
Grid computing · CPC title
Hypervisor-specific management and integration aspects · CPC title
between a Database Management System and a front-end application · CPC title
considering the load · CPC title
Distribution of virtual machine instances; Migration and load balancing · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.