(57)【要約】  他のユーザの動作環境に影響を与えることなく、ユーザ毎に異なる設定情報に基づく動作環境を提供することが可能な情報処理装置、情報処理システム、コンピュータプログラム及び情報処理方法を提供する。  複数の仮想ＰＣを実行することが可能な情報処理装置１の制御部１０は、端末装置から仮想ＰＣの起動を要求された場合、端末装置から設定情報を取得する。制御部１０は、端末装置から取得した設定情報が、設定許容範囲テンプレート１３ｄによって規定された制約条件に基づく許容範囲内であるか否かを判定する。設定情報が、許容範囲内であると判定した場合、制御部１０は、端末装置から取得した設定情報に基づいて仮想ＰＣを起動させる。
2009093333.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して外部装置と接続され、各種処理を実行する実行手段を備える情報処理装置であって、
前記外部装置から、利用者を特定するための利用者情報及び該利用者を認証するための認証情報を含む接続要求を取得する接続要求取得手段と、
前記外部装置から、前記実行手段が実行する各種処理の動作に関する設定情報を取得する設定情報取得手段と、
前記接続要求取得手段が取得した接続要求に含まれる利用者情報及び認証情報に基づいて、前記接続要求に対する接続の可否を判定する認証手段と、
該認証手段が接続可であると判定した場合、前記設定情報取得手段が取得した設定情報が、前記実行手段が実行する各種処理の動作に対して予め規定された制約条件に基づく許容範囲内であるか否かを判定する判定手段と、
該判定手段が許容範囲内であると判定した場合、前記設定情報取得手段が取得した設定情報に基づいて、前記実行手段が実行する各種処理の動作環境を設定する設定手段と、
該設定手段が設定した動作環境を、前記外部装置に対して割り当てる割当手段と
を備えることを特徴とする情報処理装置。
【請求項２】
前記外部装置から、前記割当手段によって割り当てられた動作環境で実行される処理に対する操作を示す操作情報を取得する手段と、
取得した操作情報に基づいて、画面を描画するための画像信号を生成する手段と、
生成された画像信号を前記外部装置へ送信する手段と
を備えることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記外部装置から、前記割当手段によって割り当てられた動作環境で実行される処理の終了を示す切断要求を取得する切断要求取得手段と、
該切断要求取得手段が切断要求を取得した場合、前記割当手段によって割り当てられた動作環境の前記外部装置への割り当てを解消する解消手段と、
該解消手段によって前記外部装置への割り当てを解消された動作環境を、所定の初期設定情報に基づいて初期化する初期化手段と
を備えることを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
各種処理を実行する実行手段を備える中央装置と、該中央装置とネットワークを介して接続される端末装置とを含む情報処理システムであって、
前記端末装置は、
利用者を特定するための利用者情報及び該利用者を認証するための認証情報を含む接続要求を前記中央装置へ送信する手段と、
前記中央装置の実行手段が実行する各種処理の動作に関する設定情報を前記中央装置へ送信する手段とを備え、
前記中央装置は、
前記端末装置から前記接続要求を取得する接続要求取得手段と、
前記端末装置から前記設定情報を取得する設定情報取得手段と、
前記接続要求取得手段が取得した接続要求に含まれる利用者情報及び認証情報に基づいて、前記接続要求に対する接続の可否を判定する認証手段と、
該認証手段が接続可であると判定した場合、前記設定情報取得手段が取得した設定情報が、前記実行手段が実行する各種処理の動作に対して予め規定された制約条件に基づく許容範囲内であるか否かを判定する判定手段と、
該判定手段が許容範囲内であると判定した場合、前記設定情報取得手段が取得した設定情報に基づいて、前記実行手段が実行する各種処理の動作環境を設定する設定手段と、
該設定手段が設定した動作環境を、前記端末装置に対して割り当てる割当手段とを備えること
を特徴とする情報処理システム。
【請求項５】
コンピュータに、ネットワークを介して外部装置と接続させ、各種処理を実行する実行手段を動作させるためのコンピュータプログラムであって、
前記コンピュータに、
前記外部装置から取得した、利用者を特定するための利用者情報及び該利用者を認証するための認証情報を含む接続要求に含まれる利用者情報及び認証情報に基づいて、前記接続要求に対する接続の可否を判定する認証ステップと、
該認証ステップで接続可であると判定された場合、前記外部装置から取得した、前記実行手段が実行する各種処理の動作に関する設定情報が、前記実行手段が実行する各種処理の動作に対して予め規定された制約条件に基づく許容範囲内であるか否かを判定する判定ステップと、
該判定ステップで許容範囲内であると判定された場合、前記設定情報に基づいて、前記実行手段が実行する各種処理の動作環境を設定する設定ステップと、
該設定ステップで設定された動作環境を、前記外部装置に対して割り当てる割当ステップと
を実行させるためのコンピュータプログラム。
【請求項６】
前記コンピュータに、
前記外部装置から取得した、前記割当ステップで割り当てられた動作環境で実行される処理に対する操作を示す操作情報に基づいて、画面を描画するための画像信号を生成するステップと、
生成された画像信号を前記外部装置へ送信するステップと
を実行させるための請求項５に記載のコンピュータプログラム。
【請求項７】
前記外部装置から、前記割当ステップで割り当てられた動作環境で実行される処理の終了を示す切断要求を取得した場合、前記割当ステップで割り当てられた動作環境の前記外部装置への割り当てを解消する解消ステップと、
該解消ステップで前記外部装置への割り当てを解消された動作環境を、所定の初期設定情報に基づいて初期化する初期化ステップと
を実行させるための請求項５又は６に記載のコンピュータプログラム。
【請求項８】
ネットワークを介して外部装置と接続され、各種処理を実行する実行手段を備える情報処理装置による情報処理方法であって、
前記情報処理装置が、前記外部装置から、利用者を特定するための利用者情報及び該利用者を認証するための認証情報を含む接続要求を取得する接続要求取得ステップと、
前記情報処理装置が、前記外部装置から、前記実行手段が実行する各種処理の動作に関する設定情報を取得する設定情報取得ステップと、
前記情報処理装置が、前記接続要求取得ステップで取得した接続要求に含まれる利用者情報及び認証情報に基づいて、前記接続要求に対する接続の可否を判定する認証ステップと、
前記情報処理装置が、前記認証ステップで接続可であると判定した場合、前記設定情報取得ステップで取得した設定情報について前記実行手段が実行する各種処理の動作に対して予め規定された制約条件に基づく許容範囲内であるか否かを判定する判定ステップと、
前記情報処理装置が、前記判定ステップで許容範囲内であると判定した場合、前記設定情報取得ステップで取得した設定情報に基づいて、前記実行手段が実行する各種処理の動作環境を設定する設定ステップと、
前記情報処理装置が、前記設定ステップで設定された動作環境を、前記外部装置に対して割り当てる割当ステップと
を含むことを特徴とする情報処理方法。
【請求項９】
前記情報処理装置が、前記外部装置から、前記割当ステップで割り当てられた動作環境で実行される処理に対する操作を示す操作情報を取得するステップと、
前記情報処理装置が、取得した操作情報に基づいて、画面を描画するための画像信号を生成するステップと、
前記情報処理装置が、生成された画像信号を前記外部装置へ送信するステップと
を含むことを特徴とする請求項８に記載の情報処理方法。
【請求項１０】
前記情報処理装置が、前記外部装置から、前記割当ステップで割り当てられた動作環境で実行される処理の終了を示す切断要求を取得する切断要求取得ステップと、
前記情報処理装置が、前記切断要求取得ステップで切断要求を取得した場合、前記割当ステップで割り当てられた動作環境の前記外部装置への割り当てを解消する解消ステップと、
前記情報処理装置が、前記解消ステップで前記外部装置への割り当てを解消された動作環境を、所定の初期設定情報に基づいて初期化する初期化ステップと
を含むことを特徴とする請求項８又は９に記載の情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シンクライアント方式により複数のユーザに、コンピュータによる処理を提供することができる情報処理装置に関し、特に、ユーザ毎に異なる設定情報に基づく動作環境を提供することができる情報処理装置、情報処理システム、コンピュータプログラム及び情報処理方法に関する。
【背景技術】
【０００２】
通信インフラの普及が進み、またユビキタス社会とも言われるように、ユーザが時間、場所を問わずに自身が携帯する端末装置を用いて通信網を介した多様なサービスを受けることができる。しかし、ユーザが携帯する端末装置を多様なサービスに対応させるために高機能化させた場合、それぞれの端末装置のコストが上昇する。また、このような端末装置に大容量の記憶装置を備えさせた場合、当該端末装置が盗難、遺失等により失われたときは、記憶されている個人情報、企業の秘密情報等の各種情報の漏洩の危険性が高まり、情報の安全性が確保されない。【０００３】
そこで、シンクライアント（thin client）システムが普及している。シンクライアントシステムでは、ユーザが持つ端末装置を、例えばメモリ、ネットワークカード、グラフィックカード等の必要最低限のハードウェアで構成する。そして、実際の主な処理は、通信網を介して接続されるサーバ装置で行ない、端末装置は、処理の結果に基づく表示画面の情報のみをサーバ装置から取得してディスプレイに表示する（特許文献１参照）。これにより、端末装置に備えるべきハードウェアを最小限にしてコストを抑え、更に情報の漏洩を防止することができる。【０００４】
また、近年では、仮想ＰＣ（Personal Computer ）方式のシンクライアントシステムが、コスト削減に効果があるとして注目を集めている。仮想ＰＣ方式とは、サーバ装置において、仮想マシンモニタ（ＶＭＭ：Virtual Machine Monitor ）、ハイパーバイザ等と呼ばれる技術によってサーバ装置内のハードウェアを仮想化し、その上で複数のゲストＯＳ（仮想ＰＣ）を実行させる方式であり、サーバ装置に対して同時に接続可能な端末装置の数を増加させることができる。
【特許文献１】特開２００１−２８２７４７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
企業向け又はコンシューマ向けに拘わらず、既にユーザが使用しているＰＣ等の端末装置においては、ユーザが設定したＯＳ（Operating System）の動作に関する設定情報、各種のアプリケーションに対する設定情報等の各種の設定情報、何らかの認証処理に用いるための認証情報等が、ハードディスク又は不揮発性メモリ等に格納されている。また、ユーザだけでなく、場合によっては、企業内の運用管理者が、セキュリティの強化を目的として予め設定した各種の設定情報も、ハードディスク又は不揮発性メモリ等に格納されている。このように格納された各種の情報を用いることにより、端末装置は、一度設定された設定情報に基づく動作を繰り返すことができる。【０００６】
一方、シンクライアントシステムは比較的新しいシステムであり、これから導入する企業又は一般ユーザも多い。また、既に使用している端末装置に対する２台目としてシンクライアントシステムを利用する形態も考えられ、この場合、各ユーザが既に使用している端末装置における各種の設定情報を、シンクライアントシステムに対しても反映させたいという要望がある。【０００７】
しかし、各ユーザが既に使用している端末装置における各種の設定情報を、シンクライアントシステムに対しても反映させる場合、各ユーザがシンクライアントシステムに対しても設定操作を行なう必要があり、各ユーザの作業負担が非常に大きい。また、今後、コンシューマ向けにシンクライアントシステムを提供する場合において、高齢者及び主婦等を提供先のターゲットとすることも考えられ、この場合にも、設定操作の単純化が不可欠である。【０００８】
本発明は斯かる事情に鑑みてなされたものであり、その目的とするところは、各ユーザが既に使用しているＰＣ等の端末装置における各種の設定情報を、シンクライアントシステムの他のユーザの動作環境に影響を与えない範囲で、シンクライアントシステムに対しても反映させることを可能とすることにより、シンクライアントシステムにおいて利用者の利便性を向上させることが可能な情報処理装置、情報処理システム、コンピュータプログラム、情報処理方法を提供することにある。
【課題を解決するための手段】
【０００９】
本情報処理装置の特徴は、ネットワークを介して外部装置と接続され、各種処理を実行する実行手段を備える情報処理装置であって、外部装置から、利用者を特定するための利用者情報及び該利用者を認証するための認証情報を含む接続要求を取得すると共に、前記実行手段が実行する各種処理の動作に関する設定情報を取得し、取得した接続要求に含まれる利用者情報及び認証情報に基づいて、前記接続要求に対する接続の可否を判定し、接続可であると判定した場合、取得した設定情報が、前記実行手段が実行する各種処理の動作に対して予め規定された制約条件に基づく許容範囲内であるか否かを判定し、許容範囲内であると判定した場合、取得した設定情報に基づいて、前記実行手段が実行する各種処理の動作環境を設定し、設定した動作環境を前記外部装置に対して割り当てる点にある。【００１０】
本情報処理装置の特徴は、外部装置に対して割り当てられた動作環境で実行される処理に対する操作を示す操作情報を前記外部装置から取得し、取得した操作情報に基づいて、画面を描画するための画像信号を生成し、生成された画像信号を前記外部装置へ送信する点にある。【００１１】
本情報処理装置の特徴は、外部装置に対して割り当てられた動作環境で実行される処理の終了を示す切断要求を前記外部装置から取得した場合、前記外部装置に対して割り当てられた動作環境の前記外部装置への割り当てを解消し、前記外部装置への割り当てを解消された動作環境を、所定の初期設定情報に基づいて初期化する点にある。【００１２】
本情報処理システムの特徴は、各種処理を実行する実行手段を備える中央装置と、該中央装置とネットワークを介して接続される端末装置とを含む情報処理システムであって、端末装置が、利用者を特定するための利用者情報及び該利用者を認証するための認証情報を含む接続要求を中央装置へ送信すると共に、中央装置の実行手段が実行する各種処理の動作に関する設定情報を中央装置へ送信する点にある。また、本情報処理システムの特徴は、中央装置が、端末装置から前記接続要求を取得すると共に、前記設定情報を取得し、取得した接続要求に含まれる利用者情報及び認証情報に基づいて、前記接続要求に対する接続の可否を判定し、接続可であると判定した場合、取得した設定情報が、前記実行手段が実行する各種処理の動作に対して予め規定された制約条件に基づく許容範囲内であるか否かを判定し、許容範囲内であると判定した場合、取得した設定情報に基づいて、前記実行手段が実行する各種処理の動作環境を設定し、設定した動作環境を前記端末装置に対して割り当てる点にある。【００１３】
本コンピュータプログラムの特徴は、コンピュータに読み取らせて実行させることにより、上述したような情報処理装置をコンピュータによって実現することが可能となる点にある。即ち、本コンピュータプログラムをコンピュータに読み取らせて実行させることにより、コンピュータに、外部装置から取得した接続要求に含まれる利用者情報及び認証情報に基づいて、前記接続要求に対する接続の可否を判定させ、接続可であると判定された場合、前記外部装置から取得した設定情報が、前記実行手段が実行する各種処理の動作に対して予め規定された制約条件に基づく許容範囲内であるか否かを判定させ、許容範囲内であると判定された場合、前記設定情報に基づいて、前記実行手段が実行する各種処理の動作環境を設定させ、設定された動作環境を前記外部装置に対して割り当てさせる点にある。【００１４】
本コンピュータプログラムの特徴は、本コンピュータプログラムをコンピュータに読み取らせて実行させることにより、コンピュータに、外部装置から取得した操作情報に基づいて、画面を描画するための画像信号を生成させ、生成された画像信号を前記外部装置へ送信させる点にある。【００１５】
本コンピュータプログラムの特徴は、本コンピュータプログラムをコンピュータに読み取らせて実行させることにより、コンピュータに、外部装置に対して割り当てられた動作環境で実行される処理の終了を示す切断要求を前記外部装置から取得した場合、前記外部装置に対して割り当てられた動作環境の前記外部装置への割り当てを解消させ、前記外部装置への割り当てを解消された動作環境を、所定の初期設定情報に基づいて初期化させる点にある。【００１６】
本情報処理方法の特徴は、ネットワークを介して外部装置と接続され、各種処理を実行する実行手段を備える情報処理装置による情報処理方法であって、情報処理装置が、外部装置から、利用者を特定するための利用者情報及び該利用者を認証するための認証情報を含む接続要求を取得すると共に、前記実行手段が実行する各種処理の動作に関する設定情報を取得し、取得した接続要求に含まれる利用者情報及び認証情報に基づいて、前記接続要求に対する接続の可否を判定し、接続可であると判定された場合、取得した設定情報が、前記実行手段が実行する各種処理の動作に対して予め規定された制約条件に基づく許容範囲内であるか否かを判定し、許容範囲内であると判定された場合、取得した設定情報に基づいて、前記実行手段が実行する各種処理の動作環境を設定し、設定された動作環境を前記外部装置に対して割り当てることにある。【００１７】
本情報処理方法の特徴は、情報処理装置が、外部装置に対して割り当てられた動作環境で実行される処理に対する操作を示す操作情報を前記外部装置から取得し、取得した操作情報に基づいて、画面を描画するための画像信号を生成し、生成された画像信号を前記外部装置へ送信することにある。【００１８】
本情報処理方法の特徴は、情報処理装置が、外部装置に対して割り当てられた動作環境で実行される処理の終了を示す切断要求を前記外部装置から取得した場合、前記外部装置に対して割り当てられた動作環境の前記外部装置への割り当てを解消し、前記外部装置への割り当てを解消された動作環境を、所定の初期設定情報に基づいて初期化することにある。【００１９】
本情報処理装置によれば、外部装置から接続要求を取得した場合、取得した接続要求に対する接続の可否を判定することにより、正当な権限を有するユーザからの接続要求に対してのみ接続を許可することが可能となる。また、本情報処理装置によれば、接続可であると判定された外部装置から取得した設定情報が、予め規定された制約条件に基づく許容範囲内であるか否かを判定することにより、この設定情報に基づいて、実行手段が実行する各種処理の動作環境を設定した場合に正常に動作できるか否かを判定することが可能となる。更に、本情報処理装置によれば、外部装置から取得した設定情報が許容範囲内であると判定された場合、前記設定情報に基づく動作環境を設定し、設定した動作環境を前記外部装置に対して割り当てることにより、外部から取得した設定情報に基づく動作環境を前記外部装置に対して設定することが可能となる。【００２０】
本情報処理装置によれば、それぞれの動作環境で実行される処理に対する操作を取得した場合に、この操作に基づいて画面を描画するための画像信号を生成し、対応する外部装置へ送信する。よって、本情報処理装置において、例えばシンクライアントシステムにおけるサーバ装置としての動作が可能となる。【００２１】
本情報処理装置によれば、それぞれの動作環境で実行される処理の終了を示す切断要求を取得した場合、前記動作環境の外部装置への割り当てを解消し、前記動作環境を初期化する。よって、動作を終了した動作環境における設定情報を、次に各動作環境が動作する際には残さない。
【発明の効果】
【００２２】
本情報処理装置では、外部装置から取得した設定情報に基づく動作環境を前記外部装置に対して設定することができるので、このような情報処理装置をシンクライアントシステムにおけるサーバ装置に適用することにより、各ユーザが既に使用しているＰＣ等の端末装置における各種の設定情報を、煩雑な設定操作を行なうことなく、シンクライアントシステムに対しても反映させることができる。このように、シンクライアントシステムに対する各種の設定条件を容易に設定することができるので、既に使用している端末装置に対する２台目としてシンクライアントシステムを利用したいユーザにおいても、高齢者及び主婦等のように端末装置の操作に不慣れなユーザにおいても、シンクライアントシステムを気軽に導入することができる。【００２３】
また、本情報処理装置では、外部装置から取得した設定情報に基づく動作環境を前記外部装置に対して設定する際に、この設定情報に基づいて設定された動作環境が、他のユーザの動作環境に影響を与えることなく正常に動作可能であるか否かを判断するので、各ユーザが既に使用しているＰＣ等の端末装置における各種の設定情報を、シンクライアントシステムに対しても反映させた場合であっても、シンクライアントシステムの他のユーザの動作環境には影響を与えない。
【図面の簡単な説明】
【００２４】
【図１】実施形態１に係るシンクライアントシステムの構成例を示す模式図である。
【図２】実施形態１の情報処理装置の内部構成を示すブロック図である。
【図３】仮想ＰＣ状態テーブルの登録内容を示す模式図である。
【図４】実施形態１に係る端末装置の内部構成を示すブロック図である。
【図５】情報処理装置の機能構成を示す機能ブロック図である。
【図６】仮想化サーバの機能構成を示す機能ブロック図である。
【図７】端末装置が情報処理装置に仮想ＰＣの起動を要求した場合の処理手順を示すフローチャートである。
【図８】端末装置が情報処理装置に仮想ＰＣの起動を要求した場合の処理手順を示すフローチャートである。
【図９】端末装置が情報処理装置に仮想ＰＣの停止を要求した場合の処理手順を示すフローチャートである。
【図１０】設定情報登録テーブルの登録内容を示す模式図である。
【図１１】仮想化サーバの機能構成を示す機能ブロック図である。
【図１２】端末装置が情報処理装置に仮想ＰＣの起動を要求した場合の処理手順を示すフローチャートである。
【図１３】端末装置が情報処理装置に仮想ＰＣの起動を要求した場合の処理手順を示すフローチャートである。
【図１４】端末装置が情報処理装置に仮想ＰＣの停止を要求した場合の処理手順を示すフローチャートである。
【符号の説明】
【００２５】
１  情報処理装置
１０  制御部（実行手段）
１０１  仮想化サーバ（接続要求取得手段、設定情報取得手段、切断要求取得手段）
１０２  認証手段
１０３  設定情報検査手段（判定手段）
１０６  仮想ＰＣ起動手段（設定手段、割当手段）
１０８  仮想ＰＣ修復手段（解消手段、初期化手段）
２  端末装置
Ｎ１  ネットワーク
【発明を実施するための最良の形態】
【００２６】
以下に、本発明に係る情報処理装置（中央装置）を備えた本発明に係る情報処理システムについて、シンクライアントシステムに適用した実施形態を示す図面に基づいて詳述する。なお、以下では、本発明に係る情報処理システムを、情報処理装置のハードウェアを仮想化し、その上で複数の仮想ＰＣ（ゲストＯＳ）を実行させる仮想ＰＣ方式のシンクライアントシステムに適用した実施形態を例に説明する。【００２７】
（実施形態１）
以下に、実施形態１に係るシンクライアントシステムについて説明する。図１は実施形態１に係るシンクライアントシステムの構成例を示す模式図である。本実施形態１のシンクライアントシステムは、本発明に係る情報処理装置群１，１…、ネットワークＮ１、ネットワークＮ１を介して情報処理装置群１，１…と接続されている端末装置（外部装置）２，２…とを含んで構成される。【００２８】
情報処理装置群１，１…はインターネット等の公衆通信網Ｎ２にも接続されている。ネットワークＮ１は、高精細の映像の送受信が可能な専用のＩＰ（Internet Protocol）通信網であることが望ましい。情報処理装置群１，１…は、それぞれがサーバコンピュータ装置により構成されている。端末装置２，２…はシンクライアントとして使用され、テレビジョン受像機（以下、テレビという）２６に接続されるセットトップボックス（ＳＴＢ；Set Top Box ）として構成される。端末装置２，２…は、テレビ２６のほかに、キーボード２７及びマウス２８を接続可能に構成されており、端末装置２、テレビ２６、キーボード２７及びマウス２８によってシンクライアントとして利用される。【００２９】
なお、シンクライアントとして利用される端末装置２，２…は、このような構成に限られず、例えば、ＨＤ等の記憶装置を備えないパーソナルコンピュータ装置、ＳＴＢの機能を備え、キーボード及びマウスが接続可能なテレビジョン受像機でもよい。【００３０】
以下では、説明を簡易にするために情報処理装置１と端末装置２，２…との関係を１対多として説明する。情報処理装置１は、一の装置で複数の情報処理装置として動作する仮想化技術が適用されており、各端末装置２，２…に対応する仮想ＰＣ（ゲストＯＳ）を起動して実行するようにしてある。また情報処理装置１は、各仮想ＰＣの起動／停止及びその動作を管理する機能を有する仮想化サーバ１０１（図５，６参照）を起動して実行するようにしてある。【００３１】
上述した構成のシンクライアントシステムにおいて、情報処理装置１は、端末装置２から仮想ＰＣの起動（ログイン）を要求する接続要求信号を受信した場合、対応する仮想ＰＣを起動すると共に、当該仮想ＰＣが出力する描画指示信号に基づいてテレビ２６で画面を表示させるための画像信号を生成して端末装置２へ送信する。このとき情報処理装置１は、起動した仮想ＰＣに対応する端末装置２のアドレスを取得し、そのアドレスを宛て先として、仮想ＰＣが出力する描画指示信号に基づいて生成した画像信号をＩＰパケットに含め、ネットワークＮ１へ送信する。これにより、端末装置２は送信された画像信号を受信してテレビ２６に表示し、シンクライアントとしての動作を開始する。【００３２】
図２は実施形態１の情報処理装置１の内部構成を示すブロック図である。本実施形態１の情報処理装置１は、本発明に係るコンピュータプログラムをコンピュータに読み取らせて実行させることによって実現される。なお、専用の装置によって本実施形態１の情報処理装置１を構成するようにしてもよい。【００３３】
情報処理装置１はサーバコンピュータ装置により構成されており、ルータを介してネットワークＮ１に接続されている。また、図１に示したように、情報処理装置１は公衆通信網Ｎ２にも接続されている（図２においては図示せず）。
情報処理装置１は、制御部１０、ＲＯＭ１１、ＲＡＭ１２、記憶部１３、通信部１４、入出力部１５等を備えており、それぞれはバス１ａを介して相互に接続されている。また、情報処理装置１は、入出力部１５に接続された複数の画像送信装置３，３…を備える。【００３４】
制御部１０は、例えばＣＰＵ（Central Processing Unit ）又はＭＰＵ（Micro Processor Unit）等であり、ＲＯＭ１１又は記憶部１３に予め記憶してある制御プログラムを適宜ＲＡＭ１２に読み出して実行すると共に、上述したハードウェア各部の動作を制御する。ＲＯＭ１１は、本実施形態１の情報処理装置１を本発明の情報処理装置として動作させるために必要な種々の制御プログラムを予め格納している。ＲＡＭ１２は、例えばＳＲＡＭ又はフラッシュメモリ等であり、制御部１０による制御プログラムの実行時に発生する種々のデータを一時的に記憶する。【００３５】
記憶部１３は、例えばＨＤＤ（Hard Disk Drive ）等の大容量の記憶装置である。記憶部１３は、本実施形態１の情報処理装置１を本発明の情報処理装置として動作させるために必要な種々の制御プログラム、ＯＳプログラム１３ａ、仮想化サーバプログラム１３ｂ、図３に示すような仮想ＰＣ状態テーブル１３ｃ、設定許容範囲テンプレート１３ｄ、初期情報テンプレート１３ｅ、各種のデータ等を格納している。【００３６】
ＯＳプログラム１３ａは、ユーザが操作できるＣＵＩ（Command User Interface）、ＧＵＩ（Graphic User Interface）を持つWindows （登録商標）、Ｌｉｎｕｘ等のＯＳソフトウェアである。制御部（実行手段）１０は、ＯＳプログラム１３ａを読み出して実行することにより仮想ＰＣ１００（図５参照）として動作し、各種処理を実行し、実行した処理に応じて表示すべきＣＵＩ、ＧＵＩ等を含む表示画面を描画するための描画指示信号を生成して画像送信装置３へ出力する。また、制御部１０は仮想ＰＣ１００として動作する際は、キーボード、マウス等の入出力装置からの制御信号（操作情報）を受け付け、このような制御信号に応じて各種処理を実行し、処理に応じたＣＵＩ及びＧＵＩの画面を構成するための描画指示信号のみならず、音声信号等を画像送信装置３へ出力する。【００３７】
仮想化サーバプログラム１３ｂは、情報処理装置１を本発明に係る情報処理装置として動作させるために必要な各種処理を行なうための主要なプログラムであり、情報処理装置１において複数の仮想ＰＣ１００，１００…が動作する仮想化技術を実現するためのソフトウェアである。制御部１０は、仮想化サーバプログラム１３ｂを読み出して実行することにより仮想化サーバ１０１として動作し、情報処理装置１が論理的に複数の情報処理装置として動作する仮想化環境を提供する。これにより、情報処理装置１において論理的に複数の独立した仮想ＰＣが動作することが可能となる。制御部１０は、マルチコアＣＰＵで構成され、各仮想ＰＣ１００，１００…、仮想化サーバ１０１がそれぞれ物理的に異なるＣＰＵコア上に分散して動作するように最適に設計されている。なお、マルチコアＣＰＵとは限らず、シングルコアＣＰＵで構成してもよい。【００３８】
また、制御部１０は、仮想化サーバプログラム１３ｂを実行して仮想化サーバ１０１として動作することにより、各ソフトウェアとハードウェア資源との間の管理を実現し、各仮想ＰＣ１００，１００…に対応するハードウェアの動作の基本的な制御を行なう。更に、仮想化サーバ１０１として動作する制御部１０は、各端末装置２，２…からの接続（起動）の要求に応じ、対応するＯＳプログラム１３ａを読み出して実行し、各仮想ＰＣ１００，１００…を起動させる。この場合、制御部１０は、各仮想ＰＣ１００，１００…に利用されるハードウェア、即ち、制御部１０、ＲＡＭ１２、通信部１４及び画像送信装置３，３…の割り当て制御、及び割り当てられていない画像送信装置３の探索等を行なう。【００３９】
なお、制御部１０が仮想化サーバ１０１として動作する際の詳細な処理については、図５，６に基づいて後述する。また、仮想ＰＣ状態テーブル１３ｃの登録内容の詳細については、図３に基づいて後述する。更に、設定許容範囲テンプレート１３ｄ及び初期情報テンプレート１３ｅについても後述する。【００４０】
ＲＡＭ１２は、制御部１０がＯＳプログラム１３ａ及び仮想化サーバプログラム１３ｂをそれぞれ読み出す際に使用される他、制御部１０が各制御プログラムを読み出して実行し、各処理を行なう際に一時的に各種情報を記憶し、また、制御部１０が各仮想ＰＣ１００，１００…として動作する場合に対応する端末装置２，２…毎の設定情報を記憶するために使用される。従って、ＲＡＭ１２も論理的に複数のメモリに分割され、各仮想ＰＣ１００，１００…、仮想化サーバ１０１それぞれに割り当てられる。【００４１】
通信部１４は、例えばネットワークカードを備え、ネットワークＮ１を介した端末装置２，２…等との通信を実現するハードウェアである。また、通信部１４は、公衆通信網Ｎ２とも接続されており、公衆通信網Ｎ２を介して公開されている映像、画像、テキストデータ等の各種情報を、各仮想ＰＣ１００，１００…が通信部１４を介して取得することができる。なお、ネットワークＮ１に接続するための通信部と、公衆通信網Ｎ２に接続するための通信部とを各別に備える構成としてもよい。【００４２】
入出力部１５は、ＰＣＩ（Peripheral Component Interconnect ）等のシリアル転送バススロットを含む入出力インタフェースである。入出力部１５は、例えばＧＰＵ（Graphics Processing Unit）ドライバ１５ａ及びＵＳＢ（Universal Serial Bus）ドライバ１５ｂを備えており、後述する画像送信装置３，３…との間で描画指示信号を含む各種の制御信号の送受を実現する。【００４３】
画像送信装置３は、ＰＣＩ（ＰＣＩ−Ｅｘｐｒｅｓｓ）ボードで構成されており、ＧＰＵ３０、入出力インタフェース３１、データ変換部３２、符号化部３３、パケット変換部３４、通信部３５等を備える。【００４４】
ＧＰＵ３０は、情報処理装置１の制御部１０が各仮想ＰＣ１００，１００…として動作している場合に生成される描画指示信号を、入出力部１５のＧＰＵドライバ１５ａを介して取得し、取得した描画指示信号に基づいて表示画面を表わす画像信号を生成する。ＧＰＵ３０は、生成した画像信号をデータ変換部３２へ送出する。【００４５】
データ変換部３２は、ＧＰＵ３０で生成された画像信号を符号化部３３へ入力するためのデータ変換処理を行ない、データ変換した画像信号を符号化部３３へ送出する。符号化部３３は、データ変換部３２によりデータ変換された画像信号を、例えばＨ．２６４等のデジタル映像信号に圧縮符号化するエンコーダチップである。符号化部３３は、圧縮符号化したデジタル映像信号をパケット変換部３４へ送出する。【００４６】
入出力インタフェース３１は、例えばＵＳＢインタフェースであり、入出力部１５のＵＳＢドライバ１５ｂとの間で各種の制御信号の送受を行なう。入出力インタフェース３１は、情報処理装置１の制御部１０が各仮想ＰＣ１００，１００…として動作する際に、処理に応じて出力される音声信号を含む制御信号を、端末装置２におけるテレビ２６、キーボード２７、マウス２８、スピーカ（図示せず）等の各入出力装置へ中継する機能を有している。また逆に、後述する端末装置２に接続されている各入出力装置から取得した制御信号を、対応する仮想ＰＣ１００が動作する制御部１０へ中継する機能も有している。【００４７】
パケット変換部３４は、符号化部３３により圧縮符号化されたデジタル映像信号、又は入出力インタフェース３１を介して取得した制御信号をＩＰパケットにパケット化して通信部３５へ送出する。なお、入出力インタフェース３１がＵＳＢインタフェースである場合、制御信号は既にパケット化されているので、パケット変換部３４が、入出力インタフェース３１を介して取得した制御信号をＩＰパケットに格納する処理は簡易な処理で済む。また、パケット変換部３４は、通信部３５を介して端末装置２から受信したパケット化されている制御信号に対して逆パケット化処理を行なって制御信号を取得する。【００４８】
通信部３５は、例えばネットワークカードを備え、ネットワークＮ１を介した端末装置２，２…等との間でパケットの送受信を実現する。具体的には、通信部３５は、符号化部３３から出力されるデジタル映像信号、又は入出力インタフェース３１を介してＵＳＢドライバ１５ｂから取得した制御信号を、パケット変換部３４によってパケット化して得られたＩＰパケットをネットワークＮ１へ出力する。なお、符号化部３３は、入出力部１５（ＧＰＵドライバ１５ａ）を介して情報処理装置１の制御部１０から出力される音声信号を符号化して映像信号と共に多重化してもよい。【００４９】
情報処理装置１の制御部１０は、それぞれの仮想ＰＣ１００，１００…に応じて端末装置２のアドレス等の送信先情報を入出力部１５を介して画像送信装置３，３…へ出力する。画像送信装置３のパケット変換部３４は、送信先情報に基づきＩＰパケットに画像信号を格納し、通信部３５を介して外部へ出力するようにしてある。画像送信装置３の通信部３５から出力されたＩＰパケットは、アドレスに対応する端末装置２へルータ等の通信経路を介して送信される。【００５０】
画像送信装置３は、ＧＰＵ３０により描画指示信号を受け付ける構成としており、情報処理装置１の制御部１０から処理に応じた描画指示信号が出力される先として考えた場合、一般にパーソナルコンピュータ装置に備えられているグラフィックカード、グラフィックアクセラレータ（Graphic Accelerator ）等と呼ばれる装置と同等である。従って、画像送信装置３が備えられることにより、情報処理装置１の制御部１０の描画指示信号の出力処理を大きく改める必要がない点、効果的である。【００５１】
なお、情報処理装置１の制御部１０が画像送信装置３へ出力する送信先情報は、端末装置２のアドレスを直接的に特定するものでなくともよい。送信先情報は、画像送信装置３の通信部３５又は他の装置の通信部に割り振られたネットワークアドレスとポート番号とでもよく、通信部３５は送信先情報に示されているポートに、画像信号を格納したＩＰパケットを出力し、端末装置２で当該ポートから取得する構成でもよい。【００５２】
図３は仮想ＰＣ状態テーブル１３ｃの登録内容を示す模式図である。図３に示すように、仮想ＰＣ状態テーブル１３ｃには、情報処理装置１において制御部１０がＯＳプログラム１３ａを実行することによって起動される各仮想ＰＣ１００，１００…について、各仮想ＰＣ１００，１００…を識別するための仮想ＰＣ−ＩＤと、各仮想ＰＣ１００，１００…の状態情報とが対応付けて登録されている。仮想ＰＣ状態テーブル１３ｃの仮想ＰＣ−ＩＤは、情報処理装置１をシンクライアントシステムのサーバ装置として動作させる際に予め登録されており、状態情報は、仮想化サーバ１０１として動作する制御部１０が、各仮想ＰＣ１００，１００…を起動させる都度、又はシャットダウン（停止）させる都度、制御部１０によって「起動中」又は「未起動」に更新される。【００５３】
なお、設定許容範囲テンプレート１３ｄ及び初期情報テンプレート１３ｅの詳細については図示しない。設定許容範囲テンプレート１３ｄは、仮想化サーバ１０１として動作する制御部１０が、認証手段１０２（図６参照）によって認証された端末装置２，２…からの接続（起動）の要求に応じ、対応するＯＳプログラム１３ａを読み出して実行することによって、端末装置２，２…から取得した設定情報に基づく動作環境を設定（各仮想ＰＣ１００，１００…を起動）する際に、端末装置２，２…から取得した設定情報に基づいて各仮想ＰＣ１００，１００…を起動させた場合であっても、他のユーザの動作環境（他の仮想ＰＣ１００，１００…）に影響を与えないことを確認するために用いるテンプレートである。【００５４】
初期情報テンプレート１３ｅは、仮想化サーバ１０１として動作する制御部１０が、各仮想ＰＣ１００，１００…の動作を終了させる場合に、各仮想ＰＣ１００，１００…における動作環境を初期状態に設定する（初期化する）際に用いるテンプレートである。具体的には、例えば、仮想ＰＣ１００をデフォルトの設定情報に基づいて起動させた場合のメモリのダンプイメージを用いることができる。【００５５】
図４は実施形態１に係る端末装置２の内部構成を示すブロック図である。本実施形態１の端末装置２は、通信部２１、パケット変換部２２、入出力インタフェース２３、復号部２４、信号変換部２５等を備える。
通信部２１は、例えばネットワークカードを備え、ネットワークＮ１を介した情報処理装置１等との通信を実現する。なお、通信部２１は、自身の端末装置２に対応する仮想ＰＣ１００に割り当てられた画像送信装置３からのパケットを取得してパケット変換部２２へ送出する。【００５６】
パケット変換部２２は、通信部２１を介して取得したパケットに対して逆パケット化処理を行ない、パケットから映像信号又は音声信号を含む制御信号を取得し、それぞれを復号部２４又は入出力インタフェース２３へ出力する。また、パケット変換部２２は、入出力インタフェース２３を介してキーボード２７及びマウス２８等の入出力装置から取得した制御信号をパケット化して通信部２１へ送出する。この場合、通信部２１は、パケット変換部２２によってパケット化された制御信号を、自身の端末装置２に対応する仮想ＰＣ１００へ送信する。【００５７】
復号部２４は、例えばＨ．２６４等のデジタル映像信号を復号するデコーダチップであり、パケット変換部２２によって取得されたデジタル映像信号が圧縮符号化されている場合、このデジタル映像信号を復号して信号変換部２５へ送出する。【００５８】
入出力インタフェース２３は、例えばＵＳＢインタフェース等の各種デバイスとの入出力信号を受け付ける入出力部であり、キーボード２７、マウス２８、スピーカ（図示せず）等の入出力装置と接続されており、各入出力装置との間で入出力信号を送受信する。なお、端末装置２がリモートコントローラ（図示せず）による操作が可能である場合、リモートコントローラから同様の入出力信号を受信する構成とすることもできる。また、入出力インタフェース２３は、パケット変換部２２から音声信号が送出されてきた場合、音声信号を信号変換部２５へ送出する。なお、入出力インタフェース２３にスピーカが接続されている場合、入出力インタフェース２３は、パケット変換部２２から取得した音声信号をスピーカへ出力すればよい。【００５９】
信号変換部２５は、復号部２４によって復号された画像信号をテレビ２６に入力するためにデータ変換し、テレビ２６へ送出する。また、信号変換部２５は、入出力インタフェース２３から音声信号を取得した場合、音声信号もテレビ２６へ送出する。【００６０】
以下に、上述した構成の情報処理装置１において、制御部１０がＲＯＭ１１又は記憶部１３に格納してある制御プログラムを実行することによって実現される情報処理装置１の機能について説明する。図５は情報処理装置１の機能構成を示す機能ブロック図、図６は仮想化サーバ１０１の機能構成を示す機能ブロック図である。本実施形態１の情報処理装置１において、制御部１０は、記憶部１３に記憶してあるＯＳプログラム１３ａ及び仮想化サーバプログラム１３ｂを実行することによって、仮想ＰＣ（第１仮想ＰＣ、第２仮想ＰＣ）１００，１００及び仮想化サーバ１０１等の各機能を実現する。【００６１】
図５には、情報処理装置１で、制御部１０、ＲＡＭ１２、記憶部１３、通信部１４、画像送信装置３等を含むハードウェア上で、仮想化サーバ１０１（ホストＯＳ）の動作により、複数の仮想ＰＣ１００，１００（ゲストＯＳ）がそれぞれ独立して実行可能となっていることが示されている。また、図５には、各端末装置２，２…と各仮想ＰＣ１００，１００との対応関係が示されている。なお、仮想ＰＣ１００、画像送信装置３、端末装置２の対応を明確にするため、図５においては、それぞれに第１又は第２を付与している。即ち、図５では、第１端末装置２には第１仮想ＰＣ１００及び第1画像送信装置３が対応し、第２端末装置２には第２仮想ＰＣ１００及び第２画像送信装置３が対応している。【００６２】
制御部１０は、仮想化サーバプログラム１３ｂを実行して仮想化サーバ１０１として動作している場合に、端末装置２，２…から接続要求信号を取得した場合、取得した接続要求信号に応じて、それぞれの端末装置２，２…に対応するＯＳプログラム１３ａ及び画像送信装置３を選択して割り当てる。また、仮想化サーバ１０１は、それぞれの端末装置２，２…に割り当てたＯＳプログラム１３ａを実行し、画像送信装置３を起動させることにより、それぞれの端末装置２，２…に対応する仮想ＰＣ１００，１００…を起動する。【００６３】
例えば、仮想化サーバ１０１は、第１端末装置２から接続要求信号を取得した場合、対応する第１仮想ＰＣ１００を起動させるが、その際に、複数の画像送信装置３，３…から空いている第１画像送信装置３を検索し、第１仮想ＰＣ１００に割り当てる。第１仮想ＰＣ１００として動作する制御部１０は、処理に応じて出力する描画指示信号を、割り当てられた第１画像送信装置３へ出力する。第１画像送信装置３は取得した描画指示信号に基づき表示画面を表わす画像信号を生成して映像信号に符号化し、第１端末装置２へ送信する。これにより、第１端末装置２はシンクライアントとして動作を開始する。【００６４】
ここで、本実施形態１のシンクライアントシステムでは、各端末装置２，２…は、情報処理装置１に対して各仮想ＰＣ１００，１００…の起動を要求する際に、各端末装置２，２…のユーザを識別するためのユーザ情報（利用者情報）と、ユーザを認証するための認証情報と、各種の設定情報とを含む接続要求信号を情報処理装置１へ送信する。情報処理装置１において、仮想化サーバ１０１として動作する制御部（接続要求取得手段、設定情報取得手段）１０は、通信部１４を介して各端末装置２，２…から接続要求信号を受信した場合、受信したユーザ情報及び認証情報に基づいてユーザ認証（ログインの可否の判定）を行なう。【００６５】
正当なユーザであると認証できた場合、仮想化サーバ１０１として動作する制御部１０は、各端末装置２，２…から取得した設定情報に基づいて各仮想ＰＣ１００，１００…を起動させる。そして、仮想化サーバ１０１は、起動させた仮想ＰＣ１００，１００…に対する各端末装置２，２…のログイン処理を行ない、各端末装置２，２…にそれぞれ仮想ＰＣ１００，１００…を割り当てる。これにより、例えば、各端末装置２，２…のユーザが既に使用しているＰＣ等の装置における各種の設定情報を、煩雑な設定操作を行なうことなく、シンクライアントに対しても反映させることができる。【００６６】
なお、シンクライアントシステムを利用する端末装置２，２…のユーザは、自身において既に使用しているＰＣ等の装置における各種の設定情報を、ＵＳＢメモリ及びＩＣ（Integrated Circuit）カード等の可搬型の外部メモリに予め記憶させておく。そして、情報処理装置１に対して仮想ＰＣ１００の起動を要求する際に、ユーザが外部メモリを入出力インタフェース２３に接続し、端末装置２が外部メモリに記憶された設定情報を読み取り、ユーザ情報及び認証情報と共に情報処理装置１へ送信することにより、ユーザの好みの設定情報を情報処理装置１へ送信することができる。【００６７】
なお、ユーザ情報及び認証情報は、端末装置２の不揮発性のメモリ（図示せず）に予め記憶させておいてもよく、端末装置２を起動させる際にユーザによって入力されてもよい。ユーザ情報及び認証情報を、端末装置２のメモリに予め記憶させておく構成とした場合、端末装置２を起動させて情報処理装置１に仮想ＰＣ１００の起動を要求させる際に、ユーザは、端末装置２の電源ボタン（図示せず）を押下するだけでよい。【００６８】
従って、本実施形態１の端末装置２は、動作停止状態において電源ボタン（図示せず）が押下された場合、起動し、メモリからユーザ情報及び認証情報を読み出すと共に、外部メモリから設定情報を読み出し、それぞれ読み出した情報を含む接続要求信号を情報処理装置１へ送信し、仮想ＰＣ１００の起動を要求するように構成されているものとする。また、本実施形態１の端末装置２は、動作状態において電源ボタンが押下された場合、動作中の仮想ＰＣ１００の動作終了を要求する切断要求信号を情報処理装置１へ送信し、シンクライアントとしての動作を停止するように構成されている。【００６９】
なお、仮想化サーバ１０１として動作する制御部１０は、各端末装置２，２…から取得した設定情報に基づいて各仮想ＰＣ１００，１００…を起動させる際、各端末装置２，２…から取得した設定情報に基づいて仮想ＰＣ１００，１００…を起動させた場合に、既に動作を開始している他の仮想ＰＣ１００，１００…に影響を与えるか否かの判定を行なう。従って、各端末装置２，２…から取得した設定情報を反映させた仮想ＰＣ１００，１００…を起動させた場合であっても、既に起動している他の仮想ＰＣ１００，１００…には影響を与えず、全ての仮想ＰＣ１００，１００…において良好な動作環境での実行が可能となる。【００７０】
具体的には、本実施形態１では、図６に示すように、制御部１０が仮想化サーバ１０１として動作する場合、更に、認証手段１０２、設定情報検査手段１０３、設定情報格納手段１０４、仮想ＰＣ選択手段１０５、仮想ＰＣ起動手段１０６、仮想ＰＣ画面送信手段１０７、仮想ＰＣ修復手段１０８等として動作する。【００７１】
認証手段１０２は、いずれかの端末装置２から仮想ＰＣ１００の起動を要求する接続要求信号を受信した場合、受信した接続要求信号からユーザ情報及び認証情報を取得する。なお、ユーザ情報としては、例えばユーザＩＤを用いることができ、認証情報としては、例えば予め登録してあるパスワードを用いることができる。【００７２】
なお、シンクライアントシステムの利用を許可された各ユーザのユーザ情報及び認証情報が予め記憶部１３に格納されており、認証手段１０２は、端末装置２から取得したユーザ情報及び認証情報が、記憶部１３に格納されているいずれかのユーザ情報及び認証情報に一致するか否かに基づいて、端末装置２から取得した接続要求信号に対する接続の可否を判定する認証処理を行なう。認証手段１０２は、端末装置２から取得したユーザ情報及び認証情報が、記憶部１３に格納されているいずれかのユーザ情報及び認証情報に一致すると判定した場合、この端末装置２からの接続要求に対する接続が許可されていると判断する。【００７３】
設定情報検査手段１０３は、認証手段１０２によって接続が許可されていると認証された場合、認証された端末装置２から受信した接続要求信号から設定情報を取得する。なお、端末装置２から取得する設定情報としては、例えば、仮想ＰＣ１００におけるＯＳ（ゲストＯＳ）の動作に関する設定情報、各種のアプリケーションの動作に関する設定情報、ネットワークＮ１，Ｎ２を介した通信に関する設定情報、ＧＵＩを含む画像処理に関する設定情報等がある。【００７４】
より具体的には、画面サイズ、壁紙の画像データ、音量、ブックマーク、制御部におけるレジスタ値等があり、設定情報検査手段１０３は、例えば、画面サイズとして1024×768ピクセル、壁紙の画像データとしてビットマップデータ、音量としてボリューム４、ブックマークとしてURL1，URL2，URL3…、制御部におけるレジスタ値としてAPL1=reg1，APL2=reg2…を含む設定情報を取得する。【００７５】
設定情報検査手段（判定手段）１０３は、接続要求信号から取得した設定情報が、設定許容範囲テンプレート１３ｄによって規定された制約条件に基づく許容範囲内であるか否かを判定する。即ち、設定情報検査手段１０３は、端末装置２から取得した設定情報に基づいて仮想ＰＣ１００を起動させた場合に、他の仮想ＰＣ１００，１００…に影響を与えないか否かを判定する。具体的には、設定情報検査手段１０３は、接続要求信号から取得した設定情報が、以下の２つの条件式（式１、式２）を満足するか否かを判定し、満足する場合、端末装置２から取得した設定情報が、設定許容範囲テンプレート１３ｄによって規定された制約条件に基づく許容範囲内であると判定する。【００７６】
まず、リソース条件式として、
Ｒ（ｔ）×θ１  ≧  ｆ１×α１＋ｇ１×β１      …（式１）
を用いる。
Ｒ（ｔ）：現在の全体リソース使用量、ｆ１：画面サイズ、
ｇ１：仮想メモリサイズ、θ１，α１，β１：係数【００７７】
なお、上記の式１は、例えば、端末装置２から取得した設定情報に基づいて仮想ＰＣ１００を起動させた場合に、仮想ＰＣ１００に割り当てられるＲＡＭ１２又は記憶部１３等によって実現される仮想メモリが許容範囲内であるか否かを判定するための式であり、画面サイズ及び仮想メモリサイズによって判断される。【００７８】
現在の全体リソース使用量（Ｒ（ｔ））は、仮想化サーバ１０１が各仮想ＰＣ１００，１００…を起動させた場合に各仮想ＰＣ１００，１００…毎に算出されたリソース使用量の合計である。なお、仮想化サーバ１０１が各仮想ＰＣ１００，１００…を起動させる都度、設定情報検査手段１０３が、起動すべき各仮想ＰＣ１００，１００…におけるリソース使用量を算出し、各仮想ＰＣ１００，１００…のＩＤに対応付けて、算出したリソース使用量を記憶部１３に格納しておく。また、設定情報検査手段１０３は、算出した各仮想ＰＣ１００，１００…におけるリソース使用量を、記憶部１３に記憶してある現在の全体リソース使用量に加算する。【００７９】
更に、仮想化サーバ１０１が各仮想ＰＣ１００，１００…をシャットダウンさせる都度、設定情報検査手段１０３が、シャットダウンされた仮想ＰＣ１００，１００…におけるリソース使用量を記憶部１３から消去すると共に、このリソース使用量を、記憶部１３に記憶してある現在の全体リソース使用量から減算する。このように、仮想化サーバ１０１が各仮想ＰＣ１００，１００…を起動又はシャットダウンさせる都度、現在の全体リソース使用量を更新することにより、逐次更新される現在の全体リソース使用量を正確に把握することができる。【００８０】
画面サイズ（ｆ１）は、端末装置２から取得した設定情報に含まれる画面サイズであり、例えば800×600ピクセル、1028×768ピクセル、1280×768ピクセル、1280×1024ピクセル等が代入される。仮想メモリサイズ（ｇ１）は、１つの仮想ＰＣ１００に対して予め設定されたサイズであってもよく、各仮想ＰＣ１００，１００…の使用環境を考慮したサイズであってもよく、例えば100ＭＢから１ＧＢ等のうちから選択されて代入される。【００８１】
また、画面サイズ及び仮想メモリサイズを、各仮想ＰＣ１００，１００…の起動後に、各ユーザによって変更できるように構成することもできる。ただし、各仮想ＰＣ１００，１００…の起動後に、各ユーザによって画面サイズ及び仮想メモリサイズを変更した場合、各仮想ＰＣ１００，１００…におけるリソース使用量を再度算出し直す必要がある。【００８２】
各係数θ１，α１，β１は、情報処理装置１における仮想ＰＣ１００，１００…の起動可能数、仮想ＰＣ１００，１００…の使用環境等の各種の条件を考慮して設定すればよい。また、リソース条件式は、上記の式１のように仮想メモリが許容範囲内であるか否かの判定だけに限られず、各種のリソースにおいて許容範囲内であるかを判定できる計算式を用いることができる。【００８３】
次に、パフォーマンス条件式として、
Ｐ（ｔ）×θ２  ≧  ｆ２×α２＋ｇ２×β２＋ｈ２×γ２      …（式２）
を用いる。
Ｐ（ｔ）：現在の全体パフォーマンス量、ｆ２：メモリ使用優先度、
ｇ２：スケジューリング優先度、ｈ２：視覚効果優先度、θ２，α２，β２，γ２：係数【００８４】
なお、上記の式２は、例えば、各仮想ＰＣ１００，１００…を起動させた場合に、各仮想ＰＣ１００，１００…に割り当てられる制御部１０の使用率が許容範囲内であるか否かを判定するための式であり、メモリ使用優先度、スケジューリング優先度及び視覚効果優先度のうちの全部又は一部を用いて判断される。【００８５】
現在の全体パフォーマンス量（Ｐ（ｔ））は、仮想化サーバ１０１が各仮想ＰＣ１００，１００…を起動させた場合に各仮想ＰＣ１００，１００…毎に算出されたパフォーマンス量の合計である。なお、仮想化サーバ１０１が各仮想ＰＣ１００，１００…を起動させる都度、設定情報検査手段１０３が、起動すべき各仮想ＰＣ１００，１００…におけるパフォーマンス量を算出し、各仮想ＰＣ１００，１００…のＩＤに対応付けて、算出したパフォーマンス量を記憶部１３に格納しておく。また、設定情報検査手段１０３は、算出した各仮想ＰＣ１００，１００…におけるパフォーマンス量を、記憶部１３に記憶してある現在の全体パフォーマンス量に加算する。【００８６】
更に、仮想化サーバ１０１が各仮想ＰＣ１００，１００…をシャットダウンさせる都度、設定情報検査手段１０３が、シャットダウンされた仮想ＰＣ１００，１００…におけるパフォーマンス量を記憶部１３から消去すると共に、このパフォーマンス量を、記憶部１３に記憶してある現在の全体リソース使用量から減算する。このように、仮想化サーバ１０１が各仮想ＰＣ１００，１００…を起動又はシャットダウンさせる都度、現在の全体パフォーマンス量を更新することにより、逐次更新される現在の全体パフォーマンス量を正確に把握することができる。【００８７】
メモリ使用優先度（ｆ２）は、各仮想ＰＣ１００，１００…に割り当てられるＲＡＭ１２及び記憶部１３による仮想メモリを各種のプログラムを実行するためのプログラム領域として利用することを優先する場合と、システムキャッシュ領域として利用することを優先する場合とにおいて、それぞれの優先度合いに割り当てられた優先度である。【００８８】
スケジューリング優先度（ｇ２）は、各仮想ＰＣ１００，１００…に割り当てられた制御部１０がマルチプロセスの実行中に、画面上に表示されているプログラムに対して優先的に制御部１０を割り当てる場合と、バックグラウンドで実行されているプログラムに対して優先的に制御部１０を割り当てる場合とにおいて、それぞれの優先度合いに割り当てられた優先度である。【００８９】
視覚効果優先度（ｈ２）は、例えばＧＵＩにおけるパフォーマンスを優先する場合と、見た目の画質等の視覚効果を優先する場合とにおいて、それぞれの優先度合いに割り当てられた優先度である。
なお、メモリ使用優先度、スケジューリング優先度及び視覚効果優先度は、端末装置２から取得した設定情報に含んでおいてもよく、端末装置２から取得した設定情報から取得した各優先度が式２に代入される。また、各仮想ＰＣ１００，１００…を起動させる際に、各端末装置２，２…を介して各ユーザによって選択されるように構成することができ、各ユーザによって選択された各優先度が式２に代入される。【００９０】
また、メモリ使用優先度、スケジューリング優先度及び視覚効果優先度を、各仮想ＰＣ１００，１００…の起動後に、各ユーザによって変更できるように構成することもできる。ただし、各仮想ＰＣ１００，１００…の起動後に、各ユーザによってメモリ使用優先度、スケジューリング優先度又は視覚効果優先度を変更した場合、各仮想ＰＣ１００，１００…におけるパフォーマンス量を再度算出し直す必要がある。【００９１】
各係数θ２，α２，β２，γ２は、情報処理装置１における仮想ＰＣ１００，１００…の起動可能数、仮想ＰＣ１００，１００…の使用環境等の各種の条件を考慮して設定すればよい。また、パフォーマンス条件式は、上記の式２のように制御部１０の使用率が許容範囲内であるか否かの判定だけに限られず、例えば制御部１０の処理速度、画像送信装置３の処理能力等のパフォーマンスにおいて許容範囲内であるかを判定できる計算式を用いることができる。【００９２】
上述した処理により、設定情報検査手段１０３が、各端末装置２，２…から取得した設定情報が許容範囲内であると判定した場合、設定情報格納手段１０４は、各端末装置２，２…から取得した設定情報を一旦ＲＡＭ１２に格納する。なお、設定情報検査手段１０３が、各端末装置２，２…から取得した設定情報が許容範囲内でないと判定した場合、設定情報格納手段１０４は、その旨をＲＡＭ１２に格納しておく。なお、デフォルト値として設定された設定情報がＲＡＭ１２に予め格納されており、設定情報検査手段１０３によって設定情報が許容範囲内でないと判定された場合は、デフォルト値に基づいて仮想ＰＣ１００が起動されることになる。【００９３】
仮想ＰＣ選択手段１０５は、接続要求信号を送信してきた端末装置２に対応する仮想ＰＣ１００（ＯＳプログラム１３ａ）を、仮想ＰＣ状態テーブル１３ｃの登録内容に基づいて、未起動の仮想ＰＣ１００のうちから選択する。なお、仮想ＰＣ選択手段１０５は、仮想ＰＣ状態テーブル１３ｃに登録されている各仮想ＰＣ１００，１００…の状態情報を登録順に確認し、最初に検出した未起動の仮想ＰＣ１００を選択すればよい。【００９４】
また、仮想ＰＣ選択手段１０５は、複数の画像送信装置３，３…から空いている画像送信装置３を検索し、選択した仮想ＰＣ１００に割り当てる。仮想ＰＣ起動手段（設定手段、割当手段）１０６は、端末装置２から取得し、設定情報格納手段１０４によってＲＡＭ１２に格納された設定情報に基づいて、仮想ＰＣ選択手段１０５によって選択された未起動の仮想ＰＣ１００（ＯＳプログラム１３ａ）を起動させると共に画像送信装置３の動作を開始させ、仮想ＰＣ１００の動作環境を設定して端末装置２に割り当てる。【００９５】
なお、端末装置２から取得した設定情報がＲＡＭ１２に格納されておらず、端末装置２から取得した設定情報が許容範囲内でない旨を示す情報がＲＡＭ１２に格納されている場合、仮想ＰＣ起動手段１０６は、デフォルト値としてＲＡＭ１２に格納されている設定情報に基づいて、選択された未起動の仮想ＰＣ１００を起動させると共に画像送信装置３の動作を開始させ、仮想ＰＣ１００の動作環境を設定して端末装置２に割り当てる。【００９６】
仮想ＰＣ画面送信手段１０７は、仮想ＰＣ１００（制御部１０）が処理に応じて出力する描画指示信号を、仮想ＰＣ１００に割り当てられた画像送信装置３へ出力する。画像送信装置３は、取得した描画指示信号に基づき表示画面を描画するための画像信号を生成し、生成した画像信号を映像信号に符号化して端末装置２へ送信する。これにより、端末装置２はシンクライアントとして動作を開始する。【００９７】
なお、仮想化サーバ１０１として動作する制御部１０による画像送信装置３，３…の割り当て及び空いている画像送信装置３の探索は、例えば、テーブルを用いて行なうことができる。即ち、画像送信装置３，３…のそれぞれにＩＤ（識別情報、例えば番号）を付与しておき、各仮想ＰＣ１００，１００…を起動させた場合に、図３に示した仮想ＰＣ状態テーブル１３ｃにおいて、対応する仮想ＰＣ１００の状態情報を「起動中」に更新すると共に、対応する画像送信装置３のＩＤを登録するようにすればよい。【００９８】
これにより、仮想ＰＣ状態テーブル１３ｃにおいて起動中の仮想ＰＣ１００，１００…に対応してＩＤが登録された画像送信装置３，３…以外の画像送信装置３，３…は空いている画像送信装置３，３…であると判断することができる。また、空いている画像送信装置３，３…のＩＤを予めテーブルに登録しておき、各仮想ＰＣ１００，１００…に割り当てられた画像送信装置３，３…のＩＤをこのテーブルから削除しておくことにより、このテーブルに登録してあるＩＤの画像送信装置３，３…は空いている画像送信装置３，３…であると判断することができる。【００９９】
ここで、本実施形態１のシンクライアントシステムでは、シンクライアントとして動作している各端末装置２，２…のユーザは、対応する仮想ＰＣ１００，１００…の動作を終了させたい場合、端末装置２の電源ボタンを押下する。動作中の端末装置２は、電源ボタンが押下された場合、対応する仮想ＰＣ１００の動作終了（ログアウト）を要求するための切断要求信号を情報処理装置１へ送信し、シンクライアントとしての動作を終了する。【０１００】
仮想化サーバ１０１として動作する制御部（切断要求取得手段）１０が、シンクライアントとして動作している端末装置２から切断要求信号を取得した場合、仮想ＰＣ修復手段１０８（解消手段）が、この端末装置２に対応する起動中の仮想ＰＣ１００（ＯＳプログラム１３ａ）を特定し、特定した仮想ＰＣ１００からの端末装置２のログアウト処理を行ない、特定した仮想ＰＣ１００の端末装置２への割り当てを解消する。これにより、仮想ＰＣ１００を他の端末装置２，２…に開放することができ、仮想ＰＣ１００，１００…の有効利用を図ることができる。【０１０１】
また、仮想ＰＣ修復手段（初期化手段）１０８は、端末装置２のログアウト処理を行なった仮想ＰＣ１００の動作を終了（シャットダウン）させ、シャットダウンさせた仮想ＰＣ１００に、初期情報テンプレート（初期設定情報）１３ｅのデータをロード（上書き）する。これにより、シャットダウンされた仮想ＰＣ１００を、初期情報テンプレート１３ｅによって規定された初期状態に修復（初期化）することができる。【０１０２】
このようにシャットダウンさせた仮想ＰＣ１００を初期化することにより、各仮想ＰＣ１００，１００…における設定条件等を、各仮想ＰＣ１００，１００…の次の起動時においては反映させず、また、不要なデータをＲＡＭ１２又は記憶部１３に残さないことによりＲＡＭ１２及び記憶部１３を有効に利用することができる。
また、仮想ＰＣ修復手段１０８は、仮想ＰＣ選択手段１０５によって仮想ＰＣ１００，１００…に割り当てられていた画像送信装置３，３…を特定し、この画像送信装置３，３…も他の端末装置２，２…に開放する。これにより、画像送信装置３，３…の有効利用も図ることができる【０１０３】
上述したように、本実施形態１の情報処理装置１では、端末装置２，２…から仮想ＰＣ１００，１００…の起動を要求された場合、端末装置２，２…から取得した設定情報に基づく動作環境で起動させた仮想ＰＣ１００，１００…を提供することができる。よって、端末装置２，２…の各ユーザが既に使用しているＰＣ等の装置における各種の設定情報を、煩雑な設定操作を行なうことなく、シンクライアントに対しても反映させることができるので、ユーザによる設定処理の手間は省け、利便性が向上する。従って、既に使用している装置に対する２台目としてシンクライアントシステムを利用したいユーザにおいても、高齢者及び主婦等のように端末装置の操作に不慣れなユーザにおいても、シンクライアントシステムを気軽に導入することができる。【０１０４】
また、本実施形態１の情報処理装置１では、端末装置２から取得した設定情報に基づいて仮想ＰＣ１００を起動させる際に、他のユーザによって既に使用されている仮想ＰＣ１００，１００…に影響を与えることなく正常に動作可能であるか否かを判定する。従って、他の仮想ＰＣ１００，１００…に影響を与えない場合にのみ、端末装置２から取得した設定情報に基づいて仮想ＰＣ１００を起動させるので、新たな仮想ＰＣ１００が起動された場合であっても、他の仮想ＰＣ１００，１００…において急激なパフォーマンスの悪化、リソースの不足等を回避することができる。また、シンクライアントシステムを提供するサービス提供者側にとっても、システム全体としてのリソース面及びパフォーマンス面において安定したシステムを提供できると共に、ユーザ毎に異なる設定情報に基づく仮想ＰＣ１００の環境を提供することができる。【０１０５】
また、本実施形態１の情報処理装置１では、端末装置２，２…から仮想ＰＣ１００，１００…の起動を要求された場合、ユーザ認証を行ない、正当な権限を有しないユーザからの接続を拒否することによって、セキュリティ面においても安全なシステムを提供することができる。また、本実施形態１の情報処理装置１では、端末装置２，２…から、対応する各仮想ＰＣ１００，１００…の利用の終了指示を取得した場合、各仮想ＰＣ１００，１００…の端末装置２，２…への割り当てを解消すると共に、各仮想ＰＣ１００，１００…を初期化するので、前のユーザによって設定された各種の設定条件等を次のユーザが利用する仮想ＰＣ１００に残さない。また、前のユーザによって生成された不要なデータを消去することにより、ＲＡＭ１２及び記憶部１３等のハードウェア資源を有効に利用することができる。【０１０６】
以下に、本実施形態１のシンクライアントシステムにおいて、情報処理装置１及び端末装置２間で行われる具体的な処理手順についてフローチャートに基づいて説明する。図７及び図８は端末装置２が情報処理装置１に仮想ＰＣ１００の起動を要求した場合の処理手順を示すフローチャートである。なお、以下の処理は、図４に示した端末装置２のハードウェア各部によって実行されると共に、情報処理装置１のＲＯＭ１１又は記憶部１３に格納してある制御プログラムに従って制御部１０によって実行される。【０１０７】
端末装置２は、入出力インタフェース２３を介して電源ボタンが押下されたことを検知したか否かを判断しており（Ｓ１）、電源ボタンを押下されたことを検知していないと判断した場合（Ｓ１：ＮＯ）、電源ボタンが押下されたことを検知したと判断するまで待機する。端末装置２は、電源ボタンが押下されたことを検知したと判断した場合（Ｓ１：ＹＥＳ）、端末装置２のユーザ情報、認証情報及び設定情報を含む接続要求信号を通信部２１により情報処理装置１へ送信する（Ｓ２）。【０１０８】
情報処理装置１の制御部１０（認証手段１０２）は、端末装置２から接続要求信号を受信した場合、受信した接続要求信号に含まれるユーザ情報及び認証情報に基づいてユーザ認証を行ない（Ｓ３）、受信した接続要求信号に対する接続の可否を判断する（Ｓ４）。制御部１０は、受信した接続要求信号に対する接続が否であると判断した場合（Ｓ４：ＮＯ）、接続不可を、接続要求信号の送信元の端末装置２へ通知する（Ｓ５）。【０１０９】
端末装置２は、情報処理装置１から接続不可を通知された場合、情報処理装置１へ接続できない旨を示すメッセージをテレビ２６に表示し（Ｓ６）、仮想ＰＣ１００の起動を要求する処理を終了する。【０１１０】
一方、受信した接続要求信号に対する接続が可であると判断した場合（Ｓ４：ＹＥＳ）、制御部１０（設定情報検査手段１０３）は、端末装置２から受信した接続要求信号に含まれる設定情報が、設定許容範囲テンプレート１３ｄによって規定された制約条件に基づく許容範囲内であるか否かを判定する（Ｓ７）。設定情報が許容範囲内であると判断した場合（Ｓ７：ＹＥＳ）、制御部１０（設定情報格納手段１０４）は、端末装置２から受信した設定情報をＲＡＭ１２に一旦格納する（Ｓ８）。設定情報が許容範囲内でないと判断した場合（Ｓ７：ＮＯ）、制御部１０は、ステップＳ８の処理をスキップする。なお、この場合、制御部１０は、設定情報が許容範囲内でないと判断した旨を示す情報をＲＡＭ１２に格納する。【０１１１】
制御部１０（仮想ＰＣ選択手段１０５）は、仮想ＰＣ状態テーブル１３ｃの登録内容に基づいて、接続要求信号を送信してきた端末装置２に対応する仮想ＰＣ１００（ＯＳプログラム１３ａ）を選択する（Ｓ９）。そして、制御部１０は、未だ割り当てられていない画像送信装置３を探索し（Ｓ１０）、探索した画像送信装置３を選択した仮想ＰＣ１００に割り当てる（Ｓ１１）。このとき例えば、制御部１０は、端末装置２…のＩＤと、対応する仮想ＰＣ１００のＩＤと、画像送信装置３のＩＤとの対応関係を記憶しておき、端末装置２から各種の信号を受け付けた場合に、送信元の端末装置２のアドレス、ＩＤ等から対応する仮想ＰＣ１００及び画像送信装置３を特定できるようにしておく。【０１１２】
制御部１０（仮想ＰＣ起動手段１０６）は、ステップＳ８でＲＡＭ１２に格納した設定情報に基づいて、ステップＳ１１で割り当てた画像送信装置３を起動させると共に、ステップＳ９で選択した仮想ＰＣ１００を起動する（Ｓ１２）。なお、このとき、設定情報が許容範囲内でなく、端末装置２から取得した設定情報がＲＡＭ１２に格納されていない場合には、制御部１０は、デフォルト値としてＲＡＭ１２に予め格納してある設定情報に基づいて、ステップＳ９で選択した仮想ＰＣ１００を起動する。【０１１３】
制御部１０は、仮想ＰＣ１００を起動させた場合、端末装置２のテレビ２６に初期画面を描画させるための画像信号を、仮想ＰＣ１００に割り当てられた画像送信装置３を介して、接続要求信号の送信元の端末装置２へ送信する（Ｓ１３）。端末装置２は、情報処理装置１から取得した画像信号に基づく初期画面をテレビ２６に表示させ（Ｓ１４）、シンクライアントとしての動作を開始し、仮想ＰＣ１００の起動を要求する処理を終了する。【０１１４】
図９は端末装置２が情報処理装置１に仮想ＰＣ１００の停止を要求した場合の処理手順を示すフローチャートである。なお、以下の処理は、図４に示した端末装置２のハードウェア各部によって実行されると共に、情報処理装置１のＲＯＭ１１又は記憶部１３に格納してある制御プログラムに従って制御部１０によって実行される。【０１１５】
端末装置２は、シンクライアントとしての動作を行ないつつ、入出力インタフェース２３を介して電源ボタンが押下されたことを検知したか否かを判断しており（Ｓ２１）、電源ボタンを押下されたことを検知していないと判断した場合（Ｓ２１：ＮＯ）、電源ボタンが押下されたことを検知したと判断するまで待機する。端末装置２は、電源ボタンが押下されたことを検知したと判断した場合（Ｓ２１：ＹＥＳ）、切断要求信号を通信部２１により情報処理装置１へ送信する（Ｓ２２）。【０１１６】
情報処理装置１の制御部１０は、端末装置２から切断要求信号を受信した場合、切断要求信号の送信元の端末装置２に対応する仮想ＰＣ１００を特定し（Ｓ２３）、特定した仮想ＰＣに対する端末装置２のログアウト処理を行なうと共に、特定した仮想ＰＣ１００をシャットダウンさせる（Ｓ２４）。また、制御部１０（仮想ＰＣ修復手段１０８）は、シャットダウンさせた仮想ＰＣ１００に、初期情報テンプレート１３ｅのデータをロードさせて初期化し、他の端末装置２，２…に開放する（Ｓ２５）。制御部１０は、ステップＳ２４でシャットダウンさせた仮想ＰＣ１００に割り当てられていた画像送信装置３を特定し（Ｓ２６）、特定した画像送信装置３も他の端末装置２，２…に開放し（Ｓ２７）、仮想ＰＣ１００の停止の処理を終了する。【０１１７】
上述した構成により、シンクライアントシステムにおいて、各端末装置２，２…のユーザ毎に異なる設定情報に基づく仮想ＰＣ１００，１００…の動作環境を、既に起動している他の仮想ＰＣ１００，１００…に影響を与えることなく提供することができる。よって、各ユーザは、煩雑な操作を行なうことなく、使い慣れた動作環境でシンクライアントと利用することができ、利便性を向上させることができる。【０１１８】
なお、上述した構成の情報処理装置１では、各端末装置２，２…から取得した設定情報に基づいて各仮想ＰＣ１００，１００…を起動させる際に、各設定情報が、設定許容範囲テンプレート１３ｄに基づく許容範囲内であるか否かを判断し、許容範囲内でないと判断した場合、デフォルト値として予めＲＡＭ１２に格納してある設定情報に基づいて仮想ＰＣ１００，１００…を起動させる。このとき、仮想ＰＣ１００，１００…を起動させた後に端末装置２のテレビ２６において描画される初期画面に、「端末装置２から取得した設定情報に基づく環境での起動はできませんでした」のようなメッセージを含めてもよい。これにより、端末装置２，２…のユーザは、デフォルト値の設定情報に基づいて仮想ＰＣ１００，１００…が起動されたことを容易に把握することができる。【０１１９】
本実施形態１では、各端末装置２，２…が情報処理装置１へ送信する設定情報は、端末装置２，２…が、自身に接続された外部メモリから読み取る構成を例に説明した。これに対して、例えば、設定情報を端末装置２，２…の不揮発性メモリ（図示せず）に記憶させておく構成としてもよい。この場合、端末装置２，２…のユーザは、端末装置２，２…をシンクライアントとして起動させる都度、外部メモリを端末装置２，２…に挿入する必要がなくなる。【０１２０】
本実施形態１では、各端末装置２，２…から、対応する仮想ＰＣ１００，１００…の動作終了を要求された場合、対応する仮想ＰＣ１００，１００…をシャットダウンさせる構成を例に説明した。これに対して、例えば、各仮想ＰＣ１００，１００…に対する各端末装置２，２…のログアウト処理を行なった後、各仮想ＰＣ１００，１００…をシャットダウンさせずに、初期情報テンプレート１３ｅに基づく初期化のみを行なって、ホットスタンバイ状態で待機させておく構成とすることもできる。この場合、各端末装置２，２…から仮想ＰＣ１００，１００…の起動を新たに要求された場合に、各仮想ＰＣ１００，１００…の起動時間を短縮することができる。【０１２１】
（実施形態２）
以下に、実施形態２に係るシンクライアントシステムについて説明する。なお、本実施形態２のシンクライアントシステムは、上述した実施形態１のシンクライアントシステムと同様の構成によって実現される。従って、本実施形態２のシンクライアントシステムにおける情報処理装置１及び端末装置２の構成についての詳細な説明は省略する。【０１２２】
本実施形態２の情報処理装置１は、図２に示した構成のほかに、記憶部１３に、図１０に示すような設定情報登録テーブル１３ｆが格納されている。図１０は設定情報登録テーブル１３ｆの登録内容を示す模式図である。図１０に示すように、設定情報登録テーブル１３ｆは、シンクライアントシステムの利用を許可された各ユーザ毎に、ユーザを識別するためのユーザ情報、ユーザ認証に用いる認証情報、設定情報がそれぞれ対応付けて登録されている。設定情報登録テーブル１３ｆの登録内容は、実施形態１で説明したように、各端末装置２，２…から取得した設定情報に基づいて起動した各仮想ＰＣ１００，１００…を情報処理装置１の制御部１０（仮想ＰＣ修復手段１０８）がシャットダウンさせる都度、制御部１０（仮想ＰＣ修復手段１０８）によって登録される。【０１２３】
また、設定情報登録テーブル１３ｆの登録内容は、例えば、端末装置２，２…の各ユーザが、シンクライアントシステムの提供サービスを終了（退会)した場合に、端末装置２，２…を介して取得した退会要求信号に基づいて、制御部１０によって削除される。また、情報処理装置１を操作するシンクライアントシステムの管理者が、各ユーザからの退会要求を受け付けた場合に、情報処理装置１を操作する都度、制御部１０によって削除される。【０１２４】
なお、仮想ＰＣ修復手段１０８は、各仮想ＰＣ１００，１００…をシャットダウンさせた場合、対応する端末装置２，２…のユーザのユーザ情報及び認証情報が既に設定情報登録テーブル１３ｆに登録されているか否かを検索する。そして、仮想ＰＣ修復手段１０８は、ユーザ情報及び認証情報が既に登録されている場合には、設定情報のみを更新し、まだ登録されていない場合には、ユーザ情報、認証情報及び設定情報の全てを登録する。【０１２５】
図１１は仮想化サーバ１０１の機能構成を示す機能ブロック図である。本実施形態２の情報処理装置１において、制御部１０は、記憶部１３に格納してある仮想化サーバプログラム１３ｂを実行することによって仮想化サーバ１０１として動作している場合、図６に示した構成のほかに、設定情報検索手段１０９の機能を実現する。【０１２６】
設定情報検索手段１０９は、認証手段１０２によって仮想ＰＣ１００の起動が許可された端末装置２から受信した接続要求信号に含まれるユーザ情報及び認証情報を、設定情報登録テーブル１３ｆのユーザ情報の欄及び認証情報の欄から検索することにより、このユーザ情報及び認証情報に対応する設定情報が設定情報登録テーブル１３ｆに登録されているか否かを検索する。【０１２７】
設定情報検索手段１０９は、対応する設定情報が設定情報登録テーブル１３ｆに登録されていると判断した場合、この設定情報を設定情報登録テーブル１３ｆから読み出し、設定情報検査手段１０３へ送出する。なお、対応する設定情報が設定情報登録テーブル１３ｆに登録されていないと判断した場合、設定情報検索手段１０９は、端末装置２，２…から取得した接続要求信号に含まれる設定情報を設定情報検査手段１０３へ送出する。【０１２８】
そして、設定情報検査手段１０３は、設定情報検索手段１０９から送出されてきた設定情報、具体的には、設定情報登録テーブル１３ｆに登録されていた設定情報、又は端末装置２から取得した設定情報が、設定許容範囲テンプレート１３ｄによって規定された制約条件に基づく許容範囲内であるか否かを判定する。【０１２９】
設定情報検査手段１０３、設定情報格納手段１０４、仮想ＰＣ選択手段１０５、仮想ＰＣ起動手段１０６及び仮想ＰＣ画面送信手段１０７が行なう処理は、実施形態１で説明した処理と同様である。なお、仮想ＰＣ修復手段１０８は、実施形態１で説明した処理のほかに、上述したように、各仮想ＰＣ１００，１００…をシャットダウンさせた場合に、端末装置２，２…のユーザのユーザ情報、認証情報及び設定情報の設定情報登録テーブル１３ｆへの登録又は更新を行なう。【０１３０】
以下に、本実施形態２のシンクライアントシステムにおいて、情報処理装置１及び端末装置２間で行われる具体的な処理手順についてフローチャートに基づいて説明する。図１２及び図１３は端末装置２が情報処理装置１に仮想ＰＣ１００の起動を要求した場合の処理手順を示すフローチャートである。なお、以下の処理は、図４に示した端末装置２のハードウェア各部によって実行されると共に、情報処理装置１のＲＯＭ１１又は記憶部１３に格納してある制御プログラムに従って制御部１０によって実行される。【０１３１】
端末装置２は、入出力インタフェース２３を介して電源ボタンが押下されたことを検知したか否かを判断しており（Ｓ３１）、電源ボタンを押下されたことを検知していないと判断した場合（Ｓ３１：ＮＯ）、電源ボタンが押下されたことを検知したと判断するまで待機する。端末装置２は、電源ボタンが押下されたことを検知したと判断した場合（Ｓ３１：ＹＥＳ）、端末装置２のユーザ情報、認証情報及び設定情報を含む接続要求信号を通信部２１により情報処理装置１へ送信する（Ｓ３２）。【０１３２】
情報処理装置１の制御部１０（認証手段１０２）は、端末装置２から接続要求信号を受信した場合、受信した接続要求信号に含まれるユーザ情報及び認証情報に基づいてユーザ認証を行ない（Ｓ３３）、受信した接続要求信号に対する接続の可否を判断する（Ｓ３４）。制御部１０は、受信した接続要求信号に対する接続が否であると判断した場合（Ｓ３４：ＮＯ）、接続不可を、接続要求信号の送信元の端末装置２へ通知する（Ｓ３５）。【０１３３】
端末装置２は、情報処理装置１から接続不可を通知された場合、情報処理装置１へ接続できない旨を示すメッセージをテレビ２６に表示し（Ｓ３６）、仮想ＰＣ１００の起動を要求する処理を終了する。【０１３４】
一方、受信した接続要求信号に対する接続が可であると判断した場合（Ｓ３４：ＹＥＳ）、制御部１０（設定情報検索手段１０９）は、端末装置２から受信した接続要求信号に含まれる設定情報が、設定情報登録テーブル１３ｆに登録されているか否かを判断する（Ｓ３７）。制御部１０は、設定情報が設定情報登録テーブル１３ｆに登録されていると判断した場合（Ｓ３７：ＹＥＳ）、設定情報登録テーブル１３ｆから設定情報を読み出し（Ｓ３８）、設定情報が設定情報登録テーブル１３ｆに登録されていないと判断した場合（Ｓ３７：ＮＯ）、ステップＳ３８の処理をスキップする。【０１３５】
次に、制御部１０（設定情報検査手段１０３）は、設定情報登録テーブル１３ｆから読み出した設定情報又は端末装置２から受信した接続要求信号に含まれる設定情報が、設定許容範囲テンプレート１３ｄによって規定された制約条件に基づく許容範囲内であるか否かを判定する（Ｓ３９）。設定情報が許容範囲内であると判断した場合（Ｓ３９：ＹＥＳ）、制御部１０（設定情報格納手段１０４）は、設定情報登録テーブル１３ｆから読み出した設定情報又は端末装置２から受信した設定情報をＲＡＭ１２に一旦格納する（Ｓ４０）。設定情報が許容範囲内でないと判断した場合（Ｓ３９：ＮＯ）、制御部１０は、ステップＳ４０の処理をスキップする。なお、この場合、制御部１０は、設定情報が許容範囲内でないと判断した旨を示す情報をＲＡＭ１２に格納する。【０１３６】
制御部１０（仮想ＰＣ選択手段１０５）は、仮想ＰＣ状態テーブル１３ｃの登録内容に基づいて、接続要求信号を送信してきた端末装置２に対応する仮想ＰＣ１００（ＯＳプログラム１３ａ）を選択する（Ｓ４１）。そして、制御部１０は、未だ割り当てられていない画像送信装置３を探索し（Ｓ４２）、探索した画像送信装置３を選択した仮想ＰＣ１００に割り当てる（Ｓ４３）。【０１３７】
制御部１０（仮想ＰＣ起動手段１０６）は、ステップＳ４０でＲＡＭ１２に格納した設定情報に基づいて、ステップＳ４３で割り当てた画像送信装置３を起動させると共に、ステップＳ４１で選択した仮想ＰＣ１００を起動する（Ｓ４４）。なお、このとき、設定情報が許容範囲内でなく、端末装置２から取得した設定情報がＲＡＭ１２に格納されていない場合には、制御部１０は、デフォルト値としてＲＡＭ１２に予め格納してある設定情報に基づいて、ステップＳ４１で選択した仮想ＰＣ１００を起動する。【０１３８】
制御部１０は、仮想ＰＣ１００を起動させた場合、端末装置２のテレビ２６に初期画面を描画させるための画像信号を、仮想ＰＣ１００に割り当てられた画像送信装置３を介して、接続要求信号の送信元の端末装置２へ送信する（Ｓ４５）。端末装置２は、情報処理装置１から取得した画像信号に基づく初期画面をテレビ２６に表示させ（Ｓ４６）、シンクライアントとしての動作を開始し、仮想ＰＣ１００の起動を要求する処理を終了する。【０１３９】
図１４は端末装置２が情報処理装置１に仮想ＰＣ１００の停止を要求した場合の処理手順を示すフローチャートである。なお、以下の処理は、図４に示した端末装置２のハードウェア各部によって実行されると共に、情報処理装置１のＲＯＭ１１又は記憶部１３に格納してある制御プログラムに従って制御部１０によって実行される。【０１４０】
端末装置２は、シンクライアントとしての動作を行ないつつ、入出力インタフェース２３を介して電源ボタンが押下されたことを検知したか否かを判断しており（Ｓ５１）、電源ボタンを押下されたことを検知していないと判断した場合（Ｓ５１：ＮＯ）、電源ボタンが押下されたことを検知したと判断するまで待機する。端末装置２は、電源ボタンが押下されたことを検知したと判断した場合（Ｓ５１：ＹＥＳ）、切断要求信号を通信部２１により情報処理装置１へ送信する（Ｓ５２）。【０１４１】
情報処理装置１の制御部１０は、端末装置２から切断要求信号を受信した場合、切断要求信号の送信元の端末装置２に対応する仮想ＰＣ１００を特定し（Ｓ５３）、特定した仮想ＰＣ１００における設定情報を、対応する端末装置２のユーザ情報及び認証情報に対応付けて設定情報登録テーブル１３ｆに登録する（Ｓ５４）。制御部１０は、ステップＳ５３で特定した仮想ＰＣに対する端末装置２のログアウト処理を行なうと共に、特定した仮想ＰＣ１００をシャットダウンさせる（Ｓ５５）。【０１４２】
制御部１０（仮想ＰＣ修復手段１０８）は、シャットダウンさせた仮想ＰＣ１００に、初期情報テンプレート１３ｅのデータをロードさせて初期化し、他の端末装置２，２…に開放する（Ｓ５６）。制御部１０は、ステップＳ５５でシャットダウンさせた仮想ＰＣ１００に割り当てられていた画像送信装置３を特定し（Ｓ５７）、特定した画像送信装置３も他の端末装置２，２…に開放し（Ｓ５８）、仮想ＰＣ１００の停止の処理を終了する。【０１４３】
上述した構成により、シンクライアントシステムにおいて、各端末装置２，２…のユーザ毎に異なる設定情報に基づく仮想ＰＣ１００，１００…の動作環境を提供することができる。また、各端末装置２，２…から取得した設定情報を設定情報登録テーブル１３ｆにおいて管理しておくことにより、各ユーザは、端末装置２，２…をシンクライアントとして起動させる都度、外部メモリを端末装置２，２…に挿入する必要がなく、利便性をより向上させることができる。【０１４４】
上述した実施形態２の情報処理装置１は、設定情報登録テーブル１３ｆに設定情報を登録しておき、次回に各端末装置２，２…が仮想ＰＣ１００，１００…の起動を要求してきた場合に、設定情報登録テーブル１３ｆに登録してある設定情報を用いて仮想ＰＣ１００，１００…を起動させる構成であった。これに対して、例えば、設定情報の代わりに、仮想ＰＣ１００，１００…におけるメモリのダンプイメージを設定情報登録テーブル１３ｆに登録しておく構成としてもよい。【０１４５】
この場合、認証手段１０２によって認証された端末装置２から受信した接続要求信号に含まれるユーザ情報及び認証情報に対応するダンプイメージが設定情報検索手段１０９によって設定情報登録テーブル１３ｆから読み出される。そして、仮想ＰＣ起動手段１０６が、ＲＡＭ１２に予め格納してあるデフォルト値の設定情報に基づいて仮想ＰＣ１００を起動させ、起動させた仮想ＰＣ１００に、設定情報登録テーブル１３ｆから読み出したダンプイメージをロードすればよい。【０１４６】
なお、この場合、仮想ＰＣ１００を起動させた後に、ダンプイメージをロードするため、仮想ＰＣ１００を起動させる際の設定情報が、設定許容範囲テンプレート１３ｄによって規定される許容範囲内であるか否かを判定する処理を行なえない。しかし、設定情報登録テーブル１３ｆに登録される各ダンプイメージに対応して、各ダンプイメージがロードされた状態の仮想ＰＣ１００におけるリソース使用量及びパフォーマンス量を設定情報登録テーブル１３ｆに登録しておくことにより、設定情報登録テーブル１３ｆに登録されたダンプイメージに基づく動作環境で仮想ＰＣ１００を動作させた場合に、他の仮想ＰＣ１００，１００…に影響を与えるか否かを検査することができる。【０１４７】
上述した実施形態１，２の情報処理装置１では、各仮想ＰＣ１００，１００…をシャットダウンさせた場合に、初期情報テンプレート１３ｅに基づいて各仮想ＰＣ１００，１００…を初期化する構成であった。このような構成により、各端末装置２，２…に対するログアウト処理を行なった後に、各仮想ＰＣ１００，１００…及び画像送信装置３，３…を、次にログインしてきた各端末装置２，２…に割り当てることができ、ハードウェア資源をより効率よく利用することができる。【０１４８】
これに対して、例えば、各端末装置２，２…からシンクライアントシステムの提供サービスを終了（退会）要求があった場合に、初期情報テンプレート１３ｅに基づいて各仮想ＰＣ１００，１００…を初期化する構成とすることもできる。この場合、シンクライアントシステムの提供サービスを開始（入会)し、一度仮想ＰＣ１００を起動させた場合に、シンクライアントシステムの提供サービスを終了（退会）するまで、仮想ＰＣ１００及び画像送信装置３を１つの端末装置２に占有させることができる。また、この場合、端末装置２，２…毎に対応する仮想ＰＣ１００，１００…及び画像送信装置３，３…が確保されていることになるので、端末装置２，２…の各ユーザは、いつでもシンクライアントを利用することが可能となる。【０１４９】
上述した実施形態１，２では、各端末装置２，２…が情報処理装置１に仮想ＰＣ１００，１００…の起動を要求する際に情報処理装置１へ送信する設定情報は、ユーザ情報及び認証情報と共に接続要求信号として情報処理装置１へ送信する構成を例に説明した。【０１５０】
これに対して、例えば、ユーザ情報及び認証情報と、設定情報とを別々に情報処理装置１へ送信する構成とすることもできる。具体的には、各端末装置２，２…が仮想ＰＣ１００，１００…の起動を要求する際に、ユーザ情報及び認証情報のみを含む接続要求信号を情報処理装置１へ送信し、ユーザ認証の結果、情報処理装置１への接続が可であると判断された場合、端末装置２から情報処理装置１へ設定情報のみが送信される構成とすることができる。また、このような構成において、設定情報を暗号化する構成とした場合、端末装置２から情報処理装置１へ送信される設定情報が改ざんされることを防止できる。なお、外部メモリに記憶する際に、設定情報を暗号化しておいてもよい。【０１５１】
また、設定情報を暗号化して情報処理装置１へ送信する場合、設定情報を復号するための鍵を、設定情報とは別に端末装置２から情報処理装置１へ送信する構成とすることにより、情報処理装置１において鍵を保持・管理する必要がなく、情報処理装置１に対する不正な侵入を排除することができ、シンクライアントシステムのサーバ装置として安定した運用が可能となる。
更に、情報処理装置１において、各端末装置２，２…から取得した設定情報が改ざんされたか否かを検知する構成を備えた場合には、設定情報を更に安全に取り扱うことができる。【０１５２】
上述した実施形態１の情報処理装置１は、各端末装置２，２…から取得した設定情報に基づいて仮想ＰＣ１００，１００…を起動させる構成である。上述した実施形態２の情報処理装置１は、各端末装置２，２…から取得した設定情報に基づいて仮想ＰＣ１００，１００…を起動させると共に、各端末装置２，２…から取得した設定情報を登録しておく構成である。このような構成に加え、仮想ＰＣ１００，１００…が動作中に変更された各種の設定情報を、対応する端末装置２，２…へ送信し、端末装置２，２…のそれぞれに接続されている外部メモリに格納（上書き）させる、又は設定情報登録テーブル１３ｆに登録してある設定情報に上書きさせる構成とすることもできる。これにより、各ユーザは、シンクライアントを利用中に変更した各設定情報を、次回にシンクライアントを利用する際にも反映させることができる。
【図１】
2009093333.tif 000003
【図２】
2009093333.tif 000004
【図３】
2009093333.tif 000005
【図４】
2009093333.tif 000006
【図５】
2009093333.tif 000007
【図６】
2009093333.tif 000008
【図７】
2009093333.tif 000009
【図８】
2009093333.tif 000010
【図９】
2009093333.tif 000011
【図１０】
2009093333.tif 000012
【図１１】
2009093333.tif 000013
【図１２】
2009093333.tif 000014
【図１３】
2009093333.tif 000015
【図１４】
2009093333.tif 000016
【国際調査報告】
2009093333.tif 000017
2009093333.tif 000018
2009093333.tif 000019
2009093333.tif 000020