Patent ID: 11934964
Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
Field: Computer technology (Electrical engineering)
Classification: CPC G | IPC G

Claim 23:
24. A method comprising:
receiving a request specifying at least one analytical operation to be performed on data, the analytical operation specifying a query having at least one query predicate;
in response to the request, configuring a regular expression (RegEx) engine to input the data as one or more streams of data units and to evaluate the query predicate against the data by applying one or more regular expressions to the one or more data streams according to one or non-deterministic finite automata (NFA), wherein configuring the RegEx engine includes generating a set of NFA instructions, the NFA instructions including at least one FORK instruction, each FORK instruction having a plurality of execution paths, including a default execution path and one or more other execution paths, and programming the RegEx engine to operate according to the NFA instructions;
executing the at least one FORK instruction, wherein executing includes:
attaching a first stack identifier to the default execution path;
pushing the default execution path and the first stack identifier to an instruction stack;
attaching a second stack identifier to the other execution paths, the second stack identifier a function of the first stack identifier;
pushing each other execution path with a respective second stack identifier to the instruction stack; and
executing each execution path in order by popping the execution path from the instruction stack.