System and method for performing remote requests with an on-line service network
First Claim
1. A remote request system that dynamically allocates memory for a data block of unknown size received from an on-line network, said remote request system comprising:
- at least one client application executing in a computer, said client application capable of requesting at least one remote request for a data block of unknown size;
a data structure resident in said computer, said data structure containing a dynamic object that references a plurality of data buffers; and
a client request layer in communication with said client application, said data structure and a wide area network, said client request layer programmed to create said dynamic object in response to said remote request for a data block of unknown size, said client request layer further programmed to send said remote request via a wide area network to an 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
19 Claims
-
1. A remote request system that dynamically allocates memory for a data block of unknown size received from an on-line network, said remote request system comprising:
-
at least one client application executing in a computer, said client application capable of requesting at least one remote request for a data block of unknown size;
a data structure resident in said computer, said data structure containing a dynamic object that references a plurality of data buffers; and
a client request layer in communication with said client application, said data structure and a wide area network, said client request layer programmed to create said dynamic object in response to said remote request for a data block of unknown size, said client request layer further programmed to send said remote request via a wide area network to an on-line network. - View Dependent Claims (2, 3, 4, 5, 6)
a plurality of interconnected servers that execute at least one on-line service, said on-line service responsive to said remote request by locating said data block; and
a service request layer in communication with said on-line service and said wide area network, said service request layer programmed to receive said remote request and route said remote request to said on-line service, said service request layer further programmed to subdivide said data block located by said on-line service into a plurality of response messages, said response messages containing incremental data segments of said data block.
-
-
3. The remote request system of claim 2 wherein said client request layer further comprises a dynamic routine wherein said dynamic routine receives said response messages and stores said incremental data segments in said data buffers referenced by said dynamic object.
-
4. The remote request system of claim 3 wherein said client request layer further comprises a memory allocation routine in communication with said dynamic routine, said memory allocation routine locating a continuous section of memory in which to store said data buffers.
-
5. The remote request system of claim 3, wherein said client application is capable of accessing at least one of said data buffers before said client request layer completely receives all of said data block of unknown size from said on-line network.
-
6. The remote request system of claim 5, wherein said client request layer is capable of deleting at least one of said plurality of data buffers before completely receiving said data block of unknown size from said on-line network.
-
7. A remote request layer in a local computer that allocates memory for a data block of unknown size received from a remote on-line services network comprising:
-
a data structure resident in said computer, said data structure containing a dynamic object that references a plurality of data buffers;
a dynamic routine in communication with said data structure and said on-line network, said dynamic routine executing in said computer, wherein said dynamic routine is programmed to receive a plurality of messages from said on-line network, each message containing an incremental data segment of said data block of unknown size, wherein said dynamic routine creates said data buffers to store said incremental data segments, and links said data buffers to said dynamic object; and
a memory allocation routine in communication with said dynamic routine, said memory allocation routine executing in said computer, said memory allocation routine locating a continuous section of memory in which to store said data buffers and wherein said dynamic routine transfers said data buffers to said continuous section of memory. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. In a computer, a method for dynamically allocating memory for response to remote requests sent to an interactive, on-line services network, comprising:
-
sending to the on-line network via a wide area network at least one remote request for a data block of unknown size;
receiving response messages that include data from the data block;
creating a dynamic object that identifies memory reserved for storing the response messages and also identifies a subset of the reserved memory that is committed to storage of the response messages; and
adjusting sizes of the reserved and committed memories in response to an accumulated size of the data received in the response messages. - View Dependent Claims (14, 15, 16, 17, 18, 19)
creating a plurality of data buffers to hold said incremental data segments; and
linking said data buffers to said dynamic object.
-
-
15. The method of claim 14 wherein said step of creating a plurality of data buffers comprises allocating a first continuous section of memory in which to store said data buffers.
-
16. The method of claim 15 wherein said step of creating a plurality of data buffers comprises allocating a second continuous section of memory if said first continuous section of memory cannot accommodate all of said data buffers.
-
17. The method of claim 16 wherein said step of linking said data buffers to said dynamic object includes linking said second continuous section of memory with said dynamic object.
-
18. The method of claim 14 further comprising the step of accessing at least one of said data buffers before receiving all of said response messages from said on-line network.
-
19. The method of claim 18 further comprising the step of deleting at least one of said plurality of data buffers before receiving all of said response messages from said on-line network.
Specification