Rules-based transaction prefetching using connection end-point proxies
First Claim
1. A method for accelerating a client-server transaction, the method comprising:
- (a) receiving a first message from a client application;
(b) comparing the first message with a set of rules;
(c) forwarding the first message and at least one additional message to a server application in response to the first message matching at least one of the set of rules;
(d) receiving from the server application at least one response message corresponding with the additional message;
(e) storing in a message cache the response message corresponding with the additional message;
(f) receiving a second message from the client application;
(g) determining if the second message is similar to the additional message; and
(h) forwarding the response message stored in the message cache to the client application in response to the second message being similar to the additional message.
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.
180 Citations
30 Claims
-
1. A method for accelerating a client-server transaction, the method comprising:
-
(a) receiving a first message from a client application;
(b) comparing the first message with a set of rules;
(c) forwarding the first message and at least one additional message to a server application in response to the first message matching at least one of the set of rules;
(d) receiving from the server application at least one response message corresponding with the additional message;
(e) storing in a message cache the response message corresponding with the additional message;
(f) receiving a second message from the client application;
(g) determining if the second message is similar to the additional message; and
(h) forwarding the response message stored in the message cache to the client application in response to the second message being similar to the additional message. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. 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 is consistent with a previous message sent to the server application;
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 a set of rules;
generating at least one additional message in response to the message matching at least one rule; and
forwarding the additional message to the server application. - View Dependent Claims (11, 12, 13, 14, 15)
-
-
16. 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; and
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. - View Dependent Claims (17, 18, 19, 20, 21, 22)
-
-
23. 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 rule store adapted to store at least one rule, wherein the rule includes a rule element specifying an attribute of a set of at least one message from the client application and an action element specifying at least a portion of an additional message associated with the set of at least one message; and
a match engine adapted to compare a message received from the client application via the first network interface with the rule element of the rule store, to generate the additional message from the action element in response to the message from the client application matching the attribute of the rule element, and to send the additional message to the server application. - View Dependent Claims (24, 25, 26)
-
-
27. 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; and
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. - View Dependent Claims (28, 29, 30)
-
Specification