(57)【要約】【課題】  ユーザ要求に応じて，ＰＣプールからＰＣを動的に割り当てる動的割り当てと，予め所定のＰＣを割り当てる固定割り当てとがあり，すべてのＰＣを固定割り当てまたは動的割り当てとするとコンピュータを有効に活用できない。【解決手段】  ユーザの利用特性に応じて，ルール評価部１０２がユーザを固定ＰＣ割り当てユーザと動的割り当てユーザの２つに分類し分類結果の情報をユーザ分類テーブル１４０に記憶する。ユーザのＰＣ利用要求時に，ＰＣ割り当て部１０６が固定ＰＣ割り当てユーザには事前割り当て済みのＰＣ１８０を割り当て，動的割り当てユーザにはＰＣプール２５０から空きＰＣ１８０を割り当てる。また，ボリューム再配置部１０４は，ユーザの利用特性に基づいて，ストレージ１９０内の物理ディスクのＩ／Ｏ性能が平準化するよう，ボリュームマイグレーション処理を実行する。【選択図】  図１
2007164304.tif 000002
【特許請求の範囲】
【請求項１】
複数のサーバと、前記サーバを操作するクライアントと、前記複数のサーバを管理する管理サーバと、ストレージシステムとを有するコンピュータシステムであって、
前記管理サーバは、
ユーザ識別子とサーバの割り当て方法との対応関係を示す情報と、
クライアントから受信した使用要求に含まれるユーザ識別子と、前記対応関係を示す情報とに基づいて、前記使用要求を送信した前記クライアントに割り当てるサーバを選択し、前記選択したサーバに起動要求を送信し、前記選択したサーバのアドレス情報を、前記使用要求を送信した前記クライアントに送信するサーバ割り当て部と、を有し、
前記クライアントは、
前記ユーザ識別子を含む、サーバの使用要求を前記管理サーバへ送信し、前記管理サーバから前記アドレス情報を受信する、送受信部と、
前記管理サーバから受信した、前記アドレス情報を持つサーバをリモート操作するリモート操作部とを有し、
前記サーバは、
前記管理サーバからの起動要求を受信する受信部と、
前記管理サーバから受信した前記起動要求に基づいて、起動に必要な情報を記憶装置から取得し、該起動に必要な情報を用いて前記サーバを起動する制御部と、
前記クライアントからのリモート操作を受け付けるリモート操作受付部とを有する
ことを特徴とするコンピュータシステム。
【請求項２】
請求項１記載のコンピュータシステムであって、
前記対応関係を示す情報に格納されたサーバの割り当て方法は、固定割り当てまたは動的割り当てであり、
前記管理サーバの前記サーバ割り当て部は、前記対応関係に基づいて、前記選択したサーバの割り当て方法を決定し、
前記決定が固定割り当てである場合には、前記起動に必要な情報を取得する記憶装置を、前記選択したサーバが有する記憶装置とする起動要求を送信し、
前記決定が動的割り当てである場合には、前記起動に必要な情報を取得する記憶装置を、前記ストレージシステムが有する記憶装置とする起動要求を送信し、
前記サーバの前記制御部は、前記管理サーバから受信した起動要求に基づいて、前記選択したサーバが有する記憶装置または前記ストレージシステムが有する記憶装置から、前記起動に必要な情報を取得する
ことを特徴とするコンピュータシステム。
【請求項３】
請求項１又は２に記載のコンピュータシステムであって
前記起動に必要な情報は、ＯＳイメージであることを特徴とするコンピュータシステム。
【請求項４】
請求項１乃至３のいずれか１に記載のコンピュータシステムであって、
前記管理サーバは、前記ユーザ識別子に対応するサーバの使用量に基づいて、サーバの割り当て方法を固定割り当てとするか動的割り当てとするかを判定し、該判定結果に応じて前記対応関係を示す情報を変更する評価部を有する
ことを特徴とするコンピュータシステム。
【請求項５】
請求項１乃至３のいずれか１に記載のコンピュータシステムであって、
前記管理サーバは、
複数のユーザのユーザ識別子それぞれに対応づけて、該それぞれのユーザ識別子に対応するサーバの使用履歴情報を蓄積する記憶部と、
前記記憶部に蓄積した使用履歴情報から、複数のサーバの使用時間が長い順に順位付けし、使用時間が長い方から数えて所定の数のサーバを固定割り当てとして、該サーバに対応するユーザ識別子と対応づけて前記対応関係を示す情報を変更する評価部を有する
ことを特徴とするコンピュータシステム。
【請求項６】
請求項１乃至３のいずれか１に記載のコンピュータシステムであって、
前記管理サーバは、前記ユーザ識別子に対応するユーザのプロファイル情報に基づいて、サーバの割り当て方法を固定割り当てとするか動的割り当てとするかを判定し、該判定結果に応じて前記対応関係を示す情報を変更する評価部を有する
ことを特徴とするコンピュータシステム。
【請求項７】
請求項１乃至６のいずれか１に記載のコンピュータシステムであって、
前記管理サーバは、前記サーバの割り当て方法が動的割り当てである場合に、前記クライアントから受信した使用終了要求に応じて、割り当てられる前記サーバの有する記憶装置に格納された情報を削除するキャッシュ制御部を有する
ことを特徴とするコンピュータシステム。
【請求項８】
請求項１乃至７のいずれか１に記載のコンピュータシステムであって、
前記ストレージシステムの記憶装置は、複数の固定割り当てサーバのそれぞれが使用する固定サーバ用領域と、複数の動的割り当てサーバのそれぞれが使用する動的サーバ用領域と、
前記管理サーバからの再配置の指示に応じて前記固定サーバ用領域と前記動的サーバ用領域とを移動するストレージ管理部とを有し、
前記管理サーバは、前記ストレージシステムの前記記憶装置内での前記固定サーバ用領域と前記動的サーバ用領域とが分散するように前記ストレージシステムに再配置の指示を出すボリューム再配置部と、を有する
ことを特徴とするコンピュータシステム。
【請求項９】
請求項１乃至８のいずれか１に記載のコンピュータシステムであって、
前記ストレージシステムの前記記憶装置は物理ボリュームであり、
前記固定サーバ用領域と前記動的サーバ用領域とは、前記物理ボリュームの中の論理ボリュームであり、
前記ストレージ管理部は、前記固定サーバ用領域の論理ボリュームと前記動的サーバ用領域の論理ボリュームとが、前記物理ボリュームの中で、分散するように、前記固定サーバ用領域の論理ボリュームと前記動的サーバ用領域の論理ボリュームとを移動する
ことを特徴とするコンピュータシステム。
【請求項１０】
複数のサーバと、前記サーバを操作するクライアントと、前記複数のサーバを管理する管理サーバと、ストレージシステムとを有するシステムにおけるサーバ割り当て方法であって、
前記クライアントは、前記ユーザ識別子を含む、前記サーバの使用要求を前記管理サーバへ送信し、
前記管理サーバは、クライアントから受信した使用要求に含まれるユーザ識別子と、ユーザ識別子とサーバの割り当て方法との対応関係を示す情報とに基づいて、前記使用要求を送信した前記クライアントに割り当てるサーバを選択し、前記選択したサーバに起動要求を送信し、
前記サーバは、前記管理サーバから受信した前記起動要求に基づいて、起動に必要な情報を記憶装置から取得し、該起動に必要な情報を用いて前記サーバを起動し、
前記管理サーバは、起動した前記サーバのアドレス情報を、前記使用要求を送信した前記クライアントに送信し、
前記クライアントは、前記管理サーバから送信された前記アドレス情報を有する前記サーバに対して処理要求を送信する
ことを特徴とするサーバ割り当て方法。
【請求項１１】
請求項１０記載のサーバ割り当て方法であって、
前記対応関係を示す情報に格納されたサーバの割り当て方法は、固定割り当てまたは動的割り当てであり、
前記管理サーバの前記サーバ割り当て部は、前記対応関係に基づいて、前記選択したサーバの割り当て方法を決定し、
前記決定が固定割り当てである場合には、前記起動に必要な情報を取得する記憶装置を、前記選択したサーバが有する記憶装置とする起動要求を送信し、
前記決定が動的割り当てである場合には、前記起動に必要な情報を取得する記憶装置を、前記ストレージシステムが有する記憶装置とする起動要求を送信し、
前記サーバの前記制御部は、前記管理サーバから受信した起動要求に基づいて、前記選択したサーバが有する記憶装置または前記ストレージシステムが有する記憶装置から、前記起動に必要な情報を取得する
ことを特徴とするサーバ割り当て方法。
【請求項１２】
請求項１０又は１１に記載のサーバ割り当て方法であって、
前記起動に必要な情報は、ＯＳイメージであることを特徴とするサーバ割り当て方法。
【請求項１３】
請求項１０乃至１２のいずれか１に記載のサーバ割り当て方法であって、
前記管理サーバは、前記ユーザ識別子に対応するサーバの使用量に基づいて、サーバの割り当て方法を固定割り当てとするか動的割り当てとするかを判定し、該判定結果に応じて前記対応関係を示す情報を変更する評価部を有する
ことを特徴とするサーバ割り当て方法。
【請求項１４】
請求項１０乃至１２のいずれか１に記載のサーバ割り当て方法であって、
前記管理サーバは、複数のユーザのユーザ識別子それぞれに対応づけて、該それぞれのユーザ識別子に対応するサーバの使用履歴情報を蓄積する記憶部を有し、
前記管理サーバは、前記記憶部に蓄積した使用履歴情報から、複数のサーバの使用時間が長い順に順位付けし、使用時間が長い方から数えて所定の数のサーバを固定割り当てとして、該サーバに対応するユーザ識別子と対応づけて前記対応関係を示す情報を変更する
ことを特徴とするサーバ割り当て方法。
【請求項１５】
請求項１０乃至１２のいずれか１に記載のサーバ割り当て方法であって、
前記管理サーバは、前記ユーザ識別子に対応するユーザのプロファイル情報に基づいて、サーバの割り当て方法を固定割り当てとするか動的割り当てとするかを判定し、該判定結果に応じて前記対応関係を示す情報を変更する
ことを特徴とするサーバ割り当て方法。
【請求項１６】
請求項１０乃至１５のいずれか１に記載のサーバ割り当て方法であって、
前記管理サーバは、前記サーバの割り当て方法が動的割り当てである場合に、前記クライアントから受信した使用終了要求に応じて、割り当てられる前記サーバの有する記憶装置に格納された情報を削除する
ことを特徴とするサーバ割り当て方法。
【請求項１７】
請求項１０乃至１７のいずれか１に記載のサーバ割り当て方法であって、
前記ストレージシステムの記憶装置は、複数の固定割り当てサーバのそれぞれが使用する固定サーバ用領域と、複数の動的割り当てサーバのそれぞれが使用する動的サーバ用領域とを有し、
前記管理サーバは、前記ストレージシステムの前記記憶装置内での前記固定サーバ用領域と前記動的サーバ用領域とが分散するように前記ストレージシステムに再配置の指示を送信し、
前記ストレージシステムは、前記管理サーバからの再配置の指示に応じて前記固定サーバ用領域と前記動的サーバ用領域とを移動する
ことを特徴とするサーバ割り当て方法。
【請求項１８】
請求項１７記載のサーバ割り当て方法であって、
前記ストレージシステムの前記記憶装置は物理ボリュームであり、前記固定サーバ用領域と前記動的サーバ用領域とは、前記物理ボリュームの中の論理ボリュームであり、
前記ストレージ管理部は、前記固定サーバ用領域の論理ボリュームと前記動的サーバ用領域の論理ボリュームとが、前記物理ボリュームの中で、分散するように、前記固定サーバ用領域の論理ボリュームと前記動的サーバ用領域の論理ボリュームとを移動する
ことを特徴とするサーバ割り当て方法。
【発明の詳細な説明】
【技術分野】
【０００１】
コンピュータおよびストレージを有するパーソナルコンピューティングシステムのリソース割り当てに関する。
【背景技術】
【０００２】
近年，企業の従業員に，デスクトップ型，ノート型などのさまざまなタイプのパーソナルコンピュータ(以降，略してＰＣと呼ぶ)を配布し，業務の効率化を図っている。ＰＣ内の記憶装置の大容量化に伴い，ＰＣ内の記憶装置に企業の機密データを大量に保存することが可能となり，ノート型ＰＣの紛失やデスクトップＰＣの盗難などによる情報漏洩が社会問題となっている。
【０００３】
この情報漏洩を防ぐ方法として，機密データを格納するＰＣを施錠管理可能な場所に配置し外部に持ち出させず，画面表示機能，入出力機能および，遠隔からＰＣに接続する機能からなるシンクライアントと呼ばれる（本明細書ではこの意味で使用する），機能が限定されたコンピュータをユーザに付与し，前記ユーザはシンクライアントを利用して遠隔から前記ＰＣに接続し，ＰＣが提供する機能を利用する，という方法がある。シンクライアントは，前記ＰＣ上で実行されるプログラムの画面情報を前記ＰＣから取得し表示し，シンクライアント上の入出力操作（マウスやキーボードなど）情報は，前記ＰＣに送られＰＣ上のプログラムで処理される。シンクライアントでは画面表示と入出力データの送受信のみ行い，企業の機密情報は施錠管理された場所に保管されたＰＣ内に格納され，シンクライアント内の記憶装置に保持しない。したがって，シンクライアントを紛失，盗難にあったとしても，機密データの漏洩は発生しない。
【０００４】
シンクライアントでは，従来ＰＣが実現する機能を，画面表示および入出力制御機能からなるユーザインターフェース機能と，プログラムを実行しデータを格納するコンピューティング機能の２つに分離している。
【０００５】
特許文献１では，ＰＣを完全なディスクレスとするのではなく，ディスクあるいはコンパクトフラッシュ（登録商標）などの不揮発性記憶装置をＰＣに内蔵させ，前記不揮発性記憶装置をストレージＩ／Ｏのキャッシュとして動作させることにより，ネットワークおよびストレージの負荷を軽減するとともに，ネットワーク輻輳時のＩ／Ｏアクセスの信頼性の低下を防止する。
【０００６】
【特許文献１】特開２００４−１７８５９６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
特許文献１の方法では，不揮発性記憶装置に特定ユーザのキャッシュデータが格納されるため，動的割り当てを行う環境では，シンクライアントからＰＣの接続を切断する際に不揮発性記憶装置に保持されるキャッシュデータをパージする必要がある。パージを行わない場合，別ユーザがシンクライアントを介してＰＣを利用する場合，別ユーザのキャッシュが不揮発性記憶装置に残っている可能性があり，キャッシュデータとストレージ上のデータに矛盾が生じる。また，ユーザがＰＣの利用を停止する毎にパージを行うと，次回，ＰＣ利用時にはキャッシュが利用できず，ＯＳブート時に大量のＩ／Ｏが発生する。また，パージする場合，ファイルシステムが実現しているメモリレベルのキャッシュ機構との差が明確でなく，不揮発性記憶装置をキャッシュとして利用するメリットが生かされない。
【０００８】
また，特許文献１の方法では，ユーザ固有な利用特性を十分に利用しておらず，ＰＣとストレージ間の局所的なＩ／Ｏアクセスパターンに依存しており，性能の適正化は限定的なものとなっている。一方，シンクライアント，パーソナルコンピュータおよびストレージからなるパーソナルコンピューティング環境において，前記環境を利用するユーザは非常に多数存在し，多様な利用特性を持っている。しかし，特許文献１では，ユーザの利用特性に応じた，パーソナルコンピューティング環境の配置が実現できない。
【０００９】
また，ユーザの利用パターンによりストレージアクセスパターンが異なることが考えられる。ユーザ利用特性に即して，ストレージ内での最適化，たとえば，ボリュームの配置の最適化，が考えられる。特許文献１では，ユーザ利用特性情報を十分に活用していないため，キャッシュレベルの最適化にとどまり，ストレージ自体の最適化が実現できない。
【００１０】
本発明の課題は，複数のコンピュータと、ストレージシステムとを有するパーソナルコンピューティング環境において，ユーザの利用特性に応じて，固定割り当て，動的割り当てを実現することである。
【課題を解決するための手段】
【００１１】
ユーザのパーソナルコンピューティング環境の利用特性に応じて，ユーザを「動的割り当てユーザ」と「固定割り当てユーザ」の２種類に分類する。管理者が事前に定義したポリシールール，ユーザのＰＣ利用実績情報，ユーザが利用するＰＣからストレージのＩ／Ｏ発生回数などのユーザ利用情報を採取記録手段，およびユーザ利用情報を参照してポリシールールを評価する手段により前記分類を行う。固定割り当てとなったユーザに対し，プールされたＰＣ群から特定のＰＣを選択し，前記ＰＣを固定割り当てＰＣとして前記ユーザに対応付ける。利用頻度の高いユーザ，つまり，実質的に１つのＰＣを占有しているユーザに，固定ＰＣを割り当てても，リソース有効活用上問題とならない。逆に，利用頻度の高いユーザであることが事前にわかっていれば，以降で記載する手段で最適化処理を実現することが可能となる。
【００１２】
また，各ＰＣに不揮発性記憶装置を設け，前記不揮発性記憶装置をストレージＩ／Ｏに対するキャッシュとして利用する。ただし，動的割り当てユーザに対しては前記キャッシュを利用せず，ＰＣをディスクレスコンピュータのように利用するよう制御する。一方，固定割り当てユーザに対して，ＰＣ利用する際は，事前に割り当てた固定ＰＣを利用するよう制御し，不揮発性記憶装置内のキャッシュデータを利用するよう制御する。
【００１３】
また，ユーザがパーソナルコンピューティング環境を利用する際，固定割り当てユーザに対しては，前記固定割り当てＰＣを割り当て，動的割り当てユーザには空きＰＣを動的割り当てＰＣとして割り当てる。
【００１４】
また，ストレージＩ／Ｏの状態を監視し，ストレージの負荷が事前に管理者が指定し基準を下回った場合，固定割り当てユーザに対応付けられるＰＣ内の不揮発性記憶装置のキャッシュデータと，ストレージ上のユーザ毎のボリュームとの同期処理を実行する。
【００１５】
また，ユーザの利用特性に基づいて，ストレージ内の物理ディスクのＩ／Ｏ性能が平準化する処理もあわせて設ける。
【発明の効果】
【００１６】
複数のコンピュータと、ストレージシステムとを有するシステムにおいて，ユーザ利用特性に応じた，リソース割り当ておよびリソース利用方式が選択可能となる。
【発明を実施するための最良の形態】
【００１７】
近年技術開発が進んでいる，ＳＡＮ（Ｓｔｏｒａｇｅ Ａｒｅａ Ｎｅｔｗｏｒｋ）とネットワークブート機能を利用することにより，コンピューティング機能をプログラム実行機能とデータ格納機能に分離することができる。プログラム実行機能は，ディスクを内蔵しないＰＣ（ディスクを内蔵していないことを明示したい場合，ディスクレスＰＣと呼ぶ）で実現し，データ格納機能はＳＡＮストレージで実現する。前述の環境では，ストレージ上のボリュームをユーザ毎に用意し，ＯＳブートイメージ，アプリケーションおよび業務データを前記ボリュームに格納する。ユーザがシンクライアントを介してコンピューティング機能を利用する際，適切なディスクレスＰＣを動的にユーザに割り当て，ユーザ固有のＯＳイメージをストレージからブートする。上記のように，シンクライアントのユーザが，パーソナルコンピューティング機能を利用する際，動的にＰＣを割り当てることを，動的割り当てと呼ぶ。
【００１８】
一方，固定割り当てとは，ユーザが利用するＰＣを事前に定めておき，該ＰＣにユーザ環境を構築しておく，ＰＣ割り当て方式のことである。
【００１９】
ネットワークブートとは，外部ストレージあるいはサーバに格納されているＯＳイメージをＥｔｈｅｒｎｅｔ（登録商標）などのネットワーク経由でメモリ上にダウンロードしＯＳを起動するブート方式のことである。
【００２０】
この動的割り当てのメリットとして，すべてのシンクライアントユーザに対して専用のＰＣを割り当てる必要がなく同時ユーザ数だけディスクレスＰＣを用意すれば良く，ＰＣ導入コストを低減できることがある。加えて，ユーザのＯＳイメージ，アプリケーションおよびデータが外部ストレージに集約されるため，バックアップなどの運用操作も簡略化される。
【００２１】
ＰＣ環境のストレージネットワークとしては，Ｅｔｈｅｒｎｅｔを利用したＩＰ−ＳＡＮが想定され，ＰＣのすべてのＩ／Ｏがネットワーク経由のストレージアクセスとなり，ネットワークおよびストレージに多大な負荷を与える，という課題がある。また，ＤＢサーバによりアクセスが集約されるサーバ環境に比べて，クライアント環境におけるストレージの利用では，ストレージに接続されるユーザ数が膨大であり，ストレージ装置は膨大な同時アクセスユーザを処理する必要がある。
【００２２】
図１は，本発明の全体像を示す。ユーザは，シンクライアント１６０を介して，パーソナルコンピュータ(以降略してＰＣ)１８０およびストレージ１９０で構成されるパーソナルコンピューティング環境を利用する。
【００２３】
シンクライアント１６０は、ネットワークを介してＰＣ１８０と通信を行う。ネットワークは，有線ネットワークに限られず，無線ＬＡＮカードあるいは携帯通信カードなど等を使用した無線ネットワークでもよい。ＰＣ１８０はネットワーク２１０を介してストレージ１９０と接続されている。
【００２４】
シンクライアント１６０のディスプレイには、ＰＣ１８０のディスプレイに表示される画面と同一画面の情報を表示し、キーボード・マウス入力を、シンクライアント１６０からＰＣ１８０に送信し、ＰＣ１８０に対する入力として実行する。上記の構成により、シンクライアント１６０からＰＣ１８０で行う業務を代行するように構成することができる。本構成においては、ＰＣ１８０のディスプレイ、キーボード、マウスはシンクライアント１６０で代行可能なため、ＰＣ１８０にはディスプレイ、キーボード、マウスがなくてもよく，ブレードマシンのような計算機を用いることもできる。
【００２５】
さらには，シンクライアント１６０に対して、認証データ（ユーザＩＤ、パスワードあるいは証書データなど）を格納した外部装置（ＵＳＢメモリ，ハードトークンキー，ＩＣカードなどの可搬媒体）を接続するように構成することも可能である。この場合、外部接続装置を接続することにより，外部装置に格納された認証データを使用して，どのシンクライアント１６０からでも、ＰＣ１８０へ接続して業務を遂行することが可能である。
【００２６】
外部装置に使用するユーザの情報や，使用するアプリケーション，ＯＳ等の情報や，認証情報を格納しておくことにより，外部装置から抽出したこれらの情報をＰＣ１８０に送信して認証情報やアクセス情報として使用することで，セキュリティや利便性が向上する。また，これらの情報をＰＣ管理サーバ１００に送信することで，ＰＣ管理サーバ１００でＰＣ１８０を動的割り当てするか静的割り当てするか決定する際に使用することもできる。
【００２７】
パーソナルコンピュータ１８０は複数存在しＰＣプール２５０として管理される。シンクライアント１６０およびパーソナルコンピュータ１８０はフロントネットワーク２００に接続される。ＰＣ１８０とストレージ１９０は，ストレージネットワーク２１０に接続される。ストレージ１９０には，各ユーザに対して，ＯＳイメージ，アプリケーションおよび業務データを格納するボリューム１９１が準備されているもとする。ここに記載しているネットワーク構成はあくまで１例であり，シンクライアント１６０はＷＡＮ（Ｗｉｄｅ Ａｒｅａ Ｎｅｔｗｏｒｋ）に接続され，ＶＰＮ(Ｖｉｒｔｕａｌ Ｐｒｉｖａｔｅ Ｎｅｔｗｏｒｋ)経由でフロントネットワーク２００に接続してもよいし，ワイヤレスＬＡＮを使用してフロントネットワーク２００に接続してもよい。
【００２８】
ストレージ１９０の好適な実現形態の１つに，ＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ Ａｒｒａｙ Ｉｎｅｘｐｅｓｉｖｅ Ｄｉｓｋ）システムがある。ＲＡＩＤでは，複数の物理ディスク装置を１つのまとまった容量単位とすることおよびディスク装置グループ内にデータを冗長に格納することにより，高い信頼性を実現する。このまとまった容量単位を本発明では物理ディスクグループと呼ぶ。また，一般に，ＲＡＩＤシステムは複数の物理ディスクグループから構成される。
【００２９】
ユーザがＰＣからストレージを利用できるようにするため，物理ディスクグループからボリュームあるいはＬＵ（Ｌｏｇｉｃａｌ Ｕｎｉｔ）と呼ばれる単位を切り出し，仮想的なディスクとしてＰＣに公開する必要がある。また，ストレージへのアクセスプロトコルとしてＳＣＳＩ（Ｓｍａｌｌ Ｃｏｍｐｕｔｅｒ Ｓｙｓｔｅｍ Ｉｎｔｅｒｆａｃｅ）あるいはトランスポート層にＴＣＰ／ＩＰを利用するｉＳＣＳＩなどがある。 
ネットブート管理サーバ２２０は，ストレージネットワーク２１０に接続され，ＰＣ１８０がネットワークブートする際に，ＰＣのブートを制御するサーバであり，ＤＨＣＰ(Ｄｙｎａｍｉｃ Ｈｏｓｔ Ｃｏｎｆｉｇｕｒａｔｉｏｎ Ｐｒｏｔｏｃｏｌ)，ＴＦＴＰ（Ｔｒｉｖｉａｌ Ｆｉｌｅ Ｔｒａｎｓｆｅｒ Ｐｒｏｔｏｃｏｌ）などの機能を有する。
【００３０】
ストレージ管理モジュール２３０は，ストレージ１９０を管理する装置であり，ストレージ１９０内のボリューム再配置の制御やストレージ１９０の稼動情報の採取機能をＰＣ管理サーバ１００に提供する。
【００３１】
本実施例の実施の態様として，ストレージ１９０及びストレージ管理モジュール２３０を一つの筐体に配置したストレージシステムを想定する。ＰＣからＬＡＮ（Ｌｏｃａｌ Ａｒｅａ Ｎｅｔｗｏｒｋ）やＳＡＮ（Ｓｔｏｒａｇｅ Ａｒｅａ Ｎｅｔｗｏｒｋ）を介してストレージシステムに接続する。また，ストレージシステムは，記憶装置を有するＮＡＳ（Ｎｅｔｗｏｒｋ Ａｔｔａｃｈｅｄ Ｓｔｏｒａｇｅ）で実装することもできる。
【００３２】
ＰＣ管理サーバ１００は，ポリシールール１１０を評価することによりユーザを「動的割り当てユーザ」あるいは「固定割り当てユーザ」のいずれかに分類するルール評価部１０２，ＰＣ１８０内のキャッシュを制御するキャッシュ制御部１０３，ストレージ内のボリュームの再配置を制御するボリューム再配置部１０４，ユーザの要求に応じて適切なＰＣ１８０をユーザに割り当てるＰＣ割り当て部１０６および，ＰＣ１８０やストレージ管理モジュール２３０にアクセスすることによりページフォルトの発生回数やＩ／Ｏ発生数などのＩ／Ｏ性能情報を採取しＩ／Ｏ性能情報履歴ＤＢ１５０に格納するＩ／Ｏ性能履歴管理部１０５からなる。ＰＣ割り当て部１０６は，現時点でのＰＣの割り当て状況をＰＣ管理テーブル１３０に格納し，ユーザ毎のＰＣ利用履歴情報をＤＢ２４０に格納する。ルール評価部１０２によるユーザ分類結果は，ユーザ分類テーブル１４０に格納する。これらテーブルはＰＣ管理サーバ１００の記憶装置に格納されている。
【００３３】
ユーザ管理サーバ１２０は，ユーザの名前，年齢，職位などユーザに関するプロファイル情報を保持するサーバであり，一般に，ＬＤＡＰ（Ｌｉｇｈｔ Ｗｅｉｇｈｔ Ｄｉｒｅｃｔｏｒｙ Ａｃｃｅｓｓ Ｐｒｏｔｏｃｏｌ）やＲＤＢＭＳ（Ｒｅｌａｔｉｏｎａｌ Ｄａｔａｂａｓｅ Ｍａｎａｇｅｍｅｎｔ Ｓｙｓｔｅｍ）などを利用して，前記ユーザプロファイル情報を管理する。
【００３４】
ＰＣ１８０は，ユーザ数分用意する必要はなく，想定される同時ユーザ数分用意すればよい。したがって，ユーザが利用するＰＣ１８０とユーザの対応関係は，事前に決まっているのではない。ユーザはシンクライアントを介してＰＣ利用要求をＰＣ割り当て部１０６に行う。ＰＣ割り当て部１０６は利用可能なＰＣ１８０の選択とＰＣの起動を実行し，シンクライアントに選択した前記ＰＣのアクセス情報（ＩＰアドレスなど）を返却する。
【００３５】
ユーザがシンクライアントを介してＰＣの利用を停止（あるいはＰＣシャットダウン）する場合，割り当て部１０６が前記ＰＣを未使用ＰＣとしてテーブル１４０を更新するとともに，前記ユーザの利用情報をＰＣ利用履歴ＤＢ２４０上に追加/更新する。
【００３６】
図２は，ＰＣ１８０の内部構造を示している。ＣＰＵ(中央演算処理ユニット)１８４，メモリ１８２，ＲＯＭ１８３，ストレージ１９０のＩ／Ｏのキャッシュとして用いるローカル不揮発性記憶装置１８１，フロントネットワーク２００と接続されるネットワークアダプタ１８５，ストレージネットワーク２１０と接続されるストレージアダプタ１８６，入出力インターフェース（マウス，キーボード，ディスプレイなど）１８７からなり，それらは内部バス２０８により相互に接続されている。ＰＣ１８０はシンクライアント１６０によりリモート操作されることから，入出力インターフェースを有していなくてもよい。
【００３７】
図２は，一般的なＰＣの内部構造を単純化したものを例示的に示したものであり，本発明は図２の構成のＰＣに限定されるものではない。また，近年注目されているブレードサーバをＰＣ１８０として利用してもよい。ブレードサーバを利用する場合，ＰＣ１８０はサーバブレード１枚に対応する。また，ＰＣ１８０をバーチャルマシンモニタ上のバーチャルマシンに対応付けることもできる。
【００３８】
ＰＣ１８０は，メモリ１８２に格納されたリモートサーバプログラムをＣＰＵ１８４で実行することにより，シンクライアント１６０から送られてきた入力情報（キーボードおよびマウスの操作内容）を受信し処理すると共に，処理結果を示す画像情報（ディスプレイに表示するデスクトップ画面）を，シンクライアント１６０送信する。リモートサーバプログラムとして，例えばＡＴ＆Ｔケンブリッジ研究所で開発されたＶＮＣ（Virtual Network Computing）のサーバプログラムがある。
【００３９】
シンクライアント１６０の内部構造も図２の機器構成と同様，ＣＰＵ，メモリ，ＲＯＭ，ネットワークアダプタ，入出力インタフェース，記憶装置等からなる。なお，シンクライアントはＰＣと通信し，ＰＣの画面情報を表示し，入出力機能を有すればよいことから，ハードディスクを有していないのが通常であるが，本実施例ではこれに限られたものではなく，ハードディスクを有する通常のパーソナルコンピュータをシンクライアントとして使用してもよい。
【００４０】
シンクライアントは，メモリに格納されたリモートコントロールプログラムをＣＰＵで実行することにより，ＰＣをシンクライアントからリモート操作する。リモートコントロールプログラムとして例えばＶＮＣ（Virtual Network Computing）のクライアントプログラムがある。ＣＰＵはリモートコントロールプログラムを実行することで，シンクライアント１６０に接続されたマウスやキーボードからの入力を受付け，ＰＣ１８０に送信する。また，ＰＣ１８０から送信される処理結果を示す画像情報（ディスプレイに表示するデスクトップ画面）を受信し，シンクライアントの表示装置に出力する。
【００４１】
ストレージ１９０及びストレージ管理モジュール２３０からなるストレージシステムの内部構造も図２の機器構成と同様，ＣＰＵ，メモリ，ＲＯＭ，ネットワークアダプタ，入出力インタフェース，記憶装置等からなり，ストレージ管理モジュール２３０によりストレージ１９０を管理する。
【００４２】
本実施例では，ローカル不揮発性記憶装置１８１をストレージ１９０のＩ／Ｏキャッシュの格納エリアとして利用する。
【００４３】
ユーザ毎に準備するボリュームの形態としては，(a)ＯＳイメージ，アプリケーションおよび業務データを一つのボリュームで提供する形態（本実施例で記載している形態），(b)ＯＳイメージ，アプリケーションおよび業務データをそれぞれ別ボリュームとする形態，(c)ＯＳイメージ，アプリケーションを一つのボリュームとし業務データを別ボリュームとする形態，(d)ＯＳスワップエリアを別ボリュームとする形態などに本発明を適用することができる。ＯＳイメージと共通アプリケーションを別ボリュームとする場合，複数のユーザに対する共通ブートボリュームとして利用することもできる。
【００４４】
ローカル不揮発性記憶装置１８１でキャッシュするデータの範囲に関して，前記ボリュームの利用形態に即して，全ボリュームをフルキャッシュする場合や，特定ボリュームをフルキャッシュする場合や，キャッシュ容量が十分でない場合はボリュームを部分的にキャッシュ（部分キャッシュ）する場合など，キャッシュ範囲にはいくつかあるが，本発明は前記キャッシュ範囲のいずれにも適用できる。また，ローカル不揮発性記憶装置１８１としてハードディスクなど記憶容量が十分大きく，ブートイメージを格納するボリューム１９１をフルキャッシュできる場合，ローカル不揮発性記憶装置１８１をＰＣ１８０のブートメディアとして利用することも可能である。
【００４５】
ローカル不揮発性記憶装置１８１がボリュームのフルキャッシュとなっていれば，ＯＳは記憶装置１８１に対して通常のローカル記憶装置としてアクセスすればよい。一方，ローカル不揮発性記憶装置１８１が部分キャッシュとなっている場合，キャッシュミスを処理する必要がある。その場合，キャッシュ制御する処理をファイルシステムフィルタードライバなどのレイヤで実装すればよい。前記キャッシュ制御が必要な場合は，基本的には固定割り当てユーザが利用するＰＣのみに前記キャッシュ制御を適用する。
【００４６】
動的割り当てユーザが利用するＰＣに利用する場合，本キャッシュを使用せず，ディスクレスコンピュータと同じようにコンピュータを使用し，ＯＳイメージ等をストレージ１９０からネットワークブートするが，その際ローカル不揮発性記憶装置１８１をストレージ１９０のＩ／Ｏのキャッシュとして用いることは可能である。この場合にはＰＣの利用を終了する際，キャッシュデータをボリューム１９１に書き戻すと共に，ローカル不揮発性記憶装置１８１が保持するデータをパージする。なお，パージとはファイルや情報などを消去，削除することである。
【００４７】
図３は，ＰＣプール２５０およびＰＣ１８０の情報を管理する，ＰＣ管理テーブル１３０のテーブル構造を示す。前記テーブルは，パーソナルコンピューティング環境内でプールされるＰＣ１８０の識別子であるＰＣ識別子３０１，ＩＰアドレス３０６，割り当て状態３０２，割り当てユーザ３０３，使用状態３０４および使用ユーザ３０５からなる。
【００４８】
割り当て状態３０２には，「動的」，「動的割り当て中」，「固定」および「固定割り当て中」の４種類あり，通常「動的」が設定され，割り当てユーザ３０３には「未割り当て」が設定されている。ルール評価部１０２のルール評価により，特定ユーザを固定割り当てユーザに分類し特定ＰＣと対応付けることになるが，この対応付け処理の結果，前記ＰＣの割り当て状態３０２は「固定」が設定され，前記ＰＣの割り当てユーザ３０３には前記ユーザの識別子が設定される。ルール評価部１０２の処理フローは図６を用いて後述する。
【００４９】
使用状態３０４は，ＰＣ識別子３０１で特定されるＰＣ１８０の現時点での使用状態を示す。使用状態３０４の値としては「使用中」あるいは「未使用」のいずれかである。使用中の場合は，実際に使用しているユーザ識別子を使用ユーザ３０５に設定する。使用中であるとは，ユーザがＰＣ割り当て部１０６に利用要求を出してＰＣの利用を開始してから，シャットダウンなどによりＰＣの利用を停止するまでの状態を指す。
【００５０】
図４は，ユーザ分類テーブル１４０のテーブル構造を示す。前記テーブルは，ユーザ識別子４０１，ボリューム情報４０２，割り当て状態４０３および固定割り当てＰＣ４０４からなる。
【００５１】
ボリューム情報４０２には，ユーザ識別子４０１が示すユーザのＯＳイメージ，アプリケーションおよび業務データを格納するストレージのボリューム情報であって，ＰＣから前記ボリュームにアクセスするのに必要十分な情報を格納する。
【００５２】
割り当て状態４０３には，「動的」，「動的割り当て中」，「固定」および「固定割り当て中」の４種類あり，通常「動的」が設定され，固定割り当てＰＣ４０４には「未割り当て」が設定される。ルール評価部１０２のルール評価により，特定ユーザを固定割り当てユーザに分類し特定ＰＣと対応付けることとなるが，この対応付け処理の結果，前記ユーザの割り当て状態４０３には「固定」が設定され，前記ユーザの固定割り当てＰＣ４０４には前記ＰＣの識別子が設定されることになる。割り当て状態４０３が「動的」の場合，常に，固定割り当てＰＣ４０４に「未割り当て」が設定される。
【００５３】
図５は，ルール評価部１０２が評価するポリシールール１１０の例である。ポリシールールは，いわゆるＩＦ−ＴＨＥＮ形式のルールであり，ＩＦ部に条件，ＴＨＥＮ部に条件が成立した場合の分類を指定する。条件にはユーザの利用特性や，ユーザのプロファイルに関する条件式を記述し，ルール評価部１０２がユーザ管理サーバ１２０，ＰＣ利用履歴ＤＢ２４０およびＩ／Ｏ性能履歴ＤＢ１５０のデータを参照することにより条件式を評価する。ＴＨＥＮ部の分類には「動的」「固定」のいずれかを指定する。
【００５４】
ルール１（５０１）は，ユーザ情報管理サーバ１２０が管理するユーザのプロファイル情報に基づくルールの例である。ルール１では，ユーザの職種が「営業」であるならば，外出していることが多く，ＰＣの利用頻度は低いはずであり，動的割り当てとするというルールである。ユーザのプロファイル情報は，ユーザ情報管理サーバ１２０の記憶装置に格納されている。プロファイル情報は，職種の他，職位，在勤場所，業務内容，ユーザＩＤ，ユーザ名，など多様な属性が考えられる。
【００５５】
ルール１（５０１）のようにユーザのプロファイル情報に応じて，「動的」または「固定」を決定する場合，例えばＩＦ部の条件に職務を指定すれば，ユーザの職務が事務職から営業職に変わった場合などに，ユーザのプロファイル情報を変更するだけで，「動的」「固定」の変更が行われることになり，ＰＣの割り当てをユーザのプロファイル情報に一元化することができる。大企業など膨大な数の従業員がいる場合に，ユーザのプロファイル情報として，その企業の使用している従業員の管理情報等を用いることができる。
【００５６】
このように動的、固定の設定を、ユーザのプロファイル情報と連動させることにより、ユーザの職位が変更した場合などでも自動的に動的、固定が変更され、管理者の負担が軽減される。また、プロファイル情報を適切に管理しておけば、動的、静的の管理は自動的に行われるため、管理情報をプロファイル情報のみに一元化することで、セキュリティレベルが向上する。
【００５７】
なお，シンクライアントを使用しているユーザのプロファイル情報の特定は，ユーザがシンクライアントを使用する際に入力された，ユーザＩＤやユーザ名，パスワード等からユーザ情報管理サーバ１２０の記憶装置に格納されているプロファイル情報を特定する。
【００５８】
また，シンクライアント１６０に接続された外部装置（ＵＳＢメモリ，ハードトークンキー，ＩＣカードなどの可搬媒体）に格納されているユーザＩＤやユーザ名，パスワード，電子証明書等を取り出し，ＰＣ管理サーバ１００に送信することで，ユーザ情報管理サーバ１２０の記憶装置に格納されているプロファイル情報を特定することもできる。
【００５９】
ルール２（５０２）は，ユーザ毎のＰＣ利用履歴ＤＢ２４０およびユーザ毎のＩ／Ｏ性能履歴ＤＢ１５０に基づくルールの例である。利用頻度が高くかつＩ／Ｏ発行回数の多いユーザには，固定ＰＣを割り当て，Ｉ／Ｏの最適化を図る例である。
【００６０】
ＰＣ利用履歴ＤＢ２４０は，週当たりのＰＣ利用回数，週当たりのＰＣ利用時間，１日あたりのＰＣ利用平均時間，利用頻度が高い時間帯，ＰＣを起動する時間帯，利用頻度の高いＡＰ情報などのユーザ毎のＰＣ利用情報を格納する。ＰＣ利用情報は，ＰＣ管理サーバ１００が，ユーザに割り当てたＰＣを監視しＰＣ利用状態の履歴情報を記憶装置に蓄え，必要に応じて集計する。
【００６１】
週当たりのＰＣ利用回数が多い者，週当たりのＰＣ利用時間が長い者，１日あたりのＰＣ利用平均時間が長い者，などＰＣの利用頻度の高い者は固定割り当てユーザとした方がよいが，これに限られるものではない。
【００６２】
Ｉ／Ｏ性能履歴ＤＢ１５０は，個別ユーザ毎の，Ｉ／Ｏ発行回数，ページフォルトの回数，データ転送量，ＣＰＵ使用率，メモリ使用量，ストレージシステムのディスクの使用率，コンピュータの不揮発性記憶装置の使用率，などの性能情報，負荷情報等を格納する。これらの情報の取得は，ＰＣ管理サーバ１００のＩ／Ｏ性能履歴管理部１０５が，ユーザに割り当てたＰＣやストレージ管理モジュール２３０をモニタリングしＰＣ上でのＩ／Ｏ状況やストレージ上でのボリュームアクセス頻度などの情報を蓄え集計する。
【００６３】
単位時間あたりの，Ｉ／Ｏ発行回数，ページフォルトの回数，データ転送量，平均ＣＰＵ使用率，平均メモリ使用量，ストレージシステムのディスクの使用率，コンピュータの不揮発性記憶装置の使用率，などは格納された性能情報，負荷情報等から算定する。
【００６４】
単位時間当たりのＩ／Ｏ発行回数，ページフォルトの回数，データ転送量，平均ＣＰＵ使用率，平均メモリ使用量などコンピュータにかける負荷が高いユーザは，固定割り当てユーザとした方がよいが，これに限られるものではない。
【００６５】
性能情報，負荷情報をＩＦ部の条件に指定することで，性能情報や負荷情報が所定の閾値を超えた場合に，「動的」「固定」の変更を行うことができる。
【００６６】
ルール３（５０３）は，ＰＣ管理テーブル１３０およびＰＣ利用頻度に基づくルールの例である。固定ＰＣの割り当て比率に関して基準値を設け，ＰＣ利用頻度が高いユーザに固定ＰＣを割り当てるルールである（かならず固定数のＰＣを固定割り当てとして利用するというもの）。総ＰＣ数*基準値で計算される，固定割り当てとするＰＣ台数と，ユーザのＰＣ利用頻度の順位を比較することにより，固定ＰＣ割り当てを決定する。ＰＣ利用頻度の順位は，ＰＣ利用履歴ＤＢ２４０を参照し，ＰＣ利用回数およびＰＣ利用平均時間，週当たりのＰＣ利用回数，週当たりのＰＣ利用時間，１日あたりのＰＣ利用平均時間，利用頻度が高い時間帯，ＰＣを起動する時間帯，利用頻度の高いＡＰ情報などのユーザ毎のＰＣ利用情報などから，所定の項目でソートし，ユーザを順位付けする，総ＰＣ数はＰＣ管理テーブル１３０を参照しレコード数をカウントする。基準値として６０％を指定すれば，総ＰＣ数の６０％のＰＣが固定割り当てに使用される。
【００６７】
ルールが複数ある場合，条件部が成立するルールが複数ありＴＨＥＮの指定内容が異なる可能性がある。そのような場合は，ルール毎に優先順位を設ける，あるいはルールを順番に評価し最初に条件が成立したルールを優先させるなど，競合解消に関するメタルールが様々考えられる。本発明は，競合解消に関するメタルールに依存せず，多様な競合解消に関するメタルールにおいて適用可能である。
【００６８】
また，すべてのルールのＩＦ部が成立しない場合，ＩＦ部が必ず成立するデフォルトルールが適用されることとする。前記デフォルトルールのＴＨＥＮは「動的」が指定されているものとする。
【００６９】
図５に示したルール以外にも有効なルールが考えられる。たとえば，すべてのＰＣが固定割り当てとなることを防ぐため，動的割り当て用に利用できるＰＣの最低個数を指定したルールや，動的割り当てユーザが同一時刻に一斉にＰＣをネットワークブートすることを防ぐため，各ユーザのＰＣブート時刻をＰＣ利用履歴ＤＢ２４０に保存し，同一時刻にＰＣをブートする動的割り当てユーザが多数存在する場合は，動的割り当てユーザの一部を固定割り当てとするルールなども考えられる。
【００７０】
動的割り当てのＰＣでは，ストレージとＰＣ間の負荷が高い場合に，Ｉ／Ｏアクセスの信頼性の低下する可能性がある。また，ＯＳイメージ等をネットワークブートするためシステムの起動にある程度時間がかかる。一方固定割り当てのＰＣではこのような問題は発生しない。
【００７１】
図５において，例えば使用頻度の高いユーザに対しては固定割り当てＰＣを使用させ，使用頻度の低いユーザに対しては動的割り当てＰＣを使用させるというルールを適用すれば，使用頻度の高いユーザに対しては，Ｉ／Ｏアクセスの低下の信頼性の低下がない固定割当ＰＣを使用させ，使用頻度の低いユーザに対してはＩ／Ｏアクセスの信頼性の低下する可能性がある動的割当ＰＣを使用させることができ，ユーザの利用特性に応じて信頼性を考慮した割り当てをすることができる。
【００７２】
また，例えば長時間ＰＣを使用するユーザに対しては動的割り当てＰＣを使用させ，一回のＰＣ使用時間が短いが，たびたび使用するユーザに対しては固定割り当てＰＣを使用させるというルールを適用すれば，一回のＰＣ使用時間が短いがたびたび使用するユーザに対しては起動の早い固定ＰＣを使用させ，ユーザの起動待ちによるストレスを軽減することができる。
【００７３】
図６は，ユーザのＰＣ固定/動的割り当て制御の処理フローを示す。本フローは，ＰＣ管理サーバ１００が起動されたタイミングで開始され，ＰＣ管理サーバ１００が終了するまで処理が継続する。ただし，ユーザがＰＣの利用要求を出したタイミングで，要求を出したユーザに対してステップ６０３からステップ６０６の処理を実行してもよい。
【００７４】
まず，ストレージ管理モジュール２３０にアクセスし，現在のストレージの稼動情報を取得し事前に指定された基準以下（つまり，ストレージの負荷が低い）であるか判断する(ステップ６０１)。ステップ６０１は，現在時刻が指定された時刻になっているか（たとえば，夜間などユーザが少ない時刻を指定するなど），あるいは，現在ＰＣを使用しているユーザ数が基準未満であるのか，等を適用することもできる。ステップ６０１の結果が偽であれば，一定期間の間隔を置いて，再度，ステップ６０１を実行する。ステップ６０１の結果が真となる場合，ステップ６０２以降を実行する。
【００７５】
ユーザ分類テーブル１４０上のすべてのユーザに対して（判断６０２），ポリシールールを評価する（ステップ６０３）。
【００７６】
ステップ６０３の評価結果と現在処理中のユーザの割り当て状態４０３から，動的割り当てから固定割り当てとなる場合，固定割り当てから動的割り当てとなる場合，固定割り当てから固定割り当て（つまり割り当て状態の変化がなく，固定割り当てが継続する場合），動的割り当てから動的割り当て（つまり割り当て状態の変化がなく，動的割り当てが継続する場合）の４つの状態変化がある。
【００７７】
動的割り当てから固定割り当てとなる場合，動的割り当てから固定割り当てへの変更処理６０４を実行する。
【００７８】
固定割り当てから動的割り当てとなる場合，固定割り当てから動的割り当てへの変更処理６０５を実行する。
【００７９】
固定割り当てから固定割り当てとなる場合，キャッシュの同期処理６０６を実行する。
【００８０】
動的割り当てから動的割り当てとなる場合，ステップ６０２に処理制御を戻す。
【００８１】
ステップ６０４，６０５，６０６の処理中に，ストレージの負荷が上昇し，判断６０１と同様にストレージの負荷が基準値を超えたと判断した場合，ステップ６０４，６０５，６０６を中断し，判断６０１の基準を満たした際，再開するという制御を行ってもよい。
【００８２】
図６のユーザのＰＣ固定/動的割り当て制御の処理を繰り返すことで，図５のルール２のように性能情報や負荷情報をＩＦ部の条件に指定していれば，性能情報や負荷情報が所定の閾値を超えた場合に，「動的」「固定」の変更を行うことができる。
【００８３】
図６のユーザのＰＣ固定/動的割り当て制御の処理フローは，１時間毎など一定時間間隔で実行してもよいし，ユーザがＰＣ利用要求を発行した場合や，ユーザがＰＣの使用をやめた場合等，所定のイベントが発生した際に実行してもよい。また毎日０時に実行するなど所定の日時で実行してもよい。
【００８４】
図７は，動的割り当てから固定割り当てへの変更処理６０４の処理フローを示す。ＰＣプール２５０から空き状態となっているＰＣ１８０を１つ選択し，現在処理中のユーザに対して，割り当て状態４０３を「固定割り当て中」に，固定割り当てＰＣ４０４を前記ＰＣの識別子を設定する。前記選択されたＰＣ１８０に対して，ＰＣ管理テーブル１３０の割り当て状態３０２を「固定割り当て中」に，割り当てユーザ３０３に前記ユーザの識別子を設定する(ステップ７０１)。
【００８５】
ここで，ＰＣ１８０が空き状態であるとは，割り当て状態３０２が「動的」であり，使用状態３０４が「未使用」となっているものである。割り当て状態３０２が「固定」であっても，使用状態３０４が「未使用」となっている場合，つまり，該ＰＣ１８０は特定ユーザ向けに固定ＰＣとして予約されているが，現在使用していない場合であり，ＰＣ１８０を空き状態と見なすこともできる。ただし，その場合，動的割り当てユーザが固定割り当てユーザに割り当てられたＰＣを使用していてその後固定割り当てユーザがＰＣを使用する状況が発生した場合，固定割り当てユーザに空きＰＣを別途割り当てネットワークブートするか，あるいは，前記動的割り当てユーザが使用しているＰＣを未使用とするかの２つの対処方法がある。
【００８６】
ステップ７０３でＰＣ内のローカル不揮発性装置１８１のデータにアクセスする必要があるため，前記ＰＣが起動中でなければ，ＰＣを起動する（ステップ７０２）。
【００８７】
キャッシュ制御部１０３を利用して，前記ＰＣに内蔵する不揮発性記憶装置１８１に，ストレージ上のユーザボリュームのデータをロードする（ステップ７０３）。
【００８８】
現在処理中のユーザの割り当て状態４０３を「固定」に設定する。前記ＰＣのＰＣ管理テーブル１３０の割り当て状態３０２を「固定」に設定する(ステップ７０４)。
【００８９】
ステップ７０２で前記ＰＣを起動した場合，前記ＰＣを停止する（ステップ７０５）。
【００９０】
図８は，固定割り当てから動的割り当てへの変更処理６０５の処理フローを示す。現在処理中のユーザの割り当て状態４０３を「動的割り当て中」に設定する。前記ＰＣのＰＣ管理テーブル１３０の割り当て状態３０２を「動的割り当て中」に設定する(ステップ８０１)。
【００９１】
現在処理中のユーザの固定割り当てＰＣ４０４で指定されるＰＣ１８０が起動中でなければ，ステップ８０３でＰＣ内のローカル不揮発性装置１８１のデータにアクセスする必要があるため，前記ＰＣを起動する（ステップ８０２）。
【００９２】
キャッシュ制御部１０３を利用して，前記ＰＣに内蔵する不揮発性記憶装置１８１に格納されているキャッシュデータを，ストレージ１９０上のユーザボリュームに書き戻す（ステップ８０３）。
【００９３】
現在処理中のユーザの割り当て状態４０３を「動的」に，固定割り当てＰＣ４０４を「未割り当て」に設定する。前記ＰＣのＰＣ管理テーブル１３０の割り当て状態３０２を「動的」に，割り当てユーザ３０３を「未割り当て」に設定する(ステップ８０４)。
ステップ８０２で前記ＰＣを起動した場合，前記ＰＣを停止する（ステップ８０５）。
【００９４】
図９は，キャッシュ同期処理６０６の処理フローを示す。現在処理中のユーザの固定割り当てＰＣ４０４で指定されるＰＣ１８０が起動中でなければ，ステップ９０２でＰＣ内のローカル不揮発性装置１８１のデータにアクセスする必要があるため，ＰＣを起動する（ステップ８０１）。
【００９５】
現在処理中のユーザに対して，キャッシュ制御部１０３を利用して，前記ＰＣのキャッシュデータを，現在処理中のユーザのボリューム１９１に書き戻す（ステップ９０２）。現在処理中のユーザに固定割り当てされているＰＣ１８０およびボリューム１９１に関しては，ユーザ分類テーブル１４０の固定割り当てＰＣ４０４およびボリューム情報４０２を参照すればよい。
【００９６】
ステップ９０１でＰＣを起動した場合，前記ＰＣを停止する（ステップ８０５）。
【００９７】
図１０は，ユーザがパーソナルコンピューティング環境を利用する場合の処理フローを示す。ユーザはシンクライアント１６０を起動し，ＰＣ管理サーバ１００のＰＣ割り当て部１０６にＰＣ１８０の利用を要求する（ステップ１００１）。
【００９８】
ＰＣ管理サーバ１００は，ユーザの使用するシンクライアント１６０から送信される利用要求に含まれるユーザＩＤ等のユーザ識別子に対応するユーザ分類テーブル１４０の割り当て状態４０３を参照し，「固定」かどうか判断する（判断１００２）。
【００９９】
判断１００２で真となった場合，ユーザ分類テーブル１４０の固定割り当てＰＣ４０４で指定されるＰＣ１８０を，現在処理中のユーザが使用するＰＣとし，ＰＣ管理テーブル１３０の使用状態３０４に「使用中」を，使用ユーザ３０５に現在処理中のユーザのユーザ識別子を設定する（ステップ１００３）。
【０１００】
ＰＣ割り当て部１０６は，前記ＰＣ１８０のブートメディアを前記ＰＣ１８０内の不揮発性記憶装置１８１とする起動命令をＰＣ１８０に送信する。起動命令を受けたＰＣ１８０は，指定された不揮発性記憶装置１８１からブートイメージを取得し，ＣＰＵで実行することにより前記ＰＣをブートする（ステップ１００４）。ただし，ローカル不揮発性記憶装置１８１の容量が限定的であり，ブートイメージをフルキャッシュできない場合は，不揮発性記憶装置１８１からではなくユーザボリューム１９１からブートする。ローカル不揮発性記憶装置１８１にデータがキャッシュされているため，ユーザボリューム１９１からのブートと比べ高速に処理される。
【０１０１】
判断１００２で偽となった場合，ＰＣプール２５０から空きＰＣを１つ選択し，選択したＰＣを現在処理中のユーザが使用するＰＣとし，ＰＣ管理テーブル１３０の使用状態３０４に「使用中」を，使用ユーザ３０５に現在処理中のユーザのユーザ識別子を設定する（ステップ１００５）。空きＰＣの考え方は，先に説明したとおりである。ＰＣ割り当て部１０６は，前記ＰＣ１８０のブートメディアを現在処理中のユーザのボリューム１９１（ユーザ分類テーブル１４０のボリューム情報４０２で指定されるボリューム）とし，ＰＣ１８０のブートボリュームやブートボリュームのアドレス情報などのネットブートに必要な情報をネットブート管理サーバ２２０から取得し，該ネットブートに必要な情報をＰＣ１８０の起動命令と共に，ＰＣ１８０に送信する。起動命令を受けたＰＣ１８０は，指定されたストレージシステム１９０内の記憶装置１９１からブートイメージを取得し，ＣＰＵで実行することにより前記ＰＣをブートする（ステップ１００６）。
【０１０２】
ＰＣ割り当て部１０６は利用可能なＰＣ１８０の選択とＰＣの起動を実行し，起動したことをＰＣ１８０からの通知等で確認したのち，起動した前記ＰＣ１８０のアクセス情報（ＩＰアドレスなど）を，利用要求を送信してきたシンクライアント１６０返却する。
【０１０３】
シンクライアント１６０は，指定されたＩＰアドレスに向けて処理要求を送信し，ＰＣ１８０をリモート制御する。
【０１０４】
本実施例では，ＰＣはＯＳイメージ，アプリケーション及び業務データを一つのボリュームとして管理し，このボリュームからブートするものであるが，これに限られることなく，動的割り当てにおいても，例えばＯＳイメージやアプリケーションのデフォルトイメージはＰＣ内の不揮発記憶装置１８１に記憶しておき，このデフォルトイメージとの差分情報についてのみ，ストレージシステムの記憶装置１９１に記憶しておき，記憶装置１９１から差分情報を読み出し，自ＰＣ内のデフォルトイメージと合わせたのち，ブートすることも可能である。
【０１０５】
この場合の差分情報は記憶装置のスナップショットとしてストレージシステムの記憶装置１９１に記憶しておくことができる。
【０１０６】
ステップ１００４あるいはステップ１００６のいずれかで，ブートに失敗したことを検知した場合，空きＰＣから新たにＰＣを選択して，再度，ユーザボリュームからブートする。
【０１０７】
ネットブート管理サーバ２２０と連携したＰＣ１８０のブートフローの詳細は，ＰＸＥ（Ｐｒｅｂｏｏｔ Ｅｘｅｃｕｔｉｏｎ Ｅｎｖｒｉｏｎｍｅｎｔ）を想定する。ネットブート管理サーバ２２０は，ＰＣ管理サーバ１００と連携することにより，適切なブートローダー，ボリューム情報およびＰＣのＩＰアドレスなどのネットワーク設定情報をＰＣ１８０に引き渡す。ただし，本発明はＰＸＥに限定されない。
【０１０８】
シンクライアント１６０，ＰＣ１８０，ＰＣ管理サーバ１００，ストレージシステムの間の情報の送受信は，それぞれメモリ上に格納された送受信プログラムをそれぞれの有するＣＰＵで実行することにより実現され，ネットワークアダプタを介して情報の送受信がなされる。
【０１０９】
図１１は，ユーザのＰＣ割り当て状態４０３に基づき，ボリューム再配置部１０４が実行する，ストレージ内のボリューム配置を平準化する処理フローである。図１２は，図１１で利用するデータ構造を示す。
【０１１０】
まず，ボリューム配置平準化の考え方について説明する。固定ＰＣ割り当てユーザはＰＣ内のローカル不揮発性記憶装置１８１をキャッシュとして有効利用するため，動的割り当てユーザと比較してストレージへのＩ／Ｏ回数は非常に少ない。動的割り当てユーザのボリュームと固定割り当てユーザのボリュームの比率が，物理ディスクグループ間で偏りがある場合，性能上問題となる。前記比率に偏りがある場合，固定割り当てユーザの比率が高い物理ディスクグループではアイドル状態となっている時間帯が長くなるのに対し，動的割り当てユーザの比率が高い物理ディスクグループでは高負荷となりレスポンスが低下する。物理ディスクグループ間での前記比率を平準化することができれば，アイドル状態の物理ディスクグループを有効活用することができ，ストレージＩ／Ｏの全体性能(レスポンスなど)が向上する。
【０１１１】
また，朝の始業時に一斉にＰＣを立ち上げる様な場合には，動的割り当てユーザの使用するＰＣから一斉にストレージへのＩ／Ｏが発生することになるが，このような場合にも，動的割り当てＰＣの使用するボリュームをストレージの中で平準化しておけば，起動時にかかる負荷を分散することができる。
【０１１２】
平準化とは，物理ディスクグループの中で，固定割り当てユーザのボリュームと動的割り当てユーザのボリュームとが分散するように配置することをいう。固定割り当てユーザのボリュームと動的割り当てユーザのボリュームとは必ずしも同数になるわけではなく，ここでいう「分散するように配置」とは，物理ディスクグループの中でこれらのボリュームが適度にばらつくように配置することをいう。一般的には，再配置前より再配置後の方が，固定割り当てユーザの複数のボリュームと動的割り当てユーザの複数のボリュームとが，物理ディスクのなかで散らばっていることになる。
【０１１３】
図１２を用いて平準化処理で利用するデータ構造を説明する。図１２が示すテーブルは，ストレージ内のボリューム配置情報を格納する。本テーブルをボリューム配置テーブルと呼ぶ。ボリューム配置テーブルは，物理ディスクグループの識別子１２０１，ボリューム情報１２０２，割り当て状態１２０３からなる。図１２の最初レコードは，ＬＵ１は，物理ディスクグループ＃１に属し，ＬＵ１に対応するユーザは動的割り当てユーザであることを示す。
【０１１４】
図１１を用いて処理フローを説明する。本フローは定期的に開始され，まず，ストレージ管理モジュール２３０に問い合わせることにより，ストレージ内の物理ディスクグループと物理ディスクグループ内のボリューム情報を取得する。次に，ユーザ分類テーブル１４０からすべてのボリューム情報と割り当て状態を取得し，現時点でのボリューム配置テーブルを生成する。これを現時点ボリューム配置テーブル１１０５と呼ぶ（ステップ１１０１）。
【０１１５】
次に，ボリューム配置テーブル１１０５を参照して，物理ディスクグループ１２０１とボリューム情報１２０２の再配置の組み合わせをすべて列挙し，事前に設けた評価関数を用いて，各組み合わせに対する評価値を計算する。すべての組み合わせの中から，評価値の結果が最良となる組み合わせを選択し，選択された再配置の組み合わせに対応するボリューム配置テーブルを生成する（ステップ１１０２）。この生成されたボリューム配置テーブルを最適化ボリューム配置テーブル１１０６と呼ぶ。最適な再配置組み合わせを生成するアルゴリズムは，典型的な組み合わせ問題のアルゴリズムであり，既存のアルゴリズムを適用すればよい。
【０１１６】
評価関数の評価項目としては，動的割り当てユーザのボリュームと固定割り当てユーザのボリュームの比率の偏差（各ディスクグループでの前記比率にバラツキを最小化するものが評価値として良い），マイグレーション回数（回数を最小化するものが評価値として良い），マイグレーションで発生するデータ転送量（転送量が最小化するものが評価値として良い）などが考えられる。動的割り当てに分類されたユーザ間でも，ストレージアクセス頻度が異なることから，Ｉ／Ｏ性能履歴ＤＢ１５０を参照し，ストレージアクセス頻度に関して，動的割り当てに分類されたユーザをヘビーユーザとライトユーザに分割し，ヘビーユーザのボリュームとライトユーザのボリュームの比率の偏差（各ディスクグループでの前記比率にバラツキを最小化するものが評価値として良い）も評価項目に入れてもよい。
【０１１７】
次に，ストレージ管理モジュール２３０にアクセスし，現在のストレージ１９０の稼動情報をアクセスし事前に指定された基準以下であるか判断する(ステップ１１０３)。ステップ１１０３の結果が偽であれば，一定期間の間隔を置いて再度，ステップ１１０３を実行する。
【０１１８】
ステップ１１０３の結果が真であれば，各ボリュームに対して，現時点ボリューム配置テーブル１１０５と最適化ボリューム配置テーブル１１０６を比較し，物理ディスクグループに変更がある場合，現時点ボリューム配置テーブル１１０５の物理ディスクグループから最適化ボリューム配置テーブル１１０６の物理ディスクグループへボリュームをマイグレーションする命令をストレージ管理モジュール２３０に発行する。
【０１１９】
マイグレーションの指示を受けたストレージ管理モジュール２３０は，ストレージ１９０内の，固定割り当てユーザのボリュームと動的割り当てユーザのボリュームとが分散するように再配置する。
【０１２０】
シンクライアントを利用することで，外出先や，出張先，企業内の様々な場所において，コンピュータにアクセスすることが可能となる。このような環境において，ブレードサーバなど複数のコンピュータからなるシステムから適切なコンピュータを割り当てる状況では，コンピュータの割り当てを柔軟に変更することが求められる。
【０１２１】
すべてのコンピュータを固定割り当てとすると，使用できるコンピュータ資源が限られ，例えば１００台のコンピュータでは，１００人のユーザしか使用できない。一方コンピュータを動的割り当てとすると，１００台のコンピュータに対して，１００人以上のユーザが使用することが可能になるが，動的割り当てでは不便な面もある。例えば，動的割り当てでは，毎回不揮発性記憶装置をパージしなければならないことから，ユーザはコンピュータをカスタマイズしにくく，変更したユーザ環境を保存しにくいという，ユーザが自由にコンピュータをできない一定の制限がかかってしまう。また，すべてのコンピュータを動的割り当てとすると，起動時のストレージシステムへのＩ／Ｏ負荷が増加してしまう。
【０１２２】
このように，すべてのコンピュータを動的割り当て，固定割り当てとするのではなく，それぞれを自由に使い分けたいというニーズがある。
【０１２３】
これに対し，本実施例では，動的割り当て，固定割り当ての振り分けをユーザの利用環境や，プロファイル情報，コンピュータ利用状況などに基づき，所定のルールを満たすユーザに対しては動的割り当てまたは固定割り当てとすることで，柔軟にユーザの利用状況の変化に応じてコンピュータの割り当てが可能となる。
【０１２４】
また、ユーザの状況が変わるたびに管理者がコンピュータの割り当て方法を変更していたのでは，管理者の負担が増加するが，本実施例では，ルールに基づき自動的に割り当て方法を変更することが可能となるため，管理者の負担軽減になると共に，客観的，合理的にコンピュータの割り当てを行うことができる。
【０１２５】
また，本実施例のように動的割り当て，静的割当が混合する環境において，これに接続されたストレージのＩ／Ｏ負荷，ディスク負荷などを均等化することでシステム全体のパフォーマンスをあげることが可能となる。
【０１２６】
上述した実施形態は，本発明の趣旨を逸脱しない範囲で適宜変更や組み合わせ可能である。
【図面の簡単な説明】
【０１２７】
【図１】本発明を備える例示的なコンピュータシステムの概略を示す構成図である。
【図２】本発明で用いる典型的なコンピュータの概略を示す構成図である。
【図３】ＰＣ管理テーブルのテーブル構造を示す。
【図４】ユーザ分類テーブルのテーブル構造を示す。
【図５】ポリシールールの例を示す。
【図６】ポリシールールの評価実行の処理フローを示す。
【図７】ユーザの割り当て状態が動的割り当てから固定割り当てとなる場合の処理フローである。
【図８】ユーザの割り当て状態が固定割り当てから動的割り当てとなる場合の処理フローである。
【図９】キャッシュとストレージの同期処理の処理フローである。
【図１０】ユーザがＰＣ利用要求時の処理フローである。
【図１１】ユーザ利用特性に応じてボリュームマイグレーションする機能である。
【図１２】ボリュームマイグレーション処理で利用するデータ構造を示す。
【符号の説明】
【０１２８】
１００ ＰＣ管理サーバ
１０２ ルール評価部
１０３ キャッシュ制御部
１０４ ボリューム再配置部
１０５ I/O性能履歴管理部
１０６ ＰＣ割り当て部
１１０ ポリシールール
１２０ ユーザ情報管理サーバ
１３０ ＰＣ管理テーブル
１４０ ユーザ分類テーブル
１５０ I/O性能履歴管理部
１６０ シンクライアント
１８０ パーソナルコンピュータ（ＰＣ）
１８１ ローカル不揮発性記憶装置
１９０ ストレージ
１９１ ボリューム
２００ フロントネットワーク
２１０ ストレージネットワーク
２２０ ネットブート管理サーバ
２３０ ストレージ管理モジュール
２４０ ＰＣ利用履歴ＤＢ
２５０ ＰＣプール
【図１】
2007164304.tif 000003
【図２】
2007164304.tif 000004
【図３】
2007164304.tif 000005
【図４】
2007164304.tif 000006
【図５】
2007164304.tif 000007
【図６】
2007164304.tif 000008
【図７】
2007164304.tif 000009
【図８】
2007164304.tif 000010
【図９】
2007164304.tif 000011
【図１０】
2007164304.tif 000012
【図１１】
2007164304.tif 000013
【図１２】
2007164304.tif 000014