(57)【要約】【課題】リードアクセス履歴を少ない記憶容量で記憶する。【解決手段】アクセス履歴管理方法は、ライトアクセスが発生すると、ライトアクセスのライト時刻及びライトアドレスを含むライトコマンド及びライトペイロードがライトアクセス履歴記憶部に記憶されるステップＳ４と、リードアクセスが発生すると、リードアクセスのリード時刻及びリードアドレスを含むリードコマンドがリードアクセス履歴記憶部に記憶されるステップＳ５と、リードアクセス取得要求が発生すると、リードアクセス履歴記憶部からリードアクセス取得要求に含まれた要求時刻に関連づけられたリードコマンドが抽出され、ライトアクセス履歴追記部から要求時刻より前で最も直近のライト時刻及び抽出されたリードコマンドに含まれるリードアドレスに対応づけられたライトペイロードが抽出され、生成されたリードアクセス情報が出力されるステップＳ６を備える。【選択図】      図１
2007102267.tif 000002
【特許請求の範囲】
【請求項１】
接続対象記憶部に対するリードアクセス履歴を取得するアクセス履歴管理方法であって、
前記接続対象記憶部に対するライトアクセスが発生すると、前記ライトアクセスのライト時刻及びライトアドレスを含むライトコマンド及びライトペイロードがライトアクセス履歴記憶部に記憶されるステップと、
前記接続対象記憶部に対するリードアクセスが発生すると、前記リードアクセスのリード時刻及びリードアドレスを含むリードコマンドがリードアクセス履歴記憶部に記憶されるステップ
を備えることを特徴とするアクセス履歴管理方法。
【請求項２】
リードアクセス取得要求が発生すると、前記リードアクセス履歴記憶部から、前記リードアクセス取得要求に含まれた要求時刻に関連づけられたリードコマンドが抽出されるステップと、
前記ライトアクセス履歴追記部から、前記要求時刻より前で最も直近のライト時刻及び前記抽出されたリードコマンドに含まれる前記リードアドレスに対応づけられたライトペイロードが抽出されるステップと、
前記抽出されたリードコマンドと抽出された前記ライトペイロードから生成されたリードアクセス情報が出力されるステップ
を更に備えることを特徴とする請求項１記載のアクセス履歴管理方法。
【請求項３】
配置復元要求が発生すると、前記ライトアクセス履歴追記部から、前記配置復元要求に含まれる要求アドレスと、前記配置復元要求に含まれる要求時刻より前で最も直近のライト時刻とに対応づけられたライトペイロードが抽出されるステップと、
前記抽出されたライトペイロードが出力されるステップ
を更に備えることを特徴とする請求項１記載のアクセス履歴管理方法。
【請求項４】
接続対象記憶装置に対するリードアクセス履歴を取得するアクセス履歴管理装置であって、
接続対象記憶装置と、
前記接続対象記憶装置に対するライトアクセスが発生すると、前記ライトアクセスのライト時刻及びライトアドレスを含むライトコマンド及びライトペイロードをライトアクセス履歴記憶装置に記憶するライトアクセス履歴追記部と、
前記接続対象記憶装置に対するリードアクセスが発生すると、前記リードアクセスのリード時刻及びリードアドレスを含むリードコマンドをリードアクセス履歴記憶装置に記憶するリードアクセス履歴追記部
とを備えることを特徴とするアクセス履歴管理装置。
【請求項５】
リードアクセス取得要求が入力されると、前記リードアクセス履歴記憶装置から、前記リードアクセス取得要求に含まれる要求時刻に関連づけられたリードコマンドを抽出するとともに、前記ライトアクセス履歴記憶装置から前記要求時刻より前で最も直近のライト時刻及び抽出されたリードコマンドに含まれる前記リードアドレスに対応づけられたライトペイロードを抽出し、前記抽出されたリードコマンドと抽出された前記ライトペイロードからリードアクセス情報を生成するリードアクセス再構成部
を更に備えることを特徴とする請求項４記載のアクセス履歴管理装置。
【請求項６】
復元要求時刻を含むブロック配置復元要求が入力されると、前記ライトアクセス履歴記憶装置から、前記接続対象記憶装置の各アドレスについて、前記復元要求時刻より前で最も直近の時刻に関連づけられたペイロードを抽出して、前記復元要求時刻のブロック配置を再構成するブロック配置構成部
を更に備えることを特徴とする請求項４に記載のアクセス履歴管理装置。
【請求項７】
接続対象記憶装置に対するリードアクセス履歴を取得するアクセス履歴管理プログラムであって、
前記接続対象記憶装置に対するライトアクセスが発生すると、前記ライトアクセスのライト時刻及びライトアドレスを含むライトコマンド及びライトペイロードをライトアクセス履歴記憶装置に記憶するライトアクセス履歴追記部と、
前記接続対象記憶装置に対するリードアクセスが発生すると、前記リードアクセスのリード時刻及びリードアドレスを含むリードコマンドをリードアクセス履歴記憶装置に記憶するリードアクセス履歴追記部
とをコンピュータに実行させることを特徴とするアクセス履歴管理プログラム。
【請求項８】
リードアクセス取得要求が入力されると、前記リードアクセス履歴記憶装置から、前記リードアクセス取得要求に含まれる要求時刻に関連づけられたリードコマンドを抽出するとともに、前記ライトアクセス履歴記憶装置から要求時刻より前で最も直近のライト時刻及び抽出されたリードコマンドに含まれる前記リードアドレスに対応づけられたライトペイロードを抽出し、前記抽出されたリードコマンドと抽出された前記ライトペイロードからリードアクセス情報を生成するリードアクセス再構成部
を更にコンピュータに実行させることを特徴とする請求項７に記載のアクセス履歴管理プログラム。
【請求項９】
復元要求時刻を含むブロック配置復元要求が入力されると、前記ライトアクセス履歴記憶装置から、前記接続対象記憶装置の各アドレスについて、前記復元要求時刻より前で最も直近の時刻に関連づけられたペイロードを抽出して、前記復元要求時刻のブロック配置を再構成するブロック配置構成部
を更にコンピュータに実行させることを特徴とする請求項７に記載のアクセス履歴管理プログラム。
【請求項１０】
アクセス履歴を取得する記憶装置であって、
前記記憶装置に対するライトアクセスが発生すると、前記ライトアクセスのライト時刻及びライトアドレスを含むライトコマンド及びライトペイロードをライトアクセス履歴記憶部に記憶するライトアクセス履歴追記部と、
前記記憶装置に対するリードアクセスが発生すると、前記リードアクセスのリード時刻及びリードアドレスを含むリードコマンドをリードアクセス履歴記憶部に記憶するリードアクセス履歴追記部
をファームウェアとして実現可能な制御プログラムを記憶する制御プログラム記憶部
を備えることを特徴とする記憶装置。
【請求項１１】
前記制御プログラム記憶部は、
リードアクセス取得要求が入力されると、前記リードアクセス履歴記憶部から、前記リードアクセス取得要求に含まれる要求時刻に関連づけられたリードコマンドを抽出するとともに、前記ライトアクセス履歴記憶部から前記要求時刻より前で最も直近のライト時刻及び抽出されたリードコマンドに含まれる前記リードアドレスに対応づけられたライトペイロードを抽出し、前記抽出されたリードコマンドと抽出された前記ライトペイロードからリードアクセス情報を生成するリードアクセス再構成部
を更に実行可能な制御プログラムを記憶することを特徴とする請求項１０に記載の記憶装置。
【請求項１２】
前記制御プログラム記憶部は、
前記ライトアクセス履歴記憶部から最新のライト時刻に関連づけられたペイロードを、リードアクセス応答として出力する最新データ取得部
を更に実現可能な制御プログラムを記憶することを特徴とする請求項１１記載の記憶装置。
【請求項１３】
ログ構造記録方式で、記録されることを特徴とする請求項１０乃至請求項１２のいずれか１項記載の記憶装置。
【請求項１４】
前記制御プログラム記憶部は、
復元要求時刻を含むブロック配置復元要求が入力されると、前記ライトアクセス履歴記憶装置から、前記接続対象記憶装置の各アドレスについて、前記復元要求時刻より前で最も直近の時刻に関連づけられたペイロードを抽出して、前記復元要求時刻のブロック配置を再構成するブロック配置構成部
を更に実行可能な制御プログラムを記憶することを特徴とする請求項１０乃至請求項１３のいずれか１項記載の記憶装置。
【請求項１５】
接続対象記憶装置のファイル情報を管理し、リードアクセス履歴を取得するファイルシステム部を備える情報処理装置であって、
接続対象記憶装置と、
前記接続対象記憶装置に対する更新アクセスが発生すると、前記更新アクセスの更新時刻及び更新アドレスを含む更新コマンド及び更新ペイロードをライトアクセス履歴記憶装置に記憶するライトアクセス履歴追記部と、
前記接続対象記憶装置に対するリードアクセスが発生すると、前記リードアクセスのリード時刻及びリードアドレスを含むリードコマンドをリードアクセス履歴記憶装置に記憶するリードアクセス履歴追記部と、
リードアクセス取得要求が入力されると、前記リードアクセス履歴記憶装置から前記要求時刻に関連づけられたリードコマンドを抽出するとともに、前記ライトアクセス履歴記憶装置から要求時刻より前で最も直近の更新時刻及び抽出されたリードコマンドに含まれる前記リードアドレスに対応づけられた更新ペイロードを抽出し、前記抽出されたリードコマンドと抽出された前記更新ペイロードからリードアクセス情報を生成するリードアクセス再構成部
とを備えるファイルシステム部
とを有することを特徴とする情報処理装置。
【請求項１６】
前記ファイルシステム部は、
復元要求時刻を含むブロック配置復元要求が入力されると、前記ライトアクセス履歴記憶部から、前記復元要求時刻をキーとしてペイロードを検索するブロック配置構成部
を更に備えることを特徴とする請求項１５記載の情報処理装置。
【請求項１７】
接続対象記憶装置のファイル情報を管理し、リードアクセス履歴を取得するファイルシステム部を備える情報処理装置であって、
前記接続対象記憶装置に対する更新アクセスが発生すると、前記更新アクセスの更新時刻及び更新アドレスを含む更新コマンド及び更新ペイロードをライトアクセス履歴記憶装置に記憶するライトアクセス履歴追記部と、
前記接続対象記憶装置に対するリードアクセスが発生すると、前記リードアクセスのリード時刻及びリードアドレスを含むリードコマンドをリードアクセス履歴記憶装置に記憶するリードアクセス履歴追記部と、
リードアクセス取得要求が入力されると、前記リードアクセス履歴記憶装置から前記要求時刻に関連づけられたリードコマンドを抽出するとともに、前記ライトアクセス履歴記憶装置から要求時刻より前で最も直近の更新時刻及び抽出されたリードコマンドに含まれる前記リードアドレスに対応づけられた更新ペイロードを抽出し、前記抽出されたリードコマンドと抽出された前記更新ペイロードからリードアクセス情報を生成するリードアクセス再構成部
とを備えるファイルシステム部
とを有することを特徴とする情報処理装置。
【請求項１８】
前記ファイルシステム部は、
復元要求時刻を含むブロック配置復元要求が入力されると、前記ライトアクセス履歴記憶部から、前記復元要求時刻をキーとしてペイロードを検索するブロック配置構成部
を更に備えることを特徴とする請求項１７記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、接続対象記憶部に対するリードアクセス履歴を取得するアクセス履歴管理方法、アクセス履歴管理装置、アクセス履歴記憶プログラム、記憶装置及び情報処理装置に関する。
【背景技術】
【０００２】
近年の情報処理装置の発展に伴い、フォレンジック（forensic）技術の要求が高まっている。フォレンジックとは、インジデント・レスポンスや法的紛争・訴訟に対し、電磁的記録の証拠保全及び調査・分析を行うとともに、電磁的記録の改ざん・毀損等についての分析・情報収集等を行う一連の科学的調査手法・技術のことを示す。ここで、インジデント・レスポンスとは、コンピュータやネットワーク等の資源及び環境の不正使用、サービス妨害行為、データの破壊、意図しない情報の開示等、並びにそれらへ至るための行為（事象）等への対応等を示す。この様なフォレンジック技術によれば、デジタル証拠の確保が図られることによって、コンピュータセキュリティを積極的に維持することができる。
【０００３】
このフォレンジックの技術の１つとして、情報漏洩を防ぐ、或いは漏洩したデータの内容を正確に知ることのできる装置が、ネットワークの世界で提案されている。しかし、ディスク装置などの記憶装置において、同様の手法を導入しようとすると様々な問題があり、実現が困難であった。
【０００４】
又、記憶装置へのライトデータを全て記憶し、任意の過去の時点のデータを取り出す装置が提案されている。しかし、リードの発生回数はライトに比べて爆発的に多く、リードのアクセス履歴を取り出すことは困難である。
【０００５】
例えば、図１７に示すリード／ライトアクセス履歴採取／取り出し可能な装置は、利用者からのリード／ライトアクセス可能なデータ記憶装置に対して、リードアクセスとライトアクセスの履歴を採取又は取り出すことができる。ここで、アクセス履歴は、動作要求命令又は動作応答、要求又は応答時刻などを含むコマンド、ライトデータ又はリードデータを含むペイロードを含む。図１７に示す従来技術では、記憶装置に対するリードアクセス又はライトアクセスを監視し、これをそのままリードアクセス又はライトアクセスの履歴として保存する。
【０００６】
一方、記憶装置の変更履歴の採取を行うことで、バックアップに適用する技術として、継続的データ保護（Continuous Data Protection）技術がある。この技術の一例として、ユーザがアプリケーションを実行するためのデータストレージサービスを可能にするストレージシステムがある（例えば、特許文献１参照）。この特許文献１に記載のシステムは、スナップショット動作とジャーナリングを実行して、損失データを回復させる追加のデータ処理を実行する。スナップショットとジャーナルエントリは、ユーザの生産用データボリュームとは別に保存される。新しいジャーナルエントリを作るために、より古いジャーナルエントリは除去される。本除去は、１つ以上の古いジャーナルエントリを対応するスナップショットに適用して、本スナップショットを更新することにより達成される。その後の損失データの回復は、所定のスナップショットにアクセスして、本スナップショットにジャーナルエントリを適用して希望するデータ状態を再生することにより行われる。
【特許文献１】特開２００５−１８７３８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかし、フォレンジック技術となるような、過去のリードアクセス及びライトアクセス、及び過去のある時点での記憶装置のマッピングなどの情報を保存するための実用的な技術は提案されていない。
【０００８】
例えば、図１７に示す技術では、リードアクセス履歴及びライトアクセス履歴として、それぞれのコマンドと、ペイロードの全てを保存する必要がある。しかし、一般的な記憶装置の利用現場では、ライトアクセスに対して、リードアクセスのほうが圧倒的に多いため、リードアクセス履歴の増大は著しくなる。そのため、リードアクセス履歴の採取には膨大な記憶容量が必要となり、リード履歴を採取することは困難、或いはコスト面などから非現実的である場合があった。
【０００９】
この様に、従来の技術では、リードアクセス履歴採取について、膨大な記憶容量が必要となることから、リードアクセス履歴の保存は、コスト面から非現実的であると判断され、導入されにくい実状があった。
【００１０】
従って本発明の目的は、リードアクセス履歴を少ない記憶容量で記憶するとともに、リードアクセスの履歴を得るアクセス履歴管理方法、アクセス履歴管理装置、アクセス履歴記憶プログラム、記憶装置及び情報処理装置を提供することである。
【課題を解決するための手段】
【００１１】
上記課題を解決するために、本発明の第１の特徴は、接続対象記憶部に対するリードアクセス履歴を取得するアクセス履歴管理方法に関する。即ち、本発明の第１の特徴に係るアクセス履歴管理方法は、接続対象記憶部に対するライトアクセスが発生すると、ライトアクセスのライト時刻及びライトアドレスを含むライトコマンド及びライトペイロードがライトアクセス履歴記憶部に記憶されるステップと、接続対象記憶部に対するリードアクセスが発生すると、リードアクセスのリード時刻及びリードアドレスを含むリードコマンドがリードアクセス履歴記憶部に記憶されるステップを備える。
【００１２】
この様なアクセス履歴管理方法によれば、リードアクセスのペイロードを保存することなくコマンドのみのアクセス履歴を取得するので、限られた保存容量でアクセス履歴を保存することができる。
【００１３】
ここで、リードアクセス取得要求が発生すると、リードアクセス履歴記憶部から、リードアクセス取得要求に含まれた要求時刻に関連づけられたリードコマンドが抽出されるステップと、ライトアクセス履歴追記部から、要求時刻より前で最も直近のライト時刻及び抽出されたリードコマンドに含まれるリードアドレスに対応づけられたライトペイロードが抽出されるステップと、抽出されたリードコマンドと抽出された前記ライトペイロードから生成されたリードアクセス情報が出力されるステップを更に備えることが好ましい。
【００１４】
これによれば、リードアクセス履歴記憶部においてリードアクセスのペイロードが保存されていなくとも、ライトアクセス履歴記憶部におけるライトアクセスのペイロードからリードアクセスのペイロードを構成することができる。
【００１５】
更に、配置復元要求が発生すると、ライトアクセス履歴追記部から、配置復元要求に含まれる要求アドレスと、配置復元要求に含まれる要求時刻より前で最も直近のライト時刻とに対応づけられたライトペイロードが抽出されるステップと、抽出されたライトペイロードが出力されるステップを更に備えることが好ましい。
【００１６】
これによれば、リードアクセス履歴記憶部に基づいて、所定時刻に基づくディスクの配置復元を可能にすることができる。
【００１７】
本発明の第２の特徴は、接続対象記憶装置に対するリードアクセス履歴を取得するアクセス履歴管理装置に関する。即ち、本発明の第２の特徴に係るアクセス履歴管理装置は、接続対象記憶装置と、接続対象記憶装置に対するライトアクセスが発生すると、ライトアクセスのライト時刻及びライトアドレスを含むライトコマンド及びライトペイロードをライトアクセス履歴記憶装置に記憶するライトアクセス履歴追記部と、接続対象記憶装置に対するリードアクセスが発生すると、リードアクセスのリード時刻及びリードアドレスを含むリードコマンドをリードアクセス履歴記憶装置に記憶するリードアクセス履歴追記部とを備える。
【００１８】
ここで、リードアクセス取得要求が入力されると、リードアクセス履歴記憶装置から、リードアクセス取得要求に含まれる要求時刻に関連づけられたリードコマンドを抽出するとともに、ライトアクセス履歴記憶装置から要求時刻より前で最も直近のライト時刻及び抽出されたリードコマンドに含まれるリードアドレスに対応づけられたライトペイロードを抽出し、抽出されたリードコマンドと抽出されたライトペイロードからリードアクセス情報を生成するリードアクセス再構成部を更に備えることが好ましい。
【００１９】
更に、復元要求時刻を含むブロック配置復元要求が入力されると、ライトアクセス履歴記憶装置から、接続対象記憶装置の各アドレスについて、復元要求時刻より前で最も直近の時刻に関連づけられたペイロードを抽出して、復元要求時刻のブロック配置を再構成するブロック配置構成部を更に備えることが好ましい。
【００２０】
本発明の第３の特徴は、接続対象記憶装置に対するリードアクセス履歴を取得するアクセス履歴管理プログラムに関する。即ち本発明の第３の特徴に係るアクセス履歴管理プログラムは、接続対象記憶装置に対するライトアクセスが発生すると、ライトアクセスのライト時刻及びライトアドレスを含むライトコマンド及びライトペイロードをライトアクセス履歴記憶装置に記憶するライトアクセス履歴追記部と、接続対象記憶装置に対するリードアクセスが発生すると、リードアクセスのリード時刻及びリードアドレスを含むリードコマンドをリードアクセス履歴記憶装置に記憶するリードアクセス履歴追記部とをコンピュータに実行させる。
【００２１】
ここで、リードアクセス取得要求が入力されると、リードアクセス履歴記憶装置から、リードアクセス取得要求に含まれる要求時刻に関連づけられたリードコマンドを抽出するとともに、ライトアクセス履歴記憶装置から要求時刻より前で最も直近のライト時刻及び抽出されたリードコマンドに含まれるリードアドレスに対応づけられたライトペイロードを抽出し、抽出されたリードコマンドと抽出されたライトペイロードからリードアクセス情報を生成するリードアクセス再構成部を更にコンピュータに実行させることが好ましい。
【００２２】
更に、復元要求時刻を含むブロック配置復元要求が入力されると、ライトアクセス履歴記憶装置から、接続対象記憶装置の各アドレスについて、復元要求時刻より前で最も直近の時刻に関連づけられたペイロードを抽出して、復元要求時刻のブロック配置を再構成するブロック配置構成部を更にコンピュータに実行させることが好ましい。
【００２３】
本発明の第４の特徴は、アクセス履歴を取得する記憶装置に関する。即ち、本発明の第４の特徴に係る記憶装置は、記憶装置に対するライトアクセスが発生すると、ライトアクセスのライト時刻及びライトアドレスを含むライトコマンド及びライトペイロードをライトアクセス履歴記憶部に記憶するライトアクセス履歴追記部と、記憶装置に対するリードアクセスが発生すると、リードアクセスのリード時刻及びリードアドレスを含むリードコマンドをリードアクセス履歴記憶部に記憶するリードアクセス履歴追記部をファームウェアとして実現可能な制御プログラムを記憶する制御プログラム記憶部を備える。
【００２４】
ここで、制御プログラム記憶部は、リードアクセス取得要求が入力されると、リードアクセス履歴記憶部から、リードアクセス取得要求に含まれる要求時刻に関連づけられたリードコマンドを抽出するとともに、ライトアクセス履歴記憶部から要求時刻より前で最も直近のライト時刻及び抽出されたリードコマンドに含まれるリードアドレスに対応づけられたライトペイロードを抽出し、抽出されたリードコマンドと抽出されたライトペイロードからリードアクセス情報を生成するリードアクセス再構成部を更に実行可能な制御プログラムを記憶することが好ましい。
【００２５】
更に、制御プログラム記憶部は、ライトアクセス履歴記憶部から最新のライト時刻に関連づけられたペイロードを、リードアクセス応答として出力する最新データ取得部を更に実現可能な制御プログラムを記憶することが好ましい。
【００２６】
更に、記憶装置は、ログ構造記録方式で、記録されることが好ましい。
【００２７】
更に、制御プログラム記憶部は、復元要求時刻を含むブロック配置復元要求が入力されると、ライトアクセス履歴記憶装置から、接続対象記憶装置の各アドレスについて、復元要求時刻より前で最も直近の時刻に関連づけられたペイロードを抽出して、復元要求時刻のブロック配置を再構成するブロック配置構成部を更に実行可能な制御プログラムを記憶することが好ましい。
【００２８】
本発明の第５の特徴は、接続対象記憶装置のファイル情報を管理し、リードアクセス履歴を取得するファイルシステム部を備える情報処理装置に関する。即ち本発明の第５の特徴に係る情報処理装置は、接続対象記憶装置と、接続対象記憶装置に対する更新アクセスが発生すると、更新アクセスの更新時刻及び更新アドレスを含む更新コマンド及び更新ペイロードをライトアクセス履歴記憶装置に記憶するライトアクセス履歴追記部と、接続対象記憶装置に対するリードアクセスが発生すると、リードアクセスのリード時刻及びリードアドレスを含むリードコマンドをリードアクセス履歴記憶装置に記憶するリードアクセス履歴追記部と、リードアクセス取得要求が入力されると、リードアクセス履歴記憶装置から要求時刻に関連づけられたリードコマンドを抽出するとともに、ライトアクセス履歴記憶装置から要求時刻より前で最も直近の更新時刻及び抽出されたリードコマンドに含まれるリードアドレスに対応づけられた更新ペイロードを抽出し、抽出されたリードコマンドと抽出された更新ペイロードからリードアクセス情報を生成するリードアクセス再構成部とを備えるファイルシステム部とを有する。
【００２９】
ここで、ファイルシステム部は、復元要求時刻を含むブロック配置復元要求が入力されると、ライトアクセス履歴記憶部から、復元要求時刻をキーとしてペイロードを検索するブロック配置構成部を更に備えることが好ましい。
【００３０】
本発明の第６の特徴は、接続対象記憶装置のファイル情報を管理し、リードアクセス履歴を取得するファイルシステム部を備える情報処理装置であって、接続対象記憶装置に対する更新アクセスが発生すると、更新アクセスの更新時刻及び更新アドレスを含む更新コマンド及び更新ペイロードをライトアクセス履歴記憶装置に記憶するライトアクセス履歴追記部と、接続対象記憶装置に対するリードアクセスが発生すると、リードアクセスのリード時刻及びリードアドレスを含むリードコマンドをリードアクセス履歴記憶装置に記憶するリードアクセス履歴追記部と、リードアクセス取得要求が入力されると、リードアクセス履歴記憶装置から要求時刻に関連づけられたリードコマンドを抽出するとともに、ライトアクセス履歴記憶装置から要求時刻より前で最も直近の更新時刻及び抽出されたリードコマンドに含まれるリードアドレスに対応づけられた更新ペイロードを抽出し、抽出されたリードコマンドと抽出された更新ペイロードからリードアクセス情報を生成するリードアクセス再構成部とを備えるファイルシステム部とを有する。
【００３１】
ここで、ファイルシステム部は、復元要求時刻を含むブロック配置復元要求が入力されると、ライトアクセス履歴記憶部から、復元要求時刻をキーとしてペイロードを検索するブロック配置構成部を更に備えることが好ましい。
【発明の効果】
【００３２】
本発明によれば、リードアクセス履歴を少ない記憶容量で記憶するとともに、リードアクセスの履歴を得るアクセス履歴管理方法、アクセス履歴管理装置、アクセス履歴記憶プログラム、記憶装置及び情報処理装置を提供することができる。
【発明を実施するための最良の形態】
【００３３】
次に、図面を参照して、本発明の実施の形態を説明する。以下の図面の記載において、同一又は類似の部分には同一又は類似の符号を付している。
【００３４】
（最良の実施の形態）
本発明の最良の実施の形態に係るアクセス履歴管理方法は、接続対象記憶部に対するリードアクセス履歴を取得する。接続対象記憶部は、本発明の最良の実施の形態に係るアクセス履歴管理方法によってリードアクセス及びライトアクセスなどのアクセス履歴を取得する対象となるデータを記憶する。接続対象記憶記憶部は、例えば半導体記憶装置や磁気ディスク装置などで、デジタル化されたデータを電気的に保持する。
【００３５】
図１を参照して、本発明の最良の実施の形態に係るアクセス履歴管理方法を説明する。
【００３６】
まず、ステップＳ１において、接続対象記憶部に対するイベントが待機される。イベントが発生すると、ステップＳ２において、イベントの対象に応じて処理が行われる。
【００３７】
ステップＳ２において、発生したイベントが接続対象記憶部に対するイベントであると判定された場合、ステップＳ３において、イベントの種別に応じて処理が行われる。発生したイベントがライトアクセスの場合、ステップＳ４において、ライトアクセスのコマンド及びペイロードがライトアクセス履歴記憶部に記憶される。ここで、ライトアクセスのコマンドは、ライトアクセスが発生したライト時刻、ライトアドレス、ライトデータサイズ、応答時刻、結果などを含む。ペイロードとは、接続対象記憶部のうち、ライトアクセスのコマンドに含まれるライトアドレスに新たに記憶するデータである。
【００３８】
発生したイベントが、接続対象記憶部に対するリードアクセスの場合、ステップＳ５において、リードアクセスのコマンドがリードアクセス履歴記憶部に記憶される。ここで、リードアクセスのコマンドは、リードアクセスが発生したリード時刻、リードアドレス、リードデータサイズ、応答時刻、結果などを含む。このリードアクセス履歴記憶部には、リードアクセスのペイロード、具体的には、リードアクセスのコマンドに含まれるリードアドレスに記憶されていたデータは記憶されず、リードアクセスのコマンドのみが記憶される。
【００３９】
一方、ステップＳ２において、発生したイベントがアクセス履歴に対するイベントであると判定された場合、ステップＳ４及びステップＳ５で取得した情報に基づいて、アクセス履歴を出力するためにステップＳ６において、イベントの種別に応じて処理が行われ、ステップＳ４及びステップＳ５で取得した情報に基づいて、アクセス履歴が出力される。
【００４０】
発生したイベントが接続対象記憶部の所定時刻及び所定アドレスにおける配置復元要求である場合、ステップＳ７において、ライトアクセス履歴記憶部から、配置復元要求に含まれる要求アドレスと、配置復元要求に含まれる要求時刻より前で最も直近のライト時刻とに対応づけられたライトペイロードが抽出される
発生したイベントが所定時刻に発生したリードアクセス取得要求である場合、ステップＳ８において、ライトアクセス履歴記憶部及びリードアクセス履歴記憶部から、ペイロードが抽出される。具体的には、リードアクセス履歴記憶部から、リードアクセス取得要求に含まれた要求時刻に関連づけられたリードコマンドが抽出される。次に、ライトアクセス履歴追記部から、要求時刻より前で最も直近のライト時刻及び抽出されたリードコマンドに含まれるリードアドレスに対応づけられたライトペイロードが抽出される。更に、抽出されたリードコマンドと抽出されたライトペイロードから生成されたリードアクセス情報が出力される。
【００４１】
図２に示す例では、アドレス１乃至アドレス４のアドレス空間に対して、時刻ｔ１乃至ｔ９において発生したアクセスを説明している。
【００４２】
具体的には、時刻ｔ１にアドレス１に対して、データａ１をライトしている。時刻ｔ２にアドレス２に対して、データｂ１をライトしている。時刻ｔ３にアドレス３に対して、データｃ１をライトしている。時刻ｔ４にアドレス４に対して、データｄ１をライトしている。時刻ｔ５にアドレス１をリードしている。時刻ｔ６にアドレス３をリードしている。時刻ｔ７にアドレス１に対して、データａ２をライトしている。時刻ｔ８にアドレス４をリードしている。時刻ｔ０にアドレス１をリードしている。
【００４３】
この場合、本発明の最良の実施の形態に係るアクセス履歴管理方法によれば、時刻ｔ１乃至時刻ｔ４、及び時刻ｔ７で発生したライトアクセスは、ライトアクセス履歴記憶部に記憶され、時刻ｔ５、時刻ｔ６、時刻ｔ８及び時刻ｔ９で発生したリードアクセスは、リードアクセス履歴記憶部に記憶される。
【００４４】
このとき、時刻ｔ５に発生したリードアクセスにより得られたデータを復元する場合について説明する。このリードアクセスは、アドレス１に対するリードアクセスであるので、時刻ｔ５より前で最も直近にアドレス１に対して発生したライトアクセスのペイロードから求められる。ここでは、時刻ｔ１のライトアクセスのペイロードａ１が、時刻ｔ５に発生したリードアクセスにより得られたデータとなる。同様に、時刻ｔ６に発生したリードアクセスにより得られたデータは、時刻ｔ３に発生したライトアクセスのペイロードｃ１である。時刻ｔ８に発生したリードアクセスにより得られたデータは、時刻ｔ４に発生したライトアクセスのペイロードｄ１である。時刻ｔ９に発生したリードアクセスにより得られたデータは、時刻ｔ７に発生したライトアクセスのペイロードａ２である。
【００４５】
例えば、接続対象記憶部に対して発生したコマンドは、構造体「command」として、式１に、変数「payload」として、式２に定義される。ここで、変数「payload」は、実体のデータ列が定義されても良い。  
struct command {
boolean        type;           /* コマンドの種別(READ 又は WRITE) */
time    accesstime;     /* アクセス時間 */
integer address;       /* アクセス先のアドレス */
}
・・・（式１）
byte *payload;                  /* ペイロードのデータ列(へのポインタ) */
・・・（式２）
【００４６】
この場合、時刻ｔ１に接続対象記憶部に対して発生したコマンドは、式３で表現される。  
command.type = WRITE
command. accesstime = t1
command.address = 1
payload = a1
・・・（式３）
【００４７】
この様に蓄積されたライトアクセス履歴記憶部に基づいて、時刻ｔ５に発生したリードアクセスのペイロードを取得する場合、式４で示す条件式で検索される。  
command.type = WRITE   and
command.address = 1  and
command. accesstime < t5
・・・（式４）
【００４８】
式４に示した条件式に基づいて、ライトアクセス履歴記憶部を、command.accesstimeを降順に、つまり時刻ｔ５より過去に向かって逐次検索し、最初にヒットしたものを検索結果とすると、式５に示す結果が出力される。  
payload = a1
・・・（式５）
【００４９】
この様に本発明の最良の実施の形態に係るアクセス履歴管理方法によれば、リードコマンドのペイロードを記憶せず、ライトアクセス履歴記憶部からリードコマンドのペイロードを抽出する。従って、リードコマンドの履歴を記憶する場合でも、大量の保存容量を必要としない。この様に、本発明の最良の実施の形態に係るアクセス履歴管理方法によれば、接続対象記憶部に対するリードアクセス及びライトアクセスの全ての履歴を出力することができる。
【００５０】
次に、第１の実施例乃至第６の実施例を参照して、本発明の最良の実施の形態に係るアクセス履歴管理方法の実施例を説明する。
【００５１】
（第１の実施例）
本発明の最良の実施の形態の第１の実施例においては、本発明の最良の実施の形態に係るアクセス履歴管理方法をアクセス履歴管理装置１００に適用し、接続対象記憶装置がアクセス履歴管理装置１００以外の接続対象装置１５０に実装されている例を説明する。
【００５２】
図３に示すように、本発明の第１の実施例に係る接続対象装置１５０は、接続対象記憶装置１５１及びアクセス監視部１５２を備える。
【００５３】
接続対象記憶装置１５１は、本発明の第１の実施例に係るアクセス履歴管理装置１００が、リードアクセス及びライトアクセスなどのアクセス履歴を取得する対象となる記憶装置である。接続対象記憶装置１５１は、半導体記憶装置や磁気ディスク装置などで、デジタル化されたデータを電気的に保持する装置である。第１の実施例に係る接続対象記憶装置１５１は、アクセス記憶採取及び取り出し機能を備えていない。
【００５４】
アクセス監視部１５２は、接続対象記憶装置１５１に対してリードアクセス或いはライトアクセスが発生したことをフックし、リードアクセス及びライトアクセスのコマンド等をアクセス履歴管理装置１００に送信する。
【００５５】
アクセス履歴管理装置１００は、接続対象装置１５０に備えられた接続対象記憶装置１５１に対するリードアクセス履歴を取得する。
【００５６】
図３に示すように、本発明の第１の実施例に係るアクセス履歴管理装置１００は、ライトアクセス履歴記憶装置１０１、リードアクセス履歴記憶装置１０２、履歴採取部１１０及び履歴取り出し部１２０を備える。
【００５７】
ライトアクセス履歴記憶装置１０１には、接続対象記憶装置１５１に発生したライトアクセスの履歴が記憶されている。ライトアクセス履歴記憶装置１０１は、例えば、図４に示す様に、ライトアクセスのコマンドとして、コマンド種別、ライト時刻、ライトアドレスの項目を備える。更にライトアクセス履歴記憶装置１０１は、ペイロードとして、このライト時刻にこのライトアドレスに対して記憶されたデータが関連づけられている。図４に示したデータは、図２に示した様に接続対象記憶装置１５１に対するアクセスの履歴を示している。ライトアクセス履歴記憶装置１０１の第１レコードには、時刻ｔ１にアドレス１に対して、データａ１をライトアクセスが発生したことが記憶されている。
【００５８】
リードアクセス履歴記憶装置１０２には、接続対象記憶装置１５１に発生したリードアクセスの履歴が記憶されている。リードアクセス履歴記憶装置１０２は、例えば、図６に示すように、リードアクセスのコマンドとして、コマンド種別、リード時刻、ライトアドレスの項目を備える。図５に示したデータは、図２に示した様に接続対象記憶装置１５１に対するアクセスの履歴を示している。リードアクセス履歴記憶装置１０２の第１レコードには、時刻ｔ５にアドレス１に対してリードアクセスが発生したことが記憶されている。
【００５９】
図３に示す例では、ライトアクセス履歴記憶装置１０１及びリードアクセス履歴記憶装置１０２は、異なる記憶装置に実装される様に記載したが、物理的に同一の記憶装置に実装されても良い。
【００６０】
履歴採取部１１０は、アクセス振分部１１１、ライトアクセス履歴追記部１１２、リードアクセス履歴追記部１１３を備える。履歴採取部１１０は、アクセス振分部１１１により、接続対象装置１５０に発生したアクセス種別により処理を振り分ける。更に、履歴採取部１１０は、ライトアクセス履歴追記部１１２又はリードアクセス履歴追記部１１３により、リードアクセスの場合はそのコマンドのみを、ライトアクセスの場合はそのコマンドとペイロードを履歴化して保存する。
【００６１】
アクセス振分部１１１は、アクセス記憶採取及び取り出し機能を持たない接続対象記憶装置１５１に対するリードアクセス及びライトアクセスを監視するアクセス監視部１５２から、アクセスが発生したことが通知されると、リードアクセス或いはライトアクセスのアクセス種別により、ライトアクセス履歴追記部１１２或いはリードアクセス履歴追記部１１３のいずれかに処理を振り分ける。
【００６２】
ライトアクセス履歴追記部１１２は、接続対象記憶装置１５１に対するライトアクセスが発生すると、ライトアクセスのライト時刻及びライトアドレスを含むライトコマンドと、ライトペイロードと、をライトアクセス履歴記憶装置１０１に記憶する。このとき、ライトアクセス履歴追記部１１２は、ライトコマンドに含まれる全ての項目を、ライトアクセス履歴記憶装置１０１に記憶しても良い。
【００６３】
リードアクセス履歴追記部１１３は、接続対象記憶装置１５１に対するリードアクセスが発生すると、リードアクセスのリード時刻及びリードアドレスを含むリードコマンドを、リードアクセス履歴記憶装置に１０２記憶する。このとき、リードアクセス履歴追記部１１３は、リードコマンドに含まれる全ての項目を、リードアクセス履歴記憶装置１０２に記憶しても良いが、リードコマンドに対する応答に含まれるペイロード、具体的には、リードコマンドにより読み出された接続対象記憶装置１５１のデータは、リードアクセス履歴記憶装置１０２に記憶されない。
【００６４】
履歴取り出し部１２０は、リードアクセス再構成部１２１を備える。履歴取り出し部１２０は、過去のライトアクセスを取り出す場合、ライトアクセス履歴記憶装置１０１から直接、コマンド及びペイロードを取り出す。一方、過去のリードアクセスを取り出す場合、履歴取り出し部１２０は、リードアクセス再構成部１２１により、リードアクセスのコマンドのみを保存したリードアクセス履歴記憶装置１０２から、ライトアクセスのコマンド及びペイロードを保存したライトアクセス履歴記憶装置１０１を参照して、リードアクセスのペイロードを再構成し、コマンド及びペイロードを取り出す。
【００６５】
リードアクセス再構成部１２１は、リードアクセス取得要求が入力されると、リードアクセス履歴記憶装置１０２から、リードアクセス取得要求に含まれる要求時刻に関連づけられたリードコマンドを抽出する。ここで、リードアクセス取得要求は、所定時刻に発生したリードアクセスのリードアドレス及びペイロードを含むリードアクセス情報を要求する処理である。更にリードアクセス再構成部１２１は、ライトアクセス履歴記憶装置１０１から要求時刻より前で最も直近のライト時刻及び抽出されたリードコマンドに含まれるリードアドレスに対応づけられたライトペイロードを抽出する。更にリードアクセス再構成部１２１は、抽出されたリードコマンドと抽出されたライトペイロードから、リードアクセス情報を生成し出力する。
【００６６】
リードアクセス再構成部１２１は、図６に示すように、コマンド及びペイロードからなるライトアクセスの履歴(ライトアクセス履歴)と、コマンドだけからなるリードアクセスの履歴(リードアクセス履歴)を入力とし、リードアクセスのペイロードを再構成したうえ、リードアクセスのコマンド及びペイロードを出力する。
【００６７】
リードアクセス再構成部１２１によるリードアクセス再構成処理を、図６を参照して説明する。
【００６８】
まず、ステップＳ１０１において、リードアクセス取得要求が入力されると、リードアクセス取得要求に含まれる要求時刻が抽出される。更に、リードアクセス履歴記憶装置１０２から、ペイロードを取得したいリードアクセスのコマンドから、接続対象記憶装置１５１のどのアドレスに対するリードであったかが取得される。具体的には、抽出された要求時刻に対応づけられたリードアドレスを取得する。
【００６９】
次に、ステップＳ１０２において、ステップＳ１０１で抽出されたアドレスに対して、そのリードアクセスが発生した要求時刻より前で最も最後にライトを行ったライトアクセスが、ライトアクセス履歴記憶装置１０１から取り出される。
【００７０】
ステップＳ１０３において、ステップＳ１０１で抽出されたリードアクセスのコマンドと、ステップＳ１０２において抽出されたライトアクセスのペイロードから、リードアクセス情報が再構成される。
【００７１】
この様に第１の実施例に係るアクセス履歴管理装置によれば、アクセス監視部１５２によって検知された接続対象記憶装置１５１に対するリードアクセス又はライトアクセスが、アクセス振分部１１１により、アクセス種別に基づいて処理が振り分けられる。ライトアクセス履歴追記部１１２又はリードアクセス履歴追記部１１３により、例えば、図４又は図５に示したような構造でデータが蓄積される。
【００７２】
これにより、リードアクセスのペイロードを履歴情報として記憶しなくとも、ライトアクセスの履歴情報からリードアクセスの履歴情報を構成することができる。従って、第１の実施例に係るアクセス履歴管理装置１００によれば、膨大な保存容量を必要とすることなく、リードアクセスの履歴を全て保存することができる。
【００７３】
（第２の実施例）
本発明の最良の実施の形態の第２の実施例においては、本発明の最良の実施の形態に係るアクセス履歴管理方法を記憶装置２００に適用する場合について説明する。第２の実施例においては、アクセス履歴を取得する記憶装置２００は、最新のデータが記憶された記憶部を備えない。記憶装置２００に対するアクセスが発生すると、ライトアクセス履歴記憶部２０１及びリードアクセス履歴記憶部２０２のみから応答を生成する。
【００７４】
記憶装置２００は、ライトアクセス履歴記憶部２０１、リードアクセス履歴記憶部２０２及び所定の処理を実現可能な制御プログラム（ファームウェア）を記憶する制御プログラム記憶部を備える。制御プログラム記憶部に記憶された制御プログラムが記憶装置２００に実装されることにより、図８に示すような相関関係が実現される。
【００７５】
第２の実施例に係る記憶装置２００は、ログ(追記)構造記録方式が採用されている。これにより、ライトアクセス履歴の履歴領域と、記憶装置２００の記憶領域（ログデータ）を１つに統合し、必要な記憶領域を削減することができる。
【００７６】
ログ構造ファイルシステムに代表されるログ構造記録方式では、ライトデータを古いデータに上書きするのではなく、追記（ログ）で記録する。そのため、ライトデータはログデータとも呼ばれる。「上書き」がランダムライトになるのに対して、「追記」はシーケンシャルライトであるので、ログ構造記録方式では、ライトアクセス性能の向上を図ることができる。一方、リードアクセスのときには、ログデータの中からリード対象のアドレスに対して最後にライトしたときのデータを検索し、これをリードデータとして応答する。ライトデータは追記構造で記録するため、結果的に過去の任意のライトデータを取り出すことも可能になる。
【００７７】
図８に示すように、第２の実施例に係る記憶装置２００は、ライトアクセス履歴記憶部２０１、リードアクセス履歴記憶部２０２、履歴採取機能つき記憶装置提供部２１０及び履歴取り出し部２２０を備える。
【００７８】
ライトアクセス履歴記憶部２０１は、第１の実施例のライトアクセス履歴記憶装置１０１と同様である。リードアクセス履歴記憶部２０２は、第１の実施例のリードアクセス履歴記憶装置１０２と同様である。
【００７９】
履歴採取機能つき記憶装置提供部２１０は、第１の実施例に係る接続対象記憶装置１５１及び履歴採取部１１０を提供している。履歴採取機能つき記憶装置提供部２１０は、アクセス振分部２１１、ライトアクセス履歴追記部２１２、リードアクセス履歴追記部２１３及び最新データ取得部２１４を備えている。
【００８０】
アクセス振分部２１１は、記憶装置２００に対するアクセスが発生すると、リードアクセス或いはライトアクセスのアクセス種別により、ライトアクセス履歴追記部２１２或いはリードアクセス履歴追記部２１３のいずれかに処理を振り分ける。
【００８１】
ライトアクセス履歴追記部２１２は、記憶装置２００に対するライトアクセスが発生すると、ライトアクセスのライト時刻及びライトアドレスを含むライトコマンド及びライトペイロードをライトアクセス履歴記憶部２０１に記憶する。更に、ライトアクセス履歴追記部２１２は、ライトアクセスに対する応答を出力する。
【００８２】
リードアクセス履歴追記部２１３は、記憶装置２００に対するリードアクセスが発生すると、リードアクセスのリード時刻及びリードアドレスを含むリードコマンドをリードアクセス履歴記憶部２１３に記憶する。更にリードアクセス履歴追記部２１３は、最も直近
最新データ取得部２１４は、ライトアクセス履歴記憶部２０１から、各アドレスに対する最新のライト時刻に関連づけられたペイロードを、リードアクセス応答として出力する。更に、最新データ取得部２１４によってライトアクセス履歴記憶部２０１から最新データが取得されると、リードアクセス履歴追記部２１３によって、最新データが取得されたことが、リードアクセス履歴記憶部２０２に記憶される。
【００８３】
履歴取り出し部２２０は、リードアクセス再構成部２２１を備える。リードアクセス再構成部２２１は、リードアクセス取得要求が入力されると、リードアクセス履歴記憶部２０２から、リードアクセス取得要求に含まれる要求時刻に関連づけられたリードコマンドを抽出する。次に、リードアクセス再構成部２２１は、ライトアクセス履歴記憶部２０１から要求時刻より前で最も直近のライト時刻と、抽出されたリードコマンドに含まれるリードアドレスに対応づけられたライトペイロードを抽出する。更に、リードアクセス再構成部２２１は、抽出されたリードコマンドと抽出されたライトペイロードからリードアクセス情報を生成する。
【００８４】
次に、図９を参照して、第２の実施例に係る履歴採取機能つき記憶装置提供部２１０によるアクセス処理を説明する。
【００８５】
まず、ステップＳ２０１において、アクセス振分部２１１によってアクセス要求が受信されると、ステップＳ２０２においてアクセスの種類によって処理が振り分けられる。
【００８６】
ステップＳ２０２においてライトアクセスだと判定されると、ステップＳ２０３において、ライトアクセスのコマンド及びペイロードが、ライトアクセス履歴記憶部２０１に追記される。更に、ステップＳ２０４において、ライトアクセス応答が出力される。
【００８７】
一方ステップＳ２０２においてリードアクセスであると判定されると、ステップＳ２０５において、追記構造のライトアクセス履歴記憶部から、当該アドレスの最新のデータが読み出される。次に、ステップＳ２０６において、リードアクセスのコマンドのみが、リードアクセス履歴記憶部２０２に追記される。更に、ステップＳ２０７において、リードアクセス応答として、当該アドレスの最新のデータを含むリードアクセス応答が出力される。
【００８８】
この様に、記憶装置２００のログ構造記録方式のライトデータ（ログデータ）は、第１の実施例において説明したライトアクセス履歴のペイロードとみることもできる。そのことから、ログ構造方式のログデータを拡張して、ライトアクセス履歴に仕立てることができる。言い換えれば、ログ構造記録方式のログデータをライトアクセス履歴に統合することができる。これにより、ライトアクセス履歴用の記憶領域と、記憶装置２００の記憶領域を別々に用意するのではなく、ライトアクセス履歴用の記憶領域１つで記憶装置の記憶領域を兼ねることができ、全体で必要な記憶容量の削減が実現できる。
【００８９】
（第３の実施例）
本発明の最良の実施の形態の第３の実施例においては、第１の実施例に係るアクセス履歴管理装置を、ブロックデバイスである接続対象記憶装置３５１に適用した場合を説明する。ブロックデバイスとは、複数バイトからなるデータブロックを１つの単位としてデータの入出力を行うデバイスである。
【００９０】
第３の実施例に係る接続対象記憶装置３５１は、自由に読み書きできるブロック空間を提供する。アクセス履歴管理装置は、接続対象記憶装置３５１のブロック空間に対するリードアクセス及びライトアクセスを履歴化して、データを採取及び取り出しする。
【００９１】
第３の実施例に係るアクセス履歴管理装置３００は、図１０に示すように、ファイルシステムやデータベースなどのアクセスアプリケーション３６０から接続対象記憶装置３５１へのアクセスをフックし、ライトアクセス履歴記憶装置３０１及びリードアクセス履歴記憶装置３０２にアクセス履歴を記憶する。更に、監視アプリケーション、レストアアプリケーションなどの要求アプリケーション３７０からの要請に応じて、ライトアクセス、ブロック配置、リードアクセスなどの情報が提供される。
【００９２】
アクセス履歴管理装置３００は、ライトアクセス履歴記憶装置３０１、リードアクセス履歴記憶装置３０２、アクセス監視部３１１、アクセス振分部３１２、ライトアクセス履歴追記部３１３、リードアクセス履歴追記部３１４、ライトアクセス取得要求受付部３２１、第１の検索部３２２、ブロック配置復元要求受付部３２３、第２の検索部３２４、ブロック配置構成部３２５、リードアクセス取得要求受付部３２６、第３の検索部３２７、リードアクセス再構成部３２８を備える。
【００９３】
ライトアクセス履歴記憶装置３０１及びリードアクセス履歴記憶装置３０２は、第１の実施例のライトアクセス履歴記憶装置１０１及びリードアクセス履歴記憶装置１０２と同様である。ただし、第３の実施例に係る接続対象記憶装置３５１はブロックデバイスであるので、リードアドレス及びライトアドレスは、ブロックデバイスのアドレスを示す。ライトアクセス履歴記憶装置３０１及びリードアクセス履歴記憶装置３０２のディスク装置の割当方法は問わない。具体的には、接続対象記憶装置３５１に記憶されたデータと、履歴データが別々のディスク装置に配置されても良いし、同一のディスク装置に配置されても良い。
【００９４】
アクセス監視部３１１は、ブロックデバイスのインタフェイスとなり、接続対象記憶装置３５１に対するアクセスがフックされると、アクセス振分部３１２に処理させる。
【００９５】
アクセス振分部３１２、ライトアクセス履歴追記部３１３及びリードアクセス履歴追記部３１４は、第１の実施例のアクセス振分部１１１、ライトアクセス履歴追記部１１２及びリードアクセス履歴追記部１１３と同様である。
【００９６】
ライトアクセス取得要求受付部３２１は、要求時刻に発生したライトアクセス情報を取得するライトアクセス取得要求が、要求アプリケーション３７０から入力されると、第１の検索部３２２に、入力されたライトアクセス取得要求に従ってライトアクセスを取得させる。
【００９７】
図１１を参照して、ライトアクセス取得要求受付部３２１及び第１の検索部３２２によるライトアクセス取得処理を説明する。図１１では、時刻ｔｘに発生したライトアクセスの取り出し、及び時刻ｔｘ以前又は以降にブロックアドレスａｄｄｒに対してライトしたライトアクセスの取り出しについて説明する。  
まず、ステップＳ３０１において、ライトアクセス取得要求受付部３２１より、ライトアクセス取得要求が入力されると、ステップＳ３０２において、入力されたライトアクセス取得要求の種類に応じて処理が振り分けられる。  
時刻ｔｘのライトアクセスの情報を取得する場合、ステップＳ３０３において、ライト時刻ｔｘをキーとしてライトアクセス履歴記憶装置３０１が検索され、コマンドに時刻ｔｘが含まれるライトアクセス履歴が取り出される。ステップＳ３０４において、ステップＳ３０３で取り出されたライトアクセス履歴が要求アプリケーション３７０に応答される。  
一方、時刻ｔｘ以前或いは以後にブロックアドレスａｄｄｒにライトされたライトアクセスの情報を取得する場合、第１キーとして時刻ｔｘ以前或いは以後、第２キーとしてブロックアドレスａｄｄｒを条件として、ライトアクセス履歴記憶装置３０１が検索され、コマンド部の時刻が時刻ｔｘ以前或いは以後、かつライトアドレスがブロックアドレスａｄｄｒであるライトアクセス履歴が取り出される。ステップＳ３０６において、ステップＳ３０５で取り出されたライトアクセスのペイロードが、ブロックデータとして要求アプリケーション３７０に応答される。  
図１１に示す例の他に、ｔｘ以前或いは以後にブロックデータｂｌｋをペイロードとしてライトしたライトアクセスの取り出しなども実現することができる。
【００９８】
ブロック配置復元要求受付部３２３は、要求時刻のブロック配置を復元するブロック配置復元要求が、要求アプリケーション３７０から入力されると、第２の検索部３２４に、入力されたブロック配置復元要求に従って、ブロック配置を取得させる。このとき、第２の検索部３２４は、ブロック配置構成部３２５に、ライトアクセス履歴記憶装置３０１に記憶された情報に従って、ブロックの配置を構成させる。例えば、復元要求時刻のブロック配置を復元する場合、復元要求時刻を含むブロック配置復元要求が入力されると、ライトアクセス履歴記憶装置３０１から、接続対象記憶装置３５１の各アドレスについて、復元要求時刻より前で最も直近の時刻に関連づけられたペイロードを抽出して、復元要求時刻のブロック配置を再構成する
図１２を参照して、ブロック配置復元要求受付部３２３、第２の検索部３２４及びブロック配置構成部３２５によるブロック配置復元処理を説明する。図１２では、時刻ｔｘのブロック空間の再現、及び時刻ｔｘ以前又は以降にブロックデータｂｌｋを含んでいたブロック空間の再現について説明する。  
まず、ステップＳ３２１において、ブロック配置復元要求受付部３２３より、ブロック配置復元要求が入力されると、ステップＳ３２２において、入力されたブロック配置復元要求の種別に応じて処理が振り分けられる。  
時刻ｔｘのブロック空間を再現する場合、ステップＳ３２３において、時刻ｔｘをキーとしてライトアクセス履歴記憶装置３０１が記憶され、コマンド部に時刻ｔｘが含まれているライトアクセス履歴のインデックスが抽出される。次に、ステップＳ３２４において、それ以前の時刻に関連づけられたライトアクセス履歴を遡ることにより、時刻ｔｘ時点でのブロックデバイス内のブロック配置状態が復元される。ステップＳ３２５において、ステップＳ３２４で復元されたブロック配置状態が、要求アプリケーション３７０に応答される。  
一方、時刻ｔｘ以前又は以降にブロックデータｂｌｋを含んでいたブロック空間を再現する場合、ステップＳ３２６において、第１キーとして時刻ｔｘ以前又は以降、第２キーとしてブロックデータｂｌｋを条件として、ライトアクセス履歴記憶装置３０１が検索され、コマンド部の時刻が時刻ｔｘ以前或いは以後、かつペイロードがブロックデータｂｌｋであるライトアクセス履歴のインデックスが抽出される。次に、ステップＳ３２４において、ブロックデータｂｌｋを含んでいた接続対象記憶装置３５１内のブロック配置状態が復元される。ステップＳ３２８において、ステップＳ３２７で復元されたブロック配置状態が、要求アプリケーション３７０に応答される。  
図１２に示す例の他に、時刻ｔｘ以前又は以降にブロックデータｂｌｋをライトする前又はライトした後のブロック空間の再現、時刻ｔｘ以前又は以降にブロックアドレスａｄｄｒにライトする前或いはした後のブロック空間の再現、時刻ｔｘ以前又は以降にブロックデータｂｌｋをリードしたときのブロック空間の再現、時刻ｔｘ以前又は以降にブロックアドレスａｄｄｒをリードしたときのブロック空間の再現なども実現することができる。
【００９９】
リードアクセス取得要求受付部３２６は、要求時刻に発生したリードアクセス情報を取得するリードアクセス取得要求が、要求アプリケーション３７０から入力されると、第３の検索部３２７に、入力されたリードアクセス取得要求に従ってリードアクセスを取得させる。このとき、第３の検索部３２７は、リードアクセス再構成部３２８に、ライトアクセス履歴記憶装置３０１及びリードアクセス履歴記憶装置３０２に記憶された情報に従って、リードアクセス情報を構成する。
【０１００】
図１３を参照して、リードアクセス取得要求受付部３２６、第３の検索部３２７及びリードアクセス再構成部３２８によるリードアクセス取得処理を説明する。図１３では、時刻ｔｘのリードアクセスの取り出しについて説明する。  
まず、ステップＳ３４１において、リードアクセス取得要求受付部３２６より、時刻ｔｘにおけるリードアクセス取得要求が入力されると、ステップＳ３４２において、時刻ｔｘをキーとしてリードアクセス履歴記憶装置３０２が検索され、コマンドに時刻ｔｘが含まれるリードアクセス履歴が取り出され、ステップＳ３４３において、ステップＳ３４２において抽出されたリードアクセス履歴からリード対象のブロックアドレスが取得される。
【０１０１】
次に、ステップＳ３４４において、ステップＳ３４３で取得されたブロックアドレスについて、ライトアクセス履歴記憶装置３０１から、時刻ｔｘ以前にライトされたライトアクセス履歴が取り出され、ステップＳ３４５において、ステップＳ３４２において取得されたリードアクセスのコマンドと、ステップＳ３４５で取得されたペイロードから、リードアクセス情報が再構成される。ステップＳ３４６において、ステップＳ３４５で再構成されたリードアクセス情報が要求アプリケーション３７０に応答される。  
図１３に示す例の他に、時刻ｔｘ以前或いは以降に、ブロックデータｂｌｋをペイロードとしてリードしたリードアクセス、時刻ｔｘ以前或いは以降に、ブロックアドレスａｄｄｒに対してリードしたリードアクセスの取り出しなども実現することができる。
【０１０２】
この様に、本発明の最良の実施の形態に係るアクセス履歴管理方法は、ブロックデバイスである接続対象記憶装置３５１に適応することができる。
【０１０３】
（第４の実施例）
本発明の最良の実施の形態の第４の実施例においては、本発明の最良の実施の形態に係るアクセス履歴管理方法を、一般的なコンピュータ装置のファイルシステムに適用した情報処理装置４００について説明する。
【０１０４】
情報処理装置４００に備えられたファイルシステム部４１０は、ユーザアプリケーション４６０から接続対象記憶装置４５１へのアクセスのインタフェイスとなるファイルシステムである。ファイルシステム部４１０は、アクセス監視部４１１、アクセス振分部４１２、ライトアクセス履歴追記部４１３、リードアクセス履歴追記部４１４、ライトアクセス取得要求受付部４２１、第１の検索部４２２、ファイル復元要求受付部４２３、第２の検索部４２４、ファイル構成部４２５、リードアクセス取得要求受付部４２６、第３の検索部４２７、リードアクセス再構成部４２８、システム制御部４３０を備える。
【０１０５】
アクセス監視部４１１、アクセス振分部４１２、ライトアクセス履歴追記部４１３、リードアクセス履歴追記部４１４、ライトアクセス取得要求受付部４２１、第１の検索部４２２、ファイル復元要求受付部４２３、第２の検索部４２４、ファイル構成部４２５、リードアクセス取得要求受付部４２６、第３の検索部４２７及びリードアクセス再構成部４２８は、図１０に示した各機能と比べると同様の機能を備える。ただし、図１０に示した各機能はブロックデバイスを対象とするが、図１４に示した各機能はファイルシステムを対象とする点が異なる。
【０１０６】
従って、リードアクセス及びライトアクセスの単位は、ブロック単位ではなくバイト単位であって、１アクセスがブロックアドレスの１ブロックに対するアクセスではなく、任意ファイルの任意オフセットからの任意バイト長に対するアクセスとなる。そのため、１つのリードアクセス履歴のペイロードを再現するために、複数のライト履歴のペイロードを組み合わせる必要がある場合もある。
【０１０７】
又、アクセスの種類はリード又はライトだけではなく、生成、削除、移動、名前変更、初期化などもある。そのため、例えば、ある時点でライトした後ファイルを移動して、リードする、というアクセスがあったとき、ライトアクセス履歴のペイロードからリード履歴のペイロードを得るには、途中のファイルの移動アクセスの履歴も採取する必要がある。
【０１０８】
このため、ファイルシステムに実装する場合は、リードアクセス履歴及びライトアクセス履歴だけではなく、これら以外のアクセス履歴もあわせて採取する必要がある。この実装方法は、例えばＣＶＳによるファイル追跡が挙げられる。
【０１０９】
この様に、本発明の最良の実施の形態に係るアクセス履歴管理方法は、ファイルシステムに適応することができる。
【０１１０】
（第５の実施例）
本発明の最良の実施の形態の第５の実施例は、図１５に示すように、第２の実施例をブロックデバイスに適用した場合について説明する。
【０１１１】
第５の実施例に係る記憶装置５００は、ライトアクセス履歴記憶部５０１、リードアクセス履歴記憶部５０２及び所定の処理を実現可能な制御プログラム（ファームウェア）を記憶する制御プログラム記憶部を備える。制御プログラム記憶部に記憶された制御プログラムが記憶装置５００に実装されることにより、図１５に示すような相関関係が実現される。図１５に示した各機能は、第２の実施例及び第３の実施例で説明した通りである。
【０１１２】
ここで、ライトアクセス履歴記憶部５０１及びリードアクセス履歴記憶部５０２のディスク装置の割当方法は問わない。具体的には、これらのデータが別々のディスクに配置されても良いし、同一ディスク上に別々に配置されても良いし、同一ディスク上にランダムに配置されても良い。
【０１１３】
（第６の実施例）
本発明の最良の実施の形態の第６の実施例は、図１６に示すように、第２の実施例をファイルシステムに適用した情報処理装置６００である。図１６に示した各機能は、第２の実施例及び第４の実施例で説明した通りである。
【０１１４】
ここで、ライトアクセス履歴記憶部６０１及びリードアクセス履歴記憶部６０２のディスク装置の割当方法は問わない。具体的には、これらのデータが別々のディスクに配置されても良いし、同一ディスク上に別々に配置されても良いし、同一ディスク上にランダムに配置されても良い。
【０１１５】
（第７の実施例）
本発明の最良の実施の形態の第７の実施例は、第１の実施例及び第２の実施例をオブジェクトデバイスに適用した例である。オブジェクトデバイスとは、ブロックブロックデバイスにファイルシステムのようなインタフェイスを持たせたもので、その代表例に、ＯＳＤ(或いはＯＢＳＤ；Object-Based Storage Devices，ＳＮＩＡワーキンググループURL: http://www.snia.org/tech_activities/workgroups/osd/参照)がある。
【０１１６】
第７の実施例に係るオブジェクトデバイスによる実装は、第３の実施例及び第５の実施例に示したブロックデバイスへの実装技術に基づく。ただし、オブジェクトデバイスの場合は、ブロックデバイスと異なり、リードアクセス及びライトアクセスの他に、オープン、削除、コレクション定義又は変更、フォーマットなどのアクセスが存在する。そのため、ライトアクセス履歴のペイロードからリード履歴のペイロードを再生するためには、第４の実施例及び第６の実施例に示したファイルシステムの場合と同様に、これらのアクセス履歴もあわせて採取する必要がある。
【０１１７】
（第８の実施例）
本発明の最良の実施の形態の第８の実施例は、本発明の最良の実施の形態に係るアクセス履歴管理方法をユーザアプリケーション、データベースなどのアプリケーションに実装する。第８の実施例は、第４の実施例及び第６の実施例に示したファイルシステムへの実装技術の適用領域を変更することにより実現される。各種アクセスに対する操作履歴（例えば、リード、ライト、オープン、削除、異動、名前変更など）が、ファイルアクセス単位ではなく、アプリケーションのトランザクション単位で採取される。
【０１１８】
（その他の実施の形態）
上記のように、本発明の最良の実施の形態及び第１乃至第８の実施例によって記載したが、この開示の一部をなす論述及び図面はこの発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施の形態、実施例及び運用技術が明らかとなる。
【０１１９】
例えば、本発明の最良の実施の形態においては、リードアクセスとライトアクセスの各履歴を、異なる記憶部に記憶する場合について説明したが、１つの記憶部に記憶しても良い。
【０１２０】
本発明はここでは記載していない様々な実施の形態等を含むことは勿論である。従って、本発明の技術的範囲は上記の説明から妥当な特許請求の範囲に係る発明特定事項によってのみ定められるものである。
【図面の簡単な説明】
【０１２１】
【図１】本発明の最良の実施の形態に係るアクセス履歴管理方法の処理を説明するフローチャートである。
【図２】本発明の最良の実施の形態に係るアクセス履歴管理方法を説明する図である。
【図３】本発明の最良の実施の形態の第１の実施例に係るアクセス履歴管理装置の機能ブロック図である。
【図４】本発明の最良の実施の形態の第１の実施例に係るライトアクセス履歴記憶装置のデータ構造とデータの一例である。
【図５】本発明の最良の実施の形態の第１の実施例に係るリードアクセス履歴記憶装置のデータ構造とデータの一例である。
【図６】本発明の最良の実施の形態の第１の実施例に係るリードアクセス再構成部を説明する図である。
【図７】本発明の最良の実施の形態の第１の実施例に係るリードアクセス再構成部によるリードアクセス再構成処理を説明するフローチャートである。
【図８】本発明の最良の実施の形態の第２の実施例に係る記憶装置の機能ブロック図である。
【図９】本発明の最良の実施の形態の第２の実施例に係る履歴採取機能つき記憶装置提供部２１０によるアクセス処理を説明するフローチャートである。
【図１０】本発明の最良の実施の形態の第３の実施例に係るアクセス履歴管理装置の機能ブロック図である。
【図１１】本発明の最良の実施の形態の第３の実施例に係るライトアクセス取得処理を説明するフローチャートである。
【図１２】本発明の最良の実施の形態の第３の実施例に係るブロック配置復元処理を説明するフローチャートである。
【図１３】本発明の最良の実施の形態の第３の実施例に係るリードアクセス処理を説明するフローチャートである。
【図１４】本発明の最良の実施の形態の第４の実施例に係る情報処理装置の機能ブロック図である。
【図１５】本発明の最良の実施の形態の第５の実施例に係る記憶装置の機能ブロック図である。
【図１６】本発明の最良の実施の形態の第６の実施例に係る情報処理装置の機能ブロック図である。
【図１７】従来のアクセス履歴管理装置の機能ブロック図である。
【符号の説明】
【０１２２】
１００…アクセス履歴管理装置
１０１、３０１…ライトアクセス履歴記憶装置
１０２、３０２…リードアクセス履歴記憶装置
１１０…履歴採取部
１１１、２１１、３１２、４１２…アクセス振分部
１１２、２１２、３１３、４１３…ライトアクセス履歴追記部
１１３、２１３、３１３、４１３…リードアクセス履歴追記部
１２０、２２０…履歴取り出し部
１２１、２２１…リードアクセス再構成部
１５０、４５１…接続対象装置
１５１、３５１…接続対象記憶装置
１５２、３１１、４１１…アクセス監視部
２００、５００…記憶装置
２０１、５０１、６０１…ライトアクセス履歴記憶部
２０２、５０２、６０２…リードアクセス履歴記憶部
２１０…履歴採取機能付き記憶装置提供部
２１４…最新データ取得部
２２０…履歴取り出し部
３２１、４２１…ライトアクセス取得要求受付部
３２２、３２４、３２７、４２２、４２４、４２７…検索部
３２３…ブロック配置復元要求受付部
３２５…ブロック配置構成部
３２６、４２６…リードアクセス取得要求受付部
３２８、４２８…リードアクセス再構成部
３６０…アクセスアプリケーション
３７０…要求アプリケーション
４００、６００…情報処理装置
４１０…ファイルシステム部
４２１…ライトアクセス取得要求受付部
４２３…ファイル復元要求受付部
４２５…ファイル構成部
４３０…システム制御部
４６０…ユーザアプリケーション
【図１】
2007102267.tif 000003
【図２】
2007102267.tif 000004
【図３】
2007102267.tif 000005
【図４】
2007102267.tif 000006
【図５】
2007102267.tif 000007
【図６】
2007102267.tif 000008
【図７】
2007102267.tif 000009
【図８】
2007102267.tif 000010
【図９】
2007102267.tif 000011
【図１０】
2007102267.tif 000012
【図１１】
2007102267.tif 000013
【図１２】
2007102267.tif 000014
【図１３】
2007102267.tif 000015
【図１４】
2007102267.tif 000016
【図１５】
2007102267.tif 000017
【図１６】
2007102267.tif 000018
【図１７】
2007102267.tif 000019
【手続補正書】
【提出日】平成18年9月26日(2006.9.26)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
接続対象記憶部に対するリードアクセス履歴を取得するアクセス履歴管理方法であって、
前記接続対象記憶部に対するライトアクセスが発生すると、前記ライトアクセスのライト時刻及びライトアドレスを含むライトコマンド及びライトペイロードがライトアクセス履歴記憶部に記憶されるステップと、
前記接続対象記憶部に対するリードアクセスが発生すると、前記リードアクセスのリード時刻及びリードアドレスを含むリードコマンドがリードアクセス履歴記憶部に記憶されるステップ
を備えることを特徴とするアクセス履歴管理方法。
【請求項２】
リードアクセス取得要求が発生すると、前記リードアクセス履歴記憶部から、前記リードアクセス取得要求に含まれた要求時刻に関連づけられたリードコマンドが抽出されるステップと、
前記ライトアクセス履歴記憶部から、前記要求時刻より前で最も直近のライト時刻及び前記抽出されたリードコマンドに含まれる前記リードアドレスに対応づけられたライトペイロードが抽出されるステップと、
前記抽出されたリードコマンドと抽出された前記ライトペイロードから生成されたリードアクセス情報が出力されるステップ
を更に備えることを特徴とする請求項１記載のアクセス履歴管理方法。
【請求項３】
配置復元要求が発生すると、前記ライトアクセス履歴記憶部から、前記配置復元要求に含まれる要求アドレスと、前記配置復元要求に含まれる要求時刻より前で最も直近のライト時刻とに対応づけられたライトペイロードが抽出されるステップと、
前記抽出されたライトペイロードが出力されるステップ
を更に備えることを特徴とする請求項１記載のアクセス履歴管理方法。
【請求項４】
接続対象記憶装置に対するリードアクセス履歴を取得するアクセス履歴管理装置であって、
前記接続対象記憶装置に対するライトアクセスが発生すると、前記ライトアクセスのライト時刻及びライトアドレスを含むライトコマンド及びライトペイロードをライトアクセス履歴記憶装置に記憶するライトアクセス履歴追記部と、
前記接続対象記憶装置に対するリードアクセスが発生すると、前記リードアクセスのリード時刻及びリードアドレスを含むリードコマンドをリードアクセス履歴記憶装置に記憶するリードアクセス履歴追記部
とを備えることを特徴とするアクセス履歴管理装置。
【請求項５】
リードアクセス取得要求が入力されると、前記リードアクセス履歴記憶装置から、前記リードアクセス取得要求に含まれる要求時刻に関連づけられたリードコマンドを抽出するとともに、前記ライトアクセス履歴記憶装置から前記要求時刻より前で最も直近のライト時刻及び抽出されたリードコマンドに含まれる前記リードアドレスに対応づけられたライトペイロードを抽出し、前記抽出されたリードコマンドと抽出された前記ライトペイロードからリードアクセス情報を生成するリードアクセス再構成部
を更に備えることを特徴とする請求項４記載のアクセス履歴管理装置。
【請求項６】
復元要求時刻を含むブロック配置復元要求が入力されると、前記ライトアクセス履歴記憶装置から、前記接続対象記憶装置の各アドレスについて、前記復元要求時刻より前で最も直近の時刻に関連づけられたペイロードを抽出して、前記復元要求時刻のブロック配置を再構成するブロック配置構成部
を更に備えることを特徴とする請求項４に記載のアクセス履歴管理装置。
【請求項７】
接続対象記憶装置に対するリードアクセス履歴を取得するアクセス履歴管理プログラムであって、
前記接続対象記憶装置に対するライトアクセスが発生すると、前記ライトアクセスのライト時刻及びライトアドレスを含むライトコマンド及びライトペイロードをライトアクセス履歴記憶装置に記憶するライトアクセス履歴追記部と、
前記接続対象記憶装置に対するリードアクセスが発生すると、前記リードアクセスのリード時刻及びリードアドレスを含むリードコマンドをリードアクセス履歴記憶装置に記憶するリードアクセス履歴追記部
とをコンピュータに実行させることを特徴とするアクセス履歴管理プログラム。
【請求項８】
リードアクセス取得要求が入力されると、前記リードアクセス履歴記憶装置から、前記リードアクセス取得要求に含まれる要求時刻に関連づけられたリードコマンドを抽出するとともに、前記ライトアクセス履歴記憶装置から要求時刻より前で最も直近のライト時刻及び抽出されたリードコマンドに含まれる前記リードアドレスに対応づけられたライトペイロードを抽出し、前記抽出されたリードコマンドと抽出された前記ライトペイロードからリードアクセス情報を生成するリードアクセス再構成部
を更にコンピュータに実行させることを特徴とする請求項７に記載のアクセス履歴管理プログラム。
【請求項９】
復元要求時刻を含むブロック配置復元要求が入力されると、前記ライトアクセス履歴記憶装置から、前記接続対象記憶装置の各アドレスについて、前記復元要求時刻より前で最も直近の時刻に関連づけられたペイロードを抽出して、前記復元要求時刻のブロック配置を再構成するブロック配置構成部
を更にコンピュータに実行させることを特徴とする請求項７に記載のアクセス履歴管理プログラム。
【請求項１０】
アクセス履歴を取得する記憶装置であって、
前記記憶装置に対するライトアクセスが発生すると、前記ライトアクセスのライト時刻及びライトアドレスを含むライトコマンド及びライトペイロードをライトアクセス履歴記憶部に記憶するライトアクセス履歴追記部と、
前記記憶装置に対するリードアクセスが発生すると、前記リードアクセスのリード時刻及びリードアドレスを含むリードコマンドをリードアクセス履歴記憶部に記憶するリードアクセス履歴追記部
をファームウェアとして実現可能な制御プログラムを記憶する制御プログラム記憶部
を備えることを特徴とする記憶装置。
【請求項１１】
前記制御プログラム記憶部は、
リードアクセス取得要求が入力されると、前記リードアクセス履歴記憶部から、前記リードアクセス取得要求に含まれる要求時刻に関連づけられたリードコマンドを抽出するとともに、前記ライトアクセス履歴記憶部から前記要求時刻より前で最も直近のライト時刻及び抽出されたリードコマンドに含まれる前記リードアドレスに対応づけられたライトペイロードを抽出し、前記抽出されたリードコマンドと抽出された前記ライトペイロードからリードアクセス情報を生成するリードアクセス再構成部
を更に実行可能な制御プログラムを記憶することを特徴とする請求項１０に記載の記憶装置。
【請求項１２】
前記制御プログラム記憶部は、
前記ライトアクセス履歴記憶部から最新のライト時刻に関連づけられたペイロードを、リードアクセス応答として出力する最新データ取得部
を更に実現可能な制御プログラムを記憶することを特徴とする請求項１１記載の記憶装置。
【請求項１３】
ログ構造記録方式で、記録されることを特徴とする請求項１０乃至請求項１２のいずれか１項記載の記憶装置。
【請求項１４】
前記制御プログラム記憶部は、
復元要求時刻を含むブロック配置復元要求が入力されると、前記ライトアクセス履歴記憶装置から、前記接続対象記憶装置の各アドレスについて、前記復元要求時刻より前で最も直近の時刻に関連づけられたペイロードを抽出して、前記復元要求時刻のブロック配置を再構成するブロック配置構成部
を更に実行可能な制御プログラムを記憶することを特徴とする請求項１０乃至請求項１３のいずれか１項記載の記憶装置。
【請求項１５】
接続対象記憶装置のファイル情報を管理し、リードアクセス履歴を取得するファイルシステム部を備える情報処理装置であって、
接続対象記憶装置と、
前記接続対象記憶装置に対する更新アクセスが発生すると、前記更新アクセスの更新時刻及び更新アドレスを含む更新コマンド及び更新ペイロードをライトアクセス履歴記憶装置に記憶するライトアクセス履歴追記部と、
前記接続対象記憶装置に対するリードアクセスが発生すると、前記リードアクセスのリード時刻及びリードアドレスを含むリードコマンドをリードアクセス履歴記憶装置に記憶するリードアクセス履歴追記部と、
リードアクセス取得要求が入力されると、前記リードアクセス履歴記憶装置から前記要求時刻に関連づけられたリードコマンドを抽出するとともに、前記ライトアクセス履歴記憶装置から要求時刻より前で最も直近の更新時刻及び抽出されたリードコマンドに含まれる前記リードアドレスに対応づけられた更新ペイロードを抽出し、前記抽出されたリードコマンドと抽出された前記更新ペイロードからリードアクセス情報を生成するリードアクセス再構成部
とを備えるファイルシステム部
とを有することを特徴とする情報処理装置。
【請求項１６】
前記ファイルシステム部は、
復元要求時刻を含むブロック配置復元要求が入力されると、前記ライトアクセス履歴記憶部から、前記復元要求時刻をキーとしてペイロードを検索するブロック配置構成部
を更に備えることを特徴とする請求項１５記載の情報処理装置。
【請求項１７】
接続対象記憶装置のファイル情報を管理し、リードアクセス履歴を取得するファイルシステム部を備える情報処理装置であって、
前記接続対象記憶装置に対する更新アクセスが発生すると、前記更新アクセスの更新時刻及び更新アドレスを含む更新コマンド及び更新ペイロードをライトアクセス履歴記憶装置に記憶するライトアクセス履歴追記部と、
前記接続対象記憶装置に対するリードアクセスが発生すると、前記リードアクセスのリード時刻及びリードアドレスを含むリードコマンドをリードアクセス履歴記憶装置に記憶するリードアクセス履歴追記部と、
リードアクセス取得要求が入力されると、前記リードアクセス履歴記憶装置から前記要求時刻に関連づけられたリードコマンドを抽出するとともに、前記ライトアクセス履歴記憶装置から要求時刻より前で最も直近の更新時刻及び抽出されたリードコマンドに含まれる前記リードアドレスに対応づけられた更新ペイロードを抽出し、前記抽出されたリードコマンドと抽出された前記更新ペイロードからリードアクセス情報を生成するリードアクセス再構成部
とを備えるファイルシステム部
とを有することを特徴とする情報処理装置。
【請求項１８】
前記ファイルシステム部は、
復元要求時刻を含むブロック配置復元要求が入力されると、前記ライトアクセス履歴記憶部から、前記復元要求時刻をキーとしてペイロードを検索するブロック配置構成部
を更に備えることを特徴とする請求項１７記載の情報処理装置。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００１
【補正方法】変更
【補正の内容】
【０００１】
本発明は、接続対象記憶部に対するリードアクセス履歴を取得するアクセス履歴管理方法、アクセス履歴管理装置、アクセス履歴管理プログラム、記憶装置及び情報処理装置に関する。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００１０
【補正方法】変更
【補正の内容】
【００１０】
従って本発明の目的は、リードアクセス履歴を少ない記憶容量で記憶するとともに、リードアクセスの履歴を得るアクセス履歴管理方法、アクセス履歴管理装置、アクセス履歴管理プログラム、記憶装置及び情報処理装置を提供することである。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００３２
【補正方法】変更
【補正の内容】
【００３２】
本発明によれば、リードアクセス履歴を少ない記憶容量で記憶するとともに、リードアクセスの履歴を得るアクセス履歴管理方法、アクセス履歴管理装置、アクセス履歴管理プログラム、記憶装置及び情報処理装置を提供することができる。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００３４
【補正方法】変更
【補正の内容】
【００３４】
（最良の実施の形態）
本発明の最良の実施の形態に係るアクセス履歴管理方法は、接続対象記憶部に対するリードアクセス履歴を取得する。接続対象記憶部は、本発明の最良の実施の形態に係るアクセス履歴管理方法によってリードアクセス及びライトアクセスなどのアクセス履歴を取得する対象となるデータを記憶する。接続対象記憶部は、例えば半導体記憶装置や磁気ディスク装置などで、デジタル化されたデータを電気的に保持する。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００４０
【補正方法】変更
【補正の内容】
【００４０】
発生したイベントが接続対象記憶部の所定時刻及び所定アドレスにおける配置復元要求である場合、ステップＳ７において、ライトアクセス履歴記憶部から、配置復元要求に含まれる要求アドレスと、配置復元要求に含まれる要求時刻より前で最も直近のライト時刻とに対応づけられたライトペイロードが抽出される。
発生したイベントが所定時刻に発生したリードアクセス取得要求である場合、ステップＳ８において、ライトアクセス履歴記憶部及びリードアクセス履歴記憶部から、ペイロードが抽出される。具体的には、リードアクセス履歴記憶部から、リードアクセス取得要求に含まれた要求時刻に関連づけられたリードコマンドが抽出される。次に、ライトアクセス履歴記憶部から、要求時刻より前で最も直近のライト時刻及び抽出されたリードコマンドに含まれるリードアドレスに対応づけられたライトペイロードが抽出される。更に、抽出されたリードコマンドと抽出されたライトペイロードから生成されたリードアクセス情報が出力される。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００４２
【補正方法】変更
【補正の内容】
【００４２】
具体的には、時刻ｔ１にアドレス１に対して、データａ１をライトしている。時刻ｔ２にアドレス２に対して、データｂ１をライトしている。時刻ｔ３にアドレス３に対して、データｃ１をライトしている。時刻ｔ４にアドレス４に対して、データｄ１をライトしている。時刻ｔ５にアドレス１をリードしている。時刻ｔ６にアドレス３をリードしている。時刻ｔ７にアドレス１に対して、データａ２をライトしている。時刻ｔ８にアドレス４をリードしている。時刻ｔ９にアドレス１をリードしている。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００５８
【補正方法】変更
【補正の内容】
【００５８】
リードアクセス履歴記憶装置１０２には、接続対象記憶装置１５１に発生したリードアクセスの履歴が記憶されている。リードアクセス履歴記憶装置１０２は、例えば、図５に示すように、リードアクセスのコマンドとして、コマンド種別、リード時刻、リードアドレスの項目を備える。図５に示したデータは、図２に示した様に接続対象記憶装置１５１に対するアクセスの履歴を示している。リードアクセス履歴記憶装置１０２の第１レコードには、時刻ｔ５にアドレス１に対してリードアクセスが発生したことが記憶されている。
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】００６３
【補正方法】変更
【補正の内容】
【００６３】
リードアクセス履歴追記部１１３は、接続対象記憶装置１５１に対するリードアクセスが発生すると、リードアクセスのリード時刻及びリードアドレスを含むリードコマンドを、リードアクセス履歴記憶装置１０２に記憶する。このとき、リードアクセス履歴追記部１１３は、リードコマンドに含まれる全ての項目を、リードアクセス履歴記憶装置１０２に記憶しても良いが、リードコマンドに対する応答に含まれるペイロード、具体的には、リードコマンドにより読み出された接続対象記憶装置１５１のデータは、リードアクセス履歴記憶装置１０２に記憶されない。
【手続補正１１】
【補正対象書類名】明細書
【補正対象項目名】００６７
【補正方法】変更
【補正の内容】
【００６７】
リードアクセス再構成部１２１によるリードアクセス再構成処理を、図７を参照して説明する。
【手続補正１２】
【補正対象書類名】明細書
【補正対象項目名】００８２
【補正方法】変更
【補正の内容】
【００８２】
リードアクセス履歴追記部２１３は、記憶装置２００に対するリードアクセスが発生すると、リードアクセスのリード時刻及びリードアドレスを含むリードコマンドをリードアクセス履歴記憶部２１３に記憶する。
最新データ取得部２１４は、ライトアクセス履歴記憶部２０１から、各アドレスに対する最新のライト時刻に関連づけられたペイロードを、リードアクセス応答として出力する。更に、最新データ取得部２１４によってライトアクセス履歴記憶部２０１から最新データが取得されると、リードアクセス履歴追記部２１３によって、最新データが取得されたことが、リードアクセス履歴記憶部２０２に記憶される。
【手続補正１３】
【補正対象書類名】明細書
【補正対象項目名】００９８
【補正方法】変更
【補正の内容】
【００９８】
ブロック配置復元要求受付部３２３は、要求時刻のブロック配置を復元するブロック配置復元要求が、要求アプリケーション３７０から入力されると、第２の検索部３２４に、入力されたブロック配置復元要求に従って、ブロック配置を取得させる。このとき、第２の検索部３２４は、ブロック配置構成部３２５に、ライトアクセス履歴記憶装置３０１に記憶された情報に従って、ブロックの配置を構成させる。例えば、復元要求時刻のブロック配置を復元する場合、復元要求時刻を含むブロック配置復元要求が入力されると、ライトアクセス履歴記憶装置３０１から、接続対象記憶装置３５１の各アドレスについて、復元要求時刻より前で最も直近の時刻に関連づけられたペイロードを抽出して、復元要求時刻のブロック配置を再構成する。
図１３を参照して、ブロック配置復元要求受付部３２３、第２の検索部３２４及びブロック配置構成部３２５によるブロック配置復元処理を説明する。図１３では、時刻ｔｘのブロック空間の再現、及び時刻ｔｘ以前又は以降にブロックデータｂｌｋを含んでいたブロック空間の再現について説明する。  
まず、ステップＳ３２１において、ブロック配置復元要求受付部３２３より、ブロック配置復元要求が入力されると、ステップＳ３２２において、入力されたブロック配置復元要求の種別に応じて処理が振り分けられる。  
時刻ｔｘのブロック空間を再現する場合、ステップＳ３２３において、時刻ｔｘをキーとしてライトアクセス履歴記憶装置３０１が検索され、コマンド部に時刻ｔｘが含まれているライトアクセス履歴のインデックスが抽出される。次に、ステップＳ３２４において、それ以前の時刻に関連づけられたライトアクセス履歴を遡ることにより、時刻ｔｘ時点でのブロックデバイス内のブロック配置状態が復元される。ステップＳ３２５において、ステップＳ３２４で復元されたブロック配置状態が、要求アプリケーション３７０に応答される。  
一方、時刻ｔｘ以前又は以降にブロックデータｂｌｋを含んでいたブロック空間を再現する場合、ステップＳ３２６において、第１キーとして時刻ｔｘ以前又は以降、第２キーとしてブロックデータｂｌｋを条件として、ライトアクセス履歴記憶装置３０１が検索され、コマンド部の時刻が時刻ｔｘ以前或いは以後、かつペイロードがブロックデータｂｌｋであるライトアクセス履歴のインデックスが抽出される。次に、ステップＳ３２４において、ブロックデータｂｌｋを含んでいた接続対象記憶装置３５１内のブロック配置状態が復元される。ステップＳ３２８において、ステップＳ３２７で復元されたブロック配置状態が、要求アプリケーション３７０に応答される。  
図１３に示す例の他に、時刻ｔｘ以前又は以降にブロックデータｂｌｋをライトする前又はライトした後のブロック空間の再現、時刻ｔｘ以前又は以降にブロックアドレスａｄｄｒにライトする前或いはした後のブロック空間の再現、時刻ｔｘ以前又は以降にブロックデータｂｌｋをリードしたときのブロック空間の再現、時刻ｔｘ以前又は以降にブロックアドレスａｄｄｒをリードしたときのブロック空間の再現なども実現することができる。
【手続補正１４】
【補正対象書類名】明細書
【補正対象項目名】０１０３
【補正方法】変更
【補正の内容】
【０１０３】
（第４の実施例）
本発明の最良の実施の形態の第４の実施例においては、本発明の最良の実施の形態に係るアクセス履歴管理方法を、図１４を参照して、一般的なコンピュータ装置のファイルシステムに適用した情報処理装置４００について説明する。
【手続補正１５】
【補正対象書類名】明細書
【補正対象項目名】０１１５
【補正方法】変更
【補正の内容】
【０１１５】
（第７の実施例）
本発明の最良の実施の形態の第７の実施例は、第１の実施例及び第２の実施例をオブジェクトデバイスに適用した例である。オブジェクトデバイスとは、ブロックデバイスにファイルシステムのようなインタフェイスを持たせたもので、その代表例に、ＯＳＤ(或いはＯＢＳＤ；Object-Based Storage Devices，ＳＮＩＡワーキンググループURL: http://www.snia.org/tech_activities/workgroups/osd/参照)がある。
【手続補正１６】
【補正対象書類名】明細書
【補正対象項目名】０１１７
【補正方法】変更
【補正の内容】
【０１１７】
（第８の実施例）
本発明の最良の実施の形態の第８の実施例は、本発明の最良の実施の形態に係るアクセス履歴管理方法をユーザアプリケーション、データベースなどのアプリケーションに実装する。第８の実施例は、第４の実施例及び第６の実施例に示したファイルシステムへの実装技術の適用領域を変更することにより実現される。各種アクセスに対する操作履歴（例えば、リード、ライト、オープン、削除、移動、名前変更など）が、ファイルアクセス単位ではなく、アプリケーションのトランザクション単位で採取される。
【手続補正１７】
【補正対象書類名】図面
【補正対象項目名】図１２
【補正方法】変更
【補正の内容】
【図１２】
2007102267.tif 000020
【手続補正１８】
【補正対象書類名】図面
【補正対象項目名】図１４
【補正方法】変更
【補正の内容】
【図１４】
2007102267.tif 000021
【手続補正１９】
【補正対象書類名】図面
【補正対象項目名】図１６
【補正方法】変更
【補正の内容】
【図１６】
2007102267.tif 000022