JP5434716B2 - サーバ・クライアント・システムおよびプログラム - Google Patents

サーバ・クライアント・システムおよびプログラム Download PDF

Info

Publication number
JP5434716B2
JP5434716B2 JP2010063221A JP2010063221A JP5434716B2 JP 5434716 B2 JP5434716 B2 JP 5434716B2 JP 2010063221 A JP2010063221 A JP 2010063221A JP 2010063221 A JP2010063221 A JP 2010063221A JP 5434716 B2 JP5434716 B2 JP 5434716B2
Authority
JP
Japan
Prior art keywords
connection information
server
server device
client
connection
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2010063221A
Other languages
English (en)
Other versions
JP2011197950A (ja
Inventor
利彦 大塚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP2010063221A priority Critical patent/JP5434716B2/ja
Publication of JP2011197950A publication Critical patent/JP2011197950A/ja
Application granted granted Critical
Publication of JP5434716B2 publication Critical patent/JP5434716B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Computer And Data Communications (AREA)

Description

本発明は、ネットワークを介した複数のサーバ装置と複数のクライアント装置とを備え、クライアント装置から適宜サーバ装置へと接続して処理を実行するためのサーバ・クライアント・システムおよびその制御プログラムに関する。
従来から、社内のネットワーク(LAN)やインターネットなどの広域のネットワーク(WAN)において、様々な形態のサーバ・クライアント・システムが構築され運用されている。
このサーバ・クライアント・システムでは、複数のユーザ端末(クライアント装置)から適宜サーバ装置へアクセスし、当該サーバ装置で実行されるアプリケーションのサービスを受けたり、同サーバ装置で管理されるデータベースから種々の情報を取得したりすることが可能である。
サーバ装置は、ネットワーク上の複数のクライアント装置からのアクセスを受け、当該クライアント装置に対して種々のアプリケーション等による処理を提供するものである。このため、特定のサーバ装置へアクセスが集中して重い負荷が加わりその処理が滞ってしまうと、このサーバ装置を利用している全てのクライアント装置が所望の作業を円滑に遂行できないことになり、大きな悪影響を及ぼしてしまう。
そこで、ネットワーク上にある複数のサーバ装置の動作状態を統括して管理する管理サーバ装置を設置する。クライアント装置がサーバ装置へアクセスする場合は、先ずこの管理サーバ装置に接続する。そして、管理サーバ装置が、不具合の生じていないサーバ装置や重い負荷が生じていないサーバ装置の接続先をクライアント装置へ通知することで、当該クライアント装置は、通知されたサーバ装置と接続して処理を円滑に遂行することができる、負荷分散型のシンクライアント用サーバシステムが考えられている(例えば、特許文献1参照。)。
特開2006−209609号公報
しかしながら、前記従来の負荷分散型のシンクライアント用サーバシステムでは、クライアント装置がサーバ装置へアクセスする際には、何れのクライアント装置も、その都度管理サーバ装置へアクセスし、負荷の少ないサーバ装置を通知して貰って当該サーバ装置と接続する。
このため、特に、ネットワーク上に多数のクライアント装置が存在する場合や複数のクライアント装置からサーバ装置へのアクセスが同時期に集中する場合など、管理サーバ装置(特定のサーバ装置)への負荷が集中してしまい、実際に作業を行うためのサーバ装置と接続する処理が滞ってしまう。
本発明は、このような課題に鑑みなされたもので、クライアント装置がサーバ装置へのアクセスを開始する際に、特定のサーバ装置への接続を必要とすることなく、負荷分散されたサーバ装置へ適切に接続することが可能になるサーバ・クライアント・システムおよびその制御プログラムを提供することを目的とする。
請求項1に記載のサーバ・クライアント・システムは、ネットワークを介して接続可能な複数のサーバ装置と複数のクライアント装置と管理サーバ装置とを有するサーバ・クライアント・システムであって、前記管理サーバ装置は、前記各サーバ装置から送信された各サーバ装置の負荷情報を、当該各サーバ装置の接続情報に対応付けてなる接続情報リストとして管理する接続情報管理手段を備え、前記サーバ装置は、前記クライアント装置との接続に伴い変化する負荷情報を前記管理サーバ装置へ送信する負荷情報送信手段と、前記管理サーバ装置の前記接続情報管理手段により管理される接続情報リストを取得する接続情報取得手段と、この接続情報取得手段により取得された接続情報リストを前記クライアント装置へ送信する接続情報送信手段とを備え、前記クライアント装置は、前記サーバ装置の接続情報送信手段により送信された接続情報リストを受信して記憶する接続情報記憶手段と、前記各サーバ装置の何れかに接続する際に、前記接続情報記憶手段により記憶された接続情報リストに基づき、負荷の小さいサーバ装置の接続情報を読み出し、この読み出された接続情報に応じたサーバ装置と接続するサーバ接続手段とを備えた、ことを特徴としている。
請求項2に記載のサーバ・クライアント・システムは、前記請求項1に記載のサーバ・クライアント・システムにおいて、前記サーバ装置の接続情報取得手段は、接続中のクライアント装置からの切断要求に伴い、前記管理サーバ装置の前記接続情報管理手段により管理される接続情報リストを取得し、前記サーバ装置の接続情報送信手段は、前記接続情報取得手段により取得された接続情報リストを前記切断要求元のクライアント装置へ送信する、ことを特徴としている。
請求項3に記載のサーバ・クライアント・システムは、前記請求項1に記載のサーバ・クライアント・システムにおいて、前記クライアント装置のサーバ接続手段は、前記各サーバ装置の何れかに接続する際に、前記接続情報記憶手段により記憶された接続情報リストにある各サーバ装置の接続情報を、負荷の小さいサーバ装置の順に並べ替える接続情報並び替え手段を有し、この接続情報並び替え手段により並び替えられた接続情報の順に接続可能なサーバ装置と接続する、ことを特徴としている。
請求項4に記載のサーバ・クライアント・システムは、前記請求項1に記載のサーバ・クライアント・システムにおいて、前記複数のサーバ装置は、それぞれ特定のアプリケーションに対応したものであって、前記管理サーバ装置の接続情報管理手段は、前記各サーバ装置から送信された各サーバ装置の負荷情報を、当該各サーバ装置の接続情報とアプリケーションの種類に対応付けてなる接続情報リストを管理し、前記クライアント装置のサーバ接続手段は、ユーザ操作に応じて指定されたアプリケーションに対応したサーバ装置に接続する際に、前記接続情報記憶手段により記憶された接続情報リストに基づき、前記指定されたアプリケーションの種類に対応するところの各サーバ装置で負荷の小さい接続情報に応じたサーバ装置と接続する、ことを特徴としている。
請求項5に記載のサーバ・クライアント・システムは、前記請求項1ないし請求項4の何れか1項に記載のサーバ・クライアント・システムにおいて、前記管理サーバ装置は、前記複数のサーバ装置のうち何れかのサーバ装置が兼ねることを特徴としている。
請求項6に記載のプログラムは、ネットワークを介して接続可能な複数のサーバ装置と複数のクライアント装置と管理サーバ装置とを有するサーバ・クライアント・システムのコンピュータを制御するためのプログラムであって、前記管理サーバ装置のコンピュータを、前記各サーバ装置から送信された各サーバ装置の負荷情報を、当該各サーバ装置の接続情報に対応付けてなる接続情報リストとしてメモリにて管理する接続情報管理手段、前記サーバ装置のコンピュータを、前記クライアント装置との接続に伴い変化する負荷情報を前記管理サーバ装置へ送信する負荷情報送信手段、前記管理サーバ装置の前記接続情報管理手段により管理される接続情報リストを取得する接続情報取得手段、この接続情報取得手段により取得された接続情報リストを前記クライアント装置へ送信する接続情報送信手段、前記クライアント装置のコンピュータを、前記サーバ装置の接続情報送信手段により送信された接続情報リストを受信してメモリに記憶する接続情報記憶手段、前記各サーバ装置の何れかに接続する際に、前記接続情報記憶手段により記憶された接続情報リストに基づき、負荷の小さいサーバ装置の接続情報を読み出し、この読み出された接続情報に応じたサーバ装置と接続するサーバ接続手段、として機能させることを特徴としている。
本発明によれば、クライアント装置がサーバ装置へのアクセスを開始する際に、特定のサーバ装置への接続を必要とすることなく、負荷分散されたサーバ装置へ適切に接続することが可能になるサーバ・クライアント・システムおよびその制御プログラムを提供できる。
本発明のサーバ・クライアント・システムの実施形態に係るSBC(Server Based Computing)システムの構成を示すブロック図。 前記SBCシステムにおけるサーバ装置(1)10A,(2)10B,…の回路構成を示すブロック図。 前記SBCシステムにおけるクライアント装置(1)20A,…,(n)20nの回路構成を示すブロック図。 前記SBCシステムの接続情報管理サーバ装置10Mにより管理される第1実施形態の接続情報リストLcの内容を示す図。 前記SBCシステムのサーバ装置(1)10A,(2)10B,…による第1実施形態のサーバ処理を示すフローチャート。 前記SBCシステムのクライアント装置(1)20A,…,(n)20nによる第1実施形態のクライアント処理を示すフローチャート。 前記SBCシステムの接続情報管理サーバ装置10Mにより管理される第2実施形態の接続情報リストLc′の内容を示す図。 前記SBCシステムのサーバ装置(1)10A,(2)10B,…による第2実施形態のサーバ処理を示すフローチャート。 前記SBCシステムのクライアント装置(1)20A,…,(n)20nによる第2実施形態のクライアント処理を示すフローチャート。
以下図面により本発明の実施の形態について説明する。
(第1実施形態)
図1は、本発明のサーバ・クライアント・システムの実施形態に係るSBC(Server Based Computing)システムの構成を示すブロック図である。
このSBCシステムは、有線または無線のLAN(Local Area Network)やWAN(Wide Area Network)からなるネットワークN上に接続された複数のサーバ装置(1)10A,(2)10B,…および複数のクライアント装置(Thin client)(1)20A,…,(n)10nを備える。
各サーバ装置(1)10A,(2)10B,…には、共通の接続情報管理サーバ装置10Mが接続される。この管理サーバ装置10Mは、各サーバ装置(1)10A,(2)10B,…のサーバ名、IPアドレスに対応付けて、それぞれその最新の負荷情報(CPU負荷率/クライアント装置の接続台数/接続中の各クライアント装置の表示解像度など)を記録した接続情報リストLc(図4参照)の接続情報DB10Mdを有する。
サーバ装置(1)10A,(2)10B,…は、何れも同じWebブラウザプログラム,メール処理プログラム,テキスト作成処理プログラムなど、複数のアプリケーションプログラムを有し、当該サーバ装置(1)10A,(2)10B,…に接続されたクライアント装置(1)20A,…,(n)20nからの操作入力(入力イベント)信号に応じて起動しその処理を実行する。
このサーバ装置(1)10A,(2)10B,…において、クライアント装置(1)20A,…,(n)20nからの操作入力信号に応じたアプリケーションプログラムの実行に伴い、クライアント用仮想フレームバッファ15(図2参照)上に描画生成された表示出力用の画面データGは、アクセス元のクライアント装置(1)20A,…,(n)20nへ転送される。
そして、クライアント装置(1)20A,…,(n)20nでは、前記サーバ装置(1)10A,(2)10B,…から転送された画面データGがフレームバッファ24(図3参照)に展開され、表示装置25の表示画面に表示される。
つまり、このSBCシステムにおける各クライアント装置(Thin client)(1)20A,…,(n)20nは、何れもキーボードやマウスなどのユーザ操作に応じた入力機能とLCD表示部及びプリンタなどへの出力機能を主要な機能として有し、少なくとも前記サーバ装置(1)10A,(2)10B,…が有している各種のアプリケーション機能やデータファイルの管理機能を持っていない。
そして、クライアント装置(1)20A,…,(n)20nからの操作入力信号に応じてサーバ装置(1)10A,(2)10B,…にて起動実行される各種の処理に伴い生成されたデータファイルは、基本的には、当該サーバ装置(1)10A,(2)10B,…内あるいは該サーバ装置(1)10A,(2)10B,…に共通に接続されて管理されるファイルサーバ(図示せず)にユーザアカウント毎あるいは共有ファイルとして記憶され保存される。
なお、前記接続情報DB10Mdは、接続情報管理サーバ装置10Mによって専用に管理するのではなく、各サーバ装置(1)10A,(2)10B,…の何れかによって兼用で管理する構成としてもよい。
図2は、前記SBCシステムにおけるサーバ装置(1)10A,(2)10B,…の回路構成を示すブロック図である。
ここでは、サーバ装置10として説明する。
サーバ装置10は、コンピュータとしてのCPU11を備え、このCPU11には、バス12を介してHDD13、メモリ14、仮想フレームバッファ15、ネットワーク制御部16が接続される。
CPU11は、HDD13に予め記憶されているシステムプログラムや種々のアプリケーションプログラム、あるいは外部から読み込まれてHDD13に記憶されたプログラムなどのサーバ制御プログラムPRsに従ってメモリ14を作業領域とし回路各部の動作を制御するもので、ネットワーク制御部16を介して受信されるクライアント装置(1)20A,…,(n)20nからのユーザ操作に応じた入力イベント信号、前記接続情報管理サーバ装置10Mからの情報受信信号などに応じて前記種々のプログラムが起動・実行される。
このサーバ装置10において、クライアント装置(1)20A,…,(n)20nからの入力イベント信号に応じて起動・実行されるアプリケーションプログラムに従いメモリ14を使用して生成された種々のデータは、例えばそのユーザIDに対応付けられてHDD13に記憶される。またクライアント表示用の画面データGは、仮想フレームバッファ15を使用して生成された後、圧縮処理されて、ネットワーク制御部16からイベント入力元のクライアント装置(1)20A,…,(n)20nへ転送されて表示出力される。
なお、このサーバ装置10のメモリ14の接続情報エリア14aには、当該サーバ装置10自身の現在の負荷情報(CPU負荷率/クライアント装置の接続台数/接続中の各クライアント装置の表示解像度など)を記録した接続情報が記憶され、また、クライアント装置(1)20A,…,(n)20nとのアクセスに応じて、前記接続情報管理サーバ装置10Mの接続情報DB10Mdから各サーバ装置(1)10A,(2)10B,…に対応した接続情報リストLc(図4参照)が取得されて記憶される。
図3は、前記SBCシステムにおけるクライアント装置(1)20A,…,(n)20nの回路構成を示すブロック図である。
ここでは、クライアント装置20として説明する。
クライアント装置20は、コンピュータとしてのCPU21を備え、このCPU21には、バス22を介してメモリ23、フレームバッファ24が接続される。そして、このフレームバッファ24に書き込まれた画面データGが表示装置25に出力されて表示される。
また、CPU21には、バス22を介してキーボード,マウスなどの入力装置(I/O)26が接続され、さらに、前記サーバ装置(1)10A,(2)10B,…とネットワークNを介して通信するためのネットワーク制御部27が接続される。
CPU21は、メモリ23に予め記憶されるか、あるいは外部からメモリ23に読み込まれたクライアント制御プログラムPRcに従って当該メモリ23を作業用メモリとし回路各部の動作を制御するもので、入力装置(I/O)26からのキー入力信号やマウス移動信号、ネットワーク制御部27を介して受信されるサーバ装置(1)10A,(2)10B,…からのアプリケーション応答信号や転送画面データGなどに応じて前記クライアント制御プログラムPRcが起動され実行される。
このクライアント装置20において、前記サーバ装置(1)10A,(2)10B,…におけるアプリケーションプログラムを実行させて生成した種々のデータは、適宜、メモリ23に読み込ませて記憶させ、また生成転送された表示用の画面データGは、その圧縮が解凍されてフレームバッファ24に書き込まれ表示装置25で表示出力される。
なお、このクライアント装置20のメモリ23の接続情報エリア23aには、直前に接続されたサーバ装置10との切断に伴い、当該サーバ装置10を介して前記接続情報管理サーバ装置10Mの接続情報DB10Mdから各サーバ装置(1)10A,(2)10B,…に対応した接続情報リストLc(図4参照)が取得され記憶される。
図4は、前記SBCシステムの接続情報管理サーバ装置10Mにより管理される第1実施形態の接続情報リストLcの内容を示す図である。
この接続情報リストLcには、ネットワークN上にある各サーバ装置(1)10A,(2)10B,…のサーバ名、IPアドレスに対応付けて、それぞれそのサーバ装置(1)10A,(2)10B,…の最新の負荷情報(CPU負荷率/クライアント装置の接続台数/接続中の各クライアント装置の表示解像度など)が、各サーバ装置(1)10A,(2)10B,…自身からの更新処理に伴い記録される。
なお、前記サーバ装置(1)10A,(2)10B,…の負荷情報としては、接続中のクライアント装置(1)20A,…,(n)20nからの入力イベント信号に応じて起動・実行中のアプリケーションプログラムのプロセス数を含めてもよい。
このようなSBCシステムにおいて、サーバ装置(1)10A,(2)10B,…は、CPU11がサーバ制御プログラムPRsに記述された命令に従い回路各部の動作を制御し、ソフトウエアとハードウエアとが協働して動作することにより、少なくとも次の4つの機能(As)〜(Ds)を有する。
サーバ制御プログラムPRsは、その全部又は一部を、HDD13に予め記憶させてもよいし、メモリカードやCD,DVDなどの持ち運び可能な外部の記憶媒体から読み込んでHDD13に記憶させてもよいし、外部のWebサーバ(プログラムサーバ)から通信ネットワークNを介してダウンロードしHDD13に記憶させてもよい。
(As) クライアント装置20との接続が確立された場合に、これに伴う負荷情報(クライアント装置の接続台数[+1]/接続されたクライアント装置20の画面データGを生成するための表示解像度[幅*高さ*色数]追加)を、接続情報管理サーバ装置10Mへ送信してDB10Md内の接続情報リストLcを更新する機能。
(Bs) 接続中のクライアント装置20からの入力イベント信号に応じたアプリケーションプログラムの実行に伴い逐次変動する負荷情報(CPU負荷率/実行中のプロセス数など)を、接続情報管理サーバ装置10Mへ送信してDB10Md内の接続情報リストLcを更新する機能。
(Cs) クライアント装置20と切断される場合に、これに伴う負荷情報(クライアント装置の接続台数[−1]/切断されるクライアント装置20の画面データGを生成するための表示解像度[幅*高さ*色数]削除)を、接続情報管理サーバ装置10Mへ送信してDB10Md内の接続情報リストLcを更新する機能。
(Ds) 機能(Cs)にて更新された接続情報リストLcを、接続情報管理サーバ装置10MのDB10Mdから取得し、切断されるクライアント装置20へ送信する機能。
また、このようなSBCシステムにおいて、クライアント装置(1)20A,…,(n)20nは、CPU21がクライアント制御プログラムPRcに記述された命令に従い回路各部の動作を制御し、ソフトウエアとハードウエアとが協働して動作することにより、少なくとも次の4つの機能(Ac)〜(Dc)を有する。
クライアント制御プログラムPRcは、その全部又は一部を、メモリ23に予め記憶させてもよいし、メモリカードやCD,DVDなどの持ち運び可能な外部の記憶媒体から読み込んでメモリ23に記憶させてもよいし、外部のWebサーバ(プログラムサーバ)から通信ネットワークNを介してダウンロードしメモリ23に記憶させてもよい。
(Ac) サーバ装置(1)10A,(2)10B,…と接続する場合に、メモリ23の接続情報エリア23aに記憶された接続情報リストLcを読み出し、当該接続情報リストLcに記録された各サーバ装置(1)10A,(2)10B,…の順位を、それぞれその負荷情報(接続中のクライアント装置の表示解像度の総和)の小さい順に並び替える機能。
(Bc) 機能(Ac)にて並び替えられた接続情報リストLcに基づき、その負荷情報の中のCPU負荷率が小さく且つ表示解像度の総和が小さいところのサーバ装置10のIPアドレスを読み込む機能。
(Cc) 機能(Bc)にて読み込まれたサーバ装置10のIPアドレスに応じて当該サーバ装置10と接続する機能。
(Dc) サーバ装置(1)10A,(2)10B,…と切断する場合に、当該切断対象のサーバ装置10を介して受信された最新の接続情報リストLcを、メモリ23内の接続情報エリア23aに書き替えて記憶する機能。
これにより、クライアント装置(1)20A,…,(n)20nは、サーバ装置(1)10A,(2)10B,…へのアクセスを開始する際に、接続情報管理サーバ装置10Mへ接続する必要無しに、負荷分散されたサーバ装置(1)10A,(2)10B,…へ適切に接続することが可能になる。
次に、前記構成のSBCシステムの動作について説明する。
図5は、前記SBCシステムのサーバ装置(1)10A,(2)10B,…による第1実施形態のサーバ処理を示すフローチャートである。
ここでは、サーバ装置10、クライアント装置20として説明する。
サーバ装置10において、クライアント装置20から接続要求が受信されるのに伴い、例えばメモリ14に記憶されている本サーバ装置10の登録ユーザ情報に基づき、前記接続要求元のクライアント装置20について認証OKと判断されると(ステップS1(Yes))、当該クライアント装置20とのネゴシエーションに伴い、クライアント用の画面データGを生成するための表示装置25の表示サイズ(幅、高さ、色数)が取得される(ステップS2)。
また、本サーバ装置10に対するクライアント装置20の接続台数が+1カウントされ(ステップS3)、並列接続可能な許容範囲内の接続台数であるか否か判断される(ステップS4)。
ここで、並列接続可能な許容範囲内のクライアント装置20…の接続台数であると判断されると(ステップS4(Yes))、前記ステップS2にて取得された今回の接続元のクライアント装置20の表示サイズ(幅、高さ、色数)、および前記ステップS3にてカウントされた現在のクライアント装置20…の接続台数が、本サーバ装置10の負荷情報として接続情報管理サーバ装置10Mへ送信され、接続情報DB10Mdに記憶されている接続情報リストLc(図4参照)の中の該当するサーバ名に対応するところの負荷情報が更新される(ステップS5)。
そして、接続されたクライアント装置20から入力イベント信号が受信されると、その都度、当該入力イベントに応じたアプリケーションプログラムの実行に伴い、同クライアント装置20の表示サイズ(幅、高さ、色数)に応じた画面データGが仮想フレームバッファ15に生成され、同クライアント装置20へ転送されて表示される(ステップS6)。
すると、このシンクライアントサーバ処理(ステップS6)が実行される都度、CPU11の動作状態に基づき検出されるCPU負荷率(及び(又は)実行プロセス数)が、本サーバ装置10の負荷情報として接続情報管理サーバ装置10Mへ送信され、接続情報DB10Mdに記憶されている接続情報リストLc(図4参照)の中の該当するサーバ名に対応するところの負荷情報が更新される(ステップS7)。
この後、接続中のクライアント装置20から切断要求が受信されると(ステップS8(Yes))、当該切断要求元のクライアント装置20に関する負荷情報(表示解像度/接続台数)の削除要求が、接続情報管理サーバ装置10Mへ送信され、接続情報DB10Mdに記憶されている接続情報リストLc(図4参照)の中の該当するサーバ名に対応するところの負荷情報のうち、同クライアント装置20の表示解像度(幅*高さ*色数)が削除されると共に、接続台数が−1カウントされて更新される(ステップS9)。
すると、前記クライアント装置20の切断要求に伴い更新された接続情報リストLc(図4参照)が、接続情報管理サーバ装置10Mを介して取得され、メモリ14内の接続情報エリア14aに一時記憶されると共に、同切断要求元のクライアント装置20へ送信される(ステップS10)。
そして、前記切断要求元のクライアント装置20への前記更新された接続情報リストLc(図4参照)の送信処理が完了すると(ステップS11(Yes))、同クライアント装置20との切断処理が実行され(ステップS12)、前記クライアント装置20からの接続/切断に伴う一連のサーバ処理が終了される(ステップS13(Yes)→終了)。
図6は、前記SBCシステムのクライアント装置(1)20A,…,(n)20nによる第1実施形態のクライアント処理を示すフローチャートである。
ここでは、サーバ装置10、クライアント装置20として説明する。
クライアント装置20が起動されると、メモリ23内の接続情報エリア23aに記憶されている接続情報リストLc(図4参照)について、更新があったか否(デフォルト設定のまま)かがそのフラグに基づき判断される(ステップC1)。
ここで、本クライアント装置20の起動が初回であって、接続情報エリア23a内の接続情報リストLcについて、デフォルト設定の状態にあり更新されてないと判断されると(ステップC1(No))、当該デフォルト設定されている接続情報リストLcが読み込まれ、予め設定されたサーバ装置10のIPアドレスが読み込まれる(ステップC2)。
一方、本クライアント装置20の起動が2回目以降であって、接続情報エリア23a内の接続情報リストLcについて更新があったと判断されると(ステップC1(Yes))、当該更新された接続情報リストLcが読み込まれる(ステップC3)。
すると、この接続情報リストLc(図4参照)に記録されている各サーバ装置10…について、負荷情報における接続中のクライアント装置20…の表示解像度(幅*高さ*色数)の総和が小さい順に並び替えられる(ステップC4)。
そして、前記並び替えられた接続情報リストLcから、負荷が最も小さい(CPU負荷率が小さく且つ接続中のクライアント装置20…の表示解像度の総和が小さい)ところのサーバ装置10のIPアドレスが読み込まれ、このIPアドレスに従ったサーバ装置10へ接続要求が送信される(ステップC5)。
ここで、前記接続要求を送信したサーバ装置10から一定時間内に認証OKの信号が受信されるか否かにより、当該サーバ装置10との接続が成功したか否か判断される(ステップC6)。
前記接続要求を送信したサーバ装置10から認証OKの信号が受信されず、当該サーバ装置10との接続が成功しないと判断されると(ステップC6(No))、前記ステップC4において並び替えられた接続情報リストLcから、次に負荷が小さいところのサーバ装置10のIPアドレスが読み込まれ、このIPアドレスに従ったサーバ装置10へ接続要求が送信される(ステップC7(No)→C5)。
そして、前記接続要求を送信したサーバ装置10から認証OKの信号が受信され、当該サーバ装置10との接続が成功したと判断されると(ステップC6(Yes))、本クライアント装置20の表示サイズ(幅、高さ、色数)の送信処理など、所定のネゴシエーション処理が実行される(ステップC8)。
そして、ユーザ操作に応じた入力イベント信号がサーバ装置10へ送信される度に、当該サーバ装置10で実行されるアプリケーションプログラムに従い生成された表示用の画面データGが受信され、フレームバッファ24に描画されて表示装置25に表示される(ステップC9)。
この後、ユーザ操作に応じた処理の終了に伴い、前記サーバ装置10へ切断要求が送信されると(ステップC10(Yes))、これに応答して当該サーバ装置10を介して送信された最新の接続情報リストLcが受信され、メモリ23内の接続情報エリア23aに記憶され保存される(ステップC11)。
そして、前記切断要求先のサーバ装置10を介して送信された最新の接続情報リストLcの受信が完了したと判断されると(ステップC12(Yes))、同サーバ装置10との切断処理が実行され(ステップC13)、同サーバ装置10への接続/切断に伴う一連のクライアント処理が終了される。
したがって、前記構成のSBCシステムの動作に伴う第1実施形態の負荷分散機能によれば、ネットワークN上に存在する各サーバ装置10…の最新の負荷情報(CPU負荷率/クライアント装置の接続台数/接続中の各クライアント装置の表示解像度など)を記録した接続情報(サーバ名/IPアドレスなど)のリストLcを、当該各サーバ装置10…に共通に接続された接続情報管理サーバ装置10MのDB10Mdにより管理する。サーバ装置10は、クライアント装置20との切断処理に伴い、前記接続情報管理サーバ装置10Mにて管理される最新の接続情報リストLcを取得し、切断対象のクライアント装置20へ転送する。そして、クライアント装置20は、サーバ装置10と接続する場合、前回のサーバ装置10との切断処理に伴い受信された接続情報リストLcに基づき、負荷が小さいところのサーバ装置10を判断してその接続情報を読み出し、当該サーバ装置10との接続処理を実行する。
このため、クライアント装置20は、サーバ装置10…へのアクセスを開始する際に、特定のサーバ装置(接続情報管理サーバ装置10M)へ接続する必要無しに、負荷分散されたサーバ装置10を適切に選択して接続することが可能になる。
よって、例えばネットワークN上に多数のクライアント装置20…が存在する場合や複数のクライアント装置20…からサーバ装置10…へのアクセスが同時期に集中する場合でも、特定のサーバ装置(接続情報管理サーバ装置10M)への負荷が集中することはなく、実際に作業を行うためのサーバ装置10と接続する処理が滞ってしまう不具合が生じることはない。
SBCシステムでは、特定のサーバ装置10への負荷集中の防止やセキュリティ性の確保が重要視され、クライアント装置(Thin client)20…は、特定のサーバ装置10とユーザ操作のない状態で長時間接続されたままになることはなく、必要に応じた短時間での切断/接続が繰り返される。
このため、クライアント装置20が、サーバ装置10との切断処理に伴い最新の接続情報リストLcを取得して保存し、次の接続処理に伴い、前記保存された接続情報リストLcに基づき負荷の小さいサーバ装置10を選択して接続する手法は、特に有効である。
(第2実施形態)
この第2実施形態では、各サーバ装置(1)10A,(2)10B,…がそれぞれ特定のアプリケーションプログラムを専用に実行する構成とし、クライアント装置(1)20A,…,(n)20nは、ユーザが作業したい種類のアプリケーションを指定して、当該指定のアプリケーションを専用に実行するサーバ装置10へ接続する構成とする。
図7は、前記SBCシステムの接続情報管理サーバ装置10Mにより管理される第2実施形態の接続情報リストLc′の内容を示す図である。
この接続情報リストLc′には、ネットワークN上にある各サーバ装置(1)10A,(2)10B,…のサーバ名、IPアドレス、アプリ名に対応付けて、それぞれそのサーバ装置(1)10A,(2)10B,…の最新の負荷情報(CPU負荷率/クライアント装置の接続台数/接続中の各クライアント装置の表示解像度など)が、各サーバ装置(1)10A,(2)10B,…自身からの更新処理に伴い記録される。
図8は、前記SBCシステムのサーバ装置(1)10A,(2)10B,…による第2実施形態のサーバ処理を示すフローチャートである。
この第2実施形態のサーバ処理において、前記図5における第1実施形態のサーバ処理と同一の処理ステップについては、同一の符号を付してその説明を省略する。
この第2実施形態のサーバ処理では、サーバ装置10の起動初期において、当該サーバ装置10自身が実行可能な特定のアプリケーションプログラムのアプリ名を、接続情報管理サーバ装置10Mへ通知し、DB10Mdに記憶される接続情報リストLc′(図7参照)の該当するサーバ名に対応付けて設定する(ステップS0)。
以降、ステップS1〜S13については、本サーバ装置10が実行する特定のアプリ名を指定したクライアント装置20との接続/切断に伴い、前記第1実施形態と同様のサーバ処理が実行される。
図9は、前記SBCシステムのクライアント装置(1)20A,…,(n)20nによる第2実施形態のクライアント処理を示すフローチャートである。
この第2実施形態のクライアント処理において、前記図6における第1実施形態のクライアント処理と同一の処理ステップについては、同一の符号を付してその説明を省略する。
この第2実施形態のクライアント処理では、クライアント装置20の起動初期において、ユーザが作業したいアプリケーションの種類(アプリ名:例えば「ブラウザ」)が指定される(ステップC0)。
そして、ステップC1〜C3に従って、メモリ23内の接続情報エリア23aに記憶されている接続情報リストLc′(図7参照)が読み込まれると、この接続情報リストLc′に記録されている前記指定されたアプリ名「ブラウザ」に対応するところの各サーバ装置(2)10B,(4)10D,…について、負荷情報における接続中のクライアント装置20…の表示解像度(幅*高さ*色数)の総和が小さい順に並び替えられる(ステップC4′)。
そして、前記指定されたアプリ名「ブラウザ」に対応したところで並び替えられた接続情報リストLc′から、負荷が最も小さい(CPU負荷率が小さく且つ接続中のクライアント装置20…の表示解像度の総和が小さい)サーバ装置(例えば(4)10D)のIPアドレスが読み込まれ、このIPアドレスに従ったブラウザ専用のサーバ装置(4)10Dへ接続要求が送信される(ステップC5′)。
ここで、前記接続要求を送信したサーバ装置(4)10Dから認証OKの信号が受信されず、接続が成功しないと判断されると(ステップC6(No))、前記ステップC4′において前記指定のアプリ名「ブラウザ」に対応したところで並び替えられた接続情報リストLc′から、次に負荷が小さいサーバ装置(例えば(2)10B)のIPアドレスが読み込まれ、このIPアドレスに従った別のブラウザ専用のサーバ装置(2)10Bへ接続要求が送信される(ステップC7′(No)→C5′)。
そして、前記接続要求を送信したブラウザ専用のサーバ装置(2)10Bから認証OKの信号が受信され、当該サーバ装置(2)10Bとの接続が成功したと判断されると(ステップC6(Yes))、所定のネゴシエーション処理が実行される(ステップC8)。
そして、ユーザ操作に応じた入力イベント信号がサーバ装置(2)10Bへ送信される度に、当該ブラウザ専用のサーバ装置(2)10Bで実行されるブラウザプログラムに従い生成された表示用の画面データG(例えばWebページの画面データ)が受信され、フレームバッファ24に描画されて表示装置25に表示される(ステップC9)。
この後、ユーザ操作に応じた処理の終了に伴い、前記サーバ装置(2)10Bへ切断要求が送信されると(ステップC10(Yes))、これに応答して当該サーバ装置(2)10Bを介して送信された最新の接続情報リストLc′が受信され、メモリ23内の接続情報エリア23aに記憶され保存される(ステップC11)。
したがって、前記構成の第2実施形態の負荷分散機能によれば、ネットワークN上に存在する各サーバ装置10…がそれぞれ特定のアプリケーションを実行するSBCシステムにおいて、各サーバ装置10…の最新の負荷情報(CPU負荷率/クライアント装置の接続台数/接続中の各クライアント装置の表示解像度など)を記録した接続情報(サーバ名/IPアドレス/アプリ名など)のリストLc′を、当該各サーバ装置10…に共通に接続された接続情報管理サーバ装置10MのDB10Mdにより管理する。サーバ装置10は、クライアント装置20との切断処理に伴い、前記接続情報管理サーバ装置10Mにて管理される最新の接続情報リストLc′を取得し、切断対象のクライアント装置20へ転送する。そして、クライアント装置20は、ユーザ指定のアプリ専用のサーバ装置10と接続する場合、前回指定のアプリ専用のサーバ装置10との切断処理に伴い受信された接続情報リストLc′に基づき、今回指定のアプリ専用のサーバ装置10…の中で負荷が小さいサーバ装置10を判断してその接続情報を読み出し、当該サーバ装置10との接続処理を実行する。
このため、クライアント装置20は、ユーザ指定のアプリのサーバ装置10…へのアクセスを開始する際に、前記第1実施形態と同様に、特定のサーバ装置(接続情報管理サーバ装置10M)へ接続する必要無しに、負荷分散された指定のアプリのサーバ装置10を適切に選択して接続することが可能になる。
なお、本願発明は、前記各実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。さらに、前記各実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出され得る。例えば、各実施形態に示される全構成要件から幾つかの構成要件が削除されたり、幾つかの構成要件が異なる形態にして組み合わされても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除されたり組み合わされた構成が発明として抽出され得るものである。
10A,10B,…サーバ装置
10M…接続情報管理サーバ装置
10Md…接続情報DB
Lc(Lc′)…接続情報リスト
20A〜20n…クライアント装置
11、21…CPU
12、22…バス
13 …HDD
PRs…サーバ制御プログラム
14、23…メモリ
PRc…クライアント制御プログラム
14a、23a…接続情報エリア
15 …仮想フレームバッファ
24 …フレームバッファ
25 …表示装置
26 …入力装置(I/O)
16、27…ネットワーク制御部
G …表示用画面データ

Claims (6)

  1. ネットワークを介して接続可能な複数のサーバ装置と複数のクライアント装置と管理サーバ装置とを有するサーバ・クライアント・システムであって、
    前記管理サーバ装置は、
    前記各サーバ装置から送信された各サーバ装置の負荷情報を、当該各サーバ装置の接続情報に対応付けてなる接続情報リストとして管理する接続情報管理手段を備え、
    前記サーバ装置は、
    前記クライアント装置との接続に伴い変化する負荷情報を前記管理サーバ装置へ送信する負荷情報送信手段と、
    前記管理サーバ装置の前記接続情報管理手段により管理される接続情報リストを取得する接続情報取得手段と、
    この接続情報取得手段により取得された接続情報リストを前記クライアント装置へ送信する接続情報送信手段とを備え、
    前記クライアント装置は、
    前記サーバ装置の接続情報送信手段により送信された接続情報リストを受信して記憶する接続情報記憶手段と、
    前記各サーバ装置の何れかに接続する際に、前記接続情報記憶手段により記憶された接続情報リストに基づき、負荷の小さいサーバ装置の接続情報を読み出し、この読み出された接続情報に応じたサーバ装置と接続するサーバ接続手段とを備えた、
    ことを特徴とするサーバ・クライアント・システム。
  2. 前記サーバ装置の接続情報取得手段は、接続中のクライアント装置からの切断要求に伴い、前記管理サーバ装置の前記接続情報管理手段により管理される接続情報リストを取得し、
    前記サーバ装置の接続情報送信手段は、前記接続情報取得手段により取得された接続情報リストを前記切断要求元のクライアント装置へ送信する、
    ことを特徴とする請求項1に記載のサーバ・クライアント・システム。
  3. 前記クライアント装置のサーバ接続手段は、
    前記各サーバ装置の何れかに接続する際に、前記接続情報記憶手段により記憶された接続情報リストにある各サーバ装置の接続情報を、負荷の小さいサーバ装置の順に並べ替える接続情報並び替え手段を有し、
    この接続情報並び替え手段により並び替えられた接続情報の順に接続可能なサーバ装置と接続する、
    ことを特徴とする請求項1に記載のサーバ・クライアント・システム。
  4. 前記複数のサーバ装置は、それぞれ特定のアプリケーションに対応したものであって、
    前記管理サーバ装置の接続情報管理手段は、前記各サーバ装置から送信された各サーバ装置の負荷情報を、当該各サーバ装置の接続情報とアプリケーションの種類に対応付けてなる接続情報リストを管理し、
    前記クライアント装置のサーバ接続手段は、ユーザ操作に応じて指定されたアプリケーションに対応したサーバ装置に接続する際に、前記接続情報記憶手段により記憶された接続情報リストに基づき、前記指定されたアプリケーションの種類に対応するところの各サーバ装置で負荷の小さい接続情報に応じたサーバ装置と接続する、
    ことを特徴とする請求項1に記載のサーバ・クライアント・システム。
  5. 前記管理サーバ装置は、前記複数のサーバ装置のうち何れかのサーバ装置が兼ねることを特徴とする請求項1ないし請求項4の何れか1項に記載のサーバ・クライアント・システム。
  6. ネットワークを介して接続可能な複数のサーバ装置と複数のクライアント装置と管理サーバ装置とを有するサーバ・クライアント・システムのコンピュータを制御するためのプログラムであって、
    前記管理サーバ装置のコンピュータを、
    前記各サーバ装置から送信された各サーバ装置の負荷情報を、当該各サーバ装置の接続情報に対応付けてなる接続情報リストとしてメモリにて管理する接続情報管理手段、
    前記サーバ装置のコンピュータを、
    前記クライアント装置との接続に伴い変化する負荷情報を前記管理サーバ装置へ送信する負荷情報送信手段、
    前記管理サーバ装置の前記接続情報管理手段により管理される接続情報リストを取得する接続情報取得手段、
    この接続情報取得手段により取得された接続情報リストを前記クライアント装置へ送信する接続情報送信手段、
    前記クライアント装置のコンピュータを、
    前記サーバ装置の接続情報送信手段により送信された接続情報リストを受信してメモリに記憶する接続情報記憶手段、
    前記各サーバ装置の何れかに接続する際に、前記接続情報記憶手段により記憶された接続情報リストに基づき、負荷の小さいサーバ装置の接続情報を読み出し、
    この読み出された接続情報に応じたサーバ装置と接続するサーバ接続手段、
    として機能させるためのプログラム。
JP2010063221A 2010-03-18 2010-03-18 サーバ・クライアント・システムおよびプログラム Active JP5434716B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010063221A JP5434716B2 (ja) 2010-03-18 2010-03-18 サーバ・クライアント・システムおよびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010063221A JP5434716B2 (ja) 2010-03-18 2010-03-18 サーバ・クライアント・システムおよびプログラム

Publications (2)

Publication Number Publication Date
JP2011197950A JP2011197950A (ja) 2011-10-06
JP5434716B2 true JP5434716B2 (ja) 2014-03-05

Family

ID=44876083

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010063221A Active JP5434716B2 (ja) 2010-03-18 2010-03-18 サーバ・クライアント・システムおよびプログラム

Country Status (1)

Country Link
JP (1) JP5434716B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104636091B (zh) 2013-11-07 2018-06-15 精工爱普生株式会社 打印控制系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0844677A (ja) * 1994-07-29 1996-02-16 Toshiba Corp 分散処理システム
JP3966598B2 (ja) * 1998-03-04 2007-08-29 富士通株式会社 サーバ選択システム
JP2002342298A (ja) * 2001-05-11 2002-11-29 Fujitsu Ltd クライアント・サーバ型情報処理システム及び並列ロード・バランス方式

Also Published As

Publication number Publication date
JP2011197950A (ja) 2011-10-06

Similar Documents

Publication Publication Date Title
JP6140145B2 (ja) テナント移行にわたるテナント・データのリカバリ
US20130325534A1 (en) Terminal management system, management server, and method therefor
JP2010250561A (ja) 情報処理装置、制御方法、及びプログラム
JP5911378B2 (ja) 文書管理サーバ、コンピュータプログラム、文書管理方法
JP6242087B2 (ja) 文書管理サーバ、文書管理方法、コンピュータプログラム
JP5434716B2 (ja) サーバ・クライアント・システムおよびプログラム
US7120663B2 (en) Method and apparatus for updating XML data
JP2010182176A (ja) サーバ装置、クライアント装置、サーバベース・コンピューティング・システム、およびプログラム
JP5473250B2 (ja) 検索装置の制御方法、検索装置
JP4529766B2 (ja) 情報提供システム、情報提供方法、サーバ及び情報提供プログラム
JP5397591B2 (ja) 文書管理プログラムおよび文書管理装置
JP2010033339A (ja) サーバベース・コンピューティング・システムのサーバ装置、サーバ制御プログラム、および表示制御装置、表示制御プログラム
JP2010055189A (ja) サーバベース・コンピューティング・システムのサーバ装置、クライアント装置、サーバ制御プログラム及びクライアント制御プログラム
JP2006202311A (ja) 制御用通信システム、および制御用通信プログラムを記録したコンピュータ読み取り可能な記録媒体
JP5472988B2 (ja) 文書管理装置、文書管理方法およびプログラム
JP4006135B2 (ja) ビデオオンデマンド支援システム及びウェブサーバ
JP5692291B2 (ja) 表示端末装置、情報処理装置、およびプログラム
KR101967170B1 (ko) I/o 제어에 의한 컴퓨터 스토리지 매니지먼트 시스템
JP7417044B2 (ja) 情報処理装置、情報処理システム、情報処理方法およびプログラム
JP2005173823A (ja) Webアプリケーション及びそのデータ共有方法、並びにプログラム
JP2015127878A (ja) 文書管理サーバー装置、情報処理方法及びプログラム
JP2016194760A (ja) 情報処理装置、情報処理装置の制御方法およびプログラム
JP5223807B2 (ja) サーバ装置、サーバベース・コンピューティング・システム、およびプログラム
JP2002132562A (ja) データベース更新システム
JP2002091836A (ja) 制御用通信システム、および制御用通信プログラムを記録したコンピュータ読み取り可能な記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130312

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131107

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20131112

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131125

R150 Certificate of patent or registration of utility model

Ref document number: 5434716

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150