JP2019106578A - 情報処理装置、情報処理システム、情報処理方法、及びプログラム - Google Patents

情報処理装置、情報処理システム、情報処理方法、及びプログラム Download PDF

Info

Publication number
JP2019106578A
JP2019106578A JP2017236488A JP2017236488A JP2019106578A JP 2019106578 A JP2019106578 A JP 2019106578A JP 2017236488 A JP2017236488 A JP 2017236488A JP 2017236488 A JP2017236488 A JP 2017236488A JP 2019106578 A JP2019106578 A JP 2019106578A
Authority
JP
Japan
Prior art keywords
packet
unit
information processing
packets
transmission
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.)
Granted
Application number
JP2017236488A
Other languages
English (en)
Other versions
JP7004900B2 (ja
Inventor
英達 吉田
Hidetatsu Yoshida
英達 吉田
中村 亘
Wataru Nakamura
亘 中村
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2017236488A priority Critical patent/JP7004900B2/ja
Priority to US16/211,286 priority patent/US10911983B2/en
Publication of JP2019106578A publication Critical patent/JP2019106578A/ja
Application granted granted Critical
Publication of JP7004900B2 publication Critical patent/JP7004900B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/06Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information
    • H04W28/065Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information using assembly or disassembly of packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • H04L43/0847Transmission error
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】パケットの送信効率を向上させることができる情報処理装置を提供する。【解決手段】登録指示に応じて所定の数のパケットをパケットプールに登録するパケット登録部と、パケットプールに登録されているパケットを試験対象機器へ送信するNICに送信する送信APIと、NICにおいて試験対象機器に送信していないパケットを試験対象機器に送信し終えるまでのCPU余剰時間を算出し、算出したCPU余剰時間がパケットプールの書き替え時間より長いと判定した場合、登録指示をパケット登録部に送信する送信タスク管理部とを有し、NICが試験対象装置にパケットを送信し終えるまでの間に、パケットプールにおける所定の数のパケットを書き替えられるようにする。【選択図】図3

Description

本発明は、情報処理装置、情報処理システム、情報処理方法、及びプログラムに関する。
パケット負荷生成装置は、パケットを試験対象機器に送信することで試験対象機器に負荷をかけ、試験対象機器のネットワークに係る通信性能評価に利用されている。パケット負荷生成装置の動作を説明する。パケット負荷生成装置は、初めに、送信するパケットを記憶するパケット負荷生成装置内のパケットプールの容量に基づいて、登録できる限りの複数のパケットをパケットプールに登録する。次に、パケット負荷生成装置は、パケットプールに登録されている複数のパケットの内、所定の数のパケットをネットワークインターフェースカード(NIC)内の送信バッファへ送信する。そして、NICが、送信バッファに格納されているパケットを試験対象機器に送信する。
パケット負荷生成装置は、パケットをパケットプールからNIC内の送信バッファに送信する処理と、送信バッファに格納されているパケットを試験対象機器に送信する処理とを繰り返し行い、パケットプールに登録したパケットを試験対象機器に送信する。そして、パケット負荷生成装置は、複数のパケットの送信が完了すると、登録できる限りの複数のパケットをパケットプールに登録し直す。その後、パケット負荷生成装置は、パケットをパケットプールからNIC内の送信バッファに送信する処理と、送信バッファに格納されているパケットを試験対象機器に送信する処理とを繰り返すことで、試験対象機器にパケットを送信し、試験対象機器に負荷をかけている。
特表2003−524324号公報 特開2012−156853号公報
前述したパケット負荷生成装置は、パケットプールに登録したパケットのすべてをNIC内の送信バッファに送信した後に、再度、パケットプールの容量に基づく複数のパケットをパケットプールに登録している。そのため、パケットプールへのパケットの再度の登録に時間を要し、登録を行っている間に、NICから試験対象機器に送信するパケットがなくなってしまう状況が生じることがある。NICから試験対象機器に送信するパケットがなくなってしまうと、試験対象機器にパケットが送信されない期間が生じ、パケットの送信効率が低下することになる。1つの側面では、本発明の目的は、パケットの送信効率を向上させることができる情報処理装置を提供することにある。
情報処理装置の一態様は、パケットが登録される記憶部と、登録指示に応じて所定の数のパケットを記憶部に登録する登録部と、記憶部に登録されているパケットを、他の情報処理装置へ送信する通信処理部に送信する送信部と、登録指示を登録部に送信する管理部とを有する。管理部は、通信処理部において他の情報処理装置に送信していないパケットを他の情報処理装置に送信し終えるまでの第1の時間を算出し、算出した第1の時間が記憶部への所定の数のパケットの登録にかかる第2の時間より長いと判定した場合、登録指示を送信する。
発明の一態様においては、情報処理装置からのパケットの送信効率を向上させることができる。
図1は、第1の実施形態における情報処理装置のハードウェア構成例を示す図である。 図2は、第1の実施形態における情報処理装置のソフトウェア構成例を示す図である。 図3は、第1の実施形態における情報処理装置の機能構成例を示す図である。 図4は、送信パケット情報の例を示す図である。 図5は、パケットプール書き替え情報の例を示す図である。 図6は、パケット送信API実行時間情報の例を示す図である。 図7は、書き替え実行時間情報の例を示す図である。 図8は、第1の実施形態におけるパケット送信制御処理の例を示すフローチャートである。 図9(A)及び図9(B)は、情報処理装置が送信するパケットを説明する図である。 図10は、書き替え後のパケットプール書き替え情報の例を示す図である。 図11(A)及び図11(B)は、パケットフォーマット及び書き替え対象フィールドを説明する図である。 図12は、第2の実施形態におけるパケット送信制御処理の例を示す図である。 図13は、第2の実施形態における書き替えパケット数算出処理の例を示すフローチャートである。 図14は、第3の実施形態における情報処理システムの構成例を示す図である。
以下、本発明の実施形態を図面に基づいて説明する。
(第1の実施形態)
本発明の第1の実施形態について説明する。
図1は、第1の実施形態における情報処理装置のハードウェア構成例を示す図である。図1に示す情報処理装置110は、CPU(Central Processing Unit)111とメモリ112とハードディスクドライブ(HDD)113とネットワークインターフェースカード(NIC)114と入力部115と出力部116とがバス117で接続されている。本実施形態における情報処理装置は、図1に示す構成に限定されず、記録媒体用のドライブ装置等を有していてもよい。
オペレーティングシステム(OS)及び各種処理を実施するためのアプリケーションプログラムは、HDD113に格納されており、CPU111により実行される際にはHDD113からメモリ112に読み出される。CPU111は、アプリケーションプログラムの処理内容に応じてNIC114、出力部116等を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ112に格納されるが、HDD113に格納されるようにしてもよい。
NIC114は、例えばネットワークの通信回線130を介して試験対象機器120と接続され、パケット負荷生成装置として動作する際に情報処理装置110から試験対象機器120に対するパケットを送信する。試験対象機器120は、他の情報処理装置の一例であり、例えばファイアウォール、ロードバランサ、侵入検知システム(IDS:Intrusion Detection System)や侵入防御システム(IPS:Intrusion Prevention System)などのネットワーク監視装置等である。また、試験対象機器120は、例えばスイッチ、ルータ、NAT(Network Address Translation)等のネットワーク機器であってもよい。入力部115は、例えばユーザ操作に応じて入力される情報を受け付ける。また、出力部116は、情報処理装置110の外部に情報を出力する。
本例では、パケット負荷生成アプリケーションのプログラムは、例えばコンピュータ読み取り可能な可搬型の記録媒体から読み出されてHDD113にインストールされる。インターネットやイーサネット(登録商標)等のネットワーク及びNIC114を経由してHDD113にインストールされる場合もある。本実施形態における情報処理装置110は、CPU111、メモリ112等のハードウェアとOS及びアプリケーションプログラム等のソフトウェアとが有機的に協働することにより、パケット負荷生成装置としての機能を含む各種機能を実現する。
図2は、第1の実施形態における情報処理装置のソフトウェア構成例を示す図である。図2には、パケット負荷生成の処理に係る構成を示している。本実施形態における情報処理装置のCPU210において、システム全体を管理するOS211、パケット負荷生成の処理を実施するパケット負荷生成アプリケーション212、及びNICを制御するためのNICドライバ215が動作する。
パケット負荷生成アプリケーション212は、ユーザ制御インターフェース213によりユーザからの各種設定や各種指示等を受け付け、それに応じた処理等を実行する。また、パケット負荷生成アプリケーション212は、パケット負荷生成の処理において、送信するパケットを記憶するパケットプールについての制御や管理を行ったり、NICドライバ215に対する指示を行ったりする。
NICドライバ215は、パケット負荷生成アプリケーション212からの指示に応じて、送信パケットの情報をNIC220の送信ディスクリプタ(キュー)221に格納し、パケットプール214からNIC220の送信バッファ222へのパケットの転送を要求する。また、NICドライバ215は、パケット負荷生成アプリケーション212からの指示に応じて、送信ディスクリプタ(キュー)221から送信パケットの残留数(キュー残留数)を取得してパケット負荷生成アプリケーション212に提供する。
図3は、第1の実施形態における情報処理装置の機能構成例を示す図である。図3には、パケット負荷生成の処理に係る構成を示している。本実施形態における情報処理装置は、パケット負荷生成部310、ドライバ部330、及びNIC350を有する。
パケット負荷生成部310は、送信タスク管理部311、パケット登録部312、送信アプリケーションプログラミングインターフェース(API)コール部313、パケットプール314、管理情報保持部315を有する。また、パケット負荷生成部310は、送信ディスクリプタ監視部316、送信パケット情報保持部317、パケットプール書き替え情報保持部318、書き替え実行時間保持部319、及び送信API実行時間保持部320を有する。
ドライバ部330は、パケットの送信に係る送信API331及びキュー残留数の取得に係る残留数取得API332を有する。NIC350は、通信処理部の一例であり、送信パケットの情報を格納する送信ディスクリプタ(キュー)351及び送信するパケットを格納する送信バッファ352を有する。
送信タスク管理部311は、パケット負荷生成の処理におけるパケットの送信に係る制御を行う。送信タスク管理部311は、管理部の一例である。送信タスク管理部311は、例えば、送信するパケットの登録(書き替え)をパケット登録部312に指示したり、パケットの送信実行を送信APIコール部313に指示したりする。送信タスク管理部311は、送信ディスクリプタ監視部316及び送信API実行時間保持部320から取得した情報に基づいて算出したCPU余剰時間が、書き替え実行時間保持部319から取得したパケットプールの書き替え時間より長いと判定した場合、送信するパケットの登録(書き替え)をパケット登録部312に指示する。CPU余剰時間とは、NIC350において、未送信のパケットを試験対象機器に送信し終えるまでの時間である。
パケット登録部312は、送信パケット情報保持部317が保持している送信パケット情報に基づいて、送信するパケットをパケットプール314に登録する。また、パケット登録部312は、パケットプール314へのパケットの登録(書き替え)に伴って、管理情報保持部315が保持するパケット管理情報、及び書き替え情報保持部318が保持するパケットプール書き替え情報を更新する。パケット登録部312は、登録部の一例である。パケット登録部312によるパケットプール314へのパケットの登録(書き替え)は、パケット負荷生成の処理の開始時(初期時)、及び送信タスク管理部311からの登録指示を受信した場合に実行される。なお、本例では、送信タスク管理部311からの登録指示に応じたパケットプール314の書き替えでは、一例として1回の登録指示に対して10パケット分を書き替えるものとする。
送信APIコール部313は、送信タスク管理部311からのパケットの送信実行指示を受けて、ドライバ部330の送信API331をコールする(呼び出す)。パケットプール314は、記憶部の一例であり、送信するパケットを記憶する。パケットプール314が記憶できるパケットの数は任意であり、本例では一例として最大で1000個のパケットを記憶できるものとする。管理情報保持部315は、パケットプールのリードインデックス等のパケット管理情報を保持する。送信ディスクリプタ監視部316は、ドライバ330の残留数取得API332を介して、送信ディスクリプタ(キュー)351から送信パケットの残留数(キュー残留数)を取得する。
送信パケット情報保持部317は、ユーザが設定する送信パケット情報を保持する。送信パケット情報の一例を図4に示す。本例では、送信パケット情報として、送信パケットのパケット長、レイヤ4(L4)プロトコルの種別、送信元IP(Internet Protocol)アドレス、宛先IPアドレス、送信元ポート番号、宛先ポート番号、及びそれらの巡回定義の情報を格納する。また、送信パケット情報として、情報処理装置からのパケットの送信レートの情報を格納する。この送信パケット情報に従って、パケットプール314へ送信パケットが格納される。
送信元IPアドレス、宛先IPアドレス、送信元ポート番号、及び宛先ポート番号は、それぞれ設定可能な値の最小値及び最大値を規定し、巡回定義に従って、送信パケットの送信元IPアドレス、宛先IPアドレス、送信元ポート番号、及び宛先ポート番号が変更される。例えば、図4に示すように、巡回定義がインクリメントである場合、送信パケットの送信元IPアドレス、宛先IPアドレス、送信元ポート番号、及び宛先ポート番号のすべてをパケット毎に1ずつ増加させる。なお、本例では、送信元IPアドレス、宛先IPアドレス、送信元ポート番号、及び宛先ポート番号のすべてをパケット毎に1ずつ増加させるようにするが、送信元IPアドレス、宛先IPアドレス、送信元ポート番号、及び宛先ポート番号の少なくとも1つの要素をパケット毎に1ずつ増加させるようにしてもよい。
パケットプール書き替え情報保持部318は、パケットプール書き替え情報を保持する。パケットプール書き替え情報は、パケットプール314におけるパケットの書き替えが、どこまで実行されたかを示すものである。パケットプール書き替え情報の一例を図5に示す。本例では、パケットプール書き替え情報として、パケットプール314に登録した送信パケットの送信元IPアドレス、宛先IPアドレス、送信元ポート番号、及び宛先ポート番号の最大値、1回の書き替えパケット数、及び次の書き替え先を示す書き替え先プール内インデックスを格納する。このパケットプール書き替え情報は、パケットプール314の書き替えに応じて、パケット登録部312により更新される。
書き替え実行時間保持部319は、パケットプールの書き替え実行時間情報を保持する。書き替え実行時間情報の一例を図7に示す。本例では、書き替え実行時間情報として、パケットプール314における10個分の送信パケットの書き替え処理を実行するのに要した時間を、最近の10件分記録する。CPU余剰時間の算出時には、書き替え実行時間保持部319に記録した書き替え実行時間の最大値が使用される。
送信API実行時間保持部320は、パケット送信API実行時間情報を保持する。パケット送信API実行時間情報の一例を図6に示す。本例では、パケット送信API実行時間情報として、送信API331による送信処理を実行するのに要した時間を、最近の10件分記録する。CPU余剰時間の算出時には、送信API実行時間保持部320に記録した送信API実行時間の最大値が使用される。
なお、CPU余剰時間の算出時に、書き替え実行時間の最大値や送信API実行時間の最大値を使用するものとしているが、これに限定されるものではない。書き替え実行時間保持部319に記録した書き替え実行時間や送信API実行時間保持部320に記録した送信API実行時間を参照して得られる任意の値も適用でき、例えば書き替え実行時間や送信API実行時間における平均値や中間値を使用するようにしてもよい。また、書き替え実行時間及び送信API実行時間で使用する値は同じ種類のものでなくともよく、例えば一方が最大値でもう一方が平均値であるような例も可能である。
図3に戻り、送信API331は、送信パケットの情報をNIC350の送信ディスクリプタ(キュー)351に格納するとともに、送信するパケットをパケットプール314からNIC350の送信バッファ352に転送する。送信API331は、送信部の一例である。送信API331が1回のコール(呼び出し)によってNIC350に転送する送信パケット数は任意であり、本例では一例として送信API331がコール(呼び出し)されると32個分の送信パケットがNIC350に転送されるものとする。なお、パケットプール314からNIC350の送信バッファ352へのパケットの転送は、例えばNIC350によるDMA(Direct Memory Access)転送で行われる。
残留数取得API332は、NIC350の送信ディスクリプタ(キュー)351から送信パケットの残留数(キュー残留数)を取得して、送信ディスクリプタ監視部316に通知する。
次に、第1の実施形態におけるパケット負荷生成に係るパケット送信制御について説明する。図8は、第1の実施形態における情報処理装置が実行するパケット送信制御処理の例を示すフローチャートである。なお、以下の説明では、一例としてパケットプール314は1000個分のパケットを格納可能であり、パケットプール314の書き替え処理では1回で10パケット分を書き替えるものとする。また、送信API331に対する1回のコール(呼び出し)で、32個分のパケットがNIC350に転送されるものとする。
試験対象機器に対して、どのようなパケット負荷をかけるかを送信パケット情報としてユーザが設定し、設定された送信パケット情報が送信パケット情報保持部317に格納される。そして、ユーザ操作によりパケット負荷生成に係るパケット送信制御処理が開始される。
パケット送信制御処理を開始すると、ステップS801にて、パケット登録部312は、送信パケット情報保持部317が保持している送信パケット情報に基づいて、試験対象機器に送信するパケットをパケットプール314に格納する。また、パケット登録部312は、書き替え情報保持部318が保持しているパケットプール書き替え情報を更新する。このステップS801では、初期時でありパケットプール314は空であるので、パケット登録部312は、パケットプール314に1000パケットを格納する。
例えば、図4に示した送信パケット情報が送信パケット情報保持部317に保持されている場合、パケットプール314には、図9(A)に示すような1000個のパケットが格納される。すなわち、送信パケットのパケット長が64バイト、レイヤ4(L4)プロトコルがTCPで、送信元IPアドレスが192.168.0.1〜192.168.3.232、宛先IPアドレスが192.170.1.1〜192.170.4.232、送信元ポート番号が40001〜41000、宛先ポート番号が50001〜51000に設定されたパケットが格納される。また、書き替え情報保持部318が保持しているパケットプール書き替え情報は、図5に示したように更新される。
続いて、ステップS802にて、パケット登録部312は、送信タスク管理部311からの登録指示に従って、パケットプール314における10パケットをダミーで書き替える処理を行い、パケットプールの書き替え時間を測定する。そして、測定結果として得られたパケットプールの書き替え時間を書き替え実行時間情報として書き替え実行時間保持部319に記録する。
次に、ステップS803にて、送信タスク管理部311が送信APIコール部313にパケットの送信実行を指示し、それを受けた送信APIコール部313が送信API331をコールする(呼び出す)。これにより、送信API331が、32パケット分の送信パケットの情報をNIC350の送信ディスクリプタ(キュー)351に格納(エンキュー)し、対応する32パケットがパケットプール314からNIC350の送信バッファ352に転送される。また、送信API331の処理実行時間が測定され、測定結果として得られた送信API実行時間をパケット送信API実行時間情報として送信API実行時間保持部320に記録する。送信API331によりパケットが転送されたNIC350は、その後、送信ディスクリプタ351からデキューし、送信バッファ352上のパケットを試験対象機器120が接続される通信回線130上に順次送信する。
次に、ステップS804にて、送信タスク管理部311は、送信ディスクリプタ監視部316及び残留数取得API332を介して、送信ディスクリプタ(キュー)351からNIC350における送信パケットの残留数(キュー残留数)を取得する。
続いて、ステップS805にて、送信タスク管理部311は、NIC350において残留している未送信のパケットを試験対象機器に送信し終えるまでの時間であるCPU余剰時間を算出する。送信タスク管理部311は、ステップS805において取得したキュー残留数と、送信API実行時間保持部320から取得する送信API実行時間に基づいて、下記の式を用いてCPU余剰時間を算出する。なお、ここでは送信API実行時間は、送信API実行時間保持部320に記録されている送信API実行時間の内の最大値を用いるものとする。
(CPU余剰時間)=
(キュー残留数)×(1パケットのデキュー時間)−(送信API実行時間)
ここで、1パケットのデキュー時間は、NIC350において1パケットを送信する時間であり、下記の式に基づいて算出される各規格に準拠した最小値を用いる。
(1パケットのデキュー時間)=
{(送信パケット長)+(プリアンブル)+(パケット間隔)}/(回線速度)
例えば、10Gビットイーサネットにおいて送信パケット長が64バイトである場合、プリアンブルが8バイト、パケット間隔(IPG)が96ビットであるので、1パケットのデキュー時間は{(64+8)×8+96}/(10×109)で求められ、約67nsとなる。また、例えば、10Gビットイーサネットにおいて送信パケット長が1518バイトである場合、同様にして、1パケットのデキュー時間は{(1518+8)×8+96}/(10×109)で求められ、約1230nsとなる。
次に、ステップS806にて、送信タスク管理部311は、ステップS805において算出したCPU余剰時間と、書き替え実行時間保持部319から取得したパケットプールの書き替え時間とを比較して、CPU余剰時間がパケットプールの書き替え時間よりも長いか否かを判定する。なお、ここではパケットプールの書き替え時間は、書き替え実行時間保持部319に記録されている書き替え実行時間の内の最大値を用いるものとする。
ステップS806において、CPU余剰時間がパケットプールの書き替え時間よりも長いと判定した場合(YES)、ステップS807にて、送信タスク管理部311がパケット登録部312にパケットの登録(書き替え)を指示し、それを受けたパケット登録部312がパケットプール314の書き替えを実行する。また、パケットプールの書き替え時間を測定し、測定結果として得られたパケットプールの書き替え時間を書き替え実行時間情報として書き替え実行時間保持部319に記録する。
例えば、ステップS805において取得したキュー残留数が200パケットであり、1パケットのデキュー時間が67nsであり、送信API実行時間が図6に示した例のように2211nsである場合、CPU余剰時間は、(200×67)−2211=11189nsとなる。また、パケットプールの書き替え時間が図7に示した例のように10100nsであったとする。この場合、送信タスク管理部311は、CPU余剰時間(11189ns)>パケットプールの書き替え時間(10100ns)であるので、パケット登録部312にパケットの登録(書き替え)を指示し、パケットプールの書き替えが実行される。
ステップS807の処理では、パケット登録部312は、送信パケット情報保持部317が保持している送信パケット情報及び書き替え情報保持部318が保持しているパケットプール書き替え情報に基づいて、パケットプール314における10パケットを書き替え、書き替え情報保持部318が保持しているパケットプール書き替え情報を更新する。パケットプール314の書き替えは、パケットプール書き替え情報として保持されている書き替え先プール内インデックスに従って行い、書き替え後に書き替え先プール内インデックスを更新する。
例えば、パケット送信制御処理を開始してから1回目のパケットプールの書き替えでは、パケットプール314には、図9(B)に示すような1000個のパケットに対応する情報が格納されることになる。すなわち、送信パケットのパケット長が64バイト、レイヤ4(L4)プロトコルがTCPで、送信元IPアドレスが192.168.0.11〜192.168.3.242、宛先IPアドレスが192.170.1.11〜192.170.4.242、送信元ポート番号が40011〜41010、宛先ポート番号が50011〜51010に設定される。また、パケットプール書き替え情報は、図10に示すように更新される。
ステップS807の処理が終了する、又はステップS806においてCPU余剰時間がパケットプールの書き替え時間よりも長くないと判定した場合(NO)、ステップS803に戻る。そして、ステップS803以降の処理を再び実行する。
このようにNIC350におけるキュー残留数に応じたCPU余剰時間が、パケットプール314における所定数のパケットの書き替え時間よりも長いと判定した場合、パケットプール314の書き替えを実行することで、NIC350が試験対象装置120にパケットを送信し終えるまでの間に、パケットプール314における所定数のパケットを書き替えることができる。したがって、NIC350から試験対象機器120に送信するパケットがなくなって情報処理装置から試験対象機器にパケットが送信しない期間が生じることを防ぐことができ、パケットの送信効率を向上させることができる。また、CPU余剰時間を算出する際、1回分の送信API実行時間を減じることで、次のパケットがエンキューするまでの時間に瞬間的にパケットが枯渇してパケットが送信されない状態が発生することを防止することができる。
なお、TCP/IPプロトコル上、コネクションの一意性は、プロトコル番号、送信元IPアドレス、宛先IPアドレス、送信元ポート番号、及び宛先ポート番号によって決まり、これらのパラメータの値がすべて同じ値である場合、同一のコネクションとなる。つまり、これらのパラメータの内の少なくとも1つのパラメータの値が異なれば、別コネクションの通信となるため、多コネクションのパケットを発生させるには、パケット全体を書き替えなくとも、前述したパラメータの内の少なくとも1つのパラメータの値を書き替えるだけでよい。ただし、パケットの正常性確認用であるチェックサムについても書き替える必要があるため、パケットの書き替えでは、チェックサムを再計算したうえで、チェックサムフィールドの書き替えも行う必要がある。
例えば、本実施形態では、パケットプール314の書き替えを行う際、パケット全体でなく、多コネクションのパケットを生成する際に必要なIPアドレスやポート番号だけを書き替えることで、パケットプール314の書き替え時間を短縮することが可能である。本実施形態では、IPアドレスやポート番号を変更するため、チェックサムを再計算し更新することでパケット自体の正常性も保っている。
例えば、図11(A)に示すようにIPv4のパケットは、レイヤ2(L2)ヘッダ(Etherヘッダ)1101、レイヤ3(L3)ヘッダ(IPv4ヘッダ)1102、レイヤ4(L4)ヘッダ(TCP又はUDPヘッダ)1103、ペイロードデータ1104、及びフレームチェックシーケンス(FCS:Frame Check Sequence)1105を有する。レイヤ3(L3)ヘッダ1102の送信元IPアドレス(IPSA)1111及び宛先IPアドレス(IPDA)1112、レイヤ4(L4)ヘッダ1103の送信元ポート番号(SrcPort)1121及び宛先ポート番号(DstPort)1122の何れかのフィールドの値を書き替えることで別コネクションのパケットとなる。本実施形態では、これらの値を書き替えるのにともなって、レイヤ3(L3)ヘッダ1102のチェックサム(Chksum)1113及びレイヤ4(L4)ヘッダ1103のチェックサム(Chksum)1123のフィールドに格納する値を再計算してパケット自体の正常性を保つ。
また、例えば、図11(B)に示すようにIPv6のパケットは、レイヤ2(L2)ヘッダ(Etherヘッダ)1151、レイヤ3(L3)ヘッダ(IPv6ヘッダ)1152、レイヤ4(L4)ヘッダ(TCP又はUDPヘッダ)1153、ペイロードデータ1154、及びフレームチェックシーケンス(FCS:Frame Check Sequence)1155を有する。レイヤ3(L3)ヘッダ1152の送信元IPアドレス(IPSA)1161及び宛先IPアドレス(IPDA)1162、レイヤ4(L4)ヘッダ1153の送信元ポート番号(SrcPort)1171及び宛先ポート番号(DstPort)1172の何れかのフィールドの値を書き替えることで別コネクションのパケットとなる。本実施形態では、これらの値を書き替えるのにともなって、レイヤ4(L4)ヘッダ1153のチェックサム(Chksum)1173のフィールドに格納する値を再計算してパケット自体の正常性を保つ。
(第2の実施形態)
次に、本発明の第2の実施形態について説明する。
前述した第1の実施形態における情報処理装置は、パケットプールを書き替える際、1回の書き替え数を予め決めた固定数(前述した例では10個)としている。しかし、パケットプールの書き替えは、多くの数のパケットをまとめて書き替えた方が効率がよい。例えば、パケットプールにおける書き替えパケット数が1である場合、書き替え先プール内インデックスの値を1ずつ更新することになるが、書き替えパケット数がNである場合、書き替え先プール内インデックスの値を1回でN増加させるよう更新すればよいため、パケットプール書き替え情報の更新処理の頻度が下がり、処理効率を向上できる。
そこで、以下に説明する第2の実施形態における情報処理装置は、パケットプールにおける1回の書き替えパケット数を固定せずに、パケットプールの書き替え時間や送信ディスクリプタ(キュー)のサイズ等に応じた適切な書き替えパケット数を算出する。そして、パケットプールにおける1回の書き替えでは、算出した書き替えパケット数のパケットを書き替える。
第2の実施形態における情報処理装置のハードウェア構成、ソフトウェア構成及び機能構成は、第1の実施形態における情報処理装置とは、パケットプールにおける1回の書き替えパケット数を変更可能にする点が異なる。例えば、パケットプール書き替え情報における書き替えパケット数は、算出した書き替えパケット数が設定される。また、パケット登録部312は、送信タスク管理部311からの登録指示に応じて、書き替えパケット数として設定された数のパケットを書き替える。また、書き替え実行時間保持部319には、書き替えたパケット数と対応付けて記録するなどして、1パケット当たりの書き替え実行時間が算出可能なように書き替え実行時間情報を保持する。その他は、第1の実施形態における情報処理装置の構成と同様であるので、説明は省略する。
以下、第2の実施形態におけるパケット負荷生成に係るパケット送信制御について説明する。図12は、第2の実施形態における情報処理装置が実行するパケット送信制御処理の例を示すフローチャートである。なお、以下の説明では、一例としてパケットプール314は1000個分のパケットを格納可能であり、また、送信API331に対する1回のコール(呼び出し)で、32個分のパケットがNIC350に転送されるものとする。
試験対象機器に対して、どのようなパケット負荷をかけるかを送信パケット情報としてユーザが設定し、設定された送信パケット情報が送信パケット情報保持部317に格納される。そして、ユーザ操作によりパケット負荷生成に係るパケット送信制御処理が開始される。パケット送信制御処理を開始すると、ステップS1201にて、パケット登録部312は、第1の実施形態と同様に、送信パケット情報保持部317が保持している送信パケット情報に基づいて、試験対象機器に送信するパケットをパケットプール314に格納し、書き替え情報保持部318が保持しているパケットプール書き替え情報を更新する。
続いて、ステップS1202にて、パケット登録部312は、送信タスク管理部311からの登録指示に従って、パケットプール314におけるパケットをダミーで書き替える処理を行う。このステップS1202では、パケット登録部312は、書き替えパケット数Nの初期値(例えばN=10)に応じた数のパケットをダミーで書き替える。また、パケットプールの書き替え時間を測定し、測定結果として得られたパケットプールの書き替え時間を書き替え実行時間情報として書き替え実行時間保持部319に記録する。
次に、ステップS1203にて、送信タスク管理部311が送信APIコール部313にパケットの送信実行を指示し、それを受けた送信APIコール部313が送信API331をコールする(呼び出す)。これにより、送信API331が、32パケット分の送信パケットの情報をNIC350の送信ディスクリプタ(キュー)351に格納(エンキュー)し、対応する32パケットがパケットプール314からNIC350の送信バッファ352に転送される。また、送信API331の処理実行時間が測定され、測定結果として得られた送信API実行時間をパケット送信API実行時間情報として送信API実行時間保持部320に記録する。
次に、ステップS1204にて、送信タスク管理部311は、最後(直近)の書き替えパケット数算出処理の実行から所定時間(例えば1秒)が経過しているか否かを判定する。最後の書き替えパケット数算出処理の実行から所定時間が経過していると判定した場合(YES)、ステップS1205にて、送信タスク管理部311は、適切な書き替えパケット数を算出するための書き替えパケット数算出処理を実行し、そうでない場合(NO)、ステップS1205をスキップする。
図13は、ステップS1205の書き替えパケット数算出処理の例を示すフローチャートである。書き替えパケット数算出処理を開始すると、ステップS1301にて、送信タスク管理部311は、送信ディスクリプタ(キュー)が持つ最大長(キューのサイズ)を取得する。例えば、キューが持つ最大長の情報はシステム設定等から取得すればよい。
次に、ステップS1302にて、送信タスク管理部311は、発生し得る最大のCPU余剰時間を算出する。送信タスク管理部311は、ステップS1301において取得したキューが持つ最大長の情報と、送信API実行時間保持部320から取得する送信API実行時間に基づいて、下記の式に基づいて最大CPU余剰時間を算出する。
(最大CPU余剰時間)=(キューが持つ最大長)×M×(1パケットのデキュー時間)−(送信API実行時間)
ここで、Mはキューが持つ最大長に対して考慮するマージンを設けるための乗数であり、例えば10%のマージンを設ける場合、M=0.90である。
次に、ステップS1303にて、送信タスク管理部311は、書き替え実行時間保持部319から取得したパケットプールの書き替え時間から、パケットプール314における1パケットの書き替え時間を算出する。なお、ここでは書き替え実行時間保持部319に記録されている書き替え実行時間の内の最大値を用いて1パケットの書き替え時間を算出するものとする。
続いて、ステップS1304にて、送信タスク管理部311は、ステップS1302において算出した最大CPU余剰時間と、ステップS1303において算出した1パケットの書き替え時間に基づいて、下記の式に基づいて書き替えパケット数Nを算出する。
(書き替えパケット数)=(最大CPU余剰時間)/(1パケットの書き替え時間)
このようにして適切な書き替えパケット数Nを算出すると、処理は図12に戻る(図12のステップS1206へ進む)。
例えば、ステップS1301において取得したキューが持つ最大長が500パケットであり、1パケットのデキュー時間が67nsであり、送信API実行時間が図6に示した例のように2211nsである場合、マージンを10%とすると、最大CPU余剰時間は、(450×0.90×67)−2211=27939nsとなる。また、パケットプールの書き替え時間が図7に示した例のように10パケットの書き替えで10100nsである場合、1パケットの書き替え時間は、(10100/10)=1010nsとなる。この例の場合、算出される書き替えパケット数Nは、(27939/1010)=27パケットとなる。
図12に戻り、ステップS1206にて、送信タスク管理部311は、送信ディスクリプタ監視部316及び残留数取得API332を介して、送信ディスクリプタ(キュー)351からNIC350における送信パケットの残留数(キュー残留数)を取得する。次に、ステップS1207にて、送信タスク管理部311は、第1の実施形態と同様にして、CPU余剰時間を算出する。
次に、ステップS1208にて、送信タスク管理部311は、ステップS1207において算出したCPU余剰時間が、パケットプールにおいて書き替えパケット数N個分のパケットを書き替える場合の書き替え時間よりも長いか否かを判定する。CPU余剰時間がパケットプールの書き替え時間よりも長いと判定した場合(YES)、ステップS1209にて、送信タスク管理部311がパケット登録部312にパケットの登録(書き替え)を指示し、それを受けたパケット登録部312がパケットプール314の書き替えを実行する。また、パケットプールの書き替え時間を測定し、測定結果として得られたパケットプールの書き替え時間を書き替え実行時間情報として書き替え実行時間保持部319に記録する。
例えば、前述した例のように、算出された書き替えパケット数Nが27パケットである場合、27パケット分の書き替え時間(27270ns)を超えるCPU余剰時間が発生した場合、送信タスク管理部311は、パケット登録部312にパケットの登録(書き替え)を指示し、パケットプール314において27パケット分の書き替えが実行される。
ステップS1209の処理では、パケット登録部312は、送信パケット情報保持部317が保持している送信パケット情報及び書き替え情報保持部318が保持しているパケットプール書き替え情報に基づいて、パケットプール314における書き替えパケット数N個のパケットを書き替え、書き替え情報保持部318が保持しているパケットプール書き替え情報を更新する。パケットプール314の書き替えは、パケットプール書き替え情報として保持されている書き替え先プール内インデックスに従って行い、書き替え後に書き替え先プール内インデックスをN増加させるように更新する。
ステップS1207の処理が終了する、又はステップS1206においてCPU余剰時間がパケットプールの書き替え時間よりも長くないと判定した場合(NO)、ステップS1203に戻る。そして、ステップS1203以降の処理を再び実行する。
第2の実施形態によれば、第1の実施形態と同様に、NIC350が試験対象装置120にパケットを送信し終えるまでの間に、パケットプール314におけるパケットを書き替えることができ、NIC350から試験対象機器120に送信するパケットがなくなって情報処理装置から試験対象機器にパケットが送信しない期間が生じることを防ぎ、パケットの送信効率を向上させることができる。また、パケットプールの書き替え時間や送信ディスクリプタ(キュー)のサイズ等に基づいて、適切な書き替えパケット数を算出してパケットプール314の書き替えを行うことで、効率よく処理を行うことができる。また、適切な書き替えパケット数の算出を定期的に行うことで、より効率的にパケットプール314の書き替えを行うことが可能となる。
(第3の実施形態)
次に、本発明の第3の実施形態について説明する。
図14は、第3の実施形態における情報処理システムの構成例を示す図である。第3の実施形態における情報処理システムは、パケットの書き替え技術をロードバランサのパケット転送制御に適用し、システムにおける負荷分散を図るものである。
図14に示すように、本実施形態における情報処理システムは、負荷分散に係る制御を行うロードバランサ1401を有し、ロードバランサ1401がパケットの書き替えを実行可能な情報処理装置1402を有している。情報処理装置1402は、図3に示した第1の実施形態における情報処理装置と同様に構成される。ロードバランサ1401には、ユーザ端末1403から設定情報が入力される。ロードバランサ1401は、クライアント端末1404とネットワーク1405を介して接続される。また、ロードバランサ1401は、ウェブサーバA1406及びウェブサーバB1407とスイッチ1408を介して接続される。
まず、ロードバランサ1401に対して、ユーザ端末1403からIPアドレス書き替えに係る設定情報(ルール)が設定される。この設定情報は、情報処理装置1402の送信パケット情報保持部317に保持される。情報処理システムにおいて通信が発生した場合、ロードバランサ1401は、コネクション単位でパケットの書き替えを行うか否かを判断する。例えば、2つのコネクションを検出した場合、その内の1つのコネクションに対して書き替えを実行する。
例えば、クライアント端末1404からウェブサーバB宛のパケット1410が送信されると、それを受信したロードバランサ1401は、受信したパケットを情報処理装置1402のパケットプール314に格納する。そして、情報処理装置1402の送信タスク管理部311は、CPU余剰時間を算出してパケットプールの書き替え時間と比較し、CPU余剰時間がパケットプールの書き替え時間より長いと判定すると、書き替え対象のコネクションのパケットについて宛先IPアドレスの書き替えを行い、宛先IPアドレスをウェブサーバBからウェブサーバAに書き替える。
これにより、クライアント端末1404から送信されたウェブサーバB宛のパケット1410は、書き替え対象のコネクションのパケットの宛先が書き替えられて、そのまま送信されるウェブサーバB宛のパケット1411と、宛先が書き替えられたウェブサーバA宛のパケット1412とに分散される。このようにして、ロードバランサ1401が有する情報処理装置1402が、クライアント端末1404から送信されたウェブサーバB宛のパケット1410に対し、ユーザが指定した通信の宛先IPアドレスの書き替えを行うことで、ウェブサーバA1406及びウェブサーバB1407に負荷分散させることが可能となる。
前述した各実施形態における情報処理装置での処理は、例えばコンピュータ(サーバ装置等を含む)がプログラムを実行することによって実現することができる。また、かかるプログラムを記録したコンピュータ読み取り可能な記録媒体も本発明の実施形態として適用することができる。記録媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、磁気テープ、不揮発性のメモリカード、ROM等を用いることができる。
また、コンピュータがプログラムを実行し処理を行うことにより、前述の実施形態の機能が実現されるプログラムプロダクトは、本発明の実施形態として適用することができる。プログラムプロダクトとしては、例えば前述の実施形態の機能を実現するプログラム自体、プログラムが読み込まれたコンピュータがある。また、プログラムプロダクトとして、ネットワークを介して通信可能に接続されたコンピュータにプログラムを提供可能な送信装置、前記送信装置を備えるネットワークシステム等がある。
また、供給されたプログラムとコンピュータにおいて稼動しているオペレーティングシステム(OS)又は他のアプリケーション等とにより前述の実施形態の機能が実現される場合も、かかるプログラムは本発明の実施形態として適用することができる。また、供給されたプログラムの処理のすべて又は一部がコンピュータの機能拡張ユニットにより行われて前述の実施形態の機能が実現される場合も、かかるプログラムは本発明の実施形態として適用することができる。また、本実施形態をネットワーク環境で利用するべく、全部又は一部のプログラムが他のコンピュータで実行されるようになっていてもよい。
なお、前記実施形態は、何れも本発明を実施するにあたっての具体化のほんの一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
以上の第1〜第3の実施形態を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
パケットが登録される記憶部と、
登録指示に応じて所定の数のパケットを前記記憶部に登録する登録部と、
前記記憶部に登録されているパケットを、他の情報処理装置へ送信する通信処理部に送信する送信部と、
前記通信処理部において前記他の情報処理装置に送信していないパケットを前記他の情報処理装置に送信し終えるまでの第1の時間を算出し、算出した第1の時間が前記記憶部への前記所定の数のパケットの登録にかかる第2の時間より長いと判定した場合、前記登録指示を前記登録部に送信する管理部とを有することを特徴とする情報処理装置。
(付記2)
前記管理部は、前記通信処理部において前記他の情報処理装置に送信していないパケットの数と、前記通信処理部が1つのパケットの送信にかかる時間とに基づいて、前記第1の時間を算出することを特徴とする付記1記載の情報処理装置。
(付記3)
前記登録部は、前記記憶部へのパケットの登録時に、前記記憶部に登録されている前記パケットのアドレス及びポート番号の少なくとも一方を書き替えることを特徴とする付記1又は2記載の情報処理装置。
(付記4)
前記登録部は、前記記憶部へのパケットの登録時に、書き替え後の前記パケットのアドレス及びポート番号に応じたチェックサム値を再計算して登録することを特徴とする付記3記載の情報処理装置。
(付記5)
前記登録部は、設定された送信パケット情報に基づいて、前記他の情報処理装置へ送信するパケットを前記記憶部に登録することを特徴とする付記1〜4の何れか1項に記載の情報処理装置。
(付記6)
前記登録部は、初期時に前記記憶部の容量に基づいて、複数のパケットを前記記憶部に登録することを特徴とする付記1〜5の何れか1項に記載の情報処理装置。
(付記7)
前記登録部は、前記通信処理部が保持できるパケットの数と前記記憶部へのパケットの登録にかかる時間とに基づいて算出した数のパケットを、前記登録指示に応じて前記記憶部に登録することを特徴とする付記1〜6の何れか1項に記載の情報処理装置。
(付記8)
前記管理部は、前記登録部から前記通信処理部へのパケットの送信処理時間を測定し、測定した前記送信処理時間を用いて前記第1の時間を算出することを特徴とする付記1〜7の何れか1項に記載の情報処理装置。
(付記9)
第1の情報処理装置と第2の情報処理装置とで通信を行う情報処理システムにおいて、
前記第1の情報処理装置は、
前記第2の情報処理装置へパケットを送信する通信処理部と、
パケットが登録される記憶部と、
登録指示に応じて所定の数のパケットを前記記憶部に登録する登録部と、
前記記憶部に登録されているパケットを前記通信処理部に送信する送信部と、
前記通信処理部において前記第2の情報処理装置に送信していないパケットを前記第2の情報処理装置に送信し終えるまでの第1の時間を算出し、算出した第1の時間が前記記憶部への前記所定の数のパケットの登録にかかる第2の時間より長いと判定した場合、前記登録指示を前記登録部に送信する管理部とを有することを特徴とする情報処理システム。
(付記10)
情報処理装置の登録部が、登録指示に応じて、パケットが登録される記憶部に所定の数のパケットを登録し、
前記情報処理装置の送信部が、前記記憶部に登録されているパケットを、他の情報処理装置へ送信する通信処理部に送信し、
前記情報処理装置の管理部が、前記通信処理部において前記他の情報処理装置に送信していないパケットを前記他の情報処理装置に送信し終えるまでの第1の時間を算出し、算出した第1の時間が前記記憶部への前記所定の数のパケットの登録にかかる第2の時間より長いと判定した場合、前記登録指示を前記登録部に送信することを特徴とする情報処理方法。
(付記11)
登録指示に応じて、パケットが登録される記憶部に所定の数のパケットを登録するステップと、
前記記憶部に登録されているパケットを、他の情報処理装置へ送信する通信処理部に送信するステップと、
前記通信処理部において前記他の情報処理装置に送信していないパケットを前記他の情報処理装置に送信し終えるまでの第1の時間を算出し、算出した第1の時間が前記記憶部への前記所定の数のパケットの登録にかかる第2の時間より長いと判定した場合、前記登録指示を前記登録部に送信するステップとをコンピュータに実行させるためのプログラム。
(付記12)
登録指示に応じて、パケットが登録される記憶部に所定の数のパケットを登録するステップと、
前記記憶部に登録されているパケットを、他の情報処理装置へ送信する通信処理部に送信するステップと、
前記通信処理部において前記他の情報処理装置に送信していないパケットを前記他の情報処理装置に送信し終えるまでの第1の時間を算出し、算出した第1の時間が前記記憶部への前記所定の数のパケットの登録にかかる第2の時間より長いと判定した場合、前記登録指示を前記登録部に送信するステップとをコンピュータに実行させるためのプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
110、210 情報処理装置
111 CPU
112 メモリ
113 ハードディスクドライブ(HDD)
114、220、350 ネットワークインターフェースカード(NIC)
115 入力部
116 出力部
117 バス
120 試験対象機器
130 通信回線
210 情報処理装置
212 パケット負荷生成アプリケーション
213 ユーザ制御インターフェース
214 パケットプール
215 NICドライバ
221、351 送信ディスクリプタ
222、352 送信バッファ
310 パケット負荷生成部
311 送信タスク管理部
312 パケット登録部
313 送信APIコール部
314 パケットプール
315 管理情報保持部
316 送信ディスクリプタ監視部
317 送信パケット情報保持部
318 書き替え情報保持部
319 書き替え実行時間保持部
320 送信API実行時間保持部
330 ドライバ部
331 送信API
332 残留数取得API

Claims (10)

  1. パケットが登録される記憶部と、
    登録指示に応じて所定の数のパケットを前記記憶部に登録する登録部と、
    前記記憶部に登録されているパケットを、他の情報処理装置へ送信する通信処理部に送信する送信部と、
    前記通信処理部において前記他の情報処理装置に送信していないパケットを前記他の情報処理装置に送信し終えるまでの第1の時間を算出し、算出した第1の時間が前記記憶部への前記所定の数のパケットの登録にかかる第2の時間より長いと判定した場合、前記登録指示を前記登録部に送信する管理部とを有することを特徴とする情報処理装置。
  2. 前記管理部は、前記通信処理部において前記他の情報処理装置に送信していないパケットの数と、前記通信処理部が1つのパケットの送信にかかる時間とに基づいて、前記第1の時間を算出することを特徴とする請求項1記載の情報処理装置。
  3. 前記登録部は、前記記憶部へのパケットの登録時に、前記記憶部に登録されている前記パケットのアドレス及びポート番号の少なくとも一方を書き替えることを特徴とする請求項1又は2記載の情報処理装置。
  4. 前記登録部は、前記記憶部へのパケットの登録時に、書き替え後の前記パケットのアドレス及びポート番号に応じたチェックサム値を再計算して登録することを特徴とする請求項3記載の情報処理装置。
  5. 前記登録部は、設定された送信パケット情報に基づいて、前記他の情報処理装置へ送信するパケットを前記記憶部に登録することを特徴とする請求項1〜4の何れか1項に記載の情報処理装置。
  6. 前記登録部は、前記通信処理部が保持できるパケットの数と前記記憶部へのパケットの登録にかかる時間とに基づいて算出した数のパケットを、前記登録指示に応じて前記記憶部に登録することを特徴とする請求項1〜5の何れか1項に記載の情報処理装置。
  7. 前記管理部は、前記登録部から前記通信処理部へのパケットの送信処理時間を測定し、測定した前記送信処理時間を用いて前記第1の時間を算出することを特徴とする請求項1〜6の何れか1項に記載の情報処理装置。
  8. 第1の情報処理装置と第2の情報処理装置とで通信を行う情報処理システムにおいて、
    前記第1の情報処理装置は、
    前記第2の情報処理装置へパケットを送信する通信処理部と、
    パケットが登録される記憶部と、
    登録指示に応じて所定の数のパケットを前記記憶部に登録する登録部と、
    前記記憶部に登録されているパケットを前記通信処理部に送信する送信部と、
    前記通信処理部において前記第2の情報処理装置に送信していないパケットを前記第2の情報処理装置に送信し終えるまでの第1の時間を算出し、算出した第1の時間が前記記憶部への前記所定の数のパケットの登録にかかる第2の時間より長いと判定した場合、前記登録指示を前記登録部に送信する管理部とを有することを特徴とする情報処理システム。
  9. 情報処理装置の登録部が、登録指示に応じて、パケットが登録される記憶部に所定の数のパケットを登録し、
    前記情報処理装置の送信部が、前記記憶部に登録されているパケットを、他の情報処理装置へ送信する通信処理部に送信し、
    前記情報処理装置の管理部が、前記通信処理部において前記他の情報処理装置に送信していないパケットを前記他の情報処理装置に送信し終えるまでの第1の時間を算出し、算出した第1の時間が前記記憶部への前記所定の数のパケットの登録にかかる第2の時間より長いと判定した場合、前記登録指示を前記登録部に送信することを特徴とする情報処理方法。
  10. 登録指示に応じて、パケットが登録される記憶部に所定の数のパケットを登録するステップと、
    前記記憶部に登録されているパケットを、他の情報処理装置へ送信する通信処理部に送信するステップと、
    前記通信処理部において前記他の情報処理装置に送信していないパケットを前記他の情報処理装置に送信し終えるまでの第1の時間を算出し、算出した第1の時間が前記記憶部への前記所定の数のパケットの登録にかかる第2の時間より長いと判定した場合、前記登録指示を前記登録部に送信するステップとをコンピュータに実行させるためのプログラム。
JP2017236488A 2017-12-08 2017-12-08 情報処理装置、情報処理システム、情報処理方法、及びプログラム Active JP7004900B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017236488A JP7004900B2 (ja) 2017-12-08 2017-12-08 情報処理装置、情報処理システム、情報処理方法、及びプログラム
US16/211,286 US10911983B2 (en) 2017-12-08 2018-12-06 Packet load generation device and packet load generation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017236488A JP7004900B2 (ja) 2017-12-08 2017-12-08 情報処理装置、情報処理システム、情報処理方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2019106578A true JP2019106578A (ja) 2019-06-27
JP7004900B2 JP7004900B2 (ja) 2022-01-21

Family

ID=66697553

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017236488A Active JP7004900B2 (ja) 2017-12-08 2017-12-08 情報処理装置、情報処理システム、情報処理方法、及びプログラム

Country Status (2)

Country Link
US (1) US10911983B2 (ja)
JP (1) JP7004900B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200114166A (ko) * 2019-03-27 2020-10-07 삼성전자주식회사 네트워크 패킷 처리 방법 및 이를 위한 전자 장치

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013183250A (ja) * 2012-03-01 2013-09-12 Fujitsu Ltd 負荷試験装置及びデータ送信方法
JP2016082363A (ja) * 2014-10-15 2016-05-16 富士通株式会社 通信装置、情報処理装置、情報処理システム及び通信装置の制御方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6542538B2 (en) 2000-01-10 2003-04-01 Qualcomm Incorporated Method and apparatus for testing wireless communication channels
CA2701501C (en) * 2003-06-18 2016-01-26 Nippon Telegraph And Telephone Corporation Wireless packet communication method
JP2011193434A (ja) * 2009-10-28 2011-09-29 Panasonic Corp パリティパケットを用いた通信方法、通信装置及び中継器
JP2012156853A (ja) 2011-01-27 2012-08-16 Nippon Telegr & Teleph Corp <Ntt> 通信ネットワーク試験データ生成装置及び通信ネットワーク試験データ生成方法
JP5857519B2 (ja) * 2011-08-11 2016-02-10 富士通株式会社 試験プログラム、試験装置、および試験方法
RU2682929C1 (ru) * 2015-03-18 2019-03-22 Нек Корпорейшн Устройство связи, система вычисления доступной полосы пропускания, способ вычисления доступной полосы пропускания и программа

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013183250A (ja) * 2012-03-01 2013-09-12 Fujitsu Ltd 負荷試験装置及びデータ送信方法
JP2016082363A (ja) * 2014-10-15 2016-05-16 富士通株式会社 通信装置、情報処理装置、情報処理システム及び通信装置の制御方法

Also Published As

Publication number Publication date
US20190182708A1 (en) 2019-06-13
JP7004900B2 (ja) 2022-01-21
US10911983B2 (en) 2021-02-02

Similar Documents

Publication Publication Date Title
US11218537B2 (en) Load balancing in distributed computing systems
US10142356B2 (en) Channel data encapsulation system and method for use with client-server data channels
CN112187612B (zh) 高性能、可扩展和无掉话的数据中心交换结构
US10404838B2 (en) Systems and methods for selecting microservices to process protocol data streams
CA3060436C (en) Methods of bidirectional packet exchange over nodal pathways
WO2019055101A1 (en) LIMITATION OF NETWORK TRAFFIC FLOW IN COMPUTER SYSTEMS
US10833952B2 (en) Introducing latency and delay for test or debug purposes in a SAN environment
US10484259B2 (en) Packet loss locating in VXLAN
JPWO2005074208A1 (ja) 情報処理装置、サーバ、通信システム、アドレス決定方法、アドレス変更方法およびプログラム
US20160028628A1 (en) Communication system, control apparatus, address allocation method, and program
JP7004900B2 (ja) 情報処理装置、情報処理システム、情報処理方法、及びプログラム
CN107249038A (zh) 业务数据转发方法及系统
CN111800340B (zh) 数据包转发方法和装置
CN104363176A (zh) 一种报文控制的方法和设备
CN115442183B (zh) 一种数据转发方法及装置
KR101358492B1 (ko) 중계 장치
JP2020077088A (ja) アクセス制御方法、アクセス制御装置、およびデータ処理装置
JP6279970B2 (ja) プロセッサ、通信装置、通信システム、通信方法およびコンピュータプログラム
US20240179178A1 (en) Control method and apparatus, computing device, and computer-readable storage medium
JP2022161570A (ja) 通信装置、通信方法およびプログラム
CN117294639A (zh) 云网络路径探测系统、方法、装置、设备和存储介质
JP6935984B2 (ja) ローミング無線装置とネットワークアクセスゲートウェイ間のデータ通信方法
US8483213B2 (en) Routing device and related control circuit
JP6134571B2 (ja) 疎通確認装置、ネットワークシステム、疎通確認方法、および疎通確認プログラム
CN117318974A (zh) 用于代理设备的非转换端口超额订阅

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200911

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210714

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210720

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210830

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: 20211130

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211213

R150 Certificate of patent or registration of utility model

Ref document number: 7004900

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150