# US 11,451,483 B2 · Flash crowd management in real-time streaming

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,451,483 B2
- Document ID: US11451483B2
- Status: Granted
- Kind: B2
- Application number: 17/147,856
- Filed: 2021-01-13
- Published: 2021-07-15
- Granted: 2022-09-20
- Earliest claimed: 2020-01-13
- Assignees: Phenix Real Time Solutions, Inc.
- Applicants: Phenix Real Time Solutions, Inc.
- Inventors: Fabián E. Bustamante; Stefan Birrer
- Web page: https://patentgrep.com/patent/US11451483B2

## CPC

- H04L 47/2416: Real-time traffic
- H04L 47/83: based on usage prediction
- H04L 65/611: for multicast or broadcast (systems for broadcast or conference H04L12/18; arrangements for broadcast or distribution combined with broadcast H04H20/00; arrangements for broadcast applications with a direct linkage to broadcast information or to broadcast space-time H04H60/00; selective distribution of broadcast services, e.g. multimedia broadcast multicast service [MBMS], H04W4/06)
- H04L 65/612: for unicast
- H04L 65/613: for the control of the source by the destination (control signals issued by the client directed to the server or network components specially adapted for selective content distribution H04N21/637)
- H04L 65/80: Responding to QoS
- H04L 67/1008: based on parameters of servers, e.g. available memory or workload (monitoring of computer activity G06F11/30)
- H04L 67/101: based on network conditions
- H04L 67/1029: using data related to the state of servers by a load balancer
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## 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

### Claim 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, provisioning, by the computer system, a second quantity of computing resources at the endpoint server cluster;
after provisioning the second quantity of computing resources, 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, configuring, by the computer system, the provisioned computing resources for streaming the real-time content stream to one or more of the client devices.

### Claim 2 (depends on 1)

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 endpoint 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.

### Claim 3 (depends on 1)

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.

### Claim 4 (depends on 1)

The method of claim 1, 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 stream is greater than a third 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.

### Claim 5 (depends on 4)

The method of claim 4, 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.

### Claim 6 (depends on 1)

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, slowing handling of the requests to connect to the endpoint server cluster.

### Claim 7 (depends on 1)

The method of claim 1, further comprising:
responsive to determining the second rate of subscriptions to the control channel is greater than a third threshold, slowing handling of the requests to subscribe to the endpoint server cluster.

### Claim 8

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, configure the provisioned computing resources for streaming the real-time content stream to one or more of the client devices.

### Claim 9 (depends on 8)

The non-transitory computer readable storage medium of claim 8, wherein the computer program instructions further cause the processor to:
monitor 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 stream is greater than a third threshold, orchestrate the first quantity of computing resources and the second quantity of computing resources to deliver the real-time content stream to the client devices.

### Claim 10 (depends on 8)

The non-transitory computer readable storage medium of claim 8, wherein the computer program instructions further cause the processor to:
responsive to determining the first rate of the requests to connect to the endpoint server cluster is greater than a third threshold, slow handling of the requests to connect to the endpoint server cluster.

### Claim 11 (depends on 8)

The non-transitory computer readable storage medium of claim 8, wherein the computer program instructions further cause the processor to:
responsive to determining the second rate of subscriptions to the control channel is greater than a third threshold, slow handling of the requests to subscribe to the endpoint server cluster.

### Claim 12

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;
provision second computing resources different from the first computing resources at the endpoint server cluster based on a rate at which the plurality of client devices perform an action associated with a first step in the multi-step process; and
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 after provisioning the second computing resources.

### Claim 13 (depends on 12)

The real-time streaming system of claim 12, 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.

### Claim 14 (depends on 13)

The real-time streaming system of claim 13, wherein the endpoint selection signal comprises 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.

### Claim 15 (depends on 12)

The real-time streaming system of claim 12, 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.

### Claim 16 (depends on 15)

The real-time streaming system of claim 15, wherein the channel subscription signal comprises 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.

### Claim 17 (depends on 12)

The real-time streaming system of claim 12, wherein the streaming server is further configured to:
orchestrate the first computing resources and the second computing resources to deliver the real-time content stream to one or more client devices based on a rate at which the plurality of client devices perform an action associated with a third step in the multi-step process.

### Claim 18 (depends on 17)

The real-time streaming system of claim 17, wherein the action associated with the third step in the multi-step process comprises requesting a subscription to the real-time content stream, 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 third step using a stream subscription signal.

### Claim 19 (depends on 18)

The real-time streaming system of claim 18, wherein the stream subscription signal comprises 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.

### Claim 20 (depends on 12)

The real-time streaming system of claim 12, wherein the streaming server is further configured to:
responsive to determining 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 threshold, slowing handling of requests to perform the first step.
