Methods, apparatus and computer programs for data communication efficiency
First Claim
1. A method for data communication between a first node and a second node of a data processing network, the method comprising:
- deriving a token from data contents of a first outgoing message sent to a first node;
after deriving the token for the first outgoing message,sending the first outgoing message and the derived token from the first node to a second node,storing the token in cache storage at the first node and in cache storage at the second node, andstoring data contents of the first outgoing message in cache storage at the second node without necessarily storing corresponding data contents of the first outgoing message in cache storage at the first node; and
prior to sending a second outgoing message from the first node to the second node,deriving a token from data contents of the second outgoing message,comparing the token derived from data contents of the second outgoing message with tokens from several different previous outgoing messages held in cache storage at the first node,comparing the token derived from data contents of the second outgoing message with tokens previously sent to the second node, andin response to comparing, identifying a matching token and sending the matching token to the second node without necessarily sending the data contents of the second outgoing message to the second node.
1 Assignment
0 Petitions
Accused Products
Abstract
To reduce repetitive data transfers, data content of an outgoing message is stored within cache storage of an intermediate node of a data communications network. A token for identifying the cached data content is stored at the intermediate node and the sender. When a subsequent outgoing message is to be routed from a first network node to a target destination via the intermediate node, a process running at the first node checks whether the content of the message matches data cached at the intermediate node. If there is a match, a copy of the token is sent from the first node to the intermediate node instead of the data content. The token is used at the intermediate node to identify the cached data, and the cached data is retrieved from the cache and forwarded to the target destination as an outgoing message.
14 Citations
22 Claims
-
1. A method for data communication between a first node and a second node of a data processing network, the method comprising:
-
deriving a token from data contents of a first outgoing message sent to a first node; after deriving the token for the first outgoing message, sending the first outgoing message and the derived token from the first node to a second node, storing the token in cache storage at the first node and in cache storage at the second node, and storing data contents of the first outgoing message in cache storage at the second node without necessarily storing corresponding data contents of the first outgoing message in cache storage at the first node; and prior to sending a second outgoing message from the first node to the second node, deriving a token from data contents of the second outgoing message, comparing the token derived from data contents of the second outgoing message with tokens from several different previous outgoing messages held in cache storage at the first node, comparing the token derived from data contents of the second outgoing message with tokens previously sent to the second node, and in response to comparing, identifying a matching token and sending the matching token to the second node without necessarily sending the data contents of the second outgoing message to the second node. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A method for data communication between a first node and a second node of a data processing network, for outgoing messages, the method comprising:
-
deriving a token from data contents of a first outgoing message which is sent from a first node to a second node; storing the derived token and the data contents in cache storage at the first node; storing the derived token and the data contents in cache storage at the second node; prior to sending a second outgoing message from the first node to the second node, comparing the data contents of the second outgoing message with the data contents of several different previous outgoing messages stored in cache storage at the first node; in response to comparing, identifying a partial match, deriving a delta file representing differences between the first outgoing message and the second outgoing message; and sending the stored token and delta file to the second node without sending the full data contents of the second outgoing message. - View Dependent Claims (16)
-
-
17. A data processing apparatus comprising a sender node for use in a method of network data communication, for an originating requestor, between a sender node and a receiver node of a data processing network, the sender node comprising:
-
means for deriving a token, the means for deriving, deriving a token from data contents of a first outgoing message which is sent from the sender node to the receiver node, the token identifying the first outgoing message from which the token was derived, the token being derived before the first message is sent, and the means for deriving, deriving a token from data contents of a second outgoing message prior to sending the second outgoing message from the sender node to the receiver node, the token derived from data contents of the first outgoing message; means for comparing the token derived from data contents of the second outgoing message with tokens from several different previous outgoing messages held in cache storage at the sender node, to identify a match; and means, responsive to the comparing identifying a match, for determining that the matching token should be sent to the receiver node without the data contents of the second outgoing message, wherein the cache storage at the sender node does not necessarily retain the data contents of the first outgoing message after sending the derived token from data contents of the first outgoing message.
-
-
18. A publish subscribe data communication network comprising:
-
a first data processing apparatus comprising a network intermediary sender node; and a second data processing apparatus comprising a network intermediary receiver node, the sender node and the receiver node for use in a method of data communication between a network publisher and an end user subscriber to the network publisher, wherein the receiver node comprises; means for caching, in cache storage of the receiver node, message contents and corresponding tokens derived by a sender node from said message contents; means, responsive to receipt of a token derived by a sender node and representing a required data communication between the sender node and the receiver node, for comparing the received token with tokens from several different previous outgoing messages cached at the receiver node, to identify a match; means for retrieving, from cache storage of the receiver node in response to the comparing identifying a match, the matching cached message contents; and means for passing the retrieved message contents to another network intermediary and towards the end user subscriber.
-
-
19. A method for data communication between a first node and a second node of a data processing network for outgoing messages, the method comprising:
-
deriving a token from data contents of a first outgoing message, where the outgoing message is sent from a first node to a second node; storing the token in cache storage at the first node; prior to sending a second outgoing message from the first node to the second node, deriving a token from data contents of the second outgoing message and comparing the token derived from data contents of the second outgoing message with tokens from several different previous outgoing messages held in cache storage at the first node; and in response to comparing, identifying a matching token and sending the matching token to the second node instead of sending the data contents of the second outgoing message; wherein, for a set of outgoing messages sent from the first node to the second node, for which set of outgoing messages the comparing identifies a single matching token, defining the target destinations of the set of outgoing messages as a group; and for a subsequent outgoing message sent from the first node to a first member of the group, deriving a second token from data contents of the subsequent outgoing message, storing the second token and identification of the group in cache storage at the first node, storing the second token and data contents of the subsequent outgoing message in cache storage at the second node, and sending the second token to the second node with an instruction to forward an outgoing message to the members of the group other than the first member. - View Dependent Claims (20)
-
-
21. A method for data communication between a first node and a second node of a data processing network for outgoing messages, the method comprising:
-
deriving a token from data contents of a first outgoing message which is sent from a first node to a second node; storing the token and the data contents in cache storage at the first node;
storing the token and the data contents in cache storage at the second node;prior to sending a second outgoing message from the first node to the second node, comparing the data contents of the second outgoing message with the data contents of several different previous outgoing messages stored in cache storage at the first node; in response to comparing, identifying a partial match, deriving a delta file representing differences between the first outgoing message and the second outgoing message; comparing the size of the delta file with a threshold size and determining whether the identified partial match should be accepted based on the delta file size comparison; and for a partial accepted match, sending the stored token and delta file to the second node without sending the full data contents of the second outgoing message, for a non-accepted partial match, sending the complete message contents to the second node. - View Dependent Claims (22)
-
Specification