(57)【特許請求の範囲】
【請求項１】
クライアント端末と、
アプリケーションを実行した結果を出力する第１のサーバと、
前記クライアント端末及び前記第１のサーバと通信可能に接続され、仮想マシンが搭載された第２のサーバと、を備え、
前記第２のサーバは、前記クライアント端末から、前記仮想マシンを介して前記第１のサーバへの接続要求を受領すると、前記第１のサーバへの接続に用いる接続情報を前記クライアント端末へ送信し、
前記クライアント端末は、前記接続情報を含む、前記第１のサーバへの接続要求を前記第１のサーバへ送信し、
前記第１のサーバは、前記クライアント端末から前記接続情報を含む前記接続要求を受信すると、前記クライアント端末と前記第１のサーバとの第一の接続状況を、前記クライアント端末と前記仮想マシンとの第二の接続状況と同期させる、リモートデスクトップシステム。
【請求項２】
前記第一の接続状況は、前記第１のサーバが前記第２のサーバに送信した第一の情報と、前記第２のサーバが前記第１のサーバ及び前記クライアント端末に送信した第二の情報とで生成される第三の情報を、前記第１のサーバが前記クライアント端末から受信した場合、接続されているとする、請求項１に記載のリモートデスクトップシステム。
【請求項３】
前記第一の情報がチャレンジ情報であり、前記第二の情報が共通鍵であり、前記第三の情報がレスポンス情報である、請求項２に記載のリモートデスクトップシステム。
【請求項４】
前記第２のサーバは、前記第１のサーバへの接続に用いる接続情報を、通信可能に接続したコネクションブローカから取得し、前記クライアント端末へ送信する、請求項１から３のいずれか１項に記載のリモートデスクトップシステム。
【請求項５】
前記第一の接続状況を、所定の間隔で確認する、請求項２または３に記載のリモートデスクトップシステム。
【請求項６】
前記クライアント端末と前記仮想マシンとの接続はリモートデスクトップ接続である、請求項１記載のリモートデスクトップシステム。
【請求項７】
共通鍵と第１のサーバから受信したチャレンジ情報とをクライアント端末に送信し、また、前記共通鍵を前記第１のサーバに送信する送信手段と、
クライアント端末からの要求に応じて、前記クライアント端末との間でリモートデスクトップ接続を開始するリモートデスクトップ制御手段と、を備え、
前記リモートデスクトップ接続の時のアカウント情報と、前記クライアント端末からのアプリケーション実行要求とに基づいて、前記第１のサーバへの接続情報を入手し、前記クライアント端末に送信する仮想マシン。
【請求項８】
共通鍵と第１のサーバから受信したチャレンジ情報とをクライアント端末に随時送信し、また、前記共通鍵を前記第１のサーバに随時送信し、
クライアント端末からの要求に応じて、前記クライアント端末との間でリモートデスクトップ接続を開始し、
前記リモートデスクトップ接続の時のアカウント情報と、前記クライアント端末からのアプリケーション実行要求とに基づいて、前記第１のサーバへの接続情報を入手し、前記クライアント端末に送信する、リモートデスクトップ接続方法。
【発明の詳細な説明】
【技術分野】
【０００１】
仮想マシン及びリモートデスクトップシステムであって、アプリケーションサーバとの接続に関する、仮想マシン及びリモートデスクトップシステム。
【背景技術】
【０００２】
仮想デスクトップを実現する仮想デスクトップインフラ（Ｖｉｒｔｕａｌ  Ｄｅｓｋｔｏｐ  Ｉｎｆｒａｓｔｒｕｃｔｕｒｅ、ＶＤＩ）方式のシステムに、リモートデスクトップによりクライアントにアプリケーションを提供する、アプリケーションサーバを組み入れた構成が存在する。特許文献１には、シンクライアント端末と仮想ＰＣとがリモートデスクトップ接続するシンクライアントシステムが開示されている。クライアントがリモートデスクトップによりアプリケーションサーバ上のアプリケーションを利用する場合、アプリケーションサーバ上でアプリケーションの描画処理がなされ、仮想マシン上に描画される。この仮想マシン上の描画がクライアント端末上に描画される。
【０００３】
このような従来のシンクライアントシステムでは、仮想マシン上でアプリケーション画面が一度描画されるため、直接アプリケーションサーバにリモートデスクトップ接続しクライアント端末上で描画する場合と比較して描画量が増加し、アプリケーション画面がクライアント端末に出力されるまでに時間を要す。一方、直接クライアント端末にリモートデスクトップ接続する場合、以下の仮想マシンを介する場合と比較し、クライアント端末は直接アプリケーションサーバへの接続先を知ることができない。
【０００４】
図９を参照すると、仮想マシンを介する構成では、クライアントに割り当てる仮想マシンを決定するコネクションブローカと、アプリケーションサーバ上のアプリケーションをクライアントに割り当てるコネクションブローカとの２つのコネクションブローカが含まれる。直接接続の場合には、少なくともアプリケーションを割り当てるコネクションブローカを介さない。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１１−１９８１９３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述したように、クライアント端末とアプリケーションサーバとの間で直接接続しようとする場合、クライアント端末が、接続先のアプリケーションサーバの選択と、選択したサーバへの接続情報の取得を何等かの方法で行う必要がある。さらに、直接接続が可能になったとした場合、不特定のモバイル端末からアプリケーションサーバにリモートデスクトップ接続できてしまう可能性があるため、アプリケーションサーバへリモートデスクトップ接続する場合の認証において、ユーザアカウント情報だけでなく、接続元のモバイル端末を認証する仕組みが必要である。
【課題を解決するための手段】
【０００７】
本発明のリモートデスクトップシステムは、クライアント端末と、アプリケーションを実行した結果を出力する第１のサーバと、クライアント端末及びサーバと通信可能に接続され、仮想マシンが搭載された第２のサーバと、を備え、第２のサーバは、クライアント端末から、仮想マシンを介して第１のサーバへの接続要求を受領すると、第１のサーバへの接続に用いる接続情報をクライアント端末へ送信し、クライアント端末は、接続情報を含む、第１のサーバへの接続要求を第１のサーバへ送信し、第１のサーバは、クライアント端末から接続情報を含む接続要求を受信すると、クライアント端末と第１のサーバとの第一の接続状況を、クライアント端末と仮想マシンとの第二の接続状況と同期させる。
【発明の効果】
【０００８】
本発明のリモートデスクトップシステムは、クライアント端末と第１のサーバとが直接接続して、第１のサーバ上のアプリケーションをクライアントが使用でき、かつ仮想マシンを介した接続と同様のセキュリティレベルを維持できる。
【図面の簡単な説明】
【０００９】
【図１】本発明の第一の実施形態におけるリモートデスクトップシステムのブロック図である。
【図２】本発明の第一の実施形態におけるリモートデスクトップシステムの動作を示すフローチャートである。
【図３】本発明の第二の実施形態におけるリモートデスクトップシステムの機能構成図である。
【図４】本発明の第二の実施形態におけるリモートデスクトップシステムの動作を示すフローチャートである。
【図５】本発明の第二の実施形態におけるリモートデスクトップシステムの動作を示すフローチャートである。
【図６】本発明の第二の実施形態におけるリモートデスクトップシステムの動作を示すフローチャートである。
【図７】本発明の第二の実施形態におけるリモートデスクトップシステムの動作を示すフローチャートである。
【図８】本発明の第二の実施形態におけるリモートデスクトップシステムの動作を示すフローチャートである。
【図９】仮想デスクトップシステムに第１のサーバを組み込んだ構成の構成例を示す概念図である。
【発明を実施するための形態】
【００１０】
以下に、本発明を実施するための好ましい形態について図面を参照して詳細に説明する。ただし、以下に述べる実施形態は本発明を実施するために技術的に好ましい限定がされているが、発明の範囲を以下に限定するものではない。
【００１１】
［第一の実施形態］本実施形態について図面を参照して詳細に説明する。
［構成の説明］図１を参照すると、第一の実施形態におけるリモートデスクトップシステム１００は、クライアント端末１と、第１のサーバ２と、第２のサーバ３と、を備える。クライアント端末１は、第２のサーバ３から受信した接続情報を含む第１のサーバ２への接続要求を第１のサーバ２へ送信する。
【００１２】
第１のサーバ２は、クライアント端末１及び第２のサーバ３と通信可能に接続され、アプリケーションを実行した結果を出力する。第１のサーバ２は、クライアント端末１から接続情報を含む接続要求を受信すると、クライアント端末１と第１のサーバ２との第一の接続状況を、クライアント端末１と仮想マシン３ａとの第二の接続状況と同期させる。クライアント端末１と仮想マシン３ａとの接続は、例えばリモートデスクトップ接続である。
【００１３】
第２のサーバ３は、クライアント端末１及び第１のサーバ２と通信可能に接続されている。第２のサーバは仮想マシン３ａを備える。クライアント端末１は、仮想マシン３ａを介して第１のサーバ２への接続要求を行う。第２のサーバ３は、クライアント端末１から、仮想マシン３ａを介して第１のサーバ２への接続要求を受領すると、第１のサーバ２への接続に用いる接続情報をクライアント端末１へ送信する。
【００１４】
［動作の説明］次に、リモートデスクトップシステム１００の動作を説明する。図２を参照すると、クライアント端末１と仮想マシン３ａとが接続される。この接続の状況を第一の接続状況とする（ＳＴＥＰ１）。クライアント端末１を使用するユーザが、クライアント端末１から、仮想マシン３ａを介して第１のサーバ２への接続要求を行う（ＳＴＥＰ２）。この接続要求を受領すると、第２のサーバ３は、第１のサーバ２への接続に用いる接続情報をクライアント端末１へ送信する（ＳＴＥＰ３）。接続情報を受信すると、クライアント端末１は、接続情報を含む、第１のサーバ２への接続要求を第１のサーバ２へ送信する（ＳＴＥＰ４）。クライアント端末１から接続情報を含む接続要求を受信すると、第１のサーバ３は、クライアント端末１と第１のサーバ３と第一の接続状況を、クライアント端末１と仮想マシン３ａとの第二の接続状況と同期させる（ＳＴＥＰ５）。
【００１５】
［効果の説明］本実施形態におけるリモートデスクトップシステム１００においては、第２のサーバ３は、リモートデスクトップ接続を介した接続要求の要求元であるクライアント端末１へ、第１のサーバ２への接続に用いる接続情報を送信する。このため、クライアント端末１と第１のサーバ２とが直接接続し、第１のサーバ２上のアプリケーションをクライアント端末から利用できる。
【００１６】
また、本実施形態におけるリモートデスクトップシステム１００では、クライアント端末１と第１のサーバ２との直接接続の接続状況（第一の接続状況）を、クライアント端末１と仮想マシン３ａとのリモートデスクトップ接続の接続状況（第二の接続状況）と同期させる。具体的には、仮想マシン３ａとのリモートデスクトップ接続の接続時に認証したクライアント端末１を、認証されたリモートデスクトップ接続の接続が維持されている間、第１のサーバ２と直接接続させる。同様に、リモートデスクトップ接続が切断されると、クライアント端末１と第１のサーバ２との直接接続も切断される。加えて、第２のサーバ３から受信する接続情報を用いて、クライアント端末１と第１のサーバ２とが接続される。このことで、クライアント端末１と第１のサーバ２との直接接続を、仮想マシン３ａを介した第１のサーバと２の接続と、同様のセキュリティレベルとすることができる。
【００１７】
［第二の実施形態］次に、第二の実施形態について図面を参照して詳細に説明する。
［構成の説明］図３を参照すると、第二の実施形態におけるリモートデスクトップシステム１１０は、シンクライアント端末１０と、仮想マシン２０と、コネクションブローカ３０と、アプリケーションサーバ４０と、を備える。シンクライアント端末は、第一の実施形態におけるクライアント端末１に相当する。同様に、アプリケーションサーバ４０は、第１のサーバに相当する。
【００１８】
シンクライアント端末１０は、仮想マシン２０と、アプリケーションサーバ４０とに通信可能に接続され、各々とリモートデスクトップ接続される。シンクライアント端末１０は、リモートデスクトップクライアント１１、端末側連携部１２、端末側認証連携部１３及びリモートデスクトップクライアント１４を備える。シンクライアント端末１０は、モバイル端末であってもよい。
【００１９】
仮想マシン２０は、シンクライアント端末１０と、コネクションブローカ３０と、アプリケーションサーバ４０とに通信可能に接続される。仮想マシン２０は、シンクライアント端末１０とリモートデスクトップ接続される。仮想マシン２０は、シンクライアント端末１０がアプリケーションサーバ４０に接続する場合に用いる接続情報を、コネクションブローカ３０から取得する。仮想マシン２０は、セッション管理部２１、リモートデスクトップサーバ２２、アプリケーション起動部２３、仮想マシン側連携部２４、コネクションブローカクライアント２５、仮想マシン側認証連携部２６を含んでいる。仮想マシン２０は、図示しないシンクライアントサーバ上で動作する。シンクライアントサーバ上に複数の仮想マシン２０を動作させることが可能である。
【００２０】
コネクションブローカ３０は、仮想マシン２０と通信可能に接続されている。コネクションブローカ３０は、他端末からアプリケーションサーバ４０への接続を管理しており、コネクションブローカクライアント２５からアプリケーションサーバ４０への接続要求を受けると、自身が保持しているアプリケーションサーバ４０への接続情報を返却する。
【００２１】
アプリケーションサーバ４０は、シンクライアント端末１０及び仮想マシン２０と通信可能に接続される。アプリケーションサーバ４０は、セッション管理部４１、サーバ側認証連携部４２、認証連携部用タイマー４３及びリモートデスクトップサーバ４４を含んでいる。アプリケーションサーバ４０は、リモートデスクトップサーバ４４上でアプリケーションを公開している。このアプリケーションは、シンクライアント端末１０とリモートデスクトップサーバ４４とがリモートデスクトップ接続しているとき、シンクライアント端末から利用できる。
【００２２】
次に、シンクライアント端末１０、仮想マシン２０、コネクションブローカ３０及びアプリケーションサーバ４０の構成の詳細を説明する。
【００２３】
まず、シンクライアント端末１０において、リモートデスクトップクライアント１１は、仮想マシン２０上のセッション管理部２１を通して、リモートデスクトップサーバ２２に接続され、仮想マシン２０を操作する。リモートデスクトップクライアント１１がリモートデスクトップサーバ２２に接続されるとき、ユーザがリモートデスクトップクライアント１１から情報を入力することでユーザアカウント情報が生成される。このユーザアカウント情報は、リモートデスクトップクライアント１１からリモートデスクトップサーバ２２に送信される。端末側連携部１３は、仮想マシン側連携部２４からアプリケーションサーバ４０への接続情報や、アプリケーション起動部２３のユーザアカウント情報などを通知されると、リモートデスクトップクライアント１４を起動する。
【００２４】
端末側認証連携部１３は、仮想マシン側認証連携部２６及びサーバ側認証連携部４２と連携して、リモートデスクトップクライアント１４とリモートデスクトップサーバ４４との接続が可能か否かを判断する機能を提供する。この機能において、端末側認証連携部１３は、第一に、仮想マシン側認証連携部２６からチャレンジ−レスポンス認証で使用する共通鍵を受け取る。端末側認証連携部１３は、第二に、仮想マシン側認証連携部２６からチャレンジ−レスポンス認証のチャレンジ情報を受け取ったら、第三に、端末側認証連携部１３は、チャレンジ情報と、前のステップで受け取った共通鍵とを使用してレスポンス生成処理を実施し、レスポンス情報の文字列を生成する。端末側連携部１３は、この生成した文字列を、サーバ側認証連携部４２に送付する。
【００２５】
リモートデスクトップクライアント１４は、端末側連携部１３によって起動され、アプリケーションサーバ４０上のセッション管理部４１を通して、リモートデスクトップサーバ４４と接続される。
【００２６】
次に、仮想マシン２０において、セッション管理部２１は、リモートデスクトップクライアント１１とリモートデスクトップサーバ２２との間のリモートデスクトップ接続を管理する。セッション管理部２１は、リモートデスクトップクライアント１１から受信したユーザアカウント情報を用いて、リモートデスクトップ接続を利用するユーザのユーザ認証を行い、認証後にリモートデスクトップ接続させる。また、セッション管理部２１は、これらがリモートデスクトップ接続されているか否かを、仮想マシン側認証連携部２６に通知する。
【００２７】
リモートデスクトップサーバ２２は、仮想マシン２０のデスクトップイメージを生成し、リモートデスクトップクライアント１１に表示させる。リモートデスクトップサーバ２２は、リモートデスクトップクライアント１１での操作を受け、アプリケーション起動部２３を起動する。また、リモートデスクトップサーバ２２は、リモートデスクトップ接続時に、リモートデスクトップクライアント１１からユーザアカウント情報を受信し、アプリケーション起動部２３に送信する。
【００２８】
アプリケーション起動部２３は、コネクションブローカクライアント２５を起動する。起動するとき、アプリケーション起動部２３は、ユーザアカウント情報をコネクションブローカクライアント２５に送信する。また、アプリケーション起動部２３は、仮想マシン側連携部２４に、シンクライアント端末１０のＩＰアドレスを教える。
【００２９】
コネクションブローカクライアント２５は、コネクションブローカ３０と接続され、アプリケーションサーバ４０への接続情報をコネクションブローカ３０から取得する。アプリケーションサーバ４０上でユーザのセッションがすでに存在している場合は、コネクションブローカクライアント２５は、コネクションブローカ３０からアプリケーションサーバ４０のＩＰアドレスとセッション識別子を取得する。ユーザのセッションが存在していない場合は、コネクションブローカクライアント２５は、コネクションブローカ３０からアプリケーションサーバ４０のＩＰアドレスのみを取得する。また、取得した接続情報及びユーザアカウント情報を仮想マシン側連携部２４に通知する。
【００３０】
仮想マシン側連携部２４は、コネクションブローカクライアント２５から接続情報とユーザアカウント情報を通知されると、仮想マシン側認証連携部２６に、シンクライアント端末１０とアプリケーションサーバ４０とに認証連携の準備要求を行うように通知する。認証連携の準備が終了すると、シンクライアント端末１０の端末側連携部１３に、アプリケーションサーバ４０への接続情報とユーザアカウント情報を送付する。
【００３１】
仮想マシン側認証連携部２６は、認証連携の準備要求を仮想マシン側連携部２４から通知されると、端末側認証連携部１３とサーバ側認証連携部４２とにチャレンジ−レスポンス認証に使用する共通鍵を送付する。また、仮想マシン側認証連携部２６は、サーバ側認証連携部４２からチャレンジ情報が送付されたら、端末側認証連携部１３に転送する。さらに、セッション管理部２１から、リモートデスクトップクライアント１１とリモートデスクトップサーバ２２との接続が切断されたと通知されたら、上記の転送する処理を停止する。
【００３２】
次に、アプリケーションサーバ４０において、セッション管理部４１は、リモートデスクトップクライアント１４とリモートデスクトップサーバ４４とのリモートデスクトップ接続を管理する。具体的には、セッション管理部４１は、サーバ側認証連携部４２と連携し、リモートデスクトップクライアント１４からリモートデスクトップサーバ４４への接続要求がきた場合に、サーバ側認証連携部４２から接続可が通知されると、リモートデスクトップクライアント１４とリモートデスクトップサーバ４４との間をリモートデスクトップ接続させる。一方、リモートデスクトップクライアント１４からリモートデスクトップサーバ４４への接続要求がきた場合、サーバ側認証連携部４２から接続不可が通知されると、セッション管理部４１は、これらの間のリモートデスクトップ接続を行わない。また、セッション管理部４１は、サーバ側認証連携部４２から接続不可が通知されると、既に接続されているリモートデスクトップ接続を切断する。
【００３３】
サーバ側認証連携部４２は、仮想マシン側認証連携部２６からチャレンジ−レスポンス認証で使用する共通鍵を受け取る。また、サーバ側認証連携部４２は、セッション管理部４１から、リモートデスクトップクライアント１４からリモートデスクトップサーバ４４への接続要求がきたことを通知されると、仮想マシン側認証連携部２６へチャレンジ情報を送付し、端末側認証連携部１３からレスポンス情報が送付されることを待ち受ける。端末側認証連携部１３からレスポンス情報が送付された場合、サーバ側認証連携部４２は、自身が仮想マシン側認証連携部２６に送付したチャレンジ情報に対して共通鍵を使用してレスポンス生成処理を実施して文字列を生成し、送付されたレスポンス情報と一致するか確認する。一致した場合は、サーバ側認証連携部４２は、セッション管理部４１に接続可を通知し、認証連携部用タイマー４３にタイマーを開始するように通知する。一致しなかった場合、または一定時間経過しても端末側認証連携部１３からレスポンス情報が送付されなかった場合、セッション管理部４１に接続不可を通知する。さらに、認証連携部用タイマー４３からチャレンジ−レスポンス認証を行うよう通知された場合も仮想マシン側認証連携部２６へチャレンジ情報を送付し、端末側認証連携部１３からレスポンス情報が送付されることを待ち受ける処理を行う。
【００３４】
認証連携部用タイマー４３は、サーバ側認証連携部４２でのチャレンジ−レスポンス認証を定期的に行うためのタイマーである。認証連携部用タイマー４３は、サーバ側認証連携部４２によりタイマーの開始、停止が通知される。リモートデスクトップサーバ４４は、公開しているアプリケーションの画面を生成し、リモートデスクトップ接続しているリモートデスクトップクライアント１４に画面を表示させる。ここで、リモートデスクトップサーバ２２及び４４は、それぞれリモートデスクトップクライアント１１及び１４に画面を表示させるとして説明したが、それぞれのリモートデスクトップ上の操作を、他方のリモートデスクトップと連携・反映させてもよい。また、リモートデスクトップクライアント１１及び１４が出力する画面を、１画面内で表示し、操作できるようにしてもよい。
【００３５】
［動作の説明］第二の実施形態におけるリモートデスクトップシステム１１０の動作について詳細に説明する。まず、図１において、シンクライアント端末１０がアプリケーションサーバ４０へ接続する処理の内、シンクライアント端末１０上のリモートデスクトップクライアント１４が、アプリケーションサーバ４０上のセッション管理部４１に接続要求を出す処理までの説明をする。シンクライアント端末１０は、あらかじめリモートデスクトップクライアント１４で、仮想マシン２０のリモートデスクトップサーバ２２と接続されている。
【００３６】
図３及び４を参照すると、シンクライアント端末１０上のリモートデスクトップクライアント１１を通して表示されている仮想マシン２０のデスクトップ画面において、アプリケーションサーバ４０上の公開アプリケーションへの接続要求を行う（ステップＳ１００）。この接続要求は、リモートデスクトップサーバ２２を通してアプリケーション起動部２３へ通知される。次に、アプリケーション起動部２３は、コネクションブローカクライアント２５に対して、自身のユーザアカウント情報を渡す。また、アプリケーション起動部２３は、仮想マシン側連携部２４にシンクライアント端末１０のＩＰアドレスを通知する（ステップＳ１０１）。
【００３７】
アプリケーション起動部２３からユーザアカウント情報と受信すると、コネクションブローカクライアント２５は、コネクションブローカ３０へ接続し、アプリケーションサーバ４０への接続情報を取得する。アプリケーションサーバ４０上にユーザアカウント情報に対応するユーザのセッションが既に存在している場合は、コネクションブローカクライアント２５は、アプリケーションサーバ４０のＩＰアドレスとこのセッションのセッション識別子を取得する。ユーザのセッションが存在していない場合は、コネクションブローカクライアント２５は、アプリケーションサーバ４０のＩＰアドレスのみを取得する。（ステップＳ１０２）。コネクションブローカクライアント２５は、取得した情報を仮想マシン側連携部２４へ通知する（ステップＳ１０３）。
【００３８】
仮想マシン側連携部２４は、仮想マシン側認証連携部２６に対して、アプリケーションサーバ４０とシンクライアント端末１０とのＩＰアドレスと、認証連携の準備要求とを通知する（ステップＳ１０４）。仮想マシン側認証連携部２６は、仮想マシン側連携部２４から、これらのＩＰアドレスと認証連携の準備要求を受けると、端末側認証連携部１３とサーバ側認証連携部４２とに対して、仮想マシン２０のＩＰアドレスとチャレンジレスポンス認証を行うための共通鍵を送付する（ステップＳ１０５）。その後、仮想マシン側連携部２４は、コネクションブローカクライアント２５から取得したアプリケーションサーバ４０への接続情報、ユーザアカウント情報、仮想マシン２０のＩＰアドレスを端末側連携部１３に送付する（ステップＳ１０６）。端末側連携部１３は、仮想マシン側連携部２４から、アプリケーションサーバ４０への接続情報、ユーザアカウント情報、仮想マシン２０のＩＰアドレスを受信すると、リモートデスクトップクライアント１４を起動して、これらの情報を通知する（ステップＳ１０７）。リモートデスクトップクライアント１４は、アプリケーションサーバ４０への接続情報とユーザアカウント情報及び仮想マシン２０のＩＰアドレスを用いてアプリケーションサーバ４０のセッション管理部４１へ接続する（ステップＳ１０８）。
【００３９】
次に、アプリケーションサーバ４０上のセッション管理部４１が、リモートデスクトップクライアント１４とリモートデスクトップサーバ４４との間のリモートデスクトップ接続を許可する処理について説明をする。
【００４０】
図３及び５を参照すると、セッション管理部４１は、サーバ側認証連携部４２にユーザアカウント情報、仮想マシンのＩＰアドレスを通知する（ステップ１０９）。この通知を受けると、サーバ側認証連携部４２は、チャレンジ−レスポンス認証を行うためのチャレンジ情報としてランダムな文字列を生成し、仮想マシン側認証連携部２６に送付し、端末側認証連携部１３からのレスポンス情報の送付を待ち受ける（ステップＳ１１０）。仮想マシン側認証連携部２６は、サーバ側認証連携部４０から送付されたチャレンジ情報を端末側認証連携部１３に転送する（ステップ１１１）。端末側認証連携部１３は仮想マシン側認証連携部２６から受信したチャレンジ情報及び共通鍵を使用して、レスポンス生成処理を実施しレスポンス情報の文字列を生成し、サーバ側認証連携部４２に送付する（ステップ１１２）。サーバ側認証連携部４２は、端末側認証連携部１３から受信したレスポンス情報と、自身が送付したチャレンジ情報を仮想マシン側認証連携部２６から提供された共通鍵を使用して生成した文字列が一致した場合、セッション管理部４１に接続可を通知する。文字列が一致しなかった場合、あるいは一定時間経過しても端末側認証連携部１３からチャレンジ情報が来なかった場合はセッション管理部４１に接続不可を通知する。このとき、サーバ側認証連携部４２は、認証連携部用タイマー４３にタイマーを開始するよう通知する（ステップ１１３）。認証連携部用タイマー４３は、サーバ側認証連携部４２からの通知をうけ、タイマーを開始する（ステップ１１４）。セッション管理部４１は、サーバ側認証連携部４２から接続不可の通知を受け取った場合は、リモートデスクトップクライアント１４との接続を切断する。接続可の通知を受け取った場合は、受信したアプリケーションサーバ４０への接続情報を用いて、リモートデスクトップサーバ４４へ接続する（ステップ１１５）。
【００４１】
シンクライアント端末１０がリモートデスクトップサーバ４４と接続された後は、以下に説明する方法でサーバ側認証連携部４２、仮想マシン側認証連携部２６、端末側認証連携部１３の間で連携し定期的な認証操作を行うことで、接続を継続するか否か判定を行う。
【００４２】
図３及び６を参照すると、まず、認証連携部用タイマー４３が一定時間ごとに、サーバ側認証連携部４２にチャレンジ−レスポンス認証を行うように通知する（ステップ２００）。サーバ側認証連携部４２は、チャレンジ−レスポンス認証を行うためのチャレンジ情報としてランダムな文字列を生成し、仮想マシン側認証連携部２６に送付し、端末側認証連携部１３からのレスポンス情報の送付を待ち受ける（ステップ２０１）。仮想マシン側認証連携部２６は、サーバ側認証連携部４２から送付されたチャレンジ情報を端末側認証連携部１３に転送する（ステップ２０２）。端末側認証連携部１３は、受信したチャレンジ情報及び共通鍵を使用してレスポンス情報を生成し、サーバ側認証連携部４２に送付する（ステップ２０３）。サーバ側認証連携部４２は、受信したレスポンス情報と、自身が送付したチャレンジ情報を仮想マシン側認証連携部２６から受信した共通鍵を使用して生成した文字列が一致した場合、セッション管理部４１に接続可を通知する。文字列が一致しなかった場合、あるいは一定時間経過しても端末側認証連携部１３からチャレンジ情報が来なかった場合は、サーバ側認証連携部４２は、セッション管理部４１に接続不可を通知する（ステップ２０４）。セッション管理部４１は、サーバ側認証連携部４２から接続不可の通知を受け取った場合は、リモートデスクトップクライアント１４との接続を切断し、認証連携部用タイマー４３を停止する。セッション管理部４１は、サーバ側認証連携部４２から接続可の通知を受け取った場合は何も行わない（ステップ２０５）。
【００４３】
シンクライアント端末１０とアプリケーションサーバ４０とのリモートデスクトップ接続が切断された場合は、以下に示す方法で切断後の処理を行う。
【００４４】
図３及び７を参照すると、リモートデスクトップクライアント１４とリモートデスクトップサーバ４４の接続が切れた場合、セッション管理部４１は、サーバ側認証連携部４２に定期的なチャレンジ−レスポンス認証を停止するように通知する（Ｓ３００）。サーバ側認証連携部４２は、認証連携部用タイマー４３にタイマーを停止するように通知する（Ｓ３０１）。この通知を受けて、認証連携部用タイマー４３はタイマーを停止する（Ｓ３０２）。
【００４５】
次に、シンクライアント端末１０とアプリケーションサーバ４０とのリモートデスクトップ接続が切断されていない状態で、シンクライアント端末１０と仮想マシン２０とのリモートデスクトップ接続が切断された場合は、以下に示す方法で、シンクライアント端末１０とアプリケーションサーバ４０とのリモートデスクトップ接続を切断する。
【００４６】
図３及び８を参照すると、まず、シンクライアント端末１０とリモートデスクトップサーバ２２との間のリモートデスクトップ接続が切れた場合、セッション管理部２１は仮想マシン側認証連携部２６にチャレンジ情報の転送を停止するように通知する（Ｓ４００）。サーバ側認証連携部４２は、チャレンジ-レスポンス認証を行うためのチャレンジ情報としてランダムな文字列を生成し、仮想マシン側認証連携部２６に送付し、端末側認証連携部１３からのレスポンス情報の送付を待ち受ける（Ｓ４０１）。仮想マシン側認証連携部２６はサーバ側認証連携部４２からチャレンジ情報を送付されるが、端末側認証連携部１３に転送しない（Ｓ４０２）。サーバ側認証連携部４２は、一定時間経過しても端末側認証連携部１３からチャレンジ情報を受信しなかったため、セッション管理部４１に接続不可を通知する。また、サーバ側認証連携部４２は、認証連携部用タイマー４３に、タイマーを開始するよう通知する（Ｓ４０３）。セッション管理部４１は接続不可の通知を受け取ると、リモートデスクトップクライアント１４との接続を切断する（Ｓ４０４）。認証連携部用タイマー４３はタイマーを停止する（Ｓ４０５）。
【００４７】
本発明は、上述の実施の形態に限定されず、要旨を逸脱しない範囲で当業者により適宜変更され得る。
【符号の説明】
【００４８】
１    クライアント端末
２    第１のサーバ
３    第２のサーバ
３ａ    仮想マシン
１０    シンクライアント端末
１１    リモートデスクトップクライアント
１２    端末側連携部
１３    端末側認証連携部
１４    リモートデスクトップクライアント
２０    仮想マシン
２１    セッション管理部
２２    リモートデスクトップサーバ
２３    アプリケーション起動部
２４    仮想マシン側連携部
２５    コネクションブローカクライアント
２６    仮想マシン側認証連携部
３０    コネクションブローカ
４０    アプリケーションサーバ
４１    セッション管理部
４２    サーバ側認証連携部
４３    認証連携部用タイマー
４４    リモートデスクトップサーバ
１００、１１０    リモートデスクトップシステム
【図１】
0006519273.tif 000002
【図２】
0006519273.tif 000003
【図３】
0006519273.tif 000004
【図４】
0006519273.tif 000005
【図５】
0006519273.tif 000006
【図６】
0006519273.tif 000007
【図７】
0006519273.tif 000008
【図８】
0006519273.tif 000009
【図９】
0006519273.tif 000010