(57)【要約】ファイルシステムシェルは、実際の物理的な基本ファイルシステム構造ではなくメタデータに基づき通常ファイルおよびフォルダをユーザに対して様々なビューで公開する仮想フォルダ（６５１〜６５５）を備える。ユーザは、直接操作により仮想フォルダ（６５１〜６５５）を扱うことができる。アイテムの集合を絞り込むために、フィルタ（６２０〜６２６）が用意される。クイックリンク（６１０〜６１３）は、アイテムの集合の有用なビューを生成する。ライブラリ（６００）は、アイテムに関係する機能およびツールとともに、関連付けて１つにできる使用可能なアイテムのタイプからなる大きなグループで構成される。仮想アドレスバー（１４０２）は複数のセグメントからなり、それぞれのセグメントは内容を選択するためのフィルタに対応している。ユーザがそのアイテムに関連付けられているメタデータに基づいてアイテムを簡単に識別できるシェルブラウザ（２２００）を実現する。シェルブラウザ（２２００）内のオブジェクトプレビューア（２２０２）は、複数のアイテムタイプを表す複数のアイテムを表示する。
2006526182.tif 000002
【特許請求の範囲】
【請求項１】
表示装置およびアイテムを格納するメモリを備えるコンピュータシステムにおいて、前記アイテムのコレクションを表示する方法であって、
１つまたは複数の指定されたメタデータプロパティとともにアイテムを含むライブラリを作成するステップと、
前記１つまたは複数の指定されたメタデータプロパティを持つアイテムを自動的にライブラリにグループ化するステップと、
ライブラリ内のアイテムを操作するための１つまたは複数のツールを提供するステップと
を備えることを特徴とする方法。
【請求項２】
シェルブラウザ内でユーザがメタデータを修正できるようにするシェルブラウザの方法をさらに備え、前記シェルブラウザの方法は、
複数のアイテムを表示するステップと、
少なくとも１つの表示されているアイテムの選択を表す第１の入力を前記ユーザから受け取るステップと、
前記少なくとも１つの選択されているアイテムに関連付けられているメタデータを表示するステップと、
ユーザが前記表示されているメタデータを修正するためのコントロールを提供するステップとを含む
ことを特徴とする請求項１に記載の方法。
【請求項３】
シェルブラウザを提供するステップをさらに備え、前記シェルブラウザは、
アイテムのグループを表示し、当該表示されているアイテムの１つまたは複数に関連付けられているメタデータ値も表示するウィンドウと、
ユーザが前記ウィンドウに表示されている前記メタデータ値の少なくとも一部を修正することができる編集コントロールとを備える
ことを特徴とする請求項１に記載の方法。
【請求項４】
複数のアイテムタイプをサポートするシェルブラウザ内でサードパーティ製プレビューアを使用できるプレビューアの方法をさらに備え、前記プレビューアの方法は、
前記複数のアイテムタイプに対するデフォルトのプレビューアを持つシェルブラウザを提供するステップと、
前記複数のアイテムタイプのうちの少なくとも１つに対して代替えプレビューアをサードパーティが開発できるようにする拡張メカニズムを提供するステップとを含む
ことを特徴とする請求項１に記載の方法。
【請求項５】
複数のアイテムタイプを表す複数のアイテムを表示するように構成されているシェルブラウザを提供するステップをさらに備え、前記シェルブラウザは、
複数のアイテムタイプに対する標準レベルの機能を備えるデフォルトのプレビューアと、
前記複数のアイテムタイプの１つまたは複数に対し前記デフォルトのプレビューアが備える前記標準レベルを超える機能を使用できるようにする拡張メカニズムとを備える
ことを特徴とする請求項１に記載の方法。
【請求項６】
仮想アドレスバーを使用してコンピュータファイルシステムに格納されているアイテムへの仮想パスを供給する仮想アドレスバーの方法をさらに備え、前記仮想ファドレスバーの方法は、
アイテムを選択するために対応するフィルタに応じて前記コンピュータファイルシステム上のアイテムを参照する第１のインタラクティブセグメントを含むように動作可能な仮想アドレスバーを表示するステップと、
１つまたは複数の追加インタラクティブセグメントを前記仮想アドレスバーに追加し、各追加インタラクティブセグメントがさらに先行する前記インタラクティブセグメントにより参照される前記アイテムを制約するステップとを含み、
前記第１のインタラクティブセグメントおよび前記１つまたは複数の追加インタラクティブセグメントは仮想パスを含む
ことを特徴とする請求項１に記載の方法。
【請求項７】
表示のためコンピュータシステムからアクセス可能なアイテムを選択する仮想アドレスバーユーザインタフェースコントロールを提供するステップをさらに備え、前記仮想アドレスバーは、
各インタラクティブセグメントが表示用のアイテムを選択するフィルタに対応する複数のインタラクティブセグメントを備える
ことを特徴とする請求項１に記載の方法。
【請求項８】
アイテムをフィルタ処理する方法をさらに備え、前記アイテムをフィルタ処理する方法は、
それぞれ１つまたは複数のアイテムを表す複数の表示オブジェクトを表示装置上に供給するステップと、
フィルタ条件に基づき前記表示オブジェクトにより表される前記アイテムをフィルタ処理するステップと、
前記表示装置上に供給される前記表示オブジェクトを修正して、前記アイテムの前記フィルタ処理後も残る前記アイテムを表すようにするステップとを含む
ことを特徴とする請求項１に記載の方法。
【請求項９】
アイテムを表示する方法をさらに含み、前記アイテムを表示する方法は、
引き出すべきアイテムの出所である物理的メモリロケーションのスコープを定義し、前記スコープは現在のコンピュータメモリと少なくとも１つの他の物理ロケーションを含むステップと、
クエリを受け取り、前記クエリに対する応答として、前記スコープでの定義に従って前記物理ロケーションからアイテムを引き出すステップと、
前記クエリから引き出された前記アイテムを前記表示装置上のビュー内に表示するステップとを含む
ことを特徴とする請求項１に記載の方法。
【請求項１０】
前記アイテムをユーザに対し表現する方法をさらに備え、前記アイテムを前記ユーザに表現する前記方法は、
非ファイルアイテムとファイルアイテムの両方をクエリで検索できるデータベースを提供するステップと、
クエリを受け取り、前記クエリに対する応答として、前記クエリに一致する非ファイルアイテムとファイルアイテムの両方を引き出すステップと、
前記クエリと一致する非ファイルアイテムとファイルアイテムの両方を前記表示装置上に表示するステップとを含む
ことを特徴とする請求項１に記載の方法。
【請求項１１】
メモリ内に格納されているアイテムをユーザに公開するシステムであって、
ユーザからクエリを取得するフォルダプロセッサと、
アイテムに関する情報を格納するためのリレーショナルデータベースとを備え、
前記フォルダプロセッサはユーザからクエリを取得し、前記クエリを前記リレーショナルデータベースに渡し、
前記リレーショナルデータベースは結果を前記フォルダプロセッサに送り返し、
前記リレーショナルデータベースからの前記結果に基づき、前記フォルダプロセッサは前記結果を仮想フォルダとして前記ユーザに供給する
ことを特徴とするシステム。
【請求項１２】
シェルブラウザ内でユーザがメタデータを修正できるようにするシェルブラウザの方法をさらに備え、前記シェルブラウザの方法は、
複数のアイテムを表示するステップと、
少なくとも１つの表示されているアイテムの選択を表す第１の入力を前記ユーザから受け取るステップと、
前記少なくとも１つの選択されているアイテムに関連付けられているメタデータを表示するステップと、
ユーザが表示されている前記メタデータを修正するためのコントロールを提供するステップとを含む
ことを特徴とする請求項１１に記載のシステム。
【請求項１３】
シェルブラウザをさらに備え、該シェルブラウザは、
アイテムのグループを表示し、表示されている前記アイテムの１つまたは複数に関連付けられているメタデータ値も表示するウィンドウと、
ユーザが前記ウィンドウに表示されている前記メタデータ値の少なくとも一部を修正することができる編集コントロールとを備える
ことを特徴とする請求項１１に記載のシステム。
【請求項１４】
複数のアイテムタイプをサポートするシェルブラウザ内でサードパーティ製プレビューアを使用できるプレビューアをさらに備え、前記プレビューアは、
前記複数のアイテムタイプに対するデフォルトのプレビューアを持つシェルブラウザと、
前記複数のアイテムタイプのうちの少なくとも１つに対して代替えプレビューアをサードパーティが開発できるようにする拡張メカニズムとを備える
ことを特徴とする請求項１１に記載のシステム。
【請求項１５】
複数のアイテムタイプを表す複数のアイテムを表示するように構成されているシェルブラウザをさらに備え、前記シェルブラウザは、
複数のアイテムタイプに対する標準レベルの機能を備えるデフォルトのプレビューアと、
前記複数のアイテムタイプの１つまたは複数に対し前記デフォルトのプレビューアが備える前記標準レベルを超える機能を使用できるようにする拡張メカニズムとを備える
ことを特徴とする請求項１１に記載のシステム。
【請求項１６】
コンピュータファイルシステムに格納されているアイテムへの仮想パスを供給する仮想アドレスバーをさらに備え、前記仮想ファドレスバーは、
アイテムを選択するために対応するフィルタに応じて前記コンピュータファイルシステム上のアイテムを参照する第１のインタラクティブセグメントを含むように動作可能な仮想アドレスバーと、
前記仮想アドレスバーの１つまたは複数の追加インタラクティブセグメントであって、各追加インタラクティブセグメントがさらに先行する前記インタラクティブセグメントにより参照される前記アイテムを制約する１つまたは複数の追加インタラクティブセグメントとを備え、
前記第１のインタラクティブセグメントおよび前記１つまたは複数の追加インタラクティブセグメントは仮想パスを含む
ことを特徴とする請求項１１に記載のシステム。
【請求項１７】
表示のためコンピュータシステムからアクセス可能なアイテムを選択する仮想アドレスバーユーザインタフェースコントロールをさらに備え、前記仮想アドレスバーは、
各インタラクティブセグメントが表示用のアイテムを選択するフィルタに対応する複数のインタラクティブセグメントを備える
ことを特徴とする請求項１１に記載のシステム。
【請求項１８】
アイテムをフィルタ処理する方法をさらに含み、前記アイテムをフィルタ処理する方法は、
それぞれ１つまたは複数のアイテムを表す複数の表示オブジェクトを表示装置上に供給するステップと、
フィルタ条件に基づき前記表示オブジェクトにより表される前記アイテムをフィルタ処理するステップと、
前記表示装置上に供給される前記表示オブジェクトを修正して、前記アイテムの前記フィルタ処理後も残る前記アイテムを表すようにするステップとを含む
ことを特徴とする請求項１１に記載のシステム。
【請求項１９】
前記アイテムのコレクションを表示する方法をさらに含み、前記アイテムのコレクションを表示する前記方法は、
１つまたは複数の指定されたメタデータプロパティとともにアイテムを含むライブラリを作成するステップと、
前記１つまたは複数の指定されたメタデータプロパティを持つアイテムを自動的にライブラリにグループ化するステップと、
ライブラリ内のアイテムを操作するための１つまたは複数のツールを提供するステップとを含む
ことを特徴とする請求項１１に記載のシステム。
【請求項２０】
アイテムを表示する方法をさらに含み、前記アイテムを表示する方法は、
引き出すべきアイテムの出所である物理的メモリロケーションのスコープを定義し、前記スコープは現在のコンピュータメモリと少なくとも１つの他の物理ロケーションを含むステップと、
クエリを受け取り、前記クエリに対する応答として、前記スコープでの定義に従って前記物理ロケーションからアイテムを引き出すステップと、
前記クエリから引き出された前記アイテムを前記表示装置上のビュー内に表示するステップとを含む
ことを特徴とする請求項１１に記載のシステム。
【請求項２１】
表示装置およびアイテムを格納するためのメモリを備えるコンピュータシステムにおいて、前記アイテムは関連するメタデータプロパティを持ち、前記アイテムをユーザに公開する方法であって、
第１のメタデータプロパティを選択するステップと、
前記選択された第１のメタデータプロパティを持つアイテムを検索するステップと、
前記第１のメタデータプロパティを持つアイテムの前記コレクションを表す第１の仮想フォルダ表示オブジェクトを供給するステップと
を備えることを特徴とする方法。
【請求項２２】
シェルブラウザ内でユーザがメタデータを修正できるようにするシェルブラウザの方法をさらに備え、前記シェルブラウザの方法は、
複数のアイテムを表示するステップと、
少なくとも１つの表示されているアイテムの選択を表す第１の入力を前記ユーザから受け取るステップと、
前記少なくとも１つの選択されているアイテムに関連付けられているメタデータを表示するステップと、
ユーザが前記表示されているメタデータを修正するためのコントロールを提供するステップとを含む
ことを特徴とする請求項２１に記載の方法。
【請求項２３】
シェルブラウザを提供するステップをさらに備え、前記シェルブラウザは、
アイテムのグループを表示し、表示されている前記アイテムの１つまたは複数に関連付けられているメタデータ値も表示するウィンドウと、
ユーザが前記ウィンドウに表示されている前記メタデータ値の少なくとも一部を修正することができる編集コントロールとを備える
ことを特徴とする請求項２１に記載の方法。
【請求項２４】
複数のアイテムタイプをサポートするシェルブラウザ内でサードパーティ製プレビューアを使用できるプレビューアの方法をさらに備え、前記プレビューアの方法は、
前記複数のアイテムタイプに対するデフォルトのプレビューアを持つシェルブラウザを提供するステップと、
前記複数のアイテムタイプのうちの少なくとも１つに対して代替えプレビューアをサードパーティが開発できるようにする拡張メカニズムを提供するステップとを含む
ことを特徴とする請求項２１に記載の方法。
【請求項２５】
複数のアイテムタイプを表す複数のアイテムを表示するように構成されているシェルブラウザを提供するステップをさらに備え、前記シェルブラウザは、
複数のアイテムタイプに対する標準レベルの機能を備えるデフォルトのプレビューアと、
前記複数のアイテムタイプの１つまたは複数に対し前記デフォルトのプレビューアが備える前記標準レベルを超える機能を使用できるようにする拡張メカニズムとを備える
ことを特徴とする請求項２１に記載の方法。
【請求項２６】
仮想アドレスバーを使用してコンピュータファイルシステムに格納されているアイテムへの仮想パスを供給する仮想アドレスバーの方法をさらに備え、前記仮想ファドレスバーの方法は、
アイテムを選択するために対応するフィルタに応じて前記コンピュータファイルシステム上のアイテムを参照する第１のインタラクティブセグメントを含むように動作可能な仮想アドレスバーを表示するステップと、
１つまたは複数の追加インタラクティブセグメントを前記仮想アドレスバーに追加し、各追加インタラクティブセグメントがさらに先行する前記インタラクティブセグメントにより参照される前記アイテムを制約するステップとを含み、
前記第１のインタラクティブセグメントおよび前記１つまたは複数の追加インタラクティブセグメントは仮想パスを含む
ことを特徴とする請求項２１に記載の方法。
【請求項２７】
表示のためコンピュータシステムからアクセス可能なアイテムを選択する仮想アドレスバーユーザインタフェースコントロールを提供するステップをさらに含み、前記仮想アドレスバーは、
各インタラクティブセグメントが表示用のアイテムを選択するフィルタに対応する複数のインタラクティブセグメントを備える
ことを特徴とする請求項２１に記載の方法。
【請求項２８】
アイテムをフィルタ処理する方法をさらに含み、前記アイテムをフィルタ処理する方法は、
それぞれ１つまたは複数のアイテムを表す複数の表示オブジェクトを表示装置上に供給するステップと、
フィルタ条件に基づき前記表示オブジェクトにより表される前記アイテムをフィルタ処理するステップと、
前記表示装置上に供給される前記表示オブジェクトを修正して、前記アイテムの前記フィルタ処理後も残る前記アイテムを表すようにするステップとを含む
ことを特徴とする請求項２１に記載の方法。
【請求項２９】
前記アイテムのコレクションを表示する方法をさらに含み、前記アイテムのコレクションを表示する方法は、
１つまたは複数の指定されたメタデータプロパティとともにアイテムを含むライブラリを作成するステップと、
前記１つまたは複数の指定されたメタデータプロパティを持つアイテムを自動的にライブラリにグループ化するステップと、
ライブラリ内のアイテムを操作するための１つまたは複数のツールを提供するステップとを含む
ことを特徴とする請求項２１に記載の方法。
【請求項３０】
アイテムを表示する方法をさらに備え、前記アイテムを表示する方法は、
引き出すべきアイテムの出所である物理的メモリロケーションのスコープを定義し、前記スコープは現在のコンピュータメモリと少なくとも１つの他の物理ロケーションを含むステップと、
クエリを受け取り、前記クエリに対する応答として、前記スコープでの定義に従って前記物理ロケーションからアイテムを引き出すステップと、
前記クエリから引き出された前記アイテムを前記表示装置上のビュー内に表示するステップとを含む
ことを特徴とする請求項２１に記載の方法。
【請求項３１】
表示装置およびアイテムを格納するメモリを備えるコンピュータシステムにおいて、前記アイテムを操作する方法であって、
アイテムのグループを仮想フォルダとして表すステップと、
仮想フォルダの直接操作のため実行することができる少なくとも第１の定義済みアクションを提供するステップであって、前記第１の定義済みアクションが実行されると、前記仮想フォルダは前記実行されたアクションにより指示された通りに操作されるステップと
を備える特徴とする方法。
【請求項３２】
シェルブラウザ内でユーザがメタデータを修正できるようにするシェルブラウザの方法をさらに備え、前記シェルブラウザの方法は、
複数のアイテムを表示するステップと、
少なくとも１つの表示されているアイテムの選択を表す第１の入力を前記ユーザから受け取るステップと、
前記少なくとも１つの選択されているアイテムに関連付けられているメタデータを表示するステップと、
ユーザが表示されている前記メタデータを修正するためのコントロールを提供するステップとを含む
ことを特徴とする請求項３１に記載の方法。
【請求項３３】
シェルブラウザを提供するステップをさらに備え、前記シェルブラウザは、
アイテムのグループを表示し、表示されている前記アイテムの１つまたは複数に関連付けられているメタデータ値も表示するウィンドウと、
ユーザが前記ウィンドウに表示されている前記メタデータ値の少なくとも一部を修正することができる編集コントロールとを備える
ことを特徴とする請求項３１に記載の方法。
【請求項３４】
複数のアイテムタイプをサポートするシェルブラウザ内でサードパーティ製プレビューアを使用できるプレビューアの方法をさらに備え、前記プレビューアの方法は、
前記複数のアイテムタイプに対するデフォルトのプレビューアを持つシェルブラウザを提供するステップと、
前記複数のアイテムタイプのうちの少なくとも１つに対して代替えプレビューアをサードパーティが開発できるようにする拡張メカニズムを提供するステップとを含む
ことを特徴とする請求項３１に記載の方法。
【請求項３５】
複数のアイテムタイプを表す複数のアイテムを表示するように構成されているシェルブラウザを提供するステップをさらに備え、前記シェルブラウザは、
複数のアイテムタイプに対する標準レベルの機能を備えるデフォルトのプレビューアと、
前記複数のアイテムタイプの１つまたは複数に対し前記デフォルトのプレビューアが備える前記標準レベルを超える機能を使用できるようにする拡張メカニズムとを備える
ことを特徴とする請求項３１に記載の方法。
【請求項３６】
仮想アドレスバーを使用してコンピュータファイルシステムに格納されているアイテムへの仮想パスを供給する仮想アドレスバーの方法をさらに備え、前記仮想ファドレスバーの方法は、
アイテムを選択するために対応するフィルタに応じて前記コンピュータファイルシステム上のアイテムを参照する第１のインタラクティブセグメントを含むように動作可能な仮想アドレスバーを表示するステップと、
１つまたは複数の追加インタラクティブセグメントを前記仮想アドレスバーに追加し、各追加インタラクティブセグメントがさらに前記先行するインタラクティブセグメントにより参照される前記アイテムを制約するステップとを含み、
前記第１のインタラクティブセグメントおよび前記１つまたは複数の追加インタラクティブセグメントは仮想パスを含む
ことを特徴とする請求項３１に記載の方法。
【請求項３７】
表示のためコンピュータシステムからアクセス可能なアイテムを選択する仮想アドレスバーユーザインタフェースコントロールを提供するステップをさらに備え、前記仮想アドレスバーは、
各インタラクティブセグメントが表示用のアイテムを選択するフィルタに対応する複数のインタラクティブセグメントを備える
ことを特徴とする請求項３１に記載の方法。
【請求項３８】
アイテムをフィルタ処理する方法をさらに備え、前記アイテムをフィルタ処理する方法は、
それぞれ１つまたは複数のアイテムを表す複数の表示オブジェクトを表示装置上に供給するステップと、
フィルタ条件に基づき前記表示オブジェクトにより表される前記アイテムをフィルタ処理するステップと、
前記表示装置上に供給される前記表示オブジェクトを修正して、前記アイテムの前記フィルタ処理後も残る前記アイテムを表すようにするステップとを含む
ことを特徴とする請求項３１に記載の方法。
【請求項３９】
前記アイテムのコレクションを表示する方法をさらに含み、前記アイテムのコレクションを表示する方法は、
１つまたは複数の指定されたメタデータプロパティとともにアイテムを含むライブラリを作成するステップと、
前記１つまたは複数の指定されたメタデータプロパティを持つアイテムを自動的にライブラリにグループ化するステップと、
ライブラリ内のアイテムを操作するための１つまたは複数のツールを提供するステップとを含む
ことを特徴とする請求項３１に記載の方法。
【請求項４０】
アイテムを表示する方法をさらに含み、前記アイテムを表示する方法は、
引き出すべきアイテムの出所である物理的メモリロケーションのスコープを定義し、前記スコープは現在のコンピュータメモリと少なくとも１つの他の物理ロケーションを含むステップと、
クエリを受け取り、前記クエリに対する応答として、前記スコープでの定義に従って前記物理ロケーションからアイテムを引き出すステップと、
前記クエリから引き出された前記アイテムを前記表示装置上のビュー内に表示するステップとを含む
ことを特徴とする請求項３１に記載の方法。
【請求項４１】
表示装置およびメタデータプロパティとともにアイテムを格納するメモリを備えるコンピュータシステムにおいて、アイテムをフィルタ処理する方法であって、
それぞれ１つまたは複数のアイテムを表す複数の表示オブジェクトを表示装置上に供給するステップと、
フィルタ条件に基づき前記表示オブジェクトにより表される前記アイテムをフィルタ処理するステップと、
前記表示装置上に供給される前記表示オブジェクトを修正して、前記アイテムの前記フィルタ処理後も残る前記アイテムを表すようにするステップと
を備えることを特徴とする方法。
【請求項４２】
シェルブラウザ内でユーザがメタデータを修正できるようにするシェルブラウザの方法をさらに備え、前記シェルブラウザの方法は、
複数のアイテムを表示するステップと、
少なくとも１つの表示されているアイテムの選択を表す第１の入力を前記ユーザから受け取るステップと、
前記少なくとも１つの選択されているアイテムに関連付けられているメタデータを表示するステップと、
ユーザが表示されている前記メタデータを修正するためのコントロールを提供するステップとを含む
ことを特徴とする請求項４１に記載の方法。
【請求項４３】
シェルブラウザを提供するステップをさらに含み、前記シェルブラウザは、
アイテムのグループを表示し、表示されている前記アイテムの１つまたは複数に関連付けられているメタデータ値も表示するウィンドウと、
ユーザが前記ウィンドウに表示されている前記メタデータ値の少なくとも一部を修正することができる編集コントロールとを備える
ことを特徴とする請求項４１に記載の方法。
【請求項４４】
複数のアイテムタイプをサポートするシェルブラウザ内でサードパーティ製プレビューアを使用できるプレビューアの方法をさらに備え、前記プレビューアの方法は、
前記複数のアイテムタイプに対するデフォルトのプレビューアを持つシェルブラウザを提供するステップと、
前記複数のアイテムタイプのうちの少なくとも１つに対して代替えプレビューアをサードパーティが開発できるようにする拡張メカニズムを提供するステップとを含む
ことを特徴とする請求項４１に記載の方法。
【請求項４５】
複数のアイテムタイプを表す複数のアイテムを表示するように構成されているシェルブラウザを提供するステップをさらに備え、前記シェルブラウザは、
複数のアイテムタイプに対する標準レベルの機能を備えるデフォルトのプレビューアと、
前記複数のアイテムタイプの１つまたは複数に対し前記デフォルトのプレビューアが備える前記標準レベルを超える機能を使用できるようにする拡張メカニズムとを備える
ことを特徴とする請求項４１に記載の方法。
【請求項４６】
仮想アドレスバーを使用してコンピュータファイルシステムに格納されているアイテムへの仮想パスを供給する仮想アドレスバーの方法をさらに備え、前記仮想ファドレスバーの方法は、
アイテムを選択するために対応するフィルタに応じて前記コンピュータファイルシステム上のアイテムを参照する第１のインタラクティブセグメントを含むように動作可能な仮想アドレスバーを表示するステップと、
１つまたは複数の追加インタラクティブセグメントを前記仮想アドレスバーに追加し、各追加インタラクティブセグメントがさらに先行する前記インタラクティブセグメントにより参照される前記アイテムを制約するステップとを含み、
前記第１のインタラクティブセグメントおよび前記１つまたは複数の追加インタラクティブセグメントは仮想パスを含む
ことを特徴とする請求項４１に記載の方法。
【請求項４７】
表示のためコンピュータシステムからアクセス可能なアイテムを選択する仮想アドレスバーユーザインタフェースコントロールを提供するステップをさらに備え、前記仮想アドレスバーは、
各インタラクティブセグメントが表示用のアイテムを選択するフィルタに対応する複数のインタラクティブセグメントを備える
ことを特徴とする請求項４１に記載の方法。
【請求項４８】
アイテムをフィルタ処理する方法をさらに備え、前記アイテムをフィルタ処理する方法は、
それぞれ１つまたは複数のアイテムを表す複数の表示オブジェクトを表示装置上に供給するステップと、
フィルタ条件に基づき前記表示オブジェクトにより表される前記アイテムをフィルタ処理するステップと、
前記表示装置上に供給される前記表示オブジェクトを修正して、前記アイテムの前記フィルタ処理後も残る前記アイテムを表すようにするステップとを含む
ことを特徴とする請求項４１に記載の方法。
【請求項４９】
、前記アイテムのコレクションを表示する方法をさらに備え、前記アイテムのコレクションを表示する方法は、
１つまたは複数の指定されたメタデータプロパティとともにアイテムを含むライブラリを作成するステップと、
前記１つまたは複数の指定されたメタデータプロパティを持つアイテムを自動的にライブラリにグループ化するステップと、
ライブラリ内のアイテムを操作するための１つまたは複数のツールを提供するステップとを含む
ことを特徴とする請求項４１に記載の方法。
【請求項５０】
アイテムを表示する方法をさらに含み、前記アイテムを表示する方法は、
引き出すべきアイテムの出所である物理的メモリロケーションのスコープを定義し、前記スコープは現在のコンピュータメモリと少なくとも１つの他の物理ロケーションを含むステップと、
クエリを受け取り、前記クエリに対する応答として、前記スコープでの定義に従って前記物理ロケーションからアイテムを引き出すステップと、
前記クエリから引き出された前記アイテムを前記表示装置上のビュー内に表示するステップとを含む
ことを特徴とする請求項４１に記載の方法。
【請求項５１】
表示装置およびアイテムを格納するメモリを備えるコンピュータシステムにおいて、選択されたアイテムを表示する方法であって、
前記ユーザのナビゲート先であったアイテムの望むコレクションへのリンクを格納するステップと、
ユーザが前記リンクをクリックすることにより望む前記アイテムのコレクションのビューに戻ることができるように前記表示装置上に前記リンクを表示するステップと
を備えることを特徴とする方法。
【請求項５２】
シェルブラウザ内でユーザがメタデータを修正できるようにするシェルブラウザの方法をさらに備え、前記シェルブラウザの方法は、
複数のアイテムを表示するステップと、
少なくとも１つの表示されているアイテムの選択を表す第１の入力を前記ユーザから受け取るステップと、
前記少なくとも１つの選択されているアイテムに関連付けられているメタデータを表示するステップと、
ユーザが前記表示されているメタデータを修正するためのコントロールを提供するステップとを含む
ことを特徴とする請求項５１に記載の方法。
【請求項５３】
シェルブラウザを提供するステップをさらに備え、前記シェルブラウザは、
アイテムのグループを表示し、表示されている前記アイテムの１つまたは複数に関連付けられているメタデータ値も表示するウィンドウと、
ユーザが前記ウィンドウに表示されている前記メタデータ値の少なくとも一部を修正することができる編集コントロールとを備える
ことを特徴とする請求項５１に記載の方法。
【請求項５４】
複数のアイテムタイプをサポートするシェルブラウザ内でサードパーティ製プレビューアを使用できるプレビューアの方法をさらに備え、前記プレビューアの方法は、
前記複数のアイテムタイプに対するデフォルトのプレビューアを持つシェルブラウザを提供するステップと、
前記複数のアイテムタイプのうちの少なくとも１つに対して代替えプレビューアをサードパーティが開発できるようにする拡張メカニズムを提供するステップとを含む
ことを特徴とする請求項５１に記載の方法。
【請求項５５】
複数のアイテムタイプを表す複数のアイテムを表示するように構成されているシェルブラウザを提供するステップを備え、前記シェルブラウザは、
複数のアイテムタイプに対する標準レベルの機能を備えるデフォルトのプレビューアと、
前記複数のアイテムタイプの１つまたは複数に対し前記デフォルトのプレビューアが備える前記標準レベルを超える機能を使用できるようにする拡張メカニズムとを備える
ことを特徴とする請求項５１に記載の方法。
【請求項５６】
仮想アドレスバーを使用してコンピュータファイルシステムに格納されているアイテムへの仮想パスを供給する仮想アドレスバーの方法をさらに備え、前記仮想ファドレスバーの方法は、
アイテムを選択するために対応するフィルタに応じて前記コンピュータファイルシステム上のアイテムを参照する第１のインタラクティブセグメントを含むように動作可能な仮想アドレスバーを表示するステップと、
１つまたは複数の追加インタラクティブセグメントを前記仮想アドレスバーに追加し、各追加インタラクティブセグメントがさらに前記先行するインタラクティブセグメントにより参照される前記アイテムを制約するステップとを含み、
前記第１のインタラクティブセグメントおよび前記１つまたは複数の追加インタラクティブセグメントは仮想パスを含む
ことを特徴とする請求項５１に記載の方法。
【請求項５７】
表示のためコンピュータシステムからアクセス可能なアイテムを選択する仮想アドレスバーユーザインタフェースコントロールを提供するステップをさらに備え、前記仮想アドレスバーは、
各インタラクティブセグメントが表示用のアイテムを選択するフィルタに対応する複数のインタラクティブセグメントを備える
ことを特徴とする請求項５１に記載の方法。
【請求項５８】
アイテムをフィルタ処理する方法をさらに備え、前記アイテムをフィルタ処理する方法は、
それぞれ１つまたは複数のアイテムを表す複数の表示オブジェクトを表示装置上に供給するステップと、
フィルタ条件に基づき前記表示オブジェクトにより表される前記アイテムをフィルタ処理するステップと、
前記表示装置上に供給される前記表示オブジェクトを修正して、前記アイテムの前記フィルタ処理後も残る前記アイテムを表すようにするステップとを含む
ことを特徴とする請求項５１に記載の方法。
【請求項５９】
前記アイテムのコレクションを表示する方法をさらに備え、前記アイテムのコレクションを表示する方法は、
１つまたは複数の指定されたメタデータプロパティとともにアイテムを含むライブラリを作成するステップと、
前記１つまたは複数の指定されたメタデータプロパティを持つアイテムを自動的にライブラリにグループ化するステップと、
ライブラリ内のアイテムを操作するための１つまたは複数のツールを提供するステップとを含む
ことを特徴とする請求項５１に記載の方法。
【請求項６０】
アイテムを表示する方法をさらに備え、前記アイテムを表示する方法は、
引き出すべきアイテムの出所である物理的メモリロケーションのスコープを定義し、前記スコープは現在のコンピュータメモリと少なくとも１つの他の物理ロケーションを含むステップと、
クエリを受け取り、前記クエリに対する応答として、前記スコープでの定義に従って前記物理ロケーションからアイテムを引き出すステップと、
前記クエリから引き出された前記アイテムを前記表示装置上のビュー内に表示するステップとを含む
ことを特徴とする請求項５１に記載の方法。
【請求項６１】
表示装置およびアイテムを格納するメモリを備えるコンピュータシステムにおいて、ユーザに対して前記アイテムを表現する方法であって、
非ファイルアイテムとファイルアイテムの両方をクエリで検索できるデータベースを提供するステップと、
クエリを受け取り、前記クエリに対する応答として、前記クエリに一致する非ファイルアイテムとファイルアイテムの両方を引き出すステップと、
前記クエリと一致する非ファイルアイテムとファイルアイテムの両方を前記表示装置上に表示するステップと
を備えることを特徴とする方法。
【請求項６２】
シェルブラウザ内でユーザがメタデータを修正できるようにするシェルブラウザの方法をさらに備え、前記シェルブラウザの方法は、
複数のアイテムを表示するステップと、
少なくとも１つの表示されているアイテムの選択を表す第１の入力を前記ユーザから受け取るステップと、
前記少なくとも１つの選択されているアイテムに関連付けられているメタデータを表示するステップと、
ユーザが表示されている前記メタデータを修正するためのコントロールを提供するステップとを含む
ことを特徴とする請求項６１に記載の方法。
【請求項６３】
シェルブラウザを提供するステップをさらに備え、前記シェルブラウザは、
アイテムのグループを表示し、表示されている前記アイテムの１つまたは複数に関連付けられているメタデータ値も表示するウィンドウと、
ユーザが前記ウィンドウに表示されている前記メタデータ値の少なくとも一部を修正することができる編集コントロールとを備える
ことを特徴とする請求項６１に記載の方法。
【請求項６４】
複数のアイテムタイプをサポートするシェルブラウザ内でサードパーティ製プレビューアを使用できるプレビューアの方法をさらに備え、前記プレビューアの方法は、
前記複数のアイテムタイプに対するデフォルトのプレビューアを持つシェルブラウザを提供するステップと、
前記複数のアイテムタイプのうちの少なくとも１つに対して代替えプレビューアをサードパーティが開発できるようにする拡張メカニズムを提供するステップとを含む
ことを特徴とする請求項６１に記載の方法。
【請求項６５】
複数のアイテムタイプを表す複数のアイテムを表示するように構成されているシェルブラウザを提供するステップをさらに備え、前記シェルブラウザは、
複数のアイテムタイプに対する標準レベルの機能を備えるデフォルトのプレビューアと、
前記複数のアイテムタイプの１つまたは複数に対し前記デフォルトのプレビューアが備える前記標準レベルを超える機能を使用できるようにする拡張メカニズムとを備える
ことを特徴とする請求項６１に記載の方法。
【請求項６６】
仮想アドレスバーを使用してコンピュータファイルシステムに格納されているアイテムへの仮想パスを供給する仮想アドレスバーの方法をさらに備え、前記仮想ファドレスバーの方法は、
アイテムを選択するために対応するフィルタに応じて前記コンピュータファイルシステム上のアイテムを参照する第１のインタラクティブセグメントを含むように動作可能な仮想アドレスバーを表示するステップと、
１つまたは複数の追加インタラクティブセグメントを前記仮想アドレスバーに追加し、各追加インタラクティブセグメントがさらに先行する前記インタラクティブセグメントにより参照される前記アイテムを制約するステップとを含み、
前記第１のインタラクティブセグメントおよび前記１つまたは複数の追加インタラクティブセグメントは仮想パスを含む
ことを特徴とする請求項６１に記載の方法。
【請求項６７】
表示のためコンピュータシステムからアクセス可能なアイテムを選択する仮想アドレスバーユーザインタフェースコントロールを提供するステップをさらに備え、前記仮想アドレスバーは、
各インタラクティブセグメントが表示用のアイテムを選択するフィルタに対応する複数のインタラクティブセグメントを備える
ことを特徴とする請求項６１に記載の方法。
【請求項６８】
アイテムをフィルタ処理する方法をさらに含み、前記アイテムをフィルタ処理する方法は、
それぞれ１つまたは複数のアイテムを表す複数の表示オブジェクトを表示装置上に供給するステップと、
フィルタ条件に基づき前記表示オブジェクトにより表される前記アイテムをフィルタ処理するステップと、
前記表示装置上に供給される前記表示オブジェクトを修正して、前記アイテムの前記フィルタ処理後も残る前記アイテムを表すようにするステップとを含む
ことを特徴とする請求項６１に記載の方法。
【請求項６９】
前記アイテムのコレクションを表示する方法をさらに備え、前記アイテムのコレクションを表示する前記方法は、
１つまたは複数の指定されたメタデータプロパティとともにアイテムを含むライブラリを作成するステップと、
前記１つまたは複数の指定されたメタデータプロパティを持つアイテムを自動的にライブラリにグループ化するステップと、
ライブラリ内のアイテムを操作するための１つまたは複数のツールを提供するステップとを含む
ことを特徴とする請求項６に記載の方法。
【請求項７０】
アイテムを表示する方法をさらに含み、前記アイテムを表示する方法は、
引き出すべきアイテムの出所である物理的メモリロケーションのスコープを定義し、前記スコープは現在のコンピュータメモリと少なくとも１つの他の物理ロケーションを含むステップと、
クエリを受け取り、前記クエリに対する応答として、前記スコープでの定義に従って前記物理ロケーションからアイテムを引き出すステップと、
前記クエリから引き出された前記アイテムを前記表示装置上のビュー内に表示するステップとを含む
ことを特徴とする請求項６１に記載の方法。
【請求項７１】
仮想アドレスバーを使用してコンピュータファイルシステムに格納されているアイテムへの仮想パスを供給する方法であって、
アイテムを選択するために対応するフィルタに応じて前記コンピュータファイルシステム上のアイテムを参照する第１のインタラクティブセグメントを含むように動作可能な仮想アドレスバーを表示するステップと、
１つまたは複数の追加インタラクティブセグメントを前記仮想アドレスバーに追加し、各追加インタラクティブセグメントがさらに先行する前記インタラクティブセグメントにより参照される前記アイテムを制約するステップとを備え、
前記第１のインタラクティブセグメントおよび前記１つまたは複数の追加インタラクティブセグメントは仮想パスを含む
ことを特徴とする方法。
【請求項７２】
ユーザ側で選択できるフィルタを前記表示装置上に表示し、前記フィルタによって指定されたメタデータプロパティに基づいてアイテムをフィルタ処理する
ことを特徴とする請求項７１に記載の方法。
【請求項７３】
ユーザ側で選択できるクイックリンクを前記表示装置上に表示し、アイテムの指定されたコレクションを表示する
ことを特徴とする請求項７１に記載の方法。
【請求項７４】
アイテムのコレクションおよびライブラリの前記アイテムを操作するための一組のツールを含むライブラリを提供する
ことを特徴とする請求項７１に記載の方法。
【請求項７５】
仮想フォルダ内の前記アイテムは、メモリ内の異なる物理ロケーションに物理的に格納することができる
ことを特徴とする請求項７１に記載の方法。
【請求項７６】
前記異なる物理ロケーションは、本コンピュータおよび異なるコンピュータ、ネットワーク上のロケーション、および外部記憶装置デバイスのうち少なくとも１つを含む
ことを特徴とする請求項７５に記載の方法。
【請求項７７】
前記アイテムはファイルアイテムおよび非ファイルアイテムの両方を含む
ことを特徴とする請求項７１に記載の方法。
【請求項７８】
前記非ファイルアイテムは、連絡先または電子メールのうち少なくとも１つを含む
ことを特徴とする請求項７７に記載の方法。
【請求項７９】
シェルブラウザ内でユーザがメタデータを修正できるようにするシェルブラウザの方法をさらに備え、前記シェルブラウザの方法は、
複数のアイテムを表示するステップと、
少なくとも１つの表示されているアイテムの選択を表す第１の入力を前記ユーザから受け取るステップと、
前記少なくとも１つの選択されているアイテムに関連付けられているメタデータを表示するステップと、
ユーザが表示されている前記メタデータを修正するためのコントロールを提供するステップとを含む
ことを特徴とする請求項７１に記載の方法。
【請求項８０】
複数のアイテムタイプをサポートするシェルブラウザ内でサードパーティ製プレビューアを使用できるプレビューアの方法をさらに備え、前記プレビューアの方法は、
前記複数のアイテムタイプに対するデフォルトのプレビューアを持つシェルブラウザを提供するステップと、
前記複数のアイテムタイプのうちの少なくとも１つに対して代替えプレビューアをサードパーティが開発できるようにする拡張メカニズムを提供するステップとを含む
ことを特徴とする請求項７１に記載の方法。
【請求項８１】
ユーザがシェルブラウザ内のメタデータを修正できるようにコンピュータにより実行される方法であって、
複数のアイテムを表示するステップと、
少なくとも１つの表示されているアイテムの選択を表す第１の入力を前記ユーザから受け取るステップと、
前記少なくとも１つの選択されているアイテムに関連付けられているメタデータを表示するステップと、
ユーザが表示されている前記メタデータを修正するためのコントロールを提供するステップと
を備えることを特徴とする方法。
【請求項８２】
ユーザ側で選択できるフィルタを前記表示装置上に表示し、前記フィルタによって指定されたメタデータプロパティに基づいてアイテムをフィルタ処理する
ことを特徴とする請求項８１に記載の方法。
【請求項８３】
ユーザ側で選択できるクイックリンクを前記表示装置上に表示し、アイテムの指定されたコレクションを表示する
ことを特徴とする請求項８１に記載の方法。
【請求項８４】
アイテムのコレクションおよびライブラリの前記アイテムを操作するための一組のツールを含むライブラリを提供する
ことを特徴とする請求項８１に記載の方法。
【請求項８５】
仮想フォルダ内の前記アイテムは、メモリ内の異なる物理ロケーションに物理的に格納することができる
ことを特徴とする請求項８１に記載の方法。
【請求項８６】
前記異なる物理ロケーションは、本コンピュータおよび異なるコンピュータ、ネットワーク上のロケーション、および外部記憶装置デバイスのうち少なくとも１つを含む
ことを特徴とする請求項８５に記載の方法。
【請求項８７】
前記アイテムはファイルアイテムおよび非ファイルアイテムの両方を含む
ことを特徴とする請求項８１に記載の方法。
【請求項８８】
前記非ファイルアイテムは、連絡先または電子メールのうち少なくとも１つを含む
ことを特徴とする請求項８７に記載の方法。
【請求項８９】
仮想アドレスバーを使用してコンピュータファイルシステムに格納されているアイテムへの仮想パスを供給する仮想アドレスバーの方法をさらに備え、前記仮想ファドレスバーの方法は、
アイテムを選択するために対応するフィルタに応じて前記コンピュータファイルシステム上のアイテムを参照する第１のインタラクティブセグメントを含むように動作可能な仮想アドレスバーを表示するステップと、
１つまたは複数の追加インタラクティブセグメントを前記仮想アドレスバーに追加し、各追加インタラクティブセグメントがさらに先行する前記インタラクティブセグメントにより参照される前記アイテムを制約するステップとを含み、
前記第１のインタラクティブセグメントおよび前記１つまたは複数の追加インタラクティブセグメントは仮想パスを含む
ことを特徴とする請求項８１に記載の方法。
【請求項９０】
表示のためコンピュータシステムからアクセス可能なアイテムを選択する仮想アドレスバーユーザインタフェースコントロールを提供するステップをさらに備え、前記仮想アドレスバーは、
各インタラクティブセグメントが表示用のアイテムを選択するフィルタに対応する複数のインタラクティブセグメントを備える
ことを特徴とする請求項８１に記載の方法。
【請求項９１】
複数のアイテムタイプをサポートするシェルブラウザ内でサードパーティ製プレビューアを使用できるようにコンピュータにより実行される方法であって、
前記複数のアイテムタイプに対するデフォルトのプレビューアを持つシェルブラウザを提供するステップと、
前記複数のアイテムタイプのうちの少なくとも１つに対して代替えプレビューアをサードパーティが開発できるようにする拡張メカニズムを提供するステップと
を備えることを特徴とする方法。
【請求項９２】
ユーザ側で選択できるフィルタを前記表示装置上に表示し、前記フィルタによって指定されたメタデータプロパティに基づいてアイテムをフィルタ処理する
ことを特徴とする請求項９１に記載の方法。
【請求項９３】
ユーザ側で選択できるクイックリンクを前記表示装置上に表示し、アイテムの指定されたコレクションを表示する
ことを特徴とする請求項９１に記載の方法。
【請求項９４】
アイテムのコレクションおよびライブラリの前記アイテムを操作するための一組のツールを含むライブラリを提供する
ことを特徴とする請求項９１に記載の方法。
【請求項９５】
仮想フォルダ内の前記アイテムは、メモリ内の異なる物理ロケーションに物理的に格納することができる
ことを特徴とする請求項９１に記載の方法。
【請求項９６】
前記異なる物理ロケーションは、本コンピュータおよび異なるコンピュータ、ネットワーク上のロケーション、および外部記憶装置デバイスのうち少なくとも１つを含む
ことを特徴とする請求項９５に記載の方法。
【請求項９７】
前記アイテムはファイルアイテムおよび非ファイルアイテムの両方を含む
ことを特徴とする請求項９１に記載の方法。
【請求項９８】
前記非ファイルアイテムは、連絡先または電子メールのうち少なくとも１つを含む
ことを特徴とする請求項９７に記載の方法。
【請求項９９】
仮想アドレスバーを使用してコンピュータファイルシステムに格納されているアイテムへの仮想パスを供給する仮想アドレスバーの方法をさらに備え、前記仮想アドレスバーの方法は、
アイテムを選択するために対応するフィルタに応じて前記コンピュータファイルシステム上のアイテムを参照する第１のインタラクティブセグメントを含むように動作可能な仮想アドレスバーを表示するステップと、
１つまたは複数の追加インタラクティブセグメントを前記仮想アドレスバーに追加し、各追加インタラクティブセグメントがさらに先行する前記インタラクティブセグメントにより参照される前記アイテムを制約するステップとを含み、
前記第１のインタラクティブセグメントおよび前記１つまたは複数の追加インタラクティブセグメントは仮想パスを含む
ことを特徴とする請求項９１に記載の方法。
【請求項１００】
表示のためコンピュータシステムからアクセス可能なアイテムを選択する仮想アドレスバーユーザインタフェースコントロールを提供するステップをさらに備え、前記仮想アドレスバーは、
各インタラクティブセグメントが表示用のアイテムを選択するフィルタに対応する複数のインタラクティブセグメントを備える
ことを特徴とする請求項９１に記載の方法。
【請求項１０１】
表示装置およびアイテムを格納するメモリを備えるコンピュータシステムにおいて、前記アイテムのライブラリを表示する方法であって、
類似のタイプのアイテムを格納するためのライブラリを提供するステップと、
前記ライブラリのそれぞれに対する類似の一組のＵＩ機能を提供するステップと
を備えることを特徴とする方法。
【請求項１０２】
前記異なるタイプはドキュメント、イメージ、および音楽のうち少なくとも２つを含む
ことを特徴とする請求項１０１に記載の方法。
【請求項１０３】
前記類似の一組のＵＩ機能は編集のための機能を含む
ことを特徴とする請求項１０１に記載の方法。
【請求項１０４】
前記類似の一組のＵＩ機能はカテゴリの新規作成のための機能を含む
ことを特徴とする請求項１０１に記載の方法。
【請求項１０５】
前記類似の一組のＵＩ機能はアイテムの前記メタデータの編集のための機能を含む
ことを特徴とする請求項１０１に記載の方法。
【請求項１０６】
前記類似の一組のＵＩ機能は前記ピボットの変更のための機能を含む
ことを特徴とする請求項１０１に記載の方法。
【請求項１０７】
類似のタイプのアイテムを含むことに加えて、前記ライブラリはさらに、異なるタイプのアイテムを含むことができる
ことを特徴とする請求項１０１に記載の方法。
【請求項１０８】
シェルブラウザ内でユーザがメタデータを修正できるようにするシェルブラウザの方法をさらに備え、前記シェルブラウザの方法は、
複数のアイテムを表示するステップと、
少なくとも１つの表示されているアイテムの選択を表す第１の入力を前記ユーザから受け取るステップと、
前記少なくとも１つの選択されているアイテムに関連付けられているメタデータを表示するステップと、
ユーザが前記表示されているメタデータを修正するためのコントロールを提供するステップとを含む
ことを特徴とする請求項１０１に記載の方法。
【請求項１０９】
シェルブラウザを提供するステップをさらに備え、前記シェルブラウザは、
アイテムのグループを表示し、表示されている前記アイテムの１つまたは複数に関連付けられているメタデータ値も表示するウィンドウと、
ユーザが前記ウィンドウに表示されている前記メタデータ値の少なくとも一部を修正することができる編集コントロールとを備える
ことを特徴とする請求項１０１に記載の方法。
【請求項１１０】
複数のアイテムタイプをサポートするシェルブラウザ内でサードパーティ製プレビューアを使用できるプレビューアの方法をさらに備え、前記プレビューアの方法は、
前記複数のアイテムタイプに対するデフォルトのプレビューアを持つシェルブラウザを提供するステップと、
前記複数のアイテムタイプのうちの少なくとも１つに対して代替えプレビューアをサードパーティが開発できるようにする拡張メカニズムを提供するステップとを含む
ことを特徴とする請求項１０１に記載の方法。
【請求項１１１】
複数のアイテムタイプを表す複数のアイテムを表示するように構成されているシェルブラウザを提供するステップをさらに備え、前記シェルブラウザは、
複数のアイテムタイプに対する標準レベルの機能を備えるデフォルトのプレビューアと、
前記複数のアイテムタイプの１つまたは複数に対し前記デフォルトのプレビューアが備える前記標準レベルを超える機能を使用できるようにする拡張メカニズムとを備える
ことを特徴とする請求項１０１に記載の方法。
【請求項１１２】
仮想アドレスバーを使用してコンピュータファイルシステムに格納されているアイテムへの仮想パスを供給する仮想アドレスバーの方法をさらに備え、前記仮想ファドレスバーの方法は、
アイテムを選択するために対応するフィルタに応じて前記コンピュータファイルシステム上のアイテムを参照する第１のインタラクティブセグメントを含むように動作可能な仮想アドレスバーを表示するステップと、
１つまたは複数の追加インタラクティブセグメントを前記仮想アドレスバーに追加し、各追加インタラクティブセグメントがさらに先行する前記インタラクティブセグメントにより参照される前記アイテムを制約するステップとを含み、
前記第１のインタラクティブセグメントおよび前記１つまたは複数の追加インタラクティブセグメントは仮想パスを含む
ことを特徴とする請求項１０１に記載の方法。
【請求項１１３】
表示のためコンピュータシステムからアクセス可能なアイテムを選択する仮想アドレスバーユーザインタフェースコントロールを提供するステップをさらに備え、前記仮想アドレスバーは、
各インタラクティブセグメントが表示用のアイテムを選択するフィルタに対応する複数のインタラクティブセグメントを備える
ことを特徴とする請求項１０１に記載の方法。
【請求項１１４】
アイテムをフィルタ処理する方法をさらに備え、前記アイテムをフィルタ処理する方法は、
それぞれ１つまたは複数のアイテムを表す複数の表示オブジェクトを表示装置上に供給するステップと、
フィルタ条件に基づき前記表示オブジェクトにより表される前記アイテムをフィルタ処理するステップと、
前記表示装置上に供給される前記表示オブジェクトを修正して、前記アイテムの前記フィルタ処理後も残る前記アイテムを表すようにするステップとを含む
ことを特徴とする請求項１０１に記載の方法。
【請求項１１５】
アイテムを表示する方法を含み、前記アイテムを表示する方法は、
引き出すべきアイテムの出所である物理的メモリロケーションのスコープを定義し、前記スコープは現在のコンピュータメモリと少なくとも１つの他の物理ロケーションを含むステップと、
クエリを受け取り、前記クエリに対する応答として、前記スコープでの定義に従って前記物理ロケーションからアイテムを引き出すステップと、
前記クエリから引き出された前記アイテムを前記表示装置上のビュー内に表示するステップとを含む
ことを特徴とする請求項１０１に記載の方法。
【請求項１１６】
前記アイテムをユーザに対し表現する方法をさらに備え、前記アイテムをユーザに対し表現する方法は、
非ファイルアイテムとファイルアイテムの両方をクエリで検索できるデータベースを提供するステップと、
クエリを受け取り、前記クエリに対する応答として、前記クエリに一致する非ファイルアイテムとファイルアイテムの両方を引き出すステップと、
前記クエリと一致する非ファイルアイテムとファイルアイテムの両方を前記表示装置上に表示するステップとを含む
ことを特徴とする請求項１０１に記載の方法。
【請求項１１７】
複数のアイテムタイプをサポートするシェルブラウザ内でサードパーティ製プレビューアを使用できるようにコンピュータにより実行される方法であって、
前記複数のアイテムタイプに対するデフォルトのプレビューアを持つシェルブラウザを提供するステップと、
前記複数のアイテムタイプのうちの少なくとも１つに対して代替えプレビューアをサードパーティが開発できるようにする拡張メカニズムを提供するステップと
を備えることを特徴とする方法。
【請求項１１８】
ユーザ側で選択できるフィルタを前記表示装置上に表示し、前記フィルタによって指定されたメタデータプロパティに基づいてアイテムをフィルタ処理する
ことを特徴とする請求項１０１に記載の方法。
【請求項１１９】
ユーザ側で選択できるクイックリンクを前記表示装置上に表示し、アイテムの指定されたコレクションを表示する
ことを特徴とする請求項１０１に記載の方法。
【請求項１２０】
アイテムのコレクションおよびライブラリの前記アイテムを操作するための一組のツールを含むライブラリを提供する
ことを特徴とする請求項１０１に記載の方法。
【請求項１２１】
仮想フォルダ内の前記アイテムは、メモリ内の異なる物理ロケーションに物理的に格納することができる
ことを特徴とする請求項１０１に記載の方法。
【請求項１２２】
前記異なる物理ロケーションは、本コンピュータおよび異なるコンピュータ、ネットワーク上のロケーション、および外部記憶装置デバイスのうち少なくとも１つを含む
ことを特徴とする請求項１２１に記載の方法。
【請求項１２３】
前記アイテムはファイルアイテムおよび非ファイルアイテムの両方を含む
ことを特徴とする請求項１０１に記載の方法。
【請求項１２４】
前記非ファイルアイテムは、連絡先または電子メールのうち少なくとも１つを含む
ことを特徴とする請求項１２３に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ファイルシステムに関し、より具体的には、ファイルシステムシェル（ｆｉｌｅ  ｓｙｓｔｅｍ  ｓｈｅｌｌ）に関する。
【背景技術】
【０００２】
現在のコンピュータファイルシステムには、望ましくない制限が数多くある。そのような制限の１つに、ユーザは自分に見せられる構造を一般的に制御することができないという問題がある。つまり、フォルダを整理する場合、ユーザは構造を選ばなければならず、その構造は変更が困難である。具体的な例として、「ｍｕｓｉｃ」フォルダを取りあげるとすると、ユーザは音楽ファイルをアーティスト／アルバム形式で整理することを選択することができ、そうすると、各アーティストに対するアルバムフォルダすべてをその特定のアーティストのフォルダに１つのグループとして入れ、特定のアルバムの楽曲すべてをそのアルバムのフォルダに１つのグループとして入れる。アーティスト／アルバム形式は、ある種の音楽の再生（例えば、２人の別々のアーティストの２つのジャズ曲の再生）、または別々のアーティストの選択したアルバム群の再生には役立たない。
【０００３】
もう１つの問題点として、ユーザが非常に多くのファイルを抱えている場合の整理の難しさがある。融通の利かない方法でファイルを配置し、それらのファイル群に対して厳密な階層を構築するユーザもいる。このようなファイルを管理する作業は、利用可能なドキュメントの数が増えるにつれますます複雑で難しいものとなり、検索や読み出しもまた困難になる。この問題は、共有ファイルなど、他のロケーションから利用されるファイルが加わるとさらに悪化する。
【０００４】
またユーザは、異なるデバイス、他のＰＣ（personal computer）、またはオンラインなど、異なるロケーションにあるファイルを取り扱う必要もある。例えば、ユーザはコンピュータで音楽を聴くことを選択したり（音楽プログラムからアクセス可能）、オンラインでＷｅｂサイトから送られてくる音楽を聴いたりすることができるが、これら２つのソースは厳密に分けられている。異なるロケーションを出所とする音楽は、異なる形で整理され、同じ方法でまたは場所に保持されることはない。さらにもう１つの例として、企業ネットワーク上に格納されているファイルは、本質的に、ユーザが現在のマシン上に保有しているファイルと分けることができる。
【０００５】
またユーザは、格納されているファイルデータを追跡するだけでなく、格納されている場所をも追跡する必要がある。例えば、音楽ファイルについては、ユーザは、様々なシステム上にコピーを保持し、どの音楽ファイルがどこに置かれているか追跡を試みることを余儀なくされる。このため、ファイルはローカルに格納されている場合でも、見つけるのが困難である。
【０００６】
また、ときには、ユーザが保有するファイルを見つけそのファイルに戻るのが困難な場合もある。ユーザにとっては、特定の複数のファイルをどのようにしてどこに格納したかを思い出すのは難しいであろう。一組のフォルダ群さらには複数の類似ファイルからなるグループが与えられた場合、ユーザは自分が求めているファイルを素早く見つけ出すことが難しいことが多い。ファイルが見つけにくい場所に格納されていると、見つけ出すのにかなり手間がかかることになる。さらに、ユーザがフォルダにファイルをたくさん置いてあると、特に内容が似通っている場合に、フォルダの迅速な解析がさらに難しくなる。
【０００７】
また、ときには、ネットワーク上のファイルを見つけたり、そのファイルに戻るのが困難な場合もある。ファイルの共有および発行はやりにくいことが多く、またそのようなファイルを、そのファイルを利用可能にした誰かから取り寄せることはそれに輪をかけて難しいことが多い。ユーザは、通常、ネットワーク上のファイルを見つけるために必要な様々なサイトおよび名前を記憶したり、対応付けしなければならない。
【０００８】
名前空間は異なる場合があり、「正しい」ことを知ろうとしてユーザが混乱してしまう原因になりうる。これは、特に、異なる名前付け規約、制限などがあるネットワークについて当てはまることである。例えば、いくつかのオペレーティングシステムでは、表示できるようにするため、スペースを入れない短い名前を使用する必要がある。
【０００９】
プログラムもまた、ファイルをそのプログラム専用のディレクトリまたは他の名前空間に保存することが多く、このため、ユーザがそれらのファイルまでたどり着くことが困難になることがある。プログラムは、ドキュメントを保存するデフォルトのディレクトリと場所を用意しているのが多い。また、ユーザはハードディスクを検索し、ファイルの格納場所を推測しなければならないことも多い。
【００１０】
関連する項目であっても別々の場所に格納されることがよくある。ユーザが保有する関連するファイルは、ハードディスクの別の部分などに格納されることもある。このような問題は、複数のコンテンツタイプ（例えば、画像、音楽、ビデオ）のデジタルメディアサービスの開発ではさらによくある問題である。
【００１１】
ファイルシステムには、アドレスバーに関係する別の問題もある。ユーザがコンピュータ上のファイルシステム内をナビゲートするときに、アドレスバーと呼ばれる、従来のグラフィカルインタフェースコントロール（ｇｒａｐｈｉｃａｌ  ｉｎｔｅｒｆａｃｅ  ｃｏｎｔｒｏｌ）を見ると、自分がファイルシステム階層内のどこにいるかがわかる。従来のアドレスバーでは、そのファイルシステムにおける、フォルダ、サブフォルダ、およびファイルの階層構造に関する現在のロケーションを表示する。従来のアドレスバーに表示されるユーザのロケーションの変更は、通常、以下の２つの方法のうちの１つで実行される。第１は、アドレスバー内のアドレスを手作業で編集する方法である。アドレスバーの中のアドレスを手作業で編集することで、ユーザはファイルシステム階層内の任意の数のロケーションにも移動できるが、ユーザはコンピュータ上のファイルシステムの編成、つまり、特定のファイルシステムのロケーションに関する特定の情報を持っている必要がある。第２の方法では、操作する場合に、アドレスバーを更新し、新しいアドレスまたはロケーションを反映するために外部ナビゲーションツールを使用する必要がある。アドレスバー内のアドレスの直の編集をバイパスしながら、外部ナビゲーションツールを操作するには、それでも、ユーザはファイルシステムの編成に関する特定の情報を保有し、階層構造をトラバースする必要がある。しかし、従来のアドレスバーでは、アドレスバー内のアドレスとファイルシステム階層内の特定のロケーションとの間に１対１の関係があるため、フォルダまたはドライブなどの複数のファイルシステムロケーションにわたって格納されているファイルまたはデータを参照することができない。
【００１２】
従来技術には、ユーザが複数のファイルシステムロケーションにわたって格納されているファイルを表示するアドレスを指定できるアドレスバーはない。従来技術には、さらに、ユーザがアドレスを直に編集せずに、または根幹のファイルシステムの編成に関する特定の情報がなくても、アドレスバーのアドレスを簡単に修正できるようなアドレスバーはない。さらに、従来技術には、ファイルの別の選択をユーザに示し、ユーザが選択することでそれらの選択されたファイルへナビゲートできるアドレスバーもない。さらに、このようなアドレスバーでは、従来のアドレスバーインタフェースをユーザに選択的に見せることもでき、ユーザはユーザプリファレンス（ｕｓｅｒ  ｐｒｅｆｅｒｅｎｃｅｓ）による前回の経験に応じてアドレスバーを対話操作することができる。
【００１３】
ファイルシステムには、さらに、コンピュータ上に格納されているアイテムの識別に関係する問題もある。パーソナルコンピュータ（ＰＣ）などのコンピューティング環境に格納されているアイテムは簡単に識別できなければならないというニーズは、日常の業務でコンピュータを利用する個人が増えるにつれ、また画像、音楽、ドキュメントと格納されている情報の種類が異なるほど、劇的に増大する。ドキュメントおよび媒体は、通常、コンピュータ上に階層方式で格納され、フォルダ内に格納されている情報または媒体のファイルにより編成される。ユーザは、ファイルシステムブラウザを使用することにより、ファイルシステム内をナビゲートし、ファイルおよびフォルダを見つけて開くことができる。例えば、Ｍｉｃｒｏｓｏｆｔ  ＣｏｒｐｏｒａｔｉｏｎのＷＩＮＤＯＷＳ（登録商標）ＥＸＰＬＯＲＥＲ（商標）は、オペレーティングシステムに用意されているユーティリティであり、ユーザはこれを使用してファイルシステムをブラウズすることができる。
【００１４】
多くのユーザにとって、従来のファイルシステムブラウザで現在利用可能な情報に基づいてファイルを正しく識別することは困難である。もちろん、ファイルの内容は、アプリケーションプログラムを使って開けば確認できるが、このような方法でファイルをブラウズするのは非常に不効率である。ファイルシステムブラウザ内でファイルに関するメタデータを表示できれば、ユーザは開く操作なしで特定のファイルを非常に簡単に識別できる。例えば、Ｍｉｃｒｏｓｏｆｔ  ＣｏｒｐｏｒａｔｉｏｎのＷＩＮＤＯＷＳ（登録商標）９Ｘオペレーティングシステムでは、ユーザは特定のオブジェクト用のプロパティシートにアクセスすることによりオブジェクトメタデータを表示することができる。プロパティシートには、オブジェクトの属性または設定のリストがインデックスカードのように選択できるタブ付きプロパティページの形式で表示され、それぞれのページにはパラメータをカスタマイズするための標準ダイアログスタイルのコントロールが用意される。しかし、プロパティシートを使用してアイテムを見つける操作は時間がかかって面倒であり、プロパティシート内の関連するメタデータを見つけるのが難しいと思うユーザもいる。同様に、アイテムを見つけるのにｉｎｆｏｔｉｐを使用する方法も、ユーザがｉｎｆｏｔｉｐに表示される制限されたメタデータを確認するため各ファイル上でマウスをホバリングしなければならないので、時間がかかり、面倒である。
【００１５】
従来のファイルシステムブラウザでは、ユーザはファイルおよびフォルダに関係するメタデータの入力および編集を行うことができないが、それができれば、ユーザは後から非常に簡単にファイルを見つけられる。今までのところ、ユーザがメタデータの入力および編集を行うための機能は専用ソフトウェアプログラムに限られている。例えば、電子音楽ファイル用のメディアプレーヤーは、ユーザが音楽アルバムおよびアーティストに関連するメタデータを編集する機能を備えている。このようなプログラムの他の例として、電子画像ファイル用のアプリケーションプログラムがある。しかし、メディアプレーヤーおよび他のそのようなプログラムの利用は、複数のファイルタイプをサポートする汎用ファイルシステムブラウザとは逆に、プログラムによりサポートされている特定のタイプのファイルに限定される。
【００１６】
Ｍｉｃｒｏｓｏｆｔ  ＣｏｒｐｏｒａｔｉｏｎのＷＩＮＤＯＷＳ（登録商標）ＸＰオペレーティングシステムは、Ｍｙ  Ｐｉｃｔｕｒｅｓフォルダ内で使用するイメージブラウザを備えている。Ｍｙ  Ｐｉｃｔｕｒｅｓフォルダは、ユーザがドキュメントアイコンとしてだけでなく、写真として画像を表示できる特別な機能を備える。Ｍｙ  Ｐｉｃｔｕｒｅのイメージブラウズ機能を使用すると、写真をサムネイルサイズや大判で表示したり、横向きの写真を回転したり、スライドショーを作成したりすることができる。また、ユーザは、寸法、撮影日時、撮影したカメラの名称など写真の詳細も表示することができる。Ｍｙ  Ｐｉｃｔｕｒｅフォルダ内のプレビューコントロールエリアには、ユーザが選択したイメージの拡大されたプレビューイメージ、ユーザが一連の画像を次々に見てゆくためのイテレータボタン（ｉｔｅｒａｔｏｒ  ｂｕｔｔｏｎｓ）、および画像を時計回りまたは反時計回りに回転するためのコントロールが配置される。ＷＩＮＤＯＷＳ（登録商標）ＸＰのイメージブラウズ機能では、画像を表示し操作するためアプリケーションプログラムを呼び出さなければならないということがなくなったため状況が改善されているが、それでもユーザは画像に関連するメタデータの入力および編集を行うことができない。
【発明の開示】
【発明が解決しようとする課題】
【００１７】
したがって、ユーザがそのアイテムに関連するメタデータに基づきアイテムを簡単に見つけられるシェルまたはファイルシステムブラウザの使い勝手を改善する余地がある。また、アプリケーションプログラムを呼び出さずに、ユーザがシェルブラウザ内で様々なタイプのアイテムに関連するメタデータの入力および編集を行うためのシステムおよび方法が必要である。さらに、ユーザが簡単にファイルを見つけられるように改良したファイル内容認識機能を備えるファイルシステムまたはシェルブラウザも必要である。さらに、複数の利用可能なプレビューアから特定のファイルタイプに対応するプレビューアを選択できるシェルブラウザ用に改良されたグラフィカルユーザインタフェースも必要である。さらに、ソフトウェア開発者がファイルタイプに基づき追加情報および機能をユーザに提供できる拡張シェルブラウザも必要である。さらに、アイテムのコレクションが異なっていても類似のＵＩ（user interface）を利用できるようにする必要もある。
【課題を解決するための手段】
【００１８】
本発明の一態様では、仮想フォルダを使用するシステムおよび方法を実現する。仮想フォルダでは、ディスク上の実際の物理的な基本ファイルシステム構造ではなく、メタデータに基づく様々なビューで通常のファイルおよびフォルダ（ディレクトリとも呼ばれる）をユーザに見せる。したがって、システムは、データベース内に格納されているプロパティを受け取って、フォルダに似たコンテナとして表すことができる。ユーザはすでにフォルダの操作に慣れているので、似た方法で仮想フォルダを表示するようにすれば、ユーザは新しいシステムにすぐに順応できる。
【００１９】
本発明の他の態様では、表示装置およびアイテムを格納するためのメモリを備えるコンピュータシステムで使用する方法に基づいて仮想フォルダを実現する。この方法により、メタデータプロパティを選択する。選択した後、システムは選択されたメタデータプロパティを持つアイテムを検索し、そのメタデータプロパティを持つアイテムのコレクションを表す仮想フォルダ表示オブジェクトを表示する。
【００２０】
本発明の他の態様では、システムは、ユーザからのクエリを取得するフォルダプロセッサおよびアイテムに関する情報を格納するためのリレーショナルデータベースを備える。フォルダプロセッサはまず、ユーザからクエリを取得し、そのクエリをリレーショナルデータベースに渡す。リレーショナルデータベースは、結果をフォルダプロセッサに送り返し、フォルダプロセッサは、リレーショナルデータベースからの結果に基づき、その結果をユーザに仮想フォルダとして表示する。一実施形態では、フォルダプロセッサに送り返される結果は、データベースの行と列を含む。データベースの行と列は、フォルダプロセッサによって、列挙型構造体に変換され、その後、これを使用して、その結果得られる仮想フォルダを表示に入れる。
【００２１】
本発明の他の態様では、ユーザは直接操作により仮想フォルダを操作することができる。つまり、仮想フォルダを操作するために用意されるメカニズムは、従来の物理的フォルダを操作するために現在使用されているメカニズム（例えば、クリックしてドラッグする、コピーする、貼り付けるなど）と似ている。
【００２２】
本発明の他の態様では、表示装置およびアイテムを格納するためのメモリを備えるコンピュータシステムで仮想フォルダの直接操作を行うための方法を実現する。この方法により、アイテムのグループを仮想フォルダとして表す。仮想フォルダの直接操作のため実行することができる定義済みアクションが用意され、定義済みアクションが実行されると、仮想フォルダはその定義済みアクションで指示されている通りに操作される。定義済みアクションの一例として、仮想フォルダをクリックしてドラッグする操作がある。一実施形態では、第１の仮想フォルダを第２の仮想フォルダへクリックしてドラッグするアクションにより、第１の仮想フォルダのアイテムを第２の仮想フォルダにコピーする機能が実行される。アイテムを仮想フォルダをコピーする操作には、アイテムに関連付けられている選択されたメタデータプロパティを追加する、または他の何らかの方法で変更する操作が伴う場合がある。
【００２３】
本発明の他の態様では、仮想フォルダを操作するためのフィルタを実現する。フィルタは、本質的に、アイテムの集合を絞り込むためのツールである。一実施形態では、フィルタは、別々のアイテムのプロパティに基づき動的に生成される。例えば、アイテムの集合について、フィルタメカニズムではプロパティをレビューし、それらのアイテムが一般的に、プロパティとして「ａｕｔｈｏｒｓ」を設定している場合、フィルタは作成者のリストを出力することができる。その後、特定の作成者をクリックすると、その作成者が設定されていないアイテムは消える。これにより、ユーザは内容を絞り込むことができる。
【００２４】
本発明の他の態様では、表示装置およびメタデータプロパティとともにアイテムを格納するためのメモリを備えるコンピュータシステムでアイテムをフィルタ処理する方法を実現する。それぞれ１つまたは複数のアイテムを表す表示オブジェクトを表示装置に表示する。表示オブジェクトにより表されるアイテムのメタデータプロパティの評価を行う。複数のアイテムにより共有されるメタデータプロパティに対応するフィルタ条件（ｆｉｌｔｅｒ  ｔｅｒｍ）を表示装置に表示し、フィルタ条件を選択することで、表示装置に表されるアイテムは指定されたメタデータプロパティを共有するアイテムに絞られる。
【００２５】
本発明の他の態様では、複数のアイテムを表示装置に表示し、アイテムのメタデータプロパティに基づいてフィルタ条件を動的に生成する。フィルタ条件を選択すると、表示装置に表されるアイテムは、フィルタ条件に対応するメタデータプロパティを持つアイテムに絞られる。
【００２６】
本発明の他の態様では、複数のアイテムを表示装置に表示し、ユーザがフィルタ条件を入力できるフィルタ領域を用意する。ユーザがフィルタ条件を入力すると、表示装置に表されるアイテムは、そのフィルタ条件を含むアイテムに絞られる。ユーザがフィルタ条件を入力するときに、文字をフィルタ条件に次々に加える毎に追加アイテムのフィルタ処理が行われる。
【００２７】
本発明の他の態様では、「ｂａｃｋ」ボタンが用意され、このボタンを使って、フィルタ処理プロセスを戻ることができる。例えば、ユーザは、フィルタ条件を入力した後、フィルタ条件が適用される前に表示装置に表されていたアイテムの集合に戻りたい場合がある。「ｂａｃｋ」ボタンにより、ユーザはフィルタナビゲーションの目的の位置まで戻ることができる。
【００２８】
本発明の他の態様では、クイックリンク（ｑｕｉｃｋ  ｌｉｎｋｓ）を備える。一実施形態では、クイックリンクは、クリックするとアイテムの集合の有用なビューを生成できる一組の定義済みリンク（例えば、表示装置の左側に配置されている）である。これらは、プログラムにより事前に定義するか、またはユーザが設定することができる。例えば、「ａｌｌ  ａｕｔｈｏｒｓ」をクリックすると、作成者によりスタックされたビューが返される。「Ａｌｌ  ｄｏｃｕｍｅｎｔｓ」は、すべての記憶領域にわたるすべてのドキュメントのフラットなビューを返すことができる。ユーザは、自前のクイックリンクを作成することもできる。例えば、ユーザは、２００３年１月に修正されたすべてのドキュメントに絞り込んでから、それをクイックリンクとして保存することができる。
【００２９】
本発明の他の態様では、クイックリンクを実現する方法を、表示装置およびアイテムを格納するためのメモリを備えるコンピュータシステム内に実装する。この方法により、ユーザはまず、アイテムの望むコレクションのビューへナビゲートする。望むアイテムのコレクションに対応するクイックリンクを保存し、名前を付ける。クイックリンクの名前は、ユーザがクイックリンクをクリックすることにより望むアイテムのコレクションのビューに戻ることができるように表示装置に表示される。
【００３０】
本発明の他の態様では、ライブラリを備える。ライブラリは、関連付けて１つにできる使用可能な種類のファイルからなる大きなグループで構成される。例えば、写真を１つのライブラリとし、音楽をそれと別のライブラリとし、ドキュメントをさらに別のライブラリとすることができる。ライブラリは、特定の種類のアイテムに関係するツールを備え、活動を行う。例えば、写真ライブラリでは、スライドショーの作成や、画像共有などを行う、写真を操作することに関係するツールおよびフィルタがある。
【００３１】
本発明の他の態様では、ライブラリを作成する方法を、表示装置およびアイテムを格納するためのメモリを備えるコンピュータシステム内に実現する。この方法は、１つまたは複数の指定されたメタデータプロパティとともにアイテムを含むライブラリを作成することにより始まる。始まったら、１つまたは複数の指定されたメタデータプロパティを持つアイテムは、自動的にライブラリにグループとしてまとめられる。また、ライブラリのアイテムを操作するためのツールも用意される。
【００３２】
本発明の他の態様では、様々な種類のファイルまたはアイテムを利用することができる。つまり、システムでは、複数の物理的ロケーション（例えば、異なるハードドライブ、異なるコンピュータ、異なるネットワークロケーションなど）からのファイル／アイテムを、ユーザから見てすべてのアイテムの出所が１つのロケーションであるかのように表すことができる。例えば、異なるハードドライブ、異なるコンピュータ、または異なるネットワークロケーションにファイルを物理的に格納することができるとしても、音楽ファイルすべてを単一画面上に表示することで、ユーザはファイルをすべて１つのビューで操作することができる。
【００３３】
本発明の他の態様では、表示装置を備えるコンピュータシステムでアイテムを表示する方法においてスコープを使用する。この方法では、引き出すべきアイテムの出所である物理的メモリロケーションのスコープを定義する必要があり、スコープは現在のコンピュータメモリと少なくとも１つの他の物理ロケーションを含む。クエリを受信すると、クエリに対する応答として、スコープで定義されているように物理ロケーションからアイテムが引き出され、クエリから引き出されるアイテムは表示装置上の１つのビュー内に表示される。一実施形態では、少なくとも１つの他の物理ロケーションを他のコンピュータ、ネットワーク上のロケーション、または外部記憶装置デバイスとすることができる。一実施形態では、表示装置上のビューを物理フォルダビューに切り換えて、アイテムが物理的に格納されている物理ロケーションを示すようにできる。
【００３４】
本発明の他の態様では、仮想フォルダ内に非ファイルアイテムを表すことができる。つまり、メモリ内に格納されているファイルは、物理ストアに配置される。仮想フォルダは、物理ストア内で現在表されていないアイテムを含むようにすることができる。非ファイルアイテムの例として、電子メール、連絡先がある。
【００３５】
本発明の他の態様では、非ファイルアイテムを表す方法を、表示装置およびアイテムを格納するためのメモリを備えるコンピュータシステム内に実装する。この方法では、非ファイルアイテムとファイルアイテムの両方をクエリで検索できるデータベースを用意する。クエリを受信すると、クエリに一致する非ファイルアイテムおよびファイルアイテムが引き出され、その後クエリに一致するアイテムは表示装置に表示される。一実施形態では、ファイルアイテムに関する選択された情報を含むリレーショナルデータベースを用意し、いくつかの非ファイルアイテムを丸ごと保持することができる。
【００３６】
本発明の他の態様では、コンピュータファイルシステム上に格納されているコンテンツを選択するための仮想アドレスバーを実現する。仮想アドレスバーは、複数のセグメントで構成される。各セグメントは、コンピュータファイルシステム上に格納されているコンテンツを選択するためのフィルタに対応する。仮想アドレスバー内の各セグメントの対応するフィルタは、コンピュータファイルシステム上に格納されているコンテンツを選択するための仮想アドレスを表す。
【００３７】
各セグメントは、仮想アドレスバーの仮想アドレスを修正するユーザによる対話操作に応答することができるインタラクティブセグメント（ｉｎｔｅｒａｃｔｉｖｅ  ｓｅｇｍｅｎｔ）である。仮想アドレスバー内のセグメントを１つ選択すると、選択されたセグメントの後のセグメントが仮想アドレスバーから削除される。あるいは、仮想アドレスバー内のセグメントを１つ選択すると、選択可能なピアフィルタ（ｐｅｅｒ  ｆｉｌｔｅｒｓ）のリストがユーザに表示される。ピアフィルタは、別に選択されたセグメントの対応するフィルタのピアである。ピアフィルタの一方を選択すると、代わりに選択されたセグメントにより対応するフィルタが選択されたピアフィルタで置き換えられる。さらに、代わりに選択されたフィルタセグメントの後のセグメントは、仮想アドレスバーから削除される。
【００３８】
外部のユーザアクションに従って仮想アドレスバーにセグメントを追加することができる。セグメントは、仮想アドレスバーのセグメントの末尾に追加される。追加されたセグメントと衝突するセグメントがあればそれらは削除される。仮想アドレスバー内の既存のセグメントは、既存のセグメントと追加されたセグメントとが相互排他的であれば、追加されたセグメントと衝突する。仮想アドレスバー内の既存のセグメントは、さらに、既存のセグメントのスコープが追加されたセグメントよりも広いかまたは狭い場合も、追加されたセグメントと衝突する。
【００３９】
本発明の他の態様では、ウィンドウと編集コントロールを備えるシェルブラウザを実現する。ウィンドウには、アイテムのグループが表示され、さらに、表示されているアイテムの１つまたは複数と関連するメタデータ値も表示される。編集コントロールを使用することで、ユーザは、ウィンドウに表示されているメタデータ値の少なくとも一部を修正することができる。
【００４０】
本発明の他の態様では、グラフィカルユーザインタフェースをコンピュータ可読媒体に埋め込み、コンピュータ上で実行可能にする。グラフィカルユーザインタフェースは、シェルブラウザ内に一組のアイテムを表示する第１の画面領域と表示されているアイテムの１つまたは複数に関連付けられているメタデータを表示する第２の画面領域を備える。また、グラフィカルユーザインタフェースでは、ユーザは表示されているメタデータを修正するシェルブラウザ内の手段を利用できる。
【００４１】
本発明の他の態様では、シェルブラウザ内でメタデータをユーザが修正することができるコンピュータにより実装された方法を実現する。このような方法の１つでは、複数のアイテムを表示し、ユーザから少なくとも１つの表示されているアイテムの選択を表す第１の入力を受け取り、選択されたアイテムに関連付けられているメタデータを表示し、表示されているメタデータをユーザが修正できるようにする編集コントロールを実現する。他のこのような方法では、Ｗｅｌｃｏｍｅペイン（pane）およびＷｅｌｃｏｍｅペインに関連付けられているメタデータを表示し、表示されたメタデータをユーザが修正できるようにする編集コントロールを実現する。
【００４２】
本発明の他の態様では、１つまたは複数アイテムに関連付けられているメタデータを含むデータ構造をシェルブラウザで表示する。１つまたは複数のコンピュータ可読媒体に格納されている、データ構造体は、１つまたは複数の表示されるアイテムに関連付けられているユーザによって修正可能なメタデータを格納するフィールドを含み、そのデータ構造体に含まれるユーザによって修正可能なメタデータは、シェルブラウズでも表示される。
【００４３】
本発明の他の態様では、デフォルトのプレビューアおよび拡張メカニズムを備えるシェルブラウザを実現する。デフォルトのプレビューアは、複数のアイテムをタイプ用の標準レベルの機能を備える。拡張メカニズムを使用することで、アイテムタイプの１つまたは複数に対しデフォルトのプレビューアが備える標準レベルを超える機能を使用することができる。
【００４４】
本発明の他の態様では、第１のプレビューアおよび第２のプレビューアを備えるシェルブラウザを実現する。第１のプレビューアは、複数のアイテムタイプに対し標準レベルの機能を備え、第２のプレビューアは、複数のアイテムタイプの１つまたは複数に対し別のレベルまたは拡張レベルの機能を備える。シェルブラウザは、１つまたは複数のアイテムタイプに対し第１のプレビューアまたは第２のプレビューアのいずれかを選択的に配備するように構成される。
【００４５】
本発明の他の態様では、複数のアイテムタイプをサポートするシェルブラウザ用のグラフィカルユーザインタフェースを実現する。このグラフィカルユーザインタフェースは、シェルブラウザ内に一組のアイテムを表示するための第１の画面領域および複数の利用可能なプレビューアから表示されているアイテムに対するプレビューアを選択する手段を備える。
【００４６】
本発明の他の態様では、複数のアイテムタイプをサポートするプレビューアをシェルブラウザで選択するコンピュータにより実装される方法を実現する。この方法では、特定のアイテムタイプ用の複数のプレビューアをシェルブラウザに用意し、その特定のアイテムタイプに対するプレビューアのうち１つを選択する。その後、選択されたプレビューアを特定のアイテムタイプに関連付ける。
【００４７】
本発明の他の態様では、複数のアイテムタイプをサポートするサードパーティ製プレビューアをシェルブラウザで使用できるようにするコンピュータにより実装される方法を実現する。この方法では、複数のアイテムタイプに対するデフォルトのプレビューアを持つシェルブラウザを用意し、サードパーティが複数のアイテムタイプのうち少なくとも１つに対する代わりのプレビューアを開発することができるようにする拡張メカニズムを備える。
【００４８】
本発明の他の態様では、シェルブラウザ内の複数のプレビューアを示す情報を含むデータ構造体を用意する。１つまたは複数のコンピュータ可読媒体に格納されている、データ構造体は、複数のアイテムタイプをサポートするデフォルトのプレビューアを示す情報を含む第１のフィールドを備える。第２のフィールドは、第１のアイテムタイプに対する代わりのプレビューアを示す情報を含み、第３のフィールドは、第１のアイテムタイプのアイテムがシェルブラウザに表示されるときにデフォルトのプレビューアを呼び出すのか、それとも代わりのプレビューアを呼び出すのかを示す情報を含む。
【００４９】
本発明の他の態様では、異なるタイプのアイテムを、類似の一組の基本ＵＩ機能を備えるライブラリにグループ分けする。つまり、類似の一組の基本ＵＩ機能は、ドキュメントライブラリ、写真ライブラリ、および音楽ライブラリなどの、異なるタイプのライブラリについて用意される。この基本ＵＩ機能群は、フィルタ処理、カテゴリの新規作成、アイテムのメタデータの編集、ピボットの変更などの機能を含むことができる。ユーザは、ライブラリに対する類似の基本ＵＩ機能群を使用することで、すでに使い方がよくわかっている属性および機能を使用して異なるタイプのアイテムを処理し、編成することができる。
【００５０】
本発明の前述の態様およびその結果の利点の多くは、添付の図面に関して、以下の詳細な説明を参照することにより容易に理解できるため明白であろう。
【発明を実施するための最良の形態】
【００５１】
本発明は、複数の望ましい機能を組み込んだファイルシステムシェルを対象とする。本質的に、シェルを利用することで、ユーザはコンピュータに格納されているファイルおよびその他のアイテムの表示および操作を行うことができる。以下の説明では、まず、図１〜６６に示されている機能について要約を述べ、その後、詳細に説明する。
【００５２】
簡単にいうと、図１〜９は、一般的に、仮想フォルダのための全体的システムを対象とする。仮想フォルダでは、従来型のユーザインタフェースにより、ディスク上の実際の物理的な基本ファイルシステムではなく、メタデータに基づく様々なビューで通常のファイルおよびフォルダ（ディレクトリとも呼ばれる）をユーザに見せるための方法を実現する。図１０〜１８は、一般的にスタックを対象としており、これらは、仮想フォルダがデータベースに格納されているプロパティを取り出して、フォルダに似たコンテナとして表現する機能に関係する。図１９〜２１は、一般に、仮想フォルダの直接操作を対象としており、標準フォルダを操作するために現在使用されているメカニズムに似た仮想フォルダを操作する（例えば、コピー、貼り付け、クリック、およびドラッグなど）ためのメカニズムを実現することに関係している。図２２〜２９は、一般に、フィルタを対象としており、これは一組のファイル／アイテムを絞り込むための一組のツールを提供する。図３０〜３４は、一般に、クイックリンクを対象とし、これらはクリックすることでファイル／アイテム群の有用なビューを生成できる一組の定義済みリンクである。図３５〜３６は、一般に、ライブラリを対象としており、これらは、使用可能なタイプのファイルのグループを関連付けて１つにまとめることができ、特定のタイプのアイテムに関係するツールおよび活動を提供できるという概念に関係する。図３７〜３８は、一般に、複数の物理ロケーション（例えば、異なるハードドライブ、異なるコンピュータ、ネットワークロケーション内のコンピュータなど）からファイル／アイテムを取得することができ、ユーザにとってはすべてのファイル／アイテムが１つのロケーションから提供されているのと同じ便利さで表示されるという概念に関係するスコープを対象とする。図３９〜４０は、一般に、非ファイルアイテムを対象としており、これらは、ファイルとともにデータベースに格納することができ、また電子メールおよび連絡先などのアイテムも格納できる。図４１〜５０は、一般的に、複数のセグメントからなる仮想アドレスバーを対象としており、それぞれのセグメントは内容を選択するためのフィルタに対応している。図５１〜５７は、一般に、シェルブラウザを対象としており、ユーザはこれを使用し、アイテムを、そのアイテムに関連付けられているメタデータに基づいて簡単に識別することができる。図５８〜６６は、一般に、複数のアイテムタイプを表す複数のアイテムを表示するように構成されているシェルブラウザ内のオブジェクトプレビューアの機能を拡張することを対象とする。以下の説明では、本発明のこれらの態様のそれぞれについて詳述する。
【００５３】
上記のように、図１〜９は、一般的に、仮想フォルダを実装するシステムを対象とする。仮想フォルダでは、ファイルシステムに対し現在使用されている同じまたは類似のユーザインタフェースを使用する。仮想フォルダでは、ディスク上の実際の物理的な基本ファイル構造体ではなく、メタデータに基づく様々なビューで通常のファイルおよびフォルダ（ディレクトリとも呼ばれる）をユーザに見せる。ユーザがファイルシステムを管理するために現在使用されているのと似たコントロールを使用して自分のファイルおよびフォルダを操作することができるロケーションに関係しないビューを作成する。一般に、このことは、ユーザがシステムの別の部分として管理および編成を実行するのではなく、ファイルそれ自体の固有のプロパティに基づきファイルの編成および再配置を行うことができるということを意味する。仮想フォルダは、同じコンピュータ内、複数のコンピュータ間、または異なるネットワークロケーションの複数のディスクドライブなど異なる物理ロケーションからのファイルまたはアイテムを表すことができ、異なる物理ロケーションにいながらファイルまたはアイテムを１つのビューで公開することができる。一実施形態では、異なるアイテムまたはファイルは、ＩＰ（Internet Protocol）ネットワーク経由で接続して格納するだけでよい。
【００５４】
仮想フォルダモデリングは、従来の非ファイルエンティティにも使用できる。これの応用として、ファイルおよびフォルダ（つまり、オブジェクトおよびコンテナ）に似た一組のユーザインタフェースを用意し、従来の非ファイルエンティティを表示する。このような非ファイルエンティティの一例として電子メールがあるが、ほかに、連絡先データベースからの連絡先情報がある。このようにして、仮想フォルダは、表示されるデータの出所がファイルであろうが、非ファイルエンティティであろうが関係なく動作する、ロケーションに関係しない、メタデータに基づくビューシステムを実現する。一般に、これらの態様では、ユーザが共通インタフェース技術（ドラッグ＆ドロップ、ダブルクリックなど）を使用するだけでなく様々なデータタイプの中身の濃い統合を活用してファイルおよびデータを操作できるようにすることに関して非常に柔軟性が高い。
【００５５】
図１および以下の説明は、仮想フォルダ、および本明細書で説明している本発明の他の態様を実装できる適当なコンピューティング環境について簡潔に述べた一般的な説明である。必ずそうしなければならないというわけではないが、パーソナルコンピュータによって実行されるプログラムモジュールなどのコンピュータ実行可能命令の一般的状況において本発明を説明する。一般に、プログラムモジュールは、特定のタスクを実行する、または特定の抽象データ型を実装するルーチン、プログラム、文字、コンポーネント、データ構造体などを含む。さらに、当業者には、本発明が携帯型デバイス、マルチプロセッサシステム、マイクロプロセッサベースのまたはプログラム可能な家電製品、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータなど、他のコンピュータシステム構成でも実施できることは明白であろう。また、本発明は、通信ネットワークを通じてリンクされているリモート処理デバイスによりタスクが実行される分散コンピューティング環境で実施することもできる。分散コンピューティング環境では、プログラムモジュールは、ローカルおよびリモートのメモリ記憶デバイスに置くことができる。
【００５６】
図１を参照すると、本発明を実装するシステム例は、プロセッサ２１、システムメモリ２２、およびシステムメモリ２２を含む様々なシステムコンポーネントをプロセッサ２１に結合するシステムバス２３を備える、従来のパーソナルコンピュータ２０の形をとる汎用コンピューティングデバイスを含む。システムバス２３は、メモリバスまたはメモリコントローラ、周辺機器バス、および各種バスアーキテクチャを採用するローカルバスを含む数種類のバス構造のどれでもよい。システムメモリは、読み取り専用メモリ（ＲＯＭ）２４およびランダムアクセスメモリ（ＲＡＭ）２５を含む。起動時などにパーソナルコンピュータ２０内の要素間の情報伝送を助ける基本ルーチンを含むＢＩＯＳ（Basic Input/Output System）２６は、ＲＯＭ２４に格納される。パーソナルコンピュータ２０は、さらに、ハードディスク３９への読み書きを行うためのハードディスクドライブ２７、リムーバブル磁気ディスク２９への読み書きを行うための磁気ディスクドライブ２８、リムーバブル光ディスク３１、例えば、ＣＤ（compact disc）−ＲＯＭまたはその他の光媒体への読み書きを行うための光ディスクドライブ３０を備える。ハードディスクドライブ２７、磁気ディスクドライブ２８、および光ディスクドライブ３０は、ハードディスクドライブインタフェース３２、磁気ディスクドライブインタフェース３３、および光ドライブインタフェース３４によりそれぞれシステムバス２３に接続される。ドライブおよび関連コンピュータ可読媒体は、パーソナルコンピュータ２０用のコンピュータ可読命令、データ構造体、プログラムモジュール、およびその他のデータを格納する不揮発性記憶装置を備える。本明細書で説明している環境例ではハードディスク３９、リムーバブル磁気ディスク２９、およびリムーバブル光ディスク３１を採用しているが、当業者であれば、磁気カセット、フラッシュメモリカード、デジタルビデオディスク、ベルヌーイカートリッジ、ランダムアクセスメモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）などのコンピュータからアクセス可能なデータを格納できる他のタイプのコンピュータ読み取り可能メディアもオペレーティング環境の例で使用できることも理解するであろう。
【００５７】
ハードディスク３９、磁気ディスク２９、光ディスク３１、ＲＯＭ２４、またはＲＡＭ２５には、オペレーティングシステム３５、１つまたは複数のアプリケーションプログラム３６、その他のプログラムモジュール３７、およびプログラムデータ３８などのプログラムモジュールをいくつでも格納できる。ユーザはキーボード４０およびポインティングデバイス４２などの入力デバイスを通じてパーソナルコンピュータ２０にコマンドおよび情報を入力することができる。他の入力デバイス（図に示されていない）としては、マイク、ジョイスティック、ゲームパッド、衛星放送受信アンテナ、スキャナなどがある。これらの入力デバイスやその他の入力デバイスは、システムバス２３に結合されているシリアポートインタフェース４６を介して処理装置２１に接続されることが多いが、パラレルポート、ゲームポート、またはユニバーサルシリアルバス（ＵＳＢ）などの他のインタフェースにより接続することもできる。モニタ４７の形態の表示装置は、さらに、ビデオカードまたはアダプタ４８などのインタフェースを介してシステムバス２３にも接続される。１つまたは複数のスピーカ５７も、オーディオアダプタ５６などのインタフェースを介してシステムバス２３に接続できる。表示装置およびスピーカのほかに、パーソナルコンピュータは通常、プリンタなどの他の周辺出力デバイス（図に示されていない）を備える。
【００５８】
パーソナルコンピュータ２０は、リモートコンピュータ４９などの１つまたは複数のパーソナルコンピュータへの論理接続を使用してネットワーク接続環境で動作することも可能である。リモートコンピュータ４９は、他のパーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、ピアデバイス、またはその他の共通ネットワークノードでもよく、通常は、パーソナルコンピュータ２０に関係する上述の要素の多くまたはすべてを含む。図１で説明されている論理接続は、ローカルエリアネットワーク（ＬＡＮ）５１とワイドエリアネットワーク（ＷＡＮ）５２を含む。このようなネットワーキング環境は、オフィス、企業全体にわたるコンピュータネットワーク、イントラネット、およびインターネットでは一般的なものである。
【００５９】
ＬＡＮネットワーキング環境で使用する場合、パーソナルコンピュータ２０はネットワークインタフェースまたはアダプタ５３を介してローカルエリアネットワーク５１に接続される。ＷＡＮネットワーキング環境で使用する場合、パーソナルコンピュータ２０は通常、モデム５４またはインターネットなどのＷＡＮ５２上で通信を確立するためのその他の手段を備える。モデム５４は、内蔵でも外付けでもよいが、シリアルポートインタフェース４６を介してシステムバス２３に接続される。ネットワーク接続環境では、パーソナルコンピュータ２０またはその一部に関して述べたプログラムモジュールは、リモートメモリ記憶デバイスに格納できる。図に示されているネットワーク接続は例であり、コンピュータ間に通信リンクを確立するための他の手段を使用できることは理解されるであろう。
【００６０】
図１に説明されているタイプのシステムで実装される本発明では、ユーザが簡単にファイル操作およびフォルダナビゲーション（ブラウズ）を実行でき、また新しい機能を活用できる高水準の記憶機能を備えられるようにする仮想フォルダを使用する。仮想フォルダでは、ディスク上の実際の物理的な基本ファイルシステムではなく、メタデータに基づく様々なビューでファイルおよびアイテムをユーザに見せる。
【００６１】
図２は、本発明による仮想フォルダシステム２００のブロック図である。以下で詳しく説明するが、仮想フォルダを使用することで、ユーザはデータを表示する方法を制御する「ピボット」を変更することができる。例えば、ユーザは音楽を、アルバム別にグループ化できる、すべての楽曲の構造のないリストとしてみなすことができる。あるいは、ユーザは、ビューを切り換えて、ジャンル、またはアーティスト、または年などのみを表示するようにできる。さらにユーザは、ビューを手直しして、当面の作業に適したオブジェクトのみを表示するようにできる。したがって、フォルダを通じてさらに（下へ、また上に戻る方向で）ナビゲーションする必要がなくなりブラウズ操作が改善される。同じ教えと機能は、ファイルとして格納されない他のデータ型のモデリングについてもいえる。例えば、連絡先をこのようにして公開すると、ユーザは馴染んでいるインタフェース機能と、さらに構造のないアドレス帳が備える機能よりも操作の面で優れているインフラ機能を利用できる。
【００６２】
図２で説明されているように、仮想フォルダシステム２００は、フォルダプロセッサ２１０、リレーショナルデータベース２３０、仮想フォルダ記述データベース２３２、その他のシェルフォルダコンポーネント２３４、フォルダハンドラのコンポーネント２３６、およびシェルブラウザとビューコンポーネント２４０を備える。フォルダプロセッサ２１０は、ネイティブのハンドリングコードコンポーネント２１２、ハンドラファクトリコンポーネント２１４、プロパティライターコンポーネント２１６、行セットパーサーコンポーネント２１８、クエリビルダコンポーネント２２０、列挙子コンポーネント２２２、およびプロパティファクトリコンポーネント２２４を備える。
【００６３】
リレーショナルデータベース２３０には、システム内のすべてのファイルに関するプロパティ格納される。さらに、連絡先（つまり、非ファイルアイテム）などのいくつかのアイテムも完全に格納する。一般に、これは、含まれるファイルおよびアイテムのタイプに関するメタデータを格納する。リレーショナルデータベース２３０は、クエリビルダ２２０からＳＱＬ（Structured Query Language）クエリを受け取る。リレーショナルデータベース２３０は、さらに、ＳＱＬ行セットをアイテムの１列について１行ずつ、行セットパーサーコンポーネント２１８に送信し、列はアイテムプロパティとなる。
【００６４】
仮想フォルダ記述データベース２３２は、仮想フォルダ記述を含む。仮想フォルダ記述データベース２３２は、フォルダ内に表示するタイプ、初期フィルタ、および表示する結果の出所である物理ロケーション（スコープ）のリストなどのデータをクエリビルダコンポーネント２２０に送信する。
【００６５】
他のシェルフォルダコンポーネント２３４に関して、フォルダプロセッサ２１０はハンドラまたはプロパティに対するすべてのファイルを含む様々なタイプのアイテムから既存のシェルフォルダに委譲する。他のシェルフォルダコンポーネント２３４は、他のフォルダからプロパティをプロパティファクトリ２２４に送信する。他のシェルフォルダコンポーネントは、さらに、ハンドラをハンドラファクトリ２１４に送信する。
【００６６】
フォルダハンドラコンポーネント２３６は、連絡先などのデータベース内にしか存在しないアイテムに対するコードビヘイビアを規定する。これにより、非ファイルアイテムはファイルと似た振る舞いをすることができる。フォルダハンドラコンポーネント２３６は、ハンドラをハンドラファクトリ２１４に送信する。
【００６７】
ネイティブのハンドリングコードコンポーネント２１２については、アイテムのプロパティに基づきフォルダプロセッサ２１０により直接いくつかのハンドラが実装される。ネイティブのハンドリングコードコンポーネント２１２は、ハンドラをハンドラファクトリ２１４に送信する。ネイティブハンドリングコードコンポーネント２１２およびフォルダハンドラコンポーネント２３６では、すべての名前空間のように、仮想フォルダはアイテム用に一組のハンドラ（コンテキストメニュー、アイコン、サムネイル、ｉｎｆｏｔｉｐなど）を用意しなければならない。これらの大半（ｉｎｆｏｔｉｐ、データオブジェクト、ドラッグ＆ドロップハンドラ、バックグラウンドコンテキストメニューなど）については、仮想フォルダは、保持するすべてのタイプに対する共通（ネイティブ）ハンドラを備える。しかし、そのタイプの作成者が用意しなければならないものほかにある（アイテム自体のコンテキストメニュー、書き換え可能プロパティストアなど）。デフォルトのハンドラを上書きすることもできる。仮想フォルダではこれをファイルに再利用し、仮想フォルダにより非ファイルアイテムは同じことを行える。
【００６８】
ハンドラファクトリ２１４は、ＩＤリストを受け取って、コンテキストメニュー、アイコンなどを備えるコードビヘイビア（ｃｏｄｅ  ｂｅｈａｖｉｏｒｓ）を出力する。一般に、フォルダプロセッサ２１０は、ネイティブハンドリングコードコンポーネント２１２、他のシェルフォルダコンポーネント２３４、およびフォルダハンドラコンポーネント２３６に関して上で説明したように、ネイティブハンドラ、外部ハンドラ、または他のシェルフォルダへのデリゲート（delegate）を使用してハンドラを取得する。ハンドラファクトリコンポーネント２１４は、ビューによって要求されたときにハンドラをビュー２４０内のシェルブラウザに送信する。ハンドラファクトリコンポーネント２１４は、プロパティハンドラをプロパティライター２１６に送信する。
【００６９】
プロパティライター２１６は、切り取り、コピー、および貼り付けなどのユーザの意図をファイルまたはアイテムに対する所有権に変換する。シェルブラウザおよびビューコンポーネント２４０は、メタデータの直接操作（切り取り／コピー／貼り付け）または編集を含むデータをプロパティライター２１６に送信する。一般に、仮想フォルダはアイテムのプロパティに基づき組織を表示するため、移動およびコピー（ドラッグ＆ドロップ）などの操作は、それらのプロパティに対する編集となる。例えば、ａｕｔｈｏｒでスタックされているビュー内のドキュメントをＡｕｔｈｏｒ  １からＡｕｔｈｏｒ  ２に移動することは、つまり作成者を変更することである。プロパティライターコンポーネント２１６により、この機能が実装される。
【００７０】
行セットパーサー２１８は、データベースの行セットを受け取り、すべてのアイテムプロパティをシェルＩＤリスト構造体に格納する。行セットは仮想フォルダの区分的定義を受け取って、ＳＱＬ文字列を構築し、その後、データベースに発行することができる。行セットパーサーコンポーネント２１８は、ＩＤリストを列挙子コンポーネント２２２に送信する。上述のように、行セットパーサーコンポーネント２１８は、さらに、ＳＱＬ行セットを含むリレーショナルデータベース２３０からデータを、１アイテムにつき１行ずつ受け取り、列はアイテムプロパティとなる。
【００７１】
クエリビルダコンポーネント２２０は、ＳＱＬクエリを構築する。クエリビルダコンポーネント２２０は、列挙子コンポーネント２２２から、ナビゲーションからの新規フィルタを含む、データを受け取る。クエリビルダコンポーネント２２０は、さらに、仮想フォルダ記述データベース２３２から、フォルダ内に表示するタイプ、初期フィルタ、および表示する結果の出所である物理ロケーション（スコープ）のリストを含む、データを受け取る。クエリビルダコンポーネント２２０は、ＳＱＬクエリをリレーショナルデータベース２３０に送信する。
【００７２】
一般に、クエリビルダコンポーネント２２０は、一組の行（つまり、テーブル）を含む。これは、クエリを実行して得られる結果である。行セットパーサーコンポーネント２１８は、各行を受け取り、列名を使用して、行をＩＤリストに変換する。ＩＤリストは、名前空間内でアイテムを参照するために使用されるよく知られているシェル構造体である。こうすることにより、仮想フォルダはシェルの他の部分にとっては他の名前空間と全く同じように見える。また、このデータをキャッシュすることで、コストがかかるデータベースへのアクセスを最低限に維持することができる。
【００７３】
列挙子コンポーネント２２２は、仮想フォルダへのナビゲーションへの応答として動作する。上述のように、列挙子コンポーネント２２２は、行セットパーサーコンポーネント２１８からＩＤリストを受け取り、ナビゲーションからの新規フィルタをクエリビルダコンポーネント２２０に送信する。列挙子２２２では、さらに、ナビゲーションの後に返されビュー内に挿入されるＩＤリストを含む、データをシェルブラウザおよびビューコンポーネント２４０に送信する。
【００７４】
プロパティファクトリコンポーネント２２４は、ＩＤリストおよびプロパティ識別子を受け取り、それらのプロパティに対する値を返す。プロパティファクトリコンポーネント２２４は、プロパティハンドラを含むハンドラファクトリコンポーネント２１４からデータを受け取る。上述のように、プロパティファクトリコンポーネント２２４はさらに、他のフォルダからのプロパティを含むデータを他のシェルフォルダコンポーネント２３４からも受け取る。プロパティファクトリコンポーネント２２４は、さらに、ビューによる要求に従い、アイテムプロパティを含むデータをシェルブラウザおよびビューコンポーネント２４０に送信する。
【００７５】
シェルブラウザおよびビューコンポーネント２４０は、ウィンドウにフォルダの内容を表示し、ユーザによるクリック、ドラッグ、およびナビゲートなどの表示されているファイルまたはアイテムのすべての対話操作を処理する。そうしてシェルブラウザおよびビューコンポーネント２４０は、ユーザアクションを受け取る。シェルブラウザおよびビューコンポーネント２４０は、さらに、フォルダ、この場合はフォルダプロセッサ２１０から、必要とするコードビヘイビアに関するデータを取得する。
【００７６】
上述のように、仮想フォルダでは、ディスク上の実際の物理的な基本ファイルシステム構造ではなく、メタデータに基づく様々なビューで通常のファイルおよびフォルダ（ディレクトリとも呼ばれる）をユーザに見せる。したがって、システムは、データベース内に格納されているプロパティを受け取って、フォルダに似たコンテナとして表すことができる。ユーザはすでにフォルダの操作に慣れているので、似た方法で仮想フォルダを表示するようにすれば、ユーザは新しいシステムにすぐに順応できる。
【００７７】
図３は、ユーザが選択されたアイテムを引くクエリを供給するルーチン３００を説明する流れ図である。ブロック３０２で、フォルダプロセッサはユーザからクエリを取得する。ブロック３０４で、フォルダプロセッサはクエリをリレーショナルデータベースに渡す。ブロック３０６で、リレーショナルデータベースは結果をフォルダプロセッサに与える。ブロック３０８で、フォルダプロセッサはそれらの結果を仮想フォルダおよびアイテムの形でユーザに送る。
【００７８】
図４は、デフォルトのクエリまたはユーザからのクエリのいずれかにより仮想フォルダを構築し、画面上に表示するルーチン３２０を説明する流れ図である。ブロック３２２で、ユーザがまず仮想フォルダを開くと、デフォルトのクエリが使用される。このデフォルトのクエリは、レジストリから取り出される。例えば、音楽ライブラリのデフォルトのクエリでは、アルバム別にグループ化されているすべての楽曲を表示することができる。ブロック３２４で、フォルダプロセッサはこのクエリに対するクエリオブジェクトを構築して、このクエリをリレーショナルデータベースに渡す。ブロック３２６で、リレーショナルデータベースはクエリの結果を生成して、それらをデータベースの行と列としてフォルダプロセッサに渡す。
【００７９】
ブロック３２８で、フォルダプロセッサがこれらの結果を受け取り、データの行と列であるそれらの結果を列挙型構造体に変換すると、フォルダビューではこれを使用して画面にその結果得られる仮想フォルダおよびアイテムを表示し、ユーザはそれらを対話操作する。決定ブロック３３０で、ユーザはビューを変更するかどうかを決定する（異なるクエリまたは「ピボット」を発行することにより）。例えば、ユーザは「ｓｈｏｗ  ａｌｌ  ａｒｔｉｓｔｓ」ピボットを発行することができる。ユーザがビューを変更することを望んでいない場合、ルーチンはブロック３２４に戻り、そこでフォルダプロセッサはこの新規クエリをリレーショナルデータベースに渡し、結果の新規の行と列を受け取り、新規列挙型構造体を構築する。次に、列挙子を使用して「ａｒｔｉｓｔ」オブジェクトを画面に引き出し、フォルダビューをクリアし更新するときに、このプロセスは上述のように続く。
【００８０】
一実施例では、ユーザのナビゲート先のコンテナを表すアルバムオブジェクトを用意する。例えば、「Ｂｅａｔｌｅｓ」アルバムをダブルクリックすると、ビューがナビゲートされ、ビートルズのすべての楽曲が表示される。フォルダプロセッサは、「ｓｈｏｗ  ａｌｌ  Ｂｅａｔｌｅｓ'ｓｏｎｇｓ」クエリをリレーショナルデータベースに発行し、リレーショナルデータベースはそれらの楽曲に対するデータの行と列を送り返す。フォルダプロセッサは、これらすべての楽曲の列挙子を作成し、その後、画面に引き出す。
【００８１】
ユーザはさらに、仮想フォルダをブラウズしながら任意に時点でビューを選択することもできる。上の例から、絞り込んでビートルズの楽曲だけを表示するようにした後、ユーザは楽曲をアルバムとしてのみ表示するようにビューを変更できる。アイテムのビューを他の表現に変更するプロセスを「スタッキング」と呼ぶ。これは、アイテムがその表現に基づいて概念的に「スタック」に配列されるからである。この場合、楽曲は様々なアルバム毎にスタックに再配列される。ユーザは、これらのスタックの１つにナビゲートし、その特定のアイテムからのみ楽曲を表示するようにできる。再び、ユーザはプロパティ（例えば、格付け）に基づいてそれらの残りの楽曲のビューをスタックに再配列することができる。格付けプロパティが選択された場合、そのビートルズアルバムの楽曲は、１つ星、２つ星、または３つ星の格付けのスタックで表示される。
【００８２】
各クエリの結果は、スコープにどの物理ロケーションが含まれるかにより異なる。例えば、スコープにユーザの「ｍｙ  ｄｏｃｕｍｅｎｔｓ」フォルダ内のフォルダのみを入れるようにできる。それとは別に、スコープは、コンピュータ上のすべてのフォルダ、さらには複数のネットワーク接続コンピュータ上のすべてのフォルダを含むこともできる。ユーザは、スコーププロパティシートを通じてスコープを表示し変更することができる。一例では、スコーププロパティシートは、仮想フォルダを右クリックして「ｐｒｏｐｅｒｔｉｅｓ」を選択することにより公開することができる。ユーザは、スコープに新規フォルダを追加したり、すでに追加されているフォルダを削除したりすることができる。
【００８３】
仮想フォルダで特定のユーティリティを提供するユーザの１グループとして知識労働者がある。仮想フォルダを使用すると、知識労働者はファイルタイプ、プロジェクト、ケース番号、作成者などで表示ドキュメントを簡単に切り替えることができる。それぞれの知識労働者はドキュメント整理する様々な方法を身につけている傾向があるため、仮想フォルダを使用してそうした異なるプリファレンスに対応することができる。
【００８４】
図５は、ハードドライブ上の物理フォルダ配置によるフォルダ構造のツリー図である。この物理フォルダ配置は、フォルダの従来の実装に基づいているが、ＮＴＦＳ（NT file system）または他の既存ファイルシステムに基づいていてもよい。このようなフォルダは、その構造がディスク上の実際の物理的な基本ファイルシステム構造に基づいているため物理フォルダと呼ばれる。後で詳しく説明するように、これは、仮想フォルダとは対照的なもので、ユーザが物理フォルダを操作するために現在使用しているのと似た方法でファイルおよびフォルダを操作することができるロケーションに関係しないビューを作成する。
【００８５】
図５に例示されているように、フォルダ４００は「ｍｙ  ｄｏｃｕｍｅｎｔｓ」フォルダである。第１のレベルでは、フォルダ４００は、それぞれＣｌｉｅｎｔｓ  １、２、および３に対応する、フォルダ４１０、４２０、および４３０を含む。第２のレベルでは、フォルダ４１０、４２０、および４３０はそれぞれ、フォルダ４１１、４２１、および４３１を含み、それぞれ選択されたクライアントに対する契約に対応する。第３のレベルでは、フォルダ４１１、４２１、および４３１はそれぞれ、フォルダ４１２、４２２、および４３２を含み、それぞれ２００１年に対応する。第３のレベルでは、フォルダ４１１、４２１、および４３１はさらにそれぞれ、フォルダ４１３、４２３、および４３３を含み、それぞれ２００２年に対応する。
【００８６】
図５に例示されているものなど物理フォルダファイル構造をナビゲートしたいユーザに対し、多数の障害物が表示されることがわかる。例えば、ユーザが出力した契約すべてを扱いたい場合、ユーザはまず、フォルダ４１１にナビゲートしてＣｌｉｅｎｔｓ  １に対する契約を扱う必要があり、その後、フォルダ４２１に再度ナビゲートしてＣｌｉｅｎｔｓ  ２に対する契約に至る必要があり、さらに再び、Ｃｌｉｅｎｔｓ  ３に対する契約のためにフォルダ４３１に再度ナビゲートする必要がある。この配列により、ユーザがすべての契約にアクセスすることが困難になり、一般に、すべての契約の同時表示および操作ができなくなる。同様に、ユーザが２００１年に作成された契約すべてを表示したい場合、ユーザはフォルダ４１２、４２２、および４３２にそれぞれナビゲートし、再度ナビゲートする必要がある。後で詳しく説明するが、本発明の仮想フォルダでは、ファイルシステム構造が改善される。
【００８７】
図６は、仮想フォルダ構造のツリー図である。以下で詳しく説明するが、仮想フォルダにより、ユーザが自分のファイルおよびフォルダを便利な方法で操作できるロケーションに関係しないビューが作成される。図６に示されているように、仮想フォルダはスタックとして表現される。仮想フォルダ５００は「ａｌｌ  ｉｔｅｍｓ」フォルダである。第１のレベルでは、仮想フォルダ５００は、それぞれｃｌｉｅｎｔｓ、ｃｏｎｔｒａｃｔｓ、およびｙｅａｒに対応する、仮想フォルダ５１０、５２０、および５３０を含む。以下で詳しく説明するが、この構造体を使用することで、ユーザは望むパラメータに従ってファイルにアクセスすることができる。
【００８８】
図７は、図６の仮想フォルダ構造のツリー図であり、第２のレベルで、仮想フォルダ５１０はさらに、仮想フォルダ５１１および５１２を含み、それぞれ、ｃｏｎｔｒａｃｔｓとｙｅａｒに対応する。つまり、仮想フォルダ５１０のｃｌｉｅｎｔｓスタックは、さらに、ｃｏｎｔｒａｃｔｓとｙｅａｒでフィルタ処理されるということである。仮想フォルダのそれぞれにどのファイルおよびアイテムが含まれるかを判別するプロセスについて、以下で詳しく説明する。
【００８９】
図８は、図７の仮想フォルダ構造のツリー図であり、第３のレベルで、仮想フォルダ５１１は仮想フォルダ５１３を含み、これはｙｅａｒに対応する。つまり、仮想フォルダ５１１のｃｏｎｔｒａｃｔｓスタックは、さらに、ｙｅａｒでフィルタ処理されるということである。仮想フォルダ５１０、５１１、および５１３の仮想フォルダ構造はｃｌｉｅｎｔｓ、ｃｏｎｔｒａｃｔｓ、ｙｅａｒに従って構造化されているが、図９を参照して以下で詳しく説明するように、これらの仮想フォルダでは他の構造化手順を実行できる。
【００９０】
図９は、図６の仮想フォルダ構造のツリー図であり、第２のレベルで、仮想フォルダ５２０はさらにフィルタ処理されて仮想フォルダ５２１および５２２になり、ｃｌｉｅｎｔｓとｙｅａｒに対応する。第３のレベルで、仮想フォルダ５２１はさらにフィルタ処理されて、仮想フォルダ５２３となり、ｙｅａｒに対応する。図８および９の組織構造間の対比から、仮想フォルダシステムの柔軟性を理解できる。つまり、仮想フォルダシステムでは、ユーザは、図５に例示されているような物理ファイル構造のロケーション依存のビューに依存するのとは反対に、望むパラメータに従って仮想フォルダをナビゲートすることができる。
【００９１】
図１０は、ドキュメントライブラリのスタックを示す画面表示６００を説明する図である。上記のように、スタックを使用して、あるタイプの仮想フォルダを表現することができる。以下で詳しく説明するが、画面表示６００には、クイックリンク要素６１０〜６１３、フィルタ要素６２０〜６２６、活動要素６３０〜６３３、情報およびコントロール要素６４０〜６４５、および仮想フォルダスタック６５１〜６５５が含まれる。
【００９２】
クイックリンク要素には、「ａｌｌ  ｃａｔｅｇｏｒｉｅｓ」クイックリンク６１０、「ａｌｌ  ａｕｔｈｏｒｓ」クイックリンク６１１、「Ｊａｎｕａｒｙ  ｗｏｒｋ」クイックリンク６１２、および追加クイックリンク６１３を表示するための選択が含まれる。以下で詳しく説明するが、クイックリンクを選択するには、ユーザが仮想フォルダの望むナビゲーションを実行する。クイックリンクは、システム側で用意することができ、いくつかのクイックリンクは、ユーザが作成し、保存することができる。
【００９３】
フィルタ要素には、「ｆｉｌｔｅｒ  ｂｙ」インジケータ６２０、ブランクのエントリ６２１、「ｂｙ  ｄａｔｅ」インジケータ６２２、「ｙｅａｒ」セレクタ６２３、「ｐｉｃｋ  ａｎ  ａｕｔｈｏｒ」セレクタ６２４、「ｐｉｃｋ  ａ  ｃａｔｅｇｏｒｙ」セレクタ６２５、および「ｍｏｒｅ  ｆｉｌｔｅｒｓ」セレクタ６２６が含まれる。「ｆｉｌｔｅｒ  ｂｙ」インジケータ６２０を見ると、ユーザは、以下のアイテムが仮想フォルダまたはアイテムをフィルタ処理するのに使用することができることがわかる。ブランクのエントリ６２１には、ユーザが目的の新規フィルタ条件を入力することができる領域が用意される。「ｂｙ  ｄａｔｅ」インジケータ６２２を見ると、ユーザは、「ｙｅａｒ」セレクタ６２３から日付を選択することにより、仮想フォルダまたはアイテムを選択された年でフィルタ処理することができるということがわかる。「ｐｉｃｋ  ａｎ  ａｕｔｈｏｒ」セレクタ６２４では、ユーザは特定のａｕｔｈｏｒに従ってフィルタ処理することができる。「ｐｉｃｋ  ａ  ｃａｔｅｇｏｒｙ」セレクタ６２５では、ユーザは選択されたカテゴリに従ってフィルタ処理することができる。「ｍｏｒｅ  ｆｉｌｔｅｒｓ」セレクタ６２６を使用すると、ユーザは表示装置に追加フィルタをプルアップ形式で表示することができる。
【００９４】
活動セレクタには、「ｃｒｅａｔｅ  ａ  ｎｅｗ  ｃａｔｅｇｏｒｙ」セレクタ６３０、「ａｃｔｉｖｉｔｙ」セレクタ６３１および６３２、さらに「ｍｏｒｅ  ａｃｔｉｖｉｔｉｅｓ」セレクタ６３３が含まれる。以下で詳しく説明するが、表示される活動は、一般的に望ましい機能に対するものであるか、または現在表示されている仮想フォルダのタイプに使用される活動をより具体的に対象にすることができる。例えば、ユーザは、新規スタックで表される新規カテゴリを作成するため、「ｃｒｅａｔｅ  ａ  ｎｅｗ  ｃａｔｅｇｏｒｙ」セレクタ６３０を選択することができる。
【００９５】
上記のように、活動セレクタ６３１および６３２は、表示されているフォルダまたはアイテムのタイプをより具体的に対象にすることができる。例えば、現在の表示は、ドキュメントライブラリの表示であり、「ａｃｔｉｖｉｔｙ」セレクタ６３１および６３２は、添付ファイルの編集または作成など、ドキュメント用に特に手直しされた活動を対象にすることができる。現在のライブラリが写真ライブラリであった場合、「ａｃｔｉｖｉｔｙ」セレクタ６３１および６３２は、写真アルバムの形成または他のユーザとの写真の共有など、写真を特に対象とする活動に対するものとすることができる。
【００９６】
情報およびコントロール要素は、情報行６４０および６４１、コントロール行６４２、バックスペースコントロール６４３、および情報行６４４および６４５を含む。情報行６４０および６４１は、仮想フォルダまたはアイテムの現在のナビゲーションに関する情報を提供する。この例では、情報行６４０は、現在のナビゲーションがドキュメントライブラリに向かうものであることを示し、情報行６４１は、より完全なナビゲーションを示しており、ドキュメントライブラリが記憶装置領域内にあることがわかる。コントロール行６４２は、多数の標準コントロールを備えており、バックスペースボタン６４３を使用することで、ユーザはナビゲーションを後戻りすることができる。情報行６４４は、現在のナビゲーションの内容に関する数値情報を表示する。この例では、情報行６４４は、ドキュメントライブラリのスタック内で１００ＭＢを占有する４１個のアイテムがあることを示す。情報行６４５は、選択されているファイルに関する補足情報など、追加情報を標示するのに使用することができる。
【００９７】
ドキュメントライブラリのスタックは、「ＡＢＣ  Ｃｏｒｐ．」スタック６５１、「ｂａｃｋｕｐｓ」スタック６５２、「ｂｕｓｉｎｅｓｓ  ｐｌａｎｓ」スタック６５３、「ＸＹＺ  Ｃｏｒｐ．」スタック６５４、および「ｍａｒｋｅｔｉｎｇ  ｒｅｐｏｒｔｓ」スタック６５５を含む。各スタックの一番上にある数字は、各スタック内にあるアイテムの個数を示している。例えば、「ＡＢＣ  Ｃｏｒｐ．」スタック６５１には、アイテムが８個あることがわかる。スタックのアイテムの総数とは、情報行６４４で示されているアイテムの数ということであり、上述のように、この例では４１である。ユーザが目的のアイテムを選択するために使用できる選択ボックスＳＢが用意されている。「ＡＢＣ  Ｃｏｒｐ．」スタック６５１を選択すると、図１１に関して以下で説明するように、そのスタックのアイテムのビューが得られる。
【００９８】
図１１は、図１０の「ＡＢＣ  Ｃｏｒｐ．」スタック６５１内のアイテムを示す画面表示を説明する図である。情報行６４０および６４１は現在のナビゲーションが「ＡＢＣ  Ｃｏｒｐ．」スタックを表示していることを現在示していることに注意されたい。「ＡＢＣ  Ｃｏｒｐ．」スタック６５１は、それぞれドキュメント１〜８に対応する、８つのドキュメント７５１〜７５８を含むものとして示されている。情報行６４４は、それに対応して、８個のアイテムが２０ＭＢ分のメモリを占有することを示している。図１１のドキュメントは、さらに、「ＡＢＣ  Ｃｏｒｐ．」スタック内のスタックの中に配置することができる。つまり、図１２〜１６に関して以下で説明するように、「ＡＢＣ  Ｃｏｒｐ．」スタック６５１で表される仮想フォルダ内で、追加仮想フォルダをドキュメントが保持されるように編成することができるということである。
【００９９】
図１２は、図１１のドキュメントについてスタック機能が選択されている画面表示を説明する図である。図１２に示されているように、ユーザは機能ボックス７６０をプルアップ形式で表示することができる。機能ボックス７６０には、「ｖｉｅｗ」選択７６１、「ａｒｒａｎｇｅ  ｉｃｏｎｓ  ｂｙ」選択７６２、「ｓｔａｃｋｓ」選択７６３、「ｒｅｆｒｅｓｈ」選択７６４、「ｏｐｅｎ  ｃｏｎｔａｉｎｉｎｇ  ｆｏｌｄｅｒｓ」選択７６５、「ｃｕｔ」選択７６６、「ｃｏｐｙ」選択７６７、「ｕｎｄｏ」選択７６８、「ｎｅｗ」選択７６９、および「ｐｒｏｐｅｒｔｉｅｓ」選択７７０が含まれる。選択ボックスＳＢは、「ｓｔａｃｋｓ」選択７６３を囲むように表示されている。
【０１００】
図１３は、図１２のスタック機能について「ｓｔａｃｋ  ｂｙ  ａｕｔｈｏｒ」パラメータが選択されている画面表示を説明する図である。図１３に示されているように、表示されているボックス７８０には、様々なスタッキングオプションが含まれている。表示されているスタッキングオプションは、「ｕｎｓｔａｃｋ」オプション７８１、「ｓｔａｃｋ  ｂｙ  ｃａｔｅｇｏｒｙ」オプション７８２、「ｓｔａｃｋ  ｂｙ  ａｕｔｈｏｒ」オプション７８３、および「ｓｔａｃｋ  ｂｙ  ａ  ｕｓｅｒ」オプション７８４である。選択ボックスＳＢは、「ｓｔａｃｋ  ｂｙ  ａｕｔｈｏｒ」オプション７８３を囲むように表示されている。
【０１０１】
図１４は、図１３のファイルが「ａｕｔｈｏｒ」によりスタックされている画面表示を説明する図である。図１４に示されているように、スタック７９１および７９２は、それぞれ、作成者ＢｏｂおよびＬｉｓａに対応している。各スタックの一番上の数字で示されているように、Ｂｏｂスタック７９１は２個のアイテムを含み、Ｌｉｓａスタック７９２は５個のアイテムを含む。アイテム７５８（ｄｏｃｕｍｅｎｔ  ８に対応する）には、作成者が設定されておらず、したがって、「ａｕｔｈｏｒ」スタックには含まれない。スタック７９１および７９２は、「ＡＢＣ  Ｃｏｒｐ．」スタック６５１内などで複数のレベルで編成することができることを示している。したがって、仮想フォルダは、ドキュメントライブラリ内にある「ＡＢＣ  Ｃｏｒｐ．」スタック６５１内にある「Ｌｉｓａ」スタック７９２など、複数のレベルで形成することができる。
【０１０２】
図１５は、図１４のファイルの再スタック機能についてさらに「ｓｔａｃｋ  ｂｙ  ｃａｔｅｇｏｒｙ」オプションが選択されている画面表示を説明する図である。図１５に示されているように、選択ボックスＳＢは、「ｓｔａｃｋ  ｂｙ  ｃａｔｅｇｏｒｙ」オプション７８２を囲んでいる。図１６に関して以下に詳しく述べるように、アイテムのいくつかはすでにスタック７９１および７９２内にスタックされているため、「ｓｔａｃｋ  ｂｙ  ｃａｔｅｇｏｒｙ」オプション７８２を選択すると、アイテムが再スタックされる。
【０１０３】
図１６は、図１４のファイルが「ｃａｔｅｇｏｒｙ」により再スタックされている画面表示を説明する図である。図１６に示されているように、スタック７９３および７９４は、「ＸＹＺ  Ｃｏｒｐ．」および「ｍａｒｋｅｔｉｎｇ  ｒｅｐｏｒｔｓ」カテゴリにそれぞれ対応している。アイテム７５１および７５２は、ドキュメント１および２に対応し、追加カテゴリに関しては指定されておらず、そのため、他のカテゴリスタックには入っていない。
【０１０４】
図１７は、物理フォルダに対するクイックリンクが選択されている画面表示を説明する図である。選択ボックスＳＢは、「ａｌｌ  ｆｏｌｄｅｒｓ」クイックリンク６１６を囲むように表示されている。図１８に関して以下で詳しく説明するが、「ａｌｌ  ｆｏｌｄｅｒｓ」クイックリンク６１６は物理フォルダのビューに切り換える機能を持つ。
【０１０５】
図１８は、物理フォルダを表示する画面表示を説明する図である。表示されている物理フォルダは、図１７の仮想フォルダスタックのファイルを含む。つまり、図１７のスタック６５１〜６５５内に含まれるアイテムは、さらに、システム内のいくつかの物理フォルダにも含まれる。これらは、図１８には、現在のコンピュータ上に配置されている「Ｍｙ  Ｄｏｃｕｍｅｎｔｓ」フォルダ８５１、現在のコンピュータ上に配置されている「Ｄｅｓｋｔｏｐ」フォルダ８５２、ハードドライブＣ：に配置されている「Ｆｏｏ」フォルダ８５３、サーバ上に配置されている「Ｍｙ  Ｆｉｌｅｓ」フォルダ８５４、外部ドライブ上に配置されている「Ｅｘｔｅｒｎａｌ  Ｄｒｉｖｅ」フォルダ８５５、他のコンピュータ上に配置されている「Ｍｙ  Ｄｏｃｕｍｅｎｔｓ」フォルダ８５６、および他のコンピュータ上に配置されている「Ｄｅｓｋｔｏｐ」フォルダ８５７が示されている。
【０１０６】
図１８に示されているように、ユーザは図１７の仮想ファイル表現から図１８の物理ファイル表現に切り替えることができる。したがって、ユーザは、現在のタスクに関してどちらを望んでいるかに応じて、仮想ファイル表現と物理ファイル表現を切り替えることができる。物理フォルダ８５１〜８５７の異なるロケーションもまた、以下で詳しく説明するように、仮想ファイルシステムのスコープは比較的広い範囲にわたる可能性のあることを示している。
【０１０７】
図１９は、ユーザが直接仮想フォルダを操作できるルーチン８８０を説明する流れ図である。以下で詳しく説明するように、仮想フォルダを操作するために用意されるメカニズムは、通常のフォルダを操作するために現在使用されているメカニズム（例えば、クリックしてドラッグする、コピーする、貼り付けるなど）と類似している。図１９に示されているように、ブロック８８２で、システムは、表示オブジェクトとして表されている仮想フォルダを直接操作するためユーザが実行できる定義済みアクションを備える。ブロック８８４で、ユーザは、定義済みアクションを実行する。上記のように、この一例として、ユーザが仮想フォルダをクリックしてドラッグすることによりその内容を別の仮想フォルダにコピーする方法がある。ブロック８８６で、仮想フォルダおよび／または内容は、ユーザが実行するアクションにより指示された通りに操作される。
【０１０８】
図２０は、図１０のスタックに新規「Ｗｅｓｔ  Ｃｏａｓｔ」スタック６５６が追加された画面表示を説明する図である。「Ｗｅｓｔ  Ｃｏａｓｔ」スタック６５６は、ユーザが「Ｗｅｓｔ  Ｃｏａｓｔ」の新規カテゴリを作成することに形成されている。最初作成されると、新規「Ｗｅｓｔ  Ｃｏａｓｔ」スタック６５６は空であり、アイテムは０個である。図２０の実施形態では、２つのアイテムが「Ｗｅｓｔ  Ｃｏａｓｔ」スタック６５６に追加されている。アイテムをスタックに追加する方法の１つは、特定のアイテムを選択してから、追加カテゴリを修正またはアイテムに対するカテゴリメタデータに追加する方法であり、例えば、図２０の実施形態で行われたように「Ｗｅｓｔ  Ｃｏａｓｔ」を２つのアイテムに追加するなどである。このプロセスから、カテゴリデータは、一種のアドホックプロパティであるアイテムのメタデータプロパティであることがわかる。つまり、このタイプのプロパティには暗黙の意味が設定されておらず、ユーザ側で任意の値を割り当てることができる。例えば、カテゴリ「ｐｒｏｐｅｒｔｙ」は任意の値をとることができるが、「ａｕｔｈｏｒ」プロパティは人の名前でなければならない。図２１を参照しながら以下で詳述しているように、アイテムは、クリックしてドラッグする方法で、他のスタックから「Ｗｅｓｔ  Ｃｏａｓｔ」スタック６５６にコピーすることもできる（この場合、アイテムのカテゴリは、自動的に、「Ｗｅｓｔ  Ｃｏａｓｔ」を含むように更新される）。この点に関して、図２０は、コンテンツをコピーする準備のため選択ボックスＳＢが「ＡＢＣ  Ｃｏｒｐ．」スタック６５１を囲んでいることを示している。
【０１０９】
図２１は、「ＡＢＣ  Ｃｏｒｐ．」スタック６５１から「Ｗｅｓｔ  Ｃｏａｓｔ」スタック６５６にファイルをコピーするために直接操作が使用される画面表示を説明する図である。つまり、図２０に示されているように、ユーザは「ＡＢＣ  Ｃｏｒｐ．」スタック６５１を選択し、図２１に示されているように、スタックをクリックしてドラッグすることで「Ｗｅｓｔ  Ｃｏａｓｔ」スタック６５６にコピーしている。そこで、図２０で２つのアイテムを持つ「Ｗｅｓｔ  Ｃｏａｓｔ」スタック６５６は、「ＡＢＣ  Ｃｏｒｐ．」スタック６５１からの追加８個のアイテムを含む、全部で１０個のアイテムを含むように、現在示されている。「ＡＢＣ  Ｃｏｒｐ．」スタック６５１からアイテムが「Ｗｅｓｔ  Ｃｏａｓｔ」スタック６５６にコピーされる場合、これは、８個のアイテムのカテゴリ記述を修正することによりさらにオリジナルの「ＡＢＣ  Ｃｏｒｐ．」カテゴリに加えて「Ｗｅｓｔ  Ｃｏａｓｔ」カテゴリも含むようにすることで実行される。これは、実行可能なある種の直接操作を例示している。
【０１１０】
直接操作の他の例として、アイテムを右クリックして「ｄｅｌｅｔｅ」を選択する方法がある。一実施形態では、ユーザによって削除機能が選択されると、アイテムをひとまとめに削除するか、現在の仮想フォルダから単に削除するだけにするかをユーザに問い合わせる。上記のように現在の仮想フォルダカテゴリスタックからアイテムをただ削除するだけの場合、これは、そのアイテムのメタデータから目的のカテゴリを削除することにより実行することができる。つまり、「ＡＢＣ  Ｃｏｒｐ．」スタック６５１から「Ｗｅｓｔ  Ｃｏａｓｔ」スタック６５６にコピーされたアイテムの１つを「Ｗｅｓｔ  Ｃｏａｓｔ」スタック６５６から削除する場合、これは、特定のファイルに「Ｗｅｓｔ  Ｃｏａｓｔ」カテゴリがもはや含まれないようにカテゴリデータを修正することにより実行することが可能であるということである。
【０１１１】
図２２は、システム側で新規フィルタ条件を動的に生成するためのルーチン９００を説明する流れ図である。フィルタ条件は、仮想フォルダを操作する場合に使用される。フィルタ条件は、本質的に、アイテムの集合を絞り込むためのツール群として使用される。一実施形態では、フィルタはメタデータカテゴリとその値で構成される（ユーザインタフェース内でユーザに対して、クリック可能なリンクまたはドロップダウンメニューとして表示される）。ユーザは、フィルタ条件をクリックして、表示装置上のアイテムの現在の結果集合をフィルタで絞り込む。
【０１１２】
図２２は、フィルタを動的にどのように生成できるかを例示している。図２２に示されているように、ブロック９０２で、現在の表示に含まれるコレクション内のアイテムの（メタデータからの）プロパティを検討する。ブロック９０４で、提案されたフィルタ条件は、アイテムの共通プロパティに基づき動的に生成される。ブロック９０６で、提案されたフィルタ条件がユーザに表示され、ユーザはアイテムのフィルタ処理について選択を行うことができる。このプロセスの例として、システムでは、一組のアイテムのプロパティを検討し、それらのアイテムが一般的に「Ａｕｔｈｏｒｓ」をプロパティとして持つ場合に、フィルタによりフィルタ処理対象の作成者のリストが供給される。その後、特定のＡｕｔｈｏｒをクリックすると、そのＡｕｔｈｏｒが設定されていないアイテムは表示装置上の集合から削除される。このフィルタ処理プロセスにより、ユーザは表示装置上のアイテム集合を絞り込むメカニズムを利用することができる。
【０１１３】
図２３は、システム側でフィルタ条件の選択に基づいてアイテムをフィルタ処理するためのルーチン９２０を説明する流れ図である。ブロック９２２で、ユーザは、フィルタ条件を新規入力するか、さもなければ、システムに表示されたフィルタ条件の１つを選択する。上記のように、フィルタ条件はシステムによって動的に生成するか、またはプリセットすることができる。ブロック９２４で、表示装置上のコレクションからのアイテムは、それらのを選択されたプロパティがフィルタ条件に合致するかどうかに関して評価される。例えば、フィルタ条件が「Ｂｏｂ」によりオーサリングされたアイテムに対するものであれば、アイテムは、ａｕｔｈｏｒプロパティに「Ｂｏｂ」が含まれるかどうかに応じて評価される。ブロック９２６で、選択されたプロパティがフィルタ条件に一致しないアイテムは、表示装置上のコレクションから削除される。
【０１１４】
図２４〜２９では、一般に、画面表示にフィルタ処理プロセスをどのように表示するかを例示している。図２４〜２９に関して以下で説明するが、一実施形態では、フィルタ処理は一般に、以下のプロセスに従って動作が可能である。ユーザがフィルタ値をクリックした後、フィルタ範囲外のアイテムは画面からアニメーションで次第に消えてゆく。このアニメーションは、一般に、アイテムが削除されようとしていること、および新規アイテムが追加されないことがはっきり分かるように設計される。ｂａｃｋボタン６４３は、フィルタ操作を元に戻す場合にユーザによって選択される。一実施形態では、順次フィルタアクションを含むナビゲーションスタックを作成し、それを利用してｂａｃｋボタン６４３を選択したときに各フィルタアクションを元に戻すようにできる。フィルタ値が選択される毎に、情報領域６４０および６４１は更新され、現在フィルタ値が示される。一実施形態では、図３０を参照して以下で詳しく説明するように、フィルタ値が選択された後、ユーザに対し、現在のフィルタナビゲーションへの新規クイックリンクを保存するオプションが表示される。フィルタ値が選択されると、フィルタコントロールは、ビュー内に残っているアイテムに矛盾しないように更新することができる。
【０１１５】
図２４は、図１０のスタックが条件「ＡＢ」によりフィルタ処理された画面表示を説明する図である。図に示されているように、フィルタ領域６２１内で、条件「ＡＢ」はユーザが入力した条件である。情報行６４０および６４１は、表示の中のアイテムが条件「ＡＢ」によってフィルタ処理されたものであることを示している。図からわかるように、「ＡＢＣ  Ｃｏｒｐ．」スタック６５１は、８個のアイテムを含んだままであるが、「Ｂａｃｋｕｐｓ」スタック６５２は３個のアイテムを含み、「ＸＹＺ  Ｃｏｒｐ．」スタック６５４も３個のアイテムを含む。したがって、情報行６４４は、全部で１４個のアイテムが全部で３５ＭＢ分のメモリを占有することを示している。
【０１１６】
図２５は、図１０のスタックが条件「ＡＢＣ」によりフィルタ処理された画面表示を説明する図である。図２４のフィルタ条件「ＡＢ」に関して、ユーザは、完全なフィルタ条件「ＡＢＣ」を作るために単に追加文字「Ｃ」を入力しただけである。図２５に示されているように、情報行６４０および６４１は、表示されているアイテムが条件「ＡＢＣ」を含むものであることを示している。「ＡＢＣ  Ｃｏｒｐ．」スタック６５１は、８個のアイテムをそのまま含んでいることを示しているが、「Ｂａｃｋｕｐｓ」スタック６５２はアイテムを２個しか含んでいない。「ＸＹＺ  Ｃｏｒｐ．」スタック６５４は、その内容のいずれも「ＡＢＣ」フィルタと一致していないため、消えている。そこで情報行６４４は、全部で１０個のアイテムが表示装置に表示されているスタックにあり、合計２５ＭＢ分のメモリを占有することを示している。図２４および２５は、ユーザが新規フィルタ条件を入力する方法およびフィルタ条件を使用して表示装置に表示されるアイテムをフィルタ処理する方法の例を示している。
【０１１７】
ｂａｃｋボタン６４３は、フィルタ操作を元に戻す場合にユーザが使用できる。図１０に関して上で説明したように、ｂａｃｋボタン６４３により、ユーザはナビゲーションを戻ることができる。図２４および２５の例に関して、図２５の条件「ＡＢＣ」によるフィルタ処理の後、ユーザはｂａｃｋボタン６４３を選択することで、フィルタ処理を１ステップ前に戻ることができ、図２４の状態に戻る。あるいは、他の実施形態では、ｂａｃｋボタン６４３を使用して全体のファイル条件を完全に消し、したがって、そのフィルタ処理に戻る前の状態に戻ることができた。この場合、図２５のｂａｃｋボタン６４３を押すと、ユーザは図１０の状態に戻る。
【０１１８】
一実施形態では、ｂａｃｋボタンに加えて、ユーザがフィルタ処理ナビゲーション内で戻ったり、あるいは他の何らかの手段により、フィルタ処理ナビゲーションを修正するための追加の手段を備えている。この追加手段を使用すると、ユーザは情報行６４１に直接アクセスして修正することができ、それに応じて、フィルタナビゲーションが変更される。つまり、情報行６４１に直接アクセスし、修正することにより、ユーザは適用されたフィルタの１つまたは複数を削除したり、適用されたフィルタの値を修正することができる。この機能は、参照により本明細書に組み込まれている、本出願は同一出願人による、２００３年４月１７日に出願された米国特許出願第１０／４２０、０４０号において詳細に説明されている。
【０１１９】
また、図２４および２５に示されているようフィルタ条件をユーザが入力するとともにタイマーを使用することも可能である。タイマーは、ユーザが入力する際の一時休止を監視するために使用される。入力が行われない選択された時間間隔が経過した後、フィルタが適用される。例えば、図２４の状態では、ユーザがフィルタ条件「ＡＢ」を入力しているが、「Ａ」と「Ｂ」の間で著しいタイムラグが生じていない。条件「ＡＢ」を入力した後、ユーザは一時休止し、それから図２４に示されている状態を出力し、フィルタ条件「ＡＢ」が適用される。しばらくしてから、ユーザは英字「Ｃ」を追加して、フィルタ条件「ＡＢＣ」を完成し、その後、再び一時休止し、そのときに、フィルタ条件「ＡＢＣ」が図２５で例示されているように適用される。
【０１２０】
一実施形態で、ユーザがフィルタ領域６２１にフィルタ条件を入力してから、他のフィルタまたはナビゲーションを選択した後、ナビゲーション状態は更新され、フィルタ領域６２１内のフィルタ条件が再び空にされる。さらに、図２６〜２９を参照しながら以下で説明するように、他のフィルタコントロールは、いくつかのフィルタ条件の選択結果に基づき更新することができる。
【０１２１】
図２６は、システム提供のフィルタ条件「ｙｅａｒ  ２００２」が選択されている画面表示を例示する図である。上記のように、日付インジケータ６２２の下で、ｙｅａｒ選択６２３にはｙｅａｒ  ２０００、ｙｅａｒ  ２００１、またはｙｅａｒ  ２００２が含まれる。選択ボックスＳＢは、「ｙｅａｒ  ２００２」を囲むように表示されており、ユーザがそれを目的のフィルタ条件として選択していることを示す。
【０１２２】
図２７は、フィルタ条件「２００２」が適用されている画面表示を例示する図である。また、「ｐｉｃｋ  ａ  ｍｏｎｔｈ」セレクタ６２３Ａの他の選択も示されている。図２７に示されているように、フィルタ条件「２００２」を適用した後、スタック内のアイテムの数は減らされる。具体的には、「ＡＢＣ  Ｃｏｒｐ．」スタック６５１は、６個のアイテムを含み、「Ｂａｃｋｕｐｓ」スタック６５２は８個のアイテムを含み、「Ｂｕｓｉｎｅｓｓ  Ｐｌａｎｓ」スタック６５３は３個のアイテムを含み、「ＸＹＺ  Ｃｏｒｐ．」スタック６５４は５個のアイテムを含む。情報行６４４は、全部で２２個のアイテムが合計５０ＭＢ分のメモリを占有することを示している。情報行６４０および６４１は、表示装置上に示されているアイテムはフィルタ条件「２００２」を含むようにフィルタ処理されているものであることを示す。
【０１２３】
図２８は、フィルタ処理に対し月を選択するためリストが表示されている画面表示を説明する図である。用意されているボックス９５０には、月のリストが表示される。ボックス９５０は、「ｐｉｃｋ  ａ  ｍｏｎｔｈ」セレクタ６２３Ａをユーザが選択したため、表示装置に表示されている。選択ボックスＳＢは、「Ｊａｎｕａｒｙ」の月を囲むように表示されている。
【０１２４】
図２９は、図２８のスタックが「Ｊａｎｕａｒｙ」という月でさらにフィルタ処理された、「ｄａｙ」というフィルタ条件をさらに示す、画面表示を説明する図である。図２９に示されているように、情報行６４０および６４１は、表示されているアイテムが条件「Ｊａｎｕａｒｙ」でフィルタ処理されたものであることを示している。「Ｂａｃｋｕｐｓ」スタック６５２は、現在、２個のアイテムを含むように表示されているが、「Ｂｕｓｉｎｅｓｓ  Ｐｌａｎｓ」スタック６５３もまた、２個のアイテムを含むように表示されている。情報行６４４は、全部で４個のアイテムが表示されており、合計１０ＭＢ分のメモリを占有することを示している。「ｐｉｃｋ  ｂｙ  ｄａｙ」セレクタ６２３Ｂは、ユーザが特定の曜日で結果をさらにフィルタ処理したい場合に表示される。
【０１２５】
図２４〜２９に関して上で説明したように、フィルタ条件は、システム側で表示するか、またはユーザが入力することができる。フィルタ条件が選択されると、表示される残りのフィルタ条件を更新することができる（例えば、図２６で年「２００２」が選択された後、図２７では、年を選択するオプションはもはや表示されず、代わりに「ｐｉｃｋ  ａ  ｍｏｎｔｈ」オプションが表示される）。上記のように、ｂａｃｋボタン６４３は、フィルタ処理プロセスを元に戻したい場合にユーザが選択することができる。例えば、「Ｊａｎｕａｒｙ」の月が図２９で選択された後、図２７に例示されているように、ユーザはｂａｃｋボタン６４３を選択して、フィルタ処理プロセスを年「２００２」に戻すことができる。フィルタメニューにも、「ｓｔａｃｋ  ｂｙ」機能が用意されており、図１５および１６に関して上で説明した機能によるスタックと似た動作をする。例えば、「ｆｉｌｅ  ｔｙｐｅ」フィルタには、「Ｅｘｃｅｌ」、「ＰｏｗｅｒＰｏｉｎｔ」、「Ｗｏｒｄ」、さらに「Ｓｔａｃｋ  ｂｙ  ｆｉｌｅ  ｔｙｐｅ」選択肢がありうる。「ｓｔａｃｋ  ｂｙ」機能を選択すると、様々なファイルタイプのスタックを表示するようにビューが変更される。
【０１２６】
一般に、フィルタはファイルまたはアイテムの異なるプロパティに適用されるように構成することができる。一実施形態では、フィルタは、アルファベットのインデックス、離散値（discrete value）、日付、および数値範囲などの異なるタイプに応じて分類することができる。アルファベットのインデックスプロパティの例として、ｆｉｌｅ  ｎａｍｅ、ａｕｔｈｏｒ、ａｒｔｉｓｔ、ｃｏｎｔａｃｔ  ｆｒｉｅｎｄｌｙ  ｎａｍｅ、ｏｗｎｅｒ、ｄｏｃｕｍｅｎｔ  ａｕｔｈｏｒ、ｄｏｃｕｍｅｎｔ  ｔｉｔｌｅ、ｄｏｃｕｍｅｎｔ  ｓｕｂｊｅｃｔ、およびｄｅｓｃｒｉｐｔｉｏｎがある。離散値のプロパティの例として、ｌｏｃａｔｉｏｎ、ｆｉｌｅ  ｔｙｐｅ（アプリケーション名）、ｇｅｎｒｅ、ｔｒａｃｋ、ｄｅｃａｄｅ（音楽の場合）、ｒａｔｉｎｇ（音楽の場合）、ｂｉｔ  ｒａｔｅ、ｐｒｏｔｅｃｔｅｄ、ｄｏｃｕｍｅｎｔ  ｃａｔｅｇｏｒｙ、ｄｏｃｕｍｅｎｔ  ｐａｇｅ  ｃｏｕｎｔ、ｄｏｃｕｍｅｎｔ  ｃｏｍｍｅｎｔｓ、ｃａｍｅｒａ  ｍｏｄｅｌ、ｄｉｍｅｎｓｉｏｎｓ、ｐｒｏｄｕｃｔ  ｎａｍｅ、ｐｒｏｄｕｃｔ  ｖｅｒｓｉｏｎ、ｉｍａｇｅ  Ｘ、ｉｍａｇｅ  Ｙ、およびｄｏｃｕｍｅｎｔ  ｃｒｅａｔｅｄ  ｔｉｍｅがある。日付のプロパティの例として、ｌａｓｔ  ａｃｃｅｓｓｅｄ、ｌａｓｔ  ｍｏｄｉｆｉｅｄ、ｃｒｅａｔｅｄ  ｏｎ、ｔａｋｅｎ  ｏｎ（画像の場合）がある。数値範囲のプロパティの例として、ｆｉｌｅ  ｓｉｚｅがある。
【０１２７】
図２４〜２９に関して上で説明したフィルタを使用すると、ユーザはアイテムのリストを絞り込んで、注目している特定のアイテムを見つけることができることは理解されるであろう。具体的な例としては、上で説明したプロセスにより、ユーザは現在のドキュメントのリストを、特定の人によって作成され、先週編集されたＭｉｃｒｏｓｏｆｔ  Ｗｏｒｄ（商標）ファイルのみを表示するように絞り込むことができる。この機能を利用すると、ユーザは多数のアイテムのリスト中の特定のアイテムを見つけることができ、またユーザはリスト内の各アイテムを手動でスキャンしなくて済む。
【０１２８】
図３０は、クイックリンクを新規作成するルーチン９４０を説明する流れ図である。以下で詳しく説明するように、クイックリンクは定義済みリンクであり、ユーザがこれをクリックすると、アイテムの集合のユーザ選択ビューを作成できる。一実施形態では、クイックリンクは、ある種のピボットと考えることができる。クイックリンクは、仮想フォルダを取り出すメカニズムを備える。ユーザは、クイックリンクをクリックすることで、目的のフォルダに移動することが、これは、「ｆａｖｏｒｉｔｅｓ」をクリックしてＷｅｂサイトに移動するのと同じやり方である。クイックリンクは、システム側で事前に定義するか、またはユーザが設定することができる。例えば、「ａｌｌ  ａｕｔｈｏｒｓ」をクリックすると、作成者によりスタックされたビューが返される。「ａｌｌ  ｄｏｃｕｍｅｎｔｓ」をクリックすると、すべての記憶領域に対するすべてのドキュメントの構造のないビューを返す。ユーザは、自前のクイックリンクを作成することもできる。
【０１２９】
図３０に示されているように、ブロック９４２で、ユーザは表示装置上で選択を行い、現在のフィルタ条件またはナビゲーションから新規クイックリンクを形成しなければならないことを示す。ブロック９４４で、ユーザはこの新規クイックリンクに新しい名前を付ける。ブロック９４６で、新規クイックリンクを保存し、新しいクイックリンク名を表示装置上のクイックリンクセクションに送る。
【０１３０】
図３１は、図２９のフィルタ処理に基づき「Ｊａｎｕａｒｙ  Ｗｏｒｋ」という新規クイックリンクを作成する画面表示を説明する図である。上述のように、図２９では、スタックはＪａｎｕａｒｙの月でフィルタ処理されている。図３１では、ユーザは図２９のフィルタ処理結果を新規クイックリンクとして保存すべきであることを示しており、また新規クイックリンクに「Ｊａｎｕａｒｙ  ｗｏｒｋ」と名前を付けた。そこで、新しいＪａｎｕａｒｙの作業クイックリンク６１２を表示装置のクイックリンクセクションに表示する。新規クイックリンクを形成することに関して、ユーザに対して一般に、「ｓａｖｅ  ｔｈｉｓ  ｃｏｌｌｅｃｔｉｏｎ  ａｓ  ａ  ｑｕｉｃｋ  ｌｉｎｋ」などのオプションが表示される。
【０１３１】
図３２は、「Ａｌｌ  Ａｕｔｈｏｒｓ」というクイックリンクが選択されている画面表示を説明する図である。図３２に示されているように、選択ボックスＳＢは、「Ａｌｌ  Ａｕｔｈｏｒｓ」セクション６１１を囲むように表示される。クイックリンクからアクセス可能なコレクションの他の例として、「ａｌｌ  ａｕｔｈｏｒｓ」、「ｒｅｃｅｎｔ  ｄｏｃｕｍｅｎｔｓ」、「ａｌｌ  ｄｏｃｕｍｅｎｔｓ  Ｉ'ｖｅ  ｓｈａｒｅｄ」、「ａｌｌ  ｄｏｃｕｍｅｎｔｓ  Ｉ'ｖｅ  ａｕｔｈｏｒｅｄ」、「ａｌｌ  ｄｏｃｕｍｅｎｔｓ  ｎｏｔ  ａｕｔｈｏｒｅｄ  ｂｙ  ｍｅ」、「ｄｅｓｋｔｏｐ」、および「ａｌｌ  ｔｙｐｅｓ」がある。
【０１３２】
図３３は、図３２のアイテムの作成者全員のリストが表示される画面表示を説明する図である。図３３に示されているように、用意されている情報行９５０は、アイテムの名前、作成者、修正日時、タイプ、サイズ、およびアイテムのロケーションを表示する列を示す。Ａｕｔｈｏｒｓ  ９５１〜９５４のリストは、それぞれ対応するＡｕｔｈｏｒｓ  １〜４に対応して表示される。
【０１３３】
図３４は、図３３のリストから「Ａｕｔｈｏｒ  １」が選択されている画面表示を説明する図である。「Ａｕｔｈｏｒ  １」のドキュメントには、Ｄｏｃｕｍｅｎｔｓ  ９５１Ａおよび９５１Ｂが含まれ、それぞれ対応するドキュメント１およびドキュメント２に対応する。ドキュメント９５１Ａは、Ａｕｔｈｏｒ  １によって作成され、２００１年７月１１日に修正されたものとして示されている、Ｍｉｃｒｏｓｏｆｔ  Ｅｘｃｅｌファイルであり、最大２８２ｋｂのメモリを占有し、ロケーション＼＼ｓｅｒｖｅｒ１＼ｆｏｌｄｅｒ２から取得されている。ドキュメント９５１Ｂは、Ａｕｔｈｏｒ  １によって作成され、２００２年１２月２２日に修正されたものとして示されているが、Ｍｉｃｒｏｓｏｆｔ  Ｗｏｒｄ（商標）ファイルであり、最大２０６ｋｂのメモリを占有し、ロケーションＭｙ  Ｄｏｃｕｍｅｎｔｓ＼ｆｏｌｄｅｒｌに物理的に格納される。ドキュメント９５１Ａおよび９５１Ｂのロケーションも、以下で詳しく説明するように、本発明の仮想フォルダに、異なる物理ロケーションからのアイテムを含めることができる。
【０１３４】
図３５は、ライブラリを新規作成するルーチン９６０を説明する流れ図である。ライブラリの一例は、図１０を参照して上で説明したドキュメントライブラリである。一般に、ライブラリは、関連付けて１つにできる使用可能なタイプのファイルの大きなグループからなる。例えば、写真を１つのライブラリとし、音楽をそれと別のライブラリとし、ドキュメントをさらに別のライブラリとすることができる。ライブラリは、特定の種類のアイテムに関係するツールを備え、活動を行う。例えば、写真ライブラリでは、スライドショーの作成や、画像共有などを行う、写真を操作することに関係するツールおよびフィルタがある。図３５に示されているように、ブロック９６２で、新規ライブラリが作成され、選択した文字とともにアイテムを含められる。ブロック９６４で、選択されたアイテムをライブラリにグループ分けする。ブロック９６６で、アイテムの選択された特性または他の目的とする機能に関係するツールおよび／活動が実行される。
【０１３５】
図３６は、利用可能なライブラリのコレクションが表示される画面表示を説明する図である。図３６に示されているように、ライブラリには、ｄｏｃｕｍｅｎｔｓライブラリ９７１、ｐｈｏｔｏｓ  ａｎｄ  ｖｉｄｅｏライブラリ９７２、ｍｕｓｉｃライブラリ９７３、ｍｅｓｓａｇｅｓライブラリ９７４、ｃｏｎｔａｃｔｓライブラリ９７５、ＴＶ  ａｎｄ  ｍｏｖｉｅｓライブラリ９７６、さらにａｌｌ  ｉｔｅｍｓライブラリ９７７が含まれる。ａｌｌ  ｉｔｅｍｓライブラリ９７７は、２７５個のアイテムを含むことが示されており、２７５というのは組み合わせた他のライブラリのすべてのアイテムの総数である。情報行６４４は、全部で２７５個のアイテムがあり、合計７００ＭＢ分のメモリを占有することを示している。ｄｏｃｕｍｅｎｔｓライブラリ９７１は、図１０に関して上で説明したライブラリであることに注意されたい。
【０１３６】
図３７は、仮想フォルダコレクションのスコープを定義するルーチン９９０を説明する流れ図である。以下で詳しく説明するように、仮想フォルダシステムは、複数の物理ロケーション（例えば、異なるハードドライブ、異なるコンピュータ、異なるネットワークロケーションなど）にあるアイテムを、ユーザからすべてのアイテムに簡単にアクセスできるように表すことができる。例えば、単一の表示で複数の物理ロケーションからの音楽ファイルを表示することができるため、ユーザはファイルを一度に操作することができる。
【０１３７】
図３７に示されているように、ブロック９９２で、引き出すアイテムの出所である物理ロケーションに対してスコープを定義する。ブロック９９４で、クエリに対する応答として、スコープでの定義に従って物理ロケーションからアイテムを引き出す。ブロック９９６で、クエリによって引き出されたアイテムすべてを単一表示画面に表示する。
【０１３８】
図３８は、仮想フォルダコレクションのスコープを形成できる様々なソースを説明するブロック図である。図３８に示されているように、システム１０００は、現在のコンピュータ１０１０、追加コンピュータ１０２０、外部およびリムーバブル記憶装置１０３０、およびネットワーク１０４０上のロケーションを備えることができる。スコープ全体１００１は、コレクションの作成のため引き出されるユーザのアイテムの出所であるすべての物理ロケーションを含むものとして説明される。スコープは、ユーザが設定し、修正することができる。上記のように、他の図はアイテムの出所が異なる物理ロケーションであることを示しており、例えば、図３４はサーバおよび現在のコンピュータ上のＭｙ  Ｄｏｃｕｍｅｎｔｓフォルダを出所とする異なるドキュメントを示しており、また図１８は、複数のロケーションに物理的に格納されている物理フォルダを示している。
【０１３９】
図３９は、仮想フォルダコレクションに非ファイルアイテムを入れるルーチン１０８０を説明する流れ図である。非ファイルアイテムは、通常、物理ファイル記憶装置に配置されているファイルアイテムと対照的なものである。非ファイルアイテムの例として、電子メールや連絡先などがある。図３９に示されているように、ブロック１０８２で、データベースを利用して、クエリによって検索できるファイルアイテムとともに非ファイルアイテムを入れる。ブロック１０８４で、クエリに対する応答として、非ファイルアイテムおよびファイルアイテムは、クエリに一致するように引き出される。ブロック１０８６で、クエリと一致した非ファイルアイテムおよびファイルアイテムは表示装置上に表示される。
【０１４０】
図４０は、様々な非ファイルアイテムを表示する画面表示を説明する図である。図４０に示されているように、アイテムのフィルタ処理が行われ、「Ｊｏｈｎ」を含むものに絞られている。それらのアイテムは、連絡先アイテム１１０１、電子メールアイテム１１０２、およびドキュメント１１０３および１１０４を含むように示されている。連絡先アイテム１１０１および電子メールアイテム１１０２は非ファイルアイテムである。本システムにより、このような非ファイルアイテムを通常ファイルアイテムとともに含めることができ、ユーザが望む通りに編成し操作することができる。図２に関して上で説明したように、そのような非ファイルアイテムは丸ごと、他の何らかの方法でファイルのプロパティに関する情報を含む、リレーショナルデータベース２３０に格納することができる。
【０１４１】
図４１〜５０は、図１０の情報行６４１に対応し、本発明により形成される、仮想アドレスバーに関係する図である。以下で詳しく説明するように、仮想アドレスバーは複数のセグメントからなり、それぞれのセグメントは内容を選択するためのフィルタに対応している。以上まとめて、各セグメントの対応するフィルタは、内容を選択するための仮想アドレスを表す。
【０１４２】
図４１は、仮想アドレスバーを操作するのに好適なネットワーク接続コンピューティング環境１２００の例または本明細書で説明している本発明の他の態様のどれかを示すブロック図である。ネットワーク接続コンピューティング環境１２００の例は、ユーザによる対話操作を目的とする図１に関して説明したパーソナルコンピュータなどのコンピューティングデバイス１２０２を備え、ユーザはローカルコンピューティングデバイスに格納されているファイルまたはリモートコンピューティングデバイスに格納されているファイルを表示することができる。以下の説明では、パーソナルコンピュータに関して本発明を説明しているが、コンピューティングデバイス１２０２は、ミニコンピュータ、メインフレームコンピュータ、ＰＤＡ（Personal Digital Assistant）、タブレットコンピュータ、およびユーザと対話し、コンピューティングデバイスおよびその他の場所に格納されているファイルおよび内容を表示することができるの他のデバイスをはじめとする、様々な種類の物理デバイスを含むものと理解されるであろう。
【０１４３】
ネットワーク接続コンピューティング環境１２００の例では、さらに、コンピューティングデバイス１２０２にアクセス可能なファイルを格納し、図４１に示されているように、インターネット１２０６などの通信ネットワークを介してコンピューティングデバイスに接続されている、サーバ１２０４などの１つまたは複数のリモートサーバも備えることができる。さらに、コンピューティングデバイス１２０２は、ファイルまたはその他のコンテンツを格納する、リモートデータベース１２０８などの、他の情報源に接続することもできる。当業者であれば、リモートサーバ１２０４とリモートデータベース１２０８の両方に格納されているファイルおよび情報、さらにハードディスクドライブ（図１）などのローカルの記憶装置デバイス上に格納されているファイルおよび情報は、コンピューティングデバイス上の組み込まれているファイルシステムの一部としてコンピューティングデバイス１２０２からアクセス可能であり、またそこに表示することが可能であることを理解するであろう。さらに、リモートサーバ１２０４およびリモートデータベース１２０８の特定の構成が図４１に示されているが、当業者であれば、この特定の構成は説明のみを目的としており、本発明を制限するものとして解釈すべきでないことを容易に理解できるであろう。
【０１４４】
図４２は、従来技術に見られるような、コンピュータファイルシステムでファイルを表示することと関連する従来型のアドレスバー１３０２を備えるファイルビューア１３００の例を示している。本発明の説明の目的のために、ファイルビューアは、ファイルまたはその他のコンテンツをユーザに対して表示するための、表示デバイスなどの（図１）、表示デバイス上のビューまたはウィンドウであるものとする。ファイルビューアは、ファイルをユーザに対して特に表示するための実行可能プログラムに対応するウィンドウとすることができる。それとは別に、ファイルビューアは、ローカルまたはリモートでコンピュータシステムに接続されている記憶装置デバイスにデータを保存したりそこから取り出したりしなければならない実行可能プログラム上の開いているまたは閉じているダイアログボックス内のビューでもよい。ファイルビューアの上記の例は説明を目的としており、本発明を制限するものとして解釈すべきでないことに注意されたい。
【０１４５】
従来型のアドレスバー１３０２内のアドレスはファイルシステム内の特定のロケーションに対応している。前述のように、従来型のアドレスバー１３０２に表示されるアドレスを編集するためには、ユーザはファイルシステムに関する詳しい知識に基づいてアドレスを修正しなければならない。それとは別に、ユーザは別のロケーションへナビゲートするためツリービュー１３０４内のエントリを選択することもできる。当業者であれば、ファイルビュー１３００の例に表示されないアドレスバー１３０２の外部の他のコントロールも、利用可能であることを理解するであろう。従来型のアドレスバー１３０２に表示されるアドレスはファイルシステム内の特定のロケーションに対応しているが、ファイルシステム内の複数のフォルダ間に分散されている関連ファイルは、従来型のアドレスバー１３０２とともに表示することはできない。
【０１４６】
図４３は、コンピュータファイルシステムでファイルを表示することと関連する仮想アドレスバー１４０２を備えるファイルビューア１４００の例を示している。仮想アドレスバー１４０２は、図１０の情報行６４１に対応する。仮想アドレス１４０４を持つ、仮想アドレスバー１４０２は、図４２の従来技術のファイルビューア１３００の従来型のアドレス１３０４により表示される情報と似た情報を表示するように構成されている。仮想パスとも呼ばれる、仮想アドレスは、選択基準に従ってコンピュータファイルシステム内に格納されているファイルを参照する。
【０１４７】
図４２のアドレス１３０４などの従来型のアドレスと同様に、仮想アドレスの選択基準は、ファイルシステム階層内の特定のロケーションに格納されるファイルを参照することができる。しかし、従来型のアドレスとは対照的に、仮想アドレスの選択基準は、特定のファイルシステムロケーションに関係なくファイルを参照することもできる。したがって、仮想アドレスは、コンピュータファイルシステム内の複数のロケーションに格納されているファイルを参照することができる。図４３に示されているように、ファイルビューア１４００は、仮想アドレスバー１４０２内の仮想アドレス１４０４により、図４２のファイルビューア１３００では見られない、ファイル１４０６および１４０８などの追加ファイルを表示することができる。さらに、仮想アドレスバー１４０２を使用して、コンピュータファイルシステム内のファイル以外のコンテンツを表示することもできる。例えば、仮想アドレスバー１４０２を使用して、システムデバイス、システムサービス、またはインターネットロケーションを含むコンテンツを参照することができる。
【０１４８】
図４４Ａは、コンピュータファイルシステム内でナビゲートするために仮想アドレスバー１４０２内の仮想アドレス１４０４のセグメントを操作する状況を示している。仮想アドレスバー１４０２などのそれぞれの仮想アドレスバーは、セグメント１５０２、１５０４、１５０６、および１５０８などの１つまたは複数のインタラクティブセグメントで構成される。仮想アドレスバー内の各セグメントは、コンピュータファイルシステムからアクセス可能な使用可能なすべてのコンテンツまたはファイルに対する所定のフィルタ、または選択基準に対応している。まとめると、仮想アドレスバー１４０２内のすべてのセグメントのフィルタは、仮想アドレスバーの仮想アドレスを表すということである。
【０１４９】
セグメント１５０２などの仮想アドレスバー内の第１のセグメントは、ルートセグメント、またはルートフィルタと呼ばれる。ルートセグメントは、仮想アドレスバー１４０２による選択に使用することができるコンテンツの最も範囲の広いカテゴリを表している。例えば、セグメント１５０２「Ｆｉｌｅｓ」は、コンピュータファイルシステムからアクセス可能なすべてのファイルを参照するフィルタを表す可能性がある。それとは別に、ルートセグメントは、コンピュータシステム上でユーザが使用できるすべてのシステムサービスを参照するフィルタ、またはコンピュータシステム内にインストールされているすべてのハードウェアデバイスを参照するフィルタを表すことができる。当業者であれば、他の様々な代替えルートフィルタを本発明で使用できることを理解するであろう。したがって、上述の例は説明のため取りあげたのであって、本発明を制限するものと解釈すべきではない。さらに、ルートセグメント１５０２上の「Ｆｉｌｅｓ」などのセグメント毎に表示されるラベルは説明を目的としており、本発明を制限するものと解釈すべきではない。一実施形態によれば、セグメントに表示されるラベルはユーザ側で構成可能である。
【０１５０】
セグメント１５０４、１５０６、および１５０８などの仮想アドレスバー１４０２内のそれぞれの追加セグメントは、ファイルビューア１４００でファイルまたはコンテンツを選択し表示するときに適用する追加フィルタを表している。例えば、ルートセグメント１５０２「Ｆｉｌｅｓ」は、コンピュータシステムから使用できるすべてのファイルを参照する。セグメント１５０４「Ｄｏｃｕｍｅｎｔ  Ｌｉｂｒａｒｙ」は、ワードプロセッサ、スプレッドシート、または他の何らかのドキュメント生成アプリケーションなどを介して、ユーザによってドキュメントとして生成されたファイルを選択することにより、ルートセグメント１５０２で選択されたファイルをフィルタ処理する。セグメント１５０６「Ｗｏｒｄ  Ｄｏｃｕｍｅｎｔｓ」は、Ｍｉｃｒｏｓｏｆｔ  ＣｏｒｐｏｒａｔｉｏｎのＷｏｒｄアプリケーションなどのワードプロセッサを使用して生成されたドキュメントに従ってセグメント１５０４で選択されたファイルをフィルタ処理する。最後に、セグメント１５０８「Ａｕｔｈｏｒ  Ａ」は、「Ａｕｔｈｏｒ  Ａ」が作成者となっているかどうかに応じてセグメント１５０６により選択された文書処理ドキュメントをフィルタ処理する。したがって、仮想アドレスバー１４０２で表されている仮想アドレスに従って選択されたコンテンツは、仮想アドレスバー内のすべてのセグメントに対応するフィルタを満たしていなければならない。
【０１５１】
仮想アドレスバー１４０２内のセグメントは、一般的に、最も包括的なフィルタから最も包括的でないフィルタへの順序になっている。例えば、すでに説明したように、セグメント１５０２「Ｆｉｌｅｓ」は最も範囲が広く、最も包括的である。セグメント１５０６「Ｗｏｒｄ  Ｄｏｃｕｍｅｎｔｓ」およびセグメント１５０８「Ａｕｔｈｏｒ  Ａ」は包括的の度合いが低い。仮想アドレスバー１４０２は、セグメントの順序を左から右へと示しているが、本説明の目的に関して、セグメント１５０４、１５０６、および１５０８は、ルートセグメント１５０２の後である。しかし、本発明の範囲を逸脱することなく、上から下への配列など、他の向きも可能であることは理解されるであろう。したがって、左から右への向きは説明を目的としているとみなすべきであり、本発明を制限するものと解釈すべきではない。
【０１５２】
すでに述べたように、セグメント１５０２、１５０４、１５０６、および１５０８などの仮想アドレスバー１４０２内のセグメントは、必ずしも、フォルダ、ドライブ、およびディレクトリなどのコンピュータファイルシステム内の特定のロケーションに対応しているわけではない。したがって、セグメント１５０４「Ｄｏｃｕｍｅｎｔ  Ｌｉｂｒａｒｙ」は複数のサーバ、ドライブ、またはフォルダ／ディレクトリ上に分散されているファイルまたはコンテンツを参照することができる。しかし、仮想アドレスバー１４０２内のいくつかのセグメントは、コンピュータファイルシステム階層により特定のロケーションを参照することができる。特定のファイルシステムロケーションを参照する仮想アドレスセグメントの詳細については、図４８Ａおよび４８Ｂに関して以下で説明する。
【０１５３】
従来型のアドレスバーとは対照的に、仮想アドレスバー１４０２内の各セグメントは、アクション可能なインタラクティブユーザインタフェース要素を表す。例えば、仮想アドレスバー１４０２内のセグメントは、ユーザによる選択に応答し、カーソルが特定の期間内にそのセグメント上に置かれているかどうかを監視し、またユーザがドラッグする対話操作により仮想アドレスバーから取り外すこともできる。したがって、図４４Ａに示されているように、ユーザはカーソル１５１０を仮想アドレスバー１４０２内のセグメント１５０４「Ｄｏｃｕｍｅｎｔ  Ｌｉｂｒａｒｙ」などのセグメント上に置き、そのセグメント上で選択またはクリックして、図４４Ｂに関して説明されているように、そのレベルへナビゲートする、つまりそのセグメントで仮想アドレスを切り捨てることができる。
【０１５４】
図４４Ｂは、仮想アドレスバー１４０２内のセグメント１５０４を選択した結果を示している。仮想アドレスバー１４０２内のセグメント１５０４をクリックすることにより、ユーザは、仮想アドレスでのそのレベルにナビゲートしたいことを指示する。実際、ユーザは選択されたセグメントの後のフィルタを刈り取ることになる。例えば、セグメント１５０４「Ｄｏｃｕｍｅｎｔ  Ｌｉｂｒａｒｙ」（図４４Ａ）をクリックすることにより、その結果の仮想アドレス１４０４はもはやセグメント１５０６  「Ｗｏｒｄ  Ｄｏｃｕｍｅｎｔｓ」および１５０８「Ａｕｔｈｏｒ  Ａ」（図４４Ａ）を含まない。さらに、ユーザは制限のきつくない一組のフィルタにナビゲートしたため、仮想アドレスバー１４０２内のその結果得られる仮想アドレス１４０４はより包括的になる。これは、ｄｏｃｕｍｅｎｔ  １５１２、ｄｏｃｕｍｅｎｔ  １５１４、およびｄｏｃｕｍｅｎｔ  １５１６を含む、図４４Ａのファイルビューア１４００に以前には見られなかった、図４４Ｂのファイルビューア１４００内へのドキュメントの追加により、また領域の制限があるためファイルビューア１４００（図４４Ｂ）に表示できない追加ファイルを表示できることを示すスクロールボタン１５１８が存在することによりわかる。
【０１５５】
仮想アドレスバー内のセグメントを選択して制限のきつくないセグメントにナビゲートするほかに、ユーザは、さらに、仮想アドレス内の現在のセグメントのピアフィルタにナビゲートするか、または選択したい場合もある。ピアフィルタは、選択され、仮想アドレスバー内の与えられたセグメントに適用することができる代替えフィルタである。例えば、図４４Ａを参照すると、セグメント１５０６「Ｗｏｒｄ  Ｄｏｃｕｍｅｎｔｓ」のピアフィルタは、「Ｅｘｃｅｌ  Ｄｏｃｕｍｅｎｔｓ」、「Ｊｏｕｒｎａｌｓ」などのフィルタを含むことができる。特定のファイルシステムロケーション、ハードウェアデバイス、またはコンピュータサービスを含む、他の種類のフィルタも、仮想アドレスバー内の与えられたセグメントに適用することができる。ピアフィルタは、与えられたセグメントの現在のフィルタに論理的に関連付けることも、関連付けないこともできる。仮想アドレスバー内の各セグメントには、ピアフィルタを設定できる。仮想アドレスバー内のセグメントのピアフィルタを選択することを、横方向にナビゲートするともいう。仮想アドレスバー内のセグメントのピアフィルタを選択することについては、図４５Ａ〜４５Ｄに関して、さらに図４９に関して、以下で説明する。
【０１５６】
図４５Ａ〜４５Ｄは、仮想アドレスバー１６００内の仮想アドレスのセグメントに関連付けられたピアフィルタを選択することを説明する絵図である。図４５Ａに示されているように、仮想アドレスバー１６００は、複数のセグメント、セグメント１６０２〜１６０８を含む仮想アドレスを持つ。仮想アドレスバー１６００内の与えられたインタラクティブセグメントに対するピアフィルタを選択するために、ユーザはそのインタラクティブセグメントの択一的選択、または択一的操作を行わなければならない。択一的選択を行う方法の１つは、与えられたセグメント上で右クリックする方法である。右クリックはこの分野では周知であり、マウスまたは他の入力デバイスの二次ボタンを使用することを意味し、二次ボタンは通常、マウスの右側にある。それとは別に、インタラクティブセグメントではカーソルがその上に来たことを監視することができるため、インタラクティブセグメント上にカーソルを置き、所定の時間内カーソルを適所に残す、つまりホバリングすることにより、択一的選択を行うことができる。しかし、本明細書の説明ではピアフィルタを表示させる別の方法について説明しているが、説明を目的としており、本発明を制限するものと解釈すべきではない。当業者であれば、択一的選択を生成する多数の他の方法があることを理解するであろう。
【０１５７】
セグメントの択一的選択を行うことを例示するために、図４５Ａを参照すると、ユーザは、まず、カーソル１６１０を所定の時間の間、セグメント１６０４「Ｄｏｃｕｍｅｎｔ  Ｌｉｂｒａｒｙ」上に置く、つまり、セグメント上でホバリングし、そのセグメントを選択する。図４５Ｂは、仮想アドレスバー１６００内でセグメント１６０４「Ｄｏｃｕｍｅｎｔ  Ｌｉｂｒａｒｙ」を択一的選択した結果を示している。図４５Ｂに示されているように、セグメント１６０４「Ｄｏｃｕｍｅｎｔ  Ｌｉｂｒａｒｙ」を択一的に選択した後、選択されたセグメントに対応するピアフィルタを含むピアフィルタビュー１６１２が表示される。ピアフィルタビュー１６１２に表示されるピアフィルタは説明のみを目的としており、本発明を制限するものとして解釈すべきでないことは理解されるであろう。
【０１５８】
他のピアフィルタを選択するために、図４５Ｃに示されているように、ユーザはカーソル１６１０を、ピアフィルタ１６１４などのピアフィルタビュー１６１２に表示されるフィルタの１つの上に置き、ピアフィルタを選択する。図４５Ｄに示されているように、他のピアフィルタ１６１４を選択した後、すでに選択されているセグメント１６０４（図４５Ａ）は、選択されている他のピアフィルタ１６１４を表す新規セグメント１６１６で置き換えられる。さらに、図４５Ａの仮想アドレスバー１６００内の択一的に選択されたセグメント１６０４に続くセグメント、特に１６０６「Ｊｏｕｒｎａｌｓ」および１６０８「Ａｌｌ  Ｄｏｃｕｍｅｎｔｓ  ｉｎ  ２００２」は、図４５Ｄの仮想アドレスバー１６００から削除される。その結果、図には示されていないが、セグメント１６０４「Ｄｏｃｕｍｅｎｔ  Ｌｉｂｒａｒｙ」、１６０６「Ｊｏｕｒｎａｌｓ」、および１６０８「Ａｌｌ  Ｄｏｃｕｍｅｎｔｓ  Ｉｎ  ２００２」に従ってすでに選択されているファイルまたはコンテンツはもはや対応するファイルビューアでは表示されず、セグメント１６０２「Ｆｉｌｅｓ」および１６１６「Ｐｉｃｔｕｒｅ  Ｌｉｂｒａｒｙ」に従って選択されたファイルまたはコンテンツのみが表示されることになる。
【０１５９】
既存のセグメントの末尾の様々なユーザ対話操作を通じて、セグメントを仮想アドレスバー内の仮想アドレスに追加することができる。フィルタを仮想アドレスバー内の仮想アドレスに追加するために、ユーザは、ウィンドウ内に見つかった特定のフィルタに関連付けられているアクション可能なコントロールを操作するか、または仮想アドレスバーを備えるファイルビューアを操作することができる。例えば、図４３のファイルビューア１４００を参照すると、ユーザはアクション可能コントロール１４１２「２００３」をクリックして、対応するフィルタを仮想アドレスバー１４０２内の仮想アドレス１４０４に追加することができる。それとは別に（図には示されていない）、ユーザは手動で、フィルタの名前を入力することにより仮想アドレスの末尾に知られているフィルタを入力することができる。フィルタを仮想アドレスに追加する様々な他の方法が存在しており、それはすべて、本発明の範囲内にあるものと考えられる。したがって、上記の例は説明を目的としており、本発明を制限するものとして解釈すべきでないことは理解されるであろう。
【０１６０】
フィルタを仮想アドレスバー内の仮想アドレスに追加するときに、新規追加フィルタが仮想アドレスの一部として現在存在しているフィルタと衝突していないことを確認するプロセスが実行される。新規追加フィルタが既存のフィルタと衝突している場合、既存のフィルタは削除される。新規追加フィルタは、既存のフィルタの幅と異なり、既存のフィルタよりも広かったり狭かったりした場合、仮想アドレス内の既存のフィルタと衝突する。さらに、新規追加フィルタは、既存のフィルタと相互排他的である場合、既存のフィルタと衝突する。しかし、既存のフィルタと等価な新規追加フィルタだと、効果がないため、追加されない。上記の記述は説明を目的として与えられており、本発明を制限するものとして解釈すべきでないことは理解されるであろう。当業者であれば、本発明の範囲内にあると考えられるフィルタ間の他の衝突も存在しうることを理解するであろう。
【０１６１】
図４６Ａ〜４６Ｄは、仮想アドレスバー１７００内の仮想アドレス１７０２にフィルタを追加し、衝突している既存のフィルタを削除することを説明する絵図である。図４６Ａは、仮想アドレスバー１７００に表示される仮想アドレス１７０２の例を示している。図４６Ｂに示されているように、セグメント１７０６「２００２」で表される新規フィルタが仮想アドレス１７０２に追加される。すでに説明したように、図４６Ｂの仮想アドレスバー１７００内のセグメントの末尾にセグメント１７０６「２００２」を置くことにより、新規フィルタを仮想アドレスの末尾に追加する。これ以降、セグメント１７０６「２００２」を追加するために実行されるプロセスにより、追加されたフィルタが仮想アドレス１７０２内の現在のフィルタと衝突していないと判断される。したがって、既存のフィルタは、仮想アドレス１７０２から削除されない。
【０１６２】
図４６Ｃに示されているように、セグメント１７０８「Ａｕｔｈｏｒ  Ａ」で表される他のフィルタが仮想アドレス１７０２に追加される。この新規フィルタを追加するために実行されるプロセスにより、新規フィルタ  「Ａｕｔｈｏｒ  Ａ」がセグメント１７０４「Ａｕｔｈｏｒ  Ａ−Ｆ」で表されるフィルタと衝突すると判定されるが、それは、新規フィルタ「Ａｕｔｈｏｒ  Ａ」が既存のフィルタよりも狭いためである。したがって、セグメント１７０４「Ａｕｔｈｏｒ  Ａ−Ｆ」は、仮想アドレスバー１７００から削除され、セグメント１７０８「Ａｕｔｈｏｒ  Ａ」は仮想アドレスバー内のセグメントの末尾に追加される。
【０１６３】
図４６Ｄは、セグメント１７１０「２００３」を図４６Ｃの仮想アドレスバー１７００に追加した結果を示している。仮想アドレス１７０２内のフィルタは制約的であり、累積的ではない。各フィルタは、さらに、選択されたコンテンツを制約する。したがって、相互排他的フィルタであれば、仮想アドレス１７０２でファイルまたはコンテンツを選択できず、したがって、衝突が発生する。図４６Ｄに示されているように、新規追加セグメント１７１０「２００３」と相互排他的であり、衝突があるため、セグメント１７０６「２００２」（図４６Ｃ）は仮想アドレスバー１７００から削除される。
【０１６４】
仮想アドレスバー１８００（図４７Ａ）などの仮想アドレスバーが仮想アドレスバーのサイズが制限されているため、仮想アドレスを完全には表示できない場合、仮想アドレスバーのサイズに応じて仮想アドレスの一部が表示される。しかし、仮想アドレスの未表示部分は、それでも、ユーザからアクセスすることができる。より具体的には、仮想アドレスバーは、仮想アドレスバー内の仮想パスをスクロールするアクション可能な視覚的インジケータを表示する。図４７Ａおよび４７Ｂは、仮想アドレスが仮想アドレスバーの表示能力を超える場合に仮想アドレスを表示する仮想アドレスバー１８００の例を示す。図４７Ａおよび４７Ｂに示されているように、スクロールアイコン１８０２および１８０４は、仮想アドレスの以前には未表示であった部分を表示するために仮想アドレスバー１８００がスクロールできる方向を示す。しかし、説明図はスクロールアイコンの使い方を説明しているが、これは説明のみを目的としており、本発明を制限するものと解釈すべきではない。当業者であれば、仮想アドレスバー内で仮想アドレスをスクロールする他の方法が多数あり、そのすべてが本発明の範囲内にあると考えられることを理解するであろう。
【０１６５】
図４８Ａは、ファイルシステム内の仮想ロケーションと実ロケーションの両方を参照するセグメントを持つ仮想アドレスバー１９００の例を説明するブロック図である。すでに説明したように、仮想アドレスバー１９００内の仮想アドレスは、コンピュータファイルシステム階層内の特定のロケーションを参照するセグメントを含むことができ、またコンピュータファイルシステム内の仮想ロケーションまたは論理ロケーションを参照するセグメントを含むこともできる。仮想セグメントにより参照されるファイルまたはコンテンツは、多くの物理ロケーション間に分散させることができる。仮想アドレスバー１９００は、物理ロケーションを参照するセグメントおよび仮想ロケーションを参照するセグメントを含むことができる。例えば、仮想アドレスバー１９００は、特定のドライブ「Ｃ」のコンピュータファイルシステム内の特定の領域に含まれるファイルまたはコンテンツを参照するセグメント１９０２「Ｌｏｃａｌ  Ｄｉｓｋ  （Ｃ：）」を含む。それとは別に、それ自身のセグメント１９０４「Ｃａｓｅ  Ｆｉｌｅｓ」はケースファイルに関連付けられているコンピュータファイルシステム階層内の複数のフォルダに格納されているファイルまたはコンテンツを参照する。しかし、セグメント１９０２「Ｌｏｃａｌ  Ｄｉｓｋ  （Ｃ：）」と組み合わせると、セグメント１９０４「Ｃａｓｅ  Ｆｉｌｅｓ」は、ローカルドライブ「Ｃ」にあるケースファイルのみを参照する。さらに、セグメント１９０６「ＣｏｎｔａｉｎｓＦａｘ'」により、ローカルディスクＣ：上のファイルのフィルタ処理が行われ、単語「Ｆａｘ」を含むかどうかに応じてケースファイルに関連付けられる。
【０１６６】
図４８Ｂに示されているように、仮想アドレスバー１９００は、従来型のアドレスバーとして機能するように構成することができる。例えば、図４８Ａを参照すると、カーソル１９０８を仮想アドレスバー１９００の空き領域に置き、そこをクリックすることにより、図４８Ｂに示されているように、仮想アドレスバー１９００は仮想アドレスを表すセグメントを表示することから、従来型アドレス１９１０を表示する従来型アドレスバーとして機能することに切り替わる。図４８Ｂの仮想アドレスバー１９００内の従来型アドレス１９１０は、図４８Ａの仮想アドレスバー１９００に表示される仮想アドレスを近似したものである。しかし、コンピュータファイルシステム内の物理ロケーションに対応していない図４８Ａの仮想アドレスバー１９００内のフィルタは、表示することができず、従来型アドレス１９１０から削除される。特に、セグメント１９０４「Ｃａｓｅ  Ｆｉｌｅｓ」およびセグメント１９０６「ＣｏｎｔａｉｎｓＦａｘ'」は従来型アドレス１９１０（図４８Ｂ）の一部ではない。
【０１６７】
従来型のアドレスバーとして機能している仮想アドレスバー１９００を仮想アドレスバーとして通常どおり機能させるように再構成するには、ユーザ側で、バーの空き領域をクリックする以外の方法でそのように指示しなければならない。従来型アドレスバーとして機能するように構成した場合、仮想アドレスバーは、ユーザがアドレスを編集するために空き領域をクリックできるようになっていなければならない。従来型アドレスバーの空き領域をクリックすると、編集カーソルがアドレス／パスの末尾に移動し、編集できるようになる。したがって、上記のように通常どおりに再び機能するように仮想アドレスを再構成するには、ユーザは、ＥｓｃまたはＴａｂキーなどの定義済みキーまたはキーシーケンスを押すか、またはウィンドウまたはビューの別の領域をクリックしてウィンドウまたはビューの別の領域にフォーカスを置くようにしなければならない。当業者であれば、さらに他のユーザアクションを使用して上述のように通常モードで再び機能するように仮想アドレスバー１９００を再構成することもでき、そのすべてが本発明の範囲内にあると考えられることを理解するであろう。
【０１６８】
図４９は、仮想アドレスバーで識別されているセグメントに対しピアフィルタを選択するピアフィルタ選択ルーチン２０００を説明する流れ図である。ルーチン２０００は、ブロック２００２からピアフィルタ選択活動の検出を開始する。ピアフィルタ選択プロセスを起動することについては、図４５Ａ〜４５Ｄに関して上で説明されている。ブロック２００４で、ピアフィルタ選択が要求されたセグメントを識別する。ブロック２００６で、識別されたセグメントに対するピアフィルタをピアフィルタの所定のリストから判別する。ブロック２００８で、ピアフィルタがユーザに対して表示される。ブロック２０１０で、表示されているピアフィルタからユーザのピアフィルタ選択を取得する。ブロック２０１２で、仮想アドレスバーから識別されたセグメントおよびその識別されたセグメントの後にセグメントが追加されていればそのセグメントを削除することにより仮想アドレスを切り詰める。ブロック２０１４で、選択されたピアフィルタを表すセグメントを仮想アドレスバー内の残りのセグメントに付加する。その後、ルーチン２０００は終了する。
【０１６９】
図５０は、仮想アドレスバー内の仮想アドレスにフィルタを加えるフィルタ追加ルーチン２１００の例を説明する流れ図である。ルーチン２１００の例は、ブロック２１０２から始めて、仮想アドレスに追加するフィルタを取得する。例えば、図４３に関して、すでに述べているように、仮想アドレスバーの外部のユーザアクションに従ってフィルタを仮想アドレスに追加するか、またはそれとは別に、定義済みフィルタの名前を入力することにより仮想アドレスバーに直接追加することができる。
【０１７０】
ブロック２１０４で、新規フィルタが仮想アドレス内にすでに存在しているフィルタと衝突しているかどうかの判定が行われる。図４６Ａ〜４６Ｄに関してすでに説明しているように、新規フィルタは、既存のフィルタのスコープをその後狭めたり広くしたりして既存のフィルタと衝突する場合もある。それとは別に、新規フィルタは、既存のフィルタと相互排他的であるため、既存のフィルタと衝突することがある。決定ブロック２１０４で、新規フィルタが既存のフィルタと衝突している場合、ブロック２１０６で、既存のフィルタは仮想アドレスから削除される。それとは別に２１０４で、新規フィルタが既存のフィルタと衝突しない場合、またはブロック２１０６内の既存の衝突しているフィルタを削除した後、ブロック２１０８で、新規フィルタが仮想アドレスの末尾に追加される。その後、ルーチン２１００の例は終了する。
【０１７１】
図５１〜５７は、シェルブラウザ内でのユーザの使い勝手を向上させる本発明の他の態様によるシステムおよび方法に関係する図である。より具体的には、ユーザがそのアイテムに関連付けられているメタデータに基づいてアイテムを比較的簡単に識別することができるシステムおよび方法を実現するということである。
【０１７２】
図５１Ａを参照すると、ウィンドウ２２００は、シェルブラウザのグラフィカルユーザインタフェース用のスクリーンサイズの表示領域を表している。ウィンドウ２２００は、プレビューペイン領域２２０２およびビュー領域２２０４を含む。プレビューペイン２２０２は、プレビューコントロール２２０６、ユーザインタフェース（ＵＩ）、または編集コントロール２２０８、およびタスクコントロール２２１０を備えることができる。通常、プレビューコントロール２２０６では、ユーザはアイテムのイメージまたは他の視覚的表示をプレビューすることができる（例えば、選択されたファイル）。また、プレビューコントロール２２０６では、ユーザはマウスボタンをクリックすることによりフォーカスを一方のアイテムから次のアイテムに移動することができるイテレータボタンなどのコントロールも使用できる。１つまたは複数のアイテムに対応するメタデータおよび／またはアイテムコンテナに対応するメタデータをウィンドウ２２００内の様々な位置に表示することができる。例えば、編集コントロールおよびメタデータを編集コントロール領域２２０８内の同じ場所に配置し、編集コントロール領域にプレビューされるアイテムのキープロパティの表示を含むだけでなく、メタデータの編集を行うためのオプションをユーザに対して表示するようにできる。タスクコントロール２２１０は、名前空間および／または選択に関係するタスクを含む。
【０１７３】
本発明の目的に関して、「メタデータ」および「ユーザ修正可能メタデータ」という用語は、シェルアイテム名を除外する。「シェルアイテム名」という用語は、シェルブラウザ内でアイテムを整列し、表示することを目的として使用されるプロパティを指す。上述のように、本発明の独自の一態様では、ユーザはシェルブラウザ内でメタデータを編集することができる。
【０１７４】
当業者であれば、本発明ではウィンドウ２２００内にオプション機能が存在することを考慮することを理解するであろう。例えば、プレビューコントロール２２０６およびタスクコントロール２２１０は、本発明の目的に関して本質的な機能ではない。さらに、ユーザがプレビューペインを開く／閉じることができるようなイテレータボタンまたは表示／非表示ボタンを含むツールバーなどの図５１Ａに示されていない非本質的な他の機能もまた、本発明の範囲内にある。しかしながら、これらのオプション機能およびその他のオプション機能は、シェルブラウザ内で特定のアイテムを素早く見つけようとするユーザを手助けすることができる。
【０１７５】
ビュー領域２２０４は、ファイルシステムファイルまたはフォルダなどの１つまたは複数のアイテム２２１２のリストビューを表示する。「リストビュー」という用語は、コンテナ内のアイテムの列挙またはリストを意味する。「アイテム」および「シェルアイテム」という用語は、本明細書では交換して使用することができ、ファイル、フォルダ、および他のそのようなコンテナ、およびリストビュー内に表すことができる他の非ファイルオブジェクトを指す。非ファイルオブジェクトの例として、連絡先、お気に入り、電子メールなどがある。「シェルブラウザ」および「ファイルシステムブラウザ」という用語は、本明細書では交換して使用することができ、ファイルおよびその他の非ファイルアイテムを含む様々な名前空間内をユーザがナビゲートするのに使用できるブラウザを指す。
【０１７６】
当業者であれば、本発明ではウィンドウ２２００のデザインおよびレイアウトに関して様々なものが考えられることを理解するであろう。例えば、プレビューペイン２２０２は、図５１Ａ内のビュー領域２２０４の上に表示される。しかし、プレビューペイン２２０２の配置および並べたビュー領域２２０４の配置など、他のレイアウトは、明らかに、本発明の範囲内にある。編集コントロール２２０８のロケーションは、さらに、表示されているメタデータのロケーションに関係なく、また他のコントロールのロケーションにも関係しない。また、詳細、スライドショー、フィルムストリップ、サムネイル、タイル、アイコンなどのリストビュー領域２２０４に示されるアイテムに対し様々なビュータイプが考えられる。
【０１７７】
図５１Ｂは、ビュー領域２２０４がアイテム２２１２を詳細モードで表示するビュー領域２２１４で置き換えられるという点を除き、図５１Ａに似ている。詳細モードで表示されるシェルアイテムについては通常のことであるが、アイテム２２１２は、ビュー領域２２１４の左側にある列で位置を揃えられ、１つまたは複数の列見出し２２１６は、同じ行内に配置されている対応するアイテムに関係するメタデータ２２１８を含む一組の列の最上行を形成する。重要なのは、本発明では、ユーザがウィンドウ２２００内のどこかで１つまたは複数の編集コントロール２２０８をインスタンス化することによりメタデータ値を明示的に他の値に変更できることを考慮しているという点である。例えば、編集コントロールをプレビューペイン２２０２および／またはビュー領域２２１４内に備えることができる。例えば、当初はユーザに表示されない編集コントロールをビュー領域２２１４内に備えることができる。このようなコントロールは、例えば、ユーザがメタデータ２２１８上でホバリングし、その後クリックして、編集モードに入るとインスタンス化するようにできる。
【０１７８】
次に図５２を参照すると、シェルブラウザ内のＷｅｌｃｏｍｅペインの概略図が示されている。Ｗｅｌｃｏｍｅペインは、ときには、「ｎｕｌｌ  ｓｅｌｅｃｔ」ペインとも呼ばれるが、それは、選択とは反対に名前空間またはコンテナを表すからである。ユーザが選択をまだ行っていなかった場合、プレビューペイン２３０２には、フォルダまたはシェルライブラリに関係するメタデータ２３０４およびキータスクが表示される。必要ならば、タスクをいくつかのプレミアタスク（ｐｒｅｍｉｅｒｅｄ  ｔａｓｋｓ）２３０６および他の関連タスク２３０８に分割することができる。Ｗｅｌｃｏｍｅペイン２３００は、さらに、ビュー領域２３１０も含み、そこで複数のファイルまたはその他のアイテム２３１２を表示することができる。Ｗｅｌｃｏｍｅペインメタデータ２３０４は、コンテナ（例えば、ＭｙＰｉｃｔｕｒｅｓ）のプロパティなどの情報を含むことができ、その場合、メタデータ表示は静的である。それとは別に、Ｗｅｌｃｏｍｅペインメタデータ２３０４は、コンテナ内の各アイテムから取り出されるメタデータのサンプリングなどの情報を含むことができ、その場合、メタデータ表示は頻繁に変更できる。例えば、一方のアイテムから次のアイテムまで３０秒おきに順に繰り返すことでメタデータ表示を一度に１つのアイテムのプロパティに制限することができる。
【０１７９】
図５３は、シェルブラウザ内の選択されたペイン２４００の概略図である。Ｗｅｌｃｏｍｅペインとは反対に、選択されたペインはユーザによる選択を表す。ユーザがコンテナまたはフォルダを選択した場合、選択されたペインはそのコンテナまたはフォルダに対するＷｅｌｃｏｍｅペインと同じである必要はない。図５３で、選択されたペイン２４００は、プレビューコントロール２４０４、メタデータ表示２４０６、およびタスク表示２４０８を含むプレビューペイン２４０２を備える。Ｗｅｌｃｏｍｅペイン２３００（図５２）のように、選択されたペイン２４００は、さらに、ビュー領域２４１０も含み、そこで複数のファイルまたはその他のアイテム２４１２を表示することができる。しかし、図５３では、ユーザはファイルのうち１つを選択している。したがって、プレビューコントロール２４０２には、選択されたファイルのプレビューイメージが表示され、メタデータ表示２４０６には、選択されたファイルのプロパティが表示され、タスク表示２４０８には、選択されたファイルを操作するための関連するタスクのメニューが表示される。
【０１８０】
図５４は、本発明の一実施形態によるシェルブラウザ内のメタデータをユーザが修正するために使用できるコンテキストメニュー２５００も含む図５３の選択されたペインの概略図である。図５４のコンテキストメニュー２５００は、選択されたメタデータを変更するためのいくつかのオプションをユーザ用に用意している。メニュー２５００に示されている一般的なテキストは、もちろん、表示されているメタデータを編集できるようにユーザ向けに表示することができるオプションのタイプの一例に過ぎない。コンテキストメニューは、Ｗｅｌｃｏｍｅペインを含む、どのウィンドウにも備えることができるため、ユーザの使い勝手が向上する。当業者であれば、本発明では様々なコンテキストメニューをサポートしており、いくつでも使用できることを理解するであろう。本発明の目的に関して、ユーザがシェルブラウザ内に表示されているメタデータを修正できるようにする手段の１つとして、編集可能メタデータコンテキストメニュー２５００などのコンテキストメニューを備える。ユーザは、例えば、プレビューペイン内の対応するテキストまたはオブジェクトをクリックすることにより、コンテキストメニューを呼び出すことができる。
【０１８１】
当業者であれば、本発明では、シェルブラウザ内に表示されているメタデータにユーザが修正を加えるために使用できるコンテキストメニュー以外の手段を考慮していることを理解するであろう。そのような他の手段としては、ユーザがメタデータをクリックすると編集モードに入るようにする方法がある。それとは対照的に、ユーザはプレビューペイン内の関連するテキストまたはオブジェクト上をホバリングすることにより編集モードに入ることも可能である。様々な代替え手段も利用可能であり、本発明の範囲内にある。
【０１８２】
図５５は、本発明の一実施形態によるシェルブラウザ内のＷｅｌｃｏｍｅペインに表示されるメタデータをユーザが修正するための方法２６００を説明する流れ図である。この方法２６００では、２６０２でＷｅｌｃｏｍｅペインおよびＷｅｌｃｏｍｅペインに関連付けられているメタデータを表示する。その後、２６０４で、ユーザが表示されているデータを修正するためのコントロールを用意する。２６０６でユーザがコントロールを操作して表示されているメタデータを修正する場合、この方法では、２６０８で修正されたメタデータをＷｅｌｃｏｍｅペインに関連付け、Ｗｅｌｃｏｍｅペインが次回表示されたときに修正されたメタデータが表示されるようにする。
【０１８３】
図５６は、本発明の一実施形態によるシェルブラウザ内の選択されたペインに表示されるメタデータをユーザが修正するための方法２７００を説明する流れ図である。この方法２７００では、２７０２において、まず、Ｗｅｌｃｏｍｅペイン内のアイテムまたは選択されたコンテナ内のアイテムなど、多数のアイテムを表示する。ユーザが２７０４で１つまたは複数のアイテムを選択した場合、この方法では、２７０６で選択されたアイテムに関連付けられているメタデータを表示する。この方法は、２７０８で、ユーザが表示されているメタデータを修正するためのコントロールを用意する。２７１０でユーザがコントロールを操作して表示されているメタデータを修正する場合、この方法では、２７１２で修正されたメタデータを選択されたアイテムに関連付け、選択されたアイテムが次回表示されたときに修正されたメタデータが表示されるようにする。
【０１８４】
ユーザが２７０４で複数のアイテムを選択する場合、表示されるメタデータは選択されたアイテムの共通部分プロパティ、プロパティの和集合プロパティ、またはたぶん、選択されたアイテムに関係する新規プロパティを含むことができる。それとは別に、表示されているメタデータは、選択されたアイテムのそれぞれから取り出したメタデータの回転サンプルを含むこともできる（例えば、１つの選択されたアイテムのメタデータから次の選択されたアイテムのメタデータまで３０秒間隔で巡回する）。すべてのアイテムの選択から得られるメタデータの表示はｎｕｌｌ  ｓｅｌｅｃｔから得られるメタデータの表示と同じである可能性がある。
【０１８５】
図５７は、シェルブラウザ内に表示されるアイテムに関連付けられているユーザにより修正可能なメタデータを格納するデータ構造体２８００のブロック図である。データ構造体２８００は、アイテムの名前を示すタイトルフィールド２８０２を含む。非ファイルアイテムの場合、タイトルフィールド２８０２は、リストビュー内でそのアイテムをアルファベット順にするために使用されるプロパティの名前を入れることができる。データ構造体２８００は、表示されているアイテムに関連付けられた１つまたは複数のプロパティを含むユーザ編集可能プロパティフィールド２８０４を含み、ユーザ編集可能プロパティは表示されているアイテムとともにシェルブラウザ内に表示される。データ構造体２８００は、任意選択で、表示されているアイテムに関連付けられ、シェルブラウザ内に表示する価値のある読み取り専用プロパティを含む読み取り専用プロパティフィールド２８０６を含むことができる。シェルブラウザ内に表示されるメタデータのサイズ制限が指定されていると、フィールド２８０４および２８０６内のプロパティの個数が制限される場合がある。したがって、データ構造体２８００は、任意選択により、すべてのプロパティフィールド２８０８を含むことができ、これは、表示されているアイテムに関連付けられたプロパティまたはメタデータのすべてを含むロケーション（例えば、プロパティページ）へのリンクまたはポインタを格納している。もちろん、すべてのプロパティフィールド２８０８は、フィールド２８０４および２８０６が表示されているアイテムに関連付けられているプロパティすべてを含む場合には、必要というわけではない。データ構造体２８００は、ファイルシステムまたシェルなどの１つまたは複数のコンピュータ可読媒体に格納され、様々な記憶装置ビューを表示するため、シェルブラウザ内でのユーザの使い勝手が向上する。
【０１８６】
本発明では、従来のシェルブラウザではできなかった様々なシナリオを利用することができる。第１の例として、学生がプレビューペインを使用して自分のプロジェクトを管理することができる。新規ドキュメントを自分が作業するプロジェクトの一部として取得した場合、自分のドキュメントライブラリ内でドキュメントを選択し、編集コントロールを使用してドキュメントの作成者の名前とプロジェクトの名称をキーワードフィールドに入力することができる。すると、「Documents Grouped by Keyword and Listed by Author」というお気に入りのビュー内に新規ドキュメントが表示される。本発明により使用可能な新規シナリオの第２の例として、従業員が来る広告キャンペーンの資料を探す事例がある。シェルブラウザを使用して自分の雇い主の写真の保管コレクションの中をブラウズするときに、いくつかの画像を選択し、プレビューペインから、新しいキーワード「Ｓｕｍｍｅｒ  ２００３  Ｃａｍｐａｉｇｎ」を追加する。複数選択でメタデータを更新すると、その後、その従業員はキーワードでピボットし、グループに１まとめにされた「Ｓｕｍｍｅｒ  ２００３  Ｃａｍｐａｉｇｎ」ファイルのすべてを表示することができる。本発明にはほかに多数の利点のあることは、当業者であれば容易にわかるであろう。
【０１８７】
図５８〜６６は、複数のアイテムタイプを表す複数のアイテムを表示するように構成されているシェルブラウザ内のオブジェクトプレビューアの機能を拡張するシステムおよび方法に関係する図である。以下で詳しく説明するように、デフォルトのプレビューアおよび拡張メカニズムを備えるシェルブラウザを実現する。デフォルトのプレビューアは、複数のアイテムタイプに対する標準レベルの機能を備える。拡張メカニズムを使用することで、アイテムタイプの１つまたは複数に対しデフォルトのプレビューアが備える標準レベルを超える機能を使用することができる。
【０１８８】
図５８は、他の非画像ファイルおよびフォルダを表示するのに使用されるシェルブラウザ環境内のフォルダに格納されている画像をブラウズするための従来技術のグラフィカルユーザインタフェースの概略図である。上記のように、ＰＣなどのコンピューティング環境内に格納されているアイテムを簡単に識別できるという要求は劇的に高まってきている。デジタル画像に関しては、ユーザは従来どおり、ＰＣ上の特定のファイルを表示するためにサードパーティ製ソフトウェアプログラムを呼び出さなければならなかった。図５８は、従来のソリューション、フィルムストリップビューを示しており、これにより、ユーザはグラフィカルオペレーティング環境内で与えられたファイルに関連付けられたイメージを容易に表示し、識別できる。フィルムストリップビューが目指すのは、ユーザがフォルダ内の１つまたは複数の画像ファイルのサイズ変更可能なイメージをプレビューできるようにする高速な反復プロセスを実現することにより画像のフォルダをブラウズするときに他のソフトウェアプログラムをできるだけ使用しなくて済むようにすることであった。
【０１８９】
図５８は、フォルダに格納されている画像をブラウズするためのシステムに関するものであり、他の非画像ファイルおよびフォルダを表示するために使用される環境（つまり、シェルブラウザ）内で一連のフォルダ画像をサムネイルとして一列に並べて表示する。さらに、ユーザはカーソルでサムネイルを次々に選択してゆくことができ、そのときに、ユーザが選択したサムネイルの拡大されたプレビューイメージが表示される。図５８は、ユーザの画面上の代表的ウィンドウの図である。図からわかるように、ウィンドウ３２００は、ヘッダ領域、タスクオプション領域３２０６、プレビューコントロール領域３２０２、キャプションまたはコメント領域、およびフィルムストリップ領域３２０４を含む複数の領域に分割される。タスクオプション領域３２０６は、ファイルおよびフォルダの管理、さらに他のシステム選択項目に関係する様々なオペレーションを実行するために、ユーザ側で選択できるタスクのリストを含む。これらのオペレーションは一部、フィルムストリップ領域３２０４およびプレビューコントロール３２０２内の画像に固有である。プレビューコントロール領域３２０２は、ユーザが選択した画像のプレビューイメージの拡大が表示される領域である。この領域は、一連の画像をユーザが次々に辿ってゆくのを手助けするナビゲーションアイコンを格納することもできる。プレビューコントロール領域のすぐ下に、様々なテキスト情報の表示に使用することができるキャプションまたはコメント領域がある。フィルムストリップ領域３２０４は、指定されたフォルダ内に格納されている画像ファイルのサムネイルを一列に並べたイメージＰ１、Ｐ２、Ｐ３、Ｐ４を表示する領域を備える。さらに、フィルムストリップ領域３２０４は、さらに、ユーザが画像ファイル用のフォルダ内のスクロールできるようにするカーソルを含む。フィルムストリップ領域３２０４は入り交じった向きのサムネイルイメージを含み、それを表示できることに注意されたい。例えば、図５８に示されているように、Ｐ１、Ｐ２、およびＰ４は横置きで表示されるが、Ｐ３は縦置きで表示される。
【０１９０】
ユーザは、複数のサムネイルイメージのうちのどれか１つを選択することができ、これにより、ユーザサムネイル選択イメージの拡大したプレビューイメージをプレビューコントロール領域内に表示することができる。さらに、サムネイルイメージをユーザ側で選択すると、ユーザは選択されているイメージに関して、タスクオプション領域３２０６内に一覧表示されているタスクの１つを選択して、実行することができる。第１のコントロールボタンを使用すると、ユーザは、１方向に繰り返すことにより、指定されたフォルダ内のサムネイルイメージのそれぞれの拡大されたイメージを連続して簡単にプレビューすることができる。つまり、ユーザは、画像プレビューするために、連続するすべてのサムネイルのそれぞれで特に「クリック」する必要はない。その代わりに、ユーザは単に、第１のコントロールボタンをクリックして、フォルダ内を繰り返し移動するだけである。第２のコントロールボタンは、類似の、ただし反対方向のみの、反復機能を実行する。
【０１９１】
図５９を参照すると、ウィンドウ３３００は、汎用シェルブラウザのグラフィカルユーザインタフェース用のスクリーンサイズの表示領域を表している。ウィンドウ３３００は、プレビューペイン領域３３０２およびビュー領域３３０４を含む。プレビューペイン３３０２は、プレビューコントロール３３０６、編集またはメタデータコントロール３３０８、およびタスクコントロール３３１０を備えることができる。通常、プレビューコントロール３３０６では、ユーザはアイテムのイメージまたは他の視覚的表示をプレビューすることができる（例えば、選択されたファイル）。また、プレビューコントロール３３０６では、ユーザはマウスボタンをクリックすることによりフォーカスを一方のアイテムから次のアイテムに移動することができるイテレータボタンなどのコントロールも使用できる。編集コントロール３３０８は、プレビューされたアイテムのキープロパティの表示を含むだけでなく、ユーザに対し、メタデータに編集を行うためのコントロールも表示する。タスクコントロール３３１０は、名前空間および／または選択に関係するタスクを含む。
【０１９２】
当業者であれば、本発明ではウィンドウ３３００内にオプション機能が存在することを考慮することを理解するであろう。例えば、メタデータコントロール３２０８およびタスクコントロール３２１０は、本発明の目的に関して本質的な機能ではない。さらに、ユーザがプレビューペインを開く／閉じることができるようなイテレータボタンまたは表示／非表示ボタンを含むツールバーなどの図５９に示されていない非本質的な他の機能もまた、本発明の範囲内にある。しかしながら、これらのオプション機能およびその他のオプション機能は、シェルブラウザ内で特定のアイテムを素早く見つけようとするユーザを手助けすることができる。
【０１９３】
ビュー領域３３０４は、ファイルシステムファイルまたはフォルダなどの１つまたは複数のアイテム３３１２のリストビューを表示する。「リストビュー」という用語は、コンテナ内のアイテムの列挙またはリストを意味する。「アイテム」および「シェルアイテム」という用語は、本明細書では交換して使用することができ、ファイル、フォルダ、および他のそのようなコンテナ、およびリストビュー内に表すことができる他の非ファイルオブジェクトを指す。同様に、「シェルアイテム」は、シェルライブラリ内のアイテムを指す。非ファイルオブジェクトの例として、連絡先、お気に入り、電子メールなどがあるが、これらに限られない。「シェルブラウザ」および「ファイルシステムブラウザ」という用語は、本明細書では交換して使用することができ、ファイルおよびその他の非ファイルアイテムを含む様々な名前空間内をユーザがナビゲートするのに使用できるブラウザを指す。
【０１９４】
当業者であれば、本発明ではウィンドウ３３００のデザインおよびレイアウトに関して様々なものが考えられることを理解するであろう。例えば、プレビューペイン３３０２は、図５９内のビュー領域３３０４の上に表示される。しかし、プレビューペイン３３０２の配置および並べたビュー領域３３０４の配置など、他のレイアウトは、明らかに、本発明の範囲内にある。また、詳細、スライドショー、フィルムストリップ、サムネイル、タイル、アイコンなどのビュー領域３３０４に示されるアイテムに対し様々なビューが考えられる。
【０１９５】
次に図６０を参照すると、シェルブラウザ内のＷｅｌｃｏｍｅペイン３４００の概略図が示されている。Ｗｅｌｃｏｍｅペインは、ときには、「ｎｕｌｌ  ｓｅｌｅｃｔ」ペインとも呼ばれるが、それは、選択とは反対に名前空間またはコンテナを表すからである。ユーザが選択をまだ行っていなかった場合、プレビューペイン３４０２には、フォルダまたはシェルライブラリに関係するメタデータ３４０４およびキータスクが表示される。必要ならば、タスクをいくつかのプレミアタスク３４０６および他の関連タスク３４０８に分割することができる。Ｗｅｌｃｏｍｅペイン３４００は、さらに、ビュー領域３４１０も含み、そこで複数のファイルまたはその他のアイテム３４１２を表示することができる。Ｗｅｌｃｏｍｅペインメタデータ３４０４は、コンテナ（例えば、ＭｙＰｉｃｔｕｒｅｓ）のプロパティなどの情報を含むことができ、その場合、メタデータ表示は静的である。それとは別に、Ｗｅｌｃｏｍｅペインメタデータ３４０４は、コンテナ内の各アイテムから取り出されるメタデータのサンプリングなどの情報を含むことができ、その場合、メタデータ表示は頻繁に変更できる。例えば、一方のアイテムから次のアイテムまで３０秒おきに順に繰り返すことでメタデータ表示を一度に１つのアイテムのプロパティに制限することができる。
【０１９６】
図６１は、シェルブラウザ内の選択されたペイン３５００の概略図である。Ｗｅｌｃｏｍｅペインとは反対に、選択されたペインはユーザによる選択を表す。ユーザがコンテナまたはフォルダを選択した場合、選択されたペインはそのコンテナまたはフォルダに対するＷｅｌｃｏｍｅペインと同じである必要はない。図６１で、選択されたペイン３５００は、プレビューコントロール３５０４、メタデータ表示３５０６、およびタスク表示３５０８を含むプレビューペイン３５０２を備える。Ｗｅｌｃｏｍｅペイン３４００（図６０）のように、選択されたペイン３５００は、さらに、ビュー領域３５１０も含み、そこで複数のファイルまたはその他のアイテム３５１２を表示することができる。しかし、図６１では、ユーザはファイルのうち１つを選択している。したがって、プレビューコントロール３５０４には、選択されたファイルのプレビューイメージが表示され、メタデータ表示３５０６には、選択されたファイルのプロパティが表示され、タスク表示３５０８には、選択されたファイルを操作するための関連するタスクのメニューが表示される。
【０１９７】
図６２は、図６１の選択されたペイン３５００に類似するが、ただし本発明の一実施形態による拡張コントロールを備える、選択されたペインの概略図である。選択されたペイン３６００は、拡張コントロール３６１４、メタデータ表示３６０６、およびタスク表示３６０８を備えるプレビューコントロール３６０４を含むプレビューペイン３６０２を備える。選択されたペイン３６００は、さらに、ビュー領域３６１０も含み、そこで複数のファイルまたはその他のアイテム３６１２を表示することができる。ユーザは、複数のファイル３６１２のうちの１つを選択しており、したがってプレビューコントロール３６０４には、選択されたファイルのプレビューイメージが表示され、メタデータ表示３６０６には、選択されたファイルのプロパティが表示され、タスク表示３６０８には、選択されたファイルを操作するための関連するタスクのメニューが表示される。
【０１９８】
拡張コントロール３６１４は、標準でシェルブラウザから使用可能な機能を超えるレベルの機能を表している。例えば、図５８および６１に示されているような、デフォルトのプレビューペインまたはプレビューコントロールは、選択されたアイテムのプレビューイメージを単に表示するだけである。アイテムが文書処理ドキュメントまたはスライドプレゼンテーションの場合、デフォルトのプレビューイメージはドキュメントまたはスライドデッキの第１ページとすることができる。しかし、プレビューイメージの機能を拡張し対話操作性を高めたため、ユーザは拡張コントロール３６１４をきわめて簡単に操作することができ、ドキュメントまたはスライドプレゼンテーションを１ページずつ見てゆくことができる。こうして機能レベルを高めたことで、ユーザはプレビューアイテムを開かずにより包括的にブラウズでき、また特に第１ページだけでは簡単には識別できないファイルに対して特に有用であるため、使い勝手が向上している。
【０１９９】
拡張コントロール３６１４を、シェルブラウザ内の代替えプレビューアの一部としてユーザから利用できるようにすることが可能である。「プレビューア」という用語は、プレビューコントロールまたはプレビューコントロールを含むプレビューペインを意味する場合がある。本発明では、複数のアイテムタイプに対する標準レベルの機能を備えるデフォルトのプレビューアおよび使い勝手を高めるため特定のアイテムタイプに対する異なるレベルの機能を備える１つまたは複数の代替えプレビューアをユーザのために備えているシェルブラウザを考察している。独立系ソフト開発会社（ＩＳＶ）および他のサードパーティ開発者に代替えプレビューアの開発を公開し、ファイルの関連する側面を認識しやすい形で見られるようにすることにより、ファイルブラウズの利用の価値が高まる。本発明では、以下に限定されないが、イメージファイル、ビデオファイル、連絡先、ゲーム、スキャナ、ビデオカメラ、ドキュメントファイル、スプレッドシートファイル、スライドプレゼンテーションファイル、図面ファイル、およびタブレットインクファイルなどの様々なファイルタイプおよび非ファイルアイテムタイプ用のカスタムプレビューアを考察している。
【０２００】
本発明では、一部上で説明した、従来のシェルブラウザではできなかった様々なシナリオを利用することができる。サードパーティは、ファイルタイプの中身を見られる、またユーザが理解する意味のあるイメージを供給できるコードを提供することによりそのファイルタイプについて説明とデモを行うことができる。例えば、Ａｐｐｌｅでは、ユーザがシェルブラウザでＱｕｉｃｋＴｉｍｅ（商標）ファイルを選択したときに表示されるＱｕｉｃｋＴｉｍｅ（商標）プレビューコントロールを実装することが可能である。このプレビューコントロールにより、ＱｕｉｃｋＴｉｍｅ（商標）動画の最初の５秒間の表示および／またはユーザがＱｕｉｃｋＴｉｍｅ（商標）プレーヤーを起動するためのボタンおよびコントロールの提供などの機能を含む、オペレーティングシステムのシェルによるデフォルトのプレビューアを超える代替えレベルまたは拡張レベルの機能を実現することが可能である。音楽ファイル用の代替えプレビューアも、類似の拡張機能を備えることができる。当業者であれば、代替えプレビューアの拡張機能の可能性には制限のないことを理解するであろう。
【０２０１】
図６３は、本発明の一実施形態によるシェルブラウザ内のメタデータをユーザが修正するために使用できるコンテキストメニュー３７１４も含む図６１の選択されたペインの概略図である。選択されたペイン３７００は、プレビューコントロール３７０４、メタデータ表示３７０６、およびタスク表示３７０８を含むプレビューペイン３７０２を備える。選択されたペイン３７００は、さらに、ビュー領域３７１０も含み、そこで複数のファイルまたはその他のアイテム３７１２を表示することができる。当業者であれば、本発明の目的に関して、メタデータコントロール３７０６およびタスクコントロール３７０８は本質的な機能ではないことを理解するであろう。本発明では、これらのオプション機能および／またはその他のオプション機能が存在すると、ユーザがシェルブラウザ内で特定のアイテムを素早く見つける、あるいは他の何らかの形で使い勝手を高める手助けとなると考えている。
【０２０２】
図６３のコンテキストメニュー３７１４には、選択されたアイテムに対してデフォルトのプレビューアまたは代替えプレビューアのいずれかを選択するなどのユーザへの複数のオプションが表示される。メニュー３７１４に示されている一般的なテキストは、もちろん、プレビューアを選択するユーザ向けに表示できるタイプのオプションの一例に過ぎない。コンテキストメニューは、Ｗｅｌｃｏｍｅペインを含む、どのウィンドウにも備えることができるため、ユーザの使い勝手が向上する。当業者であれば、本発明では様々なコンテキストメニューをサポートしており、いくつでも使用できることを理解するであろう。本発明の目的のために、ユーザがシェルブラウザ内のプレビューアを選択できるようにする手段の１つとして、コンテキストメニュー３７１４などのコンテキストメニューを備える。ユーザは、例えば、プレビューペイン内の対応するテキストまたはオブジェクトをクリックすることにより、コンテキストメニューを呼び出すことができる。
【０２０３】
当業者であれば、本発明ではシェルブラウザ内の利用可能な複数のプレビューアから表示されているアイテム用のプレビューアを選択するコンテキストメニュー以外の手段を考慮していることを理解するであろう。そのような他の手段としては、ユーザがプレビューコントロールをクリックして選択モードに入る方法がある。同様に、プレビューペイン内で右クリックすることによりプレビューアを選択するようユーザに要求することもできる。それとは対照的に、ユーザはプレビューペイン内の関連するテキストまたは関連するオブジェクト上をホバリングすることにより選択モードに入ることも可能である。様々な代替え手段も利用可能であり、本発明の範囲内にある。
【０２０４】
図６４Ａは、本発明の一実施形態による複数のアイテムタイプをサポートするシェルブラウザ内のプレビューアをユーザが選択するための方法３８００を説明する流れ図である。方法３８００では、３８０２でシェルブラウザ内に複数のプレビューアを用意する。複数のプレビューアは、複数のアイテムタイプに対応するデフォルトのプレビューアと特定のアイテムタイプに対応する１つまたは複数の代替えプレビューアを含むことができる。これら代替えプレビューアは、サードパーティによって開発されたインストール済みアプリケーションを含むことができる。３８０４で、方法３８００により、特定のアイテムタイプに対応する２つまたはそれ以上のプレビューアの選択項目がユーザに対し表示される。プレビューアの選択を求めるプロンプトは、シェルブラウザ（例えば、新規アイテムタイプを表示した後）および／またはユーザ（例えば、オブジェクトをクリックしてコンテキストメニューを表示する）により起動することができる。特定のアイテムタイプに対応するプレビューアの１つの選択を指示する入力を３８０６でユーザから受け取った後、方法３８００により、３８０８で、選択されたプレビューアが特定のアイテムタイプに関連付けられる。選択されたプレビューアは、ユーザが別の１つを選択するまで使用中のままとなる。しかし、選択されたプレビューアがインストール済みのアプリケーションであれば、アプリケーションをアンインストールすることでも、選択されたプレビューアの使用は終了する。
【０２０５】
図６４Ｂは、本発明の一実施形態による複数のアイテムタイプをサポートするシェルブラウザ内のプレビューアを自動的に選択するための方法３８１０を説明する流れ図である。方法３８１０では、３８１２でシェルブラウザ内に複数のプレビューアを用意する。複数のプレビューアは、複数のアイテムタイプに対応するデフォルトのプレビューアと特定のアイテムタイプに対応する１つまたは複数の代替えプレビューアを含むことができる。これら代替えプレビューアは、サードパーティによって開発されたインストール済みアプリケーションを含むことができる。
【０２０６】
３８１４で、システムは（ユーザとは反対に）、特定のアイテムタイプに対応する２つまたはそれ以上の使用可能なプレビューアからデフォルトのプレビューアを自動的にかつ透過的に選択する。またシステムは、新規アイテムの表示または代替えプレビューアの存在などのイベントに対する応答としてプレビューアを選択することができる。システムは、論理的規則に基づいてデフォルトのプレビューアを選択するように構成されている。例外的状況では、システムは、３８１６で、それらの規則を指定変更し、適用可能な規則に従って選択されていないプレビューアを選択することができる。例えば、現在のデフォルトのプレビューアで新規利用可能なプレビューアを選択するのが規則である場合、インストール済みアプリケーションは、一般的に、デフォルトのプレビューアをインストール済みアプリケーションから現在利用可能なプレビューアに変更する権限を持つことができる。しかし、例えば、シェルブラウザは、新規インストール済みアプリケーションにより提案されている変更を指定変更する権利を留保することができる。例えば、新規インストール済みアプリケーションを注目しているアイテムタイプの適切な所有者として認証できない場合に指定変更が適切であると思われる。
【０２０７】
いかなる場合も、そこで、方法３８１０により、３８１８において、選択されたプレビューアが特定のアイテムタイプに関連付けられる。選択されたプレビューアは、別の１つを選択するまで使用中のままとなる。しかし、選択されたプレビューアがインストール済みのアプリケーションであれば、アプリケーションをアンインストールすることでも、選択されたプレビューアの使用は終了する。
【０２０８】
図６５を参照すると、流れ図で、本発明の一実施形態による複数のアイテムタイプをサポートするシェルブラウザ内のサードパーティのプレビューアを使用でききるようにする方法３９００が説明されている。方法３９００は、３９０２で複数のアイテムタイプに対するデフォルトのプレビューアを持つシェルブラウザを備えることを含む。この方法３９００は、さらに、３９０４で複数のアイテムタイプのうちの少なくとも１つに対して代替えプレビューアのサードパーティによる開発を進めるための拡張メカニズムを実現することを含む。代替えプレビューアは、３９０６で、シェルブラウザに登録することができる。インストール済みアプリケーションの場合、登録は実質的にインストール時に実行できる。例えば、ＯＥＭでアプリケーションがインストールされる場合、ユーザがコンピュータを購入する前に代替えプレビューアを登録することができる。それとは別に、ユーザがローカルでまたはリモートからアプリケーションをインストールすることもできる。
【０２０９】
３９０４において上で参照している拡張メカニズムに対して数多くのアプローチが考えられる。そのようなアプローチの１つとして、一組のアプリケーションプログラムインタフェース（ＡＰＩ）を公開し、独立系ソフト開発会社（ＩＳＶ）および他のサードパーティ開発者が代替えプレビューアを開発できるようにするやり方がある。ＡＰＩアプローチでは、ＩＳＶがプレビューコントロールをＩＳＶの所有するアイテムタイプに関連付けることができる登録メカニズムが存在する。そのタイプのアイテムまたはファイルがシェルブラウザで選択されると、ＩＳＶのプレビューコントロールが、この登録メカニズムと拡張ＡＰＩを介してインスタンス化される。ＡＰＩでは、データ、つまりビュー内の選択されているアイテムを表すデータとビュー内のアイテムの親コンテナを表すデータをプレビューコントロールに送る。プレビューコントロールは、このデータを操作し、シェルブラウザで与えられるＡＰＩを通じてユーザインタフェースを供給する。ユーザは、シェルブラウザによってプレビューコントロールに渡されるキーストロークとマウスイベントにより入力を行うことができ、このコントロールでそれらのユーザ入力イベントを操作することができる。
【０２１０】
当業者であれば、本発明の拡張メカニズムを使用する状況において様々なアプローチが考えられることを理解するであろう。ＡＰＩアプローチに加えて、ユーザ構成、ＨＴＭＬ（Hyper Text Markup Language）へのポインタ、またはフラッシュのホスティングを介して同様の機能を実現することができる。さらに、拡張モデルでは、選択されたアイテムタイプを所有するただ１つのアプリケーションがただ１つの代替えプレビューアを備えることが要求される場合がある。つまり、使用可能なプレビューアの数をデフォルトのプレビューア１つと代替えプレビューア１つに限り、複数の登録済みの拡張プレビューアが互いに競合して使い勝手が悪くなるのを避けるようにできる。しかし、他のモデルでは、選択されたアイテムタイプを処理できるアプリケーションはプレビューアをさらに１つ追加できる。代替えモデルでは、実行コードにより任意のアイテムタイプに対してプレビューアをさらに１つ追加できる。また、状況によっては、デフォルトのプレビューアを置き換えたり削除したりするのが望ましい場合もある。他の多くのモデルが可能であり、本発明では考慮している。
【０２１１】
図６６は、１つまたは複数のコンピュータ可読媒体に格納され、シェルブラウザ内の複数のプレビューアを示す情報を含むデータ構造体４０００のブロック図である。データ構造体４０００は、デフォルトのプレビューアフィールド４００２を含み、複数のアイテムタイプをサポートするデフォルトのプレビューアを示す情報が格納される。代替えプレビューアフィールド４００４は、第１のアイテムタイプに対する代替えプレビューアを示す情報を格納する。他の代替えプレビューアフィールド４００６は、第１のアイテムタイプに対する第２の代替えプレビューアを示す情報を格納するか、または第２のアイテムタイプに対する代替えプレビューアを示す情報を格納することができる。当業者であれば、場合によっては、代替えプレビューアフィールドが１つしかなく、また場合によっては、２つまたはそれ以上の代替えプレビューアフィールドがある場合もある。選択されたプレビューアフィールド４００８は、特定のアイテムタイプのアイテムがシェルブラウザに表示される場合に、デフォルトのプレビューアを呼び出すか、代替えプレビューアを呼び出すかを示す情報を格納する。フィールド４００６に第２のアイテムタイプに対する代替えプレビューアを示す情報が格納されている場合、選択されたプレビューアフィールド４０１０は、第２のアイテムタイプの１つまたは複数のアイテムがシェルブラウザに表示されるときにデフォルトのプレビューアを呼び出すのか、それとも代替えプレビューアを呼び出すのかを示す情報を格納できる。フィールド４００２、４００４、および／または４００６に格納されている情報に、ユーザがそのタイプのオブジェクトを選択した場合に実行するように構成されているプレビューコードを格納することができる。
【０２１２】
本発明の好適実施形態について例示し、説明したが、本発明の趣旨と範囲を逸脱することなく様々な変更を加えられることは理解されるであろう。例えば、本明細書で示した様々なＵＩ機能のロケーションは説明を目的としており、変更できること、また様々なＵＩ機能の異なる配置は本発明の趣旨と範囲に含まれることも理解されるであろう。さらに、本明細書で説明した本発明の様々な態様は、様々な組合せで、さらに本発明の趣旨と範囲を逸脱することなく、形成できる。
【０２１３】
独占的権利または特権を主張する本発明の実施形態は、特許請求の範囲で定められる。
【図面の簡単な説明】
【０２１４】
【図１】本発明を実装する好適な汎用コンピュータシステムのブロック図である。
【図２】本発明による仮想フォルダシステムのブロック図である。
【図３】ユーザが選択されたファイルおよびフォルダを引き戻すクエリを供給するルーチンを説明する流れ図である。
【図４】デフォルトのクエリまたはユーザからのクエリのいずれかにより仮想フォルダを構築し、画面上に表示するルーチンを説明する流れ図である。
【図５】ハードドライブ上の物理フォルダ配置によるフォルダ構造のツリー図である。
【図６】仮想フォルダ構造のツリー図である。
【図７】クライアントスタックをさらに「Ｃｏｎｔｒａｃｔｓ」と「Ｙｅａｒ」でフィルタ処理する、図６の仮想フォルダ構造のツリー図である。
【図８】クライアントスタックの「Ｃｏｎｔｒａｃｔｓ」をさらに「Ｙｅａｒ」でフィルタ処理する、図７の仮想フォルダ構造のツリー図である。
【図９】コントラクトスタックをさらに「Ｃｌｉｅｎｔｓ」と「Ｙｅａｒ」でフィルタ処理し、「Ｃｌｉｅｎｔｓ」を「Ｙｅａｒ」でさらにフィルタ処理する、図６の仮想フォルダ構造のツリー図である。
【図１０】ドキュメントライブラリのスタックを示す画面表示を説明する図である。
【図１１】図１０のＡＢＣ  Ｃｏｒｐ．スタック内のドキュメントを示す画面表示を説明する図である。
【図１２】図１１のドキュメントについてスタック機能が選択されている画面表示を説明する図である。
【図１３】図１２のスタック機能について「ｓｔａｃｋ  ｂｙ  ａｕｔｈｏｒ」パラメータが選択されている画面表示を説明する図である。
【図１４】図１３のファイルが「ａｕｔｈｏｒ」によりスタックされている画面表示を説明する図である。
【図１５】スタック機能が選択され、「ｓｔａｃｋ  ｂｙ  ｃａｔｅｇｏｒｙ」オプションがさらに図１４のファイルの再スタックについて選択されている画面表示を説明する図である。
【図１６】図１４のファイルが「ｃａｔｅｇｏｒｙ」により再スタックされている画面表示を説明する図である。
【図１７】物理フォルダを表示するクイックリンクが選択されている画面表示を説明する図である。
【図１８】図１７の仮想フォルダスタックのファイルを格納する物理フォルダが表示されている画面表示を説明する図である。
【図１９】ユーザが直接仮想フォルダを操作できるルーチンを説明する流れ図である。
【図２０】図１０のスタックに新規「Ｗｅｓｔ  Ｃｏａｓｔ」スタックが追加された画面表示を説明する図である。
【図２１】「ＡＢＣ  Ｃｏｒｐ．」スタックから図２０の「Ｗｅｓｔ  Ｃｏａｓｔ」スタックにファイルをコピーするために直接操作が使用される画面表示を説明する図である。
【図２２】システム側で新規フィルタ条件を動的に生成するためのルーチンを説明する流れ図である。
【図２３】システム側でフィルタ条件の選択に基づいてアイテムをフィルタ処理するためのルーチンを説明する流れ図である。
【図２４】図１０のスタックが条件「ＡＢ」によりフィルタ処理された画面表示を説明する図である。
【図２５】図１０のスタックが条件「ＡＢＣ」によりフィルタ処理された画面表示を説明する図である。
【図２６】図１０のスタックについてフィルタ条件「ｙｅａｒ  ２００２」が選択されている画面表示を説明する図である。
【図２７】図１０のスタックが「ｙｅａｒ  ２００２」とフィルタ条件「ｍｏｎｔｈ」の他の選択によりフィルタ処理された画面表示を説明する図である。
【図２８】フィルタ処理に対し月を選択するためリストが表示されている画面表示を説明する図である。
【図２９】図１０のスタックが「Ｊａｎｕａｒｙ」という月でさらにフィルタ処理された、「ｄａｙ」というフィルタ条件をさらに示す、画面表示を説明する図である。
【図３０】クイックリンクを新規作成するルーチンを説明する流れ図である。
【図３１】図２９のフィルタ処理に基づき「Ｊａｎｕａｒｙ  Ｗｏｒｋ」という新規クイックリンクを作成する画面表示を説明する図である。
【図３２】「Ａｌｌ  Ａｕｔｈｏｒｓ」というクイックリンクが選択されている画面表示を説明する図である。
【図３３】図３２のすべての作成者のリストが表示される画面表示を説明する図である。
【図３４】「Ａｕｔｈｏｒ  １」が図３３のリストから選択されており、「Ａｕｔｈｏｒ  １」のすべてのドキュメントが表示される画面表示を説明する図である。
【図３５】ライブラリを新規作成するルーチンを説明する流れ図である。
【図３６】様々な利用可能なライブラリのコレクションが表示される画面表示を説明する図である。
【図３７】仮想フォルダコレクションのスコープを定義するルーチンを説明する流れ図である。
【図３８】仮想フォルダコレクションのスコープを形成できる様々なソースを説明するブロック図である。
【図３９】仮想フォルダコレクションに非ファイルアイテムを入れるルーチンを説明する流れ図である。
【図４０】仮想フォルダに格納される様々な非ファイルアイテムを表示する画面表示を説明する図である。
【図４１】本発明を実装するのに好適なネットワークで接続されたコンピュータ環境例を示す絵図である。
【図４２】従来技術に見られるような、コンピュータファイルシステムでファイルを表示することと関連する従来型のアドレスバーを備えるファイルビューア例を説明する絵図である。
【図４３】本発明により形成された仮想アドレスバーに仮想アドレスによるコンピュータファイルシステム内のファイルを表示するためのファイルビューア例を説明する絵図である。
【図４４Ａ】ファイルシステム内でナビゲートするための仮想アドレスバーで仮想アドレスのセグメントを選択することを説明する図５のファイルビューア例の絵図である。
【図４４Ｂ】仮想アドレスバーで仮想アドレスのセグメントを選択した結果を説明する図４５Ａのファイルビューア例の絵図である。
【図４５Ａ】仮想アドレスバー内の仮想アドレスのセグメントに関連付けられたピアフィルタを選択することを説明する絵図である。
【図４５Ｂ】仮想アドレスバー内の仮想アドレスのセグメントに関連付けられたピアフィルタを選択することを説明する絵図である。
【図４５Ｃ】仮想アドレスバー内の仮想アドレスのセグメントに関連付けられたピアフィルタを選択することを説明する絵図である。
【図４５Ｄ】仮想アドレスバー内の仮想アドレスのセグメントに関連付けられたピアフィルタを選択することを説明する絵図である。
【図４６Ａ】仮想アドレスバー内の仮想アドレスにさらにフィルタを追加することを説明する絵図である。
【図４６Ｂ】仮想アドレスバー内の仮想アドレスにさらにフィルタを追加することを説明する絵図である。
【図４６Ｃ】仮想アドレスバー内の仮想アドレスにさらにフィルタを追加することを説明する絵図である。
【図４６Ｄ】仮想アドレスバー内の仮想アドレスにさらにフィルタを追加することを説明する絵図である。
【図４７Ａ】仮想アドレスが仮想アドレスバーの表示能力を超える場合に仮想アドレスを表示する仮想アドレスバーの例を説明する絵図である。
【図４７Ｂ】仮想アドレスが仮想アドレスバーの表示能力を超える場合に仮想アドレスを表示する仮想アドレスバーの例を説明する絵図である。
【図４８Ａ】ファイルシステム内の仮想ロケーションと実ロケーションの両方を参照するフィルタとともに仮想アドレスを持つ仮想アドレスバーの例を説明する絵図である。
【図４８Ｂ】従来型のアドレスバーを表示するように構成されている図４８Ａの仮想アドレスバーの例を説明する絵図である。
【図４９】仮想アドレスバーで代わりのフィルタを選択する代替えフィルタ選択ルーチンを説明する流れ図である。
【図５０】仮想アドレスバー内の仮想アドレスにフィルタを加えるフィルタ追加ルーチンの例を説明する流れ図である。
【図５１Ａ】本発明の一実施形態による編集コントロールを備えるシェルブラウザ用のグラフィカルユーザインタフェース例のブロック図である。
【図５１Ｂ】本発明の一実施形態による１つまたは複数の編集コントロールを備えるシェルブラウザ用のグラフィカルユーザインタフェース例のブロック図である。
【図５２】シェルブラウザ内のＷｅｌｃｏｍｅペインの概略図である。
【図５３】シェルブラウザ内の選択されたペインの概略図である。
【図５４】本発明の一実施形態によるシェルブラウザ内のメタデータをユーザが修正するために使用できるコンテキストメニューを含む図５３の選択されたペインの概略図である。
【図５５】本発明の一実施形態によるシェルブラウザ内のＷｅｌｃｏｍｅペインに表示されるメタデータをユーザが修正するための方法を説明する流れ図である。
【図５６】本発明の一実施形態によるシェルブラウザ内の選択されたペインに表示されるメタデータをユーザが修正するための方法を説明する流れ図である。
【図５７】シェルブラウザ内に表示されるアイテムに関連付けられているユーザにより修正可能なメタデータを格納するデータ構造体のブロック図である。
【図５８】他の非画像ファイルおよびフォルダを表示するのに使用されるシェルブラウザ環境内のフォルダに格納されている画像をブラウズするための従来技術のグラフィカルユーザインタフェースの概略図である。
【図５９】シェルブラウザ用のグラフィカルユーザインタフェース例のブロック図である。
【図６０】シェルブラウザ内のＷｅｌｃｏｍｅペインの概略図である。
【図６１】シェルブラウザ内の選択されたペインの概略図である。
【図６２】本発明の一実施形態による拡張コントロールを備えるシェルブラウザ内の選択されたペインの概略図である。
【図６３】本発明の一実施形態によるシェルブラウザ内のプレビューアをユーザが選択するために使用できるコンテキストメニューを含む図６１と類似の選択されたペインの概略図である。
【図６４Ａ】本発明の一実施形態によるシェルブラウザ内のプレビューアをユーザが選択するための方法を説明する流れ図である。
【図６４Ｂ】本発明の一実施形態によるシェルブラウザ内のプレビューアをシステム側で選択するための方法を説明する流れ図である。
【図６５】本発明の一実施形態によるシェルブラウザ内のサードパーティ製プレビューアを使用できる方法を説明する流れ図である。
【図６６】シェルブラウザ内の複数のプレビューアを示す情報を格納するデータ構造体のブロック図である。
【図１】
2006526182.tif 000003
【図２】
2006526182.tif 000004
【図３】
2006526182.tif 000005
【図４】
2006526182.tif 000006
【図５】
2006526182.tif 000007
【図６】
2006526182.tif 000008
【図７】
2006526182.tif 000009
【図８】
2006526182.tif 000010
【図９】
2006526182.tif 000011
【図１０】
2006526182.tif 000012
【図１１】
2006526182.tif 000013
【図１２】
2006526182.tif 000014
【図１３】
2006526182.tif 000015
【図１４】
2006526182.tif 000016
【図１５】
2006526182.tif 000017
【図１６】
2006526182.tif 000018
【図１７】
2006526182.tif 000019
【図１８】
2006526182.tif 000020
【図１９】
2006526182.tif 000021
【図２０】
2006526182.tif 000022
【図２１】
2006526182.tif 000023
【図２２】
2006526182.tif 000024
【図２３】
2006526182.tif 000025
【図２４】
2006526182.tif 000026
【図２５】
2006526182.tif 000027
【図２６】
2006526182.tif 000028
【図２７】
2006526182.tif 000029
【図２８】
2006526182.tif 000030
【図２９】
2006526182.tif 000031
【図３０】
2006526182.tif 000032
【図３１】
2006526182.tif 000033
【図３２】
2006526182.tif 000034
【図３３】
2006526182.tif 000035
【図３４】
2006526182.tif 000036
【図３５】
2006526182.tif 000037
【図３６】
2006526182.tif 000038
【図３７】
2006526182.tif 000039
【図３８】
2006526182.tif 000040
【図３９】
2006526182.tif 000041
【図４０】
2006526182.tif 000042
【図４１】
2006526182.tif 000043
【図４２】
2006526182.tif 000044
【図４３】
2006526182.tif 000045
【図４４Ａ】
2006526182.tif 000046
【図４４Ｂ】
2006526182.tif 000047
【図４５Ａ】
2006526182.tif 000048
【図４５Ｂ】
2006526182.tif 000049
【図４５Ｃ】
2006526182.tif 000050
【図４５Ｄ】
2006526182.tif 000051
【図４６Ａ】
2006526182.tif 000052
【図４６Ｂ】
2006526182.tif 000053
【図４６Ｃ】
2006526182.tif 000054
【図４６Ｄ】
2006526182.tif 000055
【図４７Ａ】
2006526182.tif 000056
【図４７Ｂ】
2006526182.tif 000057
【図４８Ａ】
2006526182.tif 000058
【図４８Ｂ】
2006526182.tif 000059
【図４９】
2006526182.tif 000060
【図５０】
2006526182.tif 000061
【図５１Ａ】
2006526182.tif 000062
【図５１Ｂ】
2006526182.tif 000063
【図５２】
2006526182.tif 000064
【図５３】
2006526182.tif 000065
【図５４】
2006526182.tif 000066
【図５５】
2006526182.tif 000067
【図５６】
2006526182.tif 000068
【図５７】
2006526182.tif 000069
【図５８】
2006526182.tif 000070
【図５９】
2006526182.tif 000071
【図６０】
2006526182.tif 000072
【図６１】
2006526182.tif 000073
【図６２】
2006526182.tif 000074
【図６３】
2006526182.tif 000075
【図６４Ａ】
2006526182.tif 000076
【図６４Ｂ】
2006526182.tif 000077
【図６５】
2006526182.tif 000078
【図６６】
2006526182.tif 000079
【国際調査報告】
2006526182.tif 000080
2006526182.tif 000081
2006526182.tif 000082