(57)【特許請求の範囲】
【請求項１】
ネットワークを介して接続可能な複数のサーバ装置と複数のクライアント装置と管理サーバ装置とを有するサーバ・クライアント・システムであって、
前記管理サーバ装置は、
前記各サーバ装置から送信された各サーバ装置の負荷情報を、当該各サーバ装置の接続情報に対応付けてなる接続情報リストとして管理する接続情報管理手段を備え、
前記サーバ装置は、
前記クライアント装置との接続に伴い変化する負荷情報を前記管理サーバ装置へ送信する負荷情報送信手段と、
前記管理サーバ装置の前記接続情報管理手段により管理される接続情報リストを取得する接続情報取得手段と、
この接続情報取得手段により取得された接続情報リストを前記クライアント装置へ送信する接続情報送信手段とを備え、
前記クライアント装置は、
前記サーバ装置の接続情報送信手段により送信された接続情報リストを受信して記憶する接続情報記憶手段と、
前記各サーバ装置の何れかに接続する際に、前記接続情報記憶手段により記憶された接続情報リストに基づき、負荷の小さいサーバ装置の接続情報を読み出し、この読み出された接続情報に応じたサーバ装置と接続するサーバ接続手段とを備えた、
ことを特徴とするサーバ・クライアント・システム。
【請求項２】
前記サーバ装置の接続情報取得手段は、接続中のクライアント装置からの切断要求に伴い、前記管理サーバ装置の前記接続情報管理手段により管理される接続情報リストを取得し、
前記サーバ装置の接続情報送信手段は、前記接続情報取得手段により取得された接続情報リストを前記切断要求元のクライアント装置へ送信する、
ことを特徴とする請求項１に記載のサーバ・クライアント・システム。
【請求項３】
前記クライアント装置のサーバ接続手段は、
前記各サーバ装置の何れかに接続する際に、前記接続情報記憶手段により記憶された接続情報リストにある各サーバ装置の接続情報を、負荷の小さいサーバ装置の順に並べ替える接続情報並び替え手段を有し、
この接続情報並び替え手段により並び替えられた接続情報の順に接続可能なサーバ装置と接続する、
ことを特徴とする請求項１に記載のサーバ・クライアント・システム。
【請求項４】
前記複数のサーバ装置は、それぞれ特定のアプリケーションに対応したものであって、
前記管理サーバ装置の接続情報管理手段は、前記各サーバ装置から送信された各サーバ装置の負荷情報を、当該各サーバ装置の接続情報とアプリケーションの種類に対応付けてなる接続情報リストを管理し、
前記クライアント装置のサーバ接続手段は、ユーザ操作に応じて指定されたアプリケーションに対応したサーバ装置に接続する際に、前記接続情報記憶手段により記憶された接続情報リストに基づき、前記指定されたアプリケーションの種類に対応するところの各サーバ装置で負荷の小さい接続情報に応じたサーバ装置と接続する、
ことを特徴とする請求項１に記載のサーバ・クライアント・システム。
【請求項５】
前記管理サーバ装置は、前記複数のサーバ装置のうち何れかのサーバ装置が兼ねることを特徴とする請求項１ないし請求項４の何れか１項に記載のサーバ・クライアント・システム。
【請求項６】
ネットワークを介して接続可能な複数のサーバ装置と複数のクライアント装置と管理サーバ装置とを有するサーバ・クライアント・システムのコンピュータを制御するためのプログラムであって、
前記管理サーバ装置のコンピュータを、
前記各サーバ装置から送信された各サーバ装置の負荷情報を、当該各サーバ装置の接続情報に対応付けてなる接続情報リストとしてメモリにて管理する接続情報管理手段、
前記サーバ装置のコンピュータを、
前記クライアント装置との接続に伴い変化する負荷情報を前記管理サーバ装置へ送信する負荷情報送信手段、
前記管理サーバ装置の前記接続情報管理手段により管理される接続情報リストを取得する接続情報取得手段、
この接続情報取得手段により取得された接続情報リストを前記クライアント装置へ送信する接続情報送信手段、
前記クライアント装置のコンピュータを、
前記サーバ装置の接続情報送信手段により送信された接続情報リストを受信してメモリに記憶する接続情報記憶手段、
前記各サーバ装置の何れかに接続する際に、前記接続情報記憶手段により記憶された接続情報リストに基づき、負荷の小さいサーバ装置の接続情報を読み出し、
この読み出された接続情報に応じたサーバ装置と接続するサーバ接続手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを介した複数のサーバ装置と複数のクライアント装置とを備え、クライアント装置から適宜サーバ装置へと接続して処理を実行するためのサーバ・クライアント・システムおよびその制御プログラムに関する。
【背景技術】
【０００２】
従来から、社内のネットワーク（ＬＡＮ）やインターネットなどの広域のネットワーク（ＷＡＮ）において、様々な形態のサーバ・クライアント・システムが構築され運用されている。
【０００３】
このサーバ・クライアント・システムでは、複数のユーザ端末（クライアント装置）から適宜サーバ装置へアクセスし、当該サーバ装置で実行されるアプリケーションのサービスを受けたり、同サーバ装置で管理されるデータベースから種々の情報を取得したりすることが可能である。
【０００４】
サーバ装置は、ネットワーク上の複数のクライアント装置からのアクセスを受け、当該クライアント装置に対して種々のアプリケーション等による処理を提供するものである。このため、特定のサーバ装置へアクセスが集中して重い負荷が加わりその処理が滞ってしまうと、このサーバ装置を利用している全てのクライアント装置が所望の作業を円滑に遂行できないことになり、大きな悪影響を及ぼしてしまう。
【０００５】
そこで、ネットワーク上にある複数のサーバ装置の動作状態を統括して管理する管理サーバ装置を設置する。クライアント装置がサーバ装置へアクセスする場合は、先ずこの管理サーバ装置に接続する。そして、管理サーバ装置が、不具合の生じていないサーバ装置や重い負荷が生じていないサーバ装置の接続先をクライアント装置へ通知することで、当該クライアント装置は、通知されたサーバ装置と接続して処理を円滑に遂行することができる、負荷分散型のシンクライアント用サーバシステムが考えられている（例えば、特許文献１参照。）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００６−２０９６０９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、前記従来の負荷分散型のシンクライアント用サーバシステムでは、クライアント装置がサーバ装置へアクセスする際には、何れのクライアント装置も、その都度管理サーバ装置へアクセスし、負荷の少ないサーバ装置を通知して貰って当該サーバ装置と接続する。
【０００８】
このため、特に、ネットワーク上に多数のクライアント装置が存在する場合や複数のクライアント装置からサーバ装置へのアクセスが同時期に集中する場合など、管理サーバ装置（特定のサーバ装置）への負荷が集中してしまい、実際に作業を行うためのサーバ装置と接続する処理が滞ってしまう。
【０００９】
本発明は、このような課題に鑑みなされたもので、クライアント装置がサーバ装置へのアクセスを開始する際に、特定のサーバ装置への接続を必要とすることなく、負荷分散されたサーバ装置へ適切に接続することが可能になるサーバ・クライアント・システムおよびその制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
請求項１に記載のサーバ・クライアント・システムは、ネットワークを介して接続可能な複数のサーバ装置と複数のクライアント装置と管理サーバ装置とを有するサーバ・クライアント・システムであって、前記管理サーバ装置は、前記各サーバ装置から送信された各サーバ装置の負荷情報を、当該各サーバ装置の接続情報に対応付けてなる接続情報リストとして管理する接続情報管理手段を備え、前記サーバ装置は、前記クライアント装置との接続に伴い変化する負荷情報を前記管理サーバ装置へ送信する負荷情報送信手段と、前記管理サーバ装置の前記接続情報管理手段により管理される接続情報リストを取得する接続情報取得手段と、この接続情報取得手段により取得された接続情報リストを前記クライアント装置へ送信する接続情報送信手段とを備え、前記クライアント装置は、前記サーバ装置の接続情報送信手段により送信された接続情報リストを受信して記憶する接続情報記憶手段と、前記各サーバ装置の何れかに接続する際に、前記接続情報記憶手段により記憶された接続情報リストに基づき、負荷の小さいサーバ装置の接続情報を読み出し、この読み出された接続情報に応じたサーバ装置と接続するサーバ接続手段とを備えた、ことを特徴としている。
【００１１】
請求項２に記載のサーバ・クライアント・システムは、前記請求項１に記載のサーバ・クライアント・システムにおいて、前記サーバ装置の接続情報取得手段は、接続中のクライアント装置からの切断要求に伴い、前記管理サーバ装置の前記接続情報管理手段により管理される接続情報リストを取得し、前記サーバ装置の接続情報送信手段は、前記接続情報取得手段により取得された接続情報リストを前記切断要求元のクライアント装置へ送信する、ことを特徴としている。
【００１２】
請求項３に記載のサーバ・クライアント・システムは、前記請求項１に記載のサーバ・クライアント・システムにおいて、前記クライアント装置のサーバ接続手段は、前記各サーバ装置の何れかに接続する際に、前記接続情報記憶手段により記憶された接続情報リストにある各サーバ装置の接続情報を、負荷の小さいサーバ装置の順に並べ替える接続情報並び替え手段を有し、この接続情報並び替え手段により並び替えられた接続情報の順に接続可能なサーバ装置と接続する、ことを特徴としている。
【００１３】
請求項４に記載のサーバ・クライアント・システムは、前記請求項１に記載のサーバ・クライアント・システムにおいて、前記複数のサーバ装置は、それぞれ特定のアプリケーションに対応したものであって、前記管理サーバ装置の接続情報管理手段は、前記各サーバ装置から送信された各サーバ装置の負荷情報を、当該各サーバ装置の接続情報とアプリケーションの種類に対応付けてなる接続情報リストを管理し、前記クライアント装置のサーバ接続手段は、ユーザ操作に応じて指定されたアプリケーションに対応したサーバ装置に接続する際に、前記接続情報記憶手段により記憶された接続情報リストに基づき、前記指定されたアプリケーションの種類に対応するところの各サーバ装置で負荷の小さい接続情報に応じたサーバ装置と接続する、ことを特徴としている。
【００１４】
請求項５に記載のサーバ・クライアント・システムは、前記請求項１ないし請求項４の何れか１項に記載のサーバ・クライアント・システムにおいて、前記管理サーバ装置は、前記複数のサーバ装置のうち何れかのサーバ装置が兼ねることを特徴としている。
【００１５】
請求項６に記載のプログラムは、ネットワークを介して接続可能な複数のサーバ装置と複数のクライアント装置と管理サーバ装置とを有するサーバ・クライアント・システムのコンピュータを制御するためのプログラムであって、前記管理サーバ装置のコンピュータを、前記各サーバ装置から送信された各サーバ装置の負荷情報を、当該各サーバ装置の接続情報に対応付けてなる接続情報リストとしてメモリにて管理する接続情報管理手段、前記サーバ装置のコンピュータを、前記クライアント装置との接続に伴い変化する負荷情報を前記管理サーバ装置へ送信する負荷情報送信手段、前記管理サーバ装置の前記接続情報管理手段により管理される接続情報リストを取得する接続情報取得手段、この接続情報取得手段により取得された接続情報リストを前記クライアント装置へ送信する接続情報送信手段、前記クライアント装置のコンピュータを、前記サーバ装置の接続情報送信手段により送信された接続情報リストを受信してメモリに記憶する接続情報記憶手段、前記各サーバ装置の何れかに接続する際に、前記接続情報記憶手段により記憶された接続情報リストに基づき、負荷の小さいサーバ装置の接続情報を読み出し、この読み出された接続情報に応じたサーバ装置と接続するサーバ接続手段、として機能させることを特徴としている。
【発明の効果】
【００１６】
本発明によれば、クライアント装置がサーバ装置へのアクセスを開始する際に、特定のサーバ装置への接続を必要とすることなく、負荷分散されたサーバ装置へ適切に接続することが可能になるサーバ・クライアント・システムおよびその制御プログラムを提供できる。
【図面の簡単な説明】
【００１７】
【図１】本発明のサーバ・クライアント・システムの実施形態に係るＳＢＣ(Server Based Computing)システムの構成を示すブロック図。
【図２】前記ＳＢＣシステムにおけるサーバ装置（１）１０Ａ，（２）１０Ｂ，…の回路構成を示すブロック図。
【図３】前記ＳＢＣシステムにおけるクライアント装置（１）２０Ａ，…，（ｎ）２０ｎの回路構成を示すブロック図。
【図４】前記ＳＢＣシステムの接続情報管理サーバ装置１０Ｍにより管理される第１実施形態の接続情報リストＬｃの内容を示す図。
【図５】前記ＳＢＣシステムのサーバ装置（１）１０Ａ，（２）１０Ｂ，…による第１実施形態のサーバ処理を示すフローチャート。
【図６】前記ＳＢＣシステムのクライアント装置（１）２０Ａ，…，（ｎ）２０ｎによる第１実施形態のクライアント処理を示すフローチャート。
【図７】前記ＳＢＣシステムの接続情報管理サーバ装置１０Ｍにより管理される第２実施形態の接続情報リストＬｃ′の内容を示す図。
【図８】前記ＳＢＣシステムのサーバ装置（１）１０Ａ，（２）１０Ｂ，…による第２実施形態のサーバ処理を示すフローチャート。
【図９】前記ＳＢＣシステムのクライアント装置（１）２０Ａ，…，（ｎ）２０ｎによる第２実施形態のクライアント処理を示すフローチャート。
【発明を実施するための形態】
【００１８】
以下図面により本発明の実施の形態について説明する。
【００１９】
（第１実施形態）
図１は、本発明のサーバ・クライアント・システムの実施形態に係るＳＢＣ(Server Based Computing)システムの構成を示すブロック図である。
【００２０】
このＳＢＣシステムは、有線または無線のＬＡＮ(Local Area Network)やＷＡＮ(Wide Area Network)からなるネットワークＮ上に接続された複数のサーバ装置（１）１０Ａ，（２）１０Ｂ，…および複数のクライアント装置(Thin client)（１）２０Ａ，…，（ｎ）１０ｎを備える。
【００２１】
各サーバ装置（１）１０Ａ，（２）１０Ｂ，…には、共通の接続情報管理サーバ装置１０Ｍが接続される。この管理サーバ装置１０Ｍは、各サーバ装置（１）１０Ａ，（２）１０Ｂ，…のサーバ名、ＩＰアドレスに対応付けて、それぞれその最新の負荷情報（ＣＰＵ負荷率／クライアント装置の接続台数／接続中の各クライアント装置の表示解像度など）を記録した接続情報リストＬｃ（図４参照）の接続情報ＤＢ１０Ｍｄを有する。
【００２２】
サーバ装置（１）１０Ａ，（２）１０Ｂ，…は、何れも同じＷｅｂブラウザプログラム，メール処理プログラム，テキスト作成処理プログラムなど、複数のアプリケーションプログラムを有し、当該サーバ装置（１）１０Ａ，（２）１０Ｂ，…に接続されたクライアント装置（１）２０Ａ，…，（ｎ）２０ｎからの操作入力（入力イベント）信号に応じて起動しその処理を実行する。
【００２３】
このサーバ装置（１）１０Ａ，（２）１０Ｂ，…において、クライアント装置（１）２０Ａ，…，（ｎ）２０ｎからの操作入力信号に応じたアプリケーションプログラムの実行に伴い、クライアント用仮想フレームバッファ１５（図２参照）上に描画生成された表示出力用の画面データＧは、アクセス元のクライアント装置（１）２０Ａ，…，（ｎ）２０ｎへ転送される。
【００２４】
そして、クライアント装置（１）２０Ａ，…，（ｎ）２０ｎでは、前記サーバ装置（１）１０Ａ，（２）１０Ｂ，…から転送された画面データＧがフレームバッファ２４（図３参照）に展開され、表示装置２５の表示画面に表示される。
【００２５】
つまり、このＳＢＣシステムにおける各クライアント装置(Thin client)（１）２０Ａ，…，（ｎ）２０ｎは、何れもキーボードやマウスなどのユーザ操作に応じた入力機能とＬＣＤ表示部及びプリンタなどへの出力機能を主要な機能として有し、少なくとも前記サーバ装置（１）１０Ａ，（２）１０Ｂ，…が有している各種のアプリケーション機能やデータファイルの管理機能を持っていない。
【００２６】
そして、クライアント装置（１）２０Ａ，…，（ｎ）２０ｎからの操作入力信号に応じてサーバ装置（１）１０Ａ，（２）１０Ｂ，…にて起動実行される各種の処理に伴い生成されたデータファイルは、基本的には、当該サーバ装置（１）１０Ａ，（２）１０Ｂ，…内あるいは該サーバ装置（１）１０Ａ，（２）１０Ｂ，…に共通に接続されて管理されるファイルサーバ（図示せず）にユーザアカウント毎あるいは共有ファイルとして記憶され保存される。
【００２７】
なお、前記接続情報ＤＢ１０Ｍｄは、接続情報管理サーバ装置１０Ｍによって専用に管理するのではなく、各サーバ装置（１）１０Ａ，（２）１０Ｂ，…の何れかによって兼用で管理する構成としてもよい。
【００２８】
図２は、前記ＳＢＣシステムにおけるサーバ装置（１）１０Ａ，（２）１０Ｂ，…の回路構成を示すブロック図である。
【００２９】
ここでは、サーバ装置１０として説明する。
【００３０】
サーバ装置１０は、コンピュータとしてのＣＰＵ１１を備え、このＣＰＵ１１には、バス１２を介してＨＤＤ１３、メモリ１４、仮想フレームバッファ１５、ネットワーク制御部１６が接続される。
【００３１】
ＣＰＵ１１は、ＨＤＤ１３に予め記憶されているシステムプログラムや種々のアプリケーションプログラム、あるいは外部から読み込まれてＨＤＤ１３に記憶されたプログラムなどのサーバ制御プログラムＰＲｓに従ってメモリ１４を作業領域とし回路各部の動作を制御するもので、ネットワーク制御部１６を介して受信されるクライアント装置（１）２０Ａ，…，（ｎ）２０ｎからのユーザ操作に応じた入力イベント信号、前記接続情報管理サーバ装置１０Ｍからの情報受信信号などに応じて前記種々のプログラムが起動・実行される。
【００３２】
このサーバ装置１０において、クライアント装置（１）２０Ａ，…，（ｎ）２０ｎからの入力イベント信号に応じて起動・実行されるアプリケーションプログラムに従いメモリ１４を使用して生成された種々のデータは、例えばそのユーザＩＤに対応付けられてＨＤＤ１３に記憶される。またクライアント表示用の画面データＧは、仮想フレームバッファ１５を使用して生成された後、圧縮処理されて、ネットワーク制御部１６からイベント入力元のクライアント装置（１）２０Ａ，…，（ｎ）２０ｎへ転送されて表示出力される。
【００３３】
なお、このサーバ装置１０のメモリ１４の接続情報エリア１４ａには、当該サーバ装置１０自身の現在の負荷情報（ＣＰＵ負荷率／クライアント装置の接続台数／接続中の各クライアント装置の表示解像度など）を記録した接続情報が記憶され、また、クライアント装置（１）２０Ａ，…，（ｎ）２０ｎとのアクセスに応じて、前記接続情報管理サーバ装置１０Ｍの接続情報ＤＢ１０Ｍｄから各サーバ装置（１）１０Ａ，（２）１０Ｂ，…に対応した接続情報リストＬｃ（図４参照）が取得されて記憶される。
【００３４】
図３は、前記ＳＢＣシステムにおけるクライアント装置（１）２０Ａ，…，（ｎ）２０ｎの回路構成を示すブロック図である。
【００３５】
ここでは、クライアント装置２０として説明する。
【００３６】
クライアント装置２０は、コンピュータとしてのＣＰＵ２１を備え、このＣＰＵ２１には、バス２２を介してメモリ２３、フレームバッファ２４が接続される。そして、このフレームバッファ２４に書き込まれた画面データＧが表示装置２５に出力されて表示される。
【００３７】
また、ＣＰＵ２１には、バス２２を介してキーボード，マウスなどの入力装置（Ｉ／Ｏ）２６が接続され、さらに、前記サーバ装置（１）１０Ａ，（２）１０Ｂ，…とネットワークＮを介して通信するためのネットワーク制御部２７が接続される。
【００３８】
ＣＰＵ２１は、メモリ２３に予め記憶されるか、あるいは外部からメモリ２３に読み込まれたクライアント制御プログラムＰＲｃに従って当該メモリ２３を作業用メモリとし回路各部の動作を制御するもので、入力装置（Ｉ／Ｏ）２６からのキー入力信号やマウス移動信号、ネットワーク制御部２７を介して受信されるサーバ装置（１）１０Ａ，（２）１０Ｂ，…からのアプリケーション応答信号や転送画面データＧなどに応じて前記クライアント制御プログラムＰＲｃが起動され実行される。
【００３９】
このクライアント装置２０において、前記サーバ装置（１）１０Ａ，（２）１０Ｂ，…におけるアプリケーションプログラムを実行させて生成した種々のデータは、適宜、メモリ２３に読み込ませて記憶させ、また生成転送された表示用の画面データＧは、その圧縮が解凍されてフレームバッファ２４に書き込まれ表示装置２５で表示出力される。
【００４０】
なお、このクライアント装置２０のメモリ２３の接続情報エリア２３ａには、直前に接続されたサーバ装置１０との切断に伴い、当該サーバ装置１０を介して前記接続情報管理サーバ装置１０Ｍの接続情報ＤＢ１０Ｍｄから各サーバ装置（１）１０Ａ，（２）１０Ｂ，…に対応した接続情報リストＬｃ（図４参照）が取得され記憶される。
【００４１】
図４は、前記ＳＢＣシステムの接続情報管理サーバ装置１０Ｍにより管理される第１実施形態の接続情報リストＬｃの内容を示す図である。
【００４２】
この接続情報リストＬｃには、ネットワークＮ上にある各サーバ装置（１）１０Ａ，（２）１０Ｂ，…のサーバ名、ＩＰアドレスに対応付けて、それぞれそのサーバ装置（１）１０Ａ，（２）１０Ｂ，…の最新の負荷情報（ＣＰＵ負荷率／クライアント装置の接続台数／接続中の各クライアント装置の表示解像度など）が、各サーバ装置（１）１０Ａ，（２）１０Ｂ，…自身からの更新処理に伴い記録される。
【００４３】
なお、前記サーバ装置（１）１０Ａ，（２）１０Ｂ，…の負荷情報としては、接続中のクライアント装置（１）２０Ａ，…，（ｎ）２０ｎからの入力イベント信号に応じて起動・実行中のアプリケーションプログラムのプロセス数を含めてもよい。
【００４４】
このようなＳＢＣシステムにおいて、サーバ装置（１）１０Ａ，（２）１０Ｂ，…は、ＣＰＵ１１がサーバ制御プログラムＰＲｓに記述された命令に従い回路各部の動作を制御し、ソフトウエアとハードウエアとが協働して動作することにより、少なくとも次の４つの機能(As)〜(Ds)を有する。
【００４５】
サーバ制御プログラムＰＲｓは、その全部又は一部を、ＨＤＤ１３に予め記憶させてもよいし、メモリカードやＣＤ，ＤＶＤなどの持ち運び可能な外部の記憶媒体から読み込んでＨＤＤ１３に記憶させてもよいし、外部のＷｅｂサーバ（プログラムサーバ）から通信ネットワークＮを介してダウンロードしＨＤＤ１３に記憶させてもよい。
【００４６】
(As)  クライアント装置２０との接続が確立された場合に、これに伴う負荷情報（クライアント装置の接続台数［＋１］／接続されたクライアント装置２０の画面データＧを生成するための表示解像度［幅＊高さ＊色数］追加）を、接続情報管理サーバ装置１０Ｍへ送信してＤＢ１０Ｍｄ内の接続情報リストＬｃを更新する機能。
【００４７】
(Bs)  接続中のクライアント装置２０からの入力イベント信号に応じたアプリケーションプログラムの実行に伴い逐次変動する負荷情報（ＣＰＵ負荷率／実行中のプロセス数など）を、接続情報管理サーバ装置１０Ｍへ送信してＤＢ１０Ｍｄ内の接続情報リストＬｃを更新する機能。
【００４８】
(Cs)  クライアント装置２０と切断される場合に、これに伴う負荷情報（クライアント装置の接続台数［−１］／切断されるクライアント装置２０の画面データＧを生成するための表示解像度［幅＊高さ＊色数］削除）を、接続情報管理サーバ装置１０Ｍへ送信してＤＢ１０Ｍｄ内の接続情報リストＬｃを更新する機能。
【００４９】
(Ds)  機能(Cs)にて更新された接続情報リストＬｃを、接続情報管理サーバ装置１０ＭのＤＢ１０Ｍｄから取得し、切断されるクライアント装置２０へ送信する機能。
【００５０】
また、このようなＳＢＣシステムにおいて、クライアント装置（１）２０Ａ，…，（ｎ）２０ｎは、ＣＰＵ２１がクライアント制御プログラムＰＲｃに記述された命令に従い回路各部の動作を制御し、ソフトウエアとハードウエアとが協働して動作することにより、少なくとも次の４つの機能(Ac)〜(Dc)を有する。
【００５１】
クライアント制御プログラムＰＲｃは、その全部又は一部を、メモリ２３に予め記憶させてもよいし、メモリカードやＣＤ，ＤＶＤなどの持ち運び可能な外部の記憶媒体から読み込んでメモリ２３に記憶させてもよいし、外部のＷｅｂサーバ（プログラムサーバ）から通信ネットワークＮを介してダウンロードしメモリ２３に記憶させてもよい。
【００５２】
(Ac)  サーバ装置（１）１０Ａ，（２）１０Ｂ，…と接続する場合に、メモリ２３の接続情報エリア２３ａに記憶された接続情報リストＬｃを読み出し、当該接続情報リストＬｃに記録された各サーバ装置（１）１０Ａ，（２）１０Ｂ，…の順位を、それぞれその負荷情報（接続中のクライアント装置の表示解像度の総和）の小さい順に並び替える機能。
【００５３】
(Bc)  機能(Ac)にて並び替えられた接続情報リストＬｃに基づき、その負荷情報の中のＣＰＵ負荷率が小さく且つ表示解像度の総和が小さいところのサーバ装置１０のＩＰアドレスを読み込む機能。
【００５４】
(Cc)  機能(Bc)にて読み込まれたサーバ装置１０のＩＰアドレスに応じて当該サーバ装置１０と接続する機能。
【００５５】
(Dc)  サーバ装置（１）１０Ａ，（２）１０Ｂ，…と切断する場合に、当該切断対象のサーバ装置１０を介して受信された最新の接続情報リストＬｃを、メモリ２３内の接続情報エリア２３ａに書き替えて記憶する機能。
【００５６】
これにより、クライアント装置（１）２０Ａ，…，（ｎ）２０ｎは、サーバ装置（１）１０Ａ，（２）１０Ｂ，…へのアクセスを開始する際に、接続情報管理サーバ装置１０Ｍへ接続する必要無しに、負荷分散されたサーバ装置（１）１０Ａ，（２）１０Ｂ，…へ適切に接続することが可能になる。
【００５７】
次に、前記構成のＳＢＣシステムの動作について説明する。
【００５８】
図５は、前記ＳＢＣシステムのサーバ装置（１）１０Ａ，（２）１０Ｂ，…による第１実施形態のサーバ処理を示すフローチャートである。
【００５９】
ここでは、サーバ装置１０、クライアント装置２０として説明する。
【００６０】
サーバ装置１０において、クライアント装置２０から接続要求が受信されるのに伴い、例えばメモリ１４に記憶されている本サーバ装置１０の登録ユーザ情報に基づき、前記接続要求元のクライアント装置２０について認証ＯＫと判断されると（ステップＳ１（Ｙｅｓ））、当該クライアント装置２０とのネゴシエーションに伴い、クライアント用の画面データＧを生成するための表示装置２５の表示サイズ（幅、高さ、色数）が取得される（ステップＳ２）。
【００６１】
また、本サーバ装置１０に対するクライアント装置２０の接続台数が＋１カウントされ（ステップＳ３）、並列接続可能な許容範囲内の接続台数であるか否か判断される（ステップＳ４）。
【００６２】
ここで、並列接続可能な許容範囲内のクライアント装置２０…の接続台数であると判断されると（ステップＳ４（Ｙｅｓ））、前記ステップＳ２にて取得された今回の接続元のクライアント装置２０の表示サイズ（幅、高さ、色数）、および前記ステップＳ３にてカウントされた現在のクライアント装置２０…の接続台数が、本サーバ装置１０の負荷情報として接続情報管理サーバ装置１０Ｍへ送信され、接続情報ＤＢ１０Ｍｄに記憶されている接続情報リストＬｃ（図４参照）の中の該当するサーバ名に対応するところの負荷情報が更新される（ステップＳ５）。
【００６３】
そして、接続されたクライアント装置２０から入力イベント信号が受信されると、その都度、当該入力イベントに応じたアプリケーションプログラムの実行に伴い、同クライアント装置２０の表示サイズ（幅、高さ、色数）に応じた画面データＧが仮想フレームバッファ１５に生成され、同クライアント装置２０へ転送されて表示される（ステップＳ６）。
【００６４】
すると、このシンクライアントサーバ処理（ステップＳ６）が実行される都度、ＣＰＵ１１の動作状態に基づき検出されるＣＰＵ負荷率（及び（又は）実行プロセス数）が、本サーバ装置１０の負荷情報として接続情報管理サーバ装置１０Ｍへ送信され、接続情報ＤＢ１０Ｍｄに記憶されている接続情報リストＬｃ（図４参照）の中の該当するサーバ名に対応するところの負荷情報が更新される（ステップＳ７）。
【００６５】
この後、接続中のクライアント装置２０から切断要求が受信されると（ステップＳ８（Ｙｅｓ））、当該切断要求元のクライアント装置２０に関する負荷情報（表示解像度／接続台数）の削除要求が、接続情報管理サーバ装置１０Ｍへ送信され、接続情報ＤＢ１０Ｍｄに記憶されている接続情報リストＬｃ（図４参照）の中の該当するサーバ名に対応するところの負荷情報のうち、同クライアント装置２０の表示解像度（幅＊高さ＊色数）が削除されると共に、接続台数が−１カウントされて更新される（ステップＳ９）。
【００６６】
すると、前記クライアント装置２０の切断要求に伴い更新された接続情報リストＬｃ（図４参照）が、接続情報管理サーバ装置１０Ｍを介して取得され、メモリ１４内の接続情報エリア１４ａに一時記憶されると共に、同切断要求元のクライアント装置２０へ送信される（ステップＳ１０）。
【００６７】
そして、前記切断要求元のクライアント装置２０への前記更新された接続情報リストＬｃ（図４参照）の送信処理が完了すると（ステップＳ１１（Ｙｅｓ））、同クライアント装置２０との切断処理が実行され（ステップＳ１２）、前記クライアント装置２０からの接続／切断に伴う一連のサーバ処理が終了される（ステップＳ１３（Ｙｅｓ）→終了）。
【００６８】
図６は、前記ＳＢＣシステムのクライアント装置（１）２０Ａ，…，（ｎ）２０ｎによる第１実施形態のクライアント処理を示すフローチャートである。
【００６９】
ここでは、サーバ装置１０、クライアント装置２０として説明する。
【００７０】
クライアント装置２０が起動されると、メモリ２３内の接続情報エリア２３ａに記憶されている接続情報リストＬｃ（図４参照）について、更新があったか否（デフォルト設定のまま）かがそのフラグに基づき判断される（ステップＣ１）。
【００７１】
ここで、本クライアント装置２０の起動が初回であって、接続情報エリア２３ａ内の接続情報リストＬｃについて、デフォルト設定の状態にあり更新されてないと判断されると（ステップＣ１（Ｎｏ））、当該デフォルト設定されている接続情報リストＬｃが読み込まれ、予め設定されたサーバ装置１０のＩＰアドレスが読み込まれる（ステップＣ２）。
【００７２】
一方、本クライアント装置２０の起動が２回目以降であって、接続情報エリア２３ａ内の接続情報リストＬｃについて更新があったと判断されると（ステップＣ１（Ｙｅｓ））、当該更新された接続情報リストＬｃが読み込まれる（ステップＣ３）。
【００７３】
すると、この接続情報リストＬｃ（図４参照）に記録されている各サーバ装置１０…について、負荷情報における接続中のクライアント装置２０…の表示解像度（幅＊高さ＊色数）の総和が小さい順に並び替えられる（ステップＣ４）。
【００７４】
そして、前記並び替えられた接続情報リストＬｃから、負荷が最も小さい（ＣＰＵ負荷率が小さく且つ接続中のクライアント装置２０…の表示解像度の総和が小さい）ところのサーバ装置１０のＩＰアドレスが読み込まれ、このＩＰアドレスに従ったサーバ装置１０へ接続要求が送信される（ステップＣ５）。
【００７５】
ここで、前記接続要求を送信したサーバ装置１０から一定時間内に認証ＯＫの信号が受信されるか否かにより、当該サーバ装置１０との接続が成功したか否か判断される（ステップＣ６）。
【００７６】
前記接続要求を送信したサーバ装置１０から認証ＯＫの信号が受信されず、当該サーバ装置１０との接続が成功しないと判断されると（ステップＣ６（Ｎｏ））、前記ステップＣ４において並び替えられた接続情報リストＬｃから、次に負荷が小さいところのサーバ装置１０のＩＰアドレスが読み込まれ、このＩＰアドレスに従ったサーバ装置１０へ接続要求が送信される（ステップＣ７（Ｎｏ）→Ｃ５）。
【００７７】
そして、前記接続要求を送信したサーバ装置１０から認証ＯＫの信号が受信され、当該サーバ装置１０との接続が成功したと判断されると（ステップＣ６（Ｙｅｓ））、本クライアント装置２０の表示サイズ（幅、高さ、色数）の送信処理など、所定のネゴシエーション処理が実行される（ステップＣ８）。
【００７８】
そして、ユーザ操作に応じた入力イベント信号がサーバ装置１０へ送信される度に、当該サーバ装置１０で実行されるアプリケーションプログラムに従い生成された表示用の画面データＧが受信され、フレームバッファ２４に描画されて表示装置２５に表示される（ステップＣ９）。
【００７９】
この後、ユーザ操作に応じた処理の終了に伴い、前記サーバ装置１０へ切断要求が送信されると（ステップＣ１０（Ｙｅｓ））、これに応答して当該サーバ装置１０を介して送信された最新の接続情報リストＬｃが受信され、メモリ２３内の接続情報エリア２３ａに記憶され保存される（ステップＣ１１）。
【００８０】
そして、前記切断要求先のサーバ装置１０を介して送信された最新の接続情報リストＬｃの受信が完了したと判断されると（ステップＣ１２（Ｙｅｓ））、同サーバ装置１０との切断処理が実行され（ステップＣ１３）、同サーバ装置１０への接続／切断に伴う一連のクライアント処理が終了される。
【００８１】
したがって、前記構成のＳＢＣシステムの動作に伴う第１実施形態の負荷分散機能によれば、ネットワークＮ上に存在する各サーバ装置１０…の最新の負荷情報（ＣＰＵ負荷率／クライアント装置の接続台数／接続中の各クライアント装置の表示解像度など）を記録した接続情報（サーバ名／ＩＰアドレスなど）のリストＬｃを、当該各サーバ装置１０…に共通に接続された接続情報管理サーバ装置１０ＭのＤＢ１０Ｍｄにより管理する。サーバ装置１０は、クライアント装置２０との切断処理に伴い、前記接続情報管理サーバ装置１０Ｍにて管理される最新の接続情報リストＬｃを取得し、切断対象のクライアント装置２０へ転送する。そして、クライアント装置２０は、サーバ装置１０と接続する場合、前回のサーバ装置１０との切断処理に伴い受信された接続情報リストＬｃに基づき、負荷が小さいところのサーバ装置１０を判断してその接続情報を読み出し、当該サーバ装置１０との接続処理を実行する。
【００８２】
このため、クライアント装置２０は、サーバ装置１０…へのアクセスを開始する際に、特定のサーバ装置（接続情報管理サーバ装置１０Ｍ）へ接続する必要無しに、負荷分散されたサーバ装置１０を適切に選択して接続することが可能になる。
【００８３】
よって、例えばネットワークＮ上に多数のクライアント装置２０…が存在する場合や複数のクライアント装置２０…からサーバ装置１０…へのアクセスが同時期に集中する場合でも、特定のサーバ装置（接続情報管理サーバ装置１０Ｍ）への負荷が集中することはなく、実際に作業を行うためのサーバ装置１０と接続する処理が滞ってしまう不具合が生じることはない。
【００８４】
ＳＢＣシステムでは、特定のサーバ装置１０への負荷集中の防止やセキュリティ性の確保が重要視され、クライアント装置(Thin client)２０…は、特定のサーバ装置１０とユーザ操作のない状態で長時間接続されたままになることはなく、必要に応じた短時間での切断／接続が繰り返される。
【００８５】
このため、クライアント装置２０が、サーバ装置１０との切断処理に伴い最新の接続情報リストＬｃを取得して保存し、次の接続処理に伴い、前記保存された接続情報リストＬｃに基づき負荷の小さいサーバ装置１０を選択して接続する手法は、特に有効である。
【００８６】
（第２実施形態）
この第２実施形態では、各サーバ装置（１）１０Ａ，（２）１０Ｂ，…がそれぞれ特定のアプリケーションプログラムを専用に実行する構成とし、クライアント装置（１）２０Ａ，…，（ｎ）２０ｎは、ユーザが作業したい種類のアプリケーションを指定して、当該指定のアプリケーションを専用に実行するサーバ装置１０へ接続する構成とする。
【００８７】
図７は、前記ＳＢＣシステムの接続情報管理サーバ装置１０Ｍにより管理される第２実施形態の接続情報リストＬｃ′の内容を示す図である。
【００８８】
この接続情報リストＬｃ′には、ネットワークＮ上にある各サーバ装置（１）１０Ａ，（２）１０Ｂ，…のサーバ名、ＩＰアドレス、アプリ名に対応付けて、それぞれそのサーバ装置（１）１０Ａ，（２）１０Ｂ，…の最新の負荷情報（ＣＰＵ負荷率／クライアント装置の接続台数／接続中の各クライアント装置の表示解像度など）が、各サーバ装置（１）１０Ａ，（２）１０Ｂ，…自身からの更新処理に伴い記録される。
【００８９】
図８は、前記ＳＢＣシステムのサーバ装置（１）１０Ａ，（２）１０Ｂ，…による第２実施形態のサーバ処理を示すフローチャートである。
【００９０】
この第２実施形態のサーバ処理において、前記図５における第１実施形態のサーバ処理と同一の処理ステップについては、同一の符号を付してその説明を省略する。
【００９１】
この第２実施形態のサーバ処理では、サーバ装置１０の起動初期において、当該サーバ装置１０自身が実行可能な特定のアプリケーションプログラムのアプリ名を、接続情報管理サーバ装置１０Ｍへ通知し、ＤＢ１０Ｍｄに記憶される接続情報リストＬｃ′（図７参照）の該当するサーバ名に対応付けて設定する（ステップＳ０）。
【００９２】
以降、ステップＳ１〜Ｓ１３については、本サーバ装置１０が実行する特定のアプリ名を指定したクライアント装置２０との接続／切断に伴い、前記第１実施形態と同様のサーバ処理が実行される。
【００９３】
図９は、前記ＳＢＣシステムのクライアント装置（１）２０Ａ，…，（ｎ）２０ｎによる第２実施形態のクライアント処理を示すフローチャートである。
【００９４】
この第２実施形態のクライアント処理において、前記図６における第１実施形態のクライアント処理と同一の処理ステップについては、同一の符号を付してその説明を省略する。
【００９５】
この第２実施形態のクライアント処理では、クライアント装置２０の起動初期において、ユーザが作業したいアプリケーションの種類（アプリ名：例えば「ブラウザ」）が指定される（ステップＣ０）。
【００９６】
そして、ステップＣ１〜Ｃ３に従って、メモリ２３内の接続情報エリア２３ａに記憶されている接続情報リストＬｃ′（図７参照）が読み込まれると、この接続情報リストＬｃ′に記録されている前記指定されたアプリ名「ブラウザ」に対応するところの各サーバ装置（２）１０Ｂ，（４）１０Ｄ，…について、負荷情報における接続中のクライアント装置２０…の表示解像度（幅＊高さ＊色数）の総和が小さい順に並び替えられる（ステップＣ４′）。
【００９７】
そして、前記指定されたアプリ名「ブラウザ」に対応したところで並び替えられた接続情報リストＬｃ′から、負荷が最も小さい（ＣＰＵ負荷率が小さく且つ接続中のクライアント装置２０…の表示解像度の総和が小さい）サーバ装置（例えば（４）１０Ｄ）のＩＰアドレスが読み込まれ、このＩＰアドレスに従ったブラウザ専用のサーバ装置（４）１０Ｄへ接続要求が送信される（ステップＣ５′）。
【００９８】
ここで、前記接続要求を送信したサーバ装置（４）１０Ｄから認証ＯＫの信号が受信されず、接続が成功しないと判断されると（ステップＣ６（Ｎｏ））、前記ステップＣ４′において前記指定のアプリ名「ブラウザ」に対応したところで並び替えられた接続情報リストＬｃ′から、次に負荷が小さいサーバ装置（例えば（２）１０Ｂ）のＩＰアドレスが読み込まれ、このＩＰアドレスに従った別のブラウザ専用のサーバ装置（２）１０Ｂへ接続要求が送信される（ステップＣ７′（Ｎｏ）→Ｃ５′）。
【００９９】
そして、前記接続要求を送信したブラウザ専用のサーバ装置（２）１０Ｂから認証ＯＫの信号が受信され、当該サーバ装置（２）１０Ｂとの接続が成功したと判断されると（ステップＣ６（Ｙｅｓ））、所定のネゴシエーション処理が実行される（ステップＣ８）。
【０１００】
そして、ユーザ操作に応じた入力イベント信号がサーバ装置（２）１０Ｂへ送信される度に、当該ブラウザ専用のサーバ装置（２）１０Ｂで実行されるブラウザプログラムに従い生成された表示用の画面データＧ（例えばＷｅｂページの画面データ）が受信され、フレームバッファ２４に描画されて表示装置２５に表示される（ステップＣ９）。
【０１０１】
この後、ユーザ操作に応じた処理の終了に伴い、前記サーバ装置（２）１０Ｂへ切断要求が送信されると（ステップＣ１０（Ｙｅｓ））、これに応答して当該サーバ装置（２）１０Ｂを介して送信された最新の接続情報リストＬｃ′が受信され、メモリ２３内の接続情報エリア２３ａに記憶され保存される（ステップＣ１１）。
【０１０２】
したがって、前記構成の第２実施形態の負荷分散機能によれば、ネットワークＮ上に存在する各サーバ装置１０…がそれぞれ特定のアプリケーションを実行するＳＢＣシステムにおいて、各サーバ装置１０…の最新の負荷情報（ＣＰＵ負荷率／クライアント装置の接続台数／接続中の各クライアント装置の表示解像度など）を記録した接続情報（サーバ名／ＩＰアドレス／アプリ名など）のリストＬｃ′を、当該各サーバ装置１０…に共通に接続された接続情報管理サーバ装置１０ＭのＤＢ１０Ｍｄにより管理する。サーバ装置１０は、クライアント装置２０との切断処理に伴い、前記接続情報管理サーバ装置１０Ｍにて管理される最新の接続情報リストＬｃ′を取得し、切断対象のクライアント装置２０へ転送する。そして、クライアント装置２０は、ユーザ指定のアプリ専用のサーバ装置１０と接続する場合、前回指定のアプリ専用のサーバ装置１０との切断処理に伴い受信された接続情報リストＬｃ′に基づき、今回指定のアプリ専用のサーバ装置１０…の中で負荷が小さいサーバ装置１０を判断してその接続情報を読み出し、当該サーバ装置１０との接続処理を実行する。
【０１０３】
このため、クライアント装置２０は、ユーザ指定のアプリのサーバ装置１０…へのアクセスを開始する際に、前記第１実施形態と同様に、特定のサーバ装置（接続情報管理サーバ装置１０Ｍ）へ接続する必要無しに、負荷分散された指定のアプリのサーバ装置１０を適切に選択して接続することが可能になる。
【０１０４】
なお、本願発明は、前記各実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。さらに、前記各実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出され得る。例えば、各実施形態に示される全構成要件から幾つかの構成要件が削除されたり、幾つかの構成要件が異なる形態にして組み合わされても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除されたり組み合わされた構成が発明として抽出され得るものである。
【符号の説明】
【０１０５】
１０Ａ，１０Ｂ，…サーバ装置
１０Ｍ…接続情報管理サーバ装置
１０Ｍｄ…接続情報ＤＢ
Ｌｃ（Ｌｃ′）…接続情報リスト
２０Ａ〜２０ｎ…クライアント装置
１１、２１…ＣＰＵ
１２、２２…バス
１３  …ＨＤＤ
ＰＲｓ…サーバ制御プログラム
１４、２３…メモリ
ＰＲｃ…クライアント制御プログラム
１４ａ、２３ａ…接続情報エリア
１５  …仮想フレームバッファ
２４  …フレームバッファ
２５  …表示装置
２６  …入力装置（Ｉ／Ｏ）
１６、２７…ネットワーク制御部
Ｇ    …表示用画面データ
【図１】
0005434716.tif 000002
【図２】
0005434716.tif 000003
【図３】
0005434716.tif 000004
【図４】
0005434716.tif 000005
【図５】
0005434716.tif 000006
【図６】
0005434716.tif 000007
【図７】
0005434716.tif 000008
【図８】
0005434716.tif 000009
【図９】
0005434716.tif 000010