Nova Patents
EP3075112B1

Transferring data between network nodes

Abstract

This record has no abstract on file.

EP3075112B1, drawing sheet 1
Sheet 1 of 13

Term

8.2 yearsleft in the term

Expires 28 November 2034.

  1. Priority
  2. Filed
  3. Granted
  4. Today
  5. Expires

15 claims: 11 independent, 4 dependent

  1. 1
    A system comprising:a first network node (3), the first network node having a transmit buffer (14);a second network node (4), the second network node including a receive buffer;at least one communication path (702, 703) connecting the first network node to the second network node;a first cache (706) forming part of the first network node;and a second cache (705) forming part of the second network node, wherein: the first cache is configured to communicate with a host to request commands and associated data, to control data flow to and from the host, to manage storage of commands and data from the host and to cache data received from the host;the first network node is configured to transmit the data from the first cache via the transmit buffer (14) to the second network node over the at least one communication path;the second network node is configured to receive the data transmitted by the first network node via the receive buffer and to store the received data in the second cache prior to providing the data from the second cache to a connected device;the second network node is configured to use operating parameters of the second cache to calculate a hunger parameter representative of the capability of the second cache to receive more data;the second network node is configured to communicate the hunger parameter to the first network node;and the first network node is configured to use the hunger parameter received from the second network node to change the configuration of the first cache, in particular when a hunger rate indicated by the hunger parameter is relatively high: raising a low water mark of the cache and/or increasing a size of the cache so as to result in the first network node requesting more commands and associated data from the host, and when a hunger rate indicated by the hunger parameter is relatively low: lowering a high water mark of the cache and/or reducing a size of the cache so as to result in the first network node requesting fewer commands and associated data from the host.
  2. 3
    A system as claimed in any preceding claim, wherein the second network node is configured to use a receive window size parameter of the at least one communication path to calculate the hunger parameter.
  3. 4
    A system as claimed in any preceding claim, wherein the second network node is configured to use a measured latency of the at least one communication path to calculate the hunger parameter.
  4. 5
    A system as claimed in any preceding claim, wherein the second network node is configured to use a status of the receive buffer in the second network node to calculate the hunger parameter.
  5. 6
    A system as claimed in any preceding claim, wherein the first network node is configured to change a water level configuration of the first cache based on the hunger parameter received from the second communication node.
  6. 7
    A system as claimed in any preceding claim, wherein the first network node is configured to change a size of the first cache based on the hunger parameter received from the second network node.
  7. 8
    A system as claimed in any preceding claim, wherein the first network node is configured to use hunger parameters received from the second network node in respect of first and second ones of the communication paths respectively to select a one of the first and second communication paths to which to provide a data packet.
  8. 9
    A method of operating a system, the system comprising:a first network node (3), the first network node having a transmit buffer (14);a second network node (4), the second network node including a receive buffer;at least one communication path (702, 703) connecting the first network node to the second network node;a first cache (706) forming part of the first network node;and a second cache (705) forming part of the second network node, wherein the method comprises: the first cache communicating with a host to request commands and associated data, controlling data flow to and from the host, managing storage of commands and data from the host and caching data received from the host;the first network node transmitting the data via the transmit buffer (14) from the first cache to the second network node over the at least one communication path;the second network node receiving the data transmitted by the first network node via the receive buffer and storing the received data in the second cache prior to providing the data from the second cache to a connected device;the second network node using operating parameters of the second cache to calculate a hunger parameter representative of the capability of the second cache to receive more data, the second network node communicating the hunger parameter to the first network node;and the first network node using the hunger parameter received from the second network node to change the configuration of the first cache, in particular when a hunger rate indicated by the hunger parameter is relatively high: raising a low water mark of the cache and/or increasing a size of the cache so as to result in the first network node requesting more commands and associated data from the host, and when a hunger rate indicated by the hunger parameter is relatively low: lowering a high water mark of the cache and/or reducing a size of the cache so as to result in the first network node requesting fewer commands and associated data from the host.
  9. 12
    A method as claimed in any of claims 9 to 11, comprising the first network node changing a water level configuration of the first cache based on the hunger parameter received from the second communication node.
  10. 13
    A method as claimed in any of claims 9 to 12, comprising the first network node changing a size of the first cache based on the hunger parameter received from the second network node.
  11. 14
    A method as claimed in any of claims 9 to 13, comprising the first network node using hunger parameters received from the second network node in respect of first and second ones of the communication paths respectively to select a one of the first and second communication paths to which to provide a data packet.
  12. 15
    A computer program that when executed on a system causes it to perform the method of any of claims 9 to 14, wherein the system comprises the first network node (3) including the first cache (706) and the transmit buffer;the second network node (4) including the second cache (705) and the receive buffer;and the at least one communication path (702, 703) connecting the first network node to the second network node.