JP3366804B2 - インタネットワーク装置 - Google Patents
インタネットワーク装置Info
- Publication number
- JP3366804B2 JP3366804B2 JP15997096A JP15997096A JP3366804B2 JP 3366804 B2 JP3366804 B2 JP 3366804B2 JP 15997096 A JP15997096 A JP 15997096A JP 15997096 A JP15997096 A JP 15997096A JP 3366804 B2 JP3366804 B2 JP 3366804B2
- Authority
- JP
- Japan
- Prior art keywords
- processing
- relay
- input side
- message
- packet
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Landscapes
- Computer And Data Communications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Description
ットワークの間でパケットの中継処理を行うインタネッ
トワーク装置に関し、特に、接続した複数のネットワー
クに対応して、中継処理を行う手段を個別に備えたイン
タネットワーク装置に関するものである。
するインタネットワーク装置として、ルータ、ブリッ
ジ、ブルータと呼ばれる装置が知られている。このう
ち、ルータは、OSI(Open Systems Interconnectio
n)参照モデルにおけるレイヤ3、すなわち、ネットワ
ークレイヤのレベルにおいて、複数のネットワークを相
互に接続し、ネットワークレイヤのプロトコルにしたが
ってパケットの中継処理を行う装置である。ルータは、
ユーザの設定、あるいはルーティングプロトコルにした
がって経路情報を、隣接するルータと交換し、ルーティ
ングテーブルと呼ばれる経路テーブルを作成する。そし
て、パケットを受信すると、ネットワークレイヤの宛先
アドレスに対応する最適な送出経路をルーティングテー
ブルを用いて選択して、パケットを中継する。このネッ
トワークレイヤのプロトコルにしたがって行われるパケ
ットの中継処理は、ルーティングと呼ばれる。なお、ネ
ットワークレイヤのプロトコルには幾つかの種類があ
り、その代表としてIP(Internet Protocol)が良く
知られている。同様に、ルーティングプロトコルにも幾
つかの種類があり、その代表としてRIP(Routing In
formation Protocol)が良く知られている。
の具体例として、特開平5−199230号公報に記載
された装置を挙げ、その構成と動作について説明する。
複数のネットワークが相互に接続された、通信ネットワ
ークシステムの一例を示す図である。図のシステムで
は、CSMA/CD(Carrier Sense Multiple Access
with Collision Detection)方式に対応した7個のネッ
トワーク5〜11が、ネットワークレイヤのプロトコル
としてIPをサポートする3個のルータ12〜14によ
って接続されている。また、このシステムでは、図37
に示す形式のパケット17を用いて、情報の転送が行わ
れる。
示す図である。図に示すように、ルータ12は、接続し
たネットワーク5〜8に対応して中継部21〜24を個
別に備え、中継部21〜24をメッセージバス91で接
続した構成を有する。中継部21〜24は、メッセージ
バス91との間で行なうメッセージ18(後述)の転送
を制御する転送手段26〜29と、パケット17の中継
処理を行なう中継手段36〜39と、パケット17を一
時的に記憶する格納手段64〜67と、ネットワーク5
〜8との間で行なうパケット17の送受信を制御する送
受信手段74〜77とを、ローカルバス86〜89で接
続した構成を有する。また、中継手段36〜39は、上
記の中継処理および各制御の管理を行うプロセッサ1〜
4と、プロセッサ1〜4の処理に用いられるプログラム
を格納する中継プログラムメモリ40〜43と、ルーテ
ィングテーブル44〜47と、ARP(Address Resolu
tion Protocol)テーブル48〜51とにより構成され
る。
7の一例を示す図である。ルータ12では、ユーザの設
定、あるいはルーティングプロトコル(例えば、前述の
RIP)にしたがって経路情報を、隣接する他のルータ
13,14と交換し、図示するような経路テーブルを作
成/管理する。
例を示す図である。ルータ12では、ユーザの設定、あ
るいはアドレス解決プロトコル(例えば、前述のAR
P)にしたがってアドレス情報を、隣接する装置と交換
し、図示するようなアドレス変換テーブルを作成/管理
する。
ト17を受信した中継部21〜24の動作を示すフロー
チャートであり、図42は、メッセージバス91からメ
ッセージ18(後述)を受信した中継部21〜24の動
作を示すフローチャートである。以下では、図41に示
す処理を入力側処理と呼び、図42に示す処理を出力側
処理と呼ぶ。これらの処理は、プロセッサ1〜4が中継
プログラムメモリ40〜43を実行することにより行わ
れる。
より生成されるメッセージ18のフォーマットを示す図
である。メッセージ18は、メッセージヘッダと、メッ
セージデータ(この場合、パケット17)で構成され
る。メッセージヘッダは、メッセージデータの種類(こ
の場合、IPパケット)を示すメッセージタイプと、メ
ッセージデータの先頭アドレスを示すメッセージデータ
アドレスと、メッセージデータのデータ長を示すメッセ
ージデータ長と、メッセージデータの宛先となる中継部
を示す宛先部と、メッセージデータを発信した中継部を
示す発信部と、次装置のIPアドレスを示す次装置IP
アドレスとで構成される。
5からネットワーク11内の端末16に、パケット17
が送られた場合を例に、上記のルータ12の動作を説明
する。
パケット17およびメッセージ18の流れを示す図であ
る。図44において、中継部21では、送受信手段74
のMACコントローラ78がネットワーク5から送られ
てきたパケット17を受信して、格納手段64のデータ
バッファ69に受信パケット17を格納し、データバッ
ファ69への格納が完了した時点で、プロセッサ1にパ
ケット17の受信を通知する。この通知を受けたプロセ
ッサ1は、まず、ネットワーク5からパケット17を受
信したことを認識すると、受信パケット17中のMAC
ヘッダおよびIPヘッダが保持している情報(例えば、
IPやOSIを示すネットワークレイヤのプロトコルタ
イプ、宛先MACアドレス等)を調べ、中継不可あるい
は中継不要と判断した場合には、パケット17を廃棄す
る(図41のステップ101,102)。次に、受信パ
ケット17中のIPヘッダが保持している宛先IPアド
レスを検索キーとしてルーティングテーブル44の検索
を行い、宛先IPアドレスに対応する最適な送出経路
(例えば、次装置のIPアドレスと、次装置が所在する
ネットワークに接続している中継部)を選択する(ステ
ップ103)。具体的には、次装置としてはルータ13
が選択され、送り先の中継部としては中継部24が選択
される。次に、ステップ103で選択した経路に該当す
る中継部24へ転送するためのメッセージヘッダをパケ
ット17に付加し、転送手段26のDMAコントローラ
31にメッセージ18の転送を指示する(ステップ11
1)。DMAコントローラ31は、プロセッサ1の指示
にしたがい、メッセージバス91を介して中継部24へ
メッセージ18を転送する。
ントローラ34がメッセージバス91から送られてきた
メッセージ18を受信して、格納手段67のデータバッ
ファ72に受信メッセージ18を格納し、データバッフ
ァ72への格納が完了した時点で、プロセッサ4にメッ
セージ18の受信を通知する。この通知を受けたプロセ
ッサ4は、まず、受信メッセージ18中のメッセージヘ
ッダが保持している情報(例えば、メッセージ18の宛
先となる中継部を示す宛先部)などを調べ、中継不可あ
るいは中継不要と判断した場合には、メッセージ18を
廃棄する(図42のステップ112)。次に、「次装置
IPアドレス」を検索キーとしてARPテーブル51の
検索を行い、次装置のIPアドレスをMACアドレスに
変換して、その結果を「宛先MACアドレス」に再設定
する(ステップ104、105)。具体的には、「宛先
MACアドレス」には次装置であるルータ13のMAC
アドレスを設定する。次に、送出するネットワーク8の
最大データ長に合わせてパケット17を分割する(ステ
ップ106)。次に、送受信手段77のMACコントロ
ーラ81にパケット17の送出を指示する(ステップ1
07)。MACコントローラ81では、プロセッサ4の
指示にしたがい、ネットワーク8へパケット17を送出
する。
2では、パケット17の転送経路に含まれる2つの中継
部のプロセッサ(図36の場合、プロセッサ1,4)
が、入力側処理(図41)と、出力側処理(図42)を
分担して行う。図45に示すように、ネットワーク5か
らネットワーク8へのパケット17の中継と、ネットワ
ーク6からネットワーク7へのパケット17の中継を同
時に行うような場合には、図46に示すように、全ての
プロセッサ1〜4が中継処理を分担して行う。
タ12において、例えば図47に示すように、ネットワ
ーク5〜7からネットワーク8へのパケット17の中継
が集中した場合、中継部24のプロセッサ4は、図48
に示すように、中継部21〜23のプロセッサ1〜3か
ら転送されてくるパケット17の全てに対して出力側処
理を行うことになる。各パケットに対する出力側処理の
処理量は固定であるため、プロセッサ4では、処理負荷
(例えば、次式で表されるプロセッサ使用率)が他のプ
ロセッサ1〜3に較べて極端に高くなり、中継処理に遅
延が生じ易くなる。
ワークに対する中継処理の処理量に偏りが生じた場合、
全てのプロセッサの処理能力が有効に利用されなくな
り、その結果、装置全体としての中継処理能力(例え
ば、単位時間に中継処理できるパケット17の数)は低
下してしまう。
ワークに対応して、パケットの中継処理を行う処理手段
を個別に備えるインタネットワーク装置において、各処
理手段の処理負荷を均等化させることにより、装置全体
としての中継処理能力を向上させることを目的とする。
め、本発明は、接続される複数のネットワークの各々に
対応して個別に設けられる複数の処理手段と、当該複数
の処理手段の各々を相互に接続する手段を有し、前記複
数のネットワークの間で行われるパケットデータの中継
処理を、当該ネットワークに対応して設けられた処理手
段が分担して行うインタネットワーク装置であって、単
位時間毎に、前記複数の処理手段の各々の処理負荷を計
測する計測手段と、当該計測手段の計測結果に応じて、
前記複数の処理手段の各々の処理負荷がより均等になる
ように、当該複数の処理手段の各々の処理の分担を変更
させる調整手段を備えたことを特徴とする。
が計測され、その計測結果に基づいて、各処理手段の処
理負荷が均等になるように、各処理手段の処理の分担が
変更される。これにより、各処理手段の処理能力が有効
に利用されるようになり、装置全体としての中継処理能
力は向上する。
2に本発明を適用した実施形態について、図面を用いて
詳細に説明する。
施形態に係るルータ12′の構成を示す図である。
ネットワーク5〜8に対して個別に設けられた中継部2
1′〜24′とを、メッセージバス91で接続した構成
を有する。また、中継部21′は、転送手段26と、中
継手段36と、統計手段52と、格納手段64と、送受
信手段74とを、ローカルバス86で接続した構成を有
し、同様に、中継部22′〜24′は、転送手段27〜
29と、中継手段37〜39と、統計手段53〜55
と、格納手段65〜67と、送受信手段75〜77と
を、ローカルバス87〜89でそれぞれ接続した構成を
有する。
ジバス91を介して行なうメッセージ18〜20(後
述)の転送を制御する手段であり、DMAコントローラ
31〜34でそれぞれ構成される。中継手段36〜39
は、おもにパケット17の中継処理を行なう手段であ
り、プロセッサ1〜4と、中継プログラムメモリ40〜
43と、ルーティングテーブル44〜47と、ARPテ
ーブル48〜51とでそれぞれ構成される。統計手段5
2〜55は、プロセッサ1〜4が単位時間にパケット1
7に対して行う中継処理の各ステップ毎の処理時間の統
計を取る手段であり、タイマ56〜59と、統計テーブ
ル60〜63とでそれぞれ構成される。格納手段64〜
67は、パケット17あるいはメッセージ18′〜20
を一時的に記憶する手段であり、データバッファ69〜
72でそれぞれ構成される。送受信手段74〜77は、
ネットワーク5〜8を介して行なうパケット17の送受
信を制御する手段であり、MACコントローラ78〜8
1でそれぞれ構成される。
納手段68と、調整手段82とを、ローカルバス90で
接続した構成を有する。ここで、転送手段30は、メッ
セージバス91を介して行なうメッセージ18′〜20
の転送を制御する手段であり、DMAコントローラ35
で構成される。格納手段68は、パケット17あるいは
メッセージ18′〜20を一時的に記憶する手段であ
り、データバッファ73で構成される。調整手段82
は、中継部21′〜24′から送られてくる各プロセッ
サ1〜4の処理時間の統計情報をもとに、各プロセッサ
1〜4の処理負荷(例えば、式(1)で表したプロセッ
サ使用率)が均等になるように、各プロセッサ1〜4に
おいて実行されるプログラムを指示する手段であり、プ
ロセッサ83と調整プログラムメモリ84で構成され
る。
と、そのプログラムに基づいた処理により生成されるメ
ッセージについて説明する。
グラムメモリ40〜43の記憶構成の一例を示す図であ
る。図において、中継プログラムメモリ40〜43の各
々は、後述する割り込み処理(図8)のプログラムを記
憶する領域と、本メモリに記憶される複数のプログラム
の記憶位置が設定されるベクタアドレス領域と、後述す
るベクタアドレス変更処理(図15)のプログラムを記
憶する領域と、入力側処理と出力側処理のプログラムを
個別に記憶する領域とから構成される。ここで、入力側
処理のプログラムとしては、中継処理における分担量が
異なる(すなわち、処理にかかる時間が異なる)2つの
プログラムが設定されており、具体的には、図41の処
理(以下、入力側処理Aと呼ぶ)のプログラムと、後述
する図19の処理(以下、入力側処理Bと呼ぶ)のため
のプログラムが設定されている。また、出力側処理のプ
ログラムとしては、上記の入力側処理A,Bのプログラ
ムに対応して中継処理を分担する、図42の処理(以
下、出力側処理A)のためのプログラムと、後述する図
20の処理(以下、出力側処理B)のためのプログラム
が設定されている。つまり、1つのパケットに対する中
継処理は、入力処理Aと出力処理A、あるいは、入力処
理Bと出力処理Bにより行われる。また、入力側処理と
出力側処理のプログラムを記憶する領域には、後述する
統計処理(図9)のプログラムも記憶されており、各入
力側処理および出力側処理が行われるときには、並行し
て統計処理も行われるようになっている。
処理により、メッセージバス91を介して出力側(宛
先)の中継部21〜24に送られるメッセージ18′の
フォーマットを示す図である。図において、メッセージ
データには、パケット17のデータがそのままの状態で
設定される。メッセージヘッダには、本メッセージがメ
ッセージ18′であることを示す「メッセージタイプ」
と、メッセージデータの先頭アドレスを示す「メッセー
ジデータアドレス」と、メッセージデータのデータ長を
示す「メッセージデータ長」と、本メッセージ18の宛
先となる中継部を示す「宛先部」と、本メッセージ1
8′を発信した中継部を示す「発信部」と、次装置のI
Pアドレスを示す「次装置IPアドレス」と、本メッセ
ージ18′を発信した中継部で行なわれた入力側処理の
ベクタアドレスを示す「発信部入力側処理ベクタアドレ
ス」とが設定される。
理により調整部25へ送られる、メッセージ19のフォ
ーマットを示す図である。図において、メッセージデー
タには、上記の統計テーブル60〜63に作成された、
入力側処理と出力側処理の処理時間の統計情報がそれぞ
れ設定される。メッセージヘッダの「メッセージタイ
プ」には、本メッセージがメッセージ19であることを
示す値が設定される。
リ84の記憶構成の一例を示す図である。図に示すよう
に、調整プログラムメモリ84は、割り込み処理(図
8)のプログラムを記憶する領域と、後述する処理分担
変更処理(図13)のプログラムを記憶する領域と、処
理分担変更処理のプログラムの記憶位置が設定されるベ
クタアドレス領域とから構成される。
より中継部21′〜24′に送られる、メッセージ20
のフォーマットを示す図である。図において、メッセー
ジデータには、各中継部21′〜24′が行う入力側処
理と出力側処理のプログラムの実行位置(ベクタアドレ
ス)が設定される。メッセージヘッダの「メッセージタ
イプ」には、本メッセージがメッセージ20であること
を示す値が設定される。また、「宛先部」には、中継部
21′〜24′の全てを示す値が設定される。すなわ
ち、メッセージ20は中継部21′〜24′へ同報され
る。
43と調整プログラムメモリ84に記憶される各種のプ
ログラムは、図1に示す外部インタフェース92および
メッセージバス91を介して、予め保守管理端末93か
らロードされる。
ーク8へパケット17を中継する場合を例に挙げて、ル
ータ12′の動作を説明する。
43のベクタアドレスの領域には、図2において矢印で
示したアドレスが設定されているものとする。
データの流れを示している。
手段74のMACコントローラ78がネットワーク5か
ら送られてきたパケット17(図37)を受信して、そ
の受信データを格納手段64のデータバッファ69に格
納する。そして、データバッファ69への格納が完了し
た時点で、プロセッサ1にパケット17の受信を通知す
る(例えば、プロセッサ1に割り込み要求を出す)。こ
の通知を受けたプロセッサ1は、図8に示す割り込み処
理を開始する。この処理において、プロセッサ1は、ま
ず、割り込みの種類を調べることにより、パケット17
が中継部21′に受信されたことを認識し、中継プログ
ラムメモリ40のベクタアドレス領域(図2)から、
「入力側処理用のベクタアドレス」を選択する(ステッ
プ131)。そして、選択したベクタアドレスが示す位
置に記憶された、入力側処理のプログラムを実行する。
本例では、この割り込み処理により、図41の入力側処
理Aが行われる。
まず、ネットワーク5からパケット17を受信したこと
を認識すると、データバッファ69に格納された受信パ
ケット17中の「MACヘッダ」および「IPヘッダ」
に設定されている情報(例えば、IPやOSIを示すネ
ットワークレイヤのプロトコルタイプ)などを調べ、中
継不可あるいは中継不要と判断した場合には、パケット
17を廃棄する(ステップ101、102)。次に、受
信パケット17中のIPヘッダに設定されている「宛先
IPアドレス」を検索キーとしてルーティングテーブル
44(図39)の検索を行い、「宛先IPアドレス」に
対応する最適な送出経路として、次装置のIPアドレス
と、次装置のネットワークに接続された中継部を選択す
る(ステップ103)。本例では、次装置としてはルー
タ13が、中継部としては中継部24′がそれぞれ選択
される。次に、ステップ103の選択結果に基づいたメ
ッセージヘッダ(図3)を、データバッファ69に格納
されたパケット17に付加することによりメッセージ1
8′を生成し、転送手段26のDMAコントローラ31
にメッセージ18′の中継部24′への転送を指示する
(ステップ111)。このとき、メッセージヘッダの
「発信部入力側処理ベクタアドレス」には、中継プログ
ラムメモリ40の「入力側処理用のベクタアドレス」の
値(ずなわち、入力処理Aのプログラムの位置)が設定
される。DMAコントローラ31は、上記の指示に従
い、図7に示す経路でメッセージ18′を転送する。
コントローラ34が、メッセージバス91から送られて
きたメッセージ18′を受信して、その受信データを格
納手段67のデータバッファ72に格納する。そして、
データバッファ72への格納が完了した時点で、プロセ
ッサ4にメッセージ18′の受信を通知する(例えば、
割り込み要求を出す)。通知を受けたプロセッサ4は、
前述した割り込み処理(図8)を行い、これにより、
「出力側処理のベクタアドレス」(図2)の示す位置に
記憶された、出力側処理のプログラムを実行する。本例
では、この割り込み処理により、図42に示す出力側処
理Aが行われる。
まず、メッセージバス91からメッセージ18を受信し
たことを認識すると、データバッファ72へ格納された
受信メッセージ18中のメッセージヘッダに設定されて
いる情報(例えば、メッセージ18の宛先となる中継部
を示す「宛先部」)などを調べ、中継不可あるいは中継
不要と判断した場合には、そのメッセージ18を廃棄す
る(ステップ112)。次に、「次装置IPアドレス」
を検索キーとしてARPテーブル51(図40)の検索
を行うことにより、次装置のIPアドレスをMACアド
レスに変換し、変換したMACアドレスをパケット17
中の「宛先MACアドレス」に設定する(ステップ10
4、105)。次に、送出するネットワーク8の最大デ
ータ長に合わせてパケット17を分割し(ステップ10
6)、送受信手段77のMACコントローラ81にパケ
ット17の送出を指示する(ステップ107)。MAC
コントローラ81は、この指示にしたがい、ネットワー
ク8へパケット17を送出する。
トワーク5からネットワーク8へパケット17を中継す
る。
側処理と出力側処理に並行して、以下で説明する統計処
理が行なわれる。
で行われる統計処理のフローチャートである。図10,
図11は、統計処理により統計テーブル60〜63の各
々に設定される統計データの一例を示す図であり、図1
0には、入力側処理に関する統計データu(i,j,k)
が、図11には、出力側処理に関する統計データd
(i,j,k)がそれぞれ示されている。
の統計処理が行われる。このため、ここでは、中継部2
1′のみの動作を説明する。
入力側処理(図41)および出力側処理(図42)の各
ステップの処理を開始するときタイマ56を起動し、各
ステップの処理の終了時にタイマ56を停止させる(ス
テップ121、123)。そして、タイマ56で計測さ
れた各ステップ毎の処理時間を、統計テーブル60の対
応する統計データu(i,j,k), d(i,j,k)に
加算する(ステップ122)。ここで、iは統計処理を
行うプロセッサを示し、jは処理するパケット17の送
信元あるいは送信先の中継部を示し、kは処理する入力
側処理あるいは出力側処理のステップを示す。すなわ
ち、入力側処理の際には、図10に示すように、メッセ
ージ18′の転送先である中継部22′〜24′のそれ
ぞれに対して、入力側処理のステップ毎に処理時間を計
測し、その結果を統計テーブル60に累積する。同様
に、出力側処理の際には、図11に示すように、メッセ
ージ18′の転送元の中継部22〜24のそれぞれに対
して、出力側処理のステップ毎に処理時間を計測し、計
測結果に応じて統計テーブル60を更新する。なお、こ
こで、中継部21′自身に対する統計データu(1,1,
k), d(1,1,k)は、共に“0″となる。
い、その間、自らに設けられたタイマで経過時間を監視
する。そして、単位時間が経過したことを認識すると、
統計テーブル60に設定されている統計データをデータ
バッファ69にコピーするとともに、その統計データに
メッセージヘッダを付加することによりメッセージ19
(図4)を生成し、DMAコントローラ31にメッセー
ジ19の調整部25への転送を指示する(ステップ12
4)。DMAコントローラ31は、この指示にしたがっ
て、図12に示す経路でメッセージ19を転送する。そ
して、プロセッサ1は、統計テーブル60をリセットし
た後に、以上の処理を繰り返し行う。
きの調整部25の動作について説明する。
処理のフローチャートであり、図14は、調整部25の
処理により生成されるメッセージ20の転送経路を示し
た図である。
Aコントローラ35は、メッセージバス91から送られ
てきたメッセージ19(図4)を受信し、その受信デー
タをデータバッファ73に格納する。そして、データバ
ッファ73への格納が完了した時点で、プロセッサ83
にメッセージ19の受信を通知する(例えば、割り込み
要求を出す)。この通知を受けたプロセッサ83は、前
述した割り込み処理(図8)を実行し、これにより、調
整プログラム84(図5)の「メッセージ19処理用の
ベクタアドレス」が示す位置に記憶されている、処理分
担変更処理(図13)のプログラムを実行する。
サ83は、まず、中継部21′〜24′から、メッセー
ジ19が転送されてきたことを認識すると(ステップ1
25)、メッセージ19に含まれる統計データu(i,
j,k), d(i,j,k)をもとに、次式にしたがっ
て、プロセッサ1〜4の使用率をそれぞれ計算する。
グラムメモリ40〜43に予めロードされている、複数
の入力側処理のプログラムと複数の出力側処理のプログ
ラムから、各プロセッサ1〜4のプロセッサ使用率が均
等になるプログラムの組み合わせを選択する(ステップ
126)。次に、選択したプログラムの記憶位置を示す
ベクタアドレスとメッセージヘッダをデータバッファ7
3に格納することにより、メッセージ20(図6参照)
を生成し、DMAコントローラ35にメッセージ20の
中継部21′〜24′への転送を指示する(ステップ1
27)。DMAコントローラ35は、この指示にしたが
い、図14に示す経路でメッセージ20を転送する。以
上により、例えば、入力側処理の処理負担が大きい中継
部には、処理量の小さい入力側処理が割り当てられ、出
力側処理の処理負担が大きい中継部には、処理量の小さ
い出力側処理が割り当てられる。
きの中継部21′〜24′の動作について説明する。
て、メッセージ20の内容に応じて行われるベクタアド
レス変更処理のフローチャートである。
ージバス91から送られてきたメッセージ20(図6)
を、データバッファ69〜72に格納し、そして、デー
タバッファ69〜72への格納が完了した時点で、プロ
セッサ1〜4にメッセージ20の受信を通知する。この
通知を受けたプロセッサ1〜4は、中継プログラム40
〜43(図2)の「ベクタアドレス変更処理のベクタア
ドレス」に予め設定されている番地からプログラムを実
行し、これにより、図15に示すベクタアドレス変更処
理が行われる。
まず、メッセージ20がデータバッファ69〜72に格
納されたことを認識すると(ステップ128)、中継プ
ログラム40〜43内の「入力側処理用のベクタアドレ
ス」を、受信メッセージ20で指定されている値に書き
替えるとともに、「出力側処理用のベクタアドレス」
を、後述する出力側処理切替処理(図17)のプログラ
ムの先頭アドレスの値に書き替える(ステップ12
9)。これにより、例えば、受信メッセージ20が、
「入力側処理用のベクタアドレス」の設定値として、入
力側処理Bのプログラムの先頭アドレスを指定している
場合は、中継プログラム40〜43内の「入力側処理用
のベクタアドレス」と「出力側処理用のベクタアドレ
ス」は、図16に矢印で指すアドレスに書き替えられ
る。
に、メッセージ18′を受信した場合の中継部21′〜
24′の動作について説明する。
て、受信したメッセージ18′に対して行う出力側処理
を切り替えるための、出力側処理切替処理のフローチャ
ートである。
メッセージバス91から送られてきたメッセージ18′
(図4)を受信して、データバッファ69〜72に格納
する。そして、データバッファ69〜72への格納が完
了した時点で、プロセッサ1〜4にメッセージ18′の
受信を通知する(割り込み要求を出す)。プロセッサ1
〜4は、割り込み要求を受けると、中継プログラムメモ
リ40〜43の「出力側処理用のベクタアドレス」に設
定している番地からプログラムを実行し、これにより、
図17に示す出力側処理切替処理が行なわれる。
セッサ1〜4は、メッセージバス91からメッセージ1
8′を受信したことを認識すると、受信したメッセージ
18′中のメッセージヘッダに設定されている「発信部
入力側処理ベクタアドレス」を調べる(ステップ14
1、142)。そして、そのアドレスと、すでに受信し
たメッセージ20により指定される、上記のメッセージ
18′の発信部の「入力側処理用ベクタアドレス」とを
比較し、両者が一致しない場合には、現在中継プログラ
ムメモリ40〜43の「出力側処理用のベクタアドレ
ス」に設定されているアドレスからプログラムを実行す
る(ステップ143)。
継部21〜24が中継プログラムメモリ40〜43内の
「入力側処理用のベクタアドレス」の設定値を、メッセ
ージ20で指定される値に書き替えたか否かを調べる
(ステップ144)。そして、全ての中継部21′〜2
4′が書き替えを終了している場合は、中継プログラム
40〜43内の「出力側処理用のベクタアドレス」の設
定値を、メッセージ20により指定される値に書き替え
る(ステップ145)。次に、書き替えた「出力側処理
用のベクタアドレス」の指定するアドレスからプログラ
ムを実行する(ステップ146)。
24′は、受信したパケット18′に対して、そのパケ
ット17になされている入力側処理に対応する出力側処
理を行うことができる。
均等となる場合の、ルータ12′の具体的な動作を説明
する。
ワーク5,6,7からネットワーク8へのパケット17
の中継処理が発生した場合を説明する。
タの流れを示す図である。
3にそれぞれ記憶された入力側処理Bのフローチャート
である。図の処理は、入力側処理A(図41)に、出力
側処理A(図42)のステップ106を追加したもので
ある。また、図20は、中継プログラムメモリ40〜4
3にそれぞれ記憶された出力側処理Bのフローチャート
である。図の処理は、出力側処理A(図42)から上記
のステップ106を除いたものである。すなわち、入力
側処理Bは入力側処理Aに対して処理量が大きく、出力
側処理Bは出力側処理Aに対して処理量が小さくなって
いる。
プロセッサ1〜3は、それぞれ受信したパケット17に
対して入力処理Aを行い、その処理結果を示すメッセー
ジ18′を中継部24へ送る。中継部24′では、送ら
れてきた複数のメッセージ18′に対してプロセッサ4
が出力処理Aを行う。また、以上の処理と並行して、中
継部21′〜24′では、それぞれ上記の統計処理(図
9)が行われ、その処理結果を示すメッセージ19(図
4)が調整部25に送られる。調整部25は、送られて
きた各メッセージ19の統計データから、中継部24′
に設けられたプロセッサ4の出力側処理の処理時間が他
と較べて極端に長いことを認識する。そして、上記の処
理分担変更処理(図13)により、プロセッサ4の処理
の一部を、プロセッサ1〜3に肩代わりさせるためのメ
ッセージ20を中継部21′〜24′に送る。
は、上記のベクタアドレス変更処理(図15)および出
力側処理切替処理(図17)により、中継プログラムメ
モリ43内のベクタアドレスが、例えば図21に矢印で
示すアドレスに書き替えられる。すなわち、プロセッサ
4の行う出力側処理は、処理量の小さい出力処理Bに切
り替えられ、プロセッサ4の処理負荷は減少される。ま
た、これに合わせて、中継部24′に対して中継部2
1′〜23′が行う入力側処理は、入力側処理Bに切り
替えられ、プロセッサ1〜3の処理負荷は増加する。
メッセージ19は、図1の外部インターフェース92を
介して保守管理端末93にも送られる。保守管理端末9
3では、メッセージ19の内容(すなわち、統計情報)
が表示され、管理者は、この表示から、各プロセッサ1
〜4の処理負荷の状態を知ることができる。さらに、管
理者は、保守管理端末93を操作することにより、各プ
ロセッサ1〜4の処理負荷を均等にさせるためのメッセ
ージ20を生成して、中継部21′〜24′に送ること
ができる。
ロセッサ1〜4の間の処理負荷が均等になるように、各
プロセッサ1〜4の入力側処理と出力側処理の分担が切
り替えられるため、各プロセッサ1〜4の処理能力を有
効に活用できるようになり、したがって、装置全体とし
てのパケット処理能力は向上する。
理を、互いに処理量の異なる2つの入力側処理と、それ
に対応する2つの出力側処理の組み合わせにより実施し
ているが、処理量の異なる入力側処理とそれに対応する
出力側処理をさらに追加することにより、より適切な処
理の分担の切り替えが可能になる。
4′の間でメッセージ18′の転送する経路と、中継部
21〜24と調整部25の間でメッセージ19〜20を
転送する経路として、メッセージバス91を共通に使用
しているが、メッセージを転送する経路を複数設置し
て、メッセージ18′と、メッセージ19〜20を別々
の経路で転送するようにしてもよい。
てCSMA/CD方式のネットワークを用いているが、
例えばToken Ring方式のネットワーク等、他
の方式のネットワークを用いてもよい。
ヤのプロトコルとして、IPを用いているが、他のプロ
トコル、例えばIPX(Internetwork Packet eXchang
e)を用いてもよい。
は、各プロセッサ1〜4の処理負荷を、各プロセッサ1
〜4の処理時間の統計をもとに求めた。これに対し、以
下で説明する第2の実施形態では、各プロセッサ1〜4
の処理負荷を、データバッファ69〜72の空き容量か
ら求める。
各プロセッサ1〜4の処理負荷(例えば、式(2)に示
すプロセッサ使用率)に応じて変化する。つまり、各プ
ロセッサ1〜4の処理負荷が大きいければ、パケット1
7あるいはメッセージ18がデータバッファ69〜72
内に滞留する時間が長くなり、その結果、データバッフ
ァ69〜72の空き容量は小さくなる。逆に、各プロセ
ッサ1〜4の処理負荷が小さいければ、パケット17あ
るいはメッセージ18がデータバッファ69〜72内に
滞留する時間が短くなり、データバッファ69〜72の
空き容量は大きくなる。本実施形態では、これらの特徴
を利用して、各プロセッサ1〜4の処理負荷の決定に、
各データバッファ69〜72の空き容量を利用する。
ルータ12″の構成を示す図である。図に示すように、
本実施形態のルータ12″は、前述した第1の実施形態
のルータ12′から統計手段52〜55を除いた構成を
有する。
量について説明する。
は、ネットワーク5〜8からのパケット17の受信のた
めにMACコントローラ78〜81に割り当てている領
域と、メッセージバス91からのメッセージ18′〜2
0の受信のためにDMAコントローラ31〜34に割り
当てている領域がある。MACコントローラ78〜81
は、例えば、図23に示すように、複数のアドレスを用
いてデータバッファ69〜72へのアクセスを管理す
る。図において、リードアドレスは、現在プロセッサ1
〜4により中継処理されているパケット17の格納位置
を示すアドレス、ライトアドレスは、MACコントロー
ラ78〜81が現在ネットワーク5〜8から受信してい
るパケット17の格納位置を示すアドレス、セットアド
レスは、プロセッサ1〜4によって、受信パケット17
を格納する領域としてMACコントローラ78〜81に
割り当てられる位置を示すアドレスである。この場合、
MACコントローラ78〜81に割り当てられている領
域の空き容量は、ライトアドレスとセットアドレスの差
の絶対値で表すことができる。DMAコントローラ31
〜34に割り当てられている領域の空き容量について
も、以上と同様に表すことができる。
説明する。
が、処理時間の統計処理(図9)を行う代わりに、後述
するバッファの空き容量検出処理を行う点と、調整部2
5の処理分担変更処理が若干異なる点を除き、第1の実
施形態のルータ12′と同じ動作を行う。このため、以
下では、本実施形態の動作のうち、第1の実施形態と異
なる部分のみを説明する。
れにおいて行われる空き容量検出処理のフローチャート
である。図25は、空き容量検出処理により生成される
メッセージ19′のフォーマットを示す図である。図に
示すメッセージ19′のメッセージデータには、データ
バッファの空き容量の計測結果が設定される。また、メ
ッセージタイプのフィールドには、本メッセージがメッ
セージ19′であることを示す値が設定される。
容量検出処理(図24)が単位時間毎に行われる。ここ
では、中継部21″を例に動作を説明する。
ータバッファ69の領域の内、MACコントローラ78
に割り当てている領域の空き容量と、DMAコントロー
ラ31に割り当てている領域の空き容量を、図23を用
いて説明した方法で計測する(ステップ151)。そし
て、計測結果を、DMAコントローラ31に割り当てて
いるデータバッファ69の領域に格納し、それにメッセ
ージヘッダを付加することによりメッセージ19′(図
25)を生成して、DMAコントローラ31にメッセー
ジ19′の調整部25への転送を指示する(ステップ1
52)。DMAコントローラ31は、プロセッサ1の指
示にしたがい、図12に示した経路でメッセージ19′
を転送する。
〜24″より受信したメッセージ19′に応じて、第1
の実施形態と同様な処理が行われる。ただし、ここで
は、各プロセッサ1〜4の処理負荷として、プロセッサ
の使用率(式(2))ではなく、次式で求まるバッファ
使用率を用いる。
19′に基づいて、各中継部21″〜24″におけるバ
ッファ使用率を、式(3)により計算する。そして、バ
ッファ使用率の高い中継部のプロセッサでは処理負荷が
減少し、バッファ使用率の低い中継部のプロセッサでは
処理負荷が増加するように、各プロセッサに対する入力
側処理および出力側処理の割り当てを変更するためのメ
ッセージ20を生成して、それを中継部21″〜24″
に転送する。
ァ(すなわち、バッファ使用率の低いバッファ)に対応
するプロセッサの使用率(式(2))は低いため、上記
の動作により、各プロセッサ1〜4の使用率は均等化さ
れる。
セッサ1〜4の間の処理負荷が均等になるように、各プ
ロセッサ1〜4の入力側処理と出力側処理の分担が切り
替えられるため、第1の実施形態と同様、装置全体とし
てのパケット処理能力は向上する。また、本実施形態で
は、データバッファ69〜72の空き容量を定期的に計
測することで各プロセッサ1〜4の処理負荷を求めるた
め、第1の実施形態と較べて、処理負荷の検出に要する
処理は軽減される。
サーバ・システムの一例を示す図であり、図36に示す
通信ネットワークシステムにクライアント1001〜1
006とサーバ1007〜1009を配置した構成を示
す。このクライアント・サーバ・システムでは、クライ
アント1001〜1006がサーバ1007〜1009
に対してサービスを要求し、サーバ1007〜1009
はその要求に応じてサービスを提供する。サービスの要
求と提供は、クライアント1001〜1006とサーバ
1007〜1009間のパケット17(図37)の通信
により行われる。また、各サーバ1007〜1009
は、複数のクライアント1001〜1006から共通に
アクセスされる。このため、サーバ1007〜1009
が多く接続されたネットワークほど、パケット17のト
ラヒック量が多くなり、ルータ装置に与える処理負荷も
大きくなる。本実施形態では、これらの特徴を利用し、
各プロセッサ1〜4の処理負荷として、ネットワーク5
〜8に接続されたサーバ1007〜1009の台数を利
用する。
ルータ12aの構成を示す図である。図に示すように、
ルータ12aは、前述した第1の実施形態のルータ12
´(図1)から統計手段52〜55を除き、計数手段1
010〜1013を加えた構成を有する。計数手段10
10〜1013は、計時を行うタイマ1014〜101
7と、中継部21a〜24aのネットワーク5〜8に接
続されたサーバ1007〜1009の台数を計数するカ
ウンタ1018〜1021により構成される。ルータ1
2aでは、計数手段1010〜1013と調整部25a
により、各ネットワーク5〜8に接続されたサーバの台
数を求めるサーバ検出処理が行われる。
継部21a〜24aとサーバ1007〜1009の間で
通信されるパケット17aおよび17bのフォーマット
を示す図である。パケット17aは、サーバ検出要求用
のパケットであり、各中継部21a〜24aからサーバ
1007〜1009へ送信される。その宛先MACアド
レスには、各中継部21a〜24aのネットワーク5〜
8に接続する全てのクライアント1001〜1006、
サーバ1007〜1009、およびルータ13〜14を
指定するアドレスが設定される。また、発信MACアド
レスには、本パケット17aの送出元のMACコントロ
ーラ78〜81のMACアドレスが設定され、ネットワ
ークレイヤのプロトコルタイプには、本パケットがパケ
ット17aであることを示す値が設定される。一方、パ
ケット17bは、サーバ検出応答用のパケットであり、
サーバ1007〜1009からルータ12aの各中継部
21a〜24aへ送信される。その宛先MACアドレス
には、受信パケット17aの発信MACアドレスが、発
信MACアドレスには、本パケット17bの送出元のサ
ーバのMACコントローラ(図示なし)のMACアドレ
スが、ネットワークレイヤのプロトコルタイプには、パ
ケット17bであることを示す値が、それぞれ設定され
る。
部21a〜24aから調整部25aへ転送されるメッセ
ージ19aのフォーマットを示す図である。このメッセ
ージ19aは、中継部21a〜24aの各ネットワーク
5〜8に接続されたサーバ1007〜1009の台数を
報告するためのものである。図で、メッセージタイプに
は、メッセージ19aであることを示す値が設定され、
サーバカウンタには、各中継部21a〜24aのネット
ワーク5〜8に接続されたサーバ1007〜1009の
台数が設定される。
ータ12aでは、プロセッサ1〜4が統計処理(図9)
の代わりにサーバ検出処理を行う点と、調整部25aの
処理分担変更処理が若干異なる点を除き、第1の実施形
態のルータ12´と同じ動作を行う。
トである。本処理は、第1の実施形態で説明した入力側
処理と出力側処理に並行して、定期的に行われる。サー
バ検出処理において、ルータ12aの各プロセッサ1〜
4は、まず、カウンタ1017〜1021を0クリア
し、パケット17a(図28)をデータバッファ69〜
72内に生成し、そのパケット17aのネットワーク5
〜8への送出をMACコントローラ78〜81に指示し
た後、タイマ1013〜1016を0値よりスタートさ
せる(ステップ1101)。指示に応じてMACコント
ローラ78〜81は、ネットワーク5〜8へパケット1
7aを送出する。
ク5〜8に接続された全てのクライアント1001〜1
006、サーバ1007〜1009、およびルータ13
〜14で受信される。ただし、クライアント1001〜
1006およびルータ13〜14では、受信したパケッ
ト17aのネットワークレイヤのプロトコルタイプか
ら、未サポートプロトコルのパケットと認識して、その
パケット17aは廃棄する。各サーバ1007〜100
9では、受信したパケット17aのネットワークレイヤ
のプロトコルタイプより、サーバ検出要求用のパケット
と認識して、パケット17b(図43)を生成してネッ
トワーク5〜8に送出する。
2aの各中継部21a〜24aで受信される。各中継部
21a〜24aのMACコントローラ78〜81は、受
信したパケット17bをデータバッファ69〜72に格
納し、格納が完了した時点でプロセッサ1〜4にパケッ
トの受信を通知する。プロセッサ1〜4は、この通知に
応じて、中継プログラムメモリ40〜43の「入力側処
理用のベクタアドレス」に設定している番地からプログ
ラムを実行し、これにより、例えば入力側処理A(図4
1)が行われる。この処理により、自中継部宛でないパ
ケット17bは廃棄される。
17bの場合、処理はサーバ検出処理のステップ110
2に移る。各プロセッサ1〜4は、パケット17bの受
信を認識する毎に、そのパケット17bを送ったネット
ワークに対応するカウンタ1018〜1021を1イン
クリメントし、認識したパケット17bは廃棄する(ス
テップ1102)。そして、パケット17aの送信指示
(ステップ1101)後に、予め決められた時間が経過
した時点で、カウンタ1017〜1021の値を用い
て、データバッファ69〜72内にメッセージ19a
(図44)を生成し、その転送をDMAコントローラ3
1〜34に指示する。この指示に従いDMAコントロー
ラ31〜34は、生成されたメッセージ19aを調整部
25aへ転送する。
aより受信したメッセージ19aに応じて、第1の実施
形態と同様な処理(図13)を行う。ただし、ここで
は、各プロセッサ1〜4の処理負荷として、プロセッサ
の使用率ではなく、各中継部21a〜24aのネットワ
ーク5〜8に接続されているサーバ1007〜1009
の台数を用いる。調整部25aは、送られてきたメッセ
ージ19aから、各中継部21a〜24aの各ネットワ
ーク5〜8に接続されたサーバの台数を把握する。そし
て、サーバの台数が多い中継部のプロセッサでは処理負
荷が減少し、サーバの台数が少ない中継部のプロセッサ
では処理負荷が増加するように、各プロセッサ1〜4に
対する入力側処理および出力側処理の割り当てを変更す
る。そして、この変更内容を指示するメッセージ20
(図6)をデータバッファ73内に生成し、各中継部2
1a〜24aに転送する。各中継部21a〜24aで
は、転送されたメッセージ20の内容に従って、ベクタ
アドレス変更処理を行う。これにより、入力側処理と出
力側処理の分担が変更され、各プロセッサ1〜4の処理
負荷は均等化される。
17aに応じてサーバ1007〜1009から返送され
るパケット17bにより、接続されたサーバ1007〜
1009の台数を検出するが、例えば、定期的の所定の
時刻に、サーバ1007〜1009から能動的に送信さ
れるパケット17bにより台数を検出するようにしても
良い。
ッサ1〜4の間の処理負荷が均等化されることから、装
置全体のパケットの処理能力は向上する。また、本実施
形態では、返送されるパケット17bの計数により処理
負荷を求めるため、第1の実施形態と比べ、処理負荷の
検出に要する処理が軽減される。また、サーバ検出処理
を定期的に行うことで、サーバの新規追加や切り離しに
よるネットワークの構成の変化にも対応できる。
は、各プロセッサ1〜4の入力側処理と出力側処理の分
担の切り替えを行う場合に、各中継プログラムメモリ4
0〜43内の入力側処理用のベクタアドレスと、出力側
処理用のベクタアドレスとをそれぞれ対応して書き換え
た。しかし、以下で説明する第4の実施形態では、入力
側が、分担した処理を示す値をメッセージ18(図3
3)のメッセージタイプに設定し、出力側は、そのメッ
セージタイプの値に応じて出力側処理を選択し、実行す
る。
ルータ12bの構成を示す図である。図に示すように、
ルータ12bは、第1の実施形態のルータ12´(図
1)において中継手段36〜39の代わりに中継手段3
6b〜39bを設けた構成を有する。各中継手段36b
〜39bは、中継手段36〜39と同様に、プロセッサ
1〜4と、中継プログラムメモリ40b〜43bと、ル
ーティングテーブル44〜47と、ARPテーブル48
〜51により構成されるが、中継プログラムメモリ40
b〜43b の記憶内容がルータ12´と異なる。
44bの記憶内容の一例を示す図である。中継プログラ
ムメモリ40b〜43bの各々は、第1の実施形態の中
継プログラムメモリ40〜43(図2)において「出力
側処理用のベクタアドレス」の代わりに、「入力側処理
A(図41)に対応する出力側処理A(図42)用のベ
クタアドレス」と、「入力側処理B(図19)に対応す
る出力側処理B(図20)用のベクタアドレス」とを設
定した構成を有する。また、ベクタアドレス変更処理の
プログラムも変更されている。ここでは、各中継プログ
ラムメモリ40b〜43bのベクタアドレスの領域に
は、最初、図32に矢印で示したアドレスが設定されて
いるものとする。
理により生成されるメッセージ20bのフォーマットを
示す図である。図において、メッセージデータには、各
中継部21b〜24bが行う入力側処理の実行位置(ベ
クタアドレス)が設定される。メッセージタイプには、
本メッセージがメッセージ20bであることを示す値が
設定される。また、宛先部には、中継部21b〜24b
の全てを指定する値が設定される。
bの処理分担変更処理、および各中継部21b〜24b
のベクタアドレス変更処理が若干異なる点を除き、第1
の実施形態のルータ12´と同じ動作を行う。図34
に、ベクタアドレス変更処理のフローチャートを示す。
〜24bからメッセージ19(図4)を受信すると、第
1の実施形態と同様の処理(図13)により、各プロセ
ッサ1〜4の処理負荷が均等になるように各プロセッサ
1〜4の処理の分担を決定する。そして、決定した分担
を指定するためのメッセージ20b(図33)を生成し
て中継部21b〜24bへ転送する。
6〜29のDMAコントローラ31〜34が、メッセー
ジバス91で送られてきたメッセージ20b(図33)
を受信して、その受信データを格納手段64〜67のデ
ータバッファ69〜72に格納する。そして、データバ
ッファ69〜72への格納が完了した時点で、プロセッ
サ1〜4にメッセージ20bの受信を通知する。通知を
受けたプロセッサ1〜4では、割り込み処理(図8)を
行い、ベクタアドレス変更処理(図34)に処理を移
す。
セッサ1〜4は、まず、メッセージ20bがデータバッ
ファ69〜72に格納されたことを認識すると(ステッ
プ1111)、中継プログラムメモリ40b〜43b内
の「入力側処理用のベクタアドレス」を、受信メッセー
ジ20bで指定されている値に書き換える(ステップ1
112)。例えば、メッセージ20bが、中継部21b
および24bに対して入力側処理Bを指定し、中継部2
2bおよび23bに対しては入力側処理Aを指定するも
のである場合、中継プログラムメモリ40bおよび43
b内の「入力側処理用のベクタアドレス」は、図35に
矢印で指す値に書き換えられ、中継プログラムメモリ4
1bおよび42b内の「入力側処理用のベクタアドレ
ス」は、図32に矢印で指す値のまま保持される。
ドレス」の設定における、ルータ12bの中継動作を説
明する。
8へ中継されるパケット17がルータ12bに送られた
場合、中継部21b(図45)では、送受信手段74の
MACコントローラ78が送られたパケット17(図2
7)を受信して、その受信データを格納手段64のデー
タバッファ69に格納する。そして、データバッファ6
9への格納が完了した時点で、プロセッサ1にパケット
の受信を通知する。この通知を受けたプロセッサ1は、
図8に示す割り込み処理を開始する。この処理におい
て、プロセッサ1は、割り込みの種類を調べることで、
パケット17の受信を認識し、中継プログラムメモリ4
0b(図35)から「入力処理用のベクタアドレス」を
選択する(ステップ131)。そして、選択したベクタ
アドレスが示す入力側処理のプログラムを実行する。こ
れにより、受信された上記パケット17には、図19の
入力側処理Bが行われる。入力側処理Bにおいて、プロ
セッサ1は、第1の実施形態と同様の処理を行い、その
処理より得られるメッセージ18(図3)のメッセージ
ヘッダの「メッセージタイプ」に、入力側処理Bの実施
を示す値を設定する。そして、転送手段26のDMAコ
ントローラ31にメッセージ18の中継部24bへの転
送を指示する(ステップ111)。これにより、メッセ
ージ18はメッセージバス91を介して中継部24bに
転送される。
コントローラ34が、メッセージバス91からメッセー
ジ18bを受信して、その受信データを格納手段67の
データバッファ72に格納する。そして、格納が完了し
た時点で、プロセッサ4にメッセージ18bの受信を通
知する。通知を受けたプロセッサ4は、割り込み処理
(図8)を行い、受信されたパケットのメッセージヘッ
ダの「メッセージタイプ」の設定から、入力側処理Bの
実施されたパケット17であると認識する。そして、中
継プログラムメモリ43bの「入力側処理Bに対応する
出力側処理Bのベクタアドレス」により指定される出力
側処理Bのプログラム(図20)を実行する。出力側処
理Bにおいて、プロセッサ4は、第1の実施形態と同様
の処理を行い、送受信手段77のMACコントローラ8
1にパケット17の送出を指示する(ステップ10
6)。そして、指示に従いMACコントローラ81は、
ネットワーク8へパケット17を送出する。
8へ中継されるパケット17がルータ12bに送られた
場合、中継部23bでは、そのパケット17を受信し
て、前述した割り込み処理を行う。そして、その結果に
応じてパケット17に入力側処理A(図41)を行い、
その処理により得たメッセージ18を中継部24bに転
送する。このときメッセージ18の「メッセージタイ
プ」には、入力側処理Aの実施を示す値が設定されてい
る。中継部24bでは、メッセージバス91から上記メ
ッセージ18を受信し、割り込み処理を行う。そして、
その結果に応じてパケット17に出力側処理Aを行い、
処理したパケット17をネットワーク8に送出する。以
上のように、本実施形態でも、各プロセッサ1〜4の間
の処理負荷が均等化され、装置全体のパケットの処理能
力は向上する。
個のネットワークを接続する構成を示したが、配置する
中継部を増やすことで、より多くのネットワークを接続
することが可能となる。また、各実施形態の機能を組み
合わせたルータを構成することも容易である。例えば、
第4の実施形態のルータを、プロセッサの使用率からで
なく、接続されたサーバの台数から処理負荷を求めるよ
うに構成することができる。
ッサ1〜4を配置しているが、プロセッサ以外のハード
ウェアにより上述の中継処理を実施するようにしても良
い。
ブリッジやブルータを実現することも可能である。具体
的には、受信したパケットから、各ネットワークに接続
された装置の「発信MACアドレス」を学習する機能を
上記の実施形態に設け、ルーティングテーブル(図3
9)からではなく、上記の学習結果から転送先の中継部
やネットワークを特定するようにすれば、ブリッジが実
現できる。また、上記の実施形態でサポートされている
IPのプロトコルに基づくパケットを受信した場合には
ルーティングテーブルを用い、実施形態でサポートされ
ていない他のプロトコルに基づくパケットを受信した場
合には上記の学習結果を用いて、それぞれ転送先の中継
部やネットワークを特定するようにすれば、ブルータが
実現できる。
ば、接続した複数のネットワークに対応して、パケット
の中継処理を行う処理手段を個別に備えたインタネット
ワーク装置において、各処理手段の処理負荷を均等化さ
せることにより、装置全体のパケット処理能力を向上さ
せることができる。
を示すブロック図。
フォーマットを示す図。
を知らせるメッセージ19のフォーマットを示す図。
知らせるメッセージ20のフォーマットを示す図。
データの流れを示す図。
ーチャート。
統計処理のフローチャート。
る統計データを示す図。
る統計データを示す図。
の転送経路を示す図。
なるようなメッセージ20を生成する、中継部の処理負
荷変更処理のフローチャート。
書き替える、中継部のベクタアドレス変更処理のフロー
チャート。
設定状態を例示する図。
フローチャート。
ケット中継時のパケットのデータの流れを例示する図。
チャートを示す図。
チャートを示す図。
設定状態を例示する図。
成を示すブロック図。
図。
整部へ知らせる処理のフローチャート。
ージ19のフォーマットを示す図。
示す図。
成を示すブロック図。
図。
するメッセージのフォーマットを示す図。
成を示すブロック図。
図。
らせるメッセージのフォーマットを示す図。
ト。
設定状態を例示する図。
的に示す図。
の構成例を示す図。
図。
チャート。
チャート。
フォーマットを示す図。
データの流れを示す図。
トの中継経路を示す図。
タの流れを示す図。
トの中継経路を示す図。
タの流れを示す図。
14…ルータ、15〜16…端末、17…パケット、1
8〜20…メッセージ、21〜24…中継部、25…調
整部、26〜30…転送手段、31〜35…DMAコン
トローラ、36〜39…中継手段、40〜43…中継プ
ログラム、44〜47…ルーティングテーブル、48〜
51…ARPテーブル、52〜55…統計手段、56〜
59…タイマ、60〜63…統計テーブル、64〜68
…格納手段、69〜73…データバッファ、74〜77
…送受信手段、78〜81…MACコントローラ、82
…調整手段、83…プロセッサ、84…調整プログラ
ム、86〜90…ローカルバス、91…メッセージバ
ス、92…外部インタフェース、93…保守管理端末、
1001〜1006…クライアント、1007〜100
9…サーバ、1010〜1013…計数手段、1014
〜1017…タイマ、1018〜1021…カウンタ。
Claims (8)
- 【請求項1】接続される複数のネットワークの各々に対
応して個別に設けられる複数の処理手段と、当該複数の
処理手段の各々を相互に接続する手段を有し、前記複数
のネットワークの間で行われるパケットデータの中継処
理を、当該ネットワークに対応して設けられた処理手段
が分担して行うインタネットワーク装置であって、 単位時間毎に、前記複数の処理手段の各々の処理負荷を
計測する計測手段と、 当該計測手段の計測結果に応じて、前記複数の処理手段
の各々の処理負荷がより均等になるように、当該複数の
処理手段の各々の処理の分担を変更させる調整手段を備
えることを特徴とするインタネットワーク装置。 - 【請求項2】請求項1記載のインタネットワーク装置で
あって、 前記各パケットデータの中継処理は、当該中継処理を分
担する部分が互いに異なる複数の入力側処理の内の一つ
の入力側処理と、当該複数の入力側処理に対応して設け
られた、対応する入力側処理が分担しない中継処理の部
分を各々分担する複数の出力側処理の内の、前記一つの
入力側処理に対応する一つの出力側処理とにより各々行
われ、 前記計測手段は、前記処理負荷の計測として、前記複数
の処理手段の各々の処理時間の統計を取り、 前記調整手段は、前記計測手段の計測結果に応じて、処
理時間が他の処理手段に較べて長い処理手段に対して、
より小さい分担量の入力側処理と、より小さい分担量の
出力側処理の一方、もしくは、両方を割り当て、当該割
り当てた処理と共に中継処理を構成する処理を他の処理
手段に対して割り当てることを特徴とするインタネット
ワーク装置。 - 【請求項3】接続される複数のネットワークの各々に対
応して個別に設けられる複数の処理手段と、当該複数の
処理手段の各々を相互に接続する手段を有し、前記複数
のネットワークの間で行われるパケットデータの中継処
理を、当該ネットワークに対応して設けられた処理手段
が分担して行うインタネットワーク装置であって、 前記各パケットデータの中継処理は、当該中継処理を分
担する部分が互いに異なる複数の入力側処理の内の一つ
の入力側処理と、当該複数の入力側処理に対応して設け
られた、対応する入力側処理が分担しない中継処理の部
分を各々分担する複数の出力側処理の内の、前記一つの
入力側処理に対応する一つの出力側処理とにより各々行
われ、 単位時間毎に、前記複数の処理手段の各々の処理時間の
統計を取る計測手段と、 当該計測手段の計測結果を表示すると共に、利用者の操
作を受け付ける端末を備え、 前記端末は、前記利用者の操作に応じて、処理時間が他
の処理手段に較べて長い処理手段に対して、より小さい
分担量の入力側処理と、より小さい分担量の出力側処理
の一方、もしくは、両方を割り当て、当該割り当てた処
理と共に中継処理を構成する処理を他の処理手段に対し
て割り当てることを特徴とするインタネットワーク装
置。 - 【請求項4】請求項1記載のインタネットワーク装置で
あって、 前記複数の処理手段が分担する中継処理が施される各パ
ケットデータを格納する格納手段を有し、 前記各パケットデータの中継処理は、当該中継処理を分
担する部分が互いに異なる複数の入力側処理の内の一つ
の入力側処理と、当該複数の入力側処理に対応して設け
られた、対応する入力側処理が分担しない中継処理の部
分を各々分担する複数の出力側処理の内の、前記一つの
入力側処理に対応する一つの出力側処理とにより各々行
われ、 前記計測手段は、前記処理負荷の計測として、前記格納
手段におけるパケットデータの格納状況から、前記複数
の処理手段の各々により処理されるパケットデータの量
を各処理手段毎に計測し、 前記調整手段は、前記計測手段の計測結果に応じて、処
理されるデータの量が他の処理手段に較べて大きい処理
手段に対して、より小さい分担量の入力側処理と、より
小さい分担量の出力側処理の一方、もしくは、両方を割
り当て、当該割り当てた処理と共に中継処理を構成する
処理を他の処理手段に対して割り当てることを特徴とす
るインタネットワーク装置。 - 【請求項5】請求項4記載のインタネットワーク装置で
あって、 前記格納手段は、前記複数の処理手段が分担する中継処
理が施される各パケットデータを、当該複数の処理手段
の各々に対応して個別に格納する複数の格納手段からな
り、 前記計測手段は、前記処理負荷の計測として、前記複数
の格納手段の各々の空き容量を計測し、 前記調整手段は、前記計測手段の計測結果に応じて、空
き容量の小さい格納手段に対応する処理手段に対して、
より小さい分担量の入力側処理と、より小さい分担量の
出力側処理の一方、もしくは、両方を割り当て、当該割
り当てた処理と共に中継処理を構成する処理を他の処理
手段に対して割り当てることを特徴とするインタネット
ワーク装置。 - 【請求項6】接続される複数のネットワークの各々に対
応して個別に設けられる複数の処理手段と、当該複数の
処理手段の各々を相互に接続する手段を有し、前記複数
のネットワークの間で行われるパケットデータの中継処
理を、当該ネットワークに対応して設けられた処理手段
が分担して行うインタネットワーク装置であって、 前記各パケットデータの中継処理は、当該中継処理を分
担する部分が互いに異なる複数の入力側処理の内の一つ
の入力側処理と、当該複数の入力側処理に対応して設け
られた、対応する入力側処理が分担しない中継処理の部
分を各々分担する複数の出力側処理の内の、前記一つの
入力側処理に対応する一つの出力側処理とにより各々行
われ、 前記複数の処理手段が分担する中継処理が施される各パ
ケットデータを、当該複数の処理手段の各々に対応して
個別に格納する複数の格納手段と、 前記複数の格納手段の各々の空き容量を計測する計測手
段と、 前記計測手段の計測結果を表示するとともに、利用者の
操作を受け付ける端末を備え、 前記端末は、利用者の操作に応じて、空き容量の小さい
格納手段に対応する処理手段に対して、より小さい分担
量の入力側処理と、より小さい分担量の出力側処理の一
方、もしくは、両方を割り当て、当該割り当てた処理と
共に中継処理を構成する処理を他の処理手段に割り当て
ることを特徴とするインタネットワーク装置。 - 【請求項7】請求項1記載のインタネットワーク装置で
あって、 前記各パケットデータの中継処理は、当該中継処理を分
担する部分が互いに異なる複数の入力側処理の内の一つ
の入力側処理と、当該複数の入力側処理に対応して設け
られた、対応する入力側処理が分担しない中継処理の部
分を各々分担する複数の出力側処理の内の、前記一つの
入力側処理に対応する一つの出力側処理とにより各々行
われ、 前記計測手段は、前記処理負荷の計測として、前記複数
のネットワークに接続されたサーバを検出し、検出した
サーバの台数を前記各ネットワーク毎に集計し、 前記調整手段は、前記計測手段の計測結果に応じて、接
続されたサーバの台数が他のネットワークに比べて多い
ネットワークの処理手段に対して、より小さい分担量の
入力側処理と、より小さい分担量の出力側処理の一方、
もしくは、両方を割り当て、当該割り当てた処理と共に
中継処理を構成する処理を、他のネットワークの処理手
段に対して割り当てることを特徴とするインタネットワ
ーク装置。 - 【請求項8】請求項1記載のインタネットワーク装置で
あって、 前記各パケットデータの中継処理は、当該中継処理を分
担する部分が互いに異なる複数の入力側処理の内の一つ
の入力側処理と、当該複数の入力側処理に対応して設け
られた、対応する入力側処理が分担しない中継処理の部
分を各々分担する複数の出力側処理の内の、前記一つの
入力側処理に対応する一つの出力側処理とにより各々行
われ、 前記計測手段は、前記処理負荷の計測として、前記複数
の処理手段の各々の処理時間の統計を取り、 前記調整手段は、前記計測手段の計測結果に応じて、処
理時間が他の処理手段に比べて長い処理手段に対して、
より小さい分担量の入力側処理を割り当て、もしくは、
他の処理手段に対して、より大きい分担量の入力側処理
を割り当て、 前記処理手段は、自処理手段が出力側処理を施すパケッ
トデータに施された入力側処理を検出し、検出した入力
側処理と共に中継処理を構成する出力側処理を前記パケ
ットデータに施すことを特徴とするインタネットワーク
装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP15997096A JP3366804B2 (ja) | 1995-09-08 | 1996-06-20 | インタネットワーク装置 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7-231479 | 1995-09-08 | ||
JP23147995 | 1995-09-08 | ||
JP15997096A JP3366804B2 (ja) | 1995-09-08 | 1996-06-20 | インタネットワーク装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH09135273A JPH09135273A (ja) | 1997-05-20 |
JP3366804B2 true JP3366804B2 (ja) | 2003-01-14 |
Family
ID=26486609
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP15997096A Expired - Lifetime JP3366804B2 (ja) | 1995-09-08 | 1996-06-20 | インタネットワーク装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3366804B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005060187A1 (ja) * | 2003-12-17 | 2005-06-30 | Nec Corporation | クラスタシステム、クラスタメンバ、故障復旧方法及びプログラム |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001029747A1 (en) * | 1999-10-22 | 2001-04-26 | Sul Yung Seok | Method for arranging sporting events at website and advertising method therein |
JP2009266119A (ja) * | 2008-04-28 | 2009-11-12 | Hitachi Ltd | ストレージ装置及びデータ転送方法 |
-
1996
- 1996-06-20 JP JP15997096A patent/JP3366804B2/ja not_active Expired - Lifetime
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005060187A1 (ja) * | 2003-12-17 | 2005-06-30 | Nec Corporation | クラスタシステム、クラスタメンバ、故障復旧方法及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
JPH09135273A (ja) | 1997-05-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5978844A (en) | Internetworking apparatus for load balancing plural networks | |
US5918021A (en) | System and method for dynamic distribution of data packets through multiple channels | |
US6397260B1 (en) | Automatic load sharing for network routers | |
CN101316236B (zh) | Vrrp备份组负载分担方法及路由器 | |
JP3028783B2 (ja) | ネットワークの監視方法と装置 | |
US5590328A (en) | Protocol parallel processing apparatus having a plurality of CPUs allocated to process hierarchical protocols | |
US6496866B2 (en) | System and method for providing dynamically alterable computer clusters for message routing | |
CA2171366C (en) | Atm bus system | |
EP1010102B1 (en) | Arrangement for load sharing in computer networks | |
JP3684262B2 (ja) | ネットワークシステム及び集線装置 | |
EP0858189A2 (en) | Networking method | |
US20050249199A1 (en) | Load balancing using distributed forwarding agents with application based feedback for different virtual machines | |
EP0599764A1 (en) | Distributed processing of route selection across networks and subnetworks | |
JPH0831876B2 (ja) | パケツト交換網におけるル−チング制御方式 | |
JP2000307657A (ja) | ホスト・クラスタのためのネットワーク・ディスパッチャを利用するデータ伝送システムにおけるルータ監視システム | |
CN111901236B (zh) | 一种利用动态路由优化openstack云网络的方法及系统 | |
JP2000312226A (ja) | 通信品質を保証する方法 | |
CN109960586B (zh) | 一种服务器状态可感知的四层负载均衡器及均衡方法 | |
EP4149066A1 (en) | Communication method and apparatus | |
US7177898B2 (en) | Multiple-processor information processing system | |
JP3366804B2 (ja) | インタネットワーク装置 | |
JPH10262044A (ja) | 中継装置及び中継装置による中継方法 | |
JP4309321B2 (ja) | ネットワークシステムの運用管理方法及びストレージ装置 | |
JP2012175351A (ja) | サービス振分方法、サービス振分装置、およびプログラム | |
JP2003218916A (ja) | フロントエンドプロセッサおよびルーティング管理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081101 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081101 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091101 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101101 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111101 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121101 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131101 Year of fee payment: 11 |
|
EXPY | Cancellation because of completion of term |