IP Library Granted Patent US 12,321,774
Granted Patent B2
US 12,321,774 · App. 15/586,034 · Granted Jun 3, 2025

Methods and systems for queuing and prioritizing media events

Inventors: Paul Meijer (Seattle, WA); Mark Hellkamp (Bothell, WA)
Assignee: Comcast Cable Communications Management, LLC
G06F9/466G06F9/4881G06F9/5005G06F9/5038G06F9/5083H04N21/23103H04N21/241G06F9/4806H04L67/1001
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,321,774
App. No.
15/586,034
Granted
Jun 3, 2025
Kind
B2
Abstract

Methods and systems for queuing events are described. In one aspect, a method is disclosed that receives or creates an event and inserts the event into a queue. The method determines at least one property of the event and associates a priority with the event based on the property. The method then processes the event in accordance with its priority.

Claims (49)

1. A method comprising:

receiving, by a computing device, a media distribution package;

determining, based on the media distribution package, a video encoding event associated with an originator of the media distribution package, wherein the video encoding event is associated with a type of event;

inserting the video encoding event into a queue of events of a plurality of queues of events, wherein the queue of events comprises events associated with the type of event;

determining, after the video encoding event is inserted into the queue of events, based on a rule requiring performance of one event from each originator of an event before performance of an additional event from any originator, a priority for the video encoding event within the queue of events; and

causing an agent to perform the video encoding event from the queue of events in accordance with the priority of the video encoding event within the queue of events.

2. The method of claim 1 , wherein determining the priority for the video encoding event within the queue of events is further based on an availability of at least one media file of the media distribution package.

3. The method of claim 2 , wherein determining the priority for the video encoding event within the queue of events is further based on event information associated with the video encoding event.

4. The method of claim 3 , wherein the event information comprises an identifier of the at least one media file.

5. The method of claim 1 , wherein each originator of an event is associated with more than one event of the queue of events.

6. A method comprising:

receiving, by a computing device, a content item;

determining, based on the content item, a video encoding event associated with one or more originators of the content item, wherein the video encoding event is associated with a type of event;

inserting the video encoding event into a queue of events of a plurality of queues of events, wherein the queue of events comprises events associated with the type of event;

determining, after the video encoding event is inserted into the queue of events, based on a rule requiring performance of one event by each agent associated with an event before performance of an additional event by any agent, a priority for the video encoding event within the queue of events; and

causing an agent to perform the video encoding event from the queue of events in accordance with the priority of the video encoding event within the queue of events.

7. The method of claim 6 , wherein determining the priority for the video encoding event within the queue of events is further based on event information associated with the video encoding event.

8. The method of claim 7 , wherein the event information comprises an identifier of the content item.

9. The method of claim 6 , further comprising modifying a parameter associated with the content item, wherein the parameter indicates that the content item is unavailable.

10. The method of claim 6 , wherein the content item comprises a media file.

11. The method of claim 6 , wherein each agent associated with an event is associated with more than one event of the queue of events.

12. The method of claim 6 , wherein each agent associated with an event is configured to perform more than one video encoding event of the queue of events.

13. An apparatus, comprising:

one or more processors; and

a memory storing processor executable instructions that, when executed by the one or more processors, cause the apparatus to:

receive a media distribution package;

determine, based on the media distribution package, a video encoding event associated with an originator of the media distribution package, wherein the video encoding event is associated with a type of event;

insert the video encoding event into a queue of events of a plurality of queues of events, wherein the queue of events comprises events associated with the type of event;

determine, after the video encoding event is inserted into the queue of events, based on a rule requiring performance of one event from each originator of an event before performance of an additional event from any originator, a priority for the video encoding event within the queue of events; and

cause an agent to perform the video encoding event from the queue of events in accordance with the priority of the video encoding event within the queue of events.

14. The apparatus of claim 13 , wherein the processor executable instructions that, when executed by the one or more processors, cause the apparatus to determine the priority for the video encoding event within the queue of events further cause the apparatus to modify, based on an availability of at least one media file of the media distribution package, the priority for the video encoding event within the queue of events.

15. The apparatus of claim 14 , wherein the processor executable instructions that, when executed by the one or more processors, cause the apparatus to determine the priority for the video encoding event within the queue of events further cause the apparatus to modify, based on event information associated with the video encoding event, the priority for the video encoding event within the queue of events.

16. The apparatus of claim 15 , wherein the event information comprises an identifier of the at least one media file.

17. The apparatus of claim 13 , wherein the apparatus is associated with a service.

18. The apparatus of claim 13 , wherein each originator of an event is associated with more than one event of the queue of events.

19. An apparatus, comprising:

one or more processors; and

a memory storing processor executable instructions that, when executed by the one or more processors, cause the apparatus to:

receive a content item;

determine, based on the content item, a video encoding event associated with one or more originators the content item, wherein the video encoding event is associated with a type of event;

inserting the video encoding event into a queue of events of a plurality of queues of events, wherein the queue of events comprises events associated with the type of event;

determine, after the video encoding event is inserted into the queue of events, based on a rule requiring performance of one event by each agent associated with an event before performance of an additional event by any agent, a priority for the video encoding event within the queue of events; and

cause an agent to perform the video encoding event from the queue of events in accordance with the priority of the video encoding event within the queue of events.

20. The apparatus of claim 19 , wherein the processor executable instructions that, when executed by the one or more processors, cause the apparatus to determine the priority for the video encoding event within the queue of events further cause the apparatus to modify, based on event information associated with the video encoding event, the priority for the video encoding event within the queue of events.

21. The apparatus of claim 20 , wherein the event information comprises an identifier of the content item.

22. The apparatus of claim 19 , wherein the processor executable instructions, when executed by the one or more processors, further cause the apparatus to modify a parameter associated with the content item, wherein the parameter is associated with an availability of the content item.

23. The apparatus of claim 19 , wherein the content item comprises a media file.

24. The apparatus of claim 19 , wherein each agent associated with an event is associated with more than one event of the queue of events.

