(57)【要約】  名前空間におけるアプリケーションデータとユーザデータとを区別するための方法及びデータ構造。データ構造は、旧アプリケーションをサポートする間、開発者又はユーザに対して直感的プロファイルレイアウトを提供する。名前空間は、識別されたパブリックフォルダ及び／又はユーザプロファイルに含まれる情報への、ネットワーク経由での開発者又はユーザによるアクセスを許可する階層構造を利用する。
2008535082.tif 000002
【特許請求の範囲】
【請求項１】
名前空間におけるアプリケーションデータとユーザデータとを区別するデータ構造を格納するコンピュータ読み取り可能媒体であって、
前記データ構造は、
プロファイルを格納するルートフォルダと、
前記ルートフォルダのサブフォルダであり、他のユーザと共有される情報を格納するパブリックフォルダと、
前記ルートフォルダのサブフォルダであって、ユーザデータを格納するための少なくとも一のユーザフォルダと、を備え、
前記少なくとも一のユーザフォルダは、さらに、
i)   ショートカットを含むデスクトップフォルダと、
ii)  ユーザによって作成されたドキュメントを格納するためのドキュメントフォルダと、
iii）  前記ユーザによってダウンロードされたコンテンツを格納するためのダウンロードフォルダと、
iv)  前記ユーザによって保存されたウェブサイトアドレスを格納するためのお気に入りフォルダと、
Ｖ)  前記ユーザによって保存されたミュージックファイルを格納するためのミュージックフォルダと、
vi)  前記ユーザによって保存されたビデオファイルを格納するためのビデオフォルダと、
vii)  前記ユーザによって保存された画像を格納するためのピクチャフォルダと、
を含むことを特徴とするコンピュータ読み取り可能媒体。
【請求項２】
前記ドキュメントフォルダは、ユーザによって作成されたドキュメントを格納するためのデフォルトの格納記憶場所を含むことを特徴とする請求項１に記載のコンピュータ読み取り可能媒体。
【請求項３】
前記少なくとも一のユーザフォルダは、さらに、
viii)  ユーザ毎のアプリケーションデータ及びバイナリを格納するためのアプリケーションデータフォルダを含み、前記アプリケーションデータフォルダは、ローカルフォルダ及びローミングフォルダを含み、前記ローカルフォルダは、マシン依存のアプリケーションデータ及び設定を格納するためのものであり、前記ローミングフォルダは、マシンに依存しないアプリケーションデータ及び設定を格納するためのものであることを特徴とする請求項１に記載のコンピュータ読み取り可能媒体。
【請求項４】
前記ローカルフォルダは、さらに、マシン固有のデータ及び設定の格納のためのデフォルトフォルダを含み、前記デフォルトフォルダは、テンポラリフォルダ及びアプリケーション固有フォルダを含むことを特徴とする請求項３に記載のコンピュータ読み取り可能媒体。
【請求項５】
前記ローミングフォルダは、さらに、マシン固有のデータ及び設定の格納のためのデフォルトフォルダを備え、前記デフォルトフォルダは、アプリケーション固有フォルダを備えることを特徴とする請求項３に記載のコンピュータ読み取り可能媒体。
【請求項６】
前記アプリケーションデータフォルダは、隠しフォルダであることを特徴とする請求項３に記載のコンピュータ読み取り可能媒体。
【請求項７】
前記少なくとも一のユーザフォルダは、さらに、SharedByMeフォルダ及びSharedWithMeフォルダを備え、前記SharedByMeフォルダは、該ユーザによって他のユーザと共有されるデータの同期コピーを含み、前記SharedWithMeフォルダは、その他のユーザによって該ユーザと共有される同期コピーを含むことを特徴とする請求項１に記載のコンピュータ読み取り可能媒体。
【請求項８】
前記パブリックフォルダは、名前空間においてアプリケーションデータとユーザデータとをさらに区別するためのサブフォルダを含み、
前記サブフォルダは、
i)   ショートカットを含む第二デスクトップフォルダと、
ii)  前記ユーザによって作成されたドキュメントを格納するための第二ドキュメントフォルダと、
iii）  前記ユーザによってダウンロードされたコンテンツを格納するための第二ダウンロードフォルダと、
iv)  ミュージックファイルを格納するための第二ミュージックフォルダと、
Ｖ)  画像を格納するための第二ピクチャフォルダと、
vi)  ビデオを格納するためのビデオフォルダと、
vii)  前記ユーザによって保存されたウェブサイトアドレスを格納するための第二お気に入りフォルダと、
viii)  共有のアプリケーションデータ及びバイナリを格納するための第二アプリケーションデータフォルダと、
を含むことを特徴とする請求項１に記載のコンピュータ読み取り可能媒体。
【請求項９】
ユーザが属するセキュリティグループに基づく読み取り及び実行アクセスを含む前記各サブフォルダへの該ユーザのデフォルトアクセスが許可されることを特徴とする請求項８に記載のコンピュータ読み取り可能媒体。
【請求項１０】
名前空間データ構造における複数のフォルダに格納されたアプリケーションデータ及びユーザデータを区別する方法であって、
他のユーザと共有される情報を格納するためのパブリックフォルダを作成するステップと、
各ユーザのために、各ユーザにとっての特定のデータ及び設定を格納するユーザ毎のフォルダを作成するステップと、
各ユーザ毎フォルダについてサブフォルダを作成するステップと、を備え、
前記サブフォルダは、
i)   ショートカットを含むデスクトップフォルダと、
ii)  前記ユーザによって作成されたドキュメントを格納するためのドキュメントフォルダと、
iii）  前記ユーザによってダウンロードされたコンテンツを格納するためのダウンロードフォルダと、
iv)  前記ユーザによって保存されたウェブサイトアドレスを格納するためのお気に入りフォルダと、
Ｖ)  前記ユーザによって保存されたミュージックファイルを格納するためのミュージックフォルダと、
vi)  前記ユーザによって保存されたビデオファイルを格納するためのビデオフォルダと、
vii)  前記ユーザによって保存された画像を格納するためのピクチャフォルダと、
を含むことを特徴とするアプリケーションデータ及びユーザデータを区別する方法。
【請求項１１】
前記ドキュメントフォルダは、ユーザによって作成されたドキュメントを格納するためのデフォルトの格納記憶場所を含むことを特徴とする請求項１０に記載のアプリケーションデータ及びユーザデータを区別する方法。
【請求項１２】
各ユーザ毎の前記サブフォルダは、
viii)  ユーザ毎のアプリケーションデータ及びバイナリを格納するローカルフォルダ及びローミングフォルダを含むアプリケーションデータフォルダであって、該ローカルフォルダは、マシン依存のアプリケーションデータ及び設定を格納し、該ローミングフォルダは、マシンに依存しないアプリケーションデータ及び設定を格納するアプリケーションデータフォルダをさらに含むことを特徴とする請求項１０に記載のアプリケーションデータ及びユーザデータを区別する方法。
【請求項１３】
前記ローカルフォルダは、マシン固有データ及び設定の格納のためのテンポラリフォルダ及びアプリケーション固有フォルダを含むデフォルトフォルダをさらに含むことを特徴とする請求項１２に記載のアプリケーションデータ及びユーザデータを区別する方法。
【請求項１４】
前記ローミングフォルダは、さらに、マシン固有データ及び設定の記録のためのアプリケーション固有フォルダを備えるデフォルトフォルダを備えることを特徴とする請求項１２に記載のアプリケーションデータ及びユーザデータを区別する方法。
【請求項１５】
前記パブリックフォルダは、名前空間においてアプリケーションデータとユーザデータとをさらに区別するためのサブフォルダを含み、
前記サブフォルダは、
i)   ショートカットを含む第二デスクトップフォルダと、
ii)  前記ユーザによって作成されたドキュメントを格納する第二ドキュメントフォルダと、
iii）  前記ユーザによってダウンロードされたコンテンツを格納する第二ダウンロードフォルダと、
iv)  ミュージックファイルを格納する第二ミュージックフォルダと、
Ｖ)  画像を格納する第二ピクチャフォルダと、
vi)  ビデオを格納するビデオフォルダと、
vii)  前記ユーザによって保存されたウェブサイトアドレスを格納する第二お気に入りフォルダと、
viii)  共有のアプリケーションデータ及びバイナリを格納する第二アプリケーションデータフォルダと、
を含み、
前記ユーザは、サブフォルダの各々へのアクセスを制御することを特徴とする請求項１０に記載のアプリケーションデータ及びユーザデータを区別する方法。
【請求項１６】
複数のフォルダに格納されたアプリケーションデータ及びユーザデータを含む名前空間階層を管理する方法であって、
パブリックフォルダ又はユーザ毎のフォルダとして名前空間に格納された複数のフォルダの各フォルダを識別するステップと、
ユーザ識別情報によってユーザ毎のフォルダとして分類された各フォルダを分類するステップと、
フォルダタイプによってユーザ毎のフォルダとして分類された各フォルダをさらに分類するステップと、
前記分類に基づいてアプリケーションデータとユーザデータとを区別するステップと、
を備えることを特徴とする名前空間階層を管理する方法。
【請求項１７】
パブリックフォルダ及びネットワークからユーザごとに識別されたユーザフォルダにユーザがアクセス可能であることを特徴とする請求項１６に記載の名前空間階層を管理する方法。
【請求項１８】
前記ユーザ識別情報は、ユーザの名前を含むことを特徴とする請求項１６に記載の名前空間階層を管理する方法。
【請求項１９】
各ユーザ毎のフォルダは、さらに、
i)  ショートカットを含むデスクトップフォルダと、
ii)  ユーザによって作成されたドキュメントを格納するドキュメントフォルダと、
iii）  前記ユーザによってダウンロードされたコンテンツを格納するダウンロードフォルダと、
iv)  前記ユーザによって保存されたウェブサイトアドレスを格納するお気に入りフォルダと、
Ｖ)  前記ユーザによって保存されたミュージックファイルを格納するミュージックフォルダと、
vi)  前記ユーザによって保存されたビデオファイルを格納するビデオフォルダと、
vii)  前記ユーザによって保存された画像を格納するピクチャフォルダと、
viii)  他のユーザからファイルを受け取るドロップフォルダと、
をさらに含むことを特徴とする請求項１６に記載の名前空間階層を管理する方法。
【請求項２０】
viii)  ユーザ毎のアプリケーションデータ及びバイナリを格納するローカルフォルダ及びローミングフォルダを含むアプリケーションデータフォルダであって、該ローカルフォルダは、マシン依存のアプリケーションデータ及び設定を格納し、該ローミングフォルダは、マシンに依存しないアプリケーションデータ及び設定を格納するアプリケーションデータフォルダをさらに含むことを特徴とする請求項１６に記載の名前空間階層を管理する方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の側面は、一般にコンピュータ機器に格納されたユーザプロファイルの管理に関する。より詳細には、本発明の側面は、コンピュータ機器に格納されたアプリケーションデータとユーザデータとを区別するための直感的でかつ便利な名前空間プロファイルを定義するデータ構造を提供する。
【背景技術】
【０００２】
シェル名前空間は、シェルによって管理されるファイルシステム及び他のオブジェクトを木構造階層に整理する。名前空間は、二つのオブジェクトの基本タイプ、すなわち、フォルダ及びファイルを含む。フォルダは、木構造階層の節と考えることができ、一方で、ファイルは、木構造階層の葉と考えることができる。今日において、ユーザがコンピュータ機器にログオンするときには、ユーザプロファイルが作成され、ユーザが将来的な使用のためにユーザ固有情報及び設定情報を格納することができ、そのマシンにログオンする他のユーザとの区別を保持することができる。設定情報には、特定のツールバー設定、画像解像度設定、及び／又はお気に入りが含まれ得る。
【０００３】
ウィンドウズ（登録商標）ＸＰ オペレーティングシステムのような既存のオペレーティングシステムにおいて、ユーザプロファイルは、マイドキュメントフォルダ又はマイピクチャフォルダのような様々な周知のフォルダを含む。開発者及びユーザが情報にアクセスするために、多数のアプリケーション及びコンピュータネットワーク環境を経由してこれらの周知のフォルダにアクセスすることができる。
【０００４】
現在の名前空間設定の一つの欠点は、アプリケーションデータ及びユーザデータ両方の混合により名前空間が汚染されることである。現在の名前空間のレイアウトは、ユーザデータ空間とアプリケーションデータ空間との間の明確な区別ができていない。たとえば、図２は、マイクロソフト（登録商標）ウィンドウズ（登録商標）ＸＰのようなオペレーティングシステムのためのシェル名前空間設定２００の従来技術を示す。図２を参照すると、多数のフォルダが表示され、各フォルダは仮想フォルダ、固定ファイルシステムフォルダ、共通フォルダ、及びユーザ毎のフォルダを含む四つのカテゴリの中の一つに属している。
【０００５】
仮想フォルダは、シェル名前空間に現れる仮想シェルフォルダであってもよく、それらに関連付けられた実際のファイルシステムフォルダをいずれも有さなくてもよい。たとえば、プリンタフォルダは仮想フォルダとすることができる。固定ファイルフォルダは、シェルによって管理されず、その記憶場所はシステムがインストールされたときに固定されるファイルシステムフォルダであってもよい。たとえば、「WINDOWS（登録商標）」フォルダ２２４及び「Program Files」フォルダ２２０は、固定ファイルフォルダであろう。共通フォルダは、異なるユーザ間でデータ及び設定を共有するために使用されるファイルシステムフォルダであってもよい。たとえば、マシンの全てのユーザは、デスクトップフォルダ２０２のような共通デスクトップフォルダを共有することができる。最後に、ユーザ毎のフォルダは、個人のプロファイル配下に位置し、個人ユーザによって所有されるファイルシステムフォルダであってもよい。たとえば、マイ ピクチャフォルダは、ユーザのピクチャを格納するためのユーザ毎のフォルダを示すことができる。
【０００６】
図２を参照すると、名前空間階層２００の根本的な根（ルート）は、デスクトップ２０２とすることができる。ルートデスクトップ２０２配下に、マイコンピュータフォルダ２０６、マイネットワークフォルダ２０８、及びごみ箱２１０のような多数の他のフォルダが位置している。マイコンピュータフォルダ２０６は、様々なフォルダ、又はローカルディスク（Ｃ：）２１２、ＤＶＤ−ＲＷドライブ（Ｄ：）２１４、及びコントロールパネル２１６のようなマッピングされたドライブを含むことができる。当業者であれば、多数の追加的なマッピングされたドライブ及び／又はフォルダがインストールされ、名前空間階層２００にリスト化され得ることに気付くであろう。
【０００７】
ローカルディスク（Ｃ：）２１２には、Documents and settingsフォルダ２１８、Program Filesフォルダ２２０、Uninstallフォルダ２２２、及びWINDOWS（登録商標）フォルダ２２４のような様々な追加的なフォルダ及びファイルが含まれ得る。Program Filesフォルダ２２０は、特定のコンピュータ機器に開発者又はユーザがインストールしたであろう様々なアプリケーションプログラムが含まれ得る。Uninstallフォルダ２２２は、ユーザがコンピュータ機器からファイル及び／又はアプリケーションを削除することを支援するためのユーティリティを提供することができる。WINDOWS（登録商標）フォルダ２２４は、WINDOWS（登録商標）オペレーションシステムとともに使用するための様々なフォルダ及びファイルを含むことができる。
【０００８】
図２ａは、マイクロソフト（登録商標）ウィンドウズ（登録商標）ＸＰのようなオペレーティングシステムのためのユーザプロファイル名前空間設定を示す。図２ａを参照すると、典型的なユーザプロファイル名前空間階層３００が示されている。Documents and Settingsフォルダ２１８は、All Usersフォルダ２２６及び多数からなるユーザフォルダ２２８のような多くのフォルダ及びファイルを含むことができる。たとえば、ユーザGeorge Kiesslingというユーザは、「GKiessling」といったフォーマットを使用して、そのユーザの名前により識別されるユーザフォルダを持っているかもしれない。当業者であれば、各ユーザは、自分自身のフォルダ２２８を有し、識別されたユーザのための特定の情報を格納することができることに気付くであろう。たとえば、ユーザフォルダ２２８は、マイドキュメントフォルダ２３０、デスクトップフォルダ２８０、スタートメニューフォルダ２８２、お気に入りフォルダ２８４、及び図２ａで示される他のフォルダのような追加のサブフォルダを含むことができる。
【０００９】
マイドキュメントフォルダ２３０は、ユーザによって作成された全てのドキュメントのためのデフォルト記憶場所として利用することができる。マイドキュメントフォルダ２３０は、マイミュージックフォルダ２３２、マイピクチャフォルダ２３４、及びマイビデオフォルダ２３６のようなサブフォルダを備えることができる。マイミュージックフォルダ２３２、マイピクチャフォルダ２３４、及びマイビデオフォルダ２３６は、ユーザが自分のミュージック、ピクチャ、およびビデオデータファイルを格納することができるデフォルトの記憶場所を表すことができる。
【発明の開示】
【発明が解決しようとする課題】
【００１０】
現在の名前空間階層の欠点は、現在の名前空間階層が、名前空間階層の根（ルート）においてアプリケーションプログラムデータ及びユーザデータ両方の混合を含むことである。現在の名前空間階層においては、アプリケーションデータとユーザデータの間には明確な区別がない。アプリケーションプログラムデータ及びユーザデータ両者が混合していることで、ユーザ及び開発者は困惑している。たとえば、図２ａは、マイドキュメントフォルダ２３０配下にマイミュージックフォルダ２３２、マイピクチャフォルダ２３４、及びマイビデオフォルダ２３６を示しているが、これらのサブフォルダはドキュメントとほとんど関連性がない。加えて、汚染された名前空間によりユーザはどのファイルが通常保存されるべきファイルであるかについて混乱して、不適切なファイルのバックアップが行われるかもしれない。
【００１１】
さらに、既存の名前空間階層は、アプリケーションがユーザプロファイル内部のユーザ毎のアプリケーションデータをどのように格納すべきかに関して、開発者又はアプリケーション作成者に対してほとんど指針を与えていない。さらには、アプリケーション開発者が自分たちのフォルダをアプリケーションフォルダ内にどのように構築するかに関する説明書がほとんどない。その結果、アプリケーション開発者は、名前空間階層の根（ルート）に新しいフォルダを作成して名前空間をさらに輻輳させることとなる。
【００１２】
このように、名前空間におけるアプリケーションデータとユーザデータとを区別する方法及びデータ構造を提供することは技術の進歩であろう。このデータ構造は、旧アプリケーションをサポートしながらも、開発者及びユーザに対して直感的なプロファイルレイアウトを提供する。さらには、この方法及びデータ構造により、ユーザは、最小限の努力で、同一のコンピュータシステム又はネットワークに置かされるかもしれない様々なアプリケーションによって作成された他のパブリック又はユーザフォルダを発見し、利用することが可能になるはずである。
【課題を解決するための手段】
【００１３】
本発明の方法及びデータ構造は、名前空間階層におけるアプリケーションデータとユーザデータとの区別を提供することによって、従来技術の問題を克服する。特に、データ構造は、旧アプリケーションをサポートする間、開発者又はユーザに対して直感的なプロファイルレイアウトを提供する。名前空間は、識別されたパブリックフォルダ及び／又はユーザプロファイルフォルダに含まれる情報への、ネットワークを介するユーザによるアクセスを許可する。
【００１４】
本発明及びその利点のさらなる完全な理解は、同種の参照番号が同種の特徴を示唆する添付する図面を鑑み、以下の詳細な説明を参照することによって得られるであろう。
【発明を実施するための最良の形態】
【００１５】
＜典型的な動作環境＞
発明の開示を明確にするために、いくつかの関連語の定義がここに提供される。
「プロファイル」：ユーザ固有データ及び設定を格納するために、オペレーティングシステム及びアプリケーションにユーザ毎の記憶場所を提供する。
「ＲＵＰ」：ローミングユーザプロファイル（Roaming User Profile）のことであり、様々なコンピュータ機器に同様のコンピューティング経験を提供するために、企業におけるユーザと共に移動(roam)するプロファイル。
「既知のフォルダ」：シェルに知られているフォルダの特別なカテゴリ。
【００１６】
図１は、発明が実装される適切なコンピューティングシステム環境１００の一例を示す。コンピューティングシステム環境１００は、適切なコンピューティング環境の単なる一例であり、発明の機能又は使用の範囲に関していずれの限定を示唆することを意図していない。また、コンピューティング環境１００は、典型的なオペレーティング環境１００に示される要素のいずれの一又は結合に関連するいずれの従属関係又は必要条件を有するとして解釈されるべきではない。
【００１７】
図１を参照すると、本発明を実装するための典型的なシステムは、コンピュータ１１０の形態で汎用コンピューティングデバイスを含む。コンピュータ１１０のコンポーネントは、処理装置１２０、システムメモリ１３０、及びシステムメモリを含む様々なシステムコンポーネントを処理装置１２０と結合するシステムバス１２１を含むことができるが、以上には限定されない。システムバス１２１は、様々なバスアーキテクチャのいずれかを使用するメモリバスまたはメモリコントローラ、周辺バス、およびローカルバスを含め、いくつかの種類のバス構造のいずれかである。例として、限定としてではなく、そのようなアーキテクチャは、ＩＳＡ（Industry Standard Architecture）バス、ＭＣＡ（Micro Channel Architecture）バス、ＥＩＳＡ（Enhanced ISA）バス、ＶＥＳＡ（Video Electronics Standards Association）ローカルバス、メザニンバスとしても知られるＰＣＩ（Peripheral Component Interconnects）バスを含む。
【００１８】
コンピュータ１１０は、通常、様々なコンピュータ読取り可能媒体を備える。コンピュータ読取り可能媒体は、コンピュータ１１０がアクセスすることができる任意の利用可能な媒体とすることができ、揮発性媒体と不揮発性媒体、取り外し可能媒体と固定媒体がともに含まれる。例として、限定としてではなく、コンピュータ読取り可能媒体は、コンピュータ記憶媒体および通信媒体を含むことができる。コンピュータ記憶媒体は、コンピュータ読取り可能命令、データ構造、プログラムモジュール、または他のデータなどの情報を格納するために任意の方法または技術で実装された揮発性媒体と不揮発性媒体、取り外し可能媒体と固定媒体をともに含む。コンピュータ記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＰＲＯＭ、フラッシュメモリまたは他のメモリ技術、ＣＤ−ＲＯＭ、デジタルバーサタイルディスク（ＤＶＤ）または他の光ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージまたは他の磁気記憶装置、あるいは所望の情報を格納するのに使用することができ、コンピュータ１１０がアクセスすることができる任意の他の媒体を含むが、以上には限定されない。通信媒体は、通常、コンピュータ読取り可能命令、データ構造、プログラムモジュール、または搬送波または他のトランスポート機構のような変調されたデータ信号におけるその他のデータを実体化し、あらゆる情報配信媒体が含まれる。「変調されたデータ信号」という用語は、信号内に情報を変調するような形で特徴の１または複数が設定または変更されている信号を意味する。例として、限定としてではなく、通信媒体は、有線ネットワークまたは直接有線接続などの有線媒体、ならびに音響媒体、ＲＦ媒体、赤外線媒体、およびその他の無線媒体などの無線媒体を含む。また、前述した媒体のいずれかの組合せも、コンピュータ読取り可能媒体の範囲に含まれるべきものである。
【００１９】
システムメモリ１３０は、ＲＯＭ１３１やＲＡＭ１３２などの揮発性メモリおよび／または不揮発性メモリの形態でコンピュータ記憶媒体を含む。始動中などにコンピュータ１１０内部の要素間で情報を転送するのを助ける基本ルーチンを含む基本入出力システム１３３（ＢＩＯＳ）が、典型的には、ＲＯＭ１３１の中に記憶されている。ＲＡＭ１３２は、典型的には、処理装置１２０が即時にアクセスすることができ、および／または処理装置１２０によって現在処理されているデータおよび／またはプログラムモジュールを含む。例として、限定としてではなく、図１は、オペレーティングシステム１３４、アプリケーションプログラム１３５、他のプログラムモジュール１３６、およびプログラムデータ１３７を示している。
【００２０】
コンピュータ１１０は、その他の取り外し可能／固定、揮発性／不揮発性のコンピュータ記憶媒体も含むことができる。単に例として、図１は、固定不揮発性磁気媒体に対して読み取りまたは書き込みを行うハードディスクドライブ１４０、取り外し可能不揮発性の磁気ディスク１５２に対して読み取りまたは書き込みを行う磁気ディスクドライブ１５１、およびＣＤ−ＲＯＭまたは他の光媒体などの取り外し可能不揮発性の光ディスク１５６に対して読み取りまたは書き込みを行う光ディスクドライブ１５５を示している。典型的な動作環境において使用することができるその他の取り外し可能／固定、揮発性／不揮発性のコンピュータ記憶媒体は、磁気テープカセット、フラッシュメモリカード、デジタルバーサタイルディスク、デジタルビデオテープ、ソリッドステートＲＡＭ、ソリッドステートＲＯＭなどを含むが、以上には限定されない。ハードディスクドライブ１４１は、典型的には、インタフェース１４０のような固定メモリインタフェースを介してシステムバス１２１に接続され、磁気ディスクドライブ１５１および光ディスクドライブ１５５は、典型的には、インタフェース１９５のような取り外し可能メモリインタフェースでシステムバス１２１に接続される。
【００２１】
前述し、図１に示したドライブ、および関連するコンピュータ記憶媒体により、コンピュータ読取り可能命令、データ構造、プログラムモジュール、および他のデータのストレージがコンピュータ１１０に提供される。図１で、例えば、ハードディスクドライブ１４１が、オペレーティングシステム１４４、アプリケーションプログラム１４５、他のプログラムモジュール１４６、およびプログラムデータ１４７を格納していることが示されている。以上のコンポーネントは、オペレーティングシステム１３４、アプリケーションプログラム１３５、他のプログラムモジュール１３６、およびプログラムデータ１３７と同じであることも、異なることも可能であることに留意されたい。オペレーティングシステム１４４、アプリケーションプログラム１４５、他のプログラムモジュール１４６、およびプログラムデータ１４７に、ここでは、少なくともそれらが異なるコピーであることを示すために異なる符号を付けている。ユーザは、キーボード１６２や、マウス、トラックボール、またはタッチパッドと一般に呼ばれる無線ポインティングデバイス１６１などの入力デバイスを介して、コマンドおよび情報をコンピュータ１１０に入力することができる。その他の入力デバイス（図示せず）は、マイク、ジョイスティック、ゲームパッド、サテライトディッシュ、スキャナなどを含むことができる。以上の入力デバイス、およびその他の入力デバイスは、しばしば、システムバスに結合されたユーザ入力インタフェース１６０を介して処理装置１２０に接続されるが、パラレルポート、ゲームポート、またはユニバーサルシリアルバス（ＵＳＢ）などの他のインタフェースおよびバス構造で接続してもよい。また、モニタ１９１、または他のタイプのディスプレイデバイスも、ビデオメモリ１８６と交互に通信できるビデオインタフェース１９０などのインタフェースを介してシステムバス１２１に接続される。モニタに加えて、コンピュータは、出力周辺インタフェース１９０を介して接続することができるスピーカ１９７やプリンタ１９６などの他の周辺出力デバイスも含むことができる。
【００２２】
コンピュータ１１０は、リモートコンピュータ１８０などの１または複数のリモートコンピュータに対する論理接続を使用するネットワーク化された環境において動作することが可能である。リモートコンピュータ１８０は、パーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、ピアデバイス、または他の一般的なネットワークノードであることができ、典型的には、コンピュータ１１０に関連して前述した要素の多く、またはすべてを含むが、メモリ記憶装置１８１だけを図１に示している。図１に示した論理接続は、ローカルエリアネットワーク（ＬＡＮ）１７１およびワイドエリアネットワーク（ＷＡＮ）１７３を含むが、その他のネットワーク／バスを含むこともできる。そのようなネットワーキング環境は、家庭、オフィス、企業全体のコンピュータ網、イントラネット、およびインターネットで一般的である。
【００２３】
ＬＡＮネットワーキング環境で使用される場合、コンピュータ１１０は、ネットワークインタフェースまたはネットワークアダプタ１７０を介してＬＡＮ１７１に接続される。ＷＡＮネットワーキング環境で使用される場合、コンピュータ１１０は、通常、モデム１７２またはインターネットなどのＷＡＮ１７３を介して通信を確立するためのその他の手段を含む。内部にあることも、外部にあることも可能なモデム１７２は、ユーザ入力インタフェース１６０、またはその他の適切な機構を介してシステムバス１２１に接続することができる。ネットワーク化された環境では、コンピュータ１１０に関連して示したプログラムモジュール、またはプログラムモジュールの部分は、リモートメモリ記憶装置の中に記憶されることが可能である。例として、限定としてではなく、図１は、リモートアプリケーションプログラム１８５が、メモリ装置１８１上に常駐しているのを示している。図示したネットワーク接続は、例示的であり、コンピュータ間で通信リンクを確立する他の手段も使用できることが認められよう。周辺インタフェース１９５は、スキャナ（図示しない）又はデジタルカメラ１９４のようなビデオ入力デバイスをインタフェースで接続することができ、出力周辺インタフェースは、ＵＳＢ（universal serial bus）インタフェースを含む標準化されたインタフェースをサポートすることができる。
【００２４】
本発明は、専用や汎用の多くのコンピューティングシステム環境や構成で動作できる。本発明は、多数の他の汎用、または専用のコンピューティングシステム環境またはコンピューティングシステム構成で機能する。本発明で使用するのに適する可能性がある周知のコンピューティングシステム、コンピューティング環境、および／またはコンピューティング構成の例には、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドデバイスまたはラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラマブル家庭用電化製品、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、以上のシステムまたはデバイスのいずれかを含む分散コンピューティング環境などが含まれるが、以上には限定されない。
【００２５】
本発明は、コンピュータによって実行されている、プログラムモジュールなどのコンピュータ実行可能命令の一般的な文脈で説明することができる。一般に、プログラムモジュールは、特定のタスクを実行する、または特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。本発明は、通信ネットワークを介してリンクされたリモート処理デバイスによってタスクが実行される分散コンピューティング環境において実施してもよい。分散コンピューティング環境において、プログラムモジュールを、メモリ記憶装置を含むローカルコンピュータ記憶媒体とリモートコンピュータ記憶媒体の両方の中に配置することができる。
【００２６】
＜実施形態の説明＞
図３は、本発明の一側面による名前空間を説明する図である。図３で示される名前空間３００は、ディスクドライブＣ３０１のようなコンピュータのディスクドライブに備わっているであろうフォルダ及びファイルを含むことができる。当業者であれば、ディスクドライブＣの使用は、典型的なものであり限定を意図するものではないので、他のディスクドライブが利用されることが可能であることに気付くであろう。さらに、当業者であれば、以下の説明において利用されるフォルダの名前を修正すれることが可能であり、そのような修正は説明される本発明の範囲に含まれることに気付くであろう。さらには、以下の説明で示される固有フォルダ名の使用は、典型的なものであり、限定を意図したものではない。
【００２７】
シェルは、ユーザインタフェースを通じて、又はアプリケーションを通じて、これらのオブジェクトを階層名前空間構造に整理する。シェルは、記憶場所及び存在がシステムに知られ得る特別フォルダを含むことができ、そして、スタートメニューのようなシェルにおける多数の場所から提供されるところへアクセスすることができる。
【００２８】
本発明の一側面においては、名前空間３００は、Program Files２２０及びWINDOWS（登録商標）フォルダ２２４のような多数の他のフォルダを含んでもよい。Usersフォルダ３０２は、本発明の一実施態様においては、ディスクドライブＣ直下に作成されてもよい。Usersフォルダ３０２は、多数のユーザプロファイルを含んでもよい。たとえば、アプリケーションをインストールするユーザ又は開発者は、ユーザプロファイルは、Usersフォルダ３０２配下にインストールされることに、直感的に気付くことができる。
【００２９】
Usersフォルダ３０２は、Publicフォルダ３０４及びユーザネームフォルダ３０６を含むことができる。Publicフォルダ３０６は、ユーザが、ローカルマシン上で又はネットワークを経由して、他のユーザと共有することを望む全てのファイル及びフォルダを含むことができる。Publicフォルダ３０６は、決してロードされることがないプロファイルなのでユーザ毎のレジストリハイブ（registry hive）を持つ必要はないかもしれない。さらに、シェルによりスタートメニュー又はデスクトップのようなあるPublicフォルダは、ログオンにおける正規のユーザプロファイルフォルダと共に集めることができ、これらのフォルダの統一された一つのビューが提供される。たとえば、Publicプロファイルのデスクトップフォルダに追加されたアイコンは、コンピュータにログインするどのユーザにとっても目にすることが可能である。Publicフォルダ３０６は、ユーザ及び／又は開発者に対して、デフォルトで全ての認証されたユーザと共有される共有フォルダを提供することができる。
【００３０】
各ユーザに対してデータ及びカスタマイズされたユーザ設定を格納するための場所を提供するために、コンピュータシステムのアカウントを有する各ユーザにユーザネームフォルダ３０６を提供することができる。ユーザネームフォルダ３０６は、様々なアプリケーションのオープン／保存ダイアログボックスによる使用のために、デフォルトフォルダ記憶場所として利用することができる。ユーザネームフォルダ３０６は、各ユーザのためにデスクトップフォルダ３０８、ドキュメントフォルダ３１０、ダウンロードフォルダ３１２、お気に入りフォルダ３１４、ミュージックフォルダ３１６、ピクチャフォルダ３１８、ビデオフォルダ３２０、アプリケーションデータ（AppData）フォルダ３２２、及び隠しファイルNTUSE.DAT３５４によって示されるようなそれぞれ同様の階層を含むことができる。当業者であれば、多数の追加フォルダをユーザネームフォルダ３０６配下に作成することが可能であることに気付くであろう。ユーザネームフォルダを様々な既知のフォルダと組み合わせて使用してデータ及びカスタマイズされたユーザ設定を格納することにより、便利で論理的な格納場所が提供される。
【００３１】
お気に入りフォルダ３１４、ダウンロードフォルダ３１２、ミュージックフォルダ３１６、ピクチャフォルダ３１８、及びビデオフォルダ３２０は、ユーザが自身のお気に入りのインターネットリンクファイル、ダウンロードファイル、ミュージックファイル、ピクチャ／フォトファイル、及びビデオデータファイルを各々格納することができるデフォルト記憶場所を表すことができる。本発明の一側面においては、ダウンロードフォルダ３１２、ミュージックフォルダ３１６、ピクチャフォルダ３１８、及びビデオフォルダ３２０は、ユーザネームフォルダ３０６のサブフォルダであり、ドキュメントフォルダ３１０のサブフォルダではない。ミュージックファイル及び／又は画像を保存するユーザ又は開発者は、たとえば、ミュージックファイルは、ミュージックフォルダ３１６に、画像はピクチャフォルダ３１８に保存されるであろうと直感的に気付くであろう。ミュージックファイルも画像もドキュメントフォルダ３１０配下を論理的に捜索されないかもしれない可能性があるので、ユーザは、これらのフォルダをドキュメントフォルダ３１０のサブフォルダとして見つけようとする必要はない。
【００３２】
デスクトップフォルダ３０８は、ファイル及びショートカットを含むデスクトップアイテムを格納するために使用することができる。ドキュメントフォルダ３１０は、特定のユーザによって作成された全てのドキュメントを格納するためのデフォルトの記憶場所を提供することができる。ダウンロードフォルダ３１２は、インターネットのような情報源からダウンロードされたデータを保存するためのデフォルトの記憶場所を提供することができる。たとえば、生徒による使用の目的で発見されたあるトピックについての調査記事のような情報は、将来的な使用のためにドキュメントフォルダ３１２にダウンロードされ、保存することができる。
【００３３】
アプリケーションデータ（AppData）フォルダ３２２は、開発者にユーザ毎のアプリケーションデータ及びバイナリを格納するためのデフォルト記憶場所を提供することができる。アプリケーションデータフォルダ３２２は、新しいアプリケーションをインストールするとき開発者によって、又は、アプリケーション自身によってユーザ毎のデータ又は設定を取り出すことによって、利用することができる隠しフォルダであってもよい。たとえば、それほど上級ではないユーザは、アプリケーションデータフォルダ３２２へアクセスする必要がないかもしれないが、それゆえ、このフォルダはユーザによって必要とされるまで隠すことができる。アプリケーションデータフォルダ３２２は、ローカルフォルダ３２４及びローミングフォルダ３２５のようなサブフォルダを含むことができる。
【００３４】
ローカルフォルダ３２４は、マシン依存であったり、又は効果的に移動する（roam）にはあまりに大きすぎたりするアプリケーションデータ及び設定を含む可能性がある。これと対照的にローミングフォルダ３２５は、医学上の定義のような情報を含むユーザカスタム辞典のようなマシン依存ではないアプリケーションデータ及び設定を含む可能性がある。図３を参照すると、ローカルフォルダ３２４は、テンポラリフォルダ３２６及びMicrosoft（登録商標）ベンダフォルダ３２８のようなベンダフォルダを含むことができる。Microsoft（登録商標）ベンダフォルダ３２８は、Widowsフォルダ３３０のような多数のサブフォルダを含むことができる。同様に、Windows（登録商標）フォルダ３３０は、追加のフォルダ、例えばTemporary Internet Filesフォルダ３３２及び履歴フォルダ３３４を含むことができる。当業者であればベンダフォルダは、各ベンダ又はメーカと関連付けられた様々なアプリケーションプログラム又は設定を格納するために利用することができることに気付くであろう。たとえば、Microsoft（登録商標）ベンダフォルダ３２８は、コンピュータ機器にインストールされた各マイクロソフト（登録商標）のアプリケーションのために作成することができる。
【００３５】
本発明の一側面によれば、アプリケーションデータフォルダ３２２にサブフォルダを作成する時には、インストールされるアプリケーション又は製品の固有の識別子が存在することが要求される。固有の識別子は、インストールされる製品及びその製品の対応するメーカを識別することができる。たとえば、階層は、Microsoft（登録商標）をベンダとして識別し、Officeを製品として識別する「Microsoft（登録商標）/Office」であり得る。バージョンナンバー、サービスリリース、SKU情報、マイナー製品名、状態カテゴリ、特徴名、コンポーネント名、及び／又は展開識別子のような追加の情報を固有の識別子に含むこともできる。そのような追加の情報により、単一製品の複合配置(Multiple deployment)問題を回避することができ、さらにアプリケーション及び／又は製品の特徴を識別することができる。典型的な固有の識別子は、「Microsoft（登録商標）/Windows（登録商標）/7.0 SP1 Home Edition」、「Microsoft（登録商標）/Office/12.0 Enterprise Edition/Word」、及び「Microsoft（登録商標）/Windows（登録商標）/7.0 SP1 Home Edition/System/Serviced」を含むことができる。
【００３６】
ローミングフォルダ３２５はまた、Microsoft（登録商標）フォルダ３３６のようなベンダフォルダを含むことができる。Microsoft（登録商標）フォルダ３３６は、Widowsフォルダ３３８のような多数のサブフォルダを含むことができる。同様に、Windows（登録商標）フォルダ３３８は、Cookiesフォルダ３４０、Network Shortcutsフォルダ３４２、Printer Shortcutsフォルダ３４４、最近使ったファイルフォルダ３４６、SendToフォルダ３４８、スタートメニューフォルダ３５０、Templatesフォルダ３５２のような追加のフォルダを含むことができる。これらの各フォルダは、異なるコンピュータ装置にログオンするときに、マシン依存せずに、ユーザが利用できるであろうアプリケーション固有データ及び設定を含むことができる。たとえば、Printer Shortcutsフォルダ３４４は、ネットワーク上の様々なプリンタへアクセスするためのショートカットを含むことができる。ユーザが異なるコンピュータ機器にログインするときには、Printer Shortcutsフォルダ３４４は、そのユーザがネットワーク上に配置された異なるプリンタへ容易にアクセスするために依然として利用可能とすることができる。
【００３７】
図４は、名前空間階層４００の追加的な側面を示す。図４では、Publicフォルダ３０４は、ユーザ又は開発者がネットワーク化された機器又はローカルマシンを介して他人がアクセスすることを望む全てのファイル及びフォルダを含むことができる。Publicフォルダ３０４は、上記で説明されたユーザネームフォルダ３０６のように同様の階層を含むことができる。たとえば、Publicフォルダ３０４は、デスクトップフォルダ４０８、ドキュメントフォルダ４１０、ダウンロードフォルダ４１２、お気に入りフォルダ４１４、ミュージックフォルダ４１６、ピクチャフォルダ４１８、ビデオフォルダ４２０、及びアプリケーションデータ（AppData）フォルダ４２２を含むことができる。アプリケーションデータフォルダ４２２は、隠しフォルダであってもよい。
【００３８】
お気に入りフォルダ４１４、ダウンロードフォルダ４１２、ミュージックフォルダ４１６、ピクチャフォルダ４１８、及びビデオフォルダ４２０は、ユーザが、自分たちのお気に入りのインターネットリンクファイル、ダウンロードファイル、ミュージックファイル、ピクチャ／写真ファイル、及び映像データファイルを各々格納し、他のユーザと共有するデフォルトの記憶場所を表すことができる。デスクトップフォルダ４０８は、ファイル及びショートカットを含むデスクトップアイテムを格納するために使用されることができる。これら格納されたデスクトップファイル及びショートカットは、Publicフォルダ３０４のサブフォルダとしてアクセス可能であるので、認証されたいずれのユーザでも利用可能である。同様に、ドキュメントフォルダ４１０に格納されたドキュメント又はダウンロードフォルダ４１２にダウンロードされた情報は、他の認証されたユーザでもアクセス可能であることができる。
【００３９】
本発明の他の側面として、Publicフォルダ４８２もまたユーザネームフォルダ３０６に含まれてもよい。Publicフォルダ４８２は、ユーザに対して、自分たちのプロファイルの内部から他のユーザと情報を共有する機能を提供する。さらに、ユーザは、そのようなPublicフォルダ４８２に含まれるデータへの他のユーザの権利を個別に制御し、定義する機能を有するようにすることができる。たとえば、開発者は、あるユーザに対して読み取り専用アクセスを許可し、その一方で、他のユーザは、実行アクセスを有することができる。Publicフォルダ４８２はまた、Dropboxフォルダ４８４のようなサブフォルダを含むことができる。Dropboxフォルダ４８４は、ユーザに対して、Dropboxフォルダ４８４にて他の認証されたユーザからファイルを受信する機能を特に彼らのために提供する。本実施形態において、Dropboxフォルダ４８４は、認証されていないリモートユーザがDropboxフォルダ４８４に置かれたファイルを見ることを防止するために、書き込み専用アクセスが提供される。さらに名前空間内で共有を可能にするために、SharedByMeフォルダ４９０及びSharedWithMeフォルダ４９２のような隠しフォルダがユーザネームフォルダ３０６配下に作成される。SharedByeMeフォルダ４９０は、そのユーザによって他のユーザと共有されるデータの同期コピーを含むことができる。SharedWithMeフォルダ４９２は、他のユーザによってそのユーザと共有されるデータの同期コピーを含むことができる。
【００４０】
本発明の他の側面として、図３に示すようなより古いプロファイル名前空間階層に依存するアプリケーションのための旧アプリケーション互換性は、ファイルシステムフィルタドライバを使用することにより達成することができる。フィルタドライバは、ファイルシステムへのパスのための全てのオープンコールをインターセプトし、より古い旧パスと一致するかを判断する。もし、一致したならば、旧パスのための新しい有効なパスへアプリケーションを補修することができる。フィルタドライバはまた、フィルタドライバに対して再マッピングされた旧パスのリストを提供する更新可能なマッピングテーブルを含むことができる。
【００４１】
本発明の別の側面として、ディレクトリジャンクション（directory junction）もまた、フィルタドライバと同様に、旧アプリケーション互換性を提供するために利用されることができる。ディレクトリジャンクションは、それが参照するストレージオブジェクトが独立したディレクトリである点で、ハードリンクと異なっている。ディレクトリジャンクションは、旧名前空間記憶場所にて作成され、新名前空間記憶場所を指し示すことができる。アプリケーションが旧プロファイル記憶場所にアクセスを試みるときは、ディレクトリジャンクションは、そのアプリケーションを新しい有効な名前空間記憶場所にリダイレクトする。
【００４２】
本発明の他の側面としては、名前空間階層は、使用されるデータのセットを分割する質問（クエリ）が作成されるとき、より簡単なデータの問い合わせを考慮することができる。たとえば、質問は、述語（「著者はジョンスミスです」のような「what」）及び範囲（C:/users/jsmith/documents/のような「where」）から構成することができる。名前空間階層は、使用されるデータのセットを分割する質問をユーザが作成することが可能になる。
【００４３】
本発明の他の側面によると、図５は、名前空間データ構造の複数のフォルダに格納されるアプリケーションデータ及びユーザデータを管理する方法を示す。図５では、ステップ５０２において、複数のフォルダの各フォルダは、パブリックフォルダ又はユーザ毎のフォルダであるとして識別される。パブリックフォルダは、デスクトップフォルダのようなコンピューティングシステムの全てのユーザと共有されるフォルダを定義することができる。ユーザ毎のフォルダは、ユーザプロファイルに位置し、個々のユーザによって所有されるシステムフォルダであることが可能である。たとえば、ミュージックフォルダは、特定のユーザの音楽を格納するためのユーザ毎のフォルダを示すことができる。
【００４４】
フォルダのアクセス可能性を識別した後に、各ユーザ毎のフォルダは、ステップ５０４に示すように、ユーザ識別によって分類することができる。上記で説明したように、コンピューティングシステムの認証された各ユーザは、自分たちのデータ及び／又はユーザ設定を格納するための、そのシステムにおける自分たちのユーザプロファイルを有することができる。各ユーザプロファイルは、ユーザのファーストネーム及びラストネームから英数字文字の組み合わせの使用を介して識別されることができる。当業者であれば、文字の組み合わせの多数は、ユーザプロファイルを識別するために利用することができることが理解できるであろう。ステップ５０６にて、識別されたユーザ毎のフォルダは、さらにフォルダタイプによって分類される。最終的に、ステップ５０８にて、アプリケーションデータ及びユーザデータは、その分類に基づいて区別される。アプリケーションデータをユーザデータから区別することは、旧アプリケーションをサポートする間、直感的なプロファイルレイアウトを開発者又はユーザに対して提供する。
【００４５】
本発明は、本発明を実行する現在好ましいやり方を含む特定の例に関して説明している一方で、当業者であれば、添付された請求の範囲に記載の本発明の精神と範囲に入る上記説明されたシステム及び技術の多数のバリエーション及び置換があることを認識するであろう。
【図面の簡単な説明】
【００４６】
【図１】発明が実装される適切なコンピューティングシステム環境の一例を説明する図。
【図２】典型的な従来技術のシェル名前空間階層を説明する図。
【図２ａ】既存のユーザプロファイル名前空間階層を説明する図。
【図３】本発明の一側面による名前空間階層を説明する図。
【図４】本発明の一側面による他の名前空間階層を説明する図。
【図５】本発明の一側面による名前空間階層におけるユーザデータからアプリケーションデータを管理する方法を説明する図。
【図１】
2008535082.tif 000003
【図２】
2008535082.tif 000004
【図２ａ】
2008535082.tif 000005
【図３】
2008535082.tif 000006
【図４】
2008535082.tif 000007
【図５】
2008535082.tif 000008
【国際調査報告】
2008535082.tif 000009