JP2010016797A - Image processing apparatus - Google Patents

Image processing apparatus Download PDF

Info

Publication number
JP2010016797A
JP2010016797A JP2009055699A JP2009055699A JP2010016797A JP 2010016797 A JP2010016797 A JP 2010016797A JP 2009055699 A JP2009055699 A JP 2009055699A JP 2009055699 A JP2009055699 A JP 2009055699A JP 2010016797 A JP2010016797 A JP 2010016797A
Authority
JP
Japan
Prior art keywords
plug
image processing
test
processing apparatus
unit
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.)
Granted
Application number
JP2009055699A
Other languages
Japanese (ja)
Other versions
JP5381179B2 (en
Inventor
Hiroshi Baba
洋 馬場
Muthig Dirk
ムティンク ディルク
Kolb Ronny
コルプ ロニー
Koichi Suse
浩一 巣瀬
Toshihiro Isozaki
敏宏 磯崎
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 JP2009055699A priority Critical patent/JP5381179B2/en
Publication of JP2010016797A publication Critical patent/JP2010016797A/en
Application granted granted Critical
Publication of JP5381179B2 publication Critical patent/JP5381179B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)
  • Facsimiles In General (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide an image processing apparatus that has a robust system by confirming presence/absence of problems in a program itself and adding only a high-reliability program, when adding the program for extending the function of an application relating to image processing. <P>SOLUTION: The image processing apparatus, capable of adding plug-in for extending the function of an application relating to image processing, includes a plug-in test means for determining, when adding the plug-in, whether a specification relating to an interface, that the plug-in comprises, matches with specifications relating to the interface that the application requires. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

本発明は、画像処理に関するアプリケーションの機能を拡張するためのプラグインを追加する際に、当該プラグインが備えるインタフェースの仕様について適切か否かの判定を行う技術に関する。   The present invention relates to a technique for determining whether or not a specification of an interface included in a plug-in is appropriate when a plug-in for extending an application function related to image processing is added.

近年、パーソナルコンピュータおよびワークステーションなどの装置だけでなく、様々な装置に高性能なAPI(Application Program Interface)を有するOS(Operating System)が採用されている。例えば、コピー、プリンタ、スキャナ、FAX、またはドキュメントサーバなどの機能を集約した複合機(MFP)などの装置にも、このようなOSが採用されている。
APIの性能が低かった頃は、これらの装置の機能拡張を行い、または応用的な処理を行うためのプログラムを作成することは難しく、手間が掛かった。装置の構造を理解し、機械語などの言語を用いてプログラムをコーディングしなければならなかったからである。
In recent years, an OS (Operating System) having a high-performance API (Application Program Interface) has been adopted not only for devices such as personal computers and workstations but also for various devices. For example, such an OS is also adopted in an apparatus such as a multifunction peripheral (MFP) that integrates functions such as a copy, a printer, a scanner, a FAX, or a document server.
When the performance of the API was low, it was difficult and time-consuming to create a program for expanding the functions of these devices or performing an application process. This is because it was necessary to understand the structure of the device and code the program using a language such as machine language.

しかし、高性能なAPIが採用されるようになってからは、予め用意されているAPI関数をコールするだけで種々の機能を呼び出して処理を行うことができるようになった。これにより、従来よりも容易にプログラミングが行われるようになった。
したがって、今後、これらの装置の機能拡張を行いまたは応用的な処理を行うためのプログラム、およびこれらのプログラムを作成し提供するサービス提供者が増えると予測される。このことは、ユーザにとって、装置をより便利に使用することができるようになるという利点があるが、その一方で、不正な処理を実行しユーザに損害をもたらす欠陥のあるプログラムや悪意のあるプログラムが流通しやすくなるという問題点もある。
However, since high-performance APIs have been adopted, various functions can be called up and processed simply by calling API functions prepared in advance. As a result, programming is easier than before.
Therefore, in the future, it is expected that the number of programs for performing function expansion or application processing of these apparatuses and service providers that create and provide these programs will increase. This has the advantage that the user can use the device more conveniently, but on the other hand, a defective program or malicious program that performs unauthorized processing and causes damage to the user. There is also a problem that becomes easier to distribute.

そこで、上記装置でプログラムを実行する際に、何らかのチェックを行う必要があるものと考えられるが、特許文献1では、MFPにプログラムを追加する際に、そのプログラムの作成者の情報に基づいて当該プログラムの実行制御を行う技術が公開されている。この技術においては、プログラム実行時に、該プログラムの作成者にアクセス許可されていないAPI呼び出しを行うと、そのAPI呼び出しが禁止される。   Therefore, it is considered that some kind of check needs to be performed when the program is executed by the above apparatus. However, in Patent Document 1, when adding a program to the MFP, the program is based on the information of the creator of the program. A technique for controlling the execution of a program has been released. In this technique, if an API call that is not permitted for access by the creator of the program is made during program execution, the API call is prohibited.

しかし、上記技術においては、プログラムの作成者情報を登録する必要があり、未登録の作成者により作成されたプログラムには適用できないという問題点がある。
また、上記技術においては、プログラムの作成者が正当か否かに基づいてプログラムの実行制御はできるものの、装置に追加するプログラム自体に問題が無いか否かをチェックすることができないという問題点がある。
However, the above technique has a problem that it is necessary to register the creator information of the program, and it cannot be applied to a program created by an unregistered creator.
Further, in the above technique, although the execution control of the program can be controlled based on whether or not the creator of the program is valid, there is a problem that it is not possible to check whether or not there is a problem in the program added to the apparatus. is there.

そこで、本発明では、上記問題点に鑑み、画像処理に係るアプリケーションの機能を拡張するプログラムを追加する際に、該プログラム自体に問題がないか否かの確認を行い、信頼性の高いプログラムのみを追加することにより、堅牢なシステムを有する画像処理装置を提供することを目的とする。   Therefore, in the present invention, in view of the above problems, when adding a program for expanding the function of an application related to image processing, it is confirmed whether or not there is a problem in the program itself, and only a highly reliable program is checked. An object of the present invention is to provide an image processing apparatus having a robust system.

開示の画像処理装置の一形態では、画像処理に係るアプリケーションの機能を拡張するためのプラグインを追加可能な画像処理装置であって、プラグインが追加される際に、該プラグインの備えるインタフェースに関する仕様が、対応するアプリケーションの要求する該インタフェースに関する仕様と一致するか否かの判定を行うプラグインテスト手段を有することを特徴とする。   According to an embodiment of the disclosed image processing apparatus, an image processing apparatus to which a plug-in for extending an application function related to image processing can be added, and when the plug-in is added, the interface included in the plug-in is provided. And plug-in test means for determining whether or not the specifications related to the specifications related to the interface required by the corresponding application.

本発明では、画像処理に係るアプリケーションの機能を拡張するプログラムを追加する際に、該プログラム自体に問題がないか否かの確認を行い、信頼性の高いプログラムのみを追加することにより、堅牢なシステムを有する画像処理装置を提供することができる。   In the present invention, when adding a program that expands the function of an application related to image processing, it is confirmed whether or not there is a problem with the program itself, and only a highly reliable program is added, thereby ensuring robustness. An image processing apparatus having the system can be provided.

本実施の形態に係る複合機のソフトウェア構成例を説明するための図である。FIG. 3 is a diagram for explaining a software configuration example of a multifunction peripheral according to the present embodiment. 本実施の形態に係るパイプ&フィルタの概念を説明するための図である。It is a figure for demonstrating the concept of the pipe & filter which concerns on this Embodiment. 本実施の形態に係るフィルタの構成要素を説明するための図である。It is a figure for demonstrating the component of the filter which concerns on this Embodiment. 本実施の形態に係る複合機における各機能を実現するためのフィルタの組み合わせの例を示す図である。It is a figure which shows the example of the combination of the filter for implement | achieving each function in the multifunctional device which concerns on this Embodiment. 本実施の形態に係る複合機の動作原理を説明するための図である。It is a figure for demonstrating the principle of operation of the multifunctional device which concerns on this Embodiment. 本実施の形態に係る機能拡張プラグインを追加する前の処理例を説明するためのシーケンス図である。It is a sequence diagram for demonstrating the process example before adding the function expansion plug-in which concerns on this Embodiment. 本実施の形態に係る機能拡張プラグインを追加した後の処理例を説明するためのシーケンス図である。It is a sequence diagram for demonstrating the example of a process after adding the function expansion plug-in which concerns on this Embodiment. 本実施の形態に係る機能拡張プラグインを追加する際に行うテスト項目例を説明するための図である。It is a figure for demonstrating the example of a test item performed when adding the function expansion plug-in which concerns on this Embodiment. 本実施の形態に係る複合機のハードウェア構成の一例を示す図である。2 is a diagram illustrating an example of a hardware configuration of a multifunction machine according to the present embodiment. FIG. 本実施の形態に係る複合機に機能拡張プラグインを追加する際の処理例を示すフローチャートである。10 is a flowchart illustrating a processing example when adding a function expansion plug-in to the multifunction peripheral according to the present embodiment. 本実施の形態に係る複合機に機能拡張プラグインを追加する際の処理例を示すフローチャートである。10 is a flowchart illustrating an example of processing when a function expansion plug-in is added to the multifunction peripheral according to the present embodiment. 本実施の形態に係る機能拡張プラグインに対するテスト内容を変更する処理例を示すフローチャートである。It is a flowchart which shows the process example which changes the test content with respect to the function expansion plug-in which concerns on this Embodiment. 画像処理装置がCPUとメモリを2組ずつ有する構成を示す図である。FIG. 3 is a diagram illustrating a configuration in which an image processing apparatus includes two CPUs and two memories. 画像処理装置が有する1組のCPUとメモリをテスト専用にする構成を示す図である。It is a figure which shows the structure which makes a set CPU and memory which an image processing apparatus has only for a test. 画像処理装置が有するCPUを1つにした構成を示す図である。It is a figure which shows the structure which made the CPU which an image processing apparatus has one. 画像処理装置が有するメモリを1つにした構成を示す図である。It is a figure which shows the structure which made the memory which an image processing apparatus has one. 画像処理装置が有するCPUの両方を通常でも使用する構成(片方が終わるまで待つ場合)を示す図である。It is a figure which shows the structure (when waiting until one ends) which uses both CPU which an image processing apparatus has normally. 画像処理装置が有するCPUの両方を通常でも使用する構成(一方を止めて委譲する場合)を示す図である。It is a figure which shows the structure (when stopping and delegating one side) which uses both CPU which an image processing apparatus has normally. 画像処理装置が有するCPUの両方を通常でも使用する構成(片方が終わるまで待つ場合)のフローチャートである。It is a flowchart of the structure which uses both CPU which an image processing apparatus has normally (when it waits until one ends). 画像処理装置が有するCPUの両方を通常でも使用する構成(一方を止めて委譲する場合)のフローチャートである。6 is a flowchart of a configuration in which both of CPUs included in the image processing apparatus are normally used (when one of them is stopped and delegated). ジョブが投入された場合、テストを中断/再開する場合のフローチャートである。FIG. 10 is a flowchart when a test is interrupted / resumed when a job is submitted. ジョブが投入された場合、テストを中断/再開する場合の構成を示す図である。It is a figure which shows the structure in the case of interrupting / resuming a test when a job is submitted. テストサーバと画像処理装置との接続例を示す図である。It is a figure which shows the example of a connection of a test server and an image processing apparatus. テストサーバと画像処理装置との接続例を示す図である。It is a figure which shows the example of a connection of a test server and an image processing apparatus. テスト実施部をプリントサーバと別構成にした場合の構成を示す図である。It is a figure which shows the structure at the time of making a test implementation part into a different structure from a print server. テスト実施をプラグインのインストール後に行う場合のフローチャートを示す図である。It is a figure which shows the flowchart in the case of performing test implementation after installation of a plug-in. テストサーバに格納されている情報の一例を示す図である。It is a figure which shows an example of the information stored in the test server. テスト実施をプラグインのインストール前に行う場合のフローチャートを示す図である。It is a figure which shows the flowchart in the case of performing test implementation before installation of a plug-in. テスト実施部をプリントサーバ内でソフトエミュレーションした場合の構成を示す図である。It is a figure which shows the structure at the time of carrying out software emulation of the test implementation part in a print server. プラグイン可能なインストール一覧を更新する場合のフローチャートを示す図である。It is a figure which shows the flowchart in the case of updating the installation list which can be plugged in. テスト項目を特定する場合のフローチャートを示す図である。It is a figure which shows the flowchart in the case of specifying a test item.

図面を参照しながら、本発明を実施するための最良の形態について説明する。
(本発明に係る画像処理装置のソフトウェア構成)
図1は、本発明の実施の形態における複合機のソフトウェア構成例を示す図である。ここで、複合機とは、プリンタ、コピー、スキャナ、又はFAX等の複数の機能を一台の筐体において実現する画像処理装置をいう。
The best mode for carrying out the present invention will be described with reference to the drawings.
(Software configuration of image processing apparatus according to the present invention)
FIG. 1 is a diagram illustrating a software configuration example of a multifunction machine according to an embodiment of the present invention. Here, the multifunction peripheral refers to an image processing apparatus that realizes a plurality of functions such as a printer, a copy, a scanner, or a FAX in a single casing.

図1で示すように、複合機1におけるソフトウェアは、ユーザインタフェース層10、コントロール層20、アプリケーションロジック層30、デバイスサービス層40及びデバイス制御層50より構成される。なお、図中における各層の上下関係は、層間の呼び出し関係に基づいている。すなわち、基本的に図中において上にある層が下の層を呼び出す。   As shown in FIG. 1, the software in the multifunction device 1 includes a user interface layer 10, a control layer 20, an application logic layer 30, a device service layer 40, and a device control layer 50. In addition, the vertical relationship of each layer in the drawing is based on the calling relationship between layers. That is, basically, the upper layer in the figure calls the lower layer.

ユーザインタフェース層10は、機能(例えば、コピー、印刷、スキャン、FAX送信)の実行要求を受け付けるための機能が実装されている部分であり、例えば、通信サーバ部11及びローカルUI(User Interface)部12が含まれる。通信サーバ部11は、例えば、非図示のクライアントPC(Personal Computer)からネットワーク経由で要求を受け付ける。ローカルUI部12は、例えば、非図示のオペレーションパネルを介して入力される要求を受け付ける。ユーザインタフェース層10において受け付けられた要求は、コントロール層20に伝えられる。   The user interface layer 10 is a part on which a function for receiving an execution request for a function (for example, copying, printing, scanning, FAX transmission) is mounted. For example, the communication server unit 11 and a local UI (User Interface) unit 12 are included. The communication server unit 11 receives a request from a client PC (Personal Computer) (not shown) via a network, for example. For example, the local UI unit 12 receives a request input via an operation panel (not shown). The request accepted by the user interface layer 10 is transmitted to the control layer 20.

コントロール層20は、要求された機能を実現するための処理を制御するための機能が実装されている部分である。具体的には、要求された機能に応じて、アプリケーションロジック層30における各フィルタを接続し、接続されたフィルタに基づいて機能の実行を制御する。
コントロール層20は、例えば、リクエスト管理部21、プラグイン管理部22を有する。リクエスト管理部21は、要求されたジョブに応じて、アプリケーションロジック層30が有する各フィルタを接続し、接続されたフィルタに基づいてジョブの実行を制御する。プラグイン管理部22は、複合機1に実装されるジョブを実行するための手段等の物理的なアドレスと、手段の動作とを管理する。なお、本実施の形態においては、プラグイン管理部22が管理する「プラグイン」とは、複合機1が有する基本機能に対して新たに追加される機能に対応するプログラム又はデバイス、及び、複合機1が有する基本機能に対応するプログラム又はデバイスを含む。すなわち、プラグイン管理部22は、複合機1が有する基本機能及び追加機能に対応するプログラム又はデバイス等の物理的なアドレス、及び、それらの動作を管理する手段である。
なお、本実施の形態において「複合機1の機能」とは、複合機1がユーザに対して提供する一つのまとまった単位(要求が入力されて最終的な出力が得られるまで)のサービスと同義であり、ソフトウェア的には一つのまとまった単位のサービスを提供するアプリケーションと同義である。
The control layer 20 is a part on which a function for controlling processing for realizing the requested function is mounted. Specifically, each filter in the application logic layer 30 is connected according to the requested function, and the execution of the function is controlled based on the connected filter.
The control layer 20 includes, for example, a request management unit 21 and a plug-in management unit 22. The request management unit 21 connects the filters included in the application logic layer 30 according to the requested job, and controls the execution of the job based on the connected filter. The plug-in management unit 22 manages a physical address such as a unit for executing a job mounted on the multifunction machine 1 and an operation of the unit. In the present embodiment, the “plug-in” managed by the plug-in management unit 22 is a program or device corresponding to a function newly added to the basic function of the multifunction device 1 and a composite A program or device corresponding to the basic function of the machine 1 is included. In other words, the plug-in management unit 22 is a means for managing physical addresses of programs or devices corresponding to basic functions and additional functions of the multi-function device 1 and their operations.
In the present embodiment, the “function of the multifunction device 1” refers to a service in a single unit (until a request is input and a final output is obtained) provided to the user by the multifunction device 1. Synonymous with software, it is synonymous with an application that provides a single unit of service.

アプリケーションロジック層30は、それぞれが複合機1において提供される機能の一部を実現する部品群が実装されている部分である。すなわち、アプリケーションロジック層30における部品を組み合わせることにより一つの機能が実現される。本実施の形態では、各部品を「フィルタ」と呼ぶ。これは、複合機1のソフトウェアアーキテクチャが「パイプ&フィルタ」と呼ばれる考え方に基づくことによる。   The application logic layer 30 is a part on which a group of components that implement some of the functions provided in the multifunction device 1 is mounted. That is, one function is realized by combining components in the application logic layer 30. In the present embodiment, each component is referred to as a “filter”. This is because the software architecture of the multifunction device 1 is based on a concept called “pipe & filter”.

図2は、パイプ&フィルタの概念を示すための図である。図2においては、「F」はフィルタを示し、「P」はパイプを示す。図中に示されるように、各フィルタはパイプによって接続される。フィルタは、入力されたデータに対して変換を施し、その結果を出力する。パイプは、フィルタから出力されたデータを次のフィルタに伝達する。   FIG. 2 is a diagram for illustrating the concept of pipes and filters. In FIG. 2, “F” indicates a filter, and “P” indicates a pipe. As shown in the figure, each filter is connected by a pipe. The filter converts the input data and outputs the result. The pipe transmits the data output from the filter to the next filter.

すなわち、本実施の形態における複合機1では、各機能をドキュメント(データ)に対する「変換」の連続として捉える。複合機の各機能は、ドキュメントの入力、加工、及び出力によって構成されるものとして一般化することができる。そこで、「入力」、「加工」、及び「出力」を「変換」として捉え、一つの「変換」を実現するソフトウェア部品がフィルタとして構成される。入力を実現するフィルタを特に「入力フィルタ」という。また、加工を実現するフィルタを特に「加工フィルタ」という。更に、出力を実現するフィルタを特に「出力フィルタ」という。なお。各フィルタは独立しており、フィルタ間における依存関係(呼び出し関係)は基本的には存在しない。したがって、フィルタ単位で追加(インストール)又は削除(アンインストール)が可能とされている。   That is, in the MFP 1 according to the present embodiment, each function is regarded as a series of “conversions” for documents (data). Each function of the multi-function peripheral can be generalized as being configured by document input, processing, and output. Therefore, “input”, “processing”, and “output” are regarded as “conversion”, and a software component that realizes one “conversion” is configured as a filter. A filter that realizes input is particularly called an “input filter”. A filter that realizes processing is particularly referred to as a “processing filter”. Further, a filter that realizes output is particularly referred to as an “output filter”. Note that. Each filter is independent, and basically there is no dependency relationship (call relationship) between the filters. Therefore, addition (installation) or deletion (uninstallation) is possible in units of filters.

図1において、アプリケーションロジック層30には、入力フィルタとして、読取フィルタ301、メール受信フィルタ302、FAX受信フィルタ303、PC文書受信フィルタ304が含まれている。
読取フィルタ301は、スキャナによる画像データの読み取りを制御し、読み取られた画像データを出力する。メール受信フィルタ302は、電子メールを受信し、当該電子メールに含まれているデータを出力する。FAX受信フィルタ303は、FAX受信を制御し、受信されたデータを出力する。PC文書受信フィルタ304は、非図示のクライアントPCから印刷データを受信し、受信された印刷データを出力する。
In FIG. 1, the application logic layer 30 includes a reading filter 301, a mail reception filter 302, a FAX reception filter 303, and a PC document reception filter 304 as input filters.
The reading filter 301 controls reading of image data by the scanner and outputs the read image data. The mail reception filter 302 receives an email and outputs data included in the email. A FAX reception filter 303 controls FAX reception and outputs received data. The PC document reception filter 304 receives print data from a client PC (not shown) and outputs the received print data.

図1において、アプリケーションロジック層30には、加工フィルタとして、文書加工フィルタ311、文書変換フィルタ312が含まれている。
文書加工フィルタ311は、入力されたデータに所定の画像変換処理(集約、拡大、又は縮小等)を施し、出力する。文書変換フィルタ312は、レンダリング処理を実行する。すなわち、入力されたPostScriptデータをビットマップデータに変換して出力する。
In FIG. 1, the application logic layer 30 includes a document processing filter 311 and a document conversion filter 312 as processing filters.
The document processing filter 311 performs predetermined image conversion processing (aggregation, enlargement, reduction, etc.) on the input data and outputs it. The document conversion filter 312 executes a rendering process. That is, the input PostScript data is converted into bitmap data and output.

図1において、アプリケーションロジック層30には、出力フィルタとして、印刷フィルタ321、メール送信フィルタ322、FAX送信フィルタ323、PC文書送信フィルタ324が含まれている。
印刷フィルタ321は、入力されたデータをプロッタに出力(印刷)させる。メール送信フィルタ322は、入力されたデータを電子メールに添付して送信する。FAX送信フィルタ323は、入力されたデータをFAX送信する。PC文書送信フィルタ324は、入力されたデータをクライアントPCに送信する。
In FIG. 1, the application logic layer 30 includes a print filter 321, a mail transmission filter 322, a FAX transmission filter 323, and a PC document transmission filter 324 as output filters.
The print filter 321 causes the plotter to output (print) the input data. The mail transmission filter 322 transmits the input data attached to the e-mail. The FAX transmission filter 323 transmits the input data by FAX. The PC document transmission filter 324 transmits the input data to the client PC.

また、アプリケーションロジック層30は、ビルトインテスト34を含む。ビルトインテスト34は、上記で説明したフィルタ又はアクティビティの機能を拡張するプラグイン(プログラム)を複合機1に追加する際に、該プラグインの備えるインタフェース(I/F)が適切か否かをチェックする。また、ビルトインテスト34は、後述するテスト内容抽出手段120及びプラグインテスト手段130に該当し、プラグインテストテーブル200を含むものである。   The application logic layer 30 includes a built-in test 34. The built-in test 34 checks whether or not an interface (I / F) included in the plug-in is appropriate when a plug-in (program) that extends the function of the filter or activity described above is added to the multifunction device 1. To do. The built-in test 34 corresponds to a test content extracting unit 120 and a plug-in test unit 130, which will be described later, and includes a plug-in test table 200.

デバイスサービス層40は、アプリケーションロジック層30における各フィルタから共通に利用される下位機能が実装されている部分であり、例えば、画像パイプ41及びデータ管理部42が含まれる。画像パイプ41は、上述したパイプの機能を実現する。すなわち、或るフィルタからの出力データを次のフィルタに伝達する。データ管理部42は、各種のデータベースを表現する。例えば、ユーザ情報が登録されたデータベースや、文書又は画像データ等が蓄積されるデータベース等が相当する。   The device service layer 40 is a portion in which lower functions commonly used by the filters in the application logic layer 30 are mounted, and includes, for example, an image pipe 41 and a data management unit 42. The image pipe 41 realizes the above-described pipe function. That is, output data from a certain filter is transmitted to the next filter. The data management unit 42 represents various databases. For example, it corresponds to a database in which user information is registered, a database in which documents or image data are stored, and the like.

デバイス制御層50は、デバイス(ハードウェア)を制御するドライバと呼ばれるプログラムモジュール群が実装されている部分であり、例えば、スキャナ制御部51、プロッタ制御部52、メモリ制御部53、電話回線制御部54、及びネットワーク制御部55が含まれる。各制御部は、当該制御部の名前に付けられているデバイスを制御する。   The device control layer 50 is a part in which a group of program modules called a driver that controls a device (hardware) is mounted. For example, a scanner control unit 51, a plotter control unit 52, a memory control unit 53, a telephone line control unit 54 and a network control unit 55. Each control unit controls a device attached to the name of the control unit.

フィルタについて更に詳しく説明する。図3は、フィルタの構成要素を説明するための図である。図3に示されるように、各フィルタは、フィルタ設定用UI、フィルタロジック、フィルタ固有下位サービス及び永続記憶領域情報により構成される。
フィルタ設定用UIは、フィルタの実行条件を設定させるための画面をオペレーションパネルに表示させるプログラムである。例えば、入力フィルタの一つである読取フィルタであれば、解像度、濃度、画像種別を設定する画面が相当する。なお、オペレーションパネルの表示がHTML(HyperText Markup Language)データや、スクリプトに基づいて行われ得ることに鑑みれば、フィルタ設定用UIはHTMLデータやスクリプトであっても良い。
The filter will be described in more detail. FIG. 3 is a diagram for explaining the components of the filter. As shown in FIG. 3, each filter includes a filter setting UI, filter logic, filter-specific lower services, and permanent storage area information.
The filter setting UI is a program that causes the operation panel to display a screen for setting filter execution conditions. For example, in the case of a reading filter that is one of input filters, a screen for setting resolution, density, and image type corresponds. In view of the fact that the operation panel can be displayed based on HTML (HyperText Markup Language) data or a script, the filter setting UI may be HTML data or a script.

フィルタロジックは、フィルタの機能を実現するためのロジックが実装されたプログラムである。例えば、読取フィルタであれば、スキャナによる原稿読み取り制御のためのロジックが相当する。
フィルタ固有下位サービスは、フィルタロジックを実現するために必要な下位機能(ライブラリ)である。例えば、読取フィルタであれば、スキャナを制御するための機能が相当する。
永続記憶領域情報は、フィルタに対する設定情報(例えば、実行条件のデフォルト値)等、不揮発性メモリに保存する必要があるデータのスキーマ定義が相当する。当該スキーマ定義は、フィルタのインストール時にデータ管理部42に登録される。
The filter logic is a program in which logic for realizing the filter function is mounted. For example, in the case of a reading filter, the logic for document reading control by the scanner corresponds.
The filter-specific lower service is a lower function (library) necessary for realizing the filter logic. For example, a reading filter corresponds to a function for controlling the scanner.
The permanent storage area information corresponds to a schema definition of data that needs to be saved in a nonvolatile memory, such as setting information for a filter (for example, a default value of an execution condition). The schema definition is registered in the data management unit 42 when the filter is installed.

図4は、本実施の形態の複合機における各機能(アプリケーション)を実現するためのフィルタの組み合わせの例を示す図である。
例えば、コピー機能は、読取フィルタ301と印刷フィルタ321とを接続することにより実現される。読取フィルタ301によって、原稿から読み取られた画像データを印刷フィルタ321によって印刷すれば良いからである。なお、コピー機能に付随する、集約、拡大、縮小等の加工が要求された場合には、これらの加工を実現する文書加工フィルタ311が読取フィルタ301と印刷フィルタ321の間に挿入される。
FIG. 4 is a diagram illustrating an example of a combination of filters for realizing each function (application) in the multifunction peripheral according to the present embodiment.
For example, the copy function is realized by connecting the reading filter 301 and the print filter 321. This is because the image data read from the document by the reading filter 301 may be printed by the print filter 321. When processing such as aggregation, enlargement, or reduction associated with the copy function is requested, a document processing filter 311 that realizes these processing is inserted between the reading filter 301 and the print filter 321.

プリンタ機能(クライアントPCからの印刷機能)は、PC文書受信フィルタ304と文書変換フィルタ312と印刷フィルタ321とを接続することにより実現される。スキャンto email機能(スキャンした画像データを電子メールで転送する機能)は、読取フィルタ301とメール送信フィルタ322とを接続することにより実現される。FAX送信機能は、読取フィルタ301とFAX送信フィルタ323とを接続することにより実現される。FAX受信機能は、FAX受信フィルタ303と印刷フィルタ321とを接続することにより実現される。   The printer function (print function from the client PC) is realized by connecting the PC document reception filter 304, the document conversion filter 312 and the print filter 321. A scan-to-email function (a function for transferring scanned image data by e-mail) is realized by connecting a reading filter 301 and a mail transmission filter 322. The FAX transmission function is realized by connecting the reading filter 301 and the FAX transmission filter 323. The FAX reception function is realized by connecting the FAX reception filter 303 and the print filter 321.

また、アプリケーションロジック層30は、コピーアクティビティ31、プリンタアクティビティ32、マルチ文書アクティビティ33を含む。ここで、アクティビティとは、予め固定的に定義されたフィルタの組み合わせによって、一つの機能(複合機1がユーザに対して提供する一つのまとまった単位のサービス又はアプリケーション)を実現するソフトウェアである。コピーのように頻繁に利用する機能については、毎回フィルタの選択によってユーザが実行指示を行うのは煩雑であるため、予めフィルタの組み合わせを定義することで、この煩雑さを解消するために用意されるものである。
コピーアクティビティ31は、読取フィルタ301と文書加工フィルタ311と印刷フィルタ321との組み合わせにより、コピー機能(コピーアプリケーション)を実現するアクティビティである。
プリンタアクティビティ32は、PC文書受信フィルタ304と文書変換フィルタ312と印刷フィルタ321との組み合わせにより、印刷機能(プリンタアプリケーション)を実現するアクティビティである。
マルチ文書アクティビティ33は、入力フィルタ、加工フィルタ、出力フィルタのそれぞれについて、自由な組み合わせが可能なアクティビティである。
なお、各アクティビティは独立しており、各アクティビティ間における依存関係(呼び出し関係)は基本的には存在せず、したがって、アクティビティ毎に追加(インストール)、削除(アンインストール)が可能である。
The application logic layer 30 includes a copy activity 31, a printer activity 32, and a multi-document activity 33. Here, the activity is software that realizes one function (one unit of service or application provided to the user by the MFP 1) by a combination of filters fixedly defined in advance. For functions that are frequently used, such as copying, it is cumbersome for the user to issue an execution instruction by selecting a filter each time, so it is prepared to eliminate this complexity by defining filter combinations in advance. Is.
The copy activity 31 is an activity that realizes a copy function (copy application) by combining the reading filter 301, the document processing filter 311, and the print filter 321.
The printer activity 32 is an activity for realizing a print function (printer application) by combining the PC document reception filter 304, the document conversion filter 312, and the print filter 321.
The multi-document activity 33 is an activity that can be freely combined with each of the input filter, the processing filter, and the output filter.
Each activity is independent, and there is basically no dependency relationship (call relationship) between the activities. Therefore, addition (installation) and deletion (uninstallation) can be performed for each activity.

(本実施の形態に係る複合機1の動作原理)
図5を用いて、本発明の画像処理装置である複合機1の動作原理について説明する。図5は複合機1の動作原理を示した図である。
図5で示すように、複合機1は、プラグイン登録手段110、テスト内容抽出手段120、プラグインテスト手段130、プラグイン削除手段140、テスト実行選択手段150、テスト内容変更手段160、画像処理テスト手段170、画像処理手段180、記憶装置83を有する。また、複合機1とダウンロードサーバ300とは、通信ネットワークで接続されているものとし、該通信ネットワークは、有線通信ネットワークであっても無線通信ネットワークであっても良い。
(Operation Principle of Multifunction Device 1 According to this Embodiment)
The operation principle of the multifunction machine 1 that is the image processing apparatus of the present invention will be described with reference to FIG. FIG. 5 is a diagram showing the operation principle of the multifunction machine 1.
As shown in FIG. 5, the MFP 1 includes a plug-in registration unit 110, a test content extraction unit 120, a plug-in test unit 130, a plug-in deletion unit 140, a test execution selection unit 150, a test content change unit 160, image processing, and the like. A test unit 170, an image processing unit 180, and a storage device 83 are included. Further, it is assumed that the multifunction device 1 and the download server 300 are connected via a communication network, and the communication network may be a wired communication network or a wireless communication network.

画像処理手段180は、複合機1が行う一般的な画像処理を実行し、例えば、コピー処理、プリンタ処理、FAX処理等を実行する。   The image processing unit 180 executes general image processing performed by the multifunction machine 1, and executes, for example, copy processing, printer processing, FAX processing, and the like.

記憶装置83は、画像処理に係るアプリケーションの機能を拡張するためのプラグイン190、プラグイン190を追加する際のテスト内容を規定するプラグインテストテーブル200、複合機1の基本性能を規定する基本機能確認基準210を保持している。
画像処理に係るアプリケーションは、上記説明におけるアプリケーションロジック層30を構成する入力フィルタ(読取フィルタ301等)、加工フィルタ(文書加工フィルタ311等)、出力フィルタ(印刷フィルタ321等)、各アクティビティ31、32、33、ビルトインテスト34とする形態であっても良い。
The storage device 83 includes a plug-in 190 for extending the function of an application related to image processing, a plug-in test table 200 that defines test contents when the plug-in 190 is added, and a basic that specifies the basic performance of the multifunction device 1. The function confirmation reference 210 is held.
An application relating to image processing includes an input filter (reading filter 301 and the like), a processing filter (document processing filter 311 and the like), an output filter (printing filter 321 and the like), and the activities 31 and 32 that constitute the application logic layer 30 in the above description. 33 and built-in test 34.

図6、7を用いて、上記画像処理に係るアプリケーションを機能拡張するためのプラグイン190について説明することとし、ここでは、複合機1が有するスキャナ89を用いて、3枚の原稿を読み取る処理を例にして説明を行う。この場合、追加するプラグイン190によって機能拡張されるアプリケーションは、読取フィルタ301となる。
図6で示すように、機能拡張プラグイン190を複合機1に追加する前の環境では、ローカルUI部12から受け付けられた要求「スキャン実行」は読取フィルタ301に伝達され、読取フィルタ301は当該要求に従いスキャナ89に原稿を読み取らせる。そして、スキャナ89は原稿を1枚読み取る毎に、スキャンを実行した旨の信号「スキャン実行イベント(進捗)」を読取フィルタ301に通知し、読取フィルタ301は当該信号をローカルUI部12へ通知する処理を行う。
A plug-in 190 for extending the function of the application relating to the image processing will be described with reference to FIGS. 6 and 7. Here, a process of reading three originals using the scanner 89 of the multifunction device 1 is described. An example will be described. In this case, the application whose function is expanded by the added plug-in 190 is the reading filter 301.
As shown in FIG. 6, in the environment before adding the function extension plug-in 190 to the multifunction device 1, the request “scan execution” received from the local UI unit 12 is transmitted to the read filter 301, and the read filter 301 In response to the request, the scanner 89 is caused to read the document. Each time the scanner 89 reads one document, it notifies the reading filter 301 of a signal “scan execution event (progress)” indicating that scanning has been executed, and the reading filter 301 notifies the local UI unit 12 of the signal. Process.

一方、図7で示すように、機能拡張プラグインを複合機に追加した後の環境でも、ローカルUI部12から受け付けられた要求「スキャン実行」は読取フィルタ301に伝達され、読取フィルタ301は当該要求に従いスキャナ89に原稿を読み取らせる。ただし、スキャナ89が原稿を1枚読み取る毎に読取フィルタ301に通知する信号「スキャン実行イベント(進捗)」は、一旦機能拡張プラグイン190に通知され、当該通知をトリガーとして機能拡張プラグイン190による所定の処理が行われた後、読取フィルタ301は当該信号をローカルUI部12へ通知する。
ここで、機能拡張プラグイン190による所定の処理は、スキャナ89が原稿を読み取った時刻や処理実行(ここでは、スキャン実行)を要求したユーザのIDなどの履歴情報を記録する処理(ログを残す処理)であっても良いし、機能拡張プラグイン190において予め定める特定のイベントが発生したと通知された場合に、スキャナ89による原稿の読取処理を停止、再開、キャンセルさせる処理であっても良い。つまり、読取フィルタ301における処理に関連する処理であれば良い。
On the other hand, as shown in FIG. 7, even in the environment after adding the function expansion plug-in to the multifunction peripheral, the request “scan execution” received from the local UI unit 12 is transmitted to the read filter 301, and the read filter 301 In response to the request, the scanner 89 is caused to read the document. However, the signal “scan execution event (progress)” notified to the reading filter 301 every time the scanner 89 reads one document is once notified to the function expansion plug-in 190 and triggered by the notification by the function expansion plug-in 190. After the predetermined processing is performed, the reading filter 301 notifies the local UI unit 12 of the signal.
Here, the predetermined processing by the function extension plug-in 190 is processing (recording a log) that records history information such as the time when the scanner 89 reads a document and the ID of the user who requested processing execution (scan execution here). Or a process for stopping, restarting, or canceling the document reading process by the scanner 89 when the function expansion plug-in 190 is notified that a predetermined event has occurred. . That is, any process related to the process in the reading filter 301 may be used.

また、図8を用いて、プラグインテストテーブル200について説明する。図8は、機能拡張のためのプラグインを複合機1に追加する際に、当該プラグインに対し確認すべき項目の一例であり、機能拡張の対象となるアプリケーション(図8では、フィルタ)毎に、必要なインタフェース(以後、I/F:InterFace)、当該I/Fに関する引数の個数、及び当該I/Fに関する引数の型が定められている。例えば、図7で説明した例のように、読取フィルタ301の機能を拡張するプラグイン190を複合機1に追加する際に、追加するプラグイン190が備えるべきI/Fは「スキャンイベント受取」であり、当該I/F「スキャンイベント受取」に関する引数の個数は1つで、該I/F「スキャンイベント受取」に関する引数の型は「Object型」であることを要求される。   The plug-in test table 200 will be described with reference to FIG. FIG. 8 shows an example of items to be confirmed for a plug-in when a plug-in for function expansion is added to the multi-function device 1. For each application (filter in FIG. 8) targeted for function expansion. In addition, necessary interfaces (hereinafter referred to as I / F: Interface), the number of arguments related to the I / F, and the types of arguments related to the I / F are defined. For example, as in the example described with reference to FIG. 7, when a plug-in 190 that expands the function of the reading filter 301 is added to the multifunction device 1, the I / F that the plug-in 190 to be added should have is “scan event reception”. The number of arguments relating to the I / F “scan event reception” is one, and the argument type relating to the I / F “scan event reception” is required to be “Object type”.

ここで、プラグインテストテーブル200において、必要なI/Fは1つであっても複数であっても良く、また、各I/Fに関する引数の個数は1つであっても複数であっても良い。さらに、各I/Fに関する引数の型は、Object型であっても他の型であっても良い。
また、図8において、機能拡張される対象のアプリケーションをフィルタとしているが、該アプリケーションはアクティビティであっても良く、他のアプリケーションであっても良い。
Here, in the plug-in test table 200, one or a plurality of I / Fs may be necessary, and the number of arguments related to each I / F may be one or a plurality. Also good. Furthermore, the type of an argument regarding each I / F may be an Object type or another type.
In FIG. 8, the application whose function is to be expanded is used as a filter. However, the application may be an activity or another application.

また、基本機能確認基準210は、複合機1において画像処理を行った場合に、当該画像処理が最低限満足すべき基準であり、例えば、スキャナ89で読み取られた画像品質やプロッタ90で印刷された画像品質等に関する機能性基準、コピーやFAX等の画像処理に要する時間や当該画像処理に関するリソース消費量(メモリリーク、GC、UIの応答時間等)に関する非機能性基準を含むものであっても良い。   The basic function confirmation standard 210 is a standard that the image processing should satisfy at least when the multifunction device 1 performs image processing. For example, the image quality read by the scanner 89 or printed by the plotter 90 is used. It includes functional standards related to image quality, etc., non-functional standards related to time required for image processing such as copying and faxing, and resource consumption (memory leak, GC, UI response time, etc.) related to the image processing. Also good.

プラグイン登録手段110は、ダウンロードサーバ300から、画像処理に係るアプリケーションの機能を拡張するためのプラグイン190をダウンロード(取得)し、当該プラグイン190を記憶装置83に記録する。
また、プラグイン登録手段110は、後述するプラグインテスト手段130の判定に基づいて、画像処理手段180による処理においてプラグイン190を利用できる状態にする。ここで、プラグイン190を利用できる状態とは、プラグイン管理部22にプラグイン190が登録された状態である。一方で、プラグイン登録手段110は、テスト実行選択手段150の決定により、プラグインテスト手段130による処理が行われない場合についても、画像処理手段180による処理においてプラグイン190を利用できる状態にする。
The plug-in registration unit 110 downloads (acquires) a plug-in 190 for expanding the function of an application related to image processing from the download server 300 and records the plug-in 190 in the storage device 83.
Further, the plug-in registration unit 110 makes the plug-in 190 available for processing by the image processing unit 180 based on the determination of the plug-in test unit 130 described later. Here, the state where the plug-in 190 can be used is a state where the plug-in 190 is registered in the plug-in management unit 22. On the other hand, the plug-in registration unit 110 makes the plug-in 190 usable in the processing by the image processing unit 180 even when the processing by the plug-in testing unit 130 is not performed due to the determination of the test execution selection unit 150. .

テスト内容抽出手段120は、プラグイン登録手段110により取得されたプラグイン190がどのアプリケーション(フィルタ、アクティビティ等)に対する機能拡張プラグインなのかを判断し、この判断結果と図8で示すようなプラグインテーブル200とを照合し、当該プラグイン190に関して確認すべき項目を抽出する。例えば、プラグイン登録手段110により取得されたプラグイン190が読取フィルタ301に対するプラグインであると判断した場合、テスト内容抽出手段190は、図8で示すプラグインテストテーブル200において読取フィルタ301を検索し、読取フィルタ301に必要なI/Fは「スキャンイベント受取」であり、「スキャンイベント受取」に必要な引数の個数は「1つ」であり、「スキャンイベント受取」に必要な引数の型は「Object型」であるという確認すべき項目を抽出する。   The test content extraction unit 120 determines to which application (filter, activity, etc.) the plug-in 190 acquired by the plug-in registration unit 110 is a function expansion plug-in, and the determination result and the plug as shown in FIG. The in-table 200 is checked, and items to be confirmed regarding the plug-in 190 are extracted. For example, when it is determined that the plug-in 190 acquired by the plug-in registration unit 110 is a plug-in for the reading filter 301, the test content extraction unit 190 searches for the reading filter 301 in the plug-in test table 200 shown in FIG. The I / F required for the read filter 301 is “scan event reception”, the number of arguments required for “scan event reception” is “1”, and the types of arguments required for “scan event reception” Extracts an item to be confirmed as being “Object type”.

プラグインテスト手段130は、テスト内容抽出手段120により抽出される確認項目に基づいて、プラグイン190の備えるI/Fの仕様を確認する。具体的には、プラグイン190の備えるI/Fに関して、テスト内容抽出手段120により抽出される必要なI/Fを備えているか否か、テスト内容抽出手段120により抽出される引数の個数と一致するか否か、テスト内抽出手段120により抽出される引数の型と一致するか否かについて、それぞれ判定を行う。例えば、プラグインテスト手段130は、プラグイン190(実行オブジェクト)に対して、テスト内容抽出手段120により抽出される必要なI/Fを指定し、リフレクション機能を使用して取得を行い、プラグイン190が必要なI/Fを有するか否かを判定する。そして、プラグインテスト手段130は、上記で取得したI/Fに対して、引数の数を取得し、テスト内容抽出手段120により抽出される引数の数と一致するか否かを判定する。さらに、プラグインテスト手段130は、上記で取得したI/Fに対して、引数の型を取得し、テスト内容抽出手段120により抽出される引数の型と一致するか否かを判定する。このようにして、適切なI/Fの未実装を防止し、プログラムをバーションアップする場面で起こりがちなI/Fの不整合等による複合機1の動作不良を防止することができる。   The plug-in test means 130 confirms the I / F specifications of the plug-in 190 based on the confirmation items extracted by the test content extraction means 120. Specifically, regarding the I / F included in the plug-in 190, whether or not the necessary I / F extracted by the test content extracting unit 120 is included, and the number of arguments extracted by the test content extracting unit 120 are the same. Whether or not to match, and whether or not the type of the argument extracted by the in-test extracting means 120 is matched. For example, the plug-in test unit 130 designates a necessary I / F extracted by the test content extraction unit 120 for the plug-in 190 (execution object), performs acquisition using the reflection function, and executes the plug-in It is determined whether 190 has the necessary I / F. Then, the plug-in test means 130 acquires the number of arguments for the I / F acquired above, and determines whether or not the number matches the number of arguments extracted by the test content extraction means 120. Further, the plug-in test means 130 acquires the argument type for the I / F acquired as described above, and determines whether or not it matches the argument type extracted by the test content extraction means 120. In this way, it is possible to prevent an appropriate I / F from not being mounted and to prevent malfunction of the multifunction device 1 due to an I / F mismatch or the like that tends to occur in a scene where the program is upgraded.

また、プラグインテスト手段130は、プラグイン190の備えるI/Fに関して、応答時間を計測し、該応答時間が所定の時間内であるか否かを判定する。具体的には、プラグインテスト手段130は、プラグイン190(実行オブジェクト)に対して、テスト内容抽出手段120により抽出される必要なI/Fを指定し、リフレクション機能を使用して取得を行った後、該取得したI/Fの応答時間を計測し、この計測した応答時間が所定の時間内であるか否かを判定する。ここで、I/Fの応答時間は、該I/Fに何らかの問合せを行った時刻と、該問合せに対して何らかの応答があった時刻との時刻差である。障害として発見することが難しいタイムアウトによるスレッドの不正処理等を防止することができる。   Further, the plug-in test means 130 measures the response time for the I / F included in the plug-in 190, and determines whether or not the response time is within a predetermined time. Specifically, the plug-in test unit 130 designates a necessary I / F extracted by the test content extraction unit 120 for the plug-in 190 (execution object), and performs acquisition using the reflection function. Thereafter, the response time of the acquired I / F is measured, and it is determined whether or not the measured response time is within a predetermined time. Here, the response time of the I / F is a time difference between the time when any inquiry is made to the I / F and the time when there is some response to the inquiry. It is possible to prevent illegal processing of a thread due to a timeout that is difficult to detect as a failure.

プラグイン削除手段140は、プラグインテスト手段130により、プラグイン190の備えるI/Fの仕様と、テスト内容抽出手段120により抽出される仕様とが一致しないと判定された場合、又は、該I/Fの応答時間が所定の時間内でないと判定された場合に、プラグイン190を記憶装置83から削除する。未知なコンポーネントが正しい拡張ルールに従っているかを、プラグイン追加時にリアルタイムで確認することで、より信頼性の高いものしか追加させない堅牢なシステムを構築することができる。   The plug-in deletion unit 140 determines that the plug-in test unit 130 determines that the I / F specification included in the plug-in 190 and the specification extracted by the test content extraction unit 120 do not match, or When it is determined that the response time of / F is not within the predetermined time, the plug-in 190 is deleted from the storage device 83. By checking in real time when adding a plug-in whether an unknown component complies with the correct extension rules, it is possible to construct a robust system that allows only more reliable components to be added.

テスト実行選択手段150は、テスト内容抽出手段120及びプラグインテスト手段130による処理を実行するか否かに関するユーザの選択を受け付け、該選択に基づいて、テスト内容抽出手段120及びプラグインテスト手段130による処理を実行するか否かを決定する。すなわち、テスト内容抽出手段120及びプラグインテスト手段130による処理を実行するとユーザが選択すればこれらの手段による処理が実行され、反対に、実行しないとユーザが選択すればこれらの手段による処理は実行されない。テスト実行の有無に関する選択をユーザに委ね、不要なテストを行わないことで、テスト実行時間の削減することができ、または、記憶装置の資源を有効活用することができる。   The test execution selection unit 150 receives a user's selection regarding whether or not to execute the processing by the test content extraction unit 120 and the plug-in test unit 130, and based on the selection, the test content extraction unit 120 and the plug-in test unit 130 It is determined whether or not to execute the process. That is, if the user selects to execute the process by the test content extracting means 120 and the plug-in test means 130, the process by these means is executed. Conversely, if the user selects not to execute the process, the process by these means is executed. Not. By leaving the selection regarding the presence or absence of test execution to the user and not performing unnecessary tests, the test execution time can be reduced, or the resources of the storage device can be effectively utilized.

テスト内容変更手段160は、ダウンロードサーバ300から、図8で示すようなプラグインテストテーブル200をダウンロード(取得)し、該プラグインテストテーブル200を記憶装置83に記録する。このとき、従来のプラグインテーブル200は、上書き、削除される形態としても良い。テスト内容変更手段160による処理は、アプリケーションロジック層30のビルトインテスト34を再インストールする処理に該当する。
こうすることで、製品が市場に出た後であっても、テスト内容を適宜変更することで、機能拡張プラグインに関するテストを適切に行うことができる。
The test content changing means 160 downloads (obtains) the plug-in test table 200 as shown in FIG. 8 from the download server 300 and records the plug-in test table 200 in the storage device 83. At this time, the conventional plug-in table 200 may be overwritten or deleted. The process by the test content changing unit 160 corresponds to a process of reinstalling the built-in test 34 of the application logic layer 30.
By doing this, even after the product is put on the market, it is possible to appropriately perform the test related to the function expansion plug-in by changing the test contents as appropriate.

画像処理テスト手段170は、プラグイン190により機能拡張されたアプリケーションを含む画像処理が、基本機能確認基準210を満たすか否かを判定する。機能拡張をした後でも、複合機1の基本性能が落ちていないこと(複合機1の基本性能が確保できていること)を確認することができる。   The image processing test unit 170 determines whether or not the image processing including the application whose function is expanded by the plug-in 190 satisfies the basic function confirmation criterion 210. Even after the function expansion, it can be confirmed that the basic performance of the multifunction device 1 has not deteriorated (that the basic performance of the multifunction device 1 can be secured).

以下では、上記で説明した複合機1の動作原理に基づき、複合機1による処理の流れを説明する。ここでは、図7で示すように、読取フィルタ301の機能を拡張するためのプラグイン190を追加する場合の処理について説明する。
はじめに、プラグイン登録手段110が、ダウンロードサーバ300から、プラグイン190をダウンロードし、記憶装置83に記憶する。そして、テスト実行選択手段150が、プラグイン190に関するテストを実行する旨のユーザの選択を受け付けると、テスト内容抽出手段120が、プラグイン190が読取フィルタ301の機能拡張を行うものであることを検出し、プラグインテストテーブル200から読取フィルタ301に対応する確認項目を抽出する。
Hereinafter, based on the operation principle of the multifunction device 1 described above, the flow of processing by the multifunction device 1 will be described. Here, as shown in FIG. 7, processing in the case of adding a plug-in 190 for extending the function of the reading filter 301 will be described.
First, the plug-in registration unit 110 downloads the plug-in 190 from the download server 300 and stores it in the storage device 83. When the test execution selection unit 150 accepts a user's selection to execute a test related to the plug-in 190, the test content extraction unit 120 confirms that the plug-in 190 performs the function expansion of the reading filter 301. The confirmation item corresponding to the reading filter 301 is extracted from the plug-in test table 200.

そして、プラグインテスト手段130が、プラグイン190の備えるI/Fの仕様と、テスト内容抽出手段120により抽出された仕様とが一致するか否かを確認、判定し、両者の全ての仕様が一致すると判定した場合に、プラグイン登録手段110が、プラグイン190を利用できる状態にする。一方、プラグインテスト手段130が、両者の仕様に関し1項目でも一致しないと判定した場合には、プラグイン削除手段140が、プラグイン190を記憶装置83から削除する。   Then, the plug-in test means 130 confirms and determines whether or not the I / F specifications included in the plug-in 190 and the specifications extracted by the test content extraction means 120 match, and all the specifications of both are determined. If it is determined that they match, the plug-in registration unit 110 makes the plug-in 190 available. On the other hand, when the plug-in test means 130 determines that even one item does not match regarding both specifications, the plug-in deletion means 140 deletes the plug-in 190 from the storage device 83.

また、プラグイン登録手段110が、プラグイン190を利用できる状態にした後、画像処理手段180が、プラグイン190を利用した画像処理(例えば、原稿をスキャナ89で読み取り、プロッタ90から紙出力するコピー処理)を実行し、画像処理テスト手段170が、該コピー処理と、該コピー処理に関する基本機能確認基準210とを比較して、該コピー処理が基本機能確認基準210をクリアしているか否かを判定する。そして、画像処理テスト手段170により基本機能確認基準210をクリアしていないと判定された場合に、プラグイン削除手段140が、プラグイン190を記憶装置83から削除する。   In addition, after the plug-in registration unit 110 makes the plug-in 190 usable, the image processing unit 180 performs image processing using the plug-in 190 (for example, reads a document with the scanner 89 and outputs paper from the plotter 90. The image processing test means 170 compares the copy processing with the basic function confirmation criteria 210 related to the copy processing, and whether or not the copy processing clears the basic function confirmation criteria 210. Determine. When the image processing test unit 170 determines that the basic function confirmation criterion 210 is not cleared, the plug-in deletion unit 140 deletes the plug-in 190 from the storage device 83.

そして、テスト内容変更手段160が、ダウンロードサーバ300から、プラグインテストテーブル200を適宜ダウンロードし、該プラグインテストテーブル200を更新する。
上記のような処理を行うことで、画像処理に係るアプリケーションの機能を拡張するプログラムを追加する際に、該プログラム自体に問題がないか否かの確認を行い、信頼性の高いプログラムのみを追加することにより、堅牢なシステムを有する画像処理装置を提供することができる。
Then, the test content changing unit 160 appropriately downloads the plug-in test table 200 from the download server 300, and updates the plug-in test table 200.
When adding a program that expands the functions of an application related to image processing by performing the above processing, it is checked whether there is a problem with the program itself, and only a highly reliable program is added. By doing so, an image processing apparatus having a robust system can be provided.

(本実施の形態に係る複合機のハードウェア構成)
図9を用いて、本発明の画像処理装置である複合機1のハードウェアの構成例を説明する。図9は、本発明の実施の形態における複合機1のハードウェア構成の一例を示す図である。
複合機1のハードウェアとしては、コントローラ80と、オペレーションパネル87、ファクシミリコントロールユニット(FCU:Facsimile Control Unit)88と、撮像部89と、印刷部90が存在する。
(Hardware configuration of MFP according to this embodiment)
With reference to FIG. 9, a hardware configuration example of the multifunction machine 1 which is the image processing apparatus of the present invention will be described. FIG. 9 is a diagram illustrating an example of a hardware configuration of the multifunction machine 1 according to the embodiment of the present invention.
As the hardware of the multifunction device 1, there are a controller 80, an operation panel 87, a facsimile control unit (FCU) 88, an imaging unit 89, and a printing unit 90.

コントローラ80は、CPU(Central Processing Unit)84、ASIC(Application Specific Integrated Circuit)86、NB(North Bridge)85、SB(South Bridge)91、MEM−P81、MEM−C82、HDD(ハードディスクドライブ)83、メモリカードスロット96、ネットワークインタフェースコントローラ(NIC:Network Interface Controller)92、USB(Universal Serial Bus)デバイス93、IEEE(The Institute of Electrical and Electronics Engineers, Inc.)1394デバイス94、セントロニクスデバイス95により構成される。   The controller 80 includes a CPU (Central Processing Unit) 84, ASIC (Application Specific Integrated Circuit) 86, NB (North Bridge) 85, SB (South Bridge) 91, MEM-P81, MEM-C82, HDD (Hard Disk Drive) 83, A memory card slot 96, a network interface controller (NIC) 92, a USB (Universal Serial Bus) device 93, an IEEE (The Institute of Electrical and Electronics Engineers, Inc.) 1394 device 94, and a Centronics device 95 are included. .

CPU84は、種々の情報処理用のIC(Integrated Circuit)である。ASIC86は、種々の画像処理用のICである。NB85は、コントローラのノースブリッジである。SB91は、コントローラのサウスブリッジである。MEM−P81は、複合機1のシステムメモリである。MEM−C82は、複合機1のローカルメモリである。HDD83は、複合機1のストレージである。メモリカードスロット96は、メモリカード97をセットするためのスロットである。NIC92は、MACアドレスによるネットワーク通信用のコントローラである。USBデバイス93は、USB規格の接続端子を提供するためのデバイスである。セントロニクスデバイス95は、セントロニクス仕様の接続端子を提供するためのデバイスである。オペレーションパネル87は、オペレータが複合機1に入力を行うためのハードウェア(操作部)であると共に、オペレータが複合機1から出力を得るためのハードウェア(表示部)である。   The CPU 84 is an IC (Integrated Circuit) for various information processing. The ASIC 86 is an IC for various image processing. NB85 is a north bridge of the controller. SB91 is a south bridge of the controller. The MEM-P 81 is a system memory of the multifunction machine 1. The MEM-C 82 is a local memory of the multifunction machine 1. The HDD 83 is a storage of the multifunction device 1. The memory card slot 96 is a slot for setting a memory card 97. The NIC 92 is a controller for network communication using a MAC address. The USB device 93 is a device for providing a USB standard connection terminal. The Centronics device 95 is a device for providing a Centronics specification connection terminal. The operation panel 87 is hardware (operation unit) for an operator to input to the multifunction device 1 and hardware (display unit) for an operator to obtain an output from the multifunction device 1.

なお、本発明に係る複合機1のソフトウェアは、例えば、MEM−C82に格納され、CPU84によって処理されることにより、その機能を複合機1に実行させる。   Note that the software of the multifunction device 1 according to the present invention is stored in, for example, the MEM-C 82 and processed by the CPU 84 to cause the multifunction device 1 to execute the function.

(本発明の複合機1による処理例)
<第1の実施例>
従来、自動テストを行うことにより、複合機1本体に負荷が掛かってしまうため、複合機1の性能に影響が発生するが、第1の実施例においては、自動でテストを行いながらも複合機1の性能を低下させないようにする。
(Example of processing by the multifunction machine 1 of the present invention)
<First embodiment>
Conventionally, a load is applied to the main body of the multi-function device 1 by performing an automatic test, which affects the performance of the multi-function device 1. However, in the first embodiment, the multi-function device is automatically tested while performing the test. The performance of 1 is not deteriorated.

(1)複合機1によるプラグイン追加処理について
図10を用いて、プラグインを追加する際の、複合機1による処理例について説明する。図10は、プラグインを追加する際の、複合機1による処理の一例を示すフローチャートである。
ここでは、図7で示すような読取フィルタ301に関するプラグイン190を追加する際の処理について説明することとし、図8で示すプラグインテストテーブル200に従って、プラグイン190の備えるI/Fに関するテストを行う。
(1) Plug-in Addition Processing by Multifunction Device 1 An example of processing by the multifunction device 1 when adding a plug-in will be described with reference to FIG. FIG. 10 is a flowchart illustrating an example of processing performed by the multifunction device 1 when a plug-in is added.
Here, processing when adding the plug-in 190 related to the reading filter 301 as shown in FIG. 7 will be described, and a test related to the I / F included in the plug-in 190 is performed according to the plug-in test table 200 shown in FIG. Do.

S10で複合機1がプラグイン追加時の処理を開始する。当該処理の開始は、ユーザによるプラグイン追加操作をローカルUI部12が受け付けたことで開始する形態としても良い。
S20でプラグイン登録手段110が、ダウンロードサーバ300から、読取フィルタ301の機能を拡張するプラグイン190を取得(ダウンロード)し、当該プラグイン190をHDD83に保存する。ここで、プラグイン登録手段110は、プラグイン190をMEM−P81に保存する形態としても良い。
In S10, the multifunction device 1 starts processing when a plug-in is added. The process may be started when the local UI unit 12 receives a plug-in addition operation by the user.
In S <b> 20, the plug-in registration unit 110 acquires (downloads) the plug-in 190 that extends the function of the reading filter 301 from the download server 300, and stores the plug-in 190 in the HDD 83. Here, the plug-in registration unit 110 may store the plug-in 190 in the MEM-P 81.

S30でテスト実行選択手段150が、複合機1に追加するプラグイン190に関するテストを実行するか否かに関するユーザの選択に基づいて、テスト内容抽出手段120及びプラグインテスト手段130によるテストを実施するか否かについて決定する。
追加されるプラグインの適性を確認するテストを実施するか否かの選択をユーザに委ね、不要なテストを行わないことで、テスト実行時間を削減することができ、一方では、記憶装置のリソースを有効活用することができる。
In S30, the test execution selection unit 150 performs the test by the test content extraction unit 120 and the plug-in test unit 130 based on the user's selection as to whether or not to execute the test regarding the plug-in 190 added to the multifunction device 1. Decide whether or not.
By leaving the user to choose whether or not to perform a test to confirm the suitability of the added plug-in and not performing unnecessary tests, the test execution time can be reduced. Can be used effectively.

S30でテスト実行選択手段150が、プラグイン190に関するテストを実施すると決定した場合(S30でYesの場合)、S40でテスト内容抽出手段120が、プラグイン190がどのアプリケーションに関するプラグインであるかを判別し、該判別結果に基づいて、図8で示すプラグインテストテーブル200から、プラグイン190の備えるI/Fが満たすべき仕様に関する情報を抽出する。I/Fが満たすべき仕様に関する情報は、必要なI/F、該I/Fの引数の数、該I/Fの引数の型に関する情報である。本処理例のように、複合機1に追加しようとするプラグイン190が読取フィルタ301に関するプラグインの場合、該プラグイン190のI/Fが満たすべき仕様は、「スキャンイベント受取」というI/Fを有し、該「スキャンイベント受取」の引数の数は1つであり、該「スキャンイベント受取」の引数の型は「Object型」であることである。   When the test execution selection unit 150 determines in S30 that the test related to the plug-in 190 is to be performed (Yes in S30), the test content extraction unit 120 determines in which S40 the plug-in 190 is related to which application. Based on the determination result, information related to the specifications to be satisfied by the I / F included in the plug-in 190 is extracted from the plug-in test table 200 shown in FIG. The information on the specifications to be satisfied by the I / F is information on the necessary I / F, the number of arguments of the I / F, and the type of arguments of the I / F. When the plug-in 190 to be added to the multifunction device 1 is a plug-in related to the reading filter 301 as in this processing example, the specification to be satisfied by the I / F of the plug-in 190 is an I / F “scan event reception”. F, the number of arguments of the “scan event reception” is one, and the argument type of the “scan event reception” is “Object type”.

S30でテスト実行選択手段150が、プラグイン190に関するテストを実施しないと決定した場合(S30でNoの場合)、S70でプラグイン登録手段110が、プラグイン190を追加する処理を完了させる、つまり、プラグイン190をプラグイン管理部22に登録し、画像処理手段180による処理において使用できるようにする。   When the test execution selection unit 150 determines in S30 that the test related to the plug-in 190 is not performed (No in S30), the plug-in registration unit 110 completes the process of adding the plug-in 190 in S70. The plug-in 190 is registered in the plug-in management unit 22 so that it can be used in the processing by the image processing unit 180.

S50でプラグインテスト手段130が、テスト内容抽出手段120により抽出した仕様と、プラグイン190の備えるI/Fに関する仕様とを比較して、両者の仕様が一致するか否かを判定する。すなわち、プラグインテスト手段130は、プラグイン190の備えるI/Fが「スキャンイベント受取」であるか否か(プラグイン190は「スキャンイベント受取」という名称のI/Fを有するか否か)、プラグイン190の有する「スキャンイベント受取」というI/Fの引数の数は1つであるか否か、プラグイン190の有する「スキャンイベント受取」というI/Fの引数の型は「Object型」であるか否かについて、確認し、判定を行う。
また、プラグインテスト手段130は、プラグイン190の有する「スキャンイベント受取」というI/Fの応答時間が所定の時間内であるか否かについても、確認し、判定を行う。該応答時間の測定には、タイマーを使用する。
この様なチェックを行うことで、適切なI/Fの未実装を防止し、プログラムをバーションアップする場面で起こりがちなI/Fの不整合等による複合機1の動作不良を防止することができる。また、障害として発見することが難しいタイムアウトによるスレッドの不正処理等についても防止することができる。
In S50, the plug-in test means 130 compares the specifications extracted by the test content extraction means 120 with the specifications related to the I / F provided in the plug-in 190, and determines whether or not the two specifications match. That is, the plug-in test means 130 determines whether the I / F of the plug-in 190 is “scan event received” (whether the plug-in 190 has an I / F named “scan event received”). Whether the number of I / F arguments “scan event reception” included in the plug-in 190 is one, or the type of I / F argument “scan event reception” included in the plug-in 190 is “Object type”. It is confirmed whether or not it is.
The plug-in test means 130 also checks and determines whether or not the response time of the I / F “scan event reception” that the plug-in 190 has is within a predetermined time. A timer is used to measure the response time.
By performing such a check, it is possible to prevent unimplementation of an appropriate I / F, and to prevent malfunction of the multifunction device 1 due to an I / F inconsistency, etc. that is likely to occur in a scene where a program is upgraded. Can do. It is also possible to prevent illegal thread processing due to a timeout that is difficult to detect as a failure.

S60でプラグインテスト手段130が、上記項目の全てについて一致する(要件を満たす)と判定した場合(S60でYesの場合)、S70でプラグイン登録手段110が、プラグイン190を追加する処理を完了させる、つまり、プラグイン190をプラグイン管理部22に登録し、画像処理手段180による処理において使用できるようにする。
S60でプラグインテスト手段130が、上記項目のうち1項目でも一致しない(要件を満たさない)と判定した場合(S60でNoの場合)、S80でプラグイン削除手段140が、プラグイン190を記憶装置83又はMEM−P81から削除する。
If the plug-in test unit 130 determines that all of the above items match (requires the requirements) in S60 (Yes in S60), the plug-in registration unit 110 adds the plug-in 190 in S70. In other words, the plug-in 190 is registered in the plug-in management unit 22 so that it can be used in the processing by the image processing unit 180.
If the plug-in test means 130 determines in S60 that even one of the above items does not match (does not satisfy the requirement) (No in S60), the plug-in deletion means 140 stores the plug-in 190 in S80. Delete from the device 83 or MEM-P81.

S90で複合機1がプラグイン追加時の処理を終了する。以後、プラグイン190が追加され、プラグイン管理部22に登録された場合には、画像処理手段180が、プラグイン190の追加された環境で、コピー処理、プリンタ処理、FAX処理等を行い、他方、プラグイン190が削除された場合には、画像処理手段180が、プラグイン190の追加される前の環境で、コピー処理、プリンタ処理、FAX処理等を行う。
このような処理を行うことで、未知なコンポーネントが正しい拡張ルールに従っているかを、プラグイン追加時にリアルタイムで確認することで、より信頼性の高いものしか追加させない堅牢なシステムとすることができる。
In S90, the multifunction device 1 ends the process when the plug-in is added. Thereafter, when the plug-in 190 is added and registered in the plug-in management unit 22, the image processing unit 180 performs copy processing, printer processing, FAX processing, and the like in the environment where the plug-in 190 is added. On the other hand, when the plug-in 190 is deleted, the image processing unit 180 performs copy processing, printer processing, FAX processing, and the like in the environment before the plug-in 190 is added.
By performing such processing, it is possible to make a robust system in which only a more reliable one can be added by checking in real time whether an unknown component complies with the correct extension rule when a plug-in is added.

(2)複合機1の基本動作を確認する処理について
図11を用いて、プラグイン190を追加する際の、複合機1の基本動作を確認する処理について説明する。図11は、複合機1の基本動作を確認する処理の一例を示すフローチャートである。
ここでは、図7で示すような読取フィルタ301に関するプラグイン190を追加する際の処理について説明する。
(2) Processing for Confirming Basic Operation of Multifunction Device 1 Processing for confirming basic operation of the multifunction device 1 when the plug-in 190 is added will be described with reference to FIG. FIG. 11 is a flowchart illustrating an example of processing for confirming the basic operation of the multifunction device 1.
Here, a process when a plug-in 190 related to the reading filter 301 as shown in FIG. 7 is added will be described.

S110で複合機1が基本動作の確認を行う処理を開始する。当該処理の開始は、ユーザによる当該処理開始操作をローカルUI部12が受け付けることで開始する形態としても良いし、ユーザの操作によらず、プラグイン190のダウンロード後又はプラグイン管理部22への登録後、自動的に処理を開始する形態としても良い。
S120で画像処理手段180が、読取フィルタ301に関するプラグイン190を追加した環境で、コピー処理、FAX処理等、機能拡張された読取フィルタ301を使用する処理を実行する。プラグイン190を追加したことに伴う、複合機1の基本性能への影響の有無を確認するためである。
In S110, the MFP 1 starts processing for confirming basic operation. The start of the process may be started when the local UI unit 12 receives the process start operation by the user, or after the plug-in 190 is downloaded or to the plug-in management unit 22 regardless of the user's operation. It is good also as a form which starts a process automatically after registration.
In step S <b> 120, the image processing unit 180 executes processing using the read filter 301 whose functions are expanded, such as copy processing and FAX processing, in an environment in which the plug-in 190 related to the read filter 301 is added. This is for confirming whether or not there is an influence on the basic performance of the multifunction machine 1 due to the addition of the plug-in 190.

S130で画像処理テスト手段170が、画像処理手段180により実行された画像処理に対応する基本機能確認基準210を取得する。ここで、基本機能確認基準210は、複合機1において画像処理を行った場合に、当該画像処理が最低限満足すべき基準であり、例えば、スキャナ89で読み取られた画像品質やプロッタ90で印刷された画像品質等に関する機能性基準と、コピーやFAX等の画像処理に要する時間や当該画像処理に関するリソース消費量(メモリリーク、GC、UIの応答時間等)に関する非機能性基準とで構成される。   In S <b> 130, the image processing test unit 170 acquires the basic function confirmation reference 210 corresponding to the image processing executed by the image processing unit 180. Here, the basic function confirmation standard 210 is a standard that the image processing should satisfy at least when image processing is performed in the multifunction machine 1. For example, the image quality read by the scanner 89 or printed by the plotter 90 is used. And the non-functionality criteria relating to the time required for image processing such as copying and FAX and the resource consumption (memory leak, GC, UI response time, etc.) relating to the image processing. The

S140で画像処理テスト手段170が、画像処理手段180により実行された画像処理の結果と、当該画像処理に対応する基本機能確認基準210とを比較して、画像処理手段180により実行された画像処理の結果が基本機能確認基準210を満たしているか否かを判定する。
S150で画像処理テスト手段170により基本機能確認基準210を満たしていると判定された場合(S150でYesの場合)、S170で複合機1が基本動作の確認を行う処理を終了する。ここで、プラグイン190がプラグイン管理部22に未登録の状態であれば、S150で画像処理テスト手段170による上記判定がされた後、プラグイン登録手段110が、追加すべきプラグイン190をプラグイン管理部22へ登録し、S170の処理へ移行する形態としても良い。
In step S140, the image processing test unit 170 compares the result of the image processing executed by the image processing unit 180 with the basic function confirmation reference 210 corresponding to the image processing, and the image processing executed by the image processing unit 180. It is determined whether or not the result satisfies the basic function confirmation criterion 210.
If it is determined in S150 that the image processing test means 170 satisfies the basic function confirmation criterion 210 (Yes in S150), the process in which the multifunction device 1 confirms the basic operation is completed in S170. If the plug-in 190 is not yet registered in the plug-in management unit 22, the plug-in registration unit 110 determines the plug-in 190 to be added after the determination by the image processing test unit 170 in S150. It is good also as a form which registers into the plug-in management part 22, and transfers to the process of S170.

S150で画像処理テスト手段170により基本機能確認基準210を満たしていないと判定された場合(S150でNoの場合)、S160でプラグイン削除手段140が、プラグイン190を記憶装置83又はMEM−P81から削除し、必要であれば、プラグイン管理部22からも登録を削除し、S170で複合機1が基本動作の確認を行う処理を終了する。
上記のような処理を行うことで、機能拡張をした後でも、複合機1の基本性能が落ちていないこと(確保できていること)を確認することができる。
If the image processing test means 170 determines that the basic function confirmation criterion 210 is not satisfied in S150 (No in S150), the plug-in deletion means 140 stores the plug-in 190 in the storage device 83 or the MEM-P81 in S160. If necessary, the registration is also deleted from the plug-in management unit 22, and the process in which the multifunction device 1 confirms the basic operation is terminated in S170.
By performing the processing as described above, it is possible to confirm that the basic performance of the multifunction device 1 has not deteriorated (is ensured) even after function expansion.

(3)複合機1によるプラグインテストテーブル200を更新する処理について
図12を用いて、複合機1によるプラグインテストテーブル200を更新する処理について説明する。図12は、複合機1によるプラグインテストテーブル200を更新する処理の一例を示すフローチャートである。
S210で複合機1が、プラグインテストテーブル200を更新する処理を開始する。当該処理の開始は、ユーザによる処理開始操作をローカルUI部12が受け付けることで開始する形態としても良く、一定の時間間隔で自動的に処理が開始される形態としても良い。
(3) Processing for Updating Plug-in Test Table 200 by Multifunction Device 1 Processing for updating the plug-in test table 200 by the multifunction device 1 will be described with reference to FIG. FIG. 12 is a flowchart illustrating an example of a process for updating the plug-in test table 200 by the multifunction machine 1.
In S <b> 210, the multifunction device 1 starts a process of updating the plug-in test table 200. The start of the process may be started when the local UI unit 12 receives a process start operation by the user, or may be started automatically at a certain time interval.

S220でテスト内容変更手段160が、ダウンロードサーバ300から、プラグインテストテーブル200を取得(ダウンロード)し、S230で当該プラグインテストテーブル200を記憶装置83に記憶(登録)する。このとき、従来の(古い)プラグインテストテーブル200は削除される(新しいプラグインテストテーブル200を上書き保存する)形態としても良い。S220におけるテスト内容変更手段160による処理は、アプリケーションロジック層30のビルトインテスト34を再インストールする処理に該当する。
S240で複合機1が、プラグインテストテーブル200を更新する処理を終了する。
上記のように、製品が市場に出た後であっても、テスト内容を適宜変更することで、機能拡張プラグインに関するテストを適切に行うことができる。
In S220, the test content changing unit 160 acquires (downloads) the plug-in test table 200 from the download server 300, and stores (registers) the plug-in test table 200 in the storage device 83 in S230. At this time, the conventional (old) plug-in test table 200 may be deleted (a new plug-in test table 200 is overwritten and saved). The process by the test content changing unit 160 in S220 corresponds to a process of reinstalling the built-in test 34 of the application logic layer 30.
In S240, the multifunction device 1 ends the process of updating the plug-in test table 200.
As described above, even after the product is put on the market, the test related to the function extension plug-in can be appropriately performed by appropriately changing the test contents.

<第2の実施例>
図13、図14で示すように、第2の実施例における画像処理装置1では、画像処理に係るアプリケーションの機能を拡張するためのプラグインを追加可能となっており、前記プラグインが追加された後に、該プラグインの備えるインタフェースに関する仕様が、前記アプリケーションの要求する該インタフェースに関する仕様と一致するか否かの判定を行うプラグインテスト手段130を有する画像処理装置1であって、CPU(演算装置)・メモリを複数保持し、プラグインテストを実施する専用のCPU・メモリを有することを特徴とする。これにより、プラグインテストをすぐに実施することができる。
<Second embodiment>
As shown in FIGS. 13 and 14, in the image processing apparatus 1 according to the second embodiment, it is possible to add a plug-in for extending an application function related to image processing, and the plug-in is added. Thereafter, there is provided an image processing apparatus 1 having a plug-in test means 130 for determining whether or not a specification related to an interface included in the plug-in matches a specification related to the interface requested by the application. (Device) A plurality of memories are held, and a dedicated CPU and memory for performing a plug-in test are provided. As a result, the plug-in test can be performed immediately.

また、図15−20で示すように、第2の実施例における画像処理装置1では、画像処理に係るアプリケーションの機能を拡張するためのプラグインを追加可能となっており、前記プラグインが追加された後に、該プラグインの備えるインタフェースに関する仕様が、前記アプリケーションの要求する該インタフェースに関する仕様と一致するか否かの判定を行うプラグインテスト手段130を有する画像処理装置1であって、CPU(演算装置)・メモリを複数保持し、使用されていないCPU・メモリを検索し、プラグインテストを実施することを特徴とする。こうすることにより、リソースを最大限利用できる。   Also, as shown in FIG. 15-20, in the image processing apparatus 1 in the second embodiment, it is possible to add a plug-in for extending the function of an application related to image processing, and the plug-in is added. After that, the image processing apparatus 1 includes a plug-in test unit 130 that determines whether or not the specifications related to the interface included in the plug-in match the specifications related to the interface requested by the application, Arithmetic unit) ・ Holds a plurality of memories, searches for unused CPUs and memories, and performs a plug-in test. In this way, resources can be used to the maximum.

さらに、図15−20で示すように、第2の実施例における画像処理装置1では、画像処理に係るアプリケーションの機能を拡張するためのプラグインを追加可能となっており、前記プラグインが追加された後に、該プラグインの備えるインタフェースに関する仕様が、前記アプリケーションの要求する該インタフェースに関する仕様と一致するか否かの判定を行うプラグインテスト手段130を有する画像処理装置1であって、CPU(演算装置)・メモリのどちらか一方のみ複数保持し、プラグインテストを実施することを特徴とする。こうすることにより、コスト削減を図ることができる。   Further, as shown in FIG. 15-20, in the image processing apparatus 1 in the second embodiment, it is possible to add a plug-in for extending the function of an application related to image processing, and the plug-in is added. After that, the image processing apparatus 1 includes a plug-in test unit 130 that determines whether or not the specifications related to the interface included in the plug-in match the specifications related to the interface requested by the application, Arithmetic unit) A plurality of the memory is held and a plug-in test is performed. In this way, cost reduction can be achieved.

