(57)【特許請求の範囲】
【請求項１】
ホストと、
クライアントとサーバがＬＡＮなどのネットワークにより構成されるクライアント／サーバシステムと、
上記ネットワーク上に設けられ、上記ホストと上記クライアント／サーバシステムとが通信回線を介して連携して動作するように制御する通信サーバと、
上記クライアントの接続台数の増加により上記通信サーバのクライアント処理に過負荷が発生しシステム全体の処理能力が低下した際に、上記ネットワークに接続されている他の計算機を上記通信サーバの代替として動作する代替サーバと、を備えたことを特徴とする通信サーバ負荷分散処理方式。
【請求項２】
通信サーバは該通信サーバを構成する各通信プログラムの通信処理時間を計測し、この通信処理時間に基づいて通信サーバの負荷状況を監視する負荷状況監視手段と、
上記通信処理時間が予め設定した上限値を超えた際に自動的に代替サーバの稼働要求を行う代替サーバ稼働要求手段と、
を備えたことを特徴とする請求項１記載の通信サーバ負荷分散処理方式。
【請求項３】
通信サーバは該通信サーバを構成する各通信プログラムの通信処理時間を計測し、この通信処理時間と統計情報に基づいて前回測定まで累計された処理の平均時間である累計処理平均時間を算出し、上記通信処理時間と上記累計処理平均時間とに基づいて通信サーバの負荷状況を監視する負荷状況監視手段と、
上記通信処理時間と上記累計処理平均時間に基づく上記通信サーバの負荷が予め設定した負荷上限を超えた際に自動的に代替サーバの稼働要求を行う代替サーバ稼働要求手段と、
を備えたことを特徴とする請求項１記載の通信サーバ負荷分散処理方式。
【請求項４】
通信サーバの負荷は以下の式
通信サーバの負荷  ＝  処理平均時間／累計処理平均時間
より求めることを特徴とする請求項３記載の通信サーバ負荷分散処理方式。
【請求項５】
通信サーバはネットワークに接続されるクライアント台数を計測するクライアント数計測手段と、
上記クライアント台数が予め設定した上限値を超えた場合に代替サーバの稼働要求を行う代替サーバ稼働要求手段と、
を備えたことを特徴とする請求項１記載の通信サーバ負荷分散処理方式。
【請求項６】
通信サーバは代替サーバを選択する場合に、予め設定した稼動順序番号に従って稼動要求を発することを特徴とする請求項１〜５記載の通信サーバ負荷分散処理方式。
【請求項７】
代替サーバは負荷を測定する負荷状況監視手段を有し、通信サーバは上記負荷測定手段により得られた全ての代替サーバの負荷情報を収集する負荷情報収集手段と、
この負荷情報収集手段によって得られた全ての代替サーバの負荷情報の内から最も負荷の少ない代替サーバを選択する代替サーバ選択手段と、
クライアントからの接続要求に対して上記代替サーバ選択手段が選択した代替サーバをクライアントに通知する通知手段と、
上記クライアントに対して上記代替サーバへの接続を行うように要求する接続要求手段と
を備えたことを特徴とする請求項１〜５記載の通信サーバ負荷分散処理方式。
【請求項８】
代替サーバは負荷を測定する負荷状況監視手段を有し、通信サーバは上記負荷測定手段により得られた全ての代替サーバの負荷情報を収集する負荷情報収集手段と、
この負荷情報収集手段によって得られた全ての代替サーバの負荷情報の内から最も負荷の少ない代替サーバを選択する代替サーバ選択手段と、
クライアントからの接続要求に対して上記代替サーバ選択手段が選択した代替サーバのネットワーク上のアドレスをクライアントに通知する通知手段と、
上記クライアントに対して上記代替サーバへの接続を行うように要求する接続要求手段と
を備えたことを特徴とする請求項１〜５記載の通信サーバ負荷分散処理方式。
【請求項９】
通信サーバはクライアントの台数が減少し負荷が低減したら負荷の低減量に応じて代替サーバを優先順位に従って順次停止する代替サーバ停止手段を備えたことを特徴とする請求項１〜８記載の通信サーバ負荷分散処理方式。
【請求項１０】
通信サーバは全ての通信サーバと代替サーバの負荷状況をシステム管理者に表示する負荷状況表示手段を備えたことを特徴とする請求項１〜８記載の通信サーバ負荷分散処理方式。
【請求項１１】
通信サーバはシステム管理者が代替サーバの稼動要求、停止要求を行なう管理手段を備えたことを特徴とする請求項１〜８通信サーバ負荷分散処理方式。
【請求項１２】
ネットワークが中継装置を介して複数ＬＡＮから構成される場合、又は広域網を介して構成される場合、クライアントをそのネットワークアドレス情報で管理し、クライアントからの接続要求に対して最も負荷の少ない代替サーバを選択する代わりに同一ネットワークアドレス内に代替サーバが存在すればそちらを優先して選択する手段を備えたことを特徴とする請求項１〜８記載の通信サーバ負荷分散処理方式。
【請求項１３】
同一ネットワークアドレス内に代替サーバが複数存在する場合には、その代替サーバの負荷状況を調べ、最も負荷の少ない代替サーバを選択する手段を備えたことを特徴とする請求項１〜８記載の通信サーバ負荷分散処理方式。
【請求項１４】
通信サーバのクライアント処理の過負荷が発生した場合だけでなく、通信サーバのホスト計算機接続回線に異常が発生した場合にも代替サーバにバックアップシステムとしての処理を行なわせることを特徴とする請求項１通信サーバ負荷分散処理方式。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、メインフレームであるホスト計算機と連携したクライアント・サーバ・システムにおいて、クライアント計算機とホスト計算機との間の通信制御を行う通信サーバに関するものである。
【０００２】
【従来の技術】
図１３は従来のホスト計算機とクライアント・サーバ・システムが連携して動作するホスト連携型クライアント・サーバ・システムのネットワーク構成を示すシステム構成図である。
図において、１８はホスト計算機、１１はクライアント計算機、１９はホスト計算機１８とクライアント計算機１１との通信を制御する通信サーバ、１０はホスト計算機１８と通信サーバとを接続する通信回線、９は通信サーバ１９とクライアント１１を接続するＬＡＮ（ローカル・エリア・ネットワーク）である。
【０００３】
なお、ホスト計算機１８と通信サーバ１９とが接続される通信回線１０としては、専用線、パケット交換網、回線交換網、ＬＡＮ（ローカル・エリア・ネットワーク）などが使用されている。
【０００４】
また、図１４は上記、従来のホスト連携型クライアント・サーバ・システムにおける通信サーバ１９の構成を示す通信サーバの構成図である。
図において、１はサーバ計算機本体、２はオペレーティング・システム、３はホスト計算機１８との通信制御を行なう通信制御プログラム、４はクライアント１１との通信プロトコルとホスト計算機１８との通信プロトコルとの間のプロトコル変換を行うクライアント制御プログラム、５は通信サーバ１９がクライアント１１との通信制御を行うＬＡＮ制御プログラム、６は回線制御プログラム、７はＬＡＮ制御装置、８は回線制御装置、９はＬＡＮ（ローカル・エリア・ネットワーク）、１０は通信回線（ホスト接続回線）である。
【０００５】
次に図１４に示す通信サーバ１９の動作について説明する。
ホスト連携型クライアント・サーバ・システムにより、クライアント１１は以下の機能を使用する事ができる。
（１）ホスト計算機の端末エミュレーション
（２）ホスト計算機とクライアントとのファイル転送
（３）ホスト計算機とクライアントとのアプリケーション間通信
上記機能をクライアント１１に提供するために通信サーバ１９はＬＡＮ制御プログラム５と、通信制御プログラム３及び回線制御プログラム６と、クライアント制御プログラム４とから構成されている。
【０００６】
通信サーバ１９の通信制御プログラム３はシステムの立上時にあらかじめホスト計算機１８との接続要求を通信回線制御プログラム６に対して行い、ホスト計算機１８と物理的な（ハードウェア的な）接続を行い当該ホスト計算機１８との接続状況を管理すると共に、ホスト計算機１８に搭載された通信制御プログラム（図示せず）との間で論理回線の活性化処理を行い、全ての論理回線を使用可能とする。
【０００７】
ここで、論理回線とは通信回線プログラム６で作成され、物理回線上に複数設定できる論理的な通信路をいい、前記エミュレーション機能、ファイル転送、アプリケーション間通信等の通信サービスの各々に対応するものである。
【０００８】
次に、通信サーバ１９に対してクライアント１１からの接続要求があった場合、通信サーバ１９においてまずオペレーティング・システム２の一部であるＬＡＮ制御プログラム５が接続処理を行う。ＬＡＮ制御プログラム５はクライアント制御プログラム４にクライアント１１からの接続要求があった旨を伝達すると共に接続可否の判断を問い合わせる。次にクライアント制御プログラム４は上記の通信制御プログラム３に対して現在接続可能なホスト論理回線が存在するかどうかを問い合わせ、接続が可能な論理回線が存在すればクライアント制御プログラム４はＬＡＮ制御プログラム５に対して上記クライアント１１との接続を行うように指示を返す。
【０００９】
上記接続処理により、通信サーバ１９を介してクライアント１１とホスト計算機１８との間でデータ送受信が可能となる。クライアント１１からホスト計算機１８への送信データ及びホスト計算機１８からクライアント１１への送信データは以下の流れで処理される。
１．クライアント１１からホスト計算機１８への送信データ
ＬＡＮ制御プログラム５ ＝＞ クライアント制御プログラム４
＝＞ 通信制御プログラム３ ＝＞ 通信回線制御プログラム６
２．ホスト計算機１８からクライアント１１への送信データ
通信回線制御プログラム６ ＝＞ 通信制御プログラム３
クライアント制御プログラム４ ＝＞ ＬＡＮ制御プログラム５
【００１０】
この際に、クライアント１１と通信サーバ１９との間の通信プロトコルと、通信サーバ１９とホスト計算機１８との間の通信プロトコルとはお互いに異なるため、クライアント制御プログラム４は両通信プロトコルの変換を行う。また、クライアント１１と通信サーバ１９との間を流れるデータフォーマットと通信サーバ１９とホスト計算機１８との間を流れるデータフォーマットも異なるため、クライアント制御プログラム４は両データフォーマットのフォーマット変換を行う。
【００１１】
以前には、ホスト計算機１８を接続する通信回線１０（以下ホスト接続回線という）の速度がクライアント１１を接続するＬＡＮ９よりも低速であったため、ホスト接続回線１０における通信速度がボトルネックとなり、通信サーバ１９側の処理の過負荷といった問題はほとんど発生しなかった。また、以前はシステム規模（クライアント１１の数）も小さく１台の通信サーバに接続できるクライアント１１の数はそれほど多くなかったため、通信サーバ１９側の処理が問題となる事は少なかった。
【００１２】
しかし、近年ではホスト計算機１８を接続する通信回線のＬＡＮ化、高速化が進んでおり、上記ホスト接続回線１０の通信速度のボトルネックは解消されて来ており、より多くのクライアント１１を収容しなければいけない大規模なシステム構築が要求されて来ている。このようなシステム構成を取った場合、今度は多数のクライアント１１が接続される事により通信サーバ１９の過負荷が発生してきている。具体的には、クライアント１１とホスト計算機１８がオンライン業務を行っている際の応答性能が低下したり、ファイル転送を実行時に一度に処理できるデータ転送量の低下の問題が発生している。
【００１３】
上記の問題は図１４に示すＬＡＮ制御プログラム５及び、システムで最もＣＰＵ使用率の高いクライアント制御プログラム４が同時に多数のクライアント１１との通信処理を行わなければならない事に起因している。クライアント制御プログラム４は通信プロトコルの変換処理やデータフォーマット変換処理を行うのでＣＰＵ使用率は他プログラムと比較してかなり高い。
【００１４】
さらに、クライアント制御プログラム４はオペレーティング・システム２の上で動作する１つのプロセスとして構成されているので、複数のクライアント１１が接続された場合には、各クライアント１１との処理を一つずつシーケンシャルに行わなければならない。従って、従来技術のシステム構成ではクライアント制御プログラム４の処理がボトムネックとなり、ホスト接続回線１０の高速化を行っても通信システム全体のスループットはなかなか向上できない。
【００１５】
また、このような通信サーバ１９の過負荷が発生したサーバ計算機本体１においては、ＣＰＵ、メモリ、ディスク資源もクライアント１１とホスト計算機１８との間の通信処理のために占有されるので、データベース処理、オンライン処理等の他の業務システムが通信サーバ１９のサーバ計算機本体１の上で動作している場合、その処理能力も低下させてしまう結果となる。
【００１６】
このような問題を解決する方法としては、処理のボトルネックとなっているプログラムをマルチ・プロセス構成又はマルチ・スレッド（スレッドとは１つのプロセスの中にサービスの種類毎に設けられる個々の小さい実行単位をいい、マルチ・スレッドとは１つのプロセスの中の複数の実行単位を並列処理することにより、処理時間のかかる実行単位の占有により他の実行単位が長時間待たされる事態の発生を防ぐ方法をいう）構成とする方法が従来から取られてきた。
【００１７】
特開平５−８１１６３号公報では、通信ネットワーク上のサーバに要求された処理をスレッドを用いて並列に実行し、処理効率の向上を図る方法が考案されている。しかし、この公報に示された発明によればＣＰＵの効率的な利用はできても、ディスク資源、メモリ資源など計算機上の他の資源の有効利用をする事ができない。また、サーバ計算機自身の処理能力は変わらないため、クライアントの数が増大すると他の業務システムの処理が低下するという影響が発生する。さらに、サーバの資源自身にも限界があるため、将来のシステムの大規模化に対応する事はできない。
【００１８】
また、特開平５−９４３６０号公報は分散データベースシステムの分散データベースサーバシステムにおけるサーバープロセスの複数化による負荷分散、処理能力の改善を目指したものであるが、限られたＣＰＵ資源の有効的な利用しかできないため特開平５−８１１６３号公報と同様の問題点がある。
【００１９】
また、特開平４−２７１４５５号公報は、ネットワーク上に同一機能のサーバを複数設置することでマルチＣＰＵシステムを実現しシステム全体のスループット向上を図った負荷分散装置に関するものであるが、クライアントはあらかじめ負荷分散に使用される全てのサーバのネットワーク上のアドレスを知る必要があり、システムの運用管理が複雑になるという問題点がある。
【００２０】
また、クライアントが処理を要求するサーバを選択するためには１つ１つのサーバに問い合わせる処理形態を取っており、サーバ数が多い時はクライアントがサーバに接続するまでに複数のサーバに問い合わせを行うケースもあり、クライアントとサーバの接続に時間が掛かるという問題点がある。
【００２１】
さらに、各サーバが同一ＬＡＮ上でなく、中継装置を介して複数のＬＡＮに跨る場合や広域網を介している場合には、クライアントとサーバの接続にさらに時間が掛かるだけでなく、回線コストという面でも問題となってくる。
【００２２】
また、特開平５−２１０６４３号公報は、ネットワーク上に複数の計算機を設置し、各計算機がクライアントとサーバの双方の機能を兼ね備えた構成となっており、クライアントとなった計算機は最も負荷の小さい計算機をサーバとして使用する事によりシステムのパフォーマンスの向上を狙ったものである。この特開平５−２１０６４３号公報の特徴はクライアントから各サーバへの問い合わせを行う際にブロードキャスト手段を用いている点であり、特開平４−２７１４５５号公報で問題となったクライアントが全てのサーバのネットワーク上のアドレスを認識する必要はなくなる。また同時に全てのサーバへの問い合わせが可能であるためクライアントとサーバの接続時間は短縮できるという効果を持つ。
しかし、同時に全てのサーバにブロードキャストデータを送信するために、サーバが広域網を介して存在する場合には接続の都度不要な回線費用が発生する。
従って、ＬＡＮ内で閉じた小規模システムでしか有効でない技術である。
【００２３】
【発明が解決しようとする課題】
従来のホスト連携型クライアント・サーバ・システムは、以上のように構成されているので、以下に示す問題があった。
(1) 多数のクライアントから接続要求が発生し通信サーバに過負荷が発生した際にシステム全体のスループット、処理能力が低下する。
(2) 上記(1)の問題を解決するために通信サーバのボトルネックとなるプログラムのマルチ・プロセス、マルチ・スレッド化を行っても、ＣＰＵの有効利用のみ可能であり、ディスク、メモリ資源の資源の有効利用はできない。
(3)また、サーバ計算機は通信処理に占有されてしまう為、通信以外の他業務の処理能力が低下する。
(4)また、システム規模の拡大に対応できない。
【００２４】
(5)上記(1)の問題を解決するためにネットワーク上に通信サーバを複数設置する場合にも、システムの運用管理が複雑になる。
(6)また、クライアントとサーバの接続に時間が掛かり、通信コストが掛かる。(7)また、クライアントがサーバを選択する手段が必要となる。
【００２５】
この発明は、上記のような問題点を解消するためになされたもので、
(1)同時に多数のクライアントから接続及び処理の要求が発生し通信サーバに過負荷が発生しそうになった際にそれを未然に防ぎ、システム全体のスループット、処理能力の向上を図る。
(2)上記(1)の目的を達成する際に、通信以外の他業務の処理の低下を引き起こさない。
(3)上記(1)の目的を達成する際に、不要なクライアントとサーバの接続時間を最少限に押さえる。
(4)上記(1)の目的を達成する際に、無用な通信コストは発生させない。
(5)システム構成の変更、規模の拡大／縮小に柔軟に対応し、上記(1)の目的を達成する。
(6)ＣＰＵの有効利用のみでなく、ディスク、メモリ資源の資源の有効利用を図る。
(7) 上記(1)の目的を達成する際に、システムの運用管理を複雑にしない。
ことを目的とする。
【００２６】
【課題を解決するための手段】
第１の発明に係る通信サーバ負荷分散処理方式は
ホストと、
クライアントとサーバがＬＡＮなどのネットワークにより構成されるクライアント／サーバシステムと、
上記ネットワーク上に設けられ、上記ホストと上記クライアント／サーバシステムとが通信回線を介して連携して動作するように制御する通信サーバと、
上記クライアントの接続台数の増加により上記通信サーバのクライアント処理に過負荷が発生しシステム全体の処理能力が低下した際に、上記ネットワークに接続されている他の計算機を上記通信サーバの代替として動作する代替サーバと、を備えたものである。
【００２７】
第２の発明に係る通信サーバ負荷分散処理方式は通信サーバが該通信サーバを構成する各通信プログラムの通信処理時間を計測し、この通信処理時間に基づいて通信サーバの負荷状況を監視する負荷状況監視手段と、
上記通信処理時間が予め設定した上限値を超えた際に自動的に代替サーバの稼働要求を行う代替サーバ稼働要求手段と、
を備えたものである。
【００２８】
第３の発明に係る通信サーバ負荷分散処理方式は通信サーバが該通信サーバを構成する各通信プログラムの通信処理時間を計測し、この通信処理時間と統計情報に基づいて前回測定まで累計された処理の平均時間である累計処理平均時間を算出し、上記通信処理時間と上記累計処理平均時間とに基づいて通信サーバの負荷状況を監視する負荷状況監視手段と、
上記通信処理時間と上記累計処理平均時間に基づく上記通信サーバの負荷が予め設定した負荷上限を超えた際に自動的に代替サーバの稼働要求を行う代替サーバ稼働要求手段と、
を備えたものである。
【００２９】
第４の発明に係る通信サーバ負荷分散処理方式は通信サーバの負荷は以下の式
通信サーバの負荷  ＝  処理平均時間／累計処理平均時間
より求めるものである。
【００３０】
第５の発明に係る通信サーバ負荷分散処理方式は通信サーバはネットワークに接続されるクライアント台数を計測するクライアント数計測手段と、
上記クライアント台数が予め設定した上限値を超えた場合に代替サーバの稼働要求を行う代替サーバ稼働要求手段と、
を備えたものである。
【００３１】
第６の発明に係る通信サーバ負荷分散処理方式は通信サーバは代替サーバを選択する場合に、予め設定した稼動順序番号に従って稼動要求を発するものである。
【００３２】
第７の発明に係る通信サーバ負荷分散処理方式は代替サーバは負荷を測定する負荷状況監視手段を有し、通信サーバは上記負荷測定手段により得られた全ての代替サーバの負荷情報を収集する負荷情報収集手段と、
この負荷情報収集手段によって得られた全ての代替サーバの負荷情報の内から最も負荷の少ない代替サーバを選択する代替サーバ選択手段と、
クライアントからの接続要求に対して上記代替サーバ選択手段が選択した代替サーバをクライアントに通知する通知手段と、
上記クライアントに対して上記代替サーバへの接続を行うように要求する接続要求手段と
を備えたものである。
【００３３】
第８の発明に係る通信サーバ負荷分散処理方式は代替サーバは負荷を測定する負荷状況監視手段を有し、通信サーバは上記負荷測定手段により得られた全ての代替サーバの負荷情報を収集する負荷情報収集手段と、
この負荷情報収集手段によって得られた全ての代替サーバの負荷情報の内から最も負荷の少ない代替サーバを選択する代替サーバ選択手段と、
クライアントからの接続要求に対して上記代替サーバ選択手段が選択した代替サーバのネットワーク上のアドレスをクライアントに通知する通知手段と、
上記クライアントに対して上記代替サーバへの接続を行うように要求する接続要求手段と
を備えたものである。
【００３４】
第９の発明に係る通信サーバ負荷分散処理方式は通信サーバはクライアントの台数が減少し負荷が低減したら負荷の低減量に応じて代替サーバを優先順位に従って順次停止する代替サーバ停止手段を備えたものである。
【００３５】
第１０の発明に係る通信サーバ負荷分散処理方式は通信サーバは全ての通信サーバと代替サーバの負荷状況をシステム管理者に表示する負荷状況表示手段を備えたものである。
【００３６】
第１１の発明に係る通信サーバ負荷分散処理方式は通信サーバはシステム管理者が代替サーバの稼動要求、停止要求を行なう管理手段を備えたものである。
【００３７】
第１２の発明に係る通信サーバ負荷分散処理方式はネットワークが中継装置を介して複数ＬＡＮから構成される場合、又は広域網を介して構成される場合、クライアントをそのネットワークアドレス情報で管理し、クライアントからの接続要求に対して最も負荷の少ない代替サーバを選択する代わりに同一ネットワークアドレス内に代替サーバが存在すればそちらを優先して選択する手段を備えたものである。
【００３８】
第１３の発明に係る通信サーバ負荷分散処理方式は同一ネットワークアドレス内に代替サーバが複数存在する場合には、その代替サーバの負荷状況を調べ、最も負荷の少ない代替サーバを選択する手段を備えたものである。
【００３９】
第１４の発明に係る通信サーバ負荷分散処理方式は通信サーバのクライアント処理の過負荷が発生した場合だけでなく、通信サーバのホスト計算機接続回線に異常が発生した場合にも代替サーバにバックアップシステムとしての処理を行なわせるものである。
【００４０】
【発明の実施の形態】
実施の形態１．
以下、この発明の一実施例を図について説明する。
図１は、この発明に係るホスト連携型クライアント・サーバ・システムにおける通信サーバの一実施例を示すシステム構成図である。
図において、１は通信サーバ１９の計算機本体を示すサーバ計算機本体、２はオペレーティング・システム、３はホスト計算機１８との通信制御を行なう通信制御プログラム、４は通信プロトコルの変換を行なうクライアント制御プログラム、５はクライアント１１との通信制御を行なうＬＡＮ制御プログラム、６は回線制御プログラム、７はＬＡＮ制御装置、８は回線制御装置、９はＬＡＮ（ローカル・エリア・ネットワーク）、１０はホスト計算機１８に接続する通信回線、１１はクライアント、１４は管理ユーティリティ、１７は定義ファイルである。
【００４１】
１、２、７、８、９、１０は図４に示した従来技術と同じものを流用したものであり、３、４、５、６、１１、１４、１７は従来技術でも存在したものをこの発明のために改造した部分である。また、１２はサーバ制御プログラム、１３は時間計測／負荷監視プログラム、１５はサーバ制御プログラム以外の各プログラム（３、４、５、６）に内臓された時間情報採取手段、１６はサーバ情報を管理するデータベースであり、この発明のために新規に実装された部分である。
【００４２】
また、図２は、上記通信サーバ１９からの要求により稼動可能状態になった代替サーバの一実施例を示すシステム構成図であり、図１と同符号は同一又は相当部分を示す。
図において、２０は通信サーバ１９が過負荷の場合に、通信サーバ１９の処理の代替えを行なう代替サーバ、１ｂは代替サーバ計算機本体である。
代替サーバ２０のシステム構成は、通信サーバ１９の構成からホスト接続機能を除いた部分から構成されており、使用される各プログラムは通信サーバ１９で使用されるものと同一である。
【００４３】
また、図３は、この発明によるホスト連携型クライアント・サーバ・システムのネットワーク構成例を示す構成図である。
図において、１８はホスト計算機であり、通信回線１０を経由して通信サーバ１９と接続される。また２０は代替サーバであり、ホスト計算機１８と直接接続せず、通信サーバ１９経由でホスト計算機１８との接続を行う。
【００４４】
また、図４は、通信サーバ１９、代替サーバ２０が保持する定義ファイル１７のうち、この発明に関連する定義情報のみを抜き出したものである。
【００４５】
また、図５は、通信サーバ１９又は代替サーバ２０の図２に示す時間計測／負荷監視プログラム１３が、時間情報採取手段１５を使用して、時間情報の採取と計測、及びサーバ管理プログラム１２への負荷状況の報告方法を示した負荷状況報告図である。
【００４６】
また、図６は、通信サーバ１９から代替サーバ２０への代替サーバ稼動要求の通信シーケンス、代替サーバ２０から通信サーバ１９への代替サーバ２０の負荷情報、および代替サーバ２０が管理するクライアント１１の情報を通知するシーケンスを示したシーケンス図である。
【００４７】
また、図７は、通信サーバ１９にて過負荷が発生した状態において、クライアント１１から通信サーバ１９への接続要求が発生した際に、通信サーバ１９が最も負荷の小さい代替サーバ２０を選択しクライアント１１へ通知する方法を示した代替サーバ選択図である。
【００４８】
次に図１〜図７に示した通信サーバ及び代替サーバの動作を説明する。
システムを運用するに当たり、システム管理者は予め通信サーバ１９の管理ユーティリティ１４を用いて、通信サーバ１９の図４に示す定義情報を定義ファイル１７に登録する。
ここで定義ファイル１７に記述すべき情報を図４に従い説明する。
(1) 代替サーバ２０のアドレス情報（情報Ｓ４１）
ネットワーク上で通信サーバ１９の代替サーバ２０としての機能を持つ全計算機のネットワーク上のアドレス情報及び稼動順序を定義する。ここで代替サーバ２０としての機能を持つ計算機とは図２に示すシステム構成の計算機の事である。図４に示すように、以下の定義情報ｓ４１を設定する。
ＳＥＲＶＥＲーＡのアドレスはＡ．１００、稼動順序は１
ＳＥＲＶＥＲーＢのアドレスはＢ．１５  、稼動順序は２
ＳＥＲＶＥＲーＣのアドレスはＣ．２２２、稼動順序は３
【００４９】
(2) どこのプログラム間の処理時間を計測するかを指定しておく。図４では、クライアント制御プログラムとＬＡＮ制御プログラムとの間のデータ通信時間を設定することにより、従来技術の通信サーバ１９でボトルネックとなっていたクライアント制御プログラム４の処理時間を計測することを示している。送信、受信それぞれに対して設定する。（情報Ｓ４２）
(3) 通信サーバ１９、代替サーバ２０の上記処理時間の平均値の採取を行う際の時間間隔を指定する。例えば３０分と指定した場合、３０分毎にその間に送受信された全てのデータに関する処理時間の平均値を求め通信サーバデータベース１６へ格納しておく。（情報Ｓ４３）
【００５０】
(4) この発明では、通信サーバ１９の過負荷による代替サーバ２０の稼動、及び負荷低下に基づき、元の通信サーバ１９に切り換えるため代替サーバ２０の停止を行なうための判断条件として、前回までの履歴に基づく処理時間の平均値に対する最新の処理時間の平均値の割合を使用しており、その稼動条件の割合と停止条件の割合を指定する。（情報Ｓ４４）
【００５１】
なお、定義ファイル１７の情報Ｓ４１は通信サーバ１９の起動時、及び代替サーバ２０の稼動時にサーバ制御プログラム１２によりその初期化情報として読み込まれる。定義ファイル１７の情報Ｓ４２、Ｓ４３、Ｓ４４は通信サーバ１９の起動時、及び代替サーバ２０の稼動時に時間計測／負荷監視プログラム１３によりその初期化情報として読み込まれる。
【００５２】
次に運用中の通信サーバ１９の負荷状況の監視方法に関して、図５に示す負荷状況報告図に従って説明を行う。
通信サーバ１９の起動時に時間計測／負荷監視プログラム１３は定義ファイル１７から計測方法に関する情報を読み込み（Ｓ５１）、計測を行うべきプログラムであるＬＡＮ制御プログラム５とクライアント制御プログラム４に対して計測の開始を指示する（Ｓ５２）。
【００５３】
図１に示すクライアント１１からデータを受信した場合には、ＬＡＮ制御プログラム５は通信処理を行った後にクライアント制御プログラム４にデータを渡すが、その際にＬＡＮ制御プログラム５に設けられた時間情報採取手段１５はデータをクライアント制御プログラム４に渡した時刻Ｔ１の情報を同時にクライアント制御プログラム４に渡す。データを受け取ったクライアント制御プログラム４は通信処理を行った後にデータを次の通信処理プログラムに渡すが、その際にクライアント制御プログラム４に設けられた時間情報採取手段１５はデータを次の通信処理プログラムに渡した時刻Ｔ２を確認し、クライアント１１の処理時間として（Ｔ２−Ｔ１）より算出される時間を時間計測／負荷監視プログラム１３に通知する（Ｓ５３）。
【００５４】
時間計測／負荷監視プログラム１３は上記方法により処理時間に関する情報の収集を行い、定義ファイル１７に設定した時間毎にその間の処理平均時間Ｔｎを計測しサーバ情報データベース１６への格納を行う（Ｓ５４）。また、サーバ情報データベース１６は上記方法により時間計測／負荷監視プログラム１３から通知された処理平均時間Ｔｎをシステム起動直後から現在までの全ての情報について保持しており（Ｓ５９）、時間計測／負荷監視プログラム１３はサーバ情報データベース１６の情報を参照する（Ｓ５５）事によりシステム起動直後から現在までの処理平均時間Ｔｎの累計処理平均時間Ｔを求める事ができる（Ｓ５６）。
【００５５】
時間計測／負荷監視プログラム１３はこの累計処理平均時間Ｔと現在の処理平均時間Ｔｎを比較して（Ｓ５７）、以下の条件を満たせなくなった場合にはサーバの過負荷が発生したと判断して、過負荷の通知処理をサーバ制御プログラム１２に対して行う（Ｓ５８）。
【００５６】
処理平均時間 Ｔｎ ／ 累計処理平均時間 Ｔ × １００
＜ 定義ファイルに設定した負荷上限の割合 ＵＰＰＥＲ
【００５７】
次に通信サーバ１９からの代替サーバ２０の稼動要求に関して、図６に示すシーケンス図に従い説明を行う。図６において、１２ａは通信サーバ１９のサーバ制御プログラム、１２ｂは代替サーバ２０のサーバ制御プログラムである。本処理は通信サーバ１９のサーバ制御プログラム１２ａと代替サーバ２０のサーバ制御プログラム１２ｂが直接送受信を行う。
通信サーバ１９において、図１に示す時間計測／負荷監視プログラム１３から過負荷の通知処理を受けたサーバ制御プログラム１２ａは、代替サーバ２０の機能を持つ計算機に対して代替サーバ２０の稼動要求を行う（Ｓ６１）。
【００５８】
稼動要求を受けた代替サーバ２０の機能を持つ計算機が代替サーバ２０になる事が可能であるならば稼動要求了解のメッセージを通信サーバ１９へ返答する（Ｓ６２）事により、サーバの分散処理が完了する。代替サーバ２０の機能を持つ計算機から応答がない場合（タイムアウト）又は、拒否の応答が返ってきた場合には、他の代替サーバ２０の機能を持つ計算機に対して稼動要求を試みる。
【００５９】
なお、通信サーバ１９は定義ファイル１７の代替サーバアドレス情報Ｓ４１に記述された代替サーバ２０の稼動順序番号に従い、次に稼動要求を行う代替サーバ２０の選択を行う。代替サーバ２０はクライアント１１との接続が完了する都度、クライアント情報としてそのアドレスを通信サーバ１９に報告する（Ｓ６３）。実際にクライアント１１とホスト計算機１８間のデータの送受信が開始されると、その送受信データは代替サーバ２０と通信サーバ１９を経由して送受信される事になる（データ転送フェーズＳ６４）。
【００６０】
また、代替サーバ２０も定義ファイル１７に設定した処理時間計測方法に従い、時間計測／負荷監視プログラム１３を動作させ、代替サーバ２０の処理平均時間を自分自身のサーバ情報データベース１６に格納すると共にサーバ制御プログラム１２ｂ経由で通信サーバ１９のサーバ制御プログラム１２ａにも通知する（Ｓ６５）。
【００６１】
次に通信サーバ１９にて過負荷が発生した状態において、クライアント１１から通信サーバ１９への接続要求が発生した際に、通信サーバ１９が最も負荷の小さい代替サーバ２０を選択しクライアント１１へ通知する方法について、図７に示す代替サーバ選択図に従い説明する。
【００６２】
全てのクライアント１１からの接続要求（Ｓ７１）は通信サーバ１９のクライアント制御プログラム４を介して、サーバ制御プログラム１２ａに通知される（Ｓ７２）。サーバ制御プログラム１２ａは現在稼動可能となっている全ての代替サーバ２０に関する最新の処理平均時間Ｔｎをサーバ情報データベース１６から取り出し、最も負荷の少ない代替サーバ２０を選択する（Ｓ７３）。次にサーバ制御プログラム１２ａはクライアント制御プログラム４経由で代替サーバ２０のネットワーク上のアドレスをクライアント１１へ通知する（Ｓ７４）。通知を受けたクライアント１１はその代替サーバ２０への接続要求を試みる（Ｓ７５）。
【００６３】
上記、一連の動作により、通信サーバ１９における過負荷が発生した際に、ネットワーク上の代替サーバ２０を稼動可能にしてクライアント１１の処理を複数サーバに分散化させる事が可能であり、その効果としてシステム全体の処理能力の低下を未然に防ぐ事が可能である。また、この発明では分散処理を同一計算機上でなく、ネットワーク上の複数の計算機上で行うので、マルチ・プロセス、マルチ・スレッド構成による分散技術と異なりＣＰＵ、メモリ、ディスクといった全ての計算機資源の有効利用が可能である。
【００６４】
また、代替サーバ２０をシステム規模に応じて順次増やす事も可能であり、システム規模の拡大に柔軟に対応できる特徴を持っている。さらに、通信サーバ１９がネットワーク上に分散する全ての代替サーバ２０の負荷状況、動作状況を管理しているため、クライアント１１は全てのサーバのネットワーク上のアドレスを知る必要やブロードキャストによる接続要求を行う必要がなく、かつクライアント側で最も負荷の低いサーバを判断する必要もないので、クライアントとサーバの接続時間は従来技術と比較して短縮されている。
【００６５】
なお、本実施の形態では「処理平均時間Ｔｎ／累計処理平均時間Ｔ」を負荷上限の割合ＵＰＰＥＲあるいは負荷下限の割合ＬＯＷＥＲと比較したが、処理平均時間Ｔｎを予め設定した処理時間の上限値あるいは下限値と比較してもよいのはいうまでもない。この場合、計算処理の簡単化が図れ、処理速度が向上するという効果を奏する。
【００６６】
実施の形態２．
実施の形態１では、通信サーバ１９における過負荷が発生した際にネットワーク上の代替サーバ２０を稼動可能にしシステム全体の処理能力の低下を未然に防ぐ方法に関するものであるが、一方、接続クライアント数が縮小したり、システムの規模が縮小化した際にはシステムのスループット、処理能力の向上が期待できるはずである。しかし、従来のシステムのように固定的にサーバを設置していた場合にはシステム全体の処理能力の低下はないものの、常に一定の処理能力となりスループットの向上、処理能力の向上はそれほど期待できなかった。
【００６７】
また、システム規模が縮小しても不要なサーバが存在し使用されていたのでは運用管理の面で問題となる可能性がある。
この発明のホスト連携型クライアント・サーバ・システムにおいては通信サーバ１９が全ての代替サーバ２０の負荷状況を監視しているため、システム負荷の低下、接続クライアント数が減少に対応させ、代替サーバ２０を停止させる機能を有している。
【００６８】
代替サーバ２０の停止機能の動作に関して、図８に従い説明を行う。
通信サーバ１９において以下の条件を満たした場合にはサーバの過負荷が解除されたと判断してデータ転送フェーズＳ８１にある代替サーバ２０の終了準備を行う。
【００６９】
処理平均時間 Ｔｎ ／ 累計処理平均時間 Ｔ× １００
＜ 定義ファイルに設定した負荷下限の割合 ＬＯＷＥＲ
【００７０】
また、通信サーバ１９は代替サーバ２０からの負荷情報報告（Ｓ８２）に従い、代替サーバ２０の最新の通信処理平均時間Ｔｎを有していると共にその累計平均時間Ｔも保持しており、通信サーバ１９及び代替サーバ２０が共に上記条件を満たした際には、通信サーバ１９は代替サーバ２０に対して停止の要求を行う（フェーズＳ８３）。
【００７１】
代替サーバ２０は停止の要求を受けたら全てのクライアント１１との通信が完了（フェーズＳ８４）するのを待つ。ここで新規にクライアント１１からの接続要求があった際にはまだ受け付け処理を行うが、既に通信サーバ１９は代替サーバ２０の終了処理中に入っているので通信サーバ１９に対してクライアント１１から接続要求があっても終了処理中の代替サーバ２０のアドレスはクライアント１１に通知しないので、代替サーバ２０に対する新規クライアント１１からの接続要求は来ないようになる。最後に全てのクライアント１１との処理が完了（フェーズＳ８４）したところで、代替サーバ２０は通信サーバ１９に対して停止完了報告（Ｓ８５）を行いホスト連携型クライアント・サーバ・システムを分散前の構成に戻す。
【００７２】
以上のように本発明の通信サーバ１９はシステム構成の変化、拡大、縮小に柔軟に対応できる機能を持つと共にシステム管理の面でも不要なサーバ管理を行う必要がなく簡素化する事が可能である。
【００７３】
実施の形態３．
ネットワークシステムが広域網を介して構築されている例を図９に示す。
図において、１００、１０１はデータ量又は接続時間に応じて回線使用量が課金される公衆パケット網、又は公衆回線網（以降、総称して広域網と称す）であり、通信速度は一般にＬＡＮ（９ａ、９ｂ、９ｃ）と比較して低速である。
このようなネットワーク構成では、クライアント１１は単純にシステム負荷の最も少ない代替サーバ２０に接続しようとすると、広域網を介して最も回線速度の遅い代替サーバ２０を使用する結果となり、また通信費用も余計に掛かるという問題が発生する。
【００７４】
例えば、クライアント１１ａが通信サーバ１９ａに接続要求を行った際にネットワークシステム全体でシステム負荷が最も低い代替サーバは２０ｂであったとすると、実施の形態１の動作に従いクライアント１１ａは代替サーバ２０ｂを使用して通信を行う事になる。この時のデータの流れはクライアント１１ａから通信サーバ１９ａ、広域網１００を介して代替サーバ２０ｂに送信され、次に代替サーバ２０ｂから広域網１００を介して通信サーバ１９ａに送信される事になる。このような結果を回避するために本発明では通信サーバ１９ａが代替サーバを選択する際に負荷の最も少ない代替サーバ２０ｂよりも同一ネットワークアドレス内に存在する代替サーバ２０ａを優先選択しクライアント１１ａへ通知する機能を有している。
【００７５】
次に、図９に示す同一ネットワークアドレス内に存在する代替サーバ２０ａを優先選択する場合の動作について以下に説明する。
本発明では通信サーバ１９、代替サーバ２０及びクライアント１１間の通信プロトコルとして以下のようなアドレス体系を持った通信プロトコルを前提としている。
【００７６】
各計算機のアドレス＝ＸＸ.ＹＹ
ＸＸ：その計算機が所属するネットワークに付けられたアドレス本アドレスをネットワーク・アドレスという。
ＹＹ：上記ネットワーク・アドレスにより識別されるネットワーク内において、その計算機のために割り付けられたネットワーク内で１つしか存在しない値。
【００７７】
図９においては、ネットワークはネットワーク・アドレスＡを持つネットワークＡ（２１ａ）、ネットワーク・アドレスＢを持つネットワークＢ（２１ｂ）、ネットワーク・アドレスＣを持つネットワークＣ（２１ｃ）、ネットワーク・アドレスＤを持つネットワークＤ（２１ｄ）に分類され、それぞれのネットワークに接続される計算機のアドレスは、Ａ.ＹＹ、Ｂ.ＹＹ、Ｃ.ＹＹ、Ｄ.ＹＹで示される。
【００７８】
通信サーバ１９ａの図５に示すサーバ制御プログラム１２は定義ファイル１７から各代替サーバのアドレス情報を読み込み保持しているが、各代替サーバのアドレス体系は上記の構成となっているため、通信サーバ１９ａのサーバ制御プログラム１２は各代替サーバが所属するネットワークのネットワーク・アドレスを以下のように把握している。
【００７９】
代替サーバ名アドレスネットワーク・アドレス
代替サーバ２０ａ      Ａ.Ｙ１    =>            Ａ
代替サーバ２０ｂ      Ｂ.Ｙ１    =>            Ｂ
代替サーバ２０ｃ１    Ｃ.Ｙ１    =>            Ｃ
代替サーバ２０ｃ２    Ｃ.Ｙ２    =>            Ｃ
代替サーバ２０ｄ      Ｄ.Ｙ１    =>            Ｄ
ここで、クライアント１１ａから通信サーバ１９ａに接続要求があった場合、通信サーバ１９ａのサーバ制御プログラム１２はクライアント１１ａのアドレス情報Ａ.ＹＹからクライアント１１ａがネットワーク・アドレスＡに所属している事を知る。次に通信サーバ１９ａのサーバ制御プログラム１２はネットワーク・アドレスＡに所属する代替サーバを探す。その結果、同一ネットワークク・アドレスＡに所属する代替サーバが２０ａの１台だけである場合は図７で示した最も負荷の低い代替サーバの選択処理は行わず、代替サーバ２０ａのアドレス情報をクライアント１１ａに通知する。
【００８０】
この機能によりネットワークシステムが料金課金のある広域網を介している際に、不要な通信コストを発生させないようにする事、及び不要なネットワーク経路を通りシステム全体の処理性能を低下させない事が可能である。
【００８１】
実施の形態４．
図９において、クライアント１１ｄは直接広域網１０１に接続されており、全ての代替サーバ２０ａ、２０ｂ、２０ｃ１、２０ｃ２、２０ｄのネットワーク・アドレスと異なるネットワーク・アドレスを所有している。このような場合には、通信サーバ１９ａのサーバ制御プログラム１２はクライアント１１ｄのネットワークアドレスをチェックし対応するネットワークアドレスを持つ代替サーバが見つからないと判断し直接通信サーバ１９ａに接続させる。
【００８２】
これにより実施の形態３と同様の問題を回避することができる。
【００８３】
実施の形態５．
図９において、クライアント１１ｃと同一ＬＡＮ９ｃ上に代替サーバ２０ｃ１と２０ｃ２を設置した場合は、通信サーバ１９ａのサーバ制御プログラム１２はクライアント１１ｃと同一ネットワーク・アドレスＣ上に２つの代替サーバ２０ｃ１と２０ｃ２が存在していると認識する。
【００８４】
この場合、クライアント１１ｃから接続要求があると、通信サーバ１９ａのサーバ制御プログラム１２はまず実施の形態３で示した同一ネットワーク・アドレスＣ上に存在する代替サーバの選択処理を行い、２０ｃ１と２０ｃ２の２つを代替サーバの候補として選択する。次に、図７で示した最も負荷の少ない代替サーバの選択処理を行い、選択された代替サーバ２０ｃ１をクライアント１１ｃに対して通知する。本機能により、システム全体の有効利用、処理能力を最大限に引き上げる事が可能である。
【００８５】
実施の形態６．
実施の形態１〜実施の形態５に関しては、予め通信サーバ１９は１台設置し、システム負荷状況に応じて順次代替サーバ２０の拡張、縮小を行う内容に関して述べてきたが、システム運用開始時に予め代替サーバ２０を複数台固定的に稼動させておき運用する方法も可能である。
【００８６】
図１０は本動作を行うための定義ファイル１７の記述例を示した図である。
次に、この発明の動作について以下に説明する。
システム管理者は端末を利用して定義ファイル１７に代替サーバ２０のアドレス情報を記述する際に、その代替サーバ２０を固定的に使用する事を追記しておく（情報Ｓ１０１）。次に通信サーバ１９の起動時にサーバ制御プログラム１２は定義ファイル１７を読み込み、固定的に使用する代替サーバ２０が存在すると判断した場合には、図５に示す時間計測／負荷監視プログラム１３からの過負荷通知Ｓ５８を受けなくても、指定された代替サーバ２０に対して図６に示すシーケンスに従い代替サーバの稼動要求を行う。以降のクライアント１１との接続処理に関しては実施の形態１の処理と同じである。
【００８７】
本運用方法はシステム構成の変更がほとんど見込まれない場合や通信サーバ１９に対する負荷が常に一定である場合に有効である。
【００８８】
実施の形態７．
この発明における通信サーバ１９は図１に示す管理ユーティリティ１４からサーバ情報データベース１６に格納されている通信サーバ及び代替サーバの負荷状況に関する情報を参照する事が可能である。従って、システム管理者はシステム全体の稼動状況、負荷状況を把握する事が可能である。
【００８９】
実施の形態８．
上記、管理ユーティリティ１４を用いてシステム管理者が直接、代替サーバ２０の設置要求を行ったり、停止要求を行ったりする事が可能である。
【００９０】
次に、この発明に係る通信サーバの動作について以下に説明する。
管理ユーティリティ１４からの代替サーバ稼動要求を通信サーバ１９のサーバ制御プログラム１２が受け付けると、図５に示す時間計測／負荷監視プログラム１３からの過負荷通知Ｓ５８を受けなくても、指定された代替サーバ２０に対して図６に示すシーケンスに従い代替サーバの稼動要求を行う。以降のクライアント１１との接続処理に関しては実施の形態１と同じである。
【００９１】
本機能はシステムの運用管理、メンテナンスを行う際に有効となる機能である。また、システム全体の負荷調整を人為的に行いたい場合に有効である。
【００９２】
実施の形態９．
実施の形態１〜実施の形態８に関しては、通信サーバ１９、代替サーバ２０の負荷状況を監視する機能を使用しているが、通信サーバ１９と代替サーバ２０に接続するクライアント台数を計測する事により、通信サーバの負荷を監視する事も可能である。
【００９３】
図１１は本動作を行うための通信サーバ１９の定義ファイル１７の記述例を示した図である。代替サーバのアドレス情報の記述Ｓ１１１は図４に示す情報Ｓ４１と同じであるが、測定方法としてクライアント台数により行う事を指定（記述情報Ｓ１１２）し、さらに代替サーバ設置要求の判断条件として接続クライアント台数の上限値と代替サーバ停止判断の条件として接続クライアント台数の下限値を記述する（記述情報Ｓ１１３）。
【００９４】
また本動作方法では、実施の形態１の時間計測／負荷監視プログラム１３と時間情報採取手段１５は不要である。また、サーバ情報データベース１６には各代替サーバ２０から通知された現在のクライアント接続台数が格納される。
【００９５】
次に、図１１に示した定義ファイル例の場合の通信サーバの動作について説明する。
通信サーバ１９のサーバ制御プログラム１２はクライアント１１からの接続要求毎に現在の接続クライアント総数を計算する。計算した結果が以下の条件を満たせなくなった場合にはサーバの過負荷が発生したと判断する。
【００９６】
現在のクライアント接続台数
＜  定義ファイルに記述した負荷上限のクライアント台数 ＵＰＰＥＲ
【００９７】
通信サーバ１９の過負荷発生による代替サーバ２０の稼動要求以降の処理に関しては実施の形態１と同じである。
【００９８】
実施の形態１０．
図１２に示す代替サーバ２０が通信サーバ１９と同様にホスト接続機能とホスト接続回線１０を持っている場合に、通信サーバ１９の回線がダウンした時に代替サーバ２０をバックアップシステムとして使用する例を示した図である。図において、図１と同符号は同一又は相当部分を示す。通信サーバ１９は自分のホスト接続回線がダウンすると各代替サーバ２０に対してバックアップシステムとなるように要求を行う。
【００９９】
次に通信サーバ１９は各代替サーバ２０に対してバックアップシステムとなった代替サーバ２０のアドレス情報を通知し、以降のクライアントとホスト計算機間の送受信データはバックアップシステムとなった代替サーバ２０で行う事を通知する。
【０１００】
なお、代替サーバ２０が通信サーバ１９のバックアップシステムとなった場合においても各クライアント１１からの接続要求処理は通信サーバ１９にて行う。
【０１０１】
本機能により通信サーバ１９に接続されているホスト回線に異常が発生した際にもシステム処理を継続できる効果を持つ事ができる。
【０１０２】
【発明の効果】
第１の発明によれば、クライアントの接続台数の増加により通信サーバのクライアント処理に過負荷が発生しシステム全体の処理能力が低下した際に、ネットワークに接続されている他の計算機を上記通信サーバの代替として動作する代替サーバを備えたので、システム全体の処理能力の低下を未然に防ぐことが可能であり、ＣＰＵ、メモリ、ディスプレイなどの全ての計算機資源の有効利用が可能であり、システム規模の拡充に柔軟に対応できるという効果を奏する。
【０１０３】
第２の発明によれば、通信サーバは該通信サーバを構成する各通信プログラムの通信処理時間を計測し、この通信処理時間に基づいて通信サーバの負荷状況を監視する負荷状況監視手段と、上記通信処理時間が予め設定した上限値を超えた際に自動的に代替サーバの稼働要求を行う代替サーバ稼働要求手段と、を備えたので、負荷の監視が容易で負荷に応じた対応が高速にできるという効果を奏する。
【０１０４】
第３の発明によれば、通信サーバは該通信サーバを構成する各通信プログラムの通信処理時間を計測し、この通信処理時間と統計情報に基づいて前回測定まで累計された処理の平均時間である累計処理平均時間を算出し、上記通信処理時間と上記累計処理平均時間とに基づいて通信サーバの負荷状況を監視する負荷状況監視手段と、上記通信処理時間と上記累計処理平均時間に基づく上記通信サーバの負荷が予め設定した負荷上限を超えた際に自動的に代替サーバの稼働要求を行う代替サーバ稼働要求手段と、を備えたので、負荷の監視および対応がより高性能にできるという効果を奏する。
【０１０５】
第４の発明によれば、通信サーバの負荷は以下の式
通信サーバの負荷  ＝  処理平均時間／累計処理平均時間
より求めるので、負荷の監視が高性能にできるという効果を奏する。
【０１０６】
第５の発明によれば、通信サーバはネットワークに接続されるクライアント台数を計測するクライアント数計測手段と、上記クライアント台数が予め設定した上限値を超えた場合に代替サーバの稼働要求を行う代替サーバ稼働要求手段と、を備えたので、監視および対応が簡単化され、高速に処理できるという効果を奏する。
【０１０７】
第６の発明によれば、通信サーバは代替サーバを選択する場合に、予め設定した稼動順序番号に従って稼動要求を発するので、最も低い代替サーバを判断する必要がなく、クライアントと代替サーバの接続時間が短縮されるという効果を奏する。
【０１０８】
第７の発明によれば、代替サーバは負荷を測定する負荷状況監視手段を有し、通信サーバは上記負荷測定手段により得られた全ての代替サーバの負荷情報を収集する負荷情報収集手段と、この負荷情報収集手段によって得られた全ての代替サーバの負荷情報の内から最も負荷の少ない代替サーバを選択する代替サーバ選択手段と、クライアントからの接続要求に対して上記代替サーバ選択手段が選択した代替サーバをクライアントに通知する通知手段と、上記クライアントに対して上記代替サーバへの接続を行うように要求する接続要求手段とを備えたので、システム全体の有効利用、処理能力を最大限に引き上げることが可能であるという効果を奏する。
【０１０９】
第８の発明によれば、代替サーバは負荷を測定する負荷状況監視手段を有し、通信サーバは上記負荷測定手段により得られた全ての代替サーバの負荷情報を収集する負荷情報収集手段と、この負荷情報収集手段によって得られた全ての代替サーバの負荷情報の内から最も負荷の少ない代替サーバを選択する代替サーバ選択手段と、クライアントからの接続要求に対して上記代替サーバ選択手段が選択した代替サーバのネットワーク上のアドレスをクライアントに通知する通知手段と、上記クライアントに対して上記代替サーバへの接続を行うように要求する接続要求手段とを備えたので、システム規模の拡充に対してより少ない代替サーバで対応でき有効な対応が可能になるという効果を奏する。
【０１１０】
第９の発明によれば、通信サーバはクライアントの台数が減少し負荷が低減したら負荷の低減量に応じて代替サーバを優先順位に従って順次停止する代替サーバ停止手段を備えたので、システム構成の変化、拡大、縮小に柔軟に対応できる機能を持つと共にシステム管理の面でも不要なサーバ管理を行う必要がなく簡素化する事が可能であるという効果を奏する。
【０１１１】
第１０の発明によれば、通信サーバは全ての通信サーバと代替サーバの負荷状況をシステム管理者に表示する負荷状況表示手段を備えたので、システム管理者はシステム全体の稼動状況、負荷状況を把握することが可能であるという効果を奏する。
【０１１２】
第１１の発明によれば、通信サーバはシステム管理者が代替サーバの稼動要求、停止要求を行なう管理手段を備えたので、システムのの運用管理、メンテナンスを有効に行なうことができ、システム全体の負荷調整を人為的に行なうことができるという効果を奏する。
【０１１３】
第１２の発明によれば、ネットワークが中継装置を介して複数ＬＡＮから構成される場合、又は広域網を介して構成される場合、クライアントをそのネットワークアドレス情報で管理し、クライアントからの接続要求に対して最も負荷の少ない代替サーバを選択する代わりに同一ネットワークアドレス内に代替サーバが存在すればそちらを優先して選択する手段を備えたので、ネットワークシステムが料金課金のある広域網を介している際に、不要な通信コストを発生させないようにする事、及び不要なネットワーク経路を通りシステム全体の処理性能を低下させない事が可能であるという効果を奏する。
【０１１４】
第１３の発明によれば、同一ネットワークアドレス内に代替サーバが複数存在する場合には、その代替サーバの負荷状況を調べ、最も負荷の少ない代替サーバを選択する手段を備えたので、不要な通信コストを発生させず、かつより有効な資源利用が可能であるという効果を奏する。
【０１１５】
第１４の発明によれば、通信サーバのクライアント処理の過負荷が発生した場合だけでなく、通信サーバのホスト計算機接続回線に異常が発生した場合にも代替サーバにバックアップシステムとしての処理を行なわせるので、通信サーバに接続されているホスト回線に異常が発生した際にもシステム処理を継続できるという効果を奏する。
【図面の簡単な説明】
【図１】  この発明の一実施例を示すホスト連携型クライアント・サーバ・システムにおける通信サーバのシステム構成図である。
【図２】  この発明の一実施例を示す通信サーバからの要求により設置される代替サーバのシステム構成図である。
【図３】  この発明の一実施例を示すホスト連携側クライアント・サーバ・システムのネットワーク構成図である。
【図４】  この発明の一実施例を示す通信サーバが保持する定義ファイルのうち、この発明に関連する定義情報を示す図である。
【図５】  この発明の一実施例を示す通信サーバの時間計測／負荷監視プログラムが時間情報の採取と計測、及びサーバ管理プログラムへの負荷状況の報告方法を示す図である。
【図６】  この発明の一実施例を示す通信サーバから代替サーバとなる計算機への代替サーバ設置要求の通信シーケンス、及び代替サーバから通信サーバへの負荷情報、クライアント情報通知の通信シーケンスを示す図である。
【図７】  この発明の一実施例を示すクライアントから通信サーバへ接続要求を行う方法、通信サーバからクライアントへ代替サーバのアドレスを通知する方法を示す図である。
【図８】  この発明の一実施例を示す代替サーバの機能停止方法を示す通信シーケンス図である。
【図９】  この発明の一実施例を示すネットワークシステムが広域網を介して構築されている例を示す図である。
【図１０】  この発明の一実施例を示す実施例６の定義ファイル１７の記述例を示した図である。
【図１１】  この発明の一実施例を示す実施例７の定義ファイル１７の内容を示す図である。
【図１２】  この発明の一実施例を示す実施例９の定義ファイル１７の内容を示す図である。
【図１３】  従来例のホスト連携側クライアント・サーバ・システムのネットワーク構成を示す図である。
【図１４】  従来のホスト連携型クライアント・サーバ・システムにおける通信サーバ１９の構成を示す通信サーバ構成図である。
【符号の説明】
１  通信サーバ計算機本体
１ｂ  代替サーバ計算機本体
２  オペレーティング・システム
３  通信制御プログラム
４  クライアント制御プログラム
５  ＬＡＮ制御プログラム
６  回線制御プログラム
７  ＬＡＮ制御装置
８  回線制御装置
９  ＬＡＮ（ローカル・エリア・ネットワーク）
９ａ  ネットワークＡのＬＡＮ（ローカル・エリア・ネットワーク）
９ｂ  ネットワークＢのＬＡＮ（ローカル・エリア・ネットワーク）
９ｃ  ネットワークＣのＬＡＮ（ローカル・エリア・ネットワーク）
１０  通信回線（ホスト接続回線）
１００  広域網
１０１  広域網
１１  クライアント
１１ａ  ネットワークＡのクライアント
１１ｂ  ネットワークＢのクライアント
１１ｃ  ネットワークＣのクライアント
１１ｄ  ネットワークＤのクライアント
１２  サーバ制御プログラム
１３  時間計測／負荷監視プログラム
１４  管理ユーティリティ
１５  時間情報採取機能
１６  サーバ情報データベース
１７  定義ファイル
１８  ホスト計算機
１９  通信サーバ
１９ａ  ネットワークＡの通信サーバ
２０  代替サーバ
２０ａ  ネットワークＡの代替サーバ
２０ｂ  ネットワークＢの代替サーバ
２０ｃ  ネットワークＣの代替サーバ
２１ａ  ネットワーク・アドレスＡを持つネットワークＡ
２１ｂ  ネットワーク・アドレスＢを持つネットワークＢ
２１ｃ  ネットワーク・アドレスＣを持つネットワークＣ
２１ｄ  ネットワーク・アドレスＤを持つネットワークＤ
【図１】
0003692571.tif 000002
【図２】
0003692571.tif 000003
【図３】
0003692571.tif 000004
【図４】
0003692571.tif 000005
【図５】
0003692571.tif 000006
【図６】
0003692571.tif 000007
【図７】
0003692571.tif 000008
【図８】
0003692571.tif 000009
【図９】
0003692571.tif 000010
【図１０】
0003692571.tif 000011
【図１１】
0003692571.tif 000012
【図１２】
0003692571.tif 000013
【図１３】
0003692571.tif 000014
【図１４】
0003692571.tif 000015