(57)【要約】【課題】機器にインストールされているソフトウェアとしての商品に障害が発生しないように、商品を管理する。【解決手段】デバイス管理部７２は、機器としての画像形成装置にインストールされているソフトウェアとしてのインストール済み商品を示す情報を取得する。ユーザ情報取得部７６は、ユーザが利用可能なソフトウェアとしての利用可能商品を示す情報を取得する。ひ制御部４６Ｂは、インストール済み商品と利用可能商品とを含む複数の商品の間の依存関係に基づいて、画像形成装置を対象とした商品に対するユーザの操作を制御する。【選択図】図１６
2018060342.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して接続された機器にインストールされているソフトウェアとしてのインストール済み商品を示す情報を前記機器から取得する第１の取得手段と、
前記機器のユーザが利用可能なソフトウェアとしての利用可能商品を示す情報を、ネットワークを介して接続されたサーバから取得する第２の取得手段と、
前記インストール済み商品と前記利用可能商品とを含む複数の商品の間の依存関係に基づいて、前記機器を対象とした商品に対するユーザの操作を制御する制御手段と、
を有する情報処理装置。
【請求項２】
前記インストール済み商品と前記利用可能商品はそれぞれ１又は複数の商品構成要素によって構成されており、
前記制御手段は、前記複数の商品の間における商品構成要素の依存関係に基づいて、商品に対するユーザの操作を制御する、
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記インストール済み商品が、前記複数の商品の中の他の商品を構成する全商品構成要素を含む場合、前記制御手段は、前記他の商品に対するユーザの操作を無効として処理する、
ことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記インストール済み商品が、前記他の商品としての前記利用可能商品を構成する全商品構成要素を含む場合、前記制御手段は、前記機器への前記利用可能商品のインストール操作を無効として処理する、
ことを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記制御手段は、前記他の商品のアップデート操作を無効として処理する、
ことを特徴とする請求項３に記載の情報処理装置。
【請求項６】
前記インストール済み商品が、前記他の商品としての他のインストール済み商品を構成する全商品構成要素を含む場合、前記制御手段は、前記他のインストール済み商品のアンインストール操作を無効として処理する、
ことを特徴とする請求項３に記載の情報処理装置。
【請求項７】
前記インストール済み商品が、前記複数の商品の中の他の商品を構成する全商品構成要素を含む場合、前記制御手段は、前記他の商品を表示手段に表示させずに前記インストール済み商品を前記表示手段に表示させる、
ことを特徴とする請求項２に記載の情報処理装置。
【請求項８】
前記機器にインストールされている複数のインストール済み商品が同一の商品構成要素を共用している場合において、前記複数のインストール済み商品の中の一部のインストール済み商品を前記機器からアンインストールする場合、前記制御手段は、前記共用の商品構成要素を削除しない、
ことを特徴とする請求項２に記載の情報処理装置。
【請求項９】
前記機器にインストールされている複数のインストール済み商品が同一の商品構成要素によって構成されている場合において、前記複数のインストール済み商品の中の一部のインストール済み商品がユーザによって操作された場合、前記制御手段は、前記複数のインストール済み商品を同一のグループに属する商品群として前記商品群の表示を制御する、
ことを特徴とする請求項２に記載の情報処理装置。
【請求項１０】
複数の利用可能商品が同一の商品構成要素によって構成されている場合において、前記複数の利用可能商品の中の一部の利用可能商品がユーザによって操作された場合、前記制御手段は、前記複数の利用可能商品を同一のグループに属する商品群として前記商品群の表示を制御する、
ことを特徴とする請求項２に記載の情報処理装置。
【請求項１１】
コンピュータを、
ネットワークを介して接続された機器にインストールされているソフトウェアとしてのインストール済み商品を示す情報を前記機器から取得する第１の取得手段、
前記機器のユーザが利用可能なソフトウェアとしての利用可能商品を示す情報を、ネットワークを介して接続されたサーバから取得する第２の取得手段、
前記インストール済み商品と前記利用可能商品とを含む複数の商品の間の依存関係に基づいて、前記機器を対象とした商品に対するユーザの操作を制御する制御手段、
として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及びプログラムに関する。
【背景技術】
【０００２】
機器を対象として、ソフトウェアとしての商品がユーザ等によって操作される場合がある。
【０００３】
特許文献１には、コンポーネントのアンインストールの指示を受けた場合、指示に係るコンポーネントがサービスに使用されるコンポーネントであるか否かを確認し、サービスに使用されるコンポーネントであることが確認された場合、アンインストール不可と判断する装置が開示されている。
【０００４】
特許文献２には、インストール対象として選択されたプログラム、画像形成装置にインストール済みのプログラムの構成、及び、プログラム間の依存関係に基づいて、選択されたプログラムのインストールの可否を判断する装置が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１１−１７０６３９号公報
【特許文献２】特開２０１４−２３８８８６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、複数の商品の関係によっては、ある商品に対する操作に伴って、機器にインストールされている他の商品に障害が発生する場合がある。例えば、ある商品を機器から削除した場合、当該機器にて他の商品が正常に動作しないことがある。
【０００７】
本発明の目的は、機器にインストールされているソフトウェアとしての商品に障害が発生しないように、商品を管理することにある。
【課題を解決するための手段】
【０００８】
請求項１に係る発明は、ネットワークを介して接続された機器にインストールされているソフトウェアとしてのインストール済み商品を示す情報を前記機器から取得する第１の取得手段と、前記機器のユーザが利用可能なソフトウェアとしての利用可能商品を示す情報を、ネットワークを介して接続されたサーバから取得する第２の取得手段と、前記インストール済み商品と前記利用可能商品とを含む複数の商品の間の依存関係に基づいて、前記機器を対象とした商品に対するユーザの操作を制御する制御手段と、を有する情報処理装置である。
【０００９】
請求項２に係る発明は、前記インストール済み商品と前記利用可能商品はそれぞれ１又は複数の商品構成要素によって構成されており、前記制御手段は、前記複数の商品の間における商品構成要素の依存関係に基づいて、商品に対するユーザの操作を制御する、ことを特徴とする請求項１に記載の情報処理装置である。
【００１０】
請求項３に係る発明は、前記インストール済み商品が、前記複数の商品の中の他の商品を構成する全商品構成要素を含む場合、前記制御手段は、前記他の商品に対するユーザの操作を無効として処理する、ことを特徴とする請求項２に記載の情報処理装置である。
【００１１】
請求項４に係る発明は、前記インストール済み商品が、前記他の商品としての前記利用可能商品を構成する全商品構成要素を含む場合、前記制御手段は、前記機器への前記利用可能商品のインストール操作を無効として処理する、ことを特徴とする請求項３に記載の情報処理装置である。
【００１２】
請求項５に係る発明は、前記制御手段は、前記他の商品のアップデート操作を無効として処理する、ことを特徴とする請求項３に記載の情報処理装置である。
【００１３】
請求項６に係る発明は、前記インストール済み商品が、前記他の商品としての他のインストール済み商品を構成する全商品構成要素を含む場合、前記制御手段は、前記他のインストール済み商品のアンインストール操作を無効として処理する、ことを特徴とする請求項３に記載の情報処理装置である。
【００１４】
請求項７に係る発明は、前記インストール済み商品が、前記複数の商品の中の他の商品を構成する全商品構成要素を含む場合、前記制御手段は、前記他の商品を表示手段に表示させずに前記インストール済み商品を前記表示手段に表示させる、ことを特徴とする請求項２に記載の情報処理装置である。
【００１５】
請求項８に係る発明は、前記機器にインストールされている複数のインストール済み商品が同一の商品構成要素を共用している場合において、前記複数のインストール済み商品の中の一部のインストール済み商品を前記機器からアンインストールする場合、前記制御手段は、前記共用の商品構成要素を削除しない、ことを特徴とする請求項２に記載の情報処理装置である。
【００１６】
請求項９に係る発明は、前記機器にインストールされている複数のインストール済み商品が同一の商品構成要素によって構成されている場合において、前記複数のインストール済み商品の中の一部のインストール済み商品がユーザによって操作された場合、前記制御手段は、前記複数のインストール済み商品を同一のグループに属する商品群として前記商品群の表示を制御する、ことを特徴とする請求項２に記載の情報処理装置である。
【００１７】
請求項１０に係る発明は、複数の利用可能商品が同一の商品構成要素によって構成されている場合において、前記複数の利用可能商品の中の一部の利用可能商品がユーザによって操作された場合、前記制御手段は、前記複数の利用可能商品を同一のグループに属する商品群として前記商品群の表示を制御する、ことを特徴とする請求項２に記載の情報処理装置である。
【００１８】
請求項１１に係る発明は、コンピュータを、ネットワークを介して接続された機器にインストールされているソフトウェアとしてのインストール済み商品を示す情報を前記機器から取得する第１の取得手段、記機器のユーザが利用可能なソフトウェアとしての利用可能商品を示す情報を、ネットワークを介して接続されたサーバから取得する第２の取得手段、前記インストール済み商品と前記利用可能商品とを含む複数の商品の間の依存関係に基づいて、前記機器を対象とした商品に対するユーザの操作を制御する制御手段、として機能させるプログラムである。
【発明の効果】
【００１９】
請求項１，２，１１に係る発明によると、機器にインストールされているソフトウェアとしての商品に障害が発生しないように、商品が管理される。
【００２０】
請求項３，７に係る発明によると、インストール済み商品が他の商品を包含する場合に想定される障害の発生が防止される。
【００２１】
請求項４に係る発明によると、利用可能商品をインストールする場合に想定される障害の発生が防止される。
【００２２】
請求項５に係る発明によると、他の商品をアップデートする場合に想定される障害の発生が防止される。
【００２３】
請求項６に係る発明によると、他の商品をアンインストールする場合に想定される障害の発生が防止される。
【００２４】
請求項８に係る発明によると、共用の商品構成要素が削除される場合に想定される障害の発生が防止される。
【００２５】
請求項９，１０に係る発明によると、複数の商品が同一の商品構成要素によって構成されている場合に想定される障害の発生が防止される。
【図面の簡単な説明】
【００２６】
【図１】本発明の第１実施形態に係るソフトウェア管理システムを示すブロック図である。
【図２】第１実施形態に係る画像形成装置を示すブロック図である。
【図３】第１実施形態に係る情報管理サーバを示すブロック図である。
【図４】第１実施形態に係るソフトウェア管理装置を示すブロック図である。
【図５】商品構成テーブルの一例を示す図である。
【図６】独立ケースに相当する商品関係を説明するための図である。
【図７】包含ケースに相当する商品関係を説明するための図である。
【図８】共用部品使用ケースに相当する商品関係を説明するための図である。
【図９】完全一致ケースに相当する商品関係を説明するための図である。
【図１０】モジュールの依存関係に応じた制御のテーブルを示す図である。
【図１１】商品表示画面の一例を示す図である。
【図１２】第１実施形態に係る処理を示すフローチャートである。
【図１３】第１実施形態の変形例に係る情報管理サーバを示すブロック図である。
【図１４】第１実施形態の変形例に係るソフトウェア管理装置を示すブロック図である。
【図１５】第２実施形態に係る情報管理サーバを示すブロック図である。
【図１６】第２実施形態に係るソフトウェア管理装置を示すブロック図である。
【図１７】商品構成テーブルの一例を示す図である。
【図１８】モジュールの依存関係に応じた制御のテーブルを示す図である。
【図１９】商品表示画面の一例を示す図である。
【図２０】各タイミングにおける制御のテーブルを示す図である。
【図２１】商品表示画面の一例を示す図である。
【図２２】インストール画面の一例を示す図である。
【図２３】商品表示画面の一例を示す図である。
【発明を実施するための形態】
【００２７】
［第１実施形態］
図１を参照して、本発明の第１実施形態に係る情報処理システムとしてのソフトウェア管理システムについて説明する。図１には、第１実施形態に係るソフトウェア管理システムの一例が示されている。このソフトウェア管理システムは、機器の一例としての画像形成装置１０と、情報管理サーバ１２と、情報処理装置の一例としてのソフトウェア管理装置１４と、を含む。画像形成装置１０、情報管理サーバ１２及びソフトウェア管理装置１４は、通信経路Ｎを介して互いに通信する機能を備えている。図１に示す例では、１つの画像形成装置１０がソフトウェア管理システムに含まれているが、複数の画像形成装置１０がソフトウェア管理システムに含まれていてもよい。もちろん、他の装置がソフトウェア管理システムに含まれていてもよい。
【００２８】
画像形成装置１０は画像形成機能を備えている装置である。画像形成装置１０は、例えば、スキャン機能、プリント機能、コピー機能及びファクシミリ機能の中の少なくとも１つの機能を備えている。また、画像形成装置１０は、他の装置との間でデータを送受信する機能を備えている。
【００２９】
情報管理サーバ１２は、ソフトウェアとしての商品に関する情報を管理する装置である。商品は、機器としての画像形成装置１０にインストール（登録）可能なソフトウェア（プログラム）である。商品は有償であってよいし、無償であってもよい。商品は、１又は複数の商品構成要素（モジュール）によって構成されている。モジュール（商品構成要素）は、ソフトウェア（プログラム）である。例えば、商品戦略等によって、ある商品が別の商品を包含するようなパッケージングもあり得る（包含ケースα）。つまり、ある商品が、別の商品を構成する全モジュールを含む場合もあり得る。別の例として、互いに異なる複数の商品が、同一のモジュールを共用する場合がある（共用部品使用ケースβ）。更に別の例として、同一モジュールによって互いに異なる複数の商品が形成される場合がある（完全一致ケースγ）。また、情報管理サーバ１２は、他の装置との間でデータを送受信する機能を備えている。
【００３０】
ソフトウェア管理装置１４は、機器の一例としての画像形成装置１０から当該画像形成装置１０にインストールされているモジュールを示す情報を取得し、そのモジュールを示す情報に基づいて、当該画像形成装置１０にインストールされている商品を特定する装置である。また、ソフトウェア管理装置１４は、他の装置との間でデータを送受信する機能を備えている。なお、画像形成装置１０は機器の一例に過ぎない。ソフトウェア管理装置１４は、画像形成装置１０以外の機器にインストールされている商品を特定してもよい。
【００３１】
通信経路Ｎは、例えば、インターネットやＬＡＮ（Local Area Network）等のネットワークによって実現される通信経路である。
【００３２】
以下、図２を参照して、画像形成装置１０の構成について詳しく説明する。図２には、画像形成装置１０の構成が示されている。
【００３３】
通信部１６は通信インターフェースであり、他の装置にデータを送信する機能、及び、他の装置からデータを受信する機能を備えている。通信部１６は、例えば、Ｗｉ−Ｆｉ（登録商標）通信等の無線通信機能や有線通信機能を備えており、インターネットやＬＡＮ等のネットワークを介してデータを送受信する機能を備えている。
【００３４】
画像形成部１８は画像形成処理を行う。画像形成部１８は、例えば、スキャン機能、プリント機能、コピー機能及びファクシミリ機能の中の少なくとも１つの機能を実行する。スキャン機能が実行されることにより、原稿が読み取られてスキャンデータ（画像データ）が生成される。プリント機能が実行されることにより、画像が用紙等の記録媒体上に印刷される。コピー機能が実行されることにより、原稿が読み取られて記録媒体上に印刷される。ファクシミリ機能が実行されることにより、画像データがファクシミリ送信又はファクシミリ受信される。また、複数の機能を組み合わせた複合機能が実行されてもよい。例えば、スキャン機能と送信機能（転送機能）とを組み合わせたスキャン転送機能が実行されてもよい。このスキャン転送機能が実行されることにより、原稿が読み取られてスキャンデータ（画像データ）が生成され、そのスキャンデータが送信先（例えば端末装置やサーバ等の外部装置）に送信される。もちろん、この組み合わせ機能は一例に過ぎず、別の組み合わせ機能が実行されてもよい。
【００３５】
ＵＩ部２０はユーザインターフェース部であり、表示部と操作部を含む。表示部は、例えば液晶ディスプレイ等の表示装置である。操作部は、例えばタッチパネルやキーボード等の入力装置である。もちろん、ＵＩ部２０は、表示部と操作部の両方の機能を兼ね備えたユーザインターフェース（例えば、タッチパネルとしてのディスプレイや、電子的にキーボード等を表示するディスプレイ等）であってもよい。
【００３６】
記憶部２２はハードディスクやメモリ等の記憶装置であり、例えば、画像形成処理の実行指示を示す実行指示情報（例えばジョブ情報等）、プリントの対象となる画像データ、スキャン機能を実行することにより生成されたスキャンデータ、各種の制御データ、各種のプログラム、各種のデータ等を記憶する。もちろん、それらは別々の記憶装置に記憶されてもよいし、同一の記憶装置に記憶されてもよい。また、記憶部２２には、デバイス情報２４とモジュール情報２６が記憶されている。
【００３７】
デバイス情報２４は、画像形成装置１０を識別するための情報であり、例えば、画像形成装置１０の機種を示す情報（例えば、機種ＩＤ（デバイスＩＤ）や機種名等）を含む情報である。
【００３８】
モジュール情報２６は、画像形成装置１０にインストール（登録）されているモジュール（商品構成要素）を識別するための情報であり、例えば、モジュールＩＤとモジュールのバージョンを示す情報とを含む情報である。
【００３９】
制御部２８は、画像形成装置１０の各部の動作を制御する。
【００４０】
以下、図３を参照して、情報管理サーバ１２の構成について詳しく説明する。図３には、情報管理サーバ１２の構成が示されている。
【００４１】
通信部３０は通信インターフェースであり、他の装置にデータを送信する機能、及び、他の装置からデータを受信する機能を備えている。通信部３０は、例えば、Ｗｉ−Ｆｉ（登録商標）通信等の無線通信機能や有線通信機能を備えており、インターネットやＬＡＮ等のネットワークを介してデータを送受信する機能を備えている。
【００４２】
記憶部３２はハードディスクやメモリ等の記憶装置であり、例えば、各種の制御データや各種のデータを記憶する。もちろん、それらは別々の記憶装置に記憶されてもよいし、同一の記憶装置に記憶されてもよい。また、記憶部３２には、商品構成情報３４と商品詳細情報３６が記憶されている。
【００４３】
商品構成情報３４は、ソフトウェアとしての商品毎に、商品と当該商品を構成する１又は複数のモジュールとの対応関係を示す情報である。商品構成情報３４は予め生成されて記憶部３２に記憶されている。商品構成情報３４を参照することにより、ある商品を構成するモジュールが特定され、また、あるモジュールによって構成される商品が特定される。
【００４４】
商品詳細情報３６は、ソフトウェアとしての商品に関する詳細な情報（例えば、商品の説明や商品名等）である。
【００４５】
制御部３８は、情報管理サーバ１２の各部の動作を制御する。
【００４６】
以下、図４を参照して、ソフトウェア管理装置１４の構成について詳しく説明する。図４には、ソフトウェア管理装置１４の構成が示されている。
【００４７】
通信部４０は通信インターフェースであり、他の装置にデータを送信する機能、及び、他の装置からデータを受信する機能を備えている。通信部４０は、例えば、Ｗｉ−Ｆｉ（登録商標）通信等の無線通信機能や有線通信機能を備えており、インターネットやＬＡＮ等のネットワークを介してデータを送受信する機能を備えている。
【００４８】
記憶部４２はハードディスクやメモリ等の記憶装置であり、例えば、各種の制御データや各種のデータが記憶される。もちろん、それらは別々の記憶装置に記憶されてもよいし、同一の記憶装置に記憶されてもよい。
【００４９】
ＵＩ部４４やユーザインターフェース部であり、表示部と操作部を含む。表示部は、例えば液晶ディスプレイ等の表示装置である。操作部は、例えば、タッチパネルやキーボード等の入力装置である。もちろん、ＵＩ部４４は、表示部と操作部の両方の機能を兼ね備えたユーザインターフェース（例えば、タッチパネルとしてのディスプレイや、電子的にキーボード等を表示するディスプレイ等）であってもよい。
【００５０】
制御部４６は、ソフトウェア管理装置１４の各部の動作を制御する。また、制御部４６は、デバイス情報取得部４８と、商品情報取得部５０と、商品特定部５２と、表示制御部５４と、を含む。
【００５１】
デバイス情報取得部４８は、ソフトウェア管理システムに含まれている各画像形成装置１０を検索し、各画像形成装置１０からデバイス情報２４とモジュール情報２６を取得する機能を備えている。なお、デバイス情報取得部４８によって取得されたデバイス情報２４とモジュール情報２６は、記憶部４２に記憶されてもよい。なお、デバイス情報取得部４８は、商品構成要素取得手段の一例に相当する。
【００５２】
商品情報取得部５０は、情報管理サーバ１２から商品構成情報３４と商品詳細情報３６を取得する機能を備えている。なお、商品情報取得部５０によって取得された商品構成情報３４と商品詳細情報３６は、記憶部４２に記憶されてもよい。
【００５３】
商品特定部５２は、ソフトウェア管理システムに含まれて画像形成装置１０毎に、画像形成装置１０から取得されたモジュール情報２６と、情報管理サーバ１２から取得された商品構成情報３４と、に基づいて、画像形成装置１０にインストール（登録）されている商品を特定する機能を備えている。具体的には、商品特定部５２は、商品構成情報３４において、画像形成装置１０から取得されたモジュール情報２６が示すモジュールに対応する商品を、当該画像形成装置１０にインストールされている商品として特定する。
【００５４】
また、商品構成情報３４は、ソフトウェアとしての商品毎に、商品と、当該商品を構成する１又は複数のモジュールと、当該商品に対応している画像形成装置１０の機種（当該商品のインストールが可能な画像形成装置１０の機種）と、の対応付けを示す情報であってもよい。この場合、商品特定部５２は、画像形成装置１０毎に、画像形成装置１０から取得されたデバイス情報２４及びモジュール情報２６と、商品構成情報３４と、に基づいて、画像形成装置１０にインストールされている商品を特定してもよい。具体的には、商品特定部５２は、商品構成情報３４において、画像形成装置１０から取得されたデバイス情報２４が示す機種とモジュール情報２６が示すモジュールとに対応する商品を、当該画像形成装置１０にインストールされている商品として特定する。
【００５５】
また、画像形成装置１０に複数のモジュールがインストールされている場合、つまり、当該画像形成装置１０から取得されたモジュール情報２６が複数のモジュールを示す場合、商品特定部５２は、当該複数のモジュールの依存関係に応じて、商品の特定を制御する。この依存関係に基づく特定制御については、後で詳しく説明する。
【００５６】
表示制御部５４は、商品特定部５２によって特定された商品の表示を制御する。表示制御部５４は、例えば、商品特定部５２によって特定された商品をＵＩ部４４に表示させる。もちろん、表示制御部５４は、ソフトウェア管理装置１４以外の装置において、商品を表示装置に表示させてもよい。例えば、商品特定部５２によって特定された商品を示す情報が、端末装置（例えば、ＰＣ（パーソナルコンピュータ）、タブレットＰＣ、スマートフォン、携帯電話等）に送信され、表示制御部５４は、その端末装置の表示装置に商品を表示させてもよい。もちろん、ソフトウェア管理装置１４自体が、端末装置によって構成されていてもよい。
【００５７】
また、同一の画像形成装置１０について商品特定部５２によって複数の商品が特定された場合、表示制御部５４は、当該複数の商品の間におけるモジュールの依存関係に基づいて、当該複数の商品の表示を制御する。この依存関係に基づく表示制御については、後で詳しく説明する。
【００５８】
以下、第１実施形態に係るソフトウェア管理システムについて具体例を挙げて詳しく説明する。
【００５９】
図５を参照して、第１実施形態に係る商品構成情報３４について詳しく説明する。図５には、商品構成情報３４の一例としての商品構成テーブルが示されている。
【００６０】
商品構成テーブルにおいては、例えば、ソフトウェアとしての商品を識別するための商品識別情報（例えば商品ＩＤ）と、当該商品のバージョンを示す商品属性情報と、当該商品の名称を示す情報と、当該商品のリリース日を示す情報と、当該商品に対応している画像形成装置１０の機種（当該商品のインストールが可能な画像形成装置１０の機種）を示す情報と、当該商品を構成する１又は複数のモジュールを示す情報と、が互いに対応付けられている。モジュールを示す情報は、例えば、モジュールＩＤと、モジュールのバージョンを示すモジュール属性情報と、モジュールに対応している画像形成装置１０の機種（当該モジュールのインストールが可能な画像形成装置１０の機種）を示す情報と、を含む。
【００６１】
例えば、商品Ａ（バージョン１．０）は、モジュールＡ（バージョン１．０）又はモジュールＡＡ（バージョン１．０）によって構成される商品である。商品Ａ（バージョン１．１）は、商品Ａ（バージョン１．０）と同じ商品であるが、商品Ａ（バージョン１．０）とは異なるモジュールＡ（バージョン１．１）によって構成される商品である。また、商品Ｄは、複数のモジュール（モジュールＣ（バージョン１．０）とモジュールＤ（バージョン１．０））によって構成される商品である。
【００６２】
また、モジュールＸ（バージョン１．１）は、複数の商品によって共用されるモジュール、つまり、複数の商品に含まれるモジュールである。商品構成テーブルを参照することにより、共用のモジュールが特定される。
【００６３】
商品特定部５２は、商品構成テーブルを参照することにより、画像形成装置１０にインストールされている商品を特定する。商品特定部５２は、商品構成テーブルにおいて、画像形成装置１０から取得されたモジュール情報２６が示すモジュールＩＤとバージョンとに対応する商品（例えば商品ＩＤとバージョン）を、当該画像形成装置１０にインストールされている商品として特定する。また、商品特定部５２は、商品構成テーブルにおいて、画像形成装置１０から取得されたデバイス情報２４が示す機種ＩＤと、モジュール情報２６が示すモジュールＩＤ及びバージョンと、に対応する商品を、当該画像形成装置１０にインストールされている商品として特定してもよい。
【００６４】
以下、複数の商品の間におけるモジュールの依存関係について詳しく説明する。依存関係として、例えば、独立ケース、包含ケースα、共用部品使用ケースβ、及び、完全一致ケースγが発生し得る。
【００６５】
図６を参照して、独立ケースに相当する商品関係について説明する。例えば、商品Ａ（バージョン１．０）はモジュールＡ（バージョン１．０）によって構成されており、商品Ｂ（バージョン１．０）はモジュールＢ（バージョン１．０）によって構成されている。つまり、商品Ａ，Ｂにおいて、モジュールＡ，Ｂは互いに独立している。
【００６６】
図７を参照して、包含ケースαに相当する商品関係について説明する。例えば、商品ＣはモジュールＣによって構成されており、商品ＤはモジュールＣ，Ｄによって構成されている。つまり、商品Ｄは、商品Ｃを構成する全モジュール（モジュールＣ）を含む商品である。この場合、商品Ｃ，Ｄは、互いに依存関係（包含関係）を有する商品である。例えば、複数の商品がパッケージとして提供される場合がある。商品Ｄはそのパッケージに該当し、商品Ｃはそのパッケージを構成する商品に該当する。
【００６７】
図８を参照して、共用部品使用ケースβに相当する商品関係について説明する。例えば、商品Ｅ（バージョン１．０）は、モジュールＥ（バージョン１．０）とモジュールＸ（バージョン１．１）によって構成されており、商品Ｆ（バージョン１．１）は、モジュールＦ（バージョン１．１）とモジュールＸ（バージョン１．１）によって構成されている。つまり、モジュールＸ（バージョン１．１）は、商品Ｅ，Ｆによって共用されるモジュールである。
【００６８】
図９を参照して、完全一致ケースγに相当する商品関係について説明する。例えば、商品Ｇ（バージョン１．０）はモジュールＹ（バージョン１．０）によって構成されており、商品Ｈ（バージョン１．０）もモジュールＹ（バージョン１．０）によって構成されている。つまり、商品Ｇ，Ｈは、同一のモジュールＹ（バージョン１．０）によって構成されている。同一のモジュールによって構成されるが、互いに異なる複数の商品が作成される場合がある。例えば、あるクラウドサービスに接続するためのモジュールが存在する場合において、接続先のサービスが複数あり、各サービスが異なる場合、そのモジュール自体は同一であっても、接続先のサービス毎に商品が作成され、各商品は互いに異なる商品として扱われることがある。商品Ｇ，Ｈも同一のモジュールによって構成されるが、例えば、適用されるサービスが互いに異なる商品である。
【００６９】
第１実施形態においては、複数の商品の間におけるモジュールの依存関係に応じて、例えば、商品特定部５２による商品特定制御や、表示制御部５４による商品表示制御が変更される。以下、図１０を参照して、この制御について詳しく説明する。図１０には、モジュールの依存関係に応じた制御のテーブルが示されている。このテーブルにおいては、ケース毎に、商品特定における問題点と、商品特定のための制御と、表示上の制御と、が互いに対応付けられている。
【００７０】
以下、独立ケースについて説明する。モジュールの依存関係が独立ケースの場合、つまり、図６に示すように、同一の画像形成装置１０について複数の商品が特定され、当該複数の商品の間において各モジュールが独立している場合、各モジュールに対応する各商品が一意に特定されるため、商品の特定上の問題は発生しないと想定される。そのため、商品特定部５２は、画像形成装置１０から取得されたモジュール情報２６（及びデバイス情報２４）と、情報管理サーバ１２から取得された商品構成情報３４と、に基づいて、当該画像形成装置１０にインストールされている商品を特定する。表示制御部５４は、特定された商品をＵＩ部４４に表示させる。
【００７１】
以下、包含ケースαについて説明する。モジュールの依存関係が包含ケースαの場合、つまり、図７に示すように、同一の画像形成装置１０について複数の商品が特定され、ある商品Ｄ（「商品大」と称する）が他の商品Ｃ（「商品小」と称する）を包含している場合、特定された商品小をＵＩ部４４に表示すると障害が発生することがある。例えば、商品が表示される画面上で、商品のインストール（登録）や、アップデート（更新）や、アンインストール（削除）等の操作がユーザによって行われる場合がある。この場合において、商品小をＵＩ部４４に表示すると、商品小に対するアップデートやアンインストールがユーザによって指示され得る状態となる。商品小がアップデートやアンインストールされると、それに伴って、商品小を構成するモジュールがアップデートやアンインストールされることになる。これにより、そのモジュールを含む商品大の構成に影響が発生したり、商品大の特定が困難になったりすることが発生し得る。例えば、商品小がアンインストールされると、その商品小を構成するモジュールが商品大からも削除されるので、ユーザの意図しないところで、商品大の使用に支障が発生する。これに対処するために、表示制御部５４は、特定された商品大をＵＩ部４４に表示させるが、特定された商品小をＵＩ部４４に表示させない。図７に示す例で説明すると、表示制御部５４は、商品ＤをＵＩ部４４に表示させるが、商品ＣをＵＩ部４４に表示させない。これにより、商品Ｃがユーザによって操作されずに済むため、その操作による商品Ｄへの影響が防止される。なお、商品大が第１の商品の一例に相当し、商品小が第２の商品の一例に相当する。
【００７２】
別の例として、表示制御部５４は、特定された商品大（例えば商品Ｄ）をＵＩ部４４に表示させるとともに、特定された商品小（例えば商品Ｃ）に対するユーザの操作が無効になる状態で商品小をＵＩ部４４に表示させてもよい。操作が無効になる状態とは、商品小に対するユーザの操作が受け付けられない状態や、その操作が禁止される状態等である。例えば、商品小がユーザによって操作された場合であっても、制御部４６は、その操作を受け付けずに無効とする。これにより、商品小に対するアップデートやアンインストールの指示がユーザによって与えられても、そのアップデートやアンインストールは実行されず、商品大への影響が防止される。
【００７３】
以下、共用部品使用ケースβについて説明する。モジュールの依存関係が共用部品使用ケースβの場合、つまり、図８に示すように、同一の画像形成装置１０について複数の商品が特定され、ある商品Ｅと他の商品Ｆが、同一のモジュールを共用している場合、他の商品のインストールによって共用モジュールのバージョンが変わることがある。モジュールのバージョンも使用して商品を特定する場合、共用モジュールのバージョンが変わることにより、商品が特定されない。これに対処するために、商品特定部５２は、共用モジュール（例えばモジュールＸ）のバージョン（モジュールの属性情報の一例としての情報）を用いずに、共用モジュールのＩＤ（及びデバイス情報２４）に基づいて、画像形成装置１０にインストールされている商品を特定する。別の例として、商品特定部５２は、共用モジュール自体を用いずに、他のモジュールに基づいて、画像形成装置１０にインストールされている商品を特定してもよい。
【００７４】
以下、完全一致ケースγについて説明する。モジュールの依存関係が完全一致ケースγの場合、つまり、図９に示すように、複数の商品（例えば商品Ｇ，Ｈ）が同一のモジュール（例えばモジュールＹ）によって構成されている場合、そのモジュールが画像形成装置１０にインストールされていると、複数の商品（例えば商品Ｇ，Ｈ）が、当該画像形成装置１０にインストールされている商品として特定される。この場合、商品の特定については問題が生じることは想定されない。表示制御部５４は、同一のモジュールによって構成される複数の商品（例えば商品Ｇ，Ｈ）を同一グループに属する商品群としてＵＩ部４４に表示させる。これにより、同一のモジュールによって構成される複数の商品がＵＩ部４４に表示されても、それらは互いに異なるモジュールによって構成された商品ではなく、同一のモジュールによって構成された商品であることが、ユーザに示される。
【００７５】
以下、図１１を参照して、商品表示画面について説明する。図１１には、その画面の一例が示されている。例えば、ユーザがＵＩ部４４を使用してユーザＩＤやパスワード等のユーザ識別情報を入力することにより、ソフトウェア管理システムにログインすると、表示制御部５４は、商品表示画面５６をＵＩ部４４に表示させる。商品表示画面５６には、符号５８で示すように、ソフトウェア管理システムに含まれる機器としての画像形成装置１０を識別するためのデバイス情報（例えばデバイスＩＤ）の一覧が表示される。例えば、デバイス情報取得部４８は、ソフトウェア管理システムに含まれる画像形成装置１０を検索し、これにより検索された各画像形成装置１０からデバイス情報２４を取得する。表示制御部５４は、そのデバイス情報に含まれるデバイスＩＤの一覧を商品表示画面５６に表示させる。図１１に示す例では、デバイスＡ，Ｂ，Ｃ，Ｄが表示されている。ユーザがＵＩ部４４を使用して、デバイス一覧の中から特定の画像形成装置１０を指定すると、表示制御部５４は、符号６０で示すように、ユーザによって指定された画像形成装置１０にインストールされている商品の一覧、つまり、商品特定部５２によって特定された商品の一覧を商品表示画面５６に表示させる。図１１に示す例では、デバイスＣがユーザによって指定されており、そのデバイスＣにインストールされている商品の一覧（例えば、商品Ｘ１〜Ｘ７）が商品表示画面５６に表示されている。
【００７６】
例えば、デバイスＣにインストールされている複数の商品の間で包含ケースαの依存関係が成立している場合、表示制御部５４は、商品小を商品表示画面５６に表示させない。例えば、商品Ｘ１が商品大に該当し、商品Ｘ１０が商品小に該当しており、商品特定部５２によって、商品Ｘ１の他、商品Ｘ１０もデバイスＣにインストールされている商品として特定されているものとする。この場合、商品Ｘ１，Ｘ１０は、包含ケースαの依存関係を有するため、表示制御部５４は、商品Ｘ１０を商品表示画面５６に表示させない。これにより、商品Ｘ１０がユーザによってアップデートやアンインストールされることが防止され、その結果、商品Ｘ１への影響が防止される。別の例として、表示制御部５４は、商品Ｘ１０に対するユーザの操作が無効になる状態で商品Ｘ１０を商品表示画面５６に表示させてもよい。
【００７７】
図１１に示す例では、商品Ｘ４〜Ｘ７は、同一のモジュールによって構成される商品であるため、１つのグループにまとめられて表示されている。これにより、商品Ｘ４〜Ｘ７が同一のモジュールによって構成されていることが、ユーザに示される。
【００７８】
以下、図１２を参照して、ソフトウェア管理装置１４による処理について説明する。図１２には、その処理を示すフローチャートが示されている。
【００７９】
まず、ユーザはＵＩ部４４を使用してユーザＩＤやパスワード等を入力することにより、ソフトウェア管理システムにログインする。そのログインが完了すると、デバイス情報取得部４８は、ソフトウェア管理システムに含まれる機器としての画像形成装置１０を検索し（Ｓ０１）、検索された各画像形成装置１０からデバイス情報２４を取得する（Ｓ０２）。なお、デバイス情報取得部４８は、定期的に又は任意の時点で各画像形成装置１０からデバイス情報を取得してもよいし、ユーザの指示に応じてデバイス情報を取得してもよい。以下、個々の画像形成装置１０毎に処理が実行される。
【００８０】
まず、デバイス情報取得部４８は、画像形成装置１０からモジュール情報２６を取得する（Ｓ０３）。なお、商品情報取得部５０は、情報管理サーバ１２から商品構成情報３４を予め取得してもよいし、ユーザの指示に応じて商品構成情報３４を取得してもよい。
【００８１】
次に、商品特定部５２は、商品構成情報３４としての商品構成テーブルにおいて、モジュール情報２６が示すモジュールＩＤとモジュールのバージョンとに対応する商品を、画像形成装置１０にインストールされている商品として特定する（Ｓ０４）。このとき、商品特定部５２は、デバイス情報２４が示す画像形成装置１０の機種を示す情報を更に用いて商品を特定してもよい。画像形成装置１０に共用モジュールがインストールされている場合、商品特定部５２は、その共用モジュールのバージョンを用いずに、モジュールＩＤ（及びデバイス情報２４）に基づいて、画像形成装置１０にインストールされている商品を特定する。別の例として、商品特定部５２は、その共用モジュールを用いずに、他のモジュールの情報に基づいて商品を特定してもよい。
【００８２】
次に、表示制御部５４は、商品特定部５２によって特定された商品をＵＩ部４４に表示させる（Ｓ０５）。例えば図１１に示すように、表示制御部５４は、商品表示画面５６をＵＩ部４４に表示させ、ステップＳ０１で検索された各画像形成装置１０のデバイスＩＤをその商品表示画面５６に表示させる。ユーザがその商品表示画面５６上で特定の画像形成装置１０のデバイスＩＤを指定すると、表示制御部５４は、ユーザによって指定された画像形成装置１０について商品特定部５２によって特定された商品の一覧を商品表示画面５６に表示させる。
【００８３】
商品特定部５２によって複数の商品が特定され、当該複数の商品が包含ケースαの依存関係を有する場合、表示制御部５４は、当該複数の商品の中の商品小を商品表示画面５６に表示させない。別の例として、表示制御部５４は、商品小に対するユーザの操作を無効にした状態で商品小を商品表示画面５６に表示させてもよい。
【００８４】
また、商品特定部５２によって複数の商品が特定され、当該複数の商品が完全一致ケースγの依存関係を有する場合、表示制御部５４は、当該複数の商品を同一のグループに属する商品群として商品表示画面５６に表示させる。
【００８５】
以上のように、第１実施形態によると、画像形成装置１０から取得されたモジュール情報２６によって、当該画像形成装置１０にインストールされている商品が特定される。これにより、当該画像形成装置１０にインストールされている商品が管理されていない場合であっても、その商品が特定される。例えば、ソフトウェア管理装置１４からリモート操作によって、画像形成装置１０にインストールされている商品が特定される。
【００８６】
また、複数の商品の間におけるモジュールの依存関係に応じて、商品の特定制御や表示制御を変えることにより、その依存関係を有する複数の商品が特定される場合に発生すると想定される問題の発生が防止される。
【００８７】
上記のように、依存関係に応じて商品表示を制御することにより、例えば、画像形成装置１０に対する商品のインストール、商品のアップデート、画像形成装置１０からの商品のアンインストール、等の操作をユーザが行うときに、ユーザに有用な情報が提供され、これにより、商品が適切に管理される。
【００８８】
（変形例）
以下、第１実施形態に係る変形例について説明する。
【００８９】
図１３には、変形例に係る情報管理サーバ１２Ａの構成が示されている。情報管理サーバ１２Ａは、上述した第１実施形態に係る情報管理サーバ１２の記憶部３２の替わりに、記憶部３２Ａを含む。記憶部３２Ａ以外の構成は、第１実施形態に係る情報管理サーバ１２の構成と同じである。記憶部３２Ａには、記憶部３２に記憶されている情報に加えて、ユーザ契約情報６２が記憶されている。
【００９０】
ユーザ契約情報６２は、ユーザが契約した商品、つまり、当該ユーザによる使用が許可された商品（当該ユーザが利用可能な商品）を示す情報である。ユーザ契約情報６２には、契約を行ったユーザを識別するためのユーザ識別情報（例えばユーザＩＤ）が対応付けられている。
【００９１】
図１４には、変形例に係るソフトウェア管理装置１４Ａの構成が示されている。ソフトウェア管理装置１４Ａは、上述した第１実施形態に係るソフトウェア管理装置１４の制御部４６の替わりに、制御部４６Ａを含む。制御部４６Ａ以外の構成は、第１実施形態に係るソフトウェア管理装置１４Ａの構成と同じである。制御部４６Ａは、制御部４６の構成に加えて、契約情報取得部６４を含む。
【００９２】
契約情報取得部６４は、情報管理サーバ１２Ａからユーザ契約情報６２を取得する機能を備えている。例えば、ユーザがＵＩ部４４を使用してユーザＩＤやパスワード等のユーザ識別情報を入力することにより、ソフトウェア管理システムにログインする。契約情報取得部６４は、ソフトウェア管理システムにログインしたユーザのユーザ契約情報６２を、情報管理サーバ１２Ａから取得する。
【００９３】
変形例においては、表示制御部５４は、契約情報取得部６４によって取得されたユーザ契約情報６２が示すユーザの契約状態に応じて、商品特定部５２によって特定された商品の表示を制御する。表示制御部５４は、例えば、商品特定部５２によって特定された商品群の中で、ユーザが契約している商品をＵＩ部４４に表示させ、ユーザが契約していない商品はＵＩ部４４に表示させない。上述したように、完全一致ケースγにおいては、画像形成装置１０にインストールされている同一のモジュールによって構成される複数の商品が特定されてＵＩ部４４に表示される。当該複数の商品の中には、ユーザが契約した商品の他、ユーザが契約していない商品が含まれる場合がある。つまり、商品特定部５２は、画像形成装置１０にインストールされているモジュールによって構成される商品を特定するように構成されているため、完全一致ケースγの場合には、ユーザが契約していない商品も特定される場合がある。例えば、商品Ａ，Ｂ，Ｃが同一のモジュールによって構成されている場合において、ユーザが商品Ａの使用について契約を行い、つまり、商品Ａの使用許諾を受け、商品Ａ（商品Ａを構成するモジュール）が画像形成装置１０にインストールされているものとする。この場合、商品特定部５２は、そのモジュールを示すモジュール情報２６を画像形成装置１０から取得し、そのモジュールによって構成される商品として、商品Ａ，Ｂ，Ｃを特定することになる。商品Ｂ，Ｃは、ユーザが契約していなくても、画像形成装置１０にインストールされている商品として特定される。商品Ｂ，Ｃは、ユーザが契約した商品ではないため、ユーザは商品Ｂ，Ｃの使用が許可されてない。そのような商品Ｂ，Ｃが表示されると、ユーザが混乱する場合があるため、これに対処するために、表示制御部５４は、ユーザが契約していない商品Ｂ，ＣをＵＩ部４４に表示させない。これにより、上記の問題が解消される。
【００９４】
［第２実施形態］
以下、本発明の第２実施形態に係る情報処理システムとしてのソフトウェア管理システムについて説明する。図１５には、第２実施形態に係る情報管理サーバ１２Ｂの一例が示されており、図１６には、第２実施形態に係るソフトウェア管理装置１４Ｂの一例が示されている。第２実施形態に係るソフトウェア管理システムは、第１実施形態と同様に画像形成装置１０を含み、第１実施形態に係る情報管理サーバ１２の替わりに情報管理サーバ１２Ｂを含み、第１実施形態に係るソフトウェア管理装置１４の替わりにソフトウェア管理装置１４Ｂを含む。以下、各装置について詳しく説明する。
【００９５】
図１５を参照して、情報管理サーバ１２Ｂについて説明する。情報管理サーバ１２Ｂは、上述した第１実施形態に係る情報管理サーバ１２の記憶部３２の替わりに、記憶部３２Ｂを含む。記憶部３２Ｂ以外の構成は、第１実施形態に係る情報管理サーバ１２の構成と同じである。記憶部３２Ｂには、記憶部３２に記憶されている情報に加えて、ユーザ情報６６が記憶されている。記憶部３２Ｂには、記憶部３２に記憶されている情報に加えて、ユーザ情報６６が記憶されている。
【００９６】
ユーザ情報６６は、ユーザによる使用が許可された商品（当該ユーザが利用可能な商品）を示す情報である。ユーザが利用可能な商品とは、ユーザが購入した商品（例えばユーザが契約した商品）や、ユーザが無償で使用できる商品（例えば無償で使用許諾が与えられた商品）、等である。なお、ユーザ情報６６の替わりに、第１実施形態の変形例に係るユーザ契約情報６２が用いられてもよい。
【００９７】
図１６を参照して、ソフトウェア管理装置１４Ｂについて詳しく説明する。ソフトウェア管理装置１４Ｂは、上述した第１実施形態に係るソフトウェア管理装置１４の制御部４６の替わりに、制御部４６Ｂを含む。制御部４６Ｂ以外の構成は、第１実施形態に係るソフトウェア管理装置１４の構成と同じである。
【００９８】
デバイス検索部６８は、ソフトウェア管理システムに含まれる機器としての画像形成装置１０を検索する機能を備えている。
【００９９】
デバイス情報取得部７０は、ソフトウェア管理システムに含まれる各画像形成装置１０（例えばデバイス検索部６８によって検索された各画像形成装置１０）からデバイス情報２４とモジュール情報２６を取得する。
【０１００】
デバイス管理部７２は、デバイス情報取得部７０によって取得されたデバイス情報２４とモジュール情報２６を格納し、ソフトウェア管理システムに含まれる各画像形成装置１０を管理する機能を備えている。例えば、デバイス管理部７２は、各画像形成装置１０にインストールされている商品を管理する。上述した第１実施形態に係る商品特定部５２と同様に、デバイス管理部７２は、画像形成装置１０毎に、画像形成装置１０から取得されたモジュール情報２６（及びデバイス情報）と、情報管理サーバ１２Ｂから取得された商品構成情報３４と、に基づいて、画像形成装置１０にインストールされている商品を特定してもよい。デバイス管理部７２は、別の手法によって、画像形成装置１０にインストールされている商品を特定してもよい。例えば、画像形成装置１０の記憶部２２に、当該画像形成装置１０にインストールされている商品を示す情報が記憶されていてもよい。この場合、デバイス情報取得部７０は、その商品を示す情報を画像形成装置１０から取得し、デバイス管理部７２は、その情報に基づいて、画像形成装置１０にインストールされている商品を特定する。更に別の例として、サーバ等の外部装置において、各画像形成装置１０にインストールされている商品を示す情報が記憶されていてもよい。この場合、デバイス情報取得部７０は、その商品を示す情報を外部装置から取得し、デバイス管理部７２は、その情報に基づいて、画像形成装置１０にインストールされている商品を特定する。
【０１０１】
商品情報取得部７４は、情報管理サーバ１２Ｂから商品構成情報３４と商品詳細情報３６を取得する機能を備えている。なお、商品情報取得部７４によって取得された商品構成情報３４と商品詳細情報３６は、記憶部４２に記憶されてもよい。
【０１０２】
ユーザ情報取得部７６は、情報管理サーバ１２Ｂからユーザ情報６６を取得する機能を備えている。例えば、ユーザがＵＩ部４４を使用してユーザＩＤやパスワード等のユーザ識別情報を入力することにより、ソフトウェア管理システムにログインする。ユーザ情報取得部７６は、ソフトウェア管理システムにログインしたユーザのユーザ情報６６を、情報管理サーバ１２Ｂから取得する。
【０１０３】
商品管理部７８は、情報管理サーバ１２Ｂから取得された商品構成情報３４、商品詳細情報３６及びユーザ情報６６を保持し、商品を管理する機能を備えている。
【０１０４】
表示制御部８０は、画像形成装置１０にインストールされている商品（以下、「インストール済み商品」と称する）と、ユーザが利用可能な商品（以下、「利用可能商品」と称する）と、の表示を制御する。表示制御部５４は、例えば、インストール済み商品と利用可能商品をＵＩ部４４に表示させる。もちろん、表示制御部８０は、ソフトウェア管理装置１４Ｂ以外の装置において、商品を表示装置に表示させてもよい。例えば、インストール済み商品を示す情報と利用可能商品を示す情報が、端末装置（例えば、ＰＣ、タブレットＰＣ、スマートフォン、携帯電話等）に送信され、表示制御部８０は、その端末装置の表示装置に商品を表示させてもよい。もちろん、ソフトウェア管理装置１４Ｂ自体が、端末装置によって構成されていてもよい。
【０１０５】
また、表示制御部８０は、複数の商品の間（例えば、複数の利用可能商品の間、インストール済み商品と利用可能商品との間、複数のインストール済み商品の間）におけるモジュールの依存関係に基づいて、商品の表示を制御する。この依存関係に基づく表示制御については、後で詳しく説明する。
【０１０６】
商品操作制御部８２は、商品に対するユーザの操作を制御する機能を備えている。商品に対する操作は、画像形成装置１０への商品のインストール（登録）、商品のアップデート（更新）、画像形成装置１０からの商品のアンインストール（削除）、等である。商品操作制御部８２は、複数の商品の間（例えば、複数の利用可能商品の間、インストール済み商品と利用可能商品との間、複数のインストール済み商品の間）におけるモジュールの依存関係に基づいて、画像形成装置１０への商品に関するユーザの操作を制御する。この依存関係に基づく操作制御については、後で詳しく説明する。
【０１０７】
以下、第２実施形態に係るソフトウェア管理システムについて具体例を挙げて詳しく説明する。
【０１０８】
図１７を参照して、第２実施形態に係る商品構成情報３４について詳しく説明する。図１７には、商品構成情報３４の一例としての商品構成テーブルが示されている。
【０１０９】
商品構成テーブルにおいては、例えば、ソフトウェアとしての商品を識別するための商品識別情報（例えば商品ＩＤ）と、当該商品のバージョンを示す商品属性情報と、当該商品の名称を示す情報と、当該商品のリリース日を示す情報と、当該商品に対応している画像形成装置１０の機種（当該商品のインストールが可能な画像形成装置１０の機種）を示す情報と、当該商品を構成する１又は複数のモジュールを示す情報と、が互いに対応付けられている。モジュールを示す情報は、例えば、モジュールＩＤと、モジュールのバージョンを示すモジュール属性情報と、モジュールに対応している画像形成装置１０の機種（当該モジュールのインストールが可能な画像形成装置１０の機種）を示す情報と、を含む。
【０１１０】
例えば、商品Ａ（バージョン１．０）は、モジュールＡ（バージョン１．０）によって構成される商品である。商品Ｄ（バージョン１．０）は、複数のモジュール（モジュールＣ（バージョン１．０）とモジュールＤ（バージョン１．０））によって構成される商品である。また、モジュールＸ（バージョン１．０）は、複数の商品によって共用されるモジュール、つまり、複数の商品に含まれるモジュールである。商品構成テーブルを参照することにより、共用のモジュールが特定される。
【０１１１】
商品構成テーブルを参照することにより、各商品の間におけるモジュールの依存関係が特定される。表示制御部８０は、商品構成テーブルを参照することにより、複数の商品の間（例えば、複数の利用可能商品の間、インストール済み商品と利用可能商品との間、複数のインストール済み商品の間）におけるモジュールの依存関係を特定し、その依存関係に基づいて、商品の表示を制御する。また、商品操作制御部８２は、商品構成テーブルを参照することにより、複数の商品の間（例えば、複数の利用可能商品の間、インストール済み商品と利用可能商品との間、複数のインストール済み商品の間）におけるモジュールの依存関係を特定し、その依存関係に基づいて、商品に対するユーザの操作を制御する。
【０１１２】
なお、デバイス管理部７２は、第１実施形態に係る商品特定部５２と同様に、商品構成テーブルを参照することにより、画像形成装置１０にインストールされている商品を特定してもよい。例えば、画像形成装置１０にインストールされている商品を示す情報が、当該画像形成装置１０やサーバ等から取得されない場合、デバイス管理部７２は、画像形成装置１０から取得されたモジュール情報２６（及びデバイス情報２４）と商品構成テーブルとに基づいて、当該画像形成装置１０にインストールされている商品を特定する。もちろん、別の手法によって、画像形成装置１０にインストールされている商品が特定されてもよい。
【０１１３】
第２実施形態においても、第１実施形態と同様に、複数の商品の間におけるモジュールの依存関係として、例えば、図６に示されている独立ケース、図７に示されている包含ケースα、図８に示されている共用部品使用ケースβ、及び、図９に示されている完全一致ケースγが発生し得る。これらのケースについては、第１実施形態に係るケースと同じであるため、ここでは説明を省略する。
【０１１４】
第２実施形態においては、複数の商品の間におけるモジュールの依存関係に応じて、例えば、表示制御部８０による商品表示制御や、商品操作制御部８２による商品操作制御が変更される。以下、図１８を参照して、この制御について詳しく説明する。図１８には、モジュールの依存関係に応じた制御のテーブルが示されている。このテーブルにおいては、ケース毎に、商品管理における問題点と、インストールのための制御と、アップデートのための制御と、アンインストールのための制御と、が互いに対応付けられている。
【０１１５】
図１８に示されているテーブルには示されていないが、独立ケースについて説明する。モジュールの依存関係が独立ケースの場合、つまり、図６に示すように、複数の商品の間（例えば、複数の利用可能商品の間、インストール済み商品と利用可能商品との間、複数のインストール済み商品の間）において各モジュールが独立している場合、商品管理上の問題は発生しないと想定される。独立ケースにおいては、表示制御部８０は、商品の表示を制限せずに、インストール済み商品と利用可能商品をＵＩ部４４に表示させる。また、商品操作制御部８２は、インストール済み商品と利用可能商品への操作を無効とせずに有効として処理する。つまり、ユーザがインストール済み商品のアップデートやアンインストールの指示を与えると、商品操作制御部８２は、ユーザの指示に従って、当該インストール済み商品のアップデートやアンインストールを行う。また、ユーザが利用可能商品のインストールを指示した場合、商品操作制御部８２は、ユーザの指示に従って、当該利用可能商品を、ユーザによって指定された画像形成装置１０にインストールする。
【０１１６】
以下、包含ケースαについて説明する。モジュールの依存関係が包含ケースαの場合、つまり、図７に示すように、ある商品Ｄ（「商品大」と称する）が他の商品Ｃ（「商品小」と称する）を包含している場合、商品管理上の問題が発生することがある。例えば、商品が表示される画面上において、商品のインストール（登録）や、アップデート（更新）や、アンインストール（削除）等の操作がユーザによって行われる場合がある。この場合において、例えば、商品大が画像形成装置１０にインストールされている場合（つまり、商品大がインストール済み商品の場合）、商品小を当該画像形成装置１０にインストールしても、機能的には変化がないため、ユーザにおいて混乱が生じると予測される。また、商品大と商品小が同一の画像形成装置１０にインストールされている場合（つまり、商品大と商品小がインストール済み商品の場合）、商品小がアップデートやアンインストールされると、それに伴って、商品小を構成するモジュールがアップデートやアンインストールされることになる。これにより、そのモジュールを含む商品大の構成に影響が発生し得る。例えば、商品小がアンインストールされると、その商品小を構成するモジュールが商品大からも削除されるので、ユーザの意図しないところで、商品大の使用に支障が発生する。
【０１１７】
包含ケースαの問題に対処するために、インストールのための制御として、以下の制御が行われる。例えば、商品大が画像形成装置１０にインストールされており（商品大がインストール済み商品であり）、商品小が利用可能商品であって当該画像形成装置１０にインストールされていない場合、商品操作制御部８２は、インストールのための制御として、当該画像形成装置１０への商品小のインストールの操作を無効として処理する。つまり、商品操作制御部８２は、商品小へのインストールの操作を受け付けない、又は、その操作を受け付けても、その操作に応じた処理を実行しない。これにより、商品大がインストールされている画像形成装置１０への商品小のインストールが防止され、上記の問題が解消される。例えば、表示制御部８０は、商品小を利用可能商品としてＵＩ部４４に表示させる。ユーザが、商品大がインストールされている画像形成装置１０への商品小のインストールを指示した場合、商品操作制御部８２は、ユーザによるインストールの指示を受け付けない。これにより、商品大がインストールされている画像形成装置１０への商品小のインストールは実行されない。別の例として、ユーザが、商品大がインストールされている画像形成装置１０への商品小のインストールを指示した場合、商品操作制御部８２は、ユーザによるインストールの指示を受け付けたとしても、その指示を無効として処理してもよい。この場合も、商品大がインストールされている画像形成装置１０への商品小のインストールは実行されない。なお、商品小が利用可能商品であっても、表示制御部８０は、商品小を利用可能商品としてＵＩ部４４に表示させなくてもよい。
【０１１８】
ユーザが、商品大がインストールされていない画像形成装置１０への商品小のインストールを指示した場合、商品操作制御部８２は、ユーザによるインストールの指示に従って、商品大がインストールされていない当該画像形成装置１０に商品小をインストールする。
【０１１９】
また、アップデートのための制御として、以下の制御が行われる。例えば、商品大と商品小が同一の画像形成装置１０にインストールされている場合（商品大と商品小がインストール済み商品の場合）、商品操作制御部８２は、アップデートのための制御として、商品小のアップデートの操作を無効として処理する。例えば、表示制御部８０は、商品小及び商品大を、当該商品小及び当該商品大がインストールされている画像形成装置１０についてのインストール済み商品として、ＵＩ部４４に表示させる。ユーザが、商品大がインストールされている画像形成装置１０を対象として、商品小のアップデートを指示した場合、商品操作制御部８２は、ユーザによるアップデートの指示を受け付けない。これにより、商品大がインストールされている画像形成装置１０において、商品小のアップデートは実行されない。別の例として、ユーザが、商品大がインストールされている画像形成装置１０を対象として、商品小のアップデートを指示した場合、商品操作制御部８２は、ユーザによるアップデートの指示を受け付けたとしても、その指示を無効として処理してもよい。この場合も、商品大がインストールされている画像形成装置１０において、商品小のアップデートは実行されない。別の例として、商品大と商品小が同一の画像形成装置１０にインストールされている場合、表示制御部８０は、当該商品小を当該画像形成装置１０についてのインストール済み商品としてＵＩ部４４に表示させなくてもよい。以上の制御を行うことにより、商品小のアップデートに伴う商品大への影響が防止される。
【０１２０】
ユーザが、商品大がインストールされていない画像形成装置１０を対象として、商品小のアップデートを指示した場合、商品操作制御部８２は、ユーザによるアップデートの指示に従って、商品大がインストールされていない当該画像形成装置１０において商品小のアップデートを実行する。
【０１２１】
また、アンインストールのための制御として、以下の制御が行われる。例えば、商品大と商品小が同一の画像形成装置１０にインストールされている場合（商品大と商品小がインストール済み商品の場合）、表示制御部８０は、アンインストールのための制御として、当該商品小を当該画像形成装置１０についてのインストール済み商品としてＵＩ部４４に表示させない。別の例として、商品操作制御部８２は、アンインストールのための制御として、商品大がインストールされている画像形成装置１０における商品小のアンインストールの操作を無効として処理してもよい。例えば、表示制御部８０は、商品小及び商品大を、当該商品小及び当該商品大がインストールされている画像形成装置１０についてのインストール済み商品として、ＵＩ部４４に表示させる。ユーザが、商品大がインストールされている画像形成装置１０を対象として、商品小のアンインストールを指示した場合、商品操作制御部８２は、ユーザによるアンインストールの指示を受け付けない。これにより、商品大がインストールされている画像形成装置１０において、商品小のアンインストールは実行されない。別の例として、ユーザが、商品大がインストールされている画像形成装置１０を対象として、商品小のアンインストールを指示した場合、商品操作制御部８２は、ユーザによるアンインストールの指示を受け付けたとしても、その指示を無効として処理してもよい。この場合も、商品大がインストールされている画像形成装置１０において、商品小のアンインストールは実行されない。以上の制御を行うことにより、商品小のアンインストールに伴う商品大への影響が防止される。
【０１２２】
ユーザが、商品大がインストールされていない画像形成装置１０を対象として、商品小のアンインストールを指示した場合、商品操作制御部８２は、ユーザによるアンインストールの指示に従って、商品大がインストールされていない当該画像形成装置１０において商品小のアンインストールを実行する。
【０１２３】
以下、共用部品使用ケースβについて説明する。モジュールの依存関係が共用部品使用ケースβの場合、つまり、図８に示すように、例えば、ある商品Ｅと他の商品Ｆが同一のモジュールを共用している場合、商品管理上の問題が発生することがある。例えば、商品Ｅ，Ｆが同一の画像形成装置１０にインストールされている場合において、一方の商品（例えば商品Ｅ）がアンインストールされると、それに伴って、当該一方の商品を構成するモジュールがアンインストールされることになる。これにより、そのモジュールを含む他方の商品（例えば商品Ｆ）の構成に影響が発生し、ユーザの意図しないところで、他方の商品の使用に支障が発生する。
【０１２４】
モジュールの依存関係が共用部品使用ケースβの場合、商品のインストール及びアップデートによって問題は発生しない。そのため、ユーザが、商品のインストールやアップデートを指示した場合、商品操作制御部８２は、商品に対する操作を制限せずに、その指示に従って、商品のインストールやアップデートを実行する。また、表示制御部８０は、商品の表示を制限せずに、インストール済み商品や利用可能商品をＵＩ部４４に表示させる。画像形成装置１０から商品をアンインストールする場合、商品操作制御部８２は、当該商品を構成する共用モジュール（他の商品にも使用されるモジュール）を当該画像形成装置１０から削除しない。商品操作制御部８２は、商品のアンインストールの指示を受けると、商品構成テーブルを参照することにより、当該商品を構成するモジュールを特定する。当該商品に共用モジュールが含まれている場合、商品操作制御部８２は、当該共用モジュールを、当該商品がインストールされている画像形成装置１０から削除しない。これにより、商品のアンインストールに伴う他の商品への影響が防止される。
【０１２５】
以下、完全一致ケースγについて説明する。モジュールの依存関係が完全一致ケースγの場合、つまり、図９に示すように、複数の商品（例えば商品Ｇ，Ｈ）が同一モジュール（例えばモジュールＹ）によって構成されている場合、そのモジュールが画像形成装置１０にインストールされると、複数の商品（例えば商品Ｇ，Ｈ）が、当該画像形成装置１０にインストールされている商品として認識される場合がある。例えば、第１実施形態と同様に、画像形成装置１０にインストールされているモジュールによって、当該画像形成装置１０にインストールされている商品を特定する場合、複数の商品が特定されることがある。上記の例で説明すると、画像形成装置１０にモジュールＹがインストールされている場合、そのモジュールＹに基づいて、当該画像形成装置１０にインストールされている商品を特定した場合、商品Ｇ，Ｈが当該画像形成装置１０にインストールされている商品として特定されることになる。そのため、１つの商品が画像形成装置１０にインストールされると、当該商品と完全一致ケースγの依存関係を有する他の商品も、当該画像形成装置１０にインストールされているものとして扱われる。これにより、ユーザが違和感を覚える場合がある。
【０１２６】
完全一致ケースγの問題に対処するために、インストールのための制御として、以下の制御が行われる。利用可能商品のインストールの操作がユーザによって行われている場合において、当該利用可能商品と完全一致ケースγの依存関係を有する他の利用可能商品が存在する場合、表示制御部８０は、互いに完全一致ケースγの依存関係を有する複数の利用可能商品が、画像形成装置１０にインストールされることがユーザに分かるように、商品の表示を制御する。例えば、表示制御部８０は、当該複数の商品がインストールされることを示す情報（例えばメッセージや画像）をＵＩ部４４に表示させてもよいし、当該複数の商品を示す画像（例えばアイコン）をユーザの操作に従って同時に移動させてＵＩ部４４に表示させてもよい。このような表示制御を行うことにより、インストール操作時における完全一致ケースγについての問題が解消される。
【０１２７】
また、アップデートのための制御として、以下の制御が行われる。ユーザによって指示された画像形成装置１０を対象として、インストール済み商品のアップデートの操作が行われている場合において、当該インストール済み商品と完全一致ケースγの依存関係を有する他のインストール済み商品が、当該画像形成装置１０にインストールされている場合、表示制御部８０は、互いに完全一致ケースγの依存関係を有する複数のインストール済み商品がアップデートされることがユーザに分かるように、商品の表示を制御する。例えば、表示制御部８０は、当該複数の商品がアップデートされることを示す情報（例えばメッセージや画像）をＵＩ部４４に表示させてもよいし、当該複数の商品を同一グループに属する商品群としてＵＩ部４４に表示させてもよい。このような表示制御を行うことにより、アップデート操作時における完全一致ケースγについての問題が解消される。
【０１２８】
また、アンインストールのための制御として、以下の制御が行われる。ユーザによって指示された画像形成装置１０を対象として、インストール済み商品のアンインストールの操作が行われている場合において、当該インストール済み商品と完全一致ケースγの依存関係を有する他のインストール済み商品が、当該画像形成装置１０にインストールされている場合、表示制御部８０は、互いに完全一致ケースγの依存関係を有する複数のインストール済み商品がアンインストールされることがユーザに分かるように、商品の表示を制御する。例えば、表示制御部８０は、当該複数の商品がアンインストールされることを示す情報（例えばメッセージや画像）をＵＩ部４４に表示させてもよいし、当該複数の商品を同一グループに属する商品群としてＵＩ部４４に表示させてもよい。このような表示制御を行うことにより、アンインストール時における完全一致ケースγについての問題が解消される。
【０１２９】
以下、図１９を参照して、商品表示画面について説明する。図１９には、その画面の一例が示されている。例えば、ユーザがＵＩ部４４を使用してユーザＩＤやパスワード等のユーザ識別情報を入力することにより、ソフトウェア管理システムにログインすると、表示制御部８０は、商品表示画面８４をＵＩ部４４に表示させる。商品表示画面８４には、符号８６で示すように、ソフトウェア管理システムに含まれる機器としての画像形成装置１０を識別するためのデバイス情報（例えばデバイスＩＤ）の一覧が表示される。デバイス検索部６８は、ソフトウェア管理システムに含まれる画像形成装置１０を検索し、デバイス情報取得部７０は、これにより検索された各画像形成装置１０からデバイス情報２４を取得する。表示制御部８０は、そのデバイス情報２４に含まれるデバイスＩＤの一覧を商品表示画面８４に表示させる。図１９に示す例では、デバイスＡ，Ｂ，Ｃ，Ｄが表示されている。
【０１３０】
ユーザがＵＩ部４４を使用して、デバイス一覧の中から特定のデバイスを指定すると、表示制御部８０は、符号８８で示すように、ユーザによって指定された画像形成装置１０にインストールされている商品（インストール済み商品）の一覧を、商品表示画面８４に表示させる。図１９に示す例では、デバイスＣがユーザによって指定されており、そのデバイスＣにインストールされている商品の一覧（例えば、商品Ｘ１〜Ｘ７）が商品表示画面８４に表示されている。なお、第１実施形態と同様に、商品Ｘ４〜Ｘ７は、同一のモジュールによって構成される商品であるため、１つのグループにまとめられて表示されている。
【０１３１】
また、商品表示画面８４には、符号９０で示すように、ログインユーザが使用可能な商品（使用可能商品）の一覧が表示される。ユーザがソフトウェア管理システムにログインすると、ユーザ情報取得部７６は、当該ユーザについてのユーザ情報６６を情報管理サーバ１２Ｂから取得する。表示制御部８０は、そのユーザ情報６６に含まれる商品ＩＤ（使用可能商品のＩＤ）の一覧を商品表示画面８４に表示させる。図１９に示す例では、ログインユーザが使用可能な商品として、商品Ｙ１〜Ｙ４が商品表示画面８４に表示されている。
【０１３２】
商品表示画面８４上において、商品のインストール、アップデート、アンインストール等の操作が行われる。例えば、ユーザがＵＩ部４４を使用して、使用可能商品の一覧の中からインストール対象の商品（例えば商品Ｙ１）を選択し、その商品Ｙ１を表わす画像（例えばアイコン）を、符号９２で示すように、デバイスＣのインストール済み商品の表示欄（符号８８で示す欄）にドラッグ＆ドロップすると、商品操作制御部８２は、商品Ｙ１をデバイスＣにインストールする。商品Ｙ１の画像が、デバイスＣを表わす画像（例えばアイコン）にドラッグ＆ドロップされた場合に、商品操作制御部８２は、商品Ｙ１をデバイスＣにインストールしてもよい。
【０１３３】
また、ユーザがＵＩ部４４を使用して、インストール済み商品の一覧の中からアップデート対象の商品（例えば商品Ｘ１）を選択し、アップデートの指示を与えると、商品操作制御部８２は、デバイスＣにおいて商品Ｘ１をアップデートする。
【０１３４】
また、ユーザがＵＩ部４４を使用して、インストール済み商品の中からアンインストール対象の商品（例えば商品Ｘ２）を選択し、アンインストールの指示を与えると、商品操作制御部８２は、デバイスＣから商品Ｘ２をアンインストールする。
【０１３５】
複数の商品の間（例えば、複数の利用可能商品の間、インストール済み商品と利用可能商品との間、複数のインストール済み商品の間）において、包含ケースα、共用部品使用ケースβ又は完全一致ケースγのいずれかの依存関係が存在する場合、商品表示画面８４上において、その依存関係に応じた商品表示制御や商品操作制御が行われる。以下、図２０を参照して、この制御について詳しく説明する。図２０には、各タイミングにおける制御のテーブルの一例が示されている。
【０１３６】
まず、（１）商品の表示時における制御について説明する。表示制御部８０は、ログインしたユーザが利用可能な商品（利用可能商品）の一覧と、商品表示画面８４上においてユーザによって指定された画像形成装置１０（例えばデバイスＣ）にインストールされている商品（インストール済み商品）の一覧と、を商品表示画面８４に表示させる。図２１には、その商品表示画面８４の一例が示されている。
【０１３７】
デバイスＣにインストールされている複数の商品（複数のインストール済み商品）の間において、包含ケースαの依存関係が存在する場合、表示制御部８０は、商品小に該当する商品を商品表示画面８４に表示させない。例えば、表示制御部８０は、インストール済み商品の一覧に、商品小に該当するインストール済み商品を含めないで、インストール済み商品の一覧を商品表示画面８４に表示させる。表示制御部８０は、ユーザの利用可能商品の一覧に、商品小に該当する利用可能商品を含めないで、利用可能商品の一覧を商品表示画面８４に表示させてもよい。例えば、図２１に示す例において、商品Ｘ１と商品Ｘ８（図示されていない）が包含ケースαの依存関係を有しており、商品Ｘ１が商品大であり、商品Ｘ８が商品小であるとする。また、商品Ｘ１と商品Ｘ８は、デバイスＣにインストールされているものとする。この場合、表示制御部８０は、商品Ｘ８（商品小）をインストール済み商品の一覧に表示させない。また、商品Ｘ８（商品小）が利用可能商品に該当する場合であっても、表示制御部８０は、商品Ｘ８（商品小）を利用可能商品の一覧に表示させなくてもよい。これより、商品小に対する操作に伴う商品大への影響が防止される。
【０１３８】
別の例として、表示制御部８０は、商品小をインストール済み商品の一覧に表示させ、商品操作制御部８２は、その商品小に対するアップデートやアンインストールの操作を無効として処理してもよい。例えば、ユーザが、インストール済み商品の一覧の中から操作対象の商品（インストール済み商品）を指定すると、図２１に示すように、アップデート又はアンインストールを指示するためのボタン画像９４が表示される。ユーザがボタン画像９４によってアップデート又はアンインストールを指示すると、商品操作制御部８２は、その指示に従った処理を行う。この場合において、商品操作制御部８２は、商品小に対するアップデートやアンインストールの操作を無効として処理する。例えば、ユーザがボタン画像９４によってアップデートやアンインストールを指示した場合、商品操作制御部８２は、その指示を無効として処理する（例えば、その指示を受け付けない）。これにより、商品小に対する操作に伴う商品大への影響が防止される。
【０１３９】
また、商品小が利用可能商品に該当する場合、表示制御部８０は、当該商品小を利用可能商品の一覧に表示させ、商品操作制御部８２は、その商品小に対するアップデートの操作を無効として処理してもよい。例えば、ユーザが、利用可能商品の一覧の中から操作対象の商品（利用可能商品）を指定すると、図２１に示すように、インストール又はアップデートを指示するためのボタン画像９６が表示される。ユーザがボタン画像９６によってインストール又はアップデートを指示すると、商品操作制御部８２は、その指示に従った処理を行う。この場合において、商品操作制御部８２は、商品小に対するアップデートの操作を無効として処理する。商品操作制御部８２は、商品小のインストールの操作を無効として処理してもよい。例えば、ユーザがボタン画像９６によってアップデートやインストールを指示した場合、商品操作制御部８２は、その指示を無効として処理する（例えば、その指示を受け付けない）。これにより、商品小に対する操作に伴う商品大への影響が防止される。
【０１４０】
次に、（２）操作選択から実行までの制御について説明する。インストール済み商品と利用可能商品との間に、包含ケースαの依存関係が存在する場合において、インストール済み商品が商品大であり、利用可能商品が商品小である場合、商品操作制御部８２は、商品大がインストールされている画像形成装置１０への商品小のインストールの操作を無効として処理する。また、複数のインストール済み商品の間に、包含ケースαの依存関係が存在する場合、商品操作制御部８２は、商品大がインストールされている画像形成装置１０において、商品小のアップデートの操作を無効として処理する。これにより、商品小に対する操作に伴う商品大への影響が防止される。
【０１４１】
図２２には、商品のインストール時の画面の一例が示されている。例えば、商品表示画面上において、ユーザが、利用可能商品の一覧からインストール対象の商品を指定すると、表示制御部８０は、インストール画面９８をＵＩ部４４に表示させる。インストール画面９８には、インストール先の候補となる画像形成装置１０のデバイスＩＤの一覧が表示されている。インストール先の候補となる画像形成装置１０は、例えば、デバイス検索部６８によって検索された画像形成装置１０である。インストール画面９８上において、ユーザが、インストール先の画像形成装置１０を指定すると、商品操作制御部８２は、指定された画像形成装置１０に対して、インストール対象の商品をインストールする。インストール済み商品とインストール対象の商品（利用可能商品）との間に、包含ケースαの依存関係が存在する場合において、インストール済み商品が商品大であり、インストール対象の商品が商品小である場合、表示制御部８０は、商品大がインストールされている画像形成装置１０のデバイスＩＤを、インストール画面９８に表示させない。例えば、デバイスＤがソフトウェア管理システムに含まれている場合であっても、デバイスＤに商品大がインストールされている場合、デバイスＤはインストール画面９８に表示されない。これにより、商品小がインストールされることに伴う商品大への影響が防止される。
【０１４２】
図２３には、別の制御の一例が示されている。ユーザが、利用可能商品の一覧からインストール対象の商品を指定すると、表示制御部８０は、デバイスの表示欄において、そのインストール対象の商品に対して商品大に該当する商品がインストールされている画像形成装置１０のデバイスＩＤ（例えばデバイスＤ）を、識別可能（例えばグレーアウト）にして商品表示画面８４に表示させてもよい。商品操作制御部８２は、グレーアウトで表示された画像形成装置１０には、インストール対象の商品のインストールの操作を無効として処理する。これにより、商品小がインストールされることに伴う商品大への影響が防止される。
【０１４３】
次に、（３）操作実行時の制御について説明する。例えば、ユーザによって利用可能商品のインストールの操作が行われている場合において、当該利用可能商品と完全一致ケースγの依存関係を有する他の利用可能商品が存在する場合、表示制御部８０は、互いに完全一致ケースγの依存関係を有する複数の利用可能商品が画像形成装置１０にインストールされることがユーザにおいて分かるように表示を制御する。例えば、図２１に示す例において、商品Ｙ１，Ｙ２，Ｙ３が、互いに完全一致ケースγの依存関係を有する商品であり、ユーザがＵＩ部４４を使用して商品Ｙ１を、画像形成装置１０（例えばデバイスＣ）にインストールするものとする。例えば、ユーザがＵＩ部４４を使用して商品Ｙ１を表わす画像（例えばアイコン）を指定し、その商品Ｙ１を表わす画像を、デバイスＣを表わす画像（例えばアイコン）やデバイスＣのインストール済み商品の欄に移動（例えばドラッグ）させると、表示制御部８０は、商品Ｙ２，Ｙ３を表わす画像（例えばアイコン）も、商品Ｙ１を表わす画像の移動とともに、ユーザの操作に従って移動（例えばドラッグ）させる。これにより、商品Ｙ１のインストールに伴って、商品Ｙ１と同じ機能を有する商品Ｙ２，Ｙ３も、デバイスＣにインストールされることがユーザに示される。
【０１４４】
互いに完全一致ケースγの依存関係を有する複数のインストール済み商品が同一の画像形成装置１０にインストールされている場合において、ユーザが、完全一致ケースγの依存関係を有する一部のインストール済み商品のアップデートの操作を行っている場合、表示制御部８０は、当該複数のインストール済み商品がアップデートされることがユーザにおいて分かるように表示を制御する。例えば、表示制御部８０は、当該複数のインストール済み商品を表わす画像群（例えばアイコン群）を、識別可能な状態にして商品表示画面８４に表示させる。
【０１４５】
互いに完全一致ケースγの依存関係を有する複数のインストール済み商品が同一の画像形成装置１０にインストールされている場合において、ユーザが、完全一致ケースγの依存関係を有する一部のインストール済み商品のアンインストールの操作を行っている場合、表示制御部８０は、当該複数のインストール済み商品がアンインストールされることがユーザにおいて分かるように表示を制御する。例えば、表示制御部８０は、当該複数のインストール済み商品を表わす画像群（例えばアイコン群）を、識別可能な状態にして商品表示画面８４に表示させる。
【０１４６】
互いに共用部品使用ケースβの依存関係を有する複数のインストール済み商品が同一の画像形成装置１０にインストールされている場合において、ユーザが、共用部品使用ケースβの依存関係を有する一部のインストール済み商品のアンインストールの操作を行っている場合、商品操作制御部８２は、当該画像形成装置１０から共用のモジュールを削除しない。これにより、共用部品使用ケースβの依存関係を有する一部のインストール済み商品がアンインストールされた場合であっても、他のインストール済み商品への影響が防止される。
【０１４７】
以上のように、第２実施形態においては、複数の商品の間（例えば、インストール済み商品と利用可能商品との間、複数のインストール済み商品の間、複数の利用可能商品の間）におけるモジュールの依存関係に応じた制御（表示制御や商品操作制御）が行われる。これにより、その依存関係を有する複数の商品の間で発生すると想定される問題の発生が防止される。
【０１４８】
また、商品操作制御を行うことにより、依存関係を有する複数の商品の間で発生すると想定される問題の発生が事前に防止される。例えば、ユーザによる操作が受け付けられて当該操作に対応する処理が開始する前に、複数の商品の間の依存関係を解析し、その解析結果に応じて処理を実行又は停止する場合、操作を行ってから解析が終了するまで（操作に対する応答があるまで）、ユーザは待機する必要がある。第２実施形態によると、複数の商品の間の依存関係に応じて、ユーザによる操作が事前に無効に設定されるため、その待機が不要となる。
【０１４９】
上記の画像形成装置１０、情報管理サーバ１２，１２Ａ，１２Ｂ及びソフトウェア管理装置１４，１４Ａ，１４Ｂのそれぞれは、一例としてハードウェアとソフトウェアとの協働により実現される。具体的には、画像形成装置１０、情報管理サーバ１２，１２Ａ，１２Ｂ及びソフトウェア管理装置１４，１４Ａ，１４Ｂのそれぞれは、図示しないＣＰＵ等の１又は複数のプロセッサを備えている。当該１又は複数のプロセッサが、図示しない記憶装置に記憶されたプログラムを読み出して実行することにより、画像形成装置１０、情報管理サーバ１２，１２Ａ，１２Ｂ及びソフトウェア管理装置１４，１４Ａ，１４Ｂの各部の機能が実現される。上記プログラムは、ＣＤやＤＶＤ等の記録媒体を経由して、又は、ネットワーク等の通信経路を経由して、記憶装置に記憶される。別の例として、画像形成装置１０、情報管理サーバ１２，１２Ａ，１２Ｂ及びソフトウェア管理装置１４，１４Ａ，１４Ｂの各部は、例えばプロセッサや電子回路等のハードウェア資源により実現されてもよい。その実現においてメモリ等のデバイスが利用されてもよい。別の例として、画像形成装置１０、情報管理サーバ１２，１２Ａ，１２Ｂ及びソフトウェア管理装置１４，１４Ａ，１４Ｂの各部は、ＤＳＰ（Digital Signal Processor）やＦＰＧＡ（Field Programmable Gate Array）等によって実現されてもよい。
【符号の説明】
【０１５０】
１０  画像形成装置、１２  情報管理サーバ、１４  ソフトウェア管理装置、２４  デバイス情報、２６  モジュール情報、３４  商品構成情報、３６  商品詳細情報、４８  デバイス情報取得部、５０  商品情報取得部、５２  商品特定部、５４，８０  表示制御部、６２  ユーザ契約情報、６４  契約情報取得部、６６  ユーザ情報、６８  デバイス検索部、７０  デバイス情報取得部、７２  デバイス管理部、７４  商品情報取得部、７６  ユーザ情報取得部、７８  商品管理部、８２  商品操作制御部。
【図１】
2018060342.tif 000003
【図２】
2018060342.tif 000004
【図３】
2018060342.tif 000005
【図４】
2018060342.tif 000006
【図５】
2018060342.tif 000007
【図６】
2018060342.tif 000008
【図７】
2018060342.tif 000009
【図８】
2018060342.tif 000010
【図９】
2018060342.tif 000011
【図１０】
2018060342.tif 000012
【図１１】
2018060342.tif 000013
【図１２】
2018060342.tif 000014
【図１３】
2018060342.tif 000015
【図１４】
2018060342.tif 000016
【図１５】
2018060342.tif 000017
【図１６】
2018060342.tif 000018
【図１７】
2018060342.tif 000019
【図１８】
2018060342.tif 000020
【図１９】
2018060342.tif 000021
【図２０】
2018060342.tif 000022
【図２１】
2018060342.tif 000023
【図２２】
2018060342.tif 000024
【図２３】
2018060342.tif 000025