Client traffic redirection service
First Claim
Patent Images
1. A non-transitory computer-readable medium embodying at least one program executable in a computing device coupled to a network, the at least one program comprising:
- code that initiates sending of data to a service at a first domain name, the first domain name being predetermined;
code that obtains a first network address by performing a domain name system (DNS) lookup on the first domain name;
code that determines whether the first network address is in a predetermined redirection network address range, the predetermined redirection network address range being unroutable by the network;
code that obtains a second domain name by performing a reverse DNS lookup on the first network address when the first network address is in the predetermined redirection network address range, the second domain name being returned based at least in part on an availability of the service through the second domain name;
code that obtains a second network address by performing a DNS lookup on the second domain name, the second network address being routable by the network;
code that configures a network address translation (NAT) filter of the computing device to establish a rule that routes between the first network address and the second network address; and
code that routes the data to the second network address.
1 Assignment
0 Petitions
Accused Products
Abstract
Disclosed are various embodiments for performing network traffic redirection at the client side. Sending of data to a service at a network address is initiated. Whether the network address is in a predetermined network address range is determined. The network address is translated, when the network address is in the predetermined network address range, to one of multiple other network addresses based at least in part on an availability of the service at the other network address. The data is routed to the other network address.
-
Citations
20 Claims
-
1. A non-transitory computer-readable medium embodying at least one program executable in a computing device coupled to a network, the at least one program comprising:
-
code that initiates sending of data to a service at a first domain name, the first domain name being predetermined; code that obtains a first network address by performing a domain name system (DNS) lookup on the first domain name; code that determines whether the first network address is in a predetermined redirection network address range, the predetermined redirection network address range being unroutable by the network; code that obtains a second domain name by performing a reverse DNS lookup on the first network address when the first network address is in the predetermined redirection network address range, the second domain name being returned based at least in part on an availability of the service through the second domain name; code that obtains a second network address by performing a DNS lookup on the second domain name, the second network address being routable by the network; code that configures a network address translation (NAT) filter of the computing device to establish a rule that routes between the first network address and the second network address; and code that routes the data to the second network address. - View Dependent Claims (2, 3)
-
-
4. A system, comprising:
-
a computing device; and at least one application executable in the computing device, the at least one application being configured to; initiate sending of data to a service at a network address; determine whether the network address is in a predetermined network address range; translate the network address, when the network address is in the predetermined network address range, to one of a plurality of other network addresses based at least in part on an availability of the service at the one of the other network addresses; and route the data to the one of the other network addresses. - View Dependent Claims (5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A method, comprising:
-
opening, by a service client in a computing device, a data connection to a service at a network address; determining, in the computing device, whether the network address is in a predetermined network address range; establishing, in the computing device, a network address translation between the network address and one of a plurality of other network addresses based at least in part on an availability of the service at the one of the other network addresses in response to determining that the network address is in the predetermined network address range; routing, in the computing device, outbound data from the service client to the service through the data connection using the network address translation; and routing, in the computing device, inbound data from the service to the service client through the data connection using the network address translation. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification