Rules-based transactions prefetching using connection end-point proxies
First Claim
1. A method for accelerating a client-server transaction, the method comprising:
- receiving, by a proxy, a message from a client application directed to a server application;
determining, by the proxy, if the message is consistent with a previous message sent to the server application, wherein the message is consistent with the previous message if the message can be forwarded to the server application without introducing an error and wherein the previous message was generated by the proxy;
sending the message to the server in response to a determination that the message is consistent with the previous message sent to the server application;
comparing the message with the set of rules;
generating at least one additional message in response to the message matching at least one rule, wherein the additional message is predicted by the proxy based on the set of rules;
forwarding the additional message to the server application; and
generating a preacknowledgment message and forwarding the preacknowledgment message to the client application in response to the determination that the message does not correspond with the data in the results cache.
19 Assignments
0 Petitions
Accused Products
Abstract
Network proxies reduce server latency in response to series of requests from client applications. Network proxies intercept messages clients and a server. Intercepted client requests are compared with rules. When client requests match a rule, additional request messages are forwarded to the server on behalf of a client application. In response to the additional request messages, the server provides corresponding response messages. A network proxy intercepts and caches the response messages. Subsequent client requests are intercepted by the network application proxy and compared with the cached messages. If a cached response message corresponds with a client request message, the response message is returned to the client application immediately instead of re-requesting the same information from the server. A server-side network proxy can compare client requests with the rules and send additional request messages. The corresponding response messages can be forwarded to a client-side network proxy for caching.
-
Citations
17 Claims
-
1. A method for accelerating a client-server transaction, the method comprising:
-
receiving, by a proxy, a message from a client application directed to a server application; determining, by the proxy, if the message is consistent with a previous message sent to the server application, wherein the message is consistent with the previous message if the message can be forwarded to the server application without introducing an error and wherein the previous message was generated by the proxy; sending the message to the server in response to a determination that the message is consistent with the previous message sent to the server application; comparing the message with the set of rules; generating at least one additional message in response to the message matching at least one rule, wherein the additional message is predicted by the proxy based on the set of rules; forwarding the additional message to the server application; and generating a preacknowledgment message and forwarding the preacknowledgment message to the client application in response to the determination that the message does not correspond with the data in the results cache. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method for accelerating a client-server transaction, the method comprising:
-
receiving a message from a client application directed to a server application; determining if the message corresponds with data in a results cache; sending the message to the server application in response to a determination that the message does not correspond with the data in the results cache; generating a preacknowledgment message and forwarding the preacknowledgment message to the client application in response to the determination that the message does not correspond with the data in the results cache; sending a response message to the client application in response to a determination that the message does correspond with at least a portion of the data in the results cache, wherein the response message includes at least a portion of the data from the results cache; in response to sending the response message to the client application, removing data from the results cache that was included in the response message; determining if the message is inconsistent with at least a portion of a results cache storing a results message corresponding with the previous message sent to the server application in response to a determination that the message is inconsistent with previous messages sent to the server application; and invalidating the portion of the results cache in response to a determination that the message is inconsistent with the portion of a results cache. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A network proxy adapted to accelerate a client-server transaction, the network proxy comprising:
-
a first network interface adapted to exchange messages with a client application; a second network interface adapted to exchange messages with a server application; a results cache adapted to store data including response messages prefetched on behalf of the client application; and logic adapted to; determine if a message received from a client application and directed to a server application corresponds with data in a results cache; send the message to the server application in response to a determination that the message does not correspond with the data in the results cache; generate a preacknowledgment message and forward the preacknowledgment message to the client application in response to the determination that the message does not correspond with the data in the results cache; send the response message stored in the results cache to the client application in response to a determination that the message does correspond with at least a portion of the data in the results cache; in response to sending the response message to the client application, remove data from the results cache that was included in the response message; determine if the message is inconsistent with at least a portion of a results cache storing a results message corresponding with the previous message sent to the server application in response to a determination that the message is inconsistent with previous messages sent to the server application; and invalidate the portion of the results cache in response to a determination that the message is inconsistent with the portion of a results cache. - View Dependent Claims (16, 17)
-
Specification