(57)【特許請求の範囲】
【請求項１】
端末に対する、アップデートモジュールの適用又は前記アップデートモジュールが適用された仮想マシンの使用を管理するアップデート管理手段と、
前記アップデート管理手段の管理内容に基づいて、前記端末に対して前記アップデートモジュールの適用又は前記仮想マシンの使用を通知する端末管理手段と、
前記アップデートモジュールが適用された前記仮想マシンを実行する実行手段とを備える管理装置。
【請求項２】
前記アップデート管理手段は、標準として定められた前記端末に対して前記アップデートモジュールを適用するよう管理する、請求項１に記載の管理装置。
【請求項３】
前記アップデート管理手段は、標準として定められた前記端末とは異なる端末に対して前記仮想マシンを使用させるように管理する、請求項１又は２に記載の管理装置。
【請求項４】
前記アップデート管理手段は、前記仮想マシンにて不具合が発生した場合に、前記異なる端末に対する前記仮想マシンの使用を中止するよう管理する、請求項３に記載の管理装置。
【請求項５】
前記アップデート管理手段は、前記仮想マシンにて不具合がないと判断した場合に、前記異なる端末に対して前記アップデートモジュールを適用するよう管理する、請求項３又は４に記載の管理装置。
【請求項６】
前記アップデート管理手段は、所定の条件をスコア付けした結果に基づいてアップデートモジュールの適用又は前記アップデートモジュールが適用された仮想マシンの使用を管理する、請求項１から５のいずれか一項に記載の管理装置。
【請求項７】
前記アップデート管理手段は、前記アップデートモジュールの不具合の有無に基づいて、前記仮想マシンに適用される前記アップデートモジュールの種類を変更する、請求項１から６のいずれか一項に記載の管理装置。
【請求項８】
前記アップデート管理手段は、前記アップデートモジュールの重要度に基づいて、前記端末に対する前記アップデートモジュールの適用又は前記アップデートモジュールが適用された仮想マシンの使用を決定する、請求項１から７のいずれか一項に記載の管理装置。
【請求項９】
端末に対する、アップデートモジュールの適用又は前記アップデートモジュールが適用された仮想マシンの使用の管理を行い、
前記管理の管理内容に基づいて、前記端末に対して前記アップデートモジュールの適用又は前記仮想マシンの使用を通知し、
前記アップデートモジュールが適用された前記仮想マシンを実行する管理方法。
【請求項１０】
コンピュータに、
端末に対する、アップデートモジュールの適用又は前記アップデートモジュールが適用された仮想マシンの使用の管理を行う処理と、
前記管理の管理内容に基づいて、前記端末に対して前記アップデートモジュールの適用又は前記仮想マシンの使用を通知する処理と、
前記アップデートモジュールが適用された前記仮想マシンを実行する処理とを実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、管理装置、管理方法及びプログラムに関する。
【背景技術】
【０００２】
スマートフォンやタブレット等のスマートデバイスで用いられているＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）、ソフトウエアフレームワーク、ライブラリ、アプリケーション、外付け機器等には、様々な種類がある。これらの開発やアップデート、これらに対するセキュリティパッチは、一般に、複数のベンダーによって個々に行われている。したがって、各々のアップデートやセキュリティパッチの適用に際して、全ての組合せに対してテストを行うことは困難である。例えば、従業員の私有デバイスを業務に利用するＢＹＯＤ（Ｂｒｉｎｇ  Ｙｏｕｒ  Ｏｗｎ  Ｄｅｖｉｃｅ）環境にて用いられるソフトウェアを全ての条件で事前にテストすることは、端末の種類の多さから困難な場合がある。
【０００３】
特許文献１には、インストール制限等の内容を柔軟に制御することができる情報処理装置等が記載されている。特許文献１に記載の技術では、管理手段は、各アプリケーションプログラムのインストール制限のための環境を提供する。制御手段は、アプリケーションプログラムのインストールを要求するイベントを検出し、インストールの実行に先立って、アプリケーションプログラムのアプリケーション名を含むインストールイベント情報を、管理手段に送信する。管理手段は、インストールイベント情報を判定プログラムに通知し、判定プログラムから受信されるインストールの許可または禁止を示す判定結果を制御手段に送信する。
【０００４】
また、特許文献２には、画像形成装置のファームウェア配信前に、ユーザーのデータや機器の設定を反映した形で機能テスト及びパフォーマンステストをできるようにするクラウドコンピューティングシステム等が記載されている。
【０００５】
また、特許文献３には、個人所有のスマートフォンを構内交換機のＰＨＳ（Ｐｅｒｓｏｎａｌ  Ｈａｎｄｙ−ｐｈｏｎｅ  Ｓｙｓｔｅｍ）網と接続するスマートフォン用アダプタが記載されている。
【０００６】
また、特許文献４には、シンクライアントの機能を仮想サーバで実現するシンクライアントシステムに関する技術が記載されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１４−２１９２３号公報
【特許文献２】特開２０１２−１７４１９６号公報
【特許文献３】特開２０１５−１４９５２７号公報
【特許文献４】特開２０１３−１３１２０７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
すべての条件に対するソフトウェアのテストが困難であることから、ソフトウェアのバージョンアップやセキュリティパッチの適用に際しては、当該ソフトウェアに関するサービス等に不具合が生じるリスクが存在する。また、不具合が生じた場合には、復旧のための手間が必要となる場合がある。上述した各特許文献に記載の技術は、これらに対する考慮が必ずしもなされていない。
【０００９】
本発明は、上記課題を解決するためになされたものであって、スマートデバイスにおけるソフトウェアのアップデートに起因する影響を小さくする管理装置等を提供することを主たる目的とする。
【課題を解決するための手段】
【００１０】
本発明の一態様における管理装置は、端末に対する、アップデートモジュールの適用又はアップデートモジュールが適用された仮想マシンの使用を管理するアップデート管理手段と、アップデート管理手段の管理内容に基づいて、端末に対してアップデートモジュールの適用又は仮想マシンの使用を通知する端末管理手段と、アップデートモジュールが適用された仮想マシンを実行する実行手段とを備える。
【００１１】
本発明の一態様における管理方法は、端末に対する、アップデートモジュールの適用又はアップデートモジュールが適用された仮想マシンの使用を管理し、アップデート管理手段の管理内容に基づいて、端末に対してアップデートモジュールの適用又は仮想マシンの使用を通知し、アップデートモジュールが適用された仮想マシンを実行する。
【００１２】
本発明の一態様におけるプログラムは、コンピュータに、端末に対する、アップデートモジュールの適用又はアップデートモジュールが適用された仮想マシンの使用を管理する処理と、アップデート管理手段の管理内容に基づいて、端末に対してアップデートモジュールの適用又は仮想マシンの使用を通知する処理と、アップデートモジュールが適用された仮想マシンを実行する処理とを実行させる。
【発明の効果】
【００１３】
本発明によると、スマートデバイスにおけるソフトウェアのアップデートに起因する影響を小さくする管理装置等を提供することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の第１の実施形態における管理装置の構成を示す図である。
【図２】本発明の第１の実施形態における管理装置のより具体的な構成例を示す図である。
【図３】本発明の第１の実施形態における管理装置の動作を示すフローチャートである。
【図４】本発明の実施形態における管理装置等を実現する情報処理装置の一例を示す図である。
【発明を実施するための形態】
【００１５】
本発明の各実施形態について、添付の図面を参照して説明する。本発明の各実施形態において、各装置の各構成要素 は、機能単位のブロックを示している。各装置の各構成要素の一部又は全部は、例えば図４に示すような情報処理装置５００とプログラムとの任意の組み合わせにより実現される。情報処理装置５００は一例として、以下のような構成を含む。なお、情報処理装置５００の構成は以下と異なっていてもよく、様々な変形例が考えられる。
【００１６】
・ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）５０１
・ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）５０２
・ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）５０３
・ＲＡＭ５０３にロードされるプログラム５０４
・プログラム５０４を格納する記憶装置５０５
・記録媒体５０６の読み書きを行うドライブ装置５０７
・通信ネットワーク５０９と接続する通信インターフェース５０８
・データの入出力を行う入出力インターフェース５１０
・各構成要素を接続するバス５１１
各実施形態における各装置の各構成要素は、これらの機能を実現するプログラム５０４をＣＰＵ５０１が取得して実行することで実現される。各装置の各構成要素の機能を実現するプログラム５０４は、例えば、予め記憶装置５０５やＲＡＭ５０３に格納されており、必要に応じてＣＰＵ５０１が読み出す。なお、プログラム５０４は、通信ネットワーク５０９を介してＣＰＵ５０１に供給されてもよいし、予め記録媒体５０６に格納されており、ドライブ装置５０７が当該プログラムを読み出してＣＰＵ５０１に供給してもよい。
【００１７】
各装置の実現方法には、様々な変形例がある。例えば、各装置は、構成要素毎にそれぞれ別個の情報処理装置５００とプログラムとの任意の組み合わせにより実現されてもよい。また、各装置が備える複数の構成要素が、一つの情報処理装置５００とプログラムとの任意の組み合わせにより実現されてもよい。
【００１８】
また、各装置の各構成要素の一部又は全部は、プロセッサ等を含む汎用または専用の回路（ｃｉｒｃｕｉｔｒｙ）や、これらの組み合わせによって実現される。これらは、単一のチップ によって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。各装置の各構成要素の一部又は全部は、上述した回路等とプログラムとの組み合わせによって実現されてもよい。
【００１９】
各装置の各構成要素の一部又は全部が複数の情報処理装置や回路等により実現される場合には、複数の情報処理装置や回路等は、集中配置されてもよいし、分散配置されてもよい。例えば、情報処理装置や回路等は、クライアントアンドサーバシステム、クラウドコンピューティングシステム等、各々が通信ネットワークを介して接続される形態として実現されてもよい。
【００２０】
（第１の実施形態）
まず、本発明の第１の実施形態について説明する。図１に示すとおり、本発明の第１の実施形態における管理装置１００は、アップデート管理部１１０と、端末管理部１２０と、実行部１３０とを有する。アップデート管理部１１０は、端末に対する、ソフトウェアのアップデートモジュールの適用又は当該アップデートモジュールが適用された仮想マシンの使用を管理する。端末管理部１２０は、アップデート管理部１１０の管理内容に基づいて、端末に対してアップデートモジュールの適用又は仮想マシンの使用を通知する。実行部１３０は、アップデートモジュールが適用された仮想マシンを実行する。
【００２１】
また、図２に示すとおり、本実施形態における管理装置１００は、一つの構成例として、アップデートモジュール保存部１１１と、結果保存部１１２とを備えてもよい。アップデートモジュール保存部１１１は、ソフトウェアのアップデートモジュールを保持する。結果保存部１１２は、アップデート管理部１１０にて決定された管理内容や、アップデートモジュールに対するテスト結果等を保持する。アップデートモジュール保存部１１１と、結果保存部１１２の一方又は両方は、図示しない有線又は無線の通信ネットワーク等を介して他の構成要素と接続されてもよい。
【００２２】
診断装置１００は、例えば端末管理部１２０又は実行部１３０を介して、端末１０１と接続される。端末１０１は、例えばスマートフォンやタブレット、ウェアラブルデバイス等、一般にスマートデバイスと呼ばれる機器であり、上述したアップデートモジュールが適用される可能性がある。なお、端末１０１は、スマートデバイスやＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）に接続される外付け機器であってもよい。この場合には、アップデートモジュールは、外付け機器の組み込みソフトウェアに対して適用される。
【００２３】
続いて、本実施形態における診断装置１００の各構成要素について説明する。
【００２４】
アップデート管理部１１０は、ソフトウェアのアップデートモジュールの適用又は当該アップデートモジュールが適用された仮想マシンの使用を管理する。
より詳しくは、アップデート管理部１１０は、端末毎に、当該端末に対してソフトウェアのアップデートモジュールを適用するか、又は当該アップデートモジュールが適用された仮想マシンを使用させるかを管理する。なお、以下の説明では、「ソフトウェアのアップデートモジュールを適用する」は「アップデートモジュールの適用」と称される場合がある。同様に「アップデートモジュールが適用された仮想マシンを使用させる」は、「仮想マシンの使用」と称される場合がある。また、仮想マシンは、ＶＭ（Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ）と称される場合がある。
【００２５】
本実施形態においては、アップデートモジュールは、ソフトウェアの更新に際して用いられるモジュールである。一例として、本実施形態で対象とされるアップデートモジュールは、例えばスマートデバイス等の端末にて実行される、ファームウェア、デバイスドライバ、アプリケーションソフトウェア等に対するアップデートであるが、これらに限られない。
【００２６】
スマートデバイスにて用いられるソフトウェアがアップデートされた場合、当該アップデートを含むアップデートモジュールに関して全ての条件に対して事前にテストを行うことは一般に困難である。例えば、アップデートモジュールが企業のＢＹＯＤ環境において使用されるソフトウェアに関する場合には、当該企業にて標準的な端末に対しては、一般に当該アップデートに関する十分なテストが行われると想定される。
【００２７】
しかしながら、上述した標準的な端末と異なる種類であり、従業員が個別に保有する端末に対しては、当該アップデートモジュールに関して、十分なテストが実施されないか、又はテストが全く実施されない可能性が高いと想定される。アップデートモジュールに関して十分なテストが実施されていない場合には、当該アップデートモジュールの適用によって、意図しない不具合が生じる可能性がある。不具合の解消の際には、当該アップデートモジュールのアンインストールや設定の復旧等の手間が必要となる。
【００２８】
そこで、アップデート管理部１１０は、端末に対して、ソフトウェアのアップデートモジュールを適用するか、又は当該アップデートモジュールが適用された仮想マシンを使用するかを管理する。
【００２９】
上述のように、アップデートモジュールがＢＹＯＤ環境において使用されるソフトウェアに関する場合には、アップデート管理部１１０は、当該企業にて標準的な端末に対してはアップデートモジュールを適用するよう管理する。そして、アップデート管理部１１０は、その他の種類の端末に対しては、アップデートモジュールが適用された仮想マシンを使用させるように管理する。
【００３０】
アップデートモジュールがアプリケーションソフトウェアに対するモジュールである場合には、端末には当該アップデートモジュールが未適用であるアプリケーションがインストールされていると想定される。この場合には、アップデート管理部１１０は、端末に対して、端末にインストールされたアプリケーションソフトウェアに代えて仮想マシンを使用させるための切り替えの処理に関する制御を行う。また、端末は、仮想マシンを利用するための機構を備えており、アップデート管理部１１０等からの指示に基づいて切り替えを行う。
【００３１】
アップデート管理部１１０は、従業員が個別に保有する端末等、企業にて標準的な端末と異なるその他の種類の端末に対しては、アップデートモジュールを直ちに適用しない。アップデート管理部１１０は、アップデートモジュールが適用された仮想マシンを使用させることで、その他の種類の端末に対して上述したアップデートを提供する。
【００３２】
そして、アップデート管理部１１０は、アップデートモジュールが当該その他の種類の端末にて正常に動作すると何らかの基準に基づいて確認できた場合に、当該端末に対してアップデートモジュールを適用する。正常に動作するとの判断の基準は、例えば、アップデートモジュールが適用されたソフトウェアについて、その他の種類の端末の利用者による体感上の不具合がないこと等があるが、これに限らない。
【００３３】
一方、アップデート管理部１１０は、その他の種類の端末にて動作に何らかの不具合が生じた場合には、当該その他の種類の端末に対するアップデートモジュールの適用を延期する。
【００３４】
例えば、アップデート管理部１１０は、アップデートモジュールが適用された仮想マシンを使用させることによるアップデートの提供を中止する。当該その他の種類の端末では、インストールされている、アップデートモジュールが未適用であるソフトウェアが実行される。また、その他の種類の端末に含まれる別の端末に対しては、アップデート管理部１１０は、アップデートの適用や、仮想マシンを使用させる態様によるアップデートの提供を行わない。
【００３５】
アップデート管理部１１０によってこのような管理が行われることで、上述したその他の端末の利用者は、当該端末にてソフトウェアを継続して利用することが可能となる。また、ソフトウェアのアップデートに起因する不具合を回避する不具合の回避が可能となる。
【００３６】
また、上述した不具合は、アップデートモジュールが適用されたソフトウェアのクラッシュやメモリ領域の破壊等の明示的な不具合に限られない。上述した不具合は、端末１０１の利用者による体感上の不具合であってもよいし、端末１０１の利用者による主観的な判断に基づいてもよい。すなわち、不具合は、端末１０１の利用者による「何となく動作がおかしい」等の判断であってもよい。アップデート管理部１１０は、端末管理部１２０を介して、必要に応じて不具合の種類に関する情報を端末１０１から取得してアップデートモジュールの適用又は仮想マシンの使用を変更してもよい。
【００３７】
アップデート管理部１１０は、また、実行部１３０にてアップデートモジュールが適用された仮想マシンが正常に動作する場合には、仮想マシンを使用するとした端末１０１に対して、当該アップデートモジュールを適用してもよい。
【００３８】
この場合には、アップデート管理部１１０は、端末管理部１２０を介して端末１０１に対してアップデートモジュールの適用を通知する。端末１０１は、実行部１３０からアップデートモジュールを取得して、端末にインストールされているソフトウェアを適宜更新する。端末１０１にインストールされているソフトウェアの更新が完了すると、端末１０１は、実行部１３０にて実行されていた仮想マシンの利用を停止する。その後は、端末１０１は更新された端末のソフトウェアを用いて処理を継続して実行する。
【００３９】
また、アップデート管理部１１０は、不具合が確認されたアップデートモジュールを、実行部１３０にて実行される仮想マシンに適用したうえで提供してもよい。このようにすることで、不具合が発生した場合の影響を軽減しつつ、当該アップデートモジュールを早期に利用者に提供することが可能となる。
【００４０】
なお、上述した例では、アップデート管理部１１０は、企業にて標準的な端末であるか、その他の種類の端末であるかに応じて、アップデートモジュールの適用を管理している。しかしながら、アップデート管理部１１０は、アップデートモジュールの適用又は当該アップデートモジュールが適用された仮想マシンの使用を、他の基準に基づいて管理してもよい。他の基準は、予め定められてもよいし、アップデートモジュールの状況等に応じて変更されてもよい。
【００４１】
例えば、アップデート管理部１１０は、アップデートモジュールの適用又は仮想マシンの使用を、端末の種類毎に管理してもよい。上述のように、ＢＹＯＤ環境において使用されるソフトウェアに関しては、アップデート管理部１１０は、企業における標準的な端末であるか、又はその他の種類の端末であるかに区分して管理してもよい。または、アップデート管理部１１０は、アップデートモジュールの適用又は仮想マシンの使用を、個々の端末毎に管理してもよい。また、アップデート管理部１１０は、アップデートモジュール毎に、アップデートモジュールの適用又は仮想マシンの使用を管理してもよい。
【００４２】
また、端末やアップデートモジュールの適用対象となるソフトウェアの利用頻度や利用場所、アップデートモジュールの影響の大きさ、端末の電波環境、アップデートモジュールのリリース後の経過日数等が基準として用いられてもよい。その他の基準が用いられてもよいし、これらの組み合わせが基準として用いられてもよい。
【００４３】
アップデート管理部１１０は、これらの基準に基づいて管理を行う場合、例えばこれらの基準をスコア付けして用いてもよい。この場合には、アップデート管理部１１０は、スコアに基づいて、アップデートモジュールを適用するか又は当該アップデートモジュールが適用された仮想マシンを使用させるかを決定する。
【００４４】
アップデート管理部１１０は、アップデートモジュールを適用するか否か等の判断を、端末の利用者に選択させてもよい。この場合には、アップデート管理部１１０は、端末の利用者の判断に基づいて、アップデートモジュールを適用するか又は当該アップデートモジュールが適用された仮想マシンを使用させるかを決定する。
【００４５】
端末管理部１２０は、管理する対象となる端末の種類等やアップデート管理部１１０の管理内容に基づいて、端末に対してアップデートモジュールの適用又は仮想マシンの使用を通知する。また、端末管理部１２０は、アップデートモジュールが適用されたソフトウェアの実行状況やその他の端末に関する情報を端末から取得してもよい。すなわち、端末管理部１２０は、アップデートモジュールが適用されたソフトウェアについて、不具合の有無等の状況を必要に応じて端末から取得する。アップデートモジュールが適用されたソフトウェアの実行状況には、アップデートモジュールが適用されており、実行部１３０にて実行される仮想マシンの実行状況が含まれる。端末管理部１２０が取得した情報は適宜アップデート管理部１１０へ通知される。アップデート管理部１１０は、通知された情報を必要に応じて用いて管理を行う。
【００４６】
端末管理部１２０は、アップデート管理部１１０による管理に際して必要となる情報を端末から取得してもよい。アップデート管理部１１０による管理に際して必要となる情報は、例えば、端末の種類や当該端末にインストールされた各種のソフトウェアの種類やバージョンが含まれるが、他の情報が含まれてもよい。端末管理部１２０は、例えば無線の通信ネットワークを介して、端末に対する通知や端末からの情報の取得を行う。
【００４７】
実行部１３０は、ソフトウェアに対してアップデートモジュールが適用された仮想マシンを実行する。つまり、実行部１３０は、アップデート管理部１１０によって仮想マシンを使用するとされた端末に対して、アップデートモジュールが適用された仮想マシンの実行環境を提供する。また、実行部１３０は、アップデートモジュールが適用するとされた端末に対して、アップデートモジュールを提供してもよい。実行部１３０は、例えば無線の通信ネットワークを介して、端末に対する仮想マシンの実行結果やアップデートモジュールの提供を行う。
【００４８】
実行部１３０にてアップデートモジュールが適用された仮想マシンが実行される場合には、仮想マシンは、いわゆるシンクライアントと同様の要領にて用いられる。つまり、仮想マシンによる実行の結果は、仮想マシンを使用する端末に出力される。例えば、仮想マシンの実行の結果は、当該端末の画面に表示される。また、仮想マシンは、当該端末からの入力を受付けて処理を実行する。
【００４９】
アップデートモジュール保存部１１１は、アップデート管理部１１０にて適用の可否が管理されるソフトウェアのアップデートモジュールを保持する。
【００５０】
アップデートモジュール保存部１１１が保持するモジュールは、上述のように、ファームウェア、アプリケーション、デバイスドライバ等に対するアップデートモジュールである。また、ファームウェアは、例えば端末１０１のＯＳやライブラリに対するアップデートである。ただし、アップデートモジュール保存部１１１が保持するアップデートモジュールは、他の種類のソフトウェアに対するアップデートモジュールであってもよい。
【００５１】
結果保存部１１２は、アップデート管理部１１０による管理内容や、アップデート管理部１１０が管理を行う際に必要となる情報、アップデートモジュールに対するテスト結果等を保持する。管理内容には、アップデートの適用条件、アップデートの適用状況やその件数等が含まれる。
【００５２】
また、結果保存部１１２は、アップデートモジュールに不具合が生じている等の問題に関する情報を保存してもよい。問題に関する情報には、不具合が発生した端末やアップデートモジュール等の情報、アップデートモジュールが適用された時刻の情報、その他の利用条件に関する情報が含まれる。これらの情報は、例えばアップデート管理部１１０によって参照される。アップデート管理部１１０は、参照した情報を適宜用いて管理を行う。
【００５３】
続いて、図３に示すフローチャートを参照して、本実施形態における管理装置１００の動作を説明する。図３に示す例では、予めソフトウェアのアップデートモジュールがリリースされている場合を想定する。
【００５４】
最初に、実行部１３０において、アップデートモジュールが適用されたソフトウェアが実行される仮想マシンが準備される（ステップＳ１０１）。
なお、ステップＳ１０１に相当する動作は、図３に示す順序と異なる順序で行われてもよい。すなわち、アップデートモジュールが適用された仮想マシンは、予め準備されていてもよいし、後述するステップＳ１０２にて使用されると１１０が決定した後に準備されてもよい。
【００５５】
次に、アップデートモジュール管理部１１０は、アップデートの対象となる端末に対して、仮想マシンを利用するかを決定する（ステップＳ１０２）。
【００５６】
当該端末についてアップデートに関する十分なテストが行われている場合等には、アップデートモジュール管理部１１０は、仮想マシンの利用ではなく、アップデートモジュールの適用を決定する（ステップＳ１０２：Ｎｏ）。この場合には、ステップＳ１０６の動作が行われる。すなわち、端末管理部１２０は、端末に対してアップデートモジュールを適用する旨を通知する。実行部１３０は、当該端末に対してアップデートモジュールを提供する。
【００５７】
一方、当該端末についてアップデートに関するテストが十分に行われていない場合等には、アップデートモジュール管理部１１０が、仮想マシンを利用する旨を決定する（ステップＳ１０２：Ｙｅｓ）。この場合には、実行部１３０は、当該アップデートモジュールが適用された仮想マシンを実行する（ステップＳ１０３）。すなわち、アップデートの対象となる端末は、アップデートモジュールが適用されたソフトウェアを、仮想マシンでの実行を介して利用する。
【００５８】
アップデートモジュールが適用されたソフトウェアが仮想マシンにて実行されている場合には、端末管理部１２０は、必要に応じて仮想マシンにおける当該ソフトウェアの実行状況を端末から取得する。端末管理部１２０は、取得した実行情報を示す情報に基づいて、アップデートモジュールが適用されたソフトウェアを実行する仮想マシンに問題が発生しているか否かを確認する（ステップＳ１０４）。
【００５９】
仮想マシンに問題が生じていない場合には（ステップＳ１０４：Ｎｏ）、端末管理部１２０は、アップデート管理部１１０にアップデートモジュールが正常に動作する旨を通知する（ステップＳ１０５）。端末管理部１２０は、アップデート管理部１１０にアップデートモジュールが正常に動作する旨の情報を、結果保存部１１２に格納してもよい。そして、アップデート管理部１１０は、当該アップデートモジュールを端末に適用すると決定する（ステップＳ１０５）。端末管理部１２０又は実行部１３０によって、端末にアップデートモジュールが適用される（ステップＳ１０６）。
【００６０】
仮想マシンに問題が生じている場合には（ステップＳ１０４：Ｙｅｓ）、端末管理部１２０は、アップデート管理部１１０にアップデートモジュール問題が生じている旨を通知する（ステップＳ１０５）。そして、アップデート管理部１１０は、仮想マシンにて当該アップデートモジュールの実行を継続することを決定する。すなわち、アップデート管理部１１０は、問題が生じ得ることが判明したアップデートモジュールの端末への適用を回避する。アップデート管理部１１０は、アップデートモジュールに問題が生じている旨の情報を、結果保存部１１２に記録してもよい。あるいは、アップデートの内容によっては、アップデート管理部１１０は、アップデートモジュールを適用する前の状態のまま端末を利用するように管理してもよい。
【００６１】
（適用例）
続いて、本実施形態における管理装置１００をソフトウェアのアップデートに適用した場合の例を説明する。
【００６２】
本適用例では、企業内のシステムにおいて、スマートデバイスに対するファームウェアのアップデートモジュールと、業務システム用アプリケーションのバージョンアップが新たに提供される例を想定する。また、この企業においては標準的なスマートデバイスが規定されており、上述したアップデートモジュール又はバージョンアップは、標準的なスマートデバイスにおいてテストが行われて動作が確認されている例を想定する。
【００６３】
上述の例において、当該企業では、例えば調達等の都合により、標準的なスマートデバイスとは異なるスマートデバイス（以下「非標準スマートデバイス」と称する場合がある）が用いられている場合を想定する。この場合に、非標準スマートデバイスに対しては、上述したアップデートモジュール又はバージョンアップに関するテストが行われていないとする。
【００６４】
この場合には、アップデート管理部１１０は、非標準スマートデバイスに対しては、アップデートモジュール又はバージョンアップを適用せず、これらが適用された仮想マシンを使用させるよう管理する。
【００６５】
非標準スマートデバイスでは、実行部１３０に用意されている、アップデートモジュール又はバージョンアップが適用された仮想マシンに実行させることで、これらのファームウェア又はアプリケーション等を利用する。
【００６６】
この場合に、仮想マシンで実行されるアプリケーション等において、プリンタへの出力が正しく行われない不具合が生じたと想定する。この不具合は、標準的なスマートデバイスでは発見されていない不具合である。
【００６７】
この場合に、端末から端末管理部１２０に対して不具合の発生が通知される。端末管理部１２０は、不具合が生じた旨をアップデート管理部１１０へ通知する。そして、アップデート管理部１１０は、この通知に基づいて、アップデートモジュール又はバージョンアップが適用された仮想マシンの使用の中止を決定する。アップデート管理部１１０は、必要に応じて、結果保存部１１２へ不具合が生じた旨やその詳細に関する情報を保存する。
【００６８】
仮想マシンの使用の中止は、端末管理部１２０を介して端末へ通知される。この場合には、端末は、実行部１３０にて実行される仮想マシンの使用を中止する。そして、端末は、仮想マシンにて実行されていたアプリケーション等に代えて、端末にインストールされている旧バージョンのアプリケーション等を実行して業務を継続する。
【００６９】
アップデート管理部１１０は、アップデートモジュール保存部１１１等を参照する等して、不具合に関連するアップデートモジュールやバージョンアップについて、当該不具合を修正した版が用意されているかを確認する。不具合を修正した版が用意されていない場合には、アップデート管理部１１０は、不具合に関連するアップデートモジュールやバージョンアップについて、非標準スマートデバイスへ適用しないように管理する。
【００７０】
なお、不具合が発生したアップデートモジュールは、必要に応じて修正される。また、潜在的な不具合を解消するため、不具合が発生したモジュールは、標準的なスマートデバイスにて再度テストされてもよい。
【００７１】
以上のとおり、本発明の第１の実施形態における管理装置１００は、アップデート管理部１１０が、端末１０１の種類に応じて、端末１０１に対してアップデートモジュールが適用された仮想マシンを使用させるか等を管理する。
例えば、非標準スマートデバイス等、提供されたアップデートモジュールに関するテストが不十分な端末１０１に対しては、アップデート管理部１１０は、アップデートモジュールが適用された仮想マシンを使用させるように動作する。
そして、アップデート管理部１１０は、アップデートモジュールに不具合が存在する場合には、当該端末に対してアップデートモジュールを適用しないように管理する。
【００７２】
管理装置１００が上述の動作を行うことから、端末１０１では、アップデートモジュールに不具合が存在する場合においても、アップデートモジュールが未適用である古いバージョンのソフトウェアにて業務が継続される。すなわち、端末１０１について、提供されたアップデートモジュールに関するテストが不十分である場合にも、当該アップデートモジュールのアンインストールや設定の復旧等の処理が回避される。
【００７３】
したがって、本実施形態における管理装置１００は、スマートデバイスにおけるソフトウェアのアップデートに起因する影響を小さくすることを可能とする。
【００７４】
（変形例）
本発明の第１の実施形態における管理装置１００に対しては、変形例が考えられる。変形例のいくつかを以下に説明する。
【００７５】
（変形例１）
上述した管理装置１００では、実行部１３０が仮想マシンを実行した。しかしながら、実行部１３０にて実行される仮想マシンの利用が不適当である場合には、端末１０１が仮想マシンを実行してもよい。実行部１３０にて実行される仮想マシンの利用が不適当である場合には、例えば端末１０１が地下や僻地で使用される等、管理装置１００と端末１０１との通信が不安定であり、通信が一時的に途切れる可能性がある場合が含まれる。
【００７６】
この場合には、端末管理部１２０は、端末１０１との通信の状態を検知する。
そして、通信が不安定であり、実行部１３０にて実行される仮想マシンの利用が不適当である場合には、端末管理部１２０は、その旨をアップデート管理部１１０に通知する。アップデート管理部１１０は、通知に応じて、実行部１３０に対し、仮想マシンを端末１０１にて実行させるように動作する。端末１０１は、実行部１３０から必要なデータをダウンロードして仮想マシンを実行する。なお、仮想マシンは、実行部１３０が構成してもよいし、端末１０１が構成してもよい。なお、端末１０１が複数である場合には、仮想マシンを端末１０１にて実行させるか否かは、端末１０１の種類やその利用環境、利用者等に基づいて端末１０１毎に決定されてもよい。
【００７７】
アップデートモジュールが適用されたソフトウェアが動作する仮想マシンにて不具合が生じた場合には、端末１０１は仮想マシンを停止する。また、仮想マシンに不具合が生じない場合には、端末１０１は、アップデートモジュールを適用する。端末１０１は、仮想マシンを停止して、更新された端末のソフトウェアを用いて処理を継続して実行する。
【００７８】
いずれの場合においても、端末１０１は、仮想マシンの状況や不具合の有無等に関する情報を端末管理部１２０に通知する。端末管理１２０は、端末１０１から受け取った上述の情報をアップデート管理部１１０に通知する。アップデート管理部１１０は、必要に応じて、アップデートモジュールの適用の中止等を行う。また、アップデート管理部１１０は、取得した情報を結果保存部１１２に保存してもよい。
【００７９】
なお、実行部１３０にて実行される仮想マシンの利用に支障がない場合においても、仮想マシンの一部の機能を端末１０１が実行してもよい。
【００８０】
（変形例２）
管理装置１００は、アップデートモジュールの緊急度や重要度等に応じて動作を変更してもよい。すなわち、アップデート管理部１１０は、アップデートモジュールの緊急度や重要度等に応じて、アップデートモジュールの適用又は仮想マシンの使用の適用対象を変更してもよい。
【００８１】
アップデートモジュールの緊急度が高い場合、アップデート管理部１１０は、全ての端末１０１に対してアップデートモジュールを強制的に適用するように端末１０１を管理してもよい。この場合に、アップデート管理部１１０は、結果保存部１１２に保存された当該アップデートモジュールに関するテスト結果を参照し、深刻な不具合がないことを確認した後に上述の管理を行ってもよい。例えば、アップデート管理部１１０は、アップデートモジュールにクラッシュ等の不具合がない事や、動作が遅い等の軽微な不具合のみが存在する場合に、全ての端末１０１に対してアップデートモジュールを適用してもよい。
【００８２】
また、緊急度の高いアップデートモジュールにクラッシュ等の不具合が存在する場合には、アップデート管理部１１０は、全ての端末１０１に対して、当該アップデートモジュールを実行部１３０の仮想マシンに適用して提供してもよい。
【００８３】
（変形例３）
複数のソフトウェアに対するアップデートモジュールが存在する場合には、アップデート管理部１１０では、様々なアップデートモジュールの適用パターンが用いられる。
【００８４】
アップデートモジュールの適用パターンの一つとして、アップデート管理部１１０は、当初は全てのアップデートモジュールを実行部１３０の一つの仮想マシンに適用したパターンでアップデートモジュールを提供する。そして、アップデートモジュールの一部に不具合が発見された場合には、アップデート管理部１１０は、不具合が発見されたアップデートモジュールの提供を中止する。すなわち、アップデート管理部１１０は、不具合が発見されたアップデートモジュールを除くアップデートモジュールを実行部１３０の仮想マシンに適用したパターンでアップデートモジュールを提供する。
【００８５】
新たな種類の端末にアップデートモジュールを提供する場合には、アップデート管理部１１０は、その時点における不具合の状況等に基づいて、上述したいずれのパターンの仮想マシンを採用するかを適宜判断する。このようにすることで、端末１０１の利用者が不具合に遭遇する頻度を低減することができる。
【００８６】
この他に、アップデート管理部１１０は、端末の種類毎にアップデートモジュールの適用パターンを変更してもよい。例えば、アップデートモジュール管理部１１０は、不具合の報告があったアップデートモジュールを端末に直接適用せず、実行部１３０の仮想マシンに適用して提供してもよい。また、アップデートモジュール管理部１１０は、不具合がないことが確認されたアップデートモジュールは、より多くの種類の端末に適用されるように管理してもよい。
【００８７】
また、アップデート管理部１１０は、複数のアップデートモジュールをグループに区分し、区分したグループ毎にアップデートモジュールを実行部１３０の複数の仮想マシンに適用してアップデートモジュールを提供してもよい。この場合には、アップデート管理部１１０は、グループ毎にアップデートモジュールを適用した仮想マシンの使用を管理する。アップデート管理部１１０は、複数のアップデートモジュールの各々を実行部１３０の複数の仮想マシンにそれぞれ適用し、アップデートモジュール毎に仮想マシンの使用を管理してもよい。
【００８８】
以上、実施形態を参照して本発明を説明したが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解し得る様々な変更をすることができる。また、各実施形態における構成は、本発明のスコープを逸脱しない限りにおいて、互いに組み合わせることが可能である。
【符号の説明】
【００８９】
１００    管理装置
１０１    端末
１１０    アップデート管理部
１１１    アップデートモジュール保存部
１１２    結果保存部
１２０    端末管理部
１３０    実行部
【図１】
0006682921.tif 000002
【図２】
0006682921.tif 000003
【図３】
0006682921.tif 000004
【図４】
0006682921.tif 000005