Apparatus for transferring data via a proxy server and an associated method and computer program product
First Claim
1. A system comprising:
- a memory device to store instructions; and
a proxy server device to execute the instructions to;
receive load data for respective loads of a plurality of destination server devices,the plurality of destination server devices being different from the proxy server device,receive network connection status data related to a status of respective connections to the plurality of destination server devices,receive a request from a client device,the request being associated with a first format of a plurality of formats, andthe request being directed to a first destination server device of the plurality of destination server devices,select, according to at least one predefined rule and based on the client device, the load data, the network connection status data, and contents of the request, a second destination server device of the plurality of destination servers devices,the first destination server device being different from the second destination server device,modify the received request, according to the at least one predefined rule, to form a related request associated with a second format of the plurality of formats,the second format being different from the first format, andthe second format being selected from the plurality of formats based on the client device and the second destination server device,provide, via the network, the related request to the second destination server device,receive, via the network, a response to the related request from the second destination server device,the response being associated with a third format of the plurality of formats,determine, based on the at least one predefined rule and the third format, whether the response is invalid,identify, based on the at least one predefined rule, a recipient device that is different from the client device when the response is invalid,modify the response, according to the at least one predefined rule and when the response is invalid, to form a related response associated with a fourth format of the plurality of formats,the fourth format being different from the third format, andthe fourth format being selected from the plurality of formats based on the recipient device, andprovide the related response to the recipient device when the response is invalid.
2 Assignments
0 Petitions
Accused Products
Abstract
An apparatus is provided for transferring data among clients, recipients, and servers. In general, an apparatus is described for coordinating and modifying data being transferred from clients to destination servers and from destination servers to recipients. A proxy server modifies requests and responses from clients and destination servers, respectively, and ultimately communicates related responses to recipients according to one or more predefined rules pertaining to each client and destination server. In this way, requests may be communicated from clients to the appropriate destination servers such that the requests may be fulfilled by the destination servers, and responses may be communicated from the destination servers to the appropriate recipients. The load on potential destination servers, network conditions, and the content of the responses received may be considered and addressed by the proxy server, facilitating the transfer of data.
27 Citations
24 Claims
-
1. A system comprising:
-
a memory device to store instructions; and a proxy server device to execute the instructions to; receive load data for respective loads of a plurality of destination server devices, the plurality of destination server devices being different from the proxy server device, receive network connection status data related to a status of respective connections to the plurality of destination server devices, receive a request from a client device, the request being associated with a first format of a plurality of formats, and the request being directed to a first destination server device of the plurality of destination server devices, select, according to at least one predefined rule and based on the client device, the load data, the network connection status data, and contents of the request, a second destination server device of the plurality of destination servers devices, the first destination server device being different from the second destination server device, modify the received request, according to the at least one predefined rule, to form a related request associated with a second format of the plurality of formats, the second format being different from the first format, and the second format being selected from the plurality of formats based on the client device and the second destination server device, provide, via the network, the related request to the second destination server device, receive, via the network, a response to the related request from the second destination server device, the response being associated with a third format of the plurality of formats, determine, based on the at least one predefined rule and the third format, whether the response is invalid, identify, based on the at least one predefined rule, a recipient device that is different from the client device when the response is invalid, modify the response, according to the at least one predefined rule and when the response is invalid, to form a related response associated with a fourth format of the plurality of formats, the fourth format being different from the third format, and the fourth format being selected from the plurality of formats based on the recipient device, and provide the related response to the recipient device when the response is invalid. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 20)
-
-
9. A method comprising:
-
storing, by one or more server devices; at least one predefined rule, load data for each of a plurality of destination servers, and connection status data related to a status of a connection, over a network, of each of the plurality of destination servers; storing, by the one or more server devices, a request from a client device and intended for a first destination server, the request being in a first format of a plurality of formats; selecting, by the one or more server devices, a second destination server from the plurality of destination servers, the second destination server being selected according to the at least one predefined rule and based on contents of the request, the load data, and the connection status data, the second destination server being different from the first destination server, and the one or more server devices being different from the first destination server and the plurality of destination servers; modifying, by the one or more server devices, the request to form a related request, the related request being in a second format, of the plurality of formats, that differs from the first format, and the second format being selected from the plurality of formats according to the at least one predefined rule and based on the second destination server; providing, by the one or more server devices, the related request to the second destination server; receiving, by the one or more server devices and from the second destination server, a response to the related request, the received response being in a third format of the plurality of formats; determining, by the one or more server devices and based on the at least one predefined rule and the third format, whether the received response is invalid; identifying, by the one or more server devices, a recipient device that is different from the client device when the response is invalid, the recipient device being identified according to the at least one predefined rule, the stored request, and contents of the received response; modifying, via the one or more server devices and when the received response is invalid, the received response to form a related response, the related response being in a fourth format, of the plurality of formats, that differs from the third format, and the fourth format being selected from the plurality of formats according to the at least one predefined rule and based on the recipient device; and providing the related response to the recipient device when the response is invalid. - View Dependent Claims (10, 11, 12, 13, 14, 21, 23)
-
-
15. A non-transitory computer-readable storage medium storing instructions, the instructions comprising:
-
one or more instructions which, when executed by a computer device, cause the computer device to receive a request from a client device to be relayed to a first destination server of a plurality of destination servers, the request being in a first format, of a plurality of formats, associated with the first destination server; one or more instructions which, when executed by the computer device, cause the computer device to determine, according to at least one predefined rule and based on contents of the request, load data for each of a plurality of destination servers, and connection status data related to a status of respective connections, over a network, to the plurality of destination servers, to not forward the request to the first destination server; one or more instructions which, when executed by the computer device, cause the computer device to redirect, when determining not to forward the request to the first destination server, to a second destination server, of the plurality of destination servers, that differs from the first destination server, the one or more instructions to redirect the request to the second destination server including; one or more instructions to select the second destination server from the plurality of destination servers, the second destination server being selected according to the at least one predefined rule and based on the contents of the request, the load data for each of a plurality of destination servers, and the connection status data related to a status of respective connections, over the network, to the plurality of destination servers, one or more instructions to modify the request according to at least one predefined rule to form a related request, the related request being in a second format, of the plurality of formats, that differs from the first format, and the second format being associated with the second destination server, and one or more instructions to provide, over the network, the related request to the second destination server; one or more instructions which, when executed by the computer device, cause the computer device to receive, from the second destination server, a response to the related request, the response being in a third format of the plurality of formats; one or more instructions which, when executed by the computer device, cause the computer device to determine, based on the at least one predefined rule and the third format, whether the response is invalid; one or more instructions which, when executed by the computer device, cause the computer device to select a recipient device that is different from the client device when the response is invalid; one or more instructions which, when executed by the computer device, cause the computer device to modify, based on the recipient device and when the response is invalid, the response to form a related response, the related response being in a fourth format, of the plurality of formats, that differs from the third format, and the fourth format being associated with the recipient device; and one or more instructions which, when executed by the computer device, cause the computer device to provide the related response to the selected recipient device when the response is invalid. - View Dependent Claims (16, 17, 18, 19, 22, 24)
-
Specification