IP Library Granted Patent US 10,606,652
Granted Patent B2
US 10,606,652 · App. 15/318,902 · Granted Mar 31, 2020

Determining tenant priority based on resource utilization in separate time intervals and selecting requests from a particular tenant based on the priority

Inventors: Lior Ben Zeev (Yehud, IL); Vadim Waisman (Yehud, IL)
Assignee: MICRO FOCUS LLC
G06F9/5038H04L47/805G06F2209/5021
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 10,606,652
App. No.
15/318,902
Granted
Mar 31, 2020
Kind
B2
Abstract

Examples relate to accessing resources across multiple tenants. One example enables determination, from a list of requests, a request to perform which accesses a resource, responsive to a determination that the resource on a server is available for use for an application. The request to be performed may be determined, for example, by determining a first priority score for a first tenant associated with a first request based on usage of the resource by the first tenant, wherein the first tenant comprises a first set of users, determining a second priority score for a tenant associated with a second request based on usage of the resource by the second tenant, wherein the second tenant comprises a second set of users, and, responsive to the first priority score being lower than the second priority score, selecting the first request as the request to be performed.

Claims (63)

1. A non-transitory machine-readable storage medium comprising instructions executable by a processor of a computing device to:

responsive to a resource on a server becoming available for use via an application, determine, from a list of requests, a request for the server to perform involving use of the resource by the application;

wherein determining the request from the list of requests comprises:

determining a first priority score for a first tenant of a plurality of tenants associated with a first request of the list of requests, wherein the first tenant comprises a first set of users and determining the first priority score comprises:

determining a first metric representing an amount of usage of the resource by the first tenant during a first time interval;

scaling the first metric based on a first multiplier;

determining a second metric representing an amount of usage of the resource by the first tenant during a second time interval other than the first time interval;

scaling the second metric based on a second multiplier other than the first multiplier; and

calculating the first priority score based on the scaled first metric and the scaled second metric; and

determining a second priority score for a second tenant of the plurality of tenants associated with a second request of the list of requests based on usage of the resource by the second tenant, the second tenant comprising a second set of users; and

responsive to the first priority score and the second priority score, selecting the first request as the request to be performed.

2. The storage medium of claim 1 , wherein the instructions to determine the first priority score comprise instructions to:

calculate the first priority score further based on a number of users in the first set of users.

3. The storage medium of claim 2 , wherein the instructions to determine the first priority score comprise instructions to:

calculate the first priority score further based on a first user priority score determined for a first user of the first set of users of the first tenant associated with the request.

4. The storage medium of claim 1 , wherein the instructions to determine the first priority score comprise instructions to:

calculate the first priority score based on an application priority of the first request, wherein the application priority of the first request indicates an importance of the first request to the application.

5. The storage medium of claim 1 , further comprising instructions executable by the processor to:

receive the first request to access the application from the first tenant;

determine whether the resource to be accessed by the first request is available to perform the first request; and

responsive to the resource not being available to perform the first request, place the first request in the list of requests.

6. The storage medium of claim 5 , further comprising instructions executable by the processor to:

perform the first request responsive to determining that the resource to be accessed by the first request is available to perform the first request.

7. The storage medium of claim 1 , wherein the instructions further comprise instructions to:

vary the first and second multipliers according to time such that the scaled first metric has more influence on the first priority score than the scaled second metric, wherein the first time interval occurs more recently than the second time interval.

8. The storage medium of claim 1 , wherein the instructions further comprise instructions to select the first request based on the first priority score being less than the second priority score.

9. A system comprising:

a processor; and

a memory to store instructions that, when executed by the processor, cause the processor to:

determine, responsive to a resource on a server becoming available for use via an application, a request for the server to perform from a list of requests, wherein the server performing the request comprises the application accessing the resource;

wherein determining the request comprises:

determining a first priority score for a first tenant of a plurality of tenants associated with a first request of the list of requests, wherein the first tenant comprises a first set of users and determining the first priority score comprises:

determining a first metric representing an amount of usage of the resource by the first tenant during a first time interval;

scaling the first metric based on a first multiplier;

determining a second metric representing an amount of usage of the resource by the first tenant during a second time interval other than the first time interval;

scaling the second metric based on a second multiplier other than the first multiplier; and

calculating the first priority score based on the scaled first metric and the scaled second metric;

determining a second priority score for a second tenant of the plurality of tenants, wherein the second priority score is associated with a second set of requests of the list of requests based on usage of the resource by the second tenant, and the second tenant comprises a second set of users; and

responsive to the first priority score and the second priority score, selecting the first request as the request to be performed.

10. The system of claim 9 , wherein the memory further stores instructions that, when executed by the processor, cause the processor to determine, responsive to a second resource on the server becoming available for use via the application, a second request to perform from a second list of requests, wherein the second request comprises a request to access to the second resource.

