(57)【特許請求の範囲】
【請求項１】
プロセッサーを有するデバイスにおける計算環境を表す方法であって、
前記プロセッサーにおいて命令を実行するステップであって、前記命令が、
前記計算環境を表すオブジェクト階層を生成し、前記オブジェクト階層はユニフォーム・リソース識別子階層アドレシング・モデルを有し、該ユニフォーム・リソース識別子階層アドレシング・モデルは、表象的状態遷移インターフェースにしたがって、オブジェクト階層の各々のアドレスのため、リソース・オブジェクト・タイプの多くても１つのオブジェクトを定め、
前記デバイスにおける前記計算環境をレンダリングする要求を受けたときに、前記計算環境を前記オブジェクト階層を使ってレンダリングし、
前記計算環境を変更する要求を受けたときに、前記オブジェクト階層の少なくとも１つのオブジェクトを変更する、
ように構成された、ステップを含み、
前記オブジェクト階層が、前記計算環境を記述するメッシュ・オブジェクトを含み、
前記メッシュ・オブジェクトが、
少なくとも１つのプロファイル・リソース・オブジェクトと、
ストレージ・サービス・オブジェクトのストレージ・サービス集合体と、
アプリケーション・リソース・オブジェクトのアプリケーション・リソース集合体と、
デバイス・リソース・オブジェクトのデバイス・リソース集合体と、
ニュース項目リソース・オブジェクトのニュース項目リソース集合体と、
コア・リソース・オブジェクトのコア・リソース・オブジェクト集合体と、
を含み、
各々の前記コア・リソース・オブジェクトが、
マッピング・リソース・オブジェクトのマッピング・リソース・オブジェクト集合体であって、各々のマッピング・リソース・オブジェクトが少なくとも１つのデバイス・オブジェクトに関係した、マッピング・リソース・オブジェクト集合体と、
活動リソース・オブジェクトの活動リソース集合体と、
メンバー・リソース・オブジェクトのメンバー・リソース集合体であって、各々の前記メンバー・リソース・オブジェクトが、少なくとも１つのアイデンティティ・オブジェクトに関係した、メンバー・リソース集合体と、
データー・フィード・リソース・オブジェクトのデーター・フィード・リソース集合体と、
を含み、
各々の前記データー・フィード・リソース・オブジェクトが、
データー・エントリ・リソース・オブジェクトのデーター・エントリ・リソース集合体と、
前記データー・フィード・リソース・オブジェクトを前記コア・リソース・オブジェクトのメンバー・リソース・オブジェクトに関係付ける役割リソース・オブジェクトの役割リソース集合体と、
を含み、
リソース・オブジェクト・タイプに基づく前記のプロファイル・リソース・オブジェクト、アプリケーション・リソース・オブジェクト、デバイス・リソース・オブジェクト、ニュース項目リソース・オブジェクト、コア・リソース・オブジェクト、マッピング・リソース・オブジェクト、活動リソース・オブジェクト、メンバー・リソース・オブジェクト、データー・フィード・リソース・オブジェクト、データー・エントリ・リソース・オブジェクト、役割リソース・オブジェクトが、
著作者集合体、
基本アドレス・オブジェクト、
カテゴリ集合体、
寄与者集合体、
著作権オブジェクト、
識別オブジェクト、
リンク集合体、
自己リンク・オブジェクト、
摘要オブジェクト、
タイトル・オブジェクト、
を含む、方法。
【請求項２】
請求項１記載の方法において、コア・リソース・オブジェクト・タイプに基づく前記コア・リソース・オブジェクトは、ユーザ・データー・オブジェクトを含む、方法。
【請求項３】
請求項１または２に記載の方法において、アプリケーション・リソース・オブジェクト・タイプに基づく前記アプリケーション・リソース・オブジェクトは、
アプリケーション識別オブジェクト、
ホームページ位置オブジェクト、
インストール・バージョン位置、
マニフェスト位置オブジェクト、
マニフェスト・バージョン・オブジェクト、
を含む、方法。
【請求項４】
請求項１から３のいずれかに記載の方法において、データー・エントリ・リソース・オブジェクト・タイプに基づく前記データー・エントリ・リソース・オブジェクトおよびニュース項目リソース・オブジェクトは、
親識別オブジェクト、
同期オブジェクト、
ユーザー・データー・オブジェクト、
を含む、方法。
【請求項５】
請求項１から４のいずれかに記載の方法において、データー・フィード・リソース・オブジェクト・タイプに基づく前記データー・フィード・リソース・オブジェクトは、
同期関係データー・エントリ・リソース・オブジェクトの同期エントリ集合体、
データー・フィード・タイプ・オブジェクト、
を含む、方法。
【請求項６】
請求項１から５のいずれかに記載の方法において、メンバー・リソース・オブジェクト・タイプに基づく前記メンバー・リソース・オブジェクトは、
招待受諾インディケーター・オブジェクト、
招待期限切れインディケーター・オブジェクト、
所有者インディケーター・オブジェクト、
役割タイプ・オブジェクト、
を含む、方法。
【請求項７】
請求項１から６のいずれかに記載の方法において、デバイス・リソース・オブジェクト・タイプに基づく前記デバイス・リソース・オブジェクトは、
デバイス・タイプ・オブジェクト、
デバイス・オンライン・インディケーター・オブジェクト、
を含む、方法。
【請求項８】
請求項１から７のいずれかに記載の方法において、リソース・オブジェクト・タイプに基づく前記マッピング・リソース・オブジェクトは、データー・フィード・マッピング集合体を含む、方法。
【請求項９】
請求項１から８のいずれかに記載の方法において、リソース集合体オブジェクト・タイプに基づく前記アプリケーション・リソース集合体、デバイス・リソース集合体、ニュース項目リソース集合体、コア・オブジェク・リソース集合体、マッピング・リソース集合体、活動リソース集合体、メンバー・リソース集合体、データー・フィード・リソース集合体、データー・エントリ・リソース集合体、役割リソース集合体は、
著作者集合体、
基本ロケーション・オブジェクト、
カテゴリ集合体、
寄与者集合体、
著作権オブジェクト、
識別オブジェクト、
リンク集合体、
自己リンク・オブジェクト、
摘要オブジェクト、
タイトル・オブジェクト、
を含む、方法。
【請求項１０】
請求項１から９いずれかに記載の方法において、役割オブジェクト・タイプに基づく前記役割リソース・オブジェクトは、
作成許可インディケーター・オブジェクト、
削除許可インディケーター・オブジェクト、
読み取り許可インディケーター・オブジェクト、
更新許可インディケーター・オブジェクト、
役割タイプ・オブジェクト、
を含む、方法。
【請求項１１】
請求項１から１０いずれかに記載の方法において、前記オブジェクト階層は、再帰可能な基本表現フォーマットにしたがってオブジェクトを表現するように構成された、方法。
【請求項１２】
請求項１１記載の方法において、前記再帰可能な基本表現フォーマットは、原子のレコードの再帰可能なシーケンスを含む、方法。
【請求項１３】
プロセッサー実行可能命令を格納したコンピュータ読み取り可能記憶デバイスであって、前記プロセッサー実行可能命令が、デバイスのプロセッサーにおいて実行されると、
デバイスにおける計算環境を表すオブジェクト階層を生成し、前記オブジェクト階層はユニフォーム・リソース識別子階層アドレシング・モデルを有し、該ユニフォーム・リソース識別子階層アドレシング・モデルは、表象的状態遷移インターフェースにしたがって、オブジェクト階層の各々のアドレスのため、リソース・オブジェクト・タイプの多くても１つのオブジェクトを定め、
前記デバイスにおける前記計算環境をレンダリングする要求を受けたときに、前記計算環境を前記オブジェクト階層を使ってレンダリングし、
前記計算環境を変更する要求を受けたときに、前記オブジェクト階層の少なくとも１つのオブジェクトを変更する、
ことにより前記デバイスにおける前記計算環境を表し、
前記オブジェクト階層が、前記計算環境を記述するメッシュ・オブジェクトを含み、
前記メッシュ・オブジェクトが、
少なくとも１つのプロファイル・リソース・オブジェクトと、
ストレージ・サービス・オブジェクトのストレージ・サービス集合体と、
アプリケーション・リソース・オブジェクトのアプリケーション・リソース集合体と、
デバイス・リソース・オブジェクトのデバイス・リソース集合体と、
ニュース項目リソース・オブジェクトのニュース項目リソース集合体と、
コア・リソース・オブジェクトのコア・リソース・オブジェクト集合体と、
を含み、
各々の前記コア・リソース・オブジェクトが、
マッピング・リソース・オブジェクトのマッピング・リソース・オブジェクト集合体であって、各々のマッピング・リソース・オブジェクトが少なくとも１つのデバイス・オブジェクトに関係した、マッピング・リソース・オブジェクト集合体と、
活動リソース・オブジェクトの活動リソース・オブジェクト集合体と、
メンバー・リソース・オブジェクトのメンバー・リソース集合体であって、各々の前記メンバー・リソース集合体が、少なくとも１つのアイデンティティ・オブジェクトに関係した、メンバー・リソース集合体と、
データー・フィード・リソース・オブジェクトのデーター・フィード・リソース集合体と、
を含み、
各々の前記データー・フィード・リソース・オブジェクトが、
データー・エントリ・リソース・オブジェクトのデーター・エントリ・リソース集合体と、
前記データー・フィード・リソース・オブジェクトを前記コア・リソース・オブジェクトのメンバー・リソース・オブジェクトに関係付ける役割リソース・オブジェクトの役割リソース集合体と、
を含み、
リソース・オブジェクト・タイプに基づく前記のプロファイル・リソース・オブジェクト、アプリケーション・リソース・オブジェクト、デバイス・リソース・オブジェクト、ニュース項目リソース・オブジェクト、コア・リソース・オブジェクト、マッピング・リソース・オブジェクト、活動リソース・オブジェクト、メンバー・リソース・オブジェクト、データー・フィード・リソース・オブジェクト、データー・エントリ・リソース・オブジェクト、役割リソース・オブジェクトが、
著作者集合体、
基本アドレス・オブジェクト、
カテゴリ集合体、
寄与者集合体、
著作権オブジェクト、
識別オブジェクト、
リンク集合体、
自己リンク・オブジェクト、
摘要オブジェクト、
タイトル・オブジェクト、
を含む、コンピュータ読み取り可能記憶デバイス。
【請求項１４】
プロセッサーを有するデバイスにおける計算環境を表す方法であって、
前記プロセッサーにおいて命令を実行するステップであって、前記命令が、
前記計算環境を表すオブジェクト階層を、表象的状態遷移インターフェースにしたがって生成し、前記オブジェクト階層が、原子のレコードの再帰可能なシーケンスを含む再帰可能な基本表現フォーマットにしたがって表現され、
前記デバイスにおける前記計算環境をレンダリングする要求を受けたときに、前記計算環境を前記オブジェクト階層を使ってレンダリングし、
前記計算環境を変更する要求を受けたときに、前記オブジェクト階層の少なくとも１つのオブジェクトを変更する、
ように構成された、ステップを含み、
前記オブジェクト階層が、前記計算環境を記述するメッシュ・オブジェクトを含み、
前記メッシュ・オブジェクトが、
自己リンク・オブジェクトと、
タイトル・オブジェクトと、
少なくとも１つのプロファイル・リソース・オブジェクトであって、
名称オブジェクト、
電子メール・アドレス・オブジェクト、
を含む少なくとも１つのプロファイル・リソース・オブジェクトと、
ストレージ・サービス・オブジェクトのストレージ・サービス集合体と、
アプリケーション・リソース・オブジェクトのアプリケーション・リソース集合体あって、各々のアプリケーション・リソース・オブジェクトが、
アプリケーション識別オブジェクト、
ホームページ位置オブジェクト、
インストール・バージョン位置、
マニフェスト位置オブジェクト、
マニフェスト・バージョン・オブジェクト、
を含む、アプリケーション・リソース集合体と、
デバイス・リソース・オブジェクトのデバイス・リソース集合体であって、各々のデバイス・リソース・オブジェクトが、
デバイス・タイプ・オブジェクト、
デバイス・オンライン・インディケーター・オブジェクト、
を含む、デバイス・リソース集合体と、
ニュース項目リソース・オブジェクトのニュース項目リソース集合体と、
コア・リソース・オブジェクトのコア・リソース・オブジェクト集合体であって、各々のコア・リソース・オブジェクトが、
ユーザー・データー・オブジェクト、
を含む、コア・リソース・オブジェクト集合体と、
マッピング・リソース・オブジェクトのマッピング・リソース・オブジェクト集合体であって、各々のマッピング・リソース・オブジェクトが少なくとも１つのデバイス・オブジェクトに関係し、かつデーター・フィード・リソース・オブジェクト集合体を含むマッピング・リソース・オブジェクト集合体と、
活動リソース・オブジェクトの活動リソース・オブジェクト集合体であって、各々の活動リソース・オブジェクトが、
活動タイプ・オブジェクト、
最大寿命オブジェクト、
を含む、活動リソース・オブジェクト集合体と、
メンバー・リソース・オブジェクトのメンバー・リソース集合体であって、各々の前記メンバー・リソース集合体が、少なくとも１つのアイデンティティ・オブジェクトに関係し、かつ
招待受諾インディケーター・オブジェクト、
招待期限切れインディケーター・オブジェクト、
所有者インディケーター・オブジェクト、
役割タイプ・オブジェクト、
を含む、メンバー・リソース集合体と、
データー・フィード・リソース・オブジェクトのデーター・フィード・リソース集合体であって、各々のデーター・フィード・リソース・オブジェクトが、
同期関係データー・エントリ・リソース・オブジェクトの同期エントリ集合体、
データー・フィード・タイプ・オブジェクト、
を含む、データー・フィード・リソース集合体と、
データー・エントリ・リソース・オブジェクトのデーター・エントリ・リソース集合体であって、各々のデーター・エントリ・リソース・オブジェクトが、
親識別オブジェクト、
同期オブジェクト、
ユーザー・データー・オブジェクト、
を含む、データー・エントリ・リソース集合体と、
前記データー・フィード・リソース・オブジェクトを前記コア・リソース・オブジェクトのメンバー・リソース・オブジェクトに関係付ける役割リソース・オブジェクトの役割リソース集合体であって、各々の役割リソース・オブジェクトが、
作成許可インディケーター・オブジェクト、
削除許可インディケーター・オブジェクト、
読み取り許可インディケーター・オブジェクト、
更新許可インディケーター・オブジェクト、
役割タイプ・オブジェクト、
を含む、役割リソース集合体と、
を含み、
リソース・オブジェクト・タイプに基づく前記のプロファイル・リソース・オブジェクト、アプリケーション・リソース・オブジェクト、デバイス・リソース・オブジェクト、ニュース項目リソース・オブジェクト、コア・リソース・オブジェクト、マッピング・リソース・オブジェクト、活動リソース・オブジェクト、メンバー・リソース・オブジェクト、データー・フィード・リソース・オブジェクト、データー・エントリ・リソース・オブジェクト、役割リソース・オブジェクトは、
著作者集合体、
基本アドレス・オブジェクト、
カテゴリ集合体、
寄与者集合体、
著作権オブジェクト、
識別オブジェクト、
リンク集合体、
自己リンク・オブジェクト、
摘要オブジェクト、
タイトル・オブジェクト、
を含み、
リソース集合体オブジェクト・タイプに基づく前記アプリケーション・リソース集合体、デバイス・リソース集合体、ニュース項目リソース集合体、コア・オブジェク・リソース集合体、マッピング・リソース集合体、活動リソース集合体、メンバー・リソース集合体、データー・フィード・リソース集合体、データー・エントリ・リソース集合体、役割リソース集合体は、
著作者集合体、
基本ロケーション・オブジェクト、
カテゴリ集合体、
寄与者集合体、
著作権オブジェクト、
識別オブジェクト、
リンク集合体、
自己リンク・オブジェクト、
摘要オブジェクト、
タイトル・オブジェクト、
を含み、
前記オブジェクト階層体系は、オブジェクト階層の各々のアドレスのため、リソース・オブジェクト・タイプの多くても１つのオブジェクトを定めるユニフォーム・リソース識別子階層的アドレシング・モデルを含む、
方法。
【発明の詳細な説明】
【従来技術】
【０００１】
[0001]  多くの計算環境は、１組のオブジェクトによって管理されている、大量で多様なオブジェクトの集合を備えている。例えば、計算環境は、ファイル・システムによって管理されている１組のファイルと、データーベース・システムによって管理されている１つ以上のデーターベースと、アプリケーションを表しアセンブリ・キャッシュによって管理されている１組のエクゼキュータブル・バイナリーと、オペレーティング・システムのユーザー・プロファイル・コンポーネントによって管理されている１組のユーザー・プロファイルと、データー・キャッシュ・コンポーネントによって管理されている種々のデーター・キャッシュとを備えることもある。種々のデーター・キャッシュには、オペレーティング・システムのコピー・バッファによって管理されている１組のコピー項目、オペレーティング・システムの取り消し(undo)コンポーネントによって管理されている１組の取り消し行為、そしてオペレーティング・システムの項目使用追跡コンポーネントによって管理されている１組の「最後に使用した」項目等がある。更に、このようなオブジェクトは、一人以上のユーザーによって動作させられる複数のデバイス間で、そして１つ以上の動作（例えば、２つのオブジェクト集合を合併するオブジェクト同期動作、および目標オブジェクト集合をソース・オブジェクト集合に合わせるように調節するオブジェクト・ミラーリング動作）にしたがって交換することもできる。このように、オブジェクトは、１組のオブジェクト・システムを通じて疎に編成されており、集まって計算環境を表す。
【発明の概要】
【０００２】
[0002]  この摘要は、以下で詳細の説明において更に説明する概念から選択したものを簡略化した形態で紹介するために設けられている。この摘要は、特許請求する主題の鍵となる要素または必須の特徴を特定することを意図するのでなければ、特許請求する主題の範囲を限定するために用いることを意図するのでもない。
【０００３】
[0003]  計算システム内におけるオブジェクト・システムのちぐはぐで疎にまとめられた集合としてのオブジェクトの編成は、様々な問題を生ずる可能性がある。例えば、種々のデバイスを通じてユーザーに一貫性のある計算環境を提示することが、特にデバイスの能力にばらつきがある場合（例えば、高性能パーソナル・ワークステーション、ブラウザー・ベースの公衆端末、および低性能のセルフォン・デバイス）、困難な場合がある。別の例として、同期およびバックアップというようなサービスをオブジェクトに適用するには、各オブジェクト・システムとインターフェースして、それによって管理されているオブジェクトに作用させなければならないことがあり、このようなインターフェースはオブジェクト・システム間で多様に異なる場合がある。第３の例として、多種多様なデバイスの集合（１つのアプリケーションを構成するオブジェクトの全てというような）を関係付けることは、管理するオブジェクト・システムの協同が不完全なために、困難になる場合がある。
【０００４】
[0004]  計算環境を構成するオブジェクトを表すための代わりの技法では、オブジェクトをオブジェクト階層に編成する必要があり、このオブジェクト階層を計算環境ホストによってホストすることができる。オブジェクトがオブジェクト・システムによって均一に表現され一貫性のある方法で管理されていれば、この計算環境のオブジェクトの全てに適用するために、１組のサービスを交換することができる。更に、オブジェクト階層を種々のデバイスに配信して、同じ計算環境（同じユーザー・プロファイル、アプリケーション、データー・ファイル等を含む）を表すことができ、各デバイスは、その計算環境を一貫性のある態様でレンダリングするが、当該デバイスの能力（例えば、ワークステーションに取り付けられているキーボード・デバイスからのデーター入力を受けるためのハード・キーボード・インターフェース、およびセルフォン・デバイスからのデーター入力を受けるためのタッチスクリーン・ソフトウェア・キーボード・インターフェース）に基づいてカスタム化することができる。
【０００５】
[0005]  本明細書において紹介するのは、このような１つの表現であり、アプリケーション、１組の活動を備えている活動集合体、１組のユーザー・プロファイルを備えているユーザー・プロファイル集合体というような、１組の種々のタイプのリソースを定めるオブジェクト階層体系にしたがって、オブジェクト階層を構造化する。本明細書において指定されるオブジェクト階層体系によるオブジェクトの編成は、このようなオブジェクトの他の表現や編成に対して、いくつかの利点がある。例えば、本明細書において提示されるオブジェクトの表現は、ある種のメタデーターの添付(tagging with)がし易く、このようなデーターは、様々なタイプのオブジェクト（アプリケーション、データー・ファイル、およびデバイスのような）と同様に関連付けて、ドメイン特定メタデーターを可能にすることができる。また、本明細書において記載するように管理されたオブジェクトは、種々のデバイスにおける種々のオブジェクト集合のマッピングも容易にすることができ、異なるユーザーやデバイスに関して、計算環境の所望の適応化を可能にすることもできる。これらおよびその他の便益は、本明細書において指定されるオブジェクト階層体系によって達成することができ、これらの便益は、本オブジェクト階層によって表され、様々な能力のデバイスによってレンダリングされる計算環境によって明示することができる。
【０００６】
[0006]  以上の目的および関連する目的の遂行のために、以下の説明および添付図面は、ある種の例示的態様および実施態様を明示する。これらは、１つ以上の態様を用いることができる種々の方法の内のわずかに過ぎない。本開示のその他の態様、利点、および新規な特徴は、以下の詳細な説明を添付図面と合わせて検討することによって明らかとなろう。
【図面の簡単な説明】
【０００７】
【図１】図１は、計算環境ホストの種々の計算環境レンダリング・デバイスとの相互作用例の図である。
【図２】図２は、オブジェクト階層体系のオブジェクト集合例の図である。
【図３】図３は、オブジェクト階層体系の一例の図である。
【図４】図４は、計算環境を表す方法例を示す流れ図である。
【図５】図５は、オブジェクト階層の一例の図である。
【図６】図６は、オブジェクト階層のオブジェクトを格納する３つの格納技法例の図である。
【図７】図７は、オブジェクト階層体系のオブジェクト・タイプと関連付けることができる、１組の追加オブジェクト・プロパティの図である。
【図８】図８は、本明細書において明記する設備(provision)の１つ以上を具体化するように構成されているプロセッサー実行可能命令を備えているコンピューター読み取り可能媒体例の図である。
【図９】図９は、本明細書において明記する設備の１つ以上を実現することができる計算環境例を示す。
【発明を実施するための形態】
【０００８】
[0016]  これより、図面を参照しながら特許請求する主題について説明する。図面において、同様の参照番号が、同様の要素を示すために全体を通じて用いられている。以下の記載では、説明の目的上、特許請求する主題の完全な理解が得られるようにするために、多数の具体的な詳細を明記する。しかしながら、特許請求する主題は、これら具体的な詳細がなくても実施可能であることは明白であろう。他方において、周知の構造およびデバイスは、特許請求する主題を記載し易くするために、ブロック図で示されている。
【０００９】
[0017]  近年のコンピューター・システムは、多くの数のそして種々のオブジェクトを備えている。多くのコンピューター・システムは、コンピューター・システムのコンフィギュレーションを設定するためのファイル（エクゼキュータブル、クラス・ライブラリー、コンフィギュレーション情報設定、およびリソース）と、１人以上のユーザーによって発生されたまたは受け取られたユーザー・ファイルとの双方を収容するファイル・ストアを特徴とする。また、多くのコンピューター・システムは、広範囲のコンフィギュレーション情報も備えており、当該コンピューター・システムのハードウェアおよびソフトウェアを含むコンピューター・システム・ハードウェアおよびソフトウェア、オペレーティング・システム、シェル・ユーザー・インターフェース、ならびにシェル・ユーザー・インターフェース内で利用可能なアプリケーションのコンフィギュレーションを備えている。種々のユーザー・プロファイルおよびアカウントも存在することがあり、前者は、特定のユーザーまたはユーザークラスを記述する情報（名称、シェル・ユーザー・インターフェース好み、ホーム・ディレクトリ等）を備えており、後者は、ユーザーまたはクラスの特権を記述する情報（ファイル所有権、リード／ライト特権、種々のデバイスへのアクセス等）を備えている。パスワード、証明書、公開／秘密鍵対、およびアクセス制御リストというような、被保護セキュリティ情報は、セキュリティ・オブジェクトに格納することができ、これに対して、オペレーティング・システムは定期的なアクセスを実行することができる。１つ以上のデーター・キャッシュが存在する場合もあり、ブラウザー・キャッシュおよび履歴、アプリケーションまたはブラウザー・テキストボックスにおける最新エントリ、ならびに最新使用ファイルおよびオブジェクト・リスト等がある。種々のアプリケーションは、アプリケーション−またはタスク−特定のアーカイブを作成することができ、種々のフォルダーやメッセージを収容する電子メール・アーカイブや、種々のシステム・ユーザーによって種々のソースから受信しユーザー定義グループに編成されている連絡先情報を収容する共有アドレス・ブック等がある。最後に、この計算システムは、同期すべきオブジェクト、種々の条件によってアクセスを付与することができるオブジェクト集合（リード／ライト特権、所有権、クオータ(quotas)等）というような、特定の情報の集合を他のコンピューター、ユーザー、およびデバイスと交換するように構成することができる。このようなオブジェクト・タイプは、コンピューター・システム内においてその場限りで、種々の管理システム（例えば、ファイル・システム、ファイル登録ストア、ユーザー・アカウント管理システム、および電子メール・システム）によって管理されるのが通例では、アクセス方法やオブジェクト編成には殆ど一貫性も標準化もない。
【００１０】
[0018]  計算システム内におけるオブジェクト・システムのちぐはぐで疎にまとめられた集合としてのオブジェクトの編成は、様々な問題を生ずる可能性がある。第１の例として、一貫性のある１組のオブジェクト（ファイル、アプリケーション、ユーザー・プロファイル、アプリケーション・コンフィギュレーション、データー・キャッシュ等）を備えている一貫性のある計算環境をレンダリングし維持することは、特に、パーソナル・ワークステーション、公衆端末、およびセルフォン・デバイスのように、能力が多様なデバイス間では非常に難しい場合がある。第２の例として、サービスをオブジェクトに提供することは、複数のオブジェクト・システムにおける多様なオブジェクトの格納によって、複雑化することがあり得る。例えば、特定の記述（特定の時間範囲内で最後に変更したオブジェクトというような）に一致するオブジェクトを突き止めるには、１つ以上のファイル・システムを通じて一致するファイルについて照会すること、データーベース・システム全体を通じてデーターベース・レコードを照合すること、システム・レジストリを通じてレジストリ・キーを照合すること、アセンブリ・キャッシュを通じてアプリケーションを照合すること、種々のデーター・キャッシュを通じてデーター・キャッシュ項目を照合すること等が必要となる場合がある。このようなオブジェクト・システムは、オブジェクトの特質に対して具体的なパラメータと共にというように（例えば、ファイル・システム・ジャーナル全体を通じてファイル・レコードを試験し、データー特定タイムスタンプによってデーターベース・レコードを試験する）、関連のあるオブジェクトを非標準的な方法で格納する場合が多いので、動作を種々のオブジェクト・システムの各々に提供することが困難となることもある。第３の例として、各オブジェクト・システムは、特定の種類のオブジェクトを管理するように構成されているので、オブジェクトのタイプを関係付けそして混合することが困難となることもある。例えば、あるアプリケーションが、アセンブリ・キャッシュに格納されているエクゼキュータブル・バイナリーと、システム・レジストリに格納されているコンフィギュレーション情報と、ファイル・システムに格納されている補足ファイル（種々の言語に合った辞書のような）と、データー・キャッシュに格納されているイベント（最近編集した文書というような）とを備えている場合が考えられる。これらのオブジェクト・タイプの関連付けを種々のシステムにおいて表現すること、そしてこのようなオブジェクト全てを一緒に操作すること（例えば、アプリケーションをアンインストールするために、これらのオブジェクトを全て削除する）は困難となることがあり得る。第４の例として、コンピューター・システムのオブジェクト集合は、様々なデバイスに跨って分散されている場合もあり、オブジェクト集合への一貫性のあるアクセスを与えることは、デバイスの種々のコンフィギュレーション、各デバイスのネットワーク能力、そしてデーター交換のために各デバイスによって用いられるワイヤ・フォーマットにおける互換性のなさ（例えば、第１デバイスはＸＭＬ方式にしたがってデーターを交換するように構成���れており、第２デバイスはＪＳＯＮにしたがってデーターを交換するように構成されていることもあり得る）によって複雑化する可能性がある。
【００１１】
[0019]  代わりの手法も考案することができ、その手法では、計算環境は、デバイスの能力に応じたレンダリングを行うためにデバイスに配信することができるように表現される。この表現は、オブジェクト階層にしたがって編成され、共通文法にしたがって表現された１組のオブジェクトを備えている。これらのオブジェクトは、ユーザーによって作成されるユーザー・ファイルおよびデーターのような、コンピューター・システムのデーター・オブジェクトを含む。また、これらのオブジェクトは、シェル、およびその中で提供されるアプリケーションというような、オペレーティング・システムのコンポーネントを構成するエクゼキュータブル・バイナリーおよびクラス・ライブラリーも含む。また、オブジェクトは、計算環境のユーザー・インターフェースを指定する情報を含み、この情報には、シェルの好み(shell preference)（例えば、視覚的主題、アプリケーション起動メニュー、およびダブル・クリックしきい値）、ユーザー・アカウントおよび特権、セキュリティ情報（例えば、パスワード、セキュリティ・トークン、および証明書）、アプリケーション・バイナリーおよびコンフィギュレーション情報、ユーザー・データーおよびメタデーター（例えば、ファイル共有情報）、ならびにデーター・キャッシュ（例えば、最近使用したファイルのリスト、およびブラウザー履歴）が含まれる。これらのオブジェクトの種々の本質および使用にも拘わらず、これらのオブジェクトはオブジェクト階層において共通の態様で表されており、階層において任意に編成することができる。つまり、１組の分離したデーター・ストアを備えており、各々が１つのタイプのオブジェクトを収容する（例えば、ファイル・システムはファイルを収容し、レジストリはコンフィギュレーション情報を収容し、データー・キャッシュはブラウザー履歴を収容する）従来のコンピューター・システムとは対照的に、この手法におけるオブジェクト階層は、このようなオブジェクトの全てをオブジェクト階層において共通の態様で編成する。
【００１２】
[0020]  この態様で表現された計算環境は、いずれのデバイスにでも配信することができ、そのデバイスの能力に適した態様でレンダリングすることができる。例えば、ワークステーションは、この情報を、ロバストな汎用計算環境としてレンダリングすることができ、一方公衆ワークステーションは、ウェブ・ブラウザー（例えば、ユーザーのセッションの終了時に破棄することができる仮想機械）を通じて異なる計算環境体験をレンダリングすることができ、セルフォンは、セルフォン関連情報（例えば、連絡先、カレンダー、およびナビゲーション・データー）により速くアクセスする、より軽いインターフェースを提供することができる。更に、この情報集合に対する更新（例えば、好みの変更、およびその中に収容されているデーター・ファイルに対する更新）は、情報集合の基本的(canonical)ソースに適用することができ、これによって、情報集合が配信される他の全てのデバイスに伝搬させることができる。また、計算環境を共有するデバイス同士を、共有情報集合を通じて統合して、１つのデバイスが、情報集合において特定された他のデバイスと相互作用を行うことができる。例えば、第１デバイス上に格納されているデーターに第２デバイスによってアクセスすることができ、第２デバイスによって第１デバイスを、通信管路を通じて、制御することができる。したがって、情報集合は、計算環境を、役割、能力および各デバイスのリソースと共に、共有するデバイスの集合体を特定し、潜在的に大多数で多様となる可能性があるデバイス群に跨って、統合計算体験を提供することができる。
【００１３】
[0021]  図１は、このような想定場面１０の１つを示す。ここでは、計算環境は、計算環境ホスト１２によってホストすることができ、計算環境ホスト１２はオブジェクト階層１４を格納および管理することができる。また、計算環境ホスト１２は、セルフォン・デバイス１６、パーソナル・ノート型コンピューター２０、および公衆ワークステーション２４というような種々のデバイスに代わって、更に異なるアクセス特権を有する異種類のユーザーに代わって、異なる方法でオブジェクト階層１４をレンダリングすることができる。したがって、計算環境のレンダリングは、同じアプリケーション、ユーザー・プロファイル、シェル・コンフィギュレーション、ユーザー・データー・オブジェクト等を露出する全てのデバイスに跨って、一貫性のある計算環境を反映(reflect)する。つまり、ユーザーは、高性能ノート型コンピューターによって全機能満載バージョン２２の計算環境にアクセスすることができ、停電力セルフォン・デバイス１６上において余分なものを省いたバージョン１８の計算環境にアクセスすることができ、更に公衆端末２４のウェブ・ブラウザー１４６によって、秘密指向バージョン２８の計算環境にアクセスすることができる。このようなデバイスの各々の能力が計算環境のレンダリングをサポートする範囲において、各デバイスの能力に合わせて調節されたオブジェクト階層１４のレンダリングにより、一貫性のあるユーザー・インターフェースおよびデーター集合を提示することができる。計算環境に対する更新は、計算環境ホスト１２に向かって逆に伝搬させることができ、他のデバイスと自動的に同期させることができる。また、種々のデバイスは、ローカルに格納されているデーターを他のデバイスと共有することによって、そして他のデバイスを制御するまたは他のデバイスによって制御されることによって、協同することもできる。したがって、計算環境は、クラウド計算アーキテクチャとして考案し提示することができ、同じ計算環境に対して協同ポータル（デバイス特定プロパティを有する）のメッシュを形成する全てのデバイス（「クライアント」）に跨る、一貫性のあるレンダリングとして表されるデバイス独立表現（「クラウド」）を構成する。更に、計算環境ホスト１２は、オブジェクト階層１４を構成する種々のオブジェクトにサービスを適用することができ、オブジェクト階層にオブジェクトを格納する共通フォーマットが、適用されるオブジェクトの本質とは無関係に、サービスの一貫性のある可用性および適用を促進することができる。
【００１４】
[0022]  これらの目的を促進するために、オブジェクト階層のオブジェクト群を特定の態様で編成するオブジェクト階層体系を考案することができる。例えば、データー・オブジェクト（ファイルのような）、ユーザーおよびユーザー・アカウント、デバイス、ならびに計算環境によって生ずるイベント、更にはそれらの間の派生(derivation)、所有、および相互関係を表すために、オブジェクトを考案し構造化することができる。このオブジェクトを編成する態様は、オブジェクトの別の編成に対して、格別な利点をもたらす、および／または欠点を低減することができる。したがって、このオブジェクト階層体系は、これにしたがってオブジェクトを編成するができ、計算環境のこのようなオブジェクトの使用を考慮して考案される。例えば、それぞれのオブジェクトを、種々の許可の集合を有する１つ以上のユーザー・アカウント（例えば、あるオブジェクトに対してリード／ライト許可を有する第１ユーザー・アカウント、そのオブジェクトに対して読み取り専用許可を有する第２ユーザー・アカウント、およびそのオブジェクトに対して許可を有していない第３ユーザー・アカウント）と関連付けることによって、セキュリティ許可(security permission)をモデル化することができる。計算環境は、オブジェクト階層体系の構造およびセマンティクス(semantics)にしたがって、オブジェクト階層のオブジェクトを利用するように構成することができ、これによって、各デバイスのコンフィギュレーションおよび能力に適した態様であるが、それ以外ではこのようなデバイス全ての間で一貫性のある態様で、複数のデバイスに跨って、配備可能な計算環境の提示を可能にする。
【００１５】
[0023]  オブジェクト階層体系の定式化は、計算環境をホストするデバイスおよびサーバーのコンフィギュレーションに大きな影響を及ぼす可能性があることは認めることができよう。一例として、あるデバイスが計算環境の一部のみを要求することもあり得るし（例えば、セルフォン・デバイスが、電話番号および電子メール・アドレスというような１組の連絡先情報のみを含む、オブジェクト階層の部分を要求することもあり得る）、サーバーはその部分のみを提供することもできる。しかしながら、デバイスおよびサーバーが異なるオブジェクト階層体系において動作している場合、要求は失敗する場合もある。例えば、デバイスが、第１のオブジェクト階層体系にしたがったオブジェクト階層の特定部分（例えば、/Contacts）を要求したが、サーバーはこのような情報を第２のオブジェクト化階層体系にしたがったオブジェクト階層の別の部分（例えば、/AddressBook/Contacts）に格納していることも有り、したがって、連絡先情報が、このサーバーによってホストされているオブジェクト階層内に存在していても、要求された情報を提供することができないこともあり得る。第２の例として、サーバーは、任意のオブジェクト階層にしたがってオブジェクト階層を格納することができることもあるが、サービスを提供している間、オブジェクト階層の一部を利用するように構成した方が有利であることもあり、したがって、特定のオブジェクト階層体系にしたがってオブジェクト階層内に定められ編成されたオブジェクトを発見することを予期することもできる。例えば、デバイスによるオブジェクト階層を受信する要求に応答して、サーバーは、オブジェクト階層に格納されている認証情報を用いて、このデバイスを認証しようとすることができる。つまり、サーバーは、それに関係するサービスを提供しつつ、オブジェクト階層体系内に格納されている情報にアクセスもアクセスしこれを利用できるようにするために、特定のオブジェクト階層体系にしたがってオブジェクト階層をホストするように一層容易に構成することができる。
【００１６】
[0024]  以上の原理を考慮して、本明細書において紹介するのは、１つのこのようなオブジェクト階層体系であり、サーバーによるサービスの計算環境への適用、および計算環境を一貫性があるがデバイス特定的な態様でレンダリングすることができるデバイスへの計算環境の配備可能性を容易にするような特定の態様でオブジェクトを定めそして相互に関係付ける。本明細書において記載するオブジェクト階層体系は、１組の定められたオブジェクトとして提示され、各定義(definition)は計算環境における特定のタイプのデーター・オブジェクト（例えば、ユーザー・プロファイル、アプリケーション、およびデバイス）を表し、それに関係するある種のプロパティを有する。オブジェクトの一部は、特殊化されたタイプの他のオブジェクトとして定められ、例えば、包括的「人物」オブジェクト・タイプは、「ユーザー」オブジェクト・タイプを表すように拡大することもできる。「ユーザー」オブジェクト・タイプとは、計算環境において当該人物の特権を表す追加情報を有する人物とすることができる。加えて、一部のオブジェクトは、１つ以上の「人物」オブジェクト・タイプを収容する「人物集合体」オブジェクト・タイプのような、１つ以上の他のオブジェクトのためのコンテナとして定められている。更に、本明細書において紹介するオブジェクト階層体系は、ここではオブジェクト階層内において定められるオブジェクトの階層的編成を定める。即ち、ある種のオブジェクト・タイプは、オブジェクト階層のある場所に格納されることになっているので、オブジェクト階層においてこのようなオブジェクトを検索する任意のデバイスまたはコンピューター・システムは、計算環境内に存在する任意のものを、オブジェクト階層内における既知の確定した場所において発見する。
【００１７】
[0025]  図２は、オブジェクト階層体系のオブジェクト・タイプ、およびそれらの間における拡張相互関係を示す。この図では、オブジェクト関係は、オブジェクト間の特殊化(specialization)を示す。例えば、「動物」オブジェクト・タイプは、「哺乳類」オブジェクト・タイプとして特殊化することができ、これを更に「猫」オブジェクト・タイプとして特殊化することができる。オブジェクト階層体系内における各オブジェクトのプロパティに付いての詳細をここで論ずるが、この図は、本明細書において紹介するオブジェクト階層体系に含まれるデーター・オブジェクトのタイプの全体像として提示する。
【００１８】
[0026]  図２のオブジェクト階層体系オブジェクト集合３０は、オブジェクト階層内に格納されている基本的データー・オブジェクトを表す、リソース・オブジェクト・タイプ３２を含む。リソース・オブジェクト・タイプ３２は、オブジェクト階層内において別個のアドレス可能な場所を規定するために、オブジェクト階層体系内にアドレス可能なオブジェクトを示す。即ち、オブジェクト階層における個々のアドレスについて、オブジェクト階層における１つのオブジェクトのみがその場所に対応する。このオブジェクト階層体系の実施形態によっては、リソースが１つのアドレスのみで特定できる場合もあり、一方オブジェクト階層体系の他の実施形態では、複数のアドレスによってリソースが特定される場合もある。しかしながら、このような実施形態のいずれにおいても、オブジェクト階層における１つのアドレスは、せいぜい１つのオブジェクトと関連付けられるに過ぎないであろう。
【００１９】
[0027]  図２のオブジェクト階層体系オブジェクト集合３０のリソース・オブジェクト・タイプ３２は、多くの他のオブジェクト・タイプに対して基本オブジェクト・タイプとしての役割を果たす。これらのオブジェクト・タイプのいくつかは、従来の計算環境において１つ以上のファイルとして考案されることもあるオブジェクトに対応する。第１の例として、オブジェクト階層体系オブジェクト集合３０は、コア・オブジェクト・オブジェクト・タイプ３４を含む。これは、オブジェクト階層のルートに位置する１組のオブジェクトを備えている、特殊化タイプのリソースである。また、オブジェクト階層体系オブジェクト集合３０は、アプリケーション・オブジェクト・タイプ３６も含む。これは、計算環境においてインストールされたアプリケーションを表すオブジェクトを示す特殊化タイプのリソースである。多くの他のオブジェクトには、ファイル、アプリケーション・アイコン、および１つ以上のエクゼキュータブル・バイナリーというような、アプリケーション・オブジェクト・タイプと関連付けることができる。また、オブジェクト階層体系オブジェクト集合３０は、データー・エントリ・オブジェクト・タイプ３８も含む。これは、アプリケーション・バイナリー、文書、１組のアプリケーション・コンフィギュレーション情報、画像等のような、データーの原子単位のコンテナを表す特殊化タイプのリソースである。また、オブジェクト階層体系オブジェクト集合３０は、ニュース項目オブジェクト・タイプ４０も含む。これは、計算環境において注目に値するイベントを示す特殊化タイプのデーター・エントリ・オブジェクトである。
【００２０】
[0028]  また、リソース・オブジェクト・タイプは、他のタイプのオブジェクトに対して基本オブジェクト・タイプとしての役割を果たすこともできる。一例として、オブジェクト階層体系オブジェクト集合３０は、データー・フィード・オブジェクト・タイプ４２も含むことができる。これは、アルバムを構成する１組のソング（例えば、ＭＰ３オブジェクト）または写真アルバムを構成する１組の写真画像というような、関係するデーター・エントリの集合体を示す特殊化タイプのリソースである。また、オブジェクト階層体系オブジェクト集合３０は、活動オブジェクト・タイプ４４も含む。これは、オブジェクトの作成、ユーザー・ログイン、および計算環境内におけるデバイスの追加というような、最近計算環境において発生したイベントを表す特殊化タイプのリソースである。（活動は、テキストの一部をコピーするというような、ユーザーにとってはほんの一時的な関心事に過ぎないと思われる、計算環境の通常過程において発生する、重要性の低いイベントを表す。一方、ニュース項目は、写真アルバムの作成というような、ユーザーにとってもっと長期間関心が持続すると思われる、重要性が高いイベントを表す。）また、オブジェクト階層体系オブジェクト集合３０は、メンバー・オブジェクト・タイプ４６も含む。これは、コア・オブジェクトと、例えば、所有権または許可設定を通じてコア・オブジェクトに関係付けられているユーザーとの間における関係を示す特殊化タイプのリソースである。また、オブジェクト階層体系オブジェクト集合３０は、デバイス・オブジェクト・タイプ４８も含む。これは、オブジェクト階層の少なくとも一部が送信を許可されており、表される計算環境の少なくとも一部がレンダリングを許可されているデバイスを表す特殊化タイプのリソースである。また、オブジェクト階層体系オブジェクト集合３０は、マッピング・オブジェクト・タイプ５０も含む。これは、デバイス（即ち、デバイス・オブジェクト）とそのデバイスに配信することができるコア・オブジェクトとの間の関係を示す、特殊化タイプのリソースである。また、オブジェクト階層体系オブジェクト集合３０は、プロファイル・オブジェクト・タイプ５２も含む。これは、計算環境の少なくとも一部の許可済みユーザーのユーザー・プロファイルを表す、特殊化タイプのリソースである。これらのオブジェクト・タイプは、リソース・オブジェクト・タイプ３２に基づき、これらのオブジェクト・タイプのオブジェクトは、文書や画像というような、もっと型にはまったオブジェクト・タイプと同様に、アドレス可能およびアクセス可能な態様でオブジェクト階層に含まれる。
【００２１】
[0029]  また、オブジェクト階層体系オブジェクト集合３０は、リソース・オブジェクト・タイプ３２から特殊化されないオブジェクト・タイプも含む。これらのオブジェクトは、オブジェクト階層体系に含まれるが、オブジェクト階層体系３０のアドレシング・モードにしたがってアドレス可能なエンティティとして含まれないことがある。むしろ、これらのオブジェクトは、他のオブジェクトのアクセス可能なメンバー、またはオブジェクト階層体系３０のアドレシング・モデルの外部にあるオブジェクトにカプセル化されているオブジェクト階層体系の特殊化された機構(feature)を備えることができる。一例として、オブジェクト階層体系オブジェクト集合３０は、メッシュ・オブジェクト・タイプ５４を含む。これは、オブジェクト階層全体に関する情報を含む。通例、１つのメッシュ・オブジェクトには特定のオブジェクト階層が関連付けられていると考えられるが、この関連付けの変形を、オブジェクト階層体系の他の実施形態に含めることもできる。また、オブジェクト階層体系オブジェクト集合３０は、ストレージ・サービス・オブジェクト・タイプ５６も含む。こっれは、オブジェクト階層の一部（例えば、１つ以上のコア・オブジェクト）が位置する記憶デバイスを表す。また、オブジェクト階層体系２０は、リソース集合体オブジェクト・タイプ５８も含む。これは、特定のオブジェクト・タイプのリソースの集合体を表す。例えば、デバイス・オブジェクトには、当該デバイスと関連のあるマッピング・オブジェクトのリソース集合体を構成することができる１つ以上のそれぞれのマッピング・オブジェクトを通じて、１つ以上のコア・オブジェクトと関連付けることができる。同様に、計算環境のユーザー・プロファイルは、オブジェクト階層のメッシュ単集合オブジェクト(mesh singleton object)と関連のあるプロファイル・オブジェクトのリソース集合体として表すこともできる。また、オブジェクト階層体系２０は、アイデンティティ・オブジェクト・タイプ６０も含む。これは、計算環境における特定のユーザー、例えば、そのユーザーに承諾を与えた許可を記述する。また、オブジェクト階層体系２０は、役割オブジェクト・タイプ６２も含む。これは、特定のタイプの役割（例えば、所有者、リーダ、および寄与者）に応じたコア・オブジェクトとメンバ・オブジェクトを関係付ける。
【００２２】
[0030]  図２に示すオブジェクト・タイプが一緒になって、オブジェクト階層体系の大部分を構成し、計算環境の多くのオブジェクトは、これらのタイプの相互関係付けられたオブジェクトにしたがって表すことができる。これらのオブジェクト・タイプ、およびこのようなオブジェクト・タイプのオブジェクトを備えているオブジェクト階層に関して、図３はオブジェクト階層体系７０の構造を示す。図３において、第１オブジェクトから第２オブジェクトへの単頭矢印は、第１オブジェクトの第２オブジェクトに対する関係を示す。また、図３において、第１オブジェクトから第２オブジェクトへの両頭矢印は、第１オブジェクトが、第２オブジェクトによって示されるタイプの１つ以上のオブジェクトの集合体であることを示す。例えば、メッシュ・オブジェクト７２はデバイス集合体７８に関係付けられている（単頭矢印によって示されている通り）。デバイス集合体７８は、デバイス・オブジェクト８０の集合体を含む（両頭矢印によって示されている通り）。尚、図２のオブジェクト階層体系オブジェクト集合３０は、オブジェクト・タイプの特殊化を示し（例えば、第１オブジェクトが第２オブジェクトの特殊化タイプである）、一方図３のオブジェクト階層体系７０は、オブジェクト階層におけるこれらのオブジェクト・タイプのオブジェクトの編成を示す（例えば、第１オブジェクトが第２オブジェクトの１つ以上に関係付けられている）。
【００２３】
[0031]  図３は、本明細書において記載するオブジェクト階層体系例７０を示す。オブジェクト階層体系７０は、メッシュ・オブジェクト７２を備えており、このオブジェクト階層体系例７０では、メッシュ・オブジェクト７２は、計算環境を記述する単集合オブジェクトを備えている。メッシュ・オブジェクト７２は、６つのタイプのオブジェクトおよびオブジェクト集合体に関係付けられている。最初に、メッシュ・オブジェクト７２はプロファイル・オブジェクト７４に関係付けられている。このオブジェクト階層体系例７０では、プロファイル・オブジェクト７４は、現ユーザーのプロファイルを表す単集合オブジェクトを備えている。また、オブジェクト集合７２はストレージ・サービス集合体７６にも関係付けられている。ストレージ・サービス集合体７６は、オブジェクト階層の部分を格納することができる異なる場所を表す、０以上のストレージ・サービス・オブジェクト７８を収容する。（尚、ストレージ・サービス集合体７６またはストレージ・サービス７８のいずれも、「リソース」とは呼ばれないことを記しておくとよいであろう。何故なら、これらのオブジェクトはリソース・オブジェクト・タイプ３２に基づいていないからである。）また、メッシュ・オブジェクト７２は、アプリケーション・リソース集合体８０にも関係付けられている。アプリケーション・リソース集合体８０は、オブジェクト階層によって表される計算環境において利用可能なアプリケーションを表す０以上のアプリケーション・リソース・オブジェクト８２を含む。また、メッシュ・オブジェクト７２は、デバイス・リソース集合体７６にも関係付けられている。デバイス・リソース集合体７６は、計算環境の少なくとも一部をレンダリングすることができるデバイスを表す０以上のデバイス・リソース・オブジェクト８４を含む。最後に、メッシュ・オブジェクト７２は、コア・オブジェクト・リソース集合体９２にも関係付けられている。コア・オブジェクト・リソース集合体９２は、オブジェクト階層のルートに位置する１組のオブジェクトを構成する０以上のコア・リソース・オブジェクト９４を含む。
【００２４】
[0032]  図３のオブジェクト階層体系例７０に更に示すように、コア・リソース・オブジェクト９４は４つのオブジェクト集合体に関係付けられている。第１に、コア・リソース・オブジェクト９４は、少なくとも０のマッピング・リソース・オブジェクト９８を含むマッピング・リソース集合体９６に関係付けられている。マッピング・リソース・オブジェクト９８は、コア・リソース・オブジェクト９４の、コア・リソース・オブジェクト９８をレンダリングすることができるデバイスとの関係を表し、したがって、それぞれのマッピング・リソース・オブジェクト９８は少なくとも１つのデバイス・リソース・オブジェクト８６に関係付けられている。また、コア・リソース・オブジェクト９４は活動リソース集合体１００にも関係付けられており、活動リソース集合体１００は種々の変更(alternation)というような、コア・リソース・オブジェクト９４に関して発生した重要性の低いイベントを表す０以上の活動リソース・オブジェクト１０２を含む。また、コア・リソース・オブジェクト９４はメンバー・リソース集合体１０６にも関係付けられている。メンバー・リソース集合体１０６は、コア・リソース・オブジェクト９４に対する種々のレベルのアクセスが与えられるユーザーを表す１つ以上のメンバー・リソース・オブジェクト１０６を含む。それぞれのメンバー・リソース・オブジェクト１０６は、１つ以上のアイデンティティ・オブジェクト１０８に関係付けられており、アイデンティティ・オブジェクト１０８は、メンバー・リソース・オブジェクト１０６によって表されるメンバーについての追加情報を提供する。最後に、コア・リソース・オブジェクト９４は、データー・フィード・リソース集合体１１０にも関係付けられている。データー・フィード・リソース集合体１１０は、関連付けられたデーター・エントリの種々の集合体（例えば、音楽アルバムにおけるソングというような、関係付けられたユーザー・オブジェクトの集合体）を表す０以上のデーター・フィード・リソース・オブジェクト１１２を含む。データー・フィード・リソース・オブジェクト１１２は、それぞれ、データー・エントリ・リソース・オブジェクト１１６のデーター・エントリ・リソース集合体１１４に関係付けられている。また、データー・フィード・リソース・オブジェクト１１２は、データー・フィード・リソース・オブジェクト１１２に関して種々のユーザーに広げられたアクセス特権を表す役割オブジェクト１２０の役割集合体１１８に関係付けられている。しがたって、役割オブジェクト１２０は、このような役割を果たすユーザーを表す１つ以上のメンバー・リソース・オブジェクト１０６に関係付けられている。
【００２５】
[0033]  したがって、図３のオブジェクト階層体系例７０は、典型的なコンピューター・システムを構成する種々のそして雑多なデーター・オブジェクトを表すような態様で、図２に示したオブジェクト・タイプの編成例を提示する。オブジェクト階層（図１の想定場面１０におけるオブジェクト階層例１４のような）は、オブジェクト階層体系例７０に倣ってモデル化することができ、サーバー（計算環境ホスト１２のような）によってホストすることができる。サーバーは、計算環境を変更および維持するために、１組のサービスをオブジェクト階層１４のオブジェクトに適用することができる。また、オブジェクト階層１４を１つ以上のデバイス（セルフォン・デバイス１６、パーソナル・ノート型コンピューター２０、および公衆ワークステーション２４というような）に配備することもでき、これらのデバイスは、図３のオブジェクト階層体系例７０に倣ってモデル化されたオブジェクト階層を受けるように構成され、したがって、これによって表される計算環境を一貫性のある態様でレンダリングすることができる。
【００２６】
[0034]  尚、オブジェクト階層体系の定式化は、計算環境を表すオブジェクト階層のインスタンスを作成するためにも用いてもよいことも認めることができよう。したがって、図４は、計算環境を表す方法例１３０を示し、この方法例１３０は、図３のオブジェクト階層体系例７０のようなオブジェクト階層体系に応じて編成されたオブジェクト階層のように、計算環境を表すことを伴う。図４の方法例１３０は、１３２において開始し、計算環境を、当該計算環境を記述するメッシュ・オブジェクトを備えるオブジェクト階層として表す（１３４）ことを伴う。一方、メッシュ・オブジェクトは、少なくとも１つのプロファイル・リソース・オブジェクト、ストレージ・サービス・オブジェクトのストレージ・サービス集合体、アプリケーション・リソース・オブジェクトのアプリケーション・リソース集合体、デバイス・リソース・オブジェクトのデバイス・リソース集合体、ニュース項目リソース・オブジェクトのニュース項目リソース集合体、およびコア・リソース・オブジェクトのコア・オブジェクト・リソース集合体を備えている。一方、それぞれのコア・リソース・オブジェクトは、コア・オブジェクトを少なくとも１つのデバイス・オブジェクトに関係付けるマッピング・リソースのオブジェクトのマッピング・リソース集合体、活動リソース・オブジェクトの活動リソース集合体、コア・オブジェクトを少なくとも１つのアイデンティティ・オブジェクトに関係付けるメンバー・リソース・オブジェクトのメンバーリソース集合体、およびデーター・フィード・リソース・オブジェクトのデーター・フィード・リソース集合体を備えている。最後に、それぞれのデーター・フィード・リソース・オブジェクトは、データー・エントリ・リソース・オブジェクトのデーター・エントリ・リソース集合体、およびデーター・フィード・リソース・オブジェクトをコア・リソース・オブジェクトのメンバー・リソース・オブジェクトに関係付ける役割リソース・オブジェクトの役割リソース集合体を備えている。このようにオブジェクトの階層のオブジェクトを編成し相互に関係付けることによって、この方法例は、計算環境の表現を配備可能に達成し、したがって１３６において終了する。
【００２７】
[0035]  図５は、図３のオブジェクト階層体系例７０に基づき、そして図２のオブジェクト階層体系オブジェクト集合３０に示されているオブジェクト・タイプを利用したオブジェクト階層例１４０を示す。オブジェクト階層例１４０は、現ユーザーを表すプロファイル・リソース・オブジェクト１４４を含むメッシュ・オブジェクト１４２、オブジェクト階層例１４０を格納するストレージ・サービス（計算環境ホストおよびセルフォン・デバイスのような）を表すストレージ・サービス集合体１４６、計算環境において利用可能な１組のアプリケーション（カレンダ・アプリケーションおよび計算器アプリケーションのような）を表すアプリケーション・リソース集合体１４８、一緒に計算環境を構成するデバイス（ワークステーション・コンピューター・システムおよびセルフォン・デバイスのような）を表すデバイス・リソース集合体１５０、および計算環境において発生した注目に値するイベント（新たな写真アルバムの作成、および音楽アルバムの追加というような）を記述するニュース項目リソース集合体１５２を備えている。また、メッシュ・オブジェクト１４２は、コア・リソース・オブジェクト集合体１５４も含む。コア・リソース・オブジェクト集合体１５４は、１組の写真アルバムを表す第１コア・リソース・オブジェクト１５６と、１組の音楽アルバムを表す第２コア・リソース・オブジェクト１６６とを含む。第１コア・リソース・オブジェクト１５６は、第１コア・リソース・オブジェクト１５６に関して発生した重要性の低いイベントを表す活動リソース集合体、第１コア・リソース・オブジェクト１５６に対して種々のレベルのアクセスが与えられるメンバーを表すメンバー・リソース集合体、および第１コア・リソース・オブジェクト１５６をアクセスする際に用いることができるデバイスに、第１コア・リソース・オブジェクト１５６を関係付けるマッピング集合体を含む。また、第１コア・リソース・オブジェクト１５６は、データー・フィード・リソース集合体も含み、データー・フィード・リソース集合体は、写真アルバム集合体において写真アルバムを表すデーター・フィード・リソース・オブジェクト１５８を備えている。一方、データー・フィード・リソース・オブジェクト１５８は、写真アルバムの写真を備えているデーター・エントリ・リソース集合体１６２と、写真アルバムに関するメンバーの種々の役割を表す役割リソース集合体１６４（第１メンバーによって占められる「所有者」役割、および第２メンバーによって占められる「寄与者」役割）とを含む。同様に、第２コア・リソース・オブジェクト１６６は、活動、メンバー、マッピング、およびデーター・フィードの集合体を含む。データー・フィードは、音楽アルバムにおける種々のソングを表すデーター・エントリ・リソース集合体１７２、および音楽アルバムにアクセスすることができるメンバー（第１メンバーによって占められる「所有者」役割、および第２メンバーによって占められる「聴取者」役割）を表す役割リソース集合体１７４を有する音楽アルバムを表すデーター・フィード・リソース・オブジェクト１７０を含む。
【００２８】
[0036]  本明細書において論ずるように考案されたオブジェクト階層体系（図３のオブジェクト階層体系例７０のような）は、多くの態様において、変形と共に実現することができる。一部の変形は、これらおよびその他の技法のその他の変形に関して、更に別の利点を表すことおよび／または欠点を縮減することもあり得る。これらの変形は、このような追加利点および／または縮減された欠点を促進するために、これらの技法の実施形態（図４の方法例１３０のような）、単体でまたは他の変形と組み合わせて含まれる可能性もある。
【００２９】
[0037]  これらの技法の実施態様間で多様に変化する可能性がある第２の態様は、オブジェクト階層体系にしたがって編成されたオブジェクト階層のオブジェクトを格納する態様に関する。本明細書において記載するオブジェクト階層体系は、オブジェクト階層の多くのモデルにおいて具体化することができる。いくつかの実施形態例を図６に示す。各々、人物（プロパティ「Fname」および「Lname」を有する）、デバイス（プロパティ「DeviceID」を有する）、およびアプリケーション（プロパティ「タイトル」および「バイナリー」を有し、後者はエクゼキュータブル・バイナリーの内容を構成する）を表すオブジェクトの格納を示す。第１の例１８０として、オブジェクト階層体系は、Ｃ＃のようなオブジェクト指向言語で書かれた１組のオブジェクトとして明示することができる。オブジェクトは、クラスからインスタンス化され、一方、クラスは、名称が付けられたプロパティおよびメソッドの、明確にタイプ分けされた(well-typed)集合体として定められる。このモデルでは、１組のクラスを定めることができ、クラスによってモデル化されるオブジェクトのタイプのインスタンスを表すために、各クラスからオブジェクトをインスタンス化することができる。例えば、人物を表すために、１つのクラス・タイプを定めることができ、クラスは、第１人物（「デビッド・スミス」）を表す第１クラス・インスタンス（「人物１」）と、第２人物（「ジョン・リー」）を表す第２クラス・インスタンス（「人物２」）としてインスタンス化することができる。第２の例１９０として、オブジェクト階層体系は、リレーショナル・データーベースのような、データー・ストアに格納された１組のオブジェクトとして明示することができる。オブジェクトの各タイプは、オブジェクトのプロパティにしたがって構造化された特定のリレーショナル・テーブルに格納することができる。例えば、テーブルは、種々の人物の表現を格納するように構造化することができ、第１人物（「デビッド・スミス」）を表す第１レコード（「人物１」）と、第２人物（「ジョン・リー」）を表す第２レコード（「人物２」）とを含むことができる。第３の例２００として、オブジェクト階層のオブジェクトは、オブジェクト階層体系のオブジェクトに倣ってモデル化することができるが、プロパティ名および値の辞書を提供する構造不可知的な態様(structure-agnostic manner)で格納することができる。タプル・システム(tuple system)を利用することもでき、この場合、いずれの名称でも任意の１組のオブジェクトをキー／値タプルとして宣言することができる。例えば、人物の表現は、第１人物（「デビッド・スミス」）を表す第１のツー・タプル（「人物１」）、および第２人物（「ジョン・リー」）を表す第２のツー・タプル（「人物２」）として格納することができる。オブジェクト階層体系のこれらおよびその他の実施形態も、本明細書において論ずる技法を実現する間に、当業者によって考案することができる。
【００３０】
[0038]  これらの技法の実施態様間で多様に変化する可能性がある第２の態様は、これらのオブジェクト・タイプの拡張可能性、および／または新しいオブジェクト・タイプの追加を促進する態様としたオブジェクト階層体系の定式化に関する。図２に示したオブジェクト・タイプは、計算環境のオブジェクトの多くまたは全てを表すには最大限適していると言える。しかしながら、図２に示したオブジェクト階層体系オブジェクト集合例３０は、オブジェクト階層体系において定めて組み込むことができるオブジェクト・タイプの網羅的なリストとして提示されたのではない。オブジェクト階層体系の種々の実施形態は、図２に示したオブジェクト・タイプに加えて、これらから特殊化されたその他のオブジェクト・タイプ、および／またはこれらの些細な変更として、他のオブジェクト・タイプを含みそして定めることができる。更に、オブジェクト階層体系の実施形態の中には、他のタイプのオブジェクトでも、それによって編成されるオブジェクト階層内に格納することを可能にする場合もある。したがって、オブジェクト階層体系は、拡張可能なオブジェクト・システムとして考案することができ、オブジェクトは、新たなオブジェクト・タイプにしたがってオブジェクト階層内に作成することができ、オブジェクト・タイプを新たなプロパティで拡大することもできる。第１の例として、オブジェクトの完全に新しいタイプを種々のユーザーによって考案し、オブジェクト階層の中に挿入することができる。第２の例として、ユーザーが、セマンティック関係を有するオブジェクトを示すために、メタデーターをオブジェクトと関連付けたい場合がある。このメタデーターは、オブジェクト階層のオブジェクトを、ユーザーにとって価値のある情報で補うことができ、メタデーターがオブジェクト階層におけるオブジェクトの表現と干渉しないような態様で、オブジェクト階層体系を考案することができる。
【００３１】
[0039]  オブジェクト階層体系の拡張可能性の促進のために、オブジェクト階層のそれぞれのオブジェクトは、再帰可能な基本表現フォーマットにしたがって指定および格納することができ、オブジェクトのコンポーネントを基本的な態様で表すことができる。例えば、オブジェクトは、通例、３つのタイプのデーター・エレメント、即ち、原子（数値またはキャラクタのようなデーターの単一単位）、レコード（共に動作するデーターの単一単位の集合体）、およびシーケンス（エレメントの集団）を含むことは認めることができよう。レコードは、一般に、まとめて１７７６年７月４日という日付を表す数値、７、４、および１７７６のように、１つの表現として分割不可能に一緒に機能する１組のエレメントを示す。一方、シーケンスは、素数の部分集合を構成する２、３、５、および７というような、分割可能な１組の項目を示す。更に、再帰によって文法(grammar)を考案することもでき、これによってある種のエレメント（例えば、シーケンスのシーケンス、またはレコードの１つのエレメントとしてシーケンスを含むレコード）のネスティングが可能になる場合もある。このようにオブジェクトを編成することによって、オブジェクト階層体系は、既知のオブジェクト・タイプ（図２に示したもののような）のオブジェクトの表現だけでなく、未知のオブジェクト・タイプのオブジェクトの表現も可能とし、更に、ユーザーが定めるメタデーターのように、既知のオブジェクト・タイプの新たな情報による拡張も可能にすることができる。多くの拡張可能オブジェクト階層体系およびそのフォーマットも、本明細書において論ずる技法を実現する間に、当業者によって考案することができる。
【００３２】
[0040]  これらの技法の実施態様間で多様に変化する可能性がある第３の態様は、オブジェクト階層のオブジェクトを特定することができるアドレシング・モデルに関する。このアドレシング・モデルは、オブジェクト階層を構成するオブジェクトの階層的配列を反映するように選択することができる利点がある（即ち、第１オブジェクトが階層的に第２オブジェクトに従属する場合、第１オブジェクトのアドレスは階層的に第２オブジェクトのアドレスに従属する）。また、このアドレシング・モデルは、アドレス毎にせいぜい１つのオブジェクトを指定するように選択することができ、オブジェクトがオブジェクト階層において位置を変化させたり、あるいは除去されたりするまで、またはそうされない限り、オブジェクトは特定のアドレスにおいてアドレス可能であり続けるように選択することができる利点がある。オブジェクト階層体系の実施形態によっては、それぞれのオブジェクトが１つのアドレスにおいて入手可能なように、第１アドレスにおいて入手可能な第１オブジェクトが、第２アドレスにおいて入手可能な第２オブジェクトと比較して、実際に異なるオブジェクトとなるように、アドレシング・モデルを考案することもできる。オブジェクト階層体系の別の実施形態では、１つのオブジェクトが２カ所以上のアドレスにおいてアクセス可能な場合もある。一例として、１つのオブジェクトが、オブジェクト階層における階層アドレスと、オブジェクト階層におけるその位置には関係なく当該オブジェクトを別個に特定することができる、大域的に別個のアドレス(globally distinctive address)との双方を有することもできる。例えば、オブジェクト階層のオブジェクトには、大域的一意識別子（ＧＵＩＤ）を割り当てることができ、オブジェクト階層における１つ以上の階層アドレスにしたがってアクセスすることができ、あるいはそのＧＵＩＤにしたがって非階層的にアクセスすることもできる。つまり、ジョン・リーについての連絡先情報を表すオブジェクトには、作成時に、０ｘＦ４５１Ｄ３Ｅ０が指定され、階層的位置および名称（例えば、/Contacts/JohnLee）によってまたはＧＵＩＤ（例えば、/GUIDs/F451D3E0）によってアクセスすることができる。オブジェクト階層体系のための多くのアドレシング・モデルも、本明細書において論ずる技法を実現する間に、当業者によって考案することができる。
【００３３】
[0041]  このようなアドレシング・モデルの内有利であり得る１つは、オブジェクト階層のそれぞれのアドレスについて、リソース・オブジェクト・タイプのせいぜい１つのオブジェクトしか定めない階層アドレシング・モデルを伴う。このアドレシング・モデルは、図２のオブジェクト階層体系オブジェクト集合例３０に示したような、オブジェクト・タイプを備えているオブジェクト階層体系に適用することができ、多くのオブジェクト・タイプが基本リソース・オブジェクト・タイプ３２から派生する。これから派生したこのようなオブジェクトのいずれにも、オブジェクト階層における１つの階層的指向アドレスを割り当てることができ、逆に、リソース・オブジェクト・タイプ３２から派生しないオブジェクトは、アドレシング・モデルを通じて入手可能ではない場合もある。更に特定すれば、階層的アドレシング・モデルは、均一リソース識別子（ＵＲＩ）階層アドレシング・モデルにしたがって定めることもできる。ＵＲＩは、通例、次のシンタックスにしたがって定められる。
【００３４】
【数１】
0005559140.tif 000002
【００３５】
ここで、schemeは通信プロトコル（ＨＴＴＰ、ＦＴＰ、ｔｅｌｎｅｔ等）を表し、authorityはサーバーまたはデーター源を表し、pathはその名称のリソースが存在する階層のノードへの、スラッシュで範囲を定められた経路を表す。オブジェクト階層体系（図３のオブジェクト階層体系例７０のような））に基づくオブジェクト階層のオブジェクトは、
【００３６】
【数２】
0005559140.tif 000003
【００３７】
というような態様でアドレスすることができる。
【００３８】
[0042]  このアドレシング・モデルは、様々な態様において有利であると言える。第１に、このようにアドレス可能なオブジェクト階層は、ウェブサーバーが特に計算環境を表すオブジェクト階層のオブジェクトを格納するように構成されていなくても、共通のウェブサーバーによってホストすることができる。第２に、このように指定されたオブジェクト・アクセスは、ＵＲＩに基づく要求を扱うように主に構成されているネットワーキング・ハードウェア（例えば、ファイアウオールおよびルータ）によって更に容易に扱うことができる。第３に、このようにアドレス可能なオブジェクト階層は、表象的状態遷移（「ＲＥＳＴｆｕｌ」）インターフェースにしたがって表すことができ、オブジェクト階層のオブジェクトは、制約された１組の明確に定義された動作によって動作させることができる。例えば、共通のＨＴＴＰ方法（PUT、GET、POST、およびDELETE）は、計算環境を表すオブジェクト階層のオブジェクトにアクセスするために共通の動詞（作成、読み取り、更新、および削除）を可能にするのに全面的に適していると考えられる。種々のオブジェクト階層体系のためのその他のアドレシング・モデルと比較して、他の利点を得ることもでき、および／または他の欠点を縮減することもできる。
【００３９】
[0043]  これらの技法の実施態様間で多様に変化する可能性がある第４の態様は、オブジェクト階層体系において定められている既知のオブジェクト・タイプのコンポーネントに関する。図２に示したオブジェクト階層体系オブジェクト集合例３０は、オブジェクト階層体系において定めて組み込むことができるオブジェクト・タイプの網羅的なリストとして提示されたのでなければ、これらのオブジェクト・タイプを構成する完全な１組のプロパティとして提示されたのでもない。図７は、オブジェクト階層体系のオブジェクト・タイプと関連付けることができる追加のオブジェクト・プロパティを備えている、追加オブジェクト・プロパティ集合例２１０を示す。これらの追加オブジェクト・プロパティは、更に、オブジェクト階層体系にしたがって編成されたオブジェクト階層のオブジェクトを定めるために選択することができ（単体または他の追加オブジェクト・プロパティとの組み合わせで）、異なるオブジェクト・プロパティの集合によってオブジェクト・タイプを定めるオブジェクト階層体系に関して、追加の利点を提示すること、および／または欠点を縮減することができる。
【００４０】
[0044]  追加オブジェクト・プロパティ集合例２１０に示すように、メッシュ・オブジェクト・タイプ５４には、メッシュのアドレスを指定する自己リンク・オブジェクト（例えば、http://mycomputer.commのように、メッシュのサーバーまたはソースを定める部分的ＵＲＩ）、および／またはオブジェクト階層およびそれによって表される計算環境に名称を指定するタイトル・オブジェクトを含む追加プロパティを関連付けることができる。リソース・オブジェクト・タイプ３２およびリソース集合体オブジェクト・タイプ５８の双方には、広範囲のプロパティと関連付けることができる。これらのプロパティには、リソースまたはリソース集合体の著作者を特定する著作者集合体、リソースまたはリソース集合体に含まれる項目の基本アドレス（例えば、基本ＵＲＩ）を指定する基本アドレス・オブジェクト、リソースまたはリソース集合体を記述する何らかのユーザーが定めたカテゴリーを指定するカテゴリ集合体、リソースまたはリソース集合体に対する寄与者を指定する寄与者集合体、リソースまたはリソース集合体に関する著作権声明を特定する著作権オブジェクト、大域的一意識別子（ＧＵＩＤ）のような識別オブジェクト、リソースまたはリソース集合体に関係付けられたリンク（例えば、ＵＲＬ）を特定するリンク集合体、リソースまたはリソース・オブジェクトの別個のアドレス（例えば、ＵＲＩ）を指定する自己リンク・オブジェクト、リソースまたはリソース集合体のテキスト摘要を含む摘要オブジェクト、および／またはリソースまたはリソース集合体の名称を指定するタイトル・オブジェクトが含まれる。
【００４１】
[0045]  追加オブジェクト・プロパティ集合例２１０において更に示すように、コア・オブジェクト・タイプ３４は、コア・オブジェクトと関連のある、任意に割り当てられた１組のユーザー・データー（例えば、ドメイン特定メタデーター）を含むユーザー・データー・オブジェクトと関連付けることができる。アプリケーション・オブジェクト・タイプ３６は、アプリケーションを示差的に特定するアプリケーション識別オブジェクト（例えば、アプリケーション名）、当該アプリケーションのホームページを特定するホームページ位置オブジェクト（例えば、ウェブサイトＵＲＬ）、オブジェクト階層における当該アプリケーションの現バージョンを特定するインストール・バージョン位置（例えば、計算器バージョン１．２．１．１６００）、アプリケーション・マニフェスト(application manifest)の位置を特定するマニフェスト位置オブジェクト（例えば、オブジェクト階層においてリソース・オブジェクトを特定するＵＲＩ、またはウェブ・アクセス可能アプリケーション・マニフェストを特定するＵＲＬ）、および／またはマニフェスト位置において入手可能なアプリケーション・マニフェストのバージョンを特定するマニフェスト・バージョン・オブジェクトと関連付けることができる。データー・エントリ・オブジェクト・タイプ３８には、データー・エントリ・オブジェクトの階層的親を示す親識別オブジェクト、オブジェクト同期情報（例えば、最新オブジェクト同期インディケーター、このデーター・エントリを最後に計算環境ホストと同期させた日時等）を含む同期オブジェクト、および／またはデーター・エントリと関連のある任意に割り当てられた１組のユーザー・データーを含むユーザー・データー・オブジェクトと関連付けることができる。データー・フィード・オブジェクト・タイプ４２は、１組の同期関係活動または新たな項目を備えている同期エントリ集合体、および／またはデーター・フィードのタイプ（例えば、画像または音響の集合体、マルチメディア文書のコンポーネント等）を示すデーター・フィード・タイプ・オブジェクトと関連付けることができる。
【００４２】
[0046]  追加オブジェクト・プロパティ集合例２１０において更に示すように、活動オブジェクト・タイプ４４は、活動のタイプ（例えば、データー・エントリ作成、読み取り、更新、または削除）を記述する活動タイプ・オブジェクト、および／または有用な活動の最大有効期間を定める最大寿命オブジェクトと関連付けることができる。最大有効期間を過ぎると、活動は陳腐化イベントを表しもはや有用に格納されずユーザーには提示されなくなる。メンバー・オブジェクト・タイプ４６は、リソースまたはリソース集合体のメンバーになるように招待された個人がその招待を受諾したか否かを示す招待受諾インディケーター・オブジェクト、リソースまたはリソース集合体のメンバーになる招待が期限切れでないかを示す招待期限切れインディケーター・オブジェクト、メンバーがリソースまたはリソース集合体の所有者であるか否か示す所有者インディケーター・オブジェクト、および／またはリソースまたはリソース集合体に関してメンバーによって占められる役割のタイプ（例えば、著作者、読み手等）を示す役割タイプ・オブジェクトと関連付けることができる。デバイス・オブジェクト・タイプ４８は、表されたデバイスが属する一般的デバイス・クラスを記述するデバイス・タイプ・オブジェクト、および／またはデバイスが計算環境を現在表しているデバイスに現在アクセス可能か否かを示すデバイス・オンライン・インディケーター・オブジェクトと関連付けることができる。マッピング・オブジェクト・タイプ５０は、データー・フィード・マッピング集合体と関連付けることができる。データー・フィード・マッピング集合体は、コア・リソース・オブジェクトにおいて、デバイスにマッピングされる特定のデーター・フィードを特定する。例えば、マッピング・オブジェクト・タイプ５０のオブジェクトを通じて、デバイスをコア・オブジェクトの部分集合にマッピングすることができるが、マッピング・オブジェクトのデーター・フィード・マッピング集合体において特定されているある種のデーター・フィードにマッピングが制限される場合がある。プロファイル・オブジェクト・タイプ５２は、ユーザーの名称を表す名称オブジェクト、および／またはユーザーの電子メール・アドレス連絡先を表す電子メール・アドレス・オブジェクトと関連付けることができる。最後に、役割オブジェクト・タイプ６２は、役割と関連のある許可を特定する、作成許可インディケーター・オブジェクト、削除許可インディケーター・オブジェクト、読み取り許可インディケーター・オブジェクト、および／または更新許可インディケーター・オブジェクト、および／またはこの役割においてユーザーによって占められる役割タイプを特定する役割タイプ・オブジェクトと関連付けることができる。
【００４３】
[0047]  したがって、図７の追加オブジェクト・プロパティ例２１０は、オブジェクト・プロパティの一部を例示し、これらは更にオブジェクト階層体系の種々のオブジェクト・タイプと関連付けることもできる（単体または組み合わせで）。しかしながら、追加オブジェクト・プロパティ集合２１０は、このようなオブジェクト階層体系の種々のオブジェクト・タイプと関連付けることができるオブジェクト・プロパティの網羅的リストとして提示されたのではないこと、そして多くの他のオブジェクト・プロパティを代わりにまたは加えて種々のオブジェクト・タイプと関連付けることができることは認めることができよう。オブジェクト階層体系の種々の既知のオブジェクト・タイプの定義における多くの追加のまたは代わりのオブジェクト・プロパティも、本明細書において論ずる技法を実現する間に、当業者によって考案することができる。
【００４４】
[0048]  本明細書において論ずる技法の別の実施形態は、オブジェクト階層にしたがって計算環境を表す方法を実行するように構成されているプロセッサー実行可能命令を備えているコンピューター読み取り可能媒体にも関与する。これらの方法において考案することができるコンピューター読み取り可能媒体例を図８に示す。図８では、実施態様２２０は、コンピューター読み取り可能媒体２２２（例えば、ＣＤ−Ｒ、ＤＶＤ−Ｒ、またはハード・ディスク・ドライブのプラッタ）を備えており、ここにコンピューター読み取り可能データー２２４がエンコードされている。一方、このコンピューター読み取り可能データー２２４は、本明細書において明記した原理にしたがって動作するように構成されている１組のコンピューター命令２２６を備えている。このような実施形態の１つ２２０では、プロセッサー実行可能命令２２６は、図４の方法例１３０のような、オブジェクト階層にしたがって計算環境を表す方法を実行するように構成することができる。本明細書において紹介した技法にしたがって動作するように構成されている多くのこのようなコンピューター読み取り可能媒体が、当業者によって考案することができる。
【００４５】
[0049]  以上、構造的特徴および／または方法論的行為に特定的な文言で本主題について説明したが、添付した特許請求の範囲において定義されている主題は、かならずしも前述した具体的な特徴や行為には限定されないことは言うまでもない。むしろ、前述の具体的な特徴および行為は、特許請求の範囲を実施する形態例として開示したまでである。
【００４６】
[0050]  本願において用いる場合、「コンポーネント」、「モジュール」、「システム」、「インターフェース」等の用語は、一般に、コンピューター関連エンティティを指し、ハードウェア、ハードウェアおよびソフトウェアの組み合わせ、ソフトウェア、または実行中のソフトウェアのいずれかであることを意図している。例えば、コンポーネントは、限定ではなく、プロセッサー上で実行中のプロセス、プロセッサー、オブジェクト、エクゼキュータブル、実行のスレッド、プログラム、および／またはコンピューターであってもよい。例示として、コントローラ上で実行中のアプリケーションおよびそのコントローラの双方がコンポーネントであり得る。１つ以上のコンポーネントが１つのプロセスの中に位置しても良く、および／または実行のスレッドおよびコンポーネントを１つのコンピューター上に局在させて(localize)てもよく、および／または２つ以上のコンピューター間で分散してもよい。
【００４７】
[0051]  更に、特許請求する主題は、コンピューターを制御して開示した主題を実現させるソフトウェア、ファームウェア、ハードウェア、またはそれらのいかなる組み合わせをも生成するために、標準的なプログラミングおよび／またはエンジニアリング技法を用いた、方法、装置、または製造品目として実現することができる。「製造品目」という用語は、本明細書において用いる場合、あらゆるコンピューター読み取り可能デバイス、担体、または媒体からでもアクセス可能なコンピューター・プログラムを包含することを意図している。勿論、特許請求する主題の範囲および主旨から逸脱することなく、多くの変更をこの構成に加えることができることは、当業者には認められよう。    
【００４８】
[0052]  図９および以下の論述は、本明細書において明記した設備(provision)の１つ以上の実施形態を実現するのに適した計算環境の端的な全体的説明を提示する。図９の動作環境は、適した動作環境の一例に過ぎず、動作環境の使用または機能の範囲に関して、何の限定も示唆することを意図するのではない。計算デバイスの例には、限定ではなく、パーソナル・コンピューター、サーバー・コンピューター、ハンドヘルドまたはラップトップ・デバイス、移動体デバイス（移動電話機、パーソナル・ディジタル・アシスタント（ＰＤＡ）、メディア・プレーヤーなど）、マルチプロセッサー・システム、消費者向け電子機器、ミニ・コンピューター、メインフレーム・コンピューター、以上のシステムまたはデバイスのいずれでも含む分散型計算環境等が含まれる。
【００４９】
[0053]  実施形態は、１つ以上の計算デバイスによって実行される「コンピューター読み取り可能命令」という一般的なコンテキストにおいて説明する。コンピューター読み取り可能命令は、コンピューター読み取り可能媒体（以下で論ずる）によって配信することができる。コンピューター読み取り可能命令は、関数、オブジェクト、アプリケーション・プログラミング・インターフェース（ＡＰＩ）、データー構造などのような、特定のタスクを実行するかまたは特定の抽象的データー・タイプを実現するプログラム・モジュールとして実現することができる。通例では、コンピューター読み取り可能命令の機能は、所望に応じて、種々の環境において組み合わせることまたは分散することもできる。
【００５０】
[0054]  図９は、本明細書において提唱した１つ以上の実施形態を実現するように構成されている計算デバイス２３２を備えているシステム２３０の一例を示す。一構成では、計算デバイス２３２は、少なくとも１つの処理ユニット２３６と、メモリ２３８とを含む。計算デバイスの正確な構成および種類によっては、メモリ２３８は揮発性（例えば、ＲＡＭのような）、不揮発性（例えば、ＲＯＭ、フラッシュ・メモリのような）、またはこれら２つの組み合わせとなることもある。この構成は、図９では、破線２３４によって示されている。
【００５１】
[0055]  他の実施形態では、計算デバイス２３２は、追加の機構および／または機能を含むこともできる。例えば、計算デバイス２３２は、限定ではなく、磁気ストレージ、光ストレージ等を含む追加のストレージ（例えば、リムーバブルおよび／または非リムーバブル）を含むこともできる。このような追加のストレージは、図９では、ストレージ２４０によって例示されている。一実施形態では、本明細書において提唱した１つ以上の実施形態を実現するためのコンピューター読み取り可能命令は、ストレージ２４０の中に入れることができる。また、ストレージ２４０は、オペレーティング・システム、アプリケーション・プログラムなどを実装するための他のコンピューター読み取り可能命令も格納することができる。コンピューター読み取り可能命令は、例えば、処理ユニット２３６による実行のために、メモリ２３８にロードすることができる。
【００５２】
[0056]  「コンピューター読み取り可能媒体」という用語は、本明細書において用いる場合、コンピューター記憶媒体を含む。コンピューター記憶媒体は、コンピューター読み取り可能命令またはその他のデーターのような情報の格納のためにいずれかの方法または技術で実現された、揮発性および不揮発性、リムーバブルおよび非リムーバブル媒体を含む。メモリ２３８およびストレージ２４０は、コンピューター記憶媒体の例である。コンピューター記憶媒体は、限定ではなく、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュ・メモリまたはその他のメモリ技術、ＣＤ−ＲＯＭ、ディジタル・バーサタイル・ディスク（ＤＶＤ）またはその他の光ストレージ、磁気カセット、磁気テープ、磁気ディスク・ストレージまたはその他の磁気記憶デバイス、あるいは所望の情報を格納するために用いることができその上計算デバイス２３２によってアクセスすることができるのであれば他のいずれの媒体をも含む。このような御ピュータ記憶媒体は、そのいずれもが計算デバイス２３２の一部となってもよい。
【００５３】
[0057]  また、計算デバイス２３２は、計算デバイス２３２が他のデバイスと通信することを可能にする通信接続（１つまたは複数）２４６も含むことができる。通信接続（１つまたは複数）２４６は、限定ではなく、モデム、ネットワーク・インターフェース・カード（ＮＩＣ）、統合ネットワーク・インターフェース、無線周波数送信機／受信機、赤外線ポート、ＵＳＢ接続、または計算デバイス２３２を他の計算デバイスと接続するためのその他のインターフェースを含むことができる。通信接続（１つまたは複数）２４６は、有線接続またはワイヤレス接続を含むことができる。通信接続（１つまたは複数）２４６は、通信媒体を送信および／または受信することができる。
【００５４】
[0058]  「コンピューター読み取り可能媒体」という用語は、通信媒体を含むことができる。通信媒体は、通例、搬送波またはその他の伝達メカニズムのような「変調データー信号」にコンピューター読み取り可能命令またはその他のデーターを具体化し、いずれの情報配信媒体も含む。「変調データー信号」という用語は、情報を信号内に符号化するような態様で設定または変更したその特性の１つ以上を有する信号を含むことができる。
【００５５】
[0059]  計算デバイス２３２は、キーボード、マウス、ペン、音声入力デバイス、接触入力デバイス、赤外線カメラ、ビデオ入力デバイス、および／またはその他のあらゆる入力デバイスというような、入力デバイス（１つまたは複数）２４４を含むことができる。１つ以上のディスプレイ、スピーカー、プリンター、および／またはその他の出力デバイスというような出力デバイス（１つまたは複数）２４２も、計算デバイス２３２に含むことができる。入力デバイス（１つまたは複数）２４４および出力デバイス（１つまたは複数）２４２は、有線接続、ワイヤレス接続、またはそのいずれの組み合わせによってでも、計算デバイス２３２に接続することができる。一実施形態では、別の計算デバイスからの入力デバイスまたは出力デバイスを、計算デバイス２３２用の入力デバイス（１つまたは複数）２４４または出力デバイス（１つまたは複数）２４２として用いることもできる。
【００５６】
[0060]  計算デバイス２３２のコンポーネントは、バスのような、種々の相互接続によって接続することができる。このような相互接続は、ＰＣＩ Expressのようなペリフェラル・コンポーネント相互接続（ＰＣＩ）、ユニバーサル・シリアル・バス（ＵＳＢ）、ファイアワイヤ（ＩＥＥＥ１３９４）、光バス構造などを含むことができる。別の実施形態では、計算デバイス２３２のコンポーネントは、ネットワークで相互接続することができる。例えば、メモリ２３８は、ネットワークによって相互接続されている異なる物理的位置にある多数の物理的メモリ・ユニットによって構成することもできる。
【００５７】
[0061]  コンピューター読み取り可能命令を格納するために利用される記憶デバイスは、ネットワークに跨って分散させてもよいことは、当業者には分かるであろう。例えば、ネットワーク２４８を通じてアクセス可能な計算デバイス２５０は、本明細書において提唱した１つ以上の実施形態を実現するために、コンピューター読み取り可能命令を格納することができる。計算デバイス２３２は、計算デバイス２５０にアクセスし、コンピューター読み取り可能命令の一部または全部を実行のためにダウンロードすることができる。あるいは、計算デバイス２３２は、必要に応じて、コンピューター読み取り可能命令の断片をダウンロードすることができ、一部の命令を計算デバイス２３２において実行し、一部を計算デバイス２５０において実行することもできる。
【００５８】
[0062]  本明細書では、実施形態の種々の動作について提唱した。一実施形態では、記載した動作の１つ以上が、１つ以上のコンピューター読み取り可能媒体上に格納されたコンピューター読み取り可能命令を構成することができ、計算デバイスによって実行すると、当該計算デバイスに、記載した動作を実行させる。これらの動作の一部または全部を記載した順序は、これらの動作に必然的な順序依存性があるように解釈すべきではない。この記載から援助を受けた当業者には、代わりの順序も認められよう。更に、本明細書において提唱した各実施形態において、全ての動作が必ずしも出てくる訳ではないことは言うまでもない。
【００５９】
[0063]  更に、「一例の」という単語は、本明細書では、一例、実例、または例示としての役割を果たすことを意味するために用いられる。本明細書において「一例の」として記載される態様または設計はいずれも、他の態様または設計よりも有利であるとは必ずしも解釈されない。むしろ、一例のという用語の使用は、概念を具体的に紹介することを意図している。本明細書において用いる場合、「または」という用語は、排他的な「または」ではなく包含的な「または」を意味することを意図する。即ち、そうでないことが指定されていない限り、または文脈から明白でない限り、「ＸはＡまたはＢを採用する」とは、自然な包含的組み合わせ(permutation)のいずれでも意味することを意図する。即ち、ＸがＡを採用する場合、ＸがＢを採用する場合、またはＸがＡおよびＢの双方を採用する場合、これらの実例のいずれにおいても、「ＸはＡまたはＢを採用する」が満たされる。加えて、冠詞「ａ」および「ａｎ」は、本願および添付した特許請求の範囲において用いられる場合、そうでないことが指定されていない限り、また文脈から単数形態を対象とすることが明白でない限り、「１つ以上」を意味するように通常解釈することができる。
【００６０】
[0064]  また、１つ以上の実施態様に関して本開示を示し説明したが、本明細書および添付図面の熟読および理解に基づいて、同等の変形や変更が当業者には想起されよう。本開示は、このような変更や変形を全て含み、以下の特許請求の範囲のみによって限定される。特に、以上で述べたコンポーネント（例えば、エレメント、リソース等）によって実行される種々の機能に関して、このようなコンポーネントを記載するために用いられた用語は、そうでないことが示されない限り、記載されたコンポーネント（例えば、機能的に同等な）の指定された機能を実行するのであれば、本開示のここで例示された実施態様例における機能を実行する、開示された構造に構造的に同等でなくても、いずれのコンポーネントにも対応することを意図している。加えて、本開示の特定的な機構を、様々な実施態様の内１つのみに関して開示したが、このような機構は、いずれの所与の用途または特定の用途にとっても望まれるまたは有利となるように、他の実施態様の１つ以上の別の機構と組み合わせることができる。更に、「含む」、「有している」(having)、「有する」(has)、「と」(with)という用語、またはその異形が詳細な説明または特許請求の範囲において用いられている限りにおいて、このような単語は、用語「備えている」(comprising)と同様に内包的であることを意図している。
【図１】
0005559140.tif 000004
【図２】
0005559140.tif 000005
【図３】
0005559140.tif 000006
【図４】
0005559140.tif 000007
【図５】
0005559140.tif 000008
【図６】
0005559140.tif 000009
【図７】
0005559140.tif 000010
【図８】
0005559140.tif 000011
【図９】
0005559140.tif 000012