IP Library Granted Patent US 8,228,837
Granted Patent B2
US 8,228,837 · App. 12/877,903 · Granted Jul 24, 2012

Maintaining network connectivity

Assignee: Google Inc.
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 8,228,837
App. No.
12/877,903
Granted
Jul 24, 2012
Kind
B2
Abstract

A network device may select between two or more network connections based on a determination of whether the network device can access general Internet resources via an available, higher-preference network without providing additional (e.g., OSI Model Layer Seven) login credentials. In one example, a network device includes a first network interface configured to maintain a connection to a first network gateway, a second network interface configured to connect to a second, different network gateway upon determining that the second network gateway is both available and preferable over the first network gateway, and means for determining whether a remote network resource is currently accessible via the second network gateway. When the remote network resource is accessible via the second network gateway, the second network interface maintains the connection to the second network gateway.

Claims (58)

1. A method comprising:

maintaining, by a mobile device, a connection to a first network gateway;

determining that a second, different network gateway is both available and preferable over the first network gateway;

connecting, by the mobile device, to the second network gateway independently of the first network gateway while maintaining the connection to the first network gateway;

determining that an application on the mobile device can access a remote network resource through the second network gateway, wherein the remote network resource is external to the first network gateway and the second network gateway; and

maintaining the connection to the second network gateway based on the determination that the application can access the remote network resource.

2. The method of claim 1 , further comprising initiating new network sessions via the second network gateway.

3. The method of claim 1 , further comprising communicating data of existing network sessions via the first network gateway.

4. The method of claim 1 , further comprising terminating existing network sessions and reinitiating the terminated network sessions via the second network gateway.

5. The method of claim 4 , further comprising disconnecting from the first network gateway after determining that the application on the mobile device can access the remote network resource through the second network gateway.

6. The method of claim 1 , wherein determining that the application can access the remote network resource through the second network gateway comprises:

sending an Internet Control Message Protocol (ICMP) echo request packet to the resource via the second network gateway; and

determining that the resource is accessible via the second network gateway upon receiving an ICMP response from the resource.

7. The method of claim 1 , wherein determining that the application can access the remote network resource through the second network gateway comprises:

determining a resource Internet protocol (IP) address comprising an IP address of the remote network resource;

performing a Domain Name System lookup for the remote network resource via the second network gateway to receive a responsive IP address; and

determining that the remote network resource is accessible via the second network gateway when the remote network resource IP address matches the responsive IP address.

8. The method of claim 1 , wherein determining that the application can access the remote network resource through the second network gateway comprises:

sending a hypertext transfer protocol (HTTP) streaming GET request for the remote network resource via the second network gateway; and

determining that the remote network resource is accessible when the remote network resource is received in response to the HTTP streaming GET request.

9. The method of claim 1 , wherein determining that the application can access the remote network resource through the second network gateway comprises:

sending a hypertext transfer protocol (HTTP-S) request to the remote network resource via the second network gateway; and

determining that the remote network resource is accessible upon receiving a response to the HTTP-S request from the remote network resource.

10. The method of claim 1 , wherein the remote network resource comprises one of a plurality of resources that are each external to the second network gateway, and wherein determining that the application can access the remote network resource through the second network gateway comprises:

sending domain name system (DNS) requests to each of the plurality of resources; and

determining that the remote network resource is accessible when at least two responses to the DNS requests resolve to different Internet protocol addresses.

11. A non-transitory computer-readable storage medium comprising instructions that, when executed, cause a processor of a mobile device to:

maintain a connection to a first network gateway;

determine that a second, different network gateway is both available and preferable over the first network gateway;

connect to the second network gateway independently of the first network gateway while maintaining the connection to the first network gateway;

determine that an application on the mobile device can access a remote network resource through the second network gateway, wherein the remote network resource is external to the first network gateway and the second network gateway; and

maintain the connection to the second network gateway based on the determination that the application can access the remote network resource.

12. The non-transitory computer-readable storage medium of claim 11 , further comprising instructions that cause the processor to initiate new network sessions through the second network gateway.

13. The non-transitory computer-readable storage medium of claim 11 , wherein the instructions that cause the processor to determine that the application can access the remote network resource through the second network gateway comprise instructions that cause the processor to:

send an Internet Control Message Protocol (ICMP) echo request packet to the remote network resource through the second network gateway; and

determine that the remote network resource is accessible through the second network gateway upon receiving an ICMP response from the remote network resource.

14. The non-transitory computer-readable storage medium of claim 11 , wherein the remote network resource comprises one of a plurality of resources that are each external to the second network gateway, and wherein the instructions that cause the processor to determine that the application can access the remote network resource through the second network gateway comprise instructions that cause the processor to:

send domain name system (DNS) requests to each of the plurality of resources; and

determine that the remote network resource is accessible when at least two responses to the DNS requests resolve to different Internet protocol addresses.

15. A method comprising:

maintaining, by a mobile device, a connection to a first network gateway;

determining that a second, different network gateway is both available and preferable over the first network gateway;

connecting, by the mobile device, to the second network gateway independently of the first network gateway while maintaining the connection to the first network gateway; and

determining whether an application on the mobile device can access a remote network resource through the second network gateway, wherein the remote network resource is external to the first network gateway and the second network gateway,

wherein when the remote network resource is not determined to be currently accessible through the second network gateway, the method comprises:

displaying a prompt for authentication credentials for the second network gateway;

waiting to receive the authentication credentials; and

disconnecting from the second network gateway when the authentication credentials are not received after a predetermined amount of time.

16. The method of claim 15 , wherein when the remote network resource is not determined to be currently accessible through the second network gateway, the method further comprises providing the authentication credentials to the second network gateway upon receiving the authentication credentials within the predetermined amount of time.

17. The method of claim 16 , wherein when the remote network resource is determined to be currently accessible through the second network gateway, the method comprises maintaining the connection to the second network gateway based on the determination that the application can access the remote network resource and disconnecting from the first network gateway.

18. A method comprising:

maintaining, by a mobile device, a connection to a first network gateway;

determining that a second, different network gateway is both available and preferable over the first network gateway;

connecting, by the mobile device, to the second network gateway independently of the first network gateway while maintaining the connection to the first network gateway;

determining that an application on the mobile device cannot access a remote network resource through the second network gateway, wherein the remote network resource is external to the first network gateway and the second network gateway; and

prompting for authentication credentials for the second access gateway based on the determination that the application cannot access the remote network resource.

19. The method of claim 18 , further comprising disconnecting from the second access gateway when the authentication credentials are not received after a predetermined amount of time.

20. The method of claim 19 , further comprising providing the authentication credentials to the second access gateway upon receiving the authentication credentials within the predetermined amount of time.

Assignments (2)
CHANGE OF NAME Recorded Oct 2, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044101/0405 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 28, 2010
From: SHERIFF, IRFAN; GREENWALT, ROBERT; SAVILLE, WINTHROP
To: GOOGLE INC.
Reel/Frame 025056/0105 →
Continuity (2)
Provisional Application 61355618 · Jun 17, 2010
Related Publication 20110310787A1 · Dec 22, 2011