Passive Performance Measurement for Inline Service Chaining
US-2016149784-A1 · May 26, 2016 · US
US9705775B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9705775-B2 |
| Application number | US-201414549363-A |
| Country | US |
| Kind code | B2 |
| Filing date | Nov 20, 2014 |
| Priority date | Nov 20, 2014 |
| Publication date | Jul 11, 2017 |
| Grant date | Jul 11, 2017 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A method is implemented by a network device to monitor the performance of packet processing in an in-line service chain, the network device one of a plurality of network devices forming a software defined network (SDN) and the in-line service chain. The SDN includes a controller to configure the plurality of network devices. The method includes receiving a sequence of packets of a data flow traversing the in-line service chain, applying a hash function to the sequence of packets of the data flow to generate a set of hash values for the sequence of packets, and sending the set of hash values and a set of timestamps for the sequence of packets to the controller to determine delay and loss across a service of the in-line service chain.
Opening claim text (preview).
What is claimed is: 1. A method implemented by a network device to monitor the performance of packet processing in an in-line service chain, the network device one of a plurality of network devices forming a software defined network (SDN) and the in-line service chain, the SDN including a controller to configure the plurality of network devices, the method comprising the steps of: receiving a sequence of packets of a data flow traversing the in-line service chain; applying a hash function to the sequence of packets of the data flow to generate a set of hash values for the sequence of packets, the hash function using a set of invariant bits associated with services in the in-line service chain that affect the data flow, wherein the set of invariant bits are identified to be invariant amongst all the services in the in-line service chain; and sending the set of hash values and a set of timestamps for the sequence of packets to the controller to determine delay and loss across a service of the in-line service chain, wherein the identification of the set of invariant bits comprises the steps of: looking up a configuration file for each service associated with the data flow; identifying the set of invariant bits for the data flow based on each configuration file, wherein each configuration file is generated based on a template associated with a corresponding service; and inputting the set of invariant bits into the hash function to generate the set of hash values. 2. The method of claim 1 , further comprising the steps of: storing a hash value and timestamp of each packet in the sequence in a timestamp table; receiving a reset command from the controller; and resetting the timestamp table. 3. The method of claim 1 , further comprising the step of: aggregating the set of hash values and the set of timestamps for the sequence of packets to be sent to the controller. 4. A method implemented by a computing device to monitor the performance of packet processing in an in-line service chain, the computing device in communication with a plurality of network devices forming a software defined network (SDN) and the in-line service chain, the SDN including a controller implemented by the computing device to configure the plurality of network devices, the plurality of network devices including a first switch and a second switch positioned across a service in the in-line service chain traversed by packets of a data flow, the first switch generating a first set of hash values and a first set of timestamps for the packets, the second switch generating a second set of hash values and a second set of timestamps for the packets, the method comprising the steps of: receiving the first set of hash values and the first set of timestamps from the first switch and the second set of hash values and the second set of timestamps from the second switch, where the first set of hash values and second set of hash values are generated using a hash function and a set of invariant bits associated with services in the in-line service chain that affect the data flow, wherein the set of invariant bits are identified to be invariant amongst all the services in the in-line service chain; comparing a timestamp of the first set of time stamps with a second timestamp of the second set of timestamps having a same hash value to determine a delay time; identifying packet loss where a matching hash value for a hash value from the first set of hash values is not found in the second set of hash values; and sending timestamp table reset commands to the first switch and the second switch, wherein the identification of the set of invariant bits comprises the steps of: looking up a configuration file for each service associated with the data flow, identifying the set of invariant bits for the data flow based on each configuration file, wherein each configuration file is generated based on a template associated with a corresponding service, and inputting the set of invariant bits by the first switch into the hash function to generate the first set of hash values and inputting the set of invariant bits by the second switch into the hash function to generate the second set of hash values. 5. The method of claim 4 , the method further comprising the steps: creating a template for each service of a plurality of services in the SDN; and generating a configuration file for a selected service from the plurality of services for a switch in the SDN using a template for the selected service and parameters of the switch. 6. The method of claim 4 , wherein the first set of hash values from the first switch are aggregated and the second set of hash values from the second switch are aggregated. 7. A network device to monitor the performance of packet processing in an in-line service chain, the network device one of a plurality of network devices forming a software defined network (SDN) and the in-line service chain, the SDN including a controller to configure the plurality of network devices, the network device comprising: a non-transitory machine-readable medium having stored therein a monitoring module; and a network processor configured to execute a reporting module, the reporting module configured to receive a sequence of packets of a data flow traversing the in-line service chain, apply a hash function to the sequence of packets of the data flow to generate a set of hash values for the sequence of packets, where the hash function uses a set of invariant bits associated with services in the in-line service chain that affect the data flow, wherein the set of invariant bits are identified to be invariant amongst all the services in the in-line service chain, and send the set of hash values and a set of timestamps for the sequence of packets to the controller to determine delay and loss across a service of the in-line service chain, wherein the identification of the set of invariant bits comprises the steps of: looking up a configuration file for each service associated with the data flow, identifying the set of invariant bits for the data flow based on each configuration file, wherein each configuration file is generated based on a template associated with a corresponding service, and inputting the set of invariant bits into the hash function to generate the set of hash values. 8. The network device of claim 7 , wherein the reporting module is further configured to aggregate the set of hash values and the set of timestamps for the sequence of packets to be sent to the controller. 9. The network device of claim 7 , wherein the reporting module is further configured to store a hash value and timestamp of each packet in the sequence in a timestamp table, receive a reset command from the controller, and reset the timestamp table. 10. A computing device implementing a plurality of virtual machines for implementing network function virtualization (NFV), wherein a virtual machine from the plurality of virtual machines is configured to execute a method to monitor the performance of packet processing in an in-line service chain, the computing device in communication with a plurality of network devices forming a software defined network (SDN) and the in-line service chain, the SDN including a controller implemented by the computing device to configure the plurality of network devices, the plurality of devices including a first switch and a second switch positioned across a service in the in-line service chain traversed by a packets of a data flow, the first switch generating a first set of hash values and a first set of timestamps for the packets, the second switch generating a second set of hash values and a second set of timestamps for the packets, the computing device
Active monitoring, e.g. heartbeat, ping or trace-route · CPC title
Packet loss · CPC title
Delays · CPC title
Route determination based on the nature of the carried application · CPC title
involving identification of individual flows · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.