(57)【要約】【課題】  データ通信に利用されている通信網に何ら悪影響を与えることなく、データの受け手側の通信装置にかかっている負荷またはその通信網にかかっている負荷をデータの送信側の通信装置に確実に検出させる。【解決手段】  第１通信網を介してデータの送受信を行う通信装置同士を、その第１通信網とは異なる第２通信網で接続する。そして、データの受け手側の通信装置に、自装置にかかっている負荷または第１通信網にかかっている負荷を計測させ、その負荷を表す負荷データを第２通信網を介して、データの送り手側の通信装置へ送信させる。一方、データの送り手側の通信装置は、上記負荷データを受信すると、その負荷データを解析して上記受け手側の通信装置または上記第１通信網にかかっている負荷を検出する。【選択図】  図１
2006173923.tif 000002
【特許請求の範囲】
【請求項１】
第１通信網に接続されているとともに前記第１通信網とは異なる第２通信網に接続されている相手装置へ前記第１通信網を介してデータを送信する送信手段と、
前記送信手段により送信されたデータを受信し所定の処理を施す装置にかかっている負荷を表す負荷データ、または前記第１通信網にかかっている負荷を表す負荷データを前記第２通信網を介して前記相手装置から受信する受信手段と、
前記受信手段により受信された負荷データを解析して、前記所定の処理を施す装置または前記第１通信網にかかっている負荷を検出する検出手段と、
を有する通信装置。
【請求項２】
前記送信手段は、予め定められた通信プロトコルにしたがって予め定められた送信速度で前記相手装置へデータを送信し、
前記送信手段によりデータを送信する際の送信速度、または、前記送信手段によりデータを送信する際に利用する通信プロトコルを、前記検出手段により検出された負荷の度合いに応じて切替える切替え手段を、さらに、有する
ことを特徴とする請求項１に記載の通信装置。
【請求項３】
第１通信網に接続されているとともに前記第１通信網とは異なる第２通信網に接続されている１または複数の相手装置から前記第１通信網を介して送信されてくるデータを受信する受信手段と、
前記受信手段により受信されたデータに所定の処理を施す装置にかかっている負荷、または前記第１通信網にかかっている負荷を計測する負荷計測手段と、
前記負荷計測手段により計測された負荷を表す負荷データを、前記１または複数の相手装置のうちの少なくとも１つへ前記第２通信網を介して送信する送信手段と、
を有する通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信網を介して行われるデータ通信に関し、特に、データの受け手側の通信装置にかかっている負荷またはその通信網にかかっている負荷をデータの送り手側の通信装置に検出させる技術に関する。
【背景技術】
【０００２】
通信網に接続されたコンピュータ装置などの通信装置間で行われるデータ通信においては、受信装置などデータの受け手側の通信装置にかかっている負荷や、その通信網にかかっている負荷（例えば、その通信網の混み具合）を、送信装置などデータの送り手側の通信装置に検出させることができると便利である。その理由は、以下の通りである。
例えば、受信装置に高い負荷がかかっている状況下で、その受信装置へのデータの送信をそのまま継続させてしまうと、その受信装置の処理能力を超えた量のデータをその受信装置へ送信し、その受信装置を動作不能にさせてしまう虞がある。一方、受信装置との間のデータ通信を仲介する通信網に高い負荷がかかっている状況下で、データの送信をそのまま継続させてしまうと、その通信網に輻輳を生じさせてしまったり、その輻輳に起因してデータの消失を引き起こしてしまったりする虞がある。これに対して、受信装置や通信網にかかっている負荷を送信装置に検出させることができたならば、検出された負荷の度合いに応じて送信速度を切替えるなど、その負荷が高くなりすぎることを回避しつつ、確実なデータ通信を行うこと（すなわち、データをその宛先へ確実に送り届けること）が可能になるからである。
【０００３】
上記受信装置や上記通信網にかかっている負荷を検出することを可能にする技術については、従来より種々提案されており、その一例としては、特許文献１に開示された技術が挙げられる。特許文献１には、データを所定のデータサイズに分割し、その各々を書き込んだパケット（以下、「データパケット」）を送信する送信装置に、その通信相手の受信装置にかかっている負荷を以下のようにして検出させる技術が開示されている。すなわち、上記データパケットの他に負荷検出専用のパケット（以下、「制御パケット」）を送信装置に送信させる。一方、受信装置には、上記制御パケットを受信した場合に、自装置にかかっている負荷を計測しその計測結果を表すデータをその制御パケットに書き込んで返信する処理を実行させる。そして、受信装置から返信されてくる制御パケットに書き込まれているデータを上記送信装置に解析させることによって、その受信装置にかかっている負荷を上記送信装置に検出させる。また、上記制御パケットを送信してから、対応する制御パケットが返信されてくるまでに要した時間を送信装置に計測させることによって、上記通信網にかかっている負荷を検出させることもできる。何故ならば、通信網にかかっている負荷が高いほど、その通信網を介したパケットの送受信に要する時間は長くなるので、この時間を計測することによって通信網にかかっている負荷を検出することができるからである。
【特許文献１】特開平８−２９８５２１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に開示された技術を用いた場合には、上記制御パケットの分だけ通信網を介して送受信されるデータ量が増加するので、その通信網の混み具合を悪化させてしまうことになりかねず、その通信網に輻輳を生じさせてしまう虞がある。また、通信網にかかっている負荷が高い場合には、制御パケットそのものがその宛先へ到達しないことも起こり得る。制御パケットがその宛先へ到達しなかったならば、受信装置にかかっている負荷や通信網にかかっている負荷を送信装置に検出させることができないことは言うまでもない。
本発明は、上記課題に鑑みて為されたものであり、データ通信に利用されている通信網に何ら悪影響を与えることなく、データの受け手側の通信装置にかかっている負荷やその通信網にかかっている負荷をデータの送り手側の通信装置に確実に検出させることを可能にする技術を提供することを目的としている。
【課題を解決するための手段】
【０００５】
上記課題を解決するために、本発明は、第１通信網に接続されているとともに前記第１通信網とは異なる第２通信網に接続されている相手装置へ前記第１通信網を介してデータを送信する送信手段と、前記送信手段により送信されたデータを受信し所定の処理を施す装置にかかっている負荷を表す負荷データ、または前記第１通信網にかかっている負荷を表す負荷データを、前記第２通信網を介して前記相手装置から受信する受信手段と、前記受信手段により受信された負荷データを解析して、前記所定の処理を施す装置または前記第１通信網にかかっている負荷を検出する検出手段と、を有する通信装置を提供する。
このような通信装置によれば、データ通信に利用される第１通信網とは異なる第２通信網を介して送信されてくる負荷データを解析して、この通信装置から送信されたデータに所定の処理を施す装置または上記第１通信網にかかっている負荷が検出される。
より好ましい態様においては、前記送信手段は、予め定められた通信プロトコルにしたがって予め定められた送信速度で前記相手装置へデータを送信し、前記送信手段によりデータを送信する際の送信速度、または、前記送信手段によりデータを送信する際に利用する通信プロトコルを、前記検出手段により検出された負荷の度合いに応じて切替える切替え手段を、さらに、有することを特徴とする。
このような態様によれば、上記所定の処理を施す装置または第１通信網にかかっている負荷の度合いに応じて、データを送信する際の送信速度またはその送信に利用される通信プロトコルが切替えられる。
【０００６】
また、上記課題を解決するために、第１通信網に接続されているとともに前記第１通信網とは異なる第２通信網に接続されている１または複数の相手装置から前記第１通信網を介して送信されてくるデータを受信する受信手段と、前記受信手段により受信されたデータに所定の処理を施す装置にかかっている負荷、または前記第１通信網にかかっている負荷を計測する負荷計測手段と、前記負荷計測手段により計測された負荷を表す負荷データを、前記１または複数の相手装置のうちの少なくとも１つへ前記第２通信網を介して送信する送信手段と、を有する通信装置を提供する。
このような通信装置によれば、１または複数の相手装置から受信したデータに上記所定の処理を施す装置にかかっている負荷やそのデータが経由してきた第１通信網にかかっている負荷を表す負荷データが第１通信網とは異なる第２通信網を介して、上記１または複数の相手装置のうちの少なくとも１つへ送信される。
【発明の効果】
【０００７】
本発明によれば、データの送受信に利用されている通信網に何ら悪影響を与えることなく、データの受け手側の通信装置にかかっている負荷やその通信網にかかっている負荷を、データの送り手側の通信装置に確実に検出させることが可能になる、といった効果を奏する。また、検出した負荷の度合いに応じて、データの送信速度やその送信に用いる通信プロトコルを適宜切替えるようにすれば、上記受け手側の通信装置や上記通信網にかかっている負荷が高くなり過ぎることを事前に回避することも可能になる、といった効果を奏する。
【発明を実施するための最良の形態】
【０００８】
以下、本発明を実施する際の最良の形態について説明する。
（構成）
図１は、本発明の１実施形態に係る中継装置を含んでいる通信システムの全体構成の１例を示すブロック図である。図１の通信システム１０は、例えば、商社や金融機関、メーカなどの企業内で利用されている社内コンピュータシステムであり、その本店に設置されたコンピュータ装置である拠点サーバ１００と、Ａ、Ｂ、ＣおよびＤの各支店に設置されたコンピュータ装置である支店サーバ３００Ａ、３００Ｂ、３００Ｃおよび３００Ｄを含んでいる。なお、図１では、４つの支店サーバが例示されているが、これら支店サーバの数が４に限定されるものではないことは言うまでもない。以下では、各支店サーバの各々を区別する必要がない場合には、「支店サーバ３００」と表記する。
【０００９】
図１の拠点サーバ１００と各支店サーバ３００は、第１通信網２００に接続されており、この第１通信網２００を介して所定の通信プロトコル（例えば、Internet Protocol 以下、「ＩＰ」）にしたがってデータ通信を行うことが可能になっている。より詳細に説明すると、拠点サーバ１００は、中継装置４００Ａを介して第１通信網２００に接続されており、上記４つの支店サーバ３００のうち支店サーバ３００Ｄは中継装置４００Ｂを介して第１通信網２００に接続されている。図１の第１通信網２００は、例えばインターネットであり、上記所定の通信プロトコルにしたがって行われるデータ通信を仲介するデータ通信用の通信網として機能するものである。なお、本実施形態では、第１通信網２００がインターネットである場合について説明するが、ＷＡＮ（Wide Area Network）や専用線などであっても良いことは勿論である。要は、拠点サーバ１００と各支店サーバ３００との間で所定の通信プロトコルにしたがって行われるデータ通信を仲介する機能を備えた通信網であれば、どのような通信網であっても良い。また、本実施形態では、上記所定の通信プロトコルとしてＩＰを用いる場合について説明するが、他の通信プロトコルであっても良いことは勿論である。
【００１０】
図１の中継装置４００Ａと４００Ｂは、例えばルータであり、上記所定の通信プロトコルにしたがって行われるデータ通信を中継するデータ中継機能を備えている。具体的には、中継装置４００Ａや４００Ｂは、第１通信網２００を介して送られてきたデータを受信し、自装置に接続されているコンピュータ装置（すなわち、拠点サーバ１００や支店サーバ３００Ｄ）へ転送する一方、自装置に接続されているコンピュータ装置から送られてきたデータを受信し、第１通信網２００へ送出することができる。なお、本実施形態では、中継装置４００Ａや４００Ｂがルータである場合について説明するがゲートウェイであっても良いことは勿論である。また、以下では、中継装置４００Ａと４００Ｂとを区別する必要がない場合には、単に「中継装置４００」と表記する。
【００１１】
図１に示すように、中継装置４００は、第１通信網２００とは異なる通信網である第２通信網５００に接続されている。この第２通信網５００は、例えば、ＩＳＤＮ（Integrated Services Digital Network）回線であり、中継装置４００Ａと４００Ｂとの間の通信を仲介するためのものである。なお、本実施形態では、第２通信網５００がＩＳＤＮ回線である場合について説明するが、第１通信網２００とは異なる通信網であれば、どのような通信網であっても良い。また、以下では、第２通信網５００を介して通信を行う中継装置４００Ａおよび４００Ｂについて、その一方を他方に対して相手装置と呼ぶ。具体的には、中継装置４００Ａの相手装置は中継装置４００Ｂであり、中継装置４００Ｂの相手装置は中継装置４００Ａである。
【００１２】
さて、図１に示す通信システム１０においては、拠点サーバ１００は、第１通信網２００を介して各支店サーバ３００から所定の日時毎に送信されてくるデータ（例えば、各支店毎の売上を表す売上データなど）を受信し、これらデータを集計するとともに、その集計結果を記憶する受信装置として機能するものである。一方、支店サーバ３００は、上記売り上データを第１通信網２００を介して拠点サーバ１００へ送信する送信装置として機能するものである。なお、拠点サーバ１００と支店サーバ３００とについては、従来の受信装置や送信装置と何ら変わるところがないため、その構成や機能についての詳細な説明は省略する。これに対して、図１の中継装置４００は、上述したデータ中継機能の他に、本発明に係る通信装置に特有な機能を備えている。以下では、中継装置４００を中心に説明する。
【００１３】
図２は、中継装置４００のハードウェア構成の一例を示すブロック図である。
図２に示すように、中継装置４００は、制御部４１０と、第１通信インタフェイス（以下、「ＩＦ」とも表記する）部４２０と、第２通信ＩＦ部４３０と、第３通信ＩＦ部４４０と、記憶部４５０と、これら構成要素間のデータ授受を仲介するバス４６０と、を有している。なお、中継装置４００Ａと４００Ｂの各構成要素を区別する必要がある場合には、夫々、以下のように表記する。すなわち、中継装置４００Ａの構成要素については、制御部４１０Ａ、第１通信ＩＦ部４２０Ａ、第２通信ＩＦ部４３０Ａ、第３通信ＩＦ部４４０Ａ、記憶部４５０Ａおよびバス４６０Ａと、表記する。一方、中継装置４００Ｂの構成要素については、制御部４１０Ｂ、第１通信ＩＦ部４２０Ｂ、第２通信ＩＦ部４３０Ｂ、第３通信ＩＦ部４４０Ｂ、記憶部４５０Ｂおよびバス４６０Ｂと、表記する。
【００１４】
制御部４１０は、例えばＣＰＵ（Central Processing Unit）であり、記憶部４５０に格納されているソフトウェアにしたがって中継装置４００の各部を中枢的に制御するものである。第１通信ＩＦ部４２０は、第１通信網２００に接続されており、第１通信網２００を介して送信されてくるデータを受信し制御部４１０へ引渡す一方、制御部４１０から引渡されたデータを第１通信網２００へ送出するものである。第２通信ＩＦ部４３０は、第２通信網５００に接続されており、第２通信網５００を介して送信されてくるデータを受信し制御部４１０へ引渡す一方、制御部４１０から引渡されたデータを第２通信網５００へ送出するものである。第３通信ＩＦ部４４０は、中継装置４００Ａと４００Ｂとでその接続先が異なっている。具体的には、第３通信ＩＦ部４４０Ａは、前述した本店内に配設されたＬＡＮ（Local Area Network：図示省略）を介して拠点サーバ１００に接続されており、第３通信ＩＦ部４４０Ｂは、図１のＤ支店内に配設されたＬＡＮ（図示省略）を介して支店サーバ３００Ｄに接続されている。この第３通信ＩＦ部４４０は、制御部４１０から引渡されたデータを、図示せぬＬＡＮを介してその第３通信ＩＦ部４４０に接続されているコンピュータ装置へ送出する一方、そのコンピュータ装置から送信されてくるデータを受信し制御部４１０へ引渡すものである。
【００１５】
記憶部４５０は、図２に示すように、揮発性記憶部４５１と不揮発性記憶部４５２とを含んでいる。なお、記憶部４５０Ａと４５０Ｂの各構成要素を区別する必要がある場合には、以下のように表記する。すなわち、記憶部４５０Ａの構成要素については、「揮発性記憶部４５１Ａ」および「不揮発性記憶部４５２Ａ」と表記し、記憶部４５０Ｂの構成要素については、「揮発性記憶部４５１Ｂ」および「不揮発性記憶部４５２Ｂ」と表記する。
【００１６】
揮発性記憶部４５１は、例えばＲＡＭ（Random Access Memory）であり、各種ソフトウェアにしたがって作動している制御部４１０によってワークエリアとして利用される。一方、不揮発性記憶部４５２は、例えばＲＯＭ（Read Only Memory）やハードディスであり、各種ソフトウェアを格納しておくためのものである。以下、不揮発性記憶部４５２Ａや４５２Ｂに格納されているソフトウェアについて説明する。
【００１７】
不揮発性記憶部４５２Ａには、ＯＳ（Operating System）を制御部４１０Ａに実現させるためのＯＳソフトウェアと、データ受信ソフトウェアとが格納されている。ここで、データ受信ソフトウェアとは、第１通信網２００を介して送信されてくるデータを受信し所定の処理を行う動作とその処理の実行により自装置（中継装置４００Ａ）にかかっている負荷を相手装置（すなわち、中継装置４００Ｂ）へ通知する動作とを、図３に示すフローチャートにしたがって制御部４１０Ａに実行させるためのソフトウェアである。
一方、不揮発性記憶部４５２Ｂには、上記ＯＳソフトウェアと、データ送信ソフトウェアとが格納されている。ここで、データ送信ソフトウェアとは、第１通信網２００へデータを送出する動作と上記所定の処理を行っている装置（本実施形態では、中継装置４００Ａ）にかかっている負荷を表す負荷データを第２通信網５００を介して相手装置から受信した場合に、その負荷の度合いに応じてデータの送信速度を切替える動作とを図４に示すフローチャートにしたがって制御部４１０Ｂに実行させるためのソフトウェアである。
なお、不揮発性記憶部４５２Ａと４５２Ｂに格納されているソフトウェアが異なっている理由は、以下の通りである。すなわち、本実施形態では、支店サーバ３００Ｄから拠点サーバ１００へのデータ送信が行われる一方、拠点サーバ１００から拠点サーバ１００へのデータ送信は行われないため、中継装置４００Ｂは常にデータの送り手側の通信装置として機能する一方、中継装置４００Ａは常にデータの受け手側の通信装置として機能するからである。したがって、データの送り手側の通信装置として機能するとともに、データの受信側の通信装置としても機能する中継装置については、上記データ送信ソフトウェアと上記データ受信ソフトウェアとの両者をその不揮発性記憶部に書き込んでおくとしても良く、また、上記データ送信ソフトウェアの役割と上記データ受信ソフトウェアの役割とを兼ね備えたソフトウェアを不揮発性記憶部に格納しておくとしても勿論良い。
【００１８】
次いで、不揮発性記憶部４５２に格納されているソフトウェアにしたがって作動している制御部４１０に付与される機能について説明する。中継装置４００の電源（図示省略）が投入されると、制御部４１０は、まず、ＯＳソフトウェアを不揮発性記憶部４５２から読み出して、これを実行する。このＯＳソフトウェアにしたがって作動している制御部４１０には、中継装置４００の各部を制御する機能、他のソフトウェアを不揮発性記憶部４５２から読み出して実行する機能、各種ソフトウェアの実行に要しているリソース（ＣＰＵやメモリなど）を管理しその使用率（ＣＰＵ使用率やメモリ使用率）を算出するリソース管理機能などが付与される。そして、制御部４１０は、ＯＳソフトウェアの実行を完了すると、即座に、上記データ受信ソフトウェアやデータ送信ソフトウェアを不揮発性記憶部４５２から読み出して、これを実行する。より詳細に説明すると、制御部４１０Ａは、データ受信ソフトウェアを不揮発性記憶部４５２Ａから読み出して、これを実行する。一方、制御部４１０Ｂは、データ送信ソフトウェアを不揮発性記憶部４５２Ｂから読み出して、これを実行する。これらソフトウェアにしたがって作動している制御部４１０Ａや４１０Ｂには、本発明に係る通信装置に特徴的な機能が付与される。
【００１９】
より詳細に説明すると、データ受信ソフトウェアにしたがって作動している制御部４１０Ａには、以下に述べる３つの機能が付与される。第１に、第１通信網２００を介して各支店サーバ３００から送信されてくるデータを第１通信ＩＦ部４２０を用いて受信し、そのデータに所定の処理を施すデータ処理機能である。なお、本実施形態では、第１通信ＩＦ部４２０により受信したデータを第３通信ＩＦ部４４０を用いて拠点サーバ１００へ転送するデータ中継処理が上記所定の処理として実行される。
第２に、上記所定の処理の実行により自装置（すなわち、中継装置４００Ａ）にかかっている負荷を計測する負荷計測機能である。本実施形態では、制御部４１０Ａは、上記負荷を表すデータとして、上記リソース管理機能により算出されたメモリ使用率を使用する。すなわち、制御部４１０Ａは、上記メモリ使用率を計測することで、中継装置４００Ａにかかっている負荷を計測する。
そして、第３に、負荷計測機能により計測した負荷の値が所定の閾値を超えている場合に、その負荷の値を表す負荷データを、第２通信網５００を介して相手装置へ送信する負荷データ送信機能である。なお、本実施形態では、上記閾値データとして、数字文字列“２０”が不揮発性記憶部４５２Ａに予め格納されている。つまり、本実施形態では、メモリ使用率が２０％を超えた場合に、上記負荷データの送信が行われることになる。なお、本実施形態では、データ受信ソフトウェアと閾値データとが別個に不揮発性記憶部４５２に格納されている場合について説明した、閾値データをデータ受信ソフトウェアに埋め込んでおくとしても勿論良い。
【００２０】
一方、データ送信ソフトウェアにしたがって作動している制御部４１０Ｂには、以下に述べる４つの機能が付与される。第１に、第３通信ＩＦ部４４０Ｂを用いて支店サーバ３００Ｄから受信したデータを、所定の通信プロトコル（本実施形態では、ＩＰ）にしたがって所定の送信速度（例えば、１０Ｍｂｐｓ）で第１通信ＩＦ部４２０Ｂを用いて第１通信網２００へ送出するデータ送信機能である。なお、本実施形態では、上記所定の送信速度を表す送信速度データが不揮発性記憶部４５２Ｂに予め格納されており、制御部４１０Ｂは、この送信速度データの表す送信速度でデータの送信を開始する。
第２に、前述した所定の処理を実行している装置（本実施形態では、相手装置である中継装置４００Ａ）にかかっている負荷を表す負荷データが相手装置から送信されてきた場合に、第２通信ＩＦ部４３０Ｂを用いてその負荷データを受信する負荷データ受信機能である。
第３に、負荷データ受信機能により受信された負荷データを解析して、上記所定の処理を実行している装置にかかっている負荷を検出する負荷検出機能である。つまり、本実施形態では、この負荷検出機能によって中継装置４００Ａにかかっている負荷が検出されることになる。
そして、第４に、負荷検出機能により検出された負荷の度合いに応じて、データ送信機能にてデータを送信する際の送信速度を切替える切替え機能である。本実施形態では、図５に示す送信速度テーブルが不揮発性記憶部４５２Ｂに格納されており、この送信速度テーブルの格納内容と上記負荷検出機能により検出された負荷の値とに基づいて、送信速度の切替えが行われる。具体的には、上記送信速度テーブルには、図５に示すように、負荷の度合いを表すデータ（本実施形態では、メモリ使用率の範囲を表すデータ）毎に夫々異なる送信速度を表す送信速度データが格納されている。制御部４１０Ｂは、負荷検出機能により検出した負荷の値に該当する負荷の度合いに対応付けて送信速度テーブルに格納されている送信速度データを読み出し、その送信速度データの表す送信速度に切替える。なお、本実施形態において、メモリ使用率が２０％以下である場合についてのデータが上記送信速度テーブルに格納されていない理由は、メモリ使用率が２０％以下である場合には中継装置４００Ａから負荷データが送信されてくることはなく、送信速度の切替えを行う必要がないからである。また、本実施形態では、データ送信ソフトウェアと送信速度テーブルとが別個に不揮発性記憶部４５２Ｂに格納されている場合について説明したが、上記データ送信ソフトウェアに送信速度テーブルを埋め込んでおくとしても勿論良い。
【００２１】
以上に説明したように、本実施形態に係る中継装置４００のハードウェア構成は、一般的なコンピュータ装置のハードウェア構成と同一であり、本発明に係る通信装置に特徴的な機能はソフトウェアモジュールで実現されている。なお、本実施形態では、本発明に係る通信装置に特有な機能を制御部４１０に付与するためのデータ送信ソフトウェアやデータ受信ソフトウェアをＯＳソフトウェアとは個別に不揮発性記憶部４５２に書き込んでおく場合について説明したが、上記データ送信ソフトウェアやデータ受信ソフトウェアの役割とＯＳソフトウェアの役割との両者を兼ね備えたファームウェアを不揮発性記憶部４５２に書き込んでおくとしても勿論良い。また、本実施形態では、本発明に係る通信装置に特徴的な機能をソフトウェアモジュールで実現する場合について説明したが、これら各機能をハードウェアモジュールで実現するとしても良いことは勿論である。具体的には、上記データ処理機能を担っているデータ処理手段、上記負荷計測機能を担っている負荷計測手段および上記負荷データ送信機能を担っている負荷データ送信手段を組み合わせて中継装置４００Ａを構成するとしても勿論良い。また、上記データ送信機能を担っているデータ送信手段、上記負荷データ受信機能を担っている負荷データ受信手段、上記負荷検出機能を担っている負荷検出手段、そして、上記切替え機能を担っている切替え手段を組み合わせて中継装置４００Ｂを構成するとしても勿論良い。
【００２２】
（動作）
次いで、本実施形態に係る中継装置４００が行う動作のうち、その特徴を顕著に示す動作について図面を参照しつつ説明する。なお、以下に説明する動作例では、各支店サーバ３００Ａ、３００Ｂおよび３００Ｃが第１通信網２００を介して拠点サーバ１００へデータを送信し、それらのデータを集計し記憶する処理を拠点サーバ１００が行っている状況下で、支店サーバ３００Ｄが拠点サーバ１００へのデータ送信を開始する場合について説明する。
【００２３】
支店サーバ３００Ｄが拠点サーバ１００へのデータの送信を開始すると、中継装置４００Ｂの制御部４１０（すなわち、制御部４１０Ｂ）は、支店サーバ３００Ｄから送信されてきたデータを第３通信ＩＦ部４４０Ｂを用いて受信し揮発性記憶部４５１Ｂへ一旦退避する。そして、制御部４１０Ｂは、図４に示すように、揮発性記憶部４５１Ｂへ退避したデータをＩＰにしたがって１０Ｍｂｐｓの送信速度で第１通信網２００へ送出する（ステップＳＢ１）。このようにして中継装置４００Ｂから送信されたデータは、第１通信網２００を介して中継装置４００Ａへ到達する。以下、第１通信網２００を介して送信されてきたデータを受信した場合に、中継装置４００Ａの制御部４１０（すなわち、制御部４１０Ａ）が行う動作について、図３を参照しつつ説明する。
【００２４】
図３に示すように、制御部４１０Ａは、第１通信網２００を介して送信されてくるデータ（すなわち、各支店サーバ３００から送信されたデータ）を第１通信ＩＦ部４２０Ａにより受信すると、そのデータを揮発性記憶部４５１Ａに一旦退避し、その退避したデータについて前述した所定の処理を実行する（ステップＳＡ１）。具体的には、制御部４１０Ａは、揮発性記憶部４５１Ａに退避したデータを第３通信ＩＦ部４４０Ａを用いて拠点サーバ１００へ転送するデータ中継処理を実行する。次いで、制御部４１０Ａは、上記所定の処理の実行により自装置（すなわち、中継装置４００Ａ）にかかっている負荷を計測する（ステップＳＡ２）。具体的には、制御部４１０Ａは、前述したＯＳのリソース管理機能を用いてメモリ使用率を計測する。なお、本動作例では、上記ステップＳＡ２にて、中継装置４００Ａのメモリ使用率が８５％であると計測された場合について説明する。
【００２５】
制御部４１０Ａは、上記ステップＳＡ２にて計測した負荷を相手装置へ通知するべきか否かを判定する（ステップＳＡ３）。具体的には、制御部４１０Ａは、上記ステップＳＡ２にて計測されたメモリ使用率が不揮発性記憶部４５２Ａに格納されている閾値データの表す閾値を超えたか否かを判定し、その閾値を超えた場合に、相手装置へ通知するべきと判定する。前述したように、不揮発性記憶部４５２Ａには、前述した閾値（本実施形態では、２０％）を表す閾値データが格納されており、ステップＳＡ２にて計測されたメモリ使用率は８５％であるから、本動作例では、上記ステップＳＡ３の判定結果は“Ｙｅｓ”になる。
【００２６】
そして、制御部４１０Ａは、ステップＳＡ３の判定結果が“Ｙｅｓ”である場合には、上記ステップＳＡ２にて計測された負荷を表す負荷データを、第２通信ＩＦ部４３０Ａを用いて相手装置へ送信する（ステップＳＡ４）。具体的には、制御部４１０Ａは、ステップＳＡ２にて計測されたメモリ使用率の値を表すデータを上記負荷データとして送信する。本動作例では、ステップＳＡ３の判定結果は“Ｙｅｓ”であるから、上記ステップＳＡ４の処理が実行され、負荷データが相手装置へ送信されることになる。
【００２７】
以降、制御部４１０Ａは、第１通信網２００を介して送信されてくるべきデータを全て受信したか否かを判定し（ステップＳＡ５）、その判定結果が“Ｙｅｓ”になるまで、上記ステップＳＡ１からステップＳＡ５までの処理を繰り返し実行する。
このようにして中継装置４００Ａから送信された負荷データは、第２通信網５００を介して中継装置４００Ｂへ到達する。以下、図４に戻って、上記負荷データを受信した場合に、制御部４１０Ｂが行う動作について説明する。
【００２８】
図４に示すように、制御部４１０Ｂは、相手装置から送信された負荷データを第２通信ＩＦ部４３０Ｂを用いて受信すると（ステップＳＢ２：Ｙｅｓ）、その負荷データを解析して、前述した所定の処理を実行している装置（本実施形態では、中継装置４００Ａ）にかかっている負荷を検出する（ステップＳＢ３）。本実施形態では、制御部４１０Ｂは、上記負荷データの表す値を上記所定の処理を実行している装置にかかっている負荷として検出する。
【００２９】
そして、制御部４１０Ｂは、ステップＳＢ３にて検出された負荷の度合いに応じて、第１通信網２００へデータを送信する際の送信速度を切替える（ステップＳＢ４）。本動作例では、上記ステップＳＢ３にて検出される負荷の値は“８５％”であるから、制御部４１０Ｂは、送信速度テーブル（図５参照）の格納内容を参照し、データの送信速度を“２Ｍｂｐｓ”に切替える。以降、制御部４１０Ｂは、第１通信網２００へ送信するべきデータを全て送信し終えたか否かを判定し（ステップＳＢ５）、その結果が“Ｙｅｓ”になるまでステップＳＢ１からステップＳＢ５までの処理を繰り替えし実行する。
【００３０】
以上に説明した動作の結果、中継装置４００Ｂから中継装置４００Ａへ送信される１秒当りのデータの量は１０メガバイトから２メガバイトへ減少し、前述した所定の処理を実行している装置（中継装置４００Ａ）にかかる負荷が緩和されることになる。なお、本実施形態では、データ通信用の通信網である第１通信網２００とは異なる第２通信網５００を用いて負荷データの送信を行っているため、第１通信網２００の混み具合（すなわち、第１通信網２００にかかっている負荷）とは無関係に上記負荷データを確実に中継装置４００Ｂへ送り届けることが可能になるとともに、第１通信網２００を介したデータ通信に何らの悪影響を与えることもない。
【００３１】
（変形）
以上、本発明の１実施形態について説明したが、係る実施形態を以下に述べるように変形しても良いことは勿論である。
（１）上述した実施形態では、不揮発性記憶部４５２Ａには、閾値データが予め格納されており、一方、不揮発性記憶部４５２Ｂには、送信速度テーブル（図５参照）が予め格納されている場合について説明した。しかしながら、上記閾値データや上記送信速度テーブルの格納内容を、システム管理者（通信システム１０の運用管理を行うユーザ）の所望に応じて書き換える書換え手段を中継装置４００に設けておくとしても勿論良い。
【００３２】
（２）上述した実施形態では、自装置にかかっている負荷と所定の閾値とを比較させてその負荷を相手装置へ通知するべきか否かを中継装置４００Ａに判定させる場合について説明した。しかしながら、負荷の単位時間当たりの変化率（例えば、ある時刻に計測した負荷の値と、その時刻よりも所定時間だけ前の時刻に計測した負荷の値との差を、その所定時間に応じた時間間隔で除した値）を所定の閾値と比較させて上記判定を行わせるとしても勿論良い。このようにすると、計測された負荷そのものは低くとも、その変化率から急激に負荷が高くなることが予測される場合に、その変化率を加味した負荷データを相手装置へ送信し、事前に送信速度を下げさせておくことが可能になるといった効果を奏する。このようなことは、計測された負荷の値をその変化率に応じて所定量だけ増加または減少させた値を表す負荷データを送信させるようにすることで実現することができる。また、計測された負荷の値とその変化率を表す値の両者を負荷データとして送信させるようにしても勿論良い。また、負荷データを送信するか否かを中継装置４００Ａに判定させる際に、計測された負荷とその負荷について予め定められた第１の閾値との比較と、その変化率とその変化率について予め定められた第２の閾値との比較と、を組み合わせて、上記判定を行わせるようにしても良い。具体的には、計測された負荷が上記第１の閾値未満であり、かつ、その負荷の変化率が上記第２の閾値未満である場合には、負荷データの送信を行わず、その他の場合は、負荷データの送信を行うようにすれば良い。
【００３３】
（３）上述した実施形態では、所定の処理（上記実施形態では、データ中継処理）の実行により中継装置４００にかかっている負荷を表すデータとして、中継装置４００Ａのメモリ使用率を用いる場合について説明したが、メモリ使用率に替えてＣＰＵ使用率を用いても良いことは勿論である。また、中継装置４００Ａにかかっている負荷の計測に替えて、第１通信網２００にかかっている負荷を中継装置４００Ａに計測させ、その計測結果を表す負荷データを送信させるようにしても勿論良い。このようにすると、第１通信網２００に高い負荷がかかっている場合には、データの送信速度を中継装置４００Ｂに下げさせ、第１通信網２００に輻輳が生じることを事前に回避することが可能になるといった効果を奏する。なお、上記第１通信網２００にかかっている負荷を計測する手法については、例えば、第１通信網２００の回線使用率や第１通信網２００における遅延（すなわち、中継装置４００Ｂからデータが送信されてからそのデータが中継装置４００Ａに到達するまでに要した時間）を計測することが挙げられる。このような遅延を計測することによって第１通信網２００にかかっている負荷を計測することができる理由は、一般に、通信網にかかっている負荷が高いほど、一般に、遅延は大きくなるからである。
【００３４】
（４）上述した実施形態では、４つの支店サーバのうち、支店サーバ３００Ｄのみが中継装置４００Ｂを介して第１通信網２００に接続されている場合について説明したが、他の３つの支店サーバについても、中継装置４００Ｂと同一の機能を備えた中継装置を介して第１通信網２００に接続し、これら中継装置を第２通信網５００に接続しておくとしても良い。このような態様においては、各支店サーバ３００に接続されている各中継装置が中継装置４００Ａの相手装置となる。このように中継装置４００Ａの相手装置が複数ある場合には、複数の相手装置の各々に宛てて負荷データを送信させるとしても良く、また、上記複数の相手装置のうちの少なくとも１つに宛てて負荷データを送信させるようにしても良い。また、上記複数の相手装置のうちの少なくとも１つに宛てて負荷データを送信させる場合には、中継装置４００Ａに負荷データの送信先を予め設定し、常に、その送信先へ宛てて負荷データを送信させるとしても良く、ＬＲＵ（Least Recently Used）アルゴリズムなどにしたがってその送信先を順次切替させるようにしても良い。例えば、各支店サーバから送信されてくるデータの重要度や即時性などの優先順位に差異がある場合には、優先順位が最も低いデータを送信してくる支店サーバに接続されている相手装置を上記送信先として設定し、常に、その送信先へ負荷データを送信させるとすれば良く、優先順位に差異がない場合には、後者の態様によって負荷データの送信先を順次切替させるようにすれば良い。
【００３５】
（５）上述した実施形態では、所定の処理（データ中継処理）の実行によりかかっている負荷が所定の閾値を超えた場合に、その負荷を表す負荷データを中継装置４００Ａに送信させる場合について説明した。しかしながら、上記負荷を所定の時間間隔で中継装置４００Ａに計測させ、その計測結果をその都度送信させるようにしても良い。このようにすると、中継装置４００Ａにかかっている負荷が高い場合に、データの送信速度を中継装置４００Ｂに下げさせるのみならず、中継装置４００Ａにかかっている負荷が低い場合には、上記送信速度を上げさせるようにすること、すなわち、中継装置４００Ａにかかっている負荷に応じて、柔軟に上記送信速度を切替えることが可能になるといった効果を奏する。また、このようにすると、例えば、データの送信を開始する際に、その直近に受信した負荷データの表す負荷に応じた送信速度でデータの送信を開始すること、すなわち、中継装置４００Ａにかかっている負荷に応じた送信速度でデータの送信を開始することが可能になるといった効果も奏する。
【００３６】
（６）上述した実施形態では、中継装置４００Ａにかかっている負荷の度合いに応じて、データの送信速度を中継装置４００Ｂに切替えさせる場合について説明した。しかしながら、変形例（５）にて説明したように、データの送信を開始することに先立って、中継装置４００Ａや第１通信網２００にかかっている負荷を検出することができる態様にあっては、その負荷の度合いに応じて、データを送信する際に利用する通信プロトコルを切替えるようにしても良い。例えば、データ通信用の通信網にかかっている負荷が高いことを表す負荷データが送信されてきた場合には、ＴＣＰ（Transmission Control Protocol）を利用し、逆に、低い負荷を表す負荷データが送信されてきた場合には、ＵＤＰ（User Datagram Protocol）を利用してデータを送信するようにすれば良い。このようにすると、以下に述べるような効果を奏する。
【００３７】
ＴＣＰにおいては、受信装置について、送信装置から送信されたデータを受信した場合に、次に受信するべきデータを表すメッセージ（以下、確認応答）をその送信装置へ返信するべきことが規定されている。加えて、ＴＣＰにおいては、データを送信してから所定のタイムアウト時間が経過しても、そのデータに対する確認応答が送信されてこない場合には、そのデータの再送信を送信装置に行わせるべきことが規定されている。このように、ＴＣＰは、データを確実に送り届けることに重点を置いた通信プロトコルである。一般に、通信網にかかっている負荷が高い場合には、その通信網内でデータが消失してしまう可能性が高くなってしまう。このようにデータの消失が発生する虞がある場合であっても、ＴＣＰを用いてデータを送信するようにすれば、そのデータを確実に受信装置へ送り届けることが可能になる。一方、ＵＤＰは、上述の如き確認応答によるデータの送達確認を行わない通信プロトコルであり、データの送信効率に重点を置いた通信プロトコルである。通信網にかかっている負荷が低く、上記データの消失が発生する虞がない状況下では、ＵＤＰを用いてデータ通信を行うことで、その通信効率を向上させることができる。このように、通信網にかかっている負荷の度合いに応じて、データ通信に利用する通信プロトコルを切替えるようにすることで、その時点の通信網の状態に好適な通信プロトコルを用いて通信を行うことが可能になる。また、ＴＣＰはＵＤＰに比較して通信装置にかかる負荷が高くなってしまうことが知られているから、データを受信し所定の処理を行う通信装置にかかっている負荷が高い場合には、ＵＤＰを用いてデータ通信を行い、逆に、その通信装置にかかっている負荷が低い場合には、ＴＣＰを用いてデータ通信を行うようにしても良い。
【００３８】
（７）上述した実施形態では、第２通信網５００を介して送信されてきた負荷データの表す負荷の度合いに応じて、データの送信速度を中継装置４００Ｂに切替えさせる場合について説明した。しかしながら、第２通信網５００を介して負荷データが送信されてきた場合に、その負荷データを第３通信ＩＦ部４４０Ｂを用いて支店サーバ３００Ｄ（中継装置４００Ｂを介してデータを送信する送信装置）へ転送し、その支店サーバ３００Ｄにデータの送信速度を切替えさせるとしても良い。また、中継装置４００Ｂを介さずに支店サーバ３００を第１通信網２００へ接続するとともに第２通信網５００へ接続し、この支店サーバ３００Ｄに前述した負荷データ受信手段と、負荷検出手段と、切替え手段とを設け、この支店サーバ３００に上記送信速度の切替えを行わせるようにしても良い。つまり、本発明の適用対象は、送信装置とデータ通信用の通信網との間に介在する中継装置に限定されるものではなく、送信装置であっても良い。要は、データの送り手側の通信装置であれば良い。
【００３９】
（８）上述した実施形態では、第１通信網２００を介して受信したデータを拠点サーバ１００へ転送するデータ中継処理を行っている装置（中継装置４００Ａ）にかかっている負荷の度合いに応じて、そのデータを第１通信網２００へ送出する際の送信速度を中継装置４００Ｂに切替させる場合について説明した。しかしながら、上記データを集計し記憶する処理を実行することにより拠点サーバ１００（中継装置４００Ａを介してデータを受信する受信装置）にかかっている負荷の度合いに応じて上記送信速度の切替えを行わせるようにしても勿論良い。このようなことは、中継装置４００Ａに、自装置にかかっている負荷を検出させることに替えて拠点サーバ１００にかかっている負荷を計測させるようにすること（例えば、拠点サーバ１００のＣＰＵ使用率やメモリ使用率を計測させること）で実現される。また、中継装置４００Ａを介さずに拠点サーバ１００を第１通信網２００へ接続するとともに第２通信網５００へ接続し、この拠点サーバ１００に前述した負荷計測手段と、負荷データ送信手段とを設けるようにしても良い。つまり、本発明の適用対象は、受信装置とデータ通信用の通信網との間に介在する中継装置に限定されるものではなく、受信装置であっても良い。要は、データの受け手側の通信装置であれば良い。
【００４０】
（９）上述した実施形態では、中継装置４００の不揮発性記憶部４５２に、本発明に係る通信装置に特有な機能をその中継装置４００の制御部４１０に実現させるソフトウェアが予め書き込まれている場合について説明した。しかしながら、これらソフトウェアを、例えばＣＤ−ＲＯＭ（Compact Disc-Read Only Memory）やＤＶＤ（Digital Versatile Disk）などのコンピュータ装置読み取り可能な記録媒体に記録して配布し、その記録媒体を用いて一般的なコンピュータ装置に上記ソフトウェアをインストールするとしても良い。
【図面の簡単な説明】
【００４１】
【図１】本発明の１実施形態に係る中継装置４００を含んでいる通信システムの構成例を示すブロック図である。
【図２】同中継装置４００のハードウェア構成の一例を示す図である。
【図３】同制御部４１０Ａがデータ受信ソフトウェアにしたがって行う動作の流れを示すフローチャートである。
【図４】同制御部４１０Ｂがデータ送信ソフトウェアにしたがって行う動作の流れを示すフローチャートである。
【図５】同不揮発性記憶部４５２Ｂに格納されている送信速度テーブルの一例を示す図である。
【符号の説明】
【００４２】
１０…通信システム、１００…拠点サーバ、２００…第１通信網、３００，３００Ａ，３００Ｂ，３００Ｃ，３００Ｄ…支店サーバ、４００，４００Ａ，４００Ｂ…中継装置、４１０…制御部、４２０…第１通信ＩＦ部、４３０…第２通信ＩＦ部、４４０…第３通信ＩＦ部、４５０…記憶部、４５１…揮発性記憶部、４５２…不揮発性記憶部、４６０…バス、５００…第２通信網。
【図１】
2006173923.tif 000003
【図２】
2006173923.tif 000004
【図３】
2006173923.tif 000005
【図４】
2006173923.tif 000006
【図５】
2006173923.tif 000007