System and method for performing remote requests with an on-line service network
First Claim
1. A remote request system for creating and monitoring remote requests sent to an on-line network, comprising:
- a plurality of client applications executing in a computer, each of said client applications having at least one execution thread, each of said execution threads capable of generating multiple pending remote requests;
a data structure resident in said computer, said data structure containing a plurality of identifiers that uniquely identify each of said remote requests;
a client request layer in communication with said client applications, said client request layer executing in said computer, said client applications invoking said client request layer to generate said remote requests whereby said client request layer combines said identifiers with said remote requests to create a plurality of remote messages for each of said remote requests; and
a client transport layer in communication with said request layer and an on-line network via a wide area network, said client transport layer programmed to create a multiplexed data stream, said multiplexed data stream containing alternating portions of said request messages thereby permitting said plurality of client applications to concurrently communicate with said on-line network.
1 Assignment
0 Petitions
Accused Products
Abstract
A remote request system and method monitors and controls the execution of remote requests on an on-line services network. When a remotely located client sends a remote request to the on-line service network, the remote request system monitors the remote request while returning operating control back to the client while the remote request remains pending in the on-line service network. The remote request system also provides for the concurrent execution of multiple pending remote requests, provides status information about each remote request, provides for the cancellation of a pending remote request and optimizes the use of memory. In addition, the remote request system dynamically allocates memory when data blocks of unknown size are transmitted over the on-line services network.
-
Citations
14 Claims
-
1. A remote request system for creating and monitoring remote requests sent to an on-line network, comprising:
-
a plurality of client applications executing in a computer, each of said client applications having at least one execution thread, each of said execution threads capable of generating multiple pending remote requests;
a data structure resident in said computer, said data structure containing a plurality of identifiers that uniquely identify each of said remote requests;
a client request layer in communication with said client applications, said client request layer executing in said computer, said client applications invoking said client request layer to generate said remote requests whereby said client request layer combines said identifiers with said remote requests to create a plurality of remote messages for each of said remote requests; and
a client transport layer in communication with said request layer and an on-line network via a wide area network, said client transport layer programmed to create a multiplexed data stream, said multiplexed data stream containing alternating portions of said request messages thereby permitting said plurality of client applications to concurrently communicate with said on-line network. - View Dependent Claims (2, 3, 4, 5, 6, 7)
an on-line network connected to said wide area network, said on-line network further comprising;
a plurality of application servers, said plurality of application servers running a plurality of service applications; and
a service transport layer in communication with said wide area network and said application servers, said service transport layer executing in said on-line network, said service transport layer programmed to demultiplex said multiplexed data stream to reconstruct said request messages, and to route said reconstructed request messages to said service applications.
-
-
4. The remote request system of claim 3, wherein said on-line network further comprises:
a service request layer in communication with said service transport layer and said server applications, said service request layer programmed to reconstruct said request messages into said remote requests, said service request layer storing said reconstructed remote requests in a service data structure whereby said service applications access said service data structure to obtain and execute said remote requests.
-
5. The remote request system of claim 4, wherein said service request layer is responsive to the execution results of said service applications, said service request layer generating a plurality of response messages, said response messages containing the identifiers that uniquely identify said corresponding remote request.
-
6. The remote request system of claim 5, wherein said service transport layer receives said response messages and multiplexes said response messages for transmission via said wide area network to said client computers, said transport layer thereby allowing said client applications to concurrently receive data from multiple service applications.
-
7. The remote request system of claim 6, wherein said transport layer multiplexes said remote messages by combining variable-length portions of said remote messages, said variable-length portions being varied from application server to application server to allocate different amounts of bandwidth to different service applications.
-
8. A method for processing remote requests, in an on-line network having a plurality of interconnected servers, said interconnected servers containing a plurality of on-line services that execute a plurality of remote requests, said method comprising:
-
receiving a plurality of input data streams from a plurality of remote computers, each of said remote computers executing a plurality of client applications, each of said client applications having at least one execution thread, each of said execution threads capable of generating multiple remote requests;
demultiplexing said input data streams to create a plurality of remote messages;
separating said remote messages and routing said remote messages to said service application;
identifying said remote request specified in said remote messages;
directing said service application to execute said remote requests to generate a response; and
routing said response back to said remote computers.
-
-
9. In a computer, a method for creating and monitoring remote requests sent to an interactive, on-line services network, comprising:
-
generating multiple pending remote requests in a plurality of client applications, each of said client applications having at least one execution thread, each of said execution threads capable of generating multiple remote requests;
creating a plurality of identifiers that uniquely identify each of said remote requests;
combining said identifiers with said remote requests to create a plurality of remote messages for each of said remote requests; and
multiplexing said remote requests to permit said plurality of client applications to concurrently communicate with said on-line network via a wide area network. - View Dependent Claims (10)
-
-
11. In a distributed on-line network, the method of processing remote requests comprising:
-
providing an on-line network connected to said wide area network, said on-line network having a plurality of application servers, said plurality of application servers running a plurality of service applications;
demultiplexing a multiplexed input data stream to reconstruct a plurality of request messages;
combining said request messages to reconstruct at least one remote request comprising a plurality of identifiers including service interface, method and method instance identifiers, wherein the plurality of identifiers are used by a client request layer to monitor the at least one remote request; and
routing said reconstructed remote requests to said service applications. - View Dependent Claims (12, 13, 14)
using said identifiers to uniquely identify the type of said remote request;
storing said plurality of identifiers into a request object; and
executing said remote request identified in said request object.
-
Specification