IP Library › Granted Patent US 10,887,366
Granted Patent B1
US 10,887,366 · App. 16/504,530 · Granted Jan 5, 2021

Systems, methods, and storage media for managing encoder instances in a serverless content distribution platform

Inventors: Jeff Platter (San Francisco, CA); Taylor Busch (San Francisco, CA); Jijo Jose (San Francisco, CA); Krystal Mejia (San Francisco, CA)
Assignee: CBS Interactive Inc.
H04L65/607H04L65/608H04N21/26241
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 10,887,366
App. No.
16/504,530
Granted
Jan 5, 2021
Kind
B1
Abstract

Systems, methods, and storage media for managing encoder instances in a serverless content distribution platform are disclosed. Exemplary implementations may: receive channel information relating to content to be streamed over a networked content distribution platform; associate the channel information with an encoder function that specifies video packaging settings and bitrates to create a stateless event object; repeat the receiving step and the associating step to create multiple stateless event objects; each correspond to one or more channels of streaming content; combine the multiple stateless event objects into a state machine; monitor the state of the state machine; and apply at least one workflow based on the states to manage instances of encoders corresponding to the one or more channels of streaming content.

Claims (34)

1. A system configured for managing encoder instances in a serverless content distribution platform, the system comprising:

one or more hardware processors configured by machine-readable instructions to:

receive channel information relating to content to be streamed over a networked content distribution platform, the channel information including a start time for a content streaming event;

associate the channel information with an encoder function that specifies video packaging settings and bitrates to create a stateless event object;

repeat the receiving step and the associating step to create multiple stateless event objects, each event object corresponding to one or more channels of streaming content; combine the multiple stateless event objects into a state machine;

monitor the state of the state machine; and

apply at least one workflow based on the states to manage instances of encoders corresponding to the one or more channels of streaming content; and

calculate an optimal time to instantiate encoders for events based on at least one of the number of events scheduled to run in the predetermined time window, a preconfigured early start time for each event scheduled to run in the predetermined time window, and a predetermined time buffer configured to allow multiple attempts at starting the encoders.

2. The system of claim 1 , wherein the event object comprises a data structure that includes fields for at least one of a channel ID, a connection state, content type, a start time, an end time, an event status, and a cryptographic key.

3. The system of claim 1 , wherein the workflows include at least one of create channel workflow, an edit channel workflow, a delete channel workflow, and a restart channel workflow.

4. The system of claim 1 , wherein the stateless event objects are AWS Lambda™ objects and the state machine is one or more AWS Step Functions™.

5. The system of claim 1 , wherein the monitoring comprises periodically checking the status of the state machine to detect events that are scheduled to run in a predetermined time window.

6. A computer implemented method for managing encoder instances in a serverless content distribution platform, the method comprising:

receiving channel information relating to content to be streamed over a networked content distribution platform, the channel information including a start time for a content streaming event;

associating the channel information with an encoder function that specifies video packaging settings and bitrates to create a stateless event object;

repeating the receiving step and the associating step to create multiple stateless event objects, each event object corresponding to one or more channels of streaming content;

combining the multiple stateless event objects into a state machine; monitoring the state of the state machine; and applying at least one workflow based on the states to manage instances of encoders corresponding to the one or more channels of streaming content; and

calculating an optimal time to instantiate encoders for events based on at least one of the number of events scheduled to run in the predetermined time window, a preconfigured early start time for each event scheduled to run in the predetermined time window, and a predetermined time buffer configured to allow multiple attempts at starting the encoders.

7. The method of claim 6 , wherein the event object comprises a data structure that includes fields for at least one of a channel ID, a connection state, content type, a start time, an end time, an event status, and a cryptographic key.

8. The method of claim 6 , wherein the workflows include at least one of create channel workflow, an edit channel workflow, a delete channel workflow, and a restart channel workflow.

9. The method of claim 6 , wherein the stateless event objects are AWS Lambda™ objects and the state machine is one or more AWS Step Functions™.

10. The method of claim 6 , wherein the monitoring comprises periodically checking the status of the state machine to detect events that are scheduled to run in a predetermined time window.

11. A non-transient computer-readable storage medium having instructions embodied thereon, the instructions being executable by one or more processors to perform a method for managing encoder instances in a serverless content distribution platform, the method comprising:

receiving channel information relating to content to be streamed over a networked content distribution platform, the channel information including a start time for a content streaming event;

associating the channel information with an encoder function that specifies video packaging settings and bitrates to create a stateless event object;

repeating the receiving step and the associating step to create multiple stateless event objects, each corresponding to one or more channels of streaming content;

combining the multiple stateless event objects into a state machine;

monitoring the state of the state machine; and

applying at least one workflow based on the states to manage instances of encoders corresponding to the one or more channels of streaming content; and

calculating an optimal time to instantiate encoders for events based on at least one of the number of events scheduled to run in the predetermined time window, a preconfigured early start time for each event scheduled to run in the predetermined time window, and a predetermined time buffer configured to avow multiple attempts at starting the encoders.

12. The computer-readable storage medium of claim 11 , wherein the event object comprises a data structure that includes fields for at least one of a channel ID, a connection state, content type, a start time, an end time, an event status, and a cryptographic key.

13. The computer-readable storage medium of claim 11 , wherein the workflows include at least one of create channel workflow, an edit channel workflow, a delete channel workflow, and a restart channel workflow.

14. The computer-readable storage medium of claim 11 , wherein the stateless event objects are AWS Lambda™ objects and the state machine is one or more AWS Step Functions™.

15. The computer-readable storage medium of claim 11 , wherein the monitoring comprises periodically checking the status of the state machine to detect events that are scheduled to run in a predetermined time window.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 19, 2019
From: JOSE, JIJO; MEJIA, KRYSTAL
To: CBS INTERACTIVE INC.
Reel/Frame 051052/0442 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 27, 2019
From: PLATTER, JEFF; BUSCH, TAYLOR
To: CBS INTERACTIVE INC.
Reel/Frame 050516/0131 →