Claims
- 1. A network transaction accelerator for accelerating transactions involving data transfer between at least one client and at least one server over a network, wherein a transaction involves a request and at least one response in response to the request, the network transaction accelerator comprising:
a client-side engine coupled to a client; a server-side engine, coupled to the server; a transaction predictor that is configured to predict, based on past transactions, which transactions are likely to occur in the future between the client and server; wherein the client-side engine comprises:
a) an input for receiving indications of requests from the client; b) a transaction buffer for storing results of predicted transactions received from the server or the server-side engine ahead of receipt of a corresponding request; and c) a collator for collating the requests from the client with the stored results or received results, wherein a request and a response that are matched by the collator are identified and the matched response is provided to the client in response to the matched request; and wherein the server-side engine comprises:
a) an input for receiving indications of transactions including requests and responses; and b) an output for conveying requests to the server in response to actual transactions or predicted transactions.
- 2. The network transaction accelerator of claim 1, wherein the transaction predictor is within the server-side engine.
- 3. The network transaction accelerator of claim 1, wherein the transaction predictor is within the client-side engine, the client-side engine further comprising logic to transmit one or more messages to the server-side engine indicating which transactions are being predicted and the server-side engine further comprising logic to receive the one or more messages and generate requests corresponding to predicted transactions and convey those requests to the server in advance of receipt of requests corresponding to requests of predicted transactions.
- 4. The network transaction accelerator of claim 1, further comprising as part of the client-side engine a first persistent segment storage and a first segment encoder and as part of the server-side engine a second persistent segment storage and a second segment encoder.
- 5. The network transaction accelerator of claim 4, further comprising means for conveying segment mappings between the first persistent segment storage and the second persistent segment storage.
- 6. The network transaction accelerator of claim 1, further comprising:
a transaction mapping table that maps transaction identifiers of actual requests and transaction identifiers of synthetic requests to mapped transaction identifiers, such that responses to requests are uniquely identifiable by their mapped transaction identifiers even when transaction identifiers of synthetic requests might overlap with transaction identifiers of actual requests; and a transaction mapper that maps transaction to a mapped transaction identifier and replaces the transaction's identifier as received by the network transaction accelerator with the mapped transaction identifier for received requests that are forwarded toward the server and replaces the mapped transaction identifier with the replaced transaction identifier for responses that are returned toward the client.
- 7. The network transaction accelerator of claim 1, wherein the transaction predictor comprises:
a prediction database comprising records of past transactions and relationships among past transactions; and a predictor module that determines, from a received transaction and contents of the prediction database, which transactions are likely to occur in the future.
- 8. The network transaction accelerator of claim 7, wherein the predictor module operates using a Markov model.
- 9. The network transaction accelerator of claim 7, wherein the predictor module operates using heuristics.
- 10. The network transaction accelerator of claim 7, wherein the predictor module takes into account impact on the network of results of predicted transactions in determining a measure of aggressiveness for predictions.
CROSS-REFERENCES TO RELATED APPLICATIONS
[0001] This application claims priority from co-pending U.S. Provisional Patent Application No. 60/462,990 entitled “Transport-Level Network Accelerator” filed Apr. 14, 2003 and is incorporated by reference herein for all purposes.
[0002] The present disclosure is related to the following commonly assigned co-pending U.S. Patent Applications:
[0003] U.S. patent application Ser. No. 10/285,315 entitled “Transaction Accelerator for Client-Server Communication Systems” (hereinafter “McCanne I”) filed on Oct. 30, 2002 and is incorporated by reference herein for all purposes;
[0004] U.S. patent application Ser. No. 10/285,330 entitled “Content-Based Segmentation Scheme for Data Compression in Storage and Transmission Including Hierarchical Segment Representation” (hereinafter “McCanne II”) filed on Oct. 30, 2002 and is incorporated by reference herein for all purposes; and
[0005] U.S. patent application Ser. No. 10/______ entitled “Cooperative Proxy Auto-Discovery and Connection Interception” (hereinafter “McCanne IV”) filed concurrently herewith and is incorporated by reference herein for all purposes.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60462990 |
Apr 2003 |
US |