IP Library Granted Patent US 11,297,067
Granted Patent B2
US 11,297,067 · App. 16/410,609 · Granted Apr 5, 2022

Resource appropriation in a multi-tenant environment using risk and value modeling systems and methods

Inventors: Alok Aggarwal (Portland, OR); Josh Thomas Gray (Washington County, OR); Darren Gilroy (Portland, OR)
Assignee: Citrix Systems, Inc.
H04L63/105
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,297,067
App. No.
16/410,609
Filed
May 13, 2019
Granted
Apr 5, 2022
Kind
B2
Art Unit
2439
USPC
726/4
Abstract

Described embodiments provide systems and methods for resource appropriation in a multi-tenant environment using risk and value modeling. A resource server can provide a plurality of applications access to a plurality of resources in response to requests from clients based in part on risk scores and value scores. The resource server can generate and execute a risk model and a value model to determine a risk score and a value score for each of the applications. The resource server can use the risk and value scores to determine access to a particular resource for a requested application. The resource server can assign a first allocation of resource tokens to an application. The resource tokens can correspond to access privileges to plurality of resources. The resource server can dynamically modify the resource allocation for applications responsive to changes to a risk score or value score of a respective application.

Claims (55)

1. A method for resource appropriation in a multi-tenant computing environment, the method comprising:

(a) assigning, by a server, a first allocation of resource tokens to an application of a plurality of applications in a multi-tenant computing environment, the resource tokens corresponding to access privileges to a plurality of resources of the multi-tenant computing environment allocated for use by the application to execute the application, and the multi-tenant computing environment receiving a plurality of requests from a plurality of clients for the plurality of applications;

(b) monitoring, by the server, requests executed by the application using the resource tokens and the plurality of resources corresponding to the resource tokens, the requests received by one or more clients of the plurality of clients;

(c) determining, by the server, metrics corresponding to the requests executed by the application, the metrics comprising characteristics of the requests and characteristics of execution by the application;

(d) generating, by the server, a risk model to identify a risk score for the application using the request characteristics and the execution characteristics;

(e) generating, by the server, a value model to identify a value score for the application using properties of the application and properties of the one or more clients of the plurality of clients that generated the requests, the value score being a different type of score than the risk score, and the properties of the one or more clients including an importance score for a respective client; and

(f) determining, by the server, a second allocation of the resource tokens for the application, wherein (1) the second allocation increases in comparison to the first allocation responsive to an increase in the value score provided by the value model, or (2) the second allocation decreases in comparison to the first allocation responsive to an increase in the risk score.

2. The method of claim 1 , wherein (a) further comprises mapping, by the server, each of the resource tokens to at least one resource of the plurality of resources.

3. The method of claim 1 , wherein (c) further comprises determining, by the server, the metrics corresponding to the requests executed by the application in real-time.

4. The method of claim 1 , wherein (c) further comprises:

determining a processing duration value and a memory utilization profile for the application corresponding to the requests executed by the application; and

generating a request history profile for the application.

5. The method of claim 1 , wherein (c) further comprises:

generating a client application profile for the application corresponding to a listing of clients interacting with the application.

6. The method of claim 1 , wherein (c) further comprises:

determining the metrics corresponding to the requests over a predetermined time period; aggregating the metrics for the predetermined time period into a data set; and

providing the data set as an input to the risk model to identify the risk score for the application based on the predetermined time period.

7. The method of claim 1 , wherein (d) further comprises:

generating, by the server, a resource token usage profile for each of the plurality of resource tokens; and

providing, by the server, the resource token usage profile for the resource tokens as at least one input for the risk model.

8. The method of claim 1 , wherein (e) further comprises:

identifying, by the server, the properties of the one or more clients of the plurality of clients from a client database, the properties including at least one of: an account type of the respective client, and a resiliency profile for the respective client.

9. The method of claim 1 , wherein (f) further comprises dynamically increasing the second allocation of resource tokens for the application responsive to the increase in the value score provided by the value model.

10. The method of claim 1 , wherein (f) further comprises dynamically decreasing the second allocation of resource tokens for the application responsive to the increase in the risk score provided by the risk model.

