US 11,994,964 B2
Dynamic node insertion of secondary services for high-availability during main decision failure at runtime
Prabin Patodia, Bangalore (IN); and Sumit Kumar, Bangalore (IN)
Assigned to PAYPAL, INC., San Jose, CA (US)
Filed by PAYPAL, INC., San Jose, CA (US)
Filed on Jun. 30, 2021, as Appl. No. 17/364,746.
Claims priority of application No. 202141023782 (IN), filed on May 28, 2021.
Prior Publication US 2022/0382655 A1, Dec. 1, 2022
Int. Cl. G06F 16/901 (2019.01); G06F 11/20 (2006.01); G06N 20/00 (2019.01); G06Q 10/0635 (2023.01); G06Q 30/0241 (2023.01); G06Q 30/0601 (2023.01)
CPC G06F 11/2028 (2013.01) [G06F 16/9024 (2019.01); G06N 20/00 (2019.01); G06Q 10/0635 (2013.01); G06Q 30/0241 (2013.01); G06Q 30/0631 (2013.01); G06F 2201/805 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A service provider system comprising:
a non-transitory memory; and
one or more hardware processors coupled to the non-transitory memory and configured to read instructions from the non-transitory memory to cause the service provider system to perform operations comprising:
receiving monitoring information for a plurality of data processing nodes of a main decision service, wherein the monitoring information comprises an average execution time of the plurality of data processing nodes and a service level agreement (SLA) for the main decision service;
determining at least a start time of the main decision service when invoked for a data processing request from a client device;
detecting, during a runtime of a processing flow for the main decision service that provides a decision for the data processing request, a failure of a first data processing node of the plurality of data processing nodes of the main decision service based at least on the monitoring information and the start time, wherein each of the plurality of data processing nodes comprise executable instructions for one or more computing tasks for the decision by the main decision service;
determining a secondary decision service that provides a response for the data processing request in place of the first data processing node during the failure of the first data processing node, wherein the secondary decision service comprises a fallback to the plurality of data processing nodes;
dynamically injecting a second data processing node for the first data processing node to the processing flow during the runtime of the main decision service, wherein the injected second data processing node executes a call to the secondary decision service for the response to the data processing request; and
utilizing, for the main decision service, the injected second data processing node in place of the first data processing node during the failure of the first data processing node.