−−−システム構成−−−
以下に本発明の実施形態について図面を用いて詳細に説明する。図1は、本実施形態のコンピュータ資源割り当てシステム10のネットワーク構成図である。図1に示すコンピュータ資源割り当てシステム10(以下システム10)は、ターミナルサーバ型(以下、TS型)のシンクライアントシステムを一例として想定している。例えば、前記システム10を構成するターミナルサーバ200は、当該システム10を導入・運用している企業等が所定のセンタ(例:耐震性やセキュリティ性等を考慮した建屋)に設置している。また、前記システム10を構成するシンクライアント端末100やプリンタ300などは、前記企業等が有する拠点1、拠点2・・・拠点nの各拠点(例:各地の支店や工場など)に配置されている。なお前記拠点は、前記企業のものであっても、前記企業以外のものであっても構わない。
前記各拠点とセンタとは、イントラネット等のネットワーク6に接続されている。拠点に所在する各ユーザのシンクライアント端末100は、入力装置105で受けたユーザの指示に応じ、前記ネットワーク6を通して、前記センタのターミナルサーバ200において前記ユーザに割り当てられたユーザ領域5(仮想デスクトップ)の操作処理を行い、必要に応じて前記プリンタ300に出力を行うなどの処理を実行する。
−−−シンクライアント端末−−−。
次に、本実施形態におけるコンピュータ資源割り当てシステム10を構成する各装置について各々説明する。図2は本実施形態のシンクライアント端末100の構成例を示す図である。前記シンクライアント端末100は、前記ターミナルサーバ200の利用割当処理により、ネットワーク6を介してターミナルサーバ200が提供する仮想デスクトップたるユーザ領域5を利用する装置であって、本発明を実現する機能を備えるべくフラッシュROM108などに格納されたプログラム102をRAM103に読み出し、演算装置たるCPU104により実行する。
また、前記シンクライアント端末100は、コンピュータ装置が一般に備えている各種キーボードやマウス、ボタン類などの入力装置105、ディスプレイなどの出力装置106、ならびに、前記ターミナルサーバ200などとの間のデータ授受を担う通信装置たるNIC107(Network Interface Card)などを有している。前記シンクライアント端末100は、前記NIC107により、前記ターミナルサーバ200らと前記ネットワーク6を介して接続し、データ授受を実行する。
こうしたシンクライアント端末100として、本実施形態では、いわゆるHDDレスタイプのシンクライアント端末を想定する。また、前記シンクライアント端末100は、各種デバイスを接続するためのインターフェイスたるUSBインターフェイス144、キーボードおよびマウスを接続するためのI/Oコネクタ160、ディスプレイを接続するためのビデオカード130、これらの各部101〜160と接続するバスを中継するブリッジ109、電源120を有する。前記CPU104は、電源120の投入後、先ずフラッシュROM108にアクセスしてBIOS135を実行することにより、シンクライアント端末100のシステム構成を認識する。
フラッシュROM108におけるOS136は、CPU104がシンクライアント端末100の各部101〜160を統括的に制御して、後述する各部に対応するプログラムを実行するためのプログラムである。CPU104は、BIOS135に従い、フラッシュROM108からOS136をRAM103にロードして実行する。なお、本実施形態のOS136には、組み込み型OS等のフラッシュROM108に格納可能な比較的サイズの小さいものが利用される。
続いて、前記シンクライアント端末100が、例えばプログラム102に基づき前記フラッシュROM108にて構成・保持する機能部につき説明を行う。前記シンクライアント端末100は、前記USBインターフェイス144に接続された認証デバイス50より、シンクライアント端末100の使用場所名称の一覧を含んだ接続情報を読み取って出力装置106に表示し、前記一覧中からの使用場所名称のユーザ選択を入力装置105で受け付け、前記ユーザが選択した使用場所名称を、前記ターミナルサーバ200とのシンクライアント接続確立後にターミナルサーバ200に送信する名称送信部110を備える。
なお、前記シンクライアント端末100は、ターミナルサーバ200との接続確立処理の実行に伴い、当該シンクライアント端末100の入力装置105にて入力された操作情報を前記ターミナルサーバ200のアドレスに宛てて送信し、当該操作情報に対応した映像情報を前記ターミナルサーバ200から受信して、当該シンクライアント端末100の出力装置106に表示する機能もシンクライアント端末として当然に備える。
こうした前記シンクライアント端末100は、リモートクライアントプログラム170と、暗号化通信プログラム171とを前記フラッシュROM108にて備えている。前記リモートクライアントプログラム170は、シンクライアント端末100が遠隔からターミナルサーバ200の仮想デスクトップたるユーザ領域5にアクセスするためのプログラムであり、例えばVNCのクライアント(ビューワ)プログラムである。CPU104は、OS136に従い、フラッシュROM108からリモートクライアントプログラム170をRAM103にロードして実行する。これにより、CPU104は、I/Oコネクタ160の入力情報(キーボードおよびマウスの操作内容)を、例えばVPNなどのネットワーク6を介してターミナルサーバ200に送信すると共に、VPN等のネットワーク6を介して当該ターミナルサーバ200から送られてきた映像情報(ディスプレイのデスクトップ画面)をビデオカード130に接続されたディスプレイなどの出力装置106に出力する。
また、前記暗号化通信プログラム171は、リモートクライアントプログラム170より通知されたアドレスを持つターミナルサーバ200との間に、VPNなどのセキュアな通信ネットワークを構築するための通信プログラムである。例えば、IPsecを用いた通信プログラムを想定できる。CPU104は、OS136に従い、フラッシュROM108から暗号化通信プログラム171をRAM103にロードして実行する。これにより、CPU104は、NIC107を介して自シンクライアント端末100に割当てされたターミナルサーバ200へ通信開始要求を送信して、当該ターミナルサーバ200との間にVPN等のネットワークを構築し、このVPN等を介して当該ターミナルサーバ200と通信する。
なお、本実施形態において前記シンクライアント端末100は、前記名称送信部110、リモートクライアントプログラム170、暗号化通信プログラム171らを、フラッシュROM108に代えて、TPM(Trusted Platform Module)と呼ばれるチップ内に収めているとしてもよい。このTPMは、スマートカード(IC カード)に搭載されるセキュリティチップに似た機能を持っており、非対称鍵による演算機能、またこれら鍵を安全に保管するための耐タンパー性を有するハードウェアチップである。このTPMの機能としては、例えば、RSA(Rivest-Shamir-Adleman Scheme)秘密鍵の生成・保管、RSA秘密鍵による演算(署名、暗号化、復号)、SHA−1(Secure Hash Algorithm 1)のハッシュ演算、プラットフォーム状態情報(ソフトウェアの計測値)の保持(PCR)、 鍵、証明書、クレデンシャルの信頼チェーンの保持、高品質な乱数生成、不揮発性メモリ、その他Opt-in やI/O等があげられる。
前記TPM は、暗号鍵(非対称鍵)の生成・保管・演算機能の他、プラットフォーム状態情報(ソフトウェアの計測値)をTPM 内のレジスタPCR(Platform Configuration Registers)に安全に保管し、通知する機能を有している。TPMの最新仕様では、さらにローカリティやデリゲーション(権限委譲)等の機能が追加されている。なお、TPMは、物理的にプラットフォームのパーツ(マザーボードなど)に取り付けることとなっている。
−−−認証デバイス−−−
図3は本実施形態の認証デバイス50の構成例を示す図である。なお、前記認証デバイス50の例としては、ICチップ401をプラスティック筐体などの適宜な収納ケースに格納し、拠点に設置されている前記シンクライアント端末100のUSBインターフェイス144にUSBアダプタ400をもってデータ通信可能に接続される、例えばUSBメモリなどのデバイスなどがあげられる。
また前記認証デバイス50のICチップ401には、認証情報4011、リモート用認証情報4012、プロファイル情報4013、認証プログラム4014、前記認証プログラム4014を実行するCPU4015、が備わっている。なお、認証デバイス50に、フラッシュメモリを外付けできるように構成し、ICチップ401内の一部のデータをこのフラッシュメモリに記憶するようにしても構わない。
前記認証プログラム4014は、前記シンクライアント端末100から受け取った認証情報と前記ICチップ401に記憶されている認証情報4011とを照合してユーザ認証を行い、その認証結果をシンクライアント端末100に送信する。また、前記認証プログラム4014は、前記認証結果が認証成立を示す場合に、その認証結果とともに、前記ICチップ401に記憶されているプロファイル情報4013(ターミナルサーバ200のIPアドレス、ネットワーク情報設定方法等)、ターミナルサーバ200でユーザ認証を行うためのリモート用認証情報4012をシンクライアント端末100に送信する。
ここで、前記認証情報4011は、図4に示すように、認証デバイス50にて、シンクライアント端末100から受信したユーザID、パスワードと照合してユーザの認証を行うために必要な情報(ユーザID、パスワード)である。前記認証プログラム4014は、シンクライアント端末100から受信した認証情報とICチップ401に記憶しいる認証情報4011とを照合してユーザ認証を行うこととなる。また、前記リモート用認証情報4012は、同じく図4に示すように、ターミナルサーバ200にて、ターミナルサーバ200に記憶されているユーザID、パスワードと照合してユーザ認証を行うために必要な情報(ユーザID、パスワード)である。
図5は、プロファイル情報4013の例を示す図である。一方、前記プロファイル情報4013は、ユーザ領域環境設定名称501(=シンクライアント端末100の使用場所名称)と、ターミナルサーバ200のIPアドレス502と、ネットワーク情報設定方法503と、を示す情報がそれぞれ対応付けられている。前記ユーザ領域環境設定名称501は、本発明における「シンクライアント端末の使用場所名称」にあたり、拠点名等のシンクライアント端末100の設置(使用)場所を示す情報である。また、前記ターミナルサーバ200のIPアドレス502は、ターミナルサーバ200の宛先を示すネットワークアドレスである。また、前記ネットワーク情報設定方法503は、DHCP等のネットワーク情報設定方法に関する情報である。これらの情報501〜503は、例えば、ユーザ責任にて設定される情報である。ターミナルサーバ200にシンクライアント端末100を接続して通信を開始する際、ユーザは通信開始場所(拠点)に対応する「ユーザ領域環境設定名称」を前記ユーザ領域環境設定名称501のカラム中より選択する(例えば、“拠点1”からアクセスする時は、「設定_拠点1」をユーザが選択する)。
なお、この認証デバイス50としては、ICカード部とフラッシュメモリとが一体化したメモリカードに、個人証明書や秘密鍵およびパスワード、モバイル利用に必要な各種アプリケーションソフトウェアをプレインストールした認証デバイス(商標名:KeyMobile)を採用することができる。
図6は本実施形態のターミナルサーバ200の構成例を示す図である。一方、前記ターミナルサーバ200は、前記ネットワーク6を介して、前記シンクライアント端末100に仮想デスクトップたる前記ユーザ領域5を提供し、シンクライアント端末100からの利用を受けるサーバ装置である。このターミナルサーバ200は、本発明を実現する機能を備えるべくHDD(ハードディスクドライブ)201などに格納されたプログラム202をRAM203に読み出し、演算装置たるCPU204により実行する。また、前記ターミナルサーバ200は、シンクライアント端末100などとの間のデータ授受を担う通信装置たるNIC207を有している。前記ターミナルサーバ200は、前記NIC207により、前記シンクライアント端末100らとネットワーク6を介して接続し、データ授受を実行する。また、ターミナルサーバ200は、他にも、フラッシュROM(Read Only Memory)208、デスクトップの映像情報を生成するビデオカード230、これらの各部201〜230とバスとを中継するブリッジ209、電源220を有する。
前記フラッシュROM208には、BIOS(Basic Input/Output System)235が記憶されている。前記CPU204は、電源220の投入後、先ずフラッシュROM208にアクセスしてBIOS235を実行することにより、ターミナルサーバ200のシステム構成を認識する。
こうしたターミナルサーバ200が、例えばプログラム202に基づき構成・保持する機能部につき説明を行う。なお、前記ターミナルサーバ200は、前記HDD201において本発明の「第1テーブル」としての割当てテーブル225、プリンタ設定情報226、認証情報管理テーブル227を備え、更に、前記HDD201に設けた各ユーザ領域5には、本発明の「第2テーブル」としてのユーザ領域環境設定テーブル901および環境設定情報蓄積テーブル902が備わっている(いずれも詳細は後述)。
前記ターミナルサーバ200は、前記シンクライアント端末100とのシンクライアント接続の確立処理を実行し、前記シンクライアント端末100から送信されるユーザIDに基づいて前記第1テーブルたる割当てテーブル225で該当ユーザのユーザ領域5(=仮想デスクトップ)の情報を特定し、前記シンクライアント端末100に前記ユーザ領域5(=仮想デスクトップ)を提供するターミナルサーバ機能部210を備える。
また、前記ターミナルサーバ200は、シンクライアント接続確立後に前記シンクライアント端末100から送信されてくる前記ユーザ領域環境設定名称(=使用場所名称)の情報を受信し、前記シンクライアント端末100に提供しているユーザ領域5において記憶している前記ユーザ領域環境設定テーブル901および環境設定情報蓄積テーブル902で前記ユーザ領域環境設定名称の情報を照合して、前記ユーザ領域環境設定名称に対応付けられたコンピュータ資源を特定し、当該コンピュータ資源を前記ユーザ領域5におけるデフォルトの利用資源として前記ユーザ領域環境設定テーブル901にデータ設定する資源割当部211を備える。この資源割当部211は、前記ユーザ領域5に備わることが想定できる。
なお、前記ターミナルサーバ200の資源割当部211は、シンクライアント接続確立後に前記シンクライアント端末100から送信されてくる前記ユーザ領域環境設定名称の情報を受信し、前記シンクライアント端末100に提供しているユーザ領域5において記憶している前記ユーザ領域環境設定テーブル901および環境設定情報蓄積テーブル902で前記ユーザ領域環境設定名称の情報を照合して、前記ユーザ領域環境設定名称に対応付けられたコンピュータ資源を特定出来なかった場合、前記ユーザ領域環境設定名称に応じたコンピュータ資源の指定を受け付ける入力画面データ(前記HDD201に予め保持)を前記シンクライアント端末100に送信し、前記入力画面を介して前記シンクライアント端末100から前記ユーザ領域環境設定名称に対応するコンピュータ資源の指定を受け付け、当該コンピュータ資源を前記ユーザ領域環境設定名称=使用場所におけるユーザ領域5でのデフォルトの利用資源として前記ユーザ領域環境設定テーブル901にデータ設定する、としてもよい。
また、前記ターミナルサーバ200のターミナルサーバ機能部210は、前記シンクライアント端末100へのユーザ領域5の提供に際し、該当シンクライアント端末100からコンピュータ資源の利用要求を受けた場合に、前記利用要求が示すコンピュータ資源について、該当ユーザ領域5の前記ユーザ領域環境設定テーブル901においてデフォルト設定されているコンピュータ資源を特定し、当該コンピュータ資源について前記利用要求に応じた処理を実行して、その処理結果を前記ユーザ領域5において前記シンクライアント端末100に返す、としてもよい。
また、前記ターミナルサーバ200のターミナルサーバ機能部210は、前記シンクライアント端末100へのユーザ領域5の提供に際し、該当シンクライアント端末100からコンピュータ資源の利用要求を受けた場合に、前記利用要求が示すコンピュータ資源について、該当ユーザ領域5の前記ユーザ領域環境設定テーブル901においてデフォルト設定されているコンピュータ資源を特定し、前記ユーザ領域5の環境設定のうち該当資源に関する情報を前記特定したコンピュータ資源の情報で更新する、としてもよい。
なお、前記ターミナルサーバ200は、前記シンクライアント端末100との接続確立処理が実行されるに伴い、前記シンクライアント端末100から操作情報を受信して、当該操作情報が示す操作内容に従って情報処理を行い、その結果を示す映像情報を該当ユーザ別の仮想デスクトップ=ユーザ領域5として当該シンクライアント端末100に送信する機能を、シンクライアントシステムにおけるターミナルサーバとして当然に有する。
また、前記ターミナルサーバ200は、前記HDD201において、リモートサーバプログラム270、暗号化通信プログラム271、OS(Operating System)236を記憶している。前記OS236は、CPU204がターミナルサーバ200の各部201〜230を統括的に制御して、前記各部210〜211等の各部を実現する各プログラムを実行するためのプログラムである。CPU204は、BIOS235に従い、HDD201からOS236をRAM203にロードして実行する。これにより、CPU204は、ターミナルサーバ200の各部201〜230を統括的に制御する。
また、リモートサーバプログラム270は、ターミナルサーバ200の仮想デスクトップたる前記ユーザ領域5をシンクライアント端末100から遠隔操作可能とするためのプログラムであり、例えばAT&Tケンブリッジ研究所で開発されたVNC(Virtual Network Computing)のサーバプログラムである。CPU204は、OS236に従い、HDD201からリモートサーバプログラム270をRAM203にロードして実行する。これにより、CPU204は、VPN等のネットワークを介してシンクライアント端末100から送られてきた入力情報(キーボードおよびマウスの操作内容)を受信し処理すると共に、処理結果を示す映像情報(ディスプレイのデスクトップ画面)を、VPN等のネットワークを介してシンクライアント端末100に送信する。
また、前記暗号化通信プログラム271は、シンクライアント端末100との間にVPN等のネットワークを構築するための通信プログラムであり、例えばIPsec(Security Architecture for the Internet Protocol)を用いた通信プログラムである。CPU204は、OS236に従い、HDD201から暗号化通信プログラム271をRAM203にロードして実行する。これにより、CPU204は、NIC207を介してシンクライアント端末100から受付けた接続確立要求等に従い、シンクライアント端末100との間にVPN等のセキュアなネットワークを構築し、このVPN等を介してシンクライアント端末100と通信を行なう。
また、前記ターミナルサーバ200は、前記HDD201において、認証プログラム212、共通領域228を有し、前記共通領域228の中に、プリンタ設定情報226を記憶している。前記認証プログラム212は、シンクライアント端末100からネットワーク6を介して受信したリモート用認証情報4012と、認証情報管理テーブル227に予め記憶されている認証情報とを照合して、ユーザ認証を行うプログラムである。
なお、前記割当てテーブル225(=第1テーブル)は、図7に示すように、ユーザID701とユーザ領域5に関する情報702とが対応付けて記憶されている。この割当てテーブル225は、例えば、センタ管理者により登録、管理されている。
また、前記ユーザ領域5は、既に上述したように、ターミナルサーバ200が予め各ユーザに割り当てた仮想デスクトップであり、この仮想デスクトップを構成するデータ群は、例えば前記HDD201においてユーザ毎に区分した所定記憶領域に格納されている。各ユーザは自分に割り当てられたユーザ領域5を占有するとともに、他ユーザのユーザ領域5へのアクセス権限を有しない。
また、前記共通領域228は、前記ユーザ領域5へのアクセスが許可されたユーザであれば、誰でも参照できる共用領域である。この中に、プリンタ設定情報226が登録されている。図8の例に示すように、前記プリンタ設定情報226としては、プリンタ名称801、プリンタのIPアドレス802、プリンタのドライバ803が関連付けて登録されている。このプリンタ設定情報226の登録、変更等は、例えば全てセンタ管理者が行う。ユーザはシンクライアント端末100を介してこのプリンタ設定情報226から特定のプリンタを選択し、後述するユーザ領域5内のユーザ領域環境設定テーブル901に割り付ける。
続いて、前記ユーザ領域5について説明する。図9は、ユーザ領域5の構成例を示す図である。前記ユーザ領域5は各ユーザに固定的に割り当てられた仮想デスクトップに対応する。各ユーザ領域5には少なくとも、ユーザ領域環境設定テーブル901、環境設定情報蓄積テーブル902、資源割当部211が登録されている。
図10は、ユーザ領域環境設定テーブル901の設定例である。このユーザ領域環境設定テーブル901は、コンピュータ資源を示す環境名1001、該当ユーザ領域5でのデフォルトのコンピュータ資源であることを示すデフォルト設定1002、コンピュータ資源の設定名称1003、コンピュータ資源のIPアドレスなどの情報A1004、コンピュータ資源のその他の情報を示す情報B1005等を含んで構成されている。
このユーザ領域環境設定テーブル901は、各ユーザがガイダンス等に従って手動で設定を行うものであり、設定変更の自由はあるが、設定ミスに関しての責任はユーザが負うことになる。本例では、コンピュータ資源として環境名1001が示すように、「プリンタ」と「壁紙」が登録されている。この例で「プリンタ」は設定名称1003で示すように、「プリンタ_拠点1」、「プリンタ_拠点2」、「プリンタ_拠点n」の3種類が登録されており、情報A1003として該当プリンタのIPアドレス、情報B1004として該当プログラムのドライバが登録されている。また、図10の例における前記デフォルト設定1002では、「プリンタ_拠点1」に「デフォルト」の設定がなされており、つまり、該当ユーザ領域5で通常使うプリンタとなっている。
図11は、環境設定情報蓄積テーブル902の設定例である。この環境設定情報蓄積テーブル902は、コンピュータ資源を示す環境名1101、ユーザ領域環境設定名称1102、設定名称1103を含んで構成される。本事例では、例えば、前記環境名1101として設定されている「プリンタ」は、ユーザ領域環境設定名称1102のデータが「設定_拠点1」のとき、設定名称1103(前記ユーザ領域環境設定テーブル901での設定名称1003に対応)として「プリンタ_拠点1」をデフォルトとして用いることを示している。本テーブル902の登録、修正は、ユーザが適宜、実施する。例えば本事例では、「拠点3」からシンクライアント端末100でのアクセスがあった場合、前記ユーザ領域環境設定名称1102に「設定_拠点3」のレコードが存在しないため、該当レコードの新規登録ガイダンスがターミナルサーバ200(のユーザ領域5)からシンクライアント端末100に送られる。こうして一度設定すれば、以降はユーザが主体的に変更しないかぎり、ユーザ領域環境設定テーブル901の設定内容が前記環境設定情報蓄積テーブル902に反映される。
なお、これまで示したコンピュータ資源割り当てシステム10を構成する、シンクライアント端末100、ターミナルサーバ200らにおける各部110、210〜211等は、ハードウェアとして実現してもよいし、メモリやHDD(Hard Disk Drive)などの適宜な記憶装置に格納したプログラムとして実現するとしてもよい。この場合、前記各装置のCPUがプログラム実行に合わせて記憶装置より該当プログラムを各RAMに読み出して、これを実行することとなる。また、前記各部を実現するプログラムは、予め各装置の記憶装置に格納されている場合と、必要なときに、入出力インタフェースを介して所定の記憶媒体から、或いは他装置から取得して実行するとしてもよい。前記記憶媒体としては、例えば、入出力インタフェースに着脱可能な記憶媒体、または通信媒体(すなわちネットワークまたはネットワークを伝搬する搬送波やディジタル信号)を指す。
また、前記ネットワーク6に関しては、インターネット、LANの他、ATM回線や専用回線、WAN(Wide Area Network)、電灯線ネットワーク、無線ネットワーク、公衆回線網、携帯電話網など様々なネットワークを採用することも出来る。また、VPN(Virtual Private Network)など仮想専用ネットワーク技術を用いれば、インターネットを採用した際にセキュリティ性を高めた通信が確立され好適である。
−−−処理フロー例1−−−
まずは、本実施形態のコンピュータ資源割り当て方法の処理概要について説明しておく。図12は本実施形態におけるコンピュータ資源割り当て方法の処理フロー例1を示す図である。なお、以下で説明するコンピュータ資源割り当て方法に対応する各種動作は、前記コンピュータ資源割り当てシステム10を構成する、シンクライアント端末100、ターミナルサーバ200、認証デバイス50らが実行するプログラムによって実現される。そして、このプログラムは、以下に説明される各種の動作を行うためのコードから構成されている。
この場合まず、ユーザは、シンクライアント端末100に備わる前記USBインターフェイス144に前記認証デバイス50を挿入する。一方、前記シンクライアント端末100は出力装置106において所定の入力フォームを表示し、キーボードやマウス等の入力装置105からの認証情報(例えば、ユーザID、パスワード)の入力を前記ユーザから受け付ける。またシンクライアント端末100は、この認証情報を含む認証依頼を前記認証デバイス50に送る(s100)。
前記認証デバイス50は、前記シンクライアント端末100から受け取った認証情報と、自身で記憶している認証情報(ユーザID、パスワード)とを照合してユーザ認証を行い(s101)、その認証結果(認証成立)とともに、ネットワーク情報(シンクライアント端末100のIPアドレス等)の設定方法に関する情報(例えば、DHCP(Dynamic Host Configuration Protocol))、接続先装置となるターミナルサーバ200のIPアドレス、及びターミナルサーバ200でユーザを認証するための認証情報(例えば、ユーザID、パスワード)をシンクライアント端末100に送信する(s102)。
一方、前記シンクライアント端末100は前記認証デバイス50にアクセスし、認証デバイス50に登録されている複数の接続方法を読み出して出力装置106に表示し、最適な接続方法に関するユーザ選択を受け付ける。前記シンクライアント端末100は、ここでのユーザの選択に従い、前記認証デバイス50からシンクライアント端末100のネットワーク情報設定方法及びユーザ領域環境設定名称501を受け取り、例えば、ネットワーク6からDHCP等の方法により、イントラネットのIPアドレス体系を持ったユニークなIPアドレスを取得する。そして、このシンクライアント端末100は、前記認証デバイス50から受け取った認証情報とシンクライアント端末100のIPアドレス及びユーザ領域環境設定名称501をネットワーク6を介してターミナルサーバ200に送信する(s103)。
他方、ターミナルサーバ200は、前記シンクライアント端末100から前記認証情報らをネットワーク6を介して受信し、受信した認証情報と自身で記憶している認証情報(例えば、ユーザID、パスワード)とを照合してユーザ認証を行う(s104)。認証成立後、ターミナルサーバ200は、受信した前記認証情報に含まるユーザIDを前記割当てテーブル225に照合し、前記ユーザに割り当てられているユーザ領域5を特定してアクセスを許可する。また、前記ターミナルサーバ200は、ユーザ領域環境設定名称501を前記ユーザ領域5の資源割当部211に通知する(s105)。前記ユーザ領域5の資源割当部211は、前記ユーザ領域環境設定名称501と ユーザ領域5内に保存された前記ユーザ領域環境設定テーブル901や環境設定情報蓄積テーブル902を参照し、適切な資源割当を行う(s106)。仮想デスクトップたる前記ユーザ領域5(を提供するターミナルサーバ200)は、前記シンクライアント端末100と通信を行う(s107)。
−−−処理フロー例2−−−
続いてコンピュータ資源割り当て方法の詳細な処理手順例について説明する。図13は本実施形態におけるコンピュータ資源割り当て方法の処理フロー例2を示す図である。ここで、前記認証デバイス50がシンクライアント端末100のUSBインターフェイス144に挿入されたとする。この場合、前記シンクライアント端末100は、所定の認証用プログラムを実行し、ビデオカード130に接続されたディスプレイ106に認証情報(ユーザD、パスワード)の入力フォーム(HDD201に予めデータ保持)を表示する。
前記シンクライアント端末100は、前記入力フォームを介して入力装置105で入力された認証情報をI/Oコネクタ160を介して受信する。また前記シンクライアント端末100は、これを前記USBインターフェイス144に接続されている認証デバイス50に送信して、ユーザ認証を依頼する(S1201)。
認証デバイス50は、前記認証プログラム4014を実行し、シンクライアント端末100から受信した認証情報(ユーザD、パスワード)と、認証デバイス50に記憶されている認証情報(ユーザD、パスワード)4011とを照合して、ユーザ認証を行う(S1202)。認証成立後、前記認証デバイス50は、当該認証デバイス50に記憶されているプロファイル情報4013(図5)及びリモート用認証情報4012(図4)を前記シンクライアント端末100に送信する。
前記シンクライアント端末100の前記名称送信部110は、前記プロファイル情報4013及びリモート用認証情報4012を、前記認証デバイス50からUSBインターフェイス144を介して受信すると、図14に示すプロファイル情報一覧画面1500(=シンクライアント端末100の使用場所名称の一覧を含んだ接続情報)のデータをディスプレイ106に表示する。
前記ディスプレイ106に表示されたプロファイル情報一覧画面1500から、ユーザが、例えば、マウス及びキーボードなどの入力装置105を用いてユーザ領域環境設定名称1501(例えば、「設定_拠点2」)及びターミナルサーバ200のIPアドレス1502(例えば、「10.10.10.10」)を選択し、接続ボタン1503をクリックする操作を行ったとする。またこの間に、前記シンクライアント端末100のリモートクライアントプログラム170がターミナルサーバ200のリモートサーバプログラム270との間でシンクライアント接続の確立処理を完了しているものとする。
すると、前記シンクライアント端末100の名称送信部110は、前記暗号化通信プログラム171を用いつつ、リモート用認証情報(ユーザD、パスワード)4012及び、ユーザ領域環境設定名称501(上記例の場合、「設定_拠点2」)を、ネットワーク6を介して、例えばIPアドレスが「10.10.10.10」であるターミナルサーバ200に送信する(S1203)。なお、拠点の選択をユーザが間違えた場合、ターミナルサーバ200のIPアドレスの取得に失敗するため、前記シンクライアント端末100は通信エラーの表示を出力装置106において行う。
一方、前記ターミナルサーバ200のターミナルサーバ機能部210は、認証プログラム212を用いて、前記シンクライアント端末100から送信されてきたリモート用認証情報(ユーザD、パスワード)4012を受信し、これと認証情報管理テーブル227に記憶されているリモート用認証情報(ユーザD、パスワード)とを照合して、ユーザ認証を行う(S1204)。前記ターミナルサーバ200のターミナルサーバ機能部210は、前記ステップS1204でのユーザ認証成立後、前記ステップS1204で受信したユーザIDと前記割当てテーブル225のユーザID701とを比較し、合致するレコードを選択する。また、前記ターミナルサーバ機能部210は前記レコードのユーザ領域702が示すユーザ領域5(=仮想デスクトップ)の情報を取得し、前記シンクライアント端末100に前記ユーザ領域5(=仮想デスクトップ)を提供する。仮想デスクトップの提供手法については既存のターミナルサービスのものと同様でよい。
また、前記ターミナルサーバ200は、前記シンクライアント端末100から受信している前記ユーザ領域環境設定名称501(上記例の場合、「設定_拠点2」)のデータを前記ユーザ領域5の資源割当部211に通知する(S1205)。前記資源割当部211は、このデータを受信し、前記ユーザ領域5において記憶している前記ユーザ領域環境設定テーブル901の内容変更を実行する。図15にこの場合の資源割当部211での処理フローを示す。
この時、前記資源割当部211は、ユーザ領域環境設定名称501の通知を受けて、例えば、「設定_拠点2」のデータを取得したとする(S1601)。前記資源割当部211は、この「設定_拠点2」なるデータと、前記環境設定情報蓄積テーブル902のユーザ領域環境設定名称1102のデータとを比較する(S1602)。図11の例では、環境名1101が「プリンタ」なるレコードのうち、ユーザ領域環境設定名称1102が「設定_拠点2」であるレコードが存在している。そこで前記資源割当部211は、該当レコードの設定名称1103から、「プリンタ_拠点2」を得る。
前記ステップS1602で、一致するレコードが検索できた場合(S1602:一致)、前記資源割当部211は、前記ステップS1602で得た環境名1101:「プリンタ」、及び設定名称1103:「プリンタ_拠点2」といったデータを用いて、前記ユーザ領域環境設定テーブル901をチェックする。例えば、ユーザ領域環境設定テーブル901において、前記資源割当部211は、環境名1001が「プリンタ」であるレコードで、デフォルト設定1002に「デフォルト」が設定されているレコードを検索し、そのレコードの設定名称1003が「プリンタ_拠点2」と一致するかチェックする(S1603)。このチェックで「一致」と判定できた場合(S1603:一致)、前記資源割当部211は前記ユーザ領域環境設定テーブル901の内容を更新せず、本フローを終了する。
他方、前記環境名1001が「プリンタ」であるレコードで、デフォルト設定1002に「デフォルト」が設定されているレコードを検索し、そのレコードの設定名称1003が「プリンタ_拠点2」と一致しなかった場合(S1603:不一致)、前記資源割当部211は、図10の例で示す「プリンタ_拠点1」のレコードについてデフォルト設定1002に設定された「デフォルト」のデータを削除して空白に更新し、さらに、設定名称1003が「プリンタ_拠点2」のレコードのデフォルト設定1002に「デフォルト」データを設定する(S1604)。
続いて資源割当部211は、前記ステップS1604にてユーザ領域環境設定テーブル901の更新処理を終えたのち、前記ステップS1602に処理を戻す。本実施形態の例では、例えば、環境名1101が「壁紙」であるレコードについて、前記処理S1602、〜S1604を繰り返す。その結果、前記ユーザ領域環境設定テーブル901は、環境名1001が「プリンタ」、「壁紙」の双方において、設定名称1003が「プリンタ_拠点2」、「壁紙_拠点2」のレコードにのみ、デフォルト設定1002に「デフォルト」なるデータが設定された状態に変化する。
なお、前記ステップS1602において、前記ユーザ領域環境設定名称501と、前記環境設定情報蓄積テーブル902のユーザ領域環境設定名称1102との比較で一致するレコードがもう特定できない場合(S1602:不一致)、前記資源割当部211は処理をステップS1605へと遷移させる。このステップS1605において、前記資源割当部211は、既に実行してきた前記ステップS1602において、一致するレコードが存在したか、例えば、前記ステップS1602の実行履歴データ等(例:資源割当部211がユーザ領域5にて記憶)で確認する(S1605)。上記事例では、環境名1101が「プリンタ」、「壁紙」なるレコードについて一致レコードを存在したので、前記資源割当部211は、前記ステップS1602において、一致するレコードが存在したと判定し(S1605:Yes)、処理を終了する。
以上、前記ステップS1601で前記ユーザ領域環境設定名称501として「設定_拠点2」を受け取った場合は、ユーザ領域環境設定テーブル901において設定名称1003が「プリンタ_拠点2」、「壁紙_拠点2」のレコードにのみ、デフォルト設定1002で「デフォルト」のデータを設定することを説明した。前記ステップS1602でレコードがヒットする場合は、ユーザが以前に「拠点2」で作業したことがあり、その際ユーザは、「拠点2」に最適な環境設定を実施していたことを示している。
他方、前記ステップS1601で資源割当部211が、前記ユーザ領域環境設定名称501として「設定_拠点3」を取得したとする。この場合、前記資源割当部211は、前述したステップS1601〜S1603の処理を進めるが、図10、11に示す事例では、ここで1レコードもヒットしない。従って、前記ステップS1605で、前記資源割当部211は、前記ステップS1602において、一致するレコードが存在しなかったと判定し(S1605:No)、処理をS1606へと遷移させる。
この場合、ユーザが「拠点3」から接続することが初めてであることを示す。従って、この「拠点3」に関してコンピュータ資源の新規登録を行うこととなる。この時、前記資源割当部211は、図16に示す環境設定画面1701のデータをHDD201から読み出してユーザ領域5、直接的にはシンクライアント端末100の出力装置106において表示させる。前記資源割当部211は、この環境設定画面1701において、「ユーザ領域環境設定名称」欄に、前記ステップS1601で取得した前記ユーザ領域環境設定名称501の「設定_拠点3」を表示させる。また、「設定項目」欄には、「プリンタ」と「壁紙」をデフォルトで選択可能に表示させる(プルダウンメニューなど)。
図16の画面例では、ユーザがシンクライアント端末100におけるマウスなどの入力装置105を介して、前記プルダウンメニューで「プリンタ」を選択している。また、前記資源割当部211は、設定名称の選択用プルダウンメニュー1702にてユーザの選択を受け付ける。ただし、「拠点3」に存在するプリンタの登録が前記ユーザ領域環境設定テーブル901にされていないため、このプルダウンメニューにも「拠点3」に対応するプリンタの選択肢が無い。そこで例えば、プルダウンメニュー1702中の「プリンタ設定情報」の選択をシンクライアント端末100を介してユーザから受けた場合、前記資源割当部211は、前記プリンタ情報226に登録されている情報を抽出し、新たにプルダウンメニューとしてユーザ領域5、直接的にはシンクライアント端末100の出力装置106において表示する。前記ユーザは、このプルダウンメニューをシンクライアント端末100の出力装置106において参照し、「拠点3」に対応した「プリンタ_拠点3」の選択を入力装置105で行い、更に決定ボタン1703を押下する。
一方、前記資源割当部211は、前記ユーザ領域5に表示された前記画面1701を介し、前記決定ボタン1703の押下データと共に、「設定_拠点3」に関して「プリンタ_拠点3」の新規登録要求をシンクライアント端末100から受け付ける。そこで資源割当部211は、前記ユーザ領域環境設定テーブル901において、設定名称1003の欄に「プリンタ_拠点3」が設定され、デフォルト設定1002の欄に「デフォルト」を設定した新規レコードを追加する。また前記資源割当部211は、前記環境設定情報蓄積テーブル902において、ユーザ領域環境設定名称1102が「設定_拠点3」のレコードを新規追加する(S1606)。
以上のステップS1601〜S1606にて、各ユーザに割り当てられたユーザ領域5に保管されたユーザ領域環境設定テーブル901の設定内容には、前記ステップS1203でユーザが選択したユーザ領域設定名称501をキーとして、予め環境設定情報蓄積テーブル902に設定された情報が、自動的に反映される(S1206)。その後、前記ユーザ領域5と前記シンクライアント端末100との間でターミナル通信が開始され、前記ターミナルサーバ200のターミナルサーバ機能部210は、前記ユーザのユーザ領域5と前記シンクライアント端末100との間の遠隔操作を処理する(S1207)。
また、前記ターミナルサーバ機能部210は、前記シンクライアント端末100へのユーザ領域5の提供に際し、該当シンクライアント端末100からコンピュータ資源、例えば、「プリンタ」の利用要求を受けた場合に、前記利用要求が示すコンピュータ資源たる「プリンタ」について、該当ユーザ領域5の前記ユーザ領域環境設定テーブル901においてデフォルト設定1002欄が「デフォルト」に設定されているレコードを特定し、このレコードが示すプリンタ、例えば「プリンタ_拠点3」を特定し、当該「プリンタ_拠点3」に対し前記利用要求が示す所定印刷データのプリントアウト処理を実行して、その処理結果を前記ユーザ領域5において前記シンクライアント端末100に返す(S1208)。
なお、前記ターミナルサーバ機能部210は、前記シンクライアント端末100へのユーザ領域5の提供に際し、該当シンクライアント端末100からコンピュータ資源、例えば、「壁紙」の利用要求を受けた場合に、前記利用要求が示すコンピュータ資源たる「壁紙」について、該当ユーザ領域5の前記ユーザ領域環境設定テーブル901においてデフォルト設定されている「壁紙_拠点3」を特定し、前記ユーザ領域5の環境設定のうち該当資源つまり「壁紙」に関する情報を前記特定した「壁紙_拠点3」の情報で更新するとしてもよい。
また、前記ターミナルサーバ200のターミナルサーバ機能部210は、ユーザ領域5とシンクライアント端末100とのシンクライアント接続終了時は、前記ユーザに開放されたユーザ領域5を閉塞し(S1209)、処理を終了する。
従来のシンクライアントシステムでは、ユーザ領域環境設定テーブル901の設定内容と、実際にユーザが作業している場所とが不一致になるケースがあったため、ユーザ不在の場所へプリンタ出力がなされるなどの問題が発生していた。しかし本実施形態のコンピュータ資源割り当て方法によれば、ユーザが接続開始時に選択するユーザ領域環境設定名称501を元に、ターミナルサーバ200がユーザ領域環境設定テーブル901の設定内容を自動的に切り替えるため、常に適切な環境設定を行うことができる。
以上本実施形態によれば、ターミナルサーバ型のシンクライアントシステムにおいて、ユーザによるコンピュータ資源の環境設定が可能となり、ユーザビリティの向上が図られる。
以上、本発明の実施の形態について、その実施の形態に基づき具体的に説明したが、これに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。