(57)【要約】【課題】  パケット送信を再現するパケットリプレイにおいては、時刻情報のみに基づいていた場合にその正確性が低下する。パケット間の関連性を考慮した送受信処理の仕組みが必要である。【解決手段】  上記の課題を解決するために、本発明では、通信におけるリクエストを受けたノードの処理時間も含めて再現するものであり、リプレイパターンを複数用意しておき、キャプチャされたパケットとそのキャプチャされた時刻との関係により、複数のリプレイパターンから１つのパターンを特定し、この内容に従って再現処理を実行する。この際、ルールを適用してパケットのリプレイパターンを５種類に分類し、そのパターンに基づいたリプレイ処理を行うことで時刻および他システムとの通信対して正確なパケットのリプレイを行うとより好適である。【選択図】図１Ａ
2014078053.tif 000002
【特許請求の範囲】
【請求項１】
パケット関係性分析を用いた、パケットリプレイ方法であって、
予め、複数のリプレイパターンを記憶しておき、
ノード間で送受信されるパケットをキャプチャし、
キャプチャされた前記パケットであるキャプチャパケットと当該キャプチャされた時刻を対応付けて記憶し、
前記対応付けられたパケットと時刻に基づいて、前記複数のリプレイパターンから所定のリプレイパターンを特定し、
特定されたリプレイパターンを用いて再現処理を実行することを特徴とするパケットリプレイ方法。
【請求項２】
請求項１に記載のパケットリプレイ方法において、
前記複数のリプレイパターンは、定時リプレイ、連続リプレイ、時間差連続リプレイ、応答リプレイおよび時間差応答リプレイであり、
前記再現処理は、前記特定されたリプレイパターンと前記キャプチャパケットより作成されたリプレイ送信パケットを、特定された前記リプレイパターンに基づいたタイミングでリプレイ対象ノードに送信し、前記リプレイ対象ノードから受信した受信パケットと、前記キャプチャパケットを比較することで再現されたかを判断することを特徴とするパケットリプレイ方法。
【請求項３】
請求項２に記載のパケットリプレイ方法において、
前記定時リプレイは、前記キャプチャパケットに関係する関係パケットの受信を行わず、リプレイ開始から前記キャプチャ時間が経過した時点で前記リプレイ送信パケットを送信することを特徴とするパケットリプレイ方法。
【請求項４】
請求項２に記載のパケットリプレイ方法において、
前記連続リプレイは、前記キャプチャパケットに関係する関係パケットが送信されたのち、所定時間以内に前記リプレイ送信パケットを送信することを特徴とするパケットリプレイ方法。
【請求項５】
請求項２に記載のパケットリプレイ方法において、
前記時間差連続リプレイは、前記キャプチャパケットに関係する関係パケットが送信されたのち、時間差連続リプレイ時間経過後に前記リプレイ送信パケットを送信し、前記時間差連続リプレイ時間は、前記キャプチャパケットと前記関係パケットのキャプチャ時点での前記経過時間の差を用いることを特徴とするパケットリプレイ方法。
【請求項６】
請求項２に記載のパケットリプレイ方法において、
前記応答リプレイは、前記キャプチャパケットに関係する関係パケットを受信したのち、所定時間以内に前記リプレイ送信パケットを送信することを特徴とするパケットリプレイ方法。
【請求項７】
請求項２に記載のパケットリプレイ方法において、
前記キャプチャパケットに関係する関係パケットを受信したのち、時間差応答リプレイ時間経過後に前記リプレイ送信パケットを送信し、前記時間差応答リプレイ時間として、前記キャプチャパケットと前記関係パケットのキャプチャ時点での前記経過時間の差を用いることを特徴とするパケットリプレイ方法。
【請求項８】
請求項２乃至７のいずれかに記載のパケットリプレイ方法において、
前記リプレイパターンの特定は、前記キャプチャパケットのヘッダ情報およびペイロード情報および前記経過時間を任意に組み合わせて、パケット関係算出ルールに基づき、実行することを特徴とするパケットリプレイ方法。
【請求項９】
請求項２乃至８のいずれかに記載のパケットリプレイ方法において、
前記リプレイ送信パケットは、当該リプレイ送信パケットを送信する際に、生成されることを特徴とするパケットリプレイ方法。
【請求項１０】
請求項２乃至８のいずれかに記載のパケットリプレイ方法において、
前記キャプチャパケットと前記受信パケットを比較する際の判別基準となることを特徴とするパケット比較ルールを有し、当該パケット比較ルールに従って前記再現の判断を実行することを特徴とするパケットリプレイ方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数ノード間での通信を再現する計算機システムに関するものである。その中でも特に、パケットキャプチャを利用した再現に関する。また、本発明は、再現された通信による障害等の分析やマイグレーションの際の分析にも適用可能である。
【背景技術】
【０００２】
複数のノードで構成され、各ノードが連携をして処理を行う計算機システムにおいては、以前に計算機システムが処理した内容を再度処理(再現)させたい場合がある。その例を２つ挙げる。
【０００３】
１つ目は、ある計算機ノードで発生した問題を再現したい場合である。バグ等の要因によって計算機システムが想定外の動作をした場合、問題点の確認や修正後のテストを目的とする。この例では、再度処理する期間が短期かつ処理内容は少数である。
【０００４】
２つ目は、ある計算機ノードの後継ノードを開発した際に、これまでと同様の処理を行うか確認する場合である。この例では再度処理する期間が長期かつ処理内容は大量である。
【０００５】
この再処理では、起因となっている計算機ノードは1つもしくはごく少数であるにも関わらず、再処理のためには計算機システム全体で同じ処理を実行せねばならず、コストが高いという問題がある。特に、再処理対象の計算機システムが現在サービスを運用している場合には、再処理のためにサービスを停止せねばならず、サービスのクオリティに大きな影響を与える。
【０００６】
そこで用いられる技術がパケットのリプレイ技術である。リプレイとは、まず計算機システム内の計算機ノード間でやりとりされている通信パケットをあらかじめキャプチャし記録しておく。ある計算機ノードで再処理を行う場合に、対象の計算機ノード（対象ノード）と、リプレイを行う計算機ノード（リプレイノード）のみを用意する。リプレイノードは複数の計算機ノードを模擬し、記録してある通信パケットのうち対象ノードが受信していたパケットを送信するとこで、キャプチャ時と同様の通信を再現する。
【０００７】
一般的なリプレイでは、通信パケットが送信された時刻と通信パケットを関係付けて記録することで、記録された際と同様の時間間隔でのリプレイを実現する。
【０００８】
特許文献１には、通信パケットを記録する際に、各計算機ノードの各パケット送信時における受信パケット量を記録する方式が記載されている。リプレイを行う際の各パケットの送信条件は、前述の時刻情報に加え、前述の受信パケット量を用いる。二つの条件が満たされた際にパケットを送信することで、疑似的に応答を行っているかのようなリプレイが可能となる。
【０００９】
特許文献２には、各ノード間の通信における要求（リクエスト）と応答（レスポンス）をペアとし、対象ノードが要求を送信したならば、リプレイノードが応答を送信する方式が記載されている。要求と応答が関係付けられることを前提としているが、確実な応答のリプレイが可能となる。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２０１０−２０５０１１号公報
【特許文献２】特開２００８−９７４５７号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
リプレイにおいては、キャプチャしたい際のパケットに正確であることが望ましい。この正確性とはキャプチャ時の時刻だけではなく、ノード間で行われる要求と応答の間隔も含む。なぜならば、例として、ノードＡが送信したパケットをノードＢが受信し、ノードＢ内部で処理を行った後、結果をノードＡに送信するような処理において、ノードＢを模擬するとする。この際、リプレイする際に時刻情報のみに基づいた場合、ノードＡが何らかの要因により遅れてパケットを送信する場合、最悪の場合はノードＡの送信前にノードＢを模擬したノードがパケットを送信してしまう。これはリクエストを受ける前にレスポンスが返っており、リプレイとして不適切である。
【課題を解決するための手段】
【００１２】
上記の課題を解決するために、本発明では、通信におけるリクエストを受けたノードの処理時間も含めて再現するものであり、リプレイパターンを複数用意しておき、キャプチャされたパケットとそのキャプチャされた時刻との関係により、複数のリプレイパターンから１つのパターンを特定し、この内容に従って再現処理を実行する。
【００１３】
より具体的な形態を示すと次のとおりである。
パケット間の関係性を算出する装置を用いた、パケットリプレイ装置であって、前記パケットリプレイ装置は、ネットワーク経路上のパケットを複製し転送する機能を有する装置を用い、やり取りされているパケットの複製であるキャプチャパケットを入力とし、キャプチャパケットとキャプチャ時刻を関連付け、パケット関係算出ルールに基づき、前記キャプチャパケット間の関係性であるパケット関係を算出しリプレイパターン５種からパターンを選択し、リプレイ対象ノードに対して、送信パケット作成ルールに基づき、前記キャプチャパケットからリプレイ送信パケットを作成し、前記リプレイパターンに基づいたタイミングで前記リプレイ送信パケットを送信し、前記リプレイ対象ノードからネットワークを介し受信パケットを得た際には、比較ルールに基づき、前記キャプチャパケットと前記受信パケットの内容を比較し、応答すべきリプレイ送信パケットが存在する場合は送信を行う。
【発明の効果】
【００１４】
本発明の代表的形態によれば、パケットのリプレイにおいて、要求に対する応答の模擬や、アプリケーションの処理遅延の模擬が可能となる。
【図面の簡単な説明】
【００１５】
【図１Ａ】本発明の一実施の形態におけるパケット関係性解析およびリプレイを行うパケットリプレイ装置のブロック図
【図１Ｂ】本発明の一実施の形態におけるパケットリプレイ装置利用時のシステム構成図
【図２Ａ】本発明の一実施の形態におけるパケットリプレイの解析処理のフロー
【図２Ｂ】本発明の一実施の形態におけるパケットリプレイの関係性解析処理のフロー
【図３】本発明の一実施の形態におけるパケット送信部へ渡される追加情報を示す図
【図４】本発明の一実施の形態におけるパケット受信部へ渡される追加情報を示す図
【図５】本発明の一実施の形態におけるパケットリプレイの送信要求処理のフロー
【図６】本発明の一実施の形態におけるパケットリプレイの送信処理のフロー
【図７】本発明の一実施の形態におけるパケットリプレイの受信処理のフロー
【図８】本発明の一実施の形態における通信時の変換情報を示す図
【発明を実施するための形態】
【００１６】
本発明の代表的な形態は、パケット送受信機能を備える計算機システムにおいて、
パケットリプレイ機能が、外部から前記キャプチャパケットと、パケット関係算出ルールと、パケット生成ルールと、パケット比較ルールとを受付け、パケットリプレイにおける最適な前記リプレイ手法を選択し、前記リプレイ対象ノードに対して前記リプレイ送信パケットを送信することを特徴とする。
【００１７】
本発明の代表的な形態では、パケットリプレイ手法を、定時リプレイ、連続リプレイ、時間差連続リプレイ、応答リプレイ、時間差応答リプレイの５種に分類する。
【００１８】
定時リプレイはパケットキャプチャ時の時経過時間に基づきリプレイを行い、連続リプレイおよび時間差連続リプレイは前記リプレイパケットの送信を契機にリプレイを行い、応答リプレイおよび時間差応答リプレイは前記対象ノードからのパケット受信を契機にリプレイを行う。
【００１９】
以下、図面を参照しながら本発明の一実施形態について、図面を参照して説明する。
図１Ａは，実施形態に係わる、パケット関係性解析およびリプレイを行う、パケットリプレイ装置101のブロック図である。以下の各装置は、いわゆる情報処理装置で実現されるものであって、プログラムに従って演算部（CPU）が下記に示す処理を実行するものである。
【００２０】
パケットリプレイ装置101は、ある計算機システムでやり取りされていたパケット情報を受け取り、計算機システム内の任意の個数のノードを模擬してパケット情報をリプレイするための装置である。
【００２１】
パケットリプレイ装置101は、パケットリプレイ部102と、一般的な計算機資源としてのネットワークインタフェース103、メモリ104、ＣＰＵ105、記憶装置106、及び、ユーザインタフェース107を有している。
【００２２】
ユーザによりユーザインタフェース107から入力される情報のうち、パケット情報はパケット情報受付部108へ送られ、模擬する計算機ノード情報とパケット間関係算出ルールはパケット間関係算出部109へ送られ、パケット送信ルールはパケット送信設定部110へ送られ、パケット比較ルールはパケット比較部111へ送られ、通信変換情報は通信情報変換部へ送られる。また、これらの情報は、各種キューおよびテーブルの形式で記憶装置106に保存される。
【００２３】
パケットリプレイ装置101は、さらに、パケット情報解析部112、パケット送信部113、
パケット受信部114、リプレイ結果出力部115を備えている。
パケットリプレイ部102の各部（各機能）は、メモリに記録された所定のコンピュータプログラムを計算機資源上で実行することで実現される。
【００２４】
図１Ｂは、パケットリプレイ装置利用時のシステム構成図である。パケット収集環境120では、各計算機ノード121はネットワーク123を介して相互に通信を行っている。パケット収集装置は計算機ノード121とネットワーク123の間に設置され、通信の内容を取得し、パケット情報124としてパケットリプレイ装置101へ送付する。パケットリプレイ環境125では、パケットリプレイ装置101が、パケット情報124に基づき、計算機ノード121を模擬した通信行う（図１:126）。
【００２５】
図２Ａは、パケットリプレイの解析処理のフローである。パケット情報解析部112は、パケット情報を解析し、パケット情報をプロトコルや通信レイヤごとの情報に切り分け、識別子となるパケット識別子を与えた、パケット解析情報を作成する。
【００２６】
パケット間関係算出部109は、パケット情報解析部112からパケット解析情報を受け取り、あらかじめ入力されていたパケット間関係算出ルールを用いて、パケット解析情報のリプレイパターンを算出する。リプレイにおいて、パケットリプレイ装置101から送信する必要のあるパケットについては、パケット解析情報と、リプレイパターンと、送信補足情報を合わせてパケット送信部113に登録する。この際、登録したパケットのリプレイパターンが定時リプレイならば（図２Ａ:201）、そのパケットをタイマ待ち状態として設定する（図２Ａ:202）。
リプレイにおいて、パケットリプレイ装置101が受信するパケットについては、パケット解析情報と受信補足情報を合わせてパケット受信部114に登録する。
【００２７】
図２Ｂは、パケットリプレイの関係性解析処理のフローである。
パケット間関係算出部109は、パケット解析情報をリプレイする際に用いるリプレイパターンを算出する。パケット間関係解析処理は、比較対象となるパケットに対してループを用い（図２Ｂ:210）、各比較パケットに対し処理を行う。あらかじめ与えられている関係性（図２Ｂ:212）ごとにループを行い（図２Ｂ:211）、入力パケットと比較パケットを各関係性ルールに適用し（図２Ｂ:213）、関係が算出された場合（図２Ｂ:214）、入力パケットのリプレイパターンとリプレイのための補足情報を与える（図２Ｂ:215）（図３:303）（図４:402）。どのパケットとも関係性が無かった場合は、リプレイパターンを「定時」とする（図２Ｂ:216）。
【００２８】
なお、比較対象とするパケットは、基本的には各解析の開始までに得ていたパケット解析情報全てだが、時間やアドレス情報を用いて対象を絞り込んでもよい。
【００２９】
図３は、パケット送信部113へ解析情報が渡される際に、パケット解析情報に加えて与えられる情報である。パケット識別子301はパケット解析情報に含まれる情報であり、パケット間の繋がりを表す場合に用いる。リプレイパターン302は、リプレイによるパケット送信の方式を５種に分類したものである。送信補足情報303には、リプレイに必要な補足情報が記載される。
【００３０】
図４は、パケット受信部114へ解析情報が渡される際に、パケット解析情報に加えて与えられる情報である。パケット識別子401はパケット解析情報に含まれる情報であり、パケット間の繋がりを表す場合に用いる。受信補足情報402には、パケット受信の際に応答でリプレイする際に必要な補足情報が記載される。
【００３１】
図５は、パケットリプレイの送信要求処理のフローである。
送信処理は、一定時間ごとに、タイマ待ち状態の送信パケットに対してループを用いて行う（図５:501）。パケットの待ち時間が経過していた場合（図５:502）対象パケットを送信キューへ入れる（図５:503）。送信したパケットに続く連続送信パケットが存在する場合（図５:504）、そのパケットをタイマ待ち状態に設定する（図５:505）。即座に送信が行われるよう、待ち時間はゼロとする。送信したパケットに続く時間差連続送信パケットが存在する場合（図５:506）、そのパケットをタイマ待ち状態に設定する（図５:507）。タイマ待ち時間は、解析の際にパケット間関係算出部109より送信補足情報303として与えられている。
【００３２】
図６は、パケットリプレイの送信処理のフローである。この処理は、送信キューに送信パケットが入れられるたびに行う。送信キューから送信パケット（図６:601）を取り出した後、リプレイシステムに送信ルールが設定されているかどうか調べる（図６:602）。設定されている場合は送信ルール（図６:603）に基づき送信パケットを整形（図６:604）した後、パケットを送信する（図６:605）。
【００３３】
図７は、パケットリプレイの受信処理のフローである。受信処理は、外部ノードからパケットを受信した際に、受信待ち状態の送信パケットに対してループを用いて行う（図:701）
。受信パケットは、比較ルール（図７:702）を用いて各受信待ちパケットと一致するか比較処理を行う（図７:703）。二つのパケット一致している場合（図７:704）は、応答の必要があるかをチェックする。受信待ちパケットが応答でパケットリプレイを行う場合（図７:705）、対象の送信パケットをタイマ待ち状態に設定する（図７:706）。即座に送信が行われるよう、待ち時間はゼロとする。時間差応答送信パケットが存在する場合（図７:707）、そのパケットをタイマ待ち状態に設定する（図７:708）。タイマ待ち時間は、解析時にパケット間関係算出部109より送信補足情報303として与えられている。
【００３４】
なお、ループ対象のパケット解析情報は、時刻や通信路を用いて対象数を絞り込んでもよい。
【００３５】
図８は、通信変換情報である。通信変換情報801には、プロトコル802ごとのパラメータ803変換ルールが記述されている。パケットの送信および受信を行う際には変換元情報804を参照し、用いる通信情報が変換元情報804に該当する場合は、変換先情報805へと変換を行ってから送受信の処理を行う。
【００３６】
本実施の形態においては、計算機システムの構成に合わせたパケット関係性ルールを作成し、キャプチャしたパケットにルールを適用することでパケットの関係性を算出する。これにより、リプレイの作業効率向上のみならず、キャプチャ対象システムに影響を与えないキャプチャおよびリプレイを実現する。
【産業上の利用可能性】
【００３７】
本発明の部分ジョブパターン作成方式は、マイグレーションにおける、部分ジョブパターンごとのコストと移行できる計算機資源の量を示すため、利用者は費用対効果を考慮して最適な部分ジョブパターンを選択することができる。
【符号の説明】
【００３８】
101  パケットリプレイ装置
102  パケットリプレイ部
103  ネットワークインタフェース
104  メモリ
105  ＣＰＵ
106  記憶装置
107  ユーザインタフェース
108  パケット情報受付部
109  パケット間関係算出部
110  パケット送信設定部
111  パケット比較部
112  パケット情報解析部
113  パケット送信部
114  パケット受信部
115  リプレイ結果出力部
116  通信変換情報受付部
【図１Ａ】
2014078053.tif 000003
【図１Ｂ】
2014078053.tif 000004
【図２Ａ】
2014078053.tif 000005
【図２Ｂ】
2014078053.tif 000006
【図３】
2014078053.tif 000007
【図４】
2014078053.tif 000008
【図５】
2014078053.tif 000009
【図６】
2014078053.tif 000010
【図７】
2014078053.tif 000011
【図８】
2014078053.tif 000012