CA2007168A1 - Variable length string matcher - Google Patents

Variable length string matcher

Info

Publication number
CA2007168A1
CA2007168A1 CA2007168A CA2007168A CA2007168A1 CA 2007168 A1 CA2007168 A1 CA 2007168A1 CA 2007168 A CA2007168 A CA 2007168A CA 2007168 A CA2007168 A CA 2007168A CA 2007168 A1 CA2007168 A1 CA 2007168A1
Authority
CA
Canada
Prior art keywords
variable length
length string
string matcher
matcher
string
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CA2007168A
Other languages
French (fr)
Other versions
CA2007168C (en
Inventor
Brian Ta-Cheng Hou
Craig D. Cohen
James A. Pasco-Anderson
Michael Gutman
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
General Electric Co
Original Assignee
Codex Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Codex Corp filed Critical Codex Corp
Publication of CA2007168A1 publication Critical patent/CA2007168A1/en
Application granted granted Critical
Publication of CA2007168C publication Critical patent/CA2007168C/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3084Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
    • H03M7/3086Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method employing a sliding window, e.g. LZ77
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • G06F16/90339Query processing by using parallel associative memories or content-addressable memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • G06F16/90344Query processing by using string matching techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/02Comparing digital values
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/005Statistical coding, e.g. Huffman, run length coding
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C15/00Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/02Indexing scheme relating to groups G06F7/02 - G06F7/026
    • G06F2207/025String search, i.e. pattern matching, e.g. find identical word or best match in a string
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99936Pattern matching access

Abstract

A variable length string matcher uses absolute addressing of a history buffers the longest matching string is determined by an associative content addressable memory.
CA002007168A 1989-01-23 1990-01-04 Variable length string matcher Expired - Lifetime CA2007168C (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US29975989A 1989-01-23 1989-01-23
US299,759 1989-01-23

Publications (2)

Publication Number Publication Date
CA2007168A1 true CA2007168A1 (en) 1990-07-23
CA2007168C CA2007168C (en) 1999-12-14

Family

ID=23156170

Family Applications (1)

Application Number Title Priority Date Filing Date
CA002007168A Expired - Lifetime CA2007168C (en) 1989-01-23 1990-01-04 Variable length string matcher

Country Status (8)

Country Link
US (1) US5329405A (en)
EP (1) EP0380294B1 (en)
JP (1) JP2830280B2 (en)
AT (1) ATE152260T1 (en)
AU (1) AU624205B2 (en)
CA (1) CA2007168C (en)
DE (1) DE69030519D1 (en)
HK (1) HK1009317A1 (en)

Families Citing this family (68)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5373290A (en) * 1991-09-25 1994-12-13 Hewlett-Packard Corporation Apparatus and method for managing multiple dictionaries in content addressable memory based data compression
CA2077271C (en) * 1991-12-13 1998-07-28 David J. Craft Method and apparatus for compressing data
FR2687004B1 (en) * 1992-01-31 1994-03-18 France Telecom ASSOCIATIVE MEMORY ARCHITECTURE.
US5339076A (en) * 1992-04-27 1994-08-16 Integrated Information Technology Data compression using content addressable memory
US5488717A (en) * 1992-07-06 1996-01-30 1St Desk Systems, Inc. MTree data structure for storage, indexing and retrieval of information
NL9300310A (en) * 1993-02-19 1994-09-16 Oce Nederland Bv Device and method for syntactic signal analysis.
NL194527C (en) * 1993-02-22 2002-06-04 Hyundai Electronics Ind Adaptive device for variable length coding.
US6000008A (en) * 1993-03-11 1999-12-07 Cabletron Systems, Inc. Method and apparatus for matching data items of variable length in a content addressable memory
US5454094A (en) * 1993-06-24 1995-09-26 Hal Computer Systems, Inc. Method and apparatus for detecting multiple matches in a content addressable memory
JPH07114577A (en) * 1993-07-16 1995-05-02 Internatl Business Mach Corp <Ibm> Data retrieval apparatus as well as apparatus and method for data compression
DE69425209T2 (en) * 1993-09-20 2001-03-15 Codex Corp Connection method and arrangement for content addressable storage
DE4334294C1 (en) * 1993-10-08 1995-04-20 Ibm Variable length string processor
US5563595A (en) * 1993-12-23 1996-10-08 International Business Machines Corporation Method and apparatus for compressing data
US5525982A (en) * 1994-04-15 1996-06-11 International Business Machines Corporation Method and means for character string pattern matching for compression and the like using minimal cycles per character
US5687254A (en) * 1994-06-06 1997-11-11 Xerox Corporation Searching and Matching unrecognized handwriting
US5535210A (en) * 1994-07-29 1996-07-09 Motorola, Inc. Method and system for resolution of channel access in data transmission systems
US5649149A (en) * 1994-08-01 1997-07-15 Cypress Semiconductor Corporation Integrated content addressable memory array with processing logical and a host computer interface
US5883975A (en) * 1994-09-12 1999-03-16 Nippon Steel Corporation Compression and decompression methods on two-dimensional image data
US5553272A (en) * 1994-09-30 1996-09-03 The University Of South Florida VLSI circuit structure for determining the edit distance between strings
JPH08223226A (en) * 1994-11-23 1996-08-30 Internatl Business Mach Corp <Ibm> Compression method and system of short data length message
US5680601A (en) * 1994-12-14 1997-10-21 Hewlett-Packard Company Compression system for reducing the occurrence of a literal prefix
US5701256A (en) * 1995-05-31 1997-12-23 Cold Spring Harbor Laboratory Method and apparatus for biological sequence comparison
US5659755A (en) * 1995-11-20 1997-08-19 International Business Machines Corporation Method and system in a data processing system for efficiently compressing data using a sorting network
US5828324A (en) * 1996-06-17 1998-10-27 Hewlett-Packard Company Match and match address signal generation in a content addressable memory encoder
US5978885A (en) * 1996-06-17 1999-11-02 Hewlett Packard Co. Method and apparatus for self-timing associative data memory
US6069573A (en) * 1996-06-17 2000-05-30 Hewlett-Packard Company Match and match address signal prioritization in a content addressable memory encoder
US5654703A (en) * 1996-06-17 1997-08-05 Hewlett-Packard Company Parallel data compression and decompression
US5995963A (en) * 1996-06-27 1999-11-30 Fujitsu Limited Apparatus and method of multi-string matching based on sparse state transition list
US5749087A (en) * 1996-07-30 1998-05-05 International Business Machines Corporation Method and apparatus for maintaining n-way associative directories utilizing a content addressable memory
US5940825A (en) * 1996-10-04 1999-08-17 International Business Machines Corporation Adaptive similarity searching in sequence databases
JP3036467B2 (en) * 1997-06-19 2000-04-24 日本電気株式会社 Longest match detector
US6151658A (en) * 1998-01-16 2000-11-21 Advanced Micro Devices, Inc. Write-buffer FIFO architecture with random access snooping capability
FR2783618B1 (en) 1998-09-23 2002-01-04 France Telecom METHOD FOR UPDATING A TRIE-TYPE ASSOCIATIVE MEMORY, AND ROUTER IMPLEMENTING SUCH A METHOD
NO309169B1 (en) * 1998-11-13 2000-12-18 Interagon As Sokeprosessor
FR2789778B1 (en) 1999-02-12 2001-09-14 France Telecom METHOD FOR ASSOCIATING ROUTING REFERENCES WITH DATA PACKETS BY MEANS OF A SORTED MEMORY, AND PACKET ROUTER APPLYING THIS METHOD
US6678838B1 (en) 1999-08-23 2004-01-13 Advanced Micro Devices, Inc. Method to track master contribution information in a write buffer
WO2002061758A1 (en) * 2001-02-01 2002-08-08 Memcall Inc. Memory system for searching a longest match
US7069386B2 (en) * 2001-08-10 2006-06-27 Connex Technology, Inc. Associative memory device
US6760821B2 (en) * 2001-08-10 2004-07-06 Gemicer, Inc. Memory engine for the inspection and manipulation of data
US7107478B2 (en) * 2002-12-05 2006-09-12 Connex Technology, Inc. Data processing system having a Cartesian Controller
US7383421B2 (en) * 2002-12-05 2008-06-03 Brightscale, Inc. Cellular engine for a data processing system
US6665202B2 (en) 2001-09-25 2003-12-16 Integrated Device Technology, Inc. Content addressable memory (CAM) devices that can identify highest priority matches in non-sectored CAM arrays and methods of operating same
US7149780B2 (en) * 2001-12-14 2006-12-12 Pitney Bowes Inc. Method for determining e-mail address format rules
US7134143B2 (en) * 2003-02-04 2006-11-07 Stellenberg Gerald S Method and apparatus for data packet pattern matching
US7508985B2 (en) * 2003-12-10 2009-03-24 International Business Machines Corporation Pattern-matching system
US20060235662A1 (en) * 2005-04-15 2006-10-19 Argentar David R Eliminating redundant patterns in a method using position indices of symbols to discover patterns in sequences of symbols
US7451293B2 (en) * 2005-10-21 2008-11-11 Brightscale Inc. Array of Boolean logic controlled processing elements with concurrent I/O processing and instruction sequencing
US7805392B1 (en) 2005-11-29 2010-09-28 Tilera Corporation Pattern matching in a multiprocessor environment with finite state automaton transitions based on an order of vectors in a state transition table
EP1971956A2 (en) * 2006-01-10 2008-09-24 Brightscale, Inc. Method and apparatus for scheduling the processing of multimedia data in parallel processing systems
US7877401B1 (en) 2006-05-24 2011-01-25 Tilera Corporation Pattern matching
US9563433B1 (en) 2006-09-01 2017-02-07 Allsearch Semi Llc System and method for class-based execution of an instruction broadcasted to an array of processing elements
WO2008027567A2 (en) * 2006-09-01 2008-03-06 Brightscale, Inc. Integral parallel machine
US20080059763A1 (en) * 2006-09-01 2008-03-06 Lazar Bivolarski System and method for fine-grain instruction parallelism for increased efficiency of processing compressed multimedia data
US20080055307A1 (en) * 2006-09-01 2008-03-06 Lazar Bivolarski Graphics rendering pipeline
US20080059762A1 (en) * 2006-09-01 2008-03-06 Bogdan Mitu Multi-sequence control for a data parallel system
US20080244238A1 (en) * 2006-09-01 2008-10-02 Bogdan Mitu Stream processing accelerator
US20080059467A1 (en) * 2006-09-05 2008-03-06 Lazar Bivolarski Near full motion search algorithm
US7849399B2 (en) * 2007-06-29 2010-12-07 Walter Hoffmann Method and system for tracking authorship of content in data
US8046532B2 (en) * 2007-08-27 2011-10-25 Comtech Ef Data Corp. Content-addressable memories and state machines for performing three-byte matches and secondary matches, and for providing error protection
US10007486B2 (en) 2008-12-01 2018-06-26 Micron Technology, Inc. Systems and methods to enable identification of different data sets
US8281395B2 (en) * 2009-01-07 2012-10-02 Micron Technology, Inc. Pattern-recognition processor with matching-data reporting module
US9891842B2 (en) * 2015-09-08 2018-02-13 Micron Technology, Inc. Searching data in parallel using processor-in-memory devices
US11314807B2 (en) 2018-05-18 2022-04-26 Xcential Corporation Methods and systems for comparison of structured documents
US11887222B2 (en) 2021-11-12 2024-01-30 Rockwell Collins, Inc. Conversion of filled areas to run length encoded vectors
US11915389B2 (en) 2021-11-12 2024-02-27 Rockwell Collins, Inc. System and method for recreating image with repeating patterns of graphical image file to reduce storage space
US11842429B2 (en) 2021-11-12 2023-12-12 Rockwell Collins, Inc. System and method for machine code subroutine creation and execution with indeterminate addresses
US11748923B2 (en) 2021-11-12 2023-09-05 Rockwell Collins, Inc. System and method for providing more readable font characters in size adjusting avionics charts
US11954770B2 (en) 2021-11-12 2024-04-09 Rockwell Collins, Inc. System and method for recreating graphical image using character recognition to reduce storage space

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3465299A (en) * 1967-01-26 1969-09-02 Ibm Information translating data comparing systems
US3568156A (en) * 1967-08-09 1971-03-02 Bell Telephone Labor Inc Text matching algorithm
EP0001808A3 (en) * 1977-10-28 1979-05-30 Einar Godo Method and apparatus for binary word recognition
US4205302A (en) * 1977-10-28 1980-05-27 Einar Godo Word recognizing system
US4164025A (en) * 1977-12-13 1979-08-07 Bell Telephone Laboratories, Incorporated Spelled word input directory information retrieval system with input word error corrective searching
GB1588827A (en) * 1978-05-31 1981-04-29 System Dev Corp Data processor method and means for determining degree of match between two data arrays
US4285049A (en) * 1978-10-11 1981-08-18 Operating Systems, Inc. Apparatus and method for selecting finite success states by indexing
US4490811A (en) * 1979-03-14 1984-12-25 Yianilos Peter N String comparator device system circuit and method
JPS55157799A (en) * 1979-05-29 1980-12-08 Nippon Electric Co High efficiency pattern matching unit
US4355302A (en) * 1980-09-12 1982-10-19 Bell Telephone Laboratories, Incorporated Spelled word recognizer
US4422158A (en) * 1980-11-28 1983-12-20 System Development Corporation Method and means for interrogating a layered data base
JPS57127247A (en) * 1980-12-16 1982-08-07 Rca Corp Programmable comparator
US4450520A (en) * 1981-03-11 1984-05-22 University Of Illinois Foundation Method and system for matching encoded characters
CA1166706A (en) * 1981-06-23 1984-05-01 Ernst A. Munter Comparator circuit and method
GB2104264B (en) * 1981-07-27 1985-02-27 Standard Telephones Cables Ltd Code recognition circuit
JPS58103045A (en) * 1981-12-15 1983-06-18 Sony Tektronix Corp Detecting circuit for order of signal generation
US4453217A (en) * 1982-01-04 1984-06-05 Bell Telephone Laboratories, Incorporated Directory lookup method and apparatus
US4625295A (en) * 1982-01-25 1986-11-25 Skinner James T Textual comparison system for locating desired character strings and delimiter characters
US4689768A (en) * 1982-06-30 1987-08-25 International Business Machines Corporation Spelling verification system with immediate operator alerts to non-matches between inputted words and words stored in plural dictionary memories
US4539549A (en) * 1982-12-30 1985-09-03 International Business Machines Corporation Method and apparatus for determining minimum/maximum of multiple data words
US4558302A (en) * 1983-06-20 1985-12-10 Sperry Corporation High speed data compression and decompression apparatus and method
US4550436A (en) * 1983-07-26 1985-10-29 At&T Bell Laboratories Parallel text matching methods and apparatus
US4760523A (en) * 1984-06-29 1988-07-26 Trw Inc. Fast search processor
DE3432837A1 (en) * 1984-09-06 1986-03-06 Dr. Gerald Knabe GmbH, 4052 Korschenbroich DATA COMPRESSION AND DATA EXPANDING DEVICE FOR TRANSMITTING OR SAVE DATA
EP0326560A1 (en) * 1986-09-09 1989-08-09 Inventronic Data Systems Ab Arrangement for data compression
US5014327A (en) * 1987-06-15 1991-05-07 Digital Equipment Corporation Parallel associative memory having improved selection and decision mechanisms for recognizing and sorting relevant patterns
US4897814A (en) * 1988-06-06 1990-01-30 Arizona Board Of Regents Pipelined "best match" content addressable memory

Also Published As

Publication number Publication date
AU4704089A (en) 1990-07-26
DE69030519D1 (en) 1997-05-28
EP0380294A1 (en) 1990-08-01
ATE152260T1 (en) 1997-05-15
AU624205B2 (en) 1992-06-04
JP2830280B2 (en) 1998-12-02
HK1009317A1 (en) 1999-05-28
US5329405A (en) 1994-07-12
EP0380294B1 (en) 1997-04-23
JPH02233025A (en) 1990-09-14
CA2007168C (en) 1999-12-14

Similar Documents

Publication Publication Date Title
CA2007168A1 (en) Variable length string matcher
AU633725B2 (en) A content addressable memory
CA2231377A1 (en) Second-layer phase change memory array on top of a logic device
WO1990003994A3 (en) Water-dissipatable polyester resins and coatings prepared therefrom
AU9029091A (en) Memory mapped keyboard controller
AU1265895A (en) Novel substituted naphthopyrans
CA2206093A1 (en) A 2-(c3-5-alkyl)- and 2-aralkyl-1,2-benzisothiazolin-3-one composition and its use as a fungicide
FI884573A (en) FOERFARANDE FOER STYRNING AV LUFTPRODUKTIONEN I EN SCREW COMPRESSOR.
CA2114830A1 (en) Lactone Compound and Process of Production Thereof
CA2181486A1 (en) Waterborne Wiping Stain for Wood
FR2701386B1 (en) Bioresorbable interference screw.
AU5347094A (en) A new glucan lyase producing 1,5-anhydrofructose
FI842885A0 (en) IMPREGNERADE HARTSMASSOR OCH FOERFARANDE FOER ISOLERING AV ELEKTRISKA LINDNINGAR.
AU8315191A (en) Associative reactive blend-containing compositions
BR9201397A (en) EMPLOYMENT OF OLIGOURETANS WITH MOLECULAR WEIGHTS OF 5,000 TO 50,000
AU6597386A (en) Voice recognition process utilizing content addressable memory
EP0353381A3 (en) Antibiotic ll-e19085 alpha
AU599133B2 (en) Novel substituted (4.2.0.)bicyclooctane derivatives with valuable therapeutic properties
TR25484A (en) MANUFACTURING OF REDUCED ALKANOL OR ALKILFENOL OXITILATES WITH A REDUCED 1,4-DIOXAN CONTENT
AU3603089A (en) The production of polysaccharides from filamentous fungi
CA2159474A1 (en) Rod cartridge for a rock drilling equipment
CA2091063A1 (en) Aminoplast resin or aminoplast resin precursor
RU95116634A (en) FUSARIUM MONILIFOME (SHELD) Fungus Strain F = 446
TH14784EX (en) Door knob
TH17479EX (en) Twisted door handle

Legal Events

Date Code Title Description
EEER Examination request
MKEX Expiry