JP2008530903A - ハンドシェークなしの再伝送プロトコル - Google Patents

ハンドシェークなしの再伝送プロトコル Download PDF

Info

Publication number
JP2008530903A
JP2008530903A JP2007555123A JP2007555123A JP2008530903A JP 2008530903 A JP2008530903 A JP 2008530903A JP 2007555123 A JP2007555123 A JP 2007555123A JP 2007555123 A JP2007555123 A JP 2007555123A JP 2008530903 A JP2008530903 A JP 2008530903A
Authority
JP
Japan
Prior art keywords
packet
sequence
packets
buffer
sequence number
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2007555123A
Other languages
English (en)
Inventor
孝彰 太田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Publication of JP2008530903A publication Critical patent/JP2008530903A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1809Selective-repeat protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1829Arrangements specially adapted for the receiver end
    • H04L1/1835Buffer management
    • H04L1/1838Buffer management for semi-reliable protocols, e.g. for less sensitive applications such as streaming video
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • H04L1/1874Buffer management
    • H04L1/1877Buffer management for semi-reliable protocols, e.g. for less sensitive applications like streaming video

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Communication Control (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

ハンドシェイクなしの通信において用いられる再伝送方法は、パケットソースからパケット受信装置に対しパケットの系列を送信し、パケットの系列中の各パケットは、関連づけられる連続番号を有し、送信は、送信バッファから次のパケットを検索して送信することを含み、パケット受信装置において、受信されたパケットの連続番号にギャップが存在するかどうかを決定することによってパケットが受信されたか否かを決定し、受信装置から送信装置に再送要求を送信し、再送要求は、連続番号のギャップを埋める連続番号を持つ指定されたパケットの系列の再送を要求し、パケットソースにおいて、指定されたパケットの系列に対する再送要求を受信し、パケットソースにおいて、指定されたパケットの系列が送信バッファ中に利用可能であるかどうかを決定し、利用可能である場合、受信装置に指定されたパケットを再送し、利用可能でない場合、再送要求を無視する。

Description

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

Claims (18)

  1. ハンドシェイクなしの通信において用いられる再伝送方法であって、
    パケットソースからパケット受信装置にパケットの系列を送信し、パケットの系列中の各パケットは、関連する連続番号を有し、前記送信は、送信バッファから次のパケットを抽出して前記次のパケットを送信し、
    パケット受信装置において、受信されたパケットの連続番号においてギャップが存在するかどうかを決定することによってパケットまたはパケットの系列が受信されていないことを決定し、
    受信装置から送信装置に再送要求を送信し、前記再送要求は、連続番号のギャップを埋める連続番号を持つ、指定されたパケットの系列の再送を要求し、
    パケットソースにおいて、指定されたパケットの系列に対する再送要求を受信し、
    パケットソースにおいて、指定されたパケットの系列が送信バッファ中に利用可能なまま残っているかどうかを決定し、
    指定されたパケットの系列が、送信バッファで利用可能である場合、受信装置に指定されたパケットを再送し、
    指定されたパケットの系列が、送信バッファで利用可能でない場合、再送要求を無視することを特徴とする方法。
  2. 受信装置は受信バッファを有し、受信されたパケットは、受信バッファに置かれ、受信バッファ内の各パケットの位置は、第1のリンクされたリストを用いて追跡されることを特徴とする、請求項1に記載の方法。
  3. 第1のリンクされたリストは、パケット系列中の隣接するパケット、または、連続番号にギャップが存在するときに、パケット系列中の最も近くの隣接するパケットを指すポインタを用いることを特徴とする、請求項2に記載の方法。
  4. 受信された連続番号におけるギャップの存在が、第2のリンクされたリストを用いて追跡され、第2のリンクされたリストは、バッファにおいて付番された、対応する次の及び前のパケット系列を有する各パケットのためのヌルエントリーを含み、第2のリンクされたリストは、受信されたパケットのギャップのために欠落した各連続番号のための連続番号を有することを特徴とする、請求項2に記載の方法。
  5. 受信された連続番号におけるギャップの存在が、第2のリンクされたリストを用いて追跡され、第2のリンクされたリストは、バッファにおいて付番された、対応する次の及び前のパケット系列を有する各パケットのためのヌルエントリーを含み、第2のリンクされたリストは、受信されたパケットのために欠落した各連続番号のための連続番号を有することを特徴とする、請求項3に記載の方法。
  6. 受信された連続番号におけるギャップの存在は、第2のリンクされたリストを用いて追跡されることを特徴とする、請求項2に記載の方法。
  7. 第2のリンクされたリストは、二重のリンクされたリストを含むことを特徴とする、請求項2に記載の方法。
  8. 受信バッファは、円形のバッファを含むことを特徴とする、請求項2に記載の方法。
  9. 送信バッファは、円形のバッファを含むことを特徴とする、請求項3に記載の方法。
  10. パケットは、UDP形式のパケットを含むことを特徴とする、請求項1に記載の方法。
  11. パケットの系列のギャップの存在は、ギャップリンクリストを用いて受信装置で追跡されることを特徴とする、請求項1に記載の方法。
  12. ハンドシェイクなしの通信において用いられる再伝送方法であって、
    パケットソースからパケット受信装置に対しパケットの系列を送信し、パケットの系列中の各パケットは、関連づけられる連続番号を有し、前記送信は、円形の送信バッファから次のパケットを検索し、前記次のパケットを送信することを含み、
    前記パケット受信装置において、受信されたパケットの連続番号にギャップが存在するかどうかを決定することによってパケットが受信されたか否かを決定し、
    受信装置から送信装置に再送要求を送信し、前記再送要求は、連続番号のギャップを埋める連続番号を持つ指定されたパケットの系列の再送を要求し、
    パケットソースにおいて、指定されたパケットの系列に対する再送要求を受信し、
    パケットソースにおいて、指定されたパケットの系列が送信バッファ中に利用可能なまま残っているかどうかを決定し、
    指定されたパケットの系列が、送信バッファで利用可能である場合、受信装置に指定されたパケットを再送し、
    指定されたパケットの系列が、送信バッファで利用可能でない場合、再送要求を無視し、
    受信デバイスは、円形の受信バッファを有し、受信されたパケットは、受信バッファに置かれ、受信バッファ中の各パケットの位置は、第1のリンクされたリストを用いて追跡され、第1のリンクされたリストは、パケット系列中の隣接するパケット、または、連続番号にギャップが存在するときに、パケット系列中の最も近くの隣接するパケットを指すポインタを使用し、
    受信された連続番号におけるギャップの存在が、第2のリンクされたリストを用いて追跡され、第2のリンクされたリストは、バッファにおいて付番された、対応する次の及び前のパケット系列を有する各パケットのためのヌルエントリーを含み、第2のリンクされたリストは、受信されたパケットのギャップのために欠落した各連続番号のための連続番号を有することを特徴とする方法。
  13. パケットは、UDP形式パケットであることを特徴とする、請求項12に記載の装置。
  14. ハンドシェイクなしの通信のための送信装置であって、
    パケットソースからパケット受信装置に対しパケットの系列を送信し、パケットの系列中の各パケットは、関連付けされた連続番号を有し、前記送信は、送信バッファから次のパケットを検索し、前記次のパケットを送信することを含む送信機と、
    指定されたパケットの系列に対する再送要求を受信する受信機と、
    前記指定されたパケットの系列が送信バッファ中に利用可能なままで残っているかどうかを決定するための手段と、
    前記指定されたパケットの系列が送信バッファ中で利用可能である場合、前記受信装置に指定されたパケットを再送する手段と、
    前記指定されたパケットの系列が送信バッファ中で利用可能でない場合、再送要求を無視する手段と、
    を備えることを特徴とする装置。
  15. 送信バッファは、円形のバッファを含むことを特徴とする、請求項14に記載の装置。
  16. パケットは、UDP形式のパケットを含むことを特徴とする、請求項14に記載の装置。
  17. パケットは、パケットの受領確認応答がないハンドシェイクなしのプロトコルを用いて伝送されることを特徴とする、請求項14に記載の装置。
  18. 再送要求は、確認応答が行われないことを特徴とする、請求項14に記載の装置。
JP2007555123A 2005-02-08 2006-01-31 ハンドシェークなしの再伝送プロトコル Withdrawn JP2008530903A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/053,247 US20060179392A1 (en) 2005-02-08 2005-02-08 Handshakeless retransmission protocol
PCT/US2006/003046 WO2006086170A2 (en) 2005-02-08 2006-01-31 Handshakeless retransmission protocol

Publications (1)

Publication Number Publication Date
JP2008530903A true JP2008530903A (ja) 2008-08-07

Family

ID=36781345

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007555123A Withdrawn JP2008530903A (ja) 2005-02-08 2006-01-31 ハンドシェークなしの再伝送プロトコル

Country Status (6)

Country Link
US (1) US20060179392A1 (ja)
EP (1) EP1847056A2 (ja)
JP (1) JP2008530903A (ja)
KR (1) KR20070115944A (ja)
CA (1) CA2596887A1 (ja)
WO (1) WO2006086170A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011248433A (ja) * 2010-05-24 2011-12-08 Nec Corp ログデータ欠落検知用のネットワーク管理システム、管理方法、及び管理プログラム

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1946458A4 (en) * 2005-11-11 2010-03-03 Ericsson Telefon Ab L M DEVICE AND METHOD FOR SENDING AND RECEIVING GROUP NAMES OVER A SATELLITE CONNECTION
EP1806870B1 (en) * 2006-01-06 2010-09-22 Alcatel Lucent Method for providing data and data transmission system
US7830901B2 (en) * 2007-03-15 2010-11-09 International Business Machines Corporation Reliable network packet dispatcher with interleaving multi-port circular retry queue
US7693070B2 (en) * 2007-03-15 2010-04-06 International Business Machines Corporation Congestion reducing reliable transport packet retry engine
US7903550B2 (en) * 2007-07-27 2011-03-08 Silicon Image, Inc. Bandwidth reservation for data flows in interconnection networks
WO2009040735A2 (en) * 2007-09-25 2009-04-02 Nokia Corporation Downlink control channel-to-resource element mapping
JP4940117B2 (ja) * 2007-12-06 2012-05-30 株式会社東芝 移動通信システムとそのゲートウェイ装置、集線装置およびハンドオーバ制御方法
US8671332B2 (en) * 2009-04-30 2014-03-11 The Johns Hopkins University Systems and methods for a rateless round robin protocol for adaptive error control
US8943379B2 (en) * 2009-12-26 2015-01-27 Intel Corporation Retry based protocol with source/receiver FIFO recovery and anti-starvation mechanism to support dynamic pipeline lengthening for ECC error correction
EP3031159B1 (en) 2013-08-08 2017-06-21 Telefonaktiebolaget LM Ericsson (publ) Retransmission control network node and related method
US9479618B2 (en) * 2014-03-25 2016-10-25 Google Inc. Mechanism for handling user input loss that occurs during transmission from a client device to a remote server using ring buffer messages in conjunction with UDP

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0088789B1 (en) * 1981-09-18 1987-08-05 CHRISTIAN ROVSING A/S af 1984 Multiprocessor computer system
US5255268A (en) * 1992-02-04 1993-10-19 International Business Data distribution network with improved broadcast feature
US5432907A (en) * 1992-05-12 1995-07-11 Network Resources Corporation Network hub with integrated bridge
CA2134061A1 (en) * 1993-10-28 1995-04-29 Aaron William Ogus Frame buffering of network packets
US5550847A (en) * 1994-10-11 1996-08-27 Motorola, Inc. Device and method of signal loss recovery for realtime and/or interactive communications
US5606559A (en) * 1995-08-11 1997-02-25 International Business Machines Corporation System and method for an efficient ATM adapter/device driver interface
JP3068002B2 (ja) * 1995-09-18 2000-07-24 沖電気工業株式会社 画像符号化装置、画像復号化装置及び画像伝送システム
US6047323A (en) * 1995-10-19 2000-04-04 Hewlett-Packard Company Creation and migration of distributed streams in clusters of networked computers
US5968197A (en) * 1996-04-01 1999-10-19 Ericsson Inc. Method and apparatus for data recovery
EP0820167A3 (en) * 1996-07-18 1998-07-22 Matsushita Electric Industrial Co., Ltd. Control method for selective repeat retransmission protocols
US6273622B1 (en) * 1997-04-15 2001-08-14 Flash Networks, Ltd. Data communication protocol for maximizing the performance of IP communication links
US6067608A (en) * 1997-04-15 2000-05-23 Bull Hn Information Systems Inc. High performance mechanism for managing allocation of virtual memory buffers to virtual processes on a least recently used basis
EP0966824B1 (de) * 1998-01-09 2001-04-11 Hilf GmbH Verfahren zum datentransport sowie rechnernetzwerk zur durchführung des verfahrens
US6076181A (en) * 1998-03-03 2000-06-13 Nokia Mobile Phones Limited Method and apparatus for controlling a retransmission/abort timer in a telecommunications system
US6275471B1 (en) * 1998-05-12 2001-08-14 Panasonic Technologies, Inc. Method for reliable real-time multimedia streaming
DE69938094T2 (de) * 1998-11-30 2009-02-05 Matsushita Electric Industries Co. Ltd., Kadoma Paketwiederübertragungskontrolle mit Prioritätsinformationen
US6717947B1 (en) * 1998-12-03 2004-04-06 Lsi Logic Corporation Method and apparatus for isochronous data transfer with retry capability
FR2825865A1 (fr) * 2001-06-06 2002-12-13 Koninkl Philips Electronics Nv Retransmission selective de paquets avec controle temporel a l'emission
US7076717B2 (en) * 2003-06-13 2006-07-11 Microsoft Corporation Time-aware best-effort hole-filling retry method and system for network communications

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011248433A (ja) * 2010-05-24 2011-12-08 Nec Corp ログデータ欠落検知用のネットワーク管理システム、管理方法、及び管理プログラム

Also Published As

Publication number Publication date
EP1847056A2 (en) 2007-10-24
US20060179392A1 (en) 2006-08-10
CA2596887A1 (en) 2006-08-17
WO2006086170A2 (en) 2006-08-17
WO2006086170A3 (en) 2008-01-10
KR20070115944A (ko) 2007-12-06

Similar Documents

Publication Publication Date Title
JP2008530903A (ja) ハンドシェークなしの再伝送プロトコル
EP3108639B1 (en) Transport accelerator implementing extended transmission control functionality
JP4623616B2 (ja) データ伝送方法および装置
WO2017101503A1 (zh) 一种数据传送方法、发送节点、接收节点及数据传送系统
US7886071B2 (en) Communication processing device, communication control method, and computer program
US8259728B2 (en) Method and system for a fast drop recovery for a TCP connection
JP2002524915A (ja) 低待ち時間通信用のシステムおよび方法
JP2014524092A (ja) 単一ソケットポイントツーマルチポイント性能による高信頼性仮想双方向データストリーム通信のためのシステムおよび方法
CN1671094A (zh) 对假超时的响应
JP2003169040A (ja) データ通信システム、データ送信装置、データ受信装置、および方法、並びにコンピュータ・プログラム
WO2009026854A1 (fr) Procédé de commande d'envoi de données et dispositif de transmission de données
KR20150030713A (ko) 낙관적인 윈도우 조정들을 이용한 원치않은 tcp 재송신들의 회피
EP1708404A1 (en) Method and apparatus for error recovery performed at the access node of a core network
WO2010022665A1 (zh) 一种实现物理层重传的方法、装置及系统
US20030137948A1 (en) Retransmission control in wireless packet data networks
US8769137B2 (en) Systems and methods for negotiated accelerated block option for trivial file transfer protocol (TFTP)
CN114039702A (zh) 数据传输方法、装置、设备和介质
JP2008141633A (ja) データ通信システム、データ受信装置、データ受信方法、データ送信装置およびデータ送信方法
JP2004187010A (ja) データ処理装置、通信装置、データ処理方法、データ処理プログラム、データ処理プログラムを記録したコンピュータ読取可能な記録媒体
US11811877B2 (en) Universal transport framework for heterogeneous data streams
Arefin et al. Modified SACK-TCP and some application level techniques to support real-time application
JP2005167352A (ja) 送信装置およびプログラム
JP2006510255A (ja) ストリーミング・アプリケーションにおけるパケット損失を循環バッファを用いて検出するシステムおよび方法
CN115766519A (zh) 便携通信设备的数据传输方法及系统
Bortoleto et al. Large-scale media delivery using a semi-reliable multicast protocol

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20080620

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20080620

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080709

A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20090407

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20090811