US 11,748,161 B1
Cluster job submission
Andrew Johnson, Cleveland, OH (US); Daniel Snitkovskiy, Renton, WA (US); Marti Motoyama, San Francisco, CA (US); and Jonathan Bender, Oakland, CA (US)
Assigned to Stripe, Inc., San Francisco, CA (US)
Filed by Stripe, Inc., San Francisco, CA (US)
Filed on Jun. 30, 2020, as Appl. No. 16/917,616.
Int. Cl. G06F 9/50 (2006.01); G06F 9/48 (2006.01); G06F 9/455 (2018.01); G06Q 40/02 (2023.01); H04L 67/56 (2022.01); G06Q 20/38 (2012.01); G06Q 20/02 (2012.01); G06Q 20/40 (2012.01)
CPC G06F 9/5005 (2013.01) [G06F 9/455 (2013.01); G06F 9/45533 (2013.01); G06F 9/45558 (2013.01); G06F 9/48 (2013.01); G06F 9/485 (2013.01); G06F 9/4806 (2013.01); G06F 9/4843 (2013.01); G06F 9/4881 (2013.01); G06F 9/50 (2013.01); G06F 9/5027 (2013.01); G06F 9/5061 (2013.01); G06F 9/5072 (2013.01); G06F 9/5077 (2013.01); G06Q 40/02 (2013.01); H04L 67/56 (2022.05); G06F 2009/4557 (2013.01); G06F 2009/45562 (2013.01); G06F 2009/45575 (2013.01); G06F 2209/505 (2013.01); G06Q 20/023 (2013.01); G06Q 20/385 (2013.01); G06Q 20/40 (2013.01)] 21 Claims
OG exemplary drawing
 
1. A method comprising:
receiving a request at a proxy service from a first client, via a first network communication, to submit a first job to a cluster; and
managing the first job externally to the first client, including
sending, by the proxy service, a request to an orchestration system to launch an orchestration system job in a container to start a cluster job running on the cluster via a job client running on a job client server separate from the cluster and the proxy service, the container encapsulating the first job that the client requested the proxy service to submit and including the job client and a launcher wrapper that launches the job client on the job client server,
storing, in a database under control of the proxy service, job identification information to identify the first job and a mapping of the job identification information to a cluster identifier associated with the cluster job, and
receiving state information regarding the orchestration system job sent by the launcher wrapper to the proxy service for storage in the database with the job identification information and the mapping of the job identification information to the cluster identifier associated with the cluster;
receiving, by the proxy service, a kill request from the first client to stop execution of the first job; and
signaling, by the proxy service, the cluster job directly without proceeding through the orchestration system using the cluster identifier stored in memory to kill execution of the cluster job.