(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0028】
次に本発明の実施形態について、図面を参照して詳細に説明する。
【0029】
≪第1の実施の形態≫
[概要]
本実施形態のスイッチングハブAは、所定の通信装置から送信されたパケットを受信し、当該パケットを本実施形態のスイッチングハブBに優先的に送信するときには、優先送信を要求する信号もスイッチングハブBに送信する。本実施形態のスイッチングハブBは、優先送信を要求する信号を受信すると、スイッチングハブAから受信したパケット(すなわち、所定の通信装置から送信されたパケット)を優先して送信する。
【0030】
本実施形態のスイッチングハブA、B両方が、連携して、所定の通信装置から送信されたパケットを優先して送信する。その結果、本実施形態のスイッチングハブA、Bは、所定の通信装置から送信されたパケットの通信速度が十分減少しないようにすることができる。
【0031】
以下に、本発明の第1の実施の形態におけるスイッチングハブの構成や動作を説明する。
【0032】
[構成の説明]
まず、
図4は、本発明の第1の実施の形態におけるスイッチングハブを備えたネットワークの構成例を示す図である。
【0033】
(1)本実施形態のスイッチングハブを備えたネットワーク
本実施形態のスイッチングハブを備えたネットワークは、
図4に示されるように、本実施形態のスイッチングハブ1、4と、通信装置2、3、5、6と、を備える。
【0034】
スイッチングハブ1とスイッチングハブ4は、互いに有線回線を介して接続される。また、スイッチングハブ1は、通信装置2、3と有線回線を介して接続され、本実施形態のスイッチングハブ4は、通信装置5、6と有線回線を介して接続される。通信装置2、3、5、6は、一般的な通信装置であり、例えば、PC(Personal Computer)であってもよい。
【0035】
(2)本実施形態のスイッチングハブの構成
本実施形態のスイッチングハブ1、4は、各々、同じ構成である。代表してスイッチングハブ1の構成について説明を行う。
図5は、本実施形態のスイッチングハブ1の構成例を示す図である。
【0036】
スイッチングハブ1は、
図5に示されるように、入力ポートである受信回路21、31、41と、出力ポートである送信回路22、32、42と、各送信回路を制御する調停回路23、33、43と、バッファ回路24、34、44と、を備える。
【0037】
(2−1)バッファ回路の構成
図6は、スイッチングハブ1に備わるバッファ回路の構成例を示す図である。スイッチングハブ1に備わるバッファ回路24、34、44は同じ構成を備える。
図6では、代表してバッファ回路24の構成を示している。
【0038】
スイッチングハブ1のバッファ回路24は、
図6に示されるように、比較回路241と、監視回路242と、メモリ244と、メモリ243と、を備える。
【0039】
(2−2)調停回路の構成
図7は、スイッチングハブ1に備わる調停回路の構成例を示す図である。スイッチングハブ1に備わる調停回路23、33、43は、同じ構成を備える。
図7では、代表して調停回路43の構成を示している。
【0040】
調停回路43は、
図7に示されるように、制御回路431と、カウンタ432と、を備える。
【0041】
(2−3)各回路の実現手段について
上述の受信回路21、31、41と、送信回路22、32、42と、調停回路23、33、43と、バッファ回路24、34、44は、電子回路とRAM(Random Access Memory)を用いて実現することができる。
【0042】
(2−4)
図5〜
図7に示される線について
上述の
図5〜
図7において、矢印付きの線で回路間を流れる信号やパケットの向きを表しているが、一例であり、その向きを限定するものではない。
【0043】
[動作の説明]
図8は、本実施形態のスイッチングハブの動作概要を説明する為の図である。まず、
図8を用いて、本実施形態のスイッチングハブ1、4の動作概要を説明する。
【0044】
(1)本実施形態のスイッチングハブの動作概要
(1−1)パケットを優先して送信する動作
まず始めに、
図8に示されるネットワークにおいて、通信装置2から通信装置6に、できるだけ早い通信速度でパケットを届ける必要があるものとする。
図8に示されるネットワークにおいては、通信装置2、3、5、6が、それぞれ、通信速度100Mbpsで通信装置6宛のパケットを送信している。通信装置とスイッチングハブ間、及びスイッチングハブ間のケーブルは、全て100Mbpsでパケットを送信可能なケーブルである。
【0045】
このとき、本実施形態のスイッチングハブ1、4は、送信可能な量100Mbpsよりも多い量のパケットが入力されているので、競合状態となっている。
【0046】
本実施形態のスイッチングハブ1は、以下の(動作1)〜(動作3)の動作を行っており、競合状態になると、通信装置2から送信されるパケットを優先的にスイッチングハブ4に送信する。
【0047】
(動作1)
まず、スイッチングハブ1は、
図5に示す受信回路21で通信装置2から送信されたパケットを受信し、受信したパケット(以下、「通信装置2からのパケット」という)をバッファ回路24に格納する。また、スイッチングハブ1は、受信回路31で通信装置3から送信されたパケットを受信し、受信したパケットをバッファ回路34に格納する。
【0048】
(動作2)
スイッチングハブ1は、(動作1)と並行して、バッファ回路24、34に格納されたパケットを交互に送信する。
【0049】
(動作3)
但し、スイッチングハブ1は、競合状態となったことにより、バッファ回路24にパケットが所定量以上格納されたときには、(動作2)の動作を止め、代わりに、バッファ回路24に蓄積されているパケット(通信装置2からのパケット)を優先して送信する。
【0050】
具体的には、スイッチングハブ1は、バッファ回路24に格納されたパケットと、バッファ回路34に格納されたパケットと、を2:1の割合で送信する。その場合、
図8に示されるように、本実施形態のスイッチングハブ1は、通信装置2からのパケット100Mbpsのうち、66.6Mbps(=100Mbps×2/3)を送信する。本実施形態のスイッチングハブ1は、通信装置2から送信されたパケットを、通信速度66.6Mbpsで送信する。
【0051】
(1−2)優先して送信することを要求する動作
次に、本実施形態のスイッチングハブ1は、以下の(動作4)を行い、下流のスイッチングハブ4に対して、自分が送信したパケット(通信装置2からのパケット)を優先的に送信するよう要求する。
【0052】
(動作4)
本実施形態のスイッチングハブ1は、通信装置2からのパケットを優先的に送信すると、優先送信を要求する信号をスイッチングハブ4に出力する。
【0053】
(1−3)本実施形態のスイッチングハブ4の動作(優先送信を行う動作)
(動作5)
本実施形態のスイッチングハブ4は、優先送信を要求する信号が入力されると、スイッチングハブ1からのパケットを優先して送信する。
【0054】
具体的には、スイッチングハブ4は、バッファ回路24に格納されたパケットと、バッファ回路34に格納されたパケットと、を1:2の割合で送信する。その場合、スイッチングハブ4は、
図8に示されるように、通信装置2からのパケット100Mbpsのうち、44.4Mbps(=100Mbps×2/3×2/3)を送信することとなる。本実施形態のスイッチングハブ4は、通信装置2から送信されたパケットを、通信速度44.4Mbpsで送信する。
【0055】
(1−4)動作まとめ
通信装置2から送信されたパケットの通信速度は、スイッチングハブ1、4を経由すると、通信装置6に届くときには、44.4Mbps(=100Mbps×2/3)となる。当該通信速度44.4Mbpsは、特許文献1のスイッチングハブ60、61を経由した場合の通信速度22.6Mbpsよりも速い。すなわち、スイッチングハブ1、4各々は、通信装置2から送信されたパケットの通信速度が減少するのを十分に抑えることができる。本実施形態のスイッチングハブ1、4の両方が、連携して、通信装置2から送信されたパケットを優先して送信するからである。
【0056】
(2)本実施形態のスイッチングハブの各回路の動作
上述の(動作1)〜(動作5)までの動作を実現する為に、スイッチングハブ1、4の受信回路21、31、41、送信回路22、32、42、調停回路23、33、43、及びバッファ回路24、34、44が以下の通りに動作する。なお、通信装置2については、
図5に示されるようにスイッチングハブ1の受信回路21に接続されるものとする。
【0057】
以下、各回路の動作を詳細に説明していく。
【0058】
(2−1)(動作1)の動作を実現する各回路の動作
まず、スイッチングハブ1は、
図5に示されるように、受信回路21により、通信装置2からのパケットを受信する。当該パケットは、通信装置6宛てのパケットであり、通信装置6のIP(Internet Protocol)アドレスを含む。
【0059】
受信回路21は、通信装置2からパケットを受信すると、受信したパケットをバッファ回路24に出力する。バッファ回路24は、
図6に示されるように、通信装置2からのパケットを比較回路241にて受信する。比較回路241は、ルータ機能を備えており、入力されたパケットをメモリ244、メモリ243のいずれかに振り分ける。
【0060】
具体的には、バッファ回路24の比較回路241は、入力されたパケットに含まれる宛先IPアドレスが通信装置6のIPアドレスであるときには、入力されたパケットをメモリ244に記憶する。バッファ回路24の比較回路241は、入力されたパケットに含まれる宛先IPアドレスが通信装置3のIPアドレスのであるときには、入力されたパケットをメモリ243に記憶する。
【0061】
上述の「通信装置6のIPアドレス」や「通信装置3のIPアドレス」は、本実施形態のスイッチングハブのユーザによって予め比較回路241に設定されてもよい。
【0062】
同様に、スイッチングハブ1は、受信回路31で通信装置3からパケットを受信する。当該パケットは、通信装置6宛てのパケットである。受信回路31は、受信したパケットをバッファ回路34に出力する。バッファ回路34の比較回路が、入力されたパケットをバッファ回路34内のメモリ(送信回路42に接続されたメモリ)に記憶する。
【0063】
(2−2)(動作2)の動作を実現する各回路の動作
図9は、本発明の第1の実施の形態におけるスイッチングハブの動作詳細(2つのバッファ回路に蓄積されたパケットを交互に送信する動作の詳細)を説明する為の図である。
【0064】
上述の(動作2)の動作は、送信回路42と、調停回路43の制御回路431と、調停回路43のカウンタ432と、により実現される。カウンタ432のカウンタ値Bnは初期値が値0である。さらに、制御回路431は、カウンタ最大値mとして値1を、カウンタ閾値sとして値1を記憶しているものとする。
【0065】
(2−2−1)送信回路42に送信可能か否か問い合わせを行う動作
調停回路43の制御回路431は、所定のタイミングになると、図示していないが、送信回路42に対し、送信可能か否かを確認する信号(以下、「確認信号」という)を出力する。
【0066】
上述の所定のタイミングは、一定間隔のタイミングであり、本実施形態のスイッチングハブの製造者によって制御回路431に設定される。確認信号が出力される様子については、
図7に示している。
【0067】
次に、送信回路42は、確認信号を受信すると、パケットの送信を行っていない状態(すなわち、新たなパケットを送信可能な状態)のときには、値1を含む送信完了信号を調停回路43の制御回路431に返信する。送信回路42から返信される送信完了信号は、以下、「送信完了信号C」という。
【0068】
なお、送信回路42は、パケットの送信を行っている場合(すなわち、新たなパケットを送信できない状態の場合)には、値0を含む送信完了信号を調停回路43の制御回路431に返信する。
【0069】
ここでは、送信回路42が、値1を含む送信完了信号Cを調停回路43の制御回路431に返信したものとして説明を続ける。
【0070】
調停回路43の制御回路431は、送信完了信号Cが送信回路42から入力されると、
図9に示されるように、送信完了信号Cに値0が含まれるか否か判別する(S1)。すなわち、制御回路431は、送信回路42がパケットを送信可能な状態か否かを判別する。
【0071】
(2−2−2)バッファ回路24からパケットが送信されるまでの動作詳細
次に、調停回路43の制御回路431は、送信完了信号に値0が含まれていない場合(S1でNoの場合)には、送信回路42が送信可能な状態なので、カウンタ432のカウンタ値Bnがカウンタ閾値s以上か否かを判別する(S2)。
【0072】
S2の判別は、バッファ回路24、バッファ回路34のどちらからパケットを送信するのかを決定する処理である。後述のS4やS7等で説明するが、カウンタ値Bnがカウンタ閾値s以上であるときに、調停回路43の制御回路431は、バッファ回路34からパケットを送信し、カウンタ値Bnがカウンタ閾値s以上でないときに、バッファ回路24からパケットを送信する。
【0073】
ここで、カウンタ値Bnは初期値0であり、カウンタ閾値sは初期値1である。
【0074】
調停回路43の制御回路431は、カウンタ値Bnがカウンタ閾値s以上でない場合(S2でNoの場合)には、バッファ量Aが0より大きいか否かを判別する(S3)。
【0075】
バッファ量Aは、バッファ回路24のメモリ244に蓄えられているパケットの数である。上述のS3の判別は、バッファ回路24のメモリ244にパケットが1個以上蓄えられているかを判別するものである。調停回路43の制御回路431は、S3の判別を行う前に、バッファ量Aを以下のように取得するものとする。
【0076】
まず、調停回路43の制御回路431は、バッファ回路24に対して、メモリ244に蓄えられているパケットの数を要求する信号(以下、「バッファ量要求信号」という)を送信する。バッファ回路24は、メモリ244に蓄えられているパケットの数をカウントし、
図7に示されるように、カウントした数(すなわち、バッファ量Aという)を電気信号として調停回路43の制御回路431に返信する。調停回路43の制御回路431は、入力された電気信号からバッファ量Aを抽出し、抽出したバッファ量Aが0より大きいか否かを判別する。
【0077】
次に、上述のS3の判別において、調停回路43の制御回路431は、バッファ量Aが0より大きいと判別した場合(S3でYesの場合)には、パケットを送信してもよいことを示す送信許可信号をバッファ回路24に出力する(S4)。バッファ回路24に出力される送信許可信号は、以下、「送信許可信号A」というものとする。送信許可信号Aが出力される様子については、
図7に示している。
【0078】
上述のS4により、送信許可信号Aが入力されたバッファ回路24は、メモリ244に記憶されるパケットを、電気信号として送信回路42に出力する。送信回路42は、入力された電気信号からパケットを抽出し、抽出したパケットを送信する。
【0079】
上述のS1〜S4の処理により、バッファ回路24からパケットが送信されることとなる。
【0080】
上述のS4の後、調停回路43の制御回路431は、カウンタ432にカウントアップ要求信号を出力する(S5)。次に、バッファ回路34からパケットを送信できるようにする為である。
【0081】
S5により、カウントアップ要求信号が入力されたカウンタ432は、カウンタ値Bnを1つインクリメントする。カウンタ432のカウンタ値Bnは値0から値1となる。なお、制御回路431は、カウンタ値Bnがカウンタ最大値m(値1)より大きい場合には、カウンタ432にリセット信号を出力する。ここではカウンタ値Bnがカウンタ最大値m(値1)であり、制御回路431は、リセット信号を出力しない。
【0082】
S5の後、調停回路43の制御回路431は、次の所定のタイミングになるのを待つ。
【0083】
上述のS1において、送信完了信号Cに値0が含まれている場合(S1でYesの場合)にも、調停回路43の制御回路431は、次の所定のタイミングになるのを待つ。
【0084】
(2−2−3)バッファ回路34からパケットが送信されるまでの動作詳細
次に、調停回路43の制御回路431は、所定のタイミングになると、
図9に示される上述のS1、S2の処理を実施する。
【0085】
ここで、カウンタ432のカウンタ値Bnが、値0から値1となっている。
【0086】
その為、S2の処理において、調停回路43の制御回路431は、カウンタ値Bnがカウンタ閾値s(値1)以上の場合(S2でYesの場合)と判別する。
【0087】
次に、調停回路43の制御回路431は、カウンタ値Bnがカウンタ閾値s以上の場合(S2でYesの場合)には、バッファ量Bが0より大きいか否かを判別する(S6)。
【0088】
バッファ量Bは、バッファ回路34のメモリ(具体的には、通信装置3からのパケットが蓄えられるメモリ)に蓄えられているパケットの数である。上述のS6の判別は、バッファ回路34のメモリに通信装置3からのパケットが1個以上蓄えられているかを判別する処理である。調停回路43の制御回路431は、S6の判別を行う前に、バッファ量Bを以下のように取得するものとする。
【0089】
まず、調停回路43の制御回路431は、バッファ回路34に対して、バッファ量要求信号を送信する。バッファ回路34は、メモリに蓄えられているパケットの数をカウントし、カウントした数(すなわち、バッファ量Bという)を電気信号として調停回路43の制御回路431に返信する。調停回路43の制御回路431は、入力された電気信号からバッファ量Bを抽出し、抽出したバッファ量Bが0より大きいか否かを判別する。
【0090】
次に、調停回路43の制御回路431は、バッファ量Bが0より大きい場合(S6でYesの場合)には、バッファ回路34にパケットが蓄えられているので、バッファ回路34に送信許可信号を出力する(S7)。バッファ回路34に出力される送信許可信号は、以下、「送信許可信号B」というものとする。
【0091】
上述のS4により、送信許可信号Bが入力されたバッファ回路34は、メモリに記憶される通信装置3からのパケットを、電気信号として送信回路42に出力する。送信回路42は、入力された電気信号からパケットを抽出し、抽出したパケットを送信する。
【0092】
上述のS6〜S7の処理により、バッファ回路34からパケットが送信されることとなる。
【0093】
なお、上述のS7の後、調停回路43の制御回路431は、カウンタ432にカウントアップ要求信号を出力する(S8)。次に、バッファ回路24からパケットを送信できるようにする為である。
【0094】
S5により、カウントアップ要求信号が入力されたカウンタ432は、カウンタ値Bnを1つインクリメントする。カウンタ432のカウンタ値Bnは値1から値2となる。
【0095】
このとき、カウンタ値Bnがカウンタ最大値m(値1)より大きいので、調停回路43の制御回路431は、カウンタ432にリセット信号を出力する。カウンタ432は、リセット信号が入力されると、カウンタ値Bnを初期値0に戻す。カウンタ値Bnは、値2から値0となる。
【0096】
上述のS1〜S5、S6〜S8によって、スイッチングハブ1は、2つのバッファ回路24、34から交互にパケット(通信装置2、3から通知されたパケット)を交互に送信する。
【0097】
(2−3)(動作3)と(動作4)の動作を実現する各回路の動作
(動作3)、(動作4)の動作は、調停回路43の制御回路431と送信回路42によって実現される。(動作3)の動作とは、通信装置2からのパケットを優先的に送信する動作である。(動作4)の動作とは、優先送信を要求する信号を下流のスイッチングハブ4に送信する動作である。
【0098】
(2−3−1)優先要求フラグFBAと優先要求フラグFBBについて
ここで、調停回路43の制御回路431に備わる2つのレジスタについて説明を行う。2つのレジスタのうち、1つのレジスタは、以下、「優先要求フラグFBA」といい、もう1つのレジスタは、以下、「優先要求フラグFBB」という。優先要求フラグFBAと優先要求フラグFBBの初期値は値0である。
【0099】
優先要求フラグFBAは、バッファ回路24に格納されているパケットが優先的に送信され、さらに、優先送信を要求する信号がスイッチングハブ4に送信されているときに、調停回路43の制御回路431によって値1が設定されるフラグである。
【0100】
優先要求フラグFBBは、バッファ回路34に格納されているパケットが優先的に送信され、さらに、優先送信を要求する信号がスイッチングハブ4に送信されているときに、調停回路43の制御回路431によって値1が設定されるフラグである。
【0101】
優先要求フラグFBAと優先要求フラグFBBは、スイッチンハブ1の状態を調停回路43の制御回路431が記録するのに用いられる。
【0102】
(2−3−2)(動作3)の動作を実現する各回路の動作
図10は、本実施形態のスイッチングハブの動作詳細(バッファ回路24に蓄積されたパケットを優先的に送信する動作詳細)を説明する為の図である。以下に、(動作3)の動作を実現する調停回路43の制御回路431及び送信回路42の動作を説明する。
【0103】
まず、調停回路43の制御回路431は、上述のS5、S8のいずれかを実施した後、
図10に示されるように、優先要求フラグFBAに値1が設定されているか否かを判別する(S20)。
【0104】
S20の判別は、スイッチングハブ1において、バッファ回路24に格納されているパケットが優先的に送信され、さらに、優先送信を要求する信号をスイッチングハブ4に送信されている状態か否かを判別するものである。ここでは、優先要求フラグFBAは初期値0であり、優先送信を要求する信号は送信されていない。
【0105】
次に、調停回路43の制御回路431は、優先要求フラグFBAに値1が設定されていない場合(S20でNoの場合)には、優先要求フラグFBBに値1が設定されているか否かを判別する(S21)。
【0106】
優先要求フラグFBBは初期値0である。
【0107】
次に、調停回路43の制御回路431は、優先要求フラグFBBに値1が設定されていない場合(S21でNoの場合)は、バッファ量Aが閾値XU1以上か否かを判別する(S22)。
【0108】
バッファ量Aは、上述のS3の処理で説明したが、バッファ回路24に格納されているパケット(通信装置2からのパケット)の数である。調停回路43の制御回路431は、S22を行うときには、バッファ量Aを、S3で説明した通りに取得する。
【0109】
上述の閾値XU1は、本実施形態のスイッチングハブの製造者によって制御回路431に設定される値である。本実施形態のスイッチングハブの製造者は、競合状態のときにバッファ回路のメモリに蓄えられているパケットの数を実測し、実測した数を閾値XU1として設定してよい。
【0110】
次に、調停回路43の制御回路431は、バッファ量Aが閾値XU1以上である場合(S22でYesの場合)には、競合状態となっており、記憶するカウンタ最大値mの値を2に、記憶するカウンタ閾値sの値も2に変更する(S23)。
【0111】
S23の処理により、以降、通信装置2からのパケットが優先して送信されることとなる。なぜなら、スイッチングハブ1は、所定のタイミング毎に実施されるS2の判別により、3回に2回、S3〜S5の処理(すなわち、バッファ回路24から通信装置2からのパケットを送信する処理)を実施することになるからである。スイッチングハブ1は、通信装置2からのパケットと、通信装置3からのパケットと、を2:1の割合で送信する。
【0112】
(2−3−3)(動作4)の動作を実現する各回路の動作
次に、S23の後、調停回路43の制御回路431は、図示していないが、確認信号を送信回路42に出力し、送信回路42から送信完了信号Cを受信する。
【0113】
送信完了信号Cには、上述の「(2−2−1)送信回路42に送信可能か否か問い合わせを行う動作」で説明した通り、送信回路42が送信できる状態か否かを示す値が含まれる。
【0114】
次に、調停回路43の制御回路431は、送信完了信号Cを受信すると、
図10に示されるように、受信した送信完了信号Cに値0が含まれるか否か判別する(S24)。すなわち、制御回路431は、送信回路42がパケットを送信できない状態か否かを判別する。
【0115】
次に、調停回路43の制御回路431は、受信した送信完了信号Cに値0が含まれない場合(S3でNoの場合)、すなわち、送信回路42がパケットを送信できる状態の場合は、優先送信を要求する信号を送信回路42に出力する(S25)。
【0116】
送信回路42は、優先送信を要求する信号が入力されると、優先送信を要求する制御用パケット(以下、「優先要求制御パケット」という)を下流のスイッチングハブ4に送信する。
【0117】
次に、調停回路43の制御回路431は、優先送信を要求する信号を送信したので、優先要求フラグFBAに値1を設定する(S26)。
【0118】
上述のS20〜S26の処理によって、スイッチングハブ1は、バッファ回路24に蓄えられたパケット(通信装置2からのパケット)を優先的に送信すると共に、優先送信を要求する信号もスイッチングハブ4に送信する。
【0119】
S26の後は、調停回路43の制御回路431は、次に所定のタイミングになるのを待つものとする。
【0120】
上述のS20〜S26の処理により、スイッチングハブ1は、(動作3)、(動作4)の動作を実現することができる。
【0121】
なお、調停回路43の制御回路431は、バッファ量Aが閾値XU1より小さい場合(S22でNoの場合)には、何もせず、次の所定のタイミングを待つものとする。(制御回路431は、動作のバリエーションの1つとして、
図10に示すS27〜S29の処理を実施してもよい。S27〜S29の処理については、後述の(2−3−5)で説明する。)
(2−3−4)スイッチングハブ1のバリエーション動作(その1:優先的に送信することを取り消す動作)
その後、スイッチングハブ1は、バリエーション動作の1つとして、優先的に送信することを取り消してもよい。具体的には、以下のS30〜S33の処理を行ってもよい。
【0122】
まず、調停回路43の制御回路431は、
図10に示されるように、S20を行ったとき、優先要求フラグFBAに値1が設定されていると判別する(S20)。
【0123】
ここで、S26において、優先要求フラグFBAに値1が設定されている。
【0124】
次に、調停回路43の制御回路431は、優先要求フラグFBAに値1が設定されている場合(S20でYesの場合)には、パケットの数を要求する信号をバッファ回路24に送信し、バッファ量Aを取得する。
【0125】
次に、調停回路43の制御回路431は、取得したバッファ量Aが閾値XL以上か否かを判別する(S30)。
【0126】
閾値XLは、本実施形態のスイッチングハブの製造者によって制御回路431に設定される。本実施形態のスイッチングハブの製造者は、競合状態でないときのバッファ回路のメモリに蓄えられるパケットの数を閾値XLとして設定する。
【0127】
次に、調停回路43の制御回路431は、バッファ量Aが閾値XLより少ない場合(S30でNoの場合)には、図示していないが、確認信号を送信回路42に出力し、送信回路42から送信完了信号Cを受信する。
【0128】
次に、調停回路43の制御回路431は、受信した送信完了信号Cに値0が含まれるか否か判別する(S24)。すなわち、制御回路431は、送信回路42がパケットを送信できない状態か否かを判別する。
【0129】
次に、調停回路43の制御回路431は、受信した送信完了信号Cに値0が含まれていない場合(S24でNoの場合)、すなわち、送信回路42がパケットを送信できる場合は、図示していないが、優先送信の停止を要求する信号を送信回路42に出力する。
【0130】
優先送信の停止を要求する信号は、優先的に送信することを取り消す為の信号である。
【0131】
次に、送信回路42は、優先送信の停止を要求する信号が入力されると、優先送信の停止を要求することを示す制御用パケット(以下、「優先停止制御パケット」という)を下流のスイッチングハブ4に送信する(S32)。
【0132】
この後、スイッチングハブ4は、優先停止制御パケットを受信すると、通信装置2のパケットを優先的に送信する処理を停止するが、後述の(2−5)で詳細に説明する。
【0133】
S32の後、調停回路43の制御回路431は、優先要求フラグFBAに値0を設定する(S33)。
【0134】
(2−3−5)スイッチングハブ1のバリエーション動作(その2:通信装置3からのパケットを優先的に送信する場合の動作)
上記では、スイッチングハブ1は、通信装置2のパケットを優先的に送信した。スイッチングハブ1は、通信装置3のパケットを優先的に送信する処理を行ってもよい。すなわち、スイッチングハブ1は、上述のS27〜S29の処理も行ってもよい。
【0135】
なお、スイッチングハブ1が確実に通信装置3のパケットを優先的に送信できるよう、スイッチングハブ1のユーザは、閾値XU1の値を十分大きな値を設定する。例えば、スイッチングハブ1のユーザは、バッファ回路のメモリに蓄えられるパケットの数より大きな数を、閾値XU1の値として調停回路43の制御回路431に設定してもよい。
【0136】
その場合、スイッチングハブ1は、以下の通りに処理を行い、通信装置3のパケットを優先的に送信する。
【0137】
まず、調停回路43の制御回路431は、S22の判別で、バッファ量Aが閾値XU1以下と判別した場合(S22でNoの場合)には、バッファ量Bが閾値XU2以上か否かを判別する(S27)。
【0138】
バッファ量Bは、上述のS6で説明したが、バッファ回路34のメモリに蓄えられている通信装置3のパケットの数である。また、上述の閾値XU2は、本実施形態のスイッチングハブの製造者によって制御回路431に設定される値である。本実施形態のスイッチングハブの製造者は、競合状態のときにバッファ回路34に蓄えられているパケットの数を実測して閾値XU2として設定する。
【0139】
次に、調停回路43の制御回路431は、バッファ量Bが閾値XU2以上である場合(S27でYesの場合)は、競合状態となっており、記憶するカウンタ最大値mの値を2に、記憶するカウンタ閾値sの値を1に変更する(S28)。
【0140】
S28の処理により、以降、通信装置3からのパケットが優先して送信されることとなる。なぜなら、スイッチングハブ1は、S2の判別により3回に2回、S6〜S8の処理(すなわち、バッファ回路34から通信装置3からのパケットを送信する処理)を実施するからである。具体的には、スイッチングハブ1は、通信装置2からのパケットと、通信装置3からのパケットと、を1:2の割合で送信する。
【0141】
次に、S28の後、調停回路43の制御回路431は、S24とS25の処理を行い、さらに、優先要求フラグFBBに値1を設定する(S29)。
【0142】
なお、上述の閾値XU1と閾値XU2は同じ値であってもよい。その場合、スイッチングハブ1は、通信装置2、3のうち、より早く閾値XU1以上の量のパケットを送信した通信装置のパケットを優先して送信することとなる。
【0143】
ところで、調停回路43の制御回路431は、以下のS31、S32、及びS36を実施することで、優先的に送信することを取り消すことができる。
【0144】
まず、調停回路43の制御回路431は、優先要求フラグFBBに値1が設定されている場合(S21でYesの場合)には、バッファ量要求信号をバッファ回路34に送信することで受信したバッファ量Bが閾値XL以上か否かを判別する(S34)。
【0145】
次に、調停回路43の制御回路431は、バッファ量Aが閾値XLより少ない場合(S34でNoの場合)には、上述のS31、S24、S32の処理を行い、優先停止制御パケットを下流のスイッチングハブ4に送信する。
【0146】
次に、調停回路43の制御回路431は、優先要求フラグFBBの値を値0とする(S36)。
【0147】
(2−4)(動作5)の動作を実現するスイッチングハブ4の動作
(動作5)の動作は、スイッチングハブ4の受信回路と調停回路により実現される。(動作5)の動作は、優先送信を要求する信号が入力されると、スイッチングハブ1からのパケットを優先して送信する動作である。
【0148】
以下にスイッチングハブ4の受信回路と調停回路の動作について説明する。
図11は、本実施形態のスイッチングハブ4の動作詳細(優先的に送信することを要求されたときの動作詳細)を説明する為の図である。
【0149】
なお、スイッチングハブ4は、スイッチングハブ1と同じ構成であり、
図5に示す受信回路31にスイッチングハブ1が接続され、受信回路21に通信装置5が接続されているものとして説明を行う。
【0150】
(2−4−1)優先要求制御パケットを受信したときの動作
まず、スイッチングハブ4の受信回路31は、スイッチングハブ1から優先要求制御パケットを受信すると、図示していないが、値1を含む制御パケット検出信号Bを、調停回路43の制御回路431に出力する。制御パケット検出信号Bが受信回路31から制御回路431へ出力される信号であることは、
図7に示している。
【0151】
次に、調停回路43の制御回路431は、制御パケット検出信号Bが入力されると、制御パケット検出信号Bに含まれる値1をメモリBに記憶する。
【0152】
ここで、調停回路43の制御回路431は、2つのメモリA、Bを備えている。調停回路43の制御回路431は、スイッチングハブ4の受信回路21から制御パケット検出信号Aを受信したときには、制御パケット検出信号Aに含まれる値をメモリAに記憶する。メモリAは、受信回路21に優先要求制御パケットが入力されたか否かを示すメモリであり、メモリBは、受信回路31に優先要求制御パケットが入力されたか否かを示すメモリである。メモリA、Bには、当初値0が書き込まれている。制御回路431は、起動時の初期処理でメモリA、Bに値0を書き込んでもよい。
【0153】
ここでは、受信回路31に、スイッチングハブ1から優先要求制御パケットが入力され、メモリBに記憶される値が値1となったものとして説明を続ける。
【0154】
(2−4−2)スイッチングハブ1からのパケットを優先的に送信する動作
次に、調停回路43の制御回路431は、
図11に示されるように、メモリAの値が1であるか否かを判別する(S40)。S40の判別は、受信回路21に優先要求制御パケットが入力されたのか否かを判別するものである。
【0156】
次に、S40の後、調停回路43の制御回路431は、メモリAの値が1でない場合(S40でNoの場合)には、メモリBの値が1であるか否かを判別する(S41)。S41の判別は、受信回路31にイッチングハブ1から優先要求制御パケットが入力されたのか否かを判別するものである。
【0157】
メモリBの値は1である。メモリBの値1は、受信回路31にスイッチングハブ1から優先要求制御パケットが入力されたことを示している。
【0158】
次に、S41の後、調停回路43の制御回路431は、メモリBの値が1である場合(S41でYesの場合)、記憶するカウンタ最大値mの値を2に、記憶するカウンタ閾値sの値を1に変更する(S42)。
【0159】
S42の処理により、以降、スイッチングハブ1からのパケットが優先して送信されることとなる。なぜなら、スイッチングハブ4は、スイッチングハブ1と同様にS1〜S8の処理を行い、S2の判別によって、3回に2回、S6〜S8の処理(すなわち、バッファ回路34からスイッチングハブ1からのパケットを送信する処理)を実施するからである。スイッチングハブ1は、通信装置5からのパケットと、スイッチングハブ1からのパケットと、を1:2の割合で送信し、スイッチングハブ1からのパケットを優先して送信する。
【0160】
(2−4−3)スイッチングハブ4が実施するその他の動作
スイッチングハブ4は、
図11に示すS43〜S46の処理も行う。なお、スイッチングハブ4の受信回路21は、優先要求制御パケットを受信したとき、値1を含む制御パケット検出信号Aを制御回路431に出力し、当該検出信号Aが入力された制御回路431は、検出信号Aに含まれる値1をメモリAに記憶するものとする。
【0161】
まず、調停回路43の制御回路431は、S40において、メモリAの値が値1と判別した場合(S40でYesの場合)には、メモリBの値が値1か否か判別する(S43)。
【0162】
ここではメモリBの値は値0であるものとする。
【0163】
調停回路43の制御回路431は、メモリBが1でない場合(S43でNoの場合)には、バッファ回路24に格納されているパケットを優先的に送信する為、記憶するカウンタ最大値mの値を2に、記憶するカウンタ閾値sの値を2に変更する(S44)。
【0164】
スイッチングハブ4は、S2の判別により、3回に2回、S3〜S5の処理(すなわち、バッファ回路24からパケットを送信する処理)を実施する。その結果、スイッチングハブ4は、バッファ回路24に格納されているパケットを優先的に送信することとなる。
【0165】
なお、調停回路43の制御回路431は、S43において、メモリBが1と判別した場合(S41でYesの場合)には、記憶するカウンタ最大値mの値を1に、記憶するカウンタ閾値sの値を1に変更する(S45)。
【0166】
このとき、受信回路21、31に接続されている装置両方から優先要求制御パケットを受信している。スイッチングハブ4は、S45の処理により、受信回路21、31に接続されている各装置からのパケットを公平に1:1で送信することとなる。
【0167】
(2−5)スイッチングハブ4のバリエーション動作(優先停止制御パケットを受信したときの動作)
スイッチングハブ4は、優先停止制御パケットをスイッチングハブ1から受信したときには、以下の通りに動作する。
【0168】
まず、スイッチングハブ4の受信回路31が、スイッチングハブ1から優先停止制御パケットを受信すると、値0を含む制御パケット検出信号Bを、調停回路43の制御回路431に出力する。
【0169】
次に、調停回路43の制御回路431は、入力された制御パケット検出信号Bに含まれる値0をメモリBに記憶する。メモリBには、値0が記憶される。
【0170】
その後、調停回路43の制御回路431は、
図11に示すS40〜S46の処理を行う。
【0171】
調停回路43の制御回路431は、S41において、メモリBの値が0のとき(S41でNoの場合)には、カウンタ最大値mの値を1に、記憶するカウンタ閾値sの値を1に戻す(S46)。
【0172】
その結果、スイッチングハブ4は、スイッチングハブ1から優先要求制御パケットを受信する前の送信状態に戻すことができる。すなわち、スイッチングハブ4は、スイッチングハブ1からのパケットを優先して送信することを止める。
【0173】
なお、スイッチングハブ4の受信回路21が優先停止制御パケットを受信したときには、値0を含む制御パケット検出信号Aを調停回路43の制御回路431に出力する。調停回路43の制御回路431は、制御パケット検出信号Aが入力されると、制御パケット検出信号Aに含まれる値0をメモリAに記憶する。
【0174】
スイッチングハブ4は、S42若しくはS46を実施することとなり、受信回路21に接続された装置から優先要求制御パケットを受信する前の状態に戻す。すなわち、スイッチングハブ4は、受信回路21に接続されている装置からのパケットを優先して送信することを止める。
【0175】
(2−6)ネットワークに備わるスイッチングハブの数
上記では、本実施形態のスイッチングハブ1、4の2台がネットワークを構成する場合について説明した。本実施形態のスイッチングハブ1と、複数台の本実施形態のスイッチングハブ4と、をツリー状に接続してネットワークを構成してもよい。また、本実施形態のスイッチングハブ1、4両方の機能を備えたスイッチングハブを複数、ツリー状に接続してネットワークを構成してもよい。
【0176】
[効果の説明]
本実施形態によれば、ネットワークに備わるスイッチングハブ1、4は、それらを経由する、所定の通信装置2から送信されたパケットの通信速度が減少するのを十分に抑えることができる。
【0177】
なぜならば、スイッチングハブ1が、所定の通信装置2から送信されたパケットを優先的に送信すると共に、優先送信を要求する制御パケットも送信し、スイッチングハブ4が、当該制御パケットを送信してきたハブからのパケットを優先して送信するからである。すなわち、本実施形態のスイッチングハブ1、4の両方が、所定の通信装置2から送信されたパケットを優先して送信するからである。
【0178】
その結果、本実施形態のスイッチングハブ1、4は、通信装置2から送信されたパケットを、通信速度の減少を十分抑えつつ転送することができる。すなわち、本実施形態のスイッチングハブ1、4は、それらを経由する、通信装置2から送信されたパケットの通信速度が減少するのを十分に抑えることができる。
【0179】
≪第2の実施の形態≫
次に、本発明の第2の実施の形態について説明する。
【0180】
図12は、本発明の第2の実施の形態における集線装置を備えたネットワークの構成例を示す図である。以下に、本実施形態の集線装置を備えたネットワークの構成と本実施形態の集線装置の動作について説明する。
【0181】
[構成の説明]
(1)第2の実施形態の集線装置を用いたネットワークの構成
まず、本実施形態の集線装置を用いたネットワークは、
図12に示されるように、本実施形態の第1の集線装置100と、本実施形態の第2の集線装置200と、通信装置300〜304と、を備える。
【0182】
第1の集線装置100は、入力ポート101〜103と、要求部104と、出力ポート105と、を備える。第2の集線装置200は、入力ポート201、202と、要求対応部203と、出力ポート204と、を備える。
【0183】
第1の集線装置100の入力ポート101〜103は、有線回線を介して通信装置301〜302と接続される。出力ポート105は、有線回線を介して、入力ポート202と接続される。
【0184】
第2の集線装置200の入力ポート201は、有線回線を介して通信装置303と接続される。また、出力ポート204は、有線回線を介して通信装置304と接続される。
【0185】
通信装置301〜303はデータを出力する。入力ポート101〜103から第1の集線装置100にデータが入力される。入力ポート201、202から第2の集線装置200にデータが入力される。
【0186】
(2)第1の集線装置100の機能
要求部104は、所定の契機に、複数の入力ポート101〜103から入力されたデータのうち、所定の入力ポートから入力されたデータを、他の入力ポートから入力されたデータよりも多く出力ポート105から送信する。所定の入力ポートは、所定の入力ポート101であってもよい。また、要求部104は、優先送信を要求する信号も出力ポート105から送信する。
【0187】
(3)第2の集線装置200の機能
要求対応部203は、優先送信を要求する信号が入力された入力ポート202から入力されたデータを、他の入力ポート201から入力されたデータよりも多く出力ポートから送信する。
【0188】
[動作の説明]
次に、本実施形態の第1の集線装置100と、第2の集線装置200の動作を説明する。
【0189】
(1)第1の集線装置100の動作
まず、通信装置301〜303がデータを送信し、第1の集線装置100の入力ポート101〜103各々にデータが入力されているとする。
【0190】
集線装置100の要求部104は、所定の契機に、複数の入力ポート101〜103から入力されたデータのうち、所定の入力ポート101から入力されたデータを、他の入力ポート102、103から入力されたデータよりも多く出力ポート105から送信する。
【0191】
すなわち、第1の集線装置100の要求部104は、所定の契機に、所定の入力ポート101に接続されている所定の通信装置300から送信されたデータを優先して出力ポート105から送信する。所定の契機は、入力ポート101から一定量以上のデータが入力されたときであってもよい。
【0192】
また、第1の集線装置100の要求部104は、優先送信を要求する信号も出力ポート105から送信する。
【0193】
(2)第2の集線装置200の動作
第2の集線装置200の入力ポート201には、通信装置303から送信されたデータが入力され、第2の集線装置200の入力ポート202には、第1の集線装置200から送信されたデータが入力されている。
【0194】
そこに、第2の集線装置200の入力ポート202に、優先送信を要求する信号が入力されたとする。
【0195】
そのとき、第2の集線装置200の要求対応部203は、優先送信を要求する信号が入力された入力ポート202から入力されたデータを、他の入力ポート201から入力されたデータよりも多く出力ポートから送信する。
【0196】
すなわち、第2の集線装置200の要求対応部203は、第1の集線装置100から送信されたデータを優先して通信装置304に送信する。第1の集線装置100から送信されたデータには、所定の通信装置300から送信されたデータが含まれている。第2の集線装置200の要求対応部203は、所定の通信装置300から送信されたデータを優先して通信装置304に送信することができる。
【0197】
上述のように、第1の集線装置100、第2の集線装置200各々は、通信装置300から送信されたデータを優先して送信する。
【0198】
ここで、特許文献1のスイッチングハブを用いたネットワークでは、特許文献1のスイッチングハブ各々は、所定の通信装置から送信されたデータを必ずしも優先して送信しなかった。その結果、所定の通信装置から送信されたデータは、各特許文献1のスイッチングハブを経由すると、その通信速度が大きく減少しまうことがあった。すなわち、特許文献1のスイッチングハブ各々は、所定の通信装置から送信されたデータの通信速度が減少するのを十分に抑えることができていなかった。
【0199】
これに対し、ネットワークに備わる本実施形態の第1の集線装置100、第2の集線装置200各々は、所定の通信装置300から送信されたデータを優先して送信する。その結果、所定の通信装置300から送信されたデータは、本実施形態の第1の集線装置100、第2の集線装置200各々を経由しても、その通信速度が(特許文献1のスイッチングハブを経由するときほど)大きく減少しないようになる。すなわち、本実施形態の第1の集線装置100、第2の集線装置200は、所定の通信装置300から送信されたパケットの通信速度が減少するのを十分に抑えることができる。
【0200】
[効果の説明]
本実施形態によれば、ネットワークに備わる集線装置100、200は、それらを経由する、所定の通信装置300から送信されたデータの通信速度が減少するのを十分に抑えることができる。
【0201】
なぜなら、第1の集線装置100が、通信装置300から送信されたデータを優先的に送信すると共に、優先送信を要求する信号も送信し、第1の集線装置200が、当該信号を送信してきた集線装置100からのデータを優先して送信するからである。すなわち、第1の集線装置100、第2の集線装置200各々が、通信装置300から送信されたデータを優先して送信するからである。
【0202】
その結果、第1の集線装置100、第2の集線装置200各々は、通信装置300から送信されたデータを、通信速度の減少を十分抑えつつ転送することができる。すなわち、第1の集線装置100、第2の集線装置200各々は、所定の通信装置300から送信されたデータの通信速度が減少するのを十分に抑えることができる。
【0203】
上述した実施の形態は、その形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々変更可能である。
【0204】
さらに、上記の各実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)
所定の契機に、複数の入力ポートから入力されたデータのうち、所定の入力ポートから入力された前記データを、他の前記入力ポートから入力されたデータよりも多く出力ポートから送信すると共に、優先送信を要求する信号も前記出力ポートから送信する要求部を備える、
ことを特徴とする集線装置。
(付記2)
前記所定の入力ポートから入力された前記データを蓄積する蓄積部を備え、
前記所定の契機は、前記蓄積部に所定量以上の前記データが蓄積されたときである、
ことを特徴とする付記1に記載の集線装置。
(付記3)
前記要求部は、前記信号を送信した後、前記蓄積部に蓄積される前記データが所定量より少ないときに、優先送信の停止を要求する信号を前記出力ポートから送信する、
ことを特徴とする付記1乃至2のいずれか1項に記載の集線装置。
(付記4)
前記所定の入力ポートには、通信装置が接続されている、
ことを特徴とする付記1乃至3のいずれか1項に記載の集線装置。
(付記5)
優先送信を要求する信号が入力された入力ポートから入力されたデータを、他の入力ポートから入力されたデータよりも多く出力ポートから送信する要求対応部を備える、
ことを特徴とする集線装置。
(付記6)
前記要求対応部は、優先送信の停止を要求する信号が入力された入力ポートから入力されたデータと、他の入力ポートから入力されたデータと、を各々順番に前記出力ポートから送信する、
ことを特徴とする付記5に記載の集線装置。
(付記7)
第1の集線装置の出力ポートに第2の集線装置が接続されたネットワークであって、
前記第1の集線装置は、付記1乃至4のいずれか1項に記載の集線装置であって、
前記第2の集線装置は、付記5乃至6のいずれか1項に記載の集線装置である、
ことを特徴とするネットワーク。
(付記8)
前記集線装置は、スイッチングハブである、
ことを特徴とする付記7に記載のネットワーク。
(付記9)
接続された第1の集線装置と第2の集線装置の動作方法であって、
所定の契機に、複数の入力ポートから入力されたデータのうち、所定の入力ポートから入力された前記データを、他の前記入力ポートから入力されたデータよりも多く出力ポートから送信すると共に、優先送信を要求する信号も前記出力ポートから送信する前記第1の集線装置における要求ステップと、
優先送信を要求する信号が入力された入力ポートから入力されたデータを、他の入力ポートから入力されたデータよりも多く出力ポートから送信する前記第2の集線装置における要求対応ステップと、を有する、
ことを特徴とする方法。
(付記10)
前記所定の契機は、所定の入力ポートから入力されたデータが所定量以上蓄積されたときである、
ことを特徴とする付記9に記載の方法。
(付記11)
前記要求ステップにおいては、前記信号を送信した後、前記蓄積部に蓄積される前記データが所定量より少ないときに、優先送信の停止を要求する信号を前記出力ポートから送信し、
前記要求対応ステップにおいては、優先送信の停止を要求する信号が入力された入力ポートから入力されたデータと、他の入力ポートから入力されたデータと、を各々順番に前記出力ポートから送信する、
ことを特徴とする付記9乃至10のいずれか1項に記載の方法。