JP2004295334A - 電子計算システム、サーバ装置およびプログラム - Google Patents

電子計算システム、サーバ装置およびプログラム Download PDF

Info

Publication number
JP2004295334A
JP2004295334A JP2003085026A JP2003085026A JP2004295334A JP 2004295334 A JP2004295334 A JP 2004295334A JP 2003085026 A JP2003085026 A JP 2003085026A JP 2003085026 A JP2003085026 A JP 2003085026A JP 2004295334 A JP2004295334 A JP 2004295334A
Authority
JP
Japan
Prior art keywords
server device
server
application software
sbc
client
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.)
Pending
Application number
JP2003085026A
Other languages
English (en)
Inventor
Naohisa Tanabe
直久 田辺
Takeshi Mie
武 三栄
Masafumi Higuchi
雅文 樋口
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2003085026A priority Critical patent/JP2004295334A/ja
Publication of JP2004295334A publication Critical patent/JP2004295334A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Multi Processors (AREA)

Abstract

【課題】クライアントがSBC技術を用いてSBCサーバ上でアプリケーションを遠隔利用している時に、クライアントに手間をかけることなく他のSBCサーバに処理を移行し、アプリケーションを継続的に利用することを可能とする。
【解決手段】SBCクライアント100がプロキシサーバ200を介してSBCサーバ300a上でアプリケーション305aを遠隔利用し、その後、必要に応じてプロキシサーバ200が、SBCクライアント100との間でステートレスなSBCプロトコルのコネクションを維持して、SBCクライアント100が利用するSBCサーバをSBCサーバ300aからSBCサーバ300bに切り替えるようにしたものである。
【選択図】 図1

Description

【0001】
【発明の属する技術分野】
この発明は、SBC(Server−Based Computing)技術により、クライアントがネットワークを通じて、サーバ側のアプリケーションソフトウェアを遠隔利用する電子計算システムに関する。
【0002】
【従来の技術】
近年、いわゆるSBC技術により、ネットワーク内のSBCサーバで稼動する任意のアプリケーションを、ネットワークに接続された単一のSBCクライアントのSBCブラウザから遠隔利用できる電子計算システムが開発されている(例えば、特許文献1参照)。
【0003】
図3を参照して、SBC技術を適用した従来の電子計算システムについて説明する。
10は、例えばパーソナルコンピュータやPDA(Personal Digital Assistants)などのSBCクライアントの端末装置であって、SBC技術を採用したSBCブラウザソフトウェア11を搭載している。
20は、SBC技術を採用したSBCサーバであって、OS(Operation System)の他に、アプリケーションソフトウェア(APL)22(以下、アプリケーションと略称する)と、上記OSとアプリケーション22との中間に位置し、OSよりも高度で具体的なサービス(機能)を提供するSBCミドルウェア21を備える。
また、SBCクライアント10とSBCサーバ20は、それぞれネットワークNWを通じて互いに通信するためのハードウェアおよびソフトウェアを備える。
【0004】
第1のステップS1として、SBCクライアント10では、SBCサーバ20上のアプリケーション22を遠隔利用する場合、ユーザによりマウス、キーボード、タブレット、ジョイスティック、その他任意の入力装置(図示しない)を使って入力操作がなされる。これ対して、SBCブラウザソフトウェア11は、ユーザによる入力操作情報を、ネットワークNWを介してSBCサーバ20上で稼動するSBCミドルウェア21に送信する。
【0005】
第2のステップS2として、SBCサーバ20では、SBCミドルウェア21が、ネットワークNWを通じてSBCブラウザソフトウェア11から受信した入力操作情報を、SBCミドルウェア11上で稼動するアプリケーション22に受け渡す。
【0006】
第3のステップS3として、SBCサーバ20では、アプリケーション22が、上記入力操作情報に基づいた処理を実行し、実行結果である画面更新情報をSBCミドルウェア21に供給する。
【0007】
第4のステップS4として、SBCサーバ20では、SBCミドルウェア21が、アプリケーション22から受け取った画面更新情報を、ネットワークNWを介してSBCクライアント10に転送する。これに対して、SBCクライアント10では、SBCブラウザソフトウェア11が上記画面更新情報の内容を画面上に表示させる。
【0008】
以上のように、SBC技術を適用した電子計算システムでは、高負荷のアプリケーションをSBCクライアント10ではなくSBCサーバ20側で実行し、その実行画面だけをクライアントに送信する。
これによりSBCクライアント10は、あたかも自分の端末にインストールされたアプリケーションを実行するかのように、SBCサーバ20内のアプリケーションを利用することができる。
【0009】
SBCクライアント10とSBCサーバ20との関係は基本的に1対1対応であり、複数のSBCクライアント10が存在する場合、各クライアントはそれぞれ単独でSBCサーバ20内のアプリケーションを利用する。
SBCクライアント10は、入力操作に対応した実行画面をサーバから受け取るだけなので、PDAなどの低性能の端末からでも複雑なアプリケーションを実行することができる。
【0010】
したがって、ユーザは、SBCサーバ20上のアプリケーション22を、SBCクライアント10にインストールされたアプリケーションのごとく利用することができる。
なお、SBCサーバ20上のアプリケーション22としては、SBCミドルウェア21が対応するOS上で動作し得るアプリケーションであればよく、例えば、エディタソフト、DTPソフト、CADソフト、ゲームソフトなど、基本的にどのようなアプリケーションでもほぼ対応可能である。
【0011】
ところが、SBC技術を適用した従来の電子計算システムは、現在のネットワークサービスの主流であるWebシステムと比較すると、サービスの可用性の面で明らかに劣ってしまう。
ここでいう可用性は、クライアントが一旦サーバに接続しサービスを受けている途中に、サーバ障害時や負荷分散のために他のサーバにシームレスに接続を切り替えることを意味している。当然、接続を切り替えるだけではなく、今までのクライアントの作業に支障をきたしてはならない。
【0012】
このような可用性を高める技術は、Webシステムにおいては多数のベンダーにより開発されているが、SBC技術を適用した従来の電子計算システムでは実現されていない。
というのは、Webシステムに比べSBCシステムは、上記の仕組みを実現しにくい特徴を有するためである。
【0013】
例えば、Webシステムで使用されるHTTP(Hyper Text Transport Protocol)プロトコルは、一般に「トランザクション型」と呼ばれ、request/responseで1つの処理が終わるというものである。
また、サーバ側では、一般に「ステートレス」と呼ばれ、HTTPトランザクションについての情報を保存しない仕組みになっている。このような特徴を持つため、WebクライアントとWebサーバの間にスイッチ等の機器を導入しさえずれば、いつでも接続するWebサーバを切り替えることができ、サービスの運用・管理の面でも優れている。
【0014】
それに比べて、SBCシステムで使用されるSBCプロトコルは、一般に「ストリーム型」と呼ばれ、1つのパケットで1つの処理が終わるというものではなく、絶えずネットワーク上を情報が流れ続ける。
また、SBCサーバ側では、一般的に「ステートフル」と呼ばれ、SBCサーバ側のアプリケーションの状態は常に変化している。そのため、クライアントが一旦SBCサーバに接続してアプリケーションの利用をはじめると、基本的に接続中は別のSBCサーバに切り替えることができない。Webシステムで適用されるスイッチ等をSBCクライアントとSBCサーバの間に導入しても、あまり意味をなさない。
【0015】
上記の理由により、SBC技術を適用した従来の電子計算システムでは、可用性を高める技術である負荷分散やフェイルオーバを適用することができない。
このため、可用性が低く、クライアントが一旦サーバに接続しサービスを受けている途中に、サーバ障害時や負荷分散のために他のサーバにシームレスに接続を切り替えることできなかったり、接続を切り替える際に、クライアントの作業継続に支障をきたす虞があるという問題があった。
【0016】
【特許文献1】
特開2002−222176公報(第3−5頁、図1)。
【0017】
【発明が解決しようとする課題】
従来の電子計算システムでは、可用性が低く、クライアントが一旦サーバに接続しサービスを受けている途中に、サーバ障害時や負荷分散のために他のサーバにシームレスに接続を切り替えることできなかったり、接続を切り替える際に、クライアントの作業継続に支障をきたす虞があるという問題があった。
【0018】
この発明は上記の問題を解決すべくなされたもので、クライアントがSBC技術を用いてSBCサーバ上でアプリケーションを遠隔利用している時に、クライアントに手間をかけることなく他のSBCサーバに処理を移行し、アプリケーションを継続的に利用することが可能な電子計算システムを提供することを目的とする。
【0019】
【課題を解決するための手段】
上記の目的を達成するために、請求項1に係わる本発明は、アプリケーションソフトウェアを実行可能な第1のサーバ装置と、アプリケーションソフトウェアと同じアプリケーションソフトウェアを実行可能な第2のサーバ装置と、ネットワークを通じて、第1のサーバ装置と第2のサーバ装置のうち、いずれか一方に選択的にアプリケーションソフトウェアを実行させるクライアント端末と、クライアント端末と、第1のサーバ装置あるいは第2のサーバ装置との間を仲介して両者を接続する第3のサーバ装置とを具備し、第3のサーバ装置は、クライアント端末が第1のサーバ装置にアプリケーションソフトウェアを実行させている場合に、クライアント端末との間の接続を保持するとともに、第1のサーバ装置に代わって第2のサーバ装置をクライアント端末に接続して、第2のサーバ装置にアプリケーションソフトウェアを実行させる制御手段を具備して構成するようにした。
【0020】
上記構成の電子計算システムでは、クライアント端末と、第1のサーバ装置あるいは第2のサーバ装置との間を仲介して両者を接続する第3のサーバ装置が、クライアント端末が第1のサーバ装置にアプリケーションソフトウェアを実行させている場合に、クライアント端末との間の接続を保持するとともに、第1のサーバ装置に代わって第2のサーバ装置をクライアント端末に接続して、第2のサーバ装置にアプリケーションソフトウェアを実行させるようにしている。
【0021】
したがって、上記構成の電子計算システムによれば、クライアント端末が第1のサーバ装置上でアプリケーションソフトウェアを遠隔利用している時に、クライアント端末に手間をかけることなく第2のサーバ装置に処理を移行し、アプリケーションソフトウェアの利用を継続することができ、また1つのサーバ装置に負荷が集中してしまうことを防止できる。
【0022】
また、請求項2に係わる本発明は、第3のサーバ装置が、第1のサーバ装置と第2のサーバ装置の運用状態を監視する監視手段を備え、制御手段が、監視手段の監視結果に応じて、クライアント端末との間の接続を保持し、アプリケーションソフトウェアを実行中の第1のサーバ装置に代わって第2のサーバ装置をクライアント端末に接続して、第2のサーバ装置にアプリケーションソフトウェアを実行させることを特徴とする。
【0023】
上記構成の電子計算システムでは、第1のサーバ装置と第2のサーバ装置の運用状態に応じて、クライアント端末が利用するサーバ装置を切り替えて、第2のサーバ装置にアプリケーションソフトウェアを実行させるようにしている。
【0024】
したがって、上記構成の電子計算システムによれば、クライアント端末が第1のサーバ装置上でアプリケーションソフトウェアを遠隔利用している時に、例えば第1のサーバ装置が高負荷になったり、あるいは障害が生じたりすると、これを検出して第2のサーバ装置に処理を移行できるので、アプリケーションソフトウェアの利用を継続することができ、また1つのサーバ装置に負荷が集中してしまうことを防止できる。
【0025】
そして、請求項3に係わる本発明は、制御手段の指示により、アプリケーションソフトウェアを実行中の第1のサーバ装置の処理状態を示す情報を記憶手段に記録する保存手段と、制御手段の指示により、保存手段によって記憶手段に保存された情報に基づいて、アプリケーションソフトウェアを第2のサーバ装置に実行させ、第1のサーバ装置で実行していた処理状態を復元する復元手段とを備えることを特徴とする。
【0026】
上記構成の電子計算システムでは、アプリケーションソフトウェアを実行中の第1のサーバ装置の処理状態を示す情報を記憶手段に記録しておき、その後、記憶手段に保存された情報に基づいて、アプリケーションソフトウェアを第2のサーバ装置に実行させ、第1のサーバ装置で実行していた処理状態を復元するようにしている。
【0027】
したがって、上記構成の電子計算システムによれば、第1のサーバ装置上のアプリケーションソフトウェアの動作を中断させても、その動作を第2のサーバ装置上で復元できるので、クライアント端末は継続的に処理を実行させることができる。
【0028】
また、請求項4に係わる本発明は、アプリケーションソフトウェアを実行可能な第1のサーバ装置と、アプリケーションソフトウェアと同じアプリケーションソフトウェアを実行可能な第2のサーバ装置と、第1のサーバ装置と第2のサーバ装置のうちいずれか一方に選択的にアプリケーションソフトウェアを実行させるクライアント端末との間を仲介して両者を接続するサーバ装置であって、クライアント端末が第1のサーバ装置にアプリケーションソフトウェアを実行させている場合に、クライアント端末との間の接続を保持するとともに、第1のサーバ装置に代わって第2のサーバ装置をクライアント端末に接続して、第2のサーバ装置にアプリケーションソフトウェアを実行させる制御手段を具備して構成するようにした。
【0029】
上記構成のサーバ装置では、クライアント端末と、第1のサーバ装置あるいは第2のサーバ装置との間を仲介して両者を接続し、クライアント端末が第1のサーバ装置にアプリケーションソフトウェアを実行させている場合に、クライアント端末との間の接続を保持するとともに、第1のサーバ装置に代わって第2のサーバ装置をクライアント端末に接続して、第2のサーバ装置にアプリケーションソフトウェアを実行させるようにしている。
【0030】
したがって、上記構成のサーバ装置によれば、クライアント端末が第1のサーバ装置上でアプリケーションソフトウェアを遠隔利用している時に、クライアント端末に手間をかけることなく第2のサーバ装置に処理を移行し、アプリケーションソフトウェアの利用を継続することができ、また1つのサーバ装置に負荷が集中してしまうことを防止できる。
【0031】
また、請求項5に係わる本発明は、第1のサーバ装置と第2のサーバ装置の運用状態を監視する監視手段を備え、制御手段が、監視手段の監視結果に応じて、クライアント端末との間の接続を保持し、アプリケーションソフトウェアを実行中の第1のサーバ装置に代わって第2のサーバ装置をクライアント端末に接続して、第2のサーバ装置にアプリケーションソフトウェアを実行させることを特徴とする。
【0032】
上記構成のサーバ装置では、第1のサーバ装置と第2のサーバ装置の運用状態に応じて、クライアント端末が利用するサーバ装置を切り替えて、第2のサーバ装置にアプリケーションソフトウェアを実行させるようにしている。
【0033】
したがって、上記構成のサーバ装置によれば、クライアント端末が第1のサーバ装置上でアプリケーションソフトウェアを遠隔利用している時に、例えば第1のサーバ装置が高負荷になったり、あるいは障害が生じたりすると、これを検出して第2のサーバ装置に処理を移行できるので、アプリケーションソフトウェアの利用を継続することができ、また1つのサーバ装置に負荷が集中してしまうことを防止できる。
【0034】
そして、請求項6に係わる本発明は、ネットワークを通じたクライアント端末からの要求に応じて、アプリケーションソフトウェアを実行するサーバ装置において、クライアント端末からの要求に応じて実行しているアプリケーションソフトウェアの動作状態を示す情報を記憶手段に記録する保存手段と、記憶手段に保存された情報に基づいて、アプリケーションソフトウェアの動作状態を復元して動作させる復元手段とを備えることを特徴とする。
【0035】
上記構成のサーバ装置では、実行中のアプリケーションソフトウェアの処理状態を示す情報を記憶手段に記録する機能と、記憶手段に保存された情報に基づく処理状態を復元して、アプリケーションソフトウェアを実行する機能とを備えている。
【0036】
したがって、上記構成のサーバ装置によれば、アプリケーションソフトウェアの動作を中断させても、その動作を記憶手段の情報に基づいて復元できるので、クライアント端末は継続的に処理を実行させることができる。
【0037】
そしてまた、請求項7に係わる本発明は、アプリケーションソフトウェアを実行可能な第1のサーバ装置と、アプリケーションソフトウェアと同じアプリケーションソフトウェアを実行可能な第2のサーバ装置と、第1のサーバ装置と第2のサーバ装置のうちいずれか一方に選択的にアプリケーションソフトウェアを実行させるクライアント端末との間を仲介して両者を接続するサーバ装置のプログラムであって、クライアント端末が第1のサーバ装置にアプリケーションソフトウェアを実行させている場合に、クライアント端末との間の接続を保持するとともに、第1のサーバ装置に代わって第2のサーバ装置をクライアント端末に接続して、第2のサーバ装置にアプリケーションソフトウェアを実行させる制御手段として、サーバ装置を機能させるようにプログラムを構成した。
【0038】
上記構成のプログラムでは、クライアント端末と、第1のサーバ装置あるいは第2のサーバ装置との間を仲介して両者を接続し、クライアント端末が第1のサーバ装置にアプリケーションソフトウェアを実行させている場合に、クライアント端末との間の接続を保持するとともに、第1のサーバ装置に代わって第2のサーバ装置をクライアント端末に接続して、第2のサーバ装置にアプリケーションソフトウェアを実行させるようにしている。
【0039】
したがって、上記構成のプログラムによれば、クライアント端末が第1のサーバ装置上でアプリケーションソフトウェアを遠隔利用している時に、クライアント端末に手間をかけることなく第2のサーバ装置に処理を移行し、アプリケーションソフトウェアの利用を継続することができ、また1つのサーバ装置に負荷が集中してしまうことを防止できる。
【0040】
さらに、請求項8に係わる本発明は、第1のサーバ装置と第2のサーバ装置の運用状態を監視する監視手段を備え、制御手段が、監視手段の監視結果に応じて、クライアント端末との間の接続を保持し、アプリケーションソフトウェアを実行中の第1のサーバ装置に代わって第2のサーバ装置をクライアント端末に接続して、第2のサーバ装置にアプリケーションソフトウェアを実行させることを特徴とする。
【0041】
上記構成のプログラムでは、第1のサーバ装置と第2のサーバ装置の運用状態に応じて、クライアント端末が利用するサーバ装置を切り替えて、第2のサーバ装置にアプリケーションソフトウェアを実行させるようにしている。
【0042】
したがって、上記構成のプログラムによれば、クライアント端末が第1のサーバ装置上でアプリケーションソフトウェアを遠隔利用している時に、例えば第1のサーバ装置が高負荷になったり、あるいは障害が生じたりすると、これを検出して第2のサーバ装置に処理を移行できるので、アプリケーションソフトウェアの利用を継続することができ、また1つのサーバ装置に負荷が集中してしまうことを防止できる。
【0043】
【発明の実施の形態】
以下、図面を参照して、この発明の一実施形態について説明する。
図1は、この発明の一実施形態に係わる電子計算システムの構成を示すものである。
SBCクライアント100は、例えばパーソナルコンピュータやPDAなどの端末装置であって、SBC技術を採用したSBCブラウザソフトウェア(以下、SBCブラウザと略称する)110を搭載している。
また、SBCクライアント100は、ネットワークNWを通じて、後述するプロキシサーバ200に接続するための対プロキシサーバ入出力部120を備えている。SBCクライアント100は、SBCブラウザ110および対プロキシサーバ入出力部120により、プロキシサーバ200に対してサービスを要求する。
【0044】
プロキシサーバ200は、後述するSBCサーバ300aおよびSBCサーバ300bのプロキシサーバであって、図示しない記憶部に記憶された制御プログラムにしたがって各部が動作するものであり、ネットワークNWを通じてSBCクライアント100と通信するための対クライアント入出力部201や、プロキシ機能を実現するために、プロキシ部として、仮想SBCサーバ220と仮想SBCクライアント230を備える。仮想SBCサーバ220は、APL画面配信部221とAPL操作受信部222とを備え、仮想SBCクライアント230は、APL画面受信部231とAPL操作配信部232と初期接続部233とを備える。
【0045】
そして、プロキシサーバ200は、対クライアント入出力部201を通じて、アクセスしてきたSBCクライアント100についてクライアント認証を行う。このクライアント認証手続きにおいて、プロキシサーバ200は、クライアント認証部202が、SBCクライアント100のクライアントID、パスワード、クライアントIPアドレスなどを受け取る。クライアント認証部202は、記憶部210のアカウントデータベース211から、予め登録してあるクライアントIDとパスワードを照合して正しければ認証を完了してSBCクライアント100に認証が完了した旨を通知する。
【0046】
そして、クライアント認証部202は、クライアント認証が成功したならば、セッション管理部203にセッションID、クライアントID、クライアントIPアドレス等を通知する。これに対して、セッション管理部203は、これらの情報を記憶部210のセッションデータベース212に記録する。そして、セッション管理部203は、SBCサーバ管理部204から接続可能なSBCサーバのIPアドレスを取得する。なお、SBCサーバ管理部204は、接続可能なSBCサーバのIPアドレスをSBCサーバ管理データベース214で管理している。そして、セッション管理部203は、SBCサーバ管理部204から取得したSBCサーバのIPアドレスを初期接続部233に通知する。
【0047】
初期接続部233は、対サーバ入出力部241を通じて、セッション管理部203から通知されたSBCサーバIPアドレスのSBCサーバに接続し、これに対してSBCクライアント100から要求されたサービスを要求する。ここでは、SBCサーバ300aにサービスの要求を行ったものとする。
【0048】
上記要求が与えられたSBCサーバ300aは、SBCミドルウェア301aが、初期接続部233からのサービス要求に応じて、この要求されたサービスに対応するアプリケーションソフトウェア(APL)305a(以下、アプリケーションと略称する)を起動する。そして、SBCミドルウェア301aは、起動されたアプリケーション305aの実行中の画面情報を対サーバ入出力部241を通じてプロキシサーバ200に送信する。
【0049】
これに対して、プロキシサーバ200では、SBCサーバ300aから送られた画面情報がAPL画面受信部231にて受信され、このようにして受信したアプリケーション305aの画面情報をAPL画面配信部221に供給する。APL画面配信部221は、セッション管理部203を通じて、セッションデータベース212から該当するクライアント、すなわちSBCクライアント100のIPアドレスを取得する。そして、APL画面配信部221は、取得したIPアドレスに基づいて、対クライアント入出力部201を通じ、SBCクライアント100に画面情報を配信する。
【0050】
これに対してSBCクライアント100では、対プロキシサーバ入出力部120を通じてSBCブラウザ110が画面情報を受信して、アプリケーション305aの実行中の画面を表示し、画面が遷移する。
以後、SBCブラウザ110を通じてユーザが操作した操作情報は、対プロキシサーバ入出力部120および対クライアント入出力部201を通じて、APL操作受信部222にて受信され、そして、APL操作配信部232および対サーバ入出力部241を介して、SBCサーバ300aに配信される。そして、上述したような画面情報のやりとりが、プロキシサーバ200を介してSBCクライアント100とSBCサーバ300aとの間で繰り返しなされる。
【0051】
一方、SBCサーバ300aでは、サーバ監視部302aが、定期的にプロキシサーバ200のSBCサーバ管理部204に対して、SBCサーバ監視情報を送信する。このSBCサーバ監視情報には、SBCサーバ300aにかかっている負荷、エラー情報、接続しているクライアント数、SBCサーバ300aのIPアドレス等の情報が含まれる。
【0052】
これに対して、プロキシサーバ200では、SBCサーバ管理部204が、SBCサーバ300aから上記サーバ監視情報を受信する。そして、SBCサーバ管理部204は、このサーバ監視情報に基づいて、あるパラメータが予め設定された(あるいは自動的に変動する)閾値を超えた場合、すなわちSBCクライアント100によるアプリケーション305aの利用に支障が生じていると判断した場合に、SBCサーバ情報通知部205を制御して、SBCクライアント100に対してSBCサーバ300aから他のサーバへの処理を移行(引っ越し)を提案する。なお、ここで、支障が生じる場合の一例としては、SBCサーバ300aのCPU使用率が80%を超えた場合や、SBCサーバ300aに接続しているクライアント数が10人を超えた場合などが考えられる。
【0053】
プロキシサーバ200では、SBCサーバ管理部204が、該当のSBCサーバ、すなわちSBCサーバ300aに接続しているSBCクライアントのIPアドレスを取得するために、セッション管理部203に対して問い合わせを行う。そして、SBCサーバ管理部204は、セッション管理部203から上記IPアドレスを取得すると、これに基づいてSBCサーバ情報通知部205および対クライアント入出力部201を介し、SBCクライアント100に対して、利用するSBCサーバの引っ越しを提案するメッセージ画面の情報を送信する。
【0054】
これに対して、SBCクライアント100は、対プロキシサーバ入出力部120が上記メッセージ画面の情報を受信すると、図2に示すように、自己の表示装置に、SBCブラウザ110の表示Bに重ねて上記メッセージ画面Mを表示して、ユーザに対して、SBCサーバ300aの利用を中断して、他のSBCサーバに処理を移行させるかを問う。
【0055】
ユーザは、SBCクライアント100の入力装置(図示しない)を操作し、SBCブラウザ110を通じて、上記の問いかけに対して、認容または却下の指示を与える。この指示を受け付けたSBCブラウザ110は、対プロキシサーバ入出力部120を通じて、プロキシサーバ200に上記指示を通知する。
【0056】
プロキシサーバ200では、対クライアント入出力部201を通じて上記指示をSBCサーバ管理部204が受信し、上記指示が認容を決定するものである場合は、引っ越し元であるSBCサーバ300aに対して、上記許容の指示を通知する。
【0057】
これに対して、SBCサーバ300aは、上記許容の指示をSBCミドルウェア301aが受信し、APL状態保存部303aに通知する。
なお、APL状態保存部303aは、SBCクライアント100が現在使用しているファイルの状態を保存し、SBCクライアント100によるアプリケーション305aの使用状況を記録するためのクライアントプロファイルを作成する機能を有する。
【0058】
具体的に、上記クライアントプロファイルには、クライアントID、セッションID、アプリケーション名、使用ファイル名等の情報が記載されている。SBCクライアント100が現在使用しているファイルの状態を保存する手法としては、Windows(登録商標)アプリケーションの場合、Microsoft(登録商標)社が提唱するCOM(Component Object Model)技術を用いることにより、アプリケーションに手を加えることなく、アプリケーションの外部から使用ファイル等を保存することができる。
【0059】
また、SBCクライアント100のアプリケーションの使用状況を記録するためには、Windows(登録商標)アプリケーションの場合、Microsoft(登録商標)社が提供するNativeAPlやWin32APlを利用することによりSBCクライアント100に関する様々な属性を取得することができる。
【0060】
SBCミドルウェア301aから許容の通知を受けたAPL状態保存部303aは、依頼を受けたSBCクライアント100のために、アプリケーション305aが処理しているファイル(APLファイル401)等の状態を共有ディスク400に保存するとともに、SBCクライアント100のアプリケーション305aの使用状況を表すユーザプロファイル402(クライアントID、アプリケーション名、アクセスしているファイル名、セッションID等が記載されているファイル)を作成し共有ディスク400に保存する。このような処理が終了すると、APL状態保存部303aは、処理が終了した旨をプロキシサーバ200に通知する。この旨はセッション管理部203に通知される。
【0061】
これに対して、セッション管理部203は、プロキシ部(仮想SBCサーバ220と仮想SBCクライアント230)に対して、SBCクライアント100とプロキシサーバ200との間のコネクションの維持命令を行う。これに対して、仮想SBCサーバ220と仮想SBCクライアント230は、上記維持命令に従って、SBCクライアント100とプロキシサーバ200との間のコネクションを維持する。
【0062】
そして、セッション管理部203は、SBCサーバ管理部204に対して、引っ越し先として最適なSBCサーバのIPアドレスを求める。これに対して、SBCサーバ管理部204は、SBCサーバ管理データベース213を参照して、最適な引っ越し先のSBCサーバのIPアドレスを検出し、これをセッション管理部203に通知する。
【0063】
そして、セッション管理部203は、SBCサーバ管理部204から通知されるSBCサーバ300bのIPアドレスを初期接続部233に通知する。なお、ここでは、最適な引っ越し先のSBCサーバとして、SBCサーバ300bが検出された場合を例に挙げて説明する。
【0064】
SBCサーバ300bは、SBCサーバ300aと同じ構成からなる。すなわち、SBCミドルウェア301aと301b、サーバ監視部302aと302b、APL状態保存部303aと303b、APL状態復元部304aと304b、アプリケーション305aと305bは、それぞれ同じ構成で同じ動作により同じ機能を発揮する。
【0065】
初期接続部233は、セッション管理部203から通知を受けると、対サーバ入出力部241を通じてSBCサーバ300bに対して、これから接続する旨および該当クライアントプロファイル名(SBCクライアント100)等を通知する。これらの情報は、APL状態復元部304bに通知される。
【0066】
APL状態復元部304bは、切り替え先のSBCサーバから直接アクセスできる共有ディスク400やネットワーク越しにアクセスできるディスク(図示しない)に保存しているクライアントプロファイルを読み込み、そのプロファイルに記載してある内容のアプリケーションから保存したファイルを読み込み、引っ越し前の状態に復元する機能を有するものである。
【0067】
通知を受けたAPL状態復元部304bは、共有ディスク400から該当のAPLファイル401やユーザプロファイル402を読み込み、アプリケーション305bを制御して、SBCサーバ300aで中断していた動作状態を復元する。
【0068】
一方、初期接続部233は、対サーバ入出力部241を通じて、引っ越し先のSBCサーバ300bと接続する。この接続と、SBCクライアント100とプロキシサーバ200との間に維持していたコネクションとにより、SBCクライアント100に対するサービスを再開し、アプリケーション305bを動作させ、SBCサーバの引っ越しがなされる。
【0069】
以上のように、上記構成の電子計算システムでは、SBCクライアント100がプロキシサーバ200を介してSBCサーバ300a上でアプリケーション305aを遠隔利用し、その後、必要に応じてプロキシサーバ200が、SBCクライアント100との間でステートレスなSBCプロトコルのコネクションを維持して、SBCクライアント100が利用するSBCサーバをSBCサーバ300aからSBCサーバ300bに切り替えるようにしている。
【0070】
したがって、上記構成の電子計算システムによれば、SBCクライアント100がSBCサーバ300a上でアプリケーションを遠隔利用している時に、クライアント100に手間をかけることなく他のSBCサーバ300bに処理を移行し、アプリケーションの利用を継続することができ、また1つのSBCサーバに負荷が集中してしまうことを防止できる。
【0071】
また上記構成の電子計算システムでは、プロキシサーバ200が、SBCクライアント100によるSBCサーバ300a上でのアプリケーション305aの利用状況を保存し、これに基づいて、他のSBCサーバ300b上に中断した利用状況を復元するようにしてる。
したがって、上記構成の電子計算システムによれば、他のSBCサーバ300bに処理を移行しても、中断した利用状況が復元できるので、アプリケーションを継続的に利用することができる。
【0072】
さらに、上記構成の電子計算システムでは、SBCクライアント100が遠隔利用しているSBCサーバ300aの運用状態をプロキシサーバ200が監視し、SBCサーバ300aが例えば高負荷状態になると、プロキシサーバ200がSBCクライアント100に対して、遠隔利用するSBCサーバを切り替える提案を行い、この提案にSBCクライアント100が同意した場合に、SBCサーバを切り替えるようにしている。
したがって、上記構成の電子計算システムによれば、SBCクライアント100の意思により、遠隔利用しているSBCサーバを切り替えるようにしているので、例えばサービス的かつビジネス的な種々の要素を取り入れることが可能となる。
【0073】
例えば、プロキシサーバ200からSBCクライアント100に対する問いかけとしては、「現在、あなた様が接続しているSBCサーバは大変混みあっております。別のサーバに引っ越しなさいますか?」や「今接続しているSBCサーバよりサービス料の安いSBCサーバが空いています。そちらに引っ越しなさいますか?」等が考えられる。
また、SBCサーバのメンテナンス時に、SBCサーバを利用しているSBCクライアントに対して何らかの特典を提示して、他のSBCサーバを運用してもらう場合にも利用することができる。
【0074】
なお、この発明は上記実施形態そのままに限定されるものではなく、実施段階ではその用紙を逸脱しない範囲で構成要素を変形して具体化できる。また上記実施形態に開示されている複数の構成要素を適宜組み合わせることによって種々の発明を形成できる。また例えば、実施形態に示される全構成要素からいくつかの構成要素を削除した構成も考えられる。さらに、異なる実施形態に記載した構成要素を適宜組み合わせてもよい。
【0075】
その一例として例えば、上記実施の形態では、SBCサーバ300a,300bに、サーバ監視部302aと302b、APL状態保存部303aと303b、APL状態復元部304aと304bを備えるようにしたが、これらや共有ディスク400に相当する機能をプロキシサーバに設けるようにしてもよい。
その他、この発明の要旨を逸脱しない範囲で種々の変形を施しても同様に実施可能であることはいうまでもない。
【0076】
【発明の効果】
以上述べたように、この発明では、クライアント端末と、第1のサーバ装置あるいは第2のサーバ装置との間を仲介して両者を接続する第3のサーバ装置が、クライアント端末が第1のサーバ装置にアプリケーションソフトウェアを実行させている場合に、クライアント端末との間の接続を保持するとともに、第1のサーバ装置に代わって第2のサーバ装置をクライアント端末に接続して、第2のサーバ装置にアプリケーションソフトウェアを実行させるようにしている。
したがって、この発明によれば、クライアント端末が第1のサーバ装置上でアプリケーションソフトウェアを遠隔利用している時に、クライアント端末に手間をかけることなく第2のサーバ装置に処理を移行し、アプリケーションソフトウェアの利用を継続することができ、また1つのサーバ装置に負荷が集中してしまうことを防止可能な電子計算システム、サーバ装置およびプログラムを提供できる。
【0077】
またこの発明では、第1のサーバ装置と第2のサーバ装置の運用状態に応じて、クライアント端末が利用するサーバ装置を切り替えて、第2のサーバ装置にアプリケーションソフトウェアを実行させるようにしている。
したがって、この発明によれば、クライアント端末が第1のサーバ装置上でアプリケーションソフトウェアを遠隔利用している時に、例えば第1のサーバ装置が高負荷になったり、あるいは障害が生じたりすると、これを検出して第2のサーバ装置に処理を移行できるので、アプリケーションソフトウェアの利用を継続することができ、また1つのサーバ装置に負荷が集中してしまうことを防止できる。
【0078】
さらに、この発明では、アプリケーションソフトウェアを実行中の第1のサーバ装置の処理状態を示す情報を記憶手段に記録しておき、その後、記憶手段に保存された情報に基づいて、アプリケーションソフトウェアを第2のサーバ装置に実行させ、第1のサーバ装置で実行していた処理状態を復元するようにしている。
したがって、この発明によれば、第1のサーバ装置上のアプリケーションソフトウェアの動作を中断させても、その動作を第2のサーバ装置上で復元できるので、クライアント端末は継続的に処理を実行させることができる。
【図面の簡単な説明】
【図1】この発明に係わる電子計算システムの一実施形態の構成を示す回路ブロック図。
【図2】図1に示した電子計算システムのSBCクライアントの表示装置における表示例を示す図。
【図3】従来の電子計算システムの構成を示す図。
【符号の説明】
100…SBCクライアント、110…SBCブラウザ、120…対プロキシサーバ入出力部、200…プロキシサーバ、201…対クライアント入出力部、202…クライアント認証部、203…セッション管理部、204…SBCサーバ管理部、205…SBCサーバ情報通知部、210…記憶部、211…アカウントデータベース、212…セッションデータベース、213…サーバ管理データベース、214…サーバ管理データベース、220…仮想SBCサーバ、221…APL画面配信部、222…APL操作受信部、230…仮想SBCクライアント、231…APL画面受信部、232…APL操作配信部、233…初期接続部、241…対サーバ入出力部、300a…SBCサーバ、300b…SBCサーバ、301a…SBCミドルウェア、302a…サーバ監視部、303a…APL状態保存部、304a…APL状態復元部、305a…アプリケーション(APL)、301b…SBCミドルウェア、302b…サーバ監視部、303b…APL状態保存部、304b…APL状態復元部、305b…アプリケーション(APL)、400…共有ディスク、401…APLファイル、402…ユーザプロファイル、NW…ネットワーク。

Claims (8)

  1. アプリケーションソフトウェアを実行可能な第1のサーバ装置と、
    前記アプリケーションソフトウェアと同じアプリケーションソフトウェアを実行可能な第2のサーバ装置と、
    ネットワークを通じて、前記第1のサーバ装置と前記第2のサーバ装置のうち、いずれか一方に選択的にアプリケーションソフトウェアを実行させるクライアント端末と、
    前記クライアント端末と、前記第1のサーバ装置あるいは第2のサーバ装置との間を仲介して両者を接続する第3のサーバ装置とを具備し、
    前記第3のサーバ装置は、前記クライアント端末が前記第1のサーバ装置にアプリケーションソフトウェアを実行させている場合に、前記クライアント端末との間の接続を保持するとともに、前記第1のサーバ装置に代わって前記第2のサーバ装置を前記クライアント端末に接続して、前記第2のサーバ装置にアプリケーションソフトウェアを実行させる制御手段を備えることを特徴とする電子計算システム。
  2. 前記第3のサーバ装置は、
    さらに、前記第1のサーバ装置と前記第2のサーバ装置の運用状態を監視する監視手段を備え、
    前記制御手段は、前記監視手段の監視結果に応じて、前記クライアント端末との間の接続を保持し、アプリケーションソフトウェアを実行中の第1のサーバ装置に代わって前記第2のサーバ装置を前記クライアント端末に接続して、前記第2のサーバ装置にアプリケーションソフトウェアを実行させることを特徴とする請求項1に記載の電子計算システム。
  3. さらに、前記制御手段の指示により、アプリケーションソフトウェアを実行中の第1のサーバ装置の処理状態を示す情報を記憶手段に記録する保存手段と、
    前記制御手段の指示により、前記保存手段によって前記記憶手段に保存された情報に基づいて、アプリケーションソフトウェアを前記第2のサーバ装置に実行させ、前記第1のサーバ装置で実行していた処理状態を復元する復元手段とを備えることを特徴とする請求項1または請求項2に記載の電子計算システム。
  4. アプリケーションソフトウェアを実行可能な第1のサーバ装置と、前記アプリケーションソフトウェアと同じアプリケーションソフトウェアを実行可能な第2のサーバ装置と、前記第1のサーバ装置と前記第2のサーバ装置のうちいずれか一方に選択的にアプリケーションソフトウェアを実行させるクライアント端末との間を仲介して両者を接続するサーバ装置であって、
    前記クライアント端末が前記第1のサーバ装置にアプリケーションソフトウェアを実行させている場合に、前記クライアント端末との間の接続を保持するとともに、前記第1のサーバ装置に代わって前記第2のサーバ装置を前記クライアント端末に接続して、前記第2のサーバ装置にアプリケーションソフトウェアを実行させる制御手段を備えることを特徴とするサーバ装置。
  5. さらに、前記第1のサーバ装置と前記第2のサーバ装置の運用状態を監視する監視手段を備え、
    前記制御手段は、前記監視手段の監視結果に応じて、前記クライアント端末との間の接続を保持し、アプリケーションソフトウェアを実行中の第1のサーバ装置に代わって前記第2のサーバ装置を前記クライアント端末に接続して、前記第2のサーバ装置にアプリケーションソフトウェアを実行させることを特徴とする請求項4に記載のサーバ装置。
  6. ネットワークを通じたクライアント端末からの要求に応じて、アプリケーションソフトウェアを実行するサーバ装置において、
    クライアント端末からの要求に応じて実行しているアプリケーションソフトウェアの動作状態を示す情報を記憶手段に記録する保存手段と、
    前記記憶手段に保存された情報に基づいて、アプリケーションソフトウェアの動作状態を復元して動作させる復元手段とを備えることを特徴とするサーバ装置。
  7. アプリケーションソフトウェアを実行可能な第1のサーバ装置と、前記アプリケーションソフトウェアと同じアプリケーションソフトウェアを実行可能な第2のサーバ装置と、前記第1のサーバ装置と前記第2のサーバ装置のうちいずれか一方に選択的にアプリケーションソフトウェアを実行させるクライアント端末との間を仲介して両者を接続するサーバ装置のプログラムであって、
    前記クライアント端末が前記第1のサーバ装置にアプリケーションソフトウェアを実行させている場合に、前記クライアント端末との間の接続を保持するとともに、前記第1のサーバ装置に代わって前記第2のサーバ装置を前記クライアント端末に接続して、前記第2のサーバ装置にアプリケーションソフトウェアを実行させる制御手段として、前記サーバ装置を機能させるためのプログラム。
  8. さらに、前記第1のサーバ装置と前記第2のサーバ装置の運用状態を監視する監視手段として機能させ、
    前記制御手段は、前記監視手段の監視結果に応じて、前記クライアント端末との間の接続を保持し、アプリケーションソフトウェアを実行中の第1のサーバ装置に代わって前記第2のサーバ装置を前記クライアント端末に接続して、前記第2のサーバ装置にアプリケーションソフトウェアを実行させることを特徴とする請求項7に記載のプログラム。
