(57)【要約】  システム及び方法は、ユーザ・デバイスがサーバとユニキャスト・トランザクションを再実行することを可能にするために提供される。ユーザ・デバイスは、内側ループ再実行モジュール（３１０）と外側ループ再実行モジュール（３２０）の両者を有するユニキャスト再実行モジュールを含む。内側ループ再実行モジュール（３１０）は、共通の一時的なエラーを取扱い、一方で、外側ループ再実行モジュール（３２０）は、全ての内側ループ再実行がデバイス開始トランザクションに対してし尽くされた後で追加の再実行を許容する。
2009540701.tif 000002
【特許請求の範囲】
【請求項１】
指定された時間ウィンドウ内でサーバと交信するための方法、前記方法は：
前記時間ウィンドウを示している前記サーバからの通知を受信すること、ここで、前記時間ウィンドウは開始時間と終了時間により特徴付けられる；
前記時間ウィンドウ内に位置するガード時間を選択すること；
前記サーバと交信するために許容される外側ループ交信試みの回数を決定すること；
前記時間ウィンドウ内の第１のランダム時間インスタンスにおいて前記サーバと交信すること；及び
最初の試みが失敗した場合に、前記外側ループ交信試みの回数に到達するまで１又はそれより多くの引き続く時間インスタンスにおいて前記サーバと交信すること、
を具備する方法。
【請求項２】
前記第１のランダム時間期間は、前記開始時間と前記ガード時間との間の時間期間である、請求項１の方法。
【請求項３】
前記外側ループ試みの回数は、前記通知が受信される時間に、少なくとも一部は基づいて決定される、請求項１の方法。
【請求項４】
前記第１の試みが失敗した場合に、１又はそれより多くの引き続くインスタンスにおいて前記サーバと交信することは、
前記時間ウィンドウの残りの時間を等しい期間の複数の時間スライスへと分割すること；及び
最も早い時間スライス内でそれぞれの引き続く試みを発すること、を具備する、
ここにおいて、時間スライスの数は、前記外側ループ試みの残りの回数に等しい、
請求項１の方法。
【請求項５】
外側ループ試み内で許容される内側ループ再試みの回数を決定すること；及び
一時的なエラーが生じた場合に、前記決定した回数の内側ループ再試みを実行すること、
をさらに具備する、請求項１の方法。
【請求項６】
再試み待機期間は、規定されそして各内側ループ試みの後に与えられる、請求項５の方法。
【請求項７】
前記各時間スライスの期間は、一時的なエラーを明らかにするために必要な時間の最大の長さ以上である、請求項１の方法。
【請求項８】
前記通知が前記ガード時間の後で受信される場合には、前記最初の交信試みは、前記通知の受信で直ちに行われる、請求項１の方法。
【請求項９】
前記最初の交信試みが失敗した場合に、１又はそれより多くの引き続く交信試みは、どちらが早く起きるとしても、トランザクションが成功するまで又は前記時間ウィンドウが終了するまで、事前に決められた時間インターバルを隔てて行われる、請求項８の方法。
【請求項１０】
無線ネットワークを経由してコンテントを受信するためのデバイス、前記デバイスは、
１又はそれより多くのサービスの利用可能性を示しているサーバからの通知メッセージを受信するように構成された受信機、ここで、前記通知メッセージは前記受信機が１又はそれより多くのサービスを得ることが可能である時間期間を示している時間ウィンドウを含む；及び
前記１又はそれより多くのサービスを受信するために前記サーバと交信する前記時間ウィンドウ内の第１の時間インスタンスを決定するように構成された制御プロセッサ、を具備する、
ここにおいて、前記制御プロセッサは、最初の交信が失敗したと決定される場合に、前記交信を再び試みるようにさらに構成される、
デバイス。
【請求項１１】
前記制御プロセッサは、前記時間ウィンドウ内に位置するガード時間を選択するように構成された論理を具備する、そしてここにおいて、前記第１の時間インスタンスは、前記時間ウィンドウの開始と前記ガード時間との間の時間インスタンスである、請求項１０のデバイス。
【請求項１２】
前記制御プロセッサは、前記通知が受信される時間に少なくとも一部は基づいて、前記サーバと交信するために許容される外側ループ交信試みの回数を決定するように構成される、請求項１０のデバイス。
【請求項１３】
クライアント・デバイスとコンテント・サーバとの間の失敗した通信トランザクションを再実行するように構成されたプロセッサ、前記プロセッサは、
共通の一時的な失敗を取り扱うように構成された内側ループ再実行モジュール；及び
全ての内側ループ再実行をし尽くした後で、追加の再実行を許容するように構成された外側ループ再実行モジュール、を具備する、ここにおいて、
外側ループ試みの回数は、前記コンテント・サーバと交信するための時間ウィンドウを示す通知が受信される時間に、少なくとも一部は基づいて決定される、
プロセッサ。
【請求項１４】
前記内側ループ再実行モジュールは、
前記コンテント・サーバとのトランザクションを完了するために、事前に決められた回数の試みを許容するように構成された内側ループ・カウンタ；及び
前記トランザクションが失敗したことを示すタイムアウト値を特定するように構成された内側ループ・タイマ、
をさらに具備する、請求項１３のプロセッサ。
【請求項１５】
前記外側ループ再実行モジュールは、
前記コンテント・サーバとのトランザクションを完了するために、外側ループ試みの事前に決められた回数を追跡するように構成された外側ループ・カウンタ；及び
前記デバイスが前記サーバと交信しようと試みる、前記時間ウィンドウ内の１又はそれより多くの時間期間を決定するように構成された交信時間決定モジュール、
をさらに具備する、請求項１３のプロセッサ。
【請求項１６】
前記交信決定モジュールは、前記時間ウィンドウの開始と前記時間ウィンドウの終了との間のガード時間を選択するようにさらに構成される、ここにおいて、前記１又はそれより多くの時間期間のうちの最初のものは、前記ガード時間の前である、請求項１３のプロセッサ。
【請求項１７】
コンテント・サーバからコンテントを受信するためのデバイス、ここで、前記デバイスは失敗したトランザクションを再実行することが可能である、前記デバイスは：
前記コンテントを受信するための前記時間ウィンドウを示している前記コンテント・サーバからの通知を受信するための手段、ここで、前記時間ウィンドウは、開始時間と終了時間により特徴付けられる；
前記時間ウィンドウ内に位置するガード時間を選択するための手段；
前記コンテント・サーバと交信するために許容される外側ループ交信試みの回数を決定するための手段；
前記時間ウィンドウ内の第１のランダム時間インスタンスにおいて前記サーバと交信するための手段；及び
最初の試みが失敗した場合に、前記外側ループ交信試みの回数に到達するまで１又はそれより多くの引き続く時間インスタンスにおいて前記サーバと交信するための手段、
を具備するデバイス。
【請求項１８】
前記第１のランダム時間期間は、前記開始時間と前記ガード時間との間の時間期間である、請求項１７のデバイス。
【請求項１９】
前記外側ループ試みの回数は、前記通知が受信される時間に少なくとも一部は基づいて決定される、請求項１７のデバイス。
【請求項２０】
前記最初の試みが失敗した場合に、１又はそれより多くの引き続くインスタンスにおいて前記サーバと交信するための手段は、
前記時間ウィンドウの残りの時間を等しい期間の複数の時間スライスへと分割するための手段；及び
最も早い時間スライス内でそれぞれの引き続く試みを発するための手段、を具備する、
ここにおいて、時間スライスの数は、前記外側ループ試みの残りの回数に等しい、
請求項１７のデバイス。
【請求項２１】
外側ループ試み内で許容される内側ループ再試みの回数を決定するための手段；及び
一時的なエラーが生じた場合に、前記決定した回数の内側ループ再試みを実行するための手段、
をさらに具備する、請求項１７のデバイス。
【請求項２２】
再試み待機期間は、規定されそして各内側ループ試みの後に与えられる、請求項２１のデバイス。
【請求項２３】
前記各時間スライスの期間は、一時的なエラーを明らかにするために必要な時間の最大の長さ以上である、請求項１７のデバイス。
【請求項２４】
前記通知が前記ガード時間の後で受信される場合には、前記最初の交信試みは、前記通知の受信で直ちに行われる、請求項１７のデバイス。
【請求項２５】
前記最初の交信試みが失敗した場合に、１又はそれより多くの引き続く交信試みは、どちらが早く起きるとしても、トランザクションが成功するまで又は前記時間ウィンドウが終了するまで、事前に決められた時間インターバルを隔てて行われる、請求項２４のデバイス。
【請求項２６】
指定された時間ウィンドウ内でサーバと交信するための方法を実行するためにコンピュータにより実行可能な命令のプログラムを組み込んでいるコンピュータ読取り可能な媒体、前記方法は：
前記時間ウィンドウを示している前記サーバからの通知を受信すること、前記時間ウィンドウは、開始時間と終了時間により特徴付けられる；
前記時間ウィンドウ内に位置するガード時間を選択すること；
前記サーバと交信するために許容される外側ループ交信試みの回数を決定すること；
前記時間ウィンドウ内の第１のランダム時間インスタンスにおいて前記サーバと交信すること；及び
最初の試みが失敗した場合に、前記外側ループ交信試みの回数に到達するまで１又はそれより多くの引き続く時間インスタンスにおいて前記サーバと交信すること、
を具備する方法である、コンピュータ読取り可能な媒体。
【請求項２７】
第１のランダム時間期間は、前記開始時間と前記ガード時間との間の時間期間である、請求項２６のコンピュータ読取り可能な媒体。
【請求項２８】
前記外側ループ試みの回数は、前記通知が受信される時間に少なくとも一部は基づいて決定される、請求項２６のコンピュータ読取り可能な媒体。
【請求項２９】
前記第１の試みが失敗した場合に、１又はそれより多くの引き続くインスタンスにおいて前記サーバと交信することは、
前記時間ウィンドウの残りの時間を等しい期間の複数の時間スライスへと分割すること；及び
最も早い時間スライス内でそれぞれの引き続く試みを発すること、を具備する、
ここにおいて、前記時間スライスの数は、前記外側ループ試みの残りの回数に等しい、
請求項２６のコンピュータ読取り可能な媒体。
【請求項３０】
外側ループ試み内で許容される内側ループ再試みの回数を決定すること；及び
一時的なエラーが生じた場合に、前記決定した回数の内側ループ再試みを実行すること、
をさらに具備する、請求項２６のコンピュータ読取り可能な媒体。
【請求項３１】
再試み待機期間は、規定されそして各内側ループ試みの後に与えられる、請求項３０のコンピュータ読取り可能な媒体。
【請求項３２】
前記各時間スライスの期間は、一時的なエラーを明らかにするために必要な時間の最大の長さ以上である、請求項２６のコンピュータ読取り可能な媒体。
【請求項３３】
前記通知が前記ガード時間の後で受信される場合には、前記最初の交信試みは、前記通知の受信で直ちに行われる、請求項２６のコンピュータ読取り可能な媒体。
【請求項３４】
前記最初の交信試みが失敗した場合に、１又はそれより多くの引き続く交信試みは、どちらが早く起きるとしても、トランザクションが成功するまで又は前記時間ウィンドウが終了するまで、事前に決められた時間インターバルを隔てて行われる、請求項３３のコンピュータ読取り可能な媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書は、一般に通信システムに係わり、そしてより具体的に、マルチキャスト・システム及びユニキャスト・システムにおいてコンテント配布のためのデバイス再実行メカニズムのためのシステム及び方法に関する。
【０００２】
［米国特許法３５§１１９による優先権の主張］
特許のための本出願は、米国特許仮出願番号第６０／８１２，３９５号、名称「ユニキャスト・トランザクションのためのデバイス再実行メカニズム（DEVICE RETRY MECHNISM FOR UNICAST TRANSACTIONS）」、２００６年６月８日出願、に優先権を主張し、そして本出願の譲受人に譲渡され、そしてそれにより本明細書中に引用によって明確に取り込まれている。
【背景技術】
【０００３】
多数のデバイスへのサービスの配布は、複雑な問題である。これは、限られたメモリ又は限られた電池電力のような、限られたリソースを有する移動デバイスに関して特に真実である。しばしば、サービスの配布のために責任のあるサーバと移動デバイスとの間の通信は、失敗する。例えば、サーバは、利用できないことがある、又はそのサーバと移動デバイスとの間の通信が上手くいくことを妨げるネットワーク・エラーがあり得る。
【０００４】
それゆえ、移動デバイスがサーバとの失敗した通信の試みを再実行することを可能にするメカニズムに対してこの分野における必要性がある。それに加えて、デバイスがネットワーク上の負荷を効率的に分散させることをできるようにする必要性がある。
【発明の概要】
【０００５】
本発明の１つの態様では、方法は、指定された時間ウィンドウ内でサーバと交信するために提供され、該時間ウィンドウを示している該サーバからの通知を受信すること、該時間ウィンドウは、開始時間と終了時間により特徴付けられる、該時間ウィンドウ内に位置するガード時間を選択すること、該サーバと交信するために許容される外側ループ交信試みの回数を決定すること、該時間ウィンドウ内の第１のランダム時間インスタンスにおいて該サーバと交信すること、及び最初の試みが失敗した場合に、該外側ループ交信試みの回数に到達するまで１又はそれより多くの引き続く時間インスタンスにおいて該サーバと交信すること、を具備する。
【０００６】
別の１つの態様では、デバイスは、無線ネットワークを経由してコンテントを受信するために提供され、１又はそれより多くのサービスの利用可能性を示しているサーバからの通知メッセージを受信するように構成された受信機、該通知メッセージは、該受信機が１又はそれより多くのサービスを得ることができる時間期間を示している時間ウィンドウを含む、及び該１又はそれより多くのサービスを受信するために該サーバと交信する該時間ウィンドウ内の第１の時間インスタンスを決定するように構成された制御プロセッサ、を具備し、ここにおいて、該制御プロセッサは、最初の交信が失敗したと決定される場合に、該交信を再び試みるようにさらに構成される。
【図面の簡単な説明】
【０００７】
【図１】通信ネットワークの概念的ブロック図である。
【図２】ユーザ・デバイスのブロック図である。
【図３】ユニキャスト再実行モジュールの概念的ブロック図である。
【図４】内側ループ再実行モジュールの図式表示である。
【図５】デバイス再実行メカニズムの動作を図示するフローチャートである。
【図６】再実行メカニズムの図式表示である。
【図７】再実行メカニズムの別の図式表示である。
【詳細な説明】
【０００８】
添付された図面に関係して以下に説明される詳細な説明は、本発明の様々な構成の説明として意図されており、そして本発明が実行され得る唯一の構成を表すように意図されていない。詳細な説明は、本発明の十分な理解を提供する目的のために具体的な詳細を含む。しかしながら、本発明がこれらの具体的な詳細を用いずに実行され得ることは、当業者には明らかであろう。ある複数の事例では、周知の構成及び構成要素は、本発明の概念を不明瞭にすることを避けるためにブロック図の形式で示される。
【０００９】
本明細書中に記述される概念及び技術は、有線媒体及び無線媒体を経由して加入者へコンテントを配信する様々なユニキャスト・システム及びマルチキャスト・システムにおいて使用されることができる。有線媒体の例は、イサーネット・システム、ディジタル加入者回線（ＤＳＬ：Digital Subscriber Line）、ケーブル・モデム、光ファイバ、標準電話回線、及びその他を含む。無線媒体の例は、セルラ・システム、ブロードキャスト・システム、無線ローカル・エリア・ネットワーク（ＷＬＡＮ：wireless local area network）、及びその他を含む。セルラ・システムは、符号分割多元接続（ＣＤＭＡ：Code Division Multiple Access）システム、時分割多元接続（ＴＤＭＡ：Time Division Multiple Access）システム、周波数分割多元接続（ＦＤＭＡ：Frequency Division Multiple Access）システム、直交周波数分割多元接続（ＯＦＤＭＡ：Orthogonal Frequency Division Multiple Access）システム、単一キャリアＦＤＭＡ（ＳＣ−ＦＤＭＡ：Single-Carrier FDMA）システム、及びその他の多元接続システムであり得る。ブロードキャスト・システムは、メディアＦＬＯシステム、手持機器のためのディジタル・ビデオ・ブロードキャスティング（ＤＶＢ−Ｈ：Digital Video Broadcasting for Handhelds）システム、地上波テレビ放送のためのディジタル放送統合サービス（ＩＳＤＢ−Ｔ：Integrated Services Digital Broadcasting for Terrestrial Television Broadcasting）システム、及びその他のブロードキャスト・システムであり得る。ＷＬＡＮシステムは、ＩＥＥＥ８０２．１１システム、Ｗｉ−Ｆｉシステム、及びその他であり得る。これらのシステムは、この分野において公知である。
【００１０】
本明細書中に記述される概念及び技術は、１つのサブキャリアを用いる無線システム、同様に複数のサブキャリアを用いるシステムに好適である。複数のサブキャリアは、ＯＦＤＭ、ＳＣ−ＦＤＭＡ、又はある種の他の変調技術により得られることができる。ＯＦＤＭとＳＣ−ＦＤＭＡは、周波数帯域（例えば、システム帯域幅）を複数の直交サブキャリアへと区分し、それは、トーン、ビン、等とも同様に呼ばれる。各サブキャリアは、データとともに変調されることができる。一般に、変調シンボルは、ＯＦＤＭを用いて周波数ドメインにおいて、そしてＳＣ−ＦＤＭＡを用いて時間ドメインにおいてサブキャリア上に送られる。ＯＦＤＭは、様々なシステムにおいて使用され、例えば、メディアＦＬＯ、ＤＶＢ−Ｈ及びＩＳＤＢ−Ｔブロードキャスト・システム、ＩＥＥＥ８０２．１１ａ／ｇＷＬＡＮシステム、及びある種のセルラ・システムである。ある種の態様及び構成が、ＯＦＤＭ、例えば、メディアＦＬＯシステム、を使用するユニキャスト・システムに対して以下に記述される。
【００１１】
システム及び方法は、失敗の事態においてユーザ・デバイスとサーバとの間のユニキャスト・トランザクションを再び試みるために本明細書中に記述される。しかしながら、本明細書の全体を通して記述される様々な概念がマルチキャスト・システム及び他の通信システムに拡張され得ることを、当業者は容易に認識するであろう。図１は、通信ネットワーク１００の概念的ブロック図を図示する。１又はそれより多くのコンテント・プロバイダ１０２は、サーバ１２０を経由して加入者への配布のためのコンテントを提供するように動作する。この例では、コンテントは、媒体、例えば、ビデオ、オーディオ、マルチメディア・コンテント、クリップ、スクリプト、プログラム、データ、及びいずれかの他の好適なコンテント、を含むことができる。媒体は、リアル・タイム・コンテント、非リアル・タイム・コンテント、及び／又はこの２つの組み合わせ、を具備することができる。それに加えて、サーバ１２０は、ユーザ・サービス申込み、アクセス及び暗号化鍵の配信、及び料金請求情報を提供すること、を管理するように構成されることができる。
【００１２】
図１に示される通信ネットワークは、２つのデータ・ネットワーク１３０，１４０により示される。データ・ネットワーク１３０，１４０は、加入者へコンテントを配信する又は別のサービスを提供する能力があるいずれかのタイプの好適なネットワークであり得る。例として、データ・ネットワーク１３０は、サーバ１２０から地理的な領域全体にコンテントを配布する送信機のネットワークである。この例では、ネットワーク１４０は、セルラ・ネットワークであり得て、加入者がデータ・ネットワーク１３０の地理的な通信可能領域の外であるときに、加入者にコンテントを配信する。あるいは、又はそれに加えて、データ・ネットワーク１４０は、サーバ１２０と加入者との間でユニキャスト・メッセージを伝達するために使用されることができ、加入者が自分のデバイスを起動すること、サービスに申し込むこと、サービス・ライセンス鍵をダウンロードすること、使用追跡報告をアップロードすること、及び／又は他の双方向サービスを可能にする。
【００１３】
この構成では、加入者は、無線ユーザ・デバイス１１０上でコンテントを受信する。ユーザ・デバイス１１０は、しかも、アクセス端末、ハンドセット、無線加入者、無線ユニット、無線デバイス、無線通信デバイス、無線電気通信デバイス、無線電話機、セルラ電話機、ユーザ端末、ユーザ装置、移動局、移動ユニット、加入者局、無線局、移動無線機、無線通信電話機、又はある別の用語で呼ばれることがある。ユーザ・デバイス１１０は、移動電話機、個人ディジタル補助装置（ＰＤＡ：personal digital assistants）、パーソナル・コンピュータ又はラップトップ・コンピュータ、若しくはユニキャスト・データを受信することが可能な他のデバイスであり得る。
【００１４】
図２は、１又はそれより多くの構成における使用のために適したユーザ・デバイス２００を図示するブロック図である。ユーザ・デバイス２００は、プロセッサ２０２、受信機２０４、メモリ２０６、送信機２０８を具備し、全てがデータ・バス２１０に接続される。これらの構成要素は、ユーザ・デバイス２００がサーバと通信し、コンテントを受信することそして別のタイプのデータを交換することを可能にするように構成される。
【００１５】
受信機２０４と送信機２０８は、ハードウェア及び／又はソフトウェアを具備することができ、それはユーザ・デバイス２００が通信チャネルを介して外部デバイス又は外部システムとコンテント・データ及び／又はその他の情報を送信しそして受信することを可能にするように動作する。データ・ネットワーク１３０，１４０（図１参照）の１つ又は両方とのＯＦＤＭインターフェースをサポートするように構成されたユーザ・デバイス２００では、受信機２０４は、エンコードされたＯＦＤＭシンボルで変調されたキャリア信号を受信する。受信機２０４は、変調された信号を処理して（例えば、フィルタを通し、増幅し、そして周波数ダウンコンバートして）ＯＦＤＭシンボルを復元し、ＯＦＤＭ復調を実行してデータ・シンボル推定値を生成し、そしてそのデータ・シンボル推定値を処理して（例えば、シンボル逆マッピングし、逆インターリーブし、そしてデコードして）コンテントを復元する。
【００１６】
プロセッサ２０２は、ユーザ・デバイス２００の動作を制御しそして管理するために使用され、同様にユーザへのインターフェースを提供するために使用されることができる。プロセッサ２０２は、ＣＰＵ、プロセッサ、ゲート・アレイ、ハードウェア論理回路、メモリ素子、仮想マシーン、ソフトウェア、及び／又はハードウェアとソフトウェアとの任意の組み合わせ、を具備することができる。一般に、プロセッサ２０２は、機械読み取り可能な命令を実行するように、そしてユーザ・デバイス２００の１又はそれより多くの別の機能素子を制御するように構成されることができる。メモリ２０６は、ユーザ・デバイス２００において情報を記憶するために適した任意のタイプのメモリを具備する。例えば、ユーザ・デバイス２００は、コンテントをダウンロードし、そして追加処理のために受信したコンテントをメモリ２０６中に記憶するように動作することができる。プロセッサが実装される方式は、固有のアプリケーション及びシステム全体に課せられた設計制約に依存する。当業者は、これらの環境下ではハードウェア、ファームウェア、及びソフトウェア構成の互換性を、そしてそれぞれの固有のアプリケーションに対して記述した機能性をどのようにして最も良く実装するかを、認識するであろう。
【００１７】
コンテントを受信することに加えて、ユーザ・デバイス２００は、複数のユニキャスト・トランザクションを実行する。これらのユニキャスト・トランザクションは、ユーザ開始トランザクション又はデバイス開始トランザクションとして分類されることができる。デバイス開始トランザクションは、デバイス状態又はサーバから受信する命令に基づいて個別にデバイスにより行われる要請を含む。ユーザ開始トランザクションは、ユーザが、例えば、特定のメニュー・オプションを選択することにより又はそうでなければ命令を入力することにより、指定された動作を実行するようにデバイスを管理するトランザクションを含む。ユーザ開始トランザクションは、デバイス起動及び申込みを含むことができ、一方で、デバイス開始トランザクションは、サービス鍵ライセンス・ダウンロード要請及び使用追跡ログ・アップロードを含むことができる。他のユニキャスト・トランザクションが、同様に実行されることができる。１つの構成では、図３に図示されたユニキャスト再実行モジュール３００は、ユーザ・デバイス２００が失敗のトランザクションを再実行することを可能にするために使用されることができる。
【００１８】
ユニキャスト再実行モジュール３００は、処理することに関連するエンティティ、ハードウェア、ハードウェアとソフトウェアとの組み合わせ、ソフトウェア、又は実行中のソフトウェアのいずれかを呼ぶように意図されている。例えば、ユニキャスト再実行モジュール３００は、プロセッサ上で実行しているプロセス、プロセッサ、オブジェクト、実行のスレッド、及び／又はプログラムであり得るが、これらに限定されない。ユーザ・デバイス２００（図２参照）において、ユニキャスト再実行モジュール３００は、複数の構成要素の間に分散された別の構成要素、若しくは１又はそれより多くの構成要素へと統合された別の構成要素であり得る。１つの構成では、ユニキャスト再実行モジュール３００は、図２に関連して上に説明したプロセッサ２０２によって実装される。
【００１９】
図３に戻って、ユニキャスト再実行モジュール３００は、内側ループ再実行モジュール３１０と外側ループ再実行モジュール３２０とを含むことができる。内側ループ再実行モジュール３１０は、例えば、使用中であるサーバ、信号フェーディング、又はユーザとデバイスの両者が開始したトランザクションのあいだの他の一時的なエラーのような、共通の一時的な不具合を取り扱うように構成されることができる。外側ループ再実行モジュール３２０は、全ての内側ループ再実行がデバイス開始トランザクションに対してし尽くされた後で、追加の再実行を許容するように構成されることができる。
【００２０】
ある複数の構成によれば、内側ループ再実行モジュール３１０は、内側ループ・カウンタ３１２及び内側ループ・タイマ３１４を含むことができる。内側ループ・カウンタ３１２は、サーバによるトランザクションを完了するためにデバイス設定可能な回数の試みを許容するように構成されることができる。内側ループ・カウンタ３１２は、各トランザクション失敗の後で調節される。そのように、一時的なエラーの事象において、トランザクションを完了するという追加の試みは、トランザクションを中止する前に試みられることができる。ユーザは、全ての試みがし尽くされた後で失敗を知らされる必要があるだけである。その上、内側ループ再実行モジュール３１０は、内側ループ・タイマ３１４を含むことができる。タイムアウト値は、各交信トランザクションに対して規定されることができる。タイマのタイムアウト値が満了する場合には、これは、トランザクション試みが失敗であることを示す。トランザクションを失敗にさせるいずれかのエラーから回復させる時間期間を提供するために、デバイスは、トランザクションを再び試みる前に、設定可能な再送信を待機する期間を待つことができる。
【００２１】
図４は、１つの構成にしたがった、内側ループ再実行モジュールの動作の図式表示を提供する。時間ｔ１で示されたように、クライアント・デバイスは、要請メッセージを送る。例えば、クライアントは、起動要請又は１又はそれより多くのサービスへの申込み要請を提出することができる。要請メッセージを送信すると、クライアント・デバイスは、サーバからの応答を受信するために設定可能な期間Ｔｔｉｍｅｏｕｔ待つ。Ｔｔｉｍｅｏｕｔの前に応答が受信されない場合には、クライアント・デバイスは、第２の要請トランザクションを送信する前に設定可能な期間ＴＲｅａｔｔｅｍｐｔのあいだ待つ。デバイスは、トランザクションが成功するまで又は再試みの規定された回数に到達するまで、要請トランザクションを送信し続ける。トランザクションが成功で終わらなかった場合には、デバイスは、ユーザへ失敗を示しているメッセージを与えることができる。ユーザは、後の時間に再びトランザクションを開始することができる。
【００２２】
デバイス開始トランザクションは、サーバから通知メッセージを受信することに応じてデバイスによって開始されることができる。例えば、サーバは、新たなライセンス鍵が利用可能であることを指示する通知、又はユーザが使用追跡ログをアップロードすることを要請する通知を提供することができる。通知メッセージは、デバイスが指定された情報を受信するため又は提出するためにその期間のあいだに交信するはずの時間ウィンドウを直接的に又は間接的に指定することができる。時間ウィンドウは、クライアント・デバイスにより行われる要請を一様に分散させるために使用されることができ、サーバ及びネットワークの過負荷問題を軽減する。
【００２３】
デバイス開始トランザクションを開始するために、何もユーザ動作が必要とされないため、外側ループ再実行モジュール３２０は、内側ループ試みに加えて、設定可能な回数の外側ループ再実行試みを実行可能にするように与えられる。図３に図示されたように、外側ループ再実行モジュール３２０は、外側ループ・カウンタ３２２及び交信時間決定ユニット３２４を含むことができる。外側ループ・カウンタ３２２は、設定可能な回数の外側ループ再試みを追跡するように設定される。各外側ループ再試みの期間に、クライアントは、一時的な失敗に対して設定可能な回数の内側ループ再実行を実行することができる。交信時間決定ユニット３２４は、時間ウィンドウの範囲内で１又はそれより多くの回数を決定するように設定されることができる、そこにおいて、デバイスは、サーバと交信することを試みる。
【００２４】
図５は、１つの構成にしたがった、デバイス開始トランザクションを実行するユーザ・デバイスの動作を説明するフローチャートである。５０２において図示されるように、デバイスは、通知メッセージを受信する。この通知メッセージは、例えば、使用追跡通知、サービス警告、クライアント・アプリケーション・アップグレード通知、サービス鍵エポック通知、及び／又は他の通知、であり得る。通知は、ユーザ・デバイスがその期間にサーバと交信する必要がある時間ウィンドウを与える。
【００２５】
時間ウィンドウは、２つのパラメータＴＷＳｔａｒｔとＴＷＥｎｄにより定義されることができ、ここにおいて、ＴＷＳｔａｒｔは、デバイスがサーバとユニキャスト・トランザクションを開始することを試みることができる最も早い時間を規定し、そしてＴＷＥｎｄは、デバイスがユニキャスト・トランザクションを開始することを試みることができる最も遅い時間を規定する。ある構成にしたがって、デバイスが時間ＴＷＥｎｄの前に必要な情報を送ること又は受信することができない場合には、トランザクションは放棄される。
【００２６】
パラメータＴＷＳｔａｒｔとＴＷＥｎｄは、実行されようとしている動作のタイプに、少なくとも部分的に基づいて規定されることができる。例えば、実行されようとしている動作がサービス鍵ライセンス・ダウンロードである場合には、ＴＷＳｔａｒｔは、ネットワークが新たなサービス鍵エポックをブロードキャストする時間として規定されることができ、ＴＷＥｎｄは、新たなサービス鍵エポックが始まる時間であり得る。使用追跡アップロード通知に関して、パラメータは、通知メッセージの一部として指定されることができる。
【００２７】
通知メッセージの受信で、デバイスは、５０４において示されるように、ガード時間ＴＷＧｕａｒｄを計算することができる。ガード時間は、時間ウィンドウの開始と時間ウィンドウの終わりとの間の時間インスタンスである。サーバと交信しようとする最初の試みがかなり遅延するデバイスでさえ、その最初の試みにおける失敗の事象において妥当な回数の再実行のための機会を有するように計算される。
【００２８】
失敗のケースにおいてデバイスがサーバと交信することを許容される試みの回数は、設定可能なパラメータであり、それはデバイスがサーバと交信するための通知を受信することが時間ウィンドウの終わりにどれだけ近いかに部分的に基づくことができる。５０６において示されるように、デバイスは、通知に応じてサーバと交信することを許容される試みの最大数を計算する。これは、内側ループ試みの最大数及び外側ループ試みの最大数を決定することを含むことができる。ある複数の構成にしたがえば、許容される外側ループ試みの最大数は、通知がいつデバイスにより受信されるかに依存することがある。それはそれとして、デバイスは、ガード・インターバルの前に通知が受信されるケースに対する送信試みの最大数及びガード・インターバルにおいて又はその後で通知が受信されるケースに対する送信試みの最大数を計算することができる。これらの値の計算は、下記にさらに詳細に説明される。
【００２９】
一旦、デバイスがサーバと交信することを許容される試みの回数を決定すると、デバイスは、５０８において示されるように、交信を開始することができる。ステップ５１０において、デバイスは、交信試みが成功であったかどうかを判断する。失敗は、例えば、一時的な失敗、事前設定タイムアウト値の終了、及び／又は他の失敗指標を表明する共通メッセージ送信プロトコルからの通知の受信により、指示されることができる。交信試みが不成功である場合には、引き続く試みは、試みの最大数に到達するまで、又は時間ウィンドウが終わるまで行われる。
【００３０】
クライアント・デバイスが時間ウィンドウの通知を受信する時間は、例えば、デバイス能力、デバイスとサーバとの間の接続、及び／又はその他の変動、に基づいて変化する。図６は、時間ウィンドウ通知がガード時間の前に受信される再実行計算メカニズムの動作を図示する。
【００３１】
クライアント・デバイスが時間ウィンドウ通知を受信するとき、クライアント・デバイスは、ＴＷＳｔａｒｔとＴＷＧｕａｒｄとの間のランダムな時間インスタンスとして最初の外側ループ試みを実行するための時間ｔ１を選択することができる。最初の外側ループ試みが失敗である場合には、時間ウィンドウの残りの期間は、等しい期間の複数の時間スライスへと分割されることができる。複数の時間スライスは、そのデバイスに対して利用可能な外側ループ試みの回数として規定されることができる。
【００３２】
次の外側ループ試みに関して、クライアント・デバイスは、次の最も早い時間スライスを選択し、そして選択した時間スライス内のランダムなインスタンスを選ぶ。トランザクションは、外側ループ試みの事前に決められた回数にわたり試みられることができる。図６に図示されていないが、１又はそれより多くの内側ループ再試みが、外側ループ時間スライスの範囲内で行われることができる。そのように、一時的なエラーが外側ループ試みの期間に生じる場合には、デバイスは、許容される内側ループ試みの規定された回数に基づいて時間スライス内で動作を再実行する。
【００３３】
ある複数の構成にしたがって、クライアント・デバイスは、ガード時間において又はその後で通知メッセージを受信することがある。図７は、ユニキャスト再実行メカニズムの動作を図示し、ここにおいて、通知は、ガード時間において又はその後で受信される。最初の試みが時間ウィンドウの遅くに起きたとしても、デバイスは、失敗の事象において再実行のために十分な時間をまだ認められている。
【００３４】
図７に図示されたように、最初に試みられるユニキャスト・トランザクションは、通知ＴＮｏｔｉｆｉｃａｔｉｏｎを受信した後で可能な限り早く起きる。これは時間ｔ１で図示される。最初の試みが失敗した場合には、デバイスは、引き続く試みを行う前に設定可能な時間インターバルＴＰｏｓtを待機することができる。現在の試みが失敗した場合には、デバイスは、事前に定められた試みの最大数ＮＰｏｓｔになるまで、引き続く試みを行い続ける。デバイスが時間ウィンドウの終わりの前にサーバに首尾よく接触できない場合には、試みの最大数に到達していない場合でさえ、デバイスは、さらなる試みを放棄することがある。
【００３５】
図８は、１又はそれより多くの構成における使用のために適したユーザ・デバイス８００を図示するブロック図である。ユーザ・デバイス８００は、処理するためのモジュール８０２，受信するためのモジュール８０４、メモリ・モジュール８０６、及び送信するためのモジュール８０８を具備し、その全てがデータ・バス８１０に接続される。これらの構成要素は、ユーザ・デバイス８００がサーバと通信し、コンテントを受信しそして別のタイプのデータを交換することを可能にするように構成される。
【００３６】
受信するためのモジュール８０４及び送信するためのモジュール８０８は、ハードウェア及び／又はソフトウェアを具備することができ、それはユーザ・デバイス８００が通信チャネルを介して外部デバイス又はシステムによりコンテント・データ及び／又は他の情報を送信しそして受信することを可能にするように動作する。１又は両方のデータ・ネットワーク１３０，１４０（図１参照）を用いてＯＦＤＭインターフェースをサポートするように構成されたユーザ・デバイス８００において、受信するためのモジュール８０４は、エンコードされたＯＦＤＭシンボルにより変調されたキャリア信号を受信する。受信するためのモジュール８０４は、変調された信号を処理して（例えば、フィルタを通し、増幅し、そして周波数ダウンコンバートして）ＯＦＤＭシンボルを復元し、ＯＦＤＭ復調を実行してデータ・シンボル推定値を生成し、そしてそのデータ・シンボル推定値を処理して（例えば、シンボル逆マッピングし、逆インターリーブし、そしてデコードして）コンテントを復元する。
【００３７】
処理するためのモジュール８０２は、ユーザ・デバイス２００の動作を制御しそして管理するために使用されることができ、同様に、ユーザへのインターフェースを提供する。処理するためのモジュール８０２は、ＣＰＵ、プロセッサ、ゲート・アレイ、ハードウェア論理回路、メモリ素子、仮想マシーン、ソフトウェア、及び／又はハードウェアとソフトウェアの任意の組み合わせを具備することができる。一般に、処理するためのモジュール８０２は、機械読み取り可能な命令を実行するように、そしてユーザ・デバイス８００の１又はそれより多くの他の機能素子を制御するように構成されることができる。メモリ・モジュール８０６は、ユーザ・デバイス８００において情報を記憶するため適した任意のタイプのメモリを具備する。例えば、ユーザ・デバイス８００は、コンテントをダウンロードするように構成されることができ、そしてさらなる処理のために受信したコンテントをメモリ・モジュール８０６中に記憶することができる。処理するためのモジュール８０２が実装される方式は、固有のアプリケーション、及びシステム全体に課せられた設計制約に依存する。当業者は、これらの状況の下でハードウェア、ファームウェア、及びソフトウェア構成の互換性を認識するであろう、そしてそれぞれの固有のアプリケーションに対して説明した機能性をどのようにして最も良く実装するかを認識するであろう。
【００３８】
開示された構成のこれまでの説明は、当業者が本発明を行うこと又は使用することを可能にするために提供される。これらの構成への様々な変形は、当業者にとって容易に明らかであろう、そして本明細書中に規定される一般的な原理は、本発明の精神又は範囲から逸脱しないで他の構成に適用することができる。そのように、本発明は、本明細書中に示された構成に限定するように意図されるのではなく、特許請求の範囲と整合する広い範囲に一致するはずである、ここにおいて、単数形での要素の言及は、具体的にそのように述べられない限り、「１つ及び唯一」を意味するように意図されず、むしろ、「１又はそれより多く」を意味するように意図される。当業者に既知の又は後で知られるようになる、本明細書全体を通して記述された様々な構成の要素と同等な全ての構成及び機能は、引用により本明細書中に広く取り込まれており、そして特許請求の範囲により包含されるように意図されている。さらに、本明細書中に開示されたものは、そのような開示が特許請求の範囲に明確に記載されているかどうかに拘わらず、公衆に供されるように意図されている。Ｍｏ請求項要件（Mo claim element）は、該要件が用語“のための手段”を使用して明らかに記載されていない限り、又は方法請求項のケースでは、要件が用語“のためのステップ”を使用して記載されていない限り、米国特許法３５§１１２、第６項の条項の下で解釈されるべきである。
【図１】
2009540701.tif 000003
【図２】
2009540701.tif 000004
【図３】
2009540701.tif 000005
【図４】
2009540701.tif 000006
【図５】
2009540701.tif 000007
【図６】
2009540701.tif 000008
【図７】
2009540701.tif 000009
【図８】
2009540701.tif 000010
【国際調査報告】
2009540701.tif 000011
2009540701.tif 000012
2009540701.tif 000013