JP2005267447A - Image forming apparatus and image forming method - Google Patents
Image forming apparatus and image forming method Download PDFInfo
- Publication number
- JP2005267447A JP2005267447A JP2004081474A JP2004081474A JP2005267447A JP 2005267447 A JP2005267447 A JP 2005267447A JP 2004081474 A JP2004081474 A JP 2004081474A JP 2004081474 A JP2004081474 A JP 2004081474A JP 2005267447 A JP2005267447 A JP 2005267447A
- Authority
- JP
- Japan
- Prior art keywords
- image forming
- inter
- application
- event
- function
- 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.)
- Pending
Links
Images
Abstract
Description
本発明は、複数の画像形成処理を種々のアプリケーションから利用可能とする画像形成装置において、該複数の画像形成処理の変更を該種々のアプリケーションへの開発に影響を与えないようにしたインタフェースを有する画像形成装置を提供するものである。 The present invention has an interface in which a plurality of image forming processes can be used from various applications so that the change of the plurality of image forming processes does not affect the development of the various applications. An image forming apparatus is provided.
近年、プリンタ、コピー、ファクシミリ、スキャナなどの各装置の機能を1つの筐体内に収納した画像形成装置が一般的に知られている。このような複合型の画像形成装置は、1つの筐体内に表示部、印刷部および撮像部などを設けるとともに、プリンタ、コピーおよびファクシミリ装置にそれぞれ対応する3種類のアプリケーションを設け、アプリケーションの切り替えによって、当該装置をプリンタ、コピー、スキャナまたはファクシミリ装置として動作させるものである。 2. Description of the Related Art In recent years, an image forming apparatus in which functions of devices such as a printer, a copy, a facsimile, and a scanner are housed in a single casing is generally known. Such a composite-type image forming apparatus is provided with a display unit, a printing unit, an imaging unit, and the like in one casing, and three types of applications corresponding to a printer, a copy unit, and a facsimile device, respectively. The apparatus is operated as a printer, a copy, a scanner, or a facsimile apparatus.
また、画像形成装置では、アプリケーションやプラットフォーム等の様々なプログラムにより様々な情報処理が実行される。これらのプログラムは、これらの機器の出荷前からこれらの機器に格納されているのが普通だが、これらのプログラムを、これらの機器の出荷後にこれらの機器にメモリカードを使用して入力できるようにすることも考えられる。これにより例えば、これらのプログラムをこれらの機器に入力するためのメモリカードをメーカーからベンダーに配布し、ベンダーがこれらのプログラムを作成し、ユーザーがこれらのプログラムをこれらの機器にこのメモリカードを使用して入力するようなビジネスモデルを構築することができるようになった。 In the image forming apparatus, various information processing is executed by various programs such as applications and platforms. These programs are usually stored in these devices before the shipment of these devices, but these programs can be input to these devices using a memory card after the shipment of these devices. It is also possible to do. For example, a memory card for inputting these programs to these devices is distributed from the manufacturer to the vendor, the vendor creates these programs, and the user uses these memory cards for these devices. It is now possible to build a business model that can be input.
しかしながら、このようにメモリカードによって画像形成装置に提供されるプログラムは、画像形成装置のプログラム開発に応じてプログラムを修正しなければならないといった問題があった。或いは、同様の動作を実現するプログラムであっても、画像形成装置に組み込まれたプログラムのバージョンに応じた様々なタイプを用意しなければならなかった。 However, the program provided to the image forming apparatus by the memory card as described above has a problem that the program must be corrected according to the program development of the image forming apparatus. Alternatively, even if the program realizes the same operation, various types must be prepared according to the version of the program incorporated in the image forming apparatus.
そこで、本発明の課題は、画像形成装置に組み込まれている種々のプログラムの開発がメモリカード等によって提供されるプログラムに影響を与えないようにした画像形成装置を提供することである。 Accordingly, an object of the present invention is to provide an image forming apparatus in which development of various programs incorporated in the image forming apparatus does not affect programs provided by a memory card or the like.
上記課題を解決するため、本発明は、請求項1に記載されるように、画像形成処理を行い、第一プロセスとして動作するアプリケーションと、前記画像形成処理で利用されるハードウェア資源の管理を行い、第二プロセスとして動作するコントロールサービスと、前記第一プロセスと前記第二プロセス間の通信を関数コールによって実行可能とするプロセス間通信手段とを有し、前記プロセス間通信手段は、2以上のバージョンを有し、旧バージョンから変更になった個々の機能について対応する関数を前記第一プロセスに提供するように構成される。
In order to solve the above-described problems, the present invention, as described in
このような画像形成装置では、既存のアプリケーションが、例えば、コントロールサービスの仕様の変更によって影響されないようにすることができる。 In such an image forming apparatus, it is possible to prevent an existing application from being influenced by, for example, a change in the specification of the control service.
上記課題を解決するための手段として、本発明は、上記画像形成装置での処理をコンピュータに行なわせるためのプログラムとすることもできる。 As means for solving the above problems, the present invention may be a program for causing a computer to perform processing in the image forming apparatus.
本願発明によれば、複数の画像形成処理を種々のアプリケーションから利用可能とする画像形成装置において、該複数の画像形成処理の変更を該種々のアプリケーションへの開発に影響を与えないようにすることができる。 According to the present invention, in an image forming apparatus that allows a plurality of image forming processes to be used from various applications, the change of the plurality of image forming processes is prevented from affecting development of the various applications. Can do.
以下、本発明の実施の形態を図面に基づいて説明する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings.
図1は、本発明の実施例に該当する融合機101を表す。図1の融合機101は、種々のハードウェア111と、種々のソフトウェア112と、融合機起動部113により構成される。図1の融合機101は、コピーやプリンタやスキャナやファクシミリとして機能することができる。
FIG. 1 shows a
融合機101のハードウェア111としては、撮像部121と、印刷部122と、その他のハードウェア123が存在する。
As the
撮像部121は、原稿から画像(画像データ)を読み取るためのハードウェアであり、コピーやスキャナやファクシミリとして機能する際に使用される。撮像部121は、白黒画像用の物でもカラー画像用の物でもよい。撮像部121は、原稿に関する機構として、原稿セット部等を備える。
The
印刷部122は、画像(画像データ)を印刷用紙等の印刷媒体に印刷するためのハードウェアであり、コピーやプリンタやファクシミリとして機能する際に使用される。印刷部122は、白黒画像用の物でもカラー画像用の物でもよい。印刷部122は、ここでは電子写真方式を採用しており、感光体、帯電機、露光機、現像機、転写機、定着機等を備える。印刷部122は、印刷用紙等に関する機構として、給紙部、排紙部、印刷用紙等搬送機構等を備える。
The
その他のハードウェア123については、図2において説明する。
The
融合機101のソフトウェア112としては、種々のアプリケーション131と、種々のプラットフォーム132が存在する。これらのプログラムは、UNIX(登録商標)等のOS(オペレーティングシステム)によりプロセス単位で並列的に実行される。
As the
アプリケーション131は、コピーやプリンタやスキャナやファクシミリ等の機能に固有な情報処理を実行するためのソフトウェアである。アプリケーション131としては、コピー用のアプリケーションであるコピーアプリ141と、プリンタ用のアプリケーションであるプリンタアプリ142と、スキャナ用のアプリケーションであるスキャナアプリ143と、ファクシミリ用のアプリケーションであるファクシミリアプリ144と、ネットワークファイル用のアプリケーションであるネットワークファイルアプリ145が存在する。ネットワークファイルアプリ145は、HTML文書等の閲覧用のWebブラウザや、HTML文書等の配信用のWebサーバソフトにより構成される。
The
アプリケーション131は、専用のSDK(ソフトウェア開発キット)を使用して開発することができる。SDKを使用して開発したアプリケーション131をSDKアプリと呼ぶ。専用のSDKとしては、C言語でアプリケーション131を開発するための「CSDK」や、Java(登録商標)言語でアプリケーション131を開発するための「JSDK」が提供される。CSDKを使用して開発したアプリケーション131を「CSDKアプリ」と呼び、JSDKを使用して開発したアプリケーション131を「JSDKアプリ」と呼ぶ。図1の融合機101にも、CSDKアプリ146と、JSDKアプリ147が存在する。図1の融合機101にはさらに、Java(登録商標)言語で記述されたJSDKアプリ147とC言語で記述された他のソフトウェア112との仲介を行うソフトウェア112として、JSDKプラットフォーム148が存在する。以後、総称してSDKアプリ149と言う。
The
プラットフォーム132は、アプリケーション131からの処理要求に関する情報処理を実行するためのソフトウェアである。アプリケーション131からの処理要求の受信には、予め定義されている関数により処理要求を受信するアプリケーションプログラムインタフェース(API)133を利用して、要求内容の実施には、エンジンインタフェース134を利用する。プラットフォーム132としては、種々のコントロールサービス151と、システムリソースマネージャ152と、種々のハンドラ153が存在する。
The
コントロールサービス151は、アプリケーション131からの処理要求を解釈して、解釈結果に応じてハードウェア111の獲得要求を発生させる。コントロールサービス151としては、ネットワークコントロールサービス(NCS)161と、ファクシミリコントロールサービス(FCS)162と、デリバリコントロールサービス(DCS)163と、エンジンコントロールサービス(ECS)164と、メモリコントロールサービス(MCS)165と、オペレーションパネルコントロールサービス(OCS)166と、サーティフィケーションコントロールサービス(CCS)167と、ユーザディレクトリコントロールサービス(UCS)168と、システムコントロールサービス(SCS)169が存在する。
The
NCS161のプロセスは、ネットワーク等を介してデータ通信を行うための仲介を行う。FCS162のプロセスは、ファクシミリとして画像データ通信・画像データ読取・画像データ印刷等を行うためのAPIを提供する。DCS163のプロセスは、融合機101に蓄積された文書データの配信に関する制御を行う。ECS164のプロセスは、撮像部121や印刷部122等のエンジン部に関する制御を行う。MCS165のプロセスは、画像データ記憶・画像データ処理等のメモリやハードディスクドライブに関する制御を行う。OCS166のプロセスは、オペレーションパネルに関する制御を行う。CCS167のプロセスは、認証処理や課金処理に関する制御を行う。UCS168のプロセスは、ユーザ情報の管理に関する制御を行う。SCS169のプロセスは、システムの管理に関する制御を行う。
The process of the NCS 161 performs mediation for performing data communication via a network or the like. The FCS 162 process provides an API for performing image data communication, image data reading, image data printing, and the like as a facsimile. The process of
システムリソースマネージャ(SRM)152は、ハードウェア111の獲得要求を調停して、調停結果に応じて要求内容を実施するための制御を行う。詳細に言うと、SRM152のプロセスは、獲得要求に係るハードウェア111が利用可能か否か(他の獲得要求と競合しないか否か)を判定して、利用可能である場合にはその旨をコントロールサービス151の各プロセスに通知する。さらに、獲得要求に係るハードウェア111の利用スケジュールを作成して、作成結果に応じて要求内容を実施するための制御を行う。
The system resource manager (SRM) 152 arbitrates the acquisition request of the
ハンドラ153は、調停結果に応じてハードウェア111を管理する。ハンドラ153としては、ファクシミリコントロールユニットハンドラ(FCUH)171と、イメージメモリハンドラ(IMH)172が存在する。FCUH171は、ファクシミリコントロールユニットを管理する。IMH172は、各プロセスにメモリを割り振り、各プロセスに割り振ったメモリを管理する。
The
アプリケーション131とプラットフォーム132の仲介を行うソフトウェア112として、仮想アプリケーションサービス(VAS)135が存在する。VAS135は、アプリケーション131をクライアントとするサーバプロセスとして動作すると共に、プラットフォーム132をサーバとするクライアントプロセスとして動作する。VAS135は、アプリケーション131から見てプラットフォーム132を隠蔽するラッピング機能を備え、プラットフォーム132のバージョンアップに伴うバージョン差を吸収する役割等を担う。
A virtual application service (VAS) 135 exists as
融合機起動部113は、融合機101の電源投入時に最初に実行される。これにより、UNIX(登録商標)等のOSが起動され、アプリケーション131やプラットフォーム132が起動される。これらのプログラムは、ハードディスクドライブやメモリカードに蓄積されており、ハードディスクドライブやメモリカードから再生されて、メモリに起動されることになる。
The
図2は、図1の融合機101に係るハードウェア構成図である。融合機101のハードウェア111としては、コントローラ201と、オペレーションパネル202と、ファクシミリコントロールユニット(FCU)203と、撮像部121と、印刷部122が存在する。撮像部121と印刷部122を除く各構成要素が、図1の「その他のハードウェア123」に該当する。
FIG. 2 is a hardware configuration diagram according to the
コントローラ201は、CPU211と、ASIC212と、NB(ノースブリッジ)221と、SB(サウスブリッジ)222と、MEM−P(システムメモリ)231と、MEM−C(ローカルメモリ)232と、HDD(ハードディスクドライブ)233と、メモリカードスロット234と、NIC(ネットワークインタフェースコントローラ)241と、USBデバイス242と、IEEE1394デバイス243と、セントロニクスデバイス244により構成される。
The
CPU211は、種々の情報処理を実行するためのICであり、アプリケーション131やプラットフォーム132をUNIX(登録商標)等のOSによりプロセス単位で並列的に実行する。ASIC212は、画像処理用のICである。NB221は、CPU211とASIC212を接続するためのブリッジである。SB222は、NB221と周辺機器等を接続するためのブリッジである。ASIC212とNB221は、AGP(Accelerated Graphics Port)を介して接続されている。
The
MEM−P231は、NB221に接続されたメモリである。MEM−C232は、ASIC212に接続されたメモリである。HDD233は、ASIC212に接続されたストレージであり、画像データ蓄積・文書データ蓄積・プログラム蓄積・フォントデータ蓄積・フォームデータ蓄積等を行うために使用される。メモリカードスロット234は、SB222に接続されたスロットであり、メモリカード235をセット(挿入)するために使用される。
The MEM-
NIC241は、ネットワーク等を介してMACアドレス等を使用したデータ通信を行うためのコントローラである。USBデバイス242は、USB規格に準拠したシリアルポートを提供するためのデバイスである。IEEE1394デバイス243は、IEEE1394規格に準拠したシリアルポートを提供するためのデバイスである。セントロニクスデバイス244は、セントロニクス仕様に準拠したパラレルポートを提供するためのデバイスである。NIC241と、USBデバイス242と、IEEE1394デバイス243と、セントロニクスデバイス244は、PCI(Peripheral Component Interconect)バスを介してNB221とSB222に接続されている。
The
メモリカード用スロット251は、SB222に接続されて使用されるスロットであり、メモリカード261をセット(挿入)するためのスロットである。
The
オペレーションパネル202は、オペレータが融合機101に入力を行うためのハードウェア(操作部)であると共に、オペレータが融合機101から出力を得るためのハードウェア(表示部)である。オペレーションパネル202は、ASIC212に接続されている。FCU203と、撮像部121と、印刷部122は、PCI(Peripheral Component Interconect)バスを介してASIC212に接続されている。
The
このような機能構成及びハードウェア構成を有する融合機101において、SDKアプリ149がスキャンを行う場合の処理について、図3で概要を説明する。図3は、SKDアプリがスキャンする場合の処理概要を説明するための図である。
An outline of processing when the
図3において、VAS135を初期化し(ステップS1)、SDKアプリは、VASへのアプリケーションの登録を行う(ステップS2)。イメージライブラリを初期化する(ステップS3)。イメージライブラリへスキャン指示を行い(ステップS4)、スキャンが行われる(ステップS5)。 In FIG. 3, the VAS 135 is initialized (step S1), and the SDK application registers the application in the VAS (step S2). The image library is initialized (step S3). A scan instruction is issued to the image library (step S4), and scanning is performed (step S5).
このような処理は、例えば、図4に示すようなプログラムコードによって実現できる。 Such a process can be realized by, for example, a program code as shown in FIG.
図4は、SDKアプリのプログラムコードの例を示す図である。図4において、
例えば、VASV2が旧バージョン、VASV3が新バージョンである場合、「#define USE_VAS3」を示すコード30によって、新バージョンのVASV3が指定される。
FIG. 4 is a diagram illustrating an example of a program code of the SDK application. In FIG.
For example, when VASV2 is an old version and VASV3 is a new version, a new version of VASV3 is designated by a
「apliID = sdkVasInit(eventCallBackFunc);」を示すコード31によって、VASV3の初期化を行う。図3のステップS1に対応する。
VASV3 is initialized by a
新バージョンのVASV3が指定されているので、コード33によって、VASV3の機能が実行される。コード33は、例えば、
VAS_HANDLE handle;
handle = sdkSysApliExtRegistGetHandle();
sdkSysApliExtRegistSetSdkApliId(handle, apliID);
sdkSysApliExtRegist(handle);
sdkSysApliExtRegistRelHandle(handle);
のように示される。新バージョンのVASV3にアプリ登録する場合、VAS135の新機能を関数で指定する。このように関数で与えられることによって、このSDKアプリ149を更に新しくなったVAS135に実装したとしても、VAS135及びSDKアプリ149自身に何ら支障なく動作を行うことができる。
Since the new version of VASV3 is specified, the function of VASV3 is executed by the
VAS_HANDLE handle;
handle = sdkSysApliExtRegistGetHandle ();
sdkSysApliExtRegistSetSdkApliId (handle, apliID);
sdkSysApliExtRegist (handle);
sdkSysApliExtRegistRelHandle (handle);
As shown. When registering an application in the new version of VASV3, a new function of VAS135 is designated by a function. By providing the functions in this way, even if the
コード33によって、アプリケーションインタフェース単位でハンドルを確保し、そのハンドルを用いてパラメータの設定と関数の呼び出しを行う。その後、そのハンドルを解放する処理を行う。
The
一方、仮に、旧バージョンのVASV2が指定されている場合、「rmSysApliRegist(apliID);」を示すコード32によって、旧バージョンのVASV2の処理によってSDKアプリ149を識別するapliIDが登録される。従来、VAS135の新機能に対応させるためには、例えば、apliIDの他に更に引数を加えなければならないなどのプログラムコードに変更を加える必要があった。異なるバージョンで引数が異なる場合、VAS135が正常に動作しない、又は、SDKアプリ149が正常に動作しない等のトラブルを発生するといった問題が生じてしまう。
On the other hand, if an old version of VASV2 is specified, an apliID for identifying the
VAS135が新機能を関数で与えることによって、また、SDKアプリ149が新バージョンを使用する場合、コード33のように記述することによって、SDKアプリ149とVAS135のバージョンの組み合わせによらず、常に、動作可能とすることができる。
When the VAS 135 gives a new function as a function, and when the
コード32及び33は、図3のステップS2に相当する。
The
「image_library_init();」を示すコード34によって、メール通信のための初期化などを行い、スレッドとしてライブラリ処理部を起動する。図3のステップS3に相当する。そして、「scanStart();」を示すコード35によって、メールを用いてスキャンコマンドをスレッドに対して発行し、スキャニング動作が実行される。図3のステップS4及びS5に相当する。
The
その後、scanStart()によって実行された動作に対するイベントをコード36によって受信し、そのイベントを通知したハンドルを解放する。コード36は、例えば、
while(1) {
/* defaultHandler() で受けとったイベントの処理 */
recieveMail(eventID, handle);
switch(eventID) {
case SDK_SYS_PARAM:
if (SDK_LANG_JP != sdkSysParamGetLanguage(handle))
exit(1);
sdkSysParamRelHandle(handle);
break;
}
}
のように記述される。
Thereafter, an event for the operation executed by scanStart () is received by the
while (1) {
/ * Processing of events received by defaultHandler () * /
recieveMail (eventID, handle);
switch (eventID) {
case SDK_SYS_PARAM:
if (SDK_LANG_JP! = sdkSysParamGetLanguage (handle))
exit (1);
sdkSysParamRelHandle (handle);
break;
}
}
It is described as follows.
更に、コード37は、ECS164、MCS165、SCS169等からのイベントを最初に受け取るデフォルトハンドラを示す。コード37は、例えば、
defaultHandler(short eventID, int handle) {
sendMail(eventID, handle);
}
のように記述される。
Further,
defaultHandler (short eventID, int handle) {
sendMail (eventID, handle);
}
It is described as follows.
このデフォルトハンドラがVASV3の初期化で通知される関数である。SDK149は、通知したデフォルトハンドラに割り当てられたapliIDによってアプリ登録することになる。
This default handler is a function notified by the initialization of VASV3. The
次に、図4に示すようなプログラムコードが実行された場合のシーケンスフローについて図5で説明する。図5は、シーケンスフローを示す図である。図5において、SDKアプリ149及びECS164、MCS165、SCS169などは、プロセスである。このようなプロセスに関数コールを可能とし、かつ、イベントを通知するのがアプリケーションインタフェースとしてのipc(Internal Process Communication)が提供される。
Next, a sequence flow when the program code as shown in FIG. 4 is executed will be described with reference to FIG. FIG. 5 is a diagram showing a sequence flow. In FIG. 5, the
図5において、シーケンスフローを説明する前に、VAS135の機能構成について説明する。VAS135は、イメージライブリ135aと、VASV2ライブラリ135bと、VASV3とを有する。
In FIG. 5, before describing the sequence flow, the functional configuration of the VAS 135 will be described. The VAS 135 includes an image library 135a, a
イメージライブリ135aは、利用難度の高いアプリへより高機能なAPIを供給するためのライブラリである。例えば、イメージライブリ135aは、SDKアプリ149からの1回の関数呼び出しに対して、SDKアプリ149に代わって、複数回一連の動作をVASV2ライブラリに対して行い、その複数回一連の動作に対するイベントを複数回SDKアプリ149に代わって処理をする。そして、その複数回一連の動作の終了で、SDKアプリ149へ一回のイベントを通知する。SDKアプリ149へ通知するイベントは、例えば、スキャン動作が正常に終了した、スキャン中にカバーが開けられた、コピー中に融合機の扉が開いた、紙詰まりが発生した、など動作に関する状態を通知する。
The image library 135a is a library for supplying a highly functional API to an application with a high degree of use difficulty. For example, in response to one function call from the
VASV2ライブラリ135bは、旧バージョンのVAS135への関数コールを新バージョンのVAS135への関数コールへと変換するためのライブラリである。VASV3135cは、新バージョンのVAS135を実装している処理部である。
The
クライアントとしてのSDKアプリ149は、サーバとしてのECS164、MCS165、SCS169などへは関数コールで行い、サーバとしてのECS164、MCS165、SCS169などからクライアントしてのSDKアプリ149へは、イベントで通知するように実装される。SDKアプリ149、ECS164、MCS165、SCS169は、プロセスであるので、関数コール及びイベント通知は、インタフェースipcを介して行われる。
The
VASV3135cは、SDKアプリ149からの(1)イメージライブラリ135aへのイベントの取得要求、(2)旧バージョンのVAS135(VASV2ライブラリ135b)への関数コール、そして(3)新バージョンのVAS135(VASV3135c)への関数コールとに対応する。
The VASV 3135c receives (1) an event acquisition request from the
図5において、SDKアプリ149のアプリ登録は、旧バージョンと同様であるので、見かけ上、インタフェースipcを介して、VASV2へ関数コールされ(a11)、実際には、VASV2ライブラリ135bが新バージョンのVASV3135cへの関数コールへと変換することによって行われる(a3)。
In FIG. 5, since the application registration of the
SDKアプリ149が例えば、動作指示としてスキャン指示を行う場合、VASV2ライブラリ135bのスレッドに対してスキャンコマンド(メッセージ)を発行する(a1)。VASV2ライブラリ135bは、インタフェースipcを介して、VASV2ライブラリ135bへ関数コールする(a2)。VASV2ライブラリ135bは、インタフェースipcを介して、VASV3135cへ関数コールする(a3)。VASV3135cは、インタフェースipcを介して、ECS164、MCS165、SCS168などへ関数コールによって動作を実行させる(a4)。
For example, when the
ECS164、MCS165、SCS168などは、動作に関するイベントが発生すると、インタフェースipcを介して、イベントを通知する。イベントは、SDK149のコールバック関数(defaulHandler)を呼び出すことによって通知される(b1)。コールバック関数(defaulHandler)によって、イベントがsendMailとして通知されると、VASV3135cは、インタフェースipcを介して、VASV2ライブラリ135bへVASV3メールとしてイベントを通知する(b2)。
When an event related to operation occurs, the
VASV2ライブラリ135bは、SDKアプリ149からの1回の動作指示に対する一連の動作に対する複数のイベントをVASV2メールとして受信し、最終的な動作結果を示すイベントを、インタフェースipcを介して、VASV2メールとしてSDKアプリ149へ通知する(b4)。一方、SDKアプリ149は、オペレーションパネル202への動作に関する情報を呈示する制御に必要なイベントを、インタフェースipcを介して、それら一連の動作に対応する複数のイベントを別途VASV2メールとして受信する(b41)。例えば、イメージライブラリ135aからのイベントでは、「扉が開いた」、「紙詰まり発生した」などの最終的な動作の状態が通知され(b4)、VASV2ライブラリ135bからのイベントでは、「扉が開いた」場合であれば扉を特定する情報が、「紙詰まり発生した」場合であれば紙詰まりが起きた箇所を特定する情報が通知される。
The
このように、通信経路a1,a2,a11,b3,そしてb41は、旧バージョンに対応した部分である。VASV2ライブラリ135bによって、旧バージョンでの仕様が吸収されるため、旧バージョンでの仕様に対応したSDKアプリ149は、ECS164、MCS165、SCS168などの変更に応じた修正をする必要がない。
Thus, the communication paths a1, a2, a11, b3, and b41 are portions corresponding to the old version. Since the specifications of the old version are absorbed by the
また、新バージョンに対応したSDKアプリ149は、旧バージョンでの仕様をそのまま利用することができる。特に、イメージライブリ135aを用いて動作指示をする際には、上記のような通信経路となる。
Also, the
更に、新バージョンに対応したSDKアプリ149が、新バージョン固有の機能を利用する場合、インタフェースipcを介して、VASV3135cへ直接関数コールする(a12)。すなわち、VAS135は、新機能を個々の関数によってSDKアプリ149に提供することによって、新機能が増えた場合において、SDKアプリ149に影響を与えることがない。
Further, when the
そして、VASV3135cへ直接関数コールした場合(a12)、イベントは、VASV3メールとして、VASV2ライブラリ135bからSDKアプリ149へ通知される(b42)。
When a function call is made directly to the VASV 3135c (a12), the event is notified from the
次に、イベントの処理について図6で説明する。図6は、イベントの処理を説明するための図である。図6中の処理は、図4に示されるコード37のdefaultHanderの起動によって、コード36のイベントを処理するフローを示す。
Next, event processing will be described with reference to FIG. FIG. 6 is a diagram for explaining event processing. The processing in FIG. 6 shows a flow of processing the event of the
図6において、ECS164、MCS165、SCS169などからSDKアプリ149のコールバック関数(defaultHandler)によって動作に関するデータ21が通知されると(ステップS101及びS102)、データ21を格納するメモリを割当て、その割当てに対応するハンドルNoをイベントテーブル29から取得する(ステップS103)。そして、VASV3イベントを生成し(ステップS104)、そのイベントはVASV3メールとしてsendMailで発行される(ステップS105)。メッセージデータ22は、イベントを特定するイベントIDとハンドルNoを含む。
In FIG. 6, when the
SDKアプリ149は、readMialを関数コールすることによって、発行されたイベントを読みに行く(ステップS106)。取得したハンドルNoを引数としてVASV3135cに対してデータの取得を要求する(ステップS107)。VASV3135cは、イベントテーブル29を参照して、ハンドルNoに対応するデータアドレスからデータ21を取り出してSDKアプリ149へ通知する(ステップS109)。その後、SDKアプリ149からの関数コールによって、データ21のハンドルが解放される。
The
上記より、プラットフォーム132の変更に伴うVAS135の2つ以上のバージョンを、プロセスとして動作するアプリケーション131(例えば、ベンダー等によって開発されたSDKアプリケーション149)からインタフェースipcを介して関数コールを可能とすることによって、また、機能追加を個々の関数で与えることによって、また、新バージョン(VASV3135c)の関数コールへの変換を行うことによって、旧バージョンに対応したアプリケーション131に対して、プラットフォーム132の変更による影響を与えることなく、また、新バージョンに対応したアプリケーション131にも対応することができる。
As described above, two or more versions of the VAS 135 accompanying the change of the
つまり、既存のSDKアプリケーション149において、コンパイルされた旧バージョンに対応したバイナリコードを変更することなく動作させることができる。
In other words, the existing
本発明によれば、アプリケーションのプログラム開発が、例えば、画像形成処理の変更に伴う、プロセス間通信の変更に影響されないようにすることができる。 According to the present invention, application program development can be prevented from being affected by, for example, a change in inter-process communication accompanying a change in image forming processing.
101 融合機
111 ハードウェア
112 ソフトウェア
113 融合機起動部
121 撮像部
122 印刷部
123 その他のハードウェア
131 アプリケーション
132 プラットフォーム
133 アプリケーションプログラムインタフェース
134 エンジンインタフェース
135 仮想アプリケーションサービス
135a イメージライブラリ
135b VASV2ライブラリ
135c VASV3
141 コピーアプリ
142 プリンタアプリ
143 スキャナアプリ
144 ファクシミリアプリ
145 ネットワークファイルアプリ
146 CSDKアプリ
147 JSDKアプリ
148 JSDKプラットフォーム
149 SDKアプリ
151 コントロールサービス
152 システムリソースマネージャ
153 ハンドラ
161 ネットワークコントロールサービス
162 ファクシミリコントロールサービス
163 デリバリコントロールサービス
164 エンジンコントロールサービス
165 メモリコントロールサービス
166 オペレーションパネルコントロールサービス
167 サーティフィケーションコントロールサービス
168 ユーザディレクトリコントロールサービス
169 システムコントロールサービス
171 ファクシミリコントロールユニットハンドラ
172 イメージメモリハンドラ
201 コントローラ
202 オペレーションパネル
203 ファクシミリコントロールユニット
211 CPU
212 ASIC
221 NB
222 SB
231 MEM−P
232 MEM−C
233 HDD
234 メモリカードスロット
235 メモリカード
241 NIC
242 USBデバイス
243 IEEE1394デバイス
244 セントロニクスデバイス
DESCRIPTION OF
141
212 ASIC
221 NB
222 SB
231 MEM-P
232 MEM-C
233 HDD
234 Memory card slot 235
242
Claims (20)
前記画像形成処理で利用されるハードウェア資源の管理を行い、第二プロセスとして動作するコントロールサービスと、
前記第一プロセスと前記第二プロセス間の通信を関数コールによって実行可能とするプロセス間通信手段とを有し、
前記プロセス間通信手段は、2以上のバージョンを有し、旧バージョンから変更になった個々の機能について対応する関数を前記第一プロセスに提供していることを特徴とする画像形成装置。 An application that performs image formation processing and operates as the first process;
Management of hardware resources used in the image forming process, a control service that operates as a second process,
Inter-process communication means for enabling communication between the first process and the second process by a function call;
The inter-process communication means has two or more versions, and provides functions corresponding to individual functions changed from the previous version to the first process.
前記アプリケーションは、メール受信関数によって前記イベントを取得することを特徴とする請求項1乃至3のいずれか一項記載の画像形成装置。 The inter-process communication means notifies the event from the second process to the first process by a mail transmission function,
The image forming apparatus according to claim 1, wherein the application acquires the event by a mail reception function.
前記画像形成装置を制御するコンピュータに、
イベントを取得するためのコールバック関数を指定することによってアプリケーションの登録を行う手順と、
関数コールによって画像形成に関する動作を行う手順と、
前記関数コールに応じたイベントに係るデータを取得する手順と、
前記コールバック関数として動作する手順とを実行させるコンピュータ実行可能なプログラムを記憶したメモリカード。 A memory card used in the image forming apparatus according to claim 1,
A computer for controlling the image forming apparatus;
The procedure for registering an application by specifying a callback function to get the event,
Procedures for performing operations related to image formation by function calls;
A procedure for acquiring data relating to an event corresponding to the function call;
A memory card storing a computer-executable program for executing a procedure that operates as the callback function.
前記アプリケーションの第一プロセスと、該画像形成処理で利用されるハードウェア資源の管理を行うコントロールサービスの第二プロセス間での通信を関数コールによって実行可能とするプロセス間通信手順を有し、
前記プロセス間通信手順は、2以上のバージョンに応じた処理を行い、前記第一プロセスによる旧バージョンから変更になった個々の機能を関数コールによって実行することを特徴とする画像形成方法。 In an image forming method for performing image forming processing by an application,
An inter-process communication procedure that enables communication between a first process of the application and a second process of a control service that manages hardware resources used in the image forming process by a function call;
The inter-process communication procedure performs processing according to two or more versions, and executes each function changed from the previous version by the first process by a function call.
前記アプリケーションは、メール受信関数によって前記イベントを取得することを特徴とする請求項9乃至11のいずれか一項記載の画像形成方法。 The inter-process communication procedure notifies an event from the second process to the first process by a mail transmission function,
12. The image forming method according to claim 9, wherein the application acquires the event by a mail reception function.
前記アプリケーションの第一プロセスと、該画像形成処理で利用されるハードウェア資源の管理を行うコントロールサービスの第二プロセス間での通信を関数コールによって実行可能とするプロセス間通信手順を有し、
前記プロセス間通信手順は、2以上のバージョンに応じた処理を行い、前記第一プロセスによる旧バージョンから変更になった個々の機能を関数コールによって実行することを特徴とするコンピュータ実行可能なプログラム。 In a program for causing a computer to perform processing in an image forming method for performing image forming processing by an application,
An inter-process communication procedure that enables communication between a first process of the application and a second process of a control service that manages hardware resources used in the image forming process by a function call;
The computer-executable program, wherein the inter-process communication procedure performs processing according to two or more versions, and executes each function changed from the previous version by the first process by a function call.
前記アプリケーションは、メール受信関数によって前記イベントを取得することを特徴とする請求項15乃至17のいずれか一項記載のコンピュータ実行可能なプログラム。 The inter-process communication procedure notifies an event from the second process to the first process by a mail transmission function,
The computer-executable program according to any one of claims 15 to 17, wherein the application acquires the event by a mail reception function.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004081474A JP2005267447A (en) | 2004-03-19 | 2004-03-19 | Image forming apparatus and image forming method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004081474A JP2005267447A (en) | 2004-03-19 | 2004-03-19 | Image forming apparatus and image forming method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005267447A true JP2005267447A (en) | 2005-09-29 |
Family
ID=35091911
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004081474A Pending JP2005267447A (en) | 2004-03-19 | 2004-03-19 | Image forming apparatus and image forming method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005267447A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007306143A (en) * | 2006-05-09 | 2007-11-22 | Ricoh Co Ltd | Image processing apparatus |
JP2008176759A (en) * | 2006-12-22 | 2008-07-31 | Hitachi Ltd | Operation consistency maintenance method, system and program |
JP2009009220A (en) * | 2007-06-26 | 2009-01-15 | Konica Minolta Business Technologies Inc | Event notification method, control program, and control device |
-
2004
- 2004-03-19 JP JP2004081474A patent/JP2005267447A/en active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007306143A (en) * | 2006-05-09 | 2007-11-22 | Ricoh Co Ltd | Image processing apparatus |
JP2008176759A (en) * | 2006-12-22 | 2008-07-31 | Hitachi Ltd | Operation consistency maintenance method, system and program |
JP2009009220A (en) * | 2007-06-26 | 2009-01-15 | Konica Minolta Business Technologies Inc | Event notification method, control program, and control device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8767244B2 (en) | Image forming apparatus, information processing apparatus, information processing method, information processing program and storage medium | |
JP4625343B2 (en) | Image forming apparatus, terminal apparatus, information processing method, information processing program, and recording medium | |
US7636172B2 (en) | Image forming apparatus, information processing apparatus and version check method using an API from an application | |
EP1398948B1 (en) | Image forming apparatus, methods used therein and a computer readable storage medium | |
US8432562B2 (en) | Image processing apparatus, method, program, and computer readable recording medium for controlling operation switching and displaying at occurrence of error conditions | |
JP4597834B2 (en) | Image forming apparatus, information processing method, information processing program, and recording medium | |
JP4843386B2 (en) | Apparatus, information processing method, information processing program, and recording medium | |
JP2011170465A (en) | System, method, and program for software distribution | |
US20040057067A1 (en) | Image forming apparatus, wrapping method and the program | |
US20130174141A1 (en) | Install method, apparatus | |
JP5664692B2 (en) | Electronic device, image forming apparatus, information processing method, information processing program, and recording medium | |
JP2007048270A (en) | Image forming apparatus, information processing apparatus, information processing method, information processing program and recording medium | |
JP2005267447A (en) | Image forming apparatus and image forming method | |
JP2009137165A (en) | Image formation device, information processing method and program | |
JP2005269439A (en) | Image forming apparatus, information processing method, information processing program, and recording medium | |
JP4246560B2 (en) | Information processing apparatus, information processing method, program, and recording medium | |
JP5565439B2 (en) | Apparatus, information processing method, information processing program, and recording medium | |
JP2004127253A (en) | Information processing apparatus and version check method | |
JP2006157386A (en) | Image formation apparatus, terminal equipment, information processing method, information processing program and recording medium | |
JP2010218469A (en) | Information processor, information processing method, program and recording medium | |
JP2004129220A (en) | Image forming apparatus and version check method | |
JP2009005209A (en) | Image processor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060522 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20081007 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090106 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090309 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090407 |