Data communication efficiency
First Claim
1. A computer storage device storing instructions, which when executed cause one or more processors to perform steps of 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;
after deriving the token for the first outgoing message,sending the first outgoing message from a first node to a second node and storing the token in cache storage at the first node;
sending data contents of the first outgoing message for storage in cache storage at the second node without concurrently storing corresponding data contents of the first outgoing message in cache storage at the first node;
prior to sending a second outgoing message from the first node to the second node and after sending the first 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; and
,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.
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 date 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.
18 Citations
21 Claims
-
1. A computer storage device storing instructions, which when executed cause one or more processors to perform steps of 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; after deriving the token for the first outgoing message, sending the first outgoing message from a first node to a second node and storing the token in cache storage at the first node; sending data contents of the first outgoing message for storage in cache storage at the second node without concurrently storing corresponding data contents of the first outgoing message in cache storage at the first node; prior to sending a second outgoing message from the first node to the second node and after sending the first 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; and
,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. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A computer storage device storing instructions, which when executed cause one or more processors to perform steps of 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 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.
-
-
18. A computer storage device storing instructions, which when executed cause one or more processors to perform steps of 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.
-
-
19. A computer storage device storing instructions, which when executed cause one or more processors to perform steps of 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 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 (20, 21)
-
Specification