IP Library Granted Patent US 11,070,486
Granted Patent B2
US 11,070,486 · App. 15/152,428 · Granted Jul 20, 2021

Overall performance when a subsystem becomes overloaded

Inventor: Patrick P. Chan (Palo Alto, CA)
Assignee: Verizon Media Inc.
H04L47/762H04L47/743
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,070,486
App. No.
15/152,428
Granted
Jul 20, 2021
Kind
B2
Abstract

Methods and apparatus for improving performance of a system including a first computing system are disclosed. In one embodiment, the first computing system receives a request via a network from a client device. The first computing system determines whether a second computing system is available to respond to requests from the first system. The first computing system obtains a response to the request received from the client device based, at least in part, on one or more estimated values maintained by the first computing system according to whether the second computing system is available to respond to requests from the first computing system. The first computing system transmits the response to the client device.

Claims (70)

1. A method, comprising:

receiving, by a first computing system including one or more servers, a request for information via a network from a client device;

determining, by the first computing system, whether a second computing system including one or more second servers is available to respond to requests from the first computing system;

obtaining, by the first computing system, the information requested by the client device, wherein the obtaining comprises:

in response to determining that the second computing system is not available to respond to requests from the first computing system, obtaining, by the first computing system, the information requested by the client device by:

obtaining, by the first computing system, one or more parameter values of the request, wherein one or more first parameter values correspond to a first category of file and one or more second parameter values correspond to a second category of file;

obtaining, by the first computing system from a user profile in one or more memories of the first computing system, one or more estimated data values using the one or more parameter values, wherein the one or more estimated data values identify the first category of file, wherein the user profile is indicative of a plurality of features of a user associated with the client device; and

generating, by the first computing system, the information requested by the client device based, at least in part, on the one or more estimated data values without communicating with the second computing system;

and

transmitting, by the first computing system, a response including the information to the client device.

2. The method of claim 1 , wherein the user profile comprises at least one of a browsing history, a search history, a purchase history or a geographic location.

3. The method of claim 1 , wherein determining whether the second computing system is available to respond to requests from the first computing system comprises:

ascertaining whether the second computing system is available based, at least in part, on a maximum time threshold and response times within which responses to requests from the first computing system to the second computing system are received by the first computing system.

4. The method of claim 1 , wherein determining whether the second computing system is available to respond to requests from the first computing system comprises determining whether a latency with which the second computing system responds to requests from the first computing system is less than a maximum latency threshold.

5. The method of claim 1 , wherein the first category of file comprises a first category of video file.

6. The method of claim 1 , comprising:

determining whether the second computing system is available based, at least in part, on at least one of: a maximum time threshold T within which the second computing system is to respond to requests from the first computing system, a percentage P of total system requests from the first computing system to the second computing system to which responses are to be received within the maximum time threshold T, a number of system requests made by the first computing system to the second computing system during a time interval I, or a number of timeouts occurring during the time interval I.

7. The method of claim 1 , comprising:

for a time interval I, count a number of system requests made by the first computing system to the second computing system during the time interval I and a number of timeouts occurring during the time interval I;

wherein determining whether the second computing system is available to respond to requests from the first computing system is performed based, at least in part, on the number of system requests made by the first computing system to the second computing system during the time interval I and a number of timeouts occurring during the time interval I.

8. The method of claim 5 , wherein the second category of file comprises a second category of video file.

9. A computing system, comprising:

one or more servers, the one or more servers including one or more processors and one or more memories, the one or more servers being configured to:

receive a request for information via a network from a client device;

determine whether a second computing system including one or more second servers is available to respond to requests from the computing system;

obtain the information requested by the client device, wherein the obtaining comprises:

in response to determining that the second computing system is not available to respond to requests from the computing system, obtaining the information requested by the client device by:

obtaining one or more parameter values of the request, wherein one or more first parameter values correspond to a first category of file and one or more second parameter values correspond to a second category of file;

obtaining, from a user profile in the one or more memories, one or more estimated data values using the one or more parameter values, wherein the one or more estimated data values identify the first category of file, wherein the user profile is indicative of a plurality of features of a user associated with the client device; and

generating the information requested by the client device based, at least in part, on the one or more estimated data values without communicating with the second computing system;

and

transmit a response including the information to the client device.

10. The computing system of claim 9 , the one or more processors and the one or more memories being configured to:

receive a second request for second information; and

in response to determining that the second computing system is available to respond to requests from the computing system, obtain the second information based, at least in part, on data received from the second computing system.

11. The computing system of claim 9 , wherein determining whether the second computing system is available to respond to requests from the computing system comprises ascertaining whether the second computing system is available based, at least in part, on a maximum time threshold and response times within which responses to requests from the computing system to the second computing system are received by the computing system.

