(57)【特許請求の範囲】
【請求項１】
複数の処理ノードがループネットワークで接続され、該ループネットワークは、各ノードが端末から入力された呼を呼処理部により処理して端末に返す場合に、ノード間を順次一方向にのみ呼を論理的に伝送する機能を有するコンピュータシステムにおいて、システム全体の負荷をシステム内の各ノードに均等に配分するための負荷均衡化方法であって、自ノード負荷推定手段が自ノードの処理中及び処理待機中の呼の数から自ノードの負荷を推定して自ノード負荷推定値を求め、呼取り込み制御手段が前記ループネットワークを周回する呼を取り込み、そのたびに前記自ノード負荷推定値を、自ノードの負荷を制限するための自ノード内呼数の閾値と比較し、比較結果に基づいて、当該呼を前記呼処理部に渡すか、あるいは前記呼処理部に渡さずに再び前記ループネットワークに送出するかの判断を行なう各過程を有し、
閾値変更手段が前記閾値を変更する過程を更に有し、該閾値の変更が、複数の処理ノードの閾値を集中的に管理し、各ノードに関する閾値をそれぞれ変更するコンピュータシステムの負荷均衡化方法。
【請求項２】
複数の処理ノードがループネットワークで接続され、該ループネットワークは、各ノードが端末から入力された呼を呼処理部により処理して端末に返す場合に、ノード間を順次一方向にのみ呼を論理的に伝送する機能を有するコンピュータシステムにおいて、システム全体の負荷をシステム内の各ノードに均等に配分するための負荷均衡化方法であって、自ノード負荷推定手段が自ノードの処理中及び処理待機中の呼の数から自ノードの負荷を推定して自ノード負荷推定値を求め、呼取り込み制御手段が前記ループネットワークを周回する呼を取り込み、そのたびに前記自ノード負荷推定値を、自ノードの負荷を制限するための自ノード内呼数の閾値と比較し、比較結果に基づいて、当該呼を前記呼処理部に渡すか、あるいは前記呼処理部に渡さずに再び前記ループネットワークに送出するかの判断を行なう各過程を有し、
閾値変更手段が前記閾値を変更する過程を更に有し、前記閾値の変更の程度である閾値変分の値を変更する際、前記閾値変分の変更は、閾値変分変更手段が複数の処理ノードの閾値変分値を集中的に管理し、各ノードに関する閾値変分値をそれぞれ変更するコンピュータシステムの負荷均衡化方法。
【請求項３】
複数の処理ノードがループネットワークで接続され、該ループネットワークは、各ノードが端末から入力された呼を呼処理部により処理して端末に返す場合に、ノード間を順次一方向にのみ呼を論理的に伝送する機能を有するコンピュータシステムにおいて、システム全体の負荷をシステム内の各ノードに均等に配分するための負荷均衡化方法であって、自ノード負荷推定手段が自ノードの処理中及び処理待機中の呼の数から自ノードの負荷を推定して自ノード負荷推定値を求め、呼取り込み制御手段が前記ループネットワークを周回する呼を取り込み、そのたびに前記自ノード負荷推定値を、自ノードの負荷を制限するための自ノード内呼数の閾値と比較し、比較結果に基づいて、当該呼を前記呼処理部に渡すか、あるいは前記呼処理部に渡さずに再び前記ループネットワークに送出するかの判断を行なう各過程を有し、
閾値変更手段が前記閾値を変更する過程を更に有し、負荷均衡化処理開始前に、閾値変分変更手段が自ノードの性能の値をシステム内の全ノードの性能の総和であるシステム全体性能で割った値を、前記閾値の変更の程度である閾値変分値として与えるコンピュータシステムの負荷均衡化方法。
【請求項４】
複数の処理ノードがループネットワークで接続され、該ループネットワークは、各ノードが端末から入力された呼を呼処理部により処理して端末に返す場合に、ノード間を順次一方向にのみ呼を論理的に伝送する機能を有するコンピュータシステムにおいて、システム全体の負荷をシステム内の各ノードに均等に配分するための負荷均衡化方法であって、自ノード負荷推定手段が自ノードの処理中及び処理待機中の呼の数から自ノードの負荷を推定して自ノード負荷推定値を求め、呼取り込み制御手段が前記ループネットワークを周回する呼を取り込み、そのたびに前記自ノード負荷推定値を、自ノードの負荷を制限するための自ノード内呼数の閾値と比較し、比較結果に基づいて、当該呼を前記呼処理部に渡すか、あるいは前記呼処理部に渡さずに再び前記ループネットワークに送出するかの判断を行なう各過程を有し、
自ノード負荷推定手段が前記自ノード負荷推定値の決定を、自ノードが実行可能な各機能毎に行うコンピュータシステムの負荷均衡化方法。
【請求項５】
複数の処理ノードがループネットワークで接続され、該ループネットワークは、各ノードが端末から入力された呼を呼処理部により処理して端末に返す場合に、ノード間を順次一方向にのみ呼を論理的に伝送する機能を有するコンピュータシステムにおいて、システム全体の負荷をシステム内の各ノードに均等に配分するための負荷均衡化方法であって、自ノード負荷推定手段が自ノードの処理中及び処理待機中の呼の数から自ノードの負荷を推定して自ノード負荷推定値を求め、呼取り込み制御手段が前記ループネットワークを周回する呼を取り込み、そのたびに前記自ノード負荷推定値を、自ノードの負荷を制限するための自ノード内呼数の閾値と比較し、比較結果に基づいて、当該呼を前記呼処理部に渡すか、あるいは前記呼処理部に渡さずに再び前記ループネットワークに送出するかの判断を行なう各過程を有し、
前記呼を呼処理部へ渡すか否かの判断を行う過程は、呼取り込み制御手段が呼の到着ごとに前記自ノード負荷推定値を前記閾値と比較し、該自ノード負荷推定値が該閾値よりも小さければ、当該呼を呼処理部へ渡し、該自ノード負荷推定値が該閾値と等しいかあるいは大きい場合には、該閾値を増やすことにより当該自ノード負荷推定値が該閾値よりも小さくなる場合に限り、当該呼が周回呼であれば前記呼処理部へ渡し、通常呼であれば前記ループネットワークに流す各過程を有し、前記自ノード負荷推定値と前記閾値との比較を、自ノード実行可能機能ごとに行うコンピュータシステムの負荷均衡化方法。
【請求項６】
複数の処理ノードがループネットワークで接続され、該ループネットワークは、各ノードが端末から入力された呼を呼処理部により処理して端末に返す場合に、ノード間を順次一方向にのみ呼を論理的に伝送する機能を有するコンピュータシステムにおいて、システム全体の負荷をシステム内の各ノードに均等に配分するための負荷均衡化方法であって、自ノード負荷推定手段が自ノードの処理中及び処理待機中の呼の数から自ノードの負荷を推定して自ノード負荷推定値を求め、呼取り込み制御手段が前記ループネットワークを周回する呼を取り込み、そのたびに前記自ノード負荷推定値を、自ノードの負荷を制限するための自ノード内呼数の閾値と比較し、比較結果に基づいて、当該呼を前記呼処理部に渡すか、あるいは前記呼処理部に渡さずに再び前記ループネットワークに送出するかの判断を行なう各過程を有し、
前記呼を呼処理部へ渡すか否かの判断を行う過程は、呼取り込み制御手段が呼の到着ごとに前記自ノード負荷推定値を前記閾値と比較し、該自ノード負荷推定値が該閾値よりも小さければ、当該呼を呼処理部へ渡し、該自ノード負荷推定値が該閾値と等しいかあるいは大きい場合には、呼を前記ループネットワークに流す各過程を有し、前記自ノード負荷推定値と前記閾値との比較を、自ノード実行可能機能ごとに行うコンピュータシステムの負荷均衡化方法。
【請求項７】
複数の処理ノードがループネットワークで接続され、該ループネットワークは、各ノードが端末から入力された呼を呼処理部により処理して端末に返す場合に、ノード間を順次一方向にのみ呼を論理的に伝送する機能を有するコンピュータシステムにおいて、システム全体の負荷をシステム内の各ノードに均等に配分するための負荷均衡化方法であって、自ノード負荷推定手段が自ノードの処理中及び処理待機中の呼の数から自ノードの負荷を推定して自ノード負荷推定値を求め、呼取り込み制御手段が前記ループネットワークを周回する呼を取り込み、そのたびに前記自ノード負荷推定値を、自ノードの負荷を制限するための自ノード内呼数の閾値と比較し、比較結果に基づいて、当該呼を前記呼処理部に渡すか、あるいは前記呼処理部に渡さずに再び前記ループネットワークに送出するかの判断を行なう各過程を有し、
前記呼を呼処理部へ渡すか否かの判断を行う過程は、呼取り込み制御手段が一定周期で、または前記閾値の変更あるいは前記自ノード負荷推定値の変更を契機として前記自ノード負荷推定値と前記閾値との比較を行ない、比較結果を記憶しておき、呼到着時に、前記自ノード負荷推定値が前記閾値よりも小さい比較結果が記憶されていれば、当該呼を呼処理部へ渡し、前記自ノード負荷推定値が前記閾値と等しいかあるいはこれより大きいことが記憶されている場合には、当該呼が通常呼であれば前記ループネットワークに流し、当該呼が周回呼で、前記閾値を増やすことにより前記自ノード負荷推定値が前記閾値よりも小さくなる場合には該呼を前記呼処理部へ渡す各過程を有し、前記自ノード負荷推定値と前記閾値との比較を、自ノード実行可能機能ごとに行うコンピュータシステムの負荷均衡化方法。
【請求項８】
複数の処理ノードがループネットワークで接続され、該ループネットワークは、各ノードが端末から入力された呼を呼処理部により処理して端末に返す場合に、ノード間を順次一方向にのみ呼を論理的に伝送する機能を有するコンピュータシステムにおいて、システム全体の負荷をシステム内の各ノードに均等に配分するための負荷均衡化方法であって、自ノード負荷推定手段が自ノードの処理中及び処理待機中の呼の数から自ノードの負荷を推定して自ノード負荷推定値を求め、呼取り込み制御手段が前記ループネットワークを周回する呼を取り込み、そのたびに前記自ノード負荷推定値を、自ノードの負荷を制限するための自ノード内呼数の閾値と比較し、比較結果に基づいて、当該呼を前記呼処理部に渡すか、あるいは前記呼処理部に渡さずに再び前記ループネットワークに送出するかの判断を行なう各過程を有し、
前記呼を呼処理部へ渡すか否かの判断を行う過程は、呼取り込み制御手段が一定周期で、または前記閾値の変更あるいは前記自ノード負荷推定値の変更を契機として前記自ノード負荷推定値と前記閾値との比較を行ない、前記自ノード負荷推定値が前記閾値よりも小さい場合、及び、前記自ノード負荷推定値が前記閾値と等しいかあるいはこれより大きくかつ当該呼が周回呼で、前記閾値を増やすことにより前記自ノード負荷推定値が前記閾値よりも小さくなる場合、取り込み制御フラグをオンし、前記自ノード負荷推定値が前記閾値と等しいかこれよりも大きく、かつ当該呼が通常呼であれば、前記取り込み制御フラグをオフし、新たな呼の到着時、前記呼取り込み制御フラグがオンであれば該呼を前記呼処理部へ渡し、前記呼取り込み制御フラグがオフであれば該呼を前記ループネットワークへ流す各過程を有し、前記自ノード負荷推定値と前記閾値との比較を、自ノード実行可能機能ごとに行うコンピュータシステムの負荷均衡化方法。
【請求項９】
複数の処理ノードがループネットワークで接続され、該ループネットワークは、各ノードが端末から入力された呼を呼処理部により処理して端末に返す場合に、ノード間を順次一方向にのみ呼を論理的に伝送する機能を有するコンピュータシステムにおいて、システム全体の負荷をシステム内の各ノードに均等に配分するための負荷均衡化方法であって、自ノード負荷推定手段が自ノードの処理中及び処理待機中の呼の数から自ノードの負荷を推定して自ノード負荷推定値を求め、呼取り込み制御手段が前記ループネットワークを周回する呼を取り込み、そのたびに前記自ノード負荷推定値を、自ノードの負荷を制限するための自ノード内呼数の閾値と比較し、比較結果に基づいて、当該呼を前記呼処理部に渡すか、あるいは前記呼処理部に渡さずに再び前記ループネットワークに送出するかの判断を行なう各過程を有し、
前記呼を呼処理部へ渡すか否かの判断を行う過程は、呼取り込み制御手段が一定周期で、または前記閾値の変更あるいは前記自ノード負荷推定値の変更を契機として前記自ノード負荷推定値と前記閾値との比較を行ない、前記自ノード負荷推定値が前記閾値よりも小さい場合、取り込み制御フラグをオンし、前記自ノード負荷推定値が前記閾値と等しいかこれよりも大きければ、前記取り込み制御フラグをオフし、新たな呼の到着時、前記呼取り込み制御フラグがオンであれば該呼を前記呼処理部へ渡し、前記呼取り込み制御フラグがオフであれば、当該呼が通常呼であれば前記ループネットワークに流し、当該呼が周回呼で、前記閾値を増やすことにより前記自ノード負荷推定値が前記閾値よりも小さくなる場合には該呼を前記呼処理部へ渡す各過程を有し、前記自ノード負荷推定値と前記閾値との比較を、自ノード実行可能機能ごとに行うコンピュータシステムの負荷均衡化方法。
【請求項１０】
複数の処理ノードがループネットワークで接続され、該ループネットワークは、各ノードが端末から入力された呼を呼処理部により処理して端末に返す場合に、ノード間を順次一方向にのみ呼を論理的に伝送する機能を有するコンピュータシステムにおいて、システム全体の負荷をシステム内の各ノードに均等に配分するための負荷均衡化方法であって、自ノード負荷推定手段が自ノードの処理中及び処理待機中の呼の数から自ノードの負荷を推定して自ノード負荷推定値を求め、呼取り込み制御手段が前記ループネットワークを周回する呼を取り込み、そのたびに前記自ノード負荷推定値を、自ノードの負荷を制限するための自ノード内呼数の閾値と比較し、比較結果に基づいて、当該呼を前記呼処理部に渡すか、あるいは前記呼処理部に渡さずに再び前記ループネットワークに送出するかの判断を行なう各過程を有し、
閾値変更手段が前記閾値を変更する過程を更に有し、該閾値の変更を、自ノードが実行可能な各機能毎に行うコンピュータシステムの負荷均衡化方法。
【請求項１１】
複数の処理ノードがループネットワークで接続され、該ループネットワークは、各ノードが端末から入力された呼を呼処理部により処理して端末に返す場合に、ノード間を順次一方向にのみ呼を論理的に伝送する機能を有するコンピュータシステムにおいて、システム全体の負荷をシステム内の各ノードに均等に配分するための負荷均衡化方法であって、自ノード負荷推定手段が自ノードの処理中及び処理待機中の呼の数から自ノードの負荷を推定して自ノード負荷推定値を求め、呼取り込み制御手段が前記ループネットワークを周回する呼を取り込み、そのたびに前記自ノード負荷推定値を、自ノードの負荷を制限するための自ノード内呼数の閾値と比較し、比較結果に基づいて、当該呼を前記呼処理部に渡すか、あるいは前記呼処理部に渡さずに再び前記ループネットワークに送出するかの判断を行なう各過程を有し、
閾値変更手段が前記閾値を変更する過程を更に有し、該閾値の変更の程度である閾値変分の値を変更する際、閾値変分変更手段が前記コンピュータシステム内のノードの編成に削除や追加の変更があった場合に、削除・追加されたノードの性能値を基に前記閾値変分値を変更するコンピュータシステムの負荷均衡化方法。
【請求項１２】
複数の処理ノードがループネットワークで接続され、該ループネットワークは、各ノードが端末から入力された呼を呼処理部により処理して端末に返す場合に、ノード間を順次一方向にのみ呼を論理的に伝送する機能を有するコンピュータシステムにおいて、システム全体の負荷をシステム内の各ノードに均等に配分するための負荷均衡化方法であって、自ノード負荷推定手段が自ノードの処理中及び処理待機中の呼の数から自ノードの負荷を推定して自ノード負荷推定値を求め、呼取り込み制御手段が前記ループネットワークを周回する呼を取り込み、そのたびに前記自ノード負荷推定値を、自ノードの負荷を制限するための自ノード内呼数の閾値と比較し、比較結果に基づいて、当該呼を前記呼処理部に渡すか、あるいは前記呼処理部に渡さずに再び前記ループネットワークに送出するかの判断を行なう各過程を有し、
閾値変更手段が前記閾値を変更する過程を更に有し、該閾値の変更の程度である閾値変分の値を変更する際、閾値変分変更手段が前記ループネットワークを流れる全ての呼を監視し、全通過呼数の変化と周回呼数の変化とから、前記コンピュータシステム全体の負荷変動及び、同システムのノード編成の変化を推定し、推定結果に基づいて前記閾値変分値を変更するコンピュータシステムの負荷均衡化方法。
【請求項１３】
前記ループネットワークを流れる全ての呼を監視し、周回呼を検出した場合に、閾値変更手段が前記閾値の変更を行う請求項１２記載のコンピュータシステムの負荷均衡化方法。
【請求項１４】
自ノード負荷推定手段が前記自ノード負荷推定値を決定する過程は、呼が前記呼処理部に渡された場合には前記呼取り込み数カウンタを１増やし、結果が前記呼処理部から返された場合には前記呼取り込み数カウンタを１減らし、該呼取り込み数カウンタの値を前記自ノード負荷推定値とする過程を有する請求項１３記載のコンピュータシステムの負荷均衡化方法。
【請求項１５】
複数の処理ノードがループネットワークで接続され、該ループネットワークは、各ノードが端末から入力された呼を呼処理部により処理して端末に返す場合に、ノード間を順次一方向にのみ呼を論理的に伝送する機能を有するコンピュータシステムにおいて、各ノードの呼処理部と前記ループネットワークの間に設けられ、システム全体の負荷をシステム内の各ノードに均等に配分するための負荷均衡化装置であって、自ノードの処理中及び処理待機中の呼の数から自ノードの負荷を推定して自ノード負荷推定値を求める自ノード負荷推定手段と、自ノードの負荷を制限するための自ノード内呼数の閾値を保持する閾値格納手段と、前記ループネットワークを周回する呼を取り込み、そのたびに前記自ノード負荷推定値を前記閾値と比較し、比較結果に基づいて、当該呼を前記呼処理部に渡すか、あるいは前記呼処理部に渡さずに再び前記ループネットワークに送出するかの判断を行なう呼取り込み制御手段とを有し、
前記閾値変更手段は、複数の処理ノードの閾値を集中的に管理し、各ノードの前記閾値格納手段に格納された閾値をそれぞれ変更するコンピュータシステムの負荷均衡化装置。
【請求項１６】
前記閾値変更手段は、いずれかの処理ノード内に設けられる請求項１５記載のコンピュータシステムの負荷均衡化装置。
【請求項１７】
前記コンピュータシステムは管理・制御目的の制御ノードを更に有し、前記閾値変更手段は、前記制御ノード内に設けられる請求項１５記載のコンピュータシステムの負荷均衡化装置。
【請求項１８】
複数の処理ノードがループネットワークで接続され、該ループネットワークは、各ノードが端末から入力された呼を呼処理部により処理して端末に返す場合に、ノード間を順次一方向にのみ呼を論理的に伝送する機能を有するコンピュータシステムにおいて、各ノードの呼処理部と前記ループネットワークの間に設けられ、システム全体の負荷をシステム内の各ノードに均等に配分するための負荷均衡化装置であって、自ノードの処理中及び処理待機中の呼の数から自ノードの負荷を推定して自ノード負荷推定値を求める自ノード負荷推定手段と、自ノードの負荷を制限するための自ノード内呼数の閾値を保持する閾値格納手段と、前記ループネットワークを周回する呼を取り込み、そのたびに前記自ノード負荷推定値を前記閾値と比較し、比較結果に基づいて、当該呼を前記呼処理部に渡すか、あるいは前記呼処理部に渡さずに再び前記ループネットワークに送出するかの判断を行なう呼取り込み制御手段と、
前記閾値格納手段に格納された閾値を変更する閾値変更手段と、
を有し、
前記閾値変更手段による閾値の変更を、自ノードが実行可能な各機能毎に行うコンピュータシステムの負荷均衡化装置。
【請求項１９】
複数の処理ノードがループネットワークで接続され、該ループネットワークは、各ノードが端末から入力された呼を呼処理部により処理して端末に返す場合に、ノード間を順次一方向にのみ呼を論理的に伝送する機能を有するコンピュータシステムにおいて、各ノードの呼処理部と前記ループネットワークの間に設けられ、システム全体の負荷をシステム内の各ノードに均等に配分するための負荷均衡化装置であって、自ノードの処理中及び処理待機中の呼の数から自ノードの負荷を推定して自ノード負荷推定値を求める自ノード負荷推定手段と、自ノードの負荷を制限するための自ノード内呼数の閾値を保持する閾値格納手段と、前記ループネットワークを周回する呼を取り込み、そのたびに前記自ノード負荷推定値を前記閾値と比較し、比較結果に基づいて、当該呼を前記呼処理部に渡すか、あるいは前記呼処理部に渡さずに再び前記ループネットワークに送出するかの判断を行なう呼取り込み制御手段と、
前記閾値格納手段に格納される閾値を変更する閾値変更手段と、
該閾値変更手段が行う閾値変更の程度である閾値変分の値を保持する閾値変分格納手段と、
該閾値変分格納手段に格納される閾値変分の値を変更する閾値変分変更手段と
を有し、
前記閾値変分変更手段は、複数の処理ノードの閾値変分値を集中的に管理し、各ノードの前記閾値変分格納手段に格納された閾値変分値をそれぞれ変更するコンピュータシステムの負荷均衡化装置。
【請求項２０】
前記閾値変分変更手段は、いずれかの処理ノード内に設けられる請求項１９記載のコンピュータシステムの負荷均衡化装置。
【請求項２１】
前記閾値変分変更手段は、各処理ノード毎に設けられ、自ノードの前記閾値変分格納手段に格納された閾値変分値を変更する請求項１９記載のコンピュータシステムの負荷均衡化装置。
【請求項２２】
複数の処理ノードがループネットワークで接続され、該ループネットワークは、各ノードが端末から入力された呼を呼処理部により処理して端末に返す場合に、ノード間を順次一方向にのみ呼を論理的に伝送する機能を有するコンピュータシステムにおいて、各ノードの呼処理部と前記ループネットワークの間に設けられ、システム全体の負荷をシステム内の各ノードに均等に配分するための負荷均衡化装置であって、自ノードの処理中及び処理待機中の呼の数から自ノードの負荷を推定して自ノード負荷推定値を求める自ノード負荷推定手段と、自ノードの負荷を制限するための自ノード内呼数の閾値を保持する閾値格納手段と、前記ループネットワークを周回する呼を取り込み、そのたびに前記自ノード負荷推定値を前記閾値と比較し、比較結果に基づいて、当該呼を前記呼処理部に渡すか、あるいは前記呼処理部に渡さずに再び前記ループネットワークに送出するかの判断を行なう呼取り込み制御手段と、
前記閾値格納手段に格納される閾値を変更する閾値変更手段と、
該閾値変更手段が行う閾値変更の程度である閾値変分の値を保持する閾値変分格納手段と
を有し、
前記閾値変分格納手段は、負荷均衡化処理開始前に、自ノードの性能の値をシステム内の全ノードの性能の総和であるシステム全体性能で割った値を前記閾値変分値として与えるコンピュータシステムの負荷均衡化装置。
【請求項２３】
複数の処理ノードがループネットワークで接続され、該ループネットワークは、各ノードが端末から入力された呼を呼処理部により処理して端末に返す場合に、ノード間を順次一方向にのみ呼を論理的に伝送する機能を有するコンピュータシステムにおいて、各ノードの呼処理部と前記ループネットワークの間に設けられ、システム全体の負荷をシステム内の各ノードに均等に配分するための負荷均衡化装置であって、自ノードの処理中及び処理待機中の呼の数から自ノードの負荷を推定して自ノード負荷推定値を求める自ノード負荷推定手段と、自ノードの負荷を制限するための自ノード内呼数の閾値を保持する閾値格納手段と、前記ループネットワークを周回する呼を取り込み、そのたびに前記自ノード負荷推定値を前記閾値と比較し、比較結果に基づいて、当該呼を前記呼処理部に渡すか、あるいは前記呼処理部に渡さずに再び前記ループネットワークに送出するかの判断を行なう呼取り込み制御手段とを有し、
前記自ノード負荷推定手段による自ノード負荷推定値の決定を、自ノードが実行可能な各機能毎に行うコンピュータシステムの負荷均衡化装置。
【請求項２４】
複数の処理ノードがループネットワークで接続され、該ループネットワークは、各ノードが端末から入力された呼を呼処理部により処理して端末に返す場合に、ノード間を順次一方向にのみ呼を論理的に伝送する機能を有するコンピュータシステムにおいて、各ノードの呼処理部と前記ループネットワークの間に設けられ、システム全体の負荷をシステム内の各ノードに均等に配分するための負荷均衡化装置であって、自ノードの処理中及び処理待機中の呼の数から自ノードの負荷を推定して自ノード負荷推定値を求める自ノード負荷推定手段と、自ノードの負荷を制限するための自ノード内呼数の閾値を保持する閾値格納手段と、前記ループネットワークを周回する呼を取り込み、そのたびに前記自ノード負荷推定値を前記閾値と比較し、比較結果に基づいて、当該呼を前記呼処理部に渡すか、あるいは前記呼処理部に渡さずに再び前記ループネットワークに送出するかの判断を行なう呼取り込み制御手段と、
前記閾値格納手段に格納された閾値を変更する閾値変更手段と
を有し、
前記閾値変更手段による閾値の変更を、自ノードが実行可能な各機能毎に行い、
前記呼取り込み制御手段は、呼の到着ごとに前記自ノード負荷推定値を前記閾値と比較し、該自ノード負荷推定値が該閾値よりも小さければ、当該呼を呼処理部へ渡し、該自ノード負荷推定値が該閾値と等しいかあるいは大きい場合には、該閾値を増やすことにより当該自ノード負荷推定値が該閾値よりも小さくなる場合に限り、当該呼が周回呼であれば前記呼処理部へ渡し、通常呼であれば前記ループネットワークに流すコンピュータシステムの負荷均衡化装置。
【請求項２５】
複数の処理ノードがループネットワークで接続され、該ループネットワークは、各ノードが端末から入力された呼を呼処理部により処理して端末に返す場合に、ノード間を順次一方向にのみ呼を論理的に伝送する機能を有するコンピュータシステムにおいて、各ノードの呼処理部と前記ループネットワークの間に設けられ、システム全体の負荷をシステム内の各ノードに均等に配分するための負荷均衡化装置であって、自ノードの処理中及び処理待機中の呼の数から自ノードの負荷を推定して自ノード負荷推定値を求める自ノード負荷推定手段と、自ノードの負荷を制限するための自ノード内呼数の閾値を保持する閾値格納手段と、前記ループネットワークを周回する呼を取り込み、そのたびに前記自ノード負荷推定値を前記閾値と比較し、比較結果に基づいて、当該呼を前記呼処理部に渡すか、あるいは前記呼処理部に渡さずに再び前記ループネットワークに送出するかの判断を行なう呼取り込み制御手段と、
前記閾値格納手段に格納された閾値を変更する閾値変更手段と
を有し、
前記閾値変更手段による閾値の変更を、自ノードが実行可能な各機能毎に行い、
前記呼取り込み制御手段は、呼の到着ごとに前記自ノード負荷推定値を前記閾値と比較し、該自ノード負荷推定値が該閾値よりも小さければ、当該呼を呼処理部へ渡し、該自ノード負荷推定値が該閾値と等しいかあるいは大きい場合には、呼を前記ループネットワークに流すコンピュータシステムの負荷均衡化装置。
【請求項２６】
複数の処理ノードがループネットワークで接続され、該ループネットワークは、各ノードが端末から入力された呼を呼処理部により処理して端末に返す場合に、ノード間を順次一方向にのみ呼を論理的に伝送する機能を有するコンピュータシステムにおいて、各ノードの呼処理部と前記ループネットワークの間に設けられ、システム全体の負荷をシステム内の各ノードに均等に配分するための負荷均衡化装置であって、自ノードの処理中及び処理待機中の呼の数から自ノードの負荷を推定して自ノード負荷推定値を求める自ノード負荷推定手段と、自ノードの負荷を制限するための自ノード内呼数の閾値を保持する閾値格納手段と、前記ループネットワークを周回する呼を取り込み、そのたびに前記自ノード負荷推定値を前記閾値と比較し、比較結果に基づいて、当該呼を前記呼処理部に渡すか、あるいは前記呼処理部に渡さずに再び前記ループネットワークに送出するかの判断を行なう呼取り込み制御手段と、
前記閾値格納手段に格納された閾値を変更する閾値変更手段と
を有し、
前記閾値変更手段による閾値の変更を、自ノードが実行可能な各機能毎に行い、
前記呼取り込み制御手段は、一定周期で、または前記閾値の変更あるいは前記自ノード負荷推定値の変更を契機として前記自ノード負荷推定値と前記閾値との比較を行ない、比較結果を記憶しておき、呼到着時に、前記自ノード負荷推定値が前記閾値よりも小さい比較結果が記憶されていれば、当該呼を呼処理部へ渡し、前記自ノード負荷推定値が前記閾値と等しいかあるいはこれより大きいことが記憶されている場合には、当該呼が通常呼であれば前記ループネットワークに流し、当該呼が周回呼で、前記閾値を増やすことにより前記自ノード負荷推定値が前記閾値よりも小さくなる場合には該呼を前記呼処理部へ渡すコンピュータシステムの負荷均衡化装置。
【請求項２７】
複数の処理ノードがループネットワークで接続され、該ループネットワークは、各ノードが端末から入力された呼を呼処理部により処理して端末に返す場合に、ノード間を順次一方向にのみ呼を論理的に伝送する機能を有するコンピュータシステムにおいて、各ノードの呼処理部と前記ループネットワークの間に設けられ、システム全体の負荷をシステム内の各ノードに均等に配分するための負荷均衡化装置であって、自ノードの処理中及び処理待機中の呼の数から自ノードの負荷を推定して自ノード負荷推定値を求める自ノード負荷推定手段と、自ノードの負荷を制限するための自ノード内呼数の閾値を保持する閾値格納手段と、前記ループネットワークを周回する呼を取り込み、そのたびに前記自ノード負荷推定値を前記閾値と比較し、比較結果に基づいて、当該呼を前記呼処理部に渡すか、あるいは前記呼処理部に渡さずに再び前記ループネットワークに送出するかの判断を行なう呼取り込み制御手段と
前記閾値格納手段に格納された閾値を変更する閾値変更手段と
を有し、
前記閾値変更手段による閾値の変更を、自ノードが実行可能な各機能毎に行い、
前記呼取り込み制御手段は、一定周期で、または前記閾値の変更あるいは前記自ノード負荷推定値の変更を契機として前記自ノード負荷推定値と前記閾値との比較を行ない、前記自ノード負荷推定値が前記閾値よりも小さい場合、及び、前記自ノード負荷推定値が前記閾値と等しいかこれよりも大きく、かつ当該呼が周回呼で、前記閾値を増やすことにより前記自ノード負荷推定値が前記閾値よりも小さくなる場合、取り込み制御フラグをオンし、前記自ノード負荷推定値が前記閾値と等しいかこれよりも大きく、かつ当該呼が通常呼であれば、取り込み制御フラグをオフし、新たな呼の到着時、前記呼取り込み制御フラグがオンであれば該呼を前記呼処理部へ渡し、前記呼取り込み制御フラグがオフであれば該呼を前記ループネットワークへ流すコンピュータシステムの負荷均衡化装置。
【請求項２８】
複数の処理ノードがループネットワークで接続され、該ループネットワークは、各ノードが端末から入力された呼を呼処理部により処理して端末に返す場合に、ノード間を順次一方向にのみ呼を論理的に伝送する機能を有するコンピュータシステムにおいて、各ノードの呼処理部と前記ループネットワークの間に設けられ、システム全体の負荷をシステム内の各ノードに均等に配分するための負荷均衡化装置であって、自ノードの処理中及び処理待機中の呼の数から自ノードの負荷を推定して自ノード負荷推定値を求める自ノード負荷推定手段と、自ノードの負荷を制限するための自ノード内呼数の閾値を保持する閾値格納手段と、前記ループネットワークを周回する呼を取り込み、そのたびに前記自ノード負荷推定値を前記閾値と比較し、比較結果に基づいて、当該呼を前記呼処理部に渡すか、あるいは前記呼処理部に渡さずに再び前記ループネットワークに送出するかの判断を行なう呼取り込み制御手段と、
前記閾値格納手段に格納された閾値を変更する閾値変更手段と
を有し、
前記閾値変更手段による閾値の変更を、自ノードが実行可能な各機能毎に行い、
前記呼取り込み制御手段は、一定周期で、または前記閾値の変更あるいは前記自ノード負荷推定値の変更を契機として前記自ノード負荷推定値と前記閾値との比較を行ない、前記自ノード負荷推定値が前記閾値よりも小さい場合、取り込み制御フラグをオンし、前記自ノード負荷推定値が前記閾値と等しいかこれよりも大きければ、前記取り込み制御フラグをオフし、新たな呼の到着時、前記呼取り込み制御フラグがオンであれば該呼を前記呼処理部へ渡し、前記呼取り込み制御フラグがオフであれば、当該呼が通常呼であれば前記ループネットワークに流し、当該呼が周回呼で、前記閾値を増やすことにより前記自ノード負荷推定値が前記閾値よりも小さくなる場合には該呼を前記呼処理部へ渡すコンピュータシステムの負荷均衡化装置。
【請求項２９】
複数の処理ノードがループネットワークで接続され、該ループネットワークは、各ノードが端末から入力された呼を呼処理部により処理して端末に返す場合に、ノード間を順次一方向にのみ呼を論理的に伝送する機能を有するコンピュータシステムにおいて、各ノードの呼処理部と前記ループネットワークの間に設けられ、システム全体の負荷をシステム内の各ノードに均等に配分するための負荷均衡化装置であって、自ノードの処理中及び処理待機中の呼の数から自ノードの負荷を推定して自ノード負荷推定値を求める自ノード負荷推定手段と、自ノードの負荷を制限するための自ノード内呼数の閾値を保持する閾値格納手段と、前記ループネットワークを周回する呼を取り込み、そのたびに前記自ノード負荷推定値を前記閾値と比較し、比較結果に基づいて、当該呼を前記呼処理部に渡すか、あるいは前記呼処理部に渡さずに再び前記ループネットワークに送出するかの判断を行なう呼取り込み制御手段と、
前記閾値格納手段に格納される閾値を変更する閾値変更手段と
を有し、
前記閾値変更手段による閾値の変更を、自ノードが実行可能な各機能毎に行うコンピュータシステムの負荷均衡化装置。
【請求項３０】
複数の処理ノードがループネットワークで接続され、該ループネットワークは、各ノードが端末から入力された呼を呼処理部により処理して端末に返す場合に、ノード間を順次一方向にのみ呼を論理的に伝送する機能を有するコンピュータシステムにおいて、各ノードの呼処理部と前記ループネットワークの間に設けられ、システム全体の負荷をシステム内の各ノードに均等に配分するための負荷均衡化装置であって、自ノードの処理中及び処理待機中の呼の数から自ノードの負荷を推定して自ノード負荷推定値を求める自ノード負荷推定手段と、自ノードの負荷を制限するための自ノード内呼数の閾値を保持する閾値格納手段と、前記ループネットワークを周回する呼を取り込み、そのたびに前記自ノード負荷推定値を前記閾値と比較し、比較結果に基づいて、当該呼を前記呼処理部に渡すか、あるいは前記呼処理部に渡さずに再び前記ループネットワークに送出するかの判断を行なう呼取り込み制御手段と、
前記閾値格納手段に格納される閾値を変更する閾値変更手段と、
該閾値変更手段が行う閾値変更の程度である閾値変分の値を保持する閾値変分格納手段と、
該閾値変分格納手段に格納される閾値変分の値を変更する閾値変分変更手段と
を有し、
前記閾値変分変更手段は、前記コンピュータシステム内のノードの編成に削除や追加の変更があった場合に、削除・追加されたノードの性能値を基に前記閾値変分値を変更するコンピュータシステムの負荷均衡化装置。
【請求項３１】
複数の処理ノードがループネットワークで接続され、該ループネットワークは、各ノードが端末から入力された呼を呼処理部により処理して端末に返す場合に、ノード間を順次一方向にのみ呼を論理的に伝送する機能を有するコンピュータシステムにおいて、各ノードの呼処理部と前記ループネットワークの間に設けられ、システム全体の負荷をシステム内の各ノードに均等に配分するための負荷均衡化装置であって、自ノードの処理中及び処理待機中の呼の数から自ノードの負荷を推定して自ノード負荷推定値を求める自ノード負荷推定手段と、自ノードの負荷を制限するための自ノード内呼数の閾値を保持する閾値格納手段と、前記ループネットワークを周回する呼を取り込み、そのたびに前記自ノード負荷推定値を前記閾値と比較し、比較結果に基づいて、当該呼を前記呼処理部に渡すか、あるいは前記呼処理部に渡さずに再び前記ループネットワークに送出するかの判断を行なう呼取り込み制御手段と、
前記閾値格納手段に格納される閾値を変更する閾値変更手段と、
該閾値変更手段が行う閾値変更の程度である閾値変分の値を保持する閾値変分格納手段と、
該閾値変分格納手段に格納される閾値変分の値を変更する閾値変分変更手段と
有し、
前記閾値変分変更手段は、前記ループネットワークを流れる全ての呼を監視し、全通過呼数の変化と周回呼数の変化とから、前記コンピュータシステム全体の負荷変動及び、同システムのノード編成の変化を推定し、推定結果に基づいて前記閾値変分値を変更するコンピュータシステムの負荷均衡化装置。
【請求項３２】
前記閾値変更手段は、前記ループネットワークを流れる全ての呼を監視し、周回呼を検出した場合に前記閾値を変更する請求項３１記載のコンピュータシステムの負荷均衡化装置。
【請求項３３】
前記自ノード負荷推定手段は呼取り込み数カウンタを有し、呼が前記呼処理部に渡された場合には前記呼取り込み数カウンタを１増やし、結果が前記呼処理部から返された場合には前記呼取り込み数カウンタを１減らし、該呼取り込み数カウンタの値を前記自ノード負荷推定値として前記呼取り込み制御手段に渡す請求項３２記載のコンピュータシステムの負荷均衡化装置。
【請求項３４】
コンピュータに請求項１〜１４いずれか記載の方法を実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項３５】
複数の処理ノードおよび端末がネットワークに接続されたコンピュータシステムのシステム全体の負荷をシステム内の各ノードに均等に配分するコンピュータシステムの負荷均衡化方法であって、各ノードは、前記端末からの呼の入力があった場合、ノード内の呼処理部に渡された呼に対して該呼処理部から返される応答である結果の出力があった場合、または、他ノードとの間での呼移送があった場合に、自ノード内において処理中の呼および処理を待っている呼の数から自ノードの負荷を推定して自ノード負荷推定値を求め、前記自ノード負荷推定値と予め与えられた閾値とを比較し、比較結果を基に呼移送の有無を判定し、呼移送有りの場合に呼移送方法を選択・起動し、前記選択・起動された呼移送方法に応じて、前記ネットワークに接続された呼移送制御を行う制御ノード宛に呼移送要求を送信し、呼移送の必要が無くなった場合に前記制御ノード宛に呼移送キャンセル要求を送信し、当該処理ノードにおける前記呼移送要求の受信を契機として、呼移送の対象となる呼および、呼移送先または呼移送元となるノードを決定する各過程を有するコンピュータシステムの負荷均衡化方法。
【請求項３６】
前記自ノード負荷推定値を決定する過程は、前記端末から当該ノードへ呼の入力があった時および当該ノードが他ノードから呼の移送を受けた時に自ノード負荷推定値を１増やし、自ノードでの呼処理が完了して結果が出力された時および当該ノードから他ノードヘ呼を移送した時に前記自ノード負荷推定値を１減らす過程を有する請求項３５記載のコンピュータシステムの負荷均衡化方法。
【請求項３７】
前記呼移送要求を送信する過程は、前記自ノード負荷推定値が前記閾値よりも小さい場合に、自ノードの負荷が０でなくなるか、他ノードからの呼移送を受けるまで、前記呼移送要求を第１の呼移送要求として所定の周期で送信し、前記自ノード負荷推定値が前記閾値よりも大きい場合に、前記呼移送要求を第２の呼移送要求として一度だけ送信する各過程を有する請求項３５記載のコンピュータシステムの負荷均衡化方法。
【請求項３８】
前記呼移送キャンセル要求を送信する過程は、前記第１の呼移送要求が送信された後に端末から当該ノードに呼の入力があった場合に、前記呼移送キャンセル要求を第１の呼移送キャンセル要求として送信し、前記第２の呼移送要求が送信された後に前記呼処理部から結果が出力され、前記自ノード負荷推定値が前記閾値よりも小さくなった場合に、前記呼移送キャンセル要求を第２の呼移送キャンセル要求として出力する各過程を有する請求項３７記載のコンピュータシステムの負荷均衡化方法。
【請求項３９】
前記呼移送の対象となる呼および呼移送先または呼移送元となるノードを決定する過程は、前記第１の呼移送要求を受信すると、該第１の呼移送要求を送出したノードを、前記第１の呼移送要求を送出したノードを登録するためのレシーバリストに登録し、前記第２の呼移送要求を送出したノードを登録するためのセンダリストの先頭に登録されたノードから前記第１の呼移送要求を送出したノードへ呼が移送されるように制御するとともに、移送元のノードを前記センダリストから削除し、前記第２の呼移送要求を受信すると、該第２の呼移送要求を出したノードを前記センダリストに登録し、当該ノードから前記第２の呼移送要求とともに送信された呼が前記レシーバリストの先頭にあるノードに移送されるように制御するとともに移送先ノードを前記レシーバリストから削除し、前記第１の呼移送キャンセル要求を受信すると、該第１の呼移送キャンセル要求を送信したノードを前記レシーバリストから削除し、前記第２の呼移送キャンセル要求を受信すると、該第２の呼移送キャンセル要求を送信したノードを前記センダリストから削除する各過程を有する請求項３８記載のコンピュータシステムの負荷均衡化方法。
【請求項４０】
前記自ノード負荷推定値を決定する過程は、呼が前記呼処理部に渡された時刻と該呼に対する結果が前記呼処理部から返された時刻とから呼の応答時間を算出し、該応答時間を基に前記自ノード負荷推定値を求める過程を有する請求項３５記載のコンピュータシステムの負荷均衡化方法。
【請求項４１】
前記応答時間の、個を単独で処理した時の応答時間に対する比を前記自ノード負荷推定値とする請求項４０記載のコンピュータシステムの負荷均衡化方法。
【請求項４２】
前記自ノード負荷推定値を決定する過程は、一定数の呼あるいは一定時間内に処理された呼について該呼が呼処理部に渡された時刻と該呼に対する結果が前記呼処理部から返された時刻とから応答時間を算出し、これら応答時間の平均値を基に前記自ノード負荷推定値を求める過程を有する請求項３５記載のコンピュータシステムの負荷均衡化方法。
【請求項４３】
前記応答時間の平均値の、個を単独で処理した時の応答時間に対する比を前記自ノード負荷推定値とする請求項４２記載のコンピュータシステムの負荷均衡化方法。
【請求項４４】
複数の処理ノードおよび端末がネットワークに接続されたコンピュータシステムのシステム全体の負荷をシステム内の各ノードに均等に配分する負荷均衡化装置であって、いずれも各ノード内に設けられる、前記端末からの呼の入力があった場合、ノード内の呼処理部に渡された呼に対して該呼処理部から返される応答である結果の出力があった場合、または、他ノードとの間での呼移送があった場合に、自ノード内において処理中の呼および処理を待っている呼の数から自ノードの負荷を推定して自ノード負荷推定値を求める自ノード負荷推定手段と、前記自ノード負荷推定値と予め与えられた閾値とを比較し、比較結果を基に呼移送の有無を判定し、呼移送有りの場合に呼移送方法を選択・起動する呼移送方法起動手段と、前記選択・起動された呼移送方法に応じて、前記ネットワークに接続された呼移送制御を行う制御ノード宛に呼移送要求を送信する呼移送要求送信手段と、呼移送の必要が無くなった場合に前記制御ノード宛に呼移送キャンセル要求を送信する呼移送キャンセル要求送信手段と、前記制御ノード内に設けられる、処理ノードからの前記呼移送要求の受信を契機として、呼移送の対象となる呼および、呼移送先または呼移送元となるノードを決定する呼移送判定手段とを有する装置。
【請求項４５】
前記自ノード負荷推定手段は、前記端末から当該ノードへ呼の入力があった時および当該ノードが他ノードから呼の移送を受けた時に自ノード負荷推定値を１増やし、自ノードでの呼処理が完了して結果が出力された時および当該ノードから他ノードヘ呼を移送した時に前記自ノード負荷推定値を１減らす請求項４４記載の装置。
【請求項４６】
前記呼移送要求送信手段は第１及び第２の呼移送要求送信手段を含み、前記第１の呼移送要求送信手段は、前記呼移送方法起動手段により、前記自ノード負荷推定値が前記閾値よりも小さい場合に起動され、自ノードの負荷が０でなくなるか、他ノードからの呼移送を受けるまで、前記呼移送要求を第１の呼移送要求として所定の周期で送信するものであり、前記第２の呼移送要求送信手段は、前記呼移送方法起動手段により、前記自ノード負荷推定値が前記閾値よりも大きい場合に起動され、起動された後に前記呼移送要求を第２の呼移送要求として一度だけ送信するものである請求項４４記載の装置。
【請求項４７】
前記呼移送キャンセル要求送信手段は、前記第１の呼移送要求が送信された後に端末から当該ノードに呼の入力があった場合に、前記呼移送キャンセル要求を第１の呼移送キャンセル要求として送信し、前記第２の呼移送要求が送信された後に前記呼処理部から結果が出力され、前記自ノード負荷推定値が前記閾値よりも小さくなった場合に、前記呼移送キャンセル要求を第２の呼移送キャンセル要求として出力する請求項４６記載の装置。
【請求項４８】
前記呼移送判定手段は、前記第１の呼移送要求を送出したノードを登録するためのレシーバリストと、前記第２の呼移送要求を送出したノードを登録するためのセンダリストとを有し、前記第１の呼移送要求を受信すると、該第１の呼移送要求を送出したノードを前記レシーバリストに登録し、前記センダリストの先頭に登録されたノードから前記第１の呼移送要求を送出したノードへ呼が移送されるように制御するとともに、移送元のノードを前記センダリストから削除し、前記第２の呼移送要求を受信すると、該第２の呼移送要求を出したノードを前記センダリストに登録し、当該ノードから前記第２の呼移送要求とともに送信された呼が前記レシーバリストの先頭にあるノードに移送されるように制御するとともに移送先ノードを前記レシーバリストから削除し、前記第１の呼移送キャンセル要求を受信すると、該第１の呼移送キャンセル要求を送信したノードを前記レシーバリストから削除し、前記第２の呼移送キャンセル要求を受信すると、該第２の呼移送キャンセル要求を送信したノードを前記センダリストから削除する請求項４７記載の装置。
【請求項４９】
前記自ノード負荷推定手段は、呼が前記呼処理部に渡された時刻と該呼に対する結果が前記呼処理部から返された時刻とから呼の応答時間を算出し、該応答時間を基に前記自ノード負荷推定値を求める請求項４４記載の装置。
【請求項５０】
前記応答時間の、個を単独で処理した時の応答時間に対する比を前記自ノード負荷推定値とする請求項４９記載の装置。
【請求項５１】
前記自ノード負荷推定手段は、一定数の呼あるいは一定時間内に処理された呼について該呼が呼処理部に渡された時刻と該呼に対する結果が前記呼処理部から返された時刻とから応答時間を算出し、これら応答時間の平均値を基に前記自ノード負荷推定値を求める請求項４４記載の装置。
【請求項５２】
前記応答時間の平均値の、個を単独で処理した時の応答時間に対する比を前記自ノード負荷推定値とする請求項５１記載の装置。
【請求項５３】
コンピュータに請求項３５〜４３いずれか記載の方法を実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、コンピュータである複数のノードがネットワークで接続され、ノードは入力された呼を処理するコンピュータシステムの負荷均衡化方法および装置に関する。
【０００２】
【従来の技術】
複数のコンピュータ（以下ノードと呼ぶ）をネットワークで接続したコンピュータシステムは、呼の到着の仕方によって集中到着型システム（全ての呼を単一ノード（呼受け付けノードと呼ぶ）が受け付け、呼受け付けノードから各ノードへ呼が分配されるシステム）と分散到着型システム（システム内の各ノードに呼が到着し、各ノードが呼を受け付けるシステム）とに分けられる。
負荷均衡化方式には、システム内の１つのノードが負荷均衡化処理機構を有し、負荷均衡化処理機構を有するノード（制御ノードと呼ぶ）のみが負荷均衡化処理を実行する集中制御方式と、システム内の各ノードが負荷均衡化処理機構を有し、各ノードが負荷均衡化処理を実行する分散制御方式とがある。
【０００３】
また、複数のコンピュータがネットワークで接続されたコンピュータシステムにおいて、システム全体の負荷を各ノードに配分することにより各ノードの負荷を均衡させ、システム全体としての平均応答時間を最小化することを目的とした負荷均衡化方法としては、これまでに、各ノードの性能および機能が均一（処理可能な機能の種類が同一）であるシステム（性能・機能均一システム）についてのものが報告されている（特開平７−１５２７００）。
【０００４】
【発明が解決しようとする課題】
性能・機能が均一であるシステムでは、単に各ノードのノード内呼数を等しくすることにより負荷を均衡させることができるが、各ノードの性能が不均一であるシステムでは、各ノードの性能によって処理時間が異なることから、単にノード内呼数を等しくしただけでは負荷は均衡しない。性能・機能均一システムに対する負荷均衡化方法を、各ノードの性能が不均一であるシステム（性能不均一システム）に適用すると、以下のような問題が生じる。
【０００５】
１．各ノードの性能に応じた呼の割当が行なわれないため、性能の高いノードの処理能力が余っているにも関わらず性能の低いノードに呼が割り当てられる場合がある。従って、性能の高いノードに呼が割り当てられれば、応答時間をより小さくすることができ、結果としてシステムの平均応答時間を最小化することが可能であるのに、最小化が実現されない。
２．システム内のノードの並び順によっては、性能の低いノードから順に呼が割り当てられる場合があり、性能の高いノードが十分に活用されないため、システムの平均応答時間が最小化されない。
【０００６】
また、機能不均一である（実行可能な呼の数及び種類が異なる）システムでは、機能によって実行ステップ数が異なること、また、システム内で各機能ごとに実行可能なノードの数が異なることから、各ノードの性能及び機能が均一であるシステムを対象とした負荷均衡化方法では、各ノードの負荷は均衡しない。性能・機能均一システムに対する負荷均衡化方法を、各ノードの性能は均一だが、機能が不均一であるシステムに適用すると以下のような問題が生じる。
【０００７】
１．各ノードの性能及び機能が均一であるシステムを対象とした負荷均衡化方法では、実行可能なノード数が少ない機能の呼と実行可能なノード数が多い機能の呼とを区別せずに各ノードに呼を割り当ててしまう。そのため、”実行可能なノード数が多い機能の呼”を、”実行可能なノード数が少ない機能の呼”を実行できないノードへ割り当てることが可能な場合でも、両機能の呼の実行が可能なノードに割り当てられ、これにより前者の機能の呼がネットワークを周回しながら処理を待つというケースがあり、応答時間が大きくなる。
【０００８】
２．各機能の実行プログラムステップ数が異なる場合、実行プログラムステップ数が大きい呼は、できるだけ負荷の低い（処理リソースに余裕がある）ノードに処理させる必要があるが、機能均一システムに対する負荷均衡化方法では、実行プログラムステップ数に関係なく各ノードの呼数が等しくなるように呼を割り当てるため、割り当てられた、実行プログラムステップ数の総計が大きい呼の処理がなかなか実行されない。そのため、そのようなノードに割り当てられた呼の応答時間が大きくなり、システム全体の平均応答時間が最小化されない。
【０００９】
また、分散到着型システムにおいて、負荷均衡化を行なうためには、各ノードに到着した呼を他ノードに移送する必要がある。
呼移送アルゴリズムとして、従来、ｓｅｎｄｅｒ  ｉｎｉｔｉａｔｅｄアルゴリズムとｒｅｃｅｉｖｅｒ  ｉｎｉｔｉａｔｅｄアルゴリズムがあり、ｓｅｎｄｅｒ  ｉｎｉｔｉａｔｅｄアルゴリズムは、システム全体の負荷が低い場合には有効であるが、システム全体の負荷が高くなると平均応答時間が増大し、システムが不安定になる。ｒｅｃｅｉｖｅｒ  ｉｎｉｔｉａｔｅｄアルゴリズムは、システム全体の負荷が高い場合には有効であるが、システム全体の負荷が低い時には、ｓｅｎｄｅｒ  ｉｎｉｔｉａｔｅｄアルゴリズムに比べて、平均応答時間が大きい。また、いずれのアルゴリズムでも、他ノードの負荷情報を管理せず、呼移送の必要が生じた時点で移送先ノードまたは移送元ノードを探し始めるため、実際に呼移送を開始するまでにかかる時間が大きく、負荷均衡化までの時間が大きい。
【００１０】
さらに、分散制御方式では、各ノードが、移送先ノードまたは移送元ノードを決めるために他ノードとの情報交換を行うため、システム全体としてネットワークのトラフィックが増大するため、結果的に呼移送に要する時間が大きくなり、正味の平均応答時間短縮量が小さい。
即ち、上述した従来の負荷均衡化方法では、各ノードの性能が不均一なシステムに適用した場合、各ノードの性能に応じた呼の割当を行なうことができないので、ノード間で平均応答時間が均衡せず、システム全体の平均応答時間が最小化されないという問題点があった。
【００１１】
また、上述した従来の負荷均衡化方法では、ノードごとに実行可能な機能の種類・数が異なるシステムに対しては、各機能を実行可能なノードの数、機能ごとの負荷及び各機能の実行プログラムステップ数を考慮した呼の割当を行なわないので、機能によっては応答時間が大きくなり、各ノードの負荷が均衡しないため、システム全体の平均応答時間が最小化されないという問題点があった。
【００１２】
本発明の目的は、低負荷から高負荷まで広い範囲の負荷において、少ない負荷均衡化処理オーバヘッドによりシステム全体の負荷を均衡させ、システム全体の平均応答時間を短縮することができるコンピュータシステムの負荷均衡化方法および装置を提供することである。
本発明の他の目的は、性能が異なるノードから構成される性能不均一システムにおいて、ノード間の平均応答時間を均衡させ、システム全体の平均応答時間の最小化を達成するコンピュータシステムの負荷均衡化方法および装置を提供することである。
本発明のさらに他の目的は、性能は均一だが機能が異なるノードからなる機能不均一システムにおいて、システム全体の平均応答時間の最小化及び各機能の平均応答時間の最小化を達成する、コンピュータシステムの負荷均衡化方法および装置を提供することである。
【００１３】
【課題を解決するための手段】
上記課題を解決するために、本発明は、複数の処理ノードがループネットワークで接続され、該ループネットワークは、各ノードが端末から入力された呼を呼処理部により処理して端末に返す場合に、ノード間を順次一方向にのみ呼を論理的に伝送する機能を有するコンピュータシステムにおいて、システム全体の負荷をシステム内の各ノードに均等に配分するための負荷均衡化方法であって、
（１）自ノードの処理中及び処理待機中の呼の数から自ノードの負荷を推定して自ノード負荷推定値を求め、
（２）前記ループネットワークを周回する呼を取り込み、そのたびに前記自ノード負荷推定値を、自ノードの負荷を制限するための自ノード内呼数の閾値と比較し、
（３）比較結果に基づいて、当該呼を前記呼処理部に渡すか、あるいは前記呼処理部に渡さずに再び前記ループネットワークに送出するかの判断を行なう
各過程を有するコンピュータシステムの負荷均衡化方法を提供する。
【００１４】
上記方法において、一定時間内に前記ループネットワークを通過する呼の数の変化に応じて、また、周回呼を検出した場合に前記閾値を変更するようにしても良い。この場合、
・前記コンピュータシステム内のノードの編成に削除や追加の変更があった場合に、削除・追加されたノードの性能値を基に、前記閾値の変更の程度である閾値変分の値を変更する
・前記ループネットワークを流れる全ての呼を監視し、全通過呼数の変化と周回呼数の変化とから、前記コンピュータシステム全体の負荷変動及び、同システムのノード編成の変化を推定し、推定結果に基づいて、前記閾値の変更の程度である閾値変分の値を変更する
ようにすることも好ましい。
【００１５】
また、本発明は、同様のコンピュータシステムにおいて、各ノードの呼処理部と前記ループネットワークの間に設けられ、
（１）自ノードの処理中及び処理待機中の呼の数から自ノードの負荷を推定して自ノード負荷推定値を求める自ノード負荷推定手段と、
（２）自ノードの負荷を制限するための自ノード内呼数の閾値を保持する閾値格納手段と、
（３）前記ループネットワークを周回する呼を取り込み、そのたびに前記自ノード負荷推定値を前記閾値と比較し、比較結果に基づいて、当該呼を前記呼処理部に渡すか、あるいは前記呼処理部に渡さずに再び前記ループネットワークに送出するかの判断を行なう呼取り込み制御手段と
を有するコンピュータシステムの負荷均衡化装置を提供する。
【００１６】
上記装置において、一定時間内に前記ループネットワークを通過する呼の数の変化に応じて、または、周回呼を検出した場合に前記閾値格納手段に格納される閾値を変更する閾値変更手段を更に有しても良い。この場合、前記閾値変更手段が行う閾値変更の程度である閾値変分の値を保持する閾値変分格納手段を設け、
・前記コンピュータシステム内のノードの編成に削除や追加の変更があった場合に、削除・追加されたノードの性能値を基に、前記閾値変分格納手段に格納される閾値変分の値を変更する閾値変分変更手段
・前記ループネットワークを流れる全ての呼を監視し、全通過呼数の変化と周回呼数の変化とから、前記コンピュータシステム全体の負荷変動及び、同システムのノード編成の変化を推定し、推定結果に基づいて前記閾値変分格納手段に格納される閾値変分の値を変更する閾値変分変更手段
を設けることも好ましい。
【００１７】
更にまた、本発明は、複数の処理ノードおよび端末がネットワークに接続されたコンピュータシステムのシステム全体の負荷をシステム内の各ノードに均等に配分するコンピュータシステムの負荷均衡化方法であって、
・各ノードは、前記端末からの呼の入力があった場合、ノード内の呼処理部に渡された呼に対して該呼処理部から返される応答である結果の出力があった場合、または、他ノードとの間での呼移送があった場合に、自ノード内において処理中の呼および処理を待っている呼の数から自ノードの負荷を推定して自ノード負荷推定値を求め、
・前記自ノード負荷推定値と予め与えられた閾値とを比較し、比較結果を基に呼移送の有無を判定し、呼移送有りの場合に呼移送方法を選択・起動し、
・前記選択・起動された呼移送方法に応じて、前記ネットワークに接続された呼移送制御を行う制御ノード宛に呼移送要求を送信し、
・呼移送の必要が無くなった場合に前記制御ノード宛に呼移送キャンセル要求を送信し、
・当該処理ノードにおける前記呼移送要求の受信を契機として、呼移送の対象となる呼および、呼移送先または呼移送元となるノードを決定する
各過程を有するコンピュータシステムの負荷均衡化方法と、
同様のコンピュータシステムのシステム全体の負荷をシステム内の各ノードに均等に配分する負荷均衡化装置であって、
（１）いずれも各ノード内に設けられる、
・端末からの呼の入力があった場合、ノード内の呼処理部に渡された呼に対して該呼処理部から返される応答である結果の出力があった場合、または、他ノードとの間での呼移送があった場合に、自ノード内において処理中の呼および処理を待っている呼の数から自ノードの負荷を推定して自ノード負荷推定値を求める自ノード負荷推定手段と、
・前記自ノード負荷推定値と予め与えられた閾値とを比較し、比較結果を基に呼移送の有無を判定し、呼移送有りの場合に呼移送方法を選択・起動する呼移送方法起動手段と、
・前記選択・起動された呼移送方法に応じて、前記ネットワークに接続された呼移送制御を行う制御ノード宛に呼移送要求を送信する呼移送要求送信手段と、
・呼移送の必要が無くなった場合に前記制御ノード宛に呼移送キャンセル要求を送信する呼移送キャンセル要求送信手段と、
（２）前記制御ノード内に設けられる、処理ノードからの前記呼移送要求の受信を契機として、呼移送の対象となる呼および、呼移送先または呼移送元となるノードを決定する呼移送判定手段とを有するコンピュータシステムの負荷均衡化装置を提供する。
【００１８】
また、本発明は、上記各々の方法をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体を提供する。
【００１９】
【発明の実施の形態】
以下、図面を参照して、本発明の実施形態について説明する。
図１〜３は、本発明の実施形態例としてのコンピュータシステムの負荷均衡化装置１０の３例（１０Ａ〜１０Ｃ）の各構成図であり、図４、図５はその設置形態例を示す図である。即ち、本負荷均衡化装置１０は、論理的ループネットワーク６０Ｂと各ノードの間に設けられるか（図４）、または各ノード内に設けられる（図５）。
【００２０】
負荷均衡化装置１０Ａは、自ノード負荷推定部１６と閾値格納部３０と呼取り込み制御部１９とで構成され、負荷均衡化装置１０Ｂでは、これら各構成要素に閾値変更部４０が付加され、負荷均衡化装置１０Ｃでは、これに加えて更に、閾値変更の単位である閾値変分値を格納する閾値変分格納部３１及び閾値変分変更部４１が付加されている。なお、負荷均衡化装置１０Ｂの場合も、閾値変分値を格納する閾値変分格納部を閾値変更部４０の外に独立して設けても良い。
【００２１】
これら図１〜図３のシステムは集中到着型システムの例で、呼は呼受け付けノードに到着したのちに、呼受け付けノードによって論理的ループネットワーク６０Ｂに投入され、論理的ループネットワーク６０Ｂを周回する。論理的ループネットワーク６０Ｂに投入されてから該ループネットワーク６０Ｂを１周していない呼を通常呼と呼ぶ。一方、どのノードにも処理されずに論理的ループネットワーク６０Ｂを１周以上してきた呼を周回呼と呼び、呼受け付けノードは、周回呼に印をつけたのちこれを再び論理的ループネットワーク６０Ｂに流し、各ノードが周回呼とそれ以外の呼とを区別できるようにする。
【００２２】
なお、分散到着型システムは、集中到着型システムにおいて呼受け付けノードが実行していた呼受付、呼の論理的ループネットワーク６０Ｂへの投入および周回呼への印付けを各ノードが行うようにすることにより、容易に実現可能である。
【００２３】
負荷均衡化装置１０Ａの動作概要
図６（Ａ）、（Ｂ）は、図１に示した負荷均衡化装置１０Ａの概略動作を示す流れ図である。
自ノード負荷推定部１６は、呼取り込み制御部１９から、自ノード実行可能機能Ｘ（当該ノードで実行可能なある機能を指す）の呼を呼処理部２０に渡したという通知を受けたこと、または、自ノード実行可能機能Ｘの結果を呼処理部２０から受けたという通知を受けたことを契機として起動し（ステップ３００１）、自ノード実行可能機能Ｘの負荷推定値（以後、参照符号２１Ｘで表す）を更新する（ステップ３００２）。
【００２４】
一方、呼取り込み制御部１９は、論理的ループネットワーク６０Ｂから呼取り込み制御部１９へ上記機能Ｘに関する呼の入力が有るか否かを判定し（ステップ３００３）、無い場合には、呼処理部２０から結果の入力が有るか否かを判定する（ステップ３００４）。ここで「有り」と判定されると、その旨を自ノード負荷推定部１６に通知する（ステップ３００８）。また、結果の入力も無い場合には、処理はステップ３００３に戻る。
【００２５】
ステップ３００３で呼の入力が有ると判定されると、呼取り込み制御部１９は、閾値格納部３０から自ノードの上記機能に関する（所定の）閾値（以後、参照符号２７Ｘで表す）を読み出し（ステップ３００５）、（呼取り込み制御部１９は）上記負荷推定値２１Ｘを閾値２７Ｘと比較し、その大小関係によって呼の取り込みが可能か否かを判断し（ステップ３００６）、その結果により、呼を呼処理部２０へ渡すか（ステップ３００７）、あるいは、呼を呼処理部２０に渡さずに論理的ループネットワーク６０Ｂに流す（ステップ３００９）。呼取り込み制御部１９は、呼処理部２０に呼を渡した場合及び呼処理部２０からの結果の入力があった場合に、その旨を自ノード負荷推定部１６に通知する（ステップ３００８）。図１中の一点鎖線は、呼取り込み制御部１９からの結果及び呼処理部２０に渡されなかった呼を示す。
【００２６】
なお、上述の動作においては、自ノード実行可能機能Ｘごとに呼の取り込み制御、負荷推定値の更新及び閾値との比較を行っているが、適用システムの形態によっては、機能ごとではなく、自ノードについて１種類の負荷推定値及び閾値を持ち、全ての呼を監視・制御するようにしても良い。また、両方法を併用しても良い。
【００２７】
負荷均衡化装置１０Ｂの動作概要
図７（Ａ）、（Ｂ）は、図２に示した負荷均衡化装置１０Ｂの概略動作を示す流れ図である。
自ノード負荷推定部１６は、呼取り込み制御部１９から、自ノード実行可能機能Ｘの呼を呼処理部２０に渡したという通知を受けたこと、および自ノード実行可能機能Ｘの結果を呼処理部２０から受けとったという通知を受けたことを契機として起動し（ステップ２００１）、自ノード実行可能機能Ｘの負荷推定値２１Ｘを更新する（ステップ２００２）。
【００２８】
一方、呼取り込み制御部１９は、論理的ループネットワーク６０Ｂから呼取り込み制御部１９へ上記機能Ｘに関する呼の入力が有るか否かを判定し（ステップ２００３）、無い場合には、呼処理部２０から結果の入力が有るか否かを判定する（ステップ２００４）。ここで「有り」と判定されると、その旨を自ノード負荷推定部１６に通知する（ステップ２００８）。また、結果の入力も無い場合には、処理はステップ２００３に戻る。
【００２９】
ステップ２００３で呼の入力が有ると判定されると、呼取り込み制御部１９はその旨を閾値変更部４０に通知し、閾値変更部４０は、呼取り込み制御部１９からの通知に基づいて論理的ループネットワーク６０Ｂを流れる呼を監視することによりシステム全体の負荷の変動量を推定し、その変動量に応じて自ノード全体の閾値２７を変更するとともに、自ノード実行可能機能に関する負荷の変動量を推定し、その変動量に応じて自ノード実行可能な各機能ごとの閾値２７Ｘを変更する（ステップ２００５）。
【００３０】
呼取り込み制御部１９は、入力された呼が上記機能Ｘに関する呼であった場合には、上記負荷推定値２１Ｘを閾値２７Ｘと比較し、その大小関係によって呼の取り込みが可能か否かを判断し（ステップ２００６）、その結果により、呼を呼処理部２０へ渡すか（ステップ２００７）、あるいは、呼を呼処理部２０に渡さずに論理的ループネットワーク６０Ｂに流す（ステップ２００９）。呼取り込み制御部１９は、呼処理部２０に呼を渡した場合及び呼処理部２０からの結果の入力があった場合に、その旨を自ノード負荷推定部１６に通知する（ステップ２００８）。図２中の一点鎖線は、呼取り込み制御部１９からの結果及び呼処理部２０に渡されなかった呼を示す。
【００３１】
このような動作を行う負荷均衡化装置を、互いに実行可能な機能の数及び種類が異なるノードからなる機能不均一システムに適用すると、論理的ループネットワークを各ノードの共通バッファとして利用し、自ノード負荷推定部により自ノード実行可能機能Ｘのノード負荷を推定し、閾値変更部によりシステム全体の負荷変動及び自ノード実行可能機能の負荷変動に応じて、自ノード全体の閾値及び自ノード実行可能機能Ｘの閾値を変化させ、呼取り込み制御部により、自ノード実行可能機能Ｘの負荷推定値と自ノード実行可能機能Ｘの閾値を比較し、その大小関係に基づいて呼取り込み制御を行なうので、
▲１▼各ノードが取り込む呼の数をシステム内の各機能を実行可能なノード数及び機能ごとの負荷に応じて変えることにより、実行可能ノードの多い機能の呼と少ない機能の呼とのノードへの割り当てが最適化されるため、実行可能なノード数が少ない機能の呼の応答時間が大きくなることがなく、
▲２▼自ノード実行可能機能のプログラムステップ数及び負荷変動に応じて各ノードの閾値を機能ごとに変えることにより、ノードごとの実行プログラムステップ数の総計が均衡し、システム全体の平均応答時間が最小化される。
【００３２】
負荷均衡化装置１０Ｃの動作概要
図８（Ａ）、（Ｂ）は図３に示した負荷均衡化装置１０Ｃの概略動作を示す流れ図である。
自ノード負荷推定部１６は、呼取り込み制御部１９から、呼を呼処理部２０に渡したという通知を受けたこと、および、その結果を呼処理部２０から受けとったという通知を受けたことを契機として起動し（ステップ１０１１）、自ノードの負荷推定値（以後、参照符号２１で表す）を更新する（ステップ１０１２）。
【００３３】
一方、呼取り込み制御部１９は、論理的ループネットワーク６０Ｂから呼取り込み制御部１９へ呼の入力が有るか否かを判定し（ステップ１０１３）、無い場合には、呼処理部２０から結果の入力が有るか否かを判定する（ステップ１０１４）。ここで「有り」と判定されると、その旨を自ノード負荷推定部１６に通知する（ステップ１０１８）。また、結果の入力も無い場合には、処理はステップ１０１３に戻る。
【００３４】
ステップ１０１３で呼の入力が有ると判定されると、呼取り込み制御部１９はその旨を閾値変更部４０に通知し、閾値変更部４０は、呼取り込み制御部１９からの通知に基づいて論理的ループネットワーク６０Ｂを流れる呼を監視することによりシステム全体の負荷変動量を推定し、自ノードの閾値２７を変更する。また、閾値変分変更部４１は、その時々のシステム全体の性能と自ノードの性能とを推定することにより、あるいは、システム全体の性能と自ノードの性能についての情報を外部から与えられることにより、閾値変更の単位量としての閾値変分値（以後、参照符号２８で表す）を変更する（ステップ１０１５）。
【００３５】
呼取り込み制御部１９は、上記負荷推定値２１を閾値２７と比較し、その大小関係によって呼の取り込みが可能か否かを判断し（ステップ１０１６）、その結果により、呼を呼処理部２０へ渡すか（ステップ１０１７）、あるいは、呼を呼処理部２０に渡さずに論理的ループネットワーク６０Ｂに流す（ステップ１０１９）。呼取り込み制御部１９は、呼処理部２０に呼を渡した場合及び呼処理部２０からの結果の入力があった場合には、その旨を自ノード負荷推定部１６に通知する（ステップ１０１８）。図３中の一点鎖線は、呼取り込み制御部１９からの結果及び呼処理部２０に渡されなかった呼を示す。
【００３６】
このような動作を行う負荷均衡化装置を、互いに性能が異なるノードからなる性能不均一システムに適用すると、論理的ループネットワークを各ノードの共通バッファとして利用し、自ノード負荷推定部により自ノードのノード負荷を推定し、閾値変更部によりシステム全体の負荷変動に応じて、自ノードの閾値を変化させ、閾値変分変更部によりシステム全体の性能と自ノードの性能に応じて閾値変分値を設定するとともに、システム全体の性能が変化した場合には、その変化に応じて閾値変分値を変更し、呼取り込み制御部により、自ノード負荷推定値を自ノードの閾値と比較し、その大小関係に基づいて呼取り込み制御を行なうので、▲１▼各ノードの性能と負荷に応じた呼の割当が行なわれるため、性能の高いノードから順に呼が割り当てられ、各呼の応答時間が最小化されるので、システム全体の平均応答時間が最小化され、▲２▼ノードの並び順によらず、性能の高いノードから順に呼が割り当てられるので、性能の高いノードを十分に活用することができる。
【００３７】
なお、上述の概略動作において、自ノードについて１種類の負荷推定値及び閾値を用いて機能毎ではない制御を行っているが、適用システムの形態によっては、自ノード実行可能機能Ｘごとの呼の取り込み制御、負荷推定値の更新及び閾値との比較を行うようにしても良い。また、両方法を兼ねるようにしても良い。
【００３８】
次に、自ノード負荷推定部１６の複数の動作例を示す。以下の動作例は、上記負荷均衡化装置１０Ａ〜１０Ｃのいずれに適用しても良い。
【００３９】
自ノード負荷推定部の動作例１
図９（Ａ）は、本動作例１の処理の流れ図であり、呼取り込み数カウンタを用いた例である。
自ノード負荷推定部１６は、機能Ｘに関する呼が呼取り込み制御部１９から呼処理部２０に渡された場合に機能Ｘの呼取り込み数カウンタを１増やし（ステップ２１０１、２１０２）、機能Ｘの呼の結果が呼処理部２０から呼取り込み制御部１９に通知された場合に機能Ｘの呼取り込み数カウンタを１減らす（ステップ２１０３、２１０４）。そして、結果としてのカウンタの値を自ノード実行可能機能Ｘの負荷推定値２１Ｘとし、呼取り込み制御部１９に伝える。
機能毎でない自ノード負荷推定値２１を求める場合も、手順は同様であり、この場合の処理の流れを図９（Ｂ）に示す。
【００４０】
自ノード負荷推定部の動作例２
図１０（Ａ）、（Ｂ）は、本動作例２の処理の流れ図であり、応答時間を利用したものである。
自ノード負荷推定部１６は、機能Ｘの呼が呼取り込み制御部１９から呼処理部２０に渡されると、その時刻Ｔr を記録し（ステップ２４０１、２４０２）、機能Ｘの呼の結果が呼処理部２０から呼取り込み制御部１９に通知されると、その時刻Ｔs を記録し（ステップ２４０３、２４０４）、応答時間ＲＴX ＝Ｔs −Ｔr を算出し（ステップ２４０５）、この応答時間ＲＴx を自ノード実行可能機能Ｘの呼を単独で処理した場合（ノードが、ノード内に待ち呼がない状態で呼を１つだけ処理することを示す）の応答時間ＲＴX0で割った値を切り上げて整数化した値を、自ノード実行可能機能Ｘの負荷推定値２１Ｘとする（ステップ２４０６）。
機能毎でない自ノード負荷推定値２１を求める場合も、手順は同様であり、この場合の処理の流れを図１１（Ａ）、（Ｂ）に示す。
【００４１】
自ノード負荷推定部の動作例３
図１２（Ａ）、（Ｂ）は、本動作例３の処理の流れ図であり、応答時間の平均値を利用したものである。
自ノード負荷推定部１６は、一定数ｎの自ノード実行可能機能Ｘの呼について、各呼が呼取り込み制御部１９から呼処理部２０に渡されるとその時刻Ｔri（ｉ=１,２,…,ｎ）を記録し（ステップ２５０１、２５０２）、各機能Ｘの呼について、対応する結果を呼処理部２０から受け取った時刻Ｔsiを記録して、それぞれ応答時間ＲＴxi＝Ｔsi−Ｔri（ｉ=１,２,…,ｎ）を計測し（ステップ２５０３〜２５０８）、次式
ＲＴxmean＝（ΣＲＴxi ）／ｎ
により、応答時間の平均値（平均応答時間）ＲＴxmean を算出し（ステップ２５０９）、この平均応答時間ＲＴxmean を単独処理に関する応答時間ＲＴx0で割った値を切り上げて整数化した値を自ノード実行可能機能Ｘの負荷推定値２１Ｘとする（ステップ２５１０）。
【００４２】
なお、一定時間内に処理された呼についての全体の応答時間ＲＴxiを計測し、これから平均応答時間ＲＴxmeanを求めてもよい。
機能毎でない自ノード負荷推定値２１を求める場合も、手順は同様であり、この場合の処理の流れを図１３（Ａ）、（Ｂ）に示す。
【００４３】
次に、呼取り込み制御部１９の複数の動作例を示す。以下の動作例もまた、上記負荷均衡化装置１０Ａ〜１０Ｃのいずれに適用しても良い。
【００４４】
呼取り込み制御部の動作例１
図１４は、本動作例１の処理の流れ図であり、自ノード実行可能機能Ｘの負荷推定値２１Ｘと閾値２７Ｘとの比較結果を用いた一例である。
呼取り込み制御部１９は、機能Ｘに関する呼の到着ごとに、自ノード実行可能機能Ｘの負荷推定値２１Ｘを同機能Ｘの閾値２７Ｘと比較する（ステップ２３０１、２３０２）。そして、自ノード実行可能機能Ｘの負荷推定値２１Ｘが自ノード実行可能機能Ｘの閾値２７Ｘより小さい場合には、周回呼・通常呼ともに呼処理部２０に渡すが（ステップ２３０３）、それ以外の場合、即ち、上記負荷推定値２１Ｘが上記閾値２７Ｘと等しいか、あるいはこれより大きい場合には、周回呼であれば、該閾値２７Ｘを増やすことにより「閾値２７Ｘ＞負荷推定値２１Ｘ」の条件が成立する場合に限り呼処理部２０へ渡し（ステップ２３０４、２３０５、２３０３）、周回呼以外の呼は論理的ループネットワーク６０Ｂに流す（ステップ２３０６）。
機能毎ではなく、負荷推定値２１と閾値２７との比較結果を用いて呼取り込み制御を行う場合も、手順は同様であり、この場合の処理の流れを図１５に示す。
【００４５】
呼取り込み制御部の動作例２
図１６（Ａ）は、本動作例２の処理の流れ図であり、自ノード実行可能機能Ｘの負荷推定値２１Ｘと閾値２７Ｘとの比較結果を用い、よりシンプルな判定を行う例である。
呼取り込み制御部１９は、機能Ｘに関する呼の到着ごとに自ノード実行可能機能Ｘの負荷推定値２１Ｘを同機能Ｘの閾値２７Ｘと比較し（ステップ２７０１、２７０２）、上記負荷推定値２１Ｘが上記閾値２７Ｘより小さい場合には呼を呼処理部２０に渡すが（ステップ２７０３）、閾値２７Ｘと等しいかこれよりも大きい場合には呼を論理的ループネットワーク６０Ｂに流す（ステップ２７０４）。
機能毎ではなく、負荷推定値２１と閾値２７との比較結果を用いて呼取り込み制御を行う場合も、手順は同様であり、この場合の処理の流れを図１６（Ｂ）に示す。
【００４６】
呼取り込み制御部の動作例３
図１７（Ａ）、（Ｂ）は本動作例３の処理の流れ図であり、自ノード実行可能機能Ｘの負荷推定値２１Ｘと閾値２７Ｘとの比較結果に加え、取り込み制御フラグを用いた例である。
呼取り込み制御部１９は、一定周期で、自ノード実行可能機能Ｘの負荷推定値２１Ｘを同機能Ｘの閾値２７Ｘと比較し（ステップ２８０１、２８０２）、自ノード負荷推定値２１Ｘが閾値２７Ｘよりも小さければ取り込み制御フラグ２９Ｘをオンし（ステップ２８０３）、自ノード負荷推定値２１Ｘが閾値２７Ｘよりも大きいかあるいは等しい場合は、当該呼が周回呼であれば、閾値２７Ｘを増やすことにより自ノード負荷推定値２１Ｘが閾値２７Ｘよりも小さくなるのであれば取り込み制御フラグ２９Ｘをオンとし（ステップ２８０４、２８０５、２８０３）、周回呼でなければ取り込み制御フラグ２９Ｘをオフとする（ステップ２８０４、２８０６）。
【００４７】
次に、機能Ｘに関する呼が到着すると、取り込み制御フラグ２９Ｘを調べ（ステップ２８０７、２８０８）、同フラグがオンであれば呼を呼処理部２０に渡し（ステップ２８０９）、オフであれば呼を論理的ループネットワーク６０Ｂに流す（ステップ２８１０）。
なお、ステップ２８０２における比較処理は、自ノード実行可能機能Ｘの閾値２７Ｘの変更あるいは自ノード実行可能機能Ｘの負荷推定値２１Ｘの変更を契機として行ってもよい。
機能毎ではなく、負荷推定値２１と閾値２７との比較結果及び取り込み制御フラグ（２９）を用いて呼取り込み制御を行う場合も、手順は同様であり、この場合の処理の流れを図１８（Ａ）、（Ｂ）に示す。
【００４８】
呼取り込み制御部の動作例４
図１９（Ａ）、（Ｂ）は本動作例４の処理の流れ図であり、取り込み制御フラグを用いた第２の例である。
呼取り込み制御部１９は、一定周期で、自ノード実行可能機能Ｘの負荷推定値２１Ｘを同機能Ｘの閾値２７Ｘと比較し（ステップ２９０１、２９０２）、負荷推定値２１Ｘが閾値２７Ｘよりも小さければ取り込み制御フラグ２９Ｘをオンし（ステップ２９０３）、負荷推定値２１Ｘが閾値２７Ｘより大きいかあるいは等しいとき同フラグ２９Ｘをオフする（ステップ２９０４）。
【００４９】
そして、機能Ｘに関する呼が到着すると、取り込み制御フラグ２９Ｘを調べ（ステップ２９０５、２９０６）、同フラグがオンであれば呼を呼処理部２０に渡し（ステップ２９０６、２９０７）、同フラグ２９Ｘがオフで、かつ当該呼が周回呼であれば、閾値２７Ｘを増やすことにより自ノード負荷推定値２１Ｘが閾値２７Ｘよりも小さくなるのであれば呼を呼処理部２０に渡す（ステップ２９０８、２９０９、２９０７）。一方、取り込み制御フラグ２９Ｘがオフで、かつ当該呼が周回呼でなければ呼をネットワーク６０Ｂに流す（ステップ２９１０）。
なお、ステップ２９０２における比較処理は、自ノード実行可能機能Ｘの閾値２７Ｘの変更あるいは自ノード実行可能機能Ｘの負荷推定値２１Ｘの変更を契機として行ってもよい。
また、機能毎ではなく、負荷推定値２１と閾値２７との比較結果及び取り込み制御フラグ（２９）を用いて呼取り込み制御を行う場合も、手順は同様であり、この場合の処理の流れを図２０（Ａ）、（Ｂ）に示す。
【００５０】
次に、閾値変更部４０の複数の動作例を示す。以下の動作例は、上記負荷均衡化装置１０Ｂ、１０Ｃのいずれに適用しても良い。
【００５１】
閾値変更部の動作例１
図２１は、閾値変更部４０の動作例１の処理の流れ図であり、周回呼検出を契機に変更を行う例である。
閾値変更部４０は、論理的ループネットワーク６０Ｂを流れる全ての呼を呼取り込み制御部１９を介して監視し、ある自ノード実行可能機能Ｘに関する周回呼を検出した場合、その検出時刻を記録する（ステップ２２０１、２２０２）。
【００５２】
次に、
（１）周回呼検出時刻から前回の周回呼検出時刻を差し引き、その差が呼の所定の周回時間よりも大きく（ステップ２２０３）、
（２）自ノード実行可能機能Ｘの負荷推定値２１Ｘを同機能Ｘの閾値２７Ｘと比較し、負荷推定値２１Ｘが閾値２７Ｘと等しいかあるいはこれより大きく（ステップ２２０４）、
（３）閾値２７Ｘに上記機能Ｘに関する所定の閾値変分値（ここでは、以降「１単位」と呼ぶ。各機能によって１単位の値は異なる）を足した値が、同機能Ｘに関してあらかじめ定められた所定の閾値上限値２７ＸL1よりも小さく（ステップ２２０５）、更に、
（４）自ノードの各実行可能機能Ｘi の閾値２７Ｘi の総和（即ち、２７Ｘ1＋２７Ｘ2＋…）と上記（ある特定の）機能Ｘの閾値変分との和が自ノード全体の閾値２７を超えない場合（ステップ２２０６）、
閾値２７Ｘを１単位分増やす（ステップ２２０７）。
【００５３】
一方、周回呼を検出しなかった場合には、
（１）現在時刻と前回の周回呼検出時刻の差が呼の周回時間よりも大きく、
（２）閾値２７Ｘを上記１単位分だけ減らしても同機能Ｘに関する所定の閾値下限値２７ＸL2よりも小さくならない場合、閾値２７Ｘを１単位分減らす（ステップ２２０８〜２２１０）。
なお、機能毎でなく、負荷推定値２１と閾値２７との比較結果を用いて閾値変更を行う場合も手順も同様であるが、上記ステップ２２０６に対応する処理は不要になる。この場合の処理の流れを図２２に示す。
【００５４】
閾値変更部の動作例２
図２３は、閾値変更部４０の動作例２の処理の流れ図であり、負荷変動量推定値の算出を行う例である。
閾値変更部４０は、論理的ループネットワーク６０Ｂを一定計測期間中に通過した全ての呼の数を、呼取り込み制御部１９を介して計測し（ステップ２６０１〜２６０６）、直前の計測期間における（同様に計測された）全ての通過呼数との比を算出し、これをシステム全体の負荷変動量推定値とする（ステップ２６０７）。
【００５５】
そして、以後も論理的ループネットワーク６０Ｂを流れる全ての呼を監視して負荷変動量推定値の算出を続け、システム全体の負荷変動量推定値が増加した場合、自ノード負荷推定値２１が閾値２７と等しいかあるいは大きい場合に、所定の閾値上限値２７L1を超えない限り、閾値２７を所定量増やし（ステップ２６０８〜２６１１）、システム全体の負荷変動量推定値が減少した場合、所定の閾値下限値２７L2を超えない限り、閾値２７を所定量減らす（ステップ２６１２〜２６１４）。なお、図中のα、βは、それぞれ０より大きく１より小さい適当な値である。
【００５６】
また、上記システム全体の負荷変動量推定値が微少な場合には、自ノード全体の閾値２７を変更しない方がよい場合があるので、閾値の変更は、負荷変動量推定値が一定以上の場合に行なうようにする。
【００５７】
閾値変更部の動作例３
図２４は、閾値変更部４０の動作例３の処理の流れ図であり、自ノード実行可能機能Ｘの負荷変動量推定値の算出を行う例である。
閾値変更部４０は、一定計測時間内に論理的ループネットワーク６０Ｂを通過した機能Ｘに関する呼の数を、呼取り込み制御部１９を介して計測し（ステップ２６１４〜２６１９）、直前の計測期間における機能Ｘの通過呼数との比を算出し、これを上記機能Ｘの負荷変動量推定値とする（ステップ２６２０）。
【００５８】
そして、以後も論理的ループネットワーク６０Ｂを流れる機能Ｘに関する呼を監視して機能毎の負荷変動量推定値の算出を続け、
（１）機能Ｘのシステム負荷変動量推定値が１より大きい場合、
（ｉ）自ノード実行可能機能Ｘの負荷推定値２１Ｘが同機能Ｘの閾値２７Ｘと等しいかあるいは大きく、
（ｉｉ）更新後の閾値２７Ｘが閾値上限値２７ＸL1を超えず、
（ｉｉｉ）自ノードの各実行可能機能Ｘi の閾値２７Ｘi の総和と上記（ある特定の）機能Ｘの閾値変分との和が自ノード全体の閾値２７を超えない場合、
自ノード実行可能機能Ｘの負荷変動量推定値の大きさに応じて閾値２７Ｘを増やし（ステップ２６２１〜２６２５）、
（２）機能Ｘのシステム負荷変動量推定値が１より小さい場合、
（ｉ）自ノード実行可能機能Ｘの負荷推定値２１Ｘが自ノード実行可能機能Ｘの閾値２７Ｘより小さく、
（ｉｉ）更新後の閾値２７Ｘが閾値下限値２７ＸL2より大きいかあるいは等しい場合に、閾値２７Ｘを減らす（ステップ２６２６〜２６２９）。なお、図中のα、βは、それぞれ０より大きく１より小さい適当な値である。
【００５９】
また、上記自ノード実行可能機能Ｘの負荷変動量推定値が微少な場合には、同機能Ｘの閾値２７Ｘを変更しない方がよい場合があるので、閾値の変更は負荷変動量推定値が一定以上の場合に行なうようにする。
【００６０】
次に、閾値変分変更部４１を有する上記負荷均衡化装置１０Ｃでは、上記閾値変分値の変更が可能である。
閾値変分変更部４１は、システム全体の性能（システム内の全ノードの性能の総和）と自ノードの性能の値を既知のものとして保持し、自ノードの性能の値をシステム全体の性能の値で割った値を自ノードの閾値変分値２８の初期値として設定し（通常、システムの運用前に外部から設定される）、システム内のノードが削除された場合や、システムに新たにノードが追加された場合には、削除・追加されたノードの性能値を元に、自ノードの閾値変分値２８を設定し直す。
【００６１】
閾値変分値２８の初期値は、０．１、０．５、１など、適当な値とし、閾値変分変更部４１は論理的ループネットワーク６０Ｂを流れる呼の時間あたりの流量の変化の仕方と周回呼の検出状況とから、システムからノードが削除されたこと、あるいはシステムに新たにノードが追加されたことを推定し、ノードが削除されたことが推定される場合や、新たにノードが追加されたことが推定される場合には、閾値変分値２８を変える。論知的ループネットワーク６０Ｂを流れる呼の時間あたりの流量の変化の仕方（システム全体の負荷変動と呼ぶ）と周回呼の検出状況の組み合わせによる閾値変分値２８の変化のさせ方の例を、図２５の表に示す。
【００６２】
集中管理型システム形態例
上述した負荷均衡化処理装置１０Ｂ、１０Ｃにおいては、閾値変更部４０、閾値変分変更部４１が各ノードに対応して、即ち、ノード数分設けられていたが、各ノードの閾値、閾値変分を集中的に変更制御する閾値変更部４０Ｃ、閾値変分変更部４１Ｃを設けても良く、この例を図２６、２７に示す。
【００６３】
図２６は、図２の負荷均衡化処理装置１０Ｂに関する集中管理型システム例である負荷均衡化処理装置１０Ｄ＋閾値変更部４０Ｃの組み合わせ構成を示すものである。ここで、閾値変更部４０Ｃは、システム内の１つのノード内に、あるいは独立して設けられ、論理的ループネットワーク６０Ｂ及び各ノードの呼取り込み制御部１９を介して当該ノードに対する閾値変更処理を行う。処理の内容は、上述した各関連動作例と同様である。
【００６４】
また、図２７は、図３の負荷均衡化処理装置１０Ｃに関する集中管理型システム例である負荷均衡化処理装置１０Ｅ＋閾値変更部４０Ｃ＋閾値変分変更部４１Ｃの組み合わせ構成を示すものである。ここで、閾値変更部４０Ｃ及び閾値変更部４１Ｃは、システム内の１つのノード内に、あるいは独立して設けられ、論理的ループネットワーク６０Ｂ及び各ノードの呼取り込み制御部１９を介して当該ノードに対する閾値及び閾値変分変更処理を行う。処理の内容は、上述した各関連動作例と同様である。
【００６５】
上記の各処理形態例は、呼が呼処理部２０に渡された順に処理され、結果は呼が処理された順番と同じ順番で出力され、１つの呼に対して１つの結果が返される場合についてのものであるが、識別子等により呼と結果との対応をつけることにより、呼が取り込まれた順番と異なる順番で結果が出力される場合についても容易に実現可能である。
また、１つの呼に対して複数の結果が返される場合についても、最後の結果を識別することにより容易に実現可能である。
【００６６】
なお、図４のように、負荷均衡化装置を各ノードの外部に独立させる場合、各ノードの（コンピュータ）処理に余計な負担をかけることがなく負荷均衡化処理を行うことができるので、高負荷においても従来技術に比べてより大きな平均応答時間の短縮が可能となる。また、更に負荷均衡化装置をＬＳＩ化して独立させることにより、さらに高速な処理、平均応答時間の短縮が実現される。
【００６７】
図２８は、本発明の別の実施形態例としての、コンピュータシステムの負荷均衡化装置の構成図である。
ここでは、コンピュータである処理ノード７０1 、７０2 、…、７０m と呼の入力を行う端末５０がネットワーク６０Ａに接続されてコンピュータシステムが構成されている。ノード７０1 〜７０m-1 内には、自ノードの負荷を推定する自ノード負荷推定部１１と、自ノード負荷推定部１１が出力する自ノード負荷推定値２１を基に呼移送方法を選択・起動する呼移送方法起動部１２と、選択・起動された呼移送方法に基づいて、呼移送要求（信号）２３1 、２３2 をそれぞれ送信する呼移送要求送信部１３1 、１３2 と、呼移送要求２３1 、２３2 の送信後に、必要に応じて呼移送キャンセル要求（信号）２４1 または２４2 を送信する呼移送キャンセル要求送信部１４とが設けられている。また、ノード（制御ノード）７０m には、ノード７０1 〜７０m-1 から送信された呼移送要求の受信を契機として、呼移送の対象となる呼、および、呼移送先ノードまたは呼移送元ノードを決定する呼移送判定部１５が設けられ、これら各部は本コンピュータシステムの負荷均衡化装置を構成している。
【００６８】
本実施形態は、呼が各処理ノードに到着し、各処理ノードの待ち行列に並べられる分散到着型システムの場合である。集中到着型の場合には、分散到着型システムにおいて各処理ノードが実行していた呼受付、自ノードの負荷の推定、呼移送方法の起動をシステム内の１ノードが行うようにすることにより、容易に実現可能である。
また、自ノード負荷推定部１１、呼移送方法起動部１２、呼移送要求送信部１３1 、１３2 、呼移送キャンセル要求送信部１４と呼移送判定部１５とは、同一のノード内に設けることも可能である。
【００６９】
図２９（Ａ）、（Ｂ）は、図２８に示した負荷均衡化装置の概略の動作を示す流れ図である。
本実施形態のような分散到着型システムの場合には、呼は各処理ノードに到着し、待ち行列に並べられる。
端末５０から処理ノードへの呼の入力があった場合、処理ノード内の呼処理部２０を介し、呼処理の完了により結果の出力があった時および呼移送による呼の送受信があった時に、自ノード負荷推定部１１は自ノード負荷推定値２１を更新する（ステップ１０１）。呼移送方法起動部１２は、自ノード負荷推定値２１を所定の閾値２２と比較し（ステップ１０２）、その大小関係によって、呼移送要求送信部１３1 か呼移送要求送信部１３2 のいずれかを起動する（ステップ１０３）。
【００７０】
呼移送要求送信部１３1 は、呼移送要求２３1 を制御ノード７０m に送信する。一方、呼移送要求送信部１３2 は、呼移送要求２３2 を制御ノード７０m に送信する。呼移送要求２３1 は、要求を出したノードが呼移送を受け入れることが可能であることを示す。一方、呼移送要求２３2 は、要求を出したノードが他の処理ノードに対し、呼移送受け入れを要求することを示す。各要求は移送対象となる呼と同時に各ノードから送信される。また、呼移送キャンセル要求送信部１４は、呼移送キャンセル要求２４1 または２４2 を送信する（詳細は後述）（ステップ１０４）。
【００７１】
制御ノード７０m 内の呼移送判定部１５は、受信した呼移送要求に応じて呼移送の対象となる処理ノードを決定して呼移送を行ない（ステップ１０５〜１０６）、呼移送キャンセル要求２４1 または２４2 を受信すると（ステップ１０７）、レシーバリスト２５、センダリスト２６を更新する（詳細は後述）（ステップ１０８）。
以下、本負荷均衡化装置に関する３つの具体的動作例を挙げる。
【００７２】
動作例１
図３０は、本動作例１における自ノード負荷推定部１１の処理を示す流れ図である。
自ノード負荷推定部１１は、端末５０から当該ノードに呼の入力があった時に自ノード負荷推定値を１増やし（ステップ２０１、２０２）、自ノードでの呼処理完了により結果を出力した時に自ノード負荷推定値を１減らし（ステップ２０３、２０４）、また、他ノードから呼の移送を受けた時には自ノード負荷推定値を１増やし（ステップ２０５、２０６）、他ノードへ呼を移送した時には自ノード負荷推定値を１減らす（ステップ２０７、２０８）。
【００７３】
図３１は、本動作例１における呼移送方法起動部１２の処理の流れを示す図である。
呼移送方法起動部１２は、自ノード負荷推定値２１が閾値２２に等しい場合（ステップ３０１）には何もせず、自ノード負荷推定値２１が閾値２２よりも小さい場合には、呼移送要求送信部１３1 を起動し（ステップ３０２、３０３）、一方、自ノード負荷推定値２１が閾値２２よりも大きい場合には、呼移送要求送信部１３2 を起動する（ステップ３０２、３０４）。即ち、呼移送要求送信部１３1、１３2の起動契機は自ノード負荷推定値２１が変化した時とするが、呼の移送により自ノード負荷推定値２１が変化した時には起動しない。
【００７４】
図３２（Ａ）、（Ｂ）は、それぞれ、本動作例１における呼移送要求送信部１３1 、１３2 の処理の流れ図である。
呼移送要求送信部１３1 は、自ノード負荷が０でなくなるか、他ノードからの呼移送を受けるまで、適当な周期で呼移送要求２３1 を送信する（ステップ４０１）。ここで、呼移送要求２３1 を送信したノードをレシーバと呼ぶ。呼移送要求２３1 は、前述のように呼受け入れ可能であることを示す要求である。
【００７５】
呼移送要求送信部１３2 は、起動時に呼移送要求２３2 を１回だけ送信する（ステップ４０３）。呼移送要求２３2 を送信したノードをセンダと呼ぶ。即ち、呼移送要求２３2 は、センダからの呼受け入れ要求である。呼移送要求２３2 を送信する際には、移送対象となる呼を自ノード内の待ち（行列の）呼から選択し、呼移送要求２３2 とともに送信する。移送対象となる呼はまだ処理の開始されていない呼とするが、予め呼処理時間がわかっている場合には、呼処理時間の大きい呼であれば、呼処理開始後であっても移送対象としてよい。
呼移送要求２３1 または２３2 の送信後、呼移送キャンセル要求送信部１４が起動される（ステップ４０２、４０４）。
【００７６】
図３３は、本動作例１における呼移送キャンセル要求送信部１４の処理の流れ図である。
呼移送キャンセル要求送信部１４は、呼移送要求２３1 送信後に端末５０から呼の入力があった場合には、呼移送キャンセル要求２４1 を送信し（ステップ５０１〜５０３）、端末５０から呼の入力がある前に呼移送を受けた場合には何も行わない（ステップ５０１、５０２、５０４）。また、呼移送要求２３2 送信後に結果が出力され、自ノード負荷推定値２１が閾値２２よりも小さくなった場合には、呼移送キャンセル要求２４2 を送信し（ステップ５０５、５０６、５０８、５０９）、結果を出力する前に呼移送が行われた場合には何も行わない（ステップ５０５〜５０７）。
【００７７】
図３４（Ａ）、（Ｂ）は、本動作例１における呼移送判定部１５の処理の流れ図である。
呼移送判定部１５は、呼移送要求２３1 を受信した場合には、呼移送要求２３1 を出したノードをレシーバリスト２５に登録し（ステップ６０１、６０２）、呼移送要求２３2 を受信した場合には、呼移送要求２３2 を出したノードをセンダリスト２６に登録する（ステップ６０５、６０６）。呼移送要求２３1 は、自ノード負荷が変化しない限り周期的に送られてくるので、レシーバリスト２５に登録する際には同じノードを重複して登録しないようにする。
【００７８】
呼移送判定部１５は、呼移送要求２３1 を受信した場合には、センダリスト２６の先頭にあるノードから呼移送要求２３1 を出したノードに呼を移送するように制御し（ステップ６０３）、移送元ノードをセンダリスト２６から削除し、センダリスト２６に登録されているノードの順番を一つずらす（ステップ６０４）。一方、呼移送要求２３2 を受信した場合には、レシーバリスト２５の先頭にあるノードに、呼移送要求２３2 とともに送信された呼が移送されるように制御し（ステップ６０７）、移送先ノードをレシーバリスト２５から削除し、レシーバリスト２５に登録されているノードの順番を一つずつずらす（ステップ６０８）。
【００７９】
また、呼移送キャンセル要求２４1 を受信した場合には、呼移送キャンセル要求２４1 を送信したノードをレシーバリスト２５から削除する（ステップ６０９、６１０）。一方、呼移送キャンセル要求２４2 を受信した場合には、呼移送キャンセル要求２４2 を送信したノードをセンダリスト２６から削除する（ステップ６１１、６１２）。
【００８０】
動作例２
図３５（Ａ）、（Ｂ）は、本動作例２における自ノード負荷推定部１１の処理の流れを示す図である。
自ノード負荷推定部１１は、端末５０から呼の入力があると、呼の入力があった時刻Ｔr を記録し（ステップ７０１、７０２）、呼に対する結果を呼処理部２０から受け取ると、結果を受け取った時刻Ｔs を記録し（ステップ７０３、７０４）、応答時間ＲＴ＝Ｔs −Ｔr を算出する（ステップ７０５）。そして、応答時間ＲＴを、呼を単独で処理した時の応答時間ＲＴ0 で割った値を切り上げて整数化した値を自ノード負荷推定値２１とする（ステップ７０６）。
本動作例２における呼移送方法起動部１２、呼移送要求送信部１３1 、１３2 、呼移送キャンセル要求送信部１４、呼移送判定部１５の動作は、動作例１の場合と同じである。
【００８１】
動作例３
図３６（Ａ）、（Ｂ）は、本動作例３における自ノード負荷推定部１１の処理の流れを示す図である。
自ノード負荷推定部１１は、端末５０から呼の入力があると、呼の入力があった時刻Ｔriを記録する（ステップ８０１、８０２）。そして通番カウンタｉをリセットし（ステップ８０３）、ノードの呼処理部２０から結果が出力されると、その出力された時刻Ｔsiを記録し（ステップ８０４〜８０６）、応答時間ＲＴi ＝Ｔsi−Ｔriを算出する（ステップ８０７）。
【００８２】
そして、カウンタｉリセット後の動作を一定数ｎの呼について行ない（ステップ８０８）、次式
ＲＴmean＝（ΣＲＴi ）／ｎ
により応答時間の平均値（平均応答時間）ＲＴmeanを算出し（ステップ８０９）、ＲＴmeanを、呼を単独で処理した時の応答時間ＲＴ0 で割った値を切り上げて整数化した値を自ノード負荷推定値２１とする（ステップ８１０）。
なお、一定時間内に処理された呼について応答時間ＲＴi を計測し、平均応答時間ＲＴmeanを求めてもよい。
本動作例３における呼移送方法起動部１２、呼移送要求送信部１３1 、１３2 、呼移送キャンセル要求送信部１４、呼移送判定部１５の動作は、動作例１の場合と同じである。
【００８３】
上記動作例１〜３に示した実施形態は、呼がノードに渡された順に処理され、結果は呼が処理された順番と同じ順番で出力され、１つの呼に対して１つの結果が返される場合についてのものであるが、識別子等により呼と結果との対応をつけることにより、呼が取り込まれた順番と異なる順番で結果が出力される場合についても容易に実現可能である。
また、１つの呼に対して複数の結果が返される場合についても、最後の結果を識別することにより容易に実現可能である。
【００８４】
【発明の効果】
請求項１〜３３記載の負荷均衡化方法及び装置によれば、以下のような効果を得ることが可能となる。
（１）各ノードの性能と負荷に応じた呼の割当が行なわれるため、性能の高いノードから順に呼が割り当てられ、各呼の応答時間が最小化されるので、システム全体の平均応答時間が最小化される。
（２）ノードの並び順によらず、性能の高いノードから順に呼が割り当てられるので、性能の高いノードを十分に活用することができる。
（３）各ノードが取り込む呼の数をシステム内の各機能を実行可能なノード数及び機能ごとの負荷に応じて変えることにより、実行可能ノードの多い機能の呼と少ない機能の呼とのノードへの割り当てが最適化されるため、実行可能なノード数が少ない機能の呼の応答時間が大きくなることがない。
（４）自ノード実行可能機能のプログラムステップ数及び負荷変動に応じて各ノードの閾値を機能ごとに変えることにより、ノードごとの実行プログラムステップ数の総計が均衡し、システム全体の平均応答時間が最小化される。
【００８５】
また、請求項３５〜５２記載の負荷均衡化方法及び装置によれば、以下のような効果が得られる。
１．各々の呼受け入れ可能ノードでは、自ノードの負荷の大きさに応じた呼移送要求が行われるため、低負荷から高負荷まで広い範囲の負荷において各処理ノードの負荷を均衡化することができる。
２．制御ノードが移送先ノードまたは移送元ノードの情報を収集・管理し、予め移送先ノード・移送元ノードを決めておくことにより、呼移送に要する時間が小さくなり、平均応答時間を小さくすることができる。
３．各処理ノードからの呼移送要求は１つの制御ノードに送られ、制御ノードのみが呼移送先あるいは呼移送元を決めるため、各処理ノードが呼移送先あるいは呼移送元を決める方法に比べてノード間での情報交換の総量が少なくなり、システム全体の負荷均衡化処理オーバヘッドが小さく、結果として平均応答時間短縮量が大きい。
【図面の簡単な説明】
【図１】  本発明の実施形態例としての、コンピュータシステムの負荷均衡化装置の構成を示す図である。
【図２】  本発明の別の実施形態例としての、コンピュータシステムの負荷均衡化装置の構成を示す図である。
【図３】  本発明の別の実施形態例としての、コンピュータシステムの負荷均衡化装置の構成を示す図である。
【図４】  図１〜３の負荷均衡化装置の設置形態例を示す図である。
【図５】  図１〜３の負荷均衡化装置の設置形態例を示す図である。
【図６】  図１の負荷均衡化装置の概略動作を示す流れ図である。
【図７】  図２の負荷均衡化装置の概略動作を示す流れ図である。
【図８】  図３の負荷均衡化装置の概略動作を示す流れ図である。
【図９】  自ノード負荷推定部の動作例１の処理の流れを示す図である。
【図１０】  自ノード負荷推定部の動作例２の処理の流れを示す図である。
【図１１】  同様に、自ノード負荷推定部の動作例２の処理の流れを示す図である。
【図１２】  自ノード負荷推定部の動作例３の処理の流れを示す図である。
【図１３】  同様に、自ノード負荷推定部の動作例３の処理の流れを示す図である。
【図１４】  呼取り込み制御部の動作例１の処理の流れを示す図である。
【図１５】  同様に、呼取り込み制御部の動作例１の処理の流れを示す図である。
【図１６】  呼取り込み制御部の動作例２の処理の流れを示す図である。
【図１７】  呼取り込み制御部の動作例３の処理の流れを示す図である。
【図１８】  同様に、呼取り込み制御部の動作例３の処理の流れを示す図である。
【図１９】  呼取り込み制御部の動作例４の処理の流れを示す図である。
【図２０】  同様に、呼取り込み制御部の動作例４の処理の流れを示す図である。
【図２１】  閾値変更部の動作例１の処理の流れを示す図である。
【図２２】  同様に、閾値変更部の動作例１の処理の流れを示す図である。
【図２３】  閾値変更部の動作例２の処理の流れを示す図である。
【図２４】  閾値変更部の動作例３の処理の流れを示す図である。
【図２５】  システム全体の負荷変動と周回呼の検出状況の組み合わせによる閾値変分値の変化のさせ方を示す図表である。
【図２６】  集中管理型システムの形態例である。
【図２７】  集中管理型システムの別の形態例である。
【図２８】  本発明の更に別の実施形態例としての、コンピュータシステムの負荷均衡化装置の構成を示す図である。
【図２９】  図２８の負荷均衡化装置の概略動作を示す流れ図である。
【図３０】  図２８の装置における自ノード負荷推定部の動作例の、処理の流れ図である。
【図３１】  図２８の装置における呼移送方法起動部の動作例の、処理の流れ図である。
【図３２】  図２８の装置における呼移送要求送信部の動作例の、処理の流れ図である。
【図３３】  図２８の装置における呼移送キャンセル要求送信部の動作例の、処理の流れ図である。
【図３４】  図２８の装置における呼移送判定部の動作例の、処理の流れ図である。
【図３５】  自ノード負荷推定部の別の動作例の、処理の流れ図である。
【図３６】  自ノード負荷推定部の更に別の動作例の、処理の流れ図である。
【符号の説明】
１０Ａ、１０Ｂ、１０Ｃ、１０Ｄ、１０Ｅ  負荷均衡化装置
１１、１６    自ノード負荷推定部
１２          呼移送方法起動部
１３1 、１３2 呼移送要求送信部
１４          呼移送キャンセル要求送信部
１５          呼移送判定部
１９          呼取り込み制御部
２０          呼処理部
２５          レシーバリスト
２６          センダリスト
３０          閾値格納部
３１          閾値変分格納部
４０          閾値変更部
４１          閾値変分変更部
５０          端末
６０Ａ        ネットワーク
６０Ｂ        論理的ループネットワーク
７０1 〜７０m ノード
【図１】
0003779039.tif 000002
【図２】
0003779039.tif 000003
【図３】
0003779039.tif 000004
【図４】
0003779039.tif 000005
【図５】
0003779039.tif 000006
【図６】
0003779039.tif 000007
【図７】
0003779039.tif 000008
【図８】
0003779039.tif 000009
【図９】
0003779039.tif 000010
【図１０】
0003779039.tif 000011
【図１１】
0003779039.tif 000012
【図１２】
0003779039.tif 000013
【図１３】
0003779039.tif 000014
【図１４】
0003779039.tif 000015
【図１５】
0003779039.tif 000016
【図１６】
0003779039.tif 000017
【図１７】
0003779039.tif 000018
【図１８】
0003779039.tif 000019
【図１９】
0003779039.tif 000020
【図２０】
0003779039.tif 000021
【図２１】
0003779039.tif 000022
【図２２】
0003779039.tif 000023
【図２３】
0003779039.tif 000024
【図２４】
0003779039.tif 000025
【図２５】
0003779039.tif 000026
【図２６】
0003779039.tif 000027
【図２７】
0003779039.tif 000028
【図２８】
0003779039.tif 000029
【図２９】
0003779039.tif 000030
【図３０】
0003779039.tif 000031
【図３１】
0003779039.tif 000032
【図３２】
0003779039.tif 000033
【図３３】
0003779039.tif 000034
【図３４】
0003779039.tif 000035
【図３５】
0003779039.tif 000036
【図３６】
0003779039.tif 000037