[第1実施形態]
図1を参照して、本発明の第1実施形態に係る情報処理システムとしてのソフトウェア管理システムについて説明する。図1には、第1実施形態に係るソフトウェア管理システムの一例が示されている。このソフトウェア管理システムは、機器の一例としての画像形成装置10と、情報管理サーバ12と、情報処理装置の一例としてのソフトウェア管理装置14と、を含む。画像形成装置10、情報管理サーバ12及びソフトウェア管理装置14は、通信経路Nを介して互いに通信する機能を備えている。図1に示す例では、1つの画像形成装置10がソフトウェア管理システムに含まれているが、複数の画像形成装置10がソフトウェア管理システムに含まれていてもよい。もちろん、他の装置がソフトウェア管理システムに含まれていてもよい。
画像形成装置10は画像形成機能を備えている装置である。画像形成装置10は、例えば、スキャン機能、プリント機能、コピー機能及びファクシミリ機能の中の少なくとも1つの機能を備えている。また、画像形成装置10は、他の装置との間でデータを送受信する機能を備えている。
情報管理サーバ12は、ソフトウェアとしての商品に関する情報を管理する装置である。商品は、機器としての画像形成装置10にインストール(登録)可能なソフトウェア(プログラム)である。商品は有償であってよいし、無償であってもよい。商品は、1又は複数の商品構成要素(モジュール)によって構成されている。モジュール(商品構成要素)は、ソフトウェア(プログラム)である。例えば、商品戦略等によって、ある商品が別の商品を包含するようなパッケージングもあり得る(包含ケースα)。つまり、ある商品が、別の商品を構成する全モジュールを含む場合もあり得る。別の例として、互いに異なる複数の商品が、同一のモジュールを共用する場合がある(共用部品使用ケースβ)。更に別の例として、同一モジュールによって互いに異なる複数の商品が形成される場合がある(完全一致ケースγ)。また、情報管理サーバ12は、他の装置との間でデータを送受信する機能を備えている。
ソフトウェア管理装置14は、機器の一例としての画像形成装置10から当該画像形成装置10にインストールされているモジュールを示す情報を取得し、そのモジュールを示す情報に基づいて、当該画像形成装置10にインストールされている商品を特定する装置である。また、ソフトウェア管理装置14は、他の装置との間でデータを送受信する機能を備えている。なお、画像形成装置10は機器の一例に過ぎない。ソフトウェア管理装置14は、画像形成装置10以外の機器にインストールされている商品を特定してもよい。
通信経路Nは、例えば、インターネットやLAN(Local Area Network)等のネットワークによって実現される通信経路である。
以下、図2を参照して、画像形成装置10の構成について詳しく説明する。図2には、画像形成装置10の構成が示されている。
通信部16は通信インターフェースであり、他の装置にデータを送信する機能、及び、他の装置からデータを受信する機能を備えている。通信部16は、例えば、Wi−Fi(登録商標)通信等の無線通信機能や有線通信機能を備えており、インターネットやLAN等のネットワークを介してデータを送受信する機能を備えている。
画像形成部18は画像形成処理を行う。画像形成部18は、例えば、スキャン機能、プリント機能、コピー機能及びファクシミリ機能の中の少なくとも1つの機能を実行する。スキャン機能が実行されることにより、原稿が読み取られてスキャンデータ(画像データ)が生成される。プリント機能が実行されることにより、画像が用紙等の記録媒体上に印刷される。コピー機能が実行されることにより、原稿が読み取られて記録媒体上に印刷される。ファクシミリ機能が実行されることにより、画像データがファクシミリ送信又はファクシミリ受信される。また、複数の機能を組み合わせた複合機能が実行されてもよい。例えば、スキャン機能と送信機能(転送機能)とを組み合わせたスキャン転送機能が実行されてもよい。このスキャン転送機能が実行されることにより、原稿が読み取られてスキャンデータ(画像データ)が生成され、そのスキャンデータが送信先(例えば端末装置やサーバ等の外部装置)に送信される。もちろん、この組み合わせ機能は一例に過ぎず、別の組み合わせ機能が実行されてもよい。
UI部20はユーザインターフェース部であり、表示部と操作部を含む。表示部は、例えば液晶ディスプレイ等の表示装置である。操作部は、例えばタッチパネルやキーボード等の入力装置である。もちろん、UI部20は、表示部と操作部の両方の機能を兼ね備えたユーザインターフェース(例えば、タッチパネルとしてのディスプレイや、電子的にキーボード等を表示するディスプレイ等)であってもよい。
記憶部22はハードディスクやメモリ等の記憶装置であり、例えば、画像形成処理の実行指示を示す実行指示情報(例えばジョブ情報等)、プリントの対象となる画像データ、スキャン機能を実行することにより生成されたスキャンデータ、各種の制御データ、各種のプログラム、各種のデータ等を記憶する。もちろん、それらは別々の記憶装置に記憶されてもよいし、同一の記憶装置に記憶されてもよい。また、記憶部22には、デバイス情報24とモジュール情報26が記憶されている。
デバイス情報24は、画像形成装置10を識別するための情報であり、例えば、画像形成装置10の機種を示す情報(例えば、機種ID(デバイスID)や機種名等)を含む情報である。
モジュール情報26は、画像形成装置10にインストール(登録)されているモジュール(商品構成要素)を識別するための情報であり、例えば、モジュールIDとモジュールのバージョンを示す情報とを含む情報である。
制御部28は、画像形成装置10の各部の動作を制御する。
以下、図3を参照して、情報管理サーバ12の構成について詳しく説明する。図3には、情報管理サーバ12の構成が示されている。
通信部30は通信インターフェースであり、他の装置にデータを送信する機能、及び、他の装置からデータを受信する機能を備えている。通信部30は、例えば、Wi−Fi(登録商標)通信等の無線通信機能や有線通信機能を備えており、インターネットやLAN等のネットワークを介してデータを送受信する機能を備えている。
記憶部32はハードディスクやメモリ等の記憶装置であり、例えば、各種の制御データや各種のデータを記憶する。もちろん、それらは別々の記憶装置に記憶されてもよいし、同一の記憶装置に記憶されてもよい。また、記憶部32には、商品構成情報34と商品詳細情報36が記憶されている。
商品構成情報34は、ソフトウェアとしての商品毎に、商品と当該商品を構成する1又は複数のモジュールとの対応関係を示す情報である。商品構成情報34は予め生成されて記憶部32に記憶されている。商品構成情報34を参照することにより、ある商品を構成するモジュールが特定され、また、あるモジュールによって構成される商品が特定される。
商品詳細情報36は、ソフトウェアとしての商品に関する詳細な情報(例えば、商品の説明や商品名等)である。
制御部38は、情報管理サーバ12の各部の動作を制御する。
以下、図4を参照して、ソフトウェア管理装置14の構成について詳しく説明する。図4には、ソフトウェア管理装置14の構成が示されている。
通信部40は通信インターフェースであり、他の装置にデータを送信する機能、及び、他の装置からデータを受信する機能を備えている。通信部40は、例えば、Wi−Fi(登録商標)通信等の無線通信機能や有線通信機能を備えており、インターネットやLAN等のネットワークを介してデータを送受信する機能を備えている。
記憶部42はハードディスクやメモリ等の記憶装置であり、例えば、各種の制御データや各種のデータが記憶される。もちろん、それらは別々の記憶装置に記憶されてもよいし、同一の記憶装置に記憶されてもよい。
UI部44やユーザインターフェース部であり、表示部と操作部を含む。表示部は、例えば液晶ディスプレイ等の表示装置である。操作部は、例えば、タッチパネルやキーボード等の入力装置である。もちろん、UI部44は、表示部と操作部の両方の機能を兼ね備えたユーザインターフェース(例えば、タッチパネルとしてのディスプレイや、電子的にキーボード等を表示するディスプレイ等)であってもよい。
制御部46は、ソフトウェア管理装置14の各部の動作を制御する。また、制御部46は、デバイス情報取得部48と、商品情報取得部50と、商品特定部52と、表示制御部54と、を含む。
デバイス情報取得部48は、ソフトウェア管理システムに含まれている各画像形成装置10を検索し、各画像形成装置10からデバイス情報24とモジュール情報26を取得する機能を備えている。なお、デバイス情報取得部48によって取得されたデバイス情報24とモジュール情報26は、記憶部42に記憶されてもよい。デバイス情報取得部48は、商品構成要素取得手段の一例に相当する。
商品情報取得部50は、情報管理サーバ12から商品構成情報34と商品詳細情報36を取得する機能を備えている。なお、商品情報取得部50によって取得された商品構成情報34と商品詳細情報36は、記憶部42に記憶されてもよい。
商品特定部52は、ソフトウェア管理システムに含まれて画像形成装置10毎に、画像形成装置10から取得されたモジュール情報26と、情報管理サーバ12から取得された商品構成情報34と、に基づいて、画像形成装置10にインストール(登録)されている商品を特定する機能を備えている。具体的には、商品特定部52は、商品構成情報34において、画像形成装置10から取得されたモジュール情報26が示すモジュールに対応する商品を、当該画像形成装置10にインストールされている商品として特定する。
また、商品構成情報34は、ソフトウェアとしての商品毎に、商品と、当該商品を構成する1又は複数のモジュールと、当該商品に対応している画像形成装置10の機種(当該商品のインストールが可能な画像形成装置10の機種)と、の対応付けを示す情報であってもよい。この場合、商品特定部52は、画像形成装置10毎に、画像形成装置10から取得されたデバイス情報24及びモジュール情報26と、商品構成情報34と、に基づいて、画像形成装置10にインストールされている商品を特定してもよい。具体的には、商品特定部52は、商品構成情報34において、画像形成装置10から取得されたデバイス情報24が示す機種とモジュール情報26が示すモジュールとに対応する商品を、当該画像形成装置10にインストールされている商品として特定する。
また、画像形成装置10に複数のモジュールがインストールされている場合、つまり、当該画像形成装置10から取得されたモジュール情報26が複数のモジュールを示す場合、商品特定部52は、当該複数のモジュールの依存関係に応じて、商品の特定を制御する。この依存関係に基づく特定制御については、後で詳しく説明する。
表示制御部54は、商品特定部52によって特定された商品の表示を制御する。表示制御部54は、例えば、商品特定部52によって特定された商品をUI部44に表示させる。もちろん、表示制御部54は、ソフトウェア管理装置14以外の装置において、商品を表示装置に表示させてもよい。例えば、商品特定部52によって特定された商品を示す情報が、端末装置(例えば、PC(パーソナルコンピュータ)、タブレットPC、スマートフォン、携帯電話等)に送信され、表示制御部54は、その端末装置の表示装置に商品を表示させてもよい。もちろん、ソフトウェア管理装置14自体が、端末装置によって構成されていてもよい。
また、同一の画像形成装置10について商品特定部52によって複数の商品が特定された場合、表示制御部54は、当該複数の商品の間におけるモジュールの依存関係に基づいて、当該複数の商品の表示を制御する。この依存関係に基づく表示制御については、後で詳しく説明する。
以下、第1実施形態に係るソフトウェア管理システムについて具体例を挙げて詳しく説明する。
図5を参照して、第1実施形態に係る商品構成情報34について詳しく説明する。図5には、商品構成情報34の一例としての商品構成テーブルが示されている。
商品構成テーブルにおいては、例えば、ソフトウェアとしての商品を識別するための商品識別情報(例えば商品ID)と、当該商品のバージョンを示す商品属性情報と、当該商品の名称を示す情報と、当該商品のリリース日を示す情報と、当該商品に対応している画像形成装置10の機種(当該商品のインストールが可能な画像形成装置10の機種)を示す情報と、当該商品を構成する1又は複数のモジュールを示す情報と、が互いに対応付けられている。モジュールを示す情報は、例えば、モジュールIDと、モジュールのバージョンを示すモジュール属性情報と、モジュールに対応している画像形成装置10の機種(当該モジュールのインストールが可能な画像形成装置10の機種)を示す情報と、を含む。
例えば、商品A(バージョン1.0)は、モジュールA(バージョン1.0)又はモジュールAA(バージョン1.0)によって構成される商品である。商品A(バージョン1.1)は、商品A(バージョン1.0)と同じ商品であるが、商品A(バージョン1.0)とは異なるモジュールA(バージョン1.1)によって構成される商品である。また、商品Dは、複数のモジュール(モジュールC(バージョン1.0)とモジュールD(バージョン1.0))によって構成される商品である。
また、モジュールX(バージョン1.1)は、複数の商品によって共用されるモジュール、つまり、複数の商品に含まれるモジュールである。商品構成テーブルを参照することにより、共用のモジュールが特定される。
商品特定部52は、商品構成テーブルを参照することにより、画像形成装置10にインストールされている商品を特定する。商品特定部52は、商品構成テーブルにおいて、画像形成装置10から取得されたモジュール情報26が示すモジュールIDとバージョンとに対応する商品(例えば商品IDとバージョン)を、当該画像形成装置10にインストールされている商品として特定する。また、商品特定部52は、商品構成テーブルにおいて、画像形成装置10から取得されたデバイス情報24が示す機種IDと、モジュール情報26が示すモジュールID及びバージョンと、に対応する商品を、当該画像形成装置10にインストールされている商品として特定してもよい。
以下、複数の商品の間におけるモジュールの依存関係について詳しく説明する。依存関係として、例えば、独立ケース、包含ケースα、共用部品使用ケースβ、及び、完全一致ケースγが発生し得る。
図6を参照して、独立ケースに相当する商品関係について説明する。例えば、商品A(バージョン1.0)はモジュールA(バージョン1.0)によって構成されており、商品B(バージョン1.0)はモジュールB(バージョン1.0)によって構成されている。つまり、商品A,Bにおいて、モジュールA,Bは互いに独立している。
図7を参照して、包含ケースαに相当する商品関係について説明する。例えば、商品CはモジュールCによって構成されており、商品DはモジュールC,Dによって構成されている。つまり、商品Dは、商品Cを構成する全モジュール(モジュールC)を含む商品である。この場合、商品C,Dは、互いに依存関係(包含関係)を有する商品である。例えば、複数の商品がパッケージとして提供される場合がある。商品Dはそのパッケージに該当し、商品Cはそのパッケージを構成する商品に該当する。
図8を参照して、共用部品使用ケースβに相当する商品関係について説明する。例えば、商品E(バージョン1.0)は、モジュールE(バージョン1.0)とモジュールX(バージョン1.1)によって構成されており、商品F(バージョン1.1)は、モジュールF(バージョン1.1)とモジュールX(バージョン1.1)によって構成されている。つまり、モジュールX(バージョン1.1)は、商品E,Fによって共用されるモジュールである。
図9を参照して、完全一致ケースγに相当する商品関係について説明する。例えば、商品G(バージョン1.0)はモジュールY(バージョン1.0)によって構成されており、商品H(バージョン1.0)もモジュールY(バージョン1.0)によって構成されている。つまり、商品G,Hは、同一のモジュールY(バージョン1.0)によって構成されている。同一のモジュールによって構成されるが、互いに異なる複数の商品が作成される場合がある。例えば、あるクラウドサービスに接続するためのモジュールが存在する場合において、接続先のサービスが複数あり、各サービスが異なる場合、そのモジュール自体は同一であっても、接続先のサービス毎に商品が作成され、各商品は互いに異なる商品として扱われることがある。商品G,Hも同一のモジュールによって構成されるが、例えば、適用されるサービスが互いに異なる商品である。
第1実施形態においては、複数の商品の間におけるモジュールの依存関係に応じて、例えば、商品特定部52による商品特定制御や、表示制御部54による商品表示制御が変更される。以下、図10を参照して、この制御について詳しく説明する。図10には、モジュールの依存関係に応じた制御のテーブルが示されている。このテーブルにおいては、ケース毎に、商品特定における問題点と、商品特定のための制御と、表示上の制御と、が互いに対応付けられている。
以下、独立ケースについて説明する。モジュールの依存関係が独立ケースの場合、つまり、図6に示すように、同一の画像形成装置10について複数の商品が特定され、当該複数の商品の間において各モジュールが独立している場合、各モジュールに対応する各商品が一意に特定されるため、商品の特定上の問題は発生しないと想定される。そのため、商品特定部52は、画像形成装置10から取得されたモジュール情報26(及びデバイス情報24)と、情報管理サーバ12から取得された商品構成情報34と、に基づいて、当該画像形成装置10にインストールされている商品を特定する。表示制御部54は、特定された商品をUI部44に表示させる。
以下、包含ケースαについて説明する。モジュールの依存関係が包含ケースαの場合、つまり、図7に示すように、同一の画像形成装置10について複数の商品が特定され、ある商品D(「商品大」と称する)が他の商品C(「商品小」と称する)を包含している場合、特定された商品小をUI部44に表示すると障害が発生することがある。例えば、商品が表示される画面上で、商品のインストール(登録)や、アップデート(更新)や、アンインストール(削除)等の操作がユーザによって行われる場合がある。この場合において、商品小をUI部44に表示すると、商品小に対するアップデートやアンインストールがユーザによって指示され得る状態となる。商品小がアップデートやアンインストールされると、それに伴って、商品小を構成するモジュールがアップデートやアンインストールされることになる。これにより、そのモジュールを含む商品大の構成に影響が発生したり、商品大の特定が困難になったりすることが発生し得る。例えば、商品小がアンインストールされると、その商品小を構成するモジュールが商品大からも削除されるので、ユーザの意図しないところで、商品大の使用に支障が発生する。これに対処するために、表示制御部54は、特定された商品大をUI部44に表示させるが、特定された商品小をUI部44に表示させない。図7に示す例で説明すると、表示制御部54は、商品DをUI部44に表示させるが、商品CをUI部44に表示させない。これにより、商品Cがユーザによって操作されずに済むため、その操作による商品Dへの影響が防止される。なお、商品大が第1の商品の一例に相当し、商品小が第2の商品の一例に相当する。
別の例として、表示制御部54は、特定された商品大(例えば商品D)をUI部44に表示させるとともに、特定された商品小(例えば商品C)に対するユーザの操作が無効になる状態で商品小をUI部44に表示させてもよい。操作が無効になる状態とは、商品小に対するユーザの操作が受け付けられない状態や、その操作が禁止される状態等である。例えば、商品小がユーザによって操作された場合であっても、制御部46は、その操作を受け付けずに無効とする。これにより、商品小に対するアップデートやアンインストールの指示がユーザによって与えられても、そのアップデートやアンインストールは実行されず、商品大への影響が防止される。
以下、共用部品使用ケースβについて説明する。モジュールの依存関係が共用部品使用ケースβの場合、つまり、図8に示すように、同一の画像形成装置10について複数の商品が特定され、ある商品Eと他の商品Fが、同一のモジュールを共用している場合、他の商品のインストールによって共用モジュールのバージョンが変わることがある。モジュールのバージョンも使用して商品を特定する場合、共用モジュールのバージョンが変わることにより、商品が特定されない。これに対処するために、商品特定部52は、共用モジュール(例えばモジュールX)のバージョン(モジュールの属性情報の一例としての情報)を用いずに、共用モジュールのID(及びデバイス情報24)に基づいて、画像形成装置10にインストールされている商品を特定する。別の例として、商品特定部52は、共用モジュール自体を用いずに、他のモジュールに基づいて、画像形成装置10にインストールされている商品を特定してもよい。
以下、完全一致ケースγについて説明する。モジュールの依存関係が完全一致ケースγの場合、つまり、図9に示すように、複数の商品(例えば商品G,H)が同一のモジュール(例えばモジュールY)によって構成されている場合、そのモジュールが画像形成装置10にインストールされていると、複数の商品(例えば商品G,H)が、当該画像形成装置10にインストールされている商品として特定される。この場合、商品の特定については問題が生じることは想定されない。表示制御部54は、同一のモジュールによって構成される複数の商品(例えば商品G,H)を同一グループに属する商品群としてUI部44に表示させる。これにより、同一のモジュールによって構成される複数の商品がUI部44に表示されても、それらは互いに異なるモジュールによって構成された商品ではなく、同一のモジュールによって構成された商品であることが、ユーザに示される。
以下、図11を参照して、商品表示画面について説明する。図11には、その画面の一例が示されている。例えば、ユーザがUI部44を使用してユーザIDやパスワード等のユーザ識別情報を入力することにより、ソフトウェア管理システムにログインすると、表示制御部54は、商品表示画面56をUI部44に表示させる。商品表示画面56には、符号58で示すように、ソフトウェア管理システムに含まれる機器としての画像形成装置10を識別するためのデバイス情報(例えばデバイスID)の一覧が表示される。例えば、デバイス情報取得部48は、ソフトウェア管理システムに含まれる画像形成装置10を検索し、これにより検索された各画像形成装置10からデバイス情報24を取得する。表示制御部54は、そのデバイス情報に含まれるデバイスIDの一覧を商品表示画面56に表示させる。図11に示す例では、デバイスA,B,C,Dが表示されている。ユーザがUI部44を使用して、デバイス一覧の中から特定の画像形成装置10を指定すると、表示制御部54は、符号60で示すように、ユーザによって指定された画像形成装置10にインストールされている商品の一覧、つまり、商品特定部52によって特定された商品の一覧を商品表示画面56に表示させる。図11に示す例では、デバイスCがユーザによって指定されており、そのデバイスCにインストールされている商品の一覧(例えば、商品X1〜X7)が商品表示画面56に表示されている。
例えば、デバイスCにインストールされている複数の商品の間で包含ケースαの依存関係が成立している場合、表示制御部54は、商品小を商品表示画面56に表示させない。例えば、商品X1が商品大に該当し、商品X10が商品小に該当しており、商品特定部52によって、商品X1の他、商品X10もデバイスCにインストールされている商品として特定されているものとする。この場合、商品X1,X10は、包含ケースαの依存関係を有するため、表示制御部54は、商品X10を商品表示画面56に表示させない。これにより、商品X10がユーザによってアップデートやアンインストールされることが防止され、その結果、商品X1への影響が防止される。別の例として、表示制御部54は、商品X10に対するユーザの操作が無効になる状態で商品X10を商品表示画面56に表示させてもよい。
図11に示す例では、商品X4〜X7は、同一のモジュールによって構成される商品であるため、1つのグループにまとめられて表示されている。これにより、商品X4〜X7が同一のモジュールによって構成されていることが、ユーザに示される。
以下、図12を参照して、ソフトウェア管理装置14による処理について説明する。図12には、その処理を示すフローチャートが示されている。
まず、ユーザはUI部44を使用してユーザIDやパスワード等を入力することにより、ソフトウェア管理システムにログインする。そのログインが完了すると、デバイス情報取得部48は、ソフトウェア管理システムに含まれる機器としての画像形成装置10を検索し(S01)、検索された各画像形成装置10からデバイス情報24を取得する(S02)。なお、デバイス情報取得部48は、定期的に又は任意の時点で各画像形成装置10からデバイス情報を取得してもよいし、ユーザの指示に応じてデバイス情報を取得してもよい。以下、個々の画像形成装置10毎に処理が実行される。
まず、デバイス情報取得部48は、画像形成装置10からモジュール情報26を取得する(S03)。なお、商品情報取得部50は、情報管理サーバ12から商品構成情報34を予め取得してもよいし、ユーザの指示に応じて商品構成情報34を取得してもよい。
次に、商品特定部52は、商品構成情報34としての商品構成テーブルにおいて、モジュール情報26が示すモジュールIDとモジュールのバージョンとに対応する商品を、画像形成装置10にインストールされている商品として特定する(S04)。このとき、商品特定部52は、デバイス情報24が示す画像形成装置10の機種を示す情報を更に用いて商品を特定してもよい。画像形成装置10に共用モジュールがインストールされている場合、商品特定部52は、その共用モジュールのバージョンを用いずに、モジュールID(及びデバイス情報24)に基づいて、画像形成装置10にインストールされている商品を特定する。別の例として、商品特定部52は、その共用モジュールを用いずに、他のモジュールの情報に基づいて商品を特定してもよい。
次に、表示制御部54は、商品特定部52によって特定された商品をUI部44に表示させる(S05)。例えば図11に示すように、表示制御部54は、商品表示画面56をUI部44に表示させ、ステップS01で検索された各画像形成装置10のデバイスIDをその商品表示画面56に表示させる。ユーザがその商品表示画面56上で特定の画像形成装置10のデバイスIDを指定すると、表示制御部54は、ユーザによって指定された画像形成装置10について商品特定部52によって特定された商品の一覧を商品表示画面56に表示させる。
商品特定部52によって複数の商品が特定され、当該複数の商品が包含ケースαの依存関係を有する場合、表示制御部54は、当該複数の商品の中の商品小を商品表示画面56に表示させない。別の例として、表示制御部54は、商品小に対するユーザの操作を無効にした状態で商品小を商品表示画面56に表示させてもよい。
また、商品特定部52によって複数の商品が特定され、当該複数の商品が完全一致ケースγの依存関係を有する場合、表示制御部54は、当該複数の商品を同一のグループに属する商品群として商品表示画面56に表示させる。
以上のように、第1実施形態によると、画像形成装置10から取得されたモジュール情報26によって、当該画像形成装置10にインストールされている商品が特定される。これにより、当該画像形成装置10にインストールされている商品が管理されていない場合であっても、その商品が特定される。例えば、ソフトウェア管理装置14からリモート操作によって、画像形成装置10にインストールされている商品が特定される。
また、複数の商品の間におけるモジュールの依存関係に応じて、商品の特定制御や表示制御を変えることにより、その依存関係を有する複数の商品が特定される場合に発生すると想定される問題の発生が防止される。
上記のように、依存関係に応じて商品表示を制御することにより、例えば、画像形成装置10に対する商品のインストール、商品のアップデート、画像形成装置10からの商品のアンインストール、等の操作をユーザが行うときに、ユーザに有用な情報が提供され、これにより、商品が適切に管理される。
(変形例)
以下、第1実施形態に係る変形例について説明する。
図13には、変形例に係る情報管理サーバ12Aの構成が示されている。情報管理サーバ12Aは、上述した第1実施形態に係る情報管理サーバ12の記憶部32の替わりに、記憶部32Aを含む。記憶部32A以外の構成は、第1実施形態に係る情報管理サーバ12の構成と同じである。記憶部32Aには、記憶部32に記憶されている情報に加えて、ユーザ契約情報62が記憶されている。
ユーザ契約情報62は、ユーザが契約した商品、つまり、当該ユーザによる使用が許可された商品(当該ユーザが利用可能な商品)を示す情報である。ユーザ契約情報62には、契約を行ったユーザを識別するためのユーザ識別情報(例えばユーザID)が対応付けられている。
図14には、変形例に係るソフトウェア管理装置14Aの構成が示されている。ソフトウェア管理装置14Aは、上述した第1実施形態に係るソフトウェア管理装置14の制御部46の替わりに、制御部46Aを含む。制御部46A以外の構成は、第1実施形態に係るソフトウェア管理装置14Aの構成と同じである。制御部46Aは、制御部46の構成に加えて、契約情報取得部64を含む。
契約情報取得部64は、情報管理サーバ12Aからユーザ契約情報62を取得する機能を備えている。例えば、ユーザがUI部44を使用してユーザIDやパスワード等のユーザ識別情報を入力することにより、ソフトウェア管理システムにログインする。契約情報取得部64は、ソフトウェア管理システムにログインしたユーザのユーザ契約情報62を、情報管理サーバ12Aから取得する。
変形例においては、表示制御部54は、契約情報取得部64によって取得されたユーザ契約情報62が示すユーザの契約状態に応じて、商品特定部52によって特定された商品の表示を制御する。表示制御部54は、例えば、商品特定部52によって特定された商品群の中で、ユーザが契約している商品をUI部44に表示させ、ユーザが契約していない商品はUI部44に表示させない。上述したように、完全一致ケースγにおいては、画像形成装置10にインストールされている同一のモジュールによって構成される複数の商品が特定されてUI部44に表示される。当該複数の商品の中には、ユーザが契約した商品の他、ユーザが契約していない商品が含まれる場合がある。つまり、商品特定部52は、画像形成装置10にインストールされているモジュールによって構成される商品を特定するように構成されているため、完全一致ケースγの場合には、ユーザが契約していない商品も特定される場合がある。例えば、商品A,B,Cが同一のモジュールによって構成されている場合において、ユーザが商品Aの使用について契約を行い、つまり、商品Aの使用許諾を受け、商品A(商品Aを構成するモジュール)が画像形成装置10にインストールされているものとする。この場合、商品特定部52は、そのモジュールを示すモジュール情報26を画像形成装置10から取得し、そのモジュールによって構成される商品として、商品A,B,Cを特定することになる。商品B,Cは、ユーザが契約していなくても、画像形成装置10にインストールされている商品として特定される。商品B,Cは、ユーザが契約した商品ではないため、ユーザは商品B,Cの使用が許可されてない。そのような商品B,Cが表示されると、ユーザが混乱する場合があるため、これに対処するために、表示制御部54は、ユーザが契約していない商品B,CをUI部44に表示させない。これにより、上記の問題が解消される。
[第2実施形態]
以下、本発明の第2実施形態に係る情報処理システムとしてのソフトウェア管理システムについて説明する。図15には、第2実施形態に係る情報管理サーバ12Bの一例が示されており、図16には、第2実施形態に係るソフトウェア管理装置14Bの一例が示されている。第2実施形態に係るソフトウェア管理システムは、第1実施形態と同様に画像形成装置10を含み、第1実施形態に係る情報管理サーバ12の替わりに情報管理サーバ12Bを含み、第1実施形態に係るソフトウェア管理装置14の替わりにソフトウェア管理装置14Bを含む。以下、各装置について詳しく説明する。
図15を参照して、情報管理サーバ12Bについて説明する。情報管理サーバ12Bは、上述した第1実施形態に係る情報管理サーバ12の記憶部32の替わりに、記憶部32Bを含む。記憶部32B以外の構成は、第1実施形態に係る情報管理サーバ12の構成と同じである。記憶部32Bには、記憶部32に記憶されている情報に加えて、ユーザ情報66が記憶されている。記憶部32Bには、記憶部32に記憶されている情報に加えて、ユーザ情報66が記憶されている。
ユーザ情報66は、ユーザによる使用が許可された商品(当該ユーザが利用可能な商品)を示す情報である。ユーザが利用可能な商品とは、ユーザが購入した商品(例えばユーザが契約した商品)や、ユーザが無償で使用できる商品(例えば無償で使用許諾が与えられた商品)、等である。なお、ユーザ情報66の替わりに、第1実施形態の変形例に係るユーザ契約情報62が用いられてもよい。
図16を参照して、ソフトウェア管理装置14Bについて詳しく説明する。ソフトウェア管理装置14Bは、上述した第1実施形態に係るソフトウェア管理装置14の制御部46の替わりに、制御部46Bを含む。制御部46B以外の構成は、第1実施形態に係るソフトウェア管理装置14の構成と同じである。
デバイス検索部68は、ソフトウェア管理システムに含まれる機器としての画像形成装置10を検索する機能を備えている。
デバイス情報取得部70は、ソフトウェア管理システムに含まれる各画像形成装置10(例えばデバイス検索部68によって検索された各画像形成装置10)からデバイス情報24とモジュール情報26を取得する。
デバイス管理部72は、デバイス情報取得部70によって取得されたデバイス情報24とモジュール情報26を格納し、ソフトウェア管理システムに含まれる各画像形成装置10を管理する機能を備えている。例えば、デバイス管理部72は、各画像形成装置10にインストールされている商品を管理する。上述した第1実施形態に係る商品特定部52と同様に、デバイス管理部72は、画像形成装置10毎に、画像形成装置10から取得されたモジュール情報26(及びデバイス情報)と、情報管理サーバ12Bから取得された商品構成情報34と、に基づいて、画像形成装置10にインストールされている商品を特定してもよい。デバイス管理部72は、別の手法によって、画像形成装置10にインストールされている商品を特定してもよい。例えば、画像形成装置10の記憶部22に、当該画像形成装置10にインストールされている商品を示す情報が記憶されていてもよい。この場合、デバイス情報取得部70は、その商品を示す情報を画像形成装置10から取得し、デバイス管理部72は、その情報に基づいて、画像形成装置10にインストールされている商品を特定する。更に別の例として、サーバ等の外部装置において、各画像形成装置10にインストールされている商品を示す情報が記憶されていてもよい。この場合、デバイス情報取得部70は、その商品を示す情報を外部装置から取得し、デバイス管理部72は、その情報に基づいて、画像形成装置10にインストールされている商品を特定する。
商品情報取得部74は、情報管理サーバ12Bから商品構成情報34と商品詳細情報36を取得する機能を備えている。なお、商品情報取得部74によって取得された商品構成情報34と商品詳細情報36は、記憶部42に記憶されてもよい。
ユーザ情報取得部76は、情報管理サーバ12Bからユーザ情報66を取得する機能を備えている。例えば、ユーザがUI部44を使用してユーザIDやパスワード等のユーザ識別情報を入力することにより、ソフトウェア管理システムにログインする。ユーザ情報取得部76は、ソフトウェア管理システムにログインしたユーザのユーザ情報66を、情報管理サーバ12Bから取得する。
商品管理部78は、情報管理サーバ12Bから取得された商品構成情報34、商品詳細情報36及びユーザ情報66を保持し、商品を管理する機能を備えている。
表示制御部80は、画像形成装置10にインストールされている商品(以下、「インストール済み商品」と称する)と、ユーザが利用可能な商品(以下、「利用可能商品」と称する)と、の表示を制御する。表示制御部54は、例えば、インストール済み商品と利用可能商品をUI部44に表示させる。もちろん、表示制御部80は、ソフトウェア管理装置14B以外の装置において、商品を表示装置に表示させてもよい。例えば、インストール済み商品を示す情報と利用可能商品を示す情報が、端末装置(例えば、PC、タブレットPC、スマートフォン、携帯電話等)に送信され、表示制御部80は、その端末装置の表示装置に商品を表示させてもよい。もちろん、ソフトウェア管理装置14B自体が、端末装置によって構成されていてもよい。
また、表示制御部80は、複数の商品の間(例えば、複数の利用可能商品の間、インストール済み商品と利用可能商品との間、複数のインストール済み商品の間)におけるモジュールの依存関係に基づいて、商品の表示を制御する。この依存関係に基づく表示制御については、後で詳しく説明する。
商品操作制御部82は、商品に対するユーザの操作を制御する機能を備えている。商品に対する操作は、画像形成装置10への商品のインストール(登録)、商品のアップデート(更新)、画像形成装置10からの商品のアンインストール(削除)、等である。商品操作制御部82は、複数の商品の間(例えば、複数の利用可能商品の間、インストール済み商品と利用可能商品との間、複数のインストール済み商品の間)におけるモジュールの依存関係に基づいて、画像形成装置10への商品に関するユーザの操作を制御する。この依存関係に基づく操作制御については、後で詳しく説明する。
以下、第2実施形態に係るソフトウェア管理システムについて具体例を挙げて詳しく説明する。
図17を参照して、第2実施形態に係る商品構成情報34について詳しく説明する。図17には、商品構成情報34の一例としての商品構成テーブルが示されている。
商品構成テーブルにおいては、例えば、ソフトウェアとしての商品を識別するための商品識別情報(例えば商品ID)と、当該商品のバージョンを示す商品属性情報と、当該商品の名称を示す情報と、当該商品のリリース日を示す情報と、当該商品に対応している画像形成装置10の機種(当該商品のインストールが可能な画像形成装置10の機種)を示す情報と、当該商品を構成する1又は複数のモジュールを示す情報と、が互いに対応付けられている。モジュールを示す情報は、例えば、モジュールIDと、モジュールのバージョンを示すモジュール属性情報と、モジュールに対応している画像形成装置10の機種(当該モジュールのインストールが可能な画像形成装置10の機種)を示す情報と、を含む。
例えば、商品A(バージョン1.0)は、モジュールA(バージョン1.0)によって構成される商品である。商品D(バージョン1.0)は、複数のモジュール(モジュールC(バージョン1.0)とモジュールD(バージョン1.0))によって構成される商品である。また、モジュールX(バージョン1.0)は、複数の商品によって共用されるモジュール、つまり、複数の商品に含まれるモジュールである。商品構成テーブルを参照することにより、共用のモジュールが特定される。
商品構成テーブルを参照することにより、各商品の間におけるモジュールの依存関係が特定される。表示制御部80は、商品構成テーブルを参照することにより、複数の商品の間(例えば、複数の利用可能商品の間、インストール済み商品と利用可能商品との間、複数のインストール済み商品の間)におけるモジュールの依存関係を特定し、その依存関係に基づいて、商品の表示を制御する。また、商品操作制御部82は、商品構成テーブルを参照することにより、複数の商品の間(例えば、複数の利用可能商品の間、インストール済み商品と利用可能商品との間、複数のインストール済み商品の間)におけるモジュールの依存関係を特定し、その依存関係に基づいて、商品に対するユーザの操作を制御する。
なお、デバイス管理部72は、第1実施形態に係る商品特定部52と同様に、商品構成テーブルを参照することにより、画像形成装置10にインストールされている商品を特定してもよい。例えば、画像形成装置10にインストールされている商品を示す情報が、当該画像形成装置10やサーバ等から取得されない場合、デバイス管理部72は、画像形成装置10から取得されたモジュール情報26(及びデバイス情報24)と商品構成テーブルとに基づいて、当該画像形成装置10にインストールされている商品を特定する。もちろん、別の手法によって、画像形成装置10にインストールされている商品が特定されてもよい。
第2実施形態においても、第1実施形態と同様に、複数の商品の間におけるモジュールの依存関係として、例えば、図6に示されている独立ケース、図7に示されている包含ケースα、図8に示されている共用部品使用ケースβ、及び、図9に示されている完全一致ケースγが発生し得る。これらのケースについては、第1実施形態に係るケースと同じであるため、ここでは説明を省略する。
第2実施形態においては、複数の商品の間におけるモジュールの依存関係に応じて、例えば、表示制御部80による商品表示制御や、商品操作制御部82による商品操作制御が変更される。以下、図18を参照して、この制御について詳しく説明する。図18には、モジュールの依存関係に応じた制御のテーブルが示されている。このテーブルにおいては、ケース毎に、商品管理における問題点と、インストールのための制御と、アップデートのための制御と、アンインストールのための制御と、が互いに対応付けられている。
図18に示されているテーブルには示されていないが、独立ケースについて説明する。モジュールの依存関係が独立ケースの場合、つまり、図6に示すように、複数の商品の間(例えば、複数の利用可能商品の間、インストール済み商品と利用可能商品との間、複数のインストール済み商品の間)において各モジュールが独立している場合、商品管理上の問題は発生しないと想定される。独立ケースにおいては、表示制御部80は、商品の表示を制限せずに、インストール済み商品と利用可能商品をUI部44に表示させる。また、商品操作制御部82は、インストール済み商品と利用可能商品への操作を無効とせずに有効として処理する。つまり、ユーザがインストール済み商品のアップデートやアンインストールの指示を与えると、商品操作制御部82は、ユーザの指示に従って、当該インストール済み商品のアップデートやアンインストールを行う。また、ユーザが利用可能商品のインストールを指示した場合、商品操作制御部82は、ユーザの指示に従って、当該利用可能商品を、ユーザによって指定された画像形成装置10にインストールする。
以下、包含ケースαについて説明する。モジュールの依存関係が包含ケースαの場合、つまり、図7に示すように、ある商品D(「商品大」と称する)が他の商品C(「商品小」と称する)を包含している場合、商品管理上の問題が発生することがある。例えば、商品が表示される画面上において、商品のインストール(登録)や、アップデート(更新)や、アンインストール(削除)等の操作がユーザによって行われる場合がある。この場合において、例えば、商品大が画像形成装置10にインストールされている場合(つまり、商品大がインストール済み商品の場合)、商品小を当該画像形成装置10にインストールしても、機能的には変化がないため、ユーザにおいて混乱が生じると予測される。また、商品大と商品小が同一の画像形成装置10にインストールされている場合(つまり、商品大と商品小がインストール済み商品の場合)、商品小がアップデートやアンインストールされると、それに伴って、商品小を構成するモジュールがアップデートやアンインストールされることになる。これにより、そのモジュールを含む商品大の構成に影響が発生し得る。例えば、商品小がアンインストールされると、その商品小を構成するモジュールが商品大からも削除されるので、ユーザの意図しないところで、商品大の使用に支障が発生する。
包含ケースαの問題に対処するために、インストールのための制御として、以下の制御が行われる。例えば、商品大が画像形成装置10にインストールされており(商品大がインストール済み商品であり)、商品小が利用可能商品であって当該画像形成装置10にインストールされていない場合、商品操作制御部82は、インストールのための制御として、当該画像形成装置10への商品小のインストールの操作を無効として処理する。つまり、商品操作制御部82は、商品小へのインストールの操作を受け付けない、又は、その操作を受け付けても、その操作に応じた処理を実行しない。これにより、商品大がインストールされている画像形成装置10への商品小のインストールが防止され、上記の問題が解消される。例えば、表示制御部80は、商品小を利用可能商品としてUI部44に表示させる。ユーザが、商品大がインストールされている画像形成装置10への商品小のインストールを指示した場合、商品操作制御部82は、ユーザによるインストールの指示を受け付けない。これにより、商品大がインストールされている画像形成装置10への商品小のインストールは実行されない。別の例として、ユーザが、商品大がインストールされている画像形成装置10への商品小のインストールを指示した場合、商品操作制御部82は、ユーザによるインストールの指示を受け付けたとしても、その指示を無効として処理してもよい。この場合も、商品大がインストールされている画像形成装置10への商品小のインストールは実行されない。なお、商品小が利用可能商品であっても、表示制御部80は、商品小を利用可能商品としてUI部44に表示させなくてもよい。
ユーザが、商品大がインストールされていない画像形成装置10への商品小のインストールを指示した場合、商品操作制御部82は、ユーザによるインストールの指示に従って、商品大がインストールされていない当該画像形成装置10に商品小をインストールする。
また、アップデートのための制御として、以下の制御が行われる。例えば、商品大と商品小が同一の画像形成装置10にインストールされている場合(商品大と商品小がインストール済み商品の場合)、商品操作制御部82は、アップデートのための制御として、商品小のアップデートの操作を無効として処理する。例えば、表示制御部80は、商品小及び商品大を、当該商品小及び当該商品大がインストールされている画像形成装置10についてのインストール済み商品として、UI部44に表示させる。ユーザが、商品大がインストールされている画像形成装置10を対象として、商品小のアップデートを指示した場合、商品操作制御部82は、ユーザによるアップデートの指示を受け付けない。これにより、商品大がインストールされている画像形成装置10において、商品小のアップデートは実行されない。別の例として、ユーザが、商品大がインストールされている画像形成装置10を対象として、商品小のアップデートを指示した場合、商品操作制御部82は、ユーザによるアップデートの指示を受け付けたとしても、その指示を無効として処理してもよい。この場合も、商品大がインストールされている画像形成装置10において、商品小のアップデートは実行されない。別の例として、商品大と商品小が同一の画像形成装置10にインストールされている場合、表示制御部80は、当該商品小を当該画像形成装置10についてのインストール済み商品としてUI部44に表示させなくてもよい。以上の制御を行うことにより、商品小のアップデートに伴う商品大への影響が防止される。
ユーザが、商品大がインストールされていない画像形成装置10を対象として、商品小のアップデートを指示した場合、商品操作制御部82は、ユーザによるアップデートの指示に従って、商品大がインストールされていない当該画像形成装置10において商品小のアップデートを実行する。
また、アンインストールのための制御として、以下の制御が行われる。例えば、商品大と商品小が同一の画像形成装置10にインストールされている場合(商品大と商品小がインストール済み商品の場合)、表示制御部80は、アンインストールのための制御として、当該商品小を当該画像形成装置10についてのインストール済み商品としてUI部44に表示させない。別の例として、商品操作制御部82は、アンインストールのための制御として、商品大がインストールされている画像形成装置10における商品小のアンインストールの操作を無効として処理してもよい。例えば、表示制御部80は、商品小及び商品大を、当該商品小及び当該商品大がインストールされている画像形成装置10についてのインストール済み商品として、UI部44に表示させる。ユーザが、商品大がインストールされている画像形成装置10を対象として、商品小のアンインストールを指示した場合、商品操作制御部82は、ユーザによるアンインストールの指示を受け付けない。これにより、商品大がインストールされている画像形成装置10において、商品小のアンインストールは実行されない。別の例として、ユーザが、商品大がインストールされている画像形成装置10を対象として、商品小のアンインストールを指示した場合、商品操作制御部82は、ユーザによるアンインストールの指示を受け付けたとしても、その指示を無効として処理してもよい。この場合も、商品大がインストールされている画像形成装置10において、商品小のアンインストールは実行されない。以上の制御を行うことにより、商品小のアンインストールに伴う商品大への影響が防止される。
ユーザが、商品大がインストールされていない画像形成装置10を対象として、商品小のアンインストールを指示した場合、商品操作制御部82は、ユーザによるアンインストールの指示に従って、商品大がインストールされていない当該画像形成装置10において商品小のアンインストールを実行する。
以下、共用部品使用ケースβについて説明する。モジュールの依存関係が共用部品使用ケースβの場合、つまり、図8に示すように、例えば、ある商品Eと他の商品Fが同一のモジュールを共用している場合、商品管理上の問題が発生することがある。例えば、商品E,Fが同一の画像形成装置10にインストールされている場合において、一方の商品(例えば商品E)がアンインストールされると、それに伴って、当該一方の商品を構成するモジュールがアンインストールされることになる。これにより、そのモジュールを含む他方の商品(例えば商品F)の構成に影響が発生し、ユーザの意図しないところで、他方の商品の使用に支障が発生する。
モジュールの依存関係が共用部品使用ケースβの場合、商品のインストール及びアップデートによって問題は発生しない。そのため、ユーザが、商品のインストールやアップデートを指示した場合、商品操作制御部82は、商品に対する操作を制限せずに、その指示に従って、商品のインストールやアップデートを実行する。また、表示制御部80は、商品の表示を制限せずに、インストール済み商品や利用可能商品をUI部44に表示させる。画像形成装置10から商品をアンインストールする場合、商品操作制御部82は、当該商品を構成する共用モジュール(他の商品にも使用されるモジュール)を当該画像形成装置10から削除しない。商品操作制御部82は、商品のアンインストールの指示を受けると、商品構成テーブルを参照することにより、当該商品を構成するモジュールを特定する。当該商品に共用モジュールが含まれている場合、商品操作制御部82は、当該共用モジュールを、当該商品がインストールされている画像形成装置10から削除しない。これにより、商品のアンインストールに伴う他の商品への影響が防止される。
以下、完全一致ケースγについて説明する。モジュールの依存関係が完全一致ケースγの場合、つまり、図9に示すように、複数の商品(例えば商品G,H)が同一モジュール(例えばモジュールY)によって構成されている場合、そのモジュールが画像形成装置10にインストールされると、複数の商品(例えば商品G,H)が、当該画像形成装置10にインストールされている商品として認識される場合がある。例えば、第1実施形態と同様に、画像形成装置10にインストールされているモジュールによって、当該画像形成装置10にインストールされている商品を特定する場合、複数の商品が特定されることがある。上記の例で説明すると、画像形成装置10にモジュールYがインストールされている場合、そのモジュールYに基づいて、当該画像形成装置10にインストールされている商品を特定した場合、商品G,Hが当該画像形成装置10にインストールされている商品として特定されることになる。そのため、1つの商品が画像形成装置10にインストールされると、当該商品と完全一致ケースγの依存関係を有する他の商品も、当該画像形成装置10にインストールされているものとして扱われる。これにより、ユーザが違和感を覚える場合がある。
完全一致ケースγの問題に対処するために、インストールのための制御として、以下の制御が行われる。利用可能商品のインストールの操作がユーザによって行われている場合において、当該利用可能商品と完全一致ケースγの依存関係を有する他の利用可能商品が存在する場合、表示制御部80は、互いに完全一致ケースγの依存関係を有する複数の利用可能商品が、画像形成装置10にインストールされることがユーザに分かるように、商品の表示を制御する。例えば、表示制御部80は、当該複数の商品がインストールされることを示す情報(例えばメッセージや画像)をUI部44に表示させてもよいし、当該複数の商品を示す画像(例えばアイコン)をユーザの操作に従って同時に移動させてUI部44に表示させてもよい。このような表示制御を行うことにより、インストール操作時における完全一致ケースγについての問題が解消される。
また、アップデートのための制御として、以下の制御が行われる。ユーザによって指示された画像形成装置10を対象として、インストール済み商品のアップデートの操作が行われている場合において、当該インストール済み商品と完全一致ケースγの依存関係を有する他のインストール済み商品が、当該画像形成装置10にインストールされている場合、表示制御部80は、互いに完全一致ケースγの依存関係を有する複数のインストール済み商品がアップデートされることがユーザに分かるように、商品の表示を制御する。例えば、表示制御部80は、当該複数の商品がアップデートされることを示す情報(例えばメッセージや画像)をUI部44に表示させてもよいし、当該複数の商品を同一グループに属する商品群としてUI部44に表示させてもよい。このような表示制御を行うことにより、アップデート操作時における完全一致ケースγについての問題が解消される。
また、アンインストールのための制御として、以下の制御が行われる。ユーザによって指示された画像形成装置10を対象として、インストール済み商品のアンインストールの操作が行われている場合において、当該インストール済み商品と完全一致ケースγの依存関係を有する他のインストール済み商品が、当該画像形成装置10にインストールされている場合、表示制御部80は、互いに完全一致ケースγの依存関係を有する複数のインストール済み商品がアンインストールされることがユーザに分かるように、商品の表示を制御する。例えば、表示制御部80は、当該複数の商品がアンインストールされることを示す情報(例えばメッセージや画像)をUI部44に表示させてもよいし、当該複数の商品を同一グループに属する商品群としてUI部44に表示させてもよい。このような表示制御を行うことにより、アンインストール時における完全一致ケースγについての問題が解消される。
以下、図19を参照して、商品表示画面について説明する。図19には、その画面の一例が示されている。例えば、ユーザがUI部44を使用してユーザIDやパスワード等のユーザ識別情報を入力することにより、ソフトウェア管理システムにログインすると、表示制御部80は、商品表示画面84をUI部44に表示させる。商品表示画面84には、符号86で示すように、ソフトウェア管理システムに含まれる機器としての画像形成装置10を識別するためのデバイス情報(例えばデバイスID)の一覧が表示される。デバイス検索部68は、ソフトウェア管理システムに含まれる画像形成装置10を検索し、デバイス情報取得部70は、これにより検索された各画像形成装置10からデバイス情報24を取得する。表示制御部80は、そのデバイス情報24に含まれるデバイスIDの一覧を商品表示画面84に表示させる。図19に示す例では、デバイスA,B,C,Dが表示されている。
ユーザがUI部44を使用して、デバイス一覧の中から特定のデバイスを指定すると、表示制御部80は、符号88で示すように、ユーザによって指定された画像形成装置10にインストールされている商品(インストール済み商品)の一覧を、商品表示画面84に表示させる。図19に示す例では、デバイスCがユーザによって指定されており、そのデバイスCにインストールされている商品の一覧(例えば、商品X1〜X7)が商品表示画面84に表示されている。なお、第1実施形態と同様に、商品X4〜X7は、同一のモジュールによって構成される商品であるため、1つのグループにまとめられて表示されている。
また、商品表示画面84には、符号90で示すように、ログインユーザが使用可能な商品(使用可能商品)の一覧が表示される。ユーザがソフトウェア管理システムにログインすると、ユーザ情報取得部76は、当該ユーザについてのユーザ情報66を情報管理サーバ12Bから取得する。表示制御部80は、そのユーザ情報66に含まれる商品ID(使用可能商品のID)の一覧を商品表示画面84に表示させる。図19に示す例では、ログインユーザが使用可能な商品として、商品Y1〜Y4が商品表示画面84に表示されている。
商品表示画面84上において、商品のインストール、アップデート、アンインストール等の操作が行われる。例えば、ユーザがUI部44を使用して、使用可能商品の一覧の中からインストール対象の商品(例えば商品Y1)を選択し、その商品Y1を表わす画像(例えばアイコン)を、符号92で示すように、デバイスCのインストール済み商品の表示欄(符号88で示す欄)にドラッグ&ドロップすると、商品操作制御部82は、商品Y1をデバイスCにインストールする。商品Y1の画像が、デバイスCを表わす画像(例えばアイコン)にドラッグ&ドロップされた場合に、商品操作制御部82は、商品Y1をデバイスCにインストールしてもよい。
また、ユーザがUI部44を使用して、インストール済み商品の一覧の中からアップデート対象の商品(例えば商品X1)を選択し、アップデートの指示を与えると、商品操作制御部82は、デバイスCにおいて商品X1をアップデートする。
また、ユーザがUI部44を使用して、インストール済み商品の中からアンインストール対象の商品(例えば商品X2)を選択し、アンインストールの指示を与えると、商品操作制御部82は、デバイスCから商品X2をアンインストールする。
複数の商品の間(例えば、複数の利用可能商品の間、インストール済み商品と利用可能商品との間、複数のインストール済み商品の間)において、包含ケースα、共用部品使用ケースβ又は完全一致ケースγのいずれかの依存関係が存在する場合、商品表示画面84上において、その依存関係に応じた商品表示制御や商品操作制御が行われる。以下、図20を参照して、この制御について詳しく説明する。図20には、各タイミングにおける制御のテーブルの一例が示されている。
まず、(1)商品の表示時における制御について説明する。表示制御部80は、ログインしたユーザが利用可能な商品(利用可能商品)の一覧と、商品表示画面84上においてユーザによって指定された画像形成装置10(例えばデバイスC)にインストールされている商品(インストール済み商品)の一覧と、を商品表示画面84に表示させる。図21には、その商品表示画面84の一例が示されている。
デバイスCにインストールされている複数の商品(複数のインストール済み商品)の間において、包含ケースαの依存関係が存在する場合、表示制御部80は、商品小に該当する商品を商品表示画面84に表示させない。例えば、表示制御部80は、インストール済み商品の一覧に、商品小に該当するインストール済み商品を含めないで、インストール済み商品の一覧を商品表示画面84に表示させる。表示制御部80は、ユーザの利用可能商品の一覧に、商品小に該当する利用可能商品を含めないで、利用可能商品の一覧を商品表示画面84に表示させてもよい。例えば、図21に示す例において、商品X1と商品X8(図示されていない)が包含ケースαの依存関係を有しており、商品X1が商品大であり、商品X8が商品小であるとする。また、商品X1と商品X8は、デバイスCにインストールされているものとする。この場合、表示制御部80は、商品X8(商品小)をインストール済み商品の一覧に表示させない。また、商品X8(商品小)が利用可能商品に該当する場合であっても、表示制御部80は、商品X8(商品小)を利用可能商品の一覧に表示させなくてもよい。これより、商品小に対する操作に伴う商品大への影響が防止される。
別の例として、表示制御部80は、商品小をインストール済み商品の一覧に表示させ、商品操作制御部82は、その商品小に対するアップデートやアンインストールの操作を無効として処理してもよい。例えば、ユーザが、インストール済み商品の一覧の中から操作対象の商品(インストール済み商品)を指定すると、図21に示すように、アップデート又はアンインストールを指示するためのボタン画像94が表示される。ユーザがボタン画像94によってアップデート又はアンインストールを指示すると、商品操作制御部82は、その指示に従った処理を行う。この場合において、商品操作制御部82は、商品小に対するアップデートやアンインストールの操作を無効として処理する。例えば、ユーザがボタン画像94によってアップデートやアンインストールを指示した場合、商品操作制御部82は、その指示を無効として処理する(例えば、その指示を受け付けない)。これにより、商品小に対する操作に伴う商品大への影響が防止される。
また、商品小が利用可能商品に該当する場合、表示制御部80は、当該商品小を利用可能商品の一覧に表示させ、商品操作制御部82は、その商品小に対するアップデートの操作を無効として処理してもよい。例えば、ユーザが、利用可能商品の一覧の中から操作対象の商品(利用可能商品)を指定すると、図21に示すように、インストール又はアップデートを指示するためのボタン画像96が表示される。ユーザがボタン画像96によってインストール又はアップデートを指示すると、商品操作制御部82は、その指示に従った処理を行う。この場合において、商品操作制御部82は、商品小に対するアップデートの操作を無効として処理する。商品操作制御部82は、商品小のインストールの操作を無効として処理してもよい。例えば、ユーザがボタン画像96によってアップデートやインストールを指示した場合、商品操作制御部82は、その指示を無効として処理する(例えば、その指示を受け付けない)。これにより、商品小に対する操作に伴う商品大への影響が防止される。
次に、(2)操作選択から実行までの制御について説明する。インストール済み商品と利用可能商品との間に、包含ケースαの依存関係が存在する場合において、インストール済み商品が商品大であり、利用可能商品が商品小である場合、商品操作制御部82は、商品大がインストールされている画像形成装置10への商品小のインストールの操作を無効として処理する。また、複数のインストール済み商品の間に、包含ケースαの依存関係が存在する場合、商品操作制御部82は、商品大がインストールされている画像形成装置10において、商品小のアップデートの操作を無効として処理する。これにより、商品小に対する操作に伴う商品大への影響が防止される。
図22には、商品のインストール時の画面の一例が示されている。例えば、商品表示画面上において、ユーザが、利用可能商品の一覧からインストール対象の商品を指定すると、表示制御部80は、インストール画面98をUI部44に表示させる。インストール画面98には、インストール先の候補となる画像形成装置10のデバイスIDの一覧が表示されている。インストール先の候補となる画像形成装置10は、例えば、デバイス検索部68によって検索された画像形成装置10である。インストール画面98上において、ユーザが、インストール先の画像形成装置10を指定すると、商品操作制御部82は、指定された画像形成装置10に対して、インストール対象の商品をインストールする。インストール済み商品とインストール対象の商品(利用可能商品)との間に、包含ケースαの依存関係が存在する場合において、インストール済み商品が商品大であり、インストール対象の商品が商品小である場合、表示制御部80は、商品大がインストールされている画像形成装置10のデバイスIDを、インストール画面98に表示させない。例えば、デバイスDがソフトウェア管理システムに含まれている場合であっても、デバイスDに商品大がインストールされている場合、デバイスDはインストール画面98に表示されない。これにより、商品小がインストールされることに伴う商品大への影響が防止される。
図23には、別の制御の一例が示されている。ユーザが、利用可能商品の一覧からインストール対象の商品を指定すると、表示制御部80は、デバイスの表示欄において、そのインストール対象の商品に対して商品大に該当する商品がインストールされている画像形成装置10のデバイスID(例えばデバイスD)を、識別可能(例えばグレーアウト)にして商品表示画面84に表示させてもよい。商品操作制御部82は、グレーアウトで表示された画像形成装置10には、インストール対象の商品のインストールの操作を無効として処理する。これにより、商品小がインストールされることに伴う商品大への影響が防止される。
次に、(3)操作実行時の制御について説明する。例えば、ユーザによって利用可能商品のインストールの操作が行われている場合において、当該利用可能商品と完全一致ケースγの依存関係を有する他の利用可能商品が存在する場合、表示制御部80は、互いに完全一致ケースγの依存関係を有する複数の利用可能商品が画像形成装置10にインストールされることがユーザにおいて分かるように表示を制御する。例えば、図21に示す例において、商品Y1,Y2,Y3が、互いに完全一致ケースγの依存関係を有する商品であり、ユーザがUI部44を使用して商品Y1を、画像形成装置10(例えばデバイスC)にインストールするものとする。例えば、ユーザがUI部44を使用して商品Y1を表わす画像(例えばアイコン)を指定し、その商品Y1を表わす画像を、デバイスCを表わす画像(例えばアイコン)やデバイスCのインストール済み商品の欄に移動(例えばドラッグ)させると、表示制御部80は、商品Y2,Y3を表わす画像(例えばアイコン)も、商品Y1を表わす画像の移動とともに、ユーザの操作に従って移動(例えばドラッグ)させる。これにより、商品Y1のインストールに伴って、商品Y1と同じ機能を有する商品Y2,Y3も、デバイスCにインストールされることがユーザに示される。
互いに完全一致ケースγの依存関係を有する複数のインストール済み商品が同一の画像形成装置10にインストールされている場合において、ユーザが、完全一致ケースγの依存関係を有する一部のインストール済み商品のアップデートの操作を行っている場合、表示制御部80は、当該複数のインストール済み商品がアップデートされることがユーザにおいて分かるように表示を制御する。例えば、表示制御部80は、当該複数のインストール済み商品を表わす画像群(例えばアイコン群)を、識別可能な状態にして商品表示画面84に表示させる。
互いに完全一致ケースγの依存関係を有する複数のインストール済み商品が同一の画像形成装置10にインストールされている場合において、ユーザが、完全一致ケースγの依存関係を有する一部のインストール済み商品のアンインストールの操作を行っている場合、表示制御部80は、当該複数のインストール済み商品がアンインストールされることがユーザにおいて分かるように表示を制御する。例えば、表示制御部80は、当該複数のインストール済み商品を表わす画像群(例えばアイコン群)を、識別可能な状態にして商品表示画面84に表示させる。
互いに共用部品使用ケースβの依存関係を有する複数のインストール済み商品が同一の画像形成装置10にインストールされている場合において、ユーザが、共用部品使用ケースβの依存関係を有する一部のインストール済み商品のアンインストールの操作を行っている場合、商品操作制御部82は、当該画像形成装置10から共用のモジュールを削除しない。これにより、共用部品使用ケースβの依存関係を有する一部のインストール済み商品がアンインストールされた場合であっても、他のインストール済み商品への影響が防止される。
以上のように、第2実施形態においては、複数の商品の間(例えば、インストール済み商品と利用可能商品との間、複数のインストール済み商品の間、複数の利用可能商品の間)におけるモジュールの依存関係に応じた制御(表示制御や商品操作制御)が行われる。これにより、その依存関係を有する複数の商品の間で発生すると想定される問題の発生が防止される。
また、商品操作制御を行うことにより、依存関係を有する複数の商品の間で発生すると想定される問題の発生が事前に防止される。例えば、ユーザによる操作が受け付けられて当該操作に対応する処理が開始する前に、複数の商品の間の依存関係を解析し、その解析結果に応じて処理を実行又は停止する場合、操作を行ってから解析が終了するまで(操作に対する応答があるまで)、ユーザは待機する必要がある。第2実施形態によると、複数の商品の間の依存関係に応じて、ユーザによる操作が事前に無効に設定されるため、その待機が不要となる。
上記の画像形成装置10、情報管理サーバ12,12A,12B及びソフトウェア管理装置14,14A,14Bのそれぞれは、一例としてハードウェアとソフトウェアとの協働により実現される。具体的には、画像形成装置10、情報管理サーバ12,12A,12B及びソフトウェア管理装置14,14A,14Bのそれぞれは、図示しないCPU等の1又は複数のプロセッサを備えている。当該1又は複数のプロセッサが、図示しない記憶装置に記憶されたプログラムを読み出して実行することにより、画像形成装置10、情報管理サーバ12,12A,12B及びソフトウェア管理装置14,14A,14Bの各部の機能が実現される。上記プログラムは、CDやDVD等の記録媒体を経由して、又は、ネットワーク等の通信経路を経由して、記憶装置に記憶される。別の例として、画像形成装置10、情報管理サーバ12,12A,12B及びソフトウェア管理装置14,14A,14Bの各部は、例えばプロセッサや電子回路等のハードウェア資源により実現されてもよい。その実現においてメモリ等のデバイスが利用されてもよい。別の例として、画像形成装置10、情報管理サーバ12,12A,12B及びソフトウェア管理装置14,14A,14Bの各部は、DSP(Digital Signal Processor)やFPGA(Field Programmable Gate Array)等によって実現されてもよい。