(57)【要約】  一実施形態で、ネットワークでの制御ポイント（ＣＰ）で方法が行われる。そのネットワークでのコンテンツディレクトリ・サービス（ＣＤＳ）を含むメディアサーバでの同期化データ構造を生成するアクションが呼び出される。ここで、同期化データ構造は、ＣＰとＣＤＳとの関係を説明する同期化関係を含む。次に、ＣＤＳでの少なくとも１つの客体に同期化対情報を追加するアクションが呼び出される。ＣＤＳから変更ログが要請される。そのＣＤＳから変更ログが受信される。ここで、変更ログは、ＣＰのための同期化対情報が追加された少なくとも１つの客体の変更についての情報を含む。
2010529550.tif 000002
【特許請求の範囲】
【請求項１】
同期化データ構造が、ネットワークでの制御ポイント（ＣＰ）と前記ネットワークでのコンテンツディレクトリ・サービス（ＣＤＳ）との関係を説明する同期化関係を含むとき、前記ＣＰで前記ＣＤＳを含むメディアサーバでの同期化データ構造を生成するアクションを呼び出す段階と、
前記ＣＰで、前記ＣＤＳでの少なくとも１つの客体に同期化対情報を追加するアクションを呼び出す段階と、
前記ＣＰで、前記ＣＤＳから変更ログを要請する段階と、
前記変更ログが前記ＣＰのための同期化対情報が追加された前記少なくとも１つの客体の変更についての情報を含むとき、前記ＣＤＳから前記変更ログを受信する段階とを含む方法。
【請求項２】
前記呼び出し段階、前記要請段階及び前記受信段階は、コンテンツ同期化サービス（ＣＳＳ）を介して行われることを特徴とする請求項１に記載の方法。
【請求項３】
前記ＣＰで、前記ＣＤＳでの少なくとも１つの客体から前記同期化対情報を削除するアクションを呼び出す段階をさらに含むことを特徴とする請求項１に記載の方法。
【請求項４】
前記ＣＰで、前記メディアサーバでの前記同期化データ構造から前記同期化関係を削除するアクションを呼び出す段階をさらに含むことを特徴とする請求項１に記載の方法。
【請求項５】
前記変更ログと前記ＣＰの内部データベースとを比較する段階と、
前記変更ログでの変更を反映し、前記データベースをアップデートする段階とをさらに含むことを特徴とする請求項１に記載の方法。
【請求項６】
前記ＣＰは、携帯用メディアデバイスに位置することを特徴とする請求項１に記載の方法。
【請求項７】
前記ＣＤＳは、メディアサーバに位置することを特徴とする請求項１に記載の方法。
【請求項８】
同期化データ構造が、ネットワークでの制御ポイント（ＣＰ）と前記ネットワークでのコンテンツディレクトリ・サービス（ＣＤＳ）との関係を説明する同期化関係を含むとき、前記ネットワークでのＣＤＳを含むメディアサーバで、前記同期化データ構造を生成する段階と、
前記ＣＤＳでの少なくとも１つの客体に同期化対情報を追加する段階と、
前記ＣＤＳでの少なくとも１つの客体に係わる変更をモニタする段階と、
前記少なくとも１つの客体に係わる変更を変更ログに記録する段階と、
前記変更ログを前記ＣＰに伝送する段階とを含むことを特徴とする方法。
【請求項９】
前記生成する段階は、
前記ＣＰからの要請に対する応答として行われることを特徴とする請求項８に記載の方法。
【請求項１０】
前記ＣＤＳでの少なくとも１つの客体から前記同期化対情報を削除する段階をさらに含むことを特徴とする請求項８に記載の方法。
【請求項１１】
前記ＣＤＳでの前記同期化データ構造から前記同期化関係を削除する段階をさらに含むことを特徴とする請求項８に記載の方法。
【請求項１２】
同期化データ構造が、ネットワークでの制御ポイント（ＣＰ）と前記ネットワークでのコンテンツディレクトリ・サービス（ＣＤＳ）との関係を説明する同期化関係を含むとき、前記ＣＤＳを含むメディアサーバでの同期化データ構造を生成するアクションを呼び出すように構成されたコンポーネントと、
前記ＣＤＳでの少なくとも１つの客体に同期化対情報を追加するアクションを呼び出すように構成されたコンポーネントと、
前記ＣＤＳから変更ログを要請するように構成されたコンポーネントと、
前記変更ログが、前記ＣＰのための同期化対情報が追加された前記少なくとも１つの客体の変更についての情報を含むとき、前記ＣＤＳから前記変更ログを受信するように構成されたコンポーネントとを含む制御ポイント。
【請求項１３】
前記ＣＰで、前記ＣＤＳでの少なくとも１つの客体から前記同期化対情報を削除するアクションを呼び出すように構成されたコンポーネントをさらに含むことを特徴とする請求項１２に記載の制御ポイント。
【請求項１４】
前記ＣＰで、前記メディアサーバでの前記同期化データ構造から前記同期化関係を削除するアクションを呼び出すように構成されたコンポーネントをさらに含むことを特徴とする請求項１２に記載の制御ポイント。
【請求項１５】
前記変更ログと前記ＣＰの内部データベースとを比較するように構成されたコンポーネントと、
前記変更ログでの変更を反映し、前記データベースをアップデートするように構成されたコンポーネントとをさらに含むことを特徴とする請求項１２に記載の制御ポイント。
【請求項１６】
前記ＣＰは、携帯用メディアデバイスに位置することを特徴とする請求項１２に記載の制御ポイント。
【請求項１７】
前記ＣＤＳは、メディアサーバに位置することを特徴とする請求項１２に記載の制御ポイント。
【請求項１８】
同期化データ構造が、ネットワークでの制御ポイント（ＣＰ）と前記ネットワークでのコンテンツディレクトリ・サービス（ＣＤＳ）との関係を説明する同期化関係を含むとき、前記ネットワークでのＣＤＳを含むメディアサーバで前記同期化データ構造を生成するように構成されたコンポーネントと、
前記ＣＤＳでの少なくとも１つの客体に同期化対情報を追加するように構成されたコンポーネントと、
前記ＣＤＳでの少なくとも１つの客体に係わる変更をモニタするように構成されたコンポーネントと、
前記少なくとも１つの客体に係わる変更を変更ログに記録するように構成されたコンポーネントと、
前記変更ログを前記ＣＰに伝送するように構成されたコンポーネントとを含むことを特徴とするコンテンツ同期化サービス。
【請求項１９】
前記コンテンツ同期化サービスは、通信的に前記ＣＰと結合され、前記同期化データ構造の生成は、前記ＣＰからの要請に対する応答として行われることを特徴とする請求項１８に記載のコンテンツ同期化サービス。
【請求項２０】
前記ＣＤＳでの少なくとも１つの客体から前記同期化対情報を削除するように構成されたコンポーネントをさらに含むことを特徴とする請求項１８に記載のコンテンツ同期化サービス。
【請求項２１】
前記ＣＤＳでの前記同期化データ構造から前記同期化関係を削除するように構成されたコンポーネントをさらに含むことを特徴とする請求項１８に記載のコンテンツ同期化サービス。
【請求項２２】
メディアサーバと、
制御ポイント（ＣＰ）とを含み、
前記メディアサーバは、
コンテンツディレクトリ・サービス（ＣＤＳ）と、コンテンツ同期化サービス（ＣＳＳ）とを含み、
前記ＣＳＳは、同期化データ構造を生成するように構成されたコンポーネントと、前記ＣＤＳで少なくとも１つの客体に同期化対情報を追加するように構成されたコンポーネントと、前記ＣＤＳでの少なくとも１つの客体に係わる変更をモニタするように構成されたコンポーネントと、前記少なくとも１つの客体に係わる変更を変更ログに記録するように構成されたコンポーネントと、前記変更ログを前記ＣＰに伝送するように構成されたコンポーネントとを含み、
前記制御ポイントは、
同期化データ構造が、ネットワークでの制御ポイント（ＣＰ）と前記ネットワークでのコンテンツディレクトリ・サービス（ＣＤＳ）との関係を説明する同期化関係を含むとき、前記ＣＤＳを含むメディアサーバでの同期化データ構造を生成するアクションを呼び出すように構成されたコンポーネントと、
前記ＣＤＳでの少なくとも１つの客体に同期化対情報を追加するアクションを呼び出すように構成されたコンポーネントと、
前記ＣＤＳから変更ログを要請するように構成されたコンポーネントと、
前記変更ログが、前記ＣＰのための同期化対情報が追加された前記少なくとも１つの客体の変更についての情報を含むとき、前記ＣＤＳから前記変更ログを受信するように構成されたコンポーネントとを含むことを特徴とするシステム。
【請求項２３】
第２制御ポイントをさらに含み、
前記第２制御ポイントは、
第２同期化データ構造が、前記第２制御ポイントと前記ＣＤＳとの関係を説明する第２同期化関係を含むとき、前記メディアサーバでの第２同期化データ構造を生成するアクションを呼び出すように構成されたコンポーネントを含むことを特徴とする請求項２２に記載のシステム。
【請求項２４】
前記第２制御ポイントは、
前記ＣＤＳから第２変更ログを要請するように構成されたコンポーネントと、
前記第２変更ログが、前記第２制御ポイントのための同期化対情報が追加された前記少なくとも１つの客体の変更についての情報を含むとき、前記ＣＤＳから前記第２変更ログを受信するように構成されたコンポーネントとを含むことを特徴とする請求項２３に記載のシステム。
【請求項２５】
前記同期化データ構造は、同期化政策を含むことを特徴とする請求項２２に記載のシステム。
【請求項２６】
前記同期化政策は、
ＸＭＬ（Extensible  Markup  Language）文書で保存されていることを特徴とする請求項２５に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ホームネットワーキングに係り、特に、ホームネットワーク環境で、コンテンツディレクトリ・サービスと制御ポイントとの間のコンテンツ同期化に関する。
【背景技術】
【０００２】
ＵＰｎＰ（universal  plug  and  play）は、デバイスが連続的に（seamlessly）連結され、家庭でのネットワーク具現（データ共有、通信及びエンターテイメント）を単純化するための分散された開放型ネットワーク構造であって、環境（environments）を統合する。これを達成するために、ＵＰｎＰは、開放型のインターネット基盤の通信基準によって設けられたＵＰｎＰデバイス・プロトコルを定義し、発表（publish）する。
【０００３】
最近、メディアサーバの人気が高まるにつれて、ＵＰｎＰの人気も上昇している。メディアサーバは、多様な類型のコンテンツ（例えば、写真、音楽、ビデオなど）を保存する小型コンピュータである。コンテンツは、メディアサーバから少なくとも１つの制御ポイント（例えば、ｉPOD、テレビなど）にストリーミングされうる。
【０００４】
一例として、メディアサーバデバイスは、ホームオーナー（homeowner）のオーディオ、ビデオ及びスチールイメージ・ライブラリの重要な部分を含むことができる。ホームオーナーがかようなコンテンツを楽しむためには、ホームオーナーがメディアサーバから客体（object）を検索し、特定の一つを選択し、適切なレンダリングデバイスで再生させられねばならない。
【０００５】
最大限の便宜のために、多様なユーザインターフェース（ＵＩ：user  interface）デバイスから、ホームオーナーがかような動作を始めることができるように許容されることが非常に望ましい。ほとんどの場合、ＵＩデバイスは、レンダリングデバイスに搭載されたＵＩであったり、無線ＰＤＡ、またはタブレットのような独立的なＵＩデバイスである。いかなる場合にも、ホームオーナーがコンテンツを保存しているデバイスと直接に相互作用しないであろう（すなわち、ホームオーナーは、サーバデバイスに歩み寄る必要がない）。これを可能にするために、サービスデバイスは、サーバのコンテンツを検索し、それぞれのコンテンツ客体についての詳細な説明を得るためのＵＩデバイスに係わる統一されたメカニズムを提供する必要がある。これがコンテンツディレクトリ・サービス（ＣＤＳ）の目的である。
【０００６】
コンテンツディレクトリ・サービスはまた、（サーバ）デバイスが提供できる個々の客体（例えば、歌、映画、絵など）をクライアント（例えば、ＵＩデバイス）が検索（locate）（及び保存）できるようにする検索／保存サービス（lookup/storage  service）を提供する。例えば、かようなサービスは、ＭＰ３プレーヤに保存された歌のリスト、多様なスライドショーから構成されるスチールイメージのリスト、ＤＶＤジュークボックスに保存された映画のリスト、現在放送されているＴＶショーのリスト、ＣＤジュークボックスに保存された歌のリスト、及びＰＶＲ（personal  video  recorder）に保存されたプログラムのリストなどを羅列するのに利用されうる。
【０００７】
ほとんどの類型のコンテンツがかようなコンテンツディレクトリ・サービスを介して羅列できる。多様な類型のコンテンツ（ＭＰ３、ＭＰＥＧ２、ＪＰＥＧなど）を含むデバイス、コンテンツディレクトリ・サービスの一実施形態が、その類型に係わりなく、あらゆる客体を羅列するのに利用されうる。
【発明の概要】
【発明が解決しようとする課題】
【０００８】
本発明の目的は、ＵＰｎＰコンテンツディレクトリ・サービスと制御ポイントとの間のコンテンツ同期化のための方法及びその装置を提供することである。
【課題を解決するための手段】
【０００９】
一実施形態で、ネットワークでの制御ポイント（ＣＰ：control  point）で方法が行われる。そのネットワークでのコンテンツディレクトリ・サービス（ＣＤＳ）を含むメディアサーバでの同期化データ構造を生成するアクションが呼び出される。ここで、同期化データ構造は、ＣＰとＣＤＳとの関係を説明する同期化関係を含む。次に、ＣＤＳでの少なくとも１つの客体に、同期化対情報を追加するアクションが呼び出される。ＣＤＳから変更ログが要請される。そのＣＤＳから変更ログが受信される。ここで、変更ログは、ＣＰのための同期化対情報が追加された少なくとも１つの客体の変更についての情報を含む。
【発明の効果】
【００１０】
本発明は、ＵＰｎＰコンテンツディレクトリ・サービスと制御ポイントとの間のコンテンツを同期化できる。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施形態による同期化関係を図示した図である。
【図２】２つのＣＳＳ間の同期化達成方法を説明するために図示した図である。
【図３】本発明の一実施形態によるコンテンツ同期化機能を説明するために図示した図である。
【図４】本発明による制御ポイントとコンテンツディレクトリ・サービスとの間の同期化方法を説明するために図示したフローチャートである。
【図５】本発明による制御ポイントとコンテンツディレクトリ・サービスとの間の同期化方法を説明するために図示したフローチャートである。
【図６】本発明の一実施形態による制御ポイントを説明するために図示した図である。
【図７】本発明の一実施形態によるコンテンツディレクトリ・サービスを図示した図である。
【発明を実施するための形態】
【００１２】
本発明は、ここに参照として添付された、Mahfuzur  Rahmanと権ウォンソクとによって、２００７年０６年０５月に出願された米国仮出願６０／９３３，４１６「ＵＰｎＰコンテンツディレクトリ・サービスと制御ポイントとの間のコンテンツ同期化」に対して優先権を主張する。
【００１３】
以下、本発明を遂行するために、発明者によって考案された最適モードを含む本発明の特定の実施形態について、具体的に記述する。かかる特定の実施形態は、添付された図面と共に説明する。本発明はこのように、特定の実施形態と関連して記述されるが、本発明を、かかる実施形態でもって制限する意図ではないということが認められるであろう。一方、添付された請求項によって定義されるように、択一的なもの（alternatives）、変更されたもの（modification）及び均等なもの（equivalents）が本発明の思想及び範囲に含まれることを意図する。以下、本発明に係わる深度ある理解を提供するために、特定されて具体的な内容が記述される。本発明は、かような特定されて具体的な内容の全部、または一部がなくても実行されうる。また、必要以上に発明を曖昧にさせないために、周知の特徴は記述していない。
【００１４】
本発明によれば、多様な類型の運用体制、プログラム言語、コンピュータプラットホーム、コンピュータプログラム及び／または汎用マシンを利用し、コンポーネント、プロセスの段階及び／またはデータ構造が具現されうる。さらに、当業者は、ここに開示された本発明の思想及び範囲から外れずに、ＦＰＧＡｓ（field  programmable  gate  arrays）、ＡＳＩＣｓ（application  specific  integrated  circuits）のような、相対的に汎用的ではない特徴を有するハードウェアが利用されうるということを認めることである。
【００１５】
本明細書で、ホームネットワーキングという用語は、家庭でメディアデバイスを連結するのに一般的に利用される類型のネットワークをいう。しかし、かような類型のネットワーキングを家庭で実際に利用するのに、条件がないように、かかるネットワーキングは、事業または他のエンティティ（entity）で同じ使用可能性を有する。従って、ホームネットワーキングという用語は、本発明の実施形態を家庭で使用するように限定すると推定されるものではない。
【００１６】
コンテンツディレクトリ・サービス（ＣＤＳ：content  directory  service）は、ＣＤＳ客体のアップロード及びダウンロードを支援する。１つのＣＤＳから他のＣＤＳに客体を移動させるためには、ユーザが客体を検索またはブラウジングし、ＣＤＳが取り入れたり送り出さねばならない客体を表示するために、客体を選択する。移動（transfer）がしばらくの間一度起こるならば、かような類型の動作がユーザに容認されうる。しかし、移動が定期的に起こらねばならないならば、かような一連の動作は、面倒になる。例えば、ユーザが携帯用デバイスだけではなく、メディアサーバの音楽ホルダにも同じ音楽を有することを願うならば、音楽アイテムが変更されるたびに、ユーザがそれぞれの客体を検索せねばならないということは、非効率的である。
【００１７】
現在、ＵＰｎＰ  ＣＤＳは、ＣＤＳがＣＤＳ客体の集合（a  set  of  ＣＤＳ  objects）に対する変更をトラッキングするためのＣＤＳの関心事（interest）を登録することを許さない。ＵＰｎＰ制御ポイントが変更を知るための方法は、客体が実際に変更されているか否かを判断するために、それぞれの変更された客体、及びその客体の子供客体（child  objects）を（属性ごとに）手動で検索する方法だけである。ＣＤＳが多数の客体（例えば、数千個）を有しているならば、かようなプロセスに長時間がかかりうる。さらに、制御ポイントが特定の客体の集合をトラッキングするとき、トラッキングされた客体が実際に変更されていない場合には、たびたびかようなトラッキングが不要な努力になりうる。言い換えれば、制御ポイントは、遂行される必要がないことを判断するために、多くの不要な動作を遂行せねばならない。特に、削除された客体を検索する場合には、かような動作は、煩わしい。
【００１８】
本発明は、ＵＰｎＰコンテンツディレクトリ・サービスと制御ポイントとの間のコンテンツ同期化を提供する。制御ポイントは、削除を含むＵＰｎＰ  ＣＤＳによって保存される客体の集合の変更をモニタするために、関心事を登録でき、ＣＤＳからかかる変更を検索できる。
【００１９】
一実施形態で、単方向同期化データ構造が紹介されうる。かような同期化データ構造は、制御ポイントがモニタすることを望むデバイスのＣＤＳ客体に係わる単一な同期化関係（synchronization  relation）を含む。いったん、同期化データ構造が生成され、客体対情報（objects  pair  information）がＣＤＳ客体に追加されれば、ＣＤＳは、その客体の変更に係わるトラッキングを持続する。次に、制御ポイントは、その同期化関係の一部分であるあらゆる客体に係わる変更ログを検索できる。いったん変更ログが検索されれば、その後制御ポイントは、客体の変更と制御ポイント自体の内部データベースとを比較し、制御ポイント自体の内部データベースをアップデートすることによって、ＣＤＳと同期化する。制御ポイントが同期化関係の一部分である客体に係わる変更ログに、それ以上関心がなくなれば、制御ポイントは、同期化関係を削除できる。
【００２０】
本発明の一実施形態で、同期化データ構造は、同期化対グループ（synchronization pair  group）、同期化パートナー関係（synchronization  partnership）、同期化関係（synchronization  relationship）を含む。同期化対グループは、同じ同期化政策が適用されうる同期化対のグループを識別するためのデータ構造である。ローカルＣＤＳ内のいかなる客体がパートナーＣＤＳでの客体と対をなすかを説明する実際同期化対情報は、客体の属性のうち一部として客体それ自体に含まれている。同期化パートナー関係は、２つの特定のＣＤＳ間の同期化動作を説明するデータ構造である。かような２つのＣＤＳは、パートナーと呼ばれる。同期化パートナー関係は、複数個の同期化対グループを含む。同期化パートナー関係はまた、そのパートナー関係に含まれたあらゆる対のグループ（pair  group）に適用されうる政策情報を含むことができる。もし同期化対グループがそれ自体だけの政策情報を有するならば、その同期化対グループ政策は、その特定の同期化対グループのためのパートナー関係政策（partnership  policy）に優先する。
【００２１】
ＣＤＳ−ＣＰ同期化が本出願の焦点になるが、ＣＤＳ−ＣＤＳ同期化も、ＣＤＳ−ＣＰ同期化と関連して有用であるために、本文書で検討され、同じ同期化データ構造が、二種類型の同期化いずれにも利用されうる。
【００２２】
同期化関係は、少なくとも１つの同期化パートナー関係から構成され、それぞれのパートナー関係は、少なくとも１つの同期化結合（synchronization  pairings）から構成される。
【００２３】
図１は、本発明の一実施形態による同期化関係を図示した図である。ここで、パートナーＡ  １００とパートナーＢ  １０２は、第１同期化パートナー関係１０４を形成する。パートナーＢ  １０２とパートナーＣ  １０６は、第２同期化パートナー関係１０８を形成する。かような２つのパートナー関係１０４，１０８は、同期化関係１１０を構成する。第１同期化パートナー関係１０４で、第１結合１１２は、同じ同期化政策が適用される２つの対（pair）を含む。客体１１６と客体１１８とが第１対１１４である。客体１２２と客体１２４とが第２対１２０である。第２同期化パートナー関係１０８で、第１結合１２６は、１つの対１２８を含む。その対は、客体１３０と客体１３２とである。
【００２４】
コンテンツシンク・サービス（ＣＳＳ：contentsync  service）は、同期化データ構造の管理を助けることができる。ＣＳＳは、最後の同期化後に、いかなるＣＤＳ客体が追加されたり、変更されたり、削除されたかを説明する変更ログを、ＣＤＳ客体属性の一部として保有できる。同期化は、ＣＳＳ間の相互作用を可能にするために、それぞれのサービスは、相互間にコンテンツの同期化を達成できるように、他のＣＳＳにアクションを呼び出す制御ポイント機能を有する。
【００２５】
図２は、２つのＣＳＳ間の同期化達成方法を説明するために図示した図である。独立的な制御ポイント２００は、２つのＣＳＳ２０２，２０４間の同期化を管理する。かような管理は、コンテンツ同期化データ構造の管理（すなわち、同期化データ構造の生成、検索及び削除）、及び同期化動作の呼び出しを含む。ＣＳＳ  ２０２に搭載された制御ポイント２０６は、変更された客体のための変更ログの検索と、他のＣＳＳ  ２０４の状態に対するモニタリングと、客体が成功的に同期化されたときの同期化データ構造のアップデートを含む客体に係わる実際同期化とを遂行する機能を行う。
【００２６】
図３は、本発明の一実施形態によるコンテンツ同期化機能を説明するために図示した図である。図３に図示されているように、かような機能は、ＣＤＳ  ３０４内のコンテンツシンク・サービス３００とコンテンツシンクＣＰ  ３０２との結合である。コンテンツシンク・サービス３００は、同期化データ構造を管理し、パートナーデバイスとの同期化動作を遂行する機能を行う。コンテンツシンクＣＰ  ３０２は、ネットワークで動作中である他のコンテンツシンク・サービスを制御する制御ポイント  ３０４の機能を提供する。
【００２７】
本発明の一実施形態で、同期化されるＣＤＳ客体は、同期化客体と呼ばれる。同期化客体は、ローカルデバイスの客体と、遠隔客体（remote object）と命名されるパートナーデバイスでの客体との結合を示す同期化客体対情報を有する。いったん同期化客体対情報が客体に追加されれば、同期化客体対情報は、その客体に変更があるたびにアップデートされる。同期化客体対情報は、パートナーデバイスが所定の遠隔客体のための最後の同期化後に、客体に対していかなる属性またはリソースが変更されたかを識別することを許容する。同期化される客体が、対応するパートナーにおける遠隔客体を有せないこともある。かかる場合に、同期化動作の間、パートナーで遠隔客体が生成される。
【００２８】
所定のパートナー関係で、客体は、単一同期化客体対情報を有することができる。しかし、その客体が複数個のパートナー関係に含まれているならば、その客体は、それぞれのパートナー関係に係わる複数個の同期化客体対を有することができる。
【００２９】
同期化データ構造は、１つのデバイスの客体が他のデバイスの客体と同期化されることを許容する。ＣＤＳ内のあらゆる同期化が可能な客体は、その客体が他の客体といかように同期化されるかを説明する同期化客体対情報を有する。
【００３０】
同期化関係、同期化パートナー関係または同期化対グループは、固有ＩＤによって識別される。ネットワークでのかようなサービスの消滅／再出現と関係なく、ライフタイムにわたってコンテンツシンク・サービスの具現を支援する具現は、ＣＤＳで、前記ＩＤを同じ値に維持する。一度使われた値は、再使用されない。
【００３１】
同期化政策は、同期化関係に含まれた同期化パートナーが同期化客体をいかように交換できているかを示す。一般的に、同期化政策は、いかなるデバイスがいかなるデバイスにメタデータ及びリソースを提供せねばならないかを示す。本発明の一実施形態で、トラッキング政策だけが定義される。
【００３２】
トラッキング同期化政策は、ＣＤＳと非ＣＤＳとのデバイス間の同期化を遂行するときに利用されうる。かような政策のための実際同期化動作は、本発明の範囲を超えるものである。かような政策で、ＣＤＳを有するデバイスだけが同期化客体のための変更ログに対するトラッキングを維持する。そのデバイスは、アクションを呼び出し、その時点での新しいログの保有を始めることによって、変更ログを新たに（clear）する。そのデバイスは、同期化関係が破壊されたとき、変更ログを保存することを中止する。トラッキング同期化政策の特徴は、次の通りである。
【００３３】
同期化対グループに新たな客体が自動的に追加されうるが、これは、もしその新しく追加された客体の親客体（保有者（container））が同期化客体であり、その親客体の政策で、同期化対グループオプション（synchronization  pair  group  option）に係わって、新たな子供客体（child  object）の自動追加が設定されている場合に限る。しかし、（直接的な子供客体を除外した）子孫客体（descendent  objects）は、かようなオプションに影響を受けない。
【００３４】
ユーザがＣＤＳから客体を永久に削除することを望む場合には、ユーザは同期化関係からその客体を除外できる。もしその客体が削除され、同期化関係から除外されていないとすれば、同期化動作によって、その客体は再び生成されうる。
【００３５】
図４は、本発明による制御ポイントとコンテンツディレクトリ・サービスとの間の同期化方法を説明するために図示したフローチャートである。この方法は、制御ポイントで遂行できる。例えば、ＣＰは、携帯用メディアデバイスに位置できる。ＣＤＳは、メディアサーバに位置できる。前記方法のそれぞれの段階は、ハードウェア、ソフトウェアまたはそれらの組み合わせで遂行されうる。
【００３６】
段階４００で、ネットワークのＣＤＳを含むメディアサーバで、同期化データ構造を生成せよというアクションが呼び出される。ここで、同期化データ構造は、ＣＰとＣＤＳとの関係を説明する同期化関係を含む。段階４０２で、ＣＤＳでの少なくとも１つの客体に同期化対情報を追加せよというアクションが呼び出される。段階４０４で、ＣＤＳから変更ログが要請される。段階４０６で、ＣＤＳから変更ログが受信されうる。ここで、変更ログは、ＣＰのための同期化対情報が追加された少なくとも１つの客体の変更についての情報を含む。段階４０８で、変更ログは、ＣＰ内部のデータベースと比較されうる。段階４１０で、そのデータベースは、変更ログでの変更を反映するように、アップデートされうる。段階４１２で、ＣＤＳでの少なくとも１つの客体から同期化対情報を削除せよというアクションが呼び出されうる。段階４１４で、ＣＤＳでの同期化データ構造から同期化関係を削除せよというアクションが呼び出されうる。
【００３７】
図５は、本発明による制御ポイントとコンテンツディレクトリ・サービスとの間の同期化方法を説明するために図示したフローチャートである。この方法は、コンテンツディレクトリ・サービスで遂行されうる。例えば、ＣＰは、携帯用メディアデバイスに位置できる。例えば、ＣＤＳは、メディアサーバに位置できる。前記方法のそれぞれの段階は、ハードウェア、ソフトウェアまたはそれらの組み合わせで遂行されうる。
【００３８】
段階５００で、同期化データ構造が生成される。ここで、同期化データ構造は、ＣＰとＣＤＳとの関係を説明する同期化関係を含む。かような生成は、ＣＰからの要請に対する応答として遂行されうる。段階５０２で、ＣＤＳでの少なくとも１つの客体に、同期化対情報が追加される。かような追加は、ＣＰからの要請に対応して遂行されうる。段階５０４で、ＣＤＳでの少なくとも１つの客体に係わる変更がモニタされる。段階５０６で、その少なくとも１つの客体に係わる変更が変更ログに記録される。段階５０４及び段階５０６は、変更が増加するほど、複数回（multiple  times）遂行されうる。
【００３９】
段階５０８で、ＣＰから変更ログのための要請を受信することができる。段階５１０で、変更ログがＣＰに伝送される。段階５１２で、ＣＤＳでの少なくとも１つの客体から同期化対情報が削除されうる。段階５１４で、ＣＤＳでの同期化データ構造から同期化関係が削除されうる。かような削除は、ＣＰからの要請に対する応答として遂行されうる。
【００４０】
図６は、本発明の一実施形態による制御ポイントを説明するために図示した図である。かような制御ポイントのそれぞれの要素は、ハードウェア、ソフトウェアまたはそれらの組み合わせで遂行されうる。前記要素は、コンポーネントとして記述されうるが、当業者は、かような要素は、ハードウェアまたはソフトウェアのモジュールで具現されうるということを認めるであろう。さらに、かようなコンポーネントは、区分が明確ではなく、事実上、特定のタスクを遂行するように構成されたコンポーネントが、他のタスクを遂行するように構成されたコンポーネントと同じコンポーネントでありうる。
【００４１】
同期化データ構造生成アクション呼び出しコンポーネント６００は、図４の段階４００を遂行するように構成されうる。同期化対情報追加アクション呼び出しコンポーネント６０２は、図４の段階４０２を遂行するように構成されうる。変更ログ要請コンポーネント６０４は、図４の段階４０４を遂行するように構成されうる。変更ログ受信コンポーネント６０６は、図４の段階４０６を遂行するように構成されうる。変更ログ比較コンポーネント６０８は、図４の段階４０８を遂行するように構成されうる。データベースアップデートコンポーネント６１０は、図４の段階４１０を遂行するように構成されうる。同期化対情報削除アクション呼び出しコンポーネント６１２は、図４の段階４１２を遂行するように構成されうる。同期化関係情報削除アクション呼び出しコンポーネント６１４は、図４の段階４１４を遂行するように構成されうる。
【００４２】
図７は、本発明の一実施形態によるコンテンツディレクトリ・サービスを図示した図である。かようなコンテンツディレクトリ・サービスのそれぞれの要素は、ハードウェア、ソフトウェアまたはそれらの組み合わせで遂行されうる。前記要素は、コンポーネントとして記述されうるが、当業者は、かような要素は、ハードウェアまたはソフトウェアのモジュールで具現されうるということを認めるであろう。さらに、かようなコンポーネントは、区分が明確ではなく、事実上、特定のタスクを遂行するように構成されたコンポーネントが、他のタスクを遂行するように構成されたコンポーネントと同じコンポーネントでありうる。
【００４３】
同期化データ構造生成コンポーネント７００は、図５の段階５００を遂行するように構成されうる。同期化対情報追加コンポーネント７０２は、図５の段階５０２を遂行するように構成されうる。客体変更モニタリングコンポーネント７０４は、図５の段階５０４を遂行するように構成されうる。変更記録コンポーネント７０６は、図５の段階５０６を遂行するように構成されうる。変更ログ要請受信コンポーネント７０８は、図５の段階５０８を遂行するように構成されうる。変更ログ伝送コンポーネント７１０は、図５の段階５１０を遂行するように構成されうる。同期化対情報削除コンポーネント７１２は、図５の段階５１２を遂行するように構成されうる。同期化関係削除コンポーネント７１４は、図５の段階５１４を遂行するように構成されうる。
【００４４】
特定のＸＭＬ（extensible  markup  language）具現を以下に記述する。かような例は、単に１つの可能な具現であり、かような具現が、本発明の範囲を制限すると推定されてはならないのである。
【００４５】
同期化政策は、ゼロまたはそれ以上の同期化データ構造を含むコンテンツシンクＸＭＬ文書でのpolicy要素に含まれ、優先する政策が必要な場合には、ＣＤＳ客体でのupnp:syncInfo::objectPair::policy属性に含まれうる。下記の例は、政策に係わるＸＭＬの一部分を図示したものである。
【００４６】
<policy>
<syncType>tracking</syncType>
<priorityPartnerID>1</priorityPartnerID>
<autoObjAdd>1</autoObjAdd>
<policy>
ゼロまたはそれ以上の要素を含むルート要素（root  element）の＜policy＞は、同期化政策を示す。
【００４７】
下記の例は、一般的なpolicy ＸＭＬ文書のフォーマットに係わる模型（template）を図示したものである。
【００４８】
<?xml  version="1.0"?>
<policy
xmlns="urn:schemas-upnp-org:av:css"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
urn:schemas-upnp-org:av:cds-event
http://www.upnp.org/schemas/av/css--v1-20070XXXX.xsd">
<syncType>synchronization  policy  type</syncType>syncDataUpdate
<priority>Role  of  a partner</priority>
<delProtection>Protect  an  object  deletion</delProtection>
</policy>
最小限に完成された同期化データ構造（minimally  complete  synchronization  data  structure）は、正確に１つの同期化関係、その同期化関係内の正確に１つのパートナー関係、及びそのパートナー関係内の正確に１つの結合（pairing）を定義する。
【００４９】
最小限に完成されたパートナー関係データ構造は（現在存在する同期化関係に追加される）、正確に１つのパートナー関係及びそのパートナー関係内の正確に１つの結合を定義する。
【００５０】
ＣＤＳと非ＣＤＳ（制御ポイント）との同期化は、方向性がなく、次のような段階を含むことができる。
【００５１】
ＵＰｎＰ制御ポイントは、制御ポイントが同期化することを望むデバイスでの単一同期化関係を含む新たな同期化データ構造を生成する。下記のＸＭＬ文書は、ＣＤＳと非ＣＤＳとの同期化のための同期化データ構造の例示的なフォーマットを図示したものである。
【００５２】
<syncRelationship  id="1cce93c2-6144-4093-9650-ae6c7ba28c91"active="1"
xmlns="urn:schemas-upnp-org:cs"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="urn:schemas-upnp-org:av:cds-event
http://www.upnp.org/schemas/cs/cs-v1-20070XXXX.xsd">
<title>ABC  Electronic  Program  Guide</title>
<partnership  id="3fa8e9f8-ff21-47ee-90c8-7730793a613f"active="1">
<partner  id="1">
<deviceUDN>e832a654-9c64-429b-9f34-8f55278f73a7</deviceUDN>
<serviceID>AcmeContentSync-001</serviceID>
</partner>
<partner  id="2">
<deviceUDN></deviceUDN>
<serviceID></serviceID>
</partner>
<policy>
<syncType>tracking<syncType>
<priorityPartnerID>1</priorityPartnerID>
<autoObjAdd>1</autoObjAdd>
</policy>
<pairGroup  id="bca02e62-e9d6-454c-b1b2-a52e199e02e7"active="1"/>
</partnership>
</syncRelationship>
いったん同期化データ構造が生成され、同期化対情報がＣＤＳ客体に追加されれば、ＣＤＳは、その客体の変更に係わるトラッキングを始める。
【００５３】
制御ポイントは、GetChangeLog()アクションを呼び出すことによって、同期化関係の一部分であるあらゆる客体に係わる変更ログを検索できる。変更ログを検索した後、いったん変更ログが検索されたり、その変更ログが以前ログを送り出した後に、新たなログの保存を始めれば、制御ポイントは、ＣＤＳに変更ログの蓄積を持続するか否かについて指示するためのResetChangeLog()アクションを呼び出しうる。
【００５４】
いったん変更ログが検索されれば、制御ポイントは、客体に係わる変更と、その制御ポイント自体の内部データベースとを比較し、それ自体の内部データベースをアップデートすることによって、ＣＤＳと同期化する。
【００５５】
制御ポイントが同期化関係の一部分の客体に係わる変更ログについて、それ以上興味を感じれなくなれば、制御ポイントは、DeleteSyncData()アクションを呼び出すことによって、同期化関係を削除するであろう。
【００５６】
SyncChange状態変数は、SyncChange状態変数のイベントが発生した最後の瞬間以来、発生したあらゆる変更を識別するＸＭＬ文書を含むことができる。
【００５７】
イベント通知メッセージがあらゆる加入した制御ポイント（subscribed  control  points）に伝送された後、SyncChange状態変数をアップデートする必要が生じたとき、すなわち、次のイベントが発生するとき、SyncChange状態変数の値がリセットされる。その結果値は、そのアップデートを示す単一要素を含む新たなＸＭＬ文書である（すなわち、その結果値は、あらゆる加入者に対する以前のイベントメッセージの配布による最初のアップデートイベントを含む）。結果的に、追加的なアップデート要素は、現在の適当な期間（current  moderation  period）が終了するまでＸＭＬ文書に追加され、SyncChange状態変数の現在値（すなわち、現在のイベントメッセージ）があらゆる加入者に伝えられる。
【００５８】
下記の例は、一般化されたSyncChange状態変数のフォーマットの模型を図示したものである。
【００５９】
<?xml  version="1.0"?>
<SyncChange
xmlns="urn:schemas-upnp-org:av:css-event"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
urn:schemas-upnp-org:av:cds-event
http://www.upnp.org/schemas/cs/css-v1-20070XXXX.xsd">
<syncDataUpdate  syncID="synchronization  relationship  or  partnership
Or  pairgroup  ID  of  updated  synchronization  relationship"/>
<syncObjUpdate
objectID="object  ID
Of  updated  synchronization  object"/>
</SyncChange>
同期化関係（及びその同期化関係のsyncRelationshipデータ構造）は、全域的であり、固有なsyncRelationship@id要素によって識別される。同期化関係は、少なくとも１つのパートナー関係から構成される。同期化関係は、活性または非活性の状態にありうる。活性状態は、同期化関係が同期化動作に参与していることを意味するが、非活性同期化関係は、同期化動作に参与しない。同期化関係の活性状態は、syncRelationship@id要素によって表現されうる。
【００６０】
同期化パートナー関係は、同期化動作の間に同期化されるコンテンツを含む特定の２つのパートナーデバイスを識別する。パートナー関係は、ただ２つのシンクパートナーデバイス（sync  partner  devices）間に存在する。パートナーデバイスは、それぞれのＵＤＮ値によって識別される。それぞれのパートナー関係は、全域的であり、固有なpartnership@id要素によって識別される。
【００６１】
あらゆる同期化データ構造（同期化関係、同期化パートナー関係及び同期化対グループ）内で、初期政策が定義されれば、従属的な構造（dependent  structure）がそれ自体だけの政策を特定しなければ、あらゆる従属的な構造がその政策を受け継ぐ。例えば、同期化対グループのための政策が定義され、その同期化対グループ内の対のための政策が定義されれば、その対のための政策がその同期化対グループのための政策より優先されるであろう。同様に、パートナー関係のための政策と、そのパートナー関係内の同期化対グループのための政策とが定義されれば、同期化対グループ政策がパートナー関係政策より優先するであろう。
【００６２】
partnership@id要素は、内部的に保存されたパートナー関係情報が古くなっているか否かを判断するのに利用されうる。partnership@id要素の値は、パートナー関係情報が変更されるたびに一つずつ増加する。
【００６３】
下記の例は、同期化データ構造を定義するA_ARG_TYPE_SyncData状態変数のフォーマットのための一般化された模型を図示したものである。
【００６４】
<?xml  version="1.0"?>
<ContentSync
xmlns="urn:schemas-upnp-org:av:css-event"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
urn:schemas-upnp-org:av:cds-event
http://www.upnp.org/schemas/cs/css-v1-20070XXXX.xsd">
<syncRelationship  id="synchronization  relationship  ID"
active="flag  indicates  whether  a  relationship  is  enabled  or
disabled"
systemUpdateID="system  update  ID  of  the  CDS  at  the  time  of  change">
<title>title  of  this  synchronization  relationship</title>
<partnership  id="synchronization  partnership  ID"
active="flag  indicates  whether  a  partnership  is  enabled  or
disabled"
updateID="uniquely  assigned  ID  when  a  partnership  is  updated">
<partner  id="1">
<deviceUDN>device  UDN  of  the  first  partner</deviceUDN>
<serviceID>ID  of  a  service  of  the  first  partner</serviceID>
</partner>
<partner  id="2">
<deviceUDN>device  UDN  of  the  second  partner</deviceUDN>
<serviceID>ID  of  a  service  of  the  second  partner</serviceID>
</partner>
<policy>synchronization  policy  in  a  partnership  level</policy>
<pairgroup  id="synchronization  pairgroup  ID"
active="flag  indicates  whether  a  pairgroup  is  enabled  or
disabled">
<policy>synchronization  policy  in  a  pairgroup  level</policy>
</pairgroup>
</partnership>
</syncRelationship>
</ContentSync>
A_ARG_TYPE_SyncPair状態変数は、多様なアクションらで利用されるＣＤＳ客体のための同期化対を含む多様な独立変数（arguement）のための類型情報を提供するために紹介される。
【００６５】
下記には、A_ARG_TYPE_SyncPair状態変数の一般的な例が図示されている。
【００６６】
<?xml  version="1.0"encoding="UTF-8"?>
<syncInfo  updateID="3">
<pair
syncRelationshipID="d8c9fa13-d79b-4a0c-999b-6ae2ff91a46d"
partnershipID="a0e4d0a7-3378-4f17-8af2-3f7de3345dc6"
pairgroupID="ba8e57de-7f66-4102-ae4b-31b96c86f173">
<remoteObjID>B1</remoteObjID>
<policy>
<syncType>replace</syncType>
<priorityPartnerID>1</priorityPartnerID>
</policy>
<status>MODIFIED</status>
</pair>
<pair
syncRelationshipID="e884c276-c489-44f0-bcec-332450dab074"
partnershipID="1ab3fef4-777e-496a-82ed-d2580cdafa75"
pairgroupID="c1bc5bd7-0207-4226-beee-b528fe63a919">
<remoteParentObjID>B2</remoteParentObjID>
<status>NEW</status>
</pair>
</syncInfo>
A_ARG_TYPE_SyncID状態変数は、同期化関係、同期化パートナー関係または同期化対グループを固有に識別するための多様なアクションの独立変数のための類型情報を提供するために紹介される。
【００６７】
A_ARG_TYPE_ObjectID状態変数は、ＣＤＳ客体を固有に識別するための多様なアクションの独立変数のための類型情報を提供するために紹介される。
【００６８】
A_ARG_TYPE_ChangeLog状態変数は、GetChangeLog()アクションでの独立変数ChangeLogのための類型情報を提供するために紹介される。
【００６９】
変更ログは、ＤＩＤＬ−Ｌｉｔｅ  ＸＭＬ文書を拡張して表現されたＣＤＳ客体のリストである。変更ログは、最後の同期化動作以来に変更されたＣＤＳ客体を含む。変更ログがGetChangeLog()アクションの応答としてリターンされたとき、その変更ログは、特定の同期化関係、または同期化パートナー関係、または同期化対グループにバインディングされた変更されたＣＤＳ客体だけを含む。
【００７０】
A_ARG_TYPE_Index状態変数は、多様なアクションでの独立変数のための類型情報を提供するために紹介される。独立変数は、客体に係わる任意のリスト（変更ログ）に係わるオフセットを特定する。
【００７１】
A_ARG_TYPE_Count状態変数は、多様なアクションでの独立変数のための類型情報を提供するために紹介される。独立変数は、任意の客体に係わる一般的な数字（ordinary  number）を特定する。
【００７２】
A_ARG_TYPE_ResetObjectList状態変数は、変更ログが新しくなる同期化客体のリストを含む独立変数のための類型情報を提供するために紹介される。
【００７３】
（例）
<ResetObjectList>
<object  id="A1"remoteObjID="32"updateID="2"/>
<object  id="A72"remoteObjID="9547"updateID="4"/>
</ResetObjectList>
下記の例は、A_ARG_TYPE_ResetObjectList状態変数のフォーマットのための一般化された模型を図示したものである。
【００７４】
<?xml  version="1.0"?>
<ResetObjectList
xmlns="urn:schemas-upnp-org:av:css-event"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
urn:schemas-upnp-org:av:css
http://www.upnp.org/schemas/cs/css-v1-20070XXXX.xsd">
<objectID
id="object  ID"
remoteObjID="object  ID  of  a  partner  paired  with  this  object"
updateID="uniquely  assigned  ID  when  the  object  is  changed">
</objectID>
</ResetObjectList>
AddsyncData()アクションは、新たな同期化関係模型、または現在の同期化関係内での新たなパートナー関係模型、または現在のパートナー関係内での新たな同期化対グループ模型のうち、一つを生成する。
【００７５】
デバイスが新たな同期化関係を生成するためのAddSyncData()アクションを独立的な制御ポイントから受信すれば、そのデバイスは、最小限に完成された同期化データ構造のための同期化関係、同期化パートナー関係及び同期化対グループを識別するために、３つのＩＤを生成する。その生成されたＩＤは、A_ARG_TYPE_SyncID状態変数の条件を満足する。
【００７６】
独立的な制御ポイントが同期化関係を追加しているとき、入力独立変数（input  argument）SyncＩＤは、空き文字列（empty  string）に設定される。同期化パートナー関係を追加する間、独立変数SyncＩＤは、その同期化パートナー関係の情報が追加される現在の同期化関係のSyncＩＤを含むであろう。これと同様に、同期化対グループを追加する間、独立変数SyncＩＤは、同期化グループ対の情報が追加される現在の同期化パートナー関係のSyncＩＤを含むであろう。
【００７７】
ModifySyncData()アクションは、同期化関係、または現在の同期化関係内でのパートナー関係、または現在のパートナー関係内での同期化対グループのうち、一つを変更する。
【００７８】
独立変数ActionCallerがデバイスＵＤＮを特定すれば、パートナーデバイスによって、前記のようなアクションが呼び出され、デバイスは、同期化データ構造（Sync  Data）をそのパートナーデバイスに配布する必要がない。しかし、独立変数ActionCallerが空き文字列であるならば、そのパートナーデバイスに係わるModifySyncData()を呼び出すことによって、そのデバイスは、同期化データ構造（Sync  Data）をそのパートナーデバイスに配布する。
【００７９】
古くなったデータによって、同期化データ構造がアップデートされることを防止するために、入力独立変数SyncDataは、同期化パートナー関係、または同期化対グループのレベルが変更されるとき、その同期化パートナー関係及び同期化対グループの@upadateID属性を含む。
【００８０】
かかる変更が、それ以上有効ではない同期化関係を発生させるならば、ModifySyncData()アクションは、いかなる変更や適切なエラーコードの回答なしに動作しなくなる。
【００８１】
DeleteSyncData()アクションは、同期化関係、または現在の同期化関係内でのパートナー関係、または現在のパートナー関係内での同期化対グループのうち、一つを削除する。DeleteSyncData()の独立変数SyncＩＤは、削除される同期化関係、同期化パートナー関係または同期化対グループのうち、一つを識別する。
【００８２】
独立変数ActionCalleｒがデバイスＵＤＮを特定すれば、パートナーデバイスによって、前記のようなアクションが呼び出され、デバイスは、そのパートナーデバイスに削除について知らせる必要がない。しかし、独立変数ActionCallerがヌル（null）値である場合には、そのパートナーデバイスに対するDeleteSyncData()アクションを呼び出すことによって、そのデバイスがそのパートナーデバイスに削除について知らせる。
【００８３】
同期化パートナー関係、または同期化対グループの削除は、パートナーデバイスのうち、一つがネットワークに存在しない場合にも許容される。かような場合に、他のパートナーデバイスは、そのデバイスがネットワークに再び参与するとき、いかなる同期化動作も遂行する前に、ExchangeSyncData()アクションを呼び出すことによって、アップデートされた同期化データ構造を得る。
【００８４】
現在の同期化パートナー関係内の最後の同期化対グループが削除されれば、その同期化パートナー関係も削除される。
【００８５】
これと同様に、現在の同期化関係内の最後の同期化パートナー関係が削除されれば、その同期化関係も削除される。
【００８６】
GetSyncData()アクションは、入力独立変数SyncＩＤによって識別される同期化データ構造をリターンする。前記アクションの独立変数SyncＩＤが、同期化関係を識別するならば、その出力独立変数SyncDataは、同期化関係のための全体同期化データ構造を含む。ここで、同期化関係は、その同期化関係内のあらゆる同期化パートナー関係と、その同期化関係内に含まれたそれぞれのパートナー関係のためのあらゆる同期化対グループとを含む。もし前記アクションの独立変数SyncＩＤの値が同期化パートナー関係を識別するならば、出力独立変数SyncDataは、その同期化パートナー関係内に含まれたあらゆる同期化対グループを含む同期化パートナー関係のための同期化データ構造を含む。もし前記アクションの独立変数SyncＩＤの値が、同期化対グループを識別するならば、出力独立変数SyncDataは、その識別された同期化対グループのための同期化データ構造を含む。もし前記アクションの独立変数SyncＩＤの値が空き文字列である場合には、出力独立変数SyncDataは、あらゆる同期化関係のための同期化データ構造を含む。
【００８７】
AddSyncPair()アクションは、同期化対情報をＣＤＳ客体に追加する。独立変数ActionCallerがデバイスＵＤＮを特定すれば、パートナーデバイスによって、前記のようなアクションが呼び出され、デバイスは、同期化対情報をそのパートナーデバイスに配布する必要がない。しかし、ActionCallerがヌル値であるならば、かようなアクションを受信したデバイスは、そのパートナーデバイスに対するAddsyncPair()アクションを呼び出し、そのパートナーデバイスと同じ同期化対情報を維持する。
【００８８】
前記アクションの入力独立変数ObjectIDは、同期化対情報が追加されている客体を識別する。
【００８９】
入力独立変数SyncPairは、同期化対情報を含むＸＭＬの一部分を含む。
【００９０】
客体のための同期化対情報を追加する間、かようなアクションを呼び出すとき、発生しうる２つのシナリオが存在する。
【００９１】
●前記対（pair）の一部分である２つの客体がすでに存在する場合（類型１）
遠隔客体のobject@id値がupnp:pair::remoteobjID要素に含まれている。
【００９２】
●パートナーのうち、一つにだけ客体が存在する場合（類型２及び類型３）
■パートナーデバイスが、前記対のための対応するパートナー客体を有さない。最初の同期化動作の間に、パートナーデバイスで対応する客体が生成されるであろう。パートナーデバイスで客体を生成するための規定は次の通りである：
◆新たな客体アイテムが生成される親保有者客体（parent  container  object）がそのパートナーデバイスに存在するならば、upnp:pair::remoteParentObjID要素は、親保有者客体のobject@idを含む。
【００９３】
◆パートナーに前記親保有者客体が存在せず、前記新たな客体アイテムが位置する保有者客体が内部保有者客体（local  container  object）から生成されるならば、upnp:pair::virtualRemoteParentObjIDは、内部保有者のobject@id値を含む（すなわち、かような保有者客体は、パートナーデバイスで親客体であろう）。同様に、かような親保有者客体は、同じパートナー関係で対を有する。同期化動作の間、ローカルデバイスがローカルデバイスに、前記対に係わって対応する客体が存在しないと判断すれば、そのデバイスは、そのローカルデバイスで新たな客体を生成し、新しく生成された客体の客体ＩＤ値を割り当てることによって、upnp:pair::RemoteObjIDをアップデートする。次に、そのデバイスは、upnp:pair::remoteParentObjIDまたはupnp:pair::virtualRemoteParentObjIDを削除する。
【００９４】
客体は、単一同期化関係内での複数個の同期化対グループの一部でありうる。しかし、かかる場合には、下記の規定が適用される：
●同期化政策が「交替（replace）」であるならば、ソースになる客体が複数個の対を有することが許容される。
【００９５】
●同期化政策が「混合（blend）」であるならば、上位の優先順位を有する客体（object  with  precedence）が複数個の対を有することが許容される。
【００９６】
●同期化政策が「併合（merge）」であるならば、単一の対グループだけ許容される。
【００９７】
ModifySyncPair()アクションは、ＣＤＳ客体のための同期化対の属性を変更する。かような変更は、政策情報だけを含む。独立変数ActionCallerがデバイスＵＤＮを特定すれば、パートナーデバイスによって、前記のようなアクションが呼び出され、デバイスは、同期化対グループ情報をそのパートナーデバイスに配布する必要がない。しかし、独立変数ActionCallerが空き文字列であるならば、独立的な制御ポイントによって、かかるアクションが呼び出され、そのパートナーデバイスでの同じ同期化対情報を維持するために、パートナーデバイスに係わるModifySyncPair()アクションを呼び出すことによって、SyncPairに含まれた前記対情報をパートナーデバイスに配布する。
【００９８】
独立変数ObjectIDは、対情報が変更される客体を識別する。入力独立変数SyncPairは、追加される対情報を含むＸＭＬの一部分を含む。独立変数SyncPairで、upnp:pair@syncRelationshipID、upnp:pair@partnershipID及びupnp:pair@pairgroupIDは、特定されねばならず、有効であらねばならない。SyncPairはまた、特定されたaupnp:pair::remoteObjectまたはaupnp:pair::remoteParentPairまたはaupnp::virtualRemoteParentObjIDのうち、一つを含む。
【００９９】
本発明は、特定の実施形態を参照しつつ、図示して記述し、かかる実施形態の形態や細部事項は、本発明の思想及び範囲を外れずに変更されうることを当業者が認めるであろう。さらに、たとえ本発明の多様な長所、側面及び目的が多様な実施形態を参照しつつ記述されたにしても、本発明の範囲は、かかる長所、側面及び目的に限定されるものではないということが認定されるであろう。それよりは、本発明の範囲は、特許請求の範囲を参照して決定されるのである。
【図１】
2010529550.tif 000003
【図２】
2010529550.tif 000004
【図３】
2010529550.tif 000005
【図４】
2010529550.tif 000006
【図５】
2010529550.tif 000007
【図６】
2010529550.tif 000008
【図７】
2010529550.tif 000009
【国際調査報告】
2010529550.tif 000010
2010529550.tif 000011