Centralized wireless QoS architecture
AssigneeCisco Technology, Inc.
InventorDavid J. Pignatelli
Life of this patent
Estimating the term…
Abstract
A QoS mechanism that evaluates congestion in one or more network nodes along the wireless delivery path to optimize the processing priority at the centralized wireless network controller. The QoS mechanism determines an idealized processing time for a given client packet, within a rich set of configurable QoS attributes, for a given defined flow and then adjusts the expectation of delivering the packet based on resource congestion measurements of the wireless infrastructure.
Claims19
In a controller operating in a network environment wherein the controller processes packets received from one or more remote nodes for delivery to one or more clients, a method for maintaining packet delivery Quality of Service (QoS), the method comprising:
- receiving a packet that identifies a destination client of the packet;
- identifying one or more delivery path nodes to the destination client;
- acquiring a QoS state associated with at least one of the one or more delivery path nodes, wherein the QoS state characterizes utilization of available transmission resources of a corresponding delivery path node, and wherein acquiring the QoS state associated with the at least one of the one or more delivery path nodes is based on a percent utilization corresponding to the one or more delivery path nodes;
- determining a transmit delay based on the acquired QoS state, wherein said transmit delay comprises a time delay that varies based at least in part on the acquired QoS state;
- storing the packet in a buffer with delivery instructions wherein the delivery instructions include the transmit delay;
- and
- passing, when the transmit delay expires, processing of the packet to a data processing engine wherein the data processing engine is operative to forward the packet onto the transmission media to the destination client.
A controller comprising:
- a network interface;
- one or more processors;
- a memory;
- and
- a packet scheduling application, stored in the memory, including instructions operable to cause the one or more processors to:
- receive a packet that identifies a destination client of the packet;
- identify one or more delivery path nodes to the destination client;
- acquire a QoS state associated with at least one of the one or more delivery path nodes, wherein the QoS state characterizes utilization of available transmission resources of a corresponding delivery path node, and wherein acquiring the QoS state associated with the at least one of the one or more delivery path nodes is based on a percent utilization corresponding to the one or more delivery path nodes;
- determine a transmit delay based on the acquired QoS state, wherein said transmit delay comprises a time delay that varies based at least in part on the acquired QoS state;
- store the packet in a buffer with delivery instructions wherein the delivery instructions include the transmit delay;
- and
- pass, when the transmit delay expires, processing of the packet to a data processing engine wherein the data processing engine is operative to forward the packet onto the transmission media to the destination client.
A controller comprising:
- means for receiving a packet that identifies a destination client of the packet;
- means for identifying one or more delivery path nodes to the destination client;
- means for acquiring a QoS state associated with at least one of the one or more delivery path nodes, wherein the QoS state characterizes utilization of available transmission resources of a corresponding delivery path node, and wherein acquiring the QoS state associated with the at least one of the one or more delivery path nodes is based on a percent utilization corresponding to the one or more delivery path nodes;
- means for determining a transmit delay based on the acquired QoS state, wherein said transmit delay comprises a time delay that varies based at least in part on the acquired QoS state;
- means for storing the packet in a buffer with delivery instructions wherein the delivery instructions include the transmit delay;
- and
- means for passing, when the transmit delay expires, processing of the packet to a data processing engine wherein the data processing engine is operative to forward the packet onto the transmission media to the destination client.
In a controller operating in a network environment wherein the controller processes packets received from one or more remote nodes for delivery to one or more clients, a method for maintaining packet delivery QoS comprising:
- receiving a packet identifying a destination client;
- identifying one or more delivery path nodes to the destination client;
- acquiring a destination client QoS state and a delivery path nodes QoS state, wherein the delivery path nodes QoS state characterizes utilization of available transmission resources of the one or more delivery path nodes to the destination client, and wherein acquiring the delivery path nodes QoS state is based on a percent utilization of the delivery path nodes;
- updating a QoS state based on the destination client QoS state and the delivery path nodes QoS state;
- determining a transmit delay based on the QoS state, wherein said transmit delay comprises a time delay that varies based at least in part on the acquired QoS state;
- storing the packet in a buffer with delivery instructions wherein the delivery instructions include the transmit delay;
- and
- passing, when the transmit delay expires, processing of the packet to a data processing engine wherein the data processing engine is operative to forward the packet onto the transmission media to the destination client.
A controller comprising:
- a network interface;
- one or more processors;
- a memory;
- and
- a packet scheduling application, stored in the memory, including instructions operable to cause the one or more processors to:
- receive a packet identifying a destination client;
- identify one or more delivery path nodes to the destination client;
- acquire a destination client QoS state and a delivery path nodes QoS state, wherein the delivery path nodes QoS state characterizes utilization of available transmission resources of the one or more delivery path nodes to the destination client, and wherein acquiring the delivery path nodes QoS state is based on a percent utilization of the delivery path nodes;
- update a QoS state based on the destination client QoS state and the delivery path nodes QoS state;
- determine a transmit delay based on the QoS state, wherein said transmit delay comprises a time delay that varies based at least in part on the acquired QoS state;
- store the packet in a buffer with delivery instructions wherein the delivery instructions include the transmit delay;
- and
- pass, when the transmit delay expires, processing of the packet to a data processing engine wherein the data processing engine is operative to forward the packet onto the transmission media to the destination client.
A controller comprising:
- means for receiving a packet identifying a destination client;
- means for identifying one or more delivery path nodes to the destination client;
- means for acquiring a destination client QoS state and a delivery path nodes QoS state, wherein the delivery path nodes QoS state characterizes utilization of available transmission resources of the one or more delivery path nodes to the destination client, and wherein acquiring the delivery path nodes QoS state is based on a percent utilization of the delivery path nodes;
- means for updating a QoS state based on the destination client QoS state and the delivery path nodes QoS state;
- means for determining a transmit delay based on the QoS state, wherein said transmit delay comprises a time delay that varies based at least in part on the acquired QoS state;
- means for storing the packet in a buffer with delivery instructions wherein the delivery instructions include the transmit delay;
- and
- means for passing, when the transmit delay expires, processing of the packet to a data processing engine wherein the data processing engine is operative to forward the packet onto the transmission media to the destination client.
Dependencies are inferred from the claim text.