図21で示すように、第2の実施例における画像処理装置1では、CPU(演算装置)・メモリを複数保持し、一組のCPU・メモリで行う予定となっている処理を別のCPU・メモリに委譲させ、プラグインテストを実施するためのCPU・メモリを確保することを特徴とする。こうすることにより、リソースを最大限利用でき、また、テストもすぐに実施することができる。   As shown in FIG. 21, in the image processing apparatus 1 in the second embodiment, a plurality of CPUs (arithmetic units) and memories are held, and a process scheduled to be performed by one set of CPUs and memories is performed by another CPU It is characterized in that the CPU and memory for executing the plug-in test are secured by delegating to the memory. This way, you can make the most of your resources and you can test immediately.

ここで、図19−21のフローチャートの動作主体は、図13中のスケジューラである。また、図21において、ジョブが終わったことの検知方法については、例えば、作像装置90やFCU88から終了通知がCPUに通知され、使ったデバイス全てから終了通知が来た場合にジョブ終了を検知する形態としても良い。   Here, the operating subject in the flowchart of FIGS. 19-21 is the scheduler in FIG. In FIG. 21, regarding the method for detecting the end of the job, for example, the end notification is notified to the CPU from the image forming device 90 or the FCU 88 and the end of the job is detected when the end notification is received from all the used devices. It is good also as a form to do.

