Systems and methods for achieving high network link utilization
AssigneeGoogle Inc.
InventorsGlen Anderson, Steven Padgett, Junlan Zhou, Uday Ramakrishna Naik, Alok Kumar, Amin Vahdat, Sushant Jain
Life of this patent
Estimating the term…
Loading patent…
AssigneeGoogle Inc.
InventorsGlen Anderson, Steven Padgett, Junlan Zhou, Uday Ramakrishna Naik, Alok Kumar, Amin Vahdat, Sushant Jain
Estimating the term…
Systems and methods for achieving high utilization of a network link are provided. A first communication protocol can be selected for transmitting network flows of a first type. A first quality of service can be assigned to network flows of the first type. A second communication protocol can be selected for transmitting network flows of a second type. A second quality of service, lower than the first quality of service, can be assigned to network flows of the second type. A first percentage of available bandwidth can be allocated to the network flows of both the first and second types. The remaining bandwidth, plus a second percentage of available bandwidth, can be allocated to the network flows of the second type, such that the total allocated bandwidth exceeds the available bandwidth of the network link.
An apparatus for achieving high utilization of a network link, comprising:
A method for achieving high utilization of a network link having a total bandwidth, the method comprising:
A non-transitory computer-readable storage medium having instructions encoded thereon which, when executed by at least one processor, cause the processor to perform a method for achieving high utilization of a network link having a total bandwidth, the method comprising:
Dependencies are inferred from the claim text.
Drawings are temporarily unavailable. Open the PDF at USPTO
No references of this kind are recorded.
Traffic characterised by specific attributes, e.g. priority or QoS: relying on flow classification, e.g. using integrated services [IntServ]
Traffic control in data switching networks: flow control; Congestion control
Admission control; Resource allocation: using reservation actions during connection setup
Flow control; Congestion control: traffic characterised by specific attributes, e.g. priority or QoS
About 8 years 3 months of term left · ends 14 Jan 2035 (estimated)
Typically, attempting to increase network link utilization results in an increase in the number of network packets dropped by the network link. For many transmission protocols, congestion avoidance algorithms respond to the increase in dropped packets by slowing the network flow whose packets are dropped. As a result, maximum network link utilization is limited. In some instances, link utilization of greater than 85% can be very difficult to achieve. To increase efficiency of computer networks, it is desirable to achieve close to 100% link utilization.
Aspects and implementations of the present disclosure are directed to systems and methods for achieving high network link utilization.
At least one aspect is directed to an apparatus for achieving high utilization of a network link. The apparatus includes a node configured to transmit and receive network data. The apparatus includes a control module coupled to the node. The control module is configured to allocate a first percentage of available bandwidth of the node to the network flows of both the first and second types. The control module is configured to allocate the remaining bandwidth of the node, plus a second percentage of the available bandwidth of the node, to the network flows of the second type, so that the total bandwidth allocated to the network flows of the first type and the network flows of the second type exceeds the available bandwidth of the node. The network flows of the first type are transmitted according to a first protocol, and, as a result, are assigned a first quality of service. The network flows of the second type are transmitted according to a second protocol and, as a result, are assigned a second quality of service. The second quality of service is sufficiently higher than the first quality of service to ensure that network packets having the first quality of service substantially always receive priority over network flows having the second quality of service.
The accompanying drawings are not intended to be drawn to scale. Like reference numbers and designations in the various drawings indicate like elements. For purposes of clarity, not every component may be labeled in every drawing.
FIG. 1A is a block diagram of an example computer network, according to an illustrative implementation.
FIG. 1B is a block diagram of an alternative example computer network, according to an illustrative implementation.
Following below are more detailed descriptions of various concepts related to, and implementations of, systems and methods for achieving high utilization of a network link. The various concepts introduced above and discussed in greater detail below may be implemented in any of numerous ways, as the described concepts are not limited to any particular manner of implementation. Examples of specific implementations and applications are provided primarily for illustrative purposes.
FIG. 1A is a block diagram of a computer network 101, according to an illustrative implementation. The network 101 includes nodes 105a-105h (generally referred to as nodes 105) and an allocation module 110 arranged in a hierarchical fashion. For example, the allocation module 110 is positioned within a first stage of the network 101. The nodes 105 are arranged in a second stage and a third stage. The nodes 105a-105f in the third stage are further grouped into clusters. Cluster 1 includes nodes 105a-105c, while cluster 2 includes nodes 105d-105f. Lines in FIG. 1A joining the nodes 105 to one another and to the allocation module 110 represent communication links. The communication links can be optical links, wired electrical links, radio links, or any other form of physical layer connection.
Each cluster of nodes 105 in the third stage communicates with a respective node 105 in the second stage. Communication between nodes 105 in cluster 1 can be facilitated by the respective stage 2 node 105g, and communication between nodes 105 in cluster 2 can be facilitated by the stage 2 node 105h. The allocation module 110 can communicate with nodes 105 in the third stage via the nodes 105 in the second stage. The architecture of the network 101 is illustrative only, and may be modified in some implementations. For example, the network 101 may form part of a larger network that includes additional stages of nodes 105 or additional nodes 105 within each stage. In some implementations, the nodes 105 within a cluster may communicate directly with each other or with nodes 105 of a different cluster.