〔実施形態1〕
本発明の一実施形態にかかるネットワークについて説明する。本実施形態にかかるネットワークは、TDMAで伝送帯域を確保される複数の系(通信媒体)を介して通信を行うネットワークにおいて、TCPを用いて伝送を行う場合に、リアルタイム伝送で要求される伝送レートを送信機−受信機の間で確保するものである。また、本実施形態にかかるネットワークでは、送信機は、データを送信した後、そのデータについてのACK(応答確認)を受信装置から受信するまで、次のデータを送信できないようになっている。なお、本実施形態においては、IP(Internet Protocol)上でTCPを用いて伝送を行う例について述べるが、本発明はこれに限定されるものではない。
図1は、本実施形態にかかるネットワーク(本ネットワーク)の構成を示すブロック図である。この図に示すように、本ネットワークは、送信機1、受信機2、中継装置3によって構成されている。
送信機1と中継装置3とは、系A(例えば無線LAN(802.11eなど))を介して通信可能に接続されている。また、中継装置3と受信機2とは、系B(例えばPLC)を介して通信可能に接続されている。
送信機1および受信機2としては、通信機能を備えた各種機器を用いることができる。例えば、送信機1としてビデオ,ハードディスクレコーダ,DVDレコーダ,デジタルチューナなどを用い、受信機2としてテレビ(テレビジョン受像機)などを用いることができる。
中継装置(制御装置、制御命令装置)3は、系Aと系Bとを相互に接続して各系に接続される装置との間でデータを送受信するための装置であり、例えば、無線LAN(802.11e)およびPLCの両インタフェースを備えたブリッジ装置である。本ネットワークでは、このような構成により、送信機1と受信機2との間でリアルタイムデータ伝送を行えるようになっている。
系Aと系Bとは、共にTDMAによる伝送帯域の確保が可能であり、中継装置3は、系Aおよび系BのそれぞれについてTDMAによる時分割制御を行う。なお、本実施形態では、系Aと系Bとで異なる通信媒体(無線LANとPLC)を用いているが、これに限るものではなく、同じ通信媒体を利用してもよい。
図30は、中継装置3の内部構成を示すブロック図である。中継装置3は、処理部3101、通信部A3105、通信部B3106、プロトコル変換部3107を備えている。
処理部3101は、通信制御部A3103、通信制御部B3104、制御部3102を備えている。通信制御部A3103は通信部A3105の動作を制御するものであり、通信制御部B3104は通信部B3106の動作を制御するものである。また、通信制御部A3103および通信制御部B3104は、それぞれ系A,系Bの時分割制御を行う。
制御部3102は、初期化判定部3111、初期化要求部3112、使用状況取得部3113、スケジューリング可否判定部3114、制御要求部3115を備えている。
初期化判定部3111は、各系が初期化されているか否かを判定する。初期化要求部3112は、各系が初期化されていない場合に、通信制御部Aおよび通信制御部Bに対して系Aおよび系Bの初期化要求を行う。
使用状況取得部3113は、通信制御部A3103および通信制御部B3104から各系の使用状況に関する情報を取得する。ここで、使用状況とは、例えば、各系のTDMAの周期(サービス間隔),次の周期の開始時刻(次のサービスの開始時刻),各周期内で割当可能な期間の情報などである。ここでの周期とは、例えば、TDMAによる時分割制御において、系上の各装置が同期を取るために制御装置から送出されるビーコンと呼ばれる信号の送出間隔である(ただし、それに限定されるものではない)。
スケジューリング可否判定部3114は、各系の使用状況に基づいて、往復遅延時間を必要な伝送レートを得ることのできる所定時間以内にするためのスケジューリングが可能であるかどうかを判定する。なお、スケジューリング方法の詳細については後述する。
制御要求部3115は、スケジューリング可否判定部3114が所定のスケジューリングが可能であると判断した場合に、通信制御部Aおよび通信制御部Bに対して当該所定のスケジューリングに基づく各系の帯域確保の要求を行う。なお、通信制御部Aは、制御要求部3115からの制御要求に基づいて系Aの時分割制御を行うように、通信部Aを制御するとともに、送信機1にスケジュールを通知する。同様に、通信制御部Bは、制御要求部3115からの制御要求に基づいて系Bの時分割制御を行うように、通信部Bを制御するとともに、受信機2にスケジュールを通知する。なお、送信機1および受信機2は、通信制御部A,Bから受信したスケジュールに基づくタイミングで通信を行うようになっている。
なお、処理部3101は例えばCPU等のプロセッサからなり、処理部3101に備えられる各部材の機能は、図示しないROM等に記憶されたソフトウェアを読み出して実行することによって実現される。つまり、処理部3101は各種制御処理を行うソフトウェア(ドライバソフト等)が動作させるプロセッサである。そして、処理部3101上では、通信部A3105の各種制御を行うソフトウェア(ドライバソフト)が実行されることで通信制御部A3103の機能が実現され、通信部B3106の各種制御を行うソフトウェアが実行されることで通信制御部B3104の機能が実現される。また、通信制御部A3103および通信制御部B3104から使用状況に関する情報を取得し、必要な伝送帯域の確保が可能か否かの判断を行い、伝送帯域を確保するための所定のスケジューリング方法に基づいて制御要求を行うためソフトウェアが実行されることで、制御部3102の機能が実現されるようになっている。
通信部A3105は、系Aにおいて通信を行うための通信インタフェースであり、例えば、無線LAN(802.11e)の機能を備えた無線LANカードである。
通信部B3106は、系Bにおいて通信を行うための通信インタフェースであり、例えば、PLCの機能を備えたインタフェースカードである。
プロトコル変換部3107は系Aの通信プロトコルと系Bの通信プロトコルとを変換する。例えば、無線LAN(802.11e)のプロトコルで伝送されてきたデータをPLCのプロトコルに変換したり、その逆の変換をしたりする。
次に、中継装置3の制御部3102が、系Aおよび系BのTDMAによる時分割の制御を行う処理について説明する。図31は、この処理の流れを示すフロー図である。
まず、制御部3102(初期化判定部3111)は、通信制御部A3103及び通信制御部B3104に系A及び系Bが初期化されているか否かの問い合わせを行い、それに対する回答に基づいて、系A及び系Bが初期化されているか否かを判定する(S3201)。
そして、系A及び系Bが初期化されていないと判断した場合、制御部3102(初期化要求部3112)は、通信制御部A及び通信制御部Bに対して系A及び系Bの初期化要求を行う(S3102,S3103)。ここでの初期化要求は、TDMAの周期,最初の周期の開始時刻などを設定する。例えば、系Aの周期Ta=系Bの周期Tbとなるように設定したり、Ta=n×TbあるいはTa=Tb/n(nは自然数)と設定したりする。また、最初の周期の開始時刻については、例えば、同一時刻に開始するように設定する。また、周期の数値については、例えば、最大24MbpsのハイビジョンコンテンツをTCPの通常のWindow Size 64Kバイトで伝送するとした場合に必要な周期である、
T = 64×8×10^3/(24×10^6) ≒ 21×10^−3(秒)
に対して、各周期がこれよりも小さくなるように設定する。ただし、これに限定されるものではない。
S3201において系A及び系Bが初期化されていると判定した場合、あるいはS3202,S3203で通信制御部A及び通信制御部Bに初期化要求を行った後、制御部3102(使用状況取得部3113)は、通信制御部A3103および通信制御部B3104に各系の使用状況の問い合わせを行う(S3204,S3205)。ここで、使用状況とは、例えば、各系のTDMAの周期(サービス間隔),次の周期の開始時刻(次のサービスの開始時刻),各周期内で割当可能な期間の情報などである。
そして、制御部3102(スケジューリング可否判定部3114)は、通信制御部A3103および通信制御部B3104からの回答によって得られた使用状況に基づいて、所定のスケジューリングが可能かどうかの判断を行う(S3206)。つまり、制御部3102(スケジューリング可否判定部3114)は、通信制御部A3103および通信制御部B3104から取得した各系のTDMAの周期、次の周期の開始時刻、各周期内で割当可能な期間の情報に基づいて、往復遅延時間を必要な伝送レートを得ることのできる所定時間以内にするための所定のスケジューリングが可能かどうかを判断する。ここで、必要な伝送レートとは、例えばリアルタイム伝送を確実に行うために最低限必要とされる伝送レートである。なお、必要な伝送レートは、例えば伝送帯域の確保を要求する機器(例えば送信機1や受信機2)が制御命令装置25に通知してもよく、あるいは送信するデータの種類等に応じて制御命令装置25が設定してもよい。所定のスケジューリングの詳細については、後述する。
そして、所定のスケジューリングが可能であると判断した場合、制御部3102(制御要求部3115)は、通信制御部Aおよび通信制御部Bに対して帯域確保の要求を行い(S3207,S3208)、時分割の制御処理を終了する。
一方、S3206において所定のスケジューリングを行えないと判断した場合、制御部3102(スケジュール可否判定部3114)は、通信に必要な伝送帯域を確保できないと判断し、帯域確保の要求先(例えば、ユーザ)に対して、帯域確保が不可であった旨の通知を行い(S3209)、時分割の制御処理を終了する。
次に、スケジューリング方法(上記所定のスケジューリング)について説明する。なお、以下に示す各スケジュール例では、各系をパケットが通過するのに要する時間や、中継装置3上での伝送に要する時間は無視して考えている。これらの時間を考慮する必要がある場合、特に限定されるものではないが、例えば、各系に割り当てられる時間に対してそれらの時間を加算すればよい。
なお、以下に示す各スケジューリング例のうち、予め設定されたいずれか1つのみを用いるようにしてもよい。この場合、制御部3102に備えられるスケジューリング可否判定部3114は、予め設定されたスケジューリング方法を用いて、往復遅延時間を必要な伝送レートを得ることのできる所定時間以内にできるかどうかを判定する。そして、所定時間以内にできる場合には、制御要求部3115がそのスケジューリング方法に基づいて各系を時分割するように制御装置(通信制御部A3103および通信制御部B3104)に要求する。
また、以下に示す各スケジューリング例の中から往復遅延時間を最も短くできるものを選定して用いてもよく、この場合、制御部3102に備えられるスケジューリング可否判定部3114は、各スケジューリング方法について、往復遅延時間を算出する。そして、制御要求部3115は、往復遅延時間を所定時間以内にでき、かつ、往復遅延時間を最も短くできるスケジューリング方法に基づいて各系を時分割するように制御装置(通信制御部A3103および通信制御部B3104)に要求する。
また、以下に示す各スケジューリング例に優先順位を付けておき、往復遅延時間を必要な伝送レートを得ることのできる所定時間以内にできるスケジューリング例であって優先順位の最も高いものを用いるようにしてもよい。この場合、制御部3102に備えられるスケジューリング可否判定部3114は、各スケジューリング方法について、優先順位の高いものから順に往復遅延時間を算出していき、往復遅延時間を所定時間以内にできるスケジューリング方法が見つかると、制御要求部3115がそのスケジューリング方法に基づいて各系を時分割するように制御装置(通信制御部A3103および通信制御部B3104)に要求する。
(スケジューリング例1)
図8は、本実施形態におけるスケジューリング方法の一例を示す説明図である。なお、この図に示す例は、系Aおよび系BのTDMAの周期Tが一致している場合の例である。
本スケジュール例では、図8に示すように、各周期内の系Aにおける下り方向(送信機1→中継装置3→受信機2の方向)の時間割当の開始時刻および終了時刻と、系Bにおける下り方向の時間割当の開始時刻および終了時刻とを一致させるように(同じ時刻になるように)設定する。また、各周期内の系Aにおける上り方向(受信機2→中継装置3→送信機1の方向)の時間割当の開始時刻および終了時刻と、系Bにおける上り方向の時間割当の開始時刻および終了時刻とを一致させるように設定する。
なお、この際、下り方向の割当時間tdと上り方向の割当時間tuについては次のように決定する。
必要な伝送レートをR(ビット/秒),系Aの通信能力をra(ビット/秒),系Bの通信能力をrb(ビット/秒)とすると、
T×R ≦ min(ra×td,rb×td)
を満たすtdを下り方向の割当時間とする。したがって、例えば、ra=rbの場合には、
td ≧ T×R/ra
となる。
また、1つのTCPのパケットサイズをS、1つのACKのパケットサイズをsとした場合、
T×R/S×s ≦ min(ra×tu,rb×tu)
を満たすtuを上り方向の割当時間とする。
したがって、ra=rbの場合には、
tu ≧ (T×R/ra)×s/S
となる。
本スケジュール例によれば、系Aを通過したデータは中継装置3で待ち時間なく系Bを通過する。また、そのデータについてのACKも同様に、系Bを通過したACKは中継装置3で待ち時間なく系Aを通過する。したがって、送信機1からデータを送出してから時間T以内にそのデータについてのACKが送信機1に到着する。これにより、ACKの往復遅延時間はT以下になるので、ACKの往復伝送遅延の増大に伴って伝送レートが低下することを防止できる。
また、本スケジュール例では、系Bへの割当時間と系Aへの割当時間とが同じになる。このため、系Bの通信能力rbと系Aの通信能力raとがrb=raとなるような場合に、特に効率的な時間割当であると言える。
なお、受信機2が、TCPの複数のパケットに対して1つのACKを返信するようないわゆるブロックACKを行う場合(m個のTCPパケットに対して1つのACKを返す場合)には、
tu ≧ (T×R/ra)×(s/S/m)
とすればよい。
これにより、ACKの往復遅延時間をT以下とし、ACKの往復伝送遅延の増大に伴って伝送レートが低下することを防止できる。つまり、ブロックACKを用いる場合、下り方向の伝送割当を少なく設定しても、ACKの往復伝送遅延の増大を防止できるので、より効率的な時間割当が可能となる。
(スケジューリング例2)
図9は、本実施形態におけるスケジューリング方法の他の例を示す説明図である。この図に示す例は、系Aおよび系BのTDMAの周期Tが一致している場合の例である。
本スケジュール例では、図9に示すように、各周期内の系Aにおける下り方向の時間割当の終了時刻と、系Bにおける下り方向の時間割当の終了時刻とを一致させるように設定する。また、各周期内の系Aにおける上り方向の時間割当の開始時刻と、系Bにおける上り方向の時間割当の開始時刻とを一致させるように設定する。また、系Bの下り方向の時間割当の開始時刻を系Aの下り方向の時間割当の開始時刻よりも遅く設定し、系Aの上り方向の時間割当の終了時刻を系Bの上り方向の時間割当の終了時刻よりも遅く設定する。
この際、系Aにおける下り方向の割当時間td(a),系Bにおける下り方向の割当時間td(b),系Aにおける上り方向の割当時間tu(a),系Bにおける上り方向の割当時間tu(b)については、以下のように決定する。
必要な伝送レートをR(ビット/秒),系Aの通信能力をra(ビット/秒),系Bの通信能力をrb(ビット/秒)とした場合、
T×R ≦ ra×td(a),
T×R ≦ rb×td(b)
を満たすtd(a),td(b)と、
1つのTCPのパケットサイズをS,1つのACKのパケットサイズをs、ACKパケットが系Bを通過するのに必要な時間をdbとした場合、
T×R/S×s ≦ ra×tu(a),
T×R/S×s ≦ rb×tu(b)
を満たすtu(a),tu(b)に、下記の条件
tu(a) > tu(b),
td(a) > td(b),
tu(a)+td(a) ≦ T
を加えて決定する。
本スケジュール例によれば、送信機1から送信されて系Aを通過したデータは、同一周期の系Bの下り方向の割当時間で系Bを通過する。また、そのデータについてのACKも同様に、受信機2から送信されて系Bを通過したACKは、同一周期の系Aの上り方向の割当時間で系Aを通過する。したがって、送信機1からデータを送出してから時間T以内にそのデータについてのACKが送信機1に到着する。これにより、ACKの往復遅延時間はT以下になるので、ACKの往復伝送遅延の増大に伴って伝送レートが低下することを防止できる。
なお、本スケジュール例では、系Bへの割当時間が系Aへの割当時間よりも短くなるので、系Bの通信能力rbと系Aの通信能力raとがrb>raとなるような場合に、特に効率的な時間割当を行える。
(スケジューリング例3)
図10は、本実施形態におけるスケジューリング方法のさらに他の例を示す説明図である。この図に示す例は、系Aおよび系BのTDMAの周期Tが一致している場合の例である。
本スケジュール例では、図10に示すように、各周期内における系Aと系Bの下り方向の時間割当の開始時刻および上り方向の時間割当の終了時刻が同じになるように設定する。また、系Bの下り方向の時間割当の終了時刻が系Aの下り方向の時間割当の終了時刻に対して遅くなり、系Aの上り方向の時間割当の開始時刻が系Bの上り方向の開始時刻に対して遅くるように設定する。
この際、下り方向の割当時間td(a),td(b)と上り方向の割当時間tu(a),tu(b)については、下記の条件
tu(a) < tu(b),
td(a) < td(b),
tu(a)+td(a) ≦ T
を用いて決定する。
本スケジュール例によれば、送信機1から送信されて系Aを通過したデータは、同一周期の系Bの下り方向の割当時間で系Bを通過する。また、そのデータについてのACKも同様に、受信機2から送信されて系Bを通過したACKは、同一周期の系Aの上り方向の割当時間で系Aを通過する。したがって、送信機1からデータを送出してから時間T以内にそのデータについてのACKが送信機1に到着する。これにより、ACKの往復遅延時間はT以下になるので、ACKの往復伝送遅延の増大に伴って伝送レートが低下することを防止できる。
なお、本スケジュール例では、系Aへの割当時間が系Bへの割当時間より短くなることから、系Bの通信能力rbと系Aの通信能力raとがrb<raとなるような場合に、特に効率的な時間割当を行える。
(スケジューリング例4)
図11は、本実施形態におけるスケジューリング方法のさらに他の例を示す説明図である。この図に示す例は、系Aおよび系BのTDMAの周期Tが一致している場合の例である。
本スケジュール例では、図11に示すように、系Bの下り方向の時間割当の開始時刻が系Aの下り方向の時間割当の開始時刻に対して遅くなり、系Bの下り方向の時間割当の終了時刻が系Aの下り方向の時間割当に対して遅くなるように設定する。また、系Aの上り方向の時間割当の開始時刻が系Bの上り方向の時間割当の開始時刻に対して遅くなり、系Aの上り方向の時間割当の終了時刻が系Bの上り方向の時間割当の開始時刻に対して遅くなるように設定する。
この際、下り方向の割当時間td(a),td(b)と上り方向の割当時間tu(a),tu(b)については、系Aと系Bとの下り方向の開始時刻の差をΔtd、系Aと系Bとの上り方向の開始時刻の差をΔtu、系Bの下り方向の時間割当の終了時刻と系Bの上り方向の時間割当の開始時刻との差をxとした場合に、下記の条件
Δtd+tb(b)+x+Δtu+tu(a) ≦ T
を用いて決定する。すなわち、系Aにおける下り方向の時間割当の開始時刻から上り方向の時間割当の終了時刻までの時間が、時間T以下になるように設定する。
本スケジュール例によれば、送信機1から送信されて系Aを通過したデータは、同一周期の系Bの下り方向の割当時間で系Bを通過する。また、そのデータについてのACKも同様に、受信機2から送信されて系Bを通過したACKは、同一周期の系Aの上り方向の割当時間で系Aを通過する。したがって、送信機1からデータを送出してから時間T以内にそのデータについてのACKが送信機1に到着する。これにより、ACKの往復遅延時間はT以下になるので、ACKの往復伝送遅延の増大に伴って伝送レートが低下することを防止できる。
(スケジューリング例5)
図12は、本実施形態におけるスケジューリング方法のさらに他の例を示す説明図である。
上記したスケジュール例1〜4では、系Aおよび系BのTDMAの周期Tが一致していた。これに対して、本スケジュール例では、系AのTDMAの周期Taと系BのTDMAの周期Tbとを異なっている。例えば、Ta=n×Tb(nは自然数)、あるいは、Ta=Tb/nである場合が考えられる。あるいは、m×Ta=n×Tb(m,nは自然数)となるように各周期が設定されていてもよい。
図12に示すように、本スケジュール例では、系Aの周期Taの1/2倍の周期で系Bの周期Tbを設定されている(Ta=T,Tb=T/2)。また、系Aの下り方向の時間割当の終了時刻と系Bの下り方向の時間割当の終了時刻とが時間T毎に一致し、系Aの上り方向の時間割当の開始時刻と系Bの上り方向の時間割当の開始時刻とが時間T毎に一致するように設定する。
この際、上り方向の割当時間td(a),td(b)と下り方向の割当時間tu(a),tu(b)については、下記の条件
tu(a) > tu(b),
td(a) > td(b),
tu(a)+td(a) ≦ T,
tu(b)+td(b) ≦ T/2
を用いて決定する。
本スケジュール例によれば、送信機1から送信されて系Aを通過したデータは、そのときの系Aの下り方向の時間割当の終了時刻と同時刻に終了する系Bの下り方向の時間割当で系Bを通過する。また、受信機2から送信されて系Bを通過した上記のデータについてのACKは、そのときの系Bの上り方向の時間割当の開始時刻と同時刻に開始される系Aの上り方向の時間割当で系Aを通過して送信機1に到着する。したがって、送信機1からデータを送出してから時間T以内にそのデータについてのACKが送信機1に到着する。これにより、ACKの往復遅延時間はT以下になるので、ACKの往復伝送遅延の増大に伴って伝送レートが低下することを防止できる。
なお、本スケジュール例では、系Bにおける下り方向の時間割当および上り方向の時間割当を周期Tb(Tb=T/2)ごとに設定しているが、これに限るものではない。例えば、2回の周期Tb(すなわち時間T)ごとに1回だけ上り方向と下り方向の割当を行うようにしてもよい。これにより、系Bに対しては、余分な割当を行わず効率的な割当を行うことが可能となる。
また、本スケジュール例では系Bの周期Tbが系Aの周期Taの1/2倍の長さである例を述べたが、系Bの周期Tbが系Aの周期Taに対して1/n(nは自然数)であれば、同様の結果が得られる。
また、m×Ta=n×Tb(m,nは自然数)となるように設定してもよい。この場合には、系Aについてはm周期毎、系Bについてはn周期毎に、互いの系の下り方向の時間割当の終了時刻および上り方向の時間割当の開始時刻を一致させればよい。これにより、互いの系の下り方向の時間割当の終了時刻および上り方向の時間割当の開始時刻が一致するときに、効率的な伝送を行うことができる。
(スケジューリング例6)
図13は、本実施形態におけるスケジューリング方法のさらに他の例を示す説明図である。この図に示す例では、系BのTDMAの周期Tbに対して1/2倍の周期で系AのTDMAの周期Taが設定(Ta=T/2,Tb=T)されている。
本スケジュール例では、図13に示すように、系Aの下り方向の時間割当の開始時刻と系Bの下り方向の時間割当の開始時刻とが時間T毎に一致し、系Aの上り方向の時間割当の終了時刻と系Bの上り方向の時間割当の終了時刻とが時間T毎に一致するように設定する。
この際、系A,系Bの下り方向の割当時間td(a),td(b)と上り方向の割当時間tu(a),tu(b)については、下記の条件
tu(a) > tu(b),
td(a) > td(b),
tu(a)+td(a) ≦ T/2,
tu(b)+td(b) ≦ T
を用いて決定する。
本スケジュール例によれば、送信機1から送信されて系Aを通過したデータは、そのときの系Aの下り方向の時間割当の開始時刻と同時刻に開始される系Bの下り方向の時間割当で系Bを通過する。また、受信機2からは当該下り方向の時間割当と同じ周期Tbにおける上り方向の時間割当で上記のデータについてのACKが送信されて系Bを通過する。この系Bを通過したACKは、上記のデータが送信機1から送信された周期Taの次の周期Taにおける上り方向の時間割当で系Aを通過して送信機1に到着する。したがって、送信機1から送信されて系Aを通過したデータのACKは、系Aにおける次の周期Taの上り方向の時間割当で送信機1に伝送される。
ここで、系Aの周期TaはT/2なので、送信機1からデータを送出してから時間T以内にそのデータについてのACKが送信機1に到着する。これにより、ACKの往復遅延時間はT以下になるので、要求されている往復遅延時間がT以下の場合には、ACKの往復伝送遅延の増大に伴って伝送レートが低下することを防止できる。
なお、本スケジュール例では、系Aにおける下り方向の時間割当および上り方向の時間割当を周期Ta(Ta=T/2)ごとに設定しているが、これに限らず、例えば、2回の周期Ta(すなわち時間T)ごとに1回だけ上り方向と下り方向の割当を行うようにしてもよい。これにより、系Aに対しては、余分な割当を行わず効率的な割当を行うことが可能となる。
また、本スケジュール例では系Aの周期Taが系Bの周期Tbの1/2倍の長さである例を述べたが、系Aの周期Taが系Bの周期Tbに対して1/n(nは自然数)であれば、同様の結果が得られる。
また、m×Ta=n×Tb(m,nは自然数)となるように設定してもよい。この場合には、系Aについてはm周期毎、系Bについてはn周期毎に、互いの系の下り方向の時間割当の開始時刻および上り方向の時間割当の終了時刻を一致させればよい。これにより、互いの系の下り方向の時間割当の開始時刻および上り方向の時間割当の終了時刻が一致するときに、効率的な伝送を行うことができる。
(スケジューリング例7)
図14は、本実施形態におけるスケジューリング方法のさらに他の例を示す説明図である。この図に示す例では、系AのTDMAの周期Taに対して1/2倍の周期で系BのTDMAの周期Tbを設定(Ta=T,Tb=T/2)されている。
本スケジュール例では、系Aにおけるk番目(kは自然数)の周期Taの下り方向の時間割当の開始時刻よりも、系Bにおける2×k番目の周期Tbの下り方向の時間割当の開始時刻の方が遅く、系Aにおけるk番目の周期Taの下り方向の時間割当の終了時刻よりも、系Bにおける2×k番目の周期Tbの下り方向の時間割当の終了時刻の方が遅くなるように設定されている。さらに、系Bにおける2×k+1番目の周期Tbの上り方向の時間割当の開始時刻よりも、系Aにおけるk番目の周期Taの上り方向の時間割当の開始時刻の方が遅く、系Bにおける2×k+1番目の周期Tbの上り方向の時間割当の終了時刻よりも、系Aにおけるk番目の周期Taの上り方向の時間割当の終了時刻の方が遅くなるように設定されている。
また、系A,系Bの下り方向の割当時間td(a),td(b)と上り方向の割当時間tu(a),tu(b)については、系Aにおけるk番目の周期Taの下り方向の時間割当の開始時刻と系Bにおける2×k番目の周期Tbの下り方向の時間割当の開始時刻との差をΔtd、系Bにおける2×k番目の周期Tbの上り方向の時間割当の開始時刻と系Aにおけるk番目の周期Taの上り方向の時間割当の開始時刻との差をΔtu、系Bにおける下り方向の時間割当の終了時刻と上り方向の時間割当の開始時刻との差をxとした場合に、下記の条件
Δtd+tb(b)+x+Δtu+tu(a) ≦ T
を用いて決定する。
本スケジュール例によれば、送信機1から送信されて系Aにおけるk番目の周期Taの下り方向の時間割当で系Aを通過したデータは、系Bにおける2×k番目の周期Tbの下り方向の時間割当で系Bを通過して受信機2に伝送される。そして、そのデータについてのACKは、系Bの2×k+1番目の上り方向の時間割当で系Bを通り、系Aにおけるk番目の周期Taの上り方向の時間割当で系Aを通過して送信機1に伝送される。
ここで、系Aの周期TaはTなので、送信機1からデータを送出してから時間T以内にそのデータについてのACKが送信機1に到着する。これにより、ACKの往復遅延時間はT以下になるので、要求されている往復遅延時間がT以下の場合にはACKの往復伝送遅延の増大に伴って伝送レートが低下することを防止できる。
なお、本スケジュール例では、系Bにおける下り方向の時間割当および上り方向の時間割当を周期Tb(Tb=T/2)ごとに設定しているが、これに限るものではない。例えば、2回の周期Tb(すなわち時間T)ごとに1回だけ上り方向と下り方向の割当を行うようにしてもよい。これにより、系Bに対しては、余分な割当を行わず効率的な割当を行うことが可能となる。
また、本スケジュール例では系Bの周期Tbが系Aの周期Taの1/2倍の長さである例を述べたが、系Bの周期Tbが系Aの周期Taに対して1/n(nは自然数)であれば、同様の結果が得られる。
また、m×Ta=n×Tb(m,nは自然数)となるように設定してもよい。この場合には、系Aについてはm周期毎、系Bについてはn周期毎に、互いの系の下り方向の時間割当の終了時刻および上り方向の時間割当の開始時刻を上記のように設定すればよい。
以上のように、本実施形態における中継装置(制御命令装置,制御装置)3は、中継装置3によって接続される2つの系(系A,系B)のTDMAの設定を行うものであり、両系を使用した伝送路上でTCPの通信を行う際に、送信機1からデータを送信してから、そのデータについてのACKが送信機1に到着するまでの時間が所定の時間(時間T)以下になるように、各系における伝送時間帯の割当を互いに関連づけて制御する。
これにより、TCPのACKの往復遅延時間を所定の値以下にすることが可能となり、往復遅延時間の増大に伴う伝送レートの低下の問題を解決することができる。
なお、上記した各スケジュール例では主に、TDMAの1つの周期に対して、1回の上り方向の時間割当と1回の下り方向の時間割当とを行う例を示したが、周期を跨って設定した結果が図8から図14に示した各スケジュール例のような時間割当になる割当方法を用いてもよい。
また、本実施形態では、中継装置3の通信制御部A3103および通信制御部B3104が系Aおよび系Bの時間割当を管理(制御)するものとしたが、これに限らず、中継装置3とは異なる装置(例えば送信機1および/または受信機2)が管理するようにしてもよい。
ただし、系Aの時間割当の管理と系Bの時間割当の管理とを異なる装置で行う場合には、系Aと系Bの周期がわずかに異なり、時間が経過したときに、装置間の動作クロックのズレに伴って、上りおよび下り方向の開始時刻に差が生じる可能性がある。そこで、そのような状況を考慮し、各系の割当時間のズレが所定値以上になったときに、各系のスケジュールを再設定するようにしてもよい。
例えば、上記スケジュール例1において、
td = T×R/ra+α,
tu = T×R/ra×s/S+β
となるようにtdおよびtuを与えておき、
Δt = (系Aの下りの開始時刻)−(系Bの下りの開始時刻)
のΔtに対して、
Δt = β、又は、Δt = −α
となったときに、再スケジューリングを行うようにしてもよい。
これにより、各系(通信系)の時計を管理する装置同士の動作クロックがずれていても、各系における時刻を再設定し、ズレによって引き起こされる伝送遅延の増加を防ぐことができる。
〔実施形態2〕
本発明の他の実施形態について説明する。なお、説明の便宜上、実施形態1における各部材と同じ機能を有する部材には、実施形態1と同じ符号を用い、その説明を省略する。
図2は、本実施形態にかかるネットワーク(ネットワークシステム)の概略構成を示すブロック図である。この図に示すように、本実施形態にかかるネットワークは、系A,系B,系Cによって構成されている。系Aおよび系BはTDMAによる時分割制御が可能であり、系CはTDMAによる時分割制御を行えない構成になっている。例えば、系Aとしては無線LAN(802.11e),系BとしてはPLC,系CとしてはEthernet(登録商標)が用いられる。ただし、各系の構成はこれに限るものではなく、種々の通信媒体を用いることができる。また、本実施形態では、系Aと系Bとは異なる通信媒体を用いているが、これに限らず、同じ通信媒体を利用してもよい。
また、実施形態1では、2つの系A,系Bを接続する中継装置3が、各系の時間割当のスケジューリングを行い、それに基づいて各系の時間割当を管理・制御していた。これに対して、本実施形態にかかるネットワークでは、各系の時間割当を管理・制御する制御装置と、各制御装置から各系の使用状況に関する情報を取得し、その情報に基づいて往復遅延時間を所定時間以内にするためのスケジューリングを行い、そのスケジューリング結果に基づく時間割当の管理・制御を各制御装置に要求する制御命令装置とを備えている。
図2に示すように、本実施形態にかかるネットワークは、送信機1、中継装置A(制御装置)22、中継装置B(制御装置)23、受信機2、制御命令装置25を備えている。送信機1および受信機2は実施形態1で説明したものと同様である。
中継装置A22は、系Aと系Cとを相互に接続し、両系を用いてデータを送受信するための装置である。中継装置A22は、制御命令装置25からの系Aの時分割に関する制御要求に基づいて、系AのTDMAによる時分割制御を行う。
中継装置B23は、系Bと系Cとを相互に接続し、両系を用いてデータを送受信するための装置である。中継装置B23は、制御命令装置25からの系Bの時分割に関する制御要求に基づいて、系BのTDMAによる時分割制御を行う。
なお、中継装置A22および中継装置B23は、制御部3102を備えない以外は実施形態1に示した中継装置3と同様の構成である。本実施形態では、制御部3102は制御命令装置25に備えられる。
また、本実施形態にかかる中継装置A22および中継装置B23は、制御命令装置25からの制御要求に応じて、指定された時刻または間隔で各系の時間割当を行う必要がある。そのため、中継装置A22および中継装置B23は、例えばNTP(Network Time Protocol)などの仕組みを用いて内部の時刻を同期している。なお、各中継装置を同期させるための手段はこれに限るものではない。また、各中継装置を同期させる手段は、ネットワーク上のどこに設けられていてもよく、例えば制御命令装置25に設けられていてもよい。
制御命令装置25は、中継装置A22および中継装置B23から系Aおよび系Bの使用状況(通信状態)に関する情報を取得し、取得した結果に基づいて中継装置A22および中継装置B23に対してTDMAによる時分割制御の要求を行う。
図32は、制御命令装置25の内部構成を表すブロック図である。この図に示すように、制御命令装置25は、処理部3301、通信部3303を備えている。
処理部3301は、制御部3102と通信制御部3304とを備えている。制御部3102は、ネットワーク上のTDMA制御が可能な装置と通信部3303を介して通信することで、各系(ここでは系Aおよび系B)の使用状況に関する情報を取得し、各系において必要な伝送帯域の確保が可能かを判断し、ネットワーク上の各装置に対して時分割制御に関する制御要求を行う一連の処理を実施する。なお、制御部3102の構成は、実施形態1と同様である。通信制御部3304は、通信部3303の動作を制御する。
処理部3301は、例えばCPU等のプロセッサからなり、処理部3301に備えられる各部材の機能は、図示しないROM等に記憶されたソフトウェアを読み出して実行することによって実現される。つまり、処理部3301は各種制御処理を行うソフトウェア(ドライバソフト等)が動作させるプロセッサである。
通信部3303はネットワーク上の他の装置(ネットワーク機器)と通信するためのインタフェースであり、例えば、Ethernetや無線LANのLANカード、あるいはPLCのモデムなどである(ただしこれらに限定されるものではない)。
次に、図33を用いて、制御命令装置25の制御部3102が、ネットワーク上の各装置(中継装置A22および中継装置B23)に制御要求を行う制御フローについて説明する。
制御部3102(初期化判定部3111)は、まず、ネットワーク上の各装置に対して、初期化が行われている否かの問い合わせを行う(S3401)。この問い合わせは、例えば、予め制御命令装置25上に登録されている装置のみに対して行ってもよく、ブロードキャストでネットワーク上の全装置(全ネットワークノード)に対して行ってもよい。なお、ネットワーク上の各装置が自立的に初期化を行うようにしてもよく、その場合にはこの問い合わせおよびS3402の判定は省略してもよい。
制御部3102(初期化判定部3111)は、各装置から初期化が行われているか否かについての返答を受信し、各装置の初期化が行われているかどうかを判断する(S3402)。そして、初期化されていない場合、制御部3102(初期化要求部3112)は、通信部3303を介して各制御装置に備えられる通信制御部(中継装置Aに備えられる通信制御部A3103および中継装置Bに備えられる通信制御部B3104)に対して初期化要求を行う(S3406)。この初期化要求では、実施形態1と同様、TDMAの周期、最初の周期の開始時刻などを設定する。
一方、S3402において初期化されていると判断した場合、制御部3102(使用状況取得部3113)は、ネットワーク上の対象装置(制御装置)に対して使用状況(通信状況)の問い合わせを行う(S3404)。使用状況とは、例えば、各系のTDMAの周期(サービス間隔)、次の周期の開始時刻(次のサービスの開始時刻)、各周期内で割当可能な期間の情報などである。
そして、制御部3102(スケジューリング可否判定部3114)は、各対象装置から使用状況に関する情報を取得し、取得した情報に基づいて、所定のスケジューリングが可能かどうかの判断を行う(S3405)。つまり、制御部3102(スケジューリング可否判定部3114)は、中継装置A22に備えられる通信制御部A3103および中継装置B23に備えられる通信制御部B3104から取得した各系のTDMAの周期、次の周期の開始時刻、各周期内で割当可能な期間の情報に基づいて、往復遅延時間を必要な伝送レートを得ることのできる所定時間以内にするための所定のスケジューリングが可能かどうかを判断する。なお、この所定のスケジューリングについては、後述する。
S3405において所定のスケジューリングが可能であると判断した場合、制御部3102(制御要求部3115)は、対象となる系の時間割当を管理・制御する制御装置に対して伝送帯域を確保する要求を、通信部3303を介して送信する(S3406)。この要求には、必要に応じて、TDMAの周期の変更要求を含めてもよい。例えば、対象装置が自立的に初期化を行うことですでにTDMAの周期が決定されているが、その周期が大きく、どのような割当を行ってもTCPで必要な伝送帯域を確保できないような場合であって、かつ対象装置が周期変更の要求を受け付ける構成の場合(ただし、これに限定されない)に、TDMAの周期の変更要求を含めるようにしてもよい。
一方、S3405において所定のスケジューリングを行えないと判断した場合、制御部3102(スケジューリング可否判定部3114)は、通信に必要な伝送帯域を確保できないと判断し、帯域確保の要求先(例えば、ユーザ)に対して、帯域確保が不可であったとの通知を行って処理を終了する。
次に、スケジューリング方法(上記所定のスケジューリング)について説明する。なお、以下に示すスケジュール例では、各系をパケットが通過するのに要する時間や、中継装置A22、中継装置B23上での伝送に要する時間は無視して考えている。これらの時間を考慮する必要がある場合、特に限定されるものではないが、例えば、各系に割り当てられる時間に対してそれらの時間を加算すればよい。
(スケジューリング例8)
図15は、本実施形態におけるスケジューリング方法の一例を示す説明図である。なお、この図に示すスケジューリング例における系Aおよび系Bに対するスケジューリング方法は、実施形態1に示したスケジューリング例4と略同様である。ただし、系Aと系Bとの間には、系Cが挟まれているため、例えば、通常の状況において系Cを各パケットが通過する最大時間Dを考慮して、
Δtd > D、かつ、Δtu > D
となるようにΔtdおよびΔtuを決定する。
本スケジュール例によれば、系Cにおける伝送時間がD以下であれば、実施形態1におけるスケジューリング例4と同様、TCPのACKは、送信機1からのデータの伝送が行われてから時間T以内に送信機1に到着する。したがって、ACKの往復遅延時間はT以下になるので、ACKの往復伝送遅延の増大に伴って伝送レートが低下することを防止できる。
なお、ここでは、実施形態1におけるスケジューリング例4と略同様のスケジューリングを行う場合について説明したが、これに限らず、実施形態1で示した他のスケジューリング例と同様のスケジューリングを行うようにしてもよい。すなわち、実施形態1に示した各スケジューリング例を、系Cでの伝送時間を考慮した上で用いるようにしてもよい。
また、本実施形態では、中継装置A22に備えられる通信制御部A3103が系Aの時分割制御を行い、中継装置B23に備えられる通信制御部B3104が系Bの時分割制御を行っているが、これに限るものではない。つまり、各系における通信状態を制御する装置は必ずしも中継装置でなくてもよい。例えば、図3に示すように、系Aの時分割制御を送信機1が行い、系Bの時分割制御を受信機2が行うようにしてもよい。また、中継装置A22または中継装置B23のいずれかが、系Aおよび系Bの時分割制御を行うようにしてもよい。
また、本実施形態では、制御命令装置25を、送信機1,中継装置A22,中継装置B23,受信機2とは別に設けているが、これに限るものではない。すなわち、制御命令装置25(制御部3102)の機能を、送信機1,中継装置A22,中継装置B23,受信機2のいずれかに備えるようにしてもよい。
例えば、図4に示すように、系Aの時分割制御を送信機1が行い、系Bの時分割制御を受信機2が行う構成において、送信機1が制御命令装置25の機能を実行するようにしてもよい。言い換えれば、制御命令装置25は、ある系を時分割制御する装置と一体に備えられる構成であってもよい。なお、伝送路上に備えられる装置に制御命令装置25(制御部3102)の機能を備える場合、制御命令装置25から送信される制御要求は、TCPによって各系を伝送されるデータとは異なる、プロトコルとして識別されない信号を用いて行うことが好ましい。
以上のように、本実施形態では、制御命令装置25が、通信経路上にあるTDMA制御可能な系を制御する各装置(制御装置)から使用状況に関する情報を取得し、その結果に基づいて、各系において送信機1−受信機2間で必要な伝送帯域を確保可能か否かを判断する。そして、伝送帯域を確保可能であれば、各装置に対して制御要求を送出する。
これにより、各系に対して、送信機1−受信機2間でTCPを用いて伝送を行う場合の往復遅延時間を、所定の値以下にするように、各系において時間割当を行うことが可能になる。したがって、往復遅延時間の増大に伴う伝送レートの低下することを防止できる。
〔実施形態3〕
本発明のさらに他の実施形態について説明する。なお、説明の便宜上、実施形態1および2における各部材と同じ機能を有する部材には、実施形態1および2と同じ符号を用い、その説明を省略する。
図5は、本実施形態にかかるネットワーク(ネットワークシステム)の概略構成を示すブロック図である。この図に示すように、本実施形態にかかるネットワークは、系A,系B,系Cによって構成されており、これらの各系はそれぞれTDMAによる時分割制御が可能な構成になっている。例えば、系Aとしては無線LAN(802.11e),系BとしてはPLC,系CとしてはUWB(Ultra Wide Band)が用いられる。ただし、各系の構成はこれに限るものではなく、種々の通信媒体を用いることができる。また、本実施形態では、系A,系B,系Cは互いに異なる通信媒体を用いているが、これに限らず、同じ通信媒体を利用してもよい。
図5に示すように、本実施形態にかかるネットワークは、送信機1、中継装置A(制御装置)22、中継装置B(制御装置)23、受信機2、制御命令装置25を備えている。
中継装置A22は、系Aと系Bとを相互に接続し、両系を用いてデータを送受信するための装置である。系Aおよび系Bは共にTDMAによる時分割制御での伝送帯域の確保が可能となっており、中継装置A22は、制御命令装置25からの系Aの時分割に関する制御要求に基づいて、系AのTDMAによる時分割制御を行う。なお、中継装置A22の構成は実施形態2に示したものと同様である。
中継装置B23は、系Bと系Cとを相互に接続し、両系を用いてデータを送受信するための装置である。系Bおよび系Cは共にTDMAによる時分割制御での伝送帯域の確保が可能となっており、中継装置B23は、制御命令装置25からの系Bおよび系Cの時分割に関する制御要求に基づいて、系Bおよび系CのTDMAによる時分割制御を行う。なお、中継装置B23は実施形態2に示した中継装置B23と略同様である。ただし、本実施形態にかかる中継装置B23は、実施形態2に示した構成に加えて、系Cの時分割制御を行う(系Cの時間割当を管理・制御する)ための通信制御部Cを備えている。この通信制御部Cの機能および構成は、通信制御部A・Bと同様である。
また、本実施形態にかかる中継装置A22および中継装置B23は、制御命令装置25からの制御要求に応じて、指定された時刻または間隔で各系の時間割当を行う必要がある。そのため、中継装置A22および中継装置B23は、例えばNTP(Network Time Protocol)のような仕組みを用いて内部の時刻を同期している。
制御命令装置25は、中継装置A22および中継装置B23から、系A,系B,系Cの使用状況(通信状態)に関する情報を取得し、取得した情報に基づいて中継装置A22および中継装置B23に対してTDMAによる時分割制御要求を行う。
制御命令装置25の構成および動作(処理内容)は、実施形態2と略同様である。ただし、実施形態2とはスケジューリング方法が若干異なっている。ここで、本実施形態におけるスケジューリング方法について説明する。
(スケジューリング例9)
図16は、本実施形態におけるスケジューリング方法の一例を示す説明図である。この図に示す例は、系A,系B,系CのTDMAの周期Tが一致している場合の例である。
本スケジュール例では、図16に示すように、各系における下り方向の時間割当の開始時刻および終了時刻が一致し、各系における上り方向の時間割当の開始時刻および終了時刻が一致するように設定する。
本スケジュール例では、この図に示すように、各周期内の系Aにおける上り方向(受信機2→中継装置3→送信機1の方向)の時間割当の開始時刻および終了時刻と、系Bにおける上り方向の時間割当の開始時刻および終了時刻とを一致させるように設定する。
この際、各系の上り方向の割当時間tdと下り方向の割当時間tuについては、実施形態1に示したスケジューリング例1と同様の考え方に基づき、次のように決定する。
すなわち、必要な伝送レートをR(ビット/秒)、系Aの通信能力をra(ビット/秒)、系Bの通信能力をrb(ビット/秒)、系Cの通信能力をrc(ビット/秒)、各系のTDMAの周期をTとした時、
T×R ≦ min(ra×td,rb×td,rc×td)
を満たすtdを下り方向の割当時間とする.なお、min(a,b,c)は、a,b,cの中で最小のものの値を意味する。
したがって、例えば、ra=rb=rcであれば、
td ≧ T×R/ra
となる。
また、1つのTCPのパケットサイズをS,1つのACKのパケットサイズをsとした場合、
T×R/S×s ≦ min(ra×tu,rb×tu,rc×tu)
を満たすtuを上り方向の割当時間とする。
したがって、例えば、ra = rb=rcであれば、
tu ≧T×R/ra×s/S
となる。
本スケジュール例によれば、系Aを通過したデータは中継装置A22で待ち時間なく系Bを通過し、中継装置B23で待ち時間なく系Cを通過する。また、そのデータについてのACKも同様に、系Cを通過したACKは中継装置B23で待ち時間なく系Bを通過し、中継装置A22で待ち時間なく系Aを通過する。したがって、送信機1からデータを送出してから時間T以内にそのデータについてのACKが送信機1に到着する。これにより、ACKの往復遅延時間はT以下になるので、ACKの往復伝送遅延の増大に伴って伝送レートが低下することを防止できる。
また、本スケジュール例では、各系への上り方向および下り方向の割当時間が同じになる。このため、各系の通信能力が等しいような場合に、特に効率的な時間割当を行える。
なお、図16に示したスケジューリング例では、各系の周期内に未使用の時間割当または他のストリームへの時間割当を設けているが、これに限らず、各周期を送信機1と受信機2との間の上り方向および下り方向の時間割当のみで構成するようにしてもよい。
(スケジューリング例10)
図17は、本実施形態におけるスケジューリング方法の一例を示す説明図である。この図に示す例は、系A,系B,系CのTDMAの周期Tが一致している場合の例である。
本スケジュール例では、図17に示すように、各系における下り方向の時間割当の終了時刻が一致し、各系における上り方向の時間割当の開始時刻が一致するように設定する。また、下り方向の時間割当の開始時刻については、系Aより系Bが遅くなり、系Bより系Cが遅くなるように設定する。また、上り方向の時間割当の終了時刻については、系Aより系Bが遅くなり、系Bより系Cが遅くなるように設定する。
この際、下り方向の割当時間td(a),td(b),td(c)と上り方向の割当時間tu(a),tu(b),tu(c)については、実施形態1に示したスケジューリング例2と同様の考え方に基づき、以下のように決定する。
必要な伝送レートをR(ビット/秒)、系Aの通信能力をra(ビット/秒)、系Bの通信能力をrb(ビット/秒)、系Cの通信能力をrc(ビット/秒)、各系のTDMAの周期をTとした場合に、
T×R ≦ ra×td(a),
T×R ≦ rb×td(b),
T×R ≦ rc×td(c)
を満たすtd(a),td(b),td(c)と、1つのTCPのパケットサイズをS,1つのACKのパケットサイズをs、ACKパケットが系Bを通過するのに必要な時間をdbとした場合に、
T×R/S×s ≦ ra×tu(a),
T×R/S×s ≦ rb×tu(b),
T×R/S×s ≦ rc×tu(c)
を満たすtu(a),tu(b),tu(c)とに、下記の条件
tu(a) > tu(b) >tu(c),
td(a) > td(b) >tu(c),
tu(a)+td(a) ≦T
を加えて決定する。
本スケジュール例によれば、系Aを通過したデータは中継装置A22で待ち時間なく系Bを通過し、中継装置B23で待ち時間なく系Cを通過する。また、そのデータについてのACKも同様に、系Cを通過したACKは中継装置B23で待ち時間なく系Bを通過し、系Bを通過したACKは中継装置A22で待ち時間なく系Aを通過する。したがって、送信機1からデータを送出してから時間T以内にそのデータについてのACKが送信機1に到着する。これにより、ACKの往復遅延時間はT以下になるので、ACKの往復伝送遅延の増大に伴って伝送レートが低下することを防止できる。
また、本スケジュール例では、各系への上り方向および下り方向の割当時間の長さが系A>系B>系Cとなることから、各系の通信能力がrc>rb>raとなるような場合に、特に効率的な時間割当を行える。
なお、図17に示したスケジューリング例では、各系における送信機1から受信機2の方向(下り方向)の時間割当と受信機2から送信機1の方向(上り方向)の時間割当とが連続するように設けられているが、これに限らず、各系における送信機1から受信機2の方向(下り方向)の時間割当と受信機2から送信機1の方向(上り方向)の時間割当との間に、未使用の時間割当または他のストリームへの時間割当を設けてもよい。
(スケジューリング例11)
図18は、本実施形態におけるスケジューリング方法の他の例を示す説明図である。この図に示す例は、系A,系B,系CのTDMAの周期Tが一致している場合の例である。
本スケジュール例では、図18に示すように、各系における下り方向の時間割当の開始時刻が一致し、各系における上り方向の時間割当の終了時刻が一致するように設定する。また、下り方向の時間割当の終了時刻については、系Aより系Bが遅くなり、系Bより系Cが遅くなるように設定する。また、上り方向の時間割当の開始時刻については、系Cより系Bが遅くなり、系Bより系Aが遅くなるように設定する。
この際、下り方向の割当時間td(a),td(b),td(c)と上り方向の割当時間tu(a),tu(b),tu(c)については、実施形態1に示したスケジューリング例3と同様の考え方に基づき、下記の条件
tu(a) < tu(b) < tu(c),
td(a) < td(b) < td(c),
tu(a)+td(a) ≦ T
を用いて決定する。
本スケジュール例によれば、送信機1から送信されて系Aを通過したデータは、同一周期の系Bの下り方向の割当時間で系Bを通過し、同一周期の系Cの下り方向の割当時間で系Cを通過する。また、そのデータについてのACKも同様に、受信機2から送信されて系Cを通過したACKは、同一周期の系Bの上り方向の割当時間で系Bを通過し、同一周期の系Aの上り方向の割当時間で系Aを通過する。したがって、送信機1からデータを送出してから時間T以内にそのデータについてのACKが送信機1に到着する。これにより、ACKの往復遅延時間はT以下になるので、ACKの往復伝送遅延の増大に伴って伝送レートが低下することを防止できる。
なお、本スケジュール例では、各系への上り方向および下り方向の割当時間の長さが系A<系B<系Cとなることから、各系の通信能力がra>rb>rcとなるような場合に、特に効率的な時間割当を行える。
また、図18に示したスケジューリング例では、系Cにおける送信機1から受信機2の方向(下り方向)の時間割当と受信機2から送信機1の方向(上り方向)の時間割当とが連続するように設けられているが、これに限らず、系Cにおける送信機1から受信機2の方向(下り方向)の時間割当と受信機2から送信機1の方向(上り方向)の時間割当との間に、未使用の時間割当または他のストリームへの時間割当を設けてもよい。
(スケジューリング例12)
図19、本実施形態におけるスケジューリング方法のさらに他の例を示す説明図である。この図に示す例は、系A,系B,系CのTDMAの周期Tが一致している場合の例である。
本スケジュール例では、図19に示すように、各系への下り方向の時間割当の開始時刻および終了時刻を、それぞれ、系A,系B,系Cの順で遅くなるように設定する。また、各系への上り方向の時間割当の開始時刻および終了時刻を、それぞれ、系C,系B,系あの順で遅くなるように設定する。
この際、下り方向の割当時間td(a),td(b),td(c)と上り方向の割当時間tu(a),tu(b),tu(c)については、実施形態1に示したスケジューリング例4と同様の考え方に基づき、下記のように決定する。すなわち、系Aと系Bとの下り方向の開始時刻の差をΔtd(1)、系Bと系Cとの下り方向の開始時刻の差をΔtd(2)、系Cと系Bとの上り方向の開始時刻の差をΔtu(1)、系Bと系Aとの上り方向の開始時刻の差をΔtu(2)、系Cの下り方向の時間割当の終了時刻と系Cの上り方向の時間割当の開始時刻との差をx(図19ではx=0のため図示せず)とした場合に、下記の条件
Δtd(1)+Δtd(2)+tb(c)+x+Δtu(1)+Δtu(2)+tu(a) ≦ T
を用いて決定する。すなわち、系Aにおける下り方向の時間割当の開始時刻から上り方向の時間割当の終了時刻までの時間が、時間T以下になるように設定する。
本スケジュール例によれば、送信機1から送信されて系Aを通過したデータは、同一周期の系Bの下り方向の割当時間で系Bを通過し、同一周期の系Cの下り方向の割当時間で系Bを通過する。また、そのデータについてのACKも同様に、受信機2から送信されて系Cを通過したACKは、同一周期の系Bの上り方向の割当時間で系Bを通過し、同一周期の系Aの上り方向の割当時間で系Aを通過する。したがって、送信機1からデータを送出してから時間T以内にそのデータについてのACKが送信機1に到着する。これにより、ACKの往復遅延時間はT以下になるので、ACKの往復伝送遅延の増大に伴って伝送レートが低下することを防止できる。
なお、図19に示したスケジューリング例では、系Cにおける送信機1から受信機2の方向(下り方向)の時間割当と受信機2から送信機1の方向(上り方向)の時間割当とが連続するように設けられているが、これに限らず、系Cにおける送信機1から受信機2の方向(下り方向)の時間割当と受信機2から送信機1の方向(上り方向)の時間割当との間に、未使用の時間割当または他のストリームへの時間割当を設けてもよい。
(スケジューリング例13)
図20は、本実施形態におけるスケジューリング方法のさらに他の例を示す説明図である。この図に示すように、本スケジュール例では、系Aの周期Taの1/2倍の周期で系Bの周期Tbが設定され、系Aの周期Taの1/4倍の周期で系Cの周期Tcが設定されている(Ta=T,Tb=T/2,Tc=T/4)。
また、各系の下り方向の時間割当の終了時刻およびその次の各系の上り方向の時間割当の開始時刻が時間T毎に一致するように設定する。
この際、上り方向の割当時間td(a),td(b)と下り方向の割当時間tu(a),tu(b)については、実施形態1に示したスケジューリング例5と同様の考え方に基づき、下記の条件
tu(a) > tu(b) > tu(c),
td(a) > td(b) > td(c),
tu(a)+td(a) ≦ T,
tu(b)+td(b) ≦ T/2,
tu(c)+td(c) ≦ T/4
を用いて決定する。
本スケジュール例によれば、送信機1から送信されて系Aを通過したデータは、そのときの系Aの下り方向の時間割当の終了時刻と同時刻に終了する系Bの下り方向の時間割当および系Cの下り方向の時間割当で系Bおよび系Cを通過する。また、受信機2から送信されて系Cを通過した上記のデータについてのACKは、そのときの系Cの上り方向の時間割当の開始時刻と同時刻に開始される系Bの上り方向の時間割当および系Aの上り方向の時間割当で系Bおよび系Aを通過して送信機1に到着する。したがって、送信機1からデータを送出してから時間T以内にそのデータについてのACKが送信機1に到着する。これにより、ACKの往復遅延時間はT以下になるので、ACKの往復伝送遅延の増大に伴って伝送レートが低下することを防止できる。
なお、本スケジュール例では、系Bにおける下り方向の時間割当および上り方向の時間割当を周期Tb(Tb=T/2)ごとに設定し、系Cにおける下り方向の時間割当および上り方向の時間割当を周期Tc(Tc=T/4)ごとに設定しているが、これに限るものではない。例えば、系Bについては2回の周期Tb(すなわち時間T)ごとに1回だけ上り方向と下り方向の割当を行い、系Cについては4回の周期Tc(すなわち時間T)ごとに1回だけ上り方向と下り方向の割当を行うようにしてもよい。これにより、系Bおよび系Cに対して、余分な割当を行わず効率的な割当を行うことが可能となる。
また、本スケジュール例では系Bの周期Tbが系Aの周期Taの1/2倍、系Cの周期Tcが系Aの周期Taの1/4倍の長さである例を述べたが、系Bの周期Tbが系Aの周期Taに対して1/n(nは自然数)、系Cの周期Tcが系Aの周期Taに対して1/(2×n)であれば、同様の結果が得られる。
なお、図20に示したスケジューリング例では、各系の下り方向(送信機1から受信機2の方向)への時間割当の終了時刻が時間T毎に一致し、この終了時刻に連続して各系の次の上り方向(受信機2から送信機1の方向)の時間割当の開始時刻が設けられているが、これに限るものではない。例えば、各系の下り方向(受信機2から送信機1の方向)への時間割当の終了時刻が時間T毎に一致した後、各系の次の上り方向(受信機2から送信機1の方向)の時間割当の開始時刻までの間に、未使用の時間割当または他のストリームの時間割当を設けてもよい。
(スケジューリング例14)
図21は、本実施形態におけるスケジューリング方法のさらに他の例を示す説明図である。この図に示すように、本スケジュール例では、系Cの周期Tcの1/2倍の周期で系Bの周期Tbが設定され、系Cの周期Tcの1/4倍の周期で系Aの周期Taが設定されている(Ta=T/4,Tb=T/2,Tc=T)。
また、各系の上り方向の時間割当の終了時刻およびその次の各系の下り方向の時間割当の開始時刻が時間T毎に一致するように設定する。
この際、各系の下り方向の割当時間td(a),td(b),td(c)と上り方向の割当時間tu(a),tu(b),tu(c)については、実施形態1に示したスケジューリング例6と同様の考え方に基づき、下記の条件
tu(a) > tu(b) > tu(c),
td(a) > td(b) > td(c),
tu(a)+td(a)+td(c) ≦ T/2,
tu(c)+td(c) ≦ T
を用いて決定する。
本スケジュール例によれば、送信機1から送信されて系Aを通過したデータは、そのときの系Aの下り方向の時間割当の開始時刻と同時刻に開始される系Bの下り方向の時間割当および系Cの下り方向の時間割当で系Bおよび系Cを通過する。また、受信機2からは当該下り方向の時間割当と同じ周期Tbにおける上り方向の時間割当で上記のデータについてのACKが送信されて系Cを通過する。この系Cを通過したACKは、上記のデータが送信機1から送信された周期Taの4周期後における上り方向の時間割当で系Aを通過して送信機1に到着する。したがって、送信機1から送信されて系Aを通過したデータのACKは、系Aにおける4周期後の上り方向の時間割当で送信機1に伝送される。
ここで、系Aの周期TaはT/4なので、送信機1からデータを送出してから時間T以内にそのデータについてのACKが送信機1に到着する。これにより、ACKの往復遅延時間はT以下になるので、要求されている往復遅延時間がT以下の場合には、ACKの往復伝送遅延の増大に伴って伝送レートが低下することを防止できる。
なお、本スケジュール例では、系Bにおける下り方向の時間割当および上り方向の時間割当を周期Tb(Tb=T/2)ごとに設定し、系Aにおける下り方向の時間割当および上り方向の時間割当を周期Ta(Ta=T/4)ごとに設定しているが、これに限るものではない。例えば、系Bについては2回の周期Tb(すなわち時間T)ごとに1回だけ上り方向と下り方向の割当を行い、系Aについては4回の周期Ta(すなわち時間T)ごとに1回だけ上り方向と下り方向の割当を行うようにしてもよい。これにより、系Aおよび系Bに対して、余分な割当を行わず効率的な割当を行うことが可能となる。
また、本スケジュール例では系Bの周期Tbが系Cの周期Tcの1/2倍、系Aの周期Taが系Cの周期Tcの1/4倍の長さである例を述べたが、系Bの周期Tbが系Cの周期Tcに対して1/n(nは自然数)、系Aの周期Taが系Cの周期Tcに対して1/(2×n)であれば、同様の結果が得られる。
なお、図21に示したスケジューリング例では、各系の上り方向(受信機2から送信機1の方向)への時間割当の終了時刻が時間T毎に一致し、この終了時刻に連続して各系の次の下り方向(送信機1から受信機2の方向)の時間割当の開始時刻が設けられているが、これに限るものではない。例えば、各系の上り方向(送信機1から受信機2の方向)への時間割当の終了時刻が時間T毎に一致した後、各系の次の下り方向(送信機1から受信機2の方向)の時間割当の開始時刻までの間に、未使用の時間割当または他のストリームの時間割当を設けてもよい。
(スケジューリング例15)
図22は、本実施形態におけるスケジューリング方法のさらに他の例を示す説明図である。この図に示すように、本スケジュール例では、系Cの周期Tcの1/2倍の周期で系Bの周期Tbが設定され、系Cの周期Tcの1/4倍の周期で系Aの周期Taが設定されている(Ta=T/4,Tb=T/2,Tc=T)。
本スケジュール例では、系Aにおける4×k番目(kは自然数)の周期Taの下り方向の時間割当の開始時刻よりも、系Bにおける2×k番目の周期Tbの下り方向の時間割当の開始時刻の方が遅く、系Bにおける2×k番目の周期Tbの下り方向の時間割当の開始時刻よりも系Cにおけるk番目の周期Tcの下り方向の時間割当の開始時刻の方が遅くなるように設定されている。また、系Aにおける4×k番目(kは自然数)の周期Taの下り方向の時間割当の終了時刻よりも、系Bにおける2×k番目の周期Tbの下り方向の時間割当の終了時刻の方が遅く、系Bにおける2×k番目の周期Tbの下り方向の時間割当の終了時刻よりも系Cにおけるk番目の周期Tcの下り方向の時間割当の終了時刻の方が遅くなるように設定されている。つまり、各系の下り方向の割当時間の長さは、td(a)<td(b)<td(c)となるように設定されている。
さらに、系Cにおけるk番目の周期Tcの下り方向の時間割当の開始時刻よりも、系Bにおける2×k+1番目の周期Tbの下り方向の時間割当の開始時刻の方が遅く、系Bにおける2×k+1番目の周期Tbの下り方向の時間割当の開始時刻よりも系Aにおける4×k+3番目の周期Taの下り方向の時間割当の開始時刻の方が遅く設定されている。また、系Cにおけるk番目の周期Tcの下り方向の時間割当の終了時刻よりも、系Bにおける2×k+1番目の周期Tbの下り方向の時間割当の終了時刻の方が遅く、系Bにおける2×k+1番目の周期Tbの下り方向の時間割当の終了時刻よりも系Aにおける4×k+3番目の周期Taの下り方向の時間割当の終了時刻の方が遅く設定されている。つまり、各系の上り方向の割当時間の長さは、tu(a)<tu(b)<tu(c)となるように設定されている。
また、各系の下り方向の割当時間td(a),td(b),td(c)と上り方向の割当時間tu(a),tu(b),tu(c)については、系Aにおける4×k番目の周期Taの下り方向の時間割当の開始時刻と系Bにおける2×k番目の周期Tbの下り方向の時間割当の開始時刻との差をΔtd(1)、系Bにおける2×k番目の周期Tbの下り方向の時間割当の開始時刻と系Cにおけるk番目の周期Tcの下り方向の時間割当の開始時刻との差をΔtd(2)、系Cにおけるk番目の周期Tcの上り方向の時間割当の終了時刻と系Bにおける2×k+1番目の周期Tbの上り方向の時間割当の終了時刻との差をΔtu(1)、系Bにおける2×k+1番目の周期Tbの上り方向の時間割当の終了時刻と系Aにおける4×k+3番目の周期Tbの上り方向の時間割当の終了時刻との差をΔtu(2)、系Cにおけるk番目の周期Tcの下り方向の時間割当の終了時刻と上り方向の時間割当の開始時刻との差をxとした場合に、下記の条件
Δtd(1)+Δtd(2)+td(c)+x+tu(c)+Δtu(1)+Δtu(2) ≦ T
を用いて決定する。
本スケジュール例によれば、送信機1から送信されて系Aにおける4×k番目の周期Taの下り方向の時間割当で系Aを通過したデータは、系Bにおける2×k番目の周期Tbの下り方向の時間割当で系Bを通過し、系Cにおけるk番目の周期Tcの下り方向の時間割当で系Cを通過して受信機2に伝送される。そして、そのデータについてのACKは、系Cにおけるk番目の周期Tcの上り方向の時間割当で系Cを通り、系Bにおける2×k+1番目の周期Tbの上り方向の時間割当で系Bを通り、系Aにおける4×k+3番目の周期Taの上り方向の時間割当で系Aを通過して送信機1に伝送される。ここで、系Aの周期TaはT/4なので、送信機1からデータを送出してから時間T以内にそのデータについてのACKが送信機1に到着する。これにより、ACKの往復遅延時間はT以下になるので、要求されている往復遅延時間がT以下の場合にはACKの往復伝送遅延の増大に伴って伝送レートが低下することを防止できる。
なお、本スケジュール例では、系Aにおける下り方向の時間割当および上り方向の時間割当を周期Ta(Ta=T/4)ごとに設定し、系Bにおける下り方向の時間割当および上り方向の時間割当を周期Tb(Tb=T/2)ごとに設定しているが、これに限るものではない。例えば、4回の周期Ta(すなわち時間T)ごとに1回だけ上り方向と下り方向の割当を行い、2回の周期Tb(すなわち時間T)ごとに1回だけ上り方向と下り方向の割当を行うようにしてもよい。これにより、系Aおよび系Bに対しては、余分な割当を行わず効率的な割当を行うことが可能となる。
また、本スケジュール例では系Bの周期Tbが系Cの周期Tcの1/2倍の長さであり、系Aの周期Taが系Cの周期Tcの1/4倍の長さである例を述べたが、系Bの周期Tbが系Cの周期Tcに対して1/n(nは自然数)であり、系Aの周期Taが系Cの周期Tcに対して1/(2×n)であれば、同様の結果が得られる。
なお、図22に示したスケジュール例では、各系の下り方向の割当時間の長さがtd(a)<td(b)<td(c)となり、各系の上り方向の割当時間の長さがtu(a)<tu(b)<tu(c)となるように設定しているが、これに限るものではない。例えば、各系の下り方向の割当時間の長さがtd(a)>td(b)>td(c)となり、各系の上り方向の割当時間の長さがtu(a)>tu(b)>tu(c)となるように設定してもよい。また、例えば、送信機1から系Aにおけるk番目の周期の下り方向の時間割当で送信されたデータについてのACKが、系Aにおけるk+1番目の上り方向の時間割当で送信機2に到着するというようにスケジューリングを行ってもよい。
以上のように、本実施形態では、制御命令装置25の使用状況取得部3113が、通信経路上にある3つ以上のTDMA制御可能な系を時分割制御する各装置(制御装置)から使用状況に関する情報を取得し、その結果に基づいて、スケジューリング可否判定部3114が、各系において送信機1−受信機2間で必要な伝送帯域を確保可能か否かを判断する。そして、伝送帯域を確保可能であれば、制御要求部3115が上記判定したスケジュールに基づく時分割制御を行うように各制御装置に対して制御要求を送出する。
これにより、各系に対して、送信機1−受信機2間でTCPを用いて伝送を行う場合の往復遅延時間を、所定の値以下にするように、各系において時間割当を行うことが可能になる。したがって、往復遅延時間の増大に伴う伝送レートの低下することを防止できる。
なお、本実施形態では、3つの系を跨って通信を行うネットワークについて説明したが、通信系路上に配される系の数はこれに限るものではなく、3つ以上の系で構成されるネットワークであってもよい。
また、本実施形態では、制御命令装置25(制御要求部3115)からの制御要求に基づいて、中継装置A22に備えられる通信制御部A3103が系Aの時分割制御を行い、中継装置B23に備えられる通信制御部B3104および通信制御部Cが系Bおよび系Cの時分割制御を行う構成について説明したが、これに限るものではない。例えば、図6に示すように、系Aの時分割制御を送信機1(Server)が行い、系Bの時分割制御を中継装置B23(Bridge2)が行い、系Cの時分割制御を受信機2(client)が行うようにしてもよい。つまり、系Aの時分割制御を行う通信制御部A3103を送信機1に設け、系Bの時分割制御を行う通信制御部A3104を中継装置B23に設け、系Cの時分割制御を行う通信制御部Cを受信機2に設けてもよい。
〔実施形態4〕
本発明のさらに他の実施形態について説明する。なお、説明の便宜上、実施形態1〜3における各部材と同じ機能を有する部材には、実施形態1〜3と同じ符号を用い、その説明を省略する。
図7は、本実施形態にかかるネットワーク(ネットワークシステム)のブロック図である。この図に示すように、本実施形態にかかるネットワークは、送信機A71、送信機B76、中継装置A(制御装置)72、中継装置B(制御装置)73、受信機A74、受信機B77、制御命令装置25によって構成されている。送信機A71と中継装置A72との間は系A、中継装置A72と中継装置B73との間は系B、中継装置B73と受信機A74との間は系C、送信機B76と中継装置A72との間は系D、中継装置B73と受信機B77との間は系Eを介してそれぞれ接続されている。つまり、本ネットワークは、系A,系B,系C,系D,系Eの5つの系から構成されている。
なお、系A,系B,系EにはTDMAによる時分割制御で伝送帯域が確保可能な通信媒体が用いられており、系C,Dは伝送帯域の確保ができない通信媒体が用いられている。例えば、系Aには、無線LAN(802.11e)、系BにはPLC、系Eには無線LAN(802.11e)が用いられる(ただし、これに限定するものではない)。また、系Cと系Dには、例えば、Ethernetが用いられる。
系A→系B→系Cを介して送信機A71と受信機A74との間のストリーム伝送(ストリーム(Stream)A)が、系D→系B→系Eを介して送信機B76と受信機B77との間のストリーム伝送(ストリームB)が行われる。すなわち、系BがストリームAとストリームBによって共有されている.
なお、本実施形態では、系Bは、ネットワーク内で各装置がデータの送受信をする際に、共通で使用されるいわゆるバックボーンとして利用されることを想定している。そのため、系Bの伝送能力を系A及び系Eよりも大きくしている(ただし、これに限定されるものではない)。
送信機A71および送信機B76の構成は、実施形態1に示した送信機1と同様である。また、受信機A74および受信機B77の構成は、実施形態1に示した受信機2と同様である。
中継装置A72は、系A,系B,系Dを相互に接続するための装置であり、各系に用いられる通信媒体に応じた通信インタフェースを備えたブリッジ装置である。本実施形態では、中継装置A72は、無線LANとEthernetとPLCの3つの通信インタフェースを備えている。また、中継装置A72は、系Aの時分割制御を行う通信制御部A3103と系Bの時分割制御を行う通信制御部B3104とを備えている。
中継装置B73は、系B,系C,系Eを相互に接続するための装置であり、各系に用いられる通信媒体に応じた通信インタフェースを備えたブリッジ装置である。本実施形態では、中継装置B73は、無線LANとEthernetとPLCの3つの通信インタフェースを備えている。また、中継装置B73は、系Bの時分割制御を行う通信制御部A3104と系Eの時分割制御を行う通信制御部Eとを備えている。通信制御部Eの構成は通信制御部A3103およびB3104と同様である。
なお、中継装置A72および中継装置B73は、制御命令装置25からの制御要求に応じて、指定された時刻または間隔で系A,B,Eの時間割当を行う必要がある。そのため、中継装置A72および中継装置B73は、例えばNTP(Network Time Protocol)のような仕組みを用いて内部の時刻を互いに同期している。
制御命令装置25の構成は、実施形態2に示した制御命令装置25の構成と略同様である。制御命令装置25は、中継装置A72および中継装置B73から系A,系B,系Eの使用状況(通信状態)に関する情報を取得し、取得した結果に基づいて中継装置A72および中継装置B73に対して各系のTDMAによる時分割制御の要求を行う。
次に、制御命令装置25の制御部3102が、ネットワークシステムに対して、送信機A71→中継装置A72→中継装置B73→受信機A74の間で伝送されるストリームAに対する伝送帯域の割当と、送信機B76→中継装置A72→中継装置B73→受信機B77の間で伝送されるストリームBに対する伝送帯域の割当とを順次行っていくときの処理について説明する。
ストリームAについて伝送帯域の確保の要求を受けた場合、制御部3102(制御要求部3115)は、実施形態2で図33に示したフローチャートに従って、通信部3303を介して中継装置A72に伝送帯域の制御要求を送信する。この際、系Aおよび系Bにおける割当は、系Aの伝送能力よりも系Bの伝送能力の大きく、通信は系A→系B方向に行われるので、ここでは、実施形態1に示したスケジューリング例2の方法でスケジューリングを行う。図23は、ストリームAのための伝送帯域の確保が完了した時点での系Aおよび系Bにおける時間割当の様子を示した説明図である。
ストリームBについて伝送帯域の確保の要求を受けた場合、制御部3102(制御要求部3115)は、ストリームAの時と同様に、実施形態2で図33に示したフローチャートに従って、通信部3303を介して中継装置B73に伝送帯域の制御要求を送信する。スケジューリング方法としては、系Eの伝送能力よりも系Bの伝送能力の大きく、通信は系B→系E方向に行われるので、ここでは、実施形態1に示したスケジューリング例3の方法を用いる。
この際、系Bは、ストリームAによって一部時間の割当が行われている状態である。そのため、制御部3102(スケジューリング可否判定部3114)は、スケジューリングを行う際に、まず、系Bを単独で用いた場合に、系Bの空き時間によってストリームBの伝送に必要な伝送量を確保できるか否かを判断する。
そして、伝送量を確保できるのであれば、系Bに対する割当時間を先に決定し、それに合わすように系Eに対する割当を決定する。図24は、ストリームBに対する伝送帯域の確保が終わった状態での、系Bおよび系Eの割当の状態を示した図である。
一方、系Bを単独で用いた場合に、系Bの空き時間によってストリームBの伝送に必要な伝送量を確保することができないと判断した場合、制御部3102(スケジューリング可否判定部3114)は、ストリームAおよびBの系Bにおける時間割当を変更すれば(再スケジューリングを行えば)、ストリームAおよびBの伝送に必要な伝送量を確保できるか否かの判断を行う。なお、再スケジューリングを行ってもストリームAおよびBに必要な伝送量を確保できない場合、制御部3102(スケジューリング可否判定部3114)は、通信に必要な伝送帯域を確保できないと判断し、帯域確保の要求先(例えば、ユーザ)に対して、帯域確保が不可であった旨の通知を行い、処理を終了する。
以上のように本実施形態にかかるネットワークでは、1つの系(系B)を複数のストリーム(ストリームA,B)で共有している。そして、制御命令装置25の使用状況取得部3113が、通信経路上にあるTDMA制御可能な系を制御する各装置(制御装置)から使用状況に関する情報を取得し、その結果に基づいて、スケジューリング可否判定部3114が各系において各ストリームに必要な伝送帯域を確保可能か否かを判断する。そして、伝送帯域を確保可能なスケジューリングに基づいて各系の時分割制御を行うように、各系の時分割制御を行う制御装置に制御要求を送出する。
これにより、それぞれのストリームにおいて、TCPのACKの往復遅延時間を所定の値以下にすることができる。したがって、往復遅延時間の増大に伴う伝送レートの低下を防止できる。
なお、本実施形態では、系Cおよび系Dとして、伝送帯域の確保が行えない通信媒体を用いる例について説明したが、これに限定されるものではない。例えば、系Cおよび/または系Dが、伝送帯域の確保を行える通信媒体であってもよい。
また、例えば系Cは系Aと同じ系(通信媒体)であってもよく、系Dは系Eと同じ系(通信倍体)であってもよい。この場合、例えば、図34に示すような時間割当をそれぞれの系で行ってもよい。図34に示すスケジューリング例は、系A、系B、系CのTDMAの周期が一致している場合の例である。
このスケジュール例では、図34に示すように、系A,系B,系Cにおいて、ストリームAの下り方向および上り方向の時間割当の開始時刻および終了時刻が一致している。また、上り方向および下り方向の割当時間は、時間T以内に設定されている。
したがって、送信機A71からデータを送信した後、そのデータについてのACKが時間T以内に送信機A71に到着する。これにより、ACKの往復遅延時間はT以下になるので、ACKの往復伝送遅延の増大に伴って伝送レートが低下することを防止できる。
また、各系に用いる通信媒体は上記した例に限るものではない。例えば、全ての系を同じ通信媒体で構成してもよく、全ての系を異なる通信媒体で構成してもよく、あるいはそれ以外の組み合わせであってもよい。
また、上記各実施形態では、制御命令装置が所定のスケジューリングを行えない(伝送時間の割り当てができない)と判断した場合には、伝送時間の割り当てを行わないものとしている。
ただし、実行可能なスケジュール(実行可能な時間割当の組み合わせ)について、往復遅延時間RTTを算出することは可能である。そこで、往復遅延時間RTTに基づいて、必要な伝送レートRを得るためのWindow Size Wを算出し、算出したWindow Size Wで伝送を行うようにしてもよい。
具体的には、制御命令装置25に備えられる制御部3102に、実行可能なスケジュールについて、各系における時分割制御の周期、下り方向の時間割当の開始時刻および終了時刻、上り方向の時間割当の開始時刻および終了時刻に基づいて、往復遅延時間RTTを算出する往復遅延時間算出部を設ける。また、制御部3102に、R=W/RTTに基づいてWindow Size Wを算出するウインドウサイズ算出部を設ける。さらに、制御部3102に、算出したWindow Size Wが伝送路上の各装置で処理できるWindow Sizeであるかどうかを判断し、処理できるWindow Sizeである場合には、そのWindow Sizeを用いるように送信機に通知するウインドウサイズ設定部を設ける。これにより、送信機が、制御命令装置25(ウインドウサイズ設定部)から通知される情報に基づいてWindow Sizeを設定することで、必要な伝送帯域の確保を行うことができる。
したがって、当初要求された往復時間で応答確認を伝送できないようなネットワーク(系の組み合わせ)においても、単位時間当たりの伝送量を増やすことができるので必要な伝送帯域を確保することが可能となる。
また、上記各実施形態に示した各スケジューリング例では、1つのTDMAの周期内において下り方向の時間割当と上り方向の時間割当とを1回づつ設けているが、これに限るものではない。例えば、通信媒体(系)の制御周期が大きな場合、図35に示すように、1つのTDMAの周期内に複数の上り方向の時間割当と下り方向の時間割当とを行ってもよい。
図35のように1周期内に5回の下り方向の時間割当を設ける場合、例えば、Window SizeをW=4とすると、1周期で4×5=20のデータを送信できる。一方、1つのTDMAの周期内において下り方向の時間割当と上り方向の時間割当とを1回づつ設ける構成では、1周期でW=4のデータしか送信できない。したがって、通信媒体(系)の制御周期が大きない場合には、上り方向および下り方向の時間割当を1周期内に複数設けることにより、伝送レートを向上させることができる。
また、1つの周期内に複数の上り方向の時間割当と下り方向の時間割当とを設定するスケジューリング方法と、上記したいずれかのスケジューリング方法とを組み合わせて用いてもよい。例えば、1つの周期内に複数の上り方向の時間割当と下り方向の時間割当とを設定するスケジューリング方法を、実施形態1に示したスケジューリング例4あるいは実施形態3に示したスケジューリング例12における各系の時間割当方法として使用すれば、制御周期が大きな系においても、TCPのACKの往復遅延時間を所定の値以下にすることが可能となり、往復遅延時間の増大に伴う伝送レートの低下を防止できる。
なお、このように1つの周期内に複数の上り方向の時間割当と下り方向の時間割当とを設定するスケジューリング方法は、送信機と受信機との間で単一の系を用いて通信を行うネットワークにおいても適用できる。この場合、制御周期が大きな系であっても、TCPのACKの往復遅延時間を所定の値以下にすることが可能となり、往復遅延時間の増大に伴う伝送レートの低下を防止できる。
また、上記各実施形態においては、受信機→送信機方向(上り方向)の時間割当を、ACKのための伝送帯域として割り当てているがこれに限るものではない。例えば、ACKの伝送を、他のデータ伝送と共有可能なコンテンション・ピリオド(CP;Contention Period)において行うようにしてもよい。
ここで、コンテンション・ピリオドとは、制御装置が系上の各装置の送信権を管理しない期間である。この期間中は、例えば、DCF(distributed coordination function)と呼ばれるアクセス方式が用いられる。DCFでは、ネットワーク上の各装置が通信媒体にデータが送信されているかどうかを監視する。そして、どの装置からもデータが送信されない状態が所定の期間(DIFSと呼ばれる期間)継続したことを検出した場合は、バックオフタイマと呼ばれるダウンタイマの計時を開始する。バックオフタイマは、各装置において、所定の範囲でランダムな値から開始されるダウンタイマである。このバックオフタイマが0となった時点で通信媒体がアイドルであれば(どの機器からもデータが送信されない状態が継続されていれば)、その装置はデータの送信を開始することができる。すなわち、ランダムに決定された待ち時間が短い者がデータの送信権を得ることができる。
データの送信権を得た装置はデータを送信することができる。データの送信が終わったら、その装置は通信媒体にフレームが送信されているかどうかを監視するフェイズに戻り、同様の事が繰り返される。
また、IEEE802.11eにおいては、DCFを拡張したEDCAF(enhanced distributed channel access function)と呼ばれるアクセス方式が用いられる。これは、バックオフタイマの大きさを送信するデータの種類によって変化させることにより、送信するデータの種類によって送信の優先度を調節するという仕組みと、データの送信権を得た機器が連続して複数のデータを送信する仕組みを追加した方式である。コンテンション・ピリオドにおいては、DCFとEDCAFのどちらを用いてもよい。
また、上記各実施形態における制御命令装置の各ブロック、特に制御部3102およびそれに含まれる各ブロックは、上記したように、CPU等のプロセッサを用いてソフトウェアによって実現される。
すなわち、制御命令装置は、各機能を実現する制御プログラムの命令を実行するCPU(central processing unit)、上記プログラムを格納したROM(read only memory)、上記プログラムを展開するRAM(random access memory)、上記プログラムおよび各種データを格納するメモリ等の記憶装置(記録媒体)などを備えている。そして、本発明の目的は、上述した機能を実現するソフトウェアである制御命令装置の制御プログラムのプログラムコード(実行形式プログラム、中間コードプログラム、ソースプログラム)をコンピュータで読み取り可能に記録した記録媒体を、上記制御命令装置に供給し、そのコンピュータ(またはCPUやMPU)が記録媒体に記録されているプログラムコードを読み出し実行することによって達成される。
上記記録媒体としては、例えば、磁気テープやカセットテープ等のテープ系、フロッピー(登録商標)ディスク/ハードディスク等の磁気ディスクやCD−ROM/MO/MD/DVD/CD−R等の光ディスクを含むディスク系、ICカード(メモリカードを含む)/光カード等のカード系、あるいはマスクROM/EPROM/EEPROM/フラッシュROM等の半導体メモリ系などを用いることができる。
また、制御命令装置を通信ネットワークと接続可能に構成し、通信ネットワークを介して上記プログラムコードを供給してもよい。この通信ネットワークとしては、特に限定されず、例えば、インターネット、イントラネット、エキストラネット、LAN、ISDN、VAN、CATV通信網、仮想専用網(virtual private network)、電話回線網、移動体通信網、衛星通信網等が利用可能である。また、通信ネットワークを構成する伝送媒体としては、特に限定されず、例えば、IEEE1394、USB、電力線搬送、ケーブルTV回線、電話線、ADSL回線等の有線でも、IrDAやリモコンのような赤外線、Bluetooth(登録商標)、802.11無線、HDR、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。なお、本発明は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。
また、上記各実施形態における制御命令装置の各ブロック、特に制御部3102およびそれに含まれる各ブロックは、ソフトウェアを用いて実現されるものに限らず、ハードウェアロジックによって構成されるものであってもよい。
本明細書に開示した実施形態は、すべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上記した実施形態の説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。