US 11,693,860 B2
Approximate matching
David R. Cheriton, Palo Alto, CA (US)
Assigned to OptumSoft, Inc., Vero Beach, FL (US)
Filed by OptumSoft, Inc., Menlo Park, CA (US)
Filed on Jan. 22, 2020, as Appl. No. 16/749,771.
Claims priority of provisional application 62/799,613, filed on Jan. 31, 2019.
Prior Publication US 2020/0257692 A1, Aug. 13, 2020
Int. Cl. G06F 16/2455 (2019.01); G06F 17/16 (2006.01)
CPC G06F 16/24558 (2019.01) [G06F 17/16 (2013.01)] 18 Claims
OG exemplary drawing
 
1. A method, comprising:
receiving a table of symptoms for a root cause analysis of a monitored system, wherein the table is a sparse matrix;
receiving a query, related to the root cause analysis of the monitored system, comprising obtaining a mask set of subconditions associated with a current set of symptoms in the monitored system, wherein a representation of each subcondition comprises a value having one of three or more states, and wherein the three or more states comprises a state of “don't care”;
performing approximate matching of the obtained mask set of subconditions against a plurality of sets of subconditions, wherein each set of the plurality of set of subconditions is represented by a row in the table, comprising:
accessing a row set of subconditions among the plurality of sets of subconditions, wherein the row set of subconditions is associated with a row in the table;
wherein the row set of subconditions is linked to a root cause;
determining a matching function value based at least in part on determining a dynamic match operator value for each specific subcondition of the row set of subconditions and its corresponding mask subcondition of the obtained mask set based at least in part on a non-commutative match operation, wherein determining the dynamic match operator value comprises using the non-commutative match operation to match if a given specific subcondition is either “don't care” or matches its corresponding mask subcondition;
wherein determining the dynamic match operator value includes using a GPGPU (general-purpose computing on graphics processing unit) implementation to apply a specialized sparse matrix-vector multiplication (SpMV) that replaces a multiply operator with a match computation;
comparing the matching function value to a matching threshold at least in part using an accumulator register; and
outputting information indicating that the row set of subconditions is an approximate match for the obtained mask set of subconditions if the matching function value is within the matching threshold; and
simultaneously respond to the received query at least in part by simultaneously sending to a querying system a root cause linked to the approximate match on the row set of subconditions as a root cause failure of the monitored system, at least in part to help a user resolve a failure of the monitored system.