Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7196554B2 - Information processing device, program update method, software update program - Google Patents
[go: Go Back, main page]

JP7196554B2 - Information processing device, program update method, software update program - Google Patents

Information processing device, program update method, software update program Download PDF

Info

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
Application number
JP2018216280A
Other languages
Japanese (ja)
Other versions
JP2020086632A (en
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 JP2018216280A priority Critical patent/JP7196554B2/en
Publication of JP2020086632A publication Critical patent/JP2020086632A/en
Application granted granted Critical
Publication of JP7196554B2 publication Critical patent/JP7196554B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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.

本発明の実施形態に係る画像処理装置のハードウェア構成を示すブロック図。1 is a block diagram showing the hardware configuration of an image processing apparatus according to an embodiment of the present invention; FIG. 本発明の実施形態に係る操作表示部のハードウェア構成を示すブロック図。FIG. 2 is a block diagram showing the hardware configuration of the operation display unit according to the embodiment of the invention; 本発明の実施形態に係る画像処理装置のソフトウェア構成を示すブロック図。1 is a block diagram showing the software configuration of an image processing apparatus according to an embodiment of the present invention; FIG. 本発明の実施形態に係る画像処理装置において実現される機能を示す機能ブロック図。2 is a functional block diagram showing functions implemented in the image processing apparatus according to the embodiment of the present invention; FIG. 従来の画像処理装置のソフトウェアの更新プログラムパッケージの情報構成を示す図。FIG. 10 is a diagram showing the information configuration of an update program package for software of a conventional image processing apparatus; 従来の画像処理装置においてソフトウェアを更新する処理の流れを示すフローチャート。4 is a flowchart showing the flow of processing for updating software in a conventional image processing apparatus; 従来の画像処理装置において表示されるGUIを例示した図。FIG. 10 is a view exemplifying a GUI displayed in a conventional image processing apparatus; 従来の画像処理装置のソフトウェアの更新プログラムの情報構成を例示した図。FIG. 10 is a diagram exemplifying the information configuration of a software update program for a conventional image processing apparatus; 本発明の実施形態に係る画像処理装置のソフトウェアの更新プログラムの情報構成を示す図。FIG. 2 is a diagram showing the information configuration of a software update program for the image processing apparatus according to the embodiment of the present invention; 本発明の実施形態に係るバージョン情報リストの情報構成を示す図。The figure which shows the information structure of the version information list|wrist which concerns on embodiment of this invention. 本発明の実施形態に係る画像処理装置においてソフトウェアを更新する処理の流れを示すフローチャート。4 is a flow chart showing the flow of processing for updating software in the image processing apparatus according to the embodiment of the present invention; 本発明の実施形態に係る画像処理装置において表示されるGUIを例示した図。FIG. 4 is a diagram exemplifying a GUI displayed in the image processing apparatus according to the embodiment of the present invention; 本発明の実施形態に係る画像処理装置においてバージョン情報リストを更新する処理の流れを示すフローチャート。4 is a flow chart showing the flow of processing for updating the version information list in the image processing apparatus according to the embodiment of the present invention; 本発明の実施形態に係る画像処理装置のソフトウェアの更新プログラムの情報構成を示す図。FIG. 2 is a diagram showing the information configuration of a software update program for the image processing apparatus according to the embodiment of the present invention; 本発明の実施形態に係るAPI利用条件リストの情報構成を示す図。The figure which shows the information structure of the API use condition list|wrist which concerns on embodiment of this invention. 本発明の実施形態に係る画像処理装置において実現される機能の他の例を示す機能ブロック図。FIG. 4 is a functional block diagram showing another example of functions implemented in the image processing apparatus according to the embodiment of the present invention; 本発明の実施形態に係る画像処理装置においてソフトウェアを更新する処理の流れを示すフローチャート。4 is a flow chart showing the flow of processing for updating software in the image processing apparatus according to the embodiment of the present invention; 本発明の実施形態に係る利用可能API情報を生成する処理の流れを示すフローチャート。4 is a flow chart showing the flow of processing for generating available API information according to the embodiment of the present invention; 本発明の実施形態に係る利用可能API情報の情報構成を示す図。The figure which shows the information structure of the available API information which concerns on embodiment of this invention.

以下、図面を参照して、本発明の実施形態を詳細に説明する。本実施形態においては、情報処理装置として、ユーザが操作を行うための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 image processing apparatus 1 including an operation display unit 34 such as a touch panel as a UI (User Interface) for user operations will be described.

なお、本実施形態における画像処理装置1は、コピー機能、プリント機能、スキャン機能、FAX機能などを実現するためのソフトウェアが実装されているMFP(Multi Function Peripheral:複合機)を例として説明する。 Note that the image processing apparatus 1 according to the present embodiment will be described as an MFP (Multi Function Peripheral) in which software for realizing a copy function, a print function, a scan function, a FAX function, etc. is installed.

図3は本実施形態に係る画像処理装置1のハードウェア構成を示すブロック図である。画像処理装置1は、コントローラ100とエンジン部33とをPCI(Peripheral Component Interface)バス11で接続した構成となる。 FIG. 3 is a block diagram showing the hardware configuration of the image processing apparatus 1 according to this embodiment. The image processing apparatus 1 has a configuration in which a controller 100 and an engine section 33 are connected by a PCI (Peripheral Component Interface) bus 11 .

コントローラ100は、画像処理装置1全体の制御と描画、通信、操作表示部34からの入力を制御する。エンジン部33は、PCIバス11に接続可能なプリンタエンジンなどであり、たとえば白黒プロッタ、1ドラムカラープロッタ、4ドラムカラープロッタ、スキャナまたはファックスユニットなどである。 The controller 100 controls the overall control of the image processing apparatus 1 , drawing, communication, and input from the operation display section 34 . The engine unit 33 is a printer engine or the like connectable to the PCI bus 11, such as a black-and-white plotter, a 1-drum color plotter, a 4-drum color plotter, a scanner, or a facsimile unit.

なお、このエンジン部33には、プロッタなどのいわゆる画像形成出力を行うエンジン部分に加えて、誤差拡散やガンマ変換などの画像処理を行う画像処理部分が含まれる。 The engine section 33 includes an engine section such as a plotter that performs so-called image formation output, and an image processing section that performs image processing such as error diffusion and gamma conversion.

コントローラ100は、CPU21、ノースブリッジ(NB)23、システムメモリ(MEM-P)22、サウスブリッジ(SB)24、ローカルメモリ(MEM-C)27、ASIC(Application Specific Integrated Circuit)26、ハードディスクドライブ(HDD)35を含む。 The controller 100 includes a CPU 21, a north bridge (NB) 23, a system memory (MEM-P) 22, a south bridge (SB) 24, a local memory (MEM-C) 27, an ASIC (Application Specific Integrated Circuit) 26, a hard disk drive ( HDD) 35.

また、ノースブリッジ(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) bus 25 . Furthermore, the MEM-P 22 includes a ROM (Read Only Memory) 22a and a RAM (Random Access Memory) 22b.

CPU21は、画像処理装置1を制御し、NB23、MEM-P22、SB24を含むチップセットを含む構成であり、このチップセットを介して他の機器と接続される。NB23は、CPU21とMEM-P22、SB24、AGPバス25とを接続するためのブリッジであり、MEM-P22に対する読み書きなどを制御するメモリコントローラと、PCIマスタおよびAGPターゲットとを含む構成である。 The CPU 21 controls the image processing apparatus 1 and includes a chipset including NB23, MEM-P22, and SB24, and is connected to other devices via this chipset. The NB 23 is a bridge for connecting the CPU 21 with the MEM-P 22, SB 24 and AGP bus 25, and includes a memory controller that controls reading and writing of the MEM-P 22, a PCI master and an AGP target.

MEM-P22は、プログラムやデータの格納用メモリ、プログラムやデータの展開用メモリ、プリンタの描画用メモリなどとして用いるシステムメモリであり、ROM22aとRAM22bとを含む。 The MEM-P 22 is a system memory used as a memory for storing programs and data, a memory for developing programs and data, a drawing memory for a printer, etc., and includes a ROM 22a and a RAM 22b.

ROM22aは、プログラムやデータの格納用メモリとして用いる読み出し専用のメモリであり、RAM22bは、プログラムやデータの展開用メモリ、プリンタの描画用メモリなどとして用いる書き込みおよび読み出し可能なメモリである。 The ROM 22a is a read-only memory used as a memory for storing programs and data, and the RAM 22b is a writable and readable memory used as a memory for developing programs and data, a drawing memory for a printer, and the like.

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 AGP bus 25, PCI bus, HDD 35 and MEM-C 27, respectively.

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 ASIC 26, a memory controller that controls the MEM-C 27, and a plurality of DMACs (Direct Memory Access) that rotate image data using hardware logic. Controller) and a PCI unit that transfers data to and from the engine section 33 via the PCI bus 11 .

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)インタフェース31、NFC(Near field radio communication)インタフェース32が接続be done.

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 operation display unit 34 is directly connected to the ASIC 26 via the bus 30 . MEM-C 27 is a local memory used by ASIC 26 as a copy image buffer and code buffer.