JP2003085026A 2003-03-26 2003-03-26 電子計算システム、サーバ装置およびプログラム Pending JP2004295334A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003085026A JP2004295334A (ja) 2003-03-26 2003-03-26 電子計算システム、サーバ装置およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003085026A JP2004295334A (ja) 2003-03-26 2003-03-26 電子計算システム、サーバ装置およびプログラム

Publications (1)

Publication Number Publication Date
JP2004295334A true JP2004295334A (ja) 2004-10-21

Family

ID=33400049

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003085026A Pending JP2004295334A (ja) 2003-03-26 2003-03-26 電子計算システム、サーバ装置およびプログラム

Country Status (1)

Country Link
JP (1) JP2004295334A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006228220A (ja) * 2005-02-18 2006-08-31 Internatl Business Mach Corp <Ibm> ブレード・サーバにおけるクライアント再割り当てのためのシステムおよび方法
JP2006236040A (ja) * 2005-02-25 2006-09-07 Fujitsu Ltd 分散サーバ故障応答プログラム,サーバ負荷分散装置および方法
JP2008186222A (ja) * 2007-01-30 2008-08-14 Seiko Epson Corp アプリケーション実行システム、コンピュータ、アプリケーション実行システムのアプリケーション実行方法およびプログラム
JP2008217290A (ja) * 2007-03-02 2008-09-18 Casio Comput Co Ltd サーバ装置、情報処理システム、サーバ制御プログラム
JP2009502087A (ja) * 2005-07-19 2009-01-22 サムスン エレクトロニクス カンパニー リミテッド ネットワーク装置へ非同期通知を伝送する方法及びシステム

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006228220A (ja) * 2005-02-18 2006-08-31 Internatl Business Mach Corp <Ibm> ブレード・サーバにおけるクライアント再割り当てのためのシステムおよび方法
JP2006236040A (ja) * 2005-02-25 2006-09-07 Fujitsu Ltd 分散サーバ故障応答プログラム,サーバ負荷分散装置および方法
JP4616035B2 (ja) * 2005-02-25 2011-01-19 富士通株式会社 サーバ負荷分散プログラム,装置および方法
JP2009502087A (ja) * 2005-07-19 2009-01-22 サムスン エレクトロニクス カンパニー リミテッド ネットワーク装置へ非同期通知を伝送する方法及びシステム
JP2008186222A (ja) * 2007-01-30 2008-08-14 Seiko Epson Corp アプリケーション実行システム、コンピュータ、アプリケーション実行システムのアプリケーション実行方法およびプログラム
JP2008217290A (ja) * 2007-03-02 2008-09-18 Casio Comput Co Ltd サーバ装置、情報処理システム、サーバ制御プログラム

