(57)【特許請求の範囲】
【請求項１】
シンクライアントのユーザ毎の属性と、前記ユーザが情報処理装置提供の仮想デスクトップ環境で利用したいアプリケーションのリストと、このリストに含まれるアプリケーションの実行時に前記情報処理装置にかかる処理負荷についてのデータを格納した第１データベースと、
アプリケーション毎のアプリケーション仮想化の可否についてのデータを格納した第２データベースと、
仮想デスクトップ環境を提供する情報処理装置の処理能力についてのデータを格納した第３データベースと、を格納する記憶装置と、他装置とデータ通信する通信装置と、
前記第１データベースから前記ユーザ属性とリストをメモリに読み出して、同属性ユーザの群における各アプリケーションの利用を希望するユーザ数をカウントし、ここでカウントした利用希望ユーザ数が所定数以上であるアプリケーションを特定し、ここで特定したアプリケーションを前記情報処理装置にデプロイメントするためのマスタを生成し、このマスタを業務マスタとして前記ユーザ群と対応付けて記憶装置に格納する、業務マスタ生成手段と、
前記利用希望ユーザ数が所定数以下であったアプリケーションについて、前記第２データベースからアプリケーション仮想化の可否データをメモリに読取り、アプリケーション仮想化が可能である仮想化可能アプリケーションを特定し、アプリケーションのストリーミング配信を前記シンクライアントまたは情報処理装置に行う配信サーバの配信先リストに通信装置を介してアクセスし、前記仮想化可能アプリケーションの利用希望者のデータを前記配信先リストに設定する、個別設定手段と、
を備えるマスタ管理システム。
【請求項２】
前記マスタ管理システムが、
前記ユーザが利用中のコンピュータと通信して、前記コンピュータの所定プログラムが収集した、前記コンピュータのユーザの属性と、前記コンピュータで利用中のアプリケーションのリストと、このリストに含まれるアプリケーションの実行時に前記コンピュータにかかる処理負荷についてのデータを取得し、前記第１データベースにおいて、前記コンピュータのユーザの属性を前記シンクライアントのユーザの属性とし、前記コンピュータで利用中のアプリケーションのリストを前記仮想デスクトップ環境で利用したいアプリケーションのリストとし、前記コンピュータにかかる処理負荷を前記情報処理装置にかかる処理負荷としてデータ格納を行う、データ取得手段を備えることを特徴とする請求項１に記載のマスタ管理システム。
【請求項３】
前記マスタ管理システムにおいて、
前記第２データベースが、アプリケーション毎のアプリケーション仮想化の可否と実行に必要なハードウェア構成と対応ＯＳとについてのデータを格納したものであり、
前記第３データベースが、仮想デスクトップ環境を提供する情報処理装置の処理能力として、情報処理装置のハードウェア構成についてのデータを格納したものであり、
前記業務マスタ生成手段が、前記第１データベースから前記ユーザ属性とリストをメモリに読み出し、前記第２データベースからアプリケーション毎の対応オペレーティングシステムのデータをメモリに読み出し、同属性ユーザの群における対応オペレーティングシステム同一の各アプリケーションの利用を希望するユーザ数をカウントし、ここでカウントした利用希望ユーザ数が所定数以上であるアプリケーションを特定し、ここで特定したアプリケーションを前記情報処理装置にデプロイメントするためのマスタを生成し、このマスタを業務マスタとして前記ユーザ群と対応付けて記憶装置に格納するものであり、
記憶装置から前記業務マスタをメモリに読み出し、この業務マスタがデプロイメントする各アプリケーションの実行に必要なハードウェア構成のデータを、前記第２データベースより読み出し、ここで読み出したハードウェア構成のデータのうち、前記各アプリケーションの全てを跨って最高性能であるハードウェア構成のデータを特定し、ここで特定したハードウェア構成を備える情報処理装置を前記第３データベースから特定し、ここで特定した情報処理装置に前記対応オペレーティングシステムをデプロイメントするためのマスタを生成し、このマスタをハード依存マスタとして前記ユーザ群と対応付けて記憶装置に格納する、ハード依存マスタ生成手段を備えることを特徴とする請求項２に記載のマスタ管理システム。
【請求項４】
前記データ取得手段が、前記ユーザの前記コンピュータへのログイン時間帯についてのデータを取得し、前記第１データベースに格納するものであり、
前記業務マスタ生成手段が、前記第１データベースから前記ユーザ属性と前記リストと前記ログイン時間帯のデータとをメモリに読み出して、ログイン時間帯別に同属性ユーザの群における各アプリケーションの利用を希望するユーザ数をカウントし、ここでカウントした利用希望ユーザ数が所定数以上であるアプリケーションを特定し、ここで特定したアプリケーションを前記情報処理装置にデプロイメントするためのマスタを生成し、このマスタを業務マスタとして前記ユーザ群およびログイン時間帯と対応付けて記憶装置に格納するものであることを特徴とする請求項２に記載のマスタ管理システム。
【請求項５】
前記業務マスタ生成手段が、前記第１データベースから前記ユーザ属性と前記リストと前記ログイン時間帯のデータとをメモリに読み出して、ログイン時間帯別に同属性ユーザの群における各アプリケーションの利用を希望するユーザ数をカウントし、ここでカウントした利用希望ユーザ数が所定数以上であるアプリケーションを特定する処理を実行し、異なるログイン時間帯に関して同属性ユーザの群れについて同じアプリケーションが特定できたログイン時間帯を特定し、前記異なるログイン時間帯の間で共通のマスタを生成し、このマスタを業務マスタとして前記ユーザ群およびログイン時間帯と対応付けて記憶装置に格納するものである、ことを特徴とする請求項４に記載のマスタ管理システム。
【請求項６】
前記マスタ管理システムにおいて、
前記第２データベースが、アプリケーション毎のアプリケーション仮想化の可否と、アプリケーションのライセンス残数とについてのデータを格納するものであり、
シンクライアントのユーザからアプリケーションのライセンス追加または削除の申請を受付ける入力画面データを記憶装置から読み出して、前記ユーザのシンクライアントに送信し、前記入力画面を介して前記シンクライアントから、ライセンス追加または削除の対象となるアプリケーションの情報とライセンスの追加数または削除数の情報とを受け付けて、該当アプリケーションのライセンス残数を前記追加数または削除数の情報に基づき増減処理する、ライセンス増減手段を備えることを特徴とする請求項１に記載のマスタ管理システム。
【請求項７】
前記第３データベースが、仮想デスクトップ環境を提供する情報処理装置の処理能力のデータと、前記情報処理装置のネットワーク上でのアドレスを格納したものであり、
前記記憶装置より所定ユーザについての業務マスタとハード依存マスタをメモリに読み出し、前記第３データベースより前記所定ユーザに割り当てられている情報処理装置のアドレスをメモリに読み出し、ここで読み出した前記ハード依存マスタを前記所定ユーザに割り当てられている情報処理装置のアドレスに宛てて転送して前記対応オペレーティングシステムをデプロイメントする処理と、前記メモリの前記業務マスタを前記所定ユーザに割り当てられている情報処理装置のアドレスに宛てて転送して前記アプリケーションをデプロイメントする処理とを実行する、デプロイ実行手段を備えることを特徴とする請求項３に記載のマスタ管理システム。
【請求項８】
前記第３データベースが、仮想デスクトップ環境を提供する情報処理装置の処理能力のデータと、前記シンクライアントまたは情報処理装置のネットワーク上でのアドレスを格納したものであり、
前記配信サーバに対し、前記所定ユーザの属性と当該所定ユーザに割り当てられている情報処理装置またはシンクライアントのネットワーク上のアドレスのデータとを含む、前記仮想化可能アプリケーションの前記情報処理装置またはシンクライアントへのストリーミング配信の要求を通信装置を介して送信する、個別配信実行手段を備えることを特徴とする請求項７に記載のマスタ管理システム。
【請求項９】
前記マスタ管理システムにおいて、
前記第２データベースが、アプリケーション毎のアプリケーション仮想化の可否と、アプリケーションについてユーザがなしたカスタマイズ状況とについてのデータを格納するものであり、
前記第３データベースが、仮想デスクトップ環境を提供する情報処理装置の処理能力のデータと、前記情報処理装置の代替装置のネットワーク上でのアドレスを格納するものであり、
仮想デスクトップ環境の代替要求を入力インターフェイスで受けて、前記代替要求が含む所定ユーザの属性データに基づいて、前記記憶装置から前記ユーザ属性に対応付けられた前記業務マスタをメモリに読み出して、ここで読み出した業務マスタを前記所定ユーザに割り当てられている代替装置に転送して前記アプリケーションをデプロイメントする処理と、デプロイメントしたアプリケーションについて前記第２データベースからカスタマイズ状況データを読み出して、当該カスタマイズ状況データに合致するカスタマイズ処理をアプリケーションに実行する、代替アプリ設定手段と、
前記所定ユーザに割り当てられている代替装置のアドレスを前記第３データベースよりメモリに読み出して、前記配信サーバに対し、前記所定ユーザの属性と当該所定ユーザに割り当てられている代替装置のネットワーク上のアドレスのデータとを含む、前記仮想化可能アプリケーションの前記代替装置へのストリーミング配信の要求を通信装置を介して送信する、代替個別配信実行手段と、
前記所定ユーザのシンクライアントに、前記代替装置のアドレスを通知する通知手段と、
を備えることを特徴とする請求項１に記載のマスタ管理システム。
【請求項１０】
コンピュータシステムが、
シンクライアントのユーザ毎の属性と、前記ユーザが情報処理装置提供の仮想デスクトップ環境で利用したいアプリケーションのリストと、このリストに含まれるアプリケーションの実行時に前記情報処理装置にかかる処理負荷についてのデータを格納した第１データベースと、
アプリケーション毎のアプリケーション仮想化の可否についてのデータを格納した第２データベースと、
仮想デスクトップ環境を提供する情報処理装置の処理能力についてのデータを格納した第３データベースと、を格納する記憶装置と、他装置とデータ通信する通信装置とを備えて、
前記第１データベースから前記ユーザ属性とリストをメモリに読み出して、同属性ユーザの群における各アプリケーションの利用を希望するユーザ数をカウントし、ここでカウントした利用希望ユーザ数が所定数以上であるアプリケーションを特定し、ここで特定したアプリケーションを前記情報処理装置にデプロイメントするためのマスタを生成し、このマスタを業務マスタとして前記ユーザ群と対応付けて記憶装置に格納する手順と、
前記利用希望ユーザ数が所定数以下であったアプリケーションについて、前記第２データベースからアプリケーション仮想化の可否データをメモリに読取り、アプリケーション仮想化が可能である仮想化可能アプリケーションを特定し、アプリケーションのストリーミング配信を前記情報処理装置またはシンクライアントに行う配信サーバの配信先リストにアクセスし、前記仮想化可能アプリケーションの利用希望者のデータを前記配信先リストに設定する手順と、
を実行することを特徴とするマスタ管理方法。
【請求項１１】
シンクライアントのユーザ毎の属性と、前記ユーザが情報処理装置提供の仮想デスクトップ環境で利用したいアプリケーションのリストと、このリストに含まれるアプリケーションの実行時に前記情報処理装置にかかる処理負荷についてのデータを格納した第１データベースと、
アプリケーション毎のアプリケーション仮想化の可否についてのデータを格納した第２データベースと、
仮想デスクトップ環境を提供する情報処理装置の処理能力についてのデータを格納した第３データベースと、を格納する記憶装置と、他装置とデータ通信する通信装置を備えるコンピュータシステムに、
前記第１データベースから前記ユーザ属性とリストをメモリに読み出して、同属性ユーザの群における各アプリケーションの利用を希望するユーザ数をカウントし、ここでカウントした利用希望ユーザ数が所定数以上であるアプリケーションを特定し、ここで特定したアプリケーションを前記情報処理装置にデプロイメントするためのマスタを生成し、このマスタを業務マスタとして前記ユーザ群と対応付けて記憶装置に格納するステップと、
前記利用希望ユーザ数が所定数以下であったアプリケーションについて、前記第２データベースからアプリケーション仮想化の可否データをメモリに読取り、アプリケーション仮想化が可能である仮想化可能アプリケーションを特定し、アプリケーションのストリーミング配信を前記情報処理装置またはシンクライアントに行う配信サーバの配信先リストにアクセスし、前記仮想化可能アプリケーションの利用希望者のデータを前記配信先リストに設定するステップと、
を実行させるマスタ管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マスタ管理システム、マスタ管理方法、およびマスタ管理プログラムに関するものであり、具体的には、シンクライアントシステムにおいて、ユーザの望むアプリケーション利用環境の確保と、アプリケーションのデプロイ用マスタの効率的管理とを両立する技術に関する。
【背景技術】
【０００２】
企業等における情報漏洩対策や内部統制の必要性から、クライアントコンピュータには、ハードディスク装置などを省いて、表示や入力など最低限の機能のみを持った専用のコンピュータ（シンクライアント）を採用し、アプリケーションソフトなどの資源はサーバ（ブレードサーバ）で一元管理するといった、シンクライアントの考え方が登場している。
【０００３】
こうしたシンクライアントシステムに関連する技術として、例えば、ラック・ブレードコンピュータアセンブリのコンピューティング資源を自動的に割り当てることを課題とした、ラック・ブレードコンピュータアセンブリのコンピューティング資源を自動的に割り当てる方法であって、ラック・ブレードコンピュータアセンブリのラックに配置されたアプリケーションサーバプールからサーバパフォーマンス情報を受け取ることと、前記アプリケーションサーバプールに対する少なくとも１つのＱｏＳ属性を確定することと、前記ＱｏＳ属性が標準より下であると確定することと、前記アプリケーションサーバプールによって使用されるためにフリーサーバプールからブレードサーバを割り当てることとを含む方法（特許文献１参照）などが提案されている。
【特許文献１】特開２００４−１１０７９１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、仮想デスクトップをシンクライアントに提供するセンタ側（ブレードサーバ等の管理側）において、シンクライアントのユーザらが業務で必要なアプリケーションを、オフラインで管理された台帳やユーザからの随時の要求、などに基づいて把握・管理し、仮想デスクトップで利用可能に環境設定していた。また、異なるハードウェア（仕様の異なるブレードサーバ等）がシンクライアントシステム中に混在する場合には、業務に必要なアプリケーションをハードウェアの型毎に設定したマスタ（例：ＯＳと前記アプリケーションらがインストールされたコンピュータのイメージファイル）を管理し、このマスタに基づいて該当ユーザ用のブレードサーバに前記アプリケーションをデプロイメント（deployment）していた。
【０００５】
しかしながら、必要なアプリケーションやハードウェア性能はユーザや業務毎に異なる場合が多いから、全ユーザの要求を満足すべく、各ユーザの望むアプリケーションを全て仮想デスクトップ環境で提供するとすれば、前記マスタの数はユーザ数だけ必要となる。ユーザ数が膨大となる大規模システムにおいてこのようなマスタ管理を行うとすれば、管理コストや手間の増大、そしてマスタ格納用のディスクスペースの増大も大きな問題となる。
【０００６】
一方で、マスタ数を低減するために業務毎、ハードウェア毎、職位毎などユーザを跨って固定的なマスタのみを利用するとすれば、あるユーザにとっては使用したいアプリケーションのうち、一部しか仮想デスクトップ環境で提供されない状況も生まれ、業務遂行の障害が生じる懸念もある。更には、あるユーザ群にとっては利用が必要でないアプリケーションについてまでライセンスを用意し、このアプリケーション利用に必要なスペックのハードウェアを導入しなければならないなど、コスト面での無駄が生じやすい。
【０００７】
また、ブレードサーバに障害が発生し代替環境をユーザ側に提供する状況に際し、上記のような従来技術であれば、例えば、該当ユーザが属する業務グループ等に応じた固定的なマスタに従ってアプリケーションのデプロイメントが実行されていた。この場合、前記ユーザが必要とするアプリケーションが代替環境では提供されないことも起こりうるため、このユーザにとっては業務遂行上の足かせや不満が生じうるのである。
【０００８】
そこで本発明は上記課題を鑑みてなされたものであり、シンクライアントシステムにおいて、ユーザの望むアプリケーション利用環境の確保と、アプリケーションのデプロイ用マスタの効率的管理とを両立する技術の提供を主たる目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決する本発明のマスタ管理システムは、シンクライアントのユーザ毎の属性と、前記ユーザが情報処理装置提供の仮想デスクトップ環境で利用したいアプリケーションのリストと、このリストに含まれるアプリケーションの実行時に前記情報処理装置にかかる処理負荷についてのデータを格納した第１データベースと、アプリケーション毎のアプリケーション仮想化の可否についてのデータを格納した第２データベースと、仮想デスクトップ環境を提供する情報処理装置の処理能力についてのデータを格納した第３データベースと、を格納する記憶装置と、他装置とデータ通信する通信装置と、前記第１データベースから前記ユーザ属性とリストをメモリに読み出して、同属性ユーザの群における各アプリケーションの利用を希望するユーザ数をカウントし、ここでカウントした利用希望ユーザ数が所定数以上であるアプリケーションを特定し、ここで特定したアプリケーションを前記情報処理装置にデプロイメントするためのマスタを生成し、このマスタを業務マスタとして前記ユーザ群と対応付けて記憶装置に格納する、業務マスタ生成手段と、前記利用希望ユーザ数が所定数以下であったアプリケーションについて、前記第２データベースからアプリケーション仮想化の可否データをメモリに読取り、アプリケーション仮想化が可能である仮想化可能アプリケーションを特定し、アプリケーションのストリーミング配信を前記情報処理装置またはシンクライアントに行う配信サーバの配信先リストに通信装置を介してアクセスし、前記仮想化可能アプリケーションの利用希望者のデータを前記配信先リストに設定する、個別設定手段と、を備える。
【００１０】
また、前記マスタ管理システムが、前記ユーザが利用中のコンピュータと通信して、前記コンピュータの所定プログラムが収集した、前記コンピュータのユーザの属性と、前記コンピュータで利用中のアプリケーションのリストと、このリストに含まれるアプリケーションの実行時に前記コンピュータにかかる処理負荷についてのデータを取得し、前記第１データベースにおいて、前記コンピュータのユーザの属性を前記シンクライアントのユーザの属性とし、前記コンピュータで利用中のアプリケーションのリストを前記仮想デスクトップ環境で利用したいアプリケーションのリストとし、前記コンピュータにかかる処理負荷を前記情報処理装置にかかる処理負荷としてデータ格納を行う、データ取得手段を備えるとしてもよい。
【００１１】
また、前記マスタ管理システムにおいて、前記第２データベースが、アプリケーション毎のアプリケーション仮想化の可否と実行に必要なハードウェア構成と対応ＯＳとについてのデータを格納したものであり、前記第３データベースが、仮想デスクトップ環境を提供する情報処理装置の処理能力として、情報処理装置のハードウェア構成についてのデータを格納したものであり、前記業務マスタ生成手段が、前記第１データベースから前記ユーザ属性とリストをメモリに読み出し、前記第２データベースからアプリケーション毎の対応オペレーティングシステムのデータをメモリに読み出し、同属性ユーザの群における対応オペレーティングシステム同一の各アプリケーションの利用を希望するユーザ数をカウントし、ここでカウントした利用希望ユーザ数が所定数以上であるアプリケーションを特定し、ここで特定したアプリケーションを前記情報処理装置にデプロイメントするためのマスタを生成し、このマスタを業務マスタとして前記ユーザ群と対応付けて記憶装置に格納するものであり、記憶装置から前記業務マスタをメモリに読み出し、この業務マスタがデプロイメントする各アプリケーションの実行に必要なハードウェア構成のデータを、前記第２データベースより読み出し、ここで読み出したハードウェア構成のデータのうち、前記各アプリケーションの全てを跨って最高性能であるハードウェア構成のデータを特定し、ここで特定したハードウェア構成を備える情報処理装置を前記第３データベースから特定し、ここで特定した情報処理装置に前記対応オペレーティングシステムをデプロイメントするためのマスタを生成し、このマスタをハード依存マスタとして前記ユーザ群と対応付けて記憶装置に格納する、ハード依存マスタ生成手段を備えるとしてもよい。
【００１２】
また、前記マスタ管理システムにおいて、前記データ取得手段が、前記ユーザの前記コンピュータへのログイン時間帯についてのデータを取得し、前記第１データベースに格納するものであり、前記業務マスタ生成手段が、前記第１データベースから前記ユーザ属性と前記リストと前記ログイン時間帯のデータとをメモリに読み出して、ログイン時間帯別に同属性ユーザの群における各アプリケーションの利用を希望するユーザ数をカウントし、ここでカウントした利用希望ユーザ数が所定数以上であるアプリケーションを特定し、ここで特定したアプリケーションを前記情報処理装置にデプロイメントするためのマスタを生成し、このマスタを業務マスタとして前記ユーザ群およびログイン時間帯と対応付けて記憶装置に格納するものであるとしてもよい。
【００１３】
また、前記マスタ管理システムにおいて、前記業務マスタ生成手段が、前記第１データベースから前記ユーザ属性と前記リストと前記ログイン時間帯のデータとをメモリに読み出して、ログイン時間帯別に同属性ユーザの群における各アプリケーションの利用を希望するユーザ数をカウントし、ここでカウントした利用希望ユーザ数が所定数以上であるアプリケーションを特定する処理を実行し、異なるログイン時間帯に関して同属性ユーザの群れについて同じアプリケーションが特定できたログイン時間帯を特定し、前記異なるログイン時間帯の間で共通のマスタを生成し、このマスタを業務マスタとして前記ユーザ群およびログイン時間帯と対応付けて記憶装置に格納するものである、としてもよい。
【００１４】
また、前記マスタ管理システムにおいて、前記第２データベースが、アプリケーション毎のアプリケーション仮想化の可否と、アプリケーションのライセンス残数とについてのデータを格納するものであり、シンクライアントのユーザからアプリケーションのライセンス追加または削除の申請を受付ける入力画面データを記憶装置から読み出して、前記ユーザのシンクライアントに送信し、前記入力画面を介して前記シンクライアントから、ライセンス追加または削除の対象となるアプリケーションの情報とライセンスの追加数または削除数の情報とを受け付けて、該当アプリケーションのライセンス残数を前記追加数または削除数の情報に基づき増減処理する、ライセンス増減手段を備えるとしてもよい。
【００１５】
また、前記マスタ管理システムにおいて、前記第３データベースが、仮想デスクトップ環境を提供する情報処理装置の処理能力のデータと、前記情報処理装置のネットワーク上でのアドレスを格納したものであり、前記記憶装置より所定ユーザについての業務マスタとハード依存マスタをメモリに読み出し、前記第３データベースより前記所定ユーザに割り当てられている情報処理装置のアドレスをメモリに読み出し、ここで読み出した前記ハード依存マスタを前記所定ユーザに割り当てられている情報処理装置のアドレスに宛てて転送して前記対応オペレーティングシステムをデプロイメントする処理と、前記メモリの前記業務マスタを前記所定ユーザに割り当てられている情報処理装置のアドレスに宛てて転送して前記アプリケーションをデプロイメントする処理とを実行する、デプロイ実行手段を備えるとしてもよい。
【００１６】
また、前記マスタ管理システムにおいて、前記第３データベースが、仮想デスクトップ環境を提供する情報処理装置の処理能力のデータと、前記シンクライアントまたは情報処理装置のネットワーク上でのアドレスを格納したものであり、前記配信サーバに対し、前記所定ユーザの属性と当該所定ユーザに割り当てられている情報処理装置またはシンクライアントのネットワーク上のアドレスのデータとを含む、前記仮想化可能アプリケーションの前記情報処理装置またはシンクライアントへのストリーミング配信の要求を通信装置を介して送信する、個別配信実行手段を備えるとしてもよい。
【００１７】
また、前記マスタ管理システムにおいて、前記第２データベースが、アプリケーション毎のアプリケーション仮想化の可否と、アプリケーションについてユーザがなしたカスタマイズ状況とについてのデータを格納するものであり、前記第３データベースが、仮想デスクトップ環境を提供する情報処理装置の処理能力のデータと、前記情報処理装置の代替装置のネットワーク上でのアドレスを格納するものであり、仮想デスクトップ環境の代替要求を入力インターフェイスで受けて、前記代替要求が含む所定ユーザの属性データに基づいて、前記記憶装置から前記ユーザ属性に対応付けられた前記業務マスタをメモリに読み出して、ここで読み出した業務マスタを前記所定ユーザに割り当てられている代替装置に転送して前記アプリケーションをデプロイメントする処理と、デプロイメントしたアプリケーションについて前記第２データベースからカスタマイズ状況データを読み出して、当該カスタマイズ状況データに合致するカスタマイズ処理をアプリケーションに実行する、代替アプリ設定手段と、前記所定ユーザに割り当てられている代替装置のアドレスを前記第３データベースよりメモリに読み出して、前記配信サーバに対し、前記所定ユーザの属性と当該所定ユーザに割り当てられている代替装置のネットワーク上のアドレスのデータとを含む、前記仮想化可能アプリケーションの前記代替装置へのストリーミング配信の要求を通信装置を介して送信する、代替個別配信実行手段と、前記所定ユーザのシンクライアントに、前記代替装置のアドレスを通知する通知手段と、を備えるとしてもよい。
【００１８】
また、本発明のマスタ管理方法は、コンピュータシステムが、シンクライアントのユーザ毎の属性と、前記ユーザが情報処理装置提供の仮想デスクトップ環境で利用したいアプリケーションのリストと、このリストに含まれるアプリケーションの実行時に前記情報処理装置にかかる処理負荷についてのデータを格納した第１データベースと、アプリケーション毎のアプリケーション仮想化の可否についてのデータを格納した第２データベースと、仮想デスクトップ環境を提供する情報処理装置の処理能力についてのデータを格納した第３データベースと、を格納する記憶装置と、他装置とデータ通信する通信装置とを備えて、前記第１データベースから前記ユーザ属性とリストをメモリに読み出して、同属性ユーザの群における各アプリケーションの利用を希望するユーザ数をカウントし、ここでカウントした利用希望ユーザ数が所定数以上であるアプリケーションを特定し、ここで特定したアプリケーションを前記情報処理装置にデプロイメントするためのマスタを生成し、このマスタを業務マスタとして前記ユーザ群と対応付けて記憶装置に格納する手順と、前記利用希望ユーザ数が所定数以下であったアプリケーションについて、前記第２データベースからアプリケーション仮想化の可否データをメモリに読取り、アプリケーション仮想化が可能である仮想化可能アプリケーションを特定し、アプリケーションのストリーミング配信を前記情報処理装置またはシンクライアントに行う配信サーバの配信先リストにアクセスし、前記仮想化可能アプリケーションの利用希望者のデータを前記配信先リストに設定する手順と、を実行することを特徴とする。
【００１９】
また、本発明のマスタ管理プログラムは、シンクライアントのユーザ毎の属性と、前記ユーザが情報処理装置提供の仮想デスクトップ環境で利用したいアプリケーションのリストと、このリストに含まれるアプリケーションの実行時に前記情報処理装置にかかる処理負荷についてのデータを格納した第１データベースと、アプリケーション毎のアプリケーション仮想化の可否についてのデータを格納した第２データベースと、仮想デスクトップ環境を提供する情報処理装置の処理能力についてのデータを格納した第３データベースと、を格納する記憶装置と、他装置とデータ通信する通信装置を備えるコンピュータシステムに、前記第１データベースから前記ユーザ属性とリストをメモリに読み出して、同属性ユーザの群における各アプリケーションの利用を希望するユーザ数をカウントし、ここでカウントした利用希望ユーザ数が所定数以上であるアプリケーションを特定し、ここで特定したアプリケーションを前記情報処理装置にデプロイメントするためのマスタを生成し、このマスタを業務マスタとして前記ユーザ群と対応付けて記憶装置に格納するステップと、前記利用希望ユーザ数が所定数以下であったアプリケーションについて、前記第２データベースからアプリケーション仮想化の可否データをメモリに読取り、アプリケーション仮想化が可能である仮想化可能アプリケーションを特定し、アプリケーションのストリーミング配信を前記情報処理装置またはシンクライアントに行う配信サーバの配信先リストにアクセスし、前記仮想化可能アプリケーションの利用希望者のデータを前記配信先リストに設定するステップと、を実行させることを特徴とする。
【００２０】
なお、上記マスタとは、例えば、前記アプリケーションがインストールされたコンピュータ（ブレードサーバなどの上記情報処理装置）のイメージファイルか、前記アプリケーションを前記コンピュータに自動インストールするキックスタートインストーラのファイルなどを想定できる。前記マスタの作成を行うプログラムの例としては、例えば、コンピュータ内のデータをバックアップしてバックアップデータ（イメージファイル）を生成する一方、他のコンピュータに前記バックアップデータを流し込んでリストアする機能を持つ既存製品などがある。
【００２１】
また、上記アプリケーションの仮想化は、いわゆるアプリケーションストリーミングを指すものであり、シンクライアントなどのユーザの端末（またはブレードサーバなどの情報処理装置）にアプリケーションをストリーミング配信し、前記ユーザ端末のキャッシュ上で前記アプリケーションを実行させる技術となる。このアプリケーションストリーミングの技術を適用するに際しては、前記ユーザ端末に、専用のソフト（例：ストリーミングクライアント）をインストールしておく。前記ユーザ端末で前記ソフトが起動すると、配信サーバで一括管理されているアプリケーションのインストールイメージがユーザ端末に取得される。このインストールイメージはユーザ端末にキャッシュできるものであり、配信サーバとユーザ端末とがオフライン状態となっても、前記ユーザ端末でアプリケーションの利用が可能である。なお、前記インストールイメージは、該当アプリケーションのインストールに必要なファイルやレジストリ設定情報などがパッケージ化されたデータである。
【００２２】
また、デプロイメントは、ネットワークアプリケーションやｗｅｂサービスなどを利用可能なように準備する処理を意味し、外部からネットワーク経由で利用されるソフトウェアや他のソフトウェアから参照されるコンポーネントなどを利用可能な状態にするものである。
【００２３】
その他、本願が開示する課題、及びその解決方法は、発明の実施の形態の欄、及び図面により明らかにされる。
【発明の効果】
【００２４】
本発明によれば、シンクライアントシステムにおいて、ユーザの望むアプリケーション利用環境の確保と、アプリケーションのデプロイ用マスタの効率的管理とを両立できる。
【発明を実施するための最良の形態】
【００２５】
−−−システム構成−−−
以下に本発明の実施形態について図面を用いて詳細に説明する。図１は、本実施形態のマスタ管理システム１００を含むシンクライアントシステム１０のネットワーク構成図である。図１に示すシンクライアントシステム１０は、ネットワーク１４０を介して互いに接続された、情報処理装置たる複数のブレードサーバ３００、前記ブレードサーバ３００を管理する管理サーバ４００、前記ブレードサーバ３００とネットワーク１４０を介して接続されるシンクライアント２００、前記シンクライアント２００（ないしブレードサーバ３００）にアプリケーションのストリーミング配信を行う配信サーバ５００、およびマスタ管理サーバ１００（マスタ管理システム）、を有するシステムである。そして、前記シンクライアント２００と前記ブレードサーバ３００との間のデータ通信は、管理サーバ４００を介してもよいし、管理サーバを介することなく、シンクライアント２００とブレードサーバ３００との間で直接処理されるとしてもよい。
【００２６】
なお、前記マスタ管理サーバ１００に、少なくとも一度は、ネットワーク１４０を介して既存ＰＣ４０が接続されることを想定できる。この既存ＰＣ４０は、シンクライアント２００へ移行する前にユーザが利用していた、例えば、ハードディスク具備のパーソナルコンピュータである。この既存ＰＣ４０においては、当該既存ＰＣ４０が備えるハードウェア構成（ＣＰＵ、メモリ、ディスプレイのサイズ・解像度等）、使用ユーザ名、インストールされているアプリケーションとその利用状況、アプリケーション利用時における処理負荷、などのデータが、当該既存ＰＣ４０に常駐している所定プログラムにより収集されている（この所定プログラムについては既存のデータ収集プログラムを利用すればよい）。この所定プログラムは、既存ＰＣ４０を介して前記マスタ管理サーバ１００のデータ取得手段と通信し、収集していた前記既存ＰＣ４０に関する情報をアップロードするのである。また、この既存ＰＣ４０に常駐する前記所定プログラムとして、既存ＰＣ４０にインストールされているアプリケーションの情報を収集するアプリ管理部４１、当該既存ＰＣ４０が備えるハードウェア構成（ＣＰＵ、メモリ、ディスプレイのサイズ・解像度等）、使用ユーザ名、インストールされているアプリケーションの利用状況（ログイン、ログオフの時刻）、アプリケーション利用時における処理負荷（ＣＰＵ負荷、メモリ使用量、ＣＰＵ負荷統計、メモリ使用量統計）の情報を収集する動作管理部４２を想定する。
【００２７】
また、前記マスタ管理サーバ１００、シンクライアント２００、ブレードサーバ３００、管理サーバ４００、および配信サーバ５００、既存ＰＣ４０らは、会社等に構築された内部ネットワークであるＬＡＮ（Local Area Network）１４５に接続されている。このＬＡＮ１４５は、ルータ１４６を介してＷＡＮ(Wide Area Network）などのネットワーク１４０に接続される。前記シンクライアント２００は、内部ネットワーク（会社等）ではなく、他企業のオフィス、出張時の宿泊先たるホテル、駅等の出先に構築された外部ネットワークに接続して利用する状況も想定できる。この場合、シンクライアント２００は、外部ネットワークであるＬＡＮ１４７に接続し、ルータ１４８を介してＷＡＮなどのネットワーク１４０に接続される。
【００２８】
なお、前記ブレードサーバ３００は、シンクライアント２００との間にＶＰＮ（Virtual Private Network）を構築し、このＶＰＮを介して、シンクライアント２００から送られてきた入力情報（入力装置の操作内容）を受信し処理すると共に、処理結果を示す映像情報（表示装置のデスクトップ画面）をシンクライアント２００に送信することとなる。ブレードサーバ３００は、通常は入出力装置をローカル接続しないで使用するサーバ装置である。
【００２９】
次に、本実施形態における前記マスタ管理サーバ１００を含むシンクライアントシステム１０を構成する各装置について各々説明する。図２は本実施形態のマスタ管理サーバ１００の構成例を示す図である。前記マスタ管理サーバ１００は、本実施形態を実現する機能を備えるべくハードディスクドライブ１０１などに格納されたプログラム１０２をＲＡＭ１０３に読み出し、演算装置たるＣＰＵ１０４により実行する。
【００３０】
また、前記マスタ管理サーバ１００は、各種ボタンなどの入力インターフェイス１０５、ディスプレイなどの出力インターフェイス１０６、ならびに、前記ブレードサーバ３００や配信サーバ５００、既存ＰＣ４０などとの間のデータ授受を担うＮＩＣ（Network Interface Card）１０７などを有している。
【００３１】
前記マスタ管理サーバ１００は、前記ＮＩＣ１０７により、前記ブレードサーバ３００らと例えばインターネットやＬＡＮなどのネットワーク１４０を介して接続し、データ授受を実行する。また、マスタ管理サーバ１００は、フラッシュＲＯＭ１０８と、ディスプレイ等に映像データを出力するためのビデオカード１３０と、上記各部１０１〜１３０を接続するバスを中継するブリッジ１０９と、電源１２０と、を有する。
【００３２】
なお、前記フラッシュＲＯＭ１０８には、ＢＩＯＳ１３５が記憶されている。ＣＰＵ１０４は、電源１２０の投入後、先ずフラッシュＲＯＭ１０８にアクセスしてＢＩＯＳ１３５を実行することにより、マスタ管理サーバ１００のシステム構成を認識する。また、ハードディスクドライブ１０１には、各機能部（手段）やテーブル類の他に、ＯＳ１１５が記憶されている。このＯＳ１１５は、ＣＰＵ１０４がマスタ管理サーバ１００の各部１０１〜１２０を統括的に制御して、後述する各手段を実行するためのプログラムである。ＣＰＵ１０４は、ＢＩＯＳ１３５に従い、ハードディスクドライブ１０１からＯＳ１１５をＲＡＭ１０３にロードして実行する。これにより、ＣＰＵ１０４は、マスタ管理サーバ１００の各部を統括的に制御する。
【００３３】
続いて、前記マスタ管理サーバ１００が、例えばプログラム１０２に基づき構成・保持する手段につき説明を行う。なお、前記マスタ管理サーバ１００は、前記第１データベースたるＰＣ環境管理データベース１２５、第２データベースたるアプリ属性管理データベース１２６、第３データベースたるデプロイ管理データベース１２７、前記マスタを格納するマスタ管理データベース１２８をハードディスクドライブ１０１に有しているものとする。勿論、これらデータベース１２５〜１２８は、マスタ管理サーバ１００が自身のハードディスクドライブ１０１に備える例のみならず、ネットワーク１４０上に配置された他のサーバ装置に分散配置されているとしてもよい。
【００３４】
こうしたマスタ管理サーバ１００は、前記第１データベースたるＰＣ環境管理データベース１２５から前記ユーザ属性とリストをＲＡＭ１０３に読み出して、同属性ユーザの群における各アプリケーションの利用を希望するユーザ数をカウントし、ここでカウントした利用希望ユーザ数が所定数以上であるアプリケーションを特定し、ここで特定したアプリケーションを前記ブレードサーバ３００にデプロイメントするためのマスタを生成し、このマスタを業務マスタとして前記ユーザ群と対応付けて記憶装置１０１のマスタ管理データベース１２８に格納する、業務マスタ生成手段１１０を備える。
【００３５】
また、前記マスタ管理サーバ１００は、前記利用希望ユーザ数が所定数以下であったアプリケーションについて、前記第２データベースたるアプリ属性管理データベース１２６からアプリケーション仮想化の可否データをＲＡＭ１０３に読取り、アプリケーション仮想化が可能である仮想化可能アプリケーションを特定し、アプリケーションのストリーミング配信を前記シンクライアント２００またはブレードサーバ３００に行う配信サーバ５００の配信先リスト５２５にＮＩＣ１０７を介してアクセスし、前記仮想化可能アプリケーションの利用希望者のデータを前記配信先リスト５２５（後述）に設定する、個別設定手段１１１を備える。
【００３６】
また、前記マスタ管理サーバ１００が、前記ユーザが利用中の既存ＰＣ４０と通信して、前記既存ＰＣ４０に常駐するアプリ管理部４１および動作管理部４２が収集した、前記既存ＰＣ４０のユーザの属性（ユーザＩＤや職位情報など）と、前記既存ＰＣ４０で利用中のアプリケーションのリストと、このリストに含まれるアプリケーションの実行時に前記既存ＰＣ４０にかかる処理負荷についてのデータを取得し、前記ＰＣ環境管理データベースにおいて、前記既存ＰＣ４０のユーザの属性を前記シンクライアント２００のユーザの属性とし、前記既存ＰＣ４０で利用中のアプリケーションのリストを前記仮想デスクトップ環境で利用したいアプリケーションのリストとし、前記既存ＰＣ４０にかかる処理負荷を前記ブレードサーバ３００にかかる処理負荷としてデータ格納を行う、データ取得手段１１２を備えるとすれば好適である。
【００３７】
なお、前記データ取得手段１１２が、前記ユーザの前記既存ＰＣ４０へのログイン時間帯についてのデータを取得し、前記ＰＣ環境管理データベース１２５に格納するものであるとしてもよい。
【００３８】
この場合、前記業務マスタ生成手段１１０が、前記ＰＣ環境管理データベース１２５から前記ユーザ属性と前記リストと前記ログイン時間帯のデータとをＲＡＭ１０３に読み出して、ログイン時間帯別に同属性ユーザの群における各アプリケーションの利用を希望するユーザ数をカウントし、ここでカウントした利用希望ユーザ数が所定数以上であるアプリケーションを特定し、ここで特定したアプリケーションを前記ブレードサーバ３００にデプロイメントするためのマスタを生成し、このマスタを業務マスタとして前記ユーザ群およびログイン時間帯と対応付けて記憶装置１０１のマスタ管理データベース１２８に格納するとしてもよい。
【００３９】
また、前記業務マスタ生成手段１１０が、前記ＰＣ環境管理データベース１２５から前記ユーザ属性と前記リストと前記ログイン時間帯のデータとをＲＡＭ１０３に読み出して、ログイン時間帯別に同属性ユーザの群における各アプリケーションの利用を希望するユーザ数をカウントし、ここでカウントした利用希望ユーザ数が所定数以上であるアプリケーションを特定する処理を実行し、異なるログイン時間帯に関して同属性ユーザの群れについて同じアプリケーションが特定できたログイン時間帯を特定し、前記異なるログイン時間帯の間で共通のマスタを生成し、このマスタを業務マスタとして前記ユーザ群およびログイン時間帯と対応付けて記憶装置１０１のマスタ管理データベース１２８に格納するとしてもよい。
【００４０】
また、前記アプリ属性管理データベース１２６が、アプリケーション毎のアプリケーション仮想化の可否と実行に必要なハードウェア構成と対応ＯＳとについてのデータを格納したものであるとしてもよい。また、前記デプロイ管理データベース１２７が、仮想デスクトップ環境を提供するブレードサーバ３００の処理能力として、ブレードサーバ３００のハードウェア構成についてのデータを格納したものであるとしてもよい。
【００４１】
この場合、前記業務マスタ生成手段１１０が、前記ＰＣ環境管理データベース１２５から前記ユーザ属性とリストをＲＡＭ１０３に読み出し、前記アプリ属性管理データベース１２６からアプリケーション毎の対応オペレーティングシステムのデータをＲＡＭ１０３に読み出し、同属性ユーザの群における対応オペレーティングシステム同一の各アプリケーションの利用を希望するユーザ数をカウントし、ここでカウントした利用希望ユーザ数が所定数以上であるアプリケーションを特定し、ここで特定したアプリケーションを前記ブレードサーバ３００にデプロイメントするためのマスタを生成し、このマスタを業務マスタとして前記ユーザ群と対応付けて記憶装置１０１のマスタ管理データベース１２８に格納するものとなる。
【００４２】
また、前記マスタ管理サーバ１００は、記憶装置１０１のマスタ管理データベース１２８から前記業務マスタをＲＡＭ１０３に読み出し、この業務マスタがデプロイメントする各アプリケーションの実行に必要なハードウェア構成のデータを、前記アプリ属性管理データベース１２６より読み出し、ここで読み出したハードウェア構成のデータのうち、前記各アプリケーションの全てを跨って最高性能であるハードウェア構成のデータを特定し、ここで特定したハードウェア構成を備えるブレードサーバ３００を前記デプロイ管理データベース１２７から特定し、ここで特定したブレードサーバ３００に前記対応オペレーティングシステムをデプロイメントするためのマスタを生成し、このマスタをハード依存マスタとして前記ユーザ群と対応付けて記憶装置１０１のマスタ管理データベース１２８に格納する、ハード依存マスタ生成手段１１３を備えるとしてもよい。
【００４３】
また、前記アプリ属性管理データベース１２６が、アプリケーション毎のアプリケーション仮想化の可否と、アプリケーションのライセンス残数とについてのデータを格納するものであるとしてもよい。この場合、前記マスタ管理サーバ１００は、シンクライアント２００のユーザからアプリケーションのライセンス追加または削除の申請を受付ける入力画面データを記憶装置１０１から読み出して、前記ユーザのシンクライアント２００に送信し、前記入力画面を介して前記シンクライアント２００から、ライセンス追加または削除の対象となるアプリケーションの情報とライセンスの追加数または削除数の情報とを受け付けて、該当アプリケーションのライセンス残数を前記追加数または削除数の情報に基づき増減処理する、ライセンス増減手段１１４を備えるとしてもよい。
【００４４】
また、前記デプロイ管理データベース１２８が、仮想デスクトップ環境を提供するブレードサーバ３００の処理能力のデータと、前記ブレードサーバ３００のネットワーク１４０上でのアドレスを格納したものであるとしてもよい。この場合、前記マスタ管理サーバ１００は、前記記憶装置１０１のマスタ管理データベース１２８より所定ユーザについての業務マスタとハード依存マスタをＲＡＭ１０３に読み出し、前記デプロイ管理データベース１２８より前記所定ユーザに割り当てられているブレードサーバ３００のアドレスをＲＡＭ１０３に読み出し、ここで読み出した前記ハード依存マスタを前記所定ユーザに割り当てられているブレードサーバ３００のアドレスに宛てて転送して前記対応オペレーティングシステムをデプロイメントする処理と、前記ＲＡＭ１０３の前記業務マスタを前記所定ユーザに割り当てられているブレードサーバ３００のアドレスに宛てて転送して前記アプリケーションをデプロイメントする処理とを実行する、デプロイ実行手段１１５を備えるとすれば好適である。
【００４５】
また、前記デプロイ管理データベース１２８が、仮想デスクトップ環境を提供するブレードサーバ３００の処理能力のデータと、前記シンクライアント２００またはブレードサーバ３００のネットワーク１４０上でのアドレスを格納したものであるとしてもよい。この場合、前記マスタ管理サーバ１００は、前記配信サーバ５００に対し、前記所定ユーザの属性と当該所定ユーザに割り当てられているブレードサーバ３００またはシンクライアント２００のネットワーク１４０上のアドレスのデータとを含む、前記仮想化可能アプリケーションの前記ブレードサーバ３００またはシンクライアント２００へのストリーミング配信の要求をＮＩＣ１０７を介して送信する、個別配信実行手段１１６を備えるとすれば好適である。
【００４６】
また、前記アプリ属性管理データベース１２６が、アプリケーション毎のアプリケーション仮想化の可否と、アプリケーションについてユーザがなしたカスタマイズ状況とについてのデータを格納するものであり、前記デプロイ管理データベース１２７が、仮想デスクトップ環境を提供するブレードサーバ３００の処理能力のデータと、前記ブレードサーバ３００の代替装置のネットワーク１４０上でのアドレスを格納するものであるとしてもよい。
【００４７】
この場合、前記マスタ管理サーバ１００は、仮想デスクトップ環境の代替要求を入力インターフェイス１０５で受けて、前記代替要求が含む所定ユーザの属性データに基づいて、前記記憶装置１０１のマスタ管理データベース１２８から前記ユーザ属性に対応付けられた前記業務マスタをＲＡＭ１０３に読み出して、ここで読み出した業務マスタを前記所定ユーザに割り当てられている代替装置に転送して前記アプリケーションをデプロイメントする処理と、デプロイメントしたアプリケーションについて前記アプリ属性管理データベース１２６からカスタマイズ状況データを読み出して、当該カスタマイズ状況データに合致するカスタマイズ処理をアプリケーションに実行する、代替アプリ設定手段１１７を備えるとしてもよい。
【００４８】
また、前記マスタ管理サーバ１００は、前記所定ユーザに割り当てられている代替装置のアドレスを前記デプロイ管理データベース１２８よりＲＡＭ１０３に読み出して、前記配信サーバ５００に対し、前記所定ユーザの属性と当該所定ユーザに割り当てられている代替装置のネットワーク１４０上のアドレスのデータとを含む、前記仮想化可能アプリケーションの前記代替装置へのストリーミング配信の要求をＮＩＣ１０７を介して送信する、代替個別配信実行手段１１８を備えるとしてもよい。この場合、前記マスタ管理サーバ１００は、前記所定ユーザのシンクライアント２００に、前記代替装置のアドレスを通知する通知手段１１９を備える。この、前記シンクライアント２００への代替装置のアドレス通知処理により、前記シンクライアント２００は代替装置のアドレスを取得し、この代替装置との間でリモートデスクトップ接続を確立できる。
【００４９】
図３は本実施形態のシンクライアント２００の構成例を示す図である。一方、前記シンクライアント２００は、管理サーバ４００の利用割当処理により、ネットワーク１４０を介してブレードサーバ３００を利用する装置であって、シンクライアントとして必要な機能を備えるべくＴＰＭ２０１に格納されたプログラム２０２をＲＡＭ２０３に読み出し、演算装置たるＣＰＵ２０４により実行する。
【００５０】
また、前記シンクライアント２００は、コンピュータ装置が一般に備えている各種キーボードやボタン類などの入力インターフェイス２０５、ディスプレイなどの出力インターフェイス２０６、ならびにブレードサーバ３００や配信サーバ５００などとの間のデータ授受を担うＮＩＣ２０７などを有している。
【００５１】
前記シンクライアント２００は、前記ＮＩＣ２０７により、前記ブレードサーバ３００、管理サーバ４００、配信サーバ５００らと例えばインターネットやＬＡＮなどのネットワーク１４０を介して接続し、データ授受を実行する。
【００５２】
こうしたシンクライアント２００として、本実施形態では、いわゆるＨＤＤレスタイプのシンクライアント端末を想定したが、これに限定されることなく、通常のＨＤＤを備える既存ＰＣをシンクライアント化した端末を想定してもよい。この一般ＰＣをシンクライアント端末化する技術については、ＯＳ内蔵のＵＳＢメモリを一般ＰＣのＵＳＢインターフェイスに接続し、ＯＳ起動、ＶＰＮ接続、管理サーバ認証といった一連のシンクライアント処理を実行するといった既存技術（参考：http://www.hitachi-ics.co.jp/product/seihin/jyourou/sec/sec.htmlなど）を採用すればよい。
【００５３】
また、前記シンクライアント２００は、各種デバイスを接続するためのＵＳＢポート２４４、フラッシュＲＯＭ２０８、キーボードおよびマウスを接続するためのＩ/Ｏコネクタ２６０、ディスプレイを接続するためのビデオカード２３０、これらの各部２０１〜２６０と接続するバスを中継するブリッジ２０９、電源２２０を有する。前記ＣＰＵ２０４は、電源２２０の投入後、先ずフラッシュＲＯＭ２０８にアクセスしてＢＩＯＳ２３５を実行することにより、シンクライアント２００のシステム構成を認識する。
【００５４】
フラッシュＲＯＭ２０８におけるＯＳ２３６は、ＣＰＵ２０４がシンクライアント２００の各部２０１〜２６０を統括的に制御して、後述する各手段に対応するプログラムを実行するためのプログラムである。ＣＰＵ２０４は、ＢＩＯＳ２３５に従い、フラッシュＲＯＭ２０８からＯＳ２３６をＲＡＭ２０３にロードして実行する。なお、本実施形態のＯＳ２３６には、組み込み型ＯＳ等のフラッシュＲＯＭ２０８に格納可能な比較的サイズの小さいものが利用される。
【００５５】
前記シンクライアント２００は、ＵＳＢポート２４４に接続された可搬型記憶媒体５０（ＵＳＢメモリ）が格納する利用者に関する証明書情報などと、入力インターフェイス２０５で入力された利用者のＩＤ、パスワードの情報とを用いた、管理サーバ４００に対するブレードサーバ割当要求処理やブレードサーバ３００との接続確立処理を実行する機能をシンクライアント端末として当然に備える。
【００５６】
また、前記シンクライアント２００は、ブレードサーバ３００との接続確立処理の実行に伴い、当該シンクライアント２００の入力インターフェイス２０５にて入力された操作情報を前記ブレードサーバ３００のアドレスに宛てて送信し、当該操作情報に対応した映像情報を前記ブレードサーバ３００から受信して、当該シンクライアント２００の出力インターフェイス２０６に表示する機能もシンクライアント端末として当然に備える。
【００５７】
こうした前記シンクライアント２００は、リモートクライアントプログラム２７０と、暗号化通信プログラム２７１とを前記ＴＰＭ２０１にて備えている。前記リモートクライアントプログラム２７０は、シンクライアント２００が遠隔からブレードサーバ３００のデスクトップにアクセスするためのプログラムであり、例えばＶＮＣのクライアント（ビューワ）プログラムである。ＣＰＵ２０４は、ＯＳ２３６に従い、ＴＰＭ２０１からリモートクライアントプログラム２７０をＲＡＭ２０３にロードして実行する。これにより、ＣＰＵ２０４は、Ｉ/Ｏコネクタ２６０の入力情報（キーボードおよびマウスの操作内容）を、例えばＶＰＮなどのネットワーク１４０を介してブレードサーバ３００に送信すると共に、ＶＰＮ等のネットワーク１４０を介して当該ブレードサーバ３００から送られてきた映像情報（ディスプレイのデスクトップ画面）をビデオカード２３０に接続されたディスプレイなどの出力インターフェイス２０６に出力する。
【００５８】
また、前記暗号化通信プログラム２７１は、リモートクライアントプログラム２７０より通知されたアドレスを持つブレードサーバ３００との間に、ＶＰＮなどのセキュアな通信ネットワークを構築するための通信プログラムである。例えば、ＩＰｓｅｃを用いた通信プログラムを想定できる。ＣＰＵ２０４は、ＯＳ２３６に従い、ＴＰＭ２０１から暗号化通信プログラム２７１をＲＡＭ２０３にロードして実行する。これにより、ＣＰＵ２０４は、ＮＩＣ２０７を介して自シンクライアント２００に割当てされたブレードサーバ３００へ通信開始要求を送信して、当該ブレードサーバ３００との間にＶＰＮ等のネットワークを構築し、このＶＰＮ等を介して当該ブレードサーバ３００と通信する。
【００５９】
また、本実施形態における前記シンクライアント２００は、機器情報２７３を前記ＴＰＭ２０１にて備えている。前記機器情報２７３は、シンクライアント２００から接続確立要求等を送信する際に、この接続確立要求等に含まれる、当該シンクライアント２００の認証用情報である。具体的には、例えば、シンクライアント２００のＩＤや型番、ＭＡＣアドレスなどが想定できる。
【００６０】
なお、前記ＴＰＭ２０１は、スマートカード（ＩＣ カード）に搭載されるセキュリティチップに似た機能を持っており、非対称鍵による演算機能、またこれら鍵を安全に保管するための耐タンパー性を有するハードウェアチップである。このＴＰＭ２０１の機能としては、例えば、ＲＳＡ（Rivest-Shamir-Adleman Scheme）秘密鍵の生成・保管、ＲＳＡ秘密鍵による演算（署名、暗号化、復号）、ＳＨＡ−１（Secure Hash Algorithm １）のハッシュ演算、プラットフォーム状態情報（ソフトウェアの計測値）の保持（PCR）、 鍵、証明書、クレデンシャルの信頼チェーンの保持、高品質な乱数生成、不揮発性メモリ、その他Opt-in やＩ／Ｏ等があげられる。
【００６１】
前記ＴＰＭ２０１は、暗号鍵（非対称鍵）の生成・保管・演算機能の他、プラットフォーム状態情報（ソフトウェアの計測値）をＴＰＭ内のレジスタＰＣＲ（Platform Configuration Registers）に安全に保管し、通知する機能を有している。ＴＰＭの最新仕様では、さらにローカリティやデリゲーション（権限委譲）等の機能が追加されている。なお、ＴＰＭ２０１は、物理的にプラットフォームのパーツ（マザーボードなど）に取り付けることとなっている。
【００６２】
ここで、上記シンクライアント２００は、前記マスタ管理サーバ１００の個別設定手段１１１が配信サーバ５００に設定した、利用希望ユーザ数が所定数以下であったアプリケーションについて、ストリーミング配信を前記配信サーバ５００から受ける端末となりうるものである。勿論、前記配信サーバ５００からのストリーミング配信の対象をシンクライアント２００ではなくブレードサーバ３００としてもよい。この場合、前記ブレードサーバ３００にストリーミング配信されたアプリケーションのデスクトップイメージが、当該ブレードサーバ３００からシンクライアント２００（当然、ブレードサーバ３００と接続確立されている）に転送される状況となる。
【００６３】
前記配信サーバ５００からアプリケーションのストリーミング配信を受ける場合の前記シンクライアント２００は、専用のソフト（例：ストリーミングクライアント２１０）をＴＰＭ２０１に備えることを想定できる。当該シンクライアント２００において起動した前記ストリーミングクライアント２１０は、配信サーバ５００で一括管理されているアプリケーションのインストールイメージを取得することとなる。このインストールイメージはシンクライアント２００にキャッシュでき、配信サーバ５００とシンクライアント２００とがオフライン状態となっても、当該シンクライアント２００で該当アプリケーションの利用が可能となる。なお、前記インストールイメージは、該当アプリケーションのインストールに必要なファイルやレジストリ設定情報などがパッケージ化されたデータである。
【００６４】
なお、前記配信サーバ５００は、ハードディスクドライブ５０１など適宜な記憶手段において、アプリケーションストリーミングを実行するためのストリーミングサーバプログラム５１０と、配信先リスト５２５と、配信対象のアプリケーションを格納したアプリケーションデータベース５２６とを記憶している。前記配信先リスト５２５は、前記仮想化可能アプリケーションの利用希望者のデータ（ユーザやシンクライアント２００、或いはブレードサーバ３００の各ＩＤまたはネットワーク１４０でのアドレス、など）が、前記マスタ管理サーバ１００の個別設定手段１１１により格納される。
【００６５】
また、配信サーバ５００は、前記マスタ管理サーバ１００の個別配信実行手段１１６よりストリーミング配信要求を受けて、この要求に応じてシンクライアント２００（またはブレードサーバ３００）に対するアプリケーションのストリーミング配信を実行することとなる。なお、前記ストリーミング配信要求には、配信対象のアプリケーションのＩＤと、配信先となるシンクライアント２００のＩＤやネットワーク上のアドレス、シンクライアントユーザのＩＤなどを含んでいる。
【００６６】
前記ストリーミング配信要求を受けた配信サーバ５００では、ストリーミングサーバプログラム５１０が起動する。そしてこのストリーミングサーバプログラム５１０が、配信対象のアプリケーションを前記配信要求が含むアプリケーションＩＤに基づいて前記アプリケーションデータベース５２６で検索して特定する。また、ここで特定したアプリケーションについて、前記ストリーミングサーバプログラム５１０は、例えば前記ユーザのシンクライアント２００のアドレスにあててストリーミング配信を実行する。このストリーミングサーバプログラム５１０は、前記シンクライアント２００が備えるストリーミングクライアント２１０と通信しながら前記ストリーミング配信を実行する。
【００６７】
図４は本実施形態の情報処理装置たるブレードサーバ３００の構成例を示す図である。一方、前記ブレードサーバ３００は、管理サーバ４００の利用割当処理により、シンクライアント２００からのネットワークを介した利用を受付ける装置であり、更には、前記マスタ管理サーバ１００によるデプロイメント処理の対象となる装置であって、必要な機能を備えるべくＨＤＤ（ハードディスクドライブ）３０１などに格納されたプログラム３０２をＲＡＭ３０３に読み出し、演算装置たるＣＰＵ３０４により実行する。
【００６８】
また、前記ブレードサーバ３００は、コンピュータ装置が一般に備えている各種キーボードやボタン類などの入力インターフェイス３０５や、ディスプレイなどの出力インターフェイス３０６を必要に応じて備え、また、マスタ管理サーバ１００やシンクライアント２００、管理サーバ４００、配信サーバ５００などとの間のデータ授受を担うＮＩＣ３０７などを有している。
【００６９】
前記ブレードサーバ３００は、前記ＮＩＣ３０７により、前記マスタ管理サーバ１００やシンクライアント２００、管理サーバ４００、配信サーバ５００らと例えばインターネットやＬＡＮなどのネットワーク１４０を介して接続し、データ授受を実行する。また、ブレードサーバ３００は、他にも、フラッシュＲＯＭ（Read Only Memory）３０８と、デスクトップの映像情報を生成するビデオカード３３０と、これらの各部３０１〜３３０とバスとを中継するブリッジ３０９と、電源３２０とを有する。
【００７０】
前記フラッシュＲＯＭ３０８には、ＢＩＯＳ（Basic Input/Output System）３３５が記憶されている。前記ＣＰＵ３０４は、電源３２０の投入後、先ずフラッシュＲＯＭ３０８にアクセスしてＢＩＯＳ３３５を実行することにより、ブレードサーバ３００のシステム構成を認識する。
【００７１】
こうしたブレードサーバ３００は、前記ＨＤＤ３０１において、リモートサーバプログラム３７０、暗号化通信プログラム３７１、ＯＳ（Operating System）３３６を記憶している。前記ＯＳ３３６は、ＣＰＵ３０４がブレードサーバ３００の各部３０１〜３３０を統括的に制御して、前記手段３１０〜３１２等の各手段を実現する各プログラムを実行するためのプログラムである。ＣＰＵ３０４は、ＢＩＯＳ３３５に従い、ＨＤＤ３０１からＯＳ３３６をＲＡＭ３０３にロードして実行する。これにより、ＣＰＵ３０４は、ブレードサーバ３００の各部３０１〜３３０を統括的に制御する。
【００７２】
また、リモートサーバプログラム３７０は、ブレードサーバ３００のデスクトップをシンクライアント２００から遠隔操作を可能とするためのプログラムであり、例えばＡＴ＆Ｔケンブリッジ研究所で開発されたＶＮＣ（Virtual Network Computing）のサーバプログラムである。ＣＰＵ３０４は、ＯＳ３３６に従い、ＨＤＤ３０１からリモートサーバプログラム３７０をＲＡＭ３０３にロードして実行する。これにより、ＣＰＵ３０４は、ＶＰＮ等のネットワーク１４０を介してシンクライアント２００から送られてきた入力情報（キーボードおよびマウスの操作内容）を受信し処理すると共に、処理結果を示す映像情報（ディスプレイのデスクトップ画面）を、ＶＰＮ等のネットワーク１４０を介してシンクライアント２００に送信する。
【００７３】
また、前記暗号化通信プログラム３７１は、シンクライアント２００との間にＶＰＮ等のネットワーク１４０を構築するための通信プログラムであり、例えばＩＰｓｅｃ（Security Architecture for the Internet Protocol）を用いた通信プログラムである。ＣＰＵ３０４は、ＯＳ３３６に従い、ＨＤＤ３０１から暗号化通信プログラム３７１をＲＡＭ３０３にロードして実行する。これにより、ＣＰＵ３０４は、ＮＩＣ３０７を介してシンクライアント２００から受付けた接続確立要求等に従い、シンクライアント２００との間にＶＰＮ等のセキュアなネットワーク１４０を構築し、このＶＰＮ等を介してシンクライアント２００と通信を行なう。
【００７４】
ここで、上記ブレードサーバ３００は、前記マスタ管理サーバ１００の個別設定手段１１１が配信サーバ５００に設定した、利用希望ユーザ数が所定数以下であったアプリケーションについて、ストリーミング配信を前記配信サーバ５００から受ける装置となりうるものである。勿論、前記配信サーバ５００からのストリーミング配信の対象をブレードサーバ３００ではなくシンクライアント２００としてもよい。
【００７５】
前記配信サーバ５００からアプリケーションのストリーミング配信を受ける前記ブレードサーバ３００は、専用のソフト（例：ストリーミングクライアント３１０）をＨＤＤ３０１に備えることを想定できる。当該ブレードサーバ３００において起動した前記ストリーミングクライアント３１０は、配信サーバ５００で一括管理されているアプリケーションのインストールイメージを取得することとなる。このインストールイメージはブレードサーバ３００にキャッシュでき、配信サーバ５００とブレードサーバ３００とがオフライン状態となっても、当該ブレードサーバ３００で該当アプリケーションの利用が可能となる。なお、前記インストールイメージは、該当アプリケーションのインストールに必要なファイルやレジストリ設定情報などがパッケージ化されたデータである。
【００７６】
また、前記ブレードサーバ３００は、前記配信サーバ５００からストリーミング配信されたアプリケーションのデスクトップイメージを、該当ユーザのシンクライアント２００（当然、ブレードサーバ３００と接続確立されている）に転送する。
【００７７】
図５は本実施形態の可搬型記憶媒体５０が備えるＩＣチップ５５の構成例を示す図である。なお、前記可搬型記憶媒体５０の例としては、ＩＣチップ５５をプラスティック筐体などの適宜な収納ケース５１に格納し、シンクライアント２００のＵＳＢインターフェイスにデータ通信可能に接続される、例えばＵＳＢデバイスなどがあげられる。こうしたＩＣチップ５５は、ＣＰＵ６０１と、メモリ６０２とから構成される。なお、この可搬型記憶媒体５０としては、ＩＣカード部とフラッシュメモリとが一体化したメモリカードに、個人証明書や秘密鍵およびパスワード、モバイル利用に必要な各種アプリケーションソフトウェアをプレインストールした認証デバイス（商標名：KeyMobile）を採用することができる。この可搬型記憶媒体５０がメモリ６０２にて記憶する情報としては、チップＩＤ、個人証明書や秘密鍵およびパスワードを格納した認証用情報６０３、シンクライアント２００とブレードサーバ３００との間の利用割当処理を行う管理サーバ４００のアドレス６０５、およびソフトウェア６０６（ＯＳや、当該可搬型記憶媒体５０の利用者に関する個人認証処理を実行するソフトウェアなど）が想定できる。
【００７８】
なお、前記管理サーバ４００は、前記シンクライアント２００各々の利用者が用いる可搬型記憶媒体５０の格納情報と、前記可搬型記憶媒体５０に紐付いたシンクライアント２００の利用割当先となる前記ブレードサーバ３００のアドレスとの対応関係を格納する割当管理テーブルをハードディスクなどの適宜な記憶装置に有して、シンクライアント２００とブレードサーバ３００との接続確立処理時に、シンクライアント２００へのブレードサーバ３００の割当処理等を担う、シンクライアントシステムにおける一般的な管理サーバである。従って、この管理サーバ４００の備える機能や、シンクライアント２００とブレードサーバ３００との接続確立等に際して果たす処理について説明は省略する。
【００７９】
また、これまで示したマスタ管理サーバ１００における各手段１１０〜１１９は、ハードウェアとして実現してもよいし、メモリやＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）などの適宜な記憶装置に格納したプログラムとして実現するとしてもよい。この場合、前記各ＣＰＵがプログラム実行に合わせて記憶装置より該当プログラムをＲＡＭに読み出して、これを実行することとなる。
【００８０】
また、前記ネットワーク１４０に関しては、インターネット、ＬＡＮの他、ＡＴＭ回線や専用回線、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、電灯線ネットワーク、無線ネットワーク、公衆回線網、携帯電話網など様々なネットワークを採用することも出来る。また、ＶＰＮ（Ｖｉｒｔｕａｌ  Ｐｒｉｖａｔｅ  Ｎｅｔｗｏｒｋ）など仮想専用ネットワーク技術を用いれば、インターネットを採用した際にセキュリティ性を高めた通信が確立され好適である。
【００８１】
−−−データベース構造−−−
次に、本実施形態におけるマスタ管理サーバ１００が用いるデータベースの構造について説明する。図６は本実施形態における、（ａ）ＰＣ環境管理データベース１２５、（ｂ）アプリ属性管理データベース１２６の各データ構造例を示す図である。前記ＰＣ環境管理データベース１２５は前記第１データベースに該当し、シンクライアント２００のユーザ毎の属性と、前記ユーザがブレードサーバ提供の仮想デスクトップ環境で利用したいアプリケーションのリストと、このリストに含まれるアプリケーションの実行時に前記ブレードサーバ３００にかかる処理負荷についてのデータを格納したデータベースである。このＰＣ環境管理データベース１２５は、例えば、ユーザＩＤをキーに、当該ユーザが使用中の既存ＰＣ４０についての、コンピュータ名、ＣＰＵ情報（数、コア数、周波数）、メモリ量、ディスプレイのサイズ・解像度、インストールされているアプリケーション名、ユーザに利用されているアプリケーション名、ユーザのログオン／ログオフ時刻、利用したアプリケーションのＣＰＵ負荷・メモリ使用量、といったデータを関連づけたレコードの集合体となっている。
【００８２】
また、前記アプリ属性管理データベース１２６は前記第２データベースに該当し、アプリケーション毎のアプリケーション仮想化の可否と実行に必要なハードウェア構成と対応ＯＳとアプリケーションのライセンス残数とについてのデータを格納したデータベースである。このアプリ属性管理データベース１２６は、例えば、アプリケーション名をキーに、アプリケーションのバージョン、ライセンス費用、サポートＯＳ（対応ＯＳ）、ターミナルサービス利用可否、ストリーミング配信可否、必要なＣＰＵ性能、占有メモリ量、推奨メモリ量、ファイルサイズ、必要なハードディスク領域量といったデータを関連づけたレコードの集合体となっている。
【００８３】
図７は、本実施形態における、（ａ）デプロイ管理データベース１２７、（ｂ）マスタ管理データベース１２８の各データ構造例を示す図である。前記デプロイ管理データベース１２７は前記第３データベースに該当し、仮想デスクトップ環境を提供するブレードサーバ３００の処理能力についてのデータを格納したデータベースである。このデプロイ管理データベース１２７は、例えば、ブレードサーバ３００のＩＤをキーに、該当ブレードサーバ３００の型式、ＣＰＵ（数、コア数、周波数）、メモリ、ネットワーク上でのＩＰアドレス、ハード依存マスタ、業務マスタ、ユーザＩＤといったデータを関連づけたレコードの集合体となっている。
【００８４】
また、前記マスタ管理データベース１２８は、マスタ管理サーバ１００生成した業務マスタやハード依存マスタを格納するデータベースである。このマスタ管理データベース１２８は、例えば、ユーザ群情報の一種である業務ＩＤ（ユーザ群を構成するユーザが所属する業務グループのＩＤ）をキーに、業務マスタ、ハード依存マスタといったデータを対応付けたレコードの集合体となっている。
【００８５】
図８は、本実施形態における、（ａ）配信先リスト５２５、ｂ）アプリケーションデータベース５２６の各データ構造例を示す図である。前記配信先リスト５２５は、前記仮想化可能アプリケーションの利用希望者のデータ（ユーザやシンクライアント２００、或いはブレードサーバ３００の各ＩＤまたはネットワーク１４０でのアドレス、など）を格納するデータベースである。また、前記アプリケーションデータベース５２６は、配信サーバ５００からシンクライアント２００等へ配信される配信対象のアプリケーションを格納したデータベースであり、アプリケーションＩＤをキーにアプリケーションのファイルが対応付けて格納されている。
【００８６】
−−−処理フロー例１−−−
まず、マスタ管理サーバ１００による、業務マスタおよびハード依存マスタの生成処理について説明する。図９は本実施形態におけるマスタ管理方法の処理フロー例１を示す図である。ここで前記マスタ管理サーバ１００のデータ取得手段１１２は、前記ユーザが利用中の既存ＰＣ４０とネットワーク１４０を介して通信し、前記既存ＰＣ４０に常駐するアプリ管理部４１および動作管理部４２が収集した、前記既存ＰＣ４０のユーザの属性（ユーザＩＤや職位情報など）と、前記既存ＰＣ４０で利用中のアプリケーションのリストと、このリストに含まれるアプリケーションの実行時に前記既存ＰＣ４０にかかる処理負荷と、前記ユーザの前記既存ＰＣ４０へのログイン時間帯についてのデータを取得し、前記ＰＣ環境管理データベース１２５に格納する（ｓ１００）。
【００８７】
次に、前記マスタ管理サーバ１００の業務マスタ生成手段１１０は、前記ＰＣ環境管理データベース１２５から前記ユーザ属性と前記リストと前記ログイン時間帯とをＲＡＭ１０３に読み出し、また、前記アプリ属性管理データベース１２６からアプリケーション毎の対応オペレーティングシステムのデータ読み出して、これらをＲＡＭ１０３に格納する（ｓ１０１）。
【００８８】
そして前記業務マスタ生成手段１１０は、前記ＲＡＭ１０３に格納したデータについて、例えば、ログイン時間帯別に、業務グループや職位が同一であるなど同属性ユーザの群における、対応オペレーティングシステム同一の各アプリケーションの利用を希望するユーザ数をカウントする（ｓ１０２）。そして、ここでカウントした利用希望ユーザ数が所定数以上であるアプリケーションを特定する（ｓ１０３）。
【００８９】
ここでのアプリケーション特定の処理の例（図１３参照）としては、前記利用希望ユーザ数が所定数ａ（例えば、ａ＝８）以上のアプリケーション選定（第１段階）、第１段階の選定で残ったアプリケーション数が規定数ｂ（許容する最大マスタ数。例えば、ｂ＝２）以下であれば、利用ユーザ数がｃ人以上（例えば、ｃ＝４）のアプリケーション間で共通するユーザ数をカウントし、最も共通ユーザ数が少なかったアプリケーションをマスタ生成対象として加える（第２段階）、マスタに必要なストレージの量をファイルサイズ（アプリ属性管理データベース１２６）の合計から算定し、この算定値が規定のストレージ量ｄ(MB)を超過しないか判定して、超過する場合には処理を前記第１段階に戻しパラメータａ〜ｄの所定幅変更（第３段階）、前記第３段階での判定で超過しないとなった場合に第３段階まででマスタとして選定されたアプリケーションについて利用しないユーザ数をカウントし、これに単価コスト（例：１ユーザのライセンス料金）を乗算し、この乗算値が所定値ｅ以上であれば処理を前記第１段階に戻しパラメータａ〜ｄの所定幅変更（第４段階）、前記乗算値が所定値ｅ以下であればマスタとして選定したアプリケーションについてのマスタ生成（第５段階）といった具体的な流れを想定できる。また、業務マスタおよびハード依存マスタの生成に際して、マスタ数最小、ライセンス料などのコスト最小、マスタを格納するストレージ量最小、といったしばりをかけるとしてもい。
【００９０】
また、前記業務マスタ生成手段１１０は、前記ステップｓ１０２で特定したアプリケーションを前記ブレードサーバ３００にデプロイメントするためのマスタを生成し、このマスタを業務マスタとして前記ユーザ群の業務ＩＤおよびログイン時間帯と対応付けて記憶装置１０１のマスタ管理データベース１２８に格納する（ｓ１０４）。
【００９１】
なお、前記業務マスタ生成手段１１０が、異なるログイン時間帯に関して同属性ユーザの群れについて同じアプリケーションが特定できたログイン時間帯を特定し、前記異なるログイン時間帯の間で共通のマスタを生成し、このマスタを業務マスタとして前記ユーザ群およびログイン時間帯と対応付けて記憶装置１０１のマスタ管理データベース１２８に格納するとしてもよい。
【００９２】
次に、前記マスタ管理サーバ１００の個別設定手段１１１は、前記利用希望ユーザ数が所定数以下であったアプリケーションについて、前記アプリ属性管理データベース１２６からアプリケーション仮想化の可否データをＲＡＭ１０３に読取る（ｓ１０５）。また前記個別設定手段１１１は、前記ＲＡＭ１０３に読み取ったデータにより、アプリケーション仮想化が可能である仮想化可能アプリケーションを特定する（ｓ１０６）。更に、前記配信サーバ５００とＮＩＣ１０７を介して通信し、前記配信サーバ５００が備える前記配信先リスト５２５にアクセスし、前記仮想化可能アプリケーションの利用希望者のデータ（ユーザＩＤ等）を設定する（ｓ１０７）。
【００９３】
続いて、前記マスタ管理サーバ１００のハード依存マスタ生成手段１１３は、記憶装置１０１のマスタ管理データベース１２８から前記業務マスタをＲＡＭ１０３に読み出し、この業務マスタがデプロイメントする各アプリケーションの実行に必要なハードウェア構成のデータ（例：ＣＰＵの周波数と推奨メモリ量）を、前記アプリ属性管理データベース１２６より読み出す（ｓ１０８）。例えば、アプリケーションＡの実行に必要なＣＰＵ周波数“５００MHz”、推奨メモリ量“５１２ＭＢ”、アプリケーションＢの実行に必要なＣＰＵ周波数“７００MHz”、推奨メモリ量“５１２ＭＢ”、アプリケーションＤの実行に必要なＣＰＵ周波数“１ＧMz”、推奨メモリ量“５１２ＭＢ”、だったとする。
【００９４】
また、前記ハード依存マスタ生成手段１１３は、ここで読み出したハードウェア構成のデータのうち、前記各アプリケーションの全てを跨って最高性能であるハードウェア構成のデータを特定する（ｓ１０９）。前記の例であれば、アプリケーションＡ、Ｂ、Ｄを跨って最高性能であるハードウェア構成は、ＣＰＵ周波数“１ＧHz”、推奨メモリ量“５１２ＭＢ”となる。なお、こうしたハードウェア構成の選定基準例として、ＣＰＵ：最も必要スペックが高いもの、推奨メモリ量：最も容量が大きいもの（但し、占有メモリ量の合計の方が多きければそちらにあわせる）、ディスクサイズ：必要ディスクサイズの合計、ターミナルサーバー利用不可のものはネットブートで提供、といったものが想定できる。
【００９５】
前記ハード依存マスタ生成手段１１３は、前記ステップｓ１０９で特定したハードウェア構成、ＣＰＵ周波数“１ＧHz”、推奨メモリ量“５１２ＭＢ”を備えるブレードサーバ３００を、前記デプロイ管理データベース１２７から特定して、ここで特定したブレードサーバ３００に前記対応オペレーティングシステムをデプロイメントするためのマスタを生成する（ｓ１１０）。そして、このマスタをハード依存マスタとして前記ユーザ群を示す業務ＩＤと対応付けて記憶装置１０１のマスタ管理データベース１２８に格納する（ｓ１１１）。こうして、業務マスタとハード依存マスタが生成されることとなる。
【００９６】
−−−処理フロー例２−−−
ここで、アプリケーションのライセンス数を管理する手段について説明しておく。図１０は、本実施形態におけるマスタ管理方法の処理フロー例２を示す図である。この場合、前記マスタ管理サーバ１００のライセンス増減手段１１４は、例えば、シンクライアント２００からのリクエストを受けて、シンクライアント２００のユーザからアプリケーションのライセンス追加または削除の申請を受付ける入力画面データを記憶装置１０１から読み出し、例えば、ブレードサーバ３００を介して前記ユーザのシンクライアント２００に送信する（ｓ２００）。そして、前記ブレードサーバ３００から転送された前記入力画面データを表示したシンクライアント２００を介し、ライセンス追加または削除の対象となるアプリケーションのＩＤとライセンスの追加数または削除数の情報とを受け付ける（ｓ２０１）。そして、前記ライセンス増減手段１１４は、前記アプリ属性管理データベース１２６における該当アプリケーションのレコードをアプリケーションＩＤに基づき検索し、検索されたレコードにおけるライセンス残数を前記追加数または削除数の情報に基づき増減処理し、前記レコードの更新を行う（ｓ２０２）。
【００９７】
−−−処理フロー例３−−−
続いて、業務マスタおよびハード依存マスタに基づいた自動デプロイメント処理について説明する。図１１は、本実施形態におけるマスタ管理方法の処理フロー例３を示す図である。なお、業務マスタやハード依存マスタを流し込むデプロイメント処理対象としては、図１４に示すように、ブレードＰＣ、ブレードサーバのハイパーバイザ型ＶＭＭ（Virtual Machine Monitor）上で実現される仮想ＰＣまたはターミナルサーバ、ブレードサーバが提供するターミナルサーバ、などがあげられる。また、これらデプロイメント処理対象の装置がローカルでハードディスクドライブなどのストレージを備えるのか、それともｉＳＣＳＩやファイバーチャネルなどネットワーク経由の外部ストレージを利用するものなのかは問わない。
【００９８】
ここで、前記マスタ管理サーバ１００のデプロイ実行手段１１５は、前記記憶装置１０１のマスタ管理データベース１２８より所定ユーザ（の属する業務グループ）についての業務マスタとハード依存マスタをＲＡＭ１０３に読み出す（ｓ３００）。更に、前記デプロイ管理データベース１２８より前記所定ユーザに割り当てられているブレードサーバ３００のアドレスをＲＡＭ１０３に読み出す（ｓ３０１）。
【００９９】
前記デプロイ実行手段１１５は、前記ステップｓ３００で読み出した前記ハード依存マスタを前記ステップｓ３０１で読み出したブレードサーバ３００のアドレスに宛てて転送し、前記対応オペレーティングシステムをデプロイメントする処理を実行する（ｓ３０２）。更に、前記デプロイ実行手段１１５は、前記ＲＡＭ１０３の前記業務マスタを前記ブレードサーバ３００のアドレスに宛てて転送して前記アプリケーションをデプロイメントする処理を実行する（ｓ３０３）。
【０１００】
一方、前記マスタ管理サーバ１００の個別配信実行手段１１６は、前記配信サーバ５００に対し、前記所定ユーザの属性と当該所定ユーザに割り当てられているブレードサーバ３００（この例では配信対象をブレードサーバ３００とする）のネットワーク１４０上のアドレスのデータと、配信対象のアプリケーションＩＤとを含む、前記仮想化可能アプリケーションの前記ブレードサーバ３００へのストリーミング配信の要求をＮＩＣ１０７を介して送信する（ｓ３０４）。
【０１０１】
ここで前記配信サーバ５００は、前記マスタ管理サーバ１００の個別配信実行手段１１６よりストリーミング配信要求を受信する（ｓ３０５）。前記ストリーミング配信要求を受けた配信サーバ５００は、前記ストリーミングサーバプログラム５１０を起動する（ｓ３０６）。そしてこのストリーミングサーバプログラム５１０が、配信対象のアプリケーションを前記配信要求が含むアプリケーションＩＤに基づいて前記アプリケーションデータベース５２６で検索して特定する（ｓ３０７）。
【０１０２】
また、前記ストリーミングサーバプログラム５１０は、前記ステップｓ３０７で特定したアプリケーションについて、例えば前記ブレードサーバ３００のアドレスにあててストリーミング配信を実行する（ｓ３０８）。この場合、前記ブレードサーバ３００にストリーミング配信されたアプリケーションのデスクトップイメージが、前記ブレードサーバ３００からシンクライアント２００（当然、ブレードサーバ３００と接続確立されている）に転送されることとなる（ｓ３０９）。
【０１０３】
なお、こうしたデプロイメント処理は、該当ユーザのログイン時間帯（ＰＣ環境管理データベース１２５に格納されているデータ）にあわせて実行することも想定できる。つまり、ログイン時間帯の到来する前時間帯（例：記憶装置１０１においてログイン時間帯５分前などと記憶）を、前記マスタ管理サーバ１００が自身のクロック機能等で検知し、この検知にあわせて上記デプロイメント処理（ｓ３００〜ｓ３０４）を開始する。
【０１０４】
−−−処理フロー例４−−−
次に、ブレードサーバ３００に障害が発生し、これを利用していたユーザから代替装置の要求がある状況を想定する。図１２は、本実施形態におけるマスタ管理方法の処理フロー例４を示す図である。この場合、前記マスタ管理サーバ１００の代替アプリ設定手段１１７は、例えば、前記ユーザのシンクライアント２００へ入力画面データを送信する（ｓ４００）。そして、前記シンクライアント２００が前記入力画面データを受信してディスプレイに表示した入力画面（＝入力インターフェイス）を介して、仮想デスクトップ環境の代替要求を受けつける（ｓ４０１）。
【０１０５】
そして前記代替アプリ設定手段１１７は、前記代替要求が含む所定ユーザの属性データ（例：ユーザＩＤ、業務ＩＤなど）に基づいて、前記記憶装置１０１のマスタ管理データベース１２８から前記ユーザ属性に対応付けられた前記ハード依存マスタ、前記業務マスタをＲＡＭ１０３に読み出す（ｓ４０２）。そして、ここで読み出したハード依存マスタ、業務マスタを、前記所定ユーザに割り当てられている代替装置（代替のブレードサーバ）に転送して対応ＯＳおよび前記アプリケーションをデプロイメントする（ｓ４０３）。
【０１０６】
また前記代替アプリ設定手段１１７は、前記ステップｓ４０３でデプロイメントしたアプリケーションについて、前記アプリ属性管理データベース１２６からカスタマイズ状況データ（例えば、ｗｅｂブラウザにおけるお気に入り、ワードプロセッサにおける表示文字サイズやフォント、メーラーにおけるアドレス帳やフィルタリング基準など）を読み出し（ｓ４０４）、当該カスタマイズ状況データに合致するカスタマイズ処理をアプリケーションに実行する（ｓ４０５）。
【０１０７】
また、前記マスタ管理サーバ１００の代替個別配信実行手段１１８は、前記所定ユーザに割り当てられている代替装置のアドレスを前記デプロイ管理データベース１２８よりＲＡＭ１０３に読み出す（ｓ４０６）。そして、前記配信サーバ５００に対し、前記所定ユーザの属性と当該所定ユーザに割り当てられている代替装置のネットワーク１４０上のアドレスのデータとを含む、前記仮想化可能アプリケーションの前記代替装置へのストリーミング配信の要求をＮＩＣ１０７を介して送信する（ｓ４０７）。この場合、前記マスタ管理サーバ１００の通知手段１１９は、前記所定ユーザのシンクライアント２００に、前記代替装置のアドレスを通知するものとする（ｓ４０８）。この、前記シンクライアント２００への代替装置のアドレス通知処理により、前記シンクライアント２００は代替装置のアドレスを取得し、この代替装置との間でリモートデスクトップ接続を確立できる。
【０１０８】
−−−その他の実施例−−−
なお、前記マスタ管理サーバ１００が、ユーザ毎のアプリケーションの使用状況（例：一定期間毎の実行回数、１回あたりの実行時間の長さ、実行間隔など）を、例えば、ブレードサーバ３００におけるアプリケーション実行履歴の監視を行うなどして定期的にモニタリングし、前記モニタリングの結果得られる使用状況のデータと記憶装置１０１に記憶した所定頻度とを照合し、前記所定頻度以下の使用状況しかないアプリケーションを検知するとしてもよい。この場合、所定頻度以下しか使用されていないアプリケーションについての使用停止警告（記憶装置１０１にメッセージデータ格納）を、前記ブレードサーバ３００の使用者たるユーザの端末（例：記憶装置１０１にアドレスが登録された前記ユーザの携帯端末等）に通知するとしてもよい。或いは、前記所定頻度以下しか使用されていないアプリケーションについてのライセンス残数を、マスタ管理サーバ１００が前記デプロイ管理データベース１２７において削減処理するとしてもよい。
【０１０９】
以上本実施形態によれば、シンクライアントシステムにおいて、各ユーザの望むアプリケーションをマスタ経由ないしアプリケーションストリーミング経由で確実に提供することで、ユーザ所望のアプリケーション利用環境を確保でき、なおかつ、所定基準のもとでマスタに登録するアプリケーションとマスタ数とを抑制することで、デプロイ用マスタの格納領域や管理コストの低減を図ってデプロイ用マスタの効率的管理が実現される。また、ブレードサーバに障害が発生し代替環境をユーザ側に提供する状況に際しても、ユーザが必要とするアプリケーションを代替環境で確実に提供することができ、障害発生時でもユーザに業務遂行上の足かせや不満を生じさせることがない。また、ブレードサーバ等へのアプリケーションのインストールをユーザ個別に任せることなく、センター側でのアプリケーションの一括管理が実現できる。更に、アプリケーションのライセンスについても、業務や職位で固定的に必要数を決定することなく、実際に必要なユーザ分のライセンスについてのみにコストを限定できる。
【０１１０】
以上、本発明の実施の形態について、その実施の形態に基づき具体的に説明したが、これに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。
【図面の簡単な説明】
【０１１１】
【図１】本実施形態のマスタ管理システムを含むシンクライアントシステムのネットワーク構成図である。
【図２】本実施形態のマスタ管理サーバの構成例を示す図である。
【図３】本実施形態のシンクライアントの構成例を示す図である。
【図４】本実施形態のブレードサーバの構成例を示す図である。
【図５】本実施形態の可搬型記憶媒体が備えるＩＣチップの構成例を示す図である。
【図６】本実施形態における、（ａ）ＰＣ環境管理データベース、（ｂ）アプリ属性管理データベースの各データ構造例を示す図である。
【図７】本実施形態における、（ａ）デプロイ管理データベース、（ｂ）マスタ管理データベースの各データ構造例を示す図である。
【図８】本実施形態における、（ａ）配信先リスト、ｂ）アプリケーションデータベースの各データ構造例を示す図である。
【図９】本実施形態におけるマスタ管理方法の処理フロー例１を示す図である。
【図１０】本実施形態におけるマスタ管理方法の処理フロー例２を示す図である。
【図１１】本実施形態におけるマスタ管理方法の処理フロー例３を示す図である。
【図１２】本実施形態におけるマスタ管理方法の処理フロー例４を示す図である。
【図１３】本実施形態におけるマスタ生成対象の選定例を示す図である。
【図１４】本実施形態におけるデプロイメント処理の対象例を示す図である。
【符号の説明】
【０１１２】
１０…シンクライアントシステム
４０…既存ＰＣ
４１…アプリ管理部
４２…動作管理部
５０…可搬型記憶媒体
５１…収納ケース
５５…ＩＣチップ
６０…可搬型記憶媒体のリーダ
１００…マスタ管理サーバ（マスタ管理システム）
１０１、３０１、５０１…ＨＤＤ（Hard Disk Drive）
１０２、２０２、３０２…プログラム
１０３、３０３…ＲＡＭ（Random Access Memory）
１０４、２０４、３０４…ＣＰＵ（Central Processing Unit）
１０５、２０５、３０５…入力インターフェイス
１０６、２０６、３０６…出力インターフェイス
１０７、２０７、３０７…通信装置、ＮＩＣ（Network Interface Card）
１０８、２０８、３０８…フラッシュＲＯＭ
１０９、２０９、３０９…ブリッジ
１１０…業務マスタ生成手段
１１１…個別設定手段
１１２…データ取得手段
１１３…ハード依存マスタ生成手段
１１４…ライセンス増減手段
１１５…デプロイ実行手段
１１６…個別配信実行手段
１１７…代替アプリ設定手段
１１８…代替個別配信実行手段
１１９…通知手段
１１５、２３６、３３６…ＯＳ
１２０、２２０、３２０…電源
１２５…第１データベース（ＰＣ環境管理データベース）
１２６…第２データベース（アプリ属性管理データベース）
１２７…第３データベース（デプロイ管理データベース）
１２８…マスタ管理データベース
１３０、２３０、３３０…ビデオカード
１３５、２３５、３３５…ＢＩＯＳ
１４０…ネットワーク
２００…シンクライアント
２０１…ＴＰＭ（Trusted Platform Module）
２０３…ＲＡＭ（Random Access Memory）
２１０、３１０…ストリーミングクライアント
２４４…ＵＳＢポート
２６０…Ｉ／Ｏコネクタ
２７０…リモートクライアントプログラム
２７１、３７１…暗号化通信プログラム
２７３…機器情報
３００…ブレードサーバ（情報処理装置）
３７０…リモートサーバプログラム
４００…管理サーバ
５００…配信サーバ
５１０…ストリーミングサーバプログラム
５２５…配信先リスト
５２６…アプリケーションデータベース
【図１】
0005047870.tif 000002
【図２】
0005047870.tif 000003
【図３】
0005047870.tif 000004
【図４】
0005047870.tif 000005
【図５】
0005047870.tif 000006
【図６】
0005047870.tif 000007
【図７】
0005047870.tif 000008
【図８】
0005047870.tif 000009
【図９】
0005047870.tif 000010
【図１０】
0005047870.tif 000011
【図１１】
0005047870.tif 000012
【図１２】
0005047870.tif 000013
【図１３】
0005047870.tif 000014
【図１４】
0005047870.tif 000015