(57)【特許請求の範囲】
【請求項１】
エラーの発生を検出した場合、前記エラーの発生時に送信または受信した第１のパケットの送信元の識別情報および送信先の識別情報を取得する取得部と、
ネットワークから受信した第２のパケットの送信元の識別情報および送信先の識別情報が、前記第１のパケットの送信元の識別情報および送信先の識別情報と一致するか否かについての判定を行い、前記第２のパケットの送信元の識別情報および送信先の識別情報が前記第１のパケットの送信元の識別情報および送信先の識別情報と一致する場合、前記第２のパケットを記憶装置に格納する第１判定部と、
を有する情報処理装置。
【請求項２】
前記情報処理装置の処理負荷に基づき、前記第１のパケットの送信元の識別情報および送信先の識別情報と、前記処理負荷に基づき特定された転送モードの情報とを送信する経路を決定する決定部
をさらに有する請求項１記載の情報処理装置。
【請求項３】
前記決定部は、
前記情報処理装置の処理負荷の値が所定値以上である場合、前記第１のパケットの送信元の識別情報および送信先の識別情報と、前記転送モードの情報とを、前記第１のパケットの送信元と送信先との間における複数の経路のうち最短の経路に送信し、
前記情報処理装置の処理負荷の値が前記所定値未満である場合、前記第１のパケットの送信元の識別情報および送信先の識別情報と、前記転送モードの情報とを、前記複数の経路の各々に送信する、
請求項２記載の情報処理装置。
【請求項４】
前記エラーに対するリトライの回数を計数する計数部
をさらに有し、
前記第１判定部は、
前記計数部により計数された前記リトライの回数が所定回数以上である場合、又は、前記ネットワークから受信した前記第２のパケットの数が所定数を超えた場合、前記判定の実行を終了する、
請求項２又は３記載の情報処理装置。
【請求項５】
前記エラーに対するリトライの回数を計数する計数部
をさらに有し、
前記第１判定部は、
前記計数部により計数された前記リトライの回数が所定回数以上である場合、又は、前記ネットワークから受信した前記第２のパケットの数が所定数を超えた場合、前記判定の実行を終了し、
前記決定部は、
前記計数部により計数された前記リトライの回数が前記所定回数以上である場合、又は、前記ネットワークから受信した前記第２のパケットの数が前記所定数を超えた場合、前記第１のパケットの送信元の識別情報および送信先の識別情報と前記転送モードの情報とに係る処理を終了することを要求する第１の要求を、前記第１のパケットの送信元の識別情報および送信先の識別情報と前記転送モードの情報との送信先の装置に送信する、
請求項３記載の情報処理装置。
【請求項６】
エラーの発生時に送信または受信された第３のパケットの送信元の識別情報および送信先の識別情報を受信した場合、前記情報処理装置が中継機能を有するか判定する第２判定部
をさらに有し、
前記決定部は、
前記情報処理装置が前記中継機能を有すると前記第２判定部により判定された場合、前記第３のパケットの送信元の識別情報および送信先の識別情報を、前記情報処理装置に接続された装置に転送する、
請求項２記載の情報処理装置。
【請求項７】
コンピュータが、
エラーの発生を検出した場合、前記エラーの発生時に送信または受信した第１のパケットの送信元の識別情報および送信先の識別情報を取得し、
ネットワークから受信した第２のパケットの送信元の識別情報および送信先の識別情報が、前記第１のパケットの送信元の識別情報および送信先の識別情報と一致するか否かについての判定を行い、
前記第２のパケットの送信元の識別情報および送信先の識別情報が前記第１のパケットの送信元の識別情報および送信先の識別情報と一致すると判定された場合、前記第２のパケットを記憶装置に格納する、
処理を実行する情報処理方法。
【請求項８】
コンピュータに、
エラーの発生を検出した場合、前記エラーの発生時に送信または受信した第１のパケットの送信元の識別情報および送信先の識別情報を取得し、
ネットワークから受信した第２のパケットの送信元の識別情報および送信先の識別情報が、前記第１のパケットの送信元の識別情報および送信先の識別情報と一致するか否かについての判定を行い、
前記第２のパケットの送信元の識別情報および送信先の識別情報が前記第１のパケットの送信元の識別情報および送信先の識別情報と一致すると判定された場合、前記第２のパケットを記憶装置に格納する、
処理を実行させるプログラム。
【請求項９】
第１の情報処理装置と、
第２の情報処理装置と、
を有し、
前記第１の情報処理装置が、
エラーの発生を検出した場合、前記エラーの発生時に送信または受信した第１のパケットの送信元の識別情報および送信先の識別情報を取得する取得部と、
ネットワークから受信した第２のパケットの送信元の識別情報および送信先の識別情報が、前記第１のパケットの送信元の識別情報および送信先の識別情報と一致するか否かについての判定を行い、前記第２のパケットの送信元の識別情報および送信先の識別情報が前記第１のパケットの送信元の識別情報および送信先の識別情報と一致する場合、前記第２のパケットを第１の記憶装置に格納する第１判定部と、
前記第１のパケットの送信元の識別情報および送信先の識別情報を、前記第２の情報処理装置に送信する送信部と、
を有し、
前記第２の情報処理装置が、
前記第１のパケットの送信元の識別情報および送信先の識別情報を、前記第１の情報処理装置から受信する受信部と、
前記ネットワークから受信した第３のパケットの送信元の識別情報および送信先の識別情報が、前記第１のパケットの送信元の識別情報および送信先の識別情報と一致するか否かについての判定を行い、前記第３のパケットの送信元の識別情報および送信先の識別情報が前記第１のパケットの送信元の識別情報および送信先の識別情報と一致する場合、前記第３のパケットを第２の記憶装置に格納する第２判定部と、
を有する情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、エラーログの採取技術に関する。
【背景技術】
【０００２】
ネットワークに接続された装置において発生したエラー（例えばハードウエアの故障やパケットロス）の解析には、ネットワーク内の通信パケットに含まれる情報がログとして利用される。
【０００３】
或る文献は、専用の機器をネットワーク内に設置してログを採取する技術を開示する。但し、この技術を利用する場合、装置においてエラーが発生したタイミングでログを採取することが困難である。従って、エラー発生時のログを採取するために、再現環境の構築や再現試験の実施といった作業をネットワークの管理者が行うことになる場合があるが、この作業には多大な工数がかかる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−２０６１４７号公報
【特許文献２】特開平９−５５７９７号公報
【特許文献３】特開平１０−１３３９１７号公報
【特許文献４】特開２０１０−１９２６６５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明の目的は、１つの側面では、ネットワーク上の装置において発生したエラーに関するログを採取するための技術を提供することである。
【課題を解決するための手段】
【０００６】
本発明に係る情報処理装置は、エラーの発生を検出した場合、エラーの発生時に送信または受信した第１のパケットの送信元の識別情報および送信先の識別情報を取得する取得部と、ネットワークから受信した第２のパケットの送信元の識別情報および送信先の識別情報が、第１のパケットの送信元の識別情報および送信先の識別情報と一致するか否かについての判定を行い、第２のパケットの送信元の識別情報および送信先の識別情報が第１のパケットの送信元の識別情報および送信先の識別情報と一致する場合、前記第２のパケットを記憶装置に格納する第１判定部とを有する。
【発明の効果】
【０００７】
１つの側面では、ネットワーク上の装置において発生したエラーに関するログを採取できるようになる。
【図面の簡単な説明】
【０００８】
【図１】図１は、本実施の形態のシステム概要を示す図である。
【図２】図２は、情報処理装置の機能ブロック図である。
【図３】図３は、エラーが発生した装置が実行する処理の処理フローを示す図である。
【図４】図４は、第１モードデータ格納部に格納されるデータの一例を示す図である。
【図５】図５は、アドレス格納部に格納されるデータの一例を示す図である。
【図６】図６は、エラーが発生した装置が実行する処理の処理フローを示す図である。
【図７】図７は、パケット格納部に格納されるデータの一例を示す図である。
【図８】図８は、エラーが発生した装置が実行する処理の処理フローを示す図である。
【図９】図９は、開始トリガパケットを受信した装置が実行する処理の処理フローを示す図である。
【図１０】図１０は、第２モードデータ格納部に格納されるデータの一例を示す図である。
【図１１】図１１は、開始トリガパケットを受信した装置が実行する処理の処理フローを示す図である。
【図１２】図１２は、開始トリガパケットを受信した装置が実行する処理の処理フローを示す図である。
【図１３】図１３は、採取されたパケットのデータの提供について説明するための図である。
【図１４】図１４は、コンピュータの機能ブロック図である。
【図１５】図１５は、中継機能を有するコンピュータの機能ブロック図である。
【発明を実施するための形態】
【０００９】
エラーの発生を予測することは困難であるため、管理者がエラーの発生に気付いたときにはエラー処理（例えばリトライなど）が既に終了しており、記憶装置の容量の制限によってログが既に削除されていることがある。また、装置間の通信が行われている場合において、サイレント障害（例えば、一方の装置がエラーを検出することができたとしても、もう一方の装置がエラーを検出することができない状況）が発生した場合にはログが採取されないこともある。
【００１０】
例えば２台の装置間の通信においてエラーが発生した場合、管理者の端末はまず両装置にアクセスしてログを取得し、ログの解析を実行する。但し、取得されるログはエラー発生時のログであるとは限らない。そのため、管理者は再現環境の構築や再現試験の実施といった作業を行い、その際のログを管理者の端末が各装置から取得してエラーの解析（例えば原因の特定）を実行する。このような一連の作業には非常に手間がかかり、また、エラーに関係する装置の数が増えるほど作業の工数が増える。
【００１１】
そこで本実施の形態においては、以下で説明するような方法によってログの自動採取を実現する。
【００１２】
図１に、本実施の形態のシステム概要を示す。情報処理装置１ａ及び１ｂは例えば物理サーバであり、スイッチ３ａ乃至３ｇは例えばＬＡＮ（Local Area Network）スイッチ或いはルータ等である。情報処理装置１ａと情報処理装置１ｂとは通信を行い、通信のパケットはスイッチ３ａ乃至３ｇによって中継される。情報処理装置１ａと情報処理装置１ｂとの間には複数の通信経路が存在する。図１の例においては通信経路の数は３であるが、より多くの通信経路が存在してもよい。
【００１３】
図２に、情報処理装置１ａ及び１ｂの機能ブロック図を示す。情報処理装置１ａ及び１ｂは、パケット格納部１０１と、アドレス格納部１０２と、第１モードデータ格納部１０３と、第２モードデータ格納部１０４と、エラー検出部１０５と、リトライ検出部１０６と、負荷計測部１０７と、トリガ生成部１０８と、パケット解析部１０９と、トリガ受信部１１０と、トレース制御部１１１とを含む。トリガ生成部１０８、パケット解析部１０９、トリガ受信部１１０およびトレース制御部１１１は、例えば、ファームウエアのプロセスである。エラー検出部１０５、リトライ検出部１０６および負荷計測部１０７は、例えば、ファームウエアの上位層のプログラムのプロセスである。
【００１４】
エラー検出部１０５は、自装置におけるエラー（例えば、ハードウエアエラー或いはパケットロスなど）の発生を検出し、エラーの発生時に送信又は受信していたパケットを採取する。リトライ検出部１０６は、エラーに対するリトライの状態を監視する。負荷計測部１０７は、自装置のＣＰＵ（Central Processing Unit）の負荷率を計測する。トリガ生成部１０８は、パケット採取の開始および停止を実行させるためのトリガパケットを生成し、第１モードデータ格納部１０３に格納されているデータに基づき特定される送信先に対して送信する。パケット解析部１０９は、アドレス格納部１０２に格納されているデータに基づき、ネットワークから受信したパケットを採取するか否か判定する処理を実行する。トリガ受信部１１０は、受信したトリガパケットを転送するか否かの判定を、第２モードデータ格納部１０４に格納されているデータに基づき行う。トレース制御部１１１は、パケットの採取を制御する処理を実行する。
【００１５】
なお、スイッチ３ａ乃至３ｇの機能ブロック図は情報処理装置１ａ及び１ｂの機能ブロック図と同じであるので、説明を省略する。
【００１６】
次に、図３乃至図１３を用いて、本実施の形態のシステムにおいて行われる処理について説明する。まず、図３乃至図８を用いて、エラーが発生した装置が実行する処理について説明する。エラーは、図１に示したいずれの装置においても発生する可能性があるが、いずれの装置においてエラーが発生したとしても以下のような処理が実行される。
【００１７】
まず、エラー検出部１０５は、エラーの発生を検出し、エラー発生時に送信又は受信していたパケットからＳＩＤ（Source IDentifier）及びＤＩＤ（Destination IDentifier）を取得する（図３：ステップＳ１）。ＳＩＤは送信元のアドレスであり、ＤＩＤは送信先のアドレスである。
【００１８】
負荷計測部１０７は、自装置のＣＰＵ負荷率を計測し（ステップＳ３）、ＣＰＵ負荷率のデータをトリガ生成部１０８に出力する。
【００１９】
トリガ生成部１０８は、負荷計測部１０７から受け取ったＣＰＵ負荷率のデータに基づき転送モードを特定し（ステップＳ５）、特定した転送モードを示す情報を第１モードデータ格納部１０３に格納する。
【００２０】
本実施の形態においては、ＣＰＵ負荷率が閾値未満である場合には「ノーマルモード」が特定され、閾値以上である場合には「エコモード」が特定される。「ノーマルモード」は、パケットの送信元と送信先との間における複数の通信経路の各々にトリガパケットを転送するモードである。「エコモード」は、送信元と送信先との間における最短経路にトリガパケットを転送するモードである。前者の場合、パケットをもれなく採取できるが、ネットワーク内の通信の遅延をもたらすことがある。後者の場合、ネットワーク内の通信への影響を少なくすることができるが、最短経路でパケットの転送が行われていない場合にはエラーに関係するパケットをもれなく採取することができない。
【００２１】
図４に、第１モードデータ格納部１０３に格納されるデータの一例を示す。図４の例では、転送モードを示す情報が格納される。
【００２２】
トリガ生成部１０８は、エラー検出部１０５から、エラーの発生時に送信又は受信していたパケットのＳＩＤおよびＤＩＤを受け取る。そして、トリガ生成部１０８は、第１モードデータ格納部１０３に格納された転送モードを示す情報と、ＳＩＤと、ＤＩＤとを含む、パケット採取を開始させるための開始トリガパケットを生成する（ステップＳ９）。
【００２３】
トリガ生成部１０８は、ステップＳ５において特定した転送モードに基づき、開始トリガパケットの送信先の装置を特定する。そして、トリガ生成部１０８は、ステップＳ９において生成した開始トリガパケットを、開始トリガパケットの送信先の装置に対して送信する（ステップＳ１１）。例えば、情報処理装置１ｂにおいて発生したエラーを情報処理装置１ｂのエラー検出部１０５が検出した場合、転送モードがノーマルモードである場合には開始トリガパケットは情報処理装置１ｂからスイッチ３ｃ、スイッチ３ｅおよびスイッチ３ｇに送信され、転送モードがエコモードである場合には開始トリガパケットは情報処理装置１ｂから最短の経路上のスイッチ（例えばスイッチ３ｅ）だけに送信される。最短経路は、所定の計算アルゴリズムによって計算される。
【００２４】
トリガ生成部１０８は、エラー検出部１０５から受け取ったＳＩＤおよびＤＩＤをアドレス格納部１０２に格納する（ステップＳ１３）。処理は端子Ａを介して図６のステップＳ１７の処理に移行し、パケットの採取が開始される。
【００２５】
図５に、アドレス格納部１０２に格納されるデータの一例を示す。図５の例では、ＳＩＤとＤＩＤとが格納される。
【００２６】
図６の説明に移行し、トレース制御部１１１は、新たに実行されたリトライの情報をリトライ検出部１０６から取得する（図６：ステップＳ１７）。例えば、前回ステップＳ１７の処理を実行してから新たにリトライが実行された場合、新たにリトライが実行されたことを示す情報が取得される。
【００２７】
トレース制御部１１１は、新たにリトライが行われたか判定する（ステップＳ１９）。新たにリトライが行われていない場合（ステップＳ１９：Ｎｏルート）、ステップＳ２７の処理に移行する。新たにリトライが行われた場合（ステップＳ１９：Ｙｅｓルート）、トレース制御部１１１は、リトライカウンタの値を１インクリメントする（ステップＳ２１）。リトライカウンタの初期値は１である。リトライカウンタは、リトライが多くの回数行われることによって他の処理が遅延することを抑制するために使用される。
【００２８】
トレース制御部１１１は、リトライカウンタの値は２以上であるか判定する（ステップＳ２３）。リトライカウンタの値が２以上である場合（ステップＳ２３：Ｙｅｓルート）、パケット解析部１０９はパケットの処理を終了する。そして、処理は端子Ｂを介して図８のステップＳ４１の処理に移行する。リトライカウンタの値が２以上ではない場合（ステップＳ２３：Ｎｏルート）、パケット解析部１０９は、処理されるパケット（例えば、送信されるパケット又は受信したパケット）を１つ特定する（ステップＳ２７）。
【００２９】
パケット解析部１０９は、ステップＳ２７において特定したパケット（以下、対象パケットと呼ぶ）のＳＩＤおよびＤＩＤは、アドレス格納部１０２に格納されたＳＩＤおよびＤＩＤと一致するか判定する（ステップＳ２９）。すなわち、エラーの発生時に送信又は受信していたパケットの送信元および送信先が、対象パケットの送信元および送信先に一致するかが判定される。
【００３０】
対象パケットのＳＩＤおよびＤＩＤが、アドレス格納部１０２に格納されたＳＩＤおよびＤＩＤと一致しない場合（ステップＳ２９：Ｎｏルート）、ステップＳ３３の処理に移行する。一方、対象パケットのＳＩＤおよびＤＩＤが、アドレス格納部１０２に格納されたＳＩＤおよびＤＩＤと一致する場合（ステップＳ２９：Ｙｅｓルート）、パケット解析部１０９は、対象パケットをパケット格納部１０１に格納する（ステップＳ３１）。なお、パケット格納部１０１には、対象パケットのコピーが格納される。
【００３１】
図７に、パケット格納部１０１に格納されるデータの一例を示す。図７の例では、同一のＳＩＤおよびＤＩＤを有するパケットが格納される。このように、保存されるパケットが限定されるので、メモリ等の記憶装置の使用量を節約することができる。
【００３２】
トレース制御部１１１は、パケットカウンタを１インクリメントし、ループカウンタを１インクリメントする（ステップＳ３３）。処理は端子Ｃを介して図８のステップＳ３５の処理に移行する。パケットカウンタは、リトライが頻繁に行われることによって他の処理が遅延することを防ぐために使用される。ループカウンタは、リトライが行われないエラーに対して無限ループが発生することを防ぐために使用される。
【００３３】
図８の説明に移行し、トレース制御部１１１は、パケットカウンタの値が第１の所定値以上であるか判定する（図８：ステップＳ３５）。第１の所定値は、予め管理者によって設定される。
【００３４】
パケットカウンタの値が第１の所定値以上ではない場合（ステップＳ３５：Ｎｏルート）、パケットの処理を継続するため、処理は端子Ｄを介して図６のステップＳ２７の処理に移行する。
【００３５】
一方、パケットカウンタの値が第１の所定値以上である場合（ステップＳ３５：Ｙｅｓルート）、トレース制御部１１１は、ループカウンタの値が第２の所定値以上であるか判定する（ステップＳ３７）。第２の所定値は、予め管理者によって設定される。
【００３６】
ループカウンタの値が第２の所定値以上ではない場合（ステップＳ３７：Ｎｏルート）、トレース制御部１１１は、パケットカウンタの値をリセット（例えば０に設定）する（ステップＳ３８）。そして処理は端子Ａを介して図６のステップＳ１７の処理に移行する。
【００３７】
一方、ループカウンタの値が第２の所定値以上である場合（ステップＳ３７：Ｙｅｓルート）、パケット解析部１０９はパケットの処理を終了する。そして、トリガ生成部１０８は、パケットの採取を終了させるための終了トリガパケットを生成し、生成した終了トリガパケットを、開始トリガパケットの送信先の装置に対して送信する（ステップＳ４１）。
【００３８】
トレース制御部１１１は、アドレス格納部１０２に格納されているＳＩＤおよびＤＩＤを削除する（ステップＳ４３）。
【００３９】
その後、トレース制御部１１１は、管理者からの提供指示を受け付けた場合、パケット格納部１０１に格納されているパケットのデータを出力する（ステップＳ４５）。例えば、トレース制御部１１１は、パケットデータを管理者の端末に送信するか又は表示装置に表示する。そして処理は終了する。
【００４０】
以上のような処理を実行すれば、エラーを検出した装置から関係する各装置に対して開始トリガパケットが送信され、関係する各装置においてもパケットを自動で採取できるようになる。また、エラー発生時のパケットを保存できるようになる。
【００４１】
次に、図９乃至図１２を用いて、開始トリガパケットを受信した装置が実行する処理について説明する。
【００４２】
まず、ネットワークにおける或る装置のトリガ受信部１１０は、他の装置から開始トリガパケットを受信する（図９：ステップＳ５１）。
【００４３】
トリガ受信部１１０は、第２モードデータ格納部１０４に格納されている、動作モードを示す情報に基づき、動作モードが「スイッチモード」であるか判定する（ステップＳ５３）。本実施の形態においては、動作モードとして「スイッチモード」或いは「デバイスモード」がある。「スイッチモード」は自装置がスイッチである場合のモードであり、「デバイスモード」は自装置が情報処理装置である場合のモードである。
【００４４】
図１０に、第２モードデータ格納部１０４に格納されるデータの一例を示す。図１０の例では、動作モードを示す情報が格納される。動作モードを示す情報は、本実施の形態の処理が開始する前に予め格納される。
【００４５】
動作モードが「スイッチモード」ではない場合（ステップＳ５３：Ｎｏルート）、開始トリガパケットを受信した装置はスイッチではない（すなわち、開始トリガパケットを受信した装置が中継機能を有しない）ので、開始トリガパケットを転送しない。従って、処理は端子Ｅを介して図１１のステップＳ６５に移行する。
【００４６】
動作モードが「スイッチモード」である場合（ステップＳ５３：Ｙｅｓルート）、開始トリガパケットの受信カウンタの値が２以上であるか判定する（ステップＳ５５）。なお、開始トリガパケットの受信カウンタの初期値は１である。
【００４７】
開始トリガパケットの受信カウンタの値が２以上である場合（ステップＳ５５：Ｙｅｓルート）、既に開始トリガパケットを転送したので、処理は端子Ｅを介して図１１のステップＳ６５に移行する。
【００４８】
開始トリガパケットの受信カウンタの値が２以上ではない場合（ステップＳ５５：Ｎｏルート）、トリガ生成部１０８は、開始トリガパケットに含まれる、転送モードを示す情報とＳＩＤとＤＩＤとをトリガ受信部１１０から受け取る。そして、トリガ生成部１０８は、転送モードに基づき開始トリガパケットの転送先の装置を特定し、転送先の装置に対して開始トリガパケットを転送する（ステップＳ５７）。上で述べたように、「ノーマルモード」はパケットの送信元と送信先との間における複数の通信経路の各々にトリガパケットを転送するモードであり、「エコモード」は送信元と送信先との間における最短経路にトリガパケットを転送するモードである。例えば開始トリガパケットを受信した装置が最短経路上のスイッチであり且つ転送モードがエコモードである場合、最短経路上の次の装置に対して開始トリガパケットが送信される。また、例えば開始トリガパケットを受信した装置が最短経路上のスイッチであり、最短経路ではない経路上のスイッチでもあり、且つ転送モードがノーマルモードである場合、最短経路上の次の装置と最短経路ではない経路上の次の装置とに対して開始トリガパケットが転送される。また、例えば開始トリガパケットを受信した装置が最短経路ではない経路上のスイッチであり且つ転送モードがノーマルモードである場合、最短経路ではない経路上の次にスイッチに対して開始トリガパケットが転送される。
【００４９】
トリガ生成部１０８は、開始トリガパケットの受信カウンタの値を１インクリメントする（ステップＳ５９）。
【００５０】
トリガ受信部１１０は、開始トリガパケットに含まれるＳＩＤおよびＤＩＤをアドレス格納部１０２に格納する（ステップＳ６１）。処理は端子Ｅを介して図１１のステップＳ６５に移行する。
【００５１】
図１１の説明に移行し、トレース制御部１１１は、パケットカウンタの値をリセット（例えば０に設定）する（図１１：ステップＳ６５）。
【００５２】
トレース制御部１１１は、終了トリガパケットを受信したか否かについての問い合わせに対する応答をトリガ受信部１１０から受け取ることで、終了トリガパケットを受信したか判定する（ステップＳ６７）。
【００５３】
終了トリガパケットを受信していない場合（ステップＳ６７：Ｎｏルート）、パケット解析部１０９は、ネットワークから受信したパケットから未処理のパケットを１つ特定する（ステップＳ６９）。
【００５４】
パケット解析部１０９は、ステップＳ６９において特定したパケット（以下、受信パケットと呼ぶ）のＳＩＤおよびＤＩＤは、アドレス格納部１０２に格納されたＳＩＤおよびＤＩＤと一致するか判定する（ステップＳ７１）。
【００５５】
受信パケットのＳＩＤおよびＤＩＤは、アドレス格納部１０２に格納されたＳＩＤおよびＤＩＤと一致しない場合（ステップＳ７１：Ｎｏルート）、ステップＳ７５の処理に移行する。一方、受信パケットのＳＩＤおよびＤＩＤは、アドレス格納部１０２に格納されたＳＩＤおよびＤＩＤと一致する場合（ステップＳ７１：Ｙｅｓルート）、パケット解析部１０９は、受信パケットをパケット格納部１０１に格納する（ステップＳ７３）。このように、保存されるパケットが限定されるので、メモリ等の記憶装置の使用量を節約することができる。なお、ステップＳ７３においては、受信パケットのコピーがパケット格納部１０１に格納される。
【００５６】
トレース制御部１１１は、パケットカウンタを１インクリメントし（ステップＳ７５）、パケットカウンタの値が第３の所定値以上であるか判定する（ステップＳ７７）。パケットカウンタの値が第３の所定値以上ではない場合（ステップＳ７７：Ｎｏルート）、ステップＳ６９の処理に戻る。一方、パケットカウンタの値が第３の所定値以上である場合（ステップＳ７７：Ｙｅｓルート）、ステップＳ６５の処理に戻る。第３の所定値は、予め管理者によって設定される。
【００５７】
一方、終了トリガパケットを受信した場合（ステップＳ６７：Ｙｅｓルート）、処理は端子Ｆを介して図１２のステップＳ８１に移行する。
【００５８】
図１２の説明に移行し、トリガ受信部１１０は、他の装置から終了トリガパケットを受信する（図１２：ステップＳ８１）。
【００５９】
トリガ受信部１１０は、第２モードデータ格納部１０４に格納されている、動作モードを示す情報に基づき、動作モードが「スイッチモード」であるか判定する（ステップＳ８３）。本実施の形態においては、動作モードとして「スイッチモード」或いは「デバイスモード」がある。「スイッチモード」は自装置がスイッチである場合のモードであり、「デバイスモード」は自装置が情報処理装置である場合のモードである。
【００６０】
動作モードが「スイッチモード」ではない場合（ステップＳ８３：Ｎｏルート）、終了トリガパケットを受信した装置はスイッチではない（すなわち、終了トリガパケットを受信した装置が中継機能を有しない）ので、終了トリガパケットを転送しない。従って、ステップＳ８９の処理に移行する。
【００６１】
動作モードが「スイッチモード」である場合（ステップＳ８３：Ｙｅｓルート）、開始トリガパケットの転送先の装置に対して終了トリガパケットを転送する（ステップＳ８５）。
【００６２】
トレース制御部１１１は、アドレス格納部１０２に格納されているＳＩＤおよびＤＩＤを削除する（ステップＳ８９）。
【００６３】
その後、トレース制御部１１１は、管理者からの提供指示を受け付けた場合、パケット格納部１０１に格納されているパケットのデータを出力する（ステップＳ９１）。例えば、トレース制御部１１１は、パケットデータを管理者の端末に送信する。そして処理は終了する。
【００６４】
以上のような処理を実行すれば、パケットの経路上の各装置においてパケットを採取できるようになる。
【００６５】
図１３の例を用いて、採取されたパケットのデータの提供について説明する。図１３の例においては、情報処理装置１ａと情報処理装置１ｂとの間で通信が行われている場合においてエラーが発生し、エコモードであるため最短経路上の装置においてパケットが保存された。最短経路上の装置とは、情報処理装置１ａ、スイッチ３ａ、・・・、スイッチ３ｃ、情報処理装置１ｂである。この場合、管理者の端末５は、パケット格納部１０１に格納されたパケットのデータを最短経路上の各装置から受信することで、エラーの解析を行えるようになる。
【００６６】
本実施の形態によれば、再現環境を構築する作業および再現試験を実施する作業が不要になる。また、エラー発生時のパケットが保存されるので、エラーの発生箇所を特定する作業も不要になる。
【００６７】
以上本発明の一実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、上で説明した情報処理装置１ａ及び１ｂ並びにスイッチ３ａ乃至３ｇの機能ブロック構成は実際のプログラムモジュール構成に一致しない場合もある。
【００６８】
また、上で説明したデータ保持構成は一例であって、上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ処理の順番を入れ替えることも可能である。さらに、並列に実行させるようにしても良い。
【００６９】
また、転送モードは、ユーザの指定によって設定されてもよい。
【００７０】
また、所定時間が経過するまでの間パケットの採取を継続するような方法を採用してもよい。
【００７１】
また、本実施の形態においてはリトライが１回行われる間にパケットが採取されるが、より多くの回数のリトライが行われる間におけるパケットを採取するようにしてもよい。
【００７２】
なお、上で述べた情報処理装置１ａ及び１ｂは、コンピュータ装置であって、図１４に示すように、メモリ２５０１とＣＰＵ（Central Processing Unit）２５０３とハードディスク・ドライブ（ＨＤＤ：Hard Disk Drive）２５０５と表示装置２５０９に接続される表示制御部２５０７とリムーバブル・ディスク２５１１用のドライブ装置２５１３と入力装置２５１５とネットワークに接続するための通信制御部２５１７とがバス２５１９で接続されている。オペレーティング・システム（ＯＳ：Operating System）及び本実施例における処理を実施するためのアプリケーション・プログラムは、ＨＤＤ２５０５に格納されており、ＣＰＵ２５０３により実行される際にはＨＤＤ２５０５からメモリ２５０１に読み出される。ＣＰＵ２５０３は、アプリケーション・プログラムの処理内容に応じて表示制御部２５０７、通信制御部２５１７、ドライブ装置２５１３を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ２５０１に格納されるが、ＨＤＤ２５０５に格納されるようにしてもよい。本発明の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク２５１１に格納されて頒布され、ドライブ装置２５１３からＨＤＤ２５０５にインストールされる。インターネットなどのネットワーク及び通信制御部２５１７を経由して、ＨＤＤ２５０５にインストールされる場合もある。このようなコンピュータ装置は、上で述べたＣＰＵ２５０３、メモリ２５０１などのハードウエアとＯＳ及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【００７３】
また、上で述べたスイッチ３ａ乃至３ｇは、図１５に示すように、中継機能を有するコンピュータ装置であって、メモリ２６０１とＣＰＵ２６０３とハードディスク・ドライブ（ＨＤＤ）２６０５と表示装置２６０９に接続される表示制御部２６０７とリムーバブル・ディスク２６１１用のドライブ装置２６１３と入力装置２６１５とネットワークに接続するための通信制御部２６１７（図１５では、２６１７ａ乃至２６１７ｃ）とがバス２６１９で接続されている構成の場合もある。なお、場合によっては、表示制御部２６０７、表示装置２６０９、ドライブ装置２６１３、入力装置２６１５は含まれない場合もある。オペレーティング・システム（ＯＳ）及び本実施の形態における処理を実施するためのアプリケーション・プログラムは、ＨＤＤ２６０５に格納されており、ＣＰＵ２６０３により実行される際にはＨＤＤ２６０５からメモリ２６０１に読み出される。必要に応じてＣＰＵ２６０３は、表示制御部２６０７、通信制御部２６１７、ドライブ装置２６１３を制御して、必要な動作を行わせる。なお、通信制御部２６１７のいずれかを介して入力されたデータは、他の通信制御部２６１７を介して出力される。ＣＰＵ２６０３は、通信制御部２６１７を制御して、適切に出力先を切り替える。また、処理途中のデータについては、メモリ２６０１に格納され、必要があればＨＤＤ２６０５に格納される。本技術の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク２６１１に格納されて頒布され、ドライブ装置２６１３からＨＤＤ２６０５にインストールされる。インターネットなどのネットワーク及び通信制御部２６１７を経由して、ＨＤＤ２６０５にインストールされる場合もある。このようなコンピュータ装置は、上で述べたＣＰＵ２６０３、メモリ２６０１などのハードウエアとＯＳ及び必要なアプリケーション・プログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【００７４】
以上述べた本発明の実施の形態をまとめると、以下のようになる。
【００７５】
本実施の形態の第１の態様に係る情報処理装置は、（Ａ）エラーの発生を検出した場合、エラーの発生時に送信または受信した第１のパケットの送信元の識別情報および送信先の識別情報を取得する取得部と、（Ｂ）ネットワークから受信した第２のパケットの送信元の識別情報および送信先の識別情報が、第１のパケットの送信元の識別情報および送信先の識別情報と一致するか否かについての判定を行い、第２のパケットの送信元の識別情報および送信先の識別情報が第１のパケットの送信元の識別情報および送信先の識別情報と一致する場合、前記第２のパケットを記憶装置に格納する第１判定部とを有する。
【００７６】
これにより、再現環境の構築や再現試験の実施といった作業をすることなく、エラー発生時のパケットを採取することができるようになる。
【００７７】
また、本情報処理装置は、（Ｃ）情報処理装置の処理負荷に基づき、第１のパケットの送信元の識別情報および送信先の識別情報と、処理負荷に基づき特定された転送モードの情報とを送信する経路を決定する決定部をさらに有してもよい。
【００７８】
処理負荷が高い場合、高負荷の通信が行われている可能性があり、パケット採取を行うことでその通信が遅延する可能性がある。そこで、上で述べたようにすれば、パケットの採取によってネットワーク内の通信が影響を受けることを抑制できるようになる。
【００７９】
また、決定部は、（ｃ１）情報処理装置の処理負荷の値が所定値以上である場合、第１のパケットの送信元の識別情報および送信先の識別情報と、転送モードの情報とを、第１のパケットの送信元と送信先との間における複数の経路のうち最短の経路に送信し、（ｃ２）情報処理装置の処理負荷の値が所定値未満である場合、第１のパケットの送信元の識別情報および送信先の識別情報と、転送モードの情報とを、複数の経路の各々に送信してもよい。
【００８０】
ネットワーク内の通信への影響を抑えつつ、パケット採取を適切に行えるようになる。
【００８１】
また、本情報処理装置は、（Ｄ）エラーに対するリトライの回数を計数する計数部をさらに有してもよい。そして、第１判定部は、（ｂ１）計数部により計数されたリトライの回数が所定回数以上である場合、又は、ネットワークから受信した第２のパケットの数が所定数を超えた場合、判定の実行を終了してもよい。
【００８２】
パケットの採取が行われ続けることを防げるようになる。
【００８３】
また、決定部は、（ｃ３）計数部により計数されたリトライの回数が所定回数以上である場合、又は、ネットワークから受信した第２のパケットの数が所定数を超えた場合、判定の実行を終了することを要求する第１の要求を他の装置に送信してもよい。
【００８４】
他の装置においてもパケットの採取が行われ続けることを防げるようになる。
【００８５】
また、本情報処理装置は、（Ｅ）エラーの発生時に送信または受信された第３のパケットの送信元の識別情報および送信先の識別情報を受信した場合、情報処理装置が中継機能を有するか判定する第２判定部をさらに有してもよい。そして、決定部は、（ｃ４）情報処理装置が中継機能を有すると第２判定部により判定された場合、第３のパケットの送信元の識別情報および送信先の識別情報を、情報処理装置に接続された装置に転送してもよい。
【００８６】
例えばスイッチ或いはルータ等の装置は第３のパケットの送信経路の端の装置ではないと考えられる。従って、上で述べたような処理を実行すれば、第３のパケットの送信経路上の各装置が第３のパケットの送信元の識別情報および送信先の識別情報を受信できるようになる。
【００８７】
また、本実施の形態の第２の態様に係る情報処理方法は、（Ｆ）エラーの発生を検出した場合、エラーの発生時に送信または受信した第１のパケットの送信元の識別情報および送信先の識別情報を取得し、（Ｇ）ネットワークから受信した第２のパケットの送信元の識別情報および送信先の識別情報が、第１のパケットの送信元の識別情報および送信先の識別情報と一致するか否かについての判定を行い、（Ｈ）第２のパケットの送信元の識別情報および送信先の識別情報が第１のパケットの送信元の識別情報および送信先の識別情報と一致すると判定された場合、第２のパケットを記憶装置に格納する処理を含む。
【００８８】
本実施の形態の第３の態様に係る情報処理システムは、（Ｉ）第１の情報処理装置と、（Ｊ）第２の情報処理装置とを有する。そして、第１の情報処理装置が、（ｉ１）エラーの発生を検出した場合、エラーの発生時に送信または受信した第１のパケットの送信元の識別情報および送信先の識別情報を取得する取得部と、（ｉ２）ネットワークから受信した第２のパケットの送信元の識別情報および送信先の識別情報が、第１のパケットの送信元の識別情報および送信先の識別情報と一致するか否かについての判定を行い、第２のパケットの送信元の識別情報および送信先の識別情報が第１のパケットの送信元の識別情報および送信先の識別情報と一致する場合、第２のパケットを第１の記憶装置に格納する第１判定部と、（ｉ３）第１のパケットの送信元の識別情報および送信先の識別情報を、第２の情報処理装置に送信する送信部とを有する。そして、第２の情報処理装置が、（ｊ１）第１のパケットの送信元の識別情報および送信先の識別情報を、第１の情報処理装置から受信する受信部と、（ｊ２）ネットワークから受信した第３のパケットの送信元の識別情報および送信先の識別情報が、第１のパケットの送信元の識別情報および送信先の識別情報と一致するか否かについての判定を行い、第３のパケットの送信元の識別情報および送信先の識別情報が第１のパケットの送信元の識別情報および送信先の識別情報と一致する場合、第３のパケットを第２の記憶装置に格納する第２判定部とを有する。
【００８９】
なお、上記方法による処理をプロセッサに行わせるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、ＣＤ−ＲＯＭ、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。尚、中間的な処理結果はメインメモリ等の記憶装置に一時保管される。
【００９０】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【００９１】
（付記１）
エラーの発生を検出した場合、前記エラーの発生時に送信または受信した第１のパケットの送信元の識別情報および送信先の識別情報を取得する取得部と、
ネットワークから受信した第２のパケットの送信元の識別情報および送信先の識別情報が、前記第１のパケットの送信元の識別情報および送信先の識別情報と一致するか否かについての判定を行い、前記第２のパケットの送信元の識別情報および送信先の識別情報が前記第１のパケットの送信元の識別情報および送信先の識別情報と一致する場合、前記第２のパケットを記憶装置に格納する第１判定部と、
を有する情報処理装置。
【００９２】
（付記２）
前記情報処理装置の処理負荷に基づき、前記第１のパケットの送信元の識別情報および送信先の識別情報と、前記処理負荷に基づき特定された転送モードの情報とを送信する経路を決定する決定部
をさらに有する付記１記載の情報処理装置。
【００９３】
（付記３）
前記決定部は、
前記情報処理装置の処理負荷の値が所定値以上である場合、前記第１のパケットの送信元の識別情報および送信先の識別情報と、前記転送モードの情報とを、前記第１のパケットの送信元と送信先との間における複数の経路のうち最短の経路に送信し、
前記情報処理装置の処理負荷の値が前記所定値未満である場合、前記第１のパケットの送信元の識別情報および送信先の識別情報と、前記転送モードの情報とを、前記複数の経路の各々に送信する、
付記２記載の情報処理装置。
【００９４】
（付記４）
前記エラーに対するリトライの回数を計数する計数部
をさらに有し、
前記第１判定部は、
前記計数部により計数された前記リトライの回数が所定回数以上である場合、又は、前記ネットワークから受信した前記第２のパケットの数が所定数を超えた場合、前記判定の実行を終了する、
付記２又は３記載の情報処理装置。
【００９５】
（付記５）
前記決定部は、
前記計数部により計数された前記リトライの回数が前記所定回数以上である場合、又は、前記ネットワークから受信した前記第２のパケットの数が前記所定数を超えた場合、前記判定の実行を終了することを要求する第１の要求を他の装置に送信する、
付記４記載の情報処理装置。
【００９６】
（付記６）
エラーの発生時に送信または受信された第３のパケットの送信元の識別情報および送信先の識別情報を受信した場合、前記情報処理装置が中継機能を有するか判定する第２判定部
をさらに有し、
前記決定部は、
前記情報処理装置が前記中継機能を有すると前記第２判定部により判定された場合、前記第３のパケットの送信元の識別情報および送信先の識別情報を、前記情報処理装置に接続された装置に転送する、
付記２記載の情報処理装置。
【００９７】
（付記７）
コンピュータが、
エラーの発生を検出した場合、前記エラーの発生時に送信または受信した第１のパケットの送信元の識別情報および送信先の識別情報を取得し、
ネットワークから受信した第２のパケットの送信元の識別情報および送信先の識別情報が、前記第１のパケットの送信元の識別情報および送信先の識別情報と一致するか否かについての判定を行い、
前記第２のパケットの送信元の識別情報および送信先の識別情報が前記第１のパケットの送信元の識別情報および送信先の識別情報と一致すると判定された場合、前記第２のパケットを記憶装置に格納する、
処理を実行する情報処理方法。
【００９８】
（付記８）
コンピュータに、
エラーの発生を検出した場合、前記エラーの発生時に送信または受信した第１のパケットの送信元の識別情報および送信先の識別情報を取得し、
ネットワークから受信した第２のパケットの送信元の識別情報および送信先の識別情報が、前記第１のパケットの送信元の識別情報および送信先の識別情報と一致するか否かについての判定を行い、
前記第２のパケットの送信元の識別情報および送信先の識別情報が前記第１のパケットの送信元の識別情報および送信先の識別情報と一致すると判定された場合、前記第２のパケットを記憶装置に格納する、
処理を実行させるプログラム。
【００９９】
（付記９）
第１の情報処理装置と、
第２の情報処理装置と、
を有し、
前記第１の情報処理装置が、
エラーの発生を検出した場合、前記エラーの発生時に送信または受信した第１のパケットの送信元の識別情報および送信先の識別情報を取得する取得部と、
ネットワークから受信した第２のパケットの送信元の識別情報および送信先の識別情報が、前記第１のパケットの送信元の識別情報および送信先の識別情報と一致するか否かについての判定を行い、前記第２のパケットの送信元の識別情報および送信先の識別情報が前記第１のパケットの送信元の識別情報および送信先の識別情報と一致する場合、前記第２のパケットを第１の記憶装置に格納する第１判定部と、
前記第１のパケットの送信元の識別情報および送信先の識別情報を、前記第２の情報処理装置に送信する送信部と、
を有し、
前記第２の情報処理装置が、
前記第１のパケットの送信元の識別情報および送信先の識別情報を、前記第１の情報処理装置から受信する受信部と、
前記ネットワークから受信した第３のパケットの送信元の識別情報および送信先の識別情報が、前記第１のパケットの送信元の識別情報および送信先の識別情報と一致するか否かについての判定を行い、前記第３のパケットの送信元の識別情報および送信先の識別情報が前記第１のパケットの送信元の識別情報および送信先の識別情報と一致する場合、前記第３のパケットを第２の記憶装置に格納する第２判定部と、
を有する情報処理システム。
【符号の説明】
【０１００】
１ａ，１ｂ  情報処理装置
３ａ，３ｂ，３ｃ，３ｄ，３ｅ，３ｆ，３ｇ  スイッチ
１０１  パケット格納部    １０２  アドレス格納部
１０３  第１モードデータ格納部    １０４  第２モードデータ格納部
１０５  エラー検出部    １０６  リトライ検出部
１０７  負荷計測部    １０８  トリガ生成部
１０９  パケット解析部    １１０  トリガ受信部
１１１  トレース制御部
【図１】
0006724583.tif 000002
【図２】
0006724583.tif 000003
【図３】
0006724583.tif 000004
【図４】
0006724583.tif 000005
【図５】
0006724583.tif 000006
【図６】
0006724583.tif 000007
【図７】
0006724583.tif 000008
【図８】
0006724583.tif 000009
【図９】
0006724583.tif 000010
【図１０】
0006724583.tif 000011
【図１１】
0006724583.tif 000012
【図１２】
0006724583.tif 000013
【図１３】
0006724583.tif 000014
【図１４】
0006724583.tif 000015
【図１５】
0006724583.tif 000016