JP2011211618A - 送信装置、送信方法およびプログラム - Google Patents

送信装置、送信方法およびプログラム Download PDF

Info

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
Application number
JP2010079071A
Other languages
English (en)
Inventor
Yasuto Masuda
康人 増田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2010079071A priority Critical patent/JP2011211618A/ja
Priority to US13/065,243 priority patent/US8649376B2/en
Priority to CN2011100703592A priority patent/CN102209025A/zh
Publication of JP2011211618A publication Critical patent/JP2011211618A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • H04L1/1887Scheduling and prioritising arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1863Arrangements for providing special services to substations for broadcast or conference, e.g. multicast comprising mechanisms for improved reliability, e.g. status reports
    • H04L12/1868Measures taken after transmission, e.g. acknowledgments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L2001/0092Error control systems characterised by the topology of the transmission link
    • H04L2001/0093Point-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

【課題】送信装置がネットワークを介して複数の宛先にパケットを送信するに際して、ネットワークの種類によらずに送信装置のCPUにかかる負荷を低減する。
【解決手段】送信装置10は、送信対象となるデータを出力する仮想I/F制御部110と、データを含むパケットを生成するパケット生成処理部と、パケットの宛先を複数記憶する記憶部と、パケット生成処理部により生成されたパケットに設定される宛先を記憶部により記憶されている複数の宛先のうちの1つにより書き換え、宛先を書き換えたパケットを出力する処理を複数の宛先について順次に行う仮想I/F120と、仮想I/F120によりパケットが出力されるたびにパケットをパケットに設定されている宛先に送信する実インタフェース130と、を備える。
【選択図】図1

Description

