IP Library Granted Patent US 10,992,594
Granted Patent B2
US 10,992,594 · App. 16/653,630 · Granted Apr 27, 2021

Optimization of network resources

Inventors: John Casey Laird (Lakewood, CO); David Paul Zeckser (Denver, CO); William Brandon Ridenour (Denver, CO); Craig Smith (Denver, CO); Andrew Tilley (Denver, CO)
Assignee: HOMEADVISOR, INC.
H04L47/76G06Q10/063112G06Q30/016H04L45/24H04L47/27H04L47/41H04L47/743H04L47/748H04L47/822H04L67/125H04L67/141H04L67/18H04L67/22H04L67/32H04L69/24H04L47/34H04L47/50
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,992,594
App. No.
16/653,630
Granted
Apr 27, 2021
Kind
B2
Abstract

A method may include, by a network resource optimization system, receiving from a network node a resource request, determining a plurality of network resources based on the resource request, and determining a subset of network resources from the plurality of network resources and a network resource from the subset based on a score of each network resource. The score of each network resource may be based on a rate of acceptance of communication requests received or a number of communication sessions established. The method may include, by the network resource optimization system, transmitting a communication request to the determined network resource and receiving an acceptance from the network resource. The method may include, by the network resource optimization system, causing a selection mechanism to be activated at the network node, receiving from the network node a selection, and initiating the communication session in response to the selection.

Claims (87)

1. A method for initiating communication between a network node and a network resource, the method comprising:

receiving, by a network resource optimization system from the network node, a resource request, wherein the resource request includes required resource parameters;

determining, by the network resource optimization system, a plurality of network resources that satisfy the required resource parameters;

determining, by the network resource optimization system, a subset of network resources from the plurality of network resources based, at least in part, on a score of each of the plurality of the network resources, wherein the score of each network resource is based, at least in part, on a rate of acceptance of communication requests to be instantly connected with a respective network node that were received by the network resource, wherein the rate of acceptance is calculated based on:

i) a number of times, historically, the network resource optimization system has provided a communication request to the network resource and

ii) how often, historically, the network resource accepted the provided communication request and, in response, was instantly connected with the respective network node via a respective communication session initiated by the network resource optimization system;

selecting, by the network resource optimization system, the network resource from the subset of network resources based, at least in part, on the score of the network resource;

transmitting, by the network resource optimization system to the selected network resource, a communication request;

receiving, by the network resource optimization system from the selected network resource, an acceptance of the communication request, wherein receiving the acceptance causes the network resource optimization system to activate a selection mechanism at the network node; and

receiving, by the network resource optimization system from the network node, a selection made through the selection mechanism, wherein receiving the selection causes the network resource optimization system to initiate a communication session between the selected network resource and the network node.

2. The method for initiating communication between the network node and the network resource of claim 1 , further comprising:

determining, by the network resource optimization system for each network resource of the subset of network resources, a probability of receiving acceptance of the communication request based, at least in part, on:

the score of each network resource; and

at least one variable independent from each network resource; and

wherein selecting the network resource from the subset of network resources is further based, at least in part, on the probability.

3. The method for initiating communication between the network node and the network resource of claim 1 , wherein the score of each network resource is a first score of each network resource, the method further comprising:

determining, by the network resource optimization system for each network resource of the subset of network resources, a probability of receiving acceptance of the communication request based, at least in part, on:

the first score of each network resource; and

a second score of each network resource, wherein the second score of each network resource is determined based, at least in part, on:

a communication target set by the network resource; and

a number of times communication sessions were established between the network resource and any network node in consequence to accepted communication requests over a given time period; and

wherein selecting the network resource from the subset of network resources is further based, at least in part, on the probability.

4. The method for initiating communication between the network node and the network resource of claim 1 , further comprising:

accessing, by the network resource optimization system, a calendaring application to determine an availability associated with each of the plurality of the network resources, wherein:

the calendaring application is accessible at least by the plurality of the network resources; and

