JP6011109B2 - Information processing system and information processing method - Google Patents

Information processing system and information processing method Download PDF

Info

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
Application number
JP2012166099A
Other languages
Japanese (ja)
Other versions
JP2014027470A (en
Inventor
一訓 船橋
一訓 船橋
浩明 井上
浩明 井上
竹中 崇
崇 竹中
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2012166099A priority Critical patent/JP6011109B2/en
Publication of JP2014027470A publication Critical patent/JP2014027470A/en
Application granted granted Critical
Publication of JP6011109B2 publication Critical patent/JP6011109B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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 Document 1. According to the method of Non-Patent Document 1, a new network protocol development environment can be constructed without modifying the OS. FIG. 26 is a block diagram illustrating a configuration example of the information processing apparatus of Non-Patent Document 1. The user level protocol stack 400 of Non-Patent Document 1 acquires a copy of the input packet from the OS 200, performs protocol processing, and then transmits the packet to the application designated as the destination. In this specification, “the destination is the application” means that the socket pair (IP address, port number) assigned to the application matches the destination information of the packet. Hereinafter, a frame whose destination is an application is referred to as an “application (AP) addressed frame”. Note that “user level” means including user-defined processing.

以下では、OS200の構成について詳しく説明する。OS200は、パケットコピー部240、OSフィルタ部220、OS主機能230を備える。   Hereinafter, the configuration of the OS 200 will be described in detail. The OS 200 includes a packet copy unit 240, an OS filter unit 220, and an OS main function 230.

パケットコピー部240は、入力フレームの内、AP宛パケットのみを取得する。そして、パケットコピー部240は、ネットワーク入力フレームが対象プロトコルのパケットであるか判定し、前記条件を満たす場合パケットのコピーを取得し、ユーザレベル・プロトコルスタック400に転送する。入力フレームの判定やコピーは、OSのパケット・キャプチャ機能を用いて実現することができる。   The packet copy unit 240 acquires only the packet addressed to the AP from the input frame. The packet copy unit 240 determines whether the network input frame is a packet of the target protocol, acquires a copy of the packet when the condition is satisfied, and transfers it to the user level protocol stack 400. The determination and copying of the input frame can be realized by using the OS packet capture function.

OSフィルタ部220は、入力フレームをフィルタリングする。そして、OSフィルタ部220は、入力フレームの宛先がアプリケーションであるかどうか判定し、アプリケーション宛である場合、そのパケットを破棄する。これは、OS200からアプリケーション宛に、同一のパケットが、ユーザレベル・プロトコルスタック400とOSフィルタ部220を経由して、二重に届くのを防ぐためである。   The OS filter unit 220 filters the input frame. Then, the OS filter unit 220 determines whether the destination of the input frame is an application, and when it is destined for the application, discards the packet. This is to prevent the same packet from the OS 200 from being sent to the application via the user level protocol stack 400 and the OS filter unit 220.

非特許文献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 Document 1 from the network will be described with reference to FIG.
(Step 1) The OS filter unit 220 discards the AP-addressed packet in the input frame.
(Step 2) The packet copy unit 240 acquires a copy of the packet addressed to the AP from the input frame.
(Step 3) The user level protocol stack 400 performs protocol processing on the frame acquired by the packet copy unit 240.
(Step 4) The user level protocol stack 400 transmits a packet to the AP.
(Step 5) The OS main function 230 analyzes the header of the packet transmitted from the user level protocol stack 400 and transfers it to the designated destination (application).

また、特許文献1には、プリンタ等デバイスのネットワーク接続試験用に、端末デバイス間に挿入するシミュレーションシステム、方法、プログラムが開示されている。特許文献1の方法によれば、端末とデバイス間の大規模複雑な仮想ネットワークを構築し、高精度な接続試験を行うことができる。   Patent Document 1 discloses a simulation system, method, and program inserted between terminal devices for network connection testing of devices such as printers. According to the method of Patent Document 1, it is possible to construct a large-scale complex virtual network between a terminal and a device and perform a highly accurate connection test.

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 Patent Document 1, as in the case of Non-Patent Document 1, when raw network traffic is acquired using the frame copy function of the OS, the same frame is generated twice for both the AP-addressed frame and the non-AP-addressed frame. To do.

そこで、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. .

特開2009−164706(第6頁、図1)JP2009-164706 (6th page, FIG. 1)

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. 15E. 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

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 Patent Document 1 and Non-Patent Document 1, two types of flows occur for both AP-addressed frames and non-AP-addressed frames. If processing is also performed on the duplicated AP-addressed frame and non-AP-addressed frame, problems due to duplicate reception of the same frame by the AP and increase in network traffic due to duplicate transmission of response frames by the OS occur. In the latter case, in the worst case, a problem such as disconnection occurs.

従って、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の実施形態の、情報処理装置の構成を示すブロック図である。It is a block diagram which shows the structure of the information processing apparatus of the 1st Embodiment of this invention. 本発明の第1の実施形態の、OSの内部構成を示すブロック図である。It is a block diagram which shows the internal structure of OS of the 1st Embodiment of this invention. 本発明の第1の実施形態の、OSフィルタ部の設定内容の一例である。It is an example of the setting content of the OS filter part of the 1st Embodiment of this invention. 本発明の第1の実施形態の、OSフィルタ部の設定動作を示す図である。It is a figure which shows the setting operation | movement of the OS filter part of the 1st Embodiment of this invention. 本発明の第1の実施形態のOSの、AP宛入力フレームに対する処理動作を示す図である。It is a figure which shows the processing operation with respect to the input frame addressed to AP of OS of the 1st Embodiment of this invention. 本発明の第1の実施形態のOSの、非AP宛入力フレームに対する処理動作を示す図である。It is a figure which shows the processing operation with respect to the non-AP addressed input frame of OS of the 1st Embodiment of this invention. 本発明の第1の実施形態の、NICシミュレータの内部構成を示すブロック図である。It is a block diagram which shows the internal structure of the NIC simulator of the 1st Embodiment of this invention. 本発明の第1の実施形態のNICシミュレータの、処理部の構成を示すブロック図である。It is a block diagram which shows the structure of the process part of the NIC simulator of the 1st Embodiment of this invention. 本発明の第1の実施形態のNICシミュレータの、処理部の動作を示す図である。It is a figure which shows operation | movement of the process part of the NIC simulator of the 1st Embodiment of this invention. 本発明の第1の実施形態のNICシミュレータの、ユーザフィルタの設定内容の一例である。It is an example of the setting content of the user filter of the NIC simulator of the 1st Embodiment of this invention. 本発明の第1の実施形態のNICシミュレータの、フィルタ管理部の内部構成を示すブロック図である。It is a block diagram which shows the internal structure of the filter management part of the NIC simulator of the 1st Embodiment of this invention. 本発明の第1の実施形態のNICシミュレータの、フィルタ管理部の設定内容の一例である。It is an example of the setting content of the filter management part of the NIC simulator of the 1st Embodiment of this invention. 本発明の第1の実施形態のNICシミュレータの、フィルタ管理部の動作を示す図である。It is a figure which shows operation | movement of the filter management part of the NIC simulator of the 1st Embodiment of this invention. 本発明の第1の実施形態のNICシミュレータの、ユーザフィルタ部の設定動作を示す図である。It is a figure which shows the setting operation | movement of a user filter part of the NIC simulator of the 1st Embodiment of this invention. 本発明の第1の実施形態のNICシミュレータの、AP宛入力フレームに対する処理動作を示す図である。It is a figure which shows the processing operation with respect to the input frame addressed to AP of the NIC simulator of the 1st Embodiment of this invention. 本発明の第1の実施形態のNICシミュレータの、非AP宛入力フレームに対する処理動作を示す図である。It is a figure which shows the processing operation with respect to the non-AP addressed input frame of the NIC simulator of the 1st Embodiment of this invention. 本発明の第1の実施形態の、フィルタ管理部による設定動作を示す図である。It is a figure which shows the setting operation | movement by the filter management part of the 1st Embodiment of this invention. 本発明の第1の実施形態の、AP宛入力フレームに対する処理の全体動作を示す図である。It is a figure which shows the whole operation | movement of the process with respect to the input frame addressed to AP of the 1st Embodiment of this invention. 本発明の第1の実施形態の、非AP宛入力フレームに対する処理の全体動作を示す図である。It is a figure which shows the whole operation | movement of the process with respect to the non-AP addressed input frame of the 1st Embodiment of this invention. 本発明の第1の実施形態の情報処理システムの、必須の構成を示すブロック図である。It is a block diagram which shows the essential structure of the information processing system of the 1st Embodiment of this invention. 本発明の第2の実施形態の情報処理システムの構成を示すブロック図である。It is a block diagram which shows the structure of the information processing system of the 2nd Embodiment of this invention. 本発明の第2の実施形態のNICシミュレータの、フィルタ管理部の内部構成を示すブロック図である。It is a block diagram which shows the internal structure of the filter management part of the NIC simulator of the 2nd Embodiment of this invention. 本発明の第2の実施形態の情報処理システムの、フィルタ設定動作を示す図である。It is a figure which shows filter setting operation | movement of the information processing system of the 2nd Embodiment of this invention. 本発明の第2の実施形態の情報処理システムの、AP宛入力フレームに対する処理の全体動作を示す図である。It is a figure which shows the whole operation | movement of the process with respect to the input frame addressed to AP of the information processing system of the 2nd Embodiment of this invention. 本発明の第2の実施形態の情報処理システムの、非AP宛入力フレームに対する処理の全体動作を示す図である。It is a figure which shows the whole operation | movement of the process with respect to the non-AP addressed input frame of the information processing system of the 2nd Embodiment of this invention. 非特許文献1に記載されている情報処理装置の、構成例を示すブロック図である。FIG. 11 is a block diagram illustrating a configuration example of an information processing apparatus described in Non-Patent Document 1. 非特許文献1に記載されている情報処理装置の、AP宛入力パケットに対する処理動作を示す図である。It is a figure which shows the processing operation with respect to the input packet addressed to AP of the information processing apparatus described in the nonpatent literature 1.

(第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 OS 200, a NIC simulator 100, and an application executed under the management of the OS 200.

NICシミュレータ100は、OS200の管理下でユーザアプリケーションとして実行されるシミュレータである。NICシミュレータ100は、ネットワークからの入力フレームのコピーを入力として取得し、ユーザが処理を書き換え可能なロジックのソフトウェア・シミュレーションを行う。NICシミュレータ100の詳細については、後述する。   The NIC simulator 100 is a simulator that is executed as a user application under the management of the OS 200. The NIC simulator 100 acquires a copy of the input frame from the network as an input, and performs a software simulation of logic that allows the user to rewrite the process. Details of the NIC simulator 100 will be described later.

以上のOS200とNICシミュレータ100の構成により、AP宛フレームはNICシミュレータ100を経由してアプリケーションに転送される。一方の非AP宛フレームに対しては、OS200がフレームごとに指定された処理を行う。以上のような、フレームの宛先によって区分した処理を行うことによって、OSカーネルやアプリケーションの送受信インタフェースを改変することなく、ユーザ規定処理を実行する処理部を含むNICのソフトウェア・シミュレーションを行うことができる。   With the configuration of the OS 200 and the NIC simulator 100 described above, the AP-addressed frame is transferred to the application via the NIC simulator 100. For one non-AP addressed frame, the OS 200 performs a process designated for each frame. By performing the processing classified according to the frame destination as described above, it is possible to perform the software simulation of the NIC including the processing unit that executes the user-defined processing without modifying the OS kernel and the transmission / reception interface of the application. .

以下では、OS200の内部構成、動作を順に説明する。図2は、OS200の内部構成を示すブロック図である。OS200は、フレームコピー部210、OSフィルタ部220、OS主機能230を備える。   Hereinafter, the internal configuration and operation of the OS 200 will be described in order. FIG. 2 is a block diagram showing the internal configuration of the OS 200. The OS 200 includes a frame copy unit 210, an OS filter unit 220, and an OS main function 230.

フレームコピー部210は、ネットワーク入力フレームのコピーを取得し、NICシミュレータ100へ出力する。フレームコピー部210は、パケット・キャプチャと呼ばれるOSの機能を用いて実現できる。   The frame copy unit 210 acquires a copy of the network input frame and outputs it to the NIC simulator 100. The frame copy unit 210 can be realized by using an OS function called packet capture.

OSフィルタ部220は、入力フレームを通過させるか破棄するかを判定し、条件を満たすフレームのみ通過させる。具体的条件は、後述するNICシミュレータ100中のフィルタ管理部110の設定内容に基づき、AP宛フレームは破棄し、非AP宛フレームは通過させるよう設定される。OSフィルタ部220は、一般に、ファイアウォールやパケットフィルタと呼ばれる、OSの機能を用いて実現できる。   The OS filter unit 220 determines whether to pass or discard the input frame, and passes only a frame that satisfies the condition. Specific conditions are set such that the AP-addressed frame is discarded and the non-AP-addressed frame is allowed to pass based on the setting contents of the filter management unit 110 in the NIC simulator 100 described later. The OS filter unit 220 can be realized using an OS function generally called a firewall or a packet filter.

OSフィルタ部220の内容は、例えば図3のように設定される。すなわち、フィルタ処理の対象とする指定プロトコルと、指定プロトコルごとに指定された宛先ポート番号、及び指定されたプロトコル、宛先ポート番号に該当するフレームに対する指定動作が設定される。   The contents of the OS filter unit 220 are set as shown in FIG. 3, for example. In other words, the designated protocol to be filtered, the destination port number designated for each designated protocol, and the designated operation for the frame corresponding to the designated protocol and destination port number are set.

指定プロトコルの例としては、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 OS filter unit 220 is set to discard the frame addressed to the 11111 port by the TCP protocol and the frame addressed to the 22222 port by the UDP protocol, and to pass all frames of other protocols.

図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 OS 200 will be described with reference to FIGS. First, the operation when setting the OS filter unit 220 will be described with reference to FIG. The operation when setting the OS filter unit 220 is as follows.
(1) The filter management unit 110 of the NIC simulator 100 sets a frame to be passed and a frame to be discarded to the OS filter unit 220. Specifically, the OS filter unit 220 is configured to discard the AP-addressed frame and pass the non-AP-addressed frame.

次に、図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 OS 200 processes the AP-addressed frame will be described with reference to FIG. The operation when processing a frame addressed to AP is as follows.
(1) The frame copy unit 210 copies an input frame from the network.
(2) The OS filter unit 220 discards the AP-addressed frame based on the setting by the filter management unit 110.
(3) The frame copied by the frame copy unit 210 is input to the NIC simulator 100. The frames input at this time include not only AP-addressed frames but also non-AP-addressed frames.
(4) The OS main function 230 receives the frame output from the NIC simulator 100 and analyzes the contents of the frame.
(5) The OS main function 230 transfers the AP-addressed frame to the application.

図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 OS 200 is input will be described using FIG. The operation when processing an input frame addressed to a non-AP is as follows.
(1) The frame copy unit 210 copies an input frame from the network.
(2) The OS filter unit 220 passes the non-AP-addressed frame based on the setting by the filter management unit 110.
(3) The OS main function 230 performs a process corresponding to the content of the frame on the frame that has passed through the OS filter unit 220.
(4) The frame copied by the frame copy unit 210 is input to the NIC simulator 100. As described above, the frames input at this time include not only non-AP-addressed frames but also AP-addressed frames.

以上のように、OS200は、AP宛フレームについて、一方ではコピーをNICシミュレータ100に転送し、他方ではOSフィルタ部220でブロックする。非AP宛フレームについては、OS200が処理を行う。   As described above, the OS 200 transfers a copy of the AP-addressed frame to the NIC simulator 100 on the one hand, and blocks it on the OS filter unit 220 on the other hand. The OS 200 processes the non-AP addressed frame.

次に、NICシミュレータ100の内部構成、動作を順に説明する。図7は、NICシミュレータ100の内部構成を示すブロック図である。NICシミュレータ100は、フレーム受信部120、処理部130、ユーザフィルタ部140、フレーム送信部150、フィルタ管理部110を備える。   Next, the internal configuration and operation of the NIC simulator 100 will be described in order. FIG. 7 is a block diagram showing an internal configuration of the NIC simulator 100. The NIC simulator 100 includes a frame reception unit 120, a processing unit 130, a user filter unit 140, a frame transmission unit 150, and a filter management unit 110.

フレーム受信部120は、OS200のフレームコピー部210から入力フレームを受信する。フレーム受信部120は、受信したフレームをバッファリングしてもよい。   The frame receiving unit 120 receives an input frame from the frame copy unit 210 of the OS 200. The frame receiving unit 120 may buffer the received frame.

処理部130は、フレーム受信部120から受け取ったフレームを入力フレームとして、ユーザ規定処理についてのソフトウェア・シミュレーションを行う。あるいは、処理部130は、ハードウェア記述言語で動作が記述されたハードウェアシミュレータでもよい。   The processing unit 130 performs a software simulation for user-defined processing using the frame received from the frame receiving unit 120 as an input frame. Alternatively, the processing unit 130 may be a hardware simulator in which an operation is described in a hardware description language.

処理部130によるソフトウェア・シミュレーションの対象は、NIC内で実行することが予定されているユーザ規定処理である。NIC内におけるユーザ規定処理は、ハードウェアにより実行されても、ソフトウェアにより実行されてもよい。   The target of the software simulation by the processing unit 130 is user-defined processing that is scheduled to be executed in the NIC. User-defined processing in the NIC may be executed by hardware or software.

ユーザ規定処理の内容は、固定の処理であっても、変更可能な処理であってもよい。ユーザ規定処理の内容は、シミュレーションにて処理の正常動作を確認後、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 processing unit 130. The processing unit 130 includes an input / output interface (Interface. I / F) 131 and a verification logic unit 132. The verification logic unit 132 is a functional block that can be rewritten by the user. The user describes the processing to be realized, that is, the contents of the user-defined processing in the verification logic unit 132. The input / output I / F 131 represents input / output connection specifications of the functional block.

図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 processing unit 130 will be described with reference to FIG.
(1) The input / output I / F 131 receives an input frame from the frame receiving unit 120. The input / output I / F 131 converts the input frame into an input signal sequence that satisfies the connection protocol (protocol) of the input / output signal of the verification logic unit 132. The input / output I / F 131 may buffer the input frame.
(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 user filter unit 140 determines whether or not to pass the output frame of the processing unit 130 based on the setting of the filter management unit 110 described later, and passes only the frames that satisfy the condition.

ユーザフィルタ部140の内容は、例えば図10のように設定される。すなわち、フィルタ処理の対象とする指定プロトコルと、指定プロトコルごとに指定された宛先ポート番号、及び指定されたプロトコル、宛先ポート番号に該当するフレームに対する指定動作が設定される。   The contents of the user filter unit 140 are set as shown in FIG. 10, for example. In other words, the designated protocol to be filtered, the destination port number designated for each designated protocol, and the designated operation for the frame corresponding to the designated protocol and destination port number are set.

プロトコルの例としては、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 user filter unit 140 is set to pass a frame addressed to the 11111 port in the TCP protocol and a frame addressed to the 22222 port in the UDP protocol, and discard all frames of other protocols. .

フレーム送信部150は、ユーザフィルタ部140を通過した出力フレームを受け取り、アプリケーション宛に送信する。   The frame transmission unit 150 receives the output frame that has passed through the user filter unit 140 and transmits it to the application.

フィルタ管理部110は、AP宛フレームについて、OSフィルタ部220は破棄し、ユーザフィルタ部140は通過させるよう設定を行う。フィルタ管理部110の内部構成を図11に示す。フィルタ管理部110は、設定情報記憶部111、ユーザフィルタ設定部112、OSフィルタ設定部113を備える。   The filter management unit 110 performs setting so that the OS filter unit 220 discards the AP-addressed frame and the user filter unit 140 passes the frame. The internal configuration of the filter management unit 110 is shown in FIG. The filter management unit 110 includes a setting information storage unit 111, a user filter setting unit 112, and an OS filter setting unit 113.

設定情報記憶部111はアプリケーションの通信ポートのリストを保持する。設定情報記憶部111は、アプリケーションの起動・終了時に更新される。設定情報記憶部111の記憶内容は、テキストファイルでもよい。   The setting information storage unit 111 holds a list of application communication ports. The setting information storage unit 111 is updated when the application is started / finished. The stored content of the setting information storage unit 111 may be a text file.

設定情報記憶部111は、例えば図12のような内容を保持する。すなわち、設定情報記憶部111は、例えばアプリケーションのプロトコル、ポート番号を保持する。図12の例では、アプリケーションのポート番号として、TCPプロトコルにはポート番号11111番が、UDPプロトコルには22222番が割り当てられている。   The setting information storage unit 111 holds contents as shown in FIG. 12, for example. That is, the setting information storage unit 111 holds, for example, an application protocol and a port number. In the example of FIG. 12, the port number 11111 is assigned to the TCP protocol and the number 22222 is assigned to the UDP protocol as the port number of the application.

フィルタ管理部110は、これらの宛先へのフレームを、OSフィルタ部220では破棄され、ユーザフィルタ部140では通過するように設定する。   The filter management unit 110 sets the frames to these destinations so that the OS filter unit 220 discards the frames and the user filter unit 140 passes them.

フィルタ管理部110の動作を、図13を用いて説明する。
(1)設定情報記憶部111は、ユーザフィルタ設定部112に送信される。
(2)ユーザフィルタ設定部112は、設定情報記憶部111に保持されているアプリケーションの通信ポート宛のフレームのみを通すよう、ユーザフィルタ部140の設定を行う。
(3)OSフィルタ設定部113は、フレームの通過及び破棄について、ユーザフィルタ設定部112とは反対の設定を行う。すなわち、設定情報記憶部111に記載されているアプリケーションの通信ポート宛のフレームを破棄するよう、OSフィルタ部220の設定を行う。
The operation of the filter management unit 110 will be described with reference to FIG.
(1) The setting information storage unit 111 is transmitted to the user filter setting unit 112.
(2) The user filter setting unit 112 sets the user filter unit 140 so as to pass only frames addressed to the communication port of the application held in the setting information storage unit 111.
(3) The OS filter setting unit 113 performs settings opposite to those of the user filter setting unit 112 for passing and discarding frames. That is, the OS filter unit 220 is set to discard the frame addressed to the communication port of the application described in the setting information storage unit 111.

図14から図16を用いて、NICシミュレータ100の各部の動作を説明する。まず、図14を用いて、ユーザフィルタ部140の設定を行う際の動作を説明する。ユーザフィルタ部140の設定を行う際の動作は以下の通りである。
(1)フィルタ管理部110は、設定情報記憶部111の保持内容に基づき、ユーザフィルタ部140に対して、通過させるフレーム・破棄するフレームの設定を行う。具体的には、ユーザフィルタ部140がAP宛フレームを通過させ、非AP宛フレームを破棄するように設定する。
The operation of each part of the NIC simulator 100 will be described with reference to FIGS. First, the operation when setting the user filter unit 140 will be described with reference to FIG. The operation when setting the user filter unit 140 is as follows.
(1) Based on the content stored in the setting information storage unit 111, the filter management unit 110 sets a frame to be passed and a frame to be discarded to the user filter unit 140. Specifically, the user filter unit 140 is set to pass the AP-addressed frame and discard the non-AP-addressed frame.

次に、図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 NIC simulator 100 will be described with reference to FIG. The operation when processing the input frame addressed to the AP is as follows.
(1) The frame reception unit 120 receives a frame copied by the frame copy unit 210 of the OS 200 as an input frame.
(2) The processing unit 130 receives the input frame received from the frame receiving unit 120 as input and performs software simulation of user-defined processing.
(3) Based on the settings of the filter management unit 110, the user filter unit 140 passes the AP-addressed frame that is the output frame of the processing unit 130.
(4) The frame transmission unit 150 receives the AP-addressed frame that has passed through the user filter unit 140, and transmits it to the application.
(5) The frame transmitted from the frame transmission unit 150 to the application is transferred to the application via the OS main function 230.

図16を用いて、NICシミュレータ100が入力された非AP宛フレームを処理する際の動作を説明する。非AP宛の入力フレームを処理する際の動作は以下の通りである。
(1)フレーム受信部120は、OS200のフレームコピー部210によりコピーされたフレームを入力フレームとして受信する。
(2)処理部130は、フレーム受信部120から受け取った入力フレームを入力として、ユーザ規定処理のソフトウェア・シミュレーションを行う。
(3)ユーザフィルタ部140は、フィルタ管理部110の設定に基づき、処理部130の出力フレームである非AP宛フレームを破棄する。
The operation when the NIC simulator 100 processes a non-AP addressed frame will be described with reference to FIG. The operation when processing an input frame addressed to a non-AP is as follows.
(1) The frame reception unit 120 receives a frame copied by the frame copy unit 210 of the OS 200 as an input frame.
(2) The processing unit 130 receives the input frame received from the frame receiving unit 120 as input and performs software simulation of user-defined processing.
(3) The user filter unit 140 discards the non-AP addressed frame that is the output frame of the processing unit 130 based on the setting of the filter management unit 110.

以上のように、NICシミュレータ100は、非AP宛フレームについては、ユーザフィルタ部140でブロックする。AP宛フレームについては、アプリケーション宛に送信する。   As described above, the NIC simulator 100 blocks the non-AP addressed frame by the user filter unit 140. The frame addressed to the AP is transmitted to the application.

次に、図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 filter management unit 110 will be described with reference to FIG.
(1) The filter management unit 110 updates the list of the setting information storage unit 111 in the filter management unit 110 when the application is started and ended. Then, the filter management unit 110 performs settings for the user filter unit 140 and the OS filter unit 220 based on the contents held in the setting information storage unit 111.

次に、ネットワークから入力された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 OS filter unit 220 discards the AP-addressed input frame.
(2) The frame copy unit 210 generates a copy of the input frame.
(3) The frame receiving unit 120 acquires the copied input frame and passes it to the processing unit 130.
(4) The processing unit 130 receives the input frame received from the frame receiving unit 120 as input and performs software simulation of user-defined processing.
(5) Based on the setting of the filter management unit 110, the user filter unit 140 passes the AP-addressed frame that is the output frame of the processing unit 130.
(6) The frame transmission unit 150 transmits the frame that has passed through the user filter unit 140 to the application.
(7) The OS 200 processes the frame transmitted from the NIC simulator 100.
(8) The OS 200 analyzes the contents of the frame and transfers the frame to the application.

さらに、ネットワークから入力された非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 OS filter unit 220 passes non-AP-addressed input frames.
(2) The OS main function 230 performs a process corresponding to the content of the frame on the frame that has passed through the OS filter unit 220.
(3) The frame copy unit 210 generates a copy of the input frame.
(4) The frame receiving unit 120 acquires the copied input frame and passes it to the processing unit 130.
(5) The processing unit 130 receives the input frame received from the frame receiving unit 120 as input and performs software simulation of user-defined processing.
(6) Based on the setting of the filter management unit 110, the user filter unit 140 discards the non-AP addressed frame that is the output of the processing unit 130.

本実施形態の効果について説明する。本実施形態では、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 OS 200. In this way, the same frame does not occur twice for the application and the OS. Therefore, there is an effect that the software simulation of the NIC and the server including the NIC can be performed without causing a problem caused by the duplicated frame.

さらに、本実施形態では、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 OS 200 functions as a distribution unit that distributes the transfer destination of the input frame. That is, the OS 200 classifies the frame into an AP-addressed frame or a non-AP-addressed frame. Then, the OS 200 transfers the AP-addressed frame to the processing unit 130 via the frame receiving unit 120. In addition, the OS 200 transfers the non-AP addressed frame to the OS main function 230 and performs a predetermined process. The possessed functions other than the distribution function of the OS 200 are not particularly limited. Therefore, the OS 200 can be generalized as a distribution unit.

なお、フレーム受信部120及びフレーム送信部150は、フレームの受信及び送信の機能を明示するために独立した機能ブロックとして付け加えたものである。従って、フレーム受信部120及びフレーム送信部150は、本発明の必須の構成要素ではない。   The frame receiving unit 120 and the frame transmitting unit 150 are added as independent functional blocks in order to clearly indicate the function of receiving and transmitting a frame. Therefore, the frame receiving unit 120 and the frame transmitting unit 150 are not essential components of the present invention.

以上から、本実施形態の情報処理装置に必須の構成要素は、フィルタ管理部、振り分け部、処理部、フィルタ部である。図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 information processing apparatus 20 having only the components essential for the present invention.

フィルタ管理部21は、振り分け部22によるフレームの振り分け条件、及びフィルタ部24によるフレームのフィルタ条件を設定する。   The filter management unit 21 sets frame distribution conditions by the distribution unit 22 and frame filter conditions by the filter unit 24.

振り分け部22は、フィルタ管理部21に設定されたフレームの振り分け条件に従って、外部から入力された入力フレームを、処理部23又は外部へ出力する。   The distribution unit 22 outputs an input frame input from the outside to the processing unit 23 or the outside in accordance with the frame distribution condition set in the filter management unit 21.

処理部23は、振り分け部22からの入力フレームに所定の処理を行い、出力フレームとしてフィルタ部24へ出力する。   The processing unit 23 performs predetermined processing on the input frame from the distribution unit 22 and outputs the result to the filter unit 24 as an output frame.

フィルタ部24は、フィルタ管理部21に設定されたフレームのフィルタ条件に従って、処理部からの出力フレームを、外部へ出力又は破棄する。   The filter unit 24 outputs or discards the output frame from the processing unit to the outside according to the filter condition of the frame set in the filter management unit 21.

以上のブロックを備えることによって、情報処理装置20は、振り分け部22によって処理部23へ振り分けられた入力フレームに対してのみ処理を行うことができる。そして、所定の条件を満たす出力フレームのみが外部に出力される。   By providing the above blocks, the information processing apparatus 20 can perform processing only on the input frames distributed to the processing unit 23 by the distribution unit 22. Only output frames that satisfy a predetermined condition are output to the outside.

このように、情報処理装置20は、ある条件を満たすフレームについてのみ所望の処理を行い、同一フレームが二重に出力されることがない。   In this way, the information processing apparatus 20 performs a desired process only for a frame that satisfies a certain condition, and the same frame is not output twice.

本実施形態の情報処理装置20は、FPGA−NIC等を用いてユーザ規定処理を行い、その後、その結果に対してさらに情報処理装置で追加の処理を行う情報処理システムの、動作の検証に利用することができる。すなわち、AP宛フレームに対して行われたユーザ規定処理が所望の処置であるか否かは、情報処理装置20の出力フレームを期待値と比較することによって、確認することができる。出力フレームが期待値を一致したならば、情報処理装置20によって処理されたユーザ規定処理が所望の処理であることがわかる。   The information processing apparatus 20 according to the present embodiment performs user-defined processing using an FPGA-NIC or the like, and then uses it for verifying the operation of the information processing system in which additional processing is performed on the result by the information processing apparatus. can do. That is, whether or not the user-defined process performed on the AP-addressed frame is a desired action can be confirmed by comparing the output frame of the information processing apparatus 20 with the expected value. If the output frame matches the expected value, it can be seen that the user-defined process processed by the information processing apparatus 20 is the desired process.

従って、動作が確認されたユーザ規定処理を、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 simulation server 1 that executes the NIC simulator 500 and an actual operation server 2 that executes an application. Hereinafter, detailed configurations of the simulation server 1 and the actual operation server 2 will be described.

実動作用サーバ2では、OS200の管理下のもとに、アプリケーション300、副フィルタ管理部310を実行する。   In the actual operation server 2, the application 300 and the sub filter management unit 310 are executed under the management of the OS 200.

OS200は、OS主機能230、OSフィルタ部220を備える。OSフィルタ部220については、第1の実施形態のOSフィルタ部220と同じ機能を実行するため、説明を省略する。   The OS 200 includes an OS main function 230 and an OS filter unit 220. Since the OS filter unit 220 performs the same function as the OS filter unit 220 of the first embodiment, the description thereof is omitted.

副フィルタ管理部310は、OSフィルタ部220の設定を行う。設定内容は、シミュレーション用サーバ1のフィルタ管理部110の要求に基づく。副フィルタ管理部310は、サーバ2からのリモートログインを可能にするサービスでもよい。   The sub filter management unit 310 sets the OS filter unit 220. The setting contents are based on a request from the filter management unit 110 of the simulation server 1. The secondary filter management unit 310 may be a service that enables remote login from the server 2.

シミュレーション用サーバ1では、OS600の管理下のもとに、NICシミュレータ500を実行する。シミュレーション用サーバ1のNICは、プロミスキャスモード、すなわち、到着する全フレームを受信するモードに設定される。なお、図21にNICは図示されていないが、NICはネットワークとサーバ1との間に存在する。   In the simulation server 1, the NIC simulator 500 is executed under the management of the OS 600. The NIC of the simulation server 1 is set to a promiscuous mode, that is, a mode for receiving all incoming frames. Although the NIC is not shown in FIG. 21, the NIC exists between the network and the server 1.

OS600はフレームコピー部610を備える。フレームコピー部610は、シミュレーション用サーバ1、及び実動作用サーバ2が接続されているネットワーク上を流れるトラフィックの内、シミュレーション用サーバ1のNICに入力されるフレームのみをコピーして、NICシミュレータ500に渡す。すなわち、宛先がサーバ2であるフレーム及び宛先がブロードキャストアドレスのフレームコピーを取得する。   The OS 600 includes a frame copy unit 610. The frame copy unit 610 copies only the frame input to the NIC of the simulation server 1 from the traffic flowing on the network to which the simulation server 1 and the actual operation server 2 are connected. To pass. That is, the frame whose destination is the server 2 and the frame copy whose destination is the broadcast address are acquired.

NICシミュレータ500は、フレーム受信部120、処理部130、ユーザフィルタ部140、フレーム書換部560、フレーム送信部150、フィルタ管理部110を含む。フレーム受信部120、処理部130、ユーザフィルタ部140、及びフレーム送信部150については、第1の実施形態のものと同じ機能を実行するため、説明は省略する。   The NIC simulator 500 includes a frame reception unit 120, a processing unit 130, a user filter unit 140, a frame rewriting unit 560, a frame transmission unit 150, and a filter management unit 110. The frame reception unit 120, the processing unit 130, the user filter unit 140, and the frame transmission unit 150 perform the same functions as those in the first embodiment, and thus description thereof is omitted.

フレーム書換部560は、ユーザフィルタ部140を通過したAP宛フレームについて、送信元アドレスをシミュレーション用サーバ1のアドレスに書き換える。   The frame rewriting unit 560 rewrites the transmission source address with the address of the simulation server 1 for the AP-addressed frame that has passed through the user filter unit 140.

フィルタ管理部510は、AP宛フレームについて、実動作用サーバ2のOSフィルタ部220は破棄し、NICシミュレータ500中のユーザフィルタ部140は通過させるよう設定を行う。フィルタ管理部510の内部構成を図22に示す。フィルタ管理部510は、設定情報記憶部111、ユーザフィルタ設定部112、リモートOSフィルタ設定部513を備える。   The filter management unit 510 performs setting so that the OS filter unit 220 of the actual operation server 2 discards the AP-addressed frame, and the user filter unit 140 in the NIC simulator 500 passes. The internal configuration of the filter management unit 510 is shown in FIG. The filter management unit 510 includes a setting information storage unit 111, a user filter setting unit 112, and a remote OS filter setting unit 513.

設定情報記憶部111とユーザフィルタ設定部112は、第1の実施形態のものと同じ機能を実行する。設定情報記憶部111はアプリケーションの通信ポートのリストを保持する。設定情報記憶部111は、アプリケーションの起動・終了時に更新される。   The setting information storage unit 111 and the user filter setting unit 112 execute the same functions as those in the first embodiment. The setting information storage unit 111 holds a list of application communication ports. The setting information storage unit 111 is updated when the application is started / finished.

ユーザフィルタ設定部112は、設定情報記憶部111に記載されているAP宛フレームのみを通すよう、ユーザフィルタ部140の設定を行う。   The user filter setting unit 112 sets the user filter unit 140 so that only frames addressed to the AP described in the setting information storage unit 111 are passed.

リモートOSフィルタ設定部513は、実動作用サーバ2のOSフィルタ部220に対して、フレームの通過及び破棄について、ユーザフィルタ設定部112とは反対の設定を行う。すなわち、リモートOSフィルタ設定部513は、実動作用サーバ2の副フィルタ管理部310に指令を送り、OSフィルタ部220が設定情報記憶部111に記載されているAP宛フレームを破棄するように設定させる。   The remote OS filter setting unit 513 performs settings opposite to the user filter setting unit 112 with respect to the passing and discarding of frames with respect to the OS filter unit 220 of the actual operation server 2. That is, the remote OS filter setting unit 513 sends a command to the sub-filter management unit 310 of the actual operation server 2 so that the OS filter unit 220 discards the AP-addressed frame described in the setting information storage unit 111. Let

次に図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 filter management unit 510 updates the list in the setting information storage unit 111 at the time of starting and ending the application. Then, the filter management unit 510 sets the user filter unit 140 to pass only the AP-addressed frame.
(2) The filter management unit 510 performs a setting opposite to the user filter unit, that is, a setting for discarding the AP-addressed frame, in the OS filter unit 220 in the sub filter management unit 310 on the actual operation server 2. Send a request.
(3) The sub filter management unit 310 sets the OS filter unit 220 to discard the AP-addressed frame in accordance with a request from the filter management unit 110.

次に、図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 OS filter unit 220 discards the AP-addressed input frame.
(2) The frame copy unit 610 generates a copy of a frame whose destination is the actual operation server 2 and a frame whose destination is a broadcast address among the input frames.
(3) The frame receiving unit 120 acquires the copied input frame and passes it to the processing unit 130. Here, the frame receiving unit 120 may buffer the input frame.
(4) The processing unit 130 performs software simulation of user-defined processing using the input frame received from the frame receiving unit 120 as an input.
(5) Based on the setting of the filter management unit 510, the user filter unit 140 passes the AP-addressed frame that is the output of the processing unit 130.
(6) The frame rewriting unit 560 rewrites the transmission source address of the frame that has passed through the user filter unit 140 with the address of the simulation server 1 and passes it to the frame transmission unit 150.
(7) The frame transmission unit 150 transmits the frame received from the frame rewriting unit 560 to the application of the actual operation server 2.
(8) The frame transmitted from the NIC simulator 500 of the simulation server 1 passes through the OS filter unit 220 of the actual operation server 2.
(9) The OS 200 analyzes the contents of the frame and transfers the frame to the application 300.
(10) The application 300 receives a frame.

さらに、図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 OS filter unit 220 passes the non-AP addressed frame.
(2) The OS main function 230 performs a process corresponding to the content of the frame on the non-AP addressed frame that has passed through the OS filter unit 220.
(3) The frame copy unit 610 generates a copy of the frame whose destination is the actual operation server 2 and the frame whose destination is the broadcast address among the input frames.
(4) The frame receiving unit 120 acquires the copied input frame and passes it to the processing unit 130.
(5) The processing unit 130 performs software simulation of user-defined processing using the input frame received from the frame receiving unit 120 as an input.
(6) The user filter unit 140 discards the non-AP addressed frame that is the output of the processing unit 130 based on the setting of the filter management unit 510.

第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 SYMBOLS 1 1st communication apparatus 100, 500 NIC simulator 110 Filter management part 111 Setting information storage part 112 User filter setting part 113 OS filter setting part 120 Frame reception part 130 Processing part 140 User filter part 150 Frame transmission part 200, 600 OS
210 Frame Copy Unit 220 OS Filter Unit 230 OS Main Function 240 Packet Copy Unit 300 Application 310 Sub Filter Management Unit 400 User Level Protocol Stack 510 Filter Management Unit 513 Remote OS Filter Setting Unit 560 Frame Rewrite Unit 610 Frame Copy Unit

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の処理の対象でないとき、前記出力フレームを破棄する
ことを特徴とする請求項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.
前記振り分け条件は、前記入力フレームが前記オペレーティングシステムにおける第2の処理及び前記第1の処理の対象であるか否かによって振り分け先を規定し、
前記振り分け部は、前記振り分け条件に従って、前記入力フレームが前記第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のフィルタ条件を含み、
前記振り分け部は、前記振り分け部を制御する前記オペレーティングシステムが備えるフレームコピー機能を用いて前記入力フレームをコピーして前記処理部へ出力し、前記オペレーティングシステムが備えるフィルタ機能を用いて前記第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.
請求項5に記載の情報処理方法を用いて出力された前記第1の出力フレームと、前記第1の処理の結果として期待される期待値フレームとが一致するか否かを判定し、
前記第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.
JP2012166099A 2012-07-26 2012-07-26 Information processing system and information processing method Active JP6011109B2 (en)

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)

* Cited by examiner, † Cited by third party
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

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