25. The apparatus of claim 19 , wherein each agent associated with an event is configured to perform more than one video encoding event of the queue of events.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 15, 2017
From: MEIJER, PAUL; HELLKAMP, MARK
To: THEPLATFORM, LLC
Reel/Frame 044136/0505 →
MERGER AND CHANGE OF NAME Recorded Oct 2, 2017
From: THEPLATFORM, LLC; COMCAST CABLE COMMUNICATIONS MANAGEMENT, LLC
To: COMCAST CABLE COMMUNICATIONS MANAGEMENT, LLC
Reel/Frame 043758/0850 →
Continuity (3)
Continuation 14496749 · Sep 25, 2014
Continuation 13446830 · Apr 13, 2012
Related Publication 20170364385A1 · Dec 21, 2017
References Cited (85)
US 6263066B1 · Shtivelman · 2001 [cited by examiner]
US 6381640B1 · Beck · 2002 [cited by examiner]
US 6601151B1 · Harris · 2003 [cited by examiner]
US 6683816B2 · Emmot · 2004 [cited by examiner]
US 6909708B1 · Krishnaswamy · 2005 [cited by examiner]
US 6925499B1 · Chen · 2005 [cited by examiner]
US 7143219B1 · Chaudhari · 2006 [cited by examiner]
US 7155475B2 · Agnoli · 2006 [cited by examiner]
US 7155716B2 · Hooman · 2006 [cited by examiner]
US 7173933B1 · O'Rourke · 2007 [cited by examiner]
US 7509671B1 · Bedell · 2009 [cited by examiner]
US 7555559B2 · Chapweske · 2009 [cited by examiner]
US 7577667B2 · Hinshaw · 2009 [cited by examiner]
US 7584292B2 · Bae · 2009 [cited by examiner]
US 7587549B1 · Arulambalam · 2009 [cited by examiner]
US 7614053B2 · Inoue · 2009 [cited by examiner]
US 7624396B1 · Isenberg · 2009 [cited by examiner]
US 7630570B1 · Haskell · 2009 [cited by examiner]
US 7853120B2 · Bumgardner · 2010 [cited by examiner]
US 7865887B2 · Kaiser · 2011 [cited by examiner]
US 8036372B2 · Patakula · 2011 [cited by examiner]
US 8099407B2 · Auerbach · 2012 [cited by examiner]
US 8125988B1 · Sullivan · 2012 [cited by examiner]
US 8413161B2 · Blackburn · 2013 [cited by examiner]
US 8526466B2 · Tischer · 2013 [cited by examiner]
US 8539509B2 · Tobe et al. · 2013 [cited by applicant]
US 8561076B1 · Desai · 2013 [cited by examiner]
US 8739176B1 · Darling · 2014 [cited by examiner]
US 8879895B1 · Bussieres · 2014 [cited by examiner]
US 8904451B2 · Meijer et al. · 2014 [cited by applicant]
US 8924981B1 · Brown · 2014 [cited by examiner]
US 9390128B1 · Seetala · 2016 [cited by examiner]
US 9678789B2 · Meijer et al. · 2017 [cited by applicant]
US 10387217B2 · Chowdhury · 2019 [cited by examiner]
US 20020083063A1 · Egolf · 2002 [cited by examiner]
US 20020087704A1 · Chesnais · 2002 [cited by examiner]
US 20020131399A1 · Philonenko · 2002 [cited by examiner]
US 20030009553A1 · Benfield · 2003 [cited by examiner]
US 20030037091A1 · Nishimura · 2003 [cited by examiner]
US 20030088723A1 · Mackey · 2003 [cited by examiner]
US 20030158913A1 · Agnoli · 2003 [cited by examiner]
US 20040045030A1 · Reynolds · 2004 [cited by examiner]
US 20040103438A1 · Yan · 2004 [cited by examiner]
US 20040113936A1 · Dempski · 2004 [cited by examiner]
US 20040158865A1 · Kubler · 2004 [cited by examiner]
US 20050135396A1 · McDaniel · 2005 [cited by examiner]
US 20050147090A1 · MacLeod Beck · 2005 [cited by examiner]
US 20050154625A1 · Chua · 2005 [cited by examiner]
US 20050195978A1 · Babic · 2005 [cited by examiner]
US 20060037021A1 · Anand · 2006 [cited by examiner]
US 20060195847A1 · Amano · 2006 [cited by examiner]
US 20070038791A1 · Subramanian · 2007 [cited by examiner]
US 20070073949A1 · Fredrickson · 2007 [cited by examiner]
US 20080056165A1 · Petrovykh · 2008 [cited by examiner]
US 20080095339A1 · Elliott · 2008 [cited by examiner]
US 20080244592A1 · Uchihira · 2008 [cited by examiner]
US 20080263555A1 · Ventroux · 2008 [cited by examiner]
US 20080285061A1 · Oteki · 2008 [cited by examiner]
US 20080285739A1 · Golitsin · 2008 [cited by examiner]
US 20080301175A1 · Applebaum · 2008 [cited by examiner]
US 20090083121A1 · Angell · 2009 [cited by examiner]
US 20090119303A1 · Rio · 2009 [cited by examiner]
US 20090161548A1 · Zhu · 2009 [cited by examiner]
US 20090198694A1 · Thomas · 2009 [cited by examiner]
US 20090213247A1 · Tanaka · 2009 [cited by examiner]
US 20100040341A1 · Yeh, Jr. · 2010 [cited by examiner]
US 20100043003A1 · Valdez · 2010 [cited by examiner]
US 20100053178A1 · Lee · 2010 [cited by examiner]
US 20100057583A1 · Jeffs · 2010 [cited by examiner]
US 20100057909A1 · Varadarajan · 2010 [cited by examiner]
US 20100223647A1 · Johnston · 2010 [cited by examiner]
US 20100303020A1 · Jones · 2010 [cited by examiner]
US 20110161970A1 · Bellows · 2011 [cited by examiner]
US 20110265099A1 · Tobe · 2011 [cited by examiner]
US 20110276396A1 · Rathod · 2011 [cited by examiner]
US 20110276712A1 · Narula · 2011 [cited by examiner]
US 20120023499A1 · Biran · 2012 [cited by examiner]
US 20120039451A1 · Shaffer · 2012 [cited by examiner]
US 20120117147A1 · Lowery · 2012 [cited by examiner]
US 20130064285A1 · Karlsson · 2013 [cited by examiner]
US 20130185727A1 · Huyard · 2013 [cited by examiner]
US 20130212584A1 · Heit · 2013 [cited by examiner]
US 20130265432A1 · Freedman · 2013 [cited by examiner]
US 20130275987A1 · Meijer et al. · 2013 [cited by applicant]
US 20150082312A1 · Meijer et al. · 2015 [cited by applicant]