(57)【要約】ハンドシェイクなしの通信において用いられる再伝送方法は、パケットソースからパケット受信装置に対しパケットの系列を送信し、パケットの系列中の各パケットは、関連づけられる連続番号を有し、送信は、送信バッファから次のパケットを検索して送信することを含み、パケット受信装置において、受信されたパケットの連続番号にギャップが存在するかどうかを決定することによってパケットが受信されたか否かを決定し、受信装置から送信装置に再送要求を送信し、再送要求は、連続番号のギャップを埋める連続番号を持つ指定されたパケットの系列の再送を要求し、パケットソースにおいて、指定されたパケットの系列に対する再送要求を受信し、パケットソースにおいて、指定されたパケットの系列が送信バッファ中に利用可能であるかどうかを決定し、利用可能である場合、受信装置に指定されたパケットを再送し、利用可能でない場合、再送要求を無視する。
2008530903.tif 000002
【特許請求の範囲】
【請求項１】
ハンドシェイクなしの通信において用いられる再伝送方法であって、
パケットソースからパケット受信装置にパケットの系列を送信し、パケットの系列中の各パケットは、関連する連続番号を有し、前記送信は、送信バッファから次のパケットを抽出して前記次のパケットを送信し、
パケット受信装置において、受信されたパケットの連続番号においてギャップが存在するかどうかを決定することによってパケットまたはパケットの系列が受信されていないことを決定し、
受信装置から送信装置に再送要求を送信し、前記再送要求は、連続番号のギャップを埋める連続番号を持つ、指定されたパケットの系列の再送を要求し、
パケットソースにおいて、指定されたパケットの系列に対する再送要求を受信し、
パケットソースにおいて、指定されたパケットの系列が送信バッファ中に利用可能なまま残っているかどうかを決定し、
指定されたパケットの系列が、送信バッファで利用可能である場合、受信装置に指定されたパケットを再送し、
指定されたパケットの系列が、送信バッファで利用可能でない場合、再送要求を無視することを特徴とする方法。
【請求項２】
受信装置は受信バッファを有し、受信されたパケットは、受信バッファに置かれ、受信バッファ内の各パケットの位置は、第１のリンクされたリストを用いて追跡されることを特徴とする、請求項１に記載の方法。
【請求項３】
第１のリンクされたリストは、パケット系列中の隣接するパケット、または、連続番号にギャップが存在するときに、パケット系列中の最も近くの隣接するパケットを指すポインタを用いることを特徴とする、請求項２に記載の方法。
【請求項４】
受信された連続番号におけるギャップの存在が、第２のリンクされたリストを用いて追跡され、第２のリンクされたリストは、バッファにおいて付番された、対応する次の及び前のパケット系列を有する各パケットのためのヌルエントリーを含み、第２のリンクされたリストは、受信されたパケットのギャップのために欠落した各連続番号のための連続番号を有することを特徴とする、請求項２に記載の方法。
【請求項５】
受信された連続番号におけるギャップの存在が、第２のリンクされたリストを用いて追跡され、第２のリンクされたリストは、バッファにおいて付番された、対応する次の及び前のパケット系列を有する各パケットのためのヌルエントリーを含み、第２のリンクされたリストは、受信されたパケットのために欠落した各連続番号のための連続番号を有することを特徴とする、請求項３に記載の方法。
【請求項６】
受信された連続番号におけるギャップの存在は、第２のリンクされたリストを用いて追跡されることを特徴とする、請求項２に記載の方法。
【請求項７】
第２のリンクされたリストは、二重のリンクされたリストを含むことを特徴とする、請求項２に記載の方法。
【請求項８】
受信バッファは、円形のバッファを含むことを特徴とする、請求項２に記載の方法。
【請求項９】
送信バッファは、円形のバッファを含むことを特徴とする、請求項３に記載の方法。
【請求項１０】
パケットは、ＵＤＰ形式のパケットを含むことを特徴とする、請求項１に記載の方法。
【請求項１１】
パケットの系列のギャップの存在は、ギャップリンクリストを用いて受信装置で追跡されることを特徴とする、請求項１に記載の方法。
【請求項１２】
ハンドシェイクなしの通信において用いられる再伝送方法であって、
パケットソースからパケット受信装置に対しパケットの系列を送信し、パケットの系列中の各パケットは、関連づけられる連続番号を有し、前記送信は、円形の送信バッファから次のパケットを検索し、前記次のパケットを送信することを含み、
前記パケット受信装置において、受信されたパケットの連続番号にギャップが存在するかどうかを決定することによってパケットが受信されたか否かを決定し、
受信装置から送信装置に再送要求を送信し、前記再送要求は、連続番号のギャップを埋める連続番号を持つ指定されたパケットの系列の再送を要求し、
パケットソースにおいて、指定されたパケットの系列に対する再送要求を受信し、
パケットソースにおいて、指定されたパケットの系列が送信バッファ中に利用可能なまま残っているかどうかを決定し、
指定されたパケットの系列が、送信バッファで利用可能である場合、受信装置に指定されたパケットを再送し、
指定されたパケットの系列が、送信バッファで利用可能でない場合、再送要求を無視し、
受信デバイスは、円形の受信バッファを有し、受信されたパケットは、受信バッファに置かれ、受信バッファ中の各パケットの位置は、第１のリンクされたリストを用いて追跡され、第１のリンクされたリストは、パケット系列中の隣接するパケット、または、連続番号にギャップが存在するときに、パケット系列中の最も近くの隣接するパケットを指すポインタを使用し、
受信された連続番号におけるギャップの存在が、第２のリンクされたリストを用いて追跡され、第２のリンクされたリストは、バッファにおいて付番された、対応する次の及び前のパケット系列を有する各パケットのためのヌルエントリーを含み、第２のリンクされたリストは、受信されたパケットのギャップのために欠落した各連続番号のための連続番号を有することを特徴とする方法。
【請求項１３】
パケットは、ＵＤＰ形式パケットであることを特徴とする、請求項１２に記載の装置。
【請求項１４】
ハンドシェイクなしの通信のための送信装置であって、
パケットソースからパケット受信装置に対しパケットの系列を送信し、パケットの系列中の各パケットは、関連付けされた連続番号を有し、前記送信は、送信バッファから次のパケットを検索し、前記次のパケットを送信することを含む送信機と、
指定されたパケットの系列に対する再送要求を受信する受信機と、
前記指定されたパケットの系列が送信バッファ中に利用可能なままで残っているかどうかを決定するための手段と、
前記指定されたパケットの系列が送信バッファ中で利用可能である場合、前記受信装置に指定されたパケットを再送する手段と、
前記指定されたパケットの系列が送信バッファ中で利用可能でない場合、再送要求を無視する手段と、
を備えることを特徴とする装置。
【請求項１５】
送信バッファは、円形のバッファを含むことを特徴とする、請求項１４に記載の装置。
【請求項１６】
パケットは、ＵＤＰ形式のパケットを含むことを特徴とする、請求項１４に記載の装置。
【請求項１７】
パケットは、パケットの受領確認応答がないハンドシェイクなしのプロトコルを用いて伝送されることを特徴とする、請求項１４に記載の装置。
【請求項１８】
再送要求は、確認応答が行われないことを特徴とする、請求項１４に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ハンドシェークなしの再伝送プロトコルに関する。
【背景技術】
【０００２】
通信システムは、「確認応答型プロトコル」を用いてデータパケットを伝送するデータチャネルを含むことが多い。確認応答型プロトコルの例としては、インターネットで用いられる通信｛つうしん｝制御｛せいぎょ｝プロトコル（ＴＣＰ；Transmission
Control Protocol）がある。確認応答型プロトコルは、信頼性の二地点間データ転送を提供するように設計されており、従って、エラーが見つかったデータパケットを再送する方法を提供する。受信したデータパケットが誤りを含むかどうかを受信機が決定できるようにするために、ＣＲＣコード等のエラー制御コードが送信されることが多い。データパケットがエラーをを含む場合、誤ったパケットを再送できるように再試行要求パケットが送信機に送り返される。
【０００３】
非確認応答型プロトコルの例としては、これもインターネットで用いられるユーザデータグラムプロトコル（ＵＤＰ；user datagram protocol）がある。ＵＤＰパケットが送信されるとき、確認応答は必要ない。むしろＵＤＰパケットは、ネットワークを越えてブロードキャストまたはマルチキャスト方式を用いる１以上の目的地に対し殺到する可能性がある。ブロードキャストは、ネットワーク上の全てのノードに１以上のパケットを送信する必要がある。マルチキャストは、ネットワーク上の必ずしも全てではなく、１以上のノードに１以上のパケットを送信する必要がある。ＴＣＰと比較すると、ＵＤＰパケットストリームには確認応答パケット及び再送パケットが伴わないので、ＵＤＰパケットストリームは、消費する帯域幅が少ない。リアルタイムのマルチメディアビューアまたはプレーヤ等の特定のデータ型に関しては、遅いパケットは、まるで誤ったパケットのように単純に破棄される。従って、受信側で後に破棄されるだけのデータを再送しないことによって、ネットワーク回線容量が節約される。また、ＵＤＰパケットは、ブロードキャスト及びマルチキャストデータ転送方式を可能にする。ＵＤＰのような非確認応答型プロトコルを使用することの代償は、データの信頼性の欠如である。
【０００４】
ＵＤＰパケットは、帯域幅と定刻配信を保証するデータ伝送を提供するように設計されたプロトコルの中で使用されることが多い。帯域予約プロトコル（ＲＳＶＰ；resource reservation protocol）はその一例である。ＲＳＶＰは、保証された帯域幅とパケット配信時間の経路を確立するためにネットワークルータによって用いられるプロトコルである。指定されたＱＯＳと関係がある受信側でメディアプレーヤーによって再生可能なリアルタイムの音声及びビデオデータを含むマルチメディアデータストリームを保障するためには、ＲＳＶＰと同様のプロトコルを必要とする。
【０００５】
リアルタイムトランスミッションプロトコル（ＲＴＰ；Real-time
Transmission Protocol）は、遅延予測とジッタの減少を達成するために、ＵＤＰまたはＴＣＰ上で使用されるプロトコルである。しかし、ＲＴＰと共に、パケットの配信はまだ保証されていない。一般的に、パケットの配信保証を達成するために、パケット受信の確認応答（ＡＣＫ）またはパケットを受信していないことの確認応答（ＮＡＣＫ）を行うハンドシェイクプロトコルが必要とされる。パケットが受信されていないときは、再伝送が保証される。
【０００６】
ＵＤＰは、時間依存のパケットの配信（例えば、音声またはビデオストリーミング）に主に使用されるため、残念ながら、ＵＤＰや同様のプロトコルを使用するとき、そのようなハンドシェイクプロトコルのオーバレイはしばしば容認できない遅延をもたらす。
【発明の開示】
【０００７】
本発明は、多くの異なる形式での実施形態を許容するが、そのような実施形態の開示は、原理の例示として見なされるものであって、図示され説明される特定の実施形態に本発明を限定することを意図するものではないという了解の下で、特定の実施形態は、図面に示され、ここに詳細に説明される。以下の記載において、同様の参照番号は、いくつかの図面において同一、類似または対応する構成要素を説明するために用いられる。
【０００８】
ここで用いられる“a”または“an”という用語は、１または１以上として定義される。ここで用いられる「複数」という用語は、２または２以上として定義される。ここで用いられる「他の」という用語は、少なくとも第２のまたはそれ以上のものとして定義される。ここで用いられる「包む」及び／または「有する」という用語は、備える（すなわち、オープンランゲージ）として定義される。ここで用いられる「結合された」という用語は、必ずしも直接というわけではなく、また、必ずしも機械的にというわけではないが、接続するとして定義される。ここで用いられる「プログラム」という用語は、コンピュータシステム上で実行させるために設計された命令の系列として定義される。「プログラム」、または「コンピュータプログラム」は、サブルーチン、関数、手続き、オブジェクトメソッド、オブジェクトの実装、実行可能なアプリケーション、アプレット、サーブレット、ソースコード、オブジェクトコード、共有ライブラリ／ダイナミックロードライブラリ、及び／または、コンピュータシステム上で実行させるために設計された他の命令の系列を含むものであってもよい。
【０００９】
この文書中で参照される「一実施形態」、「ある実施形態」、「実施形態」または同様の用語は、実施形態に関して説明された特定の特徴、構造、または特性が、本発明の少なくとも１つの実施形態に含まれていることを意味する。従って、本明細書中の様々な場所でのそのような語句の出現は、必ずしもすべて同一の実施形態を参照するというわけではない。さらに、特定の特徴、構造、または特性は、１以上の実施形態におけるいかなる好適な方法にも限定されることなく結合されることができる。
【００１０】
ＵＤＰパケット等のパケットが、１つのポイントから次のポイントまでパケットを運ぶのに用いられるとき、通常、それは全てのパケットの受信が完全に保証された状況で用いられる。一般に、ＵＤＰ及び同様のプロトコルは、パケットの受信のタイミングが、あらゆるパケットが受信者に到着する必要性より重要であるときに、用いられる。例としては、オーディオ及びビデオデータと音声のストリーミングである。本技術分野において既知の様々なアルゴリズムで、そのようなデータで失われたパケットを扱うことができる。確かに、全てのパケットが受信されるのが望ましいが、それは単純に最優先ではない。
【００１１】
失われたパケットの再伝送における「ベストエフォート」を保証するのを助けるためにいくつかのプロトコルが開発されているが、それらはしばしば複雑なアルゴリズム、追加のハードウェア費用、及び／または、著しい計算の複雑性を伴う。さらに、多くのインスタンスにおけるパケットの有効な寿命は非常に短いので、ＵＤＰパケット及び同様のプロトコルに役に立つように、プロセスは非常に迅速でなければならない。例えば、ＵＤＰがオーディオデータを流すのに用いられる場合に、再伝送が発生した場合にのみ失われたパケットが置き換えられることができ、失われたパケットを再生ストリームに挿入するのに十分な時間に受信されることができる。そうでなければ、どのような再伝送技術も役に立たない。
【００１２】
本発明に合致するある実施形態は、ハンドシェイクを全く必要とせず、送信機及び受信機において最小のハードウェアを使用またはいかなる追加ハードウェアも使用しない再伝送プロトコルを利用する、非常に簡単で安価なアルゴリズムを用いて、失われたパケットの状態を改善しようとする。さらに、まさにその簡単さによって、プロトコルは、迅速な再伝送を達成するのには十分迅速で、その結果、有効な寿命が終わる前に失われたパケットを置き換えることができるという可能性を高める。
【００１３】
ここで図１を参照して、ある実施形態と合致する模範的なシステムのブロック図が、システム１０として示される。ここでの考察のために、データパケットの流れに関して、雲２０の右のブロックは受信装置を表し、雲２０の左のブロックは送信装置またはパケットソースを表す。通常の操作の間、送信バッファ１２は、送信機１６を用いた伝送のためのソースによって決定される速度で、ソース（例えば、ディスクドライブ、光ディスク、ブロードキャスト信号のためのチューナ等）からデータを受信する。通常、受信されたデータは、それぞれが連続番号を有するＵＤＰパケットのようなパケットの系列としてフォーマットされる。送信機１６は、ネットワーク、または２０で示されるネットワーク回線容量が許容するのと同じくらいの速度の他の媒体（例えば、無線通信リンク）を介して受信機１８にパケットの系列を送信する。受信機１８は、一度受信すると、例えばオーディオまたはビデオプレーヤ装置によるその後の検索のために、受信バッファ２４に受信されたパケットを置く。
【００１４】
全てのパケットが順番に受信される限り、例えば、受信装置においてパケットのソースからストリーミング・ビデオの再生を可能にする正常な方法でシステムは機能する。操作が進行する間、先入れ先出し（first in first out；ファーストインファーストアウト）装置として動作する送信バッファ１２に新しいデータがロードされ、先入れ先出しバッファとして動作する受信バッファ１２から、必要に応じて同様に抽出される。
【００１５】
使用中のプロトコルによって、しばしば、何らかの理由で、送信されたパケットは、受信装置において適切に受信されない。この場合、例えば、受信されたパケットの連続番号の欠番に注目することによって、パケットの不在が検出される。この検出は、欠落パケット検知器２８としてこの図で表される。欠落パケットの検出において、欠落パケット検知器２８は、再送要求が送信されるように要求する。これは、再送要求プロセッサ３２として象徴的に示され、再送要求プロセッサ３２は、パケットソースの受信機３８への送信機３４を経由して再送要求を送る。ある好適な実施形態において、この要求は、シェイクハンドや他の確認応答が全くない、ＵＤＰまたは同様のプロトコルパケットの形式であり、その結果、要求の伝達保証が全くないにもかかわらず、再送要求が簡単に保たれる。
【００１６】
再送要求が受信機３８で受信されるとき、再送要求は、送信バッファ１２の欠落パケットの検索を行う再送要求プロセッサ４０において、デコードされ、処理される。本実施形態の速度と簡単さの一部は、検索が送信バッファ１２上で行われるだけであるという事実によるものである。欠落パケットが送信バッファ１２によって破棄されていない場合、欠落パケットは、送信待ち行列に再度置かれ、最も速く送信可能な時間に送信機１５を用いて再送される。欠落パケットが送信バッファ１２で置き換えられた場合、再送要求は、単に破棄される。パケットを再送するためのさらなる取り組みが行われる必要はない。
【００１７】
再送されたパケットが、受信バッファ２４の有効な場所に置かれる時間内に受信機１８で受信される場合（即ち、検索されたパケットに続くパケットが、受信装置で消費されるために受信バッファ２４から引き出される前に）、再送されたパケットは、受信されたパケットストリーム内で使用されることができる。再送されたパケットがあまりに遅く到着した場合、それは単に破棄される。
【００１８】
このプロトコルは、ＵＤＰまたは同様のプロトコルパケットセッションにおいて失われたパケットの一部を回復するためのメカニズムを提供する一方、データスループットを損う確認応答、否定的な確認応答または他のハンドシェイク動作を欠いたままである。さらに、送信バッファの外部から古いパケットを検索することに遅延は全く発生せず、再送されたパケットが時間内に受信装置に受信されそうであるかどうかを予測することに遅延は全く発生しない。説明されたような処理は単純で、伝送中に失われたパケットの一部を回復する能力は残っている。すべてのパケットが受信されることは保証しないが、失われたパケットのための合理的な回復努力は、実際には不利益を全く被ることなく試みられる。欠落パケットの検出は、欠落パケットを検索できるの最小量の計算量で行うことができる。多くのシステムでは、既存の制御プロセッサまたは非常に簡単な状態機械（state machine）または他のロジック（logic）を用いてこれを達成することができる。主に、伝送待ち時間に依存して、著しい数の失われたパケットを回復することができる。
【００１９】
したがって、ある実施形態に一致するハンドシェイクを行わない通信のための送信装置は、パケットソースからパケット受信装置に一連のパケットを伝送する送信機を有し、パケットの系列内の各パケットは、関連する連続番号を有し、伝送は、送信バッファから次のパケットを検索し、次のパケットを伝送することを含む。送信機は、指定されたパケットの系列のための再送要求を受信する。再送要求は、始めの連続番号と連続したパケットの数とからなるものであってもよい。指定されたパケットのグループが送信バッファ中に利用可能なままで残っている場合、指定されたパケットは受信装置に再送される。指定されたパケットが送信バッファ中で利用可能でないなら、再送要求は無視される。
【００２０】
ここで、図２を参照して、模範的な処理５０は、５２において開始する受信装置によって実行される。５４において、パケットは、受信され、５８で連続番号がチェックされた後、またはチェックされる間にバッファリングされる。連続番号は、この例では、パケット系列中のパケットが欠落しているかどうか決定するのに使用される。パケットが受信され受信バッファ２４に置かれるか、またはバッファ（図示せず）から抽出される(目立たない)ときはいつも、６２でバッファポインタが更新される。バッファポインタは、未使用のデータの一番上及び一番下などのように、受信バッファ中のデータの様々な属性を示すのに使用される。好適な実施形態においては、バッファ２４のパケットは、それぞれの連続したパケットが、系列中の次のパケットと前のパケットを示すデータに関連している二重のリンクされたリストを用いることで追跡される。もし系列がギャップを含む場合、二重のリンクされたリストは、最も近い次のまたは前のパケットを指す。例えば、バッファ中のパケット系列が１、２、３、５、６である場合、ギャップは、パケット番号３とパケット番号５の間に現れる。したがって、リンクされたリストは、３の次のパケットが５であることを示し、逆に、５の前のパケットは３であることを示す。
【００２１】
リストのギャップは、好適な実施形態において、第２の二重のリンクされたリストを用いて追跡される。第２のリストは、ギャップが全く存在しないときには、ヌル値を含むが、ギャップが存在するとき、連続番号によって欠落したパケットを特定するデータを含んでいる。６２において、それぞれのこれらのリストと、新しいデータの始まりと終わりとを示すポインタとを更新する。６６において、処理は、パケットが欠落しているかどうか、すなわち、パケットの連続番号にギャップがあるかどうかを決定する。もし欠落していなければ、制御は５４に戻って、次のパケットの受信を待つ。欠落している場合は、７０で再送要求を生成し、パケットストリームのソースに送信する。好適な実施形態のための受信機側の操作は、後でより詳細に説明される。
【００２２】
ここで図３を参照して、フローチャート７５は、本発明に合致する実施形態における、７８において開始する再送要求プロセッサの動作について記述する。８２において、再送要求が受信された場合、送信バッファ１２は、８６で、再送が要求されているパケットが存在するかどうかを決定するためにチェックされる。９０で、パケットが見つかった場合、パケットは９４で次の空いている送信時間に再送される。その後、制御は８２に戻って、次の再送要求を待つ。９０で、パケットが送信バッファ１２で見つけられなかった場合、９８で再送要求は無視され、制御は、再び８２に戻り、次の再送要求を待つ。
【００２３】
したがって、ある実施形態に合致するハンドシェイクなしの通信において用いられる再伝送方法は、パケットソースからパケット受信装置にパケットの系列を伝送し、パケットの系列の各パケットが、関連づけられた連続番号を有し、伝送は、送信バッファから次のパケットを検索し、次のパケットを送信することを含む。また、パケット受信装置において、受信されたパケットの連続番号にギャップが存在するかどうかを決定することによって、パケットが受信されていないことを決定することを含む。また、受信装置から送信装置に再送要求を送信し、再送要求は、連続番号のギャップを埋める連続番号を持つ指定されたパケット系列の再送を要求することを含む。また、パケットソースにおいて、指定されたパケット系列に対する再送要求を受信することを含む。パケットソースにおいて、指定されたパケットが送信バッファ内で利用可能な状態であるかどうかを決定し、もし指定されたパケットが送信バッファ内で利用可能であれば、受信装置にたいし指定されたパケットを再送し、指定されたパケットが送信バッファ内で利用可能でなければ、再送要求を無視することを含む。
【００２４】
送信バッファ１２と受信バッファ２４の動作は、それぞれ、両方のバッファが円形及び線形で表現した図４に記述されている。送信バッファ１２は左側に表され、受信バッファは右側に表される。本発明に合致するある実施形態において、送信バッファ１２及び受信バッファ２４の両方は、円形の先入れ先出しバッファである。バッファ１２の場合、２つのポインタ１０２及び１０４は、送信のための待ち行列中にある新しいデータ（そして、場合によってはいくつかの再送データ）の始まりと終わりをマークするのに用いられている。新しいデータがバッファに入るのにしたがって、ポインタ１０４は、「新しい」とラベルされた矢印の向きに進められる。「新しい」とラベルされたバッファの領域は、伝送されるためのデータを表す。古いデータは、「古い」とラベルされ、同様の見出しを持つ矢印によって表される。したがって、新しいデータが伝送のために受信されるのにしたがって、新しいデータを運ぶ領域はポインタ１０４によって示される終点まで広がる。データがバッファから抽出されるのにしたがって、ポインタ１０２は、同様に、「新しい」とラベルされた矢印の向きに移動する。
【００２５】
既に送信されたデータは、新しいデータに置き換えられるまでバッファから追放されない。したがって、「古い」とラベルされた円形のバッファの一部は、最も最近送信されたデータを含む。
【００２６】
円形のバッファ１２の下で示されたバッファの線形的な表現では、図示された瞬間において、パケット１〜７が既に送信されたということが分かる。パケット８は矢印１０８で示されるように、現在送信されており、パケット９から始まる残りのパケットが、送信を待っている。
【００２７】
受信バッファ２４では、同様の円形のバッファを用いることができる。しかしながら、この場合、「古い」に指定されたデータは、特に現在の議論には関連していない。しかしながら、バッファ２４は、同様の方法で新たに受信したデータがポインタ１１０を進め、新たに抽出されたデータがポインタ１１６を進めるように動作する。しかしながら、新しいデータは、先入れ先出しバッファの線形的な表現において矢印１２０によって表現されるように、失われたパケットを表すギャップを含むことができる。
【００２８】
図５は、ある好適な実施形態に合致する方法で、連続番号を用いてパケット系列中のギャップを検出するための受信バッファ２４におけるより詳細な動作を表す。この図では、処理は、１５０として示され、１５２で始まる。値Ｔは、現在受信されたパケットのパケット連続番号を表し、Ｐは、前に受信されたパケットのためのパケット連続番号を表す。本実施形態では、受信バッファは、受信データのギャップを特定するためのギャップリンクリストと呼ばれる二重にリンクされたリストを持つメモリとして実現される。
【００２９】
１５４で、処理はパケットの到着を待つ。１５４で、パケットが到着すると、ＴをＰと比較し、ＴがＰよりも小さくない場合、制御は、１６０に遷移し、ＴとＰを再び比較する。１６０において、ＴがＰ＋１よりも大きくないならば、パケットは順番に受信され、制御は１６４に遷移してパケットはリングバッファの次の位置に追加される。位置は、上述したリンクされたリストを用いて追跡することができる。
【００３０】
１５８で、もしＴがＰより小さい場合、Ｔ＜Ｐは、現在のパケットが、現在のパケットよりも低い番号であり、したがって、もっと早く受信されるべきものであることを示しているため、処理は、ギャップリンクリストに従ってパケットが属する位置を見つける。１７２で、パケットが属する位置が見つかったら、パケットは適切な位置に挿入される。もし見つからなければ、パケットは、１８０で破棄される。いずれの場合も、制御は１５４に戻り、次のパケットの到着を待つ。
【００３１】
１６０で、もし、Ｔ＞Ｐ＋１である場合、パケットのギャップに遭遇する。１８４で、このギャップ情報をギャップリンクリストに記録し、リングバッファのパケットにパケットを追加する。その後、１８８で再送要求が行われ、処理は１５４に戻って次のパケットを待つ。
【００３２】
当業者は、ギャップリンクリストを用いる上記の例は１つの例であるにすぎず、受信されたパケットのストリームにおけるギャップの位置を追跡するために、多くのメカニズムを用いることができると理解されたい。他の実施形態の例では、バッファは必ずしも円形のバッファでなければならないというわけではなく、受信されたパケットのギャップは、必ずしもリンクされたリストまたは二重のリンクされたリストを用いて追跡される必要はない。他の実施形態は、当業者に想起されるものであることができる。
【００３３】
本発明に合致する様々な実施形態を用いて、欠落したパケットの系列のための再送要求は、受信側において生成され、迅速｛じんそく｝に送信されることができる。さらに、パケットは、位置することができ（あるいはできない）、有効な再送の見込みを最大化するために送信側において非常に迅速に再送されることができる（あるいはできない）。さらに、処理は、実装するのが簡単であり、受信機における費用及び複雑さを最小化し、パケットのストリームにおける、ギャップの数の減少させることができる。
【００３４】
ある実施形態は、ここに説明された機能を行う特定の回路に関連して説明されたが、他の実施形態は、１または１以上のプログラムされたプロセッサ上で実行される同等なソフトウェアまたはファームウェアの実施形態を用いて実行される回路機能において考慮される。汎用計算機、コンピュータベースのマイクロプロセッサ、マイクロコントローラ、光コンピュータ、アナログ計算機、専用プロセッサ、特定用途向け集積回路、及び／または、専用のハードワイヤード論理回路、及びアナログ回路が、代替の同等な実施形態を構成するの使用できる。専用ハードウェア、及び／または、専用プロセッサなどのハードウェアコンポーネント同等物を使用することで他の実施形態を実装することができる。
【００３５】
ソフトウェア、及び／または、ファームウェアの実施形態は、あるインスタンスにおいて、いかなる好適な電子記憶媒体またはコンピュータ読み込み可能な記憶媒体（例えば、ディスクストレージ、ＲＯＭ（Read Only Memory）装置、ＲＡＭ（Random Access Memory）装置、ネットワークメモリ素子、光記憶装置、磁気記憶装置、磁気光学記憶装置、フラッシュメモリ、コアメモリ、及び／または、他の同等な揮発性及び非揮発性記憶装置技術）の上にも格納でき、及び／またはいかなる適当な電子通信媒体の上でも伝送することができるフローチャート形式で、上で広く説明されたプログラミング命令を実行するプログラムされたプロセッサを用いて実装されることができる。しかしながら、当業者は、本発明の教示を考慮する上で、上で説明された処理は、本発明の実施形態から逸脱することなく、いろいろな変化形と多くの適当なプログラミング言語で実装することができると理解されたい。本発明の実施形態から逸脱することなく、例えば、実行されるある動作の順番は、しばしば変更されることができ、付加的な動作を追加したり、動作を削除したりすることができる。本発明の実施形態から逸脱することなく、誤りの捕捉の追加、及び／または、機能拡張が可能であり、ユーザーインタフェースと情報の提示において変化させることができる。そのような変化は、同等であると考えられる。
【００３６】
本発明のある実施形態についての上の説明は、１つの送信機と１つの受信機の間の動作に焦点を合わせている。しかしながら、本発明に合致する他の実施形態は、ネットワーク回線容量を増強しないでサービス受信側の数を増加させるマルチキャスト技術を用いることによって、単一の送信機が複数の受信機に送信するときにも適用できる。シェイクハンドのメカニズムが全くないため、再送要求プロセッサは、１以上の受信機からの要求を無差別に扱うことができる。
【００３７】
ある例示的な実施形態について説明されたが、多くの選択肢、変更、置換、および変形が以上の記述の観点から当業者に明らかになることは、明白である。
【図面の簡単な説明】
【００３８】
【図１】本発明のある実施形態に合致する模範的通信システムのブロック図である。
【図２】本発明のある実施形態に合致する受信機の処理のフローチャートである。
【図３】本発明のある実施形態に合致する送信機の処理のフローチャートである。
【図４】本発明のある実施形態に合致するバッファの説明図である。
【図５】本発明のある実施形態に合致する受信バッファのための好適なリンクされたリスト方法の動作について説明するフローチャートである。
【図１】
2008530903.tif 000003
【図２】
2008530903.tif 000004
【図３】
2008530903.tif 000005
【図４】
2008530903.tif 000006
【図５】
2008530903.tif 000007
【国際調査報告】
2008530903.tif 000008
2008530903.tif 000009
2008530903.tif 000010