IP Library Granted Patent US 10,108,985
Granted Patent B2
US 10,108,985 · App. 14/508,942 · Granted Oct 23, 2018

Mitigation of failures in an online advertising network

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,108,985
App. No.
14/508,942
Granted
Oct 23, 2018
Kind
B2
Abstract

Access requests to a database are monitored for average time taken to fulfill the requests and whether a queue of unfulfilled requests is building up beyond an acceptable threshold. When the queue has built up beyond the acceptable threshold and/or when the average time taken to fulfill the requests has exceeded a delay threshold value, database access requests may be rejected. In one advantageous aspect, a graceful degradation in performance may be achieved by selectively rejecting access requests of a lower priority and favoring access requests of a higher priority for execution.

Claims (57)

1. A computer-implemented method of controlling access to an information database, comprising:

receiving, with a processor, multiple data access requests, wherein each request has a request type associated therewith;

tracking, with the processor, a response performance of received requests having a same request type, where the tracking comprises:

generating a histogram of the received requests by determining a plurality of time intervals associated with fulfillment of requests of the same request type, and determining a number of requests of the same request type that were fulfilled for each time interval of the plurality of time intervals;

receiving, with the processor, a current request for data;

checking, with the processor, for a number of previously received requests having the same request type that have yet to be fulfilled at a time when the current request is received;

computing, with the processor, based on the tracking and the histogram, a probable execution time delay for fulfilling the current request;

extracting, from the current request, a time period within which fulfillment of the current request is useful;

predicting whether the current request is going to fail based upon the probable execution time delay, the time period within which fulfillment of the current request is useful and the number of previously received requests having the same request type; and

deciding, with the processor, whether to reject the current request without fulfilling based upon the predicting.

2. The method of claim 1 , further comprising:

fulfilling the current request when the probable execution time delay does not exceed a delay threshold value.

3. The method of claim 1 , further comprising:

deriving the request type for the current request based on content of the current request.

4. The method of claim 1 , wherein the deciding operation includes refraining from fulfilling the current request when the number of previously received requests having the same request type that have yet to be fulfilled is greater than a first threshold value.

5. The method of claim 2 , wherein the delay threshold value is the time period within which fulfillment of the current request is useful.

6. The method of claim 2 , further comprising: updating the delay threshold value based on the tracking the response performance.

7. The method of claim 1 , wherein the method further includes, upon deciding to reject the current request without fulfilling: sending a response message indicating a reason for the rejection.

8. The method of claim 1 , wherein the predicting is based upon a first function comprising a weighted linear combination of the number of previously received requests having the same request type that have yet to be fulfilled and the probable execution time delay.

9. The method of claim 1 , wherein the probable execution time delay corresponds to an average delay for fulfilling the number of previously received requests having the same request type, as tracked by the response performance tracking.

10. A computer system, comprising:

a storage device that stores data;

a server configured to control access to the data stored in the storage device; and

a client configured to send multiple requests to the server to access data stored in the storage,

wherein the server is further configured to:

receive the multiple data access requests, wherein each request has a request type associated therewith;

track a response performance of received requests having a same request type, wherein to track the response performance the server is configured to generate a histogram of the received requests by determining a plurality of time intervals associated with fulfillment of requests of the same request type, and determining a number of requests of the same request type that were fulfilled for each time interval of the plurality of time intervals;

receive a current request for data from the client;

check for a number of previously received requests having the same request type that have yet to be fulfilled at a time when the current request is received;

compute, based on the tracking and the histogram, a probable execution time delay for fulfilling the current request;

extract, from the current request, a time period within which fulfillment of the current request is useful;

predict whether the current request is going to fail based upon the probable execution time delay, the time period within which fulfillment of the current request is useful and the number of previously received requests having the same request type; and

decide whether to reject the current request without fulfilling based upon the predicting.

11. The computer system of claim 10 , wherein the server is further configured to:

fulfill the current request when the probable execution time delay does not exceed a delay threshold value.

12. The computer system of claim 10 , where the server is further configured to:

derive the request type for the current request based on content of the current request.

13. The computer system of claim 10 , wherein to decide whether to reject the current request without fulfilling, the server is further configured to:

refrain from fulfilling the current request when the number of previously received requests having the same request type that have yet to be fulfilled is greater than a first threshold value.

14. The computer system of claim 10 , wherein the predicting is based upon a first function comprising a weighted linear combination of the number of previously received requests having the same request type that have yet to be fulfilled and the probable execution time delay.

15. The computer system of claim 10 , wherein the probable execution time delay corresponds to an average delay for fulfilling the number of previously received requests having the same request type, as tracked by the response performance tracking.

16. A non-transitory computer-readable medium storing computer executable instructions that when executed by a processor cause the processor to perform a method of controlling access to an information database, the method comprising:

receiving multiple data access requests, wherein each request has a request type associated therewith;

tracking a response performance of received requests having a same request type, where the tracking comprises:

generating a histogram of the received requests by determining a plurality of time intervals associated with fulfillment of requests of the same request type, and determining a number of requests of the same request type that were fulfilled for each time interval of the plurality of time intervals;

receiving a current request for data;

checking for a number of previously received requests having the same request type that have yet to be fulfilled at a time when the current request is received;

computing based on the tracking and the histogram, a probable execution time delay for fulfilling the current request;

extracting, from the current request, a time period within which fulfillment of the current request is useful;

predicting whether the current request is going to fail based upon the probable execution time delay, the time period within which fulfillment of the current request is useful and the number of previously received requests having the same request type; and

deciding whether to reject the current request without fulfilling based upon the predicting.

17. The computer-readable medium of claim 16 , the method further comprising:

fulfilling the current request when the probable execution time delay does not exceed a delay threshold value.

18. The computer-readable medium of claim 16 , the method further comprising:

deriving the request type for the current request based on content of the current request.

19. The computer-readable medium of claim 16 , wherein the deciding operation includes refraining from fulfilling the current request when the number of previously received requests having the same request type that have yet to be fulfilled is greater than a first threshold value.

20. The computer-readable medium of claim 17 , wherein the delay threshold value is the time period within which fulfillment of the current request is useful.

Assignments (6)
CHANGE OF NAME Recorded Mar 22, 2022
From: VERIZON MEDIA INC.
To: YAHOO AD TECH LLC
Reel/Frame 059471/0514 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 26, 2020
From: OATH INC.
To: VERIZON MEDIA INC.
Reel/Frame 054258/0635 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 2, 2018
From: YAHOO HOLDINGS, INC.
To: OATH INC.
Reel/Frame 045240/0310 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 23, 2017
From: YAHOO! INC.
To: YAHOO HOLDINGS, INC.
Reel/Frame 042963/0211 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 20, 2015
From: BRIGHTROLL, INC.
To: YAHOO! INC.
Reel/Frame 035220/0145 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 10, 2014
From: MUSUMECI, GIAN-PAOLO
To: BRIGHTROLL, INC.
Reel/Frame 034467/0648 →
Cited By (1)
US 12,335,224