説明

エラーに強いヘッダ圧縮においてローカル修正を強化するための方法及びシステム

【課題】エラーに強い(robust)ヘッダ圧縮においてローカル修正(repair)を強化させることができる方法及びシステムを提供する。
【解決手段】ネットワーク伝送効率及び品質を改善できるエラーに強いヘッダ圧縮(ROHC)逆圧縮器110,114においてローカル修正を強化させるための方法及びシステム。1つの方法は、逆圧縮器110,114におけるローカル修正を強化させるために下位層情報を使用する。別の1つの方法は、逆圧縮器110,114におけるローカル修正を強化させるためにユーザ・データグラム・プロトコル(UDP)チェックサムを使用する。

【発明の詳細な説明】
【米国特許法第119条の下での優先権の主張】
【0001】
本出願は、本出願人に共通に譲渡された米国特許仮出願番号第60/634,452号、名称“エラーに強いヘッダ圧縮においてローカル修正を強化させるための方法及びシステム(METHOD AND SYSTEMS FOR ENHANCING LOCAL REPAIR IN ROBUST HEADER COMPRESSION)”、2004年12月8日出願、に優先権を主張し、それは引用によってここに取り込まれている。
【技術分野】
【0002】
本出願は、一般に無線通信に係り、そして特に、エラーに強い(robust)ヘッダ圧縮においてローカル修正(repair)を強化させることができる方法及びシステムに関する。
【背景技術】
【0003】
インターネット・プロトコル(IP:Internet Protocol)は、有線ネットワーク及び無線ネットワークの両者において使用されるネットワーク・プロトコルである。IPを介した音声(VoIP:voice over IP)、対話式のゲーム、メッセージ、等のような、ある種のサービス及びアプリケーションに関して、IPパケットのペイロードは、パケットのIPヘッダとほとんど同じサイズである、又はそれよりも小さいことさえあり得る。同じパケット・ヘッダ内でそして特に1つのパケット・ストリームの連続するパケットの間でパケット・フィールド中に著しい重なりがあり得る。ヘッダ圧縮(HC:header compression)は、リンクの一方のエンドにおいてIPパケットのプロトコル・ヘッダを圧縮し、それらをリンクの別の1つのエンドに伝送し、そして他方のエンドにおいてそれらを最初の状態に逆圧縮するプロセスである。
【0004】
本出願の特徴、本質、及び利点は、図面とともに以下の詳細な説明から、さらに明確になるであろう。
【図面の簡単な説明】
【0005】
【図1】図1は、本明細書中に記載される1又はそれより多くの方法がその中で実行されることができる通信システムを図示する。
【図2】図2は、図1の基地局トランシーバ・システム/パケット・データ・サービビング・ノード(BTS−PDSN)又はPDSN−BTSの複数のハードウェア・コンポーネント及びソフトウェア・コンポーネントを図示する。
【図3】図3は、図1のアクセス端末の複数のハードウェア・コンポーネント及びソフトウェア・コンポーネントを図示する。
【図4】図4は、図1のシステムによって使用されることができるエラーに強いヘッダ逆圧縮においてローカル修正を強化させるための方法を図示する。
【図5】図5は、図1のシステムによって使用されることができるエラーに強いヘッダ逆圧縮においてローカル修正を強化させるための別の1つの方法を図示する。
【図6】図6は、図4の方法に対応する逆圧縮器装置を図示する。
【図7】図7は、図5の方法に対応する逆圧縮器装置を図示する。
【図8】図8は、未圧縮のヘッダを有するパケット及び圧縮されたヘッダを有するパケットの一例を図示する。
【図9】図9は、逆圧縮が成功したかどうかを決定する際にチェックサムを使用する方法を図示する。
【図10】図10は、図9の方法に対応する逆圧縮器を図示する。
【発明の詳細な説明】
【0006】
本明細書中に開示される複数の実施形態は、いずれかの無線通信システム及び/又は有線接続された通信システムにおいて実行されることができ、それは例えば、セルラ・ネットワーク、公衆交換電話ネットワーク(PSTN:public switched telephone networks)、無線インターネット、衛星通信ネットワーク、広帯域ネットワーク(WAN:wide area network)、無線ローカル・エリア・ネットワーク(WLANs:wireless local area network)、VoIPネットワーク、IPベースのマルチメディア・システム、等である。
【0007】
図1は、本明細書中に記載される1又はそれより多くの方法がその中で実行されることができる通信システム10の一例を図示する。第1のアクセス端末(AT:access terminal)100Aは、アップリンク(すなわち、逆方向リンク)ヘッダ圧縮器102を含むことができる。第1のアクセス端末100Aは、基地局104Aと逆方向リンク(RL:reverse link)を介して無線で通信でき、そして無線通信アクセス・ネットワーク(RAN:radio access network)中の基地局トランシーバ・システム/パケット・データ・サービング・ノード(BTS−PDSN:base station transceiver system/packet data serving node)106Aと無線で通信できる。
【0008】
BTS−PDSN106Aは、アップリンク・ヘッダ逆圧縮器110を含み、それは本明細書中に記載される1又はそれより多くの方法を実行できる。BTS−PDSN106Aは、VoIPネットワーク108を介してパケット・データ・サービング・ノード/基地局トランシーバ・システム(PDSN−BTS)106Bと通信できる。PDSN−BTS106Bは、ダウンリンク(すなわち、順方向リンク)ヘッダ圧縮器112を含むことができる。
【0009】
第2のアクセス端末100Bは、基地局104B及びPDSN−BTS106Bと順方向リンク(FL:forward link)を介して無線で通信できる。第2のアクセス端末100Bは、ダウンリンク・ヘッダ逆圧縮器114を含むことができ、それは本明細書中に記載される1又はそれより多くの方法を実行できる。2つの無線アクセス端末100A,100Bの代わりに、アクセス端末のうちの1つは、有線接続された端末であり得る。
【0010】
逆方向リンク及び順方向リンクは、1又はそれより多くの通信プロトコルを使用でき、それは例えば、符号分割多元接続(CDMA:code division multiple access)1x、CDMA1x EV−DO(Evolution Data Optimized)、広帯域CDMA(WCDMA:Wideband CDMA)、時分割同期化(TD−SCDMA:Time Division Synchronized)、移動通信のための全世界システム(GSM:Global System for Mobile communication)、等である。
【0011】
本明細書中で説明される“アクセス端末”は、様々なタイプのデバイスを呼ぶことができ、それは例えば、有線接続された電話機、ワイアレス電話機、セルラ電話機、ラップトップ・コンピュータ、無線通信パーソナル・コンピュータ(PC:personal computer)カード、個人ディジタル補助装置(PDA:personal digital assistant)、外部モデム又は内部モデム、等である。アクセス端末は、無線チャネルを経由して又は、例えば、光ファイバ又は同軸ケーブルを使用する有線チャネルを経由して通信するいずれかのデータ・デバイスであり得る。アクセス端末は、様々な名前を有することがあり、それは例えば、アクセス・ユニット、加入者ユニット、移動局、移動デバイス、移動ユニット、移動電話機、モービル、遠隔局、遠隔端末、遠隔ユニット、ユーザ・デバイス、ユーザ装置、手持ちデバイス、等である。アクセス端末は、移動可能又は固定であり、そして図1の通信システム10全体にわたり分散されることができる。アクセス端末は、1又はそれより多くの基地局トランシーバ・システム(BTS)と通信でき、それは基地局、アクセス・ネットワーク、アクセス・ポイント、ノードB、及びモデム・プール・トランシーバ(MPT:modem pool transceiver)と呼ばれる(又は含む)ことがある。
【0012】
図2は、図1のBTS−PDSN106A及び/又はPDSN−BTS106Bの複数のハードウェア・コンポーネント及びソフトウェア・コンポーネントを図示し、それは例えば、プロセッサ200、用途特定集積回路(ASIC:application specific integrated circuit)及びその他のハードウェア202、トランシーバ204、及びメモリ206である。メモリ206は、1又はそれより多くの上位層207を記憶でき、それは例えば、アプリケーション層208、輸送層210、及びネットワーク層212である。アプリケーション層208は、リアル・タイム輸送プロトコル(RTP又はRTTP:Real Time Transport Protocol)ヘッダを処理することができる。輸送層210は、伝送制御プロトコル(TCP:Transmission Control Protocol)ヘッダ及びユーザ・データグラム・プロトコル(UDP:User Datagram Protocol)ヘッダを処理することができる。ネットワーク層212は、IPヘッダを処理することができる。
【0013】
メモリ206は、同様にエラーに強い(robust)ヘッダ圧縮の圧縮器112、エラーに強いヘッダ圧縮の逆圧縮器110、及び1又はそれより多くの下位層220を記憶することができ、下位層220は、例えば、リンク層と媒体アクセス制御(MAC:Medium Access Control)層214、それは無線通信リンク・プロトコル(RLP:Radio Link Protocol)サブレイヤを含むことができる、及び物理層216である。
【0014】
図3は、図1のアクセス端末100A,100Bの複数のハードウェア・コンポーネント及びソフトウェア・コンポーネントを図示し、それは例えば、プロセッサ300、ASIC302及びその他のハードウェア、トランシーバ304、及びメモリ306である。メモリ306は、1又はそれより多くの上位層307を記憶でき、それは例えば、アプリケーション層308、輸送層310、及びネットワーク層312である。アプリケーション層308は、RTPヘッダを処理することができる。輸送層310は、TCPヘッダ及びUDPヘッダを処理することができる。ネットワーク層312は、IPヘッダを処理することができる。
【0015】
メモリ306は、同様にエラーに強いヘッダ圧縮の圧縮器102、エラーに強いヘッダ圧縮の逆圧縮器114、及び1又はそれより多くの下位層320を記憶することができ、下位層320は、例えば、リンク層とMAC層314、それはRLPサブレイヤを含むことができる、及び物理層316である。
【0016】
図8は、ペイロードと未圧縮のヘッダ(例えば、IP,UDP,RTP,TCP,及び他のヘッダ)を有するパケット800及びペイロードと圧縮されたヘッダを有するパケット802の一例を図示する。圧縮されたヘッダは、RTPシーケンス番号、UDPチェックサム及びおそらく他のフィールドを含むことができる。圧縮されたパケット802は、同様に、リンク層シーケンス番号を含んでいるリンク層・ヘッダを含むことができる。
【0017】
無線リンクを経由して送られたIP,UDP及びRTPヘッダを有するパケットは、無線ネットワークが限られた帯域幅を有するという理由で、ヘッダ圧縮からかなりの利益を得ることができる。ヘッダ圧縮及びヘッダ逆圧縮は、(パケット・ヘッダ・オーバーヘッド削減に応じて)帯域幅節約を伴うネットワーク伝送効率、品質、及び/又は速度を向上でき、パケット損失を削減でき、対話型応答時間を改善でき、そしてインフラストラクチャ・コストを低減すること(チャネル帯域幅当りより多くのユーザ、そしてそれゆえより少ない展開コスト)ができる。通信システムは、複数のホップを含むことができる点対点接続を経由してホップ当りのベースでプロトコル・ヘッダを圧縮できる。“ホップ”は、1つのデバイスから別の1つのデバイス又はネットワーク要素への通信リンクを呼ぶ。
【0018】
しかしながら、ある複数のヘッダ圧縮方式は、高いエラー・レート(例えば、ビット・エラー・レート(BER:bit error rate))及び無線リンクの長い往復時間のために、特に無線トポロジー及びトラフィック・パターンがさらに複雑になってくるにつれて、無線(例えば、セルラ)リンクを経由して上手く機能しないことがあり得る。本明細書は、エラーに強いヘッダ圧縮(ROHC:robust header compression)方式及び逆圧縮方式を記載する、それは他の方法の欠点を克服できる。エラーに強いヘッダ圧縮は、コメントの要請(RFC:Request For Comments)3095、名称“エラーに強いヘッダ圧縮(ROHC);枠組み及び4つのプロフィール:RTP,UDP,ESP及び非圧縮(Robust Header Compression(ROHC): Framework and four profiles: RTP, UDP, ESP and uncompressed)”に記載されており、それは2001年7月にインターネット協会(Internet Society)のネットワーク・ワーキング・グループによって配布されたインターネット規格トラック・プロトコルである。“エラーに強い”ヘッダ圧縮方式は、リンク上の損失及び残留エラーを許容でき、そのリンクを介してヘッダ圧縮は、逆圧縮されたヘッダの中でさらにパケットを失うことなく又はさらにエラーを導入することなく行われる。
【0019】
“圧縮器のコンテクスト(context)”は、圧縮器がヘッダを圧縮するために使用する状態情報を呼び、そして“逆圧縮器のコンテクスト”は、逆圧縮器がヘッダを逆圧縮するために使用する状態情報を呼ぶ。コンテクストは、パケット・ストリーム中の前のヘッダからの直接関係する情報を含むことができ、それは例えば、スタティック・フィールド及びおそらく圧縮及び逆圧縮のための基準値である。コンテクストは、パケット・ストリームを記述する追加情報を含むことができ、それは例えば、IP識別子フィールドがどのように変わるか及びシーケンス番号又はタイムスタンプの典型的なパケット間増加に関する情報である。
【0020】
“コンテクスト損傷”は、逆圧縮器のコンテクストが圧縮器のコンテクストと矛盾するときに生じ、そして逆圧縮は、元々のヘッダを再生することに失敗することがある。この状況は、逆圧縮器のコンテクストが適正に初期化されなかったときに、又はパケットが圧縮器と逆圧縮器との間で失われてしまった又は損傷されてしまったときに生じることがある。一致しないコンテクストのために逆圧縮することが不可能なパケットは、コンテクスト損傷のために“失われる”。逆圧縮されるが一致しないコンテクストのためにエラーを含むパケットは、コンテクスト損傷のために“損傷を受ける”。
【0021】
ROHCは、誤った逆圧縮を検出するために元々のヘッダ全体について巡回冗長検査(CRC:cyclic redundancy check)を使用することができる。計算上の複雑さを低減させるために、ヘッダのフィールドは、CRCが計算されるときに概念的に再配列されることができ、その結果、スタティックなオクテット(CRC−STATICと呼ばれる)について最初に計算され、そして次に、複数のパケット間でそのオクテットの値が変化することが予想されるオクテット(CRC−DYNAMIC)について計算される。このようにして、CRC−STATICフィールドをカバーした後で、CRC計算の中間結果は、複数のパケットに再使用されることができる。
【0022】
ヘッダ・フィールドが、決して変化しない又は滅多に変化しないので、大部分のヘッダ・フィールドは、圧縮され続ける(compressed away)ことができる。1つの例では、約10オクテットの全体のサイズを有する5つのフィールドだけが、より高性能なメカニズムを必要とすることがある。これらのフィールドは、下記を含むことができる:
−IPv4識別符号(16ビット)(IP−ID)
−UDPチェックサム(16ビット)
−RTPマーカ(1ビット)(M−ビット)
−RTPシーケンス番号(16ビット)(SN)
−RTPタイムスタンプ(32ビット)(TS)
最下位ビット(LSB:Least Significant Bit)符号化は、その値が通常小さな変更を受けるヘッダ・フィールドに対して使用されることができる。LSB符号化を用いて、フィールド値のk個の最下位ビットは、最初のフィールド値の代わりに伝送される、ここで、kは、正の整数である。k個のビットを受け取った後で、逆圧縮器は、基準値(v−ref)として前に受け取った値を使用して最初の値を導出する。もし、インタープリテーション・インターバルを圧縮器及び逆圧縮器がそれぞれ使用するのであれば、LSB符号化及び復号化は、正しいであろう。そのインタープリテーション・インターバルは、最初の値がその中に存在し、そしてその最初の値は、そのインターバルの中では伝送されたものと全く同じk個の最下位ビットを有する値だけである。
【0023】
“インタープリテーション・インターバル”は、次の関数f(v_ref,k)として記述されることができる:
f(v_ref)=[v_ref−p,v_ref+(2^k−1)−p]
ここで、pは整数である。
【0024】
この式は、次のように示されることができる:
【数1】

