(57)【要約】【課題】通信網を流れるブロックアクセスからディレクトリ構成を再現する通信監視装置を提供する。【解決手段】通信網から、ブロックアクセスのプロトコルで通信された通信パケットを取得する手段と、取得された通信パケットが、ファイルシステム属性が格納されたシステム属性ブロック、ファイル属性が複数格納されたファイル属性ブロック、ファイル名が複数格納されたファイル名ブロックのいずれであるかを判断する手段と、通信パケットがファイル属性ブロックであると判断された場合、システム属性ブロックのアドレスとファイル属性ブロックのアドレスに基づいて、ファイル属性データブロックのブロック番号を算出する手段と、システム属性データとブロック番号に基づいて、ファイル属性データの各識別番号を算出する手段と、各識別番号とファイル名毎に付与された識別番号に基づいて、ファイル属性とファイル名をそれぞれ関連付ける手段とを有する。【選択図】図４
2014191633.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータが、
通信ネットワークから、ブロックアクセスを用いるプロトコルにより通信された通信パケットを取得する取得ステップと、
前記取得ステップによって取得された通信パケットが、ファイルシステムの属性を示すファイルシステム属性データが格納されたシステム属性ブロック、ファイルの属性を示すファイル属性データが複数格納されたファイル属性ブロック、及び前記ファイルの名称を示すファイル名データが複数格納されたファイル名ブロックのいずれに関するものであるかを判断する判断ステップと、
前記判断ステップによって前記通信パケットがファイル属性ブロックに関するものであると判断された場合に、前記システム属性ブロックに付与された第１のアドレスと前記ファイル属性ブロックに付与された第２のアドレスとに基づいて、前記ファイル属性ブロックのブロック番号を算出する第１の算出ステップと、
前記システム属性データと前記第１の算出ステップによって算出されたブロック番号とに基づいて、前記ファイル属性データの各識別番号を算出する第２の算出ステップと、
前記第２の算出ステップによって算出された各識別番号と前記ファイル名データ毎に付与された識別番号とに基づいて、前記ファイル属性ブロックに格納された複数のファイル属性データと前記ファイル名ブロックに格納された複数のファイル名データとをそれぞれ関連付ける第１の関連付ステップと、
を実行する通信監視方法。
【請求項２】
前記第１の関連付けステップによって前記ファイル属性データが関連付けされたファイル名データと前記ファイル名データを前記通信ネットワークに流れさせたコマンドファイルのそれぞれのタイムスタンプに基づいて、前記ファイル名データと前記コマンドファイルとを関連付ける第２の関連付ステップを含むことを特徴とする請求項１に記載の通信監視方法。
【請求項３】
前記第２の関連付けステップは、前記コマンドファイルの対象となった２つのファイルのそれぞれのファイルサイズに基づいて関連付けることを特徴とする請求項２に記載の通信監視方法。
【請求項４】
前記タイムスタンプは、アクセス時刻に関するタイムスタンプ、更新時刻に関するタイムスタンプ、及び修正時刻に関するタイムスタンプの少なくとも１つを含むことを特徴とする請求項２又は３に記載の通信監視方法。
【請求項５】
通信ネットワークから、ブロックアクセスを用いるプロトコルにより通信された通信パケットを取得する取得手段と、
前記取得手段によって取得された通信パケットが、ファイルシステムの属性を示すファイルシステム属性データが格納されたシステム属性ブロック、ファイルの属性を示すファイル属性データが複数格納されたファイル属性ブロック、及び前記ファイルの名称を示すファイル名データが複数格納されたファイル名ブロックのいずれに関するものであるかを判断する判断手段と、
前記判断手段によって前記通信パケットがファイル属性ブロックに関するものであると判断された場合に、前記システム属性ブロックに付与された第１のアドレスと前記ファイル属性ブロックに付与された第２のアドレスとに基づいて、前記ファイル属性データブロックのブロック番号を算出する第１の算出手段と、
前記システム属性データと前記第１の算出手段によって算出されたブロック番号とに基づいて、前記ファイル属性データの各識別番号を算出する第２の算出手段と、
前記第２の算出手段によって算出された各識別番号と前記ファイル名データ毎に付与された識別番号とに基づいて、前記ファイル属性ブロックに格納された複数のファイル属性データと前記ファイル名ブロックに格納された複数のファイル名データとをそれぞれ関連付ける関連付手段と、
を有する通信監視装置。
【請求項６】
通信ネットワークから、ブロックアクセスを用いるプロトコルにより通信された通信パケットを取得する取得ステップと、
前記取得ステップによって取得された通信パケットが、ファイルシステムの属性を示すファイルシステム属性データが格納されたシステム属性ブロック、ファイルの属性を示すファイル属性データが複数格納されたファイル属性ブロック、及び前記ファイルの名称を示すファイル名データが複数格納されたファイル名ブロックのいずれに関するものであるかを判断する判断ステップと、
前記判断ステップによって前記通信パケットがファイル属性ブロックに関するものであると判断された場合に、前記システム属性ブロックに付与された第１のアドレスと前記ファイル属性ブロックに付与された第２のアドレスとに基づいて、前記ファイル属性データブロックのブロック番号を算出する第１の算出ステップと、
前記システム属性データと前記第１の算出ステップによって算出されたブロック番号とに基づいて、前記ファイル属性データの各識別番号を算出する第２の算出ステップと、
前記第２の算出ステップによって算出された各識別番号と前記ファイル名データ毎に付与された識別番号とに基づいて、前記ファイル属性ブロックに格納された複数のファイル属性データと前記ファイル名ブロックに格納された複数のファイル名データとをそれぞれ関連付ける関連付ステップと、
をコンピュータに実行させるための通信監視プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信監視方法、通信監視装置、通信監視プログラムに関する。
【背景技術】
【０００２】
通信プロトコルとしてinternet Small Computer System Interface（ｉＳＣＳＩ：アイスカジー）、Fibre Channel（ＦＣ：ファイバチャネル）やInternet Protocol（ＩＰ）が使用されたIP-Storage Area Network（ＩＰ−ＳＡＮ：アイピーサン）が知られている（例えば、特許文献１、特許文献２参照）。サーバ装置とストレージ装置との間をＩＰ−ＳＡＮとすることによって、装置間でブロックが高速に流れる。尚、ブロックとは、複数のデータが格納されて１つの塊となったものをいう。このように、ブロックを単位とした複数のデータの通信は、例えばブロックアクセスと呼ばれる。
【０００３】
上述したブロックアクセスには、ファイルシステムが使用される。ファイルシステムは、Operating System（ＯＳ）に組み込まれた機能の１つであり、サーバ装置に搭載される。ファイルシステムは、サーバ装置に接続された端末装置からデータの参照や更新といった処理の要求を受け付けると、そのデータが格納されたブロックをストレージ装置から呼び出し、そのデータに対する処理が完了すると再びブロックの状態でストレージ装置に戻す。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−３３１３９２号公報
【特許文献２】特開２００６−３３１４５８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、上述したサーバ装置とストレージ装置との間で行われる通信を監視して、データの入出力関係を把握したいとの要望がある。しかしながら、サーバ装置とストレージ装置との間では、ブロックを単位として複数のデータが流れるため、仮にブロックを取得して参照しただけでは個々のデータに対してどのような処理がなされたか把握できないという問題がある。
【０００６】
特に、ファイル（例えば、通常のファイル及びディレクトリファイル）の名称に関するデータが複数格納されたブロック、及びそのファイルの属性（例えば、アクセス時刻）に関するデータが複数格納されたブロックは、必ずしも一緒に流れない。このため、ファイルに対するアクセス状況やディレクトリファイルの階層構造といった、通常のファイルまで含んだディレクトリファイルの構成を再現できないという問題もある。
【０００７】
そこで、１つの側面では、本発明は、通信ネットワークを流れるブロックアクセスからディレクトリファイルの構成を再現可能な通信監視方法、通信監視装置、通信監視プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本明細書に開示の通信監視方法は、コンピュータが、通信ネットワークから、ブロックアクセスを用いるプロトコルにより通信された通信パケットを取得する取得ステップと、前記取得ステップによって取得された通信パケットが、ファイルシステムの属性を示すファイルシステム属性データが格納されたシステム属性ブロック、ファイルの属性を示すファイル属性データが複数格納されたファイル属性ブロック、及び前記ファイルの名称を示すファイル名データが複数格納されたファイル名ブロックのいずれに関するものであるかを判断する判断ステップと、前記判断ステップによって前記通信パケットがファイル属性ブロックに関するものであると判断された場合に、前記システム属性ブロックに付与された第１のアドレスと前記ファイル属性ブロックに付与された第２のアドレスとに基づいて、前記ファイル属性ブロックのブロック番号を算出する第１の算出ステップと、前記システム属性データと前記第１の算出ステップによって算出されたブロック番号とに基づいて、前記ファイル属性データの各識別番号を算出する第２の算出ステップと、前記第２の算出ステップによって算出された各識別番号と前記ファイル名データ毎に付与された識別番号とに基づいて、前記ファイル属性ブロックに格納された複数のファイル属性データと前記ファイル名ブロックに格納された複数のファイル名データとをそれぞれ関連付ける第１の関連付ステップと、を実行する通信監視方法である。
【０００９】
本明細書に開示の通信監視装置は、通信ネットワークから、ブロックアクセスを用いるプロトコルにより通信された通信パケットを取得する取得手段と、前記取得手段によって取得された通信パケットが、ファイルシステムの属性を示すファイルシステム属性データが格納されたシステム属性ブロック、ファイルの属性を示すファイル属性データが複数格納されたファイル属性ブロック、及び前記ファイルの名称を示すファイル名データが複数格納されたファイル名ブロックのいずれに関するものであるかを判断する判断手段と、前記判断手段によって前記通信パケットがファイル属性ブロックに関するものであると判断された場合に、前記システム属性ブロックに付与された第１のアドレスと前記ファイル属性ブロックに付与された第２のアドレスとに基づいて、前記ファイル属性データブロックのブロック番号を算出する第１の算出手段と、前記システム属性データと前記第１の算出手段によって算出されたブロック番号とに基づいて、前記ファイル属性データの各識別番号を算出する第２の算出手段と、前記第２の算出手段によって算出された各識別番号と前記ファイル名データ毎に付与された識別番号とに基づいて、前記ファイル属性ブロックに格納された複数のファイル属性データと前記ファイル名ブロックに格納された複数のファイル名データとをそれぞれ関連付ける関連付手段と、を有する通信監視装置である。
【００１０】
本明細書に開示の通信監視プログラムは、通信ネットワークから、ブロックアクセスを用いるプロトコルにより通信された通信パケットを取得する取得ステップと、前記取得ステップによって取得された通信パケットが、ファイルシステムの属性を示すファイルシステム属性データが格納されたシステム属性ブロック、ファイルの属性を示すファイル属性データが複数格納されたファイル属性ブロック、及び前記ファイルの名称を示すファイル名データが複数格納されたファイル名ブロックのいずれに関するものであるかを判断する判断ステップと、前記判断ステップによって前記通信パケットがファイル属性ブロックに関するものであると判断された場合に、前記システム属性ブロックに付与された第１のアドレスと前記ファイル属性ブロックに付与された第２のアドレスとに基づいて、前記ファイル属性データブロックのブロック番号を算出する第１の算出ステップと、前記システム属性データと前記第１の算出ステップによって算出されたブロック番号とに基づいて、前記ファイル属性データの各識別番号を算出する第２の算出ステップと、前記第２の算出ステップによって算出された各識別番号と前記ファイル名データ毎に付与された識別番号とに基づいて、前記ファイル属性ブロックに格納された複数のファイル属性データと前記ファイル名ブロックに格納された複数のファイル名データとをそれぞれ関連付ける関連付ステップと、をコンピュータに実行させるための通信監視プログラムである。
【発明の効果】
【００１１】
本明細書に開示の通信監視方法、通信監視装置、通信監視プログラムによれば、通信ネットワークを流れるブロックアクセスからディレクトリファイルの構成を再現することができる。
【図面の簡単な説明】
【００１２】
【図１】図１は、通信監視システムの構成を概略的に示す図である。
【図２】図２（ａ）は、ファイルシステム属性データのデータ構造の一例である。図２（ｂ）は、ファイル名データのデータ構造の一例である。
【図３】図３は、ファイル属性データのデータ構造の一例である。
【図４】図４は、通信監視装置のブロック図の一例である。
【図５】図５は、通信監視装置のハードウェア構成の一例である。
【図６】図６は、通信パケット取得部で実行される処理ステップを例示するフローチャートである。
【図７】図７は、構成再現部で実行される処理ステップを例示するフローチャートである。
【図８】図８（ａ）は、システム属性処理の処理ステップを例示するフローチャートである。図８（ｂ）は、ファイル名処理の処理ステップを例示するフローチャートである。
【図９】図９は、ファイル属性処理の処理ステップを例示するフローチャートである。
【図１０】図１０（ａ）は、ブロック番号算出を説明するための図である。図１０（ｂ）は、識別番号算出を説明するための図である。図１０（ｃ）は、ファイル名データとファイル属性データとの関連付けを説明するための図である。
【図１１】図１１は、構成記憶部に記憶された構成データの一例である。
【図１２】図１２は、アクセス推測部で実行される処理ステップを例示するフローチャートである。
【図１３】図１３は、第１の判断処理の処理ステップを例示するフローチャートである。
【図１４】図１４は、第２の判断処理の処理ステップを例示するフローチャートである。
【図１５】図１５（ａ）は、コマンドファイルの一例である。図１５（ｂ）は、参照リストの一例である。図１５（ｃ）は、更新リストの一例である。
【図１６】図１６は、ログ記憶部に記憶されたアクセスログの一例である。
【発明を実施するための形態】
【００１３】
以下、本発明を実施するための形態について図面を参照して説明する。
【００１４】
図１は、通信監視システムＳの構成を概略的に示す図である。通信監視システムＳは、図１に示すように、端末装置１００、サーバ装置２００、ストレージ装置３００、及び通信監視装置４００を備えている。端末装置１００とサーバ装置２００とは、Local Area Network（ＬＡＮ）１５０を介して接続される。サーバ装置２００とストレージ装置３００とはＬＡＮ３５０を介して接続される。尚、サーバ装置２００はイニシエータとも呼ばれる。ストレージ装置３００はターゲットとも呼ばれる。ＬＡＮ３５０にはＩＰネットワークが含まれる。ＩＰネットワークには、ＩＰをベースとしたＳＡＮ（ＩＰ−ＳＡＮ）が含まれる。端末装置１００とサーバ装置２００とが、ＬＡＮ３５０を介して接続されていてもよい。
【００１５】
端末装置１００は、入力装置、表示装置、並びに入力装置及び表示装置を制御する制御装置を備えている。端末装置１００は、ＬＡＮ１５０に接続されている。端末装置１００としては、例えばPersonal Computer（ＰＣ）が該当する。端末装置１００を利用する利用者は、入力装置又は表示装置を通じてファイル名を指定し、サーバ装置２００に対してファイルへのアクセスを要求することができる。制御装置はファイルへのアクセスが要求されると、ファイルへのアクセス要求と指定されたファイル名とをＴＣＰ／ＩＰパケット（以下、通信パケットという。）に含めてサーバ装置２００に送信する。
【００１６】
サーバ装置２００は、ネットワークアダプタ２１０、及びＯＳ２２０を備えている。
ネットワークアダプタ２１０は、サーバ装置１００をＬＡＮ１５０及びＬＡＮ３５０に接続するための機器である。ネットワークアダプタ２１０は、端末装置１００から送信された通信パケットを受信すると、当該通信パケットを後述するＴＣＰ／ＩＰ処理部２２１に送信する。
【００１７】
ＯＳ２２０は、ＴＣＰ／ＩＰ処理部２２１、ファイルシステム２２２、ＳＣＳＩドライバ２２３、ｉＳＣＳＩドライバ２２４としての機能を含んでいる。ＯＳ２２０としては、例えばＵＮＩＸ（登録商標）やＬｉｎｕｘ（登録商標）などがある。
ＴＣＰ／ＩＰ処理部２２１は、ＴＣＰに関するプロトコル処理、及びＩＰに関するプロトコル処理を行う。ＴＣＰ／ＩＰ処理部２２１は、ネットワークアダプタ２１０から送信された通信パケットに対しプロトコル処理を行って、通信パケットの中身であるファイルへのアクセス要求及び指定されたファイル名を取り出し、ファイルシステム２２２に送信する。
【００１８】
ファイルシステム２２２は、ＴＣＰ／ＩＰ処理部２２１から送信されたファイルへのアクセス要求をブロックへのアクセス要求に変換する。ファイルシステム２２２は、ブロックへのアクセス要求と指定されたファイル名とをＳＣＳＩドライバ２２３に送信する。尚、ファイルシステム２２２には、例えばＬｉｎｕｘ系のthird extended file system（ｅｘｔ３）がある。
【００１９】
ＳＣＳＩドライバ２２３は、ブロックへのアクセス要求を受信すると、ＳＣＳＩ Ｒｅａｄコマンドを発行する。ＳＣＳＩドライバ２２３は、ＳＣＳＩ Ｒｅａｄコマンドと指定されたファイル名とをｉＳＣＳＩドライバ２２４に送信する。
ｉＳＣＳＩドライバ２２４は、ＳＣＳＩ Ｒｅａｄコマンドと指定されたファイル名とを受信すると、ＳＣＳＩ Ｒｅａｄコマンドと指定されたファイル名とを別々にカプセル化する。カプセル化されたＳＣＳＩ Ｒｅａｄコマンドは、例えばＳＣＳＩコマンドパケットとも呼ばれる。カプセル化されたファイル名は、例えばＳＣＳＩデータアウトパケットとも呼ばれる。ｉＳＣＳＩドライバ２２４は、ＳＣＳＩコマンドパケット及びＳＣＳＩデータアウトパケットをＴＣＰ／ＩＰ処理部２２１に送信する。
【００２０】
ＴＣＰ／ＩＰ処理部２２１では、ＳＣＳＩコマンドパケットを含む通信パケットとＳＣＳＩデータアウトパケットを含む通信パケットとが生成される。これらの通信パケットは、ネットワークアダプタ２１０及びＬＡＮ３５０を介してストレージ装置３００に送信される。尚、ＳＣＳＩコマンドパケットを含む通信パケットが先に送信されて、データ送信を促す所定の通信パケット（例えばReady To Transfer）があってからＳＣＳＩデータアウトパケットを含む通信パケットが送信される。
【００２１】
ストレージ装置３００は、Hard Disk Drive（ＨＤＤ）３１０、Redundant Arrays of Inexpensive Disks（ＲＡＩＤ）コントローラ３２０を備えている。
ＨＤＤ３１０は、ファイルシステム属性データ３１１、ファイル名データ３１２、ファイル属性データ３１３を記憶している。ファイルシステム属性データ３１１、ファイル名データ３１２、及びファイル属性データ３１３は、それぞれブロック単位で記憶されている。尚、ファイルシステム属性データ３１１、ファイル名データ３１２、ファイル属性データ３１３については、後に詳しく説明する。
【００２２】
ＲＡＩＤコントローラ３２０は、上述した各種のプロトコルを備えている。ＲＡＩＤコントローラ３２０は、サーバ装置２００から通信パケットを受信すると、プロトコルの処理を行って通信パケットの中身であるＳＣＳＩ Ｒｅａｄコマンドと指定されたファイル名とを抽出する。そして、当該ファイル名に基づいて、そのファイル名を含むブロックをＨＤＤ３１０に記憶されたファイル名データ３１２から抽出する。ＲＡＩＤコントローラ３２０は、抽出したブロックをカプセル化する。カプセル化されたブロックは、例えばＳＣＳＩデータインパケットとも呼ばれる。ＲＡＩＤコントローラ３２０は、ＳＣＳＩデータインパケットを含む通信パケットを生成し、サーバ装置２００に送信する。
【００２３】
ストレージ装置３００からサーバ装置２００に通信パケットが到着すると、ＴＣＰ／ＩＰ処理部２２１、ＳＣＳＩドライバ２２３及びｉＳＣＳＩドライバ２２４によって各種のプロトコル処理が行われて、通信パケットの中身であるブロックが抽出される。その後ファイルシステム２２２は、ブロックに付与された識別番号（詳細は後述）に基づいて、同様の通信手法によりファイルシステム属性データ３２１を含むブロックを取得する。また、ファイルシステム２２２は、ファイルシステム属性データ３２１を含むブロックを取得すると、ブロックに付与されたアドレス（詳細は後述）に基づいてファイル属性データ３２３を含むブロックを取得する。
【００２４】
このように、ｉＳＣＳＩを含むブロックアクセスを用いるプロトコルにより通信された結果、ＬＡＮ３５０には、各種のブロックを含む通信パケット、各種のブロックを含まない通信パケット（例えば、指定されたファイル名や識別番号を含む通信パケットなど）、上述したデータ送信を促す所定の通信パケット等が別々に流れている。それ以外にもＬＡＮ３５０には、多種多様の通信パケットが流れている。通信監視装置４００は、ＬＡＮ３５０に流れているこれらの通信パケットを監視する。通信監視装置４００は、通信パケットを取得し、これらを解析する。尚、通信監視装置４００の詳細は後述する。
【００２５】
続いて、上述したファイルシステム属性データ３１１、ファイル名データ３１２、及びファイル属性データ３１３のデータ構造について説明する。
【００２６】
図２（ａ）は、ファイルシステム属性データ３１１のデータ構造の一例である。図２（ｂ）は、ファイル名データ３１２のデータ構造の一例である。図３は、ファイル属性データ３１３のデータ構造の一例である。
ファイルシステム属性データ３１１は、図２（ａ）に示すように、ブロック総数、ブロック数／グループ、ブロックサイズ、属性数／グループ、リザーブＧＤＴブロック数、及び属性サイズをデータフォーマットとして備えている。ブロック総数は、ファイルシステム２２１が扱っているブロックの総数を示している。ブロック数／グループは、１ブロックグループあたりのブロック数を示している。ブロックサイズは、１つのブロックの大きさ（bytes）を示している。属性数／グループは、１ブロックグループあたりの属性数を示している。リザーブＧＤＴブロック数は、拡張用に予約されたブロック数を示している。属性サイズは、１つの属性の大きさ（bytes）を示している。ファイルシステム属性データ３１１は、本実施形態では１ブロックであり、このブロックにはアドレス「８」が付与されている。ファイルシステム属性データ３１１は、例えばスーパーブロックとも呼ばれる。属性サイズは、例えばアイノードサイズ（Inode size）とも呼ばれる。
【００２７】
ファイル名データ３１２は、図２（ｂ）に示すように、識別番号及びファイル名をデータフォーマットとして備えている。ファイル名データ３１２は、親ディレクトリファイルへのポインタも備えている。ファイル名は、利用者やサーバ装置によって付与されたファイルの名称である。ファイル名には、ディレクトリファイルを表すファイル名（例えば「Ａ０００１／」）、及び通常のファイルを表すファイル名（例えば「Ｚ９９９９」）がある。識別番号は、ファイルシステム２２２がディレクトリファイルや通常のファイルを識別するために利用する一意な番号である。識別番号はファイル名毎に付与されている。ファイル名データ３１２は数ブロックを含み、それぞれのブロックに対しアドレスが付与されている。ファイル名がディレクトリを表すファイル名である場合には、ファイル名データ３１２は、自己の直下にあるファイル（通常ファイル、ディレクトリファイル）の識別番号付きリストも備えている。識別番号付きリストにより、ディレクトリファイルとそのディレクトリファイルの直下にあるディレクトリファイルとの階層構造、及びディレクトリファイルとそのディレクトリファイルの直下にある通常のファイルとの階層構造が把握できる。尚、ファイル名データ３１２は、例えばdirectory entry（ディレクトリエントリ）やdentry（デントリ）とも呼ばれる。識別番号は、例えばアイノード番号（inode番号）とも呼ばれる。
【００２８】
ファイル属性データ３１３は、図３に示すように、所有者、サイズ、アクセス時刻（access time）、更新時刻（modify time）、修正時刻（change time）、モード（ファイルモード）をデータフォーマットとして備えている。必要に応じて、ファイル属性データ３２３に削除時刻（delete time）が含まれていてもよい。所有者はファイルの所有者を示している。サイズはファイルのサイズ（bytes）を示している。アクセス時刻は、そのファイルが最後に参照（アクセス）された時刻を示している。更新時刻は、そのファイルが最後に更新された時刻を示している。修正時刻は、そのファイル又はそのファイルの属性が最後に修正された時刻を示している。ファイルが更新された場合には、更新時刻と修正時刻が共に変化する。尚、アクセス時刻、更新時刻及び修正時刻は、本実施形態においてそれぞれ記号によって表されているが、これらの時刻は、ｈｈ：ｍｍ：ｓｓ：ｍｓといった時刻形式で表すことができる。
【００２９】
モードは、そのファイルのファイルモードを示している。モード「ｄ」は、そのファイルがディレクトリファイルであることを示している。モード「−」は、そのファイルが通常のファイルであることを示している。ファイル属性データ３２３は数ブロックを含み、それぞれのブロックに対しアドレス（例えば、アドレス「２７０３６８」）が付与されている。尚、ファイル属性データ３１３は、識別番号順になっているが、ファイル属性データ３１３には、識別番号が含まれていない。このため、識別番号を含むファイル名データ３１２と識別番号が含まれていないファイル属性データ３１３とを直接的に関連付けすることができない。尚、ファイル属性データ３１３は、例えばアイノードとも呼ばれる。
【００３０】
続いて、上述した通信監視装置４００について図４を参照して説明する。
【００３１】
図４は、通信監視装置４００のブロック図の一例である。
通信監視装置４００は、通信パケット取得部４１０、ｉＳＣＳＩ記憶部４２０、構成再現部４３０、構成記憶部４４０、アクセス推測部４５０、ログ記憶部４６０を含んでいる。
【００３２】
通信パケット取得部４１０は、ＬＡＮ３５０から通信パケットを取得（キャプチャ）する。通信パケット取得部４１０は、取得した通信パケットが、ｉＳＣＳＩにより通信された通信パケットである場合、その通信パケットの中身であるブロック、指定されたファイル名、識別番号又はアドレス（以下、ブロック等という。）をｉＳＣＳＩ記憶部４２０に保存する。尚、ブロックアクセスに関するプロトコルとしては、上述したｉＳＣＳＩのほか、例えばFibre Channel over IP（ＦＣＩＰ）、internet Fibre Channel Protocol（ｉＦＣＰ）がある。通信パケット取得部４１０は、取得した通信パケットが、ｉＳＣＳＩが使用されていない通信パケットである場合、その通信パケットを破棄する。
【００３３】
構成再現部４３０は、ｉＳＣＳＩ記憶部４２０に保存されたブロックを解析して、通常のファイルまで含んだディレクトリファイルの構成を再現する。構成再現部４３０は、ブロック判断部４３１、ブロック番号算出部４３２、識別番号算出部４３３、第１の関連付部４３４を備えている。
【００３４】
ブロック判断部４３１は、ｉＳＣＳＩ記憶部４２０に保存されたブロック等が所定のブロックに関するものであるかを判断する。すなわち、ブロック判断部４３１は、システム属性ブロック、ファイル属性ブロック、及びファイル名ブロックのいずれに関するものであるかを判断する。システム属性ブロックは、ファイルシステムの属性を示すファイルシステム属性データ３１１が格納されたブロックである。ファイル属性ブロックは、ファイルの属性を示すファイル属性データ３１３が複数格納されたブロックである。ファイル名ブロックは、ファイルの名称を示すファイル名データ３１２が複数格納されたブロックである。システム属性ブロック、ファイル属性ブロック、及びファイル名ブロックのいずれに関するものであるかの判断は、データフォーマットに基づいて行われる。例えば、取得したブロック等の先頭から数ビットがブロック総数を示していれば、システム属性ブロックと判断される。同様に、先頭から数ビットが識別番号とファイル名を示していれば、ファイル名ブロックと判断され、所有者を示していればファイル属性ブロックと判断される。一方、取得したブロック等の先頭から数ビットがファイル名を示していれば、所定のブロックと判断されない。また、先頭から数ビットが識別番号であるもののファイル名を示していなければ、所定のブロックと判断されない。
【００３５】
ブロック番号算出部４３２は、ブロック判断部４３１によってブロック等がファイル属性ブロックに関するものであると判断された場合に、システム属性ブロックに付与されたアドレスとファイル属性ブロックに付与されたアドレスとに基づいて、ファイル属性ブロックのブロック番号を算出する。ブロック番号の算出式は以下の通りである。尚、ブロック番号の算出式で使用されるｉｎｔは、小数点以下を切り捨てる関数である。
（ブロック番号の算出式）
ブロック番号＝ｉｎｔ（（「ファイル属性ブロックに付与されたアドレス」−「システム属性ブロックに付与されたアドレス」）×５１２÷「ブロックサイズ」）
ここで、上述した図２（ａ）に示されたシステム属性ブロックに付与されたアドレス「８」及びブロックサイズ「４０９６」、図３に示されたファイル属性ブロックに付与されたアドレス「２７０３６８」を用いて計算すると、ブロック番号「３３７９５」となる。すなわち、ファイル属性ブロックにはブロック番号「３３７９５」が付与されていることが分かる。
【００３６】
識別番号算出部４３３は、ファイルシステム属性データ３１１とブロック番号算出部４３２によって算出されたブロック番号とに基づいて、ファイル属性データの各識別番号を算出する。識別番号算出部４３３は、まず、先頭の識別番号を算出する。先頭の識別番号の算出式は以下の通りである。尚、先頭の識別番号の算出式及び属性数／ブロックの算出式で使用されるｉｎｔは、小数点以下を切り捨てる関数である。
（先頭の識別番号の算出式）
先頭の識別番号の算出式＝「属性数／グループ」×ｉｎｔ（「ブロック番号」÷「ブロック数／グループ」）＋（「ブロック番号」−（「ブロック数／グループ」×ｉｎｔ（「ブロック番号」÷「ブロック数／グループ」）＋「先頭までのオフセット」−１）−１）×「属性数／ブロック」＋１
（属性数／ブロックの算出式）
属性数／ブロック＝ｉｎｔ（「ブロックサイズ」÷「属性サイズ」）
【００３７】
ここで、上述した「先頭までのオフセット」は、所定の計算式による計算結果によって変わる。まず、所定の計算式は以下の通りである。尚、所定の算出式で使用されるｉｎｔは、小数点以下を切り捨てる関数である。
（所定の計算式）
計算結果＝ｉｎｔ（「ブロック番号」÷「ブロック数／グループ」）
計算結果が「０」、「１」並びに「３」、「５」、及び「７」の累乗の場合、以下に示す先頭までのオフセットの算出式が使用される。尚、先頭までのオフセットの算出式で使用されるｉｎｔは、小数点以下を切り上げる関数である。
（先頭までのオフセットの算出式）
先頭までのオフセット＝３＋「リザーブＧＤＴブロック数」＋ｉｎｔ（ｉｎｔ（「ブロック総数」÷「ブロック数／グループ」）×３２÷「ブロックサイズ」）
一方、計算結果が「０」、「１」並びに「３」、「５」、及び「７」の累乗以外の場合、数値「２」が先頭までのオフセットとなる。
【００３８】
ここで、ブロック番号算出部４３２によって算出されたブロック番号「３３７９５」と、上述した図２（ａ）に示されたブロック数／グループ「３２７６８」とを用いて、所定の計算式を計算すると、計算結果「１」が得られる。したがって、上述した先頭までのオフセットの算出式が使用される。
さらに、図２（ａ）に示されたリザーブＧＤＴブロック数「１０１５」、ブロック総数「３５３０７５２０」、ブロック数／グループ「３２７６８」、ブロックサイズ「４０９６」を用いて、先頭までのオフセットの算出式を計算すると、先頭までのオフセット「１０２６」が得られる。
【００３９】
したがって、ブロックサイズ「４０９６」、属性サイズ「１２８」を用いて、属性数／ブロックの算出式を計算すると、属性数／ブロック「３２」が得られる。さらに、先頭までのオフセット「１０２６」、ブロック番号算出部４３２によって算出されたブロック番号「３３７９５」、図２（ａ）に示された属性数／グループ「３２７６８」、ブロック数／グループ「３２７６８」、属性数／ブロック「３２」を用いて、先頭の識別番号の算出式を計算すると、先頭の識別番号「３２７６９」が得られる。
この結果、２番目の識別番号は、先頭の識別番号に「１」を加算した「３２７７０」が得られる。以後、同様に計算されると、最後の識別番号は、先頭の識別番号「３２７６９」に属性数／ブロック「３２」を加算して得られる。すなわち、最後の識別番号「３２８０１」が得られる。
【００４０】
第１の関連付部４３４は、識別番号算出部４３３によって算出された各識別番号とファイル名データ３１２毎に付与された識別番号とに基づいて、ファイル属性ブロックに格納された複数のファイル属性データ３１３とファイル名ブロックに格納された複数のファイル名データ３１２とをそれぞれ関連付ける。さらに、第１の関連付部４３４は、ディレクトリファイルにある識別番号付きリストに基づいて、ディレクトリファイル同士、及びディレクトリファイルと通常のファイルとを関連付ける。この結果、通常のファイルまで含んだディレクトリファイルの構成が再現される。第１の関連付部４３４は、関連付けたファイル名データ３１２とファイル属性データ３１３とを構成データとして構成記憶部４４０に保存する。
【００４１】
アクセス推測部４５０は、構成記憶部４４０に保存された構成データを解析し、構成データに対するアクセスの状況を推測する。アクセス推測部４５０は、第２の関連付部４５１を備えている。
第２の関連付部４５１は、構成データと、ファイル名データ３１２をＬＡＮ３５０に流れさせたコマンドファイルのそれぞれのタイムスタンプに基づいて、構成データとコマンドファイルとを関連付ける。また、第２の関連付部４５１は、コマンドファイルの対象となったファイル同士をそれぞれのファイルサイズに基づいて、関連付ける。タイムスタンプには、アクセス時刻に関するタイムスタンプ、更新時刻に関するタイムスタンプ、及び修正時刻に関するタイムスタンプの少なくとも１つが含まれる。第２の関連付部４５１は、関連付けた結果をログ記憶部４６０に保存する。
【００４２】
ここで、通信監視装置４００のハードウェア構成について図５を参照して説明する。
【００４３】
図５は、通信監視装置４００のハードウェア構成の一例である。
通信監視装置４００は、Central Processing Unit（ＣＰＵ）４００ａ、Random Access Memory（ＲＡＭ）４００ｂ、Read Only Memory（ＲＯＭ）４００ｃ、Hard Disc Drive（ＨＤＤ）４００ｄを含んでいる。通信監視装置４００は、入力Interface（Ｉ／Ｆ）４００ｅ、出力Ｉ／Ｆ４００ｆ、入出力Ｉ／Ｆ４００ｇも含んでいる。通信監視装置４００は、ドライブ装置４００ｈ、ネットワークアダプタ４００ｉも含んでいる。これらの各機器４００ａ〜４００ｉは、バス４００ｊによって互いに接続されている。少なくともＣＰＵ４００ａとＲＡＭ４００ｂとが協働することによってコンピュータが実現される。
【００４４】
入力Ｉ／Ｆ４００ｅには、入力装置５１０が接続される。入力装置としては、例えばキーボードやマウスなどがある。
出力Ｉ／Ｆ４００ｆには、出力装置が接続される。出力装置としては、例えば表示装置５２０（例えば液晶ディスプレイ）や印刷装置５３０（例えばプリンタ）がある。
入出力Ｉ／Ｆ４００ｇには、半導体メモリ５４０が接続される。半導体メモリ５４０としては、例えばUniversal Serial Bus（ＵＳＢ）メモリやフラッシュメモリなどがある。入出力Ｉ／Ｆ４００ｇは、半導体メモリ５４０に記憶されたプログラムやデータを読み取る。
入力Ｉ／Ｆ４００ｅ、出力Ｉ／Ｆ４００ｆ、及び入出力Ｉ／Ｆ４００ｇは、例えばＵＳＢポートを備えている。
【００４５】
ドライブ装置４００ｈには、可搬型記録媒体５５０が挿入される。可搬型記録媒体５５０としては、例えばCompact Disc（ＣＤ）−ＲＯＭ、Digital Versatile Disc（ＤＶＤ）といったリムーバブルディスクがある。ドライブ装置４００ｈは、可搬型記録媒体５５０に記録されたプログラムやデータを読み込む。
ネットワークアダプタ４００ｉには、例えばネットワークケーブルの一端が接続される。ネットワークケーブルの他端は、サーバ装置２００及びストレージ装置３００と接続される。
【００４６】
上述したＲＡＭ４００ｂは、ＲＯＭ４００ｃやＨＤＤ４００ｄ、半導体メモリ５４０に記憶された通信監視プログラムを読み込む。ＲＡＭ４００ｂは、可搬型記録媒体５５０に記録された通信監視プログラムを読み込む。読み込まれた通信監視プログラムをＣＰＵ４００ａが実行することにより、各記憶部４２０，４４０，４６０を除く通信監視装置４００の各機能４１０，４３０，４３１，・・・，４５１が実現される。また、通信監視方法の各処理ステップも通信監視装置４００により実行される。通信監視プログラムは、後述するフローチャートに応じたものとすればよい。
尚、サーバ装置２００及びストレージ装置３００のハードウェア構成も基本的に通信監視装置４００のハードウェア構成と同様である。
【００４７】
次に、通信監視装置４００で実行される通信監視方法について説明する。
【００４８】
図６は、通信パケット取得部４１０で実行される処理ステップを例示するフローチャートである。
通信パケット取得部４１０は、まずＬＡＮ３５０から通信パケットを取得する（ステップＳ１１０）。通信パケット取得部４１０は、ここで取得した通信パケットが、ｉＳＣＳＩにより通信された通信パケットであるか否かを判断する（ステップＳ１２０）。当該判断は、例えば取得した通信パケットに対しＴＣＰ／ＩＰに関するプロトコル処理を行って、ｉＳＣＳＩに関連するパケットが抽出されるか否かによって行われる。例えば、ＳＣＳＩコマンドパケット、ＳＣＳＩデータアウトパケット、ＳＣＳＩデータインパケット等が抽出されれば、ｉＳＣＳＩが使用された通信パケットであると判断される。尚、ＩＰアドレスやポート番号が利用されて判断されてもよい。
【００４９】
通信パケット取得部４１０は、取得した通信パケットが、ｉＳＣＳＩにより通信された通信パケットであると判断した場合（Ｓ１２０：ＹＥＳ）、取得した通信パケットの中身をｉＳＣＳＩ記憶部４２０に保存する（ステップＳ１３０）。より詳しくは、取得した通信パケットに対し、ＴＣＰ／ＩＰに関するプロトコル処理が行われて抽出されたブロック等をｉＳＣＳＩ記憶部４２０に保存する。尚、通信パケット取得部４１０は、取得した通信パケットが、ｉＳＣＳＩにより通信された通信パケットでないと判断した場合（Ｓ１２０：ＮＯ）、ステップＳ１３０の処理を行わない。このため、ｉＳＣＳＩ記憶部４２０には、ｉＳＣＳＩにより通信された通信パケットの中身（ブロック等）だけが記憶される。通信パケット取得部４１０は、終了指示があるまで、ステップＳ１１０からＳ１３０までの処理を行う（ステップＳ１５０）。
【００５０】
図７は、構成再現部４３０で実行される処理ステップを例示するフローチャートである。
ブロック判断部４３１は、ｉＳＣＳＩ記憶部４２０から通信パケットの中身の１つを抽出する（ステップＳ２１０）。すなわち、ブロック等の１つが抽出される。ブロック判断部４３１は、ここで、ブロック等がシステム属性ブロックであるか否かを判断する（ステップＳ２２０）。ブロック判断部４３１は、ブロック等がシステム属性ブロックであると判断した場合（ステップＳ２２０：ＹＥＳ）、後述のシステム属性処理が実行される（ステップＳ２３０）。
【００５１】
一方、ブロック判断部４３１は、ブロック等がシステム属性ブロックでないと判断した場合（ステップＳ２２０：ＮＯ）、ブロック等がファイル名ブロックであるか否かを判断する（ステップＳ２４０）。ブロック判断部４３１は、ブロック等がファイル名ブロックであると判断した場合（ステップＳ２４０：ＹＥＳ）、後述のファイル名処理が実行される（ステップＳ２５０）。
【００５２】
一方、ブロック判断部４３１は、ブロック等がファイル名ブロックでないと判断した場合（ステップＳ２４０：ＮＯ）、ブロック等がファイル属性ブロックであるか否かを判断する（ステップＳ２６０）。ブロック判断部４３１は、ブロック等がファイル属性ブロックであると判断した場合（ステップＳ２６０：ＹＥＳ）、後述のファイル属性処理が実行される（ステップＳ２７０）。ブロック判断部４３１は、終了指示があるまで（ステップＳ２８０）、ステップＳ２１０からＳ２７０の処理を繰り返す。尚、ブロック等のすべてに対する判断が終了した場合に、構成再現部４３０の動作が終わってもよい。
【００５３】
次に、上述したシステム属性処理、及びファイル名処理のそれぞれについて、図８を参照して順に説明する。
【００５４】
図８（ａ）は、システム属性処理の処理ステップを例示するフローチャートである。
ブロック判断部４３１は、上述したステップＳ２２０の判断処理において、システム属性ブロックであると判断した場合、図８（ａ）に示すように、抽出したシステム属性ブロックを保持する（ステップＳ２３１）。より詳しくは、システム属性ブロックに格納されたファイルシステム属性データ３１１を保持する。ブロック判断部４３１は、ファイルシステム属性データ３１１を保持すると、処理を終了する。ブロック判断部４３１によって保持されたファイルシステム属性データ３１１は、後述の格納ブロック番号を算出する処理、及び識別番号を算出する処理で使用される。尚、ファイルシステム属性データ３１１は、システム属性用の所定のテーブルに保持される。当該所定のテーブルは、ＲＡＭ４００ｂの記憶領域に形成される。
【００５５】
図８（ｂ）は、ファイル名処理の処理ステップを例示するフローチャートである。
ブロック判断部４３１は、上述したステップＳ２４０の判断処理において、ファイル名ブロックであると判断した場合、図８（ｂ）に示すように、同一の識別番号のファイル属性があるか否かを判断する（ステップＳ２５１）。ここで、詳細はステップＳ２７６で説明するが、ファイル属性ブロックに格納されたファイル属性データ３１３のそれぞれには、算出された識別番号が付与され、識別番号が付与されたファイル属性データ３１３は、ファイル属性用の所定のテーブルに保持されている。ブロック判断部４３１は、当該所定のテーブルに、ファイル名ブロックに格納されたファイル名データ３１２のそれぞれに付与された識別番号と同一の識別番号を有するファイル属性データ３１３があるか否かを判断する。
【００５６】
ブロック判断部４３１が、同一の識別番号のファイル属性があると判断した場合（ステップＳ２５１：ＹＥＳ）、第１の関連付部４３４は、ファイル名データ３１２とファイル属性データ３１３を関連付ける（ステップＳ２５２）。その後、第１の関連付部４３４は、関連付けられたファイル名データ３１２及びファイル属性データ３１３を構成データとして構成記憶部４４０に保存する（ステップＳ２５３）。尚、ブロック判断部４３１が、同一の識別番号のファイル属性がないと判断した場合（ステップＳ２５１：ＮＯ）、第１の関連付部４３４は、ステップＳ２５２の関連付処理を行わずに、ファイル名ブロックに格納されたファイル名データ３１２をそのまま構成記憶部４４０に上書き保存する（ステップＳ２５３）。当該ファイル名データ３１２は、ファイル属性データ３１３に対する識別番号が算出されて関連付けられるまで構成記憶部４４０で待機する。
【００５７】
次に、上述したファイル属性処理について、図９及び図１０を参照して説明する。
【００５８】
図９は、ファイル属性処理の処理ステップを例示するフローチャートである。図１０（ａ）は、ブロック番号算出を説明するための図である。図１０（ｂ）は、識別番号算出を説明するための図である。図１０（ｃ）は、ファイル名データ３１２とファイル属性データ３１３との関連付けを説明するための図である。
【００５９】
ブロック判断部４３１が、上述したステップＳ２６０の判断処理において、ファイル属性ブロックであると判断した場合、図９に示すように、ブロック番号算出部４３２は、格納ブロック番号を算出する（ステップＳ２７１）。すなわち、複数のファイル属性データ３１３が格納されたファイル属性ブロックの番号が算出される。格納ブロック番号の算出は、上述したブロック番号の算出式、システム属性用の所定のテーブルに保持されたファイルシステム属性データ３１１、システム属性データに付与されたアドレス、及びファイル属性ブロックに付与されたアドレスに基づいて行われる。この結果、図１０（ａ）に示すように、ファイル属性ブロックに対するブロック番号「３３７９５」が得られる。
【００６０】
ブロック番号算出部４３２が格納ブロック番号を算出すると、次いで、識別番号算出部４３３が、識別番号を算出する（ステップ２７２）。識別番号の算出は、上述した先頭の識別番号の算出式、属性数／ブロックの算出式、所定の計算式、先頭までのオフセットの算出式、格納ブロック番号、及びファイルシステム属性データ３１１に基づいて行われる。この結果、図１０（ｂ）に示すように、ファイル属性ブロックに格納された複数のファイル属性データ３１３に対する識別番号「３２７６９」，・・・，「３２８０１」が得られる。
【００６１】
次いで、第１の関連付部４３４は、算出された識別番号のファイル名があるか否かを判断する（ステップ２７３）。上述したように、構成記憶部４４０にはファイル属性データ３１３がまだ関連付けられていないファイル名データ３１２が記憶されている。ファイル名データ３１２には識別番号が付与されているため、算出された識別番号と同一の識別番号が付与されたファイル名データ３１２があるか否かを判断する。第１の関連付部４３４は、算出された識別番号のファイル名があると判断した場合（ステップ２７３：ＹＥＳ）、ファイル名データ３１２とファイル属性データ３１３とを関連付ける（ステップＳ２７４）。関連付けは、図１０（ｃ）に示すように、算出された各識別番号とファイル名データ３１２に付与された各識別番号との対比に基づいて行われる。併せて、ディレクトリファイルと通常のファイルとの関連付けも行われる。これにより、通常のファイルまでが含まれたディレクトリファイルの構成が再現される。その後、第１の関連付部４３４は、関連付けられたファイル名データ３１２及びファイル属性データ３１３を構成データとして構成記憶部４４０に上書き保存する（ステップＳ２７５）。
【００６２】
尚、第１の関連付部４３４は、算出された識別番号のファイル名がないと判断した場合（ステップ２７３：ＮＯ）、ファイル属性ブロックを保持する（ステップＳ２７６）。すなわち、ファイル属性ブロックに格納された複数のファイル属性データ３１３が保持される。上述したように、ファイル属性ブロックに格納されたファイル属性データ３１３のそれぞれには、既にステップＳ２７２の処理によって算出された識別番号が付与されている。識別番号が付与されたファイル属性データ３１３は、ファイル属性用の所定のテーブルに保持される。当該所定のテーブルは、ＲＡＭ４００ｂの記憶領域に形成される。そして、保持されたファイル属性データ３１３は、ステップＳ２５１の判断処理の際に使用される。
【００６３】
図１１は、構成記憶部４４０に記憶された構成データの一例である。
図１１に示すように、構成データは、識別番号、ファイル名、アクセス時刻、更新時刻、修正時刻及びサイズをデータフォーマットとして有する。識別番号は、通常のファイルに付与された識別番号である。ファイル名は、ディレクトリファイル名と通常のファイル名とが階層構造化されたファイル名である。そして、このようなファイル名データ３１２の要素である識別番号とファイル名に対し、ファイル属性データ３１３の要素であるアクセス時刻、更新時刻、修正時刻及びサイズが関連付けられている。尚、サイズは、通常のファイルのサイズを示している。このように、本明細書開示の通信監視方法、通信監視装置、及び通信監視プログラムによれば、ファイルへのアクセス状況やディレクトリの階層構造といった、通常のファイルまで含んだディレクトリの構成を再現することができる。
【００６４】
図１２は、アクセス推測部４５０で実行される処理ステップを例示するフローチャートである。
第２の関連付部４５１は、構成記憶部４４０から１つの構成データを抽出する（ステップＳ３１０）。次いで、第２の関連付部４５１は、後述する第１の判断処理（ステップＳ３２０）及び第２の判断処理（ステップＳ３３０）を実行する。第２の関連付部４５１は、第２の判断処理が終了すると、最後の構成データであるか否かを判断する（ステップＳ３４０）。第２の関連付部４５１は、最後の構成データでないと判断した場合（ステップＳ３４０：ＮＯ）、引き続きステップＳ３１０からＳ３３０までの処理を繰り返す。一方、第２の関連付部４５１は、最後の構成データであると判断した場合（ステップＳ３４０：ＹＥＳ）、後述のステップＳ３５０からＳ３８０までの処理を行う。
【００６５】
ここで、上述した第１の判断処理及び第２の判断処理について図１３から図１６を参照して説明する。
【００６６】
図１３は、第１の判断処理の処理ステップを例示するフローチャートである。図１４は、第２の判断処理の処理ステップを例示するフローチャートである。図１５（ａ）は、コマンドファイルの一例である。図１５（ｂ）は、参照リストの一例である。図１５（ｃ）は、更新リストの一例である。図１６は、ログ記憶部４６０に記憶されたアクセスログの一例である。
【００６７】
第２の関連付部４５１は、図１３に示すように、まず、アクセス時刻が変化したか否かを判断する（ステップＳ３２１）。当該判断処理は、抽出した構成データのアクセス時刻とその構成データの識別番号と同じ識別番号が付与されたファイル属性データ３１３のアクセス時刻とを対比することによって行われる。
【００６８】
例えば、図１１に示す識別番号「３２８０１」である構成データのアクセス時刻は「＊＊＊＊＊＊＊＊＊＊」である。一方、図１５（ａ）に示すコマンドファイルのうち、更新のコマンドファイル（更新コマンド）が時刻「＊＊＊＊＊＊＊＊＊＊」より後の時刻「＃＃＃＃＃＃＃＃＃＃」に実行されると、コマンドファイルにアクセスされるため、図１５（ａ）に示すように、アクセス時刻が時刻「＃＃＃＃＃＃＃＃＃＃」になる。また、更新コマンドの実行に伴い、更新コマンドの対象となったファイルのアクセス時刻も時刻「＃＃＃＃＃＃＃＃＃＃」になる。例えば、更新コマンドがファイルをコピーするコピーコマンドである場合、コピー元のファイル及びコピーにより生成されたファイル（コピー先のファイル）の双方のアクセス時刻がコピーコマンドのアクセス時刻と同一の時刻になる。したがって、コピーコマンドの対象となったファイルのファイル名の１つが「Ａ０００１／Ｚ９９９９」である場合、図１５（ａ）及び（ｃ）に示すように、ファイル名「Ａ０００１／Ｚ９９９９」のアクセス時刻がコピーコマンドのアクセス時刻「＃＃＃＃＃＃＃＃＃＃」になる。
【００６９】
また、例えば、識別番号「４７８５１」である構成データのアクセス時刻が時刻「＊＊＊＊＊＊＊＊＊＊」である場合に、図１５（ａ）に示すコマンドファイルのうち、参照のコマンドファイル（参照コマンド）が時刻「＊＊＊＊＊＊＊＊＊＊」より後の時刻「＆＆＆＆＆＆＆＆＆＆」に実行されると、図１５（ａ）に示すように、アクセス時刻が時刻「＆＆＆＆＆＆＆＆＆＆」になる。また、参照コマンドの実行に伴い、参照コマンドの対象となったファイルのアクセス時刻も時刻「＆＆＆＆＆＆＆＆＆＆」になる。したがって、参照コマンドの対象となったファイルのファイル名が「Ｔ５３２１／Ｆ０５０５」である場合、図１５（ａ）及び（ｂ）に示すように、ファイル名「Ｔ５３２１／Ｆ０５０５」のアクセス時刻が参照コマンドのアクセス時刻「＆＆＆＆＆＆＆＆＆＆」になる。
【００７０】
このように、アクセス時刻が変化したか否かを判断することによって、更新コマンド又は参照コマンドの実行に基づいてファイル属性データ３１３のアクセス時刻が構成データのアクセス時刻から変化したか否かを判断する。
【００７１】
第２の関連付部４５１は、アクセス時刻が変化したと判断した場合（ステップＳ３２１：ＹＥＳ）、次いで、参照コマンドのアクセス時刻とのみ同じか否かを判断する（ステップＳ３２２）。第２の関連付部４５１は、参照コマンドのアクセス時刻とのみ同じであると判断した場合（ステップＳ３２２：ＹＥＳ）、参照リストに書き込む（ステップＳ３２３）。すなわち、図１５（ａ）に示す参照コマンドのアクセス時刻とファイル属性データ３１３の変化後のアクセス時刻のみが同一である場合、アクセス時刻の変化は参照コマンドによってなされたと判断できる。この場合、図１５（ｂ）に示すように、ファイル名とアクセス時刻が参照リストに書き込まれる。
【００７２】
一方、ステップＳ３２２において、第２の関連付部４５１は、参照コマンドのアクセス時刻とのみ同じでないと判断した場合（ステップＳ３２２：ＮＯ）、更新リストに書き込む（ステップＳ３２４）。この場合、アクセス時刻の変化は更新コマンドによってなされたと判断する。そして、図１５（ｃ）に示すように、ファイル名とアクセス時刻とサイズとが更新リストに書き込まれる。
【００７３】
第２の関連付部４５１は、次いで、更新時刻が同時に変化したか否かを判断する（ステップＳ３２５）。参照コマンドについてはアクセス時刻が同時に変化しても更新時刻が同時に変化することはない。このため、当該判断処理は、更新コマンドが実行された場合に行われる。また、更新コマンドであっても、更新元ファイルのファイル属性データ３１３については更新時刻が変化することはない。更新時刻が同時に変化するのは、更新先ファイルである。すなわち、更新コマンドがコピーコマンドである場合、新たにコピーとして生成されるファイルの更新時刻が同時に変化する。
【００７４】
したがって、第２の関連付部４５１は、更新時刻が同時に変化したと判断した場合（ステップＳ３２５：ＹＥＳ）、更新リストに書き込む（ステップＳ３２６）。一方、第２の関連付部４５１は、更新時刻が同時に変化していないと判断した場合（ステップＳ３２５：ＮＯ）、ステップＳ３２６の処理をスキップする。この結果、図１５（ｃ）に示すように、更新時刻が書き込まれたファイル名と更新時刻が書き込まれないファイル名とが併存する。
【００７５】
第２の関連付部４５１は、次いで、修正時刻が同時に変化したか否かを判断する（ステップＳ３２７）。参照コマンドについては修正時刻が同時に変化することはない。このため、当該判断処理は、更新コマンドが実行された場合に行われる。また、更新コマンドであっても、更新元ファイルのファイル属性データ３１３については修正時刻が変化することはない。修正時刻が同時に変化するのは、更新先ファイルである。すなわち、更新コマンドがコピーコマンドである場合、新たにコピーとして生成されるファイルの修正時刻が同時に変化する。
【００７６】
したがって、第２の関連付部４５１は、修正時刻が同時に変化したと判断した場合（ステップＳ３２７：ＹＥＳ）、更新リストに書き込む（ステップＳ３２８）。一方、第２の関連付部４５１は、修正時刻が同時に変化していないと判断した場合（ステップＳ３２７：ＮＯ）、ステップＳ３２６の処理をスキップする。この結果、図１５（ｃ）に示すように、修正時刻が書き込まれたファイル名と修正時刻が書き込まれないファイル名も併存する。
【００７７】
第２の関連付部４５１は、図１３に示す第１の判断処理が終了すると、次いで、図１４に示す第２の判断処理を実行する。
【００７８】
第２の関連付部４５１は、図１４に示すように、まず、更新コマンドのアクセス時刻と書き込まれたすべての時刻を比較する（ステップＳ３３１）。すなわち、第２の関連付部４５１は、図１５（ｃ）に示す更新リストに書き込まれたアクセス時刻、更新時刻及び修正時刻と更新コマンドのアクセス時刻とを比較する。
【００７９】
ここで、第２の関連付部４５１は、アクセス時刻のみが同じであるか否かを判断する（ステップＳ３３２）。第２の関連付部４５１は、アクセス時刻のみが同じであると判断した場合（ステップＳ３３２：ＹＥＳ）、更新リストに書き込む（ステップＳ３３３）。上述したように、図１５（ｃ）に示す更新リストには、更新時刻及び修正時刻が書き込まれていないファイル名と更新時刻及び修正時刻が書き込まれたファイル名とが併存する。アクセス時刻のみが同じである場合、更新時刻及び修正時刻が書き込まれていないファイル名のアクセス時刻と一致する。この場合、当該ファイル名は、更新元のファイルであると判断でき、図１５（ｃ）に示すように、更新元フラグにＯＮが書き込まれる。
【００８０】
一方、第２の関連付部４５１は、アクセス時刻のみが同じでないと判断した場合（ステップＳ３３２：ＮＯ）、すべての時刻が同じであるか否かを判断する（ステップＳ３３４）。第２の関連付部４５１は、すべての時刻が同じであると判断した場合（ステップＳ３３４：ＹＥＳ）、更新リストに書き込む（ステップＳ３３５）。すべての時刻、すなわちアクセス時刻、更新時刻及び修正時刻が同じである場合、更新時刻及び修正時刻が書き込まれたファイル名のアクセス時刻、更新時刻及び修正時刻と一致する。この場合、当該ファイル名は、更新先のファイル名であると判断でき、図１５（ｃ）に示すように、更新先フラグにＯＮが書き込まれる。このように、第２の判断処理では、更新コマンドにおける更新元のファイル名と更新先のファイル名が推測される。
【００８１】
ここで、図１２に戻り、残りのステップＳ３５０からＳ３８０までの処理を説明する。
【００８２】
第２の関連付部４５１は、ステップＳ３４０において最後の構成データであると判断すると、図１２に示すように、サイズが同一であるか否かを判断する（ステップＳ３５０）。当該判断は、図１５（ｃ）に示す更新リストに書き込まれたサイズが同一であるファイル名が存在するか否かによって行われる。例えば、コピーコマンドが実行された場合に、コピー元ファイルのファイルサイズとコピー先ファイルのファイルサイズが同一であれば、コピー先ファイルは、コピー元ファイルから生成された可能性が高い。したがって、更新元フラグ及び更新先フラグが更新リストに書き込まれた状態において、ファイルのサイズが同一であれば、更新コマンドにおける更新元のファイル名と更新先のファイル名との関連性が極めて高いと推測される。
【００８３】
第２の関連付部４５１は、サイズが同一であると判断した場合（ステップＳ３５０：ＹＥＳ）、コマンドファイルと構成データとを関連付ける（ステップＳ３６０）。この結果、更新コマンド、構成データに含まれる更新元及び更新先となるそれぞれのファイル名並びに対応するそれぞれの識別番号が互いに関連付けられる。一方で、第２の関連付部４５１は、サイズが同一でないと判断した場合（ステップＳ３５０：ＮＯ）、ステップＳ３６０，Ｓ３７０の処理をスキップする。ファイルのサイズが同一でなければ、更新コマンドにおける更新元のファイル名と更新先のファイル名との関連性が低いと推測される。
【００８４】
第２の関連付部４５１は、次いで、関連付けた結果をアクセス時刻とともにログ記憶部４６０に保存する（ステップＳ３７０）。さらに、第２の関連付部４５１は、図１５（ｂ）に示す参照リストをアクセス時刻及びファイル名に対応する識別番号とともにログ記憶部４６０に保存する（ステップＳ３８０）。この結果、図１６に示すように、アクセス時刻、実行されたコマンドファイルのコマンド名、更新元又は参照元のファイル名と対応する識別番号、及び更新先ファイル名と対応する識別番号がアクセスログとしてログ記憶部４６０に保存される。このように、コマンドファイルとコマンドファイルの対象となったファイルを１つに関連付けることができる。
【００８５】
以上説明したように、本明細書に開示の通信監視方法、通信監視装置、及び通信監視プログラムは、サーバ装置２００とストレージ装置３００との間の通信ネットワークを流れる通信パケットを取得して解析する。このため、サーバ装置２００に解析用のプログラムを搭載しなくても、サーバ装置２００の内部で実行されたコマンドファイルと実行に伴うファイルの入出力を即時に把握することができる。特に、ファイル属性の相関関係（例えば、タイムスタンプやファイルサイズ）に基づいて解析するため、特別な監視項目を設定する必要もない。
【００８６】
また、解析する通信パケットは、ブロックアクセスを用いるプロトコルにより通信された通信パケットの限定されている。このため、当該プロトコル以外のプロトコルが使用された通信パケットも含めて解析する場合に比べて、解析効率が向上する。さらに、サーバ装置２００に解析用のプログラムを搭載して通信パケットを監視したり、端末装置１００とサーバ装置２００との間の通信パケットを監視したりする場合、サーバ装置２００に第三者が侵入しプログラムやサーバ装置２００の内部に出力されたログを改竄すると、正確な解析を損なうおそれがある。しかしながら、本明細書に開示の通信監視方法、通信監視装置、及び通信監視プログラムによれば、サーバ装置２００とストレージ装置３００との間の通信ネットワークを流れる通信パケットを解析するため、このようなおそれが消失する。
【００８７】
運用面においても、複数のサーバ装置２００があって、それぞれのサーバ装置２００が解析用のプログラムを搭載している場合に、解析用のプログラムに不具合があってサーバ装置２００のそれぞれにパッチを適用すると、適用後のサーバ装置２００に問題がないか検証する作業が必要となる。しかしながら、本明細書に開示の通信監視方法、通信監視装置、及び通信監視プログラムによれば、サーバ装置２００とストレージ装置３００との間の通信ネットワークを流れる通信パケットを解析するため、このような作業が不要となり、サーバ装置２００のメンテナンスが簡便化する。また、本明細書に開示の通信監視方法、通信監視装置、及び通信監視プログラムは、サーバ装置２００のリソースを利用しない。このため、サーバ装置２００で稼動している業務システムへ影響を与えることもない。
【００８８】
以上、本発明の好ましい実施形態について詳述したが、本発明に係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【００８９】
なお、以上の説明に関して更に以下の付記を開示する。
（付記１）コンピュータが、通信ネットワークから、ブロックアクセスを用いるプロトコルが使用された通信パケットを取得する取得ステップと、前記取得ステップによって取得された通信パケットが、ファイルシステムの属性を示すファイルシステム属性データが格納されたシステム属性ブロック、ファイルの属性を示すファイル属性データが複数格納されたファイル属性ブロック、及び前記ファイルの名称を示すファイル名データが複数格納されたファイル名ブロックのいずれに関するものであるかを判断する判断ステップと、前記判断ステップによって前記通信パケットがファイル属性ブロックに関するものであると判断された場合に、前記システム属性ブロックに付与された第１のアドレスと前記ファイル属性ブロックに付与された第２のアドレスとに基づいて、前記ファイル属性ブロックのブロック番号を算出する第１の算出ステップと、前記システム属性データと前記第１の算出ステップによって算出されたブロック番号とに基づいて、前記ファイル属性データの各識別番号を算出する第２の算出ステップと、前記第２の算出ステップによって算出された各識別番号と前記ファイル名データ毎に付与された識別番号とに基づいて、前記ファイル属性ブロックに格納された複数のファイル属性データと前記ファイル名ブロックに格納された複数のファイル名データとをそれぞれ関連付ける第１の関連付ステップと、を実行する通信監視方法。
（付記２）前記第１の関連付けステップによって前記ファイル属性データが関連付けされたファイル名データと前記ファイル名データを前記通信ネットワークに流れさせたコマンドファイルのそれぞれのタイムスタンプに基づいて、前記ファイル名データと前記コマンドファイルとを関連付ける第２の関連付ステップを含むことを特徴とする付記１に記載の通信監視方法。
（付記３）前記第２の関連付けステップは、前記コマンドファイルの対象となった２つのファイルのそれぞれのファイルサイズに基づいて関連付けることを特徴とする付記２に記載の通信監視方法。
（付記４）前記タイムスタンプは、アクセス時刻に関するタイムスタンプ、更新時刻に関するタイムスタンプ、及び修正時刻に関するタイムスタンプの少なくとも１つを含むことを特徴とする付記２又は３に記載の通信監視方法。
（付記５）通信ネットワークから、ブロックアクセスを用いるプロトコルにより通信された通信パケットを取得する取得手段と、前記取得手段によって取得された通信パケットが、ファイルシステムの属性を示すファイルシステム属性データが格納されたシステム属性ブロック、ファイルの属性を示すファイル属性データが複数格納されたファイル属性ブロック、及び前記ファイルの名称を示すファイル名データが複数格納されたファイル名ブロックのいずれに関するものであるかを判断する判断手段と、前記判断手段によって前記通信パケットがファイル属性ブロックに関するものであると判断された場合に、前記システム属性ブロックに付与された第１のアドレスと前記ファイル属性ブロックに付与された第２のアドレスとに基づいて、前記ファイル属性データブロックのブロック番号を算出する第１の算出手段と、前記システム属性データと前記第１の算出手段によって算出されたブロック番号とに基づいて、前記ファイル属性データの各識別番号を算出する第２の算出手段と、前記第２の算出手段によって算出された各識別番号と前記ファイル名データ毎に付与された識別番号とに基づいて、前記ファイル属性ブロックに格納された複数のファイル属性データと前記ファイル名ブロックに格納された複数のファイル名データとをそれぞれ関連付ける第１の関連付手段と、を有する通信監視装置。
（付記６）前記第１の関連付手段によって前記ファイル属性データが関連付けされたファイル名データと前記ファイル名データを前記通信ネットワークに流れさせたコマンドファイルのそれぞれのタイムスタンプに基づいて、前記ファイル名データと前記コマンドファイルとを関連付ける第２の関連付手段を含むことを特徴とする付記５に記載の通信監視装置。
（付記７）前記第２の関連付手段は、前記コマンドファイルの対象となった２つのファイルのそれぞれのファイルサイズに基づいて関連付けることを特徴とする付記６に記載の通信監視装置。
（付記８）前記タイムスタンプは、アクセス時刻に関するタイムスタンプ、更新時刻に関するタイムスタンプ、及び修正時刻に関するタイムスタンプの少なくとも１つを含むことを特徴とする付記６又は７に記載の通信監視装置。
（付記９）通信ネットワークから、ブロックアクセスを用いるプロトコルにより通信された通信パケットを取得する取得ステップと、前記取得ステップによって取得された通信パケットが、ファイルシステムの属性を示すファイルシステム属性データが格納されたシステム属性ブロック、ファイルの属性を示すファイル属性データが複数格納されたファイル属性ブロック、及び前記ファイルの名称を示すファイル名データが複数格納されたファイル名ブロックのいずれに関するものであるかを判断する判断ステップと、前記判断ステップによって前記通信パケットがファイル属性ブロックに関するものであると判断された場合に、前記システム属性ブロックに付与された第１のアドレスと前記ファイル属性ブロックに付与された第２のアドレスとに基づいて、前記ファイル属性データブロックのブロック番号を算出する第１の算出ステップと、前記システム属性データと前記第１の算出ステップによって算出されたブロック番号とに基づいて、前記ファイル属性データの各識別番号を算出する第２の算出ステップと、前記第２の算出ステップによって算出された各識別番号と前記ファイル名データ毎に付与された識別番号とに基づいて、前記ファイル属性ブロックに格納された複数のファイル属性データと前記ファイル名ブロックに格納された複数のファイル名データとをそれぞれ関連付ける第１の関連付ステップと、をコンピュータに実行させるための通信監視プログラム。
（付記１０）前記第１の関連付けステップによって前記ファイル属性データが関連付けされたファイル名データと前記ファイル名データを前記通信ネットワークに流れさせたコマンドファイルのそれぞれのタイムスタンプに基づいて、前記ファイル名データと前記コマンドファイルとを関連付ける第２の関連付ステップを含むことを特徴とする付記９に記載の通信監視プログラム。
（付記１１）前記第２の関連付けステップは、前記コマンドファイルの対象となった２つのファイルのそれぞれのファイルサイズに基づいて関連付けることを特徴とする付記１０に記載の通信監視プログラム。
（付記１２）前記タイムスタンプは、アクセス時刻に関するタイムスタンプ、更新時刻に関するタイムスタンプ、及び修正時刻に関するタイムスタンプの少なくとも１つを含むことを特徴とする付記１０又は１１に記載の通信監視プログラム。
【符号の説明】
【００９０】
３５０  ＬＡＮ（通信ネットワーク）
４００  通信監視装置
４１０  通信パケット取得部（取得手段）
４３１  ブロック判断部（判断手段）
４３２  ブロック番号算出部（第１の算出手段）
４３２  識別番号算出部（第２の算出手段）
４３３  第１の関連付部（関連付手段）
【図１】
2014191633.tif 000003
【図２】
2014191633.tif 000004
【図３】
2014191633.tif 000005
【図４】
2014191633.tif 000006
【図５】
2014191633.tif 000007
【図６】
2014191633.tif 000008
【図７】
2014191633.tif 000009
【図８】
2014191633.tif 000010
【図９】
2014191633.tif 000011
【図１０】
2014191633.tif 000012
【図１１】
2014191633.tif 000013
【図１２】
2014191633.tif 000014
【図１３】
2014191633.tif 000015
【図１４】
2014191633.tif 000016
【図１５】
2014191633.tif 000017
【図１６】
2014191633.tif 000018