IP Library Granted Patent US 9,419,916
Granted Patent B2
US 9,419,916 · App. 14/078,443 · Granted Aug 16, 2016

Network fallback using resource request expectations

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 9,419,916
App. No.
14/078,443
Granted
Aug 16, 2016
Kind
B2
Abstract

Methods for network fallback using resource request expectations are provided. In one aspect, a method includes receiving a resource request, the resource request including one or more request expectations. The method also includes sending the resource request to a hostname via a first network connection. The method also includes evaluating network activity in response to the sent resource request. The method also includes resending the resource request to the hostname via a second network connection based on the evaluated network activity and the one or more request expectations. Systems and machine-readable media are also provided.

Claims (61)

1. A computer-implemented method comprising:

receiving, on a first client component of a client device, a resource request from a second client component of the client device, the resource request including one or more request expectations;

providing for a first transmission of the resource request to a hostname via a first network connection;

evaluating network activity associated with the first network connection in response to the resource request being transmitted to the hostname;

providing for a second transmission of the resource request to the hostname via a second network connection based on the evaluated network activity and the one or more request expectations; and

sending, in response to the second transmission of the resource request, a notification from the first client component to the second client component indicating that a connection quality of the first network connection did not satisfy the one or more request expectations.

2. The method of claim 1 , wherein the one or more request expectations include a repeatability indicator,

wherein evaluating network activity comprises determining whether a first timeout has occurred since sending the resource request, and

wherein the resource request is resent based on the repeatability indicator when the first timeout has occurred.

3. The method of claim 1 , wherein the one or more request expectations include an urgency indicator,

wherein evaluating network activity comprises determining whether a second timeout has occurred since sending the resource request, and

wherein the resource request is resent based on the urgency indicator when the second timeout has occurred.

4. The method of claim 1 , wherein the one or more request expectations include an expected processing time associated with the first network connection,

wherein evaluating network activity comprises comparing an actual processing time with the expected processing time, and

wherein the resource request is resent when the actual processing time exceeds the expected processing time.

5. The method of claim 4 , wherein the expected processing time comprises an expected time to establish a connection to the hostname via the first network connection.

6. The method of claim 1 , wherein the one or more request expectations includes a minimum bandwidth value,

wherein evaluating network activity comprises comparing the minimum bandwidth value with an actual bandwidth value available via the first network connection, and

wherein the resource request is resent when the actual bandwidth value is less than the minimum bandwidth value.

7. The method of claim 1 , wherein the first network connection is a WiFi connection, and

the second network connection is a cellular network connection.

8. The method of claim 1 , wherein the first network connection is a first WiFi connection, and

the second network connection is a second WiFi connection.

9. The method of claim 1 , further comprising parsing the resource request to determine the one or more request expectations.

10. The method of claim 9 , wherein the resource request is an HTML request, and

wherein the HTML request comprises the one or more request expectations.

11. The method of claim 9 , wherein the resource request is an XHR request, and

wherein the XHR request comprises the one or more request expectations.

12. The method of claim 1 , wherein the first client component is an application configured to present content to a user and the second client component is an interface configured to process resource requests from the application for transmission to the hostname.

13. A system comprising:

a memory storing executable instructions; and

a processor configured to execute the executable instructions stored in the memory to:

receive, on a first client component of a client device, a resource request from a second client component of the client device, the resource request including one or more request expectations;

parse the resource request to determine the one or more request expectations;

send the resource request to a hostname via a first network connection;

evaluate network activity associated with the first network connection in response to the resource request being sent to the hostname;

resend the resource request to the hostname via a second network connection based on the evaluated network activity and the one or more request expectations; and

sending, in response to resending the resource request, a notification from the first client component to the second client component indicating that a connection quality of the first network connection did not satisfy the one or more request expectations.

14. The system of claim 13 , wherein the one or more request expectations include a repeatability indicator,

wherein evaluating network activity comprises determining whether a first timeout has occurred since sending the resource request, and

wherein the resource request is resent based on the repeatability indicator when the first timeout has occurred.

15. The system of claim 13 , wherein the one or more request expectations include an urgency indicator,

wherein evaluating network activity comprises determining whether a second timeout has occurred since sending the resource request, and

wherein the resource request is resent based on the urgency indicator when the second timeout has occurred.

16. The system of claim 13 , wherein the one or more request expectations include an expected processing time associated with the first network connection,

wherein evaluating network activity comprises comparing an actual processing time with the expected processing time, and

wherein the resource request is resent when the actual processing time exceeds the expected processing time.

17. The system of claim 16 , wherein the expected processing time comprises an expected time to establish a connection to the hostname via the first network connection.

18. The system of claim 13 , wherein the one or more request expectations includes a minimum bandwidth value,

wherein evaluating network activity comprises comparing the minimum bandwidth value with an actual bandwidth value available via the first network connection, and

wherein the resource request is resent when the actual bandwidth value is less than the minimum bandwidth value.

19. The system of claim 13 , wherein the first network connection is a WiFi connection, and

the second network connection is a cellular network connection.

20. The system of claim 13 , wherein the resource request is an HTML request, and

wherein the HTML request comprises the one or more request expectations.

21. A non-transitory machine-readable medium embodying instructions that, when executed by a machine, cause the machine to perform a method comprising:

receiving, on a first client component of a client device, a resource request from a second client component of the client device, the resource request including one or more request expectations;

sending the resource request to a hostname via a first wireless network connection;

evaluating network activity associated with the first wireless network connection using the one or more request expectations, in response to the resource request being sent to the hostname;

resending the resource request to the hostname via a second wireless network connection based on the evaluated network activity; and

sending, in response to the resending of the resource request, a notification from the first client component to the second client component indicating that a connection quality of the first wireless network connection did not satisfy the one or more request expectations.

Assignments (2)
CHANGE OF NAME Recorded Oct 2, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044566/0657 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 19, 2013
From: ROSKIND, JAMES ANTHONY; SWETT, IAN DOUGLAS
To: GOOGLE INC.
Reel/Frame 031635/0204 →