JP5180399B2 - 情報処理装置、情報処理方法およびプログラム - Google Patents

情報処理装置、情報処理方法およびプログラム Download PDF

Info

Publication number
JP5180399B2
JP5180399B2 JP2012185132A JP2012185132A JP5180399B2 JP 5180399 B2 JP5180399 B2 JP 5180399B2 JP 2012185132 A JP2012185132 A JP 2012185132A JP 2012185132 A JP2012185132 A JP 2012185132A JP 5180399 B2 JP5180399 B2 JP 5180399B2
Authority
JP
Japan
Prior art keywords
data
operating system
information processing
file
virtual machine
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2012185132A
Other languages
English (en)
Other versions
JP2013016186A (ja
Inventor
宏 中嶋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2012185132A priority Critical patent/JP5180399B2/ja
Publication of JP2013016186A publication Critical patent/JP2013016186A/ja
Application granted granted Critical
Publication of JP5180399B2 publication Critical patent/JP5180399B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明の実施形態は、例えば、複数のクライアントをサーバで管理するネットワークシステムに適用される情報処理装置に好適な情報処理技術に関する。
近年、多くの企業で業務のIT(information technology)化が図られており、このような企業では、社員は、例えば会社から貸与されるPC(personal computer)を使って作業を行っている。また、これらPCを相互に接続してデータを含むリソースの共有化を図るために、オフィスにLAN(local area network)を敷設することも広く行われている。
一方、社員が業務に使用するPCを介して企業の機密情報が漏洩するといった問題も散見されている。このようなことから、オフィスで業務に使用されるPCに関するセキュリティ強化を図るための仕組みがこれまでも種々提案されている。
特公平6−100991号公報 特開2001−184294号公報 特許第2598486号公報
例えば、シンクライアントは、CPU(central processing unit)と主メモリとの他は、通信デバイスと、ユーザインタフェース用のキーボードやディスプレイデバイスとのみを備えるコンピュータであり、オペレーティングシステムを含む各種プログラムやデータは、ネットワークを介して接続されるサーバ(シンクライアントサーバ)によって管理される。即ち、ユーザが使用するシンクライアント側でデータが保存されることがないので、情報の漏洩を防止でき、セキュリティの強化を図ることが実現される。
ところで、最近のオペレーティングシステムは、プロファイルなどと称される各ユーザ固有のユーザデータを管理することで、ログインしたユーザ毎に、例えばデスクトップなどと称される基本画面のレイアウトを設定すること等を可能としている。一部のシンクライアントサーバは、オペレーティングシステムを含む各種プログラムを動作させるための仮想的なハードウェア環境である仮想マシンを複数構築することができ、各仮想マシンに各々シンクライアントを割り当てる。そして、このシンクライアントサーバは、各仮想マシン上で動作するオペレーティングシステムに対して、その仮想マシンに割り当てたシンクライアントを利用するユーザ用のユーザデータを供給する。これにより、各仮想マシン上で動作するオペレーティングシステムによって各ユーザ向けの画面が作成され、その画像データがシンクライアントに転送されて各ユーザに提示されることになる。なお、以下では、オペレーティングシステムを含む各種プログラムと、各ユーザ固有のユーザデータとの組み合わせによって各仮想マシン上に構築される各ユーザ毎の作業環境を仮想デスクトップ環境と称することがある。
ここで、HDD(hard disc drive)等の外部記憶装置を備えるPCのシンクライアント化について考える。より具体的には、PC上に仮想マシンを構築する機能と、仮想マシン上で動作するオペレーティングシステムを含む各種プログラムや当該各種プログラムの入出力データを、ネットワークを介して接続される管理サーバやファイルサーバ等によって管理する機能とを有するモジュールをPCに搭載することを考える。つまり、社員等が業務に使用するPC上にデータを保存させない仕組みをPC上に構築する。なお、管理サーバ等による各種プログラムの管理は、運用管理を目的とするものであって、各種プログラムがPC上に置かれることを防げるものではない。
この場合、(仮想マシン上で動作する)オペレーティングシステムがログイン時に使用する各ユーザ固有のユーザデータは、例えばファイルサーバ等によって管理されることになる。よって、ユーザがログインする都度、そのユーザ固有のユーザデータをファイルサーバから取得することが必要となる。オペレーティングシステムは、この取得されたユーザデータに基づき、仮想デスクトップ環境を構築する。
従って、例えばショートカットなどと称されるオブジェクト(アイコン)を多数デスクトップ上に配置する等、ユーザが基本画面のレイアウトについて様々なカスタマイズを施すことにより、このユーザデータが大きくなると、ファイルサーバが高負荷状態に陥っている場合やファイルサーバとの間のネットワーク帯域が狭い場合には、ログインが完了するまでの時間が長期化してしまうおそれがある。
また、基本画面のレイアウトについてカスタマイズが施された場合等には、ログアウト時に更新後のユーザデータをファイルサーバに反映させる必要が生じるために、ログアウトが完了するまでの時間が長期化してしまうおそれもある。
本発明は、サーバとクライアントとの間におけるデータの同期を効率的に取ることを実現する情報処理装置、情報処理装置の情報処理方法およびプログラムを提供することを目的とする。
実施形態によれば、情報処理装置は、オペレーティングシステムの設定情報を含む各ユーザ固有のユーザデータをネットワークを介して接続されるファイルサーバで管理する。情報処理装置は、前記オペレーティングシステムを含む各種プログラムを動作させるための仮想的なハードウェア環境である仮想マシンを構築する仮想化エンジンを具備する。仮想化エンジンは、仮想ディスクファイル生成手段と、データ処理実行手段とを有する。仮想ディスクファイル生成手段は、前記ファイルサーバから配信されたユーザデータを格納するファイルであって、前記仮想マシン上で動作するオペレーティングシステムにディスクとして認識させる仮想ディスクファイルを、この仮想ディスクファイルに対して行われた操作により生ずる差分データを時系列にレイヤとして蓄積するデータ構造を持つファイルとして生成し、前記ファイルサーバに転送する。データ処理実行手段は、前記ファイルサーバから前記ユーザデータの配信を受けて実行するデータ処理を、時系列的に新しい上位レイヤの差分データから前記ユーザデータの転送を受けて実行する。
実施形態の情報処理装置が適用されるネットワークシステムの一構成例を示す図。 実施形態の情報処理装置のシステム構成を示す図。 実施形態の情報処理装置のサーバとの間のデータ転送を効率化する原理を説明するための概念図。 実施形態の情報処理装置が生成する仮想ディスク用の仮想ディスクファイルのデータ構造を示す図。
以下、実施の形態について図面を参照して説明する。
図1は、本実施形態の情報処理装置(クライアント(PC)3またはシンクライアントサーバ4)が適用されるネットワークシステムの一構成例を示す図である。このネットワークシステムは、例えば企業が業務用に構築するネットワークシステムであって、各社員(ユーザ)は、クライアント3またはシンクライアント5を用いて作業を行う。なお、ここでは、分かり易くするために、クライアント3とシンクライアント5とを1つずつ示したが、クライアント3とシンクライアント5とは一般的にはそれぞれ複数存在し、ユーザは、作業を開始する際、いずれのクライアント3、シンクライアント5を用いても、同じユーザが使用しているデスクトップ環境を利用できる。さらに、ここでは、クライアント3と、シンクライアントサーバ4およびシンクライアント5との両方を示したが、クライアント3のみが存在し、または、シンクライアントサーバ4およびシンクライアント5のみが存在するように、当該ネットワークシステムを構成することも当然に可能である。
図1に示すように、このネットワークシステムは、管理サーバ1、ファイルサーバ2、クライアント3およびシンクライアントサーバ4がLAN6aに接続され、また、シンクライアントサーバ4とシンクライアント5とがLAN6bに接続されている。なお、ここでは、論理的な階層関係を分かり易く示すために、LAN6aとLAN6bとの2つを示したが、これらは、物理的には1つのLANとして敷設されるものであっても良い。
まず、ユーザがクライアント3を使用する場合について説明する。
クライアント3は、例えばノートブック型のPCであり、図2に示すように、CPU101、主メモリ102、外部記憶装置103、入力装置104、表示装置105および通信装置106を具備している。
CPU101は、オペレーティングシステムを含む各種プログラムを外部記憶装置103から主メモリ102にロードして実行する。クライアント3には、仮想マシン20を構築するためのプログラムである仮想化エンジン10がインストールされている。仮想マシン20は、ユーザが利用するオペレーティングシステムを含む各種プログラムを動作させるための仮想的なハードウェア環境である。仮想化エンジン10は、1台のクライアント3上に複数の仮想マシン20を構築することができる。また、仮想化エンジン10は、後述する仮想ディスクファイル生成モジュール11、仮想ディスクファイル管理モジュール12、データ転送モジュール13およびシンクライアントサーバ処理モジュール14を有している。
クライアント3は、起動されると、起動ディスクとして割り当てられた外部記憶装置103から第1のオペレーティングシステムを主メモリ102にロードして当該第1のオペレーティングシステムを起動する。第1のオペレーティングシステムは、常駐プログラムとして定義された仮想化エンジン10を起動するために用いられるオペレーティングシステムである。つまり、クライアント3の起動と同時に、第1のオペレーティングシステムの制御下で仮想化エンジン10が起動する。
通信装置106が実行するLAN6aを介した通信によって接続される管理サーバ1のシステムデータDB(database)1aには、クライアント3上に構築された仮想マシン20上において構築されるべき仮想デスクトップ環境用のイメージデータ(システムデータ)がファイルとして格納されている。このイメージデータの中には、第2のオペレーティングシステムと、当該第2のオペレーティングシステムの制御下で動作する各種アプリケーションプログラムとが含まれる。イメージデータは、例えば管理サーバ1上に仮想マシンを構築し、この仮想マシン上で第2のオペレーティングシステムおよび各種アプリケーションプログラムのインストールを実行することによって生成する。この第2のオペレーティングシステムおよび各種アプリケーションプログラムは、各ユーザが作業を行うために利用する共通のプログラムである。
起動した仮想化エンジン10は、このイメージデータ(および後述する各ユーザ固有のユーザデータ)を使って、クライアント3上に構築した仮想マシン20上に各ユーザ毎の仮想デスクトップ環境を構築する。このイメージデータは、例えば、クライアント3が初めて起動された際に、仮想化エンジン10によって管理サーバ1から取得されて外部記憶装置103に格納される。以降、仮想化エンジン10は、適宜に、外部記憶装置103に格納されたイメージデータが管理サーバ1のシステムデータDB1aに格納された最新版のイメージデータか否かを調べて、最新版でなければ、管理サーバ1から最新版のイメージデータ(最新版にアップデートするための更新プログラム)を取得する処理を行う。イメージデータが更新された際に、管理サーバ1からクライアント3に対して、最新版のイメージデータを配信するようにしても良い。仮想化エンジン10が管理サーバ1のシステムデータDB1aに格納されたイメージデータを使ってクライアント3上に仮想マシン20を構成することで、ユーザが業務に使用するクライアント3の業環境を統一的に管理することができる(運用管理)。例えば社内の部門によって利用するアプリケーションプログラムが一部異なる場合、部門毎にイメージデータを作成したり、部門毎に差分データを用意したりすることで対応可能である。
前述したように、クライアント3が起動すると、第1のオペレーティングシステムによって仮想化エンジン10が起動し、この仮想化エンジン10が構築する仮想マシン20上で第2のオペレーティングシステムが起動する。そして、第2のオペレーティングシステムによって、ユーザがログインするためのGUI(graphical user interface)画面が表示装置105に提示される。ユーザは、このGUI画面の提示に応答して、入力装置104を使って、ユーザID(identification data)やパスワードを入力する。第2のオペレーティングシステムは、この入力されたユーザIDやパスワードを用いてユーザ認証を含むログイン手続きを実行し、デスクトップなどと称される基本画面を表示装置105に提示する。第2のオペレーティングシステムは、仮想化エンジン10によって構築される複数の仮想マシン20間で異なるものであっても良い。
また、仮想化エンジン10は、ユーザが使用するデータがクライアント3に保存されることを防止する機能を有している。仮想化エンジン10は、仮想マシン20毎に、主メモリ102または外部記憶装置103上に仮想ディスクファイルを生成する。仮想ディスクファイル生成モジュール11は、この仮想ディスクファイルの生成を司るモジュールである。そして、仮想化エンジン10は、この生成した仮想ディスクファイルを、仮想マシン20上で動作する第2のオペレーティングシステムにディスクとして認識させる。即ち、仮想化エンジン10は、仮想マシン20上に仮想ディスクを構築する。例えば、第2のオペレーティングシステムの制御下で動作するアプリケーションプログラムが、(第2のオペレーティングシステムを介して)仮想マシン20上の仮想ディスクにデータを書き込むと、そのデータは、主メモリ102または外部記憶装置103上の仮想ディスクファイルに格納される。主メモリ102または外部記憶装置103上に生成される仮想ディスクファイルは一時的なものであり、仮想化エンジン10は、この仮想ディスクファイルに格納したデータを、通信装置106が実行するLAN6aを介した通信によって接続されるファイルサーバ2によって管理する。
つまり、仮想マシン20上で動作する第2のオペレーティングシステムを含む各種プログラムが仮想ディスクに書き込んだデータは、実際にはLAN6aを介して接続されるファイルサーバ2のユーザデータDB2aによって保存され、また、当該各種プログラムが仮想ディスクから読み出そうとするデータは、実際にはファイルサーバ2のユーザデータDB2aに存在する。換言すれば、一時的に存在することはあっても、ユーザが使用するデータがクライアント3に保存されることがない。データ転送モジュール13は、仮想ディスクファイルとファイルサーバ2との間でデータの同期を取るために必要なデータ転送を司るモジュールである。
仮想化エンジン10は、仮想マシン20上の仮想ディスク(外部記憶装置103内の仮想ディスクファイル)に書き込まれたデータのファイルサーバ2への転送を、ログアウト時に実施する。仮想化エンジン10は、ログアウト時にファイルサーバ2へ転送したデータを、外部記憶装置103上から削除する。また、仮想化エンジン10は、クライアント3がLAN6aから切り離されていることを検知した場合、仮想マシン20上で動作する第2のオペレーティングシステムを含む各種プログラムによる仮想ディスクへのアクセスを行えないようにする。例えば、仮想マシン20上から仮想ディスクを抹消する。これにより、仮想ディスクファイル内のデータが、当該ネットワークシステムを離れて利用されることを防止する。即ち、シンクライアント5と同等のセキュリティ強化を実現する。
前述したログイン手続きを実行し、デスクトップなどと称される基本画面を表示装置105に提示する際、第2のオペレーティングシステムは、プロファイルなどと称される各ユーザ固有のユーザデータを読み出す。第2のオペレーティングシステムは、この読み出したユーザデータに基づき、ログインしたユーザ向けの基本画面を表示装置105に提示する。例えば、あるプログラムを起動するためのショートカットなどと称されるオブジェクト(アイコン)を基本画面に配置しておけば、このアイコンを操作するだけで、そのプログラムを簡単に起動することが可能となる。この基本画面上のショートカットの配置などが、ユーザデータとして管理される。よって、同一のクライアント3を使用する場合であっても、ユーザAがログインした場合と、ユーザBがログインした場合とで、表示装置105に提示する基本画面を変えることができる。
仮想化エンジン10は、(第2のオペレーティングシステムが管理する)このプロファイルなどと称される各ユーザ固有のユーザデータを、ファイルサーバ2のユーザデータDB2aによって保存する。よって、ログイン時、第2のオペレーティングシステムからの読み出し要求に応えるために、ファイルサーバ2のユーザデータDB2aから仮想マシン20上の仮想ディスク(外部記憶装置103内の仮想ディスクファイル)へユーザデータを転送することが必要となる。
図3の(A)に示すように、通常、クライアント3とファイルサーバ2との間のデータ転送は、仮想マシン20上で動作する各種プログラムが読み出しを要求するファイル単位で実行される。従って、例えばユーザが基本画面を自分が使いやすいように大幅にカスタマイズした等により、ユーザデータが大きくなると、場合によっては、ファイルサーバ2からクライアント3への転送に時間を要し、ログイン操作後、クライアント3が使用可能な状態となるまで、ユーザに長時間待機させてしまうおそれがある。
そこで、本実施形態の情報処理装置は、ファイルサーバ2とクライアント3との間におけるユーザデータの転送(ユーザデータの同期の取得)を効率的に行うことを実現したものであり、以下、この点について詳述する。
このファイルサーバ2とクライアント3との間におけるユーザデータの転送を効率的に行うために、仮想化エンジン10は、仮想マシン20上に仮想ディスクを構築するための仮想ディスクファイルを、図4に示すようなデータ構造を持つファイルとして主メモリ102上に生成する。主メモリ102が第2のオペレーティングシステムで使用されずに残った空きメモリが少ない場合には、管理者のセキュリティレベルの選択により、外部記憶装置103に生成してもよい。また、仮想化エンジン10は、この仮想ディスクファイルを、仮想マシン20上で動作する第2のオペレーティングシステムにログインするユーザ毎に生成する。つまり、仮想化エンジン10は、仮想マシン20上で動作する第2のオペレーティングシステムにログインするユーザが切り替わると、仮想マシン20上に構築する仮想ディスク用の仮想ディスクファイルの切り換えを実行する。
図4に示すように、仮想ディスクファイルは、差分データを時系列にレイヤとして蓄積するデータ構造を持つ。各レイヤは、データが存在するブロックを複数集めて1つのブロックファイルとしたものである。つまり、仮想ディスクファイルは、複数のブロックファイルの集合体として存在する。各ブロックファイルの先頭または最後尾には、ヘッダまたはフッタがあり、各ブロックのデータが仮想ディスクのどのセクタに対応するのかを示す情報、例えばビットマップが格納される。
仮想マシン20上で動作する第2のオペレーションプログラムを含む各種プログラムがデータの書き込みを行うと、仮想化エンジン10は、このデータを最上位レイヤに配置する(図4のa1,a2)。例えば新規データの書き込み等であって、書き込み対象のブロックが最上位レイヤに存在しない場合(図4のa1)、仮想化エンジン10は、そのデータを格納するためのブロックを確保して、当該ブロックにデータを書き込むと共に、最上位レイヤ(ブロックファイル)のヘッダ(H)またはフッタ(F)に格納されるビットマップの書き換えを実行する。一方、更新のためのデータの書き込みであって、書き込み対象のブロックが最上位レイヤに存在した場合(図4のa2)、仮想化エンジン10は、この最上位レイヤに存在するブロック内へのデータの書き込みを実行する。また、更新対象データを含むブロックが下位レイヤに存在する場合、仮想化エンジン10は、そのブロックの無効化または削除を併せて実行してもよい。削除しない場合は、ディスク論理的容量は大きくなるが、最上位レイヤが万一破損しても最上位レイヤを除去すると、最新の書き込みデータは失われるが、レイヤが生成される1つ前の状態に戻すことができる。
また、仮想マシン20上で動作する第2のオペレーションプログラムを含む各種プログラムがデータの読み出しを行う場合、通常、そのデータを含むブロックはいずれかのレイヤに存在する。もし、最上位レイヤに存在したならば(図4のa3)、仮想化エンジン10は、そのブロックからデータの読み出しを実行する。一方、下位レイヤに存在した場合には(図4のa4)、仮想化エンジン10は、そのブロックからのデータの読み出し時、当該ブロックを最上位レイヤにコピーする処理を併せて実行する。
この仮想化エンジン10の働きにより、最上位レイヤのブロックファイルには、仮想マシン20上で動作する第2のオペレーションプログラムを含む各種プログラムによって最近アクセスされたデータを含むブロックが存在することとなる。仮想ディスクファイル管理モジュール12は、仮想マシン20上で動作する第2のオペレーションプログラムを含む各種プログラムによるデータアクセスに伴う仮想ディスクファイルの更新管理を司るモジュールである。
この仮想ディスクファイルのデータ構造および仮想化エンジン10による仮想ディスクファイルの更新手順を踏まえて、ファイルサーバ2とクライアント3との間におけるユーザデータの転送についての説明を進める。
仮想マシン20上で動作する第2のオペレーションシステムによるGUI画面の提示に応答して、ユーザがユーザIDやパスワードを入力してログインすると、仮想化エンジン10は、このユーザ用の仮想ディスクを仮想マシン20上に構築する。つまり、外部記憶装置103内に当該ユーザ用の仮想ディスクファイルを生成する。この仮想ディスクファイルの生成は、ユーザデータDB2aに保存された仮想ディスクファイルをファイルサーバ2から取得して主メモリ102または外部記憶装置103に格納することによって実施される。この時、仮想化エンジン10は、図3の(B)に示すように、最上位レイヤのブロックファイルから順に取得していく。より具体的には、仮想化エンジン10は、ファイルサーバ2に対し、仮想ディスクファイルを構成する複数のブロックファイルのうち、まず、最上位レイヤのブロックファイルを転送することを要求する。
そして、この最上位レイヤのブロックファイルを受け取った時点で、仮想化エンジン10は、仮想マシン20上で動作する第2のオペレーションプログラムに(部分的にしかファイルサーバ2からの転送が完了していない)仮想ディスクファイルをディスクとして認識させる。ログイン時のアクセスは、ほぼ前回使用したデータに対するものなので、そのデータは最上位レイヤに存在する。よって、最上位レイヤのみでログイン手続きを完了できる。仮想化エンジン10は、クライアント3の負荷を考慮して、例えばログイン手続きの完了後、一定の間隔を置いて、下位レイヤのブロックファイルのファイルサーバ2からの取得を開始する。つまり、本実施形態の情報処理装置は、アクセスされる可能性の高いデータを先に転送し、アクセスされる可能性の低いデータは後で転送するという効率的なデータ転送(データの同期の取得)を実現する。これにより、ログイン操作後、クライアント3が使用可能となるまでの時間を大幅に短縮することができる。
なお、ファイルサーバ2からクライアント3への転送が完了していない下位レイヤに存在するデータの読み出しが要求された場合、仮想化エンジン10は、データの読み出し要求の受け付けを一時停止する。そして、その下位レイヤのブロックファイルがクライアント3に取り込まれたら、仮想化エンジン10は、当該データの読み出し要求の受け付けを停止した状態を解除する。すべてのブロックファイルが転送し終わると、読み出しが行えないデータは存在しない状態となる。
一方、ログアウト時には、更新が発生したレイヤのブロックファイルのみファイルサーバ2に転送すればよい。これにより、ログアウトが完了するまでの時間も短縮することができる。なお、更新のためのデータの書き込みが行われた際、更新対象データを含むブロックが下位レイヤに存在する場合、前述したように、仮想化エンジン10は、この下位レイヤのブロックの無効化または削除を実行する。ブロックを削除すると、当該下位レイヤ(ブロックファイル)のサイズを小さくできるので、当該ブロックファイルのファイルサーバ2への転送時間を短くすることができる。また、ブロックの無効化は、例えば、無効化された旨を示す属性情報(典型的にはフラグ)を付すことによって実施される。この場合には、当該下位レイヤのブロックファイルのサイズは変わらないので、当該ブロックファイルのファイルサーバ2への転送時間が短くなることはない。しかしながら、履歴として更新前データが残ることになるので、例えば過去の任意の時点の仮想ディスクの状態を再現すること等が可能となる。
仮想化エンジン10は、下位レイヤに存在するデータの読み出しが要求された場合、前述したように、このデータを最上位レイヤにコピーする。内容が同じであればどのレイヤから読み出しても不整合が生じることはない。つまり、同一のデータが複数のレイヤに存在しても問題はない。下位レイヤ(ブロックファイル)の更新を控えることで、仮想化エンジン10は、ログアウト時にファイルサーバ2へ転送するブロックファイルの数を抑止する。
次に、ユーザがシンクライアント5を使用する場合について説明する。
シンクライアント5は、例えば、図2に示したクライアント3の構成から外部記憶装置103を削除した構成を持つコンピュータである。
前述したように、仮想化エンジン10は、1台のクライアント3上に複数の仮想マシン20を構築することができる。シンクライアント5を管理するシンクライアントサーバ4にも、この仮想化エンジン10がインストールされている。なお、シンクライアントサーバ4は、例えば、図2に示したクライアント3の構成と同等の構成を持つコンピュータである。シンクライアントサーバ4上での仮想化エンジン10の起動手順は、クライアント3上での仮想化エンジン10の起動手順と同様である。即ち、シンクライアントサーバ4が起動されると、(仮想化エンジン10を起動するための)第1のオペレーティングシステムが起動されて、当該第1のオペレーティングシステムの制御下で、常駐プログラムとして定義された仮想化エンジン10が起動される。
シンクライアントサーバ4上で動作する仮想化エンジン10は、例えば管理するシンクライアント5の数だけ仮想マシン20を構築し、管理サーバ1のシステムデータDB1aに格納されたイメージデータを使って、各仮想マシン20上に仮想デスクトップ環境を構築する。そして、シンクライアントサーバ4上で動作する仮想化エンジン10は、各仮想マシン20上で動作する第2のオペレーティングシステムが作成した(ユーザがログインするための)GUI画面用の画像データを各シンクライアント5に転送する。
シンクライアント5は、シンクライアントサーバ4から受け取った画像データを用いてGUI画面を表示し、ユーザIDやパスワードの入力を受け付ける。シンクライアント5は、入力されたユーザIDやパスワードをシンクライアントサーバ4に転送する。シンクライアントサーバ4上で動作する仮想化エンジン10は、このユーザIDやパスワードを仮想マシン20上で動作する第2のオペレーティングシステムに引き渡す。第2のオペレーティングシステムは、このユーザIDやパスワードを用いてユーザ認証を含むログイン手続きを実行し、当該ユーザ向けの基本画面用の画像データを作成する。シンクライアントサーバ4上で動作する仮想化エンジン10は、この基本画面用の画像データを各シンクライアント5に転送する。以降、シンクライアントサーバ4上で動作する仮想化エンジン10は、仮想マシン20とシンクライアント5との間に介在して、画像データと操作データとを中継する処理を実行する。即ち、仮想化エンジン10は、自身がインストールされたコンピュータをシンクライアント化する機能に加えて、自身がインストールされたコンピュータを、シンクライアントを管理するサーバとして動作させる機能を備えている。シンクライアントサーバ処理モジュール14は、この(自身がインストールされたコンピュータを、シンクライアントを管理するサーバとして動作させる)機能を司るモジュールである。
シンクライアントサーバ4上に構築された複数の仮想マシン20上でそれぞれ動作する第2のオペレーティングシステムが基本画面用の画像データを作成する際にも、仮想化エンジン10は、ログインしたユーザ用のユーザデータ(当該ユーザデータが格納された仮想ディスクファイル)をファイルサーバ2から取得する必要がある。そこで、仮想化エンジン10は、ファイルサーバ2に対し、取得対象の仮想ディスクファイルを構成する複数のブロックファイルのうち、まず、最上位レイヤのブロックファイルを転送することを要求する。
そして、この最上位レイヤのブロックファイルを受け取った時点で、仮想化エンジン10は、仮想マシン20上で動作する第2のオペレーションプログラムに(部分的にしかファイルサーバ2からの転送が完了していない)仮想ディスクファイルをディスクとして認識させる。前述したように、ログイン時のアクセスは、ほぼ前回使用したデータに対するものなので、そのデータは最上位レイヤに存在する。よって、最上位レイヤのみでログイン手続きを完了できる。つまり、本実施形態の情報処理装置は、アクセスされる可能性の高いデータを先に転送し、アクセスされる可能性の低いデータは後で転送するという効率的なデータ転送(データの同期の取得)を実現する。これにより、ログイン操作後、シンクライアント5が使用可能となるまでの時間を大幅に短縮することができる。
なお、シンクライアント5を使用するユーザが種々のデータ更新を行ったとしても、更新データはシンクライアントサーバ4側に存在するので、シンクライアント5でログアウトされた場合は、このログアウトを即時に完了させて構わない。ログアウト後、シンクライアントサーバ4とファイルサーバ2との間で仮想ディスクファイルについてデータの同期を取れば良い(更新対象データを含むブロックが存在するブロックファイルのシンクライアントサーバ4からファイルサーバ2への転送)。
以上のように、本実施形態の情報処理装置(クライアント3,シンクライアントサーバ4)によれば、(仮想マシン上で動作する)オペレーティングシステムやアプリケーションプログラムが認識するファイル単位ではなく、仮想ディスク用の仮想ディスクファイルを構成するブロックファイル単位でファイルサーバ2とのデータ転送が行われ、ファイルサーバ2との間におけるデータの同期を効率的に取ることが実現される。これにより、シンクライアント化したクライアント3またはシンクライアント5でログイン操作が行われた後、これらが使用可能となるまでの時間を大幅に短縮することができる。
新たなレイヤの生成は、指定の期間(例えば1週間)が経過したら、新レイヤを生成する、または最上位のレイヤのブロックが1つのレイヤの最大値に至った時点で、新たなレイヤを作成する。レイヤを生成するタイミングは、ユーザデータの使用頻度、用途によって調整できる。
以上の説明では、ファイルサーバ2で管理するユーザ固有のユーザデータを対象としてデータの同期を取る方法を説明したが、管理サーバ1で管理されるシステムデータを対象とすることも可能である。前述の方法は、ディスクレスのシンクライアントに対するシステムデータの転送などに利用することができる。
なお、本実施形態の動作制御処理は、ソフトウェア(プログラム)によって実現することができるので、このソフトウェアを格納したコンピュータ読み取り可能な記憶媒体を通じてこのソフトウェアを通常のコンピュータにインストールして実行することにより、本実施形態と同様の効果を容易に実現することができる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると共に、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1…管理サーバ、1a…システムデータDB、2…ファイルサーバ、2a…ユーザデータDB、3…クライアント、4…シンクライアントサーバ、5…シンクライアント、6a…LAN、6b…LAN、10…仮想化エンジン、11…仮想ディスクファイル生成モジュール、12…仮想ディスクファイル管理モジュール、13…データ転送モジュール、14…シンクライアントサーバ処理モジュール、20…仮想マシン、101…CPU、102…主メモリ、103…外部記憶装置、104…入力装置、105…表示装置、106…通信装置。

Claims (21)

  1. オペレーティングシステムの設定情報を含む各ユーザ固有のユーザデータをネットワークを介して接続されるファイルサーバで管理する情報処理装置であって、
    前記オペレーティングシステムを含む各種プログラムを動作させるための仮想的なハードウェア環境である仮想マシンを構築する仮想化エンジンを具備し、
    前記仮想化エンジンは、
    前記ファイルサーバから配信されたユーザデータを格納するファイルであって、前記仮想マシン上で動作するオペレーティングシステムにディスクとして認識させる仮想ディスクファイルを、この仮想ディスクファイルに対して行われた操作により生ずる差分データを時系列にレイヤとして蓄積するデータ構造を持つファイルとして生成し、前記ファイルサーバに転送する仮想ディスクファイル生成手段と、
    前記ファイルサーバから前記ユーザデータの配信を受けて実行するデータ処理を、時系列的に新しい上位レイヤの差分データから前記ユーザデータの転送を受けて実行するデータ処理実行手段と、
    を有する情報処理装置。
  2. 前記データ処理は、前記仮想マシン上で動作するオペレーティングシステムのログイン動作に関する処理であり、
    このログイン動作は、前記オペレーティングシステムの設定情報を含む上位レイヤの差分データが到着した時点で、起動する請求項1に記載の情報処理装置。
  3. 前記仮想化エンジンは、前記仮想マシン上で動作するオペレーティングシステムから読み出しが要求されたデータが前記仮想ディスクファイル内の最上位レイヤ以外のレイヤに存在した場合、当該データを最上位レイヤ上に複製する仮想ディスクファイル管理手段をさらに有する請求項1に記載の情報処理装置。
  4. 前記仮想ディスクファイル管理手段は、前記仮想マシン上で動作するオペレーティングシステムからデータの書き込みが要求された際、更新対象データが下位レイヤに存在する場合、無効化された旨を示す属性情報を付すことによって当該下位レイヤのデータを無効化する請求項3に記載の情報処理装置。
  5. 前記仮想ディスクファイル管理手段は、前記仮想マシン上で動作するオペレーティングシステムからデータの書き込みが要求された際、更新対象データが下位レイヤに存在する場合、当該下位レイヤのデータを削除する請求項3に記載の情報処理装置。
  6. 前記仮想化エンジンは、前記ファイルサーバで管理されるユーザデータに基づいて前記仮想マシン上で動作するオペレーティングシステムが作成する画面の画像データを前記ネットワークを介して接続されるシンクライアント端末に転送するシンクライアントサーバ処理手段をさらに有する請求項1に記載の情報処理装置。
  7. 前記シンクライアントサーバ処理手段は、前記シンクライアント端末から受信した操作データを前記仮想マシン上で動作するオペレーティングシステムに転送する請求項6に記載の情報処理装置。
  8. オペレーティングシステムを含む各種プログラムを動作させるための仮想的なハードウェア環境である仮想マシンを構築し、前記仮想マシン上で動作する前記オペレーティングシステムの設定情報を含む各ユーザ固有のユーザデータをネットワークを介して接続されるファイルサーバで管理する情報処理装置の情報処理方法であって、
    前記情報処理装置が、前記ファイルサーバから配信されたユーザデータを格納するファイルであって、前記仮想マシン上で動作するオペレーティングシステムにディスクとして認識させる仮想ディスクファイルを、この仮想ディスクファイルに対して行われた操作により生ずる差分データを時系列にレイヤとして蓄積するデータ構造を持つファイルとしてプロセッサにより生成し、前記ファイルサーバに通信装置により転送し、
    前記情報処理装置が、前記ファイルサーバから前記ユーザデータの配信を受けて実行するデータ処理を、時系列的に新しい上位レイヤの差分データから前記ユーザデータの転送を受けて前記プロセッサにより実行する、
    情報処理装置の情報処理方法。
  9. 前記データ処理は、前記仮想マシン上で動作するオペレーティングシステムのログイン動作に関する処理であり、
    このログイン動作は、前記オペレーティングシステムの設定情報を含む上位レイヤの差分データが到着した時点で、起動する請求項8に記載の情報処理装置の情報処理方法。
  10. 前記情報処理装置が、前記仮想マシン上で動作するオペレーティングシステムから読み出しが要求されたデータが前記仮想ディスクファイル内の最上位レイヤ以外のレイヤに存在した場合、当該データを最上位レイヤ上に前記プロセッサにより複製する請求項8に記載の情報処理装置の情報処理方法。
  11. 前記情報処理装置が、前記仮想マシン上で動作するオペレーティングシステムからデータの書き込みが要求された際、更新対象データが下位レイヤに存在する場合、無効化された旨を示す属性情報を付すことによって当該下位レイヤのデータを前記プロセッサにより無効化する請求項10に記載の情報処理装置の情報処理方法。
  12. 前記情報処理装置が、前記仮想マシン上で動作するオペレーティングシステムからデータの書き込みが要求された際、更新対象データが下位レイヤに存在する場合、当該下位レイヤのデータを前記プロセッサにより削除する請求項10に記載の情報処理装置の情報処理方法。
  13. 前記情報処理装置が、前記ファイルサーバで管理されるユーザデータに基づいて前記仮想マシン上で動作するオペレーティングシステムが作成する画面の画像データをネットワークを介して接続されるシンクライアント端末に前記通信装置により転送する請求項8に記載の情報処理装置の情報処理方法。
  14. 前記情報処理装置が、前記シンクライアント端末から受信した操作データを前記仮想マシン上で動作するオペレーティングシステムに前記通信装置により転送する請求項13に記載の情報処理装置の情報処理方法。
  15. オペレーティングシステムの設定情報を含む各ユーザ固有のユーザデータをネットワークを介して接続されるファイルサーバで管理し、前記オペレーティングシステムを含む各種プログラムを動作させるための仮想的なハードウェア環境である仮想マシンを構築する仮想化エンジンを持つコンピュータを、
    前記ファイルサーバから配信されたユーザデータを格納するファイルであって、前記仮想マシン上で動作するオペレーティングシステムにディスクとして認識させる仮想ディスクファイルを、この仮想ディスクファイルに対して行われた操作により生ずる差分データを時系列にレイヤとして蓄積するデータ構造を持つファイルとして生成し、前記ファイルサーバに転送する仮想ディスクファイル生成手段、
    前記ファイルサーバから前記ユーザデータの配信を受けて実行するデータ処理を、時系列的に新しい上位レイヤの差分データから前記ユーザデータの転送を受けて実行するデータ処理実行手段、
    として機能させるためのプログラム。
  16. 前記データ処理は、前記仮想マシン上で動作するオペレーティングシステムのログイン動作に関する処理であり、
    このログイン動作は、前記オペレーティングシステムの設定情報を含む上位レイヤの差分データが到着した時点で、起動する請求項15に記載のプログラム。
  17. 記コンピュータを、前記仮想マシン上で動作するオペレーティングシステムから読み出しが要求されたデータが前記仮想ディスクファイル内の最上位レイヤ以外のレイヤに存在した場合、当該データを最上位レイヤ上に複製する仮想ディスクファイル管理手段としてさらに機能させるための請求項15に記載のプログラム。
  18. 前記仮想ディスクファイル管理手段は、前記仮想マシン上で動作するオペレーティングシステムからデータの書き込みが要求された際、更新対象データが下位レイヤに存在する場合、無効化された旨を示す属性情報を付すことによって当該下位レイヤのデータを無効化する請求項17に記載のプログラム。
  19. 前記仮想ディスクファイル管理手段は、前記仮想マシン上で動作するオペレーティングシステムからデータの書き込みが要求された際、更新対象データが下位レイヤに存在する場合、当該下位レイヤのデータを削除する請求項17に記載のプログラム。
  20. 記コンピュータを、前記ファイルサーバで管理されるユーザデータに基づいて前記仮想マシン上で動作するオペレーティングシステムが作成する画面の画像データを前記ネットワークを介して接続されるシンクライアント端末に転送するシンクライアントサーバ処理手段としてさらに機能させる請求項15に記載のプログラム。
  21. 前記シンクライアントサーバ処理手段は、前記シンクライアント端末から受信した操作データを前記仮想マシン上で動作するオペレーティングシステムに転送する請求項20に記載のプログラム。
JP2012185132A 2012-08-24 2012-08-24 情報処理装置、情報処理方法およびプログラム Active JP5180399B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012185132A JP5180399B2 (ja) 2012-08-24 2012-08-24 情報処理装置、情報処理方法およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012185132A JP5180399B2 (ja) 2012-08-24 2012-08-24 情報処理装置、情報処理方法およびプログラム

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2011145955 Division 2011-06-30 2011-06-30

Publications (2)

Publication Number Publication Date
JP2013016186A JP2013016186A (ja) 2013-01-24
JP5180399B2 true JP5180399B2 (ja) 2013-04-10

Family

ID=47688760

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012185132A Active JP5180399B2 (ja) 2012-08-24 2012-08-24 情報処理装置、情報処理方法およびプログラム

Country Status (1)

Country Link
JP (1) JP5180399B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6079357B2 (ja) * 2013-03-26 2017-02-15 日本電気株式会社 情報処理装置、仮想pc型シンクライアントシステム、ログイン負荷軽減方法、及びログイン負荷軽減プログラム
EP3018585A4 (en) * 2013-07-02 2017-02-22 Fujitsu Limited Machine provision method, machine provision system, and machine provision program

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003196138A (ja) * 2001-12-25 2003-07-11 Matsushita Electric Ind Co Ltd データベース同期処理装置および記録媒体
JP5086723B2 (ja) * 2007-07-30 2012-11-28 株式会社リコー 情報処理装置、情報処理方法、情報処理プログラム、及び記憶媒体
JP4808275B2 (ja) * 2007-11-26 2011-11-02 株式会社シー・オー・コンヴ ネットワークブートシステム
JP2009258922A (ja) * 2008-04-15 2009-11-05 Nippon Telegr & Teleph Corp <Ntt> 多地点のコンピュータ管理システム及び方法
JP5477660B2 (ja) * 2009-01-07 2014-04-23 日本電気株式会社 ネットブート型シンクライアントシステム、コンピュータ、シンクライアント実施方法、及びシンクライアント用プログラム
JP5222171B2 (ja) * 2009-02-03 2013-06-26 株式会社日立製作所 データベース管理方法およびデータベース管理システム
JP5295046B2 (ja) * 2009-09-02 2013-09-18 株式会社日立ソリューションズ 利用者端末装置及び利用者端末装置の制御方法

Also Published As

Publication number Publication date
JP2013016186A (ja) 2013-01-24

Similar Documents

Publication Publication Date Title
JP6674532B2 (ja) 複数構内でのデジタルコンテンツアイテムのホスティングにおけるコンテンツアイテムブロック複製プロトコル
US10001913B2 (en) Shared workspaces with selective content item synchronization
JP5945031B2 (ja) 複製されたデータインスタンスのプロビジョニングおよび管理
US9043391B2 (en) Capturing and restoring session state of a machine without using memory images
US8296267B2 (en) Upgrade of highly available farm server groups
JP4411076B2 (ja) ネットワーク中でファイルを配布するためのローカル化された読み込み専用記憶装置
JP4437432B2 (ja) 計算機システム
JP5328177B2 (ja) 情報処理装置、情報処理装置のデータ処理方法、記憶媒体及びプログラム
US20120011509A1 (en) Migrating Session State of a Machine Without Using Memory Images
US20050010609A1 (en) Migratable backup and restore
US8745342B2 (en) Computer system for controlling backups using wide area network
US20140122860A1 (en) Cloud system and boot deployment method for the cloud system
CN111989903B (zh) 用于云服务的数据高速缓存
JP2010086050A (ja) アプリケーションデータのバックアップ構成構築に用いる管理計算機
US11604705B2 (en) System and method for cloning as SQL server AG databases in a hyperconverged system
US20120102484A1 (en) Installing software remotely using a high privilege process
JP5346405B2 (ja) ネットワークシステム
US10963430B2 (en) Shared workspaces with selective content item synchronization
JP5092046B1 (ja) 情報処理装置およびプログラム
JP2009237767A (ja) 情報引継方法及び退避・復元装置及び情報引継ぎプログラム
CN110795278A (zh) 用于提供文件级恢复的系统和方法
JP2013186793A (ja) 情報処理装置、イメージファイル作成方法およびプログラム
JP5180399B2 (ja) 情報処理装置、情報処理方法およびプログラム
US20130007736A1 (en) Information processing apparatus, method of processing information and storage medium
JP2009258922A (ja) 多地点のコンピュータ管理システム及び方法

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121126

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20121218

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130110

R151 Written notification of patent or utility model registration

Ref document number: 5180399

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160118

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313114

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350