(57)【要約】【課題】インストールするソフトウェアの共通部分を異なる種類の画像処理装置に一括ダウンロードすることができる仲介装置を提供する。【解決手段】情報処理装置２００であって、一定時間ごとに、複数の画像処理装置１００のそれぞれから、複数の画像処理装置１００それぞれにインストールされているソフトウェアの構成要素を示す複数の構成情報を取得する構成情報取得部２０２と、取得された複数の構成情報に基づいて、構成情報が示す構成要素のうち複数の画像処理装置１００に共通する構成要素である共通構成部を求める構成解析部２０３と、複数の画像処理装置１００に対するインストール対象のソフトウェアの指定入力を受け付ける入力制御部２０１と、インストール対象のソフトウェアの配信要求をソフトウェア配信サーバ４００に送信し、ソフトウェア配信サーバ４００からインストール対象のソフトウェアの構成情報を受信する通信部２０４と、を備えた。【選択図】図２
2010218464.tif 000002
【特許請求の範囲】
【請求項１】
ソフトウェアを配信するソフトウェア配信サーバと、複数の画像処理装置と接続される情報処理装置であって、
一定時間ごとに、前記複数の画像処理装置のそれぞれから、前記複数の画像処理装置それぞれにインストールされているソフトウェアの構成要素を示す複数の構成情報を取得する取得部と、
取得された前記複数の構成情報に基づいて、前記構成情報が示す構成要素のうち前記複数の画像処理装置に共通する構成要素である共通構成部を求める構成解析部と、
前記複数の画像処理装置に対するインストール対象のソフトウェアの指定入力を受け付ける入力受付部と、
前記インストール対象のソフトウェアの配信要求を前記ソフトウェア配信サーバに送信し、前記ソフトウェア配信サーバから前記インストール対象のソフトウェアの構成情報を受信する通信部と、を備え、
前記構成解析部は、さらに、受信した構成情報と前記共通構成部とに基づいて、前記インストール対象のソフトウェアの構成要素のうち、前記画像処理装置ごとの個別の構成要素である個別構成部を求め、前記インストール対象のソフトウェアの前記共通構成部および前記個別構成部を示す圧縮構成情報を生成し、
前記通信部は、さらに、前記インストール対象のソフトウェアの前記圧縮構成情報を前記ソフトウェア配信サーバに送信して、前記ソフトウェア配信サーバから前記圧縮構成情報で示される前記共通構成部および前記個別構成部を受信し、受信した前記共通構成部と前記画像処理装置に対応する前記個別構成部とを前記複数の画像処理装置のそれぞれにインストールのために送信することを特徴とする情報処理装置。
【請求項２】
情報処理装置と接続される、ソフトウェアを配信するソフトウェア配信サーバであって、
ソフトウェアを記憶する記憶部と、
前記情報処理装置から、前記情報処理装置に接続された複数の画像処理装置に対するインストール対象のソフトウェアの配信要求を受信した場合に、前記インストール対象のソフトウェアの構成要素を示す構成情報を前記情報処理装置に送信する送信部と、
前記情報処理装置から前記インストール対象のソフトウェアの構成要素のうち、前記複数の画像処理装置に共通する構成要素である共通構成部と、前記画像処理装置ごとの個別の構成要素である個別構成部とを示す圧縮構成情報を受信する受信部と、を備え、
前記送信部は、前記圧縮構成情報で示される前記共通構成部および前記個別構成部を前記情報処理装置に送信することを特徴とするソフトウェア配信サーバ。
【請求項３】
ソフトウェアを配信するソフトウェア配信サーバと、複数の画像処理装置と接続される情報処理装置であって、
記憶部と、
前記複数の画像処理装置に対するインストール対象のソフトウェアの指定入力を受け付ける入力受付部と、
前記複数の画像処理装置それぞれにインストールされているソフトウェアの構成要素を示す構成情報を、前記複数の画像処理装置のいずれか１つから取得する取得部と、
前記インストール対象のソフトウェアの配信要求を前記ソフトウェア配信サーバに送信し、前記ソフトウェア配信サーバから前記インストール対象のソフトウェアの構成情報を受信する通信部と、
受信した構成情報と、取得された前記構成情報から、取得対象となる取得構成要素として、前記取得された構成情報が示す構成要素に対応する前記インストール対象のソフトウェアの構成要素を求め、前記取得構成要素に対応する前記インストール対象のソフトウェアの構成要素を示す取得構成情報を生成する構成解析部と、を備え、
前記通信部は、前記取得構成情報を前記ソフトウェア配信サーバに送信して、前記ソフトウェア配信サーバから前記取得構成情報で示される前記取得構成要素を受信して前記記憶部に保存し、受信した前記取得構成要素を前記画像処理装置にインストールのために送信することを特徴とする情報処理装置。
【請求項４】
前記取得部は、前記複数の画像処理装置のうち、前記構成情報がすでに取得された前記画像処理装置以外の画像処理装置のいずれか１つから、当該画像処理装置の前記構成情報を取得し、
前記構成解析部は、前記受信した構成情報と、取得された前記構成情報と、前記記憶部に保存されている前記取得構成要素を示す取得済み構成情報とに基づいて、前記インストール対象のソフトウェアの構成要素のうち前記取得構成要素を求め、
前記通信部は、前記取得構成要素を示す取得構成情報を前記ソフトウェア配信サーバに送信して、前記取得構成情報で示される前記取得構成要素を受信して前記記憶部に保存し、受信した前記取得構成要素を前記画像処理装置に送信することを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記取得構成要素は、前記インストール対象のソフトウェアのうちの、前記取得された構成情報と前記取得済み構成情報との差分で示される構成要素であること、
を特徴とする請求項４に記載の情報処理装置。
【請求項６】
情報処理装置と接続される、ソフトウェアを配信するソフトウェア配信サーバであって、
ソフトウェアを記憶する記憶部と、
前記情報処理装置から、前記情報処理装置に接続された複数の画像処理装置に対するインストール対象のソフトウェアの配信要求を受信した場合に、前記インストール対象のソフトウェアの構成要素を示す構成情報を前記情報処理装置に送信する送信部と、
前記情報処理装置から前記インストール対象のソフトウェアの構成要素のうち、前記画像処理装置にインストールされているソフトウェアの構成要素を示す構成情報を受信する受信部と、を備え、
前記送信部は、前記構成情報で示される前記構成要素を前記情報処理装置に送信することを特徴とするソフトウェア配信サーバ。
【請求項７】
前記受信部は、前記情報処理装置から前記インストール対象のソフトウェアの構成要素のうち、
受信した前記構成情報と、前記情報処理装置に送信済みの前記構成情報との差分を示す取得構成情報を受信し、
前記送信部は、前記取得構成情報で示される前記構成要素を前記情報処理装置に送信することを特徴とする請求項６に記載のソフトウェア配信サーバ。
【請求項８】
ソフトウェアを配信するソフトウェア配信サーバと、複数の画像処理装置と接続される情報処理装置であって、
前記複数の画像処理装置に対するインストール対象のソフトウェアの指定入力を受け付ける入力受付部と、
前記複数の画像処理装置それぞれにインストールされているソフトウェアの構成要素を示す構成情報を、前記複数の画像処理装置のいずれか１つから取得する取得部と、
前記インストール対象のソフトウェアの配信要求を前記ソフトウェア配信サーバに送信し、前記ソフトウェア配信サーバから前記インストール対象のソフトウェアの構成情報を受信する通信部と、
受信した構成情報と、取得された前記構成情報から、取得対象となる取得構成要素として、前記取得された構成情報が示す構成要素に対応する前記インストール対象のソフトウェアの構成要素を求め、前記取得構成要素に対応する前記インストール対象のソフトウェアの構成要素を示す取得構成情報を生成する構成解析部と、を備え、
前記通信部は、前記取得構成情報を前記ソフトウェア配信サーバに送信して、前記ソフトウェア配信サーバから前記取得構成情報で示される前記取得構成要素を受信し、受信した前記取得構成要素を前記複数の画像処理装置すべてにインストールのために送信することを特徴とする情報処理装置。
【請求項９】
前記取得部は、前記複数の画像処理装置のうち、前記構成情報がすでに取得された前記画像処理装置以外の画像処理装置のいずれか１つから、当該画像処理装置の前記構成情報を取得し、
前記構成解析部は、前記受信した構成情報と、取得された前記構成情報と、前記複数の画像処理装置に送信済みの送信済み構成情報とに基づいて、前記インストール対象のソフトウェアの構成要素のうち前記取得構成要素を求め、
前記通信部は、前記取得構成要素を示す取得構成情報を前記ソフトウェア配信サーバに送信して、前記取得構成情報で示される前記取得構成要素を受信し、受信した前記取得構成要素を前記複数の画像処理装置すべてに送信することを特徴とする請求項８に記載の情報処理装置。
【請求項１０】
前記取得構成要素は、前記インストール対象のソフトウェアのうちの、前記取得された構成情報と前記送信済み構成情報との差分で示される構成要素であること、
を特徴とする請求項９に記載の情報処理装置。
【請求項１１】
情報処理装置とソフトウェア配信サーバとで実行されるソフトウェア配信方法であって、
前記情報処理装置が、一定時間ごとに、前記複数の画像処理装置のそれぞれから、前記複数の画像処理装置それぞれにインストールされているソフトウェアの構成要素を示す複数の構成情報を取得する取得ステップと、
前記情報処理装置が、取得された前記複数の構成情報に基づいて、前記構成情報が示す構成要素のうち前記複数の画像処理装置に共通する構成要素である共通構成部を求める構成解析ステップと、
前記情報処理装置が、前記複数の画像処理装置に対するインストール対象のソフトウェアの指定入力を受け付ける入力受付ステップと、
前記情報処理装置が、前記インストール対象のソフトウェアの配信要求を前記ソフトウェア配信サーバに送信し、前記ソフトウェア配信サーバから前記インストール対象のソフトウェアの構成情報を受信する通信ステップと、を含み、
前記構成解析ステップは、さらに、受信した構成情報と前記共通構成部とに基づいて、前記インストール対象のソフトウェアの構成要素のうち、前記画像処理装置ごとの個別の構成要素である個別構成部を求め、前記インストール対象のソフトウェアの前記共通構成部および前記個別構成部を示す圧縮構成情報を生成し、
前記通信ステップは、さらに、前記インストール対象のソフトウェアの前記圧縮構成情報を前記ソフトウェア配信サーバに送信して、前記ソフトウェア配信サーバから前記圧縮構成情報で示される前記共通構成部および前記個別構成部を受信し、受信した前記共通構成部と前記画像処理装置に対応する前記個別構成部とを前記複数の画像処理装置のそれぞれにインストールのために送信すること、
を特徴とするソフトウェア配信方法。
【請求項１２】
情報処理装置と、前記情報処理装置に接続されたソフトウェア配信サーバとを備えたソフトウェア配信システムであって、
前記情報処理装置は、
一定時間ごとに、前記複数の画像処理装置のそれぞれから、前記複数の画像処理装置それぞれにインストールされているソフトウェアの構成要素を示す複数の構成情報を取得する取得部と、
取得された前記複数の構成情報に基づいて、前記構成情報が示す構成要素のうち前記複数の画像処理装置に共通する構成要素である共通構成部を求める構成解析部と、
前記複数の画像処理装置に対するインストール対象のソフトウェアの指定入力を受け付ける入力受付部と、
前記インストール対象のソフトウェアの配信要求を前記ソフトウェア配信サーバに送信し、前記ソフトウェア配信サーバから前記インストール対象のソフトウェアの構成情報を受信する通信部と、を備え、
前記構成解析部は、さらに、受信した構成情報と前記共通構成部とに基づいて、前記インストール対象のソフトウェアの構成要素のうち、前記画像処理装置ごとの個別の構成要素である個別構成部を求め、前記インストール対象のソフトウェアの前記共通構成部および前記個別構成部を示す圧縮構成情報を生成し、
前記通信部は、さらに、前記インストール対象のソフトウェアの前記圧縮構成情報を前記ソフトウェア配信サーバに送信して、前記ソフトウェア配信サーバから前記圧縮構成情報で示される前記共通構成部および前記個別構成部を受信し、受信した前記共通構成部と前記画像処理装置に対応する前記個別構成部とを前記複数の画像処理装置のそれぞれにインストールのために送信することを特徴とするソフトウェア配信システム。
【請求項１３】
ソフトウェアを配信するソフトウェア配信サーバと、複数の画像処理装置と接続されるコンピュータを、
一定時間ごとに、複数の画像処理装置のそれぞれから、前記複数の画像処理装置それぞれにインストールされているソフトウェアの構成要素を示す複数の構成情報を取得する取得手段と、
取得された前記複数の構成情報に基づいて、前記構成情報が示す構成要素のうち前記複数の画像処理装置に共通する構成要素である共通構成部を求める構成解析手段と、
前記複数の画像処理装置に対するインストール対象のソフトウェアの指定入力を受け付ける入力受付手段と、
前記インストール対象のソフトウェアの配信要求を前記ソフトウェア配信サーバに送信し、前記ソフトウェア配信サーバから前記インストール対象のソフトウェアの構成情報を受信する通信手段、として前記コンピュータに機能させ、
前記構成解析手段は、さらに、受信した構成情報と前記共通構成部とに基づいて、前記インストール対象のソフトウェアの構成要素のうち、前記画像処理装置ごとの個別の構成要素である個別構成部を求め、前記インストール対象のソフトウェアの前記共通構成部および前記個別構成部を示す圧縮構成情報を生成し、
前記通信手段は、さらに、前記インストール対象のソフトウェアの前記圧縮構成情報を前記ソフトウェア配信サーバに送信して、前記ソフトウェア配信サーバから前記圧縮構成情報で示される前記共通構成部および前記個別構成部を受信し、受信した前記共通構成部と前記画像処理装置に対応する前記個別構成部とを前記複数の画像処理装置のそれぞれにインストールのために送信させること、
を特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバから画像処理装置へのソフトウェアのインストール作業を仲介する情報処理装置、ソフトウェア配信サーバ、ソフトウェア配信システム、ソフトウェア配信方法およびプログラムに関する。
【背景技術】
【０００２】
従来、同一ネットワーク上に接続されている複数のクライアントに同一アプリケーションをインストールする場合には、クライアントの台数分のダウンロードを要していた。そこで、繰り返し作業による通信負荷を軽減するために、複数のクライアント装置への一括インストール方法が開発されている。
【０００３】
複数のクライアント装置への一括インストール方法としては、アプリケーションをクライアントへインストールするプログラムであるインストーラが、インストール媒体が所持しているインストールするための情報（「以下、インストーラ情報」という。）を用いる技術が提案されている（例えば、特許文献１）。
【０００４】
具体的には、インストーラ情報を基にして、アプリケーションのインストールを行う際に、サーバ側にあるインストール媒体のインストーラ情報を取得して解析し、この情報を基にしてアプリケーション本体をサーバからクライアントに配信し、各クライアント装置のアプリケーション情報のデータベースを同時に更新する方法が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１の技術では、アプリケーションがインストールされるクライアント装置は、同一のフレームワークであることが前提となっており、異なるフレームワークで構成されるクライアント装置への一括インストールについては考慮されていない。
【０００６】
この結果、インストール対象となる複数のクライアント装置のフレームワークが異なる場合には、インストーラ情報を個別に取得することとなり、インストール処理におけるダウンロード時間が増大し、通信の負荷を軽減することができなかった。
【０００７】
本発明は、上記に鑑みてなされたものであって、ソフトウェア構成情報の解析により、インストールするソフトウェアの共通部分を異なる種類の画像処理装置に一括ダウンロードすることができる情報処理装置を提供する。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するために、本発明は、ソフトウェアを配信するソフトウェア配信サーバと、複数の画像処理装置と接続される情報処理装置であって、一定時間ごとに、前記複数の画像処理装置のそれぞれから、前記複数の画像処理装置それぞれにインストールされているソフトウェアの構成要素を示す複数の構成情報を取得する取得部と、取得された前記複数の構成情報に基づいて、前記構成情報が示す構成要素のうち前記複数の画像処理装置に共通する構成要素である共通構成部を求める構成解析部と、前記複数の画像処理装置に対するインストール対象のソフトウェアの指定入力を受け付ける入力受付部と、前記インストール対象のソフトウェアの配信要求を前記ソフトウェア配信サーバに送信し、前記ソフトウェア配信サーバから前記インストール対象のソフトウェアの構成情報を受信する通信部と、を備え、前記構成解析部は、さらに、受信した構成情報と前記共通構成部とに基づいて、前記インストール対象のソフトウェアの構成要素のうち、前記画像処理装置ごとの個別の構成要素である個別構成部を求め、前記インストール対象のソフトウェアの前記共通構成部および前記個別構成部を示す圧縮構成情報を生成し、前記通信部は、さらに、前記インストール対象のソフトウェアの前記圧縮構成情報を前記ソフトウェア配信サーバに送信して、前記ソフトウェア配信サーバから前記圧縮構成情報で示される前記共通構成部および前記個別構成部を受信し、受信した前記共通構成部と前記画像処理装置に対応する前記個別構成部とを前記複数の画像処理装置のそれぞれにインストールのために送信することを特徴とする。
【０００９】
また、本発明は、情報処理装置と接続される、ソフトウェアを配信するソフトウェア配信サーバであって、ソフトウェアを記憶する記憶部と、前記情報処理装置から、前記情報処理装置に接続された複数の画像処理装置に対するインストール対象のソフトウェアの配信要求を受信した場合に、前記インストール対象のソフトウェアの構成要素を示す構成情報を前記情報処理装置に送信する送信部と、前記情報処理装置から前記インストール対象のソフトウェアの構成要素のうち、前記複数の画像処理装置に共通する構成要素である共通構成部と、前記画像処理装置ごとの個別の構成要素である個別構成部とを示す圧縮構成情報を受信する受信部と、を備え、前記送信部は、前記圧縮構成情報で示される前記共通構成部および前記個別構成部を前記情報処理装置に送信することを特徴とする。
【００１０】
また、本発明は、ソフトウェアを配信するソフトウェア配信サーバと、複数の画像処理装置と接続される情報処理装置であって、記憶部と、前記複数の画像処理装置に対するインストール対象のソフトウェアの指定入力を受け付ける入力受付部と、前記複数の画像処理装置それぞれにインストールされているソフトウェアの構成要素を示す構成情報を、前記複数の画像処理装置のいずれか１つから取得する取得部と、前記インストール対象のソフトウェアの配信要求を前記ソフトウェア配信サーバに送信し、前記ソフトウェア配信サーバから前記インストール対象のソフトウェアの構成情報を受信する通信部と、受信した構成情報と、取得された前記構成情報から、取得対象となる取得構成要素として、前記取得された構成情報が示す構成要素に対応する前記インストール対象のソフトウェアの構成要素を求め、前記取得構成要素に対応する前記インストール対象のソフトウェアの構成要素を示す取得構成情報を生成する構成解析部と、を備え、前記通信部は、前記取得構成情報を前記ソフトウェア配信サーバに送信して、前記ソフトウェア配信サーバから前記取得構成情報で示される前記取得構成要素を受信して前記記憶部に保存し、受信した前記取得構成要素を前記画像処理装置にインストールのために送信することを特徴とする。
【００１１】
また、本発明は、情報処理装置と接続される、ソフトウェアを配信するソフトウェア配信サーバであって、ソフトウェアを記憶する記憶部と、前記情報処理装置から、前記情報処理装置に接続された複数の画像処理装置に対するインストール対象のソフトウェアの配信要求を受信した場合に、前記インストール対象のソフトウェアの構成要素を示す構成情報を前記情報処理装置に送信する送信部と、前記情報処理装置から前記インストール対象のソフトウェアの構成要素のうち、前記画像処理装置にインストールされているソフトウェアの構成要素を示す構成情報を受信する受信部と、を備え、前記送信部は、前記構成情報で示される前記構成要素を前記情報処理装置に送信することを特徴とする。
【００１２】
また、本発明は、ソフトウェアを配信するソフトウェア配信サーバと、複数の画像処理装置と接続される情報処理装置であって、前記複数の画像処理装置に対するインストール対象のソフトウェアの指定入力を受け付ける入力受付部と、前記複数の画像処理装置それぞれにインストールされているソフトウェアの構成要素を示す構成情報を、前記複数の画像処理装置のいずれか１つから取得する取得部と、前記インストール対象のソフトウェアの配信要求を前記ソフトウェア配信サーバに送信し、前記ソフトウェア配信サーバから前記インストール対象のソフトウェアの構成情報を受信する通信部と、受信した構成情報と、取得された前記構成情報から、取得対象となる取得構成要素として、前記取得された構成情報が示す構成要素に対応する前記インストール対象のソフトウェアの構成要素を求め、前記取得構成要素に対応する前記インストール対象のソフトウェアの構成要素を示す取得構成情報を生成する構成解析部と、を備え、前記通信部は、前記取得構成情報を前記ソフトウェア配信サーバに送信して、前記ソフトウェア配信サーバから前記取得構成情報で示される前記取得構成要素を受信し、受信した前記取得構成要素を前記複数の画像処理装置すべてにインストールのために送信することを特徴とする。
【００１３】
また、本発明は、情報処理装置とソフトウェア配信サーバとで実行されるソフトウェア配信方法であって、前記情報処理装置が、一定時間ごとに、前記複数の画像処理装置のそれぞれから、前記複数の画像処理装置それぞれにインストールされているソフトウェアの構成要素を示す複数の構成情報を取得する取得ステップと、前記情報処理装置が、取得された前記複数の構成情報に基づいて、前記構成情報が示す構成要素のうち前記複数の画像処理装置に共通する構成要素である共通構成部を求める構成解析ステップと、前記情報処理装置が、前記複数の画像処理装置に対するインストール対象のソフトウェアの指定入力を受け付ける入力受付ステップと、前記情報処理装置が、前記インストール対象のソフトウェアの配信要求を前記ソフトウェア配信サーバに送信し、前記ソフトウェア配信サーバから前記インストール対象のソフトウェアの構成情報を受信する通信ステップと、を含み、前記構成解析ステップは、さらに、受信した構成情報と前記共通構成部とに基づいて、前記インストール対象のソフトウェアの構成要素のうち、前記画像処理装置ごとの個別の構成要素である個別構成部を求め、前記インストール対象のソフトウェアの前記共通構成部および前記個別構成部を示す圧縮構成情報を生成し、前記通信ステップは、さらに、前記インストール対象のソフトウェアの前記圧縮構成情報を前記ソフトウェア配信サーバに送信して、前記ソフトウェア配信サーバから前記圧縮構成情報で示される前記共通構成部および前記個別構成部を受信し、受信した前記共通構成部と前記画像処理装置に対応する前記個別構成部とを前記複数の画像処理装置のそれぞれにインストールのために送信すること、を特徴とする。
【００１４】
また、本発明は、情報処理装置と、前記情報処理装置に接続されたソフトウェア配信サーバとを備えたソフトウェア配信システムであって、前記情報処理装置は、一定時間ごとに、前記複数の画像処理装置のそれぞれから、前記複数の画像処理装置それぞれにインストールされているソフトウェアの構成要素を示す複数の構成情報を取得する取得部と、取得された前記複数の構成情報に基づいて、前記構成情報が示す構成要素のうち前記複数の画像処理装置に共通する構成要素である共通構成部を求める構成解析部と、前記複数の画像処理装置に対するインストール対象のソフトウェアの指定入力を受け付ける入力受付部と、前記インストール対象のソフトウェアの配信要求を前記ソフトウェア配信サーバに送信し、前記ソフトウェア配信サーバから前記インストール対象のソフトウェアの構成情報を受信する通信部と、を備え、前記構成解析部は、さらに、受信した構成情報と前記共通構成部とに基づいて、前記インストール対象のソフトウェアの構成要素のうち、前記画像処理装置ごとの個別の構成要素である個別構成部を求め、前記インストール対象のソフトウェアの前記共通構成部および前記個別構成部を示す圧縮構成情報を生成し、前記通信部は、さらに、前記インストール対象のソフトウェアの前記圧縮構成情報を前記ソフトウェア配信サーバに送信して、前記ソフトウェア配信サーバから前記圧縮構成情報で示される前記共通構成部および前記個別構成部を受信し、受信した前記共通構成部と前記画像処理装置に対応する前記個別構成部とを前記複数の画像処理装置のそれぞれにインストールのために送信することを特徴とする。
【００１５】
また、本発明は、ソフトウェアを配信するソフトウェア配信サーバと、複数の画像処理装置と接続されるコンピュータを、一定時間ごとに、複数の画像処理装置のそれぞれから、前記複数の画像処理装置それぞれにインストールされているソフトウェアの構成要素を示す複数の構成情報を取得する取得手段と、取得された前記複数の構成情報に基づいて、前記構成情報が示す構成要素のうち前記複数の画像処理装置に共通する構成要素である共通構成部を求める構成解析手段と、前記複数の画像処理装置に対するインストール対象のソフトウェアの指定入力を受け付ける入力受付手段と、前記インストール対象のソフトウェアの配信要求を前記ソフトウェア配信サーバに送信し、前記ソフトウェア配信サーバから前記インストール対象のソフトウェアの構成情報を受信する通信手段、として前記コンピュータに機能させ、前記構成解析手段は、さらに、受信した構成情報と前記共通構成部とに基づいて、前記インストール対象のソフトウェアの構成要素のうち、前記画像処理装置ごとの個別の構成要素である個別構成部を求め、前記インストール対象のソフトウェアの前記共通構成部および前記個別構成部を示す圧縮構成情報を生成し、前記通信手段は、さらに、前記インストール対象のソフトウェアの前記圧縮構成情報を前記ソフトウェア配信サーバに送信して、前記ソフトウェア配信サーバから前記圧縮構成情報で示される前記共通構成部および前記個別構成部を受信し、受信した前記共通構成部と前記画像処理装置に対応する前記個別構成部とを前記複数の画像処理装置のそれぞれにインストールのために送信させること、を特徴とする。
【発明の効果】
【００１６】
本発明によれば、ソフトウェアの共通部分を異なる種類の画像処理装置に一括ダウンロードするので、外部ネットワークによる通信の負荷を軽減することができるという効果を奏する。
【図面の簡単な説明】
【００１７】
【図１】図１は、実施の形態１にかかるソフトウェア配信システムの構成を示す概要図である。
【図２】図２は、ネットワーク８０を介して接続されている情報処理装置２００とソフトウェア配信サーバ４００の構成を示すブロック図である。
【図３】図３は、アプリケーションのソフトウェア構成情報の一例を示す図である。
【図４−１】図４−１は、複合機１００aにインストールされているアプリケーションのソフトウェア構成情報一例を示す図である。
【図４−２】図４−２は、複合機１００bにインストールされているアプリケーションのソフトウェア構成情報一例を示す図である。
【図４−３】図４−３は、複合機１００cにインストールされているアプリケーションのソフトウェア構成情報一例を示す図である。
【図５】図５は、コンパクト化情報の一例を示す図である。
【図６】図６は、実施の形態１の複合機１００の構成を示すブロック図である。
【図７】図７は、ソフトウェア配信処理の手順を示すシーケンス図である。
【図８−１】図８−１は、複合機１００aにインストールされているアプリケーションのソフトウェア構成情報を示す図である。
【図８−２】図８−２は、複合機１００bにインストールされているアプリケーションのソフトウェア構成情報を示す図である。
【図８−３】図８−３は、複合機１００cにインストールされているアプリケーションのソフトウェア構成情報を示す図である。
【図９】図９は、共通構成部の一例を示す図である。
【図１０−１】図１０−１は、複合機１００aの個別構成部を示す図である。
【図１０−２】図１０−２は、複合機１００bの個別構成部を示す図である。
【図１０−３】図１０−３は、複合機１００cの個別構成部を示す図である。
【図１１】図１１は、実施の形態２にかかる情報処理装置７００の構成を示すブロック図である。
【図１２】図１２は、実施の形態２の複合機１２００の構成を示すブロック図である。
【図１３−１】図１３−１は、複合機１２００へのソフトウェア配信処理の手順を説明するシーケンス図である。
【図１３−２】図１３−２は、複合機１２００へのソフトウェア配信処理の手順を説明するシーケンス図である。
【図１３−３】図１３−３は、複合機１２００へのソフトウェア配信処理の手順を説明するシーケンス図である。
【図１４−１】図１４−１は、複合機１２００aにインストールされているアプリケーションのソフトウェア構成情報を示す図である。
【図１４−２】図１４−２は、複合機１２００bにインストールされているアプリケーションのソフトウェア構成情報を示す図である。
【図１４−３】図１４−３は、複合機１２００cにインストールされているアプリケーションのソフトウェア構成情報を示す図である。
【図１５】図１５は、複合機１２００aにインストールされているアプリケーションに対応する構成要素を示す図である。
【図１６】図１６は、複合機１２００bの取得構成要素を示す図である。
【図１７】図１７は、複合機１２００cの取得構成要素を示す図である。
【図１８】図１８は、実施の形態３にかかる情報処理装置９００の構成を示すブロック図である。
【図１９】図１９は、実施の形態３の複合機１９００の構成を示すブロック図である。
【図２０−１】図２０−１は、複合機１９００へのソフトウェア配信処理の手順を説明するシーケンス図である。
【図２０−２】図２０−２は、複合機１９００へのソフトウェア配信処理の手順を説明するシーケンス図である。
【図２０−３】図２０−３は、複合機１９００へのソフトウェア配信処理の手順を説明するシーケンス図である。
【図２１−１】図２１−１は、複合機１９００aにインストールされているアプリケーションのソフトウェア構成情報を示す図である。
【図２１−２】図２１−２は、複合機１９００bにインストールされているアプリケーションのソフトウェア構成情報を示す図である。
【図２１−３】図２１−３は、複合機１９００cにインストールされているアプリケーションのソフトウェア構成情報を示す図である。
【図２２】図２２は、複合機１９００aにインストールされているアプリケーションに対応する構成要素を示す図である。
【図２３】図２３は、複合機１９００bの取得構成要素を示す図である。
【図２４】図２４は、複合機１９００cの取得構成要素を示す図である。
【図２５】図２５は、第１〜３の実施の形態にかかる複合機１００、１２００、１９００のハードウェア構成を示すブロック図である。
【発明を実施するための形態】
【００１８】
以下に添付図面を参照して、この発明にかかる情報処理装置の最良な実施の形態を詳細に説明する。
【００１９】
（第１の実施の形態）
図１は、実施の形態１にかかる情報処理装置２００が接続されているソフトウェア配信システムの構成を示す概要図である。図１に示すように、ソフトウェア配信システムは、情報処理装置２００と、ライセンス管理サーバ３００と、ソフトウェア配信サーバ４００とが、インターネットなどのネットワーク８０を介して接続されている。そして、情報処理装置２００とネットワーク８０との間には、ファイアウォール９０が設けられている。また、情報処理装置２００は、複数の複合機１００ａ、１００ｂ、１００ｃ（以下、特定しない複合機を単に複合機１００と称する。）が、ネットワーク８０とは異なるネットワーク、例えばＬＡＮ等で接続されている。
【００２０】
ファイアウォール９０は、インターネットなどの外部ネットワークを通じて情報処理装置２００に侵入した第三者により不正が行われないように、外部との境界を流れるデータを監視し、不正なアクセスを検出・遮断する。
【００２１】
複合機１００ａ、１００ｂ、１００ｃは、コピー、ファックス、プリンタなどの複数の機能を備えた装置であって、ローカルネットワークにより情報処理装置２００に接続されている。また、本実施の形態のソフトウェア配信システムでは、３台の複合機１００ａ、１００ｂ、１００ｃが接続されているが、これに限定されることなく、１台、２台、または４台以上の複合機を接続した構成としてもよい。
【００２２】
また、複合機１００には、複数の構成要素で構成されているアプリケーションがインストールされており、複合機１００は、当該構成要素の構造をソフトウェア構成情報として記憶している。
【００２３】
ソフトウェア配信サーバ４００は、複合機１００にインストールされるソフトウェアを保持しており、該ソフトウェアを、情報処理装置２００を介して複合機１００に提供する装置である。ここで、ソフトウェア配信サーバ４００が保持しているソフトウェアには、当該ソフトウェアが他の装置に配信可能な構成要素の構成一覧を記述したソフトウェア構成情報が対応付けられている。
【００２４】
ライセンス管理サーバ３００は、ソフトウェア配信サーバ４００から提供され、複合機１００にインストールされるソフトウェアのライセンス（利用権）を、情報処理装置２００を介して管理する装置である。
【００２５】
情報処理装置２００は、ソフトウェア配信サーバ４００およびライセンス管理サーバ３００と、複合機１００ａ、１００ｂ、１００ｃとの間で行われる処理を仲介する装置である。具体的には、ソフトウェア配信サーバ４００が提供するソフトウェアを複合機１００ａ、１００ｂ、１００ｃに送信したり、ライセンス管理サーバ３００が管理するソフトウェアのライセンスファイルを要求したりして、複合機１００ａ、１００ｂ、１００ｃに送信する。ここで、ライセンスファイルとは、ソフトウェアのライセンスが記述されたデータである。
【００２６】
図２は、ネットワーク８０を介して接続されている情報処理装置２００とソフトウェア配信サーバ４００の構成を示すブロック図である。
【００２７】
まず、情報処理装置２００は、本図に示すように、入力制御部２０１と、構成情報取得部２０２と、構成解析部２０３と、通信部２０４と、表示制御部２０５と、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）２１０とを主に備え、入力装置２２０と表示装置２３０と接続されている。
【００２８】
構成情報取得部２０２は、情報処理装置２００と接続されているすべての複合機１００にインストールされているアプリケーションのソフトウェア構成情報を、ローカルネットワークを介して定期的に取得する。
【００２９】
図３は、ソフトウェア構成情報の一例を示す図である。ソフトウェア構成情報は、複数の階層で構成されている。図３では、ソフトウェア構成情報５００は、最上位層であり、アプリケーションやユーザにとって価値のあるサービス機能レベルの要素５０１と、要素機能モジュールあるいはサービスコンポーネントが所属する５０２と、フレームワークやドライバなど下位層レベルの機能を吸収しアプリケーション向けに適したサービスとして提供する５０３とから構成される。
【００３０】
アプリケーション５００では、３層構造で示しているが、システムの規模や各層の責務により階層数は変化する。また、各層内のボックスはまとまった機能あるいはモジュールを示しており、それぞれが下位層のボックスに依存し、逆に下位層から上位層への依存はないものとなっている。
【００３１】
ＨＤＤ２１０は、構成情報取得部２０２により取得された、情報処理装置２００とローカルネットワークで接続されている複合機１００にインストールされているアプリケーションのソフトウェア構成情報を記憶する。
【００３２】
表示制御部２０５は、複合機１００にインストール可能なアプリケーションの一覧等を表示装置２３０に表示する。
【００３３】
入力制御部２０１は、入力装置２２０から、ユーザによる複合機１００に対するインストール対象となるアプリケーションの指定や、インストール要求の指示等の入力を受け付ける。
【００３４】
通信部２０４は、入力されたインストール対象となるアプリケーションを複合機１００から受信したり、ソフトウェア配信サーバ４００にソフトウェア配信要求を送信したり、ソフトウェア配信サーバ４００から配信要求にかかるインストール対象となるアプリケーションのソフトウェア構成情報（以下、「配信要求にかかるアプリケーションのソフトウェア構成情報」という。）や、配信要求にかかるインストール対象となるアプリケーションのソフトウェア（以下、「配信要求にかかるソフトウェア」という。）を受信したりする。
【００３５】
構成解析部２０３は、すべての複合機１００から取得したアプリケーションのソフトウェア構成情報を解析し、すべてのアプリケーションのソフトウェア構成情報に共通する構成要素である共通構成部を求める。
【００３６】
具体的には、複合機１００から取得したアプリケーションのソフトウェア構成情報それぞれから構成要素を抽出し、抽出した構成要素のうち、取得したすべてのソフトウェア構成情報に共通する構成要素をカテゴリ化し、共通構成部とする。
【００３７】
図４−１から図４−３は、それぞれアプリケーションのソフトウェア構成情報を示す図である。図４−１は、複合機１００aにインストールされているアプリケーションのソフトウェア構成情報を示す図であり、図４−２は、複合機１００bにインストールされているアプリケーションのソフトウェア構成情報を示す図であり、図４−３は、複合機１００cにインストールされているアプリケーションのソフトウェア構成情報を示す図である。
【００３８】
ここで、図４−１から図４−３に示すように、複合機１００aと複合機１００bと複合機１００cすべてに共通する構成要素は、「２−１と２−２と２−３」であり、これらが共通構成部となる。
【００３９】
構成解析部２０３は、また、ソフトウェア配信サーバ４００から受信したアプリケーションのソフトウェア構成情報と、上記のように求めた共通構成部とに基づいて、インストール対象となるアプリケーションの構成要素のうち、複合機１００にインストールされているアプリケーションのソフトウェア構成情報それぞれに個別の構成要素である個別構成部を求める。
【００４０】
具体的には、まず、複合機１００から受信したそれぞれのアプリケーションのソフトウェア構成情報が示す構成要素と、共通構成部の構成要素との差分の構成要素を個別構成部として抽出する。
【００４１】
図４−１では、複合機１００aにインストールされているアプリケーションのソフトウェア構成情報が示す構成要素の「１−１と２−１と２−２と２−３」から共通構成部の構成要素である「２−１と２−２と２−３」との差分の構成要素である「１−１」を複合機１００aの個別構成部として抽出する。
【００４２】
また、図４−２では、複合機１００bにインストールされているアプリケーションのソフトウェア構成情報が示す構成要素の「１−２と２−１と２−２と２−３」から共通構成部の構成要素である「２−１と２−２と２−３」との差分の構成要素である「１−２」を複合機１００bの個別構成部として抽出する。
【００４３】
同様に、図４−３では、複合機１００cにインストールされているアプリケーションのソフトウェア構成情報が示す構成要素の「１−３と２−１と２−２と２−３」から共通構成部の構成要素である「２−１と２−２と２−３」との差分の構成要素である「１−３」を複合機１００cの個別構成部として抽出する。
【００４４】
構成解析部２０３は、さらに、上記より算出した複合機１００のすべての個別構成部と共通構成部とを示すコンパクト化情報を生成する。ここで、コンパクト化情報とは、ソフトウェア配信サーバ４００への配信要求にかかるソフトウェア構成情報であって、複合機１００すべてに対してインストール可能かつ最小のソフトウェア構成を示すものである。
【００４５】
図５は、コンパクト化情報の一例を示す図である。図５に示すように、コンパクト化情報６００は、複合機１００それぞれについての個別構成部６０２（「１−１」と「１−２」と「１−３」）と１つの共通構成部６０１（「２−１と２−２と２−３」）とから構成されている。
【００４６】
従来は、複合機１００すべてにアプリケーションをインストールするには、個別構成部（「１−１」）と共通構成部（「２−１と２−２と２−３」）、個別構成部（「１−２」）と共通構成部（「２−１と２−２と２−３」）、個別構成部（「１−３」）と共通構成部（「２−１と２−２と２−３」）をそれぞれ個別にダウンロードする必要があった。
【００４７】
しかし、このように、ソフトウェア配信サーバ４００への配信要求にかかるアプリケーションのソフトウェア構成情報を、共通構成部と個別構成部にコンパクト化することにより、共通構成部の重複する取得要求を排除することが可能となる。
【００４８】
次に、情報処理装置２００とネットワーク８０を介して接続されているソフトウェア配信サーバ４００は、図２に示すように、送信部４０１と、受信部４０４と、ソフトウェア取得部４０３と、ＨＤＤ４１０とを主に備えている。
【００４９】
ＨＤＤ４１０は、各種アプリケーションを、アプリケーションを構成する構成要素を示すソフトウェア構成情報と対応付けて保存する。
【００５０】
構成情報取得部４０２は、ＨＤＤ４１０から、情報処理装置２００からの配信要求にかかるアプリケーションのソフトウェア構成情報を取得する。
【００５１】
ソフトウェア取得部４０３は、ＨＤＤ４１０から、情報処理装置２００から受信したコンパクト化情報に対応するソフトウェアを取得する。
【００５２】
受信部４０４は、情報処理装置２００から、インストール対象となるアプリケーションの配信要求や、コンパクト化情報を受信する。
【００５３】
送信部４０１は、配信要求にかかるソフトウェア構成情報や、コンパクト化情報に対応するソフトウェアを情報処理装置２００に送信する。
【００５４】
次に、本実施の形態にかかる複合機１００の全体の機能的構成について説明する。図６は、実施の形態１の複合機１００の構成を示すブロック図である。複合機１００は、白黒レーザプリンタ（B&W LP）１０１と、カラーレーザプリンタ（Color LP）１０２と、ハードディスク装置（ＨＤＤ）１０３と、スキャナ、ファクシミリ、メモリ、ネットワークインタフェースなどのハードウェアリソース１０４を有するとともに、プラットホーム１２０と、アプリケーション１３０とから構成されるソフトウェア群１１０とを備えている。
【００５５】
プラットホーム１２０は、アプリケーションからの処理要求を解釈してハードウェア資源の獲得要求を発生させるコントロールサービスと、一または複数のハードウェア資源の管理を行い、コントロールサービスからの獲得要求を調停するシステムリソースマネージャ（ＳＲＭ）１２３と、汎用ＯＳ１２１とを有する。
【００５６】
コントロールサービスは、複数のサービスモジュールから形成され、ＳＣＳ（システムコントロールサービス）１２２と、ＥＣＳ（エンジンコントロールサービス）１２４と、ＭＣＳ（メモリコントロールサービス）１２５と、ＯＣＳ（オペレーションパネルコントロールサービス）１２６と、ＦＣＳ（ファックスコントロールサービス）１２７と、ＮＣＳ（ネットワークコントロールサービス）１２８とから構成される。このプラットホーム１２０は、あらかじめ定義された関数により前記アプリケーション１３０から処理要求を受信可能とするアプリケーションプログラムインタフェース（ＡＰＩ）を有する。
【００５７】
汎用ＯＳ１２１は、ＵＮＩＸ（登録商標）などの汎用オペレーティングシステムであり、プラットホーム１２０並びにアプリケーション１３０の各ソフトウェアをそれぞれプロセスとして並列実行する。
【００５８】
ＳＲＭ１２３のプロセスは、ＳＣＳ１２２とともにシステムの制御およびリソースの管理を行うものである。ＳＲＭ１２３のプロセスは、スキャナ部やプリンタ部などのエンジン、メモリ、ＨＤＤファイル、ホストＩ／Ｏ（セントロＩ／Ｆ、ネットワークＩ／Ｆ、ＩＥＥＥ１３９４  Ｉ／Ｆ、ＲＳ２３２Ｃ  Ｉ／Ｆなど）のハードウェア資源を利用する上位層からの要求にしたがって調停を行い、実行制御する。
【００５９】
具体的には、このＳＲＭ１２３は、要求されたハードウェア資源が利用可能であるか（他の要求により利用されていないかどうか）を判断し、利用可能であれば要求されたハードウェア資源が利用可能である旨を上位層に伝える。また、ＳＲＭ１２３は、上位層からの要求に対してハードウェア資源の利用スケジューリングを行い、要求内容（例えば、プリンタエンジンにより紙搬送と作像動作、メモリ確保、ファイル生成など）を直接実施している。
【００６０】
ＳＣＳ１２２のプロセスは、アプリ管理、操作部制御、システム画面表示、ＬＥＤ表示、リソース管理、割り込みアプリ制御などを行う。
【００６１】
ＥＣＳ１２４のプロセスは、白黒レーザプリンタ（B&W LP）１０１、カラーレーザプリンタ（Color LP）１０２、スキャナ、ファクシミリなどからなるハードウェアリソース１０４のエンジンの制御を行う。
【００６２】
ＭＣＳ１２５のプロセスは、画像メモリの取得および解放、ハードディスク装置（ＨＤＤ）の利用、画像データの圧縮および伸張などを行う。
【００６３】
ＦＣＳ１２７のプロセスは、システムコントローラの各アプリ層からＰＳＴＮ／ＩＳＤＮ網を利用したファクシミリ送受信、ＢＫＭ（バックアップＳＲＡＭ）で管理されている各種ファクシミリデータの登録／引用、ファクシミリ読みとり、ファクシミリ受信印刷、融合送受信を行うためのＡＰＩを提供する。
【００６４】
ＮＣＳ１２８のプロセスは、ネットワークＩ／Ｏを必要とするアプリケーションに対して共通に利用できるサービスを提供するためのプロセスであり、ネットワーク側から各プロトコルによって受信したデータを各アプリケーションに振り分けたり、アプリケーションからデータをネットワーク側に送信したりする際の仲介を行う。
【００６５】
ＮＲＳ（ニューリモートサービス）１２９は、ネットワークを介してデータを送受信する際のデータの変換を行うなど、ネットワークを介した遠隔管理に関する機能およびスケジューラ機能を実現するアプリケーションである。
【００６６】
アプリインストール制御サービス１３１は、情報処理装置２００からインストール信号を受信すると、情報処理装置２００から受信したパッケージのうち、自機に対応する構成要素をインストールする。
【００６７】
ＯＣＳ１２６のプロセスは、オペレータ（ユーザ）と本体制御間の情報伝達手段となるオペレーションパネル（操作パネル）９１０の制御を行う。ＯＣＳ１２６は、オペレーションパネルからキー押下（またはタッチ操作）をキーイベントとして取得し、取得したキーに対応したキーイベント関数をＳＣＳ１２２に送信するＯＣＳプロセスの部分と、アプリケーション１３０またはコントロールサービスからの要求によりオペレーションパネルに各種画面を描画出力する描画関数やその他オペレーションパネルに対する制御を行う関数などがあらかじめ登録されたＯＣＳライブラリの部分とから構成される。このＯＣＳライブラリは、アプリケーション１３０およびコントロールサービスの各モジュールにリンクされて実装されている。なお、ＯＣＳ１２６のすべてをプロセスとして動作させるように構成しても良く、あるいはＯＣＳ１２６のすべてをＯＣＳライブラリとして構成しても良い。
【００６８】
アプリケーション１３０は、ページ記述言語（ＰＤＬ）、ＰＣＬおよびポストスクリプト（ＰＳ）を有するプリンタ用のアプリケーションであるプリンタアプリ１１１と、コピー用アプリケーションであるコピーアプリ１１２と、ファクシミリ用アプリケーションであるファックスアプリ１１３と、スキャナ用アプリケーションであるスキャナアプリ１１４と、ネットワークファイル用アプリケーションであるネットファイルアプリ１１５と、工程検査用アプリケーションである工程検査アプリ１１６と、インターネットに接続されたＰＣ等のクライアント端末に対してＷＥＢサーバ（ｈｔｔｐサーバ）として動作し、クライアント端末上で動作するＷＥＢブラウザに各種画面を表示するＷＥＢアプリ１７１とを有している。
【００６９】
アプリケーション１３０の各プロセス、コントロールサービスの各プロセスは、関数呼び出しとその戻り値送信およびメッセージの送受信によってプロセス間通信を行いながら、コピー、プリンタ、スキャナ、ファクシミリなどの画像形成処理にかかるユーザサービスを実現している。
【００７０】
このように、実施の形態１にかかる複合機１００には、複数のアプリケーション１３０および複数のコントロールサービスが存在し、いずれもプロセスとして動作している。そして、これらの各プロセス内部には、一または複数のスレッドが生成されて、スレッド単位の並列実行が行われる。そして、コントロールサービスがアプリケーション１３０に対し共通サービスを提供しており、このため、これらの多数のプロセスが並列動作、およびスレッドの並列動作を行って互いにプロセス間通信を行って協調動作をしながら、コピー、プリンタ、スキャナ、ファクシミリなどの画像形成処理にかかるユーザサービスを提供するようになっている。
【００７１】
また、複合機１００には、複合機１００の顧客、サードベンダなどの第三者がコントロールサービス層の上のアプリケーション層に外部アプリ１７２を開発して搭載することが可能となっている。この外部アプリ１７２は、アプリインストール制御部１３１によりネットワークを介してインストールされる。
【００７２】
なお、実施の形態１にかかる複合機１００では、複数のアプリケーション１３０のプロセスと複数のコントロールサービスのプロセスとが動作しているが、アプリケーション１３０とコントロールサービスのプロセスがそれぞれ単一の構成とすることも可能である。また、各アプリケーション１３０は、アプリケーションごとに追加または削除することができる。すなわち、上述したように、外部アプリ１７２をインストール可能であり、かつアンインストールも可能となっている。
【００７３】
次に、ソフトウェア配信システムによるソフトウェア配信処理について説明する。図７は、ソフトウェア配信処理の手順を示すシーケンス図である。
【００７４】
情報処理装置２００は、構成情報取得部２０２により、複合機１００a、複合機１００b、複合機１００cすべてからそれぞれにインストールされているアプリケーションのソフトウェア構成情報を定期的に取得する（ステップＳ１０１）。
【００７５】
ここでは、図８−１から図８−３に示すソフトウェア構成情報を取得する。図８−１は、複合機１００aにインストールされているアプリケーションのソフトウェア構成情報を示す図であり、図８−２は、複合機１００bにインストールされているアプリケーションのソフトウェア構成情報を示す図であり、図８−３は、複合機１００cにインストールされているアプリケーションのソフトウェア構成情報を示す図である。
【００７６】
情報処理装置２００は、構成解析部２０３は、取得したソフトウェア構成情報から共通構成部を算出する（ステップＳ１０２）。
【００７７】
具体的には、図８−１から図８−３に示した複合機１００aと複合機１００bと複合機１００cのソフトウェア構成情報の構成要素を抽出すると、すべてに共通する構成要素は、図９に示すように、「２−１と２−２と２−３」となり、これを共通構成部とする。
【００７８】
情報処理装置２００の入力制御部２０１は、表示制御部２０５により表示装置２３０に表示された一覧から、インストール対象となるアプリケーションの選択を受け付ける（ステップＳ１０３）。
【００７９】
情報処理装置２００の通信部２０４は、選択されたアプリケーションのインストール要求をソフトウェア配信サーバ４００に送信する（ステップＳ１０４）。
【００８０】
ソフトウェア配信サーバ４００の構成情報取得部４０２は、配信要求にかかるアプリケーションのソフトウェア構成情報をＨＤＤ４１０より取得し、送信部４０１は、取得した配信要求にかかるアプリケーションのソフトウェア構成情報を情報処理装置２００に送信する（ステップＳ１０５）。
【００８１】
情報処理装置２００の構成解析部２０３は、通信部２０４により、ソフトウェア配信サーバ４００から配信要求にかかるアプリケーションのソフトウェア構成情報を受信すると、配信要求にかかるアプリケーションのソフトウェア構成情報をコンパクト化した情報であるコンパクト化情報を生成する（ステップＳ１０６）。
【００８２】
具体的には、本実施形態では、図９に示した共通構成部「２−１と２−２と２−３」と、図１０−１に示す複合機１００aの個別構成部「１−１」と、図１０−２に示す複合機１００bの個別構成部「１−２」と、図１０−３に示す複合機１００cの個別構成部「１−３」とを合算したものがコンパクト化情報である。
【００８３】
情報処理装置２００の通信部２０４は、コンパクト化情報を、ソフトウェア配信サーバ４００に送信する（ステップＳ１０７）。
【００８４】
ソフトウェア配信サーバ４００のソフトウェア取得部４０３は、受信部４０４によりコンパクト化情報を受信すると、コンパクト化情報に対応するソフトウェアを取得し、複合機１００aと複合機１００bと複合機１００cすべてにインストールするソフトウェアとしてパッケージを作成する（ステップＳ１０８）。
【００８５】
ソフトウェア配信サーバ４００の送信部４０１は、ソフトウェア取得部４０３により作成されたパッケージを情報処理装置２００に送信する（ステップＳ１０９）。
【００８６】
情報処理装置２００の通信部２０４は、ソフトウェア配信サーバ４００からパッケージを受信すると、受信したパッケージを複合機１００aと複合機１００bと複合機１００cすべてに送信する（ステップＳ１１０）。
【００８７】
ここで、情報処理装置２００の通信部２０４は、複合機１００aと複合機１００bと複合機１００c、それぞれに対応する個別構成部だけを最初に送信し、個別構成部を送信した後に共通構成部を送信することも可能である。
【００８８】
情報処理装置２００の通信部２０４は、次いで、複合機１００aと複合機１００bと複合機１００cすべてにインストール信号を送信する（ステップＳ１１１）。
【００８９】
複合機１００aと複合機１００bと複合機１００cのアプリインストール制御サービス１３１は、インストール信号により、受信したパッケージのうち、共通構成部と自機の個別構成部とをインストールする（ステップＳ１１２）。
【００９０】
具体的には、複合機１００aは、図９に示した共通構成部「２−１と２−２と２−３」と図１０−１に示した個別構成部「１−１」をインストールする。また、複合機１００bは、図９に示した共通構成部「２−１と２−２と２−３」と図１０−２に示した個別構成部「１−２」をインストールする。さらに、複合機１００cは、図９に示した共通構成部「２−１と２−２と２−３」と図１０−３に示した個別構成部「１−３」とインストールする。
【００９１】
なお、複合機１００aと複合機１００bと複合機１００cはそれぞれ、最初に自機に対応する個別構成部をインストールし、個別構成部をインストールした後に共通構成部をインストールすることも可能である。
【００９２】
このように、本実施の形態によれば、複合機１００の台数にかかわらず一括してインストール対象となるアプリケーションをソフトウェア配信サーバ４００から受信するので、情報処理装置２００とソフトウェア配信サーバ４００との通信負荷を軽減することが可能となる。
【００９３】
（第２の実施の形態）
図１１は、実施の形態２にかかる情報処理装置７００の構成を示すブロック図である。本図に示すように情報処理装置７００は、入力制御部２０１と、構成情報取得部７０２と、構成解析部７０３と、通信部２０４と、表示制御部２０５と、キャッシュメモリ７０６と、ＨＤＤ７１０とを主に備えている。なお、システム構成については、実施の形態１と同様である。
【００９４】
実施の形態１にかかる情報処理装置２００では、構成情報取得部２０２は、複合機１００それぞれにインストールされているアプリケーションのソフトウェア構成情報すべてを定期的に取得していた。
【００９５】
これに対し、本実施の形態では、構成情報取得部７０２は、複合機１２００それぞれにインストールされているアプリケーションのソフトウェア構成情報をそれぞれ個別に取得する。
【００９６】
また、実施の形態１にかかる情報処理装置２００では、構成解析部２０３は、複合機１００すべてにインストールされているアプリケーションのソフトウェア構成情報から共通構成部を求めた。
【００９７】
これに対し、本実施の形態では、構成解析部７０３は、取得されたソフトウェア構成情報のうち、キャッシュメモリ７０６に保存されている構成要素の差分を個別構成部として算出する。
【００９８】
まず、情報処理装置７００の各部の構成および機能について説明する。なお、構成情報取得部７０２と、構成解析部７０３と、キャッシュメモリ７０６以外の各部の構成および機能は実施の形態１にかかる情報処理装置２００と同様であるので、説明を省略する。
【００９９】
構成情報取得部７０２は、情報処理装置７００と接続されている複合機１２００のいずれか１つから、複合機１２００にインストールされているアプリケーションのソフトウェア構成情報を、ローカルネットワークを介して取得する。
【０１００】
キャッシュメモリ７０６は、通信部２０４から受信したソフトウェアの構成要素を保存する。
【０１０１】
構成解析部７０３は、ソフトウェア配信サーバ８００から受信した配信要求にかかるアプリケーションのソフトウェア構成情報が示す構成要素と、複合機１２００から取得した複合機１２００にインストールされているアプリケーションのソフトウェア構成情報が示す構成要素から、ソフトウェア配信サーバ８００より取得する構成要素（以下、「取得構成要素」という。）を求める。
【０１０２】
具体的には、配信要求にかかるソフトウェア構成情報と、複合機１２００から取得したソフトウェア構成情報それぞれから構成要素を抽出し、配信要求にかかるソフトウェア構成情報のうち、複合機１２００から取得したソフトウェア構成情報に対応するソフトウェア構成情報（以下、「取得構成情報」という。）として生成する。
【０１０３】
また、複合機１２００から取得されたソフトウェア構成情報の構成要素のうち、キャッシュメモリ７０６に保存されているソフトウェアの構成要素と同じ構成要素があるか否かを比較し、同じ構成要素がある場合には、当該同じ構成要素を差し引いた構成要素を複合機１２００が個別に有する構成要素を示す個別構成情報として抽出する。
【０１０４】
次に、情報処理装置７００とネットワーク８０を介して接続されているソフトウェア配信サーバ８００の各部の構成および機能について説明する。なお、ソフトウェア取得部８０３以外の構成および機能は、実施の形態１にかかるソフトウェア配信サーバ４００と同様であるので、説明を省略する。
【０１０５】
ソフトウェア取得部８０３は、ＨＤＤ４１０から、情報処理装置７００から受信した配信要求にかかるアプリケーションのソフトウェア構成情報に対応するソフトウェアの構成要素を取得する。
【０１０６】
次に、本実施の形態にかかる複合機１２００の全体の機能的構成について説明する。図１２は、実施の形態２の複合機１２００の構成を示すブロック図である。なお、アプリインストール制御サービス１２３１以外の各部の構成および機能は、実施の形態１の複合機１００と同様であるので説明を省略する。
【０１０７】
アプリインストール制御サービス１２３１は、情報処理装置７００からインストール信号を受信すると、情報処理装置７００から受信したソフトウェアをインストールする。
【０１０８】
次に、ソフトウェア配信システムによるソフトウェア配信処理について説明する。図１３−１から図１３−３は、複合機１２００へのソフトウェア配信処理の手順を説明するシーケンス図である。まず、図１３−１により、複合機１２００aへのインストール処理について説明する。
【０１０９】
情報処理装置７００の入力制御部２０１は、表示制御部２０５により表示装置２３０に表示された一覧から、インストール対象となるアプリケーションの選択を受け付ける（ステップＳ２０１）。
【０１１０】
情報処理装置７００は、構成情報取得部７０２により、複合機１２００aにインストールされているアプリケーションのソフトウェア構成情報を取得する（ステップＳ２０２）。
【０１１１】
ここでは、図１４−１に示すソフトウェア構成情報を取得する。図１４−１は、複合機１２００aにインストールされているアプリケーションのソフトウェア構成情報を示す図である。図１４−１に示すように、複合機１２００aにインストールされているアプリケーションの構成要素は「１−１と２−１と２−２と２−３」であり、構成情報取得部７０２はこれらを複合機１２００aにインストールされているアプリケーションのソフトウェア構成情報として取得する。
【０１１２】
情報処理装置７００の通信部２０４は、選択されたアプリケーションの配信要求をソフトウェア配信サーバ８００に送信する（ステップＳ２０３）。
【０１１３】
ソフトウェア配信サーバ８００の構成情報取得部４０２は、配信要求にかかるアプリケーションのソフトウェア構成情報をＨＤＤ４１０から取得し、送信部４０１は、取得したソフトウェア構成情報を情報処理装置７００に送信する（ステップＳ２０４）。
【０１１４】
情報処理装置７００の構成解析部７０３は、通信部２０４により、ソフトウェア配信サーバ８００からの配信要求にかかるソフトウェア構成情報を取得すると、取得構成情報を算出する（ステップＳ２０５）。
【０１１５】
情報処理装置７００の通信部２０４は、算出された複合機１２００aへの取得構成情報をソフトウェア配信サーバ８００に送信する（ステップＳ２０６）。
【０１１６】
ソフトウェア配信サーバ８００は、受信部４０４により取得構成情報を受信すると、ソフトウェア取得部８０３により、受信した取得構成情報に対応するソフトウェアを取得する（ステップＳ２０７）。
【０１１７】
ソフトウェア配信サーバ８００の送信部４０１は、ソフトウェア取得部８０３により取得構成情報に対応するソフトウェアを情報処理装置７００に送信する（ステップＳ２０８）。
【０１１８】
情報処理装置７００の通信部２０４は、ソフトウェア配信サーバ８００から取得構成情報に対応するソフトウェアを受信すると、受信した取得構成情報に対応するソフトウェアをキャッシュメモリ７０６に保存するとともに（ステップＳ２０９）、取得構成情報に対応するソフトウェアを複合機１２００aに送信する（ステップＳ２１０）。
【０１１９】
情報処理装置７００の通信部２０４は、次いで、複合機１２００aにインストール信号を送信する（ステップＳ２１１）。
【０１２０】
複合機１２００aのアプリインストール制御サービス１２３１は、インストール信号により、受信した取得構成情報に対応するソフトウェアをインストールする（ステップＳ２１２）。
【０１２１】
具体的には、複合機１００aは、図１５に示した複合機１２００aにインストールされているアプリケーションに対応する構成要素「１−１と２−１と２−２と２−３」をインストールする。
【０１２２】
次に、図１３−２により、複合機１２００bへのソフトウェア配信処理について説明する。
【０１２３】
情報処理装置７００の構成情報取得部７０２は、複合機１２００bから複合機１２００bにインストールされているアプリケーションのソフトウェア構成情報を取得する（ステップＳ２２１）。
【０１２４】
ここでは、図１４−２に示すソフトウェア構成情報を取得する。図１４−２は、複合機１２００bにインストールされているアプリケーションのソフトウェア構成情報を示す図である。図１４−２に示すように、複合機１２００bにインストールされているアプリケーションの構成要素は「１−２と２−１と２−２と２−３」であり、構成情報取得部７０２はこれらを複合機１２００bにインストールされているアプリケーションのソフトウェア構成情報として取得する。
【０１２５】
情報処理装置７００の構成解析部７０３は、複合機１２００bへのインストール対象となるアプリケーションのソフトウェア構成情報を算出する（ステップＳ２２２）。
【０１２６】
ここで、情報処理装置７００のキャッシュメモリ７０６には、ステップＳ２０９で、ソフトウェア配信サーバ８００からすでに受信した複合機１２００aの配信要求にかかるソフトウェアが保存されている。
【０１２７】
そこで、情報処理装置７００の構成解析部７０３は、複合機１２００bから取得したソフトウェア構成情報が示す構成要素と、保存されているソフトウェアの構成要素との差分の構成要素を、ソフトウェア配信サーバ８００から取得する構成要素を示す取得構成要素として求める。
【０１２８】
具体的には、図１４−２に示す複合機１２００bにインストールされているアプリケーションのソフトウェア構成情報がが示す構成要素「１−２と２−１と２−２と２−３」から、情報処理装置７００のキャッシュメモリ７０６に保存されているソフトウェアの構成要素「２−１と２−２と２−３」を差し引く。これより、複合機１２００bの取得構成要素は、図１６に示す「１−２」となる。
【０１２９】
情報処理装置７００の通信部２０４は、構成解析部７０３により算出された取得構成要素を示す取得構成情報をソフトウェア配信サーバ８００に送信する（ステップＳ２２３）。
【０１３０】
ソフトウェア配信サーバ８００のソフトウェア取得部８０３は、受信部４０４により、情報処理装置７００から取得構成情報を受信すると、取得構成情報に対応するソフトウェアをＨＤＤ４１０から取得する（ステップＳ２２４）。
【０１３１】
ソフトウェア配信サーバ８００の送信部４０１は、ソフトウェア取得部８０３より取得した取得構成情報に対応するソフトウェアを情報処理装置７００に送信する（ステップＳ２２５）。
【０１３２】
情報処理装置７００の通信部２０４は、取得構成情報に対応するソフトウェアを受信すると、取得構成情報に対応するソフトウェアをキャッシュメモリ７０６に保存し（ステップＳ２２６）、複合機１２００bに送信する（ステップＳ２２７）。
【０１３３】
情報処理装置７００の通信部２０４は、複合機１２００bにインストール信号を送信すると（ステップＳ２２８）、複合機１２００bは、受信した取得構成情報に対応するソフトウェアをインストールする（ステップＳ２２９）。
【０１３４】
次に、図１３−３により、複合機１２００cへのソフトウェア配信処理について説明する。
【０１３５】
情報処理装置７００の構成情報取得部７０２は、複合機１２００cから複合機１２００cにインストールされているアプリケーションのソフトウェア構成情報を取得する（ステップＳ２３１）。
【０１３６】
ここでは、図１４−３に示すソフトウェア構成情報を取得する。図１４−３は、複合機１２００cにインストールされているアプリケーションのソフトウェア構成情報を示す図である。図１４−３に示すように、複合機１２００cにインストールされているアプリケーションの構成要素は「１−３と２−１と２−２と２−３」であり、構成情報取得部７０２はこれらを複合機１２００cにインストールされているアプリケーションのソフトウェア構成情報として取得する。
【０１３７】
情報処理装置７００の構成解析部７０３は、複合機１２００cへのインストール対象となるアプリケーションのソフトウェア構成情報を算出する（ステップＳ２３２）。
【０１３８】
ここで、情報処理装置７００のキャッシュメモリ７０６には、ソフトウェア配信サーバ８００からすでに受信した複合機１２００aの配信要求にかかるソフトウェアと、複合機１２００bの取得構成情報に対応するソフトウェアとが保存されている。そこで、情報処理装置７００の構成解析部７０３は、複合機１２００cから取得したソフトウェア構成情報が示す構成要素と、保存されているソフトウェアの構成要素との差分の構成要素を、ソフトウェア配信サーバ８００から取得する構成要素を示す取得構成要素として求める。
【０１３９】
具体的には、図１４−３に示す複合機１２００cにインストールされているアプリケーションのソフトウェア構成情報が示す構成要素「１−３と２−１と２−２と２−３」から、情報処理装置７００のキャッシュメモリ７０６に保存されているソフトウェアの構成要素「２−１と２−２と２−３」を差し引く。これより、複合機１２００cの取得構成要素は、図１７に示す「１−３」となる。
【０１４０】
情報処理装置７００の通信部２０４は、構成解析部７０３により算出された取得構成要素を示す取得構成情報をソフトウェア配信サーバ８００に送信する（ステップＳ２３３）。
【０１４１】
ソフトウェア配信サーバ８００のソフトウェア取得部８０３は、受信部４０４により、情報処理装置７００から取得構成情報を受信すると、取得構成情報に対応するソフトウェアをＨＤＤ４１０から取得する（ステップＳ２３４）。
【０１４２】
ソフトウェア配信サーバ８００の送信部４０１は、ソフトウェア取得部８０３より取得した取得構成情報に対応するソフトウェアを情報処理装置７００に送信する（ステップＳ２３５）。
【０１４３】
情報処理装置７００の通信部２０４は、取得構成情報に対応するソフトウェアを受信すると、取得構成情報に対応するソフトウェアをキャッシュメモリ７０６に保存し（ステップＳ２３６）、複合機１２００cに送信する（ステップＳ２３７）。
【０１４４】
情報処理装置７００の通信部２０４は、複合機１２００cにインストール信号を送信すると（ステップＳ２３８）、複合機１２００cのアプリインストール制御サービス１２３１は、受信した取得構成情報に対応するソフトウェアをインストールする（ステップＳ２３９）。
【０１４５】
このように、本実施の形態によると、すでにソフトウェア配信サーバから受信し、情報処理装置に保存したソフトウェアについては、重複する配信要求を排除することができるため、通信の負荷を軽減することができる。
【０１４６】
また、このように、本実施の形態によると、実施の形態１で説明した一括ダウンロード方式と異なり、定期的に複合機のソフトウェア構成情報を取得し、共通構成部を作成する処理を省くこととなり、処理手順を簡素化するとともに処理コストを削減することができる。
【０１４７】
（第３の実施の形態）
図１８は、実施の形態３にかかる情報処理装置９００の構成を示すブロック図である。本図に示すように情報処理装置９００は、入力制御部２０１と、構成情報取得部７０２と、構成解析部９０３と、通信部９０４と、表示制御部２０５と、ＨＤＤ２１０とを主に備えている。
【０１４８】
実施の形態２にかかる情報処理装置７００では、構成解析部７０３は、複合機１２００から取得されたソフトウェア構成情報の構成要素のうち、キャッシュメモリ７０６に保存されているソフトウェアの構成要素と同じ構成要素があるか否かを比較し、同じ構成要素がある場合には、当該同じ構成要素を差し引いた構成要素を複合機１２００が個別に有する構成要素を示す個別構成情報として抽出していた。
【０１４９】
これに対し、本実施の形態にかかる情報処理装置９００では、構成解析部９０３は、複合機１９００から取得されたソフトウェア構成情報の構成要素のうち、複合機１９００にすでに送信したソフトウェア（以下、「送信済みソフトウェア」という。）の構成要素と同じ構成要素があるか否かを比較し、個別構成情報を抽出する。
【０１５０】
また、実施の形態２にかかる情報処理装置７００の通信部２０４は、ソフトウェア配信サーバ８００から受信したソフトウェアをキャッシュメモリ７０６に保存し、複合機１２００の１つに対して送信していた。
【０１５１】
これに対し、本実施の形態にかかる情報処理装置９００では、通信部９０４は、ソフトウェア配信サーバ８００から受信したソフトウェアをキャッシュメモリに保存せず、複合機１９００すべてに送信する。
【０１５２】
情報処理装置９００の各部の構成および機能について説明する。なお、構成解析部９０３および通信部９０４以外の各部の構成および機能は実施の形態１または２と同様であるので、説明を省略する。
【０１５３】
構成解析部９０３は、複合機１９００から取得されたソフトウェア構成情報の構成要素のうち、複合機１９００にすでに送信済みのソフトウェア（以下、「送信済みソフトウェア」という。）の構成要素（以下、「送信済み構成要素」という。）と同じ構成要素があるか否かを比較し、同じ構成要素がある場合には、当該同じ構成要素を差し引いた構成要素を複合機１９００が個別に有する構成要素を示す個別構成情報として抽出する。
【０１５４】
通信部９０４は、ソフトウェア配信サーバ８００から配信要求にかかるソフトウェアを受信すると、受信したソフトウェアを複合機１９００すべてに送信する。
【０１５５】
なお、情報処理装置９００とネットワーク８０を介して接続されているソフトウェア配信サーバ８００については、実施の形態２のソフトウェア配信サーバ８００と同様であるので、各部の構成および機能についての説明を省略する。
【０１５６】
次に、本実施の形態にかかる複合機１９００の全体の機能的構成について説明する。図１９は、実施の形態３の複合機１９００の構成を示すブロック図である。なお、アプリインストール制御サービス１９３１以外の各部の構成および機能は実施の形態１の複合機１００と同様であるので説明を省略する。
【０１５７】
アプリインストール制御サービス１９３１は、情報処理装置９００からインストール信号を受信すると、情報処理装置９００から受信したソフトウェアのうち、自機にインストールされているアプリケーションに対応する構成要素だけを保存し、保存後のアプリケーションの構成情報をアップデートする。
【０１５８】
次に、ソフトウェア配信システムによるソフトウェア配信処理について説明する。図２０−１から図２０−３は、複合機１９００へのソフトウェア配信処理の手順を説明するシーケンス図である。まず、図２０−１により、複合機１９００aへのインストール処理について説明する。
【０１５９】
情報処理装置９００の入力制御部２０１は、表示制御部２０５により表示装置２３０に表示された一覧から、インストール対象となるアプリケーションの選択を受け付ける（ステップＳ３０１）。
【０１６０】
情報処理装置９００は、構成情報取得部７０２により、複合機１９００aにインストールされているアプリケーションのソフトウェア構成情報を取得する（ステップＳ３０２）。
【０１６１】
ここでは、図２１−１に示すソフトウェア構成情報を取得する。図２１−１は、複合機１９００aにインストールされているアプリケーションのソフトウェア構成情報を示す図である。図２１−１に示すように、複合機１２００aにインストールされているアプリケーションの構成要素は「１−１と２−１と２−２と２−３」であり、構成情報取得部７０２はこれらを複合機１９００aのソフトウェア構成情報として取得する。
【０１６２】
なお、ステップＳ３０３からステップＳ３０８の処理は、実施の形態２で説明した図１３−１のシーケンス図のステップＳ２０３からステップＳ２０８と同様であるので説明を省略する。
【０１６３】
ステップＳ３０９に移り、ソフトウェア配信サーバ８００から配信要求にかかるソフトウェアを受信した情報処理装置９００の通信部９０４は、複合機１９００すべてに受信したソフトウェアを送信する（ステップＳ３０９）。
【０１６４】
情報処理装置９００の通信部９０４は、複合機１９００すべてにインストール信号を送信し（ステップＳ３１０）、複合機１９００は、情報処理装置９００からソフトウェアを受信すると、自機に対応する構成情報をインストールする（ステップＳ３１１）。
【０１６５】
ここで、複合機１９００aは、受信したソフトウェアはすべて自機に対応する構成情報であるので、アプリインストール制御サービス１９３１は受信したソフトウェアすべてをインストールする（ステップＳ３１１）。
【０１６６】
具体的には、複合機１９００aは、図２２に示した複合機１９００aにインストールされているアプリケーションに対応する構成要素「１−１と２−１と２−２と２−３」をインストールする。
【０１６７】
複合機１９００aのアプリインストールサービス１９３１は、インストール処理を終了すると、インストール後のアプリケーションのソフトウェア構成情報をアップデートする（ステップＳ３１２）。
【０１６８】
次に、図２０−２により、複合機１９００bへのソフトウェア配信処理について説明する。
【０１６９】
情報処理装置９００の構成情報取得部７０２は、複合機１９００bから複合機１９００bにインストールされているアプリケーションのソフトウェア構成情報を取得する（ステップＳ３２１）。
【０１７０】
ここでは、図２１−２に示すソフトウェア構成情報を取得する。図２１−２は、複合機１９００bにインストールされているアプリケーションのソフトウェア構成情報を示す図である。図２１−２に示すように、複合機１９００bにインストールされているアプリケーションの構成要素は「１−２と２−１と２−２と２−３」であり、構成情報取得部７０２はこれらを複合機１９００bにインストールされているアプリケーションのソフトウェア構成情報として取得する。
【０１７１】
情報処理装置９００の構成解析部７０３は、複合機１９００bの取得構成情報を算出する（ステップＳ３２２）。
【０１７２】
ここで、情報処理装置９００は、ソフトウェア配信サーバ８００からすでに受信した複合機１９００aの取得構成情報に対応するソフトウェアを、複合機１９００bにも送信している。
【０１７３】
そこで、情報処理装置９００の構成解析部９０３は、複合機１９００bから取得したソフトウェア構成情報と、送信済みソフトウェアの差分を、取得構成要素として算出する。
【０１７４】
具体的には、図２１−２に示す複合機１９００bにインストールされているアプリケーションのソフトウェア構成情報が示す構成要素「１−２と２−１と２−２と２−３」から、送信済み構成要素「２−１と２−２と２−３」を差し引く。これより、複合機１９００bの取得構成要素は、図２３に示す「１−２」となる。
【０１７５】
情報処理装置９００の通信部９０４は、構成解析部９０３により算出された取得構成情報をソフトウェア配信サーバ８００に送信する（ステップＳ３２３）。
【０１７６】
ソフトウェア配信サーバ８００のソフトウェア取得部８０３は、受信部４０４により、情報処理装置９００から取得構成情報を受信すると、取得構成情報に対応するソフトウェアをＨＤＤ４１０から取得する（ステップＳ３２４）。
【０１７７】
ソフトウェア配信サーバ８００の送信部４０１は、ソフトウェア取得部８０３より取得した取得構成情報に対応するソフトウェアを情報処理装置９００に送信する（ステップＳ３２５）。
【０１７８】
情報処理装置９００の通信部９０４は、取得構成情報に対応するソフトウェアを受信すると、取得構成情報に対応するソフトウェアを複合機１９００すべてに送信する（ステップＳ３２６）。
【０１７９】
情報処理装置９００の通信部９０４は、複合機１９００すべてにインストール信号を送信し（ステップＳ３２７）、複合機１９００は、情報処理装置９００から取得構成情報に対応するソフトウェアを受信すると、自機に対応する構成情報をインストールする（ステップＳ３２８）。
【０１８０】
ここで、複合機１９００bは、受信したソフトウェアは、自機に対応する構成情報であるので、アプリインストール制御サービス１９３１は受信したソフトウェアすべてをインストールする（ステップＳ３２８）。
【０１８１】
複合機１９００aのアプリインストールサービス１９３１は、インストール処理を終了すると、インストール後のアプリケーションのソフトウェア構成情報をアップデートする（ステップＳ３２９）。
【０１８２】
次に、図２０−３により、複合機１９００cへのソフトウェア配信処理について説明する。
【０１８３】
情報処理装置９００の構成情報取得部７０２は、複合機１９００cから複合機１９００cにインストールされているアプリケーションのソフトウェア構成情報を取得する（ステップＳ３３１）。
【０１８４】
ここでは、図２１−３に示すソフトウェア構成情報を取得する。図２１−３は、複合機１９００cにインストールされているアプリケーションのソフトウェア構成情報を示す図である。図２１−３に示すように、複合機１９００cにインストールされているアプリケーションの構成要素は「１−３と２−１と２−２と２−３」であり、構成情報取得部７０２はこれらを複合機１９００cにインストールされているアプリケーションのソフトウェア構成情報として取得する。
【０１８５】
情報処理装置９００の構成解析部９０３は、複合機１９００cの取得構成情報を算出する（ステップＳ３３２）。
【０１８６】
ここで、情報処理装置９００は、ソフトウェア配信サーバ８００からすでに受信した複合機１９００aと複合機１９００bの取得構成情報に対応するソフトウェアを、複合機１９００cにも送信している。
【０１８７】
そこで、情報処理装置９００の構成解析部９０３は、複合機１９００cから取得した複合機１９００cにインストールされているアプリケーションのソフトウェア構成情報が示す構成要素と、送信済み構成要素との差分の構成要素を、ソフトウェア配信サーバ８００から取得構成要素として求める。
【０１８８】
具体的には、図２１−３に示す複合機１９００cにインストールされているアプリケーションのソフトウェア構成情報が示す構成要素「１−３と２−１と２−２と２−３」から、送信済み構成要素「２−１と２−２と２−３」を差し引く。これより、複合機１９００cの取得構成要素は、図２４に示す「１−３」となる。
【０１８９】
情報処理装置９００の通信部９０４は、構成解析部９０３により算出された取得構成情報をソフトウェア配信サーバ８００に送信する（ステップＳ３３３）。
【０１９０】
ソフトウェア配信サーバ８００のソフトウェア取得部８０３は、受信部４０４により、情報処理装置９００から取得構成情報を受信すると、取得構成情報に対応するソフトウェアをＨＤＤ４１０から取得する（ステップＳ３３４）。
【０１９１】
ソフトウェア配信サーバ８００の送信部４０１は、ソフトウェア取得部８０３より取得した取得構成情報に対応するソフトウェアを情報処理装置９００に送信する（ステップＳ３３５）。
【０１９２】
情報処理装置９００の通信部９０４は、取得構成情報に対応するソフトウェアを受信すると、取得構成情報に対応するソフトウェアを複合機１９００すべてに送信する（ステップＳ３３６）。
【０１９３】
情報処理装置９００の通信部９０４は、複合機１９００すべてにインストール信号を送信し（ステップＳ３３７）、複合機１９００は、情報処理装置９００からソフトウェアを受信すると、自機に対応する構成情報をインストールする（ステップＳ３３８）。
【０１９４】
ここで、複合機１９００cは、受信したソフトウェアは、自機に対応する構成情報であるので、アプリインストール制御サービス１９３１は受信したソフトウェアすべてをインストールし、インストール処理を終了すると、インストール後のアプリケーションのソフトウェア構成情報をアップデートする（ステップＳ３２９）。
【０１９５】
このように、本実施の形態によると、すでに複合機が受信したソフトウェアについては、重複する配信要求を排除することができるため、通信の負荷を軽減することができる。
【０１９６】
このように、本実施の形態によると、実施の形態１で説明した一括ダウンロード方式と異なり、定期的に複合機のソフトウェア構成情報を取得し、共通構成部を作成する処理を省くこととなり、処理手順を簡素化するとともに処理コストを削減することができる。
【０１９７】
また、本実施の形態によると、実施の形態２で説明したキャッシュ保存が不要となり、情報処理装置のＲＡＭ容量が少量であってもインストール処理を実行することが可能となる。
【０１９８】
本実施の形態の情報処理装置２００、７００、９００は、ＣＰＵなどの制御装置と、ＲＯＭ（Read  Only  Memory）やＲＡＭなどの記憶装置と、ＨＤＤ、ＣＤドライブ装置などの外部記憶装置と、ディスプレイ装置などの表示装置と、キーボードやマウスなどの入力装置を備えており、通常のコンピュータを利用したハードウェア構成となっている。
【０１９９】
本実施形態の情報処理装置２００、７００、９００で実行されるソフトウェア配信プログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のコンピュータで読み取り可能な記録媒体に記録されて提供される。
【０２００】
また、本実施形態の情報処理装置２００、７００、９００で実行されるソフトウェア配信プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、本実施形態の情報処理装置２００、７００、９００で実行されるソフトウェア配信プログラムをインターネット等のネットワーク経由で提供または配信するように構成しても良い。
【０２０１】
また、本実施形態のソフトウェア配信プログラムを、ＲＯＭ等に予め組み込んで提供するように構成してもよい。
【０２０２】
本実施の形態の情報処理装置２００、７００、９００で実行されるソフトウェア配信プログラムは、上述した各部（入力制御部、構成情報取得部、構成解析部、通信部、表示制御部）を含むモジュール構成となっており、実際のハードウェアとしてはＣＰＵ（プロセッサ）が上記記憶媒体からソフトウェア配信プログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、入力制御部、構成情報取得部、構成解析部、通信部、表示制御部が主記憶装置上に生成されるようになっている。
【０２０３】
図２５は、第１〜３の実施の形態にかかる複合機１００、１２００、１９００のハードウェア構成を示すブロック図である。本図に示すように、この複合機１００、１２００、１９００は、コントローラ１０とエンジン部（Ｅｎｇｉｎｅ）６０とをＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｆａｃｅ）バスで接続した構成となる。コントローラ１０は、複合機１００、１２００、１９００全体の制御と描画、通信、図示しない操作部からの入力を制御するコントローラである。エンジン部６０は、ＰＣＩバスに接続可能なプリンタエンジンなどであり、たとえば白黒プロッタ、１ドラムカラープロッタ、４ドラムカラープロッタ、スキャナまたはファックスユニットなどである。なお、このエンジン部６０には、プロッタなどのいわゆるエンジン部分に加えて、誤差拡散やガンマ変換などの画像処理部分が含まれる。
【０２０４】
コントローラ１０は、ＣＰＵ１１と、ノースブリッジ（ＮＢ）１３と、システムメモリ（ＭＥＭ−Ｐ）１２と、サウスブリッジ（ＳＢ）１４と、ローカルメモリ（ＭＥＭ−Ｃ）１７と、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）１６と、ハードディスクドライブ（ＨＤＤ）１８とを有し、ノースブリッジ（ＮＢ）１３とＡＳＩＣ１６との間をＡＧＰ（Ａｃｃｅｌｅｒａｔｅｄ  Ｇｒａｐｈｉｃｓ  Ｐｏｒｔ）バス１５で接続した構成となる。また、ＭＥＭ−Ｐ１２は、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１２ａと、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ)１２ｂと、をさらに有する。
【０２０５】
ＣＰＵ１１は、複合機１００、１２００、１９００の全体制御をおこなうものであり、ＮＢ１３、ＭＥＭ−Ｐ１２およびＳＢ１４からなるチップセットを有し、このチップセットを介して他の機器と接続される。
【０２０６】
ＮＢ１３は、ＣＰＵ１１とＭＥＭ−Ｐ１２、ＳＢ１４、ＡＧＰ１５とを接続するためのブリッジであり、ＭＥＭ−Ｐ１２に対する読み書きなどを制御するメモリコントローラと、ＰＣＩマスタおよびＡＧＰターゲットとを有する。
【０２０７】
ＭＥＭ−Ｐ１２は、プログラムやデータの格納用メモリ、プログラムやデータの展開用メモリ、プリンタの描画用メモリなどとして用いるシステムメモリであり、ＲＯＭ１２ａとＲＡＭ１２ｂとからなる。ＲＯＭ１２ａは、プログラムやデータの格納用メモリとして用いる読み出し専用のメモリであり、ＲＡＭ１２ｂは、プログラムやデータの展開用メモリ、プリンタの描画用メモリなどとして用いる書き込みおよび読み出し可能なメモリである。
【０２０８】
ＳＢ１４は、ＮＢ１３とＰＣＩデバイス、周辺デバイスとを接続するためのブリッジである。このＳＢ１４は、ＰＣＩバスを介してＮＢ１３と接続されており、このＰＣＩバスには、ネットワークインターフェース（Ｉ／Ｆ）部なども接続される。
【０２０９】
ＡＳＩＣ１６は、画像処理用のハードウェア要素を有する画像処理用途向けのＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）であり、ＡＧＰ１５、ＰＣＩバス、ＨＤＤ１８およびＭＥＭ−Ｃ１７をそれぞれ接続するブリッジの役割を有する。このＡＳＩＣ１６は、ＰＣＩターゲットおよびＡＧＰマスタと、ＡＳＩＣ１６の中核をなすアービタ（ＡＲＢ）と、ＭＥＭ−Ｃ１７を制御するメモリコントローラと、ハードウェアロジックなどにより画像データの回転などをおこなう複数のＤＭＡＣ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌｌｅｒ）と、エンジン部６０との間でＰＣＩバスを介したデータ転送をおこなうＰＣＩユニットとからなる。このＡＳＩＣ１６には、ＰＣＩバスを介してＦＣＵ（Ｆａｃｓｉｍｉｌｅ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）３０、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）４０、ＩＥＥＥ１３９４（ｔｈｅ  Ｉｎｓｔｉｔｕｔｅ  ｏｆ  Ｅｌｅｃｔｒｉｃａｌ  ａｎｄ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｅｎｇｉｎｅｅｒｓ  １３９４）インターフェース５０が接続される。操作表示部２０はＡＳＩＣ１６に直接接続されている。
【０２１０】
ＭＥＭ−Ｃ１７は、コピー用画像バッファ、符号バッファとして用いるローカルメモリであり、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）１８は、画像データの蓄積、プログラムの蓄積、フォントデータの蓄積、フォームの蓄積を行うためのストレージである。
【０２１１】
ＡＧＰ１５は、グラフィック処理を高速化するために提案されたグラフィックスアクセラレーターカード用のバスインターフェースであり、ＭＥＭ−Ｐ１２に高スループットで直接アクセスすることにより、グラフィックスアクセラレーターカードを高速にするものである。
【０２１２】
なお、本実施の形態の情報処理装置２００、７００、９００で実行されるソフトウェア配信プログラムは、ＲＯＭ等に予め組み込まれて提供される。
【０２１３】
本実施の形態の情報処理装置２００、７００、９００で実行されるソフトウェア配信プログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。
【０２１４】
さらに、本実施の形態の情報処理装置２００、７００、９００で実行されるソフトウェア配信プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、本実施の形態の情報処理装置２００、７００、９００で実行されるソフトウェア配信プログラムをインターネット等のネットワーク経由で提供または配信するように構成しても良い。
【０２１５】
本実施の形態の情報処理装置２００、７００、９００で実行されるソフトウェア配信プログラムは、上述した各部（入力制御部、構成情報取得部、構成解析部、通信部、表示制御部）を含むモジュール構成となっており、実際のハードウェアとしてはＣＰＵ（プロセッサ）が上記ＲＯＭからソフトウェア配信プログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、入力制御部、構成情報取得部、構成解析部、通信部、表示制御部が主記憶装置上に生成されるようになっている。
【０２１６】
なお、上記実施の形態では、本発明の画像形成装置を、コピー機能、プリンタ機能、スキャナ機能およびファクシミリ機能のうち少なくとも２つの機能を有する複合機に適用した例を挙げて説明するが、複写機、プリンタ、スキャナ装置、ファクシミリ装置等の画像形成装置であればいずれにも適用することができる。
【０２１７】
なお、上記実施の形態は、複合機のアプリケーションのソフトウェアのインストールについて説明したが、アプリケーション以外のソフトウェアにも適用可能である。
【０２１８】
上記実施の形態では、ソフトウェア配信サーバ４００とライセンス管理サーバ３００と情報処理装置２００とがインターネットに接続され、情報処理装置２００と複合機とがLANに接続された構成となっているが、これに限定されるものではない。例えば、ソフトウェア配信サーバ４００とライセンス管理サーバ３００と情報処理装置２００とがインターネットに接続され、情報処理装置２００と複合機とがインターネット等の単一のネットワークに接続されている構成としてもよい。
【符号の説明】
【０２１９】
８０  インターネット
９０  ファイアウォール
１００、１２００、１９００  複合機
２００、７００、９００  情報処理装置
２０１  入力制御部
２０２、７０２、９０２  構成情報取得部
２０３、７０３  構成解析部
２０４、９０４  通信部
２０５  表示制御部
２１０、４１０  ＨＤＤ
２２０  入力装置
２３０  表示装置
３００  ライセンス管理サーバ
４００、８００  ソフトウェア配信サーバ
４０１  送信部
４０２  構成情報取得部
４０３、８０３  ソフトウェア取得部
７０６  メモリ
【先行技術文献】
【特許文献】
【０２２０】
【特許文献１】特開平１０−１４９２９１号公報
【図１】
2010218464.tif 000003
【図２】
2010218464.tif 000004
【図３】
2010218464.tif 000005
【図４−１】
2010218464.tif 000006
【図４−２】
2010218464.tif 000007
【図４−３】
2010218464.tif 000008
【図５】
2010218464.tif 000009
【図６】
2010218464.tif 000010
【図７】
2010218464.tif 000011
【図８−１】
2010218464.tif 000012
【図８−２】
2010218464.tif 000013
【図８−３】
2010218464.tif 000014
【図９】
2010218464.tif 000015
【図１０−１】
2010218464.tif 000016
【図１０−２】
2010218464.tif 000017
【図１０−３】
2010218464.tif 000018
【図１１】
2010218464.tif 000019
【図１２】
2010218464.tif 000020
【図１３−１】
2010218464.tif 000021
【図１３−２】
2010218464.tif 000022
【図１３−３】
2010218464.tif 000023
【図１４−１】
2010218464.tif 000024
【図１４−２】
2010218464.tif 000025
【図１４−３】
2010218464.tif 000026
【図１５】
2010218464.tif 000027
【図１６】
2010218464.tif 000028
【図１７】
2010218464.tif 000029
【図１８】
2010218464.tif 000030
【図１９】
2010218464.tif 000031
【図２０−１】
2010218464.tif 000032
【図２０−２】
2010218464.tif 000033
【図２０−３】
2010218464.tif 000034
【図２１−１】
2010218464.tif 000035
【図２１−２】
2010218464.tif 000036
【図２１−３】
2010218464.tif 000037
【図２２】
2010218464.tif 000038
【図２３】
2010218464.tif 000039
【図２４】
2010218464.tif 000040
【図２５】
2010218464.tif 000041