Multiple procedure calls in a single request
First Claim
1. In a system that includes a client computer and a server computer connected to each other by a network, the client computer having a remote procedure call handler for sending calls to the server computer, a method for combining multiple calls from the client computer to the server computer into a single request during runtime and prior to transmitting the request onto the network so as to reduce the number of requests that would otherwise be transmitted on the network, the method comprising, at the client computer:
- initializing a request associated with application code operating at the client computer;
generating information identifying a first call to the server computer;
adding the information identifying the first call to the request;
by the remote procedure call handler, determining that deferring execution of the first call is permitted based on an indicator included in the first call, the indicator having been set at runtime by the application code operating at the client computer to indicate whether deferring execution of the first call is permitted;
based on the determination that deferring execution of the first call is permitted, waiting for information identifying at least one other call to the server computer to be generated without yet transmitting the request and without the first call having been transmitted between nodes of the network;
iteratively, until it is determined that deferring execution of any next call is not permitted based on an indicator included in said any next call, the indicator included in said any next call having been set at runtime by the application code operating at the client computer to indicate whether deferring execution of said any next call is permitted;
generating information identifying a next call;
by the remote procedure call handler, adding the information identifying the next call to the request without the next call having been transmitted between nodes of the network; and
by the remote procedure call handler, determining whether deferring execution of the next call is permitted based on the indicator included in the next call; and
upon determining that deferring execution of any next call is not permitted, transmitting the request from the client computer to the server computer over the network.
2 Assignments
0 Petitions
Accused Products
Abstract
Calls to a server computer in a system that includes a client computer and a server computer connected to each other by a network are processed at the client computer by receiving information identifying first and second calls to the server computer. This information is combined to form a request that is then transmitted to the server computer over the network.
158 Citations
29 Claims
-
1. In a system that includes a client computer and a server computer connected to each other by a network, the client computer having a remote procedure call handler for sending calls to the server computer, a method for combining multiple calls from the client computer to the server computer into a single request during runtime and prior to transmitting the request onto the network so as to reduce the number of requests that would otherwise be transmitted on the network, the method comprising, at the client computer:
-
initializing a request associated with application code operating at the client computer;
generating information identifying a first call to the server computer;
adding the information identifying the first call to the request;
by the remote procedure call handler, determining that deferring execution of the first call is permitted based on an indicator included in the first call, the indicator having been set at runtime by the application code operating at the client computer to indicate whether deferring execution of the first call is permitted;
based on the determination that deferring execution of the first call is permitted, waiting for information identifying at least one other call to the server computer to be generated without yet transmitting the request and without the first call having been transmitted between nodes of the network;
iteratively, until it is determined that deferring execution of any next call is not permitted based on an indicator included in said any next call, the indicator included in said any next call having been set at runtime by the application code operating at the client computer to indicate whether deferring execution of said any next call is permitted;
generating information identifying a next call;
by the remote procedure call handler, adding the information identifying the next call to the request without the next call having been transmitted between nodes of the network; and
by the remote procedure call handler, determining whether deferring execution of the next call is permitted based on the indicator included in the next call; and
upon determining that deferring execution of any next call is not permitted, transmitting the request from the client computer to the server computer over the network. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 26)
at the server computer, processing the first call; and
at the server computer, associating results of processing the first call with the identifier.
-
-
6. The method of claim 5, further comprising:
-
including the identifier in the information identifying the next call that is subsequent to the first call;
at the server computer, using the identifier to obtain the results of processing the first call; and
at the server computer, processing the next call that is subsequent to the first call using the results of processing the first call.
-
-
7. The method of claim 1, wherein neither the information identifying the first call nor the information identifying the next call that is subsequent to the first call is transmitted from the client computer, at which it was generated, prior to transmitting the request to the server computer over the network.
-
8. The method of claim 1, wherein the first call is produced by a first process or subprocess and the next call that is subsequent to the first call is produced by a second process or subprocess.
-
26. The method of claim 1, wherein setting the indicator included in the first call is performed in response to determining that the results of processing the first call by the server computer can be delayed.
-
9. A computer system having a remote procedure call handler for combining multiple calls from a client computer to a server computer into a single request during runtime and prior to transmitting the request onto a network that connects the client computer to the server computer so as to reduce the number of requests that would otherwise be transmitted on the network, comprising:
-
a server computer;
a network connected to the server computer; and
a client computer connected to the network, the client computer comprising;
means for initializing a request associated with code operating at the client computer;
means for generating information identifying a first call to the server computer;
means for adding the information identifying the first call to the request;
means, associated with the remote procedure call handler, for determining whether deferring execution of the first call is permitted based on an indicator included in the first call, the indicator having been set at runtime by the application code operating at the client computer to indicate whether deferring execution of the first call is permitted;
means for waiting, based on a determination that deferring execution of the first call is permitted, for information identifying at least one other call to the server computer to be generated without yet transmitting the request and without the first call having been transmitted between nodes of the network;
means for iteratively performing the following steps, until it is determined that deferring execution of any next call is not permitted based on an indicator included in said any next call, the indicator included in said any next call having been set at runtime by the application code operating at the client computer to indicate whether deferring execution of said any next call is permitted;
generating information identifying a next call;
by the remote procedure call handler, adding the information identifying the next call to the request without the next call having been transmitted between nodes of the network; and
by the remote procedure call handler, determining whether deferring execution of the next call is permitted based on the indicator included in the next call; and
means for transmitting the request from the client computer to the server computer over the network upon determining that deferring execution of any next call is not permitted. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 27)
means for processing the first call; and
means for associating results of processing the first call with the identifier.
-
-
14. The system of claim 13, wherein the client computer further comprises means for including the identifier in the information identifying the next call that is subsequent to the first call, and wherein the server computer further comprises:
-
means for using the identifier to obtain the results of processing the first call; and
means for processing the next call that is subsequent to the first call using the results of processing the first call.
-
-
15. The system of claim 9, wherein neither the information identifying the first call nor the information identifying the next call that is subsequent to the first call is transmitted from the client computer, at which it was generated, prior to transmitting the request to the server computer over the network.
-
16. The system of claim 9, wherein the first call is produced by a first process or subprocess and the next call that is subsequent to the first call is produced by a second process or subprocess.
-
27. The computer system of claim 9, wherein setting the indicator included in the first call is performed in response to determining that the results of processing the first call by the server computer can be delayed.
-
17. A computer-readable storage medium, comprising instructions for use in a computer system for combining multiple calls from a client computer to a server computer into a single request during runtime and prior to transmitting the request onto a network that connects the client computer to the server computer so as to reduce the number of requests that would otherwise be transmitted on the network, the instructions causing the client computer to:
-
initialize a request associated with application code operating at the client computer;
obtain information identifying a first call to the server computer, the information identifying the first call having been generated by the client computer;
add the information identifying the first call to the request;
using a remote procedure call handler of the client computer, determine that deferring execution of the first call is permitted based on an indicator included in of the first call, the indicator having been set at runtime by application code operating at the client computer to indicate whether deferring execution of the first call is permitted;
wait, based on the determination that deferring execution of the first call is permitted, for information identifying at least one other call to the server computer to be generated without yet transmitting the request and without the first call having been transmitted between nodes of the network;
iteratively, until it is determined that deferring execution of any next call is not permitted based on an indicator included in said any next call, the indicator included in said any next call having been set at runtime by application code operating at the client computer to indicate whether deferring execution of said any next call is permitted;
obtain information identifying a next call;
using the remote procedure call handler, add the information identifying the next call to the request without the next call having been transmitted between nodes of the network; and
using the remote procedure call handler, determine whether deferring execution of the next call is permitted based on the indicator included in the next call; and
upon determining that deferring execution of any next call is not permitted, transmit the request from the client computer to the server computer over the network. - View Dependent Claims (18, 19, 20, 21, 22, 28, 29)
-
-
23. A computer-readable storage medium, comprising instructions for use in a computer system for enabling a server computer to receive multiple calls from a client computer in a single request so as to reduce the number of requests that would otherwise be transmitted on the network, the instructions causing the server computer to:
-
receive from the client computer over a network a request that includes information identifying a first call to the server computer, information identifying a second call to the server computer, and an identifier related to results of the first call, wherein;
the information identifying the first call has been generated at the client computer, and execution of the first call has been deferred in response to a determination that deferral of the execution is permitted based on an indicator included in the first call, the indicator having been set at runtime by application code operating at the client computer to indicate whether deferring execution of the first call is permitted;
the information identifying the second call has been generated at the client computer and without the first call having been transmitted between nodes of the network;
the information identifying the first call and the information identifying the second call have been combined at the client computer to form the request; and
the request has been transmitted to the server computer in response to a determination by a remote procedure call handler at the client computer that deferral of the second call is not permitted based on an indicator included in the second call, the indicator included in the second call having been set at runtime by application code operating at the client computer to indicate whether deferring execution of said second call is permitted. - View Dependent Claims (24, 25)
use the identifier to obtain the results of processing the first call; and
process the second call using the results.
-
Specification