JP5046818B2 - 画像形成装置、画像形成装置内のデータ処理方法、及びデータ処理プログラム - Google Patents

画像形成装置、画像形成装置内のデータ処理方法、及びデータ処理プログラム Download PDF

Info

Publication number
JP5046818B2
JP5046818B2 JP2007238266A JP2007238266A JP5046818B2 JP 5046818 B2 JP5046818 B2 JP 5046818B2 JP 2007238266 A JP2007238266 A JP 2007238266A JP 2007238266 A JP2007238266 A JP 2007238266A JP 5046818 B2 JP5046818 B2 JP 5046818B2
Authority
JP
Japan
Prior art keywords
request message
function
unit
image forming
forming apparatus
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.)
Expired - Fee Related
Application number
JP2007238266A
Other languages
English (en)
Other versions
JP2009071611A (ja
Inventor
耕作 中原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2007238266A priority Critical patent/JP5046818B2/ja
Publication of JP2009071611A publication Critical patent/JP2009071611A/ja
Application granted granted Critical
Publication of JP5046818B2 publication Critical patent/JP5046818B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Description

本発明は、当該画像形成装置が有する複数の機能のうち、第1の機能と、第1の機能から所定の処理が要求される第2の機能との間でプロセス間通信を行う画像形成装置、画像形成装置内のデータ処理方法、及びデータ処理プログラムに関するものである。
コピー、ファックス、プリンタ、スキャナなどの複数の機能を有する画像形成装置として、複合機が一般的に知られている。
このような複数の機能が動作する画像形成装置では、例えば、UNIX(登録商標)などのマルチタスクOS(Operating System)が実装されており、このOS上に多数のプロセスを起動し、起動したプロセスで各機能モジュールを動作させることで、多数の処理を並列処理している。
このような複数のプロセスが動作するマルチプロセス環境では、プロセス間において双方向のデータ通信を行っている。
例えば、画像形成装置が有する機能に、外部機器が当該画像形成装置を自動検出するために情報提供を行う機器情報提供部と、プリンタやスキャナなどの各アプリケーションを管理するアプリケーション管理部とがある。これら2つの機能は、マルチプロセス環境において、それぞれ異なるプロセスで動作している。そのため、機器情報提供部が外部機器へ情報提供を行うときに、アプリケーション管理部から各アプリケーションに関する情報を取得しなければならない。このとき、画像形成装置では、機器情報提供部が動作するプロセスからアプリケーション管理部が動作するプロセスへ情報取得要求のメッセージが送信され、その結果、アプリケーション管理部が動作するプロセスから機器情報提供部が動作するプロセスへ要求した情報が送信される。
このように、マルチプロセス環境における画像形成装置では、装置内部のデータ処理の1つとしてプロセス間通信が行われている。
例えば、特許文献1には、「ハードウェア資源とプログラムとを有する画像形成装置であって、一又は複数のサービス要求を含むエージェントを受信し、エージェントのサービス要求ごとに1又は複数のコントロールサービスを選定して、選定されたコントロールサービスに対してサービス要求を行うエージェント処理手段を備えたことにより、可変性のあるアーキテクチャ及びタス多様な機能を実現する」という画像形成装置が開示されている。
特開2007―12057号公報
しかしながら、特許文献1に開示された従来の画像形成装置では、プロセス間通信を行うモジュールと要求に応じた処理を行うモジュールとが一体となっている。そのため、それぞれのプロセスで動作する通信用モジュールを、送受信側で行う処理内容やその通信目的などの取り決めに応じて設計し実装しなければならず、送受信側の機能拡張などの作業は、開発者にとって煩雑なものであった。
このように、従来の画像形成装置内のデータ処理機能は、プロセス間通信を行う機能部の独立性が低いため(プロセス間通信を行う機能部が送受信側の取り決めに依存しているため)、送受信側の機能拡張が困難なものとなっていた。
本発明では、上記従来技術の問題点に鑑み、画像形成装置内のデータ処理において、プロセス間通信を行う機能部の独立性が高く、送受信側の機能を容易に拡張することができる画像形成装置、画像形成装置内のデータ処理方法、及びデータ処理プログラムを提供することを目的とする。
上記目的を達成するため、本発明の画像形成装置は、第1の機能が動作する第1のプロセスと、前記第1のプロセスから所定の処理の実行が要求される第2の機能が動作する第2のプロセスとを有する画像形成装置であって、前記第1の機能及び前記第2の機能に共通する通信制御用インタフェースを備え、プロセス間においてデータの送受信を行う通信制御手段と、前記第1のプロセスから送信された、前記所定の処理を要求する要求メッセージに応じて、当該画像形成装置で実行可能な処理の中から、前記要求メッセージにより要求される処理を特定するソフトウェア部品の格納先情報を保持している保持手段と、前記第1のプロセスから送信された前記要求メッセージを、前記第2のプロセスで受信したときに、前記保持手段により保持された前記格納先情報に基づいて実行される前記ソフトウェア部品により特定された、前記要求メッセージにより要求される処理を前記第2のプロセスで実行する実行手段とを有し、受信側の前記通信制御手段は、前記第2のプロセスからの指示に従って、前記ソフトウェア部品の格納先情報を前記保持手段に登録し、前記第1のプロセスから送信される前記要求メッセージの受信待ちを開始し、送信側の前記通信制御手段は、前記第1のプロセスからの指示に従って、前記第2のプロセスに前記要求メッセージを送信し、受信側の前記通信制御手段は、前記第1のプロセスから前記要求メッセージを受信すると、前記要求メッセージにより要求される処理の実行を前記実行手段に指示することを特徴とする。
また、上記目的を達成するため、本発明の画像形成装置は、前記通信制御手段において、前記要求メッセージにより要求され、前記第2のプロセスで実行された前記所定の処理の実行結果に基づいて、要求に対応する応答メッセージを、前記第1のプロセスに送信することを特徴とする。
また、上記目的を達成するため、本発明の画像形成装置は、前記通信制御手段において、前記要求メッセージの送信を指示する送信指示手段と、前記要求メッセージの送信と要求に応じた前記応答メッセージの受信待ちを指示する応答受信指示手段と、前記要求メッセージの受信待ちを指示する要求待ち指示手段と、前記ソフトウェア部品の格納先情報の設定を指示する格納先情報設定指示手段とを有することを特徴とする。
また、上記目的を達成するため、本発明の画像形成装置は、前記要求メッセージが、前記要求メッセージにより実行される処理を示す機能名と、前記処理を行うときに用いるパラメータ値と、前記パラメータ値の数を示すパラメータ数とから構成されることを特徴とする。
また、上記目的を達成するため、本発明の画像形成装置は、前記ソフトウェア部品が、前記第2のプロセスで受信された前記要求メッセージの前記機能名に基づいて、前記要求メッセージにより要求される処理を特定することを特徴とする。
また、上記目的を達成するため、本発明の画像形成装置は、前記実行手段において、前記第2のプロセスで受信された前記要求メッセージの前記パラメータ値に基づいて、前記ソフトウェア部品により特定された、前記要求メッセージにより要求される処理を行うことを特徴とする。
また、上記目的を達成するため、本発明の画像形成装置は、前記第2のプロセスで受信された前記要求メッセージの前記パラメータ値の数が、前期要求メッセージの前記パラメータ数と一致するか否かを判定し、前記要求メッセージのデータを検証するデータ検証手段を有することを特徴とする。
これによって、本発明の画像形成装置は、プロセス間通信を行う機能部と送受信側の主要機能部とを別のプログラムで構成し、所定の処理を要求する要求メッセージに応じて、当該画像形成装置で実行可能な処理の中から、要求メッセージにより要求される処理を特定し処理を実行するプログラムを送受信側の主要機能部が有し、このプログラムを、予めプロセス間通信を行う機能に登録可能な構成とすることにより、プロセス間通信を行うときの送受信側の取り決めなどに依存する処理が送受信側の機能に統合され、プロセス間通信を行う機能側に、送受信側の取り決めに依存するプログラムコードやデータが含まれることがないため、画像形成装置内のデータ処理において、プロセス間通信を行う機能部の独立性が高く、送受信側の機能を容易に拡張することができる。
上記目的を達成するため、本発明の画像形成装置内のデータ処理方法は、第1の機能が動作する第1のプロセスと、前記第1のプロセスから所定の処理の実行が要求される第2の機能が動作する第2のプロセスと、前記第1のプロセスから送信された、前記所定の処理を要求する要求メッセージに応じて、当該画像形成装置で実行可能な処理の中から、前記要求メッセージにより要求される処理を特定するソフトウェア部品の格納先情報を保持している保持手段とを有する画像形成装置内のデータ処理方法であって、前記第1の機能及び前記第2の機能に共通する通信制御用インタフェースを備え、プロセス間においてデータの送受信を行う通信制御手順と、前記第1のプロセスから送信された前記要求メッセージを、前記第2のプロセスで受信したときに、前記保持手段により保持された前記格納先情報に基づいて前記ソフトウェア部品を実行し、前記ソフトウェア部品の実行により、前記要求メッセージにより要求される処理を特定し、特定された前記処理を前記第2のプロセスで実行する実行手順と、を有し、受信側の前記通信制御手順により、前記第2のプロセスからの指示に従って、前記ソフトウェア部品の格納先情報を前記保持手段に登録し、前記第1のプロセスから送信される前記要求メッセージの受信待ちを開始し、送信側の前記通信制御手順により、前記第1のプロセスからの指示に従って、前記第2のプロセスに前記要求メッセージを送信し、受信側の前記通信制御手順により、前記第1のプロセスから前記要求メッセージを受信すると、前記実行手順を実行し、前記実行手順により、前記要求メッセージにより要求される処理を実行することを特徴とする。
これによって、本発明のデータ通信方法は、送受信側の主要機能部が有する、所定の処理を要求する要求メッセージに応じて、当該画像形成装置で実行可能な処理の中から、要求メッセージにより要求される処理を特定し処理を実行するプログラムを、予めプロセス間通信を行う機能部に登録しておき、受信側のプロセス間通信を行う機能部により要求メッセージを受信すると、登録されているプログラムを実行することにより、プロセス間通信を行うときの送受信側の取り決めなどに依存する処理が送受信側の機能部に統合され、プロセス間通信を行う機能部側に、送受信側の取り決めに依存するプログラムコードやデータが含まれることがないため、画像形成装置内のデータ処理において、プロセス間通信を行う機能部の独立性が高く、送受信側の機能を容易に拡張することができる。
上記目的を達成するため、本発明の画像形成装置内のデータ処理プログラムは、第1の機能が動作する第1のプロセスと、前記第1のプロセスに対して所定の処理を要求する第2の機能が動作する第2のプロセスと、前記第1のプロセスから送信された、前記所定の処理を要求する要求メッセージに応じて、当該画像形成装置で実行可能な処理の中から、前記要求メッセージにより要求される処理を特定するソフトウェア部品の格納先情報を保持している保持手段とを有する画像形成装置内のデータ処理プログラムであって、コンピュータを、前記第1の機能及び前記第2の機能に共通する通信制御用インタフェースを備え、プロセス間においてデータの送受信を行う通信制御手段と、前記第1のプロセスから送信された前記要求メッセージを、前記第2のプロセスで受信したときに、前記保持手段により保持された前記格納先情報に基づいて前記ソフトウェア部品を実行し、前記ソフトウェア部品の実行により、前記要求メッセージにより要求される処理を特定し、特定された前記処理を前記第2のプロセスで実行する実行手段として機能させ、受信側の前記通信制御手段が、前記第2のプロセスからの指示に従って、前記ソフトウェア部品の格納先情報を前記保持手段に登録し、前記第1のプロセスから送信される前記要求メッセージの受信待ちを開始し、送信側の前記通信制御手段が、前記第1のプロセスからの指示に従って、前記第2のプロセスに前記要求メッセージを送信し、受信側の前記通信制御手段が、前記第1のプロセスから前記要求メッセージを受信すると、前記要求メッセージにより要求される処理の実行を前記実行手段に指示するように動作させる。
これによって、本発明の画像形成装置内のデータ処理プログラムは、コンピュータを、予め登録しておいた、送受信側の主要機能部が有する、所定の処理を要求する要求メッセージに応じて、当該画像形成装置で実行可能な処理の中から、要求メッセージにより要求される処理を特定し処理を実行するプログラムを、受信側のプロセス間通信を行う機能部により要求メッセージを受信したときに実行するように機能させることができる。
よって、本発明の画像形成装置内のデータ処理方法プログラムは、プロセス間通信を行うときの送受信側の取り決めなどに依存する処理が送受信側の機能部に統合され、プロセス間通信を行う機能部側に、送受信側の取り決めに依存するプログラムコードやデータが含まれることがないため、画像形成装置内のデータ処理において、プロセス間通信を行う機能部の独立性が高く、送受信側の機能を容易に拡張する「画像形成装置内のデータ処理機能」を実現することができる。
本発明によれば、画像形成装置内のデータ処理において、プロセス間通信を行う機能部の独立性が高く、送受信側の機能を容易に拡張することができる画像形成装置、画像形成装置内のデータ処理方法、及びデータ処理プログラムを提供することができる。
以下、本発明の好適な実施の形態(以下、「実施形態」という。)について、図面を用いて詳細に説明する。
[第1の実施形態]
<ハードウェア構成>
では、本実施形態に係る画像形成装置100のハードウェア構成について、図1を用いて説明する。図1は、本発明の第1の実施形態に係る画像形成装置100のハードウェア構成の一例を示す図である。
本実施形態に係る画像形成装置100は、操作パネル11と、記憶メディアI/F12と、コントローラ13と、データ通信I/F14と、HDD(Hard Disk Drive)17と、スキャナ15と、プロッタ16とから構成され、それぞれ相互に接続されている。
操作パネル11は、入力装置11aと表示装置11bとを有しており、入力装置11aは、ハードウェアキーなどで構成され、画像形成装置100に各操作信号を入力するのに用いられる。また、表示装置11bは、ディスプレイなどで構成され、例えば画像形成動作に関する各種情報を表示する。データ通信I/F14は、インタフェース装置14aを有しており、画像形成装置100をネットワークなどのデータ伝送路に接続するインタフェースである。HDD17は、画像形成装置100で取り扱われる受信文書データや読み取り画像データなどの各種データを格納している。また、HDD17は、これらの各種データを、所定のファイルシステムやDB(Data Base)により管理している。
上記HDD17に格納される各種データの中には、例えば、デジタルカメラなどの外部機器によって記録された電子データも含まれる。このような場合には、メモリカードなどの記録媒体12bによって画像形成装置100に提供されるか、データ伝送路であるネットワークなどを通じてアップロードされる。記録媒体12bは、記憶メディアI/F12が有するドライブ装置12aにセットされ各種データが記録媒体12bからドライブ装置12aを介してHDD17に格納される。
コントローラ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により実行し、印刷データを解釈してビットマップイメージを生成する。
スキャナ15は、画像読取装置15aを有しており、読み取り面に配置された原稿を光学的に読み取り画像データを生成する。プロッタ16は、印刷装置16aを有しており、例えば、電子写真プロセス方式によってビットマップイメージを記録紙に印刷する。
このように、本実施形態に係る画像形成装置100では、上記ハードウェア構成により、コピー、プリンタ、ファクシミリ、スキャナなどの複数の機能を実現している。
<ソフトウェア構成>
次に、本実施形態に係る画像形成装置100のソフトウェア構成について、図2を用いて説明する。図2は、本発明の第1の実施形態に係る画像形成装置100のソフトウェア構成の一例を示す図である。
<<画像形成装置>>
本実施形態に係る画像形成装置100は、図1に示したプロッタ16と、スキャナ15と、ファクシミリやHDD17などのハードウェアリソース101などを有するとともに、起動部140によって起動されるプラットホーム120とアプリケーション130とから構成されるソフトウェア群110とを備えている。
プラットホーム120は、アプリケーション130からの処理要求を解釈してハードウェアリソースの獲得要求を発生させるコントロールサービス150と、1つ以上のハードウェアリソースの管理を行い、コントロールサービス150からの獲得要求を調停するSRM(System Resource Manager)123と、OS(Operating System)121とを有する。
コントロールサービス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とから構成される。
なお、このプラットホーム120は、予め定義されたメソッドによりアプリケーション130から処理要求を受信可能とするAPI(Application Program Interface)103と、プロッタ16やスキャナ15、またその他のハードウェアリソース101などを、ハードウェアリソースを利用する上位層からの要求に従ってOS121を介して制御するときのインタフェースであるエンジンI/F102を有する。
OS121は、UNIX(登録商標)などの汎用オペレーティングシステムであり、プラットホーム120並びにアプリケーション130の各ソフトウェアをそれぞれプロセスとして並列実行する。
SRM123は、SCS122とともにシステムの制御およびリソースの管理を行うものであり、プロッタ16やスキャナ15などのエンジン、メモリ、HDDファイル、ホストI/O(例えば、セントロI/F、ネットワークI/F、IEEE1394 I/F、RS232C I/Fなど。)のハードウェアリソースを利用する上位層からの要求に従って調停を行い、実行制御する。
具体的には、このSRM123は、要求されたハードウェアリソースが利用可能であるか(他の要求により利用されていないかどうか)を判断し、利用可能であれば要求されたハードウェアリソースが利用可能である旨を上位層に伝える。また、SRM123は、上位層からの要求に対してハードウェアリソースの利用スケジューリングを行い、要求内容(例えば、プリンタエンジンにより紙搬送と作像動作、メモリ確保、ファイル生成など。)を直接実施している。
SCS122は、アプリ管理、操作部制御、システム画面表示、LED(Light Emitting Diode)表示、リソース管理、割り込みアプリ制御を行うものである。ECS124は、プロッタ16、スキャナ15などから構成されるハードウェアリソースのエンジンを制御するものである。
MCS125は、画像メモリの取得および解放、HDDの利用、画像データの圧縮および伸張などを行うものである。OCS126は、オペレータと本体制御間の情報伝達手段となる操作パネル11を制御するモジュールである。
FCS127は、システムコントローラの各アプリ層からPSTN(Public Switched Telephone Networks)/ISDN(Integrated Services Digital Network)を利用したファクシミリ送受信、BKM(バックアップSRAM:Static Random Access Memory)で管理されている各種ファクシミリデータの登録/引用、ファクシミリ読みとり、ファクシミリ受信印刷、融合送受信を行うためのAPIを提供するものである。FCS127には、そのサブプロセスであるFCUハンドラ(FCUH)が起動される。このFCUHは、FCS127からの指令によりファクシミリ送受信のときにファクシミリエンジンのデバイスドライバを制御するものである。
NCS128は、ネットワークI/Oを必要とするアプリケーション130に対して共通に利用できるサービスを提供するためのモジュール群である。
本実施形態に係るデータ処理機能は、NCS128が有している。NCS128を構成する具体的なソフトウェア部品(プログラム)については、以降に示す図3を用いて説明する。
アプリケーション130は、PCLやポストスクリプト(PS)などのページ記述言語(PDL)を有するプリンタ用のアプリケーションであるプリンタアプリ111と、コピー用アプリケーションであるコピーアプリ112と、ファクシミリ用アプリケーションであるファックスアプリ113と、スキャナ用アプリケーションであるスキャナアプリ114と、ネットワークファイル用アプリケーションであるネットファイルアプリ115と、工程検査用アプリケーションである工程検査アプリ116と、配信用のアプリケーションである配信アプリ117とを有している。
これらの各コントロールサービスとSRM123と各アプリケーション130とは、1つ以上のメソッドを有するオブジェクトであり、このオブジェクトを起動することによりそれぞれプロセスとしてOS121上に生成されて実行される。そして、各プロセス内部には、複数のスレッドが起動され、OS121の管理下でこれらのスレッドのCPU占有時間を切り替えることにより並列実行が実現されている。このため、プロセス切り替えによる並列実行と比較して、並列実行時の処理速度の向上が図られている。
各アプリプロセスと各コントロールサービスプロセスとは、メソッドの実行によるプロセス間通信によってメッセージの送受信が行われる。
<<NCS>>
ここからは、本実施形態に係るデータ処理機能を有するNCS128について、図3及び図4を用いて説明する。
(ソフトウェア構成の概要)
図3は、本発明の第1の実施形態に係るNCS128のソフトウェア構成の一例を示す図である。
本実施形態に係るNCS128のソフトウェア構成は、主に、各プロトコルによって受信したデータを各アプリケーション130に振り分けたり、アプリケーション130からデータをネットワーク側に送信する際の仲介を行うモジュール群で構成される。そのモジュール群の中に、本実施形態に係るWS−MFPモジュール群20がある。
ここで上記の「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サービスに準拠して設計された複合機用のモジュール群を示している。
図3に示すWS−MFPモジュール群20は、外部機器と画像形成装置100が有するプリンタアプリ111との間でプリンタ関連のデータを取り扱うWS−Printer21pや、外部機器と画像形成装置100が有するスキャナアプリ114との間でスキャナ関連のデータを取り扱うWS−Scanner21sと、外部機器と画像形成装置100との間で機器関連のデータを取り扱うDFMモジュール22とから構成され、上記各ソフトウェア部品は、それぞれ別のプロセスで起動され動作するように実装される。
例えば、WS−Printer21pは、DFMモジュール22からのプリンタアプリ111に関する情報の取得要求に応答したり、外部機器からの印刷要求をプリンタアプリ111に通知したりする機能である。DFMモジュール22は、WS−Printer21pやWS−Scanner21sなどからプリンタアプリ111やスキャナアプリ114などのアプリケーション情報を取得し、取得した情報を基に外部機器に対して、画像形成装置100が提供可能な標準化Webサービスに関する情報を含む機器情報を送信する。
このように、本実施形態に係る画像形成装置100は、上記構成によるNCS128を有することにより、外部機器と画像形成装置100との間でデータの送受信を行うことができる。
上記において、DFMモジュール22からWS−Printer21pが保有するプリンタ関連の情報を取得する場合について説明を行ったが、互いに別のプロセスによって動作しているため、プロセス間通信によりデータの送受信を行う。
(ソフトウェア構成の詳細)
図4は、本発明の第1の実施形態に係るWS−MFPモジュール群20内部のプロセス間通信の構成の一例を示す図である。
図4に示すように、本実施形態に係るWS−MFPモジュール群20は、DFMモジュール22、WS−Printer21p及びWS−Scanner21sとから構成され、上記各ソフトウェア部品は、それぞれ別のプロセスで起動され動作するように実装される。また、上記各ソフトウェア部品には、プロセス間通信機能を有するIMC(Internal Message Communication)51のライブラリがリンクされている。
以下に、DFMモジュール22、WS−Printer21p、及びWS−Scanner21sそれぞれを構成する主なソフトウェア部品について説明する。
WS−Printer21pは、PrinterDCP41pとWS−Eventing42pとから構成される。
PrinterDCP41pは、プリンタ機能を利用する外部機器が有する機能(例えばプリンタドライバなど)と画像形成装置100が有するプリンタアプリ111との間で、プリンタ関連のデータを送受信する。また、WS−Eventing42pは、プリンタ機能を利用する外部機器が有する機能から送信された印刷要求などの処理要求イベントを画像形成装置100が有するプリンタアプリ111に通知する。
WS−Printer21pは、上記機能構成により、例えば、外部機器からの印刷要求に従って、画像形成装置100が有するプリンタアプリ111により、受信した画像データの印刷を行い、印刷が完了した旨を外部機器へ通知する処理を実現する。
WS−Scanner21sは、ScannerDCP41sとWS−Eventing42sとから構成される。ScannerDCP41sは、スキャナ機能を利用する外部機器が有する機能(例えば文書管理ソフトウェアなど)と画像形成装置100が有するスキャナアプリ114との間で、スキャナ関連のデータを送受信する。また、WS−Eventing42sは、スキャナ機能を利用する外部機器が有する機能から送信された画像読み取り要求などの処理要求イベントを画像形成装置100が有するスキャナアプリ114に通知する。
WS−Scanner21sは、上記機能構成により、例えば、外部機器からの画像読み取り要求に従って、画像形成装置100が有するスキャナアプリ114により、原稿の読み取りを行い、読み取りが完了した旨を外部機器へ通知する処理を実現する。
DFMモジュール22は、WS−Discovery31と、WS−Transfer32と、WS−MetadataExchenge33と、WSD−Manager34とから構成される。
WS−Discovery31は、標準化Webサービスにより、搭載するアプリケーション機能を提供可能な装置(WS−Device)がネットワークに参加したことを、外部機器が有する機能が検知するためのメッセージを、外部機器と画像形成装置100との間で送受信する。
WS−Transfer32は、画像形成装置100が提供可能な標準化Webサービスに関する情報(機器情報)を通知するメッセージを、外部機器と画像形成装置100との間で送受信する。また、WS−Transfer32は、UDP(User Datagram Protocol)により、外部機器に対して、画像形成装置100がネットワークに参加した旨を知らせる(例えば「Hello」コマンドをネットワークに接続される全ての外部機器に対してマルチキャストする)。
WS−MetadataExchenge33は、IMC51が有するプロセス間通信機能によりWS−Printer21p及びWS−Scanner21sから取得した各アプリケーションに関する情報などを基に、画像形成装置100が提供可能な標準化Webサービスに関する情報のデータを生成する。
WSD−Manager34は、WS−Discovery31、WS−Transfer32、及びWS−MetadataExchenge33、並びに、WS−Printer21p及びWS−Scanner21sが有する各DCP41p及び41sなどの動作制御・管理を行う。
DFMモジュール22は、上記機能構成により、例えば、標準化Webサービスにより、搭載するアプリケーション機能を提供可能な画像形成装置100の自動検知機能を実現している。
IMC51は、プロセス間通信機能を有しており、他のDFMモジュール22、WS−Printer21p、及びWS−Scanner21sなどのように、ソフトウェア部品として単独で機能するものではなく、単独で機能するソフトウェア部品に対して、プロセス間でデータの送受信などを行うためのプロセス間通信プログラム群が1つにまとめられたファイル、すなわちライブラリとして提供される。
以下に、ライブラリとして提供されるIMC51のプロセス間通信プログラム群について、図5を用いて説明する。図5は、本発明の第1の実施形態に係るIMC51のソフトウェア構成の一例を示す図である。
(IMCライブラリのソフトウェア構成)
本実施形態において実装されるIMC51のソフトウェア構成は、図5(a)に示すように3つのレイヤで構成され、各レイヤがプロセス間通信を行うための複数のプログラムを有している。
[IMCI/Fレイヤ]
IMCI/Fレイヤ61は、プロセス間通信機能を利用するソフトウェア部品(送受信側の機能を実現するモジュール)のプログラムコードから実際にコールすることが可能な関数61a〜d(以下に示す4つの関数)がまとめられたレイヤである。
(a)PutMsg()61a(送信指示手段に対応する機能を実現するプログラム)
要求メッセージの送信を指示する関数。
(b)SendReceive()61b(応答受信指示手段に対応する機能を実現するプログラム)
要求メッセージを送信後、要求に応じた応答メッセージの受信待ちを指示する関数。
(c)GetMsg()61c(要求待ち指示手段に対応する機能を実現するプログラム)
要求メッセージの受信待ちを指示する関数。
(d)registAPI()61d(格納先情報設定指示手段に対応する機能を実現するプログラム)
要求メッセージに応じて、画像形成装置100で実行可能な処理の中から、要求メッセージにより要求される処理を特定し処理を実行するソフトウェア部品(以下、「コールバック関数」という。)の格納先情報(以下、「コールバック関数へのポインタ」という。)の設定を指示する関数(コールバック関数の登録を指示する関数)。
関数61a〜dは、図5(b)に示す要求メッセージを送受信する場合に想定される4つの動作指示に対応付けられている。例えば、受信側からの処理要求に応じた応答メッセージを必要とせず、受信側に行わせる処理を要求する要求メッセージのみを送信したい場合(図中に示す(1)の場合)には、プログラムコードから関数PutMsg()61aをコールすればよい。また、送信側から送信される要求メッセージの受信を待ち受ける状態へ移行したい場合(図中に示す(3)の場合)には、プログラムコードから関数GetMsg()61cをコールすればよい。
このように、IMCI/Fレイヤ61は、独立性の高いプロセス間通信機能を実現するため、送受信側の処理内容や通信目的などの取り決めに依存しない基本的な動作のみを指示するインタフェースを提供している。
[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からコールされ、要求メッセージにより要求される処理を特定するソフトウェア部品(コールバック関数)の格納先情報(関数へのポインタ)を設定する関数、すなわち、登録指示を受けコールバック関数を登録する関数である。
[送受信処理実行レイヤ]
送受信処理実行レイヤ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()を実行し、データ受信を行う関数。
[その他(コールバック関数)]
(m)callCB()64(実行手段に対応する機能を実現するプログラム)
上位レイヤに位置する関数Register()62eにより、要求メッセージにより要求される処理を特定し処理を実行する関数(registAPI()61dをコールすることで登録された関数)。
関数callCB()64は、受信側のIMC51が要求メッセージを受信すると、上位レイヤに位置する関数ProcessReceivedMsg()62dによって、設定されている関数callCB64へのポインタに基づいてコールされ実行される。また、関数callCB()64は、例えば、受信側のDFMモジュール22に含まれており、受信側のIMC51には、設定されたポインタの値を基に関数callCB()64をコールバックする関数(以下、「呼び出し先関数」という。)が定義されている。このような関数callCB()64をコールバック関数という。
このように、本実施形態に係る画像形成装置100では、異なるプロセスで動作するDFMモジュール22と、WS−Printer21p又はWS−Scanner21sとの間で行うプロセス間通信を、IMC51のプロセス間通信プログラムを実行することで実現している。また、本実施形態では、DFMモジュール22、WS−Printer21p、及びWS−Scanner21sそれぞれのソフトウェア部品が、IMC51のプロセス間通信プログラムを用いることができるように、各ソフトウェア部品にIMC51のライブラリをリンクし実装する。
<プロセス間通信におけるデータ処理機能>
次に、これまで説明を行ってきたハードウェア及びソフトウェア構成を踏まえ、本実施形態に係る画像形成装置100が有する「プロセス間通信におけるデータ処理機能」について、図6を用いて説明する。図6は、本発明の第1の実施形態に係る画像形成装置100内のデータ処理機能の機能構成の一例を示す図である。
<<機能構成の概要>>
本実施形態に係る画像形成装置100は、主に、送信側からの要求に応じて処理を行う受信側の機能部71と、受信側に処理を要求する送信側の機能部72と、送信側の機能部71と受信側の機能部72との間のプロセス間通信を行うプロセス間通信部73とから構成される。
また、上記各機能部は、図4において説明を行ったWS−MFPモジュール群20のソフトウェア部品が、画像形成装置100が有するコントローラ13に配置されたROM13aからRAM13b上に読み出され、CPU13cで実行されることで実現される機能である。
例えば、「外部機器に要求に応じてDFMモジュール22がWP−Printer21pやWS−Scanner21sなどから提供可能なサービスに関する情報を取得するとき」に行われる、DFMモジュール22が動作するプロセスと、WP−Printer21p又はWS−Scanner21sが動作するプロセスとのプロセス間通信では、送信側の機能部71がDMFモジュール22にあたり、受信側の機能部72がWS−Printer21p又はWS−Scanner21sにあたり、プロセス間通信部73がIMC51にあたる。このように、各ソフトウェア部品によって上記機能が実現されている。
<<各機能部の概要>>
上記に挙げた主要な各機能部の概要について説明する。
受信側の機能部71は、初期化部71aと内容解釈部71bを有している。
初期化部71aは、受信側の機能部71が起動されたときの動作前の処理を行う。その中で、初期化部71aは、受信側の前処理として、要求メッセージにより要求される処理を特定し処理を実行するコールバック関数64の関数へのポインタを、受信側のプロセス間通信部73に設定する。すなわち、受信側の機能部71が有するコールバック関数64を、受信側のプロセス間通信部73に登録する。
内容解釈部71bは、送信側の機能部72から送信された要求メッセージに応じて、画像形成装置100で実行可能な処理の中から、要求メッセージにより要求される処理を特定するという、受信した要求メッセージの内容に応じて、受信側の機能部71で行う処理を切り換えるディスパッチ機能を有している。内容解釈部71bは、初期化部71aにより前処理の段階で登録されるコールバック関数64が実行されることで実現する機能である。
送信側の機能部72は、メッセージ設定部72mを有しており、メッセージ設定部72mは、受信側の機能部71に要求する処理内容に応じて、送信側の機能部72から送信する要求メッセージを設定する。メッセージ設定部72mは、プロセス間通信部73が提供するI/F関数61a〜dを用いて要求メッセージを設定する。
プロセス間通信部73は、送信部74と、受信部75と、手続き登録部76と、登録手続き実行部77とを有している。
送信部74は、受信側の機能部71が動作するプロセスに対して、メッセージ設定部72mからの設定に基づいて発行された要求メッセージを送信する。また、受信部75は、送信側の機能部72が有する送信部74により送信された要求メッセージを受信する。
手続き登録部76は、受信側の機能部71が有する初期化部71aにより設定されたコールバック関数64の関数へのポインタを、所定の記憶領域に保持する(保持手段に対応する機能)。そのため、手続き登録部76は、受信側の機能部71が起動したときに、RAM13bの記憶領域の中から所定の記憶領域を確保しておく。また、登録手続き実行部77は、手続き登録部76により保持されているコールバック関数64の関数へのポインタに基づいて、要求メッセージにより要求される処理を特定し処理を実行するコールバック関数64に実行を指示する。その結果、処理の実行制御が、受信側のプロセス間通信部73から受信側の機能部71へ移行し、コールバック関数64によって、特定された処理が実行される。登録手続き実行部77は、受信側のプロセス間通信部73が有する呼び出し先関数が実行されることで実現する機能である。
<<動作概要>>
次に、上記各機能部による本実施形態に係る「プロセス間通信におけるデータ処理機能」の動作について説明する。
(1)要求メッセージ受信待ち受け(前処理):受信側
まず、受信側の機能部71は、動作するプロセスが起動されると、初期化部71aにより予め決められた初期化処理を行う。まず、初期化部71aは、IMC51が提供する関数registAPI()61dをコールし、要求メッセージにより要求される処理を特定し処理を実行するコールバック関数(関数callCB)64の関数へのポインタを、受信側のプロセス間通信部73に設定する(関数callCB64を登録する)。その結果、設定された関数へのポインタは、受信側のプロセス間通信部73が有する手続き登録部76により保持される。その後、初期化部61dは、IMC51が提供する関数GetMsg()61cをコールし、送信側からの要求メッセージの受信待ち受け状態へ移行する。
(2)要求メッセージの設定・送信:送信側
送信側の機能部72は、メッセージ設定部72mにより要求メッセージの設定を行う。メッセージ設定部72mは、受信側の機能部71に要求する処理内容に応じて、IMC51が提供する関数PutMsg()61a又は関数SendReceive()61bをコールし、要求メッセージの設定を行う。その後に、送信側のプロセス間通信部73は、メッセージ設定部72mによる設定を基に発行された要求メッセージを、送信側のプロセス間通信部73が有する送信部74に渡し、受信側の機能部71へ送信する。送信部74は、関数PutMsg()61a又は関数SendReceive()61bの内部でコールされる関数Send()62a又は関数RequestResponse()62bにより実行される。
(3)要求メッセージの受信・内容解釈:受信側
受信側のプロセス間通信部73は、受信部75により要求メッセージを受信する。受信部75は、関数GetMsg()61cの内部でコールされる関数Receive()62c及び関数ProcessReceivedMsg()62dにより実行される。
(4)要求メッセージの内容解釈機能を起動:受信側
受信側のプロセス間通信部73は、要求メッセージを受信すると、登録手続き実行部77によって、手続き登録部76により保持している関数へのポインタ(関数callCB()64へのポインタ)に基づいてコールバック関数64を実行する(関数callCB()64をコールバックする)。このとき、受信した要求メッセージは、呼び出し先関数を介してコールバック関数64の引数として渡される。このようにして、受信側の機能部71が有する内容解釈部71bを起動する。
(5)要求される処理の実行:受信側
受信側の機能部71は、内容解釈部71bにより、要求メッセージに応じて、当該画像形成装置で実行可能な処理の中から、要求メッセージにより要求される処理を特定し、特定された処理を受信側の機能部71で実行する。内容解釈部71bは、受信側のプロセス間通信部73から渡された要求メッセージの所定の情報に基づいて、要求メッセージにより要求される処理を特定する。
(6)応答メッセージの送信:受信側
受信側の機能部71は、送信側の機能部72に要求に応じた応答メッセージを送信する場合に、内容解釈部71bにより特定され実行された処理結果を、受信側のプロセス間通信部73が有する送信部74に渡し、送信側の機能部72へ送信する。送信部74は、関数PutMsg()61aの内部でコールされる関数Send()62aにより実行される。
<プロセス間通信におけるデータ処理機能の詳細>
本実施形態に係る「プロセス間通信におけるデータ処理機能」において、上記動作の中で行われている(1)〜(6)までの処理を、より詳しく説明する。
<<内容解釈処理(ディスパッチャ)の事前登録>>
受信側の機能部17が有する初期化部71aは、IMC51が提供する関数registAPI()61dをコールし、要求メッセージにより要求される処理を特定し処理を実行する内容解釈部71bの機能を実現するコールバック関数64の関数へのポインタを、受信側のプロセス間通信部73に設定し手続き登録部76に保持する(コールバック関数64を登録する)。すなわち、初期化部71aは、受信側の機能部17が有する内容解釈部71bの機能を実現する関数callCB()64へのポインタを、受信側のプロセス間通信部73が有する呼び出し先関数のポインタに代入することで設定する。但し、この方法以外にもコールバック関数64の関数へのポインタを呼び出し先関数の引数を介して渡す方法などがあり、本実施形態は、この方法に限定されるものではない。
よって、初期化部71aが行う上記処理は、コールバック関数64として内容解釈部71bの機能を実現するプログラムを設定することから、受信側の機能部71が起動したときなどに、受信側が送信側からの要求メッセージを受信する前の段階で行っておく必要がある。
これによって、本実施形態に係るデータ処理機能では、呼び出し先関数からコールバック関数64を実行させることで、呼び出し先関数からコールバック関数64に実行制御を移すことができる。すなわち、送受信側の処理内容や通信目的などの取り決めに依存する要求メッセージの内容解釈機能をプロセス間通信部73の機能から分離して処理することができ(プロセス間通信部73から受信側の機能部71へ実行制御を移すことができ)、プロセス間通信を行う機能部の独立性が高くなる。
<<要求メッセージの設定>>
送信側の機能部72が有するメッセージ設定部72mは、受信側の機能部71に要求する処理内容に応じて、IMC51が提供する関数PutMsg()61a又は関数SendReceive()61bをコールし、関数の引数を介して要求メッセージの設定を行う。このとき、関数PutMsg()61a又は関数SendReceive()61bには、以下に説明を行う要求メッセージのデータ仕様に基づいて関数の引数が設定される。
図7は、本発明の第1の実施形態に係る要求メッセージ81のデータ仕様の一例を示す図である。図7には、本実施形態に係るWS−Printer21pが送信側の機能部72である場合の例が示されている。
本実施形態に係る要求メッセージ81のデータ仕様は、図7に示すように、要求メッセージ81により実行される処理を示す「機能名」と、処理を行うときに用いるパラメータ値の数を示す「データ個数」と、処理を行うときに用いるパラメータ値である「データ」とが、「プロセス間通信の目的」ごとに構成される。
上記データ仕様は、各プロセス間でやり取りしたい「プロセス間通信の目的」と「目的ごとの受信側の処理」とを基に、予め送信側と受信側との間で決めておき、上記データ仕様に従って所定の形式によりデータ化しておく。
送信側の機能部72が有するメッセージ設定部72mは、送信側の機能部72を実現するプログラムコードの中で、関数の引数に上記データ仕様の「機能名」、「データ数」、及び「データ」を設定したIMCI/Fレイヤ61が提供する関数PutMsg()61a又は関数SendReceive()61bをコールし、発行される要求メッセージ81の設定を行う。
例えば、送信側の機能部72が処理の中で、WS−Printer21pの処理終了を受信側の機能部71に通知した場合には、メッセージ設定部72mによって、引数に「機能名=DCP2DFM_Unregister」、「データ数=1」、及び「データ=(InstanceIDの値)」を設定した関数PutMsg()61a又は関数SendReceive()61bをコールすることで、WS−Printer21p処理終了通知メッセージが設定される。その結果、送信側のプロセス間通信部73が有する送信部74が、発行された要求メッセージ81を受信側の機能部71へ送信する。
このように、本実施形態に係るデータ処理機能では、IMCI/Fレイヤ61が提供するメッセージ送信を行う関数PutMsg()61a又は関数SendReceive()61bが、プロセス間通信の目的に対応する機能を決定するものではない。
これによって、本実施形態に係るデータ処理機能では、送受信側の処理内容や通信目的などの取り決めに依存する要求メッセージ設定機能を、プロセス間通信部73の機能から分離して処理することができ、プロセス間通信を行う機能部の独立性が高くなる。
<<要求メッセージの内容解釈(ディスパッチ)>>
受信側の機能部71が有する内容解釈部72bは、受信側のプロセス間通信部73が有する登録手続き実行部77によって実行を指示される。
受信側のプロセス間通信部73の受信部75が要求メッセージ81を受信すると、登録手続き実行部77によって、手続き登録部76により保持している関数callCB()64へのポインタに基づいて、要求メッセージ81により要求される処理を特定する関数callCB()64をコールバックする。このとき、受信した要求メッセージ81は、関数callCB()64の引数として渡される。このようにして、受信側の機能部71が有する内容解釈部71bを起動する。
内容解釈部72bは、引数を介して受け取った要求メッセージ81のデータを解釈し、データ内の「機能名」、「データ個数」、及び「データ」を解釈する。その結果、内容解釈部72bは、解釈して得た「機能名」に基づいて、画像形成装置100で実行可能な処理の中から、要求メッセージ81により要求される処理を特定する。すなわち、受信した要求メッセージ81の内容に応じて、受信側の機能部71で行う処理をディスパッチする。
内容解釈部72bの機能を実現する関数callCB()64は、受信側の機能部71が有する関数であり、送受信側の処理内容や通信目的などの取り決めに従って設計されているため、図7において説明を行った要求メッセージ81のデータ仕様から、引数を介して受け取った要求メッセージ81の「機能名」に基づいて、予め処理手続きがプログラムコード化された「機能名」に対応する処理が特定される。
<<要求処理の実行>>
受信側の機能部71は、要求メッセージ81を解釈して得た「データ」を基に、内容解釈部71bにより特定された処理を実行する。このとき、受信側の機能部71は、解釈して得た「データ個数」に基づいて、受信した要求メッセージ81のデータが正しいデータであるかを検証する(データ検証手段に対応する機能)。より具体的には、解釈して得た「データ個数」と、「データ」として受信したデータ数とが一致しているか否かを判定する。その結果、一致している場合には、要求処理を実行する。また、一致していない場合には、要求メッセージ81のデータが誤っていると判断し、要求処理を実行しない。
これによって、本実施形態に係るデータ処理機能では、プロセス間通信を行うときの送受信側の処理内容や通信目的などの取り決めに依存する処理が、受信側の機能部71のプログラム群(コールバック関数64を含む)に統合され、プロセス間通信部73に、送受信側の取り決めに依存するプログラムコードやデータが含まれないため、画像形成装置100のデータ処理において、プロセス間通信部73の独立性が高く、送受信側の機能部71及び72を容易に拡張することができる。言い換えれば、例えば、WS−Printer21pやWS−Scanner21sなどのような機能拡張の頻度が比較的高い機能に対しても、柔軟に対応することができ、容易に機能実装が行うことができる。
<<応答メッセージの送信>>
受信側の機能部71は、送信側の機能部72に要求に応じた応答メッセージを送信するか否かを判断し、送信側の機能部72へ応答メッセージを送信する。このときに行われる応答メッセージの送信判定は、要求処理の実行結果があるか否かによって判定する。より具体的には、内容解釈部72bの機能を実現するコールバック関数64が、登録手続き実行部77によって実行され、コールバック関数64からの戻り値(return値)があるか否か(値が"NULL"か否か)を、受信側のプロセス間通信部73により判定する。その結果、戻り値がある場合には、その値を基に送信部74により応答メッセージを、受信側の機能部71へ送信する。また、戻り値がない場合(値が"NULL"の場合)には、応答する必要がないと判断する。
これによって、本実施形態に係るデータ処理機能では、要求に対して応答を必要としない要求の要求メッセージ81の送信と、応答を必要とする要求メッセージ81の送信との両方に対応することができる。
本実施形態に係る画像形成装置100は、上記に説明を行った各機能部による構成により、要求メッセージ81に応じて、画像形成装置100で実行可能な処理の中から、要求メッセージ81により要求される処理を特定する機能を実現するコールバック関数64を、予め受信側のプロセス間通信部73に登録しておき、受信側のプロセス間通信部73により要求メッセージ81を受信すると、登録されているコールバック関数64をコールして実行する。
その結果、画像形成装置100は、プロセス間通信を行うときの送受信側の処理内容や通信目的などの取り決めに依存する処理が、受信側の機能部71のプログラム群(コールバック関数64を含む)に統合され、プロセス間通信部73に、送受信側の取り決めに依存するプログラムコードやデータが含まれることがないため、画像形成装置100のデータ処理において、プロセス間通信部73の独立性が高く、送受信側の機能を容易に拡張することができる「画像形成装置100内のデータ処理機能」を実現している。
<処理手順>
上記に説明を行った本実施形態に係る「データ処理機能」の具体的な処理手順について図8〜11を用いて説明する。図8及び図9では、プロセス間通信を介した送信側と受信側の基本的なデータ処理手順の例を示している。
<<基本処理手順>>
図8は、本発明の第1の実施形態に係る画像形成装置100内のデータ処理機能の基本処理手順の一例(その1)を示すシーケンス図である。図8では、送信側の機能部72からの要求に対して受信側の機能部71が応答しない場合の処理手順について説明する。
受信側の機能部71は、前処理として、初期化部71aにより、プロセス間通信部73の関数registAPI()61dをコールし(ステップS101)、要求メッセージ81により要求される処理を特定するコールバック関数64を、受信側のプロセス間通信部73が有する手続き登録部76に登録する(ステップS102)。
受信側のプロセス間通信部73は、コールバック関数64が登録されると、登録が完了した旨を受信側の機能部71に返す(ステップS103)。
次で、受信側の機能部71は、初期化部71aにより、受信側のプロセス間通信部73の関数GetMsg()61cをコールし(ステップS104)、受信側のプロセス間通信部73に、要求メッセージ81の受信待ち受けの開始を指示する。
上記の処理手順によって、受信側の機能部71は、送信側からの要求メッセージ81を受信可能な状態となる。
送信側の機能部72は、メッセージ設定部72aにより、要求メッセージ81のデータ仕様に基づいて、発行する要求メッセージ81に応じた「機能名」、「データ個数」、及び「データ」を、送信側のプロセス間通信部73の関数PutMsg()61aの引数に設定した後、関数PutMsg61aをコールする(ステップS201)。
送信側のプロセス間通信部73は、送信部74により、引数の値に基づいて発行された要求メッセージ81を受信側のプロセス間通信部73へ送信し(ステップS202)、送信が完了した旨を送信側の機能部72に返す(ステップS203)。
受信側のプロセス間通信部73は、受信部75により、送信側から送信された要求メッセージ81を受信し、手続き登録部76に登録されたコールバック関数64を、受信した要求メッセージ81を引数に、登録手続き実行部77(呼び出し先関数)によりコールバックし、受信側の機能部71に実行制御を移行する(ステップS204)。
実行制御が移行した受信側の機能部71では、コールバック関数64がコールされたことで、内容解釈部71bが機能し、要求メッセージ81を解釈し、解釈して得た「機能名」から、要求に対応する処理を特定し実行する(ステップS205)。
内容解釈部71bは、対応処理が終了すると、処理が終了した旨を受信側のプロセス間通信部73へ返す(ステップS206)。
図9は、本発明の第1の実施形態に係る画像形成装置100内のデータ処理機能の基本処理手順の一例(その2)を示すシーケンス図である。図9では、送信側の機能部72からの要求に対して受信側の機能部71が応答する場合の処理手順について説明する。
図9と図8で異なる処理手順は、送信側の機能部72が要求メッセージ81を受信側の機能部71へ送信するステップS301以降の処理である。よって、図9に示すステップS301より前の処理手順については、図8をもって説明を省略する。
送信側の機能部72は、メッセージ設定部72aにより、要求メッセージ81のデータ仕様に基づいて、発行する要求メッセージ81に応じた「機能名」、「データ個数」、及び「データ」を、送信側のプロセス間通信部73の関数SendReceive()61bの引数に設定した後、関数SendReceive()61bをコールする(ステップS301)。
送信側のプロセス間通信部73は、送信部74により、引数の値に基づいて発行された要求メッセージ81を受信側のプロセス間通信部73へ送信する(ステップS302)。
受信側のプロセス間通信部73は、受信部75により、送信側から送信された要求メッセージ81を受信し、手続き登録部76に登録されたコールバック関数64を、受信した要求メッセージ81を引数に、登録手続き実行部77によりコールバックし、受信側の機能部71に実行制御を移行する(ステップS303)。
実行制御が移行した受信側の機能部71では、コールバック関数64がコールされたことで、内容解釈部71bが機能し、要求メッセージ81を解釈し、解釈して得た「機能名」から、要求に対応する処理を特定し実行する(ステップS304)。
内容解釈部71bは、対応処理が終了すると、コールバック関数64の戻り値を受信側のプロセス間通信部73へ返す(ステップS305)。
受信側のプロセス間通信部73は、処理結果である戻り値を基に応答メッセージの有無を判定し(ステップS306)、判定結果から応答が必要と判断された場合に、送信部64により処理結果を基に発行された応答メッセージを送信側の機能部71へ送信する(ステップS307)。
送信側のプロセス間通信部73は、受信部75により受信した応答メッセージを、受信側の機能部71へ転送する(ステップS308)。
このように、本実施形態に係るデータ処理プログラムは、本実施形態に係る画像形成装置100において、予め登録しておいた、要求メッセージ81に応じて、画像形成装置100で実行可能な処理の中から、要求メッセージ81により要求される処理を特定し処理を実行するコールバック関数64を、受信側のプロセス間通信部73により要求メッセージ81を受信したときに実行するように機能させることができる。
<<WS−MFPモジュール群20での処理手順>>
図10及び図11では、プロセス間通信を介したDFMモジュール22とWS−Printer21pとの間のデータ処理手順の例が示されている。
図10は、本発明の第1の実施形態に係るWS−MFPモジュール群20のデータ処理機能の処理手順の一例(その1)を示すシーケンス図である。図10では、送信側のWS−Printer21pからの要求に対して受信側のDFMモジュール22が応答しない場合の処理手順について説明する。
受信側のDFMモジュール22は、前処理として、初期化部71aにより、プロセス間通信部73の関数registAPI()61dをコールし(ステップS401)、要求メッセージ81により要求される処理を特定するコールバック関数64を、受信側のIMC51が有する手続き登録部76に登録する(ステップS402)。
受信側のIMC51は、コールバック関数64が登録されると、登録が完了した旨を受信側の機能部71に返す(ステップS403)。
次で、受信側のDFMモジュール22は、初期化部71aにより、受信側のIMC51の関数GetMsg()61cをコールし(ステップS404)、受信側のIMC51に、要求メッセージ81の受信待ち受けの開始を指示する。
上記の処理手順によって、受信側のDFMモジュール22は、送信側からの要求メッセージ81を受信可能な状態となる。
送信側のWS−Printer21pは、メッセージ設定部72aにより、要求メッセージ81のデータ仕様に基づいて、発行する「DFMモジュール22への提供サービス登録」要求メッセージに応じた「機能名=DCP2DFM_Register」、「データ個数=8」、及び「データ=(InstanceID)、(EPR)・・・(Device Category)」を、プロセス間通信部73の関数PutMsg()61aの引数に設定した後、関数PutMsg61aをコールする(ステップS501)。
送信側のIMC51は、送信部74により、引数の値に基づいて発行された要求メッセージ81を受信側のIMC51へ送信し(ステップS502)、送信が完了した旨を送信側の機能部72に返す(ステップS503)。
受信側のIMC51は、受信部75により、送信側から送信された要求メッセージ81を受信し、手続き登録部76に登録されたコールバック関数64を、受信した要求メッセージ81を引数に、登録手続き実行部77によりコールバックし、受信側の機能部71に実行制御を移行する(ステップS504)。
実行制御が移行した受信側の機能部71では、コールバック関数64がコールされたことで、内容解釈部71bが機能し、要求メッセージ81を解釈し、解釈して得た「機能名」から、「DFMモジュール22への提供サービス登録」要求に対応する処理を特定(メッセージをディスパッチ処理)する(ステップS505)。次いで、特定した(ディスパッチした)DCP登録処理を実行する(ステップS506)。
受信側のDFMモジュール22は、内容解釈部71bにより対応処理が終了すると、クライアント端末などの外部機器に対して、自動検知コマンド「Hello」をUDPによりマルチキャストし(ステップS507)、更に、処理が終了した旨を受信側のIMC51へ返す(ステップS508)。
図11は、本発明の第1の実施形態に係るWS−MFPモジュール群20のデータ処理機能の処理手順の一例(その2)を示すシーケンス図である。図11では、送信側のWS−Printer21pからの要求に対して受信側のDFMモジュール22が応答する場合の処理手順について説明する。
図9と図8で異なる処理手順は、送信側の機能部72が要求メッセージ81を受信側の機能部71へ送信するステップS301以降の処理である。よって、図9に示すステップS301より前の処理手順については、図8をもって説明を省略する。
送信側のWS−Printer21pは、メッセージ設定部72aにより、要求メッセージ81のデータ仕様に基づいて、発行する「IPアドレスの取得」要求メッセージに応じた「機能名=DCP2DFM_SetMetadata」、「データ個数=5」、及び「データ=(InstanceID)、(Dialect)・・・(Metadata)」を、プロセス間通信部73の関数PutMsg()61aの引数に設定した後、関数PutMsg61aをコールする(ステップS601)。
送信側のIMC51は、送信部74により、引数の値に基づいて発行された要求メッセージ81を受信側のIMC51へ送信する(ステップS602)。
受信側のIMC51は、受信部75により、送信側から送信された要求メッセージ81を受信し、手続き登録部76に登録されたコールバック関数64を、受信した要求メッセージ81を引数に、登録手続き実行部77によりコールバックし、受信側の機能部71に実行制御を移行する(ステップS603)。
実行制御が移行した受信側の機能部71では、コールバック関数64がコールされたことで、内容解釈部71bが機能し、要求メッセージ81を解釈し、解釈して得た「機能名」から、「IPアドレスの取得」要求に対応する処理を特定(メッセージをディスパッチ処理)する(ステップS604)。次いで、特定した(ディスパッチした)IPアドレス取得処理を実行する(ステップS605)。
受信側のDFMモジュール22は、内容解釈部71bにより対応処理が終了すると、コールバック関数64の戻り値(IPアドレス)を受信側のIMC51へ返す(ステップS606)。
受信側のプロセス間通信部73は、処理結果である戻り値を基に応答メッセージの有無を判定し(ステップS607)、判定結果から応答が必要と判断された場合に、送信部64により処理結果を基に発行された応答メッセージを送信側の機能部71へ送信する(ステップS608)。
送信側のIMC51は、受信部75により受信した応答メッセージを、受信側の機能部71へ転送する(ステップS609)。
<まとめ>
以上のように、本発明の第1の実施形態によれば、本実施形態に係る画像形成装置100は、プロセス間通信部73と送受信側の機能部71及び72とを別のモジュールで構成し、所定の処理を要求する要求メッセージ81に応じて、画像形成装置100で実行可能な処理の中から、要求メッセージ81により要求される処理を特定し処理を実行するコールバック関数64を受信側の機能部71が有し、この関数64を、予め受信側のプロセス間通信部73に登録しておき、受信側のプロセス間通信部73により要求メッセージ81を受信すると、登録されている関数64をコールバックする。
これによって、本実施形態に係る画像形成装置100は、プロセス間通信を行うときの送受信側の処理内容や通信目的などの取り決めに依存する処理が、受信側の機能に統合され、プロセス間通信部73に、送受信側の取り決めに依存するプログラムコードやデータが含まれることがないため、画像形成装置100内のデータ処理において、プロセス間通信部73の独立性が高く、送受信側の機能を容易に拡張することができる「データ処理機能」を提供することができる。
ここまで、上記第1の実施形態に基づき本発明の説明を行ってきたが、本発明の実施形態に係る画像形成装置100が有する「データ処理機能」は、図8〜11に示した処理手順を含む本実施形態に係るデータ処理プログラムを、画像形成装置100が有するコントローラ13に配置されたCPU13cで実行することで実現することができる。よって、本発明の各実施形態に係る画像形成装置100が有するデータ処理プログラムは、画像形成装置100が読み取り可能な記憶媒体12bに格納することができる。
各実施形態に係るデータ処理プログラムは、フロッピー(登録商標)ディスク、CD(Compact Disc)、DVD(Digital Versatile Disk)などの記録媒体12bに記憶させることによって、これらの記憶媒体12bを読み取り可能なドライブ装置12aを有する記憶メディアI/F12を介して、記録媒体12bから画像形成装置100にインストールすることができる。また、画像形成装置100は、インタフェース装置14aを有するデータ通信I/F14を備えていることから、インターネットなどの電気通信回線を用いてデータ通信プログラムをダウンロードし、インストールすることも可能である。
最後に、上記実施形態に挙げた形状に、その他の要素との組み合わせなど、ここで示した要件に、本発明が限定されるものではない。これらの点に関しては、本発明の主旨をそこなわない範囲で変更することが可能であり、その応用形態に応じて適切に定めることができる。
本発明の第1の実施形態に係る画像形成装置のハードウェア構成の一例を示す図である。 本発明の第1の実施形態に係る画像形成装置のソフトウェア構成の一例を示す図である。 本発明の第1の実施形態に係るNCSのソフトウェア構成の一例を示す図である。 本発明の第1の実施形態に係るWS−MFPモジュール群内部のプロセス間通信の構成の一例を示す図である。 本発明の第1の実施形態に係るIMCのソフトウェア構成の一例を示す図である。 本発明の第1の実施形態に係る画像形成装置内のデータ処理機能の機能構成の一例を示す図である。 本発明の第1の実施形態に係る要求メッセージのデータ仕様の一例を示す図である。 本発明の第1の実施形態に係る画像形成装置内のデータ処理機能の基本処理手順の一例(その1)を示すシーケンス図である。 本発明の第1の実施形態に係る画像形成装置内のデータ処理機能の基本処理手順の一例(その2)を示すシーケンス図である。 本発明の第1の実施形態に係るWS−MFPモジュール群のデータ処理機能の処理手順の一例(その1)を示すシーケンス図である。 本発明の第1の実施形態に係るWS−MFPモジュール群のデータ処理機能の処理手順の一例(その2)を示すシーケンス図である。
符号の説明
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 コントロールサービス

Claims (9)

  1. 第1の機能が動作する第1のプロセスと、前記第1のプロセスから所定の処理の実行が要求される第2の機能が動作する第2のプロセスとを有する画像形成装置であって、
    前記第1の機能及び前記第2の機能に共通する通信制御用インタフェースを備え、プロセス間においてデータの送受信を行う通信制御手段と、
    前記第1のプロセスから送信された、前記所定の処理を要求する要求メッセージに応じて、当該画像形成装置で実行可能な処理の中から、前記要求メッセージにより要求される処理を特定するソフトウェア部品の格納先情報を保持している保持手段と、
    前記第1のプロセスから送信された前記要求メッセージを、前記第2のプロセスで受信したときに、前記保持手段により保持された前記格納先情報に基づいて実行される前記ソフトウェア部品により特定された、前記要求メッセージにより要求される処理を前記第2のプロセスで実行する実行手段とを有し、
    受信側の前記通信制御手段は、前記第2のプロセスからの指示に従って、前記ソフトウェア部品の格納先情報を前記保持手段に登録し、前記第1のプロセスから送信される前記要求メッセージの受信待ちを開始し、
    送信側の前記通信制御手段は、前記第1のプロセスからの指示に従って、前記第2のプロセスに前記要求メッセージを送信し、
    受信側の前記通信制御手段は、前記第1のプロセスから前記要求メッセージを受信すると、前記要求メッセージにより要求される処理の実行を前記実行手段に指示することを特徴とする画像形成装置。
  2. 記通信制御手段は、
    前記要求メッセージにより要求され、前記第2のプロセスで実行された前記所定の処理の実行結果に基づいて、要求に対応する応答メッセージを、前記第1のプロセスに送信することを特徴とする請求項1に記載の画像形成装置。
  3. 前記通信制御手段は、
    前記要求メッセージの送信を指示する送信指示手段と、
    前記要求メッセージの送信と要求に応じた前記応答メッセージの受信待ちを指示する応答受信指示手段と、
    前記要求メッセージの受信待ちを指示する要求待ち指示手段と、
    前記ソフトウェア部品の格納先情報の設定を指示する格納先情報設定指示手段とを有することを特徴とする請求項2に記載の画像形成装置。
  4. 前記要求メッセージは、
    前記要求メッセージにより実行される処理を示す機能名と、
    前記処理を行うときに用いるパラメータ値と、
    前記パラメータ値の数を示すパラメータ数とから構成されることを特徴とする請求項1ないし3のいずれか一項に記載の画像形成装置。
  5. 前記ソフトウェア部品は、
    前記第2のプロセスで受信された前記要求メッセージの前記機能名に基づいて、前記要求メッセージにより要求される処理を特定することを特徴とする請求項1ないし4のいずれか一項に記載の画像形成装置。
  6. 前記実行手段は、
    前記第2のプロセスで受信された前記要求メッセージの前記パラメータ値に基づいて、前記ソフトウェア部品により特定された、前記要求メッセージにより要求される処理を行うことを特徴とする請求項1ないし5のいずれか一項に記載の画像形成装置。
  7. 当該画像形成装置は、
    前記第2のプロセスで受信された前記要求メッセージの前記パラメータ値の数が、前記要求メッセージの前記パラメータ数と一致するか否かを判定し、受信された前記要求メッセージのデータを検証するデータ検証手段を有することを特徴とする請求項1ないし6のいずれか一項に記載の画像形成装置。
  8. 第1の機能が動作する第1のプロセスと、前記第1のプロセスから所定の処理の実行が要求される第2の機能が動作する第2のプロセスと、前記第1のプロセスから送信された、前記所定の処理を要求する要求メッセージに応じて、当該画像形成装置で実行可能な処理の中から、前記要求メッセージにより要求される処理を特定するソフトウェア部品の格納先情報を保持している保持手段とを有する画像形成装置内のデータ処理方法であって、
    前記第1の機能及び前記第2の機能に共通する通信制御用インタフェースを備え、プロセス間においてデータの送受信を行う通信制御手順と、
    前記第1のプロセスから送信された前記要求メッセージを、前記第2のプロセスで受信したときに、前記保持手段により保持された前記格納先情報に基づいて前記ソフトウェア部品を実行し、前記ソフトウェア部品の実行により、前記要求メッセージにより要求される処理を特定し、特定された前記処理を前記第2のプロセスで実行する実行手順と、を有し、
    受信側の前記通信制御手順により、前記第2のプロセスからの指示に従って、前記ソフトウェア部品の格納先情報を前記保持手段に登録し、前記第1のプロセスから送信される前記要求メッセージの受信待ちを開始し、
    送信側の前記通信制御手順により、前記第1のプロセスからの指示に従って、前記第2のプロセスに前記要求メッセージを送信し、
    受信側の前記通信制御手順により、前記第1のプロセスから前記要求メッセージを受信すると、前記実行手順を実行し、
    前記実行手順により、前記要求メッセージにより要求される処理を実行することを特徴とする画像形成装置内のデータ処理方法。
  9. 第1の機能が動作する第1のプロセスと、前記第1のプロセスに対して所定の処理を要求する第2の機能が動作する第2のプロセスと、前記第1のプロセスから送信された、前記所定の処理を要求する要求メッセージに応じて、当該画像形成装置で実行可能な処理の中から、前記要求メッセージにより要求される処理を特定するソフトウェア部品の格納先情報を保持している保持手段とを有する画像形成装置内のデータ処理プログラムであって、
    コンピュータを、
    前記第1の機能及び前記第2の機能に共通する通信制御用インタフェースを備え、プロセス間においてデータの送受信を行う通信制御手段と、
    前記第1のプロセスから送信された前記要求メッセージを、前記第2のプロセスで受信したときに、前記保持手段により保持された前記格納先情報に基づいて前記ソフトウェア部品を実行し、前記ソフトウェア部品の実行により、前記要求メッセージにより要求される処理を特定し、特定された前記処理を前記第2のプロセスで実行する実行手段として機能させ、
    受信側の前記通信制御手段が、前記第2のプロセスからの指示に従って、前記ソフトウェア部品の格納先情報を前記保持手段に登録し、前記第1のプロセスから送信される前記要求メッセージの受信待ちを開始し、
    送信側の前記通信制御手段が、前記第1のプロセスからの指示に従って、前記第2のプロセスに前記要求メッセージを送信し、
    受信側の前記通信制御手段が、前記第1のプロセスから前記要求メッセージを受信すると、前記要求メッセージにより要求される処理の実行を前記実行手段に指示するように動作させる画像形成装置内のデータ処理プログラム。
JP2007238266A 2007-09-13 2007-09-13 画像形成装置、画像形成装置内のデータ処理方法、及びデータ処理プログラム Expired - Fee Related JP5046818B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007238266A JP5046818B2 (ja) 2007-09-13 2007-09-13 画像形成装置、画像形成装置内のデータ処理方法、及びデータ処理プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007238266A JP5046818B2 (ja) 2007-09-13 2007-09-13 画像形成装置、画像形成装置内のデータ処理方法、及びデータ処理プログラム

Publications (2)

Publication Number Publication Date
JP2009071611A JP2009071611A (ja) 2009-04-02
JP5046818B2 true JP5046818B2 (ja) 2012-10-10

Family

ID=40607410

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007238266A Expired - Fee Related JP5046818B2 (ja) 2007-09-13 2007-09-13 画像形成装置、画像形成装置内のデータ処理方法、及びデータ処理プログラム

Country Status (1)

Country Link
JP (1) JP5046818B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5593854B2 (ja) * 2010-06-01 2014-09-24 株式会社リコー 画像形成装置、画像処理方法、及び画像処理システム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006139776A (ja) * 2001-08-27 2006-06-01 Ricoh Co Ltd 情報処理装置
JP2005229270A (ja) * 2004-02-12 2005-08-25 Ricoh Co Ltd 画像形成装置、インタフェース方法

Also Published As

Publication number Publication date
JP2009071611A (ja) 2009-04-02

Similar Documents

Publication Publication Date Title
US7209249B2 (en) Method of and apparatus for image formation, and computer product
EP1650953B1 (en) Image forming apparatus, a print process method, a computer program and a computer readable storage medium
JP5539043B2 (ja) 情報送信装置、情報送信装置の制御方法及びコンピュータプログラム
WO2011080994A1 (en) Server apparatus, terminal apparatus, and printing system and data conversion method thereof
JP5370439B2 (ja) 装置、要求処理方法、プログラム、及び記録媒体
JP2009255390A (ja) 画像形成装置、機能連携制御方法、及び機能連携制御プログラム
JP2011103664A (ja) 画像形成装置
JP4291856B2 (ja) Webサービス機能を有する画像形成装置
JP3802829B2 (ja) 画像情報処理装置、リモート画像情報処理方法およびその方法をコンピュータに実行させるプログラム
JP5046818B2 (ja) 画像形成装置、画像形成装置内のデータ処理方法、及びデータ処理プログラム
JP6768544B2 (ja) 情報処理装置、制御方法およびプログラム
JP4141209B2 (ja) Webサービス機能を有する画像形成装置
JP2004005505A (ja) プログラム生成処理をコンピュータに行わせるためのコンピュータ読み取り可能なプログラム
JP2004005503A (ja) Webサービス機能を有する画像形成装置
KR101405920B1 (ko) 잡 컨트롤 장치 및 복합장치 그리고 그들의 동작 방법
JP4291855B2 (ja) Webサービス機能を有する画像形成装置
US8499310B2 (en) Information processing apparatus, device setup method and storage medium for carrying out a device setup on a network
JP4136738B2 (ja) Webサービス機能を有する画像形成装置
JP2006020341A (ja) Webサービス機能を有する画像形成装置
JP5072499B2 (ja) 画像形成装置、データ通信装置、データ通信方法、及びデータ通信プログラム
JP4373692B2 (ja) Webサービス機能を有する画像形成装置
JP5108571B2 (ja) 機器、データ転送システム、データ転送方法、プログラムおよび記録媒体
JP4141210B2 (ja) Webサービス機能を有する画像形成装置
JP4429138B2 (ja) 暗示アドレス発見を使用して画像形成ジョブを監視するシステム及び方法
JP2005108237A (ja) 異なる種類の画像形成装置が同じ種類の装置として作動するのを可能にするシステム及び方法

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