説明

ファイル管理装置

【課題】ファイルシステム上における1つのファイルに対する操作が、他のファイルにも反映される手段を提供することによりファイル管理を容易にする。
【解決手段】ユーザが指定したファイルと類似するファイルを検索する類似ファイル検索手段と、前記類似ファイル検索手段を、ファイル管理装置が管理するファイルに対して実行し、類似していると判定されたファイルをユーザに提示する類似ファイル一覧提示手段と、前記類似ファイル一覧提示手段において、ユーザが1つのファイルに実施した操作を、前記類似ファイルのファイルに対して反映するファイル操作反映手段とから構成されるファイル管理装置を提供する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ファイルシステム上に存在するファイルを管理する情報処理装置における、ファイル操作に関する。
【背景技術】
【0002】
単一、または複数のユーザが同一の管理下にある1つまたは複数のハードディスク(以下単にHDDと呼ぶ)上において、HDD上のファイルを他のフォルダにコピー、あるいは異なるファイル名に変更することがある。
【0003】
これらの作業を繰り返すうちに、内容が同じデータが、同一あるいは異なるファイル名で複数のフォルダに生成され、PCに1つあれば共有し目的が達成されるにも関わらず、ファイル数が増加することがある。この結果、管理・整理が困難になり、またデータ容量の増加によりHDDの使用が非効率的になることがある。
【0004】
また、ファイルの一部を更新した場合に、更新前のファイルは不要であるにもかかわらずそのまま残すことも多く、HDD上のファイル管理がさらに困難、非効率的になる。
特開2007−72675号公報に記載の発明では、1つのファイルから複製、名称変更および更新されたファイル群を派生系列として管理することが提案されている。ユーザは、必要に応じて特定の派生系列にアクセス権限が与えられ、派生系列中のファイル群のうち不要なファイルを削減することで、ファイル管理・HDD容量削減手段を実現している。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2007−72675号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
特許文献1では、派生系列に含まれるファイル一覧を提示し、不要になったファイルを削除することによりHDD使用量の削減について実現している。
【0007】
しかしながら、派生系列は1つのファイルから何らかの操作、すなわちコピー、更新、名称変更などの処理を施したファイルのみを管理対象としている。この方式ではもともとは異なるファイルであるが内容が類似しているファイルや、同一のファイルがインターネットなど、外部から複数回ダウンロードされた場合であっても同一の派生系列上のファイルにはならないという問題があった。
【0008】
本発明は、前述のファイルも類似ファイルと見なし、ファイルシステム上における1つのファイルに対する操作が、他のファイルにも反映される手段を提供することによりファイル管理を容易にすることを課題とする。
【課題を解決するための手段】
【0009】
格納されているファイルを管理するファイル管理装置であって、ユーザが指定したファイルと類似するファイルを検索する類似ファイル検索手段と、前記類似ファイル検索手段を、前記ファイル管理装置が管理するファイルに対して実行し、類似していると判定されたファイルをユーザに提示する類似ファイル一覧提示手段と、前記類似ファイル一覧提示手段において、ユーザが1つのファイルに実施した操作を、前記類似ファイルのファイルに対して反映するファイル操作反映手段と、を有するファイル管理装置を提供する。
【発明の効果】
【0010】
本発明により、ファイルシステム上における1つのファイルに対する操作が、他のファイルにも反映される手段を提供することによりファイル管理を容易とすることが可能となる。
【図面の簡単な説明】
【0011】
【図1】本発明の実施形態に関わるファイル管理装置、ファイル共有サーバ、クライアントのシステム構成の一例を示す図である。
【図2】図1に示したファイル管理装置、ファイル共有サーバ、クライアントの各ハード構成の一例を示すブロック図である。
【図3】ファイル管理システムの動作の概略の流れを説明するための図である。
【図4】ユーザ指定ファイルを選択するファイルマネージャの図である。
【図5】類似ファイル一覧生成プログラムのフローチャートである。
【図6】類似ファイル判定属性を設定するユーザインタフェース例としてのダイアログである。
【図7】ファイルシステムにおいてファイル管理装置が管理しているファイルとその属性値をテーブルで表した図である。
【図8】類似ファイルリストの例を表す図である。
【図9】ユーザ指定ファイルの選択と対応する類似ファイル一覧提示するインタフェース例の図である。
【図10】予め生成した類似ファイルリストを表す図である。
【図11】類似ファイル一覧提示ダイアログの例の詳細を示す図である。
【図12】一括リンクを実施するプログラムのフローチャートである。
【図13】一括リンク生成機能を実施した後のリンク元ファイルが格納されていたフォルダの図である。
【図14】一括上書きを実施するプログラムのフローチャートである。
【図15】ファイル共有サーバ上のファイルが更新された場合のイベント処理を実施するプログラムのフローチャートである。
【発明を実施するための形態】
【0012】
以下、本発明の実施の形態を、図面を参照して詳細に説明する。
【0013】
図1は、本発明の実施形態に関わるファイル管理装置、ファイル共有サーバ、クライアントのシステム構成の一例を示す図である。ファイル管理装置101、ファイル共有サーバ102aならびに102b、クライアント103aならびに103bは、ネットワーク104を介して相互に接続される。
図1では、クライアントPC、ファイル共有サーバ、ファイル管理装置は異なるものとして図示しているが、同一のものでも良い。
【0014】
図1以外の第1の例として、ファイル共有サーバが1又は複数台あり、そのうちの1台とファイル管理装置が同一のものである構成が考えられる。第2の例として、1台または複数台のクライアントPC自体がそのHDDの内部を公開するファイル共有サーバを兼ねており、他にファイル管理装置により図1の構成を成す場合がある。さらに第3の例として、第2の例のうちの1台のクライアントPCがファイル管理装置を兼ねている場合など考えられる。
【0015】
ファイル管理装置101、ファイル共有サーバ102aならびに102b、クライアント103aならびに103bはそれぞれ情報処理装置(コンピュータ)で構成される。それぞれの詳細は図2において説明する。
【0016】
図2において、ファイル管理システムは、CRT201と、入力デバイス202と、CPU203と、RAM204と、ROM205と、外部記憶装置206と、ネットワーク・インタフェース207とを備える。
【0017】
CPU203は、ROM205に記憶された制御プログラムを読み出して実行すると共に、情報処理装置を制御する。RAM204は、データ等を一時記憶するためのバッファやワークエリア等として機能し、またOSを含む各種プログラムを実行する作業領域として使用される。
【0018】
外部記憶装置206はハードディスクドライブ等の記憶装置であり、OSやファイル管理システムのプログラムを含む各種プログラム及び各種データの短期的、永続的な記憶装置として使用される。
【0019】
入力デバイス202は、キーボード、マウス等に代表されるユーザ入力機器であり、CRT201は情報処理装置の処理結果等を表示するための機器である。バス208は、上述した各部を互いに接続するシステムバスである。なお、ファイル共有サーバ102aならびに102bにおいては、CRT201および入力デバイス202は、必須なものではない。
【0020】
図3は、ファイル管理システムの動作の概略の流れを説明するための図である。クライアントPC301は、図1のクライアント103aならびに103bに相当し、ファイル管理装置302は、図1の101、ファイル共有サーバ303はファイル共有サーバ102aならびに102bに相当する。
【0021】
図3のクライアントPC301にはファイル選択プログラム304と、ファイル提示プログラム305が搭載されており、ファイル管理装置302を通してファイル共有サーバ303に接続して相互に通信して動作する。ファイル選択プログラム304と305は異なるプログラムとして実現されていても、同一のプログラムとして実現されていてもよい。
【0022】
クライアントPC301のユーザは、ファイル選択プログラム304により本発明の処理対象としたいファイル共有サーバ303のユーザ指定ファイル306を選択する。ファイル選択プログラム304は、HDD内のフォルダを階層的に表示し、ファイルを選択可能な本発明独自のプログラムでもよく、ファイルの選択はマウスによるダブルクリックなどによってもよい。ダブルクリックはあくまで例であり、その他の手段によっても良い。
【0023】
また、図4は既存のオペレーティングシステム(OS)上のファイルシステムにおいて既にフォルダを階層的に表示し、ファイルを選択する仕組みを有している場合を図示している。この場合、例えばユーザは当該ファイル401上でマウスを右クリックし、OSあるいはファイルシステムが表示したコンテキストメニュー402の中から、ユーザが「類似ファイル一覧表示」という項目を選択することにより、ファイル選択プログラム304を実現しても良い。この方法はあくまで例であり、他の方法によってもファイルを特定してもよい。
【0024】
類似ファイル判定属性登録プログラム308では、ユーザ指定ファイル306とファイル共有サーバ303上の各々のファイルが本発明のファイル管理システムにおいて類似のファイルであるかどうかの判定条件として使用するファイル属性を、予め類似ファイル判定属性309に登録する。
ファイル選択プログラム304では、前記方法でユーザ指定ファイル306を指定し、さらに類似ファイル検索プログラム310を起動する。
【0025】
類似ファイル検索プログラム310では、類似ファイル判定属性309に登録されたファイル属性を予め読み込む。これらのファイル属性を利用して、ファイルシステム上のファイル307の各ファイルのファイル属性とユーザ指定ファイル306のファイル属性、さらにファイル内容の同一性を検索条件として、本発明における類似ファイルかどうかを判定する。
【0026】
類似ファイル検索プログラム310では、前記処理において類似ファイルであると判定したファイルを類似ファイル一覧311とする。さらにクライアントPC301のファイル提示プログラム305が類似ファイル一覧をCRT201に表示し、ユーザに提示するために必要な情報を引き渡す。
クライアントPC301のファイル提示プログラム305では、前記引き渡された情報をCRT201に表示し、ユーザに提示する。
【0027】
ファイル提示プログラム305を操作するユーザは、ファイル選択プログラム304で当初選択したファイル以外のファイルであっても、提示されたファイルの中からいずれかのファイルを選択し、操作を行うことができる。
ユーザが処理したファイルの結果は、類似ファイルリストに含まれる他のファイルにも反映される。
【0028】
図3における構成は、あくまで1つの例であり、他にもファイル管理装置302とファイル共有サーバ303が同一のPCであってもよい。また、クライアントPC301がファイル共有サーバ303と同一であっても良い。さらに図3の全てのPCが同一であってもよい。
以下、本発明であるファイル管理システムの動作を図2から図15を用いて詳細に説明する。
クライアントPC301のユーザは、ファイル選択プログラム304を利用して任意のファイルを1つ選択する。
【0029】
ファイル選択プログラムは、例えば図4のようなGUIで構成されていてもよく、例えば任意のファイルを入力デバイス202の1つであるマウスで選択し、マウスの右ボタンをクリックすることでコンテキストメニュー402を表示する。
【0030】
ユーザは、コンテキストメニューにある項目、類似ファイルリスト表示を選択する。この項目はここではユーザが指定したファイルに対して図5の類似ファイル一覧生成プログラムを起動する。
図5のプログラムが起動されると、ステップS501では、図3の類似ファイル判定属性309から、設定されているファイル属性を読み込む。
【0031】
このファイル属性は、類似ファイル判定属性登録プログラム308によって予め設定されたものである。具体的には類似ファイル判定属性登録プログラム308は、図6の類似ファイル判定属性の設定ダイアログ601のようなユーザインタフェースを持ち、予めユーザに類似ファイル判定属性を指定させる。図3において、該プログラムはファイル管理装置に搭載され、ファイル管理装置の管理担当者が設定し、クライアントPCのいずれのユーザに対しても同一の設定を利用させることを想定している。しかし例えばユーザが図3のファイル選択プログラム304においてユーザ指定ファイルを選択する都度、ユーザの目的にあわせて設定させても類似ファイル判定属性をしていさせても良い。
【0032】
次にステップS502では、ユーザ指定ファイルから類似ファイル判定属性となるファイル属性値を取得する。例えば図6によるとファイル属性のうち、「ファイルサイズ」「作成日付」「作成者」が指定されているので、本実施例の説明ではこれらの3つの値を使用する。
【0033】
次にファイル管理装置が管理するファイルの類似ファイル判定をするため、全ファイルループS503(繰り返し処理の開始部分)からS513(繰り返し処理の終了部分)にてファイルを1つずつ取り出して処理を実行する。この繰り返し処理が第1の繰り返し処理である。
【0034】
実施例に使用するため図7について説明する。図7はファイル管理装置が管理しているファイルとその属性値をテーブルで表したものである。図7のテーブルは以下の項目で構成される。GUID703は、ファイル共有サーバ上のファイルを一意に識別する番号である。フルパス704は、HDDのルートから実際にファイルが格納されている位置までのフォルダ階層を示している。ファイルの名称は、ファイル名705と拡張子706に分割して格納している。その他、ファイルサイズ707(byte数)、ファイルが初めてファイル共有サーバ上に生成された作成日付708(年月日、時分秒、あるいはミリ秒まで格納しても良い)、ファイルを最後に更新した更新日付709(年月日、時分秒、あるいはミリ秒まで格納しても良い)、ファイルを最初に作成した作成者710である。また後述する、ファイル内容自体が等しいか比較するためにファイルデータに基づき711ハッシュ値を生成し記憶しておいても良い。ハッシュ値はファイルデータを一意的に決定するわけではない、すなわち異なるファイルデータであっても計算上同一のハッシュ値が得られることもある。ハッシュ値が等しい場合にはファイルの実体を比較する必要があるが、比較するファイルの数は大幅に削減される。このファイルテーブルの構成はあくまで例であり、オペレーティングシステムやファイルシステムを考慮して異なる属性から構成されても良い。
【0035】
図7のテーブルは、本実施例の必要なステップにおいてオペレーティングシステムあるいはファイルシステムからファイルを1つずつ取り出し、また同時に必要なファイル属性を取り出す形式でデータを取得するとすれば、物理的には実在しなくても良い。また予め生成し、HDDなどに記憶しても良い。この場合、図6でユーザが指定した属性に応じて、インデックスを生成し、類似ファイルリスト判定時の検索を高速化しても良い。以上が図7の説明である。
【0036】
説明を第1の繰り返し処理の開始位置である全ファイルループS503に戻す。繰り返し処理に入ると、まずステップS504を実行する。ステップS504では、ファイルサーバ上のファイルを1つ取得する(ファイルAとする)。続いてステップS505では、S501により読み込んだ類似ファイル判定属性の値をファイルAから取り出す。本実施例では、前記ユーザ指定ファイルと同様にファイル属性のうち、「ファイルサイズ」「作成日付」「作成者」の値を取得する。
【0037】
全属性ループS506からステップS509は、ユーザ指定ファイルとステップS504で取得したファイルAの両ファイルの属性「ファイルサイズ」「作成日付」「作成者」を順に比較する第2の繰り返し処理である。
【0038】
第2の繰り返し処理に入るとステップS507がユーザ指定ファイルとファイルAの両ファイルから対応する属性を1つ指定し、その値を取り出してステップS508で比較する。同一属性の値が等しい限りにおいて、ステップS508は判定YESとなり、比較する必要がある属性がなくなるまで当該繰り返し処理を実行する。本実施例では、「ファイルサイズ」「作成日付」「作成者」の3属性を比較しているので最大で3回の繰り返し比較を行う。
全ての属性が一致した場合には、ステップS512は、ファイルAをユーザ指定ファイルの類似ファイルと見なし、類似ファイルリストに登録する。
【0039】
ユーザが指定ファイルとして図7のファイル、ID00000003を選択したとき、類似ファイルリスト712が生成され3つのファイルを含む。類似リストは、図8のリスト801にGUIDのリストとして示される。またファイル、ID00000006に対しては類似ファイルリスト713が生成され、図8のリスト802として示される。
【0040】
さらに図7のテーブル702(ファイル及び各ファイル属性はテーブル701と同一内容)において、類似判定に使用する属性を、ファイル名、拡張子、作成者の3つとする。その場合は、ファイル、ID00000001に対する類似ファイルリスト714が生成され、図8のリスト803として示される。またファイル、ID00000003に対しては類似ファイルリスト715が生成され、図8のリスト804として示される。
【0041】
説明をステップ506からステップ509までの繰り返し処理に戻す。繰り返し処理中、前記両属性の値が一致しない場合にステップS508は判定NOとなり、前記第2の繰り返し処理を抜けてステップS510に進む。
【0042】
ステップ510は、前記両ファイルデータをバイナリーとして比較し、内容が一致すればステップ511の判定YESにより処理をステップS512に移行する。ステップS512は、現在、ユーザ指定ファイルと比較していたファイルAをユーザ指定ファイルと類似ファイルと見なし、類似ファイルリストに登録する。ステップ511の判定がNOであれば、ファイルAは類似ファイルとは見なされず、処理は第一の繰り返し処理の先頭である全ファイルループS503に戻る。これで1つのファイルAに対する処理が完了する。
【0043】
以上の例でファイル同士を比較するためにファイル属性やファイル内容の同一性を用いて説明した。これらはあくまで例であり、他にもテキスト・データを抽出可能なファイルであれば、出現する単語が共起している状況を統計的に判定する「概念検索」「概念分類」の技術を用いてもよい。また静止画や動画を格納するファイルについては画像の特徴抽出により類似ファイルの分類を実施する技術を用いても良い。ファイルの類似性を判断する任意の技術を用いることが可能である。
【0044】
以上、全ファイルループS503からステップS513までの繰り返し処理によりファイル管理装置上のファイルに対して実行することにより、ユーザ指定ファイルに対する類似ファイルリストが生成される。
【0045】
ここでこの結果がユーザからどのように見えるか、図9を用いて簡単に説明する。図9の類似ファイル一覧提示ダイアログ901はユーザがユーザ指定ファイルを選択したところを示している。フォルダ902に含まれるのが、右側のファイル名という枠に表示されているファイル群である。図9においてユーザ指定ファイルとして“sample.gif“(ID00000003に相当するファイル)をマウスで選択し、右クリックするとコンテキストメニューが表示され、その中からコマンド、類似ファイル一覧提示904を選択する。それに対してダイアログ905は類似ファイル一覧が提示されたところを表示している。右側表示枠には、ユーザ指定ファイル906と類似ファイル一覧907が表示されている。類似ファイル一覧提示ダイアログの詳細については、図11を用いて後述する。
【0046】
これにより最終的にユーザ指定ファイルに対する類似ファイルリストは、ユーザ指定ファイル自身を含み、判定属性の全てが等しいか、あるいはファイル内容がバイナリーとして等しいファイルのGUIDのリストから構成される。類似ファイルリストの要素は、ファイルのGUIDではなくてもよい。これはあくまで例であり、ファイル共有サーバ上として物理ファイルを一意に識別できる情報であれば如何なる情報でも良い。
【0047】
また、図5のフローチャートを用いた上記の説明では、類似ファイル判定のために指定した属性条件を、論理積として使用するという前提であったが、これを論理和とし、あるいはさらに複雑な条件の論理式としてもよい。
【0048】
図6の設定ダイアログ601において603は、属性を複数指定した場合に、これらの条件を論理積として扱うか、論理和として扱うかをユーザが指定できるようにしたものである。
【0049】
また、属性による判定とファイル内容のバイナリーとしての比較は、別々に実施したため論理和となっているが、これも論理積、あるいは更に複雑な論理式として他のファイル属性と組み合わせて判定条件として、ユーザが指定できるようにしても良い。
【0050】
また図5のフローチャートではユーザ指定ファイルが指定されてから図8の類似ファイルリストを生成した。しかし、類似ファイルリストは予め作成し、図5の第1の全ファイルループS503からステップS513をユーザが類似ファイルリストの生成を指定するたびに実行する必要はなく、予め生成した類似ファイルリストをユーザに提示してもよい。
【0051】
図10に予め生成した類似ファイルリストの例を示す。インデックス1001は複数ある類似ファイルリストを特定するための索引、類似ファイルリストの各要素は1002に示すようにファイルGUIDとそのファイルのハッシュ値を記憶する。また、1002の各GUIDからは、ファイル名、拡張子名を含むファイル実体へのフルパス名が記述されている。
【0052】
類似ファイルリストを毎回生成しない場合には、ファイル共有サーバ303内のファイルの増減、更新がある場合に、リアルタイムに類似ファイルリストを更新するか、ファイルの増減、更新がある場合に差分を記憶しておくようにする。そして類似ファイルリスト検索後に、差分のファイルについては類似ファイルの判定を実施し、あるいは削除されていることを確認し、前記類似ファイルリストを調整する必要がある。
【0053】
説明を図5のフローチャートに戻す。類似ファイルリストの生成を完了した後、ステップS514は、図3のクライアントPC301の提示プログラムを起動し当該類似ファイルリストを渡す。
【0054】
図11は、ファイル操作反映手段を実現したダイアログである。当該ファイル操作反映手段はあくまで例である。図11の類似ファイルリスト操作ダイアログ1101は、ファイル操作反映手段全体を管理するダイアログである。類似ファイルリスト操作ダイアログ1101は、ファイル共有サーバ303内のフォルダとファイルを閲覧する階層フォルダ表示ウィンドウ1102、類似ファイルリスト提示ウィンドウ1103から構成される。さらにユーザがファイル操作を指示するボタン1109から1013を有する。
【0055】
類似ファイルリスト提示ウィンドウ1103上部には、ユーザ指定ファイル1104、下部には類似ファイル一覧1105が表示される。1104は、図3のユーザ指定ファイル306に対応するものである。類似ファイル一覧1105は、図3の類似ファイル検索プログラム310、図5のステップS534から呼出プログラムに返されたリスト、図8のリスト801から804のうち、1104が示すユーザ指定ファイルを除くファイルに対応するものである。
【0056】
階層フォルダ表示ウィンドウ1102においては、ユーザ指定ファイル、その他の類似ファイルリストのファイルシステムにおける位置を分かりやすくするため、ファイル名が強調表示されても良い。例では、ファイル1106が強調表示され、類似ファイルリスト提示ウィンドウ1103のユーザ指定ファイルと同一のものであることを示している。
【0057】
また、ファイル1108が他の色で強調表示され、類似ファイルリスト提示ウィンドウ1103の類似ファイル一覧1105のいずれかであることを示している。また、類似ファイル一覧1105の一部にチェック1107を付与することができる(本例では、左側の2つ)が、これらのファイルも階層フォルダ表示ウィンドウ1102で更に別の色で強調表示されても良い。
【0058】
前述の説明ではユーザ指定ファイル1104に対して行った操作を他の類似ファイルに反映するという点においてユーザ指定ファイルと他の類似ファイルは対等ではない。すなわち、ユーザ指定ファイルはユーザの操作が直接の反映されるファイルであり、他のファイルはユーザ指定ファイルに対する操作の反映を間接的にうける反映先に過ぎない。
【0059】
この点については、例えば図11の類似ファイルリスト提示ウィンドウ1103において改めてユーザがファイルを1つ指定し、その捜査結果を他の類似ファイルに反映しても良い。あるいは、GUI上、類似ファイル一覧1105から1つのファイルをマウスでダブルクリックし、そのファイルとユーザ指定ファイル1104との位置が入れ替わることで、ユーザ指定ファイルが改めて指定されるようにしてもよい。
【0060】
ユーザ指定ファイルが変われば、再度フローチャート図5を実施し類似ファイル一覧を再提示する場合も考えられる。また、あくまでその時点で提示されている類似ファイル一覧の中で、ユーザ指定ファイルと他の類似ファイルとを入れ替えるだけという場合も考えられる。従って他の類似ファイルから1つを改めてユーザ指定ファイルにした場合に、いずれの方式にするかをファイル管理装置の管理者、あるいはクライアントPCのユーザが指定可能であっても良い。
【0061】
「一括リンク生成」ボタン1111および「一括上書き」ボタン1112は、それぞれ後述する一括リンク生成、一括上書きの処理を実行するためにユーザが押下するためのボタンである。実際の処理対象となるのは、類似ファイル一覧1105のファイルのうち、左上チェックボックスがチェックされたものである。ユーザは処理対象としたいファイルの左上チェックボックスにチェックを入れる。
【0062】
ユーザが「全てのチェックを入れる」ボタン1109を押下すると、類似ファイル一覧1105の全ファイル左上チェックが入る。逆に「全てのチェックを外す」ボタン1110を押下すると全ファイル左上チェックが解除される。
【0063】
ユーザが「一括リンク生成」ボタン1111を押下すると、類似ファイル一覧1105のうち、チェックボックスがチェックされているファイルはファイル削除手段により削除される。さらに削除されたファイルが元もと存在したフォルダにはユーザ指定ファイルに対するリンクが生成される。このリンクは「ショートカット」と呼ばれることもある。図12は、当該処理を説明するフローチャートである。
まずステップS1201では、ユーザ指定ファイルが存在するフォルダのフルパス(絶対パス)と、ユーザ指定ファイル名を取得する。
【0064】
次にステップS1202からステップS1207までは、図11における類似ファイル一覧1105のファイルのうち、左上チェックボックスがチェックされたファイルに対する繰り返し処理が行われる。
【0065】
繰り返し処理の最初のステップS1203では、類似ファイル一覧1105のチェックボックスがチェックされているファイルから1つを取り出す。このファイルをファイルAとして以下の説明を進める。
ステップS1204では、ファイルAが格納されているフォルダ(絶対パス)とファイル名称を取得し、ステップS1205では、ファイルAを削除する。
【0066】
ステップS1206では、ステップS1204で取得したフォルダに、同じくステップS1204で取得したファイル名と同一のリンクを作成する。当該リンクのリンク先実体ファイルは、S1201で取得したユーザ指定ファイルである。
【0067】
図12のプログラムを実行した結果の例を、図13に示す。図13において表示されているフォルダ1301は、ファイルAがもともと格納されていたフォルダの状態を示している。フォルダ1302にそのフォルダが表示されている。図12の処理によりファイルA(ここではsample1.jpg)は削除されるが、新たにリンクを生成する。図3ではリンク名1303として元のファイル名と同一の名前で生成されている。またリンク先1304によりリンク名1303が実際にリンクしているファイルの実体を示している。
【0068】
次に図11の「一括上書き」ボタン1112について説明する。ユーザが「一括上書き」ボタン1112を押下すると、類似ファイル一覧1105のうち、チェックボックスがチェックされているファイルに対して、ユーザ指定ファイルの内容を上書きする。図14は、当該処理を説明するフローチャートである。
まずステップS1401では、ユーザ指定ファイルが存在するフォルダのフルパス(絶対パス)と、ユーザ指定ファイル名を取得する。
【0069】
次にステップS1402からステップS1405までは、図11における類似ファイル一覧1105のファイルのうち、左上チェックボックスがチェックされたファイルに対する繰り返し処理が行われる。
【0070】
繰り返し処理の最初のステップS1403では、類似ファイル一覧1105のチェックボックスがチェックされているファイルから1つを取り出す。このファイルをファイルAとして以下の説明を進める。
【0071】
ステップS1404では、ファイルAにユーザ指定ファイルの内容を上書きする。ループS1401からS1405を完了したら図14のフローチャートは完了する。
【0072】
図15は、ファイル共有サーバ上のファイルが更新された場合のイベント処理を実施するプログラムのフローチャートである。これは次の場合のうち、類似ファイルリストをリアルタイムに更新するために必要となるプログラムである。この前提としては、類似ファイルリスト一括作成プログラムにより、予め類似ファイルリストが生成されていることがある。
【0073】
すなわち図5のフローチャートではユーザ指定ファイルが指定されてから図8の類似ファイルリストを生成した。しかし類似ファイルリストは予め作成してもよい。この場合は、図5の第1のループ、全ファイルループS503からステップS513をユーザが類似ファイルリストの生成を指定するたびに実行する必要はなく、予め生成した類似ファイルリストをユーザに提示すればよい旨を前述した。ただしその場合には、ファイル共有サーバ303内のファイルの増減、更新がある場合に、リアルタイムに類似ファイルリストを更新するか、ファイルの増減、更新がある場合に差分を記憶しておくようにする。さらに類似ファイルリスト検索後に、差分のファイルについては類似ファイルの判定を実施し、あるいは削除されていることを確認し、前記類似ファイルリストを調整する必要がある。
【0074】
ファイル管理装置が起動された際に図15に示すプログラムが自動的に起動される。S1501では、図3の類似ファイル判定属性309から実際に類似ファイル判定属性に必要なファイル属性項目を取得する。
【0075】
ファイル管理装置が起動している間、ファイル共有サーバにおいて、ファイルが追加、削除、更新といったファイルイベントが発生した場合に対応できるよう、ステップS1502からステップS1516の繰り返しにより常に監視している。
【0076】
ステップS1503では、ファイルイベント取得をする。ステップS1504では、前述ファイルイベントの内容を判定し、ファイルイベントが発生していない場合には、ファイルイベント監視に戻る。ファイルイベントが新規ファイル生成である場合には、ステップS1509までの処理をスキップし、ステップS1510に進む。
【0077】
ファイルイベントがファイルの削除または更新(既存ファイルの内容の変更)の場合にはステップS1505において当該ファイルイベントに対応するファイル(以下ファイルAとする。)から、類似ファイル検索に使用するファイル属性値を取得する。ただし、ステップS1505で処理対象となるファイルは、既に削除されたか、更新されたファイルであるが、削除あるいは更新前のファイル属性を取得する必要がある。従って、図15のフローチャートには示していないが、ファイルに対する処理が完了した時点だけではなく、何らかの操作が開始されようとした時点で、ファイルイベントとして抽出できるようにしても良い。さらに前記ファイルに対する操作を実行する前のファイル属性およびファイル内容を取得、記憶し、類似ファイルリストの検索時に使用する。ステップS1505で取得するファイル属性は、前記記憶された操作前のファイル属性の値である。
【0078】
ステップS1506では、図10の類似ファイルリストのインデックスから、前記ファイル属性値とファイル内容に基づき、類似ファイルリストを検索する。ステップS1507では前記検索において検索結果として得られた類似ファイルリストから、ファイルAに関する情報を削除する。この処理の結果、前記類似ファイルリストに登録されているファイル数をステップS1508において確認する。前記類似ファイルリスト内のファイル情報が0個であれば、この類似ファイルリストはそれ自体が不要になるため、ステップS1509において削除し、図10の類似ファイルリストのインデックスからも削除する。
【0079】
以上の処理において、インデックスから削除すべきファイル情報、類似ファイルリストに関する処理が終了した。ステップS1510によりもともとのファイルイベントの内容を再確認しが「削除」であった場合には、これで全ての処理が完了するので、ファイルイベント監視に戻る。ファイルイベント内容が更新である場合には、前述の処理で、ファイルAが登録されていた類似ファイルリストから一端削除されたが、改めて別の類似ファイルリストに登録する必要があるのでステップS1511以降の処理に進む。新規ファイル生成のときも同様にステップS1511以降の処理に進む。
【0080】
ステップS1511では、処理対象のファイルAからファイル属性を取得する。ファイルイベントが新規ファイル生成である場合には、この時点までファイル属性は取得しておらず、またファイルイベントが更新の場合、ファイルAのファイル属性を一度取得しているが、それらは、更新前のファイル属性である。ここでは、ファイルが新規生成後、あるいはファイル更新後のファイルAのファイル属性値を改めて取得する必要がある。
【0081】
ステップS1511でファイルAのファイル属性を取得後、ステップS1512では、図10の類似ファイルリストのインデックスから、前記ファイル属性値とファイル内容に基づき、類似ファイルリストを検索する。検索結果としてステップS1513では類似ファイルリストが存在するかどうかを判断する。類似ファイルリストが存在しない場合には、ステップS1514類似ファイルリストを作成し、図10のインデックスに追加する。
【0082】
ステップS1515では、ステップS1512で検索された類似ファイルリストあるいは、存在しない場合にはステップS1514で生成した類似ファイルリストに、ファイルAの情報を追加する。
【0083】
以上の処理によりファイルAに対するリアルタイムな類似ファイルリストの生成は終了する。本処理終了後、ステップS1502からステップS1516の繰り替えし処理に戻る。すなわち次のファイルイベントの監視を再開する。以上が図15のフローチャートの説明である。
【0084】
以上、図15においては、ファイル管理装置が起動している間のファイル共有サーバに関する監視のみを説明した。しかし、ファイル共有サーバは起動しているにもかかわらずファイル管理装置が起動していない場合も想定され、対応が必要である。この様な状況が想定されるのであれば、ファイル共有サーバ側に、ファイル管理装置が停止している間に発生したファイルイベントに関する情報を記憶させてもよい。そしてファイル管理装置が起動した際に、それらのファイルイベントを図15のプログラムでチェックさせる方法、あるいは図15のフローチャートの最初に、ファイル共有サーバを確認する処理を追加する。この処理は、ファイル管理装置が前回停止してから、起動するまでの間のファイル関連の更新状況をチェックし、類似ファイルリストに反映するようにしても良い。図15で示したフローチャートおよび前述のファイル管理装置が停止している間のファイル更新に関する説明はあくまで一例であり、類似ファイルリスト更新手段は、他の如何なる方式によっても類似ファイルリストを最新状態にするものであればよい。
【0085】
また、本発明の目的は、以下の処理を実行することによって達成される。即ち、上述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)が記憶媒体に格納されたプログラムコードを読み出す処理である。
【0086】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0087】
また、プログラムコードを供給するための記憶媒体としては、次のものを用いることができる。例えば、フロッピー(登録商標)ディスク、ハードディスク、光磁気ディスク、CD−ROM、CD−R、CD−RW、DVD−ROM、DVD−RAM、DVD−RW、DVD+RW、磁気テープ、不揮発性のメモリカード、ROM等である。または、プログラムコードを、ネットワークを介してダウンロードしてもよい。
【0088】
また、コンピュータが読み出したプログラムコードを実行することにより、上記実施の形態の機能が実現される場合も本発明に含まれる。加えて、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【0089】
更に、前述した実施形態の機能が以下の処理によって実現される場合も本発明に含まれる。即ち、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行う場合である。
【0090】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した各実施の形態の機能が実現される場合も本発明に含まれる。加えて、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOSなどが実際の処理の一部または全部を行い、その処理によって前述した実施の形態の機能が実現する場合も含まれる。
【0091】
この場合、上記プログラムは、該プログラムを記憶した記憶媒体から直接、またはインターネット、商用ネットワーク、若しくはローカルエリアネットワーク等に接続された不図示の他のコンピュータやデータベースなどからダウンロードすることにより供給される。
【0092】
上記プログラムの形態は、オブジェクトコード、インタプリタにより実行されるプログラムコード、OS(オペレーティングシステム)に供給されるスクリプトデータ等の形態から成ってもよい。
【符号の説明】
【0093】
101 ファイル管理装置
102a ファイル共有サーバ
102b ファイル共有サーバ
103a クライアント
103b クライアント
201 CRT
202 入力デバイス
203 CPU
204 RAM
205 ROM
206 外部記憶装置
207 ネットワーク・インタフェース
208 バス
301 クライアントPC
302 ファイル管理装置
303 ファイル共有サーバ
304 ファイル選択プログラム
305 ファイル提示プログラム
306 ユーザ指定ファイル
307 ファイルシステム上のファイル
308 類似ファイル判定属性登録プログラム
309 類似ファイル判定属性
310 類似ファイル検索プログラム
311 類似ファイル一覧