FCU28は、画像処理装置1におけるファクシミリの送受信を制御する。USB29は、画像処理装置1と、画像処理装置1にUSB接続されている外部の端末との間でデータの送受信を行う。IEEE1394インタフェース31は、画像処理装置1と、画像処理装置1にIEEE1394端子を介して接続されている外部の端末との間でデータの送受信を行う。NFCインタフェース32は、非接触型の近距離無線通信を行う。 The FCU 28 controls facsimile transmission/reception in the image processing apparatus 1 . The USB 29 transmits and receives data between the image processing apparatus 1 and an external terminal USB-connected to the image processing apparatus 1 . The IEEE1394 interface 31 transmits and receives data between the image processing apparatus 1 and an external terminal connected to the image processing apparatus 1 via an IEEE1394 terminal. The NFC interface 32 performs non-contact short-range wireless communication.

HDD35は、画像データの蓄積、プログラムの蓄積、フォントデータの蓄積、フォームの蓄積を行うためのストレージであり、画像処理装置1において実行されるアプリケーションのプログラムファイルが保存されている。AGPバス25は、グラフィック処理を高速化するために提案されたグラフィックスアクセラレータカード用のバスインタフェースであり、MEM-P22に高スループットで直接アクセスすることにより、グラフィックスアクセラレータカードを高速にするものである。 The HDD 35 is a storage for storing image data, programs, font data, and forms, and stores program files of applications executed in the image processing apparatus 1 . The AGP bus 25 is a bus interface for graphics accelerator cards proposed for speeding up graphics processing, and speeds up the graphics accelerator card by directly accessing the MEM-P 22 with high throughput. .

なお、画像処理装置1において実行されるアプリケーションのプログラムファイルは、コントローラ100において、CPU21によってRAM22bに展開される。そして、RAM22bに展開されたプログラムに従ってCPU21が演算処理を行うことによってアプリケーションが実行される。 Program files of applications executed in the image processing apparatus 1 are developed in the RAM 22 b by the CPU 21 in the controller 100 . Then, the application is executed by the CPU 21 performing arithmetic processing according to the program developed in the RAM 22b.

次に、本実施形態に係る操作表示部34のハードウェア構成について図2を参照して説明する。図2に示すように、操作表示部34は、CPU341、RAM342、ROM343、HDD344、内部I/F345、外部I/F346、操作パネル347がバス349を介して互いに接続されて構成される。 Next, the hardware configuration of the operation display section 34 according to this embodiment will be described with reference to FIG. As shown in FIG. 2, the operation display unit 34 is configured by connecting a CPU 341 , a RAM 342 , a ROM 343 , an HDD 344 , an internal I/F 345 , an external I/F 346 and an operation panel 347 to each other via a bus 349 .

本実施形態においては、画像処理装置1の本体10(図3参照)に取り外し可能なディスプレイパネルとして構成されるものを操作表示部34として説明を行う。なお、本体10と通信可能な端末、例えば、タブレット型情報処理端末などを操作表示部34として用いる構成であってもよい。 In the present embodiment, the operation display section 34 will be described as a display panel that can be removed from the main body 10 (see FIG. 3) of the image processing apparatus 1 . Note that a terminal capable of communicating with the main body 10 , such as a tablet information processing terminal, may be used as the operation display unit 34 .

CPU341は演算手段であり、操作表示部34の全体の動作を制御する。RAM342は、情報の高速な読み書きが可能な揮発性の記憶媒体であり、CPU341が情報を処理する際の作業領域として用いられる。ROM343は、読み出し専用の不揮発性記憶媒体であり、ファームウェアなどのプログラムが格納されている。 The CPU 341 is computing means and controls the overall operation of the operation display section 34 . The RAM 342 is a volatile storage medium from which information can be read and written at high speed, and is used as a working area when the CPU 341 processes information. The ROM 343 is a read-only non-volatile storage medium and stores programs such as firmware.

