(57)【特許請求の範囲】
【請求項１】
外部に公開されている、パッケージの依存関係を解決させてダウンロードさせるパッケージ管理サーバ機能を有するセンターと、所定のデータ伝送路を介して接続され、ソフトウエアが動作する１又は複数の機器とも接続する情報処理装置であって、
前記センターから、ソフトウェア更新に必要な情報として、パッケージとして保持するソフトウェアの１又は複数の更新データに係る情報、及び前記更新データをインストールするために必要な更新用キーに係る情報を、取得する情報取得手段と、
前記情報取得手段により取得した情報、及び正規ユーザに対して発行され当該装置の所定の記憶領域に保持される更新用キーに基づき、ソフトウェア更新における依存関係が解決可能か否かを確認する確認手段と、
前記確認手段による依存関係解決可否の確認結果に基づき、前記センターから、更新するソフトウェアの更新データをダウンロードするダウンロード手段と、
前記機器から更新データのダウンロード要求を受けると、前記機器に前記更新データをダウンロードさせる手段と、を有することを特徴とする、情報処理装置。
【請求項２】
前記確認手段は、
前記情報取得手段により取得した情報に含まれる前記更新用キーに係る情報に基づき、当該装置の所定の記憶領域に、前記更新データをインストールするために必要な更新用キーが保持されているか否かを判定し、
更新用キーが保持されていると判定された場合に、
依存関係が解決可能であると確認することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記ダウンロード手段は、
前記確認手段により、依存関係が解決可能であると確認された場合に、
前記センターから前記更新データをダウンロードすることを特徴とする請求項１又は２のいずれか一項に記載の情報処理装置。
【請求項４】
前記ダウンロード手段は、
前記確認手段により依存関係の解決を確認したときの更新用キーに含まれる通信用証明書を用いて、前記センターとの通信を行い、前記更新データをダウンロードすることを特徴とする請求項３に記載の情報処理装置。
【請求項５】
当該装置で動作するソフトウェアに係る更新要否の判定結果に基づき、前記ソフトウェアを更新する機器と、所定のデータ伝送路で接続されることを特徴とする請求項１ないし４のいずれか一項に記載の情報処理装置。
【請求項６】
外部に公開されている、パッケージの依存関係を解決させてダウンロードさせるパッケージ管理サーバ機能を有するセンターと、所定のデータ伝送路を介して接続され、ソフトウエアが動作する１又は複数の機器とも接続される情報処理装置とを有するソフトウェア管理システムであって、
前記情報処理装置が、
前記センターから、ソフトウェア更新に必要な情報として、パッケージとして保持するソフトウェアの１又は複数の更新データに係る情報、及び前記更新データをインストールするために必要な更新用キーに係る情報を、取得する情報取得手段と、
前記情報取得手段により取得した情報、及び正規ユーザに対して発行され当該装置の所定の記憶領域に保持される更新用キーに基づき、ソフトウェア更新における依存関係が解決可能か否かを確認する確認手段と、
前記確認手段による依存関係解決可否の確認結果に基づき、前記センターから、更新するソフトウェアの更新データをダウンロードするダウンロード手段と、
前記機器から更新データのダウンロード要求を受けると、前記機器に前記更新データをダウンロードさせる手段と、を有することを特徴とするソフトウェア管理システム。
【請求項７】
外部に公開されている、パッケージの依存関係を解決させてダウンロードさせるパッケージ管理サーバ機能を有するセンターと、所定のデータ伝送路を介して接続され、ソフトウエアが動作する１又は複数の機器とも接続される情報処理装置におけるソフトウェア管理方法であって、
前記センターから、ソフトウェア更新に必要な情報として、更新用キーと依存関係にある、パッケージとして保持するソフトウェアの１又は複数の更新データに係る情報、及び前記更新データをインストールするために必要な更新用キーに係る情報を、取得する情報取得手順と、
前記情報取得手順により取得した情報、及び正規ユーザに対して発行され当該装置の所定の記憶領域に保持される更新用キーに基づき、ソフトウェア更新における依存関係が解決可能か否かを確認する確認手順と、
前記確認手順による依存関係解決可否の確認結果に基づき、前記センターから、更新するソフトウェアの更新データをダウンロードするダウンロード手順と、
前記機器から更新データのダウンロード要求を受けると、前記機器に前記更新データをダウンロードさせる手順と、を有することを特徴とするソフトウェア管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ伝送路を介して接続される１又は複数の機器が搭載するソフトウェアを管理する情報処理装置、ソフトウェア管理システムに関し、特に、パッケージ管理機能を用いてソフトウェアを更新する技術に関するものである。
【背景技術】
【０００２】
例えば特許文献１には、コンピュータ・ネットワークを通じてソフトウェアを配布する技術が提案されている。
【０００３】
これらの技術が提案される背景には、ソフトウェアを利用するユーザの利便性がある。ソフトウェアを利用する際には、様々な管理作業を要する。例えば、ソフトウェアの機能拡張、バグ修正、アップデートなどである。例えば、ユーザ環境に設定される相当数の機器に導入されているソフトウェアが、メーカからＣＤ（Compact Disk）などの記録媒体により提供される場合には、インストール機器ごとに作業を行う必要があり煩雑である。また、ソフトウェアの契約数が多い場合にも、メーカから提供されるソフトウェアに係る情報（機能拡張、バグ修正、アップデートなどの各種情報通知）や記録媒体などを管理・保管する必要があり煩雑である。
【０００４】
そこで、ユーザは、上記提案技術（ソフトウェア管理システム）を用いることで、上記ソフトウェアに係る管理作業を簡便に行うことができる（管理作業の負荷を軽減できる）。
【０００５】
このようなソフトウェア管理システムでは、ソフトウェアの提供手段（ソフトウェア更新機能）として、ＦＴＰ（File Transfer Protocol）を用いる場合がある。
【０００６】
しかし、ＦＴＰを用いてソフトウェア更新機能を実装する場合には、多くの開発工数を必要とする。なぜなら、ソフトウェア更新機能には、「更新可能なパッケージ」と「そのパッケージをインストールするために必要なパッケージ」との情報（インストールするソフトウェア群の依存関係に係る情報）を基にダウンロード／インストールを行う仕組みが必要となるためである。
【０００７】
そこで、ＹＵＭ（Yellow dog Updater, Modified）などのパッケージ管理機能を用いて、インストールするソフトウェア群の依存関係を解決し、ダウンロード／インストールを行う方法が挙げられる。ＹＵＭは、Ｌｉｎｕｘ（登録商標）のＲＰＭ（RPM Package Manager）互換パッケージ管理システムである。パッケージ管理システムとは、ＯＳ（Operating System）と言う一つの環境で、各種のソフトウェアの導入と削除、そしてソフトウェア同士やライブラリとの依存関係を管理するシステムである。
【０００８】
このようなパッケージ管理機能を用いたソフトウェア更新機能では、「更新可能なパッケージ」と「そのパッケージをインストールするために必要なパッケージ」の判断を行うことにより、上記依存関係を意識することなく、ダウンロード／インストールを行うことができる。これにより、パッケージ管理機能を用いたソフトウェア更新機能では、実装に係る開発工数を減らすことができる。
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、パッケージ管理機能を用いたソフトウェア更新機能では、本来、正規ユーザ（契約後のユーザ）しかダウンロードできないはずのソフトウェア（更新データ）が、不特定多数の人によってダウンロードされてしまう問題がある。
【００１０】
パッケージ管理システムは、管理対象パッケージの特性により、ソフトウェアを、インターネット上で公開されている場所（不特定対数の人からアクセス可能なリポジトリ（パッケージ管理サーバ））に置く構成となっている。そのため、上記問題が生じてしまう。
【００１１】
本発明は上記従来技術の問題点を鑑み提案されたものであり、その目的とするところは、不特定対数の人からアクセス可能な場所に置かれているソフトウェアを、正規ユーザのみ利用可能とすることができる情報処理装置、ソフトウェア管理システム、及びソフトウェア管理方法を提供することにある。
【課題を解決するための手段】
【００１２】
上記目的を達成するため、本発明に係る情報処理装置は、外部に公開されている、パッケージの依存関係を解決させてダウンロードさせるパッケージ管理サーバ機能を有するセンターと、所定のデータ伝送路を介して接続され、ソフトウエアが動作する１又は複数の機器とも接続する情報処理装置であって、前記センターから、ソフトウェア更新に必要な情報として、パッケージとして保持するソフトウェアの１又は複数の更新データに係る情報、及び前記更新データをインストールするために必要な更新用キーに係る情報を、取得する情報取得手段と、前記情報取得手段により取得した情報、及び正規ユーザに対して発行され当該装置の所定の記憶領域に保持される更新用キーに基づき、ソフトウェア更新における依存関係が解決可能か否かを確認する確認手段と、前記確認手段による依存関係解決可否の確認結果に基づき、前記センターから、更新するソフトウェアの更新データをダウンロードするダウンロード手段と、前記機器から更新データのダウンロード要求を受けると、前記機器に前記更新データをダウンロードさせる手段と、を有することを特徴とする。
【００１３】
このような構成によって、本発明に係る情報処理装置は、パッケージ管理サーバ機能を有するセンターから、ソフトウェア更新に必要な情報（更新用キー及び更新データに係る情報）を取得する。情報処理装置は、パッケージ管理機能を利用して、取得情報及び正規ユーザに対して発行され当該装置の所定の記憶領域に保持される更新用キーに基づき、ソフトウェア更新における依存関係が解決可能か否かを確認する。情報処理装置は、依存関係が解決可能であれば、センターから、更新するソフトウェアの更新データをダウンロードする。
【００１４】
このように、本発明に係る情報処理装置では、パッケージ管理機能を利用して、正規ユーザに対して発行される更新用キーを用いたソフトウェア更新における依存関係の解決可否判定に基づき、センターからソフトウェアに係る更新データのダウンロードを制御する。
【００１５】
これによって、本発明に係る情報処理装置は、不特定対数の人からアクセス可能な場所に置かれているソフトウェアを、正規ユーザのみ利用可能とすることができる（正規ユーザ以外の利用を防止できる）。
【００１６】
上記目的を達成するため、本発明に係るソフトウェア更新システムは、外部に公開されている、パッケージの依存関係を解決させてダウンロードさせるパッケージ管理サーバ機能を有するセンターと、所定のデータ伝送路を介して接続され、ソフトウエアが動作する１又は複数の機器とも接続される情報処理装置とを有するソフトウェア管理システムであって、前記情報処理装置が、前記センターから、ソフトウェア更新に必要な情報として、パッケージとして保持するソフトウェアの１又は複数の更新データに係る情報、及び前記更新データをインストールするために必要な更新用キーに係る情報を、取得する情報取得手段と、
前記情報取得手段により取得した情報、及び正規ユーザに対して発行され当該装置の所定の記憶領域に保持される更新用キーに基づき、ソフトウェア更新における依存関係が解決可能か否かを確認する確認手段と、前記確認手段による依存関係解決可否の確認結果に基づき、前記センターから、更新するソフトウェアの更新データをダウンロードするダウンロード手段と、前記機器から更新データのダウンロード要求を受けると、前記機器に前記更新データをダウンロードさせる手段と、を有することを特徴とする。
【００１７】
上記目的を達成するため、本発明に係るソフトウェア管理方法は、外部に公開されている、パッケージの依存関係を解決させてダウンロードさせるパッケージ管理サーバ機能を有するセンターと、所定のデータ伝送路を介して接続され、ソフトウエアが動作する１又は複数の機器とも接続される情報処理装置におけるソフトウェア管理方法であって、前記センターから、ソフトウェア更新に必要な情報として、更新用キーと依存関係にある、パッケージとして保持するソフトウェアの１又は複数の更新データに係る情報、及び前記更新データをインストールするために必要な更新用キーに係る情報を、取得する情報取得手順と、前記情報取得手順により取得した情報、及び正規ユーザに対して発行され当該装置の所定の記憶領域に保持される更新用キーに基づき、ソフトウェア更新における依存関係が解決可能か否かを確認する確認手順と、前記確認手順による依存関係解決可否の確認結果に基づき、前記センターから、更新するソフトウェアの更新データをダウンロードするダウンロード手順と、前記機器から更新データのダウンロード要求を受けると、前記機器に前記更新データをダウンロードさせる手順と、を有することを特徴とする。
【００１８】
このような手順によって、本発明に係るソフトウェア管理方法は、パッケージ管理機能を利用して、パッケージ管理サーバ機能を有するセンターから取得したソフトウェア更新に必要な情報（更新用キー及び更新データに係る情報）、及び正規ユーザに対して発行され当該装置の所定の記憶領域に保持される更新用キーに基づき、ソフトウェア更新における依存関係が解決可能か否かを確認し、依存関係が解決可能であれば、センターから、更新するソフトウェアの更新データをダウンロードすると言う動作を実現する。
【００１９】
これによって、本発明に係るソフトウェア管理方法は、不特定対数の人からアクセス可能な場所に置かれているソフトウェアを、正規ユーザのみ利用可能な環境を提供できる。
【発明の効果】
【００２０】
本発明によれば、パッケージ管理機能を利用して、正規ユーザに対して発行される更新用キーを用いたソフトウェア更新における依存関係の解決可否判定に基づき、センターからソフトウェアに係る更新データのダウンロードを制御することで、不特定対数の人からアクセス可能な場所に置かれているソフトウェアを、正規ユーザのみ利用可能とする情報処理装置、ソフトウェア管理システム、及びソフトウェア管理方法を提供することができる。
【図面の簡単な説明】
【００２１】
【図１】本発明の第１の実施形態に係るソフトウェア管理システムの構成例を示す図である。
【図２】本発明の第１の実施形態に係る情報処理装置（ソフトウェア管理サーバ，センター，機器）のハードウェア構成例を示す図である。
【図３】本発明の第１の実施形態に係るソフトウェア管理機能の構成例を示す図である。
【図４】本発明の第１の実施形態に係るソフトウェア更新情報のデータ例を示す図である。
【図５】本発明の第１の実施形態に係る依存関係の解決に従ったダウンロード制御例を示す図である。
【図６】本発明の第１の実施形態に係る自動更新の予約設定を行う処理手順例を示すシーケンス図である。
【図７】本発明の第１の実施形態に係るソフトウェア更新予約の設定画面例を示す図である。
【図８】本発明の第１の実施形態に係る自動更新スクリプトファイルのデータ例を示す図である。
【図９】本発明の第１の実施形態に係るソフトウェアを更新する処理手順例を示すシーケンス図（その１）である。
【図１０】本発明の第１の実施形態に係るソフトウェアを更新する処理手順例を示すシーケンス図（その２）である。
【発明を実施するための形態】
【００２２】
以下、本発明の好適な実施の形態（以下「実施形態」と言う）について、図面を用いて詳細に説明する。
【００２３】
［第１の実施形態］
＜システム構成＞
まず、機器管理システムの構成について説明する。
【００２４】
図１は、本実施形態に係るソフトウェア管理システム１の構成例を示す図である。
図１には、ソフトウェアを提供するメーカ側のシステム（以下「メーカ側システム」と言う）Ｓと、ソフトウェアが導入された１又は複数のユーザ側のシステム（以下「ユーザ側システム」と言う）Ｕａ，Ｕｂとが、インターネットなどの外部ネットワークＩで接続されるシステム構成例が示されている。上記各システムＳ，Ｕａ，Ｕｂは、例えばＦＷ（Fire Wall）を介して外部ネットワークＩと接続される。
【００２５】
メーカ側システムＳには、ソフトウェアを提供するソフトウェア提供装置（以下単に「センター」と言う）３００が設置されている。つまり、センター３００が、上述した、不特定対数の人からアクセス可能なリポジトリであるパッケージ管理サーバ機能を有する装置にあたる（インターネット上で公開されている場所にあたる）。
【００２６】
ユーザ側システムＵａには、ソフトウェア管理機能を有する情報処理装置（ソフトウェア管理サーバ）１００ａと、更新対象（インストール対象）であるソフトウェアが動作する１又は複数の機器（クライアント）２００ａ１，２００ａ２，２００ａ３とが配置されている。これらの装置は、ＬＡＮ（Local Area Network）などの内部ネットワークＮａで接続される。ユーザ側システムＵｂも同様である。
【００２７】
このようなシステム構成により、ソフトウェア管理システム１では、次のようなソフトウェア更新に係る動作を実現できる。
【００２８】
例えば、ユーザ側システムＵａの情報処理装置１００ａは、外部ネットワークＩを介して、センター３００からサーバ用及び／又はクライアント用ソフトウェアに係る更新データをダウンロードする。
【００２９】
情報処理装置１００ａは、ダウンロードしたサーバ用ソフトウェアに係る更新データを当該装置にインストールする。また、情報処理装置１００ａは、ダウンロードしたクライアント用ソフトウェアに係る更新データを所定の記憶領域に保持する。
【００３０】
機器２００ａ１，２００ａ２，２００ａ３は、内部ネットワークＮａを介して、情報処理装置１００ａからクライアント用ソフトウェアに係る更新データをダウンロードする。機器２００ａ１，２００ａ２，２００ａ３は、ダウンロードしたクライアント用ソフトウェアに係る更新データを当該装置にインストールする。
【００３１】
このように、ソフトウェア管理システム１は、ユーザ環境における機能追加・更新（変更及び拡張を含む）・削除などのソフトウェア管理サービス（ソフトウェア管理機能）を提供することができる。
【００３２】
なお、以降の説明において、複数のユーザ側システムＵａ，Ｕｂを総称する場合には、「ユーザ側システムＵ」とする。同様に、システムＵを構成する複数の情報処理装置１００ａ，１００ｂを総称する場合には、「情報処理装置１００」とする。また、システムＵを構成する複数の機器２００ａ１，２００ａ２，２００ａ３，２００ｂ１，２００ｂ２，２００ｂ３を総称する場合には、「機器２００」とする。
【００３３】
＜ハードウェア構成＞
次に、上記ソフトウェア管理システム１を構成する各装置のハードウェア構成について説明する。本実施形態では、「ソフトウェア管理サーバ」，「センター」，「機器」それぞれが、ＰＣ（Personal Computer）であるものとし、「ソフトウェア管理サーバ」である情報処理装置１００を代表して説明する。
【００３４】
図２は、本実施形態に係る情報処理装置１００（ソフトウェア管理サーバ，センター，機器）のハードウェア構成例を示す図である。
図２に示すように、情報処理装置１００は、入力装置１０１、表示装置１０２、ドライブ装置１０３、ＲＡＭ（Random Access Memory）１０４、ＲＯＭ（Read Only Memory）１０５、ＣＰＵ（Central Processing Unit）１０６、インタフェース装置１０７、及びＨＤＤ（Hard Disk Drive）１０８などを備え、それぞれがバスＢで相互に接続されている。
【００３５】
入力装置１０１は、キーボード及びマウスなどを含み、情報処理装置１００に各操作信号を入力するのに用いられる。表示装置１０２は、ディスプレイなどを含み、情報処理装置１００による処理結果（例えば「ソフトウェア管理情報」）などを表示する。
【００３６】
インタフェース装置１０７は、情報処理装置１００を所定のデータ伝送路に接続するインタフェース（ＮＩＣ：Network I/F Card）である。よって、情報処理装置１００は、インタフェース装置１０７を介して、機器２００やセンター３００とデータ通信を行うことができる。
【００３７】
ＨＤＤ１０８は、各種プログラム及びデータを格納している不揮発性の記憶装置である。格納されるプログラム及びデータには、例えば、情報処理装置１００全体を制御する情報処理システム（例えば「Ｗｉｎｄｏｗｓ（登録商標：以下略）」や「ＵＮＩＸ（登録商標：以下略）」などの基本ソフトウェアであるＯＳ）、及び情報処理システム上において各種機能（例えば「ソフトウェア管理機能」）を提供するアプリケーションなどがある。また、ＨＤＤ１０８は、格納している上記プログラム及びデータを、所定のファイルシステム及び／又はＤＢ（Data Base）により管理している。
【００３８】
ドライブ装置１０３は、着脱可能な記録媒体１０３ａとのインタフェースである。これにより、情報処理装置１００は、ドライブ装置１０３を介して、記録媒体１０３ａの読み取り及び／又は書き込みを行うことができる。
【００３９】
ＲＯＭ１０５は、電源を切っても内部データを保持することができる不揮発性の半導体メモリ（記憶装置）である。ＲＯＭ１０５には、情報処理装置１００が起動されるときに実行されるＢＩＯＳ（Basic Input/Output System）や、情報処理装置１００のシステム設定及びネットワーク関連設定などのデータが格納されている。
【００４０】
ＲＡＭ１０４は、上記各種記憶装置から読み出されたプログラム及びデータを一時保持する揮発性の半導体メモリ（記憶装置）である。ＣＰＵ１０６は、上記ＲＡＭ１０４上に読み出したプログラムを実行することにより、情報処理装置１００の全体制御及び各種搭載機能の動作を実現する。
【００４１】
このようなハードウェア構成により、情報処理装置１００は、例えば、ＨＤＤ１０８からＲＡＭ１０４上に読み出したプログラム（搭載機能を実現するソフトウェア部品）をＣＰＵ１０６により実行し、搭載機能を実現することができる。
【００４２】
なお、機器２００に関しては、上記ハードウェア構成の限りでない。例えば、機器２００は、画像処理装置であってもよい。この場合、機器２００は、例えば、上記ハードウェア構成を制御基板であるコントローラ（非図示）に備え、さらに、用紙に出力画像を形成するプロッタ（非図示）や、原稿の読み取り画像を生成するスキャナ（非図示）と言った各種画像処理部をバスＢでコントローラに接続する構成となる。
【００４３】
＜ソフトウェア管理機能＞
本実施形態に係るソフトウェア管理機能について説明する。
【００４４】
本実施形態に係る情報処理装置（ソフトウェア管理サーバ）１００では、パッケージ管理サーバ機能を有するセンター３００から、ソフトウェア更新に必要な情報（更新用キー及び更新データに係る情報）を取得する。情報処理装置１００は、パッケージ管理機能を利用して、取得情報及び正規ユーザに対して発行され当該装置の所定の記憶領域に保持される更新用キーに基づき、ソフトウェア更新における依存関係が解決可能か否かを確認する。情報処理装置１００は、依存関係が解決可能であれば、センター３００から、更新するソフトウェアの更新データをダウンロードする。情報処理装置１００は、このようなソフトウェア管理機能を有している。
【００４５】
ソフトウェアの提供手段として、ＦＴＰを用いるソフトウェア管理システム１では、ソフトウェア更新機能を実装する場合、インストールするソフトウェア群の依存関係に係る情報を基にダウンロード／インストールを行う仕組みが必要となるため、多くの開発工数を必要とする。
【００４６】
そこで、ＹＵＭなどのパッケージ管理機能を用いたソフトウェア更新機能の実現方法が挙げられる。
【００４７】
しかし、パッケージ管理機能を用いたソフトウェア更新機能では、本来、正規ユーザ（契約後のユーザ）しかダウンロードできないはずのソフトウェア（更新データ）が、不特定多数の人によってダウンロードされてしまう問題がある。
【００４８】
そこで、本実施形態に係る情報処理装置１００では、パッケージ管理機能を利用して、正規ユーザに対して発行される更新用キーを用いたソフトウェア更新における依存関係の解決可否判定に基づき、センター３００からソフトウェアに係る更新データのダウンロードを制御する。すなわち、本実施形態では、パッケージ管理機能を利用して、更新用キーを用いて、ソフトウェア更新における依存関係が解決されなければ、センター３００から更新データをダウンロードすることができない仕組みを提供する。
【００４９】
これによって、本実施形態に係る情報処理装置１００では、不特定対数の人からアクセス可能な場所に置かれているソフトウェアを、正規ユーザのみ利用可能とすることができる（正規ユーザ以外の利用を防止できる）。
【００５０】
以下に、上記ソフトウェア管理機能の構成とその動作について説明する。
図３は、本実施形態に係るソフトウェア管理機能の構成例を示す図である。
図３に示すように、ソフトウェア管理機能は、ソフトウェア管理システム１を構成する各装置が有する機能部により実現される。
【００５１】
まず、情報処理装置（ソフトウェア管理サーバ）１００の周辺装置（センター及び機器）が有する機能部について説明する。
【００５２】
《センター》
センター３００は、自動更新予約制御部３１及び更新データ保持部（センター用）３２などを有している。
【００５３】
自動更新予約制御部３１は、受け付けた予約設定に基づき、情報処理装置１００及び機器２００で動作するソフトウェア（サーバ・クライアント用ソフトウェア）に係る自動更新を制御する機能部である。自動更新予約制御部３１は、予約設定を情報処理装置１００に送信し、後述する自動更新制御部１１に更新予約を行う。その結果、自動更新予約制御部３１は、情報処理装置１００から予約結果を受け取り、予約完了の旨を通知する。なお、上記自動更新予約制御部３１の詳細については、以降の機能動作で後述する。
【００５４】
更新データ保持部（センター用）３２は、サーバ用及び／又はクライアント用ソフトウェアに係る更新データを所定の記憶領域に保持する機能部である。つまり、更新データ保持部（センター用）３２は、当該装置が備える記憶装置（例えば「ＨＤＤ」）が有する機能である。ここで言う「サーバ用ソフトウェアに係る更新データ」とは、ソフトウェア管理サーバである情報処理装置１００で動作するソフトウェアに係る更新データである。また、「クライアント用ソフトウェアに係る更新データ」とは、機器２００で動作するソフトウェアに係る更新データである。よって、更新データ保持部（センター用）３２は、メーカ側から正規ユーザに対して提供するソフトウェア群をパッケージとして管理し保持している。なお、上記更新データ保持部（センター用）３２が保持する更新データの詳細については、以降の自動更新制御部１１の説明で後述する。
【００５５】
《機器》
機器２００は、更新確認部２１などを有している。
【００５６】
更新確認部２１は、当該機器で動作するソフトウェア（クライアント用ソフトウェア）のバージョン（カレントバージョン）に基づき、ソフトウェア更新の要否を確認する機能部である。更新確認部２１は、情報処理装置１００に対して行ったクライアント用ソフトウェアの最新バージョンの確認結果に基づき、更新要否判定を行う。その結果、更新確認部２１は、情報処理装置１００から最新バージョンの更新データをダウンロードする。これにより、機器２００では、クライアント用ソフトウェアの更新処理が行える。なお、上記更新確認部２１の詳細については、以降の機能動作で後述する。
【００５７】
《情報処理装置（ソフトウェア管理サーバ）》
情報処理装置１００は、自動更新制御部１１及び更新データ保持部（機器用）１２などを有している。
【００５８】
更新データ保持部（機器用）１２は、機器２００で動作するソフトウェア（クライアント用ソフトウェア）に係る更新データを所定の記憶領域に保持する機能部である。つまり、更新データ保持部（機器用）１２は、当該装置が備える記憶装置（例えば「ＨＤＤ」）が有する機能である。よって、更新データ保持部（機器用）１２には、後述する自動更新制御部１１によりセンター３００からダウンロードした更新データ群を管理し保持している。
【００５９】
また、更新データ保持部（機器用）１２には、正規ユーザに対して発行される更新用キーも保持している。なお、上記更新データ保持部（機器用）１２が保持する更新キーの詳細については、次の自動更新制御部１１の説明で後述する。
【００６０】
自動更新制御部１１は、更新予約に従って、当該装置で動作するソフトウェア（サーバ用ソフトウェア）の自動更新、及び／又は機器２００で動作するソフトウェア（クライアント用ソフトウェア）のダウンロードを制御する機能部である。自動更新制御部１１は、センター３００が有する自動更新予約制御部３１により設定された更新予約に従って上記制御を行う。
【００６１】
例えば、センター３００が有する自動更新予約制御部３１は、情報処理装置１００に対して、更新日時などの予約設定とともに、パッケージ管理機能を用いてソフトウェア更新を行う処理手順が定義された自動更新スクリプトファイルを送信する。
【００６２】
よって、自動更新制御部１１は、設定された更新日時に、受信した上記自動更新スクリプトファイルに定義される処理手順を実行することで、ソフトウェアの自動更新制御を行う。そのため、自動更新制御部１１は、自動更新スクリプトファイルを実行する機能部であるスクリプト実行部１１１、及び、自動更新後にファイルを削除する機能部であるスクリプト削除部１１５を有している。
【００６３】
さらに、自動更新制御部１１では、スクリプト実行部１１１により自動更新スクリプトファイルが実行されると、主に、依存関係解決確認部１１２、更新データ正当性確認部１１３、及び更新データ格納部１１４などの各機能部が動作する。つまり、自動更新スクリプトファイルには、これらの機能部が動作するような処理手順が定義されている。
【００６４】
依存関係解決確認部１１２は、例えば、「更新可能なパッケージ」と「そのパッケージをインストールするために必要なパッケージ」などのソフトウェア更新における依存関係の解決（解決済み／未解決）を確認する機能部である。依存関係解決確認部１１２は、スクリプト実行により動作するパッケージ管理機能を利用して、正規ユーザに対して発行される更新用キーを用いたソフトウェア更新における依存関係の解決可否判定を行う。依存関係解決確認部１１２は、センター３００から取得したソフトウェア更新に必要な情報（更新用キー及び更新データに係る情報）、及び正規ユーザに対して発行され当該装置の所定の記憶領域に保持している更新用キーに基づき、ソフトウェア更新における依存関係が解決可能か否かを判定する。
【００６５】
ここで、依存関係をもつソフトウェア更新情報と、これらの依存関係を解決する動作例について説明する。
【００６６】
図４は、本実施形態に係るソフトウェア更新情報のデータ例を示す図である。
図４には、情報処理装置１００が有する更新データ保持部（機器用）１２及びセンター３００が有する更新データ保持部（センター用）３２が保持するソフトウェア更新情報の例が示されている。
【００６７】
更新データ保持部（機器用）１２は、正規ユーザに対して発行された更新用キー１２Ｄを保持している。更新用キー１２Ｄには、暗号化された更新データの正当性を確認するための公開鍵１２Ｄ１と、センター３００との通信用証明書１２Ｄ２とが含まれる。
【００６８】
更新データ保持部（センター用）３２は、ソフトウェアに係る更新データ群３２Ｄを保持している。更新データ群３２Ｄには、サーバ用更新データ３２Ｄ２及びクライアント用更新データ３２Ｄ３と、これらのデータに対して親にあたる親更新データ３２Ｄ１とが含まれる。
【００６９】
図中の破線矢印は、上記各種ソフトウェア更新情報の依存関係を表している。例えば、上述したように、サーバ用更新データ３２Ｄ２及びクライアント用更新データ３２Ｄ３は、親更新データ３２Ｄ１と依存関係にある。つまり、サーバ用更新データ３２Ｄ２及びクライアント用更新データ３２Ｄ３のインストール（これらのデータによるソフトウェア更新）には、親更新データ３２Ｄ１を必要とする。また、更新データ３２Ｄは、更新用キー１２Ｄと依存関係にある。つまり、更新データ３２Ｄに含まれる親更新データ３２Ｄ１、サーバ用更新データ３２Ｄ２、及びクライアント用更新データ３２Ｄ３のインストールには、更新用キー１２Ｄを必要とする。
【００７０】
ＹＵＭなどのパッケージ管理機能は、このような依存関係を動的に解決する。そこで、依存関係解決確認部１１２では、上記パッケージ管理機能の特性（依存関係の解決）を利用して、センター３００からのソフトウェアに係る更新データ３２Ｄのダウンロードを制御する。
【００７１】
図５は、本実施形態に係る依存関係の解決に従ったダウンロード制御例を示す図である。
例えば、図５（Ａ）には、正規ユーザのソフトウェア更新環境が示されている。この場合、情報処理装置１００では、次のようなダウンロード制御が行われる。
【００７２】
まず、情報処理装置１００では、センター３００に対して、ソフトウェア更新に必要な情報（更新用キー及び更新データに係る情報）を取得する。このとき得られた情報が、依存関係を示す情報となる。情報処理装置１００は、この取得情報に基づき、ソフトウェア更新時に解決しなければならないソフトウェア群の依存関係を把握する。情報処理装置１００は、依存関係解決確認部１１２により、取得情報に基づき把握した依存関係の解決を確認する。その結果、情報処理装置１００では、センター３００の更新データ保持部（センター用）３２で保持する更新データ３２Ｄをインストールするときに必要な更新用キー１２Ｄを、更新データ保持部（機器用）１２で保持していることから、依存関係が解決されることが確認できる。このように、情報処理装置１００は、依存関係解決確認部１１２により、依存関係が解決可能であると判定された場合（解決済みと確認された場合）、センター３００からソフトウェアに係る更新データ３２Ｄをダウンロードできる。
【００７３】
一方、図５（Ｂ）には、第三者のソフトウェア更新環境が示されている。この場合、情報処理装置１００では、次のようなダウンロード制御が行われる。なお、情報処理装置１００がソフトウェア群の依存関係を把握するまでは、上述した通りである。
【００７４】
情報処理装置１００は、依存関係解決確認部１１２により、取得情報に基づき把握した依存関係の解決を確認する。その結果、情報処理装置１００では、センター３００の更新データ保持部（センター用）３２で保持する更新データ３２Ｄをインストールするときに必要な更新用キー１２Ｄを、更新データ保持部（機器用）１２が保持していないことから、依存関係が解決されないことが確認できる。つまり、情報処理装置１００は、更新用キー１２Ｄを保持していないことから、正規ユーザが所有するソフトウェア管理サーバではないことが確認される。そのため、情報処理装置１００は、依存関係が解決不可能であると判定された場合（未解決と確認された場合）、ソフトウェアに係る更新データをセンター３００からダウンロードすることができない。
【００７５】
このようにして、情報処理装置１００では、パッケージ管理機能による依存関係の上記解決可否判定に基づき、センター３００からソフトウェアに係る更新データのダウンロードが制御される。
【００７６】
更新データ正当性確認部１１３は、上記制御によりダウンロードされ暗号化された更新データ３２Ｄの正当性を確認する機能部である。更新データ正当性確認部１１３は、更新データ保持部（機器用）１２で保持する更新用キー１２Ｄに含まれる正当性確認用公開鍵１２Ｄ１を用いて更新データ３２Ｄの正当性を確認する。このとき、情報処理装置１００では、更新データ正当性確認部１１３により、正当性が確認できなければ、その旨を通知し、ソフトウェア更新に係る処理を終了する。
【００７７】
更新データ格納部１１４は、正当性が確認されたクライアント用更新データ３２Ｄ３を、更新データ保持部（機器用）１２に格納する機能部である。更新データ格納部１１４は、所定の格納先（予め決められた記憶領域の配置先）に従って、クライアント用更新データ３２Ｄ３を格納する。
【００７８】
また、自動更新制御部１１は、当該装置で動作するソフトウェア（サーバ用ソフトウェア）のバージョン（カレントバージョン）に基づき、ソフトウェア更新の要否を確認する。自動更新制御部１１は、センター３００に対して行ったサーバ用ソフトウェアの最新バージョンの確認結果に基づき、更新要否判定を行う。なお、上記自動更新制御部１１の詳細については、以降の機能動作で後述する。
【００７９】
このように、本実施形態に係るソフトウェア管理機能は、上記各機能部が連係動作することにより実現される。
【００８０】
次に、ソフトウェア管理機能の詳細な動作（機能部群の連係動作）について、処理手順を示すシーケンス図を用いて説明する。
【００８１】
ソフトウェア管理機能は、主に、情報処理装置１００に搭載（インストール）されるプログラム（ソフトウェア管理機能を実現するソフトウェア部品）が、ＣＰＵ１０６により、格納先（例えば「ＲＯＭ」など）からＲＡＭ１０４上に読み出され、以下の処理が実行されることで実現される。
【００８２】
なお、以下の説明では、「自動更新予約に係る処理」（前処理）と、「ソフトウェア更新に係る処理」（処理２）とに分けて説明する。
【００８３】
《自動更新予約に係る処理》
図６は、本実施形態に係る自動更新の予約設定を行う処理手順例を示すシーケンス図である。ソフトウェア管理システム１では、情報処理装置１００とセンター３００との間で、外部ネットワークＩを介して次のような自動更新予約に係る処理が行われる。
【００８４】
図６に示すように、センター３００では、自動更新予約制御部３１により、ソフトウェアに係る自動更新の予約設定を所定のＧＵＩ（Graphical User Interface）を介して受け付ける（ステップＳ１０１）。自動更新予約制御部３１は、例えば、図７に示すような設定画面を、センター３００が備える表示装置（非図示）に表示する。
【００８５】
図７は、本実施形態に係るソフトウェア更新予約の設定画面例を示す図である。
図７（Ａ）には、自動更新に係る各種情報の一覧画面例が示されている。ユーザは、このような一覧画面を閲覧し、現在の自動更新状況を確認することができる。例えば、図７（Ａ）に示す一覧画面からは、自動更新の種別を識別する更新種別識別子［ＩＤ０１］の自動更新処理が完了していることが分かる。また、更新種別識別子［ＩＤ０２］の自動更新処理は未完了であることが分かる。
【００８６】
上記未完了の自動更新処理に対しては、例えば、一覧画面上の［作成］リンクをクリックすることで、設定画面から自動更新に係る予約設定ができる。
【００８７】
図７（Ｂ）には、自動更新に係る予約設定画面例が示されている。ユーザは、このような設定画面を介して、自動更新に係る各種設定を行うことができる。例えば、図７（Ｂ）に示す設定画面からは、更新種別、更新日時、及び自動更新スクリプトファイルなどを指定できる。自動更新スクリプトファイルの指定は、設定画面上の［参照］ボタンをクリックすることで、ユーザにより作成・保存されたファイルを選択することにより指定できる。
【００８８】
ここで、ユーザにより作成される自動更新スクリプトファイルについて説明する。
図８は、本実施形態に係る自動更新スクリプトファイル４１のデータ例を示す図である。
図８には、シェルスクリプトによる自動更新スクリプトファイル４１の例が示されている。シェルスクリプトとは、複数の処理をまとめて行うとき（バッチ処理時）に用いられる、ＯＳのシェルが直接解釈・処理可能なスクリプトである。
【００８９】
図８に示す自動更新スクリプトファイル４１には、"yum update"が記述されており、ＹＵＭ（パッケージ管理機能）によるアップデート実行（ソフトウェア更新実行）の処理手順が定義されている。これが依存関係解決確認部１１２の動作実行定義にあたる。
【００９０】
このように、自動更新スクリプトファイル４１には、依存関係解決確認部１１２だけでなく、更新データ正当性確認部１１３及び更新データ格納部１１４などの各機能部が動作するような処理手順を、所定のスクリプト言語により記述することで定義できる。
【００９１】
図６に戻り、自動更新予約に係る処理について説明する。
センター３００は、自動更新予約制御部３１により、上記設定画面を介して受け付けた予約設定を、外部ネットワークＩを介して情報処理装置１００に送信する（ステップＳ１０２）。このとき、自動更新予約制御部３１は、更新種別及び更新日時とともに、指定された自動更新スクリプトファイルを送信する。このように、センター３００では、情報処理装置１００に対して、ソフトウェアに係る自動更新の予約を要求する。
【００９２】
情報処理装置１００は、受信情報を自動更新制御部１１に渡す。これにより、情報処理装置１００では、自動更新制御部１１による自動更新予約が行われる（ステップＳ１０３）。このとき、自動更新制御部１１は、受信した自動更新スクリプトファイルを、更新種別及び更新日時の情報に関連付けて、所定の記憶領域に格納する。
【００９３】
情報処理装置１００は、自動更新制御部１１による自動更新予約結果［ＯＫ／ＮＧ］を、外部ネットワークＩを介して、予約要求元のセンター３００に送信し応答する。これにより、センター３００では、自動更新予約制御部３１により、情報処理装置１００から受信した予約結果に基づき、予約完了の旨を通知する。
【００９４】
本実施形態に係るソフトウェア管理システム１では、上記処理手順に示すソフトウェアの自動更新予約に係る処理が実行されることで、情報処理装置１００で行うソフトウェア更新が予約される。
【００９５】
《ソフトウェア更新に係る処理》
図９及び図１０は、本実施形態に係るソフトウェアを更新する処理手順例を示すシーケンス図（その１，２）である。ソフトウェア管理システム１では、情報処理装置１００及びセンター３００の間で、外部ネットワークＩを介して次のようなソフトウェア更新に係る処理が行われる。
【００９６】
図９に示すように、情報処理装置１００は、自動更新制御部１１により、当該装置で動作するソフトウェア（サーバ用ソフトウェア）のバージョンを確認する（ステップＳ２０１）。このとき、自動更新制御部１１は、ソフトウェアのカレントバージョンを取得する。
【００９７】
情報処理装置１００は、自動更新制御部１１により、外部ネットワークＩを介して、センター３００が有する更新データ保持部（センター用）３２にアクセスし、当該装置で動作するソフトウェアの最新バージョンを確認する（ステップＳ２０２）。これにより、自動更新制御部１１は、ソフトウェアの最新バージョンを取得する。
【００９８】
情報処理装置１００は、自動更新制御部１１により、カレントバージョンと最新バージョンとに基づき、当該装置で動作するソフトウェアの更新要否を判定する（ステップＳ２０３）。自動更新制御部１１は、カレントバージョンが最新バージョンと異なる場合、ソフトウェアの更新が必要と判定する。
【００９９】
続いて、情報処理装置１００は、自動更新制御部１１が有するスクリプト実行部１１１により、自動更新予約受付時に設定された更新日時に従って、指定された自動更新スクリプトファイル４１（更新種別に基づき特定したスクリプト）を実行する（ステップＳ２０４）。
【０１００】
情報処理装置１００は、自動更新スクリプトファイル４１が実行されると、次のような処理を行う。以下に説明する図９の処理手順は、例えば、実行された自動更新スクリプトファイル４１に記述されたＹＵＭ（パッケージ管理機能）によるアップデートが実行された場合の処理手順である。
【０１０１】
スクリプト実行部１１１は、外部ネットワークＩを介して、センター３００が有する更新データ保持部（センター用）３２にアクセスし、ソフトウェア更新に必要な情報（更新用キー１２Ｄ及び更新データ３２Ｄに係る情報）を取得する（ステップＳ２０５）。これにより、スクリプト実行部１１１は、ソフトウェア群の依存関係を示す情報を取得する。
【０１０２】
続いて、スクリプト実行部１１１は、スクリプト内に定義されている依存関係解決確認部１１２による処理を実行する。
【０１０３】
依存関係解決確認部１１２は、取得情報と、情報処理装置１００が有する更新データ保持部（機器用）１２に保持される更新用キー１２Ｄとに基づき、ソフトウェア更新に係る依存関係の解決を確認する（ステップＳ２０６）。依存関係解決確認部１１２は、取得情報に基づき、ソフトウェアの更新データ３２Ｄをインストールするために必要な更新用キー１２Ｄを特定する。依存関係解決確認部１１２は、特定した更新用キー１２Ｄが、情報処理装置１００が有する更新データ保持部（機器用）１２に保持されているか否かを判定する（更新用キーの存在を判定する）。その結果、依存関係解決確認部１１２は、更新用キー１２Ｄが保持されている場合（存在する場合）、ソフトウェア更新に係る依存関係が解決されることを確認する。一方、更新用キー１２Ｄが保持されていない場合（存在しない場合）には、ソフトウェア更新に係る依存関係が解決されないことを確認する。
【０１０４】
依存関係解決確認部１１２は、更新用キー１２Ｄが存在し、依存関係が解決可能であることが確認された場合（ステップＳ２０７：ＹＥＳ）、その確認結果を、スクリプト実行部１１１に返す。
【０１０５】
スクリプト実行部１１１は、上記確認結果に基づき、外部ネットワークＩを介して、センター３００に更新データ３２Ｄのダウンロードを要求する（ステップＳ２０８）。つまり、スクリプト実行部１１１は、センター３００が有する更新データ保持部（センター用）３２にアクセスし、該当する更新データ３２Ｄを取得する。このとき、スクリプト実行部１１１は、依存関係を解決した更新用データ１２Ｄに含まれるセンター通信用証明書１２Ｄ２を用いて、センター３００との通信を行う。
【０１０６】
一方、スクリプト実行部１１１は、依存関係解決確認部１１２から、更新用キー１２Ｄが存在せず、依存関係が解決不可能であることが確認された旨の結果が返された場合、正規ユーザによるソフトウェア更新処理でない可能性があるとして、所定のエラー処理を行い、処理を終了する。
【０１０７】
このように、情報処理装置１００では、依存関係の解決確認に基づき判別された正規ユーザに対してのみ、センター３００からの更新データ３２Ｄのダウンロードが許可される。
【０１０８】
続いて、スクリプト実行部１１１は、スクリプト内に定義されている更新データ正当性確認部１１３による処理を実行する。
【０１０９】
更新データ正当性確認部１１３は、センター３００からダウンロードした更新データ３２Ｄの正当性を確認する（ステップＳ２０９）。更新データ正当性確認部１１３は、依存関係を解決した更新用キー１２Ｄに含まれる正当性確認用公開鍵１２Ｄ１を用いて、暗号化された更新データ３２Ｄを復号し、正当なデータか否かを判定する。
【０１１０】
更新データ正当性確認部１１３は、更新データ３２が正当なデータであると確認された場合（ステップＳ２１０：ＹＥＳ）、その確認結果を、スクリプト実行部１１１に返す。
【０１１１】
ここからは、図１０に示す処理手順について説明する。
続いて、スクリプト実行部１１１は、スクリプト内に定義されている更新データ格納部１１４による処理を実行する。
【０１１２】
一方、スクリプト実行部１１１は、更新データ正当性確認部１１３から、更新データ３２が正当なデータでないことが確認された旨の結果が返された場合、ソフトウェア更新処理が正常に行えない可能性があるとして、所定のエラー処理を行い、処理を終了する。
【０１１３】
更新データ格納部１１４は、上記確認結果に基づき、正当性が確認された更新データ３２Ｄを、情報処理装置１００が有する更新データ保持部（機器用）１２に格納する（ステップＳ２１１）。このとき、更新データ格納部１１４は、正当性が確認された更新データ３２Ｄを、既存データの記憶先（記憶領域）に格納し、データ更新を行う。正当性が確認された更新データ３２Ｄがサーバ用更新データ３２Ｄ２である場合には、ステップＳ２０３による更新要否の判定結果に基づき、既存データが更新される。
【０１１４】
更新データ格納部１１４は、更新データ３２格納後、その実行結果を、スクリプト実行部１１１に返す。
【０１１５】
スクリプト実行部１１１では、このようにして、スクリプト内に定義されているソフトウェアの自動更新に係る処理手順を実行する。
【０１１６】
スクリプト実行部１１１は、自動更新スクリプトファイル４１の実行を終えると、その実行結果を、自動更新制御部１１に返す。
【０１１７】
情報処理装置１００は、上記実行結果を受けて、自動更新制御部１１が有するスクリプト削除部１１５により、実行後の自動更新スクリプトファイル４１を削除する（ステップＳ２１２）。これにより、情報処理装置１００は、自動更新制御部１１により削除結果を得て、一連の処理を終了する。
【０１１８】
また、ソフトウェア管理システム１では、情報処理装置１００及び機器２００の間で、内部ネットワークＮを介して次のようなソフトウェア更新に係る処理が行われる。
【０１１９】
機器２００は、更新確認部２１により、当該装置で動作するソフトウェア（クライアント用ソフトウェア）のバージョンを確認する（ステップＳ３０１）。このとき、更新確認部２１は、ソフトウェアのカレントバージョンを取得する。
【０１２０】
機器２００は、更新確認部２１により、内部ネットワークＮを介して、情報処理装置１００が有する更新データ保持部（機器用）１２にアクセスし、当該装置で動作するソフトウェアの最新バージョンを確認する（ステップＳ３０２）。これにより、更新確認部２１は、ソフトウェアの最新バージョンを取得する。
【０１２１】
機器２００は、更新確認部２１により、カレントバージョンと最新バージョンとに基づき、当該装置で動作するソフトウェアの更新要否を判定する（ステップＳ３０３）。更新確認部２１は、カレントバージョンが最新バージョンと異なる場合、ソフトウェアの更新が必要と判定する。
【０１２２】
更新確認部２１は、上記確認結果に基づき、内部ネットワークＮを介して、情報処理装置１００にクライアント用更新データ３２Ｄ２のダウンロードを要求する（ステップＳ３０４）。つまり、更新確認部２１は、情報処理装置１００が有する更新データ保持部（機器用）１２にアクセスし、該当するクライアント用更新データ３２Ｄ２を取得する。
【０１２３】
機器２００では、このようにしてダウンロードした更新データ３２Ｄを用いて、ソフトウェアが更新される。
【０１２４】
＜まとめ＞
以上のように、本実施形態に係る情報処理装置１００によれば、パッケージ管理サーバ機能を有するセンター３００から、ソフトウェア更新に必要な情報（更新用キー及び更新データに係る情報：依存関係を示す情報）を取得する。
【０１２５】
情報処理装置１００は、パッケージ管理機能を利用して、取得情報及び正規ユーザに対して発行され当該装置の所定の記憶領域に保持される更新用キー１２Ｄに基づき、ソフトウェア更新における依存関係が解決可能か否かを確認する。
【０１２６】
このとき、情報処理装置１００は、次のように依存関係の解決を確認する。情報処理装置１００は、取得情報に基づき、ソフトウェアの更新データ３２Ｄをインストールするために必要な更新用キー１２Ｄを特定する。情報処理装置１００は、特定した更新用キー１２Ｄが、当該装置が有する更新データ保持部（機器用）１２に保持されているか否かを判定する（更新用キーの存在を判定する）。その結果、情報処理装置１００は、更新用キー１２Ｄが保持されている場合（存在する場合）、ソフトウェア更新に係る依存関係が解決されることを確認する。一方、更新用キー１２Ｄが保持されていない場合（存在しない場合）には、ソフトウェア更新に係る依存関係が解決されないことを確認する。
【０１２７】
情報処理装置１００は、依存関係が解決可能であれば、センター３００からソフトウェアに係る更新データ３２Ｄをダウンロードする。
【０１２８】
つまり、情報処理装置１００では、パッケージ管理機能を利用して、正規ユーザに対して発行される更新用キー１２Ｄを用いたソフトウェア更新における依存関係の解決可否判定に基づき、センター３００からソフトウェアに係る更新データ３２Ｄのダウンロードを制御する。
【０１２９】
これによって、本実施形態では、更新用キー１２Ｄを用いて、ソフトウェア更新における依存関係が解決されなければ、センター３００から更新データ３２Ｄをダウンロードすることができない仕組みを提供することができる。
【０１３０】
その結果、パッケージ管理機能を用いることで少ない開発工数での実装されるソフトウェア更新機能において、不特定対数の人からアクセス可能な場所に置かれているソフトウェアを、正規ユーザのみ利用可能とすることができる（正規ユーザ以外の利用を防止できる）。
【０１３１】
ここまで、上記実施形態の説明を行ってきたが、上記実施形態に係る情報処理装置１００が有する「ソフトウェア管理機能」は、図を用いて説明を行った各処理手順を、動作環境（プラットフォーム）にあったプログラミング言語でコード化したプログラムが、ＣＰＵ１０６により実行されることで実現される。
【０１３２】
上記プログラムは、コンピュータが読み取り可能な記録媒体１０３ａに格納することができる。上記記録媒体１０３ａには、例えば、フロッピー（登録商標）ディスク、ＣＤ、及びＤＶＤ（Digital Versatile Disk）、ならびにＳＤメモリカード（SD Memory Card）及びＵＳＢ（Universal Serial Bus）メモリなどがある。
【０１３３】
よって、上記プログラムは、上記記録媒体１０３ａに記憶させることで、記録媒体１０３ａを読み取り可能なドライブ装置１０３などを介して情報処理装置１００にインストールすることができる。また、情報処理装置１００は、インタフェース装置１０７を備えていることから、インターネットなどの電気通信回線を用いて上記プログラムをダウンロードし、インストールすることもできる。
【０１３４】
最後に、上記実施形態に挙げた形状や構成に、その他の要素との組み合わせなど、ここで示した要件に、本発明が限定されるものではない。これらの点に関しては、本発明の主旨をそこなわない範囲で変更することが可能であり、その応用形態に応じて適切に定めることができる。
【符号の説明】
【０１３５】
１      ソフトウェア管理システム
１１    自動更新制御部
１１１  スクリプト実行部
１１２  依存関係解決確認部
１１３  更新データ正当性確認部
１１４  更新データ格納部
１１５  スクリプト削除部
１２    更新データ保持部（機器用）
１２Ｄ  更新用キー（Ｄ１：正当性確認用公開鍵，Ｄ２：センター通信用証明書）
２１    更新確認部
３１    自動更新予約制御部
３２    更新データ保持部（センター用）
３２Ｄ  更新データ（Ｄ１：親更新データ，Ｄ２：サーバ用更新データ，Ｄ３：クライアント用更新データ）
４１    自動更新スクリプトファイル
１００  情報処理装置（ソフトウェア管理サーバ）
１０１  入力装置
１０２  表示装置
１０３  ドライブ装置（ａ：記録媒体）
１０４  ＲＡＭ（揮発性の半導体メモリ）
１０５  ＲＯＭ（不揮発性の半導体メモリ）
１０６  ＣＰＵ（中央処理装置）
１０７  インタフェース装置（ＮＩＣ）
１０８  ＨＤＤ（不揮発性の記憶装置）
２００  機器（情報処理装置：クライアント）
３００  ソフトウェア提供装置（情報処理装置：パッケージ管理サーバ：センター）
Ｉ      外部ネットワーク（インターネット）
Ｎ      内部ネットワーク（ＬＡＮ）
Ｓ      メーカ側システム
Ｕ      ユーザ側システム
【先行技術文献】
【特許文献】
【０１３６】
【特許文献１】特開２００６−３０９４９７号公報
【図１】
0005526663.tif 000002
【図２】
0005526663.tif 000003
【図３】
0005526663.tif 000004
【図４】
0005526663.tif 000005
【図５】
0005526663.tif 000006
【図６】
0005526663.tif 000007
【図７】
0005526663.tif 000008
【図８】
0005526663.tif 000009
【図９】
0005526663.tif 000010
【図１０】
0005526663.tif 000011