Network service slotting

US9686192B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9686192-B2
Application numberUS-201313931227-A
CountryUS
Kind codeB2
Filing dateJun 28, 2013
Priority dateJun 28, 2013
Publication dateJun 20, 2017
Grant dateJun 20, 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.

Exemplary methods, apparatuses, and systems of packet processing utilize an ordered sequence of packet processing services to process a packet having a destination. The packet is a native, non-proprietary network packet that uses a standard network protocol and standard packet format. The packet processing services include a plurality of physical and/or virtual services. The ordered sequence is determined by applying one or more policy rules. A virtual service insertion platform manages routing of the packet to each service in the ordered sequence of services until all services have processed the packet, then the packet is forwarded to the packet destination.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-implemented method of processing a first packet using an ordered sequence of services, the first packet having a source, a destination, and a type, the method comprising: applying policy rules based on one or more attributes of the first packet, the one or more attributes comprising: a packet type, a source address, and a destination address; based on the applied policy rules, determining the ordered sequence of services for processing the first packet prior to sending the first packet to a destination identified in the first packet, the ordered sequence including a first service and a second service; altering a destination address of the first packet such that the first packet is sent to the first service and not the destination; storing, in a memory separate from the first packet, first state information for the first packet associated with the first service, the first state information comprising an indication as to whether the first packet is outbound or inbound, a type of the first packet, and the ordered sequence of services; preparing and forwarding the first packet to the first service; receiving a first processed packet from the first service in response to the forwarding of the first packet to the first service; identifying the first processed packet by comparing the first processed packet with the stored first state information associated with the first service; upon identifying the first processed packet, storing second state information for the first processed packet associated with the second service, the second state information comprising an indication as to whether the first processed packet is outbound or inbound, a type of the first processed packet, and the ordered sequence of services; preparing and forwarding the first processed packet to the second service; receiving a second processed packet from the second service in response to the forwarding of the first processed packet to the second service; identifying the second processed packet by comparing the second processed packet with the stored second state information associated with the second service; and preparing and forwarding to the second processed packet to the destination. 2. The method of claim 1 , wherein altering a destination address of the first packet comprises modifying a header of the first packet to specify a second destination address for the first service. 3. The method of claim 1 , wherein the attribute comprises one of: the type of the first packet and an address in a header of the first packet. 4. The method of claim 1 , wherein storing, in the memory, the first state information for the first packet comprises storing a header of the first packet in the memory, and storing the first state information for the first processed packet comprises storing, in the memory, a header of the first processed packet. 5. The method of claim 1 , wherein comparing the first processed packet with the first state information comprises comparing the first state information stored in the memory with: a source address of the first processed packet, the destination address of the first processed packet, a unique identifier of the first processed packet, a type of service that generated the first processed packet, or any combination of thereof. 6. The method of claim 1 , wherein storing, in the memory, state information for the first packet associated with the first service comprises generating, by a logic service, a control block that stores the state information for the first packet associated with the first service; and wherein identifying the first processed packet by comparing the first processed packet with the stored state information associated with the first service comprises identifying, by the logic service, the first processed packet by comparing the first processed packet with the state information stored in the memory. 7. The method of claim 1 , wherein the state information is prepared by a logic service, and wherein the method further comprises: forwarding, by the logic service, the first packet to the first service; receiving, by the logic service, the first processed packet from the first service; and identifying, by the logic service, the first processed packet by comparing the first processed packet with the stored state information associated with the first service. 8. A non-transitory computer-readable medium programmed with executable instructions that, when executed, implement a method of processing a first packet using an ordered sequence of services, the first packet having a source, a destination, and a type, the method comprising: applying policy rules based on one or more attributes of the first packet, the one or more attributes comprising: a packet type, a source address, and a destination address; based on the applied policy rules, determining the ordered sequence of services for processing the first packet, the ordered sequence including a first service and a second service; storing, in a memory separate from the first packet, first state information for the first packet associated with the first service, the first state information comprising an indication as to whether the first packet is outbound or inbound, a type of the first packet, and the ordered sequence of services; altering a destination address of the first packet such that the first packet is sent to the first service and not the destination; preparing and forwarding the first packet to the first service; receiving a first processed packet from the first service in response to the forwarding of the first packet to the first service; identifying the first processed packet by comparing the first processed packet with the stored first state information associated with the first service; storing second state information for the first processed packet associated with the second service, the second state information comprising an indication as to whether the first processed packet is outbound or inbound, a type of the first processed packet, and the ordered sequence of services; preparing and forwarding the first processed packet to the second service; receiving a second processed packet from the second service in response to the forwarding of the first processed packet to the second service; identifying the second processed packet by comparing the second processed packet with the stored second state information associated with the second service; and preparing and forwarding to the second processed packet to the destination. 9. The computer-readable medium of claim 8 , wherein preparing the first packet comprises modifying a header of the first packet to specify a destination address for the first service. 10. The computer-readable medium of claim 9 , wherein the attribute comprises one of: the type of the first packet and an address in a header of the first packet. 11. The computer-readable medium of claim 8 , wherein storing, in the memory, the first state information for the first packet comprises storing a header of the first packet in the memory, and storing the first state information for the first processed packet comprises storing, in the memory, a header of the first processed packet. 12. The computer-readable medium of claim 8 , wherein comparing the first processed packet with the first state information comprises comparing the first state information stored in the memory with: a source address of the first processed packet, the destination address of the first processed packet, a unique identifier of the first processed packet, a type of the service that generated the first processed packet, or any combination of thereof. 13

Assignees

Inventors

Classifications

  • Electricity · mapped topic

  • H04L45/74Primary

    Address processing for routing · CPC title

  • H04L67/63Primary

    Routing a service request depending on the request content or context · 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 US9686192B2 cover?
Exemplary methods, apparatuses, and systems of packet processing utilize an ordered sequence of packet processing services to process a packet having a destination. The packet is a native, non-proprietary network packet that uses a standard network protocol and standard packet format. The packet processing services include a plurality of physical and/or virtual services. The ordered sequence is…
Who is the assignee on this patent?
Nicira Inc, Niciria Inc
What technology area does this patent fall under?
Primary CPC classification H04L45/74. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Jun 20 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 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).