図22で示すように、第2の実施例における画像処理装置1では、CPU(演算装置)・メモリを複数保持し、新規画像処理のジョブが実行される時に、実行中のプラグインテストを中断させ、画像処理のジョブを実施し、ジョブ終了後プラグインテストを再開させることを特徴とする。こうすることにより、ジョブを優先させることができる。つまり、ユーザの要求により詳細に応えることができる。   As shown in FIG. 22, the image processing apparatus 1 according to the second embodiment holds a plurality of CPUs (arithmetic units) and memories, and interrupts the currently executed plug-in test when a new image processing job is executed. The image processing job is executed, and the plug-in test is restarted after completion of the job. In this way, the job can be prioritized. That is, it can respond to a user's request in detail.

また、第2の実施例における画像処理装置1では、CPU(演算装置)・メモリを複数保持し、プラグイン追加時に画像処理装置1が行っている画像処理のジョブを中断させ、プラグインテストを実施し、プラグインテスト終了後ジョブを再開させることを特徴とする。こうすることにより、テストを優先させることができる。つまり、ユーザの要求により詳細に応えることができる。   The image processing apparatus 1 according to the second embodiment holds a plurality of CPUs (arithmetic units) and memories, interrupts an image processing job performed by the image processing apparatus 1 when a plug-in is added, and performs a plug-in test. The job is resumed after completion of the plug-in test. This gives priority to testing. That is, it can respond to a user's request in detail.

