JP5293344B2 - 画像処理装置、ソフトウェア配信システム、インストール処理方法およびプログラム - Google Patents

画像処理装置、ソフトウェア配信システム、インストール処理方法およびプログラム Download PDF

Info

Publication number
JP5293344B2
JP5293344B2 JP2009083197A JP2009083197A JP5293344B2 JP 5293344 B2 JP5293344 B2 JP 5293344B2 JP 2009083197 A JP2009083197 A JP 2009083197A JP 2009083197 A JP2009083197 A JP 2009083197A JP 5293344 B2 JP5293344 B2 JP 5293344B2
Authority
JP
Japan
Prior art keywords
software
installation
information
image processing
dependent
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2009083197A
Other languages
English (en)
Other versions
JP2010237840A (ja
Inventor
聖彦 篠宮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2009083197A priority Critical patent/JP5293344B2/ja
Priority to US12/719,232 priority patent/US20100251232A1/en
Priority to CN201010145650A priority patent/CN101853169A/zh
Publication of JP2010237840A publication Critical patent/JP2010237840A/ja
Application granted granted Critical
Publication of JP5293344B2 publication Critical patent/JP5293344B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00204Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00204Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server
    • H04N1/00244Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server with a server, e.g. an internet server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00912Arrangements for controlling a still picture apparatus or components thereof not otherwise provided for
    • H04N1/00928Initialisation or control of normal start-up or shut-down, i.e. non failure or error related
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00962Input arrangements for operating instructions or parameters, e.g. updating internal software
    • H04N1/00973Input arrangements for operating instructions or parameters, e.g. updating internal software from a remote device, e.g. receiving via the internet instructions input to a computer terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0008Connection or combination of a still picture apparatus with another apparatus
    • H04N2201/0034Details of the connection, e.g. connector, interface
    • H04N2201/0037Topological details of the connection
    • H04N2201/0039Connection via a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0077Types of the still picture apparatus
    • H04N2201/0094Multifunctional device, i.e. a device capable of all of reading, reproducing, copying, facsimile transception, file transception

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Stored Programmes (AREA)
  • Facsimiles In General (AREA)

Description

本発明は、画像処理装置にソフトウェアをインストールする画像処理装置、ソフトウェア配信システム、インストール処理方法およびプログラムに関する。
近年の画像処理装置では、出荷後において、利用者もしくは第三者であるサードベンダがアプリケーションのソフトウェアとして新規な外部アプリケーションを開発して画像処理装置にインストール可能となっている。このようなアプリケーション等のプログラムを、複合機の出荷後にインストールする技術としては種々の技術が提供されている。
このようなインストール作業の際に、プログラムのインストール前に、予めインストールしておかなければならないソフトウェアプログラム(以下、「依存ソフトウェア」という。)が必要になる場合がある。このようなソフトウェア間のインストールの際の依存関係を正しく解消しない場合には、インストール対象のソフトウェアのインストールが不可能となるため、このような依存関係あるソフトウェアに関する技術が既に知られている。
例えば、特許文献1には、ハードウェアの装着状況に基づいてプログラムが動作可能か判定し、インストールの依存関係を判断してインストールを行う技術が開示されている。
また、特許文献2には、インストールしたアプリケーションの起動指示時にアプリケーションの依存関係に基づいて起動対象のアプリケーションが起動可能かを判断する技術が開示されている。
さらに、特許文献3には、予めソフトウェア間の依存関係を保持しておき、ソフトウェアのインストール順序を管理する技術が開示されている。
しかしながら、特許文献1の技術では、ソフトウェアとハードウェアの依存関係を考慮してソフトウェアのインストールを行うことは可能だが、ソフトウェア同士あるいはソフトウェアとファームウェアとの依存関係については判断していないため、ソフトウェア同士あるいはソフトウェアとファームウェアとの依存関係を考慮してソフトウェアを正確にインストールすることができないという問題がある。
また、特許文献2の技術でも、ソフトウェアの依存関係に基づく起動可否の詳細な処理は開示されておらず、また、ソフトウェア同士、あるいはソフトウェアとファームウェアとの依存関係を解消して正確なインストールを行うことができないという問題がある。
さらに、特許文献3の技術では、予めソフトウェアの関連情報を有向グラフで保持しておく手法にしか適用することができず、ソフトウェア同士あるいはソフトウェアとファームウェアとの依存関係を考慮してソフトウェアを正確にインストールすることができないという問題がある。
本発明は、上記に鑑みてなされたものであって、ソフトウェア同士あるいはソフトウェアとファームウェアとの依存関係を考慮してソフトウェアを正確にインストールすることができる画像処理装置、ソフトウェア配信システム、インストール処理方法およびプログラムを提供することを目的とする。
上述した課題を解決し、目的を達成するために、本発明にかかる画像処理装置は、ソフトウェアを配信するソフトウェア配信サーバにネットワークで接続された画像処理装置であって、記憶手段と、インストール対象のソフトウェアを指定したインストール要求を前記ソフトウェア配信サーバに送信する要求手段と、前記インストール要求の応答として、前記インストール対象のソフトウェアに関する情報が記述されたソフトウェア情報を、前記ソフトウェア配信サーバから受信する関連情報受信手段と、前記インストール対象のソフトウェアを取得するソフトウェア取得手段と、前記ソフトウェア情報に、前記インストール対象のソフトウェアの前にインストールが必要な依存ソフトウェアに関する依存情報が登録されているか否かを判断し、前記依存情報が登録されている場合に、前記依存情報に基づいて前記依存ソフトウェアがファームウェアであるか否かを判断する判断手段と、前記ソフトウェア情報に、前記依存情報が登録されている場合に、前記依存ソフトウェアを取得する依存ソフトウェア取得手段と、前記依存ソフトウェアがファームウェアである場合に、前記インストール対象のソフトウェアと前記ファームウェアとを取得した段階まで完了した旨を進行状態として前記記憶手段に記録する進行状態記録手段と、前記依存ソフトウェアがファームウェアである場合に、前記画像処理装置を再起動する起動手段と、前記進行状態を参照して、再起動後に、前記ファームウェアと前記インストール対象のソフトウェアとのインストール処理を実行するインストール処理手段と、を備えたことを特徴とする。
また、本発明にかかるソフトウェア配信システムは、ソフトウェアを配信するソフトウェア配信サーバと、前記ソフトウェア配信サーバにネットワークで接続され、前記ソフトウェアをインストールする画像処理装置とを備えたソフトウェア配信システムであって、前記画像処理装置は、第1記憶手段と、インストール対象のソフトウェアを指定したインストール要求を前記ソフトウェア配信サーバに送信する要求手段と、前記インストール要求の応答として、前記インストール対象のソフトウェアに関する情報が記述されたソフトウェア情報を、前記ソフトウェア配信サーバから受信する関連情報受信手段と、前記インストール対象のソフトウェアを取得するソフトウェア取得手段と、前記ソフトウェア情報に、前記インストール対象のソフトウェアの前にインストールが必要な依存ソフトウェアに関する依存情報が登録されているか否かを判断し、前記依存情報が登録されている場合に、前記依存情報に基づいて前記依存ソフトウェアがファームウェアであるか否かを判断する判断手段と、前記ソフトウェア情報に、前記依存情報が登録されている場合に、前記依存ソフトウェアを取得する依存ソフトウェア取得手段と、前記依存ソフトウェアがファームウェアである場合に、前記インストール対象のソフトウェアと前記ファームウェアとを取得した段階まで完了した旨を進行状態として前記第1記憶手段に記録する進行状態記録手段と、前記依存ソフトウェアがファームウェアである場合に、前記画像処理装置を再起動する起動手段と、前記進行状態を参照して、再起動後に、前記ファームウェアと前記インストール対象のソフトウェアとのインストール処理を実行するインストール処理手段と、を備え、前記ソフトウェア配信サーバは、前記ソフトウェアごとに前記ソフトウェア情報を記憶する第2記憶手段と、前記インストール要求を受信する要求受信手段と、前記インストール要求を受信した場合に、前記インストール要求のあった前記インストール対象のソフトウェアに対する前記ソフトウェア情報を前記第2記憶手段から取得して、前記インストール要求に対する応答として、取得した前記ソフトウェア情報を前記画像処理装置に送信する関連情報送信手段と、を備えたことを特徴とする。
また、本発明にかかるインストール処理方法は、ソフトウェアを配信するソフトウェア配信サーバと、前記ソフトウェア配信サーバにネットワークで接続され、前記ソフトウェアをインストールする画像処理装置とを備えたソフトウェア配信システムで実行されるインストール処理方法あって、前記画像処理装置は、第1記憶手段を備え、ソフトウェアごとに、ソフトウェアに関する情報が記述されたソフトウェア情報を記憶する第2記憶手段を備え、前記画像処理装置の要求手段が、インストール対象のソフトウェアを指定したインストール要求を前記ソフトウェア配信サーバに送信する要求ステップと、前記ソフトウェア配信サーバの要求受信手段が、前記インストール要求を受信するステップと、前記ソフトウェア配信サーバの関連情報送信手段が、前記インストール要求のあった前記インストール対象のソフトウェアに対する前記ソフトウェア情報と、前記インストール対象のソフトウェアとを、前記インストール要求に対する応答として、前記画像処理装置に送信するステップと、前記画像処理装置の関連情報受信手段が、前記インストール要求の応答として、前記インストール対象のソフトウェアの前記ソフトウェア情報を、前記ソフトウェア配信サーバから受信するステップと、前記画像処理装置のソフトウェア取得手段が、前記インストール対象のソフトウェアを取得するステップと、前記画像処理装置の判断手段が、前記ソフトウェア情報に、前記インストール対象のソフトウェアの前にインストールが必要な依存ソフトウェアに関する依存情報が登録されているか否かを判断し、前記依存情報が登録されている場合に、前記依存情報に基づいて前記依存ソフトウェアがファームウェアであるか否かを判断するステップと、前記画像処理装置の依存ソフトウェア取得手段が、前記ソフトウェア情報に、前記依存情報が登録されている場合に、前記依存ソフトウェアを取得するステップと、前記画像処理装置の進行状態記録手段が、前記依存ソフトウェアがファームウェアである場合に、前記インストール対象のソフトウェアと前記ファームウェアとを取得した段階まで完了した旨を、進行状態として前記第1記憶手段に記録するステップと、前記画像処理装置の起動手段が、前記依存ソフトウェアがファームウェアである場合に、前記画像処理装置を再起動するステップと、前記画像処理装置のインストール処理手段が、前記進行状態を参照して、再起動後に、前記ファームウェアと前記インストール対象のソフトウェアとのインストールを実行するステップと、を含むことを特徴とする。
また、本発明にかかるプログラムは、ソフトウェアを配信するソフトウェア配信サーバにネットワークで接続されたコンピュータを、記憶手段と、インストール対象のソフトウェアを指定したインストール要求を前記ソフトウェア配信サーバに送信する要求手段と、前記インストール要求の応答として、前記インストール対象のソフトウェアに関する情報が記述されたソフトウェア情報を、前記ソフトウェア配信サーバから受信する関連情報受信手段と、前記インストール対象のソフトウェアを取得するソフトウェア取得手段と、前記ソフトウェア情報に、前記インストール対象のソフトウェアの前にインストールが必要な依存ソフトウェアに関する依存情報が登録されているか否かを判断し、前記依存情報が登録されている場合に、前記依存情報に基づいて前記依存ソフトウェアがファームウェアであるか否かを判断する判断手段と、前記ソフトウェア情報に、前記依存情報が登録されている場合に、前記依存ソフトウェアを取得する依存ソフトウェア取得手段と、前記依存ソフトウェアがファームウェアである場合に、前記インストール対象のソフトウェアと前記ファームウェアとを取得した段階まで完了した旨を進行状態として前記記憶手段に記録する進行状態記録手段と、前記依存ソフトウェアがファームウェアである場合に、前記コンピュータを再起動する起動手段と、前記進行状態を参照して、再起動後に、前記ファームウェアと前記インストール対象のソフトウェアとのインストール処理を実行するインストール処理手段として機能させるためのプログラムである。
本発明によれば、ソフトウェア情報に、依存情報が登録されている場合に、依存ソフトウェアを取得し、依存ソフトウェアがファームウェアである場合に、インストール対象のソフトウェアとファームウェアとを取得した段階まで完了した旨を進行状態として記憶手段に記録し、依存ソフトウェアがファームウェアである場合に、画像処理装置を再起動し、進行状態を参照して、再起動後に、ファームウェアとインストール対象のソフトウェアとのインストール処理を実行することで、ソフトウェア同士あるいはソフトウェアとファームウェアとの依存関係を考慮してソフトウェアを正確にインストールすることができるという効果を奏する。
図1は、実施の形態1にかかる複合機100が接続されているソフトウェア配信システムのネットワーク構成を示す概要図である。 図2は、実施の形態1にかかる複合機100の機能的構成を示すブロック図である。 図3は、実施の形態1のアプリインストール制御サービス131の機能的構成を示すブロック図である。 図4は、機器情報の一例を示す説明図である。 図5は、指示情報の一例を示す説明図である。 図6は、パッケージ情報の一例を示す説明図である。 図7は、進行状態の一例を示す説明図である。 図8は、ソフトウェア配信サーバ500の機能的構成を示すブロック図である。 図9は、ソフトウェア配信処理の流れを示すシーケンス図である。 図10は、指示情報生成処理の手順を示すフローチャートである。 図11は、実施の形態1のインストール処理の手順を示すフローチャートである。 図12は、実施の形態1のインストール処理の手順(図11の続き)を示すフローチャートである。 図13は、インストールの続行処理の手順を示すフローチャートである。 図14は、実施の形態2の複合機のアプリインストール制御サービス1431の機能的構成を示すブロック図である。 図15は、実施の形態2のインストール処理の手順を示すフローチャートである。 図16は、実施の形態3の複合機のアプリインストール制御サービス1631の機能的構成を示すブロック図である。 図17は、実施の形態3のインストール処理の手順を示すフローチャートである。 図18は、実施の形態4の複合機のアプリインストール制御サービス1831の機能的構成を示すブロック図である。 図19は、実施の形態4のインストール処理の手順を示すフローチャートである。 図20は、実施の形態5の複合機のアプリインストール制御サービス2031の機能的構成を示すブロック図である。 図21は、実施の形態5のインストール処理の手順を示すフローチャートである。 図22は、上記実施の形態にかかる複合機100のハードウェア構成を示すブロック図である。
以下に添付図面を参照して、この発明にかかる画像処理装置、ソフトウェア配信システム、インストール処理方法およびプログラムの最良な実施の形態を詳細に説明する。
(実施の形態1)
図1は、実施の形態1にかかる複合機100が接続されているソフトウェア配信システムのネットワーク構成を示す概要図である。図1に示すように、本実施の形態のソフトウェア配信システムは、複数の複合機100と、ソフトウェア配信サーバ500と、ライセンス管理サーバ400と、Webサーバ200とを備え、これらが、インターネットなどのネットワーク80を介して接続されている。なお、ソフトウェア配信サーバ500に接続されている複合機100は、単数であってもよい。
ソフトウェア配信サーバ500は、各種アプリケーションのソフトウェアやファームウェア等のパッケージを保持し、かつ管理しており、クライアントとしての複合機100からのインストール要求に対して、インストール要求により指定されたインストール対象のアプリケーションのソフトウェアと、そのソフトウェアに関するパッケージ情報(ソフトウェア情報)、インストール処理の動作指示を示す指示情報をインストール要求を送信した複合機100にダウンロードするサーバ装置である。
ライセンス管理サーバ400は、クライアントとしての複合機100にインストールされるソフトウェアのライセンス(利用権)を管理するサーバ装置である。具体的には、各複合機100からのアクティベーション要求によりソフトウェアのライセンスファイルを複合機100に送信する。ここで、ライセンスファイルとは、ソフトウェアのライセンスが記述されたデータである。
ここで、ライセンスの形態としては以下の形態がある。
第1に、月額固定契約である。この月額固定契約は、定額料金で顧客に機能の利用権を貸し出す契約であり、この場合、ライセンスファイルとして正式ライセンスが送信される。
第2に、従量課金契約である。この従量課金契約は、機能の利用状況に応じた料金(変動料金)で機能の利用権を顧客に貸し出す契約であり、この場合もライセンスファイルとして正式なライセンスが送信される。
第3に、期間限定利用契約である。この期間限定利用契約は、契約の中で定めた期間で顧客に機能の利用権を貸し出す契約であり、この場合には、ライセンスファイルとして期限付きの正式ライセンスが送信される。
第4に、売り切り契約である。この売り切り契約は、機能の利用権を顧客に買い取ってもらう契約であり、この場合、ライセンスファイルとして無期限の正式ライセンスが送信される。
第5に、お試し契約である。お試し契約は、一定期間、無償で機能の利用権を貸し出す契約であり、この場合、ライセンスファイルとしてお試しライセンス(試用ライセンス)が送信される。
Webサーバ200は、アプリケーション等のソフトウェアのポータル販売サイトを有するサーバ装置である。ユーザが不図示のPC(personal Computer)た複合機100等からこのWebサーバ200のポータル販売サイトにアクセスして、所望のアプリケーションソフトウェアを購入する。
次に、複合機100について説明する。図2は、実施の形態1にかかる複合機100の機能的構成を示すブロック図である。図2に示すように、複合機100は、白黒レーザプリンタ(B&W LP)101と、カラーレーザプリンタ(Color LP)102と、HDD103と、スキャナ、ファクシミリ、メモリなどのハードウェアリソース104、通信I/F(インターフェース)105を有するとともに、プラットホーム120と、アプリケーション130とから構成されるソフトウェア群110とを備えている。
本実施の形態の複合機100では、HDD103に、機器情報や、ソフトウェア配信サーバ500からダウンロードしたアプリケーションのソフトウェアパッケージ、ファームウェアパッケージ、パッケージ情報、インストール処理の動作指示を示す指示情報、およびライセンス管理サーバ400からダウンロードアプリケーションのライセンスファイルが保存される。また、このHDD103に、インストール処理の進行状態が記録される。
プラットホーム120は、アプリケーションからの処理要求を解釈してハードウェア資源の獲得要求を発生させるコントロールサービスと、一または複数のハードウェア資源の管理を行い、コントロールサービスからの獲得要求を調停するシステムリソースマネージャ(SRM)123と、汎用OS121とを有する。
コントロールサービスは、複数のサービスモジュールから形成され、SCS(システムコントロールサービス)122と、ECS(エンジンコントロールサービス)124と、MCS(メモリコントロールサービス)125と、OCS(オペレーションパネルコントロールサービス)126と、FCS(ファックスコントロールサービス)127と、NCS(ネットワークコントロールサービス)128と、NRS(ニューリモートサービス)129と、アプリインストール制御サービス131と、から構成される。このプラットホーム120は、あらかじめ定義された関数により前記アプリケーション130から処理要求を受信可能とするアプリケーションプログラムインタフェース(API)を有する。
汎用OS121は、UNIX(登録商標)などの汎用オペレーティングシステムであり、プラットホーム120並びにアプリケーション130の各ソフトウェアをそれぞれプロセスとして並列実行する。
SRM123のプロセスは、SCS122とともにシステムの制御およびリソースの管理を行うものである。SRM123のプロセスは、スキャナ部やプリンタ部などのエンジン、メモリ、HDDファイル、ホストI/O(セントロI/F、ネットワークI/F、IEEE1394 I/F、RS232C I/Fなど)のハードウェア資源を利用する上位層からの要求にしたがって調停を行い、実行制御する。
具体的には、このSRM123は、要求されたハードウェア資源が利用可能であるか(他の要求により利用されていないかどうか)を判断し、利用可能であれば要求されたハードウェア資源が利用可能である旨を上位層に伝える。また、SRM123は、上位層からの要求に対してハードウェア資源の利用スケジューリングを行い、要求内容(例えば、プリンタエンジンにより紙搬送と作像動作、メモリ確保、ファイル生成など)を直接実施している。
SCS122のプロセスは、アプリ管理、操作部制御、システム画面表示、LED表示、リソース管理、割り込みアプリ制御などを行う。
ECS124のプロセスは、白黒レーザプリンタ(B&W LP)101、カラーレーザプリンタ(Color LP)102、スキャナ、ファクシミリなどからなるハードウェアリソース104のエンジンの制御を行う。
MCS125のプロセスは、画像メモリの取得および解放、ハードディスク装置(HDD)の利用、画像データの圧縮および伸張などを行う。
FCS127のプロセスは、システムコントローラの各アプリ層からPSTN/ISDN網を利用したファクシミリ送受信、BKM(バックアップSRAM)で管理されている各種ファクシミリデータの登録/引用、ファクシミリ読みとり、ファクシミリ受信印刷、融合送受信を行うためのAPIを提供する。
NCS128のプロセスは、ネットワークI/Oを必要とするアプリケーションに対して共通に利用できるサービスを提供するためのプロセスであり、ネットワーク側から各プロトコルによって受信したデータを各アプリケーションに振り分けたり、アプリケーションからデータをネットワーク側に送信する際の仲介を行う。
OCS126のプロセスは、オペレータ(利用者)と本体制御間の情報伝達手段となるオペレーションパネル(操作パネル)の制御を行う。OCS126は、オペレーションパネルからキー押下(またはタッチ操作)をキーイベントとして取得し、取得したキーに対応したキーイベント関数をSCS122に送信するOCSプロセスの部分と、アプリケーション130またはコントロールサービスからの要求によりオペレーションパネルに各種画面を描画出力する描画関数やその他オペレーションパネルに対する制御を行う関数などがあらかじめ登録されたOCSライブラリの部分とから構成される。このOCSライブラリは、アプリケーション130およびコントロールサービスの各モジュールにリンクされて実装されている。なお、OCS126のすべてをプロセスとして動作させるように構成しても良く、あるいはOCS126のすべてをOCSライブラリとして構成しても良い。
アプリインストール制御サービス131のプロセスは、複合機100にアプリケーションをインストールする制御を行う。このアプリインストール制御サービス131の詳細については後述する。
NRS129のプロセスは、ネットワークを介してデータを送受信する際のデータの変換を行う等のネットワークを介した機器遠隔管理に関する機能及びスケジューラ機能を有している。
アプリケーション130は、ページ記述言語(PDL)、PCLおよびポストスクリプト(PS)を有するプリンタ用のアプリケーションであるプリンタアプリ111と、コピー用アプリケーションであるコピーアプリ112と、ファクシミリ用アプリケーションであるファックスアプリ113と、スキャナ用アプリケーションであるスキャナアプリ114と、ネットワークファイル用アプリケーションであるネットファイルアプリ115と、工程検査用アプリケーションである工程検査アプリ116と、インターネットに接続されたPC等のクライアント端末に対してWEBサーバ(httpサーバ)として動作し、クライアント端末上で動作するWEBブラウザに各種画面を表示するWEBアプリ117とを有している。
アプリケーション130の各プロセス、コントロールサービスの各プロセスは、関数呼び出しとその戻り値送信およびメッセージの送受信によってプロセス間通信を行いながら、コピー、プリンタ、スキャナ、ファクシミリなどの画像形成処理にかかるユーザサービスを実現している。
このように、実施の形態1にかかる複合機100には、複数のアプリケーション130および複数のコントロールサービスが存在し、いずれもプロセスとして動作している。そして、これらの各プロセス内部には、一または複数のスレッドが生成されて、スレッド単位の並列実行が行われる。そして、コントロールサービスがアプリケーション130に対し共通サービスを提供しており、このため、これらの多数のプロセスが並列動作、およびスレッドの並列動作を行って互いにプロセス間通信を行って協調動作をしながら、コピー、プリンタ、スキャナ、ファクシミリなどの画像形成処理にかかるユーザサービスを提供するようになっている。
また、複合機100には、複合機100の顧客、サードベンダなどの第三者がコントロールサービス層の上のアプリケーション層に外部アプリ172を開発して搭載することが可能となっている。この外部アプリ172は、アプリインストール制御サービス131によりソフトウェア配信サーバ500からダウンロードしてインストールされたアプリケーションであり、図2は、アプリケーションが実行されている状態を示している。
なお、実施の形態1にかかる複合機100では、複数のアプリケーション130のプロセスと複数のコントロールサービスのプロセスとが動作しているが、アプリケーション130とコントロールサービスのプロセスとがそれぞれ単一の構成とすることも可能である。また、各アプリケーション130は、アプリケーションごとに追加または削除することができる。すなわち、上述したように、外部アプリ172をインストール可能であり、かつアンインストールも可能となっている。
次に、アプリインストール制御サービス131の詳細について説明する。図3は、実施の形態1のアプリインストール制御サービス131の機能的構成を示すブロック図である。図3に示すように、本実施の形態のアプリインストール制御サービス131は、要求部301と、関連情報受信部302と、ソフトウェア取得部303と、判断部304と、依存ソフトウェア取得部305と、インストール処理部306と、アクティベーション処理部307と、進行状態記録部308と起動部309とを主に備えている。
要求部301は、ユーザによって指定されたアプリケーションのソフトウェアのインストール要求を、HDD103に保存されている機器情報とともに、NCS128を介してソフトウェア配信サーバ500に送信する。
ここで、機器情報は、複合機100に設定されている各種設定内容や、複合機100にインストールされているアプリケーション等のソフトウェアの一覧(インストール済みソフトウェア一覧)を示すデータである。図4は、機器情報の一例を示す説明図である。図4の例では、機器情報は、捜査パネル(オペレーションパネル)の表示言語、操作パネルサイズ、複合機100のURL、インストール済みソフトウェア一覧が登録されている。
インストール済みソフトウェア一覧には、インストールされているソフトウェアの名称、バージョン、アクティベーション済みか否かの情報が対応付けて登録されている。
関連情報受信部302は、インストール要求に応答して、ソフトウェア配信サーバ500から送信されるアプリケーションのソフトウェアパッケージのパッケージ情報、指示情報をNCS128を介してダウンロードする。
ここで、指示情報は、機器情報のインストール済みソフトウェア一覧の内容からソフトウェア配信サーバ500で生成されるデータであり、インストールやアクティベーションに関する一連の処理の動作指示が登録されている。図5は、指示情報の一例を示す説明図である。
指示情報は、図5に示すように、コードと、コードと対応付けられた動作指示とから構成される。複合機100は、このソフトウェア配信サーバ500から受信した指示情報のコードに対応する動作指示に従って、ソフトウェアのインストール処理を実行する。例えば、動作指示がM01の場合には、複合機100は、ソフトウェアの新規インストールと新規のアクティベーションを行う。また、動作指示がM04の場合には、複合機100は、ソフトウェアのソフトウェア更新と期限更新のアクティベーションを行う。
また、パッケージ情報は、ソフトウェアパッケージの内容やそのソフトウェアがインストールされる前にインストールされていることが必要なソフトウェア、すなわち依存関係のある依存ソフトウェアの関連情報である依存情報が登録されたデータである。図6は、パッケージ情報の一例を示す説明図である。本実施の形態では、パッケージ情報は、XML形式のデータとして構成しているが、これに限定されるものではない。
パッケージ情報は、図6に示すように、パッケージ内容と依存情報とから構成される。パッケージ内容には、<productid>タグにソフトウェアを特定するためのID、<version>タグにソフトウェアのバージョン等が登録されている。
依存情報は、<depend>タグに記述された内容である。この依存情報には、<plugin productid>タグに依存ソフトウェアを特定するためのID、<version>タグにソフトウェアのバージョン、<type>タグにファームウェア依存か否か、<location>タグに依存ソフトウェアの取得先(省略時は、ソフトウェア配信サーバのアドレスとなる)が登録されている。
図3に戻り、ソフトウェア取得部303は、インストール要求に応答して、ソフトウェア配信サーバ500から送信されるアプリケーションのソフトウェアパッケージをNCS128を介してダウンロードする。
判断部304は、パッケージ情報の<depend>タグの有無を参照し、インストール対象のソフトウェアの前にインストールが必要な依存ソフトウェアに関する依存情報が登録されているか否かを判断する。依存情報が登録されている場合には、判断部304は、依存情報に記述されている<type>タグの内容から依存ソフトウェアがファームウェアであるか否かを判断する。
依存ソフトウェア取得部305は、パッケージ情報に、依存情報が登録されている場合に、依存情報の<location>タグに設定されている取得先から依存ソフトウェアとなるアプリケーションのソフトウェアあるいはファームウェアのパッケージを、NCS128を介してダウンロードする。具体的には、依存ソフトウェア取得部305は、依存情報の<plugin productid>タグに設定されたIDを、ソフトウェア配信サーバ500で検索しダウンロードする。
なお、本実施の形態では、依存ソフトウェアをソフトウェア配信サーバ500からダウンロートするものとして説明するが、これに限定されるものではない。
インストール処理部306は、ダウンロードしたアプリケーションのソフトウェア、ファームウェアのインストール処理を指示情報に従って実行する。
アクティベーション処理部307は、インストールされたアプリケーションのソフトウェア、ファームウェアのアクティベーション処理を指示情報に従って実行する。具体的には、アクティベーション処理部307は、指示情報のアクティベーション指示がある場合に、ライセンス管理サーバ400にアクセスして、対象のソフトウェアやファームウェアのライセンスIDや有効期限が登録されたライセンスファイルをダウンロードし、対象のソフトウェアやファームウェアの有効化を行う。
進行状態記録部308は、インストール処理、アクティベーション処理の一連の処理の各段階でその進行状態をHDD103に記録する。図7は、進行状態の一例を示す説明図である。図7の例1では、インストール処理およびアクティベーション処理が正常に終了した場合の進行状態を示している。例2では、依存ソフトウェアとしてファームウェアをインストールする際に、再起動する時点における進行状態の例を示している。例3は、インストール中にエラーが発生した場合の進行状態の例を示している。
図3に戻り、起動部309は、汎用OS121に対しリブート指示を行って、複合機100を再起動させる。この際、起動部309は、通常モードで再起動させるか、セーフモードで再起動させるかの指定も行う。
次に、ソフトウェア配信サーバ500の詳細について説明する。図8は、ソフトウェア配信サーバ500の機能的構成を示すブロック図である。ソフトウェア配信サーバ500は、図8に示すように、要求受信部501と、指示情報生成部502と、送信部503と、HDD504とを主に備えている。
HDD504は、ソフトウェアのパッケージとパッケージ情報が対応付けられて保存されている。
要求受信部501は、複合機100からインストール対象のソフトウェアが指定され、かつ機器情報を含むインストール要求を受信する。
指示情報生成部502は、受信した機器情報のインストール済みソフトウェア一覧の内容から指示情報を生成する。
送信部503は、インストール要求で指定されたソフトウェアのパッケージとパッケージ情報、依存ソフトウェアのパッケージ、生成した指示情報を、複合機100に送信する。
次に、以上のように構成された本実施の形態のソフトウェア配信システムによるソフトウェア配信処理について説明する。図9は、ソフトウェア配信処理の流れを示すシーケンス図である。
まず、複合機100においてユーザによるログイン処理がなされ(ステップS11)、複合機100は、オペレーションパネルに設定メニュー画面を表示する(ステップS12)。ユーザは、この設定メニュー画面からインストール対象のアプリケーションのソフトウェアを選択してインストール指示を行うと、複合機100はかかる指示を受け付ける(ステップS13)。これにより、複合機100からソフトウェア配信サーバ500に機器情報を含むインストール要求、すなわち、ソフトウェアパッケージのダウンロード要求が送信される(ステップS14)。
ソフトウェア配信サーバ500では、かかる要求を受信すると、指示情報生成部502によって指示情報を生成し(ステップS15)、送信部によって、ソフトウェアのパッケージと、パッケージ情報、指示情報を、インストール要求を行った複合機100に送信する(ステップS16)。
複合機100では、インストール処理を行うが(ステップS17)、このインストール処理の中で、依存ソフトウェアパッケージのソフトウェア配信サーバ500への要求(ステップS18)、依存ソフトウェアパッケージのダウンロード(ステップS19)が行われる。
複合機100では、ソフトウェア、および依存ソフトウェアがインストールされたら、アクティベーション処理が行われる(ステップS20)。このアクティベーション処理の中で、ライセンス管理サーバ400に対してライセンス要求がなされ(ステップS21)、ライセンスファイルがダウンロードされる(ステップS21)。
次に、ソフトウェア配信サーバ500で実行されるステップS15の指示情報生成処理について説明する。図10は、指示情報生成処理の手順を示すフローチャートである。
指示情報生成部502は、複合機100から受信した機器情報のインストール済みソフトウェア一覧を取得し(ステップS31)、インストール要求で指定されたインストール済みソフトウェアが既にインストール済みか否かを判断する(ステップS32)。
そして、まだインストールされていない場合には(ステップS32:No)、指示情報としてコードM01を決定する(ステップS33)。
一方、既にインストール済みの場合には(ステップS32:Yes)、指示情報生成部502は、インストール対象ソフトウェアのアクティベーションが完了しているか否かを判断する(ステップS34)。そして、アクティベーションがまだ完了していない場合には(ステップS34:No)、指示情報生成部502は、さらに、インストール対象のソフトウェアの最新バージョンがHDD504に存在するか否かを判断する(ステップS35)。そして、最新バージョンが存在する場合には(ステップS35:Yes)、指示情報のコードとしてM02を決定する(ステップS36)。一方、最新バージョンがHDD504に存在しない場合には(ステップS35:No)、指示情報のコードとしてM03を決定する(ステップS37)。
ステップS34において、インストール対象ソフトウェアのアクティベーションが完了している場合には(ステップS34:Yes)、指示情報生成部502は、さらに、インストール対象のソフトウェアの最新バージョンがHDD504に存在するか否かを判断する(ステップS38)。そして、最新バージョンが存在する場合には(ステップS38:Yes)、指示情報のコードとしてM04またはM06を決定する(ステップS39)。
ここで、コードM04が決定されるのは、ライセンス更新の場合であり、期限更新やお試しライセンスから有償版へ切り換える場合が該当する。一方、コードM06が決定されるのは、ソフトウェア更新の場合である。
一方、最新バージョンがHDD504に存在しない場合には(ステップS38:No)、指示情報のコードとしてM05を決定する(ステップS40)。
以上のようなコードを決定した後、指示情報生成部502は、決定されたコードを含めたデータを指示情報として生成する(ステップS41)。
次に、複合機100で実行されるインストール処理について説明する。図11および図12は、実施の形態1のインストール処理の手順を示すフローチャートである。
まず、アプリインストール制御サービス131の要求部301は、ユーザからインストール指示を受けて(ステップS51:Yes)、ソフトウェア配信サーバ500に対しインストール対象のソフトウェアパッケージのダウンロード要求(インストール要求)を行う(ステップS52)。この要求には、機器情報も含まれる。
いずれ、ソフトウェア取得部303がソフトウェア配信サーバ500からインストール対象のソフトウェアのパッケージをダウンロードし、関連情報受信部302がソフトウェア配信サーバ500からパッケージ情報および指示情報をダウンロードしてそれぞれHDD103に保存する(ステップS53)。
次に、判断部304は、パッケージ情報を参照して依存情報の有無により、依存ソフトウェアのパッケージが必要か否かを判断する(ステップS54)。そして、必要であれば、依存ソフトウェア取得部305はソフトウェア配信サーバ500から依存ソフトウェアのパッケージをダウンロードし、HDD103に保存する(ステップS55)。そして、進行状態記録部308は、インストール対象のソフトウェアパッケージと依存ソフトウェアのパッケージのダウンロード完了の旨を進行状態としてHDD103に記録する(ステップS56)。
そして、判断部304は、さらに依存情報の<type>を参照し、依存ソフトウェアにファームウェアを含むか否かを判断する(ステップS57)。
そして、依存ソフトウェアにファームウェアを含まない場合には(ステップS57:No)、インストール処理部306は、インストール対象のソフトウェアパッケージをHDD103から取得して(ステップS71)、インストール処理を実行する(ステップS72)。
インストール中にエラーが発生した場合には(ステップS73:Yes)、進行状態記録部308がパッケージのインストール中にエラーが発生した旨を、進行状態として図7の例3に示すようにHDD103記録する(ステップS74)。そして、起動部309が通常モードでリブート指示を行い(ステップS75)、これにより複合機100は再起動する(ステップS76)。
一方、ステップS73において、エラーが発生せずにインストール処理が終了すると(ステップS73:No)、進行状態記録部308は、インストール完了の旨の進行状態をHDD103に記録する(ステップS77)。そして、アクティベーション処理部307は、指示情報にアクティベーションの指示があるか否かを判断し(ステップS78)、アクティベーションの指示がある場合には(ステップS78:Yes)、アクティベーション処理部307はアクティベーション処理を実行する(ステップS79)。そして、進行状態記録部308は、アクティベーション処理が完了した旨の進行状態を図7の例1に示すようにHDD103に記録する(ステップS80)。
一方、ステップS57に戻り、依存ソフトウェアにファームウェアを含む場合には(ステップS57:Yes)、起動部309は、セーフモードでリブート指示を送出し(ステップS58)、これにより複合機100が再起動される(ステップS59)。
次に、複合機100が再起動した後のインストールの続行処理について説明する。図13は、インストールの続行処理の手順を示すフローチャートである。まず、複合機100は、セーフモードで起動される旨の指示があるか否かを判断する(ステップS90)。そして、セーフモードの指示がある場合には(ステップS90:Yes)、セーフモードで複合機100を起動する(ステップS91)。
そして、判断部304は、HDD103に記録されている進行状態を読み出して(ステップS92)、現在の状態を把握し、指示情報に残りのインストール指示があるか否かを判断する(ステップS93)。
そして、残りのインストール指示がある場合(ステップS93:Yes)、すなわち、ファームウェアのインストールが完了していない場合、インストール処理部306は、HDD103からファームウェアのパッケージを取得して(ステップS94)、取得したファームウェアをインストールする(ステップS95)。次いで、進行状態記録部308は、ファームウェアのインストール完了の旨の進行状態をHDD103に記録する(ステップS96)。
次に、起動部309は、通常モードでリブート指示を行い(ステップS97)、これにより複合機100は再起動する(ステップS98)。この後、ステップS90へ戻る。
一方、ステップS90において、通常モードの指示がある場合には(ステップS90:No)、通常モードで複合機100を起動する(ステップS99)。
そして、判断部304は、HDD103に記録されている進行状態を読み出して(ステップS100)、現在の状態を把握し、指示情報に残りのインストール指示があるか否かを判断する(ステップS101)。
そして、残りのインストール指示がある場合(ステップS101:Yes)、すなわち、エラー発生後の再起動あるいはファームウェアインストール後のインストール続行の場合、インストール処理部306は、HDD103からソフトウェアのパッケージを取得して(ステップS102)、取得したソフトウェアパッケージをインストールする(ステップS103)。次いで、進行状態記録部308は、ソフトウェアのインストール完了の旨の進行状態をHDD103に記録する(ステップ104)。
そして、アクティベーション処理部307は、指示情報にアクティベーションの指示があるか否かを判断し(ステップS105)、アクティベーションの指示がある場合には(ステップS105:Yes)、アクティベーション処理部307はアクティベーション処理を実行する(ステップS106)。そして、進行状態記録部308は、アクティベーション処理が完了した旨の進行状態を図7の例1に示すようにHDD103に記録する。このようにして一連のインストール処理、アクティベーション処理が完了する。
このように実施の形態1では、複合機100がインストール要求によりソフトウェアのパッケージとそのパッケージ情報を取得して、パッケージ情報に依存ソフトウェアとしてファームウェアが存在する場合には、進行状態を記録して複合機100を再起動させ、再起動後にファームウェアのインストール、ソフトウェアのインストールを行っている。また、パッケージ情報に依存ソフトウェアが存在する場合には、インストール対象ソフトウェアと依存ソフトウェアのインストールを行っている。このため、本実施の形態によれば、ソフトウェア同士あるいはソフトウェアとファームウェアとの依存関係を考慮してソフトウェアを正確にインストールすることができる。
また、本実施の形態では、ソフトウェアのインストール中にエラーが発生した場合、現在までの進行状態を記録して複合機を再起動させ、再起動後にこのソフトウェアのインストールを続行しているので、インストールエラーが生じた場合でも、ソフトウェア同士あるいはソフトウェアとファームウェアとの依存関係を考慮してソフトウェアを正確にインストールすることができる。
(実施の形態2)
実施の形態1では、依存ソフトウェアをソフトウェア配信サーバ500からダウンロードしていたが、この実施の形態では、依存ソフトウェアをSDカード等の外部記憶媒体から取得してインストールしている。
本実施の形態のソフトウェア配信システムのネットワーク構成、複合機100の全体構成、ソフトウェア配信サーバ500の機能的構成は実施の形態1と同様である。
図14は、実施の形態2の複合機のアプリインストール制御サービス1431の機能的構成を示すブロック図である。図14に示すように、本実施の形態のアプリインストール制御サービス1431は、要求部301と、関連情報受信部302と、ソフトウェア取得部303と、判断部304と、依存ソフトウェア取得部1405と、インストール処理部306と、アクティベーション処理部307と、進行状態記録部308と起動部309とを主に備えている。
ここで、要求部301、関連情報受信部302、ソフトウェア取得部303、判断部304、インストール処理部306、アクティベーション処理部307、進行状態記録部308、起動部309の機能、構成については実施の形態1と同様である。
依存ソフトウェア取得部1405は、パッケージ情報に、依存情報が登録されている場合に、SDカード等の外部記憶媒体から依存ソフトウェアとなるアプリケーションのソフトウェアあるいはファームウェアのパッケージを取得する。SDカード等の外部記憶媒体から依存ソフトウェアが存在しない場合には、依存ソフトウェア取得部1405は、ソフトウェア配信サーバ500あるいはパッケージ情報の<location>タグに指定されている取得先から依存ソフトウェアをダウンロードする。なお、SDカード等の外部記憶媒体から依存ソフトウェアが存在しない場合には、複合機100の初期設定に従って、ネットワーク上で依存ソフトウェアを検索し、検索されなかった場合に、パッケージ情報の<location>タグに指定されている取得先から取得するように構成してもよい。
次に、このように構成された実施の形態2のインストール処理について説明する。図15は、実施の形態2のインストール処理の手順を示すフローチャートである。ステップS1301からS1304までの処理については実施の形態1と同様に行われる。
ステップS1304において、パッケージ情報から依存ソフトウェアのパッケージが必要であると判断した場合には(ステップS1304:Yes)、依存ソフトウェア取得部1405は、複合機100に装着されたSDカード等の外部記憶媒体の中から依存ソフトウェアを検索する(ステップS1305)。そして、SDカード等の外部記憶媒体に依存ソフトウェアが存在する場合には(ステップS1306:Yes)、依存ソフトウェア取得部1405は、SDカード等の外部記憶媒体から依存ソフトウェアを取得し、HDD103に保存する(ステップS1311)。この後の処理については実施の形態1と同様に行われる。
ステップS1306において、SDカード等の外部記憶媒体に依存ソフトウェアが存在しない場合には(ステップS1306:No)、依存ソフトウェア取得部1405は、パッケージ情報の依存情報の<location>タグで指定された保存場所を取得し(ステップS1307)、当該保存場所で依存ソフトウェアのパッケージを検索する(ステップS1308)。そして、依存ソフトウェアが存在する場合には(ステップS1309:Yes)、当該保存場所から依存ソフトウェアをダウンロードし、HDD103に保存する(ステップS1311)。この後の処理については実施の形態1と同様に行われる。
一方、ステップS1309において、指定された保存場所に依存ソフトウェアのパッケージが存在しない場合には(ステップS1309:No)、オペレーションパネルにエラーを表示し(ステップS1310)、処理を終了する。
このように実施の形態2では、SDカード等の外部記憶媒体からインストール対象のソフトウェアに依存する依存ソフトウェアを取得してインストールするため、外部記憶媒体を利用したインストールの場合においても、ソフトウェア同士あるいはソフトウェアとファームウェアとの依存関係を考慮してソフトウェアを正確にインストールすることができる。
(実施の形態3)
実施の形態1,2では、依存ソフトウェアが存在する場合には、常に依存ソフトウェアのインストールを行っていたが、この実施の形態3では、依存ソフトウェアが有償ソフトウェアの場合にはインストール処理を行わないものである。
本実施の形態のソフトウェア配信システムのネットワーク構成、複合機100の全体構成、ソフトウェア配信サーバ500の機能的構成は実施の形態1と同様である。
図16は、実施の形態3の複合機のアプリインストール制御サービス1631の機能的構成を示すブロック図である。図16に示すように、本実施の形態のアプリインストール制御サービス1631は、要求部301と、関連情報受信部302と、ソフトウェア取得部303と、判断部1604と、依存ソフトウェア取得部1605と、インストール処理部1606と、アクティベーション処理部307と、進行状態記録部308と起動部309とを主に備えている。
ここで、要求部301、関連情報受信部302、ソフトウェア取得部303、アクティベーション処理部307、進行状態記録部308、起動部309の機能、構成については実施の形態1と同様である。
判断部1604は、依存ソフトウェアの有無を判断して依存ソフトウェアが存在する場合に、パッケージ情報の依存情報から依存ソフトウェアが有償のソフトウェアか否かを判断する。具体的には、依存情報の<type>タグに有償ソフトウェアであるか否かが指定されるので、判断部1604は、この<type>タグを参照して、有償ソフトウェアであるか否かを判断する。
依存ソフトウェア取得部1605は、依存ソフトウェアが有償のソフトウェアである場合には、依存ソフトウェアの取得を行わない。従って、インストール処理部1606は、依存ソフトウェアが有償のソフトウェアである場合には、依存ソフトウェアのインストールを行わない。
次に、このように構成された実施の形態3のインストール処理について説明する。図17は、実施の形態3のインストール処理の手順を示すフローチャートである。ステップS1501からS1505までの処理については実施の形態1と同様に行われる。
ステップS1505の後、判断部1604は、依存ソフトウェアが有償であるか否かを判断する(ステップS1506)。そして、依存ソフトウェアが有償である場合には(ステップS1506:Yes)、オペレーションパネルにエラーを表示し(ステップS1511)、処理を終了する。従って、依存ソフトウェアの取得およびインストールは行われないことになる。
なお、エラー表示としては、種々の表示形態があるが、例えば、インストール対象のソフトウェアのID等とともに「依存ソフトウェアをインストールできません」等のエラーメッセージをオペレーションパネルに表示すればよい。
一方、ステップS1506において、依存ソフトウェアが有償でない場合には(ステップS1506:No)、以降、実施の形態1と同様の処理で依存ソフトウェアの取得およびインストールが実行されることになる。
このように本実施の形態では、インストール対象のソフトウェアの依存ソフトウェアが有償である場合には、依存ソフトウェアの取得およびインストールは行わないので、インストール対象のソフトウェアの依存ソフトウェアが自動的にインストールされる複合機10において、ユーザが想定外の料金を請求されることを防止でき、かつその旨を表示するのでユーザの操作性を向上させることができる。
(実施の形態4)
実施の形態4では、インストール対象のソフトウェアおよび依存ソフトウェアが複合機100に既にインストールされている場合に、ソフトウェア配信サーバ500からのパッケージ情報からインストール対象のソフトウェアのバージョンと複合機100にインストール済みの同一ソフトウェアのバージョンを比較して、同じバージョンの場合にはインストールを行わないものである。
本実施の形態のソフトウェア配信システムのネットワーク構成、複合機100の全体構成、ソフトウェア配信サーバ500の機能的構成は実施の形態1と同様である。
図18は、実施の形態4の複合機のアプリインストール制御サービス1831の機能的構成を示すブロック図である。図18に示すように、本実施の形態のアプリインストール制御サービス1831は、要求部301と、関連情報受信部302と、ソフトウェア取得部1803と、判断部1804と、依存ソフトウェア取得部1805と、インストール処理部1806と、アクティベーション処理部307と、進行状態記録部308と起動部309とを主に備えている。
ここで、要求部301、関連情報受信部302、アクティベーション処理部307、進行状態記録部308、起動部309の機能、構成については実施の形態1と同様である。
本実施の形態では、判断部1804は、ソフトウェア配信サーバ500から受信したパッケージ情報のパッケージ内容および依存情報の<version>タグに記載のバージョンと、機器情報のインストール済みソフトウェア一覧のうちインストール対象のソフトウェアのバージョンあるいは依存ソフトウェアのバージョンを比較して、同一バージョンか否かを判断する。
ソフトウェア取得部1803は、ソフトウェア配信サーバ500から受信したパッケージ情報のインストール対象ソフトウェアのバージョンと、機器情報のインストール済みソフトウェア一覧のうちインストール対象のソフトウェアのバージョンが同一の場合には、インストール対象のソフトウェアのパッケージのダウロードを行わない。
また、依存ソフトウェア取得部1805も、ソフトウェア配信サーバ500から受信したパッケージ情報の依存情報のバージョンと、機器情報のインストール済みソフトウェア一覧のうち依存ソフトウェアのバージョンが同一の場合には、依存ソフトウェアのダウロードを行わない。従って、インストール処理部1806も、同一バージョンのソフトウェアについては、インストール対象のソフトウェアおよび依存ソフトウェアのインストールを行わない。
次に、このように構成された実施の形態4のインストール処理について説明する。図19は、実施の形態4のインストール処理の手順を示すフローチャートである。
要求部301によるインストールの指示があった場合(ステップS1701:Yes)、関連情報受信部1302は、ソフトウェア配信サーバ500にインストール要求を行って、インストール対象のソフトウェアのパッケージ情報、指示情報をダウンロードする(ステップS1702)。
次に、判断部1804は、受信したパッケージ情報から依存ソフトウェアが必要か否かを判断し(ステップS1703)、必要な場合には(ステップS1703:Yes)、関連情報受信部302は、依存ソフトウェアのパッケージ情報をソフトウェア配信サーバ500に要求してダウンロードする(ステップS1704)。
そして、判断部1804は、HDD103に保存されている機器情報のインストール済みソフトウェア一覧を取得する(ステップS1705)。
次に、判断部1804は、パッケージ情報に記載のバージョンと機器情報の該当ソフトウェアのバージョンとを比較し(ステップS1706)、両者が異なるバージョンである場合に、ソフトウェアパッケージのダウンロードを行う(ステップS1707)。
一方、両者が同一バージョンである場合には、ソフトウェアパッケージのダウンロードは行われない。そして、判断部1804は、このようなバージョン比較とソフトウェアパッケージのダウンロードの処理(ステップS1706、S1707)を全てのインストール候補のソフトウェア(インストール対象のソフトウェア、依存ソフトウェアなど)に対して繰り返し実行する(ステップS1708)。以降の処理については、実施の形態1と同様に行われる。
このように本実施の形態では、インストール対象のソフトウェアおよび依存ソフトウェアが複合機100に既にインストールされている場合に、ソフトウェア配信サーバ500からのパッケージ情報からインストール対象のソフトウェアのバージョンと複合機100にインストール済みの同一ソフトウェアのバージョンを比較して、同じバージョンの場合にはインストールを行わないので、重複したバージョンのソフトウェアのインストールを回避して、インストール処理時間の短縮化を図ることができ、これによりユーザの操作性の向上を図ることができる。
(実施の形態5)
実施の形態5では、インストール対象のソフトウェアおよび依存ソフトウェアが複合機100に既にインストールされている場合に、ソフトウェア配信サーバ500からのパッケージ情報からインストール対象のソフトウェアのバージョンと複合機100にインストール済みの同一ソフトウェアのバージョンを比較して、異なるバージョンの場合であっても、バージョン互換性がある場合にはインストールを行わないものである。
本実施の形態のソフトウェア配信システムのネットワーク構成、複合機100の全体構成、ソフトウェア配信サーバ500の機能的構成は実施の形態1と同様である。
図20は、実施の形態5の複合機のアプリインストール制御サービス2031の機能的構成を示すブロック図である。図20に示すように、本実施の形態のアプリインストール制御サービス2031は、要求部301と、関連情報受信部302と、ソフトウェア取得部2003と、判断部2004と、依存ソフトウェア取得部2005と、インストール処理部2006と、アクティベーション処理部307と、進行状態記録部308と起動部309とを主に備えている。
ここで、要求部301、関連情報受信部302、アクティベーション処理部307、進行状態記録部308、起動部309の機能、構成については実施の形態1と同様である。
本実施の形態では、判断部2004は、実施の形態4と同様に、ソフトウェア配信サーバ500から受信したパッケージ情報のパッケージ内容および依存情報の<version>タグに記載のバージョンと、機器情報のインストール済みソフトウェア一覧のうちインストール対象のソフトウェアのバージョンあるいは依存ソフトウェアのバージョンを比較して、同一バージョンか否かを判断する。さらに、判断部2004は、両者のバージョンが異なる場合には、バージョンの互換性があるか否かを判断する。
ソフトウェア取得部2003は、ソフトウェア配信サーバ500から受信したパッケージ情報のインストール対象ソフトウェアのバージョンと、機器情報のインストール済みソフトウェア一覧のうちインストール対象のソフトウェアのバージョンが異なる場合であっ
て、両者のバージョンに互換性がある場合には、インストール対象のソフトウェアのパッケージのダウンロードを行わない。
また、依存ソフトウェア取得部2005も、ソフトウェア配信サーバ500から受信したパッケージ情報の依存情報のバージョンと、機器情報のインストール済みソフトウェア一覧のうち依存ソフトウェアのバージョンが異なる場合であって、両者のバージョンに互換性がある場合には、依存ソフトウェアのダウロードを行わない。従って、インストール処理部2006も、異なるバージョンであってバージョンの互換性があるソフトウェアについては、インストール対象のソフトウェアおよび依存ソフトウェアのインストールを行わない。
次に、このように構成された実施の形態5のインストール処理について説明する。図21は、実施の形態5のインストール処理の手順を示すフローチャートである。ステップS1901からS1906までの処理については実施の形態4と同様に行われる。
ステップS1906においてバージョンを比較した結果、両者が異なるバージョンであった場合には(ステップS1906:異なるバージョン)、判断部2004は、さらにバージョンの互換性があるか否かを判断する(ステップS1907)。そして、バージョンの互換性がない場合には(ステップS1907:No)、ソフトウェアパッケージのダウンロードを行う(ステップS1908)。
一方、バージョンの互換性がある場合には(ステップS1907:Yes)、ソフトウェアパッケージのダウンロードは行われない。そして、判断部2004は、このようなバージョン比較、バージョン互換性の判断、ソフトウェアパッケージのダウンロードの処理(ステップS1906〜S1908)を全てのインストール候補のソフトウェア(インストール対象のソフトウェア、依存ソフトウェアなど)に対して繰り返し実行する(ステップS1909)。以降の処理については、実施の形態1と同様に行われる。
このように本実施の形態では、インストール対象のソフトウェアおよび依存ソフトウェアが複合機100に既にインストールされている場合に、ソフトウェア配信サーバ500からのパッケージ情報からインストール対象のソフトウェアのバージョンと複合機100にインストール済みの同一ソフトウェアのバージョンを比較して、異なるバージョンの場合であっても、バージョン互換性がある場合にはインストールを行わないので、重複したソフトウェアの無条件のインストールを回避して、複数のソフトウェアの組合せにより複合機100の動作に異常が生じてしまうことを防止することができる。
図22は、上記実施の形態にかかる複合機100のハードウェア構成を示すブロック図である。本図に示すように、この複合機100は、コントローラ10とエンジン部(Engine)60とをPCI(Peripheral Component Interface)バスで接続した構成となる。コントローラ10は、複合機100全体の制御と描画、通信、図示しない操作部からの入力を制御するコントローラである。エンジン部60は、PCIバスに接続可能なプリンタエンジンなどであり、たとえば白黒プロッタ、1ドラムカラープロッタ、4ドラムカラープロッタ、スキャナまたはファックスユニットなどである。なお、このエンジン部60には、プロッタなどのいわゆるエンジン部分に加えて、誤差拡散やガンマ変換などの画像処理部分が含まれる。
コントローラ10は、CPU11と、ノースブリッジ(NB)13と、システムメモリ(MEM−P)12と、サウスブリッジ(SB)14と、ローカルメモリ(MEM−C)17と、ASIC(Application Specific Integrated Circuit)16と、ハードディスクドライブ(HDD)103とを有し、ノースブリッジ(NB)13とASIC16との間をAGP(Accelerated Graphics Port)バス15で接続した構成となる。また、MEM−P12は、ROM(Read Only Memory)12aと、RAM(Random Access Memory)12bと、をさらに有する。
CPU11は、複合機100の全体制御をおこなうものであり、NB13、MEM−P12およびSB14からなるチップセットを有し、このチップセットを介して他の機器と接続される。
NB13は、CPU11とMEM−P12、SB14、AGP15とを接続するためのブリッジであり、MEM−P12に対する読み書きなどを制御するメモリコントローラと、PCIマスタおよびAGPターゲットとを有する。
MEM−P12は、プログラムやデータの格納用メモリ、プログラムやデータの展開用メモリ、プリンタの描画用メモリなどとして用いるシステムメモリであり、ROM12aとRAM12bとからなる。ROM12aは、プログラムやデータの格納用メモリとして用いる読み出し専用のメモリであり、RAM12bは、プログラムやデータの展開用メモリ、プリンタの描画用メモリなどとして用いる書き込みおよび読み出し可能なメモリである。
SB14は、NB13とPCIデバイス、周辺デバイスとを接続するためのブリッジである。このSB14は、PCIバスを介してNB13と接続されており、このPCIバスには、ネットワークインターフェース(I/F)部なども接続される。
ASIC16は、画像処理用のハードウェア要素を有する画像処理用途向けのIC(Integrated Circuit)であり、AGP15、PCIバス、HDD103およびMEM−C17をそれぞれ接続するブリッジの役割を有する。このASIC16は、PCIターゲットおよびAGPマスタと、ASIC16の中核をなすアービタ(ARB)と、MEM−C17を制御するメモリコントローラと、ハードウェアロジックなどにより画像データの回転などをおこなう複数のDMAC(Direct Memory Access Controller)と、エンジン部60との間でPCIバスを介したデータ転送をおこなうPCIユニットとからなる。このASIC16には、PCIバスを介してFCU(Facsimile Control Unit)30、USB(Universal Serial Bus)40、IEEE1394(the Institute of Electrical and Electronics Engineers 1394)インターフェース50が接続される。操作表示部20はASIC16に直接接続されている。
MEM−C17は、コピー用画像バッファ、符号バッファとして用いるローカルメモリであり、HDD(Hard Disk Drive)103は、画像データの蓄積、プログラムの蓄積、フォントデータの蓄積、フォームの蓄積を行うためのストレージである。
AGP15は、グラフィック処理を高速化するために提案されたグラフィックスアクセラレーターカード用のバスインターフェースであり、MEM−P12に高スループットで直接アクセスすることにより、グラフィックスアクセラレーターカードを高速にするものである。
なお、上記実施の形態の複合機100で実行されるインストールプログラムは、ROM等に予め組み込まれて提供される。
上記実施の形態の複合機100で実行されるインストールプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。
さらに、上記実施の形態の複合機100で実行されるインストールプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、上記実施の形態の複合機100で実行されるインストールプログラムをインターネット等のネットワーク経由で提供または配信するように構成しても良い。
上記実施の形態の複合機100で実行されるインストールプログラムは、上述した各部(要求部、関連情報受信部、ソフトウェア取得部、判断部、依存ソフトウェア取得部、インストール処理部、アクティベーション処理部、進行状態記録部、起動部)を含むモジュール構成となっており、実際のハードウェアとしてはCPU(プロセッサ)が上記ROMからソフトウェア配信プログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、要求部、関連情報受信部、ソフトウェア取得部、判断部、依存ソフトウェア取得部、インストール処理部、アクティベーション処理部、進行状態記録部、起動部が主記憶装置上に生成されるようになっている。
なお、上記実施の形態では、本発明の画像処理装置を、コピー機能、プリンタ機能、スキャナ機能およびファクシミリ機能のうち少なくとも2つの機能を有する複合機に適用した例を挙げて説明したが、複写機、プリンタ、スキャナ装置、ファクシミリ装置等の画像処理装置であればいずれにも適用することができる。
なお、上記実施の形態は、複合機100のアプリケーションのソフトウェアのインストールについて説明したが、アプリケーション以外のソフトウェアにも適用可能である。
また、上記実施の形態のソフトウェア配信サーバ500、ライセンス管理サーバ400およびWebサーバ200は、CPUなどの制御装置と、ROM(Read Only Memory)やRAMなどの記憶装置と、HDD、CDドライブ装置などの外部記憶装置と、ディスプレイ装置などの表示装置と、キーボードやマウスなどの入力装置を備えており、通常のコンピュータを利用したハードウェア構成となっている。
上記実施の形態のソフトウェア配信サーバ500で実行されるソフトウェア配信プログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録されて提供される。
また、上記実施の形態のソフトウェア配信サーバ500で実行されるソフトウェア配信プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、上記実施の形態のソフトウェア配信サーバ500で実行されるソフトウェア配信プログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。
また、上記実施の形態のソフトウェア配信サーバ500で実行されるソフトウェア配信プログラムを、ROM等に予め組み込んで提供するように構成してもよい。
上記実施の形態のソフトウェア配信サーバ500で実行されるソフトウェア配信プログラムは、上述した各部(要求受信部、指示情報生成部、送信部)を含むモジュール構成となっており、実際のハードウェアとしてはCPU(プロセッサ)が上記記憶媒体からソフトウェア配信プログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、要求受信部、指示情報生成部、送信部が主記憶装置上に生成されるようになっている。
80 ネットワーク
100 複合機
101 白黒レーザプリンタ
102 カラーレーザプリンタ
103 HDD
104 その他ハードウェアリソース
105 通信I/F
110 ソフトウェア群
112 コピーアプリ
113 ファックスアプリ
114 スキャナアプリ
115 ネットファイルアプリ
116 工程検査アプリ
117 WEBアプリ
172 外部アプリ
120 プラットホーム
121 汎用OS
122 SCS
123 SRM
124 ECS
125 MCS
126 OCS
127 FCS
128 NCS
129 NRS
130 アプリケーション
131,1431,1631,1831,2031 アプリインストール制御サービス
200 Webサーバ
301 要求部
302 関連情報受信部
303,1803,2003 ソフトウェア取得部
304,1604,1804,2004 判断部
305,1405,1605,1805,2005 依存ソフトウェア取得部
306,1606,1806,2006 インストール処理部
307 アクティベーション処理部
308 進行状態記録部
309 起動部
400 ライセンス管理サーバ
500 ソフトウェア配信サーバ
501 要求受信部
502 指示情報生成部
503 送信部
504 HDD
特許第3602036号公報 特開2007−110628号公報 特開2005−044011号公報

Claims (17)

  1. ソフトウェアを配信するソフトウェア配信サーバにネットワークで接続された画像処理装置であって、
    記憶手段と、
    インストール対象のソフトウェアを指定したインストール要求を前記ソフトウェア配信サーバに送信する要求手段と、
    前記インストール要求の応答として、前記インストール対象のソフトウェアに関する情報が記述されたソフトウェア情報を、前記ソフトウェア配信サーバから受信する関連情報受信手段と、
    前記インストール対象のソフトウェアを取得するソフトウェア取得手段と、
    前記ソフトウェア情報に、前記インストール対象のソフトウェアの前にインストールが必要な依存ソフトウェアに関する依存情報が登録されているか否かを判断し、前記依存情報が登録されている場合に、前記依存情報に基づいて前記依存ソフトウェアがファームウェアであるか否かを判断する判断手段と、
    前記ソフトウェア情報に、前記依存情報が登録されている場合に、前記依存ソフトウェアを取得する依存ソフトウェア取得手段と、
    前記依存ソフトウェアがファームウェアである場合に、前記インストール対象のソフトウェアと前記ファームウェアとを取得した段階まで完了した旨を進行状態として前記記憶手段に記録する進行状態記録手段と、
    前記依存ソフトウェアがファームウェアである場合に、前記画像処理装置を再起動する起動手段と、
    前記進行状態を参照して、再起動後に、前記ファームウェアと前記インストール対象のソフトウェアとのインストール処理を実行するインストール処理手段と、
    を備えたことを特徴とする画像処理装置。
  2. 前記進行状態記録手段は、ソフトウェアのインストールの実行中にエラーが発生した場合には、前記ソフトウェアのインストール中にエラーが発生した旨を前記進行状態として前記記憶手段に記録し、
    前記起動手段は、ソフトウェアのインストールの実行中にエラーが発生した場合に、前記画像処理装置を再起動し、
    前記インストール処理手段は、再起動後に、前記進行状態に記録されたエラーが発生した前記ソフトウェアのインストール処理を再実行することを特徴とする請求項1に記載の画像処理装置。
  3. 前記ソフトウェア取得手段は、前記インストール対象のソフトウェアを、前記インストール要求の応答として、前記ソフトウェア配信サーバから受信し、
    前記依存ソフトウェア取得手段は、前記依存ソフトウェアを、前記ソフトウェア配信サーバから受信することを特徴とする請求項1または2に記載の画像処理装置。
  4. 前記ソフトウェア取得手段は、前記インストール対象のソフトウェアを、前記インストール要求の応答として、前記ソフトウェア配信サーバから受信し、
    前記依存ソフトウェア取得手段は、前記依存ソフトウェアを外部記憶媒体から取得することを特徴とする請求項1または2に記載の画像処理装置。
  5. 前記依存ソフトウェア取得手段は、さらに、前記依存ソフトウェアが前記外部記憶媒体に保存されていない場合には、前記依存ソフトウェアを前記ソフトウェア配信サーバから受信することを特徴とする請求項4に記載の画像処理装置。
  6. 前記判断手段は、さらに、前記ソフトウェア情報の前記依存情報に基づいて、前記依存ソフトウェアが有償のソフトウェアであるか否かを判断し、
    前記インストール処理手段は、前記依存ソフトウェアが有償のソフトウェアである場合には、前記依存ソフトウェアのインストールを実行しないことを特徴とする請求項1〜5のいずれか一つに記載の画像処理装置。
  7. 前記記憶手段は、さらに、前記画像処理装置にインストールされているインストール済みソフトウェアと前記インストール済みソフトウェアのバージョンとを登録した機器情報を記憶し、
    前記判断手段は、さらに、前記機器情報に基づいて前記インストール対象のソフトウェアおよび前記依存ソフトウェアが前記インストール済みソフトウェアであるか否かを判断し、前記インストール対象のソフトウェアまたは前記依存ソフトウェアが前記インストール済みソフトウェアである場合に、前記機器情報と前記ソフトウェア情報とに基づいて、前記インストール対象のソフトウェアまたは前記依存ソフトウェアのバージョンが前記インストール済みソフトウェアのバージョンと一致するか否かを判断し、
    前記インストール処理手段は、前記インストール対象のソフトウェアまたは前記依存ソフトウェアのバージョンが前記インストール済みソフトウェアのバージョンと一致する場合に、バージョンが一致するソフトウェアのインストールを実行しないことを特徴とする請求項1に記載の画像処理装置。
  8. 前記ソフトウェア取得手段は、前記インストール対象のソフトウェアまたは前記依存ソフトウェアのバージョンが前記インストール済みソフトウェアのバージョンと一致する場合に、バージョンが一致するソフトウェアを取得しないことを特徴とする請求項7に記載の画像処理装置。
  9. 前記判断手段は、さらに、前記インストール対象のソフトウェアまたは前記依存ソフトウェアのバージョンが前記インストール済みソフトウェアのバージョンと異なる場合には、前記ソフトウェア情報に基づいて、バージョンの互換性があるか否かを判断し、
    前記インストール処理手段は、バージョンの互換性がある場合に、バージョンが異なるソフトウェアのインストールを実行しないことを特徴とする請求項7または8に記載の画像処理装置。
  10. 前記ソフトウェア取得手段は、バージョンの互換性がある場合に、前記バージョンが異なるソフトウェアを取得しないことを特徴とする請求項9に記載の画像処理装置。
  11. 前記関連情報受信手段は、さらに、前記インストール要求の応答として、前記インストール対象のソフトウェアのインストールに関する処理の指示を示す指示情報を受信し、
    前記インストール処理手段は、前記指示情報に基づいて、前記インストールを実行することを特徴とする請求項1〜10のいずれか一つに記載の画像処理装置。
  12. 前記指示情報に基づいて、前記ソフトウェアのアクティベーション処理を実行するアクティベーション処理手段をさらに備えたことを特徴とする請求項11に記載の画像処理装置。
  13. 前記インストール対象のソフトウェアは、前記画像処理装置で実行可能なアプリケーションのソフトウェアであることを特徴とする請求項1〜12のいずれか一つに記載の画像処理装置。
  14. ソフトウェアを配信するソフトウェア配信サーバと、前記ソフトウェア配信サーバにネットワークで接続され、前記ソフトウェアをインストールする画像処理装置とを備えたソフトウェア配信システムであって、
    前記画像処理装置は、
    第1記憶手段と、
    インストール対象のソフトウェアを指定したインストール要求を前記ソフトウェア配信サーバに送信する要求手段と、
    前記インストール要求の応答として、前記インストール対象のソフトウェアに関する情報が記述されたソフトウェア情報を、前記ソフトウェア配信サーバから受信する関連情報受信手段と、
    前記インストール対象のソフトウェアを取得するソフトウェア取得手段と、
    前記ソフトウェア情報に、前記インストール対象のソフトウェアの前にインストールが必要な依存ソフトウェアに関する依存情報が登録されているか否かを判断し、前記依存情報が登録されている場合に、前記依存情報に基づいて前記依存ソフトウェアがファームウェアであるか否かを判断する判断手段と、
    前記ソフトウェア情報に、前記依存情報が登録されている場合に、前記依存ソフトウェアを取得する依存ソフトウェア取得手段と、
    前記依存ソフトウェアがファームウェアである場合に、前記インストール対象のソフトウェアと前記ファームウェアとを取得した段階まで完了した旨を進行状態として前記第1記憶手段に記録する進行状態記録手段と、
    前記依存ソフトウェアがファームウェアである場合に、前記画像処理装置を再起動する起動手段と、
    前記進行状態を参照して、再起動後に、前記ファームウェアと前記インストール対象のソフトウェアとのインストール処理を実行するインストール処理手段と、を備え、
    前記ソフトウェア配信サーバは、
    前記ソフトウェアごとに前記ソフトウェア情報を記憶する第2記憶手段と、
    前記インストール要求を受信する要求受信手段と、
    前記インストール要求を受信した場合に、前記インストール要求のあった前記インストール対象のソフトウェアに対する前記ソフトウェア情報を前記第2記憶手段から取得して、前記インストール要求に対する応答として、取得した前記ソフトウェア情報を前記画像処理装置に送信する関連情報送信手段と、
    を備えたことを特徴とするソフトウェア配信システム。
  15. 前記画像処理装置は、
    前記インストール対象のソフトウェアのアクティベーション処理を実行するアクティベーション処理手段をさらに備え、
    前記画像処理装置の前記第1記憶手段は、さらに、前記画像処理装置に既にインストールされているインストール済みソフトウェアの一覧と、前記インストール済みソフトウェアのアクティベーションに関するアクティベーションに関する状況とを登録した機器情報を記憶し、
    前記画像処理装置の前記要求手段は、前記インストール要求とともに前記機器情報を、前記ソフトウェア配信サーバに送信し、
    前記ソフトウェア配信サーバは、
    前記機器情報に基づいて、前記インストール対象のソフトウェアのインストールおよびアクティベーションに関する処理の指示を示す指示情報を生成する指示情報生成手段をさらに備え、
    前記ソフトウェア配信サーバの前記関連情報送信手段は、前記インストール要求の応答として、さらに前記指示情報を前記画像処理装置に送信し、
    前記画像処理装置の前記インストール処理手段は、前記指示情報に基づいてインストール処理を実行し、
    前記画像処理装置の前記アクティベーション処理手段は、前記指示情報に基づいてアクティベーション処理を実行することを特徴とする請求項14に記載のソフトウェア配信システム。
  16. ソフトウェアを配信するソフトウェア配信サーバと、前記ソフトウェア配信サーバにネットワークで接続され、前記ソフトウェアをインストールする画像処理装置とを備えたソフトウェア配信システムで実行されるインストール処理方法あって、
    前記画像処理装置は、第1記憶手段を備え、
    ソフトウェアごとに、ソフトウェアに関する情報が記述されたソフトウェア情報を記憶する第2記憶手段を備え、
    前記画像処理装置の要求手段が、インストール対象のソフトウェアを指定したインストール要求を前記ソフトウェア配信サーバに送信する要求ステップと、
    前記ソフトウェア配信サーバの要求受信手段が、前記インストール要求を受信するステップと、
    前記ソフトウェア配信サーバの関連情報送信手段が、前記インストール要求のあった前記インストール対象のソフトウェアに対する前記ソフトウェア情報と、前記インストール対象のソフトウェアとを、前記インストール要求に対する応答として、前記画像処理装置に送信するステップと、
    前記画像処理装置の関連情報受信手段が、前記インストール要求の応答として、前記インストール対象のソフトウェアの前記ソフトウェア情報を、前記ソフトウェア配信サーバから受信するステップと、
    前記画像処理装置のソフトウェア取得手段が、前記インストール対象のソフトウェアを取得するステップと、
    前記画像処理装置の判断手段が、前記ソフトウェア情報に、前記インストール対象のソフトウェアの前にインストールが必要な依存ソフトウェアに関する依存情報が登録されているか否かを判断し、前記依存情報が登録されている場合に、前記依存情報に基づいて前記依存ソフトウェアがファームウェアであるか否かを判断するステップと、
    前記画像処理装置の依存ソフトウェア取得手段が、前記ソフトウェア情報に、前記依存情報が登録されている場合に、前記依存ソフトウェアを取得するステップと、
    前記画像処理装置の進行状態記録手段が、前記依存ソフトウェアがファームウェアである場合に、前記インストール対象のソフトウェアと前記ファームウェアとを取得した段階まで完了した旨を、進行状態として前記第1記憶手段に記録するステップと、
    前記画像処理装置の起動手段が、前記依存ソフトウェアがファームウェアである場合に、前記画像処理装置を再起動するステップと、
    前記画像処理装置のインストール処理手段が、前記進行状態を参照して、再起動後に、前記ファームウェアと前記インストール対象のソフトウェアとのインストールを実行するステップと、
    を含むことを特徴とするインストール処理方法。
  17. ソフトウェアを配信するソフトウェア配信サーバにネットワークで接続されたコンピュータを、
    記憶手段と、
    インストール対象のソフトウェアを指定したインストール要求を前記ソフトウェア配信サーバに送信する要求手段と、
    前記インストール要求の応答として、前記インストール対象のソフトウェアに関する情報が記述されたソフトウェア情報を、前記ソフトウェア配信サーバから受信する関連情報受信手段と、
    前記インストール対象のソフトウェアを取得するソフトウェア取得手段と、
    前記ソフトウェア情報に、前記インストール対象のソフトウェアの前にインストールが必要な依存ソフトウェアに関する依存情報が登録されているか否かを判断し、前記依存情報が登録されている場合に、前記依存情報に基づいて前記依存ソフトウェアがファームウェアであるか否かを判断する判断手段と、
    前記ソフトウェア情報に、前記依存情報が登録されている場合に、前記依存ソフトウェアを取得する依存ソフトウェア取得手段と、
    前記依存ソフトウェアがファームウェアである場合に、前記インストール対象のソフトウェアと前記ファームウェアとを取得した段階まで完了した旨を進行状態として前記記憶手段に記録する進行状態記録手段と、
    前記依存ソフトウェアがファームウェアである場合に、前記コンピュータを再起動する起動手段と、
    前記進行状態を参照して、再起動後に、前記ファームウェアと前記インストール対象のソフトウェアとのインストール処理を実行するインストール処理手段と、
    して機能させるためのプログラム。
JP2009083197A 2009-03-30 2009-03-30 画像処理装置、ソフトウェア配信システム、インストール処理方法およびプログラム Expired - Fee Related JP5293344B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2009083197A JP5293344B2 (ja) 2009-03-30 2009-03-30 画像処理装置、ソフトウェア配信システム、インストール処理方法およびプログラム
US12/719,232 US20100251232A1 (en) 2009-03-30 2010-03-08 Image processing apparatus, software delivery system, and install processing method
CN201010145650A CN101853169A (zh) 2009-03-30 2010-03-29 图像处理设备、软件传递***及安装处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009083197A JP5293344B2 (ja) 2009-03-30 2009-03-30 画像処理装置、ソフトウェア配信システム、インストール処理方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2010237840A JP2010237840A (ja) 2010-10-21
JP5293344B2 true JP5293344B2 (ja) 2013-09-18

Family

ID=42785921

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009083197A Expired - Fee Related JP5293344B2 (ja) 2009-03-30 2009-03-30 画像処理装置、ソフトウェア配信システム、インストール処理方法およびプログラム

Country Status (3)

Country Link
US (1) US20100251232A1 (ja)
JP (1) JP5293344B2 (ja)
CN (1) CN101853169A (ja)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5441740B2 (ja) * 2009-03-23 2014-03-12 キヤノン株式会社 情報配信装置、情報配信装置の制御方法、及びコンピュータプログラム
JP5471883B2 (ja) * 2009-07-17 2014-04-16 株式会社リコー 情報処理装置、情報処理方法、情報処理プログラム
JP5365542B2 (ja) * 2010-02-16 2013-12-11 株式会社リコー 仲介装置、インストールシステム、インストール方法及びインストールプログラム
JP5531819B2 (ja) * 2010-06-28 2014-06-25 株式会社リコー 管理装置,ライセンス管理サーバ,電子機器,電子機器管理システム,管理方法,プログラム,および記録媒体
JP5585257B2 (ja) * 2010-07-16 2014-09-10 株式会社リコー 画像形成装置、機器システム、プログラム管理方法、プログラム
US8631398B2 (en) * 2010-09-20 2014-01-14 Sony Corporation Method and apparatus for facilitating creation of a network interface
US8805955B2 (en) * 2011-07-18 2014-08-12 Red Hat, Inc. Proactive caching of remote actions
US8893109B2 (en) * 2011-08-02 2014-11-18 Roche Diagnostics Operations, Inc. Software distribution amongst medical devices taking into account dependencies between devices
US9292299B2 (en) * 2012-10-16 2016-03-22 Yahoo! Inc. Methods and systems for package management
JP5966948B2 (ja) * 2013-01-25 2016-08-10 富士ゼロックス株式会社 プラグイン配信システム及び画像処理装置並びにプラグイン配信制御方法
JP6089794B2 (ja) * 2013-03-04 2017-03-08 株式会社リコー 機器、情報処理システム、情報処理方法、及びプログラム
US20140359593A1 (en) * 2013-05-31 2014-12-04 Microsoft Corporation Maintaining known dependencies for updates
US20150286505A1 (en) * 2014-04-03 2015-10-08 Oracle International Corporation Computing system resource provisioning
JP6638183B2 (ja) * 2014-10-28 2020-01-29 株式会社リコー 情報処理システム、情報処理装置、情報処理方法およびプログラム
US9760316B2 (en) * 2015-03-27 2017-09-12 Konica Minolta Laboratory U.S.A., Inc. Method and system for managing software version compatibility amongst devices in a multi-device network environment
US11159603B2 (en) 2015-04-15 2021-10-26 Hyland Switzerland Sàrl Cross-platform module for loading across a plurality of device types
JP6645341B2 (ja) * 2015-05-11 2020-02-14 株式会社リコー 情報処理システム、情報処理装置および情報処理方法
US10481893B1 (en) * 2015-08-10 2019-11-19 American Megatrends International, Llc Identifying and resolving firmware component dependencies
JP6825295B2 (ja) * 2016-10-05 2021-02-03 富士ゼロックス株式会社 情報処理装置及びプログラム
JP7015865B2 (ja) 2020-04-23 2022-02-03 株式会社日立製作所 ストレージシステム及びストレージシステムによる情報処理方法

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5963743A (en) * 1997-08-29 1999-10-05 Dell Usa, L.P. Database for facilitating software installation and testing for a build-to-order computer system
US6282709B1 (en) * 1997-11-12 2001-08-28 Philips Electronics North America Corporation Software update manager
US6976062B1 (en) * 1999-09-22 2005-12-13 Intermec Ip Corp. Automated software upgrade utility
US20040093597A1 (en) * 2002-11-05 2004-05-13 Rao Bindu Rama Firmware update system for facilitating firmware update in mobile handset related applications
JP2004302929A (ja) * 2003-03-31 2004-10-28 Fujitsu Ltd 自動インストーラプログラム
JP2004334679A (ja) * 2003-05-09 2004-11-25 Canon Inc 情報処理装置、情報処理装置のプログラム実行方式、情報処理装置のプログラム実行方式を記録した記憶媒体
JP2005135187A (ja) * 2003-10-30 2005-05-26 Toshiba Corp 電子機器および組み込みソフトウェア更新方法
KR100793955B1 (ko) * 2004-12-03 2008-01-16 삼성전자주식회사 화상형성장치, 이에 연결된 호스트장치, 이들을 포함하는화상형성시스템 및 그의 제어방법
JP4828842B2 (ja) * 2005-03-17 2011-11-30 富士通株式会社 再インストールソフト作成方法,再インストールソフト作成プログラム,インストール方法,インストールプログラムおよびコンピュータ装置
CN100399267C (zh) * 2005-03-18 2008-07-02 联想(北京)有限公司 一种管理软件安装/卸载的方法
JP2006277216A (ja) * 2005-03-29 2006-10-12 Nec Corp マルチos搭載可能なプラットホームにおける自動fwアップデート方法
EP1739552A1 (en) * 2005-06-21 2007-01-03 Hewlett-Packard Development Company, L.P. Software installation method and computer system
KR100751146B1 (ko) * 2005-12-05 2007-08-22 엘지전자 주식회사 Oad 채널 변환 방법 및 이를 이용하는 방송 수신기
US20070238450A1 (en) * 2006-04-07 2007-10-11 Lena Hogberg Software activation in a mobile terminal
US20130047150A1 (en) * 2006-08-29 2013-02-21 Adobe Systems Incorporated Software installation and process management support
US20080301672A1 (en) * 2007-05-30 2008-12-04 Google Inc. Installation of a Software Product on a Device with Minimal User Interaction
US8938735B2 (en) * 2007-08-31 2015-01-20 Thomson Reuters Global Resources Bootstrapper and software download manager

Also Published As

Publication number Publication date
US20100251232A1 (en) 2010-09-30
CN101853169A (zh) 2010-10-06
JP2010237840A (ja) 2010-10-21

Similar Documents

Publication Publication Date Title
JP5293344B2 (ja) 画像処理装置、ソフトウェア配信システム、インストール処理方法およびプログラム
JP5509754B2 (ja) ソフトウェア管理装置、ソフトウェア配信システム、インストール方法およびプログラム
US8595720B2 (en) Program management system, program management method, client, and computer program product
JP5240141B2 (ja) プログラムダウンロードシステム、プログラムダウンロード方法、画像形成装置、プログラム配信サーバおよびダウンロードプログラム
EP1398948B1 (en) Image forming apparatus, methods used therein and a computer readable storage medium
US20110125655A1 (en) License-renewal management apparatus license management system and computer program product
US20110202433A1 (en) License management system, license management method, and computer program product
US20110202913A1 (en) System, method, and computer program product for software distribution
JP2011065296A (ja) 画像処理装置、遠隔管理システム、ライセンス更新方法、およびライセンス更新プログラム
JP4344203B2 (ja) 画像形成装置および情報表示方法
JP5581856B2 (ja) 情報処理装置、ソフトウェア配信システム、インストール方法およびプログラム
JP2004118237A (ja) 画像形成装置およびアプリケーションインストール方法
JP5454208B2 (ja) 画像処理装置、ソフトウェア管理システム、ソフトウェア管理方法およびプログラム
JP4394740B2 (ja) 画像形成装置、方法、及びプログラム
JP5359427B2 (ja) ライセンス管理システム、ライセンス管理サーバ、情報処理装置、画像形成装置、ライセンス管理方法、およびライセンス管理プログラム
JP5262495B2 (ja) 電子機器,遠隔管理システム,制御方法,プログラム,および記録媒体
JP4512565B2 (ja) 画像形成装置およびアプリケーションインストール方法
JP2011180902A (ja) ライセンス管理システム、ライセンス管理方法およびプログラム
JP4128506B2 (ja) 画像形成装置およびアプリケーション情報取得方法
JP4676977B2 (ja) 画像形成装置、アプリケーション情報取得方法、及びプログラム
JP5672347B2 (ja) ライセンス管理システムおよびライセンス管理方法
JP2011170463A (ja) 情報処理システム、管理装置、インストール処理方法、プログラム及び記憶媒体
JP2006271005A (ja) 画像形成装置およびアプリケーションインストール方法
JP5561047B2 (ja) 情報処理装置、プログラムおよび情報処理システム
JP5347612B2 (ja) 画像処理装置、遠隔管理システム、ライセンス更新方法、およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120313

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120622

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130305

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130306

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130416

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130514

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130527

R151 Written notification of patent or utility model registration

Ref document number: 5293344

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees