JP2009071611A - Image forming apparatus, data processing method in image forming apparatus, and data processing program - Google Patents
Image forming apparatus, data processing method in image forming apparatus, and data processing program Download PDFInfo
- Publication number
- JP2009071611A JP2009071611A JP2007238266A JP2007238266A JP2009071611A JP 2009071611 A JP2009071611 A JP 2009071611A JP 2007238266 A JP2007238266 A JP 2007238266A JP 2007238266 A JP2007238266 A JP 2007238266A JP 2009071611 A JP2009071611 A JP 2009071611A
- Authority
- JP
- Japan
- Prior art keywords
- function
- request message
- image forming
- forming apparatus
- unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Accessory Devices And Overall Control Thereof (AREA)
- Facsimiles In General (AREA)
Abstract
Description
本発明は、当該画像形成装置が有する複数の機能のうち、第1の機能と、第1の機能から所定の処理が要求される第2の機能との間でプロセス間通信を行う画像形成装置、画像形成装置内のデータ処理方法、及びデータ処理プログラムに関するものである。 The present invention provides an image forming apparatus that performs inter-process communication between a first function among a plurality of functions of the image forming apparatus and a second function that requires a predetermined process from the first function. The present invention relates to a data processing method and a data processing program in an image forming apparatus.
コピー、ファックス、プリンタ、スキャナなどの複数の機能を有する画像形成装置として、複合機が一般的に知られている。 A multifunction peripheral is generally known as an image forming apparatus having a plurality of functions such as a copy, a fax, a printer, and a scanner.
このような複数の機能が動作する画像形成装置では、例えば、UNIX(登録商標)などのマルチタスクOS(Operating System)が実装されており、このOS上に多数のプロセスを起動し、起動したプロセスで各機能モジュールを動作させることで、多数の処理を並列処理している。 In such an image forming apparatus that operates a plurality of functions, for example, a multitask OS (Operating System) such as UNIX (registered trademark) is mounted, and a number of processes are started on the OS, and the started processes are started. A number of processes are processed in parallel by operating each functional module.
このような複数のプロセスが動作するマルチプロセス環境では、プロセス間において双方向のデータ通信を行っている。 In such a multi-process environment in which a plurality of processes operate, two-way data communication is performed between processes.
例えば、画像形成装置が有する機能に、外部機器が当該画像形成装置を自動検出するために情報提供を行う機器情報提供部と、プリンタやスキャナなどの各アプリケーションを管理するアプリケーション管理部とがある。これら2つの機能は、マルチプロセス環境において、それぞれ異なるプロセスで動作している。そのため、機器情報提供部が外部機器へ情報提供を行うときに、アプリケーション管理部から各アプリケーションに関する情報を取得しなければならない。このとき、画像形成装置では、機器情報提供部が動作するプロセスからアプリケーション管理部が動作するプロセスへ情報取得要求のメッセージが送信され、その結果、アプリケーション管理部が動作するプロセスから機器情報提供部が動作するプロセスへ要求した情報が送信される。 For example, the functions of the image forming apparatus include an apparatus information providing unit that provides information for an external device to automatically detect the image forming apparatus, and an application management unit that manages applications such as a printer and a scanner. These two functions operate in different processes in a multi-process environment. For this reason, when the device information providing unit provides information to an external device, information on each application must be acquired from the application management unit. At this time, in the image forming apparatus, the information acquisition request message is transmitted from the process in which the device information providing unit operates to the process in which the application management unit operates, and as a result, the device information providing unit starts from the process in which the application management unit operates. The requested information is sent to the running process.
このように、マルチプロセス環境における画像形成装置では、装置内部のデータ処理の1つとしてプロセス間通信が行われている。 As described above, in an image forming apparatus in a multi-process environment, inter-process communication is performed as one of data processing inside the apparatus.
例えば、特許文献1には、「ハードウェア資源とプログラムとを有する画像形成装置であって、一又は複数のサービス要求を含むエージェントを受信し、エージェントのサービス要求ごとに1又は複数のコントロールサービスを選定して、選定されたコントロールサービスに対してサービス要求を行うエージェント処理手段を備えたことにより、可変性のあるアーキテクチャ及びタス多様な機能を実現する」という画像形成装置が開示されている。
しかしながら、特許文献1に開示された従来の画像形成装置では、プロセス間通信を行うモジュールと要求に応じた処理を行うモジュールとが一体となっている。そのため、それぞれのプロセスで動作する通信用モジュールを、送受信側で行う処理内容やその通信目的などの取り決めに応じて設計し実装しなければならず、送受信側の機能拡張などの作業は、開発者にとって煩雑なものであった。
However, in the conventional image forming apparatus disclosed in
このように、従来の画像形成装置内のデータ処理機能は、プロセス間通信を行う機能部の独立性が低いため(プロセス間通信を行う機能部が送受信側の取り決めに依存しているため)、送受信側の機能拡張が困難なものとなっていた。 As described above, the data processing function in the conventional image forming apparatus has low independence of the function unit that performs the inter-process communication (because the function unit that performs the inter-process communication depends on the agreement on the transmission / reception side). It was difficult to expand the functions on the transmission / reception side.
本発明では、上記従来技術の問題点に鑑み、画像形成装置内のデータ処理において、プロセス間通信を行う機能部の独立性が高く、送受信側の機能を容易に拡張することができる画像形成装置、画像形成装置内のデータ処理方法、及びデータ処理プログラムを提供することを目的とする。 In the present invention, in view of the above-described problems of the prior art, in the data processing in the image forming apparatus, the function unit that performs inter-process communication is highly independent, and the function on the transmission / reception side can be easily expanded. An object of the present invention is to provide a data processing method and a data processing program in an image forming apparatus.
上記目的を達成するため、本発明の画像形成装置は、第1の機能が動作する第1のプロセスと、前記第1のプロセスから所定の処理の実行が要求される第2の機能が動作する第2のプロセスとを有する画像形成装置であって、前記第1のプロセスから送信された、前記所定の処理を要求する要求メッセージに応じて、当該画像形成装置で実行可能な処理の中から、前記要求メッセージにより要求される処理を特定するソフトウェア部品の格納先情報を保持している保持手段と、前記第1のプロセスから送信された前記要求メッセージを、前記第2のプロセスで受信したときに、前記保持手段により保持された前記格納先情報に基づいて実行される前記ソフトウェア部品により特定された、前記要求メッセージにより要求される処理を前記第2のプロセスで実行する実行手段とを有することを特徴とする。 In order to achieve the above object, the image forming apparatus according to the present invention operates a first process in which the first function operates and a second function in which execution of a predetermined process is requested from the first process. An image forming apparatus having a second process, the process being executed by the image forming apparatus in response to a request message transmitted from the first process and requesting the predetermined process. When the second process receives the request message transmitted from the first process and the storage unit that stores the storage location information of the software component that specifies the processing requested by the request message. The processing requested by the request message specified by the software component executed based on the storage location information held by the holding means And having and execution means for executing the process.
また、上記目的を達成するため、本発明の画像形成装置は、前記第1の機能及び前記第2の機能に共通する通信制御用インタフェースを備え、プロセス間においてデータの送受信を行う通信制御手段を有し、前記通信制御手段において、前記要求メッセージにより要求され、前記第2のプロセスで実行された前記所定の処理の実行結果に基づいて、要求に対応する応答メッセージを、前記第1のプロセスに送信することを特徴とする。 In order to achieve the above object, an image forming apparatus according to the present invention includes a communication control unit that includes a communication control interface common to the first function and the second function, and transmits and receives data between processes. And the communication control means sends a response message corresponding to the request to the first process based on an execution result of the predetermined process requested by the request message and executed in the second process. It is characterized by transmitting.
また、上記目的を達成するため、本発明の画像形成装置は、前記通信制御手段において、前記要求メッセージの送信を指示する送信指示手段と、前記要求メッセージの送信と要求に応じた前記応答メッセージの受信待ちを指示する応答受信指示手段と、前記要求メッセージの受信待ちを指示する要求待ち指示手段と、前記ソフトウェア部品の格納先情報の設定を指示する格納先情報設定指示手段とを有することを特徴とする。 In order to achieve the above object, the image forming apparatus according to the present invention includes a transmission instruction unit that instructs transmission of the request message, transmission of the request message, and transmission of the response message in response to the request in the communication control unit. Response receiving instruction means for instructing reception waiting, request waiting instruction means for instructing reception waiting for the request message, and storage destination information setting instruction means for instructing setting of storage destination information of the software component And
また、上記目的を達成するため、本発明の画像形成装置は、前記要求メッセージが、前記要求メッセージにより実行される処理を示す機能名と、前記処理を行うときに用いるパラメータ値と、前記パラメータ値の数を示すパラメータ数とから構成されることを特徴とする。 In order to achieve the above object, in the image forming apparatus of the present invention, the request message includes a function name indicating a process executed by the request message, a parameter value used when the process is performed, and the parameter value. And the number of parameters indicating the number of.
また、上記目的を達成するため、本発明の画像形成装置は、前記ソフトウェア部品が、前記第2のプロセスで受信された前記要求メッセージの前記機能名に基づいて、前記要求メッセージにより要求される処理を特定することを特徴とする。 In order to achieve the above object, in the image forming apparatus of the present invention, the software component is a process requested by the request message based on the function name of the request message received in the second process. It is characterized by specifying.
また、上記目的を達成するため、本発明の画像形成装置は、前記実行手段において、前記第2のプロセスで受信された前記要求メッセージの前記パラメータ値に基づいて、前記ソフトウェア部品により特定された、前記要求メッセージにより要求される処理を行うことを特徴とする。 In order to achieve the above object, the image forming apparatus of the present invention is specified by the software component in the execution unit based on the parameter value of the request message received in the second process. The processing requested by the request message is performed.
また、上記目的を達成するため、本発明の画像形成装置は、前記第2のプロセスで受信された前記要求メッセージの前記パラメータ値の数が、前期要求メッセージの前記パラメータ数と一致するか否かを判定し、前記要求メッセージのデータを検証するデータ検証手段を有することを特徴とする。 In order to achieve the above object, the image forming apparatus of the present invention determines whether or not the number of parameter values of the request message received in the second process matches the number of parameters of the previous request message. And data verification means for verifying the data of the request message.
これによって、本発明の画像形成装置は、プロセス間通信を行う機能部と送受信側の主要機能部とを別のプログラムで構成し、所定の処理を要求する要求メッセージに応じて、当該画像形成装置で実行可能な処理の中から、要求メッセージにより要求される処理を特定し処理を実行するプログラムを送受信側の主要機能部が有し、このプログラムを、予めプロセス間通信を行う機能に登録可能な構成とすることにより、プロセス間通信を行うときの送受信側の取り決めなどに依存する処理が送受信側の機能に統合され、プロセス間通信を行う機能側に、送受信側の取り決めに依存するプログラムコードやデータが含まれることがないため、画像形成装置内のデータ処理において、プロセス間通信を行う機能部の独立性が高く、送受信側の機能を容易に拡張することができる。 As a result, the image forming apparatus according to the present invention is configured so that the function unit that performs inter-process communication and the main function unit on the transmission / reception side are configured by different programs, and the image forming apparatus responds to a request message that requests a predetermined process. The main function unit on the transmission / reception side has a program that identifies the process requested by the request message and executes the process from among the processes that can be executed by the request message, and this program can be registered in advance as a function that performs interprocess communication By adopting the configuration, the processing that depends on the agreement on the transmission / reception side when performing inter-process communication is integrated into the function on the transmission / reception side. Since no data is included, the function unit that performs inter-process communication is highly independent in the data processing in the image forming apparatus, and the function on the transmission / reception side It can be extended easily.
上記目的を達成するため、本発明の画像形成装置内のデータ処理方法は、第1の機能が動作する第1のプロセスと、前記第1のプロセスから所定の処理の実行が要求される第2の機能が動作する第2のプロセスと、前記第1のプロセスから送信された、前記所定の処理を要求する要求メッセージに応じて、当該画像形成装置で実行可能な処理の中から、前記要求メッセージにより要求される処理を特定するソフトウェア部品の格納先情報を保持している保持手段とを有する画像形成装置内のデータ処理方法であって、前記第1のプロセスから送信された前記要求メッセージを、前記第2のプロセスで受信したときに、前記保持手段により保持された前記格納先情報に基づいて前記ソフトウェア部品を実行し、前記ソフトウェア部品の実行により、前記要求メッセージにより要求される処理を特定し、特定された前記処理を前記第2のプロセスで実行することを特徴とする。 In order to achieve the above object, a data processing method in an image forming apparatus according to the present invention includes a first process in which a first function operates and a second process in which execution of a predetermined process is required from the first process. The request message from among the processes executable by the image forming apparatus in response to the second process in which the function is operated and the request message requesting the predetermined process transmitted from the first process. A data processing method in the image forming apparatus having a storage unit that stores storage location information of software parts that specify processing requested by the processing, wherein the request message transmitted from the first process is When the software component is received by the second process, the software component is executed based on the storage location information held by the holding unit, and the software component is executed. To identify the processing required by the request message, and executes the processing specified in the second process.
これによって、本発明のデータ通信方法は、送受信側の主要機能部が有する、所定の処理を要求する要求メッセージに応じて、当該画像形成装置で実行可能な処理の中から、要求メッセージにより要求される処理を特定し処理を実行するプログラムを、予めプロセス間通信を行う機能部に登録しておき、受信側のプロセス間通信を行う機能部により要求メッセージを受信すると、登録されているプログラムを実行することにより、プロセス間通信を行うときの送受信側の取り決めなどに依存する処理が送受信側の機能部に統合され、プロセス間通信を行う機能部側に、送受信側の取り決めに依存するプログラムコードやデータが含まれることがないため、画像形成装置内のデータ処理において、プロセス間通信を行う機能部の独立性が高く、送受信側の機能を容易に拡張することができる。 Thus, the data communication method of the present invention is requested by a request message from among the processes executable by the image forming apparatus in response to a request message for requesting a predetermined process possessed by the main functional unit on the transmission / reception side. A program that identifies and executes the process is registered in advance in the functional unit that performs inter-process communication, and when the request message is received by the functional unit that performs inter-process communication on the receiving side, the registered program is executed. As a result, processing that depends on the agreement on the transmission / reception side when performing inter-process communication is integrated into the function unit on the transmission / reception side, and the program code that depends on the agreement on the transmission / reception side Since data is not included, in the data processing in the image forming apparatus, the independence of the functional unit that performs inter-process communication is high. A receiving-side function can be easily expanded.
上記目的を達成するため、本発明の画像形成装置内のデータ処理プログラムは、第1の機能が動作する第1のプロセスと、前記第1のプロセスに対して所定の処理を要求する第2の機能が動作する第2のプロセスと、前記第1のプロセスから送信された、前記所定の処理を要求する要求メッセージに応じて、当該画像形成装置で実行可能な処理の中から、前記要求メッセージにより要求される処理を特定するソフトウェア部品の格納先情報を保持している保持手段とを有する画像形成装置内のデータ処理プログラムであって、コンピュータに、前記第1のプロセスから送信された前記要求メッセージを、前記第2のプロセスで受信したときに、前記保持手段により保持された前記格納先情報に基づいて前記ソフトウェア部品を実行させ、前記ソフトウェア部品の実行により、前記要求メッセージにより要求される処理を特定させ、特定された前記処理を前記第2のプロセスで実行させる。 In order to achieve the above object, a data processing program in an image forming apparatus of the present invention includes a first process in which a first function operates and a second process that requests a predetermined process for the first process. In response to the second process in which the function operates and the request message transmitted from the first process and requesting the predetermined process, the request message can be selected from the processes that can be executed by the image forming apparatus. A data processing program in an image forming apparatus having a storage unit that stores storage location information of software components that specify a requested process, wherein the request message is transmitted to the computer from the first process Is received in the second process, the software component is executed based on the storage location information held by the holding means, Software by executing part, the request message to identify the differentially processing request by, to execute the identified said processing in the second process.
これによって、本発明の画像形成装置内のデータ処理プログラムは、コンピュータを、予め登録しておいた、送受信側の主要機能部が有する、所定の処理を要求する要求メッセージに応じて、当該画像形成装置で実行可能な処理の中から、要求メッセージにより要求される処理を特定し処理を実行するプログラムを、受信側のプロセス間通信を行う機能部により要求メッセージを受信したときに実行するように機能させることができる。 As a result, the data processing program in the image forming apparatus of the present invention performs the image forming in response to a request message for requesting a predetermined process which is registered in advance in the main function unit on the transmission / reception side of the computer. A function that identifies a process requested by a request message from processes that can be executed by the device and executes the program when the request message is received by a function unit that performs inter-process communication on the receiving side. Can be made.
よって、本発明の画像形成装置内のデータ処理方法プログラムは、プロセス間通信を行うときの送受信側の取り決めなどに依存する処理が送受信側の機能部に統合され、プロセス間通信を行う機能部側に、送受信側の取り決めに依存するプログラムコードやデータが含まれることがないため、画像形成装置内のデータ処理において、プロセス間通信を行う機能部の独立性が高く、送受信側の機能を容易に拡張する「画像形成装置内のデータ処理機能」を実現することができる。 Therefore, the data processing method program in the image forming apparatus according to the present invention is a function unit that performs inter-process communication by integrating processing that depends on an agreement on the transmission / reception side when performing inter-process communication into the function unit on the transmission / reception side. Therefore, there is no program code or data that depends on the agreement on the transmission / reception side, and therefore, in the data processing in the image forming apparatus, the function unit that performs inter-process communication is highly independent, and the function on the transmission / reception side is easy. An extended “data processing function in the image forming apparatus” can be realized.
本発明によれば、画像形成装置内のデータ処理において、プロセス間通信を行う機能部の独立性が高く、送受信側の機能を容易に拡張することができる画像形成装置、画像形成装置内のデータ処理方法、及びデータ処理プログラムを提供することができる。 According to the present invention, in the data processing in the image forming apparatus, the function unit that performs inter-process communication is highly independent, and the function on the transmission / reception side can be easily expanded, and the data in the image forming apparatus A processing method and a data processing program can be provided.
以下、本発明の好適な実施の形態(以下、「実施形態」という。)について、図面を用いて詳細に説明する。 DESCRIPTION OF EMBODIMENTS Hereinafter, preferred embodiments of the present invention (hereinafter referred to as “embodiments”) will be described in detail with reference to the drawings.
[第1の実施形態]
<ハードウェア構成>
では、本実施形態に係る画像形成装置100のハードウェア構成について、図1を用いて説明する。図1は、本発明の第1の実施形態に係る画像形成装置100のハードウェア構成の一例を示す図である。
[First Embodiment]
<Hardware configuration>
A hardware configuration of the
本実施形態に係る画像形成装置100は、操作パネル11と、記憶メディアI/F12と、コントローラ13と、データ通信I/F14と、HDD(Hard Disk Drive)17と、スキャナ15と、プロッタ16とから構成され、それぞれ相互に接続されている。
The
操作パネル11は、入力装置11aと表示装置11bとを有しており、入力装置11aは、ハードウェアキーなどで構成され、画像形成装置100に各操作信号を入力するのに用いられる。また、表示装置11bは、ディスプレイなどで構成され、例えば画像形成動作に関する各種情報を表示する。データ通信I/F14は、インタフェース装置14aを有しており、画像形成装置100をネットワークなどのデータ伝送路に接続するインタフェースである。HDD17は、画像形成装置100で取り扱われる受信文書データや読み取り画像データなどの各種データを格納している。また、HDD17は、これらの各種データを、所定のファイルシステムやDB(Data Base)により管理している。
The operation panel 11 includes an input device 11a and a display device 11b. The input device 11a includes hardware keys and is used to input each operation signal to the
上記HDD17に格納される各種データの中には、例えば、デジタルカメラなどの外部機器によって記録された電子データも含まれる。このような場合には、メモリカードなどの記録媒体12bによって画像形成装置100に提供されるか、データ伝送路であるネットワークなどを通じてアップロードされる。記録媒体12bは、記憶メディアI/F12が有するドライブ装置12aにセットされ各種データが記録媒体12bからドライブ装置12aを介してHDD17に格納される。
The various data stored in the HDD 17 includes electronic data recorded by an external device such as a digital camera. In such a case, it is provided to the
コントローラ13は、ROM(Read Only Memory)13a、RAM(Random Access Memory)13b、及びCPU(Central Processing Unit)13cとを有しており、ROM13aは、画像形成装置100が起動されるときに実行されるプログラムや各種データを格納している。また、RAM13bは、ROM13aやHDD17から読み出された各種プログラムやデータを一時保持する。更に、CPU13cは、RAM13bが一時保持しているプログラムを実行する。コントローラ13は、例えば、データ通信I/F14を介して印刷データを受信した場合に、ROM13aからRAM13b上に読み出された、PDL(Page Description Language)を解釈可能なプログラム(PDLパーサ)をCPU13cにより実行し、印刷データを解釈してビットマップイメージを生成する。
The controller 13 includes a ROM (Read Only Memory) 13a, a RAM (Random Access Memory) 13b, and a CPU (Central Processing Unit) 13c. The ROM 13a is executed when the
スキャナ15は、画像読取装置15aを有しており、読み取り面に配置された原稿を光学的に読み取り画像データを生成する。プロッタ16は、印刷装置16aを有しており、例えば、電子写真プロセス方式によってビットマップイメージを記録紙に印刷する。
The scanner 15 includes an image reading device 15a, and optically reads a document placed on a reading surface and generates image data. The
このように、本実施形態に係る画像形成装置100では、上記ハードウェア構成により、コピー、プリンタ、ファクシミリ、スキャナなどの複数の機能を実現している。
As described above, the
<ソフトウェア構成>
次に、本実施形態に係る画像形成装置100のソフトウェア構成について、図2を用いて説明する。図2は、本発明の第1の実施形態に係る画像形成装置100のソフトウェア構成の一例を示す図である。
<Software configuration>
Next, the software configuration of the
<<画像形成装置>>
本実施形態に係る画像形成装置100は、図1に示したプロッタ16と、スキャナ15と、ファクシミリやHDD17などのハードウェアリソース101などを有するとともに、起動部140によって起動されるプラットホーム120とアプリケーション130とから構成されるソフトウェア群110とを備えている。
<< Image forming apparatus >>
The
プラットホーム120は、アプリケーション130からの処理要求を解釈してハードウェアリソースの獲得要求を発生させるコントロールサービス150と、1つ以上のハードウェアリソースの管理を行い、コントロールサービス150からの獲得要求を調停するSRM(System Resource Manager)123と、OS(Operating System)121とを有する。
The
コントロールサービス150は、複数のサービスモジュールから形成され、SCS(System Control Service)122と、ECS(Engine Control Service)124と、MCS(Memory Control Service)125と、OCS(Operation panel Control Service)126と、FCS(FAX Control Service)127と、NCS(Network Control Service)128とから構成される。
The
なお、このプラットホーム120は、予め定義されたメソッドによりアプリケーション130から処理要求を受信可能とするAPI(Application Program Interface)103と、プロッタ16やスキャナ15、またその他のハードウェアリソース101などを、ハードウェアリソースを利用する上位層からの要求に従ってOS121を介して制御するときのインタフェースであるエンジンI/F102を有する。
The
OS121は、UNIX(登録商標)などの汎用オペレーティングシステムであり、プラットホーム120並びにアプリケーション130の各ソフトウェアをそれぞれプロセスとして並列実行する。
The
SRM123は、SCS122とともにシステムの制御およびリソースの管理を行うものであり、プロッタ16やスキャナ15などのエンジン、メモリ、HDDファイル、ホストI/O(例えば、セントロI/F、ネットワークI/F、IEEE1394 I/F、RS232C I/Fなど。)のハードウェアリソースを利用する上位層からの要求に従って調停を行い、実行制御する。
The SRM 123, together with the
具体的には、このSRM123は、要求されたハードウェアリソースが利用可能であるか(他の要求により利用されていないかどうか)を判断し、利用可能であれば要求されたハードウェアリソースが利用可能である旨を上位層に伝える。また、SRM123は、上位層からの要求に対してハードウェアリソースの利用スケジューリングを行い、要求内容(例えば、プリンタエンジンにより紙搬送と作像動作、メモリ確保、ファイル生成など。)を直接実施している。 Specifically, the SRM 123 determines whether the requested hardware resource is available (whether it is not used by another request), and if it is available, the requested hardware resource is used. Tell the upper layer that it is possible. Also, the SRM 123 performs hardware resource usage scheduling in response to a request from an upper layer, and directly executes the request contents (for example, paper conveyance and image forming operation, memory allocation, file generation, etc. by the printer engine). Yes.
SCS122は、アプリ管理、操作部制御、システム画面表示、LED(Light Emitting Diode)表示、リソース管理、割り込みアプリ制御を行うものである。ECS124は、プロッタ16、スキャナ15などから構成されるハードウェアリソースのエンジンを制御するものである。
The
MCS125は、画像メモリの取得および解放、HDDの利用、画像データの圧縮および伸張などを行うものである。OCS126は、オペレータと本体制御間の情報伝達手段となる操作パネル11を制御するモジュールである。
The
FCS127は、システムコントローラの各アプリ層からPSTN(Public Switched Telephone Networks)/ISDN(Integrated Services Digital Network)を利用したファクシミリ送受信、BKM(バックアップSRAM:Static Random Access Memory)で管理されている各種ファクシミリデータの登録/引用、ファクシミリ読みとり、ファクシミリ受信印刷、融合送受信を行うためのAPIを提供するものである。FCS127には、そのサブプロセスであるFCUハンドラ(FCUH)が起動される。このFCUHは、FCS127からの指令によりファクシミリ送受信のときにファクシミリエンジンのデバイスドライバを制御するものである。
The
NCS128は、ネットワークI/Oを必要とするアプリケーション130に対して共通に利用できるサービスを提供するためのモジュール群である。
The
本実施形態に係るデータ処理機能は、NCS128が有している。NCS128を構成する具体的なソフトウェア部品(プログラム)については、以降に示す図3を用いて説明する。
The
アプリケーション130は、PCLやポストスクリプト(PS)などのページ記述言語(PDL)を有するプリンタ用のアプリケーションであるプリンタアプリ111と、コピー用アプリケーションであるコピーアプリ112と、ファクシミリ用アプリケーションであるファックスアプリ113と、スキャナ用アプリケーションであるスキャナアプリ114と、ネットワークファイル用アプリケーションであるネットファイルアプリ115と、工程検査用アプリケーションである工程検査アプリ116と、配信用のアプリケーションである配信アプリ117とを有している。
The
これらの各コントロールサービスとSRM123と各アプリケーション130とは、1つ以上のメソッドを有するオブジェクトであり、このオブジェクトを起動することによりそれぞれプロセスとしてOS121上に生成されて実行される。そして、各プロセス内部には、複数のスレッドが起動され、OS121の管理下でこれらのスレッドのCPU占有時間を切り替えることにより並列実行が実現されている。このため、プロセス切り替えによる並列実行と比較して、並列実行時の処理速度の向上が図られている。
Each of these control services, SRM 123, and each
各アプリプロセスと各コントロールサービスプロセスとは、メソッドの実行によるプロセス間通信によってメッセージの送受信が行われる。 Messages are transmitted and received between each application process and each control service process by inter-process communication by executing a method.
<<NCS>>
ここからは、本実施形態に係るデータ処理機能を有するNCS128について、図3及び図4を用いて説明する。
(ソフトウェア構成の概要)
図3は、本発明の第1の実施形態に係るNCS128のソフトウェア構成の一例を示す図である。
<< NCS >>
From here, the
(Overview of software configuration)
FIG. 3 is a diagram showing an example of the software configuration of the
本実施形態に係るNCS128のソフトウェア構成は、主に、各プロトコルによって受信したデータを各アプリケーション130に振り分けたり、アプリケーション130からデータをネットワーク側に送信する際の仲介を行うモジュール群で構成される。そのモジュール群の中に、本実施形態に係るWS−MFPモジュール群20がある。
The software configuration of the
ここで上記の「WS」とは、World Wide Web Consortium(W3C)のワーキンググループ(WG)により進められているXML(Extensible Markup Language)をベースとした標準化Webサービスの意味である。「WS」については、その詳細が開示されている公開文献「Devices Profile for Web Services」を開示し、ここでの説明を省略する。公開文献の入手先URLは、"http://specs.xmlsoap.org/ws/2006/02/devprof/devicesprofile.pdf"である。また、以降の説明の中で、「WS」がつく機能名やモジュール名は、この標準化Webサービスに準拠して設計された機能やモジュールである。例えば、WS−MFPモジュール群20は、標準化Webサービスに準拠して設計された複合機用のモジュール群を示している。
Here, the above-mentioned “WS” means a standardized Web service based on XML (Extensible Markup Language) promoted by a working group (WG) of the World Wide Web Consortium (W3C). As for “WS”, an open document “Devices Profile for Web Services” in which the details are disclosed is disclosed, and the description thereof is omitted here. The URL for obtaining the published document is “http://specs.xmlsoap.org/ws/2006/02/devprof/devicesprofile.pdf”. In the following description, function names and module names with “WS” are functions and modules designed in accordance with this standardized Web service. For example, the WS-
図3に示すWS−MFPモジュール群20は、外部機器と画像形成装置100が有するプリンタアプリ111との間でプリンタ関連のデータを取り扱うWS−Printer21pや、外部機器と画像形成装置100が有するスキャナアプリ114との間でスキャナ関連のデータを取り扱うWS−Scanner21sと、外部機器と画像形成装置100との間で機器関連のデータを取り扱うDFMモジュール22とから構成され、上記各ソフトウェア部品は、それぞれ別のプロセスで起動され動作するように実装される。
The WS-
例えば、WS−Printer21pは、DFMモジュール22からのプリンタアプリ111に関する情報の取得要求に応答したり、外部機器からの印刷要求をプリンタアプリ111に通知したりする機能である。DFMモジュール22は、WS−Printer21pやWS−Scanner21sなどからプリンタアプリ111やスキャナアプリ114などのアプリケーション情報を取得し、取得した情報を基に外部機器に対して、画像形成装置100が提供可能な標準化Webサービスに関する情報を含む機器情報を送信する。
For example, the WS-
このように、本実施形態に係る画像形成装置100は、上記構成によるNCS128を有することにより、外部機器と画像形成装置100との間でデータの送受信を行うことができる。
As described above, the
上記において、DFMモジュール22からWS−Printer21pが保有するプリンタ関連の情報を取得する場合について説明を行ったが、互いに別のプロセスによって動作しているため、プロセス間通信によりデータの送受信を行う。
(ソフトウェア構成の詳細)
図4は、本発明の第1の実施形態に係るWS−MFPモジュール群20内部のプロセス間通信の構成の一例を示す図である。
In the above description, the case where the printer-related information held by the WS-
(Details of software configuration)
FIG. 4 is a diagram showing an example of a configuration of inter-process communication inside the WS-
図4に示すように、本実施形態に係るWS−MFPモジュール群20は、DFMモジュール22、WS−Printer21p及びWS−Scanner21sとから構成され、上記各ソフトウェア部品は、それぞれ別のプロセスで起動され動作するように実装される。また、上記各ソフトウェア部品には、プロセス間通信機能を有するIMC(Internal Message Communication)51のライブラリがリンクされている。
As shown in FIG. 4, the WS-
以下に、DFMモジュール22、WS−Printer21p、及びWS−Scanner21sそれぞれを構成する主なソフトウェア部品について説明する。
Below, the main software components which comprise each
WS−Printer21pは、PrinterDCP41pとWS−Eventing42pとから構成される。
The WS-
PrinterDCP41pは、プリンタ機能を利用する外部機器が有する機能(例えばプリンタドライバなど)と画像形成装置100が有するプリンタアプリ111との間で、プリンタ関連のデータを送受信する。また、WS−Eventing42pは、プリンタ機能を利用する外部機器が有する機能から送信された印刷要求などの処理要求イベントを画像形成装置100が有するプリンタアプリ111に通知する。
The
WS−Printer21pは、上記機能構成により、例えば、外部機器からの印刷要求に従って、画像形成装置100が有するプリンタアプリ111により、受信した画像データの印刷を行い、印刷が完了した旨を外部機器へ通知する処理を実現する。
With the above functional configuration, the WS-
WS−Scanner21sは、ScannerDCP41sとWS−Eventing42sとから構成される。ScannerDCP41sは、スキャナ機能を利用する外部機器が有する機能(例えば文書管理ソフトウェアなど)と画像形成装置100が有するスキャナアプリ114との間で、スキャナ関連のデータを送受信する。また、WS−Eventing42sは、スキャナ機能を利用する外部機器が有する機能から送信された画像読み取り要求などの処理要求イベントを画像形成装置100が有するスキャナアプリ114に通知する。
WS-
WS−Scanner21sは、上記機能構成により、例えば、外部機器からの画像読み取り要求に従って、画像形成装置100が有するスキャナアプリ114により、原稿の読み取りを行い、読み取りが完了した旨を外部機器へ通知する処理を実現する。
The WS-
DFMモジュール22は、WS−Discovery31と、WS−Transfer32と、WS−MetadataExchenge33と、WSD−Manager34とから構成される。
The
WS−Discovery31は、標準化Webサービスにより、搭載するアプリケーション機能を提供可能な装置(WS−Device)がネットワークに参加したことを、外部機器が有する機能が検知するためのメッセージを、外部機器と画像形成装置100との間で送受信する。
WS-Discovery 31 uses a standardized Web service to generate a message for detecting the function of an external device that a device (WS-Device) capable of providing an installed application function has joined the network, and forming an image with the external device. Data is transmitted to and received from the
WS−Transfer32は、画像形成装置100が提供可能な標準化Webサービスに関する情報(機器情報)を通知するメッセージを、外部機器と画像形成装置100との間で送受信する。また、WS−Transfer32は、UDP(User Datagram Protocol)により、外部機器に対して、画像形成装置100がネットワークに参加した旨を知らせる(例えば「Hello」コマンドをネットワークに接続される全ての外部機器に対してマルチキャストする)。
The WS-
WS−MetadataExchenge33は、IMC51が有するプロセス間通信機能によりWS−Printer21p及びWS−Scanner21sから取得した各アプリケーションに関する情報などを基に、画像形成装置100が提供可能な標準化Webサービスに関する情報のデータを生成する。
The WS-
WSD−Manager34は、WS−Discovery31、WS−Transfer32、及びWS−MetadataExchenge33、並びに、WS−Printer21p及びWS−Scanner21sが有する各DCP41p及び41sなどの動作制御・管理を行う。
The WSD-
DFMモジュール22は、上記機能構成により、例えば、標準化Webサービスにより、搭載するアプリケーション機能を提供可能な画像形成装置100の自動検知機能を実現している。
The
IMC51は、プロセス間通信機能を有しており、他のDFMモジュール22、WS−Printer21p、及びWS−Scanner21sなどのように、ソフトウェア部品として単独で機能するものではなく、単独で機能するソフトウェア部品に対して、プロセス間でデータの送受信などを行うためのプロセス間通信プログラム群が1つにまとめられたファイル、すなわちライブラリとして提供される。
The
以下に、ライブラリとして提供されるIMC51のプロセス間通信プログラム群について、図5を用いて説明する。図5は、本発明の第1の実施形態に係るIMC51のソフトウェア構成の一例を示す図である。
Hereinafter, the inter-process communication program group of the
(IMCライブラリのソフトウェア構成)
本実施形態において実装されるIMC51のソフトウェア構成は、図5(a)に示すように3つのレイヤで構成され、各レイヤがプロセス間通信を行うための複数のプログラムを有している。
(Software configuration of IMC library)
The software configuration of the
[IMCI/Fレイヤ]
IMCI/Fレイヤ61は、プロセス間通信機能を利用するソフトウェア部品(送受信側の機能を実現するモジュール)のプログラムコードから実際にコールすることが可能な関数61a〜d(以下に示す4つの関数)がまとめられたレイヤである。
(a)PutMsg()61a(送信指示手段に対応する機能を実現するプログラム)
要求メッセージの送信を指示する関数。
(b)SendReceive()61b(応答受信指示手段に対応する機能を実現するプログラム)
要求メッセージを送信後、要求に応じた応答メッセージの受信待ちを指示する関数。
(c)GetMsg()61c(要求待ち指示手段に対応する機能を実現するプログラム)
要求メッセージの受信待ちを指示する関数。
(d)registAPI()61d(格納先情報設定指示手段に対応する機能を実現するプログラム)
要求メッセージに応じて、画像形成装置100で実行可能な処理の中から、要求メッセージにより要求される処理を特定し処理を実行するソフトウェア部品(以下、「コールバック関数」という。)の格納先情報(以下、「コールバック関数へのポインタ」という。)の設定を指示する関数(コールバック関数の登録を指示する関数)。
[IMCI / F layer]
The IMCI /
(A) PutMsg () 61a (a program that realizes a function corresponding to the transmission instruction means)
A function that indicates sending a request message.
(B) SendReceive () 61b (a program for realizing the function corresponding to the response reception instruction means)
A function that instructs to wait for receiving a response message after sending a request message.
(C) GetMsg () 61c (a program that implements a function corresponding to the request waiting instruction means)
A function that indicates waiting to receive a request message.
(D) registAPI () 61d (program that implements the function corresponding to the storage location information setting instruction means)
Storage location information of a software component (hereinafter referred to as “callback function”) that identifies a process requested by the request message from processes that can be executed by the
関数61a〜dは、図5(b)に示す要求メッセージを送受信する場合に想定される4つの動作指示に対応付けられている。例えば、受信側からの処理要求に応じた応答メッセージを必要とせず、受信側に行わせる処理を要求する要求メッセージのみを送信したい場合(図中に示す(1)の場合)には、プログラムコードから関数PutMsg()61aをコールすればよい。また、送信側から送信される要求メッセージの受信を待ち受ける状態へ移行したい場合(図中に示す(3)の場合)には、プログラムコードから関数GetMsg()61cをコールすればよい。 The functions 61a to 61d are associated with four operation instructions assumed when the request message shown in FIG. For example, when a response message corresponding to a processing request from the receiving side is not required and only a request message requesting processing to be performed on the receiving side is desired (in the case of (1) shown in the figure), the program code From this, the function PutMsg () 61a may be called. When it is desired to shift to a state of waiting for reception of a request message transmitted from the transmission side (in the case of (3) shown in the figure), the function GetMsg () 61c may be called from the program code.
このように、IMCI/Fレイヤ61は、独立性の高いプロセス間通信機能を実現するため、送受信側の処理内容や通信目的などの取り決めに依存しない基本的な動作のみを指示するインタフェースを提供している。
As described above, the IMCI /
[API内部処理レイヤ]
API内部処理レイヤ62は、IMCI/Fレイヤ61の各関数に対応して実際の処理(内部処理)を行う関数62a〜e(以下に示す5つの関数)がまとめられたレイヤである。
(e)Send()62a
上位レイヤに位置する関数PutMsg()61aからコールされ、要求メッセージの送信のみを行う関数。
(f)RequestResponse()62b
上位レイヤに位置する関数SendReceive()61bからコールされ、要求メッセージの送信から応答メッセージの受信までの処理を行う関数。
(g)Receive()62c
上位レイヤに位置する関数GetMsg()61cからコールされ、要求メッセージの受信待ち受け状態への前処理を行う関数。関数Receive()62cは、以下に挙げる関数を内部的に実行する。
・bind()
関数socket()により生成されたソケットに「IPアドレス」や「ポート番号」を指定してソケットを特定する関数。
・listen()
関数connect()からのコネクションの確立要求を待つ関数。
・accept()
関数connect()からの確立要求を受け取り、実際にデータ回線を確立するための新しいソケットを生成する関数。
(h)ProcessReceivedMsg()62d
関数Receive()62c実行後の要求メッセージの受信待ち受け状態において、要求メッセージの受信から応答メッセージの送信までの処理を行う関数。
(i)Register()62e
上位レイヤに位置する関数registAPI()61dからコールされ、要求メッセージにより要求される処理を特定するソフトウェア部品(コールバック関数)の格納先情報(関数へのポインタ)を設定する関数、すなわち、登録指示を受けコールバック関数を登録する関数である。
[API internal processing layer]
The API
(E) Send () 62a
A function that is called from the function PutMsg () 61a located in the upper layer and only transmits a request message.
(F) RequestResponse () 62b
A function that is called from the function SendReceive () 61b located in the upper layer and performs processing from transmission of a request message to reception of a response message.
(G) Receive () 62c
A function that is called from the function GetMsg () 61c located in the upper layer and performs preprocessing to a request message reception standby state. The function Receive () 62c internally executes the following functions.
Bind ()
A function that identifies a socket by specifying an “IP address” or “port number” for the socket created by the socket () function.
・ Listen ()
A function that waits for a connection establishment request from the function connect ().
・ Accept ()
A function that receives a setup request from the function connect () and creates a new socket to actually establish the data line.
(H) ProcessReceivedMsg () 62d
A function that performs processing from reception of a request message to transmission of a response message in a request message reception waiting state after execution of the function Receive () 62c.
(I) Register () 62e
A function that sets storage location information (pointer to a function) of a software component (callback function) that is called from a function registAPI () 61d located in an upper layer and specifies a process requested by a request message, that is, a registration instruction Is a function that registers a callback function.
[送受信処理実行レイヤ]
送受信処理実行レイヤ63は、API内部処理レイヤ62の各関数からコールされ、プロセス間でのデータの送受信処理を行う関数63a〜c(以下に示す3つの関数:通信制御手段)がまとめられたレイヤである。
(j)Connect()63a
上位レイヤに位置する関数Send()62a及び関数RequestResponse()62bからコールされ、関数connect()を実行し、コネクションの確立要求を行う関数。
(k)SendMsg()63b
上位レイヤに位置する関数Send()62a、関数RequestResponse()62b、及びProcessReceivedMsg()62dからコールされ、関数send()を実行し、データ送信を行う関数。
(l)Recv()63c
上位レイヤに位置する関数RequestResponse()62b及びProcessReceivedMsg()62dからコールされ、関数recv()を実行し、データ受信を行う関数。
[Transmission / reception processing execution layer]
The transmission / reception
(J) Connect () 63a
A function that is called from the function Send () 62a and the function RequestResponse () 62b located in the upper layer, executes the function connect (), and makes a connection establishment request.
(K) SendMsg () 63b
A function that is called from the function Send () 62a, the function RequestResponse () 62b, and the ProcessReceivedMsg () 62d located in the upper layer, executes the function send (), and transmits data.
(L) Recv () 63c
A function that is called from the function RequestResponse () 62b and ProcessReceivedMsg () 62d located in the upper layer, executes the function recv (), and receives data.
[その他(コールバック関数)]
(m)callCB()64(実行手段に対応する機能を実現するプログラム)
上位レイヤに位置する関数Register()62eにより、要求メッセージにより要求される処理を特定し処理を実行する関数(registAPI()61dをコールすることで登録された関数)。
[Other (callback function)]
(M) callCB () 64 (program that implements the function corresponding to the execution means)
A function (a function registered by calling registAPI () 61d) that specifies a process requested by a request message by a function Register () 62e located in an upper layer and executes the process.
関数callCB()64は、受信側のIMC51が要求メッセージを受信すると、上位レイヤに位置する関数ProcessReceivedMsg()62dによって、設定されている関数callCB64へのポインタに基づいてコールされ実行される。また、関数callCB()64は、例えば、受信側のDFMモジュール22に含まれており、受信側のIMC51には、設定されたポインタの値を基に関数callCB()64をコールバックする関数(以下、「呼び出し先関数」という。)が定義されている。このような関数callCB()64をコールバック関数という。
When the receiving
このように、本実施形態に係る画像形成装置100では、異なるプロセスで動作するDFMモジュール22と、WS−Printer21p又はWS−Scanner21sとの間で行うプロセス間通信を、IMC51のプロセス間通信プログラムを実行することで実現している。また、本実施形態では、DFMモジュール22、WS−Printer21p、及びWS−Scanner21sそれぞれのソフトウェア部品が、IMC51のプロセス間通信プログラムを用いることができるように、各ソフトウェア部品にIMC51のライブラリをリンクし実装する。
As described above, in the
<プロセス間通信におけるデータ処理機能>
次に、これまで説明を行ってきたハードウェア及びソフトウェア構成を踏まえ、本実施形態に係る画像形成装置100が有する「プロセス間通信におけるデータ処理機能」について、図6を用いて説明する。図6は、本発明の第1の実施形態に係る画像形成装置100内のデータ処理機能の機能構成の一例を示す図である。
<Data processing function in interprocess communication>
Next, based on the hardware and software configurations described so far, the “data processing function in inter-process communication” included in the
<<機能構成の概要>>
本実施形態に係る画像形成装置100は、主に、送信側からの要求に応じて処理を行う受信側の機能部71と、受信側に処理を要求する送信側の機能部72と、送信側の機能部71と受信側の機能部72との間のプロセス間通信を行うプロセス間通信部73とから構成される。
<< Overview of functional configuration >>
The
また、上記各機能部は、図4において説明を行ったWS−MFPモジュール群20のソフトウェア部品が、画像形成装置100が有するコントローラ13に配置されたROM13aからRAM13b上に読み出され、CPU13cで実行されることで実現される機能である。
Further, in each of the functional units, the software components of the WS-
例えば、「外部機器に要求に応じてDFMモジュール22がWP−Printer21pやWS−Scanner21sなどから提供可能なサービスに関する情報を取得するとき」に行われる、DFMモジュール22が動作するプロセスと、WP−Printer21p又はWS−Scanner21sが動作するプロセスとのプロセス間通信では、送信側の機能部71がDMFモジュール22にあたり、受信側の機能部72がWS−Printer21p又はWS−Scanner21sにあたり、プロセス間通信部73がIMC51にあたる。このように、各ソフトウェア部品によって上記機能が実現されている。
For example, the process performed by the
<<各機能部の概要>>
上記に挙げた主要な各機能部の概要について説明する。
<< Overview of each functional part >>
An outline of each of the main functional units listed above will be described.
受信側の機能部71は、初期化部71aと内容解釈部71bを有している。
The reception-
初期化部71aは、受信側の機能部71が起動されたときの動作前の処理を行う。その中で、初期化部71aは、受信側の前処理として、要求メッセージにより要求される処理を特定し処理を実行するコールバック関数64の関数へのポインタを、受信側のプロセス間通信部73に設定する。すなわち、受信側の機能部71が有するコールバック関数64を、受信側のプロセス間通信部73に登録する。
The initialization unit 71a performs pre-operation processing when the reception-side
内容解釈部71bは、送信側の機能部72から送信された要求メッセージに応じて、画像形成装置100で実行可能な処理の中から、要求メッセージにより要求される処理を特定するという、受信した要求メッセージの内容に応じて、受信側の機能部71で行う処理を切り換えるディスパッチ機能を有している。内容解釈部71bは、初期化部71aにより前処理の段階で登録されるコールバック関数64が実行されることで実現する機能である。
The
送信側の機能部72は、メッセージ設定部72mを有しており、メッセージ設定部72mは、受信側の機能部71に要求する処理内容に応じて、送信側の機能部72から送信する要求メッセージを設定する。メッセージ設定部72mは、プロセス間通信部73が提供するI/F関数61a〜dを用いて要求メッセージを設定する。
The
プロセス間通信部73は、送信部74と、受信部75と、手続き登録部76と、登録手続き実行部77とを有している。
The
送信部74は、受信側の機能部71が動作するプロセスに対して、メッセージ設定部72mからの設定に基づいて発行された要求メッセージを送信する。また、受信部75は、送信側の機能部72が有する送信部74により送信された要求メッセージを受信する。
The
手続き登録部76は、受信側の機能部71が有する初期化部71aにより設定されたコールバック関数64の関数へのポインタを、所定の記憶領域に保持する(保持手段に対応する機能)。そのため、手続き登録部76は、受信側の機能部71が起動したときに、RAM13bの記憶領域の中から所定の記憶領域を確保しておく。また、登録手続き実行部77は、手続き登録部76により保持されているコールバック関数64の関数へのポインタに基づいて、要求メッセージにより要求される処理を特定し処理を実行するコールバック関数64に実行を指示する。その結果、処理の実行制御が、受信側のプロセス間通信部73から受信側の機能部71へ移行し、コールバック関数64によって、特定された処理が実行される。登録手続き実行部77は、受信側のプロセス間通信部73が有する呼び出し先関数が実行されることで実現する機能である。
The
<<動作概要>>
次に、上記各機能部による本実施形態に係る「プロセス間通信におけるデータ処理機能」の動作について説明する。
<< Operation overview >>
Next, the operation of the “data processing function in inter-process communication” according to the present embodiment by each of the functional units will be described.
(1)要求メッセージ受信待ち受け(前処理):受信側
まず、受信側の機能部71は、動作するプロセスが起動されると、初期化部71aにより予め決められた初期化処理を行う。まず、初期化部71aは、IMC51が提供する関数registAPI()61dをコールし、要求メッセージにより要求される処理を特定し処理を実行するコールバック関数(関数callCB)64の関数へのポインタを、受信側のプロセス間通信部73に設定する(関数callCB64を登録する)。その結果、設定された関数へのポインタは、受信側のプロセス間通信部73が有する手続き登録部76により保持される。その後、初期化部61dは、IMC51が提供する関数GetMsg()61cをコールし、送信側からの要求メッセージの受信待ち受け状態へ移行する。
(1) Waiting for request message reception (pre-processing): receiving side First, when an operating process is started, the receiving-side
(2)要求メッセージの設定・送信:送信側
送信側の機能部72は、メッセージ設定部72mにより要求メッセージの設定を行う。メッセージ設定部72mは、受信側の機能部71に要求する処理内容に応じて、IMC51が提供する関数PutMsg()61a又は関数SendReceive()61bをコールし、要求メッセージの設定を行う。その後に、送信側のプロセス間通信部73は、メッセージ設定部72mによる設定を基に発行された要求メッセージを、送信側のプロセス間通信部73が有する送信部74に渡し、受信側の機能部71へ送信する。送信部74は、関数PutMsg()61a又は関数SendReceive()61bの内部でコールされる関数Send()62a又は関数RequestResponse()62bにより実行される。
(2) Setting / transmission of request message: transmission side The
(3)要求メッセージの受信・内容解釈:受信側
受信側のプロセス間通信部73は、受信部75により要求メッセージを受信する。受信部75は、関数GetMsg()61cの内部でコールされる関数Receive()62c及び関数ProcessReceivedMsg()62dにより実行される。
(3) Reception and content interpretation of request message: receiving side The
(4)要求メッセージの内容解釈機能を起動:受信側
受信側のプロセス間通信部73は、要求メッセージを受信すると、登録手続き実行部77によって、手続き登録部76により保持している関数へのポインタ(関数callCB()64へのポインタ)に基づいてコールバック関数64を実行する(関数callCB()64をコールバックする)。このとき、受信した要求メッセージは、呼び出し先関数を介してコールバック関数64の引数として渡される。このようにして、受信側の機能部71が有する内容解釈部71bを起動する。
(4) Activating the request message content interpretation function: receiving side When receiving the request message, the
(5)要求される処理の実行:受信側
受信側の機能部71は、内容解釈部71bにより、要求メッセージに応じて、当該画像形成装置で実行可能な処理の中から、要求メッセージにより要求される処理を特定し、特定された処理を受信側の機能部71で実行する。内容解釈部71bは、受信側のプロセス間通信部73から渡された要求メッセージの所定の情報に基づいて、要求メッセージにより要求される処理を特定する。
(5) Execution of requested processing: receiving side The
(6)応答メッセージの送信:受信側
受信側の機能部71は、送信側の機能部72に要求に応じた応答メッセージを送信する場合に、内容解釈部71bにより特定され実行された処理結果を、受信側のプロセス間通信部73が有する送信部74に渡し、送信側の機能部72へ送信する。送信部74は、関数PutMsg()61aの内部でコールされる関数Send()62aにより実行される。
(6) Transmission of response message: reception side When the reception-side
<プロセス間通信におけるデータ処理機能の詳細>
本実施形態に係る「プロセス間通信におけるデータ処理機能」において、上記動作の中で行われている(1)〜(6)までの処理を、より詳しく説明する。
<Details of data processing function in inter-process communication>
In the “data processing function in inter-process communication” according to the present embodiment, the processes (1) to (6) performed in the above operation will be described in more detail.
<<内容解釈処理(ディスパッチャ)の事前登録>>
受信側の機能部17が有する初期化部71aは、IMC51が提供する関数registAPI()61dをコールし、要求メッセージにより要求される処理を特定し処理を実行する内容解釈部71bの機能を実現するコールバック関数64の関数へのポインタを、受信側のプロセス間通信部73に設定し手続き登録部76に保持する(コールバック関数64を登録する)。すなわち、初期化部71aは、受信側の機能部17が有する内容解釈部71bの機能を実現する関数callCB()64へのポインタを、受信側のプロセス間通信部73が有する呼び出し先関数のポインタに代入することで設定する。但し、この方法以外にもコールバック関数64の関数へのポインタを呼び出し先関数の引数を介して渡す方法などがあり、本実施形態は、この方法に限定されるものではない。
<< Pre-registration of content interpretation processing (dispatcher) >>
The initialization unit 71a included in the function unit 17 on the reception side calls the function registAPI () 61d provided by the
よって、初期化部71aが行う上記処理は、コールバック関数64として内容解釈部71bの機能を実現するプログラムを設定することから、受信側の機能部71が起動したときなどに、受信側が送信側からの要求メッセージを受信する前の段階で行っておく必要がある。
Therefore, the above processing performed by the initialization unit 71a sets a program that realizes the function of the
これによって、本実施形態に係るデータ処理機能では、呼び出し先関数からコールバック関数64を実行させることで、呼び出し先関数からコールバック関数64に実行制御を移すことができる。すなわち、送受信側の処理内容や通信目的などの取り決めに依存する要求メッセージの内容解釈機能をプロセス間通信部73の機能から分離して処理することができ(プロセス間通信部73から受信側の機能部71へ実行制御を移すことができ)、プロセス間通信を行う機能部の独立性が高くなる。
As a result, in the data processing function according to the present embodiment, execution control can be transferred from the callee function to the
<<要求メッセージの設定>>
送信側の機能部72が有するメッセージ設定部72mは、受信側の機能部71に要求する処理内容に応じて、IMC51が提供する関数PutMsg()61a又は関数SendReceive()61bをコールし、関数の引数を介して要求メッセージの設定を行う。このとき、関数PutMsg()61a又は関数SendReceive()61bには、以下に説明を行う要求メッセージのデータ仕様に基づいて関数の引数が設定される。
<< Request message settings >>
The
図7は、本発明の第1の実施形態に係る要求メッセージ81のデータ仕様の一例を示す図である。図7には、本実施形態に係るWS−Printer21pが送信側の機能部72である場合の例が示されている。
FIG. 7 is a diagram showing an example of the data specification of the
本実施形態に係る要求メッセージ81のデータ仕様は、図7に示すように、要求メッセージ81により実行される処理を示す「機能名」と、処理を行うときに用いるパラメータ値の数を示す「データ個数」と、処理を行うときに用いるパラメータ値である「データ」とが、「プロセス間通信の目的」ごとに構成される。
As shown in FIG. 7, the data specification of the
上記データ仕様は、各プロセス間でやり取りしたい「プロセス間通信の目的」と「目的ごとの受信側の処理」とを基に、予め送信側と受信側との間で決めておき、上記データ仕様に従って所定の形式によりデータ化しておく。 The above data specifications are determined in advance between the sending side and the receiving side based on the “purpose of interprocess communication” and “processing on the receiving side for each purpose” to be exchanged between the processes. According to the above, it is converted into data in a predetermined format.
送信側の機能部72が有するメッセージ設定部72mは、送信側の機能部72を実現するプログラムコードの中で、関数の引数に上記データ仕様の「機能名」、「データ数」、及び「データ」を設定したIMCI/Fレイヤ61が提供する関数PutMsg()61a又は関数SendReceive()61bをコールし、発行される要求メッセージ81の設定を行う。
The
例えば、送信側の機能部72が処理の中で、WS−Printer21pの処理終了を受信側の機能部71に通知した場合には、メッセージ設定部72mによって、引数に「機能名=DCP2DFM_Unregister」、「データ数=1」、及び「データ=(InstanceIDの値)」を設定した関数PutMsg()61a又は関数SendReceive()61bをコールすることで、WS−Printer21p処理終了通知メッセージが設定される。その結果、送信側のプロセス間通信部73が有する送信部74が、発行された要求メッセージ81を受信側の機能部71へ送信する。
For example, when the
このように、本実施形態に係るデータ処理機能では、IMCI/Fレイヤ61が提供するメッセージ送信を行う関数PutMsg()61a又は関数SendReceive()61bが、プロセス間通信の目的に対応する機能を決定するものではない。
As described above, in the data processing function according to the present embodiment, the function PutMsg () 61 a or the function SendReceive () 61 b that performs message transmission provided by the IMCI /
これによって、本実施形態に係るデータ処理機能では、送受信側の処理内容や通信目的などの取り決めに依存する要求メッセージ設定機能を、プロセス間通信部73の機能から分離して処理することができ、プロセス間通信を行う機能部の独立性が高くなる。
Thereby, in the data processing function according to the present embodiment, the request message setting function depending on the processing contents on the transmission / reception side and the communication purpose can be processed separately from the function of the
<<要求メッセージの内容解釈(ディスパッチ)>>
受信側の機能部71が有する内容解釈部72bは、受信側のプロセス間通信部73が有する登録手続き実行部77によって実行を指示される。
<< Request message content interpretation (dispatch) >>
The
受信側のプロセス間通信部73の受信部75が要求メッセージ81を受信すると、登録手続き実行部77によって、手続き登録部76により保持している関数callCB()64へのポインタに基づいて、要求メッセージ81により要求される処理を特定する関数callCB()64をコールバックする。このとき、受信した要求メッセージ81は、関数callCB()64の引数として渡される。このようにして、受信側の機能部71が有する内容解釈部71bを起動する。
When the
内容解釈部72bは、引数を介して受け取った要求メッセージ81のデータを解釈し、データ内の「機能名」、「データ個数」、及び「データ」を解釈する。その結果、内容解釈部72bは、解釈して得た「機能名」に基づいて、画像形成装置100で実行可能な処理の中から、要求メッセージ81により要求される処理を特定する。すなわち、受信した要求メッセージ81の内容に応じて、受信側の機能部71で行う処理をディスパッチする。
The
内容解釈部72bの機能を実現する関数callCB()64は、受信側の機能部71が有する関数であり、送受信側の処理内容や通信目的などの取り決めに従って設計されているため、図7において説明を行った要求メッセージ81のデータ仕様から、引数を介して受け取った要求メッセージ81の「機能名」に基づいて、予め処理手続きがプログラムコード化された「機能名」に対応する処理が特定される。
The function callCB () 64 that realizes the function of the
<<要求処理の実行>>
受信側の機能部71は、要求メッセージ81を解釈して得た「データ」を基に、内容解釈部71bにより特定された処理を実行する。このとき、受信側の機能部71は、解釈して得た「データ個数」に基づいて、受信した要求メッセージ81のデータが正しいデータであるかを検証する(データ検証手段に対応する機能)。より具体的には、解釈して得た「データ個数」と、「データ」として受信したデータ数とが一致しているか否かを判定する。その結果、一致している場合には、要求処理を実行する。また、一致していない場合には、要求メッセージ81のデータが誤っていると判断し、要求処理を実行しない。
<< Execution of request processing >>
The
これによって、本実施形態に係るデータ処理機能では、プロセス間通信を行うときの送受信側の処理内容や通信目的などの取り決めに依存する処理が、受信側の機能部71のプログラム群(コールバック関数64を含む)に統合され、プロセス間通信部73に、送受信側の取り決めに依存するプログラムコードやデータが含まれないため、画像形成装置100のデータ処理において、プロセス間通信部73の独立性が高く、送受信側の機能部71及び72を容易に拡張することができる。言い換えれば、例えば、WS−Printer21pやWS−Scanner21sなどのような機能拡張の頻度が比較的高い機能に対しても、柔軟に対応することができ、容易に機能実装が行うことができる。
As a result, in the data processing function according to the present embodiment, the processing depending on the processing contents on the transmission / reception side and the communication purpose when performing the inter-process communication, the program group (callback function) of the
<<応答メッセージの送信>>
受信側の機能部71は、送信側の機能部72に要求に応じた応答メッセージを送信するか否かを判断し、送信側の機能部72へ応答メッセージを送信する。このときに行われる応答メッセージの送信判定は、要求処理の実行結果があるか否かによって判定する。より具体的には、内容解釈部72bの機能を実現するコールバック関数64が、登録手続き実行部77によって実行され、コールバック関数64からの戻り値(return値)があるか否か(値が"NULL"か否か)を、受信側のプロセス間通信部73により判定する。その結果、戻り値がある場合には、その値を基に送信部74により応答メッセージを、受信側の機能部71へ送信する。また、戻り値がない場合(値が"NULL"の場合)には、応答する必要がないと判断する。
<< Send response message >>
The
これによって、本実施形態に係るデータ処理機能では、要求に対して応答を必要としない要求の要求メッセージ81の送信と、応答を必要とする要求メッセージ81の送信との両方に対応することができる。
As a result, the data processing function according to the present embodiment can cope with both the transmission of the
本実施形態に係る画像形成装置100は、上記に説明を行った各機能部による構成により、要求メッセージ81に応じて、画像形成装置100で実行可能な処理の中から、要求メッセージ81により要求される処理を特定する機能を実現するコールバック関数64を、予め受信側のプロセス間通信部73に登録しておき、受信側のプロセス間通信部73により要求メッセージ81を受信すると、登録されているコールバック関数64をコールして実行する。
The
その結果、画像形成装置100は、プロセス間通信を行うときの送受信側の処理内容や通信目的などの取り決めに依存する処理が、受信側の機能部71のプログラム群(コールバック関数64を含む)に統合され、プロセス間通信部73に、送受信側の取り決めに依存するプログラムコードやデータが含まれることがないため、画像形成装置100のデータ処理において、プロセス間通信部73の独立性が高く、送受信側の機能を容易に拡張することができる「画像形成装置100内のデータ処理機能」を実現している。
As a result, in the
<処理手順>
上記に説明を行った本実施形態に係る「データ処理機能」の具体的な処理手順について図8〜11を用いて説明する。図8及び図9では、プロセス間通信を介した送信側と受信側の基本的なデータ処理手順の例を示している。
<Processing procedure>
A specific processing procedure of the “data processing function” according to the present embodiment described above will be described with reference to FIGS. 8 and 9 show examples of basic data processing procedures on the transmission side and the reception side via inter-process communication.
<<基本処理手順>>
図8は、本発明の第1の実施形態に係る画像形成装置100内のデータ処理機能の基本処理手順の一例(その1)を示すシーケンス図である。図8では、送信側の機能部72からの要求に対して受信側の機能部71が応答しない場合の処理手順について説明する。
<< Basic processing procedure >>
FIG. 8 is a sequence diagram showing an example (part 1) of the basic processing procedure of the data processing function in the
受信側の機能部71は、前処理として、初期化部71aにより、プロセス間通信部73の関数registAPI()61dをコールし(ステップS101)、要求メッセージ81により要求される処理を特定するコールバック関数64を、受信側のプロセス間通信部73が有する手続き登録部76に登録する(ステップS102)。
The
受信側のプロセス間通信部73は、コールバック関数64が登録されると、登録が完了した旨を受信側の機能部71に返す(ステップS103)。
When the
次で、受信側の機能部71は、初期化部71aにより、受信側のプロセス間通信部73の関数GetMsg()61cをコールし(ステップS104)、受信側のプロセス間通信部73に、要求メッセージ81の受信待ち受けの開始を指示する。
Next, the
上記の処理手順によって、受信側の機能部71は、送信側からの要求メッセージ81を受信可能な状態となる。
By the above processing procedure, the
送信側の機能部72は、メッセージ設定部72aにより、要求メッセージ81のデータ仕様に基づいて、発行する要求メッセージ81に応じた「機能名」、「データ個数」、及び「データ」を、送信側のプロセス間通信部73の関数PutMsg()61aの引数に設定した後、関数PutMsg61aをコールする(ステップS201)。
Based on the data specification of the
送信側のプロセス間通信部73は、送信部74により、引数の値に基づいて発行された要求メッセージ81を受信側のプロセス間通信部73へ送信し(ステップS202)、送信が完了した旨を送信側の機能部72に返す(ステップS203)。
The
受信側のプロセス間通信部73は、受信部75により、送信側から送信された要求メッセージ81を受信し、手続き登録部76に登録されたコールバック関数64を、受信した要求メッセージ81を引数に、登録手続き実行部77(呼び出し先関数)によりコールバックし、受信側の機能部71に実行制御を移行する(ステップS204)。
The
実行制御が移行した受信側の機能部71では、コールバック関数64がコールされたことで、内容解釈部71bが機能し、要求メッセージ81を解釈し、解釈して得た「機能名」から、要求に対応する処理を特定し実行する(ステップS205)。
In the receiving-
内容解釈部71bは、対応処理が終了すると、処理が終了した旨を受信側のプロセス間通信部73へ返す(ステップS206)。
When the corresponding process is completed, the
図9は、本発明の第1の実施形態に係る画像形成装置100内のデータ処理機能の基本処理手順の一例(その2)を示すシーケンス図である。図9では、送信側の機能部72からの要求に対して受信側の機能部71が応答する場合の処理手順について説明する。
FIG. 9 is a sequence diagram illustrating an example (part 2) of the basic processing procedure of the data processing function in the
図9と図8で異なる処理手順は、送信側の機能部72が要求メッセージ81を受信側の機能部71へ送信するステップS301以降の処理である。よって、図9に示すステップS301より前の処理手順については、図8をもって説明を省略する。
The processing procedure different between FIG. 9 and FIG. 8 is processing after step S301 in which the transmission-side
送信側の機能部72は、メッセージ設定部72aにより、要求メッセージ81のデータ仕様に基づいて、発行する要求メッセージ81に応じた「機能名」、「データ個数」、及び「データ」を、送信側のプロセス間通信部73の関数SendReceive()61bの引数に設定した後、関数SendReceive()61bをコールする(ステップS301)。
Based on the data specification of the
送信側のプロセス間通信部73は、送信部74により、引数の値に基づいて発行された要求メッセージ81を受信側のプロセス間通信部73へ送信する(ステップS302)。
The
受信側のプロセス間通信部73は、受信部75により、送信側から送信された要求メッセージ81を受信し、手続き登録部76に登録されたコールバック関数64を、受信した要求メッセージ81を引数に、登録手続き実行部77によりコールバックし、受信側の機能部71に実行制御を移行する(ステップS303)。
The
実行制御が移行した受信側の機能部71では、コールバック関数64がコールされたことで、内容解釈部71bが機能し、要求メッセージ81を解釈し、解釈して得た「機能名」から、要求に対応する処理を特定し実行する(ステップS304)。
In the receiving-
内容解釈部71bは、対応処理が終了すると、コールバック関数64の戻り値を受信側のプロセス間通信部73へ返す(ステップS305)。
When the response processing is completed, the
受信側のプロセス間通信部73は、処理結果である戻り値を基に応答メッセージの有無を判定し(ステップS306)、判定結果から応答が必要と判断された場合に、送信部64により処理結果を基に発行された応答メッセージを送信側の機能部71へ送信する(ステップS307)。
The
送信側のプロセス間通信部73は、受信部75により受信した応答メッセージを、受信側の機能部71へ転送する(ステップS308)。
The
このように、本実施形態に係るデータ処理プログラムは、本実施形態に係る画像形成装置100において、予め登録しておいた、要求メッセージ81に応じて、画像形成装置100で実行可能な処理の中から、要求メッセージ81により要求される処理を特定し処理を実行するコールバック関数64を、受信側のプロセス間通信部73により要求メッセージ81を受信したときに実行するように機能させることができる。
As described above, the data processing program according to the present embodiment is a process that can be executed by the
<<WS−MFPモジュール群20での処理手順>>
図10及び図11では、プロセス間通信を介したDFMモジュール22とWS−Printer21pとの間のデータ処理手順の例が示されている。
<< Processing Procedure in WS-
10 and 11 show an example of a data processing procedure between the
図10は、本発明の第1の実施形態に係るWS−MFPモジュール群20のデータ処理機能の処理手順の一例(その1)を示すシーケンス図である。図10では、送信側のWS−Printer21pからの要求に対して受信側のDFMモジュール22が応答しない場合の処理手順について説明する。
FIG. 10 is a sequence diagram showing an example (part 1) of the processing procedure of the data processing function of the WS-
受信側のDFMモジュール22は、前処理として、初期化部71aにより、プロセス間通信部73の関数registAPI()61dをコールし(ステップS401)、要求メッセージ81により要求される処理を特定するコールバック関数64を、受信側のIMC51が有する手続き登録部76に登録する(ステップS402)。
As a pre-process, the
受信側のIMC51は、コールバック関数64が登録されると、登録が完了した旨を受信側の機能部71に返す(ステップS403)。
When the
次で、受信側のDFMモジュール22は、初期化部71aにより、受信側のIMC51の関数GetMsg()61cをコールし(ステップS404)、受信側のIMC51に、要求メッセージ81の受信待ち受けの開始を指示する。
Next, the
上記の処理手順によって、受信側のDFMモジュール22は、送信側からの要求メッセージ81を受信可能な状態となる。
With the above processing procedure, the
送信側のWS−Printer21pは、メッセージ設定部72aにより、要求メッセージ81のデータ仕様に基づいて、発行する「DFMモジュール22への提供サービス登録」要求メッセージに応じた「機能名=DCP2DFM_Register」、「データ個数=8」、及び「データ=(InstanceID)、(EPR)・・・(Device Category)」を、プロセス間通信部73の関数PutMsg()61aの引数に設定した後、関数PutMsg61aをコールする(ステップS501)。
The WS-
送信側のIMC51は、送信部74により、引数の値に基づいて発行された要求メッセージ81を受信側のIMC51へ送信し(ステップS502)、送信が完了した旨を送信側の機能部72に返す(ステップS503)。
The transmitting-
受信側のIMC51は、受信部75により、送信側から送信された要求メッセージ81を受信し、手続き登録部76に登録されたコールバック関数64を、受信した要求メッセージ81を引数に、登録手続き実行部77によりコールバックし、受信側の機能部71に実行制御を移行する(ステップS504)。
The
実行制御が移行した受信側の機能部71では、コールバック関数64がコールされたことで、内容解釈部71bが機能し、要求メッセージ81を解釈し、解釈して得た「機能名」から、「DFMモジュール22への提供サービス登録」要求に対応する処理を特定(メッセージをディスパッチ処理)する(ステップS505)。次いで、特定した(ディスパッチした)DCP登録処理を実行する(ステップS506)。
In the receiving-
受信側のDFMモジュール22は、内容解釈部71bにより対応処理が終了すると、クライアント端末などの外部機器に対して、自動検知コマンド「Hello」をUDPによりマルチキャストし(ステップS507)、更に、処理が終了した旨を受信側のIMC51へ返す(ステップS508)。
When the
図11は、本発明の第1の実施形態に係るWS−MFPモジュール群20のデータ処理機能の処理手順の一例(その2)を示すシーケンス図である。図11では、送信側のWS−Printer21pからの要求に対して受信側のDFMモジュール22が応答する場合の処理手順について説明する。
FIG. 11 is a sequence diagram showing an example (part 2) of the processing procedure of the data processing function of the WS-
図9と図8で異なる処理手順は、送信側の機能部72が要求メッセージ81を受信側の機能部71へ送信するステップS301以降の処理である。よって、図9に示すステップS301より前の処理手順については、図8をもって説明を省略する。
The processing procedure different between FIG. 9 and FIG. 8 is processing after step S301 in which the transmission-side
送信側のWS−Printer21pは、メッセージ設定部72aにより、要求メッセージ81のデータ仕様に基づいて、発行する「IPアドレスの取得」要求メッセージに応じた「機能名=DCP2DFM_SetMetadata」、「データ個数=5」、及び「データ=(InstanceID)、(Dialect)・・・(Metadata)」を、プロセス間通信部73の関数PutMsg()61aの引数に設定した後、関数PutMsg61aをコールする(ステップS601)。
The WS-
送信側のIMC51は、送信部74により、引数の値に基づいて発行された要求メッセージ81を受信側のIMC51へ送信する(ステップS602)。
The sending-
受信側のIMC51は、受信部75により、送信側から送信された要求メッセージ81を受信し、手続き登録部76に登録されたコールバック関数64を、受信した要求メッセージ81を引数に、登録手続き実行部77によりコールバックし、受信側の機能部71に実行制御を移行する(ステップS603)。
The
実行制御が移行した受信側の機能部71では、コールバック関数64がコールされたことで、内容解釈部71bが機能し、要求メッセージ81を解釈し、解釈して得た「機能名」から、「IPアドレスの取得」要求に対応する処理を特定(メッセージをディスパッチ処理)する(ステップS604)。次いで、特定した(ディスパッチした)IPアドレス取得処理を実行する(ステップS605)。
In the receiving-
受信側のDFMモジュール22は、内容解釈部71bにより対応処理が終了すると、コールバック関数64の戻り値(IPアドレス)を受信側のIMC51へ返す(ステップS606)。
When the
受信側のプロセス間通信部73は、処理結果である戻り値を基に応答メッセージの有無を判定し(ステップS607)、判定結果から応答が必要と判断された場合に、送信部64により処理結果を基に発行された応答メッセージを送信側の機能部71へ送信する(ステップS608)。
The
送信側のIMC51は、受信部75により受信した応答メッセージを、受信側の機能部71へ転送する(ステップS609)。
The
<まとめ>
以上のように、本発明の第1の実施形態によれば、本実施形態に係る画像形成装置100は、プロセス間通信部73と送受信側の機能部71及び72とを別のモジュールで構成し、所定の処理を要求する要求メッセージ81に応じて、画像形成装置100で実行可能な処理の中から、要求メッセージ81により要求される処理を特定し処理を実行するコールバック関数64を受信側の機能部71が有し、この関数64を、予め受信側のプロセス間通信部73に登録しておき、受信側のプロセス間通信部73により要求メッセージ81を受信すると、登録されている関数64をコールバックする。
<Summary>
As described above, according to the first embodiment of the present invention, the
これによって、本実施形態に係る画像形成装置100は、プロセス間通信を行うときの送受信側の処理内容や通信目的などの取り決めに依存する処理が、受信側の機能に統合され、プロセス間通信部73に、送受信側の取り決めに依存するプログラムコードやデータが含まれることがないため、画像形成装置100内のデータ処理において、プロセス間通信部73の独立性が高く、送受信側の機能を容易に拡張することができる「データ処理機能」を提供することができる。
As a result, the
ここまで、上記第1の実施形態に基づき本発明の説明を行ってきたが、本発明の実施形態に係る画像形成装置100が有する「データ処理機能」は、図8〜11に示した処理手順を含む本実施形態に係るデータ処理プログラムを、画像形成装置100が有するコントローラ13に配置されたCPU13cで実行することで実現することができる。よって、本発明の各実施形態に係る画像形成装置100が有するデータ処理プログラムは、画像形成装置100が読み取り可能な記憶媒体12bに格納することができる。
So far, the present invention has been described based on the first embodiment, but the “data processing function” of the
各実施形態に係るデータ処理プログラムは、フロッピー(登録商標)ディスク、CD(Compact Disc)、DVD(Digital Versatile Disk)などの記録媒体12bに記憶させることによって、これらの記憶媒体12bを読み取り可能なドライブ装置12aを有する記憶メディアI/F12を介して、記録媒体12bから画像形成装置100にインストールすることができる。また、画像形成装置100は、インタフェース装置14aを有するデータ通信I/F14を備えていることから、インターネットなどの電気通信回線を用いてデータ通信プログラムをダウンロードし、インストールすることも可能である。
A data processing program according to each embodiment is stored in a recording medium 12b such as a floppy (registered trademark) disk, a CD (Compact Disc), a DVD (Digital Versatile Disk), and the like, and can read the storage medium 12b. The
最後に、上記実施形態に挙げた形状に、その他の要素との組み合わせなど、ここで示した要件に、本発明が限定されるものではない。これらの点に関しては、本発明の主旨をそこなわない範囲で変更することが可能であり、その応用形態に応じて適切に定めることができる。 Finally, the present invention is not limited to the requirements shown here, such as combinations of other elements with the shapes listed in the above embodiments. With respect to these points, the present invention can be changed within a range that does not detract from the gist of the present invention, and can be appropriately determined according to the application form.
11 操作パネル
11a 入力装置
11b 表示装置
12 記憶メディアI/F
12a ドライブ装置
12b 記録媒体
13 コントローラ
13a ROM
13b RAM
13c CPU
14 データ通信I/F
14a インタフェース装置
15 スキャナ
15a 画像読取装置
16 プロッタ
16a 印刷装置
17 HDD
20 WS−MFPモジュール群
21p WS−Printer
21s WS−Scanner
22 DFMモジュール
31 WS−Discovery
32 WS−Transfer
33 WS−MetadataExchange
34 WSD−Manager
41p PrinterDCP
41s ScannnerDCP
42 WS−Eventing
51 IMC
61 IMCI/Fレイヤ
62 API内部処理レイヤ
63 送受信処理実行レイヤ
64 コールバック関数(格納先情報から呼び出されるソフトウェア部品)
71 受信側の機能部(例えばDFMモジュール)
71a 初期化部
71b 内容解釈部(ディスパッチャ)
72 送信側の機能部(例えばWS−PrinterやWS−Scannerなど)
72a 機能A(例えばWS−Printer)
72b 機能B(例えばWS−Scanner)
72m メッセージ設定部
73 プロセス間通信部(例えばIMC)
74 送信部
75 受信部
76 手続き登録部
77 登録手続き実行部
81 要求メッセージ
100 画像形成装置
101 ハードウェアリソース
102 エンジンI/F
103 API
110 ソフトウェア群
111 プリンタアプリ
112 コピーアプリ
113 ファクスアプリ
114 スキャナアプリ
115 ネットファイルアプリ
116 工程検査アプリ
117 配信アプリ
120 プラットフォーム
121 OS
122 SCS
123 SRM
124 ECS
125 MCS
126 OCS
127 FCS
128 NCS
129 IMH
130 アプリケーション
140 起動部
150 コントロールサービス
11 Operation Panel 11a Input Device
12a drive device 12b recording medium 13 controller 13a ROM
13b RAM
13c CPU
14 Data communication I / F
14a interface device 15 scanner 15a
20 WS-
21s WS-Scanner
22 DFM module 31 WS-Discovery
32 WS-Transfer
33 WS-MetadataExchange
34 WSD-Manager
41p PrinterDCP
41s Scanner DCP
42 WS-Eventing
51 IMC
61 IMCI /
71 Functional part on the receiving side (eg DFM module)
72 Transmission-side functional unit (for example, WS-Printer, WS-Scanner, etc.)
72a Function A (eg WS-Printer)
72b Function B (eg WS-Scanner)
72m
74
103 API
110
122 SCS
123 SRM
124 ECS
125 MCS
126 OCS
127 FCS
128 NCS
129 IMH
130
Claims (9)
前記第1のプロセスから送信された、前記所定の処理を要求する要求メッセージに応じて、当該画像形成装置で実行可能な処理の中から、前記要求メッセージにより要求される処理を特定するソフトウェア部品の格納先情報を保持している保持手段と、
前記第1のプロセスから送信された前記要求メッセージを、前記第2のプロセスで受信したときに、前記保持手段により保持された前記格納先情報に基づいて実行される前記ソフトウェア部品により特定された、前記要求メッセージにより要求される処理を前記第2のプロセスで実行する実行手段とを有することを特徴とする画像形成装置。 An image forming apparatus comprising: a first process in which a first function operates; and a second process in which a second function for which execution of a predetermined process is requested from the first process operates.
A software component that identifies a process requested by the request message from among processes executable by the image forming apparatus in response to the request message requesting the predetermined process transmitted from the first process. Holding means for holding storage location information;
When the request message transmitted from the first process is received by the second process, specified by the software component executed based on the storage location information held by the holding unit; An image forming apparatus comprising: an execution unit that executes processing requested by the request message in the second process.
前記第1の機能及び前記第2の機能に共通する通信制御用インタフェースを備え、プロセス間においてデータの送受信を行う通信制御手段を有し、
前記通信制御手段は、
前記要求メッセージにより要求され、前記第2のプロセスで実行された前記所定の処理の実行結果に基づいて、要求に対応する応答メッセージを、前記第1のプロセスに送信することを特徴とする請求項1に記載の画像形成装置。 The image forming apparatus includes:
Comprising a communication control interface common to the first function and the second function, and having a communication control means for transmitting and receiving data between processes;
The communication control means includes
The response message corresponding to the request is transmitted to the first process based on an execution result of the predetermined process requested by the request message and executed in the second process. The image forming apparatus according to 1.
前記要求メッセージの送信を指示する送信指示手段と、
前記要求メッセージの送信と要求に応じた前記応答メッセージの受信待ちを指示する応答受信指示手段と、
前記要求メッセージの受信待ちを指示する要求待ち指示手段と、
前記ソフトウェア部品の格納先情報の設定を指示する格納先情報設定指示手段とを有することを特徴とする請求項2に記載の画像形成装置。 The communication control means includes
Transmission instruction means for instructing transmission of the request message;
Response reception instruction means for instructing transmission of the request message and waiting for reception of the response message in response to the request;
Request waiting instruction means for instructing reception waiting of the request message;
The image forming apparatus according to claim 2, further comprising a storage location information setting instruction unit that instructs setting of storage location information of the software component.
前記要求メッセージにより実行される処理を示す機能名と、
前記処理を行うときに用いるパラメータ値と、
前記パラメータ値の数を示すパラメータ数とから構成されることを特徴とする請求項1ないし3のいずれか一項に記載の画像形成装置。 The request message is
A function name indicating processing executed by the request message;
Parameter values used when performing the process;
The image forming apparatus according to claim 1, wherein the image forming apparatus includes a number of parameters indicating the number of parameter values.
前記第2のプロセスで受信された前記要求メッセージの前記機能名に基づいて、前記要求メッセージにより要求される処理を特定することを特徴とする請求項1ないし4のいずれか一項に記載の画像形成装置。 The software component is
5. The image according to claim 1, wherein a process requested by the request message is specified based on the function name of the request message received in the second process. 6. Forming equipment.
前記第2のプロセスで受信された前記要求メッセージの前記パラメータ値に基づいて、前記ソフトウェア部品により特定された、前記要求メッセージにより要求される処理を行うことを特徴とする請求項1ないし5のいずれか一項に記載の画像形成装置。 The execution means includes
6. The process requested by the request message specified by the software component based on the parameter value of the request message received in the second process. The image forming apparatus according to claim 1.
前記第2のプロセスで受信された前記要求メッセージの前記パラメータ値の数が、前記要求メッセージの前記パラメータ数と一致するか否かを判定し、受信された前記要求メッセージのデータを検証するデータ検証手段を有することを特徴とする請求項1ないし6のいずれか一項に記載の画像形成装置。 The image forming apparatus includes:
Data verification for determining whether the number of parameter values of the request message received in the second process matches the number of parameters of the request message and verifying the data of the received request message The image forming apparatus according to claim 1, further comprising a unit.
前記第1のプロセスから送信された前記要求メッセージを、前記第2のプロセスで受信したときに、前記保持手段により保持された前記格納先情報に基づいて前記ソフトウェア部品を実行し、前記ソフトウェア部品の実行により、前記要求メッセージにより要求される処理を特定し、特定された前記処理を前記第2のプロセスで実行することを特徴とする画像形成装置内のデータ処理方法。 A first process in which a first function operates, a second process in which a second function for which execution of a predetermined process is requested from the first process operates, and a transmission from the first process. And holding storage location information of software components for identifying the process requested by the request message from among the processes executable by the image forming apparatus in response to the request message requesting the predetermined process And a data processing method in the image forming apparatus,
When the request message transmitted from the first process is received by the second process, the software component is executed based on the storage location information held by the holding unit, and the software component A data processing method in an image forming apparatus, characterized in that a process requested by the request message is specified by execution, and the specified process is executed in the second process.
コンピュータに、
前記第1のプロセスから送信された前記要求メッセージを、前記第2のプロセスで受信したときに、前記保持手段により保持された前記格納先情報に基づいて前記ソフトウェア部品を実行させ、前記ソフトウェア部品の実行により、前記要求メッセージにより要求される処理を特定させ、特定された前記処理を前記第2のプロセスで実行させる画像形成装置内のデータ処理プログラム。 A first process in which a first function operates, a second process in which a second function for requesting predetermined processing to the first process operates, and a first process transmitted from the first process. A holding unit that holds storage location information of a software component that identifies a process requested by the request message from among processes that can be executed by the image forming apparatus in response to the request message that requests the predetermined process A data processing program in the image forming apparatus,
On the computer,
When the request message transmitted from the first process is received by the second process, the software component is executed based on the storage location information held by the holding unit, and the software component A data processing program in the image forming apparatus that, by execution, causes a process requested by the request message to be specified, and causes the specified process to be executed in the second process.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007238266A JP5046818B2 (en) | 2007-09-13 | 2007-09-13 | Image forming apparatus, data processing method in image forming apparatus, and data processing program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007238266A JP5046818B2 (en) | 2007-09-13 | 2007-09-13 | Image forming apparatus, data processing method in image forming apparatus, and data processing program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009071611A true JP2009071611A (en) | 2009-04-02 |
JP5046818B2 JP5046818B2 (en) | 2012-10-10 |
Family
ID=40607410
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007238266A Expired - Fee Related JP5046818B2 (en) | 2007-09-13 | 2007-09-13 | Image forming apparatus, data processing method in image forming apparatus, and data processing program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5046818B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102271209A (en) * | 2010-06-01 | 2011-12-07 | 株式会社理光 | Image forming apparatus, image processing method, and image processing system |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005229270A (en) * | 2004-02-12 | 2005-08-25 | Ricoh Co Ltd | Image forming device and method of interface |
JP2006139776A (en) * | 2001-08-27 | 2006-06-01 | Ricoh Co Ltd | Information processing system |
-
2007
- 2007-09-13 JP JP2007238266A patent/JP5046818B2/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006139776A (en) * | 2001-08-27 | 2006-06-01 | Ricoh Co Ltd | Information processing system |
JP2005229270A (en) * | 2004-02-12 | 2005-08-25 | Ricoh Co Ltd | Image forming device and method of interface |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102271209A (en) * | 2010-06-01 | 2011-12-07 | 株式会社理光 | Image forming apparatus, image processing method, and image processing system |
Also Published As
Publication number | Publication date |
---|---|
JP5046818B2 (en) | 2012-10-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7209249B2 (en) | Method of and apparatus for image formation, and computer product | |
JP5539043B2 (en) | Information transmitting apparatus, information transmitting apparatus control method, and computer program | |
EP1650953B1 (en) | Image forming apparatus, a print process method, a computer program and a computer readable storage medium | |
JP5370439B2 (en) | Apparatus, request processing method, program, and recording medium | |
JP2016027711A (en) | Image forming apparatus, image forming method, and program | |
JP2009255390A (en) | Image forming apparatus, functional cooperation control method, and functional cooperation control program | |
JP4291856B2 (en) | Image forming apparatus having Web service function | |
JP6768544B2 (en) | Information processing equipment, control methods and programs | |
JP5046818B2 (en) | Image forming apparatus, data processing method in image forming apparatus, and data processing program | |
JP4141209B2 (en) | Image forming apparatus having Web service function | |
JP2003274100A (en) | Image forming apparatus, remote image forming control method, and program for allowing computer to perform the method | |
JP2004005505A (en) | Computer readable program for letting computer execute program formation | |
JP2004005503A (en) | Image forming device having web service function | |
KR101405920B1 (en) | Job control apparatus and multi-function product, and operating method thereof | |
US8499310B2 (en) | Information processing apparatus, device setup method and storage medium for carrying out a device setup on a network | |
JP4291855B2 (en) | Image forming apparatus having Web service function | |
JP3977039B2 (en) | Communication program generating method for image information processing apparatus and communication program generating apparatus for image information processing apparatus | |
JP2006020341A (en) | Image forming apparatus including web service functions | |
JP5072499B2 (en) | Image forming apparatus, data communication apparatus, data communication method, and data communication program | |
JP4373692B2 (en) | Image forming apparatus having Web service function | |
JP4500326B2 (en) | Inter-process communication program and image information processing apparatus | |
JP4141210B2 (en) | Image forming apparatus having Web service function | |
JP2005108237A (en) | System and method for enabling heterogeneous image forming apparatus to operate as homogeneous device | |
JP2009134584A (en) | Information processor management system, information processor management method, program, and storage medium | |
JP4291854B2 (en) | Image forming apparatus having Web service function |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100412 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20111025 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111129 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120113 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20120619 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
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: 20120717 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150727 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5046818 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |