フロントエンドプロセッサ、ルーティング管理方法、ルーティング管理プログラム
【課題】ルーティングを行う経路毎の負荷を適切に制御できるようにする。
【解決手段】ルーティング手段1a〜1cにより、第1のネットワーク2経由で入力されたパケットが、第2のネットワーク4へルーティングされる。また、負荷判断手段1dにより、ルーティング手段1a〜1cの負荷が監視され、負荷が所定値を超えたことが判断される。負荷判断手段1dによりルーティング手段1a〜1cの負荷が所定値を超えたと判断された場合には、パケット廃棄手段1gにより、ルーティング手段1a〜1cがルーティングすべきパケットの少なくとも一部が廃棄される。
【解決手段】ルーティング手段1a〜1cにより、第1のネットワーク2経由で入力されたパケットが、第2のネットワーク4へルーティングされる。また、負荷判断手段1dにより、ルーティング手段1a〜1cの負荷が監視され、負荷が所定値を超えたことが判断される。負荷判断手段1dによりルーティング手段1a〜1cの負荷が所定値を超えたと判断された場合には、パケット廃棄手段1gにより、ルーティング手段1a〜1cがルーティングすべきパケットの少なくとも一部が廃棄される。
【発明の詳細な説明】
【技術分野】
【0001】
本発明はサーバとクライアントとの間のパケットのルーティングを行うフロントエンドプロセッサ、ルーティング管理方法、ルーティング管理プログラムに関し、特に複数のプロセッサモジュールを搭載したフロントエンドプロセッサ、ルーティング管理方法、ルーティング管理プログラムに関する。
【背景技術】
【0002】
複数のサーバコンピュータ(以下、単にサーバという)で構成されるホストシステムによって、多数のクライアントコンピュータ(以下、単にクライアントという)に対して、サービスを提供することができる。ホストシステムを構成する各サーバの機能は、異なっていても良い。その場合、ホストシステムとクライアントとの間に、フロントエンドプロセッサ(以下、FEPという)と呼ばれるコンピュータが配置される。
【0003】
FEPは、サーバとクライアントとの間でパケットのルーティングを行う。パケットのルーティングを行うとき、FEPは、サーバ側の設計要件や運用要件に沿って配置された業務を、クライアントの利用者がその所在を意識せずに利用できるように、処理要求のパケットの管理/振り分けを行う。
【0004】
このように、サーバとクライアントとの間にFEPを設けた場合、FEPが停止してしまうと、サーバが提供するサービスが全て停止してしまう。そこで、FEPには複数のプロセッサモジュール(PM)が実装される。各プロセッサモジュールが、サーバとクライアントとの間のパケットのルーティング機能(パケットの振り分け機能を含む)を有している。これにより、ホストシステムの安定運用を図ることができる。
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかし、従来、複数のPMを実装したFEPにおいて、各PMの処理負荷を適切に制御することができなかった。
たとえば、FEPが動的ルーティングを行う場合、それぞれのPMから、各サーバに対する全てのルート情報(RIP:Routing Information Protocol)が送信される。どのPMを通信に使用するかは、ルート情報(RIP)を受信した他のルータの判断に依存している。他のルータは、FEP内のPMの負荷を考慮しないため、通信を行うPMに偏りが生じ、負荷を均等に保つことができなかった。
【0006】
また、従来のFEPでは、同時に多数の相手から大量にデータを受信し続けた場合、受信したデータを、システム能力を越えてまでも可能な限り処理しようとしていた。その結果、FEP全体がスローダウン状態となり、全ての相手との通信が正常に働かない事態が生じていた。
【0007】
本発明はこのような点に鑑みてなされたものであり、ルーティングを行う経路毎の負荷を適切に制御することができるフロントエンドプロセッサ、ルーティング管理方法、ルーティング管理プログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明では上記課題を解決するために、図1に示すようなフロントエンドプロセッサ1が提供される。図1に示すフロントエンドプロセッサ1は、パケットのルーティングを行うものである。
【0009】
フロントエンドプロセッサ1は、第1のネットワーク経由で入力されたパケットを、第2のネットワークへルーティングするルーティング手段1a〜1cと、ルーティング手段1a〜1cの負荷を監視し、負荷が所定値を超えたことを判断する負荷判断手段1dと、負荷判断手段1dによりルーティング手段の負荷が所定値を超えたと判断された場合には、ルーティング手段1a〜1cがルーティングすべきパケットの少なくとも一部を廃棄するパケット廃棄手段1gと、を有する。
【0010】
このようなフロントエンドプロセッサ1によれば、ルーティング手段1a〜1cにより、第1のネットワーク経由で入力されたパケットが、第2のネットワークへルーティングされる。また、負荷判断手段1dにより、ルーティング手段1a〜1cの負荷が監視され、負荷が所定値を超えたことが判断される。負荷判断手段1dによりルーティング手段1a〜1cの負荷が所定値を超えたと判断された場合には、パケット廃棄手段1gにより、ルーティング手段1a〜1cがルーティングすべきパケットの少なくとも一部が廃棄される。
【0011】
また、本発明では上記課題を解決するために、第1のネットワーク2から第2のネットワーク4へのパケットのルーティングを管理するルーティング管理方法であって、ルーティングを行う中継経路上の負荷を監視し、中継経路上の負荷が所定値を超えた場合には、第1のネットワーク2上の所定のルータから出力されるパケットの少なくとも一部を廃棄する、ことを特徴とするルーティング管理方法が提供される。
【0012】
このようなルーティング管理方法によれば、ルーティングを行う中継経路上の負荷が監視され、中継経路上の負荷が所定値を超えた場合には、第1のネットワーク2上の所定のルータから出力されるパケットの少なくとも一部が廃棄される。
【0013】
さらに、本発明では上記課題を解決するために、第1のネットワークから第2のネットワークへのパケットのルーティングを管理するためのルーティング管理プログラムであって、コンピュータに、ルーティングを行う中継経路上の負荷を監視し、前記中継経路上の負荷が所定値を超えた場合には、前記第1のネットワーク上の所定のルータから出力されるパケットの少なくとも一部を廃棄する、処理を実行させることを特徴とするルーティング管理プログラムが提供される。
【0014】
このようなルーティング管理プログラムをコンピュータに実行させれば、そのコンピュータにより、ルーティングを行う中継経路上の負荷が監視され、中継経路上の負荷が所定値を超えた場合には、第1のネットワーク2上の所定のルータから出力されるパケットの少なくとも一部が廃棄される。
【発明の効果】
【0015】
本発明では、ルーティングを行うルーティング手段の負荷を監視し、負荷が所定値を超えた場合には、第1のネットワーク上の所定のルータから出力されるパケットの少なくとも一部を廃棄するようにしたため、負荷が過大となった際にパケットを廃棄し、システム全体の応答速度の低下を防止することができる。
【発明を実施するための最良の形態】
【0016】
以下、本発明の実施の形態を図面を参照して説明する。
まず、本発明の実施の形態に適用される発明の概要について説明し、その後、本発明の実施の形態の具体的な内容を説明する。
【0017】
図1は、本発明の実施の形態に適用される発明の概念図である。本発明に係るフロントエンドプロセッサ1は、第1のネットワーク2を介して複数のルータ3a〜3cに接続されている。図1の例では、ルータ3aの識別情報を「ルータ#1」、ルータ3bの識別情報を「ルータ#2」、ルータ3cの識別情報を「ルータ#3」とする。
【0018】
また、フロントエンドプロセッサ1は、第2のネットワーク4を介して複数のサーバコンピュータ5a〜5cに接続されている。フロントエンドプロセッサ1は、第1のネットワーク2から送られるパケットを第2のネットワーク4にルーティングする。そのために、フロントエンドプロセッサ1は、複数のルーティング手段1a〜1c、負荷判断手段1d、割り当て手段1e、ルート情報送信手段1f、およびパケット廃棄手段1gを有している。
【0019】
ルーティング手段1a〜1cは、第1のネットワーク2経由で入力されたパケットを、第2のネットワーク4へルーティングする。すなわち、各ルーティング手段1a〜1cが、ルーティングの際の個別の中継経路を構成している。なお、ルーティング手段1a〜1cは、ルーティングの際、パケットで要求されている処理の内容に適したサーバコンピュータに、そのパケットを振り分ける。
【0020】
ルーティング手段1a〜1cは、たとえば、それぞれ個別のモジュールで構成される。その場合、各モジュールは、プロセッサモジュールと呼ばれる。図1の例では、ルーティング手段1aの識別情報を「PM#1」、ルーティング手段1bの識別情報を「PM#2」、ルーティング手段1cの識別情報を「PM#3」とする。
【0021】
負荷判断手段1dは、ルーティング手段1a〜1cの負荷を監視し、各ルーティング手段1a〜1cの負荷が所定値を超えたことを判断する。また、負荷判断手段1dは、フロントエンドプロセッサ1全体としての負荷が所定値を超えたことも判断する。
【0022】
割り当て手段1eは、ルーティング手段1a〜1cに対して、第1のネットワーク2上のルータを割り当てる。割り当ては、たとえば、ルーティング手段1a〜1cの識別情報と、ルータ3a〜3cの識別情報の対応関係で示される。図1の例では、ルーティング手段1aに対してルータ3aを割り当て、ルーティング手段1bに対してルータ3bを割り当て、ルーティング手段1cに対してルータ3cを割り当てている。
【0023】
ルート情報送信手段1fは、第2のネットワーク4上のサーバコンピュータ5a〜5cへのルーティング手段1a〜1c経由の通信経路を示すルート情報を、割り当て手段1eによって割り当てられたルータ3a〜3cに対して送信する。すなわち、ルーティング手段1a経由の通信経路を示すルート情報がルータ3aに送信される。ルーティング手段1b経由の通信経路を示すルート情報がルータ3bに送信される。ルーティング手段1c経由の通信経路を示すルート情報がルータ3cに送信される。
【0024】
なお、ルート情報送信手段1fは、負荷判断手段1dにおいて負荷が所定値を超えた(高負荷)と判断されたルーティング手段に対して割り当てられているルータを、他のルーティング手段に割り当てることができる。
【0025】
パケット廃棄手段1gは、フロントエンドプロセッサ1全体としての負荷が所定値を超えた(高負荷)と判断された場合、所定のルータ(たとえば、予め設定されている優先度の低いルータ)からのパケットの少なくとも一部を廃棄する。また、パケット廃棄手段1gは、何れかのルーティング手段1a〜1cの負荷が所定値を超えた(高負荷)と判断された場合、そのルーティング手段に対して割り当てられているルータからのパケットの少なくとも一部を、廃棄することができる。
【0026】
パケットを廃棄する場合、たとえば、パケット廃棄手段1gは、パケット廃棄対象のルータに対して、実際には存在しないルーティング手段経由のルート情報を送信する。これにより、そのルート情報を受け取ったルータを経由したパケットは、実際には存在しないルーティング手段宛に送信され、廃棄される。
【0027】
このようなフロントエンドプロセッサ1によれば、各ルーティング手段1a〜1c経由のルート情報は、ブロードキャストされずに、ルータ割り当て手段1eで割り当てられたルータに対して送信される。各ルータ3a〜3cは、ルート情報で通知された経路でしかサーバコンピュータ5a〜5cにアクセスできないため、ルータ割り当て手段1eで割り当てられたルーティング手段1a〜1cを経由してサーバコンピュータ5a〜5cにアクセスする。これにより、各ルーティング手段1a〜1c間の負荷バランスを、フロントエンドプロセッサ1において管理することができるようになる。
【0028】
たとえば、負荷が過大となったルーティング手段へのルータの割り当てを減らすことで、そのルーティング手段の負荷を減らすことができる。
また、フロントエンドプロセッサ1全体の負荷が過大となったら、パケット廃棄手段1gによって、任意のサーバから出力されるパケットを廃棄させることで、システム全体の処理速度の低下を防止することができる。たとえば、同時に多数の相手から大量にパケットを受信し続けた場合、そのパケットの送信元のルータからのパケットを廃棄することで、大量パケットの受信による機能低下を防御することができる。
【0029】
このように、ルータ3a〜3cからのパケットの中継経路を、負荷の高いルーティング手段から負荷の低いルーティング手段への切り換え、それでも負荷が解消されない場合は、パケットの廃棄処理を行うことで受信するデータの総量を制御することで、システムの安定稼働を図ることができる。
【0030】
以下、本発明の実施の形態を具体的に説明する。
図2は、本発明の実施の形態のシステム構成図である。図2に示すように、フロントエンドプロセッサ(FEP)100は、2つのネットワーク11,12の間に配置されている。ネットワーク11には、複数のサーバ21〜23が接続されている。ネットワーク12には、複数のルータ31〜34が接続されている。
【0031】
ルータ31は、ネットワーク41を介して、複数のクライアント51、52に接続されている。ルータ32は、ネットワーク42を介して、複数のクライアント53,54に接続されている。ルータ33は、ネットワーク43を介して、複数のクライアント55,56に接続されている。ルータ34は、ネットワーク44を介して、複数のクライアント57,58に接続されている。
【0032】
FEP100は、ルータ31〜34に対して、サーバ21〜23への通信経路を表すルート情報を通知する。また、FEP100は、ルータ31〜34を介して、クライアント51〜58からサーバ21〜23に対する処理を要求するパケットを受け取ると、そのパケットを各サーバ21〜23の機能に応じて、いずれかのサーバに振り分ける。
【0033】
複数のサーバ21〜23は、クライアント51〜58に処理機能を提供するホストシステムを構成している。各サーバ21〜23は、クライアント51〜58からの処理要求のパケットをFEP100を介して受け取り、そのパケットに応答して、各種処理を実行する。
【0034】
ルータ31〜34は、通信相手(クライアント51〜58)とFEP100とを接続する中継装置である。ルータ31〜34は、FEP100から送られるルート情報に基づいて、クライアント51〜58から出力されたパケットを、FEP100に転送する。また、各ルータ31〜34は、ルート情報(RIP:Routing Information Protocol)およびARP(Address Resolution Protocol)を受信することにより、ネットワーク12、41〜44を介して接続されている装置のIPアドレスおよびMACアドレスを認識する。なお、ルータ31のネットワーク12側のIPアドレスは「IPadd#31」である。ルータ32のネットワーク12側のIPアドレスは「IPadd#32」である。ルータ33のネットワーク12側のIPアドレスは「IPadd#33」である。ルータ34のネットワーク12側のIPアドレスは「IPadd#34」である。
【0035】
クライアント51〜58は、目的/用途/地域等でグループ化されている。クライアント51〜58は、ユーザの操作入力に応答して、グループごとに専用の中継装置(ルータ31〜34)を介して、複数のサーバ21〜23で構成されるホストシステムに対して処理を要求するパケットを出力する。そのパケットは、FEP100により振り分けられる。これにより、クライアント51〜58とサーバ21〜23との間で通信が行われる。
【0036】
図3は、FEPの内部構成を示すブロック図である。FEP100は、2つの通信アダプタ110,120と、複数のプロセッサモジュール(PM)130,140,150とを有している。各PM130,140,150には、識別情報が設定されている。PM130の識別情報は「PM#1」、PM140の識別情報は「PM#2」、PM150の識別情報は「PM#3」である。なお、FEP100内には、実際には存在しないPM用の識別情報「PM#4」も定義されている。
【0037】
通信アダプタ110は、ネットワーク11に接続されているとともに、接続ポート111〜114を介して、各PM130,140,150に接続されている。そして、通信アダプタ110は、PM130,140,150とネットワーク11との間のパケットを、相互に伝達する。
【0038】
また、通信アダプタ110には、複数のMACアドレス(物理アドレス)が定義されており、各PM130,140,150に接続する接続ポート111〜114に対して、それぞれ1つずつのMACアドレスを割り当てている。図3の例では、PM130が接続された接続ポート111には、MACアドレス「MACadd#11」が割り当てられている。PM140が接続された接続ポート112には、MACアドレス「MACadd#12」が割り当てられている。PM150が接続された接続ポート113には、MACアドレス「MACadd#13」が割り当てられている。また、通信アダプタ110は、実際には存在しないPM(PM#4)に対応する接続ポート114に対しても、MACアドレス「MACadd#14」を割り当てている。
【0039】
通信アダプタ120は、ネットワーク12に接続されているとともに、接続ポート121〜124を介して、各PM130,140,150に接続されている。そして、通信アダプタ120は、PM130,140,150とネットワーク12との間のパケットを相互に伝達する。
【0040】
また、通信アダプタ120には、複数のMACアドレスが定義されており、各PM130,140,150に接続する接続ポート121〜124に対して、それぞれ1つずつのMACアドレスを割り当てている。図3の例では、PM130が接続された接続ポート121には、MACアドレス「MACadd#21」が割り当てられている。PM140が接続された接続ポート122には、MACアドレス「MACadd#22」が割り当てられている。PM150が接続された接続ポート123には、MACアドレス「MACadd#23」が割り当てられている。また、通信アダプタ120は、実際には存在しないPM(PM#4)に対応する接続ポート124に対しても、MACアドレス「MACadd#24」を割り当てている。
【0041】
複数のPM130,140,150は、それぞれCPU(Central Processing Unit)やRAM(Random Access Memory)を内蔵しており、各PM130,140,150が個別のコンピュータとしての機能を有している。各PM130,140,150は、互いにバス101によって通信可能に接続されている。また、各PM130,140,150は、それぞれ2つの通信ポートを有している。一方の通信ポート131,141,151は通信アダプタ110に接続され、他方の通信ポート132,142,152は通信アダプタ120に接続されている。
【0042】
PM130,140,150では、各通信ポート131,132,141,142,151,152に対して、IPアドレスが割り振られている。PM130では、通信アダプタ110に接続された通信ポート131に、IPアドレス「IPadd#11」が設定されており、通信アダプタ120に接続された通信ポート132に、IPアドレス「IPadd#21」が設定されている。PM140では、通信アダプタ110に接続された通信ポート141に、IPアドレス「IPadd#12」が設定されており、通信アダプタ120に接続された通信ポート142に、IPアドレス「IPadd#22」が設定されている。PM150では、通信アダプタ110に接続された通信ポート151に、IPアドレス「IPadd#13」が設定されており、通信アダプタ120に接続された通信ポート152に、IPアドレス「IPadd#23」が設定されている。
【0043】
また、FEP100では、実際には存在しないPM(PM#4)に対してもIPアドレスが割り振られている。実際には存在しないPM(PM#4)では、通信アダプタ110に接続される通信ポートに、IPアドレス「IPadd#14」が設定されており、通信アダプタ120に接続される通信ポートに、IPアドレス「IPadd#24」が設定されている。
【0044】
なお、実際には存在しないPM(PM#4)に関する定義内容は、実在するPM130,140,150の何れか1つの内部に格納されている。
次に、FEP100内の各PM130,140,150における処理機能について説明する。
【0045】
まず、図4〜6を参照して、本実施の形態で行われるパケット転送の状態遷移について概念的に説明する。本実施の形態のFEP100では、PMへのルータの割り当てのとき、あるPMの負荷が過大となったとき、およびFEP全体の負荷が過大となったときに、ルート情報の内容が変更され、パケットの転送経路が変化する。
【0046】
図4は、各PMへのルータの割り当てのときの状態遷移を示す図である。
[ステップS1]各PM130,140,150に対してルータ31〜34が割り当てられると、PM130,140,150からルータ31〜34へ、ルート情報が送信される。図4の例では、PM130にルータ31,32が割り当てられ、PM140にルータ33が割り当てられ、PM150にルータ34が割り当てられている。このとき、各PM130,140,150は、自己に割り当てられたルータに対してのみ、PM130,140,150を経由してサーバ21〜23が接続されていること示すルート情報61〜64を送信する。すなわち、PM130は、ルータ31,32に対して、PM130を経由してサーバ21〜23が接続されていること示すルート情報61,62を送信する。PM140は、ルータ33に対して、PM140を経由してサーバ21〜23が接続されていること示すルート情報63を送信する。PM150は、ルータ34に対して、PM150を経由してサーバ21〜23が接続されていること示すルート情報64を送信する。
【0047】
[ステップS2]各ルータ31〜34は、サーバ21〜23への経路を示すルート情報を送信してきたPM130,140,150を中継して、サーバ21〜23へパケットを送信する。すなわち、ルータ31、32はPM130経由でサーバ21〜23へパケットを送信し、ルータ33はPM140経由でサーバ21〜23へパケットを送信し、ルータ34はPM150経由でサーバ21〜23へパケットを送信する。
【0048】
このように、各PM130,140,150が、割り当てられたルータにしかルート情報を通知しないようにしたことで、各ルータ31〜34がサーバ21〜23に対してパケットを送信するときの中継先を、FEP100において制御することができる。これにより、多数のルータ31〜34から送信されたパケットが一部のPMに集中することを、防止することができる。すなわち、FEP100側の制御によって、各PMの負荷を適切に分散させることが可能となる。
【0049】
その後、あるPMにおいて負荷が過大となると、そのPMに割り当てられていたルータの割当先が、他のPMに変更される。
図5は、PM単体での負荷が過大となったときの状態遷移を示す図である。
【0050】
[ステップS3]たとえば、PM130の負荷が過大になると、PM130に割り当てられていたルータ32に対して、パケット転送経路変更のためのルート情報65が送信される。図5の例では、PM140からルータ32に対して、ルート情報65が送信されている。ルート情報65では、PM130を経由してサーバ21〜23が接続されていないこと、およびPM140を経由してサーバ21〜23が接続されていることが示されている。
【0051】
[ステップS4]ルータ32がサーバ21〜23へパケットを送信する際の中継先のPMが変更される。他のルータ31,33,34は、以前と同じ経路でパケットを送信する。すなわち、ルータ31はPM130経由でサーバ21〜23へパケットを送信し、ルータ32,33はPM140経由でサーバ21〜23へパケットを送信し、ルータ34はPM150経由でサーバ21〜23へパケットを送信する。
【0052】
このように、負荷が過大となったPMへのルータの割り当てを減らし、別のPMに割り当てることにより、複数のPM間の負荷分散を動的に行うことができる。
その後、FEP100全体での負荷が過大となると、最も優先順の低いルータを経由したパケットが廃棄される。
【0053】
図6は、FEP全体での負荷が過大となったときの状態遷移を示す図である。
[ステップS5]たとえば、ルータ32の優先順が最も低かった場合、FEP100全体の負荷が過大になると、ルータ32に対して、実在しないPMへパケット転送経路を変更させるためのルート情報66が送信される。図6の例では、PM140からルータ32に対して、ルート情報66が送信されている。ルート情報66では、PM140を経由してサーバ21〜23が接続されていないこと、および実在しないPM(PM#4)を経由してサーバ21〜23が接続されていることが示されている。
【0054】
[ステップS6]各ルータ32がサーバ21〜23へパケットを送信する際の中継先のPMが変更される。他のルータ31,33,34は、以前と同じ経路でパケットを送信する。すなわち、ルータ31はPM130経由でサーバ21〜23へパケットを送信し、ルータ32は、実際には存在しないPM(PM#4)に対してパケットを送信し、ルータ33はPM140経由でサーバ21〜23へパケットを送信し、ルータ34はPM150経由でサーバ21〜23へパケットを送信する。
【0055】
このように、ルータ32に対して、実際には存在しないPM(PM#4)に対してパケットを送信させることで、ルータ32経由で送られてくるパケットは廃棄される。すなわち、FEP100全体の負荷が過大となったときは、任意のルータ経由で送られてくるパケットが廃棄される。これにより、FEP100全体の負荷が過大となったことによるFEP100の機能低下を回避することができる。
【0056】
以上のような処理を実現するためのFEP100内の処理機能について、以下に説明する。
図7は、FEP内のPMの処理機能を示す機能ブロック図である。PM130は、通信ポート131,132、サーバ側通信部133、クライアント側通信部134、ルーティング処理部135、および通信情報管理部136で構成されている。サーバ側通信部133は、通信ポート131を介して、ネットワーク11に接続されており、ネットワーク11を介した通信を制御する。クライアント側通信部134は、通信ポート132を介して、ネットワーク12に接続されており、ネットワーク12を介した通信を制御する。
【0057】
ルーティング処理部135は、サーバ側通信部133とクライアント側通信部134とに接続されており、サーバ側通信部133とクライアント側通信部134との間で交換されるパケットのルーティング処理を行う。なお、ルーティング処理部135は、クライアント側通信部134から受け取ったパケットのルーティングを行う際には、ネットワーク11に接続された各サーバの能力等を判断し、パケットの宛先の振り分け先を決定する。そして、ルーティング処理部135は、決定された振り分け先のサーバのアドレスをパケットの宛先に設定し、そのパケットをサーバ側通信部133に渡す。
【0058】
なお、ルーティング処理部135は、サーバ21〜23への通信経路を示すルート情報(RIP)の同報送信は行わず、通信情報管理部136から通知されたルータに対してのみルート情報を送信する。すなわち、ルーティング処理部135は、通信情報管理部136から、PM130に割り当てられたルータのIPアドレスを受け取ると、サーバ21〜23へPM130経由の通信経路を示すルート情報を生成する。そして、ルーティング処理部135は、PM130に割り当てられたルータのIPアドレスを宛先として、ルート情報をクライアント側通信部134に渡す。
【0059】
また、ルーティング処理部135は、通信情報管理部136からの要求に応じて生成した各種ルート情報を、クライアント側通信部134を介してネットワーク12に出力する。たとえば、ルーティング処理部135は、他のPMに割り当てられていたルータのPM130への割り当て要求を、通信情報管理部136から受け取ると、割り当ての変更に応じたルート情報を生成する。そのルート情報には、ルータが割り当てられていた元のPMを介した通信ができないこと、およびPM130を介した通信が可能であることを示す情報が含まれる。
【0060】
また、ルーティング処理部135は、あるルータから出力されるパケットの廃棄要求を、通信情報管理部136から受け取ると、廃棄要求に応じたルート情報を生成する。そのルート情報には、ルータが割り当てられていた元のPMを介した通信ができないこと、および実際には存在しないPM(PM#4)を介した通信が可能であることを示す情報が含まれる。
【0061】
通信情報管理部136は、ルーティング処理部135における処理の内容を監視している。そして、通信情報管理部136は、ルーティング処理部135の処理状況を示す情報を、PM150の負荷制御部157に通知する。処理状況を示す情報には、たとえば、ルーティング処理部135を介して確立されたコネクションの数や、単位時間当たりにルーティング処理部135が中継したパケット数が含まれる。
【0062】
また、通信情報管理部136は、負荷制御部157からルータの割り当てに関する情報を受け取ると、割り当てられたルータのIPアドレスをルーティング処理部135に通知する。割り当てられたルータが、以前別のPMに割り当てられていた場合には、通信情報管理部136は、以前割り当てられていたPMのIPアドレスを含めてルーティング処理部135に通知する。さらに、通信情報管理部136は、負荷制御部157からあるルータから出力されるパケットの廃棄が指示されると、そのルータのIPアドレスを指定したパケットの廃棄要求をルーティング処理部135に渡す。
【0063】
PM140は、通信ポート141,142、サーバ側通信部143、クライアント側通信部144、ルーティング処理部145、および通信情報管理部146で構成されている。サーバ側通信部143は、通信ポート141を介して、ネットワーク11に接続されており、ネットワーク11を介した通信を制御する。クライアント側通信部144は、通信ポート142を介して、ネットワーク12に接続されており、ネットワーク12を介した通信を制御する。ルーティング処理部145の機能は、PM130のルーティング処理部135と同様である。また、通信情報管理部146の機能は、PM130の通信情報管理部136と同様である。
【0064】
PM150は、通信ポート151,152、サーバ側通信部153、クライアント側通信部154、ルーティング処理部155、通信情報管理部156、および負荷制御部157で構成されている。サーバ側通信部153は、通信ポート151を介して、ネットワーク11に接続されており、ネットワーク11を介した通信を制御する。クライアント側通信部154は、通信ポート152を介して、ネットワーク12に接続されており、ネットワーク12を介した通信を制御する。ルーティング処理部155の機能は、PM130のルーティング処理部135と同様である。また、通信情報管理部156の機能は、PM130の通信情報管理部136と同様である。
【0065】
負荷制御部157は、各PM130,140,150の通信情報管理部136,146,156に接続されている。そして、負荷制御部157は、各通信情報管理部136,146,156から、ルーティング処理状況を示す情報を収集する。そして、負荷制御部157は、収集した情報に基づいて、各PM130,140,150の処理負荷を判断する。
【0066】
図8は、負荷制御部の機能の詳細を示すブロック図である。負荷制御部157は、ルータ割り当て定義テーブル157a、負荷情報管理テーブル157b、廃棄パケット管理情報157c、担当グループ通知部157d、負荷監視部157e、処理代行依頼部157f、およびパケット廃棄依頼部157gを有している。
【0067】
ルータ割り当て定義テーブル157aには、各PM130,140,150に割り当てるルータのIPアドレスが予め設定されている。
負荷情報管理テーブル157bには、各PM130,140,150の処理能力、許容負荷、および現在負荷の情報が登録されている。
【0068】
廃棄パケット管理情報157cには、ルータ優先順テーブル157caと廃棄パケット用IPアドレス157cbとが含まれている。ルータ優先順テーブル157caは、各ルータに関して、通信可能な状態を保持する順位が設定されている。廃棄パケット用IPアドレス157cbには、廃棄パケットの送信先となるIPアドレスが設定される。本実施の形態では、実際には存在しないPM(PM#4)のIPアドレス「IPadd#24」が、廃棄パケット用IPアドレス157cbとして設定される。
【0069】
担当グループ通知部157dは、ルータ割り当て定義テーブル157aと各PM130,140,150の通信情報管理部136,146,156とに接続されている。担当グループ通知部157dは、ルータ割り当て定義テーブル157aを参照し、各通信情報管理部136,146,156に対して、対応するPM130,140,150に割り当てられたルータのIPアドレスを通知する。
【0070】
負荷監視部157eは、負荷情報管理テーブル157bと各PM130,140,150の通信情報管理部136,146,156とに接続されている。負荷監視部157eは、通信情報管理部136,146,156から各PM130,140,150の処理状況を示す情報(コネクション数や単位時間当たりのパケット数)などを収集し、負荷情報管理テーブル157bに登録する。また、負荷監視部157eは、負荷情報管理テーブル157bを参照し、FEP100全体での負荷が許容値を超えていないかどうか、およびPM単体での負荷が許容値を超えたPMが有るか否かを判断する。
【0071】
FEP100全体での負荷が許容値を超えた場合には、負荷監視部157eは、パケット廃棄依頼部157gに対して、負荷の軽減を要求する。また、負荷監視部157eは、単体での負荷が許容値を超えたPMがあった場合、そのPMへの負荷の軽減を、処理代行依頼部157fに要求する。負荷の軽減を要求する際、負荷監視部157eは、負荷情報管理テーブル157bを参照し、処理能力に余裕のあるPMを判断し、そのPMを指定する情報を、処理代行依頼部157fやパケット廃棄依頼部157gに通知する。
【0072】
処理代行依頼部157fは、負荷監視部157eから、負荷が許容値を超えたPMの負荷の軽減要求を受け取ると、ルータ割り当て定義テーブル157aを参照し、負荷が許容値を超えたPMに割り当てられているルータのIPアドレスを取得する。そして、処理代行依頼部157fは、負荷に余裕のあるPMに対して処理の代行を依頼する。処理の代行の依頼では、負荷が許容値を超えたPMに割り当てられていたルータを、負荷に余裕のあるPMに振り替えることが通知される。具体的には、処理の代行の依頼において、負荷が許容値を超えたPMの通信アダプタ120に接続されたポートのIPアドレス、そのPMに割り当てられていたルータのIPアドレスが通知される。
【0073】
パケット廃棄依頼部157gは、負荷監視部157eから、FEP100の負荷が許容値を超えたことによる負荷の軽減要求を受け取ると、廃棄パケット管理情報157cのルータ優先順テーブル157caを参照する。そして、パケット廃棄依頼部157gは、ルータ優先順テーブル157caから、まだパケットが廃棄対象となっていないルータの中で、最も優先順が低いルータのIPアドレスを取得する。
【0074】
さらに、パケット廃棄依頼部157gは、廃棄パケット管理情報157cを参照し、廃棄パケット用IPアドレス157cbに登録されているIPアドレスを取得する。そして、パケット廃棄依頼部157gは、負荷に余裕のあるPMに対して、パケットの廃棄を依頼する。パケットの廃棄依頼には、ルータ優先順テーブル157caから取得した優先順の低いルータのIPアドレスと、廃棄パケット用のIPアドレスとが含まれる。
【0075】
図9は、ルータ割り当て定義テーブルのデータ構造例を示す図である。ルータ割り当て定義テーブル157aには、PM番号の欄とルータIPアドレスの欄とが設けられている。各欄の横に並べられた情報同士が互いに関連づけられている。
【0076】
PM番号の欄には、FEP100内に実装された各PM130,140,150の識別番号が登録される。ルータIPアドレスの欄には、各PM130,140,150に割り当てられたルータのIPアドレスが登録されている。
【0077】
図9の例では、PM番号「PM#1」のPM130に、IPアドレス「IPadd#31」のルータ31とIPアドレス「IPadd#32」のルータ32とが割り当てられている。PM番号「PM#2」のPM140に、IPアドレス「IPadd#33」のルータ33が割り当てられている。PM番号「PM#3」のPM150に、IPアドレス「IPadd#34」のルータ34が割り当てられている。
【0078】
図10は、負荷情報管理テーブルのデータ構造例を示す図である。負荷情報管理テーブル157bには、管理対象、処理能力、許容負荷、および現在負荷の欄が設けられている。各欄の横方向に並べられた情報同士が互いに関連づけられている。
【0079】
管理対象の欄には、FEP100内に実装された各PM130,140,150の識別番号、またはFEP全体の指定情報が登録される。処理能力の欄には、各PM130,140,150の処理能力がコネクション数換算で登録されている。許容負荷の欄には、各PM130,140,150が円滑に処理を実行可能な負荷の許容値が、処理能力に対する割合で示されている。現在負荷の欄には、各PM130,140,150の現在の処理負荷がコネクション数換算で登録されている。実際の処理をコネクション数に換算する場合、たとえば、100パケットを1コネクションに換算する。
【0080】
図10の例では、PM番号「PM#1」のPM130の処理能力は、「2000(コネクション)」であり、許容負荷は「80%(1600コネクション)」であり、現在負荷は「1521(コネクション)」である。PM番号「PM#2」のPM140の処理能力は、「1500(コネクション)」であり、許容負荷は「80%(1200コネクション)」であり、現在負荷は「845(コネクション)」である。PM番号「PM#3」のPM150の処理能力は、「1700(コネクション)」であり、許容負荷は「75%(1275コネクション)」であり、現在負荷は「1300(コネクション)」である。FEP100全体の処理能力は「5200(コネクション)」であり、許容負荷は「75%(3900コネクション)」であり、現在負荷は「3666(コネクション)」である。
【0081】
この例では、PM150の現在負荷が許容負荷を超えており、PM150に割り当てられているルータ34を別のPMに割り当てる必要がある。なお、各PM130,140,150の処理能力は、搭載されているメモリの容量などによって変化する。
【0082】
図11は、ルータ優先順テーブルのデータ構造例を示す図である。ルータ優先順テーブル157caには、優先順の欄、ルータIPアドレスの欄、および状態の欄が設けられている。各欄の横方向に並べられた情報同士が互いに関連づけられている。
【0083】
優先順の欄には、各ルータに設定される優先順を表す数値が登録される。数値が小さいほど、優先順が高いものとする。ルータIPアドレスの欄には、優先順に対応するルータのIPアドレスが登録される。状態の欄には、優先順に対応するルータの状態が登録される。状態には「通信可」と「廃棄」とがある。ルータからホストシステムへのパケットの送信が可能な場合、そのルータの状態は「通信可」となる。ルータから出力されたパケットが廃棄されている場合、そのルータの状態は「廃棄」となる。
【0084】
以上のような構成のFEP100において実行される処理の詳細を、以下に説明する。
まず、各PMに割り当てられたルータに対して、ルート情報を送信する処理について説明する。
【0085】
図12は、PMに割り当てられたルータへのルート情報送信処理の手順を示すフローチャートである。以下、図12に示す処理をステップ番号に沿って説明する。この処理は、たとえば、FEP100が起動した際に実行される。
【0086】
[ステップS11]負荷制御部157の担当グループ通知部157dは、ルータ割り当て定義テーブル157aを参照する。
[ステップS12]担当グループ通知部157dは、ルータ割り当て定義テーブル157aから未処理のPMを1つ選択する。
【0087】
[ステップS13]担当グループ通知部157dは、ステップS12で選択したPMに割り当てられたルータのIPアドレスを、選択したPMの通信情報管理部に通知する。
[ステップS14]ルータのIPアドレスを受け取った通信情報管理部は、ルーティング処理部に、ルータのIPアドレスを渡す。ルーティング処理部は、渡されたIPアドレスを宛先として、ネットワーク11に接続された各サーバ21〜23への通信経路を示すルート情報を生成する。
【0088】
[ステップS15]ルーティング処理部は、生成したルート情報を、クライアント側通信部に渡す。クライアント側通信部は、PMに割り当てられたルータへルート情報を送信する。以後、ルーティング処理部は、PMに割り当てられたルータへのルート情報の送信を定期的(たとえば、30秒間隔)に行う。
【0089】
[ステップS16]負荷制御部157の担当グループ通知部157dは、未選択のPMがあるか否かを判断する。未選択のPMがあれば処理がステップS12に進められる。未選択のPMがなければ処理が終了する。
【0090】
次に、処理負荷に応じたルータ割り当ての振り替え処理について説明する。
図13は、ルータ割り当て振り替え処理の手順を示すフローチャートである。以下、図13に示す処理をステップ番号に沿って説明する。なお、この処理は、所定の周期で繰り返し実行される。
【0091】
[ステップS21]負荷制御部157の負荷監視部157eは、各PM130,140,150の通信情報管理部136,146,156から処理状況を示す情報を収集する。
[ステップS22]負荷監視部157eは、各PM130,140,150の負荷を、コネクション数に換算する。そして、負荷監視部157eは、負荷情報管理テーブル157bの現在負荷の欄の値を更新する。
【0092】
[ステップS23]負荷監視部157eは、負荷情報管理テーブル157bを参照し、FEP100のシステム全体の負荷が、許容負荷を超えているか否かを判断する。システム全体の負荷が許容負荷を超えている場合には、処理がステップS29に進められる。システム全体の負荷が許容負荷を超えていない場合には、処理がステップS24に進められる。
【0093】
[ステップS24]負荷監視部157eは、負荷情報管理テーブル157bを参照し、単体で処理負荷が許容負荷を超えたPMがあるか否かを判断する。許容負荷を超えたPMがある場合には、処理がステップS25に進められる。許容負荷を超えたPMがない場合には、処理が終了する。
【0094】
[ステップS25]負荷監視部157eは、負荷情報管理テーブル157bを参照し、負荷に余裕のあるPMを選択する。たとえば、現在負荷が許容負荷を超えていないPMのなかで、許容負荷(コネクション数換算)と現在負荷(コネクション数換算)との間の差分が最も大きいPMが選択される。
【0095】
[ステップS26]負荷監視部157eは、処理負荷を超えたPMのPM番号とステップS25で選択したPM(負荷に余裕のあるPM)のPM番号とを含む負荷の軽減要求を、処理代行依頼部157fに渡す。処理代行依頼部157fは、ルータ割り当て定義テーブル157aを参照し、負荷が許容値を超えたPMに割り当てられているルータのIPアドレスを取得する。そして、処理代行依頼部157fは、負荷に余裕のあるPMに対して処理の代行を依頼する。
【0096】
[ステップS27]処理の代行依頼を受け取ったPMの通信情報管理部は、新たに割り当てられたルータのIPアドレスと、そのルータが以前割り当てられていたPMのIPアドレスとを、ルーティング処理部に渡す。すると、ルーティング処理部は、振り替え対象のルータを宛先として、選択されたPMを経由した通信のルート情報を生成する。そのルート情報には、許容負荷を超えたPMを経由した通信が不可能であることを示す情報が含まれている。
【0097】
[ステップS28]ルーティング処理部は、生成したルート情報をクライアント側通信部に渡す。クライアント側通信部は、振り替え対象のルータへ、ルート情報を送信する。その後、処理が終了する。なお、このルート情報は、その後も定期的に送信される。
【0098】
[ステップS29]負荷監視部157eは、負荷情報管理テーブル157bを参照し、負荷に余裕のあるPMを選択する。そして、負荷監視部157eは、パケット廃棄依頼部157gに対して、負荷の軽減要求を渡す。
【0099】
[ステップS30]パケット廃棄依頼部157gは、ルータ優先順テーブル157caを参照し、まだパケットが廃棄対象となっていないルータ(状態が「通信可」)の中で、最も優先順が低いルータを選択する。
【0100】
[ステップS31]パケット廃棄依頼部157gは、廃棄パケット用IPアドレス157cbを参照して、廃棄用のIPアドレスを認識する。そして、パケット廃棄依頼部157gは、負荷に余裕のあるPMに対して、パケットの廃棄を依頼する。
【0101】
[ステップS32]負荷に余裕のあるPMの通信情報管理部は、廃棄用のIPアドレスと、実在しないPMに割り当てられるルータのIPアドレスとを、ルーティング処理部に渡す。ルーティング処理部は、振り替え対象のルータを宛先として、実在しないPMを経由した通信のルート情報を生成する。このルート情報には、ルータに割り当てられていたPMを経由した通信が不可能であることを示す情報が含まれている。
【0102】
[ステップS33]ルーティング処理部は、生成したルート情報をクライアント側通信部に渡す。クライアント側通信部は、振り替え対象のルータへ、ルート情報を送信する。その後、処理が終了する。なお、このルート情報は、その後も定期的に送信される。
【0103】
次に、ルート情報の具体例について説明する。
図14は、PM自身に割り当てられたルータに対するルート情報の一例を示す図である。このルート情報200は、PM130が、自身に割り当てられたルータ31に対して送信するルート情報である。
【0104】
ルート情報200は、IPヘッダ210、UDP(User Datagram Protocol)ヘッダ220、およびデータ230で構成される。
IPヘッダ210には、宛先IPアドレスと送信元IPアドレスとが含まれている。この例では、宛先IPアドレスに、ルータ31のIPアドレス「IPadd#31」が設定されている。また、送信元IPアドレスに、PM130のIPアドレス(通信アダプタ120側)「IPadd#21」が設定されている。
【0105】
UDPヘッダ220には、ポート番号が含まれている。この例では、ポート番号に「520」が設定されている。ポート番号520は、このルート情報200のパケットが、RIPであることを示している。
【0106】
データ230には、サーバ毎の経路定義231,232,・・・が登録されている。各経路定義231,232,・・・には、サーバIPアドレスとメトリックとが含まれている。メトリックは、対応するサーバまでの距離(中継するルータの数)を表している。メトリックは、1〜15が有効な値である、メトリックに16が設定された場合、対応するサーバへの通信が不可能であることを示している。
【0107】
この例では、サーバ21に対応する経路定義231のサーバIPアドレスに、サーバ21のIPアドレス「IPadd#11」が設定されている。サーバ21に対応する経路定義231のメトリックは1である。また、サーバ22に対応する経路定義232のサーバIPアドレスに、サーバ22のIPアドレス「IPadd#12」が設定されている。サーバ22に対応する経路定義232のメトリックは1である。同様に、他のサーバに対応する経路定義においても、メトリックを1〜15の有効な値とすることで、送信元であるPM130を経由して、各サーバ21〜23にアクセスできることが示される。
【0108】
このようなルート情報を、PM130に割り当てられたルータ31にのみ送信することで、ルータ31のみが、PM130を経由したサーバ21〜23へのアクセスを行うことができる。その結果、以後、ルータ31経由でサーバ21〜23へ送られるパケットは、PM130を介して転送される。
【0109】
図15は、他のPMから振り替えられたルータに対するルート情報の一例を示す図である。このルート情報300は、PM140が、ルータ31の割当先を、PM130からPM140に振り替えるためのルート情報である。
【0110】
ルート情報300は、IPヘッダ310、UDP(User Datagram Protocol)ヘッダ320、およびデータ330で構成される。
IPヘッダ310には、宛先IPアドレスと送信元IPアドレスとが含まれている。この例では、宛先IPアドレスに、ルータ31のIPアドレス「IPadd#31」が設定されている。また、送信元IPアドレスに、PM140のIPアドレス(通信アダプタ120側)「IPadd#22」が設定されている。
【0111】
UDPヘッダ320には、ポート番号が含まれている。この例では、ポート番号に「520」が設定されている。データ330には、サーバ毎の経路定義331,332,・・・が登録されている。各経路定義331,332,・・・には、サーバIPアドレスとメトリックとの組、並びにサーバIPアドレス、ネクストホップ、およびメトリックの組が含まれている。
【0112】
この例では、サーバ21に対応する経路定義331のサーバIPアドレスとメトリックとの組には、それぞれサーバ21のIPアドレス「IPadd#11」、メトリック1が設定されている。サーバ21に対応する経路定義331のサーバIPアドレス、ネクストホップ、およびメトリックの組には、それぞれサーバ21のIPアドレス「IPadd#11」、PM130のIPアドレス「IPadd#21」、メトリック16が設定されている。サーバ22に対応する経路定義332のサーバIPアドレスとメトリックとの組には、それぞれサーバ22のIPアドレス「IPadd#12」、メトリック1が設定されている。サーバ22に対応する経路定義332のサーバIPアドレス、ネクストホップ、およびメトリックの組には、それぞれサーバ22のIPアドレス「IPadd#12」、PM130のIPアドレス「IPadd#21」、メトリック16が設定されている。
【0113】
このようなルート情報300を、PM130に割り当てられたルータ31にのみ送信することで、ルータ31は、PM130を経由したサーバ21〜23へのアクセスができないこと、およびPM140を経由したサーバ21〜23へのアクセスが可能であることを認識できる。すなわち、各サーバの経路定義において、ネクストホップに設定されたPM130のメトリックが16であることにより、ルータ31は、PM130を経由した経路上に、サーバ21〜23が存在しないものと認識する。その結果、以後、ルータ130経由でサーバ21〜23へ送られるパケットは、PM140を介して転送される。
【0114】
図16は、パケット廃棄対象のルータに対するルート情報の一例を示す図である。このルート情報400は、PM140が、ルータ31の割当先を、実際には存在しないPM(PM#4)に振り替えるためのルート情報である。このルート情報は、ルータ31を経由したパケットを廃棄することが決定されたときに出力される。
【0115】
ルート情報400は、IPヘッダ410、UDP(User Datagram Protocol)ヘッダ420、およびデータ430で構成される。
IPヘッダ410には、宛先IPアドレスと送信元IPアドレスとが含まれている。この例では、宛先IPアドレスに、ルータ31のIPアドレス「IPadd#31」が設定されている。また、送信元IPアドレスに、PM140のIPアドレス(通信アダプタ120側)「IPadd#22」が設定されている。
【0116】
UDPヘッダ420には、ポート番号が含まれている。この例では、ポート番号に「520」が設定されている。データ430には、サーバ毎の経路定義431,432,・・・が登録されている。各経路定義431,432,・・・には、サーバIPアドレスとメトリックとの組、並びにサーバIPアドレス、ネクストホップ、およびメトリックの組が含まれている。
【0117】
この例では、サーバ21に対応する経路定義431のサーバIPアドレスとメトリックとの組には、それぞれサーバ21のIPアドレス「IPadd#11」、メトリック16が設定されている。サーバ21に対応する経路定義431のサーバIPアドレス、ネクストホップ、およびメトリックの組には、それぞれサーバ21のIPアドレス「IPadd#11」、実在しないPM(PM#4)のIPアドレス「IPadd#24」、メトリック1が設定されている。サーバ22に対応する経路定義432のサーバIPアドレスとメトリックとの組には、それぞれサーバ22のIPアドレス「IPadd#12」、メトリック16が設定されている。サーバ22に対応する経路定義432のサーバIPアドレス、ネクストホップ、およびメトリックの組には、それぞれサーバ22のIPアドレス「IPadd#12」、実在しないPM(PM#4)のIPアドレス「IPadd#24」、メトリック1が設定されている。
【0118】
このようなルート情報400を、PM130に割り当てられたルータ31にのみ送信することで、ルータ31は、PM130を経由したサーバ21〜23へのアクセスができないこと、および実在しないPM(PM#4)を経由したサーバ21〜23へのアクセスが可能であることを認識する。すなわち、各サーバの経路定義において、ネクストホップに設定された実在しないPM(PM#4)のメトリックが1であることにより、ルータ31は、PM(PM#4)を経由した経路上に、サーバ21〜23が最も近い距離で存在するものと認識する。その結果、以後、ルータ130経由でサーバ21〜23へ送られるパケットは、実在しないPM(PM#4)宛に送信され、FEP100において廃棄される。
【0119】
以上説明した通り、本実施の形態によれば、PMから送信するルート情報を制御することにより、FEPの各PMが受信するIPパケット量を制御することができるようになる。これにより、不特定多数の通信相手から大量にデータを受信した場合でも優先度の高い通信を保証することができる。
【0120】
通信相手(クライアント51〜58)からの通信が想定量以上に集中すると、FEP100の能力オーバとなる。このような場合に、ルータ31〜34から見てパケットの送信先(ルータ31〜34におけるルート情報のゲートウェイ)を、一時的に、通信に使用しないMACアドレス/IPアドレスに振り向ける。これにより、FEP100全体の負荷を軽減し、優先度の高い業務または相手との通信を保証することができる。
【0121】
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、フロントエンドプロセッサが有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープなどがある。光ディスクには、DVD(Digital Versatile Disc)、DVD−RAM(Random Access Memory)、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。光磁気記録媒体には、MO(Magneto-Optical disc)などがある。
【0122】
プログラムを流通させる場合には、たとえば、そのプログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【0123】
プログラムを実行するコンピュータは、たとえば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。
【図面の簡単な説明】
【0124】
【図1】本発明の実施の形態に適用される発明の概念図である。
【図2】本発明の実施の形態のシステム構成図である。
【図3】FEPの内部構成を示すブロック図である。
【図4】各PMへのルータの割り当てのときの状態遷移を示す図である。
【図5】PM単体での負荷が過大となったときの状態遷移を示す図である。
【図6】FEP全体での負荷が過大となったときの状態遷移を示す図である。
【図7】FEP内のPMの処理機能を示す機能ブロック図である。
【図8】負荷制御部の機能の詳細を示すブロック図である。
【図9】ルータ割り当て定義テーブルのデータ構造例を示す図である。
【図10】負荷情報管理テーブルのデータ構造例を示す図である。
【図11】ルータ優先順テーブルのデータ構造例を示す図である。
【図12】PMに割り当てられたルータへのルート情報送信処理の手順を示すフローチャートである。
【図13】ルータ割り当て振り替え処理の手順を示すフローチャートである。
【図14】PM自身に割り当てられたルータに対するルート情報の一例を示す図である。
【図15】他のPMから振り替えられたルータに対するルート情報の一例を示す図である。
【図16】パケット廃棄対象のルータに対するルート情報の一例を示す図である。
【符号の説明】
【0125】
1 フロントエンドプロセッサ
1a〜1c ルーティング手段
1d 負荷判断手段
1e 割り当て手段
1f ルート情報送信手段
1g パケット廃棄手段
2 第1のネットワーク
3a〜3c ルータ
4 第2のネットワーク
5a〜5c サーバコンピュータ
100 フロントエンドプロセッサ
110,120 通信アダプタ
130,140,150 プロセッサモジュール
【技術分野】
【0001】
本発明はサーバとクライアントとの間のパケットのルーティングを行うフロントエンドプロセッサ、ルーティング管理方法、ルーティング管理プログラムに関し、特に複数のプロセッサモジュールを搭載したフロントエンドプロセッサ、ルーティング管理方法、ルーティング管理プログラムに関する。
【背景技術】
【0002】
複数のサーバコンピュータ(以下、単にサーバという)で構成されるホストシステムによって、多数のクライアントコンピュータ(以下、単にクライアントという)に対して、サービスを提供することができる。ホストシステムを構成する各サーバの機能は、異なっていても良い。その場合、ホストシステムとクライアントとの間に、フロントエンドプロセッサ(以下、FEPという)と呼ばれるコンピュータが配置される。
【0003】
FEPは、サーバとクライアントとの間でパケットのルーティングを行う。パケットのルーティングを行うとき、FEPは、サーバ側の設計要件や運用要件に沿って配置された業務を、クライアントの利用者がその所在を意識せずに利用できるように、処理要求のパケットの管理/振り分けを行う。
【0004】
このように、サーバとクライアントとの間にFEPを設けた場合、FEPが停止してしまうと、サーバが提供するサービスが全て停止してしまう。そこで、FEPには複数のプロセッサモジュール(PM)が実装される。各プロセッサモジュールが、サーバとクライアントとの間のパケットのルーティング機能(パケットの振り分け機能を含む)を有している。これにより、ホストシステムの安定運用を図ることができる。
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかし、従来、複数のPMを実装したFEPにおいて、各PMの処理負荷を適切に制御することができなかった。
たとえば、FEPが動的ルーティングを行う場合、それぞれのPMから、各サーバに対する全てのルート情報(RIP:Routing Information Protocol)が送信される。どのPMを通信に使用するかは、ルート情報(RIP)を受信した他のルータの判断に依存している。他のルータは、FEP内のPMの負荷を考慮しないため、通信を行うPMに偏りが生じ、負荷を均等に保つことができなかった。
【0006】
また、従来のFEPでは、同時に多数の相手から大量にデータを受信し続けた場合、受信したデータを、システム能力を越えてまでも可能な限り処理しようとしていた。その結果、FEP全体がスローダウン状態となり、全ての相手との通信が正常に働かない事態が生じていた。
【0007】
本発明はこのような点に鑑みてなされたものであり、ルーティングを行う経路毎の負荷を適切に制御することができるフロントエンドプロセッサ、ルーティング管理方法、ルーティング管理プログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明では上記課題を解決するために、図1に示すようなフロントエンドプロセッサ1が提供される。図1に示すフロントエンドプロセッサ1は、パケットのルーティングを行うものである。
【0009】
フロントエンドプロセッサ1は、第1のネットワーク経由で入力されたパケットを、第2のネットワークへルーティングするルーティング手段1a〜1cと、ルーティング手段1a〜1cの負荷を監視し、負荷が所定値を超えたことを判断する負荷判断手段1dと、負荷判断手段1dによりルーティング手段の負荷が所定値を超えたと判断された場合には、ルーティング手段1a〜1cがルーティングすべきパケットの少なくとも一部を廃棄するパケット廃棄手段1gと、を有する。
【0010】
このようなフロントエンドプロセッサ1によれば、ルーティング手段1a〜1cにより、第1のネットワーク経由で入力されたパケットが、第2のネットワークへルーティングされる。また、負荷判断手段1dにより、ルーティング手段1a〜1cの負荷が監視され、負荷が所定値を超えたことが判断される。負荷判断手段1dによりルーティング手段1a〜1cの負荷が所定値を超えたと判断された場合には、パケット廃棄手段1gにより、ルーティング手段1a〜1cがルーティングすべきパケットの少なくとも一部が廃棄される。
【0011】
また、本発明では上記課題を解決するために、第1のネットワーク2から第2のネットワーク4へのパケットのルーティングを管理するルーティング管理方法であって、ルーティングを行う中継経路上の負荷を監視し、中継経路上の負荷が所定値を超えた場合には、第1のネットワーク2上の所定のルータから出力されるパケットの少なくとも一部を廃棄する、ことを特徴とするルーティング管理方法が提供される。
【0012】
このようなルーティング管理方法によれば、ルーティングを行う中継経路上の負荷が監視され、中継経路上の負荷が所定値を超えた場合には、第1のネットワーク2上の所定のルータから出力されるパケットの少なくとも一部が廃棄される。
【0013】
さらに、本発明では上記課題を解決するために、第1のネットワークから第2のネットワークへのパケットのルーティングを管理するためのルーティング管理プログラムであって、コンピュータに、ルーティングを行う中継経路上の負荷を監視し、前記中継経路上の負荷が所定値を超えた場合には、前記第1のネットワーク上の所定のルータから出力されるパケットの少なくとも一部を廃棄する、処理を実行させることを特徴とするルーティング管理プログラムが提供される。
【0014】
このようなルーティング管理プログラムをコンピュータに実行させれば、そのコンピュータにより、ルーティングを行う中継経路上の負荷が監視され、中継経路上の負荷が所定値を超えた場合には、第1のネットワーク2上の所定のルータから出力されるパケットの少なくとも一部が廃棄される。
【発明の効果】
【0015】
本発明では、ルーティングを行うルーティング手段の負荷を監視し、負荷が所定値を超えた場合には、第1のネットワーク上の所定のルータから出力されるパケットの少なくとも一部を廃棄するようにしたため、負荷が過大となった際にパケットを廃棄し、システム全体の応答速度の低下を防止することができる。
【発明を実施するための最良の形態】
【0016】
以下、本発明の実施の形態を図面を参照して説明する。
まず、本発明の実施の形態に適用される発明の概要について説明し、その後、本発明の実施の形態の具体的な内容を説明する。
【0017】
図1は、本発明の実施の形態に適用される発明の概念図である。本発明に係るフロントエンドプロセッサ1は、第1のネットワーク2を介して複数のルータ3a〜3cに接続されている。図1の例では、ルータ3aの識別情報を「ルータ#1」、ルータ3bの識別情報を「ルータ#2」、ルータ3cの識別情報を「ルータ#3」とする。
【0018】
また、フロントエンドプロセッサ1は、第2のネットワーク4を介して複数のサーバコンピュータ5a〜5cに接続されている。フロントエンドプロセッサ1は、第1のネットワーク2から送られるパケットを第2のネットワーク4にルーティングする。そのために、フロントエンドプロセッサ1は、複数のルーティング手段1a〜1c、負荷判断手段1d、割り当て手段1e、ルート情報送信手段1f、およびパケット廃棄手段1gを有している。
【0019】
ルーティング手段1a〜1cは、第1のネットワーク2経由で入力されたパケットを、第2のネットワーク4へルーティングする。すなわち、各ルーティング手段1a〜1cが、ルーティングの際の個別の中継経路を構成している。なお、ルーティング手段1a〜1cは、ルーティングの際、パケットで要求されている処理の内容に適したサーバコンピュータに、そのパケットを振り分ける。
【0020】
ルーティング手段1a〜1cは、たとえば、それぞれ個別のモジュールで構成される。その場合、各モジュールは、プロセッサモジュールと呼ばれる。図1の例では、ルーティング手段1aの識別情報を「PM#1」、ルーティング手段1bの識別情報を「PM#2」、ルーティング手段1cの識別情報を「PM#3」とする。
【0021】
負荷判断手段1dは、ルーティング手段1a〜1cの負荷を監視し、各ルーティング手段1a〜1cの負荷が所定値を超えたことを判断する。また、負荷判断手段1dは、フロントエンドプロセッサ1全体としての負荷が所定値を超えたことも判断する。
【0022】
割り当て手段1eは、ルーティング手段1a〜1cに対して、第1のネットワーク2上のルータを割り当てる。割り当ては、たとえば、ルーティング手段1a〜1cの識別情報と、ルータ3a〜3cの識別情報の対応関係で示される。図1の例では、ルーティング手段1aに対してルータ3aを割り当て、ルーティング手段1bに対してルータ3bを割り当て、ルーティング手段1cに対してルータ3cを割り当てている。
【0023】
ルート情報送信手段1fは、第2のネットワーク4上のサーバコンピュータ5a〜5cへのルーティング手段1a〜1c経由の通信経路を示すルート情報を、割り当て手段1eによって割り当てられたルータ3a〜3cに対して送信する。すなわち、ルーティング手段1a経由の通信経路を示すルート情報がルータ3aに送信される。ルーティング手段1b経由の通信経路を示すルート情報がルータ3bに送信される。ルーティング手段1c経由の通信経路を示すルート情報がルータ3cに送信される。
【0024】
なお、ルート情報送信手段1fは、負荷判断手段1dにおいて負荷が所定値を超えた(高負荷)と判断されたルーティング手段に対して割り当てられているルータを、他のルーティング手段に割り当てることができる。
【0025】
パケット廃棄手段1gは、フロントエンドプロセッサ1全体としての負荷が所定値を超えた(高負荷)と判断された場合、所定のルータ(たとえば、予め設定されている優先度の低いルータ)からのパケットの少なくとも一部を廃棄する。また、パケット廃棄手段1gは、何れかのルーティング手段1a〜1cの負荷が所定値を超えた(高負荷)と判断された場合、そのルーティング手段に対して割り当てられているルータからのパケットの少なくとも一部を、廃棄することができる。
【0026】
パケットを廃棄する場合、たとえば、パケット廃棄手段1gは、パケット廃棄対象のルータに対して、実際には存在しないルーティング手段経由のルート情報を送信する。これにより、そのルート情報を受け取ったルータを経由したパケットは、実際には存在しないルーティング手段宛に送信され、廃棄される。
【0027】
このようなフロントエンドプロセッサ1によれば、各ルーティング手段1a〜1c経由のルート情報は、ブロードキャストされずに、ルータ割り当て手段1eで割り当てられたルータに対して送信される。各ルータ3a〜3cは、ルート情報で通知された経路でしかサーバコンピュータ5a〜5cにアクセスできないため、ルータ割り当て手段1eで割り当てられたルーティング手段1a〜1cを経由してサーバコンピュータ5a〜5cにアクセスする。これにより、各ルーティング手段1a〜1c間の負荷バランスを、フロントエンドプロセッサ1において管理することができるようになる。
【0028】
たとえば、負荷が過大となったルーティング手段へのルータの割り当てを減らすことで、そのルーティング手段の負荷を減らすことができる。
また、フロントエンドプロセッサ1全体の負荷が過大となったら、パケット廃棄手段1gによって、任意のサーバから出力されるパケットを廃棄させることで、システム全体の処理速度の低下を防止することができる。たとえば、同時に多数の相手から大量にパケットを受信し続けた場合、そのパケットの送信元のルータからのパケットを廃棄することで、大量パケットの受信による機能低下を防御することができる。
【0029】
このように、ルータ3a〜3cからのパケットの中継経路を、負荷の高いルーティング手段から負荷の低いルーティング手段への切り換え、それでも負荷が解消されない場合は、パケットの廃棄処理を行うことで受信するデータの総量を制御することで、システムの安定稼働を図ることができる。
【0030】
以下、本発明の実施の形態を具体的に説明する。
図2は、本発明の実施の形態のシステム構成図である。図2に示すように、フロントエンドプロセッサ(FEP)100は、2つのネットワーク11,12の間に配置されている。ネットワーク11には、複数のサーバ21〜23が接続されている。ネットワーク12には、複数のルータ31〜34が接続されている。
【0031】
ルータ31は、ネットワーク41を介して、複数のクライアント51、52に接続されている。ルータ32は、ネットワーク42を介して、複数のクライアント53,54に接続されている。ルータ33は、ネットワーク43を介して、複数のクライアント55,56に接続されている。ルータ34は、ネットワーク44を介して、複数のクライアント57,58に接続されている。
【0032】
FEP100は、ルータ31〜34に対して、サーバ21〜23への通信経路を表すルート情報を通知する。また、FEP100は、ルータ31〜34を介して、クライアント51〜58からサーバ21〜23に対する処理を要求するパケットを受け取ると、そのパケットを各サーバ21〜23の機能に応じて、いずれかのサーバに振り分ける。
【0033】
複数のサーバ21〜23は、クライアント51〜58に処理機能を提供するホストシステムを構成している。各サーバ21〜23は、クライアント51〜58からの処理要求のパケットをFEP100を介して受け取り、そのパケットに応答して、各種処理を実行する。
【0034】
ルータ31〜34は、通信相手(クライアント51〜58)とFEP100とを接続する中継装置である。ルータ31〜34は、FEP100から送られるルート情報に基づいて、クライアント51〜58から出力されたパケットを、FEP100に転送する。また、各ルータ31〜34は、ルート情報(RIP:Routing Information Protocol)およびARP(Address Resolution Protocol)を受信することにより、ネットワーク12、41〜44を介して接続されている装置のIPアドレスおよびMACアドレスを認識する。なお、ルータ31のネットワーク12側のIPアドレスは「IPadd#31」である。ルータ32のネットワーク12側のIPアドレスは「IPadd#32」である。ルータ33のネットワーク12側のIPアドレスは「IPadd#33」である。ルータ34のネットワーク12側のIPアドレスは「IPadd#34」である。
【0035】
クライアント51〜58は、目的/用途/地域等でグループ化されている。クライアント51〜58は、ユーザの操作入力に応答して、グループごとに専用の中継装置(ルータ31〜34)を介して、複数のサーバ21〜23で構成されるホストシステムに対して処理を要求するパケットを出力する。そのパケットは、FEP100により振り分けられる。これにより、クライアント51〜58とサーバ21〜23との間で通信が行われる。
【0036】
図3は、FEPの内部構成を示すブロック図である。FEP100は、2つの通信アダプタ110,120と、複数のプロセッサモジュール(PM)130,140,150とを有している。各PM130,140,150には、識別情報が設定されている。PM130の識別情報は「PM#1」、PM140の識別情報は「PM#2」、PM150の識別情報は「PM#3」である。なお、FEP100内には、実際には存在しないPM用の識別情報「PM#4」も定義されている。
【0037】
通信アダプタ110は、ネットワーク11に接続されているとともに、接続ポート111〜114を介して、各PM130,140,150に接続されている。そして、通信アダプタ110は、PM130,140,150とネットワーク11との間のパケットを、相互に伝達する。
【0038】
また、通信アダプタ110には、複数のMACアドレス(物理アドレス)が定義されており、各PM130,140,150に接続する接続ポート111〜114に対して、それぞれ1つずつのMACアドレスを割り当てている。図3の例では、PM130が接続された接続ポート111には、MACアドレス「MACadd#11」が割り当てられている。PM140が接続された接続ポート112には、MACアドレス「MACadd#12」が割り当てられている。PM150が接続された接続ポート113には、MACアドレス「MACadd#13」が割り当てられている。また、通信アダプタ110は、実際には存在しないPM(PM#4)に対応する接続ポート114に対しても、MACアドレス「MACadd#14」を割り当てている。
【0039】
通信アダプタ120は、ネットワーク12に接続されているとともに、接続ポート121〜124を介して、各PM130,140,150に接続されている。そして、通信アダプタ120は、PM130,140,150とネットワーク12との間のパケットを相互に伝達する。
【0040】
また、通信アダプタ120には、複数のMACアドレスが定義されており、各PM130,140,150に接続する接続ポート121〜124に対して、それぞれ1つずつのMACアドレスを割り当てている。図3の例では、PM130が接続された接続ポート121には、MACアドレス「MACadd#21」が割り当てられている。PM140が接続された接続ポート122には、MACアドレス「MACadd#22」が割り当てられている。PM150が接続された接続ポート123には、MACアドレス「MACadd#23」が割り当てられている。また、通信アダプタ120は、実際には存在しないPM(PM#4)に対応する接続ポート124に対しても、MACアドレス「MACadd#24」を割り当てている。
【0041】
複数のPM130,140,150は、それぞれCPU(Central Processing Unit)やRAM(Random Access Memory)を内蔵しており、各PM130,140,150が個別のコンピュータとしての機能を有している。各PM130,140,150は、互いにバス101によって通信可能に接続されている。また、各PM130,140,150は、それぞれ2つの通信ポートを有している。一方の通信ポート131,141,151は通信アダプタ110に接続され、他方の通信ポート132,142,152は通信アダプタ120に接続されている。
【0042】
PM130,140,150では、各通信ポート131,132,141,142,151,152に対して、IPアドレスが割り振られている。PM130では、通信アダプタ110に接続された通信ポート131に、IPアドレス「IPadd#11」が設定されており、通信アダプタ120に接続された通信ポート132に、IPアドレス「IPadd#21」が設定されている。PM140では、通信アダプタ110に接続された通信ポート141に、IPアドレス「IPadd#12」が設定されており、通信アダプタ120に接続された通信ポート142に、IPアドレス「IPadd#22」が設定されている。PM150では、通信アダプタ110に接続された通信ポート151に、IPアドレス「IPadd#13」が設定されており、通信アダプタ120に接続された通信ポート152に、IPアドレス「IPadd#23」が設定されている。
【0043】
また、FEP100では、実際には存在しないPM(PM#4)に対してもIPアドレスが割り振られている。実際には存在しないPM(PM#4)では、通信アダプタ110に接続される通信ポートに、IPアドレス「IPadd#14」が設定されており、通信アダプタ120に接続される通信ポートに、IPアドレス「IPadd#24」が設定されている。
【0044】
なお、実際には存在しないPM(PM#4)に関する定義内容は、実在するPM130,140,150の何れか1つの内部に格納されている。
次に、FEP100内の各PM130,140,150における処理機能について説明する。
【0045】
まず、図4〜6を参照して、本実施の形態で行われるパケット転送の状態遷移について概念的に説明する。本実施の形態のFEP100では、PMへのルータの割り当てのとき、あるPMの負荷が過大となったとき、およびFEP全体の負荷が過大となったときに、ルート情報の内容が変更され、パケットの転送経路が変化する。
【0046】
図4は、各PMへのルータの割り当てのときの状態遷移を示す図である。
[ステップS1]各PM130,140,150に対してルータ31〜34が割り当てられると、PM130,140,150からルータ31〜34へ、ルート情報が送信される。図4の例では、PM130にルータ31,32が割り当てられ、PM140にルータ33が割り当てられ、PM150にルータ34が割り当てられている。このとき、各PM130,140,150は、自己に割り当てられたルータに対してのみ、PM130,140,150を経由してサーバ21〜23が接続されていること示すルート情報61〜64を送信する。すなわち、PM130は、ルータ31,32に対して、PM130を経由してサーバ21〜23が接続されていること示すルート情報61,62を送信する。PM140は、ルータ33に対して、PM140を経由してサーバ21〜23が接続されていること示すルート情報63を送信する。PM150は、ルータ34に対して、PM150を経由してサーバ21〜23が接続されていること示すルート情報64を送信する。
【0047】
[ステップS2]各ルータ31〜34は、サーバ21〜23への経路を示すルート情報を送信してきたPM130,140,150を中継して、サーバ21〜23へパケットを送信する。すなわち、ルータ31、32はPM130経由でサーバ21〜23へパケットを送信し、ルータ33はPM140経由でサーバ21〜23へパケットを送信し、ルータ34はPM150経由でサーバ21〜23へパケットを送信する。
【0048】
このように、各PM130,140,150が、割り当てられたルータにしかルート情報を通知しないようにしたことで、各ルータ31〜34がサーバ21〜23に対してパケットを送信するときの中継先を、FEP100において制御することができる。これにより、多数のルータ31〜34から送信されたパケットが一部のPMに集中することを、防止することができる。すなわち、FEP100側の制御によって、各PMの負荷を適切に分散させることが可能となる。
【0049】
その後、あるPMにおいて負荷が過大となると、そのPMに割り当てられていたルータの割当先が、他のPMに変更される。
図5は、PM単体での負荷が過大となったときの状態遷移を示す図である。
【0050】
[ステップS3]たとえば、PM130の負荷が過大になると、PM130に割り当てられていたルータ32に対して、パケット転送経路変更のためのルート情報65が送信される。図5の例では、PM140からルータ32に対して、ルート情報65が送信されている。ルート情報65では、PM130を経由してサーバ21〜23が接続されていないこと、およびPM140を経由してサーバ21〜23が接続されていることが示されている。
【0051】
[ステップS4]ルータ32がサーバ21〜23へパケットを送信する際の中継先のPMが変更される。他のルータ31,33,34は、以前と同じ経路でパケットを送信する。すなわち、ルータ31はPM130経由でサーバ21〜23へパケットを送信し、ルータ32,33はPM140経由でサーバ21〜23へパケットを送信し、ルータ34はPM150経由でサーバ21〜23へパケットを送信する。
【0052】
このように、負荷が過大となったPMへのルータの割り当てを減らし、別のPMに割り当てることにより、複数のPM間の負荷分散を動的に行うことができる。
その後、FEP100全体での負荷が過大となると、最も優先順の低いルータを経由したパケットが廃棄される。
【0053】
図6は、FEP全体での負荷が過大となったときの状態遷移を示す図である。
[ステップS5]たとえば、ルータ32の優先順が最も低かった場合、FEP100全体の負荷が過大になると、ルータ32に対して、実在しないPMへパケット転送経路を変更させるためのルート情報66が送信される。図6の例では、PM140からルータ32に対して、ルート情報66が送信されている。ルート情報66では、PM140を経由してサーバ21〜23が接続されていないこと、および実在しないPM(PM#4)を経由してサーバ21〜23が接続されていることが示されている。
【0054】
[ステップS6]各ルータ32がサーバ21〜23へパケットを送信する際の中継先のPMが変更される。他のルータ31,33,34は、以前と同じ経路でパケットを送信する。すなわち、ルータ31はPM130経由でサーバ21〜23へパケットを送信し、ルータ32は、実際には存在しないPM(PM#4)に対してパケットを送信し、ルータ33はPM140経由でサーバ21〜23へパケットを送信し、ルータ34はPM150経由でサーバ21〜23へパケットを送信する。
【0055】
このように、ルータ32に対して、実際には存在しないPM(PM#4)に対してパケットを送信させることで、ルータ32経由で送られてくるパケットは廃棄される。すなわち、FEP100全体の負荷が過大となったときは、任意のルータ経由で送られてくるパケットが廃棄される。これにより、FEP100全体の負荷が過大となったことによるFEP100の機能低下を回避することができる。
【0056】
以上のような処理を実現するためのFEP100内の処理機能について、以下に説明する。
図7は、FEP内のPMの処理機能を示す機能ブロック図である。PM130は、通信ポート131,132、サーバ側通信部133、クライアント側通信部134、ルーティング処理部135、および通信情報管理部136で構成されている。サーバ側通信部133は、通信ポート131を介して、ネットワーク11に接続されており、ネットワーク11を介した通信を制御する。クライアント側通信部134は、通信ポート132を介して、ネットワーク12に接続されており、ネットワーク12を介した通信を制御する。
【0057】
ルーティング処理部135は、サーバ側通信部133とクライアント側通信部134とに接続されており、サーバ側通信部133とクライアント側通信部134との間で交換されるパケットのルーティング処理を行う。なお、ルーティング処理部135は、クライアント側通信部134から受け取ったパケットのルーティングを行う際には、ネットワーク11に接続された各サーバの能力等を判断し、パケットの宛先の振り分け先を決定する。そして、ルーティング処理部135は、決定された振り分け先のサーバのアドレスをパケットの宛先に設定し、そのパケットをサーバ側通信部133に渡す。
【0058】
なお、ルーティング処理部135は、サーバ21〜23への通信経路を示すルート情報(RIP)の同報送信は行わず、通信情報管理部136から通知されたルータに対してのみルート情報を送信する。すなわち、ルーティング処理部135は、通信情報管理部136から、PM130に割り当てられたルータのIPアドレスを受け取ると、サーバ21〜23へPM130経由の通信経路を示すルート情報を生成する。そして、ルーティング処理部135は、PM130に割り当てられたルータのIPアドレスを宛先として、ルート情報をクライアント側通信部134に渡す。
【0059】
また、ルーティング処理部135は、通信情報管理部136からの要求に応じて生成した各種ルート情報を、クライアント側通信部134を介してネットワーク12に出力する。たとえば、ルーティング処理部135は、他のPMに割り当てられていたルータのPM130への割り当て要求を、通信情報管理部136から受け取ると、割り当ての変更に応じたルート情報を生成する。そのルート情報には、ルータが割り当てられていた元のPMを介した通信ができないこと、およびPM130を介した通信が可能であることを示す情報が含まれる。
【0060】
また、ルーティング処理部135は、あるルータから出力されるパケットの廃棄要求を、通信情報管理部136から受け取ると、廃棄要求に応じたルート情報を生成する。そのルート情報には、ルータが割り当てられていた元のPMを介した通信ができないこと、および実際には存在しないPM(PM#4)を介した通信が可能であることを示す情報が含まれる。
【0061】
通信情報管理部136は、ルーティング処理部135における処理の内容を監視している。そして、通信情報管理部136は、ルーティング処理部135の処理状況を示す情報を、PM150の負荷制御部157に通知する。処理状況を示す情報には、たとえば、ルーティング処理部135を介して確立されたコネクションの数や、単位時間当たりにルーティング処理部135が中継したパケット数が含まれる。
【0062】
また、通信情報管理部136は、負荷制御部157からルータの割り当てに関する情報を受け取ると、割り当てられたルータのIPアドレスをルーティング処理部135に通知する。割り当てられたルータが、以前別のPMに割り当てられていた場合には、通信情報管理部136は、以前割り当てられていたPMのIPアドレスを含めてルーティング処理部135に通知する。さらに、通信情報管理部136は、負荷制御部157からあるルータから出力されるパケットの廃棄が指示されると、そのルータのIPアドレスを指定したパケットの廃棄要求をルーティング処理部135に渡す。
【0063】
PM140は、通信ポート141,142、サーバ側通信部143、クライアント側通信部144、ルーティング処理部145、および通信情報管理部146で構成されている。サーバ側通信部143は、通信ポート141を介して、ネットワーク11に接続されており、ネットワーク11を介した通信を制御する。クライアント側通信部144は、通信ポート142を介して、ネットワーク12に接続されており、ネットワーク12を介した通信を制御する。ルーティング処理部145の機能は、PM130のルーティング処理部135と同様である。また、通信情報管理部146の機能は、PM130の通信情報管理部136と同様である。
【0064】
PM150は、通信ポート151,152、サーバ側通信部153、クライアント側通信部154、ルーティング処理部155、通信情報管理部156、および負荷制御部157で構成されている。サーバ側通信部153は、通信ポート151を介して、ネットワーク11に接続されており、ネットワーク11を介した通信を制御する。クライアント側通信部154は、通信ポート152を介して、ネットワーク12に接続されており、ネットワーク12を介した通信を制御する。ルーティング処理部155の機能は、PM130のルーティング処理部135と同様である。また、通信情報管理部156の機能は、PM130の通信情報管理部136と同様である。
【0065】
負荷制御部157は、各PM130,140,150の通信情報管理部136,146,156に接続されている。そして、負荷制御部157は、各通信情報管理部136,146,156から、ルーティング処理状況を示す情報を収集する。そして、負荷制御部157は、収集した情報に基づいて、各PM130,140,150の処理負荷を判断する。
【0066】
図8は、負荷制御部の機能の詳細を示すブロック図である。負荷制御部157は、ルータ割り当て定義テーブル157a、負荷情報管理テーブル157b、廃棄パケット管理情報157c、担当グループ通知部157d、負荷監視部157e、処理代行依頼部157f、およびパケット廃棄依頼部157gを有している。
【0067】
ルータ割り当て定義テーブル157aには、各PM130,140,150に割り当てるルータのIPアドレスが予め設定されている。
負荷情報管理テーブル157bには、各PM130,140,150の処理能力、許容負荷、および現在負荷の情報が登録されている。
【0068】
廃棄パケット管理情報157cには、ルータ優先順テーブル157caと廃棄パケット用IPアドレス157cbとが含まれている。ルータ優先順テーブル157caは、各ルータに関して、通信可能な状態を保持する順位が設定されている。廃棄パケット用IPアドレス157cbには、廃棄パケットの送信先となるIPアドレスが設定される。本実施の形態では、実際には存在しないPM(PM#4)のIPアドレス「IPadd#24」が、廃棄パケット用IPアドレス157cbとして設定される。
【0069】
担当グループ通知部157dは、ルータ割り当て定義テーブル157aと各PM130,140,150の通信情報管理部136,146,156とに接続されている。担当グループ通知部157dは、ルータ割り当て定義テーブル157aを参照し、各通信情報管理部136,146,156に対して、対応するPM130,140,150に割り当てられたルータのIPアドレスを通知する。
【0070】
負荷監視部157eは、負荷情報管理テーブル157bと各PM130,140,150の通信情報管理部136,146,156とに接続されている。負荷監視部157eは、通信情報管理部136,146,156から各PM130,140,150の処理状況を示す情報(コネクション数や単位時間当たりのパケット数)などを収集し、負荷情報管理テーブル157bに登録する。また、負荷監視部157eは、負荷情報管理テーブル157bを参照し、FEP100全体での負荷が許容値を超えていないかどうか、およびPM単体での負荷が許容値を超えたPMが有るか否かを判断する。
【0071】
FEP100全体での負荷が許容値を超えた場合には、負荷監視部157eは、パケット廃棄依頼部157gに対して、負荷の軽減を要求する。また、負荷監視部157eは、単体での負荷が許容値を超えたPMがあった場合、そのPMへの負荷の軽減を、処理代行依頼部157fに要求する。負荷の軽減を要求する際、負荷監視部157eは、負荷情報管理テーブル157bを参照し、処理能力に余裕のあるPMを判断し、そのPMを指定する情報を、処理代行依頼部157fやパケット廃棄依頼部157gに通知する。
【0072】
処理代行依頼部157fは、負荷監視部157eから、負荷が許容値を超えたPMの負荷の軽減要求を受け取ると、ルータ割り当て定義テーブル157aを参照し、負荷が許容値を超えたPMに割り当てられているルータのIPアドレスを取得する。そして、処理代行依頼部157fは、負荷に余裕のあるPMに対して処理の代行を依頼する。処理の代行の依頼では、負荷が許容値を超えたPMに割り当てられていたルータを、負荷に余裕のあるPMに振り替えることが通知される。具体的には、処理の代行の依頼において、負荷が許容値を超えたPMの通信アダプタ120に接続されたポートのIPアドレス、そのPMに割り当てられていたルータのIPアドレスが通知される。
【0073】
パケット廃棄依頼部157gは、負荷監視部157eから、FEP100の負荷が許容値を超えたことによる負荷の軽減要求を受け取ると、廃棄パケット管理情報157cのルータ優先順テーブル157caを参照する。そして、パケット廃棄依頼部157gは、ルータ優先順テーブル157caから、まだパケットが廃棄対象となっていないルータの中で、最も優先順が低いルータのIPアドレスを取得する。
【0074】
さらに、パケット廃棄依頼部157gは、廃棄パケット管理情報157cを参照し、廃棄パケット用IPアドレス157cbに登録されているIPアドレスを取得する。そして、パケット廃棄依頼部157gは、負荷に余裕のあるPMに対して、パケットの廃棄を依頼する。パケットの廃棄依頼には、ルータ優先順テーブル157caから取得した優先順の低いルータのIPアドレスと、廃棄パケット用のIPアドレスとが含まれる。
【0075】
図9は、ルータ割り当て定義テーブルのデータ構造例を示す図である。ルータ割り当て定義テーブル157aには、PM番号の欄とルータIPアドレスの欄とが設けられている。各欄の横に並べられた情報同士が互いに関連づけられている。
【0076】
PM番号の欄には、FEP100内に実装された各PM130,140,150の識別番号が登録される。ルータIPアドレスの欄には、各PM130,140,150に割り当てられたルータのIPアドレスが登録されている。
【0077】
図9の例では、PM番号「PM#1」のPM130に、IPアドレス「IPadd#31」のルータ31とIPアドレス「IPadd#32」のルータ32とが割り当てられている。PM番号「PM#2」のPM140に、IPアドレス「IPadd#33」のルータ33が割り当てられている。PM番号「PM#3」のPM150に、IPアドレス「IPadd#34」のルータ34が割り当てられている。
【0078】
図10は、負荷情報管理テーブルのデータ構造例を示す図である。負荷情報管理テーブル157bには、管理対象、処理能力、許容負荷、および現在負荷の欄が設けられている。各欄の横方向に並べられた情報同士が互いに関連づけられている。
【0079】
管理対象の欄には、FEP100内に実装された各PM130,140,150の識別番号、またはFEP全体の指定情報が登録される。処理能力の欄には、各PM130,140,150の処理能力がコネクション数換算で登録されている。許容負荷の欄には、各PM130,140,150が円滑に処理を実行可能な負荷の許容値が、処理能力に対する割合で示されている。現在負荷の欄には、各PM130,140,150の現在の処理負荷がコネクション数換算で登録されている。実際の処理をコネクション数に換算する場合、たとえば、100パケットを1コネクションに換算する。
【0080】
図10の例では、PM番号「PM#1」のPM130の処理能力は、「2000(コネクション)」であり、許容負荷は「80%(1600コネクション)」であり、現在負荷は「1521(コネクション)」である。PM番号「PM#2」のPM140の処理能力は、「1500(コネクション)」であり、許容負荷は「80%(1200コネクション)」であり、現在負荷は「845(コネクション)」である。PM番号「PM#3」のPM150の処理能力は、「1700(コネクション)」であり、許容負荷は「75%(1275コネクション)」であり、現在負荷は「1300(コネクション)」である。FEP100全体の処理能力は「5200(コネクション)」であり、許容負荷は「75%(3900コネクション)」であり、現在負荷は「3666(コネクション)」である。
【0081】
この例では、PM150の現在負荷が許容負荷を超えており、PM150に割り当てられているルータ34を別のPMに割り当てる必要がある。なお、各PM130,140,150の処理能力は、搭載されているメモリの容量などによって変化する。
【0082】
図11は、ルータ優先順テーブルのデータ構造例を示す図である。ルータ優先順テーブル157caには、優先順の欄、ルータIPアドレスの欄、および状態の欄が設けられている。各欄の横方向に並べられた情報同士が互いに関連づけられている。
【0083】
優先順の欄には、各ルータに設定される優先順を表す数値が登録される。数値が小さいほど、優先順が高いものとする。ルータIPアドレスの欄には、優先順に対応するルータのIPアドレスが登録される。状態の欄には、優先順に対応するルータの状態が登録される。状態には「通信可」と「廃棄」とがある。ルータからホストシステムへのパケットの送信が可能な場合、そのルータの状態は「通信可」となる。ルータから出力されたパケットが廃棄されている場合、そのルータの状態は「廃棄」となる。
【0084】
以上のような構成のFEP100において実行される処理の詳細を、以下に説明する。
まず、各PMに割り当てられたルータに対して、ルート情報を送信する処理について説明する。
【0085】
図12は、PMに割り当てられたルータへのルート情報送信処理の手順を示すフローチャートである。以下、図12に示す処理をステップ番号に沿って説明する。この処理は、たとえば、FEP100が起動した際に実行される。
【0086】
[ステップS11]負荷制御部157の担当グループ通知部157dは、ルータ割り当て定義テーブル157aを参照する。
[ステップS12]担当グループ通知部157dは、ルータ割り当て定義テーブル157aから未処理のPMを1つ選択する。
【0087】
[ステップS13]担当グループ通知部157dは、ステップS12で選択したPMに割り当てられたルータのIPアドレスを、選択したPMの通信情報管理部に通知する。
[ステップS14]ルータのIPアドレスを受け取った通信情報管理部は、ルーティング処理部に、ルータのIPアドレスを渡す。ルーティング処理部は、渡されたIPアドレスを宛先として、ネットワーク11に接続された各サーバ21〜23への通信経路を示すルート情報を生成する。
【0088】
[ステップS15]ルーティング処理部は、生成したルート情報を、クライアント側通信部に渡す。クライアント側通信部は、PMに割り当てられたルータへルート情報を送信する。以後、ルーティング処理部は、PMに割り当てられたルータへのルート情報の送信を定期的(たとえば、30秒間隔)に行う。
【0089】
[ステップS16]負荷制御部157の担当グループ通知部157dは、未選択のPMがあるか否かを判断する。未選択のPMがあれば処理がステップS12に進められる。未選択のPMがなければ処理が終了する。
【0090】
次に、処理負荷に応じたルータ割り当ての振り替え処理について説明する。
図13は、ルータ割り当て振り替え処理の手順を示すフローチャートである。以下、図13に示す処理をステップ番号に沿って説明する。なお、この処理は、所定の周期で繰り返し実行される。
【0091】
[ステップS21]負荷制御部157の負荷監視部157eは、各PM130,140,150の通信情報管理部136,146,156から処理状況を示す情報を収集する。
[ステップS22]負荷監視部157eは、各PM130,140,150の負荷を、コネクション数に換算する。そして、負荷監視部157eは、負荷情報管理テーブル157bの現在負荷の欄の値を更新する。
【0092】
[ステップS23]負荷監視部157eは、負荷情報管理テーブル157bを参照し、FEP100のシステム全体の負荷が、許容負荷を超えているか否かを判断する。システム全体の負荷が許容負荷を超えている場合には、処理がステップS29に進められる。システム全体の負荷が許容負荷を超えていない場合には、処理がステップS24に進められる。
【0093】
[ステップS24]負荷監視部157eは、負荷情報管理テーブル157bを参照し、単体で処理負荷が許容負荷を超えたPMがあるか否かを判断する。許容負荷を超えたPMがある場合には、処理がステップS25に進められる。許容負荷を超えたPMがない場合には、処理が終了する。
【0094】
[ステップS25]負荷監視部157eは、負荷情報管理テーブル157bを参照し、負荷に余裕のあるPMを選択する。たとえば、現在負荷が許容負荷を超えていないPMのなかで、許容負荷(コネクション数換算)と現在負荷(コネクション数換算)との間の差分が最も大きいPMが選択される。
【0095】
[ステップS26]負荷監視部157eは、処理負荷を超えたPMのPM番号とステップS25で選択したPM(負荷に余裕のあるPM)のPM番号とを含む負荷の軽減要求を、処理代行依頼部157fに渡す。処理代行依頼部157fは、ルータ割り当て定義テーブル157aを参照し、負荷が許容値を超えたPMに割り当てられているルータのIPアドレスを取得する。そして、処理代行依頼部157fは、負荷に余裕のあるPMに対して処理の代行を依頼する。
【0096】
[ステップS27]処理の代行依頼を受け取ったPMの通信情報管理部は、新たに割り当てられたルータのIPアドレスと、そのルータが以前割り当てられていたPMのIPアドレスとを、ルーティング処理部に渡す。すると、ルーティング処理部は、振り替え対象のルータを宛先として、選択されたPMを経由した通信のルート情報を生成する。そのルート情報には、許容負荷を超えたPMを経由した通信が不可能であることを示す情報が含まれている。
【0097】
[ステップS28]ルーティング処理部は、生成したルート情報をクライアント側通信部に渡す。クライアント側通信部は、振り替え対象のルータへ、ルート情報を送信する。その後、処理が終了する。なお、このルート情報は、その後も定期的に送信される。
【0098】
[ステップS29]負荷監視部157eは、負荷情報管理テーブル157bを参照し、負荷に余裕のあるPMを選択する。そして、負荷監視部157eは、パケット廃棄依頼部157gに対して、負荷の軽減要求を渡す。
【0099】
[ステップS30]パケット廃棄依頼部157gは、ルータ優先順テーブル157caを参照し、まだパケットが廃棄対象となっていないルータ(状態が「通信可」)の中で、最も優先順が低いルータを選択する。
【0100】
[ステップS31]パケット廃棄依頼部157gは、廃棄パケット用IPアドレス157cbを参照して、廃棄用のIPアドレスを認識する。そして、パケット廃棄依頼部157gは、負荷に余裕のあるPMに対して、パケットの廃棄を依頼する。
【0101】
[ステップS32]負荷に余裕のあるPMの通信情報管理部は、廃棄用のIPアドレスと、実在しないPMに割り当てられるルータのIPアドレスとを、ルーティング処理部に渡す。ルーティング処理部は、振り替え対象のルータを宛先として、実在しないPMを経由した通信のルート情報を生成する。このルート情報には、ルータに割り当てられていたPMを経由した通信が不可能であることを示す情報が含まれている。
【0102】
[ステップS33]ルーティング処理部は、生成したルート情報をクライアント側通信部に渡す。クライアント側通信部は、振り替え対象のルータへ、ルート情報を送信する。その後、処理が終了する。なお、このルート情報は、その後も定期的に送信される。
【0103】
次に、ルート情報の具体例について説明する。
図14は、PM自身に割り当てられたルータに対するルート情報の一例を示す図である。このルート情報200は、PM130が、自身に割り当てられたルータ31に対して送信するルート情報である。
【0104】
ルート情報200は、IPヘッダ210、UDP(User Datagram Protocol)ヘッダ220、およびデータ230で構成される。
IPヘッダ210には、宛先IPアドレスと送信元IPアドレスとが含まれている。この例では、宛先IPアドレスに、ルータ31のIPアドレス「IPadd#31」が設定されている。また、送信元IPアドレスに、PM130のIPアドレス(通信アダプタ120側)「IPadd#21」が設定されている。
【0105】
UDPヘッダ220には、ポート番号が含まれている。この例では、ポート番号に「520」が設定されている。ポート番号520は、このルート情報200のパケットが、RIPであることを示している。
【0106】
データ230には、サーバ毎の経路定義231,232,・・・が登録されている。各経路定義231,232,・・・には、サーバIPアドレスとメトリックとが含まれている。メトリックは、対応するサーバまでの距離(中継するルータの数)を表している。メトリックは、1〜15が有効な値である、メトリックに16が設定された場合、対応するサーバへの通信が不可能であることを示している。
【0107】
この例では、サーバ21に対応する経路定義231のサーバIPアドレスに、サーバ21のIPアドレス「IPadd#11」が設定されている。サーバ21に対応する経路定義231のメトリックは1である。また、サーバ22に対応する経路定義232のサーバIPアドレスに、サーバ22のIPアドレス「IPadd#12」が設定されている。サーバ22に対応する経路定義232のメトリックは1である。同様に、他のサーバに対応する経路定義においても、メトリックを1〜15の有効な値とすることで、送信元であるPM130を経由して、各サーバ21〜23にアクセスできることが示される。
【0108】
このようなルート情報を、PM130に割り当てられたルータ31にのみ送信することで、ルータ31のみが、PM130を経由したサーバ21〜23へのアクセスを行うことができる。その結果、以後、ルータ31経由でサーバ21〜23へ送られるパケットは、PM130を介して転送される。
【0109】
図15は、他のPMから振り替えられたルータに対するルート情報の一例を示す図である。このルート情報300は、PM140が、ルータ31の割当先を、PM130からPM140に振り替えるためのルート情報である。
【0110】
ルート情報300は、IPヘッダ310、UDP(User Datagram Protocol)ヘッダ320、およびデータ330で構成される。
IPヘッダ310には、宛先IPアドレスと送信元IPアドレスとが含まれている。この例では、宛先IPアドレスに、ルータ31のIPアドレス「IPadd#31」が設定されている。また、送信元IPアドレスに、PM140のIPアドレス(通信アダプタ120側)「IPadd#22」が設定されている。
【0111】
UDPヘッダ320には、ポート番号が含まれている。この例では、ポート番号に「520」が設定されている。データ330には、サーバ毎の経路定義331,332,・・・が登録されている。各経路定義331,332,・・・には、サーバIPアドレスとメトリックとの組、並びにサーバIPアドレス、ネクストホップ、およびメトリックの組が含まれている。
【0112】
この例では、サーバ21に対応する経路定義331のサーバIPアドレスとメトリックとの組には、それぞれサーバ21のIPアドレス「IPadd#11」、メトリック1が設定されている。サーバ21に対応する経路定義331のサーバIPアドレス、ネクストホップ、およびメトリックの組には、それぞれサーバ21のIPアドレス「IPadd#11」、PM130のIPアドレス「IPadd#21」、メトリック16が設定されている。サーバ22に対応する経路定義332のサーバIPアドレスとメトリックとの組には、それぞれサーバ22のIPアドレス「IPadd#12」、メトリック1が設定されている。サーバ22に対応する経路定義332のサーバIPアドレス、ネクストホップ、およびメトリックの組には、それぞれサーバ22のIPアドレス「IPadd#12」、PM130のIPアドレス「IPadd#21」、メトリック16が設定されている。
【0113】
このようなルート情報300を、PM130に割り当てられたルータ31にのみ送信することで、ルータ31は、PM130を経由したサーバ21〜23へのアクセスができないこと、およびPM140を経由したサーバ21〜23へのアクセスが可能であることを認識できる。すなわち、各サーバの経路定義において、ネクストホップに設定されたPM130のメトリックが16であることにより、ルータ31は、PM130を経由した経路上に、サーバ21〜23が存在しないものと認識する。その結果、以後、ルータ130経由でサーバ21〜23へ送られるパケットは、PM140を介して転送される。
【0114】
図16は、パケット廃棄対象のルータに対するルート情報の一例を示す図である。このルート情報400は、PM140が、ルータ31の割当先を、実際には存在しないPM(PM#4)に振り替えるためのルート情報である。このルート情報は、ルータ31を経由したパケットを廃棄することが決定されたときに出力される。
【0115】
ルート情報400は、IPヘッダ410、UDP(User Datagram Protocol)ヘッダ420、およびデータ430で構成される。
IPヘッダ410には、宛先IPアドレスと送信元IPアドレスとが含まれている。この例では、宛先IPアドレスに、ルータ31のIPアドレス「IPadd#31」が設定されている。また、送信元IPアドレスに、PM140のIPアドレス(通信アダプタ120側)「IPadd#22」が設定されている。
【0116】
UDPヘッダ420には、ポート番号が含まれている。この例では、ポート番号に「520」が設定されている。データ430には、サーバ毎の経路定義431,432,・・・が登録されている。各経路定義431,432,・・・には、サーバIPアドレスとメトリックとの組、並びにサーバIPアドレス、ネクストホップ、およびメトリックの組が含まれている。
【0117】
この例では、サーバ21に対応する経路定義431のサーバIPアドレスとメトリックとの組には、それぞれサーバ21のIPアドレス「IPadd#11」、メトリック16が設定されている。サーバ21に対応する経路定義431のサーバIPアドレス、ネクストホップ、およびメトリックの組には、それぞれサーバ21のIPアドレス「IPadd#11」、実在しないPM(PM#4)のIPアドレス「IPadd#24」、メトリック1が設定されている。サーバ22に対応する経路定義432のサーバIPアドレスとメトリックとの組には、それぞれサーバ22のIPアドレス「IPadd#12」、メトリック16が設定されている。サーバ22に対応する経路定義432のサーバIPアドレス、ネクストホップ、およびメトリックの組には、それぞれサーバ22のIPアドレス「IPadd#12」、実在しないPM(PM#4)のIPアドレス「IPadd#24」、メトリック1が設定されている。
【0118】
このようなルート情報400を、PM130に割り当てられたルータ31にのみ送信することで、ルータ31は、PM130を経由したサーバ21〜23へのアクセスができないこと、および実在しないPM(PM#4)を経由したサーバ21〜23へのアクセスが可能であることを認識する。すなわち、各サーバの経路定義において、ネクストホップに設定された実在しないPM(PM#4)のメトリックが1であることにより、ルータ31は、PM(PM#4)を経由した経路上に、サーバ21〜23が最も近い距離で存在するものと認識する。その結果、以後、ルータ130経由でサーバ21〜23へ送られるパケットは、実在しないPM(PM#4)宛に送信され、FEP100において廃棄される。
【0119】
以上説明した通り、本実施の形態によれば、PMから送信するルート情報を制御することにより、FEPの各PMが受信するIPパケット量を制御することができるようになる。これにより、不特定多数の通信相手から大量にデータを受信した場合でも優先度の高い通信を保証することができる。
【0120】
通信相手(クライアント51〜58)からの通信が想定量以上に集中すると、FEP100の能力オーバとなる。このような場合に、ルータ31〜34から見てパケットの送信先(ルータ31〜34におけるルート情報のゲートウェイ)を、一時的に、通信に使用しないMACアドレス/IPアドレスに振り向ける。これにより、FEP100全体の負荷を軽減し、優先度の高い業務または相手との通信を保証することができる。
【0121】
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、フロントエンドプロセッサが有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープなどがある。光ディスクには、DVD(Digital Versatile Disc)、DVD−RAM(Random Access Memory)、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。光磁気記録媒体には、MO(Magneto-Optical disc)などがある。
【0122】
プログラムを流通させる場合には、たとえば、そのプログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【0123】
プログラムを実行するコンピュータは、たとえば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。
【図面の簡単な説明】
【0124】
【図1】本発明の実施の形態に適用される発明の概念図である。
【図2】本発明の実施の形態のシステム構成図である。
【図3】FEPの内部構成を示すブロック図である。
【図4】各PMへのルータの割り当てのときの状態遷移を示す図である。
【図5】PM単体での負荷が過大となったときの状態遷移を示す図である。
【図6】FEP全体での負荷が過大となったときの状態遷移を示す図である。
【図7】FEP内のPMの処理機能を示す機能ブロック図である。
【図8】負荷制御部の機能の詳細を示すブロック図である。
【図9】ルータ割り当て定義テーブルのデータ構造例を示す図である。
【図10】負荷情報管理テーブルのデータ構造例を示す図である。
【図11】ルータ優先順テーブルのデータ構造例を示す図である。
【図12】PMに割り当てられたルータへのルート情報送信処理の手順を示すフローチャートである。
【図13】ルータ割り当て振り替え処理の手順を示すフローチャートである。
【図14】PM自身に割り当てられたルータに対するルート情報の一例を示す図である。
【図15】他のPMから振り替えられたルータに対するルート情報の一例を示す図である。
【図16】パケット廃棄対象のルータに対するルート情報の一例を示す図である。
【符号の説明】
【0125】
1 フロントエンドプロセッサ
1a〜1c ルーティング手段
1d 負荷判断手段
1e 割り当て手段
1f ルート情報送信手段
1g パケット廃棄手段
2 第1のネットワーク
3a〜3c ルータ
4 第2のネットワーク
5a〜5c サーバコンピュータ
100 フロントエンドプロセッサ
110,120 通信アダプタ
130,140,150 プロセッサモジュール
【特許請求の範囲】
【請求項1】
パケットのルーティングを行うフロントエンドプロセッサにおいて、
第1のネットワーク経由で入力されたパケットを、第2のネットワークへルーティングするルーティング手段と、
前記ルーティング手段の負荷を監視し、負荷が所定値を超えたことを判断する負荷判断手段と、
前記負荷判断手段により前記ルーティング手段の負荷が所定値を超えたと判断された場合には、前記ルーティング手段がルーティングすべきパケットの少なくとも一部を廃棄するパケット廃棄手段と、
を有することを特徴とするフロントエンドプロセッサ。
【請求項2】
前記パケット廃棄手段は、前記負荷判断手段により前記ルーティング手段の負荷が所定値を超えたと判断された場合には、前記第2のネットワーク上のサーバコンピュータと現実には存在しない経路で通信するためのルート情報を、ルータに対して送信することを特徴とする請求項1記載のフロントエンドプロセッサ。
【請求項3】
第1のネットワークから第2のネットワークへのパケットのルーティングを管理するルーティング管理方法であって、
ルーティングを行う中継経路上の負荷を監視し、
前記中継経路上の負荷が所定値を超えた場合には、前記第1のネットワーク上の所定のルータから出力されるパケットの少なくとも一部を廃棄する、
ことを特徴とするルーティング管理方法。
【請求項4】
第1のネットワークから第2のネットワークへのパケットのルーティングを管理するためのルーティング管理プログラムであって、
コンピュータに、
ルーティングを行う中継経路上の負荷を監視し、
前記中継経路上の負荷が所定値を超えた場合には、前記第1のネットワーク上の所定のルータから出力されるパケットの少なくとも一部を廃棄する、
処理を実行させることを特徴とするルーティング管理プログラム。
【請求項1】
パケットのルーティングを行うフロントエンドプロセッサにおいて、
第1のネットワーク経由で入力されたパケットを、第2のネットワークへルーティングするルーティング手段と、
前記ルーティング手段の負荷を監視し、負荷が所定値を超えたことを判断する負荷判断手段と、
前記負荷判断手段により前記ルーティング手段の負荷が所定値を超えたと判断された場合には、前記ルーティング手段がルーティングすべきパケットの少なくとも一部を廃棄するパケット廃棄手段と、
を有することを特徴とするフロントエンドプロセッサ。
【請求項2】
前記パケット廃棄手段は、前記負荷判断手段により前記ルーティング手段の負荷が所定値を超えたと判断された場合には、前記第2のネットワーク上のサーバコンピュータと現実には存在しない経路で通信するためのルート情報を、ルータに対して送信することを特徴とする請求項1記載のフロントエンドプロセッサ。
【請求項3】
第1のネットワークから第2のネットワークへのパケットのルーティングを管理するルーティング管理方法であって、
ルーティングを行う中継経路上の負荷を監視し、
前記中継経路上の負荷が所定値を超えた場合には、前記第1のネットワーク上の所定のルータから出力されるパケットの少なくとも一部を廃棄する、
ことを特徴とするルーティング管理方法。
【請求項4】
第1のネットワークから第2のネットワークへのパケットのルーティングを管理するためのルーティング管理プログラムであって、
コンピュータに、
ルーティングを行う中継経路上の負荷を監視し、
前記中継経路上の負荷が所定値を超えた場合には、前記第1のネットワーク上の所定のルータから出力されるパケットの少なくとも一部を廃棄する、
処理を実行させることを特徴とするルーティング管理プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【公開番号】特開2007−49731(P2007−49731A)
【公開日】平成19年2月22日(2007.2.22)
【国際特許分類】
【出願番号】特願2006−259452(P2006−259452)
【出願日】平成18年9月25日(2006.9.25)
【分割の表示】特願2002−18237(P2002−18237)の分割
【原出願日】平成14年1月28日(2002.1.28)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】
【公開日】平成19年2月22日(2007.2.22)
【国際特許分類】
【出願日】平成18年9月25日(2006.9.25)
【分割の表示】特願2002−18237(P2002−18237)の分割
【原出願日】平成14年1月28日(2002.1.28)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】
[ Back to top ]