High-performance quality-of-service packet scheduling for multiple packet processing engines

US10084711B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10084711-B2
Application numberUS-201615207080-A
CountryUS
Kind codeB2
Filing dateJul 11, 2016
Priority dateAug 9, 2013
Publication dateSep 25, 2018
Grant dateSep 25, 2018

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 system and method is provided for optimizing network traffic. The system includes a packet engine of a plurality of packet engines configured to acquire a data packet, to store the data packet in a queue, and to provide a request including a packet token representing the data packet, information regarding the size of the data packet, and a connection token. The system also includes a packet scheduler configured to receive the request; schedule the data packet using the connection token and the information regarding the size of the data packet; and provide the packet token and a notification to the packet engine for allowing the packet engine for transmitting the data packet.

First claim

Opening claim text (preview).

What is claimed is: 1. A system for optimizing network traffic, the system comprising: a packet engine of a plurality of packet engines configured to: acquire, in-band, a data packet and configuration information for establishing or updating a multi-level hierarchical classification tree; store the data packet in a queue; and provide a scheduling request including a packet token representing the data packet, a connection token representing at least one of a plurality of nodes contained in the multi-level hierarchical classification tree, and the configuration information; and a packet scheduler configured to: receive the scheduling request; schedule the data packet using at least the connection token and the multi-level hierarchical classification tree; and provide, to the packet engine, the packet token and a notification that the packet engine is authorized to transmit the data packet. 2. The system of claim 1 , wherein the multi-level hierarchical classification tree comprises a link node, at least one service class node, and at least one connection node. 3. The system of claim 1 , wherein the packet engine is configured to acquire the connection token to the data packet, and the connection token is a unique representation of a network connection. 4. The system of claim 1 , wherein the packet engine is configured to acquire the packet token to the data packet, and the packet token includes a pointer to the data packet stored in the queue. 5. The system of claim 1 , wherein the packet engine is further configured to receive the packet token and the notification, acquire the data packet from the queue using the packet token, and transmit the data packet based on the notification. 6. The system of claim 1 , wherein the scheduling request is stored in a packet scheduling queue that is separate from the queue storing the data packet. 7. The system of claim 1 , wherein the queue storing the data packet is associated with the packet engine or associated with one or more other components of the system. 8. A method for optimizing network traffic, the method being performed by one or more processors and comprising: receiving, in-band, a data packet and configuration information for establishing or updating a multi-level hierarchical classification tree at a packet engine; storing the data packet in a queue associated with the packet engine; providing a scheduling request to a packet scheduler to schedule transmission of the stored data packet, wherein the scheduling request includes a packet token representing the data packet, a connection token representing at least one of a plurality of nodes contained in the multi-level hierarchical classification tree, and the configuration information; scheduling the data packet using at least the connection token and the multi-level hierarchical classification tree; and providing the packet token and a notification to the packet engine for assisting the packet engine with transmitting the data packet. 9. The method of claim 8 , wherein the multi-level hierarchical classification tree comprises a link node, at least one service class node, and at least one connection node. 10. The method of claim 8 , wherein the providing the scheduling request comprises acquiring the connection token which is a unique representation of a network connection. 11. The method of claim 8 , wherein the providing the scheduling request comprises acquiring the packet token which includes a pointer to the data packet stored in the queue associated with the packet engine. 12. The method of claim 8 , further comprising receiving the packet token and the notification at the packet engine, acquiring the data packet from the queue using the packet token, and transmitting the data packet based on the notification. 13. A non-transitory computer readable storage medium that stores a set of instructions that is executable by at least one processor of a computer to cause the computer to perform a method for optimizing network traffic, the method comprising: receiving, in-band, a data packet and configuration information for establishing or updating a multi-level hierarchical classification tree at a packet engine; storing the data packet in a queue associated with the packet engine; providing a scheduling request to a packet scheduler to schedule transmission of the stored data packet, wherein the scheduling request includes a packet token representing the data packet, a connection token representing at least one of a plurality of nodes contained in the multi-level hierarchical classification tree, and the configuration information; scheduling the data packet using at least the connection token and the multi-level hierarchical classification tree; and providing the packet token and a notification to the packet engine for assisting the packet engine with transmitting the data packet. 14. The non-transitory computer readable storage medium of claim 13 , wherein the providing the scheduling request comprises acquiring the connection token to the data packet which is a unique representation of a network connection. 15. The non-transitory computer readable storage medium of claim 13 , wherein the providing the scheduling request comprises acquiring the packet token to the data packet which includes a pointer to the data packet stored in the queue associated with the packet engine. 16. The non-transitory computer readable storage medium of claim 13 , wherein the set of instructions that is executable by the at least one processor of a computer to cause the computer to further perform: receiving the packet token and the notification at the packet engine, acquiring the data packet from the queue using the packet token, and transmitting the data packet based on the notification. 17. A method for optimizing network traffic, the method being performed by one or more processors and comprising: receiving a scheduling request from a packet engine to schedule transmission of a data packet and configuration information for establishing or updating a multi-level hierarchical classification tree, wherein the data packet and configuration information are identified in-band, wherein the scheduling request includes a packet token representing the data packet, a connection token representing at least one of a plurality of nodes contained in a multi-level hierarchical classification tree, and the configuration information; scheduling the data packet using at least the connection token and the multi-level hierarchical classification tree; and providing the packet token and a notification to the packet engine for assisting the packet engine with transmitting the data packet. 18. The method of claim 17 , wherein the multi-level hierarchical classification tree comprises a link node, one or more service class nodes, and one or more connection nodes. 19. The method of claim 17 , wherein the connection token is a unique representation of a network connection. 20. The method of claim 17 , wherein the packet token includes a pointer to the data packet stored in a queue associated with the packet engine. 21. A non-transitory computer readable storage medium storing a set of instructions that is executable by the at least one processor of an appliance to cause the appliance to perform a method for optimizing network traffic, the method comprising: receiving a scheduling request from a packet engine to schedule transmission of a data packet and configuration information for establishing or updating a multi-level

Assignees

Inventors

Classifications

  • Routing tree calculation · CPC title

  • Traffic policing · CPC title

  • H04L47/24Primary

    Traffic characterised by specific attributes, e.g. priority or QoS · CPC title

  • by attributing bandwidth to queues · CPC title

  • based on packet size, e.g. shortest packet first · 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 US10084711B2 cover?
A system and method is provided for optimizing network traffic. The system includes a packet engine of a plurality of packet engines configured to acquire a data packet, to store the data packet in a queue, and to provide a request including a packet token representing the data packet, information regarding the size of the data packet, and a connection token. The system also includes a packet s…
Who is the assignee on this patent?
Citrix Systems Inc
What technology area does this patent fall under?
Primary CPC classification H04L47/24. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Sep 25 2018 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).