(57)【要約】【課題】  サーバベースコンピューティング環境において、ネットワーク接続不可の場所でも、ユーザに、サーバで実現している環境と同じ環境を端末上で安全に提供する。【解決手段】  サーバ上で、仮想計算機を構築し、クライアントにその仮想計算機上でアプリケーションプログラムの実行を行わせる。クライアントを切り離す時、仮想計算機を構築するために必要なデータをファイル化し、クライアントにそのまま転送する。クライアント上では、受け取ったファイルを用いて構築した仮想計算機上で処理を継続する。【選択図】  図１
2006107185.tif 000002
【特許請求の範囲】
【請求項１】
１以上のオフライン作業可能な端末と、前記端末からネットワークを介して接続する計算機とを備え、前記端末が要求するアプリケーションプログラム（以後ＡＰと呼ぶ。）を前記計算機上で実行させる計算機システムであって、
前記計算機は、
ＡＰ実行用ファイル、前記ＡＰの編集対象であるデータ、仮想計算機のＯＳを実現するＯＳ実行用ファイル、および、前記仮想計算機上で作業をするために必要な設定情報とを保持するストレージ領域と、
前記ＯＳ実行用ファイルを用いて仮想計算機を実現する仮想計算機制御手段と、
前記ＡＰの中で端末が要求するＡＰを、前記設定情報を用いて前記仮想計算機上で実行させ、前記端末から当該ＡＰを終了させる指示を受け付けると、受け付けた時点の前記設定情報、前記ＯＳ実行用ファイル、前記データ、前記ＡＰ実行用ファイルを前記ストレージ領域にイメージファイルとして格納し、当該端末が接続を断つ前に、前記イメージファイルを前記端末に転送する制御手段とを、当該計算機に接続する端末毎に、備え、
前記端末は、
前記計算機から受信した前記イメージファイルを格納するストレージ装置と、
前記ＯＳ実行用ファイルを用いて仮想計算機を実現する端末仮想計算機制御手段と、
前記計算機と接続していない場合、前記仮想計算機上で前記設定情報を用いて前記ＡＰを実行させる端末制御手段と
を備えること
を特徴とする計算機システム。
【請求項２】
前記制御手段は、前記端末を介して前記ユーザからオフライン処理を行う旨の指示を受け付けた場合のみ、前記転送を行うこと
を特徴とする計算機システム。
【請求項３】
請求項１または２記載の計算機システムであって、
前記端末制御手段は、
前記計算機に接続する際、前記ストレージ装置内に格納されている前記イメージファイルを前記計算機に送信するとともに、送信後、前記ストレージ装置内から前記イメージファイルを消去し、
前記制御手段は、
前記端末から前記イメージファイルを受信すると、当該受信したイメージファイルで、前記ストレージ領域に格納されている既存のイメージファイルを上書きすること
を特徴とする計算機システム。
【請求項４】
請求項１から３いずれか１項記載の計算機システムであって、
着脱可能なセキュリティ装置をさらに備え、
前記端末は、前記セキュリティ装置とのインタフェースであるセキュリティインタフェースを備え、
前記端末制御手段は、前記イメージファイルを前記計算機から受信した際、前記セキュリティ装置を用い、前記ストレージ内のイメージファイルを暗号化し、前記ＡＰ実行時に、前記セキュリティ装置を用いて当該イメージファイルを復号し、実行すること
を特徴とする計算機システム。
【請求項５】
１以上の端末がネットワークを介して接続する計算機であって、
アプリケーションプログラム（以後ＡＰと呼ぶ。）実行用ファイル、前記ＡＰの編集対象であるデータ、仮想計算機が実行するＯＳを実現するＯＳ実行用ファイル、および、前記仮想計算機上で作業をするために必要な設定情報とを保持するストレージ領域と、
前記ＯＳ実行用ファイルを用いて仮想計算機を実現する仮想計算機制御手段と、
制御手段と、を前記端末毎に備え、
前記制御手段は、
前記ＡＰの中で前記端末が要求するＡＰを、前記設定情報を用いて前記仮想計算機上で実行させ、前記端末から当該ＡＰを終了させる指示を受け付けると、受け付けた時点の前記設定情報、前記ＯＳ実行用ファイル、前記データ、前記ＡＰ実行用ファイルを前記ストレージ領域にイメージファイルとして格納し、当該端末が接続を断つ前に、前記イメージファイルを前記端末に転送すること
を特徴とする計算機。
【請求項６】
請求項５記載の計算機システムであって、
前記制御手段は、
前記端末から前記イメージファイルを受信すると、当該受信したイメージファイルで、前記ストレージ領域に格納されている既存のイメージファイルを上書きすること
を特徴とする計算機システム。
【請求項７】
ネットワークを介して計算機に接続し、当該計算機上でアプリケーションプログラム（以後、ＡＰと呼ぶ。）を実行させる、オフライン作業可能な端末であって、
前記計算機から受信したイメージファイルを格納するストレージ装置と、
仮想計算機を実現する端末仮想計算機制御手段と、
前記計算機と接続していない場合、前記仮想計算機上で前記ＡＰを実行させる端末制御手段と、を備え、
前記イメージファイルには、前記計算機において実行していたＡＰを終了した時点の、アプリケーションプログラム（以後ＡＰと呼ぶ。）実行用ファイル、前記ＡＰの編集対象であるデータ、仮想計算機のＯＳを実現するＯＳ実行用ファイル、および、前記仮想計算機上で作業をするために必要な設定情報が含まれ、
前記端末仮想計算機制御手段は、前記イメージファイル内の前記ＯＳ実行用ファイルを用いて前記仮想計算機を実現し、
前記端末制御手段は、前記設定情報を用いて前記ＡＰを実行させること
を特徴とする端末。
【請求項８】
請求項７記載の計算機システムであって、
前記端末制御手段は、
前記計算機に接続する際、前記ストレージ装置内に格納されている前記イメージファイルを前記計算機に送信するとともに、送信後、前記ストレージ装置内から前記イメージファイルを消去すること
を特徴とする端末。
【請求項９】
請求項７または８記載の端末であって、
着脱可能なセキュリティ装置をさらに備え、
前記端末は、前記セキュリティ装置とのインタフェースであるセキュリティインタフェースを備え、
前記端末制御手段は、前記イメージファイルを前記計算機から受信した際、前記セキュリティ装置を用い、前記ストレージ内のイメージファイルを暗号化し、前記ＡＰ実行時に、前記セキュリティ装置を用いて当該イメージファイルを復号し、実行すること
を特徴とする計算機システム。
【請求項１０】
１以上のオフライン作業可能な端末と前記端末からネットワークを介して接続する計算機とを備え、前記端末が要求するアプリケーションプログラム（以後、ＡＰと呼ぶ。）を前記計算機上で実行して前記端末に提供する場合または当該端末上でＡＰを実行する場合の前記計算機上の実行環境と前記端末上の実行環境とを一致させる方法であって、
前記計算機および前記端末は、自身のＯＳ上で、仮想計算機を実現する仮想計算機実現手段をそれぞれ備え、
前記ＡＰ実行の指示を受け付けると、それぞれ、前記仮想計算機上で当該ＡＰを実行し、終了の指示を受け付けると、当該受け付けた時点の当該仮想計算機上で作業をするための設定情報、前記ＡＰ実行用ファイル、前記ＡＰの編集対象データ、および、前記仮想計算機のＯＳを実現するＯＳ実行用ファイルを、１つのイメージファイルとして保持し、
前記端末が、前記計算機との接続を断つ場合、前記イメージファイルは、前記計算機から前記端末に送信され、
前記端末が、前記計算機に接続する場合、前記イメージファイルは、前記端末から前記計算機に送信され、
それぞれ、受け取った側で、既存のイメージファイルに上書きすること
を特徴とする方法。
【請求項１１】
１以上のオフライン作業可能な端末と、前記端末からネットワークを介して接続する計算機とを備え、前記端末が要求するアプリケーションプログラム(以後、ＡＰと呼ぶ。）を前記計算機上で実行させる計算機システムであって、
前記計算機は、個々の利用者毎に、前記端末を介して利用者が要求するＡＰを実行するための個人環境に関する情報を保持するストレージ領域を備え、
前記端末は、前記利用者が要求するＡＰを実行するための個人環境に関する情報を保持するストレージ装置を備え、
前記システムは、
前記端末を前記ネットワークから切り離す時および再接続する時に、前記ストレージ領域に格納されている個人環境に関する情報と前記ストレージ装置に格納されている個人環境に関する情報との同期をとること
を特徴とする計算機システム。
【請求項１２】
請求項１１記載の計算機システムであって、
前記端末は、セキュリティ装置をさらに備え、
前記個人環境に関する情報を、前記セキュリティ装置により暗号化して前記ストレージ装置に格納すること
を特徴とする計算機システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバベースコンピューティング技術に関する。特に、オフライン作業も可能なクライアントを有する計算機システムにおけるサーバベースコンピューティング技術に関する。
【背景技術】
【０００２】
近年パーソナルコンピュータ（ＰＣ）やネットワーク機器の低価格化が進み、従業員の大半にＰＣ等の端末を配布し、業務を行なわせる企業が増えている。ＰＣの利用が増えると、企業内の機器管理者のメンテナンス作業を行なう必要のあるＰＣの数も比例して増える。このメンテナンス作業とは、たとえばオペレーティングシステム（OS）や業務アプリケーションプログラムのバージョンアップやバグフィックス、ハードウェア障害への対応、ウィルス対策やウィルス駆除などが挙げられる。
【０００３】
このようなメンテナンス作業を行なうコストは非常に大きく、管理すべきＰＣの台数に比例して増大していく。ＰＣを低価格で導入できたとしても、その後のメンテナンス作業に多くのコストが費やされることとなる。
【０００４】
このコストを低減するための一手法として、Windows Terminal Service、citrix metaframeなどのサーバベースコンピューティング技術がある(例えば、非特許文献１、非特許文献２参照)。
【０００５】
サーバベースコンピューティングとは、クライアント/サーバコンピューティングという形態をとり、クライアントの要求するアプリケーションプログラムを、サーバ側で実行するシステムである。
【０００６】
サーバベースコンピューティングによるシステムは、ユーザが業務に必要とする処理（アプリケーションプログラム）を実行する計算機（サーバ）と、このサーバに実行を指示し、結果を確認するための端末（クライアント）とからなる。ユーザは手元のクライアントを介してネットワーク接続されたサーバに指示を与え、サーバ上のアプリケーションプログラムを実行する。そして、サーバでの実行結果はクライアントの画面に表示される。従って、ユーザは手元のＰＣや携帯端末などにサーバへの接続機能を導入するだけで、サーバへのネットワーク接続が可能な場所であれば、オフィスと同じ環境でアプリケーションプログラムを利用することができ、業務の実行が可能となる。
【０００７】
また、サーバベースコンピューティングによるシステムでは、業務に直接関係する処理機能（アプリケーションプログラム）や情報（データ）がすべてサーバ側に置かれ、サーバ上で集中管理されるため、クライアント側に搭載するアプリケーションプログラムを必要最低限に抑えることが可能となる。また、アプリケーションプログラムのバージョンアップも容易である。
【０００８】
【非特許文献１】Microsoft, "Technical Overview of Terminal Services ", [online], July 2002, <URL: http://download.microsoft.com/download/2/8/1/281f4d94-ee89-4b21-9f9e-9accef44a743/TerminalServerOverview.doc >
【非特許文献２】Dan Kusnetzky 著,"Citrix アプリケーションインフラストラクチャソフトウェアを使った仮想コンピューティング環境の構築",[online],IDG Japan,最終検索日 2004/02/13,<URL: http://www.citrix.co.jp/site/resources/pdf/products/IDCpaper_3511_finalQCJ.pdf >
【発明の開示】
【発明が解決しようとする課題】
【０００９】
前述したサーバベースコンピューティング技術を利用する場合、クライアントからサーバのアプリケーションプログラムを利用できるのは、ネットワーク接続が可能な場所に限られる。すなわち、出張などでネットワーク接続が不可能な場所に行った場合等は、ユーザは、サーバにアクセスできず、業務に必要な処理を実行できないという問題がある。
【００１０】
現実にこのような場所はまだ広く存在しており、こうした場所、あるいは一時的にネットワーク接続が不可能な状態にある時においても時間を無駄にすることなく業務を行ないたいというユーザからの要求は強い。
【００１１】
この場合、ユーザが使用できるのは手元にあるクライアントだけであるが、クライアントには業務処理を行なうための機能や業務に関する情報は格納されていない。クライアント上でオフラインで作業を行う時に、オンラインでサーバ上で作業を行う時と同じ環境を実現するためには、クライアント上に別途同等のアプリケーションプログラムを導入する必要がある。さらに、ユーザに両者の環境の差を意識することを強いる。すなわち、個々のクライアントにアプリケーションプログラムを導入すると、サーバ上のアプリケーションプログラムとバージョンに差が生じることがある。このような場合、必要なドキュメントファイルや環境設定の同期をとるといった煩雑な作業をユーザが行う必要がある。サーバとクライアントとで使用ＯＳが異なる場合にはこうした煩雑さはさらに増大する。
【００１２】
また、クライアントにアプリケーションプログラムを導入し、オフラインでも作業可能な環境にすると、作業内容を格納したクライアントが常時存在することとなり、紛失や盗難による業務内容や個人情報等の漏洩のリスクが発生する。
【００１３】
本発明は、上記事情に鑑み、サーバベースコンピューティング環境において、ネットワーク接続不可の場所でも、ユーザに、サーバで実現している環境を端末上で安全に提供することを目的とする。
【課題を解決するための手段】
【００１４】
本発明は、上記課題を解決するために、オフライン作業可能なクライアントとサーバとからなるサーバベースコンピューティングを実現するシステムにおいて、仮想計算機の概念を導入し、仮想計算機により構築される計算機環境をそのまま、サーバとクライアント間で転送する。
【００１５】
具体的には、１以上のオフライン作業可能な端末と、前記端末からネットワークを介して接続する計算機とを備え、前記端末が要求するアプリケーションプログラム（以後ＡＰと呼ぶ。）を前記計算機上で実行させる計算機システムであって、前記計算機は、ＡＰ実行用ファイル、前記ＡＰの編集対象であるデータ、仮想計算機のＯＳを実現するＯＳ実行用ファイル、および、前記仮想計算機上で作業をするために必要な設定情報とを保持するストレージ領域と、前記ＯＳ実行用ファイルを用いて仮想計算機を実現する仮想計算機制御手段と、前記ＡＰの中で端末が要求するＡＰを、前記設定情報を用いて前記仮想計算機上で実行させ、前記端末から当該ＡＰを終了させる指示を受け付けると、受け付けた時点の前記設定情報、前記ＯＳ実行用ファイル、前記データ、前記ＡＰ実行用ファイルを前記ストレージ領域にイメージファイルとして格納し、当該端末が接続を断つ前に、前記イメージファイルを前記端末に転送する制御手段とを、当該計算機に接続する端末毎に、備え、前記端末は、前記計算機から受信した前記イメージファイルを格納するストレージ装置と、前記ＯＳ実行用ファイルを用いて仮想計算機を実現する端末仮想計算機制御手段と、前記計算機と接続していない場合、前記仮想計算機上で前記設定情報を用いて前記ＡＰを実行させる端末制御手段とを備えることを特徴とする計算機システムを提供する。
【発明の効果】
【００１６】
以上説明したように、本発明によれば、サーバベースコンピューティング環境において、ネットワーク接続不可の場所でも、ユーザに、サーバで実現している環境を端末上で安全に提供できる。
【発明を実施するための最良の形態】
【００１７】
本発明を適用した実施形態を図を用いて説明する前に、本実施形態の概要を説明する。
【００１８】
本実施形態では、リモートＰＣ等の情報処理装置により構築されるサーバは、保有するストレージに、アクセスするユーザごとにストレージ領域を割り当て、割り当てたストレージ領域に、ユーザごとに設定された個人環境情報を保持する。ここで、個人環境情報は、サーバ等の計算機のＯＳ上に、仮想計算機を構築し、その上でアプリケーションプログラムなどを実現するために必要な全ての情報のことである。
【００１９】
ユーザがクライアントからサーバにアクセスし、ネットワークを介して作業を行う場合、サーバは、その個人環境情報により構築される仮想計算機をクライアントに提供する。ユーザはクライアントを介して、提供された仮想計算機上で作業を行う。作業中、ユーザは、仮想計算機の設定などを自由に変更することができる。変更内容は、全て個人環境情報に反映される。
【００２０】
ユーザがクライアントをサーバから切り離す時、その時点の個人環境情報がそのままクライアント上に複製される。ユーザは、クライアントをオフラインで用いる場合、複製された個人環境情報により構築される仮想計算機上で作業を行う。ここでも、ユーザは、仮想計算機の設定などを自由に変更することができる。変更内容は、全て、クライアント上の個人環境情報に反映される。
【００２１】
ユーザがクライアントをサーバに再接続する場合、クライアント上に保持されている最新の個人環境情報がサーバに送信される。サーバは、既存の個人環境情報を、受信した最新の個人環境情報に置き換え、その後、クライアントに仮想計算機環境を提供する。
【００２２】
本実施形態では、個人環境情報の同期がとられているため、ユーザは、クライアントを介してサーバ上で作業を行う場合であっても、オフラインでクライアント上で作業を行う場合であっても、同じ環境で作業を行うことができる。
【００２３】
本実施形態では、上述のように仮想計算機の概念を導入している。仮想計算機は、あるコンピュータ上で、当該コンピュータのＯＳ（以後、実ＯＳと呼ぶ。）以外のＯＳ（以後、仮想ＯＳと呼ぶ。）が動作することにより実現される計算機である。本実施形態では、ユーザは、クライアントを介してアプリケーションプログラムを実行させるのは、リモートＰＣの実ＯＳ上ではなく、仮想計算機の仮想ＯＳ上である。仮想計算機は、仮想計算機プログラムによって、個人環境情報を使用して実現される。
【００２４】
サーバとなるリモートＰＣの実ＯＳと、クライアントの実ＯＳとは必ずしも同じシステムとは限らない。このため、ユーザがサーバの実ＯＳ上でアプリケーションプログラムを実行する場合、その環境をクライアントに移行するのは容易ではない。しかしながら、本実施形態のように、仮想計算機の概念を導入すれば、個人環境情報をそのまま複製するといった単純な方法で個人環境の移行が可能となる。ただし、クライアント側にも、個人環境情報により仮想計算機を構築可能な仮想計算機プログラムがインストールされていることが条件である。なお、仮想計算機プログラムは、例えば、Ｃｏｎｎｅｘｔｉｘ社のｖｉｒｔｕａｌ  ＰＣや、ＶＭｗａｒｅ社のｖｍｗａｒｅなどがある。
【００２５】
また、本実施形態では、クライアント上の業務データはＩＣカード等のセキュリティ装置によって暗号化される。これにより、クライアントの盗難/紛失時にも業務に関する情報が漏洩するリスクを低く保つことが可能である。
【００２６】
なお、本実施形態では、セキュリティ装置として、ＭＯＰＡＳＳ（Ｍｏｂｉｌｅ  Ｐａｓｓｐｏｒｔ）カードを例として説明する。ＭＯＰＡＳＳカードは、ＩＤ（個人認証）機能および暗号化機能を持つフラッシュメモリカードであり、クライアントのメモリカードスロットに挿入して使用する。サーバとクライアント間で送受信する個人環境情報、クライアントで保持する個人環境情報は、ＭＯＰＡＳＳの機能により暗号化される。クライアントにおいて、サーバから受信した個人環境情報により仮想計算機を実現する際、ＭＯＰＡＳＳによる復号化が必須となる。従って、本実施形態によれば、ユーザが一時的にクライアントから離れる場合、ＭＯＰＡＳＳカードを取り外して携行すれば、クライアントにおいて、個人環境情報が復号化されて仮想計算機が実現されることはない。
【００２７】
以下、本発明を適用した実施形態を図を用いて説明する。
【００２８】
図１は、本実施形態に係る計算機システムの構成を表す。この計算機システムは、ブレードＰＣシステム１００２と、電源制御装置１００３と、ハブ１００４と、ストレージ装置１００５と、１以上の端末ＰＣ１００７と、管理サーバ１００８とを備える。
【００２９】
ブレードＰＣシステム１００２は、１以上のブレードＰＣ１００１を備える。ブレードＰＣ１００１は、１つのブレードに、プロセッサ、主記憶、ＨＤＤといったＰＣに必要な構成部品を備えたものである。本実施形態では、ユーザごとに、ブレードＰＣ１００１が設けられ、ブレードＰＣ１００１は、端末ＰＣ１００７を介してアクセスするユーザに、仮想計算機環境を提供する。ブレードＰＣシステム１００２は、ブレードＰＣ１００１を集約したものである。
【００３０】
端末ＰＣ１００７は、ユーザが、ネットワーク１００６を介してブレードＰＣシステム１００２にアクセスする際の端末となるものである。また、ユーザがオフラインで使用する際は、ブレードＰＣ１００１と同様の仮想計算機環境をユーザに提供する。
【００３１】
管理サーバ１００８は、ブレードＰＣシステム１００２全体の動作の制御、ユーザおよび端末ＰＣ１００７からブレードＰＣシステム１００２へのアクセスの制御などを行う。
【００３２】
各ブレードＰＣ１００１は、ハブ１００４を介してネットワーク１００６に接続するとともに、電源制御装置１００３を経由して管理サーバ１００８に接続する。ブレードＰＣシステム１００２と、電源制御装置１００３と、管理サーバ１００８と、ストレージ１００５とで、サーバ１０００の機能を実現する。
【００３３】
管理サーバ１００８、ストレージ装置１００５、および、クライアントとして機能する端末ＰＣ１００７は、それぞれネットワーク１００６に接続する。
【００３４】
図２は、ブレードＰＣ１００１の内部構成を示す図である。
【００３５】
ブレードＰＣ１００１は、ＣＰＵ１２０１、メインメモリ１２０２、通信インタフェース１２０９を有する。
【００３６】
メインメモリ１２０２には、実ＯＳ１２１１、仮想計算機プログラム１２１２の実行ファイルがストレージ装置１００５から読み込まれ、ＣＰＵ１２０１により実行され、実現される。
【００３７】
図３は、端末ＰＣ１００７の内部構成を示す図である。
【００３８】
端末ＰＣ１００７は、ＣＰＵ１３０１、メインメモリ１３０２、表示装置１３０３、ユーザ入力インタフェース１３０４、ストレージ装置１３０８、通信インタフェース１３０９、セキュリティインタフェース１３１５を有する。
【００３９】
ユーザ入力インタフェース１３０４は、接続されるキーボード１３０５、ポインティングデバイス１３０６等のユーザ入力用装置を介して、ユーザからの各種指示、入力を受け付ける。
【００４０】
メインメモリ１３０２には、実ＯＳ１３１１、仮想計算機プログラム１３１２、ＰＣブレードシステム１００２への接続プログラム１３１３の実行ファイルがストレージ装置１３０８から読み込まれ、ＣＰＵ１３０１により実行される。ここで、接続プログラム１３１３は、端末ＰＣ１００７からブレードＰＣシステム１００２にアクセスし、サーバベースコンピューティング環境を実現するためのプログラムである。
【００４１】
セキュリティインタフェース１３１５は、セキュリティ装置１３０７取り付けのためのインタフェースである。実ＯＳ１３１１または接続プログラム１３１３は、セキュリティインタフェースを介して、セキュリティ装置１３０７の機能を使用する。なお、本実施形態では、上述のように、セキュリティ装置１３０７としてＭＯＰＡＳＳカードを使用する。
【００４２】
図４は、ストレージ装置１００５の内部構成を表す。図４（Ａ）に示すように、ストレージ装置１００５は、複数の物理ディスク１５０１により構成される。また、図４（Ｂ）に示すように、ストレージ装置１００５は、１つまたは複数の論理的区分単位１５０２で管理される。
【００４３】
図５は、ストレージ装置１００５の論理的区分単位１５０２に格納されているデータを説明するための図である。
【００４４】
各論理的区分単位１５０２は、一般的なサーバ/クライアントシステムにおいて、クライアント機として使用される一台のＰＣのストレージ（本実施形態の端末ＰＣ１００７では、ストレージ装置１３０８）全体に相当する情報を格納する。具体的には、ブレードＰＣ１００１の上で動作する実ＯＳ１２１１の実行用ファイル１５１１、さらにこの実ＯＳ１２１１の実行用ファイル１５１１の上で動作する仮想計算機プログラム１２１２の実行用ファイル１５１２、および、この仮想計算機プログラム１２１２の実行用ファイル１５１２が使用するイメージファイル１５１３が格納される。
【００４５】
ブレードＰＣ１００１では、割り当てられた論理区分単位１５０２に格納されるこれらの実行用ファイルをメインメモリ１２０２に読み込み、実行する。
【００４６】
次に、イメージファイル１５１３について説明する。イメージファイル１５１３は、ユーザが作業を行う仮想計算機における仮想的なディスクのイメージをファイル化したものである。
【００４７】
図６は、イメージファイル１５１３に含まれるデータを説明するための図である。イメージファイル１５１３には、仮想計算機プログラム１２１２および１３１２が仮想計算機を実現する際に用いられるデータ群が格納されている。
【００４８】
具体的には、仮想計算機の仮想ＯＳの実行用ファイル１５２１、仮想計算機の仮想ＯＳ上で動作するアプリケーションプログラムの実行用ファイル１５２２、仮想計算機上でユーザが作業する上で必要な各種の設定を記憶する設定ファイル１５２３、および、仮想計算機上でユーザがアプリケーションプログラムを用いて編集等を行なう対象となるデータが格納されるデータファイル１５２４などが含まれる。
【００４９】
次に、仮想計算機プログラム１２１２および１３１２が、イメージファイル１５１３を用いて実現する仮想計算機１２２０について説明する。
【００５０】
図７は、本実施形態の仮想計算機１２２０の構成を示す図である。
【００５１】
仮想計算機１２２０は、仮想ＣＰＵ１２２１、仮想メモリ１２２２、仮想ストレージ装置１２２５、仮想通信インタフェース１２２９を備える。これらは、イメージファイル１５１３を、仮想計算機プログラム１２１２および１３１２が実行することにより、実現される仮想的なハードウェアである。
【００５２】
仮想計算機１２２０上では、仮想メモリ１２２２に、仮想ＯＳ１２３１、アプリケーションプログラム１２３２が仮想ストレージ装置１２２５から読み込まれ、仮想ＣＰＵ１２２１により実行され、仮想ＯＳの機能、各アプリケーション処理が実現される。
【００５３】
次に、図８、図９、および図１０を用いて、本実施形態において端末ＰＣ１００７がネットワーク１００６に接続している状態と接続していない状態とを遷移する際の、処理の流れについて説明する。
【００５４】
概要は以下のとおりである。ユーザは、端末ＰＣ１００７から、ネットワーク１００６を介してブレードＰＣシステム１００２にアクセスし、ブレードＰＣシステム１００２上で、ユーザに割り当てられたブレードＰＣ１００１の仮想計算機１２２０を起動させ、その環境でアプリケーションプログラムを実行する。
【００５５】
ユーザが、端末ＰＣ１００７をネットワークから切り離す場合、終了時の仮想計算機１２２０の環境が、イメージファイル１５１３として、端末ＰＣ１００７に転送される。転送されるイメージファイル１５１３には、ユーザが使用していたデータファイル、環境設定などの他、アプリケーションプログラムや仮想ＯＳの設定の変更なども反映されている。ネットワーク１００６との接続を切断した端末ＰＣ１００７は、転送されたイメージファイル１５１３によりブレードＰＣ上の仮想計算機１２２０と同様の環境を実現し、アプリケーションプログラムを実行する。
【００５６】
さらに、ユーザが、再度、端末ＰＣ１００７を、ネットワーク１００６を介してブレードＰＣシステム１００２に接続すると、接続時の端末ＰＣ１００７で用いられている仮想計算機１２２０が実現する環境が、イメージファイル１５１３として、ブレードＰＣ１００１に送信され、ブレードＰＣ１００１上で、端末ＰＣ１００７使用時の環境が実現される。
【００５７】
図８は、端末ＰＣ１００７を初めてネットワーク１００６に接続し、ブレードＰＣシステム１００２において、アプリケーションプログラム実行等の処理を開始するまでの処理フローである。
【００５８】
この場合は、初めて接続するため、端末ＰＣ１００７のストレージ装置１３０８にはイメージファイル１５１３は保持されていない。
【００５９】
まず、端末ＰＣ１００７の電源が入れられたことを検出すると、ＣＰＵ１３０１は、実ＯＳ１３１１を起動する（ステップ２００１）。次に、ＣＰＵ１３０１は、セキュリティ装置１３０７が端末ＰＣ１００７に接続されたか否か、判別する（ステップ２００２）。本実施形態では、上述のように、セキュリティ装置１３０７として、ＩＤ（個人認証）機能および暗号化機能を持つフラッシュメモリカードである、ＭＯＰＡＳＳカードを用いる場合を例に挙げて説明する。
【００６０】
ＣＰＵ１３０１は、端末ＰＣ１００７がネットワーク１００６に接続されたことを検出する（ステップ２００３）と、ブレードＰＣシステム１００２への接続プログラム１３１３を実行することにより、端末ＰＣ１００７から通信インタフェース１３０９からネットワーク１００６を経由して管理サーバ１００８にアクセスする（ステップ２００４）。なお、上記において、ＭＯＰＡＳＳカード挿入の検出と、ネットワークへの接続の検出とは、いずれが先であってもよい。
【００６１】
管理サーバ１００８は、接続プログラム１３１３が送信してきた、セキュリティ装置１３０７から取得した認証情報およびユーザから入力されたパスワードなどを用いてユーザ認証を行ない、ブレードＰＣシステム１００２への接続の可否を決定する（ステップ２００５）。認証が成功した場合、管理サーバ１００８は、端末ＰＣ１００７と接続するブレードＰＣ１００１を決定し、該当するＰＣブレード１００１が停止状態であれば電源制御装置１００３を経由してブレードＰＣ１００１の電源を入れ、実ＯＳ１２１１を起動する（ステップ２００６）。なお、管理サーバ１００８は、予め、ユーザの認証情報と、所定のブレードＰＣ１００１とを対応づけて管理しておく。これにより、ステップ２００６において、同一のユーザからの接続要求に対し、同一のブレードＰＣ１００１を決定することができる。また、ブレードＰＣ１００１を決定した後、現時点で、ユーザが使用している端末ＰＣ１００７を、さらに対応づけて保持してもよい。
【００６２】
管理サーバ１００８に接続を許可された端末ＰＣ１００７は、接続プログラム１３１３を用いてネットワーク１００６を経由して、管理サーバ１００８により決定されたブレードＰＣ１００１に接続する（ステップ２００７）。
【００６３】
このとき、端末ＰＣ１００７のＣＰＵ１３０１は、自身のストレージ装置１３０８に、イメージファイル１５１３の複製が保持されているか否か判別する。そして、保持されている場合、当該イメージファイル１５１３のタイムスタンプ（最終更新時刻）情報を、ブレードＰＣ１００１に送信する。
【００６４】
一方、タイムスタンプ情報を受信したブレードＰＣ１００１は、自身が保持するイメージファイル１５１３のタイムスタンプ（最終更新時刻）情報と比較し、いずれのタイムスタンプ情報の示す時刻が新しいか否かを判別し、その結果を端末ＰＣ１００７に通知する。
【００６５】
端末ＰＣ１００７では、端末ＰＣ１００７が保持するイメージファイル１５１３のタイムスタンプ情報の示す時刻の方が新しいことを意味する通知を受信した場合のみ、自身が保持するイメージファイル１５１３をブレードＰＣ１００７に送信する。
【００６６】
イメージファイル１５１３を受信したブレードＰＣ１００１は、受信したイメージファイル１５１３で、自身が保持しているイメージファイルを上書きする。
【００６７】
なお、本処理手順は、上述のように初めて接続する場合の手順であるため、ストレージ装置１３０８にイメージファイル１５１３の複製が保持されていないため、端末ＰＣ１００７のＣＰＵ１３０１は、上記タイムスタンプ情報の送信以降の処理を行わない。
【００６８】
また、上記手順では、端末ＰＣ１００７のＣＰＵ１３０１は、自身のストレージ装置１３０８に、イメージファイル１５１３の複製が保持されているか否か判別した後、タイムスタンプ情報のみを送信しているが、本構成に限られない。例えば、保持している場合は、イメージファイル１５１３自体を送信するように構成してもよい。この場合は、受け取ったブレードＰＣ１００１側で、端末ＰＣ１００７から受信したイメージファイルのタイムスタンプ情報と、自身が保持しているイメージファイル１５１３のタイムスタンプ情報とを比較し、受信したものの方が新しい場合のみ、受信したもので、自身が保持するイメージファイル１５１３を上書きするよう構成する。
【００６９】
次に、ステップ２００６において、実ＯＳ１２１１が起動されると、ブレードＰＣ１００１のＣＰＵ１２０１は、実ＯＳ１２１１上で仮想計算機プログラム１２１２を実行する。これにより、仮想計算機１２２０、およびその上の仮想ＯＳ１２３１が起動する（ステップ２００８）。
【００７０】
以後、端末ＰＣ１００７は、通常のサーバベースコンピューティング技術により、仮想ＯＳ１２３１上でアプリケーションプログラム１２３２を起動し、処理を行う（ステップ２００９）。ユーザは、端末ＰＣ１００７を介して、接続先のブレードＰＣ１００７の仮想計算機１２２０上で所望の業務を行なう。すなわち、端末ＰＣ１００７のユーザは、キーボード１３０５、ポインティングデバイス１３０６等のデバイスを用いてＰＣブレード１００１上の仮想ＯＳ１２３１を操作し、その実行の様子を表示装置１３０３から確認することが可能となる。
【００７１】
図９は、図８に記載した処理に従ってネットワーク１００６を介してブレードＰＣシステム１００２に接続中の端末ＰＣ１００７を、ネットワーク１００６から切り離す際の処理フローである。
【００７２】
まず、仮想計算機１２２０上でアプリケーションプログラム１２３２を使用中のユーザは作業内容を保存してアプリケーションプログラム１２３２、および仮想計算機１２２０上の仮想ＯＳ１２３１を終了させる。
【００７３】
すなわち、端末ＰＣ１００７は、ユーザから、実行中の全てのアプリケーションプログラム終了の指示を受け付けると、当該指示をブレードＰＣ１００１に送信する。ブレードＰＣ１００１では、仮想計算機１２２０のＣＰＵ１２２１が、実行中の作業内容を保存し、アプリケーションプログラム１２３２を終了させる（ステップ２０１１）。なお、実行中の作業内容として、アプリケーションプログラム１２３２が編集対象としているデータは、データファイル１５２４に保存される。また、アプリケーションプログラム１２３２の設定情報は、設定ファイル１５２３に保存される。
【００７４】
続いて、ＣＰＵ１２０１は、仮想ＯＳ１２３１をと仮想計算機プログラム１２１２を終了させる（ステップ２０１２）。このとき、仮想ＯＳ１２３１の設定情報は、設定ファイル１５２３に保存される。以上により、仮想計算機１２２０使用中に、ユーザの操作によりアプリケーションプログラム１２３２や仮想ＯＳ１２３１の設定が変更されていた場合であっても、変更後の設定情報が、設定ファイル１４２３として保存される。
【００７５】
その後、保存したデータ１５２４、設定ファイル１５２３とともに、アプリケーションプログラム１５２２および仮想ＯＳ１５２１の実行ファイルをイメージファイル化し、イメージファイル１５１３として保存する。ユーザからアプリケーションプログラム終了の指示を受け付けた時点での、仮想計算機１２２０の最新の状態がイメージファイル１５１３として保存される。この時点でブレードＰＣ１００１では実ＯＳ１２１１のみが動いている状態となる。
【００７６】
次に、端末ＰＣ１００７単体で業務を継続して行なう予定がある旨の指示がユーザから接続プログラム１３１３に予め与えられている場合、接続プログラム１３１３は、イメージファイル１５１３をネットワーク１００６経由でブレードＰＣ１００１から端末ＰＣ１００７へ転送する（ステップ２０１３）。端末ＰＣ１００７では、受信したイメージファイル１５１３を、ストレージ装置１３０８に格納する。
【００７７】
次に、ブレードＰＣ１００１のＣＰＵ１２０１は、ブレードＰＣ１００１上の実ＯＳ１２１１を終了し、端末ＰＣ１００７のＣＰＵ１３０１は、ブレードＰＣ１００１との接続を切り、接続プログラム１３１３を終了する。最後に端末ＰＣ１００７をネットワークから切り離す（ステップ２０１４）。
【００７８】
なお、本実施形態では、上述のように、セキュリティ装置１３０７としてＭＯＰＡＳＳカードを使用する。イメージファイル１５１３は、セキュリティ装置１３０７（ＭＯＰＡＳＳカード）と実ＯＳ１３１１との機能により暗号化されてストレージ装置１３０８に格納されている。そして、実行時に、セキュリティ装置１３０７と実ＯＳ１３１１とにより復号され、メインメモリ１３０２に読み込まれる。
【００７９】
このように、本実施形態では、端末ＰＣ１００７に送信されたイメージファイル１５１３は、セキュリティ装置１３０７無しでは復号し、実行することができない。従って、ユーザが一時的に端末ＰＣ１００７を離れる際、セキュリティ装置１３０７を端末ＰＣ１００７から取り外して携行すれば、端末ＰＣ１００７が紛失、あるいは盗難にあった場合でも、業務に関する情報を含むイメージファイル１５１３の内容は第三者からの不正なアクセスから保護される。
【００８０】
なお、上記においては、端末ＰＣ１００７単体での継続使用の有無を接続プログラム１３１３に予め登録しておく構成を例にあげて説明したが、これに限られない。ステップ２０１３の処理に進む前に、ユーザから指示を受け付けるよう構成してもよい。また、継続使用の関するユーザからの指示無しに、端末ＰＣ１００７の接続を切る場合は、必ず、端末ＰＣ１００７にイメージファイルを転送するよう構成してもよい。
【００８１】
また、上記において、端末ＰＣ１００７は、受信したイメージファイル１５１３を、ストレージ装置１３０８に保持するよう構成しているが、これに限られない。例えば、ＭＯＰＡＳＳ自体に保持するよう構成してもよい。
【００８２】
図１０は、図９での処理フローに従って、イメージファイル１５１３を受け取り、端末ＰＣ１００７を単独で使用した後、再び端末ＰＣ１００７を、ネットワークに接続するまでの処理フローである。
【００８３】
まず、ＣＰＵ１３０１が端末ＰＣ１００７上で動作する実ＯＳ１３１１上で仮想計算機プログラム１３１２を実行すると、予め端末ＰＣ１００７のストレージ装置１３０８に転送されているイメージファイル１５１３の情報を用いて仮想計算機１２２０が起動する（ステップ２０２１）。すなわち、仮想ＯＳ１５２１が、設定ファイル１５２３に保持されている設定に従って起動し、端末ＰＣ１００７において、仮想計算機１２２０による環境が構築される。ユーザからの指示を受け付けると、イメージファイル１５１３に格納されているアプリケーションプログラム１５２２が、設定ファイル１５２３に設定されている各種設定に従って、実行される（ステップ２０２２、２０２３）。
【００８４】
ユーザは、仮想計算機１２２０を、接続プログラム１３１３を用いて端末ＰＣ１００７をブレードＰＣ１００１に接続して利用していたときと同様に、オフラインの端末ＰＣ１００７上で使用することができる。すなわち、ユーザは、ネットワーク１００６に接続していない状態でも、接続時と同じ計算機環境でアプリケーションプログラム１２３２を利用して、業務を実行できる。
【００８５】
ユーザからアプリケーションプログラム終了の指示を受け付けると、ＣＰＵ１３０１は、データファイル１５２４をイメージファイル１５１３内に保存し、アプリケーションプログラム１２３２を終了する（ステップ２０２４）。このとき、それまでのユーザの操作によりアプリケーションプログラム１２３２の設定に変更が生じていた場合には、設定ファイル１５２３としてイメージファイル内に保存される。
【００８６】
続いて、ＣＰＵ１３０１は、仮想ＯＳ１２３１と仮想計算機プログラム１３１２とを終了させ（ステップ２０２５）、仮想計算機１２２０の最新の状態をイメージファイル１５１３に保存する。このとき、仮想ＯＳ１２３１の設定に変更が生じていた場合には、その設定情報は設定ファイル１５２３としてイメージファイル１５１３内に保存される。
【００８７】
続いて、ＣＰＵ１３０１は、セキュリティ装置１３０７が接続されていることを確認後、端末ＰＣ１００７をネットワーク１００６に接続する（ステップ２０２６）。以下、図８のステップ２００４〜ステップ２００７と同様に端末ＰＣ１００７をブレードＰＣ１００１に接続する。このときのブレードＰＣ１００１も、管理サーバ１００８によって決定され、端末ＰＣ１００７から送信されたユーザの認証情報に対応づけて管理されているブレードＰＣ１００１となる。
【００８８】
次に、上述したように、このときは、端末ＰＣ１００７のストレージ装置１３０８にはイメージファイル１５１３が格納されているため、ＣＰＵ１３０１は、タイムスタンプ情報を送信し、ブレードＰＣ１００１から、端末ＰＣ１００７が保持するイメージファイル１５１３の方が新しいことを意味する返信を受け取る。
【００８９】
そして、ＣＰＵ１３０１は、接続プログラム１３１３を用いてイメージファイル１５１３をネットワーク１００６経由で端末ＰＣ１００７から、ブレードＰＣ１００１に転送する（ステップ２０２７）。
【００９０】
ブレードＰＣ１００１は、受け取ったイメージファイル１５１３で、自身が管理するストレージ１００５の論理的区分単位１５０２の既存のイメージファイル１５１３を上書きする。以下、必要に応じて図８のステップ２００９以降と同様にＰＣブレード１００１を利用して作業を行なう。
【００９１】
これにより、端末ＰＣ１００７で業務処理を行っていた最新の環境をブレードＰＣ１００１上に転送することができる。そして、端末ＰＣ１００７をオフラインで使用する場合と同様の環境を、ブレードＰＣ１００１上でサーバベースコンピューティング環境として端末ＰＣ１００７に提供することができる。
【００９２】
以上説明したように、本実施形態によれば、ブレードＰＣ１００１と端末ＰＣ１００７と、それぞれの実ＯＳ上でアプリケーションプログラムを起動するのではなく、それぞれの実ＯＳ上で仮想計算機を構築して、その仮想計算機上でアプリケーションプログラムを実行する。そして、この仮想計算機を構築し、その上でアプリケーションプログラムを実行するために必要なデータを１つのイメージファイルの中に格納し、このイメージファイルをブレードＰＣ１００１と端末ＰＣ１００７との間で転送する。従って、いずれのＰＣ上であっても、同じ仮想ＯＳ上でアプリケーションプログラムを実行することになり、その環境の設定も継承されるため、ユーザは、ブレードＰＣ１００１と端末ＰＣ１００７との実ＯＳの違いやアプリケーションのバージョンの違いを意識する必要がなくなる。
【００９３】
また、本実施形態では、ＭＯＰＡＳＳによる認証処理、暗号化処理を導入し、サーバ/クライアント間で送受信される仮想計算機環境を実現するために必要なイメージファイルに、権限のないものがアクセスすることを防止する。
【００９４】
本実施形態によれば、クライアントをサーバに接続してオンライン状態でサーバベースコンピューティングにより作業を行う場合と同様の操作性および同様のセキュリティの高さを保ちつつ、オフライン状態でクライアントを利用して作業を行うことができる環境をユーザに提供できる。
【００９５】
以上説明したように、本発明によれば、サーバベースコンピューティング環境において、ネットワーク接続不可の場所でも、ユーザに、サーバで実現している環境を端末上で安全に提供できる。
【図面の簡単な説明】
【００９６】
【図１】図１は、図１は、本実施形態に係る計算機システムの構成を表す図である。
【図２】図２は、本実施形態のブレードＰＣの内部構成を示す図である。
【図３】図３は、本実施形態の端末ＰＣの内部構成を示す図である。
【図４】図４は、本実施形態のストレージ装置の内部構成を表す図である。
【図５】図５は、本実施形態の論理的区分単位に格納されているデータを説明するための図である。
【図６】図６は、本実施形態のイメージファイルに含まれるデータを説明するための図である。
【図７】図７は、本実施形態の仮想計算機の構成を示す図である。
【図８】図８は、本実施形態の、端末ＰＣをネットワークに接続して処理を開始するまでのフローである。
【図９】図９は、本実施形態の端末ＰＣをネットワークから切断するまでのフローである。
【図１０】図１０は、本実施形態の端末ＰＣを、単独使用の後再びネットワークに接続するまでのフローである。
【符号の説明】
【００９７】
１００１：ブレードＰＣ、１００２：ブレードＰＣシステム、１００３：電源制御装置、１００４：ハブ、１００５：ストレージ、１００６：ネットワーク、
１００７：端末ＰＣ、１００８：管理サーバ、１２０１：ＣＰＵ、１３０１：ＣＰＵ、１２０２：メインメモリ、１３０２：メインメモリ、１３０３：表示装置、１３０４：ユーザ入力インタフェース、１３０５：キーボード、１３０６：ポインティングデバイス、１３０７：セキュリティ装置、１３０８：ストレージ装置、１３１５：セキュリティインタフェース、１２０９：通信インタフェース、１３０９：通信インタフェース
【図１】
2006107185.tif 000003
【図２】
2006107185.tif 000004
【図３】
2006107185.tif 000005
【図４】
2006107185.tif 000006
【図５】
2006107185.tif 000007
【図６】
2006107185.tif 000008
【図７】
2006107185.tif 000009
【図８】
2006107185.tif 000010
【図９】
2006107185.tif 000011
【図１０】
2006107185.tif 000012