Method to determine optimal number of http2.0 streams and connections for better qoe

US2019116217A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2019116217-A1
Application numberUS-201715787482-A
CountryUS
Kind codeA1
Filing dateOct 18, 2017
Priority dateOct 18, 2017
Publication dateApr 18, 2019
Grant date

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.

Described embodiments provide for dynamically optimizing the number of application layer streams that may be multiplexed into a single transport layer connection, providing the advantages of application layer multiplexing without incurring unnecessary congestion-based network delays. A device may monitor net bandwidth and packet loss rates for a connection, and may dynamically increase and decrease a number of concurrent application layer streams to balance throughput and congestion avoidance. As congestion increases, the device may reduce concurrent stream limits in order to spawn additional transport layer connections, allowing faster congestion recovery and reduced performance impairment.

First claim

Opening claim text (preview).

What is claimed is: 1 . A method for managing concurrent application layer streams, comprising: establishing, by a network interface of a first device, a communication session with a second device, the communication session comprising a plurality of concurrent application layer streams; determining, by a stream manager of the first device, that a net bandwidth utilization of the communication session is above a first predetermined threshold; determining, by the stream manager responsive to determining that the net bandwidth utilization of the communication session is above the first predetermined threshold, that a packet loss rate of the communication session is above a second predetermined threshold; and transmitting, by the network interface to the second device, a first request to reduce a number of the plurality of concurrent streams, responsive to the determination that the packet loss rate of the communication session is above the second predetermined threshold. 2 . The method of claim 1 , wherein transmitting the first request to reduce the number of the plurality of concurrent streams comprises transmitting a packet comprising a SETTINGS_MAX_CONCURRENT_STREAMS parameter with a predetermined value smaller than the number of the plurality of concurrent streams. 3 . The method of claim 1 , further comprising subsequently determining, by the stream manager, that the packet loss rate of the communication session is below the second predetermined threshold; and transmitting, by the network interface to the second device, a second request to increase the number of the plurality of concurrent streams, responsive to the determination that the packet loss rate of the communication session is below the second predetermined threshold. 4 . The method of claim 3 , further comprising subsequently determining, by the stream manager, that the net bandwidth utilization of the communication session is below the first predetermined threshold; and responsive to determining that the net bandwidth utilization of the communication session is below the first predetermined threshold, transmitting, by the network interface to the second device, a second request to reduce the number of the plurality of concurrent streams. 5 . The method of claim 4 , wherein the first request comprises an identification of a lower number of concurrent streams than the second request. 6 . The method of claim 1 , wherein the communication session comprises a hypertext transport protocol v2 (HTTP2) session. 7 . The method of claim 1 , wherein transmitting the first request to reduce the number of the plurality of concurrent streams comprises transmitting a settings frame comprising an identification of one or more configuration parameters for the communications session. 8 . A method for managing concurrent application layer streams, comprising: establishing, by a network interface of a first device, a communication session with a second device, the communication session comprising a plurality of concurrent application layer streams; receiving, by the network interface from the second device, a first request to reduce a number of the plurality of concurrent streams, transmitted responsive to a determination by the second device that (i) a net bandwidth utilization of the communication session is above a first predetermined threshold, and (ii) a packet loss rate of the communication session is above a second predetermined threshold; and transmitting via a first stream of the plurality of concurrent streams, by the network interface responsive to receipt of the first request to reduce the number of the plurality of concurrent streams, a packet comprising an indicator that at least one stream of the plurality of concurrent application layer streams is closed. 9 . The method of claim 8 , wherein receiving the first request to reduce the number of the plurality of concurrent streams comprises receiving a packet comprising a SETTINGS_MAX_CONCURRENT_STREAMS parameter with a predetermined value smaller than the number of the plurality of concurrent streams. 10 . The method of claim 8 , further comprising receiving a second request to increase the number of the plurality of concurrent streams, by the first device from the second device, transmitted responsive to a determination by the second device that the packet loss rate of the communication session is below the second predetermined threshold; and transmitting via the first stream of the plurality of concurrent streams, by the network interface responsive to receipt of the second request to increase the number of the plurality of concurrent streams, a second packet comprising the plurality of concurrent application layer streams. 11 . The method of claim 10 , further comprising receiving a second request to reduce the number of the plurality of concurrent streams, by the first device from the second device, transmitted responsive to a determination by the second device that the net bandwidth utilization of the communication session is below the first predetermined threshold; and transmitting via the first stream of the plurality of concurrent streams, by the network interface responsive to receipt of the second request to reduce the number of the plurality of concurrent streams, a packet comprising an indicator that a second at least one stream of the plurality of concurrent application layer streams is closed. 12 . The method of claim 11 , wherein the first request comprises an identification of a lower number of concurrent streams than the second request. 13 . The method of claim 8 , wherein the communication session comprises a hypertext transport protocol v2 (HTTP2) session. 14 . The method of claim 8 , wherein receiving the first request to reduce the number of the plurality of concurrent streams comprises receiving a settings frame comprising an identification of one or more configuration parameters for the communications session. 15 . A system for managing concurrent application layer streams, comprising: a network interface configured to establish a communication session with a second device, the communication session comprising a plurality of concurrent application layer streams; and a stream manager, configured to: determine that a net bandwidth utilization of the communication session is above a first predetermined threshold, and determine, responsive to determining that the net bandwidth utilization of the communication session is above the first predetermined threshold, that a packet loss rate of the communication session is above a second predetermined threshold; and wherein the network interface is further configured to transmit, to the second device, a first request to reduce a number of the plurality of concurrent streams, responsive to the determination that the packet loss rate of the communication session is above the second predetermined threshold. 16 . The system of claim 15 , wherein the network interface is further configured to transmit a packet comprising a SETTINGS_MAX_CONCURRENT_STREAMS parameter with a predetermined value smaller than the number of the plurality of concurrent streams. 17 . The system of claim 15 , wherein the stream manager is further configured to subsequently determine that the packet loss rate of the communication session is below the second predetermined threshold; and wherein the network interface is further configured to transmit, to the second device, a second request to increase the number of the plurality of concurrent streams, responsive to the determination that the packet l

Assignees

Inventors

Classifications

  • where at least one of the additional parallel sessions is real time or time sensitive, e.g. white board sharing, collaboration or spawning of a subconference · CPC title

  • Interlayer communication protocols or service data unit [SDU] definitions; Interfaces between layers · CPC title

  • Multichannel or multilink protocols · CPC title

  • Packet rate · CPC title

  • Customer-centric QoS measurements · 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 US2019116217A1 cover?
Described embodiments provide for dynamically optimizing the number of application layer streams that may be multiplexed into a single transport layer connection, providing the advantages of application layer multiplexing without incurring unnecessary congestion-based network delays. A device may monitor net bandwidth and packet loss rates for a connection, and may dynamically increase and decr…
Who is the assignee on this patent?
Citrix Systems Inc
What technology area does this patent fall under?
Primary CPC classification H04L65/80. Mapped technology areas include Electricity.
When was this patent published?
Publication date Thu Apr 18 2019 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). 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).