Passive performance measurement for inline service chaining

US9705775B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9705775-B2
Application numberUS-201414549363-A
CountryUS
Kind codeB2
Filing dateNov 20, 2014
Priority dateNov 20, 2014
Publication dateJul 11, 2017
Grant dateJul 11, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

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.

First claim

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

Assignees

Inventors

Classifications

  • H04L43/10Primary

    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

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9705775B2 cover?
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 tra…
Who is the assignee on this patent?
Ericsson Telefon Ab L M, ERICSSON TELEFON AB L M (publ)
What technology area does this patent fall under?
Primary CPC classification H04L43/10. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Jul 11 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).