(57)【特許請求の範囲】
【請求項１】
ソフトウェアを記憶する記憶部と、
前記ソフトウェアをアンインストールする指示の入力を受け付ける入力受付部と、
前記指示が受け付けられた場合に、画像処理装置で実行可能な処理を示すサービス加入情報と、前記処理の実行に使用されるソフトウェアを示すサービス依存情報を取得する取得部と、
取得された前記サービス加入情報と前記サービス依存情報とに基づいて、入力が受け付けられた前記指示にかかる前記ソフトウェアが、前記処理の実行に使用されるソフトウェアであるか否かを確認し、前記指示にかかる前記ソフトウェアが前記処理の実行に使用されるソフトウェアであることを確認した場合はアンインストール不可と判断し、前記指示にかかる前記ソフトウェアが前記処理の実行に使用されるソフトウェアでないことを確認した場合にアンインストール可能と判断する判断部と、
前記判断部による判断結果を利用者に通知する通知部と、
を備えたことを特徴とする画像処理装置。
【請求項２】
前記サービス加入情報と前記サービス依存情報が取得された場合に、前記サービス加入情報と前記サービス依存情報に基づいてアンインストールが制限されるソフトウェアの一覧を生成する一覧生成部、
をさらに備え、
前記判断部は、前記指示にかかる前記ソフトウェアが前記一覧に含まれるか否かを確認し、前記ソフトウェアが前記一覧に含まれることを確認した場合に、前記ソフトウェアをアンインストール不可と判断し、前記ソフトウェアが前記一覧に含まれないことを確認した場合に、前記ソフトウェアをアンインストール可能と判断すること、
を特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記取得部は、前記画像処理装置で動作するために他のソフトウェアがインストールされていることを条件とするソフトウェアと、当該他のソフトウェアを対応付けたソフトウェア依存情報をさらに取得し、
前記一覧生成部は、前記ソフトウェア依存情報が取得された場合に、前記ソフトウェア依存情報に含まれる前記画像処理装置にインストールされているソフトウェアを前記一覧に追加すること、
を特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記取得部は、所定の処理と、前記処理の実行に使用されるソフトウェアを対応付けた処理依存情報をさらに取得し、
前記一覧生成部は、前記処理依存情報が取得された場合に、前記処理依存情報の中に前記画像処理装置で実行可能な処理が含まれるか否かを判断し、前記処理依存情報の中に前記処理が含まれると判断した場合に、前記処理依存情報の中に含まれる前記処理の実行に使用されるソフトウェアを、取得された前記サービス依存情報から特定し、特定したソフトウェアを前記一覧に追加すること、
を特徴とする請求項２に記載の画像処理装置。
【請求項５】
前記通知部は、生成された前記一覧を利用者に通知すること、
を特徴とする請求項２に記載の画像処理装置。
【請求項６】
前記一覧を表示する表示部と、
生成された前記一覧を前記表示部に表示する表示制御部と、
をさらに備えることを特徴とする請求項２に記載の画像処理装置。
【請求項７】
前記表示制御部は、前記表示部に、前記画像処理装置にインストールされているソフトウェアのうち、生成された前記一覧に含まれるソフトウェアを半輝度表示にして一覧表示すること、
を特徴とする請求項６に記載の画像処理装置。
【請求項８】
前記表示制御部は、前記表示部に、前記画像処理装置にインストールされているソフトウェアのうち、生成された前記一覧に含まれるソフトウェアのみを一覧表示すること、
を特徴とする請求項６に記載の画像処理装置。
【請求項９】
画像処理装置と、前記画像処理装置にインストールされたソフトウェアのライセンスを管理するソフトウェア管理サーバとを備えたソフトウェア管理システムであって、
前記ソフトウェア管理サーバは、
前記画像処理装置による実行を許可した処理を識別するサービス加入情報と、当該処理の実行に使用されるソフトウェアを示すサービス依存情報を、前記画像処理装置を識別する機器識別情報に対応付けて記憶する記憶部と、
前記画像処理装置から、前記画像処理装置の前記機器識別情報に対応する前記サービス加入情報および前記サービス依存情報の送信要求を受信する第１受信部と、
前記送信要求を受信した場合に、前記記憶部から前記サービス加入情報および前記サービス依存情報を取得する取得制御部と、
取得された前記サービス加入情報および前記サービス依存情報を前記画像処理装置に送信する第１送信部と、
を備え、
前記画像処理装置は、
ソフトウェアを記憶する記憶部と、
前記ソフトウェアをアンインストールする指示の入力を受け付ける入力受付部と、
前記指示が受け付けられた場合に、前記ソフトウェア管理サーバに、前記送信要求を送信する第２送信部と、
前記ソフトウェア管理サーバから、前記サービス加入情報および前記サービス依存情報を取得する取得部と、
取得された前記サービス加入情報と前記サービス依存情報とに基づいて、入力が受け付けられた前記指示にかかる前記ソフトウェアが、前記処理の実行に使用されるソフトウェアであるか否かを確認し、前記指示にかかる前記ソフトウェアが前記処理の実行に使用されるソフトウェアであることを確認した場合はアンインストール不可と判断し、前記指示にかかる前記ソフトウェアが前記処理の実行に使用されるソフトウェアでないことを確認した場合にアンインストール可能と判断する判断部と、
前記判断部による判断結果を利用者に通知する通知部と、
を備えたことを特徴とするソフトウェア管理システム。
【請求項１０】
画像処理装置と、前記画像処理装置にインストールされたソフトウェアのライセンスを管理するソフトウェア管理サーバとを備えたソフトウェア管理システムで実行されるソフトウェア管理方法であって、
前記ソフトウェア管理サーバが、前記画像処理装置による実行を許可した処理を識別するサービス加入情報と、当該処理の実行に使用されるソフトウェアを示すサービス依存情報を、前記画像処理装置を識別する機器識別情報に対応付けて記憶部に保存する保存ステップと、
前記ソフトウェア管理サーバが、前記画像処理装置から、前記画像処理装置の前記機器識別情報に対応する前記サービス加入情報および前記サービス依存情報の送信要求を受信する第１受信ステップと、
前記ソフトウェア管理サーバが、前記送信要求を受信した場合に、前記記憶部から前記サービス加入情報および前記サービス依存情報を取得する取得制御ステップと、
前記ソフトウェア管理サーバが、取得された前記サービス加入情報および前記サービス依存情報を前記画像処理装置に送信する第１送信ステップと、
前記画像処理装置が、記憶部に記憶したソフトウェアをアンインストールする指示の入力を受け付ける入力受付ステップと、
前記画像処理装置が、前記指示が受け付けられた場合に、前記ソフトウェア管理サーバに、前記送信要求を送信する第２送信ステップと、
前記画像処理装置が、前記ソフトウェア管理サーバから、前記サービス加入情報および前記サービス依存情報を取得する取得ステップと、
前記画像処理装置が、取得された前記サービス加入情報と前記サービス依存情報とに基づいて、入力が受け付けられた前記指示にかかる前記ソフトウェアが、前記処理の実行に使用されるソフトウェアであるか否かを確認し、前記指示にかかる前記ソフトウェアが前記処理の実行に使用されるソフトウェアであることを確認した場合はアンインストール不可と判断し、前記指示にかかる前記ソフトウェアが前記処理の実行に使用されるソフトウェアでないことを確認した場合にアンインストール可能と判断する判断ステップと、
前記画像処理装置が、前記判断ステップによる判断結果を利用者に通知する通知ステップと、
を含むことを特徴とするソフトウェア管理方法。
【請求項１１】
画像処理装置と、前記画像処理装置にインストールされたソフトウェアのライセンスを管理するソフトウェア管理サーバとを備えたソフトウェア管理システムの前記ソフトウェア管理サーバに、前記画像処理装置による実行を許可した処理を識別するサービス加入情報と、当該処理の実行に使用されるソフトウェアを示すサービス依存情報を、前記画像処理装置を識別する機器識別情報に対応付けて記憶部に保存する保存ステップと、
前記画像処理装置から、前記画像処理装置の前記機器識別情報に対応する前記サービス加入情報および前記サービス依存情報の送信要求を受信する第１受信ステップと、
前記送信要求を受信した場合に、前記記憶部から前記サービス加入情報および前記サービス依存情報を取得する取得制御ステップと、
取得された前記サービス加入情報および前記サービス依存情報を前記画像処理装置に送信する第１送信ステップと、
を実行させ、
前記画像処理装置に、記憶部に記憶したソフトウェアをアンインストールする指示の入力を受け付ける入力受付ステップと、
前記指示が受け付けられた場合に、前記ソフトウェア管理サーバに、前記送信要求を送信する第２送信ステップと、
前記ソフトウェア管理サーバから、前記サービス加入情報および前記サービス依存情報を取得する取得ステップと、
取得された前記サービス加入情報と前記サービス依存情報とに基づいて、入力が受け付けられた前記指示にかかる前記ソフトウェアが、前記処理の実行に使用されるソフトウェアであるか否かを確認し、前記指示にかかる前記ソフトウェアが前記処理の実行に使用されるソフトウェアであることを確認した場合はアンインストール不可と判断し、前記指示にかかる前記ソフトウェアが前記処理の実行に使用されるソフトウェアでないことを確認した場合にアンインストール可能と判断する判断ステップと、
前記判断ステップによる判断結果を利用者に通知する通知ステップと、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、ソフトウェア管理システム、ソフトウェア管理方法およびプログラムに関する。
【背景技術】
【０００２】
従来から、出荷後において、ネットワークを介してソフトウェアをダウンロードし、ダウンロードしたソフトウェアをインストールして利用することができる機器が普及している。そして、ユーザが使用しなくなったソフトウェアについては、アンインストールすることで不要なソフトウェアを機器から削除することにより、ユーザがソフトウェアの追加と削除を自由に行うことができる技術が既に知られている。
【０００３】
しかし、従来の機器では、ユーザがサービスを受けるために必要なソフトウェアを機器にインストールしていた場合に、そのサービスとサービスが利用するソフトウェアとの関連性を把握できないために必要なソフトウェアを削除してしまうという事態が生じた。このように、必要なソフトウェアを誤って削除してしまうと、通常、ユーザはサービスの利用契約時に料金を支払っており、料金を支払っているにもかかわらずサービスを利用することができなくなってしまうという問題が生じていた。
【０００４】
この点、ソフトウェアをユーザに効率よく提供することを目的として、ネットワーク上のサーバでユーザ保有のコンピュータの固有識別情報と、ユーザのインストール済みのソフトウェアをソフトウェア管理情報として管理する技術が提案されている（例えば、特許文献１）。特許文献１では、ユーザからアンインストールの通知があった場合、ソフトウェア管理情報からアンインストール対象のコンポーネントを検索してユーザにアンインストールの可否を通知する方法が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１の技術では、ユーザがサービスとサービスが使用するコンポーネントとの関連性を把握できないことから、誤ってサービスに必要なコンポーネントをアンインストールしてしまうという問題がある。
【０００６】
本発明は、上記に鑑みてなされたものであって、誤ってサービスに必要なコンポーネントをアンインストールしてしまう事態を防止することができる画像処理装置、ソフトウェア管理システム、ソフトウェア管理方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するために、本発明にかかる画像処理装置は、ソフトウェアを記憶する記憶部と、前記ソフトウェアをアンインストールする指示の入力を受け付ける入力受付部と、前記指示が受け付けられた場合に、画像処理装置で実行可能な処理を示すサービス加入情報と、前記処理の実行に使用されるソフトウェアを示すサービス依存情報を取得する取得部と、取得された前記サービス加入情報と前記サービス依存情報とに基づいて、入力が受け付けられた前記指示にかかる前記ソフトウェアが、前記処理の実行に使用されるソフトウェアであるか否かを確認し、前記指示にかかる前記ソフトウェアが前記処理の実行に使用されるソフトウェアであることを確認した場合はアンインストール不可と判断し、前記指示にかかる前記ソフトウェアが前記処理の実行に使用されるソフトウェアでないことを確認した場合にアンインストール可能と判断する判断部と、前記判断部による判断結果を利用者に通知する通知部と、を備えたことを特徴とする。
【０００８】
また、本発明にかかるソフトウェア管理システムは、画像処理装置と、前記画像処理装置にインストールされたソフトウェアのライセンスを管理するソフトウェア管理サーバとを備えたソフトウェア管理システムであって、前記ソフトウェア管理サーバは、前記画像処理装置による実行を許可した処理を識別するサービス加入情報と、当該処理の実行に使用されるソフトウェアを示すサービス依存情報を、前記画像処理装置を識別する機器識別情報に対応付けて記憶する記憶部と、前記画像処理装置から、前記画像処理装置の前記機器識別情報に対応する前記サービス加入情報および前記サービス依存情報の送信要求を受信する第１受信部と、前記送信要求を受信した場合に、前記記憶部から前記サービス加入情報および前記サービス依存情報を取得する取得制御部と、取得された前記サービス加入情報および前記サービス依存情報を前記画像処理装置に送信する第１送信部と、を備え、前記画像処理装置は、ソフトウェアを記憶する記憶部と、前記ソフトウェアをアンインストールする指示の入力を受け付ける入力受付部と、前記指示が受け付けられた場合に、前記ソフトウェア管理サーバに、前記送信要求を送信する第２送信部と、前記ソフトウェア管理サーバから、前記サービス加入情報および前記サービス依存情報を取得する取得部と、取得された前記サービス加入情報と前記サービス依存情報とに基づいて、入力が受け付けられた前記指示にかかる前記ソフトウェアが、前記処理の実行に使用されるソフトウェアであるか否かを確認し、前記指示にかかる前記ソフトウェアが前記処理の実行に使用されるソフトウェアであることを確認した場合はアンインストール不可と判断し、前記指示にかかる前記ソフトウェアが前記処理の実行に使用されるソフトウェアでないことを確認した場合にアンインストール可能と判断する判断部と、前記判断部による判断結果を利用者に通知する通知部と、を備えたことを特徴とする。
【０００９】
また、本発明にかかるソフトウェア管理方法は、画像処理装置と、前記画像処理装置にインストールされたソフトウェアのライセンスを管理するソフトウェア管理サーバとを備えたソフトウェア管理システムで実行されるソフトウェア管理方法であって、
前記ソフトウェア管理サーバが、前記画像処理装置による実行を許可した処理を識別するサービス加入情報と、当該処理の実行に使用されるソフトウェアを示すサービス依存情報を、前記画像処理装置を識別する機器識別情報に対応付けて記憶部に保存する保存ステップと、
前記ソフトウェア管理サーバが、前記画像処理装置から、前記画像処理装置の前記機器識別情報に対応する前記サービス加入情報および前記サービス依存情報の送信要求を受信する第１受信ステップと、
前記ソフトウェア管理サーバが、前記送信要求を受信した場合に、前記記憶部から前記サービス加入情報および前記サービス依存情報を取得する取得制御ステップと、前記ソフトウェア管理サーバが、取得された前記サービス加入情報および前記サービス依存情報を前記画像処理装置に送信する第１送信ステップと、前記画像処理装置が、記憶部に記憶したソフトウェアをアンインストールする指示の入力を受け付ける入力受付ステップと、前記画像処理装置が、前記指示が受け付けられた場合に、前記ソフトウェア管理サーバに、前記送信要求を送信する第２送信ステップと、前記画像処理装置が、前記ソフトウェア管理サーバから、前記サービス加入情報および前記サービス依存情報を取得する取得ステップと、前記画像処理装置が、取得された前記サービス加入情報と前記サービス依存情報とに基づいて、入力が受け付けられた前記指示にかかる前記ソフトウェアが、前記処理の実行に使用されるソフトウェアであるか否かを確認し、前記指示にかかる前記ソフトウェアが前記処理の実行に使用されるソフトウェアであることを確認した場合はアンインストール不可と判断し、前記指示にかかる前記ソフトウェアが前記処理の実行に使用されるソフトウェアでないことを確認した場合にアンインストール可能と判断する判断ステップと、前記画像処理装置が、前記判断ステップによる判断結果を利用者に通知する通知ステップと、を含むことを特徴とする。
【００１０】
また、本発明にかかるプログラムは、画像処理装置と、前記画像処理装置にインストールされたソフトウェアのライセンスを管理するソフトウェア管理サーバとを備えたソフトウェア管理システムの前記ソフトウェア管理サーバに、前記画像処理装置による実行を許可した処理を識別するサービス加入情報と、当該処理の実行に使用されるソフトウェアを示すサービス依存情報を、前記画像処理装置を識別する機器識別情報に対応付けて記憶部に保存する保存ステップと、前記画像処理装置から、前記画像処理装置の前記機器識別情報に対応する前記サービス加入情報および前記サービス依存情報の送信要求を受信する第１受信ステップと、前記送信要求を受信した場合に、前記記憶部から前記サービス加入情報および前記サービス依存情報を取得する取得制御ステップと、取得された前記サービス加入情報および前記サービス依存情報を前記画像処理装置に送信する第１送信ステップと、を実行させ、前記画像処理装置に、記憶部に記憶したソフトウェアをアンインストールする指示の入力を受け付ける入力受付ステップと、前記指示が受け付けられた場合に、前記ソフトウェア管理サーバに、前記送信要求を送信する第２送信ステップと、前記ソフトウェア管理サーバから、前記サービス加入情報および前記サービス依存情報を取得する取得ステップと、取得された前記サービス加入情報と前記サービス依存情報とに基づいて、入力が受け付けられた前記指示にかかる前記ソフトウェアが、前記処理の実行に使用されるソフトウェアであるか否かを確認し、前記指示にかかる前記ソフトウェアが前記処理の実行に使用されるソフトウェアであることを確認した場合はアンインストール不可と判断し、前記指示にかかる前記ソフトウェアが前記処理の実行に使用されるソフトウェアでないことを確認した場合にアンインストール可能と判断する判断ステップと、前記判断ステップによる判断結果を利用者に通知する通知ステップと、を実行させることを特徴とする。
【発明の効果】
【００１１】
本発明によれば、誤ってサービスに必要なコンポーネントをアンインストールしてしまう事態を防止することができるという効果を奏する。
【図面の簡単な説明】
【００１２】
【図１】図１は、本実施の形態にかかるソフトウェア管理システムの構成を示すブロック図である。
【図２】図２は、ソフトウェア管理サーバ２００のシステム構成図である。
【図３】図３は、サービス加入情報の一例を示す図である。
【図４】図４は、サービス依存情報の一例を示す図である。
【図５】図５は、コンポーネント依存情報の一例を示す図である。
【図６】図６は、実施の形態にかかる機器のハードウェア構成図である。
【図７】図７は、本実施の形態にかかる機器のソフトウェア構成図である。
【図８】図８は、アプリインストール制御サービス１３１の機能的構成を示すブロック図である。
【図９】図９は、アンインストール不可コンポーネント一覧の一例を示す図である。
【図１０】図１０は、ソフトウェア管理システムによるアンインストール可否判断処理の手順を示すシーケンス図である。
【図１１】図１１は、機器１００によるアンインストール可否判断処理の手順を示すフローチャートである。
【図１２】図１２は、アンインストール不可コンポーネント一覧生成処理の手順を示すフローチャートである。
【図１３】図１３は、アンインストール不可コンポーネント一覧生成処理の手順を示すフローチャートである。
【発明を実施するための形態】
【００１３】
以下に添付図面を参照して、この発明にかかる画像処理装置、ソフトウェア管理システム、ソフトウェア管理方法およびプログラムの最良な実施の形態を詳細に説明する。以下の実施の形態においては、本発明における機器を、コピー機能、プリンタ機能、スキャナ機能、およびファクシミリ機能のうち少なくとも２つの機能を有する複合機（ＭＦＰ：Multi  Function  Peripherals）に適用した例を示すが、これに限定されない。
【００１４】
図１は、本実施の形態にかかるソフトウェア管理システムの構成を示すブロック図である。図１に示すように、ソフトウェア管理システムは、ソフトウェア管理サーバ２００と、ライセンス管理サーバ３００と、ソフトウェア配信サーバ４００と、複数の機器１００ａ、１００ｂ、１００ｃ（以下、特定しない機器を単に機器１００と称する。）が、インターネット８０を介して接続されている。そして、インターネット８０と複数の機器１００との間には、ファイアウォール９０が設けられている。
【００１５】
ファイアウォール９０は、公衆回線やインターネットなどの外部ネットワークを通じて遠隔管理システムに侵入した第三者により不正が行われないように、外部との境界を流れるデータを監視し、不正なアクセスを検出・遮断する。
【００１６】
ソフトウェア配信サーバ４００は、機器１００において実行される各種アプリケーションのソフトウェアのコンポーネント（以下、コンポーネントという。）を記憶しており、このコンポーネントを機器１００に配信するサーバ装置である。
【００１７】
ライセンス管理サーバ３００は、ソフトウェア配信サーバ４００から提供され、機器１００にインストールされるアプリケーションのコンポーネントのライセンス（利用権）や、機器１００において実行される機能のライセンスを管理する装置である。
【００１８】
ソフトウェア管理サーバ２００は、ユーザにより利用契約されたサービスと、ソフトウェア配信サーバ４００により機器１００に配信されたコンポーネントを管理する装置である。具体的には、管理装置２００は、ユーザにより利用契約されたサービスと、当該サービスを提供するために機器１００で実行されるコンポーネントを対応付け管理する。管理装置２００は、機器１００からの要求に応じて機器１００が加入しているサービスの情報（以下、サービス加入情報という。）や、当該サービスに対応付けられたコンポーネントに関する情報等を機器１００に送信する。
【００１９】
機器１００は、コピー、ファックス、プリンタなどの複数の機能を備えた装置であって、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）などのローカルネットワークにより相互に接続されている。本実施の形態の遠隔管理システムでは、３台の機器１００ａ、１００ｂ、１００ｃが接続されているが、これに限定されることなく、１台、２台、または４台以上の機器１００を接続した構成としてもよい。機器１００は、管理装置２００から取得した情報に基づいて、機器１００にインストールされているコンポーネントのアンインストールの可否を判断した上でアンインストールを実行するアプリインストール制御部を備えている。
【００２０】
本実施例のソフトウェア管理システムは、遠隔管理を実現するため、各装置に、ＲＰＣ（Ｒｅｍｏｔｅ  Ｐｒｏｃｅｄｕｒｅ  Ｃａｌｌ）により、相互実装するアプリケーションのメソッドに対する処理の要求、応答を送受信する機能を有しており、また、ＲＰＣを実現するために、ＳＯＡＰ（Ｓｉｍｐｌｅ  Ｏｂｊｅｃｔ  Ａｃｃｅｓｓ  Ｐｒｏｔｏｃｏｌ）、ＦＴＰ（Ｆｉｌｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）等のプロトコルを利用することができる。
【００２１】
次に、ソフトウェア管理サーバ２００のシステム構成について説明する。図２は、管理サーバ２００のシステム構成図である。図２に示すように、ソフトウェア管理サーバ２００は、送受信部２０１と、取得制御部２０２と、サービス加入情報管理部２０３と、サービス依存情報管理部２０４と、コンポーネント依存情報管理部２０５と、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）２１０とを主に備える。
【００２２】
ＨＤＤ２１０は、サービス加入情報、サービス依存情報、コンポーネント依存情報等を記憶する。ここで、サービス加入情報とは、ユーザが加入したサービスに関する情報である。図３は、サービス加入情報の一例を示す図である。図３に示すように、サービス加入情報は、機器ＩＤに、サービス名を対応付けている。例えば、機器ＩＤ「１１１ＰＣ」が加入しているサービスは、立体表示コピーと、コントラスト強調コピーと、フォトフレームスキャンである。
【００２３】
また、サービス依存情報とは、サービスが依存するコンポーネントに関する情報である。サービスが依存するコンポーネントとは、機器１００がサービスを利用するためにインストールされていることを必要とするコンポーネントのことである。図４は、サービス依存情報の一例を示す図である。図４に示すように、サービス依存情報は、サービス名に、当該サービスが依存するコンポーネントを対応付けている。例えば、立体表示コピーが依存するコンポーネントは、コピーコンポーネントと、画像加工コンポーネントである。
【００２４】
また、コンポーネント依存情報とは、コンポーネントの依存関係に関する情報である。コンポーネントの依存関係とは、あるコンポーネントが機器１００で動作するために他のコンポーネントが機器１００にインストールされていることを必要とする依存関係である。図５は、コンポーネント依存情報の一例を示す図である。図５に示すように、コンポーネント依存情報は、コンポーネント名に、当該コンポーネントが依存するコンポーネントを対応付けている。例えば、コピーコンポーネントが依存するコンポーネントは、文書操作コンポーネントと、画像検知コンポーネントと、画像読み取りコンポーネントである。
【００２５】
取得制御部２０２は、機器１００からの要求に応じて、サービス加入情報管理部２０３、サービス依存情報管理部２０４、コンポーネント依存情報管理部２０５を介して、ＨＤＤ２１０からサービス加入情報、サービス依存情報、コンポーネント依存情報を取得する。
【００２６】
サービス加入情報管理部２０３は、アプリケーション等のソフトウェアのポータル販売サイト（不図示）からサービス加入情報を取得しＨＤＤ２１０に保存する。サービス依存情報管理部２０４は、ＨＤＤ２１０に保存されたサービス依存情報を管理する。コンポーネント依存情報管理部２０５は、ＨＤＤ２１０に保存されたコンポーネント依存情報を管理する。
【００２７】
送受信部２０１は、機器１００、ソフトウェア配信サーバ４００、ライセンス管理サーバ３００とインターネット８０を介してデータを送受信する。例えば、送受信部２０１は、機器１００から情報の送信要求を受信する。ここで、情報の送信要求とは、情報を機器１００に送信する要求のことであり、情報とは、サービス加入情報と、サービス依存情報と、コンポーネント依存情報のことである。送受信部２０１は、情報の送信要求を受信した場合、取得制御部２０２から情報を取得し、取得した情報を機器１００に送信する。なお、送受信部２０１は、本発明の第１受信部、第１送信部に相当する。
【００２８】
次に、機器１００について説明する。図６は、本実施の形態にかかる機器１００のハードウェア構成図である。図６に示すように、機器１００は、コントローラ１０とエンジン部（Engine）６０とをＰＣＩ（Peripheral  Component  Interface）バスで接続した構成となる。コントローラ１０は、機器１００全体の制御と描画、通信、図示しない操作部からの入力を制御するコントローラである。エンジン部６０は、ＰＣＩバスに接続可能なプリンタエンジンなどであり、たとえば白黒プロッタ、１ドラムカラープロッタ、４ドラムカラープロッタ、スキャナまたはファックスユニットなどである。なお、このエンジン部６０には、プロッタなどのいわゆるエンジン部分に加えて、誤差拡散やガンマ変換などの画像処理部分が含まれる。
【００２９】
コントローラ１０は、ＣＰＵ１１と、ノースブリッジ（ＮＢ）１３と、システムメモリ（ＭＥＭ−Ｐ）１２と、サウスブリッジ（ＳＢ）１４と、ローカルメモリ（ＭＥＭ−Ｃ）１７と、ＡＳＩＣ（Application  Specific  Integrated  Circuit）１６と、ハードディスクドライブ（ＨＤＤ）１０３とを有し、ノースブリッジ（ＮＢ）１３とＡＳＩＣ１６との間をＡＧＰ（Accelerated  Graphics  Port）バス１５で接続した構成となる。また、ＭＥＭ−Ｐ１２は、ＲＯＭ１２ａと、ＲＡＭ１２ｂと、をさらに有する。
【００３０】
ＨＤＤ１０３は、機器１００を識別するための機器ＩＤや、機器１００にインストールされているコンポーネントを保存する。
【００３１】
ＣＰＵ１１は、機器１００の全体制御を行うものであり、ＮＢ１３、ＭＥＭ−Ｐ１２およびＳＢ１４からなるチップセットを有し、このチップセットを介して他の機器と接続される。
【００３２】
ＮＢ１３は、ＣＰＵ１１とＭＥＭ−Ｐ１２、ＳＢ１４、ＡＧＰ１５とを接続するためのブリッジであり、ＭＥＭ−Ｐ１２に対する読み書きなどを制御するメモリコントローラと、ＰＣＩマスタおよびＡＧＰターゲットとを有する。
【００３３】
ＭＥＭ−Ｐ１２は、プログラムやデータの格納用メモリ、プログラムやデータの展開用メモリ、プリンタの描画用メモリなどとして用いるシステムメモリであり、ＲＯＭ１２ａとＲＡＭ１２ｂとからなる。ＲＯＭ１２ａは、プログラムやデータの格納用メモリとして用いる読み出し専用のメモリであり、ＲＡＭ１２ｂは、プログラムやデータの展開用メモリ、プリンタの描画用メモリなどとして用いる書き込みおよび読み出し可能なメモリである。
【００３４】
ＳＢ１４は、ＮＢ１３とＰＣＩデバイス、周辺デバイスとを接続するためのブリッジである。このＳＢ１４は、ＰＣＩバスを介してＮＢ１３と接続されており、このＰＣＩバスには、ネットワークインターフェース（Ｉ／Ｆ）部なども接続される。
【００３５】
ＡＳＩＣ１６は、画像処理用のハードウェア要素を有する画像処理用途向けのＩＣ（Integrated  Circuit）であり、ＡＧＰ１５、ＰＣＩバス、ＨＤＤ１０３およびＭＥＭ−Ｃ１７をそれぞれ接続するブリッジの役割を有する。このＡＳＩＣ１６は、ＰＣＩターゲットおよびＡＧＰマスタと、ＡＳＩＣ１６の中核をなすアービタ（ＡＲＢ）と、ＭＥＭ−Ｃ１７を制御するメモリコントローラと、ハードウェアロジックなどにより画像データの回転などをおこなう複数のＤＭＡＣ（Direct  Memory  Access  controller）と、エンジン部６０との間でＰＣＩバスを介したデータ転送をおこなうＰＣＩユニットとからなる。このＡＳＩＣ１６には、ＰＣＩバスを介してＦＣＵ（Facsimile  Control  Unit）３０、ＵＳＢ（Universal  Serial  Bus）４０、ＩＥＥＥ１３９４（the  Institute  of  Electrical  and  Electronics  engineers  １３９４）インターフェース５０が接続される。操作表示部１９０はＡＳＩＣ１６に直接接続されている。
【００３６】
ＭＥＭ−Ｃ１７は、コピー用画像バッファ、符号バッファとして用いるローカルメモリであり、ＨＤＤ１０３は、画像データの蓄積、プログラムの蓄積、フォントデータの蓄積、フォームの蓄積を行うためのストレージである。
【００３７】
ＡＧＰ１５は、グラフィック処理を高速化するために提案されたグラフィックスアクセラレーターカード用のバスインターフェースであり、ＭＥＭ−Ｐ１２に高スループットで直接アクセスすることにより、グラフィックスアクセラレーターカードを高速にするものである。
【００３８】
図７は、本実施の形態にかかる機器１００のソフトウェア構成図である。図７に示すように、機器１００は、白黒レーザプリンタ（B&W  LP）１０１と、カラーレーザプリンタ（Color  LP）１０２と、ＨＤＤ１０３と、スキャナ、ファクシミリ、メモリなどのハードウェアリソース１０４、ネットワークインターフェース（Ｉ／Ｆ）１０５を有するとともに、プラットホーム１２０と、アプリケーション１３０とから構成されるソフトウェア群１１０とを備えている。
【００３９】
プラットホーム１２０は、アプリケーションからの処理要求を解釈してハードウェア資源の獲得要求を発生させるコントロールサービスと、一または複数のハードウェア資源の管理を行い、コントロールサービスからの獲得要求を調停するシステムリソースマネージャ（ＳＲＭ）１２３と、汎用ＯＳ１２１とを有する。
【００４０】
コントロールサービスは、複数のサービスモジュールから形成され、ＳＣＳ（システムコントロールサービス）１２２と、ＥＣＳ（エンジンコントロールサービス）１２４と、ＭＣＳ（メモリコントロールサービス）１２５と、ＯＣＳ（オペレーションパネルコントロールサービス）１２６と、ＦＣＳ（ファックスコントロールサービス）１２７と、ＮＣＳ（ネットワークコントロールサービス）１２８と、ＮＲＳ（ニューリモートサービス）１２９と、アプリインストール制御サービス１３１と、から構成される。このプラットホーム１２０は、あらかじめ定義された関数により前記アプリケーション１３０から処理要求を受信可能とするアプリケーションプログラムインタフェース（ＡＰＩ）を有する。
【００４１】
汎用ＯＳ１２１は、ＵＮＩＸ（登録商標）などの汎用オペレーティングシステムであり、プラットホーム１２０並びにアプリケーション１３０の各ソフトウェアをそれぞれプロセスとして並列実行する。
【００４２】
ＳＲＭ１２３のプロセスは、ＳＣＳ１２２とともにシステムの制御およびリソースの管理を行うものである。ＳＲＭ１２３のプロセスは、スキャナ部やプリンタ部などのエンジン、メモリ、ＨＤＤファイル、ホストＩ／Ｏ（セントロＩ／Ｆ、ネットワークＩ／Ｆ、ＩＥＥＥ１３９４  Ｉ／Ｆ、ＲＳ２３２Ｃ  Ｉ／Ｆなど）のハードウェア資源を利用する上位層からの要求にしたがって調停を行い、実行制御する。
【００４３】
具体的には、このＳＲＭ１２３は、要求されたハードウェア資源が利用可能であるか（他の要求により利用されていないかどうか）を判断し、利用可能であれば要求されたハードウェア資源が利用可能である旨を上位層に伝える。また、ＳＲＭ１２３は、上位層からの要求に対してハードウェア資源の利用スケジューリングを行い、要求内容（例えば、プリンタエンジンにより紙搬送と作像動作、メモリ確保、ファイル生成など）を直接実施している。
【００４４】
ＳＣＳ１２２のプロセスは、アプリ管理、操作部制御、システム画面表示、ＬＥＤ表示、リソース管理、割り込みアプリ制御などを行う。
【００４５】
ＥＣＳ１２４のプロセスは、白黒レーザプリンタ（B&W  LP）１０１、カラーレーザプリンタ（Color  LP）１０２、スキャナ、ファクシミリなどからなるハードウェアリソース１０４のエンジンの制御を行う。
【００４６】
ＭＣＳ１２５のプロセスは、画像メモリの取得および解放、ハードディスク装置（ＨＤＤ）の利用、画像データの圧縮および伸張などを行う。
【００４７】
ＦＣＳ１２７のプロセスは、システムコントローラの各アプリ層からＰＳＴＮ／ＩＳＤＮ網を利用したファクシミリ送受信、ＢＫＭ（バックアップＳＲＡＭ）で管理されている各種ファクシミリデータの登録／引用、ファクシミリ読みとり、ファクシミリ受信印刷、融合送受信を行うためのＡＰＩを提供する。
【００４８】
ＮＣＳ１２８のプロセスは、ネットワークＩ／Ｏを必要とするアプリケーションに対して共通に利用できるサービスを提供するためのプロセスであり、ネットワーク側から各プロトコルによって受信したデータを各アプリケーションに振り分けたり、アプリケーションからデータをネットワーク側に送信したりする際の仲介を行う。
【００４９】
本実施の形態では、ＮＣＳ１２８のプロセスは、アプリケーションおよびライセンス情報とともに、インストール要求やアンインストール要求を受信する。また、ＮＣＳ１２８のプロセスは、インストール要求に基づくプリケーションのインストールが成功した場合は、情報処理装置２００にインストール完了情報を通知する。一方、インストール要求に基づくアプリケーションのインストールが失敗した場合は、情報処理装置２００にインストール未完了情報を通知する。また、ＮＣＳ１２８のプロセスは、アンインストール要求に基づくアプリケーションのアンインストールが成功した場合は、情報処理装置２００にアンインストール完了情報を通知する。一方、アンインストール要求に基づくアプリケーションのアンインストールが失敗した場合は、情報処理装置２００にアンインストール未完了情報を通知する。
【００５０】
ＯＣＳ１２６のプロセスは、オペレータ（利用者）と本体制御間の情報伝達手段となるオペレーションパネル（操作パネル）の制御を行う。ＯＣＳ１２６は、オペレーションパネルからキー押下（またはタッチ操作）をキーイベントとして取得し、取得したキーに対応したキーイベント関数をＳＣＳ１２２に送信するＯＣＳプロセスの部分と、アプリケーション１３０またはコントロールサービスからの要求によりオペレーションパネルに各種画面を描画出力する描画関数やその他オペレーションパネルに対する制御を行う関数などがあらかじめ登録されたＯＣＳライブラリの部分とから構成される。このＯＣＳライブラリは、アプリケーション１３０およびコントロールサービスの各モジュールにリンクされて実装されている。なお、ＯＣＳ１２６のすべてをプロセスとして動作させるように構成しても良く、あるいはＯＣＳ１２６のすべてをＯＣＳライブラリとして構成しても良い。
【００５１】
アプリインストール制御サービス１３１は、ＮＣＳ１２８のプロセスにより受信したインストール要求に基づいて、受信したアプリケーションおよびライセンス情報により、アプリケーションのインストール処理を行う。また、アプリインストール制御サービス１３１は、ＮＣＳ１２８のプロセスにより受信したアンインストール要求に基づいて、受信したライセンス情報により、アプリケーションのアンインストール処理を行う。
【００５２】
ＮＲＳ１２９のプロセスは、ネットワークを介してデータを送受信する際のデータの変換を行う等のネットワークを介した機器遠隔管理に関する機能及びスケジューラ機能を有している。
【００５３】
アプリケーション１３０は、ページ記述言語（ＰＤＬ）、ＰＣＬおよびポストスクリプト（ＰＳ）を有するプリンタ用のアプリケーションであるプリンタアプリ１１１と、コピー用アプリケーションであるコピーアプリ１１２と、ファクシミリ用アプリケーションであるファックスアプリ１１３と、スキャナ用アプリケーションであるスキャナアプリ１１４と、ネットワークファイル用アプリケーションであるネットファイルアプリ１１５と、工程検査用アプリケーションである工程検査アプリ１１６と、インターネットに接続されたＰＣ等のクライアント端末に対してＷＥＢサーバ（ｈｔｔｐサーバ）として動作し、クライアント端末上で動作するＷＥＢブラウザに各種画面を表示するＷＥＢアプリ１１７とを有している。
【００５４】
アプリケーション１３０の各プロセス、コントロールサービスの各プロセスは、関数呼び出しとその戻り値送信およびメッセージの送受信によってプロセス間通信を行いながら、コピー、プリンタ、スキャナ、ファクシミリなどの画像形成処理にかかるユーザサービスを実現している。
【００５５】
このように、本実施の形態にかかる機器１００には、複数のアプリケーション１３０および複数のコントロールサービスが存在し、いずれもプロセスとして動作している。そして、これらの各プロセス内部には、一または複数のスレッドが生成されて、スレッド単位の並列実行が行われる。そして、コントロールサービスがアプリケーション１３０に対し共通サービスを提供しており、このため、これらの多数のプロセスが並列動作、およびスレッドの並列動作を行って互いにプロセス間通信を行って協調動作をしながら、コピー、プリンタ、スキャナ、ファクシミリなどの画像形成処理にかかるユーザサービスを提供するようになっている。
【００５６】
また、機器１００には、機器１００の顧客、サードベンダなどの第三者がコントロールサービス層の上のアプリケーション層に外部アプリ１７２を開発して搭載することが可能となっている。この外部アプリ１７２は、情報処理装置２００から受信したアプリケーションであり、アプリインストール制御サービス１３１によりインストールされる。
【００５７】
なお、本実施の形態にかかる機器１００では、複数のアプリケーション１３０のプロセスと複数のコントロールサービスのプロセスとが動作しているが、アプリケーション１３０とコントロールサービスのプロセスがそれぞれ単一の構成とすることも可能である。また、各アプリケーション１３０は、アプリケーションごとに追加または削除することができる。すなわち、上述したように、外部アプリ１７２をインストール可能であり、かつアンインストールも可能となっている。
【００５８】
次に、アプリインストール制御サービス１３１の詳細について説明する。図８は、アプリインストール制御サービス１３１の機能的構成を示すブロック図である。図８に示すように、アプリインストール制御サービス１３１は、送受信部１３２と、入力制御部１３３と、表示制御部１３４と、取得部１３５と、判断部１３６と、一覧生成部１３７と、通知部１３８とを主に備える。
【００５９】
送受信部１３２は、ソフトウェア管理サーバ２００、ライセンス管理サーバ３００、ソフトウェア配信サーバ４００とインターネット８０を介してデータを送受信する。例えば、送受信部１３２は、ソフトウェア管理サーバ２００に情報の送信要求を送信し、ソフトウェア管理サーバ２００から情報を受信する。なお、送受信部１３２は、本発明の第２送信部に相当する。
【００６０】
入力制御部１３３は、操作表示部１９０により受け付けられたアンインストールの対象となるコンポーネント（以下、アンインストール対象コンポーネントという。）と、アンインストールの実行指示（以下、アンインストール指示という。）を取得部１３５に送信する。
【００６１】
取得部１３５は、ＨＤＤ１０３から機器ＩＤを取得し、送受信部１３２を介してソフトウェア管理サーバ２００に情報の送信要求を送信し、ソフトウェア管理サーバ２００から情報を取得する。ここで、情報の送信要求は、機器ＩＤを含む。
【００６２】
一覧生成部１３７は、取得部１３５により取得された情報に基づいて、アンインストール不可コンポーネント一覧を生成する。ここで、アンインストール不可コンポーネント一覧とは、アンインストールが制限されるコンポーネントの一覧のことである。図９は、アンインストール不可コンポーネント一覧の一例を示す図である。図９に示すように、アンインストール不可コンポーネントとして、コピーコンポーネント、画像加工コンポーネント、コントラスト画像処理コンポーネント、スキャンコンポーネントが一覧表示されている。
【００６３】
例えば、一覧生成部１３７は、取得部１３５によりサービス加入情報と、サービス依存情報を取得した場合は、サービス依存情報からサービス加入情報に含まれるサービス名に対応するコンポーネントを特定し、アンインストール不可コンポーネント一覧に追加する。また、一覧生成部１３７は、取得部１３５によりコンポーネント依存情報を取得した場合は、コンポーネント依存情報から、機器１００にインストールされているコンポーネントに依存するコンポーネントを特定し、アンインストール不可コンポーネント一覧に追加する。
【００６４】
判断部１３６は、アンインストール対象コンポーネントが、一覧生成部１３７により生成されたアンインストール不可コンポーネント一覧にあるか否かを確認する。判断部１３６は、アンインストール対象コンポーネントが、アンインストール不可コンポーネント一覧にあることを確認した場合は、アンインストール不可と判断する。一方、判断部１３６は、アンインストール対象コンポーネントが、アンインストール不可コンポーネント一覧にないことを確認した場合は、アンインストール可と判断する。
【００６５】
通知部１３８は、判断部１３６による判断結果をユーザに通知する。例えば、通知部１３８は、表示制御部１３４により操作表示部１９０に判断結果を表示してもよい。
【００６６】
表示制御部１３４は、一覧生成部１３７により生成されたアンインストール不可コンポーネントを操作表示部１９０に表示する。表示方法としては、表示制御部１３４は、アンインストール不可コンポーネント一覧だけを操作表示部１９０に表示してもよい。また、表示制御部１３４は、アンインストール不可コンポーネント一覧を、機器１００にインストールされている全てのコンポーネントの一覧と並べて表示してもよい。この場合、表示制御部１３４は、アンインストール不可コンポーネントだけを半輝度表示にして操作表示部１９０に一覧表示してもよい。
【００６７】
次に、以上のように構成されたソフトウェア管理システムによるアンインストール可否を判断する処理（以下、アンインストール可否判断処理という。）の手順について説明する。図１０は、ソフトウェア管理システムによるアンインストール可否判断処理の手順を示すシーケンス図である。
【００６８】
入力制御部１３３は、受け付けたアンインストール指示を取得部１３５に送信する（ステップＳ１）。取得部１３５は、ＨＤＤ１０３から機器ＩＤを取得し、送受信部１３２を介して情報の送信要求をソフトウェア管理サーバ２００に送信する（ステップＳ２）。
【００６９】
取得制御部２０２は、送受信部２０１を介して機器１００から情報の送信要求を受信すると（ステップＳ２）、サービス加入情報管理部２０３に機器ＩＤの送信とともにサービス加入情報を要求する（ステップＳ３）。サービス加入情報管理部２０３は、ＨＤＤ２１０から機器ＩＤに対応するサービス加入情報を取得し、取得制御部２０２に送信する（ステップＳ４）。
【００７０】
また、取得制御部２０２は、送受信部２０１を介して機器１００から情報の送信要求を受信すると（ステップＳ２）、サービス依存情報管理部２０４にサービス依存情報を要求する（ステップＳ５）。サービス依存情報管理部２０４は、ＨＤＤ２１０からサービス依存情報を取得し、取得制御部２０２に送信する（ステップＳ６）。
【００７１】
また、取得制御部２０２は、送受信部２０１を介して機器１００から情報の送信要求を受信すると（ステップＳ２）、コンポーネント依存情報管理部２０５にコンポーネント依存情報を要求する（ステップＳ７）。コンポーネント依存情報管理部２０５は、ＨＤＤ２１０からコンポーネント依存情報を取得し、取得制御部２０２に送信する（ステップＳ８）。
【００７２】
取得制御部２０２は、取得したサービス加入情報、サービス依存情報、コンポーネント依存情報を機器１００に送信する（ステップＳ９）。取得部１３５は、ソフトウェア管理サーバ２００から受信したサービス加入情報、サービス依存情報、コンポーネント依存情報を一覧生成部１３７に送信する（ステップＳ１０）。
【００７３】
一覧生成部１３７は、受信したサービス加入情報、サービス依存情報、コンポーネント依存情報に基づいて、アンインストール不可コンポーネント一覧を生成する（ステップＳ１１）。一覧生成部１３７は、生成したアンインストール不可コンポーネント一覧を通知部１３８に送信する（ステップＳ１２）。通知部１３８は、受信したアンインストール不可コンポーネント一覧を操作表示部１９０に表示する（ステップＳ１３）。なお、ステップＳ１２およびステップＳ１３の処理は省略してもよい。
【００７４】
一覧生成部１３７は、生成したアンインストール不可コンポーネント一覧を判断部１３６に送信する（ステップＳ１４）。判断部１３６は、アンインストール対象コンポーネントのアンインストール可否を判断する（ステップＳ１５）。具体的には、判断部１３６は、受信したアンインストール不可コンポーネント一覧にあるか否かを確認し、アンインストール対象コンポーネントがアンインストール不可コンポーネントにあった場合はアンインストール不可と判断する。一方、判断部１３６は、アンインストール対象コンポーネントがアンインストール不可コンポーネント一覧にないことを確認した場合は、アンインストール可と判断する。
【００７５】
判断部１３６は、判断結果を通知部１３８に送信する（ステップＳ１６）。通知部１３８は、受信した判断結果をユーザに通知する（ステップＳ１７）。例えば、通知部１３８は、表示制御部１３４を介して操作表示部１９０に判断結果を表示する。
【００７６】
次に、以上のように構成された機器１００によるアンインストール判断処理の手順について説明する。図１１は、機器１００によるアンインストール判断処理の手順を示すフローチャートである。
【００７７】
入力制御部１３３は、操作表示部１９０からアンインストール指示を受け付ける（ステップＳ２１）。取得部１３５は、ソフトウェア管理サーバ２００から、サービス加入情報、サービス依存情報、コンポーネント依存情報を取得する（ステップＳ２２）。一覧生成部１３７は、取得部１３５により取得した情報に基づいてアンインストール不可コンポーネント一覧を生成する（ステップＳ２３）。
【００７８】
ここで、一覧生成部１３７によるアンインストール不可コンポーネント一覧を生成する処理（以下、一覧生成処理という。）について説明する。図１２は、一覧生成部１３７による一覧生成処理の手順を示すフローチャートである。図１２に示す例では、一覧生成部１３７は、サービス加入情報に基づいてアンインストール不可コンポーネント一覧を生成する。
【００７９】
一覧生成部１３７は、サービス加入情報を参照して、サービス依存情報の中に加入しているサービスがあるか否かを確認する（ステップＳ３１）。一覧生成部１３７は、サービス依存情報の中に加入しているサービスがあることを確認した場合は（ステップＳ３１：Ｙｅｓ）、全ての加入サービスについて確認が終了したか否かを判断する(ステップＳ３２)。一覧生成部１３７は、全ての加入サービスについての確認が終了したと判断場合は（ステップＳ３３：Ｙｅｓ）、一覧生成処理を終了する。一方、一覧生成部１３７は、全ての加入サービスの確認が終了していないと判断した場合は（ステップＳ３３：Ｎｏ）、ステップＳ３１に戻り処理を繰り返す。
【００８０】
次に、一覧生成部１３７による一覧生成処理の他の例を示す。この例では、一覧生成部１３７は、アンインストール対象コンポーネントと、機器１００にインストールされているコンポーネント（以下、インストール済みコンポーネントという。）との依存関係から一覧を生成する。図１３は、一覧生成部１３７による一覧生成処理の手順を示すフローチャートである。
【００８１】
一覧生成部１３７は、ＨＤＤ１０３からインストール済みコンポーネントを取得する（ステップＳ４１）。一覧生成部１３７は、コンポーネント依存情報を参照して、アンインストール対象コンポーネントがインストール済みコンポーネントと依存関係があるか否かを確認する（ステップＳ４２）。一覧生成部１３７は、アンインストール対象コンポーネントがインストール済みコンポーネントと依存関係があることを確認した場合（ステップＳ４２：Ｙｅｓ）、コンポーネント依存情報に依存関係のあるインストール済みコンポーネントを追加する（ステップＳ４３）。
【００８２】
一覧生成部１３７は、コンポーネント依存情報に依存関係のあるインストール済みコンポーネントを追加した場合（ステップＳ４３）、および、ステップＳ４２において、アンインストール対象コンポーネントがインストール済みコンポーネントと依存関係がなかった場合は（ステップＳ４２：Ｎｏ）、全てのインストール済みコンポーネントの確認を終了したか否かを確認する（ステップＳ４４）。
【００８３】
一覧生成部１３７は、全てのインストール済みコンポーネントの確認を終了した場合は（ステップＳ４４：Ｙｅｓ）、コンポーネント依存情報に追加されたインストール済みコンポーネントが２つ以上であるか否かを確認する（ステップＳ４５）。一覧生成部１３７は、コンポーネント依存情報に追加されたインストール済みコンポーネントが２つ以上であることを確認した場合は（ステップＳ４５：Ｙｅｓ）、アンインストール不可コンポーネント一覧にアンインストール対象コンポーネントを追加する（ステップＳ４６）。一方、ステップＳ４４において、一覧生成部１３７は全てのインストール済みコンポーネントの確認を終了しなかった場合は（ステップＳ４４：Ｎｏ）、ステップＳ４２に戻り、全てのインストール済みコンポーネントの確認が終了するまで、処理を繰り返す。
【００８４】
ステップＳ４５において、一覧生成部１３７がコンポーネント依存情報に追加されたインストール済みコンポーネントが１つであることを確認した場合は（ステップＳ４５：Ｎｏ）、アンインストール不可コンポーネント一覧にアンインストール対象コンポーネントを追加することなく処理を終了する。
【００８５】
この処理によれば、機器１００は、ソフトウェア管理サーバ２００から受信した情報だけでなく、インストール済みコンポーネントとアンインストール対象コンポーネントとの依存情報を確認するので、アンインストール対象コンポーネントとインストール済みコンポーネントとの依存関係まで確認可能となる。
【００８６】
図１１のステップＳ２４に戻り、判断部１３６は、ステップＳ２１で受け付けたアンインストール指示にかかるアンインストール対象コンポーネントが、一覧生成部１３７により生成されたアンインストール不可コンポーネント一覧に含まれるか否かを確認する（ステップＳ２４）。判断部１３６は、アンインストール対象コンポーネントが、アンインストール不可コンポーネント一覧に含まれることを確認した場合は（ステップＳ２４：Ｙｅｓ）、アンインストール対象コンポーネントをアンインストール不可と判断する（ステップＳ２５）。
【００８７】
一方、判断部１３６は、アンインストール対象コンポーネントが、アンインストール不可コンポーネント一覧に含まれないことを確認した場合は（ステップＳ２４：Ｎｏ）、アンインストール対象コンポーネントをアンインストール可と判断する（ステップＳ２６）。通知部１３８は、判断部１３６による判断結果をユーザに通知する（ステップＳ２７）。
【００８８】
このように、本実施の形態によれば、アンインストール対象コンポーネントが機器１００が利用するサービスに使用されるコンポーネントであるか否かを基に、アンインストール可否を通知するので、ユーザが誤ってサービスに必要なコンポーネントをアンインストールしてしまうという事態を防止することができる。
【００８９】
本実施の形態のライセンス管理サーバ２００は、ＣＰＵなどの制御装置と、ＲＯＭ（Read  Only  Memory）やＲＡＭ（Random  Access  Memory）などの記憶装置と、ＨＤＤ、ＣＤドライブ装置などの外部記憶装置と、ディスプレイ装置などの表示装置と、キーボードやマウスなどの入力装置を備えており、通常のコンピュータを利用したハードウェア構成となっている。
【００９０】
本実施形態のライセンス管理サーバ２００で実行されるライセンス管理プログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のコンピュータで読み取り可能な記録媒体に記録されて提供される。
【００９１】
また、本実施形態のライセンス管理サーバ２００で実行されるライセンス管理プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、本実施形態のライセンス管理サーバ２００で実行されるライセンス管理プログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。
【００９２】
また、本実施形態のライセンス管理プログラムを、ＲＯＭ等に予め組み込んで提供するように構成してもよい。
【００９３】
本実施の形態のライセンス管理サーバ２００で実行されるライセンス管理プログラムは、上述した各部（取得部、判断部、一覧生成部、通知部）を含むモジュール構成となっており、実際のハードウェアとしてはＣＰＵ（プロセッサ）が上記記憶媒体からライセンス管理プログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、取得部、判断部、一覧生成部、通知部が主記憶装置上に生成されるようになっている。
【符号の説明】
【００９４】
１００  機器
１３１  アプリインストール制御サービス
１３２  送受信部
１３３  入力制御部
１３４  表示制御部
１３５  取得部
１３６  判断部
１３７  一覧生成部
１３８  通知部
２００  ソフトウェア管理サーバ
２０１  送受信部
２０２  取得制御部
２０３  サービス加入情報管理部
２０４  サービス依存情報管理部
２０５  コンポーネント依存情報管理部
２１０  ＨＤＤ
３００  ライセンス管理サーバ
４００  ソフトウェア配信サーバ
【先行技術文献】
【特許文献】
【００９５】
【特許文献１】特開２００２−２５８９６８号公報
【図１】
0005454208.tif 000002
【図２】
0005454208.tif 000003
【図３】
0005454208.tif 000004
【図４】
0005454208.tif 000005
【図５】
0005454208.tif 000006
【図６】
0005454208.tif 000007
【図７】
0005454208.tif 000008
【図８】
0005454208.tif 000009
【図９】
0005454208.tif 000010
【図１０】
0005454208.tif 000011
【図１１】
0005454208.tif 000012
【図１２】
0005454208.tif 000013
【図１３】
0005454208.tif 000014