(57)【要約】【課題】  表計算ソフトやリレーショナル・データベース等に登録する前の加工されていない生データや各種のアプリケーションプログラムのファイルなど、コンピュータに記憶されるファイルやフォルダに手を加えず、表形式にファイルやフォルダを分類できるようにして分類作業の操作性を著しく改善することが可能なファイルシステムを提供すること。【解決手段】  複数の分類属性を持つフォルダを作成する手段と、作成したフォルダに対し前記複数の分類属性に対応した属性値を持つファイルを格納する手段と、前記フォルダおよびファイルを２次元の分類表形式で表示画面に表示する手段とを備えることを特徴とする。【選択図】      図２
2007047913.tif 000002
【特許請求の範囲】
【請求項１】
複数の分類属性を持つフォルダを作成する手段と、作成したフォルダに対し前記複数の分類属性に対応した属性値を持つファイルを格納する手段と、前記フォルダおよびファイルを２次元の分類表形式で表示画面に表示する手段とを備えることを特徴とするファイルシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータの記憶装置に記憶するファイルとフォルダをグラフィカルユーザインタフェース（ＧＵＩ）を用いたコンピュータ（利用者端末）に表示させて管理するファイルシステムに関するものである。
【背景技術】
【０００２】
従来、コンピュータ・ファイルシステムの利用者端末への表示形式としては１９７０年頃Ken Thompson、Dennis Ritchieらが開発したＵＮＩＸ(登録商標）ＯＳのファイルシステムに採用されて以来、ファイルとファイルを格納するフォルダをツリー形式に表示するファイルシステム技術が広く用いられている。
一方、表計算ソフトやリレーショナル・データベース管理システムではデータを表形式に表示し編集する方法が用いられている。
【非特許文献１】ＤＥＣ  ＰＤＰ−１１技術資料等
【発明の開示】
【発明が解決しようとする課題】
【０００３】
従来、コンピュータ・ファイルシステムの表示形式として用いられているツリー形式は単純な階層構造をもつファイルを分類整理する方法として優れているが、分類観点が１つ増える都度、ツリーの階層を１つ増やす必要がある。
また、多くの分類観点からファイルを分類しようとすると、複数のフォルダに対して同時にフォルダ階層を増やす必要があり、操作が煩雑になる欠点がある。
また、表計算ソフトやリレーショナル・データベース管理システムは、データベース等に登録した数値データや文字データなどのデータを管理するには優れているが、そのために登録するデータの正規化やデータベースソフトウェアが扱える形式にファイルデータを変換するなどデータを加工する必要があり、利用するまでの準備に多大な労力を要する問題がある。
【０００４】
本発明の目的は、表計算ソフトやリレーショナル・データベース等に登録する前の加工されていない生データや各種のアプリケーションプログラムのファイルなど、コンピュータに記憶されるファイルやフォルダに手を加えず、表形式にファイルやフォルダを分類できるようにして分類作業の操作性を著しく改善することが可能なファイルシステムを提供することにある。
【課題を解決するための手段】
【０００５】
上記目的を達成するために、本発明に係るファイルシステムは、複数の分類属性を持つフォルダを作成する手段と、作成したフォルダに対し前記複数の分類属性に対応した属性値を持つファイルを格納する手段と、前記フォルダおよびファイルを２次元の分類表形式で表示画面に表示する手段とを備えることを特徴とする。
なお、従来技術のファイルシステムで用いられてきたフォルダは本発明では分類属性を持たない０次元分類フォルダと見なすことができる。従来技術のファイルシステムで使用されているフォルダと本発明のフォルダを明確に区別する為、以下フォルダという名称を使う場合は上記に説明した分類属性数Ｎを名前の前に付けて１次元分類フォルダ、２次元分類フォルダ等、一般にＮ次元分類フォルダと呼ぶ。０次元分類フォルダは従来技術のフォルダと同じ機能をもつと考えてよく、単にフォルダと呼ぶ。
【発明の効果】
【０００６】
本発明によれば、ファイルとＮ次元分類フォルダを分類属性に基づき表形式に分類表示できるので、多数の分類観点からファイルを分類する際にもツリー形式のように深い階層や縦長の表示にならず、操作性が優れている。
また、分類表の縦軸と横軸に割り当てる属性を任意に選べるので分類観点変えた比較が容易に行える。
【発明を実施するための最良の形態】
【０００７】
以下、本発明の実施の形態について図面を参照して詳細に説明する。
図１及び図２は、本発明を実装したファイルシステムの利用者端末における表示例を示す図である。
本発明ではファイルやＮ次元分類フォルダなどファイルシステムが管理して利用者が操作する対象物はアイコン（図像）と名前を用いて表示する。
各アイコンはＧＵＩ機能を利用してマウス操作で展開表示またはクローズできる。ボリュームアイコン１．１は記憶装置の論理的な単位を表している。ボリュームにはファイルとＮ次元分類フォルダを格納する。
図１のボリュームアイコン１．１は、“ＭＹＶＯＬ”という名前を付けた場合を例示している。図１の１．２は“アジア・レポート”という名前の０次元分類フォルダのアイコンを例示している。次元数が１以上のＮ次元分類フォルダの場合は“アセアン諸国”）という名前のアイコン１．３で例示するように、０次元分類フォルダと異なるアイコン図柄を用いて区別する。
Ｎ次元分類フォルダはアイコンの図柄に属性数（次元数）Ｎを重ね合わせて表示する。“アセアン諸国”）という名前のアイコン１．３は、分類属性数が“２”の２次元分類フォルダを例示している。本例に示すアイコンの図柄は利用者の嗜好に合わせて適宜変更してもよい。
図１の１．４は“アセアン諸国”という名前のアイコン１．３をマウス操作で展開表示した分類表の例を示している。図１の分類表１．４は分類属性として「国名」、「国の姿」という２属性を持つ場合を例示している。分類表の各セル（要素）の中には更にファイルやＮ次元分類フォルダを繰り返し格納できる。
例えば、図２のセル１．６は国名属性が“ヴェトナム”で国の姿属性が“経済”である要素として２次元分類フォルダを格納した例である。国名属性が“ミャンマー”で国の姿属性が“政治”のセル１．７ように空白のセルは該当する分類に要素がないことを示している。
【０００８】
“ヴェトナム”・“経済”のセル１．６をマウス操作で展開した場合を１．８に例示する。
このセル１．８も１．４と同様に縦軸（年度）と横軸（統計）に分類表の属性をとり分類表示する。
セル１．８の中のアイコン１．９は、年度属性が“２００１年度”で統計属性が“貿易統計”の要素のファイルアイコンを例示しており、この要素が１つのファイルであることを示している。“２００５年度”・“貿易統計”のセルのアイコン１．１０は０次元分類フォルダアイコンを例示している。マウス操作で同アイコン１．１０を展開した場合を１．１１に例示する。アイコン１．１１ではフォルダ内に２個のファイルが格納されている場合を例示している。
【０００９】
図３は、本発明のファイルシステムを実装するコンピュータの機能構成を示すブロック図である。
ここで例示するコンピュータは、ＣＰＵ３．１と内部記憶装置３．２と外部記憶装置３．６などから構成される。利用者は利用者端末３．７からオペレーティングシステム３．３と本発明のファイルシステム３．４を使って外部記憶装置３．６に格納されたファイルにアクセスできる。
利用者はアプリケーションプログラム３．５を起動して外部記憶装置３．６内のファイルに対して様々な処理が行える。これらの処理はクライアントサーバ型のシステムで実装してもよく、パーソナルコンピュータで実装してもよい。
【００１０】
図４は、ファイルシステム３．４の詳細を示すブロック図である。
ファイルシステム３．４は、ファイル入出力処理プログラム４．１、ファイル探索プログラム４．２、ユーティリティプログラム４．３の３つの要素から構成されている。
ファイル入出力処理プログラム４．１は、ファイル探索プログラム４．２、ユーティリティプログラム４．３及びアプリケーションプログラム３．５から要求されるファイルやＮ次元分類フォルダに対する論理的な入出力要求を物理的な入出力要求に変換し、デバイスドライバ４．５に対して物理入出力命令を発行し、入出力制御装置４．６経由で外部記憶装置３．６に入出力を行う。
【００１１】
図１、図２に例示したＧＵＩ画面はファイル探索プログラム４．２の表示例であり、ＧＵＩ画面表示関数４．８を用いることにより、利用者端末（図３のコンピュータ）のボリューム１．１に含まれるファイルやＮ次元分類フォルダの作成、構成内容の表示、検索等の機能をＧＵＩ操作として利用者に提供する。
また、ファイル探索プログラム４．２はＯＳ（オペレーティングシステム）３．３のジョブ管理機能の命令（ジョブの起動）を内部で発行し、当該ファイルと関連するアプリケーションプログラム３．５を起動する機能を利用者に提供する。
例えばワードプロセッサ・ソフトが作成したファイルであれば、ユーザのマウス操作（ダブルクリック）によりファイルに関連するワードプロセッサを起動する。起動されたワードプロセッサは入出力処理プログラム４．１）に要求して当該ファイルを読込み、データ編集処理を開始できる。また、ＧＵＩ操作以外に従来からＯＳ等が提供しているコマンド（利用者がキーボードから入力するコンピュータ操作命令）４．１２を用いてアプリケーションプログラム３．５を起動できる。
【００１２】
本発明では、ファイル入出力処理プログラム４．１とファイル入出力処理プログラムにファイル入出力命令を発行する全てのアプリケーションプログラム３．５、ＯＳコマンド４．１２、ユーティリティプログラム４．３、ファイル探索プログラム４．２等の間で共通のファイル名称規則を使用する必要がある。ファイル名称規則の一例については後述とする。
【００１３】
図５に本発明を実施するための外部記憶装置３．６の論理的な構成を示す。
外部記憶装置３．６には、論理的な記憶単位である前述のボリューム１．１に相当する複数のボリューム領域１〜Ｎが存在し、また各ボリュームのボリューム名称と割当て情報を管理するためのボリューム登録情報領域５．２が存在する。割当て情報にはボリューム領域の開始位置、終了位置、所有者、アクセス権限等の情報を格納する。
各ボリューム領域は制御領域５．５とデータ領域５．６とから構成される。
制御領域５．５はマトリックス構造体領域５．７、属性リスト領域５．８、属性値テーブル領域５．９、要素リスト領域５．１０、ファイル割当情報領域５．１１から構成され、それぞれ後述するマトリックス構造体、属性リスト、要素リスト、ファイル割当テーブルを格納するための領域としてファイルシステム３．４が使用する。
データ領域５．６は、ファイル未使用領域を管理するビットマップテーブルとファイル実体を格納するファイルエンティティ領域から構成される。これらの領域はユーティリティプログラム４．３の一種である外部記憶装置初期化プログラムが初期化フォーマットを行い使用可能とする。
【００１４】
図６に本発明のファイルシステムにおけるＮ次元分類フォルダの実装方式例を示す。
１つのＮ次元分類フォルダに対応して分類フォルダの情報を格納するマトリックス構造体６．１と呼ぶ管理領域を設ける、このマトリックス構造体６．１を起点としてＮ次元分類フォルダに格納される全てのファイルとファイルの属性は起点からポインタで辿ることができる。
マトリックス構造体６．１は、（１）次元数Ｎ、（２）属性リストポインタ、（３）属性名、（４）フォルダ名称、（５）チェーンから構成した例を示す。
マトリックス構造体６．１の次元数Ｎは分類属性数を格納する。例えば図２の１．３に示した“アセアン諸国”は２次元分類フォルダであり、「国名」と「国の姿」という２つの分類属性を持つので、この場合のマトリックス構造体６．１の次元数には“２”を格納する。マトリックス構造体６．１の属性リストポインタは属性リスト６．２へのポインタであり、次元数と等しいＮ個の属性リストポインタをマトリックス構造体６．１に格納する。但し、０次元分類フォルダの場合は例外として次元数に拘わらず１つの属性リストポインタをマトリックス構造体６．１に格納する。Ｎ次元分類フォルダに格納する要素は属性リストを用いるため分類属性がない０次元分類フォルダの場合でも１つの属性リストを使用するためである。
マトリックス構造体６．１の属性名は、各属性リストポインタと対でＮ個存在する。例えば図２の１．３に示した“アセアン諸国”の２次元分類フォルダでは属性「国名」と「国の姿」という２個の属性名をマトリックス構造体６．１に格納し、その属性と対に２個の属性リストポインタが存在する。
マトリックス構造体のフォルダ名称はマトリックス構造体（Ｎ次元分類フォルダ）６．１に付けた名前を格納する。例えば図２の１．３に示した“アセアン諸国”という名前の２次元分類フォルダでは「アセアン諸国」が名前でありフォルダ名称に格納する。
マトリックス構造体６．１のチェーンは、未使用のマトリックス構造体を管理する時に使用する領域であり、使用済みのマトリックス構造体ではチェーンはＮＩＬ（空）を設定する。
【００１５】
属性リスト６．２は属性値ポインタと要素リストポインタから構成するリストである。例えば図２の１．３に示した“アセアン諸国”という２次元分類フォルダの「国名」という属性リストには１０個（タイ、ラオス、カンボジア、・・・、フィリピン）の属性値がある。属性値ポインタは属性値テーブル６．３上の属性値へのポインタである。
要素リストポインタは要素リスト６．４へのポインタである。
属性リスト６．２は、図５の属性リスト領域５．８に格納され、属性値テーブル６．３は図５の属性値テーブル領域５．９に格納する。属性リストのチェーンは未使用の属性リストを管理する時に使用する領域である。
【００１６】
要素リスト６．４は、ある属性値をとる要素の集合をリストにしたものである。例えば図２の１．３に示した“アセアン諸国”という２次元分類フォルダの場合、「国名」という属性の属性値が「タイ」であるファイルやＮ次元分類フォルダの集合をリストにしたものが「国名」が「タイ」の要素リストであり、そのポインタを「タイ」の要素リストポインタに格納する。同様に「国名」属性の属性値がＸであるファイルやＮ次元分類フォルダの集合をリストにしてＸの要素リストポインタに格納する。
要素リスト６．４は、（１）ポインタ種別、（２）ファイル名称、（３）ポインタ、（４）次要素ポインタから構成する。
【００１７】
要素リスト６．４のポインタは、図６に矢印で示すように、（１）ファイルをポイントする場合と（２）Ｎ次元分類フォルダをポイントする場合があり、ポインタ種別によって、ポイント先を区別する。要素リストに含まれる集合の要素は次要素ポインタによって最終要素まで連結する。最終要素の次要素ポインタはＮＩＬ（空）とする。
要素リスト６．４のポインタ種別がファイルポインタの場合、要素リストのフアイルポインタはフアイル割当テーブル６．５のファイルエントリをポイントする。
また、要素リスト６．４のポインタ種別がＮ次元分類フォルダの場合、要素リスト６．４のファイルポインタは当該Ｎ次元分類フォルダの起点となるマトリックス構造体をポイントする。要素リスト６．４は図５の要素リスト領域５．１０に格納する。
【００１８】
ファイル割当てテーブル６．５は、図６に示すように、ファイル領域割当開始番号、ファイル領域割当終了番号とチェーンから構成する。
ファイル割当テーブル６．５は図５のファイル割当情報領域５．１１）に格納される。ファイル実体は図５のデータ領域５．６に格納する。
【００１９】
図５のデータ領域５．６は、固定長のデータブロックに分割し、各データブロックには番号をつけて識別する。ファイル実体は１つの初期割当領域と０個以上のエクステントから構成される。初期割当領域とエクステントは連続するデータブロックであり、開始番号と終了番号がある。例えば図６では要素リスト６．４に登録された「４月貿易統計．ｄａｔ」というファイルエンティティが初期割当領域としてブロック番号６〜１２、エクステントがブロック番号１８〜２０から構成されている場合を例示している。その場合、図６の６．６に示すように初期割当領域のエントリにはファイル割当開始番号とファイル終了番号にそれぞれ「６」と「１２」が格納され、チェーンはエクステントのエントリアドレスへのポインタを格納する。エクステントのエントリにはファイル割当開始番号とファイル終了番号にそれぞれ「１８」と「２０」を格納し、チェーンは「ＮＩＬ（空）」を格納する。
ファイルエンティティ６．６を格納するデータ領域の各ブロックの使用状況を管理するため、ビットマップテーブル６．７を使用する方法がある。ビットマップの各ビットはデータブロックに対応しており、未使用＝０、使用済み＝１として管理する。以上のように１つのＮ次元分類フォルダの要素は対応するマトリックス構造体を起点として辿ることができる。
図１で説明したように全てのＮ次元分類フォルダの起点はボリュームである。ボリュームは１つ０次元分類フォルダであり、マトリックス構造体領域の先頭のマトリックス構造体がこの０次元分類フォルダである。このボリュームに対応する１つのマトリックス構造体を全ての起点（原点）として、そのボリュームに含まれる全てのＮ次元分類フォルダとファイルを辿ることができる。
【００２０】
図７にマトリックス構造体の未使用領域の管理方法を例示する。
図７は前述の外部記憶装置初期化プログラムを用いてボリュームを初期化した直後の状態を示している。
外部記憶装置初期化プログラムは、マトリックス構造体領域に連続する固定長のマトリックス構造体（図７の７．３）を作成し、最初のレコードをボリュームに対応するマトリックス構造体として使用する。２番目のレコードから未使用のレコードとして、チェーンを用いてレコードを連結する。最初の未使用レコードへのポインタをフリーレコードポインタ（図７の７．２）に設定する。未使用レコード数をフリーレコード数（図７の７．１）に格納する。
新しいＮ次元分類フォルダを作成する際、フリーレコードポインタ７．２がポイントするマトリックス構造体のレコードを一連のチェーンから外し、２番目のフリーレコードをフリーレコードポインタ７．２に設定する。チェーンから外した未使用のマトリックス構造体を新しいＮ次元分類フォルダの起点とする。
【００２１】
図８に属性リストの未使用領域の管理方法の例を示す。
図８は前述の外部記憶装置初期化プログラムを用いてボリュームを初期化した直後の状態を示している。外部記憶装置初期化プログラムは属性リスト領域に連続する固定長の属性リスト（図８の８．３）を作成し、チェーンを用いて未使用のレコードを連結し、最初の未使用レコードへのポインタをフリーレコードポインタ（図８の８．２）に設定する。未使用レコード数をフリーレコード数（図８の８．１）に格納する。新しい属性リストをマトリックス構造体に格納する際、フリーレコードポインタ８．２がポイントする属性リストのレコードを一連のチェーンから外し、２番目のフリーレコードをフリーレコードポインタ８．２に設定する。チェーンから外した未使用の属性リストをマトリックス構造体の新しい属性リストポインタに設定する。
【００２２】
図９に要素リストの未使用領域の管理方法を示す。
図９は前述の外部記憶装置初期化プログラムを用いてボリュームを初期化した直後の状態を示している。外部記憶装置初期化プログラムは要素リスト領域に連続する固定長の要素リスト（図９の９．３）を作成し、次要素ポインタを用いて未使用のレコードを連結し、最初の未使用レコードへのポインタをフリー要素ポインタ（図９の９．２）に設定する。未使用レコード数をフリーレコード数（図９の９．１）に格納する。新しい要素を要素リストに格納する際、フリーレコードポインタ９．２がポイントする要素リストのレコードを一連のチェーンから外し、２番目のフリーレコードをフリーレコードポインタ９．２に設定する。チェーンから外した未使用の要素リストレコードを要素リストに連結する。
【００２３】
図１０にファイル割当テーブルの未使用領域の管理方法を示す。
図１０は前述の外部記憶装置初期化プログラムを用いてボリュームを初期化した直後の状態を示している。外部記憶装置初期化プログラムはファイル割当情報領域に連続する固定長のファイル割当レコード（図１０の１０．３）を作成し、チェーンを用いて未使用のレコードを連結し、最初の未使用レコードへのポインタをフリーレコードポインタ（図１０の１０．２）に設定する。未使用レコード数をフリーレコード数（図１０の１０．１）に格納する。新しいファイルポインタを要素リストに格納する際、フリーレコードポインタ１０．２がポイントするファイル割当テーブルのレコードを一連のチェーンから外し、２番目のフリーレコードをフリーレコードポインタ１０．２に設定する。チェーンから外した未使用のファイル割当テーブルレコードアドレスを要素リストのポインタに設定する。
【００２４】
図１１にデータ領域の未使用データブロックの管理方法を示す。
データ領域は前述の外部記憶装置初期化プログラムを用いてボリュームを初期化した際に固定長のデータブロックにフォーマットし、各ブロックにはブロック番号を付け一意に識別する（図１１の１１．２）。各ブロックの使用、未使用状態はファイル未使用領域ビットマップテーブル（図１１の１１．１）のビット状態で管理する。フォーマット直後は全ビットが“０”である。データブロックが使用状態になったときに該当するビットを“１”に設定すると同時に、その領域の開始番号と終了番号をファイル割当テーブル６．５のエントリに設定する。ファイル割当の際に連続する領域を割り当てた方が不連続な領域よりもハードウェアの動作上より高速にアクセス可能であり、ビットマップを使って未使用領域を管理する理由は、連続する未使用領域を探すことが容易になるためである。
【００２５】
図７から図１１を使って説明した外部記憶装置初期化処理のフローチャートを図１２に示す。
この初期化処理はステップ１２０１〜１２０７で構成されており、ステップ１２０１ではデータ領域５．６にデータブロックを作成し、初期化する。
ステップ１２０２では、ファイル未使用領域ビットマップテーブル６．７を作成し、続くステップ１２０３ではマトリクス構造体領域５．７を作成し初期化する。
ステップ１２０４では、属性リスト領域５．８を作成し初期化する。
ステップ１２０５では、属性値テーブル領域５．９を作成し初期化する。
ステップ１２０６では、要素リスト領域５．１０を作成し初期化する。
ステップ１２０７では、ファイル割当情報領域５．１１を作成し初期化する。
【００２６】
図１３は、ファイル探索プログラム（図４の４．２）を使ってＮ次元分類フォルダを作成する際の画面操作例を示す図である。
まず、新しいＮ次元分類フォルダを作成する場所をマウスで選択する。図１３の場合はアジア・レポート（図１３の１．１３１）という０次元分類フォルダをマウスで選択している例を示している。
Ｎ次元分類フォルダを作成する場所を選択し、マウス右クリック操作により、作成→分類フォルダ１．１３２を選択した後、作成したいＮ次元分類フォルダの属性１．１３３を入力し、登録ボタンを押下する操作を繰り返すことで、属性を順番に入力する。この処理のフローチャートを図１４に示す。
まず、ステップ１４０１において、選択されたＮ次元分類フォルダのマトリックス構造体ＰＭを特定する。前記の段落「００１４」で述べたとおり、本ファイルシステムでは登録したファイルやフォルダは全て起点から辿ることができ、ファイル探索プログラムは起点から辿ったファイルやフォルダを辿り画面に表示している。次に、ステップ１４０２において、フォルダ名称を画面から入力する。次に、ステップ１４０３において、属性を画面から入力する。
次に、ステップ１４０４において、入力された属性数から次元数Ｎを決定する。次に、ステップ１４０５において、マトリックス構造体ＮＭをフリーリストから取得する。次に、ステップ１４０６において、入力したフォルダ名称と属性名称をマトリックス構造体ＮＭに設定する。
ここで、ＰＭは新しく生成するＮ次元分類フォルダを格納する場所となる既存のＮ次元分類フォルダに対応するマトリックス構造体であり、ＮＭは新しく生成するＮ次元分類フォルダに対応するマトリックス構造体である。図１３の場合アジア・レポートという０次元分類フォルダに対応するマトリックス構造体がＰＭであり、新規作成するアセアン諸国という名前のＮ次元分類フォルダに対応するマトリックス構造体がＮＭである。
次に、ステップ１４０７において、入力された新しく生成するＮ次元分類フォルダの属性を格納する属性リスト用領域をフリーリストから取得し、マトリックス構造体ＮＭにポインタを格納する。図１３の場合、新しく作成されるアセアン諸国という名前のＮ次元分類フォルダの分類属性として、国名を指定されているので、マトリックス構造体ＮＭの属性名１には国名を格納し、属性リストに新たに取得された属性リストのポインタを格納する。
次に、ステップ１４０８において、ＰＭの次元数＝０であるかを判定し、“０”であったならば、既に「００１４」に述べたとおり、０次元分類フォルダの場合には分類属性による分類を行わないがフォルダの要素はＮ次元分類フォルダと同様に要素リストに登録するため、以下の処理を行う。まずステップ１４１０において、フリーリストから要素リストＮＥを取得し、ＮＭのアドレスを設定する。ＮＥとは、新しく生成するＮ次元分類フォルダのアドレスを格納するための新しい要素リストである。
次に、ステップ１４１１において、フリーリストから属性リストＮＰを取得し、ＮＥアドレスを格納し、ＰＭの属性リストに追加する。ＮＰとは新しい要素リストＮＥを格納する新しい属性リストである。
【００２７】
一方、ステップ１４０８において、ＰＭの次元数＝０でなかった場合、即ち１次元以上のＮ次元分類フォルダに新しいＮ次元分類フォルダを作成する場合以下の処理を行う。ファイル探索プログラムはＮ次元分類フォルダを「００３３」以下に後述する方法で展開表示するので、縦軸と横軸に割当てる属性、及び各セルの属性値が既知である。このことは３次元以上のＮ次元分類フォルダにおいても２次元の展開表示を繰り返し行うので、左記の通り、ファイル探索プログラムにとって表示中の各セルの属性値は既知である。ただし３次元以上のＮ次元分類フォルダの場合、２次元による表示を繰り返し、Ｎ個の属性全てを展開表示することができる一方、必ずしもＮ個の属性を全て表示せず部分的な表示を行うこともできる。後者の場合、ファイル探索プログラムは各セルの展開表示された属性については属性値が既知であるが、展開されていない残りの属性については情報をもたない。ファイル探索プログラムが展開表示して各セルの属性値が既知である属性の数のことを既知の属性数と略記する。さて、ステップ１４１３から１４１６は既知の属性について繰り返し処理をおこなうため、１４１２において、１４１２においてループカウンタLを１に設定する。次のステップ１４１３において、選択されたセルのL番目の属性Ｘに対する属性リストＰＰを取得する。
次のステップ１４１４において、属性Ｘの属性値が既知の値Ｚとなる属性リストＰＰのエントリＹを求める。
次に、ステップ１４１５において、フリーリストから要素リストＮＥを取得し、ＮＭのアドレスを設定する。
次に、ステップ１４１６において、ＹにＮＥアドレスを設定した後、ステップ１４１７においてＸ＝Ｘ＋１とし、ステップ１４１８においてＸ＞セルの既知の属性数かどうかを判定する。
Ｘ＞セルの既知の属性数であった場合には、処理を終了する。そうでなかった場合にはステップ１４１３に戻って処理を繰り返す。
ここで、ＰＭは新しく生成するＮ次元分類フォルダを格納する場所となる既存のＮ次元分類フォルダに対応するマトリックス構造体であり、ＮＭは新しく生成するＮ次元分類フォルダに対応するマトリックス構造体である。Ｘは選択されたセルに対してファイル探索プログラムが既知の属性の総称であり、ＰＰは属性Ｘの属性リストであり、Ｚは選択されたセルの属性Ｘに対するの既知の値であり、ＹはＰＰの中で属性値が既知値のＺとなる属性リストエントリである。ＮＥは新しいＮ次元分類フォルダアドレスを格納する要素リストである。
【００２８】
図１５は、ファイル探索プログラム（図４の４．２）を使ってＮ次元分類フォルダの分類属性に属性値を登録する際の画面の操作例を示す図である。
図１３に例示した操作画面で分類属性として「国名」と「国の姿」という２つの分類属性を設定した場合、図１５のように２次元分類フォルダアイコン１．３を表示する。このアイコン１．３をマウスで選択し右クリックし、属性分類の編集１．１５１→編集対象属性（「国名」）選択１．１５２→属性リスト編集１．１５５と進み、属性編集補助画面１．１５６を使い属性リストを入力する。
【００２９】
図１６に属性リストにエントリを追加するフローチャートを示す。
まず、ステップ１６０１において、選択されたＮ次元分類フォルダのマトリックス構造体Ｍを求める。
次に、ステップ１６０２において、入力対象属性を画面から求める。
次に、ステップ１６０３において、属性値を画面から入力する。
次に、ステップ１６０４において、入力された属性値が既に属性値として登録済みかチェックし、既に登録済みであれば、ステップ１６１０４において画面にエラー表示する。
しかし、登録済みでなかった場合には、次に、ステップ１６０６において、属性値テーブルに新しい属性値を登録した後、次のステップ１６０７において、フリーリストから新しい属性リストを取得する。
次に、ステップ１６０８において、フリーリストから新しい属性リストレコードを取得し、次のステップ１６０９において、新しい属性リストレコードを属性リストにつなぐ。
【００３０】
図１７は、ファイル探索プログラム（図４ｂの４．２）を使って新しいファイルをＮ次元分類フォルダに追加する際の画面操作例を示す図である。
まず、新しいファイルを追加したい場所を選択してマウス右クリック操作をする。図１７の場合、国名＝“ラオス”、国の姿＝“経済”のセルをマウス選択して、右クリック→作成１．１７１→ファイル１．１７２→ファイル名１．１７３を入力する。
【００３１】
図１８に新しいファイルの作成処理フローチャートを示す。
まず、ステップ１８０１において、選択されたＮ次元分類フォルダのマトリックス構造体ＰＭを特定する。
次に、ステップ１８０２において、ファイル名称を画面から入力する。
次に、ステップ１８０３において、ファイル未使用領域ビットマップテーブル６．７から空領域を取得する。
次に、ステップ１８０４において、フリーリストからファイル割当テーブルレコードを取得し、開始ブロック番号と終了ブロック番号をセットする。
次に、ステップ１８０５において、ＰＭの次元数＝０であるかを判定し、０であればステップ１８０７において、フリーリストから要素リストＮＥを取得し、ＮＭのアドレスを設定する。
次に、ステップ１８０８において、フリーリストから属性リストを取得し、ＮＥアドレスを格納し、ＰＭの属性リストに追加する。左記の処理は「００２６」に記述したＮ次元分類フォルダを作成する際の処理と同様である。
【００３２】
一方、ステップ１８０５においてＰＭの次元数＝０でなかった場合には、ステップ１８１０から１８１３は既知の属性について繰り返し処理をおこなうため、１８０９においてループカウンタLを１に設定する。ステップ１８１０において、選択されたセルのL番目の属性Ｘに対する属性リストＰＰを取得する。
次に、ステップ１８１１において属性Ｘの属性値が既知の値Ｚとなる属性リストＰＰのエントリＹを求める。
次に、ステップ１８１２において、フリーリストから要素リストＮＥを取得し、ＮＭのアドレスを設定する。
次に、ステップ１８１３において、ＹにＮＥアドレスを設定する。
次に、ステップ１８１４において、L＝L＋１としとした後、L＞セルの既知の属性数かどうかを判定する、L＞ＰＭの次元数であれば処理を終了する。しかし、そうでなかった場合には、ステップ１８１０に戻って処理を繰り返す。左記の処理は「００２７」に記述したＮ次元分類フォルダを作成する際の処理と同様である。
【００３３】
図１９は、ファイル探索プログラム（図４の４．２）を使ってＮ次元分類フォルダを展開表示する際の画面操作例を示す図である。
図１９に示すように、展開表示を行うＮ次元分類フォルダをマウスで選択して、右クリック→表示属性の選択１．１９１→縦軸と横軸の選択→分類表示１．１９３と入力する。
【００３４】
図２０にＮ次元分類フォルダの展開表示のフローチャートを示す。
まず、ステップ２００１において、選択されたＮ次元分類フォルダのマトリックス構造体Ｍを求める。
次に、ステップ２００２において、縦軸と横軸に指定された属性を画面から取得する。
次に、ステップ２００３において、横軸の属性Ｘの要素リストＸＥを求め，ＸＥの要素数ＸＥＮＯを求める。
次に、ステップ２００４において、Ｉ＝１、Ｊ＝１とし、次のステップ２００６において、セル（Ｉ，Ｊ）に含まれるファイルまたはＮ次元分類フォルダを属性リスト、要素リストを辿って取得し、セルに表示する。
【００３５】
次に、ステップ２００７において、Ｉ＝Ｉ＋１とし、次のステップ２００８においてＩ＞ＸＥＮＯかどうかを判定し、Ｉ＞ＸＥＮＯであれば、ステップ２００９においてＩ＝１、Ｊ＝Ｊ＋１とし、次のステップ２０１０においてＪ＞ＹＥＮＯかを判定する。
Ｊ＞ＹＥＮＯであれば、処理を終了し、そうでなければステップ２００６に戻って処理を繰り返す。
一方、ステップ２００８において、Ｉ＞ＸＥＮＯでなかった場合にもステップ２００６に戻って処理を繰り返す。
【００３６】
前述の通り、図４のファイル入出力処理プログラム４．１は、ファイル探索プルグラム４．２、ユーティリティプログラム４．３、アプリケーションプログラム３．５からファイル入出力要求を受け処理を行う。ファイル入出力要求で指定するファイル名はＮ次元分類フォルダの属性名と属性値を対に指定する必要がある。例えば図２の１．１０に例示した「７月速報．ｄａｔ」というファイルのファイル名の例を以下に示す。
「￥ＭＹＶＯＬ￥アジア・レポート￥アセアン諸国（国名（ヴェトナム）＊国の姿（経済））￥（年度（２００５年度）＊統計（貿易統計））￥７月速報．ｄａｔ」
ファイル入出力処理プログラム４．１は、上記のようなファイル名を受取るとＮ次元分類フォルダを順に辿り、該当するファイルを見付け出し、そのファイルの外部記憶装置上のアドレスをファイル割当てテーブルから読み出す。このアドレスを用いてデバイスドライバ４．５にファイルアクセス命令を発行する。ファイルアクセス命令としてはバイト単位のアクセス、ブロック単位のアクセスがあり、シーケンシャルアクセスまたはダイレクトアクセスを行う。
ファイル探索プログラム４．２は、ファイルの識別子に対応するアプリケーションプログラムを起動し、起動する際に上記のファイル名称をアプリケーションプログラムにパラメータとして渡すことで、ファイルに対応するアプリケーションを自動起動できる。
【図面の簡単な説明】
【００３７】
【図１】本発明に係るファイルシステムによる表形式の分類表示例を示す図である。
【図２】本発明に係るファイルシステムによる階層的な分類表示例を示す図である。
【図３】本発明に係るファイルシステムを適用したコンピュータの実施の形態を示すブロック図である。
【図４】本発明に係るファイルシステムの詳細構成を示すブロック図である。
【図５】外部記憶装置の論理的な構成図である。
【図６】Ｎ次元分類フォルダ構造体の構成を示す図である。
【図７】マトリックス構造体の未使用領域の管理方法の例を示す図である。
【図８】属性リストの未使用領域の管理方法の例を示す図である。
【図９】要素リストの未使用領域の管理方法の例を示す図である。
【図１０】ファイル割当テーブルの未使用領域の管理方法の例を示す図である。
【図１１】データ領域の未使用データブロック管理方法の例を示す図である。
【図１２】外部記憶装置初期化処理のフローチャートである。
【図１３】新しいフォルダの作成画面の例を示す図である。
【図１４】新しいフォルダの作成処理手順を示すフローチャートである。
【図１５】属性値の追加画面の例を示す図である。
【図１６】属性リストにエントリを追加する処理手順を示すフローチャートである。
【図１７】新しいファイルの作成画面の例を示す図である。
【図１８】新しいファイルの作成処理手順を示すフローチャートである。
【図１９】Ｎ次元分類フォルダの展開表示の画面操作の例を示す図である。
【図２０】Ｎ次元分類フォルダの展開表示処理手順を示すフローチャートである。
【符号の説明】
【００３８】
１．１…論理ボリュームアイコン、１．２…フォルダアイコン、１．３…２次元分類フォルダアイコン、１．４…分類表、１．５…２次元分類フォルダアイコン、１．６…（選択した）２次元分類フォルダアイコン、１．７…要素のない分類表セル、１．８…分類表、１．９…ファイルアイコン、１．１０…０次元分類フォルダアイコン（フォルダアイコン）、１．１１…フォルダの展開表示、１．１３１…新しいファイル作成指示画面、１．１５１…新しい属性値の登録画面、１．１７１…新しいファイル作成指示画面、１．１９１…Ｎ次元分類フォルダ展開表示指示画面、３．１…ＣＰＵ、３．２…内部記憶装置、３．３…オペレーティングシステム、３．４…ファイルシステム、３．５…アプリケーションプログラム、３．６…外部記憶装置、３．７…利用者端末、４．１…ファイル入出力処理プログラム、４．２…ファイル探索プログラム、４．３…ユーティリティプログラム、４．４…アプリケーションプログラム、４．５…デバイスドライバ、４．６…入出力制御装置、５．２…ボリューム登録情報領域、５．３…ボリューム領域、５．４…ボリューム登録情報領域の構成、５．５…制御領域、５．６…データ領域、５．７…マトリックス構造体領域、５．８…属性リスト領域、５．９…属性値テーブル領域、５．１０…要素リスト領域、５．１１…ファイル割当情報領域、６．１…マトリックス構造体、６．２…属性リスト、６．３…属性値テーブル、６．４…要素リスト、６．５…ファイル割当テーブル、６．６…ファイルエンティティ、６．７…ファイル未使用領域ビットマップ、７．１…マトリックス構造体フリーレコード数、７．２…マトリックス構造体フリーレコードポインタ、７．３…マトリックス構造体フリーリスト、６．４…マトリックスエンティティ、７．５…１次元分類フォルダ構造体、７．６…ファイル割当テーブル、７．７…ファイルエンティティ、７．８…０次元フォルダ構造体、７．９…マトリックスエンティティ、８．１…属性リストフリーレコード数、８．２…属性リストフリーレコードポインタ、８．３…属性リストフリーリスト、９．１…要素リストフリーレコード数、９．２…要素リストフリーレコードポインタ、９．３…要素リストフリーリスト、１０．１…ファイル割当テーブルフリーレコード数、１０．２…ファイル割当テーブルフリーレコードポインタ、１０．３ファイル割当テーブルフリーリスト、１１．１…ファイル未使用領域ビットマップテーブル、１１．２…データブロック。
【図１】
2007047913.tif 000003
【図２】
2007047913.tif 000004
【図３】
2007047913.tif 000005
【図４】
2007047913.tif 000006
【図５】
2007047913.tif 000007
【図６】
2007047913.tif 000008
【図７】
2007047913.tif 000009
【図８】
2007047913.tif 000010
【図９】
2007047913.tif 000011
【図１０】
2007047913.tif 000012
【図１１】
2007047913.tif 000013
【図１２】
2007047913.tif 000014
【図１３】
2007047913.tif 000015
【図１４】
2007047913.tif 000016
【図１５】
2007047913.tif 000017
【図１６】
2007047913.tif 000018
【図１７】
2007047913.tif 000019
【図１８】
2007047913.tif 000020
【図１９】
2007047913.tif 000021
【図２０】
2007047913.tif 000022