IP Library Granted Patent US 8,018,942
Granted Patent B2
US 8,018,942 · App. 12/347,292 · Granted Sep 13, 2011

Recognition systems based on pattern matching

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,018,942
App. No.
12/347,292
Granted
Sep 13, 2011
Kind
B2
Abstract

A recognition system for recognizing a data packet includes a data memory for storing data units in a predetermined order. A first data unit includes an instruction for determining a characteristic of the data packet. The first data unit also includes the total number of the data units, and a corresponding sequence number for the first data unit. The recognition system further includes a matching processor coupled to the data memory. The matching processor can execute the instruction in the first data unit to generate a result. The matching processor can also provide an address pointer according to the execution result, the total number of the data units, and the corresponding sequence number of the first data unit.

Claims (44)

1. A recognition system for recognizing a data packet, said system comprising:

a non-transitory computer-readable storage medium having a plurality of characteristic groups stored thereon, a first characteristic group in said plurality of characteristic groups comprising a plurality of data units, a first data unit in said plurality of data units comprising:

an instruction for determining a characteristic of said data packet;

a total number of data units in said first characteristic group;

a corresponding sequence number for said first data unit;

a total number of groups in said plurality of characteristic groups; and

a corresponding sequence number for said first characteristic group; and

a matching processor coupled to said non-transitory computer-readable storage medium and for executing said instruction to generate a result, and for calculating an address pointer according to said result and according to said total number of said data units, said corresponding sequence number for said first data unit, said total number of said groups, and said corresponding sequence number for said first characteristic group.

2. The recognition system as claimed in claim 1 , wherein said matching processor accesses a second data unit pointed to by said address pointer and executes an instruction stored in said second data unit.

3. The recognition system as claimed in claim 1 , wherein said instruction is operable for comparing said data packet with predetermined content stored in said first data unit to generate said result.

4. The recognition system as claimed in claim 1 , wherein said instruction comprises at least one parameter for the execution of said instruction.

5. The recognition system as claimed in claim 1 , wherein said plurality of characteristic groups are stored in said non-transitory computer-readable storage medium according to a first logical relationship of said plurality of characteristic groups, and wherein said plurality of data units are stored in said first characteristic group according to a second logical relationship of said plurality of data units.

6. The recognition system as claimed in claim 5 , wherein said first logical relationship comprises logical OR, and wherein said second logical relationship comprises logical AND.

7. The recognition system as claimed in claim 6 , wherein said address pointer points to a second data unit stored next to said first data unit if a Boolean value of said result is true.

8. The recognition system as claimed in claim 6 , wherein said address pointer points to a second data unit in a second characteristic group stored next to said first characteristic group if a Boolean value of said result is false.

9. The recognition system as claimed in claim 5 , wherein said first logical relationship comprises logical AND, and wherein said second logical relationship comprises logical OR.

10. The recognition system as claimed in claim 9 , wherein said address pointer points to a second data unit in a second characteristic group stored next to said first characteristic group if a Boolean value of said result is true.

11. The recognition system as claimed in claim 9 , wherein said address pointer points to a second data unit stored next to said first data unit if a Boolean value of said result is false.

12. A method for recognizing a data packet comprising:

accessing a first data unit in a plurality of characteristic groups stored in a non-transitory computer-readable storage medium, said characteristic groups comprising a first characteristic group, said first characteristic group comprising a plurality of data units, and said data units comprising said first data unit;

executing an instruction in said first data unit using a processor to determine a characteristic of said data packet; and

calculating an address pointer according to a result of said executing and according to a total number of data units in said plurality of data units, a corresponding sequence number for said first data unit, a total number of groups in said plurality of characteristic groups, and a corresponding sequence number for said first characteristic group.

13. The method as claimed in claim 12 , further comprising:

accessing a second data unit pointed to by said address pointer; and

executing an instruction stored in said second data unit.

14. The method as claimed in claim 12 , wherein said plurality of characteristic groups are stored in said non-transitory computer-readable storage medium according to a first logical relationship of said plurality of characteristic groups, and wherein said plurality of data units are stored in said first characteristic group according to a second logical relationship of said plurality of data units.

15. The method as claimed in claim 14 , wherein said first logical relationship comprises logical OR, and wherein said second logical relationship comprises logical AND.

16. The method as claimed in claim 15 , wherein said calculating of said address pointer comprises:

generating said address pointer pointing to a second data unit stored next to said first data unit if a Boolean value of said result is true.

17. The method as claimed in claim 15 , wherein said calculating of said address pointer comprises:

generating said address pointer pointing to a second data unit in a second characteristic group stored next to said first characteristic group if a Boolean value of said result is false.

18. The method as claimed in claim 14 , wherein said first logical relationship comprises logical AND, and wherein said second logical relationship comprises logical OR.

19. The method as claimed in claim 18 , wherein said calculating of said address pointer comprises:

generating said address pointer pointing to a second data unit in a second characteristic group stored next to said first characteristic group if a Boolean value of said result is true.

20. The method as claimed in claim 18 , wherein said calculating of said address pointer comprises:

generating said address pointer pointing to a second data unit stored next to said first data unit if a Boolean value of said result is false.

21. A recognition system for recognizing a data packet, said system comprising:

a data memory for providing a plurality of instructions respectively for determining a plurality of characteristics of said data packet, wherein said data memory comprises a plurality of characteristic groups, and wherein a first characteristic group in said plurality of characteristic groups comprises said plurality of instructions; and

a matching processor coupled to said data memory and for executing a first instruction of said plurality of instructions to generate a result, and for calculating an instruction pointer according to said result and according to a total number of instructions in said plurality of instructions, a corresponding sequence number for said first instruction, a total number of groups in said plurality of characteristic groups, and a corresponding sequence number for said first characteristic group.

22. The recognition system as claimed in claim 21 , wherein said matching processor accesses a second instruction pointed to by said instruction pointer and executes said second instruction.

23. The recognition system as claimed in claim 21 , wherein said result comprises a Boolean value.

24. The recognition system as claimed in claim 21 , wherein said plurality of characteristic groups are stored in said data memory according to a first logical relationship of said plurality of characteristic groups, and wherein said plurality of instructions are stored in said first characteristic group according to a second logical relationship of said plurality of instructions.

25. The recognition system as claimed in claim 24 , wherein said first logical relationship comprises logical OR, and wherein said second logical relationship comprises logical AND.

26. The recognition system as claimed in claim 24 , wherein said first logical relationship comprises logical AND, and wherein said second logical relationship comprises logical OR.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 19, 2012
From: O2MICRO INTERNATIONAL, LIMITED
To: IYUKO SERVICES L.L.C.
Reel/Frame 028585/0710 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 4, 2011
From: O2MICRO, INC.
To: O2MICRO INTERNATIONAL LIMITED
Reel/Frame 027178/0090 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 31, 2008
From: LIU, ZHENYU
To: O2MICRO INC.
Reel/Frame 022045/0569 →