JP2003177927A - Image forming device and interprocess communication method - Google Patents

Image forming device and interprocess communication method

Info

Publication number
JP2003177927A
JP2003177927A JP2002244002A JP2002244002A JP2003177927A JP 2003177927 A JP2003177927 A JP 2003177927A JP 2002244002 A JP2002244002 A JP 2002244002A JP 2002244002 A JP2002244002 A JP 2002244002A JP 2003177927 A JP2003177927 A JP 2003177927A
Authority
JP
Grant status
Application
Patent type
Prior art keywords
service
process
method
image
client
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
JP2002244002A
Other languages
Japanese (ja)
Other versions
JP4052902B2 (en )
Inventor
Shigeya Senda
滋也 千田
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

Links

Abstract

<P>PROBLEM TO BE SOLVED: To obtain an image forming device and an interprocess communication method which can actualize an architecture with variability and a variety of functions and improve software development efficiency. <P>SOLUTION: The image forming device has a user service and a control service concerned in image formation, the user service and control service operating as a server process 202 and client process 201. The client process 201 when requesting the server process 202 to provide the service implements a method of transmitting a service request message and the server process 202 when receiving the service request message implements a method wherein one or more services to be provided for the client process 201 are defined. <P>COPYRIGHT: (C)2003,JPO

Description

【発明の詳細な説明】 【0001】 【発明の属する技術分野】この発明は、画像形成装置およびプロセス間通信方法に係り、特に複数のプロセスがサーバプロセスまたはクライアントプロセスとしてプロセス間通信を行う画像形成装置およびプロセス間通信方法に関する。 BACKGROUND OF THE INVENTION [0001] [Technical Field of the Invention The present invention relates to an image forming apparatus and interprocess communication method, in particular an image forming a plurality of processes to perform inter-process communication as a server process or client process device and a interprocess communication method. 【0002】 【従来の技術】近年、プリンタ、コピー、ファクシミリ、スキャナなどの各装置の機能を1つの筐体内に収納した画像形成装置(以下、「複合機」という。)が一般的に知られている。 [0002] Recently, printers, copying, facsimile, image forming apparatus includes functions in a single housing of the device such as a scanner (hereinafter referred to as "MFP".) It is generally known ing. 【0003】この複合機は、1つの筐体内に表示部、印刷部および撮像部などを設けるとともに、プリンタ、コピーおよびファクシミリ装置にそれぞれ対応する3種類のソフトウェアを設け、ソフトウェアの切り替えによって、当該装置をプリンタ、コピー、スキャナまたはファクシミリ装置として動作させるものである。 [0003] The compound machine includes a display part in a single housing, provided with a like print unit and an imaging unit, a printer, a three software corresponding respectively to the copy and facsimile apparatus provided, by switching the software, the device the printer is intended to operate the copy, as a scanner or a facsimile machine. 【0004】従来の複合機では、内部にプリンタ、コピー、スキャナおよびファクシミリ装置に対応するソフトウェア(汎用OSを含む)をそれぞれ別個に設ける構成となっており、各ソフトウェアの開発に多大の時間を要する。 [0004] In the conventional MFP, it takes the printer, copy, has a respective separately provided configuration software (including generic OS) corresponding to the scanner and a facsimile machine, a great deal of time to the development of the software therein . 【0005】このため、出願人は、ハードウェア・インターフェースをドライブするドライバと呼ばれるソフトウェア群と、メモリ/タイマなどの共通なハードウェア資産を効率良く使用するためのマネージャ・ソフトウェア群や各アプリケーションで共通に使用できるシステム・ユーティリティ・ソフトウェア群と、これらのドライバ・ソフトウェア群,マネージャ・ソフトウェア群,ユーティリティ・ソフトウェア群を使用するプリンタ/スキャナ/FAX送信/FAX受信などの実アプリケーションとを備えた複合機(特開平9−51398号公報, [0005] Therefore, the applicant, common manager software group and each application for a software group called driver for driving the hardware interface, efficient use of common hardware assets, such as memory / Timer and system utility software group that can be used for, these driver software group manager software group, multifunction machine having a real application, such as a printer / scanner / FAX transmitting / FAX reception using the utility software group ( JP-9-51398, JP-
特開平9−91102号公報参照)を発明した。 See Japanese Patent Application Laid-Open No. 9-91102) invented. 【0006】しかしながら、特開平9−51398号公報,特開平9−91102号公報に記載されている複合機は、ドライバ・ソフトウェア群,マネージャ・ソフトウェア群,ユーティリティ・ソフトウェア群がライブラリで構成されており、ハードウェア資源を実行制御する主体となり得なかった。 However, JP-A-9-51398, JP-MFP as described in JP-A-9-91102, the driver software group manager software group, utility software group is constituted by the library , it could not become a subject to execution control the hardware resources. 【0007】そこで、出願人は、表示部、印刷部および撮像部などの画像形成処理で使用されるハードウェア資源を有し、プリンタ、コピーまたはファクシミリなどの各ユーザサービスにそれぞれ固有の処理を行うアプリケーションを複数搭載し、これらのアプリケーションとハードウェア資源との間に介在して、ユーザサービスを提供する際に、アプリケーションの少なくとも2つが共通的に必要とするハードウェア資源の管理、実行制御並びに画像形成処理を行う各種コントロールサービスからなるプラットホームを備えた複合機(特開2002−82 [0007] Therefore, the applicant has a hardware resource used in image forming processing such as a display unit, printing unit and an image pickup unit performs a printer, the respective specific processing to each user service, such as copy or fax application plurality equipped, interposed between these applications and the hardware resources, in providing user services, management of hardware resources at least two applications that require commonly, execution control and image forming processing complex equipped with a platform including various control services performing (JP 2002-82
806号公報参照)を発明した。 See JP 806) invented the. 【0008】なお、ユーザサービスとはユーザに提供する画像形成に係るサービスをいう。 [0008] Incidentally, it refers to a service in accordance with the image formation to provide the user with a user service. また、コントロールサービスとはアプリケーションに画像形成に係るハードウェア資源を提供するサービスをいう。 Further, the control service means a service that provides a hardware resource according to the image formed on the application. 【0009】この複合機によれば、アプリケーションの少なくとも2つが共通的に必要とするハードウェア資源の管理、実行制御並びに画像形成処理を行うプラットホームを備えた構成とすることによって、ソフトウェア開発の効率化を図るとともに、装置全体としての生産性を向上させることが可能となる。 According to the MFP, by at least 2 of the application is to be configured with a platform to perform the hardware management of the resources, execution control and image formation processing which requires commonly, the efficiency of software development strive to, it is possible to improve the productivity of the entire apparatus. 【0010】 【発明が解決しようとする課題】このような複合機では、アプリケーションの少なくとも2つが共通的に必要とするサービスを提供するコントロールサービスを有する構成となっているため、機能変更、機能追加、または将来的なハードウェア資源の追加、変更などに柔軟に対応すべく、アプリケーションごとあるいはコントロールサービスごとの追加、変更を容易に行えることが望まれる。 [0010] [Problems that the Invention is to Solve In such a multifunction device, since at least two applications is configured to have a control service that provides a service that requires commonly, feature changes, function addition , or additional future hardware resources in order to respond flexibly to such changes, additional per-application or per control service, it is desirable to enable easy change. また、ユーザサービスを提供する際に、各アプリケーションと各コントロールサービス間、あるいは各コントロールサービス間でサービスやデータの授受を円滑に行うことが必要となってくる。 Further, when providing user services, between each application and each control service, or be performed smoothly services and data exchange between the control service becomes necessary. 【0011】すなわち、複合機は、プリンタ、コピー、 [0011] In other words, complex machine, a printer, copy,
ファクシミリ、スキャナなど多種の機能を備えたものであるが、その一部の機能に故障あるいは仕様変更などが生じた場合に、全てのアプリケーションまたは全てのコントロールサービスのモジュールを修正しなければならないと、作業の労力が過大となる。 Facsimile, the which was provided with a variety of functions such as a scanner, when the malfunction or specification change occurs in a part of the function, must be modified every application or module all control service, effort of the work becomes excessive. 【0012】また、将来的に、複合機に新たな機能を追加する場合でも一部の機能の追加のために全てのコントロールサービスや全てのアプリケーションのモジュール変更が必要となると、プログラム開発の労力が過大となってしまう。 [0012] In addition, in the future, and additional modules change of all of the control services and all of the applications for some of the features, even if you want to add a new function to the MFP becomes necessary, the effort of program development it becomes excessive. このため、複合機上で動作する各アプリケーションや各コントロールサービスのモジュールは互いにサービスやデータの送受信を実現としながらも、モジュール間の独立性を維持していることが必要となってくる。 Therefore, the module of each application and each control service operating in the composite machine while the transmission and reception of services and data as implemented together, it becomes necessary to maintain independence between modules. 【0013】言い換えれば、各アプリケーションや各コントロールサービスごとに独立性がないと、必要なアプリケーションや必要なコントロールサービスのみを提供することが困難となり、機能変更や機能追加などに柔軟に対応できるような複合機の構成に可変性を持たせることができないという問題がある。 [0013] In other words, if there is no independent for each application and each control service, it is difficult to provide only the necessary applications and the required control services, such as flexible response to a function change or enhancement it is impossible to have a variability in the configuration of the MFP. 【0014】また、各アプリケーションや各コントロールサービスごとに独立性がないと、モジュール間のデータの送受信の実現方法の開発も困難になる。 Further, if there is no independent for each application and each control service, it becomes difficult the development of a method for realizing the transmission and reception of data between modules. さらにはアプリケーションやコントロールサービスごとの設計および構築が困難になり、その結果、多種多様な機能を提供することができないという問題がある。 Further becomes difficult to design and construction of each application and control services, as a result, it is impossible to provide a wide variety of functions. 【0015】とくに、複合機はプリンタ、コピー、スキャナ、ファックスなど多機能が搭載されたものであるため、ネットワークに接続してPC(Personal Compute [0015] Particularly, since the MFP printer, in which copying, scanning, faxing, etc. multifunctional is mounted, connected to a network PC (Personal Compute
r)などから複数の機能を連続的に使用したい場合がある。 r) there is if you want to continuously use a plurality of functions and the like. しかしながら、従来の複合機では機能ごとのコマンドなどで別個に要求する必要がある。 However, in the conventional MFP it needs to request separately like command for each function. 【0016】また、複合機は提供可能なサービスがすべて統一されているわけではなく、例えばプリンタ機能とコピー機能のみを提供できる複合機やこれに加えてファックス送信機能を提供できる複合機などが存在する。 Further, the MFP is not necessarily are unified all providable services, there are, for example, a printer function and a copy function only can provide MFPs and which in addition to the MFP capable of providing a facsimile transmission function to. このような提供機能の異なる複数の複合機をネットワークに接続した場合において、たとえば、ある複合機に対してファックス送信要求を行ったところ、その複合機ではファックス送信機能が搭載されていない場合、ユーザは改めて別の複合機に対してファックス送信要求を行わなければならない。 If in the case of connecting a plurality of MFP having different such provides capabilities to the network, for example, was subjected to facsimile transmission request to a certain MFP, fax transmission function is not installed in the MFP, the user It must perform a fax transmission request to again another MFP. 【0017】このように、従来の複合機をネットワークに接続して使用する場合には、多種多様な機能を効率的に提供することができないという問題がある。 [0017] Thus, when used in connection with conventional MFP to a network, it is impossible to provide various functions efficiently. 【0018】この発明は上記に鑑みてなされたもので、 [0018] The present invention has been made in view of the above,
可変性のあるアーキテクチャおよび多種多様な機能を実現することができるとともに、ソフトウェア開発効率の向上を図ることができる画像形成装置およびプロセス間通信方法を得ることを主な目的とする。 It is possible to realize a variable of one architecture and various functions, the main purpose of obtaining an image forming apparatus and interprocess communication method that can improve the software development efficiency. 【0019】また、この発明はネットワークに画像形成装置を接続して使用する場合に、多種多様な機能を効率的に提供することができる画像形成装置およびプロセス間通信方法を得ることを目的とする。 Further, the present invention when used to connect the image forming apparatus to a network, and to obtain an image forming apparatus and interprocess communication method capable of providing various functions efficiently . 【0020】 【課題を解決するための手段】上記目的を達成するため、請求項1にかかる発明は、画像形成処理で使用されるハードウェア資源と、画像形成に係るユーザサービスおよびコントロールサービスの処理を行う一または複数のプログラムとを有する画像形成装置であって、前記ユーザサービスおよびコントロールサービスのそれぞれは、一または複数のメソッドを有するオブジェクトから生成されたサーバプロセスまたはクライアントプロセスとして動作するものであり、前記クライアントプロセスは、前記サーバプロセスに対しサービスの提供を要求する際に、サービス要求メッセージを送信するメソッドを実行し、前記サーバプロセスは、前記サービス要求メッセージを受信したときに、前記クライアントプロセスに対して提 [0020] [Means for Solving the Problems] To achieve the above object, the invention according to claim 1, the hardware resources used in image forming processing, processing of user service and control service according to the image forming an image forming apparatus having a one or more programs for each of the user service and the control service, which operates as a server process or client process generated from the object having one or more methods the client process in requesting the provision of service to said server process, perform the method of transmitting the service request message, the server process, upon receiving the service request message, the client process Hisage for 供する一または複数のサービスを定義したメソッドを実行することを特徴とする。 And executes a method defined one or more services to be subjected. 【0021】この請求項1の発明によれば、ユーザサービスおよびコントロールサービスの相互間で、メソッド実行によるメッセージの送受信によってプロセス間通信を実現することができる。 According to the invention of claim 1, between each other the user service and the control service, it is possible to realize a communication between processes by sending and receiving messages by method execution. 【0022】このため、ユーザサービスおよびコントロールサービスを備えた構成を有する画像形成装置において、各ユーザサービスおよび各コントロールサービスの間の独立性を維持しながら互いにサービスやデータの授受をメッセージ送受信というプロセス間通信によって実現することができ、機能的に多様性のある画像形成装置を提供することができる。 [0022] Therefore, in an image forming apparatus having a configuration with a user service and the control service, between processes that message communication exchange services and data to one another while maintaining independency between the user service and the control service can be realized by a communication, it is possible to provide an image forming apparatus having the functionally diverse. 【0023】また、ユーザサービスとコントロールサービスのそれぞれは、一または複数のメソッドを有するオブジェクトであるため、ユーザサービスやコントロールサービスの一部のモジュールにのみ変更がある場合や、 Further, and if each of the user service and the control service, since it is an object having one or more methods, there is a change only in a part of the module of the user service and the control service,
必要に応じてコントロールサービス、ユーザサービスなどを適宜、追加する場合でも、サーバプロセスとなるモジュール側でメッセージ受信したときにサービス処理を実行するメソッドを実装し、クライアントプロセスとなるモジュール側でサービス要求メッセージを送信するメソッドを実装するというインタフェースを確保しておけば、サービスやデータの授受が可能となるので、ユーザサービスやコントロールサービスの追加または変更などのソフトウェア開発効率を向上させることができ、画像形成装置を可変性を持った構成とすることができる。 Optionally control services, as appropriate user service, even when adding, to implement a method for executing a service processing when the message received by the module side as the server process, the service request message module side as a client process if to secure the interface that implements a method for transmitting, since exchange of services and data can be, it is possible to improve the software development efficiency, such as the addition or modification of a user service and the control service, an image forming the device can be configured with a variable. 【0024】さらに、ユーザサービスとコントロールサービスのそれぞれは、サーバプロセスまたはクライアントプロセスとして動作するプロセスであるため、複数のユーザサービスや複数のコントロールサービスをそれぞれ別個のプロセスとして動作させることにより、他のユーザサービスまたは他のコントロールサービスのプロセスが停止した場合でも動作中の他のプロセスは影響を受けない。 Furthermore, each of the user service and the control service, because it is a process that runs as a server process or client process, by a plurality of user service and multiple control services each operating as a separate process, another user other processes running even if the service or other control service of process is stopped is not affected. 【0025】このため、一部のプロセスが停止した場合でも他の一部の複合サービスを続行して提供することができ、すべての複合サービスが提供不可能になることを防止することができる。 [0025] Therefore, it is possible to some processes can be provided to continue the other part of the composite service even when stopped, all of the composite service is prevented from becoming impossible provided. 【0026】加えて、ユーザサービスとコントロールサービスのそれぞれは、一または複数のメソッドを有するオブジェクトであるため、各オブジェクトのデータの隠蔽を図ることができる。 [0026] In addition, each of the user service and the control service, since it is an object having one or more methods, it is possible to conceal the data of each object. このため、ユーザサービスの開発をサードベンダなどの外部に委託した場合でも、コントロールサービスの内容の隠蔽を図ることが可能となる。 For this reason, even if you have entrusted the development of user services to the outside, such as a third vendor, it is possible to achieve a concealment of the contents of the control services. 【0027】ここで、「サーバプロセス」とは、他のプロセスからの要求により、要求されたサービスを提供するプロセスをいい、サービスを提供する限り、ユーザサービスおよびコントロールサービスのいずれもサーバプロセスとして動作する。 [0027] Here, the "server processes", in response to a request from another process, refers to the process of providing the requested service, as long as it provides the service, operation none of the user service and the control service as a server process to. 【0028】また、「クライアントプロセス」とは、サーバプロセスからサービスの提供を受けるプロセスをいい、サービスの提供を受ける限り、ユーザサービスおよびコントロールサービスのいずれもクライアントプロセスとして動作する。 [0028] In addition, the "client process", refers to the process of receiving the service from the server process, as long as they receive the provision of services, none of the user service and the control service to operate as a client process. 【0029】また、請求項2にかかる発明は、前記ユーザサービスは、前記コントロールサービスをサーバプロセスとしたクライアントプロセスとして動作して、前記コントロールサービスにサービスの提供を要求する際に、前記コントロールサービスに対し前記サービス要求メッセージを送信するメソッドを実行し、前記コントロールサービスは、前記サービス要求メッセージを受信したときに、前記ユーザサービスの少なくとも2つが共通的に必要とするサービスを定義したメソッドを実行することを特徴とする。 [0029] The invention according to claim 2, wherein the user service, the control service and operates as a client process and a server process, when required to provide service to the control service, the control service run the method for transmitting the service request message against the control service, upon receiving the service request message, said at least two user services that perform methods that defines the services that require commonly the features. 【0030】この請求項2の発明によれば、ユーザサービスに対するコントロールサービスからのサービスの提供をメソッド実行によるメッセージ送受信というプロセス間通信によって実現することができ、ユーザサービスを用いた可変性および多様性のある画像形成装置の提供が可能となる。 According to the second aspect of the invention, it can be realized by interprocess communication that the message transmission and reception by the method execution to provide services from the control service to the user service, variability and diversity with user services it is possible to provide an image forming apparatus having the. 【0031】また、請求項3にかかる発明は、前記コントロールサービスは、他のコントロールサービスをサーバプロセスとしたクライアントプロセスとして動作して、前記他のコントロールサービスにサービスの提供を要求する際に、前記他のコントロールサービスに対し前記サービス要求メッセージを送信するメソッドを実行し、前記他のコントロールサービスは、前記サービス要求メッセージを受信したときに、前記コントロールサービスの少なくとも2つが共通的に必要とするサービスを定義したメソッドを実行することを特徴とする。 Further, according invention in claim 3, wherein the control service may operate other controls services as a client process and server process, when required to provide services to the other control services, the run the method to transmit other control services to said service request message, the other control services, upon receiving the service request message, the service at least two require commonly the control service and executes the defined method. 【0032】この請求項3の発明によれば、コントロールサービス間のサービスの提供をメソッド実行によるメッセージ送受信というプロセス間通信によって実現することができ、コントロールサービスを用いた可変性および多様性のある画像形成装置の提供が可能となる。 The image according to the invention of claim 3, it is possible to realize the provision of services between the control service by interprocess communication that the message transmission and reception by method execution, with a variable and versatility with Control Service providing a forming apparatus. 【0033】また、請求項4にかかる発明は、前記コントロールサービスは、前記サーバプロセスとして動作するとともに前記クライアントプロセスとして動作することを特徴とする。 [0033] The invention according to claim 4, wherein the control service is characterized by operating as the client process with operating as the server process. 【0034】この請求項4の発明によれば、ユーザサービスとコントロールサービス間の双方向のサービスの提供、およびコントロールサービス間の双方向のサービスの提供をメソッド実行によるメッセージ送受信というプロセス間通信によって実現することができ、より可変性および多様性のある画像形成装置の提供が可能となる。 The realization according to the invention as claimed in claim 4, provides two-way service between user services and the control services, and the provision of interactive services between the control service by interprocess communication that the message transmission and reception by method execution it can be, it is possible to provide more variability and image forming apparatus having the diversity. 【0035】また、請求項5にかかる発明は、前記ユーザサービスと前記コントロールサービスの各プロセスは、一または複数のスレッドを含むことを特徴とする。 [0035] The invention according to claim 5, each process of the control service and the user service is characterized in that it comprises one or more threads. 【0036】この請求項5の発明によれば、独立して動作する必要のない機能を同一プロセス内の複数スレッドに割り当てて並列に実行させることが可能となる。 According to the invention of claim 5, it is possible to execute in parallel with no need to operate independently function assigned to multiple threads within the same process. 【0037】また、スレッド単位での実行制御の切り替えは、主記憶空間を共有し主記憶空間の切り替えが不要で、カウンタやレジスタの切り替えというオーバヘッドの少ない切り替えのみで実現できるため、別個の主記憶空間を使用して主記憶空間の切り替えが必要なプロセス単位の切り替えに比べて、切り替え時のオーバヘッドが少ない。 Further, switching of the execution control of thread unit, a main memory space to share an unnecessary switching of the main storage space, can be realized only with a small switching overheads that switching of the counter and registers, separate main memory compared to the switching of the switching required process unit in the main memory space using space, less overhead at the time of switching. 【0038】このため、ユーザサービスおよびコントロールサービスの各プロセス内に一または複数のスレッドを起動して並列実行を行うことにより、コピー、プリンタなどのユーザサービスの並列実行時の処理速度を向上させることができる。 [0038] Thus, by performing parallel execution start one or more threads in user service and control services in each process, to improve the copy, the processing speed during parallel execution of user services such as a printer can. 【0039】また、請求項6にかかる発明は、画像形成処理で使用されるハードウェア資源と、画像形成に係るユーザサービスおよびコントロールサービスの処理を行う一または複数のプログラムとを有する画像形成装置であって、一または複数のサービス要求を含むエージェントを受信し、該エージェントのサービス要求ごとに一または複数の前記コントロールサービスを選定して、選定された前記コントロールサービスに対してサービス要求を行うエージェント処理手段を備えたことを特徴とする。 [0039] The invention according to claim 6, in the image forming apparatus having hardware resources used in image forming processing, and one or more programs for processing user service and control service according to the image forming there are one or receives an agent comprising a plurality of service requests, and selects one or more of the control service for each service request of the agent, the agent process for service request to the selected by said control service characterized by comprising a means. 【0040】この請求項6の発明によれば、サービスの提供を受ける側は複数のサービス要求を一度に行えば、 According to the invention of claim 6, the side receiving the service by performing a plurality of service request at a time,
必要なコントロールサービスが自律的に判断されるので、連続的なサービスの提供を効率よく行うことができる。 Since control service required is autonomously determined, it is possible to provide continuous service efficiently. 【0041】また、複数のサービス要求を一度行えば連続的なサービスの提供を行えるので、個々のサービス要求ごとにネットワークを占有する必要がなくなり、ネットワークの負荷を軽減することができる。 Further, since allows to provide continuous service be performed a plurality of service requests once, it is not necessary to occupy the network for each individual service request, it is possible to reduce the load on the network. 【0042】この請求項6にかかる発明において、コントロールサービスが動作している画像形成装置は、ユーザサービスおよびコントロールサービスを搭載可能であればその構成は限定されるものではない。 [0042] In the invention according to the claim 6, the image forming apparatus control service is running, mounted if its configuration user service and the control service is not intended to be limiting. 【0043】すなわち、当該画像形成装置は、サービスを提供するコントロールサービスが1つでも搭載されていれば良く、ユーザサービスが未搭載の画像形成装置や、コントロールサービスが1個のみ搭載されている画像形成装置も含まれる。 [0043] That is, the image the image forming apparatus has only to be mounted even one controls service for providing services, user services that are mounted and the image forming apparatus not installed control services only one forming apparatus is also included. 【0044】また、請求項7にかかる発明は、前記エージェント処理手段は、前記サービス要求に必要なコントロールサービスが正常動作しているか否かを判断し、正常動作してない場合に、ネットワークを介して接続された他の画像形成装置に前記エージェントを送信することを特徴とする。 [0044] The invention according to claim 7, wherein the agent processing unit determines whether the control services needed for the service request is operating normally, when not in normal operation, via the network and transmitting the agent to the other image forming apparatuses connected Te. 【0045】この請求項7の発明によれば、サービス要求に必要なコントロールサービスを自己の画像形成装置だけでなくネットワーク上の画像形成装置からも自律的に判断しているので、サービスの提供を受ける側は、一つの画像形成装置に対しサービス要求を行えばネットワーク上の複数の画像形成装置にアクセスする必要がなく、効率的なサービスの提供を受けることができる。 [0045] According to the invention of claim 7, since the autonomously determine also the control service required for the service request from the image forming apparatus on the network as well as the own image forming apparatus, the provision of services receiving side does not need to access the plurality of image forming apparatuses on the network by performing the service request to one of the image forming apparatus, it can be provided with efficient service. 【0046】また、サービスの提供を受ける側は、何度もネットワークを介して画像形成装置との間でメッセージの送受信を行う必要がなくなるので、ネットワークの負荷を軽減することができる。 [0046] Also, the side receiving the service, it becomes unnecessary to send and receive messages to and from the image forming apparatus via the well network repeatedly, it is possible to reduce the load on the network. 【0047】また、請求項8にかかる発明は、前記エージェント処理手段は、さらに、前記サービス要求ごとに一または複数の前記ユーザサービスを選定して、選定された前記ユーザサービスに対してサービス要求を行うことを特徴とする。 [0047] The invention according to claim 8, wherein the agent processing unit may further be selected one or more of the user service for each of the service request, the service request to the selected by said user service and performing. 【0048】この請求項8の発明によれば、サービスの提供を受ける側は複数のサービス要求を一度に行えば、 [0048] According to the invention of the eighth aspect, the side receiving the service by performing a plurality of service request at a time,
必要なユーザサービスが自律的に判断されるので、連続的なサービスの提供を効率よく行うことができる。 Since the user required services are autonomously determined, it is possible to provide continuous service efficiently. 【0049】また、連続的なサービスの提供を行えるので、個々のサービス要求ごとにネットワークを占有する必要がなくなり、ネットワークの負荷を軽減することができる。 [0049] Further, since allows to provide continuous service, there is no need to occupy the network for each individual service request, it is possible to reduce the load on the network. 【0050】また、請求項9にかかる発明は、前記エージェント処理手段は、前記サービス要求に必要な前記ユーザサービスが正常動作しているか否かを判断し、正常動作していない場合に、ネットワークを介して接続された他の画像形成装置に前記エージェントを送信することを特徴とする。 [0050] Also, when the invention according to claim 9, wherein the agent processing unit, which determines whether the user services needed for the service request is operating normally, no normal operation, the network and transmitting the agent to the connected another image forming apparatus via. 【0051】この請求項9の発明によれば、サービス要求に必要なユーザサービスを自己の画像形成装置だけでなくネットワーク上の画像形成装置からも自律的に判断しているので、サービスの提供を受ける側は一つの画像形成装置に対しサービス要求を行えばネットワーク上の複数の画像形成装置にアクセスする必要がなく、効率的なサービスの提供を受けることができる。 [0051] According to the invention of claim 9, since the autonomously determine also the user service required for the service request from the image forming apparatus on the network as well as the own image forming apparatus, the provision of services receiving side does not need to access the plurality of image forming apparatuses on the network by performing the service request to one of the image forming apparatus, it can be provided with efficient service. 【0052】また、サービスの提供を受ける側は、何度もネットワークを介して画像形成装置との間でメッセージの送受信を行う必要がなくなるので、ネットワークの負荷を軽減することができる。 [0052] Also, the side receiving the service, it becomes unnecessary to send and receive messages to and from the image forming apparatus via the well network repeatedly, it is possible to reduce the load on the network. 【0053】また、請求項10にかかる発明は、前記ユーザサービスに含まれ、前記エージェント処理手段として動作するエージェントアプリをさらに備えたことを特徴とする。 [0053] The invention according to claim 10, wherein included in the user service, characterized by further comprising an agent application that operates as the agent processing unit. 【0054】この請求項10の発明によれば、コントロールサービスとエージェントアプリとのプロセス間通信をアプリケーションインタフェースを用いて行うことができ、エージェントアプリのソフトウェア開発労力を軽減することができる。 [0054] By this method 10 can be performed using the application interface interprocess communication between the control service and the agent application, it is possible to reduce the software development effort agent application. 【0055】また、請求項11にかかる発明は、前記コントロールサービスは、ネットワークを介して接続された他の画像形成装置で動作するクライアントプロセスに対するサーバプロセスとして動作し、前記他の画像形成装置のクライアントプロセスに提供する一または複数のサービスを定義したメソッドを有するオブジェクトであることを特徴とする。 [0055] The invention according to claim 11, wherein the control service operates as a server process to a client process running on other image forming apparatus connected via a network, the client of the other image forming apparatus characterized in that it is a object having a method defined one or more services provided to the process. 【0056】この請求項11の発明によれば、コントロールサービスはネットワーク上の他の画像形成装置で動作するプロセスをクライアントとしたサーバプロセスとしてメソッド実行によるサービスの提供によりプロセス間通信を実現することができ、同一の画像形成装置内のプロセスだけでなく、ネットワーク上の画像形成装置に対してもサービスの提供が可能となり、多種多様な機能を実現することができる。 [0056] According to the invention of claim 11, the control service is possible to realize a communication between processes by providing services by method execution as a server process that the process running the client in another image forming apparatus on the network can not only processes in the same image forming apparatus, offering services to the image forming apparatus on the network is possible, it is possible to realize various functions. 【0057】また、請求項12にかかる発明は、前記コントロールサービスの各プロセスは、前記他の画像形成装置のクライアントプロセスに提供するサービスを定義したメソッドを実行する一または複数のスレッドを生成するものであることを特徴とする。 [0057] The invention according to claim 12, each process of the control service, which generates one or more threads executing the method that defines the services provided to the client process of the other image forming apparatus and characterized in that. 【0058】この請求項12の発明によれば、ネットワーク上の他の画像形成装置で動作するアプリケーションなどのユーザサービスのプロセスに提供するサービスを並列実行させることができる。 [0058] According to the invention of claim 12, the service provided to the user service in the process, such as applications running on other image forming apparatus on the network can be executed in parallel. 【0059】このため、例えば、ネットワーク上の異なる複数の画像形成装置のクライアントプロセスから同時にサービス要求があった場合でも、実行制御の切り替えの速いスレッドでサービスを並列実行させるので、ネットワーク上の複数の画像形成装置へのサービスの提供を迅速に行うことが可能となる。 [0059] Thus, for example, even if a service request simultaneously from the client process of a plurality of image forming apparatuses having different on the network, since parallel to execute the service at a faster execution control of switching threads, a plurality of the network it is possible to perform the provision of services to the image forming apparatus quickly. 【0060】また、請求項13にかかる発明は、前記コントロールサービスは、前記他の画像形成装置で動作するユーザサービスをクライアントプロセスとしたサーバプロセスとして動作することを特徴とする。 [0060] The invention according to claim 13, wherein the control service, characterized in that it operates as a server process that the user service and the client processes running the other image forming apparatus. 【0061】この請求項13の発明によれば、ネットワーク上の他の画像形成装置で動作するユーザサービスのプロセスに対してコントロールサービスの機能を提供することができる。 [0061] According to the invention of claim 13 can provide a function of the control services to users service processes operating in other image forming apparatus on the network. 【0062】また、コントロールサービスがネットワーク上の画像形成装置内に存在しない場合や使用できない場合でも、メソッド実行によって当該ネットワーク上の画像形成装置にコントロールサービスの機能を提供できるので、ネットワークを利用した複数の画像形成装置間でコントロールサービスの機能の共有化を実現することが可能となる。 [0062] Also, even when the control service or unavailable does not exist in the image forming apparatus on the network, since the method execution can provide the functionality of the control service to an image forming apparatus on the network, a plurality using a network it is possible to realize the sharing of functions of the control services between the image forming apparatus. 【0063】また、請求項14にかかる発明は、前記コントロールサービスは、前記他の画像形成装置で動作するコントロールサービスをクライアントプロセスとしたサーバプロセスとして動作することを特徴とする。 [0063] The invention according to claim 14, wherein the control service is characterized by operating the control service which operates in the other image forming apparatus as a server process and the client process. 【0064】この請求項14の発明によれば、ネットワーク上の他の画像形成装置で動作するコントロールサービスに対してコントロールサービスの機能を提供することができる。 [0064] According to the invention of claim 14 can provide a function of the control services to control service which operates in other image forming apparatus on the network. 【0065】また、あるコントロールサービスがネットワーク上の画像形成装置内に存在しない場合や使用できない場合でも、メソッド実行によって当該ネットワーク上の画像形成装置にコントロールサービスの機能を提供できるので、ネットワークを利用した複数の画像形成装置間でコントロールサービスの機能の共有化を実現することが可能となる。 [0065] Also, even if there Control Service or unavailable does not exist in the image forming apparatus on the network, it is possible to provide a function of the control service to an image forming apparatus on the network by the method execution, using a network it is possible to realize the sharing of functions of the control services between a plurality of image forming apparatus. 【0066】また、請求項15にかかる発明は、前記コントロールサービスは、前記他の画像形成装置で動作するコントロールサービスをサーバプロセスとしたクライアントプロセスとして動作することを特徴とする。 [0066] The invention according to claim 15, wherein the control service, characterized in that it operates as a client process and control service server processes running the other image forming apparatus. 【0067】この請求項15の発明によれば、コントロールサービスはネットワーク上のコントロールサービスからサービスの提供を受けることができる。 [0067] According to the invention of claim 15, the control service can receive the service from the control service on the network. また、ネットワーク上の画像形成装置でコントロールサービスが使用できない場合でも、メソッド実行によるメッセージ送信というプロセス間通信によって、ネットワーク上の画像形成装置のコントロールサービスからのサービスの提供を受けることができるので、ネットワークを利用した複数の画像形成装置間でコントロールサービスの機能の共有化を実現することが可能となる。 Further, even when the control service by the image forming apparatus on the network is not available, the inter-process communication that the message sent by the method execution, it is possible to receive the service from the control service of the image forming apparatus on the network, the network it is possible to realize the sharing of functions of the control services between a plurality of image forming apparatus using the. 【0068】また、請求項16にかかる発明は、画像形成処理で使用されるハードウェア資源と、画像形成に係るユーザサービスおよびコントロールサービスの処理を行う一または複数のプログラムとを有する画像形成装置でプロセス間通信を行うプロセス間通信方法であって、 [0068] The invention according to claim 16, in the image forming apparatus having hardware resources used in image forming processing, and one or more programs for processing user service and control service according to the image forming a interprocess communication method for performing inter-process communication,
前記ユーザサービスおよびコントロールサービスのそれぞれを、一または複数のメソッドを有するオブジェクトから生成されたサーバプロセスまたはクライアントプロセスとして実行するプロセス実行ステップと、前記クライアントプロセスから前記サーバプロセスに対しサービスの提供を要求する際に、サービス要求メッセージを送信するメソッドを実行するメッセージ送信ステップと、 Each of the user service and control service requests and process execution step of executing as a server process or client process generated from the object, the provision of service to said server process from said client process with one or more methods when a message transmission step of executing a method for transmitting a service request message,
前記サーバプロセスが前記サービス要求メッセージを受信し、前記クライアントプロセスに対して提供する一または複数のサービスを定義したメソッドを実行するサービス実行ステップとを含んだことを特徴とする。 The server process receives the service request message, characterized in that it includes a service execution step of executing the method defined one or more services to be provided to the client process. 【0069】この請求項16の発明によれば、ユーザサービスおよびコントロールサービスの相互間で、メソッド実行によるメッセージの送受信によってプロセス間通信を実現することができる。 [0069] According to the invention of claim 16, between each other the user service and the control service, it is possible to realize a communication between processes by sending and receiving messages by method execution. 【0070】このため、ユーザサービスおよびアプリケーションに共通するサービスを提供するコントロールサービスを備えた構成を有する画像形成装置において、各ユーザサービスおよび各コントロールサービスの間の独立性を維持しながら互いにサービスやデータの授受をメッセージ送受信というプロセス間通信によって実現することができ、画像形成装置に機能的に多様性を持たせることができる。 [0070] Therefore, in the image forming apparatus has a configuration in which the control service which provides a service that is common to the user services and applications, services and data to one another while maintaining independency between the user service and the control service the transfer can be achieved by inter-process communication that the message transmission and reception, it is possible to have a functionally diversity image forming apparatus. 【0071】また、ユーザサービスとコントロールサービスのそれぞれは、一または複数のメソッドを有するオブジェクトであるため、ユーザサービスやコントロールサービスの一部のモジュールにのみ変更がある場合や、 [0071] In addition, and if each of the user service and the control service, since it is an object having one or more methods, there is a change only in a part of the module of the user service and the control service,
必要に応じてコントロールサービス、ユーザサービスなどを適宜、追加する場合でも、サーバプロセスとなるモジュール側でメッセージ受信したときにサービス処理を実行するメソッドを実装し、クライアントプロセスとなるモジュール側でサービス要求メッセージを送信するメソッドを実装するというインタフェースを確保しておけば、サービスやデータの授受が可能となるので、ユーザサービスやコントロールサービスの追加または変更などのソフトウェア開発効率を向上させることができ、画像形成装置を可変性を持った構成とすることができる。 Optionally control services, as appropriate user service, even when adding, to implement a method for executing a service processing when the message received by the module side as the server process, the service request message module side as a client process if to secure the interface that implements a method for transmitting, since exchange of services and data can be, it is possible to improve the software development efficiency, such as the addition or modification of a user service and the control service, an image forming the device can be configured with a variable. 【0072】さらに、ユーザサービスとコントロールサービスのそれぞれは、サーバプロセスまたはクライアントプロセスとして動作するプロセスとして実行されるため、複数のユーザサービスや複数のコントロールサービスをそれぞれ別個のプロセスとして動作させることにより、他のユーザサービスまたは他のコントロールサービスのプロセスが停止した場合でも動作中の他のプロセスは影響を受けない。 [0072] Further, each of the user service and the control service, to be executed as a process which operates as a server process or client process, by a plurality of user service and multiple control services each run as a separate process, other of other processes running even if the user service or other control service of process is stopped it is not affected. 【0073】このため、一部のプロセスが停止した場合でも他の一部の複合サービスを続行して提供することができ、すべての複合サービスが提供不可能になることを防止することができる。 [0073] Therefore, it is possible to some processes can be provided to continue the other part of the composite service even when stopped, all of the composite service is prevented from becoming impossible provided. 【0074】加えて、ユーザサービスとコントロールサービスのそれぞれは、一または複数のメソッドを有するオブジェクトであるため、各オブジェクトのデータの隠蔽を図ることができる。 [0074] In addition, each of the user service and the control service, since it is an object having one or more methods, it is possible to conceal the data of each object. このため、ユーザサービスの開発をサードベンダなどの外部に委託した場合でも、コントロールサービスの内容の隠蔽を図ることが可能となる。 For this reason, even if you have entrusted the development of user services to the outside, such as a third vendor, it is possible to achieve a concealment of the contents of the control services. 【0075】また、請求項17にかかる発明は、画像形成処理で使用されるハードウェア資源と、画像形成に係るユーザサービスおよびコントロールサービスの処理を行う一または複数のプログラムとを有する画像形成装置でプロセス通信を行うプロセス間通信方法あって、一または複数のサービス要求を含むエージェントを受信するエージェント受信ステップと、前記エージェントのサービス要求ごとに一または複数の前記コントロールサービスのプロセスを選定して、選定された前記コントロールサービスのプロセスに対してサービス要求を行うエージェント処理ステップとを含んだことを特徴とする。 [0075] The invention according to claim 17, in the image forming apparatus having hardware resources used in image forming processing, and one or more programs for processing user service and control service according to the image forming there interprocess communication method for performing process communication, and selecting the agent receiving step of receiving an agent comprising one or more service requests, the process of one or more of the control service for each service request of said agent, selected characterized in that it contains an agent processing step of performing a service request to the control service for processes. 【0076】この請求項17の発明によれば、サービスの提供を受ける側は複数のサービス要求を一度に行えば、必要なコントロールサービスのプロセスが自律的に判断されるので、連続的なサービスの提供を効率よく行うことができる。 [0076] According to the invention of claim 17, if the side receiving the offer of services performed multiple service request at a time, since the control service of the process required is autonomously determined, continuous service it can be carried out efficiently provided. 【0077】また、複数のサービス要求を一度行えば連続的なサービスの提供を行えるので、個々のサービス要求ごとにネットワークを占有する必要がなくなり、ネットワークの負荷を軽減することができる。 [0077] Further, since allows to provide continuous service be performed a plurality of service requests once, it is not necessary to occupy the network for each individual service request, it is possible to reduce the load on the network. 【0078】 【発明の実施の形態】以下に添付図面を参照して、この発明にかかる画像形成装置およびプロセス間通信方法の好適な実施の形態を詳細に説明する。 [0078] PREFERRED EMBODIMENTS with reference to the accompanying drawings, illustrating a preferred embodiment of an image forming apparatus and interprocess communication method according to the present invention in detail. (実施の形態1)図1は、この発明の実施の形態1である画像形成装置(以下、「複合機」という)の構成を示すブロック図である。 1 (Embodiment 1), the image forming apparatus of the first embodiment of the present invention (hereinafter, referred to as "MFP") is a block diagram showing the configuration of a. 図1に示すように、複合機100 As shown in FIG. 1, the MFP 100
は、白黒ラインプリンタ(B&W LP)101と、カラーラインプリンタ(Color LP)102と、スキャナ103 It includes a monochrome line printer (B & W LP) 101, a color line printer (Color LP) 102, a scanner 103
と、ファクシミリ104と、ハードディスク装置(HD When, a facsimile 104, a hard disk device (HD
D)105と、ネットワークインタフェース106などのハードウェアリソースを有するとともに、プラットホーム120とアプリケーション130とから構成されるソフトウェア群110を備えている。 D) 105, which has a hardware resource such as a network interface 106, and a configured software group 110 from the platform 120 and applications 130.. 【0079】プラットホーム120は、アプリケーション130からの処理要求を解釈してハードウェア資源の獲得要求を発生させるコントロールサービスと、一または複数のハードウェア資源の管理を行い、コントロールサービスからの獲得要求を調停するシステムリソースマネージャ(SRM)123と、汎用OS121とを有する。 [0079] platform 120 performs control services to issue an acquiring request for hardware resources interpreting a process request from the application 130, one or more management of hardware resources, arbitrating the acquiring requests from the control services with a system resource manager (SRM) 123 for, and a general purpose OS 121. 【0080】コントロールサービスは、複数のサービスモジュールから形成され、SCS(システムコントロールサービス)122と、ECS(エンジンコントロールサービス)124と、MCS(メモリコントロールサービス)125と、OCS(オペレーションパネルコントロールサービス)126と、FCS(ファックスコントロールサービス)127と、NCS(ネットワークコントロールサービス)128とから構成される。 [0080] control services include a plurality of service modules, SCS and (system control service) 122, the ECS (engine control service) 124, a MCS (memory control service) 125, OCS (operation panel control service) 126 When composed of an FCS (facsimile control service) 127, NCS (network control service) 128 Tokyo. 【0081】なお、このプラットホーム120は、あらかじめ定義されたメソッドにより前記アプリケーション130から処理要求を受信可能とするアプリケーションプログラムインタフェース(API)を有する。 [0081] Incidentally, the platform 120 has application program interfaces (API) that the predefined methods that can receive process requests from the applications 130. 【0082】汎用OS121は、UNIX(登録商標) [0082] general purpose OS121 is, UNIX (registered trademark)
などの汎用オペレーティングシステムであり、プラットホーム120並びにアプリケーション130の各ソフトウェアをそれぞれプロセスとして並列実行する。 A general purpose operating system such as, can execute each piece of software of the platform 120 and the applications 130 concurrently as a process. 【0083】SRM123は、SCS122とともにシステムの制御およびリソースの管理を行うものであり、 [0083] SRM123 is for performing control and resource management of the system together with SCS 122,
スキャナ部やプリンタ部などのエンジン、メモリ、HD Engine, such as the scanner unit and the printer unit, memory, HD
Dファイル、ホストI/O(セントロI/F、ネットワークI/F、IEEE1394 I/F、RS232C D files, the host I / O (Centronics I / F, a network I / F, IEEE1394 I / F, RS232C
I/Fなど)のハードウェア資源を利用する上位層からの要求にしたがって調停を行い、実行制御する。 It arbitrates according to a request from the upper layer using the hardware resources of the I / F, etc.), and executes the control. 【0084】具体的には、このSRM123は、要求されたハードウェア資源が利用可能であるか(他の要求により利用されていないかどうか)を判断し、利用可能であれば要求されたハードウェア資源が利用可能である旨を上位層に伝える。 [0084] Specifically, the SRM123 determines whether the requested hardware resource is available (whether it is not used by another request), was utilized if required hardware tell that resources are available to the upper layer. また、SRM123は、上位層からの要求に対してハードウェア資源の利用スケジューリングを行い、要求内容(たとえば、プリンタエンジンにより紙搬送と作像動作、メモリ確保、ファイル生成など) Further, SRM 123 performs scheduling for using hardware resources for the requests from the upper layer, request content (for example, by the printer engine paper transfer and image forming, memory reservation, file creation)
を直接実施している。 It has implemented directly. 【0085】SCS122は、アプリ管理、操作部制御、システム画面表示、LED表示、リソース管理、割り込みアプリ制御を行うものである。 [0085] SCS122 is application management, control of the operation part, display of system screen, LED display, resource management, and performs interrupt application control. ECS124は、 ECS124 is,
白黒ラインプリンタ(B&W LP)101、カラーラインプリンタ(Color LP)102、スキャナ103、ファクシミリ104からなるハードウェアリソースのエンジンを制御するものである。 White line printer (B & W LP) 101, a color line printer (Color LP) 102, a scanner 103, and controls the hardware resources of the engine consisting of the facsimile 104. 【0086】MCS125は、画像メモリの取得および解放、HDDの利用、画像データの圧縮および伸張などを行うものである。 [0086] MCS125 the acquisition and release of image memory, the use of HDD, is performed and compresses and expands image data. OCS126は、オペレータと本体制御間の情報伝達手段となる操作パネルを制御するモジュールである。 OCS126 is a module that controls the operation panel that is a means for transferring information between the operator and the main body control. 【0087】FCS127は、システムコントローラの各アプリ層からPSTN/ISDN網を利用したファクシミリ送受信、BKM(バックアップSRAM)で管理されている各種ファクシミリデータの登録/引用、ファクシミリ読みとり、ファクシミリ受信印刷、融合送受信を行うためのAPIを提供するものである。 [0087] FCS127 is, facsimile transmission and reception using a PSTN / ISDN network from each application layer of the system controller, BKM (backup SRAM) in a controlled and has various facsimile data of the registration / citation, facsimile reading, facsimile receiving and printing, mixed sending and receiving it is to provide an API for performing. FCS12 FCS12
7には、そのサブプロセスであるFCUハンドラ(FC The 7, FCU handler (FC its subprocess
UH)129が起動される。 UH) 129 is started. このFCUH129は、F This FCUH129 is, F
CS127からの指令によりファクシミリ送受信の際にファクシミリエンジンのデバイスドライバを制御するものである。 By a command from CS127 controls the device driver facsimile engine during facsimile transmission. 【0088】NCS128は、ネットワークI/Oを必要とするアプリケーション130に対して共通に利用できるサービスを提供するためのモジュール群であり、ネットワーク側から各プロトコルによって受信したデータを各アプリケーション130に振り分けたり、アプリケーション130からデータをネットワーク側に送信する際の仲介を行うものである。 [0088] NCS128 is a module group for providing services commonly available to the application 130 that requires a network I / O, or distributing the data received by each protocol from the network side to each application 130 , and it performs mediation in sending from the application 130 the data to the network side. 【0089】アプリケーション130は、ページ記述言語(PDL)、PCLおよびポストスクリプト(PS) [0089] The application 130, page description language (PDL), PCL and PostScript (PS)
を有するプリンタ用のアプリケーションであるプリンタアプリ111と、コピー用アプリケーションであるコピーアプリ112と、ファクシミリ用アプリケーションであるファックスアプリ113と、スキャナ用アプリケーションであるスキャナアプリ114と、ネットワークファイル用アプリケーションであるネットファイルアプリ115と、工程検査用アプリケーションである工程検査アプリ116とを有している。 A printer application 111 that is an application for a printer having a, a copy application 112, a fax application 113 that is an application for facsimile, a scanner application 114 is an application for a scanner, net a Network File Applications a file application 115, and a process inspection application 116 is an application for process inspection. 【0090】これらの各コントロールサービスとSRM [0090] Each of these control services and SRM
123と各アプリケーション130とは、一または複数のメソッドを有するオブジェクトであり、このオブジェクトを起動することによりそれぞれプロセスとして汎用OS121上に生成されて実行される。 123 and the respective applications 130, an object having one or more methods, is performed is generated on the universal OS121 concurrently as a process by invoking the object. そして、各プロセス内部には、複数のスレッドが起動され、汎用OS1 And, inside each process, a plurality of threads is invoked, a general purpose OS1
21の管理下でこれらのスレッドのCPU占有時間を切り替えることにより並列実行が実現されている。 Under the control of the 21 parallel execution by switching the CPU occupation time of these threads is realized. このため、プロセス切り替えによる並列実行と比較して、並列実行時の処理速度の向上が図られている。 Therefore, as compared with the parallel execution by process switching, improve the processing speed at the time of parallel execution is achieved. 【0091】各アプリプロセスと各コントロールサービスプロセスとは、メソッドの実行によるプロセス間通信によってメッセージの送受信が行われる。 [0091] The respective application process and each control service process, send and receive messages is performed by inter-process communication by the execution of the method. 図2は、実施の形態1の複合機上で動作するサーバプロセスとクライアントプロセスの関係を示すブロック図である。 Figure 2 is a block diagram showing the relationship between the server process and the client processes running composite machine of the first embodiment. ここで、サーバプロセス202とは、クライアントプロセス201からの要求によりクライアントプロセス201に対しサービスを提供するプロセスをいう。 Here, the server process 202, refers to the process of providing a service to the client process 201 in response to a request from the client process 201. クライアントプロセス201とは、サーバプロセス202に対して要求を行うことにより、サーバプロセス202からサービスの提供を受けるプロセスをいう。 The client process 201, by making a request to the server process 202 refers to a process to be provided from the server process 202 services. 【0092】実施の形態1の複合機100では、上述のコピーアプリ112、プリンタアプリ111、スキャナアプリ114、ファックスアプリ113などのアプリケーション130のプロセス、およびECS124、MC [0092] In the compound machine 100 of the first embodiment, the copy application 112 described above, the printer application 111, scanner application 114, the process of the application 130, such as a fax application 113, and ECS 124, MC
S125、FCS127、NCS128などのコントロールサービスのプロセスが主としてクライアントプロセス201となり、コントロールサービスおよびSRM1 S125, FCS 127 provides APIs, control service processes such NCS128 mainly client process 201, and the control service and SRM1
23のプロセスが主としてサーバプロセス202となる。 23 of the process is primarily as a server process 202. 【0093】すなわち、各アプリケーション130がコントロールサービスからサービスの提供を受ける場合には、各アプリケーション130のプロセスがクライアントプロセス201として動作し、コントロールサービスがサーバプロセス202として動作する。 [0093] That is, when each application 130 receives the service from the control service, the process of the application 130 operates as a client process 201, control service operates as a server process 202. また、コントロールサービス間でサービスの要求と提供を行う場合には、サービス要求を行うコントロールサービスがクライアントプロセス201として動作し、サービス提供を行うコントロールサービスがサーバプロセス202として動作する。 In the case of performing the delivery and service requests between the control service, control service to service request operates as a client process 201, control service to service provided to operate as a server process 202. 【0094】なお、これらの例に限られず、各アプリケーション130のプロセス、コントロールサービスのプロセス、SRMプロセス123は、いずれもサーバプロセス202およびクライアントプロセス201となることができる。 [0094] The present invention is not limited to these examples, the process of the application 130, the control service of the process, SRM process 123 can all be the server process 202 and client process 201. 【0095】すなわち、これらのプロセスは、他のいずれかのプロセスに対しサービスを要求する場合にクライアントプロセス201として動作する一方、他のプロセスからの要求によりサービスを提供する場合にサーバプロセス202として動作することになる。 [0095] That is, these processes, while operating as a client process 201 when requesting a service to any other processes, it acts as a server process 202 when providing a service in response to a request from another process It will be. 【0096】これらのアプリケーション130、コントロールサービスおよびSRM123のプロセスには、いずれも複数のスレッドが起動している。 [0096] These applications 130, the process control services and SRM 123, either a plurality of threads running. このため、他のプロセスからの要求を受けた場合には、当該他のプロセスをクライアントプロセス201としたサーバプロセス202として動作するが、これと同時に、他のプロセスに対してサービスを要求する場合に当該他のプロセスをサーバプロセス202としたクライアントプロセス20 Therefore, when receiving a request from another process, operates the other process as the server process 202 and client process 201, but at the same time, when requesting a service to another process client process 20 to the other processes were the server process 202
1として動作する。 To work as one. 【0097】また、各プロセスは、同時に複数のプロセスをクライアントプロセス201としたサーバプロセス202となることも可能である。 [0097] Furthermore, each process can also be a server process 202 in which the plurality of processes and client process 201 at the same time. さらに、各プロセスは、同時に複数のサーバプロセス202からのサービスの提供を受けるクライアントプロセス201となることも可能である。 Furthermore, each process can also be a client process 201 receives a service from a plurality of server processes 202 simultaneously. 【0098】図2に示す通り、クライアントプロセス2 [0098] As shown in FIG. 2, the client process 2
01は、サーバプロセス202のサービスを要求するために、クライアントプロセス201内のスレッドからサーバプロセス202に対してサービス要求メッセージを送信するサービス要求メソッドを実行する。 01, to request the services of the server process 202, performs a service request method for transmitting a service request message from a thread in the client process 201 to the server process 202. 【0099】このサービス要求メッセージを受信したサーバプロセス202は、サービス実行メソッドを実行する。 [0099] server process 202 which has received the service request message, executes the service execution method. このサービス実行メソッドは、クライアントプロセス201から要求されたサービスを実行し、その実行結果を実行結果メッセージとして要求元のクライアントプロセス201に送信するメソッドである。 The service execution method executes the service requested by the client process 201, which is a method of transmitting to the requesting client process 201 and the execution result as an execution result message. 【0100】図2の例では、クライアントプロセス20 [0100] In the example of FIG. 2, the client process 20
1がサービスAの提供を受けるために、サービスA要求メソッドを実行してサービスA要求メッセージをサーバプロセス202に送信している。 1 in order to receive the service A, and sends a service A request message to the server process 202 to the execution of the service A request method. そして、サーバプロセス202がこのサービスA要求メッセージを受信すると、サービスA実行メソッドを実行する。 Then, the server process 202 receives this service A request message, executes the service A executing method. サーバプロセス202は、サービスA実行メソッドの実行により、 The server process 202, the execution of the service A executing method,
サービスAの処理を実行し、ついで、サービスAの実行結果をサービスA実行結果メッセージとしてクライアントプロセス201に送信する。 Executing the processing of the service A, it is then sent to the client process 201 execution result of the service A as the service A executing result message. 【0101】このように、サーバプロセス202とクライアントプロセス201のプロセス間通信は、メソッド実行によるサービス要求メッセージの送信、メソッド実行によるサービスの提供およびサービス実行結果メッセージ送信という一連の処理によって実現されている。 [0102] Thus, inter-process communication server process 202 and client process 201 sends a service request message by method execution, is realized by a series of processes of providing and service execution result message transmission service by method execution . 【0102】図3は、各アプリケーションおよび各コントロールサービスのオブジェクトであらかじめ定義されているメソッドを示す説明図である。 [0102] Figure 3 is an explanatory diagram showing a method that is pre-defined in the object for each application and each control service. 図3に示すように、各オブジェクトには、主としてクライアントプロセス201となったときにサーバプロセス202に対しサービスの提供を依頼するためにサービス要求メッセージを送信するサービス要求メソッドと、クライアントプロセス201からのサービス要求メッセージを受信してサーバプロセス202として動作するときにサービス提供の処理を実行しその実行結果メッセージを要求元のクライアントプロセス201に送信するサービス実行メソッドとが定義されている。 As shown in FIG. 3, each object, and service request method for transmitting a service request message for requesting the provision of the service to the server process 202 when mainly a client process 201, the client process 201 and the service execution method for transmitting a service providing process is executed the execution result message to the requesting client process 201 when acting as a server process 202 receives the service request message is defined. 【0103】例えば、ECS124のオブジェクトでは、サービス要求メソッドとしてメモリ画像情報取得要求メソッド、メモリ確保要求メソッド、資源獲得要求メソッドなどが登録されており、一方、サービス実行メソッドとして、ジョブ動作モード設定メソッド、ジョブスタートメソッド、ジョブオープンメソッドおよびジョブクローズメソッドなどが登録されている。 [0103] For example, in an object of ECS 124, the service request method as the memory image information acquisition request method, memory reservation request method, and the like is registered resource acquisition request method, whereas, as the service execution method, a job operation mode setting method, job start method, such as job open method and a job close method has been registered. 【0104】なお、ジョブ動作モード設定メソッド、ジョブスタートメソッド、ジョブオープンメソッドおよびジョブクローズメソッドは、それぞれクライアントプロセス201からジョブ動作モード設定要求メッセージ、 [0104] It should be noted that the job operation mode setting method, job start method, the job open method and a job close method, the job operation mode setting from the client process 201 each request message,
ジョブスタート要求メッセージ、ジョブオープン要求メッセージ、ジョブクローズ要求メッセージを受信したときに実行される。 Job start request message, the job open request message is executed upon receiving a job close request message. 【0105】また、プリンタアプリ111のオブジェクトには、サービス要求メソッドとしてジョブ動作設定要求メソッド、ジョブスタート要求メソッドなどが登録されている。 [0105] In addition, the object of the printer application 111, the job operation setting request method, such as job start request method has been registered as a service request method. なお、図3に示す他のコントロールサービスやSRM123、および他のアプリケーション130の各オブジェクトについても同様にサービス要求メソッドとサービス実行メソッドが登録されている。 Incidentally, other control services and SRM 123, and also the service request method also for each object in other applications 130 and service execution method illustrated in FIG. 3 are registered. 【0106】つぎに、実施の形態1の複合機100で実際に行われるプリンタ動作の一例について説明する。 [0106] Next, an example of a printer operation that is actually performed in the compound machine 100 of the first embodiment. 図4は、実施の形態1の複合機でプリンタ動作を行う場合のプリンタアプリ、ECS、MCS、SRMの各プロセス間のデータシーケンスを示す説明図である。 Figure 4 is an explanatory diagram showing a data sequence between each process printer application, ECS, MCS, the SRM when performing printer operation on the MFP according to the first embodiment. 【0107】複合機100は、プリンタアプリプロセス111、ECSプロセス124、MCSプロセス125 [0107] MFP 100 includes a printer application process 111, ECS process 124, MCS process 125
およびSRMプロセス123が動作している。 And SRM processes 123 are running. これらのプロセスは、複合機100の起動時に生成されるようになっている。 These processes are generated on startup of the MFP 100. 【0108】プリンタアプリプロセス111は、プロセス内に複数のスレッドが起動している。 [0108] The printer application process 111, multiple threads running in the process. プリンタアプリプロセス111は、ECSプロセス124をサーバプロセス202としたクライアントプロセス201となる。 Printer application process 111, the client process 201 of the ECS process 124 and server process 202.
ECSプロセス124は、プリンタ動作時にプリンタアプリプロセス111をクライアントプロセス201としたサーバプロセス202となるとともに、MCSプロセス125およびSRMプロセス123をそれぞれサーバプロセス202としたクライアントプロセス201となる。 ECS process 124, a printer application process 111 together with the server process 202 and client process 201 during printer operation, the client process 201 MCS process 125 and SRM process 123 were each server process 202. 【0109】MCSプロセス125は、プリンタ動作時にECSプロセス124をクライアントプロセス201 [0109] MCS process 125, the client process ECS process 124 during printer operation 201
としたサーバプロセス202となるとともに、SRMプロセス123をサーバプロセス202としたクライアントプロセス201となる。 With the server process 202 and, as a client process 201 in which the SRM process 123 and server process 202. SRMプロセス123は、プリンタ動作時にECSプロセス124またはMCSプロセス125をクライアントプロセス201としたサーバプロセス202となっている。 SRM process 123 has a server process 202 in which the ECS process 124 or MCS process 125 and client process 201 during printer operation. 【0110】PCなどのホストからセントロI/F、U [0110] Centro from a host such as a PC I / F, U
SB I/F、ネットワークI/Fなど経由して印刷要求があると、その印刷要求をNCSプロセス128が受信してプリンタアプリプロセス111に転送する(ステップS401)。 SB I / F, the via such a network I / F there is a print request, transfers the print request to the printer application process 111 receives the NCS process 128 (step S401). 【0111】プリンタアプリプロセス111は、NCS [0111] The printer application process 111, NCS
プロセス128から印刷要求を受信すると新たなプリンタジョブを生成し、ジョブ動作モード設定要求メソッドを実行して、ECSプロセス124に対してジョブ動作モード設定要求メッセージを送信する(ステップS40 Upon receiving a print request from the process 128 generates a new printer job, by executing the job operation mode setting request method, and transmits the job operation mode setting request message to the ECS process 124 (step S40
2)。 2). ここで、ジョブ動作モードとは、スキャナ、プロッタ、フィニッシャなどを動作させるために必要なパラメータ群であり、印刷用紙サイズ、印刷部数、給紙トレイなどのプリンタ条件から生成されるジョブの動作条件を定めたものである。 Here, the job operation mode, a scanner, a plotter, a parameter group required for operating and finisher, print paper size, number of copies, the operating conditions of the job generated by the printer conditions, such as the paper tray it is as previously defined. 【0112】ECSプロセス124は、プリンタアプリプロセス111からジョブ動作モード設定要求メッセージを受信すると、ジョブ動作モード設定実行メソッドを実行し、新たに生成されたプリンタジョブに対して上述のジョブ動作モードを設定して、その実行結果メッセージをプリンタアプリプロセス111に送信する。 [0112] ECS process 124 receives the job operation mode setting request message from the printer application process 111 performs a job operation mode setting execution method, setting the above job operation mode for the newly generated printer job and transmits the execution result message to the printer application process 111. 【0113】プリンタアプリプロセス111は、ECS [0113] The printer application process 111, ECS
プロセス124からジョブ動作モード設定の実行結果メッセージを受信すると、ジョブの開始要求を行うため、 Upon receiving the execution result message of the job operation mode setting from the process 124, for performing the start request of the job,
ジョブスタート要求メソッドを実行して、ECSプロセス124に対しジョブスタート要求メッセージを送信する(ステップS403)。 Executing a job start request method, and transmits a job start request message to the ECS process 124 (step S403). 【0114】ECSプロセス124は、プリンタアプリプロセス111からジョブスタート要求メッセージを受信すると、ジョブスタート実行メソッドを起動し、ジョブの開始処理を行ってその実行結果メッセージをプリンタアプリプロセス111に送信する。 [0114] ECS process 124, when the printer application process 111 receives a job start request message, to start the job start execution method, by performing the start processing of the job and sends the execution result message to the printer application process 111. プリンタアプリプロセス111は、ECSプロセス124からジョブスタートの実行結果メッセージを受信する。 Printer application process 111 receives a job start execution result message from ECS process 124. 【0115】つぎに、ECSプロセス124は、メモリに格納されている印刷データを取得するために、メモリ画像情報要求メソッドを実行し、MCSプロセス125 [0115] Next, ECS process 124 in order to acquire the print data stored in the memory, executes the memory image information request method, MCS process 125
に対してメモリ画像情報要求メッセージを送信する(ステップS404)。 Transmitting the memory image information request message to (step S404). 【0116】MCSプロセス125は、ECSプロセス124からメモリ画像情報要求メッセージを受信すると、メモリ画像情報実行メソッドを起動する。 [0116] MCS process 125 receives the memory image information request message from the ECS process 124, activates the memory image information execution method. そして、 And,
MCSプロセス125はメモリに格納されている画像データを取得して、画像データを実行結果メッセージとともにECSプロセス124へ送信する(ステップS40 MCS process 125 retrieves the image data stored in the memory, and transmits the image data with the execution result message to the ECS process 124 (step S40
5)。 5). ECSプロセス124は、メモリ画像情報要求メッセージの送信および画像データの受信処理を、印刷ページが終了するまで繰り返し行う(ステップS408、 ECS process 124, the reception processing of the transmission and the image data in the memory image information request message, repeated until the printed page is completed (step S408,
S409)。 S409). 【0117】MCSプロセス125は、画像データのE [0117] MCS process 125, the image data E
CSプロセス124への送信後、画像メモリを確保するためにメモリ取得要求メソッドを実行し、SRMプロセス123に対してメモリ取得要求メッセージを送信する(ステップS406)。 After transmission to the CS process 124, performs a memory acquisition request method to ensure the image memory, and transmits a memory acquisition request message to the SRM process 123 (step S406). SRMプロセス123では、M In the SRM process 123, M
CSプロセス125からメモリ取得要求メッセージを受信すると、メモリ取得実行メソッドを実行し、プリント用に画像メモリを確保し、その実行結果メッセージをM When the CS process 125 receives a memory acquisition request message, executes the memory acquisition and execution method, to ensure an image memory for printing, and the execution result message M
CSプロセス125へ送信する。 And transmits it to the CS process 125. 【0118】ECSプロセス124は、1ページ目の印刷データをMCSプロセス125から受信した後、プリンタエンジン資源を取得するために、資源獲得要求メソッドを実行して、SRMプロセス123に対して資源獲得要求メッセージを送信する(ステップS407)。 [0118] ECS process 124, after receiving the print data of the first page from the MCS process 125, in order to obtain the printer engine resources, running resource acquisition request method, resource acquisition request to the SRM process 123 sending a message (step S407). S
RMプロセス123は、ECSプロセス124から資源獲得要求メッセージを受信すると資源獲得実行メソッドを実行し、プリンタエンジンを占有し、その実行結果メッセージをECSプロセス124へ送信する。 RM process 123 receives a resource acquisition request message from the ECS process 124 performs resource acquisition execution method, occupies printer engine, and transmits the execution result message to ECS process 124. 【0119】ECSプロセス124は、メモリ画像情報要求(ステップS411)に対する実行結果メッセージとして「画像なし」の応答を受信した場合(ステップS [0119] ECS process 124, when receiving the response of "no image" as the execution result message to the memory image information request (step S411) (step S
412)に、すべての印刷ページのプリントが終了したものと判断し、ジョブエンド通知メソッドを実行して、 To 412), it is determined that all of the printed pages of the print is finished, run the job end notification method,
プリンタアプリプロセス111に対してジョブエンド通知メッセージを送信する(ステップS413)。 It transmits a job end notification message to the printer application process 111 (step S413). プリンタアプリプロセス111では、このジョブエンド通知メッセージを受信することによりプリント終了を検知する。 In the printer application process 111 detects the end of printing by receiving the job end notification message. 【0120】次に、実施の形態1の複合機100で実際に行われるスキャナ動作の一例について説明する。 [0120] Next, an example of a scanner operation is actually performed in the compound machine 100 of the first embodiment. 図5 Figure 5
は、実施の形態1の複合機でスキャナ動作を行う場合のスキャナアプリ、ECS、MCS、SRMの各プロセス間のデータシーケンスを示す説明図である。 Is an explanatory view showing a data sequence between each process scanner application, ECS, MCS, the SRM when performing scanner operation on the MFP according to the first embodiment. 【0121】複合機100は、スキャナアプリプロセス114、ECSプロセス124、MCSプロセス125 [0121] The multifunction peripheral 100, the scanner application process 114, ECS process 124, MCS process 125
およびSRMプロセス123が動作している。 And SRM processes 123 are running. これらのプロセスは、複合機の起動時に生成されるようになっている。 These processes are generated on startup of the MFP. 【0122】スキャナアプリプロセス114は、プロセス内に複数のスレッドが起動している。 [0122] scanner application process 114, multiple threads running in the process. スキャナアプリプロセス114は、ECSプロセス124をサーバプロセス202としたクライアントプロセス201となっている。 Scanner application process 114 has a client process 201 in which the ECS process 124 and server process 202. ECSプロセス124は、スキャナ動作時にスキャナアプリプロセス114をクライアントプロセス20 ECS process 124, client process 20 to the scanner application process 114 when the scanner operation
1としたサーバプロセス202となるとともに、MCS With the server process 202 and 1, MCS
プロセス125およびSRMプロセス124をそれぞれサーバプロセス202としたクライアントプロセス20 Client process 20 to process 125 and SRM process 124 were respectively server process 202
1となる。 1. MCSプロセス125は、スキャナ動作時にスキャナアプリプロセス114およびECSプロセス1 MCS process 125, the scanner application process 114 and ECS process 1 on Scanner operation
24をクライアントプロセス201としたサーバプロセス202となる。 The server process 202 in which the 24 and client process 201. SRMプロセス123は、ECSプロセス124をクライアントプロセス201としたサーバプロセス202となる。 SRM process 123, a server process 202 in which the ECS process 124 and client process 201. 【0123】スキャナアプリプロセス114に対しスキャン要求があると、スキャナアプリプロセス114は、 [0123] and to the scanner application process 114 there is a scan request, the scanner application process 114,
新たなスキャナジョブを生成し、ジョブオープン要求メソッドを実行して、ECSプロセス124に対してジョブオープン要求メッセージを送信する(ステップS50 It generates a new scanner job, executing a job open request method, and transmits the job open request message to the ECS process 124 (step S50
1)。 1). 【0124】ECSプロセス124では、スキャナアプリプロセス114からジョブオープン要求メッセージを受信すると、ジョブオープン実行メソッドを実行し、ジョブのオープン処理を行い、その実行結果メッセージをスキャナアプリプロセス114に送信する。 [0124] In ECS process 124, if the scanner application process 114 receives a job open request message, executes the job open execution method, performs open processing of the job, and transmits the execution result message to the scanner application process 114. 【0125】スキャナアプリプロセス114は、ECS [0125] scanner application process 114, ECS
プロセス124からジョブオープンの実行結果メッセージを受信すると、つぎにファイル生成要求メソッドを実行して、MCSプロセス125に対しファイル生成要求メッセージを送信する(ステップS502)。 When the process 124 receives the execution result message of job open, then run the file creation request method, to send a file creation request message to the MCS process 125 (step S502). MCSプロセス125では、スキャナアプリプロセス114からファイル生成要求メッセージを受信すると、ファイル生成実行メソッドを実行し、スキャンした画像を一時的に格納するファイルをHDD上に生成して、その実行結果メッセージをスキャナアプリプロセス114に送信する。 Scanner The MCS process 125, upon receiving a file creation request message from the scanner application process 114 executes file generation execution method, a file for temporarily storing the scanned image generated on HDD, the execution result message to send to the application process 114. 【0126】スキャナアプリプロセス114は、ファイル生成の実行結果メッセージを受信すると、ジョブ動作モードの設定を行うため、ジョブ動作モード設定要求メソッドを実行し、ECSプロセス124に対しジョブ動作モード設定要求メッセージを送信する(ステップS5 [0126] scanner application process 114 receives the execution result message file generation, for setting the job operation mode, performs a job operation mode setting request method, a job operation mode setting request message to the ECS process 124 sending (step S5
03)。 03). 【0127】ECSプロセス124は、スキャナアプリプロセス114からジョブ動作モード設定要求メッセージを受信すると、ジョブ動作モード設定実行メソッドを実行し、スキャナジョブに上述のジョブ動作モードを設定して、その実行結果メッセージをスキャナアプリプロセス114に送信する。 [0127] ECS process 124 receives the job operation mode setting request message from the scanner application process 114 performs a job operation mode setting execution method, by setting the above job operation mode of the scanner job, the execution result message and it transmits to the scanner application process 114. 【0128】ついで、スキャナアプリプロセス114 [0128] Next, the scanner application process 114
は、ジョブスタート要求メソッドを実行して、ジョブスタート要求メッセージをECSプロセス124に対して送信する(ステップS504)。 Executes the job start request method, and transmits a job start request message to the ECS process 124 (step S504). ECSプロセス124 ECS process 124
は、ジョブスタート要求メッセージを受信すると、ジョブスタート要求実行メソッドを実行して、ジョブの開始処理を行い、その実行結果メッセージをスキャナアプリプロセス114に送信する。 Upon receiving the job start request message, executes a job start request execution method, performs a start processing of the job, and transmits the execution result message to the scanner application process 114. 【0129】一方、ECSプロセス124は、スキャナエンジンの資源獲得のため、資源獲得要求メソッドを実行し、SRMプロセス123に対して資源獲得要求メッセージを送信する(ステップS505)。 [0129] On the other hand, ECS process 124 for resource acquisition scanner engine, perform the resource acquisition request method, and transmits the resource acquisition request message to the SRM process 123 (step S505). SRMプロセス123は、資源獲得要求メッセージを受信すると資源獲得実行メソッドを実行して、スキャナエンジンを占有し、その実行結果メッセージをECSプロセス124へ送信する。 SRM process 123 executes a resource acquisition execution method upon receiving a resource acquisition request message occupies scanner engine, and transmits the execution result message to ECS process 124. 【0130】つぎに、ECSプロセス124は、スキャン画像をページ単位で格納するメモリを確保するために、ページ生成要求メソッドを実行して、MCSプロセス125に対しページ生成要求メッセージを送信する(ステップS506)。 [0130] Next, ECS process 124, in order to ensure a memory for storing the scanned image in page units, by executing the page generation request method, and transmits the page generation request message to the MCS process 125 (step S506 ). MCSプロセス125は、ページ生成要求メッセージを受信すると、ページ生成実行メソッドを実行して1ページ分のメモリを確保し、確保したページをオープンし、その実行結果メッセージをEC MCS process 125 receives the page generation request message, executes a page generation execution method to secure a page of memory, to open the pages reserved, the execution result message EC
Sプロセス124へ送信する。 And transmits it to the S process 124. 【0131】ECSプロセス124は、ページ生成の実行結果メッセージを受信すると、原稿フィードイン要求メソッドを実行し、スキャナエンジンに対して原稿フィードインの指示メッセージを送信して(ステップS50 [0131] ECS process 124 receives the execution result message page generating, perform the document feed-in request method, while transmitting an instruction message of the document feed-in to the scanner engine (step S50
7)、スキャナによる原稿の読み取り動作を開始させる。 7), to start the reading operation of the original by the scanner. 【0132】1ページ分の原稿読み動作が終了すると、 [0132] When the original reading operation of one page is completed,
ECSプロセス124に対しスキャナエンジンからスキャン終了通知メッセージが送信されるので(ステップS Since the scan end notification message from the scanner engine to ECS process 124 is transmitted (step S
508)、ECSプロセス124はこのスキャン終了通知メッセージを受信する。 508), ECS process 124 receives the scan completion notification message. ECSプロセス124は、スキャン終了通知メッセージを受信すると、ページクローズ要求メソッドを実行して、MCSプロセス124に対しページクローズ要求メッセージを送信する(ステップS509)。 ECS process 124 receives the scan completion notification message, and executes a page close request method, transmits a page close request message to the MCS process 124 (step S509). 【0133】MCSプロセス125は、ページクローズ要求メッセージを受信すると、ページクローズ実行メソッドを実行して、メモリ上でオープンされている1ページ分の画像メモリをクローズし、その実行結果メッセージをECSプロセス124に送信する。 [0133] MCS process 125 receives the page close request message, executes a page close execution method, closes the one page image memory, which is open on the memory, ECS process the execution result message 124 to send to. 【0134】ECSプロセス124は、上述のページ生成要求メッセージの送信からページクローズ要求メッセージの送信までの処理(ステップS506〜S509) [0134] ECS process 124, the processing from the transmission of the above-described page generation request message to the transmission of the page close request message (step S506~S509)
を原稿枚数分だけ繰り返し行う。 Repeatedly perform only the original number of sheets. 原稿の最終ページのスキャンが終了すると、ECSプロセス124に対しスキャナエンジンからスキャン処理完了通知メッセージが送信される(ステップS510)。 When scanning of the last page of the document is completed, the scan processing completion notification message from the scanner engine is transmitted to the ECS process 124 (step S510). 【0135】ECSプロセス124は、スキャン処理完了通知メッセージを受信すると、スキャン完了通知メッセージをスキャナアプリプロセス114に対して送信し(ステップS511)、さらにジョブエンド通知メソッドを実行してジョブエンド通知メッセージも送信する(ステップS512)。 [0135] ECS process 124 receives the scan process completion notification message, and sends the scan completion notification message to the scanner application process 114 (step S511), even job end notification message further executing a job end notification method to send (step S512). 【0136】スキャナアプリプロセス114は、スキャン処理完了通知メッセージとジョブエンド通知メッセージとを順にECSプロセス124から受信する。 [0136] scanner application process 114, in turn receives from the ECS process 124 and a scan process completion notification messages and job end notification message. 一方、 on the other hand
スキャナアプリプロセス114は、ファイル情報登録要求メソッドを実行して、MCSプロセス125に対してファイル情報登録要求メッセージを送信する(ステップS513)。 Scanner application process 114 executes file information registration request method, and transmits the file information registration request message to the MCS process 125 (step S513). 【0137】MCSプロセス125は、ファイル情報登録要求メッセージを受信すると、ファイル情報登録実行メソッドを実行して、一時的に生成されたすべての原稿のスキャン画像が格納されているファイルに対し、ファイル名、格納先等のファイル情報を登録し、その実行結果メッセージをスキャナアプリプロセス114に送信する。 [0137] MCS process 125 receives the file information registration request message, and execute the file information registration execution method, to file all original scanned image which is temporarily generated are stored, the file name registers the file information storage destination or the like, and transmits the execution result message to the scanner application process 114. 【0138】スキャナアプリプロセス114は、ファイル情報登録の実行結果メッセージを受信すると、ファイルクローズ要求メソッドを実行して、MCSプロセス1 [0138] scanner application process 114, upon receiving the execution result message of the file information registration, run the file close request method, MCS process 1
25に対しファイルクローズ要求メッセージを送信する(ステップS514)。 25 to send a file close request message (step S514). MCSプロセス125では、ファイルクローズ要求メッセージを受信すると、ファイルクローズ実行メソッドを実行して、スキャン画像のファイルをクローズし、その実行結果メッセージをスキャナアプリプロセス114に送信する。 In the MCS process 125, upon receiving a file close request message, it executes a file closing execution method, and closes the file of the scanned image, and transmits the execution result message to the scanner application process 114. スキャナアプリプロセス114は、ファイルクローズの実行結果メッセージを受信することによって、スキャン処理を終了する。 Scanner application process 114, by receiving a file close execution result message, and terminates the scanning process. 【0139】ついで、スキャナアプリプロセス114 [0139] Next, the scanner application process 114
は、格納されているスキャン画像を読み出すため、次の処理を行う。 Is to read the scanned image stored, performs the following processing. まず、スキャナアプリプロセス114はファイルオープン要求メソッドを実行して、MCSプロセス125に対しスキャン画像のファイルをオープンするためのファイルオープン要求メッセージを送信する。 First, the scanner application process 114 to execute the file open request method to send a file open request message to open the file of the scanned image to the MCS process 125. また、スキャナアプリプロセス114は作業領域確保要求メソッドの実行による作業メモリの確保のための作業領域確保要求メッセージの送信、ページオープン要求メソッドの実行によるページオープン要求メッセージを順次に送信する(ステップS515〜S517)。 Also, the scanner application process 114 sends the transmission of the work area reservation request message for securing the working memory due to the execution of the work area reservation request method, a page open request message by executing the page open request method sequentially (step S515~ S517). 【0140】MCSプロセス125は、スキャナアプリプロセス114からファイルオープン要求メッセージ、 [0140] MCS process 125, the file open request message from the scanner application process 114,
作業領域確保要求メッセージ、ページオープン要求メッセージを順に受信して、ファイルオープン実行メソッドの実行によるスキャン画像ファイルのオープン処理、作業領域確保実行メソッドの実行による作業メモリの確保処理およびページオープン実行メソッドの実行によるページオープン処理をそれぞれ行って、各処理の実行結果メッセージをスキャナアプリプロセス114に送信する。 Receiving the work area reservation request message, a page open request message sequentially, open processing of the scanned image file by executing the file open execution method, the execution of the secure processing and page open execution method of working memory by the execution of the work area reservation execution method performing each page open processing by, transmits the execution result message of each processing to the scanner application process 114. 【0141】スキャナアプリプロセス114は、スキャン画像ファイルからの画像データの読み出しのために読み出し要求メソッドを実行し、読み出し要求メッセージをMCSプロセス125に送信する(ステップS51 [0141] scanner application process 114 executes a read request method for the image data from the scanned image file reading, transmits a read request message to the MCS process 125 (step S51
8)。 8). 【0142】さらに、スキャナアプリプロセス114 [0142] In addition, the scanner application process 114
は、ページクローズ要求メソッドを実行して、MCSプロセス125に対しページクローズ要求メッセージを送信する(ステップS519)。 Executes a page close request method, transmits a page close request message to the MCS process 125 (step S519). 【0143】MCSプロセス125は、ページオープン処理の終了後に、スキャナアプリプロセス114から読み出し要求メッセージを受信し、読み出し実行メソッドを実行してスキャナ画像ファイルから画像データを読み出し、画像データとともにその実行結果メッセージをスキャナアプリプロセス114に送信する。 [0143] MCS process 125, after the end of the page opening process, receives a read request message from the scanner application process 114 reads the image data from the scanner image file by executing the read execution method, the execution result with the image data message and it transmits to the scanner application process 114. スキャナアプリプロセス114は、画像データの読み出しに関する実行結果メッセージを受信すると、次の読み出し要求メッセージをMCS125に送信し、その実行結果メッセージを受信する。 Scanner application process 114 receives the execution result messages about the reading of the image data, and sends the next read request message to MCS 125, receives the execution result message. 【0144】MCSプロセス125は、最後の読み出し処理の終了後にスキャナアプリプロセス114からページクローズ要求メッセージを受信すると、ページクローズ実行メソッドを実行して、オープンしているページデータのクローズ処理を行い、その実行結果メッセージをスキャナアプリプロセス114に送信する。 [0144] MCS process 125 receives the page close request message from the scanner application process 114 after the end of the last reading process, by running the page close execution method, process the close of the page data that is open, the It transmits the execution result message to the scanner application process 114. 【0145】スキャナアプリプロセス114は、ページクローズの実行結果メッセージを受信すると、MCS1 [0145] scanner application process 114, upon receiving the page close of the execution result message, MCS1
25に対してページ削除要求メッセージ、作業領域削除要求メッセージ、ファイルクローズ要求メッセージ、ファイル削除要求メッセージを順に送信する(ステップS Page deletion request message to the 25, and transmits the work area deletion request message, the file close request message, the file deletion request message in order (step S
520〜S523)。 520~S523). 【0146】MCSプロセス125は、ページ削除要求メッセージ、作業領域削除要求メッセージ、ファイルクローズ要求メッセージ、ファイル削除要求メッセージを順に受信して、そのメッセージに対応する実行メソッドによって、ページデータの削除、作業メモリの削除、スキャン画像ファイルのクローズ、スキャン画像ファイルの削除の各処理を行って、各処理の実行結果メッセージをスキャナアプリプロセス114に送信する。 [0146] MCS process 125, a page deletion request message, a work area deletion request message, receives the file close request message, the file deletion request message sequentially, the execution method corresponding to the message, delete the page data, working memory deleting, closing of the scanned image file, by performing the processing of deleting the scanned image file, and transmits the execution result message of each processing to the scanner application process 114. スキャナアプリプロセス114がMCSプロセス125から各処理の実行結果メッセージを受信することにより、スキャン画像の読み出し処理が完了する。 By the scanner application process 114 receives the execution result message of the processes from the MCS process 125, read processing of scanned images is completed. 【0147】次に、実施の形態1の複合機100で実際に行われるコピー動作の一例について説明する。 [0147] Next, an example of a copying operation to be actually performed in the compound machine 100 of the first embodiment. 図6 Figure 6
は、実施の形態1の複合機でコピー動作を行う場合のコピーアプリ、ECS、MCS、SRMの各プロセス間のデータシーケンスを示す説明図である。 Is an explanatory view showing a data sequence between the processes of the copy application, ECS, MCS, the SRM When copying operation on the MFP according to the first embodiment. 【0148】複合機100は、コピーアプリプロセス1 [0148] The multifunction peripheral 100, the copy application process 1
12、ECSプロセス124、MCSプロセス125およびSRMプロセス123が動作している。 12, ECS process 124, MCS process 125 and SRM process 123 is operating. これらのプロセスは、複合機100の起動時に生成されるようになっている。 These processes are generated on startup of the MFP 100. また、これらのプロセスは、プロセス内に複数のスレッドが起動された状態となっている。 Further, these processes, multiple threads are in a state of being activated in the process. 【0149】コピーアプリプロセス112は、ECSプロセス124をサーバプロセス202としたクライアントプロセス201となっている。 [0149] copy application process 112, and has a client process 201 that the ECS process 124 and the server process 202. ECSプロセス124 ECS process 124
は、コピー動作時にコピーアプリプロセス112をクライアントプロセス201としたサーバプロセス202となるとともに、MCSプロセス125およびSRMプロセス123をそれぞれサーバプロセス202としたクライアントプロセス201となる。 , Along with a server process 202 in which the copy application process 112 and client process 201 during the copy operation, the client process 201 MCS process 125 and SRM process 123 were each server process 202. 【0150】MCSプロセス125は、コピー動作時にECSプロセス124をクライアントプロセス201としたサーバプロセス202となるとともに、SRMプロセス123をサーバプロセス202としたクライアントプロセス201となる。 [0150] MCS process 125, as well as a server process 202 in which the ECS process 124 during the copy operation and the client process 201, the client process 201 in which the SRM process 123 and server process 202. SRMプロセス123は、EC SRM process 123, EC
Sプロセス124およびMCSプロセス125をクライアントプロセス201としたサーバプロセス202となる。 The server process 202 in which the S processes 124 and MCS process 125 and client process 201. 【0151】コピー要求があると、コピーアプリプロセス112は、新たなコピージョブを生成し、スキャナ動作の場合と同様に、ECSプロセス124に対してジョブオープン要求メッセージ、ジョブ動作モード設定要求メッセージおよびジョブスタート要求メッセージの送信を行う(ステップS601〜S603)。 [0151] When a copy request, the copy application process 112 generates a new copy job, as in the case of scanner operation, the job open request message, the job operation mode setting request message and job to ECS process 124 It performs the transmission of the start request message (step S601~S603). これらの要求メッセージを受信したECSプロセス124の動作については、上述したスキャナ動作の場合と同様であるため説明を省略する。 The operation of the ECS process 124 receives these request messages omitted because it is similar to the case of scanner operation described above. 【0152】ECSプロセス124では、ジョブスタートの実行結果メッセージをコピーアプリプロセス112 [0152] In the ECS process 124, the copy application process the job start of the execution result message 112
に送信すると、つぎにスキャン画像を格納するためのメモリを確保するために、メモリ確保要求メソッドを実行し、MCSプロセス125に対し必要なサイズを指定したメモリ確保要求メッセージを送信する(ステップS6 When sent to the next in order to ensure a memory for storing scanned images, perform the memory allocation request method, it transmits a memory reservation request message specifying the required size to the MCS process 125 (step S6
04)。 04). 【0153】MCSプロセス125では、メモリ確保要求メッセージを受信すると、メモリ確保実行メソッドを実行して、指定されたサイズのメモリ上の領域を確保するためのメモリ取得要求メソッドを実行し、SRM12 [0153] In the MCS process 125, upon receiving a memory allocation request message, executes a memory allocation execution method executes a memory acquisition request method for securing the area in the memory of the specified size, SRM 12
3に対してメモリ取得要求メッセージを送信する(ステップS605)。 Sending a memory acquisition request message to 3 (step S605). SRM123は、メモリ取得要求メッセージを受信すると、メモリ取得実行メソッドを実行して、メモリ上に指定されたサイズの領域を占有して、その実行結果メッセージをMCSプロセス125に送信する。 SRM123 receives a memory acquisition request message, and perform memory acquisition and execution method, occupies an area of ​​given size in the memory, and transmits the execution result message to the MCS process 125. 【0154】メモリ取得の実行結果メッセージを受信したMCSプロセス125は、受信した実行結果メッセージをメモリ確保の実行結果メッセージとしてECSプロセス124に送信する。 [0154] MCS process 125 which received the memory acquisition and execution result message transmits the execution result message received ECS process 124 as an execution result message memory allocation. ついで、メモリ確保の実行結果メッセージを受信したECSプロセス124は、スキャナエンジンとプリンタエンジンの資源獲得のため、資源獲得要求メソッドを実行して、SRMプロセス123に対して資源獲得要求メッセージを送信する(ステップS Then, ECS process 124 receives the execution result message memory allocation is for resource acquisition scanner engine and printer engine, running resource acquisition request method, and transmits the resource acquisition request message to the SRM process 123 ( step S
606)。 606). 【0155】SRMプロセス123は、資源獲得要求メッセージを受信すると、資源獲得実行メソッドを実行してスキャナエンジンとプリンタエンジンとを占有し、その実行結果メッセージをECSプロセス124に送信する。 [0155] SRM process 123 receives a resource acquisition request message occupies the scanner engine and printer engine running resource acquisition execution method, and transmits the execution result message to the ECS process 124. 【0156】ECSプロセス124は、SRMプロセス123から資源獲得の実行結果メッセージを受信して、 [0156] ECS process 124 receives the resource acquisition execution result message from SRM process 123,
スキャナエンジンとプリンタエンジンとをコピージョブで占有すると、原稿フィードイン要求メソッドを実行し、スキャナエンジンに対して原稿フィードインの指示メッセージを送信して(ステップS607)、原稿のスキャン処理を開始させる。 When occupying the scanner engine and printer engine in a copy job, it executes the document feed-in request method, while transmitting an instruction message of the document feed-in to the scanner engine (step S607), and starts the scanning process of the document. 【0157】スキャナエンジンは、原稿のスキャン処理が終了すると、スキャン終了通知メッセージをECSプロセス124に送信し(ステップS608)、プリンタエンジンにスキャン画像のプリント処理を開始させる。 [0157] The scanner engine, the scanning process of the document is completed, sends a scan end notification message to ECS process 124 (step S608), and starts print processing of the scanned image to the printer engine.
そして、プリンタエンジンはスキャン画像のプリント処理が終了すると、ECSプロセス124に印刷終了通知メッセージを送信する(ステップS610)。 Then, the printer engine sends the print processing of the scanned image is finished, the print end notification message to ECS process 124 (step S610). 【0158】ECSプロセス124は、スキャナエンジンからスキャン終了通知メッセージを受信すると、ジョブエンド通知メソッドを実行してコピーアプリプロセス112に対しスキャン終了の旨のジョブエンド通知メッセージを送信する(ステップS609)。 [0158] ECS process 124 receives the scan completion notification message from the scanner engine, to the copy application process 112 running job end notification method transmitting a scan end to the effect of the job end notification message (step S609). また、ECS In addition, ECS
プロセス124はプリンタエンジンから印刷終了通知メッセージを受信すると、ジョブエンド通知メソッドを実行してコピーアプリプロセス112に対し印刷終了の旨のジョブエンド通知メッセージを送信する(ステップS Process 124 sends receives the print completion notification message from the printer engine, the job end notification message to the effect that the job end notification method the running print end to the copy application process 112 (Step S
611)。 611). コピーアプリプロセス112は2つのジョブエンド通知メッセージを受信することにより、原稿1ページ分のコピー動作が完了する。 Copy application process 112 by receiving the two job end notification message, document one page of the copy operation is completed. 【0159】複数枚の原稿のコピーを行う場合には、さらにECSプロセス124に対しジョブスタート要求メッセージを送信する(ステップS612)。 [0159] When performing a copy of the plurality of documents further transmits a job start request message to the ECS process 124 (step S612). これにより、上述と同様の動作がECSプロセス124、MCS Accordingly, the same operation as described above is ECS process 124, MCS
プロセス125、SRMプロセス123、スキャナエンジンおよびプリンタエンジンで行われる(ステップS6 Process 125, SRM process 123 is performed by the scanner engine and printer engine (step S6
13〜S616)。 13~S616). すべての原稿のコピーが終了し、コピーアプリプロセス112が最後のジョブエンド通知メッセージを受信すると(ステップS617)、コピーアプリプロセス112はジョブクローズ要求メソッドを実行して、ECSプロセス124に対しジョブクローズ要求メッセージを送信する(ステップS618)。 All copies of the document is finished, the copy application process 112 receives the last job end notification message (step S617), the copy application process 112 running job close request method, a job close request to the ECS process 124 sending a message (step S618). 【0160】ECSプロセス124は、ジョブクローズ要求メッセージを受信すると、ジョブクローズ実行メソッドを実行して、オープン状態にあるコピージョブをクローズし、その実行結果メッセージをコピーアプリプロセス112に送信する。 [0160] ECS process 124 receives a job close request message, executes a job closed execution method, closes the copy job is in an open state, and transmits the execution result message to the copy application process 112. コピーアプリプロセス112がECSプロセス124からジョブクローズの実行結果メッセージを受信することにより、コピー動作が完了する。 By the copy application process 112 receives the job closing execution result message from ECS process 124, the copy operation is completed. 【0161】次に、実施の形態1の複合機100で実際に行われるファクシミリ送信動作の一例について説明する。 [0161] Next, an example of a facsimile transmission operation is actually performed in the compound machine 100 of the first embodiment. 図7は、実施の形態1の複合機でファクシミリ送信動作を行う場合のファックスアプリ、FCS、ECS、 7, the fax application for performing facsimile transmission operation on the MFP according to the first embodiment, FCS, ECS,
MCS、SRMの各プロセス間のデータシーケンスを示す説明図である。 MCS, is an explanatory diagram showing a data sequence between the process of SRM. 【0162】複合機100は、ファックスアプリプロセス113、FCSプロセス127、FCUHプロセス1 [0162] The multifunction peripheral 100, facsimile application process 113, FCS process 127, FCUH process 1
29、ECSプロセス124、MCSプロセス125およびSRMプロセス123が動作している。 29, ECS process 124, MCS process 125 and SRM process 123 is operating. これらプロセスは、複合機100の起動時に生成されるようになっている。 These processes are generated on startup of the MFP 100. また、これらのプロセスは、プロセス内に複数のスレッドが起動された状態となっている。 Further, these processes, multiple threads are in a state of being activated in the process. 【0163】ファックスアプリプロセス113は、FC [0163] facsimile application process 113, FC
Sプロセス127をサーバプロセス202としたクライアントプロセス201となっている。 The S process 127 has a client process 201 and server process 202. FCSプロセス1 FCS process 1
27は、ファクシミリ送信動作時にファックスアプリプロセス113をクライアントプロセス201としたサーバプロセス202となるとともに、ECSプロセス12 27, along with the server process 202 in which the facsimile application process 113 and client process 201 in the facsimile sending operation, ECS process 12
4およびFCUHプロセス129をサーバプロセス20 4 and FCUH process 129 server process 20
2としたクライアントプロセス201となる。 2 as a client process 201 that was. 【0164】FCUHプロセス129は、FCSプロセス127のサブプロセスであり、ファクシミリ送信動作時に、SRMプロセス123およびFCS127をクライアントプロセス201としたサーバプロセス202となる。 [0164] FCUH process 129 is a sub-process of the FCS process 127, when the facsimile transmission operation, the server process 202 in which the SRM process 123 and FCS127 the client process 201. ECSプロセス124は、ファクシミリ送信動作時にFCSプロセス127をクライアントプロセス20 ECS process 124, client process 20 FCS process 127 in the facsimile sending operation
1としたサーバプロセス202となるとともに、MCS With the server process 202 and 1, MCS
プロセス125およびSRMプロセス123をそれぞれサーバプロセス202としたクライアントプロセス20 Client process 20 to process 125 and SRM process 123 were respectively server process 202
1となる。 1. 【0165】MCSプロセス125は、ファクシミリ送信動作時に、ECSプロセス124をクライアントプロセス201としたサーバプロセス202となるとともに、SRMプロセス123をサーバプロセス202としたクライアントプロセス201となる。 [0165] MCS process 125, at the time of facsimile transmission operation, it becomes server process 202 in which the ECS process 124 and client process 201, the client process 201 in which the SRM process 123 and server process 202. SRMプロセス123は、ECSプロセス124およびMCSプロセス125をクライアントプロセス201としたサーバプロセス202となるとともに、FCUHプロセス129をサーバプロセス202としたクライアントプロセス20 SRM process 123, along with the server process 202 in which the ECS process 124 and the MCS process 125 and client process 201, client process 20 in which the FCUH process 129 and server process 202
1となる。 1. 【0166】ファクシミリ送信要求があると、ファックスアプリプロセス113は、新たなファクシミリ送信ジョブを生成し、送信スタート要求メソッドを実行して、 [0166] When the facsimile transmission request is present, the fax application process 113, generates a new facsimile transmission job, and executes the transmission start request method,
FCSプロセス127に対して送信スタート要求メッセージを送信する(ステップS701)。 It transmits a transmission start request message to the FCS process 127 (step S701). 【0167】FCSプロセス127は、ファックスアプリプロセス113から送信スタート要求メッセージを受信すると、送信スタート実行メソッドを実行する。 [0167] FCS process 127 receives the transmission start request message from the fax application process 113, to perform the transmission start execution method. この送信スタート実行メソッドは、ジョブ動作モード設定要求メソッドを実行してECSプロセス124に対してジョブ動作モード設定要求メッセージを送信する(ステップS702)。 The transmission start execution method, transmits the job operation mode setting request message to the ECS process 124 to execute the job operation mode setting request method (step S702). また、送信スタート実行メソッドはジョブスタート要求メソッドを実行してECSプロセス12 In addition, the transmission start execution method ECS process 12 by executing the job start request method
4に対してジョブスタート要求メッセージを送信する(ステップS703)。 It transmits a job start request message to 4 (step S703). 【0168】なお、ジョブ動作モード設定要求メッセージおよびジョブスタート要求メッセージを受信したEC [0168] In addition, EC, which has received the job operation mode setting request message and the job start request message
Sプロセス124の動作は、前述したスキャナ動作の場合と同様であるので説明を省略する。 Operation of S process 124 will be omitted because it is similar to the case of scanner operation described above. 【0169】ジョブスタート要求メッセージを受信してジョブ開始処理を行ったECSプロセス124は、ついでメモリ確保要求メソッドを実行して、MCS125に対しメモリ確保要求メッセージを送信する(ステップS [0169] job start request message ECS was received by performing the job start processing process 124 then executes a memory allocation request method, transmits a memory reservation request message to the MCS 125 (step S
704)。 704). このメモリ確保要求メッセージを受信したM M that has received the memory reservation request message
CSプロセス125は、メモリ取得要求メソッドを実行してメモリ取得要求メッセージをSRMプロセス123 CS process 125, SRM process 123 a memory acquisition request message by executing the memory acquisition request method
に対して送信する(ステップS705)。 It is transmitted to the (step S705). 【0170】また、ECSプロセス124は、スキャナエンジンおよびファクシミリエンジンの獲得のため、資源獲得要求メソッドを実行して、SRMプロセス123 [0170] Also, ECS process 124 for the acquisition of the scanner engine, and a facsimile engine, running resource acquisition request method, SRM process 123
に対し資源獲得要求メッセージを送信する(ステップS It transmits a resource acquisition request message to (step S
706)。 706). 【0171】なお、これらのメッセージを受信したMC [0171] In addition, MC received these messages
Sプロセス125、SRMプロセス123の処理およびECSプロセス124における処理は、コピー動作時の処理と同様であるので説明を省略する。 Processing in the processing and ECS process 124 S processes 125, SRM process 123 will be omitted because it is similar to the processing at the time of copying operation. 【0172】ECSプロセス124では、スキャナエンジンの資源獲得の実行結果メッセージを受信したら、スキャンパラメータ確定要求メソッドを実行して、FCS [0172] In ECS process 124, upon receiving the execution result message of resource acquisition of the scanner engine, and perform a scan parameter decision request method, FCS
プロセス127に対しスキャンパラメータ確定要求メッセージを送信する(ステップS707)。 To the process 127 sends a scan parameter decision request message (step S707). 【0173】ここで、スキャンパラメータとは、たとえばファイン、ノーマルなどのスキャン濃度や原稿サイズ等である。 [0173] Here, the scan parameters, for example, a fine, such as scan concentration, document size, such as normal. FCSプロセス127は、このスキャンパラメータ確定要求メッセージを受信すると、スキャンパラメータ確定実行メソッドを実行して、ECSプロセス1 FCS process 127 receives this scan parameter decision request message, executes a scan parameter decision execution method, ECS Process 1
24に対してスキャンパラメータをメッセージとして送信する(ステップS708)。 Transmitting the scan parameters as message to the 24 (step S 708). 【0174】ECSプロセス124では、スキャンパラメータメッセージを受信すると、SRMプロセス123 [0174] In ECS process 124 receives the scan parameters message, SRM process 123
に対してスキャン・フィードインプロセスの生成を指示するため、スキャン・フィードインプロセス指示メソッドを実行してスキャン・フィードインプロセス指示メッセージを送信する(ステップS709)。 For instructing the generation of the scan feed-in process with respect to, and perform a scan feed in the process instruction method for transmitting a scan feed-in process indication message (step S709). 【0175】SRMプロセス123は、スキャン・フィードインプロセス指示メッセージを受信すると、スキャン・フィードインプロセス実行メソッドを実行して、スキャン・フィードインプロセスを生成する(ステップS [0175] SRM process 123 receives the scan feed-in process instruction message, and perform a scan feed-in process execution method, and generates a scan feed-in process (step S
710)。 710). ついでフィードインスタート要求メソッドを実行して、FCUHプロセス129に対して原稿のフィードインスタート要求メッセージを送信する(ステップS711)。 Then running the feed-in start request method, and transmits the document feed-in start request message to the FCUH process 129 (step S711). FCUHプロセス129がフィードインスタート要求メッセージを受信すると、原稿フィードインが開始され、これにより原稿のスキャンおよび指定宛先への送信が開始される。 When FCUH process 129 receives a feed-start request message, the document feed-in is started, thereby transmitting to the scanning of the document and the specified destination is started. 【0176】原稿のスキャンが開始されると、次ページの原稿があるか否かを示す、次ページ原稿有無通知メッセージがスキャナエンジンからECSプロセス124に対して送信される。 [0176] When the scanning of the document is started, indicating whether there is a document of the next page, next page document presence notification message is sent to the ECS process 124 from the scanner engine. 図7では、次ページ原稿有通知メッセージが通知されている(ステップS712)。 In Figure 7, it has been notified next page document Yes notification message (step S712). そして、原稿のスキャンが終了すると、スキャナエンジンからECSプロセス124に対してスキャン終了メッセージが送信される(ステップS713)。 When the document scanning is completed, the scanning end message is sent to the ECS process 124 from the scanner engine (step S713). 【0177】ECSプロセス124は、受信したスキャン終了メッセージを次ページ原稿有の旨とともにFCS [0177] ECS process 124, FCS a scan end message received along with the effect of the next page manuscript Yes
プロセス127へ送信する(ステップS714)。 And it transmits to the process 127 (step S714). 一方、原稿スキャンが終了すると、SRMプロセス123 On the other hand, when the document scanning is completed, SRM process 123
はフィードイン終了要求メソッドを実行し、FCUHプロセス129に対してフィードイン終了を指示して(ステップS715)、原稿フィードインを終了させる。 Performs a feed-out request method, and instructs the feed-out against FCUH process 129 (step S715), and terminates the document feed-in. 【0178】ユーザの指示などにより、ファックスアプリプロセス113が送信モード変更要求メソッドを実行して、FCSプロセス127に対して送信モード変更要求メッセージを送信した場合は(ステップS716)、 [0178] By such a user's instruction, the fax application process 113 performs a transmission mode change request method, the case of transmitting transmission mode change request message to the FCS process 127 (step S716),
ECSプロセス124は、スキャンパラメータ確定要求メソッドを実行して、スキャンパラメータ確定要求メッセージをFCSプロセス127に対して送信する。 ECS process 124 executes a scan parameter decision request method, and transmits a scan parameter decision request message to the FCS process 127. これに対し上述のようにFCSプロセス127は、スキャンパラメータメッセージをECSプロセス124に送信する(ステップS718)。 In contrast FCS process 127 as described above, it transmits the scan parameters message to ECS process 124 (step S718). 【0179】ECSプロセス124は、スキャンパラメータメッセージを受信すると、スキャン・フィードインプロセス指示メソッドを実行し、次ページ目のスキャン・フィードインプロセスの実行をSRMプロセス123 [0179] ECS process 124, upon receiving the scan parameters message, run the scan feed-in process instruction method, SRM to execute the scan feed-in process of the next page process 123
に指示してスキャン・フィードインプロセスを開始する(ステップS719、S720)。 And instructs to start the scan feed-in process (step S719, S720). 【0180】一方、1ページの指定宛先へのファクシミリ送信が完了すると、FCSプロセス127は、EOM [0180] On the other hand, when the facsimile transmission to the first page of the designated destination are completed, FCS process 127, EOM
メッセージ(異なる送信モードで次ページ有り)をFC Message (there is the next page in a different transmission mode) FC
UHプロセス129へ送信し(ステップS721)、これを受信したFCUHプロセス129はEOMを指定宛先へ送信する(ステップS722)。 Sent to UH process 129 (step S721), FCUH process 129 that has received this sends an EOM to the specified destination (step S722). 【0181】FCUHプロセス129が指定宛先から受信正常の通知を受けた場合には(ステップS723)、 [0181] If the FCUH process 129 has received a normal notification received from the specified destination (step S723),
SRMプロセス123に対して送信成功メッセージを送信し(ステップS724)、これを受信したSRMプロセス123がECSプロセス124に対してプロセス正常終了メッセージを送信する(ステップS725)。 Transmits a transmission success message to the SRM process 123 (step S724), SRM process 123 receiving this sends a process normal termination message to the ECS process 124 (step S725). さらに、プロセス正常終了メッセージを受信したECSプロセス124は、スキャン処理完了通知メソッドを実行して、FCSプロセス127に対し1ページ目のスキャン処理完了通知メッセージを送信する(ステップS72 Furthermore, ECS process 124 receives the process success message executes the scan process completion notification method, with respect to FCS process 127 sends a first page scan process completion notification message (Step S72
6)。 6). 【0182】そして、送信成功メッセージを受信したS [0182] Then, S, which has received the transmission success message
RMプロセス123は、スタンプ実行要求メソッドを実行して、送信日時、発信元等のスタンプを指定宛先へ送信する旨をスキャナエンジンに指示する(ステップS7 RM process 123 executes the stamp execution request method, transmission date, the effect of sending the stamp of the source such as to specify the destination instructs the scanner engine (step S7
27)。 27). 【0183】SRMプロセス123は、2ページ目の原稿のフィードインを開始するため、フィードインスタート要求メソッドを実行し、FCUHプロセス129に対して原稿のフィードインスタート要求メッセージを送信する(ステップS728)。 [0183] SRM process 123, to start the feed-in of the second page of the document, to run the feed-in start request method, to send a document of the feed-in start request message to the FCUH process 129 (step S728) . FCUHプロセス129はフィードインスタート要求メッセージを受信して、原稿フィードインが開始され、これにより2ページ目の原稿のスキャンおよび指定宛先への送信が開始する。 FCUH process 129 receives the feed-in start request message, the document feed-in is started, thereby transmitting to the second page of the document scanning and specified destination is started. 【0184】原稿のスキャンが開始されると、次ページ原稿有無通知メッセージがスキャナエンジンからECS [0184] When the scanning of the document is started, ECS is next page document presence notification message from the scanner engine
プロセス124に対して送信される。 It is sent to process 124. 、図7では、次ページ原稿無通知メッセージが通知され、ECSプロセス124に通知されている(ステップS729)。 In Figure 7, it is notified next page document no notification message is notified to the ECS process 124 (step S729). そして、原稿のスキャンが終了すると、スキャナエンジンからECSプロセス124に対してスキャン終了メッセージが送信される(ステップS730)。 When the document scanning is completed, the scanning end message is sent to the ECS process 124 from the scanner engine (step S730). 【0185】ECSプロセス124は、受信したスキャン終了メッセージを次ページ原稿無の旨とともにFCS [0185] ECS process 124, FCS a scan end message received along with the effect of the next page manuscript No
プロセス127へ送信する(ステップS731)。 And it transmits to the process 127 (step S731). 一方、スキャンが終了すると、SRMプロセス123はフィードイン終了要求メソッドを実行して、FCUHプロセス129に対してフィードイン終了メッセージを送信し(ステップS732)、これにより原稿フィードインを終了させる。 On the other hand, when the scan is completed, SRM process 123 running a feed-out request method, and sends the feed-out message to the FCUH process 129 (step S732), thereby terminating the document feed-in. 【0186】2ページの指定宛先へのファクシミリ送信が完了すると、FCSプロセス127はEOPメッセージ(次ページ無し)をFCUHプロセス129へ送信し(ステップS733)、これを受信したFCUHプロセス129がEOPを指定宛先へ送信する(ステップS7 [0186] When the facsimile transmission to the second page of the designated destination are completed, FCS process 127 sends the EOP message (no next page) to FCUH process 129 (step S733), specifies FCUH process 129 the EOP which receives the and transmits to the destination (step S7
34)。 34). 【0187】指定宛先から受信正常の通知を受けた場合(ステップS735)、FCUHプロセス129はSR [0187] When receiving the normal notification received from the specified destination (step S735), FCUH process 129 SR
Mプロセス123に対して送信成功メッセージを送信し(ステップS736)、これを受信したSRMプロセス123が、ECSプロセス124に対してプロセス正常終了メッセージを送信する(ステップS737)。 Transmits a transmission success message to the M process 123 (step S736), SRM process 123 that has received this, transmits a process normal termination message to the ECS process 124 (step S737). 【0188】さらにプロセス正常終了メッセージを受信したECSプロセス124は、FCSプロセス127に対し2ページ目のスキャン処理完了通知メッセージを送信する(ステップS738)。 [0188] ECS process 124 further receives a process normal termination message, FCS process 127 to send the second page of the scan process completion notification message (step S738). また、送信成功メッセージを受信したSRMプロセス123は、スタンプ実行要求メソッドを実行して、送信日時、発信元等のスタンプの指定宛先へ送信の指示を行う(ステップS739)。 Further, SRM process 123 receives the transmission success message executes the stamp execution request method, transmission date, and instructs the transmission to the specified destination of the stamp of the source or the like (step S739).
そして、ECSプロセス124は、ジョブエンド通知メソッドを実行して、FCSプロセス127にジョブエンド通知メッセージを送信する(ステップS740)。 Then, ECS process 124 executes a job end notification method, and transmits a job end notification message to FCS process 127 (step S740). F
CSプロセス127は、このジョブエンド通知メッセージを受信することにより全ての原稿のファクシミリ送信動作を完了する。 CS process 127 completes the facsimile transmission operation of all of the document by receiving the job end notification message. 【0189】このように実施の形態1の複合機100では、各アプリプロセスなどクライアントプロセス201 [0189] In the compound machine 100 of the first such implementation, the client process, such as the application processes 201
となるプロセスが、ECSプロセス124、MCSプロセス125、SRMプロセス123などのサーバプロセス202となるプロセスに対し、メソッド実行によるメッセージ送信を行ってサービスの要求を行い、サーバプロセス202がメソッド実行によりサービスの提供および実行結果メッセージのクライアントプロセス201に対する送信を行うことでプロセス間通信を実現しているので、アプリケーション130とプラットホーム120 Become process, the process where the server process 202, such as ECS process 124, MCS process 125, SRM process 123, performs a service request by performing a message transmission by method execution, the server process 202 by method execution of the service since to achieve inter-process communication by performing transmission to the client process 201 of providing and running result message, the application 130 and the platform 120
という特殊な構成を有する複合機100において、簡易な手法によって多種多様なユーザサービスの機能を提供することができる。 In the MFP 100 with a special configuration that can provide the functionality of a wide variety of user services by a simple method. 【0190】また、各アプリケーション130,各コントロールサービスおよびSRM123のそれぞれはメソッドを有するオブジェクトである。 [0190] Further, each of the respective applications 130, each control service and SRM123 is an object having a method. したがって、アプリケーション130やコントロールサービスの一部のモジュールにのみ変更がある場合や、必要に応じてコントロールサービス、アプリケーション130を適宜、追加したとしても、サーバプロセス202となるモジュール側でメッセージを受信したときにサービス処理を実行するメソッドを実装し、クライアントプロセス201となるモジュール側でサービス要求メッセージを送信するメソッドを実装するというインタフェースを確保しておけば、サービスやデータの授受が可能となるため、各アプリや各コントロールサービスの追加または変更などのソフトウェア開発効率を向上させることができ、画像形成装置を可変性を持った構成とすることができる。 Therefore, and if there is a change only in a part of the modules of the application 130 and control services, control services as needed, the application 130 as appropriate, even when added, if the message was received on the module side as a server process 202 implement a method for executing a service process, if securing the interface that implements a method for transmitting a service request message module side as a client process 201, since the exchange of services and data can be, each it is possible to improve the application and software development efficiency, such as the addition or modification of the control service, an image forming apparatus can be configured with a variable. 【0191】さらに、各コントロールサービスのそれぞれは、メソッドを有するオブジェクトであるため、各オブジェクトのデータの隠蔽を図ることができ、アプリケーション130の開発をサードベンダなどの外部に委託した場合でも、コントロールサービスの内容の隠蔽した状態とすることができる。 [0191] Further, each of the control services, since an object having a method, it is possible to conceal the data of each object, even when commissioned to develop the application 130 to the outside, such as a third vendor, Control Service it can be concealed in a state of the content. (実施の形態2)実施の形態1にかかる複合機100では、サーバプロセスとクライアントプロセスとの関係を概念的に説明した。 In Embodiment 2 Embodiment MFP 100 according to the first, it described the relationship between the server process and the client process conceptually. そこで、この実施の形態2では、サーバプロセスおよびクライアントプロセスをより具体的に説明する。 Accordingly, in the second embodiment, illustrating a server process and the client process in more detail. なお、実施の形態2にかかる複合機100 Incidentally, the MFP according to the second embodiment 100
の構成は、図1と同様であるため説明を省略する。 Construction of is omitted because it is similar to FIG. 【0192】図8は、実施の形態2の複合機100上で動作するサーバプロセスとクライアントプロセスの関係を詳細に示すブロック図である。 [0192] Figure 8 is a block diagram showing in detail the relationship between the server process and the client process running on the MFP 100 of the second embodiment. ここで、クライアントプロセス1600は、サーバプロセス1610,162 Here, the client process 1600, the server process 1610,162
0に対して要求を行うことにより、サーバプロセス16 By performing request to 0, the server process 16
10,1620からサービスの提供を受ける例えばSC Receiving the service from 10,1620, for example, SC
S122などのプロセスをいう。 S122 refers to the process, such as. 【0193】また、サーバプロセス1610,1620 [0193] In addition, the server process 1610 and 1620
は、クライアントプロセス1600からの要求によりクライアントプロセス1600に対しサービスを提供する例えばECS124などのプロセスをいう。 Refers to the process, such as providing for example ECS124 the service to the client process 1600 in response to a request from the client process 1600. 【0194】図8に示すとおり、クライアントプロセス1600には複数のスレッド1601が起動している。 [0194] As shown in FIG. 8, a plurality of threads 1601 on the client process 1600 is running.
クライアントプロセス1600は、複数のスレッド16 The client process 1600, a plurality of threads 16
01を有していることから、複数のサーバプロセス16 Since it has a 01, a plurality of server processes 16
10,1620に対して同時にサービスを要求できる。 You can request the service at the same time against 10,1620. 【0195】また、クライアントプロセス1600は、 [0195] In addition, the client process 1600,
サーバプロセス1610,1620のサービスを要求するために、スレッド1601からサーバプロセス161 To request a service of a server process 1610, the thread 1601 server process 161
0,1620に対して関数コールを行い、その関数戻り値を受信することによってプロセス間通信を行う。 Perform a function call to 0,1620 communicates between processes by receiving the function return value. 【0196】クライアントプロセス1600のスレッド1601は、あらかじめサーバプロセス1610,16 [0196] thread 1601 of the client process 1600, advance server process 1610,16
20から提供されている関数をコールする。 Calling a function that is provided by 20. 関数は、クライアントスタブ1602に定義されている。 Function is defined in the client stub 1602. また、クライアントディスパッチャ1603は関数戻り値の受信を監視するスレッドである。 The client dispatcher 1603 is threaded to monitor the reception of the function return value. 【0197】クライアントプロセス1600は、サーバプロセス1610,1620ごとにクライアントディスパッチャ1603を起動してサーバプロセス1610, [0197] The client process 1600, the server process 1610 to start the client dispatcher 1603 for each server process 1610 and 1620,
1620と通信する。 To communicate with 1620. そして、関数コールを受けたサーバプロセス1610,1620は要求された関数に対応する処理を以下のように実行する。 Then, the server process receives a function call 1610 and 1620 executes a process corresponding to the requested function, as follows. 【0198】例えばサーバプロセス1610のサーバディスパッチャ1611は、サーバスケルトン1612にコーディングされている複数のスレッド1613から、 [0198] For example, the server dispatcher 1611 of the server process 1610, a plurality of threads 1613 that are coded in the server skeleton 1612,
要求された関数に対応するスレッド1613を選択する。 Selecting a thread 1613 corresponding to the requested function. ここで選択されるスレッド1613は、実施の形態1で説明した関数ハンドラ403に相当する。 Threads 1613 selected here corresponds to the function handler 403 described in the first embodiment. サーバプロセス1610のスレッド1613は、要求された処理を実行してその実行結果を関数戻り値としてクライアントプロセス1600に送信する。 Threads 1613 of the server process 1610 executes the requested processing to the client process 1600 the execution result as a function return value. 【0199】次に、実施の形態2にかかるクライアントプロセス1600と、サーバプロセス1610,162 [0199] Next, the client process 1600 according to the second embodiment, the server process 1610,162
0とを生成する生成方法について説明する。 0 and the generation method for generating a will be described. 図9は、実施の形態2のクライアントプロセスとサーバプロセスとを生成する画像形成装置用通信プログラム生成装置(以下、「スタブジェネレータ」という。)の機能的構成を示すブロック図である。 9, the image forming apparatus communication program generating device for generating a client process and a server process in the second embodiment (hereinafter, referred to as. "Stub generator") is a block diagram showing a functional configuration of. スタブジェネレータは、メッセージファイルからヘッダと、クライアントスタブと、サーバスケルトンを自動生成するものである。 Stub generator, a header from the message file, and the client stub, in which the server skeleton automatically generates. 【0200】図9に示すように、スタブジェネレータは、メッセージファイル1701を入力する入力部17 [0200] As shown in FIG. 9, the input section 17 stub generator, for inputting the message file 1701
02と、メッセージファイル1701に記述された内容の構文チェックを行う構文解析部1703と、メッセージファイル1701の記述内容から、ヘッダ1706とクライアントスタブ1707と、サーバスケルトン17 And 02, a parsing unit 1703 that performs syntax check of the contents described in the message file 1701, the description contents of the message file 1701, a header 1706 and a client stub 1707, the server skeleton 17
05とを生成してハードディスク等の記憶媒体に格納するコード生成部1704とを備えている。 05 and to generate and a code generation unit 1704 to be stored in a storage medium such as a hard disk. 【0201】まず、スタブジェネレータに入力されるメッセージファイル1701と、スタブジェネレータで生成されるヘッダ1706、クライアントスタブ1707 [0201] First, a message file 1701 to be input to the stub generator, a header 1706 is generated by the stub generator, the client stub 1707
およびサーバスケルトン1705について説明する。 And for the server skeleton 1705 will be explained. 【0202】メッセージファイル1701は、プロセス間通信の通信内容をC言語などのソースコードで記述したソースファイルである。 [0202] message file 1701 is a source file that describes the communication contents of the inter-process communication in the source code, such as C language. 図10は、メッセージファイルの記述例を示す説明図である。 Figure 10 is an explanatory diagram showing a description example of a message file. 図10に示すように、 As shown in FIG. 10,
メッセージファイル1701には、別のメッセージファイルや、C言語記述のインクルードヘッダを宣言するインクルード宣言と、サーバプロセスとクライアントプロセスの間で送受信するメッセージを記述したメッセージ記述と、クライアントプロセスからサーバプロセスに対して発行する関数の宣言などが記述されている。 The message file 1701, another and message files, and one C declares a description of the include headers include declarations, and message description that describes the messages sent between the server process and the client process, to the server process from a client process such as the declaration of the function to be issued Te is described. 【0203】メッセージは、主としてサーバプロセスとクライアントプロセスとの間でイベントや通知を行う際に発行するものであり、メッセージファイル1701のメッセージ記述としては、メッセージ名と、メッセージIDと、メッセージ方向、メッセージ内容を記述するようになっている。 [0203] message is intended primarily issued when an event or notification between the server process and the client process, as the message description of the message file 1701, and the message name, and the message ID, message direction, message It is adapted to describe the contents. 【0204】メッセージ方向には、「IN」、「OU [0204] in the message direction, "IN", "OU
T」、「SELF」がある。 T ", there is a" SELF ". 「IN」は、クライアントプロセスからサーバプロセスに対して送信するメッセージを意味する。 "IN" means a message to be transmitted to the server process from a client process. 「OUT」は、サーバプロセスからクライアントプロセスに対して送信するメッセージを意味する。 "OUT" means a message to be sent from the server process to the client process. また、「SELF」は自分自身のプロセスに対して送信するメッセージを意味する。 In addition, "SELF" means a message to be transmitted to their own process. 【0205】関数は、クライアントプロセスからサーバプロセスに処理要求や設定要求を行う際に発行するものである。 [0205] function is to be issued from the client process when making a processing request and setting request to the server process. メッセージファイル1701の関数宣言には、 The function declaration of the message file 1701,
関数名と、関数の型と、引数のみを記述し、関数の処理内容は記述しないようになっている。 And the function name, and the type of the function, describing the only argument, processing contents of the function so as not to describe. 【0206】クライアントスタブ1707は、クライアントプログラムから呼び出される関数のサーバプロセスに対する発行を記述したソースファイルである。 [0206] The client stub 1707 is a source file that describes the issue to the server process of the function that will be called from the client program. クライアントスタブ1707をコンパイルしてライブラリ化し、クライアントプログラムとリンクすることにより、 And a library to compile the client stub 1707, by linking the client program,
クライアントプログラムからの関数コールがクライアントスタブ1707を介してサーバプロセスへ発行されるようになっている。 Function call from the client program is adapted to be issued to the server process via the client stub 1707. 【0207】図11はスタブジェネレータにより生成されるクライアントスタブ1707の一例を示す説明図である。 [0207] Figure 11 is an explanatory diagram showing an example of a client stub 1707 which is generated by the stub generator. 図11に示すように、クライアントスタブ170 As shown in FIG. 11, client stubs 170
7には、後述するサーバスケルトン1705に登録された関数ハンドラを呼び出すことにより、関数コールが行われるようになっている。 The 7, by calling the function handler registered in the server skeleton 1705 to be described later, so that the function call is made. サーバスケルトン1705 Server skeleton 1705
は、クライアントスタブ1707から呼び出された関数ハンドラとメッセージハンドラを登録したソースファイルである。 Is a source file that registered the function handler and a message handler that is called from the client stub 1707. 【0208】図12は、スタブジェネレータにより生成されるサーバスケルトン1705の一例を示す説明図である。 [0208] Figure 12 is an explanatory diagram showing an example of a server skeleton 1705 generated by the stub generator. 図12に示すように、サーバスケルトン1705 As shown in FIG. 12, the server skeleton 1705
にはクライアントスタブ1707に記述された関数に対応した関数ハンドラが登録されている。 Function handler is registered corresponding to the functions described in the client stub 1707 to. 【0209】関数ハンドラでは引数の受け渡し部のみが記述され、処理内容を記述する実装記述部は空欄の状態で生成されている。 [0209] Only delivery section of the argument in the function handler is described, implementation description unit describes the processing contents of which are generated by the blank state. この実装記述部には、クライアントプログラムからクライアントスタブ1707を介して発行される関数の処理内容を、サーバプログラムの開発者が自在に記述できるようになっている。 The implementation description section, the processing content of a function issued from the client program via the client stub 1707, the developer of the server program is adapted to be freely described. ヘッダ1706 Header 1706
は、サーバスケルトン1705とクライアントスタブ1 The server skeleton 1705 and client stub 1
707で共通の定義、宣言などを記述したソースファイルである。 Common definition in the 707, the declaration is a source file that describes the like. 【0210】図13はスタブジェネレータにより生成されるヘッダ1706の一例を示す説明図である。 [0210] Figure 13 is an explanatory diagram showing an example of a header 1706 that is generated by the stub generator. 図13 Figure 13
に示すように、ヘッダ1706には、メッセージファイル1701に記述されたインクルード宣言、メッセージID、メッセージの構造体などのメッセージ宣言、関数宣言および関数ハンドラ宣言などが記述された状態で生成されるようになっている。 As shown in, the header 1706, include declarations is described in the message file 1701, a message ID, a message declaring such structures messages, as such function declaration and the function handler declaration is generated in the state described going on. 【0211】次に、スタブジェネレータによるサーバスケルトン1705、クライアントスタブ1707およびヘッダ1706の生成処理について説明する。 [0211] Next, the server skeleton 1705 by stub generator, the generation process of the client stub 1707 and header 1706 will be described. 図14 Figure 14
は、サーバスケルトン、クライアントスタブおよびヘッダの生成処理のフローチャートである。 The server skeleton is a flowchart of a process of generating the client stub and header. 【0212】スタブジェネレータの構文解析部1703 [0212] The syntax of the stub generator analysis unit 1703
は、メッセージファイル1701に記述された関数宣言、メッセージ定義、インクルード宣言、C言語記述の文法チェックを行い(ステップS1801)、さらにメッセージファイル1701に定義されている関数名およびメッセージ定義の中のメッセージID、メッセージ名の一意性の判断を行う(ステップS1802)。 The function declaration described in the message file 1701, the message definition, include declaring performs syntax check of the C language description (step S1801), the message ID in the function name and message definitions defined further in the message file 1701 performs the uniqueness of the judgment of the message name (step S1802). 【0213】そして、関数宣言、メッセージ定義、インクルード宣言の記述に文法エラーがあった場合、あるいは関数名、メッセージID、メッセージ名のいずれかが重複している場合には、ユーザに構文エラーである旨のメッセージを通知し処理を終了する(ステップS180 [0213] Then, the function declaration, the message definition, in the case where if there is a syntax error in the description of the include declaration, or a function name, message ID, any of the message name is a duplicate is a syntax error to the user and ends the notification to the effect that the message processing (step S180
3、S1804)。 3, S1804). 【0214】構文解析後、コード生成部1704は、メッセージファイル1701の記述内容から、ヘッダ17 [0214] After parsing, code generation unit 1704, from the description contents of the message file 1701, the header 17
06と、サーバスケルトン1705と、クライアントスタブ1707を生成する。 And 06, and the server skeleton 1705, to generate the client stub 1707. 具体的には、メッセージファイル1701のインクルード宣言とC言語記述とをヘッダ1706にそのまま転記し、メッセージファイル17 Specifically, as it is posted and include declarations and C language description of the message file 1701 to header 1706, message files 17
01のメッセージ定義に記述されているメッセージ構造体をヘッダ1706にコピーする(ステップS180 Described in the message definition of the 01 copies the message structure in a header 1706 are (step S180
5)。 5). 【0215】また、コード生成部1704は、メッセージファイル1701の関数宣言から関数ハンドラ名を自動生成し(例えば、関数名abcの場合、関数ハンドラ名をabc_handlerとして生成する)、生成された関数ハンドラ名をサーバスケルトン1705内に登録する。 [0215] In addition, the code generation unit 1704, the function handler name is automatically generated from the function declaration message file 1701 (for example, if the function name abc, to generate a function handler name as Abc_handler), function handler name generated the register in the server skeleton 1705. 【0216】そして、関数ハンドラの処理内に、引数受け渡しの記述を行うとともに、戻り値領域の生成システムコールの発行を記述する。 [0216] Then, described in the processing of a function handler performs descriptions argument passing, issuing generation system call return value area. 関数ハンドラの実際の処理内容を記述する実装記述部の欄を空欄とし、その実装記述部の後に、戻り値送信と戻り値領域解放の各システムコールの発行を記述する(ステップS1806)。 The column implementation description unit describes the actual processing of the function handler is blank, described after the implementation description part, the return value transmission and return area release issuing the system call (Step S1806). 【0217】また、コード生成部1704は、メッセージファイル1701に記述された関数宣言ごとに、関数名と引数の記述をクライアントスタブ1707に登録し、その関数の処理内に、関数コールメッセージ生成コールと関数ハンドラの呼び出しと戻り値解放の各システムコールを記述する(ステップS1807)。 [0217] In addition, the code generation unit 1704, for each the described function declaration in the message file 1701, and registers the description of the function name and arguments to the client stub 1707, in the processing of the function, the function call message generating call describe each system call invocation and return release function handler (step S1807). なお、関数ハンドラ呼び出しには、発行した関数の戻り値の待ち受ける関数戻り値待ちシステムコールが内部的に発行されるようになっている。 Note that the function handler calls the function return value wait system call to wait with Return of issued function is adapted to be issued internally. 【0218】このようにスタブジェネレータにより、クライアントスタブ1707とサーバスケルトン1705 [0218] By this way stub generator, client stub 1707 and the server skeleton 1705
とヘッダ1706を生成したら、次にサーバオブジェクトおよびクライアントオブジェクトを完成させる。 And After generating a header 1706, to then complete the server object and a client object. 【0219】サーバプログラムの開発者は、サーバスケルトン1705の関数ハンドラの実装記述部(空欄) [0219] developers of server programs, implementation description of the function handler of the server skeleton 1705 (blank)
に、関数ハンドラで行うべき処理内容をエディタなどを利用して記述し、サーバスケルトン1705をヘッダ1 , The processing contents to be performed by the function handler described by using like editors, header server skeleton 1705 1
706とともにコンパイルしてサーバスタブオブジェクトを生成する。 706 Compile generates the server stub object. また、サーバスケルトン1705に登録した関数ハンドラを宣言するとともに、クライアントプロセスとの間でメッセージファイル1701に記述されたメッセージの送受信を行うメッセージハンドラ、エラー処理を行うエラーハンドラ、サーバの初期化、サーバディスパッチャ起動等のシステムコールの発行を記述したサーバソースファイルを作成してコンパイルし、サーバスタブオブジェクトとリンクして、サーバプログラムを完成させる。 Also, with declaring a function handler registered with the server skeleton 1705, a message handler, error handler, the server initialization of performing error processing for sending and receiving messages described in the message file 1701 to and from the client process, the server dispatcher the issuance of a system call such as start-up and compiled to create a server source file that describes, link and server stub object, to complete the server program. 【0220】一方、クライアントスタブ1707はヘッダ1706とともにコンパイルしてクライアントスタブオブジェクトを生成する。 [0220] On the other hand, the client stub 1707 to generate the client stub object to compile with the header 1706. サーバプロセスごとにクライアントスタブオブジェクトを生成し、生成した複数のクライアントスタブオブジェクトをライブラリとする。 It generates a client stub object for each server process, and the resulting library multiple client stub object. 【0221】また、関数の発行、関数ハンドラの宣言、 [0221] In addition, the issuance of a function, the function declaration handler,
エラー処理を行うエラーハンドラの宣言、クライアントプロセスとの間でメッセージファイル1701に記述されたメッセージの送受信を行うメッセージハンドラ、およびクライアントプロセスの初期化やクライアントディスパッチャ起動等のシステムコールの発行を記述したクライアントプログラムを作成してコンパイルし、スタブのライブラリとリンクすることによりクライアントプログラムを完成させる。 Declaration of error handler for performing an error process, describing the issue of message handlers, and initialization and system call client dispatcher start of the client process to send and receive written messages in the message file 1701 to and from the client process client compiled by creating a program, to complete the client program by the library and the link of the stub. 【0222】図15は、クライアントプログラムから関数コールを行った場合におけるサーバプログラムとの呼び出しおよび応答のシーケンスを示す説明図である。 [0222] Figure 15 is an explanatory diagram showing a sequence of calls and responses between the server program in the case of performing a function call from the client program. なお、サーバプログラムとクライアントプログラムは実際は実行可能形式のオブジェクトファイルであるが、図1 Note that the server program and the client program actually is an object executable files, Figure 1
5では、説明の都合上いずれもソースコードで表示している。 In 5, both for the convenience of explanation are displayed in the source code. 【0223】クライアントプログラムからサーバプログラムに対して、たとえばOpen関数をコールすると、 [0223] from the client program to the server program, for example, when you call the Open function,
クライアントスタブオブジェクトで定義されたOpen Open that is defined on the client stub object
が呼び出される(ステップS1901)。 It is called (step S1901). そして、このスタブのOpenの処理の中で、Openの関数ハンドラOpen_handlerがサーバプログラムに対してコールされる(ステップS1902)。 Then, in the processing of the Open of this stub function handler Open_handler of Open is called the server program (step S1902). 【0224】サーバプログラムでは、クライアントスタブオブジェクトから関数ハンドラOpen_handl [0224] In the server program, function handler from the client stub object Open_handl
erの発行を受け取って、サーバスタブオブジェクトに登録されているOpen_handlerの実装記述部に記述されている処理を実行し(ステップS190 Receiving the issuance of er, it executes the process described in the implementation description of Open_handler registered in the server stub object (step S190
3)、その実行結果をクライアントスタブへ戻り値として返す(ステップS1904)。 3), and returns the execution result as a return value to the client stub (step S1904). クライアントプログラムでは、この戻り値をクライアントスタブから受け取って(ステップS1905)、次の処理へ移行する。 The client program receives the return value from the client stub (step S1905), the flow advances to the next step. 【0225】このように実施の形態2のスタブジェネレータでは、メッセージファイル1701に関数宣言を記述することによりクライアントスタブ1707とサーバスケルトン1705を容易に生成することができる。 [0225] In this manner stub generator of the second embodiment, it is possible to easily generate client stubs 1707 and server skeleton 1705 by describing the function declaration message file 1701. しかも生成されるサーバスケルトン1705の実装記述部は空欄となっているので、プログラム開発者は必要に応じて関数の処理内容を容易に変更するができる。 Moreover, since the implementation description unit of the server skeleton 1705 to be generated it is blank, the program developer the processing contents of functions can but be easily changed if necessary. 【0226】このため複合機100に可変性をもたせることができるとともに、多種多様な機能を実現させることができる。 [0226] with this because it is possible to impart a variability in the MFP 100, it is possible to realize various functions. さらに、サードベンダーなどの他社がクライアントプログラムの開発を行う場合でも、クライアントプログラムには提供される関数コールを記述するだけでプロセス間通信が可能となるので、内部の通信プロトコルの隠蔽性を保つことが可能となる。 Furthermore, even if the other companies, such as third party vendor to develop the client program, since it is possible to only communicate between the processes describe the function calls that are provided to the client program, to maintain the concealment of the internal communication protocol it is possible. 【0227】また、実施の形態2のスタブジェネレータでは、プロセス間通信を関数コールで実現しているので、ジョブの並列実行をスレッドで実現した場合でも、 [0227] In the stub generator of the second embodiment, since the realized interprocess communication function call, even when implemented with threads parallel execution of the job,
高速なプロセス間通信が可能となる。 Fast interprocess communication is possible. また、関数からの戻り値によってスレッド間の同期をとることができるので、同期のための処理プログラムを別途作成する必要がなくなり、プログラム開発の労力を低減することができる。 Further, it is possible to synchronize threads by the return value from the function, it is not necessary to create separate processing program for synchronization, it is possible to reduce the effort of program development. (実施の形態3)実施の形態1にかかる複合機100では、オブジェクトのメソッドを利用したプロセス間通信を行うものであったが、この実施の形態3にかかる複合機100は、さらにエージェントの機能を利用したものである。 In (Embodiment 3) MFP 100 according to the first embodiment, but were to perform inter-process communication using a method of an object, the MFP 100 according to the third embodiment, further functions of the agent it is obtained by using the. 【0228】図16は、実施の形態3にかかる複合機の構成を示すブロック図である。 [0228] Figure 16 is a block diagram showing a configuration of the MFP according to the third embodiment. 図16に示すように、実施の形態3の複合機100は、エージェントアプリ11 As shown in FIG. 16, the MFP 100 according to the third embodiment, the agent application 11
7をアプリケーション層に備えている点が実施の形態1 Embodiment is that it includes a 7 to the application layer 1
の複合機100と異なる。 Of different from the MFP 100. このため、他の構成については説明を省略する。 Therefore, it will not be described other configurations. なお、実施の形態3にかかる複合機100はネットワークインタフェース106によってL Incidentally, the MFP 100 according to the third embodiment is L by the network interface 106
ANなどのネットワークに接続された状態となっている。 It has become a connected state to a network such as the AN. 【0229】エージェントアプリ117は、ネットワークを介して受信したエージェントの内容を解釈して実行するアプリケーションであり、本発明におけるエージェント処理手段を構成する。 [0229] agent application 117 is an application that interprets and executes contents of the agent received through the network, configuring the agent processing unit in the present invention. ここで、エージェントとは、 Here, the agent,
ユーザに代行して自らの環境を自律的に判断して能動的に動作したり、ネットワークを通じて移動するプログラムである。 Or operate actively autonomously determine their environment on behalf of a user, a program for moving through the network. 【0230】エージェントを用いることで、ネットワークの負荷を軽減したり、ネットワークを常に占有する必要がなくなる。 [0230] By using the agent, or to reduce the load on the network, always there is no need to occupy the network. また、連続的な処理を効率的に行うことができる。 Further, it is possible to perform continuous processing efficiently. なお、エージェントの動作および利点については、以下に示す例で詳細に説明する。 Note that the operation and advantages of the agent, is described in detail in the examples below. また、エージェントアプリ117としては、例えば、telescri In addition, as the agent application 117, for example, telescri
ptコマンドを解釈することができるtelescri telescri that it is possible to interpret the pt command
ptエンジンなどを用いることができる。 Or the like can be used pt engine. 【0231】具体的には、エージェントアプリ117 [0231] More specifically, the agent application 117
は、ネットワークに接続された他の複合機やPCから送信されてきたエージェントをNCS128を介して受信し、その内容に一または複数のサービス要求が含まれている場合、その内容から要求のあったサービスごとに必要なコントロールサービスやアプリケーション130を判断して選定し、選定されたコントロールサービスやアプリケーション130に対してサービス要求を行う。 Is an agent that has been transmitted from another MFP or PC connected to the network received via the NCS 128, if it contains one or more service requests to the content, there from the contents requested selected to determine the control services and applications 130 required for each service, a service request to the selected the control services and applications 130. 【0232】また、エージェントアプリ117は、受信したエージェントに含まれるサービス要求に必要なコントロールサービスやアプリケーション130が自己の複合機100内部で正常に動作しているか否かを判断し、 [0232] In addition, the agent application 117 determines whether the control services and applications 130 required for the service request included in the agent received is operating normally within the MFP 100 of the self,
正常動作していない場合(存在しない場合も含む)には、ネットワーク上の他の複合機100を自律的に検索して、当該他の複合機100にエージェントを送信する。 In the case where no normal operation (including when not present), the other MFP 100 on the network by searching autonomously transmits an agent to the other MFP 100. 【0233】エージェントを受信した他の複合機100 [0233] Another of the complex machine that received the agent 100
は、エージェントアプリ117によって、サービスごとに必要なコントロールサービスやアプリケーション13 Is, by the agent application 117, control services and is required for each service application 13
0の選定とサービス要求、および必要なコントロールサービスやアプリケーション130の正常動作の調査を行う。 0 of selection and service requirements, and of the necessary control services and applications 130 to investigate the normal operation performed. このため、サービスに必要なコントロールサービスやアプリケーション130が正常動作していない限り、 For this reason, as long as the control services and applications 130 is not operating normally necessary for the service,
エージェントはネットワーク内の複合機を順に移動していく。 The agent moves the MFP in the network in order. 【0234】ここで、サービス要求に必要なモジュールとは、例えばプリント要求についてはプリンタアプリ1 [0234] Here, the modules required for the service request, for example, the printer application 1 for the print request
11、ECS124、MCS125およびSRM123 11, ECS124, MCS125 and SRM123
であり、ファクシミリ送信要求についてはファックスアプリ113、FCS127、ECS124、MCS12 , And the fax application 113 for facsimile transmission request, FCS127, ECS124, MCS12
5およびSRM123である。 5 and is SRM123. 【0235】次に、実施の形態3にかかる複合機100 [0235] Next, the MFP according to the third embodiment 100
によるエージェント機能を利用したプロセス間通信について説明する。 Interprocess communication using an agent function by describing. なお、実施の形態3にかかる複合機10 Incidentally, the MFP 10 according to the third embodiment
0において、複合機100内部で動作するプロセス間の通信は、実施の形態1の複合機100と同様に、オブジェクトのメソッド実行によるメッセージ送信によって実現されている。 At 0, the communication between processes running within the MFP 100, similar to the compound machine 100 of the first embodiment, is realized by a message sent by the method execution of the object. 【0236】図17は、このエージェント機能を複合機に適用した場合のユーザのPCと複合機のやりとりの例を示す模式図である。 [0236] Figure 17 is a schematic diagram showing an example of interaction PC and MFP user when applying this agent function to the MFP. 図19は、複合機100aにおけるプロセス間通信の流れを示す説明図である。 Figure 19 is an explanatory diagram showing a flow of inter-process communication in the MFP 100a. ここでは、LANなどのネットワーク901にPC900および複数の複合機100a,100b,100cが接続されているものとする。 Here, it is assumed that PC900 and a plurality of MFP 100a to the network 901 such as LAN, 100b, 100c are connected. また、各複合機100a,100 In addition, each MFP 100a, 100
b,100cは図16に示した構成を有するものとする。 b, 100c is assumed to have the structure shown in FIG. 16. 【0237】また、PC900はエージェントの送信を行うエージェントエンジン902が搭載されている。 [0237] In addition, PC 900 is an agent engine 902 for transmitting the agent is installed. なお、複合機100a,100b,100cは、エージェントアプリ117がエージェントエンジン902に相当する。 Incidentally, the MFP 100a, 100b, 100c, the agent application 117 corresponds to the agent engine 902. 【0238】図17に示すように、PC900のエージェントエンジン902によって、エージェントが複合機100aに対して送信される。 [0238] As shown in FIG. 17, by the agent engine 902 of PC 900, the agent is transmitted to the MFP 100a. このエージェントには、 The agent,
複数のサービス要求を記述することができる。 You can describe multiple service requests. このように複数のサービス要求が記述されたエージェントは、エージェントを受信する複合機(あるいは、さらにネットワーク上の他の複合機にエージェントが移動した場合には、その移動先の複合機)に対し、記述された複数のサービス要求を連続的に実行させることを指示している。 The agent in which a plurality of service requests is described as, compared MFP receives an agent (or further if the agent has moved to another MFP on the network, the destination MFP), It is instructing to execute the described multiple service requests were continuously. 【0239】図17の例では、「ファイル転送 X t [0239] In the example shown in FIG. 17, "File Transfer X t
o PC」および「プリント X」という2つのサービス要求がプログラム形式で一つのエージェントに記述されている。 o PC "and two of the service request to" print X "is described in one of the agent in the program format. ここで、「ファイル転送 X to PC」 Here, the "File Transfer X to PC"
は、複合機100aのHDD105に格納されているファイルXのPC900へのファイル転送要求を示している。 Shows a file transfer request to the PC900 file X stored in the HDD105 of the MFP 100a. また、「プリント X」は、ファイルXのプリント要求を示している。 In addition, "print X" indicates a print request for a file X. 従って、図17に示す例のエージェントは、エージェントを受信する複合機に対して、「ファイルXをPC900にファイル転送し、次にファイルXをプリントする」ことを指示したものである。 Therefore, the agent of the example shown in FIG. 17, the multifunction device that receives an agent is "file transfer the file X to the PC 900, then prints the file X" that indicates that. 【0240】複合機100aでは、PC900からのエージェントをNCS128で受信して(ステップS11 [0240] received in the MFP 100a, the agent from the PC900 in NCS 128 (step S11
01)、エージェントアプリ117へ送信する(ステップS1102)。 01), and transmits the information to the agent application 117 (step S1102). 【0241】エージェントアプリ117は、受信したエージェントに記述されたサービス要求の内容から、まずファイル転送に必要なネットファイルアプリ115とM [0241] agent application 117, from the contents of the service request that has been described to the agent received, and a network file application 115 required to first file transfer M
CS125を選定する。 To select the CS125. また、エージェントアプリ11 In addition, the agent application 11
7は、受信したエージェントの内容から、プリント機能に必要なプリンタアプリ111とECS124とMCS 7, the contents of the agent received, the printer application 111 required print function ECS124 and MCS
125とSRM123とを選定する。 Selecting the 125 and SRM 123. 【0242】そして、エージェントアプリ117は、ファイル転送のためネットファイル115に対して、HD [0242] Then, the agent application 117, for a net file 115 for file transfer, HD
D105に格納されているファイルXをPC900にファイル転送する旨のサービス要求を行う(ステップS1 The file X stored in D105 to service request for file transfer to PC 900 (step S1
103)。 103). 【0243】ネットファイルアプリ115は、このサービス要求を受信すると、MCS125からHDD105 [0243] network file application 115, upon receiving the service request, from MCS125 HDD105
にアクセスして(ステップS1104、S1105)、 And access to (step S1104, S1105),
ファイルXを読み出し、メモリなどに一時的に格納しておく。 Read the file X, it is stored temporarily in a memory or the like. ネットファイルアプリ115は、読み出しの実行結果をエージェントアプリ117に通知する(ステップS1111)。 Network file application 115 notifies the execution result of the reading to the agent application 117 (step S1111). 【0244】また、エージェントアプリ117は、プリンタアプリ111に対して、読み出したファイルXをカラーラインプリンタ102または白黒プリンタ101でプリントする旨の要求を行う(ステップS1106)。 [0244] In addition, the agent application 117, the printer application 111, performs a request to print the read file X in the color line printer 102, or black and white printer 101 (step S1106). 【0245】プリンタアプリ111は、このプリント要求を受信すると、実施の形態1でプリント動作で説明した手順で、ECS124、MCS125、SRM123 [0245] The printer application 111 receives the print request, the procedure described in the printing operation in the first embodiment, ECS 124, MCS 125, SRM 123
間のプロセス間通信を行って(ステップS1107、S Performing interprocess communication between (step S1107, S
1108、S1109)、ファイルXをプリントする(ステップS1110)。 1108, S1109), it prints the file X (step S1110). そして、プリンタアプリ11 Then, the printer application 11
1は、エージェントアプリ117にプリント実行結果を通知する(ステップS1112)。 1 notifies the print execution result to the agent application 117 (step S1112). 【0246】つぎに、エージェントアプリ117は、2 [0246] Next, the agent application 117, 2
つの実行結果を追加したエージェントとメモリに一時的に格納されているファイルXを、NCS128によってネットワーク上のPC900に送信する(ステップS1 One of the execution result to the added agent and memory file X which has been temporarily stored, and transmits the PC900 on the network by NCS 128 (step S1
113,S1114)。 113, S1114). 【0247】ここで、エージェントアプリ117を利用しなかった場合の処理について説明しておく。 [0247] In this case, keep describes the processing of the case you did not use the agent application 117. 図18 Figure 18
は、エージェント機能を利用しない場合のユーザのPC Is, of a user if you do not use an agent function PC
と複合機のやりとりの例を示す模式図である。 Is a schematic diagram showing an example of interaction MFP with. 【0248】図18に示すように、エージェントアプリ117がない場合には、ユーザはPC900から「ファイルXのファイル転送」と「ファイルXのプリント」という2つの要求を別々に複合機100aに送信しなければならない。 [0248] As shown in FIG. 18, when there is no agent application 117, the user sends the "File X File Transfer" and "File X print" that the two requests separately MFP 100a from PC900 There must be. また、各要求に対する応答も別個に受信されることになる。 Also, so that the response to each request are separately received. このため、効率的なサービスの提供を受けられないばかりか、ネットワークにアクセスする回数も4回と多くなってしまう。 For this reason, not only not receive the provision of efficient services, resulting in the number of times to access the network also become the most 4 times. 【0249】これに対し、図17に示すようにエージェントを利用した場合には、PC900のユーザは「ファイルXのファイル転送とプリント」という2つの要求を一つのエージェントで行えば、エージェントアプリ11 [0249] In contrast, when using the agent as shown in FIG. 17, the user of the PC900 is by performing two requests "File X file transfer and print" in one of the agent, the agent application 11
7によって、必要なアプリ、コントロールサービスが自律的に判断されて各要求に対するサービスの提供を効率的に受けることができる。 By 7, you can be required application, control service receives efficiently the provision of services for each request is autonomously determined. このため、ネットワークにアクセスする回数も、最初のサービス要求送信時と、最後の実行結果通知およびファイル転送時の2回だけですむので、ネットワークにかかる負荷も軽減する。 Therefore, the number of times to access the network even and during the initial service request transmission, since it is only necessary two at the time of the last execution result notification and file transfer load is also alleviated according to the network. 【0250】つぎに、エージェントを利用してネットワークに接続された複数の複合機の間でプロセス間通信を行う場合について説明する。 [0250] Next, the case of performing inter-process communication between a plurality of composite machines connected to the network using the agent. 図20は、エージェント機能を複数の複合機に適用した場合のユーザのPCと複合機のやりとりの例を示す模式図である。 Figure 20 is a schematic diagram showing an example of interaction PC and MFP user when applying the agent functions to a plurality of MFP. 【0251】図20に示すように、LANなどのネットワークにはPC900と複数の複合機100a,100 [0251] As shown in FIG. 20, the network such as LAN PC 900 and a plurality of MFP 100a, 100
b,100cが接続されている。 b, 100c are connected. 複合機100a,10 MFP 100a, 10
0bおよび100cは、いずれも図16に示した構成を有しており、従ってエージェントアプリ117を備えている。 0b and 100c are all have the configuration shown in FIG. 16, thus includes an agent application 117. また、PC900にはエージェントの送信を行うエージェントエンジン902が搭載されている。 The agent engine 902 that performs transmission of the agent are mounted on the PC 900. 【0252】図20に示すように、エージェントにはサービス要求コマンドが記述されている。 [0252] As shown in FIG. 20, the service request command to the agent are described. このようにサービス要求コマンドが記述されたエージェントは、エージェントを受信した複合機で記述されているサービス要求コマンドのサービス要求が実行可能か否かを調べ、実行可能である場合にサービス要求を行い、実行不可能である場合にネットワークに接続された他の複合機にエージェントを移動(送信)させて、移動先の複合機でサービス要求が実行可能か否かを調べる旨を示したものである。 The agent service request command is described as the service request of the service request command is described by the MFP that has received the agent examines whether it is possible to perform, performs a service request when it is feasible, and moving to (transmit) an agent other MFP connected to the network if it is not feasible, one in which the service request indicates that examine whether executable on the destination MFP. 【0253】図20のエージェントの例では、サービス要求コマンドとして「ファクシミリ送信」が指定されているので、エージェントを受信した複合機100aで「ファクシミリ送信」が実行可能か否かを調べ、実行可能である場合には「ファクシミリ送信」のサービス要求を行い、実行不可能である場合にはネットワークに接続された他の複合機100b,100cなどにエージェントを送信して、移動先の複合機で複合機100aと同様に処理を行うことを指示している。 [0253] In the example of the agent of FIG. 20, since "facsimile transmission" is specified as a service request command to determine whether feasible "facsimile transmission" in the MFP 100a received the agent executable It performs a service request "facsimile transmission" in some cases, other MFP 100b connected to the network when it is infeasible to send an agent such as 100c, the MFP at the destination MFP It instructs to perform the processing similar to the 100a. 【0254】なお、図20のエージェントの例では、サービス要求コマンドを一つしか指定していないが、複数のサービス要求コマンド指定しても良い。 [0254] In the example of the agent of Figure 20, but does not specify only one service request command may be specified multiple service request command. この場合には、指定された複数のサービス要求コマンドに対して順次上記と同様の処理が行われることになる。 In this case, sequentially so that the same processing is performed for a specified plurality of service request command. 【0255】また、図20のエージェントの例では、サービス要求コマンドしか記述されておらず、この場合、 [0255] In the example of the agent of Figure 20, only the service request command has not been described, in this case,
サービス要求が実行できないと判断された場合に自律的にネットワーク内の他の複合機にエージェントが移動することを示しているが、エージェントにおいて、サービス要求コマンドの行の下に、さらに例えば「複合機10 While other agents of the multifunction apparatus autonomously in the network when the service request is determined to not be executed is shown to move, at the agent, under the line of the service request command further example, "MFP 10
0aのネットワークアドレス→複合機100bのネットワークアドレス→複合機100cのネットワークアドレス」などを記述して、ネットワーク内で移動する複合機およびエージェントが移動する順番を指定しても良い。 0a network address →, such as describing the network address → network address of the MFP 100c of the MFP 100b "of the MFP and the agent to move in the network may specify the order in which to move. 【0256】この場合には、複合機100aでサービス要求が実行できない場合に、エージェントが自律的に複合機100b、ついで複合機100cに移動することを示したこととなる。 [0256] In this case, a when the service request by the MFP 100a can not be performed, it showed that the agent moves autonomously MFP 100b then MFP 100c,. 【0257】なお、エージェントは、PC900のエージェントエンジン902によって、例えばtelesc [0257] Incidentally, the agent, the agent engine 902 of PC 900, for example telesc
riptのGOコマンドを実行することにより複合機1 The multifunction device 1 by executing a ript of the GO command
00aに送信される。 It is sent to the 00a. 【0258】複合機100aはこのエージェントをNC [0258] MFP 100a is this agent NC
S128で受信して、エージェントアプリ117へ送信する。 Is received by the S128, it is transmitted to the agent application 117. エージェントを受信したエージェントアプリ11 Agent application 11 that has received the agent
7はエージェントの内容を解釈し、まずファクシミリ送信に必要なファックスアプリ113、FCS127、E 7 interprets the contents of the agent, the fax application 113 necessary to first facsimile transmission, FCS127, E
CS124、MCS125およびSRM123の各プロセスが正常に動作しているか否かを調査する。 CS 124, MCS 125 and SRM123 each process to investigate whether it is functioning properly. 【0259】ここで、正常動作の調査は、たとえばエージェントアプリ117から各プロセスに対してアクセスし、アクセスに対する応答があった場合に正常動作していると判断するように構成すれば良い。 [0259] Here, investigations of the normal operation, for example, access to each process from the agent application 117 may be configured to determine the operating normally if there is a response to the access. 【0260】そして、ファックスアプリ113、FCS [0260] Then, the fax application 113, FCS
127、ECS124,MCS125およびSRM12 127, ECS124, MCS125 and SRM12
3のすべてが正常動作している場合は、これらのプロセスを選定し、ファックスアプリ113に対してファクシミリ送信要求を送信する。 If 3 all are operating normally, it selects these processes, and transmits facsimile transmission request to the fax application 113. この場合は、実施の形態1で説明したファクシミリ送信動作の手順と同様の処理が行われる。 In this case, the same processing as steps of facsimile transmission operation described in the first embodiment is performed. 【0261】しかし、ファックスアプリ113、FCS [0261] However, the fax application 113, FCS
127、ECS124,MCS125およびSRM12 127, ECS124, MCS125 and SRM12
3のいずれかが異常であると判断された場合は、次のような処理を行う。 If any of the 3 is judged to be abnormal, the following process is performed. ここでは、ECSプロセス124が異常であった場合を考える。 Here, consider the case ECS process 124 is abnormal. 【0262】このとき、エージェントアプリ117は、 [0262] In this case, the agent application 117,
動作が異常であるプロセスのプロセス名と自己のネットワークアドレスなどの情報をエージェントに追加する。 Operation to add information, such as the agent process name and its network address of the process is abnormal.
そして、ネットワーク901内の複合機を自律的に検索し、最初に発見された複合機(図12の例では複合機1 Then, the MFP in the network 901 autonomously search, first discovered MFP (multifunction peripheral in the example of FIG. 12 1
00b)にエージェントを送信する。 To send an agent to 00b). 【0263】複合機100bでは、エージェントアプリ117によって複合機100aから送信されてきたエージェントを受信する。 [0263] In the MFP 100b, it receives an agent that has been transmitted from the MFP 100a by the agent application 117. そして、複合機100aのエージェントアプリ117と同様にエージェントの内容を解釈し、ファクシミリ送信に必要なプロセスであって、かつエージェントに記述された、複合機100aで動作が異常なプロセスおよびそのプロセスから呼び出されるプロセスであるECS124、MCS125およびSRM1 Then, interprets the contents of the agent as well as the agent application 117 of the MFP 100a, a process required for facsimile transmission, and written to the agent, called from abnormal processes and their operation in the MFP 100a a process ECS 124, MCS 125 and SRM1
23が正常に動作しているか否かを調査する。 23 to investigate whether or not operating normally. そして、 And,
ECS124、MCS125およびSRM123のいずれもが正常であれば、その旨のメッセージをエージェントに追加して複合機100aに対して送信する。 ECS 124, if none of the MCS125 and SRM123 is normal, and transmits the additional message to that effect to the agent to the MFP 100a. 【0264】複合機100aのエージェントアプリ11 [0264] of the MFP 100a agent application 11
7は、複合機100bからのエージェントを受信すると、複合機100a内のファックスアプリ113とFC 7, upon receiving the agent from the MFP 100b, and the fax application 113 in the MFP 100a FC
S127とを選定するとともに、ECS124、MCS S127 and as well as selected, ECS 124, MCS
125、SRM123については複合機100b内のものを選定する。 125, for SRM123 is selected ones in the MFP 100b. これにより、ファクシミリ送信は、EC As a result, facsimile transmission, EC
Sプロセス124が正常に動作している複合機100b MFP 100b that S process 124 is operating normally
から行われる。 It is made from. 【0265】複合機100aでプロセスの選定が終了したら、ファクシミリ送信処理を次のように実行する。 [0265] After selection of the process in the MFP 100a is complete, to perform the facsimile transmission as follows. 図22は、複合機100aおよび複合機100bにおけるプロセス間通信の流れを示すデータシーケンス図である。 Figure 22 is a data sequence diagram illustrating a flow of inter-process communication in the MFP 100a and the MFP 100b. 【0266】複合機100aのエージェントアプリ11 [0266] of the MFP 100a agent application 11
7は、ファックス送信要求メッセージを、複合機100 7, the fax transmission request message, the MFP 100
a内のファックスアプリ127に送信する(ステップS And it transmits the fax application 127 in a (Step S
1400)。 1400). ファックスアプリ127は、ファックス送信要求メッセージを受信すると、送信スタート要求メソッドを実行して、FCSプロセス127に送信スタート要求メッセージを送信する(ステップS1401)。 Fax application 127 receives a fax transmission request message, executes a transmission start request method, and transmits a transmission start request message to the FCS process 127 (step S1401). 【0267】複合機100aのFCSプロセス127がファックスアプリプロセス113から送信スタート要求メッセージを受信した場合には、送信スタートメソッドを実行して、ジョブ動作モード設定要求メッセージをエージェントに追加する。 [0267] the FCS process 127 of the MFP 100a in the case of receiving the transmission start request message from the fax application process 113 executes the transmission start method, you add a job operation mode setting request message to the agent. そして、エージェントアプリ1 Then, the agent application 1
17によって複合機100bのネットワークアドレスにエージェントを送信する(ステップS1402)。 Send an agent to the network address of the MFP 100b by 17 (step S1402). これにより、ジョブ動作モード設定メッセージは、エージェントによってネットワークアドレスで指定された複合機100bに送信される。 Thus, the job operation mode setting message is transmitted to the MFP 100b specified by the network address by the agent. 【0268】複合機100bでは、エージェントアプリ117によってエージェントを受信して、エージェントに記述されているジョブ動作モード設定要求メッセージをECSプロセス124に送信する(ステップS140 [0268] In the MFP 100b, and receives an agent by the agent application 117 transmits the job operation mode setting request message described in the agent ECS process 124 (step S140
3)。 3). 複合機100bのECSプロセス124は、ジョブ動作モード設定要求メッセージを受信すると、ジョブ動作モード設定メソッドを実行してプリンタジョブの動作モード設定を行い、実行結果メッセージをエージェントに追加してエージェントアプリ117によってエージェントを複合機100aに送信する(ステップS140 ECS process 124 of the MFP 100b receives the job operation mode setting request message, performs the operation mode setting of the printer job running job operation mode setting method, the agent application 117 adds the execution result message to the agent transmitting the agent to the MFP 100a (step S140
4)。 4). 【0269】複合機100aは、複合機100bからのエージェントをエージェントアプリ117で受信して、 [0269] MFP 100a receives the agent from the MFP 100b in the agent application 117,
エージェントに記述されている実行結果メッセージをF The execution result messages described agent F
CSプロセス127に送信する(ステップS140 And it transmits the CS process 127 (step S140
5)。 5). FCSプロセス127は実行結果メッセージを受信すると、ジョブスタート要求メソッドを実行してジョブスタート要求メッセージをエージェントに追加する。 When FCS process 127 receives the execution result message, it adds a job start request message to the agent running job start request method.
そして、エージェントアプリ117によって複合機10 The MFP 10 by the agent application 117
0bにエージェントを送信する(ステップS140 Send an agent to 0b (step S140
6)。 6). 【0270】複合機100bでは、エージェントアプリ117によってエージェントを受信して、エージェントに記述されているジョブスタート要求メッセージをEC [0270] In the MFP 100b, and receives an agent by the agent application 117, the job start request message that is written to the agent EC
Sプロセス124に送信する(ステップS1407)。 To the S process 124 (step S1407).
複合機100bのECSプロセス124はジョブスタート要求メッセージを受信すると、ジョブスタートメソッドを実行して、プリンタジョブの開始処理を行い、その実行結果メッセージをエージェントに追加してエージェントアプリ117によってエージェントを複合機100 When ECS process 124 of the MFP 100b receives a job start request message, executes a job start method performs starting processing of the printer job, the MFP agent by the agent application 117 adds the execution result message to the agent 100
aに送信する(ステップS1408)。 Transmitted to a (step S1408). 【0271】複合機100aでは、複合機100bからのエージェントをエージェントアプリ117で受信して、エージェントに記述されている実行結果メッセージをFCSプロセス127に送信する(ステップS140 [0271] In the MFP 100a, and receives an agent from the MFP 100b in agent application 117, and transmits the execution result messages described agent FCS process 127 (step S140
9)。 9). 【0272】一方、複合機100bでは、ECSプロセス124がメモリ確保要求メソッドを実行して複合機1 [0272] On the other hand, the MFP 100b, ECS process 124 to perform memory allocation request method MFP 1
00b内のMCSプロセス125に対してメモリ確保要求メッセージを送信する(ステップS1410)。 Sending a memory reservation request message to the MCS process 125 in 00b (step S1410). また、スキャナエンジンの資源獲得のため、資源獲得要求メソッドを実行して、複合機100b内のSRMプロセス123に対して資源獲得要求メッセージを送信する(ステップS1411)。 Moreover, since the resource acquisition scanner engine, running resource acquisition request method, and transmits the resource acquisition request message to the SRM process 123 in the MFP 100b (step S1411). かかるメッセージの受信に対するMCSプロセス125およびSRMプロセス123 MCS process 125 for reception of such messages and SRM processes 123
の処理は、実施の形態1で説明した動作と同様であるため説明を省略する。 Processing is omitted because it is similar to the operation described in the first embodiment. 複合機100bのECSプロセス1 Of the MFP 100b ECS process 1
24は、資源獲得の実行結果メッセージを受信したら、 24, when it receives the resource acquisition of the execution result message,
スキャンパラメータ確定要求メソッドを実行してスキャンパラメータ確定要求メッセージをエージェントに追加して、エージェントアプリ117によってエージェントを複合機100aに送信する(ステップS1412)。 Add the scan parameter decision request message to the agent running a scan parameter decision request method, and transmits the agent to the MFP 100a by the agent application 117 (step S1412). 【0273】複合機100aでは、エージェントアプリ117によってエージェントを受信して、エージェントに記述されているスキャンパラメータ確定要求メッセージをFCSプロセス127に送信する(ステップS14 [0273] In the MFP 100a, and receives an agent by the agent application 117 transmits a scan parameter decision request message described in the agent FCS process 127 (step S14
13)。 13). FCSプロセス127は、このスキャンパラメータ確定要求メッセージを受信すると、スキャンパラメータのメッセージをエージェントに追加して、エージェントアプリ117によってエージェントを複合機100 FCS process 127 receives this scan parameter decision request message, add a message scan parameters to the agent, the MFP 100 the agent by the agent application 117
bに送信する(ステップS1414)。 Send to b (step S1414). 複合機100b MFP 100b
は、複合機100aから送信されたエージェントをエージェントアプリ117によって受信して、エージェントに記述されたスキャンパラメータメッセージをECSプロセス124に送信する(ステップS1415)。 Is an agent that has been transmitted from the MFP 100a to receive the agent application 117 transmits a scan parameter message described in agent ECS process 124 (step S1415). 【0274】これ以降のプロセス間通信は、同一複合機100bの内部で行われるものであり、実施の形態1で説明したファクシミリ送信動作と同様であるため説明を省略する。 [0274] The subsequent process communication is what is done within the same MFP 100b, omitted because it is similar to the facsimile transmission operation described in the first embodiment. これにより、複合機100aにおけるファクシミリ送信スタート要求に対して、複合機100bでファクシミリ送信が行われることになる。 Thus, the facsimile transmission start request in the MFP 100a, so that the facsimile transmission is performed by the MFP 100b. 【0275】複合機100bにおけるスキャンおよびファクシミリ送信処理が終了すると、複合機100bのE [0275] When scanning and facsimile transmission processing in the MFP 100b is completed, E of the MFP 100b
CSプロセス124は、スキャン終了通知メッセージをエージェントに追加し、エージェントアプリ117によってこのエージェントを複合機100aに送信する(ステップS1416)。 CS process 124 adds a scan end notification message to the agent, the agent application 117 sends the agent to the MFP 100a (step S1416). 複合機100aでは、このエージェントをエージェントアプリ117によって受信し、エージェントに記述されたスキャン終了通知メッセージをFCSプロセス127に送信する(ステップS141 The MFP 100a, receives the agent by the agent application 117 sends a scan end notification message described in agent FCS process 127 (step S141
7)。 7). 【0276】そして、複合機100aでは、エージェントアプリ117によってファクシミリ送信の実行結果をエージェントに追加して、このエージェントを複合機1 [0276] Then, in the MFP 100a, by adding the execution result of facsimile transmission to the agent by the agent application 117, the multifunction device 1 of this agent
00bに送信する(ステップS1418)。 Transmitted to 00b (step S1418). 複合機10 MFP 10
0bのエージェントアプリ117は、このエージェントを受信してPC900に転送する(ステップS141 Agent application 117 0b transfers the PC900 receives this agent (step S141
9)。 9). エージェントがPC900で受信されることによって、ファクシミリ送信動作を完了する。 By the agent it is received by the PC 900, to complete the facsimile transmission operation. 【0277】なお、この実施の形態3では、複合機10 [0277] In the third embodiment, the MFP 10
0bにおいて必要なプロセスが正常動作している場合について説明したが、複合機100bでも必要なプロセスに異常があった場合には、エージェントアプリ117によってエージェントはネットワーク上の他の複合機、例えば複合機100cに送信され、上述の複合機100b Although the case has been described that process required is normally operating in 0b, when there is an abnormality in the processes necessary even MFP 100b, the agent by the agent application 117 other MFP on the network, for example, the MFP sent to 100c, the aforementioned MFP 100b
における処理と同様の処理が行われる。 Same process as in is performed. 【0278】また、実施の形態3の複合機100a,1 [0278] Also, the MFP 100a, 1 of the third embodiment
00bでは、ECSプロセス124が正常動作していない場合を例にあげて説明したが、他のコントロールサービスあるいはアプリケーションのプロセスに異常があった場合あるいは存在しない場合も同様の処理が行われる。 In 00b, has been described as a case where ECS process 124 does not operate normally as an example, similar process may or not present when there is an abnormality in the process of the other control services or application takes place. この場合、コントロールサービスは存在するが、エージェントアプリ117を除いたアプリケーションが存在しない複合機であってもよい。 In this case, although the control service exists, or may be a complex machine that application does not exist, except for the agent application 117. 【0279】ここで、エージェントアプリ117を利用しなかった場合の処理について説明しておく。 [0279] In this case, keep describes the processing of the case you did not use the agent application 117. 図21 Figure 21
は、エージェント機能を利用しない場合のユーザのPC Is, of a user if you do not use an agent function PC
から複合機100a,100bに対するファックス送信要求のやりとりの例を示す模式図である。 MFP 100a from a schematic diagram illustrating an example of exchange of fax transmission request to 100b. 【0280】図21に示すように、ユーザがPC900 [0280] As shown in FIG. 21, the user PC900
から複合機100aに対して、ファックス送信要求を行った場合で、ECS124など必要なプロセスが正常動作していない場合には、複合機100aからPC90 From the MFP 100a, if the treatment is fax transmission request, if the process required such ECS124 does not operate normally, PC 90 from the MFP 100a
0に対して、ファクス送信不可の応答メッセージが送信される。 Against 0, the response message of fax transmission impossible is transmitted. 【0281】このため、ユーザはPC900から別の複合機100bに対して、ファックス送信要求を行う必要がある。 [0281] Thus, the user to another MFP 100b from PC 900, it is necessary to perform a facsimile transmission request. 複合機100bにおいてファックス送信に必要なプロセスがすべて正常動作している場合には、ファックス送信が行われ、複合機100bからPC900に対して、完了通知が送信されてくるが、複合機100 If the MFP 100b processes required faxing in are all operating normally, fax transmission is performed with respect PC900 from the MFP 100b, but completion notification is transmitted, the MFP 100
bでもファックス送信が不可能な場合にはユーザはさらに別の複合機に対してファックス送信要求を行う必要があり、ユーザの操作がきわめて煩雑なものとなる。 If b even fax transmission is not possible user needs to further carry out a fax transmission request to another MFP, the user's operation becomes extremely complicated. また、ファックス送信要求を繰り返し行えば、それだけP In addition, by performing repeated a fax transmission request, it only P
C900と複合機100a,100b間のネットワーク901の占有が生じてしまい、ネットワーク負荷も過大なものとなる。 C900 the MFP 100a, will occur occupied network 901 between 100b, network load becomes excessive ones. 【0282】これに対し、図20に示す実施の形態3の複合機100aのようにエージェントとエージェントアプリ117を使用した場合には、PC900のユーザはファックス送信要求が記述された1つのエージェントを、複合機100aに対して1回だけ送信するだけで、 [0282] In contrast, the single agents when used, the user of the PC900 is the fax transmission request is written agents and agent application 117 as the MFP 100a of the third embodiment shown in FIG. 20, only send only once to the MFP 100a,
たとえ複合機100aがファックス送信が不可能な状態であっても、上述のようにエージェントアプリ117が自律的にファックス送信可能な複合機をネットワーク内で自律的に検索して、検索された複合機100bによってファックス送信を行うようになっているので、多種多様な複合機のサービスをユーザに効率的に提供することができる。 Even MFP 100a is in a state that can not be faxed, the agent application 117 as described above to search autonomously within autonomously network fax transmittable MFP, retrieved MFP because and performs the facsimile transmission by 100b, it is possible to provide a wide variety of MFP services to users efficiently. 【0283】また、PC900と複合機100a,10 [0283] In addition, PC900 and the MFP 100a, 10
0b間のネットワークのアクセス回数も、最初のサービス要求送信時と、最後の完了通知の2回だけですむので、ネットワークにかかる負荷も軽減することとなる。 Number of accesses network between 0b also the time of the first service request transmission, since it is only necessary two last completion notification, so that the load on the network is also reduced. 【0284】なお、実施の形態3の複合機100a,1 [0284] Incidentally, the MFP 100a, 1 of the third embodiment
00bでは、本発明のエージェント処理手段としてエージェントアプリ117を設けているが、エージェント処理手段に相当するプロセスを、アプリケーション層ではなくコントロールサービス層に設けても良い。 In 00b, is provided with the agent application 117 as an agent processing unit of the present invention, a process corresponding to the agent processing unit may be provided on the control service layer rather than the application layer. この場合、既存のコントロールサービスとは別個に、例えばエージェントコントロールサービスを設けてエージェント処理手段を構成する他、例えば、SCS122などの既存のコントロールサービスのプロセスにエージェント処理を行うスレッドを設ける構成としてもよい。 In this case, separately from the existing control services, for example, other constituting the agent processing unit provided with a agent control service, for example, it may be provided with a thread that performs the agent process to existing control service processes, such as SCS122 . 【0285】また、実施の形態3において、図17および図20で示したエージェントの内容は、一例を示すものであり、複合機100の構成および機能、またはネットワーク901の構成などにより任意に記述することが可能である。 [0285] Further, in the third embodiment, contents of the agent shown in FIGS. 17 and 20, showing an example, the configuration and functions of the MFP 100, or describe any due configuration of the network 901 It is possible. また、エージェントの記述形式も、実施の形態3のエージェント例に限定されるものではなく、P Also, the description format of the agent is also not limited to an agent of the third embodiment, P
C900のエージェントエンジン902やエージェントアプリ117の種類によって任意の形式とすることが可能である。 It can be any type depending on the type of agent engine 902 and agent application 117 of C900. 【0286】本発明は、具体的に開示された実施の形態に限定されるものでなく、本発明の範囲内で種々の変形や変更が可能である。 [0286] The present invention is not limited to the specifically disclosed embodiments, but various variations and modifications within the scope of the present invention. 【0287】 【発明の効果】以上説明したように、発明によれば、可変性のあるアーキテクチャおよび多種多様な機能を実現することができるとともに、ソフトウェア開発効率の向上を図ることができる。 [0287] As has been described in the foregoing, according to the invention, it is possible to realize a variable of one architecture and various functions, it is possible to improve the software development efficiency. また、本発明によれば、ネットワークに画像形成装置を接続して使用する場合に、多種多様な機能を効率的に提供することができる。 Further, according to the present invention, when used to connect the image forming apparatus to a network, it can provide a wide variety of functions efficiently.

【図面の簡単な説明】 【図1】発明の実施の形態である複合機の構成を示すブロック図である。 BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a block diagram showing a configuration of the MFP in the form of embodiment of the invention. 【図2】実施の形態1の複合機上で動作するサーバプロセスとクライアントプロセスの関係を示すブロック図である。 2 is a block diagram showing the relationship between the server process and the client processes running composite machine of the first embodiment. 【図3】実施の形態1の複合機において、各アプリおよび各コントロールサービスの各オブジェクトであらかじめ定義されているメソッドを示す説明図である。 In Figure 3 the MFP embodiment 1 is an explanatory diagram showing a method that is pre-defined for each object of each application and each control service. 【図4】実施の形態1の複合機でプリンタ動作を行う場合のプリンタアプリ、ECS、MCS、SRMの各プロセス間のデータシーケンスを示す説明図である。 [4] The printer application in the case of performing the printer operates at MFP embodiment 1, ECS, an explanatory view illustrating MCS, the data sequence between the process of SRM. 【図5】実施の形態1の複合機でスキャナ動作を行う場合のスキャナアプリ、ECS、MCS、SRMの各プロセス間のデータシーケンスを示す説明図である。 [Figure 5] in the case of performing the scanner operating in the MFP of the first embodiment scanner application, ECS, an explanatory view illustrating MCS, the data sequence between the process of SRM. 【図6】実施の形態1の複合機でコピー動作を行う場合のコピーアプリ、ECS、MCS、SRMの各プロセス間のデータシーケンスを示す説明図である。 [6] For copy application performing the copy operation on the MFP in the embodiment 1, ECS, an explanatory view illustrating MCS, the data sequence between the process of SRM. 【図7】実施の形態1の複合機でファクシミリ送信動作を行う場合のファックスアプリ、FCS、ECS、MC [7] in the case of performing facsimile transmission operation on the MFP embodiment 1 fax application, FCS, ECS, MC
S、SRMの各プロセス間のデータシーケンスを示す説明図である。 S, is an explanatory diagram showing a data sequence between the process of SRM. 【図8】実施の形態2の複合機上で動作するサーバプロセスとクライアントプロセスの関係を詳細に示すブロック図である。 8 is a block diagram showing in detail the relationship between the server process and the client processes running composite machine of the second embodiment. 【図9】実施の形態2のクライアントプロセスとサーバプロセスとを生成する画像形成装置用通信プログラム生成装置(スタブジェネレータ)の機能的構成を示すブロック図である。 9 is a block diagram showing a functional configuration of an image forming apparatus for communication program generating apparatus for generating a client process and a server process in the second embodiment (Stub Generator). 【図10】メッセージファイルの記述例を示す説明図である。 10 is an explanatory diagram showing a description example of a message file. 【図11】スタブジェネレータにより生成されるクライアントスタブの一例を示す説明図である。 11 is an explanatory diagram showing an example of a client stub generated by stub generator. 【図12】スタブジェネレータにより生成されるサーバスケルトンの一例を示す説明図である。 12 is an explanatory diagram showing an example of a server skeleton generated by stub generator. 【図13】スタブジェネレータにより生成されるヘッダの一例を示す説明図である。 13 is an explanatory diagram showing an example of a header generated by the stub generator. 【図14】サーバスケルトン、クライアントスタブおよびヘッダの生成処理のフローチャートである。 [14] server skeleton is a flowchart of a process of generating the client stub and header. 【図15】クライアントプログラムから関数コールを行った場合におけるサーバプログラムとの呼び出しおよび応答のシーケンスを示す説明図である。 15 is an explanatory diagram showing a sequence of calls and responses between the server program in the case of performing a function call from the client program. 【図16】実施の形態3にかかる複合機の構成を示すブロック図である。 16 is a block diagram showing a configuration of the MFP according to the third embodiment. 【図17】実施の形態3におけるユーザのPCと複合機のやりとりの例を示す模式図である。 17 is a schematic diagram showing an example of the interaction with the user's PC multifunction peripheral of the third embodiment. 【図18】エージェント機能を利用しない場合のユーザのPCと複合機のやりとりの例を示す模式図である。 18 is a schematic diagram showing an example of interaction PC and MFP user when not using an agent function. 【図19】実施の形態3の複合機におけるプロセス間通信の流れを示す説明図である。 19 is an explanatory diagram showing a flow of inter-process communication in the MFP according to the third embodiment. 【図20】実施の形態3におけるユーザのPCと複合機のやりとりの例を示す模式図である。 Figure 20 is a schematic diagram showing an example of the interaction with the user's PC multifunction peripheral of the third embodiment. 【図21】エージェント機能を利用しない場合のユーザのPCから複合機に対するファックス送信要求のやりとりの例を示す模式図である。 21 is a schematic diagram showing an example of exchange of fax transmission request to the MFP from the user's PC in the case of not using an agent function. 【図22】実施の形態3の複合機および他の複合機におけるプロセス間通信の流れを示すデータシーケンス図である。 FIG. 22 is a data sequence diagram illustrating a flow of inter-process communication in the MFP and other MFP according to the third embodiment. 【符号の説明】 100,100a,100b,100c 複合機101 白黒ラインプリンタ102 カラーラインプリンタ103 スキャナ104 ファクシミリ105 ハードディスク(HDD) 106 ネットワークインターフェース110 ソフトウェア群111 プリンタアプリ112 コピーアプリ113 ファックスアプリ114 スキャナアプリ115 ネットファイルアプリ116 工程検査アプリ120 プラットホーム121 汎用OS 122 SCS 123 SRM 124 ECS 125 MCS 126 OCS 127 FCS 128 NCS 129 FCUH 130 アプリケーション201,1600 クライアントプロセス202,1610,1620 サーバプロセス900 PC 901 ネットワーク902 エージェントエンジン160 [EXPLANATION OF SYMBOLS] 100, 100a, 100b, 100c MFP 101 monochrome line printer 102 color line printer 103 scanner 104 facsimile 105 hard (HDD) 106 network interface 110 software group 111 printer application 112 copy application 113 fax application 114 scanner application 115 network file application 116 process inspection application 120 platform 121 universal OS 122 SCS 123 SRM 124 ECS 125 MCS 126 OCS 127 FCS 128 NCS 129 FCUH 130 application 201,1600 client process 202,1610,1620 server process 900 PC 901 network 902 agent engine 160 ,1613,1623 スレッド1602 クライアントスタブ1603 クライアントディスパッチャ1611,1621 サーバディスパッチャ1612,1622 サーバスケルトン , 1613,1623 thread 1602 client stub 1603 client dispatcher 1611, 1621 server dispatcher 1612,1622 server skeleton

Claims (1)

  1. 【特許請求の範囲】 【請求項1】 画像形成処理で使用されるハードウェア資源と、画像形成に係るユーザサービスおよびコントロールサービスの処理を行う一または複数のプログラムとを有する画像形成装置であって、 前記ユーザサービスおよびコントロールサービスのそれぞれは、一または複数のメソッドを有するオブジェクトから生成されたサーバプロセスまたはクライアントプロセスとして動作するものであり、 前記クライアントプロセスは、前記サーバプロセスに対しサービスの提供を要求する際に、サービス要求メッセージを送信するメソッドを実行し、 前記サーバプロセスは、前記サービス要求メッセージを受信したときに、前記クライアントプロセスに対して提供する一または複数のサービスを定義したメソッドを実行す Hardware resources to be used in [Claims 1 an image forming process, an image forming apparatus having a one or more programs for processing user service and control service according to the image forming , each of the user service and the control service, which operates as a server process or client process generated from the object having one or more methods, the client process requests provision of service to said server process when, to execute a method for transmitting a service request message, the server process, upon receiving the service request message, to perform the method defined one or more services to be provided to the client process ことを特徴とする画像形成装置。 Image forming apparatus characterized by. 【請求項2】 前記ユーザサービスは、前記コントロールサービスをサーバプロセスとしたクライアントプロセスとして動作して、前記コントロールサービスにサービスの提供を要求する際に、前記コントロールサービスに対し前記サービス要求メッセージを送信するメソッドを実行し、 前記コントロールサービスは、前記サービス要求メッセージを受信したときに、前記ユーザサービスの少なくとも2つが共通的に必要とするサービスを定義したメソッドを実行することを特徴とする請求項1記載の画像形成装置。 Wherein said user service, the control service and operates as a client process and a server process, when required to provide service to the control service, transmitting the service request message to said control service It executes a method, the control service, upon receiving the service request message, according to claim 1, wherein said at least two user services and executes the method that defines the services that require commonly the image forming apparatus. 【請求項3】 前記コントロールサービスは、他のコントロールサービスをサーバプロセスとしたクライアントプロセスとして動作して、前記他のコントロールサービスにサービスの提供を要求する際に、前記他のコントロールサービスに対し前記サービス要求メッセージを送信するメソッドを実行し、 前記他のコントロールサービスは、前記サービス要求メッセージを受信したときに、前記コントロールサービスの少なくとも2つが共通的に必要とするサービスを定義したメソッドを実行することを特徴とする請求項1又は2記載の画像形成装置。 Wherein the control service may operate other controls services as a client process and server process, when required to provide services to the other control services, the service to the other control services run the method of sending a request message, the other control services, upon receiving the service request message, said control service of at least two to perform the method defined a service that requires commonly the image forming apparatus according to claim 1, wherein. 【請求項4】 前記コントロールサービスは、前記サーバプロセスとして動作するとともに前記クライアントプロセスとして動作することを特徴とする請求項1乃至3 Wherein said control service, claims 1 to 3, characterized in that to operate as the client process with operating as the server process
    いずれか一項記載の画像形成装置。 The image forming apparatus according to any one claim. 【請求項5】 前記ユーザサービスと前記コントロールサービスの各プロセスは、一または複数のスレッドを含むことを特徴とする請求項1乃至4いずれか一項記載の画像形成装置。 Wherein each process of the user service and the control service, an image forming apparatus according to claim 1 to 4 to any one claim, characterized in that it comprises one or more threads. 【請求項6】 画像形成処理で使用されるハードウェア資源と、画像形成に係るユーザサービスおよびコントロールサービスの処理を行う一または複数のプログラムとを有する画像形成装置であって、 一または複数のサービス要求を含むエージェントを受信し、該エージェントのサービス要求ごとに一または複数の前記コントロールサービスを選定して、選定された前記コントロールサービスに対してサービス要求を行うエージェント処理手段を備えたことを特徴とする画像形成装置。 And hardware resources used in 6. The image forming process, an image forming apparatus having a one or more programs for processing user service and control service according to the image formation, one or more service receives an agent including a request, and characterized in that by selecting one or more of the control service for each service request of the agent, with the agent processing unit for performing a service request to the selected by said control service An image forming apparatus. 【請求項7】 前記エージェント処理手段は、前記サービス要求に必要なコントロールサービスが正常動作しているか否かを判断し、正常動作してない場合に、ネットワークを介して接続された他の画像形成装置に前記エージェントを送信することを特徴とする請求項6記載の画像形成装置。 Wherein said agent processing unit determines whether the control services needed for the service request is operating normally, when not in normal operation, the other image forming connected via a network the image forming apparatus according to claim 6, wherein the transmitting the agent to the device. 【請求項8】 前記エージェント処理手段は、さらに、 Wherein said agent processing unit may further
    前記サービス要求ごとに一または複数の前記ユーザサービスを選定して、選定された前記ユーザサービスに対してサービス要求を行うことを特徴とする請求項6又は7 By selecting one or more of the user service for each of the service request, according to claim 6 or 7, characterized in that the service request to the selected by said user service
    記載の画像形成装置。 The image forming apparatus according. 【請求項9】 前記エージェント処理手段は、前記サービス要求に必要な前記ユーザサービスが正常動作しているか否かを判断し、正常動作していない場合に、ネットワークを介して接続された他の画像形成装置に前記エージェントを送信することを特徴とする請求項8記載の画像形成装置。 Wherein said agent processing unit determines whether the user services needed for the service request is operating normally, when not in normal operation, other images are connected via a network the image forming apparatus according to claim 8, wherein transmitting the agent to the forming apparatus. 【請求項10】 前記ユーザサービスに含まれ、前記エージェント処理手段として動作するエージェントアプリをさらに備えたことを特徴とする請求項6乃至9いずれか一項記載の画像形成装置。 10. A included in the user service, an image forming apparatus according to claim 6 to 9 any one claim, characterized in that further comprising an agent application that operates as the agent processing unit. 【請求項11】 前記コントロールサービスは、ネットワークを介して接続された他の画像形成装置で動作するクライアントプロセスに対するサーバプロセスとして動作し、前記他の画像形成装置のクライアントプロセスに提供する一または複数のサービスを定義したメソッドを有するオブジェクトであることを特徴とする請求項6乃至10いずれか一項記載の画像形成装置。 Wherein said control service operates as a server process to a client process running on other image forming apparatus connected via a network, one or more of providing the client process of the other image forming apparatus the image forming apparatus according to claim 6 or 10 to any one claim, characterized in that an object with a method defined service. 【請求項12】 前記コントロールサービスの各プロセスは、前記他の画像形成装置のクライアントプロセスに提供するサービスを定義したメソッドを実行する一または複数のスレッドを生成するものであることを特徴とする請求項11記載の画像形成装置。 12. Each process of the control service, claims and characterized in that to generate one or more threads executing the method that defines the services provided to the client process of the other image forming apparatus the image forming apparatus of claim 11, wherein. 【請求項13】 前記コントロールサービスは、前記他の画像形成装置で動作するユーザサービスをクライアントプロセスとしたサーバプロセスとして動作することを特徴とする請求項11又は12記載の画像形成装置。 Wherein said control service, an image forming apparatus according to claim 11 or 12, wherein the acting as a server process that the user service and the client processes running the other image forming apparatus. 【請求項14】 前記コントロールサービスは、前記他の画像形成装置で動作するコントロールサービスをクライアントプロセスとしたサーバプロセスとして動作することを特徴とする請求項11乃至13いずれか一項記載の画像形成装置。 14. The control service, the other image forming apparatus control service which operates the image forming apparatus according to claim 11 or 13 to any one claim characterized in that it operates as a server process and the client process . 【請求項15】 前記コントロールサービスは、前記他の画像形成装置で動作するコントロールサービスをサーバプロセスとしたクライアントプロセスとして動作することを特徴とする請求項11乃至14いずれか一項記載の画像形成装置。 15. The control service, the other control services server processes running the image forming apparatus and image forming apparatus according to claim 11 or 14 to any one claim characterized in that it operates as a client process was . 【請求項16】 画像形成処理で使用されるハードウェア資源と、画像形成に係るユーザサービスおよびコントロールサービスの処理を行う一または複数のプログラムとを有する画像形成装置でプロセス間通信を行うプロセス間通信方法であって、 前記ユーザサービスおよびコントロールサービスのそれぞれを、一または複数のメソッドを有するオブジェクトから生成されたサーバプロセスまたはクライアントプロセスとして実行するプロセス実行ステップと、 前記クライアントプロセスから前記サーバプロセスに対しサービスの提供を要求する際に、サービス要求メッセージを送信するメソッドを実行するメッセージ送信ステップと、 前記サーバプロセスが前記サービス要求メッセージを受信し、前記クライアントプロセスに対して提供す 16. A hardware resource used in image forming processing, inter-process communication that performs interprocess communication with the image forming apparatus having a one or more programs for processing user service and control service according to the image forming a method, services each of the user service and the control service, a process execution step of executing as a server process or client process generated from the object having one or more methods, to said server process from said client process when required to provide a message transmission step of executing a method for transmitting a service request message, the server process receives the service request message and provided to the client process る一または複数のサービスを定義したメソッドを実行するサービス実行ステップとを含んだことを特徴とするプロセス間通信方法。 One or interprocess communication method characterized by including a plurality of the service execution step of executing the method defined service that. 【請求項17】 画像形成処理で使用されるハードウェア資源と、画像形成に係るユーザサービスおよびコントロールサービスの処理を行う一または複数のプログラムとを有する画像形成装置でプロセス通信を行うプロセス間通信方法あって、 一または複数のサービス要求を含むエージェントを受信するエージェント受信ステップと、 前記エージェントのサービス要求ごとに一または複数の前記コントロールサービスのプロセスを選定して、選定された前記コントロールサービスのプロセスに対してサービス要求を行うエージェント処理ステップとを含んだことを特徴とするプロセス間通信方法。 And hardware resources used in 17. The image forming process, inter-process communication method for process communication with the image forming apparatus having a one or more programs for processing user service and control service according to the image forming there are, and the agent receiving step of receiving an agent comprising one or more service requests, and selects the process of one or more of the control service for each service request for the agent, the process of the selected said control service interprocess communication method characterized by including the agent processing step of performing a service request for.
JP2002244002A 2001-09-21 2002-08-23 Image forming apparatus and interprocess communication method Active JP4052902B2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2001-290168 2001-09-21
JP2001290168 2001-09-21
JP2002244002A JP4052902B2 (en) 2001-09-21 2002-08-23 Image forming apparatus and interprocess communication method

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2002244002A JP4052902B2 (en) 2001-09-21 2002-08-23 Image forming apparatus and interprocess communication method
US10227921 US7318083B2 (en) 2001-08-27 2002-08-27 Information processing system
EP20020019030 EP1292109A1 (en) 2001-08-27 2002-08-27 Information processing system

Publications (2)

Publication Number Publication Date
JP2003177927A true true JP2003177927A (en) 2003-06-27
JP4052902B2 JP4052902B2 (en) 2008-02-27

Family

ID=26622755

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002244002A Active JP4052902B2 (en) 2001-09-21 2002-08-23 Image forming apparatus and interprocess communication method

Country Status (1)

Country Link
JP (1) JP4052902B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007251245A (en) * 2006-03-13 2007-09-27 Ricoh Co Ltd Image forming apparatus, file management method, and file management program
JP2007336076A (en) * 2006-06-13 2007-12-27 Ricoh Co Ltd Image forming apparatus, method and program for acquiring information

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007251245A (en) * 2006-03-13 2007-09-27 Ricoh Co Ltd Image forming apparatus, file management method, and file management program
JP2007336076A (en) * 2006-06-13 2007-12-27 Ricoh Co Ltd Image forming apparatus, method and program for acquiring information

Also Published As

Publication number Publication date Type
JP4052902B2 (en) 2008-02-27 grant

Similar Documents

Publication Publication Date Title
US5564109A (en) Remote user interface for prioritizing and selecting from a plurality of document production peripheral devices
US5778183A (en) Apparatus and method of automatically transmitting event-related information to a user of a network printing system
US20070240124A1 (en) Image Processing Apparatus and Control Method Thereof
US5600762A (en) Method of processing a job, in a printing system, with a composite job ticket
US20050046887A1 (en) Image processing apparatus for receiving a request relating to image processing from an external source and executing the received request
US20020054326A1 (en) Method of and apparatus for image formation, and computer product
US5781711A (en) Document server for processing a distribution job in a document processing system
US5946458A (en) Network printing system for responding to remote print-related requests
US20040128349A1 (en) Web service providing apparatus
US6020973A (en) Centralized print server for interfacing one or more network clients with a plurality of printing devices
US5761396A (en) Document server for processing a distribution job in a document processing system
US20040030693A1 (en) Data management apparatus that controls a data storage apparatus by transmitting command of structured document format
US5974234A (en) Centralized print server for interfacing one or more network clients with a plurality of printing devices
US20030063313A1 (en) Image forming apparatus associating with other apparatuses through network
US6717690B1 (en) Method and apparatus for managing job contention for system resources in an electrographic reproduction system where images are multibanded
US20040130747A1 (en) Image forming apparatus and print process method
JP2004358800A (en) Image formation method and image formation apparatus
US5579452A (en) Method of managing memory allocation in a printing system
US5923826A (en) Copier/printer with print queue disposed remotely thereof
JP2002007095A (en) Data processor and its control method
JP2004287859A (en) Service processor, service processing method and program
US20050030580A1 (en) Printing through collaboration of image forming apparatuses
JP2004287860A (en) Service processor, service processing method and program
US20030063316A1 (en) Image forming device having a memory assignment unit
US7382484B2 (en) Information processing apparatus and its control method

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060425

A521 Written amendment

Effective date: 20060622

Free format text: JAPANESE INTERMEDIATE CODE: A523

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070116

A521 Written amendment

Effective date: 20070215

Free format text: JAPANESE INTERMEDIATE CODE: A523

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Effective date: 20070326

Free format text: JAPANESE INTERMEDIATE CODE: A911

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

Effective date: 20071106

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20071204

R150 Certificate of patent (=grant) or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101214

Year of fee payment: 3

FPAY Renewal fee payment (prs date is renewal date of database)

Year of fee payment: 3

Free format text: PAYMENT UNTIL: 20101214

FPAY Renewal fee payment (prs date is renewal date of database)

Year of fee payment: 4

Free format text: PAYMENT UNTIL: 20111214

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111214

Year of fee payment: 4

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121214

Year of fee payment: 5

FPAY Renewal fee payment (prs date is renewal date of database)

Year of fee payment: 6

Free format text: PAYMENT UNTIL: 20131214