IL185950A

Rules-based transaction prefetching using connection end-point proxies

Abstract

This record has no abstract on file.

IL185950A, drawing sheet 1
Sheet 1 of 12

Term

No projected expiry on record.

  1. Priority
  2. Filed
  3. Published
  4. Today

29 claims: 5 independent, 24 dependent

  1. 1
    WHAT IS CLAIMED IS: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.
  2. 8
    9. The method of claim 8, further comprising:receiving an acknowledgment message from the server application, wherein the acknowledment message-is a response to the first message;analyzing a status code of the acknowledgment message;discarding the acknowledgment message in response to the status code ׳ indicating a success condition;and forwarding a response message indicating a failure condition to the client application following the receipt of the second message from the client application in response to the status code of the acknowledment message indicating a failure condition.
  3. 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.
  4. 10
    11. The method of claim 10, wherein the previous message was generated by a server-side proxy in response to at least one additional previous message matching the set of rules.
  5. 13
    14. The method of claim 13, further comprising:determining if the second message is a response to the message from the client application;and forwarding the second message to the client application in response to a determination that the second message is a response to the message from the client application.
  6. 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.
  7. 16
    17. The method of claim 16, further comprising: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.
  8. 17
    18. The method of claim 17, further comprising:receiving an acknowledgment message from the server application, wherein the acknowledment message is a response to the message from the client application;analyzing a status code of the acknowledgment message;discarding the acknowledgment message in response to the status code indicating a success condition;receiving a second message from the client application directed to the server application;and forwarding a response message indicating a failure condition to the client application following the receipt of the second message from the client application in response to the status code of the acknowledment message indicating a failure condition.
  9. 21
    22. The method of claim 21, further comprising:removing at least a portion of the data from the results cache in response to sending the response message including at least a portion of the data from the results cache to the client application;and sending an unthrottling message to the server-side proxy in response to removing at least a portion of the data from the results cache.
  10. 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.
  11. 23
    24. The network proxy of claim 23, further comprising:an invalidation checker adapted to determine if the second message invalidates at least.a portion of the results cache included in a network proxy associated with the client application and to send a cache invalidation message to the network proxy associated with the client application specifying that the portion of the results cache should be invalidated.
  12. 25
    26. The network proxy of claim 25, further comprising logic adapted to:determine if the second message is a response to a message from the client application;and forward the second message to the client application in response to a determination that the second message is a response to the message received from the client application.
  13. 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.
  14. 27
    28. The network proxy of claim 27, further comprising logic adapted to:receive a second message from a server-side proxy;determine if the second message includes additional data prefetched by the server-side proxy or a response to a previous message from the client application;store the additional data in the results cache in response to a determination that the additional data was prefetched by the server-side proxy;and send the second message to the client application in response to a determination that the additional data is a response to the previous message from the client application.
  15. 29
    30. The network proxy of claim 29, further comprising logic adapted to:2 receive an acknowledgment message from the server application, wherein the 3 acknowledgment message is a response to the message received from the client application;4 analyze a status code of the acknowledgment message;5 discard the acknowledgment message in response to the status code indicating 6 a success condition;' and 7 forward a response message indicating a failure condition to the client 8 application following the receipt of a subsequent message from the client application in 9 response to the status code of the acknowledment message indicating a failure condition.