(57)【要約】【課題】同一パケットを二重に発生させることなく、処理対象のフレームに所望の処理を行うことができる情報処理装置を提供する。【解決手段】外部から入力された入力フレームの振り分け条件、及び外部へ出力するフレームの第１のフィルタ条件を設定するフィルタ管理部と、振り分け条件に従って、入力フレームを内部又は外部へ出力する振り分け部と、振り分け部からの入力フレームに第１の処理を行い、出力フレームとしてフィルタ部へ出力する処理部と、第１のフィルタ条件に従って、出力フレームを、外部へ出力又は破棄するフィルタ部と、を備える。【選択図】      図２０
2014027470.tif 000002
【特許請求の範囲】
【請求項１】
外部から入力された入力フレームの振り分け条件、及び外部へ出力するフレームの第１のフィルタ条件を設定するフィルタ管理部と、
前記振り分け条件に従って、前記入力フレームを内部又は外部へ出力する振り分け部と、
前記振り分け部からの前記入力フレームに第１の処理を行い、出力フレームとしてフィルタ部へ出力する処理部と、
前記第１のフィルタ条件に従って、前記出力フレームを、外部へ出力又は破棄するフィルタ部と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記振り分け条件は、前記入力フレームが前記第１の処理の対象であるか否かによって振り分け先を規定し、
前記振り分け部は、前記振り分け条件に従って、前記入力フレームが前記第１の処理の対象であるとき、前記入力フレームを前記処理部へ振り分け、
前記処理部は、前記入力フレームが前記第１の処理の対象であるとき、前記入力フレームに前記第１の処理を行い、
前記第１のフィルタ条件は、前記出力フレームが前記第１の処理の対象であるか否かによってフィルタ動作を規定し、
前記フィルタ部は、前記第１のフィルタ条件に従って、前記出力フレームが前記第１の処理の対象であるとき、前記出力フレームを外部へ出力し、前記出力フレームが前記第１の処理の対象でないとき、前記出力フレームを破棄する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記振り分け条件は、前記入力フレームが外部における第２の処理及び前記第１の処理の対象であるか否かによって振り分け先を規定し、
前記振り分け部は、前記振り分け条件に従って、前記入力フレームが前記第１の処理及び前記第２の処理の対象であるとき、前記入力フレームを前記処理部へ振り分け、前記入力フレームが前記第２の処理の対象でないとき、前記入力フレームを外部へ出力し、
前記第１のフィルタ条件は、前記出力フレームが前記第２の処理の対象であるか否かによってフィルタ動作を規定し、
前記フィルタ部は、前記第１のフィルタ条件に従って、前記入力フレームが前記第２の処理の対象であるとき、前記出力フレームを外部へ出力し、前記入力フレームが前記第２の処理の対象でないとき、前記出力フレームを破棄する
ことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記振り分け条件は、第２のフィルタ条件を含み、
前記振り分け部は、前記振り分け部を制御するオペレーティングシステムが備えるフレームコピー機能を用いて前記入力フレームをコピーして前記処理部へ出力し、前記オペレーティングシステムが備えるフィルタ機能を用いて前記第２のフィルタ条件に従って前記入力フレームを通過させ外部へ出力する
ことを特徴とする請求項１乃至３のいずれかに記載の情報処理装置。
【請求項５】
外部から入力された入力フレームの振り分け条件、及び外部へ出力するフレームの第１のフィルタ条件を設定し、
前記振り分け条件に従って、前記入力フレームを内部又は外部へ出力し、
前記入力フレームに第１の処理を行い、出力フレームとして出力し、
前記第１のフィルタ条件に従って、前記出力フレームを、外部へ出力又は破棄する
ことを特徴とする情報処理方法。
【請求項６】
請求項５に記載の情報処理方法を用いて出力された前記第１の出力フレームと、前記第１の処理の結果として期待される期待値フレームとが一致するか否かを判定し、
前記第１の出力フレームと前記期待値フレームとが一致したとき、指定された第２の処理を行う処理部を備え、ネットワークから入力される第２の入力フレームに対して前記第２の処理を行い、第２の出力フレームを情報処理装置へ出力するネットワーク・インタフェースカードの前記処理部に、前記第１の処理を行うように指定する
ことを特徴とする情報処理システム検証方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、及び情報処理方法に関し、特に、処理対象のフレームにのみ所望の処理を行う情報処理装置、及び情報処理方法に関する。
【背景技術】
【０００２】
近年、ネットワークを流れるデータの通信レートは年々上昇している。通信レートの上昇傾向が続くと、将来、ネットワークからの入力を分析・抽出する処理（以降、「分析抽出処理」という。）をリアルタイムに行えなくなるという問題が指摘されている。ここでいう分析抽出処理の一例を、株取引の場合について示すと、（１）ネットワークから入力される銘柄、株価の時系列データから指定の銘柄の情報のみを抽出し、（２）平滑化（隣接する複数点の数値の平均をとる処理）を行う、といった処理である。
【０００３】
このような問題の対策として、処理を高速化する方法の一つに、現在サーバのアプリケーション（ＡＰ： Application Software）で行われている分析抽出処理の一部を、ハードウェア・アクセラレータにオフロードする手法が挙げられる。ハードウェア・アクセラレータの一例として、ユーザ自身が規定した処理（以降、「ユーザ規定処理」という。）を書き込むことができる、再構成可能デバイスを搭載したネットワーク・インタフェースカード（ＮＩＣ： Network Interface Card）が挙げられる。再構成可能デバイスの例としては、ＦＰＧＡ（Field Programmable Gate Array）がある。
【０００４】
ＦＰＧＡを搭載したＮＩＣ（ＦＰＧＡ−ＮＩＣ）をハードウェア・アクセラレータとして用いる場合は、サーバのＡＰで行われている処理の一部をオフロードする。すなわち、ＦＰＧＡ−ＮＩＣをサーバの前段に組み込み、処理の一部を実行するための回路をＦＰＧＡにプログラムする。オフロードされた処理は専用の回路で実行されるので、サーバのＡＰで実行される単位時間あたりの処理量が増大するので、処理を高速化することができる。
【０００５】
ユーザは、サーバのＡＰで行われている処理の中から、オフロード対象の処理を選択し、処理内容を記述する。次にユーザは、記述した処理内容について、論理合成、ネットリストへの変換、配置配線等の作業を行った後、処理内容、具体的にはＦＰＧＡへプログラムする情報をＦＰＧＡ−ＮＩＣに書き込む。
【０００６】
ところが、処理内容が書き込まれたＦＰＧＡ−ＮＩＣの実機が、期待通り動作するとは限らない。なぜなら、ユーザによる処理内容の記述ミスやその他の設計上の不具合により、期待と異なる挙動を示す可能性があるからである。そのため、期待通り動作するか否かを確認したり、期待と異なる挙動の原因箇所を突き止めたり、期待と異なる挙動が発生する状況を再現したりする、検証作業が必要である。
【０００７】
一般に、実機を用いての検証は、ソフトウェアにおけるデバッグ・検証に比べて難易度が高い。そのため、アクセラレータを用いたオフロードを行うシステムを開発するためには、実機にオフロード処理の内容を書き込み動作させる前に、オフロード処理のソフトウェア・シミュレーションを行うことが有効である。さらには、オフロード処理だけでなく、サーバ上で実行されるＡＰを含むシミュレーションも行うことが望ましい。
【０００８】
通常のサーバでは、サーバ内のＯＳ（Operating System）が、ネットワークからの入力フレームを受信し、宛先や要求内容を解析し、処理する。ＯＳの処理内容は、例えば、入力フレームの要求に返答する、入力フレームを宛先に指定されたＡＰに届ける、などである。ネットワークからの入力フレームには、ＴＣＰ（Transmission Control Protocol）やＵＤＰ（User Datagram Protocol）などのＩＰ（Internet Protocol）パケットやｐｉｎｇパケット、ＡＲＰ（Address Resolution Protocol）フレームなどがある。なお、本明細書では、パケットとフレームと特に区別せず、「フレーム」と総称する。
【０００９】
シミュレーションを行うためだけに、サーバのＯＳカーネルやアプリケーションの送受信インタフェースを通常時と異なるものに変更するのは、ユーザにとって困難であり、手間も要する。また、サーバＯＳやアプリケーションの環境は、サーバによって様々である。そのため、シミュレーション開始時と終了時に、毎回設定を変更したり、サーバ環境によって異なる設定を行ったりするのは煩わしい。従って、シミュレーション環境はＯＳを改変することなく構築することが可能で、ＯＳカーネルやアプリケーションの送受信インタフェースは変更が不要であることが望ましい。
【００１０】
ＯＳの改変を伴わずに構築されたネットワークプロトコルスタックの一例が、非特許文献１に記載されている。非特許文献１の方法によれば、ＯＳを改造することなく、新規ネットワークプロトコルの開発環境を構築することができる。図２６は、非特許文献１の情報処理装置の構成例を示すブロック図である。非特許文献１のユーザレベル・プロトコルスタック４００は、ＯＳ２００より入力パケットのコピーを取得し、プロトコル処理を行ったのち、宛先に指定されているアプリケーションに向けてパケットを送信する。本明細書において、「宛先がアプリケーションである」とは、アプリケーションに割り当てられているソケットペア（ＩＰアドレス、ポート番号）とパケットの宛先情報が一致することを指す。以降、宛先がアプリケーションであるフレームを、「アプリケーション（ＡＰ）宛フレーム」という。なお、「ユーザレベル」とは、ユーザ規定処理を含むことを意味する。
【００１１】
以下では、ＯＳ２００の構成について詳しく説明する。ＯＳ２００は、パケットコピー部２４０、ＯＳフィルタ部２２０、ＯＳ主機能２３０を備える。
【００１２】
パケットコピー部２４０は、入力フレームの内、ＡＰ宛パケットのみを取得する。そして、パケットコピー部２４０は、ネットワーク入力フレームが対象プロトコルのパケットであるか判定し、前記条件を満たす場合パケットのコピーを取得し、ユーザレベル・プロトコルスタック４００に転送する。入力フレームの判定やコピーは、ＯＳのパケット・キャプチャ機能を用いて実現することができる。
【００１３】
ＯＳフィルタ部２２０は、入力フレームをフィルタリングする。そして、ＯＳフィルタ部２２０は、入力フレームの宛先がアプリケーションであるかどうか判定し、アプリケーション宛である場合、そのパケットを破棄する。これは、ＯＳ２００からアプリケーション宛に、同一のパケットが、ユーザレベル・プロトコルスタック４００とＯＳフィルタ部２２０を経由して、二重に届くのを防ぐためである。
【００１４】
非特許文献１のシステムにＡＰ宛パケットがネットワークより入力されたときの動作を、図２７を参照して説明する。
（ステップ１）ＯＳフィルタ部２２０は、入力フレームの内、ＡＰ宛パケットを破棄する。
（ステップ２）パケットコピー部２４０は、入力フレームの内、ＡＰ宛パケットのコピーを取得する。
（ステップ３）ユーザレベル・プロトコルスタック４００は、パケットコピー部２４０により取得したフレームに対して、プロトコル処理を行う。
（ステップ４）ユーザレベル・プロトコルスタック４００は、ＡＰ宛にパケットを送信する。
（ステップ５）ＯＳ主機能２３０は、ユーザレベル・プロトコルスタック４００より送信されたパケットのヘッダを解析して、指定された宛先（アプリケーション）に転送する。
【００１５】
また、特許文献１には、プリンタ等デバイスのネットワーク接続試験用に、端末デバイス間に挿入するシミュレーションシステム、方法、プログラムが開示されている。特許文献１の方法によれば、端末とデバイス間の大規模複雑な仮想ネットワークを構築し、高精度な接続試験を行うことができる。
【００１６】
ＮＩＣオフロード処理のシミュレーション環境を構築するためには、入力として生のネットワークトラフィックを取得する必要がある。ここでいう「生のネットワークトラフィック」は、ＡＰ宛フレームだけでなく、例えば、サーバの死活確認などに用いられるＩＣＭＰ（Internet Control Message Protocol）フレームや、アドレス解決に用いられるＡＲＰフレーム等を含む（以降、これらのフレームを、「非アプリケーション（非ＡＰ）宛フレーム」という。）。特許文献１の方法においても、非特許文献１の場合と同様に、生のネットワークトラフィックをＯＳのフレームコピー機能を用いて取得すると、ＡＰ宛フレーム、非ＡＰ宛フレームともに同一フレームが二重に発生する。
【００１７】
そこで、ＮＩＣの動作を模擬し、ＡＰ宛フレームはＮＩＣシミュレータを経由してＡＰに届き、かつ、ＡＰのＡＰ宛フレーム処理及びＯＳの非ＡＰ宛フレーム処理に重複を生じないようにする必要がある。
【先行技術文献】
【特許文献】
【００１８】
【特許文献１】特開２００９−１６４７０６（第６頁、図１）
【非特許文献】
【００１９】
【非特許文献１】E. Ely et al., Alpine: A User-Level Infrastructure for Network Protocol Development, In Proc. of the third conference on USENIX Symposium on Internet Technologies and Systems, (USA), USENIX Association, 2001 March, Volume 3, p. 15
【発明の概要】
【発明が解決しようとする課題】
【００２０】
ＮＩＣオフロード処理のシミュレーション環境を構築するためには、入力として全てのネットワークトラフィックを取得する必要がある。しかし、特許文献１や非特許文献１の技術のようにネットワークトラフィックをＯＳのフレームコピー機能を用いて取得する場合、ＡＰ宛フレーム、非ＡＰ宛フレームともに二通りの流れが発生する。複製されたＡＰ宛フレーム及び非ＡＰ宛フレームに対しても処理を行うと、ＡＰによる同一フレームの重複受信による不具合や、ＯＳによる応答フレームの重複送信によるネットワークトラフィックの増加が発生する。後者のケースでは、最悪の場合、接続の切断といった問題が発生する。
【００２１】
従って、ＮＩＣの、オフロード処理のみでなく、動作の全般のシミュレーションを行うためには、ＡＰ宛フレームはＮＩＣシミュレータを経由してＡＰに届き、かつ、ＡＰのＡＰ宛フレーム処理及びＯＳの非ＡＰ宛フレーム処理に重複を生じないようにする必要がある。
【００２２】
同一フレームが二重に発生しないようにすることは、シミュレーションを行う場合のみでなく、実動作を行う上でも必要である。
（発明の目的）
本発明の目的は、同一パケットを二重に発生させることなく、処理対象のフレームに所望の処理を行うことができる情報処理装置、及び情報処理方法を提供することにある。
【課題を解決するための手段】
【００２３】
本発明の情報処理装置は、外部から入力された入力フレームの振り分け条件、及び外部へ出力するフレームの第１のフィルタ条件を設定するフィルタ管理部と、振り分け条件に従って、入力フレームを内部又は外部へ出力する振り分け部と、振り分け部からの入力フレームに第１の処理を行い、出力フレームとしてフィルタ部へ出力する処理部と、第１のフィルタ条件に従って、出力フレームを、外部へ出力又は破棄するフィルタ部と、を備えることを特徴とする。
【００２４】
本発明の情報処理方法は、外部から入力された入力フレームの振り分け条件、及び外部へ出力するフレームの第１のフィルタ条件を設定し、振り分け条件に従って、入力フレームを内部又は外部へ出力し、入力フレームに第１の処理を行い、出力フレームとして出力し、第１のフィルタ条件に従って、出力フレームを、外部へ出力又は破棄することを特徴とする。
【発明の効果】
【００２５】
本発明の情報処理装置及び情報処理方法には、同一パケットを二重に発生させることなく、処理対象のフレームに所望の処理を行うことができるという効果がある。
【図面の簡単な説明】
【００２６】
【図１】本発明の第１の実施形態の、情報処理装置の構成を示すブロック図である。
【図２】本発明の第１の実施形態の、ＯＳの内部構成を示すブロック図である。
【図３】本発明の第１の実施形態の、ＯＳフィルタ部の設定内容の一例である。
【図４】本発明の第１の実施形態の、ＯＳフィルタ部の設定動作を示す図である。
【図５】本発明の第１の実施形態のＯＳの、ＡＰ宛入力フレームに対する処理動作を示す図である。
【図６】本発明の第１の実施形態のＯＳの、非ＡＰ宛入力フレームに対する処理動作を示す図である。
【図７】本発明の第１の実施形態の、ＮＩＣシミュレータの内部構成を示すブロック図である。
【図８】本発明の第１の実施形態のＮＩＣシミュレータの、処理部の構成を示すブロック図である。
【図９】本発明の第１の実施形態のＮＩＣシミュレータの、処理部の動作を示す図である。
【図１０】本発明の第１の実施形態のＮＩＣシミュレータの、ユーザフィルタの設定内容の一例である。
【図１１】本発明の第１の実施形態のＮＩＣシミュレータの、フィルタ管理部の内部構成を示すブロック図である。
【図１２】本発明の第１の実施形態のＮＩＣシミュレータの、フィルタ管理部の設定内容の一例である。
【図１３】本発明の第１の実施形態のＮＩＣシミュレータの、フィルタ管理部の動作を示す図である。
【図１４】本発明の第１の実施形態のＮＩＣシミュレータの、ユーザフィルタ部の設定動作を示す図である。
【図１５】本発明の第１の実施形態のＮＩＣシミュレータの、ＡＰ宛入力フレームに対する処理動作を示す図である。
【図１６】本発明の第１の実施形態のＮＩＣシミュレータの、非ＡＰ宛入力フレームに対する処理動作を示す図である。
【図１７】本発明の第１の実施形態の、フィルタ管理部による設定動作を示す図である。
【図１８】本発明の第１の実施形態の、ＡＰ宛入力フレームに対する処理の全体動作を示す図である。
【図１９】本発明の第１の実施形態の、非ＡＰ宛入力フレームに対する処理の全体動作を示す図である。
【図２０】本発明の第１の実施形態の情報処理システムの、必須の構成を示すブロック図である。
【図２１】本発明の第２の実施形態の情報処理システムの構成を示すブロック図である。
【図２２】本発明の第２の実施形態のＮＩＣシミュレータの、フィルタ管理部の内部構成を示すブロック図である。
【図２３】本発明の第２の実施形態の情報処理システムの、フィルタ設定動作を示す図である。
【図２４】本発明の第２の実施形態の情報処理システムの、ＡＰ宛入力フレームに対する処理の全体動作を示す図である。
【図２５】本発明の第２の実施形態の情報処理システムの、非ＡＰ宛入力フレームに対する処理の全体動作を示す図である。
【図２６】非特許文献１に記載されている情報処理装置の、構成例を示すブロック図である。
【図２７】非特許文献１に記載されている情報処理装置の、ＡＰ宛入力パケットに対する処理動作を示す図である。
【発明を実施するための形態】
【００２７】
（第１の実施形態）
次に、本発明の実施の形態について図面を参照して詳細に説明する。図１は、本発明の第１の実施形態の情報処理装置の構成を示すブロック図である。
【００２８】
図１に示されるように、本発明を実施するための第１の実施形態における情報処理装置は、ＯＳ２００、ＮＩＣシミュレータ１００、ＯＳ２００の管理下で実行されるアプリケーションを備える。
【００２９】
ＮＩＣシミュレータ１００は、ＯＳ２００の管理下でユーザアプリケーションとして実行されるシミュレータである。ＮＩＣシミュレータ１００は、ネットワークからの入力フレームのコピーを入力として取得し、ユーザが処理を書き換え可能なロジックのソフトウェア・シミュレーションを行う。ＮＩＣシミュレータ１００の詳細については、後述する。
【００３０】
以上のＯＳ２００とＮＩＣシミュレータ１００の構成により、ＡＰ宛フレームはＮＩＣシミュレータ１００を経由してアプリケーションに転送される。一方の非ＡＰ宛フレームに対しては、ＯＳ２００がフレームごとに指定された処理を行う。以上のような、フレームの宛先によって区分した処理を行うことによって、ＯＳカーネルやアプリケーションの送受信インタフェースを改変することなく、ユーザ規定処理を実行する処理部を含むＮＩＣのソフトウェア・シミュレーションを行うことができる。
【００３１】
以下では、ＯＳ２００の内部構成、動作を順に説明する。図２は、ＯＳ２００の内部構成を示すブロック図である。ＯＳ２００は、フレームコピー部２１０、ＯＳフィルタ部２２０、ＯＳ主機能２３０を備える。
【００３２】
フレームコピー部２１０は、ネットワーク入力フレームのコピーを取得し、ＮＩＣシミュレータ１００へ出力する。フレームコピー部２１０は、パケット・キャプチャと呼ばれるＯＳの機能を用いて実現できる。
【００３３】
ＯＳフィルタ部２２０は、入力フレームを通過させるか破棄するかを判定し、条件を満たすフレームのみ通過させる。具体的条件は、後述するＮＩＣシミュレータ１００中のフィルタ管理部１１０の設定内容に基づき、ＡＰ宛フレームは破棄し、非ＡＰ宛フレームは通過させるよう設定される。ＯＳフィルタ部２２０は、一般に、ファイアウォールやパケットフィルタと呼ばれる、ＯＳの機能を用いて実現できる。
【００３４】
ＯＳフィルタ部２２０の内容は、例えば図３のように設定される。すなわち、フィルタ処理の対象とする指定プロトコルと、指定プロトコルごとに指定された宛先ポート番号、及び指定されたプロトコル、宛先ポート番号に該当するフレームに対する指定動作が設定される。
【００３５】
指定プロトコルの例としては、ＴＣＰ、ＵＤＰなどが挙げられる。指定動作の例としては、通過させる（ACCEPT）、破棄する（DROP）、などがある。図３の設定例では、ＯＳフィルタ部２２０が、ＴＣＰプロトコルで１１１１１番ポート宛フレーム及びＵＤＰプロトコルで２２２２２番ポート宛フレームを破棄し、その他のプロトコルのフレームは全て通過させるように設定されている。
【００３６】
図４から図６を用いて、ＯＳ２００の各部の動作を説明する。まず、図４を用いて、ＯＳフィルタ部２２０の設定を行う際の動作を説明する。ＯＳフィルタ部２２０の設定を行う際の動作は以下の通りである。
（１）ＮＩＣシミュレータ１００のフィルタ管理部１１０は、ＯＳフィルタ部２２０に対して、通過させるフレーム及び破棄するフレームの設定を行う。具体的には、ＯＳフィルタ部２２０がＡＰ宛フレームを破棄し、非ＡＰ宛フレームを通過させるように設定する。
【００３７】
次に、図５を用いて、ＯＳ２００がＡＰ宛フレームを処理する際の動作を説明する。ＡＰ宛フレームを処理する際の動作は以下の通りである。
（１）フレームコピー部２１０は、ネットワークからの入力フレームをコピーする。
（２）ＯＳフィルタ部２２０は、フィルタ管理部１１０による設定に基づき、ＡＰ宛フレームを破棄する。
（３）フレームコピー部２１０によりコピーされたフレームは、ＮＩＣシミュレータ１００に入力される。なお、このとき入力されるフレームには、ＡＰ宛フレームのみでなく、非ＡＰ宛フレームも含まれる。
（４）ＯＳ主機能２３０は、ＮＩＣシミュレータ１００から出力されたフレームを受信し、フレームの中身を解析する。
（５）ＯＳ主機能２３０は、ＡＰ宛フレームをアプリケーションに転送する。
【００３８】
図６を用いて、ＯＳ２００が入力された非ＡＰ宛フレームを処理する際の動作を説明する。非ＡＰ宛の入力フレームを処理する際の動作は以下の通りである。
（１）フレームコピー部２１０は、ネットワークからの入力フレームをコピーする。
（２）ＯＳフィルタ部２２０は、フィルタ管理部１１０による設定に基づき、非ＡＰ宛フレームを通過させる。
（３）ＯＳ主機能２３０は、ＯＳフィルタ部２２０を通過したフレームに対して、フレームの内容に応じた処理を行う。
（４）フレームコピー部２１０によりコピーされたフレームは、ＮＩＣシミュレータ１００に入力される。なお、上述のように、このとき入力されるフレームには、非ＡＰ宛フレームのみでなく、ＡＰ宛フレームも含まれる。
【００３９】
以上のように、ＯＳ２００は、ＡＰ宛フレームについて、一方ではコピーをＮＩＣシミュレータ１００に転送し、他方ではＯＳフィルタ部２２０でブロックする。非ＡＰ宛フレームについては、ＯＳ２００が処理を行う。
【００４０】
次に、ＮＩＣシミュレータ１００の内部構成、動作を順に説明する。図７は、ＮＩＣシミュレータ１００の内部構成を示すブロック図である。ＮＩＣシミュレータ１００は、フレーム受信部１２０、処理部１３０、ユーザフィルタ部１４０、フレーム送信部１５０、フィルタ管理部１１０を備える。
【００４１】
フレーム受信部１２０は、ＯＳ２００のフレームコピー部２１０から入力フレームを受信する。フレーム受信部１２０は、受信したフレームをバッファリングしてもよい。
【００４２】
処理部１３０は、フレーム受信部１２０から受け取ったフレームを入力フレームとして、ユーザ規定処理についてのソフトウェア・シミュレーションを行う。あるいは、処理部１３０は、ハードウェア記述言語で動作が記述されたハードウェアシミュレータでもよい。
【００４３】
処理部１３０によるソフトウェア・シミュレーションの対象は、ＮＩＣ内で実行することが予定されているユーザ規定処理である。ＮＩＣ内におけるユーザ規定処理は、ハードウェアにより実行されても、ソフトウェアにより実行されてもよい。
【００４４】
ユーザ規定処理の内容は、固定の処理であっても、変更可能な処理であってもよい。ユーザ規定処理の内容は、シミュレーションにて処理の正常動作を確認後、ＮＩＣに搭載された、回路構成を書き込むことができるＦＰＧＡ等のデバイスや、ユーザ規定処理のプログラムを格納するメモリなどに設定される。処理が変更可能である場合は、ＮＩＣには、回路構成を書き換えることができるＦＰＧＡ等のデバイスやプログラマブル・メモリなどが搭載される。
【００４５】
図８は、処理部１３０の内部構成を示すブロック図である。処理部１３０は、入出力インタフェース（Interface。Ｉ／Ｆ）１３１と検証論理部１３２を備える。検証論理部１３２は、ユーザが書き換え可能な機能ブロックである。ユーザは検証論理部１３２に、実現したい処理、すなわち、ユーザ規定処理の内容を記述する。入出力Ｉ／Ｆ１３１は、機能ブロックの入出力の接続仕様を表す。
【００４６】
図９を用いて、処理部１３０の動作を説明する。
（１）入出力Ｉ／Ｆ１３１は、フレーム受信部１２０より入力フレームを受け取る。そして、入出力Ｉ／Ｆ１３１は、入力フレームを、検証論理部１３２の入出力信号の接続規約（プロトコル）を満たす入力信号列に変換する。入出力Ｉ／Ｆ１３１は、入力フレームをバッファリングしてもよい。
（２）入出力Ｉ／Ｆ１３１は、検証論理部１３２に入力信号列を渡す。
（３）入出力Ｉ／Ｆ１３１は、検証論理部１３２からの出力信号列を受け取る。
（４）入出力Ｉ／Ｆ１３１は、出力信号列を出力フレームに変換し、ユーザフィルタ部に出力フレームを送信する。入出力Ｉ／Ｆは、出力信号列をバッファリングしてもよい。
【００４７】
このようにして、ユーザは自身で記述した、ユーザ規定処理が期待通りの出力をするか検証することが可能である。
【００４８】
図７の説明に戻って、ユーザフィルタ部１４０は、後述するフィルタ管理部１１０の設定に基づき、処理部１３０の出力フレームを通過させるか判定し、条件を満たすフレームのみ通過させる。
【００４９】
ユーザフィルタ部１４０の内容は、例えば図１０のように設定される。すなわち、フィルタ処理の対象とする指定プロトコルと、指定プロトコルごとに指定された宛先ポート番号、及び指定されたプロトコル、宛先ポート番号に該当するフレームに対する指定動作が設定される。
【００５０】
プロトコルの例としては、ＴＣＰ、ＵＤＰなどが挙げられる。指定動作の例としては、通過させる、（ACCEPT）破棄する（DROP）、などがある。図１０の設定例では、ユーザフィルタ部１４０は、ＴＣＰプロトコルで１１１１１番ポート宛のフレーム及びＵＤＰプロトコルで２２２２２番ポート宛のフレームを通過させ、その他のプロトコルのフレームは全て破棄するよう設定されている。
【００５１】
フレーム送信部１５０は、ユーザフィルタ部１４０を通過した出力フレームを受け取り、アプリケーション宛に送信する。
【００５２】
フィルタ管理部１１０は、ＡＰ宛フレームについて、ＯＳフィルタ部２２０は破棄し、ユーザフィルタ部１４０は通過させるよう設定を行う。フィルタ管理部１１０の内部構成を図１１に示す。フィルタ管理部１１０は、設定情報記憶部１１１、ユーザフィルタ設定部１１２、ＯＳフィルタ設定部１１３を備える。
【００５３】
設定情報記憶部１１１はアプリケーションの通信ポートのリストを保持する。設定情報記憶部１１１は、アプリケーションの起動・終了時に更新される。設定情報記憶部１１１の記憶内容は、テキストファイルでもよい。
【００５４】
設定情報記憶部１１１は、例えば図１２のような内容を保持する。すなわち、設定情報記憶部１１１は、例えばアプリケーションのプロトコル、ポート番号を保持する。図１２の例では、アプリケーションのポート番号として、ＴＣＰプロトコルにはポート番号１１１１１番が、ＵＤＰプロトコルには２２２２２番が割り当てられている。
【００５５】
フィルタ管理部１１０は、これらの宛先へのフレームを、ＯＳフィルタ部２２０では破棄され、ユーザフィルタ部１４０では通過するように設定する。
【００５６】
フィルタ管理部１１０の動作を、図１３を用いて説明する。
（１）設定情報記憶部１１１は、ユーザフィルタ設定部１１２に送信される。
（２）ユーザフィルタ設定部１１２は、設定情報記憶部１１１に保持されているアプリケーションの通信ポート宛のフレームのみを通すよう、ユーザフィルタ部１４０の設定を行う。
（３）ＯＳフィルタ設定部１１３は、フレームの通過及び破棄について、ユーザフィルタ設定部１１２とは反対の設定を行う。すなわち、設定情報記憶部１１１に記載されているアプリケーションの通信ポート宛のフレームを破棄するよう、ＯＳフィルタ部２２０の設定を行う。
【００５７】
図１４から図１６を用いて、ＮＩＣシミュレータ１００の各部の動作を説明する。まず、図１４を用いて、ユーザフィルタ部１４０の設定を行う際の動作を説明する。ユーザフィルタ部１４０の設定を行う際の動作は以下の通りである。
（１）フィルタ管理部１１０は、設定情報記憶部１１１の保持内容に基づき、ユーザフィルタ部１４０に対して、通過させるフレーム・破棄するフレームの設定を行う。具体的には、ユーザフィルタ部１４０がＡＰ宛フレームを通過させ、非ＡＰ宛フレームを破棄するように設定する。
【００５８】
次に、図１５を用いて、ＮＩＣシミュレータ１００に入力されたＡＰ宛フレームを処理する際の動作を説明する。ＡＰ宛の入力フレームを処理する際の動作は以下の通りである。
（１）フレーム受信部１２０は、ＯＳ２００のフレームコピー部２１０によりコピーされたフレームを入力フレームとして受信する。
（２）処理部１３０は、フレーム受信部１２０から受け取った入力フレームを入力として、ユーザ規定処理のソフトウェア・シミュレーションを行う。
（３）ユーザフィルタ部１４０は、フィルタ管理部１１０の設定に基づき、処理部１３０の出力フレームであるＡＰ宛フレームを通過させる。
（４）フレーム送信部１５０は、ユーザフィルタ部１４０を通過したＡＰ宛フレームを受け取り、アプリケーション宛に送信する。
（５）フレーム送信部１５０よりアプリケーション宛に送信されたフレームは、ＯＳ主機能２３０を経由してアプリケーションに転送される。
【００５９】
図１６を用いて、ＮＩＣシミュレータ１００が入力された非ＡＰ宛フレームを処理する際の動作を説明する。非ＡＰ宛の入力フレームを処理する際の動作は以下の通りである。
（１）フレーム受信部１２０は、ＯＳ２００のフレームコピー部２１０によりコピーされたフレームを入力フレームとして受信する。
（２）処理部１３０は、フレーム受信部１２０から受け取った入力フレームを入力として、ユーザ規定処理のソフトウェア・シミュレーションを行う。
（３）ユーザフィルタ部１４０は、フィルタ管理部１１０の設定に基づき、処理部１３０の出力フレームである非ＡＰ宛フレームを破棄する。
【００６０】
以上のように、ＮＩＣシミュレータ１００は、非ＡＰ宛フレームについては、ユーザフィルタ部１４０でブロックする。ＡＰ宛フレームについては、アプリケーション宛に送信する。
【００６１】
次に、図１７、図１８、図１９を参照して、本実施形態の全体動作について詳しく説明する。
【００６２】
まず、図１７を用いて、フィルタ管理部１１０によるフィルタの設定動作を説明する。
（１）フィルタ管理部１１０は、アプリケーションの起動時と終了時に、フィルタ管理部１１０中の設定情報記憶部１１１のリストを更新する。そして、フィルタ管理部１１０は、設定情報記憶部１１１の保持内容に基づいてユーザフィルタ部１４０、ＯＳフィルタ部２２０の設定を行う。
【００６３】
次に、ネットワークから入力されたＡＰ宛フレームを処理する全体動作を、図１８を参照して説明する。
（１）ＯＳフィルタ部２２０は、ＡＰ宛入力フレームを破棄する。
（２）フレームコピー部２１０は、入力フレームのコピーを生成する。
（３）フレーム受信部１２０は、コピーされた入力フレームを取得し、処理部１３０に渡す。
（４）処理部１３０は、フレーム受信部１２０から受け取った入力フレームを入力として、ユーザ規定処理のソフトウェア・シミュレーションを行う。
（５）ユーザフィルタ部１４０は、フィルタ管理部１１０の設定に基づき、処理部１３０の出力フレームであるＡＰ宛フレームを通過させる。
（６）フレーム送信部１５０は、ユーザフィルタ部１４０を通過してきたフレームをアプリケーション宛に送信する。
（７）ＮＩＣシミュレータ１００より送信されたフレームは、ＯＳ２００が処理する。
（８）ＯＳ２００はフレームの内容を解析して、アプリケーションにフレームを転送する。
【００６４】
さらに、ネットワークから入力された非ＡＰ宛フレームを処理する全体動作を、図１９を参照して説明する。
（１）ＯＳフィルタ部２２０は、非ＡＰ宛入力フレームを通過させる。
（２）ＯＳ主機能２３０はＯＳフィルタ部２２０を通過したフレームに対して、フレームの内容に応じた処理を行う。
（３）フレームコピー部２１０は、入力フレームのコピーを生成する。
（４）フレーム受信部１２０は、コピーされた入力フレームを取得し、処理部１３０に渡す。
（５）処理部１３０は、フレーム受信部１２０から受け取った入力フレームを入力として、ユーザ規定処理のソフトウェア・シミュレーションを行う。
（６）ユーザフィルタ部１４０は、フィルタ管理部１１０の設定に基づき、処理部１３０の出力である非ＡＰ宛フレームを破棄する。
【００６５】
本実施形態の効果について説明する。本実施形態では、ＡＰ宛フレーム及び非ＡＰ宛フレームがＮＩＣシミュレータへ入力される。そして、ＡＰ宛フレームは所定の処理が行われた後、アプリケーションに配送される。非ＡＰ宛フレームは、ＮＩＣシミュレータからは出力されず、ＯＳ２００によって処理される。このように、アプリケーション宛及びＯＳ宛に同一のフレームが二重に発生することがない。従って、重複したフレームに起因する不具合を発生させることなく、ＮＩＣ及びＮＩＣを含むサーバのソフトウェア・シミュレーションができるという効果がある。
【００６６】
さらに、本実施形態では、ＡＰ宛フレーム、非ＡＰ宛フレーム共にＮＩＣシミュレータへ入力され、処理部はその両方を入力する状態で動作確認することができる。実際のＮＩＣでも、ネットワークから、ＡＰ宛フレーム、非ＡＰ宛フレーム共に入力される。そのため、ＮＩＣシミュレータにて確認された処理部の動作は、実際のＮＩＣにおいても、まったく同様に実行することが保証される。従って、ＮＩＣシミュレータは、実際にＮＩＣで所定の処理を行う前のシミュレータとして使用することができる。
【００６７】
さらに、本実施形態のＮＩＣシミュレータは、ＯＳ宛のフレームが重複してＯＳに入力されることがない。従って、シミュレーション環境を構築するために、ＯＳの改造を行う必要がない。そのため、ＯＳカーネルやアプリケーションの送受信インタフェースの変更に伴う管理コストの増大を抑えることができるという効果がある。
【００６８】
本実施形態の説明から理解されるように、ＯＳ２００は、入力されたフレームの転送先を振り分ける振り分け部として機能する。すなわち、ＯＳ２００は、フレームを、ＡＰ宛フレーム又は非ＡＰ宛フレームに区分する。そして、ＯＳ２００は、ＡＰ宛フレームを、フレーム受信部１２０を介して、処理部１３０へ転送する。また、ＯＳ２００は、非ＡＰ宛フレームを、ＯＳ主機能２３０に転送し、所定の処理を行う。以上のＯＳ２００の振り分け機能以外の保有機能については、特に限定されない。従って、ＯＳ２００は、振り分け部と一般化することができる。
【００６９】
なお、フレーム受信部１２０及びフレーム送信部１５０は、フレームの受信及び送信の機能を明示するために独立した機能ブロックとして付け加えたものである。従って、フレーム受信部１２０及びフレーム送信部１５０は、本発明の必須の構成要素ではない。
【００７０】
以上から、本実施形態の情報処理装置に必須の構成要素は、フィルタ管理部、振り分け部、処理部、フィルタ部である。図２０に、本発明に必須の構成要素のみを備える情報処理装置２０の構成を示すブロック図を示す。
【００７１】
フィルタ管理部２１は、振り分け部２２によるフレームの振り分け条件、及びフィルタ部２４によるフレームのフィルタ条件を設定する。
【００７２】
振り分け部２２は、フィルタ管理部２１に設定されたフレームの振り分け条件に従って、外部から入力された入力フレームを、処理部２３又は外部へ出力する。
【００７３】
処理部２３は、振り分け部２２からの入力フレームに所定の処理を行い、出力フレームとしてフィルタ部２４へ出力する。
【００７４】
フィルタ部２４は、フィルタ管理部２１に設定されたフレームのフィルタ条件に従って、処理部からの出力フレームを、外部へ出力又は破棄する。
【００７５】
以上のブロックを備えることによって、情報処理装置２０は、振り分け部２２によって処理部２３へ振り分けられた入力フレームに対してのみ処理を行うことができる。そして、所定の条件を満たす出力フレームのみが外部に出力される。
【００７６】
このように、情報処理装置２０は、ある条件を満たすフレームについてのみ所望の処理を行い、同一フレームが二重に出力されることがない。
【００７７】
本実施形態の情報処理装置２０は、ＦＰＧＡ−ＮＩＣ等を用いてユーザ規定処理を行い、その後、その結果に対してさらに情報処理装置で追加の処理を行う情報処理システムの、動作の検証に利用することができる。すなわち、ＡＰ宛フレームに対して行われたユーザ規定処理が所望の処置であるか否かは、情報処理装置２０の出力フレームを期待値と比較することによって、確認することができる。出力フレームが期待値を一致したならば、情報処理装置２０によって処理されたユーザ規定処理が所望の処理であることがわかる。
【００７８】
従って、動作が確認されたユーザ規定処理を、ＮＩＣ内の、ユーザによる動作の指定が可能な処理部の処理として指定すれば、情報処理システムが正常動作することが保証される。
（第２の実施形態）
次に、本発明の第２の実施形態について図面を参照して詳しく説明する。第１の実施形態では、サーバは、シミュレーションによるユーザ規定処理の動作確認の後、ユーザ規定処理を行うＦＰＧＡ−ＮＩＣを用いてアプリケーションを実行する。これに対して、第２の実施形態では、ユーザ規定処理を行うＦＰＧＡ−ＮＩＣを用いてアプリケーションを実行するサーバとは別のサーバにおいて、ユーザ規定処理のシミュレーションを行う。つまり、ユーザ規定処理のシミュレーションを行うサーバ（以降、「シミュレーション用サーバ」という。）と、実際にユーザ規定処理を行うＦＰＧＡ−ＮＩＣを用いてアプリケーションを実行するサーバ（以降、「実動作用サーバ」という。）とは異なる。
【００７９】
図２１は、第２の実施形態の情報処理システムの構成を示すブロック図である。図１と共通の構成要素については同じ符号を用いている。第２の実施形態の情報処理システムは、ＮＩＣシミュレータ５００を実行するシミュレーション用サーバ１と、アプリケーションを実行する実動作用サーバ２とを備える。以下ではシミュレーション用サーバ１、実動作用サーバ２の詳細構成について説明する。
【００８０】
実動作用サーバ２では、ＯＳ２００の管理下のもとに、アプリケーション３００、副フィルタ管理部３１０を実行する。
【００８１】
ＯＳ２００は、ＯＳ主機能２３０、ＯＳフィルタ部２２０を備える。ＯＳフィルタ部２２０については、第１の実施形態のＯＳフィルタ部２２０と同じ機能を実行するため、説明を省略する。
【００８２】
副フィルタ管理部３１０は、ＯＳフィルタ部２２０の設定を行う。設定内容は、シミュレーション用サーバ１のフィルタ管理部１１０の要求に基づく。副フィルタ管理部３１０は、サーバ２からのリモートログインを可能にするサービスでもよい。
【００８３】
シミュレーション用サーバ１では、ＯＳ６００の管理下のもとに、ＮＩＣシミュレータ５００を実行する。シミュレーション用サーバ１のＮＩＣは、プロミスキャスモード、すなわち、到着する全フレームを受信するモードに設定される。なお、図２１にＮＩＣは図示されていないが、ＮＩＣはネットワークとサーバ１との間に存在する。
【００８４】
ＯＳ６００はフレームコピー部６１０を備える。フレームコピー部６１０は、シミュレーション用サーバ１、及び実動作用サーバ２が接続されているネットワーク上を流れるトラフィックの内、シミュレーション用サーバ１のＮＩＣに入力されるフレームのみをコピーして、ＮＩＣシミュレータ５００に渡す。すなわち、宛先がサーバ２であるフレーム及び宛先がブロードキャストアドレスのフレームコピーを取得する。
【００８５】
ＮＩＣシミュレータ５００は、フレーム受信部１２０、処理部１３０、ユーザフィルタ部１４０、フレーム書換部５６０、フレーム送信部１５０、フィルタ管理部１１０を含む。フレーム受信部１２０、処理部１３０、ユーザフィルタ部１４０、及びフレーム送信部１５０については、第１の実施形態のものと同じ機能を実行するため、説明は省略する。
【００８６】
フレーム書換部５６０は、ユーザフィルタ部１４０を通過したＡＰ宛フレームについて、送信元アドレスをシミュレーション用サーバ１のアドレスに書き換える。
【００８７】
フィルタ管理部５１０は、ＡＰ宛フレームについて、実動作用サーバ２のＯＳフィルタ部２２０は破棄し、ＮＩＣシミュレータ５００中のユーザフィルタ部１４０は通過させるよう設定を行う。フィルタ管理部５１０の内部構成を図２２に示す。フィルタ管理部５１０は、設定情報記憶部１１１、ユーザフィルタ設定部１１２、リモートＯＳフィルタ設定部５１３を備える。
【００８８】
設定情報記憶部１１１とユーザフィルタ設定部１１２は、第１の実施形態のものと同じ機能を実行する。設定情報記憶部１１１はアプリケーションの通信ポートのリストを保持する。設定情報記憶部１１１は、アプリケーションの起動・終了時に更新される。
【００８９】
ユーザフィルタ設定部１１２は、設定情報記憶部１１１に記載されているＡＰ宛フレームのみを通すよう、ユーザフィルタ部１４０の設定を行う。
【００９０】
リモートＯＳフィルタ設定部５１３は、実動作用サーバ２のＯＳフィルタ部２２０に対して、フレームの通過及び破棄について、ユーザフィルタ設定部１１２とは反対の設定を行う。すなわち、リモートＯＳフィルタ設定部５１３は、実動作用サーバ２の副フィルタ管理部３１０に指令を送り、ＯＳフィルタ部２２０が設定情報記憶部１１１に記載されているＡＰ宛フレームを破棄するように設定させる。
【００９１】
次に図２３、図２４、図２５を参照して、本実施の形態の全体動作について詳しく説明する。
【００９２】
まず、図２３を用いて、フィルタの設定時の動作について説明する。フィルタの設定時の動作は以下の通りである。
（１）フィルタ管理部５１０は、アプリケーションの起動時及び終了時に、設定情報記憶部１１１のリストを更新する。そして、フィルタ管理部５１０は、ユーザフィルタ部１４０がＡＰ宛フレームのみを通すよう設定する。
（２）フィルタ管理部５１０は、実動作用サーバ２上の副フィルタ管理部３１０に、ＯＳフィルタ部２２０に、ユーザフィルタ部とは反対の設定、すなわち、ＡＰ宛フレームを破棄する設定を行うよう要求を送信する。
（３）副フィルタ管理部３１０は、フィルタ管理部１１０の要求に従い、ＡＰ宛フレームを破棄するよう、ＯＳフィルタ部２２０の設定を行う。
【００９３】
次に、図２４を用いて、ネットワークから入力されたＡＰ宛フレームを処理する全体動作を説明する。ＡＰ宛フレームを処理する際の動作は以下の通りである。
（１）ＯＳフィルタ部２２０は、ＡＰ宛入力フレームを破棄する。
（２）フレームコピー部６１０は、入力フレームの内、宛先が実動作用サーバ２であるフレーム及び宛先がブロードキャストアドレスのフレームのコピーを生成する。
（３）フレーム受信部１２０は、コピーされた入力フレームを取得し、処理部１３０に渡す。ここでフレーム受信部１２０は、入力フレームをバッファリングしてもよい。
（４）処理部１３０は、フレーム受信部１２０からフレームを受け取った入力フレームを入力として、ユーザ規定処理のソフトウェア・シミュレーションを行う。
（５）ユーザフィルタ部１４０は、フィルタ管理部５１０の設定に基づき、処理部１３０の出力であるＡＰ宛フレームを通過させる。
（６）フレーム書換部５６０は、ユーザフィルタ部１４０を通過してきたフレームの送信元アドレスをシミュレーション用サーバ１のアドレスに書き換え、フレーム送信部１５０に渡す。
（７）フレーム送信部１５０は、フレーム書換部５６０より受信したフレームを、実動作用サーバ２のアプリケーション宛に送信する。
（８）シミュレーション用サーバ１のＮＩＣシミュレータ５００より送信されたフレームは、実動作用サーバ２のＯＳフィルタ部２２０を通過する。
（９）ＯＳ２００はフレームの内容を解析して、アプリケーション３００にフレームを転送する。
（１０）アプリケーション３００は、フレームを受信する。
【００９４】
さらに、図２５を用いて、ネットワークから入力された非ＡＰ宛フレームを処理する全体動作を説明する。非ＡＰ宛フレームを処理する際の動作は以下の通りである。
（１）ＯＳフィルタ部２２０は、非ＡＰ宛フレームを通過させる。
（２）ＯＳ主機能２３０は、ＯＳフィルタ部２２０を通過した非ＡＰ宛フレームに対して、フレームの内容に応じた処理を行う。
（３）フレームコピー部６１０は、入力フレームの内、宛先が実動作用サーバ２であるフレーム及び宛先がブロードキャストアドレスのフレームのコピーを生成する。
（４）フレーム受信部１２０は、コピーされた入力フレームを取得し、処理部１３０に渡す。
（５）処理部１３０は、フレーム受信部１２０からフレームを受け取った入力フレームを入力として、ユーザ規定処理のソフトウェア・シミュレーションを行う。
（６）ユーザフィルタ部１４０は、フィルタ管理部５１０の設定に基づき、処理部１３０の出力である非ＡＰ宛フレームを破棄する。
【００９５】
第２の実施形態の効果について説明する。第２の実施形態では、ＮＩＣシミュレーションとアプリケーションが別サーバで実行される。そのため、アプリケーション実行サーバ（実動作用サーバ２）の負荷が軽減される。そのため、第２の実施形態には、第１の実施形態の効果に加え、シミュレーション時にアプリケーションをより高速に実行することができるという効果がある。
【産業上の利用可能性】
【００９６】
本発明は、付属の処理装置でユーザ規定処理を行った後、処理後のフレームをメインの処理装置に入力し、処理するような用途のシミュレーションに適用することができる。従って、例えば、ネットワークから入力される株価情報に対する抽出・分析等の処理を行う情報処理装置をコンピュータによって実現するときに、ＮＩＣ等を用いて前処理を行うといった用途に適用できる。
【符号の説明】
【００９７】
１    第１の通信装置
１００、５００  ＮＩＣシミュレータ
１１０  フィルタ管理部
１１１  設定情報記憶部
１１２  ユーザフィルタ設定部
１１３  ＯＳフィルタ設定部
１２０  フレーム受信部
１３０  処理部
１４０  ユーザフィルタ部
１５０  フレーム送信部
２００、６００  ＯＳ
２１０  フレームコピー部
２２０  ＯＳフィルタ部
２３０  ＯＳ主機能
２４０  パケットコピー部
３００  アプリケーション
３１０  副フィルタ管理部
４００  ユーザレベル・プロトコルスタックク
５１０  フィルタ管理部
５１３  リモートＯＳフィルタ設定部
５６０  フレーム書換部
６１０  フレームコピー部
【図１】
2014027470.tif 000003
【図２】
2014027470.tif 000004
【図３】
2014027470.tif 000005
【図４】
2014027470.tif 000006
【図５】
2014027470.tif 000007
【図６】
2014027470.tif 000008
【図７】
2014027470.tif 000009
【図８】
2014027470.tif 000010
【図９】
2014027470.tif 000011
【図１０】
2014027470.tif 000012
【図１１】
2014027470.tif 000013
【図１２】
2014027470.tif 000014
【図１３】
2014027470.tif 000015
【図１４】
2014027470.tif 000016
【図１５】
2014027470.tif 000017
【図１６】
2014027470.tif 000018
【図１７】
2014027470.tif 000019
【図１８】
2014027470.tif 000020
【図１９】
2014027470.tif 000021
【図２０】
2014027470.tif 000022
【図２１】
2014027470.tif 000023
【図２２】
2014027470.tif 000024
【図２３】
2014027470.tif 000025
【図２４】
2014027470.tif 000026
【図２５】
2014027470.tif 000027
【図２６】
2014027470.tif 000028
【図２７】
2014027470.tif 000029