11. The system of claim 9 , wherein the memory further stores instructions that, when executed by the processor, cause the processor to:

receive the first request to access the application from the first tenant;

determine whether the resource to be accessed by the first request is available to perform the request; and

responsive to the resource not being available to perform the first request, place the first request in the list of requests.

12. The system of claim 9 , wherein the instructions, when executed by the processor, further cause the processor to:

vary the first and second multipliers according to time such that the scaled first metric has more influence on the first priority score than the scaled second metric, wherein the first time interval occurs more recently than the second time interval.

13. A method comprising:

responsive to a resource on a server becoming available for use via an application, determine a request for the server to perform using the application from a list of requests, wherein performing the request comprises accessing the resource,

wherein determining the request from the list of requests comprises:

determining a respective priority score for each tenant of a plurality of tenants, wherein the respective priority score is associated with a request in the list of requests based on usages of the resource by the each tenant in respective time intervals, wherein determining the respective priority score for the each tenant comprises, for a given tenant of the plurality of tenants:

determining a first metric representing an amount of usage of the resource by the given tenant during a first time interval;

scaling the first metric based on a first multiplier;

determining a second metric representing an amount of usage of the resource by the given tenant during a second time interval other than the first time interval;

scaling the second metric based on a second multiplier other than the first multiplier; and

calculating the respective priority score for the given tenant based on the scaled first metric and the scaled second metric; and

selecting, as the request to perform, a request from the list of requests associated with the given tenant based on the respective priority score for the given tenant.

14. The method of claim 13 , further comprising:

receiving the request to access the application from the given tenant;

determining whether the resource to be accessed by the request is available to perform the request; and

responsive to the resource not being available to perform the request, placing the request in the list of requests.

15. The method of claim 13 , wherein determining the respective priority score of the given tenant comprises:

varying the first and second multipliers according to time such that the scaled first metric has more influence on the respective priority score than the scaled second metric, wherein the first time interval occurs more recently than the second time interval.

16. The method of claim 13 , wherein selecting the request comprises selecting the request associated with the lowest respective priority score of the respective priority scores.

Assignments (12)
RELEASE OF SECURITY INTEREST REEL/FRAME 052294/0522 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: MICRO FOCUS LLC; MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.); NETIQ CORPORATION
Reel/Frame 062624/0449 →
RELEASE OF SECURITY INTEREST REEL/FRAME 052295/0041 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: MICRO FOCUS LLC; MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.); NETIQ CORPORATION
Reel/Frame 062625/0754 →
RELEASE OF SECURITY INTEREST REEL/FRAME 044183/0718 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: MICRO FOCUS LLC (F/K/A ENTIT SOFTWARE LLC); BORLAND SOFTWARE CORPORATION; MICRO FOCUS (US), INC.; SERENA SOFTWARE, INC; ATTACHMATE CORPORATION; MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.); NETIQ CORPORATION
Reel/Frame 062746/0399 →
RELEASE OF SECURITY INTEREST REEL/FRAME 044183/0577 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: MICRO FOCUS LLC (F/K/A ENTIT SOFTWARE LLC)
Reel/Frame 063560/0001 →
SECURITY AGREEMENT Recorded Apr 2, 2020
From: MICRO FOCUS LLC; BORLAND SOFTWARE CORPORATION; MICRO FOCUS SOFTWARE INC.; NETIQ CORPORATION; MICRO FOCUS (US), INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 052295/0041 →
SECURITY AGREEMENT Recorded Apr 2, 2020
From: MICRO FOCUS LLC; BORLAND SOFTWARE CORPORATION; MICRO FOCUS SOFTWARE INC.; NETIQ CORPORATION; MICRO FOCUS (US), INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 052294/0522 →
CHANGE OF NAME Recorded Aug 8, 2019
From: ENTIT SOFTWARE LLC
To: MICRO FOCUS LLC
Reel/Frame 050004/0001 →
SECURITY INTEREST Recorded Oct 11, 2017
From: ENTIT SOFTWARE LLC; ATTACHMATE CORPORATION; BORLAND SOFTWARE CORPORATION; NETIQ CORPORATION; MICRO FOCUS (US), INC.; MICRO FOCUS SOFTWARE, INC.; ARCSIGHT, LLC; SERENA SOFTWARE, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 044183/0718 →
SECURITY INTEREST Recorded Oct 11, 2017
From: ENTIT SOFTWARE LLC; ARCSIGHT, LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 044183/0577 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 9, 2017
From: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
To: ENTIT SOFTWARE LLC
Reel/Frame 042746/0130 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 6, 2017
From: BEN ZEEV, LIOR; WAISMAN, VADIM
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 041631/0973 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 6, 2017
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 041701/0001 →