制御情報の論理的分離によりデバイス動作を高速化する方法及びシステム
【課題】デバイス動作を管理する方法及びシステムを提供する。
【解決手段】制御情報を2つ以上の部分に分割し、各部分には一意な制御シーケンス番号が関連付けられる。2つ以上の部分はリアルタイムサービスと非リアルタイムサービスとを含む。制御シーケンス中のどの部分を更新しなければならないかを判定するため、関連制御シーケンス番号の各々は更新サイクル中に検査される。制御シーケンス番号は制御情報の更新に関係する情報を含む。
【解決手段】制御情報を2つ以上の部分に分割し、各部分には一意な制御シーケンス番号が関連付けられる。2つ以上の部分はリアルタイムサービスと非リアルタイムサービスとを含む。制御シーケンス中のどの部分を更新しなければならないかを判定するため、関連制御シーケンス番号の各々は更新サイクル中に検査される。制御シーケンス番号は制御情報の更新に関係する情報を含む。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願の相互参照)
本願は、米国特許法第119条のもと、本願の譲受人に譲渡された2005年3月10日に出願された仮出願番号第60/660,900号の優先権を主張するものであり、本明細書に参照として明示的に組み込まれる。
【0002】
本発明は通信ネットワークにおける伝送効率に関する。より具体的には、本発明は無線通信ネットワークでデバイスレイテンシーを改善することに関する。
【背景技術】
【0003】
FLOは主に、何百万もの無線加入者へ同時に同じマルチメディアコンテンツを効率的且つ経済的に配布するための技術である。FLO技術の目標は、かかるコンテンツの配信にともなうコストを抑え、従来のセルラー音声及びデータサービスに一般的に使われている携帯電話機で、ユーザがコンテンツのチャネルをサーフィンすることを可能にすることである。このマルチメディアコンテンツはまた、サービスとして知られている。サービスは、1つ以上の独立データコンポーネントの集まりである。サービスの各独立データコンポーネントはフローと呼ばれる。
【0004】
サービスはそれらのカバレッジに基づき2種類に、すなわちワイドエリアサービスとローカルエリアサービスとに、分類される。ローカルエリアサービスは、一大都市地域の中で受信されるマルチキャストである。対照的に、ワイドエリアサービスは1つ以上の大都市地域の中でのマルチキャストである。
【0005】
FLOサービスは、MediaFLO(登録商標)論理チャネル又はMLCとして知られる1つ以上の論理チャネル上で搬送される。MLCは、最高3つの論理サブチャネルに分けることができる。これらの論理サブチャネルはストリームと呼ばれる。各々のフローは単一のストリームの中で搬送される。
【0006】
ワイドエリアサービス又はローカルエリアサービスに基づいたネットワークでデバイスを適切に作動させるには、デバイスは、ネットワークから現行の制御情報ブロードキャストを取得しなければならない。デバイスが正確な制御情報を取得する前にこれの動作の全てを確実に実行することは、様々な理由のため、困難である。この不信頼性のため、いくつかのデバイス動作のレイテンシーは、デバイスが最新且つ現行の制御情報を取得するのにかかる時間に比例して増加することがある。
【0007】
したがって、現行且つ最新の制御情報を得ることに左右されるデバイス動作実行のレイテンシーを改善する方法及びシステムが必要である。
【発明の概要】
【0008】
本明細書において具体化され大まかに説明される本発明の原理に沿って、本発明はデバイス動作を管理する方法を含む。同方法は、制御情報を2つ以上の部分に分割することを含み、各部分には一意な制御シーケンス番号が関連付けられる。どの部分を更新しなければならないかを判定するため、関連制御シーケンス番号の各々は更新サイクル中に検査される。
【0009】
別の態様は、デバイス動作を管理する方法を遂行するため1つ以上のプロセッサによって実行される1つ以上の命令からなる1つ以上のシーケンスを保持するコンピュータ読取可能媒体を含む。同命令は、1つ以上のプロセッサによって実行されるときに、制御情報を2つ以上の部分に分割するステップを1つ以上のプロセッサに遂行させ、各部分には一意な制御シーケンス番号が関連付けられる。1つ以上のプロセッサはまた、どの部分を更新しなければならないかを判定するため、制御シーケンス番号の各々を更新サイクル中に検査する。
【0010】
さらに別の態様は、デバイス動作を管理する装置を含む。同装置は、2つ以上の部分に分割された制御情報を受信する手段を含み、各部分には一意な制御シーケンス番号が関連付けられる。装置はまた、受信制御シーケンス番号の各々で変更を検査する手段と、変更された制御シーケンス番号に対応する受信制御情報の部分を更新する手段とを含む。
【0011】
さらに別の態様は、プロセッサを有するデバイスを含む。同プロセッサは第1及び第2のロジック部を含み、ここで第1のロジック部は制御情報を受信するよう構成され、同制御情報は2つ以上の部分に分割され、各部分には一意な制御シーケンス番号が関連付けられる。第2のロジック部は、どの部分を更新しなければならないかを判定するため、制御シーケンス番号の各々を更新サイクル中に検査するよう構成される。
【0012】
本発明は、ネットワークによって送信される制御情報を別々のビンに論理的に分けることによって、通信デバイスのレイテンシーを改善する。制御情報がリアルタイム媒体又は非リアルタイム媒体に関係するかどうかに応じて、デバイス内の制御情報は、媒体通信の中断を避ける形で更新される。正確な制御情報を得ることに左右される動作実行のレイテンシーは、レイテンシー感応性デバイス動作にとって必要な制御情報を、他のデバイス動作にとって必要な制御情報とは別に(すなわち別のビンの中で)ブロードキャストすることによって抑えられる。
【0013】
これより本発明のさらなる特徴及び利点を、ならびに本発明の様々な実施形態の構造及び動作を、添付の図面を参照しながら詳しく説明する。
【図面の簡単な説明】
【0014】
【図1】コンテンツ配信システムの一実施形態を含むネットワークの図解である。
【図2】図1のコンテンツ配信システムの一実施形態での使用に適するコンテンツプロバイダの一実施形態の図解である。
【図3】コンテンツ配信システムの一実施形態での使用に適するコンテンツサーバの一実施形態の図解である。
【図4】ネットワークの中で送信される信号の代表的なスーパーフレームの図解である。
【図5】フローとストリームとMediaFlo論理チャネル(MLC)との従来の関係の図である。
【図6】実施形態に従って構築された例示的なサービスIDメッセージの図解である。
【図7】実施形態に従って構築された例示的なフロー記述メッセージの図解である。
【図8】従来のネットワークで生じる取得レイテンシーを解決する例示的な手法のブロック図解である。
【図9】図8に示された制御プロトコルパケットの構造のより詳細な図である。
【図10】実施形態を実践する例示的な方法のフロー図である。
【図11】実施形態に従って構築された装置のブロック図である。
【発明を実施するための形態】
【0015】
本明細書に組み込まれ明細書の一部をなす添付の図面は、本発明の実施形態を図解し、さらに上述した概説と後述する実施形態の詳説とともに、本発明の原理を説明するのに役立つ。
【0016】
以降の本発明の詳細な説明では、本発明に一致する例示的な実施形態を図解する添付の図面を参照する。別の実施形態は可能であり、本発明の精神と範囲の中でこれらの実施形態に修正を施すことができる。したがって、以降の詳細な説明は本発明を制限することを意図しない。むしろ本発明の範囲は添付の特許請求の範囲によって規定される。
【0017】
本明細書では、本発明の特徴が盛り込まれた1つ以上の実施形態を開示する。開示される実施形態は本発明を例証するものに過ぎない。本発明の範囲は開示される実施形態に限定されない。本発明は、本明細書に添付された特許請求の範囲によって規定される。
【0018】
説明される実施形態と、明細書における「一実施形態(one embodiment)」、「実施形態(an embodiment)」、「実施形態例(an example embodiment)」、その他への言及は、説明される実施形態が、ある特定の特徴、構造、又は特性を含み得ること、ただし必ずしも全ての実施形態が特定の特徴、構造、又は特性を含むとは限らないことを意味する。しかも、かかる文言は必ずしも同じ実施形態に言及するとは限らない。さらに、ある特定の特徴、構造、又は特性が実施形態との関係で説明される場合、明示的に説明されようがされまいが、別の実施形態との関係でかかる特徴、構造、又は特性を達成することは当業者の知識の範囲内にあると理解される。
【0019】
これより説明する本発明を、ハードウェア、ソフトウェア、ファームウェア、及び/又は図面で図解されるエンティティの数多くの異なる実施形態で実施できることは、当業者にとって明白であろう。本発明を実施するための実際のソフトウェアコードと特化された制御下ハードウェアは本発明を制限するものではない。よって、本明細書に提示される詳細の度合いに応じて実施形態の修正及び変化は可能であるとの了解のもと、本発明の動作と挙動を説明する。
【0020】
図1は、マルチメディアコンテンツフローを作成しデータネットワーク全域にこれをトランスポートするよう作動するトランスポートシステムを備える、通信ネットワーク100を示している。例えば、トランスポートシステムは上で指摘したFLOシステムの原理に一致し、ブロードキャスト配布のためコンテンツプロバイダネットワークから無線アクセスネットワークへのコンテンツクリップトランスポートでの使用に適する。
【0021】
ネットワーク100は、コンテンツプロバイダ(CP)102と、コンテンツプロバイダネットワーク104と、最適化ブロードキャストネットワーク106と、無線アクセスネットワーク108とを備える。ネットワーク100はまた、携帯電話112と、個人用デジタル補助装置(PDA)114と、ノートブックコンピュータ116とを備える、デバイス110を含む。デバイス110は、トランスポートシステムとの使用に適するデバイスのほんの一部を図解している。図1には3つのデバイスが示されているが、当業者にとって明白であるように、事実上いくつもの類似デバイスであれ、又はいかなるタイプのデバイスであれ、トランスポートシステムでの使用に適することに注意されたい。
【0022】
コンテンツプロバイダ102は、ネットワーク100にてユーザへの配布のためコンテンツを提供するように作動する。コンテンツは、映像、音声、マルチメディアコンテンツ、クリップ、リアルタイム及び非リアルタイムコンテンツ、スクリプト、プログラム、データ、又は他の何らかのタイプの相応しいコンテンツを備える。コンテンツプロバイダ102は、配布のためコンテンツプロバイダネットワーク104へコンテンツを提供する。例えば、コンテンツプロバイダ102は通信リンク118を介しコンテンツプロバイダネットワーク104と通信し、同通信リンクは、何らかの相応しいタイプの有線及び/又は無線通信リンクを備える。
【0023】
コンテンツプロバイダネットワーク104は、ユーザへの配信のためコンテンツを配布するよう作動する有線及び無線ネットワークの任意の組み合わせを備える。コンテンツプロバイダネットワーク104は、リンク120を介して最適化ブロードキャストネットワーク106と通信する。リンク120は、何らかの相応しいタイプの有線及び/又は無線通信リンクを備える。最適化ブロードキャストネットワーク106は、高品質コンテンツをブロードキャストするよう設計された、有線及び無線ネットワークの任意の組み合わせを備える。例えば、最適化ブロードキャストネットワーク106は、複数の最適化通信チャネル上で選択されたデバイスへ高品質コンテンツを配信するよう最適化された専用独自ネットワークであってよい。
【0024】
トランスポートシステムは、配布のためコンテンツプロバイダ102からコンテンツプロバイダネットワーク104にあるコンテンツサーバ(CS)122へ、コンテンツを配信するよう作動し、同コンテンツサーバは、無線アクセスネットワークにあるブロードキャスト基地局(BBS)124と通信するよう作動する。CS122とBBS124とはトランスポートインタフェース126の1つ以上の実施形態を用いて通信し、同トランスポートインタフェース126は、コンテンツプロバイダネットワーク104が、デバイス110へのブロードキャスト/マルチキャストのため無線アクセスネットワーク108へコンテンツをコンテンツフローの形で配信することを可能にする。トランスポートインタフェース126は、制御インタフェース128とベアラチャネル130とを備える。制御インタフェース128は、コンテンツプロバイダネットワーク104から無線アクセスネットワーク108へ流れるコンテンツフローを、CS122が追加する、変更する、取り消す、又は修正することを可能にするよう作動する。ベアラチャネル130は、コンテンツプロバイダネットワーク104から無線アクセスネットワーク108へコンテンツフローをトランスポートするよう作動する。
【0025】
CS122は、無線アクセスネットワーク108上でのブロードキャスト/マルチキャストのためBBS124へ送信されるコンテンツフローのスケジュールを組むためトランスポートインタフェース126を使用する。例えばコンテンツフローは、配布のためコンテンツプロバイダネットワーク104を用いてコンテンツプロバイダ102によって提供された非リアルタイムコンテンツクリップを備えてよい。CS122は、コンテンツクリップに関連する1つ以上のパラメータを判定するためBBS124と交渉するよう作動する。コンテンツクリップを受け取ったBBS124は、デバイス110の内1つ以上による受信のため、コンテンツクリップを無線アクセスネットワーク108上でブロードキャスト/マルチキャストする。デバイス110はいずれも、コンテンツクリップを受信することを、そしてデバイスユーザによる後刻の閲覧のためこれをキャッシュすることを、許可される。
【0026】
前述の例で、デバイス110はクライアントプログラム132を備え、同クライアントプログラムは、無線アクセスネットワーク108上でのブロードキャストに向けてスケジュールが組まれたコンテンツの一覧を表示する番組ガイドを提供するように作動する。このときデバイスユーザは、リアルタイム提供のため、又は後刻の閲覧のためキャッシュ134に格納される、特定のコンテンツの受信を選択できる。例えば、夕方のブロードキャストに向けてコンテンツクリップのスケジュールを組むことができ、デバイス112は、そのブロードキャストを受信しキャッシュ134にコンテンツクリップをキャッシュするよう作動し、このようにしてデバイスユーザは翌日にクリップを閲覧できる。典型的に、コンテンツは契約サービスの一部としてブロードキャストされ、受信デバイスはブロードキャストの受信にあたってキーを提供するか、又は自身を認証する必要がある場合がある。
【0027】
トランスポートシステムは、番組ガイドレコードと、番組コンテンツと、その他関連情報とを、CS122がコンテンツプロバイダ102から受信することを可能にする。CS122は、デバイス110への配信のためコンテンツを更新する、及び/又は作成する。
【0028】
図2はコンテンツ配信システムでの使用に適するコンテンツプロバイダサーバ200を示している。例えば、サーバ200は図1のサーバ102として使用できる。サーバ200は、いずれも内部データバス212へ結合された処理ロジック202と、リソース及びインタフェース204と、トランシーバロジック210とを備える。サーバ200はまた、同じくデータバス212へ結合された起動ロジック214と、PG206と、PGレコードロジック208とを備える。
【0029】
処理ロジック202は、中央演算処理装置(CPU)、プロセッサ、ゲートアレイ、ハードウェアロジック、記憶素子、仮想マシン、ソフトウェア、及び/又はハードウェア及びソフトウェアの任意の組み合わせを備える。よって処理ロジック202は一般的に、機械読取可能命令を実行するため、そして内部データバス212を介してサーバ200の1つ以上のその他機能素子を制御するためのロジックを備える。
【0030】
リソース及びインタフェース204は、サーバ200と内部及び外部システムとの通信を可能にするハードウェア及び/又はソフトウェアを備える。例えば内部システムは、大容量記憶システム、メモリ、ディスプレイドライバ、モデム、又はその他内部デバイスリソースを含んでよい。外部システムは、ユーザインターフェースデバイス、プリンタ、ディスクドライブ、又はその他ローカルデバイス又はシステムを含んでよい。
【0031】
トランシーバロジック210は、サーバ200が、通信チャネル216を用いてリモートデバイス又はシステムとともにデータ及び/又はその他情報を送受信することを可能にするよう作動する、ハードウェアロジック及び/又はソフトウェアを備える。例えば通信チャネル216は、サーバ200とデータネットワークとの通信を可能にするため、何らかの相応しいタイプの通信リンクを備える。
【0032】
起動ロジック214は、CPU、プロセッサ、ゲートアレイ、ハードウェアロジック、記憶素子、仮想マシン、ソフトウェア、及び/又はハードウェア及びソフトウェアの任意の組み合わせを備える。起動ロジック214は、CS及び/又はデバイスがPG206に記載されたコンテンツ及び/又はサービスを選択し受信することを可能にするため、CS及び/又はデバイスを起動するよう作動する。起動ロジック214は起動プロセス中に、CS及び/又はデバイスへクライアントプログラム220を送信する。クライアントプログラム220は、PG206を受信し、利用可能なコンテンツ又はサービスに関する情報をデバイスユーザに向けて表示するため、CS及び/又はデバイス上で実行する。よって起動ロジック214は、CS及び/又はデバイスを認証し、クライアント220をダウンロードし、クライアント220によるデバイス上での提供のためPG206をダウンロードするよう作動する。
【0033】
PG206は、デバイスが受信できるコンテンツ及び/又はサービスを説明する情報を何らかの相応しい形式で備える。例えば、PG206はサーバ200のローカルメモリに格納でき、コンテンツ又はサービス識別子、スケジュール情報、料金、及び/又は他の何らかのタイプの関連情報等、情報を備えてよい。PG206は、利用可能なコンテンツ又はサービスへ変更が施されるときに処理ロジック202によって更新される1つ以上の識別可能なセクションを備える。
【0034】
PGレコード208は、通知メッセージを生成するよう作動するハードウェア及び/又はソフトウェアを備え、同通知メッセージはPG206への変更を識別する、及び/又は説明する。例えば、処理ロジック202がPG206を更新する場合、PGレコードロジック208は変更の通知を受ける。そしてPGレコードロジック208は1つ以上の通知メッセージを生成し、同通知メッセージはサーバ200とともに起動された可能性があるCSへ送信され、このようにしてCSはPG206への変更の通知を速やかに受ける。
【0035】
コンテンツ配信通知メッセージの一部として、メッセージの中で識別されるPGのセクションがいつブロードキャストされるかを指示するブロードキャスト標識が提供される。例えばブロードキャスト標識は、セクションがブロードキャストされることを伝える1ビットと、ブロードキャストがいつ行われるかを伝えるタイム標識とを備えてよい。よって、PGレコードのローカルコピーを更新することを望むCS及び/又はデバイスは、PGレコードの更新済みセクションを受信するため指定された時間にブロードキャストを聞き取る(リッスンする)ことができる。
【0036】
一実施形態において、コンテンツ配信通知システムはコンピュータ読取可能媒体に格納されたプログラム命令を備え、同プログラム命令は、プロセッサによって、例えば処理ロジック202によって実行されるときに、ここで説明するサーバ200の機能を提供する。例えばプログラム命令は、フロッピー(登録商標)ディスク、CDROM、メモリカード、フラッシュメモリデバイス、RAM、ROM、又は他の何らかのタイプのメモリデバイス等のコンピュータ読取可能媒体、又はリソース204を通じてサーバ200へつながるコンピュータ読取可能媒体から、サーバ200の中へロードされてよい。別の実施形態において命令は、トランシーバロジック210を通じてサーバ200へつながる外部デバイス又はネットワークリソースから、サーバ200の中へダウンロードされてよい。プログラム命令は、処理ロジック202によって実行されるときに、本明細書で説明するガイド状態通知システムを提供する。
【0037】
図3は、コンテンツ配信システムでの使用に適するコンテンツサーバ(CS)又はデバイス300を示している。例えばCS300は、図1に示されたCS122又はデバイス110であってよい。CS300は、いずれもデータバス308へ結合された処理ロジック302と、リソース及びインタフェース304と、トランシーバロジック306とを備える。CS300はまた、同じくデータバス308へ結合されたクライアント310と、プログラムロジック314と、PGロジック312とを備える。
【0038】
処理ロジック302は、CPU、プロセッサ、ゲートアレイ、ハードウェアロジック、記憶素子、仮想マシン、ソフトウェア、及び/又はハードウェア及びソフトウェアの任意の組み合わせを備える。よって処理ロジック302は一般的に、機械読取可能命令を実行するため、そして内部データバス308を介してCS300の1つ以上のその他の機能素子を制御するためのロジックを備える。
【0039】
リソース及びインタフェース304は、CS300と内部及び外部システムとの通信を可能にするハードウェア及び/又はソフトウェアを備える。例えば内部システムは、大容量記憶システム、メモリ、ディスプレイドライバ、モデム、又はその他の内部デバイスリソースを含んでよい。外部システムは、ユーザインターフェースデバイス、プリンタ、ディスクドライブ、又はその他ローカルデバイス又はシステムを含んでよい。
【0040】
トランシーバロジック306は、CS300が、通信チャネル314を通じて外部デバイス又はシステムとともにデータ及び/又はその他情報を送受信することを可能にするよう作動する、ハードウェア及び/又はソフトウェアを備える。例えば通信チャネル314は、ネットワーク通信リンク、無線通信リンク、又は他の何らかのタイプの通信リンクを備えてよい。
【0041】
作動中にCS300は起動し、このようにしてこれはデータネットワーク上で利用可能なコンテンツ又はサービスを受信できる。例えばCS300は、起動プロセス中にコンテンツプロバイダサーバに対し自身を識別する。CS300は起動プロセスの一部として、PGロジック312によってPGレコードを受信し格納する。PG312は、CS300が受信できるコンテンツ又はサービスを識別する情報を収容する。クライアント310は、リソース及びインタフェース304を用いて、CS及び/又はデバイス300上でPGロジック312の中にある情報を提供するよう作動する。例えばクライアント310は、PGロジック312の中にある情報をデバイスの一部をなす表示画面上で提供する。クライアント310はまた、リソース及びインタフェースを通じてユーザ入力を受信し、このようにしてデバイスユーザはコンテンツ又はサービスを選択できる。
【0042】
CS300は、トランシーバロジック306を通じて通知メッセージを受信する。例えばメッセージは、CS300へブロードキャストされるか、又はユニキャストされてよく、トランシーバロジック306によって受信されてよい。PG通知メッセージは、PGロジック312にてPGレコードに対する更新を識別する。一実施形態においてクライアント310は、PGロジック312にあるローカルコピーを更新する必要があるか否かを判定するためPG通知メッセージを処理する。例えば一実施形態において、通知メッセージは、セクション識別子と、開始時間と、終了時間と、バージョン番号とを含む。
【0043】
CS300は、PG通知メッセージの中にある情報を、既存のPGロジック312にて局所的に格納されている情報に比較するよう作動する。CS300はPG通知メッセージから、PGロジック312にあるローカルコピーの1つ以上のセクションを更新する必要があると判定する場合に、数通りの方法の内1つでPGの更新済みセクションを受信するよう作動する。例えば、PG通知メッセージの中で指示された時間にPGの更新済みセクションがブロードキャストされてよく、このようにしてトランシーバロジック306はブロードキャストを受信し、更新済みセクションをCS300に渡すことができ、これを受けてCS300はPGロジック312にてローカルコピーを更新する。
【0044】
CS300は、更新の必要があるPGのセクションがどれなのかを受信したPG更新通知メッセージに基づき判定し、所望のPG更新済みセクションを入手するためCPサーバへ要求を送信する。例えば要求は、何らかの相応しい形式を用いてフォーマットされてよく、要求CS識別子、セクション識別子、バージョン番号、及び/又は他の何らかの相応しい情報等の、情報を備えてよい。
【0045】
CS300は、PG通知システムの1つ以上の実施形態において以下の機能の内1つ以上を遂行する。本発明の範囲内で以下の機能を変更、再配置、修正、追加、削除、又は調整できることに注意されたい。
【0046】
1. CSは、コンテンツプロバイダシステムとともに作動しコンテンツ又はサービスを受信するため、起動される。起動プロセスの一部として、クライアントとPGがCSへ送信される。
【0047】
2. 1つ以上のPG通知メッセージがCSによって受信され、局所的に格納されたPGの1つ以上のセクションを更新する必要があるか否かを判定するため使用される。
【0048】
3. 一実施形態においてCSは、局所的に格納された1つ以上のPGセクションを更新する必要があると判定する場合に、これがそのローカルコピーを更新するにあたって必要とするPG更新済みセクションを入手するため、配布システムからのブロードキャストを聞き取る。
【0049】
4. 別の実施形態においてCSは、これが必要とするPG更新済みセクションを入手するためCPへ1つ以上の要求メッセージを送信する。
【0050】
5. CPは要求に応じてPG更新済みセクションをCSへ送信する。
【0051】
6. CSは、受信したPG更新済みセクションを用いてこれのPGローカルコピーを更新する。
【0052】
コンテンツ配信システムは、コンピュータ読取可能媒体に格納できるプログラム命令を備え、同プログラム命令は、例えば処理ロジック302等のプロセッサによって実行されるときに、ここで説明するコンテンツ配信通知システムの機能を提供する。例えば命令は、フロッピーディスク、CDROM、メモリカード、フラッシュメモリデバイス、RAM、ROM、又は他の何らかのタイプのメモリデバイス等のコンピュータ読取可能媒体、又はリソース及びインタフェース304を通じてCS300へつながるコンピュータ読取可能媒体から、CS300の中へロードされてよい。別の実施形態において命令は、トランシーバロジック306を通じてCS300へつながるネットワークリソースから、CS300の中へダウンロードされてよい。プログラム命令は、処理ロジック302によって実行されるときに、本明細書で説明するコンテンツ配信システムを提供する。
【0053】
CS300がただひとつの実施を代表すること、そして本発明の範囲内で他の実施が可能であることに注意されたい。
【0054】
図4は、ネットワーク100の中で送信される信号の代表的なスーパーフレーム400の図解である。例証の目的で、信号送信はネットワーク100の全体を通じて、直交周波数分割多重化(OFDM)の原理に従って行うことができる。ネットワーク100で送信される信号は、ネットワーク100の物理層におけるデータ送信単位であるスーパーフレームに編成される。当業者によって十分に理解されているとおり、ネットワーク物理層はネットワークの順方向リンクのため、チャネル構造、周波数、電力出力、変調、及び符号化仕様を提供する。
【0055】
上述したとおり、FLOに基づくネットワーク100は、数個のサービスを1つ以上の独立データコンポーネントの集まりとしてマルチキャストする。各々の独立データコンポーネントはフローと呼ばれ、映像コンポーネント、音声コンポーネント、及び/又はテキスト、又はサービスのシグナリングコンポーネントを含むことができる。FLOサービスは1つ以上の論理チャネルMLC上で搬送される。
【0056】
図4の例示的な図解において、代表的なスーパーフレーム400はデータ部402とオーバーヘッド部404とを含む。データ部404はさらにデータフレームF1−F4を含むよう細分される。ネットワーク100の物理層でMLCはデータ部404の中でトランスポートされる。実際のところ、トランスポートされるMLCはデータフレームF1−F4にわたって分割されるであろう。図4の例示的なデータ部404では、データフレームF1−F4にわたって2つのMLC(10及び20)が分割されている。つまり、MLC10及び20の各々の内容の4分の1はそれぞれフレームF1−F4の各々の中で搬送される。
【0057】
例えば、識別情報(ID)10を有するMLCは、フレームF1−F4の内1つに各々対応する部分406a−406dに分割される。フレームF1は、MLC10に対応する部分406aに加えて、MLC20に対応するMLC部分408をも含む。
【0058】
また、データ部404の中で、スーパーフレーム400のフレームF1−F4の各々は、フレームの中に含まれたMLC(例えばMLC10及び20)のそれぞれの部分の送信特性に関する重要情報を保持する制御チャネル410を含む。
【0059】
スーパーフレーム400のヘッダ部402はオーバーヘッド情報シンボル(OIS)チャネル412を含む。OISチャネル412はとりわけ、スーパーフレーム400の中でのMLC10の位置をデバイス112に知らせる。よってデバイス112は最初にサービスを要求するときに、正確な位置とMLC10に関係する他の特性をつかむため、まずはスーパーフレーム400の中でOISチャネル412を復号化しなければならず、その後MLC10の中のデータはアンパックでき、使用できる。
【0060】
また、例示的なスーパーフレーム400の中で制御チャネル412は、制御シーケンス番号416の変更を記録する制御番号フィールド414を含む。制御シーケンス番号は、ネットワーク100によってブロードキャストされるサービスで変化が生じたことを伝える。このコンセプトは後ほどより詳しく論述する。
【0061】
デバイス112は最初に起動されるときに、既知の制御特性に従ってスーパーフレーム400の中でOISチャネル412を受信する。デバイス112はOISチャネル412を受信することにより、目的のMLCに関する情報と制御チャネル410の受信と復号化に関する情報とを入手できる。次にデバイス112は制御チャネル410を受信し、特定の目的MLCを受信し復号化する方法について情報を受け取る。
【0062】
このMLC関連情報は、例えばMLC対フローマッピングを含むことができる。次にデバイス112は、例えばこれのローカルキャッシュメモリにこの情報を格納し、特定MLCの受信と復号化に進む。この特定の目的MLCは、例えばケーブルニュースネットワーク(CNN)によって提供される要求フローサービスに関係する場合がある。
【0063】
ひとたび目的のMLCの受信を開始したデバイス112は、後続スーパーフレームで制御チャネル410を監視し続ける必要はない。デバイス112は、とりわけ現行スーパーフレームの中で目的MLCの具体的位置を判定するため、OISチャネル412の監視を続ける。ただしデバイス112は、通常ならば制御チャネル410を受信し復号化することによって得ることになるその他一切のMLC関連情報を受信するにあたって、これのローカルキャッシュメモリに格納された情報に頼ることができる。
【0064】
目的のMLCを受信した後、デバイス112が制御チャネル410を受信し復号化する必要があるのは、目的のMLCが、又はこれに関係する情報が、変化するときだけである。この変更は、例えばネットワーク100によって指図され得る。
【0065】
ネットワーク100が最初にサービスを提供するときに、制御シーケンス番号は、制御シーケンス番号配列416に反映される値「1」等、初期値に設定される。デバイス112は引き続き要求フローサービスCNNを受信しながら、各々の受信スーパーフレームの冒頭でOISチャネル412の監視を続ける。
【0066】
他方デバイス112は、娯楽スポーツテレビ放送ネットワーク(ESPN)等、別のフローサービスを要求する場合に、ESPN関連のMLCに関係する特定の情報を入手するため、制御チャネル412を受信し復号化する必要がある。ただしデバイス112は、この新しいサービスの受信プロセスを開始する前に配列416をチェックし、現行制御シーケンス番号が変化したか否かを、そしてこれのローカルキャッシュメモリに格納された情報が、配列416の中にある現行制御シーケンス番号に一致するか否かを判定する。
【0067】
デバイス112は、制御シーケンス配列416が変化したか否かを判定するチェックにあたって、現行シーケンス番号を確認するため、まずこれのキャッシュメモリに格納された情報をチェックする。そしてこの現行番号を、制御シーケンス配列416に反映された最新の番号に比較する。比較した番号が異なる場合、デバイス112は新しいサービス要求が実施される前にこれのローカルキャッシュメモリが要更新であることを知る。
【0068】
上の例で、配列416の中のシーケンス番号は、ネットワーク100が最初にデバイス112に対しサービス提供を開始するときに「1」の初期値に設定された。ただしネットワーク100は、例えばバックグラウンドモードで、ユーザに気づかれずに、デバイス112へさらなるサービス情報をダウンロードした可能性がある。これらのさらなるサービスのバックグラウンドモードでのダウンロードはMLCにて変化を誘発し、最終的には新しいサービスを反映するため「1」から「2」へのシーケンス番号の変化を招いたであろう。
【0069】
要求ESPNサービスの提供に先駆け、デバイス112は、配列416をチェックし制御シーケンス番号が「1」から「2」に変化したことを確認する場合に、(i)制御チャネル412を受信し復号化しなければならない、(ii)更新されたシーケンス番号に関連する情報(例えばフロー対MLCマッピング)をダウンロードしなければならない、そして(iii)新たにダウンロードした情報を反映するためこれのローカルキャッシュメモリを更新しなければならない。よってユーザは、新しいサービスを明確に要求しなかったにもかかわらず、デバイス112にはこのサービスが(例えばバックグラウンドモードで)ダウンロードされたため、要求ESPNサービスの受信を許可される前に、デバイス112がこれのローカルキャッシュを更新するのを待たなければならない。
【0070】
ひとつのジレンマは、2種類のサービスが存在し、これら2種類のサービスが異なる進度で変化することである。ただし従来のネットワークは、これら2種類のサービスの変化の進度の違いを考慮できない。この無力は、ユーザが選択していないサービスタイプによって誘発される更新と遅延を辛抱することを、ユーザに強いる。
【0071】
第1のサービスタイプはリアルタイムサービスとして知られている。リアルタイムサービスは絶え間なくオンとなることが見込まれるサービスである。つまりリアルタイムサービスはすこぶる静的であり、それ故フロー対MLCマッピングの頻繁な変化を生じさせない。
【0072】
第2のサービスタイプは非リアルタイムサービスである。非リアルタイムサービスはより動的であり、持続期間はリアルタイムサービスより短い。したがって、非リアルタイムサービスはリアルタイムサービスより頻繁に変化し、フロー対MLCマッピングのより頻繁な変化を誘発する。
【0073】
図5は、従来のネットワークシステムにて処理される、多数の入り混じったリアルタイム及び非リアルタイムサービスフローを含む、フロー記述メッセージ500の図解である。例えば図5で、従来のネットワークユーザは、リアルタイムサービスフローとみなしてよいCNNのサービスフローを選択できる。図示されたとおり、CNNは、100のフローIDと、20の一意なMLC IDと、対応する送信モード(A)と、1の制御シーケンス番号とを有する可能性がある。フロー記述メッセージ500の中に見られる他のサービスフローは非リアルタイムとみなしてよく、それぞれ200、300、及び600のフローIDを含む。
【0074】
非リアルタイムサービスフロー200、300、及び600は、リアルタイムCNNサービスフロー100より頻繁に変化するため、同じMLC IDを共有できる。よって図5に示すとおり、MLC200、300、及び600は各々30のMLC IDを使用する。フロー200、300、及び600等、この非リアルタイムフロー間MLC ID共有が可能であるのは、それらの持続期間が短い、例えば30分に満たないためである。フロー200が終わると、フロー300にMLC ID30を渡すことができ、以降同様に続く。ただしフローは変化するため、送信モードと制御シーケンス番号もまた変化しなければならない。よってフロー200、300、及び600にはそれぞれシーケンス番号2、3、及び4が割り当てられる。
【0075】
図5の図解の中で、フロー記述メッセージはESPNのための最終サービスフローID700を含んでいる。この最終ESPNサービスフローもまたリアルタイムフローであり、MLC ID50と、送信モード(E)と、5の制御シーケンス番号とを有する。
【0076】
従来のネットワークで、デバイスがMLC ID20を有するCNNフロー100を受信していてMLC ID50を有するESPNフローID700への切り替えを試みる場合、遅延が生じる。上で指摘したとおり、デバイスはCNNフロー100からESPNフロー700に切り替える前に、格納された制御シーケンス番号を配列416の中にある現行シーケンス番号に比較するため制御チャネル410をチェックする。図5に示すとおり、制御シーケンス番号は「1」から「2」へ、2から「3」へ、そして3から「4、その他」へ変更されている。これらの変更は、それぞれサービスフロー200、300、及び600の各々に対応する。結果的にデバイスは、フロー200、300、及び600にそれぞれ関連する送信モードB−Dに関係する制御プロトコル情報をダウンロードしなければならない。制御シーケンス番号は変化しているため、この情報は、ESPNフロー700の要求が処理される前にダウンロードされなければならない。本発明はこの問題を解決する。
【0077】
図6は、図5のフロー記述メッセージ500に示されたリアルタイム及び非リアルタイムサービス間の並行性を描く、より詳細な図解600である。例えば図6で、リアルタイムCNNフロー100は期間t1−t4の全体にわたって発生する可能性がある。これらの同じ期間(t1−t4)中に、非リアルタイムフロー200、300、及び600もまた発生し得る。ユーザは時間t5において、CNNフロー100からESPNフロー700に切り替える可能性がある。同時に、時間t4に発生したフロー600は途絶える。
【0078】
本発明は、非リアルタイムサービスからリアルタイムサービスを分離することによってこの並行性に対応する。より具体的には、本発明はリアルタイムサービスと非リアルタイムサービスとに別々の制御シーケンス付番方式を割り当てる。これらの別個の付番方式は、通信デバイスの中で(別種のサービスの各々につき)別個の制御シーケンス番号を追跡し格納する別々のプレースホルダーを割り当てることによって実施される。
【0079】
図7は、本発明の実施形態に従って構築されたフロー記述メッセージ700の図解である。フロー記述メッセージ700は図5のフロー記述メッセージ500を修正する。図7で、リアルタイムサービス(例えばCNNフロー100とESPNフロー700)の制御シーケンス番号はビン0に格納される。非リアルタイムサービス(例えばフロー200、300、及び600)の制御シーケンス番号はビン1に格納される。個々のビンに関連付けられる用語又は数字表示は本発明の実施にとって重要でない。
【0080】
図7の例示的なフロー記述メッセージ700は、デバイス112等のデバイスが、リアルタイムサービスと非リアルタイムサービスとに関連付けられるシーケンス番号の変化に対し個別に対応することを可能にする。例えば、デバイス112のユーザがリアルタイムサービスだけに関心を寄せる場合、CNNフローID100とESPNフローID700で変化が生じるときにだけ制御チャネル410をチェックするようデバイス112を構成できる。より具体的には、デバイス112は、CNNフローID100を受信していてESPNフロー700提供の要求を受け取る場合に、非リアルタイムサービスの変化のために制御チャネル410から情報をダウンロードする必要はない。
【0081】
つまりデバイス112は、ビン0(リアルタイム)制御シーケンス変化だけを監視するよう明確に構成できる。図7に示すとおり、ビン0制御シーケンス番号は時間t5まで変化しない。よって、非リアルタイムフロー(200、300、及び600)は時間t1からt4に変化するが、デバイス112はビン0だけを監視するよう構成されているから、これらの変化に影響されない。したがってデバイス112は、ビン1制御シーケンス番号変化による遅延を経験しない。つまりこの際、ビン0に対するユーザのサービス要求を中断せずに非リアルタイムサービス(ビン1)で変化が生じることができる。
【0082】
本発明において、フロー記述メッセージ(例えば、図7の例示的なメッセージ700)は、フローからMLCへのマッピングの遂行にあたって要求される制御プロトコル情報を含む。フロー記述メッセージはネットワーク100の全体を通じて制御プロトコルパケット(CPP)と呼ばれる単位で送信される。より具体的には、CPPからなるグループは、図4のスーパーフレーム400等、単一のスーパーフレームの中で、制御プロトコルカプセルとして知られるエンティティにて送信又は受信される。
【0083】
図8は、本発明に従って構築された例示的な制御プロトコルカプセル800の図解である。上で指摘したとおり本発明は、リアルタイム情報と非リアルタイム情報の制御プロトコル情報(例えば制御シーケンス番号)を、個別のビン(例えば、ビン0とビン1)に論理的に分ける。この論理的分離は、これらの同ビンにわたって制御プロトコルカプセル800を分割することによって実施される。その結果ネットワーク100は、別個の制御プロトコル情報セットを個別に受信し処理できる。
【0084】
例えば図8で、制御プロトコルカプセル800は、ビン0情報部802とビン1部804とを含むよう仕切ることができる。ビン0部802には独自の一意なシーケンス番号806が割り当てられ、ビン1及びビン1部には独自の一意なシーケンス番号808が割り当てられる。ビン0情報部802は、特定の制御プロトコル情報(例えばメッセージ、ビンID、その他)を各々含むビン0CPP810を含む。同様に、カプセル800のビン1部804は、独自の制御プロトコル情報を各々有するビン1CPP812を含む。
【0085】
図9は、本発明に従って、カプセル800に各々類似する2つの例示的な制御プロトコルカプセル904及び906が、ネットワーク100の中でいかに格納され管理されるかの例示的なマッピング900である。例えば図9で、カプセル902及び904に関連する制御シーケンス番号は、列902に示すとおりOISチャネル412の中に格納される。列902で、第1の制御プロトコルカプセル902に関連するビン0及びビン1シーケンス番号は、OISチャネル412の第1のセグメント908に個別に格納される。第2の制御プロトコルカプセル904に関連するビン0及びビン1シーケンス番号は、OISチャネル412の第2のセグメント910に個別に格納される。
【0086】
デバイス112等のデバイスで、制御プロトコル情報は個別のビン0セクション912及びビン1セクション914として仕切られ、格納される。例えば、制御プロトコルカプセル902及び904のビン0シーケンス番号はどれも、デバイス112のビン0セクション912の中のサブセクション916に格納される。制御プロトコルカプセル902及び904のビン1シーケンス番号はどれも、デバイス112のビン1セクション914の中のサブセクション918に格納される。同じく図9に示されているとおり、制御プロトコルカプセル902及び904のビン0に関係するメッセージはどれも、デバイス112のビン0セクション912に格納される。制御プロトコルカプセル902及び904のビン1に関係するメッセージはどれも、デバイス112のビン1セクション914に格納される。
【0087】
ネットワーク100とデバイス112の中でのリアルタイム情報及び非リアルタイム情報の個別の格納及び管理は、デバイス112のレイテンシーを改善する。
【0088】
図10は、本発明の一実施形態を実践する例示的な方法のフロー図である。図10で、デバイス動作を管理する方法は、ステップ1000に示すとおり、制御情報を2つ以上の部分に分割することを含み、各部分には一意な制御シーケンス番号が関連付けられる。ステップ1002に示すとおり、どの部分を更新しなければならないかを判定するため、関連制御シーケンス番号の各々は更新サイクル中に検査される。ステップ1004では、どの部分を更新しなければならないかを判定するため、制御シーケンス番号の各々が更新サイクル中に検査される。
【0089】
図11は、実施形態に従って構築された装置1100のブロック図である。図11で、装置1100は制御情報を2つ以上の部分に分割するための分割する手段1102を含み、各部分には一意な制御シーケンス番号が関連付けられる。検査する手段1104は次に、どの部分を更新しなければならないかを判定するため、更新サイクル中に制御シーケンス番号の各々を検査する。
【0090】
本発明において、ネットワークによって送信される制御情報は2つのビンに論理的に分けられる。制御情報がリアルタイム媒体又は非リアルタイム媒体に関係するかどうかに応じて、デバイス内の制御情報は、媒体通信を中断した後リアルタイムで、又は媒体通信を中断せずにバックグラウンドで、更新される。正確な制御情報を得ることに左右される動作実行のレイテンシーは、レイテンシー感応性デバイス動作にとって必要な制御情報を、他のデバイス動作にとって必要な制御情報とは別に(すなわち別のビンの中で)ブロードキャストすることによって抑えられる。本発明の手法は、レイテンシー感応性デバイス動作にとって必要な制御情報もまたさほど頻繁に変化しない場合に、とりわけ効果的である。
【0091】
以上、指定機能の性能とその関係を図解する機能構成ブロックを用いて、本発明を説明した。説明の便宜を図るため、これらの機能構成ブロックの境界はここで恣意的に定められている。指定機能とその関係が適切に遂行される限り、代替の境界を定めることができる。
【0092】
よって、かかる代替境界は、特許請求の範囲に記載されている発明の範囲と精神との中にある。当業者は、アナログ及び/又はデジタル回路、個別コンポーネント、特定用途向け集積回路、ファームウェア、しかるべきソフトウェアを実行するプロセッサ等、又はこれらの任意の組み合わせによって、これらの機能構成ブロックを実施できることを認めるであろう。よって本発明の幅と範囲は上述した例示的な実施形態のいずれによっても制限されず、専ら以降の特許請求の範囲とこれの同等物とに従い規定される。
【0093】
前述した具体的な実施形態の説明は、他者が(本明細書で引用された参考文献の内容を含む)当技術の技能の中で知識を応用することにより、かかる具体的な実施形態を、本発明の一般概念から逸脱せず、過度の実験を行わずとも容易に修正するにあたり、及び/又は種々の用途に向けて適合するにあたり、十分に本発明の一般的性質を明らかにするであろう。したがってかかる適合及び修正は、本明細書に提示された教示と指導とに基づく、開示された実施形態の同等物の趣意及び範囲の中に入る。本明細書における表現又は専門用語は制限ではなく説明を目的とし、よって本明細書の表現又は専門用語は当業者によって、当業者の知識と併せて本明細書に提示された教示と指導とに鑑み、解釈されるべきものであることを理解されたい。
【0094】
詳細な説明の節は、主に特許請求の範囲の解釈に役立てるべきものである。要旨及び要約の節は、発明者によって企図された本発明の1つ以上の、ただし全てではない、例示的な実施形態を述べるものであって、よって特許請求の範囲を制限することを意図するものではない。
【0095】
要旨及び要約の節ではなく、詳細な説明の節が、特許請求の範囲の解釈に役立てることを意図するものであることを了解されたい。要旨及び要約の節は、発明者によって企図された本発明の1つ以上の、ただし全てではない例示的な実施形態を述べるものであって、よって本発明と添付の特許請求の範囲とを何らかの形で制限することを意図するものではない。
【技術分野】
【0001】
(関連出願の相互参照)
本願は、米国特許法第119条のもと、本願の譲受人に譲渡された2005年3月10日に出願された仮出願番号第60/660,900号の優先権を主張するものであり、本明細書に参照として明示的に組み込まれる。
【0002】
本発明は通信ネットワークにおける伝送効率に関する。より具体的には、本発明は無線通信ネットワークでデバイスレイテンシーを改善することに関する。
【背景技術】
【0003】
FLOは主に、何百万もの無線加入者へ同時に同じマルチメディアコンテンツを効率的且つ経済的に配布するための技術である。FLO技術の目標は、かかるコンテンツの配信にともなうコストを抑え、従来のセルラー音声及びデータサービスに一般的に使われている携帯電話機で、ユーザがコンテンツのチャネルをサーフィンすることを可能にすることである。このマルチメディアコンテンツはまた、サービスとして知られている。サービスは、1つ以上の独立データコンポーネントの集まりである。サービスの各独立データコンポーネントはフローと呼ばれる。
【0004】
サービスはそれらのカバレッジに基づき2種類に、すなわちワイドエリアサービスとローカルエリアサービスとに、分類される。ローカルエリアサービスは、一大都市地域の中で受信されるマルチキャストである。対照的に、ワイドエリアサービスは1つ以上の大都市地域の中でのマルチキャストである。
【0005】
FLOサービスは、MediaFLO(登録商標)論理チャネル又はMLCとして知られる1つ以上の論理チャネル上で搬送される。MLCは、最高3つの論理サブチャネルに分けることができる。これらの論理サブチャネルはストリームと呼ばれる。各々のフローは単一のストリームの中で搬送される。
【0006】
ワイドエリアサービス又はローカルエリアサービスに基づいたネットワークでデバイスを適切に作動させるには、デバイスは、ネットワークから現行の制御情報ブロードキャストを取得しなければならない。デバイスが正確な制御情報を取得する前にこれの動作の全てを確実に実行することは、様々な理由のため、困難である。この不信頼性のため、いくつかのデバイス動作のレイテンシーは、デバイスが最新且つ現行の制御情報を取得するのにかかる時間に比例して増加することがある。
【0007】
したがって、現行且つ最新の制御情報を得ることに左右されるデバイス動作実行のレイテンシーを改善する方法及びシステムが必要である。
【発明の概要】
【0008】
本明細書において具体化され大まかに説明される本発明の原理に沿って、本発明はデバイス動作を管理する方法を含む。同方法は、制御情報を2つ以上の部分に分割することを含み、各部分には一意な制御シーケンス番号が関連付けられる。どの部分を更新しなければならないかを判定するため、関連制御シーケンス番号の各々は更新サイクル中に検査される。
【0009】
別の態様は、デバイス動作を管理する方法を遂行するため1つ以上のプロセッサによって実行される1つ以上の命令からなる1つ以上のシーケンスを保持するコンピュータ読取可能媒体を含む。同命令は、1つ以上のプロセッサによって実行されるときに、制御情報を2つ以上の部分に分割するステップを1つ以上のプロセッサに遂行させ、各部分には一意な制御シーケンス番号が関連付けられる。1つ以上のプロセッサはまた、どの部分を更新しなければならないかを判定するため、制御シーケンス番号の各々を更新サイクル中に検査する。
【0010】
さらに別の態様は、デバイス動作を管理する装置を含む。同装置は、2つ以上の部分に分割された制御情報を受信する手段を含み、各部分には一意な制御シーケンス番号が関連付けられる。装置はまた、受信制御シーケンス番号の各々で変更を検査する手段と、変更された制御シーケンス番号に対応する受信制御情報の部分を更新する手段とを含む。
【0011】
さらに別の態様は、プロセッサを有するデバイスを含む。同プロセッサは第1及び第2のロジック部を含み、ここで第1のロジック部は制御情報を受信するよう構成され、同制御情報は2つ以上の部分に分割され、各部分には一意な制御シーケンス番号が関連付けられる。第2のロジック部は、どの部分を更新しなければならないかを判定するため、制御シーケンス番号の各々を更新サイクル中に検査するよう構成される。
【0012】
本発明は、ネットワークによって送信される制御情報を別々のビンに論理的に分けることによって、通信デバイスのレイテンシーを改善する。制御情報がリアルタイム媒体又は非リアルタイム媒体に関係するかどうかに応じて、デバイス内の制御情報は、媒体通信の中断を避ける形で更新される。正確な制御情報を得ることに左右される動作実行のレイテンシーは、レイテンシー感応性デバイス動作にとって必要な制御情報を、他のデバイス動作にとって必要な制御情報とは別に(すなわち別のビンの中で)ブロードキャストすることによって抑えられる。
【0013】
これより本発明のさらなる特徴及び利点を、ならびに本発明の様々な実施形態の構造及び動作を、添付の図面を参照しながら詳しく説明する。
【図面の簡単な説明】
【0014】
【図1】コンテンツ配信システムの一実施形態を含むネットワークの図解である。
【図2】図1のコンテンツ配信システムの一実施形態での使用に適するコンテンツプロバイダの一実施形態の図解である。
【図3】コンテンツ配信システムの一実施形態での使用に適するコンテンツサーバの一実施形態の図解である。
【図4】ネットワークの中で送信される信号の代表的なスーパーフレームの図解である。
【図5】フローとストリームとMediaFlo論理チャネル(MLC)との従来の関係の図である。
【図6】実施形態に従って構築された例示的なサービスIDメッセージの図解である。
【図7】実施形態に従って構築された例示的なフロー記述メッセージの図解である。
【図8】従来のネットワークで生じる取得レイテンシーを解決する例示的な手法のブロック図解である。
【図9】図8に示された制御プロトコルパケットの構造のより詳細な図である。
【図10】実施形態を実践する例示的な方法のフロー図である。
【図11】実施形態に従って構築された装置のブロック図である。
【発明を実施するための形態】
【0015】
本明細書に組み込まれ明細書の一部をなす添付の図面は、本発明の実施形態を図解し、さらに上述した概説と後述する実施形態の詳説とともに、本発明の原理を説明するのに役立つ。
【0016】
以降の本発明の詳細な説明では、本発明に一致する例示的な実施形態を図解する添付の図面を参照する。別の実施形態は可能であり、本発明の精神と範囲の中でこれらの実施形態に修正を施すことができる。したがって、以降の詳細な説明は本発明を制限することを意図しない。むしろ本発明の範囲は添付の特許請求の範囲によって規定される。
【0017】
本明細書では、本発明の特徴が盛り込まれた1つ以上の実施形態を開示する。開示される実施形態は本発明を例証するものに過ぎない。本発明の範囲は開示される実施形態に限定されない。本発明は、本明細書に添付された特許請求の範囲によって規定される。
【0018】
説明される実施形態と、明細書における「一実施形態(one embodiment)」、「実施形態(an embodiment)」、「実施形態例(an example embodiment)」、その他への言及は、説明される実施形態が、ある特定の特徴、構造、又は特性を含み得ること、ただし必ずしも全ての実施形態が特定の特徴、構造、又は特性を含むとは限らないことを意味する。しかも、かかる文言は必ずしも同じ実施形態に言及するとは限らない。さらに、ある特定の特徴、構造、又は特性が実施形態との関係で説明される場合、明示的に説明されようがされまいが、別の実施形態との関係でかかる特徴、構造、又は特性を達成することは当業者の知識の範囲内にあると理解される。
【0019】
これより説明する本発明を、ハードウェア、ソフトウェア、ファームウェア、及び/又は図面で図解されるエンティティの数多くの異なる実施形態で実施できることは、当業者にとって明白であろう。本発明を実施するための実際のソフトウェアコードと特化された制御下ハードウェアは本発明を制限するものではない。よって、本明細書に提示される詳細の度合いに応じて実施形態の修正及び変化は可能であるとの了解のもと、本発明の動作と挙動を説明する。
【0020】
図1は、マルチメディアコンテンツフローを作成しデータネットワーク全域にこれをトランスポートするよう作動するトランスポートシステムを備える、通信ネットワーク100を示している。例えば、トランスポートシステムは上で指摘したFLOシステムの原理に一致し、ブロードキャスト配布のためコンテンツプロバイダネットワークから無線アクセスネットワークへのコンテンツクリップトランスポートでの使用に適する。
【0021】
ネットワーク100は、コンテンツプロバイダ(CP)102と、コンテンツプロバイダネットワーク104と、最適化ブロードキャストネットワーク106と、無線アクセスネットワーク108とを備える。ネットワーク100はまた、携帯電話112と、個人用デジタル補助装置(PDA)114と、ノートブックコンピュータ116とを備える、デバイス110を含む。デバイス110は、トランスポートシステムとの使用に適するデバイスのほんの一部を図解している。図1には3つのデバイスが示されているが、当業者にとって明白であるように、事実上いくつもの類似デバイスであれ、又はいかなるタイプのデバイスであれ、トランスポートシステムでの使用に適することに注意されたい。
【0022】
コンテンツプロバイダ102は、ネットワーク100にてユーザへの配布のためコンテンツを提供するように作動する。コンテンツは、映像、音声、マルチメディアコンテンツ、クリップ、リアルタイム及び非リアルタイムコンテンツ、スクリプト、プログラム、データ、又は他の何らかのタイプの相応しいコンテンツを備える。コンテンツプロバイダ102は、配布のためコンテンツプロバイダネットワーク104へコンテンツを提供する。例えば、コンテンツプロバイダ102は通信リンク118を介しコンテンツプロバイダネットワーク104と通信し、同通信リンクは、何らかの相応しいタイプの有線及び/又は無線通信リンクを備える。
【0023】
コンテンツプロバイダネットワーク104は、ユーザへの配信のためコンテンツを配布するよう作動する有線及び無線ネットワークの任意の組み合わせを備える。コンテンツプロバイダネットワーク104は、リンク120を介して最適化ブロードキャストネットワーク106と通信する。リンク120は、何らかの相応しいタイプの有線及び/又は無線通信リンクを備える。最適化ブロードキャストネットワーク106は、高品質コンテンツをブロードキャストするよう設計された、有線及び無線ネットワークの任意の組み合わせを備える。例えば、最適化ブロードキャストネットワーク106は、複数の最適化通信チャネル上で選択されたデバイスへ高品質コンテンツを配信するよう最適化された専用独自ネットワークであってよい。
【0024】
トランスポートシステムは、配布のためコンテンツプロバイダ102からコンテンツプロバイダネットワーク104にあるコンテンツサーバ(CS)122へ、コンテンツを配信するよう作動し、同コンテンツサーバは、無線アクセスネットワークにあるブロードキャスト基地局(BBS)124と通信するよう作動する。CS122とBBS124とはトランスポートインタフェース126の1つ以上の実施形態を用いて通信し、同トランスポートインタフェース126は、コンテンツプロバイダネットワーク104が、デバイス110へのブロードキャスト/マルチキャストのため無線アクセスネットワーク108へコンテンツをコンテンツフローの形で配信することを可能にする。トランスポートインタフェース126は、制御インタフェース128とベアラチャネル130とを備える。制御インタフェース128は、コンテンツプロバイダネットワーク104から無線アクセスネットワーク108へ流れるコンテンツフローを、CS122が追加する、変更する、取り消す、又は修正することを可能にするよう作動する。ベアラチャネル130は、コンテンツプロバイダネットワーク104から無線アクセスネットワーク108へコンテンツフローをトランスポートするよう作動する。
【0025】
CS122は、無線アクセスネットワーク108上でのブロードキャスト/マルチキャストのためBBS124へ送信されるコンテンツフローのスケジュールを組むためトランスポートインタフェース126を使用する。例えばコンテンツフローは、配布のためコンテンツプロバイダネットワーク104を用いてコンテンツプロバイダ102によって提供された非リアルタイムコンテンツクリップを備えてよい。CS122は、コンテンツクリップに関連する1つ以上のパラメータを判定するためBBS124と交渉するよう作動する。コンテンツクリップを受け取ったBBS124は、デバイス110の内1つ以上による受信のため、コンテンツクリップを無線アクセスネットワーク108上でブロードキャスト/マルチキャストする。デバイス110はいずれも、コンテンツクリップを受信することを、そしてデバイスユーザによる後刻の閲覧のためこれをキャッシュすることを、許可される。
【0026】
前述の例で、デバイス110はクライアントプログラム132を備え、同クライアントプログラムは、無線アクセスネットワーク108上でのブロードキャストに向けてスケジュールが組まれたコンテンツの一覧を表示する番組ガイドを提供するように作動する。このときデバイスユーザは、リアルタイム提供のため、又は後刻の閲覧のためキャッシュ134に格納される、特定のコンテンツの受信を選択できる。例えば、夕方のブロードキャストに向けてコンテンツクリップのスケジュールを組むことができ、デバイス112は、そのブロードキャストを受信しキャッシュ134にコンテンツクリップをキャッシュするよう作動し、このようにしてデバイスユーザは翌日にクリップを閲覧できる。典型的に、コンテンツは契約サービスの一部としてブロードキャストされ、受信デバイスはブロードキャストの受信にあたってキーを提供するか、又は自身を認証する必要がある場合がある。
【0027】
トランスポートシステムは、番組ガイドレコードと、番組コンテンツと、その他関連情報とを、CS122がコンテンツプロバイダ102から受信することを可能にする。CS122は、デバイス110への配信のためコンテンツを更新する、及び/又は作成する。
【0028】
図2はコンテンツ配信システムでの使用に適するコンテンツプロバイダサーバ200を示している。例えば、サーバ200は図1のサーバ102として使用できる。サーバ200は、いずれも内部データバス212へ結合された処理ロジック202と、リソース及びインタフェース204と、トランシーバロジック210とを備える。サーバ200はまた、同じくデータバス212へ結合された起動ロジック214と、PG206と、PGレコードロジック208とを備える。
【0029】
処理ロジック202は、中央演算処理装置(CPU)、プロセッサ、ゲートアレイ、ハードウェアロジック、記憶素子、仮想マシン、ソフトウェア、及び/又はハードウェア及びソフトウェアの任意の組み合わせを備える。よって処理ロジック202は一般的に、機械読取可能命令を実行するため、そして内部データバス212を介してサーバ200の1つ以上のその他機能素子を制御するためのロジックを備える。
【0030】
リソース及びインタフェース204は、サーバ200と内部及び外部システムとの通信を可能にするハードウェア及び/又はソフトウェアを備える。例えば内部システムは、大容量記憶システム、メモリ、ディスプレイドライバ、モデム、又はその他内部デバイスリソースを含んでよい。外部システムは、ユーザインターフェースデバイス、プリンタ、ディスクドライブ、又はその他ローカルデバイス又はシステムを含んでよい。
【0031】
トランシーバロジック210は、サーバ200が、通信チャネル216を用いてリモートデバイス又はシステムとともにデータ及び/又はその他情報を送受信することを可能にするよう作動する、ハードウェアロジック及び/又はソフトウェアを備える。例えば通信チャネル216は、サーバ200とデータネットワークとの通信を可能にするため、何らかの相応しいタイプの通信リンクを備える。
【0032】
起動ロジック214は、CPU、プロセッサ、ゲートアレイ、ハードウェアロジック、記憶素子、仮想マシン、ソフトウェア、及び/又はハードウェア及びソフトウェアの任意の組み合わせを備える。起動ロジック214は、CS及び/又はデバイスがPG206に記載されたコンテンツ及び/又はサービスを選択し受信することを可能にするため、CS及び/又はデバイスを起動するよう作動する。起動ロジック214は起動プロセス中に、CS及び/又はデバイスへクライアントプログラム220を送信する。クライアントプログラム220は、PG206を受信し、利用可能なコンテンツ又はサービスに関する情報をデバイスユーザに向けて表示するため、CS及び/又はデバイス上で実行する。よって起動ロジック214は、CS及び/又はデバイスを認証し、クライアント220をダウンロードし、クライアント220によるデバイス上での提供のためPG206をダウンロードするよう作動する。
【0033】
PG206は、デバイスが受信できるコンテンツ及び/又はサービスを説明する情報を何らかの相応しい形式で備える。例えば、PG206はサーバ200のローカルメモリに格納でき、コンテンツ又はサービス識別子、スケジュール情報、料金、及び/又は他の何らかのタイプの関連情報等、情報を備えてよい。PG206は、利用可能なコンテンツ又はサービスへ変更が施されるときに処理ロジック202によって更新される1つ以上の識別可能なセクションを備える。
【0034】
PGレコード208は、通知メッセージを生成するよう作動するハードウェア及び/又はソフトウェアを備え、同通知メッセージはPG206への変更を識別する、及び/又は説明する。例えば、処理ロジック202がPG206を更新する場合、PGレコードロジック208は変更の通知を受ける。そしてPGレコードロジック208は1つ以上の通知メッセージを生成し、同通知メッセージはサーバ200とともに起動された可能性があるCSへ送信され、このようにしてCSはPG206への変更の通知を速やかに受ける。
【0035】
コンテンツ配信通知メッセージの一部として、メッセージの中で識別されるPGのセクションがいつブロードキャストされるかを指示するブロードキャスト標識が提供される。例えばブロードキャスト標識は、セクションがブロードキャストされることを伝える1ビットと、ブロードキャストがいつ行われるかを伝えるタイム標識とを備えてよい。よって、PGレコードのローカルコピーを更新することを望むCS及び/又はデバイスは、PGレコードの更新済みセクションを受信するため指定された時間にブロードキャストを聞き取る(リッスンする)ことができる。
【0036】
一実施形態において、コンテンツ配信通知システムはコンピュータ読取可能媒体に格納されたプログラム命令を備え、同プログラム命令は、プロセッサによって、例えば処理ロジック202によって実行されるときに、ここで説明するサーバ200の機能を提供する。例えばプログラム命令は、フロッピー(登録商標)ディスク、CDROM、メモリカード、フラッシュメモリデバイス、RAM、ROM、又は他の何らかのタイプのメモリデバイス等のコンピュータ読取可能媒体、又はリソース204を通じてサーバ200へつながるコンピュータ読取可能媒体から、サーバ200の中へロードされてよい。別の実施形態において命令は、トランシーバロジック210を通じてサーバ200へつながる外部デバイス又はネットワークリソースから、サーバ200の中へダウンロードされてよい。プログラム命令は、処理ロジック202によって実行されるときに、本明細書で説明するガイド状態通知システムを提供する。
【0037】
図3は、コンテンツ配信システムでの使用に適するコンテンツサーバ(CS)又はデバイス300を示している。例えばCS300は、図1に示されたCS122又はデバイス110であってよい。CS300は、いずれもデータバス308へ結合された処理ロジック302と、リソース及びインタフェース304と、トランシーバロジック306とを備える。CS300はまた、同じくデータバス308へ結合されたクライアント310と、プログラムロジック314と、PGロジック312とを備える。
【0038】
処理ロジック302は、CPU、プロセッサ、ゲートアレイ、ハードウェアロジック、記憶素子、仮想マシン、ソフトウェア、及び/又はハードウェア及びソフトウェアの任意の組み合わせを備える。よって処理ロジック302は一般的に、機械読取可能命令を実行するため、そして内部データバス308を介してCS300の1つ以上のその他の機能素子を制御するためのロジックを備える。
【0039】
リソース及びインタフェース304は、CS300と内部及び外部システムとの通信を可能にするハードウェア及び/又はソフトウェアを備える。例えば内部システムは、大容量記憶システム、メモリ、ディスプレイドライバ、モデム、又はその他の内部デバイスリソースを含んでよい。外部システムは、ユーザインターフェースデバイス、プリンタ、ディスクドライブ、又はその他ローカルデバイス又はシステムを含んでよい。
【0040】
トランシーバロジック306は、CS300が、通信チャネル314を通じて外部デバイス又はシステムとともにデータ及び/又はその他情報を送受信することを可能にするよう作動する、ハードウェア及び/又はソフトウェアを備える。例えば通信チャネル314は、ネットワーク通信リンク、無線通信リンク、又は他の何らかのタイプの通信リンクを備えてよい。
【0041】
作動中にCS300は起動し、このようにしてこれはデータネットワーク上で利用可能なコンテンツ又はサービスを受信できる。例えばCS300は、起動プロセス中にコンテンツプロバイダサーバに対し自身を識別する。CS300は起動プロセスの一部として、PGロジック312によってPGレコードを受信し格納する。PG312は、CS300が受信できるコンテンツ又はサービスを識別する情報を収容する。クライアント310は、リソース及びインタフェース304を用いて、CS及び/又はデバイス300上でPGロジック312の中にある情報を提供するよう作動する。例えばクライアント310は、PGロジック312の中にある情報をデバイスの一部をなす表示画面上で提供する。クライアント310はまた、リソース及びインタフェースを通じてユーザ入力を受信し、このようにしてデバイスユーザはコンテンツ又はサービスを選択できる。
【0042】
CS300は、トランシーバロジック306を通じて通知メッセージを受信する。例えばメッセージは、CS300へブロードキャストされるか、又はユニキャストされてよく、トランシーバロジック306によって受信されてよい。PG通知メッセージは、PGロジック312にてPGレコードに対する更新を識別する。一実施形態においてクライアント310は、PGロジック312にあるローカルコピーを更新する必要があるか否かを判定するためPG通知メッセージを処理する。例えば一実施形態において、通知メッセージは、セクション識別子と、開始時間と、終了時間と、バージョン番号とを含む。
【0043】
CS300は、PG通知メッセージの中にある情報を、既存のPGロジック312にて局所的に格納されている情報に比較するよう作動する。CS300はPG通知メッセージから、PGロジック312にあるローカルコピーの1つ以上のセクションを更新する必要があると判定する場合に、数通りの方法の内1つでPGの更新済みセクションを受信するよう作動する。例えば、PG通知メッセージの中で指示された時間にPGの更新済みセクションがブロードキャストされてよく、このようにしてトランシーバロジック306はブロードキャストを受信し、更新済みセクションをCS300に渡すことができ、これを受けてCS300はPGロジック312にてローカルコピーを更新する。
【0044】
CS300は、更新の必要があるPGのセクションがどれなのかを受信したPG更新通知メッセージに基づき判定し、所望のPG更新済みセクションを入手するためCPサーバへ要求を送信する。例えば要求は、何らかの相応しい形式を用いてフォーマットされてよく、要求CS識別子、セクション識別子、バージョン番号、及び/又は他の何らかの相応しい情報等の、情報を備えてよい。
【0045】
CS300は、PG通知システムの1つ以上の実施形態において以下の機能の内1つ以上を遂行する。本発明の範囲内で以下の機能を変更、再配置、修正、追加、削除、又は調整できることに注意されたい。
【0046】
1. CSは、コンテンツプロバイダシステムとともに作動しコンテンツ又はサービスを受信するため、起動される。起動プロセスの一部として、クライアントとPGがCSへ送信される。
【0047】
2. 1つ以上のPG通知メッセージがCSによって受信され、局所的に格納されたPGの1つ以上のセクションを更新する必要があるか否かを判定するため使用される。
【0048】
3. 一実施形態においてCSは、局所的に格納された1つ以上のPGセクションを更新する必要があると判定する場合に、これがそのローカルコピーを更新するにあたって必要とするPG更新済みセクションを入手するため、配布システムからのブロードキャストを聞き取る。
【0049】
4. 別の実施形態においてCSは、これが必要とするPG更新済みセクションを入手するためCPへ1つ以上の要求メッセージを送信する。
【0050】
5. CPは要求に応じてPG更新済みセクションをCSへ送信する。
【0051】
6. CSは、受信したPG更新済みセクションを用いてこれのPGローカルコピーを更新する。
【0052】
コンテンツ配信システムは、コンピュータ読取可能媒体に格納できるプログラム命令を備え、同プログラム命令は、例えば処理ロジック302等のプロセッサによって実行されるときに、ここで説明するコンテンツ配信通知システムの機能を提供する。例えば命令は、フロッピーディスク、CDROM、メモリカード、フラッシュメモリデバイス、RAM、ROM、又は他の何らかのタイプのメモリデバイス等のコンピュータ読取可能媒体、又はリソース及びインタフェース304を通じてCS300へつながるコンピュータ読取可能媒体から、CS300の中へロードされてよい。別の実施形態において命令は、トランシーバロジック306を通じてCS300へつながるネットワークリソースから、CS300の中へダウンロードされてよい。プログラム命令は、処理ロジック302によって実行されるときに、本明細書で説明するコンテンツ配信システムを提供する。
【0053】
CS300がただひとつの実施を代表すること、そして本発明の範囲内で他の実施が可能であることに注意されたい。
【0054】
図4は、ネットワーク100の中で送信される信号の代表的なスーパーフレーム400の図解である。例証の目的で、信号送信はネットワーク100の全体を通じて、直交周波数分割多重化(OFDM)の原理に従って行うことができる。ネットワーク100で送信される信号は、ネットワーク100の物理層におけるデータ送信単位であるスーパーフレームに編成される。当業者によって十分に理解されているとおり、ネットワーク物理層はネットワークの順方向リンクのため、チャネル構造、周波数、電力出力、変調、及び符号化仕様を提供する。
【0055】
上述したとおり、FLOに基づくネットワーク100は、数個のサービスを1つ以上の独立データコンポーネントの集まりとしてマルチキャストする。各々の独立データコンポーネントはフローと呼ばれ、映像コンポーネント、音声コンポーネント、及び/又はテキスト、又はサービスのシグナリングコンポーネントを含むことができる。FLOサービスは1つ以上の論理チャネルMLC上で搬送される。
【0056】
図4の例示的な図解において、代表的なスーパーフレーム400はデータ部402とオーバーヘッド部404とを含む。データ部404はさらにデータフレームF1−F4を含むよう細分される。ネットワーク100の物理層でMLCはデータ部404の中でトランスポートされる。実際のところ、トランスポートされるMLCはデータフレームF1−F4にわたって分割されるであろう。図4の例示的なデータ部404では、データフレームF1−F4にわたって2つのMLC(10及び20)が分割されている。つまり、MLC10及び20の各々の内容の4分の1はそれぞれフレームF1−F4の各々の中で搬送される。
【0057】
例えば、識別情報(ID)10を有するMLCは、フレームF1−F4の内1つに各々対応する部分406a−406dに分割される。フレームF1は、MLC10に対応する部分406aに加えて、MLC20に対応するMLC部分408をも含む。
【0058】
また、データ部404の中で、スーパーフレーム400のフレームF1−F4の各々は、フレームの中に含まれたMLC(例えばMLC10及び20)のそれぞれの部分の送信特性に関する重要情報を保持する制御チャネル410を含む。
【0059】
スーパーフレーム400のヘッダ部402はオーバーヘッド情報シンボル(OIS)チャネル412を含む。OISチャネル412はとりわけ、スーパーフレーム400の中でのMLC10の位置をデバイス112に知らせる。よってデバイス112は最初にサービスを要求するときに、正確な位置とMLC10に関係する他の特性をつかむため、まずはスーパーフレーム400の中でOISチャネル412を復号化しなければならず、その後MLC10の中のデータはアンパックでき、使用できる。
【0060】
また、例示的なスーパーフレーム400の中で制御チャネル412は、制御シーケンス番号416の変更を記録する制御番号フィールド414を含む。制御シーケンス番号は、ネットワーク100によってブロードキャストされるサービスで変化が生じたことを伝える。このコンセプトは後ほどより詳しく論述する。
【0061】
デバイス112は最初に起動されるときに、既知の制御特性に従ってスーパーフレーム400の中でOISチャネル412を受信する。デバイス112はOISチャネル412を受信することにより、目的のMLCに関する情報と制御チャネル410の受信と復号化に関する情報とを入手できる。次にデバイス112は制御チャネル410を受信し、特定の目的MLCを受信し復号化する方法について情報を受け取る。
【0062】
このMLC関連情報は、例えばMLC対フローマッピングを含むことができる。次にデバイス112は、例えばこれのローカルキャッシュメモリにこの情報を格納し、特定MLCの受信と復号化に進む。この特定の目的MLCは、例えばケーブルニュースネットワーク(CNN)によって提供される要求フローサービスに関係する場合がある。
【0063】
ひとたび目的のMLCの受信を開始したデバイス112は、後続スーパーフレームで制御チャネル410を監視し続ける必要はない。デバイス112は、とりわけ現行スーパーフレームの中で目的MLCの具体的位置を判定するため、OISチャネル412の監視を続ける。ただしデバイス112は、通常ならば制御チャネル410を受信し復号化することによって得ることになるその他一切のMLC関連情報を受信するにあたって、これのローカルキャッシュメモリに格納された情報に頼ることができる。
【0064】
目的のMLCを受信した後、デバイス112が制御チャネル410を受信し復号化する必要があるのは、目的のMLCが、又はこれに関係する情報が、変化するときだけである。この変更は、例えばネットワーク100によって指図され得る。
【0065】
ネットワーク100が最初にサービスを提供するときに、制御シーケンス番号は、制御シーケンス番号配列416に反映される値「1」等、初期値に設定される。デバイス112は引き続き要求フローサービスCNNを受信しながら、各々の受信スーパーフレームの冒頭でOISチャネル412の監視を続ける。
【0066】
他方デバイス112は、娯楽スポーツテレビ放送ネットワーク(ESPN)等、別のフローサービスを要求する場合に、ESPN関連のMLCに関係する特定の情報を入手するため、制御チャネル412を受信し復号化する必要がある。ただしデバイス112は、この新しいサービスの受信プロセスを開始する前に配列416をチェックし、現行制御シーケンス番号が変化したか否かを、そしてこれのローカルキャッシュメモリに格納された情報が、配列416の中にある現行制御シーケンス番号に一致するか否かを判定する。
【0067】
デバイス112は、制御シーケンス配列416が変化したか否かを判定するチェックにあたって、現行シーケンス番号を確認するため、まずこれのキャッシュメモリに格納された情報をチェックする。そしてこの現行番号を、制御シーケンス配列416に反映された最新の番号に比較する。比較した番号が異なる場合、デバイス112は新しいサービス要求が実施される前にこれのローカルキャッシュメモリが要更新であることを知る。
【0068】
上の例で、配列416の中のシーケンス番号は、ネットワーク100が最初にデバイス112に対しサービス提供を開始するときに「1」の初期値に設定された。ただしネットワーク100は、例えばバックグラウンドモードで、ユーザに気づかれずに、デバイス112へさらなるサービス情報をダウンロードした可能性がある。これらのさらなるサービスのバックグラウンドモードでのダウンロードはMLCにて変化を誘発し、最終的には新しいサービスを反映するため「1」から「2」へのシーケンス番号の変化を招いたであろう。
【0069】
要求ESPNサービスの提供に先駆け、デバイス112は、配列416をチェックし制御シーケンス番号が「1」から「2」に変化したことを確認する場合に、(i)制御チャネル412を受信し復号化しなければならない、(ii)更新されたシーケンス番号に関連する情報(例えばフロー対MLCマッピング)をダウンロードしなければならない、そして(iii)新たにダウンロードした情報を反映するためこれのローカルキャッシュメモリを更新しなければならない。よってユーザは、新しいサービスを明確に要求しなかったにもかかわらず、デバイス112にはこのサービスが(例えばバックグラウンドモードで)ダウンロードされたため、要求ESPNサービスの受信を許可される前に、デバイス112がこれのローカルキャッシュを更新するのを待たなければならない。
【0070】
ひとつのジレンマは、2種類のサービスが存在し、これら2種類のサービスが異なる進度で変化することである。ただし従来のネットワークは、これら2種類のサービスの変化の進度の違いを考慮できない。この無力は、ユーザが選択していないサービスタイプによって誘発される更新と遅延を辛抱することを、ユーザに強いる。
【0071】
第1のサービスタイプはリアルタイムサービスとして知られている。リアルタイムサービスは絶え間なくオンとなることが見込まれるサービスである。つまりリアルタイムサービスはすこぶる静的であり、それ故フロー対MLCマッピングの頻繁な変化を生じさせない。
【0072】
第2のサービスタイプは非リアルタイムサービスである。非リアルタイムサービスはより動的であり、持続期間はリアルタイムサービスより短い。したがって、非リアルタイムサービスはリアルタイムサービスより頻繁に変化し、フロー対MLCマッピングのより頻繁な変化を誘発する。
【0073】
図5は、従来のネットワークシステムにて処理される、多数の入り混じったリアルタイム及び非リアルタイムサービスフローを含む、フロー記述メッセージ500の図解である。例えば図5で、従来のネットワークユーザは、リアルタイムサービスフローとみなしてよいCNNのサービスフローを選択できる。図示されたとおり、CNNは、100のフローIDと、20の一意なMLC IDと、対応する送信モード(A)と、1の制御シーケンス番号とを有する可能性がある。フロー記述メッセージ500の中に見られる他のサービスフローは非リアルタイムとみなしてよく、それぞれ200、300、及び600のフローIDを含む。
【0074】
非リアルタイムサービスフロー200、300、及び600は、リアルタイムCNNサービスフロー100より頻繁に変化するため、同じMLC IDを共有できる。よって図5に示すとおり、MLC200、300、及び600は各々30のMLC IDを使用する。フロー200、300、及び600等、この非リアルタイムフロー間MLC ID共有が可能であるのは、それらの持続期間が短い、例えば30分に満たないためである。フロー200が終わると、フロー300にMLC ID30を渡すことができ、以降同様に続く。ただしフローは変化するため、送信モードと制御シーケンス番号もまた変化しなければならない。よってフロー200、300、及び600にはそれぞれシーケンス番号2、3、及び4が割り当てられる。
【0075】
図5の図解の中で、フロー記述メッセージはESPNのための最終サービスフローID700を含んでいる。この最終ESPNサービスフローもまたリアルタイムフローであり、MLC ID50と、送信モード(E)と、5の制御シーケンス番号とを有する。
【0076】
従来のネットワークで、デバイスがMLC ID20を有するCNNフロー100を受信していてMLC ID50を有するESPNフローID700への切り替えを試みる場合、遅延が生じる。上で指摘したとおり、デバイスはCNNフロー100からESPNフロー700に切り替える前に、格納された制御シーケンス番号を配列416の中にある現行シーケンス番号に比較するため制御チャネル410をチェックする。図5に示すとおり、制御シーケンス番号は「1」から「2」へ、2から「3」へ、そして3から「4、その他」へ変更されている。これらの変更は、それぞれサービスフロー200、300、及び600の各々に対応する。結果的にデバイスは、フロー200、300、及び600にそれぞれ関連する送信モードB−Dに関係する制御プロトコル情報をダウンロードしなければならない。制御シーケンス番号は変化しているため、この情報は、ESPNフロー700の要求が処理される前にダウンロードされなければならない。本発明はこの問題を解決する。
【0077】
図6は、図5のフロー記述メッセージ500に示されたリアルタイム及び非リアルタイムサービス間の並行性を描く、より詳細な図解600である。例えば図6で、リアルタイムCNNフロー100は期間t1−t4の全体にわたって発生する可能性がある。これらの同じ期間(t1−t4)中に、非リアルタイムフロー200、300、及び600もまた発生し得る。ユーザは時間t5において、CNNフロー100からESPNフロー700に切り替える可能性がある。同時に、時間t4に発生したフロー600は途絶える。
【0078】
本発明は、非リアルタイムサービスからリアルタイムサービスを分離することによってこの並行性に対応する。より具体的には、本発明はリアルタイムサービスと非リアルタイムサービスとに別々の制御シーケンス付番方式を割り当てる。これらの別個の付番方式は、通信デバイスの中で(別種のサービスの各々につき)別個の制御シーケンス番号を追跡し格納する別々のプレースホルダーを割り当てることによって実施される。
【0079】
図7は、本発明の実施形態に従って構築されたフロー記述メッセージ700の図解である。フロー記述メッセージ700は図5のフロー記述メッセージ500を修正する。図7で、リアルタイムサービス(例えばCNNフロー100とESPNフロー700)の制御シーケンス番号はビン0に格納される。非リアルタイムサービス(例えばフロー200、300、及び600)の制御シーケンス番号はビン1に格納される。個々のビンに関連付けられる用語又は数字表示は本発明の実施にとって重要でない。
【0080】
図7の例示的なフロー記述メッセージ700は、デバイス112等のデバイスが、リアルタイムサービスと非リアルタイムサービスとに関連付けられるシーケンス番号の変化に対し個別に対応することを可能にする。例えば、デバイス112のユーザがリアルタイムサービスだけに関心を寄せる場合、CNNフローID100とESPNフローID700で変化が生じるときにだけ制御チャネル410をチェックするようデバイス112を構成できる。より具体的には、デバイス112は、CNNフローID100を受信していてESPNフロー700提供の要求を受け取る場合に、非リアルタイムサービスの変化のために制御チャネル410から情報をダウンロードする必要はない。
【0081】
つまりデバイス112は、ビン0(リアルタイム)制御シーケンス変化だけを監視するよう明確に構成できる。図7に示すとおり、ビン0制御シーケンス番号は時間t5まで変化しない。よって、非リアルタイムフロー(200、300、及び600)は時間t1からt4に変化するが、デバイス112はビン0だけを監視するよう構成されているから、これらの変化に影響されない。したがってデバイス112は、ビン1制御シーケンス番号変化による遅延を経験しない。つまりこの際、ビン0に対するユーザのサービス要求を中断せずに非リアルタイムサービス(ビン1)で変化が生じることができる。
【0082】
本発明において、フロー記述メッセージ(例えば、図7の例示的なメッセージ700)は、フローからMLCへのマッピングの遂行にあたって要求される制御プロトコル情報を含む。フロー記述メッセージはネットワーク100の全体を通じて制御プロトコルパケット(CPP)と呼ばれる単位で送信される。より具体的には、CPPからなるグループは、図4のスーパーフレーム400等、単一のスーパーフレームの中で、制御プロトコルカプセルとして知られるエンティティにて送信又は受信される。
【0083】
図8は、本発明に従って構築された例示的な制御プロトコルカプセル800の図解である。上で指摘したとおり本発明は、リアルタイム情報と非リアルタイム情報の制御プロトコル情報(例えば制御シーケンス番号)を、個別のビン(例えば、ビン0とビン1)に論理的に分ける。この論理的分離は、これらの同ビンにわたって制御プロトコルカプセル800を分割することによって実施される。その結果ネットワーク100は、別個の制御プロトコル情報セットを個別に受信し処理できる。
【0084】
例えば図8で、制御プロトコルカプセル800は、ビン0情報部802とビン1部804とを含むよう仕切ることができる。ビン0部802には独自の一意なシーケンス番号806が割り当てられ、ビン1及びビン1部には独自の一意なシーケンス番号808が割り当てられる。ビン0情報部802は、特定の制御プロトコル情報(例えばメッセージ、ビンID、その他)を各々含むビン0CPP810を含む。同様に、カプセル800のビン1部804は、独自の制御プロトコル情報を各々有するビン1CPP812を含む。
【0085】
図9は、本発明に従って、カプセル800に各々類似する2つの例示的な制御プロトコルカプセル904及び906が、ネットワーク100の中でいかに格納され管理されるかの例示的なマッピング900である。例えば図9で、カプセル902及び904に関連する制御シーケンス番号は、列902に示すとおりOISチャネル412の中に格納される。列902で、第1の制御プロトコルカプセル902に関連するビン0及びビン1シーケンス番号は、OISチャネル412の第1のセグメント908に個別に格納される。第2の制御プロトコルカプセル904に関連するビン0及びビン1シーケンス番号は、OISチャネル412の第2のセグメント910に個別に格納される。
【0086】
デバイス112等のデバイスで、制御プロトコル情報は個別のビン0セクション912及びビン1セクション914として仕切られ、格納される。例えば、制御プロトコルカプセル902及び904のビン0シーケンス番号はどれも、デバイス112のビン0セクション912の中のサブセクション916に格納される。制御プロトコルカプセル902及び904のビン1シーケンス番号はどれも、デバイス112のビン1セクション914の中のサブセクション918に格納される。同じく図9に示されているとおり、制御プロトコルカプセル902及び904のビン0に関係するメッセージはどれも、デバイス112のビン0セクション912に格納される。制御プロトコルカプセル902及び904のビン1に関係するメッセージはどれも、デバイス112のビン1セクション914に格納される。
【0087】
ネットワーク100とデバイス112の中でのリアルタイム情報及び非リアルタイム情報の個別の格納及び管理は、デバイス112のレイテンシーを改善する。
【0088】
図10は、本発明の一実施形態を実践する例示的な方法のフロー図である。図10で、デバイス動作を管理する方法は、ステップ1000に示すとおり、制御情報を2つ以上の部分に分割することを含み、各部分には一意な制御シーケンス番号が関連付けられる。ステップ1002に示すとおり、どの部分を更新しなければならないかを判定するため、関連制御シーケンス番号の各々は更新サイクル中に検査される。ステップ1004では、どの部分を更新しなければならないかを判定するため、制御シーケンス番号の各々が更新サイクル中に検査される。
【0089】
図11は、実施形態に従って構築された装置1100のブロック図である。図11で、装置1100は制御情報を2つ以上の部分に分割するための分割する手段1102を含み、各部分には一意な制御シーケンス番号が関連付けられる。検査する手段1104は次に、どの部分を更新しなければならないかを判定するため、更新サイクル中に制御シーケンス番号の各々を検査する。
【0090】
本発明において、ネットワークによって送信される制御情報は2つのビンに論理的に分けられる。制御情報がリアルタイム媒体又は非リアルタイム媒体に関係するかどうかに応じて、デバイス内の制御情報は、媒体通信を中断した後リアルタイムで、又は媒体通信を中断せずにバックグラウンドで、更新される。正確な制御情報を得ることに左右される動作実行のレイテンシーは、レイテンシー感応性デバイス動作にとって必要な制御情報を、他のデバイス動作にとって必要な制御情報とは別に(すなわち別のビンの中で)ブロードキャストすることによって抑えられる。本発明の手法は、レイテンシー感応性デバイス動作にとって必要な制御情報もまたさほど頻繁に変化しない場合に、とりわけ効果的である。
【0091】
以上、指定機能の性能とその関係を図解する機能構成ブロックを用いて、本発明を説明した。説明の便宜を図るため、これらの機能構成ブロックの境界はここで恣意的に定められている。指定機能とその関係が適切に遂行される限り、代替の境界を定めることができる。
【0092】
よって、かかる代替境界は、特許請求の範囲に記載されている発明の範囲と精神との中にある。当業者は、アナログ及び/又はデジタル回路、個別コンポーネント、特定用途向け集積回路、ファームウェア、しかるべきソフトウェアを実行するプロセッサ等、又はこれらの任意の組み合わせによって、これらの機能構成ブロックを実施できることを認めるであろう。よって本発明の幅と範囲は上述した例示的な実施形態のいずれによっても制限されず、専ら以降の特許請求の範囲とこれの同等物とに従い規定される。
【0093】
前述した具体的な実施形態の説明は、他者が(本明細書で引用された参考文献の内容を含む)当技術の技能の中で知識を応用することにより、かかる具体的な実施形態を、本発明の一般概念から逸脱せず、過度の実験を行わずとも容易に修正するにあたり、及び/又は種々の用途に向けて適合するにあたり、十分に本発明の一般的性質を明らかにするであろう。したがってかかる適合及び修正は、本明細書に提示された教示と指導とに基づく、開示された実施形態の同等物の趣意及び範囲の中に入る。本明細書における表現又は専門用語は制限ではなく説明を目的とし、よって本明細書の表現又は専門用語は当業者によって、当業者の知識と併せて本明細書に提示された教示と指導とに鑑み、解釈されるべきものであることを理解されたい。
【0094】
詳細な説明の節は、主に特許請求の範囲の解釈に役立てるべきものである。要旨及び要約の節は、発明者によって企図された本発明の1つ以上の、ただし全てではない、例示的な実施形態を述べるものであって、よって特許請求の範囲を制限することを意図するものではない。
【0095】
要旨及び要約の節ではなく、詳細な説明の節が、特許請求の範囲の解釈に役立てることを意図するものであることを了解されたい。要旨及び要約の節は、発明者によって企図された本発明の1つ以上の、ただし全てではない例示的な実施形態を述べるものであって、よって本発明と添付の特許請求の範囲とを何らかの形で制限することを意図するものではない。
【特許請求の範囲】
【請求項1】
デバイス動作を管理する方法であって、
制御情報を2つ以上の部分に分割することであり、各部分には一意な制御シーケンス番号が関連付けられることと、
前記部分のどれを更新しなければならないかを判定するため、更新サイクル中に前記制御シーケンス番号の各々を検査することと、
を備える方法。
【請求項2】
前記2つ以上の部分はリアルタイム及び非リアルタイムサービスを含む、請求項1に記載の方法。
【請求項3】
前記2つ以上の部分はやがて重複する、請求項2に記載の方法。
【請求項4】
制御情報を提供する方法であって、
制御情報を2つ以上の部分に分割することと、
各部分に一意な制御シーケンス番号を関連付けることと、
を備える方法。
【請求項5】
前記2つ以上の部分はリアルタイム及び非リアルタイムサービスを含む、請求項4に記載の方法。
【請求項6】
前記2つ以上の部分はやがて重複する、請求項5に記載の方法。
【請求項7】
前記制御シーケンス番号は制御情報の更新に関係する情報を含む、請求項1に記載の方法。
【請求項8】
デバイス動作を管理する方法であって、
2つ以上の部分に分割された制御情報を受信することであり、各部分には一意な制御シーケンス番号が関連付けられることと、
前記受信制御シーケンス番号の各々で変更を検査することと、
変更された制御シーケンス番号に対応する前記受信制御情報の前記部分を更新することと、
を備える方法。
【請求項9】
前記2つ以上の部分はリアルタイム及び非リアルタイムサービスを含む、請求項8に記載の方法。
【請求項10】
前記2つ以上の部分はやがて重複する、請求項8に記載の方法。
【請求項11】
デバイス動作を管理する装置であって、
制御情報を2つ以上の部分に分割する手段であり、各部分には一意な制御シーケンス番号が関連付けられる手段と、
前記部分のどれを更新しなければならないかを判定するため、更新サイクル中に前記制御シーケンス番号の各々を検査する手段と、
を備える装置。
【請求項12】
前記2つ以上の部分はリアルタイム及び非リアルタイムサービスを含む、請求項11に記載の装置。
【請求項13】
前記2つ以上の部分はやがて重複する、請求項12に記載の装置。
【請求項14】
制御情報を提供する装置であって、
制御情報を2つ以上の部分に分割する手段と、
各部分に一意な制御シーケンス番号を関連付ける手段と、
を備える装置。
【請求項15】
前記2つ以上の部分はリアルタイム及び非リアルタイムサービスを含む、請求項14に記載の装置。
【請求項16】
前記2つ以上の部分はやがて重複する、請求項15に記載の装置。
【請求項17】
前記制御シーケンス番号は制御情報の更新に関係する情報を含む、請求項1に記載の装置。
【請求項18】
デバイス動作を管理する装置であって、
2つ以上の部分に分割された制御情報を受信する手段であり、各部分には一意な制御シーケンス番号が関連付けられる手段と、
前記受信制御シーケンス番号の各々で変更を検査する手段と、
変更された制御シーケンス番号に対応する前記受信制御情報の前記部分を更新する手段と、
を備える装置。
【請求項19】
デバイス動作を管理する方法を遂行するため1つ以上のプロセッサによって実行される1つ以上の命令からなる1つ以上のシーケンスを保持するコンピュータ読取可能媒体であって、同命令は、前記1つ以上のプロセッサによって実行されるときに、前記1つ以上のプロセッサに、
制御情報を2つ以上の部分に分割することであり、各部分には一意な制御シーケンス番号が関連付けられることと、
前記部分のどれを更新しなければならないかを判定するため、更新サイクル中に前記制御シーケンス番号の各々を検査することと、
の各ステップを実行させる、コンピュータ読取可能媒体。
【請求項20】
デバイスであって、
第1及び第2のロジック部を含むプロセッサを備え、
前記第1のロジック部は制御情報を受信するよう構成され、前記制御情報は2つ以上の部分に分割され、各部分には一意な制御シーケンス番号が関連付けられ、
前記第2のロジック部は、前記部分のどれを更新しなければならないかを判定するため、制御シーケンス番号の各々を更新サイクル中に検査するよう構成される、
デバイス。
【請求項1】
デバイス動作を管理する方法であって、
制御情報を2つ以上の部分に分割することであり、各部分には一意な制御シーケンス番号が関連付けられることと、
前記部分のどれを更新しなければならないかを判定するため、更新サイクル中に前記制御シーケンス番号の各々を検査することと、
を備える方法。
【請求項2】
前記2つ以上の部分はリアルタイム及び非リアルタイムサービスを含む、請求項1に記載の方法。
【請求項3】
前記2つ以上の部分はやがて重複する、請求項2に記載の方法。
【請求項4】
制御情報を提供する方法であって、
制御情報を2つ以上の部分に分割することと、
各部分に一意な制御シーケンス番号を関連付けることと、
を備える方法。
【請求項5】
前記2つ以上の部分はリアルタイム及び非リアルタイムサービスを含む、請求項4に記載の方法。
【請求項6】
前記2つ以上の部分はやがて重複する、請求項5に記載の方法。
【請求項7】
前記制御シーケンス番号は制御情報の更新に関係する情報を含む、請求項1に記載の方法。
【請求項8】
デバイス動作を管理する方法であって、
2つ以上の部分に分割された制御情報を受信することであり、各部分には一意な制御シーケンス番号が関連付けられることと、
前記受信制御シーケンス番号の各々で変更を検査することと、
変更された制御シーケンス番号に対応する前記受信制御情報の前記部分を更新することと、
を備える方法。
【請求項9】
前記2つ以上の部分はリアルタイム及び非リアルタイムサービスを含む、請求項8に記載の方法。
【請求項10】
前記2つ以上の部分はやがて重複する、請求項8に記載の方法。
【請求項11】
デバイス動作を管理する装置であって、
制御情報を2つ以上の部分に分割する手段であり、各部分には一意な制御シーケンス番号が関連付けられる手段と、
前記部分のどれを更新しなければならないかを判定するため、更新サイクル中に前記制御シーケンス番号の各々を検査する手段と、
を備える装置。
【請求項12】
前記2つ以上の部分はリアルタイム及び非リアルタイムサービスを含む、請求項11に記載の装置。
【請求項13】
前記2つ以上の部分はやがて重複する、請求項12に記載の装置。
【請求項14】
制御情報を提供する装置であって、
制御情報を2つ以上の部分に分割する手段と、
各部分に一意な制御シーケンス番号を関連付ける手段と、
を備える装置。
【請求項15】
前記2つ以上の部分はリアルタイム及び非リアルタイムサービスを含む、請求項14に記載の装置。
【請求項16】
前記2つ以上の部分はやがて重複する、請求項15に記載の装置。
【請求項17】
前記制御シーケンス番号は制御情報の更新に関係する情報を含む、請求項1に記載の装置。
【請求項18】
デバイス動作を管理する装置であって、
2つ以上の部分に分割された制御情報を受信する手段であり、各部分には一意な制御シーケンス番号が関連付けられる手段と、
前記受信制御シーケンス番号の各々で変更を検査する手段と、
変更された制御シーケンス番号に対応する前記受信制御情報の前記部分を更新する手段と、
を備える装置。
【請求項19】
デバイス動作を管理する方法を遂行するため1つ以上のプロセッサによって実行される1つ以上の命令からなる1つ以上のシーケンスを保持するコンピュータ読取可能媒体であって、同命令は、前記1つ以上のプロセッサによって実行されるときに、前記1つ以上のプロセッサに、
制御情報を2つ以上の部分に分割することであり、各部分には一意な制御シーケンス番号が関連付けられることと、
前記部分のどれを更新しなければならないかを判定するため、更新サイクル中に前記制御シーケンス番号の各々を検査することと、
の各ステップを実行させる、コンピュータ読取可能媒体。
【請求項20】
デバイスであって、
第1及び第2のロジック部を含むプロセッサを備え、
前記第1のロジック部は制御情報を受信するよう構成され、前記制御情報は2つ以上の部分に分割され、各部分には一意な制御シーケンス番号が関連付けられ、
前記第2のロジック部は、前記部分のどれを更新しなければならないかを判定するため、制御シーケンス番号の各々を更新サイクル中に検査するよう構成される、
デバイス。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2011−223596(P2011−223596A)
【公開日】平成23年11月4日(2011.11.4)
【国際特許分類】
【外国語出願】
【出願番号】特願2011−115758(P2011−115758)
【出願日】平成23年5月24日(2011.5.24)
【分割の表示】特願2008−501017(P2008−501017)の分割
【原出願日】平成18年3月9日(2006.3.9)
【出願人】(595020643)クゥアルコム・インコーポレイテッド (7,166)
【氏名又は名称原語表記】QUALCOMM INCORPORATED
【Fターム(参考)】
【公開日】平成23年11月4日(2011.11.4)
【国際特許分類】
【出願番号】特願2011−115758(P2011−115758)
【出願日】平成23年5月24日(2011.5.24)
【分割の表示】特願2008−501017(P2008−501017)の分割
【原出願日】平成18年3月9日(2006.3.9)
【出願人】(595020643)クゥアルコム・インコーポレイテッド (7,166)
【氏名又は名称原語表記】QUALCOMM INCORPORATED
【Fターム(参考)】
[ Back to top ]