従来、自動でテストを行うことにより、本体1に負荷がかかってしまうため、画像処理装置1の性能に影響が発生していたが、上記のように第2の実施例においては、画像処理装置1の性能を低下させずに自動でテストを行うことができる。   Conventionally, since the test is automatically performed, a load is applied to the main body 1, which affects the performance of the image processing apparatus 1. However, as described above, in the second embodiment, the image processing apparatus is affected. The test can be automatically performed without degrading the performance of 1.

<第3の実施例>
図23、24で示すように、第3の実施例においては、サーバ300と画像処理装置1とを直接接続する形態としても良く、サーバ300をユーザが構築したLAN内に設置する形態としても良く、また、サーバ300を画像処理装置1の提供元のLAN内に設置する形態としても良い。こうすることにより、セキュリティの向上を図ることができたり、テスト項目を常に最新にすることができる。また、問題が発生したときの対処を素早く取ることができる。
<Third embodiment>
As shown in FIGS. 23 and 24, in the third embodiment, the server 300 and the image processing apparatus 1 may be directly connected, or the server 300 may be installed in a LAN constructed by the user. In addition, the server 300 may be installed in the LAN of the provider of the image processing apparatus 1. In this way, security can be improved and the test items can always be updated. In addition, it is possible to take a quick action when a problem occurs.

