(57)【要約】【課題】クライアント側に専用モジュールをインストールすることなく、シンクライアントの仮想デスクトップ方式に適用可能なセッション管理・制御装置を提供する。【解決手段】ＩＰアドレス検査部２０３は、トラフィックを構成するパケットから送信元アドレス情報を抽出し、抽出したアドレス情報が許可すべきユーザが利用可能なアドレスを示しているか否かを検査する。ユーザセッションリダイレクト部２０５は、アドレス検査部２０３にて利用可能なアドレスと判断されたパケットについて、認証の実施状況を示す情報を参照して認証済みか否かを判断する。ユーザセッションリダイレクト部２０５は、認証済みと判断すると、トラフィック転送処理を実行するトラフィック転送処理部にトラフィックを転送する。【選択図】図２
2009245301.tif 000002
【特許請求の範囲】
【請求項１】
クライアント端末から送信されたトラフィックをサーバに転送するセッション管理・制御装置であって、
前記トラフィックを構成するパケットから送信元アドレス情報を抽出し、該抽出したアドレス情報が許可すべきユーザが利用可能なアドレスを示しているか否かを検査するアドレス検査部と、
アドレス検査部にて利用可能なアドレスと判断されたパケットについて、認証の実施状況を示す情報を参照して認証済みか否かを判断し、認証済みと判断すると、トラフィック転送処理を実行するトラフィック転送処理部に前記トラフィックを転送するユーザセッションリダイレクト部とを備えるセッション管理・制御装置。
【請求項２】
前記サーバと前記クライアント端末との通信経路の途中に、ネットワークに透過的手段にて配置されている、請求項１に記載のセッション管理・制御装置。
【請求項３】
前記サーバが提供するサービスの受け軸となるアドレスを保持し、保持するアドレスに対するアドレス解決を行うインタフェース部を備えており、前記アドレス検査部は、前記インタフェース部が前記受け軸となるアドレスを送信先とするパケットを受信すると、該パケットの送信元アドレス情報を抽出する、請求項１又は２に記載のセッション管理・制御装置。
【請求項４】
前記アドレス検査部から前記抽出されたアドレス情報を受け取り、前記利用可能なアドレスを記憶する記憶装置を検索して、前記アドレス検査部に、前記抽出されたアドレス情報が前記記憶装置に登録されているか否かを示す情報を返すアドレスＤＢ部を更に備える、請求項１乃至３の何れか一に記載のセッション管理・制御装置。
【請求項５】
前記ユーザセッションリダイレクト部は、送信元ＩＰアドレスとユーザ属性情報と認証の実施状況を示す情報とを含むセッション通過情報を参照して、前記送信元ＩＰアドレスが示すユーザが認証済みであるか否かを判断する、請求項１乃至４の何れか一に記載のセッション管理・制御装置。
【請求項６】
前記クライアント端末に認証処理を促す画面を送信する画面表示応答部を更に備えており、前記ユーザセッションリダイレクト部は、認証が実施されていないと判断すると、前記認証実施状況を示す情報を仮受付中にすると共に、前記画面応答部に、認証処理を促す画面の送信を指示する、請求項５に記載のセッション管理・制御装置。
【請求項７】
ユーザ認証処理を行うユーザ認証処理部を更に備えており、前記ユーザセッションリダイレクト部は、前記認証実施状況を示す情報が仮受付中を示す情報のときは、ユーザ認証に用いるプロトコルを終端する処理部に前記パケットを転送し、前記ユーザ認証処理部に認証処理を行わせる、請求項６に記載のセッション管理・制御装置。
【請求項８】
前記ユーザ認証処理部は、ユーザ認証に成功すると、前記セッション通過情報のユーザ属性情報に、ユーザ認証で認証されたユーザ属性情報を登録する、請求項７に記載のセッション管理・制御装置。
【請求項９】
前記トラフィック転送処理部は、前記セッション通過情報のユーザ属性情報を参照し、前記ユーザセッションリダイレクト部より転送されたトラフィックが、管理者が通信を許可しているユーザ属性を持つトラフィックであるか否かを判断し、許可しているユーザであると判断すると、前記サーバへトラフィックを送信する、請求項８に記載のセッション管理・制御装置。
【請求項１０】
ネットワーク接続されたサーバを発見するノード管理部と、前記ノード管理部がサーバを発見すると、通信モジュールをロードし、該ロードした通信モジュールを前記発見されたサーバにインストールするモジュール格納部とを更に備える、請求項１乃至９の何れか一に記載のセッション管理・制御装置。
【請求項１１】
前記ノード管理部が、前記サーバにインストールされた通信モジュールとの間で通信を行い、前記サーバの死活監視を行うキープアライブ管理部を有する、請求項１０に記載のセッション管理・制御装置。
【請求項１２】
ネットワーク装置を用いて、クライアント端末から送信されたトラフィックをサーバに転送するセッション管理・制御方法であって、
前記ネットワーク装置が、前記トラフィックを構成するパケットから送信元アドレス情報を抽出し、該抽出したアドレス情報が許可すべきユーザが利用可能なアドレスを示しているか否かを検査するステップと、
前記ネットワーク装置が、利用可能なアドレスと判断すると、認証の実施状況を示す情報を参照して認証済みか否かを判断するステップと、
前記ネットワーク装置が、認証済みと判断すると、トラフィック転送処理を実行するトラフィック転送処理部に前記トラフィックを転送するステップとを有するセッション管理・制御方法。
【請求項１３】
ネットワーク装置に、クライアント端末から送信されたトラフィックをサーバに転送する処理を実行させるプログラムであって、前記ネットワーク装置に、
前記トラフィックを構成するパケットから送信元アドレス情報を抽出し、該抽出したアドレス情報が許可すべきユーザが利用可能なアドレスを示しているか否かを検査する処理と、
利用可能なアドレスと判断すると、認証の実施状況を示す情報を参照して認証済みか否かを判断する処理と、
認証済みと判断すると、トラフィック転送処理を実行するトラフィック転送処理部に前記トラフィックを転送する処理とを実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、セッション管理・制御装置、方法、及び、プログラムに関し、更に詳しくは、クライアント端末から送信されたトラフィックをサーバに転送するセッション管理・制御装置、方法、及び、プログラムに関する。
【背景技術】
【０００２】
近年、ＩＴ分野において仮想化環境の導入が進んでいる。仮想化環境では、価格メリット、一括管理性から、シンクライアント端末の接続先として仮想化環境を利用する仮想デスクトップ方式の採用が脚光を浴びてきている。この仮想化環境を利用する仮想デスクトップ方式では、ユーザは、仮想基盤上で動作する仮想マシンにユーザが作業するオペレーティングシステム（ＯＳ）を導入し、リモートからシンクライアント端末を用いて接続して、サービスの提供を受ける。
【０００３】
仮想化環境におけるシンクライアントシステムのセッション管理・制御方式として、セッション管理の管理サーバ、管理対象となるノード、シンクライアント自身にそれぞれモジュールをインストールして設定し、これらモジュールが相互に通信することでセッション状態を管理する方式がある。しかし、この方式では、各モジュール間で通信を発生させ、常に同期を取らないとセッション状態に関してリアルタイムな監視・管理ができないという問題がある。しかも、ネットワーク側での障害発生時の要因特定についても制限され、セッション状態の異常時の動作保証ができないという問題もある。
【０００４】
また、上記方式では、システム構築者が複数モジュールの存在を意識して構築する必要があるということも問題となる。更には、シンクライアント側にも専用のモジュールを搭載する必要があり、汎用的な機器によるシンクライアントが容易ではなく、ユーザに対する自由度が低いという制限事項もある。
【０００５】
上記問題に対して、特許文献１では、シンクライアント端末とサービス提供側のサーバの通信区間にゲートウェイを配置している。特許文献１では、このゲートウェイにより、シンクライアント端末とサーバとの間の要求を、仲介・保存することによって、シンクライアント端末とサーバとの間のセッション異常時の動作を保証している。
【特許文献１】特開２００４−１７１０６３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、特許文献１に記載のシンクライアントのセッション管理・制御方式には、以下のような問題点がある。すなわち、特許文献１では、１つの物理サーバ上のアプリケーションを、ユーザが多重利用することを前提としている。このため、仮想化基盤上で動作する仮想サーバの利用を考慮していないという問題点がある。また、特許文献１では、シンクライアントサービスを利用するために、専用のモジュールが搭載された端末利用を必要とする。このため、シンクライアント端末側に、専用のモジュールによる機能搭載が必要であり、サービス利用・展開時に、汎用的に利用している端末を利用できないという問題点がある。
【０００７】
特許文献１では、シンクライアント端末からの要求を全てバッファリングして仲介するゲートウェイ方式を採用する。このため、ゲートウェイにてセッションの終端・仲介・発生処理が必要となり、処理性能のボトルネックとなるという問題もある。また、セッション終端作業の必要性から、ネットワーク管理上、ネットワークに対して透過的にシステムを配置できないという問題もある。
【０００８】
本発明は、クライアント側に専用モジュールをインストールすることなく、シンクライアントの仮想デスクトップ方式に適用可能なセッション管理・制御装置、方法、及び、プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、本発明のセッション管理・制御装置は、クライアント端末から送信されたトラフィックをサーバに転送するセッション管理・制御装置であって、前記トラフィックを構成するパケットから送信元アドレス情報を抽出し、該抽出したアドレス情報が許可すべきユーザが利用可能なアドレスを示しているか否かを検査するアドレス検査部と、アドレス検査部にて利用可能なアドレスと判断されたパケットについて、認証の実施状況を示す情報を参照して認証済みか否かを判断し、認証済みと判断すると、トラフィック転送処理を実行するトラフィック転送処理部に前記トラフィックを転送するユーザセッションリダイレクト部とを備えることを特徴とする。
【００１０】
本発明のセッション管理・制御方法は、ネットワーク装置を用いて、クライアント端末から送信されたトラフィックをサーバに転送するセッション管理・制御方法であって、前記ネットワーク装置が、前記トラフィックを構成するパケットから送信元アドレス情報を抽出し、該抽出したアドレス情報が許可すべきユーザが利用可能なアドレスを示しているか否かを検査するステップと、前記ネットワーク装置が、利用可能なアドレスと判断すると、認証の実施状況を示す情報を参照して認証済みか否かを判断するステップと、前記ネットワーク装置が、認証済みと判断すると、トラフィック転送処理を実行するトラフィック転送処理部に前記トラフィックを転送するステップとを有することを特徴とする。
【００１１】
本発明のプログラムは、ネットワーク装置に、クライアント端末から送信されたトラフィックをサーバに転送する処理を実行させるプログラムであって、前記ネットワーク装置に、前記トラフィックを構成するパケットから送信元アドレス情報を抽出し、該抽出したアドレス情報が許可すべきユーザが利用可能なアドレスを示しているか否かを検査する処理と、利用可能なアドレスと判断すると、認証の実施状況を示す情報を参照して認証済みか否かを判断する処理と、認証済みと判断すると、トラフィック転送処理を実行するトラフィック転送処理部に前記トラフィックを転送する処理とを実行させることを特徴とする。
【発明の効果】
【００１２】
本発明のセッション管理・制御装置、方法、及び、プログラムは、クライアント側に専用モジュールをインストールすることなく、シンクライアントの仮想デスクトップ方式におけるセッション管理・制御が可能である。
【発明を実施するための最良の形態】
【００１３】
以下、図面を参照し、本発明の実施の形態を詳細に説明する。図１は、本発明の一実施形態のセッション制御管理システムを示している。セッション制御・管理システムは、ユーザのクライアント端末（シンクライアント端末）１０−１〜１０−Ｎ（Ｎは２以上の整数）と、セッション管理・制御装置２０と、仮想化基盤３０−１〜３０−Ｎとを有する。仮想化基盤３０上では、複数の仮想デスクトップサーバ３１−１−１〜３１−１−Ｎ、３１−２−１〜３１−２−Ｎ、・・・、３１−Ｎ−１〜３１−Ｎ−Ｎが動作している。なお、ここでは、シンクライアント端末１０の数と、仮想化基盤３０の数と、仮想デスクトップサーバ３１の数を同数（Ｎ）としたが、これらの数は同数である必要はない。
【００１４】
シンクライアント端末１０−１〜１０−Ｎは、社内ＬＡＮ（イントラネット）やインターネット網に、ＩＰ（internet protocol）通信にて接続可能なＷｅｂブラウザを搭載した端末であり、ユーザが現実に使用する端末である。ユーザは、シンクライアント端末１０−１〜１０−Ｎを利用することで、シンクライアントサービスを受益することが可能となる。
【００１５】
仮想化基盤３０−１〜３０−Ｎは、ＩＰネットワーク網内に設置される。各仮想化基盤３０は、仮想デスクトップサーバを動作させることができる、ＣＰＵ、メモリ、ＩＯ処理を仮想的に提供できるソフトウェア基盤としての機能を有する。各仮想デスクトップサーバ３１は、仮想化基盤３０上で動作する仮想マシン（Virtual Machine）の形態をとり、シンクライアント端末１０に対して通信接続サービスを提供する機能を有する。また、各仮想デスクトップサーバ３１は、セッション管理・制御装置２０と相互通信を実行し、セッション管理に必要となる情報の交換、及び、制御を実行する機能を有する。
【００１６】
セッション管理・制御装置２０は、シンクライアント端末１０と仮想デスクトップサーバ３１との通信経路の途中に配置され、シンクライアント端末１０から送信されたトラフィックを仮想デスクトップサーバ３１に転送する機能を有するネットワーク装置である。セッション管理・制御装置２０は、ユーザサービス処理インタフェース部２１、セッショントラフィック転送処理部２２、仮想基盤サービス処理インタフェース部２３、メモリ記憶部２４、及び、外部サービス処理インタフェース部２５を有する。セッション管理・制御装置２０内の各部の機能は、ネットワーク装置上で所定のプログラムを実行することで実現可能である。
【００１７】
ユーザサービス処理インタフェース部２１は、ユーザのシンクライアント端末１０からの要求を、ＩＰネットワーク網内で最初に受け付ける処理部である。ユーザサービス処理インタフェース部２１は、利用者ＩＰトラフィックのプロトコルを識別する機能を有する。セッショントラフィック転送処理部２２は、実際のユーザトラヒックであるＩＰパケットを、仮想デスクトップサーバ３１へ転送する機能を有する。仮想基盤サービス処理インタフェース部２３は、シンクライアント端末１０が実際に通信する仮想化基盤３０に対してのサービス状態を管理する機能を有する。
【００１８】
メモリ記憶部２４は、シンクライアント端末１０とＩＰネットワーク網を経由して実際に通信する仮想デスクトップサーバ３１との間のセッション状態に関する情報、ユーザ属性情報、通信セキュリティ属性情報、認証方式情報などを記憶する。外部サービス処理インタフェース処理部２５は、運用者からの設定情報、シンクライアント端末においてのセッション管理に対する外部サーバ（ＲＡＤＩＵＳ（Remote Authentication Dial In User Service）サーバ、ＬＤＡＰ（Lightweight Directory Access Protocol）サーバ）との連携処理を実行する機能を有する。
【００１９】
図２に、ユーザサービス処理インタフェース部２１の構成を示す。ユーザサービス処理インタフェース部２１は、ＩＰインタフェース部２０１、プロトコル識別部２０２、ＩＰアドレス検査部２０３、ＩＰアドレスＤＢ部２０４、ユーザセッションリダイレクト部２０５、ユーザ・ＩＰアドレスマッピング管理部２０６、Ｗｅｂサーバ処理部２０７、画面表示ＨＴＴＰプロトコル応答部２０８、ユーザ認証処理部２０９、及び、認証方式設定部２１０を有する。なお、図２におけるメモリ記憶部２１１は、図１におけるメモリ記憶部２４に相当する。
【００２０】
ＩＰインタフェース部２０１は、シンクライアント端末側のＩＰネットワーク網に接続される。ＩＰインタフェース部２０１は、ＩＰネットワーク網内に設置される上で外部に対して公開するサービス用の受け軸となるＩＰアドレスを保持し、保持するＩＰアドレスに対するＡＲＰ（Address Resolution Protocol）解決を実施する。また、ＩＰインタフェース部２０１は、ＩＰネットワーク網から受信したシンクライアント端末のユーザトラフィックをＩＰパケットとして受け付け、メモリ記憶部２１１に確保されるＩＰパケットバッファメモリ内にＩＰパケットを蓄積する。
【００２１】
プロトコル識別部２０２は、ＩＰインタフェース部２０１が受信したＩＰパケット内に格納されるプロトコル識別に必要なフィールド情報を抽出する。プロトコル識別部２０２には、事前に、ＣＰＵ制御部２１２を用いて、ユーザが通信に用いるプロトコル情報が設定されている。プロトコル識別部２０２は、抽出したフィールド情報と、あらかじめ登録された設定情報とを比較し、ＩＰインタフェース部２０１が受信したＩＰパケットのプロトコルが、ＣＰＵ制御部２１２により設定されたプロトコルに該当するか否かを検査する。プロトコル識別部２０２が抽出するフィールドは、ＩＰヘッダ情報、及び、ＩＰヘッダ情報から判別できる上位プロトコルの該当フィールドである。具体的には、ＴＣＰ（Transmission Control Protocol）ヘッダ情報や、ＵＤＰ（User Datagram Protocol）ヘッダ情報である。
【００２２】
ＩＰアドレス検査部２０３は、ＩＰアドレスＤＢ部２０４を用いて、ＩＰインタフェース部２０１が受信したＩＰパケットの送信元ＩＰアドレスが、許可すべきユーザが利用可能なＩＰアドレスであるか否かを検査する。メモリ記憶部２１１には、事前に、ＣＰＵ制御部２１２を用いて、管理者等により、許可すべきユーザが利用可能なＩＰアドレス、すなわち、セッションを許可される送信元ＩＰアドレスが登録される。ＩＰアドレスＤＢ部２０４は、メモリ記憶部２１１を検索して、送信元ＩＰアドレスに一致するＩＰアドレスがメモリ記憶部２１１に記憶されているか否かを判定する。
【００２３】
ＩＰアドレスＤＢ部２０４は、メモリ記憶部２１１に、送信元ＩＰアドレスに一致するＩＰアドレスが存在するときは、セッションを許可する旨の判定結果を、ＩＰアドレス検査部２０３に返す。その際、ＩＰアドレスＤＢ部２０４は、その判定結果を、ＩＰアドレスＤＢ部２０４内にキャッシュする。このようにすることで、再度、同じ送信元ＩＰアドレスについて、許可すべきユーザが利用可能なＩＰアドレスであるかを検査する際に、メモリ記憶部２１１を検索せずに、セッションを許可する旨の判定結果を返すことができる。ＩＰアドレスＤＢ部２０４は、メモリ記憶部２１１に、送信元ＩＰアドレスに一致するＩＰアドレスが存在しない場合は、セッションを許可しない旨の判定結果を、ＩＰアドレス検査部２０３に返す。
【００２４】
ＩＰアドレス検査部２０３は、送信元ＩＰアドレスに対してセッションを許可する旨の判定結果を受け取ると、ユーザセッションリダイレクト部２０５に、ＩＰインタフェース部２０１が受信したＩＰパケットを転送する。ユーザセッションリダイレクト部２０５は、ユーザ・ＩＰアドレスマッピング管理部２０６を用いて、ＩＰインタフェース部２０１が受信したＩＰパケットを有するセッションが、セッション転送を許可されたシンクライアント利用者（ユーザ）であるか否かを検査する。ユーザ・ＩＰアドレスマッピング管理部２０６は、メモリ記憶部２１１に格納されたセッション状態に関する情報を参照して、シンクライアントセッションの許可認証が未実施であるか、認証済みであるか、或いは、認証を行っている最中（仮受付中）であるかを判断する。
【００２５】
ユーザセッションリダイレクト部２０５は、検査の結果、シンクライアントセッションの許可認証が未実施であると判断したときは、Ｗｅｂサーバ処理部２０７に、許可認証が未実施である旨を送信すると共に、ＩＰインタフェース部２０１が受信したＩＰパケットを転送する。Ｗｅｂサーバ処理部２０７は、受信したＩＰパケットを仮受付中セッションとして、メモリ記憶部２１１にマーキングを実行する。このマーキングは、セッション受付中のフラグをＯＮにすることで行う。その後、Ｗｅｂサーバ処理部２０７は、画面表示ＨＴＴＰプロトコル応答部２０８へ、現在受け付けているセッションはまだ未認証である旨を送信する。
【００２６】
画面表示ＨＴＴＰプロトコル応答部２０８は、Ｗｅｂサーバ処理部２０７から受け付けているセッションが未認証である旨を受け取ると、内部に保持する画面コンテンツ情報を呼び出し（ＬＯＡＤ：ロード）、メモリ記憶部２１１に仮保持している送信元ＩＰアドレスに向けて、ロードした画面コンテンツ情報を、ＨＴＴＰ（Hyper Text Transfer Protocol）応答として送信する。画面表示ＨＴＴＰプロトコル応答部２０８が送信した画面コンテンツ情報（ＨＴＴＰ応答）は、ＩＰインタフェース部２０１からＩＰネットワーク網を通して、シンクライアント端末で受信される。シンクライアント端末は、画面コンテンツ情報を受信すると、Ｗｅｂブラウザ上に、利用を許可してもらうための認証作業を実行する画面を表示する。ユーザは、画面に従って、ユーザ認証に必要なユーザ名やパスワード等の情報（ユーザ属性情報）を入力し、これら情報を、ＨＴＴＰリクエストとしてセッション管理・制御装置２０に送信する。
【００２７】
ユーザセッションリダイレクト部２０５は、検査の結果、シンクライアントセッションの許可認証が仮受付中であると判断したときは、Ｗｅｂサーバ処理部２０７に、仮受付中である旨を送信すると共に、ＩＰインタフェース部２０１が受信したＩＰパケットを転送する。Ｗｅｂサーバ処理部２０７は、ＨＴＴＰプロトコルの終端処理を行い、ＨＴＴＰリクエストボディに含まれるユーザ属性情報を抽出する。Ｗｅｂサーバ処理部２０７は、抽出したユーザ属性情報をユーザ認証処理部２０９に渡し、認証処理を依頼する。
【００２８】
ユーザ認証処理部２０９は、認証方式設定部２１０に設定されたユーザ認証方式を取得する。認証方式設定部２１０には、あらかじめ、ＣＰＵ制御部２１２を用いて、管理者などにより、外部と連携して認証を実行するか、或いは、セッション管理・制御装置２０内で認証を実行するかを示す情報が設定されている。ユーザ認証処理部２０９は、Ｗｅｂサーバ処理部２０７にて抽出されたユーザ属性情報を使用して、認証方式設定部２１０に設定されたユーザ認証方式に従って、セッション許可情報を取得する。
【００２９】
ユーザセッションリダイレクト部２０５は、ユーザ認証処理部２０９にてセッション転送が許可される旨の認証結果が得られると、メモリ記憶部２１１内のパケットバッファからＩＰインタフェース部２０１が受信したＩＰパケットを取り出し、取り出したＩＰパケットをセッショントラフィック転送処理部２２に送信する。また、ユーザセッションリダイレクト部２０５は、ユーザ・ＩＰアドレスマッピング管理部２０６から、シンクライアントセッションの許可認証が実施済みであり、かつ、認証にてセッション転送が許可されている旨の検査結果を受け取ったときは、ＩＰインタフェース部２０１が受信したＩＰパケットを、セッショントラフィック転送処理部２２に送信する。
【００３０】
図３に、セッショントラフィック転送処理部２２の構成を示す。セッショントラフィック転送処理部２２は、ユーザサービス接続部４０１、トラフィック転送実行部４０２、及び、ＩＰインタフェース部４０３を有する。ユーザサービス接続部４０１は、ユーザサービス処理インタフェース部２１（図１）からＩＰパケットを受信し、受信したパケットをＦＩＦＯ（First In First Out）キューに格納する。ユーザサービス接続部４０１は、ＦＩＦＯキューからＩＰパケットを取り出して、トラフィック転送実行部４０２に渡す。
【００３１】
トラフィック転送実行部４０２は、メモリ記憶部２４（図１）から、トラフィックをＩＰネットワーク網へ転送する出方路を決定するための情報を取得する。ＩＰインタフェース部４０３は、図２に示すユーザサービス処理インタフェース部２１内のＩＰインタフェース部２０１と同様な機能を有する。
【００３２】
図４に、仮想基盤サービス処理インタフェース部２３の構成を示す。仮想基盤サービス処理インタフェース部２３は、ノード管理部５０２、ユーザ・ホスト管理部５０４、モジュール格納部５０５、及び、セッション管理部５０６を有する。ノード管理部５０２は、ＩＰネットワーク網上の仮想デスクトップサーバの存在を検出し、検出した仮想デスクトップサーバに搭載されるＯＳ情報を取得する。仮想デスクトップサーバの存在の検出には、ＩＣＭＰ（Internet Control Message Protocol）、ＳＭＢ（Server Message Block）、ＣＩＦＳ（Common Internet File System）などのプロトコルを用いることができる。ノード管理部５０２は、仮想デスクトップサーバを検出すると、仮想デスクトップサーバに搭載されるＯＳの種別やモデル、バージョン情報、仮想デスクトップサーバが利用するＩＰアドレス情報などを含むノード情報を通知する。
【００３３】
ユーザ・ホスト管理部５０４は、シンクライアント利用者が利用（接続）可能とするホスト情報、各ホストのグルーピング情報、ホストに接続可能なユーザのユーザ属性情報などが設定されている。グルーピング情報は、同じグループに属する仮想デスクトップサーバのホスト名及びＩＰアドレスのリストである。ユーザが利用可能とするホスト情報では、例えば、利用可能な仮想デスクトップサーバを、グループ単位で指定する。ユーザ・ホスト管理部５０４は、シンクライアント利用者が利用する仮想デスクトップサーバとのセッション状態を管理可能とする。利用可能とするホスト情報や、グルーピング情報などは、管理者などにより、ＣＰＵ制御部５０１を用いて、あらかじめ設定されている。
【００３４】
モジュール格納部５０５は、仮想デスクトップサーバ上で動作するエージェントプログラムを格納している。エージェントプログラムは、仮想基盤サービス処理インタフェース部２３との間で通信を行う通信モジュールを含む。ＣＰＵ制御部５０１は、ノード管理部５０２がＩＰネットワーク網上に仮想デスクトップサーバを検出すると、モジュール格納部５０５に対して、検出された仮想デスクトップサーバにエージェントプログラムをインストールするように指示する。モジュール格納部５０５は、その指示に従って、仮想デスクトップサーバのＯＳに応じた専用のエージェントモジュールをロードし、仮想デスクトップサーバへインストールする。
【００３５】
ノード管理部５０２は、キープアライブ管理部５０３を有する。キープアライブ管理部５０３は、仮想デスクトップサーバにインストールされたエージェントプログラムとの間で通信を行い、仮想デスクトップサーバの死活監視を動的に実行する。キープアライブ管理部５０３は、エージェントプログラムとの通信状況に応じて、仮想デスクトップサーバの死活を判定する。
【００３６】
セッション管理部５０６は、ユーザ・ホスト管理部５０４が管理するホスト情報、グルーピング情報などを用いて、図１のセッショントラフィック転送処理部２２での実トラフィックの転送状態と仮想デスクトップサーバのトラフィックのマッチング（整合性）を実施する機能を有する。セッション管理部５０６は、例えば、シンクライアント端末と仮想デスクトップサーバとの間で通信を行っているときに、セッション管理・制御装置２０よりも仮想デスクトップサーバ側のネットワークに通信断絶を検出したときは、別の利用許可された仮想デスクトップサーバへの振り分けを行い、通信を継続させる処理を行う。
【００３７】
図５に、外部サービス処理インタフェース部２５の構成を示す。外部サービス処理インタフェース部２５は、ユーザ情報連携部６０１と、外部サーバ連携部６０２とを有する。外部サービス処理インタフェース部２５は、図２の認証方式設定部２１０と接続されている。外部サーバ連携部６０２は、ユーザ情報連携部６０１と接続され、ＲＡＤＩＵＳ、ＬＤＡＰプロトコル処理を実行し、外部に接続される図示しない認証サーバとの連携処理を実行する。
【００３８】
図６に、メモリ記憶部２４の構成を示す。メモリ記憶部２４は、ユーザサービス接続部３０１、セッショントラフィック接続部３１１、仮想基盤サービス接続部３２１、アクセス制御部３３１、及び、メモリ情報格納部３４１を有する。ユーザサービス接続部３０１は、ユーザサービス処理インタフェース部２１とのインタフェース部分である。セッショントラフィック接続部３１１は、セッショントラフィック転送処理部２２とのインタフェース部分であり、仮想基盤サービス処理インタフェース部２３とのインタフェース部分である。
【００３９】
アクセス制御部３３１は、ユーザサービス接続部３０１、セッショントラフィック接続部３１１、及び、仮想基盤サービス接続部３２１からメモリ情報格納部３４１に対する同時アクセスに関する排他制御を実施する。メモリ情報格納部３４１は、各種情報を実際に格納する部分である。メモリ情報格納部３４１には、アクセス制御部３３１を通じて、ユーザサービス接続部３０１、セッショントラフィック接続部３１１、及び、仮想基盤サービス接続部３２１から共通にアクセスが可能である。
【００４０】
ユーザサービス接続部３０１は、パケットバッファ部３０２、サーチエンジン部３０３、及び、ユーザセッション管理部３０４を有する。パケットバッファ部３０２は、図２のＩＰインタフェース部２０１から、受信したＩＰパケットを受け取る。パケットバッファ部３０２は、受け取ったＩＰパケットを、アクセス制御部３３１を通じて、メモリ情報格納部３４１内に割り当てられたパケット蓄積領域に格納・蓄積する。割り当て領域は、アクセス制御部３３１によって決定される。割り当て領域の大きさは、例えば管理者により、任意に指定される。ＩＰパケットは、ユーザ認証が完了し、ＩＰパケットがセッショントラフィック転送処理部２２に送られるまでの間、メモリ情報格納部３４１内のパケット蓄積領域に蓄積される。また、パケットバッファ部３０２は、図２のＩＰアドレスＤＢ部２０４からの要求により、パケットバッファ内のパケットエントリーフラグをセットする。
【００４１】
ＩＰアドレスＤＢ部２０４（図２）は、ＩＰアドレス検査部２０３から送信元ＩＰアドレスを受け取ると、サーチエンジン部３０３に対して、その送信元ＩＰアドレスが、メモリ情報格納部３４１内に、許可すべきユーザが利用可能なＩＰアドレスとして記憶されているか否かの検索を指示する。サーチエンジン部３０３は、ＩＰアドレスＤＢ部２０４からサーチ（検索）コマンドを受け取ると、オペランドで指定されたＩＰアドレスに一致するＩＰアドレスを検索キーとして、メモリ情報格納部３４１を検索する。サーチエンジン部３０３は、検索キーに一致するＩＰアドレスがメモリ情報格納部３４１に記憶されているときは、ＩＰアドレスＤＢ部２０４に対し、送信元ＩＰアドレスに一致するＩＰアドレスが存在する旨を返す。
【００４２】
サーチエンジン部３０３は、メモリ情報格納部３４１に、許可すべきユーザが利用可能なＩＰアドレスの登録も行う。ＩＰアドレス登録の際には、サーチエンジン部３０３には、ＣＰＵ制御部２１２を経由して、ＩＰアドレスＤＢ部２０４から設定コマンドが発行される。サーチエンジン部３０３は、設定コマンドを受けると、メモリ情報格納部３４１に、オペランドで指定されたＩＰアドレスを、許可すべきユーザが利用可能なＩＰアドレスとして登録する。
【００４３】
ユーザセッション管理部３０４は、ユーザ・ＩＰアドレスマッピング管理部２０６（図２）との間で通信を行い、シンクライアント端末のユーザセッション情報であるユーザ認証許可の有無を管理する。また、ユーザセッション管理部３０４は、ユーザが通信に使用する端末のＩＰアドレスとユーザ属性情報（ユーザ名、パスワード、所属ドメイン情報など）との対応を管理する。
【００４４】
セッショントラフィック接続部３１１は、セッショントラフィック転送処理部２２（図１）に対して、認証が許可されたユーザセッションのトラフィックの出方路を決定するための情報を提供する。仮想基盤サービス接続部３２１は、仮想基盤サービス処理インタフェース部２３との間で情報のやり取りを行い、仮想基盤のアクティブ情報を管理する。また、仮想基盤サービス接続部３２１は、仮想基盤サービス処理インタフェース部２３より、接続を許可する仮想デスクトップサーバに対するグルーピング情報、ホスト情報、ＩＰアドレス情報、ユーザ属性情報を取得する。
【００４５】
図７に、パケットバッファ部３０２が管理する情報を示す。パケットバッファ部３０２は、ＩＰインタフェース部２０１が受信したＩＰパケットに対してＰＢ管理情報７０１を生成し、生成したＰＢ管理情報７０１と、実ＩＰパケット７０２とを、メモリ情報格納部３４１（図６）に格納する。ＰＢ管理情報７０１は、パケットを一意に識別するためのエントリー番号Ｅと、エントリーされたＩＰパケットの有効性を示す識別子Ｖ、廃棄する必要があることを示す識別子Ｄ、ＩＰアドレス検査済みであることを示す識別子ＣＫ、ＩＰパケットのバイト数を示すＢ、及び、実ＩＰパケット７０２が格納されるメモリアドレスを指し示す識別子ＰＲＴ（任意ビットにて表現）とを含む。
【００４６】
図８に、サーチエンジン部３０３が管理する、許可すべきユーザが利用可能なＩＰアドレスの情報を示す。なお、ここでは、ＩＰアドレスの検査に、ハッシュ値を用いたインデックス検索を用いる場合を想定するが、検索には、その他の検索を用いてもよい。ＩＰアドレスＤＢ部２０４は、設定コマンドと、利用可能なＩＰアドレスとして登録すべき送信元ＩＰアドレスとをサーチエンジン部３０３に渡し、アドレス登録を依頼する。サーチエンジン部３０３は、登録対象のＩＰアドレスに応じたインデックス７１１を生成し、生成したインデックス７１１とＩＰアドレス７１２とを対応付けてメモリ情報格納部３４１内に格納する。インデックス７１１は、登録されたＩＰアドレスが有効であることを示す識別子Ｖ（１１：有効、１０又は０１：ハッシュコリジョン、００：無効）と、ハッシュコリジョン時のエントリーオフセット（次の検索箇所のポインタ）ＯＳと、ＩＰアドレスのハッシュ値とを含む。
【００４７】
ＩＰアドレスＤＢ部２０４は、検査対象のＩＰアドレス（送信元ＩＰアドレス）をハッシュ値に変換し、検索コマンドと、ハッシュ値とをサーチエンジン部３０３に渡して、サーチエンジン部３０３に検索を依頼する。サーチエンジン部３０３は、インデックス７１１を参照して、ＩＰアドレスＤＢ部２０４がＩＰアドレス検査部２０３から受け取った送信元ＩＰアドレスに一致するＩＰアドレスが、メモリ情報格納部３４１に利用可能なＩＰアドレスとして登録されているか否かを判断する。サーチエンジン部３０３は、ＩＰアドレスＤＢ部２０４に対して、検索対象のＩＰアドレスが登録されているときはヒット（１）を返し、登録されていないときはミスヒット（０）を返す。ミスヒット時は、ＩＰインタフェース部２０１が受信したＩＰパケットの送信元ＩＰアドレスは許可されないＩＰアドレスであるので、ＩＰアドレス検査部２０３からＩＰインタフェース部２０１へその旨を通知し、該当ＩＰパケットバッファをクリアして、ＩＰパケットを破棄する。
【００４８】
図９に、ユーザ・ＩＰアドレスマッピング管理部２０６が参照するセッション状態に関する情報を示す。メモリ情報格納部３４１には、インデックス７２１とセッション通過情報７２２とが対応付けて格納されている。インデックス７２１は、図８のインデックス７１１と同様の情報を含む。セッション通過情報７２２は、ＩＰアドレスと、当該ＩＰアドレスのユーザ認証の実施状況を示すＵＡフラグ（１１：認証済み、１０：認証失敗、０１：仮受付中、００：認証未実施）と、ユーザ属性情報と、ユーザ・ＩＰアドレスマッピング管理部２０６以外の手段によるセッション通過情報の参照の許可／不許可を示すＲＥＦフラグとを含む。
【００４９】
ユーザセッションリダイレクト部２０５は、ＩＰアドレス検査部２０３にて許可されたＩＰアドレスと判断された送信元ＩＰアドレスについて、ユーザ・ＩＰアドレスマッピング管理部２０６に、ユーザ認証が未実施であるか、仮受付中であるか、実施済みであるか否かの検査を依頼する。ユーザ・ＩＰアドレスマッピング管理部２０６は、サーチエンジン部３０３と同様なハッシュ値を用いたインデックス検索によって当該ＩＰアドレスのＵＡフラグにアクセスし、認証状況、すなわち、認証済みであるか、認証失敗であるか、仮受付中であるか、或いは、認証未実施であるかを取得する。
【００５０】
ユーザセッションリダイレクト部２０５は、ユーザ・ＩＰアドレスマッピング管理部２０６から認証済みである旨が返ってくると、ＩＰパケットを、セッショントラフィック転送処理部２２に送信する。ユーザセッションリダイレクト部２０５は、ユーザ・ＩＰアドレスマッピング管理部２０６から認証失敗である旨が返ってくると、パケットバッファをクリアして、ＩＰインタフェース部２０１が受信したＩＰパケットを破棄する。認証が未実施又は仮受付中の場合は、ＩＰインタフェース部２０１が受信したＩＰパケットを、Ｗｅｂサーバ処理部２０７へ渡す。Ｗｅｂサーバ処理部２０７は、認証未実施の場合は、認証用の画面情報を、シンクライアント端末に送信する。仮受付中の場合は、ＨＴＴＰ終端処理を行い、シンクライアント端末から送信されたユーザ属性情報を、ユーザ認証処理部２０９へ渡す。
【００５１】
ユーザ・ＩＰアドレスマッピング管理部２０６は、ユーザ認証処理部２０９にて認証処理が正常に行われ、ユーザが認証されると、ユーザ認証処理部２０９からユーザ属性情報を受け取り、これを、セッション通過情報７２２のユーザ属性情報に書き込む。また、ユーザ・ＩＰアドレスマッピング管理部２０６は、ＲＥＦフラグをＯＮに設定する。ユーザ・ＩＰアドレスマッピング管理部２０６がＲＥＦフラグをＯＮに設定することで、当該エントリーが、図４のセッション管理部５０６からも参照可能となる。
【００５２】
図１０に、ユーザサービス処理インタフェース部２１におけるデータ受信時の動作手順を示す。ＩＰインタフェース部２０１は、ＩＰパケット網からＩＰパケットを受信すると、受信したＩＰパケットの宛先が、ＩＰインタフェース部２０１自身が管理しているＩＰアドレスであるか否かを判断する（ステップＳ１０１）。ＩＰインタフェース部２０１は、受信パケットの宛先が、自身が管理するＩＰアドレスと一致するときは、受信したＩＰパケットを、メモリ情報格納部３４１内に確保したパケットバッファに格納し（ステップＳ１０２）、処理をプロトコル識別部２０２に渡す（ステップＳ１０３）。ＩＰインタフェース部２０１は、受信パケットの宛先が自身が管理するＩＰアドレスと一致しないときは、処理を終了して受信パケットを破棄する。
【００５３】
プロトコル識別部２０２は、パケットバッファに格納されたＩＰパケットから、必要情報を含んだフィールドを抽出する（ステップＳ１０４）。図１１に、ＩＰアドレス検査部２０３がＩＰパケットから抽出するフィールド情報を示す。フィールド情報は、Ｖｅｒｓｉｏｎ、ヘッダ長、ＴｏＳ（タイプオブサービス）、トータル長、パケット識別子、パケットＦｌａｇ、フラグメンテーションオフセット、ＴＴＬ（Time To Live）、プロトコル、ヘッダチェックサム、送信元アドレス、送信先アドレス、送信元ポート、送信先（あて先）ポートを含んでいる。プロトコル識別部２０２は、図１１に示すような一般的なＩＰパケットのフォーマットから、プロトコル識別に必要な情報を抽出する。
【００５４】
プロトコル識別部２０２は、抽出した情報に基づいて、シンクライアント端末の通信に利用されているプロトコルが、あらかじめ設定された所定プロトコルであるか否かを検査する（ステップＳ１０５）。プロトコル識別部２０２は、利用されているプロトコルが、所定プロトコルに一致しない場合は、処理を終了して受信パケットを破棄する。プロトコル識別部２０２は、利用されているプロトコルが所定プロトコルに一致する場合は、処理をＩＰアドレス検査部２０３に渡す（ステップＳ１０６）。
【００５５】
ＩＰアドレス検査部２０３は、フィールド情報（図１１）から送信元ＩＰアドレスを抽出し（ステップＳ１０７）、ＩＰアドレスＤＢ部２０４に対して、送信元ＩＰアドレスが、メモリ記憶部２４に許可すべきユーザが利用可能なＩＰアドレスとして登録されているか否かの検査を依頼する（ステップＳ１０８）。ＩＰアドレスＤＢ部２０４は、メモリ記憶部２４内のサーチエンジン部３０３（図６）に対して検索コマンドを発行し、サーチエンジン部３０３から、メモリ情報格納部３４１に、送信元ＩＰアドレスに一致するＩＰアドレスが登録されているか否かを示す情報（ヒット又はノンヒット）を受け取る（ステップＳ１０９）。ＩＰアドレスＤＢ部２０４は、検査結果を、ＩＰアドレス検査部２０３に返す。なお、ＩＰアドレスＤＢ部２０４は、送信元ＩＰアドレスに一致するＩＰアドレスが登録されているか否かを示す情報（ヒット又はノンヒット）をキャッシュしている場合は、サーチエンジン部３０３に検索コマンドを発行することなく、検査結果をＩＰアドレス検査部２０３に返す。
【００５６】
ＩＰアドレス検査部２０３は、ＩＰアドレスＤＢ部２０４から送信元ＩＰアドレスが登録されていない旨を受け取ると（ノンヒット）、処理を終了し、受信パケットを破棄する。ＩＰアドレス検査部２０３は、ＩＰアドレスＤＢ部２０４から送信元ＩＰアドレスが登録されている旨を受け取ると（ヒット）、処理をユーザセッションリダイレクト部２０５に渡す（ステップＳ１１０）。
【００５７】
ユーザセッションリダイレクト部２０５は、ユーザ・ＩＰアドレスマッピング管理部２０６に、当該送信元ＩＰアドレスのシンクライアント端末のユーザが認証済みであるか否かを問い合わせる（ステップＳ１１１）。ユーザ・ＩＰアドレスマッピング管理部２０６は、メモリ記憶部２４が記憶するセッション通過情報（図９）のＵＡフラグを参照して、認証状況をユーザセッションリダイレクト部２０５に返す。ユーザセッションリダイレクト部２０５は、認証済みであるか否かを判断し（ステップＳ１１２）、認証済みであれば、ＩＰインタフェース部２０１が受信したＩＰアドレスをセッショントラフィック転送処理部２２に転送する（ステップＳ１１３）。ユーザセッションリダイレクト部２０５は、認証が未実施、又は、仮受付中の場合は、Ｗｅｂサーバ処理部２０７に、処理を渡す（ステップＳ１１４）。
【００５８】
Ｗｅｂサーバ処理部２０７は、認証状況をチェックし、仮受付中であるか否かを判断する（ステップＳ１１５）。Ｗｅｂサーバ処理部２０７は、仮受付中ではない、つまり、認証未実施と判断した場合は、セッションの仮受付を実行し、ユーザ・ＩＰアドレスマッピング管理部２０６に対して、セッション通過情報におけるＵＡフラグを仮受付中の状態に変更するように指示する。また、Ｗｅｂサーバ処理部２０７は、画面表示ＨＴＴＰプロトコル応答部２０８により、シンクライアント利用者に、ＨＴＴＰプロトコルに対する応答として、ユーザ認証を促すトラフィックを送信する（ステップＳ１２３）。
【００５９】
ユーザは、ステップＳ１２１でシンクライアント端末に送信された認証用画面に従って、ユーザ名及びパスワードを含むユーザ属性情報をＨＴＴＰプロトコルで送信する。このＨＴＴＰプロトコルのパケットは、ステップＳ１０１で、ＩＰインタフェース部２０１によって受信され、ステップＳ１０１からステップＳ１１２の処理が実行される。
【００６０】
Ｗｅｂサーバ処理部２０７は、ステップＳ１１５で仮受付中と判断したときは、受信ＩＰパケットのプロトコルがＨＴＴＰプロトコルであるか否かを判断する（ステップＳ１１６）。Ｗｅｂサーバ処理部２０７は、ＨＴＴＰプロトコル、つまり、ユーザが送信したＩＰパケットのプロトコルが認証用に用いるプロトコルであると判断すると、ＨＴＴＰの終端処理を行い、ＨＴＴＰリクエストボディからユーザ属性情報を抽出する（ステップＳ１１７）。Ｗｅｂサーバ処理部２０７は、抽出したユーザ属性情報をユーザ認証処理部２０９へ渡す（ステップＳ１１８）。なお、ユーザ属性情報の抽出は、ユーザ認証処理部２０９で行ってもよい。
【００６１】
ユーザ認証処理部２０９は、受信したトラフィックのユーザに設定されている認証方式を検査し（ステップＳ１１９）、認証方式がローカル内部データベース利用であれば、その内部データベースを用いてユーザ認証を行う（ステップＳ１２０）。ユーザ認証処理部２０９は、外部認証に設定されていると判断した場合は、外部サービス処理インタフェース部２５へユーザ属性情報を渡し（ステップＳ１２４）、図示しない外部サーバにより、ユーザ認証を実施する。ユーザ認証処理部２０９は、認証ＯＫか否かを判断し（ステップＳ１２１）、認証ＯＫのときは、ユーザ・ＩＰアドレスマッピング管理部２０６に対して、セッション通過情報におけるＵＡフラグを認証成功を示す状態に変更するように指示する。その後、ユーザ属性情報をユーザ・ＩＰアドレスマッピング管理部２０６に渡す（ステップＳ１２２）。
【００６２】
図１２に、セッショントラフィック転送処理部におけるデータ受信時の処理手順を示す。セッショントラフィック転送処理部２２内のユーザサービス接続部４０１は、ユーザサービス処理インタフェース部２１からＩＰパケットを受信すると、受信したＩＰパケットをトラフィック転送実行部４０２に渡す（ステップＳ２０１）。トラフィック転送実行部４０２は、メモリ記憶部２４に対して送信元ＩＰアドレスで検索を行い（ステップＳ２０２）、管理者が仮想デスクトップサーバへのアクセスを許可しているユーザであるか否かを検査する（ステップＳ２０３）。
【００６３】
トラフィック転送実行部４０２は、セッション通過情報７２２（図９）にアクセスしてユーザ属性情報を取得し、これを仮想基盤サービス処理インタフェース部２３内のユーザ・ホスト管理部５０４に渡す。ユーザ・ホスト管理部５０４は、自身に設定されたホストに接続可能なユーザ属性情報と、セッション通過情報７２２におけるユーザ属性情報とを比較する。ユーザ・ホスト管理部５０４は、両者が一致するときは、トラフィック転送実行部４０２に、アクセスが許可されるユーザである旨を通知する。
【００６４】
トラフィック転送実行部４０２は、仮想デスクトップサーバへのアクセスが許可されないユーザであると判断すると、ＩＰパケットを、メモリ情報格納部３４１（図６）に、セキュリティ監視用のログを格納する領域として確保された領域に格納する（ステップＳ２０８）。トラフィック転送実行部４０２は、仮想デスクトップへのアクセスが許可されるユーザであると判断すると、宛先がグルーピング指定されているユーザであるか否かを判断する（ステップＳ２０４）。トラフィック転送実行部４０２は、グルーピング設定の場合は、グループ内の任意の宛先ＩＰアドレスに書き換える（ステップＳ２０５）。グルーピング設定されていないときは、ＩＰアドレスの書換えは行わない。
【００６５】
トラフィック転送実行部４０２は、ＩＰインタフェース部４０３に、ＩＰパケットを渡す（ステップＳ２０６）。ＩＰインタフェース部４０３は、適切なＭＡＣアドレスを保有する仮想デスクトップサーバ、つまり、ＡＲＰで解決したＩＰアドレスに対応するＭＡＣアドレスを持つ仮想デスクトップサーバへ、ＩＰパケットを送信する（ステップＳ２０７）。
【００６６】
図１３に、仮想基盤サービス処理インタフェース部２３の動作手順を示す。ユーザ・ホスト管理部５０４（図４）には、事前に、ＣＰＵ制御部５０１により、仮想デスクトップサーバのホスト名情報、ＩＰアドレス情報、ホストに接続可能なユーザのユーザ属性情報などが設定されている。ノード管理部５０２は、ＩＣＭＰ、ＳＭＢ、ＣＩＦＳなどのプロトコルを用いて、仮想デスクトップサーバの探索を行う。ノード管理部５０２は、仮想デスクトップサーバを発見すると（ステップＳ３０１）、ホスト情報を取得し（ステップＳ３０２）、ＯＳ情報を取得して（ステップＳ３０３）、ノードの探索発見完了をＣＰＵ制御部５０１に通知する（ステップＳ３０４）。
【００６７】
ＣＰＵ制御部５０１は、ノード探索発見完了の通知を受けると、発見されたノードへ専用のエージェントプログラムを配布するために、モジュール格納部５０５からエージェントプログラムをロードする（ステップＳ３０５）。ＣＰＵ制御部５０１は、エージェントプログラムのロード後、ロードしたエージェントプログラムを該当ノード（発見された仮想デスクトップサーバ）にインストールする（ステップＳ３０６）。以後、仮想デスクトップサーバにインストールされたエージェントプログラムは、キープアライブ管理部５０３との間で死活監視のための通信を行い、キープアライブ管理部５０３は、仮想デスクトップサーバの死活監視を行う（ステップＳ３０７）。
【００６８】
仮想デスクトップサーバは、エージェントプログラムのインストールが完了すると、ユーザが接続可能な待ち受け状態となる。ＣＰＵ制御部５０１は、ホスト情報に基づいて、ユーザグルーピング設定を行う（ステップＳ３０８）。ＣＰＵ制御部５０１には、例えば、事前に、管理者などにより、グルーピング設定がされていない新規仮想デスクトップサーバ発見時に、その仮想デスクトップサーバに対してどのグループを設定するかといった情報が設定されている。ＣＰＵ制御部５０１は、その情報に従って、仮想デスクトップサーバに対してグルーピング設定を行う。或いは、新規発見された仮想デスクトップサーバに対して、どのグループを設定するかを管理者に問い合わせて、管理者が入力したグループに設定してもよい。
【００６９】
ＣＰＵ制御部５０１は、許可するユーザの送信元ＩＰアドレスを決定する目的で、セッション管理部５０６へ、許可ユーザ属性の比較実施を要求する（ステップＳ３０９）。ＣＰＵ制御部５０１は、一致するユーザ属性を持つＩＰアドレスを、セッショントラフィック転送処理部が参照するメモリ領域へ保存する（ステップＳ３１０）。ユーザ・ホスト管理部５０４は、ノード管理部５０２から取得するノード（仮想デスクトップサーバ）のＩＰアドレスと利用ユーザ情報とをマッピングさせ、セッション管理部５０６を通して、トラフィック転送実行部４０２が仮想デスクトップサーバ宛にＩＰアドレスを書き換える際に参照する情報（出方路を決定するための情報）を提供する。
【００７０】
ＩＰインタフェース部２０１（図２）は、ＡＲＰ（アドレス解決プロトコル）応答に返信することで、ユーザ側のＩＰネットワーク網に、セッション管理・制御装置２０の位置情報を伝達する処理を受け持つ。セッション管理・制御装置２０は、ユーザ（シンクライアント端末）から発信されるセッションをＩＰパケットにて受信すると、ＩＰインタフェース部２０１にて送信先のＩＰアドレスがＩＰインタフェース部２０１に設定された自分宛のＩＰアドレスであることを認識する。その後、プロトコル識別部２０２により、ＩＰパケットのプロトコルが仮想デスクトップサービス用としてあらかじめ設定しているシンクライアント端末のセッションプロトコルであることを識別する。
【００７１】
セッション管理・制御装置２０は、認証の実施状況を調べ、セッションの認証が未実施の場合は、ユーザセッションリダイレクト部２０５からＷｅｂサーバ処理部２０７へ処理を渡す。Ｗｅｂサーバ処理部２０７は、画面表示ＨＴＴＰプロトコル応答部２０８により、擬似的なアプリケーション動作応答として、シンクライアント端末に、認証用の画面を送信する。ユーザは、サービスを利用するために必要なユーザ属性情報（ユーザ名、パスワード、所属ドメインなど）を入力して、セッション管理・制御装置２０に送信する。ここで、セッションとは、ネットワークにおけるユーザとユーザが接続する仮想化基盤上の仮想デスクトップサーバとの間の一連の作業を実施するためのデータの開始から終了までのデータの流れを示している。
【００７２】
ユーザが入力したユーザ属性情報は、Ｗｅｂサーバ処理部２０７からユーザ認証処理部２０９へ渡される。ユーザ認証処理部２０９は、認証方式設定部２１０に設定された認証方式に従って、ユーザ認証を行う。同時に、ユーザ認証処理部２０９は、所属ドメイン情報からユーザがアクセス可能な仮想デスクトップサーバを認証し、画面表示ＨＴＴＰプロトコル応答部２０８を介して、接続可能な仮想デスクトップサーバ情報を送信する。ユーザ認証処理部２０９は、認証されたユーザのＩＰアドレスを、ユーザ・ＩＰアドレスマッピング管理部２０６に送り、ユーザ・ＩＰアドレスマッピング管理部２０６は、許可されたユーザとして登録する。
【００７３】
ユーザ・ＩＰアドレスマッピング管理部２０６による登録以降のユーザセッションは、ユーザセッションリダイレクト部２０５からセッショントラフィック転送処理部２２へ送信される。セッショントラフィック転送処理部２２は、該当の仮想デスクトップサーバへ、セッションを送信する。ユーザのセッション確立後は、標準的なＩＣＭＰ（インターネット制御管理プロトコル）などを使用し、セッション管理・制御装置２０から仮想デスクトップサーバ及びシンクライアント端末の状態を管理する。
【００７４】
本実施形態では、受け軸となるＩＰアドレス（仮想ＩＰアドレス）を利用し、セッション管理・制御装置２０にてユーザとＩＰアドレスとの動的なマッピング管理を行うことで、ＩＰネットワークに透過的に配置することを可能とする。セッション管理・制御装置２０を透過配置し、ユーザセッションをキャプチャし、セッションに対する認証が未実施のときは、認証を要求する画面をユーザ側に送信する。初期セッションに対して、セッション管理・制御装置２０からユーザに認証用画面を送信することで、仮想デスクトップサーバ側及びシンクライアント端末側に専用モジュールを搭載することが不要になる。これにより、汎用的なシンクライアント端末を使用して、仮想デスクトップサービスを受益できるという効果が得られる。
【００７５】
本実施形態では、セッション状態に関する情報（図９）を参照して、ＩＰアドレス検査部２０３で利用可能と判断された送信元ＩＰアドレスのユーザの認証が実施済みであるか否かを判断する。ユーザセッションリダイレクト部２０５は、認証が実施済みと判断すると、セッショントラフィック転送処理部２２にトラフィックを転送し、仮想デスクトップサーバへのトラフィック転送を実現する。本実施形態では、認証機構と連動し、トラフィックとユーザという属性を同じシステムで取り扱っており、ユーザトラフィックの転送を、パケットＢｙパケットで処理することが可能である。これにより、トラフィック転送をハードウェア化しやすいという効果が得られる。また、本実施形態では、セッション管理・制御装置２０で定常的にトラフィックを管理・制御することで、クライアントの開始から終了までのセッションの一括管理を可能としている。更に、本実施形態では、全てのユーザのセッションがセッション管理・制御装置２０を通過することになるので、ユーザを識別したリアルタイムでのセッション集中管理が可能となる。
【００７６】
以上、本発明をその好適な実施形態に基づいて説明したが、本発明のセッション管理・制御装置、方法、及び、プログラムは、上記実施形態にのみ限定されるものではなく、上記実施形態の構成から種々の修正及び変更を施したものも、本発明の範囲に含まれる。
【図面の簡単な説明】
【００７７】
【図１】本発明の一実施形態のセッション管理・制御システムを示すブロック図。
【図２】ユーザサービス処理インタフェース部の構成を示すブロック図。
【図３】セッショントラフィック転送処理部の構成を示すブロック図。
【図４】仮想基盤サービス処理インタフェース部の構成を示すブロック図。
【図５】外部サービス処理インタフェース部の構成を示すブロック図。
【図６】メモリ記憶部の構成を示すブロック図。
【図７】パケットバッファ部が管理する情報を示すブロック図。
【図８】サーチエンジン部が管理する情報を示すブロック図。
【図９】セッション状態に関する情報を示すブロック図。
【図１０】ユーザサービス処理インタフェース部におけるデータ受信時の動作手順を示すフローチャート。
【図１１】ＩＰパケットのフィールド情報を示すブロック図。
【図１２】セッショントラフィック転送処理部の動作手順を示すフローチャート。
【図１３】仮想基盤サービス処理インタフェース部の動作手順を示すフローチャート。
【符号の説明】
【００７８】
１０：シンクライアント端末
２０：セッション管理・制御装置
２１：ユーザサービス処理インタフェース部
２２：セッショントラフィック転送処理部
２３：仮想基盤サービス処理インタフェース部
２４：メモリ記憶部
２５：外部サービス処理インタフェース部
３０：仮想化基盤
３１：仮想デスクトップサーバ
２０１：ＩＰインタフェース部
２０２：プロトコル識別部
２０３：ＩＰアドレス検査部
２０４：ＩＰアドレスＤＢ部
２０５：ユーザセッションリダイレクト部
２０６：ユーザ・ＩＰアドレスマッピング管理部
２０７：Ｗｅｂサーバ処理部
２０８：画面表示ＨＴＴＰプロトコル応答部
２０９：ユーザ認証処理部
２１０：認証方式設定部
２１１：メモリ記憶部
２１２：ＣＰＵ制御部
３０１：ユーザサービス接続部
３０２：パケットバッファ部
３０３：サーチエンジン部
３０４：ユーザセッション管理部
３１１：セッショントラフィック接続部
３２１：仮想基盤サービス接続部
３３１：アクセス制御部
３４１：メモリ情報格納部
４０１：ユーザサービス接続部
４０２：トラフィック転送実行部
４０３：ＩＰインタフェース部
５０１：ＣＰＵ制御部
５０２：ノード管理部
５０３：キープアライブ管理部
５０４：ユーザ・ホスト管理部
５０５：モジュール格納部
５０６：セッション管理部
６０１：ユーザ情報連携部
６０２：外部サーバ連携部
７０１：ＰＢ管理情報
７０２：実ＩＰパケット
７１１、７２１：インデックス
７１２：許可登録ＩＰアドレス
７２２：セッション通過情報
【図１】
2009245301.tif 000003
【図２】
2009245301.tif 000004
【図３】
2009245301.tif 000005
【図４】
2009245301.tif 000006
【図５】
2009245301.tif 000007
【図６】
2009245301.tif 000008
【図７】
2009245301.tif 000009
【図８】
2009245301.tif 000010
【図９】
2009245301.tif 000011
【図１０】
2009245301.tif 000012
【図１１】
2009245301.tif 000013
【図１２】
2009245301.tif 000014
【図１３】
2009245301.tif 000015