Bi-directional flow stickiness in a network environment

US9455908B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9455908-B2
Application numberUS-201414325059-A
CountryUS
Kind codeB2
Filing dateJul 7, 2014
Priority dateJul 7, 2014
Publication dateSep 27, 2016
Grant dateSep 27, 2016

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.

An example method for bi-directional flow stickiness in a network environment is provided and includes receiving a packet of a flow from a source address in a network, and destined to a destination address outside the network, looking up a flow table for an entry corresponding to the flow, and caching a forward flow entry and a reverse flow entry in the flow table if the look up results in a miss, the forward flow entry indicating a routing lookup, and the reverse flow entry indicating a previous hop from which the packet was received to maintain a bi-directional flow stickiness. Some embodiments also include receiving another packet from the destination address outside the network destined to the source address in the network, and forwarding it to the previous hop listed in the reverse flow entry.

First claim

Opening claim text (preview).

What is claimed is: 1. A method executed at a forwarder in a network, the method comprising: receiving a packet of a forward flow from a service node in the network, wherein the forward flow is subject to a plurality of service functions performed at respective service nodes in the network between a source of the packet in the network and a destination of the packet outside the network, wherein the packet is processed at the service node according to a particular service function; looking up a flow table for an entry corresponding to the forward flow; and if the look up results in a miss, caching a forward flow entry in the flow table, the forward flow entry indicating an action comprising an instruction to look up a forwarding table if the forwarder is a designated forwarder, and another instruction to forward the packet to the designated forwarder if the forwarder is a non-designated forwarder, wherein the designated forwarder for the particular service function is the only forwarder that can forward packets of the forward flow to a different service function or to a gateway according to the forwarding table, wherein the non-designated forwarder for the particular service function can only forward packets of the forward flow to the designated forwarder; and generating a reverse flow entry in the flow table indicating another action to forward any packets in a reverse direction of the forward flow to a previous hop from which the packet was received, wherein the previous hop comprises the service node if the service node is directly connected to the forwarder, wherein the previous hop comprises the non-designated forwarder if the service node is not directly connected to the forwarder, wherein packets in the reverse direction of the forward flow traverse the respective service nodes in reverse direction, wherein the reverse flow entry facilitates maintaining a bi-directional flow stickiness with respect to the service nodes. 2. The method of claim 1 , wherein the forwarding table includes a result of a routing lookup. 3. The method of claim 2 , further comprising looking up the forwarding table. 4. The method of claim 2 , wherein the forwarding table comprises an action to forward the packet to a gateway of the network. 5. The method of claim 1 , wherein each entry in the flow table comprises at least a source address field, a destination address field, and a next action field. 6. The method of claim 5 , wherein the forward flow entry comprises the source address in the source address field, the destination address in the destination address field, and the action in the next action field. 7. The method of claim 5 , wherein the reverse flow entry comprises the destination address in the source address field, the source address in the destination address field, and the another action to forward to the previous hop in the next action field. 8. The method of claim 1 , wherein the service node performs network address translation (NAT) on the packet, wherein the NAT transforms the source address to a translated source address, wherein the forward flow entry and the reverse flow entry identify packets of the forward flow based on the translated source address. 9. The method of claim 1 , wherein a plurality of forward flows traverse the network, wherein the forward flows are associated with respective forward flow entries and reverse flow entries in the flow table. 10. The method of claim 1 , further comprising: receiving another packet from the destination address outside the network destined to the source address in the network; and forwarding the another packet to the previous hop listed in the reverse flow entry. 11. Non-transitory tangible media that includes instructions for execution, which when executed by a processor of a forwarder, is operable to perform operations comprising: receiving a packet of a forward flow from a service node in the network, wherein the forward flow is subject to a plurality of service functions performed at respective service nodes in the network between a source of the packet in the network and a destination of the packet outside the network, wherein the packet is processed at the service node according to a particular service function; looking up a flow table for an entry corresponding to the forward flow; and if the look up results in a miss, caching a forward flow entry in the flow table, the forward flow entry indicating an action comprising an instruction to look up a forwarding table if the forwarder is a designated forwarder, and another instruction to forward the packet to the designated forwarder if the forwarder is a non-designated forwarder, wherein the designated forwarder for the particular service function is the only forwarder that can forward packets of the forward flow to a different service function or to a gateway according to the forwarding table, wherein the non-designated forwarder for the particular service function can only forward packets of the forward flow to the designated forwarder; and generating a reverse flow entry in the flow table indicating another action to forward any packets in a reverse direction of the forward flow to a previous hop from which the packet was received, wherein the previous hop comprises the service node if the service node is directly connected to the forwarder, wherein the previous hop comprises the non-designated forwarder if the service node is not directly connected to the forwarder, wherein packets in the reverse direction of the forward flow traverse the respective service nodes in reverse direction, wherein the reverse flow entry facilitates maintaining a bi-directional flow stickiness with respect to the service nodes. 12. The media of claim 11 , wherein each entry in the flow table comprises at least a source address field, a destination address field, and a next action field. 13. The media of claim 12 , wherein the forward flow entry comprises the source address in the source address field, the destination address in the destination address field, and the action in the next action field. 14. The media of claim 12 , wherein the reverse flow entry comprises the destination address in the source address field, the source address in the destination address field, and the another action to forward to the previous hop in the next action field. 15. The media of claim 11 , further configured for: receiving another packet from the destination address outside the network destined to the source address in the network; and forwarding the another packet to the previous hop listed in the reverse flow entry. 16. An apparatus located in a network, the apparatus comprising: a forwarder; a memory element for storing data; and a processor, wherein the processor executes instructions associated with the data, wherein the processor and the memory element cooperate, such that the apparatus is configured for: receiving a packet of a forward flow from a service node in the network, wherein the forward flow is subject to a plurality of service functions performed at respective service nodes in the network between a source of the packet in the network and a destination of the packet outside the network, wherein the packet is processed at the service node according to a particular service function; looking up a flow table for an entry corresponding to the forward flow; and if the look up results in a miss, caching a forward flow entry in the flow table, the forward flow entry indicating an action comprising an instruction to look up a forwarding table if the forwarder is a designated forwarder, and another instruction to for

Assignees

Inventors

Classifications

  • Flow based routing · CPC title

  • Interdomain routing, e.g. hierarchical routing · CPC title

  • H04L45/36Primary

    Backward learning · CPC title

  • H04L45/74Primary

    Address processing for routing · CPC title

  • Hop count for routing purposes, e.g. TTL · 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 US9455908B2 cover?
An example method for bi-directional flow stickiness in a network environment is provided and includes receiving a packet of a flow from a source address in a network, and destined to a destination address outside the network, looking up a flow table for an entry corresponding to the flow, and caching a forward flow entry and a reverse flow entry in the flow table if the look up results in a mi…
Who is the assignee on this patent?
Cisco Tech Inc
What technology area does this patent fall under?
Primary CPC classification H04L45/36. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Sep 27 2016 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 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).