In a network having transaction acceleration, for an accelerated
transaction, a client directs a request to a client-side transaction
handler that forwards the request to a server-side transaction handler,
which in turn provides the request, or a representation thereof, to a
server for responding to the request. The server sends the response to
the server-side transaction handler, which forwards the response to the
client-side transaction handler, which in turn provides the response to
the client. Transactions are accelerated by the transaction handlers by
storing segments of data used in the transactions in persistent segment
storage accessible to the server-side transaction handler and in
persistent segment storage accessible to the client-side transaction
handler. When data is to be sent between the transaction handlers, the
sending transaction handler compares the segments of the data to be sent
with segments stored in its persistent segment storage and replaces
segments of data with references to entries in its persistent segment
storage that match or closely match the segments of data to be replaced.
The receiving transaction store reconstructs the data sent by replacing
segment references with corresponding segment data from its persistent
segment storage, requesting missing segments from the sender as needed.
The transaction accelerators could handle multiple clients and/or
multiple servers and the segments stored in the persistent segment stores
can relate to different transactions, different clients and/or different
servers. Persistent segment stores can be prepopulated with segment data
from other transaction accelerators.