HDD344は、情報の読み書きが可能な不揮発性の記憶媒体であり、操作表示部34のOS(Operating System)や各種の制御プログラム、アプリケーションのプログラムファイルなどが格納されている。なお、HDD344の代わりに、SSD(Solid State Drive)などの不揮発性の記憶媒体を用いる構成であってもよい。 The HDD 344 is a non-volatile storage medium from which information can be read and written, and stores an OS (Operating System) of the operation display unit 34, various control programs, application program files, and the like. In addition, instead of HDD344, the structure using non-volatile storage media, such as SSD(Solid State Drive), may be sufficient.

内部I/F345は、ASIC26の内部I/F265と接続され、ユーザによる操作パネル347の操作信号をコントローラ100に対して出力する。外部I/F346は、バス90と各種のハードウェアやネットワークなどを接続し制御する。 The internal I/F 345 is connected to the internal I/F 265 of the ASIC 26 and outputs operation signals of the operation panel 347 by the user to the controller 100 . The external I/F 346 connects and controls the bus 90 and various hardware and networks.

操作パネル347は、ユーザが操作表示部34の状態を確認するためのディスプレイなどの表示装置およびユーザが操作表示部34において、情報を入力するための入力部が一体的に形成されている。本実施形態において操作パネル347は、タッチパネルやハードキーなどによって構成される。 The operation panel 347 is integrally formed with a display device such as a display for the user to check the state of the operation display section 34 and an input section for the user to input information on the operation display section 34 . In this embodiment, the operation panel 347 is composed of a touch panel, hard keys, and the like.

このようなハードウェア構成において、ROM343やHDD344もしくは光学ディスクなどの記録媒体に格納されたプログラムがRAM342に読み出され、CPU341がそれらのプログラムに従って演算を行うことにより、操作表示部34におけるソフトウェア制御部がそれぞれ構成される。このようにして構成されたソフトウェア制御部と、ハードウェアとの組み合わせによって、操作表示部34の機能を実現する機能ブロックがそれぞれ構成される。 In such a hardware configuration, programs stored in a recording medium such as the ROM 343, HDD 344, or optical disk are read out to the RAM 342, and the CPU 341 performs calculations according to those programs, thereby controlling the software control unit in the operation display unit 34. are configured respectively. A functional block that realizes the function of the operation display unit 34 is configured by combining the software control unit configured in this manner and the hardware.

図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 image processing apparatus 1. As shown in FIG. As shown in FIG. 3 , the main body 10 has an application layer 101 , a service layer 102 and an OS layer 103 . The application layer 101, the service layer 102, and the OS layer 103 are various software stored in the ROM 22a, the HDD 35, or the like. Various functions are provided by the CPU 21 executing these software.

アプリ層101のソフトウェアは、画像処理装置1を構成するハードウェア資源を動作させて所定の機能を提供するためのアプリケーションである。例えばアプリケーションとしては、コピー機能を提供するためのコピーApp101a、プリンタ機能を提供するためのプリントApp101b、スキャナ機能を提供するためのスキャンApp101c、ファクス機能を提供するためのFAXApp101d、ネットワーク機能を提供するためのNWApp101eなどが挙げられる。さらに、アプリ層101のアプリケーションとしては、ウェブブラウザやアプリケーションを利用するのに必要なソフトウェアなどがある。 Software of the application layer 101 is an application for operating hardware resources constituting the image processing apparatus 1 to provide predetermined functions. For example, applications include a copy App 101a for providing a copy function, a print App 101b for providing a printer function, a scan App 101c for providing a scanner function, a FAX App 101d for providing a fax function, and a network function. and NWApp101e of Further, applications of the application layer 101 include software necessary for using web browsers and applications.

サービス層102のソフトウェアは、アプリ層101とOS層103との間に介在し、アプリケーションに対し、本体10が備えるハードウェア資源を利用するためのインタフェースを提供するためのソフトウェアである。具体的には、ハードウェア資源に対する動作要求の受付、動作要求の制御を行う機能を提供するためのソフトウェアである。サービス層102が受け付ける動作要求としては、エンジン部33によるスキャン動作や印刷要求が考えられる。 The software of the service layer 102 is software that intervenes between the application layer 101 and the OS layer 103 and provides an interface for using hardware resources of the main body 10 to applications. Specifically, it is software for providing a function of receiving operation requests for hardware resources and controlling the operation requests. An operation request received by the service layer 102 may be a scan operation or a print request by the engine unit 33 .

なお、サービス層102によるインタフェースの機能は、本体10のアプリ層101だけではなく、操作表示部34のアプリ層301に対しても提供される。すなわち、操作表示部34のアプリ層301(アプリケーション)も、サービス層102のインタフェース機能を介して、本体10のハードウェア資源(例えばエンジン部17)を利用した機能を実現することができる。例えばサービス層102のインタフェース機能は、WebAPIで提供される。 The interface function of the service layer 102 is provided not only to the application layer 101 of the main body 10 but also to the application layer 301 of the operation display unit 34 . That is, the application layer 301 (application) of the operation display unit 34 can also implement functions using the hardware resources (for example, the engine unit 17) of the main body 10 via the interface functions of the service layer 102. FIG. For example, the interface function of the service layer 102 is provided by WebAPI.

これらの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 Copy App API 120a corresponding to the Copy App 101a, a Print App API 120b corresponding to the Print App 101b, and a Scan App API 120c and FAX App 101d corresponding to the Scan App 101c. APIs such as FAXApp API 120d and NWApp API 120e corresponding to NWApp 101e are provided.

OS層103のソフトウェアは、本体10が備えるハードウェアを制御する機能を提供するための基本ソフトウェア(オペレーティングシステム(OS))である。サービス層102のソフトウェアは、各アプリケーションから出力されたハードウェア資源の利用要求を、OS層103が解釈可能なコマンドに変換し、OS層103に転送する。そして、OS層103のソフトウェアによりコマンドが実行されることで、ハードウェア資源はアプリケーションの要求に従った動作を行う。 The software of the OS layer 103 is basic software (operating system (OS)) for providing the function of controlling hardware provided in the main body 10 . The software of the service layer 102 converts a hardware resource usage request output from each application into a command that can be interpreted by the OS layer 103 and transfers the command to the OS layer 103 . Then, the command is executed by the software of the OS layer 103, so that the hardware resource operates according to the request of the application.

