IP Library Granted Patent US 12,375,755
Granted Patent B2
US 12,375,755 · App. 16/934,065 · Granted Jul 29, 2025

Quick streaming reconnect by preserving streaming context on app exit

Inventors: Rakesh Eluvan Periyaeluvan (Bangalore, IN); Jayaprakash Narayanan Ramaraj (Bangalore, IN)
Assignee: DISH Network Technologies India Private Limited
H04N21/4367H04L65/1066H04N21/4398H04N21/440218H04N21/443
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 12,375,755
App. No.
16/934,065
Granted
Jul 29, 2025
Kind
B2
Abstract

Presented here is a method and system of operating set-top boxes with clients in a network that includes configuring a set-top box (STB) to reconnect to a client that exits from a streaming session. The method includes executing a streaming data from the STB to the client and in response to the client exiting the streaming session, maintaining the streaming session in the active state after the client has exited. Further continuing to transcode audio/video data after the client has exited and relinquishing audio/video data that is continuously transcoded and received in the streaming session up until a defined period. Thereafter, upon receiving a request by the client to reconnect, identifying the client for reconnection to the exited client from the streaming session and linking the client seamlessly so the client resumes reception of the streamed data without any interruption in the transcode of the AV data.

Claims (44)

1. A system to communicate with a client via a network, the system comprising:

an interface to the network;

a processor;

a non-transitory memory coupled with the processor, wherein the non-transitory memory is configured to store computer executable instructions that, when executed by the processor, cause the system to perform an automated process that comprises:

establishing a data communication link between the system and the client via the network to support a streaming session that streams audio/video (AV) data from the system to the client, wherein the client provides a client identifier to the system to administer control of the streaming session;

starting, by the system, to transcode the AV data at an adaptive bitrate (ABR) in a reserved context of the streaming session with the client while the streaming session is in an active state, wherein a transcode engine of the system writes data into a transfer buffer for transmission to the client, wherein the ABR is selected based on a fill rate or content of the transfer buffer;

identifying, by the system, the client has exited the streaming session while the system transcodes the AV data;

maintaining the streaming session in the active state for a defined period in response to identifying the client has exited the streaming session;

continuing, by the system, to transcode the AV data in the streaming session for the defined period while the streaming session is active after identifying the client has exited the streaming session, wherein the system continually stores a recently-transcoded segment in the transfer buffer of the reserved context without transmitting the recently-transcoded segment during the defined period after the client has exited, wherein the system is configured to relinquish the recently-transcoded segment from the transfer buffer in response to a disconnect period exceeding the defined period; and

receiving, by the system, a request by the client to reconnect to the system that includes the client identifier;

identifying, by the system and based upon the client identifier, that the request for reconnection corresponds to the client that exited within the defined period from the streaming session that remains in the active state; and

linking, by the system, the client to the streaming session in the active state thereby enabling the client to resume the streaming session without restarting the transcode engine, wherein upon linking to the client the system forwards the recently-transcoded segment from the transfer buffer.

2. The system of claim 1 , wherein the system is further configured to:

in response to a second client establishing a data communication link between the system, treating the second client as a new client and not linking the streaming session to the second client.

3. The system of claim 2 , wherein a latency by not restarting the transcoding engine, is reduced by up to 2 seconds, which is caused by the latency of a transcoding engine restart.

4. The system of claim 2 , wherein the system is configured to:

receive the client identifier of the client to determine whether to reconnect the streaming session based on the client identifier.

5. The system of claim 2 , wherein the system is configured to:

in response to an event causing the client to disconnect during the streaming session, configuring the system in a manner to not automatically clean the streaming session, and to create a new streaming session for connecting to the client.

6. The system of claim 1 wherein the AV data is transcoded during the streaming session linkable by the client identifier while the client is disconnected from the streaming session.

7. The system of claim 1 wherein, during the defined period, the system continually transcodes the AV data and stores a most-recently encoded segment of the AV data, wherein previously-stored encoded segments are dropped when the most-recently encoded segment is stored.

8. An automated process performed by a media device to deliver streaming media content to a client device via a network, the automated process comprising:

establishing a data communication link between the media device and the client device via the network to support a streaming session that streams the media content from the media device to the client device, wherein the client device provides a client identifier that is stored in a memory of the media device;

transcoding the media content at an adaptive bitrate (ABR) during the streaming session with the client device, wherein a transcode engine of the media device writes data into a transfer buffer while the streaming session with the client device is in an active state, wherein the ABR is selected based on a fill rate or content of the transfer buffer;

