A non-deterministic finite state machine module for use in a regular expression matching system. The system includes a computational unit implementing a non-deterministic finite state machine representing a regular expression, wherein the computational unit is configured to: receive an input data stream, wherein an occurrence of the regular expression is determined, and an activation signal; process the input data stream with respect to the non-deterministic finite state machine depending on the activation signal; and provide at least one branch data output for initializing an additional non-deterministic finite state machine module if the processing of an element of the input data stream according to the non-deterministic finite state machine results in a branching of a processing thread.
Please help me write a proper abstract based on the patent claims. CLAIM: 1. A non-deterministic finite state machine module for use in a regular expression matching system, comprising: a computational unit implementing a non-deterministic finite state machine representing a regular expression, wherein the computational unit is configured to: receive an input data stream, wherein an occurrence of the regular expression is determined, and an activation signal; process the input data stream with respect to the non-deterministic finite state machine depending on the activation signal; and provide at least one branch data output for initializing an additional non-deterministic finite state machine module if the processing of an element of the input data stream according to the non-deterministic finite state machine results in a branching of a processing thread. 2. The non-deterministic finite state machine module according to claim 1, wherein the at least one branch data output includes: a branch flag output to provide a branch flag information to activate the additional non-deterministic finite state machine module; a branch configuration output to provide a branch configuration information including at least one branch offset information to forward an indication about a start offset of the input data stream and/or at least one capturing group start and end offset outputs to forward an indication about the start and end offsets of the at least one capturing group in the input data stream; a match output information to indicate when a regular expression match occurs; and a branch state information to provide an indication of a state to be processed next in the additional non-deterministic finite state machine module to be activated. 3. The non-deterministic finite state machine module according to claim 1, wherein the computational unit is configured to provide a plurality of active data outputs for maintaining the processing thread of the computational unit, wherein the plurality of active data outputs comprise: an active flag output to provide an active flag information to activate the additional non-deterministic finite state machine module; an active configuration output to provide an active configuration information including at least one active offset information to forward an indication about a start offset of the input data stream and at least one capturing group start and end offset outputs to forward an indication about the start and end offsets of the at least one capturing group in the input data stream; a match information to indicate when a regular expression match occurs; and an active state information to retain an indication of a state to be processed next in the computational unit. 4. The non-deterministic finite state machine module according to claim 3, wherein at least one of the following units is provided: a logic gate receiving the active flag information and a load flag information at its input, so that the computational unit is or remains activated if at least one of the active flag information and the load flag information is set; and a configuration register either to retain an active configuration output stored for the processing thread performed in the computational unit or to store an externally provided branch configuration output, depending on the load flag information. 5. A routing network for use with a plurality of non-deterministic finite state machine modules in a regular expression matching system, comprising: a plurality of input ports, each associated with one of the plurality of non-deterministic finite state machine modules; a plurality of output ports, each associated with one of the plurality non-deterministic finite state machine modules; wherein the plurality of input ports are configured to receive a branch data output from the associated one of the plurality of non-deterministic finite state machine modules, respectively; wherein the plurality of output ports are configured to activate the associated one of the plurality of non-deterministic finite state machine modules and forward the branch data output thereto depending on a branch flag information; wherein the routing network is configured to select, for each received branch data output indicating that an inactive non-deterministic finite state machine module is activated, one of the plurality of non-deterministic finite state machine modules which is inactive; and to forward the respective branch data output to the respective output port associated with the selected one of the plurality of non-deterministic finite state machine modules. 6. The routing network according to claim 5, comprising a first network which is configured to perform a pack operation and a second network which is configured to perform an unpack operation. 7. The routing network according to claim 6, wherein the first network is a reverse butterfly network and/or wherein the second network is a butterfly network. 8. The routing network according to claim 5, wherein the routing network is configured to perform a routing operation using a reverse butterfly processing, and wherein according to a given packing scheme one of the plurality of non-deterministic finite state machine modules is selected for each active and each to be activated one of the plurality of non-deterministic finite state machine modules wherein configuration information of each of the active and each of the to be activated ones of the plurality of non-deterministic finite state machine modules are copied into the associated one of the plurality of non-deterministic finite state machine. 9. The routing network according to claim 5, wherein the plurality of input ports each comprise: a branch flag input to receive the branch flag information indicating that one of the plurality of non-deterministic finite state machine modules is activated; a branch configuration input to receive a branch configuration output; and wherein the plurality of output ports each comprise: a load flag output to output a load flag information to the one of the plurality of non-deterministic finite state machine modules associated with the respective output port; a load configuration output to output a load configuration information. 10. A regular expression matching system, comprising: a plurality of non-deterministic finite state machine modules for use in a regular expression matching system, comprising: a computational unit implementing a non-deterministic finite state machine representing a regular expression, wherein the computational unit is configured to: receive an input data stream, wherein an occurrence of the regular expression is determined, and an activation signal; process the input data stream with respect to the non-deterministic finite state machine depending on the activation signal; and provide at least one branch data output for initializing an additional non-deterministic finite state machine module if the processing of an element of the input data stream according to the non-deterministic finite state machine results in a branching of a processing thread; and a routing network for use with the plurality of non-deterministic finite state machine modules in a regular expression matching system, comprising: a plurality of input ports, each associated with one of the plurality of non-deterministic finite state machine modules, wherein the plurality of input ports are configured to receive a branch data output from the associated one of the plurality of non-deterministic finite state machine modules, respectively; a plurality of output ports, each associated with one of the plurality non-deterministic finite state machine modules, wherein the plurality of output ports are configured to activate the associated one of the plurality of non-deterministic finite state machine modules and forward the branch data output thereto depending on a branch flag information; wherein the routing network is configured to select, for each received branch data output indicating that an inactive one of the plurality of non-deterministic finite state machine modules is activated, one of the plurality of non-deterministic finite state machine modules which is inactive; and to forward the respective branch data output to the respective output port associated with the selected one of the plurality of non-deterministic finite state machine modules; wherein each of the plurality of non-deterministic finite state machine modules is connected to one of the plurality of input ports and one of the plurality of output ports of the routing network. 11. A regular expression matching system, comprising: at least one non-deterministic finite state machine module, comprising: a computational unit implementing a non-deterministic finite state machine representing a regular expression, wherein the computational unit is configured to: receive an input data stream, wherein an occurrence of the regular expression is determined, and an activation signal; process the input data stream with respect to the non-deterministic finite state machine depending on the activation signal; and provide at least one branch data output for initializing an additional non-deterministic finite state machine module if the processing of an element of the input data stream according to the non-deterministic finite state machine results in a branching of a processing thread; at least one deterministic finite state machine module comprising a computational unit implementing a deterministic finite state machine representing a regular expression, wherein the computational unit is configured to: receive the input data stream and an activation signal; process the input data stream with respect to the implemented deterministic finite state machine depending on the activation signal; and a routing network for use with the at least one non-deterministic finite state machine module, comprising: a plurality of input ports, each associated with one of the at least one non-deterministic finite state machine module, wherein the plurality of input ports are configured to receive a branch data output from the associated one of the at least one non-deterministic finite state machine module, respectively; a plurality of output ports, each associated with one of the at least one non-deterministic finite state machine module, wherein the plurality of output ports are configured to activate the associated one of the at least one non-deterministic finite state machine module and forward the branch data output thereto depending on a branch flag information; wherein the routing network is configured to select, for each received branch data output indicating that an inactive non-deterministic finite state machine module is activated, one of the at least one non-deterministic finite state machine module which is inactive; and to forward the respective branch data output to the respective output port associated with the selected one of the at least one non-deterministic finite state machine modules; wherein each of the at least one non-deterministic and at least one deterministic finite state machine modules is connected to one of the plurality of input ports and one of the plurality of output ports of the routing network. 12. The regular expression matching system according to claim 10, wherein only a first state of the non-deterministic finite state machine is a non-deterministic state while a plurality of additional states of the non-deterministic finite state machine are deterministic, wherein the plurality of non-deterministic finite state machine modules is provided for a first non-deterministic state of the non-deterministic finite state machine and a plurality of deterministic finite state machines are configured to not provide the at least one branch data output. 13. The regular expression matching system according to claim 10, wherein the routing network includes an arbitration logic. 14. The regular expression matching system according to claim 10, including a number N of non-deterministic finite state machine modules and/or deterministic finite state machine modules, wherein the number N is defined by: converting a non-deterministic state machine into a deterministic state machine using a power-set algorithm, storing the mapping between the states of the nondeterministic state machine and the states of the deterministic state machine when the powerset algorithm is applied, and determining the number N by finding the state with the maximum number of nondeterministic states mapped in the deterministic state machine. 15. A regular expression matching method having a plurality of non-deterministic finite state machines, each representing the regular expression and an interconnection network, the method comprising the steps of: receiving an input data stream, wherein an occurrence of the regular expression is determined; processing the input data stream with respect to at least one activated non-deterministic finite state machine in a respective processing thread; providing branch data for initializing an additional processing thread of a non-deterministic finite state machine if the processing of an element of the input data stream according to the at least one activated non-deterministic finite state machine results in a branching of the processing thread; indicating for each received branch data output that a new processing thread of a non-deterministic finite state machine is initialized, selecting one of the plurality of non-deterministic finite state machines that is inactive; and forwarding the respective branch data output to the selected non-deterministic finite state machine. 16. A regular expression matching method performed having one non-deterministic finite state machine and a plurality of deterministic finite state machines, each at least partly representing the regular expression, and a routing network, wherein only a first state of the non-deterministic finite state machine is a non-deterministic state while additional states of the non-deterministic finite state machine are deterministic, the method comprising the steps of: receiving an input data stream in which an occurrence of the regular expression is determined; processing the input data stream with respect to the one non-deterministic finite state machine; providing branch data by the non-deterministic finite state machine for initializing an additional processing thread in one of the plurality of deterministic finite state machines; indicating for each received branch data output that a new processing thread of a deterministic finite state machine is initialized, selecting one of the plurality of deterministic finite state machines that is inactive; and forwarding the respective branch data output to the selected deterministic finite state machine. 17. The regular expression matching method according to claim 15, wherein the branch data output includes start offset information indicating the element of the input data stream which initiated the respective processing thread. 18. The regular expression matching method according to claim 16, wherein the branch data output includes start offset information indicating the element of the input data stream which initiated the respective processing thread. 19. A computer program product for regular expression matching having a plurality of non-deterministic finite state machines, each representing the regular expression and an interconnection network, the computer program product comprising a computer readable storage medium having program code embodied therewith, the program code readable/executable by a processor to perform the method according to claim 15. 20. A computer program product for regular expression matching having one non-deterministic finite state machine and a plurality of deterministic finite state machines, each at least partly representing the regular expression, and a routing network, wherein only a first state of the non-deterministic finite state machine is a non-deterministic state while additional states of the non-deterministic finite state machine are deterministic, the computer program product comprising a computer readable storage medium having program code embodied therewith, the program code readable/executable by a processor to perform the method according to claim 16.