US 12,260,203 B2
Container orchestration framework
Srinivasan Manoharan, San Jose, CA (US); Vinesh Chirakkil, San Jose, CA (US); Yuehao Wu, Cupertino, CA (US); Junhua Zhao, Sunnyvale, CA (US); Xiaoying Han, San Jose, CA (US); Chun Kiat Ho, Singapore (SG); Premila Viswanathan, Dublin, CA (US); and Lin Song, Singapore (SG)
Assigned to PAYPAL, INC., San Jose, CA (US)
Filed by PayPal, Inc., San Jose, CA (US)
Filed on Aug. 19, 2022, as Appl. No. 17/891,876.
Application 17/891,876 is a continuation of application No. 16/519,734, filed on Jul. 23, 2019, granted, now 11,422,785.
Prior Publication US 2023/0126597 A1, Apr. 27, 2023
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 8/61 (2018.01); G06F 8/41 (2018.01); G06F 9/455 (2018.01)
CPC G06F 8/61 (2013.01) [G06F 8/41 (2013.01); G06F 9/45558 (2013.01); G06F 2009/45562 (2013.01); G06F 2009/45591 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A system, comprising:
a non-transitory memory; and
one or more hardware processors coupled with the non-transitory memory and configured to read instructions from the non-transitory memory to cause the system to perform operations comprising:
receiving a request for a computer service from a user device;
determining that the computer service comprises a plurality of tasks, wherein a first task of the plurality of tasks is associated with processing a first set of data by a first application, and wherein a second task of the plurality of tasks is associated with processing a second set of data by a second application;
determining that the first set of data is distributed across a first set of computer devices and that the second set of data is distributed across a second set of computer devices;
in response to determining that the first set of data is distributed across the first set of computer devices and that the second set of data is distributed across the second set of computer devices, deploying instances of the first application to the first set of computer devices and deploying instances of the second application to the second set of computer devices, wherein a respective instance of the first application is deployed on a corresponding one of the first set of computer devices, and wherein a respective instance of the second application is deployed on a corresponding one of the second set of computer devices;
configuring the instances of the first application deployed on the first set of computer devices to perform the first task of the computer service, wherein the instances of the first application are configured to process corresponding portions of the first set of data stored on the first set of computer devices and to generate corresponding intermediate data based on the processing the corresponding portions of the first set of data;
configuring the instances of the second application deployed on the second set of computer devices to perform the second task of the computer service, wherein the instances of the second application are configured to suspend processing the second set of data before receiving an indication that the corresponding intermediate data generated by each of the instances of the first application is ready;
receiving the indication that the corresponding intermediate data generated by each of the instances of the first application is ready;
in response to receiving the indication, causing the instances of the second application deployed on the second set of computer devices to produce output data based on processing the corresponding intermediate data generated by the instances of the first application and corresponding portions of the second set of data stored on the second set of computer devices; and
providing a response to the request for the computer service based on the output data.