(57)【要約】【課題】計算コストと記録容量とのバランスを取るファイル管理の技術を提案することを目的とする。【解決手段】ファイル管理装置が実行するファイル管理方法であって、ファイル種別判定情報で結合ファイルが指定されていた場合、結合ファイルを読み込む読込工程と、ファイル種別判定情報で差分ファイルが指定されていた場合、差分ファイルとオリジナルファイルとの結合を行う結合工程と、含むことによって課題を解決する。【選択図】図３
2011013975.tif 000002
【特許請求の範囲】
【請求項１】
ファイル管理装置が実行するファイル管理方法であって、
ファイル種別判定情報で結合ファイルが指定されていた場合、結合ファイルを読み込む読込工程と、
ファイル種別判定情報で差分ファイルが指定されていた場合、差分ファイルとオリジナルファイルとの結合を行う結合工程と、
含む、ファイル管理方法。
【請求項２】
前記読込工程では、ｉノード構造体に含まれている前記ファイル種別判定情報で結合ファイルが指定されていた場合、結合ファイルを読み込み、
前記結合工程では、ｉノード構造体に含まれているｉノード構造体に含まれているファイル種別判定情報で差分ファイルが指定されていた場合、差分ファイルとオリジナルファイルとの結合を行う、請求項１記載のファイル管理方法。
【請求項３】
ファイル種別判定情報で結合ファイルが指定されていた場合、結合ファイルを読み込む読込手段と、
ファイル種別判定情報で差分ファイルが指定されていた場合、差分ファイルとオリジナルファイルとの結合を行う結合手段と、
有する、ファイル管理装置。
【請求項４】
コンピュータを、
ファイル種別判定情報で結合ファイルが指定されていた場合、結合ファイルを読み込む読込手段と、
ファイル種別判定情報で差分ファイルが指定されていた場合、差分ファイルとオリジナルファイルとの結合を行う結合手段と、
して機能させる、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ファイル管理方法、ファイル管理装置及びプログラムに関する。
【背景技術】
【０００２】
従来、ＣＤ−ＲやＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）等、読み出し専用メディアにカーネルとファイルシステムを用意したシステムがあった。例えばＣＤ−Ｒにシステムを用意した例では、ＣＤ−ＲからＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）をブート可能にし、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）へのインストール不要にしたＫＮＯＰＰＩＸが挙げられる。またＲＯＭからカーネルやファイルシステムを読み込み、起動するのは、組み込み機器では一般的である。
上記の様なシステムでは、ユーザが、ＦｌａｓｈＲＯＭやＵＳＢメモリ等の読み書き可能メディアを用意するのが一般的である。ユーザは、ユーザや環境の設定情報や、アップデートに要するデータ等を読み書き可能メディアに保存する。ユーザは、記録容量を削減するため、オリジナルファイル（ＣＤ−ＲやＲＯＭ内に最初から存在していたファイル）との差である、差分ファイルを記録していた。システムは、オリジナルファイルと差分ファイルとを結合することにより、結合ファイル（アップデート後のファイル）を作成し、これを用いる。差分としてデータを保存する従来技術として、Ｄｅｖｉｃｅ−ｍａｐｐｅｒや、ＯＢＤ（非特許文献１）等が挙げられる。
また、ファイルを仮想的に重ね、擬似的に書き込み不可のルートファイルシステム上のデータを書き込み可能に見せるＵｎｉｏｎＦＳ等のファイルシステムがあった。一般にスタッカブルファイルシステム（Ｓｔａｃｋａｂｌｅ  Ｆｉｌｅｓｙｓｔｅｍｓ）と呼ばれている。スタッカブルファイルシステムでは、結合ファイルを読み書き可能なメディアに保存し、設定によりオリジナルファイルの代わりに結合ファイルをユーザに見せるようにしている。これによって擬似的にオリジナルファイルが置き換わったように見せている。
アップデートに要するデータ等を差分ファイルで処理、管理することは、記録容量削減の観点から有用であり、組み込み機器ではよく行われる（例えば、特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−０８００３４号公報
【非特許文献】
【０００４】
【非特許文献１】丹，須崎，飯島，八木，"ＣｏｐｙＯｎＷｒｉｔｅ  を用いたオーバーレイブロックデバイスの実装"，ＬｉｎｕｘＣｏｎｆｅｒｅｎｃｅ２００５，ｈｔｔｐ：／／ｌｃ．ｌｉｎｕｘ．ｏｒ．ｊｐ／ｐａｐｅｒ／ｌｃ２００５／ＣＰ−０５．ｐｄｆ
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、差分ファイルが多くなると、差分ファイルとオリジナルファイルとの結合処理を機器起動時に毎回行うのは計算コストが大きくなるという問題があった。差分ファイルは圧縮や暗号化が為されている場合があり、その際には展開や復号化に要する計算コストを要し、結合処理でさらに計算コストを要することもあった。計算コストの問題は、特にＣＰＵが非力な組み込み機器において問題となる。
また、機器のリソース制限が厳しい場合、記録容量を削減する必要があった。差分ファイルを使用することを止め、全て結合ファイルとして保存すると、計算コストの問題は緩和されるが記録容量の点で問題となる。
【０００６】
本発明はこのような問題点に鑑みなされたもので、計算コストと記録容量とのバランスを取るファイル管理の技術を提案することを目的とする。
【課題を解決するための手段】
【０００７】
そこで、本発明は、ファイル管理装置が実行するファイル管理方法であって、ファイル種別判定情報で結合ファイルが指定されていた場合、結合ファイルを読み込む読込工程と、ファイル種別判定情報で差分ファイルが指定されていた場合、差分ファイルとオリジナルファイルとの結合を行う結合工程と、含む。
【発明の効果】
【０００８】
本発明によれば、計算コストと記録容量とのバランスを取るファイル管理の技術を提案することができる。
【図面の簡単な説明】
【０００９】
【図１】ファイル管理装置のハードウェア構成の一例を示す図である。
【図２】本実施形態の処理の概要を説明するための図である。
【図３】ファイル管理処理の一例を示すフローチャートである。
【図４】ファイル種別判定情報の一例を示す図である。
【発明を実施するための形態】
【００１０】
以下、本発明の実施形態について図面に基づいて説明する。
【００１１】
＜実施形態１＞
図１は、ファイル管理装置のハードウェア構成の一例を示す図である。
図１において、ＣＰＵ１０１はファイル管理装置１００全体を制御するＣｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ（ＣＰＵ）である。ＲＡＭ１０２は、外部装置等から供給されるプログラムやデータを一時記録するＲａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ（ＲＡＭ）である。ＲＯＭ１０３は、プログラムやパラメータを格納するＲｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ（ＲＯＭ）である。本実施形態では、ＣＤ−Ｒ等の読み込みメディアもＲＯＭ１０３の一種とする。バス１０４は、各ユニットを通信可能に接続するシステムバスである。入力インターフェース１０５は、ユーザの操作を受け、データを入力するポインティングデバイス、キーボード、リモコン等の入力デバイスとのインターフェースである。出力インターフェース１０６は、ファイル管理装置１００の保持するデータや供給されたデータを表示するためのモニタ、ＴＶ等とのインターフェースである。記録装置１０７は、ファイル管理装置１００に固定して設置されたハードディスクやメモリカード等の、読み書き可能な不揮発性の記録メディアである。
【００１２】
図２は、本実施形態の処理の概要を説明するための図である。図２では、ファイル管理装置１００内でファイルを記録、保存しているＲＡＭ１０２、ＲＯＭ１０３、記録装置１０７と、ファイルが保存されている状況を示している。
ＲＯＭ１０３には、システムを構成する、ファイル管理装置１００が出荷された際から記録されているファイルが記録されている。例として、オリジナルファイルＡ２１１、オリジナルファイルＢ２１２、オリジナルファイルＣ２１３が記録されているとする。
記録装置１０７は、ファイル管理装置１００が出荷後に更新されたファイルが記録されている。例として、結合ファイルＡ２０１、差分ファイルＢ２０２が記録されている。結合ファイルＡ２０１は、オリジナルファイルＡ２１１に対応し、オリジナルファイルＡ２１１の置き換え対象となるファイルである。差分ファイルＢ２０２は、オリジナルファイルＢ２１２に対応し、オリジナルファイルＢ２１２と結合処理が行われる。これにより、オリジナルファイルＢ２１２を置き換えるファイル（後述の結合ファイルＢ２２２）が生成される。
ファイル管理装置１００が起動後、ファイル管理装置１００のＣＰＵ１０１は、ファイル種別判定情報を参照する。オリジナルファイルＡ２１１に対するファイル種別判定情報を有効であるとして参照したとすると、記録装置１０７内に結合ファイルＡ２０１が存在する。それを使用するようファイル種別判定情報に記録されていたとする。ＣＰＵ１０１は、ＲＡＭ１０２に結合ファイルＡ２０１を読み出し、オリジナルファイルＡ２１１の代わりに使用する。オリジナルファイルＢ２１２についてファイル種別判定情報を参照したとすると、記録装置１０７内に差分ファイルＢ２０２が存在し、それを使用するように記録されていたとする。この場合、ＣＰＵ１０１は、オリジナルファイルＢ２１２と差分ファイルＢ２０２とを読み出し、結合処理をし、結合ファイルＢ２２２を生成し、それをＲＡＭ１０２に保存する。オリジナルファイルＣ２１３についてファイル種別判定情報を参照したとすると、記録装置１０７に該当情報が存在しない。このため、ＣＰＵ１０１は、ＲＡＭ１０２に、ＲＯＭ１０３からオリジナルファイルＣ２１３を読み出し、使用する。以上のようにして、本実施形態では、オリジナルファイル、差分ファイル、結合ファイルを使い分けることを可能とする。
【００１３】
以下、図２で示した概要を実現するための、詳細な説明を行う。
図３は、ファイル管理処理の一例を示すフローチャートである。
Ｓ１０１で処理をスタート後、ＣＰＵ１０１は、ＲＯＭ１０３から読み出したプログラムに基づき処理を実行する。
Ｓ１０２において、ＣＰＵ１０１は、記録装置１０７内のファイル種別判定情報を参照する。ファイル種別判定情報は、対象ファイルが結合処理された結合ファイルか、オリジナルファイルと結合（マージ）処理をして結合ファイルとするための差分ファイルかを示せればよい。図４は、ファイル種別判定情報の一例を示す図である。図４を、例えば、Ｕｎｉｘ（登録商標）互換ファイルシステムで一般的なｉノード構造体のｉ＿ｍｏｄｅ（ファイルの種類とアクセス権とを管理する）メンバに適用する。このようにすることで、ファイル１つ１つに対し、結合ファイルや差分ファイルを使用するか否かを指定することができる。図４に示したのは一例であり、結合ファイル、差分ファイルを使用するか否か指定可能ならば形式は特に問わない。また、ファイル種別判定情報をｉノード構造体に含めたが、対象ファイル毎にファイル種別判定情報を紐付け可能であれば、ファイル種別判定情報を含める箇所は特に問わない。
Ｓ１０３において、ＣＰＵ１０１は、Ｓ１０２で参照したファイル種別判定情報より、ファイルに対し結合ファイルを使用するか否かを判定する。本実施形態では、図４に示した値でＡＮＤをとり、該当ビットが１であった場合、結合ファイルを用いるものとする。図２の例で言えば、ファイルＡに対して結合ファイルを使用するよう指定されていたこととなる。結合ファイルを使用するように設定されていた場合、ＹＥＳとなり、処理は、Ｓ１０４に遷移する。使用するよう設定されていない場合、ＮＯとなり、処理は、Ｓ１０５に遷移する。
【００１４】
Ｓ１０４において、ＣＰＵ１０１は、結合ファイルを使用するよう設定されていたので、記録装置１０７内にある結合ファイルをＲＡＭ１０２に読み込む（読込）。図２の例では、記録装置１０７内に記録されている結合ファイルＡ２０１をＲＡＭ１０２に読み込みこととなる。読み込んだあと、処理は、Ｓ１０９に遷移して終了する。結合ファイルを読み込むよう指定されていたが該当結合ファイルが存在しない場合、ＣＰＵ１０１は、オリジナルファイルを読み込み結合ファイルの代わりとしてもよい。また、差分ファイルが存在しないか探索し差分ファイルが存在した場合、ＣＰＵ１０１は、オリジナルファイルと結合処理を行い、結合ファイルを生成してもよい。
Ｓ１０５において、ＣＰＵ１０１は、Ｓ１０２で参照したファイル種別判定情報より、ファイルに対し差分ファイルを使用するか否か判定する。本実施形態では、図４に示した値でＡＮＤをとり、該当ビットが１であった場合差分ファイルを用いるものとする。図２の例で言えば、ファイルＢに対して差分ファイルを使用するよう指定されていたこととなる。差分ファイルを使用するように設定されていた場合、ＹＥＳとなり、処理は、Ｓ１０６に遷移する。使用するよう設定されていない場合、ＮＯとなり、処理は、Ｓ１０８に遷移する。
【００１５】
Ｓ１０６において、ＣＰＵ１０１は、差分ファイルを使用するよう設定されていたので、記録装置１０７内にある差分ファイルとＲＯＭ１０３内にあるオリジナルファイルとをＲＡＭ１０２に読み込む。図２の例では、記録装置１０７内に記録されている差分ファイルＢ２０２と、ＲＯＭ１０３内記録されているオリジナルファイルＢ２１２と、をＲＡＭ１０２に読み込みこととなる。差分ファイルを読み込むよう指定されていたが該当差分ファイルが存在しない場合、ＣＰＵ１０１は、オリジナルファイルを読み込み、結合ファイルの代わりとして用いてもよい。
Ｓ１０７において、ＣＰＵ１０１は、Ｓ１０６で読み込んだ差分ファイルとオリジナルファイルとを結合処理し、結合ファイルを生成する。生成後、ＣＰＵ１０１は、処理をＳ１０９に遷移して終了する。
Ｓ１０８において、ＣＰＵ１０１は、Ｓ１０３及びＳ１０５で結合ファイル若しくは差分ファイルを用いるよう指定されていなかったので、オリジナルファイルをＲＯＭ１０３からＲＡＭ１０２に読み込み、使用する。図２の例では、ＲＯＭ１０３内のオリジナルファイルＣ２１３をＲＡＭ１０２に読み込むことに相当する。読み込み後、ＣＰＵ１０１は、処理をＳ１０９に遷移して終了する。
【００１６】
以上のようにして、ブロックデバイスレベルではなく、ファイルシステムレベルでオリジナルファイル、差分ファイル、結合ファイルを使い分けることが可能となる。
また、ＣＰＵ１０１は、Ｓ１０７で生成した結合ファイルを記録装置１０７に保存し、次回使用時に用いるようにしてもよい。この場合、ファイル種別判定情報を図４の例を用いるとＳ＿ＤＩＦＦからＳ＿ＭＥＲＧＥＤに書き換えねばならない。また、ＣＰＵ１０１は、差分ファイルを削除してもよい。結合処理を行う必要がなくなるため、計算コストの削減となるが、記録容量は増加することとなる。
また、結合ファイル、差分ファイル、オリジナルファイルに圧縮処理や暗号処理が行われていてもよい。この場合、ＲＯＭ１０３若しくは記録装置１０７から読み込む際、展開処理や復号処理が必要となる。また、展開若しくは復号後のファイルを記録装置１０７に保存してもよい。この場合、展開若しくは復号に要する計算コストを次回から削減可能だが、記録容量は通常増加する。
【００１７】
＜その他の実施形態＞
また、上述した各実施形態は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【００１８】
以上、上述した各実施形態によれば、計算コストと記録容量とのバランスを取るファイル管理の技術を提案することができる。
【００１９】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【００２０】
１００  ファイル管理装置
【図１】
2011013975.tif 000003
【図２】
2011013975.tif 000004
【図３】
2011013975.tif 000005
【図４】
2011013975.tif 000006