(57)【要約】  解析対象装置の状態を表すデータを保存及び再現することにより、当該解析対象装置の状態を解析可能な解析装置等を提供する。解析装置２２０４は、解析対象装置２２００における演算部と、メモリ部との間で送受信されるデータから、上記解析対象装置における演算処理の状態を再現可能な採取対象データを生成するディスパッチャ２２０５と、上記ディスパッチャにおいて生成された採取対象データに含まれる１以上の領域にタグ情報を付与するデータマッパ２２０６と、上記タグ情報に基づいて、上記採取対象データを所定の記憶容量を有する記憶装置である第１の記憶装置２２０９に保存する方法を規定する第１のポリシ２２０８と、上記タグ情報が付与された上記１以上の領域を、上記採取ポリシに基づいて上記第１の記憶装置に保存するデータライタ２２０７と、を備える。
2015198600.tif 000002
【特許請求の範囲】
【請求項１】
演算部と、当該演算部に通信可能に接続されたメモリ部とを用いて演算処理を実行する解析対象装置と通信可能に接続され、前記演算部と、前記メモリ部との間で送受信される対象であるデータに基づいて、前記解析対象装置における演算処理の状態の少なくとも一部を再現するためのデータである採取対象データを生成するディスパッチャと、
前記採取対象データに含まれる１以上の領域に対して、当該領域を識別するための情報であるタグ情報を付与するデータマッパと、
前記タグ情報を用いて前記採取対象データを所定の記憶容量を有する第１の記憶装置に保存する手順を規定する第１のポリシに基づいて、前記１以上の領域を、前記第１の記憶装置に保存するデータライタと、を備える解析装置。
【請求項２】
前記採取対象データは、当該採取対象データの生成元となった前記データが取得された際の、前記演算部の演算状態を表すデータ、及び、前記メモリ部に記憶されているデータの少なくとも何れかを含む、請求項１に記載の解析装置。
【請求項３】
前記データライタは、前記タグ情報と、当該タグ情報が付与された前記１以上の領域に含まれるデータである保存対象データと、記録タイミング情報との対応関係を示すデータである保存データを前記第１の記憶装置に保存し、
前記記録タイミング情報は、前記保存データの記録に関するタイミングを表す情報である、請求項１または請求項２に記載の解析装置。
【請求項４】
前記第１のポリシには、１以上の前記タグ情報毎に、当該タグ情報が関連付けされた前記保存データが前記第１の記憶装置において保存される記憶領域を特定するための情報と、当該記憶領域に前記保存データを保存する保存方法を表す情報と、が設定され、
前記データライタは、当該第１のポリシに基づいて、前記保存データを前記第１の記憶装置に保存する、請求項３に記載の解析装置。
【請求項５】
前記保存データの保存方法は、前記保存データが前記第１の記憶装置において保存される領域のうち、新たな前記保存データが保存される領域を特定可能な方法である、請求項４に記載の解析装置。
【請求項６】
前記データマッパは、
前記採取対象データが分類された前記１以上の領域を特定するための情報と、当該領域を識別するための前記タグ情報との対応関係を示すデータであるマッピングデータに基づいて、
前記採取対象データに含まれる前記１以上の領域について、前記タグ情報を付与する、請求項１乃至請求項５のいずれかに記載の解析装置。
【請求項７】
前記マッピングデータは、前記採取対象データに含まれる前記メモリ部に記憶されるデータである記憶データが前記メモリ部において記憶される領域に基づいて、当該採取対象データが分類された１以上の領域を特定するメモリ領域特定情報と、当該領域を識別するための前記タグ情報との対応関係を示すデータであり、
前記データマッパは、前記マッピングデータに基づいて、前記採取対象データに含まれる１以上の領域について前記タグ情報を付与する、請求項６に記載の解析装置。
【請求項８】
前記解析対象装置のアーキテクチャを表す情報に基づいて、前記採取対象データに含まれる記憶データを複数の領域に分類し、
当該分類された複数の領域毎に、当該分類された領域を特定するための前記メモリ領域特定情報と、当該メモリ領域特定情報によって特定される領域を識別するための前記タグ情報との対応関係を示すデータである前記マッピングデータを生成するマップジェネレータを更に備える、請求項６または請求項７に記載の解析装置。
【請求項９】
前記第１の記憶装置よりも記憶容量が大きい記憶装置である第２の記憶装置を更に備え、
前記データライタは、前記第１の記憶装置に保存された前記保存データを前記第２の記憶装置に保存する手順を規定する第２のポリシに基づいて、前記第１の記憶装置に保存した前記保存データを、前記第２の記憶装置に保存する、請求項６乃至請求項８のいずれかに記載の解析装置。
【請求項１０】
前記第２のポリシには、
前記第１の記憶装置に保存された前記保存データを前記第２の記憶装置に保存するか否かを特定するための保存要否情報と、
少なくとも、前記第１の記憶装置に保存された前記保存データを前記第２の記憶装置に保存する契機を特定するための蓄積方法情報とが設定され、
前記データライタは、
前記第２のポリシに設定された前記保存要否情報に基づいて、前記第１の記憶装置に保存された前記保存データを前記第２の記憶装置に保存する必要があると判定した場合、
前記蓄積方法情報に基づいて特定の前記契機を検知することにより、前記第１の記憶装置に保存された前記保存データの少なくとも一部を、前記第２の記憶装置に保存する、請求項９に記載の解析装置。
【請求項１１】
前記データライタは、
前記第１の記憶装置に既に保存されている前記保存データを前記第１の記憶装置から削除する場合に、前記第１のポリシ又は前記第２のポリシに基づいて、当該削除される前記保存データを前記第２の記憶装置に保存するか否かを判定し、
当該判定の結果に基づいて、当該削除される前記保存データを前記第２の記憶装置に保存する、請求項９または請求項１０に記載の解析装置。
【請求項１２】
前記第１の記憶装置に保存された前記保存データを前記第２の記憶装置に保存する要求を前記データライタに通知する記録管理手段を更に備え、
前記データライタは、前記記録管理手段から受け付けた前記要求に応じて、前記第１の記憶装置に保存された前記保存データを、前記第２の記憶装置に保存する、請求項９乃至請求項１１のいずれかに記載の解析装置。
【請求項１３】
前記記録管理手段は、
前記解析対象装置における演算処理に影響を及ぼす可能性を有する所定の事象を検出するためのセンサと通信可能に接続され、
前記センサから通知された前記所定の事象に対する検出情報に基づいて、前記要求を前記データライタに通知する、請求項１２に記載の解析装置。
【請求項１４】
前記解析対象装置が複数存在する場合において、
少なくとも前記解析対象装置の台数と同じ数の前記ディスパッチャと、少なくとも前記ディスパッチャと同じ数の前記データマッパと、を備え、
複数の前記解析装置のそれぞれに対して、相異なる前記ディスパッチャが通信可能に接続され、
相異なる前記データマッパが、それぞれ相異なる前記ディスパッチャにおいて生成された前記採取対象データに含まれる１以上の領域に対して、当該領域を識別するためのタグ情報を付与し、
前記第１のポリシには、１以上の前記タグ情報毎に、相異なる前記ディスパッチャを識別するための情報と、当該タグ情報が関連付けされた前記保存データが前記第１の記憶装置において保存される記憶領域を特定するための情報と、その情報により特定される記憶領域に前記保存データを保存する保存方法を表す情報と、が関連付けて設定され、
前記データライタは、前記第１のポリシに基づいて、前記採取対象データに含まれる前記１以上の領域を前記保存データとして前記第１の記憶装置に保存する、請求項３乃至請求項１３に記載の解析装置。
【請求項１５】
前記第１の記憶装置に保存された１以上の前記保存データを抽出し、
前記抽出した１以上の前記保存データのそれぞれについて、当該前記保存データに設定された前記タグ情報と、前記保存対象データとを抽出し、
前記マッピングデータを参照して、当該抽出した前記タグ情報に対応付けられた領域に、当該抽出した前記保存対象データを配置した再現用データを生成する
データリーダと、
演算部と、当該演算部に通信可能に接続されたメモリ部とを用いて演算処理を実行する再現対象装置に通信可能に接続され、
前記データリーダにおいて生成された前記再現用データに基づいて、
当該再現用データに前記解析対象装置における前記メモリ部に記憶されていたデータが含まれる場合には、当該データを前記再現対象装置におけるメモリ部に展開し、
当該再現用データに前記解析対象装置における前記演算部の演算状態を表すデータが含まれる場合には、当該演算状態を表すデータを前記再現対象装置における演算部に展開する、
プレーヤと、を更に備える請求項６乃至請求項１４のいずれかに記載の解析装置。
【請求項１６】
前記データリーダは、前記第１の記憶装置を参照し、当該第１の記憶装置に保存された保存データのうち、当該保存データにおける前記記録タイミング情報に、同じタイミングを表す情報が設定された１以上の前記保存データを読み出す、請求項１５に記載の解析装置。
【請求項１７】
前記プレーヤは、前記再現用データを、前記再現対象装置における演算部、または、前記再現対象装置におけるメモリ部に展開する際に、当該再現対象装置における演算部の処理速度を低減する、請求項１６に記載の解析装置。
【請求項１８】
前記再現対象装置が複数存在する場合において、
複数の前記再現対象装置と同じ数の前記プレーヤを備え、
複数の前記再現対象装置に含まれるそれぞれの前記再現対象装置に対して、複数の前記プレーヤのうち相異なる前記プレーヤが通信可能に接続され、
複数の前記プレーヤが、それぞれ前記データリーダにおいて生成された前記再現用データに基づいて、
当該再現用データに前記解析対象装置における前記メモリ部に記憶されていたデータが含まれる場合には、当該データを、当該プレーヤが接続された前記再現対象装置におけるメモリ部に展開し、
当該再現用データに前記解析対象装置における前記演算部の演算状態を表すデータが含まれる場合には、当該演算状態を、当該プレーヤが接続された表すデータを前記再現対象装置における演算部に展開する、請求項１５乃至請求項１７のいずれかに記載の解析装置。
【請求項１９】
前記ディスパッチャは、設定されたサンプリング周期に基づいて、前記採取対象データを生成する、請求項１乃至請求項１８のいずれかに記載の解析装置。
【請求項２０】
前記保存データの保存方法は、
前記保存データが前記第１の記憶装置において保存される領域に対する、新たな前記保存データの保存の可否を判定可能な方法である請求項４に記載の解析装置。
【請求項２１】
任意の処理を実行し、当該処理の状態を第１の状態情報として記憶する第１の処理部と、前記第１の処理部と通信可能に接続され、任意の処理を実行し、当該処理の状態を第２の状態情報として記憶する第２の処理部とを備える解析対象システムと通信可能に接続され、前記第１の処理部と、前記第２の処理部との間で送受信される対象であるデータを取得し、当該取得したデータに基づいて、前記第１の状態情報、及び、前記第２の状態情報の少なくともいずれかを再現することにより前記解析対象システムの状態を再現するための採取対象データを生成するディスパッチャと
前記採取対象データに含まれる１以上の領域に対して、当該領域を識別するためのタグ情報を付与するデータマッパと、
前記タグ情報を用いて前記採取対象データを所定の記憶容量を有する第１の記憶装置に保存する手順を規定した第１のポリシに基づいて、前記１以上の領域を、前記第１の記憶装置に保存するデータライタと、を備える、解析装置。
【請求項２２】
情報処理装置が、
演算部と当該演算部に通信可能に接続されたメモリ部とを用いて演算処理を実行する解析対象装置における前記演算部と、前記メモリ部との間で送受信される対象であるデータに基づいて、前記解析対象装置における演算処理の状態の少なくとも一部を再現するためのデータである採取対象データを生成し、
前記採取対象データに含まれる１以上の領域について、当該領域を識別するためのタグ情報を付与し、
前記タグ情報を用いて前記採取対象データを所定の記憶容量を有する記憶装置である第１の記憶装置に保存する手順を規定する第１のポリシに基づいて、前記１以上の領域を、前記第１の記憶装置に保存する、解析方法。
【請求項２３】
演算部と、当該演算部に通信可能に接続されたメモリ部とを用いて演算処理を実行する解析対象装置における演算処理の状態を解析するコンピュータに、
前記解析対象装置における前記演算部と、前記メモリ部との間で送受信される対象であるデータに基づいて前記解析対象装置における演算処理の状態の少なくとも一部を再現するためのデータである採取対象データを生成する処理と、
前記採取対象データに含まれる１以上の領域について、当該領域を識別するためのタグ情報を付与する処理と、
前記タグ情報を用いて前記採取対象データを所定の記憶容量を有する記憶装置である第１の記憶装置に保存する手順を規定する第１のポリシに基づいて、前記１以上の領域を、前記第１の記憶装置に保存する処理と、を実行させるコンピュータ・プログラムが記録された記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、解析対象機器（装置）の状態を表すデータを保存及び再現することにより、当該解析対象機器の状態を解析可能な解析装置等に関する。
【背景技術】
【０００２】
近年、コンピュータ等の情報処理装置において、ウィルス等の不正プログラム（以下「マルウェア」と称する）に起因する、情報処理装置への不正侵入、情報漏洩、あるいは、電子データの破壊などの不正行為が発生している。【０００３】
情報処理装置等においては、このような不正行為に起因した様々な事象（以下「サイバーインシデント」または「インシデント」と称する場合がある）が発生する場合がある。このような事象が発生した際に原因を調査する手法として、例えば、情報処理装置を構成する不揮発性記憶装置（例えば、ハードディスク装置等）に残存するデータや、通信記録等を解析する手法等が知られている。なお、以下において、サイバーインシデントに対する各種調査を「デジタルフォレンジック」あるいは「フォレンジック」と称する場合がある。【０００４】
デジタルフォレンジックに関する調査手法のうち、上記した不揮発性記憶装置の残存データや、通信記録を解析する調査手法については、以下のような点で限界がある。【０００５】
まず、不揮発性記憶装置に残された記録データや、通信記録の解析には時間を要することから、インシデントに対する即時的な対応に課題がある。より具体的には、例えば、情報処理装置におけるログや通信記録を解析する場合、膨大かつ複雑なログデータを取得し、解析する必要がある。ログデータの収集及び解析には時間を要することから、インシデント発生時の即時的な対応が困難な場合がある。【０００６】
また、近年では、マルウェア自体や、それに関係する各種データが、暗号化された状態で不揮発性記憶装置に記録される場合がある。不揮発性記憶装置に残存する記録データが暗号化されている場合には、復号処理が極めて困難な場合が多く、事実上解析が不可能な場合がある。【０００７】
同様に、例えば、マルウェアが公開鍵暗号等の高度な暗号方式を採用して各種通信処理を実行する場合、採取した通信データの復号が極めて困難である。【０００８】
また、マルウェア自体が情報処理装置における揮発性のメモリにおいてのみ活動し、不揮発性記憶装置に記憶されないよう構成される場合がある。この場合、不揮発性記憶装置の残存データを解析しても、マルウェアを検出することは不可能である。更に、マルウェアが活動するタイミングや期間が不明であることから、不揮発性記憶装置における特定のタイミングの記録データを解析しても、十分な情報が得られない場合がある。【０００９】
また、マルウェアによる改ざんあるいは削除等により、不揮発性記憶装置に残されたデータの完全性が損なわれている場合、解析対象として有用なデータが残されていない場合がある。【００１０】
このため、近年では、情報処理装置等により構成されるシステムが稼働した状態のまま各種情報を取得し、当該収集した情報に対して各種調査や分析を実行するフォレンジック手法が用いられている。以下本願においては、係る調査手法を「ライブフォレンジック」手法と称する。係るライブフォレンジック手法においては、例えば、情報処理装置の稼働時における揮発性の記憶装置（メモリ等）に記憶されるデータも調査対象に含まれる。【００１１】
このようなライブフォレンジック手法によれば、例えば、情報処理装置においてマルウェアが活動している瞬間（あるいは、活動している状況を略同時に）を捉えられる可能性がある。また、揮発性の記憶装置に記憶されたデータを取得可能であることから、オンメモリに展開された暗号鍵が取得可能である場合がある。この場合、各種暗号通信や、暗号化されたデータを復号できる可能性がある。更に、不揮発性記憶装置に対する入出力と関係しない（即ち、不揮発性記憶装置に痕跡を残さない）マルウェアを解析できる可能性がある。【００１２】
上記したようなフォレンジック手法あるいはライブフォレンジック手法に用いられる技術に関連して、以下のような特許文献が開示されている。【００１３】
特許文献１は、コンピュータネットワークに対する不正侵入を検知する技術を開示する。特許文献１に開示された技術は、デコイネットワークデバイスに設けた仮想デコイホストに攻撃者を誘い込み、係るホストにおける攻撃者の行動を記録することにより、攻撃識別情報を生成する。特許文献１に開示された技術は、当該生成した攻撃識別情報をフォレンジックデータとして保存し、当該フォレンジックデータに基づいて侵入防止システムに適用する攻撃シグネチャを生成する。【００１４】
また、下記特許文献２及び特許文献３は、上記ライブフォレンジック手法に直接関係する技術ではないものの、情報処理装置における揮発性のメインメモリに記憶された各種データを取得する技術を開示する。【００１５】
特許文献２は、コンピュータプログラムのデバッグを目的として、当該プログラムが実行される機器の任意の時点におけるメモリ状態を再現可能な技術を開示する。特許文献２に開示された技術は、デバッグ対象機器における演算装置とメモリ装置との間を接続するバスを介して送受信されるデータを全て取得し、取得したデータを時系列に並べたバスアクセス情報を記憶する。特許文献２に開示された技術は、障害発生時点におけるメモリ状態を取得し、当該メモリ状態に対して、上記バスアクセス情報に記憶されたデータを順次遡って適用することにより、特定の時点におけるデバッグ対象機器のメモリ状態を再現する。【００１６】
特許文献３は、演算装置とメモリとの間を接続するバスを介して送受信される全データと、当該演算装置が有するアドレス変換情報とに基づいて、バスを介して送受信されるデータの物理アドレスを論理アドレスに変換して提示する技術を開示する。【００１７】
また、不揮発性記憶装置の残存データや、通信記録を解析するフォレンジック手法に関連して、下記特許文献４及び特許文献５が開示されている。【００１８】
特許文献４は、通信ネットワークの所定の接続ポイントにおいて取得した全通信パケットにハッシュキー及び時刻情報を付与して保存しておき、障害が発生した際に保存しておいて当該パケットデータを解析する技術を開示する。【００１９】
特許文献５は、通信ネットワークにおいて送受信される通信データを解析することにより、異常が発生した端末を特定するとともに、当該特定した端末におけるハードディスクの記録を証拠保全することにより、異常の原因を解析する技術を開示する。
【先行技術文献】
【特許文献】
【００２０】
【特許文献１】特開２０１３−２４０１１４号公報
【特許文献２】特開２００８−１９１７９６号公報
【特許文献３】特開平０７−００６０６１号公報
【特許文献４】特開２００７−１７３９３１号公報
【特許文献５】特開２００６−１７８５２１号公報
【発明の概要】
【発明が解決しようとする課題】
【００２１】
上記したようなライブフォレンジック手法を採用する際、例えば、解析対象の機器において各種監視プログラム等（以下「エージェント」と称する場合がある）を実行すると、それらのプログラムの実行をマルウェアに検知されてしまう可能性がある。エージェントの実行を検知したマルウェアは、当該マルウェア自体の活動を休止したり、当該マルウェア自体を含む、活動の痕跡を消去したりする。【００２２】
上記のように、マルウェア自体が、自己の解析を阻止する回避策を実行した場合、当該マルウェアの解析が困難になる。このため、解析対象の機器においてエージェントを実行しない、エージェントレス方式のライブフォレンジック技術が求められている。【００２３】
また、ライブフォレンジック手法においては、マルウェアの活動状態を解析するために、解析対象の機器におけるメモリ空間の内容等が取得される場合がある。より具体的には、上記ライブフォレンジック手法は、例えば、解析対象機器のメモリ空間等、特定の時点における当該解析対象機器の状態を表すデータを適宜保存する。そして、インシデントが発生した際に、保存したデータを再現（復元）することにより、マルウェアの挙動が解析される。【００２４】
この場合において、当該解析対象機器の状態を表すデータは、例えば、解析対象機器のメモリ空間の内容や、当該解析対象機器に含まれる演算処理装置の演算状態を保持するデータ（例えばレジスタ等）を含んでもよい。【００２５】
上記したように、マルウェアの活動タイミングは不明であることが多い。そのようなマルウェアの活動を捕捉するためには、可能な限り多くのメモリ空間の内容等を、時系列で取得可能であることが望ましい。しかしながら、近年の情報処理装置においては処理速度の高速化及びメモリ容量の拡大が著しいことから、例えば、メモリ空間の内容を連続的に取得して保存するには、膨大な量の高速な記憶装置が必要となる。以下、係る高速な記憶装置を、「高速ストレージ」と称する場合がある。【００２６】
そのような高速ストレージとしては、例えば不揮発性半導体記憶素子により構成されたＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）や、揮発性半導体素子により構成されたＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）ディスク、あるいはＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙｓ  ｏｆ  Ｉｎｅｘｐｅｎｓｉｖｅ  Ｄｉｓｋｓ）構成を採用した記憶装置等の採用が考えられる。しかしながら、いずれの構成を採用した場合であっても、十分な記録速度を実現するには、容量当たりの単価が比較的高価になる。このため、解析対象機器のメモリ空間の内容を、連続的に長期間記録し続けることが可能な高速ストレージを用意することは、現実的ではない。【００２７】
また、解析対象機器のメモリ空間に対する入出力は、例えば、ファイルシステムや通信ネットワークに対する入出力に比べて頻繁に発生する。上記したように、マルウェアの活動タイミングは不明であることが多いことから、例えば、特定のタイミングにおけるメモリ空間の入出力をとらえるだけでは、マルウェアの活動を解析することが難しい場合がある。【００２８】
これより、上記したライブフォレンジック技術においては、限られたコンピュータリソースを用いて、解析対象の機器におけるマルウェアの活動状況を解析可能な情報をなるべく多く取得することが求められる。また、上記したライブフォレンジック技術においては、マルウェアの活動状況を解析するために、解析対象の機器の状態を再現可能な情報を取得可能であることが求められる。ここで、係るコンピュータリソースは、例えば、例えば、上記高速ストレージと、それを制御可能な制御部等である。また、マルウェアの活動状況を解析可能な情報は、例えば、メモリ空間の内容等、解析対象機器の状態を表すデータである。当該解析対象機器の状態を表すデータを用いて、特定のタイミングにおけるメモリ空間の内容を解析可能である場合、解析対象機器のメモリ空間の内容が再現可能であるとしてもよい。
ここで、特許文献１に開示された技術は、仮想デコイホストにおける攻撃者活動を調査するため、当該仮想デコイホストのメモリセグメントを調査する。しかしながら、特許文献１に開示された技術は、単にマルウェアの実行過程をトレースして調査するにすぎず、メモリ空間を再現する技術ではない。【００２９】
また、特許文献２、及び、特許文献３に開示された技術は、バスにおいて送受信されるデータを全て取得する構成であり、大量の高速ストレージを必要とする。【００３０】
また、特許文献４、及び、特許文献５に開示された技術は、通信パケットや、ハードディスクに残された記録を主たる解析対象としており、ライブ・フォレンジック技術が必要とされる状況には適用できない。【００３１】
本発明は上記のような事情を鑑みてなされたものである。即ち、本発明は、解析対象機器から取得した当該解析対象機器の状態を表すデータの少なくとも一部を、ポリシに基づいて、所定の容量を有する記憶装置に効率的に記録可能な解析装置等を提供することを主たる目的の一つとする。
【課題を解決するための手段】
【００３２】
上記の目的を達成すべく、本発明の一態様に係る解析装置は、以下の構成を備える。即ち、本発明の一態様に係る解析装置は、演算部と、当該演算部に通信可能に接続されたメモリ部とを用いて演算処理を実行する解析対象装置と通信可能に接続され、上記演算部と、上記メモリ部との間で送受信される対象であるデータに基づいて、上記解析対象装置における演算処理の状態の少なくとも一部を再現するためのデータである採取対象データを生成するディスパッチャと、上記採取対象データに含まれる１以上の領域に対して、当該領域を識別するための情報であるタグ情報を付与するデータマッパと、上記タグ情報を用いて上記採取対象データを所定の記憶容量を有する第１の記憶装置に保存する手順を規定する第１のポリシに基づいて、上記１以上の領域を、上記第１の記憶装置に保存するデータライタと、を備える。【００３３】
また、本発明の一態様に係る解析方法は、演算部と当該演算部に通信可能に接続されたメモリ部とを用いて演算処理を実行する解析対象装置における上記演算部と、上記メモリ部との間で送受信される対象であるデータに基づいて、上記解析対象装置における演算処理の状態の少なくとも一部を再現するためのデータである採取対象データを生成し、上記採取対象データに含まれる１以上の領域について、当該領域を識別するためのタグ情報を付与し、上記タグ情報を用いて上記採取対象データを所定の記憶容量を有する記憶装置である第１の記憶装置に保存する手順を規定する第１のポリシに基づいて、上記１以上の領域を、上記第１の記憶装置に保存する。【００３４】
また、同目的は、上記構成を有する解析装置、並びに対応する解析方法を、コンピュータによって実現するコンピュータ・プログラム、及び、そのコンピュータ・プログラムが格納（記録）されている、コンピュータ読み取り可能な記憶媒体によっても達成される。
【発明の効果】
【００３５】
本発明によれば、解析対象機器から取得した当該解析対象機器の状態を表すデータの少なくとも一部を、ポリシに基づいて、所定の容量を有する記憶装置に効率的に記録可能である。即ち、本発明によれば、限られた記憶容量の記憶装置を用いて、解析対象機器の状態を再現可能なデータをより多く保存することが可能である。
【図面の簡単な説明】
【００３６】
【図１】図１は、本願発明の第１の実施形態における解析装置及び解析対象装置の機能的な構成を例示するブロック図である。
【図２】図２は、本願発明の第１の実施形態における解析装置及び解析対象装置を仮想化環境において実現した場合の構成を例示するブロック図である。
【図３】図３は、本願発明の第１の実施形態における、マッピングデータの具体例を示す図である。
【図４】図４は、本願発明の第１の実施形態における、マッピングデータの他の具体例を示す図である。
【図５】図５は、本願発明の第１の実施形態における、タグ情報が付与された採取対象データの具体例を示す図である。
【図６】図６は、本願発明の第１の実施形態における、採取ポリシの具体例を示す図である。
【図７】図７は、本願発明の第１の実施形態における、高速リポジトリに保存される保存データの具体例を示す図である。
【図８】図８は、本願発明の第１の実施形態にかかる解析装置が、解析対象装置の演算状態を再現可能なデータを高速リポジトリに保存する処理を例示するフローチャートである。
【図９】図９は、本願発明の第１の実施形態にかかる解析装置が、解析対象装置の演算状態を再現可能なデータを高速リポジトリに保存する処理を例示するフローチャートである。
【図１０】図１０は、本願発明の第１の実施形態にかかる解析装置が、高速リポジトリに保存されたデータを、外部からの要求に応じて、蓄積装置に蓄積する処理を例示するフローチャートである。
【図１１】図１１は、本願発明の第１の実施形態にかかる解析装置が、高速リポジトリに保存されたデータを、採取ポリシに基づいて、蓄積装置に蓄積する処理を例示するフローチャートである。
【図１２】図１２は、本願発明の第１の実施形態に対する第１の変形例における、解析装置及び解析対象装置の機能的な構成を例示するブロック図である。
【図１３】図１３は、本願発明の第１の実施形態に対する第２の変形例における、解析装置及び解析対象装置の機能的な構成を例示するブロック図である。
【図１４】図１４は、本願発明の第１の実施形態に対する第２の変形例における、採取ポリシの具体例を示す図である。
【図１５】図１５は、本願発明の第１の実施形態に対する第２の変形例における、高速リポジトリに保存される保存データの具体例を示す図である。
【図１６】図１６は、本願発明の第２の実施形態における、解析装置及び解析対象装置の機能的な構成を例示するブロック図である。
【図１７】図１７は、本願発明の第２の実施形態における、解析装置の他の構成例を示すブロック図である。
【図１８】図１８は、本願発明の第２の実施形態における、解析装置の他の構成例を示すブロック図である。
【図１９】図１９は、本願発明の第２の実施形態に係る解析装置が、解析対象装置における演算処理の状態を再現する処理を例示するフローチャートである。
【図２０】図２０は、本願発明の第２の実施形態の変形例における、解析装置及び解析対象装置の機能的な構成を例示するブロック図である。
【図２１】図２１は、本願発明の第３の実施形態における、解析装置及び解析対象装置の機能的な構成を例示するブロック図である。
【図２２】図２２は、本願発明の第４の実施形態における、解析装置及び解析対象装置の機能的な構成を例示するブロック図である。
【図２３】図２３は、本願発明の各実施形態に係る、解析装置の各構成要素を実現可能な情報処理装置のハードウェア構成を例示したブロック図である。
【発明を実施するための形態】
【００３７】
次に、本発明を実施する形態について図面を参照して詳細に説明する。以下の実施の形態に記載されている構成は単なる例示であり、本願発明の技術範囲はそれらには限定されない。
【００３８】
＜第１の実施形態＞
以下、本発明の第１の実施形態について説明する。まず、図１及び図２を参照して、本実施形態における解析装置について説明する。図１は本実施形態における解析装置の機能的な構成を例示する、ブロック図である。また、図２は、本実施形態における解析装置を、任意の仮想化基盤を用いて構成された仮想化環境において、少なくとも一部にソフトウェア・プログラム（コンピュータ・プログラム）を用いて実現する場合の具体例を示す図である。なお、図１には、解析対象装置１００の一部として解析装置１０４が設けられた構成が例示されているが、本実施形態はこの構成には限定されない。解析対象装置１００と、解析装置１０４とは、図２に例示するように、個別の装置として実現してもよい。
【００３９】
解析対象装置１００は、演算部１０１と、通信バス１０３を介して当該演算部１０１と通信可能に接続されたメモリ部１０２とを備える。係る解析対象装置１００は、物理的なハードウェアにより構成されたコンピュータ等の情報処理装置であってもよい。また、係る解析対象装置１００は、図２に例示するように、情報処理装置等の各種ハードウェアを仮想化可能な仮想化基盤において提供される、仮想的なコンピュータ（ＶＭ：Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ）であってもよい。この場合、解析対象装置１００は、仮想化基盤において提供される一つのＶＭとして実現されてもよい。係るＶＭは、例えば、ＶＭの動作を制御する機能を有するＶＭＭ（Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ  Ｍｏｎｉｔｏｒ）であるＶＭＭ２００において実行される。なお、以下において、上記説明したＶＭを構成する仮想的なデバイスを、仮想デバイスと称する場合がある。
【００４０】
演算部１０１は、各種演算処理を実行可能なＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）や、ＭＰＵ（Ｍｉｃｒｏｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）である。演算部１０１は、例えば、メモリ部１０２に記憶された各種データ及びプログラム（コンピュータ・プログラム）を読み出して、当該プログラムに実装された処理を実行する。係る演算部１０１は、当該演算部１０１における演算処理の状態を表す状態保持データを有する。当該状態保持データは、例えば、演算部１０１が備えるレジスタやＭＭＵ（Ｍｅｍｏｒｙ  Ｍａｎａｇｅｍｅｎｔ  Ｕｎｉｔ）等（いずれも不図示）に保持されるデータ等であってもよい。
【００４１】
演算部１０１は、各種ロジック回路や集積回路等のハードウェアを用いて構成される物理的な演算装置であってもよい。演算部１０１は、また、図２に例示するように、当該ハードウェアを仮想化可能な仮想化基盤における、仮想的な演算装置（仮想ＣＰＵ）であってもよい。
【００４２】
本実施形態における演算部１０１が備えるレジスタやＭＭＵ等の値は、外部から取得もしくは設定可能である。例えば、当該演算部１０１が物理的なハードウェアにより構成される場合、当該ハードウェアにおける特定の入出力ポート等を介して、レジスタやＭＭＵ等に保持された値が入出力可能であってもよい。係る特定の入出力ポートは、例えば、ハードウェアデバッグに用いる特定のピンに接続されたポートであってもよい。
また、当該演算部１０１を仮想的な演算装置として構成した場合、仮想化基盤が提供する機能や、仮想化基盤が提供するデータを介して、レジスタやＭＭＵ等に保持された値が入出力可能であってもよい。仮想化基盤が提供する機能は、例えば、特定のＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）等であってもよい。また、仮想化基盤が提供するデータは、例えば、仮想ＣＰＵのレジスタ値を保持するデータ等であってもよい。
上記処理を実現する具体的な方法は、演算部１０１の具体的な構成等に応じて周知の技術を適宜採用してよいので、詳細な説明は省略する。
【００４３】
メモリ部１０２は、例えば、解析対象装置におけるメインメモリとして機能し、上記したように、演算部１０１において処理される各種プログラムやデータを保持する。係るメモリ部１０２は、特定のハードウェア（集積回路等）により構成された物理的なメモリ装置（メモリデバイス）であってもよい。係るメモリ装置は、例えば、ＤＩＭＭ（Ｄｕａｌ  Ｉｎｌｉｎｅ  Ｍｅｍｏｒｙ  Ｍｏｄｕｌｅ）により構成されたＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）であってもよい。また、メモリ部１０２は、図２に例示するように、上記した所定の仮想化基盤において提供される、仮想的なメモリ装置（メモリデバイス）であってもよい。
【００４４】
本実施形態におけるメモリ部１０２については、当該メモリ部１０２に記憶される記憶内容（記憶データ）を外部から取得または設定可能である。より具体的には、メモリ部１０２が物理的なハードウェアにより構成された場合、上記演算部１０１と、メモリ部１０２とを接続する通信バス１０３において送受信されるデータを取得することにより、当該メモリ部１０２に記憶されるデータを取得することができる。また、特定のタイミングにおいて、当該メモリ部１０２の記憶領域を全て出力（メモリダンプ）することにより、当該メモリ部１０２に記憶されたデータが取得されてもよい。また、通信バス１０３等を介して、上記取得されたデータをメモリ部１０２に書き戻すことにより、当該メモリ部１０２に記憶される記憶内容が、外部から設定されてもよい。なお、以下において、メモリ部１０２における記憶領域を「メモリ空間」と称する場合がある。
【００４５】
また、メモリ部１０２が仮想的なメモリ装置として構成された場合、仮想化基盤が提供する機能（例えば、特定のＡＰＩ等）や、仮想化基盤が提供するデータを介して、当該メモリ部１０２に記憶されるデータが、取得または設定されてもよい。上記仮想化基盤が提供するデータは、例えば、仮想的なメモリ部に記憶されたデータの保存領域を特定可能な情報（データ）等であってもよい。係る処理の具体的な実現方法は、メモリ部１０２の具体的な構成に応じて周知の技術を適宜採用してよいので、詳細な説明は省略する。
【００４６】
なお、解析対象装置１００において、演算部１０１あるいはメモリ部１０２と、図示しない周辺デバイスとの間の入出力が、メモリ部１０２における特定の領域を介して実行される場合がある。具体的には、係る入出力は、例えば、メモリマップドIO（ＭＭＩＯ（Ｍｅｍｏｒｙ−ｍａｐｐｅｄ  Ｉｎｐｕｔ  Ｏｕｔｐｕｔ））等の方法により実行される。この場合、係るＭＭＩＯにおいて用いられるメモリ領域に対して入出力されるデータも、上記と同様に外部から取得可能である。即ち、演算部１０１とメモリ部１０２との間の送受信データを取得することにより、図示しない周辺デバイスとの間で通信される入出力データを取得することが可能である。
【００４７】
通信バス１０３は、少なくとも上記演算部１０１及びメモリ部１０２との間を通信可能に接続する通信回線である。通信バス１０３の構成は、上記演算部１０１及びメモリ部１０２の具体的な構成に応じて適宜選択してよい。なお、本実施形態における通信バス１０３は、必ずしもバス接続による通信回線には限定されず、例えば、上記演算部１０１及びメモリ部１０２をピアツーピアで接続してもよい。また、上記演算部１０１及びメモリ部１０２が上記仮想化基盤において提供される仮想的なハードウェアとして構成される場合、通信バス１０３は、仮想的な通信バスとして、任意の適切な方法で実現されてよい。また、通信バス１０３は、必ずしも仮想化された通信回線を用いて実装されなくともよい。通信バス１０３は、例えば、単に演算部１０１とメモリ部１０２との間でデータを送受信可能な任意の方法を用いて実装されてよい。
【００４８】
次に、上記のように構成された解析対象装置１００における演算処理の状態を解析可能な、解析装置１０４の構成について説明する。
【００４９】
本実施形態における解析装置１０４は、上記演算部１０１及びメモリ部１０２に通信可能に接続されたディスパッチャ１０５を有する。また、解析装置１０４は、ディスパッチャ１０５が取得したデータを加工するデータマッパ１０６を有する。また、解析装置１０４は、データマッパ１０６が加工したデータを、当該データを保存する方法を規定したポリシに基づいて高速リポジトリ１０９（第１の記憶装置）に保存するデータライタ１０７を有する。
【００５０】
また、本実施形態における解析装置１０４は、データライタ１０７の動作を制御可能な記録管理部１０８を有する。また、解析装置１０４は、高速リポジトリ１０９に保存されたデータを複製して長期間保存可能な解析ストレージ１１０（第２の記憶装置）を有する。
【００５１】
また、本実施形態における解析装置１０４は、解析対象装置１００の動作に影響を与えるインシデントを検知可能なセンサ１１１、及び、解析装置１０４に対して各種要求を通知する監視装置１１２と通信可能に接続されていてもよい。なお、本実施形態において、監視装置１１２、及び、センサ１１１を設けるか否かは、適宜選択してよい。
【００５２】
次に上記のように構成された解析装置１０４の各構成要素について説明する。
【００５３】
まず、本実施形態におけるディスパッチャ１０５について説明する。本実施形態におけるディスパッチャ１０５は、解析対象装置１００における演算部１０１及びメモリ部１０２と通信可能に接続され、当該演算部１０１と、当該メモリ部１０２との間で送受信される対象であるデータ（以下「送受信対象データ」）を取得する。また、本実施形態におけるディスパッチャ１０５は、後述するデータマッパ１０６と通信可能に接続され、上記取得したデータをデータマッパ１０６に通知する。また、本実施形態におけるディスパッチャ１０５は、記録管理部１０８と通信可能に接続されてもよい。
【００５４】
具体的には、ディスパッチャ１０５は、例えば、通信バス１０３を介して、上記送受信対象データを取得してもよい。また、上記演算部１０１及びメモリ部１０２が仮想デバイスとして構築される場合、ディスパッチャ１０５は、上記説明したように仮想化基盤が提供する各種機能などを用いて上記送受信対象データを取得してもよい。
【００５５】
なお、本実施形態におけるディスパッチャ１０５は、必ずしも、通信バス１０３を介して上記送受信対象データを取得する必要はない。上記したように、本実施形態における演算部１０１、及び、メモリ部１０２については、それらが保持するデータ等を外部から取得あるいは設定可能である。このため、ディスパッチャ１０５は、上記説明したような方法により、上記演算部１０１、あるいはメモリ部１０２が保持するデータをそれぞれ直接取得することにより、送受信対象データに相当するデータを取得してもよい。
【００５６】
本実施形態におけるディスパッチャ１０５は、上記取得した送受信対象データに基づいて、解析対象装置１００における演算処理の状態を再現可能なデータである採取対象データを生成する。 
ここで、本実施形態における解析対象装置１００における演算処理の状態は、メモリ部１０２に記憶された記憶データ、及び、演算部１０１における状態保持データの少なくともいずれかを用いて表すことが可能である。採取対象データは、解析対象装置１００における演算処理の状態を完全に再現可能なデータに限らず、演算処理の状態の一部を再現可能なデータを含む。
【００５７】
具体的には、本実施形態における採取対象データは、少なくとも、特定の時点におけるメモリ部１０２に記憶された記憶データを含む。係る記憶データは、当該記憶データがメモリ部１０２において記憶された領域を特定可能な情報（アドレス等）を含んでもよい。また、採取対象データは、特定の時点における演算部１０１の演算状態を特定可能なデータ（レジスタ値等）を含んでもよい。
【００５８】
ディスパッチャ１０５は、例えば、演算部１０１及びメモリ部１０２の間を送受信される送受信対象データを、特定の開始点から時系列に全て取得（キャプチャ）することにより、係る開始点以降の特定の時点においてメモリ部１０２が記憶する記憶データを構築することができる。また、ディスパッチャ１０５は、特定の時点において上記メモリ部１０２が記憶する記憶データの複製（メモリダンプ）を取得することにより、特定の時点においてメモリ部１０２が記憶する記憶データを構築することができる。ディスパッチャ１０５は、上記のようにして取得された記憶データを含むよう、上記採取対象データを生成してもよい。また、ディスパッチャ１０５は、演算部１０１から状態保持データを取得し、係る状態保持データを含むよう、上記採取対象データを生成してもよい。
【００５９】
なお、上記したように、解析対象装置１００がＭＭＩＯを実行する場合、解析対象装置１００の周辺装置（不図示）と、演算部１０１またはメモリ部１０２との間の通信データも取得可能である。このため、ディスパッチャ１０５は、解析対象装置１００の周辺装置（不図示）の処理状態についても、間接的に取得することが可能である。
【００６０】
なお、ディスパッチャ１０５は、所定のサンプリング設定に従って、特定の周期ごとに上記採取対象データを生成してもよい。この場合、例えば、後述する記録管理部１０８が、ディスパッチャ１０５に対してサンプリング周期を設定してもよい。係るサンプリング周期は、例えば、演算部１０１のクロックカウント、バス１０３のクロックカウント、あるいは、時間的な間隔（インターバル）等を用いて適宜設定されてよい。かかるサンプリング周期が設定された場合、ディスパッチャ１０５は、当該サンプリング周期ごとに上記送受信対象データを取得し、取得した送受信対象データに基づいて採取対象データを生成してもよい。
【００６１】
また、上記サンプリング周期が設定されている場合であっても、ディスパッチャ１０５は、例えば、後述する記録管理部１０８からの要求に応じて、係るサンプリングのタイミングとは関係なく、上記採取対象データを生成してもよい。
【００６２】
上記のように構成されたディスパッチャ１０５は、サンプリング周期を調整することにより、単位時間あたりに生成される採取対象データの数を調整可能である。これにより、後述する高速リポジトリ１０９に対して、単位時間あたりに保存されるデータのサイズを調整することが可能である。また、ディスパッチャ１０５は、記録管理部１０８からの要求に応じて適宜採取対象データを生成可能であることから、例えば、インシデント発生時に即時的に採取対象データを生成することが可能である。
【００６３】
ディスパッチャ１０５は、採取対象データの生成元となった送受信対象データを取得したタイミング（時点）、あるいは時刻を表す情報（採取タイミング情報）を、上記採取対象データに付与してもよい。
【００６４】
上記のように構成されたディスパッチャ１０５は、例えば、時系列に上記採取対象データを生成し、当該生成した採取対象データを、後述するデータマッパ１０６に通知する。
【００６５】
なお、ディスパッチャ１０５は、例えば、後述する記録管理部１０８からの要求に応じて、上記採取対象データの生成を開始してもよく、解析装置１０４を起動した時点から自動的に上記採取対象データの生成を開始してもよい。
【００６６】
次に、本実施形態におけるデータマッパ１０６について説明する。本実施形態におけるデータマッパ１０６は、上記ディスパッチャ１０５と通信可能に接続され、当該ディスパッチャ１０５が生成した採取対象データを受け付ける。そして、データマッパ１０６は、マッピングデータ１０６ａに基づいて、当該採取対象データを加工する。この場合、データマッパ１０６は、ディスパッチャ１０５から採取対象データを取得してもよく、ディスパッチャ１０５が、データマッパ１０６に対して採取対象データを設定（通知）してもよい。
【００６７】
以下、図面を参照して、本実施形態におけるマッピングデータ１０６ａについて説明する。図３は、本実施形態におけるマッピングデータ１０６ａの具体例を示す図である。
【００６８】
マッピングデータ１０６ａには、ディスパッチャ１０５から受け付けた採取対象データに含まれる記憶データが、上記メモリ部１０２において記憶される記憶領域を特定可能な情報（メモリ領域特定情報３０１）が設定される。採取対象データに含まれる記憶データは、メモリ領域特定情報３０１に基づいて、メモリ部１０２における特定の記憶領域（記憶領域の範囲）毎に分類される。より具体的には、採取対象データに含まれる記憶データは、当該記憶データが記憶される上記メモリ部１０２における１以上の記憶領域（記憶領域の範囲）毎に分類される。
【００６９】
また、マッピングデータ１０６ａには、メモリ領域特定情報３０１により特定される記憶領域に対して付与される識別情報（タグ情報３０２）が設定される。
【００７０】
本実施形態におけるマッピングデータ１０６ａは、メモリ領域特定情報３０１と、タグ情報３０２とを関連付けて保持する。即ち、本実施形態におけるマッピングデータ１０６ａにより、メモリ領域特定情報３０１により１以上の領域に分類された記憶データに対して、当該領域を識別可能なタグ情報３０２を付与することが可能となる。
【００７１】
なお、メモリ領域特定情報３０１は、図３に例示するように、上記メモリ空間における特定の記憶領域を特定可能な情報として、上記メモリ部１０２におけるメモリ空間のオフセットアドレスと、当該オフセットアドレスからのサイズとを含んでもよい。係るオフセットアドレスからのサイズは、上記メモリ空間における特定の記憶領域のサイズを表す。
【００７２】
また、メモリ領域特定情報３０１は、上記メモリ空間における特定の記憶領域を特定可能な情報として、図４に例示するように、上記メモリ部１０２におけるメモリ空間における特定の位置を表す開始アドレスと、終了アドレスとを含んでもよい。
【００７３】
本実施形態におけるデータマッパ１０６は、上記マッピングデータ１０６ａを参照して、ディスパッチャ１０５から受け付けた採取対象データに含まれる記憶データに対して、タグ情報を付与する。具体的には、データマッパ１０６は、図５に例示するように、採取対象データに含まれる記憶データ５０１に対して、メモリ領域特定情報３０１により特定される記憶領域毎に、当該記憶領域に関連付けされたタグ情報３０２を付与する。
【００７４】
図５に示す具体例においては、例えば、記憶データにおいてオフセットアドレスが「０」から始まり、サイズが「１０２４」である領域についてタグ情報”Ａ”が付与される。同様に、記憶データにおいてオフセットアドレスが「１０２４」から始まり、サイズが「５１２」である領域についてタグ情報”Ｂ”が付与される。同様に、記憶データにおいてオフセットアドレスが「１５３６」から始まり、サイズが「５１２」である領域についてタグ情報”Ｃ”が付与される。なお、オフセットアドレス及び、サイズの具体的な単位は適宜定められてよく、例えばバイト単位や、ワード単位で指定されてもよい。
【００７５】
なお、採取対象データに演算部１０１から取得した状態保持データが含まれる場合、データマッパ１０６は、状態保持データであることを示す特定のタグ情報を、当該状態保持データに対して付与してもよい。
【００７６】
データマッパ１０６は、マッピングデータ１０６ａを参照してタグ情報を付与した採取対象データを、データライタ１０７に通知する。
【００７７】
次に、本実施形態におけるデータライタ１０７について説明する。本実施形態におけるデータライタ１０７は、上記データマッパ１０６、及び、後述する記録管理部１０８と通信可能に接続される。
【００７８】
データライタ１０７は、後述する採取ポリシ１０７ａに基づいて、上記データマッパ１０６から受け付けた採取対象データの少なくとも一部を、保存データとして後述する高速リポジトリ１０９に保存する。また、本実施形態におけるデータライタ１０７は、採取ポリシ１０７ａに基づいて、後述する高速リポジトリ１０９に保存したデータを、後述する解析ストレージ１１０に保存（蓄積）する。また、データライタ１０７は、後述する記録管理部１０８からの要求に応じて、後述する高速リポジトリ１０９に保存したデータを、後述する解析ストレージ１１０に蓄積する。
【００７９】
以下、データライタ１０７の具体的な構成について説明する。
【００８０】
まず、本実施形態におけるデータライタ１０７は、上記データマッパからタグ情報が付与された上記採取対象データを受け付ける。この場合、データライタ１０７が、上記データマッパ１０６から上記採取対象データを取得してもよい。また、上記データマッパ１０６が、データライタ１０７に対して、上記採取対象データを通知してもよい。
【００８１】
データライタ１０７は、採取対象データに含まれる記憶データの特定の領域に付与されたタグ情報と、当該特定の領域のデータと、後述する記録タイミング情報と、を関連付けて、保存データとして高速リポジトリ１０９に書き込む。
【００８２】
この場合、データライタ１０７は、図７に例示するようなデータ構造により、上記保存データを高速リポジトリ１０９に保存してもよい。ここで、タグ情報７０１には、採取対象データに含まれる記憶データの特定の領域に付与されたタグ情報が設定される。記録タイミング情報７０２には、保存データの記録に関するタイミングや時刻を表す情報が設定される。保存対象データ７０３には、採取対象データにおいて、タグ情報７０１により識別される特定の領域のデータが設定される。
【００８３】
ここで、記録タイミング情報７０２には、例えば、上記説明した採取タイミング情報が設定されてもよい。また、記録タイミング情報７０２には、当該保存データが高速リポジトリ１０９に保存されるタイミング（時点）、あるいは時刻を表す情報（保存タイミング情報）が設定されてもよい。なお、当該記録タイミング情報７０２には、上記説明した保存タイミング情報または採取タイミング情報以外の時刻を表す情報が設定されてもよい。
【００８４】
なお、採取対象データに状態保持データが含まれる場合は、データライタ１０７は、状態保持データであることを示すタグ情報と、状態保持データの記録タイミング情報と、状態保持データの内容と、を関連付けたデータを、保存データとして扱ってもよい。
【００８５】
次に採取ポリシ１０７ａについて、図６を参照して説明する。本実施形態における採取ポリシ１０７ａは、リポジトリ保存ポリシ６０１を含む。リポジトリ保存ポリシ６０１は、上記採取対象データを高速リポジトリ１０９に保存する方法を規定した第１のポリシである。また、本実施形態における採取ポリシ１０７ａは、ストレージ蓄積ポリシ６０２を含む。ストレージ蓄積ポリシ６０２は、高速リポジトリ１０９に保存した上記保存データを、解析ストレージ１１０に蓄積する方法を規定した第２のポリシである。
【００８６】
上記リポジトリ保存ポリシ６０１には、上記データマッパ１０６において付与されるタグ情報６０１ａと、リポジトリ領域特定情報６０１ｂと、リポジトリ領域保存情報６０１ｃとが、関連付けて設定される。
【００８７】
リポジトリ領域特定情報６０１ｂは、上記保存データが実際に保存される高速リポジトリ１０９における記憶領域（以下「リポジトリ記憶領域」と称する場合がある）を特定可能な情報である。
【００８８】
リポジトリ領域特定情報６０１ｂは、保存データが保存（記憶）される領域の開始位置を指定する開始アドレスと、保存データが保存（記憶）される領域のサイズとを含む。これにより、特定のタグが付与された保存データが保存される、高速リポジトリ１０９における記憶領域が特定される。なお、リポジトリ領域特定情報６０１ｂは、上記開始アドレスと、特定のタグが付与された保存データが保存される領域の終了位置を指定する終了アドレスとを含んでもよい。なお、リポジトリ領域特定情報６０１ｂにおける、開始（終了）アドレス及びサイズの具体的な単位は適宜定めてよい。係る単位は、例えば、バイト単位や、ワード単位で指定されてもよい。
【００８９】
リポジトリ領域保存情報６０１ｃは、上記リポジトリ記憶領域に対する新たな保存データの保存方法を特定可能な情報を含む。
【００９０】
データライタ１０７は、リポジトリ保存ポリシ６０１を参照して、採取対象データに付与されたタグ情報に関連付けされたリポジトリ領域特定情報６０１ｂを抽出する。具体的には、データライタ１０７は、特定のタグ情報が付与された、採取対象データに含まれる記憶データの特定の領域が、高速リポジトリ１０９において保存データとして保存される領域（リポジトリ記憶領域）を特定する。
【００９１】
そして、データライタ１０７は、リポジトリ領域保存情報６０１ｃを参照して、タグ情報が付与された採取対象データを高速リポジトリ１０９に保存する保存方法を特定する。そして、データライタ１０７は、その保存方法に従って、上記タグ情報が付与された採取対象データを上記特定したリポジトリ記憶領域に保存する。
【００９２】
図６に示す具体例においては、例えば、リポジトリ領域保存情報６０１ｃに「リングバッファ」、「複製」、「追記」、「保存不要」などの保存方法が指定されている。これらの保存方法は、データライタ１０７が、リポジトリ領域特定情報６０１ｂにより特定されたリポジトリ記憶領域に、タグ情報が付与された採取対象データを保存データとして保存する具体的な方法を特定可能な情報である。より具体的には、データライタ１０７は、これらの保存方法により、新たな保存データがリポジトリ記憶領域において保存される具体的な領域を特定可能である。これより、リポジトリ領域保存情報６０１ｃは、新たな保存データが保存されるリポジトリ記憶領域を特定可能な情報であるといえる。それぞれの保存方法に対する具体的な説明は後述する。
【００９３】
特定のタグ情報６０１ａに対して、リポジトリ領域保存情報６０１ｃが「保存不要」と指定されている場合（例えば、図６のタグ情報「D」）、そのタグ情報が付与された採取対象データの領域は、高速リポジトリには保存されない。即ち、データライタ１０７は、リポジトリ領域保存情報６０１ｃに基づいて、採取対象データを保存データとして高速リポジトリに保存するか否かを判定可能である。これより、リポジトリ領域保存情報６０１ｃは、採取対象データを保存データとして高速リポジトリに保存するか否かを判定可能な情報であるといえる。なお、本実施形態におけるリポジトリ領域保存情報６０１ｃは、図６に示す具体例に限定されず、他の任意の保存方法を採用してもよい。
【００９４】
また、本実施形態におけるデータライタ１０７は、保存データを高速リポジトリ１０９に保存する際、当該保存データを任意の圧縮方法により圧縮してもよい。この場合、高速リポジトリに保存（記憶）されるデータの容量を削減可能であることから、データライタ１０７は、より多くの保存データを高速リポジトリに保存可能である。
【００９５】
ストレージ蓄積ポリシ６０２は、高速リポジトリ１０９に保存された保存データを解析ストレージ１１０に保存（蓄積）するか否かを表す、蓄積要否情報６０２ａを含む。また、ストレージ蓄積ポリシ６０２は、高速リポジトリに保存された保存データを解析ストレージ１１０に蓄積する方法を表す、蓄積方法情報６０２ｂを含む。データライタ１０７は、係る蓄積方法情報６０２ｂに基づいて、高速リポジトリに保存された保存データを解析ストレージ１１０に蓄積する契機を特定する。なお、以下において、高速リポジトリ１０９に保存された保存データを解析ストレージ１１０に蓄積する処理を、単に「高速リポジトリ１０９のバックアップ」と称する場合がある。
【００９６】
例えば、図６に例示するように、蓄積要否情報６０２ａが「要」であり、蓄積方法情報６０２ｂが「定期（１分毎）」である場合、データライタ１０７は、ストレージ蓄積ポリシ６０２に基づいて、１分ごとに高速リポジトリ１０９をバックアップする。
【００９７】
なお、本実施形態におけるストレージ蓄積ポリシ６０２は、図６に示す具体例に限定されず、任意の蓄積方法を採用してよい。例えば、データライタ１０７は、上記リポジトリ保存ポリシ６０１におけるタグ情報６０１ａを参照して、特定のタグ情報ごとに、蓄積方法を変更してもよい。
【００９８】
高速リポジトリ１０９のバックアップが不要である場合、ストレージ蓄積ポリシ６０２の蓄積要否情報６０２ａに「否」が設定されてもよく、ストレージ蓄積ポリシ６０２自体が採取ポリシ１０７ａから削除されてもよい。
【００９９】
このように構成された本実施形態におけるデータライタ１０７は、例えば、後述する記録管理部１０８からの要求が無くとも、採取ポリシ１０７ａに基づいて、高速リポジトリ１０９を自動的にバックアップ可能である。即ち、データライタ１０７は、例えば、後述する記録管理部１０８からバックアップ要求が通知されるより前の保存データを、解析ストレージ１１０に保存することが可能である。係るバックアップ要求（後述する蓄積要求）は、インシデントの発生に伴い、記録管理部１０８から通知される要求である。これより、解析装置１０４は、インシデント発生の前にさかのぼって、解析対象装置１００の状態を解析可能である。
【０１００】
また、本実施形態におけるデータライタ１０７は、後述する記録管理部１０８からの要求に応じて、高速リポジトリ１０９をバックアップしてもよい。これにより、本実施形態におけるデータライタ１０７は、図示しないユーザや管理者などからの指示に応じて、高速リポジトリ１０９に保存された保存データを解析ストレージに蓄積可能である。
【０１０１】
また、本実施形態におけるデータライタ１０７は、後述する記録管理部１０８からの要求に応じて、特定のタイミングにおける解析対象装置１００の演算状態を保持する保存データに対して、ラベル情報を付与してもよい。
【０１０２】
この場合、データライタ１０７は、記録管理部１０８から受信したスナップショット情報（後述）から、上記特定のタイミングを表す情報（例えば時刻情報等）と、ラベル情報とを抽出する。そして、データライタ１０７は、当該特定のタイミングに対応する保存データを高速リポジトリ１０９、あるいは、解析ストレージ１１０から抽出し、抽出した保存データに対してラベル情報を付与する。例えば、上記特定のタイミングを表す情報が時刻を表す情報である場合、データライタ１０７は、保存データの記録タイミング情報７０２を参照し、上記特定のタイミングに最も近い時刻に取得された保存データにラベル情報を付与してもよい。各保存データに対するラベル情報の付与方法は、適宜定めてよい。
【０１０３】
次に、本実施形態における記録管理部１０８について説明する。
【０１０４】
記録管理部１０８は、図示しないユーザや管理者等から、高速リポジトリ１０９を解析ストレージ１１０にバックアップする要求を受けつける。この場合、記録管理部１０８は、当該要求に従って、データライタ１０７に対して、高速リポジトリ１０９のバックアップ要求（蓄積要求）を通知する。
【０１０５】
また、記録管理部１０８は、センサ１１１から、高速リポジトリ１０９を解析ストレージ１１０にバックアップする要求を受けつける。係る要求を受け付けた記録管理部１０８は、当該要求に従って、データライタ１０７に対して蓄積要求を通知する。
【０１０６】
また、記録管理部１０８は、図示しないユーザや管理者等から、新たな採取ポリシ１０７ａの設定や、採取ポリシ１０７ａの変更に関する要求を受け付ける。この場合、係る要求を受け付けた記録管理部１０８は、当該要求に従って、採取ポリシ１０７ａに含まれるリポジトリ保存ポリシ６０１や、ストレージ蓄積ポリシ６０２を設定する。なお、この場合、記録管理部１０８が、採取ポリシ１０７ａを直接変更してもよく、データライタ１０７に対して採取ポリシ１０７ａの変更を要求してもよい。
【０１０７】
また、記録管理部１０８は、図示しないユーザや管理者等から、マッピングデータ１０６ａの変更に関する要求を受け付ける。この場合、係る要求を受け付けた記録管理部１０８は、当該要求に従って、マッピングデータ１０６ａを変更する。なお、この場合、記録管理部１０８が、マッピングデータ１０６ａを直接変更してもよく、データマッパ１０６に対してマッピングデータ１０６ａの変更を要求してもよい。
【０１０８】
また、記録管理部１０８は、図示しないユーザや管理者等から、ディスパッチャ１０５に対するサンプリング周期の設定を受け付ける。この場合、係る要求を受け付けた記録管理部１０８は、当該要求に従って、ディスパッチャ１０５に対してサンプリング周期の変更を通知する。
【０１０９】
また、記録管理部１０８は、図示しないユーザや管理者等から、上記採取対象データの生成に関する要求を受け付けてもよい。この場合、係る要求を受け付けた記録管理部１０８は、当該要求に従って、ディスパッチャ１０５に対して採取対象データの生成を要求する。
【０１１０】
また、記録管理部１０８は、後述するセンサ１１１から、インシデントの発生に伴う、上記採取対象データの生成に関する要求を受け付けてもよい。この場合、係る要求を受け付けた記録管理部１０８は、当該要求に従って、ディスパッチャ１０５に対して採取対象データの生成を要求する。
【０１１１】
上記のように構成された記録管理部１０８及びデータライタ１０７は、ユーザや管理者の要求に応じて採取ポリシ１０７ａを設定することにより、特定のメモリ空間だけを記録したり、メモリ空間毎に保存方法を変更可能である。即ち、本実施形態においては、採取ポリシ１０７ａに基づいて、高速リポジトリ１０９に保存される保存データのサイズや保存方法が調整される。これにより、データライタ１０７は、高速リポジトリ１０９の記憶容量を節約して、より多くの保存データを蓄積することが可能である。
【０１１２】
また、上記したように、記録管理部１０８がディスパッチャ１０５に対するサンプリング周期を設定可能である場合、記録管理部１０８は、単位時間あたりに高速リポジトリ１０９に保存される保存データの数を調整可能である。
【０１１３】
また、上記したように、センサ１１１においてインシデントの発生を検知した際、記録管理部１０８は、センサ１１１から通知される、採取対象データの生成と、高速リポジトリ１０９のバックアップに関する要求に対応可能である。これにより、解析装置１０４は、インシデントが発生した時点の付近における、解析対象装置１００の動作を解析可能である。
【０１１４】
なお、本実施形態における記録管理部１０８は、図示しないユーザ等から、特定のタイミングにおける解析対象装置１００の演算状態をスナップショットとして保存する要求を受け付けてもよい。この場合、記録管理部は１０８は、スナップショットを表すラベル情報と、当該特定のタイミングを表す情報（例えば時刻情報等）とを含むスナップショット情報を、データライタ１０７に送信する。なお、係るラベル情報は、図示しないユーザ等から与えられてもよく、記録管理部１０８が生成してもよい。
【０１１５】
次に、本実施形態における高速リポジトリ１０９について説明する。高速リポジトリ１０９は、高速な入出力（ＩＯ：Ｉｎｐｕｔ  Ｏｕｔｐｕｔ）が可能な、所定の記憶容量を有する記憶領域である。高速リポジトリ１０９としては、例えば、ＳＳＤやＲＡＭディスク等、比較的記憶容量が小さいが、データの入出力が高速な記憶装置を採用可能である。
【０１１６】
本実施形態における高速リポジトリ１０９は、データライタ１０７と通信可能に接続され、データライタ１０７から受け付けた保存データを、自装置における記憶領域に保存する。この際、高速リポジトリ１０９において実際の保存データが書き込まれる領域は、上記説明した通り、採取ポリシ１０７ａ（特にはリポジトリ保存ポリシ６０１）により設定される。
【０１１７】
本実施形態における高速リポジトリ１０９の記憶容量には限界があるので、高速リポジトリ１０９は、データライタ１０７から受け付けた全ての保存データを長期的に蓄積できない場合がある。このため、上記採取ポリシ１０７ａ（特にはリポジトリ保存ポリシ６０１）に基づいて、高速リポジトリ１０９に保存されるデータが選択されると共に、その保存方法が設定される。本実施形態における解析装置１０４は、これにより、なるべく多くの保存データを高速リポジトリ１０９に保存可能とする。
【０１１８】
次に、本実施形態における解析ストレージ１１０について説明する。解析ストレージ１１０は、高速リポジトリ１０９よりも入出力処理が低速であるが、記憶容量が大きい不揮発性の記憶装置である。また、解析ストレージ１１０は、自装置に記憶された記憶データを長期間にわたって保持可能な記憶装置である。係る解析ストレージ１１０としては、例えば磁気ディスク装置や、複数の磁気ディスク装置を用いたＲＡＩＤ構成による記憶装置等が採用されてもよい。
【０１１９】
本実施形態における解析ストレージ１１０は、上記説明したデータライタ１０７と通信可能に接続され、データライタ１０７から受け付けた蓄積用のデータ（保存データ）を、自装置における特定の記憶領域に書き込む。
【０１２０】
なお、解析ストレージ１１０と、高速リポジトリ１０９とは、任意の通信回線（通信バス等）により直接接続されてもよい。この場合、データライタ１０７からの要求に応じて、高速リポジトリ１０９が保存されたデータを直接解析ストレージ１１０に転送し、解析ストレージ１１０が当該データを蓄積してもよい。
【０１２１】
本実施形態においては、データライタ１０７が、上記採取ポリシ１０７ａ（特にはストレージ蓄積ポリシ６０２）に基づいて、高速リポジトリ１０９に保存された保存データを、解析ストレージ１１０に蓄積する。本実施形態における解析装置１０４は、これにより、解析ストレージ１１０を用いて、ディスパッチャ１０５にて生成された採取対象データを長期間にわたって蓄積することが可能である。
【０１２２】
次に、センサ１１１について説明する。センサ１１１は、解析対象装置１００における演算処理に影響を及ぼす可能性を有するインシデントを検出可能な、任意の装置である。センサ１１１は、例えば、周知の侵入検知システム（ＩＤＳ：Ｉｎｔｒｕｓｉｏｎ  Ｄｅｔｅｃｔｉｏｎ  Ｓｙｓｔｅｍ）や侵入防止システム（ＩＰＳ：Ｉｎｔｒｕｓｉｏｎ  Ｐｒｅｖｅｎｔｉｏｎ  Ｓｙｓｔｅｍ）等であってもよい。また、センサ１１１は、例えば、解析対象装置１００の動作状態を類推可能な情報を検知する検知器であってもよい。より具体的には、センサ１１１は、例えば、解析対象装置１００の温度や、演算部１０１の使用率などを検出する検知器であってもよい。
【０１２３】
センサ１１１は、記録管理部１０８と通信可能に接続されており、例えば、インシデントを検知した際に、記録管理部１０８に対して、高速リポジトリ１０９に保存されたデータを解析ストレージ１１０に蓄積するよう要求してもよい。また、センサ１１１は、記録管理部１０８に対して、ディスパッチャ１０５における採取対象データの生成を要求してもよい。
【０１２４】
このように、解析装置１０４とセンサ１１１とが連携することにより、解析装置１０４は、高速リポジトリ１０９に保存されたデータを、インシデント発生時に解析ストレージ１１０に蓄積することが可能である。これにより、解析装置１０４は、インシデント発生時点の付近における解析対象装置１００の動作を解析可能なデータを解析ストレージ１１０に蓄積可能である。
【０１２５】
次に、本実施形態における監視装置１１２について説明する。監視装置１１２は、図示しないユーザや管理者等に対して提供されるインタフェース装置であり、解析装置１０４（特には記録管理部１０８）と通信可能に接続されている。図示しないユーザや管理者等は、監視装置１１２を介して、解析装置１０４に対して各種要求を通知する。なお、監視装置１１２を設けるか否かは適宜選択してよい。
【０１２６】
次に、上記のように構成された本実施形態における解析装置１０４の動作について説明する。
【０１２７】
図８は、ディスパッチャ１０５によるデータの取得から、データライタ１０７による高速リポジトリへの保存までの一連の処理を例示したフローチャートである。なお、下記フローチャートに例示する処理は、例えば、記録管理部１０８からの要求に応じて開始されてもよく、解析装置１０４が起動された際に、自動的に開始されてもよい。
【０１２８】
まず、ディスパッチャ１０５が、送受信対象データを取得する（ステップＳ８０１）。
【０１２９】
次に、ディスパッチャ１０５は、上記ステップＳ８０１において取得したデータを複製して、上記説明した採取対象データを生成する（ステップＳ８０２）。この場合、ディスパッチャ１０５は、例えば、以下のような処理により、採取対象データを生成してもよい。即ち、ディスパッチャ１０５は、演算部１０１とメモリ部１０２との間を送受信されるデータを、特定の開始点から時系列に全て取得（キャプチャ）することにより、特定の時点においてメモリ部１０２が記憶する記憶データを構築する。そして、ディスパッチャ１０５は、このようにして構築された記憶データを含む上記採取対象データを生成する。また、ディスパッチャ１０５は、特定の時点において上記メモリ部１０２が記憶する記憶データの複製（メモリダンプの複製）を取得することにより、係る記憶データを含む上記採取対象データを生成してもよい。
そして、ディスパッチャ１０５は、上記のようにして生成した採取対象データをデータマッパ１０６に送信してもよい。
【０１３０】
次に、データマッパ１０６は、上記ステップＳ８０２においてディスパッチャ１０５が生成した採取対象データに対して、マッピングデータ１０６ａを参照してタグ情報を付与する（ステップＳ８０３）。具体的には、データマッパ１０６は、マッピングデータ１０６ａに設定されたメモリ領域特定情報３０１と、タグ情報３０２とに基づいて、採取対象データに含まれる特定の領域毎にタグ情報を付与する。
【０１３１】
次に、データマッパ１０６は、上記ステップＳ８０３においてタグが付与された採取対象データを、データライタ１０７に送付（送信）する（ステップＳ８０４）。この場合、データライタ１０７が、係る採取対象データをデータマッパ１０６から取得してもよい。
【０１３２】
採取対象データを受信したデータライタ１０７は、採取ポリシ１０７ａに基づいて、当該採取対象データを保存データとして高速リポジトリ１０９に保存する（ステップＳ８０５）。
【０１３３】
以下、ステップＳ８０５における処理の内容について、図９に例示するフローチャートを参照して説明する。
【０１３４】
まず、データライタ１０７は、採取対象データのそれぞれの領域について設定されたタグ情報を確認し、採取ポリシ１０７ａにおいて、当該タグ情報に対応するポリシ（リポジトリ保存ポリシ６０１）を特定する（ステップＳ９０１）。例えば、タグ情報として”Ａ”が設定された採取対象データに含まれる領域について、データライタ１０７は、リポジトリ保存ポリシ６０１から、タグ情報”Ａ”に対応するリポジトリ領域特定情報６０１ｂ（この場合は開始アドレス「０」からサイズ「１０２４００」分）を特定する。また、データライタ１０７は、リポジトリ保存ポリシ６０１から、タグ情報”Ａ”に対応するリポジトリ領域保存情報６０１ｃ（この場合は「リングバッファ」）を特定する。
【０１３５】
次に、データライタ１０７は、採取ポリシ１０７ａに設定された保存方法を確認する（ステップＳ９０２）。より具体的には、データライタ１０７は、上記特定したリポジトリ領域保存情報６０１ｃを確認する。
【０１３６】
ステップＳ９０２における確認の結果、保存方法が「保存不要」である場合（ステップＳ９０３において「保存不要」の場合に相当）、データライタ１０７は処理を終了する。
【０１３７】
ステップＳ９０２における確認の結果、保存方法が「リングバッファ」である場合、（ステップＳ９０３において「リングバッファ」の場合に相当）、データライタ１０７は、リングバッファに、保存データを保存する（ステップＳ９０４）。係るリングバッファは、リポジトリ領域特定情報６０１ｂにより特定された高速リポジトリ１０９の記憶領域に構成される。
【０１３８】
より具体的には、例えば、データライタ１０７は、リポジトリ領域特定情報６０１ｂにより特定された領域に構成されたリングバッファに、空きバッファ（空きブロック）が存在するか否かを確認する。空きバッファが存在しない場合、データライタ１０７は、高速リポジトリ１０９の当該領域に保存された保存データの内、もっとも古いデータを削除し、そのバッファに新たな保存データを書き込む。即ち、データライタ１０７は、新しい保存データにより、最も古い保存データを更新する。この場合、データライタ１０７は、記録タイミング情報７０２を参照することにより、高速リポジトリ１０９の特定の領域に保存された最も古いデータを抽出可能である。
【０１３９】
ステップＳ９０２における確認の結果、保存方法が「複製」である場合、（ステップＳ９０３において「複製」の場合に相当）、データライタ１０７は、リポジトリ領域特定情報６０１ｂにより特定された高速リポジトリ１０９の記憶領域を、保存データにより上書きする（ステップＳ９０５）。即ち、保存方法が「複製」である場合、データライタ１０７は、リポジトリ領域特定情報６０１ｂにより特定された領域を、常に新たな保存データにより上書きしてよい。
【０１４０】
ステップＳ９０２における確認の結果、保存方法が「追記」である場合、（ステップＳ９０３において「追記」の場合に相当）、データライタ１０７は、リポジトリ領域特定情報６０１ｂにより特定された高速リポジトリ１０９の記憶領域に、新たな保存データを追記する（ステップＳ９０６）。当該記憶領域に空き領域がなくなった場合、データライタ１０７は、当該記憶領域に保存されていた保存データを、解析ストレージ１１０に蓄積し、当該記憶領域を初期化してもよい。
【０１４１】
なお、上記保存方法はあくまで例示である。上記以外の保存方法として、例えば、データライタ１０７は、リポジトリ領域特定情報６０１ｂにより特定された高速リポジトリ１０９の記憶領域の空き容量がなくなるまで新たな保存データを書き込み、空き容量が無くなった場合に書き込みを停止してもよい。また、データライタ１０７は、リポジトリ領域特定情報６０１ｂにより特定された高速リポジトリ１０９の記憶領域に特定の期間分の保存データを保存し、当該期間が経過した際、保存されていた保存データを廃棄してもよい。本実施形態におけるリポジトリ領域保存情報６０１ｃには、上記以外の任意の保存方法が設定されてもよい。
【０１４２】
なお、上記ステップＳ９０４乃至ステップＳ９０６において、データライタ１０７は、採取対象データの特定の領域に付与されたタグ情報と、採取対象データの記録タイミング情報と、採取対象データの特定の領域に含まれるデータとを関連付けて、保存データとして高速リポジトリ１０９に書き込む。
【０１４３】
次に、図１０に例示するフローチャートを参照して、記録管理部１０８がデータライタ１０７に対して高速リポジトリ１０９のバックアップを要求した場合の処理について説明する。
【０１４４】
まず、記録管理部１０８が、監視装置１１２、あるいは、センサ１１１から、高速リポジトリ１０９のバックアップを要求する通知を受信する（ステップＳ１００１）。
【０１４５】
記録管理部１０８は、ステップＳ１００１において受け付けた通知に基づいて、データライタ１０７に対して、高速リポジトリ１０９のバックアップ要求（蓄積要求）を通知する（ステップＳ１００２）。
【０１４６】
上記ステップＳ１００２における通知を受信したデータライタ１０７は、高速リポジトリ１０９に保存された保存データを、解析ストレージ１１０にバックアップする（ステップＳ１００３）。
【０１４７】
次に、図１１に例示するフローチャートを参照して、ストレージ蓄積ポリシ６０２に基づいて、データライタ１０７が、高速リポジトリ１０９を解析ストレージ１１０にバックアップする処理について説明する。
【０１４８】
まず、データライタ１０７は、採取ポリシ１０７ａに含まれるストレージ蓄積ポリシ６０２を確認する（ステップＳ１１０１）。
【０１４９】
ステップＳ１１０１における確認の結果、ストレージ蓄積ポリシ６０２が存在しない場合、データライタ１０７は高速リポジトリ１０９を解析ストレージ１１０にバックアップ（蓄積）する必要が無いと判断し（ステップＳ１１０２において「蓄積不要」）、処理を終了する。同様に、ストレージ蓄積ポリシ６０２においてバックアップが不要（蓄積要否情報６０２ａが「否」）であると設定されている場合（ステップＳ１１０２において「蓄積不要」）、データライタ１０７は処理を終了する。
【０１５０】
ステップＳ１１０２において「蓄積要」の場合（蓄積要否情報６０２ａが「要」の場合）、データライタ１０７は、蓄積方法情報６０２ｂを参照する。そして、データライタ１０７は、高速リポジトリ１０９に保存された保存データを、蓄積方法情報６０２ｂに基づいて解析ストレージ１１０にバックアップする（ステップＳ１１０３）。
【０１５１】
以上のように構成された本実施形態における解析装置１０４によれば、演算部１０１と、メモリ部１０２との間で送受信される対象である送受信対象データに基づいて、ディスパッチャ１０５が採取対象データを生成する。そして、係る採取対象データに対して、データマッパ１０６が、マッピングデータ１０６ａに基づいてタグ情報を付与する。そして、データライタ１０７が、採取ポリシ１０７ａに基づいて採取対象データを高速リポジトリ１０９に保存する。また、採取ポリシ１０７ａに基づいて、データライタ１０７が、高速リポジトリ１０９を、解析ストレージ１１０にバックアップする。
【０１５２】
具体的には、解析装置１０４は、例えば、特定のタグ情報が付与された領域のみを高速リポジトリ１０９に保存することが可能である。また、解析装置１０４は、例えば、特定のタグが付与された保存データを多く保存し、他の特定のタグが付与された保存データを少なく保存することが可能である。この意味において、本実施形態におけるマッピングデータ１０６ａ、及び採取ポリシ１０７ａは、タグ情報に基づいて、採取対象データに含まれるデータを保存するか否かを規定する、フィルタとして機能すると言える。
【０１５３】
即ち、本実施形態における解析装置１０４は、採取対象データに付与されたタグ情報に基づいて、当該タグ情報が付与された領域毎に、高速リポジトリへの保存方法を変更可能である。これより、解析装置１０４は、所定の記憶容量を有する高速リポジトリ１０９の記憶領域を有効に利用可能である。
【０１５４】
また、データライタ１０７は、保存データを圧縮して高速リポジトリ１０９に保存可能である。これより、解析装置１０４は、高速リポジトリの記憶容量に対して、より多くの保存データを保存可能である。
【０１５５】
また、ディスパッチャ１０５におけるサンプリング周期を設定することにより、単位時間に取得する採取対象データの個数を調整することが可能である。これにより、解析装置１０４は、単位時間に消費する高速リポジトリの記憶容量を調整可能である。
【０１５６】
また、センサ１１１あるいは監視装置１１２からの通知に基づいて、ディスパッチャ１０５が採取対象データを生成することが可能である。同様に、センサ１１１あるいは監視装置１１２からの通知に基づいて、データライタ１０７が、高速リポジトリ１０９を解析ストレージ１１０にバックアップ可能である。よって、本実施形態における解析装置１０４は、例えば、特定のインシデントが発生した時点の前後における解析対象装置１００の演算状態を保存可能である。
【０１５７】
以上より、本実施形態における解析装置１０４によれば、限られた記憶容量の記憶装置を用いて、解析対象装置１００の状態を再現可能なデータを、より多く保存することが可能である。
【０１５８】
＜第１の実施形態の第１の変形例＞
次に、上記説明した第１の実施形態の第１の変形例について説明する。本変形例は、上記第１の実施形態における解析装置１０４に対して、図１２に例示するように、マップジェネレータ１２０１が追加された点においてのみ相違し、その他は同様である。よって、以下、係る相違点についてのみ説明し、共通する構成についての説明は省略する。
【０１５９】
本変形例におけるマップジェネレータ１２０１は、ディスパッチャ１０５及びデータマッパ１０６と通信可能に接続される。また、マップジェネレータ１２０１は、記録管理部１０８と通信可能に接続されてもよい。
【０１６０】
マップジェネレータ１２０１は、解析対象装置１００の基本構成を表す情報であるアーキテクチャに関する情報に基づいて、適切なマッピングデータを生成する。そして、マップジェネレータ１２０１は、生成したマッピングデータを、マッピングデータ１０６ａに登録する。マップジェネレータ１２０１は、生成したマッピングデータをデータマッパ１０６に送付し、マッピングデータ１０６ａの更新を要求してもよい。
【０１６１】
より具体的には、マップジェネレータ１２０１は、例えば、ディスパッチャ１０５から、演算部１０１の基本構成を表すアーキテクチャに関する情報を取得する。また、マップジェネレータ１２０１は、記録管理部１０８を介して、解析対象装置１００において実行されるＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）に関する情報を取得してもよい。この場合、図示しないユーザや管理者等が、記録管理部１０８を介して、マップジェネレータ１２０１にＯＳに関する情報を通知してもよい。
【０１６２】
マップジェネレータ１２０１は、上記取得した演算部１０１のアーキテクチャに関する情報と、解析対象装置１００において実行されるＯＳに関する情報とを、解析対象装置１００のアーキテクチャに関する情報として扱う。マップジェネレータ１２０１は、係るアーキテクチャに関する情報に基づいてマッピングデータを生成する。そして、マップジェネレータ１２０１は、当該生成したマッピングデータを、マッピングデータ１０６ａに登録する。
【０１６３】
具体的には、マップジェネレータ１２０１は、例えば、上記記憶データを、解析対象装置１００において実行されているプロセス毎の領域に分割し、それぞれの領域に対してプロセス名をタグ情報として関連付けるマッピングデータを生成してもよい。こうして生成されたマッピングデータ１０６ａと、それに応じた採取ポリシ１０７ａとを用いることにより、解析装置１０４は、例えば、高速リポジトリ１０９に保存されるデータを、以下のように制御可能である。即ち、解析装置１０４は、重要度が高い特定のプロセスに関するメモリ領域（記憶データ）を高速リポジトリ１０９に多く保存し、重要度が低いプロセスに関するメモリ領域を保存しない、等の制御が可能である。
【０１６４】
また、マップジェネレータ１２０１を導入することにより、例えば、解析装置１０４は、解析対象装置１００における処理の状況に応じて、マッピングデータ１０６ａを動的に変更することも可能である。
【０１６５】
このように本変形例における解析装置１０４は、重要度が高いメモリ領域と、そうではないメモリ領域とをタグ情報を用いて区別することにより、当該タグ情報ごとに採取ポリシ１０７ａの保存方法を変更することが可能である。また、マップジェネレータ１２０１を導入することにより、解析装置１０４は、解析対象装置１００における処理の状況に応じて、重要度が高いメモリ領域と、そうではないメモリ領域とを区別するタグ情報を動的に変更可能である。
【０１６６】
よって、本実施形態における解析装置１０４によれば、限られた記憶容量の記憶装置を用いて、解析対象装置１００の状態を再現可能なデータをより多く保存することが可能である。
【０１６７】
＜第１の実施形態の第２の変形例＞
次に、上記説明した第１の実施形態の第２の変形例について説明する。本変形例は、上記第１の実施形態に対して、解析対象装置１００が複数台存在する点において異なる。これに伴い、本変形例においては、図１３に例示するように、ディスパッチャ１０５、データマッパ１０６、及び、マップジェネレータ１２０１が、複数存在する。なお、複数存在するそれぞれの構成要素自体は、上記説明した第１の実施形態と同様としてよい。
【０１６８】
また、図１３に例示するデータライタ１３０１は、上記第１の実施形態におけるデータライタ１０７に対して、複数のデータマッパ１０６からの採取対象データを受け付ける点において異なり、その他は同様である。本変形例におけるデータライタ１３０１は、複数のデータマッパ１０６から受け付けた採取対象データを、それぞれ保存データとして高速リポジトリ１０９に保存する。
【０１６９】
また、採取ポリシ１３０１ａは、図１４に例示するように、第１の実施形態における採取ポリシ１０７ａに対して、複数のディスパッチャ１０５を識別可能なディスパッチャＩＤ（Ｉｄｅｎｔｉｆｉｅｒ）１４０１ａを含む点において異なる。採取ポリシ１３０１ａのその他の構成は、採取ポリシ１０７ａと同様である。
【０１７０】
データライタ１３０１は、採取ポリシ１３０１ａに基づいて、各データマッパ１０６から受け付けた採取対象データを、保存データとして高速リポジトリ１０９に保存する。この場合、データライタ１３０１は、採取対象データをどのデータマッパ１０６から取得したか（いずれのディスパッチャ１０５により生成された採取対象データか）判別可能である。これより、データライタ１３０１は、各採取対象データに対して、当該採取対象データを生成したディスパッチャ１０５に対応するディスパッチャＩＤが付与されたポリシを適用することが可能である。
【０１７１】
なお、データライタ１３０１は、図１５に例示するような形式で、保存データを高速リポジトリ１０９に保存してもよい。即ち、各保存データは、ディスパッチャＩＤ１５０１によって、何れのディスパッチャ１０５により生成されたデータであるか（いずれの解析対象装置１００に関するデータであるか）判別可能である。
【０１７２】
なお、本変形例における解析装置１０４のその他の動作は、上記第１の実施形態における解析装置１０４と同様としてよいため、詳細な説明は省略する。
【０１７３】
本変形例における解析装置１０４は、複数の解析対象装置１００のそれぞれに関するデータを単一の解析装置１０４により収集し、解析可能である。よって、本変形例における解析装置１０４は、上記第１の実施形態と同様の効果を奏すると共に、少ない解析装置１０４により、多くの解析対象装置１００を解析可能である。
【０１７４】
なお、図１３に例示する構成においては、２台の解析対象装置１００が例示されているが、本実施形態はこれには限定されず、任意の台数の解析対象装置１００を採用してよい。
【０１７５】
＜第２の実施形態＞
次に、上述した第１の実施形態に係る解析装置を基本とする第２の実施形態について説明する。
【０１７６】
以下の説明においては、本実施形態に係る特徴的な部分を中心に説明すると共に、上述した第１の実施形態と同様な構成についての重複する説明は省略する。
【０１７７】
図１６に例示する、本実施形態における解析装置１６０４は、上記第１の実施形態における解析装置１０４に対して、再現部１６０５を有する点において異なる。なお、以下の説明においては、本実施形態に係る特徴的な部分である再現部１６０５を中心に説明する。図１６に例示する解析部１６０６は、上記第１の実施形態における解析装置１０４の構成要素と同様としてよいため、詳細な説明は省略する。
【０１７８】
まず、本実施形態における再現対象装置１６００について説明する。再現対象装置１６００は、演算部１６０１と、当該演算部１６０１に通信バス１６０３を介して通信可能に接続されたメモリ部１６０２とを備える。なお、演算部１６０１及びメモリ部１６０２は、上記第１の実施形態における演算部１０１及び、メモリ部１０２と同様としてよいので、詳細な説明は省略する。なお、図１６においては、解析対象装置１００と、再現対象装置１６００とを別々の装置として記載しているが、本実施形態はこれには限定されない。解析対象装置１００と、再現対象装置１６００は同じ装置として構成されてもよい。
【０１７９】
次に、本実施形態における再現部１６０５について説明する。再現部１６０５は、データリーダ１６０９と、プレーヤ１６０８と、再現指示部１６０７とを有する。以下それぞれの構成要素について説明する。
【０１８０】
まず、本実施形態における再現指示部１６０７について説明する。再現指示部１６０７は、データリーダ１６０９、及び、プレーヤ１６０８と通信可能に接続される。
【０１８１】
再現指示部１６０７は、例えば、図示しないユーザや管理者等からの要求に応じて、プレーヤ１６０８に対して、解析対象装置１００における特定の演算状態の再現を指示する要求である再現要求を送信する。この場合、再現指示部１６０７は、例えば、再現対象である解析対象装置１００の演算状態を特定可能な再現対象特定情報を、上記再現要求に設定する。そのような再現対象特定情報は、例えば、解析対象装置１００の演算状態を再現したいタイミング（あるいは時刻）を表す情報や、上記説明したスナップショットに対応するラベル情報であってもよいが、これには限定されない。
【０１８２】
次に、本実施形態におけるプレーヤ１６０８について説明する。本実施形態におけるプレーヤ１６０８は、データリーダ１６０９、及び、再現指示部１６０７と通信可能に接続される。また、プレーヤ１６０８は、再現対象装置１６００における演算部１６０１、及び、メモリ部１６０２に通信可能に接続される。
【０１８３】
プレーヤ１６０８は、例えば、上記再現指示部１６０７からの要求（再現要求）に応じて、高速リポジトリ１０９に保存されたデータを演算部１６０１及びメモリ部１６０２に展開（設定）する。これにより、プレーヤ１６０８は、解析対象装置１００の演算状態を、再現対象装置１６００において再現する。
【０１８４】
具体的には、プレーヤ１６０８は、まず、再現指示部１６０７から受信した再現要求に含まれる再現対象特定情報を抽出する。そして、プレーヤ１６０８は、当該再現対象特定情報をデータリーダ１６０９に送信して、採取対象データの再現を要求する。例えば、再現対象特定情報に時刻情報が設定されている場合、プレーヤ１６０８は、当該時刻における採取対象データを再現するよう、データリーダ１６０９に要求する。また、例えば、再現対象特定情報にラベル情報が設定されている場合、当該ラベル情報が付与された保存データに基づいて、採取対象データを再現するよう、データリーダ１６０９に要求する。データリーダ１６０９における採取対象データの再現処理については後述する。
【０１８５】
プレーヤ１６０８は、データリーダ１６０９において再現された採取対象データを、データリーダ１６０９から受信する。以下、再現された採取対象データを「再現用データ」と称する場合がある。
【０１８６】
そして、プレーヤ１６０８は、当該再現用データに含まれる、メモリ部１０２の記憶データをメモリ部１６０２に設定する。当該記憶データに、メモリ部１０２において記憶される領域を特定可能な情報（アドレス等）が含まれている場合、プレーヤ１６０８は、係る情報を基に当該記憶データをメモリ部１６０２に設定する。
【０１８７】
また、プレーヤ１６０８は、当該再現された再現用データに演算部１０１の状態保持データが含まれる場合、係る状態保持データを演算部１６０１に設定する。
【０１８８】
なお、上記第１の実施形態において説明したように、データライタ１０７は、採取ポリシ１０７ａに基づいて、ディスパッチャ１０５において採取された採取対象データの一部を保存データとして高速リポジトリ１０９に保存する場合がある。即ち、この場合、係る保存データからは、ディスパッチャ１０５において取得された、元の送受信対象データの一部のみが再現用データとして再現可能である。
【０１８９】
この場合、再現用データのみでは、解析対象装置１００の動作を完全に再生できない場合がある。しかしながら、少なくとも、再現用データに含まれるデータに基づいて、解析対象装置の特定のタイミングにおける演算状態を解析することが可能である。また、元の採取対象データから欠落している領域の種類や内容によっては、再現対象装置１６００に再現用データを展開した際に、解析対象装置１００の動作の一部または全部を再生可能である場合がある。
【０１９０】
これより、本実施形態におけるプレーヤ１６０８は、再現用データが元の採取対象データの一部のみを再現可能である場合にも、データリーダ１６０９において再現された採取可能データを演算部１６０１及びメモリ部１６０２に展開してよい。
【０１９１】
なお、演算部１６０１に対する状態保持データの具体的な設定方法は、当該演算部１６０１の構成に応じて適宜選択してよい。例えば、プレーヤ１６０８は、演算部１６０１の特定の入出力ポートを介して、状態保持データを設定してもよい。同様に、メモリ部１６０２に対する記憶データの具体的な設定方法は、当該メモリ部１６０２の構成に応じて適宜選択してよい。例えば、プレーヤ１６０８は、通信バス１６０３を介してメモリ部１６０２にそれぞれ必要なデータを流し込んでもよい。また、演算部１６０１及びメモリ部１６０２を仮想デバイスとして構成した場合、プレーヤ１６０８は、仮想化基盤において提供される機能を利用してもよい。
【０１９２】
また、プレーヤ１６０８は、演算部１６０１を制御することにより、処理速度を遅延させてもよい。より具体的には、プレーヤ１６０８は、例えば、演算部１６０１に対して所定のコマンドを送付する、あるいは、演算部１６０１における所定のレジスタに特定の値を設定することにより、演算部１６０１の動作周波数（動作クロック）を低くする。また、演算部１６０１が仮想的な演算装置として提供される場合、プレーヤ１６０８は、仮想化基盤において提供される機能を用いて、当該演算部１６０１の動作周波数を変更してもよい。
【０１９３】
このように、演算部１６０１の処理速度を遅くして（低減して）採取対象データを展開することにより、採取対象データが展開された状態における再現対象装置１６００の動作を解析することが容易になる。これにより、例えば、再現対象装置１６００の動作を解析するために、再現対象装置１６００において実行される特定のプロセスを、デバッガ等を用いて追跡することが容易になる。
【０１９４】
なお、本実施形態におけるプレーヤ１６０８は、特定の時点から時系列に順次再現用データをデータリーダ１６０９に要求してもよい。プレーヤ１６０８は、順次取得した再現用データを演算部１６０１及びメモリ部１６０２に展開してもよい。
【０１９５】
また、本実施形態におけるプレーヤ１６０８は、再現用データを演算部１６０１及びメモリ部１６０２に展開した後、演算部１６０１が処理を実行するよう制御してもよい。この場合、再現用データが展開された状態から、再現対象装置１６００を動作させながら、演算状態を解析することが可能である。
【０１９６】
次に、本実施形態におけるデータリーダ１６０９について説明する。データリーダ１６０９は、高速リポジトリ１０９、及び、解析ストレージ１１０と通信可能に接続される。また、データリーダ１６０９は、プレーヤ１６０８、及び、再現指示部１６０７と通信可能に接続される。また、データリーダ１６０９は採取ポリシ１０７ａを参照可能に構成される。この場合、データリーダ１６０９は、データライタ１０７と通信可能に接続され、データライタ１０７が有する採取ポリシ１０７ａを参照してもよく、データライタ１０７から採取ポリシ１０７ａを受信（取得）してもよい。
【０１９７】
また、データリーダ１６０９は、必要に応じて、マッピングデータ１０６ａを参照可能に構成される。この場合、データリーダ１６０９は、データマッパ１０６と通信可能に接続され、データライタ１０７が有するマッピングデータ１０６ａを参照してもよく、データライタ１０７からマッピングデータ１０６ａを受信（取得）してもよい。
【０１９８】
データリーダ１６０９は、再現指示部１６０７、あるいは、プレーヤ１６０８からの要求に応じて、解析ストレージ１１０に保存されている保存データを、高速リポジトリ１０９に復元（リストア）する。また、データリーダ１６０９は、高速リポジトリに復元した保存データをもとに、上記第１の実施形態において説明した採取対象データを再現する。以下データリーダ１６０９の動作について説明する。
【０１９９】
まず、データリーダ１６０９は、プレーヤ１６０８から採取対象データの再現要求を受け付け、当該採取対象データに相当する保存データを抽出する。具体的には、データリーダ１６０９は、解析ストレージ１１０に保存された保存データに付与された記録タイミング情報７０２を確認し、プレーヤ１６０８から指定された特定の時刻に最も近い時刻以降の保存データを抽出する（読み出す）。なお、プレーヤ１６０８から特定のスナップショットを表すラベル情報が指定された場合には、当該ラベル情報が付与された保存データを抽出してもよい。そして、データリーダ１６０９は、上記抽出した保存データを、高速リポジトリ１０９に書き込む（リストアする）。
【０２００】
この場合、データリーダ１６０９は、記録タイミング情報７０２に、上記抽出した（リストアした）保存データよりも後の時刻が設定されている保存データを時系列に順次読み込んで、高速リポジトリ１０９に順次リストアしてもよい。
【０２０１】
なお、データリーダ１６０９は、例えば、採取ポリシ１０７ａを参照し、各タグ情報６０１ａに関連付けられたリポジトリ領域特定情報６０１ｂによって特定される領域の空き容量が、所定の割合以下になるまで、保存データをリストアし続けてもよい。
【０２０２】
データリーダ１６０９は、保存データがリストアされた高速リポジトリ１０９を参照して、記録タイミング情報７０２に特定の時刻情報（プレーヤ１６０８から指定された、再現対象の時刻情報）が設定された保存データを収集する。データリーダ１６０９は、収集された保存データを構成するタグ情報７０１と、保存対象データ７０３とを用いて、再現用データを生成する。即ち、データリーダ１６０９は、特定の時点における、解析対象装置１００の演算処理の状態を再現可能な再現用データを生成する。
【０２０３】
また、データリーダ１６０９は、特定のラベル（プレーヤ１６０８から指定された、再現対象のラベル情報）が付与された保存データを収集し、収集された保存データにおける保存対象データ７０３を用いて、再現用データを生成してもよい。
【０２０４】
なお、データリーダ１６０９は、再現用データを生成する際、必要に応じて、マッピングデータ１０６ａを参照してもよい。
【０２０５】
ここで、具体例として、リストアした高速リポジトリ１０９に、図７に例示するような保存データが保存されており、マッピングデータ１０６ａに図４に例示するデータが設定されていることを仮定する。また、プレーヤ１６０８が、「時刻１０」を表す再現対象特定情報を含む再現要求を、データリーダ１６０９に送信したことを仮定する。
【０２０６】
まず、データリーダ１６０９は、記録タイミング情報として「時刻１０」が設定されている保存データを抽出する。この場合、保存対象データ７０３が「データＡ１０」、「データＢ１０」、「データＣ１０」のデータが抽出される。
【０２０７】
データリーダ１６０９は、マッピングデータ１０６ａに基づいて、各保存データにおけるタグ情報７０１と、保存対象データ７０３とを用いて、再現用データを生成する。この場合、データリーダ１６０９は、マッピングデータ１０６ａを参照して、上記抽出した保存データに設定されているタグ情報７０１に対応するタグ情報３０２を特定する。この場合タグ情報は「Ａ」、「Ｂ」、「Ｃ」である。
【０２０８】
次に、データリーダ１６０９は、当該特定したタグ情報３０２に関連付けられたメモリ領域特定情報３０１を抽出する。そして、データリーダ１６０９は、当該メモリ領域特定情報３０１により指定される領域に、保存対象データ７０３が配置されるよう、再現用データを生成する。即ち、データリーダ１６０９は、再現用データにおける開始アドレス「０」からサイズ「１０２４」の範囲に、「データＡ１０」を設定する。また、データリーダ１６０９は、再現用データにおける開始アドレス「１０２４」からサイズ「５１２」の範囲に、「データＢ１０」を設定する。また、データリーダ１６０９は、再現用データにおける開始アドレス「１５３６」からサイズ「５１２」の範囲に、「データＣ１０」を設定する。
【０２０９】
ここで、保存対象データ７０３に含まれる記憶データに、メモリ部１０２におけるアドレスが含まれている場合、係るアドレスを基に再現用データを生成してもよい。
【０２１０】
上記説明した図１６に例示する構成においては、再現部１６０５は、解析装置１６０４の一部として設けられているが、本実施形態はこれには限定されない。本実施形態における再現部１６０５は、例えば、図１７に例示するように、独立した再現装置１７０１として構成してもよい。
【０２１１】
また、図１８に例示するように、上記第１の実施形態における解析装置１０４の各構成要素が、再生装置の構成要素を兼ねるように構成してもよい。この場合、例えば、第１の実施形態におけるディスパッチャ１０５に相当するディスパッチャ１８０１は、プレーヤ１６０８の機能を兼ね備えるよう構成されてもよい。また、例えば、第１の実施形態におけるデータライタ１０７に相当するデータライタ１８０２は、データリーダ１６０９の機能を兼ね備えるよう構成されてもよい。また、例えば、第１の実施形態における記録管理部１０８に相当する記録管理部１８０３は、再現指示部１６０７の機能を兼ね備えるよう構成されてもよい。
【０２１２】
次に、上記のように構成された本実施形態における解析装置の動作について説明する。以下においては、特に再現部１６０５の動作について、図１９に例示するフローチャートを参照して説明する。
【０２１３】
まず、図示しないユーザや管理者等が再現指示部１６０７に対して、特定のタイミングにおける解析対象装置１００の演算状態を、再現対象装置１６００において再現するよう要求する。
【０２１４】
再現指示部１６０７は、当該要求に応じて、プレーヤ１６０８に対して解析対象装置１００における特定の演算状態の再現を指示する再現要求を送信する（ステップＳ１９０１）。
【０２１５】
次に、プレーヤ１６０８が、データリーダ１６０９に対して、特定のタイミングにおける再現用データを要求する（ステップＳ１９０２）。この場合、プレーヤ１６０８は、データリーダ１６０９に対して、再現される演算状態を特定可能な情報（特定のタイミングを表す時刻の情報や、ラベル情報等）をデータリーダ１６０９に送信する。
【０２１６】
ステップＳ１９０２における要求を受信したデータリーダ１６０９は、解析ストレージ１１０から、保存データを高速リポジトリ１０９に読み込む（ステップＳ１９０３）。この場合、データリーダ１６０９は、ステップＳ１９０２において指定された特定のタイミングに最も近い時刻に取得あるいは保存された保存データを高速リポジトリ１０９に読み込む。なお、データリーダ１６０９は、特定のラベルが付与された保存データを、高速リポジトリ１０９に読み込む。
【０２１７】
次に、データリーダ１６０９は、高速リポジトリ１０９に読み込んだ保存データに基づいて再現用データを生成し、生成した再現用データをプレーヤに送信する（ステップＳ１９０４）。保存データからの再現用データを生成する具体的な方法は、上記説明した通りである。
【０２１８】
次に、プレーヤ１６０８は、上記ステップＳ１９０４においてデータリーダ１６０９から受信した再現用データを、演算部１６０１、および、メモリ部１６０２に展開（設定）する（ステップＳ１９０５）。
【０２１９】
なお、本実施形態における再現部１６０５は、上記ステップＳ１９０１乃至ステップＳ１９０５を連続して繰り返してもよい。この場合、特定のタイミング以降の保存データを連続的に高速リポジトリが読み出されることになり、再現対象装置１６００において、解析対象装置１００の動作が連続的に再現される。
【０２２０】
上記のように構成された本実施形態における再現部１６０５は、高速リポジトリ１０９あるいは解析ストレージ１１０に保存された保存データに基づいて、特定のタイミングにおける解析対象装置１００の演算状態を、再現対象装置１６００に再現可能である。これにより、例えば、インシデント発生等の特定のタイミングにおける解析対象装置１００の演算処理の状態を、他の再現対象装置１６００において解析することが可能である。
【０２２１】
また、再現部１６０５は、再現対象装置１６００における演算部１６０１の動作を遅らせる（動作クロックを低くする）ことが可能である。これによって、再現対象装置１６００に再現した演算状態を解析することが容易になる。
【０２２２】
また、高速リポジトリ１０９、及び、解析ストレージ１１０には、上記第１の実施形態における解析装置１０４と同様の構成を有する解析部１６０６によって、保存データが保存される。これより、本実施形態における解析装置は、上記第１の実施形態と同様の効果を奏する。
【０２２３】
なお、上記の説明においては、再現指示部１６０７がプレーヤ１６０８に対して、再現要求を通知しているが、本実施形態はこれには限定されない。例えば、再現指示部１６０７は、データリーダ１６０９に対して再現要求を通知してもよい。データリーダ１６０９は、係る再現要求に基づいて再現データを生成し、プレーヤ１６０８に当該再現データを通知してもよい。即ち、再現要求を、再現部１６０５におけるどの構成要素が解釈するかは適宜選択してよい。
【０２２４】
＜第２の実施形態の変形例＞
次に、上記説明した第２の実施形態に対する変形例について説明する。本変形例は、上記第２の実施形態に対して、再現対象装置１６００が複数台存在する点において異なる。本変形例におけるその他の構成は、上記第２の実施形態と同様としてよい。本変形例においては、図２０に例示するように、プレーヤ１６０８が複数存在する。プレーヤ１６０８自体の構成は、上記第２の実施形態と同様としてよいので、詳細な説明は省略する。なお、図２０においては、説明の為、図１６に例示する解析装置２００１の一部の構成要素が図示されていない。図２０において図示されない構成要素は、図１６に例示した構成要素と同様としてよいので、詳細な説明は省略する。
【０２２５】
本実施形態におけるデータリーダ２００３は、複数のプレーヤ１６０８からの要求に応じて、それぞれのプレーヤ１６０８に対して、再現用データを提供する。この場合、データリーダ２００３は、複数のプレーヤ１６０８に同じ再現用データを提供してもよく、異なる再現用データを提供してもよい。
【０２２６】
具体的には、図１９に例示するフローチャートにおいて、ステップＳ１９０２が複数のプレーヤ１６０８において実行される。データリーダ２００３には、複数のプレーヤ１６０８から再現用データの要求が通知される。
【０２２７】
データリーダ２００３は、図１９に例示するステップＳ１９０４において、再現用データを複数のプレーヤ１６０８にそれぞれ送信する。
【０２２８】
その他の処理は、上記第１の実施形態と同様としてよいので、詳細な説明は省略する。
【０２２９】
上記のように構成された本変形例における再現部２００２によれば、解析対象装置１００における特定の演算状態を、複数の再現対象装置１６００に再現することが可能である。なぜならば、複数の再現対象装置１６００毎にプレーヤ１６０８が設けられ、複数のプレーヤ１６０８に対して、データリーダ２００３が再現用データを送信するからである。
【０２３０】
このため、本変形例による再現部２００２によれば、同時に複数の再現対象装置１６００を用いて解析対象装置１００の演算処理の状態を解析することが可能であり、解析処理に要する時間を短縮可能である。
【０２３１】
なお、図２０に例示する構成においては、２台の再現対象装置１６００が例示されているが、本実施形態はこれには限定されず、任意の台数の再現対象装置１６００を採用してよい。
【０２３２】
＜第３の実施形態＞
次に、本願発明の第３の実施形態について説明する。
【０２３３】
まず、図２１を参照して、本実施形態における解析装置２１０４について説明する。図２１は本実施形態における解析装置２１０４の機能的な構成を例示する、ブロック図である。
【０２３４】
解析対象システム２１００は、第１の処理部２１０１と、当該第１の処理部と通信可能に接続された第２の処理部２１０２とを有する。なお、第１の処理部２１０１と、第２の処理部２１０２との間は、任意の通信バス２１０３により通信可能に接続されてもよい。
【０２３５】
第１の処理部２１０１は、任意の処理を実行し、当該処理の状態を第１の状態情報２１０１ａとして記憶する。なお、本実施形態において、第１の状態情報２１０１ａは、第１の処理部２１０１の外部から取得または設定可能である。
【０２３６】
第２の処理部２１０２は、任意の処理を実行し、当該処理の状態を第２の状態情報２１０２ａとして記憶する。なお、本実施形態において、第２の状態情報２１０２ａは、第２の処理部２１０２の外部から取得または設定可能である。
【０２３７】
係る第１の処理部、及び、第２の処理部は、例えば、任意の通信回線（通信バス）を介して通信可能に接続された任意のデバイスであってもよい。より具体的には、第１の処理部、及び、第２の処理部は、例えば、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）、ＳＣＳＩ（Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ）、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）等の通信バスにより接続された、各種デバイスであってもよい。また、第１の処理部、及び、第２の処理部は、例えば、無線あるいは有線の通信ネットワークにより通信可能に接続された、通信機能を有するデバイスであってもよい。係る通信ネットワークとしては、例えばＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）や、Ｉｎｔｅｒｎｅｔなどが採用されてもよい。
【０２３８】
本実施形態における解析装置２１０４は、上記のように構成された解析対象システム２１００の状態を解析する解析装置である。解析装置２１０４は、ディスパッチャ２１０５と、データマッパ２１０６と、データライタ２１０７と、採取ポリシ２１０８と、第１の記憶装置２１０９とを備える。以下、それぞれの構成要素について説明する。
【０２３９】
本実施形態におけるディスパッチャ２１０５は、上記第１の処理部２１０１と、第２の処理部２１０２と通信可能に接続され、当該第１の処理部と、当該第２の処理部との間で送受信される対象であるデータ（送受信対象データ）を取得する。
【０２４０】
ディスパッチャ２１０５は、通信バス２１０３を介して、当該送受信対象データを取得してもよい。また、ディスパッチャ２１０５は、第１の処理部２１０１、及び、第２の処理部２１０２から、直接送受信対象データを取得してもよい。
【０２４１】
具体的には、ディスパッチャ２１０５は、例えば、ＰＣＩバス等の通信バスに接続された各種デバイスである第１の処理部２１０１と、第２の処理部２１０２との間で送受信される各種データやコマンドを取得してもよい。また、ディスパッチャ２１０５は、例えば、任意の通信ネットワークに接続されたデバイスである第１の処理部２１０１と、第２の処理部２１０２との間で送受信される各種データを取得してもよい。
【０２４２】
ディスパッチャ２１０５は、上記取得したデータに基づいて、解析対象システム２１００の状態を再現可能なデータである、採取対象データを生成する。ここで、本実施形態における解析対象システム２１００の状態は、第１の状態情報２１０１ａ、及び、第２の状態情報２１０２ａの少なくとも何れかを用いて表すことが可能であるとする。即ち、ディスパッチャ２１０５が生成する採取対象データは、特定の時点における第１の状態情報２１０１ａ、及び、第２の状態情報２１０２ａの少なくともいずれかを含む。
【０２４３】
次に、本実施形態におけるデータマッパ２１０６について説明する。データマッパ２１０６は、上記ディスパッチャ２１０５において生成された上記採取対象データに含まれる１以上の領域に対して、当該領域を識別可能なタグ情報を付与する。
【０２４４】
データマッパ２１０６は、例えば、上記第１の実施形態において説明したデータマッパ１０６と同様に、採取対象データに含まれる第１の状態情報２１０１ａを複数の領域に分類する。具体的には、データマッパ２１０６は、第１の状態情報２１０１ａが第１の処理部２１０１において保存される記憶領域の範囲に基づいて、上記採取対象データに含まれる第１の状態情報２１０１ａを複数の領域に分類する。そして、データマッパ２１０６は、当該分類された各領域ごとにタグ情報を付与する。同様に、データマッパ２１０６は、例えば、採取対象データに含まれる第２の状態情報２１０２ａが、第２の処理部２１０２において保存される記憶領域の範囲に基づいて、上記採取対象データに含まれる第２の状態情報２１０２ａを複数の領域に分類する。そして、データマッパ２１０６は、当該分類された各領域ごとにタグ情報を付与する。
【０２４５】
また、上記に限定されず、データマッパ２１０６は、例えば、採取対象データの生成元である送受信対象データの種類や属性に応じて、上記採取対象データに含まれる特定の領域にタグを付与してもよい。具体的には、データマッパ２１０６は、例えば、送受信対象データがＰＣＩバスにおいて送受信されるデータである場合、当該データに含まれるＰＣＩバスにおけるコマンドの種類に応じて、上記採取対象データに含まれる特定の領域にタグ情報を付与してもよい。
【０２４６】
また、送受信対象データが通信ネットワークにおいて送受信される通信パケットである場合、通信パケットの宛先情報に応じて、上記採取対象データに含まれる特定の領域にタグ情報を付与してもよい。なお、タグ情報が付与される特定の領域は、送受信対象データの種類に応じて、予め定められてもよい。
【０２４７】
次に、本実施形態における採取ポリシ２１０８について説明する。採取ポリシ２１０８は、第１のポリシを有する。係る第１のポリシは、上記タグ情報に基づいて、上記タグ情報が付与された上記採取対象データを所定の記憶容量を有する第１の記憶装置２１０９に保存する手順を規定するポリシである。採取ポリシ２１０８は、データライタ２１０７から参照可能である。
【０２４８】
採取ポリシ２１０８には、特定のタグ情報が付与された採取対象データを多く保存し、他のタグ情報が付与された採取対象データを少なく保存するような保存方法が規定されてもよい。
【０２４９】
次に、本実施形態におけるデータライタ２１０７について説明する。データライタ２１０７は、第１のポリシに基づいて、データマッパ２１０６により上記タグ情報が付与された１以上の領域を、第１の記憶装置２１０９に保存する。
【０２５０】
上記のように構成された採取ポリシ２１０８及びデータライタ２１０７により、解析装置２１０４は、例えば、採取対象データにおける特定の領域だけを記録することが可能である。また、解析装置２１０４は、例えば、採取対象データにおける領域毎に、保存方法を変更可能である。即ち、これにより、解析装置２１０４は、第１の記憶装置２１０９に保存される保存データのサイズや保存方法を調整することが可能である。また解析装置２１０４は、第１の記憶装置２１０９の記憶容量を節約して、より多くの保存データを蓄積することが可能である。
【０２５１】
次に、本実施形態における第１の記憶装置２１０９について説明する。第１の記憶装置２１０９は、所定の記憶容量を有する記憶装置である。
【０２５２】
以上のように構成された本実施形態における解析装置２１０４は、第１の処理部２１０１及び第２の処理部２１０２との間で送受信される対象である送受信対象データから、解析対象システム２１００の状態を表す採取対象データを生成する。そして、解析装置２１０４は、当該採取対象データを保存する方法を規定した採取ポリシ２１０８に基づいて、当該採取対象データの少なくとも一部を、所定の容量を有する第１の記憶装置２１０９に記憶する。
【０２５３】
解析装置２１０４は、採取対象データの領域毎に保存方法を変更することが可能であることから、所定の記憶容量を有する第１の記憶装置２１０９の記憶領域を有効に利用可能である。即ち、本実施形態における解析装置２１０４は、限られた記憶容量の記憶装置を用いて、解析対象システム２１００の状態を再現可能なデータを、より多く保存することが可能である。
【０２５４】
なお、本実施形態における解析装置２１０４は、上記各実施形態における解析装置（１０４、１６０４、２００１）と組み合わせることも可能である。即ち、上記各実施形態における解析装置（１０４、１６０４、２００１）により、解析対象装置（解析対象システム）を構成する演算部及びメモリ部における演算処理の状態を再現可能なデータが保存される。これに加えて、本実施形態における解析装置２１０４により、解析対象装置（解析対象システム）を構成する、他の構成要素（演算部、メモリ部以外のデバイス等）の状態を再現可能なデータが保存される。
【０２５５】
これにより、例えば、上記各実施形態における解析装置が、解析対象装置（解析対象システム）における演算処理の状態を再現した際に、当該解析対象装置における他の構成要素の状態を併せて再現可能である。この場合、解析対象装置における演算部、メモリ部、及び他の構成要素の状態が再現されることから、解析対象装置の演算状態がより正確に再現可能である。
【０２５６】
＜第４の実施形態＞
次に、本願発明の第４の実施形態について説明する。
【０２５７】
まず、図２２を参照して、本実施形態における解析対象装置２２００、及び、解析装置２２０４について説明する。
【０２５８】
解析対象装置２２００は、演算部２２０１と、当該演算部と通信可能に接続されたメモリ部２２０２とを有する。解析対象装置は、演算部２２０１と、メモリ部２２０２とを用いて任意の演算処理を実行する。
解析装置２２０４は、ディスパッチャ２２０５と、データマッパ２２０６と、データライタ２２０７と、第１のポリシ２２０８を保持する保持部と、第１の記憶装置２２０９とを備える。以下、それぞれの構成要素について説明する。
【０２５９】
まず、本実施形態におけるディスパッチャ２２０５は、上記解析対象装置２２００に通信可能に接続される。この場合、ディスパッチャ２２０５は、上記演算部２２０１と、上記メモリ部２２０２とに通信可能に接続されてもよい。ディスパッチャ２２０５は、上記演算部２２０１と、上記メモリ部２２０２との間で送受信される対象であるデータ（「送受信対象データ」）に基づいて、上記解析対象装置２２００における演算処理の状態の少なくとも一部を再現可能なデータである採取対象データを生成する。
【０２６０】
なお、本実施形態におけるディスパッチャ２２０５は、上記第１の実施形態におけるディスパッチャ１０５と同様としてもよい。
【０２６１】
次に、本実施形態におけるデータマッパ２２０６について説明する。データマッパ２２０６は、上記ディスパッチャ２２０５において生成された上記採取対象データに含まれる１以上の領域に対して、当該領域を識別するためのタグ情報を付与する。なお、データマッパ２２０６は、ディスパッチャ２２０５から上記採取対象データを取得してもよい。また、ディスパッチャ２２０５が、上記採取対象データをデータマッパ２２０６に設定してもよい。
【０２６２】
本実施形態におけるデータマッパ２２０６は、例えば、上記第１の実施形態におけるデータマッパ１０６と同様としてもよい。
【０２６３】
次に、本実施形態における第１のポリシ２２０８について説明する。第１のポリシ２２０８は、タグ情報を用いて、所定の記憶容量を有する第１の記憶装置２２０９に採取対象データを保存する手順を規定するポリシである。第１のポリシ２２０８は、データライタ２２０７から参照可能であってもよい。
【０２６４】
本実施形態における第１のポリシ２２０８は、例えば、上記第１の実施形態における採取ポリシ１０７ａと同様としてもよい。
【０２６５】
次に、本実施形態におけるデータライタ２２０７について説明する。データライタ２２０７は、第１のポリシに基づいて、上記１以上の領域を、第１の記憶装置２２０９に保存する。データライタ２２０７は、上記データマッパ２２０６から採取対象データを取得してもよい。また、上記データマッパ２２０６が、データライタ２２０７に対して、採取対象データを設定してもよい。
【０２６６】
本実施形態におけるデータライタ２２０７は、例えば、上記第１の実施形態におけるデータライタ１０７と同様としてもよい。
【０２６７】
次に、本実施形態における第１の記憶装置２２０９について説明する。第１の記憶装置２２０９は、所定の記憶容量を有する記憶装置である。第１の記憶装置２２０９は、上記データライタ２２０７から保存対象のデータを取得してもよい。また、上記データライタ２２０７が、第１の記憶装置２２０９に対して、保存対象のデータを設定（書き込み）してもよい。
【０２６８】
本実施形態における第１の記憶装置２２０９は、例えば、上記第１の実施形態における高速リポジトリ１０９と同様としてもよい。
【０２６９】
なお、本実施形態において、第１のポリシ２２０８、及び、第１の記憶装置２２０９は、解析装置２２０４と通信可能に接続された、任意の外部の装置により提供されてもよい。即ち、第１のポリシ２２０８、及び、第１の記憶装置２２０９をどこに配置するかは、適宜定めてよい。
【０２７０】
上記のように構成された本実施形態における解析装置２２０４は、演算部２２０１及びメモリ部２２０２との間で送受信される対象である送受信対象データから、解析対象装置２２００の状態を表す採取対象データを生成する。そして、解析装置２２０４は、当該採取対象データを保存する方法を規定した第１のポリシ２２０８に基づいて、当該採取対象データに含まれる１以上の領域を、所定の容量を有する第１の記憶装置２２０９に記憶（保存）する。
【０２７１】
本実施形態における解析装置２２０４は、第１のポリシ２２０８に基づいて、採取対象データに含まれる領域毎に保存方法を変更することが可能である。これより、解析装置２２０４は、所定の記憶容量を有する第１の記憶装置２２０９の記憶領域を有効に利用可能である。即ち、本実施形態における解析装置２２０４は、限られた記憶容量の記憶装置を用いて、解析対象装置２２００の状態を再現可能なデータを、より多く保存することが可能である。
【０２７２】
＜ハードウェア及びソフトウェア・プログラム（コンピュータ・プログラム）の構成＞
以下、上記説明した各実施形態を実現可能なハードウェア構成について説明する。
【０２７３】
以下の説明において、解析装置（符号１０４、符号１６０４、符号２１０４、及び、符号２２０４）をまとめて、単に「解析装置」と称する場合がある。また、当該データ解析装置の各構成要素をまとめて、単に「解析装置の構成要素」と称する場合がある。係る解析装置の構成要素には、例えば、ディスパッチャ（符号１０５、符号１８０１、符号２１０５、符号２２０５等）が含まれてもよい。係る解析装置の構成要素には、例えば、データマッパ（符号１０６、符号２１０６、符号２２０６等）が含まれてもよい。係る解析装置の構成要素には、例えば、データライタ（符号１０７、符号１３０１、符号１８０２、符号２１０７、符号２２０７等）が含まれてもよい。係る解析装置の構成要素には、例えば、採取ポリシ（符号１０７ａ、符号１３０１ａ、符号２１０８）、あるいは、第１のポリシ（符号２２０８等）が含まれてもよい。係る解析装置の構成要素には、例えば、高速リポジトリあるいは第１の記憶装置（符号１０９、符号２１０９、符号２２０９）が含まれてもよい。係る解析装置の構成要素には、例えば、解析ストレージ（符号１１０）、プレーヤ（符号１６０８）、データリーダ（符号１６０９、符号２００３）、再現指示部（符号１６０７）が含まれてもよい。
【０２７４】
上記各実施形態において説明した解析装置は、専用のハードウェア装置により構成されてもよい。その場合、上記各図に示した各構成要素は、一部または全部を統合したハードウェア（処理ロジックを実装した集積回路等）として実現されてもよい。
【０２７５】
例えば、各構成要素がハードウェアにより実現される場合、それらの構成要素の機能を提供可能な集積回路は、ＳｏＣ（Ｓｙｓｔｅｍ−ｏｎ−ａ−ｃｈｉｐ）等により実装されてもよい。この場合、例えば、各構成要素が保持するデータは、ＳｏＣとして統合されたＲＡＭ領域やフラッシュメモリ領域に記憶されてもよい。
【０２７６】
また、この場合、各構成要素を接続する通信回線としては、周知のの通信バスが採用されてもよい。また、各構成要素を接続する通信回線はバス接続に限らず、それぞれの構成要素の間は、ピアツーピアで接続されてもよい。
【０２７７】
また、上述した解析装置は、図２３に例示するようなハードウェアと、係るハードウェアによって実行される各種ソフトウェア・プログラム（コンピュータ・プログラム）とによって構成されてもよい。
【０２７８】
図２３における演算装置２３０１は、汎用のＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）やマイクロプロセッサ等の演算処理装置である。演算装置２３０１は、例えば後述する不揮発性記憶装置２３０３に記憶された各種ソフトウェア・プログラムを記憶装置２３０２に読み出し、係るソフトウェア・プログラムに従って処理を実行してもよい。
【０２７９】
記憶装置２３０２は、演算装置２３０１から参照可能な、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等のメモリ装置であり、ソフトウェア・プログラムや各種データ等を記憶する。なお、記憶装置２３０２は、揮発性のメモリ装置であってもよい。
【０２８０】
不揮発性記憶装置２３０３は、例えば磁気ディスクドライブや、フラッシュメモリによる半導体記憶装置のような、不揮発性の記憶装置である。不揮発性記憶装置２３０３は、各種ソフトウェア・プログラムやデータ等を記録（保存）してもよい。
【０２８１】
ネットワークインタフェース２３０６は、通信ネットワークに接続するインタフェース装置である。ネットワークインタフェース２３０６としては、例えば、有線及び無線のＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）接続用インタフェース装置等が採用されてもよい。
【０２８２】
例えば、上記各実施形態における解析装置は、図示しない当該解析装置のユーザが使用する監視装置（符号１１２）、あるいは、センサ（符号１１１）と、上記ネットワークインタフェース２３０６を介して通信可能に接続されていてもよい。
【０２８３】
外部記憶装置２３０４は、例えば、後述する外部記憶媒体２３０５に対するデータの読み込みや書き込みを処理する装置である。
【０２８４】
外部記憶媒体２３０５は、例えば光ディスク、光磁気ディスク、半導体フラッシュメモリ等、データを記録可能な任意の記憶媒体である。
【０２８５】
入出力インタフェース２３０７は、外部装置との間の入出力を制御する装置である。
【０２８６】
例えば、上記各実施形態においては、センサ１１１からの入力は、入出力インタフェース２３０７を介して、記録管理部（符号１０８等）に入力されてもよい。
【０２８７】
上述した各実施形態を例に説明した本発明は、例えば、図２３に例示したハードウェア装置により解析装置を構成し、係る装置に対して、上記各実施形態において説明した機能を実現可能なソフトウェア・プログラムを供給することにより実現されてもよい。この場合、係る装置に対して供給したソフトウェア・プログラムを、演算装置２３０１が実行することによって、本願発明が達成されてもよい。
【０２８８】
上述した各実施形態において、上記各図に示した各部は、上述したハードウェアにより実行されるソフトウェア・プログラムの機能（処理）単位である、ソフトウェアモジュールとして実現することができる。但し、これらの図面に示した各ソフトウェアモジュールの区分けは、説明の便宜上の構成であり、実装に際しては、様々な構成が想定され得る。
【０２８９】
例えば、図１、図２、図１２、図１３、図１６、図１７、図１８、図２０、図２１、及び、図２２に例示した各部をソフトウェアモジュールとして実現する場合、これらのソフトウェアモジュールは、不揮発性記憶装置２３０３に記憶されてもよい。そして、演算装置２３０１が、それぞれの処理を実行する際に、これらのソフトウェアモジュールを記憶装置２３０２に読み出してもよい。
【０２９０】
また、これらのソフトウェアモジュールは、共有メモリやプロセス間通信等の適宜の方法を用いて、相互に各種データを伝達できるように構成されてもよい。このような構成により、これらのソフトウェアモジュールの間を、相互に通信可能に接続することが可能である。
【０２９１】
更に、上記各ソフトウェア・プログラムは外部記憶媒体２３０５に記録されてもよい。上記解析装置は、当該解析装置等の出荷段階、あるいは運用段階等において、外部記憶装置２３０４を介して、当該ソフトウェア・プログラムが不揮発性記憶装置２３０３に格納されるよう構成されてもよい。
【０２９２】
また、上記各実施形態において説明した、マッピングデータ（符号１０６ａ）、採取ポリシ（符号１０７ａ、１３０１ａ、２１０８）、及び、第１のポリシ（符号２２０８等）は、適切なファイルシステムや、データベース等を用いて、記憶装置２３０２や、不揮発性記憶装置２３０３に記憶されてもよい。
【０２９３】
なお、上記の場合において、上記解析装置への各種ソフトウェア・プログラムの供給方法は、出荷前の製造段階、あるいは出荷後のメンテナンス段階等において、適当な治具を利用して当該装置内にインストールする方法を採用してもよい。また、各種ソフトウェア・プログラムの供給方法は、インターネット等の通信回線を介して外部からダウンロードする方法等のように、現在では一般的な手順を採用してもよい。
【０２９４】
そして、このような場合において、本発明は、係るソフトウェア・プログラムを構成するコード、あるいは係るコードが記録されたところの、コンピュータ読み取り可能な記憶媒体によって構成されると捉えることができる。
【０２９５】
以上、本発明を、上述した模範的な実施形態に適用した例として説明した。しかしながら、本発明の技術的範囲は、上述した各実施形態に記載した範囲には限定されない。当業者には、係る実施形態に対して多様な変更または改良を加えることが可能であることは明らかである。そのような場合、係る変更または改良を加えた新たな実施形態も、本発明の技術的範囲に含まれ得る。また、上記説明した各実施形態を組み合わせた実施形態も、本発明の技術的範囲に含まれ得る。そしてこのことは、請求の範囲に記載した事項から明らかである。
【産業上の利用可能性】
【０２９６】
本発明は、例えば、情報処理装置の動作状態を解析する解析処理装置等に適用可能である。より具体的には、例えば、情報処理装置における不正プログラムの実行状態を解析する、ライブフォレンジック手法を実現可能な解析装置等に適用可能である。
この出願は、２０１４年６月２６日に出願された日本出願特願２０１４−１３１３０９を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【符号の説明】
【０２９７】
１００  解析対象装置
１０１  演算部
１０２  メモリ部
１０３  通信バス
１０４  解析装置
１０５  ディスパッチャ
１０６  データマッパ
１０６ａ  マッピングデータ
１０７  データライタ
１０７ａ  採取ポリシ
１０８  記録管理部
１０９  高速リポジトリ
１１０  解析ストレージ
１１１  センサ
１１２  監視装置
２００  ＶＭＭ
１２０１  マップジェネレータ
１３０１  データライタ
１３０１ａ  採取ポリシ
１６００  再現対象装置
１６０１  演算部
１６０２  メモリ部
１６０３  通信バス
１６０４  解析装置
１６０５  再現部
１６０７  再現指示部
１６０８  プレーヤ
１６０９  データリーダ
１７０１  再現装置
１８０１  ディスパッチャ
１８０２  データライタ
１８０３  記録管理部
２００１  解析装置
２００２  再現部
２００３  データリーダ
２１００  解析対象システム
２１０１  第１の処理部
２１０２  第２の処理部
２１０４  解析装置
２１０５  ディスパッチャ
２１０６  データマッパ
２１０７  データライタ
２１０８  採取ポリシ
２１０９  第１の記憶装置
２２００  解析対象装置
２２０１  演算部
２２０２  メモリ部
２２０４  解析装置
２２０５  ディスパッチャ
２２０６  データマッパ
２２０７  データライタ
２２０８  第１のポリシ
２２０９  第１の記憶装置
２３０１  演算装置
２３０２  記憶装置
２３０３  不揮発性記憶装置
２３０４  外部記憶装置
２３０５  外部記憶媒体
２３０６  ネットワークインタフェース
２３０７  入出力インタフェース
【図１】
2015198600.tif 000003
【図２】
2015198600.tif 000004
【図３】
2015198600.tif 000005
【図４】
2015198600.tif 000006
【図５】
2015198600.tif 000007
【図６】
2015198600.tif 000008
【図７】
2015198600.tif 000009
【図８】
2015198600.tif 000010
【図９】
2015198600.tif 000011
【図１０】
2015198600.tif 000012
【図１１】
2015198600.tif 000013
【図１２】
2015198600.tif 000014
【図１３】
2015198600.tif 000015
【図１４】
2015198600.tif 000016
【図１５】
2015198600.tif 000017
【図１６】
2015198600.tif 000018
【図１７】
2015198600.tif 000019
【図１８】
2015198600.tif 000020
【図１９】
2015198600.tif 000021
【図２０】
2015198600.tif 000022
【図２１】
2015198600.tif 000023
【図２２】
2015198600.tif 000024
【図２３】
2015198600.tif 000025
【手続補正書】
【提出日】平成27年10月19日(2015.10.19)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
演算部と、当該演算部に通信可能に接続されたメモリ部とを用いて演算処理を実行する解析対象装置と通信可能に接続され、前記演算部と、前記メモリ部との間で送受信される対象であるデータに基づいて、前記解析対象装置における演算処理の状態の少なくとも一部を再現するためのデータである採取対象データを生成するディスパッチャと、
前記採取対象データに含まれる１以上の領域に対して、当該領域を識別するための情報であるタグ情報を付与するデータマッパと、
前記タグ情報を用いて前記採取対象データを所定の記憶容量を有する第１の記憶装置に保存する手順を規定する第１のポリシに基づいて、前記１以上の領域を、前記第１の記憶装置に保存するデータライタと、を備える解析装置。
【請求項２】
前記採取対象データは、当該採取対象データの生成元となった前記データが取得された際の、前記演算部の演算状態を表すデータ、及び、前記メモリ部に記憶されているデータの少なくとも何れかを含む、請求項１に記載の解析装置。
【請求項３】
前記データライタは、前記タグ情報と、当該タグ情報が付与された前記１以上の領域に含まれるデータである保存対象データと、記録タイミング情報との対応関係を示すデータである保存データを前記第１の記憶装置に保存し、
前記記録タイミング情報は、前記保存データの記録に関するタイミングを表す情報である、請求項１または請求項２に記載の解析装置。
【請求項４】
前記第１のポリシには、１以上の前記タグ情報毎に、当該タグ情報が関連付けされた前記保存データが前記第１の記憶装置において保存される記憶領域を特定するための情報と、当該記憶領域に前記保存データを保存する保存方法を表す情報と、が設定され、
前記データライタは、当該第１のポリシに基づいて、前記保存データを前記第１の記憶装置に保存する、請求項３に記載の解析装置。
【請求項５】
前記保存データの保存方法は、前記保存データが前記第１の記憶装置において保存される領域のうち、新たな前記保存データが保存される領域を特定可能な方法である、請求項４に記載の解析装置。
【請求項６】
前記データマッパは、
前記採取対象データが分類された前記１以上の領域を特定するための情報と、当該領域を識別するための前記タグ情報との対応関係を示すデータであるマッピングデータに基づいて、
前記採取対象データに含まれる前記１以上の領域について、前記タグ情報を付与する、請求項３乃至請求項５のいずれかに記載の解析装置。
【請求項７】
前記マッピングデータは、前記採取対象データに含まれる前記メモリ部に記憶されるデータである記憶データが前記メモリ部において記憶される領域に基づいて、当該採取対象データが分類された１以上の領域を特定するメモリ領域特定情報と、当該領域を識別するための前記タグ情報との対応関係を示すデータであり、
前記データマッパは、前記マッピングデータに基づいて、前記採取対象データに含まれる１以上の領域について前記タグ情報を付与する、請求項６に記載の解析装置。
【請求項８】
前記解析対象装置のアーキテクチャを表す情報に基づいて、前記採取対象データに含まれる記憶データを複数の領域に分類し、
当該分類された複数の領域毎に、当該分類された領域を特定するための前記メモリ領域特定情報と、当該メモリ領域特定情報によって特定される領域を識別するための前記タグ情報との対応関係を示すデータである前記マッピングデータを生成するマップジェネレータを更に備える、請求項７に記載の解析装置。
【請求項９】
前記第１の記憶装置よりも記憶容量が大きい記憶装置である第２の記憶装置を更に備え、
前記データライタは、前記第１の記憶装置に保存された前記保存データを前記第２の記憶装置に保存する手順を規定する第２のポリシに基づいて、前記第１の記憶装置に保存した前記保存データを、前記第２の記憶装置に保存する、請求項６乃至請求項８のいずれかに記載の解析装置。
【請求項１０】
前記第２のポリシには、
前記第１の記憶装置に保存された前記保存データを前記第２の記憶装置に保存するか否かを特定するための保存要否情報と、
少なくとも、前記第１の記憶装置に保存された前記保存データを前記第２の記憶装置に保存する契機を特定するための蓄積方法情報とが設定され、
前記データライタは、
前記第２のポリシに設定された前記保存要否情報に基づいて、前記第１の記憶装置に保存された前記保存データを前記第２の記憶装置に保存する必要があると判定した場合、
前記蓄積方法情報に基づいて特定の前記契機を検知することにより、前記第１の記憶装置に保存された前記保存データの少なくとも一部を、前記第２の記憶装置に保存する、請求項９に記載の解析装置。
【請求項１１】
前記データライタは、
前記第１の記憶装置に既に保存されている前記保存データを前記第１の記憶装置から削除する場合に、前記第１のポリシ又は前記第２のポリシに基づいて、当該削除される前記保存データを前記第２の記憶装置に保存するか否かを判定し、
当該判定の結果に基づいて、当該削除される前記保存データを前記第２の記憶装置に保存する、請求項９または請求項１０に記載の解析装置。
【請求項１２】
前記第１の記憶装置に保存された前記保存データを前記第２の記憶装置に保存する要求を前記データライタに通知する記録管理手段を更に備え、
前記データライタは、前記記録管理手段から受け付けた前記要求に応じて、前記第１の記憶装置に保存された前記保存データを、前記第２の記憶装置に保存する、請求項９乃至請求項１１のいずれかに記載の解析装置。
【請求項１３】
前記記録管理手段は、
前記解析対象装置における演算処理に影響を及ぼす可能性を有する所定の事象を検出するためのセンサと通信可能に接続され、
前記センサから通知された前記所定の事象に対する検出情報に基づいて、前記要求を前記データライタに通知する、請求項１２に記載の解析装置。
【請求項１４】
前記解析対象装置が複数存在する場合において、
少なくとも前記解析対象装置の台数と同じ数の前記ディスパッチャと、少なくとも前記ディスパッチャと同じ数の前記データマッパと、を備え、
複数の前記解析装置のそれぞれに対して、相異なる前記ディスパッチャが通信可能に接続され、
相異なる前記データマッパが、それぞれ相異なる前記ディスパッチャにおいて生成された前記採取対象データに含まれる１以上の領域に対して、当該領域を識別するためのタグ情報を付与し、
前記第１のポリシには、１以上の前記タグ情報毎に、相異なる前記ディスパッチャを識別するための情報と、当該タグ情報が関連付けされた前記保存データが前記第１の記憶装置において保存される記憶領域を特定するための情報と、その情報により特定される記憶領域に前記保存データを保存する保存方法を表す情報と、が関連付けて設定され、
前記データライタは、前記第１のポリシに基づいて、前記採取対象データに含まれる前記１以上の領域を前記保存データとして前記第１の記憶装置に保存する、請求項６乃至請求項１３のいずれかに記載の解析装置。
【請求項１５】
前記第１の記憶装置に保存された１以上の前記保存データを抽出し、
前記抽出した１以上の前記保存データのそれぞれについて、当該前記保存データに設定された前記タグ情報と、前記保存対象データとを抽出し、
前記マッピングデータを参照して、当該抽出した前記タグ情報に対応付けられた領域に、当該抽出した前記保存対象データを配置した再現用データを生成する
データリーダと、
演算部と、当該演算部に通信可能に接続されたメモリ部とを用いて演算処理を実行する再現対象装置に通信可能に接続され、
前記データリーダにおいて生成された前記再現用データに基づいて、
当該再現用データに前記解析対象装置における前記メモリ部に記憶されていたデータが含まれる場合には、当該データを前記再現対象装置におけるメモリ部に展開し、
当該再現用データに前記解析対象装置における前記演算部の演算状態を表すデータが含まれる場合には、当該演算状態を表すデータを前記再現対象装置における演算部に展開する、
プレーヤと、を更に備える請求項６乃至請求項１４のいずれかに記載の解析装置。
【請求項１６】
前記データリーダは、前記第１の記憶装置を参照し、当該第１の記憶装置に保存された前記保存データのうち、当該保存データにおける前記記録タイミング情報に、同じタイミングを表す情報が設定された１以上の前記保存データを読み出す、請求項１５に記載の解析装置。
【請求項１７】
前記プレーヤは、前記再現用データを、前記再現対象装置における演算部、または、前記再現対象装置におけるメモリ部に展開する際に、当該再現対象装置における演算部の処理速度を低減する、請求項１６に記載の解析装置。
【請求項１８】
前記再現対象装置が複数存在する場合において、
複数の前記再現対象装置と同じ数の前記プレーヤを備え、
複数の前記再現対象装置に含まれるそれぞれの前記再現対象装置に対して、複数の前記プレーヤのうち相異なる前記プレーヤが通信可能に接続され、
複数の前記プレーヤが、それぞれ前記データリーダにおいて生成された前記再現用データに基づいて、
当該再現用データに前記解析対象装置における前記メモリ部に記憶されていたデータが含まれる場合には、当該データを、当該プレーヤが接続された前記再現対象装置におけるメモリ部に展開し、
当該再現用データに前記解析対象装置における前記演算部の演算状態を表すデータが含まれる場合には、当該演算状態を、当該プレーヤが接続された表すデータを前記再現対象装置における演算部に展開する、請求項１５乃至請求項１７のいずれかに記載の解析装置。
【請求項１９】
前記ディスパッチャは、設定されたサンプリング周期に基づいて、前記採取対象データを生成する、請求項１乃至請求項１８のいずれかに記載の解析装置。
【請求項２０】
前記保存データの保存方法は、
前記保存データが前記第１の記憶装置において保存される領域に対する、新たな前記保存データの保存の可否を判定可能な方法である請求項４に記載の解析装置。
【請求項２１】
任意の処理を実行し、当該処理の状態を第１の状態情報として記憶する第１の処理部と、前記第１の処理部と通信可能に接続され、任意の処理を実行し、当該処理の状態を第２の状態情報として記憶する第２の処理部とを備える解析対象システムと通信可能に接続され、前記第１の処理部と、前記第２の処理部との間で送受信される対象であるデータを取得し、当該取得したデータに基づいて、前記第１の状態情報、及び、前記第２の状態情報の少なくともいずれかを再現することにより前記解析対象システムの状態を再現するための採取対象データを生成するディスパッチャと
前記採取対象データに含まれる１以上の領域に対して、当該領域を識別するためのタグ情報を付与するデータマッパと、
前記タグ情報を用いて前記採取対象データを所定の記憶容量を有する第１の記憶装置に保存する手順を規定した第１のポリシに基づいて、前記１以上の領域を、前記第１の記憶装置に保存するデータライタと、を備える、解析装置。
【請求項２２】
情報処理装置が、
演算部と当該演算部に通信可能に接続されたメモリ部とを用いて演算処理を実行する解析対象装置における前記演算部と、前記メモリ部との間で送受信される対象であるデータに基づいて、前記解析対象装置における演算処理の状態の少なくとも一部を再現するためのデータである採取対象データを生成し、
前記採取対象データに含まれる１以上の領域について、当該領域を識別するためのタグ情報を付与し、
前記タグ情報を用いて前記採取対象データを所定の記憶容量を有する記憶装置である第１の記憶装置に保存する手順を規定する第１のポリシに基づいて、前記１以上の領域を、前記第１の記憶装置に保存する、解析方法。
【請求項２３】
演算部と、当該演算部に通信可能に接続されたメモリ部とを用いて演算処理を実行する解析対象装置における演算処理の状態を解析するコンピュータに、
前記解析対象装置における前記演算部と、前記メモリ部との間で送受信される対象であるデータに基づいて前記解析対象装置における演算処理の状態の少なくとも一部を再現するためのデータである採取対象データを生成する処理と、
前記採取対象データに含まれる１以上の領域について、当該領域を識別するためのタグ情報を付与する処理と、
前記タグ情報を用いて前記採取対象データを所定の記憶容量を有する記憶装置である第１の記憶装置に保存する手順を規定する第１のポリシに基づいて、前記１以上の領域を、前記第１の記憶装置に保存する処理と、を実行させるコンピュータ・プログラムが記録された記憶媒体。
【手続補正書】
【提出日】平成28年12月15日(2016.12.15)
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０１９０
【補正方法】変更
【補正の内容】
【０１９０】
これより、本実施形態におけるプレーヤ１６０８は、再現用データが元の採取対象データの一部のみを再現可能である場合にも、データリーダ１６０９において再現された採取対象データを演算部１６０１及びメモリ部１６０２に展開してよい。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０２２４
【補正方法】変更
【補正の内容】
【０２２４】
＜第２の実施形態の変形例＞
次に、上記説明した第２の実施形態に対する変形例について説明する。本変形例は、上記第２の実施形態に対して、再現対象装置１６００が複数台存在する点において異なる。本変形例におけるその他の構成は、上記第２の実施形態と同様としてよい。本変形例においては、図２０に例示するように、プレーヤ１６０８が複数存在する。プレーヤ１６０８自体の構成は、上記第２の実施形態と同様としてよいので、詳細な説明は省略する。なお、図２０においては、説明の為、図１６に例示する解析装置１６０４の一部の構成要素が図示されていない。図２０において図示されない構成要素は、図１６に例示した構成要素と同様としてよいので、詳細な説明は省略する。
【手続補正４】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
演算部と、当該演算部に通信可能に接続されたメモリ部とを用いて演算処理を実行する解析対象装置と通信可能に接続され、前記演算部と、前記メモリ部との間で送受信される対象であるデータに基づいて、前記解析対象装置における演算処理の状態の少なくとも一部を再現するためのデータである採取対象データを生成するディスパッチャと、
前記採取対象データに含まれる１以上の領域に対して、当該領域を識別するための情報であるタグ情報を付与するデータマッパと、
前記タグ情報を用いて前記採取対象データを所定の記憶容量を有する第１の記憶装置に保存する手順を規定する第１のポリシに基づいて、前記１以上の領域を、前記第１の記憶装置に保存するデータライタと、を備える解析装置。
【請求項２】
前記採取対象データは、当該採取対象データの生成元となった前記データが取得された際の、前記演算部の演算状態を表すデータ、及び、前記メモリ部に記憶されているデータの少なくとも何れかを含む、請求項１に記載の解析装置。
【請求項３】
前記データライタは、前記タグ情報と、当該タグ情報が付与された前記１以上の領域に含まれるデータである保存対象データと、記録タイミング情報との対応関係を示すデータである保存データを前記第１の記憶装置に保存し、
前記記録タイミング情報は、前記保存データの記録に関するタイミングを表す情報である、請求項１または請求項２に記載の解析装置。
【請求項４】
前記第１のポリシには、１以上の前記タグ情報毎に、当該タグ情報が関連付けされた前記保存データが前記第１の記憶装置において保存される記憶領域を特定するための情報と、当該記憶領域に前記保存データを保存する保存方法を表す情報と、が設定され、
前記データライタは、当該第１のポリシに基づいて、前記保存データを前記第１の記憶装置に保存する、請求項３に記載の解析装置。
【請求項５】
前記保存データの保存方法は、前記保存データが前記第１の記憶装置において保存される領域のうち、新たな前記保存データが保存される領域を特定可能な方法である、請求項４に記載の解析装置。
【請求項６】
前記データマッパは、
前記採取対象データが分類された前記１以上の領域を特定するための情報と、当該領域を識別するための前記タグ情報との対応関係を示すデータであるマッピングデータに基づいて、
前記採取対象データに含まれる前記１以上の領域について、前記タグ情報を付与する、請求項３乃至請求項５のいずれかに記載の解析装置。
【請求項７】
前記マッピングデータは、前記採取対象データに含まれる前記メモリ部に記憶されるデータである記憶データが前記メモリ部において記憶される領域に基づいて、当該採取対象データが分類された１以上の領域を特定するメモリ領域特定情報と、当該領域を識別するための前記タグ情報との対応関係を示すデータであり、
前記データマッパは、前記マッピングデータに基づいて、前記採取対象データに含まれる１以上の領域について前記タグ情報を付与する、請求項６に記載の解析装置。
【請求項８】
前記解析対象装置のアーキテクチャを表す情報に基づいて、前記採取対象データに含まれる記憶データを複数の領域に分類し、
当該分類された複数の領域毎に、当該分類された領域を特定するための前記メモリ領域特定情報と、当該メモリ領域特定情報によって特定される領域を識別するための前記タグ情報との対応関係を示すデータである前記マッピングデータを生成するマップジェネレータを更に備える、請求項７に記載の解析装置。
【請求項９】
前記第１の記憶装置よりも記憶容量が大きい記憶装置である第２の記憶装置を更に備え、
前記データライタは、前記第１の記憶装置に保存された前記保存データを前記第２の記憶装置に保存する手順を規定する第２のポリシに基づいて、前記第１の記憶装置に保存した前記保存データを、前記第２の記憶装置に保存する、請求項６乃至請求項８のいずれかに記載の解析装置。
【請求項１０】
前記第２のポリシには、
前記第１の記憶装置に保存された前記保存データを前記第２の記憶装置に保存するか否かを特定するための蓄積要否情報と、
少なくとも、前記第１の記憶装置に保存された前記保存データを前記第２の記憶装置に保存する契機を特定するための蓄積方法情報とが設定され、
前記データライタは、
前記第２のポリシに設定された前記蓄積要否情報に基づいて、前記第１の記憶装置に保存された前記保存データを前記第２の記憶装置に保存する必要があると判定した場合、
前記蓄積方法情報に基づいて特定の前記契機を検知することにより、前記第１の記憶装置に保存された前記保存データの少なくとも一部を、前記第２の記憶装置に保存する、請求項９に記載の解析装置。
【請求項１１】
前記データライタは、
前記第１の記憶装置に既に保存されている前記保存データを前記第１の記憶装置から削除する場合に、前記第１のポリシ又は前記第２のポリシに基づいて、当該削除される前記保存データを前記第２の記憶装置に保存するか否かを判定し、
当該判定の結果に基づいて、当該削除される前記保存データを前記第２の記憶装置に保存する、請求項９または請求項１０に記載の解析装置。
【請求項１２】
前記第１の記憶装置に保存された前記保存データを前記第２の記憶装置に保存する要求を前記データライタに通知する記録管理手段を更に備え、
前記データライタは、前記記録管理手段から受け付けた前記要求に応じて、前記第１の記憶装置に保存された前記保存データを、前記第２の記憶装置に保存する、請求項９乃至請求項１１のいずれかに記載の解析装置。
【請求項１３】
前記記録管理手段は、
前記解析対象装置における演算処理に影響を及ぼす可能性を有する所定の事象を検出するためのセンサと通信可能に接続され、
前記センサから通知された前記所定の事象に対する検出情報に基づいて、前記要求を前記データライタに通知する、請求項１２に記載の解析装置。
【請求項１４】
前記解析対象装置が複数存在する場合において、
少なくとも前記解析対象装置の台数と同じ数の前記ディスパッチャと、少なくとも前記ディスパッチャと同じ数の前記データマッパと、を備え、
複数の前記解析装置のそれぞれに対して、相異なる前記ディスパッチャが通信可能に接続され、
相異なる前記データマッパが、それぞれ相異なる前記ディスパッチャにおいて生成された前記採取対象データに含まれる１以上の領域に対して、当該領域を識別するためのタグ情報を付与し、
前記第１のポリシには、１以上の前記タグ情報毎に、相異なる前記ディスパッチャを識別するための情報と、当該タグ情報が関連付けされた前記保存データが前記第１の記憶装置において保存される記憶領域を特定するための情報と、その情報により特定される記憶領域に前記保存データを保存する保存方法を表す情報と、が関連付けて設定され、
前記データライタは、前記第１のポリシに基づいて、前記採取対象データに含まれる前記１以上の領域を前記保存データとして前記第１の記憶装置に保存する、請求項６乃至請求項１３のいずれかに記載の解析装置。
【請求項１５】
前記第１の記憶装置に保存された１以上の前記保存データを抽出し、
前記抽出した１以上の前記保存データのそれぞれについて、当該前記保存データに設定された前記タグ情報と、前記保存対象データとを抽出し、
前記マッピングデータを参照して、当該抽出した前記タグ情報に対応付けられた領域に、当該抽出した前記保存対象データを配置した再現用データを生成する
データリーダと、
演算部と、当該演算部に通信可能に接続されたメモリ部とを用いて演算処理を実行する再現対象装置に通信可能に接続され、
前記データリーダにおいて生成された前記再現用データに基づいて、
当該再現用データに前記解析対象装置における前記メモリ部に記憶されていたデータが含まれる場合には、当該データを前記再現対象装置におけるメモリ部に展開し、
当該再現用データに前記解析対象装置における前記演算部の演算状態を表すデータが含まれる場合には、当該演算状態を表すデータを前記再現対象装置における演算部に展開する、
プレーヤと、を更に備える請求項６乃至請求項１４のいずれかに記載の解析装置。
【請求項１６】
前記データリーダは、前記第１の記憶装置を参照し、当該第１の記憶装置に保存された前記保存データのうち、当該保存データにおける前記記録タイミング情報に、同じタイミングを表す情報が設定された１以上の前記保存データを読み出す、請求項１５に記載の解析装置。
【請求項１７】
前記プレーヤは、前記再現用データを、前記再現対象装置における演算部、または、前記再現対象装置におけるメモリ部に展開する際に、当該再現対象装置における演算部の処理速度を低減する、請求項１６に記載の解析装置。
【請求項１８】
前記再現対象装置が複数存在する場合において、
複数の前記再現対象装置と同じ数の前記プレーヤを備え、
複数の前記再現対象装置に含まれるそれぞれの前記再現対象装置に対して、複数の前記プレーヤのうち相異なる前記プレーヤが通信可能に接続され、
複数の前記プレーヤが、それぞれ前記データリーダにおいて生成された前記再現用データに基づいて、
当該再現用データに前記解析対象装置における前記メモリ部に記憶されていたデータが含まれる場合には、当該データを、当該プレーヤが接続された前記再現対象装置におけるメモリ部に展開し、
当該再現用データに前記解析対象装置における前記演算部の演算状態を表すデータが含まれる場合には、当該演算状態を表すデータを、当該プレーヤが接続された前記再現対象装置における演算部に展開する、請求項１５乃至請求項１７のいずれかに記載の解析装置。
【請求項１９】
前記ディスパッチャは、設定されたサンプリング周期に基づいて、前記採取対象データを生成する、請求項１乃至請求項１８のいずれかに記載の解析装置。
【請求項２０】
前記保存データの保存方法は、
前記保存データが前記第１の記憶装置において保存される領域に対する、新たな前記保存データの保存の可否を判定可能な方法である請求項４に記載の解析装置。
【請求項２１】
任意の処理を実行し、当該処理の状態を第１の状態情報として記憶する第１の処理部と、前記第１の処理部と通信可能に接続され、任意の処理を実行し、当該処理の状態を第２の状態情報として記憶する第２の処理部とを備える解析対象システムと通信可能に接続され、前記第１の処理部と、前記第２の処理部との間で送受信される対象であるデータを取得し、当該取得したデータに基づいて、前記第１の状態情報、及び、前記第２の状態情報の少なくともいずれかを再現することにより前記解析対象システムの状態を再現するための採取対象データを生成するディスパッチャと
前記採取対象データに含まれる１以上の領域に対して、当該領域を識別するためのタグ情報を付与するデータマッパと、
前記タグ情報を用いて前記採取対象データを所定の記憶容量を有する第１の記憶装置に保存する手順を規定した第１のポリシに基づいて、前記１以上の領域を、前記第１の記憶装置に保存するデータライタと、を備える、解析装置。
【請求項２２】
情報処理装置が、
演算部と当該演算部に通信可能に接続されたメモリ部とを用いて演算処理を実行する解析対象装置における前記演算部と、前記メモリ部との間で送受信される対象であるデータに基づいて、前記解析対象装置における演算処理の状態の少なくとも一部を再現するためのデータである採取対象データを生成し、
前記採取対象データに含まれる１以上の領域について、当該領域を識別するためのタグ情報を付与し、
前記タグ情報を用いて前記採取対象データを所定の記憶容量を有する記憶装置である第１の記憶装置に保存する手順を規定する第１のポリシに基づいて、前記１以上の領域を、前記第１の記憶装置に保存する、解析方法。
【請求項２３】
演算部と、当該演算部に通信可能に接続されたメモリ部とを用いて演算処理を実行する解析対象装置における演算処理の状態を解析するコンピュータに、
前記解析対象装置における前記演算部と、前記メモリ部との間で送受信される対象であるデータに基づいて前記解析対象装置における演算処理の状態の少なくとも一部を再現するためのデータである採取対象データを生成する処理と、
前記採取対象データに含まれる１以上の領域について、当該領域を識別するためのタグ情報を付与する処理と、
前記タグ情報を用いて前記採取対象データを所定の記憶容量を有する記憶装置である第１の記憶装置に保存する手順を規定する第１のポリシに基づいて、前記１以上の領域を、前記第１の記憶装置に保存する処理と、を実行させるコンピュータ・プログラム。
【手続補正５】
【補正対象書類名】図面
【補正対象項目名】図９
【補正方法】変更
【補正の内容】
【図９】
2015198600.tif 000026
【手続補正６】
【補正対象書類名】図面
【補正対象項目名】図１７
【補正方法】変更
【補正の内容】
【図１７】
2015198600.tif 000027
【手続補正７】
【補正対象書類名】図面
【補正対象項目名】図１９
【補正方法】変更
【補正の内容】
【図１９】
2015198600.tif 000028
【手続補正８】
【補正対象書類名】図面
【補正対象項目名】図２０
【補正方法】変更
【補正の内容】
【図２０】
2015198600.tif 000029
【国際調査報告】
2015198600.tif 000030
2015198600.tif 000031