(57)【特許請求の範囲】
【請求項１】
入力される入力トランザクションの不正パターンを検出するための複数の条件を格納する条件テーブルと、
前記入力トランザクションが、前記条件テーブルに格納された前記複数の条件を満たすか否か判定する判定部と、
前記複数の条件を満たすと判定された場合、外部装置へ不正の検出を報告する報告部と、
を備え、
前記複数の条件には、前記入力トランザクションのうち選択されたヘッダ部またはデータ部のビットパターンと、前記入力トランザクションと前記ビットパターンとの比較が一致する一致回数の上限が含まれ、
前記判定部は、前記入力トランザクションと前記ビットパターンとを比較し一致／不一致を判定し、前記入力トランザクションと前記ビットパターンとの比較が一致する毎にカウントする第１のカウンタにより前記一致回数の上限を判定し、
前記条件テーブルには、前記複数の条件を含む条件データがさらに複数格納され、
前記判定部は、前記入力トランザクションが当該条件データの前記複数の条件を満たす場合、前記複数の条件データのうち次に格納されている前記条件データを用いて、前記複数の条件を判定し、
前記報告部は、前記複数の条件データの前記複数の条件を満たす場合、前記不正の検出を報告する、
トランザクション処理装置。
【請求項２】
前記複数の条件には、前記入力トランザクションのビットのうち比較対象もしくは比較対象外のビットを示すマスクパターンが含まれ、
前記判定部は、前記マスクパターンにより比較対象とされた前記入力トランザクションと前記ビットパターンとを比較し一致／不一致を判定する、
請求項１に記載のトランザクション処理装置。
【請求項３】
前記複数の条件には、前記入力トランザクションと前記ビットパターンとの比較を終了するまでのタイムアウト時間が含まれ、
前記判定部は、前記入力トランザクションと前記ビットパターンとの比較開始からの時間をカウントする第２のカウンタにより前記タイムアウト時間を判定する、
請求項１または２に記載のトランザクション処理装置。
【請求項４】
前記判定部は、前記入力トランザクションと前記ビットパターンとの比較が一致した場合、前記第２のカウンタを比較開始時の値に再設定する、
請求項３に記載のトランザクション処理装置。
【請求項５】
前記複数の条件には、前記入力トランザクションと前記ビットパターンとの比較を終了する終了フラグが含まれ、
前記判定部は、前記入力トランザクションと前記ビットパターンとの比較が一致した場合、前記終了フラグが比較の終了を示すか否か判定する、
請求項１乃至４のいずれか一項に記載のトランザクション処理装置。
【請求項６】
前記報告部は、前記複数の条件を満たすと判定された場合、前記トランザクション処理装置が記憶している内部情報を前記外部装置へ出力する、
請求項１乃至５のいずれか一項に記載のトランザクション処理装置。
【請求項７】
入力される入力トランザクションの不正パターンを検出するための複数の条件を条件テーブルに格納し、
前記入力トランザクションが、前記条件テーブルに格納された前記複数の条件を満たすか否か判定し、
前記複数の条件を満たすと判定された場合、外部装置へ不正の検出を報告し、
前記複数の条件には、前記入力トランザクションのうち選択されたヘッダ部またはデータ部のビットパターンと、前記入力トランザクションと前記ビットパターンとの比較が一致する一致回数の上限が含まれ、
前記判定では、前記入力トランザクションと前記ビットパターンとを比較し一致／不一致を判定し、前記入力トランザクションと前記ビットパターンとの比較が一致する毎にカウントする第１のカウンタにより前記一致回数の上限を判定し、
前記条件テーブルには、前記複数の条件を含む条件データがさらに複数格納され、
前記判定では、前記入力トランザクションが当該条件データの前記複数の条件を満たす場合、前記複数の条件データのうち次に格納されている前記条件データを用いて、前記複数の条件を判定し、
前記報告では、前記複数の条件データの前記複数の条件を満たす場合、前記不正の検出を報告する、
不正トランザクション検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、トランザクション処理装置及び不正トランザクション検出方法に関し、特に、入力されるトランザクションの不正を検出するトランザクション処理装置及び不正トランザクション検出方法に関する。
【背景技術】
【０００２】
情報処理装置等の電子機器では、様々な機能を実現するために、複数のＬＳＩ（Large Scale Integration）を備えており、複数のＬＳＩ間はバス等により接続されている。そして、ＬＳＩ間ではリードリクエストやライトリクエスト等の各種のトランザクションが送受信される。このトランザクションの送受信により、ＬＳＩが不正な動作を行う場合があるため、不正な動作が生じ得る不正トランザクションを効果的に検出し解析する技術が望まれている。不正なトランザクションとは、ＬＳＩを不正に動作させるトランザクションであり、不正な動作とは、ＬＳＩの内部回路がトランザクションを処理することにより異常に動作することである。例えばＬＳＩが不正な動作をすることにより、ＬＳＩを含むシステムに障害が発生する恐れがある。
【０００３】
なお、特許文献１には、プロセッサのプログラムデバッグにおいて、所定のトラップ条件を設定することが記載されている。また、特許文献２には、ファイルの検索において、所定条件を満たすデータを検索することが記載されている。また、特許文献３には、デジタル放送受信装置のデバッグ回路において、所定の条件でデータをフィルタリングすることが記載されている。また、特許文献４には、プリンタにおいて、不正アクセス時に初期状態とすることが記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平０４−０７６７３７号公報
【特許文献２】特開昭６２−０７２０２８号公報
【特許文献３】特開２００４−０５６６６１号公報
【特許文献４】特開２００７−２１５２８８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
関連する技術では、トランザクションによりＬＳＩ内で不正な動作が発生したときには、主に以下の３通りの方法により解析を行っていた。
（１）ＬＳＩ間にロジックアナライザを挿入し、不正が起きるタイミングをトリガとしてデータを採取し解析する。
（２）送信側ＬＳＩにＩＣＥ（インサーキットエミュレータ）などを接続し、送信側でステップ実行等を行い解析する。
（３）シミュレーションモデルにより解析する。
【０００６】
上記（１）、（２）の方法では、ＬＳＩが搭載されたボード上にロジックアナライザ搭載用のエリアを必要とするため特別なボードが必要であったり、ロジックアナライザ挿入のため送信側ＬＳＩおよび受信側ＬＳＩでのトランザクションの動作タイミングがずれ、不正な現象が起こらない事がある。また、上記（３）の方法では不正が発生したときの動作を完全に再現させる事が難しい、という問題があった。
【０００７】
また、関連する技術では、あるトランザクションのＬＳＩ入力を契機としてシステムが不正動作したとき、受信側ＬＳＩが不正の契機となるトランザクションを特定し報告する回路を備えていないため、送信側ＬＳＩにて不正動作を検証する必要があり、原因特定に多大な工数を要するという問題があった。
【０００８】
このように、関連する技術では、入力されたトランザクションによりＬＳＩ内で不正な動作が発生した場合に原因の解析が困難であるという問題がある。本発明の目的は、このような課題を解決するトランザクション処理装置及び不正トランザクション検出方法を提供することにある。
【課題を解決するための手段】
【０００９】
本発明に係るトランザクション処理装置は、入力される入力トランザクションの不正パターンを検出するための複数の条件を格納する条件テーブルと、前記入力トランザクションが、前記条件テーブルに格納された前記複数の条件を満たすか否か判定する判定部と、前記複数の条件を満たすと判定された場合、外部装置へ不正の検出を報告する報告部と、を備えるものである。
【００１０】
本発明に係る不正トランザクション検出方法は、入力される入力トランザクションの不正パターンを検出するための複数の条件を条件テーブルに格納し、前記入力トランザクションが、前記条件テーブルに格納された前記複数の条件を満たすか否か判定し、前記複数の条件を満たすと判定された場合、外部装置へ不正の検出を報告するものである。
【発明の効果】
【００１１】
本発明によれば、不正トランザクションが発生したときに容易に解析が可能なトランザクション処理装置及び不正トランザクション検出方法を提供することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明に係るトランザクション処理装置の特徴を説明するための構成図である。
【図２】本発明の実施の形態１に係るトランザクション処理システムの構成を示す構成図である。
【図３】本発明の実施の形態１に係る条件テーブルのデータ構成を示す構成図である。
【図４】本発明の実施の形態１に係る受信装置の動作を示すフローチャートである。
【図５】本発明の実施の形態１に係る条件テーブルに格納されるデータの一例を示す図である。
【図６】本発明の実施の形態１に係る受信装置の動作の一例を説明するための図である。
【発明を実施するための形態】
【００１３】
（本発明の特徴）
本発明の実施の形態の説明に先立って、図１を用いて、本発明の特徴についてその概要を説明する。
【００１４】
図１に示すように、本発明に係るトランザクション処理装置（後述の受信側ＬＳＩに相当）１は、入力される入力トランザクションの不正パターンを検出するための複数の条件を格納する条件テーブル１１と、入力トランザクションが、条件テーブル１１に格納された複数の条件を満たすか否か判定する判定部（後述の判定回路に相当）１８と、複数の条件を満たすと判定された場合、外部装置へ不正の検出を報告する報告部（後述の報告回路に相当）１９と、を備えることを主要な特徴としている。
【００１５】
本発明によれば、不正なトランザクションとなる複数の条件を予め格納し、複数の条件が全て満たされたときに報告するようにした。これにより、不正なトランザクションを精度よく検出し報告できるため、不正動作が発生したときの解析を容易に行うことができる。また、本発明では、報告部が報告すると共にその時のトランザクション処理装置内部の情報を保持し外部装置が読み出す事により、複数の条件により不正が発生したときの解析を容易にすることができる。
【００１６】
（本発明の実施の形態１）
以下、図面を参照して本発明の実施の形態１について説明する。図２は、本発明の実施の形態１に係るトランザクション処理システムの構成を示している。図２に示すように、このトランザクション処理システムは、受信側ＬＳＩ１、送信側ＬＳＩ２、情報処理装置３を備えている。
【００１７】
情報処理装置３は、パーソナルコンピュータやワークステーション等であり、また、情報処理装置３をＬＳＩで構成してもよい。情報処理装置３は、受信側ＬＳＩ１に接続され、受信側ＬＳＩ１内のバッファやレジスタにデータをリードライトすることが可能である。
【００１８】
送信側ＬＳＩ２と受信側ＬＳＩ１とは、例えばバス等により接続されており、送信側ＬＳＩ２から発行されたトランザクションが受信側ＬＳＩ１により受信される。送信側ＬＳＩ２及び受信側ＬＳＩ１は、トランザクションを送受信してデータ処理を行うプロセッサ等の集積回路である。送信側ＬＳＩ２と受信側ＬＳＩ１は、同じ装置内に設けられてもよいし、別々の装置に設けられていてもよい。なお、トランザクションは、所定の処理（機能）を実行するために送受信されるデータであり、例えば、リードリクエスト、ライトリクエスト、完了報告などが含まれる。
【００１９】
受信側ＬＳＩ１は、制御回路１０、条件テーブル１１、テーブルライトアドレス生成回路１２、テーブルリードアドレス生成回路１３、スタート回路１４、比較回路１５、カウンタ１６、条件回路１７、判定回路１８、報告回路１９、入力バッファ２０、バッファライトアドレス生成回路２１、バッファリードアドレス生成回路２２、定数回路２３を備えている。受信側ＬＳＩ１のこれらの回路は、不正トランザクションの条件を満たす場合に報告する不正トランザクション検出回路を構成し、換言すると、不正トランザクションのトラップ条件を満たす場合にトラップを報告するトラップ回路を構成する。なお、受信側ＬＳＩ１は、その他、情報処理装置３と接続するためのインタフェース、送信側ＬＳＩ２と接続するためのインタフェース、トランザクション等を処理しＬＳＩの機能を実現する内部回路を有している。ここでは、ＬＳＩの各機能を各回路により実現するものとして説明するが、ＣＰＵ等がメモリに格納された所定のプログラムを実行することにより、各機能を実現するように構成してもよい。
【００２０】
制御回路１０は、情報処理装置３から送付されたデータを元に制御信号を生成し、スタート回路１４、テーブルライトアドレス生成回路１２、条件テーブル１１、報告回路１９、バッファリードアドレス生成回路２２へ出力する。また、制御回路１０は、報告回路１９から送付されたデータを加工し情報処理装置３に送付する。
【００２１】
条件テーブル１１は、制御回路１０で生成された複数の条件を格納する。条件テーブル１１は、不正となるトランザクションを検出するための複数の条件を設定するテーブルであり、情報処理装置３から各条件が入力される。
【００２２】
ここで、条件テーブル１１は図３に示すように構成されている。条件テーブル１１に格納される各条件データ１１ａは、識別フラグ（Ｖ）１０１、最終条件フラグ（Ｌ）１０２、データフィールド１０３、マスクフィールド１０４、タイマフィールド１０５、ＭＩＳＣフィールド１０６を有している。すなわち、条件テーブル１１に格納される複数の条件を有する各データ（レコード）を条件データ１１ａと称する。
【００２３】
識別フラグ（Ｖ）１０１は、データフィールド１０３に格納される条件の種別を示している。識別フラグ１０１は、"１"であれば、データフィールド１０３にトランザクションのヘッダ部が格納されることを示し、"０"であれば、データフィールド１０３にトランザクションのデータ部が格納されることを示している。
【００２４】
最終条件フラグ（Ｌ）１０２は、条件データ１１ａが条件テーブル１１の中で最後であるか否か示している。最終条件フラグ１０２は、"１"であれば、条件データ１１ａが最終条件であることを示し、"０"であれば、条件データ１１ａが最終ではなく残りの条件があることを示している。
【００２５】
データフィールド１０３は、トランザクションのヘッダ部またはデータ部の一致を判定するビットパターンが格納される。例えば、識別フラグ１０１及び最終条件フラグ１０２（Ｖ／Ｌフラグ）が、"１０ｘ（２進数）"のとき、データフィールド１０３には、トランザクションのヘッダ部のビットパターンが格納される。このとき、データフィールド１０３には、アドレス（Ａｄｄｒ）１１１、コマンド（Ｃｍｄ）１１２、トランザクションＩＤ（ＩＤ）１１３、送信元（ＳＲＣ）１１４、宛先（ＤＳＴ）１１５、長さ（１１６）が格納される。例えば、識別フラグ１０１及び最終条件フラグ１０２（Ｖ／Ｌフラグ）が、"０１ｘ"のとき、トランザクションのデータ部のビットパターンであるデータ１１７が格納される。
【００２６】
マスクフィールド１０４は、データフィールド１０３のビットマスクパターンであるマスク１１８が格納される。マスク１１８は、データフィールド１０３に対応した同じ長さのビットパターンであり、トランザクションとデータフィールド１０３を比較する際の比較対象を示している。マスク１１８が"１"となるビットに対応する、データフィールド１０３のビット及びトランザクションのビットは、比較対象外となる。マスク１１８が"０"となるビットに対応する、データフィールド１０３のビット及びトランザクションのビットのみ比較対象となる。なお、ここでは、マスクの"１"を比較対象外、"０"を比較対象として示すが、マスクの"０"を比較対象外、"１"を比較対象としてもよい。
【００２７】
タイマフィールド１０５は、条件データ１１ａとトランザクションを比較するためのタイマ値１１９が格納される。タイマ値１１９は、条件データ１１ａとトランザクションとの比較を開始してから終了するまでのタイムアウト時間である。
【００２８】
ＭＩＳＣフィールド１０６は、その他の条件であるＲＰＴ値１２０が格納される。ここでは、他の条件として、条件データ１１ａ（データフィールド）とトランザクションとがヒット（一致）した回数の上限であり、比較を終了するまでのヒット回数である。
【００２９】
さらに図２の各構成について説明する。テーブルライトアドレス生成回路１２は、制御回路１０で生成された条件データ１１ａを格納する条件テーブル１１のテーブルライトアドレスを生成する。すなわち、条件テーブル１１は、テーブルライトアドレスにより特定される位置（番地）に条件データ１１ａが書き込まれる。
【００３０】
テーブルリードアドレス生成回路１３は、判定回路１８の判定結果に応じて参照する条件テーブル１１のアドレスを生成する。すなわち、条件テーブル１１は、テーブルリードアドレスにより特定される位置（番地）の条件データ１１ａが読み出される。また、テーブルリードアドレス生成回路１３は、判定回路１８で条件が満たされたとき次に比較する条件テーブル１１のアドレスを生成する。
【００３１】
入力バッファ２０は、送信側ＬＳＩ２から受信した複数のトランザクションを格納する。例えば、入力バッファ２０は、ＦＩＦＯバッファであり、入力された順番にトランザクションを内部回路へ出力する。
【００３２】
バッファライトアドレス生成回路２１は、送信側ＬＳＩ２から入力したトランザクションを入力する入力バッファ２０のバッファライトアドレスを生成する。すなわち、入力バッファ２０は、バッファライトアドレスにより特定される位置（番地）にトランザクションが書き込まれる。また、バッファライトアドレス生成回路２１は、判定回路１８の出力を契機として定数回路２３で指定された時間だけ待ってバッファライトアドレスの生成を停止する。
【００３３】
バッファリードアドレス生成回路２２は、情報処理装置３から送付されたデータを元に入力バッファ２０のバッファリードアドレスを生成する。すなわち、入力バッファ２０は、バッファリードアドレスにより特定される位置（番地）のトランザクションが読み出される。
【００３４】
スタート回路１４は、情報処理装置３から送付されたデータを元に比較開始信号を生成する。すなわち、情報処理装置３からの指示により比較開始信号が生成され、条件テーブル１１と入力トランザクションとの比較が開始される。
【００３５】
比較回路１５は、送信側ＬＳＩ２から入力されたトランザクションと、条件テーブル１１に格納されテーブルリードアドレス生成回路１３で示されたテーブルリードアドレスに格納された条件データ１１ａとを比較する。比較回路１５は、条件テーブル１１の識別フラグ１０１、データフィールド１０３、マスクフィールド１０４を参照し、識別フラグ１０１によりトランザクションの比較対象をヘッダ部もしくはデータ部に決定し、マスクフィールド１０４でマスクされたデータフィールド１０３と、トランザクションのヘッダ部もしくはデータ部とを比較する。
【００３６】
カウンタ（第１のカウンタ）１６は、条件テーブル１１に格納されテーブルリードアドレス生成回路１３で示されたテーブルリードアドレスに格納された条件データ１１ａのタイマ値（カウンタ値）をセットする。カウンタ１６は、スタート回路１４の出力を契機にカウンタ値をデクリメントする（カウントする）。
【００３７】
条件回路（第２のカウンタ）１７は、条件テーブル１１に格納されテーブルリードアドレス生成回路１３で示されたテーブルリードアドレスに格納された条件データ１１ａの値から他の条件を生成する。条件回路１７は、条件テーブル１１のＭＩＳＣフィールド１０６をセットする。条件回路１７は、データフィールド１０３がヒット（一致）した場合に、ヒットした回数をデクリメントする（カウントする）。
【００３８】
判定回路１８は、比較回路１５で条件が一致した時に、同一アドレスのその他の条件テーブル１１に格納された条件データ１１ａが満たされるか否かを判定する。判定回路１８は、条件テーブル１１の条件データ１１ａについて、データフィールド１０３及びマスクフィールド１０４の条件、タイマフィールド１０５の条件、ＭＩＳＣフィールド１０６の条件等の条件が満たされるか否か判定する。
【００３９】
報告回路１９は、判定回路１８の出力から判定結果を情報処理装置３へ報告する。また、報告回路１９は、情報処理装置３から要求されたバッファの読み出し要求に従い入力バッファ２０から読み出すリードデータ（トランザクション）を送付する。
【００４０】
定数回路２３は、定数を記憶し、設定する回路である。定数回路２３は、判定回路１８の出力からバッファライトアドレスの生成を停止する時間を設定する。
【００４１】
図４は、本発明の実施の形態１に係る受信側ＬＳＩ１の動作の流れを示している。まず、情報処理装置３から制御回路１０を介して、条件テーブル１１に条件データ１１ａを設定する（Ｓ１０１）。
【００４２】
次いで、情報処理装置３からトラップ動作開始が要求されると、比較回路１５は、受信するトランザクションと条件データ１１ａのデータフィールド１０３とを比較する（Ｓ１０２）。判定回路１８は、トランザクションが不一致の場合、カウンタ１６のカウンタ値によりタイムアウトを判定する（Ｓ１０３）。Ｓ１０３で、カウンタ値が０よりも大きく、タイムアウト前の場合、当該トランザクションの比較は終了し、Ｓ１０２で次のトランザクションの比較が行われる。
【００４３】
Ｓ１０２でトランザクションが一致の場合、もしくは、Ｓ１０３でタイムアウトの場合、条件回路１７のヒット回数がデクリメントされ、判定回路１８は、条件回路１７を参照し、トランザクションのヒット回数の上限を判定する（Ｓ１０４）。Ｓ１０４で、条件回路１７のヒット回数が０よりも大きく、上限に達していない場合、当該トランザクションの比較は終了し、Ｓ１０２で次のトランザクションの比較が行われる。
【００４４】
Ｓ１０４で、トランザクションのヒット回数が上限に達している場合、判定回路１８は、条件データ１１ａの最終条件フラグ（Ｌ）１０２を参照し、条件データ１１ａが最終であるかどうか判定する（Ｓ１０５）。Ｓ１０５で、条件データ１１ａが最終ではない場合、当該条件データ１１ａによるトランザクションの比較は終了し、Ｓ１０２で次の条件データ１１ａを用いて、次のトランザクションの比較が行われる。
【００４５】
Ｓ１０５で、条件データ１１ａが最終である場合、判定回路１８は、条件テーブル１１の全ての条件を満たしているため不正であると判断し、報告回路１９は、制御回路１０を介して情報処理装置３へ不正トランザクションが検出されたことを報告する（Ｓ１０６）。
【００４６】
次に、図５及び図６を用いて、本発明の実施の形態１に係る受信側ＬＳＩ１の具体的な動作例について説明する。図５のように条件テーブル１１が設定されたとき、図６に示す順序で送信側ＬＳＩ２よりトランザクションを受信した時の動作を説明する。なお、図６は、各ステップにおいて、入力されるトランザクション（図６の左側の表）と、条件データ１１ａをもとに比較される値（図６の右側の表）とを示している。
【００４７】
最初に、条件テーブル１１へ図５に示す条件データ１１ａが格納される手順を説明する。情報処理装置３は、条件テーブル１１のテーブルアドレス０番地に格納する値"１０＿０＿１１１１１１＿０１＿００＿００＿１１＿１００＿０００００１＿１１＿００＿００＿００＿０００＿１０００００００＿０１１"（条件データ２００）を受信側ＬＳＩ１の制御回路１０へ送出する。制御回路１０は条件テーブル１１のテーブルライトアドレス生成回路１２にライトアドレス（０番地）とライトイネーブルを送出すると共に条件テーブル１１に条件データ２００をセットする。
【００４８】
次に情報処理装置３は、条件テーブル１１のテーブルアドレス１番地に格納する値"０１＿０＿１１１１１１＿１１＿１１＿１１＿１１＿１１１＿００００００＿００＿００＿００＿００＿０００＿００００００００＿００１"（条件データ２０１）を受信側ＬＳＩの制御回路１０へ送出する。制御回路１０は条件テーブル１１のテーブルライトアドレス生成回路１２にライトアドレス（１番地）とライトイネーブルを送出すると共に条件テーブル１１に条件データ２０１をセットする。
【００４９】
次に情報処理装置３は、条件テーブル１１のテーブルアドレス２番地に格納する値"１０＿１＿１１０１１１＿１０＿０１＿１１＿００＿０１０＿０００００１＿００＿００＿００＿００＿０００＿００００００００＿００１"（条件データ２０２）を受信側ＬＳＩの制御回路１０へ送出する。制御回路１０は条件テーブル１１のテーブルライトアドレス生成回路１２にライトアドレス（２番地）とライトイネーブルを送出すると共に条件テーブル１１に条件データ２０２をセットする。
【００５０】
最後に情報処理装置３は、トラップ回路の動作開始を要求するためのデータを受信側ＬＳＩ１の制御回路１０へ送出する。制御回路１０はスタート回路１４にトラップ動作の開始を要求すると共に、条件テーブル１１の０番地に格納された条件データ２００を比較回路１５とカウンタ１６と条件回路１７にセットする。値をセットされたカウンタ１６はデクリメントを開始する。なお、比較回路１５はマスクフィールド１０４が"１"のビットについて比較対象外として入力トランザクションの値と比較する。またカウンタ１６は設定された値から"０"になるまで毎サイクルデクリメントされ"０"になるとタイムアウトとなり条件のスキップを判定回路１８に報告する。また、条件回路１７は比較回路１５がヒットした時またはカウンタ１６が"０"になるとデクリメントされ、条件回路１７が"０"になると判定回路１８に報告する。
【００５１】
次に、送信側ＬＳＩ２から受信側ＬＳＩ１へ図６に示す順序でトランザクションが発行されたときの受信側ＬＳＩ１の動作を説明する。
【００５２】
まず、ステップ１では、送信側ＬＳＩ２から発行され受信側ＬＳＩ１で受信したトランザクションはバッファライトアドレス生成回路２１で生成された入力バッファ２０のバッファアドレス０番地に格納されると共に、条件テーブル１１のテーブルアドレス０番地に格納される条件データ２００（データフィールド１０３）と比較回路１５で比較される。このとき、トランザクション（ａ１）と比較値（ｂ１）とは不一致であり、カウンタ値（ｃ１）は"１０００００"である。このため、スタート回路１４から出力されたトラップ回路が動作中であって、比較回路１５の結果がミス（不一致）しており、かつ、カウンタ１６が"０"以外の値のため、条件回路１７の結果に関係なく判定回路１８はミスと判断し処理は完了する。なお、比較回路１５の結果がミスのため、カウンタ値（ｃ１）はデクリメントされ、条件回路１７の値（ｄ４）はデクリメントされない。
【００５３】
次いで、ステップ２では、送信側ＬＳＩ２から発行され受信側ＬＳＩ１で受信したトランザクションはバッファライトアドレス生成回路２１で生成された入力バッファ２０のバッファアドレス１番地に格納されると共に、条件テーブル１１のテーブルアドレス０番地に格納される条件データ２００（データフィールド１０３）と比較回路１５で比較される。このとき、トランザクション（ａ２）と比較値（ｂ１）とは不一致であり、カウンタ値（ｃ２）は"１００００"である。このため、スタート回路１４から出力されたトラップ回路が動作中であって、比較回路１５の結果がミスしており、かつ、カウンタ１６が"０"以外の値のため、条件回路１７の結果に関係なく判定回路１８はミスと判断し処理は完了する。
【００５４】
次いで、ステップ３では、送信側ＬＳＩ２から発行され受信側ＬＳＩ１で受信したトランザクションはバッファライトアドレス生成回路２１で生成された入力バッファ２０のバッファアドレス２番地に格納されると共に、条件テーブル１１のテーブルアドレス０番地に格納される条件データ２００（データフィールド１０３）と比較回路１５で比較される。このとき、トランザクション（ａ３）と比較値（ｂ１）とは不一致であり、カウンタ値（ｃ３）は"１０００"である。このため、スタート回路１４から出力されたトラップ回路が動作中であって、比較回路１５の結果がミスしており、かつ、カウンタ１６が"０"以外の値のため、条件回路１７の結果に関係なく判定回路１８はミスと判断し処理は完了する。
【００５５】
次いで、ステップ４では、送信側ＬＳＩ２から発行され受信側ＬＳＩ１で受信したトランザクションはバッファライトアドレス生成回路２１で生成された入力バッファ２０のバッファアドレス３番地に格納されると共に、条件テーブル１１のテーブルアドレス０番地に格納される条件データ２００（データフィールド１０３）と比較回路１５で比較される。このとき、トランザクション（ａ４）と比較値（ｂ１）とが一致し、カウンタ値（ｃ４）は"１００"である。このため、スタート回路１４から出力されたトラップ回路が動作中であって、比較回路１５の結果がヒット（一致）し、かつ、カウンタ１６が"０"以外の値のため条件回路１７の値がデクリメントされ"０１０"（ｄ２）となる。そして、トラップ回路が動作中であり比較回路１５の結果がヒットしカウンタ１６が"０"以外であり、条件回路１７の値が"０"以外なので判定回路１８はヒットと判断し処理は完了する。なお、比較回路１５の結果がヒットのため、カウンタ値（ｃ４）は、初期値（条件データ２００のタイマフィールド１０５）がセットされる。
【００５６】
次いで、ステップ５では、送信側ＬＳＩ２から発行され受信側ＬＳＩ１で受信したトランザクションはバッファライトアドレス生成回路２１で生成された入力バッファ２０のバッファアドレス４番地に格納されると共に、条件テーブル１１のテーブルアドレス０番地に格納される条件データ２００（データフィールド１０３）と比較回路１５で比較される。このとき、トランザクション（ａ５）と比較値（ｂ１）とが一致し、カウンタ値（ｃ５）は"１００００００"である。このため、スタート回路１４から出力されたトラップ回路が動作中であって、比較回路１５の結果がヒットし、かつ、カウンタ１６が"０"以外の値のため条件回路１７の値がデクリメントされ"００１"（ｄ３）となる。そして、トラップ回路が動作中であり比較回路１５の結果がヒットしカウンタ１６が"０"以外であり、条件回路１７の値が"０"以外なので判定回路１８はヒットと判断し処理は完了する。
【００５７】
次いで、ステップ６では、送信側ＬＳＩ２から発行され受信側ＬＳＩ１で受信したトランザクションはバッファライトアドレス生成回路２１で生成された入力バッファ２０のバッファアドレス５番地に格納されると共に、条件テーブル１１のテーブルアドレス０番地に格納される条件データ２００（データフィールド１０３）と比較回路１５で比較される。このとき、トランザクション（ａ６）と比較値（ｂ１）とが一致し、カウンタ値（ｃ６）は"１００００００"である。このため、スタート回路１４から出力されたトラップ回路が動作中であって、比較回路１５の結果がヒットし、かつ、カウンタ１６が"０"以外の値のため条件回路１７の値がデクリメントされ"０００"（ｄ４）となる。そして、トラップ回路が動作中であり比較回路１５の結果がヒットしカウンタ１６が"０"以外であり、条件回路１７の値が"０"であるが、Ｌ＝"０"（ｌ１）であり比較最終条件ではないので、判定回路１８はヒットと判断しテーブルリードアドレス生成回路１３にインクリメント要求を発行するだけで報告回路１９には報告しない。さらに、テーブルリードアドレス生成回路１３はインクリメントされ条件テーブル１１の１番地に格納された条件データ２０１を比較回路１５とカウンタ１６と条件回路１７にセットする。値をセットされたカウンタ１６はデクリメントを開始する。
【００５８】
次いで、ステップ７では、送信側ＬＳＩ２から発行され受信側ＬＳＩ１で受信したトランザクションはバッファライトアドレス生成回路２１で生成された入力バッファ２０のバッファアドレス６番地に格納されると共に、条件テーブル１１のテーブルアドレス１番地に格納される条件データ２０１（データフィールド１０３）と比較回路１５で比較される。このとき、トランザクション（ａ７）と比較値（ｂ２）とが一致し、カウンタ値（ｃ７）は"１００００００"である。このため、スタート回路１４から出力されたトラップ回路が動作中であって、比較回路１５の結果がヒットし、かつ、カウンタ１６が"０"以外の値のため条件回路１７の値がデクリメントされ"０００"（ｄ５）となる。そして、トラップ回路が動作中であり比較回路１５の結果がヒットしカウンタ１６が"０"以外であり、条件回路１７の値が"０"であるがＬ＝"０"であり比較最終条件ではないので、判定回路１８はヒットと判断しテーブルリードアドレス生成回路１３にインクリメント要求を発行するだけで報告回路１９には報告しない。さらに、テーブルリードアドレス生成回路１３はインクリメントされ条件テーブル１１の２番地に格納された条件データ２０２を比較回路１５とカウンタ１６と条件回路１７にセットする。値をセットされたカウンタ１６はデクリメントを開始する。
【００５９】
次いで、ステップ８では、送信側ＬＳＩ２から発行され受信側ＬＳＩ１で受信したトランザクションはバッファライトアドレス生成回路２１で生成された入力バッファ２０のバッファアドレス７番地に格納されると共に、条件テーブル１１のテーブルアドレス２番地に格納される条件データ２０２（データフィールド１０３）と比較回路１５で比較される。このとき、トランザクション（ａ８）と比較値（ｂ３）とは不一致であり、カウンタ値（ｃ８）は"１００００００"である。このため、スタート回路１４から出力されたトラップ回路が動作中であって、比較回路１５の結果がミスしており、かつ、カウンタ１６が"０"以外の値のため、条件回路１７の結果に関係なく判定回路１８はミスと判断し処理は完了する。なお、比較回路１５の結果がミスのため、カウンタ値（ｃ８）はデクリメントされ、条件回路１７の値（ｄ６）はデクリメントされない。
【００６０】
次いで、ステップ９では、送信側ＬＳＩ２から発行され受信側ＬＳＩ１で受信したトランザクションはバッファライトアドレス生成回路２１で生成された入力バッファ２０のバッファアドレス８番地に格納されると共に、条件テーブル１１のテーブルアドレス２番地に格納される条件データ２０２（データフィールド１０３）と比較回路１５で比較される。このとき、トランザクション（ａ９）と比較値（ｂ３）とは一致し、カウンタ値（ｃ９）は"１００００"である。このため、スタート回路１４から出力されたトラップ回路が動作中であって、比較回路１５の結果がヒットし、かつ、カウンタ１６が"０"以外の値のため条件回路１７の値がデクリメントされ"０００"（ｄ７）となる。そして、トラップ回路が動作中であり比較回路１５の結果がヒットしカウンタ１６が"０"以外であり、条件回路１７の値が"０"でありＬ＝"１"（ｌ２）であり比較最終条件を満たす。このため、判定回路１８はヒットと判断し報告回路１９に報告すると共に、定数回路２３にセットされたサイクル数だけ待ってバッファライトアドレス生成回路２１に入力バッファ２０へのライト禁止要求を発行する。報告回路１９は制御回路１０を通して情報処理装置３に報告し、報告を受けた情報処理装置３は制御回路１０を通して入力バッファ２０やＬＳＩ内のレジスタに格納されたデータを報告回路１９から制御回路１０を通して採取する。
【００６１】
以上のように、本実施形態では、受信側ＬＳＩ内に条件テーブルと比較回路を備え、予め情報処理装置から条件テーブルにセットした複数の条件値と送信側ＬＳＩから入力したトランザクションの値を比較回路にて決められた順序で比較し、全条件が一致した場合その時のデータを保持し、情報処理装置に報告すると共にその時のＬＳＩ内のデータを情報処理装置に送信し表示させるようにした。これにより、トランザクション受信による不正動作が発生したときの解析を容易に行うことができる。
【００６２】
また、本機能は通常動作にて実施する事が出来るため、再現性を損なう事もなく、また低コストにて解析が実現できる。
【００６３】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
【符号の説明】
【００６４】
１      受信側ＬＳＩ（トランザクション処理装置）
２      送信側ＬＳＩ
３      情報処理装置
１０    制御回路
１１    条件テーブル
１１ａ  条件データ
１２    テーブルライトアドレス生成回路
１３    テーブルリードアドレス生成回路
１４    スタート回路
１５    比較回路
１６    カウンタ
１７    条件回路
１８    判定回路（判定部）
１９    報告回路（報告部）
２０    入力バッファ
２１    バッファライトアドレス生成回路
２２    バッファリードアドレス生成回路
２３    定数回路
１０１  識別フラグ
１０２  最終条件フラグ
１０３  データフィールド
１０４  マスクフィールド
１０５  タイマフィールド
１０６  ＭＩＳＣフィールド
【図１】
0006052847.tif 000002
【図２】
0006052847.tif 000003
【図３】
0006052847.tif 000004
【図４】
0006052847.tif 000005
【図５】
0006052847.tif 000006
【図６】
0006052847.tif 000007