![]() 計算環境の表現
专利摘要:
計算環境を配備可能なオブジェクト階層として表すことができ、計算環境ホストと、当該計算環境ホストをレンダリングするように構成されているデバイスとの間で極普通に共有されるオブジェクト階層体系にしたがって編成することができる。計算環境を表すために、特定のオブジェクト階層体系を詳細に提示し、計算環境の多くのオブジェクトは、別個にアドレス可能とすることができるリソースとしてモデル化される(例えば、RESTful(平静な)オブジェクト階層)。オブジェクト階層体系例を明瞭にするため、そしてそれにしたがって編成されたオブジェクトおよびオブジェクト階層例を示すために、多くのタイプのオブジェクトおよびそのプロパティが提示される。種々のオブジェクト階層体系の追加のプロパティは、種々の利点を有する、拡張可能性、配備可能性、およびオブジェクト・アドレシング・モードを含む。 公开号:JP2011515761A 申请号:JP2011500832 申请日:2009-02-19 公开日:2011-05-19 发明作者:アミガ,オリ;ヴァス,ヴィジャイェンドラ;ジャーン,ジュンフェン;シュクラ,ダールマ 申请人:マイクロソフト コーポレーション; IPC主号:G06F9-46
专利说明:
[0001] [0001] 多くの計算環境は、1組のオブジェクトによって管理されている、大量で多様なオブジェクトの集合を備えている。例えば、計算環境は、ファイル・システムによって管理されている1組のファイルと、データーベース・システムによって管理されている1つ以上のデーターベースと、アプリケーションを表しアセンブリ・キャッシュによって管理されている1組のエクゼキュータブル・バイナリーと、オペレーティング・システムのユーザー・プロファイル・コンポーネントによって管理されている1組のユーザー・プロファイルと、データー・キャッシュ・コンポーネントによって管理されている種々のデーター・キャッシュとを備えることもある。種々のデーター・キャッシュには、オペレーティング・システムのコピー・バッファによって管理されている1組のコピー項目、オペレーティング・システムの取り消し(undo)コンポーネントによって管理されている1組の取り消し行為、そしてオペレーティング・システムの項目使用追跡コンポーネントによって管理されている1組の「最後に使用した」項目等がある。更に、このようなオブジェクトは、一人以上のユーザーによって動作させられる複数のデバイス間で、そして1つ以上の動作(例えば、2つのオブジェクト集合を合併するオブジェクト同期動作、および目標オブジェクト集合をソース・オブジェクト集合に合わせるように調節するオブジェクト・ミラーリング動作)にしたがって交換することもできる。このように、オブジェクトは、1組のオブジェクト・システムを通じて疎に編成されており、集まって計算環境を表す。] [0002] [0002] この摘要は、以下で詳細の説明において更に説明する概念から選択したものを簡略化した形態で紹介するために設けられている。この摘要は、特許請求する主題の鍵となる要素または必須の特徴を特定することを意図するのでなければ、特許請求する主題の範囲を限定するために用いることを意図するのでもない。] [0003] [0003]計算システム内におけるオブジェクト・システムのちぐはぐで疎にまとめられた集合としてのオブジェクトの編成は、様々な問題を生ずる可能性がある。例えば、種々のデバイスを通じてユーザーに一貫性のある計算環境を提示することが、特にデバイスの能力にばらつきがある場合(例えば、高性能パーソナル・ワークステーション、ブラウザー・ベースの公衆端末、および低性能のセルフォン・デバイス)、困難な場合がある。別の例として、同期およびバックアップというようなサービスをオブジェクトに適用するには、各オブジェクト・システムとインターフェースして、それによって管理されているオブジェクトに作用させなければならないことがあり、このようなインターフェースはオブジェクト・システム間で多様に異なる場合がある。第3の例として、多種多様なデバイスの集合(1つのアプリケーションを構成するオブジェクトの全てというような)を関係付けることは、管理するオブジェクト・システムの協同が不完全なために、困難になる場合がある。] [0004] [0004]計算環境を構成するオブジェクトを表すための代わりの技法では、オブジェクトをオブジェクト階層に編成する必要があり、このオブジェクト階層を計算環境ホストによってホストすることができる。オブジェクトがオブジェクト・システムによって均一に表現され一貫性のある方法で管理されていれば、この計算環境のオブジェクトの全てに適用するために、1組のサービスを交換することができる。更に、オブジェクト階層を種々のデバイスに配信して、同じ計算環境(同じユーザー・プロファイル、アプリケーション、データー・ファイル等を含む)を表すことができ、各デバイスは、その計算環境を一貫性のある態様でレンダリングするが、当該デバイスの能力(例えば、ワークステーションに取り付けられているキーボード・デバイスからのデーター入力を受けるためのハード・キーボード・インターフェース、およびセルフォン・デバイスからのデーター入力を受けるためのタッチスクリーン・ソフトウェア・キーボード・インターフェース)に基づいてカスタム化することができる。] [0005] [0005] 本明細書において紹介するのは、このような1つの表現であり、アプリケーション、1組の活動を備えている活動集合体、1組のユーザー・プロファイルを備えているユーザー・プロファイル集合体というような、1組の種々のタイプのリソースを定めるオブジェクト階層体系にしたがって、オブジェクト階層を構造化する。本明細書において指定されるオブジェクト階層体系によるオブジェクトの編成は、このようなオブジェクトの他の表現や編成に対して、いくつかの利点がある。例えば、本明細書において提示されるオブジェクトの表現は、ある種のメタデーターの添付(tagging with)がし易く、このようなデーターは、様々なタイプのオブジェクト(アプリケーション、データー・ファイル、およびデバイスのような)と同様に関連付けて、ドメイン特定メタデーターを可能にすることができる。また、本明細書において記載するように管理されたオブジェクトは、種々のデバイスにおける種々のオブジェクト集合のマッピングも容易にすることができ、異なるユーザーやデバイスに関して、計算環境の所望の適応化を可能にすることもできる。これらおよびその他の便益は、本明細書において指定されるオブジェクト階層体系によって達成することができ、これらの便益は、本オブジェクト階層によって表され、様々な能力のデバイスによってレンダリングされる計算環境によって明示することができる。] [0006] [0006] 以上の目的および関連する目的の遂行のために、以下の説明および添付図面は、ある種の例示的態様および実施態様を明示する。これらは、1つ以上の態様を用いることができる種々の方法の内のわずかに過ぎない。本開示のその他の態様、利点、および新規な特徴は、以下の詳細な説明を添付図面と合わせて検討することによって明らかとなろう。] 図面の簡単な説明 [0007] 図1は、計算環境ホストの種々の計算環境レンダリング・デバイスとの相互作用例の図である。 図2は、オブジェクト階層体系のオブジェクト集合例の図である。 図3は、オブジェクト階層体系の一例の図である。 図4は、計算環境を表す方法例を示す流れ図である。 図5は、オブジェクト階層の一例の図である。 図6は、オブジェクト階層のオブジェクトを格納する3つの格納技法例の図である。 図7は、オブジェクト階層体系のオブジェクト・タイプと関連付けることができる、1組の追加オブジェクト・プロパティの図である。 図8は、本明細書において明記する設備(provision)の1つ以上を具体化するように構成されているプロセッサー実行可能命令を備えているコンピューター読み取り可能媒体例の図である。 図9は、本明細書において明記する設備の1つ以上を実現することができる計算環境例を示す。] 図1 図2 図3 図4 図5 図6 図7 図8 図9 実施例 [0008] [0016] これより、図面を参照しながら特許請求する主題について説明する。図面において、同様の参照番号が、同様の要素を示すために全体を通じて用いられている。以下の記載では、説明の目的上、特許請求する主題の完全な理解が得られるようにするために、多数の具体的な詳細を明記する。しかしながら、特許請求する主題は、これら具体的な詳細がなくても実施可能であることは明白であろう。他方において、周知の構造およびデバイスは、特許請求する主題を記載し易くするために、ブロック図で示されている。] [0009] [0017] 近年のコンピューター・システムは、多くの数のそして種々のオブジェクトを備えている。多くのコンピューター・システムは、コンピューター・システムのコンフィギュレーションを設定するためのファイル(エクゼキュータブル、クラス・ライブラリー、コンフィギュレーション情報設定、およびリソース)と、1人以上のユーザーによって発生されたまたは受け取られたユーザー・ファイルとの双方を収容するファイル・ストアを特徴とする。また、多くのコンピューター・システムは、広範囲のコンフィギュレーション情報も備えており、当該コンピューター・システムのハードウェアおよびソフトウェアを含むコンピューター・システム・ハードウェアおよびソフトウェア、オペレーティング・システム、シェル・ユーザー・インターフェース、ならびにシェル・ユーザー・インターフェース内で利用可能なアプリケーションのコンフィギュレーションを備えている。種々のユーザー・プロファイルおよびアカウントも存在することがあり、前者は、特定のユーザーまたはユーザークラスを記述する情報(名称、シェル・ユーザー・インターフェース好み、ホーム・ディレクトリ等)を備えており、後者は、ユーザーまたはクラスの特権を記述する情報(ファイル所有権、リード/ライト特権、種々のデバイスへのアクセス等)を備えている。パスワード、証明書、公開/秘密鍵対、およびアクセス制御リストというような、被保護セキュリティ情報は、セキュリティ・オブジェクトに格納することができ、これに対して、オペレーティング・システムは定期的なアクセスを実行することができる。1つ以上のデーター・キャッシュが存在する場合もあり、ブラウザー・キャッシュおよび履歴、アプリケーションまたはブラウザー・テキストボックスにおける最新エントリ、ならびに最新使用ファイルおよびオブジェクト・リスト等がある。種々のアプリケーションは、アプリケーション−またはタスク−特定のアーカイブを作成することができ、種々のフォルダーやメッセージを収容する電子メール・アーカイブや、種々のシステム・ユーザーによって種々のソースから受信しユーザー定義グループに編成されている連絡先情報を収容する共有アドレス・ブック等がある。最後に、この計算システムは、同期すべきオブジェクト、種々の条件によってアクセスを付与することができるオブジェクト集合(リード/ライト特権、所有権、クオータ(quotas)等)というような、特定の情報の集合を他のコンピューター、ユーザー、およびデバイスと交換するように構成することができる。このようなオブジェクト・タイプは、コンピューター・システム内においてその場限りで、種々の管理システム(例えば、ファイル・システム、ファイル登録ストア、ユーザー・アカウント管理システム、および電子メール・システム)によって管理されるのが通例では、アクセス方法やオブジェクト編成には殆ど一貫性も標準化もない。] [0010] [0018]計算システム内におけるオブジェクト・システムのちぐはぐで疎にまとめられた集合としてのオブジェクトの編成は、様々な問題を生ずる可能性がある。第1の例として、一貫性のある1組のオブジェクト(ファイル、アプリケーション、ユーザー・プロファイル、アプリケーション・コンフィギュレーション、データー・キャッシュ等)を備えている一貫性のある計算環境をレンダリングし維持することは、特に、パーソナル・ワークステーション、公衆端末、およびセルフォン・デバイスのように、能力が多様なデバイス間では非常に難しい場合がある。第2の例として、サービスをオブジェクトに提供することは、複数のオブジェクト・システムにおける多様なオブジェクトの格納によって、複雑化することがあり得る。例えば、特定の記述(特定の時間範囲内で最後に変更したオブジェクトというような)に一致するオブジェクトを突き止めるには、1つ以上のファイル・システムを通じて一致するファイルについて照会すること、データーベース・システム全体を通じてデーターベース・レコードを照合すること、システム・レジストリを通じてレジストリ・キーを照合すること、アセンブリ・キャッシュを通じてアプリケーションを照合すること、種々のデーター・キャッシュを通じてデーター・キャッシュ項目を照合すること等が必要となる場合がある。このようなオブジェクト・システムは、オブジェクトの特質に対して具体的なパラメータと共にというように(例えば、ファイル・システム・ジャーナル全体を通じてファイル・レコードを試験し、データー特定タイムスタンプによってデーターベース・レコードを試験する)、関連のあるオブジェクトを非標準的な方法で格納する場合が多いので、動作を種々のオブジェクト・システムの各々に提供することが困難となることもある。第3の例として、各オブジェクト・システムは、特定の種類のオブジェクトを管理するように構成されているので、オブジェクトのタイプを関係付けそして混合することが困難となることもある。例えば、あるアプリケーションが、アセンブリ・キャッシュに格納されているエクゼキュータブル・バイナリーと、システム・レジストリに格納されているコンフィギュレーション情報と、ファイル・システムに格納されている補足ファイル(種々の言語に合った辞書のような)と、データー・キャッシュに格納されているイベント(最近編集した文書というような)とを備えている場合が考えられる。これらのオブジェクト・タイプの関連付けを種々のシステムにおいて表現すること、そしてこのようなオブジェクト全てを一緒に操作すること(例えば、アプリケーションをアンインストールするために、これらのオブジェクトを全て削除する)は困難となることがあり得る。第4の例として、コンピューター・システムのオブジェクト集合は、様々なデバイスに跨って分散されている場合もあり、オブジェクト集合への一貫性のあるアクセスを与えることは、デバイスの種々のコンフィギュレーション、各デバイスのネットワーク能力、そしてデーター交換のために各デバイスによって用いられるワイヤ・フォーマットにおける互換性のなさ(例えば、第1デバイスはXML方式にしたがってデーターを交換するように構成されており、第2デバイスはJSONにしたがってデーターを交換するように構成されていることもあり得る)によって複雑化する可能性がある。] [0011] [0019] 代わりの手法も考案することができ、その手法では、計算環境は、デバイスの能力に応じたレンダリングを行うためにデバイスに配信することができるように表現される。この表現は、オブジェクト階層にしたがって編成され、共通文法にしたがって表現された1組のオブジェクトを備えている。これらのオブジェクトは、ユーザーによって作成されるユーザー・ファイルおよびデーターのような、コンピューター・システムのデーター・オブジェクトを含む。また、これらのオブジェクトは、シェル、およびその中で提供されるアプリケーションというような、オペレーティング・システムのコンポーネントを構成するエクゼキュータブル・バイナリーおよびクラス・ライブラリーも含む。また、オブジェクトは、計算環境のユーザー・インターフェースを指定する情報を含み、この情報には、シェルの好み(shell preference)(例えば、視覚的主題、アプリケーション起動メニュー、およびダブル・クリックしきい値)、ユーザー・アカウントおよび特権、セキュリティ情報(例えば、パスワード、セキュリティ・トークン、および証明書)、アプリケーション・バイナリーおよびコンフィギュレーション情報、ユーザー・データーおよびメタデーター(例えば、ファイル共有情報)、ならびにデーター・キャッシュ(例えば、最近使用したファイルのリスト、およびブラウザー履歴)が含まれる。これらのオブジェクトの種々の本質および使用にも拘わらず、これらのオブジェクトはオブジェクト階層において共通の態様で表されており、階層において任意に編成することができる。つまり、1組の分離したデーター・ストアを備えており、各々が1つのタイプのオブジェクトを収容する(例えば、ファイル・システムはファイルを収容し、レジストリはコンフィギュレーション情報を収容し、データー・キャッシュはブラウザー履歴を収容する)従来のコンピューター・システムとは対照的に、この手法におけるオブジェクト階層は、このようなオブジェクトの全てをオブジェクト階層において共通の態様で編成する。] [0012] [0020] この態様で表現された計算環境は、いずれのデバイスにでも配信することができ、そのデバイスの能力に適した態様でレンダリングすることができる。例えば、ワークステーションは、この情報を、ロバストな汎用計算環境としてレンダリングすることができ、一方公衆ワークステーションは、ウェブ・ブラウザー(例えば、ユーザーのセッションの終了時に破棄することができる仮想機械)を通じて異なる計算環境体験をレンダリングすることができ、セルフォンは、セルフォン関連情報(例えば、連絡先、カレンダー、およびナビゲーション・データー)により速くアクセスする、より軽いインターフェースを提供することができる。更に、この情報集合に対する更新(例えば、好みの変更、およびその中に収容されているデーター・ファイルに対する更新)は、情報集合の基本的(canonical)ソースに適用することができ、これによって、情報集合が配信される他の全てのデバイスに伝搬させることができる。また、計算環境を共有するデバイス同士を、共有情報集合を通じて統合して、1つのデバイスが、情報集合において特定された他のデバイスと相互作用を行うことができる。例えば、第1デバイス上に格納されているデーターに第2デバイスによってアクセスすることができ、第2デバイスによって第1デバイスを、通信管路を通じて、制御することができる。したがって、情報集合は、計算環境を、役割、能力および各デバイスのリソースと共に、共有するデバイスの集合体を特定し、潜在的に大多数で多様となる可能性があるデバイス群に跨って、統合計算体験を提供することができる。] [0013] [0021]図1は、このような想定場面10の1つを示す。ここでは、計算環境は、計算環境ホスト12によってホストすることができ、計算環境ホスト12はオブジェクト階層14を格納および管理することができる。また、計算環境ホスト12は、セルフォン・デバイス16、パーソナル・ノート型コンピューター20、および公衆ワークステーション24というような種々のデバイスに代わって、更に異なるアクセス特権を有する異種類のユーザーに代わって、異なる方法でオブジェクト階層14をレンダリングすることができる。したがって、計算環境のレンダリングは、同じアプリケーション、ユーザー・プロファイル、シェル・コンフィギュレーション、ユーザー・データー・オブジェクト等を露出する全てのデバイスに跨って、一貫性のある計算環境を反映(reflect)する。つまり、ユーザーは、高性能ノート型コンピューターによって全機能満載バージョン22の計算環境にアクセスすることができ、停電力セルフォン・デバイス16上において余分なものを省いたバージョン18の計算環境にアクセスすることができ、更に公衆端末24のウェブ・ブラウザー146によって、秘密指向バージョン28の計算環境にアクセスすることができる。このようなデバイスの各々の能力が計算環境のレンダリングをサポートする範囲において、各デバイスの能力に合わせて調節されたオブジェクト階層14のレンダリングにより、一貫性のあるユーザー・インターフェースおよびデーター集合を提示することができる。計算環境に対する更新は、計算環境ホスト12に向かって逆に伝搬させることができ、他のデバイスと自動的に同期させることができる。また、種々のデバイスは、ローカルに格納されているデーターを他のデバイスと共有することによって、そして他のデバイスを制御するまたは他のデバイスによって制御されることによって、協同することもできる。したがって、計算環境は、クラウド計算アーキテクチャとして考案し提示することができ、同じ計算環境に対して協同ポータル(デバイス特定プロパティを有する)のメッシュを形成する全てのデバイス(「クライアント」)に跨る、一貫性のあるレンダリングとして表されるデバイス独立表現(「クラウド」)を構成する。更に、計算環境ホスト12は、オブジェクト階層14を構成する種々のオブジェクトにサービスを適用することができ、オブジェクト階層にオブジェクトを格納する共通フォーマットが、適用されるオブジェクトの本質とは無関係に、サービスの一貫性のある可用性および適用を促進することができる。] 図1 [0014] [0022] これらの目的を促進するために、オブジェクト階層のオブジェクト群を特定の態様で編成するオブジェクト階層体系を考案することができる。例えば、データー・オブジェクト(ファイルのような)、ユーザーおよびユーザー・アカウント、デバイス、ならびに計算環境によって生ずるイベント、更にはそれらの間の派生(derivation)、所有、および相互関係を表すために、オブジェクトを考案し構造化することができる。このオブジェクトを編成する態様は、オブジェクトの別の編成に対して、格別な利点をもたらす、および/または欠点を低減することができる。したがって、このオブジェクト階層体系は、これにしたがってオブジェクトを編成するができ、計算環境のこのようなオブジェクトの使用を考慮して考案される。例えば、それぞれのオブジェクトを、種々の許可の集合を有する1つ以上のユーザー・アカウント(例えば、あるオブジェクトに対してリード/ライト許可を有する第1ユーザー・アカウント、そのオブジェクトに対して読み取り専用許可を有する第2ユーザー・アカウント、およびそのオブジェクトに対して許可を有していない第3ユーザー・アカウント)と関連付けることによって、セキュリティ許可(security permission)をモデル化することができる。計算環境は、オブジェクト階層体系の構造およびセマンティクス(semantics)にしたがって、オブジェクト階層のオブジェクトを利用するように構成することができ、これによって、各デバイスのコンフィギュレーションおよび能力に適した態様であるが、それ以外ではこのようなデバイス全ての間で一貫性のある態様で、複数のデバイスに跨って、配備可能な計算環境の提示を可能にする。] [0015] [0023]オブジェクト階層体系の定式化は、計算環境をホストするデバイスおよびサーバーのコンフィギュレーションに大きな影響を及ぼす可能性があることは認めることができよう。一例として、あるデバイスが計算環境の一部のみを要求することもあり得るし(例えば、セルフォン・デバイスが、電話番号および電子メール・アドレスというような1組の連絡先情報のみを含む、オブジェクト階層の部分を要求することもあり得る)、サーバーはその部分のみを提供することもできる。しかしながら、デバイスおよびサーバーが異なるオブジェクト階層体系において動作している場合、要求は失敗する場合もある。例えば、デバイスが、第1のオブジェクト階層体系にしたがったオブジェクト階層の特定部分(例えば、/Contacts)を要求したが、サーバーはこのような情報を第2のオブジェクト化階層体系にしたがったオブジェクト階層の別の部分(例えば、/AddressBook/Contacts)に格納していることも有り、したがって、連絡先情報が、このサーバーによってホストされているオブジェクト階層内に存在していても、要求された情報を提供することができないこともあり得る。第2の例として、サーバーは、任意のオブジェクト階層にしたがってオブジェクト階層を格納することができることもあるが、サービスを提供している間、オブジェクト階層の一部を利用するように構成した方が有利であることもあり、したがって、特定のオブジェクト階層体系にしたがってオブジェクト階層内に定められ編成されたオブジェクトを発見することを予期することもできる。例えば、デバイスによるオブジェクト階層を受信する要求に応答して、サーバーは、オブジェクト階層に格納されている認証情報を用いて、このデバイスを認証しようとすることができる。つまり、サーバーは、それに関係するサービスを提供しつつ、オブジェクト階層体系内に格納されている情報にアクセスもアクセスしこれを利用できるようにするために、特定のオブジェクト階層体系にしたがってオブジェクト階層をホストするように一層容易に構成することができる。] [0016] [0024] 以上の原理を考慮して、本明細書において紹介するのは、1つのこのようなオブジェクト階層体系であり、サーバーによるサービスの計算環境への適用、および計算環境を一貫性があるがデバイス特定的な態様でレンダリングすることができるデバイスへの計算環境の配備可能性を容易にするような特定の態様でオブジェクトを定めそして相互に関係付ける。本明細書において記載するオブジェクト階層体系は、1組の定められたオブジェクトとして提示され、各定義(definition)は計算環境における特定のタイプのデーター・オブジェクト(例えば、ユーザー・プロファイル、アプリケーション、およびデバイス)を表し、それに関係するある種のプロパティを有する。オブジェクトの一部は、特殊化されたタイプの他のオブジェクトとして定められ、例えば、包括的「人物」オブジェクト・タイプは、「ユーザー」オブジェクト・タイプを表すように拡大することもできる。「ユーザー」オブジェクト・タイプとは、計算環境において当該人物の特権を表す追加情報を有する人物とすることができる。加えて、一部のオブジェクトは、1つ以上の「人物」オブジェクト・タイプを収容する「人物集合体」オブジェクト・タイプのような、1つ以上の他のオブジェクトのためのコンテナとして定められている。更に、本明細書において紹介するオブジェクト階層体系は、ここではオブジェクト階層内において定められるオブジェクトの階層的編成を定める。即ち、ある種のオブジェクト・タイプは、オブジェクト階層のある場所に格納されることになっているので、オブジェクト階層においてこのようなオブジェクトを検索する任意のデバイスまたはコンピューター・システムは、計算環境内に存在する任意のものを、オブジェクト階層内における既知の確定した場所において発見する。] [0017] [0025]図2は、オブジェクト階層体系のオブジェクト・タイプ、およびそれらの間における拡張相互関係を示す。この図では、オブジェクト関係は、オブジェクト間の特殊化(specialization)を示す。例えば、「動物」オブジェクト・タイプは、「哺乳類」オブジェクト・タイプとして特殊化することができ、これを更に「猫」オブジェクト・タイプとして特殊化することができる。オブジェクト階層体系内における各オブジェクトのプロパティに付いての詳細をここで論ずるが、この図は、本明細書において紹介するオブジェクト階層体系に含まれるデーター・オブジェクトのタイプの全体像として提示する。] 図2 [0018] [0026]図2のオブジェクト階層体系オブジェクト集合30は、オブジェクト階層内に格納されている基本的データー・オブジェクトを表す、リソース・オブジェクト・タイプ32を含む。リソース・オブジェクト・タイプ32は、オブジェクト階層内において別個のアドレス可能な場所を規定するために、オブジェクト階層体系内にアドレス可能なオブジェクトを示す。即ち、オブジェクト階層における個々のアドレスについて、オブジェクト階層における1つのオブジェクトのみがその場所に対応する。このオブジェクト階層体系の実施形態によっては、リソースが1つのアドレスのみで特定できる場合もあり、一方オブジェクト階層体系の他の実施形態では、複数のアドレスによってリソースが特定される場合もある。しかしながら、このような実施形態のいずれにおいても、オブジェクト階層における1つのアドレスは、せいぜい1つのオブジェクトと関連付けられるに過ぎないであろう。] 図2 [0019] [0027]図2のオブジェクト階層体系オブジェクト集合30のリソース・オブジェクト・タイプ32は、多くの他のオブジェクト・タイプに対して基本オブジェクト・タイプとしての役割を果たす。これらのオブジェクト・タイプのいくつかは、従来の計算環境において1つ以上のファイルとして考案されることもあるオブジェクトに対応する。第1の例として、オブジェクト階層体系オブジェクト集合30は、コア・オブジェクト・オブジェクト・タイプ34を含む。これは、オブジェクト階層のルートに位置する1組のオブジェクトを備えている、特殊化タイプのリソースである。また、オブジェクト階層体系オブジェクト集合30は、アプリケーション・オブジェクト・タイプ36も含む。これは、計算環境においてインストールされたアプリケーションを表すオブジェクトを示す特殊化タイプのリソースである。多くの他のオブジェクトには、ファイル、アプリケーション・アイコン、および1つ以上のエクゼキュータブル・バイナリーというような、アプリケーション・オブジェクト・タイプと関連付けることができる。また、オブジェクト階層体系オブジェクト集合30は、データー・エントリ・オブジェクト・タイプ38も含む。これは、アプリケーション・バイナリー、文書、1組のアプリケーション・コンフィギュレーション情報、画像等のような、データーの原子単位のコンテナを表す特殊化タイプのリソースである。また、オブジェクト階層体系オブジェクト集合30は、ニュース項目オブジェクト・タイプ40も含む。これは、計算環境において注目に値するイベントを示す特殊化タイプのデーター・エントリ・オブジェクトである。] 図2 [0020] [0028] また、リソース・オブジェクト・タイプは、他のタイプのオブジェクトに対して基本オブジェクト・タイプとしての役割を果たすこともできる。一例として、オブジェクト階層体系オブジェクト集合30は、データー・フィード・オブジェクト・タイプ42も含むことができる。これは、アルバムを構成する1組のソング(例えば、MP3オブジェクト)または写真アルバムを構成する1組の写真画像というような、関係するデーター・エントリの集合体を示す特殊化タイプのリソースである。また、オブジェクト階層体系オブジェクト集合30は、活動オブジェクト・タイプ44も含む。これは、オブジェクトの作成、ユーザー・ログイン、および計算環境内におけるデバイスの追加というような、最近計算環境において発生したイベントを表す特殊化タイプのリソースである。(活動は、テキストの一部をコピーするというような、ユーザーにとってはほんの一時的な関心事に過ぎないと思われる、計算環境の通常過程において発生する、重要性の低いイベントを表す。一方、ニュース項目は、写真アルバムの作成というような、ユーザーにとってもっと長期間関心が持続すると思われる、重要性が高いイベントを表す。)また、オブジェクト階層体系オブジェクト集合30は、メンバー・オブジェクト・タイプ46も含む。これは、コア・オブジェクトと、例えば、所有権または許可設定を通じてコア・オブジェクトに関係付けられているユーザーとの間における関係を示す特殊化タイプのリソースである。また、オブジェクト階層体系オブジェクト集合30は、デバイス・オブジェクト・タイプ48も含む。これは、オブジェクト階層の少なくとも一部が送信を許可されており、表される計算環境の少なくとも一部がレンダリングを許可されているデバイスを表す特殊化タイプのリソースである。また、オブジェクト階層体系オブジェクト集合30は、マッピング・オブジェクト・タイプ50も含む。これは、デバイス(即ち、デバイス・オブジェクト)とそのデバイスに配信することができるコア・オブジェクトとの間の関係を示す、特殊化タイプのリソースである。また、オブジェクト階層体系オブジェクト集合30は、プロファイル・オブジェクト・タイプ52も含む。これは、計算環境の少なくとも一部の許可済みユーザーのユーザー・プロファイルを表す、特殊化タイプのリソースである。これらのオブジェクト・タイプは、リソース・オブジェクト・タイプ32に基づき、これらのオブジェクト・タイプのオブジェクトは、文書や画像というような、もっと型にはまったオブジェクト・タイプと同様に、アドレス可能およびアクセス可能な態様でオブジェクト階層に含まれる。] [0021] [0029] また、オブジェクト階層体系オブジェクト集合30は、リソース・オブジェクト・タイプ32から特殊化されないオブジェクト・タイプも含む。これらのオブジェクトは、オブジェクト階層体系に含まれるが、オブジェクト階層体系30のアドレシング・モードにしたがってアドレス可能なエンティティとして含まれないことがある。むしろ、これらのオブジェクトは、他のオブジェクトのアクセス可能なメンバー、またはオブジェクト階層体系30のアドレシング・モデルの外部にあるオブジェクトにカプセル化されているオブジェクト階層体系の特殊化された機構(feature)を備えることができる。一例として、オブジェクト階層体系オブジェクト集合30は、メッシュ・オブジェクト・タイプ54を含む。これは、オブジェクト階層全体に関する情報を含む。通例、1つのメッシュ・オブジェクトには特定のオブジェクト階層が関連付けられていると考えられるが、この関連付けの変形を、オブジェクト階層体系の他の実施形態に含めることもできる。また、オブジェクト階層体系オブジェクト集合30は、ストレージ・サービス・オブジェクト・タイプ56も含む。こっれは、オブジェクト階層の一部(例えば、1つ以上のコア・オブジェクト)が位置する記憶デバイスを表す。また、オブジェクト階層体系20は、リソース集合体オブジェクト・タイプ58も含む。これは、特定のオブジェクト・タイプのリソースの集合体を表す。例えば、デバイス・オブジェクトには、当該デバイスと関連のあるマッピング・オブジェクトのリソース集合体を構成することができる1つ以上のそれぞれのマッピング・オブジェクトを通じて、1つ以上のコア・オブジェクトと関連付けることができる。同様に、計算環境のユーザー・プロファイルは、オブジェクト階層のメッシュ単集合オブジェクト(mesh singleton object)と関連のあるプロファイル・オブジェクトのリソース集合体として表すこともできる。また、オブジェクト階層体系20は、アイデンティティ・オブジェクト・タイプ60も含む。これは、計算環境における特定のユーザー、例えば、そのユーザーに承諾を与えた許可を記述する。また、オブジェクト階層体系20は、役割オブジェクト・タイプ62も含む。これは、特定のタイプの役割(例えば、所有者、リーダ、および寄与者)に応じたコア・オブジェクトとメンバ・オブジェクトを関係付ける。] [0022] [0030]図2に示すオブジェクト・タイプが一緒になって、オブジェクト階層体系の大部分を構成し、計算環境の多くのオブジェクトは、これらのタイプの相互関係付けられたオブジェクトにしたがって表すことができる。これらのオブジェクト・タイプ、およびこのようなオブジェクト・タイプのオブジェクトを備えているオブジェクト階層に関して、図3はオブジェクト階層体系70の構造を示す。図3において、第1オブジェクトから第2オブジェクトへの単頭矢印は、第1オブジェクトの第2オブジェクトに対する関係を示す。また、図3において、第1オブジェクトから第2オブジェクトへの両頭矢印は、第1オブジェクトが、第2オブジェクトによって示されるタイプの1つ以上のオブジェクトの集合体であることを示す。例えば、メッシュ・オブジェクト72はデバイス集合体78に関係付けられている(単頭矢印によって示されている通り)。デバイス集合体78は、デバイス・オブジェクト80の集合体を含む(両頭矢印によって示されている通り)。尚、図2のオブジェクト階層体系オブジェクト集合30は、オブジェクト・タイプの特殊化を示し(例えば、第1オブジェクトが第2オブジェクトの特殊化タイプである)、一方図3のオブジェクト階層体系70は、オブジェクト階層におけるこれらのオブジェクト・タイプのオブジェクトの編成を示す(例えば、第1オブジェクトが第2オブジェクトの1つ以上に関係付けられている)。] 図2 図3 [0023] [0031]図3は、本明細書において記載するオブジェクト階層体系例70を示す。オブジェクト階層体系70は、メッシュ・オブジェクト72を備えており、このオブジェクト階層体系例70では、メッシュ・オブジェクト72は、計算環境を記述する単集合オブジェクトを備えている。メッシュ・オブジェクト72は、6つのタイプのオブジェクトおよびオブジェクト集合体に関係付けられている。最初に、メッシュ・オブジェクト72はプロファイル・オブジェクト74に関係付けられている。このオブジェクト階層体系例70では、プロファイル・オブジェクト74は、現ユーザーのプロファイルを表す単集合オブジェクトを備えている。また、オブジェクト集合72はストレージ・サービス集合体76にも関係付けられている。ストレージ・サービス集合体76は、オブジェクト階層の部分を格納することができる異なる場所を表す、0以上のストレージ・サービス・オブジェクト78を収容する。(尚、ストレージ・サービス集合体76またはストレージ・サービス78のいずれも、「リソース」とは呼ばれないことを記しておくとよいであろう。何故なら、これらのオブジェクトはリソース・オブジェクト・タイプ32に基づいていないからである。)また、メッシュ・オブジェクト72は、アプリケーション・リソース集合体80にも関係付けられている。アプリケーション・リソース集合体80は、オブジェクト階層によって表される計算環境において利用可能なアプリケーションを表す0以上のアプリケーション・リソース・オブジェクト82を含む。また、メッシュ・オブジェクト72は、デバイス・リソース集合体76にも関係付けられている。デバイス・リソース集合体76は、計算環境の少なくとも一部をレンダリングすることができるデバイスを表す0以上のデバイス・リソース・オブジェクト84を含む。最後に、メッシュ・オブジェクト72は、コア・オブジェクト・リソース集合体92にも関係付けられている。コア・オブジェクト・リソース集合体92は、オブジェクト階層のルートに位置する1組のオブジェクトを構成する0以上のコア・リソース・オブジェクト94を含む。] 図3 [0024] [0032]図3のオブジェクト階層体系例70に更に示すように、コア・リソース・オブジェクト94は4つのオブジェクト集合体に関係付けられている。第1に、コア・リソース・オブジェクト94は、少なくとも0のマッピング・リソース・オブジェクト98を含むマッピング・リソース集合体96に関係付けられている。マッピング・リソース・オブジェクト98は、コア・リソース・オブジェクト94の、コア・リソース・オブジェクト98をレンダリングすることができるデバイスとの関係を表し、したがって、それぞれのマッピング・リソース・オブジェクト98は少なくとも1つのデバイス・リソース・オブジェクト86に関係付けられている。また、コア・リソース・オブジェクト94は活動リソース集合体100にも関係付けられており、活動リソース集合体100は種々の変更(alternation)というような、コア・リソース・オブジェクト94に関して発生した重要性の低いイベントを表す0以上の活動リソース・オブジェクト102を含む。また、コア・リソース・オブジェクト94はメンバー・リソース集合体106にも関係付けられている。メンバー・リソース集合体106は、コア・リソース・オブジェクト94に対する種々のレベルのアクセスが与えられるユーザーを表す1つ以上のメンバー・リソース・オブジェクト106を含む。それぞれのメンバー・リソース・オブジェクト106は、1つ以上のアイデンティティ・オブジェクト108に関係付けられており、アイデンティティ・オブジェクト108は、メンバー・リソース・オブジェクト106によって表されるメンバーについての追加情報を提供する。最後に、コア・リソース・オブジェクト94は、データー・フィード・リソース集合体110にも関係付けられている。データー・フィード・リソース集合体110は、関連付けられたデーター・エントリの種々の集合体(例えば、音楽アルバムにおけるソングというような、関係付けられたユーザー・オブジェクトの集合体)を表す0以上のデーター・フィード・リソース・オブジェクト112を含む。データー・フィード・リソース・オブジェクト112は、それぞれ、データー・エントリ・リソース・オブジェクト116のデーター・エントリ・リソース集合体114に関係付けられている。また、データー・フィード・リソース・オブジェクト112は、データー・フィード・リソース・オブジェクト112に関して種々のユーザーに広げられたアクセス特権を表す役割オブジェクト120の役割集合体118に関係付けられている。しがたって、役割オブジェクト120は、このような役割を果たすユーザーを表す1つ以上のメンバー・リソース・オブジェクト106に関係付けられている。] 図3 [0025] [0033] したがって、図3のオブジェクト階層体系例70は、典型的なコンピューター・システムを構成する種々のそして雑多なデーター・オブジェクトを表すような態様で、図2に示したオブジェクト・タイプの編成例を提示する。オブジェクト階層(図1の想定場面10におけるオブジェクト階層例14のような)は、オブジェクト階層体系例70に倣ってモデル化することができ、サーバー(計算環境ホスト12のような)によってホストすることができる。サーバーは、計算環境を変更および維持するために、1組のサービスをオブジェクト階層14のオブジェクトに適用することができる。また、オブジェクト階層14を1つ以上のデバイス(セルフォン・デバイス16、パーソナル・ノート型コンピューター20、および公衆ワークステーション24というような)に配備することもでき、これらのデバイスは、図3のオブジェクト階層体系例70に倣ってモデル化されたオブジェクト階層を受けるように構成され、したがって、これによって表される計算環境を一貫性のある態様でレンダリングすることができる。] 図1 図2 図3 [0026] [0034] 尚、オブジェクト階層体系の定式化は、計算環境を表すオブジェクト階層のインスタンスを作成するためにも用いてもよいことも認めることができよう。したがって、図4は、計算環境を表す方法例130を示し、この方法例130は、図3のオブジェクト階層体系例70のようなオブジェクト階層体系に応じて編成されたオブジェクト階層のように、計算環境を表すことを伴う。図4の方法例130は、132において開始し、計算環境を、当該計算環境を記述するメッシュ・オブジェクトを備えるオブジェクト階層として表す(134)ことを伴う。一方、メッシュ・オブジェクトは、少なくとも1つのプロファイル・リソース・オブジェクト、ストレージ・サービス・オブジェクトのストレージ・サービス集合体、アプリケーション・リソース・オブジェクトのアプリケーション・リソース集合体、デバイス・リソース・オブジェクトのデバイス・リソース集合体、ニュース項目リソース・オブジェクトのニュース項目リソース集合体、およびコア・リソース・オブジェクトのコア・オブジェクト・リソース集合体を備えている。一方、それぞれのコア・リソース・オブジェクトは、コア・オブジェクトを少なくとも1つのデバイス・オブジェクトに関係付けるマッピング・リソースのオブジェクトのマッピング・リソース集合体、活動リソース・オブジェクトの活動リソース集合体、コア・オブジェクトを少なくとも1つのアイデンティティ・オブジェクトに関係付けるメンバー・リソース・オブジェクトのメンバーリソース集合体、およびデーター・フィード・リソース・オブジェクトのデーター・フィード・リソース集合体を備えている。最後に、それぞれのデーター・フィード・リソース・オブジェクトは、データー・エントリ・リソース・オブジェクトのデーター・エントリ・リソース集合体、およびデーター・フィード・リソース・オブジェクトをコア・リソース・オブジェクトのメンバー・リソース・オブジェクトに関係付ける役割リソース・オブジェクトの役割リソース集合体を備えている。このようにオブジェクトの階層のオブジェクトを編成し相互に関係付けることによって、この方法例は、計算環境の表現を配備可能に達成し、したがって136において終了する。] 図3 図4 [0027] [0035]図5は、図3のオブジェクト階層体系例70に基づき、そして図2のオブジェクト階層体系オブジェクト集合30に示されているオブジェクト・タイプを利用したオブジェクト階層例140を示す。オブジェクト階層例140は、現ユーザーを表すプロファイル・リソース・オブジェクト144を含むメッシュ・オブジェクト142、オブジェクト階層例140を格納するストレージ・サービス(計算環境ホストおよびセルフォン・デバイスのような)を表すストレージ・サービス集合体146、計算環境において利用可能な1組のアプリケーション(カレンダ・アプリケーションおよび計算器アプリケーションのような)を表すアプリケーション・リソース集合体148、一緒に計算環境を構成するデバイス(ワークステーション・コンピューター・システムおよびセルフォン・デバイスのような)を表すデバイス・リソース集合体150、および計算環境において発生した注目に値するイベント(新たな写真アルバムの作成、および音楽アルバムの追加というような)を記述するニュース項目リソース集合体152を備えている。また、メッシュ・オブジェクト142は、コア・リソース・オブジェクト集合体154も含む。コア・リソース・オブジェクト集合体154は、1組の写真アルバムを表す第1コア・リソース・オブジェクト156と、1組の音楽アルバムを表す第2コア・リソース・オブジェクト166とを含む。第1コア・リソース・オブジェクト156は、第1コア・リソース・オブジェクト156に関して発生した重要性の低いイベントを表す活動リソース集合体、第1コア・リソース・オブジェクト156に対して種々のレベルのアクセスが与えられるメンバーを表すメンバー・リソース集合体、および第1コア・リソース・オブジェクト156をアクセスする際に用いることができるデバイスに、第1コア・リソース・オブジェクト156を関係付けるマッピング集合体を含む。また、第1コア・リソース・オブジェクト156は、データー・フィード・リソース集合体も含み、データー・フィード・リソース集合体は、写真アルバム集合体において写真アルバムを表すデーター・フィード・リソース・オブジェクト158を備えている。一方、データー・フィード・リソース・オブジェクト158は、写真アルバムの写真を備えているデーター・エントリ・リソース集合体162と、写真アルバムに関するメンバーの種々の役割を表す役割リソース集合体164(第1メンバーによって占められる「所有者」役割、および第2メンバーによって占められる「寄与者」役割)とを含む。同様に、第2コア・リソース・オブジェクト166は、活動、メンバー、マッピング、およびデーター・フィードの集合体を含む。データー・フィードは、音楽アルバムにおける種々のソングを表すデーター・エントリ・リソース集合体172、および音楽アルバムにアクセスすることができるメンバー(第1メンバーによって占められる「所有者」役割、および第2メンバーによって占められる「聴取者」役割)を表す役割リソース集合体174を有する音楽アルバムを表すデーター・フィード・リソース・オブジェクト170を含む。] 図2 図3 図5 [0028] [0036] 本明細書において論ずるように考案されたオブジェクト階層体系(図3のオブジェクト階層体系例70のような)は、多くの態様において、変形と共に実現することができる。一部の変形は、これらおよびその他の技法のその他の変形に関して、更に別の利点を表すことおよび/または欠点を縮減することもあり得る。これらの変形は、このような追加利点および/または縮減された欠点を促進するために、これらの技法の実施形態(図4の方法例130のような)、単体でまたは他の変形と組み合わせて含まれる可能性もある。] 図3 図4 [0029] [0037] これらの技法の実施態様間で多様に変化する可能性がある第2の態様は、オブジェクト階層体系にしたがって編成されたオブジェクト階層のオブジェクトを格納する態様に関する。本明細書において記載するオブジェクト階層体系は、オブジェクト階層の多くのモデルにおいて具体化することができる。いくつかの実施形態例を図6に示す。各々、人物(プロパティ「Fname」および「Lname」を有する)、デバイス(プロパティ「DeviceID」を有する)、およびアプリケーション(プロパティ「タイトル」および「バイナリー」を有し、後者はエクゼキュータブル・バイナリーの内容を構成する)を表すオブジェクトの格納を示す。第1の例180として、オブジェクト階層体系は、C#のようなオブジェクト指向言語で書かれた1組のオブジェクトとして明示することができる。オブジェクトは、クラスからインスタンス化され、一方、クラスは、名称が付けられたプロパティおよびメソッドの、明確にタイプ分けされた(well-typed)集合体として定められる。このモデルでは、1組のクラスを定めることができ、クラスによってモデル化されるオブジェクトのタイプのインスタンスを表すために、各クラスからオブジェクトをインスタンス化することができる。例えば、人物を表すために、1つのクラス・タイプを定めることができ、クラスは、第1人物(「デビッド・スミス」)を表す第1クラス・インスタンス(「人物1」)と、第2人物(「ジョン・リー」)を表す第2クラス・インスタンス(「人物2」)としてインスタンス化することができる。第2の例190として、オブジェクト階層体系は、リレーショナル・データーベースのような、データー・ストアに格納された1組のオブジェクトとして明示することができる。オブジェクトの各タイプは、オブジェクトのプロパティにしたがって構造化された特定のリレーショナル・テーブルに格納することができる。例えば、テーブルは、種々の人物の表現を格納するように構造化することができ、第1人物(「デビッド・スミス」)を表す第1レコード(「人物1」)と、第2人物(「ジョン・リー」)を表す第2レコード(「人物2」)とを含むことができる。第3の例200として、オブジェクト階層のオブジェクトは、オブジェクト階層体系のオブジェクトに倣ってモデル化することができるが、プロパティ名および値の辞書を提供する構造不可知的な態様(structure-agnostic manner)で格納することができる。タプル・システム(tuple system)を利用することもでき、この場合、いずれの名称でも任意の1組のオブジェクトをキー/値タプルとして宣言することができる。例えば、人物の表現は、第1人物(「デビッド・スミス」)を表す第1のツー・タプル(「人物1」)、および第2人物(「ジョン・リー」)を表す第2のツー・タプル(「人物2」)として格納することができる。オブジェクト階層体系のこれらおよびその他の実施形態も、本明細書において論ずる技法を実現する間に、当業者によって考案することができる。] 図6 [0030] [0038] これらの技法の実施態様間で多様に変化する可能性がある第2の態様は、これらのオブジェクト・タイプの拡張可能性、および/または新しいオブジェクト・タイプの追加を促進する態様としたオブジェクト階層体系の定式化に関する。図2に示したオブジェクト・タイプは、計算環境のオブジェクトの多くまたは全てを表すには最大限適していると言える。しかしながら、図2に示したオブジェクト階層体系オブジェクト集合例30は、オブジェクト階層体系において定めて組み込むことができるオブジェクト・タイプの網羅的なリストとして提示されたのではない。オブジェクト階層体系の種々の実施形態は、図2に示したオブジェクト・タイプに加えて、これらから特殊化されたその他のオブジェクト・タイプ、および/またはこれらの些細な変更として、他のオブジェクト・タイプを含みそして定めることができる。更に、オブジェクト階層体系の実施形態の中には、他のタイプのオブジェクトでも、それによって編成されるオブジェクト階層内に格納することを可能にする場合もある。したがって、オブジェクト階層体系は、拡張可能なオブジェクト・システムとして考案することができ、オブジェクトは、新たなオブジェクト・タイプにしたがってオブジェクト階層内に作成することができ、オブジェクト・タイプを新たなプロパティで拡大することもできる。第1の例として、オブジェクトの完全に新しいタイプを種々のユーザーによって考案し、オブジェクト階層の中に挿入することができる。第2の例として、ユーザーが、セマンティック関係を有するオブジェクトを示すために、メタデーターをオブジェクトと関連付けたい場合がある。このメタデーターは、オブジェクト階層のオブジェクトを、ユーザーにとって価値のある情報で補うことができ、メタデーターがオブジェクト階層におけるオブジェクトの表現と干渉しないような態様で、オブジェクト階層体系を考案することができる。] 図2 [0031] [0039]オブジェクト階層体系の拡張可能性の促進のために、オブジェクト階層のそれぞれのオブジェクトは、再帰可能な基本表現フォーマットにしたがって指定および格納することができ、オブジェクトのコンポーネントを基本的な態様で表すことができる。例えば、オブジェクトは、通例、3つのタイプのデーター・エレメント、即ち、原子(数値またはキャラクタのようなデーターの単一単位)、レコード(共に動作するデーターの単一単位の集合体)、およびシーケンス(エレメントの集団)を含むことは認めることができよう。レコードは、一般に、まとめて1776年7月4日という日付を表す数値、7、4、および1776のように、1つの表現として分割不可能に一緒に機能する1組のエレメントを示す。一方、シーケンスは、素数の部分集合を構成する2、3、5、および7というような、分割可能な1組の項目を示す。更に、再帰によって文法(grammar)を考案することもでき、これによってある種のエレメント(例えば、シーケンスのシーケンス、またはレコードの1つのエレメントとしてシーケンスを含むレコード)のネスティングが可能になる場合もある。このようにオブジェクトを編成することによって、オブジェクト階層体系は、既知のオブジェクト・タイプ(図2に示したもののような)のオブジェクトの表現だけでなく、未知のオブジェクト・タイプのオブジェクトの表現も可能とし、更に、ユーザーが定めるメタデーターのように、既知のオブジェクト・タイプの新たな情報による拡張も可能にすることができる。多くの拡張可能オブジェクト階層体系およびそのフォーマットも、本明細書において論ずる技法を実現する間に、当業者によって考案することができる。] 図2 [0032] [0040] これらの技法の実施態様間で多様に変化する可能性がある第3の態様は、オブジェクト階層のオブジェクトを特定することができるアドレシング・モデルに関する。このアドレシング・モデルは、オブジェクト階層を構成するオブジェクトの階層的配列を反映するように選択することができる利点がある(即ち、第1オブジェクトが階層的に第2オブジェクトに従属する場合、第1オブジェクトのアドレスは階層的に第2オブジェクトのアドレスに従属する)。また、このアドレシング・モデルは、アドレス毎にせいぜい1つのオブジェクトを指定するように選択することができ、オブジェクトがオブジェクト階層において位置を変化させたり、あるいは除去されたりするまで、またはそうされない限り、オブジェクトは特定のアドレスにおいてアドレス可能であり続けるように選択することができる利点がある。オブジェクト階層体系の実施形態によっては、それぞれのオブジェクトが1つのアドレスにおいて入手可能なように、第1アドレスにおいて入手可能な第1オブジェクトが、第2アドレスにおいて入手可能な第2オブジェクトと比較して、実際に異なるオブジェクトとなるように、アドレシング・モデルを考案することもできる。オブジェクト階層体系の別の実施形態では、1つのオブジェクトが2カ所以上のアドレスにおいてアクセス可能な場合もある。一例として、1つのオブジェクトが、オブジェクト階層における階層アドレスと、オブジェクト階層におけるその位置には関係なく当該オブジェクトを別個に特定することができる、大域的に別個のアドレス(globally distinctive address)との双方を有することもできる。例えば、オブジェクト階層のオブジェクトには、大域的一意識別子(GUID)を割り当てることができ、オブジェクト階層における1つ以上の階層アドレスにしたがってアクセスすることができ、あるいはそのGUIDにしたがって非階層的にアクセスすることもできる。つまり、ジョン・リーについての連絡先情報を表すオブジェクトには、作成時に、0xF451D3E0が指定され、階層的位置および名称(例えば、/Contacts/JohnLee)によってまたはGUID(例えば、/GUIDs/F451D3E0)によってアクセスすることができる。オブジェクト階層体系のための多くのアドレシング・モデルも、本明細書において論ずる技法を実現する間に、当業者によって考案することができる。] [0033] [0041] このようなアドレシング・モデルの内有利であり得る1つは、オブジェクト階層のそれぞれのアドレスについて、リソース・オブジェクト・タイプのせいぜい1つのオブジェクトしか定めない階層アドレシング・モデルを伴う。このアドレシング・モデルは、図2のオブジェクト階層体系オブジェクト集合例30に示したような、オブジェクト・タイプを備えているオブジェクト階層体系に適用することができ、多くのオブジェクト・タイプが基本リソース・オブジェクト・タイプ32から派生する。これから派生したこのようなオブジェクトのいずれにも、オブジェクト階層における1つの階層的指向アドレスを割り当てることができ、逆に、リソース・オブジェクト・タイプ32から派生しないオブジェクトは、アドレシング・モデルを通じて入手可能ではない場合もある。更に特定すれば、階層的アドレシング・モデルは、均一リソース識別子(URI)階層アドレシング・モデルにしたがって定めることもできる。URIは、通例、次のシンタックスにしたがって定められる。] 図2 [0034] ] [0035] ここで、schemeは通信プロトコル(HTTP、FTP、telnet等)を表し、authorityはサーバーまたはデーター源を表し、pathはその名称のリソースが存在する階層のノードへの、スラッシュで範囲を定められた経路を表す。オブジェクト階層体系(図3のオブジェクト階層体系例70のような))に基づくオブジェクト階層のオブジェクトは、] 図3 [0036] ] [0037] というような態様でアドレスすることができる。] [0038] [0042] このアドレシング・モデルは、様々な態様において有利であると言える。第1に、このようにアドレス可能なオブジェクト階層は、ウェブサーバーが特に計算環境を表すオブジェクト階層のオブジェクトを格納するように構成されていなくても、共通のウェブサーバーによってホストすることができる。第2に、このように指定されたオブジェクト・アクセスは、URIに基づく要求を扱うように主に構成されているネットワーキング・ハードウェア(例えば、ファイアウオールおよびルータ)によって更に容易に扱うことができる。第3に、このようにアドレス可能なオブジェクト階層は、表象的状態遷移(「RESTful」)インターフェースにしたがって表すことができ、オブジェクト階層のオブジェクトは、制約された1組の明確に定義された動作によって動作させることができる。例えば、共通のHTTP方法(PUT、GET、POST、およびDELETE)は、計算環境を表すオブジェクト階層のオブジェクトにアクセスするために共通の動詞(作成、読み取り、更新、および削除)を可能にするのに全面的に適していると考えられる。種々のオブジェクト階層体系のためのその他のアドレシング・モデルと比較して、他の利点を得ることもでき、および/または他の欠点を縮減することもできる。] [0039] [0043] これらの技法の実施態様間で多様に変化する可能性がある第4の態様は、オブジェクト階層体系において定められている既知のオブジェクト・タイプのコンポーネントに関する。図2に示したオブジェクト階層体系オブジェクト集合例30は、オブジェクト階層体系において定めて組み込むことができるオブジェクト・タイプの網羅的なリストとして提示されたのでなければ、これらのオブジェクト・タイプを構成する完全な1組のプロパティとして提示されたのでもない。図7は、オブジェクト階層体系のオブジェクト・タイプと関連付けることができる追加のオブジェクト・プロパティを備えている、追加オブジェクト・プロパティ集合例210を示す。これらの追加オブジェクト・プロパティは、更に、オブジェクト階層体系にしたがって編成されたオブジェクト階層のオブジェクトを定めるために選択することができ(単体または他の追加オブジェクト・プロパティとの組み合わせで)、異なるオブジェクト・プロパティの集合によってオブジェクト・タイプを定めるオブジェクト階層体系に関して、追加の利点を提示すること、および/または欠点を縮減することができる。] 図2 図7 [0040] [0044]追加オブジェクト・プロパティ集合例210に示すように、メッシュ・オブジェクト・タイプ54には、メッシュのアドレスを指定する自己リンク・オブジェクト(例えば、http://mycomputer.commのように、メッシュのサーバーまたはソースを定める部分的URI)、および/またはオブジェクト階層およびそれによって表される計算環境に名称を指定するタイトル・オブジェクトを含む追加プロパティを関連付けることができる。リソース・オブジェクト・タイプ32およびリソース集合体オブジェクト・タイプ58の双方には、広範囲のプロパティと関連付けることができる。これらのプロパティには、リソースまたはリソース集合体の著作者を特定する著作者集合体、リソースまたはリソース集合体に含まれる項目の基本アドレス(例えば、基本URI)を指定する基本アドレス・オブジェクト、リソースまたはリソース集合体を記述する何らかのユーザーが定めたカテゴリーを指定するカテゴリ集合体、リソースまたはリソース集合体に対する寄与者を指定する寄与者集合体、リソースまたはリソース集合体に関する著作権声明を特定する著作権オブジェクト、大域的一意識別子(GUID)のような識別オブジェクト、リソースまたはリソース集合体に関係付けられたリンク(例えば、URL)を特定するリンク集合体、リソースまたはリソース・オブジェクトの別個のアドレス(例えば、URI)を指定する自己リンク・オブジェクト、リソースまたはリソース集合体のテキスト摘要を含む摘要オブジェクト、および/またはリソースまたはリソース集合体の名称を指定するタイトル・オブジェクトが含まれる。] [0041] [0045]追加オブジェクト・プロパティ集合例210において更に示すように、コア・オブジェクト・タイプ34は、コア・オブジェクトと関連のある、任意に割り当てられた1組のユーザー・データー(例えば、ドメイン特定メタデーター)を含むユーザー・データー・オブジェクトと関連付けることができる。アプリケーション・オブジェクト・タイプ36は、アプリケーションを示差的に特定するアプリケーション識別オブジェクト(例えば、アプリケーション名)、当該アプリケーションのホームページを特定するホームページ位置オブジェクト(例えば、ウェブサイトURL)、オブジェクト階層における当該アプリケーションの現バージョンを特定するインストール・バージョン位置(例えば、計算器バージョン1.2.1.1600)、アプリケーション・マニフェスト(application manifest)の位置を特定するマニフェスト位置オブジェクト(例えば、オブジェクト階層においてリソース・オブジェクトを特定するURI、またはウェブ・アクセス可能アプリケーション・マニフェストを特定するURL)、および/またはマニフェスト位置において入手可能なアプリケーション・マニフェストのバージョンを特定するマニフェスト・バージョン・オブジェクトと関連付けることができる。データー・エントリ・オブジェクト・タイプ38には、データー・エントリ・オブジェクトの階層的親を示す親識別オブジェクト、オブジェクト同期情報(例えば、最新オブジェクト同期インディケーター、このデーター・エントリを最後に計算環境ホストと同期させた日時等)を含む同期オブジェクト、および/またはデーター・エントリと関連のある任意に割り当てられた1組のユーザー・データーを含むユーザー・データー・オブジェクトと関連付けることができる。データー・フィード・オブジェクト・タイプ42は、1組の同期関係活動または新たな項目を備えている同期エントリ集合体、および/またはデーター・フィードのタイプ(例えば、画像または音響の集合体、マルチメディア文書のコンポーネント等)を示すデーター・フィード・タイプ・オブジェクトと関連付けることができる。] [0042] [0046]追加オブジェクト・プロパティ集合例210において更に示すように、活動オブジェクト・タイプ44は、活動のタイプ(例えば、データー・エントリ作成、読み取り、更新、または削除)を記述する活動タイプ・オブジェクト、および/または有用な活動の最大有効期間を定める最大寿命オブジェクトと関連付けることができる。最大有効期間を過ぎると、活動は陳腐化イベントを表しもはや有用に格納されずユーザーには提示されなくなる。メンバー・オブジェクト・タイプ46は、リソースまたはリソース集合体のメンバーになるように招待された個人がその招待を受諾したか否かを示す招待受諾インディケーター・オブジェクト、リソースまたはリソース集合体のメンバーになる招待が期限切れでないかを示す招待期限切れインディケーター・オブジェクト、メンバーがリソースまたはリソース集合体の所有者であるか否か示す所有者インディケーター・オブジェクト、および/またはリソースまたはリソース集合体に関してメンバーによって占められる役割のタイプ(例えば、著作者、読み手等)を示す役割タイプ・オブジェクトと関連付けることができる。デバイス・オブジェクト・タイプ48は、表されたデバイスが属する一般的デバイス・クラスを記述するデバイス・タイプ・オブジェクト、および/またはデバイスが計算環境を現在表しているデバイスに現在アクセス可能か否かを示すデバイス・オンライン・インディケーター・オブジェクトと関連付けることができる。マッピング・オブジェクト・タイプ50は、データー・フィード・マッピング集合体と関連付けることができる。データー・フィード・マッピング集合体は、コア・リソース・オブジェクトにおいて、デバイスにマッピングされる特定のデーター・フィードを特定する。例えば、マッピング・オブジェクト・タイプ50のオブジェクトを通じて、デバイスをコア・オブジェクトの部分集合にマッピングすることができるが、マッピング・オブジェクトのデーター・フィード・マッピング集合体において特定されているある種のデーター・フィードにマッピングが制限される場合がある。プロファイル・オブジェクト・タイプ52は、ユーザーの名称を表す名称オブジェクト、および/またはユーザーの電子メール・アドレス連絡先を表す電子メール・アドレス・オブジェクトと関連付けることができる。最後に、役割オブジェクト・タイプ62は、役割と関連のある許可を特定する、作成許可インディケーター・オブジェクト、削除許可インディケーター・オブジェクト、読み取り許可インディケーター・オブジェクト、および/または更新許可インディケーター・オブジェクト、および/またはこの役割においてユーザーによって占められる役割タイプを特定する役割タイプ・オブジェクトと関連付けることができる。] [0043] [0047] したがって、図7の追加オブジェクト・プロパティ例210は、オブジェクト・プロパティの一部を例示し、これらは更にオブジェクト階層体系の種々のオブジェクト・タイプと関連付けることもできる(単体または組み合わせで)。しかしながら、追加オブジェクト・プロパティ集合210は、このようなオブジェクト階層体系の種々のオブジェクト・タイプと関連付けることができるオブジェクト・プロパティの網羅的リストとして提示されたのではないこと、そして多くの他のオブジェクト・プロパティを代わりにまたは加えて種々のオブジェクト・タイプと関連付けることができることは認めることができよう。オブジェクト階層体系の種々の既知のオブジェクト・タイプの定義における多くの追加のまたは代わりのオブジェクト・プロパティも、本明細書において論ずる技法を実現する間に、当業者によって考案することができる。] 図7 [0044] [0048] 本明細書において論ずる技法の別の実施形態は、オブジェクト階層にしたがって計算環境を表す方法を実行するように構成されているプロセッサー実行可能命令を備えているコンピューター読み取り可能媒体にも関与する。これらの方法において考案することができるコンピューター読み取り可能媒体例を図8に示す。図8では、実施態様220は、コンピューター読み取り可能媒体222(例えば、CD−R、DVD−R、またはハード・ディスク・ドライブのプラッタ)を備えており、ここにコンピューター読み取り可能データー224がエンコードされている。一方、このコンピューター読み取り可能データー224は、本明細書において明記した原理にしたがって動作するように構成されている1組のコンピューター命令226を備えている。このような実施形態の1つ220では、プロセッサー実行可能命令226は、図4の方法例130のような、オブジェクト階層にしたがって計算環境を表す方法を実行するように構成することができる。本明細書において紹介した技法にしたがって動作するように構成されている多くのこのようなコンピューター読み取り可能媒体が、当業者によって考案することができる。] 図4 図8 [0045] [0049] 以上、構造的特徴および/または方法論的行為に特定的な文言で本主題について説明したが、添付した特許請求の範囲において定義されている主題は、かならずしも前述した具体的な特徴や行為には限定されないことは言うまでもない。むしろ、前述の具体的な特徴および行為は、特許請求の範囲を実施する形態例として開示したまでである。] [0046] [0050] 本願において用いる場合、「コンポーネント」、「モジュール」、「システム」、「インターフェース」等の用語は、一般に、コンピューター関連エンティティを指し、ハードウェア、ハードウェアおよびソフトウェアの組み合わせ、ソフトウェア、または実行中のソフトウェアのいずれかであることを意図している。例えば、コンポーネントは、限定ではなく、プロセッサー上で実行中のプロセス、プロセッサー、オブジェクト、エクゼキュータブル、実行のスレッド、プログラム、および/またはコンピューターであってもよい。例示として、コントローラ上で実行中のアプリケーションおよびそのコントローラの双方がコンポーネントであり得る。1つ以上のコンポーネントが1つのプロセスの中に位置しても良く、および/または実行のスレッドおよびコンポーネントを1つのコンピューター上に局在させて(localize)てもよく、および/または2つ以上のコンピューター間で分散してもよい。] [0047] [0051] 更に、特許請求する主題は、コンピューターを制御して開示した主題を実現させるソフトウェア、ファームウェア、ハードウェア、またはそれらのいかなる組み合わせをも生成するために、標準的なプログラミングおよび/またはエンジニアリング技法を用いた、方法、装置、または製造品目として実現することができる。「製造品目」という用語は、本明細書において用いる場合、あらゆるコンピューター読み取り可能デバイス、担体、または媒体からでもアクセス可能なコンピューター・プログラムを包含することを意図している。勿論、特許請求する主題の範囲および主旨から逸脱することなく、多くの変更をこの構成に加えることができることは、当業者には認められよう。] [0048] [0052]図9および以下の論述は、本明細書において明記した設備(provision)の1つ以上の実施形態を実現するのに適した計算環境の端的な全体的説明を提示する。図9の動作環境は、適した動作環境の一例に過ぎず、動作環境の使用または機能の範囲に関して、何の限定も示唆することを意図するのではない。計算デバイスの例には、限定ではなく、パーソナル・コンピューター、サーバー・コンピューター、ハンドヘルドまたはラップトップ・デバイス、移動体デバイス(移動電話機、パーソナル・ディジタル・アシスタント(PDA)、メディア・プレーヤーなど)、マルチプロセッサー・システム、消費者向け電子機器、ミニ・コンピューター、メインフレーム・コンピューター、以上のシステムまたはデバイスのいずれでも含む分散型計算環境等が含まれる。] 図9 [0049] [0053] 実施形態は、1つ以上の計算デバイスによって実行される「コンピューター読み取り可能命令」という一般的なコンテキストにおいて説明する。コンピューター読み取り可能命令は、コンピューター読み取り可能媒体(以下で論ずる)によって配信することができる。コンピューター読み取り可能命令は、関数、オブジェクト、アプリケーション・プログラミング・インターフェース(API)、データー構造などのような、特定のタスクを実行するかまたは特定の抽象的データー・タイプを実現するプログラム・モジュールとして実現することができる。通例では、コンピューター読み取り可能命令の機能は、所望に応じて、種々の環境において組み合わせることまたは分散することもできる。] [0050] [0054]図9は、本明細書において提唱した1つ以上の実施形態を実現するように構成されている計算デバイス232を備えているシステム230の一例を示す。一構成では、計算デバイス232は、少なくとも1つの処理ユニット236と、メモリ238とを含む。計算デバイスの正確な構成および種類によっては、メモリ238は揮発性(例えば、RAMのような)、不揮発性(例えば、ROM、フラッシュ・メモリのような)、またはこれら2つの組み合わせとなることもある。この構成は、図9では、破線234によって示されている。] 図9 [0051] [0055] 他の実施形態では、計算デバイス232は、追加の機構および/または機能を含むこともできる。例えば、計算デバイス232は、限定ではなく、磁気ストレージ、光ストレージ等を含む追加のストレージ(例えば、リムーバブルおよび/または非リムーバブル)を含むこともできる。このような追加のストレージは、図9では、ストレージ240によって例示されている。一実施形態では、本明細書において提唱した1つ以上の実施形態を実現するためのコンピューター読み取り可能命令は、ストレージ240の中に入れることができる。また、ストレージ240は、オペレーティング・システム、アプリケーション・プログラムなどを実装するための他のコンピューター読み取り可能命令も格納することができる。コンピューター読み取り可能命令は、例えば、処理ユニット236による実行のために、メモリ238にロードすることができる。] 図9 [0052] [0056] 「コンピューター読み取り可能媒体」という用語は、本明細書において用いる場合、コンピューター記憶媒体を含む。コンピューター記憶媒体は、コンピューター読み取り可能命令またはその他のデーターのような情報の格納のためにいずれかの方法または技術で実現された、揮発性および不揮発性、リムーバブルおよび非リムーバブル媒体を含む。メモリ238およびストレージ240は、コンピューター記憶媒体の例である。コンピューター記憶媒体は、限定ではなく、RAM、ROM、EEPROM、フラッシュ・メモリまたはその他のメモリ技術、CD−ROM、ディジタル・バーサタイル・ディスク(DVD)またはその他の光ストレージ、磁気カセット、磁気テープ、磁気ディスク・ストレージまたはその他の磁気記憶デバイス、あるいは所望の情報を格納するために用いることができその上計算デバイス232によってアクセスすることができるのであれば他のいずれの媒体をも含む。このような御ピュータ記憶媒体は、そのいずれもが計算デバイス232の一部となってもよい。] [0053] [0057] また、計算デバイス232は、計算デバイス232が他のデバイスと通信することを可能にする通信接続(1つまたは複数)246も含むことができる。通信接続(1つまたは複数)246は、限定ではなく、モデム、ネットワーク・インターフェース・カード(NIC)、統合ネットワーク・インターフェース、無線周波数送信機/受信機、赤外線ポート、USB接続、または計算デバイス232を他の計算デバイスと接続するためのその他のインターフェースを含むことができる。通信接続(1つまたは複数)246は、有線接続またはワイヤレス接続を含むことができる。通信接続(1つまたは複数)246は、通信媒体を送信および/または受信することができる。] [0054] [0058] 「コンピューター読み取り可能媒体」という用語は、通信媒体を含むことができる。通信媒体は、通例、搬送波またはその他の伝達メカニズムのような「変調データー信号」にコンピューター読み取り可能命令またはその他のデーターを具体化し、いずれの情報配信媒体も含む。「変調データー信号」という用語は、情報を信号内に符号化するような態様で設定または変更したその特性の1つ以上を有する信号を含むことができる。] [0055] [0059]計算デバイス232は、キーボード、マウス、ペン、音声入力デバイス、接触入力デバイス、赤外線カメラ、ビデオ入力デバイス、および/またはその他のあらゆる入力デバイスというような、入力デバイス(1つまたは複数)244を含むことができる。1つ以上のディスプレイ、スピーカー、プリンター、および/またはその他の出力デバイスというような出力デバイス(1つまたは複数)242も、計算デバイス232に含むことができる。入力デバイス(1つまたは複数)244および出力デバイス(1つまたは複数)242は、有線接続、ワイヤレス接続、またはそのいずれの組み合わせによってでも、計算デバイス232に接続することができる。一実施形態では、別の計算デバイスからの入力デバイスまたは出力デバイスを、計算デバイス232用の入力デバイス(1つまたは複数)244または出力デバイス(1つまたは複数)242として用いることもできる。] [0056] [0060]計算デバイス232のコンポーネントは、バスのような、種々の相互接続によって接続することができる。このような相互接続は、PCIExpressのようなペリフェラル・コンポーネント相互接続(PCI)、ユニバーサル・シリアル・バス(USB)、ファイアワイヤ(IEEE1394)、光バス構造などを含むことができる。別の実施形態では、計算デバイス232のコンポーネントは、ネットワークで相互接続することができる。例えば、メモリ238は、ネットワークによって相互接続されている異なる物理的位置にある多数の物理的メモリ・ユニットによって構成することもできる。] [0057] [0061]コンピューター読み取り可能命令を格納するために利用される記憶デバイスは、ネットワークに跨って分散させてもよいことは、当業者には分かるであろう。例えば、ネットワーク248を通じてアクセス可能な計算デバイス250は、本明細書において提唱した1つ以上の実施形態を実現するために、コンピューター読み取り可能命令を格納することができる。計算デバイス232は、計算デバイス250にアクセスし、コンピューター読み取り可能命令の一部または全部を実行のためにダウンロードすることができる。あるいは、計算デバイス232は、必要に応じて、コンピューター読み取り可能命令の断片をダウンロードすることができ、一部の命令を計算デバイス232において実行し、一部を計算デバイス250において実行することもできる。] [0058] [0062] 本明細書では、実施形態の種々の動作について提唱した。一実施形態では、記載した動作の1つ以上が、1つ以上のコンピューター読み取り可能媒体上に格納されたコンピューター読み取り可能命令を構成することができ、計算デバイスによって実行すると、当該計算デバイスに、記載した動作を実行させる。これらの動作の一部または全部を記載した順序は、これらの動作に必然的な順序依存性があるように解釈すべきではない。この記載から援助を受けた当業者には、代わりの順序も認められよう。更に、本明細書において提唱した各実施形態において、全ての動作が必ずしも出てくる訳ではないことは言うまでもない。] [0059] [0063] 更に、「一例の」という単語は、本明細書では、一例、実例、または例示としての役割を果たすことを意味するために用いられる。本明細書において「一例の」として記載される態様または設計はいずれも、他の態様または設計よりも有利であるとは必ずしも解釈されない。むしろ、一例のという用語の使用は、概念を具体的に紹介することを意図している。本明細書において用いる場合、「または」という用語は、排他的な「または」ではなく包含的な「または」を意味することを意図する。即ち、そうでないことが指定されていない限り、または文脈から明白でない限り、「XはAまたはBを採用する」とは、自然な包含的組み合わせ(permutation)のいずれでも意味することを意図する。即ち、XがAを採用する場合、XがBを採用する場合、またはXがAおよびBの双方を採用する場合、これらの実例のいずれにおいても、「XはAまたはBを採用する」が満たされる。加えて、冠詞「a」および「an」は、本願および添付した特許請求の範囲において用いられる場合、そうでないことが指定されていない限り、また文脈から単数形態を対象とすることが明白でない限り、「1つ以上」を意味するように通常解釈することができる。] [0060] [0064] また、1つ以上の実施態様に関して本開示を示し説明したが、本明細書および添付図面の熟読および理解に基づいて、同等の変形や変更が当業者には想起されよう。本開示は、このような変更や変形を全て含み、以下の特許請求の範囲のみによって限定される。特に、以上で述べたコンポーネント(例えば、エレメント、リソース等)によって実行される種々の機能に関して、このようなコンポーネントを記載するために用いられた用語は、そうでないことが示されない限り、記載されたコンポーネント(例えば、機能的に同等な)の指定された機能を実行するのであれば、本開示のここで例示された実施態様例における機能を実行する、開示された構造に構造的に同等でなくても、いずれのコンポーネントにも対応することを意図している。加えて、本開示の特定的な機構を、様々な実施態様の内1つのみに関して開示したが、このような機構は、いずれの所与の用途または特定の用途にとっても望まれるまたは有利となるように、他の実施態様の1つ以上の別の機構と組み合わせることができる。更に、「含む」、「有している」(having)、「有する」(has)、「と」(with)という用語、またはその異形が詳細な説明または特許請求の範囲において用いられている限りにおいて、このような単語は、用語「備えている」(comprising)と同様に内包的であることを意図している。]
权利要求:
請求項1 計算環境を表す方法(50)であって、前記計算環境のオブジェクトをオブジェクト階層(10)に表すステップであって、再帰可能な基本表現フォーマットにしたがってそれぞれのオブジェクトが表現される、ステップ、を含む、方法(50)。 請求項2 請求項1記載の方法において、前記再帰可能な基本表現フォーマットは、原子のレコードの再帰可能なシーケンスを含む、方法。 請求項3 請求項1記載の方法において、前記オブジェクト階層はXMLとして表される、方法。 請求項4 請求項1記載の方法において、少なくとも1つのオブジェクトは、非拡張ノードとして表される、方法。 請求項5 請求項4記載の方法であって、非拡張ノードを拡張する要求を受けたときに、前記非拡張ノードのオブジェクトを供給するステップを含む、方法。 請求項6 請求項1記載の方法において、前記非拡張ノードは、当該非拡張ノードのオブジェクトを含むオブジェクト・ストアを参照し、前記方法は、非拡張ノードを拡張する要求を受けたときに、オブジェクト・ストアを参照するステップと、前記オブジェクト・ストアに前記オブジェクトを要求するステップと、前記オブジェクトを前記データー・ストアから受信したときに、前記要求に応答して前記オブジェクトを供給するステップと、を含む、方法。 請求項7 請求項1記載の方法において、前記計算環境はデバイスに対して表され、前記デバイスの能力に応じて、前記表現は調節される、方法。 請求項8 請求項7記載の方法において、前記デバイスの能力は、デバイス記憶容量を含み、前記調節は、前記デバイス記憶容量を超過しないように、前記表された計算環境のサイズを制限するために、少なくとも1つの非拡張ノードを用いて前記計算環境を表現することを含む、方法。 請求項9 請求項1記載の方法において、前記計算環境はユーザーのために表され、前記ユーザーにしたがって前記表現は調節される、方法。 請求項10 請求項9記載の方法において、前記計算環境は、ユーザーに対してユーザー・アカウントを指定し、前記計算環境は、前記計算環境のオブジェクトに対するアクセス特権を前記ユーザー・アカウントに対して指定し、前記調節は、前記ユーザー・アカウントのアクセス特権にしたがって、前記ユーザーから制約されている前記オブジェクト階層の一部を表す少なくとも1つの非拡張ノードを用いて、前記計算環境を表すことを含む、方法。 請求項11 請求項1記載の方法であって、前記計算環境を前記再帰可能な基本表現フォーマットからデーター相互交換フォーマットに変換するステップを含む、方法。 請求項12 請求項1記載の方法であって、前記計算環境のオブジェクトを、プラットフォーム表現フォーマットの少なくとも1つのクラスのインスタンスとして、整理するステップを含む、方法。 請求項13 請求項1記載の方法において、前記計算環境は、前記計算環境に対して、データー相互交換フォーマットを指定する要求を受け、前記計算環境を、前記再帰可能な基本表現フォーマットから前記データー相互交換フォーマットに変換する、ように構成されているコンポーネントを表す、方法。 請求項14 請求項1記載の方法であって、オブジェクト・サービスを照会するステップと、オブジェクト・サービスを同期するステップと、オブジェクト・イベント・サービスを報告するステップと、を含む、方法。 請求項15 請求項14記載の方法であって、前記計算環境を構成するオブジェクトを格納するように構成されている計算環境オブジェクト・ストア(62)と、前記計算環境のオブジェクトをオブジェクト階層(10)において表すように構成された計算環境表現コンポーネント(64)であって、再帰可能な基本表現フォーマットにしたがってそれぞれのオブジェクトは表される、計算環境表現コンポーネント(64)と、前記計算環境のオブジェクトにおいて動作するように構成されている少なくとも1つの計算環境サービスを含む計算環境サービス集合(66)と、を含む、方法。
类似技术:
公开号 | 公开日 | 专利标题 US10755234B2|2020-08-25|System and method for offline synchronization of exception items of shared services for client applications JP6621543B2|2019-12-18|Automatic update of hybrid applications US10404821B2|2019-09-03|Providing access to managed content US20180052859A1|2018-02-22|Network repository for metadata US10514901B2|2019-12-24|Application management within deployable object hierarchy US9430193B2|2016-08-30|Interface for a computer platform US10242023B2|2019-03-26|Programming model for synchronizing browser caches across devices and web services US10749953B2|2020-08-18|Synchronization server process US20150331841A1|2015-11-19|Distributed document co-authoring and processing US20160028808A1|2016-01-28|Network operating system Heath et al.2011|Linked data: Evolving the web into a global data space US8290926B2|2012-10-16|Scalable topical aggregation of data feeds US7941410B2|2011-05-10|Method and system of managing conflicts for a set of synchronized folders US7930629B2|2011-04-19|Consolidating local and remote taxonomies US7917584B2|2011-03-29|Gesture-based collaboration CA2734675C|2017-03-07|Shared namespace for storage clusters US8108338B2|2012-01-31|Method and system for model-based replication of data US9311373B2|2016-04-12|Taxonomy driven site navigation EP2776946B1|2019-12-25|Document collaboration US6240429B1|2001-05-29|Using attached properties to provide document services KR101041319B1|2011-06-14|하드웨어/소프트웨어 인터페이스 시스템에 의해 관리가능한정보 단위의 피어 대 피어 동기화를 위해 충돌 처리를제공하는 시스템 및 방법 US7836080B2|2010-11-16|Using an access control list rule to generate an access control list for a document included in a file plan KR101224703B1|2013-01-21|데이터 액세스를 용이하게 하는 시스템 및 방법 US8260815B2|2012-09-04|System and method for accessing non-compatible content repositories US7882122B2|2011-02-01|Remote access of heterogeneous data
同族专利:
公开号 | 公开日 TWI498751B|2015-09-01| KR101627873B1|2016-06-13| EP2289004A2|2011-03-02| TW200941240A|2009-10-01| EP2289004A4|2015-12-09| US8484174B2|2013-07-09| US20090240728A1|2009-09-24| KR20100133380A|2010-12-21| CN101978369A|2011-02-16| JP5559140B2|2014-07-23| WO2009117201A2|2009-09-24| WO2009117201A3|2009-11-19|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题
法律状态:
2012-02-18| A621| Written request for application examination|Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120217 | 2012-02-18| A521| Written amendment|Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120217 | 2013-07-18| A977| Report on retrieval|Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130717 | 2013-07-19| A131| Notification of reasons for refusal|Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130718 | 2013-10-19| A521| Written amendment|Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20131018 | 2014-01-16| A131| Notification of reasons for refusal|Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140115 | 2014-04-15| A521| Written amendment|Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140414 | 2014-05-01| TRDD| Decision of grant or rejection written| 2014-05-08| A01| Written decision to grant a patent or to grant a registration (utility model)|Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20140507 | 2014-06-12| A61| First payment of annual fees (during grant procedure)|Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140605 | 2014-06-13| R150| Certificate of patent or registration of utility model|Ref document number: 5559140 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 | 2015-04-17| S111| Request for change of ownership or part of ownership|Free format text: JAPANESE INTERMEDIATE CODE: R313113 | 2015-04-27| R350| Written notification of registration of transfer|Free format text: JAPANESE INTERMEDIATE CODE: R350 | 2017-06-06| R250| Receipt of annual fees|Free format text: JAPANESE INTERMEDIATE CODE: R250 | 2018-06-05| R250| Receipt of annual fees|Free format text: JAPANESE INTERMEDIATE CODE: R250 | 2019-06-04| R250| Receipt of annual fees|Free format text: JAPANESE INTERMEDIATE CODE: R250 | 2020-05-29| R250| Receipt of annual fees|Free format text: JAPANESE INTERMEDIATE CODE: R250 | 2021-06-13| LAPS| Cancellation because of no payment of annual fees|
优先权:
[返回顶部]
申请号 | 申请日 | 专利标题 相关专利
Sulfonates, polymers, resist compositions and patterning process
Washing machine
Washing machine
Device for fixture finishing and tension adjusting of membrane
Structure for Equipping Band in a Plane Cathode Ray Tube
Process for preparation of 7 alpha-carboxyl 9, 11-epoxy steroids and intermediates useful therein an
国家/地区
|