以下、図面を参照して、本発明の実施形態を詳細に説明する。
図1は、本発明の実施形態である端末管理システム100の構成を示すシステム構成図である。
端末管理システム100は、複数のクライアント101、端末管理ツールサーバ102、1または複数のイメージ管理サーバ103がネットワーク104を介して接続される構成となっている。
クライアント101は、教室等に設置されユーザが使用する情報処理端末であり、教室等の設置場所ごとにOS等の実行環境が決められている。また、OSのアップデート等の実行環境の更新が必要となった場合、複数のクライアントのうちの1つのクライアント101を差分作成用クライアント110として使用し、ハードディスクの更新部分の情報である差分イメージを作成し、作成された差分イメージをイメージ管理サーバ103に送信し登録する。
端末管理ツールサーバ102は、各クライアント101の状態を監視し、各クライアント101およびイメージ管理サーバ103の処理実行制御を行う。
イメージ管理サーバ103は、クライアント101のハードディスクに適用することによりハードディスクの記憶内容を書き変えることが可能なイメージを管理する。イメージには、親イメージおよび差分(子)イメージがあり、親イメージはクライアント101をOS単位で初期状態からセットアップする場合に適用され、差分イメージは既にOS単位で全体イメージが適用されたクライアント101に対して差分更新する場合に適用される。
ネットワーク104は、通常、企業や大学など組織内のLAN(ローカルエリアネットワーク)により実現されるが、インターネットにて実現することにより、クラウド環境を構築してもよい。
なお、本実施例では、端末管理ツールサーバ102とイメージ管理サーバ103を別筐体としているが、同一筐体として、1つのサーバでそれぞれの装置に対応する機能を持たせる構成であってもよい。
以下、図2を用いて図1に示したクライアント101、端末管理ツールサーバ102、、イメージ管理サーバ103に適用可能な情報処理装置のハードウェア構成について説明する。
図2は、図1に示したクライアント101、端末管理ツールサーバ102、、イメージ管理サーバ103に適用可能な情報処理装置のハードウェア構成を示すブロック図である。
図2において、201はCPUで、システムバス204に接続される各デバイスやコントローラを統括的に制御する。また、ROM202あるいは外部メモリ211には、CPU201の制御プログラムであるBIOS(Basic Input / Output System)やオペレーティングシステムプログラム(以下、OS)や、各サーバ或いは各PCの実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。
203はRAMで、CPU201の主メモリ、ワークエリア等として機能する。CPU201は、処理の実行に際して必要なプログラム等をROM202あるいは外部メモリ211からRAM203にロードして、該ロードしたプログラムを実行することで各種動作を実現するものである。
また、205は入力コントローラで、キーボード(KB)209や不図示のマウス等のポインティングデバイス等からの入力を制御する。206はビデオコントローラで、ディスプレイ210への表示を制御する。ディスプレイ210は、CRTや液晶ディスプレイ等の表示器である。
207はメモリコントローラで、ブートプログラム,各種のアプリケーション,フォントデータ,ユーザファイル,編集ファイル,各種データ等を記憶する外部記憶装置(ハードディスク(HD))や、フレキシブルディスク(FD)、或いはPCMCIAカードスロットにアダプタを介して接続されるコンパクトフラッシュ(登録商標)メモリ等の外部メモリ211へのアクセスを制御する。
208は通信I/Fコントローラで、ネットワーク(例えば、図1に示したネットワーク104)を介して外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いた通信等が可能である。
なお、CPU201は、例えばRAM203内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、ディスプレイ210上での表示を可能としている。また、CPU201は、ディスプレイ210上の不図示のマウスカーソル等でのユーザ指示を可能とする。
本発明を実現するための後述する各種プログラムは、外部メモリ211に記録されており、必要に応じてRAM203にロードされることによりCPU201によって実行されるものである。さらに、上記プログラムの実行時に用いられる設定ファイル等も外部メモリ211に格納されており、これらについての詳細な説明も後述する。
次に、図3を参照して、本発明の実施形態である端末管理システム100のクライアント101(差分作成用クライアント110)、端末管理ツールサーバ102、イメージ管理サーバ103の持つ機能構成の一例について説明する。
クライアント101は、受信部301、差分イメージ作成部302、復旧部303を持つ。
受信部301は、端末管理ツールサーバ102から差分イメージの作成要求を受信する機能部である。
差分イメージ作成部302は、受信部301にて受信した差分イメージ作成要求に従って、差分イメージを作成する差分更新モードで当該クライアントを起動し、ハードディスクに対して受け付けた更新部分の差分イメージを作成する機能部である。
復旧部303は、差分イメージ作成部302にて作成した差分イメージをイメージ管理サーバ103に送信した後、差分作成用クライアントのハードディスクの内容が更新前の環境となるように、端末管理ツールサーバ102で管理されている端末管理情報に従って、イメージ管理サーバ103からイメージを取得して、ハードディスクの内容を更新する機能部である。
端末管理ツールサーバ102は、決定部311、送信部312、端末環境情報管理部313を持つ。
決定部311は、差分イメージを作成するクライアントを、前記複数のクライアントから決定する機能部である。対象クライアントはユーザから指定を受け付けてもよいし、固定設定や任意のクライアントを自動選択してもよい。
送信部312は、決定部311にて決定されたクライアントに対して、差分イメージを作成させるべく、差分イメージ作成要求を送信する機能部である。
端末環境情報管理部313は、各クライアント101の環境情報を管理するデータベースを持ち、当該データベースを操作する機能部である。クライアント101から問合せがあれば、データベースを検索して情報を送信し、クライアント101からデータを取得してデータベースを更新する。
イメージ管理サーバ103は、イメージ管理部321を持つ。
イメージ管理部は321は、イメージを管理するデータベースを持ち、当該データベースを操作する機能部である。クライアント101で作成された差分イメージを登録し、クライアント101から要求があれば、イメージを配信する。
次に、図16を参照して、本発明の実施形態である端末管理システム100のクライアント101(差分作成用クライアント110)、端末管理ツールサーバ102、イメージ管理サーバ103のモジュール構成の一例について説明する。
クライアント101は、ハードウェア1601、仮想マシン管理プログラム1603、OS1604、端末管理ツールクライアントプログラム1605、アプリケーションプログラム1606が階層的に配置される。
ハードウェア1601は、図2にて説明した通りであるが、ハードディスク1602が含まれる。
仮想マシン管理プログラム1603は、一般にハイパーバイザー(Hypervisor)、または、仮想マシンモニタ(VMM;Virtual Machine Monotor)と呼ばれる制御プログラムであり、OS1604に依存せず直接ハードウェア1601上で動作し、ハードウェア1601のリソースを割り当てて制御することにより、単一のハードウェア1601上で仮想的に複数のOS1604を動作させることができる。また、仮想マシン管理プログラム1603は、端末管理ツールクライアントプログラム1605から指示を受け、イメージ管理サーバ103のイメージ管理プログラム1621と連携して、イメージの送受信等を行う。また、仮想マシン管理プログラム1603は、端末管理ツールクライアントプログラム1605から指示を受け、ハードディスク1602の記憶箇所のアドレスに関連した処理機能を持つ。つまり、ハードディスクの特定の記憶箇所のアドレス取得や、アドレスを指定した記憶箇所のデータ取得やデータ更新を実施する。この機能により、ハードディスク1602から変更のあった記憶箇所のデータを取得して差分イメージを作成することや、イメージ管理サーバ103から取得した差分イメージによりハードディスクの差分対象箇所を更新することが可能となる。
OS1604は、OS(Operating System)プログラムであり、仮想マシン管理プログラム1603上で実行される。
端末管理ツールクライアントプログラム1605は、OS1604上で実行され、端末管理ツールサーバ102の端末管理ツールサーバプログラム1611と連携してクライアント101の起動状態を確認し、クライアント101の仮想マシン管理プログラム1603と連携してイメージ関連の処理を実行させる。
アプリケーションプログラム1606は、OS1604上で実行される、特定機能を持つプログラムであり、例えば、業務用プログラムやオフィスプログラムなどである。
端末管理ツールサーバ102は、端末管理ツールサーバプログラム1611、端末管理データベース1612を持つ。
端末管理ツールサーバプログラム1611は、クライアント101の端末管理ツールクライアントプログラム1605と連携して、要求されたデータを端末管理データベース1612から取得してクライアント101に送信し、クライアント101からデータを受けて端末管理データベース1612を更新する。さらに、クライアント101に関連処理の実行指示を行う。
また、端末管理ツールサーバプログラム1611は、イメージ管理サーバ103のイメージ管理プログラム1621と連携し、必要なデータの送受信および、イメージ管理サーバ103に関連処理の実行指示を行う。
端末管理データベース1612は、クライアント101に関する各種情報を格納する。
イメージ管理サーバ103は、イメージ管理プログラム1621、イメージデータベース1622を持つ。
イメージ管理プログラム1621は、クライアント101の仮想マシン管理プログラム1603と連携して、イメージデータの送受信を行う。
また、イメージ管理プログラム1621は、端末管理ツールサーバ102の端末管理ツールサーバプログラム1611と連携し、端末管理ツールサーバ102から処理要求を受けて処理を実行し、結果通知等を端末管理ツールサーバ102に送信する。
イメージデータベース1622は、イメージデータを格納する。
以下、図15を参照して、本発明で使用するデータの一例について説明する。
本実施例では、各データを端末管理ツールサーバ102の外部メモリ211に配置された端末管理データベース1612に格納しているが、イメージ管理サーバ103や外部サーバの記憶装置など、アクセス可能な記憶装置に格納する形態としてもよい。
まず、端末管理テーブル1500の一例について説明する。
端末管理テーブル1500は、端末ID1501、キャッシュ割合1502、BGインストール1503、動作モード1504、設置場所ID1505を含む。
端末ID1501は、クライアントを一意に識別するコードである。
キャッシュ割合1502は、適用すべきイメージ全体に対してどれくらいハードディスクにキャッシュされたかを百分率で示す。
BGインストール1503は、バックグラウンドインストール設定の内容を示す。
動作モード1504は、クライアントを起動する時の動作モードを示す。動作モードの種類は、通常起動モード、差分更新モード、イメージ変更モード等があり、各モードの詳細については、処理フローの説明の後述する。
設置場所ID1505は、クライアントが設置される実際の場所、または、クライアントが属する論理的な場所グループを表すコードである。同一設置場所IDを持つクライアントはクライアント固有設定部分を除いて、基本的に同一環境に設定される。
次に、設置場所管理テーブル1510の一例について説明する。
設置場所管理テーブル1510は、設置場所ID1511、設置場所名1512、イメージID1513、起動時間帯1514、起動可能OS1515を含む。
設置場所ID1511は、設置場所(教室等の実際の場所、または、論理的な場所グループ)を一意に識別するコードである。
設置場所名1512は、設置場所を説明するテキストである。
イメージID1513は、設置場所ごとに適用するイメージを示すコードである。
起動時間帯1514は、設置場所ごとに起動を許可されている時間帯である。開始時間と終了時間を設定する。
起動可能OS1515は、設置場所ごとに許可されている起動OSの種類である。本実施例では「Mac/Win選択可」、「Macのみ」、「Winのみ」のいずれかを指定できる。
次に、端末固有テーブル1520の一例について説明する。
端末固有テーブル1520は、端末ID1521、端末名1522、IPアドレス1523を含む。
端末ID1521は、クライアントを一意に識別するコードである。
端末名1522は、クライアントのネットワーク設定時に、クライアントを識別するためのコードであり、OSによってコンピュータ名等の項目名で呼ばれている内容である。
IPアドレス1523は、クライアントのネットワーク設定時に設定するIPアドレスである。
次に、イメージ管理テーブル1530の一例について説明する。
イメージ管理テーブル1530は、イメージID1531、イメージ名1532、イメージ説明1533、種別1534、親イメージID1535、作成端末ID1536を含む。
イメージID1531は、イメージを一意に識別するIDであり、システムが自動で付与する。
イメージ名1532は、イメージを表す文字列であり、イメージ登録時に入力を受け付ける。
イメージ説明1533は、イメージを説明するテキストであり、イメージ登録時に入力を受け付ける
種別1534は、当該イメージが親イメージか、差分イメージかを表す。
親イメージID1535は、当該イメージの親イメージのイメージIDである。当該イメージが親イメージである場合は、自分自身のイメージIDが設定される。差分イメージについては、差分イメージ登録時に親イメージを指定した際に自動で設定される。
作成端末ID1536は、当該イメージを作成したクライアントの端末IDである。通常、イメージにはそのイメージを作成したクラアントの端末固有の情報が含まれている。
以下、図7を参照して、通常運用の全体処理の一例について説明する。
ステップS701では、端末管理ツールサーバ102は、管理者から、不図示の設定画面により設置場所、端末ごとの設定変更を受け付ける。受け付けた内容は、端末管理テーブル1500、設置場所管理テーブル1510に反映される。変更可能な内容は、端末管理テーブル1500の動作モード1504、設置場所管理テーブル1510のイメージID1513、起動時間帯1514、起動可能OS1515、などである。
ステップS721では、クライアント101は、ユーザからシステム起動要求を受け付けてシステムを起動する。通常、ユーザによってクライアント101の電源ボタンが押下されることにより、システム起動要求を受け付けることになる。
ステップS722では、クライアント101の端末管理ツールクライアントプログラム1605は、システム起動後に、起動時の状態確認要求を端末管理ツールサーバ102へ送信する。本処理は、動作モードを確認するために実施される。
ステップS702では、端末管理ツールサーバ102の端末管理ツールサーバプログラム1611は、クライアント101から起動時の状態確認要求を受信する。
ステップS703では、端末管理ツールサーバ102の端末管理ツールサーバプログラム1611は、端末管理テーブル1500の要求のあったクライアントの動作モード1504を取得して、起動時の状態としてクライアント101へ送信する。
ステップS723では、クライアント101の端末管理ツールクライアントプログラム1605は、端末管理ツールサーバ102から起動時の状態を受信する。ここで、動作モードを受信するが、本フローでは、動作モードとして「通常起動モード」または「イメージ変更モード」を受信したものとして説明する。また、「通常起動モード」でも環境保護設定がONの場合とOFFの場合があるが、変更がある場合は、仮想マシン管理プログラム1603の環境保護設定の内容を変更する。環境保護設定とは、シャットダウン時にユーザの使用によるハードディスクの変更結果を残すか(OFFの場合)、起動時の状態に戻すか(ONの場合)を決めるものである。
動作モードとして「差分更新モード」を受信した場合の処理は、図4にて後述する。
ステップS724では、クライアント101は、受信した動作モードが「イメージ変更モード」かどうかを判断する。「イメージ変更モード」の場合はステップS725に進み、「通常起動モード」の場合はステップS726に進む。
ステップS725では、クライアント101の端末管理ツールクライアントプログラム1605は、起動イメージ変更処理を起動する。本処理の詳細は図8にて後述する。
ステップS726では、クライアント101の端末管理ツールクライアントプログラム1605は、起動スケジュール情報確認要求を端末管理ツールサーバ102へ送信する。本処理は、起動時間帯と、起動可能OSを確認するために実施される。
ステップS704では、端末管理ツールサーバ102の端末管理ツールサーバプログラム1611は、クライアント101から起動スケジュール情報の確認要求を受信する。
ステップS705では、端末管理ツールサーバ102の端末管理ツールサーバプログラム1611は、端末管理テーブル1500から要求のあったクライアントの設置場所ID1505を取得し、取得した設置場所ID1505をもとに設置場所管理テーブル1510から起動時間帯1514、起動可能OS1515を取得し、起動スケジュール情報としてクライアント101へ送信する。
ステップS727では、クライアント101の端末管理ツールクライアントプログラム1605は、端末管理ツールサーバ102から起動スケジュール情報として起動時間帯と起動可能OSを受信する。
ステップS728では、クライアント101の端末管理ツールクライアントプログラム1605は、受信した起動時間帯をもとに起動可能な時間帯であるかを判断する。判断した結果、現時点が起動可能な時間帯ではない場合はステップS729に進み、起動可能な時間帯である場合はステップS730に進む。
ステップS729では、クライアント101の端末管理ツールクライアントプログラム1605は、シャットダウン処理を起動しステップS735に進む。
ステップS730では、クライアント101の端末管理ツールクライアントプログラム1605は、受信した起動可能OSをもとに、起動したOSが起動可能OSと合っているかどうかを判断する。起動可能OSと合っていない場合はステップS731に進み、起動可能OSと合っている場合はステップS733に進む。
ステップS731では、クライアント101の端末管理ツールクライアントプログラム1605は、仮想マシン管理プログラム1603に対し再起動後に起動するOSが起動可能OSとなるように設定変更する。例えば、起動可能OSが「Macのみ」に設定されており、WinOSで起動した場合は、本機能が動作し、自動的にMacOSで再起動するように設定変更する。
ステップS732では、クライアント101の端末管理ツールクライアントプログラム1605は、システムを再起動することにより、仮想マシン管理プログラム1603がステップS731にて設定した内容を認識して変更後のOSで起動する。ステップS722から再度実行する。
ステップS733では、クライアント101のハードウェア1601等は、ユーザの使用を受け付ける。
ユーザ使用時、つまり、OS起動からシャットダウンまでの間、ステップS738のバックグラウンドインストール設定、および、ステップS739のバックグラウンドインストール実行を非同期で実行する。バックグラウンドインストール設定処理の詳細は図9にて、バックグラウンドインストール実行処理の詳細は図10にて後述する。
ステップS734では、クライアント101のOS1604は、ユーザからシャットダウン操作を受け付けたかどうかを判断する。シャットダウン操作を受け付けた場合はステップS735に進み、そうでない場合はS733にてユーザの使用を継続して受け付ける。
ステップS735では、クライアント101の仮想マシン管理プログラム1603は、環境保護設定がONかどうかを判定する。ONであればステップS736に進み、OFFであればステップS737に進む。
ステップS736では、クライアント101の仮想マシン管理プログラム1603は、ハードディスクの一時領域のデータをクリアする。環境保護設定がONの場合、ステップS733のユーザ使用時にハードディスクの一時領域をデータ更新用に使用するように制御しているので、それにより起動時のハードディスクの状態に復元される。
ここで図17を参照して、環境保護設定によるハードディスクの使用状況について説明する。1701は更新前のハードディスクの記憶領域の状態を表す。
1702は環境保護設定がOFFの場合の、更新後のハードディスクの記憶領域の状態を表し、更新データは各OS用に区分された記憶領域に記録される。この領域は通常モードで再起動しても更新内容がクリアされることはないが、リフレッシュモードで再起動した場合、更新前の内容に戻る(図6)。
一方、1703は環境保護設定がONの場合の、更新後のハードディスクの記憶領域の状態を表し、更新データは一時領域に記録される。この領域は再起動するとクリアされるため、常に更新前の状態に戻る。
図7の説明に戻る。
ステップS737では、クライアント101のOS1604は、シャットダウンを実行する。
これで、通常運用の全体処理を終了する。
ここで、図17を用いて、環境保護設定によるハードディスクの更新方法の違いについて説明する。
1701は更新前のハードディスクの状態を示す。本例では、OS非依存領域、各OSに対するイメージ領域、一時領域に分割され、各OSに対するイメージ領域にはOS、アプリケーション、データ等が含まれる。
1702は環境保護設定OFFの場合の、ハードディスクの更新例を示す。本例では、OSに対するイメージ領域が更新されている。この領域は、特殊なモード(リフレッシュモードなど)で再起動しなければクリアされることはない。
1703は環境保護設定ONの場合の、ハードディスクの更新例を示す。本例では一時領域が更新されている。この領域はシステムを再起動するとクリアされる。
次に、図8を参照して、ステップS725の起動イメージ変更処理の一例について説明する。
ステップS821では、クライアント101の端末管理ツールクライアントプログラム1605は、端末管理ツールサーバ102の端末管理ツールサーバプログラム1611に要求して設置場所管理テーブル1510からイメージID1513を取得し、仮想マシン管理プログラム1603に対し起動イメージIDを変更する設定を行う。
ステップS822では、クライアント101の端末管理ツールクライアントプログラム1605は、イメージを切り替えるためにシステムを再起動する。
ステップS823では、クライアント101の仮想マシン管理プログラム1603は、起動時に、ステップS821にて設定された起動イメージIDをもとに、イメージ管理サーバ103にイメージ配信要求をし、ステップS841にてイメージ管理サーバのイメージ管理プログラム1621によりイメージの配信を受け、ハードディスクを更新する。この際、起動を短時間で行うため、起動に必要なハードディスクの内容のみが更新(キャッシュ)され、起動に必要のない部分は更新されない。
ステップS824では、クライアント101の端末管理ツールクライアントプログラム1605は、取得した起動イメージを作成したクライアントが自分自身かどうかを判断する。作成クライアントが自分自身であれば、当該イメージには自分自身の固有設定が含まれており、クライアント固有設定は不要であるため、処理を終了する。作成クライアントが自分自身でない場合は、ステップS825に進む。
ステップS825では、クライアント101の端末管理ツールクライアントプログラム1605は、端末設定情報要求を端末管理ツールサーバ102に送信する。本処理は、クライアント固有の設定情報を取得するために実施される。
ステップS801では、端末管理ツールサーバ102の端末管理ツールサーバプログラム1611は、クライアント101から端末設定情報要求を受信する。
ステップS802では、端末管理ツールサーバ102の端末管理ツールサーバプログラム1611は、端末固有テーブル1520から要求のあったクライアントの端末名1522、IPアドレス1523を取得し、端末設定情報としてクライアント101に送信する。
ステップS826では、クライアント101の端末管理ツールクライアントプログラム1605は、端末管理ツールサーバ102から、端末設定情報として端末名、IPアドレスを受信する。
ステップS827では、クライアント101の端末管理ツールクライアントプログラム1605は、受信した端末名、IPアドレスに基づいてシステム設定を更新する。これにより、クライアント固有の設定が反映される。
これで、起動イメージ変更処理を終了する。
次に、図9を参照してステップS738のバックグラウンドインストール設定処理の一例について説明する。
ステップS901では、端末管理ツールサーバ102の端末管理ツールサーバプログラム1611は、不図示の設定画面により、設置場所ごとにバックグラウンドインストールのON/OFF設定を受け付ける。受け付けた内容により、端末管理テーブル1500の設置場所に一致するクライアントに対して、BGインストール1503が更新される。
ステップS921では、クライアント101の端末管理ツールクライアントプログラム1605は、定期的に(5分おき、など)通知タイミングを判断し、通知タイミングになれば、ステップS922に進む。
ステップS922では、クライアント101の端末管理ツールクライアントプログラム1605は、端末情報を端末管理ツールサーバ102に送信する。送信する内容は、端末ID、キャッシュ割合、などである。キャッシュ割合とは、適用すべきイメージ全体のうち既にハードディスクに適用した割合を示す。
ステップS902では、端末管理ツールサーバ102の端末管理ツールサーバプログラム1611は、クライアント101から端末情報を受信する。
ステップS903では、端末管理ツールサーバ102の端末管理ツールサーバプログラム1611は、端末情報として受信した端末IDに対して、受信したキャッシュ割合で端末管理テーブル1500のキャッシュ割合1502を更新する。これにより、ステップS905にて、各クライアント101のインストール状況を随時確認可能となる。
ステップS904では、端末管理ツールサーバ102の端末管理ツールサーバプログラム1611は、端末管理テーブル1500から通信中のクライアントのバックグラウンドインストールのON/OFFを設定したBGインストール1503を取得し、バックグラウンドインストール設定としてクライアント101に送信する。
ステップS923では、クライアント101の端末管理ツールクライアントプログラム1605は、端末管理ツールサーバ102からバックグラウンドインストール設定を受信する。
ステップS924では、クライアント101の端末管理ツールクライアントプログラム1605は、受信したバックグラウンドインストール設定がONかOFFかを判断する。ONならばステップS926にて仮想マシン管理プログラム1603のバックグラウンドインストール設定をONにしてバックグラウンドインストールを受けるように設定し、OFFならばステップS927にて仮想マシン管理プログラム1603のバックグラウンド設定をOFFにしてバックグラウンドインストールを受けないように設定し、本処理フローを終了する。
上記のようにクライアント101から端末管理ツールサーバ102に定期的に端末情報を送信するタイミングで、バックグラウンドインストール設定を端末管理ツールサーバ102からクライアント101に送信しているのは、端末管理ツールサーバ102にてバックグラウンドインストール設定が変更されるのは、クライアント101の起動前だけはなく、起動後にも変更される場合があるため、できるだけタイムリーにクライアント101に反映させるためである。
これで、バックグラウンドインストール設定処理を終了する。
次に、図10を参照して、ステップS739のバックグラウンドインストール実行処理の一例について説明する。
ステップS1021では、クライアント101の仮想マシン管理プログラム1603は、予め決められた時間間隔ごとに(10秒おき、など)実行タイミングを判断し、実行タイミングになれば、ステップS1022に進む。本処理を実行する時間間隔は、システム全体で共通設定としてもよいし、設置場所やクライアントごとに変更できるようにしてもよい。
ステップS1022では、クライアント101の仮想マシン管理プログラム1603は、バックグラウンドインストール設定がONかどうかを判断する。ONであればステップS1023に進み、OFFであれば本処理フローを終了する。
ステップS1023では、クライアント101の仮想マシン管理プログラム1603は、バックグラウンドインストールの実行条件を満たしているかを判断する。実行条件を満たしている場合にはステップS1024に進み、満たしていない場合には本処理フローを終了する。本実施例では、実行条件として、インストール状況が100%となっていないかどうか、および、クライアント101自身の負荷が低いかどうかで判断している。
ステップS1024では、クライアント101の仮想マシン管理プログラム1603は、イメージ管理サーバ103に適用すべきイメージの配信要求を送信し、ステップS1041にてイメージ管理サーバ103のイメージ管理プログラム1621によりイメージの配信を受けてハードディスクを更新することによりバックグラウンドインストールを実行する。実行条件を満たす間は処理を継続し、満たさなくなれば処理を中断する。
これで、バックグラウンドインストール実行処理を終了する。
次に、図4を参照して、差分イメージ登録処理の一例について説明する。
本処理は図7で説明した通常運用の全体処理とは別に、クライアント101の環境を更新する必要がある場合に、配信用の差分イメージを登録するための処理である。
本処理では、差分イメージを作成するためのクライアントとして、複数あるクライアント101のうちの1つが選択され、これを差分作成用クライアント110と呼ぶことにする。
ステップS401では、端末管理ツールサーバ102の端末管理ツールサーバプログラム1611は、差分イメージ作成開始を受け付ける。差分イメージ登録画面1100(図11)にてユーザ操作により入力された対象クライアント、差分イメージ名、差分イメージ説明を取得する。すなわち、差分のディスクイメージを作成するクライアント端末を複数のクライアント端末から決定する処理である。なお、取得した差分イメージ名、差分イメージ説明は記憶させておき、後述のステップS411の処理で利用される。
ステップS402では、端末管理ツールサーバ102の端末管理ツールサーバプログラム1611は、差分イメージ作成用サービスを起動する指示を、イメージ管理サーバ103へ送信する。
ステップS441では、イメージ管理サーバ103のイメージ管理プログラム1621は、端末管理ツールサーバ102から起動指示を受信し、差分イメージ作成用サービスを起動させる。
ステップS403では、端末管理ツールサーバ102の端末管理ツールサーバプログラム1611は、端末管理テーブル1500の差分作成用クライアントの動作モード1504を「差分更新モード」に変更する。
ステップS421では、差分作成用クライアント110は、ユーザからシステム起動要求を受け付けてシステムを起動する。通常、ユーザによって差分作成用クライアント110の電源ボタンが押下されることにより、システム起動要求を受け付けることになる。
ステップS422では、差分作成用クライアント110の端末管理ツールクライアントプログラム1605は、システム起動後に、起動時の状態確認要求を端末管理ツールサーバ102へ送信する。本処理は、動作モードを確認するために実施される。
ステップS404では、端末管理ツールサーバ102の端末管理ツールサーバプログラム1611は、差分作成用クライアント110から起動時の状態確認要求を受信する。
ステップS405では、端末管理ツールサーバ102の端末管理ツールサーバプログラム1611は、端末管理テーブル1500の差分作成用クライアントの動作モード1504を取得して、起動時の状態としてクライアント101へ送信する。ここでは、ステップS403で変更した「差分更新モード」が動作モードとして送信される。すなわち、決定されたクライアント端末に対して、差分のディスクイメージを作成させるべく、差分イメージ作成要求を送信する処理である。
ステップS423では、差分作成用クライアント110の端末管理ツールクライアントプログラム1605は、端末管理ツールサーバ102から起動時の状態を受信する。本フローでは、動作モードとして「差分更新モード」を受信する。すなわち、差分イメージ作成要求を受信する処理である。
ステップS424では、差分作成用クライアント110の端末管理ツールクライアントプログラム1605は、動作モードとして「差分更新モード」を受信したことに従い、仮想マシン管理プログラムの環境保護設定をOFFに設定して、システムを再起動する。すなわち、受信した差分イメージ作成要求に従って、差分のディスクイメージを作成する差分イメージモードでクライアント端末を起動する処理である。
ステップS425では、差分作成用クライアント110は、再起動後、環境更新処理を実施する。本処理の詳細は図5(a)にて後述する。
ステップS426では、差分作成用クライアント110の端末管理ツールクライアントプログラム1605は、不図示の入力画面から更新中止操作または更新完了操作を受け付けたかどうかを判断する。更新中止操作を受け付けた場合はステップS427に進み、更新完了操作を受け付けた場合はステップS428に進む。各操作は、例えば、入力画面上に表示した「中止」ボタン、「完了」ボタンを押下する操作である。なお、この操作は差分作成用クライアント110ではなく、任意の端末に入力画面を表示させて受け付けてもよい。
ステップS427では、差分作成用クライアント110の端末管理ツールクライアントプログラム1605は、端末管理ツールサーバ102に更新作業中止通知を送信する。なお、ステップS426の処理を任意の端末で実施した場合は、処理を実施した端末が通知を送信する。
ステップS406では、端末管理ツールサーバ102の端末管理ツールサーバプログラム1611は、差分作成用クライアント110から更新作業中止通知を受信する。なお、ステップS426の処理を任意の端末で実施した場合は、処理を実施した端末から通知を受信する。その後、ステップS432に進む。
ステップS428では、差分作成用クライアント110の端末管理ツールクライアントプログラム1605は、端末管理ツールサーバ102に更新作業完了通知を送信する。なお、ステップS426の処理を任意の端末で実施した場合は、処理を実施した端末が通知を送信する。
ステップS407では、端末管理ツールサーバ102は、差分作成用クライアント110から更新作業完了通知を受信する。なお、ステップS426の処理を任意の端末で実施した場合は、処理を実施した端末から通知を受信する。
ステップS408では、端末管理ツールサーバ102の端末管理ツールサーバプログラム1611は、「差分イメージ送信モード」で再起動するように、差分作成用クライアント110に再起動指示を送信する。
ステップS429では、差分作成用クライアント110の端末管理ツールクライアントプログラム1605は、端末管理ツールサーバ102から「差分イメージ送信モード」での再起動指示を受けて、仮想マシン管理プログラム1603に差分イメージ作成指示を行い、システムを再起動する。
ステップS430では、差分作成用クライアント110の仮想マシン管理プログラム1603は差分イメージ作成指示を受けて、差分作成用クライアント110で更新した内容の差分イメージを作成する。すなわち、記憶装置の記憶領域に対して受け付けた更新部分の差分のディスクイメージを作成する処理である。本処理の詳細は図5(b)で後述する。
ステップS431では、差分作成用クライアント110の仮想マシン管理プログラム1603は、作成した差分イメージをイメージ管理サーバ103へ送信する。すなわち、作成した差分のディスクイメージをイメージ管理装置に送信する処理である。
ステップS442では、イメージ管理サーバ103のイメージ管理プログラム1621は、差分作成用クライアント110から差分イメージのすべて送信が終わるまで差分イメージの受信を続け、受信が完了したら、ステップS443で差分イメージ受信完了通知を端末管理ツールサーバ102へ送信する。
ステップS409では、端末管理ツールサーバ102の端末管理ツールサーバプログラム1611は、イメージ管理サーバ103から差分イメージ受信完了通知を受信する。
ステップS444では、イメージ管理サーバ103のイメージ管理プログラム1621は、受信した差分イメージをイメージデータベース1622に登録する。複数のイメージ管理サーバ103がある場合は、すべてのイメージ管理サーバ103に登録対象の差分イメージを送信し登録させることにより同期させる。
ステップS444が完了すると、ステップS445では、イメージ管理サーバ103のイメージ管理プログラム1621は差分イメージ登録完了通知を端末管理ツールサーバ102に送信する。
ステップS410では、端末管理ツールサーバ102の端末管理ツールサーバプログラム1611は、イメージ管理サーバ103から差分イメージ登録完了通知を受信する。
ステップS411では、端末管理ツールサーバ102の端末管理ツールサーバプログラム1611は、イメージ管理テーブル1530に登録した差分イメージを追加登録する。
差分イメージの作成、登録が完了したので、ステップS432では差分作成用クライアント110を環境更新前の状態に復旧する。本処理の詳細は図6で後述する。
これで、差分イメージ登録処理を終了する。
次に、図5(a)を参照して、ステップS425の環境更新処理の一例について説明する。
ステップS501では、差分作成用クライアント110のOS1604等は、更新作業者であるユーザから環境更新作業(アプリケーション追加、セキュリティアップデートなど)を受け付ける。これにより、ハードディスク1602の内容が更新される。
ステップS502では、差分作成用クライアント110の端末管理ツールクライアントプログラム1605は、仮想マシン管理プログラム1603に対してステップS501により更新されたハードディスクの更新箇所のディスクアドレス(更新箇所アドレス)を抽出するよう指示し、仮想マシン管理プログラム1603は更新箇所アドレスを抽出する。抽出する方法としては、ステップS501でハードディスクが更新される度に更新箇所アドレスをログ等に記録して該ログ等を集約してもよいし、更新前のハードディスクの内容と更新後のハードディスクの内容を比較することにより更新箇所アドレスを抽出してもよい。
ステップS503では、差分作成用クライアント110の端末管理ツールクライアントプログラム1605は、仮想マシン管理プログラム1603に対してステップS502にて抽出した更新箇所アドレスを記録するよう指示し、仮想マシン管理プログラム1603は更新箇所アドレスを端末管理ツールサーバ102の更新箇所アドレス記憶部に記録する。本実施例では、更新箇所アドレスを端末管理ツールサーバ102の記憶装置に記録しているが、記録先は差分作成用クライアント110自身のハードディスクの再起動によりクリアされない領域であってもよいし、アクセス可能な外部のサーバの記憶装置であってもよい。また、端末管理ツールクライアントプログラム1605から仮想マシン管理プログラムに対し実行指示を行うことにより、仮想マシン管理プログラムにて更新箇所アドレス(ステップS502)の取得から記録(ステップS503)まで連続して実行してもよい。
これで、環境更新処理を終了する。
次に、図5(b)を参照して、ステップS430の差分イメージ作成処理の一例について説明する。
ステップS511では、差分作成用クライアント110の端末管理ツールクライアントプログラム1605は、仮想マシン管理プログラム1603に対してステップS503にて記録した更新箇所アドレスを取得するよう指示し、仮想マシン管理プログラム1603は更新箇所アドレス記憶部から更新箇所アドレスを取得する。
ステップS512では、差分作成用クライアント110の端末管理ツールクライアントプログラム1605は、仮想マシン管理プログラム1603に対してステップS511にて取得した更新箇所アドレスをもとに差分イメージを作成するよう指示し、仮想マシン管理プログラム1603は取得した更新箇所アドレスをもとに、ハードディスク上の更新箇所アドレスが示す箇所のデータを取得し、取得したデータと更新箇所アドレスとを対応付けて記録することにより差分イメージを作成する。
これで、差分イメージ作成処理を終了する。
次に、図6を参照して、ステップS432の差分作成用クライアント復旧処理の一例について説明する。本処理により、差分作成用クライアント110の環境を更新前に戻す。すなわち、クライアント端末の記憶装置の記憶領域を更新前の環境となるように、環境管理装置で管理されている当該クライアント端末の記憶領域の環境情報に従って、イメージ管理装置からディスクイメージを取得して、記憶領域の環境を更新する処理である。
ステップS431の差分イメージ送信が完了すると、ステップS621にて、差分作成用クライアント110の端末管理ツールクライアントプログラム1605はシステムを再起動する。
また、ステップS411のイメージ管理テーブル1530への追加登録が完了すると、ステップS601にて、端末管理ツールサーバ102の端末管理ツールサーバプログラム1611は端末管理テーブル1500の差分作成用クライアントの動作モード1504を「リフレッシュモード」に変更する。
ステップS622では、差分作成用クライアント110の端末管理ツールクライアントプログラム1605は、ステップS621によるシステム再起動後に、起動時の状態確認要求を端末管理ツールサーバ102へ送信する。本処理は、動作モードを確認するために実施される。
ステップS602では、端末管理ツールサーバ102の端末管理ツールサーバプログラム1611は、差分作成用クライアント110から起動時の状態確認要求を受信する。
ステップS603では、端末管理ツールサーバ102の端末管理ツールサーバプログラム1611は、端末管理テーブル1500の差分作成用クライアントの動作モード1504を取得して、起動時の状態としてクライアント101へ送信する。ここでは、ステップS601で変更した「リフレッシュモード」が動作モードとして送信される。
ステップS623では、差分作成用クライアント110の端末管理ツールクライアントプログラム1605は、端末管理ツールサーバ102から起動時の状態を受信する。本フローでは、動作モードとして「リフレッシュモード」を受信する。
ステップS624では、差分作成用クライアント110の端末管理ツールクライアントプログラム1605は、仮想マシン管理プログラム1603に対してリフレッシュ再起動を指示し、仮想マシン管理プログラム1603は、まずステップS503で記録した更新箇所アドレスを取得する。
ステップS625では、差分作成用クライアント110の仮想マシン管理プログラム1603は、取得した更新箇所アドレスが示すハードディスクの箇所を無効化する。つまり、ステップS501の更新作業にてハードディスクが更新された箇所を無効化する。無効化の具体的方法としては、例えば、無効化する箇所にNULLデータを書き込むなど、仮想マシン管理プログラム1603が認識できる方法であればよい。
ステップS626では、差分作成用クライアント110の仮想マシン管理プログラム1603は、システムを再起動する。
ステップS627では、差分作成用クライアント110の仮想マシン管理プログラム1603は、起動時、ハードディスクの無効化された箇所を認識することにより、イメージ管理サーバ103に現在適用すべきイメージの配信を要求する。イメージ管理サーバ103は、要求を受けてイメージを差分作成用クライアント110に配信する(ステップS641)。差分作成用クライアント110は、イメージ管理サーバ103から配信されたイメージを取得し、取得したイメージを基にハードディスクの無効化された箇所の内容を更新する。この際、起動を短時間で行うため、起動に必要なハードディスクの内容のみが更新(キャッシュ)され、起動に必要のない部分は更新されない。すなわち、クライアント端末の記憶手段の記憶領域のうち、当該クライアント端末が起動時に使用する記憶領域の環境を即時に更新する処理である。なお、本実施例ではハードディスクの無効化された箇所のうち、起動に必要な内容のみを更新しているが、無効化された箇所を全て更新するようにしてもよい。
ステップS628では、差分作成用クライアント110の端末管理ツールクライアントプログラム1605は、ステップS627にて取得したイメージを作成したクライアントが自分自身、つまり差分作成用クライアントかどうか判断する。イメージを作成したクライアントが自分自身であれば、そのイメージには自分自身の固有設定が含まれており、クライアント固有設定は不要であるため、処理を終了する。作成クライアントが自分自身でない場合は、ステップS629に進み、以降のステップでクライアント固有の設定を修正する。
イメージ作成クライアントの判断については、イメージ管理サーバ103から配信されたイメージに作成したクライアントの情報が属性として付与されている場合はその内容により判断し、付与されていない場合は、端末管理ツールサーバ102のイメージ管理テーブル1530の作成端末ID1536を端末管理ツールサーバ102から取得して判断する。
ステップS629では、クライアント101の端末管理ツールクライアントプログラム1605は、端末設定情報要求を端末管理ツールサーバ102に送信する。本処理は、クライアント固有の設定情報を取得するために実施される。
ステップS604では、端末管理ツールサーバ102の端末管理ツールサーバプログラム1611は、クライアント101から端末設定情報要求を受信する。
ステップS605では、端末管理ツールサーバ102の端末管理ツールサーバプログラム1611は、端末固有テーブル1520から差分作成用クライアントの端末名1522、IPアドレス1523を取得し、端末設定情報として差分作成用クライアント110に送信する。
ステップS630では、差分作成用クライアント110の端末管理ツールクライアントプログラム1605は、端末管理ツールサーバ102から、端末設定情報として端末名、IPアドレスを受信する。
ステップS631では、差分作成用クライアント110の端末管理ツールクライアントプログラム1605は、受信した端末名、IPアドレスに基づいてシステム設定を更新する。これにより、クライアント固有の設定が反映される。
クライアント固有の設定が完了したら、ステップS632において、差分作成用クライアント110の端末管理ツールクライアントプログラム1605は、端末設定完了通知を端末管理ツールサーバ102へ送信する。
ステップS606では、端末管理ツールサーバ102の端末管理ツールサーバプログラム1611は、差分作成用クライアント110から端末設定完了通知を受信する。
ステップS607では、端末管理ツールサーバ102の端末管理ツールサーバプログラム1611は、端末管理テーブル1500の差分作成用クライアントの動作モード1504を「通常モード」に変更する。これにより、差分イメージを作成するために使用された差分作成用クライアント110は、通常のクライアント101に戻る。
ステップS633では、通常運用の処理を実行するが、ステップS627にて完全にハードディスクが更新(キャッシュ)されなかった場合は、通常使用時にハードディスクの該当箇所のアクセスした場合に該当箇所が更新されるか、バックグラウンドインストールの設定に従いバックグランドインストールが実行されることにより不完全な箇所が更新される。すなわち、クライアント端末の使用状況に応じて、バックグラウンドで記憶領域の環境を更新する処理である。
これで、差分作成用クライアント復旧処理を終了する。
以下、図11から図14を参照して、端末管理システムで表示される画面イメージについて説明する。
図11は、ステップS401で表示する差分イメージ登録画面1100の一例である。
1101は、各イメージ管理機能の画面に切り替わるメニューアイコンであり、選択中の機能アイコンは強調表示される。
1102は、差分イメージ作成対象のクライアントを検索する機能ボタンである。ホスト名での検索、グループ/設置場所で対象を検索し、結果に表示する。
1103は、登録する差分イメージの名前と、差分イメージの説明を入力するフィールドである。
1104は、更新したいOSを選択する欄であり、ラジオボタンで選択したOSの領域を指定して差分イメージを作成する。
1105は、設定した内容で差分イメージを登録するボタンである。
図12は、ステップS901、S905で表示する起動イメージキャッシュ情報画面1200の一例である。
1201は、各端末管理機能の画面に切り替わるメニューアイコンであり、選択中の機能アイコンは強調表示される。
1202は、起動イメージのキャッシュ情報を確認したいクライアントを検索する機能ボタンである。ステータスを確認するグループ/設置場所で対象を検索し、結果に表示する。
1203は、インストール状況確認画面1300(図13)を表示する機能ボタンである。インストール状況確認画面1300では端末の一覧すべての詳細な進行度を確認できる。
1204は、クライアントごとのキャッシュ状況を表示する領域で、表示されたアイコンで進行度が判別できる。0%は白画面アイコン、キャッシュ中(1〜99%)は波線アイコン、100%は画面アイコンを表示する。
また、バックグラウンドインストール機能が有効の場合は、カラーアイコン、無効の場合はグレーアイコンで表示される。
アイコンをクリックすると、選択されたクライアントに対するクライアント詳細確認画面1400(図14)を表示する。
1205は、バックグラウンドインストールの設定を切り替えるボタンで、ONまたはOFFを設定する。
図13は、ステップS905等で表示するインストール状況確認画面1300の一例である。
インストール状況確認画面1300では端末の一覧すべての詳細な進行度を確認できる。
図14は、ステップS905等で表示するクライアント詳細確認画面1400の一例である。
クライアント詳細確認画面1400では選択されたクライアントに対するインストール進行度、起動イメージ、環境保護設定等を確認できる。
上述した通り、本発明によれば、任意のクライアント端末を用いてイメージ情報を作成した際に、元の環境に戻して、環境の統一を図ることができる。
これにより、イメージ作成用の専用端末を用意することなく、イメージ情報を作成することができる。
また、イメージ情報を作成しイメージ管理サーバに送信した後、端末管理ツールサーバに記憶された環境情報をもとに自動的に更新前の環境に戻すため、管理者の工数を削減でき、設定を誤ることを回避できる。
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
また、本発明におけるプログラムは、図4〜図10の処理をコンピュータに実行させるプログラムである。なお、本発明におけるプログラムは、図4〜図10の各処理ごとのプログラムであってもよい。
以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムを読み出し、実行することによっても本発明の目的が達成されることは言うまでもない。
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記録した記録媒体は本発明を構成することになる。
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、DVD−ROM、磁気テープ、不揮発性のメモリカード、ROM、EEPROM、シリコンディスク等を用いることが出来る。
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
また、本発明は、複数の機器から構成されるシステムに適用しても、ひとつの機器から成る装置に適用しても良い。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
さらに、本発明を達成するためのプログラムをネットワーク上のサーバ、データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。