JP2013013093A - Improving throughput in lan by managing tcp acks - Google Patents
Improving throughput in lan by managing tcp acks Download PDFInfo
- Publication number
- JP2013013093A JP2013013093A JP2012161298A JP2012161298A JP2013013093A JP 2013013093 A JP2013013093 A JP 2013013093A JP 2012161298 A JP2012161298 A JP 2012161298A JP 2012161298 A JP2012161298 A JP 2012161298A JP 2013013093 A JP2013013093 A JP 2013013093A
- Authority
- JP
- Japan
- Prior art keywords
- acknowledgment
- bridge
- data
- tcp
- constrained wireless
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 claims abstract description 117
- 238000012790 confirmation Methods 0.000 claims abstract description 37
- 230000005540 biological transmission Effects 0.000 claims description 57
- 230000004931 aggregating effect Effects 0.000 claims description 3
- 238000007726 management method Methods 0.000 description 21
- 102100036409 Activated CDC42 kinase 1 Human genes 0.000 description 17
- 238000010586 diagram Methods 0.000 description 15
- 238000013500 data storage Methods 0.000 description 14
- 238000012546 transfer Methods 0.000 description 13
- 238000004891 communication Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 12
- 238000011144 upstream manufacturing Methods 0.000 description 12
- 230000003111 delayed effect Effects 0.000 description 9
- 239000012634 fragment Substances 0.000 description 9
- 238000012360 testing method Methods 0.000 description 9
- 238000010276 construction Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 8
- 101000622430 Homo sapiens Vang-like protein 2 Proteins 0.000 description 6
- 102100023520 Vang-like protein 2 Human genes 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 230000003044 adaptive effect Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000001934 delay Effects 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 101150027801 CTA1 gene Proteins 0.000 description 2
- 101100273295 Candida albicans (strain SC5314 / ATCC MYA-2876) CAT1 gene Proteins 0.000 description 2
- 101000622427 Homo sapiens Vang-like protein 1 Proteins 0.000 description 2
- 108700026140 MAC combination Proteins 0.000 description 2
- 101100057145 Schizosaccharomyces pombe (strain 972 / ATCC 24843) cta4 gene Proteins 0.000 description 2
- 102100023517 Vang-like protein 1 Human genes 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 2
- 238000004220 aggregation Methods 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 2
- 238000005538 encapsulation Methods 0.000 description 2
- 238000013467 fragmentation Methods 0.000 description 2
- 238000006062 fragmentation reaction Methods 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 238000001228 spectrum Methods 0.000 description 2
- 108091081062 Repeated sequence (DNA) Proteins 0.000 description 1
- 101150110418 STB3 gene Proteins 0.000 description 1
- 101100329678 Schizosaccharomyces pombe (strain 972 / ATCC 24843) cta5 gene Proteins 0.000 description 1
- 102100038192 Serine/threonine-protein kinase TBK1 Human genes 0.000 description 1
- 206010042602 Supraventricular extrasystoles Diseases 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 235000003642 hunger Nutrition 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000037351 starvation Effects 0.000 description 1
Images
Landscapes
- Mobile Radio Communication Systems (AREA)
Abstract
【課題】受け取り確認を管理する方法および装置を提供する。
【解決手段】受け取り確認を管理する方法および装置であって、データ・パケットおよび受け取り確認をある接続と同定し、受け取り確認のどれが消去できるかを判定し、消去できる受け取り確認を単一の受け取り確認で置き換え、該単一の受け取り確認を送信することを含むものが記載される。受け取り確認を管理するための代替的な方法および装置であって、データ・セグメントを受信し、接続を追跡し、所定数のチャネル時間割り当てのための十分なデータ・セグメントがあるかどうかを判定し、前記所定数のチャネル時間割り当てのための十分なデータ・セグメントがある場合に、選択された接続についての受け取り確認を生成することを含むものが記載される。
【選択図】図20A method and apparatus for managing receipt confirmation is provided.
A method and apparatus for managing acknowledgments that identify a data packet and acknowledgment as a connection, determine which acknowledgment can be erased, and accept a single acknowledgment that can be erased. What is described includes replacing with confirmation and sending the single receipt confirmation. An alternative method and apparatus for managing acknowledgments that receives data segments, tracks connections, and determines whether there are enough data segments for a predetermined number of channel time allocations. , Including generating an acknowledgment for the selected connection if there are sufficient data segments for the predetermined number of channel time allocations.
[Selection] Figure 20
Description
本発明は、無線ビデオ配信(distribution)システムにおける、セットトップボックス(STB)のようなマスター・デバイスからSTBのようなリモート・デバイスへの圧縮されたマルチメディア/ビデオの配信に関する。 The present invention relates to the delivery of compressed multimedia / video from a master device such as a set top box (STB) to a remote device such as an STB in a wireless video distribution system.
ケーブル・ビデオ・サービスのためには、個別のビデオ番組が典型的にはケーブル上で独自の専用周波数帯において放送される。家庭にあるいかなるテレビも、その周波数に同調することによって、いかなる個別の番組にも同調できる。より新しいテレビ・サービス(たとえば、衛星テレビ配信、インターネット・テレビ配信)の場合、番組は、マスターSTBにおいて「同調〔チューニング〕され」、次いでリモートSTBに家庭ネットワークを通じて配信される。多くの場合、家庭ネットワーク(または家庭配信システム)が設置される必要がある。有線(同軸ケーブル、撚り線対など)は信頼性が高いが、設置が高価になることがあり、家の所有者は設置業者が設置のために壁にドリルで穴を開けるのを好まないことがありうる。それを念頭に、業界では、ビデオ番組の再配信(redistribution)システム問題への無線ソリューションに関心が寄せられている。 For cable video services, individual video programs are typically broadcast on their own dedicated frequency band over the cable. Any television in the home can be tuned to any individual program by tuning to that frequency. For newer TV services (eg, satellite TV distribution, Internet TV distribution), the program is “tuned” at the master STB and then distributed over the home network to the remote STB. In many cases, a home network (or home distribution system) needs to be installed. Wired (coaxial cable, twisted pair, etc.) is reliable, but can be expensive to install, and homeowners do not like installers to drill holes in the wall for installation There can be. With that in mind, the industry is interested in wireless solutions to video program redistribution system issues.
たいていの既存の家庭内デジタル・ビデオ配信システムは、配信媒体としてイーサネット(登録商標)を使う。たいていのイーサネット(登録商標)設備は少なくとも1000Mbpsのリンク速度を使用し、トラフィックをアドレス指定されたデバイスを含む分枝にのみ選択的に送信するスイッチを使用するので、制御されたトラフィック速度をもつビデオ再配信システムにおいて使用されるときには、QoS問題はほとんどない。何らかの型のQoS保護なしで同じネットワーク上に一般的なIPデータ・トラフィックを送信したとしたら、イーサネット(登録商標)で問題が生じうる。現在のところ、イーサネット(登録商標)には一つの型の媒体アクセス制御(MAC)レベルQoSが利用可能である。それは優先度に基づく方式であり、仮想ローカル・エリア・ネットワーク(VLAN)タグ内のユーザー優先度フィールドを使用する。パラメータ化されたQoS(帯域幅要求、帯域幅保証、受け容れコントロールなど)の追加が、現在、IEEE802ネットワーク・ブリッジングについてのIEEE802.1サブ委員会内の作業部会の一つの主題である。しかしながら、イーサネット(登録商標)は、運用のために有線を必要とするという欠点があり、新たな配線のない設置技術を有することが望ましい。 Most existing home digital video distribution systems use Ethernet as a distribution medium. Most Ethernet equipment uses a link speed of at least 1000 Mbps and uses a switch that selectively sends traffic only to the branch containing the addressed device, so video with a controlled traffic speed There are few QoS issues when used in redistribution systems. If general IP data traffic is sent over the same network without any type of QoS protection, problems may arise with Ethernet. Currently, one type of medium access control (MAC) level QoS is available for Ethernet. It is a priority-based scheme that uses a user priority field in a virtual local area network (VLAN) tag. The addition of parameterized QoS (bandwidth requirements, bandwidth guarantees, acceptance control, etc.) is currently one subject of a working group within the IEEE 802.1 subcommittee for IEEE 802 network bridging. However, Ethernet (registered trademark) has a drawback in that it requires a wired line for operation, and it is desirable to have an installation technique without a new wiring line.
必要とされるのは、MACレベルのブリッジングを通じたイーサネット(登録商標)配信を置き換えることのできる無線配信システムである。多くの家庭ネットワークは、IPプロトコルを使ってビデオを配信しているが、多くの可能性がある。ビデオは、実時間転送プロトコル(RTP: real time transport protocol)によって規定されるUDPを使って送られる場合もあれば、ビデオがTCPを通じて配信される場合もある(たとえば、デジタル・リビング・ネットワーク・アライアンス(DLNA: Digital Living Network Alliance))。UDPは一方向の通信しか要求しない一方、TCPは双方向の通信を要求する。さらなる可能性もある。すでにイーサネット(登録商標)・インターフェースがあるときにはマスターおよびリモート・デバイス/STBにいかなる修正も必要としない(すなわち、帯域幅予約なし、無線ブリッジ・デバイスへのトーキング(talking)なしなど)家庭配信システムを有することが望ましいであろう。また、媒体が無線であり、したがって帯域制限された共通媒体であるので、MAC層がきわめて効率的であることも望ましい。そのため、本発明は、TDMA MAC方式を使う。TDMA MAC方式では、時間割り当てが割り振られて、各クライアント/リモート・デバイス(STB)に専用の帯域幅が与えられる。本稿での「/」の使用は、同じ構成要素についての代替名を表す。ビデオの正確なビットレートおよび他の特性が、マスターSTBにさえ、先験的にはわかっていないこともありうる。たとえビデオの正確なビットレートが先験的にわかっていたとしても、マスターSTBが無線デバイス(リモートSTBおよび/またはマスター・ブリッジング・ノード)と何らかの特別なまたは新たな通信をもつことを要求しないことが望ましい。マルチメディア・トラフィックはたいていマスター・デバイスから若干数のリモート・デバイスへの下りなので、オーバーヘッドをなくす機会がある。マルチメディア・ストリームを配信するのにTCPが使われるときは、上りトラフィックの大半はTCP ACKである。これらのTCP ACKのいくつかをなくすことは、送信されるオーバーヘッドの量を減らし、利用可能なBW〔帯域幅〕のより多くが実際にマルチメディア・ストリーム情報を搬送するために割かれることを許容する。 What is needed is a wireless distribution system that can replace Ethernet distribution through MAC level bridging. Many home networks use the IP protocol to deliver video, but there are many possibilities. Video may be sent using UDP as defined by the real time transport protocol (RTP), or video may be delivered over TCP (for example, the Digital Living Network Alliance). (DLNA: Digital Living Network Alliance). UDP requires only one-way communication, while TCP requires two-way communication. There are further possibilities. Do not require any modifications to the master and remote devices / STB when there is already an Ethernet interface (ie no bandwidth reservation, no talking to wireless bridge devices, etc.) It would be desirable to have. It is also desirable that the MAC layer be very efficient because the medium is wireless and thus a band-limited common medium. Therefore, the present invention uses the TDMA MAC method. In the TDMA MAC scheme, time allocation is allocated and dedicated bandwidth is given to each client / remote device (STB). The use of “/” in this article represents an alternative name for the same component. The exact bit rate and other characteristics of the video may not be known a priori, even for the master STB. Does not require the master STB to have any special or new communication with the wireless device (remote STB and / or master bridging node), even if the exact bit rate of the video is known a priori It is desirable. Since multimedia traffic is usually downstream from the master device to a few remote devices, there is an opportunity to eliminate overhead. When TCP is used to deliver multimedia streams, most of the upstream traffic is TCP ACK. Eliminating some of these TCP ACKs reduces the amount of overhead transmitted and allows more of the available BW to actually be broken down to carry multimedia stream information To do.
リモートSTB/デバイスからマスター・デバイス/STBへの戻り経路/上り経路に割り当てられる時間は、ビデオ配信のための下り経路には利用可能でない時間である。ビデオ配信が目標システムの主たる機能なので、TCP ACKによって引き起こされるオーバーヘッドを減らし、TCPスライディング・ウィンドウの負の効果を減らすことが望ましい。 The time allocated to the return path / upstream path from the remote STB / device to the master device / STB is the time that is not available for the downstream path for video distribution. Since video delivery is the primary function of the target system, it is desirable to reduce the overhead caused by TCP ACK and reduce the negative effects of TCP sliding windows.
IEEEにおいて現在標準化中であるIEEE802.11Nはビデオ配信のための手段として求められている。IEEE802.11Nの主題である技術に関してはいくつかの懸念がある。第一に、それは相変わらずCSMA(IEEE802.11)に基づいている。この型のMAC層は本来的に非効率的であり、QoS保証を提供しない。多くのMACレベルQoS向上がIEEE802.11Nに追加されているが、CSMAベースのMACがTDMA MACほど効率的になりうるとは考えにくい。QoS向上は、IEEE802.11Eからの優先度ベースのQoS、何らかの形のポーリングならびにMACプロトコル・データ単位(MPDU: MAC protocol data unit)およびMACサービス・データ単位(MSDU: MAC service data unit)の集積(aggregation)の追加を含む。これらの向上は、IEEE802.11ネットワークのリソースを管理することにおいて非常に有用でありうるが、無線家庭ビデオ配信システムのために必要または望ましいQoS保証をするものではない。ポーリングは、本発明を運用する基盤となるTDMA様のサービスを作り出すために使用できるが、ポーリング自身がMAC効率の妨げになる。MAC効率は、無線ネットワークについては、家庭のよりリモートな領域に利用可能な限られたリンク速度のため、より一層重要である。たいていの現行の無線ローカル・エリア・ネットワーク(WLAN: wireless local area network)は、共通伝送媒体(すなわち、同じ伝送周波数での無線スペクトル)を利用する。そのため、MACはその媒体を共有する機構を必要とする。なお、ひとたび送信機会がCSMAを介して獲得されるかポーリングを介して割り振られるかしたら、本発明が適用されうる。 IEEE 802.11N, which is currently being standardized by IEEE, is required as a means for video distribution. There are several concerns regarding the technology that is the subject of IEEE 802.11N. First, it is still based on CSMA (IEEE802.11). This type of MAC layer is inherently inefficient and does not provide QoS guarantees. Many MAC-level QoS improvements have been added to IEEE 802.11N, but it is unlikely that a CSMA-based MAC can be as efficient as a TDMA MAC. QoS improvements include priority-based QoS from IEEE 802.11E, some form of polling, and a collection of MAC protocol data units (MPDUs) and MAC service data units (MSDUs) ( aggregation) addition. These enhancements can be very useful in managing the resources of the IEEE 802.11 network, but do not provide the QoS guarantees that are necessary or desirable for wireless home video distribution systems. Polling can be used to create a TDMA-like service that is the basis for operating the present invention, but polling itself hinders MAC efficiency. MAC efficiency is even more important for wireless networks because of the limited link speed available to more remote areas of the home. Most current wireless local area networks (WLANs) utilize a common transmission medium (ie, the radio spectrum at the same transmission frequency). Therefore, MAC needs a mechanism to share the medium. It should be noted that the present invention can be applied once a transmission opportunity is acquired via CSMA or allocated via polling.
いくつかのサービス・プロバイダーは、同軸ケーブル、電話線および/または電力線に基づく、新たな配線のない(no-new-wire)技術に目を向けている。多くの異なる可能性があり、そのほとんどは何らかの形の優先度またはパラメータ化されたQoSをもつ。これらの解決策に内在する問題は、たとえ同軸ケーブルまたは電話線がすでに家庭内にあったとしても、それでも、それらの線が正しいスポットに結線されていないことがあり、あるいは当該技術が扱うのが難しいトポロジーであることがありうるということである。これらの技術のほとんどはまた、他の家庭と帯域幅を共有していることもあり(たとえば、一つの電力用変圧器に最高4世帯のための電力線がある)、現在のところ信頼性を欠く。パラメータ化されたサービスのためには、STBは各リンクについて予約すべき帯域幅がどれくらいかを知る必要がある。ビデオ家庭配信システムについては、トラフィックは制御下にないことがあり、バースト的であることがあり、少なくとも部分的に未知である。 Some service providers are turning to no-new-wire technologies based on coaxial cables, telephone lines and / or power lines. There are many different possibilities, most of which have some form of priority or parameterized QoS. The problem inherent in these solutions is that even if coaxial cables or telephone lines are already in the home, they may not be connected to the correct spot, or the technology deals with them. It can be a difficult topology. Most of these technologies may also share bandwidth with other households (for example, one power transformer has power lines for up to four households) and is currently unreliable . For parameterized services, the STB needs to know how much bandwidth to reserve for each link. For video home distribution systems, traffic may be out of control, may be bursty, and is at least partially unknown.
本発明は、上記で浮き彫りにした問題を解決する家庭マルチメディア・ストリーム配信システムを包含する。 The present invention encompasses a home multimedia stream distribution system that solves the problems highlighted above.
たいていの現行の無線LANは、共通伝送媒体(すなわち、同じ伝送周波数での無線スペクトル)を利用する。そのため、媒体アクセス制御(MAC: media access control)層はその媒体を共有する機構を必要とする。たいていの機構は、キャリア検知多重アクセス(CSMA: carrier sense multiple access)MAC層に基づいている(たとえばIEEE802.11)。この型のMAC層は本来的に非効率的であり、サービス品質(QoS: quality of service)保証を提供しない。MAC効率は、無線ネットワークについては、家庭のよりリモートな領域に利用可能な限られたリンク速度のため、より一層重要である。非常に高い効率およびQoS保証を達成するため、本発明は、時分割多重アクセス(TDMA: time division multiple access)IEEE802.15.3bに基づいたMACを使用する。基本的なTDMA機能については標準的なMACが使用されるが、TCP ACKに起因するネットワーク負荷を減らす機能が追加される。 Most current wireless LANs utilize a common transmission medium (ie, a wireless spectrum at the same transmission frequency). Therefore, a media access control (MAC) layer requires a mechanism for sharing the medium. Most mechanisms are based on the carrier sense multiple access (CSMA) MAC layer (eg, IEEE 802.11). This type of MAC layer is inherently inefficient and does not provide quality of service (QoS) guarantees. MAC efficiency is even more important for wireless networks because of the limited link speed available to more remote areas of the home. In order to achieve very high efficiency and QoS guarantees, the present invention uses a MAC based on time division multiple access (TDMA) IEEE 802.15.3b. A standard MAC is used for basic TDMA functions, but a function to reduce network load caused by TCP ACK is added.
本発明が設計される対象となる典型的なシステムは、三つまでのクライアント/リモート・デバイスにインターネット・プロトコル(IP)ベースのビデオを配信するマスター・デバイスを含む。前記デバイスは、イーサネット(登録商標)/無線式のMACレベル・ブリッジ・デバイスであり、実際のビデオ同調およびレンダリングはイーサネット(登録商標)・ベースのSTBにおいて行われる。本発明はSTBを使って記載されるが、等価なまたは同様の機能をもついかなるデバイスも、そのデバイスの名前にかかわりなく、本発明によって考えられている。一般に、純粋なMACブリッジは、同じでも異なっていてもよいLANセグメントどうしを接続する。ブリッジによって相互接続された異なるLAN技術の集合はブリッジ・ローカル・エリア・ネットワーク(bridge local area network)として知られている。MACブリッジはMACサービス境界の下で動作し、MACブリッジ・サービス境界の上で使われるプロトコルにとっては、QoSの違いがある可能性を除いては、透明である。 A typical system for which the present invention is designed includes a master device that delivers Internet Protocol (IP) based video to up to three client / remote devices. The device is an Ethernet / wireless MAC level bridge device, and the actual video tuning and rendering is done in an Ethernet-based STB. Although the present invention is described using an STB, any device that has an equivalent or similar function is contemplated by the present invention regardless of the name of the device. In general, a pure MAC bridge connects LAN segments that can be the same or different. A collection of different LAN technologies interconnected by a bridge is known as a bridge local area network. The MAC bridge operates below the MAC service boundary and is transparent to the protocol used above the MAC bridge service boundary, except that there may be a difference in QoS.
本発明のシステムおよび方法は、三つのリモートSTBへの制約された通信(すなわち、すべての通信がマスターSTBへ/マスターSTBから)をもつ例示的な家庭ビデオ配信システムを使って記載される。本稿で記載される技法は、より一般的な家庭ネットワークに簡単に拡張できる。今日まで、三つの高精細度ビデオ・ストリームを家庭内の三つのリモート位置に配信できる無線家庭配信システムがないことを注意しておくべきであろう。本発明はビデオ・ストリーミングを含む例示的な実施形態を使って記載されるが、用語「ビデオ」はデジタル・オーディオのような他のストリーミング・メディアを含む「マルチメディア・ストリーム」を含むよう拡張できることはすぐ明白であるはずであることも注意しておくべきであろう。 The system and method of the present invention is described using an exemplary home video distribution system with constrained communications to three remote STBs (ie, all communications to / from the master STB). The technique described in this article can be easily extended to more general home networks. It should be noted that to date there is no wireless home delivery system that can deliver three high-definition video streams to three remote locations in the home. Although the present invention will be described using an exemplary embodiment involving video streaming, the term “video” can be extended to include “multimedia streams” that include other streaming media such as digital audio. It should also be noted that should be obvious immediately.
すべてのトラフィックは、マスター・ブリッジング・デバイスへ/マスター・ブリッジング・デバイスからに制約される。マスター・ブリッジング・デバイスは、チャネル時間割り当て(CTAs: channel time allocations)を計画するビーコンを周期的に送信する。CTA内で各デバイスはそのデータを送信する。ビーコンに、次のビーコンまでのすべてのCTAを加えたものが、「スーパーフレーム(superframe)」と呼ばれ、図8に示されている。CTA1、2および3は下りトラフィック(たいていはビデオ)のためであり、CTA4、5および6は上りトラフィック(たいていはTCP受け取り確認(ACK)およびその他の管理/制御フレーム)のためである。マスター・ブリッジ・デバイスは、ビーコン送信に先立ってCTA割り当てを決定する。一般に、CTAは、マスター・デバイス(マスターSTB)によって決定されるか、リモート・デバイス(リモートSTB)によって要求される固定された時間スロットであることができる。すべての利用可能な時間割り当て/スロットをフルに利用することが望ましい。 All traffic is constrained to / from the master bridging device. The master bridging device periodically transmits beacons that plan channel time allocations (CTAs). Each device transmits its data within the CTA. A beacon plus all the CTA up to the next beacon is called a “superframe” and is shown in FIG. CTA1, 2 and 3 are for downstream traffic (usually video) and CTA4, 5 and 6 are for upstream traffic (usually TCP acknowledgment (ACK) and other management / control frames). The master bridge device determines CTA assignment prior to beacon transmission. In general, the CTA can be determined by a master device (master STB) or a fixed time slot requested by a remote device (remote STB). It is desirable to make full use of all available time allocations / slots.
本発明はまた、ビデオを搬送するプロトコルを含むビデオ・システム・ミドルウェアにいかなる変更も要求しないという利点もある。 The present invention also has the advantage of not requiring any changes to the video system middleware that includes the protocol for carrying the video.
上記の応用において、ビデオはTCPを通じて配信される。TCPは、プロトコル・スタックにおいてIPの上に層として重ねられる、接続指向の双方向プロトコルである。TCP ACKはインターネットを通じた伝送のために有用であるが、本発明におけるようなビデオ・ストリーミングにおける使用のための信頼できるLANにおけるその有用性には疑問がある。しかしながら、TCPは、ブリッジング・デバイスにおいてミドルウェアとして利用可能なものであり、既存のミドルウェアを変更するのではなく、増強し、向上させることが望ましい。低い物理層(PHY)パケット誤り率およびMAC層における再送信を通じて、高い信頼性が達成できる。リモートSTBによって返されるTCP ACKによって引き起こされるオーバーヘッドおよびTCPスライディング・ウィンドウに対する負の効果を減らすことも望ましい。 In the above application, video is delivered over TCP. TCP is a connection-oriented bidirectional protocol that is layered on top of IP in the protocol stack. Although TCP ACK is useful for transmission over the Internet, its utility in a reliable LAN for use in video streaming as in the present invention is questionable. However, TCP is available as middleware in bridging devices, and it is desirable to enhance and improve existing middleware rather than changing it. High reliability can be achieved through low physical layer (PHY) packet error rate and retransmission at the MAC layer. It is also desirable to reduce the negative effects on the overhead and TCP sliding window caused by the TCP ACK returned by the remote STB.
本稿に記載されるのは、TCP ACKによって引き起こされるオーバーヘッドを減らす三つの方法である。最初の二つの方法が組み合わされて第三の方法を形成する。(記述の目的のための)本発明の例示的な実施形態はTDMA MACに基づいているので、リモートSTBからマスターSTBへの送信は、スーパーフレームの長さに依存して5または10msec毎にバルクで起こる。この送信のために、リモートSTBは、その送信待ち行列からパケットを取り出し、送信のための一連のフレーム(または集積されたフレーム[aggregated frames])に組み立てる。この例示的な実施形態では、このトラフィックのすべては、マスターSTBを宛先とされている。第一の方法については、リモート・ブリッジ・デバイスは、その送信待ち行列内のフレームのIPおよびTCPヘッダを調べ、ACKのどれを消去できるかを決定する。フレームの内容に依存して、いくつかのTCP ACKが一つのTCP ACKで置き換えられる。これは、より短いCTAがリモート・デバイス/STBに割り当てられることを許容し、マスター・デバイス/STBに割り当てられるCTAのためにより多くの時間を、よって下りビデオのために割り当てられるより多くの時間を残す。 Described in this article are three ways to reduce the overhead caused by TCP ACK. The first two methods are combined to form a third method. Since the exemplary embodiment of the present invention (for descriptive purposes) is based on TDMA MAC, transmissions from the remote STB to the master STB are bulked every 5 or 10 msec depending on the length of the superframe. Happens at. For this transmission, the remote STB takes the packet from its transmission queue and assembles it into a series of frames (or aggregated frames) for transmission. In this exemplary embodiment, all of this traffic is destined for the master STB. For the first method, the remote bridge device examines the IP and TCP headers of the frames in its transmission queue to determine which of the ACKs can be deleted. Depending on the contents of the frame, several TCP ACKs are replaced with one TCP ACK. This allows a shorter CTA to be allocated to the remote device / STB, allowing more time for the CTA allocated to the master device / STB and hence more time allocated for downstream video. leave.
第二の方法では、マスターSTBに戻るTCP ACKがマスター・ブリッジ・デバイスによって生成される。この場合、マスターSTBはだまされて、パケットがすでにリモートSTBによって受信されたと思い込まされる。マスター・ブリッジ・デバイスはTCPスライディング・ウィンドウ、TCPシーケンス番号、最大セグメント・サイズ(MSS: maximum segment size)およびそれ自身の送信待ち行列を追跡する。TCPフレームがマスターSTBから頻繁に到着しすぎる場合、マスター・ブリッジ・デバイスは、待ち行列レベルが下がるまでTCP ACKを差し控える。これはフロー制御の一つの形である。マスター・ブリッジ・デバイスはまた、リモートSTBから実際に返されるTCP ACKを途中で捕らえ、それがマスターSTBに転送されないようにする。あるいはまた、TCP ACKはリモート・ブリッジ・デバイスによって途中で捕らえられることもでき、必要ならマスター・ブリッジ・デバイスに要約レポートが送られることもできる。リモート・ブリッジ・デバイスが途中で捕らえられたTCP ACKを破棄することも可能である。この第二の方法は、オーバーヘッドを減らすことに加えて、小さなTCPスライディング・ウィンドウの負の効果を減らすことができるという利点がある。 In the second method, a TCP ACK back to the master STB is generated by the master bridge device. In this case, the master STB is fooled and assumes that the packet has already been received by the remote STB. The master bridge device keeps track of the TCP sliding window, TCP sequence number, maximum segment size (MSS) and its own transmission queue. If TCP frames arrive too frequently from the master STB, the master bridge device refrains from TCP ACK until the queue level is lowered. This is a form of flow control. The master bridge device also intercepts the TCP ACK that is actually returned from the remote STB and prevents it from being forwarded to the master STB. Alternatively, the TCP ACK can be intercepted by the remote bridge device and a summary report can be sent to the master bridge device if necessary. It is also possible for the remote bridge device to discard a TCP ACK that was caught on the way. This second method has the advantage that in addition to reducing overhead, the negative effects of small TCP sliding windows can be reduced.
第三の方法は、上記の二つの方法を組み合わせる。TCP ACKは、第二の方法におけるように、ブリッジ・デバイス(マスターまたはリモート)の一つによってローカルに生成されるが、リモートSTBによって返されるTCP ACKは第一の方法に記載されるように組み合わされる。これらの方法は、MAC、IPおよびTCP層/機能に関わり、ブリッジ/MAC層に存在するので、層横断型(crosslayering)と考えることができる。その恩恵は、STBには何の変更も要求せずに、TCPを通じてストリーミングする負の効果を減らすことである。ブリッジ・デバイスは限られた量のTCP/IP処理を識別し、実行する。一般的なデータ・ネットワーク・トラフィックについて、業界はだいたいのところ、層のすべてを別個かつ独立に保ってきた。MAC層は通例、そのフレームのペイロードにおいて搬送されているデータ・トラフィックの種別を意識しない。たとえば、家庭用イーサネット(登録商標)・スイッチは、TCPやIPについて何の知識ももたず、実際、通例、何のセットアップも必要としない。ブリッジはネットワークに対して透明であり、MAC層において動作する。いかなる配信システムのいかなる従来技術の方法も、MAC/ブリッジ層の関与を通じてTCP ACKを減らそうとしたことはない。 The third method combines the above two methods. The TCP ACK is generated locally by one of the bridge devices (master or remote) as in the second method, but the TCP ACK returned by the remote STB is combined as described in the first method. It is. These methods involve the MAC, IP and TCP layers / functions and reside in the bridge / MAC layer and can be considered cross-layering. The benefit is to reduce the negative effect of streaming over TCP without requiring any changes to the STB. The bridge device identifies and performs a limited amount of TCP / IP processing. For general data network traffic, the industry has generally kept all of the layers separate and independent. The MAC layer is typically unaware of the type of data traffic being carried in the payload of the frame. For example, a home Ethernet switch has no knowledge of TCP or IP, and in fact does not typically require any setup. The bridge is transparent to the network and operates at the MAC layer. No prior art method of any delivery system has attempted to reduce TCP ACK through MAC / bridge layer involvement.
受け取り確認を管理する方法および装置であって、データ・パケットおよび受け取り確認をある接続と同定し、受け取り確認のどれが消去できるかを判定し、消去できる受け取り確認を単一の受け取り確認で置き換え、該単一の受け取り確認を送信することを含むものが記載される。受け取り確認を管理するための代替的な方法および装置であって、データ・セグメントを受信し、接続を追跡し(keep track of)、所定数のチャネル時間割り当てのための十分なデータ・セグメントがあるかどうかを判定し、前記所定数のチャネル時間割り当てのための十分なデータ・セグメントがある場合に、選択された接続についての受け取り確認を生成することを含むものが記載される。上記二つの方法の組み合わせであるさらにもう一つの代替的な方法も記載される。 A method and apparatus for managing acknowledgments, identifying data packets and acknowledgments as a connection, determining which acknowledgments can be erased, replacing erasable acknowledgments with a single acknowledgment, What includes sending the single acknowledgment is described. An alternative method and apparatus for managing acknowledgments, receiving data segments, keeping track of connections, and having enough data segments for a predetermined number of channel time allocations And determining if there are enough data segments for the predetermined number of channel time allocations to generate an acknowledgment for the selected connection. Yet another alternative method, which is a combination of the above two methods, is also described.
本発明は、以下の詳細な記述を付属の図面との関連で読むことから最もよく理解される。図面は以下の図を含む。 The invention is best understood from the following detailed description when read in conjunction with the accompanying drawings. The drawings include the following figures.
本発明は、TDMAサービスをサポートするIEEE802.15.3b MACを出発点とする(スーパーフレームの先頭におけるビーコンおよびスーパーフレーム内の諸伝送時間割り当て)。IEEE802.15bは、パーソナル・ネットワークとなるべく設計されたものであり、したがって、LANや都市圏ネットワーク(MAN)のために設計された技術よりも「軽い」。他のTDMA MACもあり、使うことができる(たとえばIEEE802.16)が、従来技術においては、純粋にMAC層にとって利用可能なトラフィック特性に基づいて動的にCTA長さを割り当てる試みはされていない。IEEE802.16は無線都市圏ネットワーク(WMAN: wireless metropolitan area network)のために設計されたものであり、サービス加入者へのインターネット配信のために使用される。IEEE802.16はサービス・プロバイダーが自らのネットワークをカスタマイズすることを許容する多くの機能およびオプションを含んでいる。本発明の例示的な実施形態はIEEE802.15.3bに関して記載されるが、その概念はIEEE802.16の実施形態にも等しく適用できる。パースするヘッダが若干多くなる。 The present invention starts from an IEEE 802.15.3b MAC that supports TDMA service (beacon at the beginning of a superframe and transmission time allocation in the superframe). IEEE802.15b was designed to be a personal network and is therefore “lighter” than technologies designed for LANs and metropolitan area networks (MANs). There are other TDMA MACs that can be used (eg, IEEE 802.16), but in the prior art, no attempt has been made to dynamically allocate CTA length based on traffic characteristics that are purely available to the MAC layer. . IEEE 802.16 is designed for wireless metropolitan area networks (WMAN) and is used for Internet distribution to service subscribers. IEEE 802.16 includes many features and options that allow service providers to customize their networks. Although exemplary embodiments of the present invention are described with respect to IEEE 802.15.3b, the concept is equally applicable to IEEE 802.16 embodiments. There are a few more headers to parse.
CTAを設定するときに考慮されなければならないTCPのいくつかの特徴がある。TCPは、32ビットのシーケンス番号および要求番号ならびに16ビットのスライディング・ウィンドウ長さフィールドを利用する転送プロトコルである。これら三つの数は、「停止して待機(Stop-and-Wait)」または「N個戻る(Go-Back-N)」ARQ〔自動再送要求〕エラー修復方式を実装するために使われる。送信待ち行列内および送信される過程にあるTCPパケットは「ネットワーク内にある」ので、TCPウィンドウは、それらのパケットが未決(outstanding)であることを許容するために宛先によって十分大きく設定されなければならない。一般に、MACレベルのブリッジング・デバイスはそのウィンドウのサイズを設定することに対して制御をもたないが、CTAおよびスーパーフレーム長さの初期選択は、問題を最小化するのに十分短く選ぶことができる。スーパーフレームの長さは、変化するTCPウィンドウ・サイズを扱えるよう、調節可能(または適応可能)にされてもよい。 There are several features of TCP that must be considered when setting up CTA. TCP is a transport protocol that utilizes a 32-bit sequence number and request number and a 16-bit sliding window length field. These three numbers are used to implement a "Stop-and-Wait" or "Go-Back-N" ARQ error recovery scheme. TCP packets in the transmission queue and in the process of being transmitted are “in the network”, so the TCP window must be set large enough by the destination to allow those packets to be outstanding. Don't be. In general, MAC level bridging devices have no control over the size of their windows, but the initial selection of CTA and superframe length should be chosen short enough to minimize the problem. Can do. The length of the superframe may be made adjustable (or adaptable) to handle changing TCP window sizes.
10msecのスーパーフレームについては、約19個の1400バイトTCPパケットが10msec毎に送信される。これで26,600バイトになる。例示的な実施形態の以下の記述の目的のために、約165キロバイトの送信バッファ待ち行列を選んだ。TCPウィンドウ・サイズは64キロバイトを超える未決データを許容しないので、TCPトラフィックについては送信バッファ待ち行列は決してオーバーフローしない。ウィンドウが、CTAが完全に満たされることすら許容しないほど十分小さいことさえありうる。このため、短いスーパーフレーム(5msec)で始めるほうがよい。すると、送信バッファ待ち行列は、少なくとも単一のTCPセッションを扱うことができるためには、51キロバイトより大きい必要はない。しかしながら、UDPを通じて送られるビデオの場合に紛失パケットを回避するため、165キロバイトの送信バッファ待ち行列を選んだ。 For a 10 msec superframe, approximately 19 1400 byte TCP packets are sent every 10 msec. This is 26,600 bytes. For the purposes of the following description of the exemplary embodiment, a transmit buffer queue of approximately 165 kilobytes was chosen. The TCP buffer size does not allow pending data exceeding 64 kilobytes, so the send buffer queue never overflows for TCP traffic. It is possible that the window is even small enough that it does not even allow the CTA to be completely filled. For this reason, it is better to start with a short superframe (5 msec). The send buffer queue then need not be larger than 51 kilobytes in order to be able to handle at least a single TCP session. However, to avoid lost packets in the case of video sent over UDP, we chose a 165 kilobyte transmit buffer queue.
ARQエラー修復方式の数学的モデルは待ち行列理論の分野内で開発され、必要ならTCPパフォーマンスをより精密にモデル化するために使用できることを注意しておく。ウィンドウ・サイズは、他のものがCTA内にある間、いくつかに対する十分な未決TCPパケットが待ち行列内にあることを許容するために十分大きいと想定される。5回までの再送信が許される例示的な実施形態では、CTAは、そのデータの約5倍が送信バッファ待ち行列内に逗留することができるほど十分小さいべきである。5msecのスーパーフレームは、最大サイズのTCPウィンドウが使用されたら、これを達成するであろう。 Note that a mathematical model of the ARQ error recovery scheme has been developed within the field of queuing theory and can be used to more accurately model TCP performance if necessary. The window size is assumed to be large enough to allow enough pending TCP packets for some to be in the queue while others are in the CTA. In an exemplary embodiment where up to 5 retransmissions are allowed, the CTA should be small enough that about 5 times that data can be detained in the transmit buffer queue. A 5 msec superframe will achieve this if the largest TCP window is used.
初期アプリケーションはTCPを使ってビデオをストリーミングすることになる一方、一般的な意味における良好なパフォーマンスを保証する唯一の方法がトラフィック・パターンに適応することを許容することであるよう、実装の十分な不確定さがある。 While the initial application will use TCP to stream video, the only way to ensure good performance in the general sense is to allow it to adapt to traffic patterns There is uncertainty.
リアルタイムの、長さが柔軟なスーパーフレーム構築が可能である。これは、システムの堅牢性を増し、システム・パフォーマンスを改善すると考えられる。スーパーフレームの長さは、例示的な実施形態において三つの個別ビデオ待ち行列の長さ、下り伝送チャネル条件および他の任意の可能な点に依存しうる。長さが柔軟なスーパーフレームの場合、ビーコンは、後続のCTAの長さをブロードキャストしなければならず、各リモートSTBは該リモートSTBに専用のCTAの長さについて通知される。 Real-time, flexible length superframe construction is possible. This is thought to increase system robustness and improve system performance. The length of the superframe may depend on the length of the three individual video queues, the downlink transmission channel conditions and any other possible points in the exemplary embodiment. For a flexible length superframe, the beacon must broadcast the length of the subsequent CTA, and each remote STB is informed about the length of the dedicated CTA to the remote STB.
上記したように、TCP受信ウィンドウがCTAの長さに対して十分小さいと、サーバーは前のパケットからのACKを受信するまで次のパケットを放出せず、ソースにおけるストリームを事実上遅くすることがありうる。そのレートは、所望されるリアルタイムのストリーミング・レートを下回ることもありうる。これを避けるため、本発明は、この飢餓条件につながらないCTAサイズを選択する。適正なレートを維持するために、CTAは、サイズを小さくされれば、より頻繁に生起する必要がある。これは、スーパーフレームのサイズを小さくすることによって、あるいはスーパーフレーム当たりそのリンクに二つ以上のCTAを割り当てることによって起こる。 As mentioned above, if the TCP receive window is small enough for the CTA length, the server will not release the next packet until it receives an ACK from the previous packet, effectively slowing the stream at the source. It is possible. That rate may be below the desired real-time streaming rate. To avoid this, the present invention chooses a CTA size that does not lead to this starvation condition. In order to maintain a reasonable rate, the CTA needs to occur more frequently if it is reduced in size. This occurs by reducing the size of the superframe or by assigning more than one CTA to that link per superframe.
さらに上記したように、TCPウィンドウ・サイズについての不確定さは、スーパーフレーム長さが変化する可能性につながる。これは、MAC層では、TCPヘッダを見ることに基づいてスーパーフレーム変化をトリガーすることによって、あるいはより適正には、送信バッファ待ち行列をモニタリングして送信バッファ待ち行列があまりにしばしば空になってCTAが送信すべきデータが足りない状態になる場合にはスーパーフレームを短くすることによってできる。例示的な実施形態では、初期には、固定されたスーパーフレーム長さが使用された。固定されたスーパーフレーム長さが与えられて、トラフィック特性に適応するためにCTA長さを修正することが調査される。その場合、たいていTCP ACKのために意図されたCTAにどのくらいの時間を割り当てるべきかのいくらかの不確定性がある。というのも、STB中のTCPスタックは複数のACKをグループ化することがあり、および/またはデータを含むパケットのヘッダにACKを含むことがあるからである。 Furthermore, as described above, uncertainty about the TCP window size leads to the possibility of changing the superframe length. This is because the MAC layer triggers a superframe change based on looking at the TCP header or, more appropriately, monitors the transmit buffer queue and the transmit buffer queue becomes too often empty. When there is insufficient data to be transmitted, the superframe can be shortened. In the exemplary embodiment, initially a fixed superframe length was used. Given a fixed superframe length, it is investigated to modify the CTA length to accommodate traffic characteristics. In that case, there is some uncertainty about how much time should be allocated to the CTA that is usually intended for TCP ACK. This is because the TCP stack in the STB may group multiple ACKs and / or include ACKs in the header of packets that contain data.
最低限、どんな所与の送信待ち行列の平均出力パケット・レートも、平均パケット到着レートより下に保たれねばならないことはわかっている。そうでなければ、待ち行列はオーバーフローする。しかしながら、たとえ平均到着レートが平均出発レートより低くても、入力ストリームの統計的性質のため、入力レートが一時的に出力レートを超えることはありうる。平均出力レートを平均入力レートより高く保つことは、必要ではあるが、十分ではない。IPトラフィックの特定性の欠如のため、システムを適応的にすることが最善である。 It has been found that at a minimum, the average output packet rate for any given transmission queue must be kept below the average packet arrival rate. Otherwise, the queue overflows. However, even though the average arrival rate is lower than the average departure rate, the input rate can temporarily exceed the output rate due to the statistical nature of the input stream. It is necessary but not sufficient to keep the average output rate above the average input rate. Due to the lack of specificity of IP traffic, it is best to make the system adaptive.
適応を許容するために、全スーパーフレームについての待ち行列情報が記録される。待ち行列情報は、待ち行列のサイズ(固定なら送る必要はない)、待ち行列中のパケット数、待ち行列中のパケットの平均長さおよび入力パケット・レートの推定値を含む。この情報が、各DEVまたはリモートSTBへの信頼性のあるリンク速度についての情報とともに、適応アルゴリズムへの入力として使われる。適応アルゴリズムの目標は、パケットを落とさないこと、そしてその目標に達するような仕方でスーパーフレーム時間をCTAに分配することである。適応アルゴリズムは、各待ち行列中の期待されるパケット数を最小化しようと(よって遅延を最小にしようと)、および/または待ち行列がオーバーフローする確率を最小にしようと努める。待ち行列レベルをモニタリングすることによって、MACはスーパーフレームごとに、最も満たされている待ち行列に送信優先を与えるよう、CTAを調節しうる。 In order to allow adaptation, queue information for all superframes is recorded. Queue information includes queue size (no need to send if fixed), number of packets in queue, average length of packets in queue, and estimate of input packet rate. This information is used as input to the adaptive algorithm along with information about reliable link speeds to each DEV or remote STB. The goal of the adaptive algorithm is not to drop packets and to distribute the superframe time to the CTA in such a way as to reach that goal. The adaptive algorithm attempts to minimize the number of expected packets in each queue (and thus minimize delay) and / or minimize the probability that the queue will overflow. By monitoring the queue level, the MAC can adjust the CTA to give transmission priority to the most satisfied queue for each superframe.
本発明は、圧縮されたビデオをマスターSTBからリモートSTBに配信する無線ビデオ・サービス配信システムのMAC層およびブリッジング層に関する。本システムはIEEE802.15.3b TDMA MACを部分的に利用し、したがってその規格からの用語をいくらか使う。その技術をSTBに組み込んだ例示的なシステムを図1に示す。 The present invention relates to a MAC layer and a bridging layer of a wireless video service distribution system that distributes compressed video from a master STB to a remote STB. The system partially uses the IEEE 802.15.3b TDMA MAC and therefore uses some terminology from that standard. An exemplary system incorporating the technology in the STB is shown in FIG.
マスターSTB105は、高度テレビ方式委員会(ATSC: Advanced Television Systems Committee)アンテナ(デジタル・テレビ)、衛星アンテナおよび広域ネットワーク(WAN)モデムを含む多様なビデオ・ソースから入力を受信する。マスターSTBは、顧客スイッチに接続された、コンポジット全米テレビ方式委員会(NTSC: National Television Standards Committee)ビデオ・ディスプレイ、高精細度マルチメディア・インターフェース(HDMI: High Definition Multi-media Interface)コンポーネント・ビデオ・ディスプレイおよびローカル・エリア・ネットワーク(LAN)を含むビデオ・ディスプレイ110(たとえばテレビ)に出力を提供する。マスターSTBは5つの衛星チューナーを有する(電子番組ガイド(EPG: electronic program guide)チューナー、メイン・チューナー、三つのリモート・チューナーおよびレコーディング・チューナー)。メイン・チューナーは、マスターSTBと通信しているディスプレイのユーザーが望む番組に同調するためのものである。三つのリモート・チューナーは、リモート・ディスプレイの各ユーザーが望む番組に同調するためのものである。EPGチューナーは、電子番組ガイドに同調するためのものである。レコーディング・チューナーは、マスターSTBと通信しているディスプレイのユーザーが、メイン衛星チューナーによって同調されている番組を視聴している間に記録したい番組に同調するためのものである。マスターSTBは二つのATSCチューナーを有する―メイン・チューナーおよびレコーディング・チューナーである。メイン・チューナーは、マスターSTBと通信しているディスプレイのユーザーが望む番組に同調するためのものである。レコーディング・チューナーは、マスターSTBと通信しているディスプレイのユーザーが、メインATSCチューナーによって同調されている番組を視聴している間に記録したい番組に同調するためのものである。マスターSTBは、デマルチプレクサ(多重分離器)、パーソナル・ビデオ・レコーダ(PVR)、リモコン装置とともに使用するための赤外(IR)受信器、衛星/ATSCデコーダおよび無線ハブをも有する。マスターSTB105は各リモートSTBに約20Mbpsでビデオを送信できる。マスターSTB105は衛星ベンダーのIPトラフィックを各リモートSTBと交換できる。マスターSTB105は、各リモートSTBと制御情報を交換できる。
The
マスターSTBは三つのリモートSTB(リモートSTB1 115、リモートSTB2 125およびリモートSTB3 135)と通信状態にある。リモートSTB1 115はビデオ・ディスプレイ120と通信状態にある。リモートSTB2 125はビデオ・ディスプレイ130と通信状態にある。リモートSTB3はビデオ・ディスプレイ140と通信状態にある。各リモートSTBの構成は同様なので、リモートSTB1についてのみ述べる。リモートSTB1 115は衛星/ATSCデコーダ、リモコン装置とともに使うためのIR受信器および無線ステーションを有する。リモートSTB1 115は、マスターSTB105から約20Mbpsでビデオを受信できる。リモートSTB1は、自分自身とマスターSTB1 105との間で衛星ベンダーのIPトラフィックを交換できる。リモートSTB1 115は、マスターSTB105と制御情報を交換できる。
The master STB is in communication with three remote STBs (
本発明は、MACレベルの無線ブリッジとして構築される(図2参照)。一般に、MACブリッジは、同じでも異なっていてもよいLANセグメントどうしを接続する。ブリッジによって相互接続された異なるLAN技術の集まりはブリッジ・ローカル・エリア・ネットワークとして知られる。MACブリッジはMACサービス境界の下で動作し、MACブリッジ・サービス境界の上で使われるプロトコルにとっては、QoSの違いがある可能性を除いては、透明である。MACサービス・ユーザーはMACサービス境界(MAC services boundary)の上にあり、MACサービス・プロバイダーはMACサービス境界の下にある。MAC層ブリッジは、各LANセグメント/コンポーネントとのインターフェースをもつためにリレーを含む。 The present invention is constructed as a MAC level wireless bridge (see FIG. 2). In general, a MAC bridge connects LAN segments that can be the same or different. A collection of different LAN technologies interconnected by a bridge is known as a bridge local area network. The MAC bridge operates below the MAC service boundary and is transparent to the protocol used above the MAC bridge service boundary, except that there may be a difference in QoS. MAC service users are above the MAC services boundary and MAC service providers are below the MAC service boundary. The MAC layer bridge includes a relay to interface with each LAN segment / component.
一般的な無線ブリッジが図3に示されている。無線ブリッジ305はイーサネット(登録商標)(Ethernet(登録商標))接続を介してサーバーと通信する。二つのサーバー310、315が示されている。無線ブリッジ305は、クライアントともイーサネット(登録商標)接続を介して通信する。四つのクライアント320、325、330、335が示されている。この一般的な無線ブリッジ内にはDEV0がある。これはピコネット・コントローラ(PNC: piconet controller)340である。PNC340は複数のデバイスと無線で通信する。三つのデバイスDEV1 345、DEV2 350およびDEV3 355が示されている。DEV0/PNC 340はサーバー310、315と通信する。DEV1 345はクライアント320と通信する。DEV2 350はクライアント325と通信する。DEV3 355はクライアント330、335と通信する。
A typical wireless bridge is shown in FIG. The
しかしながら、本発明の例示的な実施形態は、無線家庭ビデオ・サービス配信用途に適する経路を制約している。可能なデータ経路は図4で破線で示されている。無線ブリッジ405はマスターSTB410と無線で通信する。無線ブリッジ405はリモートSTB415、420、425とも無線で通信する。無線ブリッジ405は内部的には図2に示されるような構成である。すべてのトラフィックはマスターSTB410に行く、またはマスターSTB410からくる。
However, exemplary embodiments of the present invention constrain paths that are suitable for wireless home video service delivery applications. Possible data paths are indicated by broken lines in FIG. The
図5はサーバー側(マスターSTBおよびブリッジ・デバイス)のソフトウェア・アーキテクチャを示す。マスター・ブリッジ・デバイスはIEEE802.15.3に記載されるようなピコネット・コントローラ(PNC)でもあることを注意しておく。マスターSTB505はマスターSTB505内のミドルウェア・ビデオ・サーバー・アプリケーション510を有する。マルチメディア・ストリーム・ミドルウェア515は媒体QoS制御520およびデバイス・ドライバ525の両方とインターフェースをもつ。マルチメディア・ストリーム・ミドルウェア515はビデオ・データをデバイス・ドライバ525に転送し、媒体QoS制御ミドルウェア520と制御情報を交換する。媒体QoS制御ミドルウェアはデバイス・ドライバ525と制御情報を交換する。デバイス・ドライバ525は主としてビデオ・データをネットワーク・インターフェース(IEEE802.3)530と交換する。デバイス・ドライバ525内には、媒体ストリーム・ミドルウェア515からビデオ・データおよび制御情報を受信して媒体QoS制御ミドルウェア520と情報を交換するポータブル・オペレーティング・システム・ユニックス(POSIX: portable operating system Unix(登録商標))ドライバ535のサブセットがある。POSIXドライバのサブセットは、TCP/IP540および媒体ストリーム・プロトコル545およびQoS管理および制御550とのスタックにあるQoSミドルウェアと情報を交換する。PNC555は、無線MACビデオ・サーバー・ブリッジ・アプリケーション560を有し、この無線MACビデオ・サーバー・ブリッジ・アプリケーション560は、複数のソフトウェア・モジュールを含むソフトウェア565と制御情報を交換する。ソフトウェア565は無線電波インターフェース570およびIEEE802.3ドライバ575とビデオ・データおよび制御情報を交換する。IEEE802.3ドライバは主としてIEEE802.3ネットワーク・インターフェース580とビデオ・データを交換する。IEEE802.3ネットワーク・インターフェース580はIEEE802.3ネットワーク・インターフェース530とインターフェースをもち、そのビデオ情報を交換する。ソフトウェア565はIEEE802.1Dブリッジング・モジュールを含むいくつかのソフトウェア・コンポーネントを含み、このIEEE802.1Dブリッジング・モジュールは、無線デバイス管理エンティティ(DME: device management entity)およびIEEE802.2フレーム収束サブ層(FCSL: frame convergence sublayer)サービス・アクセス・ポイント(SAP: service access point)上に層として重ねられる。無線MACビデオ・サーバー・ブリッジ・アプリケーション560は無線DME管理SAPとインターフェースをもつ。無線DME管理SAPおよび無線DMEおよびIEEE802.2 FCSL SAPはいずれもIEEE802.2 FCSL DMEの上に層として重ねられる。IEEE802.2FCSL DMEはIEEE802.15.3b PNCの機能を実行し、QoSスケジューリングを行い、ブリッジ機能性を管理する。IEEE802.2 FCSL DMEはIEEE802.15.3b MAC SAPおよびIEEE802.15.3b MAC層管理エンティティ(MLME: MAC layer management entity) SAPの上に層として重ねられる。IEEE802.15.3b MAC層管理エンティティ(MLME)SAPはIEEE802.15.3b MLME上に層として重ねられ、このIEEE802.15.3b MLMEは物理層管理エンティティ(PLME: physical layer management entity)の上に層として重ねられる。IEEE802.15.3b MAC SAPはIEEE802.15.3b MACサブ層の上に層として重ねられ、このIEEE802.15.3b MACサブ層は無線物理SAPの上に層として重ねられる。IEEE802.15.3b MAC SAPは無線物理層の上に層として重ねられる。無線物理層管理エンティティ(PLME)SAPは無線物理層PLMEの上に層として重ねられる。無線PLMEは無線物理層と通信する。IEEE802.15.3b MACサブ層はIEEE802.15.3b MLMEと通信する。無線物理層および無線PLMEはビデオ・データおよび制御情報をそれぞれ無線電波インターフェースと交換する。
FIG. 5 shows the software architecture on the server side (master STB and bridge device). Note that the master bridge device is also a piconet controller (PNC) as described in IEEE 802.15.3. The
図6は、クライアント側(リモートSTBおよびブリッジ・デバイス)のSW〔ソフトウェア〕アーキテクチャを示す。本発明はブリッジ・デバイス内にあるが、コンテキストのためにSTBが示されていることを注意しておく。リモート/クライアント・ブリッジ・デバイスもIEEE802.15.3に記載されるようなDEV-x(非PNCデバイス)であることを注意しておく。リモート/クライアントSTB605はリモート/クライアントSTB605内のミドルウェア・ビデオ・クライアント・アプリケーション610を有する。メディア・ストリーム・ミドルウェア615は媒体QoS制御620およびデバイス・ドライバ625の両方とインターフェースをもつ。メディア・ストリーム・ミドルウェア615はビデオ・データをデバイス・ドライバ625に受け容れ、媒体QoS制御ミドルウェア620と制御情報を交換する。媒体QoS制御ミドルウェアはデバイス・ドライバと制御情報を交換する。デバイス・ドライバ625はたいていビデオ・データをネットワーク・インターフェース(IEEE802.3)630と交換する。デバイス・ドライバ625内には、媒体ストリーム・ミドルウェア615に主としてビデオ・データを送って媒体QoS制御ミドルウェア620と情報を交換するPOSIXドライバ635のサブセットがある。POSIXドライバのサブセットは、TCP/IP640および媒体ストリーム・プロトコル545およびQoS管理および制御650とのスタックにあるQoSミドルウェアと情報を交換する。Dev-x655は、無線MACビデオ・クライアント・ブリッジ・アプリケーション660を有し、この無線MACビデオ・クライアント・ブリッジ・アプリケーション660は、複数のソフトウェア・モジュールを含むソフトウェア665とビデオ・データおよび制御情報を交換する。ソフトウェア665は無線電波インターフェース670およびIEEE802.3ドライバ675とビデオ・データおよび制御情報を交換する。IEEE802.3ドライバは主としてIEEE802.3ネットワーク・インターフェース680とビデオ・データを交換する。IEEE802.3ネットワーク・インターフェース680はIEEE802.3ネットワーク・インターフェース630とインターフェースをもち、そのビデオ・データを交換する。ソフトウェア665はIEEE802.1Dブリッジング・モジュールを含むいくつかのソフトウェア・コンポーネントを含み、このIEEE802.1Dブリッジング・モジュールはDMEおよびIEEE802.2 FCSL SAP上に層として重ねられる。無線MACビデオ・クライアント・ブリッジ・アプリケーション660は無線DME管理SAPとインターフェースをもつ。無線DME管理SAPおよび無線DMEおよびIEEE802.2 FCSL SAPはいずれもIEEE802.2 FCSL DMEの上に層として重ねられ、このIEEE802.2 FCSL DMEはIEEE802.15.3b DEV-xの機能を実行し、QoSスケジューリングのために状態をPNCに送り、ブリッジ機能性を管理する。IEEE802.2 FCSL DMEはIEEE802.15.3b MAC SAPおよびIEEE802.15.3b MLME SAPの上に層として重ねられる。IEEE802.15.3b MLME SAPはIEEE802.15.3b MLME上に層として重ねられ、このIEEE802.15.3b MLMEは物理層管理エンティティ(PLME)の上に層として重ねられる。IEEE802.15.3b MAC SAPはIEEE802.15.3b MACサブ層の上に層として重ねられ、このIEEE802.15.3b MACサブ層は無線物理SAPの上に層として重ねられる。IEEE802.15.3b MAC SAPは無線物理層の上に層として重ねられる。無線PLME SAPは無線物理層PLMEの上に層として重ねられる。無線PLMEは無線物理層と通信する。IEEE802.15.3b MACサブ層はIEEE802.15.3b MLMEと通信する。無線物理層および無線PLMEはビデオ・データおよび制御情報を無線電波インターフェースと交換する。ソフトウェア665および660が、CTAについての情報をもつビーコン信号を受信し、それらの下りCTA内の再配信されたビデオ/メディアを受信し、適切な上りCTAにおいてMACレベルのACKまたはNAKを送信する。これらのACKは、TCPが使われるときにビデオ・クライアントにおいて生成されうるTCP ACKとは異なることを注意しておく。
FIG. 6 shows the SW (software) architecture on the client side (remote STB and bridge device). Note that although the present invention is in a bridge device, an STB is shown for context. Note that the remote / client bridge device is also a DEV-x (non-PNC device) as described in IEEE 802.15.3. The remote /
ここで図7を参照する。図7は、本発明の原理に基づく無線MACブリッジのブロック図である。PNC705は、割り当てられたCTAにおいてリモートSTB710、715、720へデータ/情報を送信し、リモートSTB710、715、720からデータ/情報を受信する。マスター・デバイス705は、チャネル時間割り当て(CTA)を取り決めるビーコンを周期的に送信する。CTA内で各デバイスはそのデータを送信する。CTA1、2および3は下りトラフィック(たいていはビデオ)のためである。CTA4、5および6は上りトラフィック(たいていはTCP ACKおよび他の管理フレーム)のためである。
Reference is now made to FIG. FIG. 7 is a block diagram of a wireless MAC bridge in accordance with the principles of the present invention. The
図8にスーパーフレームが示されている。マスター・デバイスはビーコン送信に先立って諸CTAを決定する。一般に、CTAは、マスター・デバイス/PNCによって決定されるかリモート・デバイス/STBによって要求される固定した時間スロットであることができる。具体的には、IEEE802.15.3bについては、規格が、リモートSTB/デバイスが「CTReq」メッセージをPNCに送ることによって帯域幅を要求する(request)ことを規定している。しかしながら、どんなCTA時間が要求または設定されても、デバイスのいずれも真にIPトラフィック特性の全てを先験的に知ることはない。トラフィックは、UDP(ACK返信なし)に基づくことができ、あるいはTCPに基づくこともできる。時によっては、トラフィックのすべてが下りであることができ(非対称)、いくらか対称的であるときもある。トラフィックの流れを最適にするよう諸CTA内の時間の量を適応させることによって、すべての利用可能な時間をフルに利用することが望ましい。スーパーフレームの左端の部分が最初に空中に送信され、スーパーフレームの右端の部分が最後に空中に送信される。ビーコンに続いて、CTAが送信されるが、下りCTAが先に送信され、その後上りCTAが送信される順序となる。本発明のコンテキストにおけるスーパーフレームは、5msecから10msecまでの間で変わりうる。 A superframe is shown in FIG. The master device determines CTAs prior to beacon transmission. In general, a CTA can be a fixed time slot determined by a master device / PNC or requested by a remote device / STB. Specifically, for IEEE 802.15.3b, the standard specifies that the remote STB / device requests bandwidth by sending a “CTReq” message to the PNC. However, no matter what CTA time is required or set, none of the devices truly know all of the IP traffic characteristics a priori. The traffic can be based on UDP (no ACK reply) or based on TCP. In some cases, all of the traffic can be downstream (asymmetric) and sometimes somewhat symmetric. It is desirable to make full use of all available time by adapting the amount of time within the CTA to optimize traffic flow. The leftmost part of the superframe is first transmitted in the air, and the rightmost part of the superframe is finally transmitted in the air. Following the beacon, the CTA is transmitted, but the downstream CTA is transmitted first, and then the upstream CTA is transmitted. The superframe in the context of the present invention can vary between 5 msec and 10 msec.
マスターSTBに接続されているPNCについての例示的なパケット流れ図が図9および図10に示されている。リモートSTBに接続されているDEV-x(すなわち非PNCデバイス)についての例示的なパケット流れ図が図11および図12に示されている。上記したように、例示的な高精細度ビデオ配信システムの無線MACブリッジは制約されたブリッジとして作用する。 Exemplary packet flow diagrams for PNCs connected to the master STB are shown in FIGS. Exemplary packet flow diagrams for DEV-x (ie, non-PNC devices) connected to a remote STB are shown in FIGS. As described above, the wireless MAC bridge of the exemplary high definition video distribution system acts as a constrained bridge.
ここで図9を参照すると、PNCはイーサネット(登録商標)・ビデオ・データ・フレームをイーサネット(登録商標)・ポート905で受信する(たいていはビデオ)。PNCはスーパーフレームおよび各CTAの長さを決定する。PNCは、宛先MACアドレスに依存してフレームを適正な送信待ち行列910a、910b、910cに入れる。PNCは、IEEE802.1Dに記載されるようにあふれ(flooding)を通じてMACアドレスを学習することができ、あるいはフィルタリング/ルーティング・テーブルが手動で埋められることができる。図の乱雑を減らす目的で、本発明は(各DEV-x/リモートSTB用に定められた)送信ポート当たり一つの待ち行列しかないと想定して記述される。すなわち、各優先度グループ(priority group)について一つの待ち行列である。イーサネット(登録商標)・ビデオ・データ・フレームは待ち行列に分けられる。例示的な実施形態では、待ち行列はそれぞれ165キロバイトであり、スーパーフレームは5msecから10msecまでの長さである。待ち行列からのビデオ・データ・フレームはソフトウェア・モジュール915に転送され、ソフトウェア・モジュール915がイーサネット(登録商標)・ビデオ・データ・フレームを、優先度マッピング、フレーム検査シーケンス(FCS: frame check sequence)、フラグメンテーションおよびヘッダ訂正コード(HCC: header correction code)計算を含むIEEE802.15.3b MACフレームへの変換を行う。ソフトウェア・モジュール915は、受信したイーサネット(登録商標)・ビデオ・データ・フレームを処理するための転送テーブル(forwarding tables)およびサービス・フロー(service flows)をデータ記憶ユニット920から受信する。ソフトウェア・モジュール915は、送信MACサービス・データ単位(MSDU: transmit MAC service data unit)を記憶するバッファ925と通信する。ソフトウェア・モジュール930は、スーパーフレームを構築するために、MACフレームをソフトウェア・モジュール915から要求する。ソフトウェア・モジュール915は複数のMSDUをソフトウェア・モジュール930に転送する。ソフトウェア・モジュール930は、スーパーフレームを構築するために、データ記憶ユニット935から物理的な特性およびパラメータを、バッファ940から直前のサービス・フレームからのMSDU受け取り確認(ACK)を受信する。データ記憶ユニット945は、CTA長が変えられるようローカルおよびリモートのDEV(STB)待ち行列長さとして記憶されているMAC帯域幅管理コマンドを、直前のスーパーフレームから受信する。この情報はMAC帯域幅管理エンティティ950に転送され、このMAC帯域幅管理エンティティ950は、スーパーフレームの構築をさらに支援するため、CTA長をソフトウェア・モジュール930に転送する。ソフトウェア・モジュール930は、直前のフレームから再送信されるべきMSDUをも、スーパーフレーム再送信バッファ955から受信する。このスーパーフレーム再送信バッファ955は、各リモートSTB MACプロトコル・データ単位(MPDU)において複数のMSDUを記憶しており、受け取り確認がされたMSDUを破棄する。ソフトウェア・モジュール930によって構築されたスーパーフレームはスーパーフレーム構築バッファ960に記憶される。ソフトウェア・モジュール930によって構築されたスーパーフレームは下りMPDUおよび上り時間を含む。スーパーフレーム構築バッファ960は構築されたスーパーフレームを、各リモートSTB MPDU内の複数MSDUの形で、スーパーフレーム送信バッファ965に転送する。スーパーフレーム送信バッファ965はスーパーフレーム構築バッファから受信したスーパーフレームを、スーパーフレーム再送信バッファ955に転送する。スーパーフレーム送信バッファ965は完全なMPDUをソフトウェア・モジュール970に転送する。ソフトウェア・モジュールは、遅延されたACKを受信期間の間にリモートSTBから受信し、時間クロック975からタイミング情報を受信する。ソフトウェア・モジュール970は複数のMSDUを各MPDUにまとめ、それらを送信のために物理層モジュール980に転送する。ソフトウェア・モジュール970は、ビーコン内のタイミングに基づくタイミングを使い、送信データ、送信データ・レート、送信長、送信電力レベルおよび送信アンテナ制御を物理層モジュール980に転送し、この物理層モジュール980が物理データ・プロトコル単位(PPDU: physical data protocol unit)をPNCから指定されたリモートSTBに送信する。
Referring now to FIG. 9, the PNC receives an Ethernet video data frame at the Ethernet port 905 (usually video). The PNC determines the superframe and the length of each CTA. The PNC places the frame in the
図10は受信パケットの流れを描いているので、記述は図の右側から始まって進行する。PPDUが物理層ソフトウェア・モジュール1005で受信される。この物理層ソフトウェア・モジュール1005は時間クロック1010からも入力を受信する。物理層ソフトウェア・モジュールは受信したデータ、長さ、リンク品質指標(LQI: link quality indicator)、受信信号強度指標(RSSI: received signal strength indicator)およびPHY受信エラーをソフトウェア・モジュール1015に転送する。ソフトウェア・モジュール1015は、タイミング・ビーコンに基づくタイミングを使って、PPDUを、MSDUを集積したものであるMPDUに分解し、MPDUをソフトウェア・モジュール1020に転送する。ソフトウェア・モジュール1020はHCC計算を実行し、完全なMSDUフレームまたはフラグメントを単離し、フレーム検査シーケンスを処理し、正しく受信されたMSDUを追跡し、遅延されたACK要求に応答して遅延されたACKを構築し、MSDUをフィルタ処理し、それにより、サーバーのために意図された正しいMSDUのみがサーバー(マスターSTB)に渡されるようにする。ソフトウェア・モジュール1020は受信されたMSDUについての遅延されたACKを転送し、サーバー(マスターSTB)のために意図されていないMSDUを破棄する。ソフトウェア・モジュール1020は、上記の機能を実行するために、物理的特性およびパラメータをデータ記憶ユニット1025から受信する。ソフトウェア・モジュール1020は、遅延されたACKおよび帯域幅管理メッセージのようなMACコマンドを、ソフトウェア・モジュール1030に転送する。このソフトウェア・モジュール1030は、MACコマンドを分離し、MSDU ACKをMSDU ACKバッファ1035に転送し、MAC帯域幅情報要素(IE: information element)をMAC帯域幅管理エンティティ1040に転送する。ソフトウェア・モジュール1020は、MSDU(たいていはTCP ACK)をソフトウェア・モジュール1045に転送しもする。このソフトウェア・モジュール1045が、フラグメントから完成されたMSDUを再構築し、不完全なMSDUのフラグメントを記憶し、MSDUのフラグメントを適正な順序にする。ソフトウェア・モジュール1045は並べ替えフレーム構築バッファ1050および受信MSDUフラグメント・バッファ1055と通信する。ソフトウェア・モジュール1045は完全なMSDUをソフトウェア・モジュール1060に転送し、そこで、完全なMSDUは、フレーム検査シーケンスおよび優先度マッピングを含むイーサネット(登録商標)・フレームに変換される。ソフトウェア・モジュールは転送テーブルおよびサービス・フロー情報をデータ記憶ユニット1065から受信し、イーサネット(登録商標)・フレームをサーバー(マスターSTB)に転送する。
Since FIG. 10 depicts the flow of received packets, the description starts from the right side of the figure. A PPDU is received at the physical
図11は、リモートSTB(ビデオ・クライアント)に接続されているDEV-xについての高レベルの送信パケット流である。イーサネット(登録商標)・フレームは、ソフトウェア・モジュール1105によって受信される。このソフトウェア・モジュール1105はビデオ・クライアントからのはいってくるフレームをフィルタ処理し、分類する。ソフトウェア・モジュール1105は、イーサネット(登録商標)・フレームをフレーム待ち行列1110に転送する。すべてのトラフィックはサーバー(マスターSTB)に行くはずなので、一つの待ち行列しかない。しかしながら、複数の優先度が望まれる場合には、複数の待ち行列が実装される――各優先度グループ(priority group)について一つの待ち行列である。待ち行列内のデータはソフトウェア・モジュール1115に転送される。このソフトウェア・モジュール1115はイーサネット(登録商標)・フレームを、優先度マッピング、フレーム検査シーケンス、フラグメンテーションおよびHCC計算を含むIEEE802.15.3 MACフレームに変換する。ソフトウェア・モジュール1115は転送テーブルおよびサービス・フロー情報をデータ記憶ユニット1120から受信する。ソフトウェア・モジュール1115は送信MSDU送信バッファ1125とも通信する。ソフトウェア・モジュールは複数のMSDUをソフトウェア・モジュール1130に転送する。このソフトウェア・モジュール1130は次のスーパーフレーム内での送信のために、上りMPDUを構築する。ソフトウェア・モジュール1115はまた、ソフトウェア・モジュール1130からの要求も受信する。ソフトウェア・モジュール1130は直前のスーパーフレームからのMSDU ACKをバッファ1135から受信する。ソフトウェア・モジュール1130は、物理的特性およびパラメータをデータ記憶ユニット1140から受信し、CTA情報をデータ記憶ユニット1145からのビーコンから受信する。ソフトウェア・モジュール1130はMAC帯域幅管理コマンドをソフトウェア・モジュール1150から受信し、このソフトウェア・モジュール1150は、データ記憶ユニット1155から受信されたローカルな待ち行列長さ情報およびデータ記憶ユニット1160からの直前のスーパーフレームからのMAC帯域幅要求応答(待ち行列情報を交換するために非標準的な仕方で使用されるIEEE802.15.3 MACコマンド)を使って、帯域幅管理メッセージを構築する。ソフトウェア・モジュール1130は、直前のスーパーフレームからの再送信されるべきMSDUをスーパーフレーム再送信バッファ1165から受信する。各MPDUには複数のMSDUがある。スーパーフレーム再送信バッファ1165は、受け取り確認されたMSDUの破棄もする。ソフトウェア・モジュール1130は構築バッファ1170と通信する。この構築バッファ1170は次のスーパーフレームのための上りMPDUのためのバッファである。構築バッファ1170は上りMPDUをスーパーフレーム送信バッファ1175に転送する。このスーパーフレーム送信バッファ1175は上りMPDUをソフトウェア・モジュール1180に転送する。スーパーフレーム送信バッファ1175は上りMPDUをスーパーフレーム再送信バッファ1165にも転送する。ソフトウェア・モジュール1180は、ビーコンに基づくタイミングを使って、複数のMSDUを各MPDUにまとめ、MPDUを送信のために物理層ソフトウェア・モジュール1185に渡す。ソフトウェア・モジュールは時間クロック1190から時間を受信し、サーバー(マスターSTB)から受信期間の間に遅延されたACKを受信する。ソフトウェア・モジュール1180は送信データ、送信データ・レート、送信長さ、送信電力レベルおよび送信アンテナ制御を物理層ソフトウェア・モジュール1185に転送する。
FIG. 11 shows a high-level transmission packet stream for DEV-x connected to a remote STB (video client). The Ethernet frame is received by the
リモートDEVにおける受信プロセスの近似が図12に示されている。受信プロセスは、主として、スーパーフレームの分解と、次いでフラグメント化したフレームを再び集めることを含むイーサネット(登録商標)・フレームの再構築からなる。受信側もエラーがないかどうか検査し、PNCへの返送のためにDLY ACK(バルクACKの一つの型)を用意する。DLY ACKは、そのパケットが到着したCTAの反対方向を向いて、CTAの最初において送られる。これは、規格からのもう一つの逸脱である。 An approximation of the reception process at the remote DEV is shown in FIG. The receiving process mainly consists of the reconstruction of the Ethernet frame, which involves disassembling the superframe and then recollecting the fragmented frames. The receiver also checks for errors and prepares a DLY ACK (a type of bulk ACK) for return to the PNC. The DLY ACK is sent at the beginning of the CTA, pointing in the opposite direction of the CTA from which the packet arrived. This is another departure from the standard.
図12は、ビデオ・クライアント(リモートSTB)に接続されたDEV-xについての高レベルの受信パケットの流れ図である。よって、記述は図の右側から始まって進行する。ソフトウェア・モジュール1205はPPDUを受信し、受信されたデータ、受信されたエラー、長さ、LQIおよびRSSIをソフトウェア・モジュール1215に転送する。ソフトウェア・モジュール1205は受信アンテナ制御情報をソフトウェア・モジュール1215から受信し、タイミング情報を時間クロック1210から受信する。ソフトウェア・モジュール1215はMPDUを物理層ソフトウェア・モジュール1205から受信する。複数のMSDUが各MPDUにまとめられる。ソフトウェア・モジュール1215は時間クロック1210からタイミングを受信する。ソフトウェア・モジュール1215は、MPDUの諸片をソフトウェア・モジュール1220に転送する。このソフトウェア・モジュール1220がHCC計算を実行し、完全なMSDUまたはフラグメントを単離し、フレーム検査シーケンスを処理し、正しく受信されたMSDUを追跡し、遅延されたACK要求に応答して遅延されたACKを構築し、MSDUをフィルタ処理し、サーバー(マスターSTB)のために意図された正しく受信されたMSDUのみを転送する。ソフトウェア・モジュールは、物理的特性およびパラメータをデータ記憶ユニット1225から受信し、受信されたMSDUについての遅延されたACKを転送する。ソフトウェア・モジュール1220は、そのビデオ・クライアント(リモートSTB)のために意図されていないMSDUは破棄し、MACコマンドをソフトウェア・モジュール1230に転送する。このソフトウェア・モジュール1230はMAC管理メッセージを分離し、MAC帯域幅応答をデータ記憶ユニット1235に転送し、リモートSTBからのMSDU ACKをMSDUバッファ1240に転送する。ソフトウェア・モジュール1220はMSDUをソフトウェア・モジュール1245に転送し、このソフトウェア・モジュール1245がフラグメントから完成されたMSDUを再構築し、不完全なMSDUのフラグメントを記憶し、MSDUを適正な順序にする。ソフトウェア・モジュール1245は並べ替えおよびフレーム構築バッファ1250および受信MSDUフラグメント・バッファ1255と通信する。ソフトウェア・モジュール1245は完全なMSDUをソフトウェア・モジュール1260に転送し、このソフトウェア・モジュール1260はMACフレームを優先度を含むイーサネット(登録商標)・フレームに変換する。ソフトウェア・モジュール1260は、転送テーブルおよびサービス・フロー情報もデータ記憶ユニット1265から受信する。
FIG. 12 is a high level received packet flow diagram for DEV-x connected to a video client (remote STB). Thus, the description starts from the right side of the figure.
図13を参照すると、物理プリアンブルおよび物理ヘッダがCTA当たり一つの物理フレームをなす。リモートSTBへの遅延されたACK、リモートSTBへの待ち行列状態情報要求およびリモートSTBへの複数データ・パケットが、保護されたMACヘッダとともにMACフレームの集合をなす。上記がそのCTA内での任意の余っている時間と連結されたものが、リモートSTBへのそのPNCのための下りCTAをなす。 Referring to FIG. 13, the physical preamble and the physical header form one physical frame per CTA. A delayed ACK to the remote STB, a queue status information request to the remote STB, and multiple data packets to the remote STB form a set of MAC frames with a protected MAC header. The above concatenated with any extra time in that CTA forms the downstream CTA for that PNC to the remote STB.
ここで図14を参照すると、各MACペイロードについて、対応するMACヘッダがある。HCCが計算され、MACヘッダの後かつMACペイロードの前に挿入される。FCSが計算され、MACペイロードの後に挿入される。これは、スーパーMACフレームを作り出すために各MACペイロードについてなされる。スーパーMACフレーム長は物理ヘッダの一部である。物理ヘッダは、変調され空中を通じて送信されるCTAを作るためにスーパーMACフレームより前に挿入される。物理ヘッダは遅い、信頼できるレートで送信され、CTAのスーパーMACフレーム部分は何らかの望ましいレートで送信される。 Referring now to FIG. 14, there is a corresponding MAC header for each MAC payload. The HCC is calculated and inserted after the MAC header and before the MAC payload. The FCS is calculated and inserted after the MAC payload. This is done for each MAC payload to create a super MAC frame. The super MAC frame length is a part of the physical header. The physical header is inserted before the super MAC frame to create a CTA that is modulated and transmitted over the air. The physical header is sent at a slow, reliable rate, and the super MAC frame portion of the CTA is sent at some desired rate.
CTA4、CTA5およびCTA6内のフレームの送信は同様にして送られる。これらのCTAの一つにおいて送られるフレームの一例が図15に示されている。図15は、単一の上りCTAの一つ(DEV-xからPNC)を描いている。単一の上りCTAは一つの物理フレームと、保護されたヘッダをもつMACフレームの集合と、CTA内の任意の余った時間を含む。本発明については、上りトラフィックの多くはTCP ACKであろう。図13に示された下りCTAと同様、物理フレームは物理プリアンブルおよび物理ヘッダを含む。MACフレームの集合はPNCへの遅延されたACK、PNCへの待ち行列状態情報およびPNCへのデータ・パケットを含む。このCTAが、PNCに待ち行列状態情報を運び戻すフレームを含んでいることを注意しておく。この待ち行列状態情報は待ち行列のサイズ(もし可変なら)、待ち行列中のフレーム数、フレームの平均長および待ち行列の入力におけるフレーム到着レートを含んでいてもよい。 Transmission of frames in CTA4, CTA5 and CTA6 is sent in the same way. An example of a frame sent in one of these CTAs is shown in FIG. FIG. 15 depicts one of the single uplink CTAs (DEV-x to PNC). A single upstream CTA includes one physical frame, a set of MAC frames with protected headers, and any extra time in the CTA. For the present invention, much of the upstream traffic will be a TCP ACK. Similar to the downlink CTA shown in FIG. 13, the physical frame includes a physical preamble and a physical header. The set of MAC frames includes a delayed ACK to the PNC, queue state information to the PNC, and a data packet to the PNC. Note that this CTA includes a frame that carries the queue state information back to the PNC. This queue status information may include the size of the queue (if variable), the number of frames in the queue, the average length of the frames, and the frame arrival rate at the queue input.
本発明については、ビデオ・ストリーミング・パケット(下り)はTCPを使ってマスターSTBから送られると想定される。このため、ビデオとは反対方向(上り)にTCP ACKが生成されることになる。これらのTCP ACKはオーバーヘッドを追加し、もしそのオーバーヘッドが解消されれば、より実際のトラフィック(すなわち下りのビデオ)のために時間を解放できる。さらに、TCPに組み込まれたフロー制御機構のため、および(バッファおよびCTAに起因して)無線ブリッジによって追加される追加的な遅延のため、TCPは、ビデオ・ストリームが、それが本当に達する必要のあるレートに達することを妨げうる。 For the present invention, it is assumed that video streaming packets (downstream) are sent from the master STB using TCP. For this reason, a TCP ACK is generated in the opposite direction (upstream) to the video. These TCP ACKs add overhead, and if that overhead is eliminated, time can be freed for more actual traffic (ie, downstream video). In addition, because of the flow control mechanism built into TCP, and because of the additional delay added by the wireless bridge (due to the buffer and CTA), TCP needs a video stream that it really needs to reach Can prevent reaching a certain rate.
まず、問題がよりよく理解されるよう、TCPについて手短に述べる。次いで、その問題を解決する助けとなりうる、高レベルでの若干数の層横断型の修正を呈示する。なお、マスターSTBおよびリモートSTBにおけるTCPパラメータそのものの変更が、この問題を解決するためのもう一つの方法であるが、何度か述べたように、これは可能ではないと想定されることを注意しておく。 First, let's briefly discuss TCP to better understand the problem. It then presents a number of cross-layer modifications at a high level that can help solve the problem. Note that changing the TCP parameters themselves on the master and remote STBs is another way to solve this problem, but as mentioned several times, this is not possible. Keep it.
TCPは、全二重の接続指向の(connection-oriented)転送プロトコルである。TCPはデータ・ストリームのセグメントを送る。UDPは呈示されるパケットを送る。TCPの一つの特徴は、信頼できる送達である。これは、TCP ACKの使用を通じて保証される。この機構はインターネット・トラフィックについて有益であることが立証されているが、信頼できる送達を生じるその恩恵は、すでに高い信頼性をもつLAN上では疑問がある。よって、TCP ACKは著しいオーバーヘッドを追加する。無線のような帯域幅制限されたネットワークの場合、そのオーバーヘッドの不利は多大である。 TCP is a full-duplex connection-oriented transfer protocol. TCP sends a segment of the data stream. UDP sends the presented packet. One feature of TCP is reliable delivery. This is guaranteed through the use of TCP ACK. Although this mechanism has proven to be beneficial for Internet traffic, its benefits of producing reliable delivery are questionable on LANs that are already highly reliable. Thus, TCP ACK adds significant overhead. For bandwidth limited networks such as wireless, the overhead penalty is significant.
TCPカプセル化が図16に示されている。TCPヘッダがTCPペイロードの前に付加される。これら両者の前にIPヘッダが付加される。TCPペイロードとTCPヘッダの組み合わせはTCPセグメント(TCP segment)とも呼ばれる。TCPセグメントとIPヘッダの組み合わせはIPデータグラム(IP datagram)とも呼ばれる。 TCP encapsulation is shown in FIG. A TCP header is added in front of the TCP payload. An IP header is added before both of these. A combination of a TCP payload and a TCP header is also called a TCP segment. The combination of a TCP segment and an IP header is also called an IP datagram.
IPヘッダおよびTCPヘッダがそれぞれ図17および図18に示されている。IPヘッダは宛先IPアドレスおよびソースIPアドレスを含む。さらに、IPヘッダは、そのペイロードを識別するために使われるプロトコル番号を含む。TCPの場合、この番号は17である。UDPなら6である。TCPヘッダは宛先ポート番号およびソース・ポート番号を含む。ポート番号は、各端におけるデバイスによって、そのTCP接続に関連付けられたソフトウェア・アプリケーションまたはコードを識別するために使用される。 The IP header and TCP header are shown in FIGS. 17 and 18, respectively. The IP header includes a destination IP address and a source IP address. In addition, the IP header includes a protocol number used to identify the payload. For TCP, this number is 17. 6 for UDP. The TCP header contains the destination port number and the source port number. The port number is used by the device at each end to identify the software application or code associated with that TCP connection.
さらに、TCPヘッダは、本発明の動作に重要ないくつかの他のフィールドを含む。TCPは全二重接続なので、各端は別個のシーケンス番号カウンタを維持する。32ビットのシーケンス番号はバイト・カウンタであり、出ていくパケット毎に、同じTCP接続の一部であるソース・デバイスによってインクリメントされる。このヘッダはまた、32ビットの受け取り確認番号をも含む。これは、送信側に、受信器が期待する次のバイトが何であるかを(換言すれば、受信器がバイト−1まで成功裏に受信したということを)通知するために使われる。全二重TCP接続の反対方向も同じ手順をたどる。 In addition, the TCP header includes several other fields that are important to the operation of the present invention. Since TCP is a full-duplex connection, each end maintains a separate sequence number counter. The 32-bit sequence number is a byte counter that is incremented for each outgoing packet by a source device that is part of the same TCP connection. This header also includes a 32-bit receipt confirmation number. This is used to inform the sender what the next byte the receiver expects (in other words, the receiver has successfully received byte-1). Follow the same procedure for the opposite direction of a full-duplex TCP connection.
受信器が受信しうる最大セグメント・サイズ(バイト単位)を示す最大セグメント・サイズ(MSS)が受信器から送信器に送られる。典型的なTCP MSSは1024(一般的)、536(一端が他端からMSSを受信しないときのデフォルト)、イーサネット(登録商標)上での1460などである。536というデフォルトは、IPが最小サイズ576バイトのパケット(ペイロードおよびTCPおよびIPヘッダ)を扱える必要があるという事実を反映している。よって、インターネットに送られるトラフィックは通例、この数に制限される。外部ルート対内部ルートは、経路最大転送単位(MTU: maximum transfer unit)発見によって決定される。 A maximum segment size (MSS) indicating the maximum segment size (in bytes) that can be received by the receiver is sent from the receiver to the transmitter. Typical TCP MSSs are 1024 (general), 536 (default when one end does not receive MSS from the other end), 1460 over Ethernet, etc. The default of 536 reflects the fact that IP needs to be able to handle packets with a minimum size of 576 bytes (payload and TCP and IP header). Thus, traffic sent to the Internet is typically limited to this number. The external route vs. internal route is determined by finding a maximum transfer unit (MTU).
チェックサムは、TCPヘッダおよびデータをカバーし、フレームが正しく受信されたかどうかを判定するために使用される。最も一般的なオプション・フィールドは最大セグメント・サイズ(MSS)である。これは、接続が確立されようとしているときに送られる。ACKフィールドは、受け取り確認値が有効であることを意味する。 The checksum covers the TCP header and data and is used to determine if the frame was received correctly. The most common option field is the maximum segment size (MSS). This is sent when a connection is about to be established. The ACK field means that the receipt confirmation value is valid.
シーケンス番号は、選択的な再送信や否定受け取り確認なしにスライディング・ウィンドウ・プロトコルを実装するために使われる。シーケンス番号は、「N個戻る(Go-Back-N)」方式または「停止して待機(Stop-n-Wait)」方式において使用できる。TCPスライディング・ウィンドウ動作は図19に示されている。基本的に、任意の所与の時点において、「ネットワーク内」には受け取り確認されていないバイトが限られた数だけ許容される。バイトが受け取り確認されるときに、ウィンドウの後端部分(trailing part)が左に動く。バイトが受け取り確認されるおよび/またはより大きなウィンドウが広告されるときに、ウィンドウの先端(leading end)が左に動く。使用可能なウィンドウ内に残されるバイト数はウィンドウ・サイズおよびすでに送られたバイトが何バイトかに依存する。宛先は、受信できるバイト数に基づいて(おそらくは受信バッファ・サイズに基づいて)ウィンドウ・サイズを設定する。スライディング・ウィンドウは、次に示すよく知られた帯域幅遅延積制限(bandwidth delay product limitation)を与える。 The sequence number is used to implement the sliding window protocol without selective retransmission or negative acknowledgment. The sequence number can be used in the “Go-Back-N” method or the “Stop-n-Wait” method. The TCP sliding window operation is shown in FIG. Basically, a limited number of unacknowledged bytes are allowed “in the network” at any given time. When the byte is received and confirmed, the trailing part of the window moves to the left. When a byte is received and / or a larger window is advertised, the leading end of the window moves to the left. The number of bytes left in the available window depends on the window size and how many bytes have already been sent. The destination sets the window size based on the number of bytes it can receive (perhaps based on the receive buffer size). The sliding window provides the following well-known bandwidth delay product limitation.
ウィンドウ・サイズ(容量)=有効帯域幅(ビット/秒)×往復時間(秒)
TCPはもともと、16ビットのウィンドウ・サイズをもつだけであった。これは、TCP受信器がウィンドウ・サイズをその最大に設定したとき、ネットワーク内に許容されるのはたった64キロバイトであったことを意味していた。ウィンドウ・サイズは、ネットワーク中のずっと多くのバイトが受け取り確認されないでいることを許容するスケーリング・オプションを含むよう修正された。しかしながら、レガシー実装のため、そしてそれが「たいていの場合」機能するので、多くの実装はいまだに16ビットのスライディング・ウィンドウを使うのみである。有限のTCPスライディング・ウィンドウは、ビデオのために必要とされる広帯域幅およびTDMA MAC無線ブリッジのために必要とされる遅延に起因する目標アプリケーションにおける問題を引き起こすことができる。
Window size (capacity) = effective bandwidth (bits / second) x round-trip time (seconds)
TCP originally had only a 16-bit window size. This meant that when the TCP receiver set the window size to its maximum, only 64 kilobytes were allowed in the network. The window size has been modified to include a scaling option that allows many more bytes in the network to be received and not acknowledged. However, because of the legacy implementation and because it works "in most cases", many implementations still only use a 16-bit sliding window. The finite TCP sliding window can cause problems in the target application due to the high bandwidth required for video and the delay required for the TDMA MAC wireless bridge.
スライディング・ウィンドウが例示的なブリッジング・システムにどのように負の影響を与えることができるかを見るために、次の例を考える。スーパーフレームの長さが5msecまたは10msecに固定されており、CTAが固定されている場合については、表1がいくつかの代表的な値を示す。表2は、本稿に示されるMPDU集積(MPDU aggregation)の方法および他の若干の個別的な想定(たとえば、ビデオ・パケット・サイズ)を使って各CTA内に期待しうるパケットの概数を示す。往復時間(RTT: round trip time)は、TCPパケットが送られたときからそのセグメントのみに関連付けられたTCP ACKが受信される時刻までの時間である。スーパーフレームが10msecであれば、RTTは少なくとも20msecである。実際には、送信待ち行列内のパケットおよびMACレベルでの再送信のため、より高くなる。20Mbpsおよび20msecの遅延では、スライディング・ウィンドウは、ストリームが意図されるレートで流れることを許容するためには、少なくとも50キロバイトである必要がある。追加的なバッファリングおよびデータがCTAの開始と非同期ではいってくるという事実のため、ストリームがこの例において遅くなる可能性が高い。さらに、TCPスライディング・ウィンドウは、50キロバイトより遅い何らかの値に設定されてもよい。 To see how a sliding window can negatively impact an exemplary bridging system, consider the following example. Table 1 shows some typical values when the length of the superframe is fixed at 5 msec or 10 msec and the CTA is fixed. Table 2 shows the approximate number of packets that can be expected within each CTA using the MPDU aggregation method presented in this paper and some other individual assumptions (eg, video packet size). The round trip time (RTT) is the time from when a TCP packet is sent to the time when a TCP ACK associated only with that segment is received. If the superframe is 10 msec, the RTT is at least 20 msec. In practice, it is higher because of retransmissions at the packet and MAC levels in the transmission queue. For 20 Mbps and 20 msec delays, the sliding window needs to be at least 50 kilobytes to allow the stream to flow at the intended rate. Due to the additional buffering and the fact that the data comes asynchronously with the start of the CTA, the stream is likely to be slow in this example. Furthermore, the TCP sliding window may be set to some value slower than 50 kilobytes.
TCP受信器が誤りをもつパケットを受信する場合、TCP受信器は、そのパケットを破棄し、送信側がそのパケットを再送信するのを待つ。TCP送信者がタイムアウト期間、典型的には500msec以内にACKを受信しない場合、TCP送信者はそのパケットを再送信する。ビデオ・ストリーミング・アプリケーションについては、これでは受信側が使用するには遅すぎ、そのパケットも破棄されうる。 If the TCP receiver receives a packet with an error, the TCP receiver discards the packet and waits for the sender to retransmit the packet. If the TCP sender does not receive an ACK within the timeout period, typically 500 msec, the TCP sender will resend the packet. For video streaming applications, this is too late for the receiver to use and the packet can also be discarded.
「遅いスタート(Slow Start)」は比較的新しめのTCP機能である。この機能では、新しいパケットがネットワークに注入されるべきレートは、受け取り確認が反対側から返されるレートである。これは、事実上、送信者のTCPに、輻輳窓(congestion window)として知られるもう一つのウィンドウを追加する。これは主として、ルーターを通じて行くときに輻輳を回避するために使われる。 “Slow Start” is a relatively new TCP function. In this function, the rate at which new packets should be injected into the network is the rate at which acknowledgment is returned from the other side. This effectively adds another window, known as the congestion window, to the sender's TCP. This is mainly used to avoid congestion when going through a router.
本発明においては、TCP ACKオーバーヘッドおよびTCPウィンドウの効果を減らし、輻輳を管理する二つの方法がある。二つの方法は組み合わされて第三の方法を形成することができる。本発明の前記諸方法は、MAC層がTCP ACKプロセスにおいて限られた仕方で参加することに関わる。ビデオ・ストリーム・パケットおよび戻りACKは、TCP接続の一部として識別される。同じ接続(またはストリーム)に属するTCPパケットが宛先IPアドレス、ソースIPアドレス、TCPソース・ポート番号およびTCP宛先ポート番号によって一意的に識別できることはよく知られている。目標アプリケーションについては、同じ送信待ち行列内のパケットの大半は、同じTCP接続に属する可能性が高い。よって、有効なシーケンス番号をもつTCP ACKは、TCPヘッダ内のACKフラグを見ることによって決定できる。 In the present invention, there are two ways to reduce the effects of TCP ACK overhead and TCP window and manage congestion. The two methods can be combined to form a third method. The methods of the present invention involve the MAC layer participating in a limited manner in the TCP ACK process. Video stream packets and return ACKs are identified as part of the TCP connection. It is well known that TCP packets belonging to the same connection (or stream) can be uniquely identified by destination IP address, source IP address, TCP source port number and TCP destination port number. For the target application, most of the packets in the same transmission queue are likely to belong to the same TCP connection. Thus, a TCP ACK with a valid sequence number can be determined by looking at the ACK flag in the TCP header.
第一の方法では、無線リンクを通じてリモート・ブリッジ・デバイスおよびマスター・ブリッジング・デバイスから実際に転送されるTCP ACKの数を減らすことが望ましい。本発明はTDMA MACを使用するので、リモートSTBからマスターSTBへの送信は、スーパーフレームの長さに依存して5または10msec毎にまとまって起こる。リモートSTB/デバイスからマスターSTB/デバイスへの送信のために、リモートSTBは、その送信待ち行列からパケットを取り出し、送信のための一連のフレーム(または集積されたフレーム[aggregated frames])に組み立てる。この例示的な適用では、このトラフィックのすべては、マスターSTBを宛先とされている。 In the first method, it is desirable to reduce the number of TCP ACKs actually transferred from the remote bridging device and the master bridging device over the wireless link. Since the present invention uses TDMA MAC, transmission from the remote STB to the master STB happens every 5 or 10 msec depending on the length of the superframe. For transmission from the remote STB / device to the master STB / device, the remote STB takes the packet from its transmission queue and assembles it into a series of frames (or aggregated frames) for transmission. In this exemplary application, all of this traffic is destined for the master STB.
リモート・ブリッジ・デバイスは、送信待ち行列内のフレームのIPおよびTCPヘッダを調べ、どれが同じTCP接続からのTCP ACKであるかを判定する。それらのパケットについて、次いで、TCPヘッダ内のシーケンス番号が読まれる。それらのパケット内にペイロードがないと想定すると、リモート・ブリッジ・デバイスは最高のシーケンス番号を送る必要があるだけである。というのも、TCPでは、そのシーケンス番号がすべてのより低いシーケンス番号を含むからである。パケットの一つがペイロードを含む場合、その特定のパケットが、ヘッダ内に適正なシーケンス番号を設定されて返されるパケットであることができる。TCP ACKパケットの二つ以上がそのペイロードにデータを含んでいる場合には、それもシーケンス番号を繰り返して送られる。これは事実上、送信待ち行列から冗長な「TCP ACKのみ」パケットをすべて消去する。これは、より短いCTAがリモート・デバイス/STBに割り当てられることを許容し、マスター・デバイス/STBに割り当てられるCTAのためにより多くの時間を、よって下りビデオ送信のために割り当てられる、より多くの時間を残す。 The remote bridge device examines the IP and TCP headers of the frames in the transmission queue to determine which is a TCP ACK from the same TCP connection. For those packets, the sequence number in the TCP header is then read. Assuming there is no payload in those packets, the remote bridge device only needs to send the highest sequence number. This is because in TCP, the sequence number includes all lower sequence numbers. If one of the packets includes a payload, that particular packet can be a packet returned with the proper sequence number set in the header. If more than one TCP ACK packet contains data in its payload, it will also be sent with repeated sequence numbers. This effectively removes all redundant “TCP ACK only” packets from the transmit queue. This allows a shorter CTA to be assigned to the remote device / STB, and allows more time for the CTA assigned to the master device / STB, and thus more for the downstream video transmission. Leave time.
図20は、リモート・ブリッジ・デバイスにおいて実施される、本発明の第一の方法の高レベルのフローチャートである。2005では、リモート・ブリッジ・デバイスは、マスター・ブリッジ・デバイスに転送されるべきいくつかのTCP ACKを受信する。2010では、リモート・ブリッジ・デバイスはその送信待ち行列をスキャンし、ペイロードをもたない隣り合うTCP ACKを、そのTCP ACKの集合のうちからの最高のシーケンス番号を受け取り確認する単一のTCP ACKで置き換える。2015では、単一の集積TCP ACK(aggregate TCP ACK)がマスター・ブリッジ・デバイスにCTA内において転送される。このプロセスは2005から繰り返される。 FIG. 20 is a high-level flowchart of the first method of the present invention, implemented in a remote bridge device. At 2005, the remote bridge device receives several TCP ACKs to be forwarded to the master bridge device. At 2010, the remote bridge device scans its transmit queue and receives a single TCP ACK that acknowledges the adjacent TCP ACK with no payload, receiving the highest sequence number from the set of TCP ACKs. Replace with. In 2015, a single aggregate TCP ACK is forwarded to the master bridge device in the CTA. This process is repeated from 2005.
この第一の方法はTCP送信ACKのオーバーヘッドを減らすが、それでも、TCPパケットが遅すぎ、TCPレベルで再送信される可能性がある。TCP再送信はかなり長いタイムアウトに基づくので、リアルタイムのビデオ・ストリームのためにはそれほど有用ではない。多くのビデオ・コーダ・デコーダ(コーデック)は誤り隠蔽方式を含んでいるので、当該パケットが若干の誤りをもって時間通りに到着した場合よりも、TCPレベルの再送信のほうが一層悪い問題を引き起こしうる。 This first method reduces the overhead of TCP transmission ACKs, but still TCP packets are too slow and may be retransmitted at the TCP level. Because TCP retransmissions are based on fairly long timeouts, they are not very useful for real-time video streams. Since many video coder decoders (codecs) include error concealment schemes, TCP level retransmissions can cause worse problems than if the packets arrived on time with some errors.
本発明の第二の方法では、マスター・デバイス/STBに返されるローカルなTCP ACKがマスター・ブリッジ・デバイスによって生成される。つまり、マスター・デバイス/STBはだまされて、下りパケットがすでにリモート・デバイス/STBによって受信されたと思い込まされる。マスター・デバイス/STBはTCP ACKを受信するので、そのデータ/情報を再送信はしない。よって、何らかの理由で下りデータが誤って受信される場合、数回のMACレベルの再送信後であっても、下りビデオ・データは相変わらずリモート・デバイス/STBに転送される。しかしながら、指摘したように、ビデオ・ストリーミングのためには、「遅くて正しい」よりも、「若干の誤りはあるが比較的時間通り」のほうがよい。 In the second method of the present invention, a local TCP ACK returned to the master device / STB is generated by the master bridge device. That is, the master device / STB is deceived and assumes that the downstream packet has already been received by the remote device / STB. Since the master device / STB receives the TCP ACK, it does not retransmit the data / information. Therefore, if downlink data is received in error for some reason, the downlink video data is still transferred to the remote device / STB even after several MAC-level retransmissions. However, as pointed out, for video streaming it is better to “slightly in error but relatively on time” than “slow and correct”.
前記方法は、マスター・デバイス/STBからのあらゆるTCPトラフィックに対して使用できるし、あるいはある特定のTCP接続に対してのみ使用されることもできる。いずれの場合でも、マスター・ブリッジ・デバイスは各TCP接続を別個に追跡する。先に指摘したように、TCPトラフィックは、IPヘッダにおいて、プロトコル番号によって識別され、ストリーム自身はソースおよび宛先IPアドレスならびにソースおよび宛先TCPポート番号によって一意的に識別される。 The method can be used for any TCP traffic from the master device / STB, or it can only be used for certain TCP connections. In either case, the master bridge device tracks each TCP connection separately. As pointed out above, TCP traffic is identified in the IP header by a protocol number, and the stream itself is uniquely identified by the source and destination IP addresses and the source and destination TCP port numbers.
この方法は、いくつかの理由で、ビデオ・ストリームそのものについてのみ使用することが最善である。ビデオ・ストリーム・パケットがリモート・デバイス/STBに、たとえ誤りがあっても時間通りに渡されることが最善ではあるが、頻度がより低い他のデータ・トラフィック(たとえばボックス制御[box control])は正しく到着する必要があることがありうる。さらに、各TCP接続は別個に管理される必要があるが、N個のTCP接続を管理するには、各リモート・デバイス/STBへの一つのTCP接続を管理するよりN倍多くの資源(すなわち、データ構造等)が必要とされる。さらに、例示的なアプリケーションは下りのビデオ配信なので、潜在的な効率向上の大半は、ビデオ・ストリームにおいて得られる。このすべてのため、ローカルTCP ACKを、目標アプリケーションであるビデオ・ストリーム接続についてのみ生成することが望ましい。 This method is best used only for the video stream itself for several reasons. Although video stream packets are best delivered to the remote device / STB on time even if there is an error, other less frequent data traffic (eg box control) It may be necessary to arrive correctly. In addition, each TCP connection needs to be managed separately, but managing N TCP connections is N times more resources than managing one TCP connection to each remote device / STB (ie, Data structure, etc.). Further, since the exemplary application is downstream video delivery, most of the potential efficiency gains are obtained in the video stream. For all this, it is desirable to generate local TCP ACKs only for the target application video stream connection.
マスター・ブリッジング・デバイスは、ビデオ・ストリームを識別するためにいくつかの方法の一つを使用できる。いくつかのアプリケーションでは、STBおよびブリッジング・デバイスは一つの製造業者からのものであることがありうる。ビデオ配信に使われるTCPポート番号はブリッジ・デバイスにあらかじめ知られている(すなわち、設計時に組み込まれる)のでもよいし、あるいはその情報を、直接またはネットワークもしくは他のインターフェースを通じて、ブリッジング・デバイスに手動で入力することが可能であってもよい。ブリッジング・デバイスがストリームを他の何らかの仕方で、可能性としてはサービス・プロバイダーのネットワークと直接通信していることがありうるSTBとの直接通信で、識別することが可能である。 The master bridging device can use one of several methods to identify the video stream. In some applications, the STB and bridging device can be from one manufacturer. The TCP port number used for video delivery may be known in advance by the bridge device (ie, built in at design time), or the information can be passed directly or through a network or other interface to the bridging device. It may be possible to input manually. The bridging device can identify the stream in some other way, possibly in direct communication with the STB, which may be in direct communication with the service provider's network.
マスター・ブリッジング・デバイスがビデオ・ストリームをその特性から識別することが可能である。たいていのビデオ・ストリーム(放送事業者からの)は1〜2Mbpsの範囲にある。高精細度ビデオは15〜20Mbpsにより近い。マスター・ブリッジング・デバイスはTCP接続セットアップ・パケットをかぎつけて(sniff)、次いでそのストリームを何らかの時間期間(たとえば1秒)にわたって監視することができる。それが一定のストリームであるように見えれば、マスター・ブリッジ・デバイスはこの方法を使うことを開始できる。 The master bridging device can identify the video stream from its characteristics. Most video streams (from broadcasters) are in the range of 1-2 Mbps. High definition video is closer to 15-20Mbps. The master bridging device can sniff TCP connection setup packets and then monitor the stream for some time period (eg, 1 second). If it appears to be a constant stream, the master bridge device can begin using this method.
マスター・ブリッジ・デバイスはTCPスライディング・ウィンドウ、TCPシーケンス番号およびそれ自身の送信待ち行列を追跡する。マスター・デバイス/STBからのTCPフレームの到着が頻繁すぎる場合、マスター・ブリッジ・デバイスは、待ち行列レベルが下がるまでTCP ACKを差し控える。本発明の本方法はフロー制御の一つの形である。 The master bridge device keeps track of the TCP sliding window, TCP sequence number and its own transmission queue. If the arrival of TCP frames from the master device / STB is too frequent, the master bridge device refrains from TCP ACK until the queue level is lowered. The method of the present invention is a form of flow control.
図21は、マスター・ブリッジング・デバイスで実施される本発明の第二の方法の高レベルの送信フローチャートである。任意的に、TCPセットアップの間に2105で、マスター・ブリッジ・デバイスはマスター・デバイス/STBにローカルに、最適セグメント・サイズならびにバッファリングおよびCTAに起因するシステム遅延をカバーするのに十分大きなTCPウィンドウ・サイズをもって応答する。2110で、マスター・ブリッジ・デバイスはマスター・デバイス/STBからTCPデータ・セグメントを受信する。2115で試験が実行され、送信待ち行列が所定数のCTA(たとえば二つのCTA)のために十分なTCPデータを含んでいるかどうかが判定される。十分なTCPデータがあれば、動作2110が再び実行される。十分なTCPデータ・セグメントがなければ、2120でマスター・ブリッジ・デバイスが、マスター・デバイス/STBに返すためのローカルなTCP ACKを生成し、動作2110が再び実行される。 FIG. 21 is a high level transmission flowchart of the second method of the present invention implemented in the master bridging device. Optionally, at 2105 during TCP setup, the master bridge device is locally large to the master device / STB and has a TCP window that is large enough to cover the optimal segment size and system delay due to buffering and CTA・ Respond with size. At 2110, the master bridge device receives a TCP data segment from the master device / STB. A test is performed at 2115 to determine if the transmission queue contains sufficient TCP data for a predetermined number of CTAs (eg, two CTAs). If there is sufficient TCP data, operation 2110 is performed again. If there are not enough TCP data segments, at 2120 the master bridge device generates a local TCP ACK to return to the master device / STB and operation 2110 is performed again.
TCP接続は全二重接続なので、リモート・デバイス/STBから論理的にマスター・デバイス/STBに向かうACKもある。この場合、マスター・デバイスSTBが下りパケットに対して実行したのと同じプロセスを、リモート・デバイス/STBが上りパケットに対して実行する。 Since the TCP connection is a full-duplex connection, there is also an ACK that logically goes from the remote device / STB to the master device / STB. In this case, the same process that the master device STB has performed for the downstream packet is performed by the remote device / STB for the upstream packet.
マスター・ブリッジ・デバイスはまた、リモート・デバイス/STBから実際に返されるTCP ACKを途中で捕らえ、それがマスター・デバイス/STBに送られないようにする。マスター・ブリッジ・デバイスはこれらのTCP ACK内の情報を使って、到来パケットの処理に関してリモート・デバイス/STBがどこにあるかを判定する。あるいはまた、TCP ACKはリモート・ブリッジ・デバイスによって途中で捕らえられることもでき、望むならマスター・ブリッジ・デバイスに要約レポートが送られる。リモート・ブリッジ・デバイスが途中で捕らえられたTCP ACKを捨てることも可能である。 The master bridge device also intercepts the TCP ACK that is actually returned from the remote device / STB and prevents it from being sent to the master device / STB. The master bridge device uses the information in these TCP ACKs to determine where the remote device / STB is for processing incoming packets. Alternatively, the TCP ACK can be intercepted by the remote bridge device and a summary report is sent to the master bridge device if desired. It is also possible for the remote bridge device to discard the TCP ACK that was caught on the way.
図22は、マスター・ブリッジ・デバイスにおいてリモートTCP ACKを転送するための高レベルのフローチャートである。2205で、マスター・ブリッジ・デバイスはリモート・デバイス/STBからTCP ACK(ペイロードなし)を受信する。2210で試験が実行されて、受信されたデータ・セグメントがすでに受け取り確認されているかどうかが判定される。そのデータ・セグメントがすでに受け取り確認されていれば、2215でTCP ACKは破棄され、プロセスは2205から繰り返される。そのデータ・セグメントがまだ受け取り確認されていなければ、2220で単一のTCP ACKがマスター・デバイス/STBに転送される。 FIG. 22 is a high level flow chart for transferring a remote TCP ACK at the master bridge device. At 2205, the master bridge device receives a TCP ACK (no payload) from the remote device / STB. A test is performed at 2210 to determine if the received data segment has already been acknowledged. If the data segment has already been acknowledged, the TCP ACK is discarded at 2215 and the process is repeated from 2205. If the data segment has not yet been acknowledged, at 2220 a single TCP ACK is forwarded to the master device / STB.
リモート・ブリッジ・デバイスは、何度かMACレベルで送信されたパケットを意識する。それらのパケットは遅いかもしれず、ひとたび最終的にリモート・ブリッジ・デバイスにおいて受信されたときに誤っていることさえありうる。いずれにせよ、リモート・デバイス/STBもどのバイトが受信および受け取り確認されたかを追跡しているので、そのデータ・セグメントはやはりリモート・デバイス/STBに転送される。 The remote bridge device is aware of packets sent several times at the MAC level. Those packets may be slow and may even be wrong once they are finally received at the remote bridge device. In any case, since the remote device / STB keeps track of which bytes have been received and acknowledged, the data segment is still transferred to the remote device / STB.
図23は、リモート・デバイスにおいて実施される本発明の前記第二の方法の高レベルのフローチャートである。2305では、リモート・ブリッジ・デバイスはマスター・ブリッジ・デバイスからTCPデータ・セグメント(ペイロードなし)を受信する。2310で試験が実行されて、フレームが正しいかどうか(フレームがフレーム検査シーケンスに合格したかどうか)が判定される。フレームが正しければ、そのフレームは2315でリモート・デバイス/STBに転送され、プロセスは2305から繰り返される。フレームが正しくなければ、2320で別の試験が実行されて、これがMAC層による再送信の最後の試行(五回目の試み)であるかどうかが判定される。これが最後の試行でなければ、プロセスは2305から繰り返される。これが最後の試行であれば、2325で、そのデータに一致するよう新しいフレーム検査シーケンスが計算され、新しいTCPフレームが構築される。この新しいフレームは正しく見えるが、不正な/正しくないデータを有しており、低頻度で起こるべきである。 FIG. 23 is a high level flowchart of the second method of the present invention implemented in a remote device. At 2305, the remote bridge device receives a TCP data segment (no payload) from the master bridge device. A test is performed at 2310 to determine if the frame is correct (whether the frame passed the frame check sequence). If the frame is correct, the frame is transferred to the remote device / STB at 2315 and the process is repeated from 2305. If the frame is not correct, another test is performed at 2320 to determine if this is the last attempt of retransmission by the MAC layer (fifth attempt). If this is not the last attempt, the process repeats from 2305. If this is the last attempt, at 2325 a new frame check sequence is calculated to match the data and a new TCP frame is constructed. This new frame looks correct but has bad / incorrect data and should occur infrequently.
本発明のこの第二の方法の利点は、ソースをだましてパケットが受け取り確認されたと思い込ませることができることである。これは、より多くのパケットが通信経路内にあることを許容し、実効的に、ウィンドウを長くし、結果としての平均ビットレートを増す。この平均ビットレートは、ビデオの自然なストリーミング・レートより上に保たれねばならない。 An advantage of this second method of the invention is that it can trick the source and assume that the packet has been received and acknowledged. This allows more packets to be in the communication path, effectively lengthening the window and increasing the resulting average bit rate. This average bit rate must be kept above the natural streaming rate of the video.
第三の方法は、上記した二つの方法を組み合わせる。TCP ACKは、前記第二の方法におけるようにブリッジ・デバイス(マスターまたはリモート)の一つによってローカルに生成されるが、リモートSTBによって返されるTCP ACKは前記第一の方法において記載されたように組み合わされる。 The third method combines the above two methods. The TCP ACK is generated locally by one of the bridge devices (master or remote) as in the second method, but the TCP ACK returned by the remote STB is as described in the first method. Combined.
上記の記述は、高精細度ビデオ配信用途に好適な一つのマスターおよび三つのリモート・デバイスをもつ無線ブリッジング・システムに焦点を当ててきたが、当業者には、上記のような本発明の方法が一般的な無線CSMAまたはTDMA MACに、またさらには共通媒体(たとえば電力線)上で走る有線MACにも拡張できることは明らかなはずである。 While the above description has focused on a wireless bridging system with one master and three remote devices suitable for high definition video delivery applications, those skilled in the art will recognize the present invention as described above. It should be apparent that the method can be extended to common wireless CSMA or TDMA MACs, and even to wired MACs running on a common medium (eg, power line).
本発明がさまざまな形のハードウェア、ソフトウェア、ファームウェア、特殊目的プロセッサまたはそれらの組み合わせにおいて実装されうることは理解しておくものとする。好ましくは、本発明はハードウェアおよびソフトウェアの組み合わせとして実装される。さらに、ソフトウェアは好ましくは、プログラム記憶デバイス上に具体的に具現されたアプリケーション・プログラムとして実装される。アプリケーション・プログラムは、いかなる好適なアーキテクチャを有する機械にアップロードされ、これにより実行されてもよい。好ましくは、その機械は、一つまたは複数の中央処理装置(CPU)、ランダム・アクセス・メモリ(RAM)および入出力(I/O)インターフェースといったハードウェアをもつコンピュータ・プラットフォーム上で実装される。コンピュータ・プラットフォームはまた、オペレーティング・システムおよびマイクロ命令コードをも含む。本稿に記載されるさまざまなプロセスおよび機能は、前記マイクロ命令コードの一部または前記アプリケーション・プログラムの一部(またはそれらの組み合わせ)であってもよい。それはオペレーティング・システムを介して実行される。さらに、追加的なデータ記憶装置および印刷装置のようなさまざまな他の周辺装置が前記コンピュータ・プラットフォームに接続されてもよい。 It is to be understood that the present invention can be implemented in various forms of hardware, software, firmware, special purpose processors, or combinations thereof. Preferably, the present invention is implemented as a combination of hardware and software. Furthermore, the software is preferably implemented as an application program embodied specifically on a program storage device. The application program may be uploaded to and executed by a machine having any suitable architecture. Preferably, the machine is implemented on a computer platform having hardware such as one or more central processing units (CPUs), random access memory (RAM) and input / output (I / O) interfaces. The computer platform also includes an operating system and microinstruction code. The various processes and functions described herein may be part of the microinstruction code or part of the application program (or combinations thereof). It is executed via the operating system. In addition, various other peripheral devices may be connected to the computer platform such as an additional data storage device and a printing device.
付属の図面に描かれている構成要素となるシステム・コンポーネントおよび方法ステップのいくつかは好ましくはソフトウェアで実装されるので、システム・コンポーネント(またはプロセス・ステップ)どうしの間の実際の接続は、本発明がプログラムされる仕方に依存して異なることがありうることを理解しておくべきである。本稿の教示を与えられれば、当業者は本発明のこれらおよび同様の実装または構成を考えることができるであろう。 Since some of the component system components and method steps depicted in the accompanying drawings are preferably implemented in software, the actual connection between system components (or process steps) is It should be understood that the invention can vary depending on how it is programmed. Given the teachings herein, one of ordinary skill in the related art will be able to contemplate these and similar implementations or configurations of the present invention.
原出願の出願時の特許請求の範囲をここでも開示しておく。
〔請求項1〕
受け取り確認を管理する方法であって:
データ・パケットおよび受け取り確認を接続と同定する段階と;
前記受け取り確認のどれが消去できるかを判定する段階と;
消去できる前記受け取り確認を、単一の受け取り確認で置き換える段階と;
該単一の受け取り確認を送信する段階とを有する、
方法。
〔請求項2〕
前記同定する段階がさらに、送信待ち行列内のヘッダを調べる段階を有する、請求項1記載の方法。
〔請求項3〕
前記調べる段階がさらに、前記ヘッダ内のフラグを調べる段階を有する、請求項2記載の方法。
〔請求項4〕
前記判定する段階がさらに、どの受け取り確認が共通の接続からであるかを判定する段階を有する、請求項2記載の方法。
〔請求項5〕
前記ヘッダ内のシーケンス番号を読むことをさらに含む、請求項4記載の方法。
〔請求項6〕
前記単一の受け取り確認が受け取り確認される前記データ・パケットの最高のシーケンス番号をもつ、請求項5記載の方法。
〔請求項7〕
送信されるべきペイロード・パケットがあるかどうかを判定する段階と;
前記ペイロード・パケット内において前記単一の受け取り確認を送信する段階とをさらに有する、
請求項1記載の方法。
〔請求項8〕
前記接続がTCP接続である、請求項1記載の方法。
〔請求項9〕
前記受け取り確認がTCP受け取り確認であり、前記単一の受け取り確認がTCP受け取り確認である、請求項1記載の方法。
〔請求項10〕
受け取り確認を管理する方法であって:
データ・セグメントを受信する段階と;
接続を追跡する段階と;
所定数のチャネル時間割り当てのための十分なデータ・セグメントがあるかどうかを判定する段階と;
前記所定数のチャネル時間割り当てのための十分なデータ・セグメントがある場合に、ある選択された接続について前記受け取り確認を生成する段階とを有する、
方法。
〔請求項11〕
フレームが到着するのが頻繁すぎる場合に受け取り確認を差し控えることをさらに含む、請求項10記載の方法。
〔請求項12〕
請求項10記載の方法であって、
リモート・デバイスによって転送されたセグメント受け取り確認を途中で捕らえる段階と;
前記セグメントがすでに受け取り確認されているかどうかを判定する段階と;
前記セグメントがすでに受け取り確認されていれば、前記セグメント受け取り確認を破棄する段階と;
前記セグメントがまだ受け取り確認されていなければ、前記セグメント受け取り確認を転送する段階とを有する、
方法。
〔請求項13〕
要約レポートを受信する段階をさらに有する、請求項10記載の方法。
〔請求項14〕
前記接続がTCP接続である、請求項10記載の方法。
〔請求項15〕
前記受け取り確認がTCP受け取り確認である、請求項10記載の方法。
〔請求項16〕
前記受け取り確認を単一の受け取り確認に集積する段階をさらに含む、請求項10記載の方法。
〔請求項17〕
受け取り確認を管理する装置であって:
データ・パケットおよび受け取り確認を接続と同定する手段と;
前記受け取り確認のどれが消去できるかを判定する手段と;
消去できる前記受け取り確認を、単一の受け取り確認で置き換える手段と;
該単一の受け取り確認を送信する手段とを有する、
装置。
〔請求項18〕
前記同定する手段がさらに、送信待ち行列内のヘッダを調べる手段を有する、請求項17記載の装置。
〔請求項19〕
前記調べる手段がさらに、前記ヘッダ内のフラグを調べる手段を有する、請求項18記載の装置。
〔請求項20〕
前記判定する手段がさらに、どの受け取り確認が共通の接続からであるかを判定する手段を有する、請求項18記載の装置。
〔請求項21〕
前記ヘッダ内のシーケンス番号を読む手段をさらに有する、請求項20記載の装置。
〔請求項22〕
前記単一の受け取り確認が受け取り確認される前記データ・パケットの最高のシーケンス番号をもつ、請求項21記載の装置。
〔請求項23〕
送信されるべきペイロード・パケットがあるかどうかを判定する手段と;
前記ペイロード・パケット内において前記単一の受け取り確認を送信する手段とをさらに有する、
請求項17記載の装置。
〔請求項24〕
前記接続がTCP接続である、請求項17記載の装置。
〔請求項25〕
前記受け取り確認がTCP受け取り確認であり、前記単一の受け取り確認がTCP受け取り確認である、請求項17記載の装置。
〔請求項26〕
受け取り確認を管理する装置であって:
データ・セグメントを受信する手段と;
接続を追跡する手段と;
所定数のチャネル時間割り当てのための十分なデータ・セグメントがあるかどうかを判定する手段と;
前記所定数のチャネル時間割り当てのための十分なデータ・セグメントがある場合に、ある選択された接続について前記受け取り確認を生成する手段とを有する、
装置。
〔請求項27〕
フレームが到着するのが頻繁すぎる場合に受け取り確認を差し控える手段をさらに有する、請求項26記載の装置。
〔請求項28〕
請求項26記載の装置であって、
リモート・デバイスによって転送されたセグメント受け取り確認を途中で捕らえる手段と;
前記セグメントがすでに受け取り確認されているかどうかを判定する手段と;
前記セグメントがすでに受け取り確認されていれば、前記セグメント受け取り確認を破棄する手段と;
前記セグメントがまだ受け取り確認されていなければ、前記セグメント受け取り確認を転送する手段とを有する、
装置。
〔請求項29〕
要約レポートを受信する手段をさらに有する、請求項16記載の装置。
〔請求項30〕
前記接続がTCP接続である、請求項16記載の装置。
〔請求項31〕
前記受け取り確認がTCP受け取り確認である、請求項26記載の装置。
〔請求項32〕
前記受け取り確認を単一の受け取り確認に集積する手段をさらに含む、請求項26記載の装置。
The claims at the time of filing of the original application are also disclosed here.
[Claim 1]
A way to manage receipt confirmations:
Identifying data packets and acknowledgments as connections;
Determining which of said receipt confirmations can be deleted;
Replacing said acknowledgment that can be erased with a single acknowledgment;
Sending the single acknowledgment.
Method.
[Claim 2]
The method of
[Claim 3]
The method of
[Claim 4]
The method of
[Claim 5]
The method of
[Claim 6]
6. The method of
[Claim 7]
Determining whether there is a payload packet to be transmitted;
Further comprising transmitting the single acknowledgment in the payload packet.
The method of
[Claim 8]
The method of
[Claim 9]
The method of
[Claim 10]
A way to manage receipt confirmations:
Receiving a data segment;
Tracking connections;
Determining whether there are enough data segments for a predetermined number of channel time allocations;
Generating the acknowledgment for a selected connection if there are enough data segments for the predetermined number of channel time allocations.
Method.
[Claim 11]
The method of
[Claim 12]
The method of
Capturing a segment receipt confirmation forwarded by the remote device;
Determining whether the segment has already been acknowledged;
Discarding the segment receipt confirmation if the segment has already been acknowledged;
Forwarding the segment acknowledgment if the segment has not yet been acknowledged;
Method.
[Claim 13]
The method of
[Claim 14]
The method of
[Claim 15]
The method of
[Claim 16]
The method of
[Claim 17]
A device that manages receipt confirmation:
Means for identifying data packets and acknowledgments as connections;
Means for determining which of said receipt confirmations can be deleted;
Means for replacing said acknowledgment that can be deleted with a single acknowledgment;
Means for transmitting the single acknowledgment.
apparatus.
[Claim 18]
18. The apparatus of claim 17, wherein the means for identifying further comprises means for examining a header in a transmission queue.
[Claim 19]
19. The apparatus of claim 18, wherein the means for examining further comprises means for examining a flag in the header.
[Claim 20]
19. The apparatus of claim 18, wherein the means for determining further comprises means for determining which acknowledgment is from a common connection.
[Claim 21]
21. The apparatus of claim 20, further comprising means for reading a sequence number in the header.
[Claim 22]
23. The apparatus of claim 21, wherein the single acknowledgment has the highest sequence number of the data packet that is acknowledged.
[Claim 23]
Means for determining whether there is a payload packet to be transmitted;
Means for transmitting the single acknowledgment in the payload packet;
The apparatus of claim 17.
[Claim 24]
The apparatus of claim 17, wherein the connection is a TCP connection.
[Claim 25]
The apparatus of claim 17, wherein the acknowledgment is a TCP acknowledgment and the single acknowledgment is a TCP acknowledgment.
[Claim 26]
A device that manages receipt confirmation:
Means for receiving a data segment;
Means for tracking connections;
Means for determining whether there are enough data segments for a predetermined number of channel time allocations;
Means for generating the acknowledgment for a selected connection when there are sufficient data segments for the predetermined number of channel time allocations;
apparatus.
[Claim 27]
27. The apparatus of claim 26, further comprising means for withholding receipt if the frame arrives too frequently.
[Claim 28]
27. The apparatus of claim 26, wherein
Means to intercept the receipt of the segment transferred by the remote device;
Means for determining whether the segment has already been acknowledged;
Means for discarding said segment receipt confirmation if said segment has already been acknowledged;
Means for forwarding the segment acknowledgment if the segment has not yet been acknowledged;
apparatus.
(Claim 29)
The apparatus of
[Claim 30]
The apparatus of
(Claim 31)
27. The apparatus of claim 26, wherein the receipt confirmation is a TCP receipt confirmation.
[Claim 32]
27. The apparatus of claim 26, further comprising means for integrating the receipt confirmations into a single receipt confirmation.
さらにいくつかの態様を開示しておく。
〔態様1〕
無線ブリッジング・デバイスによって実行される、リモート・デバイスによって送られマスター・デバイスに宛てられた受け取り確認を管理する方法であって:
データおよび受け取り確認を、前記リモート・デバイスと前記マスター・デバイスの間の接続と同定する段階と;
前記受け取り確認のどれが冗長であるかを判定する段階と;
前記冗長な受け取り確認を、単一の受け取り確認で置き換える段階と;
該単一の受け取り確認を送信する段階とを有する、
方法。
〔態様2〕
前記同定する段階がさらに、送信待ち行列内のヘッダを調べる段階を有する、態様1記載の方法。
〔態様3〕
前記調べる段階がさらに、前記ヘッダ内のフラグを調べる段階を有する、態様2記載の方法。
〔態様4〕
前記判定する段階がさらに、どの受け取り確認が共通の接続からであるかを判定する段階を有する、態様2記載の方法。
〔態様5〕
前記ヘッダ内のシーケンス番号を読むことをさらに含む、態様4記載の方法。
〔態様6〕
前記単一の受け取り確認が受け取り確認される前記データの最高のシーケンス番号をもつ、態様5記載の方法。
〔態様7〕
送信されるべきペイロード・パケットがあるかどうかを判定する段階と;
前記ペイロード・パケットを、前記単一の受け取り確認として送信する段階とをさらに有する、
態様1記載の方法。
〔態様8〕
前記接続がTCP接続である、態様1記載の方法。
〔態様9〕
前記受け取り確認がTCP受け取り確認であり、前記単一の受け取り確認がTCP受け取り確認である、態様1記載の方法。
〔態様10〕
無線ブリッジング・デバイスによって実行される、リモート・デバイスによって送られマスター・デバイスに宛てられた受け取り確認を管理する方法であって:
前記リモート・デバイスによって送られたデータを受信する段階と;
前記リモート・デバイスと前記マスター・デバイスの間の接続を追跡する段階と;
特定のデータについて所定数の再送信後にも受け取り確認が受信されない場合、該特定のデータについての受け取り確認を生成する段階と;
生成された受け取り確認を前記マスター・デバイスに送信する段階とを有する、
方法。
〔態様11〕
データが到着するのが頻繁すぎる場合に受け取り確認を差し控えることをさらに含む、態様10記載の方法。
〔態様12〕
態様10記載の方法であって、
特定のデータについて前記リモート・デバイスによって送られた受け取り確認を途中で捕らえる段階と;
前記特定のデータがすでに受け取り確認されているかどうかを判定する段階と;
前記特定のデータがすでに受け取り確認されていれば、前記受け取り確認を破棄する段階と;
前記特定のデータがまだ受け取り確認されていなければ、前記受け取り確認を前記マスター・デバイスに転送する段階とを有する、
方法。
〔態様13〕
前記リモート・デバイスによって送られた受け取り確認を途中で捕らえた別の無線ブリッジング・デバイスから要約レポートを受信する段階をさらに有する、態様10記載の方法。
〔態様14〕
前記接続がTCP接続である、態様10記載の方法。
〔態様15〕
前記受け取り確認がTCP受け取り確認である、態様10記載の方法。
〔態様16〕
前記受け取り確認を単一の受け取り確認に集積する段階をさらに含む、態様10記載の方法。
〔態様17〕
リモート・デバイスによって送られ、マスター・デバイスに宛てられた受け取り確認を管理する無線ブリッジング・デバイスであって:
データおよび受け取り確認を前記リモート・デバイスと前記マスター・デバイスの間の接続と同定する手段と;
前記受け取り確認のどれが冗長であるかを判定する手段と;
前記冗長な受け取り確認を、単一の受け取り確認で置き換える手段と;
該単一の受け取り確認を送信する手段とを有する、
無線ブリッジング・デバイス。
〔態様18〕
前記同定する手段がさらに、送信待ち行列内のヘッダを調べる手段を有する、態様17記載の無線ブリッジング・デバイス。
〔態様19〕
前記調べる手段がさらに、前記ヘッダ内のフラグを調べる手段を有する、態様18記載の無線ブリッジング・デバイス。
〔態様20〕
前記判定する手段がさらに、どの受け取り確認が共通の接続からであるかを判定する手段を有する、態様18記載の無線ブリッジング・デバイス。
〔態様21〕
前記ヘッダ内のシーケンス番号を読む手段をさらに有する、態様20記載の無線ブリッジング・デバイス。
〔態様22〕
前記単一の受け取り確認が受け取り確認される前記データの最高のシーケンス番号をもつ、態様21記載の無線ブリッジング・デバイス。
〔態様23〕
送信されるべきペイロード・パケットがあるかどうかを判定する手段と;
前記ペイロード・パケットを前記単一の受け取り確認として送信する手段とをさらに有する、
態様17記載の無線ブリッジング・デバイス。
〔態様24〕
前記接続がTCP接続である、態様17記載の無線ブリッジング・デバイス。
〔態様25〕
前記受け取り確認がTCP受け取り確認であり、前記単一の受け取り確認がTCP受け取り確認である、態様17記載の無線ブリッジング・デバイス。
〔態様26〕
リモート・デバイスによって送られ、マスター・デバイスに宛てられた受け取り確認を管理する無線ブリッジング・デバイスであって:
データを受信する手段と;
接続を追跡する手段と;
所定数のチャネル時間割り当てのための十分なデータがあるかどうかを判定する手段と;
前記所定数のチャネル時間割り当てのための十分なデータがある場合に、ある選択された接続について前記受け取り確認を生成する手段とを有する、
無線ブリッジング・デバイス。
〔態様27〕
データが到着するのが頻繁すぎる場合に受け取り確認を差し控える手段をさらに有する、態様26記載の無線ブリッジング・デバイス。
〔態様28〕
態様26記載の無線ブリッジング・デバイスであって、
特定のデータについてリモート・デバイスによって送られた受け取り確認を途中で捕らえる手段と;
前記特定のデータがすでに受け取り確認されているかどうかを判定する手段と;
前記特定のデータがすでに受け取り確認されていれば、前記受け取り確認を破棄する手段と;
前記特定のデータがまだ受け取り確認されていなければ、前記受け取り確認を前記マスター・デバイスに転送する手段とを有する、
無線ブリッジング・デバイス。
〔態様29〕
前記リモート・デバイスによって送られた受け取り確認を途中で捕らえた別の無線ブリッジング・デバイスから要約レポートを受信する手段をさらに有する、態様16記載の無線ブリッジング・デバイス。
〔態様30〕
前記接続がTCP接続である、態様16記載の無線ブリッジング・デバイス。
〔態様31〕
前記受け取り確認がTCP受け取り確認である、態様26記載の無線ブリッジング・デバイス。
〔態様32〕
前記受け取り確認を単一の受け取り確認に集積する手段をさらに含む、態様26記載の無線ブリッジング・デバイス。
〔態様33〕
無線ブリッジング・デバイスによって実行される、マスター・デバイスからリモート・デバイスへのデータ送信を管理する方法であって:
前記マスター・デバイスによって送られたデータを受信する段階と;
前記データに含まれる検査データを使うことによって前記データが正しいかどうかを判定する段階と;
前記データが正しくないと判定され、所定回数の再送信がすでに試行されている場合、前記データに含まれる前記検査データを、前記正しくないデータに合うよう計算された新しい検査データに変更する段階と;
前記データを前記リモート・デバイスに転送する段階とを含む、
方法。
〔態様34〕
マスター・デバイスからリモート・デバイスへのデータ送信を管理する無線ブリッジング・デバイスであって:
前記マスター・デバイスによって送られたデータを受信する手段と;
前記データに含まれる検査データを使うことによって前記データが正しいかどうかを判定する手段と;
前記データが正しくないと判定され、所定回数の再送信がすでに試行されている場合、前記データに含まれる前記検査データを、前記正しくないデータに合うよう計算された新しい検査データに変更する手段と;
前記データを前記リモート・デバイスに転送する手段とを含む、
無線ブリッジング・デバイス。
Further, some aspects are disclosed.
[Aspect 1]
A method for managing an acknowledgment performed by a wireless bridging device, sent by a remote device and addressed to a master device:
Identifying data and acknowledgment as a connection between the remote device and the master device;
Determining which of said receipt confirmations are redundant;
Replacing the redundant acknowledgment with a single acknowledgment;
Sending the single acknowledgment.
Method.
[Aspect 2]
The method of
[Aspect 3]
The method of
[Aspect 4]
The method of
[Aspect 5]
5. The method of
[Aspect 6]
The method of
[Aspect 7]
Determining whether there is a payload packet to be transmitted;
Transmitting the payload packet as the single acknowledgment.
A method according to
[Aspect 8]
The method of
[Aspect 9]
The method of
[Aspect 10]
A method for managing an acknowledgment performed by a wireless bridging device, sent by a remote device and addressed to a master device:
Receiving data sent by the remote device;
Tracking a connection between the remote device and the master device;
Generating an acknowledgment for the specific data if no acknowledgment is received after a predetermined number of retransmissions for the specific data;
Sending the generated acknowledgment to the master device.
Method.
[Aspect 11]
11. The method of
[Aspect 12]
A method according to
Intercepting the receipt confirmation sent by the remote device for specific data;
Determining whether the particular data has already been received and confirmed;
Discarding the receipt confirmation if the specific data has already been acknowledged;
Transferring the acknowledgment to the master device if the specific data has not yet been acknowledged;
Method.
[Aspect 13]
11. The method of
[Aspect 14]
The method of
[Aspect 15]
11. The method of
[Aspect 16]
11. The method of
[Aspect 17]
A wireless bridging device that manages the acknowledgment sent by the remote device and addressed to the master device:
Means for identifying data and acknowledgment as a connection between the remote device and the master device;
Means for determining which of said receipt confirmations are redundant;
Means for replacing the redundant acknowledgment with a single acknowledgment;
Means for transmitting the single acknowledgment.
Wireless bridging device.
[Aspect 18]
The wireless bridging device of aspect 17, wherein the means for identifying further comprises means for examining a header in a transmission queue.
[Aspect 19]
The wireless bridging device of aspect 18, wherein the means for examining further comprises means for examining a flag in the header.
[Aspect 20]
The wireless bridging device of aspect 18, wherein the means for determining further comprises means for determining which acknowledgment is from a common connection.
[Aspect 21]
The wireless bridging device according to aspect 20, further comprising means for reading a sequence number in the header.
[Aspect 22]
The wireless bridging device of aspect 21, wherein the single acknowledgment has the highest sequence number of the data to be acknowledged.
[Aspect 23]
Means for determining whether there is a payload packet to be transmitted;
Means for transmitting the payload packet as the single acknowledgment.
The wireless bridging device according to aspect 17.
[Aspect 24]
The wireless bridging device according to aspect 17, wherein the connection is a TCP connection.
[Aspect 25]
The wireless bridging device of aspect 17, wherein the acknowledgment is a TCP acknowledgment and the single acknowledgment is a TCP acknowledgment.
[Aspect 26]
A wireless bridging device that manages the acknowledgment sent by the remote device and addressed to the master device:
Means for receiving data;
Means for tracking connections;
Means for determining whether there is sufficient data for a predetermined number of channel time allocations;
Means for generating the acknowledgment for a selected connection when there is sufficient data for the predetermined number of channel time allocations;
Wireless bridging device.
[Aspect 27]
27. The wireless bridging device of aspect 26, further comprising means for withholding receipt if data arrives too frequently.
[Aspect 28]
A wireless bridging device according to aspect 26,
A means of intercepting acknowledgments sent by remote devices for specific data;
Means for determining whether said particular data has already been received and confirmed;
Means for discarding the receipt confirmation if the specific data has already been confirmed;
Means for forwarding the acknowledgment to the master device if the specific data has not yet been acknowledged;
Wireless bridging device.
[Aspect 29]
The wireless bridging device of
[Aspect 30]
The wireless bridging device according to
[Aspect 31]
27. The wireless bridging device according to aspect 26, wherein the receipt confirmation is a TCP receipt confirmation.
[Aspect 32]
27. The wireless bridging device of aspect 26, further comprising means for integrating the acknowledgments into a single acknowledgment.
[Aspect 33]
A method for managing data transmission from a master device to a remote device performed by a wireless bridging device comprising:
Receiving data sent by the master device;
Determining whether the data is correct by using inspection data included in the data;
If it is determined that the data is incorrect and a predetermined number of retransmissions have already been attempted, changing the test data included in the data to new test data calculated to match the incorrect data; ;
Transferring the data to the remote device.
Method.
[Aspect 34]
A wireless bridging device that manages data transmission from a master device to a remote device:
Means for receiving data sent by the master device;
Means for determining whether the data is correct by using test data included in the data;
Means for changing the test data contained in the data to new test data calculated to match the incorrect data if the data is determined to be incorrect and a predetermined number of retransmissions have already been attempted; ;
Transferring the data to the remote device.
Wireless bridging device.
Claims (32)
個別のユニキャスト接続のデータおよび受け取り確認を、前記時分割多重アクセス・トラフィック制約無線媒体アクセス制御ブリッジのクライアント側によって同定する段階と;
前記受け取り確認のどれが消去できるかを、前記時分割多重アクセス・トラフィック制約無線媒体アクセス制御ブリッジの前記クライアント側によって判定する段階と;
消去できる前記受け取り確認を、前記時分割多重アクセス・トラフィック制約無線媒体アクセス制御ブリッジの前記クライアント側によって単一の受け取り確認で置き換える段階と;
該単一の受け取り確認を、前記時分割多重アクセス・トラフィック制約無線媒体アクセス制御ブリッジの前記クライアント側によって、前記時分割多重アクセス・トラフィック制約無線媒体アクセス制御ブリッジのマスター側に送信する段階とを有する、
方法。 A method for managing acknowledgments by a time division multiple access traffic constrained wireless medium access control bridge communicating with a remote device, comprising:
Identifying individual unicast connection data and acknowledgments by the client side of the time division multiple access traffic constrained wireless medium access control bridge;
Determining which of the acknowledgments can be erased by the client side of the time division multiple access traffic constrained wireless medium access control bridge;
Replacing the acknowledgment that can be erased with a single acknowledgment by the client side of the time division multiple access traffic constrained wireless medium access control bridge;
Transmitting the single acknowledgment by the client side of the time division multiple access traffic constrained wireless medium access control bridge to the master side of the time division multiple access traffic constrained wireless medium access control bridge. ,
Method.
前記ペイロード・パケット内において前記単一の受け取り確認を送信する段階とをさらに有する、
請求項1記載の方法。 Determining whether there is a payload packet to be transmitted;
Further comprising transmitting the single acknowledgment in the payload packet.
The method of claim 1.
前記時分割多重アクセス・トラフィック制約無線媒体アクセス制御ブリッジのマスター側によって、データを受信する段階と;
前記時分割多重アクセス・トラフィック制約無線媒体アクセス制御ブリッジの前記マスター側によって、個々のユニキャスト接続を追跡する段階と;
所定数のチャネル時間割り当てを満たすのに十分なデータがあるかどうかを、前記時分割多重アクセス・トラフィック制約無線媒体アクセス制御ブリッジの前記マスター側によって判定する段階と;
前記所定数のチャネル時間割り当てのための十分なデータがない場合、前記時分割多重アクセス・トラフィック制約無線媒体アクセス制御ブリッジの前記マスター側によって、ある選択されたユニキャスト接続について前記受け取り確認を生成する段階と、
前記時分割多重アクセス・トラフィック制約無線媒体アクセス制御ブリッジの前記マスター側によって、前記データを、前記所定数のチャネル時間割り当てにおいて、ユニキャストでリモート・デバイスに送信する段階とを有する、
方法。 A method of managing acknowledgments by a time division multiple access traffic constrained wireless medium access control bridge communicating with a master device comprising:
Receiving data by a master side of the time division multiple access traffic constrained wireless medium access control bridge;
Tracking individual unicast connections by the master side of the time division multiple access traffic constrained wireless medium access control bridge;
Determining by the master side of the time division multiple access traffic constrained wireless medium access control bridge whether there is sufficient data to satisfy a predetermined number of channel time allocations;
If there is not enough data for the predetermined number of channel time allocations, the master side of the time division multiple access traffic constrained wireless medium access control bridge generates the acknowledgment for a selected unicast connection Stages,
Transmitting the data by unicast to a remote device by the master side of the time division multiple access traffic constrained wireless medium access control bridge in the predetermined number of channel time allocations;
Method.
リモート・デバイスによって転送されたセグメント受け取り確認を途中で捕らえる段階と;
前記データがすでに受け取り確認されているかどうかを判定する段階と;
前記データがすでに受け取り確認されていれば、前記セグメント受け取り確認を破棄する段階と;
前記データがまだ受け取り確認されていなければ、前記セグメント受け取り確認を転送する段階とを有する、
方法。 The method of claim 10, comprising:
Capturing a segment receipt confirmation forwarded by the remote device;
Determining whether the data has already been received and confirmed;
Discarding the segment receipt confirmation if the data has already been acknowledged;
Transferring the segment acknowledgment if the data has not yet been acknowledged;
Method.
当該時分割多重アクセス・トラフィック制約無線媒体アクセス制御ブリッジのクライアント側によって、個別のユニキャスト接続のデータおよび受け取り確認を同定する手段と;
当該時分割多重アクセス・トラフィック制約無線媒体アクセス制御ブリッジの前記クライアント側によって、前記受け取り確認のどれが消去できるかを判定する手段と;
当該時分割多重アクセス・トラフィック制約無線媒体アクセス制御ブリッジの前記クライアント側によって、消去できる前記受け取り確認を、単一の受け取り確認で置き換える手段と;
当該時分割多重アクセス・トラフィック制約無線媒体アクセス制御ブリッジの前記クライアント側によって、当該時分割多重アクセス・トラフィック制約無線媒体アクセス制御ブリッジのマスター側に、該単一の受け取り確認を送信する手段とを有する、
トラフィック制約された無線ブリッジ。 A time division multiple access traffic constrained wireless medium access control bridge that manages acknowledgments:
Means for identifying data and acknowledgment of individual unicast connections by the client side of the time division multiple access traffic constrained wireless medium access control bridge;
Means for determining which of said acknowledgments can be erased by said client side of said time division multiple access traffic constrained wireless medium access control bridge;
Means for replacing the acknowledgment that can be erased by the client side of the time division multiple access traffic constrained wireless medium access control bridge with a single acknowledgment;
Means for transmitting the single acknowledgment by the client side of the time division multiple access traffic restricted wireless medium access control bridge to the master side of the time division multiple access traffic restricted wireless medium access control bridge. ,
Traffic constrained wireless bridge.
前記ペイロード・パケット内において前記単一の受け取り確認を送信する手段とをさらに有する、
請求項17記載のトラフィック制約された無線ブリッジ。 Means for determining whether there is a payload packet to be transmitted;
Means for transmitting the single acknowledgment in the payload packet;
The traffic constrained wireless bridge of claim 17.
当該時分割多重アクセス・トラフィック制約無線媒体アクセス制御ブリッジのマスター側によって、データを受信する手段と;
当該時分割多重アクセス・トラフィック制約無線媒体アクセス制御ブリッジの前記マスター側によって、個々のユニキャスト接続を追跡する手段と;
当該時分割多重アクセス・トラフィック制約無線媒体アクセス制御ブリッジの前記マスター側によって、所定数のチャネル時間割り当てのための十分なデータがあるかどうかを判定する手段と;
前記所定数のチャネル時間割り当てのための十分なデータがない場合に、当該時分割多重アクセス・トラフィック制約無線媒体アクセス制御ブリッジの前記マスター側によって、ある選択された接続について前記受け取り確認を生成する手段と;
当該時分割多重アクセス・トラフィック制約無線媒体アクセス制御ブリッジの前記マスター側によって、前記データを、前記所定数のチャネル時間割り当てにおいて、ユニキャストでリモート・デバイスに送信する手段とを有する、
トラフィック制約された無線ブリッジ。 A time division multiple access traffic constrained wireless medium access control bridge that manages acknowledgments, which communicates with the master device:
Means for receiving data by the master side of the time division multiple access traffic constrained wireless medium access control bridge;
Means for tracking individual unicast connections by the master side of the time division multiple access traffic constrained wireless medium access control bridge;
Means for determining by said master side of said time division multiple access traffic constrained wireless medium access control bridge whether there is sufficient data for a predetermined number of channel time allocations;
Means for generating said acknowledgment for a selected connection by said master side of said time division multiple access traffic constrained wireless medium access control bridge when there is not enough data for said predetermined number of channel time allocations When;
Means for transmitting the data by unicast to a remote device in the predetermined number of channel time allocations by the master side of the time division multiple access traffic restricted wireless medium access control bridge;
Traffic constrained wireless bridge.
リモート・デバイスによって転送されたセグメント受け取り確認を途中で捕らえる手段と;
前記データがすでに受け取り確認されているかどうかを判定する手段と;
前記データがすでに受け取り確認されていれば、前記セグメント受け取り確認を破棄する手段と;
前記データがまだ受け取り確認されていなければ、前記セグメント受け取り確認を転送する手段とを有する、
トラフィック制約された無線ブリッジ。 27. A traffic constrained wireless bridge according to claim 26, comprising:
Means to intercept the receipt of the segment transferred by the remote device;
Means for determining whether said data has already been received and confirmed;
Means for discarding the segment receipt confirmation if the data has already been acknowledged;
Means for forwarding the segment acknowledgment if the data has not yet been acknowledged;
Traffic constrained wireless bridge.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2012161298A JP2013013093A (en) | 2012-07-20 | 2012-07-20 | Improving throughput in lan by managing tcp acks |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2012161298A JP2013013093A (en) | 2012-07-20 | 2012-07-20 | Improving throughput in lan by managing tcp acks |
Related Parent Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2009554495A Division JP2010522468A (en) | 2006-12-20 | 2006-12-20 | Throughput improvement in LAN by managing TCPACK |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2013013093A true JP2013013093A (en) | 2013-01-17 |
Family
ID=47686522
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2012161298A Pending JP2013013093A (en) | 2012-07-20 | 2012-07-20 | Improving throughput in lan by managing tcp acks |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2013013093A (en) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11601842B2 (en) | 2016-02-22 | 2023-03-07 | Fujitsu Limited | Communication device, communication method, and communication system |
| US11750324B2 (en) | 2021-11-30 | 2023-09-05 | Analog Devices International Unlimited Company | Methods for adaptive error avoidance to increase re-transmission reliability in time-slotted communication links |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH09510596A (en) * | 1994-06-08 | 1997-10-21 | エイチイー・ホールディングス・インコーポレーテッド・ディー ビーエー・ヒューズ・エレクトロニクス | Apparatus and method for hybrid network access |
| JP2003124984A (en) * | 2001-10-18 | 2003-04-25 | Mitsubishi Electric Corp | Data distribution management device, data distribution management system, and data distribution management method |
| US20050068896A1 (en) * | 2003-09-30 | 2005-03-31 | Conexant Systems, Inc. | TCP acceleration system |
| WO2005076546A1 (en) * | 2004-02-06 | 2005-08-18 | Fujitsu Limited | Distribution system, wireless base station, wireless terminal, distribution method |
| JP2006279867A (en) * | 2005-03-30 | 2006-10-12 | Nec Access Technica Ltd | Adsl communication apparatus, program and method |
-
2012
- 2012-07-20 JP JP2012161298A patent/JP2013013093A/en active Pending
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH09510596A (en) * | 1994-06-08 | 1997-10-21 | エイチイー・ホールディングス・インコーポレーテッド・ディー ビーエー・ヒューズ・エレクトロニクス | Apparatus and method for hybrid network access |
| JP2003124984A (en) * | 2001-10-18 | 2003-04-25 | Mitsubishi Electric Corp | Data distribution management device, data distribution management system, and data distribution management method |
| US20050068896A1 (en) * | 2003-09-30 | 2005-03-31 | Conexant Systems, Inc. | TCP acceleration system |
| WO2005076546A1 (en) * | 2004-02-06 | 2005-08-18 | Fujitsu Limited | Distribution system, wireless base station, wireless terminal, distribution method |
| JP2006279867A (en) * | 2005-03-30 | 2006-10-12 | Nec Access Technica Ltd | Adsl communication apparatus, program and method |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11601842B2 (en) | 2016-02-22 | 2023-03-07 | Fujitsu Limited | Communication device, communication method, and communication system |
| US11750324B2 (en) | 2021-11-30 | 2023-09-05 | Analog Devices International Unlimited Company | Methods for adaptive error avoidance to increase re-transmission reliability in time-slotted communication links |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2010522468A (en) | Throughput improvement in LAN by managing TCPACK | |
| JP4813602B2 (en) | Media access control protocol and data unit integration in time division multiple access medium access control layer | |
| US9306708B2 (en) | Method and apparatus for retransmission decision making | |
| KR101644215B1 (en) | A method and apparatus for parsing a network abstraction-layer for reliable data communication | |
| EP1557982B1 (en) | Method and system for admission control in communication networks | |
| US9554177B2 (en) | Systems and methods for retransmitting packets over a network of communication channels | |
| US7936774B2 (en) | Method and devices for multicasting information over a network that applied a distributed media access control scheme | |
| JP3799326B2 (en) | Packet transmission method and packet reception method | |
| JP5095751B2 (en) | Adaptive time allocation in TDMAMAC layer | |
| US20070234170A1 (en) | Method and system for communication of video information over wireless channels | |
| JP2013013093A (en) | Improving throughput in lan by managing tcp acks | |
| KR100920605B1 (en) | Apparatus and method for adaptive MPEG transport stream aggregation frame transmission |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130918 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130924 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20140311 |