extending, by the media device, the transcoding the media content after the client device exits the streaming session, wherein the media devices stores a recently-transcoded segment of the media content in the transfer buffer of the streaming session without transmitting the recently-transcoded segment of the media content, wherein the media device is configured to relinquish the recently-transcoded segment from the transfer buffer in response to a disconnect period exceeding a predetermined period;

receiving, by the media device, a request to reconnect to the media device that includes the client identifier after the client device exits the streaming session;

identifying, by the media device and based upon the client identifier, that the request for reconnection corresponds to the client device that recently exited from the streaming session and that has a previously-established streaming session that remains in the active state; and

relinking, by the media device, the client device to the same streaming session maintained in the active state, wherein the client device resumes reception of the transcoded media content stored by the media device in the transfer buffer, wherein upon relinking to the client device the media device immediately forwards the recently-transcoded segment of the media content from the transfer buffer without causing a restart of the transcode engine.

9. The automated process of claim 8 , wherein the media content is a live television broadcast received and decoded by the media device.

10. The automated process of claim 9 wherein the extending comprises the media device continually transcoding a segment of the live television broadcast, storing the transcoded segment of the live television broadcast, transcoding a subsequent segment of the live television broadcast, and replacing the stored transcoded segment broadcast with the subsequent segment until either (i) a predetermined period of time has elapsed; or (ii) the client device receives the subsequent request to reconnect from the client device.

11. The automated process of claim 10 wherein the media content is transcoded during the streaming session linkable by the client identifier while the client device is disconnected from the streaming session.

12. The automated process of claim 8 wherein the extending comprises extending the streaming session for a predetermined period of time.

13. The automated process of claim 12 wherein the predetermined period of time is between five minutes and fifteen minutes.

14. The automated process of claim 12 wherein the predetermined period of time is fifteen minutes.

15. The automated process of claim 12 wherein, during the predetermined period, the media device continually transcodes the media content and stores the recently-transcoded segment of the media content, wherein previously-stored encoded segments are dropped when the recently-transcoded segment is stored.

16. An automated process performed by a system in communication with a client, the automated process comprising:

establishing a data communication link between the system and the client to support a streaming session that streams audio/video (AV) data from the system to the client, wherein the client provides a client identifier to the system to administer control of a reserved context of the streaming session;

starting, by the system, to transcode the AV data at an adaptive bitrate (ABR) in the reserved context of the streaming session with the client while the streaming session is in an active state, wherein the transcoding is performed by a transcode engine of the system for transmission to the client, wherein the ABR is selected based on a fill rate or content of the transfer buffer;

identifying, by the system, the client has exited the streaming session while the system transcodes the AV data;

maintaining the streaming session in the active state for a defined period in response to identifying the client has exited the streaming session;

continuing, by the system, to transcode the AV data at the ABR in the streaming session for the defined period while the streaming session is active after identifying the client has exited the streaming session, wherein the system continually stores a recently-transcoded segment in a transfer buffer without transmitting the recently-transcoded segment during the defined period after the client has exited, wherein the system is configured to relinquish the recently-transcoded segment from the transfer buffer in response to a disconnect period exceeding the defined period; and

receiving, by the system, a request to connect to the system that includes the client identifier;

identifying, by the system and based upon the client identifier, that the request corresponds to the client that exited within the defined period from the streaming session that remains in the active state; and

linking, by the system, the client to the streaming session in the active state thereby enabling the client to resume the streaming session without restarting the transcode engine, wherein upon linking to the client the system forwards from the transfer buffer the recently-transcoded segment that was transcoded in the streaming session while the client was disconnected from the streaming session.

Assignments (3)
CHANGE OF NAME Recorded Sep 1, 2022
From: SLING MEDIA PVT. LTD.
To: DISH NETWORK TECHNOLOGIES INDIA PRIVATE LIMITED
Reel/Frame 061365/0493 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 2, 2021
From: PERIYAELUVAN, RAKESH ELUVAN; RAMARAJ, JAYAPRAKASH NARAYANAN
To: SLING MEDIA PVT LTD.
Reel/Frame 057052/0488 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 21, 2020
From: PERIYAELUVAN, RAKESH ELUVAN; RAMARAJ, JAYAPRAKASH NARAYANAN
To: SLING MEDIA PVT LTD
Reel/Frame 053260/0062 →