Maximum receive capacity specifying query processing client/server system replying up to the capacity and sending the remainder upon subsequent request
First Claim
1. In a client/server system comprising at least one client connected via a network to a server, a method for sending information from the server to a particular client, the method comprising:
- receiving a request from the particular client for information of interest, said request specifying a maximum amount of information that can be received by said particular client at one time;
while the maximum amount of the information that can be received by said particular client has not been reached, retrieving some amount of the information for sending to the particular client;
if the maximum amount of the information that can be received by said particular client has been reached while more of the information remains for said request, storing data describing a context for the request, said context storing information at the server describing said request for information of interest to the particular client, the maximum amount of information that can be received by said particular client at one time, and how much information has already been retrieved by the particular client, for facilitating processing of subsequent requests by the particular client for retrieving additional portions of the information of interest which have yet to be retrieved by the particular client; and
sending to the client the information retrieved in response to said request and any subsequent requests.
1 Assignment
0 Petitions
Accused Products
Abstract
An Interactive Television (ITV) Client/Server system comprises one or more Clients (e.g., set top boxes or "STBs") connected to a Server module, via a Broadband Communication Network, is described. The system provides a generic mechanism for deciding how much or how little data is to be sent in response to a request from a Client. Specifically, each Client is allowed to describe ahead of time how much memory (approximately or exactly) it is allowing for the query result. This is communicated by the Client as part of the query itself. Regardless of what other activity the Client undertakes, the server maintains the context of the original query, until the Client terminates the connection. In a similar manner, when other simultaneous queries are open, the context is maintained for each query until the connection is dropped (or the query terminates). The Client can ask for more data (i.e., rows) on any open query. To optimize operation of the environment, requests from the Clients (i.e., queries) are de-multiplexed down to a set of worker threads, available at the server, which carry out the actual work of query processing. Because of this approach, a request for more data from a Client (i.e., set top box) can "land" on any worker thread. This gives queries the ability to "jump" from one thread of execution to another. In this manner, a finite number of threads may be employed to service a large query pool, with maximum throughput.
-
Citations
30 Claims
-
1. In a client/server system comprising at least one client connected via a network to a server, a method for sending information from the server to a particular client, the method comprising:
-
receiving a request from the particular client for information of interest, said request specifying a maximum amount of information that can be received by said particular client at one time; while the maximum amount of the information that can be received by said particular client has not been reached, retrieving some amount of the information for sending to the particular client; if the maximum amount of the information that can be received by said particular client has been reached while more of the information remains for said request, storing data describing a context for the request, said context storing information at the server describing said request for information of interest to the particular client, the maximum amount of information that can be received by said particular client at one time, and how much information has already been retrieved by the particular client, for facilitating processing of subsequent requests by the particular client for retrieving additional portions of the information of interest which have yet to be retrieved by the particular client; and sending to the client the information retrieved in response to said request and any subsequent requests. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. In a database system comprising at least one client connected via a network to at least one server, a method for processing a query from a particular client, said query specifying fetching of data records, the method comprising:
-
receiving an initial request comprising a query from the particular client for fetching data records, said query specifying a query condition which data records must meet in order to be fetched, said client able to receive a maximum number of data records at one time; fetching data records meeting said query condition; sending to the particular client an initial set of data records from said fetched data records, said initial set having a number of data records equal to or less than said maximum number of data records; suspending processing of the query until a subsequent request for more data records satisfying the query is received from the particular client, said suspending step maintaining information describing the query in process; receiving such a subsequent request from the particular client for more data records; and sending to the particular client a subsequent set of data records from said fetched data records, said subsequent set having a number of data records equal to or less than said maximum number of data records. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30)
-
Specification