(57)【特許請求の範囲】
【請求項１】
組織とクラウドに接続されているコンピューター・システムによって実行され、組織からクラウドへのデーター同期をするための方法であって、
前記組織が登録している第１の一つ又は複数のサービスのセットに関連する第１のプロパティのセットを判定するステップであって、前記第１の一つ又は複数のサービスのセットは前記クラウドにより提供されているステップと、
前記第１のプロパティのセットを、前記組織から前記クラウドに同期させるステップと、
前記組織が前記第１の一つ又は複数のサービスのセットの登録を第２の一つ又は複数のサービスのセットの登録に変更したことを判定するステップであって、前記第２の一つ又は複数のサービスのセットも前記クラウドにより提供され、前記第１の一つ又は複数のサービスのセットと前記第２の一つ又は複数のサービスのセットは、少なくとも一つの異なるサービスを含むステップと、
前記組織が登録している前記第２の一つ又は複数のサービスのセットに関連する第２のプロパティのセットを判定するステップと、
前記第１の一つ又は複数のサービスのセットに関連する第１のプロパティのセットと前記第２の一つ又は複数のサービスのセットに関連する第２のプロパティのセットの相違を明らかにするために、前記第１のプロパティのセットと前記第２のプロパティのセットを比較するステップと、
前記第１の一つ又は複数のサービスのセットに関連する第１のプロパティのセットと前記第２の一つ又は複数のサービスのセットに関連する第２のプロパティのセットの相違を同期することを含む、前記第２のプロパティのセットのデーターを、前記組織から前記クラウドに同期させるステップと、
を含む、方法。  
【請求項２】
請求項１に記載の方法であって、更に、
前記第２の一つ又は複数のサービスのセットの使用許諾を受けた加入者を追跡するステップと、
前記第２の一つ又は複数のサービスのセットに関連する第２のプロパティのセットを前記第２の一つ又は複数のサービスのセットの使用許諾を受けた加入者に基づいて限定するステップと、
を含む、方法。
【請求項３】
請求項１又は２に記載の方法において、前記組織が登録している前記第２の一つ又は複数のサービスのセットに関連する第２のプロパティのセットを判定するステップが、規則に基づいて前記組織のオブジェクトに対して同期させる必要のある第２のプロパティのセットを選択するステップを含む、方法。
【請求項４】
請求項１又は２に記載の方法において、前記組織が登録している前記第２の一つ又は複数のサービスのセットに関連する第２のプロパティのセットを判定するステップが、適格なオブジェクトの限定されたセットに対して同期させる必要のある第２のプロパティを判定するステップを含み、前記適格なオブジェクトの限定されたセットは前記組織のオブジェクトのサブセットである、方法。
【請求項５】
請求項４に記載の方法において、前記第２のプロパティのセットのデーターを、前記組織から前記クラウドに同期させるステップは、前記適格なオブジェクトの限定されたセットに対して同期させる必要のある第２のプロパティを同期させるステップを含む、方法。
【請求項６】
請求項４又は５に記載の方法において、前記第２のプロパティのセットのデーターを、前記組織から前記クラウドに同期させるステップは、前記適格なオブジェクトの限定されたセットのそれぞれのオブジェクトについて、
前記組織のリソースから、前記第２のプロパティのセットに対応するデーターを取得するステップと、
前記第２のプロパティのセットに対応するデーターをクラウドに送信するステップと、
を含む、方法。
【請求項７】
請求項１〜６のいずれか一項に記載の方法において、前記第２のプロパティのセットのデーターを、前記組織から前記クラウドに同期させるステップは、
同期させるべき追加のオブジェクトに対して同期させる必要のある第２のプロパティのセットに対応するデーターを取得するステップと、
前記同期させるべき追加のオブジェクトに対して同期させる必要のある第２のプロパティのセットに対応するデーターをクラウドに送信するステップと、
を含む、方法。
【請求項８】
請求項１〜７のいずれか一項に記載の方法において、更に、
少なくとも一つのプロパティを前記第２のプロパティのセットに追加することによって、前記組織から前記クラウドに同期させるべき変化を周期的にチェックするステップと、
を含む、方法。
【請求項９】
請求項１〜８のいずれか一項に記載の方法において、前記組織が前記第１の一つ又は複数のサービスのセットの登録を第２の一つ又は複数のサービスのセットの登録に変更したことを判定するステップは、前記組織が新しいサービスに登録したことを判定するステップを含む、方法。
【請求項１０】
請求項１〜９のいずれか一項に記載の方法において、前記組織が前記第１の一つ又は複数のサービスのセットの登録を第２の一つ又は複数のサービスのセットの登録に変更したことを判定するステップは、前記組織が前記第１の一つ又は複数のサービスのセットのうちのいずれかへの登録を取り消したことを判定するステップを含む、方法。
【請求項１１】
請求項１〜１０のいずれか一項に記載の方法を実行するためのプログラム。
【請求項１２】
請求項１〜１１のいずれか一項に記載の方法を実行するためのプログラムを記録した記録媒体。
【請求項１３】
プロセッサと、前記プロセッサで実行されたときに、請求項１〜１１のいずれか一項に記載の方法を実行するプログラムを記録したメモリを有する、コンピューター・システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データーの同期に関する。
【背景技術】
【０００２】
[0001]   ある組織のためのアプリケーションおよび他の計算リソースは、その組織の所在地および／またはクラウドに配置されることがある。クラウドとは、インターネットでは比喩として使用されることが多い用語である。これは、計算、ソフトウェア、データー・アクセス、ストレージ、および他のリソースを、インターネットに接続されたエンティティによって提供することができ、ユーザーはこれらのリソースを配信する計算インフラストラクチャーについて位置や他の詳細を知らなくてもよい。組織のための一部のリソースがクラウドから提供され、一部がその組織の建造物に配置されたサーバーによって提供される環境では、問題が発生する。
【０００３】
[0002]  本明細書において特許請求する主題は、以上で説明したような環境においてのみあらゆる欠点を解決する実施形態にも、動作する実施形態にも限定されることはない。逆にこの背景は、本明細書において説明する実施形態を実施することができる技術の一例を例示するためにのみ提供されるのである。
【発明の概要】
【課題を解決するための手段】
【０００４】
[0003] 端的に言うと、本明細書において説明する主題の態様は、データーの同期に関する。態様では、組織プロパティ・ストアからのプロパティが、クラウド・プロパティ・ストアに対して、および／またはその逆方向において同期される。同期させるプロパティのリストは、組織が登録するクラウド・サービス、クラウド・サービスに対する変更に基づいて、または他の理由で変更することができる。更に、同期させるプロパティのリストは、同様に経時的に変化する可能性がある組織のある種のオブジェクト(object)に限定されてもよい。
【０００５】
[0004]  この摘要は、詳細な説明において以下で更に説明する主題のいくつかの態様を端的に識別するために設けられる。この摘要は、特許請求する主題の主要な特徴や必須の特徴を特定することを意図するのではなく、特許請求する主題の範囲を限定するために使用することを意図するのでもない。
【０００６】
[0005]  「本明細書において説明する主題」という句は、コンテキストが明確に別段示すのでなければ、詳細な説明において説明する主題を指す。「態様」(aspects)という用語は、「少なくとも１つの態様」と理解すべきものとする。詳細な説明において説明する主題の態様を識別することは、特許請求される主題の主要な特徴や必須の特徴を識別することを意図するのではない。
【０００７】
[0006]  以上で説明した態様、および本明細書において説明する主題の他の態様を、一例としてそして限定ではなく、添付図面において例示する。添付図面では、同様の参照番号は同様のエレメントを示すこととする。図面において、
【図面の簡単な説明】
【０００８】
【図１】図１は、本明細書において説明する主題の態様を組み込むことができる汎用計算環境の一例を表すブロック図である。
【図２】図２は、本明細書において説明する主題の態様が動作することができる環境の一例を表すブロック図である。
【図３】図３は、本明細書において説明する主題の態様による同期マネージャーのコンポーネント例を示すブロック図である。
【図４】図４は、本明細書において説明する主題の態様にしたがって実行することができるアクション例を総合的に表す流れ図である。
【図５】図５は、本明細書において説明する主題の態様にしたがって実行することができるアクション例を総合的に表す流れ図である。
【発明を実施するための形態】
【０００９】
定義
[0011]  本明細書において使用する場合、「含む」という用語およびその変形は、「含むがそれに限定されるのではない」ことを意味する、制限のない用語と解釈するものとする。「または」という用語は、コンテキストが明らかに他のことを明言するのでないならば「および／または」と解釈するものとする。[基づく」という用語は、「少なくとも部分的に基づく」と解釈するものとする。「一実施形態」および「実施形態」は、「少なくとも１つの実施形態」と解釈するものとする。「他の実施形態」は、「少なくとも１つの他の実施形態」と解釈するものとする。
【００１０】
[0012]  本明細書において使用する場合、「ａ」、「ａｎ」、および「ｔｈｅ」というような用語は、示される品目またはアクションの１つ以上を含むこととする。特に、特許請求の範囲において、１つの品目に言及する場合、一般に、少なくとも１つのそのような品目が存在することを意味し、１つのアクションに言及する場合、そのアクションの少なくとも１つのインスタンスが実行されることを意味する。
【００１１】
[0013]  本明細書では、「第１」、「第２」、「第３」等という用語が使用されることがある。追加のコンテキストがないのであれば、これらの用語の使用は、特許請求の範囲においては、順序を含意することを意図するのではなく、むしろ識別の目的で使用される。例えば、「第１バージョン」および「第２バージョン」という句は、必ずしも、第１バージョンが最初のバージョンであって第２バージョンよりも前に作成されたことを意味するのではなく、第１バージョンが第２バージョンの前に要求または処理されることも意味するのでもない。むしろ、これらの句は、異なるバージョンを識別するために使用される。
【００１２】
[0014]  見出しは便宜上のために過ぎない。所与の話題についての情報は、見出しがその話題を示す章の外部で見出されることもある。
[0015]  他の定義も、明示的および暗示的なものが、以下に含まれることがある。
動作環境例
[0016]  図１は、本明細書において説明する主題の態様を実現することができる、適した計算システム環境の一例１００を示す。計算システム環境１００は、適した計算環境の一例に過ぎず、本明細書において説明する主題の態様の使用範囲や機能性に関して、限定を示唆することは全く意図していない。また、この計算環境例１００内に示されるコンポーネントのいずれの１つまたは組み合わせに関しても、計算環境１００が何らかの依存性や要件を有するように解釈してはならない。
【００１３】
[0017]  本明細書において説明する主題の態様は、多数の他の汎用または特殊目的計算システム環境あるいは構成でも動作する。本明細書において説明する主題の態様との使用に適していると考えられる周知の計算システム、環境、構成の例には、パーソナル・コンピューター、サーバー・コンピューター、ハンドヘルドまたはラップトップ・デバイス、マルチプロセッサー・システム、マイクロコントローラー・ベース・システム、セット・トップ・ボックス、プログラマブル消費者用電子機器、ネットワークＰＣ、ミニコンピューター、メインフレーム・コンピューター、パーソナル・ディジタル・アシスタント（ＰＤＡ）、ゲーミング・デバイス、プリンター、セット・トップ、メディア・センター、または他のアプライアンスを含むアプライアンス、自動車埋め込みまたは取り付け計算デバイス、他の移動体デバイス、以上のシステムまたはデバイスの内いずれかを含む分散型計算環境等が含まれる。
【００１４】
[0018]  本明細書において説明する主題の態様は、コンピューターによって実行される、プログラム・モジュールのような、コンピューター実行可能命令という一般的なコンテキストで説明することができる。一般に、プログラム・モジュールは、ルーチン、プログラム、オブジェクト、コンポーネント、データー構造等を含み、特定のタスクを実行するか、または特定の抽象データー型を実装する。また、本明細書において説明する主題の態様は、分散型計算環境においても実施することができ、この場合、タスクは、通信ネットワークを介してリンクされたリモート処理デバイスによって実行される。分散型計算環境では、プログラム・モジュールは、メモリー記憶デバイスを含むローカルおよびリモート双方のコンピューター記憶媒体に配置されてもよい。
【００１５】
[0019]  図１を参照すると、本明細書において説明する主題の態様を実現するためのシステム例は、コンピューター１１０の形態をなす汎用計算デバイスを含む。コンピューターは、命令を実行することができるいずれの電子デバイスも含むことができる。コンピューター１１０のコンポーネントには、処理ユニット１２０、システム・メモリー１３０、およびシステム・メモリーから処理ユニット１２０までを含む種々のシステム・コンポーネントを結合するシステム・バス１２１を含むことができる。システム・バス１２１は、メモリー・バスまたはメモリー・コントローラー、周辺バス、および種々のバス・アーキテクチャーの内いずれかを使用するローカル・バスを含む、様々なタイプのバス構造のいずれでもよい。一例として、そして限定ではなく、このようなアーキテクチャーは、業界標準アーキテクチャー（ＩＳＡ）バス、マイクロ・チャネル・アーキテクチャー（ＭＣＡ）、拡張ＩＳＡ（ＥＩＳＡ）バス、ビデオ電子規格連合（ＶＥＳＡ）ローカル・バス、およびMezzanineバスとしても知られる周辺コンポーネント相互接続（ＰＣＩ）バス、周辺コンポーネント相互接続拡張（ＰＣＩ−Ｘ）バス、高度グラフィクス・ポート（ＡＧＰ）、およびＰＣＩエクスプレス（ＰＣＩｅ）を含む。
【００１６】
[0020]  処理ユニット１２０は、ハードウェア・セキュリティ・デバイス１２２に接続されてもよい。セキュリティ・デバイス１２２は、コンピューター１１０の種々の態様の安全を確保するために使用することができる暗号鍵を格納することができ、更に生成することができる場合もある。一実施形態では、セキュリティ・デバイス１２２は、信頼プラットフォーム・モジュール（ＴＰＭ）チップ、ＴＰＭセキュリティ・デバイス等を含むとよい。
【００１７】
[0021]  コンピューター１１０は、通例、種々のコンピューター読み取り可能媒体を含む。コンピューター読み取り可能媒体は、コンピューター１１０によってアクセスすることができる入手可能な媒体とすることができ、揮発性および不揮発性、ならびにリムーバブルおよび非リムーバブル媒体の双方を含む。一例として、そして限定ではなく、コンピューター読み取り可能媒体は、コンピューター記憶媒体および通信媒体を含むことができる。
【００１８】
[0022]  コンピューター記憶媒体は、揮発性および不揮発性、リムーバブルおよび非リムーバブル媒体を含み、コンピューター読み取り可能命令、データー構造、プログラム・モジュール、または他のデーターというような情報の格納のためのいずれかの方法または技術で実現される。コンピューター記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ソリッド・ステート・ストレージ、フラッシュ・メモリーまたは他のメモリー技術、ＣＤ−ＲＯＭ、ディジタル・バーサタイル・ディスク（ＤＶＤ）または他の光ディスク・ストレージ、磁気カセット、磁気テープ、磁気ディスク・ストレージまたは他の磁気記憶デバイス、または所望の情報を格納するために使用することができそしてコンピューター１１０によってアクセスすることができる他のあらゆる媒体を含むが、これらに限定されるのではない。
【００１９】
[0023]  通信媒体は、通例、コンピューター読み取り可能命令、データー構造、プログラム・モジュール、または他のデーターを、搬送波または他の伝達メカニズムというような変調データー信号に具体化し、あらゆる情報配信媒体を含む。「変調データー信号」という用語は、その信号内に情報をエンコードするようなやり方で、その特性の１つ以上が設定または変更された信号を意味する。一例として、そして限定ではなく、通信媒体は、有線ネットワークまたは直接有線接続というような有線媒体と、音響、ＲＦ、赤外線、および他のワイヤレス媒体というようなワイヤレス媒体とを含む。以上のいずれの組み合わせも、コンピューター読み取り可能媒体の範囲に含まれてしかるべきである。
【００２０】
[0024]  システム・メモリー１３０は、リード・オンリー・メモリー（ＲＯＭ）１３１およびランダム・アクセス・メモリー（ＲＡＭ）１３２のような、揮発性および／または不揮発性メモリーの形態としたコンピューター記憶媒体を含む。基本入力／出力システム（ＢＩＯＳ）１３３は、起動中におけるように、コンピューター１１０内部にあるエレメント間で情報を転送するのに役立つ基本的なルーチンを含み、通例ＲＯＭ１３１に格納される。ＲＡＭ１３２は、通例、処理ユニット１２０によって直ちにアクセス可能なデーターおよび／またはプログラム・モジュール、および／または現在処理ユニット１２０によって処理されているデーターおよび／またはプログラム・モジュールを含む。一例として、そして限定ではなく、図１は、オペレーティング・システム１３４、アプリケーション・プログラム１３５、他のプログラム・モジュール１３６、およびプログラム・データー１３７を示す。
【００２１】
[0025]  また、コンピューター１１０は、他のリムーバブル／非リムーバブル、揮発性／不揮発性コンピューター記憶媒体も含むことができる。一例としてに過ぎないが、図１は、非リムーバブル、不揮発性磁気媒体に対して読み取りまたは書き込みを行うハード・ディスク・ドライブ１４１、リムーバブル、不揮発性磁気ディスク１５２に対して読み取りまたは書き込みを行う磁気ディスク・ドライブ１５１、およびＣＤ−ＲＯＭまたは他の光媒体のようなリムーバブル、不揮発性光ディスク１５６に対して読み取りまたは書き込みを行う光ディスク・ドライブ１５５を示す。この動作環境例において使用することができる他のリムーバブル／非リムーバブル、揮発性／不揮発性コンピューター記憶媒体には、磁気テープ・カセット、フラッシュ・メモリー・カード、他のソリッド・ステート記憶デバイス、ディジタル・バーサタイル・ディスク、他の光ディスク、ディジタル・ビデオ・テープ、ソリッド・ステートＲＡＭ、ソリッド・ステートＲＯＭ等が含まれるが、これらに限定されるのではない。ハード・ディスク・ドライブ１４１は、通例、インターフェース１４０を介してシステム・バス１２１に接続され、磁気ディスク・ドライブ１５１および光ディスク・ドライブ１５５は、通例、インターフェース１５０のようなリムーバブル不揮発性メモリー用インターフェースによってシステム・バス１２１に接続される。
【００２２】
[0026]  以上で論じ図１に示すこれらのドライブおよびそれに関連するコンピューター記憶媒体は、コンピューター１１０のためのコンピューター読み取り可能命令、データー構造、プログラム・モジュール、および他のデーターの格納を行う。図１では、例えば、ハード・ディスク・ドライブ１４１は、オペレーティング・システム１４４、アプリケーション・プログラム１４５、他のプログラム・モジュール１４６、およびプログラム・データー１４７を格納することが示される。尚、これらのコンポーネントは、オペレーティング・システム１３４、アプリケーション・プログラム１３５、他のプログラム・モジュール１３６、およびプログラム・データー１３７と同一であること、または異なることも可能であることを注記しておく。オペレーティング・システム１４４、アプリケーション・プログラム１４５、他のプログラム・モジュール１４６、およびプログラム・データー１４７は、ここでは、少なくともこれらが異なるコピーであることを示すために、異なる番号が与えられる。
【００２３】
[0027]  ユーザーは、キーボード１６２、および一般にマウス、トラックボール、またはタッチ・パッドと呼ばれるポインティング・デバイス１６１というような入力デバイスによって、コマンドおよび情報をコンピューター１１０に入力することができる。他の入力デバイス（図示せず）には、マイクロフォン（例えば、音声および他のオーディオを入力するため）、ジョイスティック、ゲーム・パッド、衛星ディッシュ、スキャナー、タッチ感応スクリーン、書き込みタブレット、カメラ（例えば、ジェスチャーまたは他の視覚入力を入力するための）等を含むことができる。これらおよび他の入力デバイスは、多くの場合、ユーザー入力インターフェース１６０を介して処理ユニット１２０に接続される。ユーザー入力インターフェース１６０は、システム・バスに結合されるが、パラレル・ポート、ゲーム・ポート、またはユニバーサル・シリアル・バス（ＵＳＢ）のような他のインターフェースおよびバス構造によって接続されてもよい。
【００２４】
[0028]  また、モニター１９１または他のタイプのディスプレイ・デバイスも、ビデオ・インターフェース１９０のようなインターフェースを介して、システム・バス１２１に接続される。モニターに加えて、コンピューターは、スピーカー１９７およびプリンター１９６のような他の周辺出力デバイスも含むことができ、これらは出力周辺インターフェース１９５を介して接続されればよい。
【００２５】
[0029]  コンピューター１１０は、リモート・コンピューター１８０のような１つ以上のリモート・コンピューターへの論理接続を使用して、ネットワーク接続環境 (networked environment)において動作することもできる。リモート・コンピューター１８０は、パーソナル・コンピューター、サーバー、ルーター、ネットワークＰＣ、ピア・デバイス、または他の一般的なネットワーク・ノードであればよいが、図１ではメモリー記憶デバイス１８１のみを示した。図１に示す論理接続は、ローカル・エリア・ネットワーク（ＬＡＮ）１７１およびワイド・エリア・ネットワーク（ＷＡＮ）１７３を含むが、他のネットワークを含むこともできる。このようなネットワーキング環境 (networking environment) は、事務所、企業規模のコンピューター・ネットワーク、イントラネット、およびインターネットでは極普通である。
【００２６】
[0030]  ＬＡＮネットワーキング環境において使用される場合、コンピューター１１０は、ネットワーク・インターフェースまたはアダプター１７０を介してＬＡＮ１７１に接続することができる。ＷＡＮネットワーキング環境において使用される場合、コンピューター１１０は、通例、インターネットのようなＷＡＮ１７３を介して通信を確立するモデム１７２または他の手段を含む。モデム１７２は、内蔵型でも外付けでもよく、ユーザー入力インターフェース１６０または他のしかるべきメカニズムを介してシステム・バス１２１に接続することができる。ネットワーク接続環境では、コンピューター１１０に関して図示したプログラム、またはその一部が、リモート・メモリー記憶デバイスに格納されてもよい。一例として、そして限定ではなく、図１は、リモート・アプリケーション・プログラム１８５を、メモリー・デバイス１８１に存在するものとして示す。尚、図示したネットワーク接続は一例であり、コンピューター間に通信リンクを確立する他の手段を使用してもよいことは認められよう。
同期
[0031]  既に述べたように、ある組織のための計算リソースは、その組織の建造物および／またはクラウドに配置されることがある。混成モデルにおいて、組織がそれ自体の計算サービスの一部をローカルに設け、他の計算サービスをクラウドから得ることを選択する場合、適正に機能するためには、組織の計算リソース内部に存在するデーターのコピーをクラウドが有する場合、クラウドは更に効果的に動作する必要があると考えられる。
【００２７】
[0032]  図２は、本明細書において説明する主題の態様が動作することができる環境例を表すブロック図である。図２に示すエンティティは、一例であり、必要なエンティティまたは含まれる可能性があるエンティティ全てを含むことを意図するのではない。他の実施形態では、本明細書において説明する主題の態様の主旨または範囲から逸脱することなく、図２と関連付けて説明するエンティティおよび／または機能が、他のエンティティ（示されるものまたは示されないもの）に含まれても、サブ・エンティティ内に置かれてもよい。実施形態では、図２と関連付けて説明するエンティティおよび／または機能が、多数のデバイスに跨がって分散されてもよい場合もある。
【００２８】
[0033]  システム２０５は、組織リソース２１０、クラウド・リソース２１５、同期マネージャー２２０、および他のエンティティ（図示せず）を含むことができる。本明細書において使用する場合、エンティティという用語は、１つ以上のデバイスの全部または一部、１つ以上のソフトウェア・モジュールの集合体またはその一部、１つ以上のソフトウェア・モジュールのあらゆる組み合わせまたはその一部、更には１つ以上のデバイスまたはその一部等を含むと解釈するものとする。
【００２９】
[0034]  組織リソース２１０は、組織が直接制御することができる計算リソースを含むことができる。これらのリソースは、例えば、パーソナル・コンピューター、サーバー・コンピューター、ハンドヘルドまたはラップトップ・デバイス、マルチプロセッサー・システム、マイクロコントローラー・ベース・システム、セット・トップ・ボックス、プログラマブル消費者用電子機器、ネットワークＰＣ、ミニコンピューター、メインフレーム・コンピューター、セル・フォン、パーソナル・ディジタル・アシスタント（ＰＤＡ）、ゲーミング・デバイス、プリンター、セット・トップ、メディア・センター、または他のアプライアンスを含むアプライアンス、自動車埋め込みまたは取り付け計算デバイス、他の移動体デバイス、以上のシステムまたはデバイスの内いずれかを含む分散型計算環境等を含むことができる。
【００３０】
[0035]  クラウド・リソース２１５は、クラウドを通じて組織に利用可能な計算リソースを含むことができる。また、クラウド・リソース２１５は、１つ以上のパーソナル・コンピューター、サーバー・コンピューター、ハンドヘルドまたはラップトップ・デバイス、マルチプロセッサー・・システム、マイクロコントローラー・ベース・システム、セット・トップ・ボックス、プログラマブル消費者用電子機器、ネットワークＰＣ、ミニコンピューター、メインフレーム・コンピューター、セル・フォン、パーソナル・ディジタル・アシスタント（ＰＤＡ）、ゲーミング・デバイス、プリンター、セット・トップ、メディア・センター、または他のアプライアンスを含むアプライアンス、自動車埋め込みまたは取り付け計算デバイス、他の移動体デバイス、以上のシステムまたはデバイスの内いずれかを含む分散型計算環境等も含むことができる。
【００３１】
[0036]  クラウド・リソース２１５は、１つ以上のサービスを提供することができる。サービスは、指定されたタスクを実行する１つ以上のプロセス、スレッド、コンポーネント、ライブラリなどを含む。一部のサービス例は、電子メール、文書管理、報告、データーベース、計算、カレンダー管理(calendaring)、日程管理(scheduling)、インスタント・メッセージングを含む。
【００３２】
[0037]  プロパティ・ストア２２５およびプロパティ・ストア２２６は、データーへのアクセスを与えることができるあらゆるストレージを含むことができる。本明細書において使用する場合、アクセスとは、データーを読み取ること、データーを書き込むこと、データーを削除すること、データーを更新すること、以上の内２つ以上を含む組み合わせ等を含むことができる。ストア２２５および２２６は、ハード・ディスク・ストレージ、他の不揮発性ストレージ、ＲＡＭのような揮発性メモリー、他のストレージ、以上のいずれの組み合わせ等も含むことができ、多数のデバイスに跨がって分散されてもよい。ストア２２２５および２２６は、外部であっても、内部であっても、またはシステム２０５に対して内部および外部双方であるコンポーネントを含んでもよい。
【００３３】
[0038]  データーという用語は、１つ以上のコンピューター記憶エレメントによって表すことができるあらゆるものを含むように、広く解釈されるものとする。論理的には、データーは揮発性または不揮発性メモリーにおいて一連の１または０として表すことができる。二進でない記憶媒体を有するコンピューターでは、データーは、その記憶媒体の能力にしたがって表されればよい。データーは、異なるタイプのデーター構造に編成することもでき、数値、文字等のような単純なデーター・タイプ、階層的、連結(linked)、または他の関連データー・タイプ、多数の他のデーター構造または単純なデーター・タイプを含むデーター構造等を含む。データー例の中には、情報、プログラム・コード、プログラム状態、プログラム・データー、他のデーター等が含まれる。一実施態様では、データーは構造化され、名称が付けられる。
【００３４】
[0039]  プロパティは、オブジェクトに関連するまたはオブジェクトに含まれるデーター片である。本明細書において使用する場合、オブジェクトは１つ以上のデーター・エレメントを含むことができる。これらのデーター・エレメントがプロパティと呼ばれることもある。例えば、ユーザー・オブジェクトは、名称プロパティ、住所プロパティ、電話プロパティ、電子メール・アドレス・プロパティ、マネージャー・プロパティ等を有することができる。
【００３５】
[0040]  オブジェクトは、オブジェクト・クラスによって定義することができる。オブジェクト・クラスは、例えば、当該オブジェクト・クラスのオブジェクト名称および１つ以上のプロパティ・タイプを示すことができる。オブジェクト・クラスのインスタンス化オブジェクトは、そのオブジェクト・クラスの１つ以上のプロパティ・クラスのプロパティを含むことができ、またはそのプロパティと関連付けられるのでもよい。オブジェクト・タイプの例には、ユーザー、グループ、連絡先(contacts)、機械等が含まれる。全部または殆ど全部のエンティティをオブジェクト・クラスによって定義できることが当業者には認められることから、これらのタイプは例として挙げられたに過ぎない。本明細書における教示に基づいて、当業者は、本明細書において説明する主題の態様の主旨や範囲から逸脱することなく、本明細書における教示を適用することができる多くのオブジェクト・クラスを認めることができよう。
【００３６】
[0041]  プロパティ・ストア２２５は、組織のデーターを含むことができる。例えば、プロパティ・ストア２２５は、従業員データー、賃金台帳データー(payroll data)、出費データー、電子メール・データー、会計データー(accounting data)、組織階層データー、監視承認(supervisory sign off)データー、承認制限(sign off limits)、ライセンシング・データー、メタデーター、組織が維持することができるあらゆる他のデーター等を含むことができる。データーは、組織内部における種々の場所に格納されてもよい。プロパティ・ストア２２５は、データーを含み、データーを参照し、または組織がデーターを格納する場所からデーターを得ることができる。
【００３７】
[0042]  プロパティ・ストア２２６は、１つ以上の組織からクラウド・リソース２１５に供給されたデーターを含むことができる。このデーターは、ある種のサービスを組織のエンティティに提供するために使用することができる。例えば、電子メール・データーによって、クラウドにおいてホストされる電子メール・サービスを使用する組織の構成員が、電子メールを作成し、送り、受信すること、そして組織の連絡先を参照することが可能になるであろう。他の例として、コスト・センター・データーによって、会計サービスが、組織の種々の出費についてコスト・センターに知らせる出費報告を提出することが可能になるであろう。
【００３８】
[0043]  プロパティ・ストア２２５およびプロパティ・ストア２２６は、同じプロパティを異なる方法で表すこともできる。例えば、プロパティ・ストア２２５は、ファイル内にあるデーターによってプロパティを表すのでもよく、一方プロパティ・ストア２２６は同じプロパティをデーターベースの表で表すのでもよい。
【００３９】
[0044]  同期マネージャー２２０は、プロパティ・ストア２２５とプロパティ・ストア２２６との間においてデーターを同期させるエンティティである。一実施形態では、同期マネージャー２２０は、組織の一デバイスにホストされるのでもよい。他の実施形態では、同期マネージャー２２０は、クラウドの計算リソースにホストされてもよい。他の実施形態では、同期マネージャー２２０が、組織リソース２１０およびクラウド・リソース２１５をホストするシステム双方に対して外部にあるデバイスにホストされてもよい。他の実施形態では、同期マネージャー２２０が、組織のデバイスにおいて実行するコンポーネント、およびクラウドのデバイスにおいて実行するコンポーネントを含むように、同期マネージャー２２０が分散されてもよい。
【００４０】
[0045]  本明細書では、同期マネージャー２２０が、プロパティ・ストア２２５からプロパティ・ストア２２６にデーターを送ることによって、プロパティ・ストア２２５とプロパティ・ストア２２６との間においてデーターを同期させることがしばしば述べられるが、他の実施態様では、プロパティのマスターがプロパティ・ストア２２６において作成されプロパティ・ストア２２５に同期されるのでもよい。更に他の実施態様では、一部のプロパティのマスターがプロパティ・ストア２２５において作成されプロパティ・ストア２２６に同期されてもよく、一方他のプロパティのマスターはプロパティ・ストア２２６において作成されプロパティ・ストア２２５に同期されるのでもよい。
【００４１】
[0046]  周期的にまたは他の時点において、同期マネージャー２２０は、プロパティ・ストア２２５とプロパティ・ストア２２６との間においてデーターを同期することができる。同期させる必要があるデーターを判定するために、同期マネージャーはある種の条件をチェックすることができる。例えば、１時間毎に１回、同期マネージャー２２０は、次のことを確認するためにチェックを行うことができる。
【００４２】
[0047]  １．クラウド・リソースが必要とする１組のプロパティが変化したか否か。
[0048]  ２．プロパティを必要とする１組のオブジェクトが変化したか否か。
[0049]  ３．プロパティを表す実際のデーターが、プロパティ・ストア２２５において変化したか否か。
【００４３】
[0050]  以上で述べた条件を発見したことに応答して同期マネージャー２２０が行うことができるアクションは、次の通りである。
[0051]  １．クラウド・リソースが必要とする１組のプロパティが変化した場合。クラウドによって組織に提供される各サービスが、１つ以上のプロパティを変化させる必要がある場合がある。例えば、給与台帳サービスが、適正に組織の従業員に支払うために、名前、住所、政府識別子(government identifier)、給与額、およびその他のプロパティを必要とする場合がある。電子メール・サービスが、名前、電話番号、電子メール・アドレス、および他のプロパティを必要とする場合もある。組織がクラウドを通じて支払い台帳サービスおよび電子メール・サービスの双方を有する場合、１組の必要なプロパティは、各サービスが必要とするプロパティの論理ＯＲ演算子の適用によって決定することができる。以上の例では、論理ＯＲ演算子は、名前、住所、政府識別子、給与額、電話番号、電子メール・アドレス、および２つのサービスが必要とするあらゆる他のプロパティを含む。この同じ方法論を使用して、いずれの数のサービスに対しても、１組の必要なプロパティを決定することができる。
【００４４】
[0052]  このように、組織がクラウドの他のサービスに登録済みであり、このサービスが、現在必要とされている１組のプロパティに未だ含まれていないプロパティを必要とする場合、このプロパティが、１組の必要なプロパティに追加される。
【００４５】
[0053]  同様に、組織がクラウドのサービスを登録解除した場合、この登録解除したサービスによって必要とされたあらゆるプロパティの内、組織が登録している他のあらゆるサービスによって必要とされないものは、１組の必要なプロパティから除外することができる。
【００４６】
[0054]  クラウド・リソースが必要とする１組のプロパティが変化した場合、１組の必要なプロパティにプロパティが追加された可能性、および／または１組の必要なプロパティからプロパティが除外された可能性がある。除外されたプロパティについて、同期マネージャー２２０は、クラウド・リソース２１５に、１組から除外されたプロパティに対して以前に得られたデーターを削除するように命令することができる。
【００４７】
[0055]  追加されたプロパティについて、同期マネージャー２２０は対応するデーターをプロパティ・ストア２２５から得て、このデーターをプロパティ・ストア２２６に格納させることができる。
【００４８】
[0056]  一実施形態では、同期マネージャー２２０が、クラウド・リソース２１５内部のコンポーネントと通信し、クラウド・リソース２１５が必要とする１組のプロパティを得ることによって、クラウド・リソース２１５が必要とする１組のプロパティが変化したか否か判定することができる。次いで、同期マネージャー２２０は、この１組のプロパティを、以前の１組の必要なプロパティと比較し、追加されたプロパティがある場合、どのプロパティが追加されたのか判定し、削除されたプロパティがある場合、どのプロパティが削除されたのか判定することができる。
【００４９】
[0057]  クラウド・リソース２１５は、データーベース、ファイル、またはサービス毎に必要になるプロパティを示す他のデーター構造にデーターを格納することができる。また、クラウド・リソース２１５は、各組織が登録してあるサービスを示すデーターも格納することができる。各組織に求めるプロパティを判定するために、クラウド・リソース２１５のあるコンポーネントが、各組織が登録してあるサービス（１つまたは複数）を示すデーターを、サービス毎に必要なプロパティを示すデーターに加入させることができる。
【００５０】
[0058]  ２．プロパティを必要とする１組のオブジェクトが変化した場合。クラウド・リソース２１５は、プロパティ・ストア２２５から選択されたオブジェクトのみに対して、プロパティを必要とする場合もある。例えば、組織が、カレンダー・サービスを使用する一定のユーザーに対してライセンスを有するかもしれない。カレンダー・サービスは、名前、電話番号、事務所の場所、および他のプロパティを必要とするであろうが、カレンダー・サービスに登録したユーザーについてのみこれらを必要とする。組織の全てのユーザーのプロパティを同期させる代わりに、同期マネージャー２２０は、カレンダー・サービスに登録したユーザーについてだけ、プロパティを同期させればよい。
【００５１】
[0059]  以上の例では、ユーザー・オブジェクト・クラスのオブジェクトについて説明したが、本明細書において説明する主題の態様を、ユーザー・オブジェクト・クラスのみに限定する意図はない。実際、本明細書における教示に基づいて、本明細書において説明する主題の態様の主旨や範囲から逸脱することなく、本明細書における教示を適用することができる他のタイプのオブジェクト・クラスを、当業者は認めることができよう。
【００５２】
[0060]  １組の必要なオブジェクトは、種々の理由で変化する可能性がある。例えば、機械が組織に追加された場合、機械オブジェクトのプロパティを、プロパティ・ストア２２５からプロパティ・ストア２２６に同期させることが必要となるであろう。
【００５３】
[0061]  他の例として、１組の必要なオブジェクトが、サービスに対する登録の変更に応答して、変化することもあり得る。例えば、組織が新たなサービスに登録した場合、この新たなサービスは、組織のある種のオブジェクト・タイプからのプロパティを必要とするであろう。あるクラスについて必要な１組のオブジェクトは、そのクラスの利用可能な全インスタンス化オブジェクトの内部分集合に限定されてもよい。例えば、クラウドにおけるあるサービスが、組織のためにディレクトリー・サーバーとして機能を果たすクラス機械(class machine)のオブジェクトのプロパティのみを必要とすることもあり得る。他の例として、クラウドにおけるあるサービスが、従業員クラスのある種のオブジェクトについてのみ、プロパティを必要とすることもあり得る。
【００５４】
[0062]  オブジェクトが１組のオブジェクトに追加された場合、追加されたオブジェクトについてのプロパティを、プロパティ・ストア２２５から得て、プロパティ・ストア２２６に格納することができる。オブジェクトが１組のオブジェクトから削除された場合、プロパティ・ストア２２６に既に格納されているプロパティの内、１組のオブジェクトから削除されたオブジェクトについてのプロパティも、プロパティ・ストア２２６から削除することができる。
【００５５】
[0063]  ３．プロパティを表す実際のデーターがプロパティ・ストア２２５において変化した場合。例えば、ある従業員の電話番号が代わった場合、または住所が代わった場合、同期マネージャー２２０は、この変更をプロパティ・ストア２２６に伝えることができる。帯域幅を保存するために、一実施態様では、毎回全てのデーターを送る代わりに、同期マネージャー２２０が最後に同期を実行したとき以降に行われた変更を、同期マネージャー２２０が送ることもできる。
【００５６】
[0064]  プロパティ・ストア２２５に存在しないプロパティが必要になる場合、これは実施態様に依存して扱うことができる。例えば、一実施態様では、同期マネージャー２２０は、組織リソース２１０のあるコンポーネントに欠落(deficiency)について通知し、このコンポーネントに足りないプロパティを供給させることができる。他の実施態様では、同期マネージャー２２０は、そのプロパティにデフォルト・データーを供給することができる。他の実施態様では、クラウド・リソース２１５におけるあるコンポーネントを、足りないプロパティを供給するために使用することもできる。更に他の実施態様では、同期マネージャー２２０が同期を実行し損ない、エラー・メッセージを発することもあり得る。
【００５７】
[0065]  以上の実施態様は、足りないプロパティを扱うことができる種々の方法を全て含むこと、即ち、網羅的であることを意図するのではない。本明細書における教示に基づいて、本明細書において説明する主題の態様の主旨や範囲から逸脱することなく、使用することができる他の実施態様も当業者は認めることができよう。
【００５８】
[0066]  図３は、本明細書において説明した主題の態様による同期マネージャーのコンポーネント例を示すブロック図である。同期マネージャー２２０は、デルタ・マネージャー３０５、オブジェクト・セレクター３１０、プロパティ・セレクター３１２、ライセンシング・マネージャー３１５、および他のコンポーネント（図示せず）を含むことができる。
【００５９】
[0067]  デルタ・マネージャー３０５は、直前の同期アクティビティ以降組織のプロパティ・ストアにおいて変化したプロパティを判定するように動作可能であるのでもよい。例えば、図２および図３を参照すると、デルタ・マネージャー３０５は、最後に同期マネージャー２２０がプロパティをプロパティ・ストア２２５からプロパティ・ストア２２６に同期して以降、プロパティ・ストア２２５において変化したプロパティを検出することができる。更に、デルタ・マネージャー３０５は、この検出を、同期が指示されたオブジェクトおよびプロパティだけに制限することもできる。
【００６０】
[0068]  オブジェクト・セレクター３１０は、同期させるオブジェクトを限定するために使用するオブジェクトの指示を受けるように動作可能であればよい。オブジェクト・セレクターは、プロパティを得るために使用するオブジェクトを決定するために、この指示を使用することができる。例えば、オブジェクト・セレクター３１０は、オブジェクトを示す１つ以上の規則を受けることもできる。規則は、オブジェクトを同期に含ませるための１つ以上の条件を述べることができる。例えば、オブジェクト・セレクター３１０は、米国内に自宅住所があるオブジェクトだけを同期させることを指示する規則を受けるのでもよい。
【００６１】
[0069]  プロパティ・セレクター３１２は、同期させるべきプロパティを決定するように動作可能であればよい。一実施態様では、プロパティ・セレクター３１２は、オブジェクト・クラスのリスト、および同期させる必要があるオブジェクト・クラスのプロパティを受けることができ、これらから、オブジェクト・クラスの内適格なオブジェクト(eligible object)に対して同期させる必要がある１組のプロパティを構成する(construct)ことができる。適格なオブジェクトとは、オブジェクト・セレクター３１０によって限定されないオブジェクトのことである。他の実施態様では、プロパティ・セレクター３１２は、単に、同期させるプロパティのリスト、およびこれらのプロパティに関連するオブジェクト・クラスを受けるのでもよい。
【００６２】
[0070]  ライセンシング・マネージャー３１５は、サービスの使用許諾を受けた加入者を追跡し、このサービスの使用許諾を受けた加入者に基づいて、同期させるプロパティを限定するために使用するオブジェクトの指示（例えば、規則、リスト等）を作成するように動作可能であればよい。
[0071]  デルタ・マネージャー３０５、オブジェクト・セレクター３１０、プロパティ・セレクター３１２、およびライセンシング・マネージャー３１５、またはその一部は、種々の実施形態では、組織のリソース、クラウド・リソース、組織のリソースおよびクラウド・リソースの外部、以上の内２つ以上の組み合わせ等においてホストされてもよい。更に、実施形態では、本明細書において説明した主題の態様の主旨や範囲から逸脱することなく、以上のエンティティの機能が、１つ以上のエンティティに組み合わされても、他のエンティティ（図示されるエンティティまたは図示されないエンティティ）に含まれても、またはサブ・エンティティに置かれてもよい。
【００６３】
[0072]  図４および図５は、本明細書において説明した主題の態様にしたがって実行することができるアクション例を総合的に表す流れ図である。説明の簡素化のために、図４および図５と関連付けて説明する方法は、一連のアクトとして示されそして説明される。尚、本明細書において説明した主題の態様は、図示されるアクトおよび／またはアクトの順序によって限定されないことは言うまでもないことであり、認められよう。一実施形態では、これらのアクトは以下で説明する順序で行われる。しかしながら、他の実施形態では、これらのアクトが並列に実行してもよく、他の順序で実行してもよく、および／または本明細書では紹介も説明もされない他のアクトと共に実行してもよい。更に、図示するアクトの全てが、本明細書において説明した主題の態様にしたがって本方法を実現するために必要とされない場合もある。加えて、本方法は、代わりに、状態図によって相互に関係付けられた一連の状態として、またはイベントとして表すこともできることは、当業者には理解され認められよう。
【００６４】
[0073]  図４に移り、ブロック４０５においてアクションが開始する。ブロック４１０において、新たなスキーマを得る。本明細書において使用する場合、最小限のスキーマ(schema at a minimum)は、同期させるプロパティを示す。また、スキーマは、プロパティに関連するオブジェクト・クラスも示すことができる。スキーマは、オブジェクト間の関係を示すこともでき、含まれるプロパティの平面表現(flat representation)（例えば、「包含リスト」）を含むこと等もできる。例えば、図２を参照すると、同期マネージャー２２０は、同期させるプロパティのスキーマを、クラウド・リソース２１５のあるコンポーネントから得ることもできる。
【００６５】
[0074]  ブロック４１５において、以前の同期のために同期マネージャーが使用した古いスキーマと、新しいスキーマを比較する。この検査は、新たなスキーマおよび古いスキーマが、同じ１組の同期させるべきプロパティを示すか否か判定するためにある。例えば、図２を参照すると、同期マネージャー２２０は、古いスキーマおよび新しいスキーマを比較して、同期させる同じプロパティを示すという意味でこれらが同一であるか否か判定する。
【００６６】
[0075]  ブロック４２０において、新たなスキーマが同期させる追加のプロパティを含む場合、アクションはブロック４２５に進み、そうでない場合、アクションはブロック４３０に進む。これらの追加のプロパティは、新たなスキーマが同期させるべきことを示す既存のオブジェクトの追加のプロパティから、および／またはこのスキーマが同期させるべきことを示す新たなオブジェクトのプロパティとして、得ることができる。
【００６７】
[0076]  あるいは、新たなスキーマに加えて、組織プロパティ・ストアとクラウド・プロパティ・ストアとの間で同期させるプロパティを限定するために使用するオブジェクトを指示するデーターを得ることもできる。例えば、同期が求められるオブジェクトのリストを得ることもできる。このリストにおいて見られるオブジェクトに対するプロパティを同期させればよく、一方このリストにおいて見られないオブジェクトに対するプロパティは、同期させなくてよい。このリストは、各オブジェクトを指示することによって、または１つ以上の規則の使用によって指定することができる。この規則は、組織プロパティ・ストアに適用されると、含ませるべきオブジェクトを決定する。一実施態様では、これらのオブジェクトは、サービスの使用許諾を受けた加入者に対応する。
【００６８】
[0077]  ブロック４２５において、追加のプロパティを同期させる。例えば、図２を参照すると、同期マネージャー２２０は、現在同期されているオブジェクト毎に反復し、追加のプロパティに対応するデーターをプロパティ・ストア２２５から得て、このデーターを同期のためにプロパティ・ストア２２６に送ることができる。他の例として、同期マネージャー２２０は、同期させるべき追加のオブジェクト（例えば、以前には同期されたことがない）毎に反復し、このオブジェクトに対して同期させるべき全てのプロパティに対応するデーターをプロパティ・ストア２２５から得て、このデーターを同期のためにプロパティ・ストア２２６に送ることができる。
【００６９】
[0078]  ブロック４３０において、新たなスキーマが古いスキーマのプロパティ／オブジェクトを含まない場合、アクションはブロック４３５に進み、それ以外の場合、アクションはブロック４４０に進む。
【００７０】
[0079]  ブロック４３５において、新たなスキーマに含まれていないが古いスキーマには含まれていたプロパティは、もはや同期させない。例えば、図２を参照すると、ユーザー・オブジェクトのプロパティ・コスト・センターが新たなスキーマでは削除されている場合、このプロパティは、もはやプロパティ・ストア２２５からプロパティ・ストア２２６に同期されない。他の例として、ある種のユーザー・オブジェクトをもはや同期させないことをスキーマが示す場合、これらのオブジェクトのプロパティは、プロパティ・ストア２２５からプロパティ・ストア２２６に同期されない。
【００７１】
[0080]  ブロック４４０において、変更プロパティを得る。変更プロパティとは、最後の同期以降に変更したもののことである。例えば、ユーザー・オブジェクトの住所が変更し、この住所を同期させ続ける場合、新たな住所が得られる。例えば、図２参照すると、新たなスキーマの下でも同期される住所プロパティが変更されたとき、同期マネージャー２２０は新たな住所をプロパティ・ストア２２５から得る。
【００７２】
[0081]  ブロック４４５において変更プロパティを同期させる。例えば、図２を参照すると、同期マネージャー２２０は、ブロック４４０において得られた変更データーに対応するデーターを送り、このデーターをプロパティ・ストア２２６に送る。加えて、同期に関連して、ある種のオブジェクトがもはや同期されない場合、これらのオブジェクトについてのデーターをクラウド・リソースから削除してもよいというメッセージを、明示的または暗示的に、クラウド・リソースに送ることもできる。ブロック４５０において、他にもアクションがある場合、実行することができる。例えば、新たなスキーマが同期させる追加のプロパティを含む場合、これらの追加のプロパティを、組織プロパティ・ストアからクラウド・プロパティ・ストアに同期させるために、周期的に変化をチェックすべき１組のプロパティに追加する。他の例として、新たなスキーマが古いスキーマのプロパティを含まない場合、組織プロパティ・ストアから第２プロパティ・ストアに同期させるために周期的に変化をチェックする１組のプロパティから、削除されたプロパティを除外することができる。
【００７３】
[0082]  図５に移り、ブロック５０５においてアクションが開始する。ブロック５１０において、利用可能なサービス毎に必要なプロパティを維持する。例えば、図２を参照すると、システム・アドミニストレータ（図示せず）等が、クラウド・リソース２１５から利用可能なサービス毎に必要なプロパティを入力、更新、または削除する。
【００７４】
[0083]  ブロック５１５において、サービス・プロパティ・ストアを維持する。維持するとは、行われた同期アクティビティに応答して、クラウド・リソースのプロパティ・ストアに含まれるプロパティを格納および／または更新することを指す。プロパティは、サービス加入者の加入者プロパティ・ストアからプロパティを得た同期マネージャーによって供給されている。例えば、図２を参照すると、クラウド・リソース２１５のあるコンポーネントがプロパティ・ストア２２６を維持する。
【００７５】
[0084]  ブロック５２０において、サービス加入者に対するサービス登録の変更の指示を受ける。サービス加入者とは、クラウド・リソースにサービスを要求するエンティティである。例えば、図２を参照すると、ある組織がクラウド・リソース２１５によってホストされる電子メール・サービスに登録することを望むという指示を、クラウド・リソース２１５のあるコンポーネントが受けることができる。
【００７６】
[0085]  ブロック５２５において、サービスの変更に対してサービス加入者に求めるプロパティの指示が与えられる。例えば、図２を参照すると、プロパティ・ストア２２６は、電子メール・サービスの追加に必要になる追加のプロパティの指示を与えることができる。
【００７７】
[0086]  ブロック５３０において、他のアクションがある場合には、実行することができる。例えば、図２を参照すると、サービス登録の変更後、クラウド・リソース２１５は、サービス登録変更のためにサービス加入者に求めるプロパティの指示をこのサービス加入者が受けたというメッセージを受信するのを待ち、このメッセージを受信した後でないと、サービス・プロパティ・ストアにおいて同期から除外されたプロパティに対応するデーターを削除することはできない。例えば、あるサービスへの登録が取り消された場合、クラウド・リソース２１５は、このサービスに対するプロパティを除外する命令を組織リソース２１０から受信するまで待てばよく、そしてこの命令の受信を示すメッセージを返送する。このメッセージを受信した後、クラウド・リソースは、もはや同期させないプロパティに対応するデーターを削除することができる。  
【００７８】
[0087]  他の例として、クラウド・リソース２１５によってホストされたサービスのバージョンが変化した場合、以下を含む様々なアクションを実行することができる。
[0088]  １．クラウド・リソース２１５のあるコンポーネントが、バージョンが変化したことの指示を受信することができる（例えば、ユーザーまたは他のインターフェースを通じて）。例えば、サード・パーティ販売業者が、バージョンが変化したことを示すのでもよく、この変化したバージョンに必要になるプロパティを供給すればよい。
【００７９】
[0089]  ２．バージョン変化に応答して同期させるために、追加、削除、および／または変更されたプロパティを示すデーターを得ることができる。
[0090]  ３．サービスに登録したエンティティ毎に、そのエンティティによって供給される必要がある１組のプロパティを示す更新データー構造（例えば、表、リスト、または他のデーター構造）を生成することができ、このデーター構造またはこれから導かれたプロパティ・データーをエンティティに供給することができる。ここで、プロパティ・データーは、エンティティによって提供される必要がある１組のプロパティを示す。
【００８０】
[0091]  以上の詳細な説明から分かるように、データーの同期に関する態様について説明した。本明細書において説明した主題の態様には、種々の変更および代わりの構造も容易に考えつくが(susceptible to)、その内ある種の例示実施形態を図面に示し、以上で詳細に説明した。しかしながら、特許請求する主題の態様を、開示された具体的な形態に限定する意図はなく、逆に、本明細書において説明した主題の種々の態様の主旨および範囲に該当する全ての変更、代替構造、および均等物を包含することを意図している。
【図１】
0006266588.tif 000002
【図２】
0006266588.tif 000003
【図３】
0006266588.tif 000004
【図４】
0006266588.tif 000005
【図５】
0006266588.tif 000006