Similar Documents

Publication Publication Date Title
US7076691B1 (en) Robust indication processing failure mode handling
US20170310596A1 (en) Load distribution in data networks
JP4107676B2 (ja) トランザクション引継ぎシステム
CN105579960B (zh) 计算会话的管理
EP2761451B1 (en) System and method for providing flexibility in load balancing and data compression in a traffic director environment
AU2014302471B2 (en) Management of computing sessions
JP6182265B2 (ja) コンピューティングセッションの管理
KR20080068647A (ko) 이형, 분산 컴퓨팅 시스템에 서비스 애플리케이션 실행환경을 형성하기 위한 방법 및 시스템, 그리고 상기 서비스애플리케이션 실행 환경에서 실행하는 사용자 친화적데이터 전달 서비스 애플리케이션
JP2005535241A (ja) マルチコンピュータ・アーキテクチャにおけるアプリケーション・ソフトウェアの移動方法、前記移動方法を用いて作動の連続性を実現するマルチコンピュータ方法および装置
JP2004519024A (ja) 多数のノードを含むクラスタを管理するためのシステム及び方法
JP2007156569A (ja) クラスタシステム、ロードバランサ、ノード振替方法およびノード振替プログラム
JP2011501254A (ja) セッション・アフィニティを使用する分散環境においてフェイルオーバを処理する方法及びシステム
CN111984289A (zh) 一种服务更新方法、装置、设备及存储介质
JP2016525245A (ja) コンピューティングセッションの管理
CN111858007A (zh) 一种基于消息中间件的任务调度方法方法和装置
US20060161651A1 (en) Managing resources within a fault tolerant collaboration system
JP4515262B2 (ja) フォールトトレランススキームを動的に切換えるための方法
JP2004295334A (ja) 電子計算システム、サーバ装置およびプログラム
JPWO2006057040A1 (ja) コンピュータ・システム及び情報処理方法
JP2004356867A (ja) ユビキタス・ストリーミング装置及びユビキタス・ストリーミング制御方法並びにプログラム
JP5522735B2 (ja) セッション管理装置、セッション管理システム、セッション管理方法、及びプログラム
JP4364150B2 (ja) リソース共用装置、方法、及びプログラム
JP5691248B2 (ja) タスク引継プログラム、処理装置及びコンピュータ・システム
Kalim et al. Mobile-to-grid middleware: An approach for breaching the divide between mobile and grid environments
JP2004295656A (ja) 通信システム、クライアント装置及びクライアント装置によるサーバ装置の負荷分散方法