本発明は、送信装置、送信方法およびプログラムに関する。
近年、送信装置が同一のデータを複数の宛先に送信する技術として様々なものが開示されている。第1の手法としては、 仮想ネットワークインタフェース(仮想ネットワークInterFace、以下、「仮想I/F」とも言う。)を介さずにユニキャストでパケットを複数回送信する技術が開示されている。例えば、特許文献1に開示されている技術は、ネットワークの帯域がボトルネックになっている場合に、複数のインタフェースを同時に利用することで、そのボトルネックを回避するためのものである。
また、第2の手法として、IP(Internet Protocol)マルチキャストを利用して複数の宛先にパケットを送信する技術が開示されている。かかるIPマルチキャストを利用した技術によれば、パケット生成処理は1回行えばよく、送信処理も一回行えばよいので、CPUにかかる負荷は低減される。
特開2008−294717号公報
しかしながら、仮想I/F120を介さずにユニキャストで複数回送信する技術では、IPパケット生成処理が宛先の数だけ行われることになり、CPUにかかる負荷が高くなってしまうという問題があった。特に、特許文献1に開示された技術では、CPUにかかる負荷が高まったときにはボトルネックを回避することができないという問題があった。
IPマルチキャストを利用して複数の宛先にパケットを送信する技術では、ネットワークがIPマルチキャストに対応している必要があり、IPマルチキャストに対応していないネットワークを介して通信を行う場合には利用できないという問題があった。また、送信対象となる全てのパケットがマルチキャストされてしまうため、選択的にパケットを再送するのは困難であるという問題があった。
そこで、本発明は、送信装置がネットワークを介して複数の宛先にパケットを送信するに際して、ネットワークの種類によらずに送信装置のCPUにかかる負荷を低減することが可能な技術を提供しようとするものである。
本発明のある実施形態によれば、送信対象となるデータを出力する仮想インタフェース制御部と、上記データを含むパケットを生成するパケット生成処理部と、上記パケットの宛先を複数記憶する記憶部と、上記パケット生成処理部により生成された上記パケットに設定される宛先を上記記憶部により記憶されている複数の宛先のうちの1つにより書き換え、宛先を書き換えた上記パケットを出力する処理を上記複数の宛先について順次に行う仮想インタフェースと、上記仮想インタフェースにより上記パケットが出力されるたびに上記パケットを上記パケットに設定されている上記宛先に送信する実インタフェースと、を備える、送信装置が提供される。
上記仮想インタフェース制御部は、送信用socketを生成し、生成した上記送信用socketを介して上記仮想インタフェースに上記パケットを出力することとしてもよい。
上記送信装置は、受信用socketを上記記憶部により記憶されている上記宛先ごとに生成し、生成した上記受信用socketにより上記実インタフェースを介して上記パケットの送信エラーが発生した旨を示すレスポンスを受信すると、上記レスポンスを受信した上記受信用socketに対応する上記宛先を上記記憶部により記憶されている上記宛先から削除する旨を示す宛先削除要求を上記仮想インタフェース制御部に出力する上記実インタフェース制御部、をさらに備えることとしてもよい。
上記仮想インタフェース制御部は、上記実インタフェース制御部から上記宛先削除要求が出力されると、上記宛先を上記記憶部により記憶されている上記宛先から削除する旨を示す宛先削除要求を上記仮想インタフェースに出力し、上記仮想インタフェースは、上記仮想インタフェース制御部から上記宛先削除要求が出力されると、上記宛先を上記記憶部により記憶されている上記宛先から削除することとしてもよい。
上記送信装置は、再送用socketを上記記憶部により記憶されている上記宛先ごとに生成し、生成した上記再送用socketにより上記実インタフェースを介して上記パケットの欠損が発生した旨を示すレスポンスを受信すると、上記レスポンスを受信した上記再送用socketに対応する上記宛先に欠損が発生した上記パケットを再送する上記実インタフェース制御部、をさらに備えることとしてもよい。
また、本発明の別の実施形態によれば、上記パケットの宛先を複数記憶するステップと、送信対象となるデータを出力するステップと、上記データを含むパケットを生成するステップと、上記パケット生成処理部により生成された上記パケットに設定される宛先を上記記憶部により記憶されている複数の宛先のうちの1つにより書き換え、宛先を書き換えた上記パケットを出力する処理を上記複数の宛先について順次に行うステップと、上記仮想インタフェースにより上記パケットが出力されるたびに上記パケットを上記パケットに設定されている上記宛先に送信するステップと、を含む、送信方法が提供される。
また、本発明の別の実施形態によれば、コンピュータを、送信対象となるデータを出力する仮想インタフェース制御部と、上記データを含むパケットを生成するパケット生成処理部と、上記パケットの宛先を複数記憶する記憶部と、上記パケット生成処理部により生成された上記パケットに設定される宛先を上記記憶部により記憶されている複数の宛先のうちの1つにより書き換え、宛先を書き換えた上記パケットを出力する処理を上記複数の宛先について順次に行う仮想インタフェースと、上記仮想インタフェースにより上記パケットが出力されるたびに上記パケットを上記パケットに設定されている上記宛先に送信する実インタフェースと、を備える、送信装置として機能させるためのプログラムが提供される。
以上説明したように、本発明によれば、送信装置がネットワークを介して複数の宛先にパケットを送信するに際して、ネットワークの種類によらずに送信装置のCPUにかかる負荷を低減することができる。
本実施形態に係る送信装置の機能構成を示す図である。 仮想I/Fを利用しないで複数の宛先に同一データを送信する処理の流れを示すフローチャートである。 仮想I/Fを利用して複数の宛先に同一データを送信する処理の流れを示すフローチャートである。 本実施形態に係る送信装置の動作の具体例を示す図である。 本実施形態に係る送信装置による宛先の追加シーケンスを示す。 本実施形態に係る送信装置がICMPエラーを受信した場合の動作の例を示した図である。 図6に示した処理をシーケンス図として表したものである。 本実施形態に係る送信装置をRTP/RTCPストリーミングに適用した場合の選択的再送例を示す図である。 図8に示した処理をシーケンス図として表したものである。 仮想I/Fにより実行される処理のフロー図を示す。 本実施形態に係る送信装置をTCP通信に適用した場合の概要図である。
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付すことにより重複説明を省略する。
また、以下の順序にしたがって当該「発明を実施するための形態」を説明する。
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−1.送信装置の概要]
本実施形態に係る送信装置の概要について説明する。本実施形態に係る送信装置は、同一のデータを複数の宛先に送信する場合に、多地点送信用の仮想ネットワークインタフェース(以下、「仮想I/F120」とも言う。)を介してデータを送信することにより、ボトルネックとなるIPパケット生成処理の回数を減らし、送信装置のCPUにかかる負荷を抑制することができる。送信対象となるデータは、映像ストリーム等であるが特に限定されるものではない。
また、送信装置の仮想I/F120は、設定された宛先情報にしたがって、パケットのIPヘッダとトランスポートヘッダとを書き換えながら、実ネットワークインタフェース(以下、「実I/F130」とも言う。)にパケットを転送することで、多地点送信を実現することができる。トランスポートヘッダには、UDP(User Datagram Protocol)のヘッダやTCP(Transmission Control Protocol)のヘッダ等がある。
さらに、送信装置は、仮想I/F120を介する通信を行った場合には、送信装置内に生成されたSocketが送信専用になってしまい、ICMP(Internet Control Message Protocol)パケット等のレスポンスを受信できず、エラー制御ができない。そこで、送信装置内に受信専用のSocketを生成し、レスポンスを受信できるようにする。
また、送信装置が仮想I/F120を介して送信するデータは、指定された全ての宛先に送信されてしまうので、選択的にデータを再送することができない。そこで、送信装置は、再送用のSocketを生成し、生成した再送用のSocketからデータを再送させることで選択的再送を行うことができる。
[1−2.送信装置の機能構成]
図1は、本実施形態に係る送信装置の機能構成を示す図である。図1に示すように、送信装置10が備える図示しないCPUにより実行されるアプリケーションには、仮想I/F制御部110を実現するためのアプリケーションと、実I/F制御部140を実現するためのアプリケーションとが含まれている。また、送信装置10が備える図示しないCPUにより実行されるデバイスドライバには、仮想I/F制御部120を実現するためのデバイスドライバと、実I/F130とが含まれている。
その他、送信装置10が備える図示しないCPUによりカーネルが実行されている。カーネルには、ネットワーク層のプロトコルにしたがった処理を行うためのプログラムやトランスポート層のプロトコルにしたがった処理を行うためのプログラムが含まれている。ここでは、ネットワーク層のプロトコルとしてはIP、トランスポート層のプロトコルとしてはUDPを使用することとするが、これらに限定されるものではない。これらのアプリケーションやカーネル、デバイスドライバ等のプログラムは、例えば、送信装置10が備える図示しない記憶部により記憶されており、CPUにより実行されることで各機能ブロック(仮想I/F制御部110、仮想I/F制御部120、実I/F130、実I/F制御部140等)が実現される。
各機能ブロックにより使用されるデータは、例えば、送信装置10が備える図示しない記憶部により記憶されているものを使用することができる。実I/F130による通信は、例えば、送信装置10が備える図示しない通信装置を介して行うこととすることができる。
送信装置10は、送信対象となるデータを、仮想I/F制御部110により、仮想I/F制御部120に対して送信する(ステップS110)。そして、カーネル内でIPパケット生成処理(ステップS120)がなされた後、カーネルによりIPパケットが仮想I/F制御部120に送信される(ステップS130)。カーネル内においてパケット生成処理を行う機能ブロックは、特に、パケット生成処理部の一例として機能する。仮想I/F制御部120により、IPヘッダ、UDPヘッダを書き換えつつ(ステップS140)、ヘッダを書き換えたパケットを実I/F130に向けて複数回送信することで(ステップS150)、多地点配信を実現する。配信先となる宛先は、仮想I/F制御部110から仮想I/F制御部120に対して送信先追加/削除要求が出されることで制御される(ステップS160)。
ICMPエラー等のレスポンスが宛先から実I/F130に返ってきた場合(ステップS170)、アプリケーションは、仮想I/F120経由ではエラーを受信できないので、実I/F制御部140により受信する。送信装置10は、ネットワーク上でパケットが欠損した場合、そのパケットを再送する必要があるが、仮想I/F120経由でパケットを送信すると、全ての宛先にパケットが送信されてしまう。実I/F制御部140が、パケットが欠損した宛先にのみ、実I/F130を介してパケットを再送することで(ステップS180)、選択的な再送が実現できる。
[1−3.仮想I/Fを利用しない場合]
図2は、仮想I/F120を利用しないで宛先A〜Cの3箇所に同一データを送信する処理の流れを示すフローチャートである。送信装置10は、ネットワークを介して宛先A〜Cと通信を行うものとする。仮想I/F120を利用しないで宛先A〜Cの3箇所に同一データを送信する場合には、アプリケーションは、宛先A〜Cにそれぞれデータを送信し(ステップS210A〜ステップS210C)、カーネルによるパケット生成処理も3回行われる(ステップS211A〜ステップS211C)。
[1−4.仮想I/Fを利用する場合]
図3は、仮想I/F120を利用して宛先A〜Cの3箇所に同一データを送信する処理の流れを示すフローチャートである。本実施形態に係る送信装置10は、仮想I/F120を利用して宛先A〜Cの3箇所に同一データを送信する。アプリケーションは、ダミーの宛先である宛先Vにデータを送信する(ステップS310)。アプリケーションによるデータ送信(ステップS310)は、例えば、送信装置10が備える図示しない入力部によりユーザから入力が受け付けられたデータおよび送信操作に基づいて行われる。
カーネルは、宛先Vあてのパケットを一回生成する(ステップS311)。仮想I/F120は、宛先テーブルを参照しながら(ステップS312)、生成されたパケットのヘッダを宛先A〜Cに書き換えながら、ヘッダが書き換えられたパケットを3回送信する(ステップS313A〜ステップS313C)。宛先テーブルは、例えば、送信装置が備える図示しない記憶部により記憶されており、仮想I/F120により読み込まれて使用される。このように、仮想I/F120を利用した場合には、パケット生成処理を1回行えばよいので、CPUにかかる負荷が軽減されている。
[1−5.送信装置の動作の具体例]
図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()で編集する。
仮想I/F制御部110は、作成したsocketからデータを送信すると、カーネル内でIPパケット化され、IPパケットが仮想I/F120に届く。仮想I/F120は、宛先テーブルにしたがって、IPパケットのヘッダを書き換えながら、IPパケットを実I/F130に転送する。実I/F130は、ヘッダが書き換えられたIPパケットをそのままネットワークに送出する。仮想I/F120においてヘッダが書き換えられているので、パケットを受信する側では、かかる手法により送信されたパケットと一般的な手法により送信されたパケットとの区別がつかない。
[1−6.送信装置による宛先の追加シーケンス]
図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)。
[1−7.送信装置がICMPエラーを受信した場合の動作例]
図6は、送信装置10がICMPエラーを受信した場合の動作の例を示した図である。実I/F制御部140は、受信用/再送用socketにより実I/F130を介してICMPエラーを受信し(ステップS510)、ICMPエラーが発生した宛先向けのデータ送信を止めるように仮想I/F制御部110に宛先削除要求を送信する(ステップS520)。仮想I/F制御部110は、宛先削除要求を受信すると、仮想I/F120に対して宛先削除要求を送信し(ステップS530)、仮想I/F120は、宛先削除要求を受信すると、宛先削除要求により指定された宛先を宛先テーブルから削除する。これにより、当該宛先へのデータ送信が停止される。
図7は、図6に示した処理をシーケンス図として表したものである。まず、実I/F130は、ICMPエラーを受信すると(ステップS510)、実I/F制御部140にICMPエラーを送信する。実I/F制御部140は、受信用/再送用socketによりICMPエラーを受信すると、仮想I/F制御部110に宛先削除要求を送信する(ステップS520)。仮想I/F制御部110は、宛先削除要求を受信すると、仮想I/F120に宛先削除要求を送信する(ステップS530)。
仮想I/F120は、宛先削除要求により指定された宛先を宛先テーブルから削除し、(ステップS540)、宛先の削除が完了すると、宛先削除完了応答を仮想I/F制御部110に返信する(ステップS550)。仮想I/F制御部110は、宛先削除完了応答を受信すると、socket削除要求を実I/F制御部140に送信する(ステップS560)。実I/F制御部140は、socket削除要求を受信すると、当該宛先に対応する受信用/再送用socketを削除し(ステップS570)、仮想I/F制御部110にsocket削除完了応答を返信する(ステップS580)。
[1−8.RTPデータの送信を行う場合の選択的再送例]
図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)にのみパケットを再送する。
図9は、図8に示した処理をシーケンス図として表したものである。RTP/RTCP制御部150は、宛先Vのアドレス「192.168.100.2」宛に送信対象となるRTPデータを送信し(ステップS710)、仮想I/F制御部110は、受信したRTPデータをカーネル宛に送信する(ステップS720)。カーネルは、RTPデータを受信すると、RTPデータを含むパケットを生成し(ステップS730)、生成したパケットを仮想I/F120に送信する。仮想I/F120は、宛先テーブルを参照しながら(ステップS740)、生成されたパケットのヘッダを宛先A〜Cのアドレスに書き換えながら(ステップS750A〜ステップS750C)、ヘッダが書き換えられたパケットを3回送信する。
宛先Cによりパケットロスが検知されると(ステップS760)、宛先Cは、RTCPによる通知がRTP/RTCP制御部150に通知し(ステップS610)、RTP/RTCP制御部150は、実I/F制御部140にRTP再送要求を送信する(ステップS620)。実I/F制御部140は、RTP再送要求を受信すると、実I/F130を介して、宛先Cにのみパケットを再送する(ステップS620)。
[1−9.仮想I/F120により実行される処理]
図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」)、処理を終了する。
[1−10.送信装置をTCP通信に適用した場合]
図11は、本実施形態に係る送信装置をTCP通信に適用した場合の概要図である。ステップS910〜ステップS940、ステップS960は、UDP通信を行う場合とほぼ同様にして行われる。ただし、TCP通信を行う場合、TCP層で再送やレート制御を行うので、仮想I/F120は、IPパケットのヘッダを書き換えた後、IPパケットをTCP層に転送する必要がある(ステップS950)。仮想I/F120は、UDP通信を行う場合には、IPパケットを直接IP層に転送している。
カーネルは、TCP処理において、TCP ACKの内容によりパケットの欠損を検知すると(ステップS970)、アプリケーションに通知することなく選択的再送を行う(ステップS980)。実I/F制御部140は、選択的再送処理に関わらず、Socketの生成/削除のみ行う(ステップS990)。例えば、TCP RSTが到着した場合、カーネルのTCP処理において、実I/F制御部140に通知し、実I/F制御部140は、Socketを削除する等の処理を行う。本実施形態に係る送信装置をTCP通信に適用した場合、UDP通信の場合よりもCPUにかかる負荷は抑制できないが、一般的な通信と比較すれば効率化を図ることができる。
<2.変形例>
以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。
例えば、本実施形態において使用されたシーケンス図やフローチャートに示されたステップは、必ずしもシーケンス図やフローチャートに示された順序で実行される必要はない。すなわち、本実施形態において使用されたシーケンス図やフローチャートに示されたステップは、適宜順序が変更されて実行されることとしてもよい。
<3.まとめ>
本実施形態によれば、送信装置がネットワークを介して複数の宛先にパケットを送信するに際して、ネットワークの種類によらずに送信装置のCPUにかかる負荷を低減することができる。すなわち、例えば、ネットワークがIPマルチキャストに対応していなくても、送信装置のCPUにかかる負荷を低減させつつ、送信装置がネットワークを介して複数の宛先にパケットを送信することができる。
これにより、送信装置によるデータ配信時に送信装置のCPUにかかる負荷を抑制できるので、送信装置はより多くの宛先に配信できるようになる。また、送信装置のCPUにかかる負荷を抑制することができるので、データ配信を行いながらデータ配信以外の処理を行うことが容易となる。本実施形態に係る送信装置は、CPUの能力に制限がある組み込み機器で多地点配信を行う場合等に特に適したものである。
10 送信装置
110 仮想I/F制御部
120 仮想I/F
130 実I/F
140 実I/F制御部
150 RTP/RTCP制御部

