IP Library Granted Patent US 11,736,404
Granted Patent B2
US 11,736,404 · App. 17/933,044 · Granted Aug 22, 2023

Flash crowd management in real-time streaming

Inventors: Fabian E. Bustamante (Evanston, IL); Stefan Birrer (Chicago, IL)
Assignee: Phenix Real Time Solutions, Inc.
H04L47/2416H04L47/823H04L65/611H04L65/612H04L65/613H04L65/80H04L67/101H04L67/1008H04L67/1029
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,736,404
App. No.
17/933,044
Granted
Aug 22, 2023
Kind
B2
Abstract

A real-time streaming service predicts an incoming flash crowd event and manages computing resources to respond to the event before traffic peaks, thus reducing the likelihood that the streaming service's resources will be overwhelmed. Embodiments of a real-time streaming server predict a flash crowd event by detecting actions by client devices during a multi-step process to access a real-time content stream from an endpoint server cluster. Initially, the endpoint server has first computing resources configured to stream the content stream to the client devices. The streaming server provisions second computing resources at the endpoint server based on a rate at which the client devices perform an action associated with a first step in the multi-step process. The second computing resources are configured to stream the real-time content stream based on a rate at which the client devices perform an action associated with a second step in the multi-step process.

Claims (71)

1. A method comprising:

configuring, by a computer system, a first quantity of computing resources at an endpoint server cluster to stream a real-time content stream;

determining, by the computer system, a first rate of requests by client devices to connect to the endpoint server cluster;

responsive to determining the first rate of the requests to connect to the endpoint server cluster is greater than a first threshold, slowing, by the computer system, a rate of handling of subsequent requests by client devices to connect to the endpoint server cluster;

after slowing the rate of handling of the subsequent requests, monitoring by the computer system, subscriptions by the client devices to a control channel at the endpoint server cluster, wherein the subscriptions are based on requests to connect to the control channel at the endpoint server cluster;

determining, by the computer system, a second rate of the subscriptions to the control channel at the endpoint server cluster; and

responsive to determining the second rate of the subscriptions to the control channel is greater than a second threshold, slowing, by the computer system, a rate of handling of subsequent subscriptions to the control channel at the endpoint server cluster.

2. The method of claim 1 , wherein slowing the rate of handling of the subsequent requests comprises:

inserting artificial latency between handling of a first subsequent request to connect to the endpoint server cluster and handling of a second subsequent request to connect to the endpoint server cluster.

3. The method of claim 1 , wherein slowing the rate of handling of the subsequent requests comprises:

denying a subset of the subsequent requests.

4. The method of claim 1 , further comprising:

responsive to determining the first rate of the requests to connect to the endpoint server cluster is greater than a third threshold but lower than the first threshold, provisioning, by the computer system, a second quantity of computing resources at the endpoint server cluster.

5. The method of claim 4 , further comprising:

responsive to determining the second rate of the subscriptions to the control channel is greater than a fourth threshold:

configuring, by the computer system, the provisioned second quantity of computing resources for streaming the real-time content stream to one or more of the client devices;

wherein the fourth threshold is lower than the second threshold.

6. The method of claim 4 , further comprising:

monitoring, by the computer system, subscriptions by the client devices to the real-time content stream on the control channel; and

responsive to determining a third rate of the subscriptions to the real-time content stream is greater than a fifth threshold, orchestrating the first quantity of computing resources and the second quantity of computing resources to deliver the real-time content stream to the client devices.

7. The method of claim 6 , wherein monitoring the subscriptions by the client devices to the real-time content stream on the control channel comprises detecting at least one of:

a rate of stream subscription requests associated with the real-time content stream,

a stream subscription request queue length associated with the real-time content stream, or

a rate of transport session requests associated with the real-time content stream.

8. The method of claim 1 , wherein determining the rate of requests by the client devices comprises:

detecting the requests by the client devices to connect to the control channel at the endpoint server cluster based on at least one of:

a number of Internet Control Message Protocol (ICMP) packets received at the endpoint server cluster from the client devices,

a number of Hypertext Transfer Protocol (HTTP) GET requests received at the endpoint server cluster from the client devices, or

a number of Transmission Control Protocol (TCP) connection requests received at the endpoint server cluster from the client devices.

9. The method of claim 1 , wherein determining the rate of the subscriptions by the client devices comprises:

monitoring the subscriptions by the client devices to the control channel; and

detecting at least one of:

a rate of channel subscription requests associated with the control channel,

a channel subscription request queue length associated with the control channel, or

a rate of transport session requests associated with the control channel.

10. A non-transitory computer readable storage medium storing executable computer program instructions, the computer program instructions when executed by a processor causing the processor to:

configure a first quantity of computing resources at an endpoint server cluster to stream a real-time content stream;

determine a first rate of requests by client devices to connect to the endpoint server cluster;