そして、図25、26、27で示すように、第3の実施例における画像処理装置1では、画像処理に係るアプリケーションの機能を拡張するためのプラグインを追加可能となっており、前記プラグインが追加された後に、該プラグインの備えるインタフェースに関する仕様が、前記アプリケーションの要求する該インタフェースに関する仕様と一致するか否かの判定を行うプラグインテスト手段130を有する画像処理装置1であって、サーバ300に本体1の構成(プリントサーバ、ASIC、CPU、メモリ)、追加されたプラグイン情報、本体の使用状況、テスト項目を送る手段と、サーバ300でテストされた結果を受け取る手段と、テスト結果を判断する手段を有することを特徴とする。こうすることにより、本体1に負担を全く掛けずにテストを実施することができる。   As shown in FIGS. 25, 26, and 27, in the image processing apparatus 1 according to the third embodiment, it is possible to add a plug-in for extending an application function related to image processing. Is added to the image processing apparatus 1 having the plug-in test means 130 for determining whether or not the specification related to the interface included in the plug-in matches the specification related to the interface required by the application. Configuration of the main body 1 (print server, ASIC, CPU, memory), added plug-in information, usage status of the main body, test items to the server 300, means for receiving the results tested by the server 300, test It has the means to judge a result, It is characterized by the above-mentioned. By doing so, the test can be carried out without placing any burden on the main body 1.

