Parallel string pattern searches in respective ones of array of nanocomputers
First Claim
1. A method for locating patterns in a data packet, said method comprising:
- distributing a first pattern to a first nanocomputer in an array of nanocomputers; and
distributing a second pattern to a second nanocomputer in an array of nanocomputers; and
streaming data from said data packet to said array of nanocomputers;
comparing, within said first and second nanocomputers, said streamed data against said first and second patterns, respectively; and
signaling a match when at least one of said nanocomputers has detected a match.
6 Assignments
0 Petitions
Accused Products
Abstract
A high-speed parallel pattern searching system is disclosed. The high-speed parallel pattern searching system allows the body of a data packet to be searched for one or more patterns such as a string or a series of strings. These string patterns can be defined by the grammar of regular expressions. In the invention, one or more patterns are loaded into one or more nanocomputers that operate in parallel. A control system then feeds a packet body into the participating nanocomputers such that each participating nanocomputer tests for a match. The various tests performed by the nanocomputers may be combined to perform complex searches. These nanocomputer searches are performed in parallel. Furthermore, several different searches may be combined together using control statements. A combination of these searches engines can be supported such that data is also looked at in parallel.
-
Citations
20 Claims
-
1. A method for locating patterns in a data packet, said method comprising:
-
distributing a first pattern to a first nanocomputer in an array of nanocomputers; and
distributing a second pattern to a second nanocomputer in an array of nanocomputers; and
streaming data from said data packet to said array of nanocomputers;
comparing, within said first and second nanocomputers, said streamed data against said first and second patterns, respectively; and
signaling a match when at least one of said nanocomputers has detected a match. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method for locating patterns in a data packet, said method comprising:
-
distributing a first pattern portion of an overall pattern to a first nanocomputer in an array of nanocomputers; and
distributing a second pattern portion of said overall pattern to a second nanocomputer in an array of nanocomputers; and
streaming data from said data packet to said array of nanocomputers;
comparing, within said first and second nanocomputers, said streamed data against said first and second pattern portions, respectively; and
signaling a match when both said first nanocomputer and said second nanocomputer have detected a match. - View Dependent Claims (8, 9, 10)
-
-
11. An apparatus for locating patterns in a data packet, said apparatus comprising:
-
an array of nanocomputers, each nanocomputer in said array of nanocomputers comprising a memory, a bus interface, at least one arithmetic-logic unit, and control circuitry for controlling said memory, bus interface, and arithmetic unit;
a bus distribution system, said bus distribution system for distributing information to said nanocomputers using said bus interface within each said nanocomputer;
a control unit for controlling said array nanocomputers cells, said control unit distributing a first pattern to a first nanocomputer, distributing a second pattern to a second nanocomputer, and streaming data from said data packet to said array of nanocomputers; and
match detection logic for signaling a match when at least one of said nanocomputers has detected a match. - View Dependent Claims (12, 13, 14, 15, 16)
-
-
17. An apparatus for locating patterns in a data packet, said apparatus comprising:
-
an array of nanocomputers, each nanocomputer in said array of nanocomputers comprising a memory, a bus interface, at least one arithmetic-logic unit, and control circuitry for controlling said memory, bus interface, and arithmetic unit, a bus distribution system, said bus distribution system for distributing information to said nanocomputers using said bus interface within each said nanocomputer;
a control unit for controlling said array nanocomputers cells, said control unit distributing a first pattern portion of an overall pattern to a first nanocomputer, distributing a second pattern portion of said overall pattern to a second nanocomputer, and streaming data from said data packet to said array of nanocomputers; and
match detection logic for signaling a match when both said first nanocomputer and said second nanocomputer have detected a match. - View Dependent Claims (18, 19, 20)
-
Specification