US 12,223,344 B2
Managing fairness in task bundling of a queue
Paul Meijer, Seattle, WA (US); Brian Burkhart, Seattle, WA (US); and Chris Orogvany, Seattle, WA (US)
Assigned to Comcast Cable Communications Management, LLC, Philadelphia, PA (US)
Filed by COMCAST CABLE COMMUNICATIONS MANAGEMENT, LLC, Philadelphia, PA (US)
Filed on Nov. 1, 2013, as Appl. No. 14/069,911.
Prior Publication US 2015/0128149 A1, May 7, 2015
Int. Cl. G06F 9/48 (2006.01)
CPC G06F 9/4843 (2013.01) 20 Claims
OG exemplary drawing
 
1. A method, comprising:
accessing at least a portion of a queue comprising a first plurality of tasks, wherein each task of the first plurality of tasks is associated with a property, and wherein the property associated with each task of the first plurality of tasks indicates a type of media content;
calculating a mode of distribution of the respective properties associated with each task of the first plurality of tasks;
determining, based on the mode of the distribution of the respective properties associated with each task of the first plurality of tasks, an exclusion value for the type of media content, wherein the type of media content is indicated by a second highest occurring property in the distribution;
selecting, from the first plurality of tasks, a second plurality of tasks that comprises the respective properties that do not match the exclusion value;
receiving, based on multiple requests for a group of tasks from a group of processors, a single request for the group of tasks;
determining, based on the single request and a respective originator of each task of the second plurality of tasks, the group of tasks from the second plurality of tasks;
determining, based on the respective originator of each task of the second plurality of tasks and a task dependency associated with each task of the group of tasks, a task priority of each task of the group of tasks;
sending, based on the task priority of each task of the group of tasks, to the group of processors, the group of tasks; and
executing, by the group of processors, the group of tasks in accordance with the task priority of each task of the group of tasks.