【0025】
関数fは、以下の特性を有する:任意の値kに対して、k個の最下位ビットは、f(v_ref,k)中の値を一義的に識別するであろう。
【0026】
パラメータpは、インタープリテーション・インターバルがv_refに関してシフトされるであろうことを認める。pに対して適切な値を選択することは、ある特性を有するフィールドに対してさらに効果的な符号化をもたらすことができる。
【0027】
符号化されようとしている値は、有限の範囲を有することができる。例えば、RTP SNは、0から0xFFFFまでの範囲である。SN値が0又は0xFFFFに近いときに、インタープリテーション・インターバルは、0と0xFFFFとの間のラップアラウンド境界をまたいで広がることが可能である。
【0028】
RFC3095は、プロトコル・ヘッダ中のダイナミック・フィールドを圧縮するために、ROHC圧縮器が “ウィンドウ・ベースの最下位ビット(LSB)符号化”をどのように使用できるかを記述する。v_ref_dに対するいくつかの候補が失われてしまう又は損傷されてしまうことがあるので、圧縮器は、特定の値vに対して逆圧縮器によって使用されることができるv_ref_dの正確な値を決定できないことがある。しかしながら、フィードバックを使用することによって、又は妥当な仮定を行うことによって、圧縮器は、候補のセットを限定することができる。圧縮器は、それからkを計算し、その結果、候補セット中のどのv_ref_dを逆圧縮器が使用しても、vは、結果としてのinterval_vによってカバーされる。そこでCRCが成功した最後に受信した値を基準値として逆圧縮器が使用できるので、圧縮器は、v_ref_dに対する候補を含んでいる“スライディング・ウィンドウ(sliding window)”を維持する。スライディング・ウィンドウは、初期には空であり得る。
【0029】
複数の連続するパケットがROHC圧縮器とROHC逆圧縮器との間で失われる時に、シーケンス番号(SN:sequence number)LSBラップアラウンドのリスクがある、すなわち、入力がないために逆圧縮器がインタープリテーション・インターバルを移動させていないという理由で、圧縮されたパケット中のLSBのシーケンス番号は、間違ってインタープリットされることがある。
【0030】
ROHC逆圧縮器は、ローカル修正(repair)モードを使用することができ、(圧縮器と逆圧縮器との間で)失われた複数の連続するパケットがコンテクスト損傷を生じさせることがあり得る状況を検出する。ROHC逆圧縮器は、この状況を検出することができ、そしてローカル・クロックを使用することによってコンテクスト損傷を避けることができる。例えば、ROHC逆圧縮器は、RFC3095に記載された以下のアルゴリズムを使用することができる:
(a)逆圧縮器は、各着信パケットiの到着時刻、a(i)、を記録する。逆圧縮が失敗したパケットの到着時刻は、破棄される。
【0031】
(b)逆圧縮が失敗した時に、逆圧縮器は、INTERVAL=a(i)−a(i−1)を計算し、それは前の正しく逆圧縮されたパケットの到着と現在のパケットとの間で経過した時間である。
【0032】
(c)もしラップアラウンドが生じているのであれば、INTERVALは、少なくとも2^kのパケット間時間に対応するであろう、ここで、kは現在のヘッダ中のSNビットの数である。到着時刻の移動平均は、パケットの到着間時間を推定するために使用されることができる。パケットの到着間時間の推定値に基づいて、逆圧縮器は、INTERVALが2^kのパケット間時間に対応することがあるかどうかを決定する。
【0033】
(d)もし、INTERVALが少なくとも2^kのパケットの到着間時間になると決定されるのであれば、逆圧縮器は、基準SNに2^kを加算し、そして新しい基準SNを使用してパケットを逆圧縮しようと試みる。
【0034】
(e)もし、この逆圧縮が成功するのであれば、逆圧縮器は、コンテクストを更新するが、上位層にパケットを配信しないはずである。次のパケットは、同様に逆圧縮されそしてそのCRCが成功するのであればコンテクストを更新する、しかし破棄されるはずである。もし、新しいコンテクストを使用して3番目のパケットの逆圧縮が同様に成功するのであれば、コンテクスト修正は成功したと見做され、そしてこの3番目のパケット及び引き続く逆圧縮されたパケットは、上位層に配信される。
【0035】
(f)もし、(d)と(e)の中の3つの逆圧縮の試みのうちのいずれかが失敗するのであれば、逆圧縮器は、パケットを破棄し、そしてRFC3095の5.3.2.2.3項の規則(a)から(c)にしたがって動作することができる。
【0036】
上記のローカル修正モードを使用して、逆圧縮器は、コンテクストが修正されたと結論する前に、2つの正しく逆圧縮されたパケットを破棄するという犠牲を払って大きな損失の後で、コンテクストを修正することができることがある。ROHC逆圧縮器が(上位層に渡さない)2つのパケット破棄することを必要とする理由は、ROHC3ビットCRCが比較的弱い検査であり、そしてそれゆえ誤って逆圧縮されたパケットがCRCを通過することがあり得る、ということである。
【0037】
以下に説明される実施形態は、図1−3の逆圧縮器110,114のような、ROHC逆圧縮器におけるローカル修正モードを強化させることができる又は改善させることができる。1つの実施形態では、ローカル修正モードのROHC逆圧縮器は、ROHC3ビットCRCに加えてリンク層シーケンス番号のような下位層情報を使用して、パケットを上位層に渡すかどうかを決定する。別の1つの実施形態では、ローカル修正モードのROHC逆圧縮器は、ROHC3ビットCRCに加えて、(イネーブルされている時に)UDPチェックサムを使用して、パケットを上位層に渡すかどうかを決定する。逆圧縮器は、1又はそれより多くの条件に応じて2つの方法のうちの1つを選択するために構成されることができる。これらの実施形態は、ROHC規格を変更することなく出来栄えを向上できる。
【0038】
逆圧縮修正において下位層情報を使用すること
図4は、ROHC逆圧縮器110,114においてローカル修正モードを強化させるためにリンク層情報を使用する方法を図示する。リンク層214,314(図2及び図3中の下位層)は、圧縮器112,102によって圧縮された各パケットにリンク層シーケンス番号(SN)を加える。シーケンス番号は、リンク層の特定の事例(instantiation)に関して送られた各リンク層パケットに対してイチ(“1”)だけ増加されるはずである。IPパケットと特定のリンク層事例に対応するリンク層パケットとの間に1−対−1マッピングがある。もし、この1−対−1マッピングが妨害されているのであれば、以下に記述される方法は、まだ機能することができる。
【0039】
図4の410において、逆圧縮器は、例えば、逆圧縮エラーを検出することによって、逆圧縮が現在受信したパケットに対して失敗したかどうかを決定する。もし、逆圧縮が失敗したのであれば、逆圧縮器は、420において2つの連続して受信されたパケットのリンク層シーケンス番号、すなわち、最後に正しく逆圧縮され、受信されたパケットのリンク層シーケンス番号と現在受信したパケットのリンク層シーケンス番号、の間の差異を決定する。この差異は、INTERVALと呼ばれることができ、それはRFC3095を参照して上に述べた“インタープリテーション・インターバル”又は“INTERVAL”と同じではない。
【0040】
430において、逆圧縮器は、INTERVALが少なくとも2^kに等しいかどうかを決定する、ここで、kは現在のパケット中のシーケンス番号ビットの数である。もし、INTEVALが少なくとも2^kに等しければ、逆圧縮器は、最後に正しく圧縮され、受信されたパケットのシーケンス番号(基準シーケンス番号と呼ばれる)にINTERVALを加算する。この動作は、逆圧縮のために使用する情報を修正することと呼ばれることができる。
【0041】
440において、逆圧縮器は、新たな基準シーケンス番号を使用して現在のパケットを逆圧縮しようと試みる。
【0042】
もし、この逆圧縮が成功するならば、逆圧縮器は、そのコンテクストを更新し、そしてパケットを(複数の)上位層に配信する。もし、逆圧縮が失敗するならば、逆圧縮器は、パケットを破棄し、そしてRFC3095の5.3.2.2.3項の規則(a)から(c)にしたがって動作する。
【0043】
ローカル修正モードを改善することに加えて、リンク層シーケンス番号を使用することの別の1つの利点は、逆圧縮器がリンク上の大きな再配列を取り扱うことを可能にすることである。リンク層シーケンス番号は、遅れて到着するROHCパケットの適正な位置の識別に役立ち、そのため逆圧縮器は、逆圧縮器の現在のコンテクスト中の基準値からRTPシーケンス番号を正しく推測することができる。
【0044】
ある状況では、リンク層シーケンス番号とRTPシーケンス番号との間で1−対−1マッピングでないことがあり得る。例えば、無線ネットワーク中の1つの逆方向リンク上で、(例えば、4.8kbpsで動作する)セル端にあるユーザは、2つのRLP(無線通信リンク・プロトコル)セグメント中に1つのRTP/UDP/IP音声パケットを送る必要があり得る。
【0045】
図5は、(リンク層シーケンス番号とRTPシーケンス番号との間に1−対−1マッピングがない)そのような状況において、SNラップアラウンドが生じたかどうか、そしてローカル修正をどのようにして実行するかを決定するために使用することができる方法を示す。以下の方法は、RTPシーケンス番号及び最後に正しく逆圧縮されたパケットについてのリンク層シーケンス番号がゼロ(“0”)であると仮定する。ゼロでない基準値の状況は、最初に差異操作を実行することによって取り扱われることができる。
【0046】
510において、逆圧縮器は、例えば、逆圧縮エラーを検出することによって逆圧縮が失敗したかどうかを決定する。もし、逆圧縮が失敗であれば、逆圧縮器は、520においてINTERVALを計算する。それは、2つの連続して受信されたパケットのリンク層シーケンス番号の間の差異であり、すなわち、現在のパケットのリンク層シーケンス番号マイナス基準値(最後に受信され、正しく逆圧縮されたパケットのリンク層シーケンス番号)である。
【0047】
(1)(上に説明した)LSBインタープリテーション・インターバルは、Lとして表される長さの右半分を有することができる、ここで、Lは2^kよりも小さい。530において、INTERVALが2*(L+1)よりも大きいか等しければ、そのときはラップアラウンドが生じる。
【0048】
(a)540において、もしINTERVALが2*(k+1)よりも大きいか等しければ、逆圧縮器は、550においてインタープリテーション・インターバル[L+1,2*(L+1)−1],[2*(L+1),3*(L+1)−2],...,[k*(L+1),(k+1)*(L+1)−(k)]を使用して複数のトライアルでパケットを逆圧縮することによって適正なラップアラウンド量を決定しようと試みる、ここで、INTERVALは、k*(L+1)≦INTERVAL≦(k+1)*(L+1)−(k)として定義される。適正なインターバルでの逆圧縮がROHCの3ビットCRCを通過するであろうという理由で、これらの逆圧縮のうちの少なくとも1つは、成功するであろう。もし、逆圧縮のうちの1つだけが成功するのであれば、パケットは、上位層に送られることができる。もし、逆圧縮のうちの1よりも多くが成功するのであれば、逆圧縮器は、適正なインタープリテーション・インターバルに関して確信を持てないことがあり、そしてパケットは上位層に送られない。
【0049】
(b)540において、もしINTERVALが2^(k+1)よりも小さければ、実際のRTP SNは、[INTERVAL/2,INTERVAL]の間になる。INTERVAL/2が2^kよりも小さい又は等しいという理由で、kビットを含むRTP SNのLSBは、560において適正なRTP SNの位置を一義的に識別するために使用されることができる。逆圧縮器は、リンク層SN及びROHCヘッダ中のRTP SNのLSBによって与えられる固有の情報に基づいてラップアラウンドを修正することができる。
【0050】
(2)570において、もしINTERVALがLよりも小さいか等しければ、ラップアラウンドはなく、そして方法は、必要であれば580において誤ったコンテクストのローカル修正を実行する。
【0051】
(3)575において、もしINTERVALが[L+1,2*(L+1)−1]の範囲内であれば、RTP SN LSBラップアラウンドがあることもあり、ないこともあり得る。575において、RTP SNが2^kよりも小さい長さを有する[INTERVAL/2,INTERVAL]の範囲内にあることが与えられると、ROHCヘッダ中で搬送されるRTP SNのLSBは、RTP SNの実際の位置を一義的に決定するために使用されることができ、そしてそのようにして560においてSNラップアラウンド修正が実行される必要があるかどうかを判断する。
【0052】
図5の方法は、ROHC圧縮器の前にIPパケット損失がある場合でさえも機能する。
【0053】
図6は、図4の方法に対応する逆圧縮器装置600を図示する。逆圧縮器装置600は、現在受信したパケットに対して逆圧縮が失敗したかを決定するための手段610、2つの連続する受信したパケット(現在受信したパケット及び最後に正しく逆圧縮されたパケット)の間のリンク層シーケンス番号の差異に等しいインターバルを決定するための手段620、インターバルが2^kよりも大きいか等しいかを決定するため、そして最後に正しく逆圧縮されたパケットの基準シーケンス番号にインターバルを加算するための手段630、及び新しい基準シーケンス番号を使用して逆圧縮を実行するための手段640を備える。
【0054】
図7は、図5の方法に対応する逆圧縮器装置700を図示する。逆圧縮器装置700は、逆圧縮が失敗したかを決定するための手段710、2つの連続して受信されたパケットのあいだのリンク層シーケンス番号の差異であるインターバルを決定するための手段720、インターバルが≧2(L+1)であるかを決定するための手段730、インターバルが≧2^(k+1)であるかを決定するための手段740、適正なラップアラウンド量を決定するために複数のトライアルを実行するための手段750、リンク層SN及びROHCヘッダ中のRTP SNのLSBによって与えられる固有の情報に基づいてラップアラウンドを修正するための手段760、インターバルが≦Lであるかを決定するための手段770、RTP SNのLSBが[interval/2,L]内であるどうかを決定するための手段775、必要であれば間違ったコンテクストのローカル修正を実行するための手段780を備える。
【0055】
逆圧縮修正においてUDPチェックサムを使用すること
別の1つの方法は、ROHC逆圧縮器中のローカル修正モードを強化させる/改善させるためにUDPチェックサム(図8)を使用することができる。(もし存在するのであれば)UDPチェックサムを使用することは、ROHC逆圧縮器がローカル修正モードの間に逆圧縮されたパケットにより大きな確信を持つことを可能にすることができる。この方法に関して、UDPチェックサムは、IPフローにおいてイネーブルされるはずである。以下の方法は、UDPチェックサムを使用することによってROHC RFC3095のローカル修正モードを改善する。
【0056】
(a)逆圧縮器は、各着信パケットiの到着時刻、a(i)、を記録する。逆圧縮が失敗したパケットの到着時刻は、破棄される。
【0057】
(b)逆圧縮が失敗した時に、逆圧縮器は、INTERVAL=a(i)−a(i−1)、すなわち、前の正しく逆圧縮されたパケットの到着と現在のパケットとの間の経過時間、を計算する。
【0058】
(c)もしラップアラウンドが生じているのであれば、INTERVALは、少なくとも2^kのパケット間時間に対応する、ここで、kは現在のヘッダ中のSNビットの数である。例えば、到着時刻の移動平均、TS_STRIDE又はTS_TIME、を使用して得たパケット到着間時間の推定値に基づいて、逆圧縮器は、INTERVALが2^kのパケット間時間に対応することができるかどうかを判断する。
【0059】
(d)もし、INTERVALが少なくとも2^kのパケット到着間時間になると判断されるのであれば、逆圧縮器は、基準SNに2^kを加算し、そして新しい基準SNを使用してパケットを逆圧縮しようと試みる。
【0060】
(e)もし、この逆圧縮が成功し、そしてUDPチェックサムが通過するのであれば、逆圧縮器は、コンテクストを更新し、そして上位層にパケットを配信する。もし、この逆圧縮が失敗するか又はUDPチェックサムが通過しないのであれば、逆圧縮器は、パケットを破棄し、そして5.3.2.2.3項の規則(a)から(c)にしたがって動作することができる。
【0061】
(イネーブルされた時に)UDPチェックサムは、同様に図4又は図5の方法で使用されることができ、逆圧縮が成功するかどうかをさらに検証する。
【0062】
図9は、上に説明したようにUDPチェックサムを使用する方法を図示する。900において、パケット・ヘッダの逆圧縮が成功したかどうかを、本方法は決定する。902において、パケット・ヘッダ中のユーザ・データグラム・プロトコル(UDP)チェックサムが通過したかどうかを、本方法は決定する。904において、逆圧縮が成功しそしてUDPチェックサムが通過する場合に、本方法は、逆圧縮のために使用するコンテクスト情報を更新し、そして逆圧縮されたパケットを上位層に配信する。
【0063】
図10は、図9の方法に対応する逆圧縮器を図示する。逆圧縮器1010は、パケット・ヘッダの逆圧縮が成功したかどうかを決定するための手段1000、パケット・ヘッダ中のユーザ・データグラム・プロトコル(UDP)チェックサムが通過したかどうかを決定するための手段1002、逆圧縮が成功しそしてUDPチェックサムが通過する場合に、逆圧縮のために使用するコンテクスト情報を更新するため、そして逆圧縮されたパケットを上位層に配信するための手段1004を備える。
【0064】
本明細書中に開示された実施形態に関連して説明された各種の例示の論理ブロック、モジュール、及び回路は、汎用プロセッサ、ディジタル信号プロセッサ(DSP:digital signal processor)、ASIC、フィールド・プログラマブル・ゲートアレイ(FPGA:field programmable gate array)若しくはその他のプログラマブル論理デバイス、ディスクリート・ゲート論理素子又はトランジスタ論理素子、ディスクリート・ハードウェア・コンポーネント、若しくは本明細書中に説明された機能を実行するために設計されたこれらのいずれかの組み合わせを用いて、与えられる又は実行されることができる。汎用プロセッサは、マイクロプロセッサであり得るが、しかし代わりに、プロセッサは、いずれかの従来型のプロセッサ、コントローラ、マイクロコントローラ、又はステート・マシンであり得る。プロセッサは、演算デバイスの組み合わせとして与えられることができる。例えば、DSPとマイクロプロセッサとの組み合わせ、複数のマイクロプロセッサの組み合わせ、DSPコアとともに1又はそれより多くのマイクロプロセッサの組み合わせ、若しくはいずれかの他のそのような構成の組み合わせであり得る。
【0065】
本明細書中に開示された実施形態に関連して説明された方法又はアルゴリズムは、ハードウェアにおいて、プロセッサにより実行されるソフトウェア・モジュールにおいて、又は両者の組み合わせにおいて直接実現されることができる。ソフトウェア・モジュールは、ランダム・アクセス・メモリ(RAM:Random Access Memory)、フラッシュ・メモリ、読み出し専用メモリ(ROM:Read Only Memory)、電気的書き込み可能ROM(EPROM:Electrically Programmable ROM)、電気的消去書き込み可能ROM(EEPROM:Electrically Erasable Programmable ROM)、レジスタ、ハード・ディスク、脱着可能なディスク、CD−ROM、又はこの技術において公知の他のいずれかの他の形式の記憶媒体の中に存在できる。記憶媒体は、プロセッサがその記憶媒体から情報を読み出し、そこに情報を書き込めるようにプロセッサに接続される。あるいは、記憶媒体は、プロセッサに集積されることができる。プロセッサ及び記憶媒体は、ASIC中に存在できる。ASICは、アクセス端末中に存在できる。あるいは、プロセッサ及び記憶媒体は、アクセス端末中に単体コンポーネントとして存在できる。
【0066】
情報及び信号が、多様な異なる技術及び技法のいずれかを使用して表わされることができることを、当業者は、理解するはずである。例えば、上の記述の全体を通して参照されることができる、データ、指示、命令、情報、信号、ビット、シンボル、及びチップは、電圧、電流、電磁波、磁場又は磁力粒子、光場又は光粒子、若しくはこれらの任意の組み合わせによって表わされることができる。
【0067】
本明細書中に開示された実施形態に関連して説明された各種の例示の論理ブロック、モジュール、回路、及びアルゴリズムのステップが、電子ハードウェア、コンピュータ・ソフトウェア、又は両者の組み合わせとして与えられることができることを、当業者は、さらに認識するはずである。ハードウェアとソフトウェアとのこの互換性を明確に説明するために、各種の例示的な複数のコンポーネント、ブロック、モジュール、回路、及びステップが、それらの機能性の面から一般的に上に記述されてきている。そのような機能性が、ハードウェアとして又はソフトウェアとして与えられるかどうかは、固有のアプリケーション及びシステム全体に課せられた設計の制約に依存する。知識のある者は、述べられた機能性を各々の固有のアプリケーションに対して違ったやり方で実行することができる。しかし、そのような実行の判断は、本出願の範囲からの逸脱を生じさせるように解釈されるべきではない。
【0068】
開示された実施形態のこれまでの記述は、当業者が、本発明を作成し、使用することを可能にするために提供される。これらの実施形態への様々な変形は、当業者に容易に明白にされるであろう。そして、ここで規定された一般的な原理は、本発明の精神又は範囲から逸脱することなく、その他の実施形態に適用されることができる。それゆえ、本発明は、本明細書中に示された実施形態に限定することを意図したものではなく、本明細書中に開示された原理及び新規な機能と整合する最も広い範囲に適用されるものである。