また、図25、27、28で示すように、第3の実施例における画像処理装置1では、ユーザがプラグイン追加を希望した際に、プラグインを本体1にサーバから取得する前に、サーバ300に本体1の構成(プリントサーバ、ASIC、CPU、メモリ)、追加希望されたプラグイン情報、本体1の使用状況を送り、サーバ300でテストを実施し、その結果によってダウンロードを開始することを特徴とする。こうすることにより、テスト失敗時のダウンロードの時間を削減することができる。   As shown in FIGS. 25, 27, and 28, in the image processing apparatus 1 in the third embodiment, when the user desires to add a plug-in, the server 1 The configuration of the main body 1 (print server, ASIC, CPU, memory), the plug-in information desired to be added, and the usage status of the main body 1 are sent to the 300, and the server 300 performs a test and starts downloading according to the result. Features. By doing this, it is possible to reduce the download time when the test fails.

さらに、図29で示すように、第3の実施例における画像処理装置1では、サーバ300で実施するテストを、ソフトエミュレーション環境によって実施することを特徴とする。こうすることにより、コスト削減を図ることができる。   Furthermore, as shown in FIG. 29, the image processing apparatus 1 according to the third embodiment is characterized in that a test executed in the server 300 is executed in a software emulation environment. In this way, cost reduction can be achieved.

