US 11,775,341 B2
Automated job flow generation to provide object views in container-supported many task computing
Henry Gabriel Victor Bequet, Cary, NC (US); Ronald Earl Stogner, Cary, NC (US); Eric Jian Yang, Morrisville, NC (US); and Chaowang “Ricky” Zhang, Morrisville, NC (US)
Assigned to SAS Institute Inc., Cary, NC (US)
Filed by SAS Institute Inc., Cary, NC (US)
Filed on Apr. 29, 2022, as Appl. No. 17/733,196.
Application 17/733,196 is a continuation of application No. 17/733,090, filed on Apr. 29, 2022.
Application 17/733,090 is a continuation in part of application No. 17/682,783, filed on Feb. 28, 2022.
Application 17/682,783 is a continuation in part of application No. 17/563,697, filed on Dec. 28, 2021.
Application 17/563,697 is a continuation in part of application No. 17/558,237, filed on Dec. 21, 2021.
Application 17/558,237 is a continuation in part of application No. 17/308,355, filed on May 5, 2021, granted, now 11,204,809, issued on Dec. 21, 2021.
Application 17/308,355 is a continuation of application No. 17/225,023, filed on Apr. 7, 2021, granted, now 11,169,788, issued on Nov. 9, 2021.
Application 17/225,023 is a continuation in part of application No. 17/139,364, filed on Dec. 31, 2020, granted, now 11,144,293, issued on Oct. 12, 2021.
Application 17/139,364 is a continuation in part of application No. 17/064,577, filed on Oct. 6, 2020, granted, now 11,080,031, issued on Aug. 3, 2021.
Application 17/064,577 is a continuation in part of application No. 16/814,481, filed on Mar. 10, 2020, granted, now 10,795,935, issued on Oct. 6, 2020.
Application 16/814,481 is a continuation in part of application No. 16/708,179, filed on Dec. 9, 2019, granted, now 10,740,076, issued on Aug. 11, 2020.
Application 16/708,179 is a continuation in part of application No. 16/587,965, filed on Sep. 30, 2019, granted, now 10,650,046, issued on May 12, 2020.
Application 16/587,965 is a continuation in part of application No. 16/556,573, filed on Aug. 30, 2019, granted, now 10,650,045, issued on May 12, 2020.
Application 16/556,573 is a continuation of application No. 16/539,222, filed on Aug. 13, 2019, granted, now 10,649,750, issued on May 12, 2020.
Application 16/539,222 is a continuation in part of application No. 16/538,734, filed on Aug. 12, 2019, granted, now 10,642,896, issued on May 5, 2020.
Application 16/538,734 is a continuation in part of application No. 16/223,518, filed on Dec. 18, 2018, granted, now 10,380,185, issued on Aug. 13, 2019.
Application 16/223,518 is a continuation in part of application No. 16/236,401, filed on Dec. 29, 2018, granted, now 10,409,863, issued on Jul. 23, 2019.
Application 16/236,401 is a continuation in part of application No. 16/205,424, filed on Nov. 30, 2018, granted, now 10,346,476, issued on Jul. 9, 2019.
Application 16/205,424 is a continuation in part of application No. 16/039,745, filed on Jul. 19, 2018, granted, now 10,360,069, issued on Jun. 25, 2019.
Application 16/039,745 is a continuation in part of application No. 15/897,723, filed on Feb. 15, 2018, granted, now 10,331,495, issued on Jun. 25, 2019.
Application 15/897,723 is a continuation in part of application No. 15/896,613, filed on Feb. 14, 2018, granted, now 10,002,029, issued on Sep. 18, 2018.
Application 15/896,613 is a continuation of application No. 15/851,869, filed on Dec. 22, 2017, granted, now 10,078,710, issued on Dec. 26, 2017.
Application 15/851,869 is a continuation in part of application No. 15/613,516, filed on Jun. 5, 2017, granted, now 9,852,013, issued on Jun. 20, 2017.
Application 15/613,516 is a continuation of application No. 15/425,886, filed on Feb. 6, 2017, granted, now 9,684,544, issued on Jun. 20, 2017.
Application 15/425,886 is a continuation in part of application No. 15/425,749, filed on Feb. 6, 2016, granted, now 9,684,543.
Claims priority of provisional application 63/252,070, filed on Oct. 4, 2021.
Claims priority of provisional application 63/185,570, filed on May 7, 2021.
Claims priority of provisional application 63/159,428, filed on Mar. 10, 2021.
Claims priority of provisional application 63/157,419, filed on Mar. 5, 2021.
Claims priority of provisional application 63/139,703, filed on Jan. 20, 2021.
Claims priority of provisional application 63/029,989, filed on May 26, 2020.
Claims priority of provisional application 63/015,274, filed on Apr. 24, 2020.
Claims priority of provisional application 63/008,830, filed on Apr. 13, 2020.
Claims priority of provisional application 63/006,516, filed on Apr. 7, 2020.
Claims priority of provisional application 62/972,240, filed on Feb. 10, 2020.
Claims priority of provisional application 62/985,455, filed on Mar. 5, 2020.
Claims priority of provisional application 62/816,160, filed on Mar. 10, 2019.
Claims priority of provisional application 62/776,691, filed on Dec. 7, 2018.
Claims priority of provisional application 62/739,314, filed on Sep. 30, 2018.
Claims priority of provisional application 62/725,186, filed on Aug. 30, 2018.
Claims priority of provisional application 62/717,873, filed on Aug. 12, 2018.
Claims priority of provisional application 62/801,173, filed on Feb. 5, 2019.
Claims priority of provisional application 62/654,643, filed on Apr. 9, 2018.
Claims priority of provisional application 62/689,040, filed on Jun. 22, 2018.
Claims priority of provisional application 62/631,462, filed on Feb. 15, 2018.
Claims priority of provisional application 62/534,678, filed on Jul. 19, 2017.
Claims priority of provisional application 62/560,506, filed on Sep. 19, 2017.
Claims priority of provisional application 62/460,000, filed on Feb. 16, 2017.
Claims priority of provisional application 62/292,078, filed on Feb. 5, 2016.
Claims priority of provisional application 62/297,454, filed on Feb. 19, 2016.
Claims priority of provisional application 63/185,570, filed on May 7, 2021.
Claims priority of provisional application 63/252,070, filed on Oct. 4, 2021.
Prior Publication US 2022/0261281 A1, Aug. 18, 2022
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 9/48 (2006.01)
CPC G06F 9/4881 (2013.01) [G06F 9/485 (2013.01)] 27 Claims
OG exemplary drawing
 
