IP Library Granted Patent US 12,549,782
Granted Patent B2
US 12,549,782 · App. 18/624,957 · Granted Feb 10, 2026

Buffer management for optimized processing in media pipeline

Inventors: Amit Kumar (Bangaluru, IN); Gopikumar Ranganathan (Bangaluru, IN)
Assignee: DISH Network Technologies India Private Limited
H04N21/23406H04N21/23106H04N21/8456
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,549,782
App. No.
18/624,957
Granted
Feb 10, 2026
Kind
B2
Abstract

Automated processes, computing systems, computing devices, and other aspects of a data processing system improve reliability in transmitting digital media content over a network using resource constrained hardware. Media content may be received from a media source and used to generate data segments. A reference to a first segment of the media content stored in the buffer is written to a message queue. A computing device switches into copy data mode in response to the number of references in the buffer being greater than or equal to a first threshold value. A second segment of the media content is written directly to the message queue.

Claims (31)

1 . An automated process comprising:

writing, to a buffer of a computing device, a first segment of media content, wherein the buffer is stored in a cache-level memory of the computing device;

writing, to a message queue of the computing device, a reference to the first segment of the media content stored in the buffer, wherein the message queue is stored in a main memory of the computing device having a slower access speed than the cache-level memory; and

writing, to the message queue of the computing device, a second segment of the media content.

2 . The automated process of claim 1 , wherein the second segment of the media content is written to the message queue in response to a number of references stored in the message queue being greater than or equal to a first threshold value.

3 . The automated process of claim 2 , wherein the first threshold value is equal to a maximum length of the buffer.

4 . The automated process of claim 3 , wherein the maximum length of the buffer is equal to a maximum number of data segments that fit into the buffer.

5 . The automated process of claim 1 , wherein the first segment and the second segment comprise multi-bitrate segments of the media content.

6 . The automated process of claim 1 , further comprising writing, to the message queue, a second address referencing a third segment of the media content stored in the buffer in response to a number of addresses stored in the message queue being less than or equal to a second threshold value.

7 . An automated process comprising:

generating a plurality of segments of media content, wherein the segments comprise multi-bitrate segments;

writing, to a buffer of a computing device, a first segment from the segments;

writing, to a message queue of the computing device, a reference to the first segment of the media content stored in the buffer; and

writing, to the message queue of the computing device, a second segment from the segments.

8 . The automated process of claim 7 , further comprising writing, to the message queue, a second reference to a third segment from the segments, wherein the third segment is stored in the buffer in response to a number of references stored in the buffer being less than or equal to a threshold value.

9 . The automated process of claim 7 , wherein the buffer is stored in a cache-level memory of the computing device, and

wherein the message queue is stored in a main memory of the computing device, the main memory having slower read and write speeds than the cache-level memory.

10 . The automated process of claim 7 , further comprising:

detecting a switching condition of the message queue in response to a number of references stored in the message queue is greater than or equal to a threshold value; and

switching the computing device from a copy-reference mode to a copy-data mode in response to detecting the switching condition.

11 . The automated process of claim 7 , wherein the computing device consumes the reference to the first segment from the message queue and reads the first segment from the buffer to encode the media content.

12 . A server device comprising a processor, a non-transitory data storage, and an interface to a network, wherein the non-transitory data storage is configured to store computer-executable instructions that, when executed by the processor, perform an automated process to deliver media content, the automated process comprising:

writing, to a buffer of a computing device, a first segment of the media content;

writing, to a message queue of the computing device, a reference to the first segment of the media content stored in the buffer, wherein the message queue comprises a first-in-first-out queue; and

writing, to the message queue of the computing device, a second segment of the media content.

13 . The server device of claim 12 , wherein the server device switches into a copy data mode in response to a number of addresses stored in the message queue being greater than or equal to a first threshold value.

14 . The server device of claim 13 , wherein the first threshold value is equal to a maximum length of the buffer.

15 . The server device of claim 12 , wherein the automated process further comprises switching into a copy reference mode in response to a number of addresses stored in the message queue being less than or equal to a second threshold value.

16 . The server device of claim 15 , wherein the automated process further comprises writing, by the processor and to the message queue, a third address referencing a third segment of the media content in response to the server device being in the copy reference mode, wherein the third segment is stored in the buffer.

17 . The server device of claim 12 , wherein the buffer is stored in a cache-level memory of the server device, and

wherein the message queue is stored in a main memory of the server device, the main memory having slower access speeds than the cache-level memory.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 2, 2024
From: KUMAR, AMIT; RANGANATHAN, GOPIKUMAR
To: SLING MEDIA PVT. LTD.
Reel/Frame 066984/0012 →
CHANGE OF NAME Recorded Apr 2, 2024
From: SLING MEDIA PRIVATE LIMITED
To: DISH NETWORK TECHNOLOGIES INDIA PRIVATE LIMITED
Reel/Frame 066984/0084 →
Continuity (3)
Continuation 18168894 · Feb 14, 2023
Continuation 17741255 · May 10, 2022
Related Publication 20240251113A1 · Jul 25, 2024
References Cited (17)
US 7382796B2 · Haberman et al. · 2008 [cited by applicant]
US 7647614B2 · Krikorian et al. · 2010 [cited by applicant]
US 8352685B2 · Bannon et al. · 2013 [cited by applicant]
US 10116713B2 · Chen · 2018 [cited by examiner]
US 11627345B1 · Kumar · 2023 [cited by examiner]
US 11979618B2 · Kumar · 2024 [cited by examiner]
US 20020013853A1 · Baber · 2002 [cited by examiner]
US 20030067872A1 · Harrell et al. · 2003 [cited by applicant]
US 20040078829A1 · Patel et al. · 2004 [cited by applicant]
US 20070192812A1 · Pickens et al. · 2007 [cited by applicant]
US 20130091297A1 · Minder et al. · 2013 [cited by applicant]
US 20140157341A1 · Malin et al. · 2014 [cited by applicant]
US 20140244727A1 · Kang · 2014 [cited by examiner]
US 20140317672A1 · Ramakrishnan et al. · 2014 [cited by applicant]
US 20160077798A1 · Pradeep · 2016 [cited by examiner]
US 20170075735A1 · Pradeep · 2017 [cited by examiner]
US 20190306551A1 · Arye et al. · 2019 [cited by applicant]