JPH0652241A - 入れ子構造メッセージ検索装置 - Google Patents
入れ子構造メッセージ検索装置Info
- Publication number
- JPH0652241A JPH0652241A JP4200731A JP20073192A JPH0652241A JP H0652241 A JPH0652241 A JP H0652241A JP 4200731 A JP4200731 A JP 4200731A JP 20073192 A JP20073192 A JP 20073192A JP H0652241 A JPH0652241 A JP H0652241A
- Authority
- JP
- Japan
- Prior art keywords
- token
- request
- search
- address
- output
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99944—Object-oriented database structure
- Y10S707/99945—Object-oriented database structure processing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Communication Control (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
(57)【要約】
【目的】メッセージメモリに格納されたトークン列のN
L(ネストレベル)やIDコード等の属性をトークン毎
に解読し、複数個の属性を持つトークン列を検索をする
際に、1回のサーチでできるようにする。 【構成】入れ子構造でボディ部にヘッダ部とボディ部の
配列を含むメッセージを記憶するメッセージメモリ1を
設ける。複数個の要求NL・IDを含む検索条件を保持
する検索条件メモリ2を設ける。検索条件メモリ2の出
力とメッセージメモリ1から検出されたNL・IDの出
力との照合を行う検索条件照合回路4を設ける。検索条
件照合回路4の出力を用いてメッセージの読み出しアド
レスを計算,発生するEA計算回路7,内部アドレス発
生回路8,アドレス発生回路3を設ける。検索条件照合
回路4により、検索条件が複数個でもミスマッチのトー
クンのボディ部を読み飛ばし、1回の検索処理で検索す
る。
L(ネストレベル)やIDコード等の属性をトークン毎
に解読し、複数個の属性を持つトークン列を検索をする
際に、1回のサーチでできるようにする。 【構成】入れ子構造でボディ部にヘッダ部とボディ部の
配列を含むメッセージを記憶するメッセージメモリ1を
設ける。複数個の要求NL・IDを含む検索条件を保持
する検索条件メモリ2を設ける。検索条件メモリ2の出
力とメッセージメモリ1から検出されたNL・IDの出
力との照合を行う検索条件照合回路4を設ける。検索条
件照合回路4の出力を用いてメッセージの読み出しアド
レスを計算,発生するEA計算回路7,内部アドレス発
生回路8,アドレス発生回路3を設ける。検索条件照合
回路4により、検索条件が複数個でもミスマッチのトー
クンのボディ部を読み飛ばし、1回の検索処理で検索す
る。
Description
【0001】
【産業上の利用分野】本発明は入れ子構造メッセージ検
索装置に関し、特に各種情報処理機器間で通信されるマ
ルチメディア情報や各種記憶媒体に記憶されるマルチメ
ディア情報を階層的に含む構成の入れ子構造のメッセー
ジを検索する入れ子構造メッセージ検索装置に関するも
のである。
索装置に関し、特に各種情報処理機器間で通信されるマ
ルチメディア情報や各種記憶媒体に記憶されるマルチメ
ディア情報を階層的に含む構成の入れ子構造のメッセー
ジを検索する入れ子構造メッセージ検索装置に関するも
のである。
【0002】
【従来の技術】入れ子構造メッセージ検索装置は、異機
種情報処理機器間のプロトコル(コードの取り決め)変
換や解析処理、ハイパーテキストサーチやマルチメディ
アデータベースの検索に使われ、ネットワークを介した
各種情報処理機器間のマルチメディア情報の通信と検索
に欠かせないものである。ここで、メッセージが入れ子
(ネスト)型であるという事は検索される情報が世界標
準のOSI階層プロトコルに基づいて表現されている事
を意味する。従って、汎用性に富んだメッセージが検索
される事になる。
種情報処理機器間のプロトコル(コードの取り決め)変
換や解析処理、ハイパーテキストサーチやマルチメディ
アデータベースの検索に使われ、ネットワークを介した
各種情報処理機器間のマルチメディア情報の通信と検索
に欠かせないものである。ここで、メッセージが入れ子
(ネスト)型であるという事は検索される情報が世界標
準のOSI階層プロトコルに基づいて表現されている事
を意味する。従って、汎用性に富んだメッセージが検索
される事になる。
【0003】図9はOSI階層プロトコルに従ったメッ
セージの取扱方式MHS(メッセージハンドリングシス
テム)の構文規則によって作成されたメッセージの構成
の一例である。図9において、メッセージMSGのトー
クンTK10はヘッダ部HD10とボディ部BD10と
から成る。ボディ部BD10がさらにヘッダ部HD21
とボディ部BD22とから成るトークンTK21(入れ
子なし)と、ヘッダ部HD22とボディ部BD22とか
らなるトークンTK22(入れ子あり)とを含む。ボデ
ィ部BD22はヘッダ部HD31,HD32とボディ部
BD31,BD32とをそれぞれ対応して持ち入れ子な
しトークンTK31,TK32とヘッダ部HD33とボ
ディ部BD33とを持つ入れ子ありトークンTK33を
含み、ボディ部BD33はさらにヘッダ部HD41,H
D42とボディ部BD41,BD42とをそれぞれ対応
して持つ入れ子なしトークンTK41,TK42を持
つ。
セージの取扱方式MHS(メッセージハンドリングシス
テム)の構文規則によって作成されたメッセージの構成
の一例である。図9において、メッセージMSGのトー
クンTK10はヘッダ部HD10とボディ部BD10と
から成る。ボディ部BD10がさらにヘッダ部HD21
とボディ部BD22とから成るトークンTK21(入れ
子なし)と、ヘッダ部HD22とボディ部BD22とか
らなるトークンTK22(入れ子あり)とを含む。ボデ
ィ部BD22はヘッダ部HD31,HD32とボディ部
BD31,BD32とをそれぞれ対応して持ち入れ子な
しトークンTK31,TK32とヘッダ部HD33とボ
ディ部BD33とを持つ入れ子ありトークンTK33を
含み、ボディ部BD33はさらにヘッダ部HD41,H
D42とボディ部BD41,BD42とをそれぞれ対応
して持つ入れ子なしトークンTK41,TK42を持
つ。
【0004】このように、ネストレベルNL=1のトー
クンTK10のボディ部BD10がNL2の2つのトー
クンTK21,TK22を含み、このうちの第1のトー
クンTK21はNL=2止まりであるが、第2のトーク
ンのボディ部BD22がさらにNL=3のトークンTK
31,TK32,TK33を含むと言う入れ子構造のト
ークン列と言っている。図9の場合、さらに、トークン
TK33のボディ部BD33がNL=4のトークンTK
41,TK42を含む。
クンTK10のボディ部BD10がNL2の2つのトー
クンTK21,TK22を含み、このうちの第1のトー
クンTK21はNL=2止まりであるが、第2のトーク
ンのボディ部BD22がさらにNL=3のトークンTK
31,TK32,TK33を含むと言う入れ子構造のト
ークン列と言っている。図9の場合、さらに、トークン
TK33のボディ部BD33がNL=4のトークンTK
41,TK42を含む。
【0005】入れ子でトークンを含むか否かは、各トー
クンのヘッダ部の識別子IDの上位から3ビット目(ネ
ストビットNb)が“1”か“0”かで判定される。そ
の事をこの図9においては識別子IDの*印で示してい
る。*印のついているIDがボディ部に入れ子を含むト
ークン列である。トークン列の先頭位置が指定されると
各トークンのヘッダ部に含まれるLLコード(短形式)
やLコード(長形式)からボディ部の長さとそのトーク
ンの終わり位置あるいは次のトークンの始まり位置がわ
かる。トークンの終わりの後に次のトークンのヘッダ部
があると約束されていることから、各トークンの先頭の
IDを見つけることが簡単となる。その結果、トークン
毎のIDとネストレベルNLがわかった後ではじめて、
それらを使ったトークンの選択が可能になり、選択され
たトークンのプロトコル変換や内容検索が可能になる。
NLが常にトークンの先頭読みだし位置でわかっている
場合には、ID読みだしと共にそのトークンのヘッダ検
索が可能になり、検索条件として与えられたNLとID
が照合され、マッチしたトークンは読みだしを続け、ミ
スマッチなら、読み飛ばしを行うことができる。
クンのヘッダ部の識別子IDの上位から3ビット目(ネ
ストビットNb)が“1”か“0”かで判定される。そ
の事をこの図9においては識別子IDの*印で示してい
る。*印のついているIDがボディ部に入れ子を含むト
ークン列である。トークン列の先頭位置が指定されると
各トークンのヘッダ部に含まれるLLコード(短形式)
やLコード(長形式)からボディ部の長さとそのトーク
ンの終わり位置あるいは次のトークンの始まり位置がわ
かる。トークンの終わりの後に次のトークンのヘッダ部
があると約束されていることから、各トークンの先頭の
IDを見つけることが簡単となる。その結果、トークン
毎のIDとネストレベルNLがわかった後ではじめて、
それらを使ったトークンの選択が可能になり、選択され
たトークンのプロトコル変換や内容検索が可能になる。
NLが常にトークンの先頭読みだし位置でわかっている
場合には、ID読みだしと共にそのトークンのヘッダ検
索が可能になり、検索条件として与えられたNLとID
が照合され、マッチしたトークンは読みだしを続け、ミ
スマッチなら、読み飛ばしを行うことができる。
【0006】ソフトウェアによるトークン列の検索に際
しては、トークン列をコンピュータの主記憶に格納して
から、順に読み出してヘッダ位置や処理機能やNLを解
読していた。また、NL毎のトークンの長さ比較が並列
でなく順次に行われている。
しては、トークン列をコンピュータの主記憶に格納して
から、順に読み出してヘッダ位置や処理機能やNLを解
読していた。また、NL毎のトークンの長さ比較が並列
でなく順次に行われている。
【0007】
【発明が解決しようとする課題】この従来の入れ子構造
メッセージ検索装置は、ソフトウェアによるトークン列
の検索に際しては、トークン列をコンピュータの主記憶
部に格納してから、順に読み出してヘッダ位置や処理機
能やNLを解読しており、NL毎のトークンの長さ比較
が並列でなく順次に行われているため、NLの追跡を行
う時にNLの深さが増すと処理負荷が大きくくる。ま
た、トークンの検索はNLが判定した後で行われるた
め、ヘッダ検索処理速度はNL検出処理速度よりさらに
遅くなる。従って、検索条件にNLやIDの指定が含ま
れていると、不要なトークンのボディ部をスキップする
処理が加わり処理速度がさらに低下するという問題があ
った。さらに、従来は検索条件としてNLとIDの要求
を1つづつしか与えられないため、複数個のIDと複数
個のNLを持つトークンの選択処理を一回のサーチで終
わらせることができないという問題も有していた。
メッセージ検索装置は、ソフトウェアによるトークン列
の検索に際しては、トークン列をコンピュータの主記憶
部に格納してから、順に読み出してヘッダ位置や処理機
能やNLを解読しており、NL毎のトークンの長さ比較
が並列でなく順次に行われているため、NLの追跡を行
う時にNLの深さが増すと処理負荷が大きくくる。ま
た、トークンの検索はNLが判定した後で行われるた
め、ヘッダ検索処理速度はNL検出処理速度よりさらに
遅くなる。従って、検索条件にNLやIDの指定が含ま
れていると、不要なトークンのボディ部をスキップする
処理が加わり処理速度がさらに低下するという問題があ
った。さらに、従来は検索条件としてNLとIDの要求
を1つづつしか与えられないため、複数個のIDと複数
個のNLを持つトークンの選択処理を一回のサーチで終
わらせることができないという問題も有していた。
【0008】
【課題を解決するための手段】本発明の入れ子構造メッ
セージ検索装置は、ボディ部にヘッダ部とボディ部の配
列を含む入れ子構造のメッセージを記憶する記憶手段
と、検索開始アドレス,複数個の要求識別子,複数個の
要求ネストレベルを含む検索条件を保持する保持手段
と、前記記憶手段に対して前記検索開始アドレスから始
まるトークンの読み出しアドレスを発生するアドレス発
生手段と、前記トークンのヘッダ部から識別子(I
D)、ネストビット及びボディ部の長さ(BL)を各々
検出し保持するID・BL保持手段と、前記ボディ部の
長さ(BL)を用いてネストレベル別にトークンのエン
ドアドレスを計算するエンドアドレス計算手段と、前記
識別子(ID)に含まれるネストビット並びにトークン
の読み出し位置とエンドアドレスの比較結果によって前
記ネストレベルを判定するネストレベル判別手段と、前
記検索条件に含まれる要求識別子及び要求ネストレベル
と前記ID・BL保持手段の出力並びにネストレベル検
出手段の出力との照合を行う検索条件照合手段と、この
検索条件照合手段の出力とエンドアドレス計算手段の出
力とを用いて前記記憶手段から次に読み出す内部アドレ
スを計算する内部アドレス発生手段とを含んで構成され
る。
セージ検索装置は、ボディ部にヘッダ部とボディ部の配
列を含む入れ子構造のメッセージを記憶する記憶手段
と、検索開始アドレス,複数個の要求識別子,複数個の
要求ネストレベルを含む検索条件を保持する保持手段
と、前記記憶手段に対して前記検索開始アドレスから始
まるトークンの読み出しアドレスを発生するアドレス発
生手段と、前記トークンのヘッダ部から識別子(I
D)、ネストビット及びボディ部の長さ(BL)を各々
検出し保持するID・BL保持手段と、前記ボディ部の
長さ(BL)を用いてネストレベル別にトークンのエン
ドアドレスを計算するエンドアドレス計算手段と、前記
識別子(ID)に含まれるネストビット並びにトークン
の読み出し位置とエンドアドレスの比較結果によって前
記ネストレベルを判定するネストレベル判別手段と、前
記検索条件に含まれる要求識別子及び要求ネストレベル
と前記ID・BL保持手段の出力並びにネストレベル検
出手段の出力との照合を行う検索条件照合手段と、この
検索条件照合手段の出力とエンドアドレス計算手段の出
力とを用いて前記記憶手段から次に読み出す内部アドレ
スを計算する内部アドレス発生手段とを含んで構成され
る。
【0009】また、検索条件照合手段が、複数個の要求
ネストレベルと要求識別子との対がアドレス入力端子に
順に与えられるとマッチ信号“1”が書き込まれ、検索
条件照合時には検出されたネストレベル及び識別子信号
を入力端子に順に与えると前記要求ネストレベルと要求
識別子との対にマッチした時のみ設定された“1”がマ
ッチ信号となり出力されるランダムアクセスメモリによ
り構成される。
ネストレベルと要求識別子との対がアドレス入力端子に
順に与えられるとマッチ信号“1”が書き込まれ、検索
条件照合時には検出されたネストレベル及び識別子信号
を入力端子に順に与えると前記要求ネストレベルと要求
識別子との対にマッチした時のみ設定された“1”がマ
ッチ信号となり出力されるランダムアクセスメモリによ
り構成される。
【0010】また、検索条件照合手段が、複数個の要求
ネストレベルをアドレス入力端子に与えると要求識別子
及びマスクビットのうちの一方が書き込まれ、検出され
たネストレベル入力を前記アドレス入力端子に与えると
設定された識別子及びマスクビットのうちの一方が出力
されるランダムアクセスメモリと、前記検出されたネス
トレベルに対する前記ランダムアクセスメモリの出力と
検出される識別子とを比較する比較回路と、この比較回
路の出力と前記ランダムアクセスメモリから読み出され
るマスクビットとの論理和を求めてマッチ信号を出力す
るORゲート回路とにより構成される。
ネストレベルをアドレス入力端子に与えると要求識別子
及びマスクビットのうちの一方が書き込まれ、検出され
たネストレベル入力を前記アドレス入力端子に与えると
設定された識別子及びマスクビットのうちの一方が出力
されるランダムアクセスメモリと、前記検出されたネス
トレベルに対する前記ランダムアクセスメモリの出力と
検出される識別子とを比較する比較回路と、この比較回
路の出力と前記ランダムアクセスメモリから読み出され
るマスクビットとの論理和を求めてマッチ信号を出力す
るORゲート回路とにより構成される。
【0011】
【実施例】次に本発明の実施例について図面を参照して
説明する。
説明する。
【0012】図1は本発明の第1の実施例を示す回路図
である。
である。
【0013】メッセージMSGに含まれるトークン列は
メッセージメモリ1から読み出され、このメッセージメ
モリ1に対するトークン列読み出しのためのアドレスA
Dをアドレス発生回路3が与える。アドレス発生回路3
は、検索開始アドレスにトークンの先頭から数えた読み
出し位置アドレス(内部アドレス)IADを加算して、
2に初期設定される。検索条件アドレスと検索のサイズ
は検索の前に検索条件メモリ2に初期設定される。検索
条件メモリ2は、メッセージの検索範囲条件、ネストレ
ベルNLと識別子IDに対する要求条件、検索動作条件
に分けられる。検索範囲条件は開始アドレスレジスタ2
1とサイズレジスタ22に設定され、NLとID要求条
件は要求NLレジスタ23と要求IDレジスタ24に設
定され、検索動作条件はコマンドレジスタ25に設定さ
れる。コマンドレジスタ25にビットパターンを設定す
る事によって検索結果の出力形式が決められる。たとえ
ば、マッチしたトークンのヘッダアドレスを出力する
か、マッチしたトークンのボディ部を出力するか、ID
マッチを使うか、NLマッチを使うさかをコマンドレジ
スタ25上のビットパターンで記憶する。
メッセージメモリ1から読み出され、このメッセージメ
モリ1に対するトークン列読み出しのためのアドレスA
Dをアドレス発生回路3が与える。アドレス発生回路3
は、検索開始アドレスにトークンの先頭から数えた読み
出し位置アドレス(内部アドレス)IADを加算して、
2に初期設定される。検索条件アドレスと検索のサイズ
は検索の前に検索条件メモリ2に初期設定される。検索
条件メモリ2は、メッセージの検索範囲条件、ネストレ
ベルNLと識別子IDに対する要求条件、検索動作条件
に分けられる。検索範囲条件は開始アドレスレジスタ2
1とサイズレジスタ22に設定され、NLとID要求条
件は要求NLレジスタ23と要求IDレジスタ24に設
定され、検索動作条件はコマンドレジスタ25に設定さ
れる。コマンドレジスタ25にビットパターンを設定す
る事によって検索結果の出力形式が決められる。たとえ
ば、マッチしたトークンのヘッダアドレスを出力する
か、マッチしたトークンのボディ部を出力するか、ID
マッチを使うか、NLマッチを使うさかをコマンドレジ
スタ25上のビットパターンで記憶する。
【0014】各トークンの先頭にあるヘッダ部はボディ
部(テキストデータ)に対する処理機能を示す識別子I
Dとボディ部の長さを示す長さコードBLからなる。こ
れらは順次に読み出され、検出される都度、ID・BL
レジスタ5のIDレジスタ51とBLレジスタ52に蓄
えられる。IDレジスタ51の上位から3ビット目はネ
ストビットNbとして次のトークンの始まり迄、Nbレ
ジスタ6に保持される。
部(テキストデータ)に対する処理機能を示す識別子I
Dとボディ部の長さを示す長さコードBLからなる。こ
れらは順次に読み出され、検出される都度、ID・BL
レジスタ5のIDレジスタ51とBLレジスタ52に蓄
えられる。IDレジスタ51の上位から3ビット目はネ
ストビットNbとして次のトークンの始まり迄、Nbレ
ジスタ6に保持される。
【0015】長さコードBLについては、OSIのMH
Sでは短形式と長形式があり、先頭のLLコードの最上
位ビットが“0”なら短形式、“1”なら長形式である
と定義されている。短形式の場合にはLLコードがボデ
ィ長さを示すが、長形式の場合はLLコードがその後に
続くLコードの長さを示し、複数のLコードがボディ長
さを示す。いずれにおいても、BLがID・BLレジス
タ5内のBLレジスタ52に格納される。トークンの形
式としては、ボディ部に入れ子を含むタイブのコンスト
ラクタ形式と、含まないタイプはプリミティブ形式とが
ある。
Sでは短形式と長形式があり、先頭のLLコードの最上
位ビットが“0”なら短形式、“1”なら長形式である
と定義されている。短形式の場合にはLLコードがボデ
ィ長さを示すが、長形式の場合はLLコードがその後に
続くLコードの長さを示し、複数のLコードがボディ長
さを示す。いずれにおいても、BLがID・BLレジス
タ5内のBLレジスタ52に格納される。トークンの形
式としては、ボディ部に入れ子を含むタイブのコンスト
ラクタ形式と、含まないタイプはプリミティブ形式とが
ある。
【0016】入れ子構造のメッセージのMSGのトーク
ン列は図9に示したように、NL=1のトークン内にN
L=2のトークンが含まれ、NL=2のトークンの中に
更にNL=3のトークンが含まれる、と言うように、い
くつものNLのトークンが内部に含まれる。入れ子のト
ークンを含むか含まないかはNbが“1”であるか
“0”であるかで示される。Nbレジスタ6から出力さ
れるNbはネストレベル判別回路9のANDゲートG9
1の一方の入力端に入力される。この時Nbが“1”で
あれば下位のフラグビットレジスタ(FBR)94に
“1”が設定される。さらに入れ子のトークンが含まれ
ている時は、次の段のANDゲートG91の一方の入力
端に前の段のFBK(94)の出力“1”とNbが入力
され、次の段のFBRにも“1”が設定される。このF
RBの後にANDゲートG92を設けたことで、“1”
と“0”との境目を判別しその位置からNLを1つ高く
するエンコーダ95で識別できる。
ン列は図9に示したように、NL=1のトークン内にN
L=2のトークンが含まれ、NL=2のトークンの中に
更にNL=3のトークンが含まれる、と言うように、い
くつものNLのトークンが内部に含まれる。入れ子のト
ークンを含むか含まないかはNbが“1”であるか
“0”であるかで示される。Nbレジスタ6から出力さ
れるNbはネストレベル判別回路9のANDゲートG9
1の一方の入力端に入力される。この時Nbが“1”で
あれば下位のフラグビットレジスタ(FBR)94に
“1”が設定される。さらに入れ子のトークンが含まれ
ている時は、次の段のANDゲートG91の一方の入力
端に前の段のFBK(94)の出力“1”とNbが入力
され、次の段のFBRにも“1”が設定される。このF
RBの後にANDゲートG92を設けたことで、“1”
と“0”との境目を判別しその位置からNLを1つ高く
するエンコーダ95で識別できる。
【0017】上昇したNLが元のNLに戻るのは、読み
取り内部アドレスがトークンの終わりに達した時であ
る。そこで、BLが判明した時に、ボディ部の先頭の読
みだし位置とBLとの和を求める、トークンの最終アド
レス(エンドアドレス)EA計算回路7を設けておき、
NL別のEAレジスタ91に保持しておく。そして、ト
ークンの読みだし位置アドレスADと全EAレジスタ9
1の出力を常に比較器92で並列に比較し、比較器92
がマッチ信号を発生する時に、FBR(94)の該当す
る位置のレジスタを“0”にリセットする。このFBR
の後にANDゲートG92を使うことで、“1”と
“0”との境目を判別し、その位置からNLがどこまで
下がるかをエンコーダ95で識別できる。その出力はN
L出力レジスタ96に保持される。なおトークンが入れ
子を含まないときでも常にNLは“1”以上であるた
め、最下位のFBRは常に“1”にする必要がある。こ
のため最下位のFBRをプルアップ回路93に置き換え
ている。
取り内部アドレスがトークンの終わりに達した時であ
る。そこで、BLが判明した時に、ボディ部の先頭の読
みだし位置とBLとの和を求める、トークンの最終アド
レス(エンドアドレス)EA計算回路7を設けておき、
NL別のEAレジスタ91に保持しておく。そして、ト
ークンの読みだし位置アドレスADと全EAレジスタ9
1の出力を常に比較器92で並列に比較し、比較器92
がマッチ信号を発生する時に、FBR(94)の該当す
る位置のレジスタを“0”にリセットする。このFBR
の後にANDゲートG92を使うことで、“1”と
“0”との境目を判別し、その位置からNLがどこまで
下がるかをエンコーダ95で識別できる。その出力はN
L出力レジスタ96に保持される。なおトークンが入れ
子を含まないときでも常にNLは“1”以上であるた
め、最下位のFBRは常に“1”にする必要がある。こ
のため最下位のFBRをプルアップ回路93に置き換え
ている。
【0018】検索条件と検出されたIDとNLとの照合
は、複数個の要求IDレジスタ24や要求NLレジスタ
123を含む検索条件メモリ2の出力と、ID・BLレ
ジスタ5の出力やNL出力レジスタ96の出力との比較
であって、検索条件照合回路4で行われる。この時ID
とNLに対する検索条件にミスマッチが生じたとき、ト
ークンのボディ部を読み飛ばすことが出来る。このミス
マッチトークンのボディ読み飛ばしを行うために、ミス
マッチが生じるとID・BLレジスタ5から与えられる
BLデータをヘッダ部のアドレスにEA計算回路7で加
算し内部アドレス発生回路8の出力IADをアドレス発
生回路3に与えることにより、ボディ部を読み飛ばした
次に読むべきアドレスを発生する。
は、複数個の要求IDレジスタ24や要求NLレジスタ
123を含む検索条件メモリ2の出力と、ID・BLレ
ジスタ5の出力やNL出力レジスタ96の出力との比較
であって、検索条件照合回路4で行われる。この時ID
とNLに対する検索条件にミスマッチが生じたとき、ト
ークンのボディ部を読み飛ばすことが出来る。このミス
マッチトークンのボディ読み飛ばしを行うために、ミス
マッチが生じるとID・BLレジスタ5から与えられる
BLデータをヘッダ部のアドレスにEA計算回路7で加
算し内部アドレス発生回路8の出力IADをアドレス発
生回路3に与えることにより、ボディ部を読み飛ばした
次に読むべきアドレスを発生する。
【0019】図2はトークン列のネストレベルNL計算
例を示す図である。図2(a)にトークン列の一例を、
図2(b)にこのトークンに対応したNLの出力結果を
示す。
例を示す図である。図2(a)にトークン列の一例を、
図2(b)にこのトークンに対応したNLの出力結果を
示す。
【0020】図2(a)には図面の関係で入れ子の深さ
(NL)が4までしか示していないが、数10に及んで
も同じ様な構造が繰り返されるだけである。初めてのト
ークンのNLは常に“1”である。
(NL)が4までしか示していないが、数10に及んで
も同じ様な構造が繰り返されるだけである。初めてのト
ークンのNLは常に“1”である。
【0021】図2(a)に示すトークンの各ヘッダ部
は、IDの*印の有無とIDに引き続き長さコードBL
(LL1〜LL6)の数字がそれぞれ、Nbが“1”で
あるか否かとそのトークンのBLを示しているとする。
すなわち、第1のトークン(ヘッダ部HD1)はコンス
トラクタであって、入れ子を持つこととボディ部の長さ
(LL1)が64(オクテット)であることがわかる。
ヘッダ部の長さを2とすると、このトークンの全長は6
6オクテットとなる。すなわち位置のアドレスが67に
達するとNLが必ず“1”に戻ることを示す。トークン
列の下側の数字は位置のアドレスをオクテット番号で示
したものであり、丸で囲まれた数字はプリミティブトー
クンのエンダアドレスEAである。NLは3オクテット
目で“1”から“2”へ、17オクテット目で“2”か
ら“3”へ、29オクテット目で“3”から“4”へ変
わるときの例が示されている。
は、IDの*印の有無とIDに引き続き長さコードBL
(LL1〜LL6)の数字がそれぞれ、Nbが“1”で
あるか否かとそのトークンのBLを示しているとする。
すなわち、第1のトークン(ヘッダ部HD1)はコンス
トラクタであって、入れ子を持つこととボディ部の長さ
(LL1)が64(オクテット)であることがわかる。
ヘッダ部の長さを2とすると、このトークンの全長は6
6オクテットとなる。すなわち位置のアドレスが67に
達するとNLが必ず“1”に戻ることを示す。トークン
列の下側の数字は位置のアドレスをオクテット番号で示
したものであり、丸で囲まれた数字はプリミティブトー
クンのエンダアドレスEAである。NLは3オクテット
目で“1”から“2”へ、17オクテット目で“2”か
ら“3”へ、29オクテット目で“3”から“4”へ変
わるときの例が示されている。
【0022】図2(b)の横軸はトークン列のオクテッ
ト番号を、縦軸はNLを示している。これが図2(a)
のトークン列に対するネストレベル判別回路9の出力す
るNLに該当する。第1番目のヘッダ部HD1を読み取
った際に、第2オクテット目でこのNLのトークンの終
わりが、66オクテット目であることがわかる。それを
EAレジスタ91aに設定した後、コンストラクタ(*
印有り)と判断し、次のトークン(3オクテット目)か
らNLが1つ上昇する。
ト番号を、縦軸はNLを示している。これが図2(a)
のトークン列に対するネストレベル判別回路9の出力す
るNLに該当する。第1番目のヘッダ部HD1を読み取
った際に、第2オクテット目でこのNLのトークンの終
わりが、66オクテット目であることがわかる。それを
EAレジスタ91aに設定した後、コンストラクタ(*
印有り)と判断し、次のトークン(3オクテット目)か
らNLが1つ上昇する。
【0023】NLが“2”でプリミティブトークンが3
オクテット目から始まり、4オクテット目でそのトーク
ンが14オクテット目迄続くとわかる。それを2番目の
EAレジスタ91bに設定する。5オクテット目から1
4オクテットまではトークンを順に読む。オクテット数
が14に達すると2番目のEAレジスタ91bをリセッ
トする。それまでの間、NLは2のままである。67オ
クテット目になるまでNLは1に戻らない。15オクテ
ット目で同じくNLが“2”の次のトークンが始まる。
IDに*印があり、次のトークン(17オクテット目)
ではNLがさらに1つ上昇しNLが“3”になる。
オクテット目から始まり、4オクテット目でそのトーク
ンが14オクテット目迄続くとわかる。それを2番目の
EAレジスタ91bに設定する。5オクテット目から1
4オクテットまではトークンを順に読む。オクテット数
が14に達すると2番目のEAレジスタ91bをリセッ
トする。それまでの間、NLは2のままである。67オ
クテット目になるまでNLは1に戻らない。15オクテ
ット目で同じくNLが“2”の次のトークンが始まる。
IDに*印があり、次のトークン(17オクテット目)
ではNLがさらに1つ上昇しNLが“3”になる。
【0024】16オクテット目のLLコードの数字50
から、このNLのトークンの終わりが(16+50)=
66オクテット目であると計算され、2番目のEAレジ
スタ91bに設定される。17オクテット目のIDには
*印が付いていないので、プリミティブトークンである
ことが分かり、18オクテット目のLLはボディ部の長
さ8を示す。故に、18+8=26オクテット目がエン
ドアドレスになる。オクテット数が“26”に達する
と、このトークンが終わるが、この後に、再び同じくN
Lが“3”のトークンが続く。27オクテット目はID
に*印があるのでコンストラクタ形式で、28オクテッ
ト目のLLコードの数字“38”からこのトークンの終
わりを28+38=66オクテット目と計算し、3番目
のEAレジスタ91cに設定する。
から、このNLのトークンの終わりが(16+50)=
66オクテット目であると計算され、2番目のEAレジ
スタ91bに設定される。17オクテット目のIDには
*印が付いていないので、プリミティブトークンである
ことが分かり、18オクテット目のLLはボディ部の長
さ8を示す。故に、18+8=26オクテット目がエン
ドアドレスになる。オクテット数が“26”に達する
と、このトークンが終わるが、この後に、再び同じくN
Lが“3”のトークンが続く。27オクテット目はID
に*印があるのでコンストラクタ形式で、28オクテッ
ト目のLLコードの数字“38”からこのトークンの終
わりを28+38=66オクテット目と計算し、3番目
のEAレジスタ91cに設定する。
【0025】その後つぎのトークン(29オクテット
目)でNLを“3”から“4”に上げる。29オクテッ
ト目に読むIDには*印が無いのでプリミティブ形式の
トークンであり、30オクテット目のLLコードはボデ
ィ部の長さ“36”を示す。故に、31オクテット目か
ら後は66オクテット目までNLが“4”のままとな
る。その後、66オクテット目まで読むと1番から3番
目までのEAレジスタ91a〜91cに設定されている
オクテット数と一致し、トークンの終わりを検出するこ
とによりNLは同時に1まで戻る。
目)でNLを“3”から“4”に上げる。29オクテッ
ト目に読むIDには*印が無いのでプリミティブ形式の
トークンであり、30オクテット目のLLコードはボデ
ィ部の長さ“36”を示す。故に、31オクテット目か
ら後は66オクテット目までNLが“4”のままとな
る。その後、66オクテット目まで読むと1番から3番
目までのEAレジスタ91a〜91cに設定されている
オクテット数と一致し、トークンの終わりを検出するこ
とによりNLは同時に1まで戻る。
【0026】図3はこの実施例の内部アドレス発生回路
8の具体例を示す回路図である。アドレスレジスタ83
と加算器82とスイッチ回路81とから構成され、内部
アドレスIADは加算器82で計算され、アドレスレジ
スタ83を介して出力される。内部アドレス発生回路8
は次に読むアドレスを常に作成しており、キャリー信号
CRを加算器82のキャリー入力端に入力し、現在のア
ドレスレジスタ83の内容に常に“1”を加えている。
スイッチ回路81は与えられた照合結果Zbが“0”の
ときスイッチは閉じてオンとなり、そのトークンのボデ
ィ部をスキップするように、BLを加算器82に信号B
として与える。すなわち、加算器82は内部アドレスI
AD=IAD+B+1を計算する。照合結果Zbが
“1”の時にはスイッチが開いてオフになり、BLは加
算器82に与えられない。すなわち、信号Bは“0”と
なり加算器82は内部アドレスIAD=IAD+1を計
算する。したがって、アドレスレジスタ83の出力はク
ロック毎に1つづつ加算されることなる。
8の具体例を示す回路図である。アドレスレジスタ83
と加算器82とスイッチ回路81とから構成され、内部
アドレスIADは加算器82で計算され、アドレスレジ
スタ83を介して出力される。内部アドレス発生回路8
は次に読むアドレスを常に作成しており、キャリー信号
CRを加算器82のキャリー入力端に入力し、現在のア
ドレスレジスタ83の内容に常に“1”を加えている。
スイッチ回路81は与えられた照合結果Zbが“0”の
ときスイッチは閉じてオンとなり、そのトークンのボデ
ィ部をスキップするように、BLを加算器82に信号B
として与える。すなわち、加算器82は内部アドレスI
AD=IAD+B+1を計算する。照合結果Zbが
“1”の時にはスイッチが開いてオフになり、BLは加
算器82に与えられない。すなわち、信号Bは“0”と
なり加算器82は内部アドレスIAD=IAD+1を計
算する。したがって、アドレスレジスタ83の出力はク
ロック毎に1つづつ加算されることなる。
【0027】図4は検索条件照合回路4およびその周辺
部の具体例を示す回路図である。この検索条件照合回路
4は要求IDレジスタ24や要求NLレジスタ23から
与えられる複数個の検索要求信号とIDレジスタ51や
NL出力レジスタ96から与えられる出力データとの比
較を行う部分である。検索要求が複数個になる事に対応
して、要求IDレジスタ24と要求NLレジスタ23を
複数個にすると共に、マスクを行うか否かを指定するI
Dマッチマスクレジスタ252とNLマッチマスクレジ
スタ253も複数個になっている。ボディ部マスクレジ
スタ251は、ヘッダ部のみのサーチか否かを指示す
る。なおコマンドレジスタ25はこれらボディ部マスク
レジスタ251,IDマッチマスクレジスタ252,N
Lマッチレジスタ253を含んでいる。
部の具体例を示す回路図である。この検索条件照合回路
4は要求IDレジスタ24や要求NLレジスタ23から
与えられる複数個の検索要求信号とIDレジスタ51や
NL出力レジスタ96から与えられる出力データとの比
較を行う部分である。検索要求が複数個になる事に対応
して、要求IDレジスタ24と要求NLレジスタ23を
複数個にすると共に、マスクを行うか否かを指定するI
Dマッチマスクレジスタ252とNLマッチマスクレジ
スタ253も複数個になっている。ボディ部マスクレジ
スタ251は、ヘッダ部のみのサーチか否かを指示す
る。なおコマンドレジスタ25はこれらボディ部マスク
レジスタ251,IDマッチマスクレジスタ252,N
Lマッチレジスタ253を含んでいる。
【0028】検索条件照合回路4は、ヘッダ要求レジス
タ42の出力とヘッダ検出器43の出力との比較を行う
比較器44と、複数個の要求IDレジスタ24の出力と
IDレジスタ51の出力との比較と、複数個の要求NL
レジスタ23の出力とNL出力レジスタ96の出力との
比較を行うNL・ID照合部と、ボディ部マスク用のO
RゲートG45と、このORゲートG45の出力とNL
・ID照合部41の出力Zとの論理積を求めるANDゲ
ートG46を含む。
タ42の出力とヘッダ検出器43の出力との比較を行う
比較器44と、複数個の要求IDレジスタ24の出力と
IDレジスタ51の出力との比較と、複数個の要求NL
レジスタ23の出力とNL出力レジスタ96の出力との
比較を行うNL・ID照合部と、ボディ部マスク用のO
RゲートG45と、このORゲートG45の出力とNL
・ID照合部41の出力Zとの論理積を求めるANDゲ
ートG46を含む。
【0029】NL・ID照合部41は、複数個の要求I
Dレジスタ24の出力とIDレジスタ51の出力との比
較を行う比較器411と、複数個の要求NLレジスタ2
3の出力とNL出力レジスタ96の出力との比較を行う
比較器412と、IDのマッチ信号マスク用のORゲー
トG41と、NLマッチ信号マスク用のORゲートG4
2と、ORゲートG41,G42の出力の論理積を求め
る複数個のANDゲートG42と、これらANDゲート
G43の論理和を求めるORゲートG44とから成る。
Dレジスタ24の出力とIDレジスタ51の出力との比
較を行う比較器411と、複数個の要求NLレジスタ2
3の出力とNL出力レジスタ96の出力との比較を行う
比較器412と、IDのマッチ信号マスク用のORゲー
トG41と、NLマッチ信号マスク用のORゲートG4
2と、ORゲートG41,G42の出力の論理積を求め
る複数個のANDゲートG42と、これらANDゲート
G43の論理和を求めるORゲートG44とから成る。
【0030】ビットパターンを記憶するコマンドレジス
タ25は、検索条件に含めない比較器44,411,4
12の出力をマスクするために使われる。照合結果Zb
はヘッダ用の比較器44の出力とコマンドレジスタ25
の中のボディ部マスクレジスタ251からの出力が入力
されるORゲートG45の出力とNL・ID照合部41
の出力2との論理積を求めるANDゲートG46から出
力される。
タ25は、検索条件に含めない比較器44,411,4
12の出力をマスクするために使われる。照合結果Zb
はヘッダ用の比較器44の出力とコマンドレジスタ25
の中のボディ部マスクレジスタ251からの出力が入力
されるORゲートG45の出力とNL・ID照合部41
の出力2との論理積を求めるANDゲートG46から出
力される。
【0031】コマンドレジスタ25はトークン列の検索
条件の一例として次に示す動作モードを設定できる。ま
ずヘッダサーチモードでは、ボディ部を次々と読み飛ば
し、IDサーチモードでは、NLに関係なく指定IDを
持つトークンのみを読み出す。逆にNLサーチモードで
は、IDに関係なく指定NLのトークンのみを読み出
し、NL・IDサーチモードでは、NLとIDの両方に
ついマッチするトークンを読み出す。NLとIDの両方
をマスクするモーデでは、全てのトークンのボディ部を
読み出すことになる。
条件の一例として次に示す動作モードを設定できる。ま
ずヘッダサーチモードでは、ボディ部を次々と読み飛ば
し、IDサーチモードでは、NLに関係なく指定IDを
持つトークンのみを読み出す。逆にNLサーチモードで
は、IDに関係なく指定NLのトークンのみを読み出
し、NL・IDサーチモードでは、NLとIDの両方に
ついマッチするトークンを読み出す。NLとIDの両方
をマスクするモーデでは、全てのトークンのボディ部を
読み出すことになる。
【0032】図5は入れ子構造のメッセージMSGの検
索処理の説明図である。検索対象のメッセージMSG
は、その下に示されている番号順にトークンが配列さ
れ、メモリに格納されているとする。この図ではメッセ
ージMSGに対し、検索条件が複数のIDと複数のNL
で指定される場合の検索例を示す。図5(a)のトーク
ン列に対応したネストレベルNLのツリー構造を図5
(b)に示す。図中ヘッダ部HDの右にボディ部BDの
ついたブロックはプリミティブトークン、*印の付いた
ブロクはコンストラクタとする。斜線を付したブロック
(7),(10)が検索対象トークンを示す。
索処理の説明図である。検索対象のメッセージMSG
は、その下に示されている番号順にトークンが配列さ
れ、メモリに格納されているとする。この図ではメッセ
ージMSGに対し、検索条件が複数のIDと複数のNL
で指定される場合の検索例を示す。図5(a)のトーク
ン列に対応したネストレベルNLのツリー構造を図5
(b)に示す。図中ヘッダ部HDの右にボディ部BDの
ついたブロックはプリミティブトークン、*印の付いた
ブロクはコンストラクタとする。斜線を付したブロック
(7),(10)が検索対象トークンを示す。
【0033】従来の検索では、IDとNLとが1つしか
設定できないため、NLが異なるトークンについては同
時にボディ部BDを検索する事ができなかった。すなわ
ち、図5の場合、検索対象となるトークン(7)(NL
=4)とトークン(10)(NL=5)はNLが異なっ
ているため、1回の検索ではどちらか1つだけの検索し
か行えず、このため、トークン(7),(10)を検索
するときは2回処理を行う必要があった。しかも、不要
なトークンも読み出しながら検索を行うために検索時間
が長かった。
設定できないため、NLが異なるトークンについては同
時にボディ部BDを検索する事ができなかった。すなわ
ち、図5の場合、検索対象となるトークン(7)(NL
=4)とトークン(10)(NL=5)はNLが異なっ
ているため、1回の検索ではどちらか1つだけの検索し
か行えず、このため、トークン(7),(10)を検索
するときは2回処理を行う必要があった。しかも、不要
なトークンも読み出しながら検索を行うために検索時間
が長かった。
【0034】しかし本発明によると、要求NLと要求I
Dが複数個指定できることにより、NLが異なるとき
や、IDが複数のときでも1回の検索処理で検索するこ
とができる。なお斜線が施されていないトークンのボデ
ィ部は全て読み飛ばされるために、検索時間は、読み飛
ばしされるトークンのヘッダ部の読みだし時間と斜線の
施されたトークンの読み出し時間の和であるが、ヘッダ
部はボディ部に対して、数十分の1以下であるため、検
索時間は斜線の施されたトークンの読み出し時間にほぼ
等しくなる。
Dが複数個指定できることにより、NLが異なるとき
や、IDが複数のときでも1回の検索処理で検索するこ
とができる。なお斜線が施されていないトークンのボデ
ィ部は全て読み飛ばされるために、検索時間は、読み飛
ばしされるトークンのヘッダ部の読みだし時間と斜線の
施されたトークンの読み出し時間の和であるが、ヘッダ
部はボディ部に対して、数十分の1以下であるため、検
索時間は斜線の施されたトークンの読み出し時間にほぼ
等しくなる。
【0035】図6は本発明の第2の実施例のNL・ID
照合部の回路図である。このNL・ID照合部413に
ORゲートG41a,G42aを付加するだけで実現さ
れる。NLとIDはORゲートG41a,G42aを介
して、ICメモリ413のアドレス入力端子を介してデ
コーダ414に入力される。ICメモリ413のメモリ
部415の記憶内容は始めに全てを“0”とするように
初期化(リセット)される。そのあとに、端子から与え
られる要求NL信号RNLと、要求ID信号RI1と
を、対応するマスク信号(NLM,IDM)が指定する
アドレスに対して1つづつメモリ部415に“1”を書
き込むことで、要求NL,要求IDが書き込まれること
になる。この書き込み動作を複数の要求IDと複数の要
求NLに対して続けることで、全ての検索条件の登録が
行える。要求IDまたは要求NLのいずれかを完全にマ
スクする場合には、ORゲートG41a,G42aの入
力端子(NLM,IDM側)に“1”を設定する。書き
込みアドレスの上位または、下位が固定されアドレス範
囲が狭くなりこれによってデータの登録時間が短くな
る。
照合部の回路図である。このNL・ID照合部413に
ORゲートG41a,G42aを付加するだけで実現さ
れる。NLとIDはORゲートG41a,G42aを介
して、ICメモリ413のアドレス入力端子を介してデ
コーダ414に入力される。ICメモリ413のメモリ
部415の記憶内容は始めに全てを“0”とするように
初期化(リセット)される。そのあとに、端子から与え
られる要求NL信号RNLと、要求ID信号RI1と
を、対応するマスク信号(NLM,IDM)が指定する
アドレスに対して1つづつメモリ部415に“1”を書
き込むことで、要求NL,要求IDが書き込まれること
になる。この書き込み動作を複数の要求IDと複数の要
求NLに対して続けることで、全ての検索条件の登録が
行える。要求IDまたは要求NLのいずれかを完全にマ
スクする場合には、ORゲートG41a,G42aの入
力端子(NLM,IDM側)に“1”を設定する。書き
込みアドレスの上位または、下位が固定されアドレス範
囲が狭くなりこれによってデータの登録時間が短くな
る。
【0036】検出されたNLやID信号と要求NLレジ
スタや要求IDレジスタからの出力との比較は、トーク
ン列のヘッダ部から検出されるNLやIDの出力をOR
ゲートG41a,G42aを介してデコーダ414に入
力することによって処理される。要求コードの登録され
たアドレスについては“1”が書き込まれているので、
ICメモリ413からの読み出し出力Zが“1”でマッ
チ信号となる。それ以外はデータに“0”が記憶されて
いるため、読み出し出力Zは“0”となり、検索条件に
対してマッチ無しの判断が行われる。NLMまたはID
Mから“1”が与えられている場合には、これによって
NLやIDをマスクする。このとき、NLをマスクする
と検出されたID信号によってアドレスが指定され、I
Dをマスクすると検出されたNL信号によってアドレス
が指定される。両方がマスクされている時は、どのNL
やIDの入力信号に対しても“1”が出力される。
スタや要求IDレジスタからの出力との比較は、トーク
ン列のヘッダ部から検出されるNLやIDの出力をOR
ゲートG41a,G42aを介してデコーダ414に入
力することによって処理される。要求コードの登録され
たアドレスについては“1”が書き込まれているので、
ICメモリ413からの読み出し出力Zが“1”でマッ
チ信号となる。それ以外はデータに“0”が記憶されて
いるため、読み出し出力Zは“0”となり、検索条件に
対してマッチ無しの判断が行われる。NLMまたはID
Mから“1”が与えられている場合には、これによって
NLやIDをマスクする。このとき、NLをマスクする
と検出されたID信号によってアドレスが指定され、I
Dをマスクすると検出されたNL信号によってアドレス
が指定される。両方がマスクされている時は、どのNL
やIDの入力信号に対しても“1”が出力される。
【0037】この実施例に使用するICメモリ413の
規模は次にように見積もられる。ICメモリ413のデ
ータはマッチ信号の幅で1ビットからなり、アドレスは
NLとIDのビット幅にマスクビットを1つづつ加える
ことによって決定される。かりに、NLを4ビット、I
Dを4ビットとしてもこのメモリは1KビットのICメ
モリ1つで実現することができ、第1の実施例よりも回
路構成が簡略化でき、同等の性能が得られる。
規模は次にように見積もられる。ICメモリ413のデ
ータはマッチ信号の幅で1ビットからなり、アドレスは
NLとIDのビット幅にマスクビットを1つづつ加える
ことによって決定される。かりに、NLを4ビット、I
Dを4ビットとしてもこのメモリは1KビットのICメ
モリ1つで実現することができ、第1の実施例よりも回
路構成が簡略化でき、同等の性能が得られる。
【0038】図7は本発明の第3の実施例のNL・ID
照合部の回路図である。この実施例は、ICメモリのサ
イズを小さくするために、ICメモリ413aのアドレ
スにNL信号を与えて、データとして要求IDを与え
る。すなわち、要求NLと要求IDの設定は要求NLで
示されるアドレス(ワード)に、要求IDをデータとし
て記憶させる。この実施例では、NLマスク用のORゲ
ートG41bと、ICメモリ413aの他に、IDの比
較器416a,416bと、出力結果取り出し用のOR
ゲートG44aとで構成している。
照合部の回路図である。この実施例は、ICメモリのサ
イズを小さくするために、ICメモリ413aのアドレ
スにNL信号を与えて、データとして要求IDを与え
る。すなわち、要求NLと要求IDの設定は要求NLで
示されるアドレス(ワード)に、要求IDをデータとし
て記憶させる。この実施例では、NLマスク用のORゲ
ートG41bと、ICメモリ413aの他に、IDの比
較器416a,416bと、出力結果取り出し用のOR
ゲートG44aとで構成している。
【0039】検出されたNLやID信号と要求NLや要
求ID信号との比較は、NLをORゲートG41bを介
しデコーダ414aに与える。その時のICメモリのデ
ータの出力と、IDとを比較器416a,416bで比
較する。全ての比較器の出力とIDマスクビットの出力
がORゲートG44aを介して出力される。
求ID信号との比較は、NLをORゲートG41bを介
しデコーダ414aに与える。その時のICメモリのデ
ータの出力と、IDとを比較器416a,416bで比
較する。全ての比較器の出力とIDマスクビットの出力
がORゲートG44aを介して出力される。
【0040】入力NL信号をマスクする時はORゲート
G41bによって入力が固定され、他の条件の結果によ
ってマッチ信号を出力することが実現できる。NLマス
ク信号がORゲートG41bによりICメモリ413a
のアドレスを固定し、これによってNLに関係なくなり
IDのみのマッチで出力する。逆にID信号のマスクは
IDマスクビットのデータによって、IDが固定される
ためNL信号だけの指定でマッチ信号が出力される。
G41bによって入力が固定され、他の条件の結果によ
ってマッチ信号を出力することが実現できる。NLマス
ク信号がORゲートG41bによりICメモリ413a
のアドレスを固定し、これによってNLに関係なくなり
IDのみのマッチで出力する。逆にID信号のマスクは
IDマスクビットのデータによって、IDが固定される
ためNL信号だけの指定でマッチ信号が出力される。
【0041】記憶できる要求IDは使用するICメモリ
の規模と、IDのビット幅によって決まる。IDを4ビ
ットとしマスクビットを1ビットとすると、ICメモリ
413aのワード数は32ワードで第2の実施例と同じ
ビット数のIDを扱う場合の1/32に減り、本実施例
で示す同一のNLに対して最大で2個のIDを登録する
場合は、32ワード×10ビット=320ビットとなり
ICメモリの容量をさらに小さくする事が可能となる。
第2の実施例と同じ記憶容量のICメモリには同一NL
で32ビットまで設定可能となり、要求IDが5ビット
であれば6個記憶できることになる。データビット幅を
増やせば、同時に記憶できるデータをもっと増やせるの
は明らかである。
の規模と、IDのビット幅によって決まる。IDを4ビ
ットとしマスクビットを1ビットとすると、ICメモリ
413aのワード数は32ワードで第2の実施例と同じ
ビット数のIDを扱う場合の1/32に減り、本実施例
で示す同一のNLに対して最大で2個のIDを登録する
場合は、32ワード×10ビット=320ビットとなり
ICメモリの容量をさらに小さくする事が可能となる。
第2の実施例と同じ記憶容量のICメモリには同一NL
で32ビットまで設定可能となり、要求IDが5ビット
であれば6個記憶できることになる。データビット幅を
増やせば、同時に記憶できるデータをもっと増やせるの
は明らかである。
【0042】図8は本発明の第4の実施例のNL・ID
照合部の回路図である。複数個の検索要求信号を内容検
索メモリ(CAM)417に登録し、検出されたNLや
ID信号を登録された要求NLやIDと一斉に比較す
る。要求NLと要求IDの設定は内容検索メモリ417
のデータとして順次に書き込むことで達成される。内容
検索メモリ417に要求NLや要求IDを蓄えておくメ
リットは、各要求NLに対する要求IDの設定数のばら
つきに制限がないことである。要求NL信号と要求ID
信号は入力NLや入力IDと常に一斉に照合される。な
お内容検索メモリ417からの、各要求ID,要求NL
に対するマッチ信号はORゲートG47を介して出力さ
れる。
照合部の回路図である。複数個の検索要求信号を内容検
索メモリ(CAM)417に登録し、検出されたNLや
ID信号を登録された要求NLやIDと一斉に比較す
る。要求NLと要求IDの設定は内容検索メモリ417
のデータとして順次に書き込むことで達成される。内容
検索メモリ417に要求NLや要求IDを蓄えておくメ
リットは、各要求NLに対する要求IDの設定数のばら
つきに制限がないことである。要求NL信号と要求ID
信号は入力NLや入力IDと常に一斉に照合される。な
お内容検索メモリ417からの、各要求ID,要求NL
に対するマッチ信号はORゲートG47を介して出力さ
れる。
【0043】内容検索メモリ417の規模は、1回に登
録される検索条件の個数で決定される。検索条件として
複数のIDと複数個のNLを同時に与えることが可能と
なり、検索条件を数十個と限定すれば、数100ビット
で実現することができ、NLやIDのマスクはマスク部
を利用することによって簡単に実現できる。これによっ
て第2,第3の実施例より更にメモリの容量が少なくな
り、回路規模を小さくすることが可能である。
録される検索条件の個数で決定される。検索条件として
複数のIDと複数個のNLを同時に与えることが可能と
なり、検索条件を数十個と限定すれば、数100ビット
で実現することができ、NLやIDのマスクはマスク部
を利用することによって簡単に実現できる。これによっ
て第2,第3の実施例より更にメモリの容量が少なくな
り、回路規模を小さくすることが可能である。
【0044】
【発明の効果】以上説明したように本発明は、メッセー
ジメモリに格納されたトークン列NL(ネストレベル)
やID等の属性をトークン毎に解読し、複数個の属性を
持つトークン列の検索を行う際に、メッセージを複数回
サーチする手間が不要となり、検索時間を短縮すること
ができる効果がある。すなわち、トークン列のヘッダ部
の解読と検索を同時に行うことによって、ヘッダ部でミ
スマッチとなったトークンのボディ部の読み飛ばしを行
え、検索条件にマッチするトークンの読みだしを行なえ
るようにする。これによって、メッセージ列メモリのア
クセス回数が全トークン列読みだしのアクセス回数の数
分の1に減りさらに検索条件が複雑になってもヘッダ検
索処理速度が、メッセージメモリからトークンの読みだ
し速度以上になるため検索時間を短縮させることができ
る。
ジメモリに格納されたトークン列NL(ネストレベル)
やID等の属性をトークン毎に解読し、複数個の属性を
持つトークン列の検索を行う際に、メッセージを複数回
サーチする手間が不要となり、検索時間を短縮すること
ができる効果がある。すなわち、トークン列のヘッダ部
の解読と検索を同時に行うことによって、ヘッダ部でミ
スマッチとなったトークンのボディ部の読み飛ばしを行
え、検索条件にマッチするトークンの読みだしを行なえ
るようにする。これによって、メッセージ列メモリのア
クセス回数が全トークン列読みだしのアクセス回数の数
分の1に減りさらに検索条件が複雑になってもヘッダ検
索処理速度が、メッセージメモリからトークンの読みだ
し速度以上になるため検索時間を短縮させることができ
る。
【0045】情報処理機器のホストコンピュータ側での
ソフトウエアでNL検出を行わせる時には処理速度が1
MB/secであっても、ネストが64レベルになる
と、ワーストケースであるが、処理速度が16KB/s
ecに下がる。しかし、NLを常に判別するハードウエ
アを内蔵させたことで、NLが常に出力され、それによ
って、トークンの検索がトークンの入力と同時に達成さ
れる。すなわち、1MB/secの検索処理速度が確保
され、それだけでなく、不要トークンの読み出しをスキ
ップするために、実質の検索処理速度は数MB/s以上
に上がる。しかも、この装置はNLが32から64に及
んでも2万ゲート以下のゲートアレイで設計できるの
で、現在のLSI技術レベルでも、容易に1個のLSI
チップで実現される。
ソフトウエアでNL検出を行わせる時には処理速度が1
MB/secであっても、ネストが64レベルになる
と、ワーストケースであるが、処理速度が16KB/s
ecに下がる。しかし、NLを常に判別するハードウエ
アを内蔵させたことで、NLが常に出力され、それによ
って、トークンの検索がトークンの入力と同時に達成さ
れる。すなわち、1MB/secの検索処理速度が確保
され、それだけでなく、不要トークンの読み出しをスキ
ップするために、実質の検索処理速度は数MB/s以上
に上がる。しかも、この装置はNLが32から64に及
んでも2万ゲート以下のゲートアレイで設計できるの
で、現在のLSI技術レベルでも、容易に1個のLSI
チップで実現される。
【図1】本発明の第1の実施例を示す回路図である。
【図2】図1に示された実施例におけるトークン列の例
及びネストレベルの計算例を示す図である。
及びネストレベルの計算例を示す図である。
【図3】図1に示された実施例の内部アドレス発生回路
の具体例を示すブロック図である。
の具体例を示すブロック図である。
【図4】図1に示された実施例の検索条件照合回路及び
その周辺部分の具体例を示す回路図である。
その周辺部分の具体例を示す回路図である。
【図5】図1に示された実施例の入れ子構造メッセージ
の検索処理の説明図である。
の検索処理の説明図である。
【図6】本発明の第2の実施例のNL・ID照合部の具
体例を示す回路図である。
体例を示す回路図である。
【図7】本発明の第3の実施例のNL・ID照合部の具
体例を示す回路図である。
体例を示す回路図である。
【図8】本発明の第4の実施例のNL・ID照合部の具
体例を示す回路図である。
体例を示す回路図である。
【図9】従来の入れ子構造メッセージ検索装置の動作を
説明するための入れ子構造メッセージの構成説明図であ
る。
説明するための入れ子構造メッセージの構成説明図であ
る。
1 メッセージメモリ 2 検索条件メモリ 3 アドレス発生回路 4 検索条件照合回路 5 ID・BLレジスタ 6 Nbレジスタ 7 EA計算回路 8 内部アドレス発生回路 9 ネストレベル判別回路 21 開始アドレスレジスタ 22 サイズレジスタ 23 要求NLレジスタ 24 要求IDレジスタ 25 コマンドレジスタ 41,41a〜41c NL・ID照合部 42 ヘッダ要求レジスタ 43 ヘッダ検出器 44 比較器 51 IDレジスタ 52 BLレジスタ 81 スイッチ回路 82 加算器 83 アドレスレジスタ 91a〜91c EAレジスタ 92a〜92c 比較器 93 プルアップ回路 94 フラグビットレジスタ 95 エンコーダ 96 NL出力レジスタ
Claims (4)
- 【請求項1】 ボディ部にヘッダ部とボディ部の配列を
含む入れ子構造のメッセージを記憶する記憶手段と、検
索開始アドレス,複数個の要求識別子,複数個の要求ネ
ストレベルを含む検索条件を保持する保持手段と、前記
記憶手段に対して前記検索開始アドレスから始まるトー
クンの読み出しアドレスを発生するアドレス発生手段
と、前記トークンのヘッダ部から識別子(ID)、ネス
トビット及びボディ部の長さ(BL)を各々検出し保持
するID・BL保持手段と、前記ボディ部の長さ(B
L)を用いてネストレベル別にトークンのエンドアドレ
スを計算するエンドアドレス計算手段と、前記識別子
(ID)に含まれるネストビット並びにトークンの読み
出し位置とエンドアドレスの比較結果によって前記ネス
トレベルを判定するネストレベル判別手段と、前記検索
条件に含まれる要求識別子及び要求ネストレベルと前記
ID・BL保持手段の出力並びにネストレベル検出手段
の出力との照合を行う検索条件照合手段と、この検索条
件照合手段の出力とエンドアドレス計算手段の出力とを
用いて前記記憶手段から次に読み出す内部アドレスを計
算する内部アドレス発生手段とを含むことを特徴とする
入れ子構造メッセージ検索装置。 - 【請求項2】 複数個の要求ネストレベルと要求識別子
との対がアドレス入力端子に順に与えられるとマッチ信
号“1”が書き込まれ、検索条件照合時には検出された
ネストレベル及び識別子信号を入力端子に順に与えると
前記要求ネストレベルと要求識別子との対にマッチした
時のみ設定された“1”がマッチ信号となり出力される
ランダムアクセスメモリにより検索条件照合手段を構成
したことを特徴とする請求項1記載の入れ子構造メッセ
ージ検索装置。 - 【請求項3】 複数個の要求ネストレベルをアドレス入
力端子に与えると要求識別子及びマスクビットのうちの
一方が書き込まれ、検出されたネストレベル入力を前記
アドレス入力端子に与えると設定された識別子及びマス
クビットのうちの一方が出力されるランダムアクセスメ
モリと、前記検出されたネストレベルに対する前記ラン
ダムアクセスメモリの出力と検出される識別子とを比較
する比較回路と、この比較回路の出力と前記ランダムア
クセスメモリから読み出されるマスクビットとの論理和
を求めてマッチ信号を出力するORゲート回路とにより
検索条件照合手段を構成したことを特徴とする請求項1
記載の入れ子構造メッセージ検索装置。 - 【請求項4】 複数個の要求ネストレベルと要求識別子
との対及びこれらの一部がマスクされたもののうちの一
方を記憶する内容検索メモリにより検索条件照合手段を
構成したことを特徴とする請求項1記載の入れ子構造メ
ッセージ検索装置。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4200731A JPH0652241A (ja) | 1992-07-28 | 1992-07-28 | 入れ子構造メッセージ検索装置 |
DE69321424T DE69321424T2 (de) | 1992-07-28 | 1993-07-28 | Gerät zur Wiederauffindung von Tokenketten mit hoher Geschwindigkeit |
EP93112079A EP0582199B1 (en) | 1992-07-28 | 1993-07-28 | Token train retrieval device capable of retrieving tokens at a high speed |
US08/098,076 US5440733A (en) | 1992-07-28 | 1993-07-28 | Token train retrieval device for simultaneously determining nest level and checking condition of retrieval based on the determining nest level |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4200731A JPH0652241A (ja) | 1992-07-28 | 1992-07-28 | 入れ子構造メッセージ検索装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0652241A true JPH0652241A (ja) | 1994-02-25 |
Family
ID=16429247
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP4200731A Pending JPH0652241A (ja) | 1992-07-28 | 1992-07-28 | 入れ子構造メッセージ検索装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US5440733A (ja) |
EP (1) | EP0582199B1 (ja) |
JP (1) | JPH0652241A (ja) |
DE (1) | DE69321424T2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020178283A1 (en) * | 2001-03-29 | 2002-11-28 | Pelco, A Partnership | Real-time networking protocol |
JP4175296B2 (ja) * | 2004-06-25 | 2008-11-05 | キャタピラージャパン株式会社 | 建設機械のデータ処理装置及び建設機械のデータ処理方法 |
US8631005B2 (en) | 2006-12-28 | 2014-01-14 | Ebay Inc. | Header-token driven automatic text segmentation |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4750114A (en) * | 1986-07-28 | 1988-06-07 | Honeywell Bull Inc. | Local area network control block |
US4747100A (en) * | 1986-08-11 | 1988-05-24 | Allen-Bradley Company, Inc. | Token passing network utilizing active node table |
US4916660A (en) * | 1987-07-09 | 1990-04-10 | Nec Corporation | Nest level judging hardware device for high speed message handling systems |
JPH03175854A (ja) * | 1989-12-05 | 1991-07-30 | Nec Corp | トークン列のネストレベル検出装置 |
JPH0810453B2 (ja) * | 1989-12-27 | 1996-01-31 | 日本電気株式会社 | 入れ子型トークン列の検索装置 |
US5293629A (en) * | 1990-11-30 | 1994-03-08 | Abraxas Software, Inc. | Method of analyzing computer source code |
-
1992
- 1992-07-28 JP JP4200731A patent/JPH0652241A/ja active Pending
-
1993
- 1993-07-28 DE DE69321424T patent/DE69321424T2/de not_active Expired - Fee Related
- 1993-07-28 US US08/098,076 patent/US5440733A/en not_active Expired - Fee Related
- 1993-07-28 EP EP93112079A patent/EP0582199B1/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
US5440733A (en) | 1995-08-08 |
EP0582199A3 (ja) | 1994-04-27 |
DE69321424T2 (de) | 1999-03-04 |
DE69321424D1 (de) | 1998-11-12 |
EP0582199A2 (en) | 1994-02-09 |
EP0582199B1 (en) | 1998-10-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6963868B2 (en) | Multi-bit Patricia trees | |
US7457799B2 (en) | Apparatus and method for searching data of structured document | |
US20040250027A1 (en) | Method and system for comparing multiple bytes of data to stored string segments | |
US4027288A (en) | Self-managing variable field storage system for handling nested data structures | |
KR102128037B1 (ko) | 다계층 메모리 구조에 최적화된 데이터 인덱스 방법 및 그 방법에 의해 인덱스된 데이터의 검색 방법 | |
CN111339336B (zh) | 用于房屋户型数据的解析方法及*** | |
CN116089663A (zh) | 一种规则表达式匹配方法、装置及计算机可读存储介质 | |
CN114817657A (zh) | 待检索数据处理方法、数据检索方法、电子设备及介质 | |
US7386660B2 (en) | CAM with automatic writing to the next free address | |
JPH0652241A (ja) | 入れ子構造メッセージ検索装置 | |
US20060218144A1 (en) | Systems and methods for performing streaming checks on data format for UDTs | |
CN110457455B (zh) | 一种三值逻辑问答咨询优化方法、***、介质和设备 | |
JP2679619B2 (ja) | 入れ子構造メッセージ検索装置 | |
US11055120B2 (en) | Computer architecture for emulating a control node in conjunction with stimulus conditions in a correlithm object processing system | |
JPH0746362B2 (ja) | 文字列照合方法 | |
US10990424B2 (en) | Computer architecture for emulating a node in conjunction with stimulus conditions in a correlithm object processing system | |
JP3018579B2 (ja) | 名前検索処理装置 | |
JPH04232570A (ja) | キーワード検索方法 | |
CN117743527A (zh) | 一种提取用户搜索词路径的方法、***及存储介质 | |
JPH03198155A (ja) | 入れ子型トークン列の検索装置 | |
Räcke | Data Structures | |
JPH01297724A (ja) | 学習型文字列検索装置と同装置の制御方式 | |
JP2000011096A (ja) | 文字認識処理装置及び方法並びに記憶媒体 | |
CN115238028A (zh) | 一种车辆用用户文本数据关键词匹配方法及装置 | |
CN117494706A (zh) | 信息抽取方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 19980721 |