12. The computing system of claim 9 , wherein determining whether the second computing system is available to respond to requests from the computing system comprises determining whether a latency with which the second computing system responds to requests from the computing system is less than a maximum latency threshold;

wherein the maximum latency threshold is defined according to a maximum time threshold T within which the second computing system is to respond to requests from the computing system and a percentage P of total system requests from the computing system to the second computing system to which responses are to be received within the maximum time threshold T.

13. The computing system of claim 9 , the one or more processors and the one or more memories being configured to:

determine whether the second computing system is available based, at least in part, on at least one of: a maximum time threshold T within which the second computing system is to respond to requests from the computing system, a percentage P of total system requests from the computing system to the second computing system to which responses are to be received within the maximum time threshold T, a number of system requests made by the computing system to the second computing system during a time interval I, or a number of timeouts occurring during the time interval I.

14. The computing system of claim 9 , the one or more processors and the one or more memories being configured to:

for a time interval I, count a number of system requests made by the computing system to the second computing system during the time interval I and a number of timeouts occurring during the time interval I;

wherein determining whether the second computing system is available to respond to requests from the computing system is performed based, at least in part, on the number of system requests made by the computing system to the second computing system during the time interval I and a number of timeouts occurring during the time interval I.

15. A system comprising:

a first computing system including one or more servers,

wherein the first computing system is configured to:

receive a request for information via a network from a client device;

determine whether a second computing system, including one or more second servers, is available to respond to requests from the first computing system;

obtain the information requested by the client device, wherein the obtaining comprises:

in response to determining that the second computing system is not available to respond to requests from the first computing system, obtaining the information requested by the client device by:

obtaining one or more parameter values of the request, wherein one or more first parameter values correspond to a first category of file and one or more second parameter values correspond to a second category of file;

obtaining, from a user profile in one or more memories of the first computing system, one or more estimated data values using the one or more parameter values, wherein the one or more estimated data values identify the first category of file, wherein the user profile is indicative of a plurality of features of a user associated with the client device; and

generating the information requested by the client device based, at least in part, on the one or more estimated data values without communicating with the second computing system;

and

transmit a response including the information to the client device.

16. The system of claim 15 , the first computing system being configured to:

receive a second request for second information; and

in response to determining that the second computing system is available to respond to requests from the first computing system, obtain the second information based, at least in part, on data received from the second computing system.

17. The system of claim 15 , wherein determining whether the second computing system is available to respond to requests from the first computing system comprises ascertaining whether the second computing system is available based, at least in part, on a maximum time threshold and response times within which responses to requests from the first computing system to the second computing system are received by the first computing system.

18. The system of claim 15 , wherein determining whether the second computing system is available to respond to requests from the first computing system comprises determining whether a latency with which the second computing system responds to requests from the first computing system is less than a maximum latency threshold;

wherein the maximum latency threshold is defined according to a maximum time threshold T within which the second computing system is to respond to requests from the first computing system and a percentage P of total system requests from the first computing system to the second computing system to which responses are to be received within the maximum time threshold T.

19. The system of claim 15 , the first computing system being configured to:

determine whether the second computing system is available based, at least in part, on at least one of: a maximum time threshold T within which the second computing system is to respond to requests from the first computing system, a percentage P of total system requests from the first computing system to the second computing system to which responses are to be received within the maximum time threshold T, a number of system requests made by the first computing system to the second computing system during a time interval I, or a number of timeouts occurring during the time interval I.

20. The system of claim 15 , the first computing system being configured to:

for a time interval I, count a number of system requests made by the first computing system to the second computing system during the time interval I and a number of timeouts occurring during the time interval I;

wherein determining whether the second computing system is available to respond to requests from the first computing system is performed based, at least in part, on the number of system requests made by the first computing system to the second computing system during the time interval I and a number of timeouts occurring during the time interval I.

21. The method of claim 1 ,

wherein the user profile comprises at least one of demographic information, geographic information, one or more languages or one or more interests.

22. The method of claim 21 , comprising determining a location of the geographic information based, at least in part, on at least one of an Internet Protocol (IP) address, a Global Positioning System (GPS) location, cell tower triangulation or an explicit selection by the user.

23. The method of claim 1 , the second computing system being a subsystem of the first computing system.

Assignments (6)
PATENT SECURITY AGREEMENT (FIRST LIEN) Recorded Sep 29, 2022
From: YAHOO ASSETS LLC
To: ROYAL BANK OF CANADA, AS COLLATERAL AGENT
Reel/Frame 061571/0773 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 16, 2021
From: YAHOO AD TECH LLC (FORMERLY VERIZON MEDIA INC.)
To: YAHOO ASSETS LLC
Reel/Frame 058982/0282 →
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 May 12, 2016
From: CHAN, PATRICK P.
To: YAHOO! INC.
Reel/Frame 038558/0980 →
Continuity (1)
Related Publication 20170331760A1 · Nov 16, 2017