Method and system for providing network ingress fairness between applications
AssigneeHewlett Packard Enterprise Development LP
InventorsAndrew S. Kopser, Abdulla M. Bataineh
Life of this patent
Estimating the term…
Abstract
Methods and systems are provided to facilitate network ingress fairness between applications. At an ingress port of a network, the applications providing data communications are reviewed so that and arbitration process can be used to fairly allocate bandwidth at that ingress port. In a typical process, the bandwidth is allocated based upon the number of flow channels, irrespective of the source and characteristics of those flow channels. At the ingress port, an examination of the application providing the data communication will allow for a more appropriate allocation of input bandwidth.
Claims58
A switch, comprising:
an edge flow logic block to group received packet flows into application groups, wherein a respective packet flow corresponds to packets with one or more common header fields and is identified by a flow identifier that is unique within the input port;
- and
an input flow logic block coupled to the edge flow logic block and to arbitrate forwarding of buffered packet flows based on their respective injection limits corresponding to the application groups to which the packet flows belong.
wherein arbitrating forwarding of the buffered packet flows, the input flow logic block is further to:
perform first-level scheduling among all the injection limit
identifiers, wherein a respective injection limit identifier is associated with
one or more application groups subject to the injection limit corresponding
to the injection limit identifier;
for each injection limit identifier, perform second-level scheduling
among all the associated application groups, wherein each application
group is associated with one or more packet flows;
- and
for each application group, perform third-level scheduling among
all the packet flows belonging to that application group.
A method, comprising:
grouping received packet flows into application groups, wherein a respective packet flow corresponds to packets with one or more common header fields and is identified by a flow identifier that is unique within the input port;
- and
arbitrating forwarding of buffered packet flows based on their respective injection limits corresponding to the application groups to which the packet flows belong.
wherein arbitrating forwarding of the buffered packet flows, further comprises:
performing first-level scheduling among all the injection limit
identifiers, wherein a respective injection limit identifier is associated with
one or more application groups subject to the injection limit corresponding
to the injection limit identifier;
for each injection limit identifier, performing second-level scheduling
among all the associated application groups, wherein each application
group is associated with one or more packet flows;
- and
for each application group, performing third-level scheduling among
all the packet flows belonging to that application group.
A network system, comprising:
a number of interconnected switches, which comprises at least one edge switch which comprises:
an edge flow logic block to group received packet flows into application groups, wherein a respective packet flow corresponds to packets with one or more common header fields and is identified by a flow identifier that is unique within the input port;
- and
an input flow logic block coupled to the edge flow logic block and to arbitrate forwarding of buffered packet flows based on their respective injection limits corresponding to the application groups to which the packet flows belong.
wherein arbitrating forwarding of the buffered packet flows, the input flow logic block is further to:
perform first-level scheduling among all the injection limit
identifiers, wherein a respective injection limit identifier is associated with
one or more application groups subject to the injection limit corresponding
to the injection limit identifier;
for each injection limit identifier, perform second-level scheduling
among all the associated application groups, wherein each application
group is associated with one or more packet flows;
- and
for each application group, perform third-level scheduling among
all the packet flows belonging to that application group.
Dependencies are inferred from the claim text.