【特許請求の範囲】
【請求項1】
パケット・ヘッダを逆圧縮するための方法であって、
現在のパケット・ヘッダの逆圧縮が失敗したかどうかを決定することと;
ヘッダ逆圧縮が失敗した場合に、ヘッダ逆圧縮のために使用した情報を修正するために、前のパケットの第1のリンク層シーケンス番号と前記現在のパケットの第2のリンク層シーケンス番号との間の差異を決定することと;及び
前記修正された情報を用いて前記現在のパケットの前記ヘッダを逆圧縮することと;
を具備する方法。
【請求項2】
1又はそれより多くのパケットを並べ替えるために前記修正された情報を使用することをさらに具備する、請求項1の方法。
【請求項3】
逆圧縮のために使用したコンテクスト情報を更新すること及び前記現在のパケットを上位層に配信することをさらに具備する、請求項1の方法。
【請求項4】
無線リンクを経由して前記前のパケット及び前記現在のパケットを受け取ることをさらに具備する、請求項1の方法。
【請求項5】
前記ヘッダは、インターネット・プロトコル(IP)、リアル・タイム輸送プロトコル(RTP)、ユーザ・データグラム・プロトコル(UDP)、及び伝送制御プロトコル(TCP)のうちの少なくとも1つに関係する情報を具備する、請求項1の方法。
【請求項6】
前記ヘッダ逆圧縮のために使用した情報を修正することは、
前記第1のリンク層シーケンス番号と前記第2のリンク層シーケンス番号との間の差異が2^kよりも大きいか又は等しいかどうかを決定することと、なお、kは前記現在のパケット中のリンク層シーケンス番号ビットの数である;及び
前記差異が2^kよりも大きいか又は等しい場合、修正された情報を与えるために前記第1のリンク層シーケンス番号に前記差異を加えることと;
を具備する、請求項1の方法。
【請求項7】
シーケンス番号ラップアラウンドが生じたかどうかを決定することをさらに具備する、請求項6の方法、
【請求項8】
前記シーケンス番号ラップアラウンドが生じたかどうかを決定することは、
前記差異が2*(L+1)よりも大きいか又は等しいかどうかを決定することと、なお、Lは逆圧縮のために使用したインタープリテーション・インターバルの半分の長さである;
前記差異が2*(L+1)よりも大きいか又は等しいと決定される場合、前記差異が2^(k+1)よりも大きいか又は等しいかどうかを決定することと;
前記差異が2^(k+1)よりも大きいか又は等しいと決定される場合、複数のインタープリテーション・インターバルを使用して前記現在のパケットの前記ヘッダを複数回逆圧縮することと;及び
前記ヘッダを逆圧縮することがインタープリテーション・インターバルのうちの1つだけにおいて成功する場合に、前記現在のパケットを上位層に渡すことと;
を具備する、請求項7の方法。
【請求項9】
前記インタープリテーション・インターバルは、[L+1,2*(L+1)−1],[2*(L+1),3*(L+1)−2],...,[k*(L+1),(k+1)*(L+1)−(k)]を備え、INTERVALは、k*(L+1)≦INTERVAL≦(k+1)*(L+1)−(k)として定義される、請求項8の方法。
【請求項10】
前記差異が2^(k+1)よりも小さいと決定される場合、リンク層シーケンス番号及び前記ヘッダ中の無線通信輸送プロトコル(RTP)シーケンス番号の最下位ビット(LSB)によって与えられる情報に基づいて前記ラップアラウンドを修正することをさらに具備する、請求項8の方法。
【請求項11】
前記差異が2*(L+1)よりも小さいと決定される場合、前記差異がLよりも小さいか又は等しいかどうかを決定することと;
前記差異がLよりも小さいか又は等しいと決定される場合、逆圧縮コンテクスト情報のローカル修正を実行することと;
をさらに具備する、請求項8の方法。
【請求項12】
前記ヘッダ中の前記無線通信輸送プロトコル(RTP)シーケンス番号の最下位ビット(LSB)が[INTERVAL/2,L]の範囲内であるかどうかを決定することと;
前記ヘッダ中の前記無線通信輸送プロトコル(RTP)シーケンス番号の最下位ビット(LSB)が[INTERVAL/2,L]の範囲内である場合、逆圧縮コンテクスト情報のローカル修正を実行することと;
前記ヘッダ中の前記無線通信輸送プロトコル(RTP)シーケンス番号の最下位ビット(LSB)が[INTERVAL/2,L]の範囲内にない場合、リンク層シーケンス番号及び前記ヘッダ中の無線通信輸送プロトコル(RTP)シーケンス番号の最下位ビット(LSB)によって与えられる情報に基づいて該ラップアラウンドを修正することと;
をさらに具備する、請求項8の方法。
【請求項13】
ヘッダ逆圧縮のための方法であって、
パケット・ヘッダの逆圧縮が成功したかどうかを決定することと;
前記パケット・ヘッダ中のユーザ・データグラム・プロトコル(UDP)チェックサムが通過するかどうかを決定することと;及び
前記逆圧縮が成功しかつ前記UDPチェックサムが通過する場合に、逆圧縮のために使用するコンテクスト情報を更新し、前記逆圧縮されたパケットを上位層に配信することと;
を具備する方法。
【請求項14】
パケット・ヘッダを逆圧縮するために構成された装置であって、
前記装置は逆圧縮器を具備し、
前記逆圧縮器は、
現在のパケット・ヘッダの逆圧縮が失敗したかどうかを決定し;
ヘッダ逆圧縮が失敗した場合に、ヘッダ逆圧縮のために使用した情報を修正するために、前のパケットの第1のリンク層シーケンス番号と前記現在のパケットの第2のリンク層シーケンス番号との間の差異を決定し;そして
前記修正された情報を用いて前記現在のパケットの前記ヘッダを逆圧縮する、
ように構成された、
装置。
【請求項15】
前記装置は、1又はそれより多くの受信したパケットを並べ替えるために前記修正された情報を使用するようにさらに構成された、請求項14の装置。
【請求項16】
前記逆圧縮器は、逆圧縮のために使用したコンテクスト情報を更新するように、そして前記現在のパケットを上位層に配信するようにさらに構成された、請求項14の装置。
【請求項17】
無線リンクを経由して前記前のパケット及び前記現在のパケットを受け取るためのトランシーバをさらに具備する、請求項14の装置。
【請求項18】
前記ヘッダは、インターネット・プロトコル(IP)、リアル・タイム輸送プロトコル(RTP)、ユーザ・データグラム・プロトコル(UDP)、及び伝送制御プロトコル(TCP)のうちの少なくとも1つに関係する情報を備える、請求項14の装置。
【請求項19】
前記逆圧縮器は、
前記第1のリンク層シーケンス番号と前記第2のリンク層シーケンス番号との間の差異が2^kよりも大きいか又は等しいかどうかを決定し、なお、kは前記現在のパケット中のリンク層シーケンス番号ビットの数である;そして
前記差異が2^kよりも大きいか又は等しい場合、修正された情報を与えるために前記第1のリンク層シーケンス番号に前記差異を加算する、
ように構成された、請求項14の装置。
【請求項20】
前記逆圧縮器は、シーケンス番号ラップアラウンドが生じたかどうかを決定するようにさらに構成された、請求項19の装置。
【請求項21】
前記シーケンス番号ラップアラウンドが生じたかどうかを決定することは、
前記差異が2*(L+1)よりも大きいか又は等しいかどうかを決定することと、なお、Lは逆圧縮のために使用したインタープリテーション・インターバルの半分の長さである;
前記差異が2*(L+1)よりも大きいか又は等しいと決定される場合、前記差異が2^(k+1)よりも大きいか又は等しいかどうかを決定することと;
前記差異が2^(k+1)よりも大きいか又は等しいと決定される場合、複数のインタープリテーション・インターバルを使用して前記現在のパケットの前記ヘッダを複数回逆圧縮することと;及び
前記ヘッダを逆圧縮することが前記インタープリテーション・インターバルのうちの1つだけにおいて成功する場合に、前記現在のパケットを上位層に渡すことと;
を具備する、請求項20の装置。
【請求項22】
前記インタープリテーション・インターバルは、[L+1,2*(L+1)−1],[2*(L+1),3*(L+1)−2],...,[k*(L+1),(k+1)*(L+1)−(k)]を備え、INTERVALは、k*(L+1)≦INTERVAL≦(k+1)*(L+1)−(k)として定義される、請求項21の装置。
【請求項23】
前記逆圧縮器は、
前記差異が2^(k+1)よりも小さいと決定される場合、リンク層シーケンス番号によって与えられる情報及び前記ヘッダ中の無線通信輸送プロトコル(RTP)シーケンス番号の最下位ビット(LSB)に基づいて前記ラップアラウンドを修正するようにさらに構成された、請求項21の装置。
【請求項24】
前記逆圧縮器は、
前記差異が2*(L+1)よりも小さいと決定される場合、前記差異がLよりも小さいか又は等しいかどうかを決定し;
前記差異がLよりも小さいか又は等しいと決定される場合、逆圧縮コンテクスト情報のローカル修正を実行する;
ようにさらに構成された、請求項21の装置。
【請求項25】
前記逆圧縮器は、
前記ヘッダ中の無線通信輸送プロトコル(RTP)シーケンス番号の最下位ビット(LSB)が[INTERVAL/2,L]の範囲内であるかどうかを決定し;
前記ヘッダ中の前記無線通信輸送プロトコル(RTP)シーケンス番号の最下位ビット(LSB)が[INTERVAL/2,L]の範囲内である場合、逆圧縮コンテクスト情報のローカル修正を実行し;
前記ヘッダ中の前記無線通信輸送プロトコル(RTP)シーケンス番号の最下位ビット(LSB)が、[INTERVAL/2,L]の範囲内にない場合、リンク層シーケンス番号によって与えられる情報及び前記ヘッダ中の無線通信輸送プロトコル(RTP)シーケンス番号の最下位ビット(LSB)に基づいて前記ラップアラウンドを修正する;
ようにさらに構成された、請求項21の装置。
【請求項26】
逆圧縮器を具備するヘッダ逆圧縮のための装置であって、
前記逆圧縮器は、
パケット・ヘッダの逆圧縮が成功したかどうかを決定し;
前記パケット・ヘッダ中のユーザ・データグラム・プロトコル(UDP)チェックサムが通過するかどうかを決定し;そして
前記逆圧縮が成功しかつ前記UDPチェックサムが通過する場合に、逆圧縮のために使用するコンテクスト情報を更新し、そして前記逆圧縮されたパケットを上位層に配信する;
ように構成された、
装置。
【請求項27】
パケット・ヘッダを逆圧縮するように構成された装置であって、
現在のパケット・ヘッダの逆圧縮が失敗したかどうかを決定するための手段と;
ヘッダ逆圧縮が失敗した場合に、ヘッダ逆圧縮のために使用した情報を修正するために、前のパケットの第1のリンク層シーケンス番号と前記現在のパケットの第2のリンク層シーケンス番号との間の差異を決定するための手段と;及び
前記修正された情報を用いて前記現在のパケットの前記ヘッダを逆圧縮するための手段と;
を具備する装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2010−283832(P2010−283832A)
【公開日】平成22年12月16日(2010.12.16)
【国際特許分類】
【外国語出願】
【出願番号】特願2010−131286(P2010−131286)
【出願日】平成22年6月8日(2010.6.8)
【分割の表示】特願2007−545646(P2007−545646)の分割
【原出願日】平成17年12月7日(2005.12.7)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.GSM
【出願人】(595020643)クゥアルコム・インコーポレイテッド (7,166)
【氏名又は名称原語表記】QUALCOMM INCORPORATED
【Fターム(参考)】