Method and apparatus for optimization of remote procedure call communications
First Claim
Patent Images
1. A method for optimization of Remote Procedure Call (RPC) communications, comprising the computer-implemented steps of:
- sending a first RPC request to open a first transport connection to a RPC service;
receiving a first RPC response from the RPC service, wherein the first RPC response includes first information which indicates that the first transport connection to the RPC service is open;
wherein the RPC service is configured to execute remote procedure calls sent over the first transport connection;
storing the first information in a cache;
in response to a second RPC request to close the first transport connection, delaying the closing of the first transport connection to the RPC service;
receiving a third RPC request to open a new transport connection to the RPC service;
determining whether there is any open transport connection to the RPC service; and
if it is determined that the first transport connection is still open, then performing the steps of;
retrieving the first information from the cache; and
responding to the third RPC request by creating and sending a second RPC response that includes the first information;
wherein the method is performed by one or more computer systems.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and apparatus is disclosed for optimization of Remote Procedure Call (RPC) communications. A first RPC request to open a first transport connection is sent to a RPC service. A first RPC response is received from the RPC service. The first RPC response includes first information which indicates that first transport connection is open. The first information is stored in a cache. In response to a second RPC request to close the first transport connection, the closing of the first transport connection is delayed.
60 Citations
36 Claims
-
1. A method for optimization of Remote Procedure Call (RPC) communications, comprising the computer-implemented steps of:
-
sending a first RPC request to open a first transport connection to a RPC service; receiving a first RPC response from the RPC service, wherein the first RPC response includes first information which indicates that the first transport connection to the RPC service is open; wherein the RPC service is configured to execute remote procedure calls sent over the first transport connection; storing the first information in a cache; in response to a second RPC request to close the first transport connection, delaying the closing of the first transport connection to the RPC service; receiving a third RPC request to open a new transport connection to the RPC service; determining whether there is any open transport connection to the RPC service; and if it is determined that the first transport connection is still open, then performing the steps of; retrieving the first information from the cache; and responding to the third RPC request by creating and sending a second RPC response that includes the first information; wherein the method is performed by one or more computer systems. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method for optimization of Remote Procedure Call (RPC) communications, comprising the computer-implemented steps of:
-
receiving from a client a first RPC request to open a first transport connection to a particular RPC service of one or more RPC services, wherein access to the one or more RPC services is managed by a remote server that is communicatively connected over a slow communication link; sending the first RPC request to the remote server; receiving a first RPC response from the remote server, wherein the first RPC response includes first information which identifies the first transport connection and indicates that the first transport connection to the particular RPC service is open; wherein the particular RPC service is configured to execute remote procedure calls sent over the first transport connection; storing the first information in a cache; in response to receiving from the client a second RPC request to close the first transport connection to the particular RPC service, delaying the closing of the first transport connection to the particular RPC service; receiving from the client a third RPC request to open a new transport connection to the particular RPC service; determining whether there is any open transport connection to the particular RPC service by examining the contents of the cache; and if it is determined that the first transport connection is still open, then performing the steps of; retrieving the first information from the cache; and responding to the third RPC request by performing the steps of; creating a second RPC response that includes the first information; and sending the second RPC response to the client; wherein the method is performed by one or more computer systems. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14)
-
-
15. An apparatus for optimization of Remote Procedure Call (RPC) communications, comprising:
-
one or more processors; means for sending a first RPC request to open a first transport connection to a RPC service; means for receiving a first RPC response from the RPC service, wherein the first RPC response includes first information which indicates that the first transport connection to the RPC service is open; wherein the RPC service is configured to execute remote procedure calls sent over the first transport connection; means for storing the first information in a cache; means for delaying the closing of the first transport connection in response to a second RPC request to close the first transport connection to the RPC service; means for receiving a third RPC request to open a new transport connection to the RPC service; means for determining whether there is any open transport connection to the RPC service; means for retrieving the first information from the cache if it is determined that the first transport connection is still open; and means for responding to the third RPC request, if it is determined that the first transport connection is still open, by creating and sending a second RPC response that includes the first information. - View Dependent Claims (16, 17, 18, 19, 20)
-
-
21. An apparatus for optimization of Remote Procedure Call (RPC) communications, comprising:
-
one or more processors; one or more stored sequences of instructions which, when executed by the one or more processors, cause the one or more processors to perform the steps of; receiving from a client a first RPC request to open a first transport connection to a particular RPC service of one or more RPC services, wherein access to the one or more RPC services is managed by a remote server that is communicatively connected to the apparatus over a slow communication link; sending the first RPC request to the remote server; receiving a first RPC response from the remote server, wherein the first RPC response includes first information which identifies the first transport connection and indicates that the first transport connection to the particular RPC service is open; wherein the particular RPC service is configured to execute remote procedure calls sent over the first transport connection; storing the first information in a cache; in response to receiving from the client a second RPC request to close the first transport connection to the particular RPC service, delaying the closing of the first transport connection to the particular RPC service; receiving from the client a third RPC request to open a new transport connection to the particular RPC service; determining whether there is any open transport connection to the particular RPC service by examining the contents of the cache; and if it is determined that the first transport connection is still open, then performing the steps of; retrieving the first information from the cache; and responding to the third RPC request by performing the steps of; creating a second RPC response that includes the first information; and sending the second RPC response to the client. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28)
-
-
29. A non-transitory computer-readable volatile or non-volatile medium storing one or more sequences of instructions for optimization of Remote Procedure Call (RPC) communications, which instructions, when executed by one or more processors, cause the one or more processors to perform steps comprising:
-
sending a first RPC request to open a first transport connection to a RPC service; receiving a first RPC response from the RPC service, wherein the first RPC response includes first information which indicates that the first transport connection to the RPC service is open; wherein the RPC service is configured to execute remote procedure calls sent over the first transport connection; storing the first information in a cache; in response to a second RPC request to close the first transport connection, delaying the closing of the first transport connection to the RPC service; receiving a third RPC request to open a new transport connection to the RPC service; determining whether there is any open transport connection to the RPC service; and if it is determined that the first transport connection is still open, then performing the steps of; retrieving the first information from the cache; and responding to the third RPC request by creating and sending a second RPC response that includes the first information. - View Dependent Claims (30, 31)
-
-
32. A non-transitory computer-readable volatile or non-volatile medium storing one or more sequences of instructions for optimization of Remote Procedure Call (RPC) communications, which instructions, when executed by one or more processors, cause the one or more processors to perform steps comprising:
-
receiving from a client a first RPC request to open a first transport connection to a particular RPC service of one or more RPC services, wherein access to the one or more RPC services is managed by a remote server that is communicatively connected by a slow communication link; sending the first RPC request to the remote server; receiving a first RPC response from the remote server, wherein the first RPC response includes first information which identifies the first transport connection and indicates that the first transport connection to the particular RPC service is open; wherein the particular RPC service is configured to execute remote procedure calls sent over the first transport connection; storing the first information in a cache; in response to receiving from the client a second RPC request to close the first transport connection to the particular RPC service, delaying the closing of the first transport connection to the particular RPC service; receiving from the client a third RPC request to open a new transport connection to the particular RPC service; determining whether there is any open transport connection to the particular RPC service by examining the contents of the cache; and if it is determined that the first transport connection is still open, then performing the steps of; retrieving the first information from the cache; and responding to the third RPC request by performing the steps of; creating a second RPC response that includes the first information; and sending the second RPC response to the client. - View Dependent Claims (33, 34, 35, 36)
-
Specification