11. The method of claim 1 , further comprising:

determining, by the server, that the risk score for the application is less than a risk threshold for the multi-tenant computing environment; and

modifying, by the server, the second allocation of resource tokens for the application responsive to the determination.

12. The method of claim 1 , further comprising:

determining, by the server, that the value score for the application is greater than a value threshold for the multi-tenant computing environment; and

modifying, by the server, the second allocation of resource tokens for the application responsive to the determination.

13. A system for resource appropriation in a multi-tenant computing environment, the system comprising:

a server comprising one or more processors, coupled to memory, the server configured to:

assign a first allocation of resource tokens to an application of a plurality of applications in a multi-tenant computing environment, the resource tokens corresponding to access privileges to a plurality of resources of the multi-tenant computing environment allocated for use by the application to execute the application, and the multi-tenant computing environment receiving a plurality of requests from a plurality of clients for the plurality of applications;

monitor requests executed by the application using the resource tokens and the plurality of resources corresponding to the resource tokens, the requests received by one or more clients of the plurality of clients;

determine metrics corresponding to the requests executed by the application, the metrics comprising characteristics of the requests and characteristics of execution by the application;

generate a risk model to identify a risk score for the application using the request characteristics and the execution characteristics;

generate a value model to identify a value score for the application using properties of the application and properties of the one or more clients of the plurality of clients that generated the requests, the value score being a different type of score than the risk score, and the properties of the one or more clients including an importance score for a respective client; and

determine a second allocation of the resource tokens for the application, wherein (1) the second allocation increases in comparison to the first allocation responsive to an increase in the value score provided by the value model, or (2) the second allocation decreases in comparison to the first allocation responsive to an increase in the risk score.

14. The system of claim 13 , wherein the server is further configured to:

determine a processing duration value and a memory utilization profile for the application corresponding to the requests executed by the application; and

generate a request history profile for the application.

15. The system of claim 13 , wherein the server is further configured to:

generate a resource token usage profile for each of the plurality of resource tokens; and provide the resource token usage profile for the resource tokens as at least one input for the risk model.

16. The system of claim 13 , wherein the server is further configured to:

identify the properties of the one or more clients of the plurality of clients from a client database, the properties including at least one of: an account type of the respective client, and a resiliency profile for the respective client.

17. The system of claim 13 , wherein the server is further configured to:

dynamically increase the value of the second allocation of resource tokens for the application responsive to an increase in the value score provided by the value model.

18. The system of claim 13 , wherein the server is further configured to:

dynamically decrease the second allocation of resource tokens for the application responsive to the increase in the risk score provided by the risk model.

19. The system of claim 13 , wherein the server is further configured to:

determine that the risk score for the application is less than a risk threshold for the multi-tenant computing environment; and

modify the second allocation of resource tokens for the application responsive to the determination.

20. The system of claim 13 , wherein the server is further configured to:

determine that the value score for the application is greater than a value threshold for the multi-tenant computing environment; and

modify the second allocation of resource tokens for the application responsive to the determination.

Assignments (9)
PATENT SECURITY AGREEMENT Recorded Aug 15, 2025
From: CLOUD SOFTWARE GROUP, INC.; CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 072488/0172 →
SECURITY INTEREST Recorded May 24, 2024
From: CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.); CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 067662/0568 →
RELEASE AND REASSIGNMENT OF SECURITY INTEREST IN PATENT (REEL/FRAME 062113/0001) Recorded Apr 14, 2023
From: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
To: CITRIX SYSTEMS, INC.; CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.)
Reel/Frame 063339/0525 →
PATENT SECURITY AGREEMENT Recorded Apr 14, 2023
From: CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.); CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 063340/0164 →
PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 062113/0470 →
PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 062112/0262 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 062113/0001 →
SECURITY INTEREST Recorded Sep 30, 2022
From: CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 062079/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 14, 2019
From: AGGARWAL, ALOK; GRAY, JOSH THOMAS; GILROY, DARREN
To: CITRIX SYSTEMS, INC.
Reel/Frame 049173/0526 →
Continuity (1)
Related Publication 20200366682A1 · Nov 19, 2020