(57)【特許請求の範囲】
【請求項１】
装置の処理手段がプログラム命令を実行することにより、前記装置が遂行する方法であって、
未来の指定時刻に同期されるべきデータを特定する標示を第１の通信デバイスから受信することと；
前記指定時刻より前の割当時刻にデータを同期するために、第２の通信デバイスからメッセージを受信することと；
前記標示及び前記メッセージの情報の評価に部分的に基づいて、前記第１の通信デバイス及び前記第２の通信デバイスの間で、前記データに関する同期衝突を検出することと；
前記割当時刻より前の時刻である専用時刻に前記データの同期を可能にするために、前記データに関連するコンテンツのフェッチを求める要求を前記第１の通信デバイスに提供可能にすることと；
を含む、方法。
【請求項２】
前記第２の通信デバイスに前記同期衝突を警告する作成メッセージを前記第２の通信デバイスに送信可能にすることを更に含む、請求項１に記載の方法。
【請求項３】
前記作成メッセージは、前記割当時刻でのデータ同期を起動する前の所定時間の間、衝突不在メッセージを受信するために、前記第２の通信デバイスに待機することを指示する情報を含む、請求項２に記載の方法。
【請求項４】
前記第１の通信デバイスから、前記フェッチされたコンテンツ、及び前記データを前記専用時刻に同期することを特定する標示を受信することに応じて、前記専用時刻に前記データを同期することを更に含む、請求項１又は２に記載の方法。
【請求項５】
前記データの同期の前に、
前記専用時刻に前記データの同期を可能にするために、前記第１の通信デバイスが前記コンテンツをフェッチする要求を承諾するか拒否するかを示すフィードバックメッセージを、前記所定時間の間に前記第１の通信デバイスから受信すること、
を更に含む、請求項３に記載の方法。
【請求項６】
同期衝突が既に無いことを示し、前記割当時刻に前記データを同期するために前記第２の通信デバイスから情報を要求するメッセージを、前記第２の通信デバイスに提供可能にすることを更に含む、請求項４に記載の方法。
【請求項７】
前記第２の通信デバイスから受信された情報に部分的に基づいて、前記割当時刻に前記データを同期することを更に含む、請求項６に記載の方法。
【請求項８】
前記コンテンツの伝送のためのネットワーク接続が前記専用時刻で信頼性がある、又は、前記コンテンツの伝送のコストが前記指定時刻よりも前記専用時刻の方が小さいと前記第１の通信デバイスが決定することに応じて、前記専用時刻で前記データを同期するという標示が受信される、請求項４に記載の方法。
【請求項９】
前記データを緊急に同期する必要があると前記第１の通信デバイスが決定することに応じて、前記専用時刻で前記データを同期するという標示が前記第１の通信デバイスから受信される、請求項４に記載の方法。
【請求項１０】
前記専用時刻に前記データの同期が不可能であると前記第１の通信デバイスが決定したことを示すフィードバックメッセージを、前記第１の通信デバイスから受信すること、又は、前記コンテンツをフェッチする要求に前記第１の通信デバイスが前記所定時間の間に応答しなかったことを検出することに応じて、所定時間終了時に、前記割当時刻での前記データの同期を可能にするために、前記第２の通信デバイスから情報を受信することを更に含む、請求項３に記載の方法。
【請求項１１】
前記データの同期が予定通り前記指定時刻で行われるべきと前記第１の通信デバイスが決定する場合、前記第１の通信デバイスから受信されたコンテンツに部分的に基づいて、前記データを前記指定時刻に同期することを更に含む、請求項１０に記載の方法。
【請求項１２】
前記コンテンツの伝送のためのネットワーク接続が前記専用時刻よりも前記指定時刻の方が信頼性がある、又は、前記コンテンツの伝送のコストが前記専用時刻よりも前記指定時刻の方が小さいと前記第１の通信デバイスが決定することに応じて、前記データの同期が予定通り前記指定時刻で行われるべきと前記第１の通信デバイスが決定する場合、前記コンテンツが前記第１の通信デバイスから受信される、請求項１１に記載の方法。
【請求項１３】
未来の指定時刻に同期されるべきデータを特定する標示を第１の通信デバイスから受信する手段と；
前記指定時刻より前の割当時刻にデータを同期するために、第２の通信デバイスからメッセージを受信する手段と；
前記標示及び前記メッセージの情報の評価に部分的に基づいて、前記第１の通信デバイス及び前記第２の通信デバイスの間で、前記データに関する同期衝突を検出する手段と；
前記割当時刻より前の時刻である専用時刻に前記データの同期を可能にするために、前記データに関連するコンテンツのフェッチを求める要求を前記第１の通信デバイスに提供する手段と；
を備える、装置。
【請求項１４】
前記第２の通信デバイスに前記同期衝突を警告する作成メッセージを前記第２の通信デバイスに送信する手段を備える、請求項１３に記載の装置。
【請求項１５】
前記作成メッセージは、前記割当時刻でのデータ同期を起動する前の所定時間の間、衝突不在メッセージを受信するために、前記第２の通信デバイスに待機することを指示する情報を含む、請求項１４に記載の装置。
【請求項１６】
前記第１の通信デバイスから、前記フェッチされたコンテンツ、及び前記データを前記専用時刻に同期することを特定する標示を受信することに応じて、前記専用時刻に前記データを同期する手段を備える、請求項１３又は１４に記載の装置。
【請求項１７】
前記データの同期の前に、
前記専用時刻に前記データの同期を可能にするために、前記第１の通信デバイスが前記コンテンツをフェッチする要求を承諾するか拒否するかを示すフィードバックメッセージを、前記所定時間の間に前記第１の通信デバイスから受信する手段を備える、請求項１５に記載の装置。
【請求項１８】
同期衝突が既に無い手段を示し、前記割当時刻に前記データを同期するために前記第２の通信デバイスから情報を要求するメッセージを、前記第２の通信デバイスに提供する手段を備える、請求項１６に記載の装置。
【請求項１９】
前記第２の通信デバイスから受信された情報に部分的に基づいて、前記割当時刻に前記データを同期する手段を備える、請求項１８に記載の装置。
【請求項２０】
前記コンテンツの伝送のためのネットワーク接続が前記専用時刻で信頼性がある、又は、前記コンテンツの伝送のコストが前記指定時刻よりも前記専用時刻の方が小さいと前記第１の通信デバイスが決定することに応じて、前記専用時刻で前記データを同期するという標示が受信される、請求項１６に記載の装置。
【請求項２１】
前記データを緊急に同期する必要があると前記第１の通信デバイスが決定することに応じて、前記専用時刻で前記データを同期するという標示が前記第１の通信デバイスから受信される、請求項１６に記載の装置。
【請求項２２】
前記専用時刻に前記データの同期が不可能であると前記第１の通信デバイスが決定したことを示すフィードバックメッセージを、前記第１の通信デバイスから受信すること、又は、前記コンテンツをフェッチする要求に前記第１の通信デバイスが前記所定時間の間に応答しなかったことを検出することに応じて、所定時間終了時に、前記割当時刻での前記データの同期を可能にするために、前記第２の通信デバイスから情報を受信する手段を備える、請求項１５に記載の装置。
【請求項２３】
前記データの同期が予定通り前記指定時刻で行われるべきと前記第１の通信デバイスが決定する場合、前記第１の通信デバイスから受信されたコンテンツに部分的に基づいて、前記データを前記指定時刻に同期する手段を備える、請求項２２に記載の装置。
【請求項２４】
前記コンテンツの伝送のためのネットワーク接続が前記専用時刻よりも前記指定時刻の方が信頼性がある、又は、前記コンテンツの伝送のコストが前記専用時刻よりも前記指定時刻の方が小さいと前記第１の通信デバイスが決定することに応じて、前記データの同期が予定通り前記指定時刻で行われるべきと前記第１の通信デバイスが決定する場合、前記コンテンツが前記第１の通信デバイスから受信される、請求項２３に記載の装置。
【請求項２５】
処理手段及び記憶手段を備える装置であって、前記記憶手段はプログラム命令を格納し、該プログラム命令は、前記処理手段に実行されると、前記装置に、請求項１から１２のいずれかに記載の方法を遂行させるように構成される、装置。
【請求項２６】
装置の処理手段に実行されると、請求項１から１２のいずれかに記載の方法を前記装置に遂行させるように構成されるプログラム命令を備える、コンピュータプログラム。
【請求項２７】
クラウドネットワークデバイス及び複数の通信デバイスを含むシステムであって、
前記クラウドネットワークデバイスは、少なくとも１つの第１プロセッサと、第１コンピュータプログラムコードを含む少なくとも１つの第１メモリを備え、前記第１コンピュータプログラムコードは、前記少なくとも１つの第１プロセッサに実行されると、前記クラウドネットワークデバイスに少なくとも次のこと：
未来の指定時刻に同期されるべきデータを特定する標示を、前記複数の通信デバイスの中の第１の通信デバイスから受信することと；
前記指定時刻より前の割当時刻にデータを同期するために、前記複数の通信デバイスの中の第２の通信デバイスからメッセージを受信することと；
前記標示及び前記メッセージの情報の評価に部分的に基づいて、前記第１の通信デバイス及び前記第２の通信デバイスの間で、前記データに関する同期衝突を検出することと；
前記割当時刻より前の時刻である専用時刻に前記データの同期を可能にするために、前記データに関連するコンテンツのフェッチを求める要求を前記第１の通信デバイスに提供可能にすることと；
を行わせるように構成される、システム。
【請求項２８】
前記第１コンピュータプログラムコードは更に、前記第１プロセッサに実行されると、前記クラウドネットワークデバイスに、
前記第２の通信デバイスに前記同期衝突を警告する作成メッセージを前記第２の通信デバイスに送信可能にすること
を行わせるように構成される、請求項２７に記載のシステム。
【請求項２９】
前記第２の通信デバイスは、少なくとも１つの第２プロセッサと、第２コンピュータプログラムコードを含む少なくとも１つの第２メモリを備え、前記第２コンピュータプログラムコードは、前記少なくとも１つの第２プロセッサに実行されると、前記第２の通信デバイスに少なくとも次のこと：
作成メッセージであって、同期前の所定時間の間、衝突不在メッセージを受信するために、前記第２の通信デバイスに待機することを指示する情報を含む、前記作成メッセージを受信することに応じて、前記割当時刻での前記データの同期を起動する前に所定時間待機することと；
前記クラウドネットワークデバイスが前記割当時刻に前記データを同期できるようにするために、衝突不在メッセージの受信に応じて、前記データに関連する情報を前記クラウドネットワークデバイスに提供可能にすること
を行わせるように構成される、請求項２７又は２８に記載のシステム。
【請求項３０】
前記第１の通信デバイスは、少なくとも１つの第３プロセッサと、第３コンピュータプログラムコードを含む少なくとも１つの第３メモリを備え、前記第３コンピュータプログラムコードは、前記少なくとも１つの第３プロセッサに実行されると、前記第１の通信デバイスに少なくとも次のこと：
フェッチされたコンテンツ、及び前記データを前記専用時刻に同期することを特定する標示を送信可能にすること
を行わせるように構成される、ただし、
前記クラウドネットワークデバイスは、第１の通信デバイスから、前記フェッチされたコンテンツ及び前記標示を受信することに応じて、前記専用時刻に前記データを同期する、請求項２７から２９のいずれかに記載のシステム。
【請求項３１】
前記クラウドネットワークデバイスは、前記第１の通信デバイスから、前記フェッチされたコンテンツ、及び前記データを前記専用時刻に同期することを特定する標示を受信することに応じて、前記専用時刻に前記データを同期する、請求項３０に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の例示的実施形態は、一般的には無線通信技術に関し、特に、同期衝突を解決するクラウドサービス管理のための方法、装置、及びコンピュータプログラムに関する。
【背景】
【０００２】
現在の通信技術は有線及び無線ネットワークの著しい拡大をもたらしてきた。コンピュータネットワークやテレビジョンネットワーク、電話ネットワークは、需要に支えられて、かつてないほどの技術的拡大を経験している。無線及び移動ネットワーク技術は需要に応える一方、情報の伝送の柔軟性や瞬時性を提供してきている。
【０００３】
現在及び将来のネットワーク技術は情報の伝送を容易にすることやユーザの利便性を向上することを続けるだろう。電子通信機器がユビキタス性を有するようになってきたことから、年齢や教育レベルに関わらず、全ての人々が、他の人々と通信するために電子機器を利用しており、また、サービスを受取ったり、情報やメディア等のコンテンツをシェアしたりするために、電子機器を利用している。情報転送をさらに容易にすることが求められている領域の1つは、移動端末のユーザにサービスを届けることに関するものである。こうしたサービスは、ユーザが所望している特定のメディアや通信アプリケーションであって、例えば、音楽プレーヤーやゲームプレーヤー、電子書籍、ショートメッセージ、電子メール、コンテンツ共有等のような形態が在りうる。こうしたサービスが複数ユーザのデータをサポートするクラウドサービスシステムによって提供されることもある。
【０００４】
クラウド・コンピューティングは、インターネットなどのネットワーク接続を介して共有リソースがデバイスに提供されることを可能にする。例えばクラウド・コンピューティングは、例として、計算、ソフトウェア・アプリケーション、データ・アクセス、ロケーション、コマース、またはストレージ・サービスなどを提供することができる。これらサービスのエンド・ユーザは、サービスを配信するクラウド・コンピューティング・システムの物理的な位置についても構成についても認識する必要がない場合もある。エンド・ユーザによっては、セルラーネットワークまたはWLAN（Wireless Local Area Network：無線ローカル・エリア・ネットワーク）等を介して、クラウドコンピューティングサービスに無線アクセスすることさえ可能である。
【０００５】
現存するクラウドコンピューティングサービスは、ネットワークリソースが瞬時決定よりも効率的に使用され、より長い時間間隔で分配されるような（データレートや消費電力等の観点からの）よりよい適合条件が利用可能になるまで、特定のタスクを中断して別のタスクを優先させることができる。一方、タスク同期の遅延又は延期によりクラウドコンピューティングサービスで衝突が起こるかもしれないという事実のために、複数デバイス間の同期中で起こりうる同期衝突を解決するプロトコルが必要となっている。
【摘要】
【０００６】
したがって、クラウドネットワークデバイスによって管理されている複数のデバイスの同期衝突を効率的で確実な方法で解決するプロトコルを提供する方法や装置、コンピュータプログラム製品が提供される。
【０００７】
ある例示的実施形態は、クラウドサービスによって管理されている複数のデバイスの間での同期衝突を最小にするような方法を、次のプロトコルを適用することで提供できる。
【０００８】
第1の通信デバイス（例えば、デバイスA）は、フラグ（例えば、メッセージ）であって、この時点では実際に同期されないが同期されるべきデータ（例えば、文書や画像等のメディアコンテンツ等）の存在を示し、そのデータが未来のある時刻に同期されることをクラウドネットワークデバイスに通知するフラグをクラウドネットワークデバイスに送信してもよい。第2の通信デバイス（例えば、デバイスB）がクラウドネットワークデバイスにおけるこの同一データ（例えば、同一文書等）を変更又はアクセスしたい場合、第2の通信デバイスは、このデータを変更又はアクセスしたいことを示すメッセージをクラウドネットワークデバイスに送信してもよい。   これに関して、クラウドネットワークデバイスは、第2の通信デバイス（例えば、デバイスB）に同期衝突を警告するメッセージを第2の通信デバイスに送信してもよく、及び／又は第1の通信デバイスからデータを高速フェッチするメッセージを第1の通信デバイスに送信してもよい。第1の通信デバイスがこのデータを高速フェッチすると決定した場合、第1の通信デバイスは、当初予定していた、未来の同期のためにクラウドネットワークデバイスにデータを提供する予定時刻よりも前の時刻に、データをクラウドネットワークデバイスに提供してもよい。
【０００９】
一方、これとは反対のシナリオも存在する。例えば、第2の通信デバイス（例えば、デバイスB）がクラウドネットワークデバイスのデータを変更したい場合、クラウドネットワークデバイスは、データの変更が生じたことを示すフラグ（例えば、メッセージ）を第1の通信デバイス（例えば、デバイスA）に送信してもよい。これに関して、第1の通信デバイス（例えば、デバイスA）は、それに続いてデータ（例えば、同一文書）をフェッチしてもよい。あるいは、第1の通信デバイスのユーザが、クラウドネットワークデバイスに格納された対応データ（例えば、同一文書等）を変更したい場合、第1の通信デバイスがそのフェッチされたデータをクラウドネットワークデバイスに提供してもよい。また例えば、クラウドネットワークデバイスによって格納又は管理されるデータの同期に緊急性がある場合、第1の通信デバイスが要求によりデータをフェッチしてもよい。
【００１０】
これに関して、ある例示的実施形態は、複数のデバイスと1つ（又は複数）のクラウドネットワークデバイスで実行するアプリケーション間の同期が遅れる場合に衝突を解決できる。加えて、ある例示的実施形態は、1つ又は複数のネットワークへの接続を最適化する解決方法を利用して、同期を延期することもできる。この最適化は、例えば、ネットワーク接続の利用可能性と通信デバイスの固有特性に基づいてもよい。
【００１１】
ある例示的実施形態において、複数のデバイスを1つのクラウドデバイスに同期させるとき、同期衝突を解決するプロトコルを提供する方法が提供される。この方法は、未来指定時刻又は未来不定時刻に同期されるべきデータを特定する標示を第1の通信デバイスから受信することを含んでもよい。この方法は更に、前記未来指定時刻より前の割当時刻にデータを同期するために、第2の通信デバイスからメッセージを受信することを含んでもよい。この方法は更に、前記標示及び前記メッセージの情報の評価に部分的に基づいて、前記第1の通信デバイス及び前記第2の通信デバイスの間で、前記データに関する同期衝突を検出することを含んでもよい。この方法はまた、前記割当時刻より前の専用時刻に前記データの同期を可能にするために、前記データに関連するコンテンツのフェッチを求める要求を前記第1の通信デバイスに提供可能にすることを含んでもよい。
【００１２】
別の例示的実施形態において、複数のデバイスを1つのクラウドデバイスに同期させるとき、同期衝突を解決するプロトコルを提供する装置が提供される。この装置はプロセッサとコンピュータプログラムコードを含むメモリを備えてもよい。このメモリ及びコンピュータプログラムコードは、前記プロセッサを用いて前記装置に少なくとも、未来指定時刻又は未来不定時刻に同期されるべきデータを特定する標示を第1の通信デバイスから受信させるように構成される。このメモリ及びコンピュータプログラムコードは更に、前記プロセッサを用いて前記装置に少なくとも、前記未来指定時刻より前の割当時刻にデータを同期するために、第2の通信デバイスからメッセージを受信させるように構成される。このメモリ及びコンピュータプログラムコードは更に、前記プロセッサを用いて前記装置に少なくとも、前記標示及び前記メッセージの情報の評価に部分的に基づいて、前記第1の通信デバイス及び前記第2の通信デバイスの間で、前記データに関する同期衝突を検出させるように構成される。このメモリ及びコンピュータプログラムコードは更に、前記プロセッサを用いて前記装置に少なくとも、前記割当時刻より前の専用時刻に前記データの同期を可能にするために、前記データに関連するコンテンツのフェッチを求める要求を前記第1の通信デバイスに提供可能にすることを行わせるように構成される。
【００１３】
別の例示的実施形態において、複数のデバイスを1つのクラウドデバイスに同期させるとき、同期衝突を解決するプロトコルを提供するコンピュータプログラム製品が提供される。このコンピュータプログラム製品は、コンピュータ可読プログラムコード部分を格納する少なくとも1つのコンピュータ可読記憶媒体を有する。このコンピュータ実行可能プログラムコード命令は、未来指定時刻又は未来不定時刻に同期されるべきデータを特定する標示を第1の通信デバイスから受信するように構成される、プログラムコード命令を含んでもよい。このプログラムコード命令はまた、前記未来指定時刻より前の割当時刻にデータを同期するために、第2の通信デバイスからメッセージを受信するように構成されてもよい。このプログラムコード命令はまた、前記標示及び前記メッセージの情報の評価に部分的に基づいて、前記第1の通信デバイス及び前記第2の通信デバイスの間で、前記データに関する同期衝突を検出するように構成されてもよい。このプログラムコード命令はまた、前記割当時刻より前の専用時刻に前記データの同期を可能にするために、前記データに関連するコンテンツのフェッチを求める要求を前記第1の通信デバイスに提供可能にするように構成されてもよい。
【００１４】
別の例示的実施形態において、複数のデバイスを1つのクラウドデバイスに同期させるとき、同期衝突を解決するプロトコルを提供する装置が提供される。この装置は、未来指定時刻又は未来不定時刻に同期されるべきデータを特定する標示を第1の通信デバイスから受信する手段を備えてもよい。この装置はまた、前記未来指定時刻より前の割当時刻にデータを同期するために、第2の通信デバイスからメッセージを受信する手段を備えてもよい。この装置はまた、前記標示及び前記メッセージの情報の評価に部分的に基づいて、前記第1の通信デバイス及び前記第2の通信デバイスの間で、前記データに関する同期衝突を検出する手段を備えてもよい。この装置はまた、前記割当時刻より前の専用時刻に前記データの同期を可能にするために、前記データに関連するコンテンツのフェッチを求める要求を前記第1の通信デバイスに提供可能にする手段を備えてもよい。
【００１５】
別の例示的実施形態において、複数のデバイスを1つのクラウドデバイスに同期させるとき、同期衝突を解決するプロトコルを提供するシステムが提供される。このシステムは、クラウドネットワークデバイス及び複数の通信デバイスを備えてもよい。クラウドネットワークデバイスは、少なくとも1つの第1プロセッサと第1コンピュータプログラムコードを格納する少なくとも1つの第1メモリを有する。この少なくとも1つの第1メモリ及び第1コンピュータプログラムコードは、前記少なくとも1つの第1プロセッサを用いて前記クラウドネットワークデバイスに少なくとも次の動作を行わせるように構成される。この動作は、未来指定時刻又は未来不定時刻に同期されるべきデータを特定する標示をデバイスの第1の通信デバイスから受信することを含む。この第1メモリ及び第1コンピュータプログラムコードは更に、前記第1プロセッサを用いて前記装置に少なくとも、前記未来指定時刻より前の割当時刻にデータを同期するために、デバイスの第2の通信デバイスからメッセージを受信させるように構成される。この第1メモリ及び第1コンピュータプログラムコードは更に、前記第1プロセッサを用いて前記装置に少なくとも、前記標示及び前記メッセージの情報の評価に部分的に基づいて、前記第1の通信デバイス及び前記第2の通信デバイスの間で、前記データに関する同期衝突を検出させるように構成される。この第1メモリ及び第1コンピュータプログラムコードは更に、前記第1プロセッサを用いて前記装置に少なくとも、前記割当時刻より前の専用時刻に前記データの同期を可能にするために、前記データに関連するコンテンツのフェッチを求める要求を前記第1の通信デバイスに提供可能にすることを行わせるように構成される。
【図面の簡単な説明】
【００１６】
本発明の幾つかの例示的実施形態を一般的に説明してきたが、ここで添付の図面を参照する。なお図面のスケールは正確であるとは限らない。
【図１】本発明の例示的実施形態に従うシステムの略ブロック図である。
【図２】本発明の例示的実施形態に従う装置の略ブロック図である。
【図３】本発明の例示的実施形態に従うネットワークデバイスの略ブロック図である。
【図４】本発明の例示的実施形態に従うシステムの略ブロック図である。
【図５】本発明の例示的実施形態に従う通信デバイス間の同期衝突を解決する信号フロー図である。
【図６】本発明の例示的実施形態に従う通信デバイス間の同期衝突を解決するフローチャートを描いている。
【詳細説明】
【００１７】
以下、添付図面を参照して本発明の例示的実施形態をより詳細に説明する。なお本発明の全ての実施形態が紹介されるわけではない。実際のところ、本発明の多様な実施形態が、様々な形で具現化されることができる。本明細書で説明される実施形態に限定されると解釈されるべきではない。
【００１８】
本明細書および図面を通じて同様の符号は同様の要素を表す。本明細書で使用されるとき、"データ"や"コンテンツ"、"情報"又は同様の用語は、本発明の実施形態において送信されたり受信されたり、保存されたりしうるデータを言い表すために互いに代替しうるように使用される。さらに、本明細書で使用される"例示（exemplary）"という用語は、何らかの定性的評価を表すものでなく、単に例であることを示すに過ぎない。このため、このような用語が本発明の実施形態の範囲や技術思想を制限するものと考えてはならない。
【００１９】
また、本明細書において「回路（circuitry）」という用語は、（ａ）ハードウェアのみにより実装される回路（例えばアナログ回路及び／又はデジタル回路による実装）や、（ｂ）1つ以上のコンピュータ可読メモリに記録されるソフトウェア及び／又はファームウェアと回路との組合せであって、本明細書に記載の1つ以上の機能を協働して装置に実行させる組合せ、（ｃ）例えば1つ以上のマイクロプロセッサや、1つ以上のマイクロプロセッサの部分であるような、1つ以上の回路であって、動作するために、（たとえ物理的には存在しないものであっても）ソフトウェアまたはファームウェアを必要とするような回路、を言い表す。「回路（circuitry）」のこの定義は、本明細書及び特許請求の範囲の全体にわたって適用されるべきものである。さらなる例として、本明細書で使用されるとき、「回路（circuitry）」という用語は、1つ以上のプロセッサ及び／又はこれらの1つ以上の部分と、これらに付随するソフトウェア及び／又はファームウェアを含む実装を含む。更なる例として、本明細書で使用されるとき、「回路（circuitry）」との用語は、例えば、携帯電話のためのベースバンド統合回路やアプリケーションプロセッサ統合回路を意味することができ、また、サーバやセルラーネットワークデバイス、その他のネットワークデバイス、その他のコンピュータデバイスの中の、同様の集積回路を意味することができる。
【００２０】
本明細書において"コンピュータ可読記憶媒体"という用語は、一時的な記憶媒体ではない物理的又は触知可能な記憶媒体を言い表し、例えば揮発性又は非揮発性の記憶デバイスであり、電磁信号を言い表す"コンピュータ可読送信媒体"からは区別されうるものである。
【００２１】
ある例示的実施形態は、複数のデバイスの代替であるクラウドデバイスにおいても、データ同期時における同期衝突を解決できる。これに関して、第1の通信デバイスは、未来のある指定時刻に同期されるべきデータの存在を示すフラグをクラウドネットワークデバイスに送信してもよい。第2の通信デバイスがクラウドネットワークデバイスのデータを変更又はアクセスしようとする実施例では、クラウドネットワークデバイスは、第2のデバイスに衝突に関して警告してもよく、第1の通信デバイスからデータを高速フェッチしてもよい。反対に、第2の通信デバイスがクラウドネットワークデバイスのデータを変更する実施例では、クラウドネットワークデバイスは、対応するデータの変更が生じたことを示すフラグを第1の通信デバイスに送信してもよい。これに関して、第1の通信デバイスは、それに続いてデータをフェッチしてもよい。あるいは、第1の通信デバイスのユーザがデータを変更したいか、要求時にデータをフェッチする実施例において、第1の通信デバイスがそのデータを取出してもよい。
【００２２】
図1は、システムの概要図であって、 例示的な通信環境において移動端末10のようなデバイスが描かれている。図1に示されるように、本発明の例示的実施形態に従うシステムの実施形態は、例えば移動端末10のような第1の通信デバイスと、第2の通信デバイス20を含んでいてもよい。これらの通信デバイスは、ネットワーク30を介して互いに通信できる。場合によっては、本発明の実施形態は更に、追加の通信デバイスを1つまたは複数含んでもよい。こうしたデバイスの1つは、 第3の通信デバイス25として図1に描かれている。 なお、本発明の実施形態を採用するシステムの全てが、ここで図示されたり説明されたりするデバイスの全てを含んでいるわけではない。移動端末10や、第2及び第3の通信デバイス20・25は、本明細書等において例示のために図示され説明されうるが、その他のタイプのデバイスも、本発明の実施形態を容易に利用できる。こうしたデバイスには、携帯情報端末（PDA）やポケットベル、携帯型テレビ、携帯電話機、ゲーム機器、ラップトップコンピュータ、カメラ、ビデオレコーダー、 音楽／ビデオプレーヤー、ラジオ、全地球測位システム（GPS）デバイス、 Bluetooth（登録商標）ヘッドセット、 USBデバイス、電子書籍（e-book）、タブレット（タブレットコンピュータデバイス等）又はそれらの組合せが含まれてもよい。また、その他のタイプの音声およびテキスト通信システムも、本発明の実施形態を容易に利用できる。さらに、サーバやネットワーク要素、パーソナルコンピュータのような移動可能ではないデバイスも本発明の実施形態を容易に利用できる。
【００２３】
ネットワーク30は（例えば、第2及び第3の通信デバイス20・25のような）多種多様なノードやデバイス、機能の集まりを含んでもよい。また、これらのノードやデバイス、機能は、対応する有線及び／又は無線インタフェースを介して互いに通信するものであってもよい。したがって、図1に描かれたものはシステムの特定の要素の大まかな様子の例であると理解されるべきであり、システムやネットワーク30の全てを含めた図や詳細な図であると理解されるべきではない。必ずしも必要であるというわけではないが、実施形態によっては、ネットワーク30は、第1世代（1G）、第2世代（2G）、2.5G、第3世代（3G）、3.5G、3.9G、第4世代（4G）の移動通信プロトコルや、ロング・ターム・エボリューション（LTE）やLTE-Advanced（LTE-A）、及び／又は同様のものの1つ又は複数のものに従う通信をサポートする能力を有してもよい。実施形態によっては、ネットワーク30は、ポイント・ツー・ポイント（P2P）ネットワークであってもよい。
【００２４】
移動端末10や第2及び第3の通信デバイス20・25のような1つ又は複数の通信端末は、ネットワーク30を介して互いに通信していてもよく、また、これらの各々は、ベースサイトとの間で信号を送受信するための1つ又は複数のアンテナを備えていてもよい。ベースサイトとは、例えば、1つ又は複数のセルラーネットワーク又は携帯ネットワークの一部分である基地局や、データネットワークに組み合わされるアクセスポイントである。データネットワークには、ローカル・エリア・ネットワーク（LAN）やメトロポリタン・エリア・ネットワーク（MAN）、インターネットなどの広域ネットワーク（WAN）などがある。同様に、（例えば、パーソナルコンピュータやサーバコンピュータ等の）処理要素のような他のデバイスが、ネットワーク30を介して移動端末10や第2及び第3の通信デバイス20・25に接続されてもよい。移動端末10や、第2及び第3の通信デバイス20・25（及び／又はその他のデバイス）を、ネットワーク30に直接又は間接に接続することにより、移動端末10や、第2及び第3の通信デバイス20・25は、互いに及びその他のデバイスと通信可能にされてもよい。こうした通信は、例えば、様々な通信プロトコルに従ったものであることができ、そのような通信プロトコルには、ハイパーテキスト・トランスファー・プロトコル（HTTP）のようなものが含まれる。通信可能にされることによって、移動端末10や第2及び第3の通信デバイス20・25はそれぞれ、様々な通信機能やその他の機能を実行できるようになる。
【００２５】
さらに、図1には示されていないが、移動端末10（ユーザ装置等）や第2及び第3の通信デバイス20・25は、例えば、無線周波数（RF）、近距離通信（NFC）、Bluetooth（登録商標）、赤外線（IR）など、様々な有線又は無線通信技術に従って通信してもよく、その通信は、ローカル・エリア・ネットワーク（LAN）や無線LAN（WLAN）、WiMAX、WiFi、超広帯域線（UWB）、Wibree、及び／又は同様の技術を含んでもよい。このように、移動端末10や第２・第３の通信デバイス20・25がネットワーク30と通信可能にされるには、多種多様なアクセス機構のどれを用いてもよい。例えば、モバイルアクセス機構には、WCDMA（登録商標）やCDMA2000、GSM（登録商標）、GPRSがサポートされてもよく、また、WLANやWiMAXのような無線アクセス機構がサポートされてもよく、DSLやケーブルモデム、イーサネット（登録商標）のような有線アクセス機構がサポートされてもよい。
【００２６】
ある例示的実施形態において、第1の通信デバイス（例えば移動端末10）は携帯電話であってもよく、また別のデバイスであってもよい。この別のデバイスとは、例えばPDAや携帯コンピュータ機器、カメラ、ビデオレコーダー、音楽／ビデオプレーヤー、測位デバイス、ゲーム機器、テレビ機器、無線機器、その他同様の多種多様なデバイスやこれらの組合せである。第2及び第3の通信デバイス20・25は、移動型又は固定型の通信デバイスであってもよい。しかし、実施例によっては、第2及び第3の通信デバイス20・25は、ネットワークデバイスやサーバ、リモートコンピュータでもよく、例えば、パーソナルコンピュータ（PC）やラップトップコンピュータのような端末であってもよい。例示的実施形態によっては、第2の通信デバイス20及び／又は第3の通信デバイス25が、複数の通信デバイス（例えば、移動端末10）の間でのリソースやデータ等の共有に関連するクラウドサービスを提供するクラウドコンピューティングデバイスであってもよい。
【００２７】
ある例示的実施形態において、ネットワーク30は、スマートスペースを形成するように配されるアドホックネットワーク又は分散ネットワークであってもよい。したがって、デバイスがネットワーク30に出たり入ったりするため、ネットワーク30のデバイスは、こうしたデバイス又はノードの数の増減を考慮するために、他のデバイスの入出に基づいて動作を調節できてもよい。
【００２８】
ある例示的実施形態において、移動端末10や第2及び第3の通信デバイス20・25は、本発明の実施形態を使用できる（例えば、図2の装置のような）装置を用いてもよい。
【００２９】
図2には、本発明の例示的実施形態に従う、プレイリストの中の1又は複数個のメディアコンテンツを共有する装置の略ブロック図が示されている。本発明のある例示的実施形態が図2を参照してこれから説明されるが、図2には装置50の特定の要素が示されている。 図2の装置50は、例えば移動端末10（及び／又は第2・第3の通信デバイス20・25）に用いられてもよい。あるいは、装置50がネットワーク30のネットワークデバイスにおいて具現化されてもよい。ただし、装置50は他にも様々なデバイスとして具現化されてもよく、（例えば、前述で列挙したデバイスの何れかのような）移動型でも固定型でもよい。場合によっては、実施形態がデバイスの組み合わせで用いられてもよい。結果として、本発明の実施形態は、（例えば、移動端末10のような）単一のデバイスで完全に具現化されてもよく、（例えば、P2Pネットワーク内の1つ又は複数のデバイスのような）分散形態にある複数のデバイスによって具現化されてもよく、クライアント／サーバ関係にある複数のデバイスによって具現化されてもよい。さらに、以下に記述されるデバイスや要素は必須ではなく、実施形態によっては、これらの一部が省略されてもよい。
【００３０】
図2を参照すると、装置50は、プロセッサ70やユーザインタフェース67、通信インタフェース74 、メモリデバイス76、ディスプレイ85、同期モジュール78を具備するものでもよく、これらの要素と通信するものでもよい。メモリデバイス76は、例えば、揮発性及び／又は非揮発性メモリを含んでもよい。メモリデバイス76は、ゲートを具備する（例えば、コンピュータ可読記憶媒体のような）電子記憶媒体であってもよい。ゲートは、（例えば、プロセッサ70のような計算デバイス等の）機械によって呼び出されうるデータ（例えばビット）を格納するように構成される。ある例示的実施形態において、メモリデバイス76は、非一時的なものではない有形メモリデバイスであってもよい。本発明の例示的実施形態に従う様々な機能を装置が実行できるようにするために、メモリデバイス76は、情報やデータ、ファイル、アプリケーション、命令その他同様のものを格納するように構成されてもよい。例えば、メモリデバイス76は、プロセッサ72が処理する入力データをバッファするように構成されることもある。あるいは、または加えて、メモリデバイス76は、プロセッサ70によって実行される命令を格納するように構成されることもある。さらに別の場合では、メモリデバイス76は、情報及び／又はメディアコンテンツ（例えば、音楽等のオーディオデータや写真、音楽を含むビデオ等）を格納する複数のデータベースの1つであってもよい。
【００３１】
プロセッサ70は非常に多くの方法で具現化できる。例えば、プロセッサ70は、1つ又は複数の様々な処理手段として具現化されてもよい。こうした処理手段には例えば、コプロセッサやマイクロプロセッサ、コントローラ、デジタルシグナルプロセッサ（DSP）、DSP搭載型又は非搭載型の処理回路、その他様々な処理デバイスが含まれる。また、こうした処理デバイスには、例えば、ASIC（application specific integrated circuit）やFPGA（field programmable gate array）、マイクロコントローラーユニット（MCU）、ハードウェアアクセラレータ、特定目的用コンピュータチップ、その他同様のものが存在する。ある例示的実施形態において、プロセッサ70は、メモリデバイス76に格納された命令を実行するように構成されてもよい。あるいは、プロセッサ70は、自身がアクセス可能な命令を実行するように構成されてもよい。このように、ハードウェアにより構成されるかソフトウェアによる手法により構成されるか、またはこれらの組合せにより構成されるかに関わらず、プロセッサ70は、本発明の実施形態に従う処理を実行する能力を有する（例えば、物理的に回路の中に具現化された）要素を表す。例えば、プロセッサ70がASICやFPGAのようなものにより具現化されるとき、プロセッサ70は、本明細書により説明される処理を遂行するために特別に構成されたハードウェアと考えられうる。または、別の実施形態では、プロセッサ70はソフトウェア命令を実行する実行機器として具現化される。そのような命令は、実行されることにより、プロセッサ70を、本明細書に記載されるアルゴリズム又は処理を遂行するように構成しうる。ただし場合によっては、プロセッサ70は、本明細書に記載されるアルゴリズム及び処理を実行する命令でプロセッサ70を更に構成することによって本発明の実施形態を用いるように構成される（例えば、移動端末やネットワークデバイスのような）特定の装置のプロセッサであってもよい。プロセッサ70はとりわけ、その動作をサポートするクロックや算術演算ユニット（ALU）、ロジックゲートを備える。
【００３２】
ある例示的実施形態において、プロセッサ70は、ブラウザやWebブラウザのような通信プログラムを動作させるように構成されてもよい。これに関して、通信プログラムは、例えば、無線アプリケーションプロトコル（WAP）に従って、装置50がWebコンテンツを送受信できるようにしてもよい。こうしたWebコンテンツには、例えば位置ベースのコンテンツやその他の適切なコンテンツがある。プロセッサ70はディスプレイ85とも通信し、あらゆる適切な情報やデータ、コンテンツ（例えば、メディアコンテンツ）等をディスプレイに表示させてもよい。
【００３３】
それと同時に、通信インタフェース74は、ネットワークや、装置50と通信可能なデバイスやモジュールとの間でデータを受信及び／又は送信するように構成されたデバイス又は回路のような、如何なる手段であってもよい。こうした手段は、ハードウェアやコンピュータプログラム製品、ハードウェアとソフトウェアの組合せの何れかで具現化される。これに関して、通信インタフェース74は、例えば、アンテナ（又は複数のアンテナ）や、無線通信ネットワーク（例えばネットワーク30）との通信を可能にするサポートハードウェア及び／又はソフトウェアを備えていてもよい。固定設置環境では、通信インタフェース74は、有線通信をサポートしてもよい。したがって、通信インタフェース74は、ケーブルTVやデジタル加入者線（DSL）、USB（ユニバーサル・シリアル・バス）、イーサネット（登録商標）又はその他の機構をサポートする通信モデムやその他のハードウェア又はソフトウェアを備えていてもよい。
【００３４】
ユーザインタフェース67は、ユーザインタフェース67でなされたユーザ入力を示す情報を受取る、及び／又は聴覚的、視覚的、機械的又はその他の出力をユーザに提供するために、プロセッサ70と通信できてもよい。ユーザインタフェース67は、例えば、キーボードやマウス、ジョイスティック、ディスプレイ、タッチスクリーン、マイクロフォン、スピーカー、その他の入力又は出力機構のいずれか1つ以上を有していてもよい。装置がサーバやその他のネットワークデバイスとして具現化される例示的実施形態において、ユーザインタフェース67は限定された機能しか有していなかったり、装置から離れて設けられていたり、又は省略されていたりしてもよい。プロセッサ70は、例えば、スピーカーやリンガ、ディスプレイ等のユーザインタフェースの1つ又は複数の要素に関する少なくとも一部の機能を制御するように構成されるユーザインタフェース回路を備えていてもよい。プロセッサ70及び／又はプロセッサ70を含むユーザインタフェース回路は、コンピュータプログラム命令を通じて、ユーザインタフェースの1つ以上の要素の1つ以上の機能を制御するように構成されてもよい。こうしたコンピュータプログラム命令は、（例えば、メモリデバイス76のような）プロセッサ70がアクセス可能なメモリに格納されるソフトウェア及び／又はファームウェア等である。
【００３５】
ある例示的実施形態において、プロセッサ70は、同期モジュールを備えるように、あるいは、制御するように具現化されてもよい。同期モジュール78は、ソフトウェアに従って動作する、あるいは、ハードウェア又はハードウェアとソフトウェアの組合せで具現化されるデバイス又は回路のような、如何なる手段であってもよい。こうした手段は、例えば、ソフトウェア制御で処理するプロセッサ70や、本明細書で説明される処理を実行するように特別に構成されたASICやFPGAとして具現化されたプロセッサ70、又はそれらの組合せであってもよく、以下に説明される同期モジュール78に必要な機能を実行するようにデバイス又は回路を構成する。したがって、ソフトウェアが用いられる実施例において、ソフトウェアを実行するデバイス又は回路（例えば、ある実施例ではプロセッサ70）は、そのような手段に関連する構成を形成する。
【００３６】
ある例示的実施形態において、同期モジュール78は、装置50のために、クラウドネットワークデバイス（例えば、図3のネットワークデバイス90） に格納されたデータが未来指定時刻（例えば、時刻T2）にクラウドネットワークデバイスによって同期されることを示すメッセージをクラウドネットワークデバイスに提供してもよい。こうしたデータは、例えば、文書やメディアコンテンツ、計算結果、その他任意適当なデータである。クラウドネットワークデバイスがもう1つ別の装置50からメッセージを受信し、このメッセージが、クラウドネットワークデバイスが格納又は保持していたのと同一のデータを未来指定時刻（例えば、時刻T2）より前の特定の時刻（例えば、T1）に装置50が変更しようとすることを示す場合、クラウドネットワークデバイスは、この別の装置50に対して衝突（例えば、同期衝突）を警告するデータを含むメッセージを提供してもよい。
【００３７】
あるいは、又は加えて、衝突マネージャ97は、未来指定時刻にデータ同期を行いたいというメッセージを装置50に提供してもよい。このメッセージは、同期させるべきデータを高速フェッチする要求を示すデータを含み、未来指定時刻（例えば、T2）より前の時刻にクラウドネットワークデバイス（例えば、図3のネットワークデバイス90）にデータを提供してもよい。これに関して、最初に未来指定時刻（例えば、T2）でのデータ同期を要求した装置50は、データ同期のために、特定の時刻（例えば、時刻T0）にコンテンツをクラウドネットワークデバイスに提供することもできる。ここで、時刻T0は、未来指定時刻（例えば、T2）より前であり、更に装置50が同一データのアクセス又は変更しようとした時刻（例えば、T1）より前である（すなわち、T0 < T1 < T2である）。装置50が未来指定時刻（例えば、T2）より前の時刻（例えば、T0）にコンテンツの高速フェッチを行わないと決定する場合、装置50は、データ同期のために未来指定時刻（例えば、T2）にコンテンツをクラウドネットワークデバイスに提供すると決定してもよい。例えば、装置50は、未来指定時刻（例えば、T2）での通信に関して、ネットワークへのより確実な接続（例えば、3G等のセルラー接続とは対照的なWiFi接続）が利用可能である又は予定されていることを知っていてもよい。これについては以下で詳述する。
【００３８】
次に図3を参照する。図3には、ある例示的実施形態に従うネットワークデバイスのブロック図が示されている。図3に示されるように、サーバ等のネットワークデバイス90（本明細書ではクラウドネットワークデバイス90とも呼ばれる）は、プロセッサ94とメモリ96、ユーザ入力インタフェース95、通信インタフェース（複数でもよい）98、衝突マネージャ97を備えてもよい。メモリ96は揮発性メモリ及び／又は不揮発性メモリを含み、コンテンツやデータのようなものを格納しうる。メモリ96はクライアントアプリケーションや命令のようなものを格納してもよい。これらは、プロセッサ94に、クライアントネットワークデバイス90の様々な処理を実行させる。メモリ96は有形の非一時的デバイスであってもよい。
【００３９】
プロセッサ94は非常に多くの方法で具現化できる。例えば、プロセッサ94は、1つ又は複数の様々な処理手段として具現化されてもよい。こうした処理手段には例えば、コプロセッサやマイクロプロセッサ、コントローラ、DSP、DSP搭載型又は非搭載型の処理回路、その他様々な処理デバイスが含まれる。また、こうした処理デバイスには、例えば、ASICやFPGA、MCU、ハードウェアアクセラレータ、特定目的用コンピュータチップ、その他同様のものが存在する。ある例示的実施形態において、プロセッサ94は、メモリ96に格納された、あるいはプロセッサ94がアクセス可能な命令を実行するように構成されてもよい。このように、ハードウェアにより構成されるかソフトウェアによる手法により構成されるか、またはこれらの組合せにより構成されるかに関わらず、プロセッサ94は、本発明の実施形態に従う処理を実行する能力を有する（例えば、物理的に回路の中に具現化された）要素を表す。例えば、プロセッサ94がASICやFPGAのようなものにより具現化されるとき、プロセッサ94は、本明細書により説明される処理を遂行するために特別に構成されたハードウェアと考えられうる。または、別の実施例として、プロセッサ94がソフトウェア命令を実行する実行機器として具現化される場合、この命令は、実行されることにより、本明細書に記載されるアルゴリズム又は処理を遂行するようにプロセッサ94を具体的に構成してもよい。ただし場合によっては、プロセッサ94は、本明細書に記載されるアルゴリズム及び処理を実行する命令でプロセッサ94を更に構成することによって本発明の実施形態を用いるように構成される（例えば、移動端末やネットワークデバイスのような）特定の装置のプロセッサであってもよい。プロセッサ94はとりわけ、その動作をサポートするクロックや算術演算ユニット（ALU）、ロジックゲートを備える。
【００４０】
プロセッサ94は、通信インタフェース98や、データ、コンテンツ等を表示したり送受信したりする他の手段に接続されてもよい。ユーザ入力インタフェース95は、ネットワークエンティティがユーザからデータを受取れるようにする多数のデバイスの何れか備えていてもよい。こうしたデバイスには、例えばキーパッドやタッチディスプレイ、ジョイスティック、又は他の入力デバイスが存在する。これに関して、プロセッサ94は、ユーザ入力インタフェースの1つ又は複数の要素の少なくとも一部の機能を制御するように構成される、ユーザインタフェース回路を備えていてもよい。プロセッサ及び／又はプロセッサのユーザインタフェース回路は、コンピュータプログラム命令を通じて、ユーザインタフェースの1つ又は複数の要素の1つ又は複数の機能を制御するように構成されてもよい。こうしたコンピュータプログラム命令は、プロセッサがアクセス可能な（例えば、揮発性メモリや不揮発性メモリのような）メモリに格納される、ソフトウェア及び／又はファームウェア等である。
【００４１】
ある例示的実施形態において、プロセッサ94は、衝突マネージャ97を備えるように、あるいは制御するように具現化されてもよい。衝突マネージャ97は、ソフトウェアに従って処理する、あるいは、ハードウェア又はハードウェアとソフトウェアの組合せで具現化されるデバイス又は回路のような、如何なる手段であってもよい。こうした手段は、例えば、ソフトウェア制御で処理するプロセッサ94や、本明細書で説明される処理を実行するように特別に構成されたASICやFPGAとして具現化されたプロセッサ94、又はそれらの組合せであってもよく、以下に説明される衝突マネージャ97に必要な機能を実行するようにデバイス又は回路を構成する。したがって、ソフトウェアが用いられる実施例において、ソフトウェアを実行するデバイス又は回路（例えば、ある実施例ではプロセッサ94）は、そのような手段に関連する構成を形成する。
【００４２】
衝突マネージャ97は、通信デバイス（例えば、装置50）の間でのデータ同期衝突を管理してもよい。例えば、衝突マネージャ97は、通信デバイスのために、クラウドネットワークデバイスによって格納又は保持されているデータの同期に衝突が在りうると決定する場合、1つ又は複数の通信デバイスに同期衝突を通知してもよい。
【００４３】
クラウドネットワークデバイス90が第1の通信デバイス（例えば、第1の装置50）から、未来指定時刻（例えば、T2）に同期されるべきデータの存在を示す標示又はメッセージ（例えば、フラグ）を受信し、クラウドネットワークデバイス90は第2の通信デバイスから別のメッセージを受信する場合、衝突マネージャ97は、データ同期に衝突が在りうることを決定してもよい。第2の通信デバイス（例えば、第2の装置50）から受信されたメッセージは、未来指定時刻（例えば、T2）より前の時刻（例えば、T1）に（例えば、T1 < T2）同一データにアクセスする又は同一データを変更することを要求するデータを含んでもよい。あるいは、同期する正確な時刻T2が既知でなくてもよく、第1の通信デバイスから示されなくてもよい。その代わり、第1の通信デバイスは、データが同期される時刻を示さずに、今後同期されるべきデータの存在を示すこともできる。この場合、第2の装置が即座に又は未来時刻T1に、同一データにアクセスする又は同一データを変更することを望むとき、第2の装置はT1 < T2であると解釈してもよい。
【００４４】
これに関して、衝突マネージャ97は、検出された衝突を示すメッセージを第2の通信デバイス（例えば、第2の装置50）に送信してもよい。衝突マネージャ97が第2の通信デバイスに送信したメッセージは、第2の通信デバイスに、データにアクセスする又はデータを変更する前に衝突解決メッセージの受信を待機するよう要求してもよい。衝突マネージャ97は、第1の通信デバイスに高速フェッチ要求を送信してもよい。この高速フェッチ要求は、データ同期のために第1の通信デバイスに対して、未来指定時刻（例えば、T2）より前の時刻（例えば、T0。ここで、T0 < T1である。）にコンテンツをフェッチして衝突マネージャ97に提供することを要求するものである。代替の例示的実施形態では、高速フェッチを実行する目的で第1の通信デバイスと第2の通信デバイスとの間に直接通信経路が用意されてもよい。これに関して、例えば、クラウドネットワークデバイスの衝突マネージャ97と通信せずに、第1の通信デバイスと第2の通信デバイスとの間で直接同期が行われてもよい。例示的実施形態によっては、第1の通信デバイス及び第2の通信デバイスが物理的に接近している場合、この第1及び第2の通信デバイスは通信経路を介して直接通信してもよい。別の例示的実施形態では、第1の通信デバイス及び第2の通信デバイスが必ずしも物理的に接近していない場合であっても、この第1及び第2の通信デバイスは通信経路を介して直接通信してもよい。
【００４５】
高速フェッチ要求を（例えば、衝突マネージャ又は第2の通信デバイスから）受信することに応じて、第1の通信デバイス（例えば、第1の装置50）の同期モジュール78は、衝突マネージャ97がデータを同期できるように、未来指定時刻（例えば、T2）より前の時刻（例えば、T0であって、T0 < T1 < T2。）にコンテンツをフェッチして衝突マネージャ97に提供することを決定してもよい。あるいは、第1の通信デバイスの同期モジュール78はコンテンツを高速フェッチしないことを決定し、その代わり、未来指定時刻（例えば、T2）にクラウドネットワークデバイス90の衝突マネージャ97にコンテンツを提供することを決定してもよい。これについては以下で詳述する。同期モジュール78は、例えば、未来指定時刻（例えば、T2）より前の時刻（例えば、T0）でのネットワークのリンク品質が低いことや、同時刻でのネットワークコストが大きいことを同期モジュール78が決定する場合、あるいは別の何か適当な理由による場合、この未来指定時刻に同期用データを提供すると決定してもよい。あるいは、T1より後だがT2より前である別の時刻に、同期モジュール78が同期用データを提供すると決定してもよい。これは、例えば時刻T1より前に同期を完了するのが実現不可能である場合や、例えば通信デバイスのバッテリ電力が少なくバッテリ電力を節約しなくてはならない場合が想定される。
【００４６】
加えて、同期モジュール78は、未来指定時刻（例えば、T2）にネットワーク接続がより確実でコスト面でも小さい（例えば、ユーザがサービス対価を支払うセルラーネットワークに対して、無償WiFiネットワークを利用する）ことを知らされてもよい。これに関して、同期モジュール78は、当初の未来指定時刻（例えば、T2）に同期用コンテンツを衝突マネージャ97に提供すると決定してもよい。代替の例示的実施形態では、クラウドネットワークデバイス90の衝突マネージャ97が、高速フェッチ要求を第1の通信デバイスに送信しないと決定してもよい。これに関して、衝突マネージャ97は、時刻T1が現在時刻に近くて、第1の通信デバイスが時刻T1より前に同期を完了できない場合、高速フェッチ要求を第1の通信デバイスに送信しないと決定してもよい。
【００４７】
次に図4を参照する。図4には、ある例示的実施形態に従うシステムのブロック図が示されている。システム7は、通信デバイス161・163・165・167（例えば、装置50）とクラウドネットワークデバイス108（例えば、クラウドネットワークデバイス90）を含んでもよい。図4では、システム7が4つの通信デバイス161・163・165・167と1つのクラウドネットワークデバイス108を含むことが示されているが、本発明の精神及び範囲から逸脱しない限り、システム7があらゆる適切な数の通信デバイス161・163・165・167とクラウドネットワークデバイス108を含んでもよいことは注意しておくべきであろう
【００４８】
クラウドネットワークデバイス108は、通信デバイス161・163・165・167の2つ以上によって変更又はアクセスを要求されうるデータの同期衝突を解決してもよい。これについては以下で詳述する。
【００４９】
次に図5を参照する。図5には、ある例示的実施形態に従う通信デバイス間の同期衝突を解決するプロトコルの例示的方法に関する信号フロー図が示されている。処理500で、デバイスA（例えば、通信デバイス161）は、例えば時刻T2のような未来指定時刻に同期されるべきデータの存在を示すフラグ（例えば、メッセージ）をクラウドデバイス（例えば、クラウドネットワークデバイス108）に送信してもよい。例示であり限定ではないが、クラウドデバイスがデータのバージョンをメモリ（例えば、メモリ96）に格納し、時刻T2での同期を指定されたデータがそのデータの変更バージョンであってもよい。処理505で、データ同期の指定時刻T2を示すフラグの受信に応じて、クラウドデバイスは、そのフラグで同期を要求されたデータの同期に関連する同期衝突が現時点で不在であることを示すメッセージをデバイスAに送信してもよい。
【００５０】
処理510で、デバイスAは、同期用にクラウドデバイスに送られたコンテンツの読出し（例えば、メモリデバイス76等のメモリからコンテンツを読出すこと）の前に、最初に時刻T2まで待機すると決定してもよい。処理515で、クラウドデバイスは、時刻T2より前の時刻T1（例えば、T1 < T2）にクラウドデバイスに格納又は保持されるデータ（例えば、デバイスAが同期を要求したのと同一のデータ）の同期（例えば、更新／変更）の要求を示すメッセージをデバイスB（例えば、通信デバイス163）から受信してもよい。処理520で、デバイスBからの要求の受信に応じて、クラウドデバイスは、データ同期での衝突を示すメッセージをデバイスBに送信してもよい。処理525で、デバイスBは、所定タイマー時間TFFの間に衝突解決メッセージの受信を待機してもよい。
【００５１】
処理530で、クラウドデバイスは、同期のために時刻T1よりも前の時刻T0にデータを高速フェッチする要求（本明細書では高速フェッチ要求とも呼ばれる）を、所定タイマー時間TFFの間に、デバイスAに送信してもよい。これは、クラウドデバイス及び／又は第1の通信デバイスによってトリガされ、実行されてもよい。場合によっては、処理535で、デバイスAが同期用データに関連するコンテンツ（例えば、データの変更バージョン等）を高速フェッチするかどうかを示す高速フェッチフィードバックメッセージを、デバイスAがクラウドデバイスに提供し、クラウドデバイスに格納又は保持されるデータの同期のために、デバイスAが時刻T0にそのコンテンツをクラウドデバイスに提供してもよい。
【００５２】
クラウドデバイスに格納又は保持されるデータの同期のために、時刻T0にコンテンツを高速フェッチしないとデバイスAが決定したことを、高速フェッチフィードバックメッセージが示す場合、処理540で、デバイスBは、所定タイマー時間TFFの間に衝突解決メッセージをクラウドデバイスから受信しなくてもよい。これに関して、デバイスBが前もってクラウドデバイスに送信した要求毎に、デバイスBはクラウドデバイスと通信し、時刻T1にクラウドデバイスに格納又は保持されるデータの同期を起動するために、コンテンツ／データをクラウドデバイスに提供してもよい。代替の例示的実施形態では、所定タイマー時間TFFの終了前に、デバイスAに送信した高速フェッチ要求に応じて、クラウドデバイスがメッセージ（例えば、高速フェッチフィードバックメッセージ）をデバイスAから受信していない場合、デバイスAが時刻T0にコンテンツを高速フェッチしないという決定を、クラウドデバイスが決定してもよい。こうして、所定タイマー時間TFFの終了前にクラウドデバイスが衝突解決メッセージをデバイスBに送信せず、所定タイマー時間TFFの終了時にデバイスBがクラウドデバイスとデータ同期を起動してもよい。これに関して、所定タイマー時間TFFの終了時に、クラウドデバイスに格納又は保持されるデータの同期のために、デバイスBがクラウドデバイスに情報を送信してもよい。あるいは、デバイスAが高速フェッチを開始すべきことをデバイスBが容易に通知されるように、デバイスAが高速フェッチ要求に対して肯定応答してもよい。また、デバイスAが高速フェッチをサポートしないことを示す否定応答をデバイスAが送信する場合、このことをデバイスBは直ちに通知され、タイマー（例えば、所定タイマー時間TFF）が終了するまで待機しなくてもよい。
【００５３】
コンテンツをクラウドデバイスと通信するための確実なネットワーク接続が在るとデバイスAが決定した場合、クラウドデバイスに格納又は保持されるデータの同期のために、デバイスAは時刻T0にコンテンツをメモリ（例えば、メモリデバイス76）から高速フェッチすると決定し、コンテンツをクラウドデバイスに提供してもよい。ただし、これは必須ではない。別の例示的実施形態では、時刻T0にデータを同期する緊急の必要性が在るとデバイスAが決定した場合、クラウドデバイスに格納又は保持されるデータの同期のために、デバイスAは時刻T0にコンテンツをメモリから高速フェッチすると決定し、コンテンツをクラウドデバイスに提供してもよい。例示であり限定ではないが、複数のデバイス／ユーザによって変更されたテキストファイルは、緊急の方法で同期される必要があるかもしれない。逆に、画像／写真の同期は、テキストファイルの同期ほど緊急性が無いかもしれない。
【００５４】
一方、クラウドデバイスとの通信について、時刻T2で品質がよく確実なネットワーク接続（例えば、不確実なセルラーネットワーク（例えば、デバイスAがセルの端に在る等）よりも確実なWiFiネットワーク接続）が在るとデバイスAが決定した場合、デバイスAは、データ同期のために、時刻T0ではコンテンツを高速フェッチしないと決定し、代わりに時刻T2でクラウドデバイスと通信すると決定してもよい。デバイスAは、サービス料がより安いとか、エネルギー消費がより効率的なデータ伝送能力、その他適切な理由で、デバイスAがより品質のよい確実な／望ましいネットワーク接続の存在を決定してもよい。代替の例示的実施形態では、デバイスAが時刻T2でのデータ同期を決定する一方、デバイスBが時刻T1にデータ同期を起動した場合、クラウドネットワークデバイスにはこの更新データに関する2つのコピーが存在してしまう。例示的実施形態によっては、衝突マネージャ97がこの2つのコピーをマージしてもよい。
【００５５】
デバイスAがデータ同期のために時刻T0にコンテンツを高速フェッチすると決定した場合、処理545で、デバイスAが所定タイマー時間TFFの間に同期を起動し、デバイスAの同期モジュール（例えば、同期モジュール78）が同期タスクの優先度を時刻T2から時刻T0に変更してもよい。処理550で、デバイスAは、高速フェッチが起動されることを示すメッセージを、時刻T0でクラウドデバイスに提供してもよい。このメッセージは、クラウドデバイスに格納又は保持されるのに必要なデータ（例えば、同一文書や、例えば画像等、何か適切なデータ）を同期するのにクラウドデバイスが利用できるコンテンツ（例えば、文書や画像のバージョン等の変更データ）を含んでもよい。処理555で、クラウドデバイスは、高速フェッチの完了、及びデバイスAが要求したデータ同期の完了を示すメッセージを、デバイスAに送信してもよい。
【００５６】
処理560で、クラウドデバイスは、同期衝突の不在を示すメッセージをデバイスBに送信し、時刻T2より前の時刻T1にクラウドデバイスに格納又は保持されるのに必要なデータ（例えば、同一文書や、例えば画像等、何か適切なデータ）を同期するために、デバイスBが提供したコンテンツ（例えば、同一文書や画像の別バージョン等の更新データ）を利用してもよい。
【００５７】
代替の例示的実施形態では、デバイスB（例えば、通信デバイス163）が、データ変更とは対照的に、クラウドデバイスに格納されたデータを読取る又はデータにアクセスしようとする場合、あまり厳格でないプロトコルをクラウドデバイス（例えば、クラウドネットワークデバイス108）が利用してもよい。しかし、デバイスAは、まだクラウドデバイスに提供されていないが、未来指定時刻（例えば、時刻T2）にクラウドデバイスが同期するためにスケジュールされている、対応変更データをローカルに格納していてもよい。これに関して、クラウドデバイスに格納又は保持されるデータが最新でないことを警告するメッセージを、クラウドデバイスがデバイスBに送信してもよい。
【００５８】
あるいは、この例示的実施形態において、クラウドデバイスに格納される対応データをクラウドデバイスが同期及び更新できるように、クラウドデバイスが、デバイスAによってローカルに格納されるデータ（例えば、変更データ）の高速フェッチを要求するメッセージを、デバイスAに送信してもよい。これに関して、クラウドデバイスは、データへのアクセス又は読取を要求するデバイスBに応じて、更新データをデバイスBに提供してもよい。
【００５９】
図5の信号フローにおいて、パラメータ化及び／又はメッセージングは、衝突マネージャ（例えば、衝突マネージャ97）が実行するネットワーク接続予測及びタスクスケジューリングの精度に応じて、クラウドデバイスが変更又は置換してもよい。例えば、クラウドデバイスの衝突マネージャは、時刻T1・T2・T0が正確な同期時刻や、タスク同期の実行における優先順位に対応しうると決定してもよい。優先順位がクラウドデバイスによって実装された場合、時刻T2は、デバイスAがその近接であるがカバーエリアに無い小セルに接続するまで（例えば、時刻T2＝無限で）、優先順位が相対的に低い同期を遅延させることを示してもよい。T1は、デバイスBがクラウドデバイスから（例えば、T1＝0に）「衝突無し」メッセージを受信すると直ぐに、対応する同期タスクを起動してもよいことを示してもよい。または、デバイスAのための同期の完了後にのみ、デバイスBのための対応する同期が強制的に行われる場合、所定タイマー時間TFFは、クラウドデバイスの衝突マネージャによって無視又は削除されてもよい（例えば、TFF＝無限大）。この例示的実施形態では、クラウドデバイスの衝突マネージャが、デバイスAのための同期の完了後にデバイスBのための対応する同期が強制実行しうるため、所定タイマー時間TFFが無視又は削除される。
【００６０】
次に図6を参照する。図6には、複数のデバイスを1つのクラウドデバイスに同期させるとき、同期衝突を解決するプロトコルを提供するフローチャートのある例示的実施形態が示されている。処理600で、クラウドネットワークデバイス（例えば、クラウドネットワークデバイス108）は、未来指定時刻（例えば、時刻T2）又は未来の不特定時刻に同期されるべきデータ（例えば、文書や画像、ビデオデータ、音声データ等）を特定する標示（例えば、フラグやメッセージ）を第1の通信デバイス（例えば、通信デバイス161）から受信する手段を備えてもよい。こうした手段は、衝突マネージャ97やプロセッサ94、及び／又はそれらと同様のものである。処理605で、クラウドネットワークデバイスは、未来指定時刻（例えば、時刻T2）より前の割当時刻（例えば、時刻T1）にデータを同期するために、第2の通信デバイス（例えば、通信デバイス163）からメッセージを受信する手段を備えてもよい。こうした手段は、衝突マネージャ97やプロセッサ94、及び／又はそれらと同様のものである。
【００６１】
処理610で、クラウドネットワークデバイスは、標示とメッセージの情報の評価に部分的に基づいて、第1の通信デバイス（例えば、通信デバイス161）及び第2の通信デバイス（たとえば、通信デバイス163）の間で、データに関する同期衝突を検出する手段を備えてもよい。こうした手段は、衝突マネージャ97やプロセッサ94、及び／又はそれらと同様のものである。処理615で、クラウドネットワークデバイスは、割当時刻（例えば、時刻T1）より前の専用時刻（例えば、時刻T0）にデータ同期を可能にするために、データに関連するコンテンツのフェッチを求める要求（例えば、高速フェッチ要求）を第1の通信デバイスに提供する手段を備えてもよい。こうした手段は、衝突マネージャ97やプロセッサ94、及び／又はそれらと同様のものである。コンテンツは、同期要求された、クラウドネットワークデバイスに格納又は保持されるデータに対する別のバージョン（例えば、文書のバージョン2等）や変更を含んでもよい。ただし、これは必須ではない。
【００６２】
図5及び6が本発明の例示的実施形態に従うシステムや方法、コンピュータプログラム製品のフローチャートであることは、注意しておくべきであろう。フローチャートの個々のブロック及びフローチャートのブロックの組合せは、様々な手段によって実施されることに留意されたい。こうした手段には、ハードウェアやファームウェアが含まれ、及び／又は、1つ又は複数のコンピュータプログラム命令を含むコンピュータプログラム製品が含まれる。例えば、上述の1つ又は複数の処理は、コンピュータプログラム命令によって具現化されてもよい。これに関して、ある例示的実施形態では、上述の処理を具現化するコンピュータプログラム命令が、例えばメモリデバイス（例えば、メモリデバイス76やメモリ96）に格納され、プロセッサ（例えば、プロセッサ70やプロセッサ94、同期モジュー78、衝突マネージャ97）によって実行される。このようなコンピュータプログラム命令が機械を構成するために、コンピュータ又はプログラマブル装置（例えば、ハードウェア）にロードされることが理解されよう。こうして、コンピュータ又はプログラマブル装置で実行される命令は、フローチャートのブロックに特定される機能の実装をもたらす。実施形態によっては、コンピュータプログラム命令が特定の方法でコンピュータ又は他のプログラマブル装置を機能させるべく命令しうるような、コンピュータ可読メモリに格納されてもよい。こうして、コンピュータ可読メモリに格納される命令は、フローチャートのブロックに特定される１つ又は複数の機能を実装する命令を含む製品を形成する。コンピュータプログラム命令はコンピュータ又は他のプログラマブル装置にロードされ、一連の処理を前記コンピュータ又は他のプログラマブル装置で実行させることで、コンピュータ実装プロセスを生成することができる。こうして、コンピュータ又は他のプログラマブル装置で命令が実行されることで、フローチャートのブロックに特定される機能を実装する。
【００６３】
従って、フローチャートのブロックは、特定された機能を実行する手段の組み合わせをサポートする。また、フローチャートの1つ又は複数のブロック、及びフローチャートの複数のブロックの組合せは、特定の機能を実行する特定目的のハードウェアベースのコンピュータシステムや、特定目的のハードウェアとコンピュータ命令との組合せによって実装されてもよいことも理解されたい。
【００６４】
ある例示的実施形態において、上述の図5及び6の方法を実行する装置は、上述の処理500-560・600-615の何れか又は複数を実行するように構成されるプロセッサ（例えば、プロセッサ70やプロセッサ94、同期モジュール78、衝突マネージャ97）を備えていてもよい。プロセッサは、例えば、ハードウェア実装の論理機能を実行することや、格納された命令を実行すること、各処理を実行するアルゴリズムを実行することで、処理500-560・600-615を実行するように構成されてもよい。あるいは、装置が上述の処理の各々を実行する手段を備えていてもよい。これに関して、ある例示的実施形態によれば、処理500-560・600-615を実行する手段の実施例は、例えば、プロセッサ70（例えば、上述の処理の何れかを実行する手段として）やプロセッサ94、同期モジュール78、衝突マネージャ97、及び／又は、上述の情報を処理する命令又はアルゴリズムを実行するデバイスや回路を備えていてもよい。
【００６５】
前述の説明や関連する図面に示される教示から利益を受けうる当業者には、ここで説明された発明についての多くの変形やその他の実施形態が想起されるであろう。したがって、本発明は開示した特定の実施形態に限定されるものではなく、その変形と他の実施形態も添付する特許請求の範囲内に含まれることを理解されたい。さらに、上述の説明や関連する図面が要素や機能の或る例示的な組み合わせという文脈で例示的な実施形態を説明してきたが、別の実施形態では、添付の請求項の範囲を逸脱せずに、要素や機能の異なる組み合わせも可能であることに留意されたい。ここで例えば、上で明示的に説明されている要素や機能の組み合わせ以外の組み合わせも、添付の請求項のいずれかの範囲に属するものと考えるべきである。本願では特定の術語が使用されているが、それらは一般的説明を目的として使用されており、限定目的ではない。
【図１】
0006041991.tif 000002
【図２】
0006041991.tif 000003
【図３】
0006041991.tif 000004
【図４】
0006041991.tif 000005
【図５】
0006041991.tif 000006
【図６】
0006041991.tif 000007