determining, by the network resource optimization system, the subset of network resources from the plurality of network resources is further based, at least in part, on the availability associated with each of the plurality of the network resources.

5. The method for initiating communication between the network node and the network resource of claim 4 , wherein determining, by the network resource optimization system, the subset of network resources from the plurality of network resources further comprises:

scaling, by the network resource optimization system, the score of each of the plurality of the network resources based, at least in part, on the availability associated with each of the plurality of the network resources.

6. The method for initiating communication between the network node and the network resource of claim 4 , further comprising:

updating, by the network resource optimization system in the calendaring application, the availability associated with the selected network resource, in response to initiating the communication session between the selected network resource and the network node.

7. The method for initiating communication between the network node and the network resource of claim 1 , further comprising:

transmitting, by the network resource optimization system to the selected network resource, at least one of the required resource parameters.

8. The method for initiating communication between the network node and the network resource of claim 1 , wherein:

receiving, by the network resource optimization system from the selected network resource, the acceptance of the communication request is caused, at least in part, by a selection made at the selected network resource.

9. The method for initiating communication between the network node and the network resource of claim 8 , further comprising:

adjusting, by the network resource optimization system, the score of the selected network resource based, at least in part, on the selection made at the selected network resource.

10. The method for initiating communication between the network node and the network resource of claim 1 , further comprising:

selecting, by the network resource optimization system, another network resource from the subset of network resources based, at least in part, on the score of the another network resource; and

transmitting, by the network resource optimization system to the another network resource, s-another communication request.

11. The method for initiating communication between the network node and the network resource of claim 1 , further comprising:

determining, by the network resource optimization system, that the communication session between the network resource and the network node has been terminated;

causing, by the network resource optimization system, another selection mechanism to be activated at the network node; and

receiving, by the network resource optimization system from the network node, a selection made through the another selection mechanism, wherein:

receiving the selection made through the another selection mechanism causes the network resources optimization system to initiate another communication session between another network resource and the network node.

12. The method for initiating communication between the network node and the network resource of claim 1 , further comprising:

selecting, by the network resource optimization system, another network resource based, at least in part, on the score of the another network resource; and

wherein:

the score of the network resource is above a threshold value; and

the score of the another network resource is below the threshold value.

13. A network resource optimization system for initiating communication between a network node and a network resource, the network resource optimization system comprising:

one or more processors; and

a non-transitory machine readable medium having instructions stored thereon for initiating communication between the network node and the network resource, wherein the instructions, when executed, cause the one or more processors to perform operations comprising:

receiving, from the network node, a resource request;

parsing the resource request to determine required resource parameters;

determining a plurality of network resources that satisfy the required resource parameters;

determining a subset of network resources from the plurality of network resources based, at least in part, on a score of each of the plurality of the network resources, wherein the score of each network resource is based, at least in part, on a rate of acceptance of communication requests to be instantly connected with a respective network node that were received by the network resource the rate of acceptance being calculated based on:

i) a number of times, historically, the network resource optimization system has provided a communication request to the network resource and

ii) how often, historically, the network resource accepted the provided communication request and, in response, was instantly connected with the respective network node via a respective communication session initiated by the network resource optimization system; and

transmitting, to each of at least two network resources of the subset of network resources, a communication request based, at least in part, on the score of each of the at least two network resources of the subset of network resources.

14. The network resource optimization system for initiating communication between the network node and the network resource of claim 13 , wherein the instructions, when executed, further cause the one or more processors to perform operations comprising:

receiving, from each of the at least two network resources, an acceptance of the communication request, wherein receiving the acceptance causes the network resource optimization system to activate a selection mechanism at the network node; and

receiving, from the network node, a selection made through the selection mechanism, wherein receiving the selection causes the network resources optimization system to initiate a communication session between at least one of the at least two network resources and the network node.