一方、操作表示部34も本体10と同様に、アプリ層301、サービス層302、OS層303を備える。操作表示部34が備えるアプリ層301、サービス層302、および、OS層303も階層構造については本体10側と同様である。ただし、アプリ層301のアプリケーションにより提供される機能や、サービス層302が受け付け可能な動作要求の種類は、本体10側とは異なる。 On the other hand, the operation display unit 34 also includes an application layer 301 , a service layer 302 and an OS layer 303 like the main body 10 . The application layer 301, the service layer 302, and the OS layer 303 included in the operation display unit 34 also have the same hierarchical structure as the main body 10 side. However, the functions provided by the applications of the application layer 301 and the types of operation requests that the service layer 302 can accept are different from those on the main body 10 side.

アプリ層301のアプリケーションは、操作表示部34が備えるハードウェア資源を動作させて所定の機能を提供するためのソフトウェアであってもよい。このようなソフトウェアとしては、例えば、操作表示部34は、本体10が備える機能(コピー機能、スキャナ機能、ファクス機能、プリンタ機能)に関する操作や表示を行うためのGUI(グラフィカルユーザインタフェース)の機能を提供するためのソフトウェアを備える。また、アプリ層301には、ネイティブアプリケーション、ブラウザアプリケーションなどが存在し、サービス層302には、インストーラなどが存在する。 The application of the application layer 301 may be software for operating hardware resources included in the operation display unit 34 to provide a predetermined function. As such software, for example, the operation display unit 34 has a GUI (graphical user interface) function for operating and displaying functions (copy function, scanner function, facsimile function, printer function) provided in the main body 10. Equipped with software to provide The application layer 301 includes native applications, browser applications, and the like, and the service layer 302 includes installers and the like.

なお、本実施の形態では、機能の独立性を保つために、本体10側のOS層103のソフトウェアと操作表示部34側のOS層303のソフトウェアが互いに異なる。つまり、本体10と操作表示部34は、別々のオペレーティングシステムで互いに独立して動作する。 In this embodiment, the software of the OS layer 103 on the main body 10 side and the software of the OS layer 303 on the operation display unit 34 side are different from each other in order to maintain the independence of the functions. In other words, the main body 10 and the operation display section 34 operate independently of each other with separate operating systems.

以上のように、本実施の形態の画像処理装置1において、本体10と操作表示部34は別々のオペレーティングシステムで動作するため、本体10と操作表示部34との間の通信は、共通化された画像処理装置1内部のプロセス間通信ではなく、異なる装置間の通信として行われる。 As described above, in the image processing apparatus 1 of the present embodiment, since the main body 10 and the operation display section 34 operate on separate operating systems, communication between the main body 10 and the operation display section 34 is made common. This is performed as communication between different devices, not inter-process communication inside the image processing apparatus 1 .

操作表示部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 operation display unit 34 of an event, and the like. corresponds to communication between different devices.

そして、操作表示部34が本体10へコマンド通信を行うことにより、本体10の機能を使用することができる。また、本体10から操作表示部34に通知するイベントには本体10における動作の実行状況、および、本体10側で設定された内容(例えば、印刷ジョブの設定内容の情報)などが挙げられる。 The functions of the main body 10 can be used by the operation display unit 34 performing command communication to the main body 10 . Also, the events notified from the main body 10 to the operation display unit 34 include the execution status of operations in the main body 10 and details set on the main body 10 side (for example, information about print job setting details).

また、本実施形態に係る画像処理装置1では、操作表示部34に対する電力供給が本体10からバス30を経由して行われる。ゆえに、操作表示部34の電源制御を本体10の電源制御とは別に(独立して)行うことができる。 Further, in the image processing apparatus 1 according to this embodiment, power is supplied to the operation display unit 34 from the main body 10 via the bus 30 . Therefore, the power control of the operation display unit 34 can be performed separately (independently) from the power control of the main body 10 .

次に、本実施形態に係る画像処理装置1において実現される機能について図4を参照して説明する。なお、図4に示す機能は、コントローラ100を実現する各ハードウェアによって実行されるソフトウェア・プログラムによって実現され、図3において説明したアプリ層101、サービス層102、OS層103のうち、いずれにおいて実現される構成であってもよい。 Next, functions implemented in the image processing apparatus 1 according to this embodiment will be described with reference to FIG. The functions shown in FIG. 4 are implemented by software programs executed by each hardware that implements the controller 100, and are implemented in any of the application layer 101, the service layer 102, and the OS layer 103 described with reference to FIG. It may be configured to be

例えば、図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 OS layer 103 . Also, the functions realized by the functions shown in FIG. 4 may be implemented as application software of the application layer 101 .

図4に示すように、画像処理装置1は、通信制御部201、インストール制御部202、更新判定情報取得部203、更新実行判定部204、バージョン情報記憶部205、本体側更新実行部206、外部端末更新制御部207、ソフトウェア記憶部208を含む。 As shown in FIG. 4, the image processing apparatus 1 includes a communication control unit 201, an installation control unit 202, an update determination information acquisition unit 203, an update execution determination unit 204, a version information storage unit 205, a main unit side update execution unit 206, an external A terminal update control unit 207 and a software storage unit 208 are included.

通信制御部201は、コントローラ100に入出力される情報を制御する。通信制御部201は、例えば、画像処理装置1にダウンロードされた更新プログラムをインストール制御部202に送信する。 The communication control unit 201 controls information input/output to/from the controller 100 . The communication control unit 201 , for example, transmits the update program downloaded to the image processing apparatus 1 to the installation control unit 202 .

インストール制御部202は、画像処理装置1にダウンロードされた更新プログラムを更新判定情報取得部203および更新実行判定部204に送信する。このとき、インストール制御部202は、必要があれば、ダウンロードされた更新プログラムの解凍もしくは更新プログラムの暗号化を解除(復号化)して、RAM22bもしくはHDD35に展開し、更新判定情報取得部203に送信する。 The installation control unit 202 transmits the update program downloaded to the image processing apparatus 1 to the update determination information acquisition unit 203 and the update execution determination unit 204 . At this time, if necessary, the installation control unit 202 decompresses the downloaded update program or de-encrypts (decrypts) the update program, expands it in the RAM 22b or the HDD 35, and sends it to the update determination information acquisition unit 203. Send.

更新判定情報取得部203は、インストール制御部202から更新プログラムを取得する更新プログラム取得部として機能し、更新プログラムに含まれる情報からヘッダ部の情報やバージョン情報リスト、API利用可能情報を取得する。これらの情報についての詳細は、後述する。 The update determination information acquisition unit 203 functions as an update program acquisition unit that acquires an update program from the installation control unit 202, and acquires header information, a version information list, and API availability information from information included in the update program. Details of these pieces of information will be described later.

更新実行判定部204は、インストール制御部202から取得した更新プログラムに含まれる情報に基づいて、その更新プログラムが更新可能なプログラムであるか否かを判定する。また、更新実行判定部204は、更新判定情報取得部203からバージョン情報リストを取得して、インストール制御部202から取得した更新プログラムが更新可能なプログラムであるか否かを判定する構成であってもよい。 Based on the information included in the update program acquired from the installation control unit 202, the update execution determination unit 204 determines whether or not the update program is an updatable program. Further, the update execution determination unit 204 acquires the version information list from the update determination information acquisition unit 203, and determines whether or not the update program acquired from the installation control unit 202 is an updatable program. good too.

バージョン情報記憶部205は、更新判定情報取得部203が取得したバージョン情報を記憶する記憶領域であり、RAM22bやHDD35によって実現される。本体側更新実行部206は、更新実行判定部204により、インストール制御部202から取得した更新プログラムが、本体10において更新可能なプログラムであると判定された場合に、ソフトウェア記憶部208に記憶されているプログラムを、インストールされた更新プログラムを用いて書き換えることにより更新する。 The version information storage unit 205 is a storage area for storing the version information acquired by the update determination information acquisition unit 203, and is implemented by the RAM 22b and the HDD 35. FIG. When the update execution determination unit 204 determines that the update program acquired from the installation control unit 202 is a program that can be updated in the main unit 10, the main unit-side update execution unit 206 stores the update program in the software storage unit 208. update by rewriting the installed program using the installed update program.

外部端末更新制御部207は、更新実行判定部204により、インストール制御部202から取得した更新プログラムが、操作表示部34において更新可能なプログラムであると判定された場合に、ROM343に記憶されているプログラムを、インストールされた更新プログラムに書き換えることにより更新する。 When the update execution determination unit 204 determines that the update program acquired from the installation control unit 202 is a program that can be updated by the operation display unit 34, the external terminal update control unit 207 stores the update program in the ROM 343. Update the program by rewriting it with the installed update program.

ソフトウェア記憶部208は、本体10に実装されるプログラムを記憶する記憶領域であり、RAM22bやHDD35によって実現されるプログラム記憶部である。本実施形態に係る画像処理装置1は、このような構成により、画像処理装置1に搭載されている機能を実現するためのソフトウェアのプログラムを更新する。 The software storage unit 208 is a storage area for storing programs installed in the main body 10, and is a program storage unit realized by the RAM 22b and the HDD 35. FIG. With such a configuration, the image processing apparatus 1 according to the present embodiment updates software programs for realizing the functions installed in the image processing apparatus 1 .

ところで、図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 image processing apparatus 1 is updated from version 1.0X to 1.03, and the software realizing the copy function is updated from 1.0X to 1.03. is shown.

操作表示部に表示された更新実行確認画面において、「はい」のボタンが操作されると、プログラムの更新を開始する信号が出力され(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 image processing apparatus 1 according to the present embodiment, the update program for updating the software for realizing the functions implemented in the image processing apparatus 1 includes version information that can identify the version of the SDK. Configure to include lists.

図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 image processing apparatus 1 according to this embodiment. The update program for updating the software of the function XX installed in the image processing apparatus 1 shown in FIG. It has a version information list, which is information, and program information, which is the source code of the update program.

図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 image processing apparatus 1 and SDK version information indicating the version of the SDK.

上述したように、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 image processing apparatus 1, version information, which is combination information indicating a combination of versions of software installed with an API capable of exchanging information between each software. Create a data list containing information and SDK version information.

例えば、データリスト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 image processing apparatus 1 is 1.00, the software version realizing the copy function is 1.00, and the software version realizing the print function is 1.00. 1.00, information indicating that the version of the software that realizes the network function is 1.00, . .

また、データリスト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 image processing apparatus 1 is 1.00, the software version realizing the copy function is 1.01, and the software version realizing the print function is 1.01. 1.00, information indicating that the version of the software that realizes the network function is 1.01, . .

さらに、データリスト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 image processing apparatus 1 is 1.01, the software version realizing the copy function is 1.01, and the software version realizing the print function is 1.01. 1.01, information indicating that the version of the software that realizes the network function is 1.02, . .

そして、データリストを複数組み合わせたもの、すなわち、データリスト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 image processing apparatus 1 shown in FIG. 9, it is assumed that the version information list 1.00 is described. may be configured to include a version information list of

また、バージョン情報リストは、画像処理装置1に実装されているソフトウェアの更新プログラムを作成する際に、それぞれの更新プログラムにふくまれる情報であり、バージョンリストに含まれるデータリストの組み合わせが異なるものとなると、バージョン情報リストのバージョンも変化する。 The version information list is information included in each update program when creating an update program for the software installed in the image processing apparatus 1, and the combinations of data lists included in the version list are different. Then the version in the version information list also changes.

例えば、バージョン情報リスト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 information storage unit 205 in the image processing apparatus 1 .

次に、本実施形態に係る画像処理装置1に実装されているソフトウェアを更新する処理の流れについて図11を参照して説明する。図11は、本実施形態に係る画像処理装置1においてソフトウェアを更新する処理の流れを示すフローチャートである。更新プログラムパッケージが記憶された外部記憶媒体から、更新プログラムパッケージを画像処理装置1にダウンロードすることにより、本処理が開始される。 Next, a flow of processing for updating software installed in the image processing apparatus 1 according to this embodiment will be described with reference to FIG. FIG. 11 is a flowchart showing the flow of processing for updating software in the image processing apparatus 1 according to this embodiment. This process is started by downloading the update program package to the image processing apparatus 1 from the external storage medium in which the update program package is stored.

通信制御部201を介して、画像処理装置1に更新プログラムがダウンロードされると、インストール制御部202は、更新プログラムのデータファイルを解凍し、解凍した更新プログラムをRAM22bに展開する(S1101)。更新判定情報取得部203は、更新プログラムに含まれる情報から、ヘッダ部の情報、および、バージョン情報リストを取得する(S1102)。 When the update program is downloaded to the image processing apparatus 1 via the communication control unit 201, the installation control unit 202 decompresses the data file of the update program and expands the decompressed update program in the RAM 22b (S1101). The update determination information acquisition unit 203 acquires the information of the header part and the version information list from the information included in the update program (S1102).

次に、更新実行判定部204は、更新判定情報取得部203が取得した情報から、更新プログラムによって画像処理装置1に実装されている機能XXのプログラムの更新を行うことができるか否かを判定する(S1103)。 Next, the update execution determination unit 204 determines whether or not the program of the function XX installed in the image processing apparatus 1 can be updated by the update program from the information acquired by the update determination information acquisition unit 203. (S1103).

図9に示す画像処理装置1の機能XXについての更新プログラムは、ヘッダ部にベンダ情報、機種情報および機能バージョン情報、ボディに、バージョン情報リスト、および、更新プログラムのソースコードであるプログラム情報を有して構成される。S1103の処理において、更新実行判定部204は、ヘッダ部に記述されているベンダ情報、機種情報、および、機能バージョン情報を参照して、プログラムの更新を行うことができるか否かを判定する。 The update program for the function XX of the image processing apparatus 1 shown in FIG. 9 has vendor information, model information and function version information in the header, and a version information list and program information as the source code of the update program in the body. configured as In the process of S1103, the update execution determination unit 204 refers to the vendor information, model information, and function version information described in the header to determine whether or not the program can be updated.

このとき、更新実行判定部204は、ベンダ情報を用いる例として、画像処理装置1のベンダと更新プログラムのベンダが異なる場合に、プログラムの更新が実行できないと判定する(S1103/NO)。一方で、更新実行判定部204は、画像処理装置1のベンダと更新プログラムのベンダが同じである場合に、プログラムの更新を行うことが可能であると判定する(S1103/YES)。 At this time, as an example of using vendor information, the update execution determination unit 204 determines that the program cannot be updated when the vendor of the image processing apparatus 1 and the update program are different (S1103/NO). On the other hand, if the vendor of the image processing apparatus 1 and the vendor of the update program are the same, the update execution determination unit 204 determines that the program can be updated (S1103/YES).

また、更新実行判定部204は、機種情報を用いる例として、更新プログラムの機種情報が画像処理装置1の機種と一致しない場合に、プログラムの更新が実行できないと判定する(S1103/NO)。一方で、更新実行判定部204は、更新プログラムの機種情報が画像処理装置1の機種と一致する場合に、プログラムの更新を行うことが可能であると判定する(S1103/YES)。 As an example of using model information, the update execution determination unit 204 determines that the program cannot be updated when the model information of the update program does not match the model of the image processing apparatus 1 (S1103/NO). On the other hand, if the model information of the update program matches the model of the image processing apparatus 1, the update execution determination unit 204 determines that the program can be updated (S1103/YES).

更新プログラムに含まれる機種情報は、例えば、予め画像処理装置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 image processing apparatus 1 may be used.

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 operation display unit 34 as a GUI operated by the user to confirm execution of the program update, as shown in FIG. (S1104).

図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 image processing apparatus 1 is upgraded from version 1.0X to 1.03, the software realizing the copy function is upgraded from 1.0X to 1.03, and the SDK is updated from version 1.0X to 1.03. It shows that the version is updated from 1.0X to 1.03.

操作表示部34に表示された更新実行確認画面において、「はい」のボタンが操作されると、更新実行判定部204は、プログラムの更新を開始する信号が出力し(S1105)、「いいえ」のボタンが操作されると、本処理を終了する。 When the "yes" button is operated on the update execution confirmation screen displayed on the operation display unit 34, the update execution determination unit 204 outputs a signal to start updating the program (S1105), and "no" is selected. When the button is operated, this processing ends.

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 information acquisition unit 203 stores the version information list acquired in S1102 in the version information storage unit 205 (S1106).

次に、更新実行判定部204は、バージョン情報記憶部205に記憶されているバージョン情報リストを参照して、そのバージョン情報リストに含まれるデータリストに示されるソフトウェアの組み合わせと、S1101で展開された更新プログラムを用いてソフトウェアを更新した後の画像処理装置1に実装されることとなるソフトウェアとの組み合わせを比較する(S1107)。 Next, the update execution determination unit 204 refers to the version information list stored in the version information storage unit 205, and combines the software shown in the data list included in the version information list with the software developed in S1101. The combination with the software to be installed in the image processing apparatus 1 after updating the software using the update program is compared (S1107).

そして、更新実行判定部204は、S1101で展開された更新プログラムを用いてソフトウェアを更新した後の画像処理装置1に実装されることとなるソフトウェアの組み合わせが、S1106で記憶されたバージョン情報リストのデータリストに示されるソフトウェアの組み合わせに含まれない組み合わせである場合には(S1108/NO)、S1101で展開された更新プログラムを用いてソフトウェアを更新することなく、本処理を終了する。 Then, the update execution determination unit 204 determines that the combination of software to be installed in the image processing apparatus 1 after updating the software using the update program developed in S1101 is included in the version information list stored in S1106. If the combination is not included in the software combination shown in the data list (S1108/NO), this process ends without updating the software using the update program expanded in S1101.

一方で、S1101で展開された更新プログラムを用いてソフトウェアを更新した後の画像処理装置1に実装されることとなるソフトウェアの組み合わせが、S1106で記憶されたバージョン情報リストのデータリストに示されるソフトウェアの組み合わせに含まれる組み合わせである場合には(S1108/YES)、更新実行判定部204は、本体側更新実行部206に、ソフトウェア記憶部208に記憶されているソフトウェアのプログラムを、S1101で展開したソフトウェアの更新プログラムに書き換えさせて、ソフトウェアの更新を行い(S1109)、本処理を終了する。 On the other hand, the combination of software to be installed in the image processing apparatus 1 after updating the software using the update program developed in S1101 is the software shown in the data list of the version information list stored in S1106. (S1108/YES), the update execution determination unit 204 causes the main body side update execution unit 206 to expand the software program stored in the software storage unit 208 in S1101. The software update program is rewritten to update the software (S1109), and the process ends.

なお、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 operation display unit 34, in the process of S1109, the update execution determination unit 204 updates the deployed update program to the external terminal update control unit 207. , and causes the external terminal update control unit 207 to update the software installed in the external terminal (here, the operation display unit 34), and terminates this process.

なお、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 image processing apparatus 1, the version information list is stored in the non-volatile storage medium. It may be a configuration.

また、S1109でソフトウェアの更新を行う際に、更新可能なソフトウェアと判定されたソフトウェアおよびそのバージョンに関する情報を操作表示部34に表示させる構成であってもよい。 Further, when updating the software in S1109, the configuration may be such that the operation display unit 34 displays information about the software determined to be updatable and its version.

図13は、本実施形態に係るバージョン情報記憶部205におけるバージョン情報リストを更新する処理の流れである。S1105の処理において、更新実行確認画面において、「はい」のボタンが操作されると、プログラムの更新を開始する信号が出力されると、更新実行判定部204は、更新プログラムに含まれているバージョン情報リストのバージョンと、バージョン情報記憶部205に記憶されている現状のバージョンとを比較する(S1301)。 FIG. 13 shows the flow of processing for updating the version information list in the version information storage unit 205 according to this embodiment. In the process of S1105, when the "Yes" button is operated on the update execution confirmation screen and a signal to start updating the program is output, the update execution determination unit 204 determines whether the version included in the update program is updated. The version of the information list is compared with the current version stored in the version information storage unit 205 (S1301).

更新実行判定部204は、バージョン情報記憶部205に記憶されているバージョン情報リストのバージョンよりも更新プログラムに含まれているバージョン情報リストのバージョンが新しいものであると判定した場合(S1302/YES)、更新プログラムに含まれるバージョン情報リストをバージョン情報記憶部205に送信する。 When the update execution determination unit 204 determines that the version of the version information list included in the update program is newer than the version of the version information list stored in the version information storage unit 205 (S1302/YES). , the version information list included in the update program is transmitted to the version information storage unit 205 .

更新実行判定部204からバージョン情報記憶部更新プログラムに含まれているバージョン情報リストを受信すると、バージョン情報記憶部205は受信したバージョン情報リストを記憶し(S1303)、本処理を終了する。 Upon receiving the version information list included in the version information storage unit update program from the update execution determination unit 204, the version information storage unit 205 stores the received version information list (S1303), and ends this process.

一方で、更新実行判定部204は、バージョン情報記憶部205に記憶されているバージョン情報リストのバージョンよりも更新プログラムに含まれているバージョン情報リストのバージョンが新しいものではないと判定した場合(S1302/NO)、更新プログラムに含まれるバージョン情報リストをバージョン情報記憶部205に送信することなく本処理を終了する。 On the other hand, if the update execution determination unit 204 determines that the version of the version information list included in the update program is not newer than the version of the version information list stored in the version information storage unit 205 (S1302). /NO), the process ends without transmitting the version information list included in the update program to the version information storage unit 205 .

このように、本実施形態においては、画像処理装置1には、常に最新のバージョン情報リストが記憶され、記憶されたバージョン情報リストに基づいて画像処理装置1のソフトウェアが更新されることとなる。 Thus, in this embodiment, the image processing apparatus 1 always stores the latest version information list, and the software of the image processing apparatus 1 is updated based on the stored version information list.

したがって、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 image processing apparatus 1 even in an environment where the image processing apparatus 1 is not connected to a network. 1 can be installed.

ゆえに、APIが違うために画像処理装置1に実装されているソフトウェア間の情報のやりとりができないといった事態が生じることなく、画像処理装置1の動作保証性を高めてソフトウェアの更新を行うことができる。 Therefore, the software installed in the image processing apparatus 1 does not exchange information due to different APIs, and the operation assurance of the image processing apparatus 1 can be enhanced to update the software. .

また、図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 image processing apparatus 1 includes API-α, API-β, API-γ, . , contains information describing the software versions for which each API is available.

なお、本実施形態における「利用可能」とは、それぞれのソフトウェアが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 image processing apparatus 1, by providing the usage condition information storage unit 210 for storing the API availability list instead of the version information storage unit 205, the API availability list is described. Software for implementing functions implemented in the image processing apparatus 1 is updated based on the information.

図17は、API利用可能リストを使用した場合における画像処理装置1のソフトウェアを更新する処理の流れを示すフローチャートである。なお、図11に示すフローチャートと同様の処理を行う処理ステップには同じ符号を付し、重複する説明を省略する。なお、図17のフローチャートにおいては、バージョン情報リストの代わりにAPI利用可能リストが含まれるものとする。 FIG. 17 is a flow chart showing the flow of processing for updating the software of the image processing apparatus 1 when using the available API list. Note that processing steps that perform the same processing as in the flowchart shown in FIG. It should be noted that the flowchart of FIG. 17 includes an API available list instead of the version information list.

更新判定情報取得部203は、S1102で取得したAPI利用可能リストを利用条件情報記憶部209に記憶させる(S1701)。 The update determination information acquisition unit 203 stores the API availability list acquired in S1102 in the usage condition information storage unit 209 (S1701).

次に、更新実行判定部204は、利用条件情報記憶部209に記憶されているAPI利用可能リストを参照して、S1701の時点において画像処理装置1に実装されているソフトウェアの構成を示す情報を取得する(S1801)。 Next, the update execution determination unit 204 refers to the API availability list stored in the usage condition information storage unit 209, and obtains information indicating the configuration of the software installed in the image processing apparatus 1 at the time of S1701. Acquire (S1801).

次に更新実行判定部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 execution determination unit 204 determines whether the software installed in the image processing apparatus 1 uses each API at the time of S1701. It is determined whether it is possible (S1802).

図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 Copy App 101a installed in the image processing apparatus 1 is 1.01.

更新実行判定部204は、S1701の時点において画像処理装置1に実装されているソフトウェアのバージョンが、API利用可能リストに含まれるそれぞれのAPIを利用可能なソフトウェアのバージョンと同じ、もしくは、新しいバージョンであれば、S1701の時点において画像処理装置1に実装されているソフトウェアがそのAPIを利用可能であると判定し、TRUEをセットする。 The update execution determination unit 204 determines whether the version of the software installed in the image processing apparatus 1 at the time of S1701 is the same as or newer than the version of the software that can use each API included in the API availability list. If there is, it is determined that the software installed in the image processing apparatus 1 can use the API at the time of S1701, and TRUE is set.

