Managing user data in a multitenant deployment

US10853124B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10853124-B2
Application numberUS-201715715123-A
CountryUS
Kind codeB2
Filing dateSep 25, 2017
Priority dateSep 25, 2017
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.

A multitenant deployment includes a computing cluster that executes multiple containerized instances of a software application. Each containerized instance is associated with one or more datastores that can be assigned to different tenants. A registry store maintains a mapping between tenants and datastores, thereby allowing a registry manager to properly route tenant requests to the correct datastores. A capacity manager tracks tenant usage of datastores in the registry store and then scales computing resources for each tenant in proportion to usage. The capacity manager also migrates tenant resources in response to catastrophic failures or upgrades. In this fashion, the multitenant deployment can adapt a single-tenant software application for multi-tenancy in a manner that is both transparent and secure for the tenant.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-implemented method, comprising: containerizing plural instances of a software application to generate a set of containerized microservices supporting multiple tenants, wherein each containerized microservice included in the set of containerized microservices is associated with one or more datastores that are not associated with other containerized microservices, and each datastore included in the one or more datastores is associated with a single tenant included in the multiple tenants; generating a usage score indicating an amount of resources consumed when one or more tenants of the multiple tenants access the set of containerized microservices; and based on the generated usage score, adjusting allocation of resources provided by the set of containerized microservices to the one or more tenants. 2. The computer-implemented method of claim 1 , further comprising: generating a second usage score that reflects a portion of resources consumed by a first tenant included in the multiple tenants when accessing the set of containerized microservices; determining that the second usage score exceeds a threshold; transmitting an account upgrade recommendation to the first tenant, wherein the account upgrade recommendation corresponds to an elevated billing tier associated with an upgraded account; and migrating data associated with the first tenant between containerized microservices in response to acceptance of the account upgrade recommendation. 3. The computer-implemented method of claim 1 , further comprising: generating a second usage score that reflects a portion of resources consumed by a first tenant included in the multiple tenants when accessing the set of containerized microservices; and provisioning additional resources for the first tenant in the set of containerized microservices in proportion to the second usage score. 4. The computer-implemented method of claim 1 , further comprising: generating a second usage score that reflects a portion of resources consumed by a first tenant included in the multiple tenants when accessing a first containerized microservice in the set of containerized microservices; and migrating data associated with the first tenant from the first containerized microservice to a second containerized microservice in response to the second usage score exceeding a threshold. 5. The computer-implemented method of claim 1 , wherein the amount of resources is consumed when the one or more tenants perform input/output operations with the one or more datastores managed by each containerized microservice included in the set of containerized microservices. 6. The computer-implemented method of claim 1 , further comprising: receiving a request to access the set of containerized microservices from a first tenant included in the multiple tenants; determining that the request comprises an input request; parsing machine data included in the request; and causing a first containerized microservice in the set of containerized microservices to process the parsed machine data by: causing a datastore associated with the first tenant to store the parsed machine data, performing an indexing operation with the parsed machine data to generate a set of indices, and causing the datastore associated with the first tenant to store the generated set of indices. 7. The computer-implemented method of claim 1 , further comprising: receiving a request to access the set of containerized microservices from a first tenant include in the multiple tenants; determining that the request comprises a query request; parsing query parameters included in the query request; and causing a first containerized microservice in the set of containerized microservices to service the query request by: searching a datastore associated with the first tenant based on the parsed query parameters to extract a set of query results, and returning the set of query results to the first tenant. 8. The computer-implemented method of claim 1 , further comprising: generating a second usage score that reflects one or more of indexing throughput, query throughput, disk usage, memory usage, account level, or priority associated with a first tenant included in the multiple tenants; and generating a mapping between a datastore and the second usage score. 9. The computer-implemented method of claim 1 , further comprising: generating a second usage score that reflects usage of a first containerized microservice in the set of containerized microservices by one or more additional tenants in the multiple tenants; and generating a mapping between the first containerized microservice and the second usage score. 10. The computer-implemented method of claim 1 , further comprising: determining that a first tenant included in the multiple tenants is not associated with any datastores managed by the set of containerized microservices; determining that a second usage score associated with a first containerized microservice in the set of containerized microservices is less than any other usage score associated with any other containerized microservice in the set of containerized microservices; provisioning a first datastore on the first containerized microservice for the first tenant; and generating a datastore mapping that associates the first tenant with the first datastore. 11. The computer-implemented method of claim 1 , further comprising: generating a second usage score that reflects one or more of indexing throughput or query throughput corresponding to a datastore associated with a first tenant included in the multiple tenants; determining that the second usage score exceeds a provisioning threshold; provisioning one or more additional datastores for the first tenant within a first containerized microservice that manages the datastore; and updating a datastore mapping to associate the first tenant with the one or more additional datastores. 12. The computer-implemented method of claim 1 , further comprising: generating a second usage score for a first containerized microservice in the set of containerized microservices, wherein the second usage score reflects a plurality of usage scores corresponding to a plurality of datastores managed by the first containerized microservice; determining that the second usage score exceeds a threshold; provisioning a second containerized microservice in the set of containerized microservices; provisioning, on the second containerized microservice, one or more additional datastores for a first tenant; and updating a datastore mapping to associate the first tenant with the one or more additional datastores. 13. The computer-implemented method of claim 1 , further comprising: causing a first containerized microservice in the set of containerized microservices to execute a first instance of the software application to index a first set of input data received from a first set of tenants in the multiple tenants to generate a first set of indices; causing the first containerized microservice to associate each index included in the first set of indices with a different datastore managed by the first containerized microservice; causing a second containerized microservice in the set of containerized microservices to execute a second instance of the software application to index a second set of input data received from a second set of tenants in the multiple tenants to generate a second set of indices; and causing the second containerized microservice to associate each index included in the second set of indices with a different datastore managed by the second containerized micros

Assignees

Inventors

Classifications

  • G06F21/604Primary

    Tools and structures for managing or administering access control systems · CPC title

  • involving long-term monitoring or reporting · CPC title

  • Design, administration or maintenance of databases · CPC title

  • to service a request · CPC title

  • using data annotations, e.g. user-defined metadata · 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 US10853124B2 cover?
A multitenant deployment includes a computing cluster that executes multiple containerized instances of a software application. Each containerized instance is associated with one or more datastores that can be assigned to different tenants. A registry store maintains a mapping between tenants and datastores, thereby allowing a registry manager to properly route tenant requests to the correct da…
Who is the assignee on this patent?
Splunk Inc
What technology area does this patent fall under?
Primary CPC classification G06F21/604. 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 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).