15. The network resource optimization system for initiating communication between the network node and the network resource of claim 13 , wherein the instructions, when executed, further cause the one or more processors to perform operations comprising:

determining, by the network resource optimization system, a probability of receiving, by the network resource optimization system from each network resource of the subset of network resources, acceptance of the communication request, wherein:

transmitting, by the network resource optimization system to each of the at least two network resources of the subset of network resources, the communication request is further based, at least in part, on the probability associated with each network resource of the subset of network resources.

16. A non-transitory machine readable medium having instructions stored thereon for initiating communication between a network node and a network resource, wherein the instructions are executable by one or more processors of a network resource optimization system for at least:

receiving, from the network node, a resource request;

parsing the resource request to determine required resource parameters;

determining a plurality of network resources that satisfy the required resource parameters;

determining a subset of network resources from the plurality of network resources based, at least in part, on a score of each of the plurality of the network resources, wherein the score of each network resource is based, at least in part, on:

a rate of acceptance of communication requests to be instantly connected with a respective network node that were received by the network resource, the rate of acceptance being calculated based, at least in part on i) a number of times, historically, the network resource optimization system has provided a communication request to the network resource and ii) how often, historically, the network resource accepted the provided communication request and, in response, was instantly connected with the respective network node via a respective communication session initiated by the network resource optimization system; and

a global rate of acceptance of communication requests received by the plurality of network resources;

selecting a candidate network resource from the subset of network resources based, at least in part, on the score;

transmitting, to the candidate network resource, a communication request;

receiving, from the candidate network resource, an acceptance of the communication request, wherein receiving the acceptance causes the one or more processors to activate a selection mechanism at the network node; and

receiving, by the one or more processors from the network node, a selection made through the selection mechanism, wherein receiving the selection causes the one or more processors to initiate a communication session between the candidate network resource and the network node.

17. The non-transitory machine readable medium having instructions stored thereon for initiating communication between the network node and the network resource of claim 16 , wherein:

the score of each network resource is based, at least in part, on weighting the rate of acceptance and the global rate of acceptance based, at least in part, on a total number of communication requests received by the network resource.

18. The non-transitory machine readable medium having instructions stored thereon for initiating communication between the network node and the network resource of claim 16 , wherein the instructions are further executable by the one or more processors for at least:

calculating a probability of receiving, from each network resource of the subset of network resources, acceptance of the communication request based, at least in part, on:

the score of each network resource; and

a random number; and

wherein selecting the network resource from the subset of network resources is further based, at least in part, on the probability.

19. The non-transitory machine readable medium having instructions stored thereon for initiating communication between the network node and the network resource of claim 18 , wherein:

a volatility of the random number with respect to each network resource is related to a number of times communication sessions were established between the network resource and any network node.

20. The non-transitory machine readable medium having instructions stored thereon for initiating communication between the network node and the network resource of claim 18 , wherein:

a volatility of the random number with respect to each network resource is inversely related to a number of times communication sessions were established between the network resource and any network node.

Assignments (4)
SECURITY INTEREST Recorded Nov 6, 2025
From: HOMEADVISOR, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 072817/0467 →
RELEASE OF PATENT SECURITY INTERESTS Recorded Aug 5, 2021
From: JPMORGAN CHASE BANK, N.A.
To: HOMEADVISOR, INC.; HANDY TECHNOLOGIES, INC.
Reel/Frame 057089/0297 →
SECURITY AGREEMENT Recorded Aug 12, 2020
From: HOMEADVISOR, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 053470/0922 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 15, 2019
From: LAIRD, JOHN CASEY; ZECKSER, DAVID PAUL; RIDENOUR, WILLIAM BRANDON; SMITH, CRAIG; TILLEY, ANDREW
To: HOMEADVISOR, INC.
Reel/Frame 050722/0860 →
Continuity (3)
Continuation 16053553 · Aug 2, 2018
Continuation In Part 14942829 · Nov 16, 2015
Related Publication 20200044982A1 · Feb 6, 2020