JP6011109B2 - Information processing system and information processing method - Google Patents
Information processing system and information processing method Download PDFInfo
- Publication number
- JP6011109B2 JP6011109B2 JP2012166099A JP2012166099A JP6011109B2 JP 6011109 B2 JP6011109 B2 JP 6011109B2 JP 2012166099 A JP2012166099 A JP 2012166099A JP 2012166099 A JP2012166099 A JP 2012166099A JP 6011109 B2 JP6011109 B2 JP 6011109B2
- Authority
- JP
- Japan
- Prior art keywords
- frame
- unit
- filter
- output
- input
- 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.)
- Active
Links
Images
Landscapes
- Computer And Data Communications (AREA)
- Communication Control (AREA)
Description
本発明は、情報処理装置、及び情報処理方法に関し、特に、処理対象のフレームにのみ所望の処理を行う情報処理装置、及び情報処理方法に関する。 The present invention relates to an information processing apparatus and an information processing method, and more particularly to an information processing apparatus and an information processing method that perform a desired process only on a processing target frame.
近年、ネットワークを流れるデータの通信レートは年々上昇している。通信レートの上昇傾向が続くと、将来、ネットワークからの入力を分析・抽出する処理(以降、「分析抽出処理」という。)をリアルタイムに行えなくなるという問題が指摘されている。ここでいう分析抽出処理の一例を、株取引の場合について示すと、(1)ネットワークから入力される銘柄、株価の時系列データから指定の銘柄の情報のみを抽出し、(2)平滑化(隣接する複数点の数値の平均をとる処理)を行う、といった処理である。 In recent years, the communication rate of data flowing through a network has been increasing year by year. If the communication rate continues to rise, a problem has been pointed out that processing for analyzing and extracting input from the network (hereinafter referred to as “analysis extraction processing”) cannot be performed in real time. An example of the analysis and extraction processing here is the case of stock trading. (1) Extract only the information of the specified stock from the time series data of stocks and stock prices input from the network. (2) Smoothing ( For example, a process of averaging the numerical values of a plurality of adjacent points).
このような問題の対策として、処理を高速化する方法の一つに、現在サーバのアプリケーション(AP: Application Software)で行われている分析抽出処理の一部を、ハードウェア・アクセラレータにオフロードする手法が挙げられる。ハードウェア・アクセラレータの一例として、ユーザ自身が規定した処理(以降、「ユーザ規定処理」という。)を書き込むことができる、再構成可能デバイスを搭載したネットワーク・インタフェースカード(NIC: Network Interface Card)が挙げられる。再構成可能デバイスの例としては、FPGA(Field Programmable Gate Array)がある。 As a countermeasure to such a problem, one of the methods for speeding up the processing is to offload a part of the analysis and extraction processing currently performed by the application (AP) of the server to the hardware accelerator. A method is mentioned. As an example of a hardware accelerator, there is a network interface card (NIC: Network Interface Card) equipped with a reconfigurable device that can write a process specified by the user himself (hereinafter referred to as “user specified process”). Can be mentioned. An example of a reconfigurable device is an FPGA (Field Programmable Gate Array).
FPGAを搭載したNIC(FPGA−NIC)をハードウェア・アクセラレータとして用いる場合は、サーバのAPで行われている処理の一部をオフロードする。すなわち、FPGA−NICをサーバの前段に組み込み、処理の一部を実行するための回路をFPGAにプログラムする。オフロードされた処理は専用の回路で実行されるので、サーバのAPで実行される単位時間あたりの処理量が増大するので、処理を高速化することができる。 When a NIC (FPGA-NIC) equipped with an FPGA is used as a hardware accelerator, a part of processing performed in the server AP is offloaded. That is, the FPGA-NIC is incorporated in the front stage of the server, and a circuit for executing a part of the processing is programmed in the FPGA. Since the offloaded processing is executed by a dedicated circuit, the processing amount per unit time executed by the server AP increases, so that the processing speed can be increased.
ユーザは、サーバのAPで行われている処理の中から、オフロード対象の処理を選択し、処理内容を記述する。次にユーザは、記述した処理内容について、論理合成、ネットリストへの変換、配置配線等の作業を行った後、処理内容、具体的にはFPGAへプログラムする情報をFPGA−NICに書き込む。 The user selects an offload target process from the processes performed by the server AP and describes the process contents. Next, the user performs operations such as logic synthesis, conversion to a net list, and placement and routing for the described processing content, and then writes the processing content, specifically, information to be programmed into the FPGA into the FPGA-NIC.
ところが、処理内容が書き込まれたFPGA−NICの実機が、期待通り動作するとは限らない。なぜなら、ユーザによる処理内容の記述ミスやその他の設計上の不具合により、期待と異なる挙動を示す可能性があるからである。そのため、期待通り動作するか否かを確認したり、期待と異なる挙動の原因箇所を突き止めたり、期待と異なる挙動が発生する状況を再現したりする、検証作業が必要である。 However, the actual FPGA-NIC in which the processing contents are written does not always operate as expected. This is because there is a possibility that a behavior different from the expectation may be exhibited due to a description mistake of processing contents by the user or other design problems. Therefore, it is necessary to perform verification work to confirm whether or not the operation works as expected, to find out the cause of the behavior different from the expectation, and to reproduce the situation where the behavior different from the expectation occurs.
一般に、実機を用いての検証は、ソフトウェアにおけるデバッグ・検証に比べて難易度が高い。そのため、アクセラレータを用いたオフロードを行うシステムを開発するためには、実機にオフロード処理の内容を書き込み動作させる前に、オフロード処理のソフトウェア・シミュレーションを行うことが有効である。さらには、オフロード処理だけでなく、サーバ上で実行されるAPを含むシミュレーションも行うことが望ましい。 In general, verification using an actual machine is more difficult than debugging and verification in software. Therefore, in order to develop a system that performs offloading using an accelerator, it is effective to perform software simulation of offloading processing before writing the content of the offloading processing to the actual machine. Furthermore, it is desirable to perform not only the offload process but also a simulation including an AP executed on the server.
通常のサーバでは、サーバ内のOS(Operating System)が、ネットワークからの入力フレームを受信し、宛先や要求内容を解析し、処理する。OSの処理内容は、例えば、入力フレームの要求に返答する、入力フレームを宛先に指定されたAPに届ける、などである。ネットワークからの入力フレームには、TCP(Transmission Control Protocol)やUDP(User Datagram Protocol)などのIP(Internet Protocol)パケットやpingパケット、ARP(Address Resolution Protocol)フレームなどがある。なお、本明細書では、パケットとフレームと特に区別せず、「フレーム」と総称する。 In a normal server, an OS (Operating System) in the server receives an input frame from the network, analyzes the destination and request contents, and processes them. The processing contents of the OS include, for example, replying to an input frame request and delivering the input frame to an AP designated as a destination. Input frames from the network include IP (Internet Protocol) packets such as TCP (Transmission Control Protocol) and UDP (User Datagram Protocol), ping packets, and ARP (Address Resolution Protocol) frames. In this specification, a packet and a frame are not particularly distinguished and are collectively referred to as “frame”.
シミュレーションを行うためだけに、サーバのOSカーネルやアプリケーションの送受信インタフェースを通常時と異なるものに変更するのは、ユーザにとって困難であり、手間も要する。また、サーバOSやアプリケーションの環境は、サーバによって様々である。そのため、シミュレーション開始時と終了時に、毎回設定を変更したり、サーバ環境によって異なる設定を行ったりするのは煩わしい。従って、シミュレーション環境はOSを改変することなく構築することが可能で、OSカーネルやアプリケーションの送受信インタフェースは変更が不要であることが望ましい。 It is difficult for the user to change the OS kernel of the server and the transmission / reception interface of the application to a different one from the normal time only for the simulation. Also, the environment of the server OS and application varies depending on the server. For this reason, it is troublesome to change the setting every time at the start and end of the simulation or to perform different settings depending on the server environment. Therefore, it is desirable that the simulation environment can be constructed without modifying the OS, and the OS kernel and application transmission / reception interfaces need not be changed.
OSの改変を伴わずに構築されたネットワークプロトコルスタックの一例が、非特許文献1に記載されている。非特許文献1の方法によれば、OSを改造することなく、新規ネットワークプロトコルの開発環境を構築することができる。図26は、非特許文献1の情報処理装置の構成例を示すブロック図である。非特許文献1のユーザレベル・プロトコルスタック400は、OS200より入力パケットのコピーを取得し、プロトコル処理を行ったのち、宛先に指定されているアプリケーションに向けてパケットを送信する。本明細書において、「宛先がアプリケーションである」とは、アプリケーションに割り当てられているソケットペア(IPアドレス、ポート番号)とパケットの宛先情報が一致することを指す。以降、宛先がアプリケーションであるフレームを、「アプリケーション(AP)宛フレーム」という。なお、「ユーザレベル」とは、ユーザ規定処理を含むことを意味する。
An example of a network protocol stack constructed without modifying the OS is described in Non-Patent
以下では、OS200の構成について詳しく説明する。OS200は、パケットコピー部240、OSフィルタ部220、OS主機能230を備える。
Hereinafter, the configuration of the
パケットコピー部240は、入力フレームの内、AP宛パケットのみを取得する。そして、パケットコピー部240は、ネットワーク入力フレームが対象プロトコルのパケットであるか判定し、前記条件を満たす場合パケットのコピーを取得し、ユーザレベル・プロトコルスタック400に転送する。入力フレームの判定やコピーは、OSのパケット・キャプチャ機能を用いて実現することができる。
The
OSフィルタ部220は、入力フレームをフィルタリングする。そして、OSフィルタ部220は、入力フレームの宛先がアプリケーションであるかどうか判定し、アプリケーション宛である場合、そのパケットを破棄する。これは、OS200からアプリケーション宛に、同一のパケットが、ユーザレベル・プロトコルスタック400とOSフィルタ部220を経由して、二重に届くのを防ぐためである。
The
非特許文献1のシステムにAP宛パケットがネットワークより入力されたときの動作を、図27を参照して説明する。
(ステップ1)OSフィルタ部220は、入力フレームの内、AP宛パケットを破棄する。
(ステップ2)パケットコピー部240は、入力フレームの内、AP宛パケットのコピーを取得する。
(ステップ3)ユーザレベル・プロトコルスタック400は、パケットコピー部240により取得したフレームに対して、プロトコル処理を行う。
(ステップ4)ユーザレベル・プロトコルスタック400は、AP宛にパケットを送信する。
(ステップ5)OS主機能230は、ユーザレベル・プロトコルスタック400より送信されたパケットのヘッダを解析して、指定された宛先(アプリケーション)に転送する。
The operation when a packet addressed to AP is input to the system of Non-Patent
(Step 1) The
(Step 2) The
(Step 3) The user level protocol stack 400 performs protocol processing on the frame acquired by the
(Step 4) The user level protocol stack 400 transmits a packet to the AP.
(Step 5) The OS
また、特許文献1には、プリンタ等デバイスのネットワーク接続試験用に、端末デバイス間に挿入するシミュレーションシステム、方法、プログラムが開示されている。特許文献1の方法によれば、端末とデバイス間の大規模複雑な仮想ネットワークを構築し、高精度な接続試験を行うことができる。
NICオフロード処理のシミュレーション環境を構築するためには、入力として生のネットワークトラフィックを取得する必要がある。ここでいう「生のネットワークトラフィック」は、AP宛フレームだけでなく、例えば、サーバの死活確認などに用いられるICMP(Internet Control Message Protocol)フレームや、アドレス解決に用いられるARPフレーム等を含む(以降、これらのフレームを、「非アプリケーション(非AP)宛フレーム」という。)。特許文献1の方法においても、非特許文献1の場合と同様に、生のネットワークトラフィックをOSのフレームコピー機能を用いて取得すると、AP宛フレーム、非AP宛フレームともに同一フレームが二重に発生する。
In order to construct a simulation environment for NIC offload processing, it is necessary to acquire raw network traffic as an input. The “live network traffic” here includes not only the frames addressed to the AP but also, for example, an Internet Control Message Protocol (ICMP) frame used for checking whether the server is alive, an ARP frame used for address resolution, and the like (hereinafter referred to as “live network traffic”). These frames are referred to as “non-application (non-AP) addressed frames”). Also in the method of
そこで、NICの動作を模擬し、AP宛フレームはNICシミュレータを経由してAPに届き、かつ、APのAP宛フレーム処理及びOSの非AP宛フレーム処理に重複を生じないようにする必要がある。 Therefore, it is necessary to simulate the operation of the NIC so that the AP-addressed frame reaches the AP via the NIC simulator, and the AP's AP-addressed frame processing and the OS non-AP-addressed frame processing do not overlap. .
NICオフロード処理のシミュレーション環境を構築するためには、入力として全てのネットワークトラフィックを取得する必要がある。しかし、特許文献1や非特許文献1の技術のようにネットワークトラフィックをOSのフレームコピー機能を用いて取得する場合、AP宛フレーム、非AP宛フレームともに二通りの流れが発生する。複製されたAP宛フレーム及び非AP宛フレームに対しても処理を行うと、APによる同一フレームの重複受信による不具合や、OSによる応答フレームの重複送信によるネットワークトラフィックの増加が発生する。後者のケースでは、最悪の場合、接続の切断といった問題が発生する。
In order to build a simulation environment for NIC offload processing, it is necessary to acquire all network traffic as input. However, when network traffic is acquired using the OS frame copy function as in the techniques of
従って、NICの、オフロード処理のみでなく、動作の全般のシミュレーションを行うためには、AP宛フレームはNICシミュレータを経由してAPに届き、かつ、APのAP宛フレーム処理及びOSの非AP宛フレーム処理に重複を生じないようにする必要がある。 Therefore, in order to perform not only the NIC offload processing but also the overall operation simulation, the AP-addressed frame reaches the AP via the NIC simulator, and the AP's AP-addressed frame processing and OS non-AP It is necessary to avoid duplication in the destination frame processing.
同一フレームが二重に発生しないようにすることは、シミュレーションを行う場合のみでなく、実動作を行う上でも必要である。
(発明の目的)
本発明の目的は、同一パケットを二重に発生させることなく、処理対象のフレームに所望の処理を行うことができる情報処理装置、及び情報処理方法を提供することにある。
It is necessary not only to perform a simulation but also to perform an actual operation so that the same frame does not occur twice.
(Object of invention)
An object of the present invention is to provide an information processing apparatus and an information processing method capable of performing desired processing on a frame to be processed without generating the same packet twice.
本発明の情報処理装置は、外部から入力された入力フレームの振り分け条件、及び外部へ出力するフレームの第1のフィルタ条件を設定するフィルタ管理部と、振り分け条件に従って、入力フレームを内部又は外部へ出力する振り分け部と、振り分け部からの入力フレームに第1の処理を行い、出力フレームとしてフィルタ部へ出力する処理部と、第1のフィルタ条件に従って、出力フレームを、外部へ出力又は破棄するフィルタ部と、を備えることを特徴とする。 The information processing apparatus according to the present invention includes: a filter management unit that sets a distribution condition for an input frame input from the outside and a first filter condition for a frame to be output to the outside; A filter that outputs the output frame to the outside according to the first filter condition, a processing unit that performs the first process on the input frame from the distribution unit, outputs the output frame to the filter unit as an output frame, and the first filter condition And a section.
本発明の情報処理方法は、外部から入力された入力フレームの振り分け条件、及び外部へ出力するフレームの第1のフィルタ条件を設定し、振り分け条件に従って、入力フレームを内部又は外部へ出力し、入力フレームに第1の処理を行い、出力フレームとして出力し、第1のフィルタ条件に従って、出力フレームを、外部へ出力又は破棄することを特徴とする。 The information processing method of the present invention sets a sorting condition for an input frame input from the outside and a first filter condition for a frame to be output to the outside, and outputs the input frame to the inside or the outside according to the sorting condition. A first process is performed on the frame, the frame is output as an output frame, and the output frame is output to the outside or discarded according to the first filter condition.
本発明の情報処理装置及び情報処理方法には、同一パケットを二重に発生させることなく、処理対象のフレームに所望の処理を行うことができるという効果がある。 The information processing apparatus and the information processing method of the present invention have an effect that desired processing can be performed on a processing target frame without generating the same packet twice.
(第1の実施形態)
次に、本発明の実施の形態について図面を参照して詳細に説明する。図1は、本発明の第1の実施形態の情報処理装置の構成を示すブロック図である。
(First embodiment)
Next, embodiments of the present invention will be described in detail with reference to the drawings. FIG. 1 is a block diagram showing the configuration of the information processing apparatus according to the first embodiment of this invention.
図1に示されるように、本発明を実施するための第1の実施形態における情報処理装置は、OS200、NICシミュレータ100、OS200の管理下で実行されるアプリケーションを備える。
As shown in FIG. 1, the information processing apparatus according to the first embodiment for carrying out the present invention includes an
NICシミュレータ100は、OS200の管理下でユーザアプリケーションとして実行されるシミュレータである。NICシミュレータ100は、ネットワークからの入力フレームのコピーを入力として取得し、ユーザが処理を書き換え可能なロジックのソフトウェア・シミュレーションを行う。NICシミュレータ100の詳細については、後述する。
The
以上のOS200とNICシミュレータ100の構成により、AP宛フレームはNICシミュレータ100を経由してアプリケーションに転送される。一方の非AP宛フレームに対しては、OS200がフレームごとに指定された処理を行う。以上のような、フレームの宛先によって区分した処理を行うことによって、OSカーネルやアプリケーションの送受信インタフェースを改変することなく、ユーザ規定処理を実行する処理部を含むNICのソフトウェア・シミュレーションを行うことができる。
With the configuration of the
以下では、OS200の内部構成、動作を順に説明する。図2は、OS200の内部構成を示すブロック図である。OS200は、フレームコピー部210、OSフィルタ部220、OS主機能230を備える。
Hereinafter, the internal configuration and operation of the
フレームコピー部210は、ネットワーク入力フレームのコピーを取得し、NICシミュレータ100へ出力する。フレームコピー部210は、パケット・キャプチャと呼ばれるOSの機能を用いて実現できる。
The
OSフィルタ部220は、入力フレームを通過させるか破棄するかを判定し、条件を満たすフレームのみ通過させる。具体的条件は、後述するNICシミュレータ100中のフィルタ管理部110の設定内容に基づき、AP宛フレームは破棄し、非AP宛フレームは通過させるよう設定される。OSフィルタ部220は、一般に、ファイアウォールやパケットフィルタと呼ばれる、OSの機能を用いて実現できる。
The
OSフィルタ部220の内容は、例えば図3のように設定される。すなわち、フィルタ処理の対象とする指定プロトコルと、指定プロトコルごとに指定された宛先ポート番号、及び指定されたプロトコル、宛先ポート番号に該当するフレームに対する指定動作が設定される。
The contents of the
指定プロトコルの例としては、TCP、UDPなどが挙げられる。指定動作の例としては、通過させる(ACCEPT)、破棄する(DROP)、などがある。図3の設定例では、OSフィルタ部220が、TCPプロトコルで11111番ポート宛フレーム及びUDPプロトコルで22222番ポート宛フレームを破棄し、その他のプロトコルのフレームは全て通過させるように設定されている。
Examples of the designated protocol include TCP and UDP. Examples of the designated operation include passing (ACCEPT) and discarding (DROP). In the setting example of FIG. 3, the
図4から図6を用いて、OS200の各部の動作を説明する。まず、図4を用いて、OSフィルタ部220の設定を行う際の動作を説明する。OSフィルタ部220の設定を行う際の動作は以下の通りである。
(1)NICシミュレータ100のフィルタ管理部110は、OSフィルタ部220に対して、通過させるフレーム及び破棄するフレームの設定を行う。具体的には、OSフィルタ部220がAP宛フレームを破棄し、非AP宛フレームを通過させるように設定する。
The operation of each unit of the
(1) The
次に、図5を用いて、OS200がAP宛フレームを処理する際の動作を説明する。AP宛フレームを処理する際の動作は以下の通りである。
(1)フレームコピー部210は、ネットワークからの入力フレームをコピーする。
(2)OSフィルタ部220は、フィルタ管理部110による設定に基づき、AP宛フレームを破棄する。
(3)フレームコピー部210によりコピーされたフレームは、NICシミュレータ100に入力される。なお、このとき入力されるフレームには、AP宛フレームのみでなく、非AP宛フレームも含まれる。
(4)OS主機能230は、NICシミュレータ100から出力されたフレームを受信し、フレームの中身を解析する。
(5)OS主機能230は、AP宛フレームをアプリケーションに転送する。
Next, the operation when the
(1) The
(2) The
(3) The frame copied by the
(4) The OS
(5) The OS
図6を用いて、OS200が入力された非AP宛フレームを処理する際の動作を説明する。非AP宛の入力フレームを処理する際の動作は以下の通りである。
(1)フレームコピー部210は、ネットワークからの入力フレームをコピーする。
(2)OSフィルタ部220は、フィルタ管理部110による設定に基づき、非AP宛フレームを通過させる。
(3)OS主機能230は、OSフィルタ部220を通過したフレームに対して、フレームの内容に応じた処理を行う。
(4)フレームコピー部210によりコピーされたフレームは、NICシミュレータ100に入力される。なお、上述のように、このとき入力されるフレームには、非AP宛フレームのみでなく、AP宛フレームも含まれる。
The operation at the time of processing the frame addressed to the non-AP to which the
(1) The
(2) The
(3) The OS
(4) The frame copied by the
以上のように、OS200は、AP宛フレームについて、一方ではコピーをNICシミュレータ100に転送し、他方ではOSフィルタ部220でブロックする。非AP宛フレームについては、OS200が処理を行う。
As described above, the
次に、NICシミュレータ100の内部構成、動作を順に説明する。図7は、NICシミュレータ100の内部構成を示すブロック図である。NICシミュレータ100は、フレーム受信部120、処理部130、ユーザフィルタ部140、フレーム送信部150、フィルタ管理部110を備える。
Next, the internal configuration and operation of the
フレーム受信部120は、OS200のフレームコピー部210から入力フレームを受信する。フレーム受信部120は、受信したフレームをバッファリングしてもよい。
The
処理部130は、フレーム受信部120から受け取ったフレームを入力フレームとして、ユーザ規定処理についてのソフトウェア・シミュレーションを行う。あるいは、処理部130は、ハードウェア記述言語で動作が記述されたハードウェアシミュレータでもよい。
The
処理部130によるソフトウェア・シミュレーションの対象は、NIC内で実行することが予定されているユーザ規定処理である。NIC内におけるユーザ規定処理は、ハードウェアにより実行されても、ソフトウェアにより実行されてもよい。
The target of the software simulation by the
ユーザ規定処理の内容は、固定の処理であっても、変更可能な処理であってもよい。ユーザ規定処理の内容は、シミュレーションにて処理の正常動作を確認後、NICに搭載された、回路構成を書き込むことができるFPGA等のデバイスや、ユーザ規定処理のプログラムを格納するメモリなどに設定される。処理が変更可能である場合は、NICには、回路構成を書き換えることができるFPGA等のデバイスやプログラマブル・メモリなどが搭載される。 The content of the user-defined process may be a fixed process or a changeable process. The contents of the user-defined process are set in a device such as an FPGA that can write the circuit configuration, and a memory that stores a program for the user-defined process, which are installed in the NIC after confirming the normal operation of the process by simulation. The When the processing can be changed, a device such as an FPGA that can rewrite the circuit configuration, a programmable memory, or the like is mounted on the NIC.
図8は、処理部130の内部構成を示すブロック図である。処理部130は、入出力インタフェース(Interface。I/F)131と検証論理部132を備える。検証論理部132は、ユーザが書き換え可能な機能ブロックである。ユーザは検証論理部132に、実現したい処理、すなわち、ユーザ規定処理の内容を記述する。入出力I/F131は、機能ブロックの入出力の接続仕様を表す。
FIG. 8 is a block diagram illustrating an internal configuration of the
図9を用いて、処理部130の動作を説明する。
(1)入出力I/F131は、フレーム受信部120より入力フレームを受け取る。そして、入出力I/F131は、入力フレームを、検証論理部132の入出力信号の接続規約(プロトコル)を満たす入力信号列に変換する。入出力I/F131は、入力フレームをバッファリングしてもよい。
(2)入出力I/F131は、検証論理部132に入力信号列を渡す。
(3)入出力I/F131は、検証論理部132からの出力信号列を受け取る。
(4)入出力I/F131は、出力信号列を出力フレームに変換し、ユーザフィルタ部に出力フレームを送信する。入出力I/Fは、出力信号列をバッファリングしてもよい。
The operation of the
(1) The input / output I / F 131 receives an input frame from the
(2) The input / output I / F 131 passes the input signal sequence to the verification logic unit 132.
(3) The input / output I / F 131 receives the output signal sequence from the verification logic unit 132.
(4) The input / output I / F 131 converts the output signal sequence into an output frame, and transmits the output frame to the user filter unit. The input / output I / F may buffer the output signal string.
このようにして、ユーザは自身で記述した、ユーザ規定処理が期待通りの出力をするか検証することが可能である。 In this way, the user can verify whether the user-defined process described by himself / herself outputs as expected.
図7の説明に戻って、ユーザフィルタ部140は、後述するフィルタ管理部110の設定に基づき、処理部130の出力フレームを通過させるか判定し、条件を満たすフレームのみ通過させる。
Returning to the description of FIG. 7, the
ユーザフィルタ部140の内容は、例えば図10のように設定される。すなわち、フィルタ処理の対象とする指定プロトコルと、指定プロトコルごとに指定された宛先ポート番号、及び指定されたプロトコル、宛先ポート番号に該当するフレームに対する指定動作が設定される。
The contents of the
プロトコルの例としては、TCP、UDPなどが挙げられる。指定動作の例としては、通過させる、(ACCEPT)破棄する(DROP)、などがある。図10の設定例では、ユーザフィルタ部140は、TCPプロトコルで11111番ポート宛のフレーム及びUDPプロトコルで22222番ポート宛のフレームを通過させ、その他のプロトコルのフレームは全て破棄するよう設定されている。
Examples of protocols include TCP and UDP. Examples of the designated operation include passing, (ACCEPT) and discarding (DROP). In the setting example of FIG. 10, the
フレーム送信部150は、ユーザフィルタ部140を通過した出力フレームを受け取り、アプリケーション宛に送信する。
The
フィルタ管理部110は、AP宛フレームについて、OSフィルタ部220は破棄し、ユーザフィルタ部140は通過させるよう設定を行う。フィルタ管理部110の内部構成を図11に示す。フィルタ管理部110は、設定情報記憶部111、ユーザフィルタ設定部112、OSフィルタ設定部113を備える。
The
設定情報記憶部111はアプリケーションの通信ポートのリストを保持する。設定情報記憶部111は、アプリケーションの起動・終了時に更新される。設定情報記憶部111の記憶内容は、テキストファイルでもよい。
The setting
設定情報記憶部111は、例えば図12のような内容を保持する。すなわち、設定情報記憶部111は、例えばアプリケーションのプロトコル、ポート番号を保持する。図12の例では、アプリケーションのポート番号として、TCPプロトコルにはポート番号11111番が、UDPプロトコルには22222番が割り当てられている。
The setting
フィルタ管理部110は、これらの宛先へのフレームを、OSフィルタ部220では破棄され、ユーザフィルタ部140では通過するように設定する。
The
フィルタ管理部110の動作を、図13を用いて説明する。
(1)設定情報記憶部111は、ユーザフィルタ設定部112に送信される。
(2)ユーザフィルタ設定部112は、設定情報記憶部111に保持されているアプリケーションの通信ポート宛のフレームのみを通すよう、ユーザフィルタ部140の設定を行う。
(3)OSフィルタ設定部113は、フレームの通過及び破棄について、ユーザフィルタ設定部112とは反対の設定を行う。すなわち、設定情報記憶部111に記載されているアプリケーションの通信ポート宛のフレームを破棄するよう、OSフィルタ部220の設定を行う。
The operation of the
(1) The setting
(2) The user
(3) The OS
図14から図16を用いて、NICシミュレータ100の各部の動作を説明する。まず、図14を用いて、ユーザフィルタ部140の設定を行う際の動作を説明する。ユーザフィルタ部140の設定を行う際の動作は以下の通りである。
(1)フィルタ管理部110は、設定情報記憶部111の保持内容に基づき、ユーザフィルタ部140に対して、通過させるフレーム・破棄するフレームの設定を行う。具体的には、ユーザフィルタ部140がAP宛フレームを通過させ、非AP宛フレームを破棄するように設定する。
The operation of each part of the
(1) Based on the content stored in the setting
次に、図15を用いて、NICシミュレータ100に入力されたAP宛フレームを処理する際の動作を説明する。AP宛の入力フレームを処理する際の動作は以下の通りである。
(1)フレーム受信部120は、OS200のフレームコピー部210によりコピーされたフレームを入力フレームとして受信する。
(2)処理部130は、フレーム受信部120から受け取った入力フレームを入力として、ユーザ規定処理のソフトウェア・シミュレーションを行う。
(3)ユーザフィルタ部140は、フィルタ管理部110の設定に基づき、処理部130の出力フレームであるAP宛フレームを通過させる。
(4)フレーム送信部150は、ユーザフィルタ部140を通過したAP宛フレームを受け取り、アプリケーション宛に送信する。
(5)フレーム送信部150よりアプリケーション宛に送信されたフレームは、OS主機能230を経由してアプリケーションに転送される。
Next, the operation when processing the AP-addressed frame input to the
(1) The
(2) The
(3) Based on the settings of the
(4) The
(5) The frame transmitted from the
図16を用いて、NICシミュレータ100が入力された非AP宛フレームを処理する際の動作を説明する。非AP宛の入力フレームを処理する際の動作は以下の通りである。
(1)フレーム受信部120は、OS200のフレームコピー部210によりコピーされたフレームを入力フレームとして受信する。
(2)処理部130は、フレーム受信部120から受け取った入力フレームを入力として、ユーザ規定処理のソフトウェア・シミュレーションを行う。
(3)ユーザフィルタ部140は、フィルタ管理部110の設定に基づき、処理部130の出力フレームである非AP宛フレームを破棄する。
The operation when the
(1) The
(2) The
(3) The
以上のように、NICシミュレータ100は、非AP宛フレームについては、ユーザフィルタ部140でブロックする。AP宛フレームについては、アプリケーション宛に送信する。
As described above, the
次に、図17、図18、図19を参照して、本実施形態の全体動作について詳しく説明する。 Next, the overall operation of this embodiment will be described in detail with reference to FIGS. 17, 18, and 19.
まず、図17を用いて、フィルタ管理部110によるフィルタの設定動作を説明する。
(1)フィルタ管理部110は、アプリケーションの起動時と終了時に、フィルタ管理部110中の設定情報記憶部111のリストを更新する。そして、フィルタ管理部110は、設定情報記憶部111の保持内容に基づいてユーザフィルタ部140、OSフィルタ部220の設定を行う。
First, the filter setting operation by the
(1) The
次に、ネットワークから入力されたAP宛フレームを処理する全体動作を、図18を参照して説明する。
(1)OSフィルタ部220は、AP宛入力フレームを破棄する。
(2)フレームコピー部210は、入力フレームのコピーを生成する。
(3)フレーム受信部120は、コピーされた入力フレームを取得し、処理部130に渡す。
(4)処理部130は、フレーム受信部120から受け取った入力フレームを入力として、ユーザ規定処理のソフトウェア・シミュレーションを行う。
(5)ユーザフィルタ部140は、フィルタ管理部110の設定に基づき、処理部130の出力フレームであるAP宛フレームを通過させる。
(6)フレーム送信部150は、ユーザフィルタ部140を通過してきたフレームをアプリケーション宛に送信する。
(7)NICシミュレータ100より送信されたフレームは、OS200が処理する。
(8)OS200はフレームの内容を解析して、アプリケーションにフレームを転送する。
Next, an overall operation for processing a frame addressed to an AP input from the network will be described with reference to FIG.
(1) The
(2) The
(3) The
(4) The
(5) Based on the setting of the
(6) The
(7) The
(8) The
さらに、ネットワークから入力された非AP宛フレームを処理する全体動作を、図19を参照して説明する。
(1)OSフィルタ部220は、非AP宛入力フレームを通過させる。
(2)OS主機能230はOSフィルタ部220を通過したフレームに対して、フレームの内容に応じた処理を行う。
(3)フレームコピー部210は、入力フレームのコピーを生成する。
(4)フレーム受信部120は、コピーされた入力フレームを取得し、処理部130に渡す。
(5)処理部130は、フレーム受信部120から受け取った入力フレームを入力として、ユーザ規定処理のソフトウェア・シミュレーションを行う。
(6)ユーザフィルタ部140は、フィルタ管理部110の設定に基づき、処理部130の出力である非AP宛フレームを破棄する。
Further, an overall operation for processing a non-AP addressed frame input from the network will be described with reference to FIG.
(1) The
(2) The OS
(3) The
(4) The
(5) The
(6) Based on the setting of the
本実施形態の効果について説明する。本実施形態では、AP宛フレーム及び非AP宛フレームがNICシミュレータへ入力される。そして、AP宛フレームは所定の処理が行われた後、アプリケーションに配送される。非AP宛フレームは、NICシミュレータからは出力されず、OS200によって処理される。このように、アプリケーション宛及びOS宛に同一のフレームが二重に発生することがない。従って、重複したフレームに起因する不具合を発生させることなく、NIC及びNICを含むサーバのソフトウェア・シミュレーションができるという効果がある。
The effect of this embodiment will be described. In the present embodiment, an AP-addressed frame and a non-AP-addressed frame are input to the NIC simulator. The frame addressed to the AP is delivered to the application after predetermined processing is performed. The non-AP addressed frame is not output from the NIC simulator and is processed by the
さらに、本実施形態では、AP宛フレーム、非AP宛フレーム共にNICシミュレータへ入力され、処理部はその両方を入力する状態で動作確認することができる。実際のNICでも、ネットワークから、AP宛フレーム、非AP宛フレーム共に入力される。そのため、NICシミュレータにて確認された処理部の動作は、実際のNICにおいても、まったく同様に実行することが保証される。従って、NICシミュレータは、実際にNICで所定の処理を行う前のシミュレータとして使用することができる。 Further, in the present embodiment, both the AP-addressed frame and the non-AP-addressed frame are input to the NIC simulator, and the processing unit can confirm the operation in a state where both are input. Even in an actual NIC, both an AP-addressed frame and a non-AP-addressed frame are input from the network. Therefore, the operation of the processing unit confirmed by the NIC simulator is guaranteed to be executed in the same manner even in an actual NIC. Therefore, the NIC simulator can be used as a simulator before a predetermined process is actually performed by the NIC.
さらに、本実施形態のNICシミュレータは、OS宛のフレームが重複してOSに入力されることがない。従って、シミュレーション環境を構築するために、OSの改造を行う必要がない。そのため、OSカーネルやアプリケーションの送受信インタフェースの変更に伴う管理コストの増大を抑えることができるという効果がある。 Furthermore, in the NIC simulator of the present embodiment, duplicate frames addressed to the OS are not input to the OS. Therefore, it is not necessary to modify the OS in order to construct a simulation environment. Therefore, there is an effect that it is possible to suppress an increase in management cost due to a change in the transmission / reception interface of the OS kernel or application.
本実施形態の説明から理解されるように、OS200は、入力されたフレームの転送先を振り分ける振り分け部として機能する。すなわち、OS200は、フレームを、AP宛フレーム又は非AP宛フレームに区分する。そして、OS200は、AP宛フレームを、フレーム受信部120を介して、処理部130へ転送する。また、OS200は、非AP宛フレームを、OS主機能230に転送し、所定の処理を行う。以上のOS200の振り分け機能以外の保有機能については、特に限定されない。従って、OS200は、振り分け部と一般化することができる。
As can be understood from the description of the present embodiment, the
なお、フレーム受信部120及びフレーム送信部150は、フレームの受信及び送信の機能を明示するために独立した機能ブロックとして付け加えたものである。従って、フレーム受信部120及びフレーム送信部150は、本発明の必須の構成要素ではない。
The
以上から、本実施形態の情報処理装置に必須の構成要素は、フィルタ管理部、振り分け部、処理部、フィルタ部である。図20に、本発明に必須の構成要素のみを備える情報処理装置20の構成を示すブロック図を示す。
From the above, the essential components for the information processing apparatus of the present embodiment are the filter management unit, the distribution unit, the processing unit, and the filter unit. FIG. 20 is a block diagram showing the configuration of the
フィルタ管理部21は、振り分け部22によるフレームの振り分け条件、及びフィルタ部24によるフレームのフィルタ条件を設定する。
The
振り分け部22は、フィルタ管理部21に設定されたフレームの振り分け条件に従って、外部から入力された入力フレームを、処理部23又は外部へ出力する。
The
処理部23は、振り分け部22からの入力フレームに所定の処理を行い、出力フレームとしてフィルタ部24へ出力する。
The processing unit 23 performs predetermined processing on the input frame from the
フィルタ部24は、フィルタ管理部21に設定されたフレームのフィルタ条件に従って、処理部からの出力フレームを、外部へ出力又は破棄する。
The
以上のブロックを備えることによって、情報処理装置20は、振り分け部22によって処理部23へ振り分けられた入力フレームに対してのみ処理を行うことができる。そして、所定の条件を満たす出力フレームのみが外部に出力される。
By providing the above blocks, the
このように、情報処理装置20は、ある条件を満たすフレームについてのみ所望の処理を行い、同一フレームが二重に出力されることがない。
In this way, the
本実施形態の情報処理装置20は、FPGA−NIC等を用いてユーザ規定処理を行い、その後、その結果に対してさらに情報処理装置で追加の処理を行う情報処理システムの、動作の検証に利用することができる。すなわち、AP宛フレームに対して行われたユーザ規定処理が所望の処置であるか否かは、情報処理装置20の出力フレームを期待値と比較することによって、確認することができる。出力フレームが期待値を一致したならば、情報処理装置20によって処理されたユーザ規定処理が所望の処理であることがわかる。
The
従って、動作が確認されたユーザ規定処理を、NIC内の、ユーザによる動作の指定が可能な処理部の処理として指定すれば、情報処理システムが正常動作することが保証される。
(第2の実施形態)
次に、本発明の第2の実施形態について図面を参照して詳しく説明する。第1の実施形態では、サーバは、シミュレーションによるユーザ規定処理の動作確認の後、ユーザ規定処理を行うFPGA−NICを用いてアプリケーションを実行する。これに対して、第2の実施形態では、ユーザ規定処理を行うFPGA−NICを用いてアプリケーションを実行するサーバとは別のサーバにおいて、ユーザ規定処理のシミュレーションを行う。つまり、ユーザ規定処理のシミュレーションを行うサーバ(以降、「シミュレーション用サーバ」という。)と、実際にユーザ規定処理を行うFPGA−NICを用いてアプリケーションを実行するサーバ(以降、「実動作用サーバ」という。)とは異なる。
Therefore, if the user-defined process whose operation has been confirmed is designated as a process in the NIC that can be designated by the user, the information processing system is guaranteed to operate normally.
(Second Embodiment)
Next, a second embodiment of the present invention will be described in detail with reference to the drawings. In the first embodiment, the server executes the application using the FPGA-NIC that performs the user-defined process after confirming the operation of the user-defined process by simulation. On the other hand, in the second embodiment, the user-defined process is simulated on a server different from the server that executes the application using the FPGA-NIC that performs the user-defined process. That is, a server (hereinafter referred to as “simulation server”) that performs simulation of user-defined processing and a server that executes an application using an FPGA-NIC that actually performs user-defined processing (hereinafter “actual operation server”). Is different.)
図21は、第2の実施形態の情報処理システムの構成を示すブロック図である。図1と共通の構成要素については同じ符号を用いている。第2の実施形態の情報処理システムは、NICシミュレータ500を実行するシミュレーション用サーバ1と、アプリケーションを実行する実動作用サーバ2とを備える。以下ではシミュレーション用サーバ1、実動作用サーバ2の詳細構成について説明する。
FIG. 21 is a block diagram illustrating a configuration of an information processing system according to the second embodiment. The same reference numerals are used for the same components as in FIG. The information processing system according to the second embodiment includes a
実動作用サーバ2では、OS200の管理下のもとに、アプリケーション300、副フィルタ管理部310を実行する。
In the
OS200は、OS主機能230、OSフィルタ部220を備える。OSフィルタ部220については、第1の実施形態のOSフィルタ部220と同じ機能を実行するため、説明を省略する。
The
副フィルタ管理部310は、OSフィルタ部220の設定を行う。設定内容は、シミュレーション用サーバ1のフィルタ管理部110の要求に基づく。副フィルタ管理部310は、サーバ2からのリモートログインを可能にするサービスでもよい。
The sub
シミュレーション用サーバ1では、OS600の管理下のもとに、NICシミュレータ500を実行する。シミュレーション用サーバ1のNICは、プロミスキャスモード、すなわち、到着する全フレームを受信するモードに設定される。なお、図21にNICは図示されていないが、NICはネットワークとサーバ1との間に存在する。
In the
OS600はフレームコピー部610を備える。フレームコピー部610は、シミュレーション用サーバ1、及び実動作用サーバ2が接続されているネットワーク上を流れるトラフィックの内、シミュレーション用サーバ1のNICに入力されるフレームのみをコピーして、NICシミュレータ500に渡す。すなわち、宛先がサーバ2であるフレーム及び宛先がブロードキャストアドレスのフレームコピーを取得する。
The
NICシミュレータ500は、フレーム受信部120、処理部130、ユーザフィルタ部140、フレーム書換部560、フレーム送信部150、フィルタ管理部110を含む。フレーム受信部120、処理部130、ユーザフィルタ部140、及びフレーム送信部150については、第1の実施形態のものと同じ機能を実行するため、説明は省略する。
The
フレーム書換部560は、ユーザフィルタ部140を通過したAP宛フレームについて、送信元アドレスをシミュレーション用サーバ1のアドレスに書き換える。
The
フィルタ管理部510は、AP宛フレームについて、実動作用サーバ2のOSフィルタ部220は破棄し、NICシミュレータ500中のユーザフィルタ部140は通過させるよう設定を行う。フィルタ管理部510の内部構成を図22に示す。フィルタ管理部510は、設定情報記憶部111、ユーザフィルタ設定部112、リモートOSフィルタ設定部513を備える。
The
設定情報記憶部111とユーザフィルタ設定部112は、第1の実施形態のものと同じ機能を実行する。設定情報記憶部111はアプリケーションの通信ポートのリストを保持する。設定情報記憶部111は、アプリケーションの起動・終了時に更新される。
The setting
ユーザフィルタ設定部112は、設定情報記憶部111に記載されているAP宛フレームのみを通すよう、ユーザフィルタ部140の設定を行う。
The user
リモートOSフィルタ設定部513は、実動作用サーバ2のOSフィルタ部220に対して、フレームの通過及び破棄について、ユーザフィルタ設定部112とは反対の設定を行う。すなわち、リモートOSフィルタ設定部513は、実動作用サーバ2の副フィルタ管理部310に指令を送り、OSフィルタ部220が設定情報記憶部111に記載されているAP宛フレームを破棄するように設定させる。
The remote OS
次に図23、図24、図25を参照して、本実施の形態の全体動作について詳しく説明する。 Next, the overall operation of this embodiment will be described in detail with reference to FIGS.
まず、図23を用いて、フィルタの設定時の動作について説明する。フィルタの設定時の動作は以下の通りである。
(1)フィルタ管理部510は、アプリケーションの起動時及び終了時に、設定情報記憶部111のリストを更新する。そして、フィルタ管理部510は、ユーザフィルタ部140がAP宛フレームのみを通すよう設定する。
(2)フィルタ管理部510は、実動作用サーバ2上の副フィルタ管理部310に、OSフィルタ部220に、ユーザフィルタ部とは反対の設定、すなわち、AP宛フレームを破棄する設定を行うよう要求を送信する。
(3)副フィルタ管理部310は、フィルタ管理部110の要求に従い、AP宛フレームを破棄するよう、OSフィルタ部220の設定を行う。
First, the operation at the time of setting a filter will be described with reference to FIG. The operation when setting the filter is as follows.
(1) The
(2) The
(3) The sub
次に、図24を用いて、ネットワークから入力されたAP宛フレームを処理する全体動作を説明する。AP宛フレームを処理する際の動作は以下の通りである。
(1)OSフィルタ部220は、AP宛入力フレームを破棄する。
(2)フレームコピー部610は、入力フレームの内、宛先が実動作用サーバ2であるフレーム及び宛先がブロードキャストアドレスのフレームのコピーを生成する。
(3)フレーム受信部120は、コピーされた入力フレームを取得し、処理部130に渡す。ここでフレーム受信部120は、入力フレームをバッファリングしてもよい。
(4)処理部130は、フレーム受信部120からフレームを受け取った入力フレームを入力として、ユーザ規定処理のソフトウェア・シミュレーションを行う。
(5)ユーザフィルタ部140は、フィルタ管理部510の設定に基づき、処理部130の出力であるAP宛フレームを通過させる。
(6)フレーム書換部560は、ユーザフィルタ部140を通過してきたフレームの送信元アドレスをシミュレーション用サーバ1のアドレスに書き換え、フレーム送信部150に渡す。
(7)フレーム送信部150は、フレーム書換部560より受信したフレームを、実動作用サーバ2のアプリケーション宛に送信する。
(8)シミュレーション用サーバ1のNICシミュレータ500より送信されたフレームは、実動作用サーバ2のOSフィルタ部220を通過する。
(9)OS200はフレームの内容を解析して、アプリケーション300にフレームを転送する。
(10)アプリケーション300は、フレームを受信する。
Next, an overall operation for processing a frame addressed to an AP input from the network will be described with reference to FIG. The operation when processing a frame addressed to AP is as follows.
(1) The
(2) The
(3) The
(4) The
(5) Based on the setting of the
(6) The
(7) The
(8) The frame transmitted from the
(9) The
(10) The
さらに、図25を用いて、ネットワークから入力された非AP宛フレームを処理する全体動作を説明する。非AP宛フレームを処理する際の動作は以下の通りである。
(1)OSフィルタ部220は、非AP宛フレームを通過させる。
(2)OS主機能230は、OSフィルタ部220を通過した非AP宛フレームに対して、フレームの内容に応じた処理を行う。
(3)フレームコピー部610は、入力フレームの内、宛先が実動作用サーバ2であるフレーム及び宛先がブロードキャストアドレスのフレームのコピーを生成する。
(4)フレーム受信部120は、コピーされた入力フレームを取得し、処理部130に渡す。
(5)処理部130は、フレーム受信部120からフレームを受け取った入力フレームを入力として、ユーザ規定処理のソフトウェア・シミュレーションを行う。
(6)ユーザフィルタ部140は、フィルタ管理部510の設定に基づき、処理部130の出力である非AP宛フレームを破棄する。
Furthermore, an overall operation for processing a non-AP addressed frame input from the network will be described with reference to FIG. The operation when processing a non-AP addressed frame is as follows.
(1) The
(2) The OS
(3) The
(4) The
(5) The
(6) The
第2の実施形態の効果について説明する。第2の実施形態では、NICシミュレーションとアプリケーションが別サーバで実行される。そのため、アプリケーション実行サーバ(実動作用サーバ2)の負荷が軽減される。そのため、第2の実施形態には、第1の実施形態の効果に加え、シミュレーション時にアプリケーションをより高速に実行することができるという効果がある。 The effect of the second embodiment will be described. In the second embodiment, the NIC simulation and the application are executed on different servers. Therefore, the load on the application execution server (actual operation server 2) is reduced. Therefore, in the second embodiment, in addition to the effect of the first embodiment, there is an effect that an application can be executed at a higher speed during simulation.
本発明は、付属の処理装置でユーザ規定処理を行った後、処理後のフレームをメインの処理装置に入力し、処理するような用途のシミュレーションに適用することができる。従って、例えば、ネットワークから入力される株価情報に対する抽出・分析等の処理を行う情報処理装置をコンピュータによって実現するときに、NIC等を用いて前処理を行うといった用途に適用できる。 The present invention can be applied to a simulation for a purpose in which a user-defined process is performed by an attached processing apparatus, and then the processed frame is input to the main processing apparatus and processed. Accordingly, for example, when an information processing apparatus that performs processing such as extraction / analysis on stock price information input from a network is realized by a computer, it can be applied to a purpose of performing preprocessing using a NIC or the like.
1 第1の通信装置
100、500 NICシミュレータ
110 フィルタ管理部
111 設定情報記憶部
112 ユーザフィルタ設定部
113 OSフィルタ設定部
120 フレーム受信部
130 処理部
140 ユーザフィルタ部
150 フレーム送信部
200、600 OS
210 フレームコピー部
220 OSフィルタ部
230 OS主機能
240 パケットコピー部
300 アプリケーション
310 副フィルタ管理部
400 ユーザレベル・プロトコルスタックク
510 フィルタ管理部
513 リモートOSフィルタ設定部
560 フレーム書換部
610 フレームコピー部
DESCRIPTION OF
210
Claims (6)
前記シミュレータから前記オペレーティングシステムへ出力するフレームの第1のフィルタ条件を設定するとともに、前記情報処理システムに入力された入力フレームの振り分け条件によって前記オペレーティングシステムへ出力される前記入力フレームに、前記第1のフィルタ条件によって前記オペレーティングシステムへ出力される前記フレームが含まれないよう、前記振り分け条件を設定する指令を送るフィルタ管理部と、
前記フィルタ管理部からの前記指令に従って、前記振り分け条件を設定する副フィルタ管理部と、
前記情報処理システムに入力された前記入力フレームをコピーして前記シミュレータへ出力するとともに、前記振り分け条件に従って、前記入力フレームを前記オペレーティングシステムへ出力する振り分け部と、
前記振り分け部から前記シミュレータに出力された前記入力フレームに第1の処理を行い、出力フレームとしてフィルタ部へ出力する処理部と、
前記第1のフィルタ条件に従って、前記出力フレームを、前記オペレーティングシステムへ出力又は破棄するフィルタ部と、
を備えることを特徴とする情報処理システム。 An information processing system having a simulator and an operating system,
A first filter condition for a frame to be output from the simulator to the operating system is set , and the input frame output to the operating system according to a distribution condition for the input frame input to the information processing system includes the first filter condition . A filter management unit for sending a command to set the distribution condition so that the frame output to the operating system is not included according to the filter condition ;
A sub-filter management unit that sets the distribution condition according to the command from the filter management unit;
A copy unit that copies the input frame input to the information processing system and outputs the copy to the simulator, and a distribution unit that outputs the input frame to the operating system according to the distribution condition;
A processing unit that performs a first process on the input frame output from the distribution unit to the simulator and outputs the output frame to the filter unit;
A filter unit that outputs or discards the output frame to the operating system according to the first filter condition;
An information processing system comprising:
前記振り分け部は、前記振り分け条件に従って、前記入力フレームが前記第1の処理の対象であるとき、前記入力フレームを前記処理部へ振り分け、
前記処理部は、前記入力フレームが前記第1の処理の対象であるとき、前記入力フレームに前記第1の処理を行い、
前記第1のフィルタ条件は、前記出力フレームが前記第1の処理の対象であるか否かによってフィルタ動作を規定し、
前記フィルタ部は、前記第1のフィルタ条件に従って、前記出力フレームが前記第1の処理の対象であるとき、前記出力フレームを前記オペレーティングシステムへ出力し、前記出力フレームが前記第1の処理の対象でないとき、前記出力フレームを破棄する
ことを特徴とする請求項1に記載の情報処理システム。 The distribution condition defines a distribution destination according to whether or not the input frame is a target of the first process,
The distribution unit distributes the input frame to the processing unit when the input frame is a target of the first processing according to the distribution condition,
The processing unit performs the first process on the input frame when the input frame is a target of the first process,
The first filter condition defines a filter operation depending on whether the output frame is a target of the first process,
The filter unit outputs the output frame to the operating system when the output frame is the target of the first process according to the first filter condition, and the output frame is the target of the first process. The information processing system according to claim 1, wherein the output frame is discarded when not.
前記振り分け部は、前記振り分け条件に従って、前記入力フレームが前記第1の処理及び前記第2の処理の対象であるとき、前記入力フレームを前記処理部へ振り分け、前記入力フレームが前記第2の処理の対象でないとき、前記入力フレームを前記オペレーティングシステムへ出力し、
前記第1のフィルタ条件は、前記出力フレームが前記第2の処理の対象であるか否かによってフィルタ動作を規定し、
前記フィルタ部は、前記第1のフィルタ条件に従って、前記入力フレームが前記第2の処理の対象であるとき、前記出力フレームを前記オペレーティングシステムへ出力し、前記入力フレームが前記第2の処理の対象でないとき、前記出力フレームを破棄する
ことを特徴とする請求項2に記載の情報処理システム。 The distribution condition defines a distribution destination depending on whether the input frame is a target of the second process and the first process in the operating system ,
The distribution unit distributes the input frame to the processing unit when the input frame is a target of the first process and the second process according to the distribution condition, and the input frame is the second process. Output the input frame to the operating system ,
The first filter condition defines a filter operation depending on whether the output frame is a target of the second process,
The filter unit outputs the output frame to the operating system when the input frame is the target of the second process according to the first filter condition, and the input frame is the target of the second process. 3. The information processing system according to claim 2, wherein the output frame is discarded when not.
前記振り分け部は、前記振り分け部を制御する前記オペレーティングシステムが備えるフレームコピー機能を用いて前記入力フレームをコピーして前記処理部へ出力し、前記オペレーティングシステムが備えるフィルタ機能を用いて前記第2のフィルタ条件に従って前記入力フレームを通過させ前記オペレーティングシステムへ出力する
ことを特徴とする請求項1乃至3のいずれかに記載の情報処理システム。 The distribution condition includes a second filter condition,
The distribution unit, the copy of the input frame using the frame copy function provided operating system output to the processing unit, the second using a filter function of the operating system comprises controlling the distribution unit 4. The information processing system according to claim 1, wherein the input frame is passed according to a filter condition and output to the operating system .
前記シミュレータから前記オペレーティングシステムへ出力するフレームの第1のフィルタ条件を設定するとともに、前記情報処理システムに入力された入力フレームの振り分け条件によって前記オペレーティングシステムへ出力される前記入力フレームに、前記第1のフィルタ条件によって前記オペレーティングシステムへ出力される前記フレームが含まれないよう、前記振り分け条件を設定する指令を送り、
前記指令に従って、前記振り分け条件を設定し、
前記情報処理システムに入力された前記入力フレームをコピーして前記シミュレータへ出力するとともに、前記振り分け条件に従って、前記入力フレームを前記オペレーティングシステムへ出力し、
前記シミュレータに出力された前記入力フレームに第1の処理を行い、出力フレームとして出力し、
前記第1のフィルタ条件に従って、前記出力フレームを、前記オペレーティングシステムへ出力又は破棄する
ことを特徴とする情報処理方法。 By an information processing system having a simulator and an operating system,
A first filter condition for a frame to be output from the simulator to the operating system is set , and the input frame output to the operating system according to a distribution condition for the input frame input to the information processing system includes the first filter condition . Sending a command to set the sorting condition so that the frame output to the operating system is not included by the filter condition of
According to the command, set the distribution condition,
The input frame input to the information processing system is copied and output to the simulator, and the input frame is output to the operating system according to the distribution condition.
Performing a first process on the input frame output to the simulator, outputting as an output frame;
According to the first filter condition, the output frame is output to the operating system or discarded.
前記第1の出力フレームと前記期待値フレームとが一致したとき、ネットワークから入力される第2の入力フレームに対して指定された第2の処理を行い第2の出力フレームを情報処理装置へ出力するネットワーク・インタフェースカードの処理部に、前記第1の処理を行うように指定する
ことを特徴とする情報処理方法。 Determining whether or not the first output frame output using the information processing method according to claim 5 and an expected value frame expected as a result of the first processing match;
When the first output frame and the expected value frame match, the second processing information processor row physician second output frames specified for the second input frame input from the network information processing how, characterized in that to specify that the processing unit of the network interface card, performs the first process of outputting to.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012166099A JP6011109B2 (en) | 2012-07-26 | 2012-07-26 | Information processing system and information processing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012166099A JP6011109B2 (en) | 2012-07-26 | 2012-07-26 | Information processing system and information processing method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014027470A JP2014027470A (en) | 2014-02-06 |
JP6011109B2 true JP6011109B2 (en) | 2016-10-19 |
Family
ID=50200739
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012166099A Active JP6011109B2 (en) | 2012-07-26 | 2012-07-26 | Information processing system and information processing method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6011109B2 (en) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000235536A (en) * | 1999-02-15 | 2000-08-29 | Fuji Xerox Co Ltd | Data communication system and device |
JP5278677B2 (en) * | 2006-07-06 | 2013-09-04 | 日本電気株式会社 | Cluster system, server cluster, cluster member, cluster member redundancy method, load balancing method |
JP4417993B2 (en) * | 2007-11-21 | 2010-02-17 | 株式会社東芝 | Network virtualization system, relay device, and program |
JP5157586B2 (en) * | 2008-03-28 | 2013-03-06 | 富士通株式会社 | Emulator device |
-
2012
- 2012-07-26 JP JP2012166099A patent/JP6011109B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2014027470A (en) | 2014-02-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11848849B1 (en) | Testing computer networks in real time | |
US8625448B2 (en) | Method and system for validating network traffic classification in a blade server | |
US10897524B1 (en) | Integrated packet generator and checker | |
CN106470136B (en) | Platform test method and platform test system | |
US8626827B1 (en) | Programmatically simulating system conditions | |
US10659571B1 (en) | Network device with integrated packet generators or packet checkers | |
CN112039722B (en) | MQTT protocol simulation method and simulation equipment | |
WO2021164261A1 (en) | Method for testing cloud network device, and storage medium and computer device | |
US11146467B2 (en) | Systems, methods and computer program products for scalable, low-latency processing of streaming data | |
US20160087870A1 (en) | Path setting verification device, control method and program | |
US11076025B1 (en) | Generating network packet centric signatures | |
CN103001846A (en) | Embedded end-to-end delay information for data networks | |
CN105190530B (en) | Transmit the graph data of Hardware Render | |
US20220014457A1 (en) | Methods, systems and computer readable media for stateless service traffic generation | |
CN113691458A (en) | Network packet processing method and device, electronic equipment and storage medium | |
US7433814B2 (en) | Network emulator architecture | |
US8050266B2 (en) | Low impact network debugging | |
Beshay et al. | On the fidelity of single-machine network emulation in linux | |
JP6011109B2 (en) | Information processing system and information processing method | |
CN107181701B (en) | The collection method and device of common gateway interface data | |
JP5201091B2 (en) | Communication device | |
CN112165446A (en) | Network interception method of VxWorks system | |
KR102156600B1 (en) | System and method for creating association between packets collected in network and processes in endpoint computing device | |
CN117294783B (en) | Chip verification method, device and equipment | |
WO2014073050A1 (en) | Information processing device and information processing method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150617 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20160526 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160614 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160802 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20160823 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160905 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6011109 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |