System and methods for implementing control of use of shared resource in a multi-tenant system

US10489202B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10489202-B2
Application numberUS-201514945286-A
CountryUS
Kind codeB2
Filing dateNov 18, 2015
Priority dateDec 30, 2014
Publication dateNov 26, 2019
Grant dateNov 26, 2019

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.

Systems, apparatuses, and methods for preventing the use of a shared resource (such as a database) by a user or group of users from causing other users to experience unsatisfactory or unreliable access to that resource or to related, impacted resources (such as a communications network or processor). In some embodiments, the invention is directed to systems, apparatuses, and methods that may be implemented in a multi-tenant system in order to prevent a single user or the users associated with an account from degrading the system performance experienced by other users, either by intentional or inadvertant misuse of a shared database, and to prevent an overload condition from causing the system or database to fail abruptly.

First claim

Opening claim text (preview).

That which is claimed is: 1. A method of protecting a shared resource in a data processing system, comprising: receiving a request, wherein responding to the request requires use of the shared resource; determining whether a previously established sleep period for the shared resource has expired; responsive to determining that the previously established sleep period for the shared resource has expired, determining a health status of the shared resource, wherein the health status is determined based at least in part on (a) applying an asymptotic transform to a percentage of time that a CPU is idle and (b) applying a linear transform to a session count for the shared resource; determining whether the health status is sufficient to permit responding to the request; responsive to determining that the health status is not sufficient to permit responding to the request, calculating a sleep period for the shared resource based upon the health status of the shared resource and an expected resource utilization associated with a type of the request; initiating a sleep state for the shared resource for a period substantially equal to the determined sleep period; and responsive to determining a completion of the period, exiting the sleep state and responding to the request. 2. The method of claim 1 , wherein the shared resource is one of a database, a processing element, or a connection to a network. 3. The method of claim 1 , wherein the health status is determined by accessing data stored in a cache associated with the shared resource. 4. The method of claim 1 , wherein the health status is determined by evaluating a function or rule set that is based at least in part on a characteristic of the data processing system. 5. The method of claim 1 , wherein the data processing system is a multi-tenant data processing system. 6. The method of claim 5 , wherein the multi-tenant data processing system includes one or more of an Enterprise Resource Planning (ERP) application, a Customer Relationship Management (CRM) application, or an eCommerce application. 7. The method of claim 6 , wherein determining the sleep period for the shared resource further comprises determining the sleep period based on one or more of a characteristic of the resource, a characteristic of the account that generated the request, or a characteristic of the multi-tenant data processing system. 8. The method of claim 7 , wherein the sleep period is determined by evaluating a function or rule set that is based at least in part on a value of a tenant's data that is associated with the ERP, CRM, or eCommerce application. 9. A data processing system, comprising: a central data storage element; and an electronic data processor configured to execute a set of instructions, wherein when the instructions are executed, the data processing system is caused to implement a process to: receive a request, wherein responding to the request requires use of a shared resource; determine whether a previously established sleep period for the shared resource has expired; responsive to determining that the previously established sleep period for the shared resource has expired, determine a health status of the shared resource, wherein the health status is determined based at least in part on (a) applying an asymptotic transform to a percentage of time that a CPU is idle and (b) applying a linear transform to a session count for the shared resource; determine whether the health status is sufficient to permit responding to the request; responsive to determining that the health status is not sufficient to permit responding to the request, calculate a sleep period for the shared resource based upon the health status of the shared resource and an expected resource utilization associated with a type of the request; initiate a sleep state for the shared resource for a period substantially equal to the determined sleep period; and responsive to determining a completion of the period, exit the sleep state and respond to the request. 10. The data processing system of claim 9 , wherein the shared resource is one of a database, a processing element, or a connection to a network. 11. The data processing system of claim 9 , wherein the instructions for determining the health status further comprise instructions that when executed cause the data processing system to access data stored in a cache associated with the shared resource. 12. The data processing system of claim 9 , wherein the instructions for determining the health status further comprise instructions that when executed cause the data processing system to evaluate a function or rule set that is based at least in part on a characteristic of the data processing system. 13. The data processing system of claim 9 , wherein the data processing system is a multi-tenant data processing system. 14. The data processing system of claim 13 , wherein the multi-tenant data processing system includes one or more of an Enterprise Resource Planning (ERP) application, a Customer Relationship Management (CRM) application, or an eCommerce application. 15. The data processing system of claim 14 , wherein the instructions for determining the sleep period for the shared resource further comprise instructions that when executed cause the data processing system to determine the sleep period based on one or more of a characteristic of the resource, a characteristic of the account that generated the request, or a characteristic of the multi-tenant data processing system. 16. A non-transitory computer-readable medium storing computer-executable instructions that when executed by at least a processor of a computer cause the computer to perform a method of protecting a shared resource in a data processing system, the method comprising: receiving a request, wherein responding to the request requires use of the shared resource; determining whether a previously established sleep period for the shared resource has expired; responsive to determining that the previously established sleep period for the shared resource has expired, determining a health status of the shared resource, wherein the health status is determined based at least in part on (a) applying an asymptotic transform to a percentage of time that a CPU is idle and (b) applying a linear transform to a session count for the shared resource; determining whether the health status is sufficient to permit responding to the request; responsive to determining that the health status is not sufficient to permit responding to the request, calculating a sleep period for the shared resource based upon the health status of the shared resource and an expected resource utilization associated with a type of the request; initiating a sleep state for the shared resource for a period substantially equal to the determined sleep period; and responsive to determining a completion of the period, exiting the sleep state and responding to the request. 17. The computer-readable medium of claim 16 , wherein the sleep period is further calculated based upon a user or account from which the request originates. 18. The method of claim 1 , wherein the health status is determined by applying an asymptotic transform to a percentage of time spent in memory management reclaiming garbage. 19. The data processing system of claim 9 , wherein the health status is determined by applying an asymptotic transform to a percentage of time spent in memory management reclaiming garbage.

Assignees

Inventors

Classifications

  • G06F9/5011Primary

    the resources being hardware resources other than CPUs, Servers and Terminals · 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 US10489202B2 cover?
Systems, apparatuses, and methods for preventing the use of a shared resource (such as a database) by a user or group of users from causing other users to experience unsatisfactory or unreliable access to that resource or to related, impacted resources (such as a communications network or processor). In some embodiments, the invention is directed to systems, apparatuses, and methods that may be…
Who is the assignee on this patent?
Netsuite Inc
What technology area does this patent fall under?
Primary CPC classification G06F9/5011. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Nov 26 2019 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 3 related publications on this page (citations in our corpus or others sharing the same primary CPC).