Transport protocol independent communications library
First Claim
1. A non-transitory computer readable medium encoded with instructions executable by a computer, the instructions comprising:
- a communications library that can be implemented in client agents of different types, the communications library supporting a plurality of transport protocols, each of the client agents supporting one or more of the transport protocols; and
wherein upon such execution the instructions cause the computer to perform operations comprising;
receiving, from multiple client modules executing in different client agents on the computer, a respective communication request not formatted according to any of the transport protocols and specifying a subset of at least two of the plurality of transport protocols;
determining, for a first subset of the communication requests, that at least one transport protocol is included in the respective subset of the transport protocols specified by the respective client agent and included in the plurality of transport protocols supported by the communications library;
for each of the communication requests in the first subset of the communication requests and in response to determining that at least one transport protocol is included in the respective subset of the transport protocols specified by the respective client agent and included in the plurality of transport protocols supported by the communications library;
selecting one of the transport protocols of the respective subset of the transport protocols specified by the respective client agent and included in the plurality of transport protocols supported by the communications library;
sending the respective communication request according to the respective selected transport protocol; and
receiving a corresponding communication response according to the respective selected transport protocol; and
determining, for a second subset of the communication requests that is mutually exclusive from the first subset of the communication requests, that no transport protocols are included in both the respective subset of the transport protocols specified by the client agent and the plurality of transport protocols supported by the communications library, and that no communication request should be sent.
2 Assignments
0 Petitions
Accused Products
Abstract
Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for a transport protocol independent communications library. In one aspect, a method includes receiving a communication request from a client device and processed according to a selected transport protocol, generating a response to the communication request, the response including data responsive to the communication request and one or more feature values specifying one or more communication features for the communication request, each communication feature being independent of the selected transport protocol, and providing the response to the communication request according to the selected transport protocol.
-
Citations
20 Claims
-
1. A non-transitory computer readable medium encoded with instructions executable by a computer, the instructions comprising:
-
a communications library that can be implemented in client agents of different types, the communications library supporting a plurality of transport protocols, each of the client agents supporting one or more of the transport protocols; and wherein upon such execution the instructions cause the computer to perform operations comprising; receiving, from multiple client modules executing in different client agents on the computer, a respective communication request not formatted according to any of the transport protocols and specifying a subset of at least two of the plurality of transport protocols; determining, for a first subset of the communication requests, that at least one transport protocol is included in the respective subset of the transport protocols specified by the respective client agent and included in the plurality of transport protocols supported by the communications library; for each of the communication requests in the first subset of the communication requests and in response to determining that at least one transport protocol is included in the respective subset of the transport protocols specified by the respective client agent and included in the plurality of transport protocols supported by the communications library; selecting one of the transport protocols of the respective subset of the transport protocols specified by the respective client agent and included in the plurality of transport protocols supported by the communications library; sending the respective communication request according to the respective selected transport protocol; and receiving a corresponding communication response according to the respective selected transport protocol; and determining, for a second subset of the communication requests that is mutually exclusive from the first subset of the communication requests, that no transport protocols are included in both the respective subset of the transport protocols specified by the client agent and the plurality of transport protocols supported by the communications library, and that no communication request should be sent. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A non-transitory computer readable medium encoded with instructions executable by a data processing apparatus supporting a plurality of transport protocols, and that cause the data processing apparatus to perform operations comprising:
-
receiving, from each of multiple client agents included on a client device that includes a communications library that can be implemented in the client agents and supports each of the plurality of transport protocols, a communication request processed according to a selected transport protocol from the plurality of transport protocols that the client device determined was supported by both the communications library and the respective client agent for which the communication request was created; generating, for each of the communication requests, a corresponding communication response to the respective communication request, the corresponding communication response including data responsive to the respective communication request and one or more feature values in a wrapper specifying one or more communication features for the corresponding communication response, each communication feature being independent of the selected transport protocol; and providing, for each of the communication requests, the corresponding communication response to the client device according to the selected transport protocol. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18)
-
-
19. A computer-implemented method performed by a computer, comprising:
-
accessing a communications library stored in a computer memory of the computer, the communications library supporting client agents of different types, the communications library supporting a plurality of transport protocols, each of the client agents supporting one or more of the transport protocols; receiving, from multiple client modules executing in different client agents on the computer, a respective communication request not formatted according to any of the transport protocols and specifying a subset of at least two of the plurality of transport protocols; determining, for a first subset of the communication requests, that at least one transport protocol is included in the respective subset of the transport protocols specified by the respective client agent and included in the plurality of transport protocols supported by the communications library; for each of the communication requests in the first subset of the communication requests and in response to determining that at least one transport protocol is included in the respective subset of the transport protocols specified by the respective client agent and included in the plurality of transport protocols supported by the communications library; selecting one of the transport protocols of the respective subset of the transport protocols specified by the respective client agent and included in the plurality of transport protocols supported by the communications library; sending the respective communication request according to the respective selected transport protocol; and receiving a corresponding communication response according to the respective selected transport protocol; and determining, for a second subset of the communication requests that is mutually exclusive from the first subset of the communication requests, that no transport protocols are included in both the respective subset of the transport protocols specified by the client agent and the plurality of transport protocols supported by the communications library, and that no communication request should be sent.
-
-
20. A computer-implemented method performed by a data processing apparatus supporting a plurality of transport protocols, comprising:
-
receiving, from each of multiple client agents included on a client device that includes a communications library that can be implemented in the client agents and supports each of the plurality of transport protocols, a communication request processed according to a selected transport protocol from the plurality of transport protocols that the client device determined was supported by both the communications library and the respective client agent for which the communication request was created; generating, for each of the communication requests, a corresponding communication response to the respective communication request, the corresponding communication response including data responsive to the respective communication request and one or more feature values in a wrapper specifying one or more communication features for the corresponding communication response, each communication feature being independent of the selected transport protocol; and providing, for each of the communication requests, the corresponding communication response to the client device according to the selected transport protocol.
-
Specification