Claims (7)

  1. 送信対象となるデータを出力する仮想インタフェース制御部と、
    前記データを含むパケットを生成するパケット生成処理部と、
    前記パケットの宛先を複数記憶する記憶部と、
    前記パケット生成処理部により生成された前記パケットに設定される宛先を前記記憶部により記憶されている複数の宛先のうちの1つにより書き換え、宛先を書き換えた前記パケットを出力する処理を前記複数の宛先について順次に行う仮想インタフェースと、
    前記仮想インタフェースにより前記パケットが出力されるたびに前記パケットを前記パケットに設定されている前記宛先に送信する実インタフェースと、
    を備える、送信装置。
  2. 前記仮想インタフェース制御部は、
    送信用socketを生成し、生成した前記送信用socketを介して前記仮想インタフェースに前記パケットを出力する、
    請求項1に記載の送信装置。
  3. 前記送信装置は、
    受信用socketを前記記憶部により記憶されている前記宛先ごとに生成し、生成した前記受信用socketにより前記実インタフェースを介して前記パケットの送信エラーが発生した旨を示すレスポンスを受信すると、前記レスポンスを受信した前記受信用socketに対応する前記宛先を前記記憶部により記憶されている前記宛先から削除する旨を示す宛先削除要求を前記仮想インタフェース制御部に出力する前記実インタフェース制御部、
    をさらに備える、請求項2に記載の送信装置。
  4. 前記仮想インタフェース制御部は、
    前記実インタフェース制御部から前記宛先削除要求が出力されると、前記宛先を前記記憶部により記憶されている前記宛先から削除する旨を示す宛先削除要求を前記仮想インタフェースに出力し、
    前記仮想インタフェースは、
    前記仮想インタフェース制御部から前記宛先削除要求が出力されると、前記宛先を前記記憶部により記憶されている前記宛先から削除する、
    請求項3に記載の送信装置。
  5. 前記送信装置は、
    再送用socketを前記記憶部により記憶されている前記宛先ごとに生成し、生成した前記再送用socketにより前記実インタフェースを介して前記パケットの欠損が発生した旨を示すレスポンスを受信すると、前記レスポンスを受信した前記再送用socketに対応する前記宛先に欠損が発生した前記パケットを再送する前記実インタフェース制御部、
    をさらに備える、請求項2に記載の送信装置。
  6. パケットの宛先を複数記憶するステップと、
    送信対象となるデータを出力するステップと、
    前記データを含むパケットを生成するステップと、
    前記パケットに設定される宛先を前記複数の宛先のうちの1つにより書き換え、宛先を書き換えた前記パケットを出力する処理を前記複数の宛先について順次に行うステップと、
    前記パケットが出力されるたびに前記パケットを前記パケットに設定されている前記宛先に送信するステップと、
    を含む、送信方法。
  7. コンピュータを、
    送信対象となるデータを出力する仮想インタフェース制御部と、
    前記データを含むパケットを生成するパケット生成処理部と、
    前記パケットの宛先を複数記憶する記憶部と、
    前記パケット生成処理部により生成された前記パケットに設定される宛先を前記記憶部により記憶されている複数の宛先のうちの1つにより書き換え、宛先を書き換えた前記パケットを出力する処理を前記複数の宛先について順次に行う仮想インタフェースと、
    前記仮想インタフェースにより前記パケットが出力されるたびに前記パケットを前記パケットに設定されている前記宛先に送信する実インタフェースと、
    を備える、送信装置として機能させるためのプログラム。

JP2010079071A 2010-03-30 2010-03-30 送信装置、送信方法およびプログラム Pending JP2011211618A (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 株式会社日立製作所 仮想ネットワーク構成方法及びネットワークシステム

Patent Citations (3)

* Cited by examiner, † Cited by third party
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