(57)【特許請求の範囲】
【請求項１】
コンピュータのファイル管理機能であるエクスプローラ上の実ファイルにパス情報で対応づけされた仮想ファイルを、利用者が形成したデータ構造に登録し、上記データ構造を検索することにより上記実ファイルへのアクセスを可能とする仮想的なファイル管理機構を有する仮想ファイル管理方式において、
上記仮想ファイル管理機構のデータ構造として、ツリー型の階層構成をなす複数のプレーンからなり、上記プレーンには上記仮想ファイルを登録するノードが配置され、プレーン内のすべてのノードはプレーン内リンクで相互に接続された完全グラフを形成し、かつ上位プレーン上の所定ノードともプレーン間リンクで接続された構成を有し、
上記仮想ファイル管理機構は、上記データ構造をテーブルとして登録するデータベースと、 上記データ構造を表示する手段と操作する手段である仮想ファイル操作ウィンドウとを備え、利用者による上記仮想ファイル操作ウィンドウの操作に対応して初期ノード登録処理とノード追加・削除処理とファイル登録処理とファイル削除・修正処理と検索処理とを行うモジュールを有し、
上記初期ノード登録処理モジュールは、上記データ構造の最上位プレーンを生成して、利用者が指定した名称を持つノードを登録する手段を有し、
上記ノード追加・削除処理モジュールは、利用者が上記仮想ファイル操作ウィンドウで指定したプレーン中のノードに対応した下位プレーンを生成する手段と、プレーン中にノードを追加する手段と、ノード間を上記プレーン内リンクおよびプレーン間リンクで接続する手段と、ノードおよびこのノードに繋がるリンクを削除する手段とにより、上記データベース中に上記データ構造を構成し、
上記エクスプローラ上で選択したファイルを上記仮想ファイル操作ウィンドウ中の選択したノード上にドラッグアンドドロップする利用者の操作に対応して、上記ファイル登録処理モジュールは、関数を用いて上記実ファイルのパス情報を上記エクスプローラから取得し、キーワードを付けて上記ノードに仮想ファイルとして登録する手段を有し、
上記検索処理モジュールは、上記仮想ファイル操作ウィンドウ中に表示されたデータ構造上で利用者により指定されたノードを出発ノードとして、上記ノードにプレーン間リンクおよびプレーン内リンクで接続されたすべての下位プレーン上のノードを順にたどり、登録された仮想ファイルをキーワードで検索する手段、および上記検索された仮想ファイルに登録されたパス情報に対応した上記エクスプローラ上の実ファイルを取得する手段と、
を有することを特徴とする仮想ファイル管理方式。
【請求項２】
上記請求項１に記載したツリー型階層構成をなす複数のプレーンからなるデータ構造において、上記仮想ファイル管理機構は、各プレーン上で登録順に付けられるノード番号を基にすべてのノード間を結ぶプレーン内リンクに昇順に重みを付与し、ノード毎にこれに繋がるプレーン内リンクの重みの合計値を求めて、上記合計値の小さい順にノードの優先度を決定する手段と、最高優先度を有するノードとプレーン間リンクで接続された上位プレーン上のノードを当該プレーンの検索における起点ノードとして、上記優先度に従った検索ルートをたどって、キーワードを用いてノードに登録された仮想ファイルを検索する手段を有し、
目標の仮想ファイルを有するノードが検出された時には、「当該ノードにつながるプレーン内リンクの重みを１上げ、これと同一の重みを有する他のプレーン内リンクの重みのみを１下げて重みの入れ替えを行う、但し、上記重みの入れ替えを行う対象のプレーン内リンクが、当該ノードが持つリンクの時にはその重みを変更しない」アルゴリズムを用いて、当該プレーン上のプレーン内リンクの重みを再設定し、新たに設定された上記プレーン内リンクの重みを用いてノードの優先度を再設定するようにして、プレーン内のノードの優先度を動的に変化させる手段を備え、
上記検出された仮想ファイルを有するノードへの再検索の速度を向上させることを特徴とする請求項１に記載の仮想ファイル管理方式。
【請求項３】
上記請求項１に記載のデータ構造において、上記仮想ファイル管理機構は、同一プレーンにあるノードとプレーン間リンクで接続された上位プレーンまたは下位プレーンにあるノード以外のノードとの間を関係リンクで接続する手段を有し、利用者が上記仮想ファイル操作ウィンドウに表示されるデータ構造のノードを選択して表示されたウィンドウで、上記ノードと関連するノードを指定する操作に基づき、上記二つのノード間を上記関係リンクで結ぶことにより、検索処理の過程が上記関係リンクを有するノードに達したときに、上記関係リンク先のノードに登録されている仮想ファイルを優先して検索することを特徴とする請求項１に記載の仮想ファイル管理方式。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、コンピュータ、特にパーソナルコンピュータ（以下、パソコンと略称する）のオペレーティングシステム（以下、ＯＳと略記する）のファイル管理機構が提供するディレクトリ構造を意識することなく、利用者がウィンドウを可視的に操作してファイルアクセスと検索ができる仮想的なファイル管理機構とデータ構造に関する。
【０００２】
【従来の技術】
従来のパソコンでは、例えばC:\などのディレクトリ群を設けて、ルートディレクトリ下に階層的にサブディレクトリを設定してそこにファイルを格納するツリー型のデータ構造を有するファイル管理機構を用いている。利用者はフォルダと呼ばれるディレクトリを順に開いて目的のファイルを取得する。また、上記ＯＳに標準の機能としてファイル検索機能を備えている。
【０００３】
【発明が解決しようとする課題】
上述した階層型ディレクトリ構造でファイルを管理する場合、目的のファイルにアクセスするには、ファイルの格納場所もしくはそこへたどり着くパスを知っていることが必要となる。近年、ハードディスクドライブの大容量化、書き込み型ＤＶＤドライブなどの普及により格納するファイル数やサイズが飛躍的に増えた。またディレクトリ構造の複雑化を避けるために、ハードディスクドライブの記憶領域を論理的に区切りパーティションを設定してＤ：￥、Ｅ：￥、・・・等の複数のディレクトリ群を設けて、ファイルの種類ごとに配置することも行われる。しかし、ファイルの種類と数が増えて分類するディレクトリの階層が深くなり複雑になると、どの種類のファイルをどのフォルダに格納したのかをすべて記憶しておくことが不可能になってファイルアクセスが速やかにできない。また、ＯＳ標準の検索システムでも検索されたフォルダやファイルが多数になると、検索速度が遅くなったり、キーワード（検索語）と合致するファイルが多数表示されるなど効率的なファイルアクセスやファイル検索ができなかった。
【０００４】
この発明は、上記課題にかんがみてなされたもので、パソコンの複数のディレクトリ群とＬＡＮなどに接続されたリモートパソコンの共有フォルダや共有ディスクのディレクトリ構造を利用者が意識することのない、仮想ファイル管理機構のデータ構造とソフトウェア実現方法とを提供することを目的とする。
【０００５】
【課題を解決するための手段】
上記目的を達成するために、請求項１にかかわる発明は、既存のＯＳのファイル管理機構の上位すなわちアプリケーションとして実現される仮想ファイル管理機構で、ノードとそれらを結ぶリンクからなり、利用者は知識体系や記憶を反映したファイル関係性を持つ独自のデータ構造を形成できる。このために、利用者が表示される仮想ファイル操作ウィンドウを明示的に操作できるように構成してある。ここにノードとは、既存ＯＳのディレクトリやフォルダに相当する。利用者がキーワードを付けたノードを追加またはすでに登録されているノードを削除してデータ構造を作成する手段と、ＯＳのファイル管理機構であるエクスプローラが管理するファイルや共有ファイルにパス情報で対応づけされた仮想ファイルを、上記データ構造中のノードに登録する手段、任意のノードを出発ノードとしてキーワードを用いて仮想ファイルを検索する手段を備えている。
【０００６】
この手段を適用することで、利用者はディレクトリ群の種類や、その中のフォルダやファイルが存在する論理的な位置、あるいはそれらが使用しているパソコン上にあるか、あるいはＬＡＮで接続されたリモートパソコンにあるかという物理的な位置を意識することなくアクセスしたりファイル検索を出来る構造を提供する。
【０００７】
また本発明の仮想ファイル管理方式のデータ構造は、階層構造を形成する複数のプレーンから構成され、各プレーンには重み付けされたリンクで相互接続される複数のノードを有し、上位プレーンのノードは下位プレーンのノードにリンクで結ばれる構成としてある。利用者が、上記仮想ファイル操作ウィンドウを明示的に操作して上記プレーンやノードを追加または削除して構成する手段を提供している。
【０００８】
仮想ファイル管理機構は、上記プレーン中のノードを結ぶリンクに付けられる重みを基にノードの優先度を決定する。検索処理ルーティンは利用者が指定したノードを出発ノードとして、上記階層型のデータ構造のリンクをノードの優先度順にたどりながらキーワードを用いて目的の仮想ファイルを有するノードを検索する。検索処理ルーティンは検索された仮想ファイルが有するフルパスをＯＳのエクスプローラに渡して、このフルパスに対応したファイルの内容を表示する手段を実現している。検索された仮想ファイルを有するノードが決定するとプレーン上のリンクの重みを動的に変化させることでプレーン上のノードの優先度を更新して、再検索の速度を向上させる機能を備える。なお以下の説明では、エクスプローラ上のファイル（実ファイル）と明らかに区別できる場合には、仮想ファイル管理機構が扱う仮想ファイルを単に「ファイル」と記述する。
【０００９】
上記仮想ファイル管理機構は、ノードを追加するとき、あるいは利用者が上記仮想ファイル操作ウィンドウ上でノードの接続関係を明示的に指定したときには、そのノードがすでにリンクで接続されているノード以外のノードの間を関係リンクで接続する機能を有する。関係リンクによりノードまたはファイル検索ルートが変更される。検索処理の過程が上記関係リンクを有するノードに達すると、上記関係リンク先のノードを優先して検索することで検索速度を向上させる構成を備えている。
【００１０】
【発明の実施の形態】
以下、この発明の実施形態について図面を参照して説明する。図１はこの仮想ファイル管理方式の構成を概略的に説明したものである。以下の実施例においては、この発明を代表的なパソコンのＯＳであるＷｉｎｄｏｗｓ上で実施した例で説明する。
【００１１】
図１において、ローカルネットワークなどのネットワーク１にはＯＳ２ａで動作するパソコンＰＣａと、ＯＳ２ｂで動作するリモートパソコンＰＣｂが接続されている。パソコンＰＣｂにはｍａｇｐｉｅという名前が付けられているものとする。３ａと３ｂ等３はそれぞれ、ファイル５ａ、５ｂ等５が格納されたフォルダ４ａ、４ｂ等４を有するディレクトリ群で、それぞれＯＳ２ａ、ＯＳ２ｂのファイル管理の制御下にある。特にフォルダ４ａは、パソコンＰＣａなどネットワーク１上の他のパソコンの利用者１７）が使用できる共有フォルダ、３ｂは共有ファイルである。また、１６は共有設定されたＣＤ−ＲＯＭなどの共有ドライブである。６ａ、６ｂ等６はエクスプローラで、アプリケーションプログラムや利用者がファイル操作やアプリケーションの起動などＯＳの機能を操作するときに使うシェルプログラムである。
【００１２】
この発明の仮想ファイル管理システムを制御する仮想ファイル管理機構８は、データベース１４に記録された各種のテーブルとプログラミング言語が公開しているアプリケーションプログラムインタフェース（ＡＰＩ）７の関数とを用いて、所要の処理を実行する各種のプログラムモジュールから構成される。このＰＣａの利用者１７は、上記仮想ファイル管理機構８が提供する仮想ファイル操作ウィンドウ１５のメイン画面であるノード操作ウィンドウ３０上に表示されたデータ構造を操作して目標ノードに登録されている仮想ファイルに対応した実ファイルにアクセスする。この仮想ファイル操作ウィンドウ群１５では、利用者１7がノード操作ウィンドウ３０を操作した状況に合わせて各種のメッセージを含むウィンドウに切り替えられる。図４は、上記ノード操作ウィンドウ３０の構成例である。
【００１３】
この仮想ファイル管理機構８は、この発明の仮想ファイル管理システムを実現するソフトウェアで、複数の処理モジュールから構成されている。初期ノード登録処理モジュール１１、ノード追加・削除処理モジュール１２によりデータベース１４上にデータ構造を形成する。このデータ構造を形成するノード中に、ファイル登録処理モジュール９で、エクスプローラ６ａに表示されたファイル５ａや共有ファイルを仮想ファイルとして登録する。またファイル削除・修正処理モジュール１０で、この仮想ファイルをノードから削除したり、登録してある仮想ファイルのキーワードを変更できる。検索処理モジュール１３は、データ構造を用いてファイル検索を実行する。データベース１４には、プレーンテーブル、ノードテーブル、ファイルテーブル、リンクテーブル、関係テーブルなどがあり、それらのテーブルを形成するレコードは、プレーンやノードの関係がポインタで結ばれてデータ構造が形成される。
また、これらのモジュールは仮想ファイル操作ウィンドウ群１５を介して利用者と協調してデータベース１４中のデータ構造を形成したり、ファイルの登録ないしは削除処理を実行する。
【００１４】
図２は、上記仮想ファイル管理機構８が多数の仮想ファイルを構造化するデータ構造の一例を示し、２０ａ、２０ｂ、２０ｃ、２０ｄなど階層構造を形成するプレーン２０と、それらプレーン２０内には利用者１７の指定により任意にノード２１が配置される。さらに各プレーン２０内のノード２１は重みを与えられたプレーン内リンク２２で相互接続され完全グラフを形成する。例えば、ノード２１ｂはプレーン内リンク２２ａ、２２ｂ、２２ｃでそれぞれノード２１ｄ、２１ａ、２１ｃに接続される。一般に、プレーン内にｎ個のノードがあるとき、あるノードが有するリンクの数はｎ−１個である。プレーン２０aをプレーン２０ｂ、２０ｃの上位プレーン、逆にプレーン２０ｂ、２０ｃをプレーン２０ａの下位プレーンと呼ぶ。また、上位プレーンを持たないプレーン２０aを最上位プレーン、下位プレーンを持たないプレーン２０ｄを最下位プレーンと呼ぶ。さらにノードの相対的な位置関係を明確にするときには、上位プレーン上のノードを上位ノード、その逆に下位プレーン上のノードを下位ノードと呼ぶ。上位ノードは、プレーン間リンク２３によりその上位ノードに関係した下位プレーン内のすべてのノードと結ばれる。例えばノード２１ｂは、下位プレーン２０ｂ内のすべてのノード２１e、２１ｆ、２１ｇとそれぞれプレーン間リンク２３a、２３ｂ、２３ｃで相互接続される。プレーン内リンク２２とプレーン間リンク２３とを区別しなくとも自明なときには、単にリンク２２、２３と記す。ノード２１内のＰ１、Ｐ２、・・・等Ｐの添字はそのノードのプレーン内における優先度を示す。また２４aと２４ｂは関係リンクである。
【００１５】
図２に例示したデータ構造は、共有フォルダを含むパソコンＰＣaのディレクトリ３ａの構造を仮想化した新たなデータ構造である。利用者により設定されたデータ構造は、図４に示すように仮想ファイル操作ウィンドウ３０のノード表示エリア３１に見やすい形で表示される。利用者は、エクスプローラ６ａが示すディレクトリ構造中のフォルダ３ａやファイル５ａをマウスでドラッグアンドドロップして、ノード表示エリア３１上に表示されている適当なノードに重ね合わせる操作をすることで、利用者が選択したフォルダやファイルのフルパスとフォルダ名やファイル名が、それぞれ仮想フォルダや仮想ファイルとして登録される。
【００１６】
ノード操作ウィンドウ３０の画面形式は自由に設計できるが、データ構造全体を表示すると複雑になるので、図４のようにプレーンごとに表示する方法を例示してある。図４はノード２１ｅ、２１ｆ、２１ｇの３つのノードが登録されているプレーン２０ｂの表示画面である。ソード表示エリア３１の右上には上位ノード２１ｂが表示されている。
【００１７】
図２のデータ構造を用いて、仮想ファイル管理機構８の基本的な動作を説明する。利用者がこの仮想ファイル管理機構８のソフトウェアを起動すると、初期ノード登録処理モジュール１１がノード操作ウィンドウ３０上に初期ノード登録画面（図示せず）を表示する。この画面には、例えば３個のノードの名称とそのキーワードを記入するフィールドが設けられている。その各フィールドに利用者が記憶しやすいノード名（例えば、読書、文献、会社など）とキーワードを付ける。ノード表示エリア３１には、最上位プレーン２０ａのノード２１ａ、２１ｂ、２１ｃにそれらの名前が付いた、ノード内リンク２２で相互接続された３個のノードからなるデータ構造が表示される。
【００１８】
ノード追加・削除処理モジュール１２は、指定したプレーンにノードを追加したり、下位プレーンを作成してそこにノードを追加する。最上位プレーン２０ａのノード２１ｂをクリックすると、ポップアップメニュー３５が表示され、「ノードの追加」を選択すると、ノード追加画面が生成されるので、利用者１７はノード２１ｅの名称、例えば「人口知能」とキーワードなどを記入して登録指示をする。この段階で、下位プレーン２０ｂが生成される。プレーン名表示フィールド３４には、上位プレーン２０ａのノード２１ｂのノード名「文献」が記入される。ノード間リンク２３ａでノード２１ｅとの接続関係が表示される。
【００１９】
ノード表示エリア３１で、ノードを示す円を右クリックして表示されるポップアップメニュー３５から「ノード追加」を選択すると、「インターネット」ノード２１ｆ、同様にして「ＬＡＮ」ノード２１ｇが登録される。
【００２０】
ノードを追加していき、利用者１７独自のカテゴリ化されたノード構成、すなわちデータ構造が完成したら、ファイル登録処理モジュール９でファイルを登録する作業をする。ファイルの登録は登録したいファイル５ａをエクスプローラ６ａが表示する階層型ディレクトリ上から選択して、ノード表示エリア３１中のそのファイルを登録したいノード２１（図２の例ではノード２１ｇ）にドラッグアンドドロップすることで行う。このとき、ドラッグするファイル数は1つでも複数でもよい。またフォルダ４ａでもよい。プログラム記述言語の関数を用いることで、ファイル登録処理モジュール９はその実ファイル５ａの環境変数を入手できるので、この中からファイル名とフルパスを入手し、ファイル登録画面に表示する。利用者はファイル名を確認してその実ファイル５ａに対する適当なキーワードをフィールドに書き込んで、図２のように、ノード２１ｇに仮想ファイル５ａとして登録を指示する。
【００２１】
ファイルの登録状況を確認するには、ノード表示エリア３１で、該当ノード２１ｇを右クリックしてポップアップメニュー３５を表示させ、「登録ファイル」を選択する。ノード表示エリア３１の横のリスト部３６に登録ファイルリストが表示されるように構成する。
【００２２】
ファイルをどのノードに登録するか判断に迷ったとき、あるいは登録ノードを決定するのが面倒なときには、ノード表示エリア３１において、ノードを表す円以外の表示エリア３１にドラッグアンドドロップする。このときには、ファイル登録処理モジュール９は検索処理モジュール１３にそのファイルの名前をキーワードとして渡し、該当するノードの検索を要求する。上記検索処理モジュール１３は、すでに登録されているノードあるいはファイルに付けられたキーワードを用いてノード検索を実行し、見出したノード番号を上記ファイル登録処理モジュール９に返す。上記ファイル登録処理モジュール９は上記ノード番号を元にそのノードに該ファイルを登録する。
【００２３】
共有ファイル５ｂを登録する場合も同様である。パソコンＰＣａのエクスプローラの「ローカルネットワーク」ウィンドウに表示されたリモートのパソコンＰＣｂの名前Ｍａｇｐｉｅを指定すると共有フォルダ４ｂのアイコンが表示され、さらにその中の共有設定されたファイル５ｂが、エクスプローラ６ａのウィンドウに表示される。そこでファイル５ｂをノード表示エリア３１上のノード例えば２１ｂにドラッグアンドドロップすると、上記ローカルファイル５ａの場合と同様にファイル登録処理モジュール９がファイル登録処理を実行する。
【００２４】
ノードの削除では、ノード表示エリア３１のノード、例えば２１ｆ上で右クリックして表示されるポップアップメニュー３５から「ノードの削除・変更」をクリックする。ノード追加・削除処理モジュール１２が該ノード２１ｆの削除を実行する。このときにはそのノード２１ｆに記憶されていたファイルの情報と下位プレーン２０ｄ上のノード２１ｎ、および他のノードを結んでいるすべてのリンクは切断される。
【００２５】
検索処理モジュール１３は、ノードとその中に格納されたファイルの検索を実行する。この検索を高速に行うために、ノード間リンクの重みにもとづきノードの優先度Ｐを決定する必要がある。
【００２６】
図３は、検索アルゴリズムを示し、図３（Ａ）はプレーン２０ｂの検索前の状態を、図３（Ｂ）は検索後の状態を示している。プレーン内のノードの優先度Ｐは、プレーン内リンクの重みを元に決められる。プレーン２０ｂは、利用者１７が上位ノード２１ｂに付けた「文献」と同じプレーン名を持つ。このプレーンのデータ構造は、ノード２１ｅ、２１ｆ、２１ｇの順に生成されるものとする。リンクの重みはノードが生成された順をもとに付けられる。例えば、ノード２１ｆの次にノード２１ｇが追加されると、プレーン内リンク２２ｊの重みは「２」、リンク２２ｋの重みは「３」となる。
【００２７】
ノードの優先度は、ノードが有するリンクの重みの合計値を計算し、その値が小さい順に決定する。図３（Ａ）でノード２１ｅのリンクの重みの合計値は「３」で最も小さいので優先度が最も高いＰ１となり、ノード２１ｆが優先度２「Ｐ２」、ノード２１ｇは優先度３の「Ｐ３」となる。ノード表示エリア３１においては、画面を簡潔にするためにプレーン間リンクは、最高優先度Ｐ１のノード２１ｅと上位プレーン２０ａとを結ぶ２３ａのみが表示される。
【００２８】
プレーン内リンクの重みは、初期ノード登録処理モジュール１１、ノード追加・削除処理モジュール１２、検索処理モジュール１３などがノードを登録ないし削除したときに設定される。それらのプレーン内リンク２２の重みが変更になると、その重みを使用してノードの優先度Ｐを設定し直す。
【００２９】
目標のファイルが、プレーン２０ｂ中で優先度が「Ｐ３」と最も低いノード２１ｇにある場合を例に、検索動作を説明する。利用者がノード操作ウィンドウ３０のキーワード入力フィールド３２に検索用のキーワードを入力し、開始ノード（例えば図２における最上位プレーン２０ａのノード２１ａ）を指定して検索ボタン３３を押すと検索を開始する。先ず上記ノード２１ａのファイルを検索する。そこにキーワードと一致するファイルがないと、次に優先度が高い「Ｐ２」のノード２１ｂを検索する。次にノード２１ｂの下位プレーン２０ｂの検索に移り、ノードの優先度Ｐにしたがい図３（Ａ）の検索ルート２５ａに示すように、ノード２１ｅ，２１ｆの順に検索する。２１ｆに該当ファイルが見つからないと、下位ノード２１ｎがある最下位プレーン２０ｄ上を検索する。このノード２１ｎ以下には下位プレーンが無いので上位プレーン２０ｂに戻りノード２１ｇを検索して、そこに目標のファイルを見出す。
【００３０】
検索対象のファイルがノード２１ｇで検索されると、次のアルゴリズムでリンクの重みを変更し、ノードの優先度を再設定する。図３（Ｂ）のように上記ノード２１ｇに接続されているプレーン内リンク２２ｊまたは２２ｋの重みを−１する。例えば、リンク２２ｊの重みを２から１に変更する。このとき、このノード２１ｇに接続されていないリンク２２ｉの重みを＋１して２とし、リンク２２ｊと２２ｉの重みの入れ替えを行う。リンク２２ｋの重みは変更されない。あるいは先にリンク２２ｋの重み３を−１した場合に、変更後の重みと同一の値（この例では重み２）を持つリンク２２ｊがノード２１ｇにあるので、重みの入れ替えは行わない。なお、仮にこのノード２１ｇに重み１のリンクがあった場合には、その値を変更しない。
ここで更新されたリンクの重みを用いて上述のようにノード２１の優先度を再計算すると、ノード２１ｅの優先度は「Ｐ１」で変化せず、ノード２１ｇが「Ｐ２」、ノード２１ｆが「Ｐ３」となり、ノード２１ｆと２１ｇの優先度が入れ替わる。これにより、ノード２１ａ（優先度Ｐ２）から同じファイル検索をすると、図３（Ｂ）に示す検索ルート２５ｂに示すように、ノード２１ｂを経由して検索ファイルがあるノード２１ｇに達する。さらに、検索ルート２５aを逆にたどり、ノード２１ｂが検索ファイルを持つと考え、最上位プレーン２０ａ上の４個のノードの優先度を再設定する。この段階でノード２１ｂの優先度は「Ｐ１」となる。次に、同様なファイル検索を行うと、ノード２１ｇは「Ｐ１」と最高優先度となる。したがって同じファイル検索をすると、最新の検索ルート２５は、上位プレーン２０ａ上のノード２１ｂからプレーン間リンク２３ｃを通ってノード２１ｇに直接達する。このように、同じノード上のファイル検索すなわち同じキーワードで検索を繰り返すと、検索ルート２５が短くなり、検索速度が大幅に向上する。
【００３１】
キーワードに指定したファイルを有するノードが検出されると登録ファイルリスト（ファイル名）がノード操作ウィンドウ３０のリスト部３６に表示される。その中から参照するファイルを選択してダブルクリックすると、検索処理モジュール１３はフルパスをエクスプローラ６ａに渡し、エクスプローラが目的のファイルをオープンする。
このように、この発明の仮想ファイル管理システムでは、利用者は仮想ファイル管理機構８が扱うノード操作ウィンドウ３０のみを用いて実ファイルである５ａ、５ｂあるいはフォルダ４ａ、共有フォルダ４ｂあるいは共有ドライブ１６にアクセスすることができる。
【００３２】
検索操作においては、上記のように開始ノードを指定して検索処理モジュール１３にファイル検索処理を行わせる。ファイル登録ノードを記憶しているときには、利用者はノード表示エリア３１上のノード、例えば人工知能ノード２１eを直接指定してポップアップメニュー３５から「登録ファイル」を選択し、登録ファイルをリスト部３６に表示させファイルをオープンできる。また、開始ノードを指定しないで検索ボタン３３を押したときには、ノード表示エリア３１上に表示されているノードの中で、優先度が一番高いノードが自動的に開始ノードとなる。
【００３３】
検索速度をさらに向上させるために、仮想ファイル管理機構８は、図２に示すように、ノードを登録するときにノード間を関係リンク２４で結ぶ手段を提供する。関係リンク２４は、すでにノード間リンクが存在するノード以外の他のプレーン上のノードと結ぶことができる。図２において、ノード２１ｎは上位プレーン２０ａのノード２１ｂと、またノード２１ｆは同位プレーン２０ｃのノード２１ｉと結ばれている。ノード追加・削除処理モジュール１２は、新規ノード追加時にそのノードの名前と同じノードがすでにデータ構造中にあれば、上記の条件を満たしていれば自動的に関係リンクを結ぶ。また、ノード表示エリア３１のノード部分を右クリックし、ポップアップメニュー３５の「関係リンクの追加」を選択したときに表示されるウィンドウにプレーン名を記入して、さらに表示されたそのプレーン上のノード名を選択することで明示的に関係リンクを結ぶことができる。
【００３４】
図２において、ノード２１ａからファイル検索を開始したときには、検索過程はノード２１ｂの次に関係リンク２４ａをたどりノード２１ｎが検索される。検索対象ファイルがノード２１ｎにあれば、図３（Ａ）に例示するようにプレーン２０ｂ上のノードを順に検索する必要がなく、検索速度が大幅に向上する。仮に、このノード２１ｎに検索対象のファイルがない場合には、検索は図３（Ａ）に示す検索ルート２５ａに従って行われる。ただし、すでに検索されたノード２１ｎのテーブル上には検索済みフラグが立てられているので、ノード２１ｆの次にノード２１ｇが検索される。
【００３５】
図５は、上述した検索アルゴリズムを実行する検索処理モジュール１４の処理フローチャートである。利用者１７がノード操作ウィンドウ３０のキーワード入力フィールド３２にキーワードを入力し、検索ボタン３３を押すとＳ１において検索処理が開始され、Ｓ２において検索キーワードを取得する。
【００３６】
Ｓ３において出発ノードが利用者により指定されたかどうかチェックし、ノードが指定されないときにはＳ４において、そのプレーン上で最も優先度の高いノードを取得し、Ｓ５においてそのノードのファイル検索処理を実行して、索済みフラグを立てる。
【００３７】
Ｓ６においては、そのノードにキーワードと一致する目標のファイルが発見されると、Ｓ１３においてファイル名を明示しファイルを開くか利用者１７に問合せるメッセージウィンドウ（図示せず）を表示する。そのウィンドウで利用者が「はい」のボタンを押すと、上述したようにそのファイルのフルパスをエクスプローラ６ａに渡して目標ファイルが開かれる。
【００３８】
Ｓ１４においては、Ｓ１３の処理が終了すると、Ｓ１５において図３で示したようにリンクの重みを更新しさらにノードの優先度を更新して、Ｓ１６で検索処理を終了する。
【００３９】
Ｓ１３が表示したメッセージウィンドウで「いいえ」ボタンを押した場合、またはＳ６でファイルが発見できなかった場合には、Ｓ７で関係リンクがあるかチェックする。そのノードが関係リンクで他のノードと結ばれているときには、Ｓ５において同様にキーワードを用いてファイル検索処理をする。
【００４０】
関係リンクがないときには、Ｓ９においてそのノードの下位ノードの有無をチェックし、Ｓ１０で下位ノードがある場合にはＳ５においてその下位ノードの優先度にしたがいファイル検索処理を実行する。下位ノードがない場合には、Ｓ１１において当該プレーンの次の優先度を持つノードを選択する。
【００４１】
このとき検索ルートにある検索済みフラグを調べて未検索ノードがその検索ルート上にあれば、Ｓ５でファイル検索処理を行う。Ｓ１２において、検索ルート上に未検索ノードがすべてなくなると、Ｓ１６においてファイル検索終了のメッセージをウィンドウに表示して検索処理を終了する。
【００４２】
【発明の効果】
上述のように、この発明は請求項１にかかわる発明によれば、コンピュータのファイル管理機能であるエクスプローラ上のファイルや共有ファイルを、利用者が自由に独自に設定したデータ構造に仮想ファイルとして登録できる仮想ファイル管理機構を提供している。利用者は、統一的な仮想ファイル操作ウィンドウを用いて上記データ構造で仮想ファイルの検索を行うことで、エクスプローラのディレクトリ構造を意識することなく、上記ファイルや共有ファイルなどに容易にアクセスすることができる。
【００４３】
また請求項２の発明によれば、複数のノードが重みを有するリンクで結合されたプレーンを階層化したデータ構造を適用することで、検索を繰り返すごとに検索速度が大幅に向上する効果を有する仮想ファイル管理システムを実現できる。さらに請求項３の発明によれば、上記リンクで結合されていない関係の深いノードを関係リンクで結ぶことで、さらに効率的なファイル検索を実現できる効果がある。
【図面の簡単な説明】
【図１】この発明の仮想ファイル管理システムの構成と、仮想ファイル管理機構のモジュール構成を示すブロック図である。
【図２】ファイル管理機構のデータベースが仮想ファイルを格納するノードを構造化したデータ構造の例である。
【図３】データ構造の検索アルゴリズムを説明する図である。
【図４】利用者がデータ構造を作成したりファイル検索するためのノード操作ウィンドウの一例である。
【図５】検索処理フローチャートである。
【符号の説明】
１…ネットワーク、ＰＣ…パソコン、２…オペレーティングシステム（ＯＳ）、３…ディレクトリ群、４ａ…フォルダ、４ｂ…共有フォルダ、５…ファイルまたは仮想ファイル、６…エクスプローラ、８…仮想ファイル管理機構、９…ファイル登録処理モジュール、１１…初期ノード登録処理モジュール、１２…ノード追加・削除処理モジュール、１３…検索処理モジュール、１４…データベース、１５…仮想ファイル操作ウィンドウ群、１６…共有ドライブ、２０…プレーン、２１…ノード、２２…プレーン内リンク、２３…プレーン間リンク、２４…関係リンク、２５…検索ルート、３０…ノード操作ウィンドウ、３１…ノード表示エリア、３６…リスト部、Ｐ…ノードの優先度
【図１】
0004379572.tif 000002
【図２】
0004379572.tif 000003
【図３】
0004379572.tif 000004
【図４】
0004379572.tif 000005
【図５】
0004379572.tif 000006