1. An apparatus comprising at least one processor and a storage to store instructions that, when executed by the at least one processor, cause the at least one processor to perform operations comprising:
receive, at the at least one processor, and from a requesting device via a network, a request to provide a view of an object associated with a job flow, wherein:
the job flow is defined in a job flow definition that specifies a set of tasks to be performed via execution of a corresponding set of task routines within a set of node devices during a performance of the job flow;
analyze the object to determine whether the object is associated with a task type that, during a performance of the job flow, requires access to a particular resource that is not accessible to a first interpretation routine that is executable by the at least one processor to cause generation of views of objects;
in response to a determination that the object is associated with the task type, perform operations comprising:
store, within a job queue, a first job flow generation request message comprising a request to generate another job flow that causes generation of the requested view of the object when the other job flow is performed, and an indication of the task type;
within a first task container, in response to the request to generate the other job flow, the at least one processor is caused to perform operations comprising:
analyze the task type to determine whether an instance of a second interpretation routine, that is executable by the at least one processor within the first task container, does have access to the particular resource; and
in response to a determination that the instance of the second interpretation routine does have access to the particular resource, perform operations comprising:
execute instructions of the instance of the second interpretation routine to generate another job flow definition for the other job flow that specifies another set of tasks to be performed via execution of corresponding other set of task routines to generate the requested view of the object during a performance of the other job flow; and
store, within a task queue, a first job flow generation completion message comprising an indication of completion of the generation of the other job flow definition; and
after completion of the performance of the other job flow to generate the requested view of the object, transmit a copy of the requested view of the object to the requesting device via the network; and
in response to a determination that the object is not associated with the task type, perform operations comprising:
execute instructions of the instance of the first interpretation routine to generate the requested view of the object.