図30、31で示すように、第3の実施例における画像処理装置1では、定期的にサーバに本体1の構成(プリントサーバ、ASIC、CPU、メモリ)、本体1の使用状況を送信しておき、毎日定期的にサーバ300でプラグインに対してテストを行い、ダウンロード可能なプラグインを選定しておくことを特徴とする。こうすることにより、ユーザの手間が減り、ユーザが選択した後のテスト失敗がなくなる。   As shown in FIGS. 30 and 31, in the image processing apparatus 1 in the third embodiment, the configuration of the main body 1 (print server, ASIC, CPU, memory) and the usage status of the main body 1 are periodically transmitted to the server. In addition, the server 300 is periodically tested for plug-ins and a downloadable plug-in is selected. By doing so, the labor of the user is reduced, and there is no test failure after the user selects.

従来、自動でテストを行うことにより、本体1に負荷がかかってしまうため、画像処理装置1の性能に影響が発生していたが、上記のように第3の実施例においては、画像処理装置1の性能を低下させずに自動でテストを行うことができる。   Conventionally, since the test is automatically performed, a load is applied to the main body 1, which affects the performance of the image processing apparatus 1. However, in the third embodiment as described above, the image processing apparatus is affected. The test can be automatically performed without degrading the performance of 1.

(総括)
本発明では、画像処理に係るアプリケーションの機能を拡張するプログラムを追加する際に、該プログラム自体に問題がないか否かの確認を行い、信頼性の高いプログラムのみを追加することにより、堅牢なシステムを有する画像処理装置を提供することができる。
以上、本発明の実施の形態について詳述したが、本発明は係る特定の実施の形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲において、種々の変形・変更が可能である。
(Summary)
In the present invention, when adding a program that expands the function of an application related to image processing, it is confirmed whether or not there is a problem with the program itself, and only a highly reliable program is added, thereby ensuring robustness. An image processing apparatus having the system can be provided.
Although the embodiment of the present invention has been described in detail above, the present invention is not limited to the specific embodiment, and various modifications are possible within the scope of the gist of the present invention described in the claims.・ Change is possible.

1 複合機(画像処理装置)
12 ローカルUI部
22 プラグイン管理部
30 アプリケーションロジック層
31 コピーアクティビティ
32 プリンタアクティビティ
81 記憶装置(MEM−P)
83 記憶装置(HDD)
301 読取フィルタ
311 文書加工フィルタ
321 印刷フィルタ
110 プラグイン登録手段
120 テスト内容抽出手段
130 プラグインテスト手段
140 プラグイン削除手段
150 テスト実行選択手段
160 テスト内容変更手段
170 画像処理テスト手段
180 画像処理手段
190 プラグイン
200 プラグインテストテーブル
210 基本機能確認基準
300 ダウンロードサーバ
1 MFP (image processing device)
12 Local UI unit 22 Plug-in management unit 30 Application logic layer 31 Copy activity 32 Printer activity 81 Storage device (MEM-P)
83 Storage device (HDD)
301 Reading filter 311 Document processing filter 321 Print filter 110 Plug-in registration unit 120 Test content extraction unit 130 Plug-in test unit 140 Plug-in deletion unit 150 Test execution selection unit 160 Test content change unit 170 Image processing test unit 180 Image processing unit 190 Plug-in 200 Plug-in test table 210 Basic function confirmation standard 300 Download server

特開2005−092275号公報Japanese Patent Laying-Open No. 2005-092275

Claims (17)