一方で、更新実行判定部204は、S1701の時点において画像処理装置1に実装されているソフトウェアのバージョンが、API利用可能リストに含まれるそれぞれのAPIを利用可能なソフトウェアのバージョンよりも古い場合、および、そのAPIを使用できない場合には、S1701の時点において画像処理装置1に実装されているソフトウェアがそのAPIを利用可能ではないと判定し、FALSEをセットする。 On the other hand, if the version of the software installed in the image processing apparatus 1 at the time of S1701 is older than the version of the software that can use each API included in the available API list, the update execution determination unit 204 If the API cannot be used, it is determined that the software installed in the image processing apparatus 1 cannot use the API at the time of S1701, and FALSE is set.

このような場合、更新実行判定部204は、API-α、API-γについては、TRUEをセットする。一方で、コピーApp101aでは、API-βを利用できないため、更新実行判定部204は、API-βについては、FALSEをセットする。 In such a case, the update execution determination unit 204 sets TRUE for API-α and API-γ. On the other hand, since API-β cannot be used in the copy App 101a, the update execution determination unit 204 sets FALSE for API-β.

更新実行判定部204は、S1802の判定処理を、S1701の時点において画像処理装置1に実装されている全てのソフトウェアについて実行する(S1803/YES)と、判定結果を利用可能API情報として生成し(S1804)、生成した利用可能API情報を利用条件情報記憶部209に転送する。したがって、更新実行判定部204は、利用可能API情報を生成する利用可能情報生成部として機能する。 When the update execution determination unit 204 executes the determination processing in S1802 for all software installed in the image processing apparatus 1 at the time of S1701 (S1803/YES), the update execution determination unit 204 generates the determination result as available API information ( S 1804 ), the generated available API information is transferred to the usage condition information storage unit 209 . Therefore, the update execution determination unit 204 functions as a usable information generating unit that generates usable API information.

このように、利用可能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 information storage unit 209 receives and stores the available API information from the update execution determination unit 204 (S1805). Returning to FIG. 17, the description continues.

次に、更新実行判定部204は、利用条件情報記憶部209に記憶されている利用可能API情報を参照して、その利用可能API情報に含まれるAPIを利用可能なソフトウェアの組み合わせと、S1101で展開された更新プログラムを用いてソフトウェアを更新した後の画像処理装置1に実装されることとなるソフトウェアとの組み合わせを比較する(S1703)。 Next, the update execution determination unit 204 refers to the available API information stored in the usage condition information storage unit 209, and determines the combination of software that can use the API included in the available API information and the A combination with the software to be installed in the image processing apparatus 1 after updating the software using the deployed update program is compared (S1703).

そして、更新実行判定部204は、S1101で展開された更新プログラムを用いてソフトウェアを更新した後の画像処理装置1に実装されることとなるソフトウェアの組み合わせが、その利用可能API情報に含まれるAPIを利用可能なソフトウェアの組み合わせに含まれない組み合わせである場合には(S1704/NO)、S1101で展開された更新プログラムを用いてソフトウェアを更新することなく、本処理を終了する。 Then, the update execution determination unit 204 determines that the combination of software to be installed in the image processing apparatus 1 after updating the software using the update program developed in S1101 is an API included in the usable API information. is not included in the combination of software that can be used (S1704/NO), this process ends without updating the software using the update program developed in S1101.

一方で、S1101で展開された更新プログラムを用いてソフトウェアを更新した後の画像処理装置1に実装されることとなるソフトウェアの組み合わせがその利用可能API情報に含まれるAPIを利用可能なソフトウェアの組み合わせに含まれる組み合わせである場合には(S1704/YES)、更新実行判定部204は、本体側更新実行部206に、ソフトウェア記憶部208に記憶されているソフトウェアのプログラムを、S1101で展開したソフトウェアの更新プログラムに書き換えさせて、ソフトウェアの更新を行い(S1705)、本処理を終了する。 On the other hand, the combination of software to be installed in the image processing apparatus 1 after updating the software using the update program deployed in S1101 is a combination of software that can use the API included in the available API information. (S1704/YES), the update execution determination unit 204 causes the main body side update execution unit 206 to update the software program stored in the software storage unit 208 with the software developed in S1101. The update program is rewritten to update the software (S1705), and the process ends.

なお、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 operation display unit 34, in the process of S1705, the update execution determination unit 204 updates the deployed update program to the external terminal update control unit 207. , and causes the external terminal update control unit 207 to update the software installed in the external terminal (here, the operation display unit 34), and terminates this process.

このように、本実施形態においては、画像処理装置1には、記憶された利用可能API情報に基づいて、画像処理装置1のソフトウェアが更新されることとなる。ゆえに、APIの仕様やAPIのアクセス権限に変更が生じた場合に、画像処理装置1がネットワークに接続されていない環境下であっても、適切なバージョンのソフトウェアを画像処理装置1にインストールすることができる。 Thus, in this embodiment, the software of the image processing device 1 is updated based on the stored available API information. Therefore, when API specifications or API access rights are changed, it is possible to install an appropriate version of software on the image processing apparatus 1 even in an environment where the image processing apparatus 1 is not connected to a network. can be done.

本発明は、説明した実施形態に限定されるものではなく、その他の実施形態、追加、修正、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用や効果を奏する限り、本発明の範囲に含まれるものである。 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

特開2009-80550号公報JP 2009-80550 A

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を利用可能であるか否かを示す利用可能API情報を生成する利用可能情報生成部を備え、
前記更新実行判定部は、
前記更新プログラムによって更新された後の前記情報処理装置に実装されることとなる全ての前記ソフトウェアについて前記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を利用可能な前記ソフトウェアに係る情報を表示する操作表示部を備えることを特徴とする請求項1から請求項のいずれか一項に記載の情報処理装置。 5. The information processing apparatus according to any one of claims 1 to 4 , further comprising an operation display unit that displays information related to the software that can use the API . ハードウェアを動作させることにより所定の機能を提供する情報処理装置におけるソフトウェアのプログラム更新方法であって、
前記ハードウェアを動作させて前記所定の機能を実現するソフトウェアの更新プログラムを取得し、
前記更新プログラムに基づいた情報であって、複数の前記ソフトウェア間における情報のやりとりを行う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.
JP2018216280A 2018-11-19 2018-11-19 Information processing device, program update method, software update program Active JP7196554B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (1)

* Cited by examiner, † Cited by third party
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