JP7196554B2 - Information processing device, program update method, software update program - Google Patents
Information processing device, program update method, software update program Download PDFInfo
- Publication number
- JP7196554B2 JP7196554B2 JP2018216280A JP2018216280A JP7196554B2 JP 7196554 B2 JP7196554 B2 JP 7196554B2 JP 2018216280 A JP2018216280 A JP 2018216280A JP 2018216280 A JP2018216280 A JP 2018216280A JP 7196554 B2 JP7196554 B2 JP 7196554B2
- Authority
- JP
- Japan
- Prior art keywords
- software
- update
- program
- information
- api
- 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.)
- Active
Links
Images
Landscapes
- Accessory Devices And Overall Control Thereof (AREA)
- Information Transfer Between Computers (AREA)
- Facsimiles In General (AREA)
Description
本発明は、情報処理装置、プログラム更新方法、ソフトウェア更新プログラムに関する。 The present invention relates to an information processing device, a program update method, and a software update program.
近年、情報の電子化が推進される傾向にあり、電子化された情報の出力に用いられるプリンタやファクシミリおよび書類の電子化に用いるスキャナなどの画像処理装置は欠かせない機器となっている。このような画像処理装置は、プリンタ、ファクシミリ、スキャナ、複写機としての機能を実現するためのソフトウェア(例えば、ファームウェアやアプリケーションなど)が実装された複合機(Multi Function Peripheral、MFP)として構成されることが多い。 2. Description of the Related Art In recent years, there has been a tendency to digitize information, and image processing apparatuses such as printers and facsimiles used to output digitized information and scanners used to digitize documents have become indispensable devices. Such an image processing apparatus is configured as a multi-function peripheral (MFP) in which software (for example, firmware and applications) for realizing functions as a printer, facsimile machine, scanner, and copier is implemented. There are many things.
このようなソフトウェアを利用するための仕組みとして、ソフトウェア間のやりとりをHTTP/HTTPS(Hypertext Transfer Protocol/Hypertext Transfer Protocol Secure)ベースで実現するWeb API(Web Application Programming Interface)が知られている。 As a mechanism for using such software, there is known a Web API (Web Application Programming Interface) that realizes communication between software on the basis of HTTP/HTTPS (Hypertext Transfer Protocol/Hypertext Transfer Protocol Secure).
また、ソフトウェアを開発するためのツールとして、SDK(Software Development Kit)が知られている。SDKは、プログラムに連結して使用できるサンプルコードや、Web APIなどのAPI(Application Programming Interface)の仕様を記述したファイルが含まれている。 SDK (Software Development Kit) is also known as a tool for developing software. The SDK includes sample code that can be used by connecting to a program, and files that describe API (Application Programming Interface) specifications such as Web API.
SDKを用いて開発したソフトウェアでは、SDKのバージョンごとにAPIの仕様や使用可能なAPIが異なるために、APIが取り扱うことのできる情報の種類が異なる状況が生じうる。 In software developed using an SDK, API specifications and usable APIs differ for each version of the SDK, so situations may arise in which the types of information that can be handled by the APIs differ.
例えば、同じソフトウェアであっても、作成元となったSDKのバージョン違いによって、APIの仕様またはAPIを実行するためのアクセス権限が変わった場合には、画像処理装置において実現される機能を実行するために必要な情報を他のソフトウェアから取得することができないことがある。したがって、APIを用いてソフトウェア間のやりとりができるか否かは、SDKのバージョンに依存することとなる。 For example, even if the software is the same, if the API specification or the access authority for executing the API changes due to the version difference of the SDK that is the source of the creation, the functions realized in the image processing device are executed. information required for this purpose cannot be obtained from other software. Therefore, whether or not it is possible to communicate between software using the API depends on the version of the SDK.
ゆえに、従来の画像処理装置においては、プリンタ、ファクシミリ、スキャナ、複写機としての機能を実現するためのソフトウェアをパッケージ化し、SDKのバージョンに関する情報をこのパッケージに含めてソフトウェアの更新を行っている。このようにすることによって、画像処理装置に実装されている全てのソフトウェアにおいて同じバージョンのSDKに含まれているAPIを使用することができる。 Therefore, in conventional image processing apparatuses, software is packaged for realizing the functions of a printer, facsimile machine, scanner, and copier, and information about the SDK version is included in the package to update the software. By doing so, APIs included in the same version of the SDK can be used in all the software installed in the image processing apparatus.
一方で、機能改善を目的として、画像処理装置に実装されているソフトウェアのうち、特定のソフトウェアについて個別にアップロードを行うことがある。このような技術として、画像処理装置に実装されているソフトウェアを個別に更新するために、サーバに格納されているマスタファイルに記述されているソフトウェアの整合性に基づいて、画像処理装置に搭載されているソフトウェアのアップデートを行うことが開示されている(例えば、特許文献1参照)。 On the other hand, for the purpose of improving functions, specific software among software installed in the image processing apparatus may be uploaded individually. As such a technology, in order to individually update the software installed in the image processing apparatus, based on the consistency of the software described in the master file stored in the server, it is installed in the image processing apparatus. It has been disclosed to update software installed in the system (see, for example, Patent Document 1).
特許文献1では、マスタファイルに基づいて画像処理装置を動作させるために適切なソフトウェアのバージョンの組み合わせを選択してソフトウェアを更新することにより、ソフトウェアの更新による画像処理装置の動作不良を防ぐことができる。ここで、特許文献1における「ソフトウェアの整合性」とは、画像処理装置を動作させるために必要なソフトウェアのバージョンの組み合わせなどを指す。 In Japanese Patent Application Laid-Open No. 2002-200010, by selecting an appropriate combination of software versions to operate the image processing apparatus based on a master file and updating the software, it is possible to prevent malfunction of the image processing apparatus due to software updates. can. Here, "software consistency" in Japanese Patent Application Laid-Open No. 2002-200010 refers to a combination of software versions required to operate the image processing apparatus.
しかし、特許文献1に開示されている技術は、画像処理装置に実装されたソフトウェアの更新を行う管理装置、サーバおよび画像処理装置が通信可能であることを前提にしたものである。したがって、画像処理装置単体では、ソフトウェアのバージョンの組み合わせを選択してソフトウェアを更新することができない。 However, the technique disclosed in Japanese Patent Application Laid-Open No. 2002-200010 is based on the premise that a management device that updates software installed in an image processing apparatus, a server, and the image processing apparatus can communicate with each other. Therefore, the image processing apparatus alone cannot select a combination of software versions and update the software.
また、SDKのバージョンに関する情報を取得することができないため、インストールされたソフトウェアの組み合わせによっては、ソフトウェア間での情報のやりとりができないAPIの組み合わせとなり、画像処理装置が動作しなくなってしまう。 In addition, since information about the SDK version cannot be acquired, depending on the combination of installed software, the combination of APIs cannot exchange information between the software, and the image processing apparatus will not operate.
本発明は、上記実情を考慮してなされたものであり、スタンドアロン環境下にある画像処理装置の動作保証性を高めて、ソフトウェアの更新を行うことを目的とする。 SUMMARY OF THE INVENTION Accordingly, it is an object of the present invention to improve the performance assurance of an image processing apparatus in a stand-alone environment and update software.
上記課題を解決するために、本発明の一態様は、ハードウェアを動作させることにより所定の機能を提供する情報処理装置であって、前記ハードウェアを動作させて前記所定の機能を実現するソフトウェアのプログラムを記憶するプログラム記憶部と、前記ソフトウェアの更新プログラムを取得する更新プログラム取得部と、前記更新プログラムに基づいた情報であって、複数の前記ソフトウェア間における情報のやりとりを行うAPIを利用して前記情報を取得可能な前記ソフトウェアの組み合わせを示す組み合わせ情報に基づいて、前記ソフトウェアを更新するか否かを判定する更新実行判定部と、前記ソフトウェアを更新すると判定された場合に、前記プログラム記憶部に記憶されている前記プログラムを前記更新プログラムによって更新する更新実行部と、を備え、前記更新実行判定部は、前記更新プログラムによって更新される前記ソフトウェアが、前記APIを利用可能である場合に、前記ソフトウェアを更新すると判定することを特徴とする。 To solve the above problems, one aspect of the present invention is an information processing apparatus that provides a predetermined function by operating hardware, and includes software that operates the hardware to achieve the predetermined function. an update program acquisition unit for acquiring an update program for the software; and an API for exchanging information between a plurality of pieces of software based on the update program. an update execution determination unit for determining whether or not to update the software based on combination information indicating a combination of the software for which the information can be acquired; an update execution unit that updates the program stored in the unit with the update program, and the update execution determination unit determines if the software to be updated by the update program can use the API and determining to update the software .
本発明によれば、スタンドアロン環境下にある画像処理装置の動作保証性を高めて、ソフトウェアの更新を行うことができる。 According to the present invention, it is possible to improve the operational guarantee of an image processing apparatus in a stand-alone environment and update the software.
以下、図面を参照して、本発明の実施形態を詳細に説明する。本実施形態においては、情報処理装置として、ユーザが操作を行うためのUI(User Interface)としてタッチパネルなどの操作表示部34を備えた画像処理装置1について説明する。
BEST MODE FOR CARRYING OUT THE INVENTION Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. In this embodiment, as an information processing apparatus, an
なお、本実施形態における画像処理装置1は、コピー機能、プリント機能、スキャン機能、FAX機能などを実現するためのソフトウェアが実装されているMFP(Multi Function Peripheral:複合機)を例として説明する。
Note that the
図3は本実施形態に係る画像処理装置1のハードウェア構成を示すブロック図である。画像処理装置1は、コントローラ100とエンジン部33とをPCI(Peripheral Component Interface)バス11で接続した構成となる。
FIG. 3 is a block diagram showing the hardware configuration of the
コントローラ100は、画像処理装置1全体の制御と描画、通信、操作表示部34からの入力を制御する。エンジン部33は、PCIバス11に接続可能なプリンタエンジンなどであり、たとえば白黒プロッタ、1ドラムカラープロッタ、4ドラムカラープロッタ、スキャナまたはファックスユニットなどである。
The
なお、このエンジン部33には、プロッタなどのいわゆる画像形成出力を行うエンジン部分に加えて、誤差拡散やガンマ変換などの画像処理を行う画像処理部分が含まれる。
The
コントローラ100は、CPU21、ノースブリッジ(NB)23、システムメモリ(MEM-P)22、サウスブリッジ(SB)24、ローカルメモリ(MEM-C)27、ASIC(Application Specific Integrated Circuit)26、ハードディスクドライブ(HDD)35を含む。
The
また、ノースブリッジ(NB)23とASIC26とが、AGP(Accelerated Graphics Port)バス25によって接続される。さらに、MEM-P22は、ROM(Read Only Memory)22a、RAM(Random Access Memory)22bを含む。
Also, the north bridge (NB) 23 and the ASIC 26 are connected by an AGP (Accelerated Graphics Port)
CPU21は、画像処理装置1を制御し、NB23、MEM-P22、SB24を含むチップセットを含む構成であり、このチップセットを介して他の機器と接続される。NB23は、CPU21とMEM-P22、SB24、AGPバス25とを接続するためのブリッジであり、MEM-P22に対する読み書きなどを制御するメモリコントローラと、PCIマスタおよびAGPターゲットとを含む構成である。
The
MEM-P22は、プログラムやデータの格納用メモリ、プログラムやデータの展開用メモリ、プリンタの描画用メモリなどとして用いるシステムメモリであり、ROM22aとRAM22bとを含む。
The MEM-
ROM22aは、プログラムやデータの格納用メモリとして用いる読み出し専用のメモリであり、RAM22bは、プログラムやデータの展開用メモリ、プリンタの描画用メモリなどとして用いる書き込みおよび読み出し可能なメモリである。
The
SB24は、NB23とPCIデバイス、周辺デバイスとを接続するためのブリッジである。このSB24は、PCIバスを介してNB23と接続されており、このPCIバスには、ネットワークインタフェース(I/F)部が接続される構成であってもよい。 The SB24 is a bridge for connecting the NB23 with PCI devices and peripheral devices. The SB 24 is connected to the NB 23 via a PCI bus, and a network interface (I/F) unit may be connected to the PCI bus.
ASIC26は、画像処理用のハードウェア要素を有する画像処理用途向けのIC(Integrated Circuit)であり、AGPバス25、PCIバス、HDD35およびMEM-C27をそれぞれ接続するブリッジの機能を実現する。
The ASIC 26 is an image processing IC (Integrated Circuit) having hardware elements for image processing, and realizes a bridge function that connects the
ASIC26は、PCIターゲットおよびAGPマスタと、ASIC26の中核をなすアービタ(ARB)と、MEM-C27を制御するメモリコントローラと、ハードウェアロジックなどにより画像データの回転などをおこなう複数のDMAC(Direct Memory Access Controller)と、エンジン部33との間でPCIバス11を介したデータ転送をおこなうPCIユニットとを含む。
The ASIC 26 includes a PCI target and AGP master, an arbiter (ARB) that forms the core of the
ASIC26には、PCIバスを介してFCU(Facsimile Control Unit)28、USB(Universal Serial Bus)29、IEEE1394(the Institute of Electrical and Electronics Engineers 1394)インタフェース31、NFC(Near field radio communication)インタフェース32が接続される。
ASIC26には、PCIバスを介してFCU(Facsimile Control Unit)28、USB(Universal Serial Bus)29、IEEE1394(the Institute of Electrical and Electronics Engineers 1394)
ASIC26は、入出力インタフェースなどの汎用機能を実現する構成が組み込まれているため、操作表示部34は、バス30を介してASIC26に直接接続されている。また、MEM-C27は、ASIC26がコピー用画像バッファ、符号バッファとして用いるローカルメモリである。
Since the ASIC 26 incorporates a configuration for realizing general-purpose functions such as an input/output interface, the
FCU28は、画像処理装置1におけるファクシミリの送受信を制御する。USB29は、画像処理装置1と、画像処理装置1にUSB接続されている外部の端末との間でデータの送受信を行う。IEEE1394インタフェース31は、画像処理装置1と、画像処理装置1にIEEE1394端子を介して接続されている外部の端末との間でデータの送受信を行う。NFCインタフェース32は、非接触型の近距離無線通信を行う。
The FCU 28 controls facsimile transmission/reception in the
HDD35は、画像データの蓄積、プログラムの蓄積、フォントデータの蓄積、フォームの蓄積を行うためのストレージであり、画像処理装置1において実行されるアプリケーションのプログラムファイルが保存されている。AGPバス25は、グラフィック処理を高速化するために提案されたグラフィックスアクセラレータカード用のバスインタフェースであり、MEM-P22に高スループットで直接アクセスすることにより、グラフィックスアクセラレータカードを高速にするものである。
The
なお、画像処理装置1において実行されるアプリケーションのプログラムファイルは、コントローラ100において、CPU21によってRAM22bに展開される。そして、RAM22bに展開されたプログラムに従ってCPU21が演算処理を行うことによってアプリケーションが実行される。
Program files of applications executed in the
次に、本実施形態に係る操作表示部34のハードウェア構成について図2を参照して説明する。図2に示すように、操作表示部34は、CPU341、RAM342、ROM343、HDD344、内部I/F345、外部I/F346、操作パネル347がバス349を介して互いに接続されて構成される。
Next, the hardware configuration of the
本実施形態においては、画像処理装置1の本体10(図3参照)に取り外し可能なディスプレイパネルとして構成されるものを操作表示部34として説明を行う。なお、本体10と通信可能な端末、例えば、タブレット型情報処理端末などを操作表示部34として用いる構成であってもよい。
In the present embodiment, the
CPU341は演算手段であり、操作表示部34の全体の動作を制御する。RAM342は、情報の高速な読み書きが可能な揮発性の記憶媒体であり、CPU341が情報を処理する際の作業領域として用いられる。ROM343は、読み出し専用の不揮発性記憶媒体であり、ファームウェアなどのプログラムが格納されている。
The
HDD344は、情報の読み書きが可能な不揮発性の記憶媒体であり、操作表示部34のOS(Operating System)や各種の制御プログラム、アプリケーションのプログラムファイルなどが格納されている。なお、HDD344の代わりに、SSD(Solid State Drive)などの不揮発性の記憶媒体を用いる構成であってもよい。
The
内部I/F345は、ASIC26の内部I/F265と接続され、ユーザによる操作パネル347の操作信号をコントローラ100に対して出力する。外部I/F346は、バス90と各種のハードウェアやネットワークなどを接続し制御する。
The internal I/
操作パネル347は、ユーザが操作表示部34の状態を確認するためのディスプレイなどの表示装置およびユーザが操作表示部34において、情報を入力するための入力部が一体的に形成されている。本実施形態において操作パネル347は、タッチパネルやハードキーなどによって構成される。
The
このようなハードウェア構成において、ROM343やHDD344もしくは光学ディスクなどの記録媒体に格納されたプログラムがRAM342に読み出され、CPU341がそれらのプログラムに従って演算を行うことにより、操作表示部34におけるソフトウェア制御部がそれぞれ構成される。このようにして構成されたソフトウェア制御部と、ハードウェアとの組み合わせによって、操作表示部34の機能を実現する機能ブロックがそれぞれ構成される。
In such a hardware configuration, programs stored in a recording medium such as the
図3は、画像処理装置1のソフトウェア構成の一例を示す模式図である。図3に示すように、本体10は、アプリ層101と、サービス層102と、OS層103とを有する。アプリ層101、サービス層102、および、OS層103の実体は、ROM22aやHDD35等に格納されている各種ソフトウェアである。CPU21が、これらのソフトウェアを実行することにより、各種の機能が提供される。
FIG. 3 is a schematic diagram showing an example of the software configuration of the
アプリ層101のソフトウェアは、画像処理装置1を構成するハードウェア資源を動作させて所定の機能を提供するためのアプリケーションである。例えばアプリケーションとしては、コピー機能を提供するためのコピーApp101a、プリンタ機能を提供するためのプリントApp101b、スキャナ機能を提供するためのスキャンApp101c、ファクス機能を提供するためのFAXApp101d、ネットワーク機能を提供するためのNWApp101eなどが挙げられる。さらに、アプリ層101のアプリケーションとしては、ウェブブラウザやアプリケーションを利用するのに必要なソフトウェアなどがある。
Software of the
サービス層102のソフトウェアは、アプリ層101とOS層103との間に介在し、アプリケーションに対し、本体10が備えるハードウェア資源を利用するためのインタフェースを提供するためのソフトウェアである。具体的には、ハードウェア資源に対する動作要求の受付、動作要求の制御を行う機能を提供するためのソフトウェアである。サービス層102が受け付ける動作要求としては、エンジン部33によるスキャン動作や印刷要求が考えられる。
The software of the
なお、サービス層102によるインタフェースの機能は、本体10のアプリ層101だけではなく、操作表示部34のアプリ層301に対しても提供される。すなわち、操作表示部34のアプリ層301(アプリケーション)も、サービス層102のインタフェース機能を介して、本体10のハードウェア資源(例えばエンジン部17)を利用した機能を実現することができる。例えばサービス層102のインタフェース機能は、WebAPIで提供される。
The interface function of the
これらのWebAPIとして、本体10には、コピーApp101aに対応するAPIであるコピーApp API120a、プリントApp101bに対応するAPIであるプリントApp API120b、スキャンApp101cに対応するAPIであるスキャンApp API120c、FAXApp101dに対応するAPIであるFAXApp API120d、NWApp101eに対応するAPIであるNWApp API120eなどが提供されている。
As these Web APIs, the main body 10 includes a
OS層103のソフトウェアは、本体10が備えるハードウェアを制御する機能を提供するための基本ソフトウェア(オペレーティングシステム(OS))である。サービス層102のソフトウェアは、各アプリケーションから出力されたハードウェア資源の利用要求を、OS層103が解釈可能なコマンドに変換し、OS層103に転送する。そして、OS層103のソフトウェアによりコマンドが実行されることで、ハードウェア資源はアプリケーションの要求に従った動作を行う。
The software of the
一方、操作表示部34も本体10と同様に、アプリ層301、サービス層302、OS層303を備える。操作表示部34が備えるアプリ層301、サービス層302、および、OS層303も階層構造については本体10側と同様である。ただし、アプリ層301のアプリケーションにより提供される機能や、サービス層302が受け付け可能な動作要求の種類は、本体10側とは異なる。
On the other hand, the
アプリ層301のアプリケーションは、操作表示部34が備えるハードウェア資源を動作させて所定の機能を提供するためのソフトウェアであってもよい。このようなソフトウェアとしては、例えば、操作表示部34は、本体10が備える機能(コピー機能、スキャナ機能、ファクス機能、プリンタ機能)に関する操作や表示を行うためのGUI(グラフィカルユーザインタフェース)の機能を提供するためのソフトウェアを備える。また、アプリ層301には、ネイティブアプリケーション、ブラウザアプリケーションなどが存在し、サービス層302には、インストーラなどが存在する。
The application of the
なお、本実施の形態では、機能の独立性を保つために、本体10側のOS層103のソフトウェアと操作表示部34側のOS層303のソフトウェアが互いに異なる。つまり、本体10と操作表示部34は、別々のオペレーティングシステムで互いに独立して動作する。
In this embodiment, the software of the
以上のように、本実施の形態の画像処理装置1において、本体10と操作表示部34は別々のオペレーティングシステムで動作するため、本体10と操作表示部34との間の通信は、共通化された画像処理装置1内部のプロセス間通信ではなく、異なる装置間の通信として行われる。
As described above, in the
操作表示部34が受け付けた情報(ユーザが操作表示部34を操作して入力した内容)を本体10へ転送する動作(コマンド通信)や、本体10が操作表示部34へイベントを通知する動作などが異なる装置間の通信に該当する。
An operation (command communication) of transferring information received by the operation display unit 34 (contents input by the user by operating the operation display unit 34) to the main body 10, an operation of the main unit 10 notifying the
そして、操作表示部34が本体10へコマンド通信を行うことにより、本体10の機能を使用することができる。また、本体10から操作表示部34に通知するイベントには本体10における動作の実行状況、および、本体10側で設定された内容(例えば、印刷ジョブの設定内容の情報)などが挙げられる。
The functions of the main body 10 can be used by the
また、本実施形態に係る画像処理装置1では、操作表示部34に対する電力供給が本体10からバス30を経由して行われる。ゆえに、操作表示部34の電源制御を本体10の電源制御とは別に(独立して)行うことができる。
Further, in the
次に、本実施形態に係る画像処理装置1において実現される機能について図4を参照して説明する。なお、図4に示す機能は、コントローラ100を実現する各ハードウェアによって実行されるソフトウェア・プログラムによって実現され、図3において説明したアプリ層101、サービス層102、OS層103のうち、いずれにおいて実現される構成であってもよい。
Next, functions implemented in the
例えば、図4に示す構成によって実現される機能の全てをOS層103のソフトウェア・モジュールとして実装してもよい。また、図4に示す機能によって実現される機能を、アプリ層101のアプリケーション・ソフトウェアとして実装してもよい。
For example, all the functions realized by the configuration shown in FIG. 4 may be implemented as software modules of the
図4に示すように、画像処理装置1は、通信制御部201、インストール制御部202、更新判定情報取得部203、更新実行判定部204、バージョン情報記憶部205、本体側更新実行部206、外部端末更新制御部207、ソフトウェア記憶部208を含む。
As shown in FIG. 4, the
通信制御部201は、コントローラ100に入出力される情報を制御する。通信制御部201は、例えば、画像処理装置1にダウンロードされた更新プログラムをインストール制御部202に送信する。
The
インストール制御部202は、画像処理装置1にダウンロードされた更新プログラムを更新判定情報取得部203および更新実行判定部204に送信する。このとき、インストール制御部202は、必要があれば、ダウンロードされた更新プログラムの解凍もしくは更新プログラムの暗号化を解除(復号化)して、RAM22bもしくはHDD35に展開し、更新判定情報取得部203に送信する。
The
更新判定情報取得部203は、インストール制御部202から更新プログラムを取得する更新プログラム取得部として機能し、更新プログラムに含まれる情報からヘッダ部の情報やバージョン情報リスト、API利用可能情報を取得する。これらの情報についての詳細は、後述する。
The update determination
更新実行判定部204は、インストール制御部202から取得した更新プログラムに含まれる情報に基づいて、その更新プログラムが更新可能なプログラムであるか否かを判定する。また、更新実行判定部204は、更新判定情報取得部203からバージョン情報リストを取得して、インストール制御部202から取得した更新プログラムが更新可能なプログラムであるか否かを判定する構成であってもよい。
Based on the information included in the update program acquired from the
バージョン情報記憶部205は、更新判定情報取得部203が取得したバージョン情報を記憶する記憶領域であり、RAM22bやHDD35によって実現される。本体側更新実行部206は、更新実行判定部204により、インストール制御部202から取得した更新プログラムが、本体10において更新可能なプログラムであると判定された場合に、ソフトウェア記憶部208に記憶されているプログラムを、インストールされた更新プログラムを用いて書き換えることにより更新する。
The version
外部端末更新制御部207は、更新実行判定部204により、インストール制御部202から取得した更新プログラムが、操作表示部34において更新可能なプログラムであると判定された場合に、ROM343に記憶されているプログラムを、インストールされた更新プログラムに書き換えることにより更新する。
When the update
ソフトウェア記憶部208は、本体10に実装されるプログラムを記憶する記憶領域であり、RAM22bやHDD35によって実現されるプログラム記憶部である。本実施形態に係る画像処理装置1は、このような構成により、画像処理装置1に搭載されている機能を実現するためのソフトウェアのプログラムを更新する。
The
ところで、図3で説明したように、ソフトウェア間の情報のやりとりは、ソフトウェアに実装されているAPIを利用して実現されている。また、ソフトウェアの開発キットであるSDKのバージョンによって、SDKを用いて作成されるソフトウェアにおいて利用可能なAPIの種類が異なる。 By the way, as described with reference to FIG. 3, the exchange of information between software is realized using the API implemented in the software. Also, the types of APIs that can be used in software created using the SDK differ depending on the version of the SDK, which is a software development kit.
例えば、バージョンが1.00のSDKにおいては、API-α、API-βが利用可能であるが、バージョンが1.02のSDKにおいては、API-βの利用が抹消され、API-α、API-γが利用可能なAPIとなることがある。 For example, in SDK version 1.00, API-α and API-β are available, but in SDK version 1.02, use of API-β is deleted and API-α and API - γ may be an available API.
従来の画像処理装置においては、図5に示すように、プリンタ、ファクシミリ、スキャナ、複写機としての機能を実現するプログラムを更新するために更新プログラムパッケージを用いられている。 In a conventional image processing apparatus, as shown in FIG. 5, an update program package is used to update a program that implements the functions of a printer, facsimile machine, scanner, and copier.
例えば、画像処理装置に搭載されている各機能を実現するソフトウェア(本体OS、コピーApp、プリントApp、・・・)の更新プログラムをひとつにまとめ、さらに、これらの更新プログラムを作成したSDKのバージョンに関する情報(例えば、パッケージ情報に含まれるSDKバージョン情報)を含めてパッケージ化してソフトウェアの更新を行っている。 For example, update programs for software (main OS, copy App, print App, etc.) that realize each function installed in the image processing apparatus are integrated into one, and the version of the SDK that created these update programs The software is updated by packaging the information including the information (for example, the SDK version information included in the package information).
このようにすることによって、従来の画像処理装置においては、全て同じバージョンのSDKを用いて作成されたプログラムに更新されるため、更新されたプログラムには、そのバージョンで利用可能なAPIの実装およびAPIを実行するためのアクセス権限が与えられることとなる。したがって、更新プログラムパッケージを用いた場合には、APIの組み合わせを考慮することなくソフトウェア間の情報をやり取りすることができる。 By doing so, in the conventional image processing apparatus, all the programs are updated using the same version of the SDK. Access authority for executing the API is given. Therefore, when an update program package is used, information can be exchanged between software without considering the combination of APIs.
図6は、従来の画像処理装置においてソフトウェアを更新する処理の流れを示すフローチャートである。更新プログラムパッケージが記憶された外部記憶媒体から、更新プログラムパッケージを画像処理装置にダウンロードすることにより、本処理が開始される。 FIG. 6 is a flow chart showing the flow of processing for updating software in a conventional image processing apparatus. This processing is started by downloading the update program package from the external storage medium storing the update program package to the image processing apparatus.
画像処理装置においては、更新プログラムパッケージがダウンロードされると、更新プログラムパッケージのデータファイルを解凍し、解凍された更新プログラムパッケージはRAMに展開される(S601)。 In the image processing apparatus, when the update program package is downloaded, the data file of the update program package is decompressed, and the decompressed update program package is developed in the RAM (S601).
画像処理装置は、更新プログラムパッケージに含まれるパッケージ情報(図5参照)に基づいて、更新プログラムパッケージがどのバージョンのものであるかを示すパッケージバージョン情報を取得する(S602)。 The image processing apparatus acquires package version information indicating the version of the update program package based on the package information (see FIG. 5) included in the update program package (S602).
次に、画像処理装置においては、更新プログラムパッケージによって画像処理装置に実装されているプログラムの更新を行うことができるか否かが判定される(S603)。更新プログラムパッケージには、例えば、図8にしめすように、画像処理装置に実装されている機能を実現するためのプログラムが含まれている。図8は、従来の画像処理装置に実装されている機能のうち、コピー機能を実現するためのプログラムの情報構成を例示した図である。 Next, in the image processing apparatus, it is determined whether or not the program installed in the image processing apparatus can be updated by the update program package (S603). The update program package, for example, as shown in FIG. 8, contains a program for implementing functions implemented in the image processing apparatus. FIG. 8 is a diagram exemplifying the information configuration of a program for realizing a copy function among functions implemented in a conventional image processing apparatus.
図8に示すコピー機能更新プログラムは、ヘッダ部にベンダ情報、機種情報および機能バージョン情報、ボディに更新プログラムのソースコードであるプログラム情報を有して構成される。S603の処理において、画像処理装置では、ヘッダ部に記述されているベンダ情報または機能バージョン情報を参照して、プログラムの更新を行うことができるか否かが判定される。 The copy function update program shown in FIG. 8 has vendor information, model information and function version information in the header, and program information, which is the source code of the update program, in the body. In the process of S603, the image processing apparatus refers to the vendor information or function version information described in the header to determine whether or not the program can be updated.
このとき、画像処理装置においては、ベンダ情報を用いる例として、画像処理装置のベンダと更新プログラムのベンダが異なる場合に、プログラムの更新が実行できないと判定され(S603/NO)、画像処理装置のベンダと更新プログラムのベンダが同じである場合に、プログラムの更新を行うことが可能であると判定される(S603/YES)。 At this time, in the image processing apparatus, as an example of using vendor information, if the vendor of the image processing apparatus and the vendor of the update program are different, it is determined that the program cannot be updated (S603/NO). If the vendor and the vendor of the update program are the same, it is determined that the program can be updated (S603/YES).
また、画像処理装置においては、機種情報を用いる例として、更新プログラムの機種情報が画像処理装置の機種と一致しない場合に、プログラムの更新が実行できないと判定され(S603/NO)、新プログラムの機種情報が画像処理装置の機種と一致する場合に、プログラムの更新を行うことが可能であると判定される(S603/YES)。 In the image processing apparatus, as an example of using the model information, if the model information of the update program does not match the model of the image processing apparatus, it is determined that the program cannot be updated (S603/NO), and the new program is installed. If the model information matches the model of the image processing apparatus, it is determined that the program can be updated (S603/YES).
更新プログラムに含まれる機種情報は、例えば、予め画像処理装置の機種ごとにわりあてられている機種IDなどの識別子を用いてもよい。 For the model information included in the update program, for example, an identifier such as a model ID assigned in advance to each model of the image processing apparatus may be used.
なお、S603において、パッケージバージョン情報や更新プログラムパッケージに含まれるSDKのバージョン情報を画像処理装置の操作表示部に表示させ、操作表示部に対するユーザの操作に基づいてプログラムの更新を行うことができるか否かが判定される構成であってもよい。 In S603, it is possible to display the package version information and the version information of the SDK included in the update program package on the operation display unit of the image processing apparatus, and update the program based on the user's operation on the operation display unit. It may be configured to determine whether or not.
S603でプログラムの更新が可能であると判定されると、操作表示部には図7に示すような、プログラム更新の実行をユーザが確認するために操作されるGUIとして更新実行確認画面が表示される(S604)。 When it is determined in S603 that the program can be updated, an update execution confirmation screen as shown in FIG. 7 is displayed on the operation display unit as a GUI operated by the user to confirm execution of the program update. (S604).
図7の更新実行確認画面では、例えば、画像処理装置1の本体10のOSが、バージョン1.0Xから1.03に、コピー機能を実現するソフトウェアが1.0Xから1.03に更新されることが示されている。
On the update execution confirmation screen in FIG. 7, for example, the OS of the main body 10 of the
操作表示部に表示された更新実行確認画面において、「はい」のボタンが操作されると、プログラムの更新を開始する信号が出力され(S605)、「いいえ」のボタンが操作されると、本処理は終了される。 When the "yes" button is operated on the update execution confirmation screen displayed on the operation display unit, a signal to start updating the program is output (S605), and when the "no" button is operated, this Processing is terminated.
S604の更新実行確認画面において「はい」が操作されたと仮定して、以後の処理ステップについて説明する。画像処理装置は、S602で取得したパッケージバージョン情報をRAMなどの不揮発性記憶媒体に記憶させる(S606)。 Assuming that "yes" is operated on the update execution confirmation screen of S604, subsequent processing steps will be described. The image processing apparatus stores the package version information acquired in S602 in a non-volatile storage medium such as RAM (S606).
そして、画像処理装置は、ROMに記憶されている各ソフトウェアのプログラムを、S601で展開した更新プログラムパッケージに含まれる各ソフトウェアの更新プログラムに書き換えることにより、ソフトウェアの更新を行う(S607)。画像処理装置は、更新プログラムパッケージに含まれる全てのソフトウェアの更新を終えると(S608/YES)、本処理を終了させる。 Then, the image processing apparatus updates the software by rewriting each software program stored in the ROM with the update program for each software included in the update program package expanded in S601 (S607). When the image processing apparatus finishes updating all the software included in the update program package (S608/YES), it terminates this process.
以上説明したように、従来の画像処理装置においては、更新プログラムを作成したSDKのバージョンに関する情報を含めてパッケージ化してソフトウェアの更新が行われている。しかし、画像処理装置の性能や作業効率向上を目的として、特定のソフトウェアについて個別にプログラムの更新を行うことがある。このような場合、更新後の画像処理装置において、ソフトウェア間での情報のやりとりができるか否かを考慮する必要がある。 As described above, in the conventional image processing apparatus, the software is updated by packaging the information including the version of the SDK for which the update program is created. However, for the purpose of improving the performance and work efficiency of the image processing apparatus, specific software may be individually updated. In such a case, it is necessary to consider whether information can be exchanged between software in the updated image processing apparatus.
そこで、本実施形態に係る画像処理装置1においては、画像処理装置1に実装された機能を実現するためのソフトウェアを更新するための更新プログラムに、SDKのバージョンを識別可能な情報であるバージョン情報リストを含めるように構成する。
Therefore, in the
図9は、本実施形態に係る画像処理装置1に実装された機能を実現するためのソフトウェアを更新するための更新プログラムの情報構成を示す図である。図9に示す、画像処理装置1に実装されている機能XXのソフトウェアを更新するための更新プログラムは、ヘッダ部にベンダ情報、機種情報および機能バージョン情報、ボディに、SDKのバージョンを識別可能な情報であるバージョン情報リストおよび更新プログラムのソースコードであるプログラム情報を有して構成される。
FIG. 9 is a diagram showing an information configuration of an update program for updating software for realizing functions implemented in the
図10は、本実施形態に係るバージョン情報リストの情報構成を示す図である。ここでは、図9に示した機能XXのソフトウェアを更新するための更新プログラムに、図10で示すバージョン情報リスト1.00が記述されていると仮定して説明を行う。 FIG. 10 is a diagram showing the information structure of the version information list according to this embodiment. Here, it is assumed that version information list 1.00 shown in FIG. 10 is described in the update program for updating the software of function XX shown in FIG.
バージョン情報リスト1.00には、画像処理装置1に実装されているソフトウェアのバージョンを示すソフトウェアバージョン情報と、SDKのバージョンを示すSDKバージョン情報とが含まれている。
The version information list 1.00 includes software version information indicating the version of the software installed in the
上述したように、SDKでは、バージョンごとに利用可能なAPIの種類が異なる。また、バージョンが異なるSDKでは、APIを実行するためのアクセス権限も異なることがある。そこで、本実施形態では、画像処理装置1に実装されているソフトウェアごとに、それぞれのソフトウェア間での情報のやり取りが可能なAPIが実装されているソフトウェアのバージョンの組み合わせを示す組み合わせ情報であるバージョン情報と、SDKバージョン情報とを含むデータリストを作成する。
As described above, the SDK has different types of APIs that can be used for each version. Also, SDKs of different versions may have different access rights for executing APIs. Therefore, in the present embodiment, for each piece of software installed in the
例えば、データリスト001では、ソフトウェアバージョン情報として、画像処理装置1の本体10のOSのバージョンが1.00、コピー機能を実現するソフトウェアのバージョンが1.00、プリント機能を実現するソフトウェアのバージョンが1.00、ネットワーク機能を実現するソフトウェアのバージョンが1.00、・・・、であることを示す情報が、SDKバージョン情報として、SDKのバージョンが1.00であることを示す情報が含まれる。
For example, in the data list 001, as software version information, the OS version of the main body 10 of the
また、データリスト002では、ソフトウェアバージョン情報として、画像処理装置1の本体10のOSのバージョンが1.00、コピー機能を実現するソフトウェアのバージョンが1.01、プリント機能を実現するソフトウェアのバージョンが1.00、ネットワーク機能を実現するソフトウェアのバージョンが1.01、・・・、であることを示す情報が、SDKバージョン情報として、SDKのバージョンが1.01であることを示す情報が含まれる。
In the data list 002, as software version information, the OS version of the main body 10 of the
さらに、データリスト003では、ソフトウェアバージョン情報として、画像処理装置1の本体10のOSのバージョンが1.01、コピー機能を実現するソフトウェアのバージョンが1.01、プリント機能を実現するソフトウェアのバージョンが1.01、ネットワーク機能を実現するソフトウェアのバージョンが1.02、・・・、であることを示す情報が、SDKバージョン情報として、SDKのバージョンが1.02であることを示す情報が含まれる。
Further, in the data list 003, as software version information, the OS version of the main body 10 of the
そして、データリストを複数組み合わせたもの、すなわち、データリスト001からデータリスト003をバージョン情報リスト1.00として管理する。図9に示す画像処理装置1に実装されている機能XXのソフトウェアを更新するための更新プログラムにおいては、バージョン情報リスト1.00が記述されていると仮定しているが、例えば、他のバージョンのバージョン情報リストを含む構成であってもよい。
A combination of a plurality of data lists, that is, data list 001 to data list 003 are managed as version information list 1.00. In the update program for updating the software of the function XX installed in the
また、バージョン情報リストは、画像処理装置1に実装されているソフトウェアの更新プログラムを作成する際に、それぞれの更新プログラムにふくまれる情報であり、バージョンリストに含まれるデータリストの組み合わせが異なるものとなると、バージョン情報リストのバージョンも変化する。
The version information list is information included in each update program when creating an update program for the software installed in the
例えば、バージョン情報リスト1.00は、データリスト001、データリスト002、データリスト003によって構成される一方で、バージョン情報リスト1.01は、データリスト002、データリスト003によって構成される情報であるとしてもよい。なお、画像処理装置1において、バージョン情報リストは、バージョン情報記憶部205に記憶される。
For example, version information list 1.00 consists of data list 001, data list 002 and data list 003, while version information list 1.01 consists of data list 002 and data list 003. may be Note that the version information list is stored in the version
次に、本実施形態に係る画像処理装置1に実装されているソフトウェアを更新する処理の流れについて図11を参照して説明する。図11は、本実施形態に係る画像処理装置1においてソフトウェアを更新する処理の流れを示すフローチャートである。更新プログラムパッケージが記憶された外部記憶媒体から、更新プログラムパッケージを画像処理装置1にダウンロードすることにより、本処理が開始される。
Next, a flow of processing for updating software installed in the
通信制御部201を介して、画像処理装置1に更新プログラムがダウンロードされると、インストール制御部202は、更新プログラムのデータファイルを解凍し、解凍した更新プログラムをRAM22bに展開する(S1101)。更新判定情報取得部203は、更新プログラムに含まれる情報から、ヘッダ部の情報、および、バージョン情報リストを取得する(S1102)。
When the update program is downloaded to the
次に、更新実行判定部204は、更新判定情報取得部203が取得した情報から、更新プログラムによって画像処理装置1に実装されている機能XXのプログラムの更新を行うことができるか否かを判定する(S1103)。
Next, the update
図9に示す画像処理装置1の機能XXについての更新プログラムは、ヘッダ部にベンダ情報、機種情報および機能バージョン情報、ボディに、バージョン情報リスト、および、更新プログラムのソースコードであるプログラム情報を有して構成される。S1103の処理において、更新実行判定部204は、ヘッダ部に記述されているベンダ情報、機種情報、および、機能バージョン情報を参照して、プログラムの更新を行うことができるか否かを判定する。
The update program for the function XX of the
このとき、更新実行判定部204は、ベンダ情報を用いる例として、画像処理装置1のベンダと更新プログラムのベンダが異なる場合に、プログラムの更新が実行できないと判定する(S1103/NO)。一方で、更新実行判定部204は、画像処理装置1のベンダと更新プログラムのベンダが同じである場合に、プログラムの更新を行うことが可能であると判定する(S1103/YES)。
At this time, as an example of using vendor information, the update
また、更新実行判定部204は、機種情報を用いる例として、更新プログラムの機種情報が画像処理装置1の機種と一致しない場合に、プログラムの更新が実行できないと判定する(S1103/NO)。一方で、更新実行判定部204は、更新プログラムの機種情報が画像処理装置1の機種と一致する場合に、プログラムの更新を行うことが可能であると判定する(S1103/YES)。
As an example of using model information, the update
更新プログラムに含まれる機種情報は、例えば、予め画像処理装置1の機種ごとにわりあてられている機種IDなどの識別子を用いてもよい。
For the model information included in the update program, for example, an identifier such as a model ID assigned in advance to each model of the
S1103でプログラムの更新が可能であると判定されると、操作表示部34には図12に示すような、プログラム更新の実行をユーザが確認するために操作されるGUIとして更新実行確認画面が表示される(S1104)。
When it is determined in S1103 that the program can be updated, an update execution confirmation screen is displayed on the
図12の更新実行確認画面では、例えば、画像処理装置1の本体10のOSが、バージョン1.0Xから1.03に、コピー機能を実現するソフトウェアが1.0Xから1.03に、SDKのバージョンが1.0Xから1.03に更新されることが示されている。
On the update execution confirmation screen of FIG. 12, for example, the OS of the main body 10 of the
操作表示部34に表示された更新実行確認画面において、「はい」のボタンが操作されると、更新実行判定部204は、プログラムの更新を開始する信号が出力し(S1105)、「いいえ」のボタンが操作されると、本処理を終了する。
When the "yes" button is operated on the update execution confirmation screen displayed on the
S1104の更新実行確認画面において「はい」が操作されたと仮定して、以後の処理ステップについて説明する。更新判定情報取得部203は、S1102で取得したバージョン情報リストをバージョン情報記憶部205に記憶させる(S1106)。
Assuming that "yes" is operated on the update execution confirmation screen of S1104, subsequent processing steps will be described. The update determination
次に、更新実行判定部204は、バージョン情報記憶部205に記憶されているバージョン情報リストを参照して、そのバージョン情報リストに含まれるデータリストに示されるソフトウェアの組み合わせと、S1101で展開された更新プログラムを用いてソフトウェアを更新した後の画像処理装置1に実装されることとなるソフトウェアとの組み合わせを比較する(S1107)。
Next, the update
そして、更新実行判定部204は、S1101で展開された更新プログラムを用いてソフトウェアを更新した後の画像処理装置1に実装されることとなるソフトウェアの組み合わせが、S1106で記憶されたバージョン情報リストのデータリストに示されるソフトウェアの組み合わせに含まれない組み合わせである場合には(S1108/NO)、S1101で展開された更新プログラムを用いてソフトウェアを更新することなく、本処理を終了する。
Then, the update
一方で、S1101で展開された更新プログラムを用いてソフトウェアを更新した後の画像処理装置1に実装されることとなるソフトウェアの組み合わせが、S1106で記憶されたバージョン情報リストのデータリストに示されるソフトウェアの組み合わせに含まれる組み合わせである場合には(S1108/YES)、更新実行判定部204は、本体側更新実行部206に、ソフトウェア記憶部208に記憶されているソフトウェアのプログラムを、S1101で展開したソフトウェアの更新プログラムに書き換えさせて、ソフトウェアの更新を行い(S1109)、本処理を終了する。
On the other hand, the combination of software to be installed in the
なお、S1101で展開された更新プログラムが操作表示部34に実装されているソフトウェアの更新プログラムである場合、S1109の処理において、更新実行判定部204は、展開した更新プログラムを外部端末更新制御部207に転送し、外部端末更新制御部207に外部端末(ここでは、操作表示部34)に実装されているソフトウェアの更新を実行させ、本処理を終了する。
Note that if the update program deployed in S1101 is the update program for the software installed in the
なお、S1106の処理において、更新プログラムに含まれているバージョン情報リストが、画像処理装置1に記憶されているバージョン情報リストよりも新しい場合にのみ、そのバージョン情報リストを不揮発性記憶媒体に記憶させる構成であってもよい。
Note that in the process of S1106 , only when the version information list included in the update program is newer than the version information list stored in the
また、S1109でソフトウェアの更新を行う際に、更新可能なソフトウェアと判定されたソフトウェアおよびそのバージョンに関する情報を操作表示部34に表示させる構成であってもよい。
Further, when updating the software in S1109, the configuration may be such that the
図13は、本実施形態に係るバージョン情報記憶部205におけるバージョン情報リストを更新する処理の流れである。S1105の処理において、更新実行確認画面において、「はい」のボタンが操作されると、プログラムの更新を開始する信号が出力されると、更新実行判定部204は、更新プログラムに含まれているバージョン情報リストのバージョンと、バージョン情報記憶部205に記憶されている現状のバージョンとを比較する(S1301)。
FIG. 13 shows the flow of processing for updating the version information list in the version
更新実行判定部204は、バージョン情報記憶部205に記憶されているバージョン情報リストのバージョンよりも更新プログラムに含まれているバージョン情報リストのバージョンが新しいものであると判定した場合(S1302/YES)、更新プログラムに含まれるバージョン情報リストをバージョン情報記憶部205に送信する。
When the update
更新実行判定部204からバージョン情報記憶部更新プログラムに含まれているバージョン情報リストを受信すると、バージョン情報記憶部205は受信したバージョン情報リストを記憶し(S1303)、本処理を終了する。
Upon receiving the version information list included in the version information storage unit update program from the update
一方で、更新実行判定部204は、バージョン情報記憶部205に記憶されているバージョン情報リストのバージョンよりも更新プログラムに含まれているバージョン情報リストのバージョンが新しいものではないと判定した場合(S1302/NO)、更新プログラムに含まれるバージョン情報リストをバージョン情報記憶部205に送信することなく本処理を終了する。
On the other hand, if the update
このように、本実施形態においては、画像処理装置1には、常に最新のバージョン情報リストが記憶され、記憶されたバージョン情報リストに基づいて画像処理装置1のソフトウェアが更新されることとなる。
Thus, in this embodiment, the
したがって、SDKのバージョンアップによりAPIの仕様やAPIのアクセス権限に変更が生じた場合に、画像処理装置1がネットワークに接続されていない環境下であっても、適切なバージョンのソフトウェアを画像処理装置1にインストールすることができる。
Therefore, even when the API specifications or API access rights are changed due to an SDK version upgrade, the appropriate version of the software can be installed on the
ゆえに、APIが違うために画像処理装置1に実装されているソフトウェア間の情報のやりとりができないといった事態が生じることなく、画像処理装置1の動作保証性を高めてソフトウェアの更新を行うことができる。
Therefore, the software installed in the
また、図9のバージョン情報リストの代わりに、図14に示すようなAPI利用可能リストを更新プログラムのデータファイルに含める構成であってもよい。また、API利用可能リストは、図15に示すような情報によって構成される。 Alternatively, instead of the version information list shown in FIG. 9, an API available list as shown in FIG. 14 may be included in the update program data file. Also, the API available list is composed of information as shown in FIG.
図15は、本実施形態に係るAPI利用可能リストの情報構成を示す図である。図15に示すように、画像処理装置1に実装されている機能XXのソフトウェアの更新プログラムに含まれるAPI利用可能リストには、API-α、API-β、API-γ、・・・、について、それぞれのAPIが利用可能なソフトウェアのバージョンが記述された情報が含まれる。
FIG. 15 is a diagram showing the information configuration of the API available list according to this embodiment. As shown in FIG. 15, the API available list included in the update program for the software of the function XX installed in the
なお、本実施形態における「利用可能」とは、それぞれのソフトウェアがAPIの仕様を解釈することができ、APIのアクセス権限を有している状態であることを示す。 Note that "available" in this embodiment indicates that each software can interpret the specifications of the API and has access rights to the API.
図15に示すAPI利用可能リストでは、組み合わせ情報として、API-αを利用可能なソフトウェアのバージョンが「本体OS:1.00」、「コピー機能:1.00」、「ネットワーク機能:1.00」、・・・、API-βを利用可能なソフトウェアのバージョンが「本体OS:1.00」、「プリント機能:1.00」、「ネットワーク機能:1.01」、・・・、API-γを利用可能なソフトウェアのバージョンが「コピー機能:1.00」、「プリント機能:1.00」、・・・、であることが記述されている。 In the API available list shown in FIG. 15, as combination information, the versions of software that can use API-α are "main OS: 1.00", "copy function: 1.00", and "network function: 1.00". , ..., the version of the software that can use API-β is "main OS: 1.00", "print function: 1.00", "network function: 1.01", ..., API- It describes that the versions of software that can use γ are "copy function: 1.00", "print function: 1.00", and so on.
そして、図16に示すように、画像処理装置1において、API利用可能リストを記憶する利用条件情報記憶部210をバージョン情報記憶部205の代わりに設けることにより、API利用可能リストに記述されている情報に基づいて画像処理装置1に実装された機能を実現するためのソフトウェアの更新を行う。
Then, as shown in FIG. 16, in the
図17は、API利用可能リストを使用した場合における画像処理装置1のソフトウェアを更新する処理の流れを示すフローチャートである。なお、図11に示すフローチャートと同様の処理を行う処理ステップには同じ符号を付し、重複する説明を省略する。なお、図17のフローチャートにおいては、バージョン情報リストの代わりにAPI利用可能リストが含まれるものとする。
FIG. 17 is a flow chart showing the flow of processing for updating the software of the
更新判定情報取得部203は、S1102で取得したAPI利用可能リストを利用条件情報記憶部209に記憶させる(S1701)。
The update determination
次に、更新実行判定部204は、利用条件情報記憶部209に記憶されているAPI利用可能リストを参照して、S1701の時点において画像処理装置1に実装されているソフトウェアの構成を示す情報を取得する(S1801)。
Next, the update
次に更新実行判定部204は、API利用可能リストに含まれるそれぞれのAPIを利用可能なソフトウェアのバージョンに基づいて、S1701の時点において画像処理装置1に実装されているソフトウェアがそれぞれのAPIを利用可能であるかを判定する(S1802)。
Next, based on the version of the software that can use each API included in the API availability list, the update
図19は、本実施形態に係る利用可能API情報の情報構成を示す図である。例えば、コピー機能については、画像処理装置1に実装されているコピーApp101aのバージョンが1.01であったとする。
FIG. 19 is a diagram showing the information configuration of available API information according to this embodiment. For example, regarding the copy function, assume that the version of the
更新実行判定部204は、S1701の時点において画像処理装置1に実装されているソフトウェアのバージョンが、API利用可能リストに含まれるそれぞれのAPIを利用可能なソフトウェアのバージョンと同じ、もしくは、新しいバージョンであれば、S1701の時点において画像処理装置1に実装されているソフトウェアがそのAPIを利用可能であると判定し、TRUEをセットする。
The update
一方で、更新実行判定部204は、S1701の時点において画像処理装置1に実装されているソフトウェアのバージョンが、API利用可能リストに含まれるそれぞれのAPIを利用可能なソフトウェアのバージョンよりも古い場合、および、そのAPIを使用できない場合には、S1701の時点において画像処理装置1に実装されているソフトウェアがそのAPIを利用可能ではないと判定し、FALSEをセットする。
On the other hand, if the version of the software installed in the
このような場合、更新実行判定部204は、API-α、API-γについては、TRUEをセットする。一方で、コピーApp101aでは、API-βを利用できないため、更新実行判定部204は、API-βについては、FALSEをセットする。
In such a case, the update
更新実行判定部204は、S1802の判定処理を、S1701の時点において画像処理装置1に実装されている全てのソフトウェアについて実行する(S1803/YES)と、判定結果を利用可能API情報として生成し(S1804)、生成した利用可能API情報を利用条件情報記憶部209に転送する。したがって、更新実行判定部204は、利用可能API情報を生成する利用可能情報生成部として機能する。
When the update
このように、利用可能API情報には、複数のソフトウェア間における情報のやりとりを行うAPIと、このAPIを利用して情報を取得可能なソフトウェアとの組み合わせが記述される。 In this way, the usable API information describes a combination of an API for exchanging information between a plurality of pieces of software and software capable of acquiring information using this API.
利用条件情報記憶部209は、更新実行判定部204から利用可能API情報を受信して記憶する(S1805)。図17に戻って説明を続ける。
The usage condition
次に、更新実行判定部204は、利用条件情報記憶部209に記憶されている利用可能API情報を参照して、その利用可能API情報に含まれるAPIを利用可能なソフトウェアの組み合わせと、S1101で展開された更新プログラムを用いてソフトウェアを更新した後の画像処理装置1に実装されることとなるソフトウェアとの組み合わせを比較する(S1703)。
Next, the update
そして、更新実行判定部204は、S1101で展開された更新プログラムを用いてソフトウェアを更新した後の画像処理装置1に実装されることとなるソフトウェアの組み合わせが、その利用可能API情報に含まれるAPIを利用可能なソフトウェアの組み合わせに含まれない組み合わせである場合には(S1704/NO)、S1101で展開された更新プログラムを用いてソフトウェアを更新することなく、本処理を終了する。
Then, the update
一方で、S1101で展開された更新プログラムを用いてソフトウェアを更新した後の画像処理装置1に実装されることとなるソフトウェアの組み合わせがその利用可能API情報に含まれるAPIを利用可能なソフトウェアの組み合わせに含まれる組み合わせである場合には(S1704/YES)、更新実行判定部204は、本体側更新実行部206に、ソフトウェア記憶部208に記憶されているソフトウェアのプログラムを、S1101で展開したソフトウェアの更新プログラムに書き換えさせて、ソフトウェアの更新を行い(S1705)、本処理を終了する。
On the other hand, the combination of software to be installed in the
なお、S1101で展開された更新プログラムが操作表示部34に実装されているソフトウェアの更新プログラムである場合、S1705の処理において、更新実行判定部204は、展開した更新プログラムを外部端末更新制御部207に転送し、外部端末更新制御部207に外部端末(ここでは、操作表示部34)に実装されているソフトウェアの更新を実行させ、本処理を終了する。
Note that if the update program deployed in S1101 is the update program for the software installed in the
このように、本実施形態においては、画像処理装置1には、記憶された利用可能API情報に基づいて、画像処理装置1のソフトウェアが更新されることとなる。ゆえに、APIの仕様やAPIのアクセス権限に変更が生じた場合に、画像処理装置1がネットワークに接続されていない環境下であっても、適切なバージョンのソフトウェアを画像処理装置1にインストールすることができる。
Thus, in this embodiment, the software of the
本発明は、説明した実施形態に限定されるものではなく、その他の実施形態、追加、修正、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用や効果を奏する限り、本発明の範囲に含まれるものである。 The present invention is not limited to the described embodiments, and can be changed within the scope that can be conceived by those skilled in the art, such as other embodiments, additions, modifications, deletions, etc. As long as the functions and effects of the present invention are exhibited, they are included in the scope of the present invention.
1 :画像処理装置
10 :本体
11 :PCIバス
17 :エンジン部
21 :CPU
22a :ROM
22b :RAM
25 :AGPバス
26 :ASIC
30 :バス
31 :IEEE1394インタフェース
32 :NFCインタフェース
33 :エンジン部
34 :操作表示部
35 :HDD
90 :バス
100 :コントローラ
201 :通信制御部
202 :インストール制御部
203 :更新判定情報取得部
204 :更新実行判定部
205 :バージョン情報記憶部
206 :本体側更新実行部
207 :外部端末更新制御部
208 :ソフトウェア記憶部
209 :利用条件情報記憶部
210 :利用条件情報記憶部
265 :内部I/F
301 :アプリ層
302 :サービス層
303 :OS層
341 :CPU
342 :RAM
343 :ROM
344 :HDD
345 :内部I/F
346 :外部I/F
347 :操作パネル
349 :バス
1: Image processing device 10: Main body 11: PCI bus 17: Engine unit 21: CPU
22a: ROM
22b: RAM
25: AGP bus 26: ASIC
30: Bus 31: IEEE1394 interface 32: NFC interface 33: Engine unit 34: Operation display unit 35: HDD
90: bus 100: controller 201: communication control unit 202: installation control unit 203: update determination information acquisition unit 204: update execution determination unit 205: version information storage unit 206: main unit side update execution unit 207: external terminal update control unit 208 : Software storage unit 209 : Usage condition information storage unit 210 : Usage condition information storage unit 265 : Internal I/F
301: Application layer 302: Service layer 303: OS layer 341: CPU
342: RAM
343: ROM
344: HDD
345: Internal I/F
346: External I/F
347: Operation panel 349: Bus
Claims (7)
前記ハードウェアを動作させて前記所定の機能を実現するソフトウェアのプログラムを記憶するプログラム記憶部と、
前記ソフトウェアの更新プログラムを取得する更新プログラム取得部と、
前記更新プログラムに基づいた情報であって、複数の前記ソフトウェア間における情報のやりとりを行うAPIを利用可能な前記ソフトウェアの組み合わせを示す組み合わせ情報に基づいて、前記ソフトウェアを更新するか否かを判定する更新実行判定部と、
前記ソフトウェアを更新すると判定された場合に、前記プログラム記憶部に記憶されている前記プログラムを前記更新プログラムによって更新する更新実行部と、
を備え、
前記更新実行判定部は、
前記更新プログラムによって更新される前記ソフトウェアが、前記APIを利用可能である場合に、前記ソフトウェアを更新すると判定することを特徴とする
情報処理装置。 An information processing device that provides a predetermined function by operating hardware,
a program storage unit that stores a software program that operates the hardware to realize the predetermined function;
an update acquisition unit that acquires an update program for the software;
Determining whether to update the software based on information based on the update program and indicating a combination of the software that can use an API for exchanging information between a plurality of the software an update execution determination unit;
an update execution unit that updates the program stored in the program storage unit with the update program when it is determined that the software is to be updated;
with
The update execution determination unit
determining to update the software when the software to be updated by the update program can use the API;
Information processing equipment.
前記更新プログラムによって更新される前記ソフトウェアのバージョンが、前記APIを利用可能な前記ソフトウェアのバージョンと同じバージョンまたはそれ以上のバージョンである場合に、前記ソフトウェアを更新すると判定することを特徴とする請求項1に記載の情報処理装置。 The update execution determination unit
3. The software is determined to be updated when the version of the software to be updated by the update program is the same version as or higher than the version of the software that can use the API. 1. The information processing device according to 1.
前記更新実行判定部は、
前記更新プログラムによって更新された後の前記情報処理装置に実装されることとなる全ての前記ソフトウェアについて前記APIを利用可能である場合に、前記ソフトウェアを更新すると判定することを特徴とする請求項1又は請求項2に記載の情報処理装置。 a usable information generating unit that generates usable API information indicating whether or not the API can be used for all the software installed in the information processing device;
The update execution determination unit
2. When the API can be used for all the software to be installed in the information processing apparatus after being updated by the update program, it is determined that the software is to be updated. 3. The information processing apparatus according to claim 2 .
前記更新プログラムによって更新された後の前記情報処理装置に実装される全ての前記ソフトウェアの組み合わせが、前記組み合わせ情報に含まれる前記ソフトウェアの組み合わせである場合に、前記ソフトウェアを更新すると判定することを特徴とする請求項1又は請求項2に記載の情報処理装置。 The update execution determination unit
determining to update the software when all combinations of the software installed in the information processing device after being updated by the update program are combinations of the software included in the combination information; 3. The information processing apparatus according to claim 1 or 2, wherein:
前記ハードウェアを動作させて前記所定の機能を実現するソフトウェアの更新プログラムを取得し、
前記更新プログラムに基づいた情報であって、複数の前記ソフトウェア間における情報のやりとりを行うAPIを利用可能な前記ソフトウェアの組み合わせを示す組み合わせ情報に基づいて、前記更新プログラムによって更新される前記ソフトウェアが、前記APIを利用可能である場合に、前記ソフトウェアを更新すると判定し、
前記ソフトウェアを更新すると判定された場合に、前記情報処理装置に記憶されている前記ソフトウェアのプログラムを前記更新プログラムによって更新することを特徴とするプログラム更新方法。 A software program update method in an information processing device that provides a predetermined function by operating hardware,
Acquiring a software update program for operating the hardware and realizing the predetermined function;
The software updated by the update program is based on information based on the update program and indicates a combination of the software that can use an API for exchanging information between a plurality of pieces of software, determining to update the software when the API is available ;
A program update method, comprising: updating a program of the software stored in the information processing device with the update program when it is determined that the software is to be updated.
前記ハードウェアを動作させて前記所定の機能を実現するソフトウェアの更新プログラムを取得するステップと、
前記更新プログラムに基づいた情報であって、複数の前記ソフトウェア間における情報のやりとりを行うAPIを利用可能な前記ソフトウェアの組み合わせを示す組み合わせ情報に基づいて、前記ソフトウェアを更新するか否かを判定するステップと、
前記ソフトウェアを更新すると判定された場合に、前記情報処理装置において記憶されている前記ソフトウェアのプログラムを前記更新プログラムによって更新するステップと、
を情報処理装置に実行させ、
前記判定するステップは、
前記更新プログラムによって更新される前記ソフトウェアが、前記APIを利用可能である場合に、前記ソフトウェアを更新すると判定することを特徴とする
ソフトウェア更新プログラム。 A software update program for an information processing device that provides a predetermined function by operating hardware,
obtaining a software update program for operating the hardware and realizing the predetermined function;
Determining whether to update the software based on information based on the update program and indicating a combination of the software that can use an API for exchanging information between a plurality of the software a step;
updating the software program stored in the information processing device with the update program when it is determined that the software is to be updated;
is executed by the information processing device ,
The determining step includes:
determining to update the software when the software to be updated by the update program can use the API;
software updates.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2018216280A JP7196554B2 (en) | 2018-11-19 | 2018-11-19 | Information processing device, program update method, software update program |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2018216280A JP7196554B2 (en) | 2018-11-19 | 2018-11-19 | Information processing device, program update method, software update program |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2020086632A JP2020086632A (en) | 2020-06-04 |
| JP7196554B2 true JP7196554B2 (en) | 2022-12-27 |
Family
ID=70909916
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2018216280A Active JP7196554B2 (en) | 2018-11-19 | 2018-11-19 | Information processing device, program update method, software update program |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP7196554B2 (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP7477990B2 (en) * | 2020-02-28 | 2024-05-02 | 日立Astemo株式会社 | Information processing device and program start method |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2011242891A (en) | 2010-05-14 | 2011-12-01 | Canon Inc | Distribution device, image processing device, distribution method and installation method |
-
2018
- 2018-11-19 JP JP2018216280A patent/JP7196554B2/en active Active
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2011242891A (en) | 2010-05-14 | 2011-12-01 | Canon Inc | Distribution device, image processing device, distribution method and installation method |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2020086632A (en) | 2020-06-04 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4861883B2 (en) | Image forming apparatus and application execution method | |
| US20100192234A1 (en) | Access restricted file and access restricted file creating apparatus | |
| US8373869B2 (en) | Charging system, charging method, recording medium, and image forming apparatus for performing charging process with improved user convenience | |
| US20110296439A1 (en) | Information processing device, application execution method, and computer readable medium | |
| KR20110010574A (en) | Information processing apparatus, information processing method and storage medium | |
| JP2008234603A (en) | Image forming system, portable terminal device, computer program, recording medium, and image forming method | |
| JP5317838B2 (en) | Information processing apparatus, control method therefor, program, and storage medium | |
| JP2014085749A5 (en) | ||
| JP2014085749A (en) | Driver installer, image processor, image forming system and image forming apparatus | |
| CN105391903A (en) | Method and system for controlling operation of image forming apparatus by using wearable device | |
| JP5834526B2 (en) | Print control program, information processing apparatus and printing apparatus | |
| JP7196554B2 (en) | Information processing device, program update method, software update program | |
| US11089176B2 (en) | Control of apps providing same or similar services in image forming device supporting multiple platforms | |
| JP2009188940A (en) | Image processing apparatus, image processing method, and image processing system | |
| JP5597943B2 (en) | System and method | |
| JP6303667B2 (en) | Program, information processing apparatus and information processing system | |
| JP6885124B2 (en) | Information processing system, information processing device and information processing method | |
| JP5279516B2 (en) | Information processing apparatus, display control method, and program | |
| JP4137023B2 (en) | Image processing apparatus, method, and program | |
| JP5248643B2 (en) | MFP, MFP control system, MFP control method, program, and recording medium therefor | |
| JP4910751B2 (en) | Peripheral device and information processing system | |
| JP2015166927A (en) | Program, information processing apparatus and system | |
| US20180364957A1 (en) | Image forming apparatus and control method of image forming apparatus | |
| JP5669783B2 (en) | Maintenance software creation program and information processing apparatus | |
| JP4922836B2 (en) | Image forming apparatus and application construction method |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20200107 |
|
| RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20200226 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210806 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20220425 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220510 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220701 |
|
| 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: 20221115 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20221128 |
|
| R151 | Written notification of patent or utility model registration |
Ref document number: 7196554 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |