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

Claim 22:
23. A system comprising:
a processor coupled to Ea memory that stores instructions and a regular expression (RegEx) engine configured to detect patterns within a stream of data units, wherein the instructions, upon execution by the processor, cause the processor to:
receive a request to perform an analytical operation on data from the stream of data units, the analytical operation specifying a query having at least one query predicate,
wherein, in response to the request, the controller configures the RegEx engine to operate according to one or more non-deterministic finite automata (NFA) to evaluate the query predicate by applying one or more regular expressions to the stream of data units,
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; and
wherein the RegEx engine executes the at least one FORK instruction by 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 the other execution paths with their respective second stack identifiers to the instruction stack, and executing each execution path in order by popping the execution path from the instruction stack.