【課題】RTPによるストリーム配信において、制御負担の増大を抑えつつパケットの送信間隔の平準化を図り、配信データの品質を高めることができる通信制御装置および通信制御方法を提供する。
【解決手段】シェーピング処理部20は、送信間隔調整手段25と、送信経過時間計時手段26と、受信経過時間計時手段27と、を備える。また、送信間隔調整手段25は、送信経過時間が最短送信間隔時間に到達したときに受信経過時間が滞留時間に到達している場合には、最短送信間隔時間に到達したタイミングでパケットを送信させ、送信経過時間が最短送信間隔時間に到達したときに受信経過時間が滞留時間に到達していない場合には、受信経過時間が滞留時間に到達したタイミングでパケットを送信させ、送信経過時間が最長送信間隔時間に到達したときに受信経過時間が滞留時間に到達していない場合には、最長送信間隔時間に到達したタイミングでパケットを送信させる。
【発明を実施するための形態】
【0012】
以下、図面を用いて、本発明の実施形態に係る通信制御装置10について説明する。
【0013】
<全体構成>
最初に、
図1を用いて、本実施形態に係る通信制御装置10の全体構成について説明する。
図1は、通信制御装置10の内部構成を示したブロック図である。
【0014】
通信制御装置10は、装置全体の制御を行うCPU12と、制御プログラム等が記憶されるROM14と、各種データ等が一時的に記憶されるRAM16と、2つの受信ポート17a,17bと、これらの受信ポート17a,17bの各々から受信したパケットを統合することが可能な統合処理部18と、パケットシェーピングを実行可能なシェーピング処理部20と、2つの送信ポート21a,21bと、を有して構成される。なお、送信ポート21bは送信ポート21aのミラーポートである。
【0015】
通信制御装置10は、2つの異なる受信ポート17a,17bを介して同一のストリーム(本例では、RTP(Real−time Transport Protocol)によるストリーム)のパケットを受信するとともに、受信した2系統のパケットを1系統に統合し、パケットシェーピング後のストリームを外部に送信(配信)することが可能な装置である。なお、本発明に係る通信制御装置は、
図1に示す通信制御装置10の構成に限定されず、シェーピング処理部20を少なくとも備えた装置であればよく、例えば、統合処理部18や送信ポート(ミラーポート)21bを備えていない装置であってもよい。
【0016】
<CPU、ROM、RAM>
CPU12は、通信制御装置10の全体を制御するためのものであり、公知のマイクロコンピュータやFPGA等によって構成される。ROM14は、通信制御装置10を制御するための制御プログラムや各種データを記憶するためのものであるが、他の記憶手段を適用してもよい。RAM16は、制御に必要な各種データを一時的に記憶するためのものであるが、他の記憶手段を適用してもよいし、後述するシェーピング処理部20の記憶手段23を兼ねるものであってもよい。
【0017】
<統合処理部>
次に、
図1と
図2を用いて、統合処理部18について説明する。統合処理部18は、異なる複数の経路(本例では、2つの受信ポート17a,17b)から受信する同一のストリームのパケットを統合することが可能であり、電子回路等のハードウェアや制御プログラム(ソフトウェア)によって構成される。
【0018】
また、統合処理部18は、複数の経路のうちの一の経路においてパケットロスが発生した場合等に、複数の経路のうちの他の経路に切り替えることが可能であるともに、パケットロスによって消失したパケットを、当該他の経路から受信したパケットで補完することが可能である。なお、いずれか一方の経路で障害が発生した場合には、他方の経路のみ(片方の経路のみ)でパケットを受信することも可能である。
【0019】
図2は、統合処理部18における統合処理を模式的に示した図である。例えば、統合処理部18が、受信ポート17aを経由する第一の伝送路R1と、受信ポート17bを経由する第二の伝送路R2のうち、第一の伝送路R1を介してRTPによるストリームのパケットを受信している場合について考える。
【0020】
統合処理部18は、第一の伝送路R1を介して受信したパケットPK1のRTPヘッダから、シーケンス番号(例えば、SN01)を取得した後、当該パケットPK1を後段のシェーピング処理部20に向けて送信する。続いて、統合処理部18は、第一の伝送路R1を介して次に受信したパケットPK2のシーケンス番号(例えば、SN02)が、直前に受信したパケット(本例では、PK1)のシーケンス番号(本例では、SN01)に連続する番号であるか否かを判定し、該当する場合には、パケットPK2をシェーピング処理部20に向けて送信し、該当しない場合には、パケットロスが発生したと判定する。本例では、シーケンス番号SN02はシーケンス番号SN01に連続する番号であることから、第一の伝送路R1を介して受信したパケットPK2をシェーピング処理部20に向けて送信する。
【0021】
続いて、統合処理部18は、第一の伝送路R1を介して次に受信したパケットPK4のシーケンス番号(例えば、SN04)が、直前に受信したパケット(本例では、PK2)のシーケンス番号(本例では、SN02)に連続する番号であるか否かを判定するが、本例では、シーケンス番号SN04はシーケンス番号SN02に連続しない番号であることから、第一の伝送路R1においてパケットロスが発生したと判定する。
【0022】
上述の通り、統合処理部18は、複数の経路のうちの一の経路においてパケットロスが発生した場合に、複数の経路のうちの他の経路に切り替えることが可能であるともに、パケットロスによって消失したパケットを、当該他の経路から受信したパケットで補完することが可能である。本例では、パケットロスによって消失した第一の伝送路R1のパケットPK3を、第二の伝送路R2から受信したパケットPK3で補完する処理を行う。
【0023】
具体的には、統合処理部18は、RTPによるストリームのパケットを受信する伝送路を、第一の伝送路R1から第二の伝送路R2に切り替えた後、第二の伝送路R2を介して受信したパケットPK3のシーケンス番号(例えば、SN03)が、直前に受信したパケット(本例では、PK2)のシーケンス番号(本例では、SN02)に連続する番号であると判定し、当該パケットPK3をシェーピング処理部20に向けて送信する。
【0024】
続いて、統合処理部18は、第二の伝送路R2を介して次に受信したパケットPK4のシーケンス番号(例えば、SN04)が、直前に受信したパケット(本例では、PK3)のシーケンス番号(本例では、SN03)に連続する番号であることから、第二の伝送路R2を介して受信したパケットPK4をシェーピング処理部20に向けて送信する。続いて、統合処理部18は、第二の伝送路R2を介して次に受信したパケットPK6のシーケンス番号(例えば、SN06)が、直前に受信したパケット(本例では、PK4)のシーケンス番号(本例では、SN04)に連続しない番号であることから、第二の伝送路R2においてパケットロスが発生したと判定する。
【0025】
第二の伝送路R2においてパケットロスが発生したことから、統合処理部18は、RTPによるストリームのパケットを受信する伝送路を、第二の伝送路R2から第一の伝送路R1に切り替えた後(切り戻した後)、第一の伝送路R1を介して次に受信したパケットPK5のシーケンス番号(例えば、SN05)が、直前に受信したパケット(本例では、PK4)のシーケンス番号(本例では、SN04)に連続する番号であると判定し、当該パケットPK5をシェーピング処理部20に向けて送信する。以降、統合処理部18は、RTPによるストリームを受信している期間中、これらの処理を繰り返し実行する。
【0026】
<シェーピング処理部>
次に、
図3〜
図5を用いて、シェーピング処理部20について説明する。
図3は、シェーピング処理部20の内部構成を示したブロック図である。
【0027】
シェーピング処理部20は、統合処理部18からパケットを受信する受信手段22と、この受信手段22が受信するパケットを一時的に記憶する記憶手段23と、この記憶手段23に記憶されたパケットを送信ポート21a,21bから外部に送信する送信手段24と、この送信手段24が送信するパケットの送信間隔を調整する送信間隔調整手段25と、送信手段24が最後にパケットを送信した時からの送信経過時間を計時する送信経過時間計時手段26と、受信手段22が最後にパケットを受信した時からの受信経過時間を計時する受信経過時間計時手段27と、を有して構成される。
【0028】
受信手段22、送信手段24、および送信間隔調整手段25は、電子回路等のハードウェアや制御プログラム(ソフトウェア)によって構成される。記憶手段23はパケットを一時的に記憶することが可能なものであればよく、例えば、RAM等によって構成される。送信経過時間計時手段26や受信経過時間計時手段27は、時間の計時が可能なものであればよく、例えば、カウンタやタイマ等によって構成される。
【0029】
図4は、シェーピング処理部20におけるパケットの送信間隔の決定方法を模式的に示した図である。なお、同図において「Output」で示される領域の矢印は、送信経過時間計時手段26によって計時される時間であり、送信手段24が最後のパケットPK1を送信した時からの送信経過時間を示したものである。また、同図において「Input」で示される領域の矢印は、受信経過時間計時手段27によって計時される時間であり、受信手段22が最後のパケットPK2を受信した時からの受信経過時間を示したものである。
【0030】
シェーピング処理部20によるパケットの送信間隔は、予め定められた最短送信間隔時間PIminと、予め定められた最長送信間隔時間PImaxと、予め定められた滞留時間DTの3つのパラメータ(固定値)によって決定される。
【0031】
具体的には、送信間隔調整手段25は、
図4(a)に示すように、送信経過時間計時手段26によって計時される送信経過時間が、最短送信間隔時間PIminに到達したときに、受信経過時間計時手段27によって計時される受信経過時間が、滞留時間DTに到達している場合には、送信経過時間が最短送信間隔時間PIminに到達したタイミングT1で、記憶手段23に記憶されているパケットPK2を送信手段24に送信させる。すなわち、この場合、パケットPK1を送信してから次のパケットPK2を送信するまでの送信間隔は、最短送信間隔時間PIminとなる。
【0032】
また、送信間隔調整手段25は、
図4(b)に示すように、送信経過時間計時手段26によって計時される送信経過時間が、最長送信間隔時間PImaxに到達したときに、受信経過時間計時手段27によって計時される受信経過時間が、滞留時間DTに到達していない場合には、受信経過時間が滞留時間DTに到達するのを待たずに、送信経過時間が最長送信間隔時間PImaxに到達したタイミングT2で、記憶手段23に記憶されているパケットPK2を送信手段24に送信させる。すなわち、この場合、パケットPK1を送信してから次のパケットPK2を送信するまでの送信間隔は、最長送信間隔時間PImaxとなる。
【0033】
さらに、送信間隔調整手段25は、
図4(c)に示すように、送信経過時間計時手段26によって計時される送信経過時間が、最短送信間隔時間PIminに到達したときに、受信経過時間計時手段27によって計時される受信経過時間が、滞留時間DTに到達していない場合には、受信経過時間が滞留時間DTに到達するのを待って、受信経過時間が滞留時間DTに到達したタイミングT3で、記憶手段23に記憶されているパケットPK2を送信手段24に送信させる。すなわち、この場合、パケットPK1を送信してから次のパケットPK2を送信するまでの送信間隔は、最短送信間隔時間PImin以上、最長送信間隔時間PImax以下となる。
【0034】
図5は、シェーピング処理部20によるパケットシェーピングの動作例を示した図である。
図5(a)に示す動作例では、パケットPK2の送信経過時間が、最短送信間隔時間PIminに到達したときに、パケットPK3の受信経過時間が、滞留時間DTに到達しているため、送信経過時間が最短送信間隔時間PIminに到達したタイミングT1で、パケットPK3が送信手段24を介して送信ポート21a,21bから外部に送信される。
【0035】
このような制御を行うことで、RTPによるストリームのパケットをバースト状態で受信した場合であっても、パケットの送信間隔が最短送信間隔時間PIminよりも短くなることがないため、RTPによるストリームのパケットがバースト状態で送信(配信)されることがなく、パケットの送信間隔の平準化を図り、配信データの品質を高めることができる。
【0036】
また、
図5(b)に示す動作例では、パケットPK2の送信経過時間が、最長送信間隔時間PImaxに到達したときに、パケットPK3の受信経過時間が、滞留時間DTに到達していないため、パケットPK2の送信経過時間が最長送信間隔時間PImaxに到達したタイミングT2で、パケットPK3が送信手段24を介して送信ポート21a,21bから外部に送信される。
【0037】
このような制御を行うことで、RTPによるストリームのパケットの受信が遅延した場合であっても、パケットの送信間隔が最長送信間隔時間PImaxよりも長くなることがないため、RTPによるストリームのパケットの送信(配信)の遅延を回避することができ、パケットの送信間隔の平準化を図り、配信データの品質を高めることができる。
【0038】
また、
図5(c)に示す動作例では、パケットPK2の送信経過時間が、最短送信間隔時間PIminに到達したときに、パケットPK3の受信経過時間が、滞留時間DTに到達していないため、受信経過時間が滞留時間DTに到達したタイミングT3で、パケットPK3が送信手段24を介して送信ポート21a,21bから外部に送信される。
【0039】
このような制御を行うことで、所定のパケットを送信してから次のパケットを送信するまでの送信間隔が、最短送信間隔時間PIminよりも長く、かつ、最長送信間隔時間PImaxよりも短ければ、パケットの送信間隔は、予め定めた滞留時間DTとなるため、パケットの送信間隔を均一化することができ、配信データの品質を高めることができる。
【0040】
以上説明したように、本実施形態に係る通信制御装置(例えば、
図1に示す通信制御装置10)は、パケットシェーピングを実行可能なシェーピング処理部(例えば、
図1や
図3に示すシェーピング処理部20)を備えた通信制御装置において、前記シェーピング処理部は、パケットを受信可能な受信手段(例えば、
図3に示す受信手段22)と、前記受信手段が受信するパケットを記憶可能な記憶手段(例えば、
図3に示す記憶手段23)と、前記記憶手段に記憶されたパケットを送信可能な送信手段(例えば、
図3に示す送信手段24)と、前記送信手段が送信するパケットの送信間隔を調整可能な送信間隔調整手段(例えば、
図3に示す送信間隔調整手段25)と、前記送信手段が最後にパケットを送信した時からの送信経過時間を計時する送信経過時間計時手段(例えば、
図3に示す送信経過時間計時手段26)と、前記受信手段が最後にパケットを受信した時からの受信経過時間を計時する受信経過時間計時手段(例えば、
図3に示す受信経過時間計時手段27)と、を備え、前記送信間隔調整手段は、前記送信経過時間が所定の最短送信間隔時間(例えば、
図4や
図5に示す最短送信間隔時間PImin)に到達したときに前記受信経過時間が所定の滞留時間(例えば、
図4や
図5に示す滞留時間DT)に到達している場合には、前記送信経過時間が前記所定の最短送信間隔時間に到達したタイミングで、前記記憶手段に記憶されているパケットを前記送信手段に送信させ、前記送信経過時間が前記所定の最短送信間隔時間に到達したときに前記受信経過時間が前記所定の滞留時間に到達していない場合には、前記受信経過時間が前記所定の滞留時間に到達したタイミングで、前記記憶手段に記憶されているパケットを前記送信手段に送信させ、前記送信経過時間が所定の最長送信間隔時間(例えば、
図4や
図5に示す最長送信間隔時間PImax)に到達したときに前記受信経過時間が前記所定の滞留時間に到達していない場合には、前記送信経過時間が前記所定の最長送信間隔時間に到達したタイミングで、前記記憶手段に記憶されているパケットを前記送信手段に送信させる、ことを特徴とする通信制御装置である。
【0041】
また、本実施形態に係る通信制御方法は、パケットシェーピングを実行可能な通信制御方法において、送信手段が最後にパケットを送信した時からの送信経過時間が所定の最短送信間隔時間(例えば、
図4や
図5に示す最短送信間隔時間PImin)に到達したときに受信手段が最後にパケットを受信した時からの受信経過時間が所定の滞留時間(例えば、
図4や
図5に示す滞留時間DT)に到達している場合には、前記送信経過時間が前記所定の最短送信間隔時間に到達したタイミングでパケットを送信し、前記送信経過時間が前記所定の最短送信間隔時間に到達したときに前記受信経過時間が前記所定の滞留時間に到達していない場合には、前記受信経過時間が前記所定の滞留時間に到達したタイミングでパケットを送信し、前記送信経過時間が所定の最長送信間隔時間(例えば、
図4や
図5に示す最長送信間隔時間PImax)に到達したときに前記受信経過時間が前記所定の滞留時間に到達していない場合には、前記送信経過時間が前記所定の最長送信間隔時間に到達したタイミングでパケットを送信する、ことを特徴とする通信制御方法である。
【0042】
本実施形態に係る通信制御装置および通信制御方法によれば、3つのパラメータ(固定値)だけでパケットの送信間隔を決定することができる上に、パケットの送信間隔を一定の送信間隔時間の範囲内に収めることができるため、RTPによるストリーム配信において、制御負担の増大を抑えつつパケットの送信間隔の平準化を図り、配信データの品質を高めることができる。
【0043】
また、異なる複数の経路から受信する同一のストリームのパケットを統合することが可能な統合処理部(例えば、
図1や
図2に示す統合処理部18)を備え、前記統合処理部は、前記複数の経路のうちの一の経路(例えば、
図2に示す第一の伝送路R1)においてパケットロスが発生した場合に、パケットを受信する経路を前記複数の経路のうちの他の経路(例えば、
図2に示す第二の伝送路R2)に切り替えることが可能であり、前記送信間隔調整手段は、前記一の経路から受信したパケットと前記他の経路から受信したパケットとの送信間隔を調整可能であってもよい。
【0044】
このような構成とすれば、異なる複数の経路間においてパケットを受信する経路の切り替えを行った際に、パケットがバースト状態になったりパケットの受信が遅延したりした場合であっても、パケットの送信間隔の平準化を図り、配信データの品質を高めることができる。
【0045】
また、前記統合処理部は、前記パケットロスによって消失したパケットを、前記他の経路から受信したパケットで補完することが可能であり、前記送信間隔調整手段は、前記統合処理部によって補完されたパケットと当該パケットの直前に送信したパケットとの送信間隔、または、前記統合処理部によって補完されたパケットと当該パケットの直後に送信するパケットとの送信間隔を調整可能であってもよい。
【0046】
このような構成とすれば、異なる複数の経路間においてパケットの補完を行った際に、パケットがバースト状態になったりパケットの受信が遅延したりした場合であっても、パケットの送信間隔の平準化を図り、配信データの品質を高めることができる。
【0047】
また、前記ストリームは、RTPによるストリームであり、前記統合処理部は、前記パケットのRTPヘッダに含まれるシーケンス番号に基づいて該RTPパケットの補完を行うものであってもよい。
【0048】
このような構成とすれば、簡易な制御でパケットの補完を行うことができ、制御負担の増大を抑えつつ配信データの品質を高めることができる。
【0049】
なお、本発明に係る通信制御装置の構成は、上記実施形態に係る通信制御装置の構成に限定されるものではなく、適宜、変更することが可能である。したがって、例えば、統合処理部20が受信可能なストリームは、RTPによるストリームに限定されず、その他の種類のストリームであってもよいし、RTPによるストリームと、その他のストリームが混在していてもよい。また、ストリームの数も2つに限定されず、3つ以上のストリームを受信可能であってもよい。また、統合処理部18とシェーピング処理部20は単体であってもよいし、別体であってもよい。