(57)【要約】【課題】リオーダ処理の発生を低減することにより、データの配信遅延を削減することを目的とする。【解決手段】複数の通信経路を並列に使用してパケットを送信する送信装置であって、複数のパケットを含むパケット群のサイズと、パケット群の送信に許容される許容時間とに基づいて、前記パケット群の送信に許容される許容速度を算出する算出手段と、各通信経路の通信速度と許容速度とに基づいて、送信対象のデータを構成するパケット群毎に、パケット群の送信に利用する、少なくとも一つの通信経路を含む送信パスを決定する決定手段とを有する。【選択図】図１
2015216414.tif 000002
【特許請求の範囲】
【請求項１】
複数の通信経路を並列に使用してパケットを送信する送信装置であって、
複数のパケットを含むパケット群のサイズと、前記パケット群の送信に許容される許容時間とに基づいて、前記パケット群の送信に許容される許容速度を算出する算出手段と、
各通信経路の通信速度と前記許容速度とに基づいて、送信対象のデータを構成するパケット群毎に、パケット群の送信に利用する、少なくとも一つの通信経路を含む送信パスを決定する決定手段と
を有することを特徴とする送信装置。
【請求項２】
前記パケット群は、１つのフレームを構成する複数のパケットを含むことを特徴とする請求項１に記載の送信装置。
【請求項３】
前記決定手段は、前記通信速度が前記許容速度よりも大きい送信パスを、前記パケット群を送信する送信パスとして決定することを特徴とする請求項１又は２に記載の送信装置。
【請求項４】
前記決定手段は、前記通信速度が前記許容速度よりも大きい前記送信パスが複数存在する場合に、通信経路の数がより少ない送信パスを、前記パケット群を送信する送信パスとして決定することを特徴とする請求項３に記載の送信装置。
【請求項５】
前記決定手段は、前記通信速度が前記許容速度よりも大きい前記送信パスが複数存在する場合に、未使用時間がより長い送信パスを、前記パケット群を送信する送信パスとして決定することを特徴とする請求項３に記載の送信装置。
【請求項６】
前記決定手段により決定された送信パスが複数の通信経路を含む場合に、送信パスに含まれる各通信経路の通信速度に基づいて、前記パケット群に含まれる複数のパケットを振り分ける振り分け手段をさらに有することを特徴とする請求項１乃至５何れか１項に記載の送信装置。
【請求項７】
前記決定手段により決定された送信パスが複数の通信経路を含む場合に、各通信経路における、リクエスト送信から応答を受信するまでにかかる遅延時間に基づいて、前記パケット群に含まれる複数のパケットを振り分ける振り分け手段をさらに有することを特徴とする請求項１乃至５何れか１項に記載の送信装置。
【請求項８】
複数の通信経路を並列に使用してパケットを送信する送信装置が実行する送信制御方法であって、
複数のパケットを含むパケット群のサイズと、前記パケット群の送信に許容される許容時間とに基づいて、前記パケット群の送信に許容される許容速度を算出する算出ステップと、
各通信経路の通信速度と前記許容速度とに基づいて、送信対象のデータを構成するパケット群毎に、パケット群の送信に利用する、少なくとも一つの通信経路を含む送信パスを決定する決定ステップと
を含むことを特徴とする送信制御方法。
【請求項９】
コンピュータを、
複数の通信経路を並列に使用してパケットを送信する送信装置であって、
複数のパケットを含むパケット群のサイズと、前記パケット群の送信に許容される許容時間とに基づいて、前記パケット群の送信に許容される許容速度を算出する算出手段と、
マルチ伝送において並列に使用される複数の通信経路それぞれの通信速度と前記許容速度とに基づいて、送信対象のデータを構成するパケット群毎に、パケット群の送信に利用する、少なくとも一つの通信経路を含む送信パスを決定する決定手段と
して機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、送信装置、送信制御方法及びプログラムに関する。
【背景技術】
【０００２】
従来、動画像や音声等のマルチメディアデータをＩＰ（Internet  Protocol）ネットワークを利用してストリーミング視聴する技術が普及している。例えば、ＲＴＰ（A  Transport  Protocol  for  Real-Time  Applications,  RFC３５５０,  IETF）と呼ばれる通信プロトコルが利用されてきている。
また、ＩＰネットワークを流れる映像データは年々高画質化、高品質化してきており、符号化技術も圧縮効率の高いＨＥＶＣ（High  Efficiency  Video  Coding）の登場等により進歩してきている。
一方、メディアデータの通信量は年々増加しているため、通信帯域の大容量化が求められている。つまり、インフラの整備と共にネットワーク帯域を効率的に利用する事が求められている。
【０００３】
ネットワーク帯域を効率的に利用する方法として、利用可能な複数のネットワークインタフェースを並行して利用し、大容量化を図るマルチパス伝送技術がある。マルチパス伝送をサポートするプロトコルとしては、Ｍｕｌｔｉｐａｔｈ  TCP（Architectural  Guidelines  for  Multipath  TCP  Development，RFC６１８２，IETF）が挙げられる。また、他のプロトコルとしては、Ｍｕｌｔｉｐａｔｈ  ＲＴＰやＣＭＴ−ＳＣＴＰ（Concurrent  Multipath  Transfer  using  Stream  Control  Transmission  Protocol）が挙げられる。
複数の伝送路を並行して利用するマルチパス伝送においては、利用する複数の伝送路の帯域やジッタが異なる場合も考えられる。帯域が狭く、レイテンシが大きい伝送路にパケットを流した場合には、帯域が広く、レイテンシが小さい伝送路にパケットを流した場合に比べて、受信装置が受信するまでの遅延が大きくなってしまう可能性がある。これに対し、特許文献１には、伝送路毎の帯域やレイテンシ等の違いを考慮して、各伝送路に振り分けるデータ量を制御する技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−６７０７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、マルチパス伝送において、動画データをパケット単位で送信パスに振り分けた場合にはリオーダ処理が発生し、配信遅延に繋がるという問題があった。
【０００６】
本発明はこのような問題点に鑑みなされたもので、マルチパス伝送において、リオーダ処理の発生を低減することにより、データの配信遅延を削減することを目的とする。
【課題を解決するための手段】
【０００７】
そこで、本発明は、送信装置であって、複数の通信経路を並列に使用してパケットを送信する送信装置であって、複数のパケットを含むパケット群のサイズと、前記パケット群の送信に許容される許容時間とに基づいて、前記パケット群の送信に許容される許容速度を算出する算出手段と、各通信経路の通信速度と前記許容速度とに基づいて、送信対象のデータを構成するパケット群毎に、パケット群の送信に利用する、少なくとも一つの通信経路を含む送信パスを決定する決定手段とを有することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、マルチパス伝送において、リオーダ処理の発生を低減することにより、データの配信遅延を削減することができる。
【図面の簡単な説明】
【０００９】
【図１】送信装置を示す図である。
【図２】送信制御処理を示すフローチャートである。
【図３】通信速度の一例を示す図である。
【図４】送信パスの決定例を示す図である。
【図５】パケットの送信例を示す図である。
【発明を実施するための形態】
【００１０】
以下、本発明の実施形態について図面に基づいて説明する。
図１は、実施形態に係る送信装置１００を示す図である。送信装置１００は、生成部１０１、管理部１０２、第１記憶部１０３と、計測部１０４、第２記憶部１０５、制御部１０６、及び３つの通信Ｉ／Ｆ１０７ａ〜１０７ｃを有している。
通信経路としての伝送路１１０ａ〜１１０ｃは、３Ｇや４Ｇ等の携帯電話系の通信サービスやインターネット、或いはＬＡＮ（Local  Area  Network）等のネットワークである。通信Ｉ／Ｆ１０７ａ〜１０７ｃは、データを送受信する機能を備え、各々伝送路１１０ａ〜１１０ｃと通信可能な様に接続されている。送信装置１００は、複数の伝送路１１０ａ〜１１０ｃを並列に使用してデータを送信するマルチ伝送が可能である。尚、通信手段は無線でも有線でも良い。また、送信装置１００は、通信Ｉ／Ｆ及び対応する伝送路を複数有していればよく、その数は、実施形態に限定されるものではない。
【００１１】
生成部１０１は、動画像や音声の符号化された符号化データがフレーム単位で入力されると、符号化データを送信対象のデータとし、符号化データを通信に適したサイズに分割し、パケットを生成する。例えば、送信装置１００が、伝送プロトコルにＲＴＰを用いる場合には、生成部１０１は、符号化データを分割した後、さらにメディアの種類毎に適切なヘッダを付加してＲＴＰのデータパケットを生成する。
管理部１０２は、入力された符号化データのフレーム毎のサイズ情報を生成し、これを保持する。第１記憶部１０３は、許容時間を示す情報を記憶する。本実施例において、許容時間は、フレーム単位の符号化データを伝送する際の、許容可能な伝送時間である。許容時間を示す情報は、予めＲＯＭ（Read  Only  Memory）等に格納されているものとする。
【００１２】
計測部１０４は、受信装置から伝送されるＲＴＣＰのReceiver  Report（以降、ＲＲと記述する）を基に、伝送路１１０ａ〜１１０ｃ毎の通信速度を計測する。通信速度情報には、通信帯域情報が含まれる。ＴＣＰのデータフローと混在するネットワークにおいてＵＤＰで使用可能な帯域計測の方法としては、例えばＴＦＲＣ（TCP-Friendly  Rate  Control）が良く知られており、この計測方法にはＲＴＣＰ  ＲＲの情報が利用できる。また、簡易的には受信装置側のウィンドウサイズ（ＲＷＩＮとも呼ばれる）をＲＴＴ（Round  Trip  Time）で除算する方法も挙げられる。
第２記憶部１０５は、計測部１０４により計測された、伝送路１１０ａ〜１１０ｃ毎の通信速度を示す通信速度情報を記憶する。なお、第２記憶部１０５が記憶する通信速度情報は、計測部１０４により計測が行われる度に更新される。制御部１０６は、受信装置との通信セッションの制御及び３つの通信Ｉ／Ｆ１０７ａ〜１０７ｃへ送信するデータの振り分けを行う。
なお、図１に示す各部及び以下に示す送信装置１００の処理は、ＣＰＵ（Central  Processing  Unit）がＲＯＭ等に格納されているプログラムを読み出し、このプログラムを実行することにより実現されるものである。
【００１３】
図２は、送信装置１００による送信制御処理を示すフローチャートである。送信装置１００は、映像符号化データが入力され、パケット生成、フレームのサイズ情報の保持が完了すると、送信制御処理を開始する。Ｓ２０１において、制御部１０６は、管理部１０２から入力された符号化データの１フレーム分のサイズ情報を取得する。ここで、１フレームは、複数のパケットを含むパケット群の一例である。次に、Ｓ２０２において、制御部１０６は、第１記憶部１０３から許容時間を取得する。
次に、Ｓ２０３において、制御部１０６は、フレームのサイズ情報と許容時間とに基づいて、フレーム送信レートを算出する（算出処理）。ここで、フレーム送信レートは、フレームの送信時に許容される通信速度、すなわち許容速度の一例である。また、Ｓ２０３の処理は、算出処理の一例である。制御部１０６は、具体的には、フレームのサイズを許容時間で除算することにより、フレーム送信レートを算出する。ただし、ＲＴＰで送信する場合、ＲＴＰヘッダの分のデータ量が加算される。そこで、この場合には、制御部１０６は、ＲＴＰヘッダサイズにパケット分割数を掛けた分のデータ量を考慮して、フレーム送信レートを算出してもよい。
【００１４】
次に、Ｓ２０４において、制御部１０６は、各伝送路１１０ａ〜１１０ｃの通信速度情報を取得する。次に、Ｓ２０５において、通信速度とフレーム送信レートとに基づいて、送信パスを決定する。例えば、処理対象のフレームのフレーム送信レートが５０Ｍｂｐｓ、３つの伝送路Ａ，Ｂ，Ｃ（それぞれ伝送路１１０ａ〜１１０ｃに対応する）の通信速度が、図３に示すように、それぞれ６０Ｍｂｐｓ，４０Ｍｂｐｓ，２０Ｍｂｐｓであるとする。この場合、Ａのみ、又はＢとＣの組み合わせの通信速度が、フレーム送信レート（５０Ｍｂｐｓ）よりも大きい値となる。したがって、この場合、制御部１０６は、Ａのみの送信パスと、ＢとＣの組み合わせの送信パスを選出する。
次に、Ｓ２０６において、制御部１０６は、選出した送信パスの中から、利用する伝送路の数がより少ない送信パスを抽出する。上記の例においては、Ａのみの送信パスの方が利用する伝送路の数が少ない。したがって、この場合、制御部１０６は、Ａのみの送信パスを抽出する。
【００１５】
次に、Ｓ２０７において、制御部１０６は、抽出した送信パスの数が複数か否かを確認する。制御部１０６は、送信パスが複数存在する場合には（Ｓ２０７でＹｅｓ）、処理をＳ２０８へ進める。制御部１０６は、送信パスの数が１つのみの場合には（Ｓ２０７でＮｏ）、処理をＳ２０９へ進める。
Ｓ２０８において、制御部１０６は、複数の送信パスのうち、送信パスにおいて利用する伝送路の未使用時間がより長い送信パスを、処理対象のフレームの送信に利用する送信パスとして決定する。また、Ｓ２０９において、制御部１０６は、抽出した１つの送信パスを、処理対象のフレームの送信に利用する送信パスとして決定する。ここで、Ｓ２０８，Ｓ２０９の処理は、パケット群毎に、パケット群の送信に利用する、少なくとも一つの通信経路を含む送信パスを決定する決定処理の一例である。Ｓ２０８，Ｓ２０９の処理は、パケット群毎に、パケット群の送信に利用する、１又は２以上の通信経路を含む送信パスを決定する。以上で、送信制御処理が終了する。
【００１６】
図４は、符号化データを構成する複数のフレーム（フレーム番号「０１」〜「１５」のフレーム）に対して算出されたフレーム送信レート、選出された送信パス、送信に利用するものと決定された送信パスの一例を示す図である。図４に示す例は、図３に示す通信速度の伝送路１１０ａ〜１１０ｃに対応している。
例えば、フレーム番号「０１」のフレームにおいては、フレーム送信レート１１０Ｍｂｐｓが算出され、送信パスとして、ＡとＢとＣの組み合わせ１つのみが選出されたことを示している。また、フレーム番号「０２」のフレームにおいては、フレーム送信レート３０Ｍｂｐｓが算出され、送信パスとして、Ａのみ又はＢのみの送信パスが選出され、この中から、Ａのみの送信パスに決定されたことを示している。
【００１７】
図４に示す例においては、フレーム番号「０４」のフレームの伝送レートは、１５Ｍｂｐｓである。このため、Ａのみ、Ｂのみ、又はＣのみの送信パスが選出される。さらに、いずれの送信パスも１つの伝送路のみを利用するものであるため、Ｓ２０６においても、３つの送信パスが抽出される。この場合、Ｓ２０８において、フレーム番号「０４」のフレームよりも前に送信されるフレーム番号「０１」〜「０３」のフレームの送信において未使用時間が最も長い伝送路Ｃのみを利用する送信パスが、利用すべき送信パスとして決定される。
なお、他の例としては、制御部１０６は、Ｓ２０８において、未使用時間と閾値との比較を行うこととしてもよい。すなわち、制御部１０６は、未使用時間が閾値以下の場合には、複数の送信パスのうち、予め設定された優先度によって送信パスを決定し、未使用時間が閾値よりも大きい場合には、未使用時間がより長い伝送路を含む送信パスに決定する。
【００１８】
さらに、送信装置１００は、決定した送信パスが複数の伝送路を含む場合、各伝送路にフレームを構成するパケットを振り分ける（振り分け処理）。図５は、このパケット振分処理を説明するための図である。図５の例においては、９個のパケットが１つのフレームを構成しているものとする。この場合、制御部１０６は、３つの伝送路Ａ〜Ｃに対し、振り分けられたパケット数が各伝送路Ａ〜Ｃの通信速度に比例するように、パケットの振分を行う。これにより、各伝送路Ａ〜Ｃに対し、均等にパケットを振り分けた場合に比べて、パケットロス等の発生率を低く抑えることができる。
【００１９】
以上のように、本実施形態にかかる送信装置１００は、フレーム単位で送信パスを決定する。さらに、送信装置１００は、各フレームに対し、伝送路の数がより少なくなるように送信パスを決定する。これにより、複数の伝送路にデータを割り当てつつ、リオーダ処理の発生を低減することができる。すなわち、送信装置１００は、マルチパス伝送において、リオーダ処理の発生を低減することにより、データの配信遅延を削減することができる。
さらに、送信装置１００は、未使用時間が長い伝送路が存在する場合に、この伝送路を含む送信パスを利用する。したがって、送信装置１００は、各伝送路に係るＲＲをデータの送信に応じて受信することができ、定期的に各伝送路の状態を確認することができる。したがって、送信装置１００は、検査パケット等を利用することなく、伝送路毎の通信品質の正確性を向上させることができる。
【００２０】
本実施形態にかかる送信装置１００の第１の変更例としては、送信装置１００は、第１記憶部１０３を有さず、外部装置から許容時間を取得することとしてもよい。
【００２１】
また、第２の変更例としては、制御部１０６は、パケットの振り分け処理において、リクエスト送信から対応する応答を受信するまでにかかる遅延時間（レイテンシ又はＲＴＴ）に基づいて、パケットに振り分けを行ってもよい。具体的には、制御部１０６は、遅延時間が小さい伝送路から順にＲＴＰヘッダのシーケンスナンバーが小さいパケットが配信されるように、パケットの振り分けを行ってもよい。これにより、受信装置においては、ＲＴＰヘッダのシーケンスナンバーの小さい順にパケットを受信することができるので、データの再構築時の負荷を軽減することができる。
【００２２】
＜その他の実施形態＞
以上、実施形態例を詳述したが、本発明は例えば、システム、装置、方法、プログラム若しくは記録媒体(記憶媒体)等としての実施態様をとることが可能である。具体的には、複数の機器（例えば、ホストコンピュータ、インターフェイス機器、撮像装置、ｗｅｂアプリケーション等）から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
尚本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システムあるいは装置に直接あるいは遠隔から供給し、そのシステムあるいは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される。なお、この場合のプログラムとは、コンピュータ読取可能であり、実施形態において図に示したフローチャートに対応したプログラムである。
【００２３】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であっても良い。
プログラムを供給するための記録媒体としては、以下に示す不揮発性の媒体がある。例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）等である。
【００２４】
プログラムの供給方法としては、以下に示す方法も可能である。すなわち、クライアントコンピュータのブラウザからインターネットのホームページに接続し、そこから本発明のコンピュータプログラムそのもの(又は圧縮され自動インストール機能を含むファイル)をハードディスク等の記録媒体にダウンロードする。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせることも可能である。すなわち該ユーザは、その鍵情報を使用することによって暗号化されたプログラムを実行し、コンピュータにインストールさせることができる。
【００２５】
また、１又は複数のコンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。さらに、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳ等が、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、実行されることによっても、前述した実施形態の機能が実現される。すなわち、該プログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行うことが可能である。
【００２６】
以上、上述した各実施形態によれば、マルチパス伝送において、リオーダ処理の発生を低減することにより、データの配信遅延を削減することができる。
【００２７】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【００２８】
１００  送信装置
１０１  生成部
１０２  管理部
１０３  第１記憶部
１０４  計測部
１０５  第２記憶部
１０６  制御部
【図１】
2015216414.tif 000003
【図２】
2015216414.tif 000004
【図３】
2015216414.tif 000005
【図４】
2015216414.tif 000006
【図５】
2015216414.tif 000007