画像処理に係るアプリケーションの機能を拡張するためのプラグインを追加可能な画像処理装置であって、
前記プラグインが追加される際に、該プラグインの備えるインタフェースに関する仕様が、前記アプリケーションの要求する該インタフェースに関する仕様と一致するか否かの判定を行うプラグインテスト手段を有することを特徴とする画像処理装置。
An image processing apparatus capable of adding a plug-in for extending an application function related to image processing,
When the plug-in is added, there is provided plug-in test means for determining whether or not a specification related to an interface included in the plug-in matches a specification related to the interface required by the application. Image processing device.
前記アプリケーションは、前記画像処理に係るジョブを構成する処理毎に設けられたフィルタであることを特徴とする請求項1に記載の画像処理装置。   The image processing apparatus according to claim 1, wherein the application is a filter provided for each process constituting the job related to the image processing. 前記プラグインテスト手段は、前記プラグインの備えるインタフェースが、前記アプリケーションの要求する該インタフェースと一致するか否かの判定を行うことを特徴とする請求項1又は2に記載の画像処理装置。   The image processing apparatus according to claim 1, wherein the plug-in test unit determines whether an interface included in the plug-in matches the interface requested by the application. 前記プラグインテスト手段は、前記プラグインの備えるインタフェースに関する引数の数が、前記アプリケーションの要求する該インタフェースに関する引数の数と一致するか否かの判定を行うことを特徴とする請求項1乃至3の何れか一に記載の画像処理装置。   The plug-in test means determines whether or not the number of arguments relating to an interface included in the plug-in matches the number of arguments relating to the interface requested by the application. The image processing apparatus according to any one of the above. 前記プラグインテスト手段は、前記プラグインの備えるインタフェースに関する引数の型が、前記アプリケーションの要求する該インタフェースに関する引数の型と一致するか否かの判定を行うことを特徴とする請求項1乃至4の何れか一に記載の画像処理装置。   The plug-in test means determines whether or not an argument type related to an interface included in the plug-in matches an argument type related to the interface requested by the application. The image processing apparatus according to any one of the above. 前記プラグインテスト手段は、前記プラグインの備えるインタフェースの応答時間が、前記アプリケーションの要求する所定の時間内であるか否かの判定を行うことを特徴とする請求項1乃至5の何れか一に記載の画像処理装置。   6. The plug-in test means determines whether or not a response time of an interface included in the plug-in is within a predetermined time requested by the application. An image processing apparatus according to 1. アプリケーションの要求する前記仕様を変更するテスト内容変更手段を有することを特徴とする請求項1乃至6の何れか一に記載の画像処理装置。   The image processing apparatus according to claim 1, further comprising a test content changing unit that changes the specification required by the application. 前記プラグインを追加する際に、該プラグインを記憶する記憶装置と、
前記プラグインテスト手段により、前記プラグインの備えるインタフェースに関する仕様が、前記アプリケーションの要求する該インタフェースに関する仕様と一致しないと判定された場合に、前記プラグインを前記記憶装置から削除するプラグイン削除手段と、を有することを特徴とする請求項1乃至7の何れか一に記載の画像処理装置。
A storage device for storing the plug-in when the plug-in is added;
Plug-in deletion unit that deletes the plug-in from the storage device when it is determined by the plug-in test unit that the specification regarding the interface included in the plug-in does not match the specification regarding the interface requested by the application The image processing apparatus according to claim 1, further comprising:
ユーザによる、前記プラグインテスト手段による処理を実行させるか否かの選択に基づいて、前記プラグインテスト手段による処理を実行するか否かを決定するテスト実行選択手段を有することを特徴とする請求項1乃至8の何れか一に記載の画像処理装置。   The test execution selecting means for determining whether or not to execute the process by the plug-in test means based on the selection by the user whether or not to execute the process by the plug-in test means. Item 9. The image processing apparatus according to any one of Items 1 to 8. 前記プラグインにより機能が拡張される前記アプリケーションを含む前記画像処理が、当該画像処理装置により定められる所定の基準を満たすか否かの判定を行う画像処理テスト手段を有することを特徴とする請求項1乃至9の何れか一に記載の画像処理装置。   The image processing test means for determining whether or not the image processing including the application whose function is expanded by the plug-in satisfies a predetermined standard defined by the image processing apparatus. The image processing apparatus according to any one of 1 to 9. 前記プラグインテスト手段による処理専用のCPU(Central Processing Unit)及び記憶装置を有することを特徴とする請求項1乃至10の何れか一に記載の画像処理装置。   The image processing apparatus according to claim 1, further comprising a CPU (Central Processing Unit) dedicated to processing by the plug-in test means and a storage device. 複数のCPU及び記憶装置を有し、
前記複数のCPU及び記憶装置のうち、不使用の該CPU及び記憶装置を検索し、検索した該CPU及び記憶装置を用いて、前記プラグインテスト手段による処理を実施することを特徴とする請求項1乃至11の何れか一に記載の画像処理装置。
A plurality of CPUs and storage devices;
The CPU and the storage device that are not used among the plurality of CPUs and the storage device are searched, and the processing by the plug-in test unit is performed using the searched CPU and storage device. The image processing apparatus according to any one of 1 to 11.
前記画像処理に係るジョブを優先実行させるために、前記プラグインテスト手段による処理を中断させ、該画像処理に係るジョブの実行が終了した後、前記プラグインテスト手段による処理を再開することを特徴とする請求項2乃至12の何れか一に記載の画像処理装置。   In order to preferentially execute the job related to the image processing, the processing by the plug-in test unit is interrupted, and after the execution of the job related to the image processing is completed, the processing by the plug-in test unit is resumed. The image processing apparatus according to any one of claims 2 to 12. 前記画像処理に係るジョブを実行中に前記プラグインが追加された場合、該画像処理に係るジョブを中断すると共に、前記プラグインテスト手段による処理を優先実行し、該プラグインテスト手段による処理が終了した後、該画像処理に係るジョブを再開することを特徴とする請求項2乃至12の何れか一に記載の画像処理装置。   When the plug-in is added during execution of the job related to the image processing, the job related to the image processing is interrupted, and the processing by the plug-in test unit is preferentially executed, and the processing by the plug-in test unit is performed. The image processing apparatus according to claim 2, wherein the job related to the image processing is resumed after the completion. 当該画像処理装置と接続されるサーバに対し、当該画像処理装置の構成、当該画像処理装置に追加された前記プラグイン情報、当該画像処理装置の使用状況及びテスト項目を通知する手段と、該サーバによるテスト結果を取得する手段とを有し、
前記プラグインテスト手段は、前記テスト結果を判定することを特徴とする請求項1乃至14の何れか一に記載の画像処理装置。
Means for notifying the server connected to the image processing apparatus of the configuration of the image processing apparatus, the plug-in information added to the image processing apparatus, the usage status of the image processing apparatus, and test items; Means for obtaining test results according to
The image processing apparatus according to claim 1, wherein the plug-in test unit determines the test result.
前記サーバから当該画像処理装置に前記プラグインをダウンロードする場合、
前記サーバに対し、当該画像処理装置の構成、当該画像処理装置に追加される前記プラグイン情報、当該画像処理装置の使用状況及びテスト項目を通知する手段と、該サーバによるテスト結果を取得する手段とを有し、
前記プラグインテスト手段は前記テスト結果の判定を行い、該判定の結果に応じて前記プラグインのダウンロードを開始することを特徴とする請求項1乃至15の何れか一に記載の画像処理装置。
When downloading the plug-in from the server to the image processing device,
Means for notifying the server of the configuration of the image processing apparatus, the plug-in information added to the image processing apparatus, the usage status of the image processing apparatus, and test items; and means for acquiring test results from the server And
The image processing apparatus according to claim 1, wherein the plug-in test unit determines the test result and starts downloading the plug-in according to the determination result.
前記サーバにおけるテストは、ソフトエミュレーション環境において実施されることを特徴とする請求項15又は16に記載の画像処理装置。   The image processing apparatus according to claim 15, wherein the test in the server is performed in a software emulation environment.
JP2009055699A 2008-06-06 2009-03-09 Image processing device Expired - Fee Related JP5381179B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009055699A JP5381179B2 (en) 2008-06-06 2009-03-09 Image processing device

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2008149327 2008-06-06
JP2008149327 2008-06-06
JP2009055699A JP5381179B2 (en) 2008-06-06 2009-03-09 Image processing device

Publications (2)

Publication Number Publication Date
JP2010016797A true JP2010016797A (en) 2010-01-21
JP5381179B2 JP5381179B2 (en) 2014-01-08

Family

ID=41702437

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009055699A Expired - Fee Related JP5381179B2 (en) 2008-06-06 2009-03-09 Image processing device

Country Status (1)

Country Link
JP (1) JP5381179B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110347597A (en) * 2019-07-04 2019-10-18 Oppo广东移动通信有限公司 Interface test method, device, storage medium and the mobile terminal of picture servers

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04332050A (en) * 1991-05-07 1992-11-19 Nec Corp Debugger to be restarted from interrupted point at the time of restarting
JPH05323705A (en) * 1992-05-21 1993-12-07 Minolta Camera Co Ltd Image forming device
JPH05346875A (en) * 1990-06-07 1993-12-27 Sun Microsyst Inc Automation testing system for computer application software
JPH06250870A (en) * 1993-02-24 1994-09-09 Victor Co Of Japan Ltd Digital signal processor
JPH10222355A (en) * 1997-01-31 1998-08-21 Toshiba Corp Gui application developing device
JP2000276361A (en) * 1999-03-26 2000-10-06 Oki Electric Ind Co Ltd Program response time predicting device
JP2002182919A (en) * 2000-12-08 2002-06-28 Hitachi Ltd Controller and application installation method
JP2004118494A (en) * 2002-09-26 2004-04-15 Hitachi Software Eng Co Ltd Checking program and checking method for interface between different language programs
JP2004519114A (en) * 2000-07-07 2004-06-24 サイエンス アプリケーションズ インターナショナル コーポレイション Dedicated network switching system with multiple service providers with portal, collaborative applications, and directory services
JP2004326808A (en) * 2003-04-28 2004-11-18 Internatl Business Mach Corp <Ibm> Non-intervening dynamic hot plug of server node in smp, and hot removal
JP2007213404A (en) * 2006-02-10 2007-08-23 Canon Inc Embedded equipment, download method, storage medium and program
JP2008056465A (en) * 2006-09-01 2008-03-13 Sharp Corp Image processor
JP2008065479A (en) * 2006-09-05 2008-03-21 Ricoh Co Ltd Image processor, image processing method and image processing program
JP2008123254A (en) * 2006-11-13 2008-05-29 Nippon Shoken Technology Kk INFLUENCE ANALYSIS TOOL FOR LARGE-SCALE BUSINESS SYSTEM USING Java (R) LANGUAGE PROGRAM

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05346875A (en) * 1990-06-07 1993-12-27 Sun Microsyst Inc Automation testing system for computer application software
JPH04332050A (en) * 1991-05-07 1992-11-19 Nec Corp Debugger to be restarted from interrupted point at the time of restarting
JPH05323705A (en) * 1992-05-21 1993-12-07 Minolta Camera Co Ltd Image forming device
JPH06250870A (en) * 1993-02-24 1994-09-09 Victor Co Of Japan Ltd Digital signal processor
JPH10222355A (en) * 1997-01-31 1998-08-21 Toshiba Corp Gui application developing device
JP2000276361A (en) * 1999-03-26 2000-10-06 Oki Electric Ind Co Ltd Program response time predicting device
JP2004519114A (en) * 2000-07-07 2004-06-24 サイエンス アプリケーションズ インターナショナル コーポレイション Dedicated network switching system with multiple service providers with portal, collaborative applications, and directory services
JP2002182919A (en) * 2000-12-08 2002-06-28 Hitachi Ltd Controller and application installation method
JP2004118494A (en) * 2002-09-26 2004-04-15 Hitachi Software Eng Co Ltd Checking program and checking method for interface between different language programs
JP2004326808A (en) * 2003-04-28 2004-11-18 Internatl Business Mach Corp <Ibm> Non-intervening dynamic hot plug of server node in smp, and hot removal
JP2007213404A (en) * 2006-02-10 2007-08-23 Canon Inc Embedded equipment, download method, storage medium and program
JP2008056465A (en) * 2006-09-01 2008-03-13 Sharp Corp Image processor
JP2008065479A (en) * 2006-09-05 2008-03-21 Ricoh Co Ltd Image processor, image processing method and image processing program
JP2008123254A (en) * 2006-11-13 2008-05-29 Nippon Shoken Technology Kk INFLUENCE ANALYSIS TOOL FOR LARGE-SCALE BUSINESS SYSTEM USING Java (R) LANGUAGE PROGRAM

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110347597A (en) * 2019-07-04 2019-10-18 Oppo广东移动通信有限公司 Interface test method, device, storage medium and the mobile terminal of picture servers
CN110347597B (en) * 2019-07-04 2023-09-26 Oppo广东移动通信有限公司 Interface testing method and device of picture server, storage medium and mobile terminal

Also Published As

Publication number Publication date
JP5381179B2 (en) 2014-01-08

Similar Documents

Publication Publication Date Title
JP5293344B2 (en) Image processing apparatus, software distribution system, installation processing method, and program
JP4597834B2 (en) Image forming apparatus, information processing method, information processing program, and recording medium
US9948810B2 (en) Image forming apparatus, information setting system, and information setting method for controlling setting values by requesting setting information through a network
JP6108219B2 (en) Update management program, update management apparatus, and image processing system
EP3220293A1 (en) Information processing apparatus, information processing system, method for processing information, and program
US20190174015A1 (en) Image processing apparatus associating with external apparatus, control method, and storage medium
JP2006202028A (en) Program management system, its control method, and storage medium
JP2009223699A (en) Information processing apparatus and method
US8839250B2 (en) Image forming apparatus, storage medium, and program system determination
JP2011138375A (en) Operation inhibiting system, image forming device, operation inhibition information providing device, and operation inhibiting method
JP4861765B2 (en) Apparatus, information processing method, information processing program, and recording medium
JP5889827B2 (en) Image forming apparatus and image forming method
JP2001147815A (en) Device and system for forming image
JP5664692B2 (en) Electronic device, image forming apparatus, information processing method, information processing program, and recording medium
JP2004118237A (en) Image forming apparatus and application installing method
JP5381179B2 (en) Image processing device
JP2010072860A (en) Electronic equipment, remote management system, control method, program, and recording medium
JP2006311590A (en) Image forming apparatus and application installing method
US20110010718A1 (en) Electronic device, information processing method, and computer program product having computer-readable information processing program
JP2006099187A (en) Information processor
JP5793872B2 (en) Image forming apparatus, program management method, program management program, and recording medium
JP7119433B2 (en) Equipment, information processing system, information processing method and program
JP4459033B2 (en) Image forming apparatus, terminal apparatus, information processing method, information processing program, and recording medium
JP2005269439A (en) Image forming apparatus, information processing method, information processing program, and recording medium
JP2004127253A (en) Information processing apparatus and version check method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120130

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120620

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130321

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130326

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130517

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130604

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130801

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: 20130903

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130916

R151 Written notification of patent or utility model registration

Ref document number: 5381179

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees