US 11,853,448 B1
Applying transactional locks in distributed transactions
Ranadeep Bhuyan, Karnataka (IN); Steven Michael Saxon, Rancho Mirage, CA (US); and Aminish Sharma, Bangalore (IN)
Assigned to INTUIT, INC., Palo Alto, CA (US)
Filed by INTUIT INC., Mountain View, CA (US)
Filed on Jan. 31, 2023, as Appl. No. 18/161,966.
Int. Cl. G06F 11/00 (2006.01); G06F 21/62 (2013.01); G06F 11/07 (2006.01); G06F 11/34 (2006.01)
CPC G06F 21/6218 (2013.01) [G06F 11/0793 (2013.01); G06F 11/3452 (2013.01)] 14 Claims
OG exemplary drawing
 
1. A method, comprising:
generating a dependency graph based on one or more microservices;
computing, for each microservice of the one or more microservices, a complexity score using the dependency graph, wherein computing, for each microservice of the one or more microservices, the complexity score further comprises:
computing a processing ability score for each microservice of the one or more microservices indicative of an ability of the microservice to process information;
computing a modification ability score for each microservice of the one or more microservices indicative of an ability of the microservice to modify information;
computing a popularity score for each microservice of the one or more microservices indicative of upstream or downstream connections related to the microservice; and
combining the processing ability score, the modification ability score, and the popularity score to generate the complexity score for the microservice;
identifying a subset of the one or more microservices, wherein each microservice in the subset of the one or more microservices has a complexity score meeting a threshold value;
applying a transactional lock on each microservice in the subset of the one or more microservices;
determining that a microservice in the subset of the one or more microservices fails a task; and
activating the transactional lock on the microservice to block an input to or an output of the microservice from being accessed by other microservices of the one or more microservices.