IP Library › Granted Patent US 10,585,748
Granted Patent B2
US 10,585,748 · App. 15/720,365 · Granted Mar 10, 2020

Scalable cloud—assigning scores to requesters and treating requests differently based on those scores

Inventors: Andrew D. Baptist (Mt. Pleasant, WI); Bart R. Cilfone (Chicago, IL); Greg R. Dhuse (Chicago, IL); Harsha Hegde (Hawthorn Woods, IL); Wesley B. Leggette (Chicago, IL); Manish Motwani (Chicago, IL); Jason K. Resch (Chicago, IL); Ilya Volvovski (Chicago, IL); Ethan S. Wozniak (Park Ridge, IL)
Assignee: International Business Machines Corporation
G06F11/1076G06F3/065G06F3/067G06F3/0619G06F16/9017H04L29/12009H04L63/102H04L67/1012H04L67/1097G06F16/10G06F2211/104G06F2211/1007
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,585,748
App. No.
15/720,365
Granted
Mar 10, 2020
Kind
B2
Abstract

A method begins by a computing device of a dispersed storage network (DSN) maintaining a queue of pending requests to access the DSN while new requests are added to the queue and executed requests are deleted from the queue. The method continues by the computing device determining, for each pending request in the queue, a prioritization score to produce a plurality of prioritization scores. The prioritization score is determined by determining an identity of a requestor associated with a pending request, obtaining a trust score based on the requestor's identity, and obtaining a compliance score based on the requestor's identity. The trust score indicates the requestor's level of legitimate use of the DSN and the compliance score indicates the requestor's level of compliance with DSN system requests. The method continues by the computing device executing pending requests of the queue in accordance with the plurality of prioritization scores.

Claims (79)

1. A method comprises:

maintaining, by a computing device of a dispersed storage network (DSN), a queue of pending requests to access the DSN, wherein new requests are added to the queue and executed requests are deleted from the queue;

for each pending request in the queue, determining, by the computing device, a prioritization score to produce a plurality of prioritization scores, wherein the prioritization score is determined by:

determining a requestor's identity of a requestor associated with a pending request of the pending requests;

obtaining a trust score based on the requestor's identity, wherein the trust score indicates the requestor's level of legitimate use of the DSN;

obtaining a compliance score based on the requestor's identity, wherein the compliance score indicates the requestor's level of compliance with DSN system requests; and

generating the prioritization score based on the trust score and the compliance score; and

executing, by the computing device, the pending requests of the queue in accordance with the plurality of prioritization scores.

2. The method of claim 1 , wherein the determining the prioritization score further comprises:

obtaining a billing score based on the requestor's identity, wherein the billing score indicates the requestor's level of bill payment compliance; and

generating the prioritization score based on the trust score, the compliance score, and the billing score.

3. The method of claim 1 , wherein the determining a requestor's identity further comprises:

determining the requestor is a registered user device based on a registered user identifier; and

determining the requestor is an anonymous user device based on one or more of a generated unique identifier, a cookie, a network address, a session identifier, and an anonymous authentication.

4. The method of claim 1 , wherein the obtaining the trust score comprises:

determining whether the pending request of the requestor is a first request to the DSN;

when the pending request of the requestor is the first request to the DSN, utilizing a default trust score as the trust score; and

when the pending request of the requestor is not the first request to the DSN, retrieving the trust score for the requestor.

5. The method of claim 1 , wherein the obtaining the compliance score comprises:

determining whether the pending request of the requestor is a first request to the DSN;

when the pending request of the requestor is the first request to the DSN, utilizing a default compliance score as the compliance score; and

when the pending request of the requestor is not the first request to the DSN, retrieving the compliance score for the requestor.

6. The method of claim 1 further comprises:

after execution of the pending request, updating the compliance score based on the computer device and requestor system level interaction.

7. The method of claim 1 further comprises:

after execution of the pending request, updating the trust score based on the computer device processing of the pending request.

8. The method of claim 1 , wherein executing the pending request comprises one of:

rejecting the pending request as a not allowed error;

rejecting the pending request as a payment required error;

rejecting the pending request as a system busy error;

throttling rate of processing the pending request;

delaying processing of the pending request;

routing the pending request to another computing device of the DSN;

processing the pending request; and

accelerated processing of the pending request.

9. The method of claim 1 , wherein the determining the prioritization score further comprises:

obtaining a level of use score based on the requestor's identity, wherein the level of use score indicates the requestor's volume of requests, thrashing of data, and repeating of requests; and

