(57)【特許請求の範囲】
【請求項１】
定義された連続する順序を有する１つのグループのデータ・パケットを受信するステップと、
前記グループのパケットが欠損しているか否かを判定し、特定された再試行時間を欠損しているパケットに関連付けるステップと、
前記特定された再試行時間においてまだ欠損していると判定されたパケットのみの再送信を要求するステップと、
１つまたは複数の欠損しているパケットの再送信の受信を待ち受けるステップと、
待ち受けている間に、前記グループのパケットが欠損していて、残存している欠損しているパケットが無意味であるとみなされていない間に、前記判定するステップおよび前記要求するステップを繰り返すステップとをコンピュータに実行させるプログラムを記録したコンピュータ読取り可能な記憶媒体であって、
それぞれのパケットは満了タイム・スタンプを有し、現在の時刻が前記欠損しているパケットに隣接した１つまたは複数の受信されたパケットの前記満了タイム・スタンプを過ぎている場合に、前記欠損しているパケットは無意味であるとみなされ、
または
前記グループ中のパケットは定義された満了時刻を有し、１つまたは複数の受信されたパケットの前記定義された満了時刻が過ぎた場合に、欠損しているパケットは無意味であるとみなされ、
特定された再試行時間を欠損しているパケットに関連付ける前記ステップは、
待ち受けている間の、再送信の受信を待ち受けている複数かつ連続した欠損しているパケットの一部の到着に応答して、
前記複数かつ連続した欠損しているパケットの内の当該到着したパケット以外のパケットに関連付けた前記特定された再試行時間をネットワークの片方向の待ち時間よりも短い時間間隔にすることを特徴とするコンピュータ読取り可能な記憶媒体。
【請求項２】
１つまたは複数の受信されたパケットが前記グループの欠損しているパケットに隣接している場合に、前記欠損しているパケットは無意味であるとみなされることを特徴とする請求項１に記載の記憶媒体。
【請求項３】
前記プログラムは、前記特定された再試行時間においてまだパケットが欠損していると判定された場合に、前記特定された再試行時間を動的に調整して特定された再報告時間間隔を追加するステップを、前記コンピュータに実行させることを特徴とする請求項１に記載の記憶媒体。
【請求項４】
前記グループの前記パケットが連続的に番号付けされていることを特徴とする請求項１に記載の記憶媒体。
【請求項５】
前記グループのそれぞれのパケットがサイズにおいて同等であることを特徴とする請求項１に記載の記憶媒体。
【請求項６】
最初の前記要求するステップは、前記判定するステップの後の定義された時間間隔で起こることを特徴とする請求項１に記載の記憶媒体。
【請求項７】
前記要求するステップは、欠損しているパケットを識別する否定的な確認（ＮＡＣＫ）を送信するステップを含むことを特徴とする請求項１乃至６のいずれかに記載の記録媒体。
【請求項８】
前記プログラムは、前記コンピュータに、前記欠損しているパケットの再送信の要求をする前記ステップを当該パケットについて調整された再試行時間に繰り返させることを特徴とする請求項３に記載の記録媒体。
【請求項９】
データの送信および受信のための通信ネットワークに対するインタフェースと、
請求項１に記載の記憶媒体と
を備えたことを特徴とするコンピュータ処理装置。
【請求項１０】
定義された順番を有するグループのデータ・パケットを受信するステップと、
前記グループのパケットのどれが欠損しているかを判定し、特定された再試行時間を欠損しているパケットに関連付けするステップと、
前記特定された再試行時間においてまだ欠損していると判定されたパケットのみの再送信を要求するステップとを含む通信再試行方法であって、
待ち受けている間に、前記グループのパケットが欠損していて、残存している欠損しているパケットが無意味であるとみなされていない間に、前記判定するステップおよび前記要求するステップを繰り返すステップとを含む通信再試行方法であって、
それぞれのパケットは満了タイム・スタンプを有し、現在の時刻が前記欠損しているパケットに隣接した１つまたは複数の受信されたパケットの前記満了タイム・スタンプを過ぎている場合に、前記欠損しているパケットは無意味であるとみなされ、
または
前記グループ中のパケットは定義された満了時刻を有し、１つまたは複数の受信されたパケットの前記定義された満了時刻が過ぎた場合に、欠損しているパケットは無意味であるとみなされ、
特定された再試行時間を欠損しているパケットに関連付ける前記ステップは、
待ち受けている間の、再送信の受信を待ち受けている複数かつ連続した欠損しているパケットの一部の到着に応答して、
前記複数かつ連続した欠損しているパケットの内の当該到着したパケット以外のパケットに関連付けた前記特定された再試行時間をネットワークの片方向の待ち時間よりも短い時間間隔にすることを特徴とする通信再試行方法。
【請求項１１】
１つまたは複数の欠損しているパケットの再送を受信するステップを含むことを特徴とする請求項１０に記載の通信再試行方法。
【請求項１２】
前記特定された再試行時間においてまだパケットが欠損していると判定された場合に、前記特定された再試行時間を動的に調整して特定された再報告時間間隔を追加するステップを含むことを特徴とする請求項１０に記載の通信再試行方法。
【請求項１３】
前記グループ中のパケットは定義された満了時刻を有し、前記方法は、
１つまたは複数の欠損しているパケットの再送信を受信するステップと、
現在の時刻が前記１つまたは複数のパケットの前記定義された満了時刻を過ぎたために残りの欠損しているパケットは無意味であるとみなされるまで、または欠損しているパケットが無くなるまで、前記判定するステップおよび前記前記要求するステップを繰り返すステップとを含む
ことを特徴とする請求項１０に記載の通信再試行方法。
【請求項１４】
前記パケットのグループの前記定義された順番は連続的であることを特徴とする請求項１０に記載の通信再試行方法。
【請求項１５】
前記グループの前記パケットは連続的に番号付けされていることを特徴とする請求項１０に記載の通信再試行方法。
【請求項１６】
再送信を要求する前記ステップは前記判定するステップの後の定義された時間間隔で起こることを特徴とする請求項１０に記載の通信再試行方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は一般的にはネットワーク通信技術に関連する。
【背景技術】
【０００２】
少なくともある程度の信頼性の欠如が想定される電子通信の領域においては、特定の通信が成功裏に受信されたか、あるいはその通信がある形態で失敗したか、あるいはその両方か、を判定するためのメカニズムを、多くの通信システムが有する。
【０００３】
例えばＴＣＰ（Transmission Control Protocol）を例にする。これはＴＣＰ／ＩＰネットワークにおける主要なプロトコルの１つである。ＩＰプロトコルがパケットだけを扱うのに対して、ＴＣＰは２つのホストが接続を確立し、データ・ストリームを交換することを可能とする。
【０００４】
一般に、ＴＣＰはデータの配布を保証し、および、それが送信されたのと同じ順序でデータが配布されることをも保証する。このために、ＴＣＰは失敗した通信を検出し、その通信を再試行するために、受信確認方式の再試行手順を採用する。
【０００５】
ＴＣＰにおいては、ホストは通信ネットワーク上で受信側にデータ・パケットの１つのグループ（すなわち、ウィンドウ）を送信する。このグループは「ウィンドウ」と呼ばれる場合がある。ＴＣＰウィンドウは、１つの特定の接続において、その受信側がその一部を受信したというＡＣＫ信号をその受信側から受け取る前にその送信側が送信することを許される、（すなわち受信側により受信確認されていない）データの量である。
【０００６】
ＡＣＫは受信確認信号（ACKnowledgement Code）の省略形である。それは典型的には伝送されたメッセージが損傷を受けないであるいはエラー無しで受信されたこと、あるいはその受信している端末がさらなる伝送を受け入れる準備ができていることを示す伝送制御インジケータである。受信側は、その伝送が受け入れられたことを示すために送信側にこの信号を送る。
【０００７】
ホストは、パケットのウィンドウを送った後、受信側からウィンドウのすべてあるいは一部のパケットが成功裏に受信されたことを示すＡＣＫを待つ。定められた再試行時間期間内にＡＣＫを受け取り損ねた場合には、そのホストはそのウィンドウのすべてのパケットを再送する。従って、送信側がＡＣＫを受け取らない場合には、その送信側は、その送信側が受信側からＡＣＫを最後に受け取ったとき以降、その受信側はいずれのデータも受信しなかったと想定する。
【０００８】
ホストにより受け取られたＡＣＫが、成功裏に受信されたのはウィンドウの隣接のすぐ前のパケットであることを示す可能性がある。もしそうであるなら、そのホストは、そのウィンドウにおいて、成功裏に受信されたとしてそのＡＣＫにより特定されたパケットの後に続くパケットのすべてを再送する。
【発明の開示】
【発明が解決しようとする課題】
【０００９】
従来の再試行の方法は、通信の不成功が検出された場合には、典型的には大きなデータのグループ‐多分一ウィンドウ全体のパケットさえも‐を再送する。また、これらの従来の方法は典型的にはＡＣＫベースの方式である。さらに、これらの従来の方法は、典型的にはデータ受信の時間依存型特性については考慮しない。このような従来の方法の一例は上に論じたＴＣＰ再試行の方法である。
【００１０】
この分野における当業者は、一般に従来の再試行の方法、特にＴＣＰの再試行方法を熟知している。
【課題を解決するための手段】
【００１１】
本発明は一般的にはネットワーク通信技術に関連する。ここで説明する一実施形態においては、時間指向、ベストエフォート的、穴埋め型通信再試行機能が通信ネットワーク上において実行される。それは受信側が異なって指示しない限り、データが成功裏に受信されたと想定する方法で実行される。この指示は欠損しているデータを特定して識別する。この表示により、送信側はその特定して識別された欠損データのみを再送する。
【００１２】
上記は、本特許の範囲を限定することを意図するものではない。さらに、本特許の名称は本特許の範囲を限定することを意図するものではない。本発明をより良く理解するために、以下の詳細な説明および付属する特許請求の範囲を、添付された図面と関連付けて、精査されたい。本発明の範囲は付属する特許請求の範囲において示されてされる。
【発明を実施するための最良の形態】
【００１３】
同様な要素および機能を参照するためには図面全体において同一の番号が用いられる。次の記述では、本発明の完全な理解のために、特定の番号、材料および構成が示される。しかしながら、本発明がその特定の例示的な細部を用いずとも実施されることが可能であることは、当業者には明白である。他の事例においては、本発明の典型的な実施形態の記述を明確にするために、およびそれにより本発明をよりよく説明するために、周知の特徴は省略されるか、あるいは単純化される。さらに、理解を容易にするために、ある特定の方法の段階が個別の段階として記述される。しかしながら、これらの個別に記述された段階はそれらの実行において必然的にその順番に依存すると解釈されるべきではない。
【００１４】
以下の説明において、付属する特許請求の範囲に記載された要件を含む、ネットワーク通信に対する、時間指向、ベストエフォート的、穴埋め型再試行の方法およびシステムの１つあるいは複数の典型的な実施形態が示される。これらの実施形態は法的な記載要件、実施可能要件、および最良の実施態様要件を満たすために特定性をもって記述される。しかしながら、その記述それ自体は本願発明の範囲を限定することを意図するものではない。
【００１５】
発明者はこれらの典型的な実施形態は例であると意図している。発明者はこれらの典型的な実施形態が特許請求の範囲に記載された発明の範囲を限定することを意図するものではなく、むしろ発明者は、特許請求の範囲に記載された発明が、他の現在または未来の技術と結合して、他の方法において具体化され、かつ実施される得ることを意図している。
【００１６】
ネットワーク通信に対する、時間指向、ベストエフォート的、穴埋め型再試行の方法およびシステムの実施形態の一例は「典型的な穴埋め型再試行の方法」と呼ばれる場合がある。
【００１７】
導入
本明細書に記載され、特許請求の範囲に記載された発明の１つまたは複数の典型的な実施形態は、図４および５のプレゼンテーション装置４０８、図６のコンピュータ６０２によって、および／または図４〜６において示されるようなコンピュータ環境の一部として、実施されることが可能である。
【００１８】
従来の再試行の方法は、典型的には通信の不成功に応じて大きなグループのデータを再送する。典型的には、これらの従来の方法はＡＣＫに基づく方式であり、データ受信の時間依存特性については考慮しない。
【００１９】
このような従来の再試行の方法は例えば、時間依存のストリーミング型マルチメディア・データのアプリケーションの場合のように、ネットワークを経由して位一方向に大量のデータ量を送り出す条件に対しては非能率的である。従来の方法は受信側から送信側へのＡＣＫパケットを頻繁に使用し、および（再送されるデータのすべてが欠けていた場合だけでなく）再送されたデータの一部だけが欠けていた場合に、再試行する間に大きいデータのブロックを再送する傾向があるために、非効率的であった。
【００２０】
従来のＡＣＫに基づく方法においては、そのウィンドウ・サイズを選択する際に、通常トレードオフが関連してくる。エラー無しの状態においては、大きいウィンドウ・サイズにすることにより、待ち時間の大きな接続を通じて、より多くのデータを高い帯域幅で送信することが可能となる。小さいウィンドウ・サイズにすることにより、パケットが失われた場合に、不必要に再送されることを余儀なくされるデータの量を削減する。
【００２１】
典型的には、このトレードオフは長いタイムアウト（例えば、送信側がＡＣＫを待つための）を生み出す。送信側から受信側への待ち時間がビットレートに比較して長い場合には、これらの従来的ＡＣＫに基づく方式では、パケット損失が増加するにつれて、効率は低下する。
【００２２】
典型的な穴埋め型再試行の方法は、従来の再試行の方法の不利益を克服する。典型的な穴埋め型再試行の方法は、特にネットワークを経由して一方向に大量のデータを送り出す、ストリーミング型のマルチメディア・データについての場合のような条件に対して、通信の効率を増大させる。
【００２３】
その典型的な穴埋め型再試行の方法は、通信ネットワークによる、時間指向、ベストエフォート的、穴埋め型通信の再試行を実行する。ＮＡＣＫ方式の方法を用いることにより、送信側は、受信側が受信していないと識別したデータだけを受信側に再送する。
【００２４】
受信側がデータを受信することを保証されているわけではないため、この方法はベストエフォート的であると言える。しかし、この典型的な穴埋め型再試行の方法では受信側がすべてのデータ・パケットを得るか、あるいはすべてのデータ・パケットを得たわけではないことに気づくかのどちらかであることを保証する。
【００２５】
また、その典型的な穴埋め型再試行の方法は、そのデータがあまりにも古いため、それが無意味になった場合に、その欠損しているデータを獲得する試みを放棄する能力を有する。従来の方法と異なり、その典型的な穴埋め型再試行の方法は、そのデータレートと比較して大きな待ち時間、および無視できないパケット損失の存在する状況においてさえ、通信ネットワーク（例えば、インターネット）を経由する、効率的な、非バースト性の、高スループットの接続を維持することが可能である。
【００２６】
典型的な穴埋め型再試行の方法
図１に、ホスト１１０（すなわち、ここでは送信側）、（インターネットのような）通信ネットワーク基盤１３０、およびクライアント装置１４０（すなわち、ここでは受信側）を含む典型的な通信ネットワークを示す。
【００２７】
典型的な穴埋め型再試行の方法はパケットの連続番号に基づき再試行する。連続番号は送信されるパケットの各々に対して１ずつ増加する数である。これらの数を用いて、受信側は１つまたは複数の欠損したパケット（すなわち、穴：hole）を検出することが可能である。典型的な穴埋め型再試行の方法はＴＣＰよりむしろＵＤＰ(User Datagram Protocol)を利用する。ユニキャストあるいはマルチキャストのいずれの場合もある。
【００２８】
グループ１２０は、送信側１１０がネットワーク１３０を経由して送信するパケットのグループの一例を表す。グループ１２０は特定のグループを識別するのに役立つオフセット１２２を有する場合がある。それぞれのパケットは、個々に、そして連続的に番号が付けられる。この例においては、パケットは１〜１３に番号付けされている。
【００２９】
送信側１１０は、受信側１４０に、パケットのウィンドウを、一度に１パケットずつ送信する。グループ１５０は受信側１４０がその送信側との通信の間の時間部分において受信したものの一例を表す。
【００３０】
受信側１４０はその番号付けされたパケットを受信すると、それらをその連続番号の順番にバッファリングする。それらは順番通りに到着しない場合がある、あるいはどれも到着しない場合があるが、到着しさえすれば受信側がそれらを受信グループ１５０におけるそれらの適切な場所に置く。適切な場所を確立する１つの方法はすべてのパケットを一定の大きさに規定することである。これは穴を検出し、その境界を容易に判定することが可能な１つの方法である。穴の境界を定義するために他の方法が用いられる場合がある。
【００３１】
順番通りではない連続番号を有するパケットを受信側１４０が受信した場合には、途中の番号が付けられたパケットを受信側が受け損なったことを意味する。これらの欠損したパケットあるいはパケットのグループが「穴」と呼ばれる。穴の境界は穴の前後の受信されたパケットの存在により特定される。
【００３２】
例示された受信グループ１５０は３つの穴を有する。穴１５２が欠損パケット♯５，６および７を表す。穴１５４が欠損パケット♯１０を表す。穴１５６が欠損パケット♯１２を表す。
【００３３】
受信側は、新しい穴を検出した場合に、アクティブな穴の表にその穴を加える。その表におけるそれぞれのエントリーは定められた再試行時間（設定可能なパラメータである）を有する。
【００３４】
ＵＤＰは順番を保証しないので、パケットが順番通りに到着しない場合がある。欠損しているパケットは受信側に向かって転送中である場合がある。この様子が転送中パケット１２４（すなわち、欠損パケット♯１２）により示されている。
【００３５】
したがって、穴について報告する前に、短い時間待つことが望ましい。その短い期間をホールドオフ（ＨＯ）期間と呼ぶ場合がある。このようにＨＯ期間により、欠損パケットが受信側に転送される途中である可能性がある時点で、受信側がその欠損パケットのために再送を要求してしまう問題を回避する。したがって、再試行時間は定義された「ホールドオフ」期間に初期的に設定される。
【００３６】
再試行時間が過ぎても穴がまだ存在している場合には、受信側１４０は、１つまたは複数の穴があることを送信側１１０に通知するＵＤＰパケット「穴報告」（Hole Report）を送信側へ送信する。この報告は実効的にはその欠損パケットに対する否定的な確認（ＮＡＣＫ）である。
【００３７】
穴報告が送信側に到達する、しないにかかわらず、典型的には再試行タイマーは再報告（ＲＲ）値（再報告が為されるまでの時間）に対応して再設定される。ＲＲの値はカスタマイズ可能なパラメータである場合があるが、それは典型的にはそのネットワークの往復待ち時間の観測値よりいくぶん大きい値である。ＲＲ期間は送信側がその報告を受け取り、応答し、そして受信側がその応答を受け取るための時間を与えるよう意図される。
【００３８】
再報告値がおおよそそのネットワークの往復待ち時間であり、一方、ホールドオフ時間は典型的にはそのネットワークの片方向の待ち時間の一部分であるため、再報告値は典型的にはホールドオフ値より大きい。
【００３９】
穴報告を受信すると、送信側１１０は穴報告に含まれる連続番号範囲によって示されるＵＤＰパケットを再送する。受信側１４０がしばらくの間応答を受け取らない場合‐たとえば、再試行要求あるいは再試行要求に対する応答が失われた場合‐には、受信側は、再試行タイマーが経過すると再度欠損パケットに対する再試行要求を送信する。
【００４０】
１つの穴を部分的に埋めるパケットが到着するといつでも、その穴の残留する部分（あるいは結果として２分されたその穴の残留部分）に対する再試行タイマーがホールドオフ値に設定される。
【００４１】
ＩＰによるストリーミング型のマルチメディア・アプリケーションについて本明細書に記載された実施形態は、次の特徴を有する：
・すべてのパケットが同一サイズである。  
・配信保証チャンネルは、データがその上で継続的に送信されようにする。  
・それはＵＤＰ上で実施される。
【００４２】
これらは１つの特定の実施形態の特徴である。しかしながら、他の実施形態は他の特徴を有する場合がある。例えば、他の実施形態がＵＤＰ以外の他のデータグラム配信プロトコル上で実施される場合がある。
【００４３】
アクティブな穴の表
受信側１４０が新しい穴を検出すると、アクティブな穴の表にその穴を加える。その表におけるそれぞれのエントリーは動的に計算された再試行時間（ＲＴ）を有する。この表は受信側の記憶装置に格納される。
【００４４】
パケットが順番通りに到着しない場合があるので、その穴を報告する前に、短い時間待つことは望ましい。したがって、欠損パケットが受信側にまだ転送される途中である時点で受信側がその欠損パケットを求めて再送を要求してしまう問題を回避するために、再試行時間は定義されたホールドオフ（ＨＯ）時間に初期的に設定される。
【００４５】
再報告（ＲＲ）時間および最初の「ホールドオフ」（ＨＯ）時間は、そのネットワークについて観測される挙動のような、多くの要因に基づく動的な調整が可能である。
【００４６】
ホールドオフ期間は典型的には、パケットが順番通りではない場合にパケット間で観測された遅延の大きな割合を吸収する値に設定される。換言すれば、Ａ、Ｂが必ずしも隣接していないがこの順番において送られたパケットであって、それらがＢ、Ａの順番で（間にパケットが挟まる可能性を有して）到着したことが観測された場合に、遅延Ａ−Ｂがホールドオフ期間により典型的に吸収される値である。しかしながら、この遅延Ａ−Ｂは、ＡがＮＡＣＫを返信されていないときに観測されたものでなければならない。なぜならばＢの後のＡは再試行の結果である可能性があるからである。
【００４７】
あるいは、ＨＯ期間は、そのネットワークを通しての一方向の待ち時間の最大値からネットワークを通しての一方向の待ち時間の最小値を差し引いて、微小な調整値（例えば、デルタ）を付加した値に設定される場合がある。
【００４８】
穴報告が送信側に届く場合、あるいは届かない場合があるため、受信側は、送信側が応答するために短期間（たとえば、ＲＲ値）待ってから、その報告を再送する。
【００４９】
以下に、受信側１４０が生成することができる「アクティブな穴の表」の一例を示す。それは、（図１の受信グループ１５０に基づく）アクティブな穴に対するエントリー、それらの現在の再試行時間、およびそれらの満了時刻を一覧表にしたものである。
【００５０】
【表１】
0004694152.tif 000002
【００５１】
上記の表における時間値はミリセカンド単位であり、かつ説明のための例としてのみに提供されたものである。典型的なホールドオフ（ＨＯ）時間は１０ミリセカンド程度の場合であり、かつ典型的な再報告（ＲＲ）時間は１００ミリセカンド程度の場合である。
【００５２】
また、この表で一覧化された時間は現在の時刻に対して相対的に表現されているが、これは説明目的のみのためにそのようにしている。実際には、一実施形態では（相対値ではなく）絶対的時刻値を特定することができる。
【００５３】
この典型的な穴埋め型再試行方法を用いる場合に、アクティブな穴の表へのエントリーのためにＲＴが動的に計算され、あるいは再計算される条件の一部を以下に示す。  
・穴の表へのエントリーが生成されるとき、最初のＲＴは現時刻＋ＨＯ値に設定される。
・特定の穴について報告が送られる場合、そのＲＴは現時刻＋ＲＲ値に再設定される。
・パケットが部分的に穴を埋めるか、あるいは２分する場合には、結果として生じた穴に対するＲＴは現時刻＋ＨＯ値に設定される。
【００５４】
この典型的な穴埋め型再試行方法により、表におけるエントリーはＲＴ値に基づき順序付けされた状態に保たれる。このようにして、直ぐに再試行されるべきエントリーが常に最初になる。
【００５５】
２分された穴
穴の一部のみを埋めるパケットを受信側１４０が受信する場合に、その穴は２分されるか、あるいは縮小される。たとえば、図１の受信グループ１５０の欠損したパケット＃５が受信側１４０に到着すると、その穴１５２は縮小する。穴１５２に対する新しい範囲はパケット６〜７である。たとえば、受信グループ１５０の欠損パケット＃６が到着すると、穴１５２は実質的に、パケット＃５およびパケット＃７の、２つの穴に分割される。
【００５６】
新たに到着したパケットが穴の中間を埋める場合には、実質的にその穴を２つの穴に分割する。２つの新しい穴は現時刻＋ＨＯ値の再試行時間（ＲＴ）を得る。なぜならば、順序正しく送信されたＵＤＰパケットの通常の再要求のために穴報告が生成され、その穴を埋めるパケットが順番に送られてしまうことを回避するために、ほとんどの場合に、ＨＯがちょうど足りるからである。
【００５７】
満了時刻
すべてのパケットは、満了タイム・スタンプ（ＥＴＳ）を有する。パケットにおけるデータは時間依存であるので、そのデータが無意味になる時がある。それはその受信側が実際にそのパケットを受け取るかどうかはもはや問題ではなくなる時があることを意味する。その時が満了時刻である。
【００５８】
アクティブな穴の表内の各エントリーに関連付けられた満了時刻は、関連する穴の端部境界を定義するパケットのＥＴＳである。たとえば、図１の受信グループ１５０のパケット＃１１に対するＥＴＳは（欠損パケット＃１０に対応する）穴１５４に対してアクティブな穴の表に入力された値である。
【００５９】
アクティブな穴の表のエントリーにおいてＲＴ＞ＥＴＳである場合は、その欠損パケットは無意味であると考えられる。このような場合には、受信側１４０はもはやその穴を埋めるためにそれらの欠損パケットを獲得しようと試みることはない。そのエントリーは表から取り除かれ、そしてそのストリーム内に不連続が注記される。
【００６０】
伝送における一時停止
ある条件の下では、伝送中の短い中断の直前に瞬間的に発生する穴を認識することに受信側が失敗する可能性がある。（まだ送信されていない）次のパケットがまだ受信側に到着していないため、受信側は穴の存在を認識しない。パケットが到着し損ねたが、しかし受信側はまだこれを識別できない。このように、受信側がその穴の存在を認識するのは、完全な伝送が再開してからである。
【００６１】
しかしながら、特に伝送中に中断があったときに、臨時の状況パケットを送信することにより、この状態が軽減される場合がある。状況パケットは直前のパケットが何であったか、および／または次のパケットが何であるかについて受信側に通知する。穴がある場合には、受信側はそれを認識し、それに応じて動作することができる。
【００６２】
受信側における典型的な穴埋め型再試行方法の動作
図２に、典型的な穴埋め型再試行方法の方法論的な実施形態が示される。この方法論的な実施形態は、ソフトウェア、ハードウェア、あるいはそれらの組み合わせにおいて実行されることができる。
【００６３】
図２の２１０において、図１の受信側１４０はパケットのグループの番号付けされた一連のパケットを受信する。
【００６４】
２１２において、データ・パケットの集合（図１のグループ１５０のような）を受信して受信バッファに入れる。それぞれのパケットをパケットに付された番号の順番に並べる。それぞれのパケットがバッファ内のどこに並べられているか決定するために（定められた一定のパケットサイズのような）オフセットを用いられる。こうすることにより、欠損している番号付けされたパケットに対しては穴が残される。たとえば、図１における穴１５２は、欠損パケット＃５、６および７に対するものであることが分かる。
【００６５】
２１４において、受信側はアクティブな穴の表へ新しいエントリーを記入する。それぞれの新しい穴を新しいエントリーとして表へ入力する。それぞれの新しいエントリーについて、新しいエントリーのための最初の再試行時間（ＲＴ）が、現時刻＋ホールドオフ（ＨＯ）時間となるように計算され、入力される。受信側はまた、それぞれの新しいエントリーに対して、そのエントリーの穴に続くおよび穴を区切る受信されたパケットに対する、満了タイム・スタンプ（ＥＴＳ）を入力する。
【００６６】
２１６において、現在の時刻が表中のエントリーのＲＴと一致するときに、受信側１４０は１つまたは複数の穴の存在を送信側に通知する「穴報告」パケットを生成し、送信側１１０に送信する。
【００６７】
２１８において、穴報告を送信した後、受信側は報告されたエントリーに対するＲＴを更新する。ＲＴは現時刻+再報告（ＲＲ）期間に再設定される。
【００６８】
２２０において、所与のエントリーに対してＲＴ＞ＥＴＳである場合には、そのエントリーは表から削除され、ストリーム内に不連続性を注記する。これは穴が期限切れになったことを意味し、その表から削除されたことは受信側がもはやそれを獲得しようと試みることはないことを意味する。
【００６９】
２２２において、欠損パケットが受信されたときに、（部分的にあるいは完全に）その穴が埋められる。もしその欠損パケットによりその穴が完全に埋められると、その表内の対応するエントリーは削除される。その欠損パケットによりその穴が部分的に埋められただけの場合には、その穴のサイズが再調整される。もしその欠損パケットが穴を２つの穴に分割した場合には、片方の穴のサイズは再調整され、そして新たに創生された方の穴に対して新しいエントリーが生成され、その縮小された当初の穴およびその新たに創生された穴の両方に対して現時刻＋ＨＯ値のＲＴが設定される。
受信グループのパケットが受信される限り、この処理は継続する。
【００７０】
送信側における典型的な穴埋め型再試行方法の動作
図３に、典型的な穴埋め型再試行方法の方法論的な実施形態を示す。この方法論的な実施形態はソフトウェア、ハードウェア、またはそれらの組み合わせにおいて実行されることができる。
【００７１】
図３の３１０において、図１の送信側１１０が受信側１４０に配列パケットを連続的に送信し、かつ送信側はそれらのパケットを履歴バッファに格納する。パケットを再送するように要求されたときに再送できるように、送信側はこの履歴バッファを保持する。さらに、送信側はそれぞれのパケットにＥＴＳを割り当てる。
【００７２】
３１２において、送信側は、受信されなかったパケットを識別する「穴報告」を受信側から受け取る。
【００７３】
３１４において、その報告に応答して、送信側はその履歴バッファから識別されたパケットを検索し、それらを再度受信側に送信する。もはや履歴バッファに存在しないパケットを再送する要求を受けた場合には、送信側はその要求を無視する。
【００７４】
典型的な環境
図４に、本明細書に記載された技法、システムおよび他の形態を（部分的に、あるいは完全に）実施することができる典型的な環境４００を示す。典型的な環境４００はマルチメディアの配信を容易にするテレビ娯楽システムである。典型的なディジタル・ビデオ放送（ＤＶＢ）ネットワークはそのような環境の一例である。
【００７５】
環境４００は、１つまたは複数のマルチメディア・コンテンツ・プロバイダ４０２、コンテンツ配信システム４０６、および放送ネットワーク４１０を介してコンテンツ配信システム４０６に結合された１つまたは複数のプレゼンテーション装置４０８（１）、４０８（２）、．．．、４０８（Ｎ）を含む。
【００７６】
マルチメディア・コンテンツ・プロバイダ４０２は、コンテンツ・サーバー４１２および映画、テレビ番組、コマーシャル、音楽、および類似のオーディオおよび／またはビデオ・コンテンツのような、格納されたコンテンツ４１４を含む。コンテンツ・サーバー４１２は、コンテンツ・プロバイダ４０２からコンテンツ配布システム４０６への格納されたコンテンツ４１４の配布を制御する。加えて、コンテンツ・サーバー４１２は、（たとえば、生放送のように、事前に格納されたものではないコンテンツのような）ライブ・コンテンツ、および／または別の場所に格納されているコンテンツのコンテンツ配布システム４０６への配信を制御する。
【００７７】
コンテンツ配布システム４０６は、イントラネットまたはインターネットのような、ネットワーク４２０に結合されることができる。コンテンツ配布システム４０６は、放送送信機４２８、および１つまたは複数のコンテンツ・プロセッサ４３０を含む。放送送信機４２８は、放送ネットワーク４１０を通じて、ケーブル・テレビ信号のような、信号を放送する。
【００７８】
コンテンツ配布システム４０６は、複数の加入者にマルチメディア・コンテンツを提供するヘッドエンド・サービスの代行（representative）である。
【００７９】
放送ネットワーク４１０は、ケーブル・テレビ・ネットワーク、ＲＦ、マイクロ波、衛星、および／またはインターネットのようなデータ・ネットワークを含むことができ、また、任意の放送フォーマットまたは放送プロトコルを用いる有線または無線の媒体を含むこともできる。加えて、放送ネットワーク４１０は、任意のタイプのネットワーク・トポロジーおよび任意のタイプのネットワーク通信プロトコルを用いる任意のタイプのネットワークであることが可能であり、代用または２以上のネットワークの組み合わせとして実現されることが可能である。
【００８０】
コンテンツ・プロセッサ４３０は、放送ネットワーク４１０を通じてコンテンツを伝送する前に、コンテンツ・プロバイダ４０２から受け取ったコンテンツを処理する。特定のコンテンツ・プロセッサ４３０が、放送ネットワーク４１０に接続された多数のプレゼンテーション装置４０８（１）、４０８（２）、．．．、４０８（Ｎ）により理解されるフォーマットに、受け取ったコンテンツを符号化し、あるいは他の処理をする場合がある。
【００８１】
プレゼンテーション装置４０８は多くの方法により実現することが可能である。たとえば、プレゼンテーション装置４０８（１）は、衛星アンテナ４３４を介して衛星の送信機から放送コンテンツを受信する。プレゼンテーション装置４０８（１）はセット・トップ・ボックス、または衛星受信装置とも呼ばれる。プレゼンテーション装置４０８（１）は、プレゼンテーション装置により受信されたコンテンツ（たとえば、オーディオ・データおよびビデオ・データ）の他にグラフィカル・ユーザー・インタフェースも表示するためにテレビ４３６（１）に接続される。特定のプレゼンテーション装置４０８は、任意の数のテレビ４３６および／またはコンテンツを表示あるいは別の方法で出力するために使用される類似の装置に接続することが可能である。同様に、任意の数のプレゼンテーション装置４０８を一つのテレビ４３６に接続することが可能である。
【００８２】
プレゼンテーション装置４０８（２）はまた、放送ネットワーク４１０から放送コンテンツを受信し、受信されたコンテンツを供給するために、関連付けられたテレビ４３６（２）に接続される。プレゼンテーション装置４０８（Ｎ）はテレビ４３８と統合化されたセット・トップ・ボックス４４０の組み合わせの一例である。この例では、セット・トップ・ボックスの種々の構成要素および機能は、２つの個別の装置を用いるのではなく、テレビの中に合体されている。テレビに合体されたセット・トップ・ボックスは、（衛星アンテナ４３４に類似の）衛星アンテナを介して、および／または放送ネットワーク４１０を介して放送信号を受信することができる。別の実施形態では、プレゼンテーション装置４０８は、インターネットあるいは他の任意の放送媒体を介して放送信号を受信することができる。
【００８３】
典型的な環境４００はまた、ビデオ・オン・デマンド（ＶＯＤ）映画コンテンツのような格納されたオンデマンドのコンテンツ４５０を含む。格納されたオンデマンドのコンテンツは、たとえば、画面上の映画ガイドを通じてプレゼンテーション装置４０８を用いて観賞することが可能であり、視聴者は特定の映画あるいは他の格納されたコンテンツを対応するプレゼンテーション装置４０８までダウン・ストリームする指示を入力することができる。
【００８４】
ここまでは、典型的な環境４００を、ディジタル・ビデオ放送（ＤＶＢ）環境の観点で説明した。まさに、それは典型的環境に過ぎない。しかし、その典型的な穴埋め型再試行方法は、ＤＶＢ環境それ自身とまったく関係無しに実施することが可能である。代わりに、装置４０８（１）、４０８（２）、．．．、４０８（Ｎ）により示されたような独立型（stand alone）のプレゼンテーション装置により実施することが可能である。
【００８５】
独立型のプレゼンテーション装置４０８（１）、４０８（２）、．．．、４０８（Ｎ）は、ＤＶＤディスクのような、記憶媒体４４４からディジタル・ビデオにアクセスする。独立型のプレゼンテーション装置４０８（１）、４０８（２）、．．．、４０８（Ｎ）は、媒体から関連したテレビ４３８にコンテンツを提供する。このような独立型のプレゼンテーション装置の例としては、ＤＶＤプレーヤー、パーソナル・ビデオ・レコーダーなどが含まれる。
【００８６】
典型的なプレゼンテーション装置
図５に、テレビ４３６に結合する独立型のユニットとして示されたプレゼンテーション装置４０８の典型的な実施形態５００を示す。プレゼンテーション装置４０８は、セット・トップ・ボックス、衛星受信器、ハード・ディスク付きテレビ・レコーダー、ゲーム・コンソール、情報家電、ＤＶＤプレーヤー、パーソナル・ビデオ・レコーダー、パーソナル・コンピュータ、メディア・センター、その他を含む、ありとあらゆる実施形態において、実施されることができる。
【００８７】
プレゼンテーション装置４０８は、遠隔制御装置５０４、携帯型入力装置５０６、あるいは無線キーボードのような他の任意の無線装置からの無線通信を受信するための赤外線（ＩＲ）またはＢｌｕｅｔｏｏｔｈ無線ポートのような無線受信ポート５０２を含む。携帯型入力装置５０６はパーソナル・ディジタル・アシスタント（ＰＤＡ）、携帯型コンピュータ、無線電話などとすることができる。加えて、有線のキーボード５０８が結合されてプレゼンテーション装置４０８と通信する。別の実施形態では、遠隔制御装置５０４、携帯型装置５０６、および／またはキーボード５０８は、プレゼンテーション装置４０８と通信するために、ＲＦ通信リンクあるいは他の伝送形態を用いることができる。
【００８８】
プレゼンテーション装置４０８は、ＤＶＤディスクのようなコンテンツ記憶媒体を読むための記憶媒体読取器５０９を有する場合がある。独立型か、あるいは非独立型のプレゼンテーション装置４０８が記憶媒体読取器５０９を含む場合がある。
【００８９】
プレゼンテーション装置４０８は、１つまたは複数の放送信号５１０を、衛星あるいは放送ネットワークのような１つまたは複数の放送源から受信することができる。プレゼンテーション装置４０８は、ＮＴＳＣ、ＰＡＬ、ＳＥＣＡＭまたは他のＴＶシステム・ビデオ信号のような放送信号５１０を受信し、解読するためのハードウェアおよび／またはソフトウェアを含む。
【００９０】
プレゼンテーション装置４０８はまた、ユーザーが、たとえば、種々のネットワーク・サービスにアクセスし、プレゼンテーション装置４０８を設定し、他の機能を実行することが可能なグラフィカル・ユーザー・インタフェースをユーザーに提供するために、ハードウェアおよび／またはソフトウェアを含む。
【００９１】
プレゼンテーション装置４０８は、従来の電話リンク５１２、ＩＳＤＮリンク５１４、ケーブル・リンク５１６、イーサネット（登録商標）・リンク５１８、ＤＳＬリンク５２０などを含む１つまたは複数の接続により、他の装置と通信する能力を有する場合がある。プレゼンテーション装置４０８は、特定の瞬間に任意の数の他の装置と通信するために、種々の通信リンク５１２〜５２０の任意の１あるいは複数を用いる場合がある。
【００９２】
プレゼンテーション装置４０８は、ビデオ信号５２０およびオーディオ信号５２２を生成し、その両方がテレビ４３６に伝達される。ビデオ信号およびオーディオ信号は、ＲＦ（無線周波数）リンク、Ｓビデオ・リンク、コンポジットビデオ・リンク、コンポーネントビデオ・リンク、あるいは他の通信リンクによりプレゼンテーション装置４０８からテレビ４３６まで伝達されることが可能である。
【００９３】
図５には示されないが、プレゼンテーション装置４０８は１つまたは複数の装置の現在の状態を識別する表示ランプあるいは他の表示器を含む場合がある。加えて、装置の動作を制御するために、プレゼンテーション装置は１つまたは複数の制御ボタン、スイッチ、あるいは他の選択可能な制御手段を含む場合がある。
【００９４】
典型的なコンピュータシステムおよび環境
図６に、本明細書に記載されている典型的な穴埋め型再試行方法を（完全にあるいは部分的に）実施することが可能な、好適なコンピュータ環境６００の一例を示す。
【００９５】
コンピュータ環境６００は、本明細書に記載のコンピュータおよびネットワーク・アーキテクチャにおいて利用される場合がある。
【００９６】
この典型的なコンピュータ環境６００は、コンピュータ環境のただ１つの例に過ぎず、コンピュータおよびネットワーク・アーキテクチャの使用あるいは機能性の範囲に関して、いずれの限定をも示唆することを意図するものではない。また、コンピュータ環境６００は、この典型的なコンピュータ環境６００内に示された構成要素の任意の１つあるいはその組み合わせに関する何らかの依存性または必要性を有すると解釈されるべきではない。
【００９７】
その典型的な穴埋め型再試行方法は、他の多数の汎用または専用目的のコンピュータシステム環境または構成を用いて実施することが可能である。使用に適している可能性がある、周知のコンピュータシステム、環境、および／または構成の例としては、限定するものではないが、パーソナル・コンピュータ、サーバー・コンピュータ、シン（thin）・クライアント、シック（thick）・クライアント、携帯型またはラップトップ装置、マイクロプロセッサ・システム、マイクロプロセッサベースのシステム、セット・トップ・ボックス、プログラム可能な電化製品、ネットワークＰＣ、ミニコンピュータ、メインフレーム・コンピュータ、上記の任意のシステムあるいは装置を含む分散コンピュータ環境、などが包含される。
【００９８】
典型的な穴埋め型再試行方法は、コンピュータにより実行されるプログラム・モジュールのように、コンピュータにより実行可能な命令との一般的な関連において記述される場合がある。一般に、プログラム・モジュールは、特定のタスクを実行するか、あるいは特定の抽象データ型を実装する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。典型的な穴埋め型再試行方法はまた、タスクが通信ネットワークを通じて接続されたリモート処理装置により実行される、分散コンピュータ環境において実施される場合もある。分散コンピュータ環境においては、プログラム・モジュールは、メモリー記憶装置を含むローカルおよびリモートの両方のコンピュータ記憶媒体に配置している場合がある。
【００９９】
コンピュータ環境６００は、コンピュータ６０２の構成において汎用コンピュータ装置を含む。コンピュータ６０２の構成要素には、限定するものではないが、１つまたは複数のプロセッサあるいは処理ユニット６０４、システム・メモリー６０６、およびプロセッサ６０４を含む、種々のシステムの構成要素をシステム・メモリー６０６に接続するシステム・バス６０８が含まれる場合がある。
【０１００】
システム・バスは、メモリー・バスあるいはメモリー・コントローラー、周辺バス、加速化グラフィックス・ポート、あるいは任意の各種バス・アーキテクチャを用いるローカル・バスを含む、１つまたは複数の任意のタイプのバス構成、として実現される場合がある。たとえば、そのような構成として、ＣａｒｄＢｕｓ、ＰＣＭＣＩＡ（Personal Computer Memory Card International Association）、ＡＧＰ（Accelerated Graphics Port）、ＳＣＳＩ（Small Computer System Interface）、ＵＳＢ（Universal Serial Bus）、ＩＥＥＥ１３９４、ＶＥＳＡ（Video Electronics Standards Association）ローカル・バス、およびメザニン・バスとしても知られるＰＣＩ（Peripheral Component Interconnects）を含むことが可能である。
【０１０１】
コンピュータ６０２は、典型的に種々のコンピュータにて読取り可能な媒体を含む。このような媒体は、コンピュータ６０２によりアクセスが可能であり、そして揮発性および不揮発性の媒体、着脱可能なおよび着脱可能でない媒体の両方を含む任意の利用可能な媒体であることが可能である。
【０１０２】
システム・メモリー６０６は、ＲＡＭ（Random Access Memory）６１０のような揮発性メモリー、および／またはＲＯＭ（Read Only Memory）６１２のような不揮発性メモリーの形式の、コンピュータにより読取り可能な媒体を含む。起動の間などに、コンピュータ６０２の要素の間での情報転送を助ける基本的なルーチンを含む基本入出力システム（ＢＩＯＳ：Basic Input/Output System）６１４がＲＯＭ６１２に格納される。ＲＡＭ６１０は典型的には、処理ユニット６０４によりすぐにアクセス可能な、および／または現在処理中の、データおよび／またはプログラム・モジュールを含む。
【０１０３】
コンピュータ６０２はまた、他の着脱可能／着脱可能でない、揮発性／不揮発性のコンピュータ記憶媒体を含む場合がある。一例として、図６では、着脱可能でない、不揮発性の磁気媒体（示されていない）との読み書きのためのハード・ディスク・ドライブ６１６、着脱可能な、不揮発性の磁気ディスク６２０（たとえば、フロッピー（登録商標）・ディスク）との読み書きのためのハード・ディスク・ドライブ６１８、およびＣＤ-ＲＯＭ、ＤＶＤ-ＲＯＭ、あるいは他の光学式媒体のような、着脱可能な、不揮発性の光ディスク６２４との読み出しおよび／または書き込みのための光ディスク・ドライブ６２２を例示する。ハード・ディスク・ドライブ６１６、磁気ディスク・ドライブ６１８、および光ディスク・ドライブ６２２は、それぞれシステム・バス６０８に１つまたは複数のデータ媒体インタフェース６２６により接続される。代わりに、ハード・ディスク・ドライブ６１６、磁気ディスク・ドライブ６１８、および光ディスク・ドライブ６２２は、１つまたは複数のインタフェース（示されていない）によりそのシステム・バス６０８に接続される場合がある。
【０１０４】
ディスク・ドライブ類およびそれらに関連付けられたコンピュータによって読取り可能な媒体は、コンピュータにて読取り可能なコンピュータ６０２のための命令、データ構造、プログラム・モジュール、および他のデータの不揮発性記憶装置を提供する。この例ではハード・ディスク６１６、着脱可能な磁気ディスク６２０、および着脱可能な光ディスク６２４、を例示するが、磁気カセットあるいは他の磁気記憶装置、フラッシュ・メモリー・カード、ＣＤ-ＲＯＭ、ＤＶＤ（Digital Versatile Disk）または他の光学的記憶、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、ＥＥＰＲＯＭ（Electrically Erasable Programmable Read-Only Memory）などのようなコンピュータによるアクセスが可能なデータを格納することが可能であるコンピュータにて読取り可能な他のタイプの媒体もまた、典型的なコンピュータ処理システムおよび環境を実現するために利用することが可能であることを理解されたい。
【０１０５】
例として、オペレーティング・システム６２６、１つまたは複数のアプリケーション・プログラム６２８、他のプログラム・モジュール６３０、およびプログラム・データ６３２を含む任意の数のプログラム・モジュールが、ハード・ディスク６１６、磁気ディスク６２０、光ディスク６２４、ＲＯＭ６１２、および／またはＲＡＭ６１０、に格納される場合がある。
【０１０６】
ユーザーはキーボード６３４およびポインティングデバイス６３６（たとえば、「マウス」）のような入力装置によりコマンドおよび情報をコンピュータ６０２に入力することが可能である。
【０１０７】
他の入力装置６３８（特定して示されてはいない）は、マイクロホン、ジョイスティック、ゲーム・パッド、衛星アンテナ、シリアル・ポート、スキャナー、および／またはその同種のものを含む場合がある。これらおよび他の入力装置は、システム・バス６０８に接続されている入／出力インタフェース６４０により処理ユニット６０４に結合されるが、パラレル・ポート、ゲーム・ポート、あるいはＵＳＢ（Universal Serial Bus）のような、他のインタフェースおよびバス構造により接続される場合もある。
【０１０８】
モニター６４２あるいは他のタイプの表示装置がまた、ビデオ・アダプター６４４のようなインタフェースにより、システム・バス６０８に接続されることが可能である。モニター６４２に加えて、他の出力周辺装置として、スピーカー（示されていない）およびプリンター６４６のような、入／出力インタフェース６４０によりコンピュータ６０２に接続される場合がある構成要素が含まれる場合がある。
【０１０９】
コンピュータ６０２は、リモート・コンピュータ・デバイス６４８のような１つまたは複数のリモートコンピュータとの論理接続を用いて、ネットワーク化された環境において動作することが可能である。例として、リモート・コンピュータ・デバイス６４８としては、パーソナル・コンピュータ、携帯コンピュータ、サーバー、ルーター、ネットワーク・コンピュータ、ピア（peer）装置、あるいは他の共通ネットワーク・ノード、および同様なものであることが可能である。リモート・コンピュータ・デバイス６４８は、コンピュータ６０２に関連しここに記述された、多くのあるいはすべての要素および機能を含むことが可能なポータブル・コンピュータとして例示されている。
【０１１０】
コンピュータ６０２および遠隔コンピュータ６４８の間の論理的接続は、ＬＡＮ（ローカル・エリア・ネットワーク：Local Area Network）６５０および一般的なＷＡＮ（ワイドエリアネットワーク：Wide Area Network）６５２として描かれている。このようなネットワーク化された環境はオフィス、企業規模のコンピュータ・ネットワーク、イントラネット、およびインターネットにおいて普及している。
【０１１１】
ＬＡＮネットワーク環境において実施される場合には、コンピュータ６０２はネットワーク・インタフェースあるいはアダプター６５４によりローカルなネットワーク６５０に接続される。ＷＡＮネットワーク環境において実施される場合には、コンピュータ６０２は広域のネットワーク６５２により通信を確立するために、典型的にはモデム６５６または他の手段を含む。コンピュータ６０２に内蔵され、あるいは外付けされ得るモデム６５６は、入／出力インタフェース６４０あるいは他の適切な機構によりシステム・バス６０８に接続されることが可能である。例示されたネットワーク接続は典型的なものであり、コンピュータ６０２および６４８の間に通信リンクを確立する他の手段を採用することが可能であることを理解されたい。
【０１１２】
コンピュータ環境６００と共に例示されたようなネットワーク化された環境においては、コンピュータ６０２に関連して示されたプログラム・モジュールまたはその一部が、遠隔のメモリー記憶装置に格納される場合がある。例として、リモート・アプリケーション・プログラム６５８がリモートコンピュータ６４８のメモリー装置に存在する。このようなプログラムおよびコンポーネントは、さまざまな時にコンピュータ処理装置６０２の異なる記憶装置コンポーネントに存在し、コンピュータのデータ・プロセッサにより実行されると認識されるが、ここでは例示の目的のため、アプリケーション・プログラムおよび、オペレーティング・システムのような他の実行可能なプログラム・コンポーネントは、個別のブロックを構成するものとして示されている。
【０１１３】
コンピュータにて実行可能な命令
典型的な穴埋め型再試行の方法の実施形態を、１つまたは複数のコンピュータあるいは他の装置により実行されるプログラム・モジュールのような、コンピュータによって実行可能な命令との一般的な関連において、説明することができる。一般に、プログラム・モジュールは、特定のタスクを実行するか、あるいは特定の抽象データ型を実装する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。典型的には、プログラム・モジュールの機能は種々の実施形態において要求されるように結合されるか、あるいは分散させられる場合がある。
【０１１４】
典型的な動作環境
図６に、典型的な穴埋め型再試行の方法を実施することが可能な適切な動作環境６００の一例を示す。特に、本明細書に記載された典型的な穴埋め型再試行の方法は任意のプログラム・モジュール６２８〜６３０および／またはオペレーティング・システム６２６により、図６あるいはその一部において、（完全に、あるいは部分的に）実現することが可能である。
【０１１５】
動作環境は単に適切な動作上の環境の一例に過ぎず、本明細書に記載された典型的な穴埋め型再試行の方法の機能の範囲あるいは使用について、なんらの限定をも示唆することを意図するものではない。使用に適している、他の周知のコンピュータシステム、環境、および／または構成には、限定するものではないが、パーソナル・コンピュータ（ＰＣ）、サーバー・コンピュータ、携帯型あるいはラップトップ装置、マイクロプロセッサ・システム、マイクロプロセッサに基づくシステム、プログラム可能な電化製品、無線電話および機器、汎用および専用目的の器具、アプリケーション特有の集積回路（ASICS：Application-Specific Integrated Circuit）、ネットワークＰＣ、ミニコンピュータ、メインフレーム・コンピュータ、上記の任意のシステムあるいは装置を含む分散コンピュータ環境、などが包含される。
【０１１６】
コンピュータにて読取り可能な媒体
典型的な穴埋め型再試行の方法の実施形態は、任意の形態のコンピュータによって読取り可能な媒体の上に格納されるか、または媒体を経由して伝送される場合がある。コンピュータにて読取り可能な媒体は、コンピュータによりアクセスすることが可能な任意の利用可能な媒体とすることができる。例として、コンピュータにて読取り可能な媒体には、限定するものではないが、「コンピュータ記憶媒体」および「通信媒体」が含まれる場合がある。
【０１１７】
「コンピュータ記憶媒体」には、コンピュータによって読取り可能な命令、データ構造、プログラム・モジュール、または他のデータのような情報の格納のための、任意の方法または技術により実現された揮発性および不揮発性の着脱可能および着脱不可能な媒体が含まれる。コンピュータ記憶媒体には、限定するものではないが、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュ・メモリーまたは他のメモリー技術、ＣＤ-ＲＯＭ、ＤＶＤ（Digital Versatile Disk）または他の光学的記憶、磁気カセット、磁気テープ、磁気ディスク記憶装置または他の磁気記憶装置、あるいは必要とされる情報を格納するために用いることができコンピュータによりアクセスされることが可能な任意の他の媒体が含まれる。
【０１１８】
「通信媒体」は、典型的には、搬送波あるいは他の伝達メカニズムのような変調されたデータ信号において、コンピュータにて読取り可能な命令、データ構造、プログラム・モジュール、またはその他のデータを具現化するものであり、かつ任意の情報配信媒体を含む。
【０１１９】
用語「変調されたデータ信号」とは、その信号における情報を符号化するような方法により設定あるいは変更された１つまたは複数の特性を有する信号を意味する。限定するものではないが、例として、通信媒体には有線ネットワークあるいは直接配線接続のような有線媒体、および音波、ＲＦ、赤外線、および他の無線媒体のような無線媒体が含まれる。上記のものの任意の組み合わせもまた、コンピュータにて読取り可能な媒体の範囲内に含まれる。
【０１２０】
結言
本発明が構造的な特徴および／または方法論的な段階に特定した言語において記述されたが、添付された特許請求の範囲において規定された本発明は、必ずしも記載された特定の特徴あるいは段階に限定されるものではないことを理解されたい。特定の特徴および段階はむしろ、特許請求の範囲に記載された発明を実施することについての好ましい形態として開示されたものである。
【図面の簡単な説明】
【０１２１】
【図１】本発明の一実施形態による典型的なネットワークおよび通信状態を例示する図である。
【図２】本発明の一実施形態の方法論を示すフローチャートである。
【図３】本発明の一実施形態の方法論を示すフローチャートである。
【図４】本発明の一実施形態が用いることが可能な典型的な環境を例示する図である。
【図５】本発明の一実施形態の例示的なプレゼンテーション装置、テレビおよびプレゼンテーション装置と相互作用する種々の入力装置を例示する図である。
【図６】本発明の少なくとも１つの実施形態を（完全に、または部分的に）実施することが可能なコンピュータ環境の一例を示す図である。
【符号の説明】
【０１２２】
１００  典型的な通信ネットワーク
１１０  送信側
１２０  送信パケット・グループ
１２２  オフセット
１２４  転送中パケット
１３０  ネットワーク
１４０  受信側、クライアント装置
１５０  受信パケット・グループ
１５２、１５４、１５６  穴
４００  一実施形態の典型的な環境（テレビ娯楽システム）
４０２  マルチメディア・コンテンツ・プロバイダ
４０６  コンテンツ配信システム
４０８、４０８、４０８  プレゼンテーション装置
４１０  放送ネットワーク
４１２  コンテンツ・サーバー
４１４  格納されたコンテンツ
４２０  ネットワーク
４２８  放送送信機
４３０  コンテンツ・プロセッサ
４３４  衛星放送アンテナ
４３６、４３６、４３８  テレビ
４４０  セット・トップ・ボックス
４４２  格納されたオンデマンド・コンテンツ
４４４  記憶媒体
４５０  格納されたオンデマンド・コンテンツ
５００  プレゼンテーション装置の代表的な実施方法
５０２  無線受信ポート
５０４  遠隔制御装置
５０６  携帯型入力装置
５０８  キーボード
５０９  記憶媒体読取器
５１０  放送信号
５１２  電話
５１４  ＩＳＤＮ・リンク
５１６  ケーブル・リンク
５１８  イーサネット（登録商標）・リンク
５２０  ＤＳＬ・リンク
５２０  ビデオ信号
５２２  オーディオ信号
６００  典型的なコンピュータ処理環境
６０２  コンピュータ
６０４  処理ユニット
６０６  システム・メモリー
６０８  システム・バス
６１０  ＲＡＭ
６１２  ＲＯＭ
６１４  ＢＩＯＳ
６１６  ハード・ディスク・ドライブ
６１８  磁気ディスク・ドライブ
６２０  着脱可能な磁気ディスク
６２２  光ディスク・ドライブ
６２４  着脱可能な光ディスク
６２６  データ媒体インタフェース
６２６  オペレーティング・システム
６２８  アプリケーション・プログラム
６３０  プログラム・モジュール
６３２  プログラム・データ
６３４  キーボード
６３６  指示装置
６３８  他の入力装置
６４０  入／出力インタフェース
６４２  モニター
６４４  ビデオ・アダプター
６４６  プリンター
６４８  リモート・コンピュータ・デバイス
６５０  ＬＡＮ
６５２  ＷＡＮ
６５４  ネットワーク・インタフェース、ネットワーク・アダプター
６５６  モデム
６５８  リモート・アプリケーション・プログラム
【図１】
0004694152.tif 000003
【図２】
0004694152.tif 000004
【図３】
0004694152.tif 000005
【図４】
0004694152.tif 000006
【図５】
0004694152.tif 000007
【図６】
0004694152.tif 000008