(57)【要約】仮想フォルダを利用するシステムと方法（図３）。仮想フォルダは、通常のファイルとフォルダを、ディスク上の実際の物理的な基本的システム構成ではなく、そのメタデータに基づいて異なる表示でユーザに提示する（図３）。仮想フォルダ（３０８）は、アイテムの集合を含む。システムは、ユーザ（３０２）とリレーショナルデータベース（３０４）からクエリを取得し、アイテムに関する情報を記憶するフォルダプロセッサを備える。フォルダプロセッサはまず、ユーザからのクエリを取得し（３０２）、このクエリをリレーショナルデータベースに渡す（３０４）。リレーショナルデータベースは、結果をフォルダプロセッサに戻し（３０６）、リレーショナルデータベースからの結果に基づいて、フォルダプロセッサは結果をユーザに仮想フォルダとして提供する（３０８）。ユーザは、直接操作（たとえば、クリック・アンド・ドラッグ、コピー、ペースト等）によって仮想フォルダで作業を行うことができる。
2006521594.tif 000002
【特許請求の範囲】
【請求項１】
ディスプレイとアイテムを記憶するためのメモリを備えるコンピュータシステムにおいて、前記アイテムは関係するメタデータプロパティを有し、前記アイテムをユーザに提示する方法であって、
第一のメタデータプロパティを選択するステップと、
前記選択された第一のメタデータプロパティを有するアイテムを検索するステップと、
前記第一のメタデータプロパティを有するアイテムの集合を表わす第一の仮想フォルダディスプレイオブジェクトを提供するステップと
を含むことを特徴とする方法。
【請求項２】
請求項１に記載の方法であって、前記仮想フォルダディスプレイオブジェクトは、スタックとして表わされることを特徴とする方法。
【請求項３】
請求項１に記載の方法であって、第二のメタデータプロパティが選択され、前記第一の仮想フォルダ内に第二の仮想フォルダをつくり、前記第一の仮想フォルダ内の前記アイテムはさらに検索され、これらが前記第二のメタデータプロパティを有するか否か判断され、前記第二の仮想フォルダは前記第一の仮想フォルダ内の前記第二のメタデータプロパティを有する前記アイテムを表わすことを特徴とする方法。
【請求項４】
請求項１に記載の方法であって、複数の仮想フォルダディスプレイオブジェクトが前記ディスプレイ上に提供され、仮想フォルダディスプレイオブジェクトの各々は第二のメタデータプロパティを有するアイテムの集合を表わすことを特徴とする方法。
【請求項５】
請求項４に記載の方法であって、複数の前記アイテムはまた、物理的フォルダに物理的に保存されることを特徴とする方法。
【請求項６】
請求項５に記載の方法であって、ユーザは前記物理的フォルダの閲覧を選択できることを特徴とする方法。
【請求項７】
請求項１に記載の方法であって、選択されたメタデータプロパティを選択されたアイテムに追加することができることを特徴とする方法。
【請求項８】
請求項７に記載の方法であって、アイテムにメタデータプロパティを追加することにより、前記アイテムは、前記選択されたメタデータプロパティに基づく仮想フォルダに追加されることを特徴とする方法。
【請求項９】
請求項８に記載の方法であって、前記選択されたメタデータプロパティは、指定されたカテゴリであることを特徴とする方法。
【請求項１０】
請求項１に記載の方法であって、前記ユーザは、前記仮想フォルダディスプレイオブジェクトの直接操作を通じて前記仮想フォルダに変更を加えることができることを特徴とする方法。
【請求項１１】
請求項１０に記載の方法であって、直接操作の少なくとも１つの種類は、仮想フォルダのクリック・アンド・ドラッグであることを特徴とする方法。
【請求項１２】
請求項１１に記載の方法であって、クリック・アンド・ドラッグは、前記アイテムを第一の仮想フォルダから第二の仮想フォルダにコピーする際に使用でき、前記コピーは、少なくとも部分的に、前記第二の仮想フォルダの選択されたメタデータプロパティを前記第一の仮想フォルダからのアイテムの各々に追加することによって実行されることを特徴とする方法。
【請求項１３】
請求項１に記載の方法であって、フィルタが前記ディスプレイ上に設置され、前記フィルタは、前記フィルタにより指定される前記メタデータプロパティに基づいてアイテムをフィルタ処理するためにユーザにより選択されることを特徴とする方法。
【請求項１４】
請求項１に記載の方法であって、クイックリンクが前記ディスプレイ上に設置され、前記クイックリンクは指定されたアイテムの集合を閲覧するためにユーザによって選択されることを特徴とする方法。
【請求項１５】
請求項１に記載の方法であって、ライブラリが設置され、前記ライブラリは、アイテムの集合と、前記ライブラリのアイテムを操作するためのツールの集合を含むことを特徴とする方法。
【請求項１６】
請求項１に記載の方法であって、仮想フォルダ内の前記アイテムは、異なる物理的ロケーションのメモリに物理的に保存されてもよいことを特徴とする方法。
【請求項１７】
請求項１６に記載の方法であって、前記異なる物理的ロケーションは、現在のコンピュータおよび少なくとも１つの異なるコンピュータ、ネットワーク上のロケーション、外付け記憶装置であることを特徴とする方法。
【請求項１８】
請求項１に記載の方法であって、前記アイテムは、ファイルアイテムと非ファイルアイテムの両方を含むことを特徴とする方法。
【請求項１９】
請求項１８に記載の方法であって、前記非ファイルアイテムは、連絡先または電子メールの少なくとも一方を含むことを特徴とする方法。
【請求項２０】
アイテムをユーザに提示する方法を実現するためのコンピュータ実行可能コンポーネントを有するコンピュータ読取可能媒体であって、前記アイテムは関係するメタデータプロパティを有し、前記方法は、
第一のメタデータプロパティを選択するステップと、
前記選択された第一のメタデータプロパティを有するアイテムを検索するステップと、
前記第一のメタデータプロパティを有するアイテムの集合を表わす第一の仮想フォルダディスプレイオブジェクトを提供するステップと
を含むことを特徴とするコンピュータ読取可能媒体。
【請求項２１】
請求項２０に記載の方法であって、前記仮想フォルダディスプレイオブジェクトは、スタックとして表わされることを特徴とする方法。
【請求項２２】
請求項２０に記載の方法であって、第二のメタデータプロパティが選択され、前記第一の仮想フォルダ内に第二の仮想フォルダをつくり、前記第一の仮想フォルダ内の前記アイテムはさらに検索され、これらが前記第二のメタデータプロパティを有するか否か判断され、前記第二の仮想フォルダは前記第一の仮想フォルダ内の第二のメタデータプロパティを有する前記アイテムを表わすことを特徴とする方法。
【請求項２３】
請求項２０に記載の方法であって、選択されたメタデータプロパティを選択されたアイテムに追加できることを特徴とする方法。
【請求項２４】
請求項２０に記載の方法であって、前記ユーザは、前記仮想フォルダディスプレイオブジェクトの直接操作によって前記仮想フォルダに変更を加えることができることを特徴とする方法。
【請求項２５】
請求項２０に記載の方法であって、仮想フォルダ内の前記アイテムは、異なる物理的ロケーションのメモリに物理的に記憶されてもよいことを特徴とする方法。
【請求項２６】
請求項２０に記載の方法であって、前記アイテムは、ファイルアイテムと非ファイルアイテムの両方を含むことを特徴とする方法。
【請求項２７】
アイテムを表示するシステムであって、
第一のメタデータプロパティを選択する手段と、
前記選択された第一のメタデータプロパティを有するアイテムを検索する手段と、
前記第一のメタデータプロパティを有するアイテムの集合を表わす第一の仮想フォルダディスプレイオブジェクトを提供する手段と、
を備えたことを特徴とするシステム。
【請求項２８】
請求項２７に記載のシステムであって、さらに、前記第一の仮想フォルダ内に第二の仮想フォルダを作る手段を備えたことを特徴とするシステム。
【請求項２９】
請求項２７に記載のシステムであって、選択されたメタデータプロパティを選択されたアイテムに追加する手段をさらに備えたことを特徴とするシステム。
【請求項３０】
請求項２９に記載のシステムであって、アイテムにメタデータプロパティを追加する前記手段は、アイテムのメタデータプロパティを選択し、新しいプロパティを入力する手段でなることを特徴とするシステム。
【請求項３１】
請求項２７に記載のシステムであって、仮想フォルダディスプレイオブジェクトの直接操作を実行するための手段をさらに備えたことを特徴とするシステム。
【請求項３２】
請求項２７に記載のシステムであって、前記選択された第一のメタデータプロパティを有するアイテムの前記検査において、異なる物理的ロケーションからのアイテムを含める手段をさらに備えたことを特徴とするシステム。
【請求項３３】
請求項２７に記載のシステムであって、前記選択された第一のメタデータプロパティを有するアイテムの検索において、ファイルアイテムと非ファイルアイテムの両方を含む手段をさらに備えたことを特徴とするシステム。
【請求項３４】
メモリ内に格納されているアイテムをユーザに提示するシステムであって、
ユーザからのクエリを入手するフォルダプロセッサと、
アイテムに関する情報を格納するリレーショナルデータベースとを備え、
前記フォルダプロセッサは、ユーザからのクエリを取得し、前記クエリを前記リレーショナルデータベースに受け渡し、
前記リレーショナルデータベースは、前記フォルダプロセッサに結果を戻し、
前記リレーショナルデータベースからの前記結果に基づいて、前記フォルダプロセッサは前記結果を仮想フォルダとして前記ユーザに提供することを特徴とするシステム。
【請求項３５】
請求項３４に記載の方法であって、前記クエリは、レジストリから取得されたデフォルトクエリであることを特徴とする方法。
【請求項３６】
請求項３４に記載の方法であって、前記クエリは、前記仮想フォルダ表示のピボットを変更することを決定したユーザから取得されることを特徴とする方法。
【請求項３７】
請求項３４に記載の方法であって、前記リレーショナルデータベースに渡される前記クエリは、前記フォルダプロセッサにより構成されたデータベースクエリオブジェクトでなることを特徴とする方法。
【請求項３８】
前記フォルダプロセッサに戻される前記結果は、データベースの行列を含むことを特徴とする方法。
【請求項３９】
請求項３４に記載の方法であって、前記リレーショナルデータベースからの結果を受け取った後、前記フォルダプロセッサは前記結果を取得し、これを列挙子構造に変換することを特徴とする方法。
【請求項４０】
請求項３９に記載の方法であって、前記列挙子構造は、結果として得られる仮想フォルダを前記ディスプレイに追加するために使用されることを特徴とする方法。
【請求項４１】
アイテムを表示するシステムであって、
フォルダプロセッサ手段と、
リレーショナルデータベース手段とを備え、
前記プロセッサ手段は、ユーザからクエリを取得し、前記クエリを前記リレーショナルデータベースに渡し、
前記リレーショナルデータベース手段は、前記フォルダプロセッサに結果を戻し、
前記リレーショナルデータベース手段からの前記結果に基づいて、前記フォルダプロセッサ手段は、前記結果を前記ユーザに仮想フォルダとして提供することを特徴とするシステム。
【請求項４２】
請求項４１に記載のシステムであって、ユーザからクエリを取得する手段をさらに備えたことを特徴とするシステム。
【請求項４３】
請求項４１に記載のシステムであって、前記リレーショナルデータベースに渡される前記クエリに含まれるデータベースクエリオブジェクトを構成する手段をさらに備えたことを特徴とするシステム。
【請求項４４】
請求項４１に記載のシステムであって、前記フォルダプロセッサに戻される前記結果として、データベース行列を提供する手段をさらに備えたことを特徴とするシステム。
【請求項４５】
請求項４１に記載のシステムであって、前記リレーショナルデータベースからの結果を列挙子構造に変換する手段をさらに備えたことを特徴とする方法。
【請求項４６】
請求項４５に記載のシステムであって、前記列挙子構造から得られる仮想フォルダをディスプレイに追加する手段をさらに備えたことを特徴とするシステム。
【請求項４７】
ディスプレイとアイテムを記憶するためのメモリを備えるコンピュータシステムにおいて、前記アイテムを操作する方法であって、
アイテムのグループを仮想フォルダとして表わすステップと、
仮想フォルダの直接操作のために実行できる、少なくとも第一の定義された動作を提供するステップであって、前記第一の定義された動作が実行されると、前記仮想フォルダが前記実行された動作による指示に従って操作される少なくとも第一の定義された動作を提供するステップと
を備えたことを特徴とする方法。
【請求項４８】
請求項４７に記載の方法であって、前記定義された動作は、前記仮想フォルダをクリック・アンド・ドラッグすることであることを特徴とする方法。
【請求項４９】
請求項４８に記載の方法であって、前記第一の仮想フォルダを第二の仮想フォルダにクリック・アンド・ドラッグすることは、前記第一の仮想フォルダの前記アイテムを前記第二の仮想フォルダにコピーする機能を実行することを特徴とする方法。
【請求項５０】
請求項４９に記載の方法であって、アイテムを、前記仮想フォルダの根拠となる選択されたメタデータプロパティを有することに基づいて仮想フォルダの中に含み、前記アイテムを第一の仮想フォルダから第二の仮想フォルダにコピーする前記動作は、少なくとも部分的に、前記第二の仮想フォルダの前記メタデータプロパティを前記第一の仮想フォルダからの前記アイテムの各々に追加することによって実行されることを特徴とする方法。
【請求項５１】
請求項５０に記載の方法であって、前記第一の仮想フォルダの前記アイテムに追加される前記メタデータプロパティは、カテゴリであることを特徴とする方法。
【請求項５２】
アイテムを操作する方法を実現するコンピュータ実行可能コンポーネントを有するコンピュータ読取可能媒体であって、
アイテムのグループを仮想フォルダとして表わすステップと、
仮想フォルダの直接操作のために実行できる少なくとも第一の定義された動作を提供するステップであって、前記第一の定義された動作が実行されると、前記仮想フォルダは、前記実行された動作の指示にしたがって操作される少なくとも第一の定義された動作を提供するステップと
を備えたことを特徴とするコンピュータ読取可能媒体。
【請求項５３】
請求項５２に記載の方法であって、前記定義された動作は、前記仮想フォルダのクリック・アンド・ドラッグであることを特徴とする方法。
【請求項５４】
請求項５３に記載の方法であって、第一の仮想フォルダから第二の仮想フォルダへのクリック・アンド・ドラッグは、前記第一の仮想フォルダの前記アイテムを前記第二の仮想フォルダにコピーする機能を実行することを特徴とする方法。
【請求項５５】
請求項５４に記載の方法であって、アイテムを、前記仮想フォルダの根拠となる選択されたメタデータプロパティを有することに基づいて仮想フォルダの中に含み、前記アイテムを第一の仮想フォルダから第二の仮想フォルダにコピーする前記動作は、少なくとも部分的に、前記第二の仮想フォルダの前記メタデータプロパティを前記第一の仮想フォルダからの前記アイテムの各々に追加することによって実行されることを特徴とする方法。
【請求項５６】
請求項５５に記載の方法であって、前記第一の仮想フォルダの前記アイテムに追加される前記メタデータプロパティは、カテゴリであることを特徴とする方法。
【請求項５７】
アイテムを操作するシステムであって、
アイテムのグループを仮想フォルダとして表わす手段と、
前記仮想フォルダの前記操作のために定義された直接操作動作を実行する手段と、
を備えたことを特徴とするシステム。
【請求項５８】
請求項５７に記載のシステムであって、直接操作を実行する前記手段は、仮想フォルダのクリック・アンド・ドラッグを実行する手段を含むことを特徴とするシステム。
【請求項５９】
第一の仮想フォルダから第二の仮想フォルダへのクリック・アンド・ドラッグは、前記第一の仮想フォルダの前記アイテムを前記第二の仮想フォルダにコピーする機能を実行することを特徴とする方法。
【請求項６０】
請求項５９に記載の方法であって、アイテムは仮想フォルダの中に、前記仮想フォルダの根拠となる選択されたメタデータプロパティを有することに基づいて含められ、前記アイテムを第一の仮想フォルダから第二の仮想フォルダにコピーする前記動作は、少なくとも部分的に、前記第二の仮想フォルダの前記メタデータプロパティを前記第一の仮想フォルダからの前記アイテムの各々に追加することによって実行されることを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本願は、本願と同時出願の米国出願代理人整理番号ＮＳＦＴ−１−２０６９９号とＭＳＦＴ−１−２０７００号に関連し、この引用をもって両出願の全体を本願に援用する。
【０００２】
本発明はファイルシステムに関し、より詳細には、仮想フォルダを使用するシステムと方法に関する。
【背景技術】
【０００３】
現在のコンピュータファイルシステムには、多数の好ましくない制約がある。その１つは、ユーザは一般に、表示された構造を管理することができないことである。つまり、フォルダが編成されると、ユーザはいずれかの構造を選択しなければならず、選択後はその構造を変更することが難しい。具体的な例として、「音楽」フォルダの場合、ユーザは音楽ファイルをアーティスト／アルバム形式で編成することを選択でき、この場合、各アーティストのアルバムフォルダがその特定のアーティストのフォルダにグループ化され、特定のアルバムの全歌曲がそのアルバムのフォルダにグループ化される。アーティスト／アルバム形式からは、ある分類の音楽の再生（たとえば、２人の異なるアーティストによるジャズの歌曲２曲の再生）、あるいは異なるアーティストのアルバムから選ばれた歌曲の再生を行えない。
【０００４】
別の問題として、ユーザは非常に多くのファイルをもっている場合があり、その編成が困難という点を挙げることができる。一部のユーザは、ファイルについて柔軟性のない配列を採用しているため、厳格な階層を構築する。このようなファイルの管理は、利用できる文書の数が増加するとともにますます複雑、困難となり、検索と呼び出しも難しくなる。この問題は、共有ファイル等、他のロケーションから別のファイルを利用する場合には一層大きくなる。
【０００５】
ユーザはまた、異なる装置、別のＰＣあるいはオンライン等、異なるロケーションにあるファイルも扱わなければならない。たとえば、ユーザはコンピュータ上で自分の音楽を聴くことを選択でき（音楽プログラムにアクセスする等）、あるいはオンラインでウェブサイトから音楽を聴くこともできるが、これら２つの音楽源は厳格に分離されている。異なるロケーションからの音楽は編成が異なり、同じ方法または場所では管理されない。別の例として、コンピュータネットワーク上に保存されるファイルは、ユーザが現在のマシン上に持っているファイルとは本来的に分離される場合がある。
【０００６】
ユーザはまた、どのファイルデータが保存されているかだけでなく、それがどこに保存されているかも追跡しなければならない。たとえば、音楽ファイルについて、ユーザは各種のシステムにコピーを保持し、どの音楽ファイルがどこにあるかを追跡することを課される。その結果、ファイルが局所的に記憶されている場合であっても、その所在場所を判断することが困難である。
【０００７】
また、ユーザが持っているファイルをみつけ、それに戻ることが困難な場合がある。ユーザは、ファイルが特定のファイルのどこに、どのように保存されているかをなかなか思い出せないことがあるかもしれない。フォルダの集合の場合、さらには同様のファイルのグループであっても、ユーザは多くの場合、自分が探しているものを素早く見つける事が難しいと思う。見つけにくい場所に保存されているファイルについては、その所在場所を特定することはより複雑となる。さらに、ユーザが１つのフォルダの中に多量のファイルを持つと、特に内容が類似していれば、そのフォルダの解析はより困難となる。
【０００８】
ユーザがネットワーク上のファイルを見つけ、あるいはこれに戻ることも困難なときがある。ファイルの共有と公開は多くの場合難しく、そのファイルを、これを提供した人物から取り出すのはさらにもっと難しいことが多い。ユーザは通常、ネットワーク上でファイルを見つけるために、自分が必要とする各種のサイトと名前を記憶し、あるいはマッピングしなければならない。
【０００９】
ネームスペースは統一されていない場合があるため、ユーザはどれが「正しい」のか分からずに混乱する。これは特に、命名規則、限定その他が異なるネットワークに当てはまる。たとえば、オペレーティングシステムによっては、名前を見えるようにするために、スペースを用いない短い名前にしなければならないものもある。
【００１０】
プログラムはまた、多くの場合、それ自身のディレクトリまたはその他のネームスペースにファイルを保存するため、ユーザがそのファイルに戻る道を見つけることが困難である。プログラムは、それが文書を保存するためのデフォルトのディレクトリと場所を持っていることが多い。ユーザは多くの場合、自分のハードディスク全体を検索し、ファイルがどこに保存されているか推測しなければならない。
【００１１】
関係するアイテムが別の場所に保存されていることもよくある。ユーザが持つ関連ファイルは、ハードディスク等の別の部分に保存されているかもしれない。この問題は、複数のコンテンツの種類（たとえば、絵、音楽、ビデオ）があるデジタルメディアサービスの開発とともに一般化している。
【００１２】
本発明は、上記の、およびその他の欠点を克服するシステムと方法を提供することに関する。より詳細には、本発明は仮想フォルダを利用するファイルシステムに関する。
【発明の開示】
【課題を解決するための手段】
【００１３】
仮想フォルダを利用するシステムと方法が提供される。本発明の１つの態様によれば、仮想フォルダは通常のファイルとフォルダ（ディレクトリとも呼ばれる）を、ディスク上の実際の物理的な基本的ファイルシステム構成ではなく、そのメタデータに基づいて、異なるビューでユーザに提示する。このように、システムは、データベース上に保存されているプロパティを取得し、これをフォルダのようなコンテナとして表示する。ユーザはすでにフォルダの扱いに慣れているため、同様の方法で仮想フォルダを表示することにより、ユーザは新しいシステムに素早く適応できる。
【００１４】
本発明の別の態様によれば、仮想フォルダは、ディスプレイとアイテム保存用メモリを有するコンピュータシステムにおいて利用される方法によって提供される。この方法によれば、あるメタデータプロパティが選択される。次に、システムは選択されたメタデータプロパティを有するアイテムを検索し、すると、そのメタデータプロパティを有するアイテムの集合を表示する仮想フォルダディスプレイオブジェクトが提供される。
【００１５】
本発明の他の態様によれば、システムはユーザからのクエリを取得するフォルダプロセッサと、そのアイテムに関する情報を記憶するためのリレーショナルデータベースを備える。フォルダプロセッサはまず、ユーザからのクエリを取得し、そのクエリをリレーショナルデータベースに渡す。リレーショナルデータベースは、結果をフォルダプロセッサに戻し、フォルダプロセッサは、リレーショナルデータベースからの結果に基づいて、その結果を仮想フォルダとしてユーザに提供する。一態様において、フォルダプロセッサに戻される結果は、データベース行列を含む。データベース行列はフォルダプロセッサによって列挙子構造（列挙子構造: enumerator structure）に変換され、これを使って、結果として得られる仮想フォルダをディスプレイに追加する。
【００１６】
本発明の別の態様によれば、ユーザは直接操作を通じて仮想フォルダを扱うことができる。言い換えれば、仮想フォルダを操作するために設けられた機構は、従来の物理的フォルダを操作するために現在使用されているもの（たとえば、クリック・アンド・ドラッグ、コピー、ペースト等）と同様である。
【００１７】
本発明の他の態様によれば、仮想フォルダの直接操作を行うための方法が、ディスプレイとアイテム保存用メモリを備えるコンピュータシステムにおいて提供される。この方法によれば、アイテムのグループが仮想フォルダとして表示される。仮想フォルダの直接操作のために実行できる定義済みの動作が提供され、定義済みの動作の１つが実行されると、仮想フォルダはその定義済みの動作が指示するように操作される。定義済みの動作の一例としては、仮想フォルダのクリック・アンド・ドラッグがある。ある態様において、第一の仮想フォルダを第二の仮想フォルダにクリック・アンド・ドラッグする行動は、第一の仮想フォルダのアイテムを第二の仮想フォルダにコピーする機能を果たす。仮想フォルダにアイテムをコピーすることには、そのアイテムに関係する選択されたメタデータプロパティを追加その他変更することを含む。
【００１８】
本発明のまた別の態様によれば、仮想フォルダを操作するためのフィルタが提供される。このフィルタは基本的に、アイテムの集合を絞り込んでいくためのツールである。一態様において、別のアイテムのプロパティに基づいてフィルタが動的に生成される。たとえば、あるアイテムの集合について、フィルタ機構はプロパティを見直し、そのアイテムが一般にプロパティとして「著者」を持っていれば、フィルタは著者のリストを提供できる。次に、特定の著者をクリックすることにより、その著者を持たないアイテムが消える。これにより、ユーザはコンテンツを絞り込むことができる。
【００１９】
本発明の他の態様によれば、クイックリンクが提供される。一態様において、クイックリンクは所定のリンクの集合（たとえば、ディスプレイの左側に設置される）であり、これをクリックすれば、アイテムの集合の有益なビューが生成される。これらは、プログラムによって予め定義されても、ユーザによって設定されてもよい。たとえば、「全著者」をクリックすると、著者別にスタックされたビューが返される。「全文書」であれば、その記憶領域全体のすべての文書がフラットリストで見られる。ユーザはまた、自分自身のクイックリンクを作ることもできる。たとえば、ユーザは２００３年1月に変更したすべての文書にフィルタで絞込み、それをクイックリンクとして保存できる。
【００２０】
本発明のさらに別の態様によれば、ライブラリが提供される。ライブラリは相互に関係付けることのできる利用可能なタイプのファイルの大きなグループで構成される。たとえば、写真を１つのライブラリ、音楽を別のライブラリ、文書をまた別のライブラリとすることができる。ライブラリは、具体的な種類のアイテムに関係するツールやアクティビティを提供する。たとえば、写真ライブラリの中には、スライドショーを作ったり、写真を共有したりするための、写真の操作に関するツールとフィルタがある。
【００２１】
本発明の他の態様によれば、広い範囲のフィルタやアイテムを利用できる。言い換えれば、システムは複数の物理的ロケーション（たとえば、異なるハードドライブ、異なるコンピュータ、異なるネットワークロケーション等）からのファイル／アイテムを表示し、したがって、ユーザにとってすべてのアイテムが１つのロケーションから来ているように見えるようにすることができる。たとえば、ユーザに対して１つのスクリーン上でそのユーザの音楽ファイルのすべてが表示され、ユーザは、物理的には異なるハードドライブ、異なるコンピュータまたは異なるネットワークロケーションに保存されているファイルであっても、すべてのファイルを１つのビューから操作できる。
【００２２】
本発明の別の態様によれば、非ファイルアイテムを仮想フォルダで表わすことができる。言い換えれば、メモリに保存されたファイルが物理的保存場所に位置づけられる。仮想フォルダは、現在は物理的保存場所に表示されていないアイテムを含むようにすることができる。非ファイルアイテムの例には、電子メールや連絡先がある。
【００２３】
本発明の上記の態様および付随する利点の多くは、添付の図面を参照しながら、以下の詳細な説明を読むことによって本発明を理解すると、よりわかりやすい。
【発明を実施するための最良の形態】
【００２４】
本発明は、仮想フォルダに関する。仮想フォルダは、現在ファイルシステムに用いられているものと同じもしくは同様のユーザインタフェースを利用する。仮想フォルダは通常のファイルとフォルダ（ディレクトリとも呼ばれる）を、ディスク上の実際の物理的な基本的ファイルシステム構成ではなく、そのメタデータに基づいて、異なるビューでユーザに示される。ユーザが自分のファイルとフォルダを、ファイルシステムを管理するのに現在使用されているのと同様のコントロールを使って操作することができる、ロケーションに依存しないビューが作られる。一般に、これは、ユーザが、システムの別の部分として行われる管理や編成ではなく、ファイルそのものの本来的プロパティに基づいて、自分のファイルを編成し、配置しなおすことができることを意味する。仮想フォルダは、同じコンピュータ内の複数のディスクドライブから、複数のコンピュータ間で、あるいは異なるネットワークロケーション等、別の物理的ロケーションからファイルまたはアイテムを表示し、ファイルまたはアイテムの１つのビューで、異なる物理的ロケーションにあるファイルやアイテムを提示できる。一実施形態において、異なるアイテムまたはファイルを含めるには、ＩＰネットワークを介して接続されさえすればよい。
【００２５】
仮想フォルダモデリングもまた、従来の非ファイルエンティティに使用できる。その応用は、従来は非ファイルエンティティだったものを示すためにファイルとフォルダ（つまり、オブジェクトとコンテナ）と同様の一連のユーザインタフェースを備えることである。このような非ファイルエンティティの例には、電子メール、あるいは連絡先データベースからの連絡先情報がある。このように、仮想フォルダは示されているデータがファイルからのものか、非ファイルエンティティかに関係なく動作する、ロケーションに依存しないメタデータベース表示システムを提供する。一般に、これらの態様により、ユーザが自分のファイルとデータを操作でき、一般的ユーザインタフェース技術（ドラッグ・アンド・ドロップ、ダブルクリック等）を使いながらさまざまなデータ型を豊富に統合したものを利用できるという点で、柔軟性が増す。
【００２６】
図１と次の説明は、本発明を実現するのに適したコンピューティング環境を簡潔に説明するためのものである。必要条件ではないが、本発明は、パーソナルコンピュータによって実行されるプログラムモジュール等のコンピュータ実行可能命令という一般的な文脈で以下に説明する。通常、プログラムモジュールには、特定のタスクを実行し、あるいは特定の抽象データ型を実行するルーチン、プログラム、キャラクタ、コンポーネント、データ構造等が含まれる。当業者は、本発明が、たとえばハンドヘルド装置、マルチプロセッサシステム、マイクロプロセッサベースもしくはプログラム可能な民生用電子機器、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータその他をはじめとする他のコンピュータシステム構成でも実現できると推測するであろう。本発明はまた、タスクが通信ネットワークを通じて連結される遠隔処理装置によって実行される、分散型コンピューティング環境でも実現できる。分散コンピューティング環境において、プログラムモジュールはローカルおよびリモートメモリ記憶装置の両方に設置することができる。
【００２７】
図１を参照すると、本発明を実行するシステム例は、処理装置２１、システムメモリ２２と、システムメモリ２２を含む各種のシステムコンポーネントを処理装置２１に連結するシステムバス２３を備える従来のパーソナルコンピュータ２０の形態の汎用コンピューティング装置を有する。システムバス２３は、メモリバスもしくはメモリコントローラ、ペリフェラルバス、各種のバスアーキテクチャのいずれかを使ったローカルバスを含むさまざまな種類のバス構造のいずれでもよい。システムメモリには、リードオンリーメモリ（ＲＯＭ）２４とランダムアクセスメモリ（ＲＡＭ）２５が含まれる。起動時等に、パーソナルコンピュータ２０内の構成要素間の情報伝達を助ける基本ルーチンを含むベーシック入力／出力システム（ＢＩＯＳ）２６がＲＯＭ２４に記憶されている。パーソナルコンピュータ２０にはさらに、ハードディスク３９の読み書きを行うハードディクドライブ２７、取り外し可能な磁気ディスク２９の読み書きを行う磁気ディスクドライブ２８、ＣＤ−ＲＯＭその他の光媒体等の取り外し可能な光ディスク３１の読み書きを行う光ディスクドライブ３０が含まれる。ハードディスクドライブ２７、磁気ディスクドライブ２８、光ディスクドライブ３０は、ハードディスクインタフェース３２、磁気ディスクドライブインタフェース３３、光ドライブインタフェース３４によってそれぞれシステムバス２３に接続されている。ドライブとこれに関係するコンピュータ読取可能媒体は、コンピュータ読取可能命令、データ構造、プログラムモジュールおよびパーソナルコンピュータ２０のためのその他のデータの不揮発性記憶手段となる。本願で紹介する環境例ではハードディクス３９、取り外し可能磁気ディスク２９、取り外し可能光ディスク３１が使用されているが、当業者であれば、磁気カセット、フラッシュメモリカード、デジタルビデオディスク、ベルヌイカートリッジ、ランダムアクセスメモリ（ＲＡＭ）、リードオンリーメモリ（ＲＯＭ）等、コンピュータによりアクセス可能なデータを記憶できる上記以外の種類のコンピュータ読取可能媒体もこのオペレーティング環境において使用できることを推測するであろう。
【００２８】
オペレーティングシステム３５、１つまたは複数のアプリケーションプログラム３６、その他のプログラムモジュール３７およびプログラムデータ３８を含む、多数のプログラムモジュールがハードディスク３９、磁気ディスク２９、光ディスク３１、ＲＯＭ２４またはＲＡＭ２５に記憶されていてもよい。ユーザは、キーボード４０やポインティングデバイス４２等の入力装置を通じて、コマンドや情報をパーソナルコンピュータ２０に入力することができる。その他の入力装置（図示せず）には、マイクロフォン、ジョイスティック、ゲームパッド、サテライトディッシュ、スキャナ等がある。これらおよびその他の入力装置は多くの場合、システムバス２３に接続されるシリアルポートインタフェース４６を通じて処理装置２１に接続されているが、パラレルポート、ゲームポートあるいはユニバーサルシリアルバス（ＵＳＢ）を含むその他のインタフェースで接続してもよい。モニタ４７の形態のディスプレイも、ビデオカードまたはアダプタ４８等のインタフェースを介してシステムバス２３に接続される。１つまたは複数のスピーカ５７が、オーディオアダプタ５６等のインタフェースを介してシステムバスに接続されていてもよい。ディスプレイとスピーカのほかにも、パーソナルコンピュータは通常、プリンタ等の他の周辺出力装置（図示せず）を備えている。
【００２９】
パーソナルコンピュータ２０は、リモートコンピュータ４９等、１つまたは複数のパーソナルコンピュータとの論理接続を使った、ネットワーク環境で動作してもよい。リモートコンピュータ４９は、別のパーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、ピア装置またはその他の一般的ネットワークノードであってよく、一般には、パーソナルコンピュータ２０に関して上述した構成要素の多くまたは全部を備える。図１に示されている論理接続は、ローカルエリアネットワーク（ＬＡＮ）５１と広域ネットワーク（ＷＡＮ）５２を含む。このようなネットワーキング環境は、事務所、企業規模のコンピュータネットワーク、イントラネット、インターネットで一般的である。
【００３０】
ＬＡＮネットワーキング環境で使用する場合、パーソナルコンピュータ２０は、ネットワークインタフェースまたはアダプタ５３を通じてローカルエリアネットワーク５１に接続される。ＷＡＮネットワーキング環境で使用する場合、パーソナルコンピュータ２０は通常、モデム５４あるいは、インターネット等、広域ネットワーク５２上の接続を確立するためのその他の手段を備える。モデム５４は、内蔵か外付けかを問わず、シリアルポートインタフェース４６を介してシステムバス２３に接続される。ネットワーク環境において、パーソナルコンピュータ２０に関連して描かれているプログラムモジュールまたはその一部は、リモートメモリ記憶装置に保存されていてもよい。図のネットワーク接続は一例であり、コンピュータ間の通信リンクを確立するのに他の手段を用いることができると認識できるであろう。
【００３１】
図１に示すタイプのシステムで実現されているように、本発明は仮想フォルダを使用し、これによってユーザはファイル操作やフォルダナビゲーション（ブラウジング）にかかわる基本的タスクが実行しやすく、また新しい機能で利用可能な、より高いレベルの記憶能力を提供しやすくなる。仮想フォルダは、ディスク上の実際の物理的な基本的ファイルシステム構成ではなく、そのメタデータに基づいて、異なるビューでファイルとアイテムをユーザに示す。
【００３２】
図２は、本発明による仮想フォルダシステム２００のブロック図である。以下に詳しく説明するように、仮想フォルダにより、ユーザはデータを閲覧する方法を制御する「ピボット」を変えることができる。たとえば、ユーザは自分の音楽をすべての歌のフラットリストとして見ることができ、さらにこれをアルバムとしてグループ化できる。あるいは、ユーザはジャンル、アーティスト、年などだけを示すようにビューを切り替えることもできる。ユーザは、手元にあるタスクに適したオブジェクトだけを見るようにビューをカスタマイズすることもできる。これにより、さらに（ダウンとバックアップの両方の）フォルダのナビゲーションの必要ない、改善されたブラウジング経験が得られる。同じ経験や機能が、ファイルとしては記憶されていない他のデータ型のモデリングにも適用される。たとえば、連絡先をこのような方法でユーザに表示でき、ユーザは慣れ親しんだインタフェース機能と、これを操作するための、フラットなアドレスブックによるものより豊富なインフラ構造を利用できる。
【００３３】
図２に示されているように、仮想フォルダシステム２００は、フォルダプロセッサ２１０、リレーショナルデータベース２３０、仮想フォルダ記述データベース２３２、アザーシェルフォルダコンポーネント２３４、フォルダハンドラのコンポーネント２３６、シェルブラウザ及びビューコンポーネント２４０を含む。フォルダプロセッサ２１０は、ネイティブハンドリングコードコンポーネント２１２、ハンドラファクトリコンポーネント２１４、プロパティライタコンポーネント２１６、行セットパーサコンポーネント２１８、クエリビルダコンポーネント２２０、列挙子コンポーネント２２２、プロパティファクトリコンポーネント２２４を備える。
【００３４】
リレーショナルデータベース２３０は、システム内のすべてのファイルに関するプロパティを記憶する。また、連絡先（つまり、非ファイルアイテム）等のアイテムを完全に記憶する。一般に、これはそこに含まれるファイルとアイテムの種類に関するメタデータを記憶する。リレーショナルデータベース２３０は、クエリビルダ２２０からＳＱＬクエリを受け取る。リレーショナルデータベース２３０はまた、ＳＱＬ行セットをアイテム１列につき１行で行セットパーサコンポーネント２１８に送る。列はアイテムのプロパティである。
【００３５】
仮想フォルダ記述データベース２３２は、仮想フォルダの記述を含む。仮想フォルダ記述データベース２３２は、フォルダ内に表示される型のリスト、初期フィルタ、（範囲）からの結果を示すための物理的ロケーションを含むデータをクエリビルダコンポーネント２２０に送る。
【００３６】
アザーシェルフォルダコンポーネント２３４について、フォルダプロセッサ２１０は、ハンドラまたはプロパティのため、すべてのファイルを含む多くの型のアイテムから既存のシェルフォルダにデリゲート（delegate）する。アザーシェルフォルダ２３４は、他のフォルダからのプロパティをプロパティファクトリ２２４に送る。アザーシェルフォルダコンポーネントはまた、ハンドラをハンドラファクトリ２１４に送る。
【００３７】
フォルダハンドラコンポーネント２３６は、連絡先等、そのデータベースの中にのみ存在するアイテムのためのコード挙動（コード・ビヘイビア: code behavior）を提供する。これは、非ファイルアイテムがファイルに近い挙動をとることを可能にするものである。フォルダハンドラコンポーネント２３６は、ハンドラファクトリ２１４にハンドラを送る。
【００３８】
ネイティブハンドリングコードコンポーネント２１２に関して、フォルダプロセッサ２１０は、アイテムのプロパティに基づいて特定のハンドラを直接実装する。ネイティブハンドリングコードコンポーネント２１２は、ハンドラをハンドラファクトリ２１４に送る。ネイティブハンドリングコードコンポーネント２１２とフォルダハンドラコンポーネント２３６について、すべてのネームスペースと同様に、仮想フォルダはそれらのアイテムのためのハンドラの集合（コンテキストメニュー、アイコン、サムネイル、ｉｎｆｏｔｉｐ等）を提供しなければならない。これらのほとんど（ｉｎｆｏｔｉｐ、データオブジェクト、ドラッグ・ドロップ・ハンドラ、バックグラウンドコンテキストメニュー等）のために、仮想フォルダはそれが保有するすべての型に関する共通の（ネイティブ）ハンドラを提供する。しかしながら、それら以外に、その型の著者が提供しなければならないものもある（アイテムそのもののコンテキストメニュー、書込み可能プロパティストア等）。デフォルトハンドラは、上書きも可能である。仮想フォルダは、これをファイルに関して再利用し、非ファイルのアイテムに同じことを行わせる。
【００３９】
ハンドラファクトリ２１４はＩＤリストを取得し、コンテキストメニュー、アイコンその他を提供するコード挙動を発生させる。一般に、フォルダプロセッサ２１０はネイティブハンドラ、外付けハンドラを使用してもよく、あるいは先にネイティブハンドリングコードコンポーネント２１２、アザーシェルフォルダコンポーネント２３４、フォルダハンドラコンポーネント２３６に関して述べたように、他のシェルフォルダにハンドラの入手をデリゲートしてもよい。ハンドラファクトリコンポーネント２１４は、ビューの要求に応じて、ビュー２４０内のシェルブラウザにハンドラを送る。ハンドラファクトリコンポーネント２１４は、プロパティハンドラをプロパティライタ２１６に送る。
【００４０】
プロパティライタ２１６は、カット、コピー、ペースト等のユーザの意思をファイルまたはアイテムに対する所有権（プロパティライト: property right）に変換する。シェルブラウザ及びビューコンポーネント２４０は、直接操作（カット／コピー／ペースト）またはメタデータの編集を含め、プロパティライタ２１６にデータを送る。一般に、仮想フォルダは、アイテムのプロパティに基づく編成を提示するため、移動とコピー（ドラッグ・ドロップ）等の操作はこれらのプロパティへの編集となる。たとえば、著者別にスタックされたビューの中で、文書を著者１から著者２に移動させることは、著者を変更することを意味する。プロパティライタコンポーネント２１６は、この機能を実行する。
【００４１】
行セットパーサ２１８は、データベース行セットを取得し、すべてのアイテムプロパティをシェルＩＤリスト構造に保存する。行セットは、仮想フォルダの区分的定義を取得し、ＳＱＬストリングを構築すると、これをデータベースに発行することができる。行セットパーサコンポーネント２１８は、ＩＤリストを列挙子コンポーネント２２２に送る。上述のように、行セットパーサコンポーネント２１８はまた、リレーショナルデータベース２３０から、ＳＱＬ行セットを含むデータを１アイテムにつき１行で受け取る。列はアイテムプロパティである。
【００４２】
クエリビルダコンポーネント２２０は、ＳＱＬクエリを構築する。クエリビルダコンポーネント２２０は、ナビゲーションからの新たなフィルタを含め、列挙子コンポーネント２２２からデータを受け取る。クエリビルダコンポーネント２２０はまた、フォルダ内で表示する型のリスト、初期フィルタ、（範囲）から結果を示すための物理的ロケーション等、仮想フォルダ記述データベース２３２からデータを受け取る。クエリビルダコンポーネント２２０は、ＳＱＬクエリをリレーショナルデータベース２３０に送る。
【００４３】
一般に、クエリビルダコンポーネント２２０は、行の集合（別の言葉で言えば、テーブル）を備える。これにより、クエリを実行することが可能になる。行セットパーサコンポーネント２１８は各行を取得し、列の名前を使って行をＩＤリストに変換する。ＩＤリストは、ネームスペースの中のアイテムを参照するために使用される周知のシェル構造である。これを行うことにより、仮想フォルダはシェルの残りにとって他のネームプレースのように見える。また、このデータをキャッシュに格納すれば、コスト高となるデータベースへのアクセスをなるべく行わないようにするのに役立つ。
【００４４】
列挙子コンポーネント２２２は、仮想フォルダへのナビゲーションに応答して動作する。上述のように、列挙子コンポーネント２２２は、行セットパーサコンポーネント２１８からＩＤリストを受け取り、ナビゲーションからの新しいフィルタをクエリビルダコンポーネント２２０に送る。列挙子２２２はまた、シェルブラウザ及びビューコンポーネント２４０にデータを送り、このデータにはＩＤリストが含まれ、ＩＤリストはナビゲーションの後で戻され、ビューに挿入される。
【００４５】
プロパティファクトリコンポーネント２２４はＩＤリストとプロパティ識別子を取得し、これらのプロパティのための数値を返す。プロパティファクトリコンポーネント２２４は、プロパティハンドラを含むデータを、ハンドラファクトリコンポーネント２１４から受け取る。上述のように、プロパティファクトリコンポーネント２２４はまた、他のフォルダからのプロパティを含むデータをアザーシェルフォルダコンポーネント２３５から受け取る。プロパティファクトリコンポーネント２２４はまた、ビューの要求に応じて、アイテムプロパティを含むデータをシェルブラウザ及びビューコンポーネント２４０に送る。
【００４６】
シェルブラウザ及びビューコンポーネント２４０は、ウィンドウの中にフォルダのコンテンツを表示し、クリック、ドラッグ、ナビゲート等、表示されたファイルまたはアイテムとのすべてのユーザインタラクションを処理する。このように、シェルブラウザ及びビューコンポーネント２４０はユーザの動作を受け取る。シェルブラウザ及びビューコンポーネント２４０はまた、フォルダ、この場合はフォルダプロセッサ２１０、から必要なコード挙動に関するデータを取得する。
【００４７】
上述のように、仮想フォルダは通常のファイルとフォルダ（ディレクトリとも呼ばれる）を、ディスク上の実際の物理的な基本的ファイルシステム構成ではなく、それらのメタデータに基づいて、異なるビューでユーザに提示する。このように、システムはデータベース内に保存されたプロパティを取得し、フォルダのようなコンテナとしてこれを提示する。ユーザはすでにフォルダを使った作業に慣れているため、仮想ファイルを同様に提示することにより、ユーザは新たなシステムにより素早く適応できる。
【００４８】
図３は、ユーザが選択されたアイテムを取り消すクエリを提供するためのルーチン３００を示すフロー図である。ブロック３０２で、フォルダプロセッサはユーザからクエリを取得する。ブロック３０４で、フォルダプロセッサはクエリをリレーショナルデータベースに渡す。ブロック３０６で、リレーショナルデータベースは結果をフォルダプロセッサに戻す。ブロック３０８で、フォルダプロセッサは結果を仮想フォルダとアイテムの形でユーザに提供する。
【００４９】
図４は、仮想フォルダがデフォルトクエリまたはユーザからのクエリのいずれかに応じて構成され、スクリーン上に表示されるルーチン３２０を説明するフロー図である。ブロック３２２で、ユーザが初めて仮想フォルダを開くと、デフォルトクエリが使用される。このデフォルトクエリは、レジストリから取得される。たとえば、音楽ライブラリ用のデフォルトクエリは、すべての歌曲をアルバムごとにグループ化して示すものとすることができる。ブロック３２４で、フォルダプロセッサはこのクエリのためのクエリオブジェクトを構成し、次にこのクエリをリレーショナルデータベースに送る。ブロック３２６で、リレーショナルデータベースはクエリの結果を生成し、これらをデータベース行列としてフォルダプロセッサに戻す。
【００５０】
ブロック３２８で、フォルダプロセッサはこれらの結果を取得し、これをデータの行列から列挙子構造に変換し、フォルダ表示はこれを使って、結果として得られる仮想フォルダとアイテムをスクリーンに追加し、ユーザが対話できるようにする。判断ブロック３３０で、ユーザはビューを変えるか否かを判断する（異なるクエリ、つまり「ピボット」を発行することによって変える）。たとえば、ユーザは「全アーティスト表示」のピボットを発行することができる。ユーザがビューを変えたければ、ルーチンはブロック３２４に戻り、ここでフォルダプロセッサがこの新しいクエリをリレーショナルデータベースに送り、結果の新しい行列を受け取り、新しい列挙子構造を構成する。その後、プロセスは上述のように進み、列挙子を使ってスクリーン上に「アーティスト」のオブジェクトを導き出し、フォルダのビューが明瞭化、更新される。
【００５１】
１つの例では、ユーザがナビゲートできるコンテナを表示するアルバムオブジェクトが提供される。たとえば、「ビートルズ」のアルバムをダブルクリックすると、ビートルズのすべての歌曲を見るビューがナビゲートされる。フォルダプロセッサは「ビートルズの全歌曲を表示」のクエリをリレーショナルデータベースに発行し、リレーショナルデータベースはこれらの歌曲のデータの行列を戻す。フォルダプロセッサはこれらの全歌曲の列挙子を作り、この列挙子がスクリーンに引き出される。
【００５２】
ユーザはまた、仮想フォルダのブラウジング中いつでも、ビューを選択できる。上記の例では、ビートルズの歌曲だけを示すように絞り込んだ後、ユーザはアルバムとしての歌曲だけを示すようにビューを変更できる。アイテムのビューを別の提示に変える工程を「スタッキング」と呼ぶ。これは、アイテムがその提示に基づいて概念的に「スタック」の状態に配置されるからである。この場合、歌曲は、各種のアルバムの各々に関するスタックに並べ替えられる。すると、ユーザはこれらのスタックのうちの１つをナビゲートし、特定のアルバムの歌曲だけを見ることができる。ここでも、ユーザはこれらの残りの楽曲のビューをプロパティ（たとえば、人気度等）に基づくスタックに並べ替えることができる。人気度のプロパティを選択すれば、ビートルズのアルバムからの歌曲が１，２または３つ星ランキングのスタックで示される。
【００５３】
各クエリの結果は、範囲のどの物理的ロケーションに含まれているかによって異なる。たとえば、範囲は、ユーザの「マイドキュメント」フォルダの中のフォルダだけを含むようにしてもよい。あるいは、範囲はコンピュータ上のすべてのフォルダ、あるいはネットワーク接続された複数のコンピュータ上のすべてのフォルダを含むものでもよい。ユーザは、範囲プロパティシートを通じて範囲を見て、変更できる。ある例において、範囲プロパティシートは、仮想フォルダを右クリックし、「プロパティ」を選択することで表示される。ユーザは新しいフォルダを範囲に追加し、あるいは前に追加されたフォルダを削除することもできる。
【００５４】
仮想フォルダが特定のユーティリティを提供する対象となるユーザグループの１つに、知識労働者がある。仮想フォルダにより、知識労働者はファイルタイプ、ケース番号、著者等によって閲覧文書を簡単に切り替えられる。知識労働者はそれぞれ文書の編成方法が異なる傾向があるため、仮想フォルダを使い、これらの選好の違いに対応できる。
【００５５】
図５は、ハードドライブ上の物理的フォルダ配置によるフォルダ構造の樹形図である。この物理的フォルダ配置は、フォルダの従来の使用方法に基づいており、これはＮＴＦＳその他既存のファイルシステムに基づいている。このようなフォルダは物理的フォルダと呼ばれるが、それは、その構造がディスク上の実際の物理的な基本的ファイルシステム構成に基づいているからである。以下に詳細に説明するが、これは、ユーザが現在物理的フォルダを操作するのに使用されているものと同様の方法でファイルとフォルダを操作することを可能にする、ロケーションに依存しないビューを作る仮想フォルダとは対照的である。
【００５６】
図５に示されているように、フォルダ４００は「マイドキュメント」フォルダである。第一段階で、フォルダ４００はフォルダ４１０，４２０，４３０を含み、これらはそれぞれクライアント１，２，３に対応する。第二段階で、フォルダ４１０，４２０，４３０はそれぞれフォルダ４１１，４２１，４３１を含み、その各々が選択されたクライアントに関するコントラクトに対応する。第三段階で、フォルダ４１１，４２１，４３１は、それぞれフォルダ４１２，４２２，４３２を含み、その各々が２００１年に対応する。第三段階で、フォルダ４１１，４２１，４３１の各々はまたそれぞれフォルダ４１３，４２３，４３３を含み、その各々が２００２年に対応する。
【００５７】
図５に示されているような物理的フォルダファイル構成をナビゲートしたいユーザには、多数の障害があることがわかるであろう。たとえば、ユーザが自分の作ったすべてのコントラクトについて作業したい場合、まずフォルダ４１１にナビゲートして、クライアント１に関するコントラクトを扱い、次にフォルダ４２１にナビゲートしなおし、クライアント２のコントラクトを入手し、さらにフォルダ４３１にナビゲートし、クライアント３のコントラクトを見なければならない。このような配置では、ユーザがすべてのコントラクトにアクセスするのは難しく、一般に、すべてのコントラクトを同時に閲覧し、操作することができない。同様に、ユーザが２００１年に作ったコントラクトのすべてを見ようとすれば、フォルダ４１２，４２２，４３２の各々にナビゲートしなければならない。詳細は後述するが、本発明の仮想フォルダは、改良されたファイルシステム構成を提供する。
【００５８】
図６は、仮想フォルダ構造の樹形図である。後に詳述するが、仮想フォルダはロケーションに依存しないビューを作るため、ユーザは自分のファイルとフォルダを便利な方法で操作できる。図６に示すように、仮想フォルダはスタックとして提示される。仮想フォルダ５００は「全アイテム」フォルダである。第一段階で、仮想フォルダ５００は仮想フォルダ５１０，５２０，５３０を含み、それぞれクライアント、コントラクト、年に対応する。さらに詳しくは後述するが、この構造により、ユーザは所望のパラメータにしたがってファイルにアクセスすることができる。
【００５９】
図７は、図６の仮想フォルダ構造の樹形図であり、第二段階で、仮想フォルダ５１０はさらに仮想フォルダ５１１，５１２を含み、これがそれぞれコントラクトと年に対応する。言い換えれば、仮想フォルダ５１０のクライアントスタックはさらにコントラクトと年でフィルタ処理される。どのファイルとアイテムが仮想フォルダの各々に含まれるかを判断する工程について、後に詳しく説明する。
【００６０】
図８は、図７の仮想フォルダ構造の樹形図であり、第三段階で、仮想フォルダ５１１は仮想フォルダ５１３を含み、これは年に対応する。言い換えれば、仮想フォルダ５１１のコントラクトスタックがさらに年でフィルタ処理される。仮想フォルダ５１０，５１１，５１３のための仮想フォルダ構造はクライアント、コントラクト、年にしたがって構成されているが、仮想フォルダは他の構成シーケンスも可能とすることが推測でき、これについては図９を参照しながら詳細に説明する。
【００６１】
図９は、図６の仮想フォルダ構造の樹形図であり、第二段階で、仮想フォルダ５２０はさらに、それぞれクライアントと年に対応する仮想フォルダ５２１，５２２にフィルタ処理される。第三段階で、仮想フォルダ５２１はさらに、年に対応する仮想フォルダ５２３にフィルタ処理されている。図８と図９の組織構造を比べると、仮想フォルダシステムの柔軟性がわかり。つまり、仮想フォルダシステムにおいて、ユーザは、図５に示されている物理的ファイル構造のロケーション依存型のビューに頼るのとは異なり、所望のパラメータに従って仮想フォルダをナビゲートすることができる。
【００６２】
図１０は、文書ライブラリのスタックを示すスクリーンディスプレイ６００の説明図である。上述のように、スタックを使い、仮想フォルダのタイプを表わすことができる。詳細は後述するが、スクリーンディスプレイ６００は、クイックリンク要素６１０−６１３、フィルタ要素６２０−６２６、アクティビティ要素６３０−６３３、情報およびコントロール要素６４０−６４５、仮想フォルダスタック６５１−６５５を含む。
【００６３】
クイックリンク要素は、「全カテゴリ」のクイックリンク６１０、「全著者」のクリックリンク６１１、「１月の作品」のクイックリンク６１２、追加クイックリンク表示のための選択６１３を含む。以下に詳細に述べるが、クイックリンクは、ユーザが仮想フォルダの所望のナビゲーションを行うために選択できる。クイックリンクはシステムによって提供されてもよく、またクイックリンクの中には、ユーザが作り、保存するものもある。
【００６４】
フィルタ要素は、「フィルタ条件(filter by)」インディケータ６２０、入力用空欄６２１、「日付別」インディケータ６２２、「年」セレクタ６２３、「著者選択」セレクタ６２４、「カテゴリ選択」セレクタ６２５、「追加フィルタ」セレクタ６２６を含む。「フィルタ条件」インディケータ６２０は、ユーザに、以下のアイテムを仮想フォルダもしくはアイテムのフィルタ処理に使用できるという事実を示す。入力用空欄６２１は、ユーザが所望の新しいフィルタタームを打ち込むための領域である。「日付別」インディケータ６２２は、ユーザに、「年」セレクタ６２３からある日付を選択することにより、仮想フォルダもしくはアイテムを選択された年でフィルタ処理できるという事実を示す。「著者選択」セレクタ６２４により、ユーザは特定の著者にしたがってフィルタ処理できる。「カテゴリ選択」セレクタ６２５により、ユーザは選択されたカテゴリにしたがってフィルタ処理できる。「追加フィルタ」セレクタ６２６により、ユーザはディスプレイ上に追加のフィルタをプルアップできる。
【００６５】
アクティビティセレクタには、「新カテゴリ作成」セレクタ６３０、「アクティビティ」セレクタ６３１，６３２、「追加アクティビティ」セレクタ６３３が含まれる。詳細は後述するが、提示されるアクティビティは、一般的に望まれる機能のためのものでよく、あるいはより詳しくは、現在表示されている仮想フォルダのタイプにとって有益なアクティビティを示す。たとえば、「新カテゴリ作成」セレクタ６３０は、ユーザにより、新スタックにより表わされる新カテゴリを作成するために選択される。
【００６６】
上述のように、アクティビティセレクタ６３１，６３２は、より詳しくは、現在表示中のフォルダもしくはアイテムのタイプを示すものである。たとえば、現在の表示は文書ライブラリであり、そのために、「アクティビティ」セレクタ６３１，６３２は、編集または添付作成等、特に文書のために考案されたアクティビティを示す。現在のライブラリが写真ライブラリであれば、「アクティビティ」セレクタ６３１，６３２は写真アルバム作成または他のユーザとの写真共有等、特に写真に向けられたアクティビティのものとすることができる。
【００６７】
情報およびコントロール要素には、情報ライン６４０，６４１、コントロールライン６４２、バックスペースコントロール６４３、情報ライン６４４，６４５が含まれる。情報ライン６４０，６４１は、仮想フォルダもしくはアイテムの現在のナビゲーションに関する情報を提供する。この例では、情報ライン６４０は現在のナビゲーションが文書ライブラリへのものであることを示し、情報ライン６４１はより完全なナビゲーションを示し、文書ライブラリが記憶エリア内にあることを示している。コントロールライン６４２は、多数の標準的コントロールを提供し、バックスペースボタン６４３により、ユーザはナビゲーション中ずっとバックアップできる。情報ライン６４４は、現在のナビゲーションのコンテンツに関する数値的情報を提供する。この例では、情報ライン６４４は、文書ライブラリのスタックに４１のアイテムがあり、これが１００ＭＢ使用していることを示している。情報ライン６４５は、選択されたファイルに関する追加情報等、その他の情報を提供するのにも利用できる。
【００６８】
文書ライブラリのスタックには、「ＡＢＣ社」のスタック６５１、「バックアップ」のスタック６５２、「事業計画」のスタック６５３、「ＸＹＺ社」のスタック６５４、「マーケティングレポート」のスタック６５５が含まれる。各スタックの上の数字は、それぞれのスタックにいくつのアイテムがあるかを示している。たとえば、「ＡＢＣ社」のスタック６５１は、８のアイテムがあることを示しているように描かれている。スタックのアイテム数の合計が、情報ライン６４４に示されているアイテム数であり、この例では、上述のように４１である。選択ボックスＳＢが設けられ、ユーザはこれを使って所望のアイテムを選択できる。「ＡＢＣ社」のスタック６５１を選択すると、そのスタックのアイテムが表示される。これについて図１１を参照しながら説明する。
【００６９】
図１１は、図１０の「ＡＢＣ社」のスタック６５１の中のアイテムを示すスクリーンディスプレイの説明図である。情報ライン６４０，６４１には、今度は、現在のナビゲーションが「ＡＢＣ社」のスタックを示していることが表示されていることに注意する。「ＡＢＣ社」のスタック６５１は、それぞれ文書１−８に対応する８つの文書７５１−７５８を含むように描かれている。これに対応して、情報ライン６４４は、８件のアイテムがあり、これが２０ＭＢのメモリを使っていることを示す。図１１の文書は、ＡＢＣ社のスタックの中でさらにスタックに並べ替えられてもよい。つまり、ＡＢＣ社のスタック６５１により示される仮想フォルダの中で、文書を保持するよう別の仮想フォルダが編成される。これについて図１２−１６を参照しながら以下に説明する。
【００７０】
図１２は、図１１の文書のためにスタッキング機能が選択されているスクリーンディスプレイの説明図である。図１２に示されているように、ユーザは機能ボックス７６０をプルアップできる。機能ボックス７６０には、「閲覧」の選択肢７６１、「アイコン配置」の選択肢７６２、「スタック」の選択肢７６３、「更新」の選択肢７６４、「フォルダを開く」の選択肢７６５、「カット」の選択肢７６６、「コピー」の選択肢７６７、「取消」の選択肢７６８、「新規」の選択肢７６９、「プロパティ」の選択肢７７０が含まれる。図では、選択ボックスＳＢは「スタック」の選択肢７６３を囲んでいる。
【００７１】
図１３は、図１２のスタッキング機能のために「著者別にスタック」のパラメータが選択されているスクリーンディスプレイの説明図である。図１３に示されているように、ボックス７８０が表示され、それが各種のスタッキングオプションを提示している。スタッキングオプションには、「スタックを解除」のオプション７８１、「カテゴリ別にスタック」のオプション７８２、「著者別にスタック」のオプション７８３、「ユーザ別にスタック」のオプション７８４が含まれる。図では、選択ボックスＳＢは「著者別にスタック」のオプション７８３を囲んでいる。
【００７２】
図１４は、図１３のファイルが著者別にスタックされているスクリーンディスプレイの説明図である。図１４に示されているように、スタック７９１，７９２は、それぞれ著者であるボブとリサに対応している。各スタックの上の数字が示しているように、ボブのスタック７９１は２つのアイテム、リサのスタック７９２は５つのアイテムを含む。アイテム７５８（文書８に対応）には著者がなく、したがって、「著者」のスタックには含まれない。スタック７９１，７９２は、スタックを、「ＡＢＣ社」のスタック６５１の中のように、複数のレベルで編成できることを示している。このように、仮想フォルダは、「リサ」のスタック７９２が文書ライブラリの中の「ＡＢＣ社」のスタック６５１に入るように、複数のレベルで形成することができる。
【００７３】
図１５は、図１５のファイルをスタックしなおすために「カテゴリ別にスタック」のオプションがさらに選択されたスクリーンディスプレイの説明図である。図１５に示されているように、選択ボックスＳＢは、「カテゴリ別にスタック」のオプション７８２を囲んでいる。アイテムの一部はすでにスタック７９１，７９２にスタックされているため、「カテゴリ別にスタック」のオプション７８２はアイテムをスタックしなおす。これについて図１６を参照しながら以下に詳しく説明する。
【００７４】
図１６は、図１４のファイルがカテゴリによりスタックしなおされているスクリーンディスプレイの説明図である。図１６に示されているように、スタック７９３，７９４は「ＸＹＺ社」と「マーケティングレポート」のカテゴリにそれぞれ対応する。文書１，２に対応するアイテム７５１，７５２は追加のカテゴリについて指定されなかったため、他のカテゴリスタックのいずれにも属さない。
【００７５】
図１７は、物理的フォルダのクイックリンクが選択されているスクリーンディスプレイの説明図である。図において、選択ボックスＳＢは、「全フォルダ」のクイックリンク６１６を囲んでいる。図１８に関して以下に詳細に説明するように、「全フォルダ」のクイックリンク６１６は、物理的フォルダのビューに切り替えるものである。
【００７６】
図１８は、物理的フォルダを示すスクリーンディスプレイの説明図である。図の物理的フォルダは、図１７の仮想フォルダスタックのファイルを含んでいる。言い換えれば、図１７のスタック６５１−６５５に含まれるアイテムはまた、システム内の特定の物理的フォルダにも含まれる。これらは、図１８において、現在のコンピュータ上にある「マイドキュメント」のフォルダ８５１、現在のコンピュータ上にある「デスクトップ」のフォルダ８５２、ハードドライブＣにある「Ｆｏｏ」のフォルダ８５３、サーバ上にある「マイファイル」のフォルダ８５４、外付けドライブ上にある「外付けドライブ」のフォルダ８５５、別のコンピュータ上にある「マイドキュメント」のフォルダ８５６、別のコンピュータ上にある「デスクトップ」のフォルダ８５７として示されている。
【００７７】
図１８に示されているように、ユーザは図１７の仮想ファイル表示から図１８の物理的ファイル表示に切り替えることができる。これにより、ユーザは、現在のタスクについて何が望まれるかに応じて、仮想ファイル表示と物理的ファイル表示の間をトグルできる。物理的フォルダ８５１−８５７の異なるロケーションはまた、仮想ファイルシステムの範囲が比較的広いことを示している。これについて、以下に詳しく説明する。
【００７８】
図１９は、ユーザが仮想フォルダを直接操作することのできるルーチン８８０を説明するフロー図である。以下に詳細に説明するように、仮想フォルダを操作するために設置された機構は、現在通常のフォルダを操作するのに使用されているもの（たとえば、クリック・アンド・ドラッグ、コピー、ペースト等）と同様である。図１９に示されているように、ブロック８８２において、システムは、ユーザがディスプレイオブジェクトとして表示される仮想フォルダの直接操作のために実行できる定義された動作を提供する。ブロック８８４において、ユーザは定義された動作を実行する。上述のように、この一例として、ユーザは仮想フォルダをクリック・アンド・ドラッグし、そのコンテンツを別の仮想フォルダにコピーする。ブロック８８６において、仮想フォルダおよび／またはコンテンツがユーザにより実行される動作の指示にしたがって操作される。
【００７９】
図２０は、図１０のスタックに新しいウェスト・コーストのスタック６５６が追加されたスクリーンディスプレイの説明図である。ウェスト・コーストのスタック６５６は、ユーザが「ウェスト・コースト」の新しいカテゴリを作成することによって形成された。その作成当時、新しいウェスト・コーストのスタック６５６は空であり、アイテム数は０であった。図２０の実施例において、ウェスト・コーストのスタック６５６には２つのアイテムが追加された。アイテムをスタックに追加する１つの方法は、特定のアイテムを選択し、そのアイテムに関するカテゴリメタデータを変更するか、あるいはこれに追加カテゴリを加える。たとえば、図２０の実施例で行われたように、カテゴリ「ウェスト・コースト」が２つのアイテムに追加される。このプロセスは、カテゴリデータが、アドホックプロパティの一種であるアイテムに関するメタデータプロパティであることを示している。言い換えれば、この種のプロパティにはいかなる暗示的な意味もなく、ユーザはこれに任意の数値を与えることができる。たとえば、カテゴリ「プロパティ」にはどの数値も入れられるが、「著者」のプロパティは人名でなければならない。図２１について以下により詳しく説明するように、アイテムは、他のスタックからウェスト・コーストのスタック６５６にクリック・アンド・ドラッグでコピーすることもできる（この場合、アイテムのカテゴリは自動的に「ウェスト・コースト」を含むように更新される）。この点で、図２０は、選択ボックスＳＢは、その内容がコピーされるのに備えてＡＢＣ社のスタック６５１を囲んでいる。
【００８０】
図２１は、ＡＢＣ社のスタック６５１からウェスト・コーストのスタック６５６にファイルをコピーするために直接操作が使用されているスクリーンディスプレイの説明図である。言い換えれば、図２０に示されているように、ＡＢＣ社のスタック６５１を選択し、その後、図２１に示されるように、ユーザはウェスト・コーストのスタック６５６にコピーされるべきスタックをクリック・アンド・ドラッグした。このように、図２０においてアイテムを２つ有するウェスト・コーストのスタック６５６は、ＡＢＣ社のスタック６５１からの８つのアイテムが追加された、合計１０のアイテムを含むようになっている。ＡＢＣ社のスタック６５１のアイテムがウェスト・コーストのスタック６５６にコピーされたとき、これは８つのアイテムのカテゴリ記述を、当初の「ＡＢＣ社」のカテゴリを含めるのに加え、「ウェスト・コースト」カテゴリも含むように変更することによって行われた。これは、実行可能な直接操作の一例である。
【００８１】
直接操作の別の例は、アイテムを右クリックし、削除を選択する方法である。ある実施形態において、削除機能がユーザによって選択されると、ユーザは、そのアイテムをすべて一緒に削除すべきか、あるいは現在の仮想フォルダからのみ削除すべきかを聞かれる。上記のように、アイテムが現在の仮想フォルダカテゴリスタックからのみ削除される場合、これは、所望のカテゴリをそのアイテムに関するメタデータから削除することによって実現される。言い換えれば、ＡＢＣ社のスタック６５１からウェスト・コーストのスタック６５６にコピーされたアイテムの１つを、その後ウェスト・コースとのスタック６５６から削除する場合、これは、特定のファイルのカテゴリデータが「ウェスト・コースト」カテゴリを含まなくなるように変更することによって実行される。
【００８２】
図２２は、システムが新しいフィルタタームを動的に生成するためのルーチン９００を説明するフロー図である。フィルタタームは、仮想フォルダを操作するために利用される。フィルタタームは基本的に、アイテムの集合を絞り込むためのツールの集合として利用される。一実施形態において、フィルタはメタデータカテゴリとその数値で構成される（ユーザに対して、ユーザのインタフェースの中でクリック可能なリンクまたはドロップダウンメニューとして提示される）。ユーザは、ディスプレイ上の現在のアイテム集合をさらにフィルタ処理するために、フィルタタームをクリックする。
【００８３】
図２２は、フィルタが動的に生成される様子を示す。図２２に示されるように、ブロック９０２で、現在のディスプレイ上のコレクションの中にあるアイテムのプロパティ（メタデータから）が見直される。ブロック９０４で、提案されているフィルタタームがアイテムの共通のプロパティに基づいて動的に生成される。ブロック９０６で、提案されるフィルタタームは、アイテムをフィルタ処理するための可能な選択としてユーザに提示される。このプロセスの例として、システムは、アイテムの集合のプロパティを見直すことができ、アイテムが一般にプロパティとして「著者」を持っていれば、フィルタはフィルタ処理のための著者のリストを提供することができる。次に、特定の著者をクリックすることにより、その著者を持たないアイテムがディスプレイ上の集合から排除される。このフィルタ処理工程は、ユーザにとってディスプレイ上のアイテム集合を絞り込む機構となる。
【００８４】
図２３は、フィルタタームの選択に基づいてシステムがアイテムをフィルタ処理するルーチン９２０を説明するフロー図である。ブロック９２２で、ユーザは新しいフィルタタームを入力するか、あるいはシステムによって提示されているフィルタタームの１つを選択する。上述のとおり、フィルタタームはシステムによって動的に生成されても、予め設定されていてもよい。ブロック９２４で、ディスプレイ上のコレクションからのアイテムは、その選択されたプロパティがフィルタタームと一致するか否かの点で評価される。たとえば、フィルタタームが「ボブ」によって著されたアイテムに関するものであれば、アイテムはその著者プロパティに「ボブ」が含まれるか否かによって評価される。ブロック９２６で、選択されたプロパティがフィルタタームにマッチしないアイテムは、ディスプレイ上のコレクションから削除される。
【００８５】
図２４は、図１０のスタックがターム「ＡＢ」によってフィルタ処理されたスクリーンディスプレイの説明図である。図のように、フィルタエリア６２１の中で、ターム「ＡＢ」がユーザによって打ち込まれている。情報ライン６４０，６４１は、ディスプレイ内のアイテムが現在は、ターム「ＡＢ」によりフィルタ処理されたものであることを示している。図のように、ＡＢＣ社のスタック６５１には依然として８つのアイテムが含まれ、バックアップのスタック６５２には今度は３つのアイテムが含まれ、ＸＹＺ社のスタック６５４にも３つのアイテムが含まれる。情報ライン６４４はしたがって、合計１４のアイテムがあり、合わせて３５ＭＢのメモリが使用されていることを示している。
【００８６】
図２５は、図１０のスタックがターム「ＡＢＣ」によりフィルタ処理されているスクリーンディスプレイの説明図である。図２４のフィルタターム「ＡＢ」について、ユーザは単純に追加の文字「Ｃ」を打ち込み、全体としてのフィルタターム「ＡＢＣ」が作られた。図２５に示すように、情報ライン６４０，６４１は、ディスプレイ上のアイテムがターム「ＡＢＣ」を含むものであることを示している。「ＡＢＣ社」のスタック６５１は依然として８つのアイテムを含むよう示されているが、バックアップスタック６５２には２つのアイテムしか含まれていない。情報ライン６４４は現在、ディスプレイ上のスタックに合計１０のアイテムがあり、これが合計２５ＭＢのメモリを使用していることを示している。図２４，２５は、ユーザが新しいフィルタタームを入力する方法と、次にディスプレイ上に示されているアイテムをフィルタ処理するのにフィルタタームが使用される方法の例を示している。
【００８７】
図２６は、システムが設定したフィルタターム「２００２」が選択されたスクリーンディスプレイの説明図である。上述のように、日付別のインディケータ６２２の下で、年の選択肢６２３は２０００年、２００１年または２００２年を含む。図中、選択ボックスＳＢは２００２年を囲んでおり、ユーザがこれを所望のフィルタタームとして選択していることを示している。
【００８８】
図２７は、フィルタターム「２００２」が適用されているスクリーンディスプレイの説明図である。図のように、「月選択」セレクタ６２３Ａがさらに選択されている。図２７に示されているように、フィルタターム「２００２」を適用した後、スタック内のアイテム数が減っている。より具体的には、ＡＢＣ社のスタック６５１には現在６つのアイテムが含まれ、バックアップのスタック６５２には８つのアイテム、事業計画のスタック６５３には３つのアイテム、ＸＹＺ社のスタック６５４には５つのアイテムが含まれている。情報ライン６４４は、合計２２のアイテムがあり、これによって合計５０ＭＢのメモリが使用されていることを示している。情報ライン６４０，６４１は現在、ディスプレイ上のアイテムがフィルタターム「２００２」を含むようにフィルタ処理されたものであることを示している。
【００８９】
図２８は、フィルタ処理のための月を選択するためにリストが提示されているスクリーンディスプレイの説明図である。月のリストが表示されるボックス９５０が設けられている。ボックス９５０は、ユーザが「月選択」セレクタ６２３Ａを選択することによって、ディスプレイ上に設置される。図では、選択ボックスＳＢは１月を囲んでいる。
【００９０】
図２９は、図２８のスタックが１月によってさらにフィルタ処理されているスクリーンディスプレイの説明図であり、さらにフィルタターム「日」が示されている。図２９にあるように、情報ライン６４０，６４１は現在、ディスプレイ上のアイテムがターム「１月」によりフィルタ処理されたものであることを示している。バックアップスタック６５２は現在、２つのアイテムを含むように示され、事業計画スタック６５３も２つのアイテムを含んでいる。情報ライン６４４は、ディスプレイ上には合計４つのアイテムがあり、合わせて１０ＭＢのメモリが使用されていることを示す。結果をさらに特定の日にフィルタ処理したければ、「日で選択(pick by day)」セレクタ６２３Ｂを設置する。
【００９１】
図３０は、新しいクイックリンクを作成するためのルーチン９４０を説明するフロー図である。以下に詳細に説明するように、クイックリンクは、ユーザがアイテムの集合を示すユーザの選択によるビューを作るためにクリックすることのできる、予め決められたリンクである。一実施形態において、クイックリンクは、ある種のピボットとして考えられる。クイックリンクは、仮想フォルダを呼び出すための機構となる。クイックリンクをクリックすることで、ユーザは所望のフォルダを見ることができる（「お気に入り」をクリックすることで、ユーザがウェブサイトに行けるのと同じ方法）。クイックリンクはシステムによって予め決められていてもよいし、ユーザによって設定されてもよい。たとえば、「全著者」をクリックすると、著者別にスタックされた表示に戻る。「全文書」をクリックすると、記憶領域全体のすべての文書を一覧することができる。ユーザはまた、自分自身のクイックリンクを作成することもできる。
【００９２】
図３０に示されているように、ブロック９４２で、ユーザは、新しいクイックリンクが現在のフィルタタームまたはナビゲーションから形成されることを示すために、ディスプレイ上で選択する。ブロック９４４で、ユーザは新しいクイックリンクのための新しい名前を設定する。ブロック９４６で、新しいクイックリンクが保存され、新しいクイックリンクの名前がディスプレイ上のクイックリンクセクションに設置される。
【００９３】
図３１は、図２９のフィルタ処理に基づいて「１月の作品」と呼ばれる新しいクイックリンクを作成するためのスクリーンディスプレイの説明図である。上述のように、図２９において、スタックは１月でフィルタ処理されている。図３１で、ユーザは、図２９のフィルタ処理が新しいクイックリンクとして保存されるべきであり、新しいクイックリンク「１月の作品」と名づけたことを示した。このように、新しい１月の作品というクイックリンク６１２は、ディスプレイのクイックリンクセクションに表示される。新しいクックリンクの形成について、ユーザは一般に、「このコレクションをクイックリンクとして保存する」等のオプションを使用できる。
【００９４】
図３２は、「全著者」のクイックリンクが選択されたスクリーンディスプレイの説明図である。図３２に示されているように、選択ボックスＳＢは全著者の選択肢６１１を囲んでいる。クイックリンクによってアクセスされるコレクションのその他の例には、「全著者」、「最近の文書」、「私が共有した全文書」、「私が作った全文書」、「私が作っていない全文書」、「デスクトップ」、「全種類」等がある。
【００９５】
図３３は、図３２のアイテムの著者全部の一覧が提示されているスクリーンディスプレイの説明図である。図３３に示すように、情報ライン９５０が設けられ、これがアイテムの名前、著者、変更日、種類、サイズ、アイテムのロケーションを示すための列を示している。著者９５１−９５４のリストが示されており、これはそれぞれ著者１−４に対応する。
【００９６】
図３４は、図３３のリストから「著者１」が選択されたスクリーンディスプレイの説明図である。著者１の文書には、それぞれ文書１，２に対応する文書９５１Ａ，９５１Ｂが含まれる。文書９５１Ａは、著者１によって作られ、２００１年７月１１に変更され、Ｍｉｃｒｏｓｏｆｔ  Ｅｘｃｅｌファイルにあり、２８２Ｋｂのメモリを使用し、ｌｏｃａｔｉｏｎ＼＼ｓｅｒｖｅｒ＼ｆｏｌｄｅｒ２から得られるように示されている。文書９５１Ｂは、著者１によって作られ、２００２年１２月２２に変更され、Ｍｉｃ４ｏｓｏｆｔ  Ｗｏｒｄファイルであり、２０６キロバイトのメモリを使用し、ロケーションＭｙ  Ｄｏｃｕｍｅｎｔｓ＼ｆｏｌｄｅｒ１に物理的に記憶されているように示されている。文書９５１Ａ，９５１Ｂのロケーションはまた、本発明の仮想フォルダが異なる物理的ロケーションからのアイテムを含むかもしれないことを示している。これについて以下に詳細に説明する。
【００９７】
図３５は、新しいライブラリを作るためのルーチン９６０を説明するフロー図である。ライブラリの一例は、図１０に関してすでに説明した文書ライブラリである。一般に、ライブラリは相互に関連付けることのできる利用可能なファイルのタイプの大きなグループで構成される。たとえば、写真を１つのライブラリ、音楽を別のライブラリ、文書をまた別のライブラリとすることができる。ライブラリは、特定のタイプのアイテムに関係するツールとアクティビティを提供できる。たとえば、写真ライブラリにおいて、スライドショーを作る、あるいは写真を共有する等、写真の操作に関するツールとフィルタがあってもよい。図３５に示すように、ブロック９６２で、選択された特徴を持つアイテムを含む新しいライブラリが作られる。ブロック９６４で、選択されたアイテムはライブラリにグループ化される。ブロック９６６で、アイテムの選択された特徴またはその他希望する機能に関するツールおよび／またはアクティビティが設けられる。
【００９８】
図３６は、利用可能なライブラリコレクションが示されるスクリーンディスプレイの説明図である。図３６に示されているように、ライブラリは文書ライブラリ９７１、写真およびビデオライブラリ９７２、音楽ライブラリ９７３、メッセージライブラリ９７４、連絡先ライブラリ９７５、ＴＶおよびムービーライブラリ９７６、および全アイテムライブラリ９７７を含む。全アイテムライブラリ９７７は、２７５のアイテムを含むように示されており、これは組み合わされる他のライブラリすべてのアイテムの総数である。情報ライン６４４は、合計２７５のアイテムを示しており、合わせて７００ＭＢのメモリを使用する。文書ライブラリ９７１は、図１０に関してすでに説明したライブラリであることに注意する。
【００９９】
図３７は、仮想フォルダコレクションの範囲を画定するためのルーチン９９０を説明するフロー図である。以下により詳しく説明するが、仮想フォルダシステムは、複数の物理的ロケーション（たとえば、異なるハードドライブ、異なるコンピュータ、異なるネットワークロケーション等）からのアイテムを示すことができるため、ユーザにとって、すべてのアイテムに容易にアクセスできる。たとえば、ユーザは１つのディスプレイ上で複数の物理的ロケーションからの音楽ファイルを提示させ、すべてのファイルを同時に操作できる。
【０１００】
図３７に示すように、ブロック９９２で、引き出す前のアイテムがあった物理的ロケーションについて範囲が画定される。ブロック９９４で、クエリに応答し、アイテムが範囲内に確定された物理的ロケーションから引き出される。ブロック９９６で、クエリによって引き出されるアイテムのすべてが１つのディスプレイ上に表示される。
【０１０１】
図３８は、仮想フォルダコレクションの範囲を形成する各種のソースを示すブロック図である。図３８に示されているように、システム１０００は、現在のコンピュータ１０１０、別のコンピュータ１０２０、外付けの取り外し可能な記憶手段１０３０、ネットワーク上のロケーション１０４０を含む。範囲全体１００１は、ユーザのアイテムがコレクションを作るために引き出される物理的ロケーションの全部を含むように描かれている。上述のように、他の図はアイテムが異なるロケーションから持ち出されるように示しており、たとえば、図３４は異なる文書がサーバと現在のコンピュータ上のマイドキュメントのフォルダから集められることを示し、図１８は複数のロケーションに物理的に保存されている物理的フォルダを示している。
【０１０２】
図３９は、仮想フォルダコレクションに非ファイルアイテムを含めるルーチン１０８０を説明するフロー図である。非ファイルアイテムは、一般的に物理的ファイル記憶手段にあるファイルアイテムと比較される。非ファイルアイテムの例は、電子メールのようなものや連絡先である。図３９に示されるように、ブロック１０８２で、データベースを使ってクエリにより検索されるファイルアイテムと一緒に非ファイルアイテムが含められる。ブロック１０８４で、クエリに応答し、非ファイルアイテムとファイルアイテムの両方のクエリと一致するものが引き出される。ブロック１０８６で、クエリと一致した非ファイルアイテムとファイルアイテムの両方がディスプレイ上に提示される。
【０１０３】
図４０は、各種の非ファイルアイテムを示すスクリーンディスプレイの説明図である。図４０に示されているように、アイテムは「ジョン」を含むものにフィルタ処理されている。アイテムは、連絡先アイテム１１０１、電子メールアイテム１１０２、文書アイテム１１０３，１１０４を含むように描かれている。連絡先アイテム１１０１と電子メールアイテム１１０２は、非ファイルアイテムである。このシステムにより、このような非ファイルアイテムも通常のファイルアイテムと一緒に含められ、ユーザの希望通りに編成、操作できる。図２についてすでに説明したように、このような非ファイルアイテムはリレーショナルデータベース２３０の中に完全に含めることができ、データベース２３０はファイルのプロパティに関する情報を含む。
【０１０４】
本発明の好ましい実施形態について図に示し、説明したが、本発明の精神と範囲から逸脱することなく、各種の変更を加えることができると理解されるであろう。
【０１０５】
独占的な所有権または特権が請求される本発明の実施形態を特許請求範囲において定義する。
【図面の簡単な説明】
【０１０６】
【図１】本発明を実施するのに適した汎用コンピュータシステムのブロック図である。
【図２】本発明による仮想フォルダシステムのブロック図である。
【図３】ユーザが選択されたファイルとフォルダを取り消すクエリを提供するためのルーチンを示すフロー図である。
【図４】デフォルトのクエリまたはユーザからのクエリにしたがって、仮想フォルダを構築し、クリーン上に表示するルーチンを説明するフロー図である。
【図５】ハードドライブ上の物理的フォルダ配置によるフォルダ構造の樹形図である。
【図６】仮想フォルダ構造の樹形図である。
【図７】図６の仮想フォルダ構造の樹形図であり、クライアントスタックがコントラクトと年によってさらにフィルタ処理されていることを示す。
【図８】図７の仮想フォルダ構造の樹形図であり、クライアントスタックのコントラクトがさらに年によってフィルタ処理されていることを示す。
【図９】図６の仮想フォルダ構造の樹形図であり、コントラクトスタックはさらに、クライアントと年によってフィルタ処理され、その中にクライアントはまたさらに年によってフィルタ処理される。
【図１０】文書ライブラリのスタックを示すスクリーンディスプレイの説明図である。
【図１１】図１０のＡＢＣ社のスタック内の文書を示すスクリーンディスプレイの説明図である。
【図１２】図１１の文書についてスタッキング機能が選択されているスクリーンディスプレイの説明図である。
【図１３】図１２のスタッキング機能について「著者別スタック」パラメータが選択されているスクリーンディスプレイの説明図である。
【図１４】図１３のファイルが著者によってスタックされたスクリーンディスプレイの説明図である。
【図１５】スタッキング可能が選択され、図４のファイルをスタッキングしなおすために、「カテゴリ別スタック」のオプションがさらに選択されているスクリーンディスプレイの説明図である。
【図１６】図１４のファイルがカテゴリ別にスタッキングしなおされているスクリーンディスプレイの説明図である。
【図１７】物理的フォルダを示すためのクイックリンクが選択されているスクリーンディスプレイの説明図である。
【図１８】図１７の仮想フォルダスタックのファイルを含む物理的フォルダが示されているスクリーンディスプレイの説明図である。
【図１９】ユーザが仮想フォルダを直接操作することのできるルーチンを説明するフロー図である。
【図２０】新しい「ウェスト・コースト」のスタックが図１０のスタックに追加されているスクリーンディスプレイの説明図である。
【図２１】「ＡＢＣ社」のスタックのファイルを図２０の「ウェスト・コースト」のスタックにコピーするために直接操作が使用されるスクリーンディスプレイの説明図である。
【図２２】システムが新しいフィルタタームを生成するためのルーチンを説明するフロー図である。
【図２３】システムがフィルタタームの選択に基づいてアイテムをフィルタ処理するルーチンを説明するフロー図である。
【図２４】図１０のスタックがターム「ＡＢ」によってフィルタ処理されているスクリーンディスプレイの説明図である。
【図２５】図１０のスタックがターム「ＡＢＣ」によってフィルタ処理されているスクリーンディスプレイの説明図である。
【図２６】図１０のスタックについて、フィルタターム「２００２」が選択されたスクリーンディスプレイの説明図である。
【図２７】図１０のスタックが「２００２」でフィルタ処理され、さらにフィルタターム「月」が選択されているスクリーンディスプレイの説明図である。
【図２８】フィルタ処理する月を選択するためのリストが表示されているスクリーンディスプレイの説明図である。
【図２９】図１０のスタックがさらに１月でフィルタ処理され、フィルタターム「日」が選択されているスクリーンディスプレイの説明図である。
【図３０】新しいクイックリンクを作るためのルーチンを説明するフロー図である。
【図３１】図２９のフィルタ処理に基づいて「１月の作品」と呼ばれる新しいクイックリンクを作るためのスクリーンディスプレイの説明図である。
【図３２】「すべての著者」のクイックリンクが選択されるスクリーンディスプレイの説明図である。
【図３３】図３２のすべての著者のリストが表示されるスクリーンディスプレイの説明図である。
【図３４】図３３のリストから「著者１」が選択され、著者１の文書がすべて示されているスクリーンディスプレイの説明図である。
【図３５】新しいライブラリを作るためのルーチンを説明するフロー図である。
【図３６】各種の利用可能なライブラリの集合が示されているスクリーンディスプレイの説明図である。
【図３７】仮想フォルダコレクションの範囲を画定するためのルーチンを説明するフロー図である。
【図３８】仮想フォルダコレクションの範囲を形成する各種ソースを示すブロック図である。
【図３９】仮想フォルダコレクションに非ファイルアイテムを含めるためのルーチンを説明するフロー図である。
【図４０】仮想フォルダに含められた各種の非ファイルアイテムを示すスクリーンディスプレイの説明図である。
【図１】
2006521594.tif 000003
【図２】
2006521594.tif 000004
【図３】
2006521594.tif 000005
【図４】
2006521594.tif 000006
【図５】
2006521594.tif 000007
【図６】
2006521594.tif 000008
【図７】
2006521594.tif 000009
【図８】
2006521594.tif 000010
【図９】
2006521594.tif 000011
【図１０】
2006521594.tif 000012
【図１１】
2006521594.tif 000013
【図１２】
2006521594.tif 000014
【図１３】
2006521594.tif 000015
【図１４】
2006521594.tif 000016
【図１５】
2006521594.tif 000017
【図１６】
2006521594.tif 000018
【図１７】
2006521594.tif 000019
【図１８】
2006521594.tif 000020
【図１９】
2006521594.tif 000021
【図２０】
2006521594.tif 000022
【図２１】
2006521594.tif 000023
【図２２】
2006521594.tif 000024
【図２３】
2006521594.tif 000025
【図２４】
2006521594.tif 000026
【図２５】
2006521594.tif 000027
【図２６】
2006521594.tif 000028
【図２７】
2006521594.tif 000029
【図２８】
2006521594.tif 000030
【図２９】
2006521594.tif 000031
【図３０】
2006521594.tif 000032
【図３１】
2006521594.tif 000033
【図３２】
2006521594.tif 000034
【図３３】
2006521594.tif 000035
【図３４】
2006521594.tif 000036
【図３５】
2006521594.tif 000037
【図３６】
2006521594.tif 000038
【図３７】
2006521594.tif 000039
【図３８】
2006521594.tif 000040
【図３９】
2006521594.tif 000041
【図４０】
2006521594.tif 000042
【手続補正書】
【提出日】平成18年5月15日(2006.5.15)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ディスプレイとアイテムを記憶するためのメモリを備えるコンピュータシステムにおいて、前記アイテムは関係するメタデータプロパティを有し、前記アイテムをユーザに提示する方法であって、
第一のメタデータプロパティを選択するステップと、
前記選択された第一のメタデータプロパティを有するアイテムを検索するステップと、
前記第一のメタデータプロパティを有するアイテムの集合を表わす第一の仮想フォルダディスプレイオブジェクトを提供するステップと
を含むことを特徴とする方法。
【請求項２】
請求項１に記載の方法であって、前記仮想フォルダディスプレイオブジェクトは、スタックとして表わされることを特徴とする方法。
【請求項３】
請求項１に記載の方法であって、第二のメタデータプロパティが選択され、前記第一の仮想フォルダ内に第二の仮想フォルダをつくり、前記第一の仮想フォルダ内の前記アイテムはさらに検索され、これらが前記第二のメタデータプロパティを有するか否か判断され、前記第二の仮想フォルダは前記第一の仮想フォルダ内の前記第二のメタデータプロパティを有する前記アイテムを表わすことを特徴とする方法。
【請求項４】
請求項１に記載の方法であって、複数の仮想フォルダディスプレイオブジェクトが前記ディスプレイ上に提供され、仮想フォルダディスプレイオブジェクトの各々は第二のメタデータプロパティを有するアイテムの集合を表わすことを特徴とする方法。
【請求項５】
請求項４に記載の方法であって、複数の前記アイテムはまた、物理的フォルダに物理的に保存されることを特徴とする方法。
【請求項６】
請求項５に記載の方法であって、ユーザは前記物理的フォルダの閲覧を選択できることを特徴とする方法。
【請求項７】
請求項１に記載の方法であって、選択されたメタデータプロパティを選択されたアイテムに追加することができることを特徴とする方法。
【請求項８】
請求項７に記載の方法であって、アイテムにメタデータプロパティを追加することにより、前記アイテムは、前記選択されたメタデータプロパティに基づく仮想フォルダに追加されることを特徴とする方法。
【請求項９】
請求項８に記載の方法であって、前記選択されたメタデータプロパティは、指定されたカテゴリであることを特徴とする方法。
【請求項１０】
請求項１に記載の方法であって、前記ユーザは、前記仮想フォルダディスプレイオブジェクトの直接操作を通じて前記仮想フォルダに変更を加えることができることを特徴とする方法。
【請求項１１】
請求項１０に記載の方法であって、直接操作の少なくとも１つの種類は、仮想フォルダのクリック・アンド・ドラッグであることを特徴とする方法。
【請求項１２】
請求項１１に記載の方法であって、クリック・アンド・ドラッグは、前記アイテムを第一の仮想フォルダから第二の仮想フォルダにコピーする際に使用でき、前記コピーは、少なくとも部分的に、前記第二の仮想フォルダの選択されたメタデータプロパティを前記第一の仮想フォルダからのアイテムの各々に追加することによって実行されることを特徴とする方法。
【請求項１３】
請求項１に記載の方法であって、フィルタが前記ディスプレイ上に設置され、前記フィルタは、前記フィルタにより指定される前記メタデータプロパティに基づいてアイテムをフィルタ処理するためにユーザにより選択されることを特徴とする方法。
【請求項１４】
請求項１に記載の方法であって、クイックリンクが前記ディスプレイ上に設置され、前記クイックリンクは指定されたアイテムの集合を閲覧するためにユーザによって選択されることを特徴とする方法。
【請求項１５】
請求項１に記載の方法であって、ライブラリが設置され、前記ライブラリは、アイテムの集合と、前記ライブラリのアイテムを操作するためのツールの集合を含むことを特徴とする方法。
【請求項１６】
請求項１に記載の方法であって、仮想フォルダ内の前記アイテムは、異なる物理的フォルダに物理的に保存されてもよいことを特徴とする方法。
【請求項１７】
請求項１６に記載の方法であって、前記異なる物理的フォルダは、現在のコンピュータおよび少なくとも１つの異なるコンピュータ、ネットワーク上のロケーション、外付け記憶装置を含む異なる物理的ロケーションに保存されることを特徴とする方法。
【請求項１８】
請求項１に記載の方法であって、前記アイテムは、ファイルアイテムと非ファイルアイテムの両方を含むことを特徴とする方法。
【請求項１９】
請求項１８に記載の方法であって、前記非ファイルアイテムは、連絡先または電子メールの少なくとも一方を含むことを特徴とする方法。
【請求項２０】
アイテムをユーザに提示する方法を実現するためのコンピュータ実行可能コンポーネントを有するコンピュータ読取可能媒体であって、前記アイテムは関係するメタデータプロパティを有し、前記方法は、
第一のメタデータプロパティを選択するステップと、
前記選択された第一のメタデータプロパティを有するアイテムを検索するステップと、
前記第一のメタデータプロパティを有するアイテムの集合を表わす第一の仮想フォルダディスプレイオブジェクトを提供するステップと
を含むことを特徴とするコンピュータ読取可能媒体。
【請求項２１】
請求項２０に記載の方法であって、前記仮想フォルダディスプレイオブジェクトは、スタックとして表わされることを特徴とする方法。
【請求項２２】
請求項２０に記載の方法であって、第二のメタデータプロパティが選択され、前記第一の仮想フォルダ内に第二の仮想フォルダをつくり、前記第一の仮想フォルダ内の前記アイテムはさらに検索され、これらが前記第二のメタデータプロパティを有するか否か判断され、前記第二の仮想フォルダは前記第一の仮想フォルダ内の第二のメタデータプロパティを有する前記アイテムを表わすことを特徴とする方法。
【請求項２３】
請求項２０に記載の方法であって、選択されたメタデータプロパティを選択されたアイテムに追加できることを特徴とする方法。
【請求項２４】
請求項２０に記載の方法であって、前記ユーザは、前記仮想フォルダディスプレイオブジェクトの直接操作によって前記仮想フォルダに変更を加えることができることを特徴とする方法。
【請求項２５】
請求項２０に記載の方法であって、仮想フォルダ内の前記アイテムは、異なる物理的フォルダのメモリに物理的に記憶されてもよいことを特徴とする方法。
【請求項２６】
請求項２０に記載の方法であって、前記アイテムは、ファイルアイテムと非ファイルアイテムの両方を含むことを特徴とする方法。
【請求項２７】
アイテムを表示するシステムであって、
第一のメタデータプロパティを選択する手段と、
前記選択された第一のメタデータプロパティを有するアイテムを検索する手段と、
前記第一のメタデータプロパティを有するアイテムの集合を表わす第一の仮想フォルダディスプレイオブジェクトを提供する手段と、
を備えたことを特徴とするシステム。
【請求項２８】
請求項２７に記載のシステムであって、さらに、前記第一の仮想フォルダ内に第二の仮想フォルダを作る手段を備えたことを特徴とするシステム。
【請求項２９】
請求項２７に記載のシステムであって、選択されたメタデータプロパティを選択されたアイテムに追加する手段をさらに備えたことを特徴とするシステム。
【請求項３０】
請求項２９に記載のシステムであって、アイテムにメタデータプロパティを追加する前記手段は、アイテムのメタデータプロパティを選択し、新しいプロパティを入力する手段でなることを特徴とするシステム。
【請求項３１】
請求項２７に記載のシステムであって、仮想フォルダディスプレイオブジェクトの直接操作を実行するための手段をさらに備えたことを特徴とするシステム。
【請求項３２】
請求項２７に記載のシステムであって、前記選択された第一のメタデータプロパティを有するアイテムの前記検査において、異なる物理的フォルダからのアイテムを含める手段をさらに備えたことを特徴とするシステム。
【請求項３３】
請求項２７に記載のシステムであって、前記選択された第一のメタデータプロパティを有するアイテムの検索において、ファイルアイテムと非ファイルアイテムの両方を含む手段をさらに備えたことを特徴とするシステム。
【請求項３４】
メモリ内に格納されているアイテムをユーザに提示するシステムであって、
ユーザからのクエリを入手するフォルダプロセッサと、
アイテムに関する情報を格納するデータベースとを備え、
前記フォルダプロセッサは、ユーザからのクエリを取得し、前記クエリを前記リレーショナルデータベースに受け渡し、
前記データベースは、前記フォルダプロセッサに結果を戻し、
前記データベースからの前記結果に基づいて、前記フォルダプロセッサは前記結果を仮想フォルダとして前記ユーザに提供することを特徴とするシステム。
【請求項３５】
請求項３４に記載のシステムであって、前記クエリは、レジストリにおいて特定されるデフォルトクエリであることを特徴とするシステム。
【請求項３６】
請求項３４に記載のシステムであって、前記クエリは、前記仮想フォルダ表示のピボットを変更することを決定したユーザから取得されることを特徴とするシステム。
【請求項３７】
請求項３４に記載のシステムであって、前記データベースに渡される前記クエリは、前記フォルダプロセッサにより構成されたデータベースクエリオブジェクトでなることを特徴とするシステム。
【請求項３８】
請求項３４に記載のシステムであって、前記フォルダプロセッサに戻される前記結果は、データベースの行列を含むことを特徴とするシステム。
【請求項３９】
請求項３４に記載のシステムであって、前記データベースからの結果を受け取った後、前記フォルダプロセッサは前記結果を取得し、これを列挙子構造に変換することを特徴とするシステム。
【請求項４０】
請求項３９に記載のシステムであって、前記列挙子構造は、結果として得られる仮想フォルダを前記ディスプレイに追加するために使用されることを特徴とするシステム。
【請求項４１】
アイテムを表示するシステムであって、
フォルダプロセッサ手段と、
データベース手段とを備え、
前記プロセッサ手段は、ユーザからクエリを取得し、前記クエリを前記データベースに渡し、
前記データベース手段は、前記フォルダプロセッサに結果を戻し、
前記データベース手段からの前記結果に基づいて、前記フォルダプロセッサ手段は、前記結果を前記ユーザに仮想フォルダとして提供することを特徴とするシステム。
【請求項４２】
請求項４１に記載のシステムであって、ユーザからクエリを取得する手段をさらに備えたことを特徴とするシステム。
【請求項４３】
請求項４１に記載のシステムであって、前記データベースに渡される前記クエリに含まれるデータベースクエリオブジェクトを構成する手段をさらに備えたことを特徴とするシステム。
【請求項４４】
請求項４１に記載のシステムであって、前記フォルダプロセッサに戻される前記結果として、データベース行列を提供する手段をさらに備えたことを特徴とするシステム。
【請求項４５】
請求項４１に記載のシステムであって、前記データベースからの結果を列挙子構造に変換する手段をさらに備えたことを特徴とする方法。
【請求項４６】
請求項４５に記載のシステムであって、前記列挙子構造から得られる仮想フォルダをディスプレイに追加する手段をさらに備えたことを特徴とするシステム。
【請求項４７】
ディスプレイとアイテムを記憶するためのメモリを備えるコンピュータシステムにおいて、前記アイテムを操作する方法であって、
アイテムのグループを仮想フォルダとして表わすステップと、
仮想フォルダの直接操作のために実行できる、少なくとも第一の定義された動作を提供するステップであって、前記第一の定義された動作が実行されると、前記仮想フォルダが前記実行された動作による指示に従って操作される少なくとも第一の定義された動作を提供するステップと
を備えたことを特徴とする方法。
【請求項４８】
請求項４７に記載の方法であって、前記定義された動作は、前記仮想フォルダをクリック・アンド・ドラッグすることであることを特徴とする方法。
【請求項４９】
請求項４８に記載の方法であって、前記第一の仮想フォルダを第二の仮想フォルダにクリック・アンド・ドラッグすることは、前記第一の仮想フォルダの前記アイテムを前記第二の仮想フォルダにコピーする機能を実行することを特徴とする方法。
【請求項５０】
請求項４９に記載の方法であって、アイテムを、前記仮想フォルダの根拠となる選択されたメタデータプロパティを有することに基づいて仮想フォルダの中に含み、前記アイテムを第一の仮想フォルダから第二の仮想フォルダにコピーする前記動作は、少なくとも部分的に、前記第二の仮想フォルダの前記メタデータプロパティを前記第一の仮想フォルダからの前記アイテムの各々に追加することによって実行されることを特徴とする方法。
【請求項５１】
請求項５０に記載の方法であって、前記第一の仮想フォルダの前記アイテムに追加される前記メタデータプロパティは、カテゴリであることを特徴とする方法。
【請求項５２】
アイテムを操作する方法を実現するコンピュータ実行可能コンポーネントを有するコンピュータ読取可能媒体であって、
アイテムのグループを仮想フォルダとして表わすステップと、
仮想フォルダの直接操作のために実行できる少なくとも第一の定義された動作を提供するステップであって、前記第一の定義された動作が実行されると、前記仮想フォルダは、前記実行された動作の指示にしたがって操作される少なくとも第一の定義された動作を提供するステップと
を備えたことを特徴とするコンピュータ読取可能媒体。
【請求項５３】
請求項５２に記載のコンピュータ読取可能媒体であって、前記定義された動作は、前記仮想フォルダのクリック・アンド・ドラッグであることを特徴とするコンピュータ読取可能媒体。
【請求項５４】
請求項５３に記載のコンピュータ読取可能媒体であって、第一の仮想フォルダから第二の仮想フォルダへのクリック・アンド・ドラッグは、前記第一の仮想フォルダの前記アイテムを前記第二の仮想フォルダにコピーする機能を実行することを特徴とするコンピュータ読取可能媒体。
【請求項５５】
請求項５４に記載のコンピュータ読取可能媒体であって、アイテムを、前記仮想フォルダの根拠となる選択されたメタデータプロパティを有することに基づいて仮想フォルダの中に含み、前記アイテムを第一の仮想フォルダから第二の仮想フォルダにコピーする前記動作は、少なくとも部分的に、前記第二の仮想フォルダの前記メタデータプロパティを前記第一の仮想フォルダからの前記アイテムの各々に追加することによって実行されることを特徴とするコンピュータ読取可能媒体。
【請求項５６】
請求項５５に記載のコンピュータ読取可能媒体であって、前記第一の仮想フォルダの前記アイテムに追加される前記メタデータプロパティは、カテゴリであることを特徴とするコンピュータ読取可能媒体。
【請求項５７】
アイテムを操作するシステムであって、
アイテムのグループを仮想フォルダとして表わす手段と、
前記仮想フォルダの前記操作のために定義された直接操作動作を実行する手段と、
を備えたことを特徴とするシステム。
【請求項５８】
請求項５７に記載のシステムであって、直接操作を実行する前記手段は、仮想フォルダのクリック・アンド・ドラッグを実行する手段を含むことを特徴とするシステム。
【請求項５９】
第一の仮想フォルダから第二の仮想フォルダへのクリック・アンド・ドラッグは、前記第一の仮想フォルダの前記アイテムを前記第二の仮想フォルダにコピーする機能を実行することを特徴とする方法。
【請求項６０】
請求項５９に記載の方法であって、アイテムは仮想フォルダの中に、前記仮想フォルダの根拠となる選択されたメタデータプロパティを有することに基づいて含められ、前記アイテムを第一の仮想フォルダから第二の仮想フォルダにコピーする前記動作は、少なくとも部分的に、前記第二の仮想フォルダの前記メタデータプロパティを前記第一の仮想フォルダからの前記アイテムの各々に追加することによって実行されることを特徴とする方法。
【請求項６１】
請求項１８に記載の方法であって、前記非ファイルアイテムは、電気通信を含むことを特徴とする方法。
【請求項６２】
請求項３５に記載の方法であって、前記デフォルトクエリは、前記レジストリに保存されることを特徴とする方法。
【請求項６３】
請求項３４に記載のシステムであって、前記データベースは、リレーショナルデータベースを含むことを特徴とするシステム。
【請求項６４】
請求項４１に記載のシステムであって、前記データベースは、リレーショナルデータベースを含むことを特徴とするシステム。
【請求項６５】
請求項２５に記載の方法であって、前記異なる物理的フォルダは、異なる物理的ロケーションに保存されることを特徴とする方法。
【請求項６６】
請求項２５に記載の方法であって、前記異なる物理的フォルダは、共通の記憶装置に保存されることを特徴とする方法。
【請求項６７】
請求項３２に記載のシステムであって、前記異なる物理的フォルダは、異なる物理的ロケーションに保存されることを特徴とするシステム。
【請求項６８】
請求項３２に記載のシステムであって、前記異なる物理的フォルダは、共通の記憶装置に保存されることを特徴とするシステム。
【国際調査報告】
2006521594.tif 000043