Enforcing network service level agreements in a network element
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;
logic which when executed by the one or more processors is operable to cause;
receiving over the network an application-layer message encapsulated in one or more of the packets;
wherein the received one or more of the packets are addressed to a destination endpoint that hosts a receiving application or service, and wherein the data processing apparatus is not at the destination endpoint;
wherein the application-layer message communicates application-level information between a sending application or service and the receiving application or service;
wherein the application-level information comprises application-level attributes that are contained in a body of the application-layer message;
forwarding the one or more of the packets toward the destination endpoint and concurrently copying at least part of the one or more of the packets without disrupting the forwarding;
extracting the application-layer message from the copied at least part of the one or more of the packets;
detecting one or more application-level attributes from the body of the extracted application-layer message;
using the one or more application-level attributes from the body of the extracted application-layer message, discovering that the receiving application or service is using the network;
using the extracted application-layer message, identifying one or more network-layer condition metrics and one or more application-layer condition metrics;
determining, based on the identified network-layer condition metrics and the application-layer condition metrics, whether one or more conditions of a service level agreement are violated;
in response to determining a violation, performing one or more responsive operations on one or more network elements.
1 Assignment
0 Petitions
Accused Products
Abstract
Enforcing network service level agreements in a network infrastructure element comprises receiving, at the network infrastructure element, an application-layer message comprising one or more of the packets; forwarding the application-layer message toward a destination endpoint and concurrently copying the application-layer message without disrupting the forwarding; using the copied application-layer message, discovering one or more applications or services that are using the network; using the copied application-layer message, identifying one or more network-layer condition metrics, and identifying one or more application-layer condition metrics; determining, based on the identified network-layer condition metrics and the application-layer condition metrics, whether one or more conditions of a service level agreement are violated; and in response to determining a violation, performing one or more responsive operations on one or more network elements.
242 Citations
37 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; logic which when executed by the one or more processors is operable to cause; receiving over the network an application-layer message encapsulated in one or more of the packets; wherein the received one or more of the packets are addressed to a destination endpoint that hosts a receiving application or service, and wherein the data processing apparatus is not at the destination endpoint; wherein the application-layer message communicates application-level information between a sending application or service and the receiving application or service; wherein the application-level information comprises application-level attributes that are contained in a body of the application-layer message; forwarding the one or more of the packets toward the destination endpoint and concurrently copying at least part of the one or more of the packets without disrupting the forwarding; extracting the application-layer message from the copied at least part of the one or more of the packets; detecting one or more application-level attributes from the body of the extracted application-layer message; using the one or more application-level attributes from the body of the extracted application-layer message, discovering that the receiving application or service is using the network; using the extracted application-layer message, identifying one or more network-layer condition metrics and one or more application-layer condition metrics; determining, based on the identified network-layer condition metrics and the application-layer condition metrics, whether one or more conditions of a service level agreement are violated; in response to determining a violation, performing one or more responsive operations on one or more network elements. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
-
-
23. A non-transitory computer-readable storage medium comprising logic which when executed by one or more processors is operable to cause:
-
receiving, 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, an application-layer message encapsulated in one or more of the packets; wherein the received one or more of the packets are addressed to a destination endpoint that hosts a receiving application or service, and wherein the data processing apparatus is not at the destination endpoint; wherein the application-layer message communicates application-level information between a sending application or service and the receiving application or service; wherein the application-level information comprises application-level attributes that are contained in a body of the application-layer message; forwarding the one or more of the packets toward the destination endpoint and concurrently copying at least part of the one or more of the packets without disrupting the forwarding; extracting the application-layer message from the copied at least part of the one or more of the packets; detecting one or more application-level attributes from the body of the extracted application-layer message; using the one or more application-level attributes from the body of the extracted application-layer message, discovering that the receiving application or service is using the network; using the extracted application-layer message, identifying one or more network-layer condition metrics and one or more application-layer condition metrics; determining, based on the identified network-layer condition metrics and the application-layer condition metrics, whether one or more conditions of a service level agreement are violated; in response to determining a violation, performing one or more responsive operations on one or more network elements. - View Dependent Claims (24, 25, 26, 27)
-
-
28. 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; means for receiving over the network an application-layer message encapsulated in one or more of the packets; wherein the received one or more of the packets are addressed to a destination endpoint that hosts a receiving application or service, and wherein the data processing apparatus is not at the destination endpoint; wherein the application-layer message communicates application-level information between a sending application or service and the receiving application or service; wherein the application-level information comprises application-level attributes that are contained in a body of the application-layer message; means for forwarding the one or more of the packets toward the destination endpoint and concurrently copying at least part of the one or more of the packets without disrupting the forwarding; means for extracting the application-layer message from the copied at least part of the one or more of the packets; means for detecting one or more application-level attributes from the body of the extracted application-layer message; means for using the one or more application-level attributes from the body of the extracted application-layer message, discovering that the receiving application or service is using the network; means for identifying, using the extracted application-layer message, one or more network-layer condition metrics and one or more application-layer condition metrics; means for determining, based on the identified network-layer condition metrics and the application-layer condition metrics, whether one or more conditions of a service level agreement are violated; means for performing one or more responsive operations on one or more network elements in response to determining a violation. - View Dependent Claims (29, 30, 31, 32)
-
-
33. A computer-implemented method, comprising:
-
receiving, 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, an application-layer message encapsulated in one or more of the packets; wherein the received one or more of the packets are addressed to a destination endpoint that hosts a receiving application or service, and wherein the data processing apparatus is not at the destination endpoint; wherein the application-layer message communicates application-level information between a sending application or service and the receiving application or service; wherein the application-level information comprises application-level attributes that are contained in a body of the application-layer message; forwarding the one or more of the packets toward a destination endpoint and concurrently copying at least part of the one or more of the packets without disrupting the forwarding; extracting the application-layer message from the copied at least part of the one or more of the packets; detecting one or more application-level attributes from the body of the extracted application-layer message; using the one or more application-level attributes from the body of the extracted application-layer message, discovering that the receiving application or service is using the network; using the extracted application-layer message, identifying one or more network-layer condition metrics and one or more application-layer condition metrics; determining, based on the identified network-layer condition metrics and the application-layer condition metrics, whether one or more conditions of a service level agreement are violated; in response to determining a violation, performing one or more responsive operations on one or more network elements; wherein the method is performed by one or more computing devices. - View Dependent Claims (34, 35, 36, 37)
-
Specification