Distributing transmission of requests across multiple IP addresses of a proxy server in a cloud-based proxy service
First Claim
1. A method in a proxy server of a cloud-based proxy service, comprising:
- receiving, from a client, a first packet that includes a first incoming request for an action to be performed on an identified resource, wherein the first packet is received at the proxy server as a result of a Domain Name System (DNS) request for a domain corresponding to the identified resource resolving to an Internet Protocol (IP) address of the proxy server;
selecting a first IP address from a plurality of IP addresses of a same IP protocol version type of the proxy server for use as a source IP address for a second packet that carries a first outgoing request to be transmitted by the proxy server to a destination origin server, wherein the step of selecting is based at least in part on a set of one or more parameters associated with the first packet;
transmitting the second packet that includes the first outgoing request to the destination origin server that hosts the identified resource, wherein the first outgoing request is based on the first incoming request, wherein the second packet includes the selected first IP address as the source IP address of the second packet;
receiving a third packet that includes a first incoming response from the destination origin server in response to the first outgoing request; and
transmitting a fourth packet to the client, the fourth packet including a first outgoing response that is based on the first incoming response.
2 Assignments
0 Petitions
Accused Products
Abstract
A first packet is received at a proxy server from a client and includes a first incoming request for an action to be performed on an identified resource. The first packet is received at the proxy server as a result of a DNS request for a domain corresponding to the identified resource resolving to an IP address of the proxy server. The proxy server selects, based on at least in part on a set of parameters associated with the first packet, one of multiple IP addresses for use as a source IP address for a second packet that carries an outgoing request and transmits the second packet. The proxy server receives a third packet that includes an incoming response from the destination origin server in response to the outgoing request and transmits a fourth packet to the client that includes an outgoing response based on the incoming response.
-
Citations
26 Claims
-
1. A method in a proxy server of a cloud-based proxy service, comprising:
-
receiving, from a client, a first packet that includes a first incoming request for an action to be performed on an identified resource, wherein the first packet is received at the proxy server as a result of a Domain Name System (DNS) request for a domain corresponding to the identified resource resolving to an Internet Protocol (IP) address of the proxy server; selecting a first IP address from a plurality of IP addresses of a same IP protocol version type of the proxy server for use as a source IP address for a second packet that carries a first outgoing request to be transmitted by the proxy server to a destination origin server, wherein the step of selecting is based at least in part on a set of one or more parameters associated with the first packet; transmitting the second packet that includes the first outgoing request to the destination origin server that hosts the identified resource, wherein the first outgoing request is based on the first incoming request, wherein the second packet includes the selected first IP address as the source IP address of the second packet; receiving a third packet that includes a first incoming response from the destination origin server in response to the first outgoing request; and transmitting a fourth packet to the client, the fourth packet including a first outgoing response that is based on the first incoming response. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method in a proxy server of a cloud-based proxy service, comprising:
-
receiving, from a plurality of clients a plurality of first incoming requests respectively, wherein each incoming request is for an action to be performed on an identified resource and is received at the proxy server as a result of a Domain Name System (DNS) request for a same domain corresponding to the identified resource resolving to an Internet Protocol (IP) address of the proxy server; for each first incoming request, creating a first outgoing request to transmit to a destination origin server that hosts the resource identified in that first incoming request; for each of the first outgoing requests, selecting an IP address from a plurality of IP addresses of a same IP protocol version type of the proxy server to use as a source IP address for that first outgoing request, wherein a number of the plurality of IP addresses is less than a number of the plurality of clients; and transmitting each of the first outgoing requests to the destination origin server. - View Dependent Claims (11, 12, 13)
-
-
14. A non-transitory machine-readable storage medium that provides instructions that, when executed by a processor of a proxy server of a cloud-based proxy service, cause said processor to perform operations comprising:
-
receiving, from a client, a first packet that includes a first incoming request for an action to be performed on an identified resource, wherein the first packet is received at the proxy server as a result of a Domain Name System (DNS) request for a domain corresponding to the identified resource resolving to an Internet Protocol (IP) address of the proxy server; selecting a first IP address from a plurality of IP addresses of a same IP protocol version type of the proxy server for use as a source IP address for a second packet that carries a first outgoing request to be transmitted by the proxy server to a destination origin server, wherein the step of selecting is based at least in part on a set of one or more parameters associated with the first packet; transmitting the second packet that includes the first outgoing request to the destination origin server that hosts the identified resource, wherein the first outgoing request is based on the first incoming request, wherein the second packet includes the selected first IP address as the source IP address of the second packet; receiving a third packet that includes a first incoming response from the destination origin server in response to the first outgoing request; and transmitting a fourth packet to the client, the fourth packet including a first outgoing response that is based on the first incoming response. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22)
-
-
23. A non-transitory machine-readable storage medium that provides instructions that, when executed by a processor of a proxy server of a cloud-based proxy service, cause said processor to perform operations comprising:
-
receiving, from a plurality of clients a plurality of first incoming requests respectively, wherein each incoming request is for an action to be performed on an identified resource and is received at the proxy server as a result of a Domain Name System (DNS) request for a same domain corresponding to the identified resource resolving to an Internet Protocol (IP) address of the proxy server; for each first incoming request, creating a first outgoing request to transmit to a destination origin server that hosts the resource identified in that first incoming request; for each of the first outgoing requests, selecting an IP address from a plurality of IP addresses of a same IP protocol version type of the proxy server to use as a source IP address for that first outgoing request, wherein a number of the plurality of IP addresses is less than a number of the plurality of clients; and transmitting each of the first outgoing requests to the destination origin server. - View Dependent Claims (24, 25, 26)
-
Specification