(57)【要約】【解決手段】本開示は、将来の同期パケット送信をスケジュールし、同期パケット送信と非同期パケット送信との間のアービトレートを行うデータ構造を含む同期パケットマネジャを提供する。同期パケットを送信するために要求されるスロットが、同期パケット予約テーブル内の対応する入力をマークすることにより予約される。アプリケーションソフトウェアは、多くの異なるキューにパケットを書き込むのではなく、ＢＴＳセクタ毎に、単一の予約テーブルを埋める。【選択図】      図７
2007507921.tif 000002
【特許請求の範囲】
【請求項１】
同期パケット送信をスケジュールする装置であって、
同期パケット送信をスケジュールする同期パケットマネジャと、
前記同期パケット送信のためのスロット予約を格納する同期パケット予約テーブルと
を備えた装置。
【請求項２】
請求項１に記載の装置において、前記同期パケットマネジャは更に、前記同期パケット予約テーブルに応じて非同期パケット送信をスケジュールするパケットスケジューラを備えた装置。
【請求項３】
請求項１に記載の装置において、前記同期パケット予約テーブルは更に状態情報を格納し、前記状態情報は、
同期パケット予約の優先度と、
前記パケットが送信されるスロットの数と
を含む装置。
【請求項４】
請求項１に記載の装置において、前記同期パケットマネジャは、前記同期パケット予約テーブルに書き込まれる予約を決定する装置。
【請求項５】
請求項１に記載の装置において、前記同期パケットマネジャは、前記予約の各々について、スロット数、バースト長さ、及び周期の記録を保持する装置。
【請求項６】
請求項２に記載の装置において、前記同期パケットマネジャは更に、
開始時間を有効にし、
コンフリクトしているパケットを発見し、
同期パケット予約を前記同期パケット予約テーブルに書き込む
ように適合された装置。
【請求項７】
請求項２に記載の装置において、前記非同期パケット送信はトラフィックデータである装置。
【請求項８】
請求項４に記載の装置において、前記予約は、
プレースホルダ入力のための優先度と、
予約される最初のスロットを識別する開始時間と、
前記予約の周期を示すインタレース周期と、
前記予約のデューティサイクルを示すインタレースバースト長さと、
前記予約が書き込まれる周期を示すインタレーススロット番号インデクスと
を含む装置。
【請求項９】
請求項４に記載の装置において、前記予約は、複数の同期パケット予約テーブルへ送られる装置。
【請求項１０】
同期パケット送信をスケジュールする方法であって、
同期パケット送信をスケジュールすることと、
前記同期パケット送信のためのスロット予約を格納することと
を含む方法。
【請求項１１】
請求項１０に記載の方法において、同期パケット送信をスケジュールすることは更に、同期パケット予約テーブルに応じて非同期パケット送信をスケジュールすることを含む方法。
【請求項１２】
請求項１０に記載の方法において、同期パケット送信をスケジュールすることは更に、前記同期パケット予約テーブル内に予約を書き込む方法。
【請求項１３】
請求項１０に記載の方法において、同期パケット送信をスケジュールすることは更に、前記予約の各々について、スロット数、バースト長さ、及び周期の記録を保持する装置。
【請求項１４】
請求項１１に記載の方法において、前記非同期パケット送信はトラフィックデータである方法。
【請求項１５】
請求項１２に記載の方法において、前記予約を書き込むことは更に、
開始時間を有効にし、
コンフリクトしているパケットを発見し、
同期パケット予約を前記同期パケット予約テーブルに書き込む
ことを含む方法。
【請求項１６】
請求項１２に記載の方法において、前記予約を書き込むことは、複数の同期パケット予約テーブル上に実行される方法。
【請求項１７】
同期パケット送信をスケジュールする装置であって、
同期パケット送信をスケジュールする手段と、
前記同期パケット送信のためのスロット予約を格納する手段と
を備えた装置。
【請求項１８】
請求項１７に記載の装置において、前記同期パケット送信をスケジュールする手段は更に、同期パケット予約テーブルに応じて非同期パケット送信をスケジュールするパケットスケジューラを備えた装置。
【請求項１９】
請求項１７に記載の装置において、状態情報が、
同期パケット予約の優先度と、
前記パケットが送信される前記同期パケット予約のためのスロットの周期に対応するスロットの数と
を含む装置。
【請求項２０】
請求項１７に記載の装置において、前記スケジュールする手段は更に、前記予約の各々について、スロット数、バースト長さ、及び周期の記録を保持する装置。
【請求項２１】
請求項１７に記載の装置において、前記スケジュールする手段は更に、前記同期パケット予約テーブル内に書き込まれる予約を決定する装置。
【請求項２２】
請求項１７に記載の装置において、前記同期パケット送信をスケジュールする手段は更に、
開始時間を有効にし、
コンフリクトしているパケットを発見し、
同期パケット予約を前記同期パケット予約テーブルに書き込む
ように適合された装置。
【請求項２３】
請求項２０に記載の装置において、前記予約は、
プレースホルダ入力のための優先度と、
予約される最初のスロットを識別する開始時間と、
前記予約の周期を示すインタレース周期と、
前記予約のデューティサイクルを示すインタレースバースト長さと、
前記予約が書き込まれる周期を示すインタレーススロット番号インデクスと
を含む装置。
【請求項２４】
請求項２０に記載の装置において、前記予約は、複数の同期パケット予約テーブルに送られる装置。
【請求項２５】
同期パケット送信をスケジュールする装置であって、
メモリ記憶ユニットと、
前記メモリ記憶ユニットに接続され、同期パケット送信をスケジュールし、前記同期パケット送信のためのスロット予約を格納するように適合されたプロセッサと
を備えた装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、データパケット通信に関し、特に、時分割多重（ＴＤＭ）通信システムにおいて、同期パケット送信をスケジュールすることに関する。
【背景技術】
【０００２】
最近、ユニキャストとマルチキャスト／ブロードキャストとの両方の送信を取扱うための送信システムに対する要求がある。ユニキャスト送信は、１人のユーザに向けられている一方、マルチキャスト／ブロードキャストは、複数のユーザに向けられている。時分割多重スキームでは、ユニキャスト又はマルチキャスト／ブロードキャストパケット送信のために時間スロットがスケジュールされる。マルチキャストおよびブロードキャストパケットは、一般に、同時的である。従って、マルチキャストおよびブロードキャストパケットは、周期的なベースで、特定の時間スロット内で送信される。これら同期パケットは、例えば同期制御チャネル、サブ同期制御チャネル、又はマルチキャスト／ブロードキャストチャネルのような一つ又は複数のソースから来るかもしれない。ユニキャストパケットは一般に非同期で、利用可能なあらゆるスロットで送信されうる。言い換えると、同期パケットは、一般に、ユニキャストパケットほど柔軟ではないスケジューリング要件を持っている。
【０００３】
パケットは、送信を完了するために、複数の時間スロットを必要とする。よって、次の同期パケットが送られる前に、送信を完了するために、ユニキャストスケジューラが、ユニキャストパケットをスケジュールする。非同期／ユニキャストパケットをスケジューリングする時、このスケジューラは、将来の同期パケット送信に気づいているにちがいない。ユニキャストパケットをスケジューリングする時、スケジューラは、例えば、時間内に送信されるべき同期パケットのために、６４スロットを考慮するかもしれないことを考慮する。多くの場合、同期パケットは、前もって十分に利用可能ではないので、スケジューラは計画を立てることができない。しかし、ユニキャストスケジューラは、同期パケットのために、適切なスロットを開いたままにしておかねばならない。従って、一つのシステムで同期及び非同期パケット送信を取扱うための単純で、一般的なメカニズムに対するニーズがある。
【発明の開示】
【０００４】
本特許出願は、２００３年９月１６日に出願され、"SCHEDULING SYNCHRONOUS PACKET TRANSMISSIONS ON A １xEV-DO FORWARDLINK"と題され、本出願の譲受人に譲渡され、参照により明確に本書に含まれる仮出願番号６０／５０３，５５０号に対する優先権を主張する。
【０００５】
ここで開示する実施例は、将来の同期パケット送信をスケジュールするためのデータ構造を含む同期パケットマネジャを提供することによって上述したニーズに対処する。同期パケットを送信するために必要なスロットは、同期パケット予約テーブル内の対応する入力をマークすることによって予約される。ネットワークデバイスは、多くの異なるキューにパケットを書き込むのではなく、基地局トランシーバサブシステム（ＢＴＳ）セクタ毎に、単一の予約テーブルを埋める。
【０００６】
予約テーブル内の各入力は、優先度が割り当てられる。そして、同期パケットマネジャは、低い優先度のパケットが先に取られないこと、又は高い優先度のパケットを上書きしないことを保証する。
【０００７】
最後に、同期パケットマネジャは、周期的なベースで、予約テーブル内にスロットを自動的に予約するためのメカニズムを提供する。このメカニズムは、予約テーブルにプレースホルダ予約を挿入する。各プレースホルダ予約は、優先度を持っており、スロットが、低い優先度のパケットで満たされないことを保証する。
【発明を実施するための最良の形態】
【０００８】
ここで開示する方法及び装置の特性、目的、及び利点は、図面と連携された時、以下に示す詳細記述からより明らかになるであろう。
【０００９】
以下の説明は、例、インスタンス、及び／又は例示目的、及び理解の明確化として役立つ一つ又は複数の実施例を提供する。ここで説明されたあらゆる実施例は、他の実施例に対して好適であるとか、有利であるとか必ずしも解釈される必要はない。
【００１０】
無線データ送信に対する増え続ける需要、及び無線通信技術により利用可能なサービスの拡張は、特別なデータサービスの開発をもたらした。そのような一つのサービスは、高データレート（ＨＤＲ）と称される。ＨＤＲタイプシステムの例は、「ＨＡＩ仕様」及び「ＴＩＡ／ＥＩＡ／ＩＳ−８５６」と称される"cdma2000 High Rate Packet Data Air Interface Specification"で提案されているものである。
【００１１】
一つの実施例では、送信システムが、１×ＥＶ−ＤＯと称される標準的なプロトコルをサポートする。図１に示すように、１×ＥＶ−ＤＯ順方向リンクは、それぞれが１．６６ｍｓの長さを持つ時間スロットから構成される時分割多重式であり、ユニキャスト又はマルチキャスト／ブロードキャストパケット送信のためにスケジュールされる。パケットが単一のユーザに送られる時、「ユニキャスト」と呼ばれ、パケットが複数のユーザに送られる時、「マルチキャスト」と呼ばれる。マルチキャスト及びブロードキャストパケットは、一般に、周期的である。これは、これらが、周期的なベースで、特別な時間スロットで送信されねばならないことを意味している。これら同期パケットは、例えば同期制御チャネル１０及び１５、サブ同期制御チャネル、又はマルチキャスト／ブロードキャストチャネルのような一つ又は複数のソースから来る。ユニキャストパケットは、一般に非同期で、利用可能な任意のスロットで送信されうる。トラフィックチャネルもまた「ユニキャスト」と考えられる。言い換えると、上に述べたチャネルからの同期パケットは、一般に、ユニキャストパケットほど柔軟ではないスケジューリング要件を持っている。
【００１２】
同期制御チャネル（ＣＣ）上のデータは、図１に示すように、２５６スロット毎に、少なくとも一つのパケットで送られる。このデータは、例えばシステムパラメータのような、移動局（ＭＳ）に送られた情報からなるかもしれない。マルチキャスト／ブロードキャストチャネル上のデータは、周期的に送られ、ユニキャストほど柔軟ではないスケジューリング要件を持っている。このデータは、ストリーミングビデオサービスからなるかもしれない。最後に、サブ同期制御チャネル、制御チャネルの細分割上のデータもまた、周期的であるが、２５６スロットよりも十分小さい周期を持っている。このデータは、ＭＳに対するページからなり、２５６スロットが、待つのに長すぎる周期である場合に使用される。
【００１３】
このシステムの基本的な問題は、同期及び非同期データパケットを別々に維持することである。この特定のシステムでは、パケット送信は、４つの時間スロットにわたってインタレースされる。送信するために複数のスロットを取るパケットは、図３に示すように、送信を完了するまでに、４つ毎スロットを占有する。例えば、同期制御チャネルは、時間スロット０及び４上で送信される。なぜなら、時間スロットがインタレースされ、データパケットが連続的に送られないからである。時間スロット１は、例えばトラフィックチャネルデータのような非同期データを送るために使用される。インタレースすることによって、ＭＳに、マルチスロットパケットを受信し、このパケットの全てのスロットが送信される前に復号を試みるための時間を与える。もしもＭＳが、このパケットを早く復号することができれば、ＭＳは基地局（ＢＳ）にＡＣＫを送り返し、データパケットの受領と、連続的な復号を知らせる。
【００１４】
他は、図２に示すような「スマートスケジューラ」を使って、この問題を解決した。スマートスケジューラは、同期チャネルの異なるタイプのタイミング要件を知っている。この例では、少なくとも３つの論理チャネル、すなわち、制御チャネル（ＣＣ）、ブロードキャストチャネル（ＢＣ）、及びサブ同期制御チャネル（ＳＣＣ）が存在する。各論理チャネルは、例えばキュー４５，５０，５５を持つ。ここでは、アプリケーションソフトウェアが、スケジューラに、チャネル上で送信される必要のあるパケットを送る。多くの数のキュー４５，５０，５５（例えば、多くのブロードキャストチャネル）が存在しうる。スケジューラは、異なる同期パケットキューを見て、各パケットが送信されるべき時を決定する。同期パケットが送信される時を決定した後、スケジューラは、ユニキャスト／非同期送信をスケジュールし、残りの時間スロットを埋めることができる。
【００１５】
図３では、制御チャネルパケットが時間スロット０，４，８上で送られ、ブロードキャストチャネルパケットが時間スロット１０上で送られる。ユニキャストデータパケットであるトラフィックチャネルデータは、制御チャネル及びブロードキャストチャネルデータパケットが特定のスロットに割り当てられ、予約された後に、時間スロット１上で送信される。もしも他のユニキャストデータが、例えば、時間スロット２，６上で送信されるのであれば、スケジューラは、同期チャネルデータが時間スロット１０上に予約されていないこと確認するために、その他４つの時間スロットを考えるであろう。この場合、時間スロット１０が、ブロードキャストチャネルデータのために予約されるので、ユニキャストチャネルデータのために時間スロット２，６のみが使用される。すなわち、我々は、時間スロット６から４つの時間スロットを考える。時間スロット１０は、既にブロードキャストチャネルデータ用であるので、ユニキャスト予約は、時間スロット６で停止する。「スマートスケジューラ」のアプローチはより複雑である。それは予約テーブルを持っていないので、「考える」方法は、同期パケットキューの全ての検討し、次の同期パケットがいつ送信されるべきかを知ることによる。その後、幾つのスロットが、ユニキャストに利用可能であるかを決定することができる。
【００１６】
図４は、図３で説明した時間スロットを表すテーブルである。このテーブルは、４つのインタレース上で送られているパケットを表すための簡単な方法である。スケジュールされた開始時間の前に、実際のパケットが、同期パケットマネジャに送られたのであれば、同期パケット予約テーブルにおける各入力は、以下の２つのタイプの予約、すなわち、占有しているスロット内で送信し始めるべき物理レイヤパケット、又は指定されたスロット内で送信し始めるべき物理レイヤパケットのためのプレースホルダのうちの１つを含む。このテーブルの最初の行（行０）は、制御チャネルデータパケットを表している。行１では、最初のスロットが、トラフィックチャネルデータのために予約されている。行２では、ブロードキャストチャネルデータがスロット１０に予約されているので、スロット２及び６のみが、ユニキャストチャネルデータのために使用されうる。データパケットは、１から１６までのどのスロットもとりうる。このシステムは、この範囲内にスケジュールされたデータが存在しないことを確信するために、１６スロットを考える。低いレートパケットは、送信するために、最大１６スロット×４インタレース＝６４スロットの多くのスロットを取る。ユニキャストパケットをスケジューリングする時には、スケジューラは、その時間内に送信されるべき同期パケットについて６４のスロットを考えることができなくてはならない。多くの場合、同期パケットは、前もって利用可能な６４スロットではなく、ユニキャストスケジューラは、同期パケットのために適切なスロットを開いたままにしている。言い換えれば、スケジューラ動作は、同期データパケットを上書きすることを回避できるように制限される。
【００１７】
時間スロットのスケジューリングは、図５のＢＴＳ２５で実行される。この図に示すように、ＢＳＣ２０は、ＢＴＳ２５にデータを送る。コンテンツサーバ（ＣＳ）２９は、ＢＴＳ２５にデータを提供するものとして例示されており、ＢＳＣ２０を経由してもデータを提供する。ＢＳＣ２０が同期データを送らず、ＢＴＳ２５が同期データパケットのためのスロットを未だに予約している時に問題が発生する。ＢＳＣは、ユニキャストスケジュール決定が既になされた後に同期データを送る。これは、同期パケットと潜在的にコンフリクトするかもしれない。この問題に対して２つの局面がある。第１に、スケジューラは、非同期パケットが同期パケットを上書きしないことを保証しなければならない。第２に、たとえＢＳＣ２０がＢＴＳ２５にデータを送っていなくても、ＢＴＳ２５は、スロットが同期データパケットのために予約されていることを保証する。言い換えれば、たとえパケットがそのキューにまだ書き込まれていなくても、いつ同期パケットが送信されるべきかを、スマートスケジューラは知らねばならない。ＢＴＳ２５は、スケジューラ２７、同期パケットマネジャ２８、及び同期パケット予約テーブル３０を含んでいる。
【００１８】
スケジューラ２７は、これらキューの記憶に専念し、ブロードキャストチャネルのタイミング要求を知っている。スケジューラ２７は、一般に、各キューのヘッドを調べ、このチャネルが、送るべきデータを持っているかを判定する。この方法の一つの問題は、複雑さである。この方法は、チャネル情報を格納するために追加のメモリ（例えばキュー）を必要とする。更に、スケジューラは、新たな各同期チャネルの導入に基づいて更新されるので、この方法は柔軟性がない。
【００１９】
（同時パケット管理）  
上述した問題を解決するために、以下の予約テーブルが説明される。この点に関し、スケジューラ２７は、特定のタイプのチャネルに関する情報が無くとも動作するので、予約テーブルは簡単であり、柔軟性のある解決策である。図６の同期パケット予約テーブル３０に示すように、同期パケットマネジャ２８は、単に、（もしあれば）次に来るスロットのうち多くが、非同期／ユニキャストパケットのためにどのようにして利用可能であるのかを報告する。例えば、行０の最初の５スロットは、ユニキャストパケットのために使用することができる。同期パケットマネジャ２８は、予約テーブルにおける次の一つ又は複数の入力を確認することによって、このスロットカウントに到達する。予約テーブル入力がなければ、スロットはユニキャストのために利用可能とされる。
【００２０】
プレースホルダ予約は、マルチスロットユニキャストパケットがスケジュールされていないことを保証する。これは、（まだテーブルに書き込まれていないかもしれない）将来の同期パケットによって必要とされるスロットと重なり合う。同期パケットマネジャ２８は、特定の同期チャネルの知識を持たない。これは、同期パケットマネジャをより柔軟性の高いものにし、広範なチャネルタイプを取り扱うことを可能にする。（例えば、アプリケーションソフトウェアによって取り扱われる）任意の数の論理チャネルは、同期パケット予約テーブル３０に書き込むことができる。同期パケットマネジャ２８又はスケジューラ２７の簡素化及び柔軟性は、それぞれをハードウェア実装のための良い候補とする。
【００２１】
同期パケットマネジャ２８又はスケジューラ２７は、以下の利点を持っている。第１に、一般的なメカニズムが、ファームウェア／ハードウェア修正なしで新たな同期チャネルタイプに容易に拡張できる。同期パケットマネジャ２８は、元々、同期制御チャネル及びブロードキャスト／マルチキャストチャネルを取り扱うために設計された。しかし、新たなサブ同期制御チャネルも同様に容易に取り扱うであろう。第２に、大多数の論理同期チャネルに良好にスケールする。論理チャネルは、チャネルの特定のタイプの１つの例である。例えば、３セクタＢＴＳは、４８の論理ブロードキャストチャネル、３つの同期制御チャネル、及び３つのサブ同期制御チャネルを持つかもしれない。最後に、ハードウェアに容易に実装可能な単純な設計である。
【００２２】
一つの実施例では、ＦＬ  ＤＳＰが、一般的な同期パケットインタフェースをサポートする。これは、特定の開始時間において、物理レイヤパケットを送信するために使用することができる。このインタフェースは、同期制御チャネル及びブロードキャストチャネルパケットの両方を送信するのに適切である。なぜなら、両方の場合とも、ＢＴＳにおけるホストドライバは、パケットが送信される時を正確に前もって知っているからである。言い換えれば、同期パケットインタフェースは、ユニキャストスケジューラをバイパスし、特定の時間スロットにおいて始まる物理レイヤパケット送信を要求する手段を提供する。
【００２３】
（同期パケット予約テーブル）  
一つの実施例では、図７に示すように、ＦＬ  ＤＳＰが、各セクタのための同期パケット予約テーブルを保持する。この予約テーブルは、基本的には、将来の同期パケット送信のカレンダである。同期パケット予約テーブルは、SYNC_PKT_WINDOW_SIZE入力を含む。ここでは、テーブル内の各入力は、１スロットを表す。このテーブルは、予約のスライディングウィンドウとして考えられる。これによって、テーブル入力０は常に現在のスロットを表し、テーブル入力SYNC_PKT_W1NDOW_SIZE-1は、常に、テーブル内の最も先の予約を表すようになる。
【００２４】
同期パケット予約テーブルの一例が、図７に示されている。このテーブルは、４つの行を含んで示されている。これは、４つの物理レイヤインタレースを表している。このレイアウトによって、マルチスロット物理レイヤパケットが占有するスロットを容易に識別できるようになる。スロットＳで送信を開始するマルチスロットパケットは、図７に示すテーブルで隣接しているスロットＳ＋４、Ｓ＋８等でも送信する。スケジュールされた開始時間の前に、実際のパケットが、同期パケットマネジャに送られたのであれば、同期パケット予約テーブルにおける各入力は、以下の２つのタイプの予約、すなわち、占有しているスロット内で送信し始めるべき物理レイヤパケット、又は指定されたスロット内で送信し始めるべき物理レイヤパケットのためのプレースホルダのうちの１つを含む。
【００２５】
同期パケット予約テーブル入力の各々は、以下に示すパラメータを含んでいる。
【００２６】
・優先度（０から１５）−同期パケット予約の優先度。同期パケットマネジャは、低い優先度の同期パケットが、高い優先度の同期パケット（又はプレースホルダ）によって予約されたスロットで送信しないことを保証する。優先度０は、最も低く（予約されておらず）、優先度１５は、最も高い。予約されていないスロットは、０の優先度を持つ。
【００２７】
・メディアアクセス制御（ＭＡＣ）インデクス（０から６３）−物理レイヤパケットが送信されるべきＭＡＣインデクス。予約されていないスロット又はプレースホルダ予約は、０のＭＡＣインデクスを持つ。
【００２８】
・レート（１から１２）−物理レイヤパケットが送信されるべきレート。レート値は、データレート制御（ＤＲＣ）レートのために指定されたものと同じである。特定のＤＲＣレート以外の物理レイヤパケットレートが、以下に記載される"NumSlot"を調整することによって達成されるかもしれないことに留意されたい。予約されていないスロット又はプレースホルダ予約は、０のレートを持つ。
【００２９】
・ＮｕｍＳｌｏｔ（１から１６）−物理レイヤパケットが送信されるスロットの数。特定のレートにおいて、物理レイヤパケットに対して要求される最大数のスロットに等しいか、それより少ないスロット数。予約されていないスロット又はプレースホルダ予約は、０に設定されたNumSlotを持つ。
【００３０】
・エンコーダインデクス−物理レイヤパケット内のＭＡＣレイヤパケットを識別するMAX_SYNC_PKTS_PER_SLOTエンコーダインデクス（例えば、２）のアレイ。特定のレートにおいて物理レイヤパケットが、MAX_SYNC_PKTS_PER_SLOT_MAC個よりも少ないレイヤパケットを必要とするのであれば、同期パケットマネジャは、必要以上の値を無視する。予約されていないスロット又はプレースホルダ予約は、０に設定されたエンコーダインデクスを持つ。
【００３１】
マルチスロット同期パケットは、同期パケット予約テーブル内に一つの入力（すなわち、その開始時間に対応した一つ）を占有することを留意されたい。同期パケットマネジャは、同期パケットの開始時間前のおおよそ一つのスロットであるスケジューリングの時間において、同期パケットの衝突又は重なり合いを解決する。
【００３２】
（周期的な同期パケット予約）  
このセクションでは、いつどのようにして同期パケットマネジャが、同期パケット予約テーブルに「プレースホルダ」予約を書き込むかを説明する。
【００３３】
ほとんどの同期パケット送信は、周期的ベースで引き起こる。例えば、同期制御チャネルは、２５６スロットからなる周期、あるいはインタレース上に６４個のインタレーススロットを持つ。同期パケットは、スケジュールされた開始時間前のほんの数スロットまでしばしば利用することができない。そして、同期パケット送信のためのスロットを予約する手段もなく、同期パケット書き込みが引き起こる前でさえも、オーバラップしているマルチスロットパケットがスケジュールされるかもしれない。図８に示すように、同期パケットマネジャは、同期パケットのためのスロットを開き続ける方法として「プレースホルダ」予約を提供する。これは、任意の時間において、予約テーブルウィンドウ内の予約テーブル６５，７０，７５に書き込まれる。予約テーブル６５，７０，７５は、セクタ０，１，２それぞれのための同期パケット予約テーブルである。
【００３４】
同期パケットマネジャは、周期的な予約６０の個別のリストを保持する。これは、プレースホルダを、同期パケット予約テーブルに書き込ませる。これらの周期的な予約は、ReserveSyncSlotsCmd及びUnreserveSyncSlotsCmdによって更新される。周期的な予約の各々は以下のような属性を持っている。
【００３５】
・優先度−プレースホルダ入力が、同期パケット予約テーブルにおいて持つ優先度。
【００３６】
・SectorMask−プレースホルダが書き込まれるべき同期パケット予約テーブルを識別するセクタ。
【００３７】
・開始時間−予約されるべき最初のスロットを識別するシステム時間。同期パケットマネジャは、予約テーブルの最も先のスロットに全てのプレースホルダを書き込む。よって、開始時間は、将来、少なくともSYNC_PKT_WINDOW_SIZEスロットになるに違いない。
【００３８】
・InterlacePeriod−インタレーススロットの単位における予約周期。
【００３９】
・InterlaceBurstLength−インタレーススロットの単位における予約のデューティーサイクル（InterlacePeriodよりも短いか、等しい）。
【００４０】
・InterlaceNumSlot−プレースホルダ予約が同期パケット予約テーブルに書き込まれるべき（インタレーススロットの単位における）周期。
【００４１】
同期パケットマネジャは、各スロット毎に、全ての周期的な予約を処理する。図８は、周期的な予約の処理を示す。全てのプレースホルダが、同期パケット予約テーブルの最も先の入力に対して書き込まれ、このスロットがユニキャストに割り当てられないことが保証されることに留意されたい。単一の予約６０が、複数のテーブル６５，７０，７５に送られうる。
【００４２】
同期パケットマネジャは、周期的な予約それぞれのための周期、バースト長、及びスロット数を追跡するカウンタを保持している。周期の最初の「バースト長」スロットの間、同期パケットマネジャは、「スロット数」毎にこのプレースホルダを書き込む。図９には２つの例が示されている。この例は、同期パケット予約テーブルを介してなされる２つの予約を示している。これら周期的な予約はともに、８スロットからなるインタレース周期と、６スロットのインタレースバースト長さとを持つ。インタレース０における周期的予約は、１に設定されたInterlaceNumSlotを持つ。一方、インタレース２における周期的予約は、２に設定されたInterlaceNumSlotを持つ。インタレース０は、スロット０（現在のスロット）で始まり、６スロットからなるバーストである。NumSlotが１に設定されているので、このスロット予約のための周期は１、すなわち、それぞれが連続的なスロットである。インタレース２は、スロット０で始まり、１スロットからなるバーストである。NumSlotが２に設定されているので、このスロット予約のための周期は２、すなわち、１つおきのスロット後、のスロットである。
【００４３】
２つ、又はそれより多くの周期的な予約が重なり合うかもしれない。予約テーブル入力が既に、スケジューラに記録されたプレースホルダ予約を持っているのであれば、同期パケットマネジャが、最も高い優先度を持つ一つを保持する。
【００４４】
（同期パケット書き込み）  
このセクションは、同期パケットマネジャが、SendSyncPktCmdをどのように処理するかを説明する。SendSyncPktコマンドの各々は、一つ又は複数の物理レイヤパケットを含んでいる。これは、（SectorMaskによって指定された）一つ又は複数のセクタ上で送信される。図１０は、３つのセクタと、幾つかのSendSynkPktコマンドのための同期パケット予約テーブルを示す。単一のコマンドが、複数のテーブル８５，９０，９５に送られうる。
【００４５】
SendSyncPktコマンドを処理する場合、同期パケットマネジャは、このコマンド内のパケットにわたって繰り返し、各パケットについて以下を実行する。
【００４６】
１．開始時間を有効にする。開始時間は、時間からなる現在の同期パケット予約テーブル内にある。開始時間が無効であるならば、同期パケットマネジャは、SectorMaskに存在する各セクタに対するパケットのためにパケットドロップメッセージを発行する。
【００４７】
２．コンフリクトしているパケットを見つける。この段階では、同期パケット予約は、同じ開始時間である場合にのみコンフリクトする。言い換えれば、同期パケットマネジャが、パケットを予約テーブルに書き込むことができる間は、マルチスロットパケットが重なり合うかどうか気にしない。同期パケットが既に予約テーブル入力を占有するのであれば、同期パケットマネジャは、低い優先度のパケットのためにパケットドロップメッセージを発行する。パケットが同じ優先度を持っているのであれば、同期パケットマネジャは、古いパケットを捨てる。予約テーブル入力が、プレースホルダパケット予約を含んでいるのであれば、パケットがプレースホルダの優先度以上の優先度を持つ場合のみ、書き込みが成功する。
【００４８】
３．同期パケット予約の書き込み。コマンドのSectorMask内に存在する各セクタについて、パケットがセクタ上に落とされていないのであれば、このセクタの、パケットの開始時間に対応する予約テーブル入力にパケット情報を書き込む。
【００４９】
（同期パケットスケジューリング）  
同期パケットマネジャは、同期パケットが送信されるべきであるかを確認するために、セクタの各予約テーブルを見なければならない。図１１に示すように、同期パケットマネジャが、各セクタ内の予約テーブルの「次のスロット」入力内にパケット予約を見つけると、同期パケットマネジャは、インタレース上の次のスロットにおける高い優先度を持つ同期パケット（又は同期パケットプレースホルダ）と衝突しているか、又は既に送信しているパケットと衝突することなく送信することができる。例えば、インタレース１では、「次のスロット」１が、高い優先度を持つ別のスロットと、後の多くのスロットまで、衝突しないことを知っている。従って、予約されていない全てのスロットは、ユニキャスト／非同期パケットのために使用されうる。
【００５０】
より具体的には、同期パケットマネジャは、「次のスロット」予約テーブル入力の中に同期パケット予約を見つけたとき、以下に示す２つのテストを実行する。
【００５１】
・「次のスロット」インタレース上で送信しているパケットが既に存在し、このパケットが次のスロット内で繰り返されるのであれば、次のスロット同期パケットが捨てられる。これがなぜ起こるか２つの理由がある。マルチスロットユニキャストパケットが既にインタレース上にスケジュールされた後、同期パケットが予約テーブルに書き込まれ（そして、同期パケットがプレースホルダ予約を持たない）るか、あるいは、早い時期における高い優先度のマルチスロット同期パケットが、インタレース上に優先度を与えられるかの何れかである。
【００５２】
・「次のスロット」同期パケットが、送信するために一つよりも多いスロットを必要とするのであれば、図１１に示すように、同期パケットマネジャは、インタレース上のNumSlot-1を考え（ここで、NumSlotは、パケットが必要とするスロットの数である）、このパケットが、あらゆる高い優先度の同期パケット、又は同期パケットプレースホルダ予約と衝突しないことを確認する。
【００５３】
何れかのテストが失敗した場合には、同期パケットマネジャは、「次のスロット」同期パケットのためにCSDTDEFS_SyncPktDroppedMsgを発行する。
【００５４】
（ユニキャストスケジューラとの相互作用）  
一つの実施例では、ＦＬ  ＤＳＰが、ユニキャスト／非同期パケットによって同期パケットへ優先度を与える。よって、同期パケットスケジューリングは、常に、ユニキャストスケジューリングの前に起こる。しかしながら、「次のスロット」同期パケット予約テーブル入力がフリーであれば、このスロットは、ユニキャストスケジューラに対して利用可能とされる。更に、同期パケットマネジャは、「次のスロット」インタレースについて考え、いくつの次のスロットがユニキャストのために利用可能になるのかを知る。この数は、SyncMaxNumSlotと呼ばれる。これは、各セクタのためのスロット毎にユニキャストスケジューラに提供される。セクタのためのSyncMaxNumSlotが零であれば、次のスロットはユニキャストデータのために利用可能ではない。一方、零でなければ、ユニキャストスケジューラは、SyncMaxNumSlotを越えないパケットをスケジュールする。図１２は、特定のセクタのためのSyncMaxNumSlotの計算を示している。
【００５５】
物理レイヤパケットは１６スロットを越えない。よって、同期パケットマネジャは、図１２に示すように、同期パケット予約に遭遇するまで、又はSyncMaxNumSlotが１６に達するまで、インタレース上の各予約テーブル入力を調べる。
【００５６】
「次のスロット」予約テーブル入力がプレースホルダ予約を含んでいるのであれば、SyncMaxNumSlotは通常は零になる（すなわち、ユニキャストデータのために利用可能ではない）ことに留意されたい。「次のスロット」のための実際の同期パケットの不足は、次のスロットの間、アイドルなスロット送信となる。多くの場合、これは望ましいことである。しかしながら、同期パケットマネジャは、未使用の「次のスロット」プレースホルダ予約が、ユニキャストデータのためにリリースされるようにするモードもサポートする。このモードは、爆発的な論理同期チャネル（例えば、幾つかのタイプのブロードキャストチャネル）のために役立つかもしれない。ここでは、同期チャネルが利用可能なデータを持っていないのであれば、ユニキャストデータが、送られうる。同期パケットマネジャは、後述するように、特定のプレースホルダ予約優先度レベルによってこのモードをサポートする。
【００５７】
SyncMaxNumSlotを更新することを目的として、「次のスロット」１を持つプレースホルダパケット予約は、僅かに異なる挙動をとる。テーブル入力１における「次のスロット」１のプレースホルダ予約は、ユニキャストのために利用可能であると考えられるであろう。１より大きいテーブル入力（例えば、図１２におけるスロット５，９，１３等）における優先度１のプレースホルダ予約は、SyncMaxNumSlotを更新するとき、ユニキャストデータから除外される。言い換えると、次のスロット位置における優先度１のプレースホルダは、ユニキャストのためにリリースされるが、１より大きい優先度を持つ次のスロットのプレースホルダ予約は、アイドルスロット送信を強制する。
【００５８】
注：SyncMaxNumSlotは、１から１６の範囲を取るので、SYNC_PKT_WINDOW_SIZEは、少なくとも１６＊４＝６４スロットとなるであろう。
【００５９】
当該技術分野における熟練者であれば、実施例におけるステップ又は要素は、開示された本発明から変更することなく変形されたり、あるいは順序が変更されうる。
【００６０】
当技術分野における熟練者であれば、これら情報および信号が、種々異なった技術や技法を用いて表されることを理解するであろう。例えば、上述した記載の全体で引用されているデータ、指示、命令、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁場または磁性粒子、光学場または光学微粒子、あるいはこれら何れかの組み合わせによって表現されうる。
【００６１】
これら熟練者であれば、更に、ここで開示された実施例に関連して記載された様々な説明的論理ブロック、モジュール、回路、およびアルゴリズムステップが、電子工学ハードウェア、コンピュータソフトウェア、あるいはこれらの組み合わせとして実現されることを理解するであろう。ハードウェアとソフトウェアとの相互互換性を明確に説明するために、様々に例示された部品、ブロック、モジュール、回路、およびステップが、それらの機能に関して一般的に記述された。それら機能がハードウェアとして又はソフトウェアとして実現されているかは、特定のアプリケーション及びシステム全体に課せられている設計制約に依存する。熟練した技術者であれば、各特定のアプリケーションに応じて変更した方法で上述した機能を実施しうる。しかしながら、この適用判断は、本発明の範囲から逸脱したものと解釈されるべきではない。
【００６２】
ここで開示された実施例に関連して記述された様々の説明的論理ブロック、モジュール、および回路は、汎用プロセッサ、デジタル信号プロセッサ（ＤＳＰ）、アプリケーションに固有の集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）あるいはその他のプログラマブル論理デバイス、ディスクリートゲートあるいはトランジスタロジック、ディスクリートハードウェア部品、又は上述された機能を実現するために設計された上記何れかの組み合わせを用いて実現又は実行されうる。汎用プロセッサとしてマイクロプロセッサを用いることが可能であるが、代わりに、従来技術によるプロセッサ、コントローラ、マイクロコントローラ、あるいは状態機器を用いることも可能である。プロセッサは、たとえばＤＳＰとマイクロプロセッサとの組み合わせ、複数のマイクロプロセッサ、ＤＳＰコアに接続された１つ以上のマイクロプロセッサ、またはこのような任意の構成である計算デバイスの組み合わせとして実現することも可能である。
【００６３】
ここで開示された実施例に関連して記述された方法やアルゴリズムのステップは、ハードウェアや、プロセッサによって実行されるソフトウェアモジュールや、これらの組み合わせによって直接的に具現化される。ソフトウェアモジュールは、ＲＡＭメモリ、フラッシュメモリ、ＲＯＭメモリ、ＥＰＲＯＭメモリ、ＥＥＰＲＯＭメモリ、レジスタ、ハードディスク、リムーバブルディスク、ＣＤ−ＲＯＭ、あるいは当該技術分野で知られているその他の型式の記憶媒体に収納されうる。 好適な記憶媒体は、プロセッサがそこから情報を読み取り、またそこに情報を書き込むことができるようにプロセッサに結合される。または、記憶媒体はプロセッサに統合されうる。このプロセッサと記憶媒体は、ＡＳＩＣ内に存在することができる。ＡＳＩＣは、ユーザ端末内に存在することもできる。あるいはこのプロセッサと記憶媒体は、ユーザ端末内のディスクリート部品として存在しうる。
【００６４】
開示された実施例における上述の記載は、当該技術分野におけるいかなる人であっても、本発明の活用または利用を可能とするように提供される。これらの実施例への様々な変形例もまた、当該技術分野における熟練者に対しては明らかであって、ここで定義された一般的な原理は、本発明の主旨または範囲を逸脱せずに他の実施例にも適用されうる。このように、本発明は、ここで示された実施例に制限されるものではなく、ここで記載された原理と新規の特徴に一致した最も広い範囲に相当するものを意図している。
【図面の簡単な説明】
【００６５】
【図１】図１は、パケットデータ通信が順方向リンク（ＦＬ）上で送信される時間スロットを示す図である。
【図２】図２は、通信システムにおける同期チャネルのためのキューを示す図である。
【図３】図３は、ＦＬ上でインタレースされた時間スロットを示す図である。
【図４】図４は、パケットデータ通信がＦＬ上で送信される時間スロットを示すテーブルである。
【図５】図５は、基地局コントローラ（ＢＳＣ）及び基地局トランシーバサブシステム（ＢＴＳ）との間の相互作用を示すブロック図である。
【図６】図６は、パケット予約テーブルを示すテーブルである。
【図７】図７は、同期パケット予約テーブルを示すテーブルである。
【図８】図８は、同時に満たされた周期的な同期予約テーブルを示す３つのテーブルを示す図である。
【図９】図９は、周期的な同期パケット予約の例を示すテーブルである。
【図１０】図１０は、コマンドを処理している同期パケットマネジャを示す図である。
【図１１】図１１は、同期パケットスケジューリングを示すテーブルである。
【図１２】図１２は、インデクスSyncMaxNumSlot計算を示すテーブルである。
【図１】
2007507921.tif 000003
【図２】
2007507921.tif 000004
【図３】
2007507921.tif 000005
【図４】
2007507921.tif 000006
【図５】
2007507921.tif 000007
【図６】
2007507921.tif 000008
【図７】
2007507921.tif 000009
【図８】
2007507921.tif 000010
【図９】
2007507921.tif 000011
【図１０】
2007507921.tif 000012
【図１１】
2007507921.tif 000013
【図１２】
2007507921.tif 000014