responsive to determining the first rate of the requests to connect to the endpoint server cluster is greater than a first threshold, provision a second quantity of computing resources at the endpoint server cluster;

after provisioning the second quantity of computing resources, monitor subscriptions by the client devices to a control channel at the endpoint server cluster, wherein the subscriptions are based on requests to connect to the control channel at the endpoint server cluster;

determine a second rate of the subscriptions to the control channel at the endpoint server cluster; and

responsive to determining the second rate of the subscriptions to the control channel is greater than a second threshold, automatically slow a rate of handling of subsequent subscriptions to the control channel at the endpoint server cluster.

11. The non-transitory computer readable storage medium of claim 10 , wherein slowing the rate of handling of the subsequent subscriptions comprises:

inserting artificial latency between handling of a first subsequent subscription to the control channel and handling of a second subsequent subscription to the control channel.

12. The non-transitory computer readable storage medium of claim 10 , wherein slowing the rate of handling of the subsequent subscriptions comprises:

denying a subset of the subsequent subscriptions.

13. The non-transitory computer readable storage medium of claim 10 , further comprising:

responsive to determining the second rate of the subscriptions to the control channel is greater than a third threshold:

configuring the provisioned second quantity of computing resources for streaming the real-time content stream to one or more of the client devices;

wherein the third threshold is lower than the second threshold.

14. A real-time streaming system comprising:

an endpoint server cluster including first computing resources configured to stream a real-time content stream to client devices; and

a streaming server communicatively coupled to the endpoint server cluster and configured to:

detect actions by a plurality of client devices during a multi-step process to access the real-time content stream from the endpoint server cluster;

in response to detecting that a first rate at which the plurality of client devices perform an action associated with a first step in the multi-step process is greater than a first threshold:

provision second computing resources different from the first computing resources at the endpoint server cluster; and

after provisioning the second computing resources, in response to detecting that a second rate at which the plurality of client devices perform an action associated with a second step in the multi-step process is greater than a second threshold:

automatically slow a rate of handling of the action associated with the second step; or

configure the provisioned second computing resources at the endpoint server cluster to stream the real-time content stream based on a rate at which the plurality of client devices perform an action associated with a second step in the multi-step process.

15. The real-time streaming system of claim 14 , wherein slowing the rate of handling of the action associated with the second step comprises:

inserting artificial latency between handling of a first action associated with the second step and handling of a second action associated with the second step.

16. The real-time streaming system of claim 14 , wherein slowing the rate of handling of the action associated with the second step comprises:

for a subset of the plurality of client devices, denying the action associated with the second step.

17. The real-time streaming system of claim 14 , wherein configuring the provisioned second computing resources at the endpoint server cluster comprises:

configuring the provisioned second computing resources responsive to determining the second rate is greater than a third threshold;

wherein the third threshold is lower than the second threshold.

18. The real-time streaming system of claim 14 , wherein the action associated with the first step in the multi-step process comprises establishing a connection between a client device and the endpoint server cluster, and wherein the streaming server is configured to measure the rate at which the plurality of client devices perform by the action associated with the first step using an endpoint selection signal.

19. The real-time streaming system of claim 14 , wherein the action associated with the second step in the multi-step process comprises requesting access to a control channel, and wherein the streaming server is configured to measure the rate at which the plurality of client devices perform by the action associated with the second step using a channel subscription signal.

20. The real-time streaming system of claim 14 , wherein the streaming server is further configured to:

responsive to determining that the rate at which the plurality of client devices perform the action associated with the first step in the multi-step process is greater than a third threshold, slowing handling of requests to perform the first step;

wherein the third threshold is lower than the first threshold.

Assignments (6)
SECURITY INTEREST Recorded Apr 14, 2026
From: STATS LLC
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 075390/0491 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 1, 2025
From: PHENIX REAL TIME SOLUTIONS, INC.
To: KB PARTNERS, LLC
Reel/Frame 072432/0568 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 1, 2025
From: KB PARTNERS, LLC
To: STATS LLC
Reel/Frame 072432/0642 →
RELEASE OF SECURITY INTEREST Recorded Sep 8, 2025
From: KB PARTNERS, LLC
To: STATS, LLC
Reel/Frame 072184/0541 →
SECURITY INTEREST Recorded May 21, 2025
From: PHENIX REAL TIME SOLUTIONS, INC.
To: KB PARTNERS, LLC
Reel/Frame 071182/0630 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 16, 2022
From: BUSTAMANTE, FABIÁN E.; BIRRER, STEFAN
To: PHENIX REAL TIME SOLUTIONS, INC.
Reel/Frame 061127/0024 →
Continuity (3)
Continuation 17147856 · Jan 13, 2021
Provisional Application 62960534 · Jan 13, 2020
Related Publication 20230081769A1 · Mar 16, 2023