(57)【特許請求の範囲】
【請求項１】
サーバと同期端末と１以上の参加端末とを含むネットワーク・シナリオに適用可能な、情報管理のためのコンピュータ実施方法であって、
１以上のプロセッサと、前記１以上のプロセッサにより実行されるプログラムを記憶するメモリとを有する前記サーバにおいて、
前記同期端末の通信ステータスを検出する検出ステップであって、前記同期端末は、前記１以上の参加端末のオペレーションを同期させるよう構成される、検出ステップと、
前記同期端末の前記通信ステータスが、予め定められた条件を満たすとき、前記参加端末のそれぞれに対して、各参加端末の動作ステータス情報をリクエストするステップと、
前記参加端末によりアップロードされた対応する前記動作ステータス情報を受信するステップと、
各参加端末に対応する前記動作ステータス情報に基づいて、前記参加端末間のデータ差を計算するステップと、
各参加端末が、前記データ差を用いて自身と他の参加端末とを同期させるよう構成されるように、前記データ差を前記参加端末にそれぞれ送信するステップと、
新たな同期端末が、前記新たな同期端末と、前記参加端末から前記新たな同期端末を除いた残りの参加端末と、を同期させるよう構成されるように、同期の完了を示す信号を前記参加端末から受信した後、予め定められたルールのセットに基づいて、前記参加端末から前記新たな同期端末を選択するステップと、
を含む、コンピュータ実施方法。
【請求項２】
前記予め定められた条件は、前記通信ステータスが、前記同期端末から前記サーバへの最後のレスポンス以後の時間期間が閾値を超えていることであることを含む、請求項１記載のコンピュータ実施方法。
【請求項３】
前記予め定められた条件は、前記通信ステータスが、前記同期端末が前記１以上の参加端末のオペレーションを同期させるのをやめることを示す中止リクエストであることを含む、請求項１記載のコンピュータ実施方法。
【請求項４】
前記動作ステータス情報は、対応する前記参加端末の動作論理フレーム値及び対応する前記参加端末のユーザ入力セットを含む、請求項１記載のコンピュータ実施方法。
【請求項５】
前記参加端末からの前記動作論理フレーム値のうち最新の動作論理フレーム値を決定するステップと、
前記参加端末からの前記ユーザ入力セットのうち最新のユーザ入力セットを決定するステップと、
をさらに含み、
前記データ差は、対応する前記参加端末の前記ユーザ入力セットと前記最新のユーザ入力セットとの間の差、及び、対応する前記参加端末の前記動作論理フレーム値と前記最新の動作論理フレーム値との間の差を含む、請求項４記載のコンピュータ実施方法。
【請求項６】
各参加端末は、前記データ差に基づいて、自身のユーザ入力セットを前記最新のユーザ入力セットに調整し、自身の動作論理フレームを前記最新の動作論理フレーム値に合うようレンダリングすることにより、自身と他の参加端末とを同期させるよう構成される、請求項５記載のコンピュータ実施方法。
【請求項７】
前記予め定められたルールは、
（ａ）全ての参加端末のハードウェア性能に基づいて第１位にランク付けされた参加端末が、前記新たな同期端末として選択される；
（ｂ）全ての参加端末の接続安定性に基づいて第１位にランク付けされた参加端末が、前記新たな同期端末として選択される；
（ｃ）全ての参加端末の事前既存リスト上で第１位にランク付けされた参加端末が、前記新たな同期端末として選択される；及び
（ｄ）参加端末が、全ての参加端末からランダムに選択され、前記新たな同期端末とされる
ことからなる群から選択される、請求項１記載のコンピュータ実施方法。
【請求項８】
前記ハードウェア性能は、クロック・スピード及びプロセッサの数により評価され、前記接続安定性は、ネットワーク遅延及び変動により評価される、請求項７記載のコンピュータ実施方法。
【請求項９】
前記新たな同期端末に関する通知信号を残りの全ての参加端末に送信するステップ
をさらに含む、請求項１記載のコンピュータ実施方法。
【請求項１０】
サーバと同期端末と１以上の参加端末とを含むネットワーク・シナリオに適用可能なコンピュータ・システムであって、
１以上のプロセッサと、
メモリと、
を備え、
前記１以上のプロセッサは、前記メモリに記憶された１以上のプログラム・モジュールを実行し、前記１以上のプログラム・モジュールは、
前記同期端末の通信ステータスを検出するよう構成された検出モジュールであって、前記同期端末は、前記１以上の参加端末のオペレーションを同期させるよう構成される、検出モジュールと、
前記同期端末の前記通信ステータスが、予め定められた条件を満たすとき、前記参加端末のそれぞれに対して、各参加端末の動作ステータス情報をリクエストするよう構成されたリクエスト・モジュールと、
前記参加端末によりアップロードされた対応する前記動作ステータス情報を受信するよう構成された受信モジュールと、
各参加端末に対応する前記動作ステータス情報に基づいて、前記参加端末間のデータ差を計算するよう構成された処理モジュールと、
各参加端末が、前記データ差を用いて自身と他の参加端末とを同期させるよう構成されるように、前記データ差を前記参加端末にそれぞれ送信するよう構成された送信モジュールと、
新たな同期端末が、前記新たな同期端末と、前記参加端末から前記新たな同期端末を除いた残りの参加端末と、を同期させるよう構成されるように、同期の完了を示す信号を前記参加端末から受信した後、予め定められたルールのセットに基づいて、前記参加端末から前記新たな同期端末を選択するよう構成された選択モジュールと、
を含む、コンピュータ・システム。
【請求項１１】
前記予め定められた条件は、
前記通信ステータスが、前記同期端末から前記サーバへの最後のレスポンス以後の時間期間が閾値を超えていることである；及び
前記通信ステータスが、前記同期端末が前記１以上の参加端末のオペレーションを同期させるのをやめることを示す中止リクエストである
ことからなる群から選択される、請求項１０記載のコンピュータ・システム。
【請求項１２】
前記動作ステータス情報は、対応する前記参加端末の動作論理フレーム値及び対応する前記参加端末のユーザ入力セットを含む、請求項１０記載のコンピュータ・システム。
【請求項１３】
前記処理モジュールは、最新フレーム／入力決定モジュール及びデータ差計算モジュールを含み、
前記最新フレーム／入力決定モジュールは、前記参加端末からの前記動作論理フレーム値のうち最新の動作論理フレーム値を決定するよう前記１以上のプロセッサにより実行され、
前記最新フレーム／入力決定モジュールは、前記参加端末からの前記ユーザ入力セットのうち最新のユーザ入力セットを決定するよう前記１以上のプロセッサにより実行され、
前記データ差計算モジュールは、対応する前記参加端末の前記ユーザ入力セットと前記最新のユーザ入力セットとの間の差、及び、対応する前記参加端末の前記動作論理フレーム値と前記最新の動作論理フレーム値との間の差を含む前記データ差を計算するよう前記１以上のプロセッサにより実行される、請求項１２記載のコンピュータ・システム。
【請求項１４】
前記送信モジュールは
対応する前記参加端末の前記ユーザ入力セットと前記最新のユーザ入力セットとの間の前記差、及び、対応する前記参加端末の前記動作論理フレーム値と前記最新の動作論理フレーム値との間の前記差を、対応する前記参加端末に送信するよう前記１以上のプロセッサにより実行されるデータ差送信モジュールと、
自身のユーザ入力セットを前記最新のユーザ入力セットに調整し、自身の動作論理フレームを前記最新の動作論理フレーム値に合うようレンダリングすることにより、自身と他の参加端末とを同期させるよう各参加端末に指示するよう前記１以上のプロセッサにより実行される同期指示モジュールと、
を含む、請求項１３記載のコンピュータ・システム。
【請求項１５】
前記予め定められたルールは、
（ａ）全ての参加端末のハードウェア性能に基づいて第１位にランク付けされた参加端末が、前記新たな同期端末として選択される；
（ｂ）全ての参加端末の接続安定性に基づいて第１位にランク付けされた参加端末が、前記新たな同期端末として選択される；
（ｃ）全ての参加端末の事前既存リスト上で第１位にランク付けされた参加端末が、前記新たな同期端末として選択される；及び
（ｄ）参加端末が、全ての参加端末からランダムに選択され、前記新たな同期端末とされる
ことからなる群から選択される、請求項１０記載のコンピュータ・システム。
【請求項１６】
前記ハードウェア性能は、クロック・スピード及びプロセッサの数により評価され、前記接続安定性は、ネットワーク遅延及び変動により評価される、請求項１５記載のコンピュータ・システム。
【請求項１７】
前記送信モジュールは、
前記参加端末から前記新たな同期端末を選択するモジュールを選択するよう前記１以上のプロセッサにより実行される新たな同期端末と、
前記新たな同期端末に関する通知信号を残りの全ての参加端末に送信するよう前記１以上のプロセッサにより実行される少なくとも１つの通知モジュールと、
を含む、請求項１０記載のコンピュータ・システム。
【請求項１８】
１以上の命令を記憶したコンピュータ読み取り可能記憶媒体であって、前記命令が、サーバと同期端末と１以上の参加端末とを含むネットワーク・シナリオに適用可能なコンピュータ・システムにより実行されたとき、前記命令は、前記コンピュータ・システムに、
前記同期端末の通信ステータスを検出させ、ここで、前記同期端末は、前記１以上の参加端末のオペレーションを同期させるよう構成される、
前記同期端末の前記通信ステータスが、予め定められた条件を満たすとき、前記参加端末のそれぞれに対して、各参加端末の動作ステータス情報をリクエストさせ、
前記参加端末によりアップロードされた対応する前記動作ステータス情報を受信させ、
各参加端末に対応する前記動作ステータス情報に基づいて、前記参加端末間のデータ差を計算させ、
各参加端末が、前記データ差を用いて自身と他の参加端末とを同期させるよう構成されるように、前記データ差を前記参加端末に対してそれぞれ送信させ、
新たな同期端末が、前記新たな同期端末と、前記参加端末から前記新たな同期端末を除いた残りの参加端末と、を同期させるよう構成されるように、同期の完了を示す信号を前記参加端末から受信した後、予め定められたルールのセットに基づいて、前記参加端末から前記新たな同期端末を選択させる、コンピュータ読み取り可能記憶媒体。
【請求項１９】
前記予め定められた条件は、
前記通信ステータスが、前記同期端末から前記サーバへの最後のレスポンス以後の時間期間が閾値を超えていることである；及び
前記通信ステータスが、前記同期端末が前記１以上の参加端末のオペレーションを同期させるのをやめることを示す中止リクエストである
ことからなる群から選択される、請求項１８記載のコンピュータ読み取り可能記憶媒体。
【請求項２０】
前記動作ステータス情報は、対応する前記参加端末の動作論理フレーム値及び対応する前記参加端末のユーザ入力セットを含み、
各参加端末に対応する前記動作ステータス情報に基づいて、前記参加端末間のデータ差を計算させる前記命令は、さらに、
前記参加端末からの前記動作論理フレーム値のうち最新の動作論理フレーム値を決定させることと、
前記参加端末からの前記ユーザ入力セットのうち最新のユーザ入力セットを決定させることと、
を含み、
各参加端末に対応する前記動作ステータス情報に基づいて、前記参加端末間のデータ差を計算させる前記命令は、さらに、
対応する前記参加端末の前記ユーザ入力セットと前記最新のユーザ入力セットとの間の差、及び、対応する前記参加端末の前記動作論理フレーム値と前記最新の動作論理フレーム値との間の差を計算させること
を含む、請求項１８記載のコンピュータ読み取り可能記憶媒体。
【請求項２１】
各参加端末は、前記データ差に基づいて、自身のユーザ入力セットを前記最新のユーザ入力セットに調整し、自身の動作論理フレーム値を前記最新の動作論理フレーム値に合うようレンダリングすることにより、自身と他の参加端末とを同期させるよう構成される、請求項２０記載のコンピュータ読み取り可能記憶媒体。
【請求項２２】
前記予め定められたルールは、
（ａ）全ての参加端末のハードウェア性能に基づいて第１位にランク付けされた参加端末が、前記新たな同期端末として選択される；
（ｂ）全ての参加端末の接続安定性に基づいて第１位にランク付けされた参加端末が、前記新たな同期端末として選択される；
（ｃ）全ての参加端末の事前既存リスト上で第１位にランク付けされた参加端末が、前記新たな同期端末として選択される；及び
（ｄ）参加端末が、全ての参加端末からランダムに選択され、前記新たな同期端末とされる
ことからなる群から選択される、請求項１８記載のコンピュータ読み取り可能記憶媒体。
【請求項２３】
前記ハードウェア性能は、クロック・スピード及びプロセッサの数により評価され、前記接続安定性は、ネットワーク遅延及び変動により評価される、請求項２２記載のコンピュータ読み取り可能記憶媒体。
【請求項２４】
前記命令は、さらに、
前記新たな同期端末に関する通知信号を残りの全ての参加端末に対して送信させること
を含む、請求項１８記載のコンピュータ読み取り可能記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、２０１２年９月１３日に出願された中国特許出願第２０１２１０３３８４５１．７「情報管理方法及びデバイス」の優先権を主張し、その全内容が、参照により本明細書に組み込まれる。
【０００２】
本発明は、一般に、情報管理方法及びデバイスに関し、詳細には、データ同期の維持を含むネットワーク・アプリケーション方法及びデバイスに関する。
【背景技術】
【０００３】
今日のネットワーク技術の発展に伴い、ユーザは、仕事及び／又はエンタテインメントのために未接続のコンピュータを使用することにもはや満足していない。一般に、ユーザは、仕事及び／又は遊び中、インタネット及び他のネットワーク技術に大きく依存するインタラクション及びコミュニケーションをより好む。
【０００４】
既存の技術は、複数の端末を使用して、所定のピア・ツー・ピア（Ｐ２Ｐ）サービスを実行する。Ｐ２Ｐセッション中、複数の端末のうちの１つの端末が、同期端末（synchronizing  terminal）として使用され、他の端末が、参加端末（participating  terminal）として使用される。同期端末は、Ｐ２Ｐサービスの「ホスト・コンピュータ」として機能し、参加端末のオペレーションを調整する役割を担う。詳細には、同期端末は、参加端末の動作論理フレーム値（operating  logic  frame  value）及びユーザ入力セットを管理し、それらの機能を同期させてＰ２Ｐセッション中の情報交換を円滑にするために、異なる場所に位置する全ての端末をイネーブルにする。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、既存の技術には欠点がある：同期端末が、意図的に又は偶発的に取り止める（withdraw）場合、参加端末は中断を余儀なくされ、Ｐ２Ｐプログラムは終了を余儀なくされ、これは、ユーザ経験を不満足なものにする。
【課題を解決するための手段】
【０００６】
上記の欠点及び既存の技術に関連する他の問題が、以下で開示する本発明により低減又は排除される。いくつかの実施形態において、本発明は、１以上のプロセッサと、メモリと、複数の機能を実行するための、メモリに記憶された１以上のモジュール、プログラム、又は命令のセットとを有するコンピュータ・システムにおいて実施される。そのような機能を実行するための命令は、１以上のプロセッサにより実行されるよう構成されたコンピュータ・プログラム製品に含まれてもよい。
【０００７】
本発明の１つの態様は、コンピュータ・システムにより実行されるコンピュータ実施方法（computer-implemented  method）を含む。コンピュータ・システムは、同期端末の通信ステータスを検出し、同期端末は、１以上の参加端末のオペレーションを同期させるよう構成される。コンピュータ・システムは、同期端末の通信ステータスが予め定められた条件を満たすとき、参加端末からの、各参加端末に対応する動作ステータス情報をリクエストする。コンピュータ・システムはまた、参加端末によりアップロードされた対応する動作ステータス情報を受信し、各参加端末に対応する動作ステータス情報に基づいて、参加端末間のデータ差を計算する。いくつかの実施形態において、コンピュータ・システムは、各参加端末が、データ差を用いて自身と他の参加端末とを同期させるよう構成されるように、データ差を参加端末にそれぞれ送信する。最後に、コンピュータ・システムは、新たな同期端末が、残りの参加端末のオペレーションを同期させるよう構成されるように、同期の完了を示す信号を参加端末から受信した後、予め定められたルールのセットに基づいて、参加端末から新たな同期端末を選択する。
【０００８】
本発明の別の態様は、コンピュータ・システムを含む。コンピュータ・システムは、メモリと、１以上のプロセッサと、メモリに記憶され、１以上のプロセッサにより実行されるよう構成された１以上のプログラム・モジュールとを有する。１以上のプログラム・モジュールは、同期端末の通信ステータスを検出するよう構成された検出モジュールであって、同期端末は、１以上の参加端末のオペレーションを同期させるよう構成される、検出モジュール；同期端末の通信ステータスが、予め定められた条件を満たすとき、参加端末からの、各参加端末に対応する動作ステータス情報をリクエストするよう構成されたリクエスト・モジュール；参加端末によりアップロードされた対応する動作ステータス情報を受信するよう構成された受信モジュール；各参加端末に対応する動作ステータス情報に基づいて、参加端末間のデータ差を計算するよう構成された処理モジュール；各参加端末が、データ差を用いて自身と他の参加端末とを同期させるよう構成されるように、データ差を参加端末にそれぞれ送信するよう構成された送信モジュール；及び、新たな同期端末が、残りの参加端末のオペレーションを同期させるよう構成されるように、同期の完了を示す信号を参加端末から受信した後、予め定められたルールのセットに基づいて、参加端末から新たな同期端末を選択するよう構成された選択モジュールを含む。
【０００９】
本発明の別の態様は、命令を記憶した非一時的なコンピュータ読み取り可能記憶媒体を含む。その命令がコンピュータ・システムにより実行されたとき、その命令は、コンピュータ・システムに、同期端末の通信ステータスを検出させ、ここで、同期端末は、１以上の参加端末のオペレーションを同期させるよう構成される；同期端末の通信ステータスが、予め定められた条件を満たすとき、参加端末からの、各参加端末に対応する動作ステータス情報をリクエストさせ；参加端末によりアップロードされた対応する動作ステータス情報を受信させ；各参加端末に対応する動作ステータス情報に基づいて、参加端末間のデータ差を計算させ；各参加端末が、データ差を用いて自身と他の参加端末とを同期させるよう構成されるように、データ差を参加端末に対してそれぞれ送信させ；新たな同期端末が、残りの参加端末のオペレーションを同期させるよう構成されるように、同期の完了を示す信号を参加端末から受信した後、予め定められたルールのセットに基づいて、参加端末から新たな同期端末を選択させる。
【００１０】
いくつかの実施形態は、端末−サーバ・ネットワーク環境の端末側又はサーバ側で実施され得る。
【図面の簡単な説明】
【００１１】
図面とともに読まれると、本発明の上述した特徴及び利点、並びにさらなる特徴及び利点が、好ましい実施形態の詳細な説明の結果、以下においてより明確に理解されるであろう。同様の参照番号は、図面の複数のビューを通じて、対応する部分を指す。
【図１】本発明のいくつかの実施形態に従った、継続的な同期のための情報管理方法を示すフローチャート。
【図２】本発明のいくつかの実施形態に従った、サーバ、同期端末、及び２つの参加端末が継続的な同期を維持するためにどのようにインタラクトするかの概略図。
【図３】本発明のいくつかの実施形態に従った、継続的な同期を維持することができる情報管理アプリケーションにおけるモジュールを示すブロック図。
【図４】本発明のいくつかの実施形態に従った、情報管理アプリケーションにおける検出モジュールを示すブロック図。
【図５】本発明のいくつかの実施形態に従った、情報管理アプリケーションにおける処理モジュールを示すブロック図。
【図６】本発明のいくつかの実施形態に従った、情報管理アプリケーションにおける送信モジュールを示すブロック図。
【図７】本発明のいくつかの実施形態に従った、情報管理アプリケーションにおける選択モジュールを示すブロック図。
【図８】本発明のいくつかの実施形態に従ったネットワーク環境。
【図９】本発明のいくつかの実施形態に従ったサーバのブロック図。
【図１０】本発明のいくつかの実施形態に従った同期端末のブロック図。
【図１１】本発明のいくつかの実施形態に従った参加端末のブロック図。
【発明を実施するための形態】
【００１２】
これより実施形態を詳細に参照するが、その例が添付の図面に示されている。以下の詳細な説明において、多数の具体的な詳細が、本明細書で提示される主題の完全な理解を提供するために、記載されている。しかしながら、そのような主題は、具体的な詳細なく実施できることが当業者には明らかであろう。他の例において、実施形態の態様を不必要に曖昧にしないようにするために、周知の方法、手順、コンポーネント、及び回路は、詳細には説明されない。
【００１３】
図８は、本発明のいくつかの実施形態に従ったネットワーク環境である。ネットワーク環境８００は、１以上のサーバ８１０、１つの同期端末８２５、及び１以上の参加端末（８３０−１、８３０−２）を含む。同期端末及び参加端末は、ネットワーク８２０（例えば、インタネット）を介して、サーバに接続される。一方、様々な参加端末は、ネットワーク８２０を介して、互いに通信することもできる。例えば、以下で説明するように、参加端末８３０−１において生成されるユーザ入力セットは、サーバ８１０、同期端末８２５、及び／又は参加端末８３０−２に送信され得る。ネットワーク８１０を介して、ネットワーク環境８００における様々なエンティティは、互いに情報を交換することができる。いくつかの実施形態において、ネットワーク環境８００は、オンライン・ゲーム・アプリケーションをサポートする。様々なユーザが、様々な端末からオンライン・ゲーム・アプリケーションに参加し、１つの端末が、同期端末として指定され、他の端末が、参加端末として指定され、同期端末が、参加端末のオペレーションを同期させる。サーバ８１０は、同期端末８２５及び参加端末（８３０−１、８３０−２）とインタラクトし、同期端末が取り止めたとしても、継続的な同期を維持する。
【００１４】
図１は、本発明のいくつかの実施形態に従った、継続的な同期のための情報管理方法を示すフローチャートである。例示の目的上、本方法は、図８に示したサーバ、同期端末、及び参加端末のうちの１つを含むコンピュータ・システムにおいて実行されるオンライン・ゲーム・アプリケーション等のネットワーク・アプリケーションにおいて実施され得る。
【００１５】
図２は、本発明のいくつかの実施形態に従った、サーバ、同期端末、及び２つの参加端末が継続的な同期を維持するためにどのようにインタラクトするかの概略図である。図２に示すコンピュータ・システムは、サーバ２０１、同期端末２０２、第１の参加端末２０３、及び第２の参加端末２０４を含む。しかしながら、本発明に従って実施されるコンピューティング・デバイスの数は、ネットワーク・アプリケーションの具体的な設計及び即時のシナリオに基づいて変わり得ることに留意すべきである。例えば、２以上の同期端末が存在してもよいし、１以上の任意の数の参加端末が存在してもよい。さらに、サーバ及び同期端末は、同一であってもよいし、異なるデバイスであってもよい。
【００１６】
図１を参照する。ステップ１１０：コンピュータ・システムは、同期端末の通信ステータスを検出することができ、同期端末は、１以上の参加端末のオペレーションを同期させるよう構成される。通信ステータスは、同期端末が他のコンピューティング・デバイスとどのようにインタラクトするかを反映又は指定する任意のタイプのステータスであってもよいし、同期端末からの特定のコマンド又はリクエストであってもよい。
【００１７】
例えば、図２に示されるように、サーバ２０１は、同期端末２０２の通信ステータス２０５を検出することができる。通信ステータス２０５は、同期端末２０２により自発的に送信され、サーバ２０１により検出されてもよいし、通信ステータス２０５は、サーバ２０１により送信された問合せの結果であって、その結果が、サーバ２０１により検出されてもよい。通信ステータス２０５は、次のようなステータスであり得るが、そのように限定されるものではない：同期端末２０２からのリクエスト、同期端末２０２とサーバ２０１との間の接続スピード及び安定性、同期端末２０２と参加端末２０３及び参加端末２０４との間の接続スピード及び安定性、同期端末２０２とサーバ２０１との間の検出の時間と最も直近のインタラクションの時間との間の時間期間。
【００１８】
通信ステータス２０５の検出の前に、同期端末２０２は、参加端末２０３及び参加端末２０４のオペレーションを同期させるよう構成され得る。同期端末２０２は、次のような機能を実行することができるが、そのように限定されるものではない：同期端末２０２と参加端末２０３及び参加端末２０４との動作論理フレームを同期させる；同期端末２０２と参加端末２０３及び参加端末２０４とのユーザ入力セットを同期させる；同期端末２０２と参加端末２０３及び参加端末２０４との間のデータ伝送を円滑にしモニタリングする；サーバ２０１と参加端末２０３及び参加端末２０４との間のデータ伝送を円滑にしモニタリングする。同期端末２０２の機能は、同期端末２０２が取り止めるとき、あるいは取り止められているときに、一時的にサーバ２０１又は参加端末により実行され得る。
【００１９】
同期端末２０２が取り止めた後、特に通信が中止リクエストであるとき、オプションの終了ステップが取られ得る。サーバ２０１は、中止リクエストが許可されたことを示す信号を同期端末２０２に送信することができ、同期端末２０２が参加端末２０３及び参加端末２０４のオペレーションをさらに同期させるのを防ぐ。
【００２０】
図１を参照する。ステップ１２０：同期端末の通信ステータスが、予め定められた条件を満たすとき、コンピュータ・システムは、参加端末からの、各参加端末に対応する動作ステータス情報をリクエストする。動作ステータス情報は、次のような複数の情報項目のうちの１以上を含み得るが、そのように限定されるものではない：動作論理フレーム値、ユーザ入力セット、レンダリング回数（rendering  frequency）、ネットワーク接続ステータス、プロセッサ・スピード及び性能、並びにメモリ容量。予め定められた条件は、通信ステータスを評価するために使用することができる任意の条件であり得る。
【００２１】
例えば、図２に示されるように、サーバ２０１は、ステップ２１０及びステップ２２０においてそれぞれ参加端末２０３及び参加端末２０４からの動作ステータス情報をリクエストすることができる。参加端末２０３及び参加端末２０４は、対応する動作ステータス情報２１５及び動作ステータス情報２２５をサーバ２０１に提供することができる。
【００２２】
サーバ２０１は、同期端末２０２からの通信ステータスが予め定められた条件を満たすときのみ、動作ステータス情報をリクエストすることができる。予め定められた条件は、次のような条件であり得るが、そのように限定されるものではない：通信ステータスが、同期端末からコンピュータへの最後のレスポンス以後の時間期間が閾値を超えていることである；通信ステータスが、同期端末が１以上の参加端末のオペレーションを同期させるのをやめることを示す中止リクエストである。
【００２３】
ネットワーク・アプリケーションのＰ２Ｐセッション中、同期端末のユーザは、ネットワーク・アプリケーションをやめることをリクエストする場合があり、中止リクエストの形のそのような通信ステータスは、予め定められた条件を満たす。一方、電源障害やネットワーク接続異常等（これらに限定されるものではない）の様々な種類の理由により、サーバは、同期サーバとのコンタクト状態を失う場合があり、同期端末からハートビート検出ルーチン（heartbeat  detection  routine）へのレスポンスの失敗をもたらし得る。レスポンスの失敗が、所定の閾値を超えたとき、又は、同期端末からの最後のレスポンス以後の時間期間が、所定の閾値を超えたとき、通信ステータスは、予め定められた条件を満たす。通信ステータスの広さに部分的に起因して、予め定められた条件は、著しく変わり得る。例えば、上記でリストした条件に加えて、予め定められた条件は、サーバと同期端末との間の接続スピード（ｂｔ／秒）が閾値より小さくなることであってもよい。
【００２４】
いくつかの実施形態において、サーバは、全ての参加端末からの動作ステータス情報をリクエストする。上記で示したように、動作ステータス情報は、複数の情報項目のうちの１以上を含み得る。詳細には、動作ステータス情報は、動作論理フレーム値及びユーザ入力セットを含み得る。ユーザ入力セットとは、対応する参加端末のユーザにより生成されるユーザ入力イベントの集合を指す。例えば、ユーザが、マウスを動かすとき、キーストロークを押すとき、あるいは、ネットワーク・アプリケーションに影響を及ぼす任意のオペレーションに関わるとき、ユーザ入力イベントが、それに応じて生成され得、所定の時間期間における参加端末でのユーザ入力イベントの集合が、ユーザ入力セットであり得る。同様に、別の参加端末でのユーザ入力イベントが、その参加端末のユーザ入力セットとして収集され得る。ユーザ入力イベントは、例えば、異なるグラフィカル・インタフェース上のオブジェクトの動き等、ネットワーク・アプリケーションにおける１以上のオブジェクトに影響を及ぼし得る。理想的には、異なる端末における異なるグラフィカル・ユーザ・インタフェース上の同一のオブジェクトの動きは、ほとんど同時に生じるべきである。しかしながら、実際には、異なる端末において表示又は認識される同一のユーザ入力セットに対して異なる時間量を要する場合があり、これは、遅延した同期を生じさせ、ユーザ経験を低下させ得る。動作論理フレーム値とは、参加端末によりレンダリングされる動作論理フレームの数を指す。フレームのための全てのコードの実行が論理フレームであり、全てのコードの実行は、参加端末のユーザ入力セット、サーバのフレームワークに関連する計算、並びに、参加端末に関連する他のレンダリング及び計算を含み得る。参加端末からのユーザ入力セットをリクエストすることにより、サーバは、参加端末のための同期デバイスとして一時的に機能することができる。
【００２５】
図１を参照する。ステップ１３０：コンピュータ・システムはまた、参加端末によりアップロードされた対応する動作ステータス情報を受信する。
【００２６】
例えば、図２に示されるように、サーバ２０１は、参加端末２０３及び参加端末２０４からそれぞれ動作ステータス情報２１５及び動作ステータス情報２２５を受信する。上記で示したように、動作ステータス情報は、対応する参加端末の動作論理フレーム値及び対応する参加端末のユーザ入力セットを含み得る。参加端末のオペレーションの同期及び調整をさらに円滑にするために、動作ステータス情報には、他の情報項目も含まれてよいことに留意すべきである。
【００２７】
図１を参照する。ステップ１４０：コンピュータ・システムは、各参加端末に対応する動作ステータス情報に基づいて、参加端末間のデータ差を計算する。
【００２８】
例えば、図２に示されるように、参加端末２０３及び参加端末２０４から動作ステータス情報を受信した後、サーバ２０１は、動作論理フレーム値及びユーザ入力セットを含み得る動作ステータス情報を処理する。サーバ２０１は、参加端末２０３及び参加端末２０４それぞれからの動作論理フレーム値のうち最新の動作論理フレーム値を決定することができる；サーバ２０１はまた、参加端末２０３及び参加端末２０４からのユーザ入力セットのうち最新のユーザ入力セットを決定することができる。データ差は、対応する参加端末のユーザ入力セットと最新のユーザ入力セットとの間の差、及び、対応する参加端末の動作論理フレーム値と最新の動作論理フレーム値との間の差を含み得る。
【００２９】
例えば、第１の参加端末２０３からの動作ステータス情報２１５が、３の動作論理フレーム値と、ａ＋ｂ＋ｃというユーザ入力セットとを含むと仮定し；第２の参加端末２０４からの動作ステータス情報２２５が、４の動作論理フレーム値と、ａ＋ｂというユーザ入力セットとを含むと仮定する。そのような不一致は、異なるｐｉｎｇ値等の複数の理由により生じ得る。動作ステータス情報２１５及び動作ステータス情報２２５を受信した後、サーバ２０１は、最新の動作論理フレーム値が４（参加端末２０４から）であり、最新のユーザ入力セットがａ＋ｂ＋ｃ（参加端末２０３から）であると決定する。そして、データ差は、参加端末２０３については［１，０］であると計算され、参加端末２０４については［０，ｃ］であると計算される。
【００３０】
動作論理フレームは、対応するユーザ入力セットを有し得る。しかしながら、実行の遅延及び／又は入力受信の遅延に起因して、同一の参加端末からの動作論理フレーム値及びユーザ入力セットは、完全にはペアになっていない場合がある。この同期ステップは、全ての参加端末における動作論理フレーム及びユーザ入力セットを、同一の最新バージョンにすることができる。
【００３１】
上記で示したように、動作ステータス情報は、他の情報項目を含み得るので、データ差は、その情報項目の他の差を含み得る。一般に、サーバは、最新の情報項目を決定し、個々の参加端末からの情報項目と最新の情報項目との間の差を計算する。一般的な目標は、ネットワーク・アプリケーションが同期してスムーズに進むことができるように、参加端末が最新の動作ステータスに同期することを可能にすることである。さらに、参加端末の数は変わり得るが、同期の一般的な原理は同一のままである。
【００３２】
図１を参照する。ステップ１５０：いくつかの実施形態において、コンピュータ・システムは、各参加端末が、データ差を用いて自身と他の参加端末とを同期させるよう構成されるように、データ差を参加端末にそれぞれ送信する。
【００３３】
例えば、図２に示されるように、サーバ２０１は、ステップ２４０及びステップ２５０においてそれぞれ参加端末２０３及び参加端末２０４にデータ差を送信する。対応する参加端末は、データ差を用いて自身と他の参加端末とを同期させるよう構成される。詳細には、参加端末２０３及び参加端末２０４は、対応する同期機能を使用して、サーバ２０１から送信されたデータ差に基づいて、動作論理フレーム及びユーザ入力セットを実行することができる。特定の参加端末が、動作論理フレームにおいてＮフレーム遅れている場合、その端末は、最新の動作論理フレームに進めるために、Ｎフレーム分レンダリングする。特定の参加端末が、ユーザ入力セットｃを欠落している場合、その参加端末は、ユーザ入力セットｃを実行する。
【００３４】
同期の後、参加端末２０３及び参加端末２０４は、同期が無事完了したことを示す信号をサーバ２０１に送信することができる。サーバ２０１は、この信号を受信することができ、次のステップが開始される。
【００３５】
図１を参照する。ステップ１６０：コンピュータ・システムは、新たな同期端末が、残りの参加端末のオペレーションを同期させるよう構成されるように、同期の完了を示す信号を参加端末から受信した後、予め定められたルールのセットに基づいて、参加端末から新たな同期端末を選択する。
【００３６】
例えば、図２に示されるように、サーバ２０１は、選択機能２６０を使用して、予め定められたルールが満たされるかどうかをテストする。予め定められたルールは、新たな同期端末の選択を決定し得るあるいは円滑にし得る任意の種類のルールであり得る。例えば、予め定められたルールは、（ａ）全ての参加端末のハードウェア性能に基づいて第１位にランク付けされた参加端末が、新たな同期端末として選択される；（ｂ）全ての参加端末の接続安定性に基づいて第１位にランク付けされた参加端末が、新たな同期端末として選択される；（ｃ）全ての参加端末の事前既存リスト（pre-existing  list）上で第１位にランク付けされた参加端末が、新たな同期端末として選択される；（ｄ）参加端末が、全ての参加端末からランダムに選択され、新たな同期端末とされる、ことであり得る。詳細には、ハードウェア性能は、クロック・スピード及びプロセッサの数により評価され得、接続安定性は、ネットワーク遅延及び変動により評価され得る。予め定められたルールは、上記でリストしたものから変わってもよいし、上記でリストしたルールのうちいくつかを組み合わせてもよいことに留意すべきである。選択機能２６０は、予め定められたルールを使用して、参加端末から新たな同期端末を選択する。
【００３７】
選択の後、サーバ２０１は、図２のステップ２７０及びステップ２８０に示されるように、元の参加端末２０３及び参加端末２０４に新たな同期端末が選択されたことを通知する信号を送信することができる。この通知プロセスは、設定に応じて、及びどの参加端末が選択されたかに応じて変わり得る。例えば、参加端末２０３が、新たな同期端末として選択された場合、サーバ２０１は、元の参加端末２０３が同期端末として選択されたことを残りの参加端末２０４にのみ通知することができる；代替的に、サーバ２０１は、元の参加端末２０３及び参加端末２０４の双方に通知してもよい。次いで、新たな同期端末は、同期端末と残りの参加端末とを同期させる役割を担う。サーバ２０１は、参加端末を同期させる役割から解放される。
【００３８】
通知が、参加端末２０３及び参加端末２０４の双方に送信される場合、個々の参加端末は、自身が新たな同期端末として選択されたかどうかに関する通知を受信する。参加端末が、自身が新たな同期端末として選択されたと分かった場合、その参加端末は、残りの参加端末のオペレーションを調整するために、一連の同期プロセスを開始することができる。
【００３９】
上記で示したように、本システムにおけるコンピューティング・デバイスの数及び指定は変わり得る。２以上の同期端末が存在してもよいし、１以上の参加端末が存在してもよい。サーバ及び同期端末は、１つのデバイスであってよく、新たな同期端末の選択は、そのサーバが、参加端末の同期にもはや関与しないことを示す。
【００４０】
図３〜図７及び図９〜図１１は、上述した方法を実行するために使用することができるコンピュータ・システムを示している。冗長さを避けるために、方法に関して説明した全ての詳細及び変形が、本明細書において、デバイスに対しても含まれるわけではない。そのような詳細及び変形は、提供した特定の説明と直接的に対立しない限り、デバイスの説明に関しても含まれるとみなされるべきである。
【００４１】
図３は、本発明のいくつかの実施形態に従った、継続的な同期を維持することができる情報管理アプリケーションにおけるモジュールを示すブロック図である。図３は、同期端末の通信ステータスを検出するよう構成された検出モジュール３１０であって、同期端末は、１以上の参加端末のオペレーションを同期させるよう構成される、検出モジュール３１０；同期端末の通信ステータスが、予め定められた条件を満たすとき、参加端末からの、各参加端末に対応する動作ステータス情報をリクエストするよう構成されたリクエスト・モジュール３２０；参加端末によりアップロードされた対応する動作ステータス情報を受信するよう構成された受信モジュール３３０；各参加端末に対応する動作ステータス情報に基づいて、参加端末間のデータ差を計算するよう構成された処理モジュール３４０；各参加端末が、データ差を用いて自身と他の参加端末とを同期させるよう構成されるように、データ差を参加端末にそれぞれ送信するよう構成された送信モジュール３５０；及び、新たな同期端末が、残りの参加端末のオペレーションを同期させるよう構成されるように、同期の完了を示す信号を参加端末から受信した後、予め定められたルールのセットに基づいて、参加端末から新たな同期端末を選択するよう構成された選択モジュール３６０を示している。
【００４２】
上記で示したように、予め定められた条件は、通信ステータスが、同期端末からコンピュータへの最後のレスポンス以後の時間期間が閾値を超えていることである；又は、通信ステータスが、同期端末が１以上の参加端末のオペレーションを同期させるのをやめることを示す中止リクエストである、ことであり得る。
【００４３】
図４は、本発明のいくつかの実施形態に従った、情報管理アプリケーションにおける検出モジュール３１０を示すブロック図である。検出モジュール３１０は、同期端末の通信ステータスを検出するよう構成された通信ステータス検出モジュール４１０；及び、同期端末が参加端末のオペレーションをさらに同期させるのを防ぐよう構成された終了モジュール４２０を含み得る。終了モジュール４２０は、所定の実施形態において実装されるオプションの構成である。
【００４４】
図５は、本発明のいくつかの実施形態に従った、情報管理アプリケーションにおける処理モジュール３４０を示すブロック図である。処理モジュール３４０は、最新フレーム／入力決定モジュール５１０及びデータ差計算モジュール５２０を含み得る。
【００４５】
上記で示したように、動作ステータス情報は、対応する参加端末の動作論理フレーム値及び対応する参加端末のユーザ入力セットを含み得る。詳細には、最新フレーム／入力決定モジュール５１０は、参加端末からの動作論理フレーム値のうち最新の動作論理フレーム値を決定するよう構成される；最新フレーム／入力決定モジュール５１０はまた、参加端末からのユーザ入力セットのうち最新のユーザ入力セットを決定するよう構成される；データ差計算モジュール５２０は、対応する参加端末のユーザ入力セットと最新のユーザ入力セットとの間の差、及び、対応する参加端末の動作論理フレーム値と最新の動作論理フレーム値との間の差を含むデータ差を計算するよう構成される。
【００４６】
図６は、本発明のいくつかの実施形態に従った、情報管理アプリケーションにおける送信モジュール３５０を示すブロック図である。送信モジュール３５０は、参加端末にデータ差を送信するよう構成されたデータ差送信モジュール６１０；及び、オプションで、データ差を用いて参加端末を同期させることに関して、個々の参加端末に指示するよう構成された同期指示モジュール６２０を含み得る。
【００４７】
図７は、本発明のいくつかの実施形態に従った、情報管理アプリケーションにおける選択モジュール３６０を示すブロック図である。選択モジュール３６０は、新たな同期端末選択モジュール７１０及び通知モジュール７２０を含み得る。新たな同期端末選択モジュール７１０は、予め定められたルールのセットに基づいて、参加端末から新たな同期端末を選択するよう構成される。通知モジュール７２０は、新たな同期端末に関する通知信号を残りの全ての参加端末に送信するよう構成される。
【００４８】
予め定められたルールは、（ａ）全ての参加端末のハードウェア性能に基づいて第１位にランク付けされた参加端末が、新たな同期端末として選択される；（ｂ）全ての参加端末の接続安定性に基づいて第１位にランク付けされた参加端末が、新たな同期端末として選択される；（ｃ）全ての参加端末の事前既存リスト上で第１位にランク付けされた参加端末が、新たな同期端末として選択される；（ｄ）参加端末が、全ての参加端末からランダムに選択され、新たな同期端末とされる、ことからなる群から選択され得る。ここで、ハードウェア性能は、クロック・スピード及びプロセッサの数により評価され、接続安定性は、ネットワーク遅延及び変動により評価される。
【００４９】
図９は、本発明のいくつかの実施形態に従った例示的なサーバのブロック図である。例示的なサーバ８１０は、通常、１以上の処理ユニット（ＣＰＵ）９０２、１以上のネットワーク・インタフェース又は他の通信インタフェース９０４、メモリ９１０、及びそれらのコンポーネントを相互接続するための１以上の通信バス９０９を含む。通信バス９０９は、システム・コンポーネント間の通信を相互接続し制御する回路（チップセットと呼ばれることもある）を含み得る。サーバ８１０は、例えば、ディスプレイ９０６及びキーボード９０８等のユーザ入力デバイス９０５を含み得る。メモリ９１０は、高速ランダム・アクセス・メモリを含み得、１以上の磁気ディスク記憶デバイス等の不揮発性メモリを含み得る。メモリ９１０は、ＣＰＵ９０２からリモートに位置する大容量ストレージを含み得る。いくつかの実施形態において、メモリ９１０は、以下のプログラム、モジュール、及びデータ構造、又はそのサブセット若しくはそのスーパセットを記憶する：
・様々な基本システム・サービスを扱う手順及びハードウェア依存のタスクを実行する手順を含むオペレーティング・システム９１２；
・インタネット、他のワイド・エリア・ネットワーク、ローカル・エリア・ネットワーク、メトロポリタン・エリア・ネットワーク等の１以上の通信ネットワーク（有線又は無線）を介して、サーバ８１０を同期端末、参加端末、及び／又は他のコンピュータに接続するために使用されるネットワーク通信モジュール９１４；
・サーバ８１０の適切なオペレーションのために必要とされる、メモリ９１０に記憶された他のモジュール及びデータ構造を初期化するシステム初期化モジュール９１６；
・ユーザ・インタフェース９０５を介してユーザ入力を受信するよう構成されたユーザ・インタフェース・モジュール９１８；及び
・１以上のサーバ側ネットワーク・アプリケーション９２０。各ネットワーク・アプリケーションは、さらに、図３に関連して上述した検出モジュール３１０、リクエスト・モジュール３２０、受信モジュール３３０、処理モジュール３４０、送信モジュール３５０、及び選択モジュール３６０を含む。
【００５０】
図１０は、本発明のいくつかの実施形態に従った同期端末８２５のブロック図である。例示的な同期端末８２５は、通常、１以上の処理ユニット（ＣＰＵ）１００２、１以上のネットワーク・インタフェース又は他の通信インタフェース１００４、メモリ１０１０、及びそれらのコンポーネントを相互接続するための１以上の通信バス１００９を含む。通信バス１００９は、システム・コンポーネント間の通信を相互接続し制御する回路（チップセットと呼ばれることもある）を含み得る。同期端末８２５は、例えば、ディスプレイ１００６及びキーボード１００８等のユーザ・インタフェース１００５を含み得る。同期端末８２５がスマートフォンである場合、ユーザ・インタフェース１００５は、表示及び入力の両方に適したタッチ・スクリーンであり得る。メモリ１０１０は、高速ランダム・アクセス・メモリを含み得、１以上の磁気ディスク記憶デバイス等の不揮発性メモリを含み得る。メモリ１０１０は、ＣＰＵ１００２からリモートに位置する大容量ストレージを含み得る。いくつかの実施形態において、メモリ１０１０は、以下のプログラム、モジュール、及びデータ構造、又はそのサブセット若しくはそのスーパセットを記憶する：
・様々な基本システム・サービスを扱う手順及びハードウェア依存のタスクを実行する手順を含むオペレーティング・システム１０１２；
・インタネット、他のワイド・エリア・ネットワーク、ローカル・エリア・ネットワーク、メトロポリタン・エリア・ネットワーク等の１以上の通信ネットワーク（有線又は無線）を介して、同期端末８２５をサーバ８１０及び／又は参加端末に接続するために使用されるネットワーク通信モジュール１０１４；
・ユーザ・インタフェース１００５を介してユーザ入力を受信するよう構成されたオプションのユーザ・インタフェース・モジュール１０１６；及び
・１以上の端末側ネットワーク・アプリケーション１０１８。各ネットワーク・アプリケーションは、さらに、通信ステータスの形の中止リクエストをサーバに送信するよう構成された中止リクエスト・モジュール１０２０、参加端末を同期させる同期端末８２５の機能を終了させるよう構成された終了モジュール１０３０、及び、同期端末８２５がそのような機能をやめていないときに参加端末のオペレーションを同期させるよう構成されたリモート端末同期モジュール１０４０を含む。
【００５１】
図１１は、本発明のいくつかの実施形態に従った参加端末８３０−１のブロック図である。例示的な参加端末８３０−１は、通常、１以上の処理ユニット（ＣＰＵ）１１０２、１以上のネットワーク・インタフェース又は他の通信インタフェース１１０４、メモリ１１１０、及びそれらのコンポーネントを相互接続するための１以上の通信バス１１０９を含む。通信バス１１０９は、システム・コンポーネント間の通信を相互接続し制御する回路（チップセットと呼ばれることもある）を含み得る。参加端末８３０−１は、例えば、ディスプレイ１１０６及びキーボード１１０８等のユーザ・インタフェース１１０５を含み得る。参加端末８３０−１がスマートフォンである場合、ユーザ・インタフェース１１０５は、表示及び入力の両方に適したタッチ・スクリーンであり得る。メモリ１１１０は、高速ランダム・アクセス・メモリを含み得、１以上の磁気ディスク記憶デバイス等の不揮発性メモリを含み得る。メモリ１１１０は、ＣＰＵ１１０２からリモートに位置する大容量ストレージを含み得る。いくつかの実施形態において、メモリ１１１０は、以下のプログラム、モジュール、及びデータ構造、又はそのサブセット若しくはそのスーパセットを記憶する：
・様々な基本システム・サービスを扱う手順及びハードウェア依存のタスクを実行する手順を含むオペレーティング・システム１１１２；
・インタネット、他のワイド・エリア・ネットワーク、ローカル・エリア・ネットワーク、メトロポリタン・エリア・ネットワーク等の１以上の通信ネットワーク（有線又は無線）を介して、同期端末８２５をサーバ８１０及び／又は参加端末に接続するために使用されるネットワーク通信モジュール１１１４；
・ユーザ・インタフェース１１０５を介してユーザ入力を受信するよう構成されたオプションのユーザ・インタフェース・モジュール１１１６；及び
・１以上の端末側ネットワーク・アプリケーション１１１８。各ネットワーク・アプリケーションは、さらに、動作ステータス情報をサーバ８１０に送信するよう構成された動作ステータス情報伝送モジュール１１２０、データ差に基づいて参加端末８３０−１を同期させるよう構成されたデータ差処理モジュール１１３０、及び、サーバが新たな同期端末として参加端末８３０−１を選択したときに、参加端末のオペレーションを同期させるよう構成されたリモート端末同期モジュール１１４０を含む。
【００５２】
特定の実施形態について上記で説明したが、本発明をそのような特定の実施形態に限定する意図はないことを理解されたい。そうではなく、本発明は、添付の特許請求の範囲の精神及び範囲内にある代替例、修正例、及び均等例を含む。本明細書で提示した主題の完全な理解を提供するために、多数の具体的な詳細について説明した。しかしながら、そのような主題は、具体的な詳細なく実施できることが当業者には明らかであろう。他の例において、実施形態の態様を不必要に曖昧にしないようにするために、周知の方法、手順、コンポーネント、及び回路は、詳細には説明していない。
【００５３】
本明細書における本発明の説明において使用される用語は、特定の実施形態を説明する目的のみに使用されるものであり、本発明を限定するよう意図されてはいない。本発明の説明及び添付の特許請求の範囲において使用されるとき、「ａ」、「ａｎ」、及び「ｔｈｅ」という単数形は、文脈が他の場合を明確に表さない限り、複数形も含むよう意図されている。また、本明細書において使用される用語「及び／又は、且つ／あるいは（and/or）」は、関連するリストされた項目の１以上の任意の及び全ての可能な組合せを指し、そのような組合せを包含することを理解されたい。さらに、用語「含む、備える、有する」等は、本明細書において使用されるとき、記載された特徴、オペレーション、要素、及び／又はコンポーネントの存在を示すものであるが、１以上の他の特徴、オペレーション、要素、コンポーネント、及び／又はそれらのグループの存在又は追加を排除しない。
【００５４】
本明細書において使用されるとき、用語「ならば、場合（if）」は、文脈に応じて、記載された先行する条件が真である「とき（when）」、「とき（upon）」、「と判定したことに応じて」、「と判定したことに従って」、又は「と検知したことに応じて」を意味するよう解釈され得る。同様に、「（記載された先行する条件が真である）と判定された場合」、「（記載された先行する条件が真である）場合」、又は「（記載された先行する条件が真である）とき」という語句は、文脈に応じて、記載された先行する条件が真である「と判定したとき」、「と判定したことに応じて」、「と判定したことに従って」、「と検知したとき」、又は「と検知したことに応じて」を意味するよう解釈され得る。
【００５５】
様々な図面のいくつかは、特定の順番の複数の論理的段階を示しているが、順番に依存しない段階は並び替えられてもよく、他の段階が組み合されてもよいし、他の段階が生じてもよい。いくらかの並び替え又は他のグルーピングが具体的に記載されたが、他の並び替えやグルーピングも当業者には明らかであり、したがって、代替例の網羅的なリストを表すわけではない。さらに、そのような段階は、ハードウェア、ファームウェア、ソフトウェア、又はそれらの任意の組合せにより実装され得ることを認識すべきである。
【００５６】
説明を目的とする上記の記載が特定の実施形態を参照しながら説明された。しかしながら、上記の例示的な説明は、網羅的であるよう、すなわち、本発明を開示した正確な形態に限定するよう意図されるものではない。上記の教示の観点から、多くの修正及び変形が可能である。本発明の原理及びその実際の適用を最良に説明するために、実施形態が選択され説明された。それにより、当業者は、本発明と、意図される特定の使用に適した様々な変形例を含む様々な実施形態とを最良に利用することが可能となる。
【図１】
0005866077.tif 000002
【図２】
0005866077.tif 000003
【図３】
0005866077.tif 000004
【図４】
0005866077.tif 000005
【図５】
0005866077.tif 000006
【図６】
0005866077.tif 000007
【図７】
0005866077.tif 000008
【図８】
0005866077.tif 000009
【図９】
0005866077.tif 000010
【図１０】
0005866077.tif 000011
【図１１】
0005866077.tif 000012