(57)【要約】  処理手段１０１は処理領域に記憶されたデータに処理を施す。処理領域は、処理手段１０１が処理に用いる記憶領域上の領域である。管理手段１０２は、記憶装置１０にファイルとして記憶されるファイルデータを管理する。管理手段１０２は、記憶装置１０の記憶領域においてファイルデータが記憶されているアドレスとそのファイルデータのファイル名とを対応付けて記憶させる。管理手段１０２は、処理手段１０１がファイルデータに処理を施す場合に、処理領域を表すアドレスとして、そのファイルデータのファイル名に対応付けて記憶しているアドレスを割り当てる。
2015033767.tif 000002
【特許請求の範囲】
【請求項１】
記憶装置にファイルとして記憶されるデータを管理する管理手段であって、当該データのファイル名と前記記憶装置の記憶領域における当該データのアドレスとを対応付けて記憶させ、データに処理を施す処理手段がファイルとして記憶されているデータに当該処理を施す場合に、前記記憶領域のうち当該処理手段が当該処理に用いる処理領域を表すアドレスとして当該データのファイル名に対応付けて記憶されているアドレスを割り当てる管理手段
を備えるファイル管理装置。
【請求項２】
前記管理手段は、前記処理手段により前記処理領域において処理を施されたデータがファイルとして記憶される場合に、当該処理領域内の当該データのアドレスをファイル名に対応付けて記憶させる
請求項１に記載のファイル管理装置。
【請求項３】
記憶装置にファイルとして記憶されるデータを管理する管理手段であって、データに処理を施す処理手段が当該処理に用いる前記記憶装置の記憶領域上の処理領域に記憶されて当該処理を施されたデータがファイルとして記憶される場合に、当該処理領域内の当該データのアドレスをファイル名に対応付けて記憶させる管理手段
を備えるファイル管理装置。
【請求項４】
前記管理手段は、前記処理手段が処理を施す処理データの変更が許可されていない場合には、当該処理データの複製である複製データを生成し、前記処理領域を表すアドレスとして当該複製データ及び当該処理データのいずれかのアドレスを割り当てる
請求項１から３までのいずれか１項に記載のファイル管理装置。
【請求項５】
前記記憶装置は、不揮発性の記憶媒体を有する
請求項１から４までのいずれか１項に記載のファイル管理装置。
【請求項６】
前記管理手段及び前記処理手段は、プロセッサにより実現される機能であり、
当該プロセッサは、他のプロセッサを介さずに前記記憶装置に記憶されているデータにアクセスする
請求項１から５までのいずれか１項に記載のファイル管理装置。
【請求項７】
コンピュータを、
記憶装置にファイルとして記憶されるデータを管理する管理手段であって、当該データのファイル名と前記記憶装置の記憶領域における当該データのアドレスとを対応付けて記憶させ、データに処理を施す処理手段がファイルとして記憶されているデータに当該処理を施す場合に、前記記憶領域のうち当該処理手段が当該処理に用いる処理領域を表すアドレスとして当該データのファイル名に対応付けて記憶されているアドレスを割り当てる管理手段
として機能させるためのプログラム。
【請求項８】
コンピュータを、
記憶装置にファイルとして記憶されるデータを管理する管理手段であって、データに処理を施す処理手段が当該処理に用いる前記記憶装置の記憶領域上の処理領域に記憶されて当該処理を施されたデータがファイルとして記憶される場合に、当該処理領域内の当該データのアドレスをファイル名に対応付けて記憶させる管理手段
として機能させるためのプログラム。
【請求項９】
記憶装置にファイルとして記憶されるデータを管理する管理ステップであって、当該データのファイル名と前記記憶装置の記憶領域における当該データのアドレスとを対応付けて記憶させ、データに処理を施す処理手段がファイルとして記憶されているデータに当該処理を施す場合に、前記記憶領域のうち当該処理手段が当該処理に用いる処理領域を表すアドレスとして当該データのファイル名に対応付けて記憶されているアドレスを割り当てる管理ステップ
を備えるファイル管理方法。
【請求項１０】
記憶装置にファイルとして記憶されるデータを管理する管理ステップであって、データに処理を施す処理手段が当該処理に用いる前記記憶装置の記憶領域上の処理領域に記憶されて当該処理を施されたデータがファイルとして記憶される場合に、当該処理領域内の当該データのアドレスをファイル名に対応付けて記憶させる管理ステップ
を備えるファイル管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ファイルを管理するための技術に関する。
【背景技術】
【０００２】
ファイルを管理するための技術がある。例えば、コンピュータ上で実行されているプロセスによりデータが利用される場合には、補助記憶装置にファイルとして記憶されているデータが主記憶装置に読み込まれる。また、そうして主記憶装置に読み込まれて処理が施されたデータは、プロセスの終了時などの定められたタイミングで補助記憶装置にファイルとして書き出される。このような技術は、例えば非特許文献１に記載されている。
【先行技術文献】
【特許文献】
【０００３】
【非特許文献１】yamanjo、“基礎からわかる！パソコン入門・再入門”、［online］、［平成２５年８月２８日検索］、インターネット、<URL: http://yamanjo.net/knowledge/structure/structure_03.html>
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記のようにデータの読み込み及び書き出しが行われると、例えばプロセスによりデータが利用されている間は、補助記憶装置に記憶されたデータ及び主記憶装置に読み込まれたデータという同じデータが２つ同時に存在することになる。このことは、これらのデータ、言い換えると、ファイルとして記憶されているデータと処理を施すための処理用の領域（例えばプロセスのために確保される主記憶装置上の記憶領域）に記憶されるデータが記憶される記憶装置全体における記憶領域の空き容量を小さくする要因となる。【０００５】
本発明は、上述の背景に鑑みてなされたものであり、ファイルとして記憶されるデータと処理を施すために処理用の領域に記憶されるデータとを記憶する記憶装置における記憶領域の空き容量を大きくすることを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決するために、本発明は、一態様として、記憶装置にファイルとして記憶されるデータを管理する管理手段であって、当該データのファイル名と前記記憶装置の記憶領域における当該データのアドレスとを対応付けて記憶させ、データに処理を施す処理手段がファイルとして記憶されているデータに当該処理を施す場合に、前記記憶領域のうち当該処理手段が当該処理に用いる処理領域を表すアドレスとして当該データのファイル名に対応付けて記憶されているアドレスを割り当てる管理手段を備えるファイル管理装置を提供する。【０００７】
また、前記管理手段は、前記処理手段により前記処理領域において処理を施されたデータがファイルとして記憶される場合に、当該処理領域内の当該データのアドレスをファイル名に対応付けて記憶させてもよい。【０００８】
また、本発明は、他の一態様として、記憶装置にファイルとして記憶されるデータを管理する管理手段であって、データに処理を施す処理手段が当該処理に用いる前記記憶装置の記憶領域上の処理領域に記憶されて当該処理を施されたデータがファイルとして記憶される場合に、当該処理領域内の当該データのアドレスをファイル名に対応付けて記憶させる管理手段を備えるファイル管理装置を提供する。【０００９】
また、前記管理手段は、前記処理手段が処理を施す処理データの変更が許可されていない場合には、当該処理データの複製である複製データを生成し、前記処理領域を表すアドレスとして当該複製データ及び当該処理データのいずれかのアドレスを割り当ててもよい。
さらに、前記記憶装置は、不揮発性の記憶媒体を有していてもよい。
また、前記管理手段及び前記処理手段は、プロセッサにより実現される機能であり、当該プロセッサは、他のプロセッサを介さずに前記記憶装置に記憶されているデータにアクセスしてもよい。【００１０】
また、本発明は、他の一態様として、コンピュータを、記憶装置にファイルとして記憶されるデータを管理する管理手段であって、当該データのファイル名と前記記憶装置の記憶領域における当該データのアドレスとを対応付けて記憶させ、データに処理を施す処理手段がファイルとして記憶されているデータに当該処理を施す場合に、前記記憶領域のうち当該処理手段が当該処理に用いる処理領域を表すアドレスとして当該データのファイル名に対応付けて記憶されているアドレスを割り当てる管理手段として機能させるためのプログラムを提供する。【００１１】
また、本発明は、他の一態様として、コンピュータを、記憶装置にファイルとして記憶されるデータを管理する管理手段であって、データに処理を施す処理手段が当該処理に用いる前記記憶装置の記憶領域上の処理領域に記憶されて当該処理を施されたデータがファイルとして記憶される場合に、当該処理領域内の当該データのアドレスをファイル名に対応付けて記憶させる管理手段として機能させるためのプログラムを提供する。【００１２】
また、本発明は、他の一態様として、記憶装置にファイルとして記憶されるデータを管理する管理ステップであって、当該データのファイル名と前記記憶装置の記憶領域における当該データのアドレスとを対応付けて記憶させ、データに処理を施す処理手段がファイルとして記憶されているデータに当該処理を施す場合に、前記記憶領域のうち当該処理手段が当該処理に用いる処理領域を表すアドレスとして当該データのファイル名に対応付けて記憶されているアドレスを割り当てる管理ステップを備えるファイル管理方法を提供する。【００１３】
また、本発明は、他の一態様として、記憶装置にファイルとして記憶されるデータを管理する管理ステップであって、データに処理を施す処理手段が当該処理に用いる前記記憶装置の記憶領域上の処理領域に記憶されて当該処理を施されたデータがファイルとして記憶される場合に、当該処理領域内の当該データのアドレスをファイル名に対応付けて記憶させる管理ステップを備えるファイル管理方法を提供する。
【発明の効果】
【００１４】
本発明によれば、ファイルとして記憶されるデータと処理を施すために処理用の領域に記憶されるデータとを記憶する記憶装置における記憶領域の空き容量を大きくすることができる。
【図面の簡単な説明】
【００１５】
【図１】ファイル管理装置のハードウェア構成を示すブロック図
【図２】ファイル管理装置の機能構成を示すブロック図
【図３】記憶されたファイル管理テーブルの一例を示す図
【図４】処理領域テーブルの一例を示す図
【図５Ａ】管理手段が行うアドレスの割り当ての具体例を示す図
【図５Ｂ】管理手段が行うアドレスの割り当ての具体例を示す図
【図５Ｃ】管理手段が行うアドレスの割り当ての具体例を示す図
【図５Ｄ】管理手段が行うアドレスの割り当ての具体例を示す図
【図６Ａ】管理手段により更新されるファイル管理テーブルの例を示す図
【図６Ｂ】管理手段により更新されるファイル管理テーブルの例を示す図
【図７】ファイル管理処理における各部の動作の一例を示すシーケンス図
【図８】変形例のファイル管理テーブルの一例を示す図
【図９Ａ】管理手段が行うアドレスの割り当ての具体例を示す図
【図９Ｂ】管理手段が行うアドレスの割り当ての具体例を示す図
【図９Ｃ】管理手段が行うアドレスの割り当ての具体例を示す図
【図９Ｄ】管理手段が行うアドレスの割り当ての具体例を示す図
【発明を実施するための形態】
【００１６】
［実施形態の構成］
以下、図を参照しながら本発明の一実施形態にかかるファイル管理装置１を説明する。
図１はファイル管理装置１のハードウェア構成を示すブロック図である。ファイル管理装置１は、バス２と、プロセッサ３と、ＲＯＭ（Read Only Memory）４と、入出力装置５と、記憶装置１０とを備えるコンピュータである。バス２は、他の各部のデータの受け渡しを仲介する。
【００１７】
プロセッサ３は、例えばＣＰＵ（Central Processing Unit）であり、ＲＯＭ４や記憶装置１０に記憶されているプログラムを実行することによって、データを処理するとともにファイル管理装置１の各部を制御する。プロセッサ３により実行されるプログラムには、いわゆるＯＳ（Operating System）のプログラムや各種のアプリケーションプログラムなどがある。ＲＯＭ４は、生産時に特定のデータを記憶させた読み込み専用の記憶媒体である。
【００１８】
入出力装置５は、入力されたデータをプロセッサ３に渡したり、プロセッサ３から渡されたデータを出力したりする。入出力装置５は、例えば、キーボードやマウス、タッチスクリーンなどを有し、ユーザによる操作に応じてデータが入力される。また、入出力装置５は、例えば、表示手段や音声出力手段などを有し、データを画像や音声に変換して出力する。また、入出力装置５は、例えば、外部装置と通信を行うための回路等を有し、外部装置との間でデータの入出力を行う。
【００１９】
記憶装置１０は、データを記憶する装置であり、プロセッサ３によりデータの読み込み及び書き出し（データの読み書き）の両方が行われる。記憶装置１０は、本実施形態では、記憶したデータを電力が供給されなくなっても記憶し続けるいわゆる不揮発性（Non-Volatile）の記憶媒体を有する。不揮発性の記憶媒体とは、例えば、ＮＡＮＤ型フラッシュメモリやＮＯＲ型フラッシュメモリ、ＭＲＡＭ（Magnetoresistive Random Access Memory）、ＳＴＴ（Spin Torque Transfer）−ＲＡＭなどである。このような記憶媒体を有することにより、例えばファイル管理装置１の電源が切られて記憶装置１０に電力が供給されなくなっても、記憶装置１０に記憶されたデータが記憶され続けることになる。記憶装置１０においては、書き出しはバイト（Byte）またはワード（プロセッサ３が一度に処理できるデータの単位）単位で行われ、データの削除はブロックと呼ばれる記憶領域を単位（大きさは４Ｋ（キロ）〜２５６Ｋバイト程度）として行われる。
【００２０】
また、記憶装置１０は、バス２によりプロセッサ３と直接接続されているため、データの読み書き、すなわちデータのアクセスを制御するためのプロセッサを有していない。そのため、プロセッサ３は、他のプロセッサを介さずに記憶装置１０に記憶されているデータに直接アクセスする。これにより、プロセッサ３が他のプロセッサを介して記憶装置にアクセスする場合に比べて、他のプロセッサが行う処理に要する時間が不要となり、データのアクセスに要する時間が短くなっている。
【００２１】
［実施形態の概要］
ファイル管理装置１においては、プロセッサ３が前述した各プログラムを実行して各部を制御することで、ファイルとして記憶されるデータを管理するファイル管理処理に関係する以下の機能が実現される。ここにおいて、ファイルとは、ファイル名を用いてアクセスすることが可能なデータをいう。
図２は、ファイル管理装置１の機能構成を示すブロック図である。ファイル管理装置１は、処理手段１０１と、管理手段１０２とを備える。
【００２２】
処理手段１０１は、データに処理を施す手段の一例である。処理手段が施す処理とは、例えば、データの参照、変更、統合及び分割等である。処理手段１０１は、前述のとおりプログラムが実行されることで実現される機能であり、例えばプロセスと呼ばれるプログラムの実行単位毎に実現される。処理手段１０１が実現されると、記憶装置１０の記憶領域の一部が、データの処理に用いるための領域として割り当てられる。以下では、こうして割り当てられた領域、すなわち、処理手段１０１が処理に用いる記憶領域上の領域を「処理領域」という。処理領域は、例えば上述したブロックを単位として割り当てられる。
【００２３】
処理手段１０１は、処理領域にプログラムの命令コードや変数、処理の対象であるデータなどを記憶させ、記憶させたそれらのデータを用いてデータの処理を行う。例えば、文書作成用のアプリケーションプログラムが実行されることで実現された処理手段１０１であれば、ユーザの操作に応じて、新規の文書を示す文書データを処理領域に記憶させる処理を行い、記憶させた文書データが示す文書を変更する処理を行う。
こうして処理されたデータは、処理手段１０１を実現していたプログラムが終了したあとも利用される場合があり、そのようなデータは、管理手段１０２によりファイルとして記憶される。
【００２４】
管理手段１０２は、記憶装置１０にファイルとして記憶されるデータ（以下「ファイルデータ」という）を管理する手段の一例である。管理手段１０２は、ファイルデータのファイル名とそのファイルデータが記憶されているアドレスとを対応付けて格納したファイル管理テーブルを記憶させる。ここでいうアドレスとは、記憶装置１０の記憶領域上の各場所を識別する情報であり、本実施形態では、前述したブロックを識別するブロック識別子によって表される。管理手段１０２は、ファイル管理テーブルを例えば記憶装置１０に記憶させ、内容に変化がある度にそれを更新する。
【００２５】
図３は、記憶されたファイル管理テーブルの一例を示す図である。この例では、「ＡＡＡ．ａａａ」、「ＢＢＢ．ｂｂｂ」及び「ＣＣＣ．ｃｃｃ」というファイル名と「アドレス１」、「アドレス２」及び「アドレス３」とがそれぞれ対応付けられている。これらのアドレスは、実際には、１つ以上のブロック識別子により表される。このようにして、管理手段１０２は、記憶装置１０の記憶領域においてファイルデータが記憶されているアドレスとそのファイルデータのファイル名とを対応付けて記憶させる。
【００２６】
管理手段１０２は、処理手段１０１がファイルデータに処理を施す場合に、記憶領域のうち処理手段１０１が処理に用いる領域（以下「処理領域」という）を表すアドレスとして、そのファイルデータのファイル名に対応付けて記憶しているアドレスを割り当てる。具体的には、まず、処理手段１０１が、ファイルデータに処理を施す場合、処理の対象であるそのファイルデータのファイル名を管理手段１０２に通知する。管理手段１０２は、処理手段１０１から通知されたファイル名のファイルデータに処理が施されると判断し、ファイル管理テーブルにおいてそのファイル名に対応付けられているアドレスを、処理領域を表すアドレスとして割り当てる。
【００２７】
処理領域は、例えば、プロセスを識別するプロセスＩＤとそのプロセスに割り当てた処理領域を表すアドレスとを対応付けた処理領域テーブルによって管理されている。
図４は、処理領域テーブルの一例を示す図である。この例では、「Ｐ００１」、「Ｐ００２」及び「Ｐ００３」というプロセスＩＤに、「アドレス４」、「アドレス５」及び「アドレス６」というアドレスがそれぞれ対応付けられている。これらのアドレスも、図３の例と同様に、１つ以上のブロック識別子により表される。
【００２８】
処理領域テーブルは、管理手段１０２によって生成されてもよいし、他の手段（例えばＯＳの機能）によって生成されてもよい。管理手段１０２は、処理領域テーブルにおいて処理手段１０１のプロセスＩＤに対応付けられているアドレスに、上記ファイル名に対応付けられているアドレスを加えることで、上記の割り当てを行う。例えば、処理手段１０１のプロセスＩＤが「Ｐ００２」であり、処理手段１０１が「ＡＡＡ．ａａａ」というファイル名を通知してきた場合であれば、管理手段１０２は、処理領域テーブルにおいて「Ｐ００２」に対応付けられている「アドレス５」が表すブロック識別子に、図３に示すファイル管理テーブルにおいて「ＡＡＡ．ａａａ」というファイル名に対応付けられている「アドレス１」が表すブロック識別子を加えることで、上記の割り当てを行う。この割り当てのより具体的な例について、図５Ａ〜図５Ｄ（以下、これらの図を「図５」と総称する）を参照して説明する。
【００２９】
図５は、管理手段１０２が行うアドレスの割り当ての具体例を示す図である。図５では、１１−１、１１−２、・・・、１１−ＮというＮ個のブロック１１を有する記憶装置１０が示されている。図５Ａでは、アドレス１（この例では１１−ａ、１１−ｂというブロック識別子）に記憶されているＡＡＡ．ａａａというファイル名のデータがハッチングして示されている。図５Ｂでは、プログラムが実行されて処理手段１０１が実現されたときに割り当てられる処理領域Ａ１が示されている。以下では、処理領域を分かりやすくするために太線で囲んで示すものとする。この例では、１１−ｃから１１−ｉまでの７つのブロック識別子により表される処理領域Ａ１が示されている。処理領域Ａ１には、処理手段１０１が実行する命令コードや変数が例えばＲＯＭ４から読み出されて記憶される。
【００３０】
例えばユーザの操作によって「ＡＡＡ．ａａａ」というファイル名のファイルデータに処理手段１０１が処理を施すことになると、管理手段１０２がアドレス１を処理領域として割り当てる。その結果、図５Ｃに示すように、１１−ｃから１１−ｉまでのブロック識別子で表される領域に加え、１１−ａ及び１１−ｂのブロック識別子で表される領域が処理領域Ａ１に含まれるようになる。
【００３１】
こうして処理領域Ａ１に記憶されることになったファイルデータに処理手段１０１が処理を施すと、その処理の結果が即時に反映される。例えば処理手段１０１がこのファイルデータに処理を施した結果、データのサイズが大きくなりアドレス１に収まらなくなると、図５Ｄに示すように、処理領域Ａ１内の他のブロックに跨がってファイルデータが記憶されることになる。この例であれば、「ＡＡＡ．ａａａ」というファイル名のファイルデータは、ブロック識別子１１−ａ及び１１−ｂのブロックに収まらなくなり、１１−ｃ及び１１−ｄのブロックに跨がって記憶されている。以上のとおり、ファイル管理装置１においては、ファイルデータに対して処理が直接施され、その処理の内容に応じてファイルデータの内容が変更されることになる。
【００３２】
また、管理手段１０２は、処理手段１０１により処理領域において処理を施されたデータがファイルとして記憶される場合に、その処理領域内のそのデータのアドレスをファイル名に対応付けて記憶させる。管理手段１０２は、ファイル管理テーブルにそのファイル名が格納されていない場合であれば、それらのファイル名及びアドレスを新たにファイル管理テーブルに格納することで、これらを記憶させる。また、管理手段１０２は、ファイル管理テーブルにそのファイル名が既に格納されている場合であれば、そのファイル名に対応付けられているアドレスを新たなものに更新することで、これらを記憶させる。管理手段１０２によりファイル管理テーブルが更新される例について、図６Ａ〜図６Ｂ（以下、これらの図面を「図６」と総称する）を参照して説明する。
【００３３】
図６は、管理手段１０２により更新されるファイル管理テーブルの例を示す図である。図６Ａでは、図５Ａに示したブロック識別子１１−ａ及び１１−ｂというアドレス１が示されている。そのあと、図５Ｄに示す「ＡＡＡ．ａａａ」というファイル名のファイルデータがファイルとして記憶された場合、管理手段１０２は、アドレス１を、図６Ｂに示すように１１−ａ、１１−ｂ、１１−ｃ及び１１−ｄというアドレス１’に更新する。処理手段１０１を実現していたプログラムが終了すると、図５に示す処理領域Ａ１は解放されることになるが、「ＡＡＡ．ａａａ」というフィルデータは、そのファイル名がアドレス１’に対応付けられているので、ファイル名を用いてアクセスすることが可能なデータ、すなわちファイルとして記憶され続けることになる。
【００３４】
［実施形態の動作］
次に、ファイル管理処理における動作の一例を、図７のシーケンス図を参照しながら説明する。
図７は、ファイル管理処理における各部の動作の一例を示すシーケンス図である。図７の動作は、ファイル管理装置１において、ユーザがプログラムを開始させるプログラム開始操作を入出力装置５に対して行うこと（ステップＳ１１）を契機に開始される。入出力装置５は、プログラム開始操作を示す操作データをプロセッサ３に供給する（ステップＳ１２）。プロセッサ３は、操作データが供給されると、実行されるプログラムに関する処理に用いる処理領域を割り当てる（ステップＳ１３）。こうして割り当てられた処理領域の一例が図５Ｂに示す処理領域Ａ１である。次に、プロセッサ３は、割り当てた処理領域に命令コード及び変数等を記憶させて（ステップＳ１４）、プログラムを実行する（ステップＳ１５）。ステップＳ１３、Ｓ１４及びＳ１５は、処理手段１０１が行う動作である。
【００３５】
次に、ユーザが、記憶装置１０に記憶されているファイルを選択するファイル選択操作を入出力装置５に対して行う（ステップＳ２１）。ファイル選択操作は、例えば、上述した文書作成用のアプリケーションプログラムが実行されている場合であれば、文書ファイルを選択して開く操作である。次に、入出力装置５は、ファイル選択操作を示す操作データをプロセッサ３に供給する（ステップＳ２２）。この操作データは、選択されたファイルのファイル名を示すデータである。プロセッサ３は、供給された操作データが示すファイル名に対応付けて記憶しているアドレスを、処理領域として割り当てる（ステップＳ２３）。こうして割り当てられた処理領域の一例が図５Ｃ及び図５Ｄに示す処理領域Ａ１である。ステップＳ２３は管理手段１０２が行う動作である。
【００３６】
続いて、プロセッサ３は、割り当てた処理領域に記憶されているデータ（命令コードや変数、ファイルデータなど）を用いて（ステップＳ２４）、ファイルデータに対して処理を施す（ステップＳ２５）。こうして処理が施されたファイルデータの一例が図５Ｄに示す「ＡＡＡ．ａａａ」というファイル名のデータである。ステップＳ２４及びＳ２５は処理手段１０１が行う動作である。
【００３７】
続いて、処理を施されたデータをファイルとして記憶させるファイル記憶操作をユーザが行うと（ステップＳ３１）、入出力装置５がファイル記憶操作を示す操作データをプロセッサ３に供給する（ステップＳ３２）。プロセッサ３は、ステップＳ２５において処理が施されたデータを記憶させた処理領域上のアドレスをファイル管理テーブルに格納する（ステップＳ３３）。こうして格納されたアドレスの一例が図６Ｂに示すアドレス１’である。ステップＳ３３は、管理手段１０２が行う動作である。
【００３８】
そして、ユーザがプログラムを終了するプログラム終了操作を行うと（ステップＳ４１）、入出力装置５がプログラム終了操作を示す操作データをプロセッサ３に供給し（ステップＳ４２）、プロセッサ３がプログラムを終了して処理領域を解放する（ステップＳ４３）。こうしてプログラムが終了したあとも、記憶装置１０には処理が施されたデータがファイルとして記憶される。
【００３９】
［実施形態による効果］
従来の技術では、ファイル管理装置が主記憶手段及び補助記憶手段を備える構成が一般的である。この構成では、プロセッサは、ファイルデータを補助記憶装置に記憶させ、そのファイルデータに処理を施す場合には、ファイルデータの複製を主記憶装置に記憶させてからその複製に対して処理を施す。そのような従来構成では、ファイルデータを記憶させる補助記憶装置の記憶領域の他に、ファイルデータの複製を記憶するためにそれと同じ大きさの記憶領域が主記憶装置にも必要になる。本実施形態では、記憶装置１０に記憶されているファイルデータに処理手段１０１が直接処理を施すため、記憶装置１０にはファイルデータを記憶させる大きさの記憶領域（図５Ａ〜図５Ｃに示す状態ではブロック１１−ａ及び１１−ｂ、図５Ｄに示す状態ではブロック１１−ａ、１１−ｂ、１１−ｃ及び１１−ｄ）が１つあれば足りることになる。言い換えると、本実施形態では、ファイルデータに対して処理を施すときにファイルデータの複製が生成されない。このように、本実施形態によれば、ファイルデータのアドレスを処理領域として割り当てない場合に比べて、記憶装置における記憶領域の空き容量を大きくすることができる。
【００４０】
また、前述した従来構成では、主記憶装置において処理を施したデータをファイルとして記憶させる場合に、処理が施されたデータの複製を補助記憶装置に記憶させる。この場合も、処理が施されたデータを記憶させる記憶領域が、主記憶装置及び補助記憶装置のどちらにも必要となる。本実施形態では、処理手段１０１により処理が施されたデータがそのままファイルとして記憶されるため、ファイルデータに対して処理を施すときと同様に、処理が施されたデータの複製が生成されない。このように、本実施形態によれば、処理領域内のデータのアドレスをファイル名に対応付けて記憶させない場合に比べて、記憶装置における記憶領域の空き容量を大きくすることができる。
【００４１】
また、前述した従来構成では、ファイルデータに対して処理を施す場合と処理が施されたデータをファイルとして記憶する場合とのどちらにおいても、ファイルデータまたは処理が施されたデータの複製を生成する処理が必要になる。本実施形態では、そのような複製を生成する処理が不要であり、そのような複製を生成する処理が行われる場合に比べて、プロセッサの処理の負担やバスのデータ転送の負荷を軽減することができる。また、複製を生成する処理に要する時間も不要となるので、その処理が行われる場合に比べて、処理速度も向上させることができる。
【００４２】
［変形例］
上述の実施形態を以下のように変形してもよい。なお、上述した実施形態及び以下の変形例の各々を組み合わせてもよい。
【００４３】
［変形例１］
上記の実施形態では、処理手段１０１により処理が施されることでファイルデータの内容が変更された場合、内容を変更されたファイルデータがそのままファイルとして記憶された。いうなれば、ファイルの上書きが行われた。しかし、ファイルデータの中には、変更が許可されないものがある。例えば、編集できないように保護されたファイルデータや他のユーザが編集していて排他制御されているファイルデータなどである。本変形例では、これらのファイルデータを変更しないようにする例を説明する。
【００４４】
管理手段１０２は、処理手段１０１が処理を施す処理データの変更が許可されていない場合には、その処理データの複製である複製データを生成し、処理領域を表すアドレスとしてその複製データ及び処理データのいずれかのアドレスを割り当てる。管理手段１０２は、例えば、データの変更の許可の有無を表すフラグを格納したファイル管理テーブルを記憶させる。
図８は、本変形例のファイル管理テーブルの一例を示す図である。この例では、図３に示す「ＡＡＡ．ａａａ」、「ＢＢＢ．ｂｂｂ」及び「ＣＣＣ．ｃｃｃ」という各ファイル名に、「×」、「○」及び「○」という変更可否のフラグが対応付けられている。「○」というフラグは変更が許可されていることを表し、「×」というフラグは変更が許可されていないことを表している。
【００４５】
管理手段１０２は、処理手段１０１から処理の対象であるファイルデータのファイル名が供給されると、ファイル管理テーブルを参照し、そのファイル名に対応付けられているフラグが「○」であれば変更が許可されていると判断し、実施形態で述べたようなアドレスの割り当てを行う。また、管理手段１０２は、フラグが「×」であれば許可されていないと判断し、ファイルデータの複製データを生成して記憶装置１０に記憶させる。そして、管理手段１０２は、例えば、記憶させた複製データのアドレスを、処理領域を表すアドレスとして割り当てる。
【００４６】
図９Ａ〜図９Ｄ（以下、これらの図面を「図９」と総称する）は、管理手段１０２が行うアドレスの割り当ての具体例を示す図である。図９では、図５と同様に記憶装置１０の各ブロックが示されている。図９Ａでは、図５Ｂのように「ＡＡＡ．ａａａ」というファイル名のデータがアドレス１に記憶され、処理領域Ａ１が割り当てられた状態が示されている。この例では、管理手段１０２は、処理の対処である「ＡＡＡ．ａａａ」のファイルデータのフラグが「×」であるため、図９Ｂに示すように、そのファイルデータの複製データＢ１をブロック識別子が１１−ｘ及び１１−ｙのブロックに記憶させている。
【００４７】
管理手段１０２は、例えば、図９Ｃに示すように、複製データＢ１のアドレスを処理領域Ａ１を表すアドレスとして割り当てる。また、管理手段１０２は、図９Ｄに示すように、複製元である「ＡＡＡ．ａａａ」のアドレスを処理領域Ａ１を表すアドレスとして割り当ててもよい。後者の場合は、管理手段１０２は、ファイル管理テーブルの「ＡＡＡ．ａａａ」というファイル名に対応付けられたアドレスを、複製データのアドレス（この例では１１−ｘ及び１１−ｙ）に更新する。いずれの場合も、処理手段１０１が施した処理によりデータが変更されても、ファイルデータまたは複製データのいずれかが変更されずに残ることになる。このような本変形例によれば、変更が許可されていないデータに処理が施された場合に、変更されていない状態のそのデータを残すことができる。
【００４８】
［変形例２］
記憶装置は、上記の実施形態では、不揮発性の記憶媒体であったが、これに限定されない。記憶装置が揮発性の記憶媒体であっても、例えば、ファイル管理装置がメインフレームのように２４時間３６５日稼働し続ける装置であれば、記憶装置に電力が供給されなくなることがないため、記憶装置に記憶されているデータをファイルとして記憶し続けることができる。
【００４９】
［変形例３］
記憶装置は、上記の実施形態では、プロセッサ３と同様にバス２に接続されていたが、これに限定されない。記憶装置は、例えば、入出力装置５を介して接続されてもよいし、さらに入出力装置５に接続される回線に接続されていてもよい。つまり、記憶装置は、ファイル管理装置内に備えられていてもよいし、ファイル管理装置の外に備えられていてもよい。また、記憶装置は、上記の実施形態では、データのアクセスを制御するためのプロセッサを有していなかったが、これに限定されない。記憶装置は、例えば、プロセッサを有するコントローラによりアクセスが制御されるいわゆるハードディスクドライブであってもよい。これらの場合でも、実施形態と同様に、ファイルデータや処理が施されたデータの複製が生成されないから、記憶装置における記憶領域の空き容量を大きくすることができるという点やプロセッサの処理の負担やデータ転送の負荷を軽減することができるという点では変わらない。
【００５０】
［変形例４］
処理手段は、ファイル管理装置以外の外部装置が実現する機能であってもよい。例えば、ファイル管理装置と外部装置とで記憶装置を共有し、ファイル管理装置が外部装置の実現する処理手段に対しても、上記のファイル管理処理を行うという場合である。その場合、外部装置は、例えばプロセッサ、ＲＯＭ及びファイル管理装置と接続するための接続装置を備え、プロセッサがＲＯＭに記憶されたプログラムを実行して処理手段を実現する。管理手段１０２は、バス２及び接続部等を介して、処理手段に対して割り当てたアドレスを伝えたり、処理の対象であるファイルデータのファイル名を受け取ったりする。要するに、処理手段は、管理手段１０２とこれらの情報をやり取りできるようになっていればよい。
【００５１】
［変形例５］
管理手段は、上記の実施形態では、処理領域を表すアドレスを割り当てる処理（以下「割り当て処理」という）と、処理が施されたデータのアドレス及びファイル名を対応付ける処理（以下「対応付け処理」という）との両方を行ったが、いずれかだけを行ってもよい。例えば、割り当て処理が行われた処理領域において処理が施されたデータをファイルとして記憶させる場合に、そのデータを他のアドレスに移動させた上で、移動先のアドレスとファイル名とを対応付けて記憶させてもよい。この場合も、処理が施されたデータを記憶するために必要な記憶容量は、どの時点でもそのデータ１つ分で収まることになる。そのため、上述した従来構成のように処理が施されたデータの複製が生成される場合に比べて、記憶装置における記憶領域の空き容量を大きくすることができる。
【００５２】
また、対応付け処理が行われてファイルとして記憶されたファイルデータを対象として処理が施される場合に、そのファイルデータを他のアドレスに移動させた上で、移動先のアドレスを処理領域を表すアドレスとして割り当ててもよい。この場合も、ファイルデータを記憶するために必要な記憶容量は、どの時点でもファイルデータ１つ分で収まることになり、従来構成に比べて記憶装置における記憶領域の空き容量を大きくすることができる。
【００５３】
さらに、前述したようにファイルデータや処理が施されたデータを移動させる代わりに、それらのデータの複製が生成されてもよい。この場合、一時的にはこれらのデータが重複して存在することになるが、この複製が生成されるまでの間については、重複していない状態が維持されることになり、従来構成に比べて記憶装置における記憶領域の空き容量を大きくすることができる。
【００５４】
［変形例６］
本発明は、ファイル管理装置の他にも、ファイル管理装置が実施する処理を実現するためのファイル管理方法としても捉えられるものである。ここでいう処理とは、例えば、図７に示すファイル管理処理である。また、本発明は、ファイル管理装置のようなコンピュータを、図２に示す手段として機能させるためのプログラムとしても捉えられるものである。このプログラムは、それを記憶させた光ディスク等の記録媒体の形態で提供されたり、インターネット等のネットワークを介して、コンピュータにダウンロードさせ、それをインストールして利用可能にするなどの形態でも提供されたりするものであってもよい。
【符号の説明】
【００５５】
１…ファイル管理装置、２…バス、３…プロセッサ、４…ＲＯＭ、５…入出力装置、１０…記憶装置、１０１…処理手段、１０２…管理手段
【図１】
2015033767.tif 000003
【図２】
2015033767.tif 000004
【図３】
2015033767.tif 000005
【図４】
2015033767.tif 000006
【図５Ａ】
2015033767.tif 000007
【図５Ｂ】
2015033767.tif 000008
【図５Ｃ】
2015033767.tif 000009
【図５Ｄ】
2015033767.tif 000010
【図６Ａ】
2015033767.tif 000011
【図６Ｂ】
2015033767.tif 000012
【図７】
2015033767.tif 000013
【図８】
2015033767.tif 000014
【図９Ａ】
2015033767.tif 000015
【図９Ｂ】
2015033767.tif 000016
【図９Ｃ】
2015033767.tif 000017
【図９Ｄ】
2015033767.tif 000018
【国際調査報告】
2015033767.tif 000019
2015033767.tif 000020
2015033767.tif 000021
2015033767.tif 000022