(57)【特許請求の範囲】
【請求項１】
ソフトウェアの更新を許可する更新許可部の実行を許可し、前記更新許可部による前記ソフトウェアへの更新許可を得るための更新権限を、前記ソフトウェアに付与する実行プログラム管理部と、
前記実行が許可された前記更新許可部が前記更新権限を付与した前記ソフトウェアにより起動され、前記ソフトウェアを更新するための更新用ファイルを外部装置から受け取り、受け取った前記更新用ファイルを、登録されているファイルの実行を許可するホワイトリストに登録し、当該ホワイトリストに登録した前記更新用ファイルを実行して前記ソフトウェアを更新する更新部と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記更新部は、正当に前記ソフトウェアが前記情報処理装置にインストールされていることを認証した上で前記ソフトウェアを更新する、
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記外部装置は、ネットワークを介して接続されたサーバ装置またはインタフェースを介して接続された記憶媒体である、
ことを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記更新部は、前記外部装置を利用者に選択させる選択画面を表示部に表示し、選択された前記外部装置から前記更新用ファイルを受け取って前記ソフトウェアを更新する、
ことを特徴とする請求項３に記載の情報処理装置。
【請求項５】
コンピュータに、
ソフトウェアの更新を許可する更新許可部の実行を許可するステップと、
前記更新許可部による前記ソフトウェアへの更新許可を得るための更新権限を、前記ソフトウェアに付与する付与ステップと、
前記実行が許可された前記更新許可部が前記更新権限を付与した前記ソフトウェアにより更新部を起動する起動ステップと、
前記ソフトウェアを更新するための更新用ファイルを外部装置から受け取る受信ステップと、
受け取った前記更新用ファイルを、登録されているファイルの実行を許可するホワイトリストに登録し、当該ホワイトリストに登録した前記更新用ファイルを実行して前記ソフトウェアを更新する更新ステップと、
を実行させることを特徴とするプログラム。
【請求項６】
請求項５に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、プログラム、及び記録媒体に関する。
【背景技術】
【０００２】
従来から、ネットワークに接続された装置に対するサイバー攻撃を防ぐために、様々なアンチウィルスソフトが存在する。その中で、既知のプログラムによるアクセスのみを許可し、その他のプログラムからのアクセスを制限する、いわゆるホワイトリスト型のアンチウィルスソフトがある。ホワイトリスト型のアンチウィルスソフトによれば、信頼できるアプリケーションのみをホワイトリストに登録しておくことにより、そのホワイトリストに登録されていないアプリケーションの実行をブロックすることができる。
【０００３】
しかし、ホワイトリスト型のアンチウィルスソフトでは、装置の基本的なシステムであるＯＳ（Operating System）やそのＯＳ上で動作する様々なアプリケーションの機能追加や不具合の修正が発生すると、その都度、アプリケーションの機能追加や不具合を修正するためのプログラム（以下、更新プログラムと呼ぶ）や、その更新プログラムの実行により新たに生成される上記ＯＳやアプリケーションを実行するための実行ファイルをホワイトリストに登録する必要がある。このような作業の負担を軽減するために、例えば、特許文献１では、起動されるプログラムが信頼できる発行者によって発行されたものである等の所定の基準を満たす場合には、そのプログラムの起動を許可し、ホワイトリストに登録する技術が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記特許文献１では、あらかじめ上記所定の条件を設定したり、ホワイトリストに登録するための判定が必要となり、依然としてユーザによる作業が必要であった。また、上記更新プログラムが発行される度にホワイトリスト自体を再作成することもできるが、ホワイトリストの作成処理及び作成されたホワイトリストを反映するための上記ＯＳやアプリケーションの再起動に時間がかかるため、装置の稼働率が低下してしまうという問題があった。
【０００５】
本発明は、上記に鑑みてなされたものであって、装置の稼働率を低下させることなく、ソフトウェアの更新に伴う作業負担を減らすことが可能な情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明にかかる情報処理装置は、ソフトウェアの更新を許可する更新許可部の実行を許可し、前記更新許可部による前記ソフトウェアへの更新許可を得るための更新権限を、前記ソフトウェアに付与する実行プログラム管理部と、前記実行が許可された前記更新許可部が前記更新権限を付与した前記ソフトウェアにより起動され、前記ソフトウェアを更新するための更新用ファイルを外部装置から受け取り、受け取った前記更新用ファイルをホワイトリストに登録して前記ソフトウェアを更新する更新部と、を備えることを特徴とする情報処理装置として構成される。
【発明の効果】
【０００７】
本発明によれば、装置の稼働率を低下させることなく、ソフトウェアの更新に伴う作業負担を減らすことが可能となる。
【図面の簡単な説明】
【０００８】
【図１】本発明にかかる情報処理装置、プログラム、及び記録媒体を適用した情報処理システムの構成例を示す図である。
【図２】図１に示した情報処理装置のハードウェア構成を示す図である。
【図３】ホワイトリストの構成例を示す図である。
【図４】情報処理装置の機能的な構成を示すブロック図である。
【図５】図１に示したシステム更新サーバのハードウェア構成を示す図である。
【図６】システム更新サーバの機能的な構成を示すブロック図である。
【図７】更新メニュー画面の例を示す図である。
【図８】ネットワーク経由更新画面の例を示す図である。
【図９】ＵＳＢ経由更新画面の例を示す図である。
【図１０】図８または図９に示したアプリケーションプログラムを更新するためのZIPファイルの例を示す図である。
【図１１】図８または図９に示したＯＳを更新するためのZIPファイルの例を示す図である。
【図１２】図１１に示したバッチファイルの例を示す図である。
【図１３】本システムにおける更新処理の処理手順を示すフローチャートである。
【図１４】更新用プログラムの一覧を取得する処理の例を示すイメージ図である。
【図１５】ZIPファイルを取得する処理の例を示すイメージ図である。
【図１６】システム更新処理の処理手順を示すフローチャートである。
【発明を実施するための形態】
【０００９】
以下に添付図面を参照して、本発明にかかる情報処理装置、プログラム、及び記録媒体の実施の形態を詳細に説明する。
【００１０】
図１は、本発明にかかる情報処理装置、プログラム、及び記録媒体を適用した情報処理システム１０００の構成例を示す図である。図１に示すように、情報処理システム１０００は、一または複数の情報処理装置（情報処理装置１０１０ａ、情報処理装置１０１０ｂ）と、システム更新サーバ１０１１とがネットワーク１０１２を介して接続される。ネットワーク１０１２は、ＬＡＮ（Local Area Network）やインターネットなどの一般的なネットワークであり、上記情報処理装置及びシステム更新サーバ１０１１の間で種々のデータを送受信する。以下では、上記情報処理装置を、単に情報処理装置１０１０と呼ぶ。
【００１１】
図２は、図１に示した情報処理装置１０１０のハードウェア構成を示す図である。図２に示すように、情報処理装置１０１０は、ＣＰＵ(Central Processing Unit)１０１と、ＳＤＲＡＭ(Synchronous Dynamic Random Access Memory)１０２と、電源１０３と、ＳＳＤ(Solid State Drive)１０４と、入力インタフェース（以下Ｉ／Ｆと略す）１０５と、表示Ｉ／Ｆ１０６と、ＵＳＢ(Universal Serial Bus)ポート１０７と、ネットワークＩ／Ｆ１０８とを、バス１０９を介して接続することにより構成される。
【００１２】
ＣＰＵ１０１は、ＳＳＤ１０４に格納された各種プログラムの処理及び制御を行う演算装置である。ＳＤＲＡＭ１０２は、ＣＰＵ１０１の作業領域であって、ＳＳＤ１０４に格納された各種アプリケーションやＯＳ(Operating System)を常駐させるための記憶媒体である。ＳＳＤ１０４は、情報処理装置１０１０上で動作するＯＳや各種アプリケーションを動作させるための様々なプログラムを記憶する記憶装置である。以下、ＯＳ及びアプリケーションを含む場合には、単にソフトウェアと呼ぶこともある。
【００１３】
入力Ｉ／Ｆ１０５は、マウス、タッチセンサ等のポインティングデバイスを接続するためのインタフェースである。表示Ｉ／Ｆ１０６は、ディスプレイ装置を接続するためのインタフェースである。ＵＳＢポート１０７は、各種外部装置を接続するために設けられたポートである。ネットワークＩ／Ｆ１０８は、ネットワーク１０１２との接続及びネットワーク１０１２を介した情報処理装置間、及び情報処理装置とシステム更新サーバ１０１１との間の通信を制御するためのインタフェースである。続いて、ＳＳＤ１０４が記憶するデータについて説明する。
【００１４】
ＳＳＤ１０４は、ＯＳ１０４１と、アンチウィルスソフト１０４２と、Ｗｅｂクライアントプログラム１０４３と、システム更新プログラム１０４４と、ＳＳＤ１０４内のデータ記録領域１０４５に記録されているホワイトリスト１０４５１と、アプリケーションプログラム１０４６とを記憶する。
ＯＳ１０４１は、情報処理装置１０１０を動作させる一般的なオペレーティングシステムであり、例えば Microsoft Windows Embedded Standard7（登録商標）を用いることができる。
【００１５】
アンチウィルスソフト１０４２は、ウィルスを検出し、除去するためのホワイトリスト型のアンチウィルスソフトウェアであり、例えば、McAfee Embedded Control（登録商標）を用いることができる。アンチウィルスソフト１０４２は、ホワイトリスト１０４５１に登録されているファイルのみを実行可能ファイルであると認識し、その実行を許可する。
また、アンチウィルスソフト１０４２は、ソフトウェアの追加やバージョンアップのために、適正な更新を許可するUpdaters（以下、アップデータプログラムと呼ぶ）１０４２１を有している。
【００１６】
アンチウィルスソフト１０４２は、例えば、上記ＯＳ１０４１を更新する場合、情報処理装置１０１０のシステム構成を更新してアップデータプログラム１０４２１の実行を許可する設定に変更する。具体的には、アンチウィルスソフト１０４２は、コマンドfinetune  add  U-WindowsUpdateを実行する。このコマンドの実行により、ＯＳ１０４１を更新する場合に、通常の状態では実行が許可されていない上記アップデータプログラム１０４２１の実行が可能となる。以下では、ＯＳ１０４１を更新する場合について説明しているが、他のソフトウェアにも適用することができる。
【００１７】
また、アンチウィルスソフト１０４２は、アプリケーションプログラム１０４６に対して、そのアプリケーションプログラム１０４６自身を更新（例えば、新たなアプリケーションプログラムの追加、削除、また変更）する許可を得るための権限（以下、アップデータ権限と呼ぶ）を付与する。具体的には、アンチウィルスソフト１０４２は、コマンドsadmin  updaters  add  APP01.exeを実行する。APP01.exeは、上記アプリケーションプログラム１０４６の例である。このコマンドの実行により、アプリケーションプログラム１０４６の更新が可能となる。以下では、アプリケーションプログラム１０４６を更新する場合について説明しているが、他のソフトウェアにも適用することができる。
【００１８】
また、アンチウィルスソフト１０４２は、システム更新プログラム１０４４からの通知を受け、上記ＯＳ１０４１やアプリケーションプログラム１０４６を更新する際に必要な実行可能ファイル等の各種ファイルをホワイトリスト１０４５１に登録し、その内容を更新する。
【００１９】
Ｗｅｂクライアントプログラム１０４３は、ＨＴＴＰ(Hyper  Text  Transfer  Protocol)を通じて、システム更新サーバ１０１１に記憶されているＷｅｂサーバプログラム４０４２へのリクエストの送信及びＷｅｂサーバプログラム４０４２からのレスポンスを受信するためのクライアントプログラムである。
【００２０】
システム更新プログラム１０４４は、システム更新サーバ１０１１からダウンロードされ、またはＵＳＢポート１０７に接続されたＵＳＢメモリから読み込まれたＯＳやアプリケーションの更新用プログラムを用いて、情報処理装置１０１０にインストールされているＯＳ１０４１やアプリケーションプログラム１０４６を更新するためのプログラムである。
【００２１】
ホワイトリスト１０４５１は、実行可能ファイルを記憶するリストである。図３は、ホワイトリスト１０４５１の構成例を示す図である。図３に示すように、ホワイトリスト１０４５１には、実行を許可する実行可能ファイルがリスト形式で記憶されている。図３では、アプリケーションプログラム１０４６(APP01.exe)、及びＯＳ１０４１用の更新プログラムAPP01_UPDATE_*.*.exe(*.*:任意の半角英数文字)の実行が登録され、これらのプログラムの実行が許可されていることを示している。
【００２２】
アプリケーションプログラム１０４６は、上記ＯＳ１０４１上で動作する一般的なアプリケーションを実行するためのプログラムである。
【００２３】
図４は、情報処理装置１０１０の機能的な構成を示すブロック図である。図４に示すように、情報処理装置１０１０は、機能的には、入力部４０１と、表示部４０２と、実行プログラム管理部４０３と、ＯＳ処理部４０４と、Ｗｅｂクライアント処理部４０５と、アプリケーション処理部４０６と、システム更新部４０７と、通信部４０８と、クライアント記憶部４０９とを有して構成されている。
【００２４】
入力部４０１は、上記入力Ｉ／Ｆ１０５が有する機能を司り、ポインティングデバイスからの入力を受け付ける。表示部４０２は、上記表示Ｉ／Ｆ１０６が有する機能を司り、ＬＣＤに各種情報を表示する。実行プログラム管理部４０３は、上記アンチウィルスソフト１０４２が有する機能を司り、あらかじめホワイトリスト１０４５１に登録されていないプログラムの実行を不許可とし、システム更新部４０７から通知された実行可能ファイルをホワイトリストに登録し、その内容を更新する。更新許可部４０３１は、上記アップデータプログラム１０４２１が有する機能を司り、ソフトウェアの追加やバージョンアップのための更新を許可する。
【００２５】
ＯＳ処理部４０４は、上記ＯＳ１０４１が有する機能を司り、情報処理装置１０１０を動作させる。Ｗｅｂクライアント処理部４０５は、上記Ｗｅｂクライアントプログラム１０４３が有する機能を司り、システム更新サーバ１０１１との間で、ＨＴＴＰによるリクエストやレスポンスを送受信する。アプリケーション処理部４０６は、上記アプリケーションプログラム１０４６が有する機能を司り、一般的なアプリケーションを実行する。システム更新部４０７は、上記システム更新プログラム１０４４が有する機能を司り、上記更新用プログラムを用いて、ＯＳ１０４１やアプリケーションプログラム１０４６を更新するとともに、上記リクエストを生成する。
【００２６】
通信部４０８は、上記ＵＳＢポート１０７およびネットワークＩ／Ｆ１０８であり、情報処理装置１０１０と情報処理装置１０１０に接続された外部装置との間で通信する。クライアント記憶部４０９は、上記ＳＳＤ１０４が有する機能を司り、上記ＯＳや各種アプリケーションの動作や更新をするための各プログラムを記憶する。続いて、図１に戻って、システム更新サーバ１０１１について説明する。
【００２７】
図５は、図１に示したシステム更新サーバ１０１１のハードウェア構成を示す図である。図５に示すように、システム更新サーバ１０１１は、ＣＰＵ５０１と、ＳＤＲＡＭ５０２と、電源５０３と、ＨＤＤ（Hard Disk Drive)５０４と、入力Ｉ／Ｆ５０５と、表示Ｉ／Ｆ５０６と、ＵＳＢポート５０７と、ネットワークＩ／Ｆ５０８とを、バス５０９を介して接続することにより構成される。上記システム更新サーバ１０１１の各構成のうち、ＨＤＤ５０４以外の構成については、上記情報処理装置１０１０と同様であるため、ここではその説明を省略し、ＨＤＤ５０４について説明する。
【００２８】
ＨＤＤ５０４は、ＯＳ５０４１と、Ｗｅｂサーバプログラム５０４２、データ記録領域５０４３に記録されている更新用プログラム５０４３１のほか、最新および過去のバージョンとなるＯＳ１０４１やアプリケーションプログラム１０４６を履歴で記憶する。
【００２９】
ＯＳ５０４１は、システム更新サーバ１０１１を動作させる一般的なオペレーティングシステムであり、例えば、Microsoft  Windows  Server  2008  Enterprise  Edition  R2（登録商標）を用いることができる。
【００３０】
Ｗｅｂサーバプログラム５０４２は、情報処理装置１０１０からＯＳ１０４１やアプリケーションプログラム１０４６を更新するためのリクエストである更新リクエストに基づき、更新対象となるアプリケーションプログラム１０４６やＯＳ１０４１の有無を判定する。Ｗｅｂサーバプログラム５０４２は、更新対象となるアプリケーションプログラム１０４６やＯＳ１０４１が存在すると判定した場合、更新用プログラム５０４３１を要求元の情報処理装置１０１０に送信する。
【００３１】
更新用プログラム５０４３１は、情報処理装置１０１０にインストールされているＯＳ１０４１やアプリケーションプログラム１０４６についての更新プログラムである。更新用プログラム５０４３１としては、例えば、ＯＳ１０４１やアプリケーションプログラム１０４６のバージョンアッププログラムやパッチプログラムがある。
【００３２】
図６は、システム更新サーバ１０１１の機能的な構成を示すブロック図である。図６に示すように、システム更新サーバ１０１１は、機能的には、入力部６０１と、表示部６０２と、プログラム更新部６０３と、ＯＳ処理部６０４と、Ｗｅｂサーバ処理部６０５と、通信部６０６と、サーバ記憶部６０７とを有して構成されている。なお、入力部６０１、表示部６０２、通信部６０６については、上記情報処理装置１０１０と同様であるため、ここではその説明を省略する。
【００３３】
プログラム更新部６０３は、上記更新用プログラム５０４３１が有する機能を司り、情報処理装置１０１０が有するシステム更新プログラム１０４４の更新用プログラム５０４３１を記録したZIPファイルを生成する。ＯＳ処理部６０４は、システム更新サーバ１０１１を動作させる。Ｗｅｂサーバ処理部６０５は、上記更新リクエストに基づき、システム更新サーバ１０１１に記憶されている更新対象となるアプリケーションプログラム１０４６やＯＳ１０４１の有無を判定し、更新用プログラム５０４３１を含む上記ZIPファイルを要求元の情報処理装置１０１０に送信する。サーバ記憶部６０７は、上記ＨＤＤが有する機能を司り、上記各プログラムを記憶する。
【００３４】
図７は、情報処理装置１０１０の表示部４０２に表示されるＯＳ１０４１またはアプリケーションプログラム１０４６を、更新用プログラム５０４３１により更新するための更新メニュー画面の例を示す図である。図７に示すように、更新メニュー画面では、ネットワークを経由した更新またはＵＳＢによる更新のいずれかを選択するためのメニューが表示されている。更新メニュー画面は、システム更新部４０７により表示される。システム更新部４０７は、入力部４０１が「ＵＳＢメモリから」または「ネットワークから」のいずれかを選択を受け付け、ＯＫボタンの押下を受け付けると、図８に示すネットワーク経由更新画面または図９に示すＵＳＢ経由更新画面を表示する。
【００３５】
図８は、ネットワーク経由更新画面の例を示す図である。図８に示すように、ネットワーク経由更新画面には、更新対象となるソフトウェアのプログラムを示すファイル名と、そのファイルの内容についての概略を示す説明とが対応付けて表示されている。図８では、例えば、APP01_UPDATE_1.2.zipというファイル名称のZIPファイルは情報処理装置１０１０にインストールされているアプリケーションプログラム１０４６のバージョンが１．２であることを示している。ネットワーク経由更新画面は、システム更新部４０７により表示される。入力部４０１が本画面において表示されたＯＫボタンの押下を受け付けると、システム更新部４０７が、ソフトウェアの更新を実行する。
【００３６】
図９は、ＵＳＢ経由更新画面の例を示す図である。図９に示すように、ＵＳＢ経由更新画面には、更新対象となるソフトウェアのプログラムを示すファイル名と、そのファイルの内容についての概略を示す説明とが対応付けて表示されている。図９では、図８と同様に、更新対象となるソフトウェアのプログラムを示すファイル名と、そのファイルの内容についての概略を示す説明とが対応付けて表示されている。ＵＳＢ経由更新画面は、システム更新部４０７により表示される。図８の場合と同様に、入力部４０１が本画面において表示されたＯＫボタンの押下を受け付けると、システム更新部４０７が、ソフトウェアの更新を実行する。
【００３７】
なお、本画面では、上記各項目に対応付けたチェックボックスが設けられ、入力部４０１がチェックボックスに対するチェックを受け付けると、システム更新部４０７により、そのチェックに対応するＯＳ１０４１やアプリケーションプログラム１０４６の更新が実行される。
【００３８】
図１０は、図８または図９に示したアプリケーションプログラム１０４６を更新するためのZIPファイルの例を示す図である。図１０に示すように、ZIPファイルには、APP01_UPDATE_x.x.exというファイル名の実行可能ファイルが含まれている。x.xは情報処理装置１０１０にインストールされているアプリケーションプログラム１０４６のバージョン番号である。システム更新部４０７は、アプリケーションプログラム１０４６(APP01.exe)から起動され、上記ZIPファイルをパラメータとして受け取り、当該ZIPファイルを展開することによりアプリケーションプログラム１０４６を更新する。
【００３９】
図１１は、図８または図９に示したＯＳ１０４１を更新するためのZIPファイルの例を示す図である。図１１に示すように、ZIPファイルには、バッチファイルであるINSTALL.batとＯＳ１０４１の更新用プログラム５０４３１が含まれている。バッチファイルINSTALL.batは、システム更新部４０７がＯＳ１０４１をアップデートする手順が記載されたバッチファイルである。また、拡張子が.msuであるファイルは、ＯＳ１０４１の更新用プログラムである。
図１２は、図１１に示したバッチファイルの例を示す図である。図１２に示すように、バッチファイルには、更新用プログラム５０４３１が実行順に記載されている。図１２では、更新用プログラム５０４３１の例として、windows61.-KB878799-v33-x86.msuからwindows61.-KB947821-v33-x86.msuまでを順にインストールする処理が記載されている。続いて、本システムにおいて実行される処理について説明する。
【００４０】
図１３は、本システムにおいてＯＳまたはアプリケーションを更新する際の更新処理の処理手順を示すフローチャートである。
【００４１】
図１３に示すように、システム更新部４０７は、図７に示したメニュー画面を表示部４０２に表示する（Ｓ１３０１）。メニュー画面を表示するタイミングは、例えば、アプリケーションプログラム１０４６やＯＳ１０４１の起動時であり、そのタイミングでシステム更新プログラム１０４４を呼び出す。
【００４２】
実行プログラム管理部４０３は、ＯＳ１０４１の更新に関する更新許可部４０３１の実行を許可するとともに更新許可部４０３１がアプリケーションプログラム１０４６の更新を許可するように、アプリケーションプログラム１０４６に対してアップデータ権限を付与する（Ｓ１３０２）。アプリケーションプログラム１０４６にアップデータ権限が付与されると、そのアプリケーションプログラム１０４６から呼び出されるシステム更新部４０７にもそのアップデータ権限が引き継がれ、システム更新部４０７はＯＳ１０４１やアプリケーションプログラム１０４６の更新が可能となる。上記ステップＳ１３０２では、アプリケーションプログラム１０４６について記載しているが、ＯＳ１０４１の場合も同様である。
【００４３】
システム更新部４０７は、レジストリおよびＳＳＤ１０４を参照し、情報処理装置１０１０にインストールされているＯＳ１０４１の更新履歴及びアプリケーションプログラム１０４６の現在のバージョン情報を取得する（Ｓ１３０３）。例えば、システム更新部４０７は現在のアプリケーションプログラム１０４６のバージョン番号1.0を取得する。
【００４４】
入力部４０１が図７に示したメニュー画面から「ネットワークから」の選択を受け付け（Ｓ１３０４）、Ｗｅｂクライアント処理部４０５は、システム更新サーバ１０１１にアクセスし、ＯＳ１０４１およびアプリケーションプログラム１０４６についての更新用プログラムの一覧を取得する（Ｓ１３０５）。以下では、一例として、ネットワーク経由によりソフトウェアを更新する場合について説明する。
【００４５】
図１４は、更新用プログラムの一覧を取得する処理の例を示すイメージ図である。図１４に示すように、ＨＴＴＰにより、まず、１．Ｗｅｂクライアント処理部４０５側からＷｅｂサーバ処理部６０５にＴＣＰセッションを張る。さらに、２．Ｗｅｂクライアント処理部４０５が、更新用プログラム５０４３１の一覧を取得するためのリクエストメッセージをＷｅｂサーバ処理部６０５に送信する。さらに、３．Ｗｅｂサーバ処理部６０５がＷｅｂクライアント処理部４０５に対してそのレスポンスメッセージを返信する、という３つの手順により、上記更新用プログラム５０４３１の一覧が取得される。
【００４６】
上記リクエストおよびレスポンスを実行するために、Ｗｅｂクライアント処理部４０５およびＷｅｂサーバ処理部６０５は、ＨＴＴＰのＧＥＴメソッドを用いる。具体的には、パスとして/listを指定し、ボディパラメータとして、情報処理装置１０１０にその時点でインストールされているアプリケーションプログラム１０４６のバージョン番号およびＯＳ１０４１の更新用プログラム５０４３１が、ＸＭＬ(eXtensible Markup Language)形式で記載される。
【００４７】
システム更新部４０７は、上記パスとボディパラメータとを生成してＷｅｂクライアント処理部４０５に引き渡し、Ｗｅｂクライアント処理部４０５が、Ｗｅｂサーバ処理部６０５との間で上記３つの手順を実行することにより、上記更新用プログラム５０４３１の一覧が取得される。続いて、図１３に戻ってＳ１３０４以降の各ステップについて説明する。
【００４８】
上記のとおり、システム更新部４０７は、上記更新用プログラム５０４３１の一覧を要求するリクエストを生成し（Ｓ１３０５）、Ｗｅｂクライアント処理部４０５は、そのリクエストをＧＥＴメソッドによりシステム更新サーバ１０１１に送信する（Ｓ１３０６）。
【００４９】
Ｗｅｂサーバ処理部６０５は、あらかじめＨＤＤ５０４に記憶されている最新バージョンのアプリケーションプログラム１０４６（(例えば、最もバージョン番号が大きいアプリケーションプログラム１０４６)を検索する。そして、Ｗｅｂサーバ処理部６０５は、そのバージョン番号が、上記ＸＭＬに指定されたアプリケーションプログラム１０４６のバージョン番号よりも大きいか否かを判定し、そのバージョン番号が大きいと判定した場合に、最新バージョンのアプリケーションプログラム１０４６のファイル名を取得する。
【００５０】
例えば、Ｗｅｂサーバ処理部６０５は、ＨＤＤ５０４にバージョン番号1.0、1.1、1.2の3つのアプリケーションプログラム１０４６が記憶されている場合、検索結果はバージョン1.2となる。この場合、システム更新部４０７が取得した現在のバージョン番号 (1.0)よりも大きいため、Ｗｅｂサーバ処理部６０５は、APP01_UPDATE_1.2.zipというファイル名をレスポンスに記述する。また、Ｗｅｂサーバ処理部６０５は、上記ＸＭＬに含まれていないＯＳ１０４１の更新用プログラム５０４３１を検索し、一覧形式で上記レスポンスメッセージに記述する。
【００５１】
Ｗｅｂサーバ処理部６０５は、このような処理を行うことにより、ＯＳ１０４１およびアプリケーションプログラム１０４６の更新用プログラム５０４３１のファイル名を、ＸＭＬ形式でレスポンスメッセージに記述し、当該レスポンスメッセージをＷｅｂクライアント処理部４０５に送信する（Ｓ１３０７）。
【００５２】
Ｗｅｂクライアント処理部４０５は、Ｗｅｂサーバ処理部６０５から受信した上記レスポンスメッセージに記述されたＸＭＬをシステム更新部４０７に引き渡す（Ｓ１３０８）。システム更新部４０７は、Ｗｅｂクライアント処理部４０５から受け取ったレスポンスメッセージに記述された更新用プログラム５０４３１の一覧を参照し、図８に示したネットワーク経由更新画面を表示部４０２に表示する（Ｓ１３０９）。
【００５３】
なお、図８に示したネットワーク経由更新画面に表示されているＯＳ１０４１の更新用プログラムは、「ファイル名」列にAPP01_UPDATE_100.0.zipという固定のファイル名が付与され、「説明」列に更新用プログラム５０４３１の内訳が付与されている。ZIPファイルAPP01_UPDATE_100.0.zipは、図１１で示したファイル群をzip圧縮したファイルであり、Ｗｅｂサーバ処理部６０５により生成され、上記ファイル名や内訳とともに、ＸＭＬに記述されたものである。
【００５４】
システム更新部４０７は、入力部４０１が、上記ネットワーク経由更新画面においてＯＫボタンの押下を受け付けると、ネットワーク経由更新画面に表示されているアプリケーションプログラム１０４６やＯＳ１０４１のファイル名を参照し、各ソフトウェアの実体ファイルを要求するリクエストを生成し（Ｓ１３１０）、Ｗｅｂクライアント処理部４０５は、そのリクエストをＧＥＴメソッドによりシステム更新サーバ１０１１に送信する（Ｓ１３１１）。
【００５５】
Ｗｅｂサーバ処理部６０５は、上記リクエストに記述されているアプリケーションプログラム１０４６やＯＳ１０４１のファイル称を参照し、プログラム更新部６０３があらかじめ生成してＨＤＤ５０４に記憶した更新用プログラムの実体ファイル（例えば、(APP01_UPDATE_1.2.zip)、OS１０４１の更新用プログラム(.msu)）のZIPファイルを取得し、バッチファイルINSTALL.batを作成し、INSTALL.batファイルと更新用プログラムを含むZIPファイルAPP01_UPDATE_100.0.zipを生成し、Ｗｅｂクライアント処理部４０５に送信する（Ｓ１３１２）。続いて、ZIPファイルを取得する処理について説明する。
【００５６】
図１５は、ZIPファイルを取得する処理の例を示すイメージ図である。図１５に示すように、図１４に示した場合と同様に、ＨＴＴＰにより、まず、１．Ｗｅｂクライアント処理部４０５側からＷｅｂサーバ処理部６０５にＴＣＰセッションを張る。さらに、２．Ｗｅｂクライアント処理部４０５が、更新用プログラム５０４３１を取得するためのリクエストメッセージをＷｅｂサーバ処理部６０５に送信する。さらに、３．Ｗｅｂサーバ処理部６０５がＷｅｂクライアント処理部４０５に対してそのレスポンスメッセージを返信する、という３つの手順により、上記更新用プログラムの実体ファイルであるZIPファイルが取得される。
【００５７】
上記リクエストおよびレスポンスを実行するために、Ｗｅｂクライアント処理部４０５およびＷｅｂサーバ処理部６０５は、図１４に示した場合と同様に、ＨＴＴＰのＧＥＴメソッドを用いる。具体的には、パスとして/upatesを指定し、ボディパラメータとして、更新を要求するアプリケーションプログラム１０４６やＯＳ１０４１のファイル名が、ＸＭＬ(eXtensible  Markup  Language)形式で記載される。続いて、図１３に戻ってＳ１３１３以降の各ステップについて説明する。
【００５８】
Ｗｅｂクライアント処理部４０５は、Ｗｅｂサーバ処理部６０５から受信した上記レスポンスメッセージに記述されたＸＭＬをシステム更新部４０７に引き渡す（Ｓ１３１３）。システム更新部４０７は、Ｗｅｂクライアント処理部４０５から受け取ったレスポンスメッセージに記述されたZIPファイルを読み出し、ＯＳ１０４１やアプリケーションプログラム１０４６を更新するシステム更新処理を実行する（Ｓ１３１４）。
【００５９】
図１６は、システム更新処理の処理手順を示すフローチャートである。本処理は、読み出したZIPファイルに含まれる更新用プログラム５０４３１の数だけ繰り返し実行する（Ｓ１６０１、Ｓ１６０４）。
【００６０】
図１６に示すように、まず、システム更新部４０７は、読み出したZIPファイルを解凍および展開する（Ｓ１６０２）。例えば、システム更新部４０７は、APP01_UPDATE_1.2.zipを解凍してAPP01_UPDATE_1.2.exeで示されるアプリケーションプログラム１０４６を展開し、APP01_UPDATE_100.0.zipを解凍して図８に記載の各実行可能ファイルを展開する。
【００６１】
システム更新部４０７は、展開した各実行可能ファイルを実行する（Ｓ１６０３）。このとき、システム更新部４０７は、各実行可能ファイルを実行プログラム管理部４０３に通知し、実行プログラム管理部４０３は、通知された上記各実行可能ファイルをホワイトリスト１０４５１に登録し、その内容を更新する（Ｓ１６０５）。次に、システム更新部４０７は、ホワイトリスト１０４５１に登録された上記各実行可能ファイルを実行して、ＯＳ１０４１やアプリケーションプログラム１０４６を更新する。
【００６２】
このように、本システムでは、上記処理を実行するので、情報処理装置１０１０の稼働率を低下させることなく、ＯＳ１０４１やアプリケーションプログラム１０４６等のソフトウェアの更新に伴う作業負担を減らすことができる。具体的には、実行プログラム管理部４０３を再起動するなどして一旦無効化したうえでホワイトリストを再作成し、再び実行プログラム管理部４０３を有効化する、という時間のかかる処理を行う必要がなくなるので、上記ソフトウェアの更新を完全に自動化することができ、その結果、情報処理装置１０１０の稼働率を向上させることができる。
【００６３】
本実施の形態では、図１３において、ネットワーク経由によりソフトウェアを更新する場合について説明した。しかし、ＵＳＢメモリ経由によりソフトウェアを更新する場合には、Ｓ１３０９において、システム更新部４０７は、ＵＳＢメモリに保存されたファイルを検索し、アプリケーションプログラム１０４６やＯＳ１０４１の名称を読み取り、図９に示したように一覧表示すればよい。そして、Ｓ１３１０において入力部４０１がＯＫボタンの押下を受け付けると、システム更新部４０７は、Ｓ１３１４において、すべての更新用プログラム（あるいは選択された更新用プログラム）を、ＵＳＢメモリからＳＳＤ５０４にコピーすればよい。
【００６４】
本発明は、上記実施の形態に限定されるものではなく、様々な変形例が含まれ、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えたり、各実施例の構成の一部について、他の構成の追加、削除、置換をすることが可能である。
【００６５】
例えば、上記ネットワーク経由によるソフトウェアの更新、およびＵＳＢメモリ経由によるソフトウェアの更新を組み合わせて実行してもよい。また、ネットワーク経由の場合には、ＨＴＴＰのＧＥＴメソッドを用いて更新用プログラムを含むZIPファイルを取得しているが、これに限らず他の方法により上記ZIPファイルを取得してもよい。さらに、ネットワーク経由で上記ZIPファイルを取得する場合、その都度認証処理を実行して正当にソフトウェアがインストールされていることを判定したうえで、図１３に示した更新処理を実行してもよい。この場合、情報処理装置１０１０の稼働率の低下を防ぎ、ソフトウェアの更新に伴う作業負担を減らすとともに、ソフトウェアの不正な更新を防止することができる。また、図１３のＳ１３０２において、実行プログラム管理部４０３が、更新許可部４０３１の実行を許可し、アップデータ権限を付与しているが、処理開始前にあらかじめ上記許可や付与を実行してもよい。この場合、図１３に示した更新処理を簡素化することができる。
【符号の説明】
【００６６】
１０００              情報処理システム
１０１０              情報処理装置
１０１１              システム更新サーバ
１０１２              ネットワーク
１０１                ＣＰＵ
１０２                ＳＤＲＡＭ
１０３                電源
１０４                ＳＳＤ
１０４１              ＯＳ
１０４２              アンチウィルスソフト
１０４３              Ｗｅｂクライアントプログラム
１０４４              システム更新プログラム
１０４５              データ記録領域
１０４５１            ホワイトリスト
１０４６              アプリケーションプログラム
１０５                入力Ｉ／Ｆ
１０６                表示Ｉ／Ｆ
１０７                ＵＳＢポート
１０８                ネットワークＩ／Ｆ
１０９                バス
４０１                入力部
４０２                表示部
４０３                実行プログラム管理部
４０４                ＯＳ処理部
４０５                Ｗｅｂクライアント処理部
４０６                アプリケーション処理部
４０７                システム更新部
４０８                通信部
４０９                クライアント記憶部
５０１                ＣＰＵ
５０２                ＳＤＲＡＭ
５０３                電源
５０４                ＨＤＤ
５０４１              ＯＳ
５０４２              Ｗｅｂサーバプログラム
５０４３              データ記録領域
５０４３１            更新用プログラム
５０５                入力Ｉ／Ｆ
５０６                表示Ｉ／Ｆ
５０７                ＵＳＢポート
５０８                ネットワークＩ／Ｆ
５０９                バス
６０１                入力部
６０２                表示部
６０３                プログラム更新部
６０４                ＯＳ処理部
６０５                Ｗｅｂサーバ処理部
６０６                通信部
６０７                サーバ記憶部。
【先行技術文献】
【特許文献】
【００６７】
【特許文献１】特開２０１４−０９６１４１号公報
【図１】
0006478026.tif 000002
【図２】
0006478026.tif 000003
【図３】
0006478026.tif 000004
【図４】
0006478026.tif 000005
【図５】
0006478026.tif 000006
【図６】
0006478026.tif 000007
【図７】
0006478026.tif 000008
【図８】
0006478026.tif 000009
【図９】
0006478026.tif 000010
【図１０】
0006478026.tif 000011
【図１１】
0006478026.tif 000012
【図１２】
0006478026.tif 000013
【図１３】
0006478026.tif 000014
【図１４】
0006478026.tif 000015
【図１５】
0006478026.tif 000016
【図１６】
0006478026.tif 000017