JP2011211618A - 送信装置、送信方法およびプログラム - Google Patents
送信装置、送信方法およびプログラム Download PDFInfo
- Publication number
- JP2011211618A JP2011211618A JP2010079071A JP2010079071A JP2011211618A JP 2011211618 A JP2011211618 A JP 2011211618A JP 2010079071 A JP2010079071 A JP 2010079071A JP 2010079071 A JP2010079071 A JP 2010079071A JP 2011211618 A JP2011211618 A JP 2011211618A
- Authority
- JP
- Japan
- Prior art keywords
- packet
- destination
- virtual
- control unit
- destinations
- 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
- 230000005540 biological transmission Effects 0.000 title claims abstract description 85
- 238000000034 method Methods 0.000 title claims description 30
- 238000012545 processing Methods 0.000 claims abstract description 28
- 238000012217 deletion Methods 0.000 claims description 25
- 230000037430 deletion Effects 0.000 claims description 25
- 238000004891 communication Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 13
- 238000012546 transfer Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000007429 general method Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1867—Arrangements specially adapted for the transmitter end
- H04L1/1887—Scheduling and prioritising arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/1863—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast comprising mechanisms for improved reliability, e.g. status reports
- H04L12/1868—Measures taken after transmission, e.g. acknowledgments
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L2001/0092—Error control systems characterised by the topology of the transmission link
- H04L2001/0093—Point-to-multipoint
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Communication Control (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
【解決手段】送信装置10は、送信対象となるデータを出力する仮想I/F制御部110と、データを含むパケットを生成するパケット生成処理部と、パケットの宛先を複数記憶する記憶部と、パケット生成処理部により生成されたパケットに設定される宛先を記憶部により記憶されている複数の宛先のうちの1つにより書き換え、宛先を書き換えたパケットを出力する処理を複数の宛先について順次に行う仮想I/F120と、仮想I/F120によりパケットが出力されるたびにパケットをパケットに設定されている宛先に送信する実インタフェース130と、を備える。
【選択図】図1
Description
1.実施形態
1−1.送信装置の概要
1−2.送信装置の機能構成
1−3.仮想I/Fを利用しない場合
1−4.仮想I/Fを利用する場合
1−5.送信装置の動作の具体例
1−6.送信装置による宛先の追加シーケンス
1−7.送信装置がICMPエラーを受信した場合の動作例
1−8.RTPデータの送信を行う場合の選択的再送例
1−9.仮想I/Fにより実行される処理
1−10.送信装置をTCP通信に適用した場合
2.変形例
3.まとめ
[1−1.送信装置の概要]
本実施形態に係る送信装置の概要について説明する。本実施形態に係る送信装置は、同一のデータを複数の宛先に送信する場合に、多地点送信用の仮想ネットワークインタフェース(以下、「仮想I/F120」とも言う。)を介してデータを送信することにより、ボトルネックとなるIPパケット生成処理の回数を減らし、送信装置のCPUにかかる負荷を抑制することができる。送信対象となるデータは、映像ストリーム等であるが特に限定されるものではない。
図1は、本実施形態に係る送信装置の機能構成を示す図である。図1に示すように、送信装置10が備える図示しないCPUにより実行されるアプリケーションには、仮想I/F制御部110を実現するためのアプリケーションと、実I/F制御部140を実現するためのアプリケーションとが含まれている。また、送信装置10が備える図示しないCPUにより実行されるデバイスドライバには、仮想I/F制御部120を実現するためのデバイスドライバと、実I/F130とが含まれている。
図2は、仮想I/F120を利用しないで宛先A〜Cの3箇所に同一データを送信する処理の流れを示すフローチャートである。送信装置10は、ネットワークを介して宛先A〜Cと通信を行うものとする。仮想I/F120を利用しないで宛先A〜Cの3箇所に同一データを送信する場合には、アプリケーションは、宛先A〜Cにそれぞれデータを送信し(ステップS210A〜ステップS210C)、カーネルによるパケット生成処理も3回行われる(ステップS211A〜ステップS211C)。
図3は、仮想I/F120を利用して宛先A〜Cの3箇所に同一データを送信する処理の流れを示すフローチャートである。本実施形態に係る送信装置10は、仮想I/F120を利用して宛先A〜Cの3箇所に同一データを送信する。アプリケーションは、ダミーの宛先である宛先Vにデータを送信する(ステップS310)。アプリケーションによるデータ送信(ステップS310)は、例えば、送信装置10が備える図示しない入力部によりユーザから入力が受け付けられたデータおよび送信操作に基づいて行われる。
図4は、送信装置10の動作の具体例を示す図である。仮想I/F120のアドレスとしては、例えば、ダミーのアドレス「192.168.100.1」を設定しておく。仮想I/F制御部110は、そのダミーアドレスをbind()したsocketを作成し、ダミーの宛先として「192.168.100.2」にそのsocketをconnect()している。宛先テーブルには「(始点アドレス)192.168.0.1:10000、(終点アドレス)192.168.10.2:20000」「(始点アドレス)192.168.0.1:10000、(終点アドレス)192.168.10.3:20000」「(終点アドレス)192.168.0.1:10000、(終点アドレス)192.168.10.4:20000」が設定されている。この設定はioctl()で編集する。
図5に、送信装置10による宛先の追加シーケンスを示す。まず、仮想I/F制御部110は、宛先追加要求を受け取ると(ステップS410)、実I/F制御部140に受信用/再送用socketの作成を要求する(ステップS420)。仮想I/F制御部110により受け取られる宛先追加要求は、例えば、送信装置10が備える図示しない入力部によりユーザから入力が受け付けられた宛先および宛先追加操作に基づいて行われる。実I/F制御部140は、socketを作成した後(ステップS430)、socket作成完了応答を返信する(ステップS440)。その後、仮想I/F制御部110は、仮想I/F120に対して宛先追加要求を送信し(ステップS450)、仮想I/F120は、宛先追加要求により指定された宛先を宛先テーブルに追加する(ステップS460)。仮想I/F120は、宛先の追加が終わると、仮想I/F制御部110に宛先追加完了応答を返信する(ステップS470)。
図6は、送信装置10がICMPエラーを受信した場合の動作の例を示した図である。実I/F制御部140は、受信用/再送用socketにより実I/F130を介してICMPエラーを受信し(ステップS510)、ICMPエラーが発生した宛先向けのデータ送信を止めるように仮想I/F制御部110に宛先削除要求を送信する(ステップS520)。仮想I/F制御部110は、宛先削除要求を受信すると、仮想I/F120に対して宛先削除要求を送信し(ステップS530)、仮想I/F120は、宛先削除要求を受信すると、宛先削除要求により指定された宛先を宛先テーブルから削除する。これにより、当該宛先へのデータ送信が停止される。
図8は、本実施形態に係る送信装置をRTP/RTCPストリーミングに適用した場合の選択的再送例を示す図である。RTP(Real Time Protocol)/RTCP(RTP Control Protocol)ストリーミングでは、RTPパケットの欠損をRTCPにより通知して送信装置10に再送を促すことができる。図8に示した例では、「192.168.0.4」の端末(宛先C)が、「2」のパケットが欠損していることを検知し、RTCPにより「2」のパケットが欠損していることを送信装置10に通知している(ステップS610)。RTP/RTCP制御部150は、「2」のパケットが欠損していることを実I/F制御部140に送信し(ステップS620)、実I/F制御部140は、「2」のパケットが欠損していることを宛先Cに対応する受信用/再送用socketにて受信し、実I/F130を経由して「192.168.0.4」の端末(宛先C)にのみパケットを再送する。
図10に、仮想I/F120により実行される処理のフロー図を示す。仮想I/F120は、IPパケットをカーネルから受け取ると、宛先テーブルを参照する(ステップS810)。仮想I/F120は、宛先テーブルに宛先データがあれば(ステップS820で「Yes」)、宛先データに基づき、IPパケットのヘッダ(IPヘッダ)を書き換え(ステップS830)、IPチェックサムを再計算する(ステップS840)。そして、仮想I/F120は、IPパケットのUDPヘッダを書き換え(ステップS850)、UDPチェックサムを再計算し(ステップS860)、IPパケットを実I/F130宛に送信する(ステップS870)。仮想I/F120は、宛先テーブルに宛先データがなくなるまでステップS830〜ステップS870で示された処理を行い、宛先テーブルに宛先データがなくなったら(ステップS820で「No」)、処理を終了する。
図11は、本実施形態に係る送信装置をTCP通信に適用した場合の概要図である。ステップS910〜ステップS940、ステップS960は、UDP通信を行う場合とほぼ同様にして行われる。ただし、TCP通信を行う場合、TCP層で再送やレート制御を行うので、仮想I/F120は、IPパケットのヘッダを書き換えた後、IPパケットをTCP層に転送する必要がある(ステップS950)。仮想I/F120は、UDP通信を行う場合には、IPパケットを直接IP層に転送している。
以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。
本実施形態によれば、送信装置がネットワークを介して複数の宛先にパケットを送信するに際して、ネットワークの種類によらずに送信装置のCPUにかかる負荷を低減することができる。すなわち、例えば、ネットワークがIPマルチキャストに対応していなくても、送信装置のCPUにかかる負荷を低減させつつ、送信装置がネットワークを介して複数の宛先にパケットを送信することができる。
110 仮想I/F制御部
120 仮想I/F
130 実I/F
140 実I/F制御部
150 RTP/RTCP制御部
Claims (7)
- 送信対象となるデータを出力する仮想インタフェース制御部と、
前記データを含むパケットを生成するパケット生成処理部と、
前記パケットの宛先を複数記憶する記憶部と、
前記パケット生成処理部により生成された前記パケットに設定される宛先を前記記憶部により記憶されている複数の宛先のうちの1つにより書き換え、宛先を書き換えた前記パケットを出力する処理を前記複数の宛先について順次に行う仮想インタフェースと、
前記仮想インタフェースにより前記パケットが出力されるたびに前記パケットを前記パケットに設定されている前記宛先に送信する実インタフェースと、
を備える、送信装置。 - 前記仮想インタフェース制御部は、
送信用socketを生成し、生成した前記送信用socketを介して前記仮想インタフェースに前記パケットを出力する、
請求項1に記載の送信装置。 - 前記送信装置は、
受信用socketを前記記憶部により記憶されている前記宛先ごとに生成し、生成した前記受信用socketにより前記実インタフェースを介して前記パケットの送信エラーが発生した旨を示すレスポンスを受信すると、前記レスポンスを受信した前記受信用socketに対応する前記宛先を前記記憶部により記憶されている前記宛先から削除する旨を示す宛先削除要求を前記仮想インタフェース制御部に出力する前記実インタフェース制御部、
をさらに備える、請求項2に記載の送信装置。 - 前記仮想インタフェース制御部は、
前記実インタフェース制御部から前記宛先削除要求が出力されると、前記宛先を前記記憶部により記憶されている前記宛先から削除する旨を示す宛先削除要求を前記仮想インタフェースに出力し、
前記仮想インタフェースは、
前記仮想インタフェース制御部から前記宛先削除要求が出力されると、前記宛先を前記記憶部により記憶されている前記宛先から削除する、
請求項3に記載の送信装置。 - 前記送信装置は、
再送用socketを前記記憶部により記憶されている前記宛先ごとに生成し、生成した前記再送用socketにより前記実インタフェースを介して前記パケットの欠損が発生した旨を示すレスポンスを受信すると、前記レスポンスを受信した前記再送用socketに対応する前記宛先に欠損が発生した前記パケットを再送する前記実インタフェース制御部、
をさらに備える、請求項2に記載の送信装置。 - パケットの宛先を複数記憶するステップと、
送信対象となるデータを出力するステップと、
前記データを含むパケットを生成するステップと、
前記パケットに設定される宛先を前記複数の宛先のうちの1つにより書き換え、宛先を書き換えた前記パケットを出力する処理を前記複数の宛先について順次に行うステップと、
前記パケットが出力されるたびに前記パケットを前記パケットに設定されている前記宛先に送信するステップと、
を含む、送信方法。 - コンピュータを、
送信対象となるデータを出力する仮想インタフェース制御部と、
前記データを含むパケットを生成するパケット生成処理部と、
前記パケットの宛先を複数記憶する記憶部と、
前記パケット生成処理部により生成された前記パケットに設定される宛先を前記記憶部により記憶されている複数の宛先のうちの1つにより書き換え、宛先を書き換えた前記パケットを出力する処理を前記複数の宛先について順次に行う仮想インタフェースと、
前記仮想インタフェースにより前記パケットが出力されるたびに前記パケットを前記パケットに設定されている前記宛先に送信する実インタフェースと、
を備える、送信装置として機能させるためのプログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010079071A JP2011211618A (ja) | 2010-03-30 | 2010-03-30 | 送信装置、送信方法およびプログラム |
US13/065,243 US8649376B2 (en) | 2010-03-30 | 2011-03-17 | Transmission apparatus, transmission method, and program |
CN2011100703592A CN102209025A (zh) | 2010-03-30 | 2011-03-23 | 发送装置、发送方法以及程序 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010079071A JP2011211618A (ja) | 2010-03-30 | 2010-03-30 | 送信装置、送信方法およびプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011211618A true JP2011211618A (ja) | 2011-10-20 |
Family
ID=44697694
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010079071A Pending JP2011211618A (ja) | 2010-03-30 | 2010-03-30 | 送信装置、送信方法およびプログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US8649376B2 (ja) |
JP (1) | JP2011211618A (ja) |
CN (1) | CN102209025A (ja) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0423535A (ja) * | 1990-05-17 | 1992-01-27 | Fujitsu Ltd | 同報通信方式 |
JP2000259514A (ja) * | 1999-03-05 | 2000-09-22 | Hitachi Information Systems Ltd | 電子メール宛先管理システムおよびこのシステムを実現するプログラムを記録した記録媒体 |
JP2003046564A (ja) * | 2001-07-31 | 2003-02-14 | Fujitsu Ltd | 放送型通信システム |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7512084B2 (en) * | 2001-11-28 | 2009-03-31 | Nokia Corporation | Event driven filter monitoring for IP multicast services |
US20030145102A1 (en) * | 2002-01-29 | 2003-07-31 | Alcatel, Societe Anonyme | Facilitating improved reliability of internet group management protocol through the use of acknowledge messages |
US7266120B2 (en) * | 2002-11-18 | 2007-09-04 | Fortinet, Inc. | System and method for hardware accelerated packet multicast in a virtual routing system |
JP2006324737A (ja) * | 2005-05-17 | 2006-11-30 | Matsushita Electric Ind Co Ltd | 通信システム、パケット処理装置、及びパケット処理方法 |
US8116312B2 (en) * | 2006-02-08 | 2012-02-14 | Solarflare Communications, Inc. | Method and apparatus for multicast packet reception |
US20070263626A1 (en) * | 2006-05-14 | 2007-11-15 | Warden David M | A System for Session-Oriented Reliable Multicast Transmission. |
JP4740897B2 (ja) | 2007-05-24 | 2011-08-03 | 株式会社日立製作所 | 仮想ネットワーク構成方法及びネットワークシステム |
-
2010
- 2010-03-30 JP JP2010079071A patent/JP2011211618A/ja active Pending
-
2011
- 2011-03-17 US US13/065,243 patent/US8649376B2/en not_active Expired - Fee Related
- 2011-03-23 CN CN2011100703592A patent/CN102209025A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0423535A (ja) * | 1990-05-17 | 1992-01-27 | Fujitsu Ltd | 同報通信方式 |
JP2000259514A (ja) * | 1999-03-05 | 2000-09-22 | Hitachi Information Systems Ltd | 電子メール宛先管理システムおよびこのシステムを実現するプログラムを記録した記録媒体 |
JP2003046564A (ja) * | 2001-07-31 | 2003-02-14 | Fujitsu Ltd | 放送型通信システム |
Also Published As
Publication number | Publication date |
---|---|
CN102209025A (zh) | 2011-10-05 |
US20110243132A1 (en) | 2011-10-06 |
US8649376B2 (en) | 2014-02-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107278360B (zh) | 一种实现网络互连的系统、方法及装置 | |
JP4495515B2 (ja) | マルチキャスト会議データの信頼性の高い配信 | |
EP2601757B1 (en) | Method and apparatus for converting a multicast session to a unicast session | |
US7840651B2 (en) | Client-server emulation supporting multicast transmissions of media objects | |
CN101924771B (zh) | 一种用于加速应用代理的核心级tcp连接粘合方法 | |
US9231784B2 (en) | Method for eliminating redundant connections | |
US9413797B2 (en) | Data communication system and method | |
CN115002023B (zh) | 一种链路聚合方法、链路聚合装置、电子设备及存储介质 | |
US8363573B2 (en) | Method for ringcasting with improved reliability | |
US8650313B2 (en) | Endpoint discriminator in network transport protocol startup packets | |
JP2008252393A (ja) | 通信端末装置、配信装置、エラー通知方法およびエラー通知プログラム | |
CN105227276A (zh) | 一种基于udt的对等网络数据传输方法 | |
CN103905331A (zh) | 一种实时媒体数据传输方法、装置及系统 | |
US9485189B2 (en) | Transfer device, and transfer method | |
JP2011211618A (ja) | 送信装置、送信方法およびプログラム | |
JP2005210352A (ja) | Ipアドレス変換装置及び変換方法 | |
JP6802295B2 (ja) | 転送装置、転送方法及びプログラム | |
JP4805072B2 (ja) | 通信システム | |
KR101547048B1 (ko) | 라우터에서의 통신들을 관리하는 기술 | |
JP5339537B2 (ja) | 不安定な無線リンクにおける切断耐性を高める無線端末、プロキシサーバ及びプログラム | |
KR101328028B1 (ko) | 세션 기반 메시지 전송 시스템 및 그 방법 | |
JP2006109016A (ja) | 送受信装置、送受信制御方法、プログラム、およびメモリ | |
JP2002152256A (ja) | アドレス変換装置及びその方法 | |
JP2006121593A (ja) | サーバ装置、データ配信方法およびプログラム | |
JP2010154161A (ja) | データ配信方法およびプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130305 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20131018 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20131022 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20131129 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20140318 |