Applying quality of service to application messages in network elements
First Claim
1. A data processing apparatus, comprising:
- a plurality of network interfaces that are coupled to a data network for receiving one or more packets therefrom and sending one or more packets thereto;
one or more processors;
a switching system coupled to the one or more processors and packet forwarding logic, wherein the switching system and packet forwarding logic are configured to receive packets on a first network interface, determine a second network interface on which to send the packets, and to send the packets on the second network interface;
a non-transitory computer-readable storage medium recorded with one or more message classification rules and a mapping of message classification values to network-level QoS values, wherein each of the one or more message classification rules specifies one or more application-level attributes and one of the message classification values;
application QoS logic which when executed by the one or more processors is operable to cause;
intercepting an application-layer message encapsulated in a collective payload portion of two or more data packets according to an application-layer protocol;
wherein the application-layer message communicates application-level information between applications, and wherein the application-level information comprises application-level attributes that are contained in a body of the application-layer message;
extracting and assembling the application-layer message from the collective payload portion based at least in part on the application-layer protocol;
matching one or more application-level attributes from the body of the extracted and assembled application-layer message to the one or more message classification rules;
determining a message classification value of the extracted and assembled application-layer message based at least in part on the matching;
selecting one of the network-level QoS values using the mapping and based at least in part on the determined message classification value;
marking a network-level header of at least one of the two or more data packets based at least in part on the selected network-level QoS value.
2 Assignments
0 Petitions
Accused Products
Abstract
A network element such as a router or switch provides application-level quality of service for application-layer messages processed in the network element, using application QoS logic which when executed by the one or more processors is operable to cause receiving an application-layer message; matching one or more attributes of the application-layer message to the message classification rules; determining a message classification of the application-layer message based on the matching; selecting one of the network-level QoS values using the mapping and based on the determined message classification; and marking a network-level header of the application-layer message using the selected QoS value. As a result, attributes of application messages at OSI Layer 5, 6, or 7 can be used to determine how to mark packets of the messages with QoS values at OSI Layer 2, 3 or 4, integrating application-level concepts of order and priority into network-layer QoS mechanisms.
418 Citations
40 Claims
-
1. A data processing apparatus, comprising:
-
a plurality of network interfaces that are coupled to a data network for receiving one or more packets therefrom and sending one or more packets thereto; one or more processors; a switching system coupled to the one or more processors and packet forwarding logic, wherein the switching system and packet forwarding logic are configured to receive packets on a first network interface, determine a second network interface on which to send the packets, and to send the packets on the second network interface; a non-transitory computer-readable storage medium recorded with one or more message classification rules and a mapping of message classification values to network-level QoS values, wherein each of the one or more message classification rules specifies one or more application-level attributes and one of the message classification values; application QoS logic which when executed by the one or more processors is operable to cause; intercepting an application-layer message encapsulated in a collective payload portion of two or more data packets according to an application-layer protocol; wherein the application-layer message communicates application-level information between applications, and wherein the application-level information comprises application-level attributes that are contained in a body of the application-layer message; extracting and assembling the application-layer message from the collective payload portion based at least in part on the application-layer protocol; matching one or more application-level attributes from the body of the extracted and assembled application-layer message to the one or more message classification rules; determining a message classification value of the extracted and assembled application-layer message based at least in part on the matching; selecting one of the network-level QoS values using the mapping and based at least in part on the determined message classification value; marking a network-level header of at least one of the two or more data packets based at least in part on the selected network-level QoS value. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A data processing apparatus, comprising:
-
a plurality of network interfaces that are coupled to a data network for receiving one or more packets therefrom and sending one or more packets thereto; one or more processors; a switching system coupled to the one or more processors and packet forwarding logic, wherein the switching system and packet forwarding logic are configured to receive packets on a first network interface, determine a second network interface on which to send the packets, and to send the packets on the second network interface; a non-transitory computer-readable storage medium recorded with one or more message classification rules and a mapping of message classification values to network-level QoS values, wherein each of the one or more message classification rules specifies one or more application-level attributes and one of the message classification values; means for intercepting an application-layer message encapsulated in a collective payload portion of two or more data packets according to an application-layer protocol; wherein the application-layer message communicates application-level information between applications, and wherein the application-level information comprises application-level attributes that are contained in a body of the application-layer message; means for extracting and assembling the application-layer message from the collective payload portion based at least in part on the application-layer protocol; means for matching one or more application-level attributes from the body of the extracted and assembled application-layer message to the one or more message classification rules; means for determining a message classification value of the extracted and assembled application-layer message based at least in part on the matching; means for selecting one of the network-level QoS values using the mapping and based at least in part on the determined message classification value; means for marking a network-level header of at least one of the two or more data packets based at least in part on the selected network-level QoS value. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A non-transitory computer-readable storage medium recorded with one or more message classification rules and a mapping of message classification values to network-level QoS values, wherein each of the one or more message classification rules specifies one or more application-level attributes and one of the message classification values, and recorded with application QoS logic which when executed by one or more processors is operable to cause:
-
intercepting an application-layer message encapsulated in a collective payload portion of two or more data packets according to an application-layer protocol, wherein the application-layer message is received at a network infrastructure element comprising a plurality of network interfaces that are coupled to a data network for receiving one or more packets therefrom and sending one or more packets thereto, the one or more processors, and a switching system coupled to the one or more processors and packet forwarding logic, wherein the switching system and packet forwarding logic are configured to receive packets on a first network interface, determine a second network interface on which to send the packets, and to send the packets on the second network interface; wherein the application-layer message communicates application-level information between applications, and wherein the application-level information comprises application-level attributes that are contained in a body of the application-layer message; extracting and assembling the application-layer message from the collective payload portion based at least in part on the application-layer protocol; matching one or more application-level attributes from the body of the extracted and assembled application-layer message to the one or more message classification rules; determining a message classification value of the extracted and assembled application-layer message based at least in part on the matching; selecting one of the network-level QoS values using the mapping and based at least in part on the determined message classification value; marking a network-level header of the at least one of the two or more data packets using the selected network-level QoS value. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30)
-
-
31. A method, comprising:
-
creating and storing one or more message classification rules and a mapping of message classification values to network-level QoS values, wherein each of the one or more message classification rules specifies one or more application-level attributes and one of the message classification values; intercepting an application-layer message encapsulated in a collective payload portion of two or more data packets according to an application-layer protocol, wherein the application-layer message is received at a network infrastructure element comprising a plurality of network interfaces that are coupled to a data network for receiving one or more packets therefrom and sending one or more packets thereto, the one or more processors, and a switching system coupled to the one or more processors and packet forwarding logic, wherein the switching system and packet forwarding logic are configured to receive packets on a first network interface, determine a second network interface on which to send the packets, and to send the packets on the second network interface; wherein the application-layer message communicates application-level information between applications, and wherein the application-level information comprises application-level attributes that are contained in a body of the application-layer message; extracting and assembling the application-layer message from the collective payload portion based at least in part on the application protocol; matching one or more application-level attributes from the body of the extracted and assembled application-layer message to the one or more message classification rules; determining a message classification value of the extracted and assembled application-layer message based at least in part on the matching; selecting one of the network-level QoS values using the mapping and based at least in part on the determined message classification value; marking a network-level header of the at least one of the two or more data packets based at least in part on the selected network-level QoS value; wherein the method is performed by one or more computing devices. - View Dependent Claims (32, 33, 34, 35, 36, 37, 38, 39, 40)
-
Specification