【特許請求の範囲】
【請求項1】
格納されているファイルを管理するファイル管理装置であって、
ユーザが指定したファイルと類似するファイルを検索する類似ファイル検索手段と、
前記類似ファイル検索手段を、前記ファイル管理装置が管理するファイルを対象として実行し、類似していると判定されたファイルをユーザに提示する類似ファイル一覧提示手段と、
前記類似ファイル一覧提示手段において、ユーザが1つのファイルに実施した操作を、前記類似ファイルのファイルに対して反映するファイル操作反映手段と、
を有するファイル管理装置。
【請求項2】
前記類似ファイル検索手段において、ファイル属性の値を検索条件として利用することを特徴とする請求項1に記載のファイル管理装置。
【請求項3】
前記類似ファイル検索手段において、ファイル内容が同一または類似であることを検索条件として利用することを特徴とする請求項1または請求項2に記載のファイル管理装置。
【請求項4】
前記類似ファイル一覧提示手段において、1つのファイルをリンク先の実体となるファイルとしてユーザに選択させる第1のファイル選択手段と、
1つまたは複数のファイルを削除されるファイルとしてユーザに選択させる第2のファイル選択手段と、
前記第2のファイル削除手段により選択されたファイルを削除するファイル削除手段と、
前記ファイル削除手段により削除されたファイルがもともと格納されていたフォルダに前記第1のファイル選択手段で選択されたリンク先実体ファイルに対するリンクを生成する一括リンク生成手段と、
を有する請求項1乃至請求項3に記載するファイル管理装置。
【請求項5】
前記類似ファイル一覧提示手段において、1つのファイルを上書き用の元となるファイルとして選択する第3のファイル選択手段と、
1つまたは複数のファイルを上書きされるファイルとしてユーザに選択させる第4のファイル選択手段と、
前記第3のファイル選択手段で選択されたファイルを前記第4のファイルで選択された1つまたは複数のファイルに上書きする一括上書き手段と、
を有する請求項1乃至請求項4に記載するファイル管理装置。
【請求項6】
格納されているファイルを管理するファイル管理装置であって、
前記類似ファイル検索手段を用い、ファイル管理装置が管理するファイルに対して、類似ファイルのリストを予め作成する類似ファイルリスト一括作成手段と、
前記類似ファイルリスト一括作成手段により類似ファイルリストを作成した後、ファイル管理装置が管理しているファイルに、新規生成、変更、削除の更新があった場合に、それをファイルイベントとして取得するファイルイベント取得手段と、
前記ファイルイベント取得手段により、新規生成、変更、削除の更新があったファイルに対して前記類似ファイルリストを更新する類似ファイルリスト更新手段と、
を有する請求項1乃至請求項5に記載するファイル管理装置。
【請求項7】
格納されているファイルを管理するファイル管理方法であって、
ユーザが指定したファイルと類似するファイルを検索する類似ファイル検索ステップと、
前記類似ファイル検索ステップを、前記ファイル管理方法が管理するファイルを対象として実施し、類似していると判定されたファイルをユーザに提示する類似ファイル一覧提示ステップと、
前記類似ファイル一覧提示ステップにおいて、ユーザが1つのファイルに実施した操作を、前記類似ファイルのファイルに対して反映するファイル操作反映ステップと、
を有するファイル管理方法。
【請求項8】
格納されているファイルを管理するファイル管理装置を実行させるためのプログラムであって、
ユーザが指定したファイルと類似するファイルを検索する類似ファイル検索手段と、
前記類似ファイル検索手段を、前記ファイル管理装置が管理するファイルを対象として実施し、類似していると判定されたファイルをユーザに提示する類似ファイル一覧提示手段と、
前記類似ファイル一覧提示手段において、ユーザが1つのファイルに実施した操作を、前記類似ファイルのファイルに対して反映するファイル操作反映手段として機能させるためのプログラム。
【請求項9】
請求項8に記載されたプログラムをコンピュータ読み取り可能に記録した記憶媒体。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate