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