generating the prioritization score based on the trust score, the compliance score, and the level of use score.

10. A computing device comprises:

an interface;

memory; and

a processing module, wherein the processing module is operable coupled to the memory and the interface, and wherein the processing module is operable to:

maintain a queue of pending requests to access a dispersed storage network (DSN), wherein new requests are added to the queue and executed requests are deleted from the queue;

for each pending request in the queue, determine a prioritization score to produce a plurality of prioritization scores, wherein the prioritization score is determined by:

determining a requestor's identity of a requestor associated with a pending request of the pending requests;

obtaining a trust score based on the requestor's identity, wherein the trust score indicates the requestor's level of legitimate use of the DSN;

obtaining a compliance score based on the requestor's identity, wherein the compliance score indicates the requestor's level of compliance with DSN system requests; and

generating the prioritization score based on the trust score and the compliance score; and

execute the pending requests of the queue in accordance with the plurality of prioritization scores.

11. The computing device of claim 10 , wherein the processing module is further operable to determine the prioritization score by:

obtaining a billing score based on the requestor's identity, wherein the billing score indicates the requestor's level of bill payment compliance; and

generating the prioritization score based on the trust score, the compliance score, and the billing score.

12. The computing device of claim 10 , wherein the processing module is further operable to determine a requestor's identity further by:

determining the requestor is a registered user device based on a registered user identifier; and

determining the requestor is an anonymous user device based on one or more of a generated unique identifier, a cookie, a network address, a session identifier, and an anonymous authentication.

13. The computing device of claim 10 , wherein the processing module is further operable to obtain the trust score by:

determining whether the pending request of the requestor is a first request to the DSN;

when the pending request of the requestor is the first request to the DSN, utilizing a default trust score as the trust score; and

when the pending request of the requestor is not the first request to the DSN, retrieving the trust score for the requestor.

14. The computing device of claim 10 , wherein the processing module is further operable to obtain the compliance score by:

determining whether the pending request of the requestor is a first request to the DSN;

when the pending request of the requestor is the first request to the DSN, utilizing a default compliance score as the compliance score; and

when the pending request of the requestor is not the first request to the DSN, retrieving the compliance score for the requestor.

15. The computing device of claim 10 , wherein the processing module is further operable to:

after execution of the pending request, updating the compliance score based on the computer device and requestor system level interaction.

16. The computing device of claim 10 , wherein the processing module is further operable to:

after execution of the pending request, updating the trust score based on the computer device processing of the pending request.

17. The computing device of claim 10 , wherein the processing module is operable to execute the pending request by one of:

rejecting the pending request as a not allowed error;

rejecting the pending request as a payment required error;

rejecting the pending request as a system busy error;

throttling rate of processing the pending request;

delaying processing of the pending request;

routing the pending request to another computing device of the DSN;

processing the pending request; and

accelerated processing of the pending request.

18. The computing device of claim 10 , wherein the processing module is operable to determine the prioritization score by:

obtaining a level of use score based on the requestor's identity, wherein the level of use score indicates the requestor's volume of requests, thrashing of data, and repeating of requests; and

generating the prioritization score based on the trust score, the compliance score, and the level of use score.

Assignments (5)
RELEASE OF SECURITY INTEREST Recorded Mar 28, 2025
From: BLUE OWL CREDIT INCOME CORP (F/K/A OWL ROCK CORE INCOME CORP.), AS COLLATERAL AGENT
To: AVALARA, INC.; EDISON VAULT, LLC
Reel/Frame 070671/0486 →
SECURITY INTEREST Recorded Mar 28, 2025
From: AVALARA, INC.; EDISON VAULT, LLC
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 070671/0097 →
SECURITY INTEREST Recorded Oct 20, 2022
From: AVALARA, INC.; EDISON VAULT, LLC
To: OWL ROCK CORE INCOME CORP., AS COLLATERAL AGENT
Reel/Frame 061728/0201 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 18, 2020
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: EDISON VAULT, LLC
Reel/Frame 054693/0269 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 29, 2017
From: BAPTIST, ANDREW D.; CILFONE, BART R.; DHUSE, GREG R.; HEGDE, HARSHA; LEGGETTE, WESLEY B.; MOTWANI, MANISH; RESCH, JASON K.; VOLVOVSKI, ILYA; WOZNIAK, ETHAN S.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 043741/0472 →
Continuity (1)
Related Publication 20190102252A1 · Apr 4, 2019