US 12,333,331 B2
Automated construction of software pipeline
Vijayakumar Raghavendran, Fremont, CA (US); and Srinjoy Chakraborty, Bangalore (IN)
Assigned to CISCO TECHNOLOGY, INC., San Jose, CA (US)
Filed by Cisco Technology, Inc., San Jose, CA (US)
Filed on Feb. 16, 2021, as Appl. No. 17/176,524.
Prior Publication US 2022/0261274 A1, Aug. 18, 2022
Int. Cl. G06F 9/48 (2006.01); G06F 8/60 (2018.01); G06F 9/50 (2006.01); G06F 11/34 (2006.01); G06N 20/00 (2019.01); G06F 11/3668 (2025.01)
CPC G06F 9/48 (2013.01) [G06F 8/60 (2013.01); G06F 9/5005 (2013.01); G06F 11/3495 (2013.01); G06N 20/00 (2019.01); G06F 11/3688 (2013.01); G06F 2209/5021 (2013.01)] 23 Claims
OG exemplary drawing
 
1. A computer-implemented method comprising:
obtaining an instruction to build a first software pipeline for a first user associated with a first tenant;
dividing the first software pipeline into a plurality of tasks, wherein the plurality of tasks includes a plurality of request tasks;
retrieving policy information for the first tenant;
determining a set of resources for performing each task in the plurality of tasks based on a service level offering defined in the policy information for the first tenant;
associating each of the plurality of tasks with a corresponding tag, wherein each of the plurality of request tasks is associated with a corresponding Type-Length-Value (TLV) tag having a plurality of bits representing Enhanced Transmission Selection (ETS) parameters or Priority Flow Control (PFC) parameters;
placing the plurality of request tasks into one or more delivery queues;
shuffling the one or more delivery queues based on a priority level associated with each of the plurality of request tasks and a policy associated with the first user;
allocating the set of resources for performing each task based on the policy associated with the first user;
running the first software pipeline using the set of resources allocated for performing each task in the plurality of tasks;
automatically tracking a performance of each task in the plurality of tasks with the corresponding tag; and
analyzing previous execution history and the corresponding tag for each task in the plurality of tasks to determine whether to assign a different tag to each task.