JP2004062828A - Image forming device and customization program testing method - Google Patents

Image forming device and customization program testing method Download PDF

Info

Publication number
JP2004062828A
JP2004062828A JP2002224137A JP2002224137A JP2004062828A JP 2004062828 A JP2004062828 A JP 2004062828A JP 2002224137 A JP2002224137 A JP 2002224137A JP 2002224137 A JP2002224137 A JP 2002224137A JP 2004062828 A JP2004062828 A JP 2004062828A
Authority
JP
Japan
Prior art keywords
program
image forming
input
operation panel
customization program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2002224137A
Other languages
Japanese (ja)
Other versions
JP4133085B2 (en
Inventor
Tsutomu Oishi
大石 勉
Mitsuo Ando
安藤 光男
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 JP2002224137A priority Critical patent/JP4133085B2/en
Publication of JP2004062828A publication Critical patent/JP2004062828A/en
Application granted granted Critical
Publication of JP4133085B2 publication Critical patent/JP4133085B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

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

Abstract

<P>PROBLEM TO BE SOLVED: To efficiently perform the debugging work of a customization program. <P>SOLUTION: This image forming device comprises a hardware resource, an application 130, a control service interposed between the application and the hardware resource, which performs the acquisition request, management, execution control and image forming processing of the hardware resource which is commonly required by at least two of the application when providing a user service, and an operation panel 910. This device further comprises a WEB application 117 for executing the customization program of a program to be operated in the image forming device by a request from a PC 200 (client terminal) connected to a network 220 and displaying operation panel image information outputted to an operation display part 911 according to the execution of the customization program on the PC 200. <P>COPYRIGHT: (C)2004,JPO

Description

【0001】
【発明の属する技術分野】
この発明は、コピー、プリンタ、スキャナおよびファクシミリなどの画像形成処理にかかるユーザサービスを提供するとともに、インターネットに接続されたクライアント端末からWEBを介してカスタマイズプログラムのデバッグを行うことができる画像形成装置およびカスタマイズプログラム試験方法に関するものである。
【0002】
【従来の技術】
近年では、プリンタ、コピー、ファクシミリ、スキャナなどの各装置の機能を1つの筐体内に収納した画像形成装置(以下、「複合機」という。)が知られている。この複合機は、1つの筐体内に表示部、印刷部および撮像部などを設けるとともに、プリンタ、コピーおよびファクシミリ装置にそれぞれ対応した3種類のソフトウェアを設け、これらのソフトウェアを切り替えることによって、当該装置をプリンタ、コピー、スキャナまたはファクシミリ装置として動作させるものである。
【0003】
このような従来の複合機では、複合機の出荷後にサードベンダなどの第三者が新たなアプリケーションプログラムを開発して搭載したり、複合機で動作するアプリケーションプログラムをカスタマイズすることは想定されていない。
【0004】
また、従来の複合機は、ネットワークに接続することは可能ではあるが、プリンタサーバなどの管理サーバを利用してネットワーク機能を利用しており、複合機それ自体がPC(Personal Computer)などのように直接ネットワークの諸機能を実現可能とするものではない。
【0005】
【発明が解決しようとする課題】
ところで、このような従来の複合機では、プリンタ、コピー、スキャナおよびファクシミリ装置に対応するソフトウェアをそれぞれ別個に設けているため、各ソフトウェアの開発に多大の時間を要する。このため、出願人は、表示部、印刷部および撮像部などの画像形成処理で使用されるハードウェア資源を有し、プリンタ、コピーまたはファクシミリなどの各ユーザサービスにそれぞれ固有の処理を行うアプリケーションを複数搭載し、これらのアプリケーションとハードウェア資源との間に介在して、ユーザサービスを提供する際に、アプリケーションの少なくとも2つが共通的に必要とするハードウェア資源の管理、実行制御並びに画像形成処理を行う各種コントロールサービスからなるプラットホームを備えた画像形成装置(複合機)を発明した。
【0006】
このような新規な複合機では、アプリケーションと、ハードウェア資源にアクセスするような開発が難しい処理を行うコントロールサービスとを別個に設けているため、複合機の出荷後にユーザもしくは第三者であるサードベンダが画像形成処理などにかかるアプリケーションとして新規な外部アプリケーションを開発して複合機に搭載可能な構成となっている。
【0007】
このため、新規な複合機では、新たな機能を備えた外部アプリケーションを開発し、その外部アプリケーションを複合機に搭載したり、出荷当初から搭載されている既存の機能をカスタマイズし、そのカスタマイズプログラムをデバッグする必要性が生じてくる。
【0008】
ここで、複合機には、利用者に対する各種画面の表示や、複合機のシステムに対する操作入力のインタフェースとして、オペレーションパネルの操作表示部が用意されている。しかしながら、このオペレーションパネルの操作表示部は、PCなどのコンピュータのディスプレイ画面などの表示装置と異なり、画面サイズが非常に狭いものとなっている。また、操作表示部に各種ボタンを描画したり、ソフトウェアキーボードを表示することによって、利用者による操作表示部からの入力操作が可能となっているが、コンピュータにおけるキーボード、マウスなどの入力装置に比べれば、自由な入力操作には限界がある。
【0009】
このように、新規な複合機には、カスタマイズプログラムのデバッグを容易な操作で行う必要性が生じるという従来の複合機では問題とならなかった新規な課題が生じてくる。
【0010】
この発明は上記に鑑みてなされたもので、カスタマイズプログラムのデバッグ作業を効率的に行うことができる画像形成装置およびカスタマイズプログラム試験方法を得ることを目的とする。
【0011】
【課題を解決するための手段】
上記目的を達成するため、請求項1にかかる発明は、画像形成処理で使用されるハードウェア資源と、画像形成処理にかかるユーザサービスにそれぞれ固有の処理を行うアプリケーションと、前記アプリケーションと前記ハードウェア資源との間に介在し、前記ユーザサービスを提供する際に、アプリケーションの少なくとも2つが共通的に必要とする前記ハードウェア資源の獲得要求、管理、実行制御並びに画像形成処理を行うコントロールサービスと、画面表示および操作入力を行う操作表示部を有するオペレーションパネルとを備えた画像形成装置であって、ネットワークに接続されたクライアント端末からの要求によって、画像形成装置で動作するプログラムのカスタマイズプログラムを実行し、前記カスタマイズプログラムの実行に伴って前記操作表示部に出力されるオペパネ画像情報を、前記クライアント端末に表示する試験実行手段とを備えたことを特徴とする。
【0012】
この請求項1にかかる発明によれば、試験実行手段によって、ネットワークに接続されたクライアント端末からの要求により、画像形成装置で動作するプログラムのカスタマイズプログラムを実行し、その実行に伴ってオペレーションパネルの操作表示部に出力されるオペパネ画像情報をクライアント端末に表示することで、クライアント端末からの容易な操作でカスタマイズプログラムのデバッグ作業を行うことができ、カスタマイズプログラムの開発を効率的に行え、容易に多種多様な機能を画像形成装置に実現させることができる。
【0013】
また、請求項2にかかる発明は、請求項1に記載の画像形成装置において、前記試験実行手段は、インターネットに接続されたクライアント端末に表示されたWEBページを介して前記カスタマイズプログラムの実行要求を受信し、前記オペパネ画像情報を、前記クライアント端末に表示されるWEBページに表示することを特徴とする。
【0014】
この請求項2にかかる発明によれば、試験実行手段によって、インターネットに接続されたクライアント端末に表示されたWEBページを介してカスタマイズプログラムの実行要求を受信し、オペパネ画像情報をWEBページに表示することで、クライアント端末からの操作および動作確認をWEBページを利用して容易に行うことができ、カスタマイズプログラムのデバッグ作業を効率的に行うことができる。
【0015】
また、請求項3にかかる発明は、請求項1または2に記載の画像形成装置において、前記カスタマイズプログラムをステップごとに逐次実行するプログラム実行手段をさらに備え、前記試験実行手段は、前記プログラム実行手段を呼び出して、インタプリタ用言語で記述したカスタマイズプログラムを実行することを特徴とする。
【0016】
この請求項3にかかる発明によれば、試験実行手段によって、カスタマイズプログラムをステップごとに逐次実行するプログラム実行手段を呼び出して、インタプリタ用言語で記述したカスタマイズプログラムを実行することで、カスタマイズプログラムのコンパイル、リンクなしに動作確認を行えるので、クライアント端末からのデバッグ作業をより効率的に行うことができる。
【0017】
また、請求項4にかかる発明は、請求項1〜3のいずれか一つに記載の画像形成装置において、前記試験実行手段は、前記操作表示部からの入力に対する実行処理を記述したカスタマイズプログラムを実行することを特徴とする。
【0018】
この請求項4にかかる発明によれば、試験実行手段によって、操作表示部からの入力に対する実行処理を記述したカスタマイズプログラムを実行することで、クライアント端末からの容易な操作でオペレーションパネルの操作表示部用のカスタマイズプログラムをデバッグして動作確認を行えるので、カスタマイズを利用した操作表示部に関する機能のデバッグ作業を効率的に行うことができる。
【0019】
また、請求項5にかかる発明は、請求項1〜4のいずれか一つに記載の画像形成装置において、前記コントロールサービスとして搭載され、ネットワークの制御を行うネットワークコントロールサービスをさらに備え、前記ネットワークコントロールサービスは、前記操作表示部に出力されるオペパネ画像情報を取得して、取得したオペパネ画像情報を前記クライアント端末に送信することを特徴とする。
【0020】
この請求項5にかかる発明によれば、試験実行手段ではなくネットワークコントロールサービスによって、操作表示部に出力されるオペパネ画像情報を取得してクライアント端末に送信しているので、試験実行手段はオペパネ画像の送信処理を行う必要がなく、試験実行手段のプログラム開発を効率的に行うことができる。
【0021】
また、請求項6にかかる発明は、請求項1〜5のいずれか一つに記載の画像形成装置において、前記クライアント端末に表示された前記オペパネ画像情報に対する入力操作によるイベント情報を取得して、取得した入力イベントに対応する前記操作表示部からの入力イベントを前記アプリケーションまたは前記コントロールサービスに通知するイベント処理手段と、をさらに備えたことを特徴とする。
【0022】
この請求項6にかかる発明によれば、イベント処理手段によって、クライアント端末に表示されたオペパネ画像情報に対する入力操作によるイベント情報を取得して、このイベント情報に対応する操作表示部からの入力イベントをアプリケーションまたはコントロールサービスに通知することで、クライアント端末に表示されたオペパネ画像情報に対する入力操作による実行処理を、実際のオペレーションパネルの操作表示部からの入力操作の場合と同様に実現することができ、カスタマイズプログラムのデバッグ作業を正確に行うことができる。
【0023】
また、請求項7にかかる発明は、請求項6に記載の画像形成装置において、前記コントロールサービスとして搭載され、前記オペレーションパネルの操作表示部からの入力による入力イベントを取得して前記アプリケーションまたは前記コントロールサービスに通知するオペパネコントロールサービスをさらに備え、前記イベント処理手段は、前記取得したイベント情報に対応する前記操作表示部からの入力イベントを、前記オペパネコントロールサービスに通知することを特徴とする。
【0024】
この請求項7にかかる発明によれば、イベント処理手段によって、オペパネ画像情報に対する入力操作として取得したイベント情報に対応する前記操作表示部からの入力イベントをオペパネコントロールサービスに通知し、オペパネコントロールサービスによって入力イベントをアプリケーションまたはコントロールサービスに通知することで、クライアント端末に表示されたオペパネ画像情報に対する入力操作によるイベントの処理を、実際のオペレーションパネルの操作表示部から入力操作があった場合と同様に実現することができ、カスタマイズプログラムのデバッグ作業をより正確に行うことができる。
【0025】
また、請求項8にかかる発明は、請求項1〜7のいずれか一つに記載の画像形成装置において、前記カスタマイズプログラムを、前記クライアント端末からWEBページを介して入力させるプログラム入力手段をさらに備えたことを特徴とする。
【0026】
この請求項8にかかる発明によれば、プログラム入力手段によって、カスタマイズプログラムをクライアント端末からWEBページを介して入力させることで、カスタマイズプログラムの入力も操作の容易なクライアント端末を利用してカスタマイズプログラムの開発およびデバッグ作業を効率的に行うことができる。
【0027】
また、請求項9にかかる発明は、請求項1〜8のいずれか一つに記載の画像形成装置において、前記試験実行手段は、前記アプリケーションとして搭載されたWEBアプリであることを特徴とする。
【0028】
この請求項9にかかる発明によれば、試験実行手段はアプリケーションとして搭載されたWEBアプリであるので、クライアント端末に対するWEBサーバとしての機能のみをWEBアプリに含め、ハードウェア資源に対するアクセスをコントロールサービスに委ねることができ、WEBアプリの開発を効率的に行うことができる。
【0029】
また、請求項10にかかる発明は、請求項1〜8のいずれか一つに記載の画像形成装置において、前記試験実行手段は、前記コントロールサービスとして搭載されたプログラミングサービスであることを特徴とする。
【0030】
この請求項10にかかる発明によれば、試験実行手段がコントロールサービスとして搭載されたプログラミングサービスであるので、プログラミングサービスはネットワーク上のクライアント端末のサーバプロセスとして動作するだけでなく、画像形成装置に搭載されたアプリケーションをクライアントとしたサーバプロセスとしても動作可能となり、アプリケーションに対して種々の機能を提供することにより、画像形成装置にさらなる多種多様な機能を実現させることができる。
【0031】
また、請求項11にかかる発明は、画像形成処理で使用されるハードウェア資源と、画像形成処理にかかるユーザサービスにそれぞれ固有の処理を行うアプリケーションと、前記アプリケーションと前記ハードウェア資源との間に介在し、前記ユーザサービスを提供する際に、アプリケーションの少なくとも2つが共通的に必要とする前記ハードウェア資源の獲得要求、管理、実行制御並びに画像形成処理を行うコントロールサービスと、画面表示および操作入力を行う操作表示部を有するオペレーションパネルとを備えた画像形成装置で動作するプログラムのカスタマイズプログラムを検証するカスタマイズプログラム試験方法であって、ネットワークに接続されたクライアント端末からの要求によって、画像形成装置で動作するプログラムのカスタマイズプログラムを実行し、前記カスタマイズプログラムの実行に伴って前記操作表示部に出力されるオペパネ画像情報を、前記クライアント端末に表示する試験実行ステップを含むことを特徴とする。
【0032】
この請求項11にかかる発明によれば、試験実行ステップによって、ネットワークに接続されたクライアント端末からの要求により、画像形成装置で動作するプログラムのカスタマイズプログラムを実行し、その実行に伴ってオペレーションパネルの操作表示部に出力されるオペパネ画像情報をクライアント端末に表示することで、クライアント端末からの容易な操作でカスタマイズプログラムのデバッグ作業を行うことができ、カスタマイズプログラムの開発を効率的に行え、容易に多種多様な機能を画像形成装置に実現させることができる。
【0033】
また、請求項12にかかる発明は、請求項11に記載のカスタマイズプログラム試験方法において、前記試験実行ステップは、インターネットに接続されたクライアント端末に表示されたWEBページを介して前記カスタマイズプログラムの実行要求を受信し、前記オペパネ画像情報を、前記クライアント端末に表示されるWEBページに表示することを特徴とする。
【0034】
この請求項12にかかる発明によれば、試験実行ステップによって、インターネットに接続されたクライアント端末に表示されたWEBページを介してカスタマイズプログラムの実行要求を受信し、オペパネ画像情報をWEBページに表示することで、クライアント端末からの操作および動作確認をWEBページを利用して容易に行うことができ、カスタマイズプログラムのデバッグ作業を効率的に行うことができる。
【0035】
また、請求項13にかかる発明は、請求項11または12に記載のカスタマイズプログラム試験方法において、前記試験実行ステップは、インタプリタ用言語で記述したカスタマイズプログラムをステップごとに逐次実行することを特徴とする。
【0036】
この請求項13にかかる発明によれば、試験実行ステップによって、インタプリタ用言語で記述したカスタマイズプログラムをステップごとに逐次実行することで、カスタマイズプログラムのコンパイル、リンクなしに動作確認を行えるので、クライアント端末からのデバッグ作業をより効率的に行うことができる。
【0037】
また、請求項14にかかる発明は、請求項11〜13のいずれか一つに記載のカスタマイズプログラム試験方法において、前記試験実行ステップは、前記操作表示部からの入力に対する実行処理を記述したカスタマイズプログラムを実行することを特徴とする。
【0038】
この請求項14にかかる発明によれば、試験実行ステップによって、操作表示部からの入力に対する実行処理を記述したカスタマイズプログラムを実行することで、クライアント端末からの容易な操作でオペレーションパネルの操作表示部用のカスタマイズプログラムをデバッグして動作確認を行えるので、カスタマイズを利用した操作表示部に関する機能のデバッグ作業を効率的に行うことができる。
【0039】
また、請求項15にかかる発明は、請求項11〜14のいずれか一つに記載のカスタマイズプログラム試験方法において、前記クライアント端末に表示された前記オペパネ画像情報に対する入力操作によるイベント情報を取得して、取得したイベント情報に対応する前記操作表示部からの入力イベントを前記アプリケーションまたは前記コントロールサービスに通知するイベント処理ステップをさらに含むことを特徴とする。
【0040】
この請求項15にかかる発明によれば、イベント処理ステップによって、クライアント端末に表示されたオペパネ画像情報に対する入力操作によるイベント情報を取得して、このイベント情報に対応する操作表示部からの入力イベントをアプリケーションまたはコントロールサービスに通知することで、クライアント端末に表示されたオペパネ画像情報に対する入力操作による実行処理を、実際のオペレーションパネルの操作表示部からの入力操作の場合と同様に実現することができ、カスタマイズプログラムのデバッグ作業を正確に行うことができる。
【0041】
また、請求項16にかかる発明は、請求項15に記載のカスタマイズプログラム試験方法において、前記イベント処理ステップは、前記取得したイベント情報に対応する前記操作表示部からの入力イベントを、前記コントロールサービスとして搭載され、前記オペレーションパネルの操作表示部からの入力による入力イベントを取得して前記アプリケーションまたは前記コントロールサービスに通知するオペパネコントロールサービスに通知することを特徴とする。
【0042】
この請求項16にかかる発明によれば、イベント処理ステップによって、オペパネ画像情報に対する入力操作として取得したイベント情報に対応する前記操作表示部からの入力イベントをオペパネコントロールサービスに通知し、オペパネコントロールサービスによって入力イベントをアプリケーションまたはコントロールサービスに通知することで、クライアント端末に表示されたオペパネ画像情報に対する入力操作によるイベントの処理を、実際のオペレーションパネルの操作表示部から入力操作があった場合と同様に実現することができ、カスタマイズプログラムのデバッグ作業をより正確に行うことができる。
【0043】
また、請求項17にかかる発明は、請求項11〜16のいずれか一つに記載のカスタマイズプログラム試験方法において、前記カスタマイズプログラムを、前記クライアント端末からWEBページを介して入力させるプログラム入力ステップをさらに含むことを特徴とする。
【0044】
この請求項17にかかる発明によれば、プログラム入力ステップによって、カスタマイズプログラムをクライアント端末からWEBページを介して入力させることで、カスタマイズプログラムの入力も操作の容易なクライアント端末を利用してカスタマイズプログラムの開発およびデバッグ作業を効率的に行うことができる。
【0045】
【発明の実施の形態】
以下に添付図面を参照して、この発明にかかる画像形成装置およびカスタマイズプログラム試験方法の好適な実施の形態を詳細に説明する。
【0046】
(実施の形態1)
実施の形態1にかかる複合機は、WEBアプリによって複合機で動作するプログラムのカスタマイズをインターネットに接続されたPCから行い、そのデバッグ作業を当該PCから行うものである。
【0047】
図1は、実施の形態1にかかる複合機の主要構成およびネットワーク構成を示すブロック図である。図1に示すように、本実施の形態では、複合機100と、PC(personal Computer)200とがインターネット220に接続されている。複合機100およびPC200の間の通信プロトコルはTCP/IPを利用している。
【0048】
複合機100は、図1に示すように、WEBアプリ117と、VAS(Virtual Application Service:仮想アプリケーションサービス)118と、NCS128と、OCS126と、SCS122と、httpd106と、複合機初期化部129と、プログラム起動部131と、汎用OS121内のインタプリタ(シェル)134と、共有メモリ105と、HDD103とを主に備えた構成となっている。ここで、シェル134は、本発明におけるプログラム実行手段を構成する。
【0049】
WEBアプリ117は、インターネット220に接続されたクライアント端末としてのPC200に対してWEBサーバ(httpサーバ)として動作し、PC200上で動作するWEBブラウザに後述するプログラミング画面201を表示し、このプログラミング画面201からオペレーションパネル910の操作表示部911のカスタマイズプログラムを入力させるものである。また、WEBアプリ117は、PC200から入力されたカスタマイズプログラムをHDD103のカスタマイズ領域として作成されたカスタマイズディレクトリ212に保存する。さらに、WEBアプリ117は、複合機100上でカスタマイズプログラムが実行されるように、起動設定ファイルにカスタマイズプログラムを登録する。また、WEBアプリ117は、PC200のプログラミング画面201からの指示により、複合機100上でカスタマイズプログラムを動作確認のために試験実行し、その実行の際に操作表示部911に表示されるオペパネ画像データをPC200のWEBブラウザに表示する。
【0050】
ここで、プログラミング画面201は、本発明におけるWEBページを構成し、html形式(Hyper Text Markup Language)で記述されたファイル(debug.htm)である。当該ファイルをPC200上でWEBブラウザによって表示することにより、プログラミング画面201がPC200で表示される。
【0051】
また、WEBアプリ117は、プログラミング画面(debug.htm)からの操作入力や要求に応じたカスタマイズプログラムの入力に関する処理およびカスタマイズプログラムのテスト実行処理を、CGIスクリプト(Common Gateway Interface)によって実行し、その処理結果をプログラミング画面(debug.htm)に反映して、PC200のWEBブラウザに返すようになっている。具体的には、WEBアプリ117は、カスタマイズプログラムの入力に関する処理の要求(ボタンのクリック操作等)があった場合には、debug.cgiのスクリプトを実行し、テスト実行処理の要求(ボタンのクリック操作)があった場合にはtestexe.cgiのスクリプトを実行する。また、テスト実行によってWEBブラウザに表示されるオペパネ画面上のボタン、キーなどをに対しクリック操作を行った場合には、click.cgiのスクリプトが実行される。
【0052】
なお、本実施の形態では、CGIスクリプトを実行することにより、WEBアプリ117による各処理を実行しているが、CGIスクリプトから呼び出される別のプログラムで実行するように構成しても良い。また、プログラミング画面を、XML形式(eXtensible Markup Language)で記述するように構成することも可能である。
【0053】
また、プログラミング画面201から入力するカスタマイズプログラムは、インタプリタで解釈可能な言語で記述され、具体的には、汎用OSはUNIX(登録商標)の場合、シェルスクリプトなどである。
【0054】
VAS118は、コントロールサービスとアプリケーションとの間に配置され、アプリケーションからのコントロールサービスに対するアクセス、またはコントロールサービスからのアプリケーションに対するアクセスを仲介するものである。また、VAS118は、NCS128から通知されたインターネット220経由のリクエストメッセージ受信の旨をWEBアプリ117に通知することも行う。
【0055】
NCS128は、ネットワークを制御するものであり、httpd106から通知されたリクエストメッセージ受信の旨をVAS118に通知することも行う。また、NSC128は、カスタマイズプログラムの試験実行によりオペレーションパネル910のの操作表示部911に表示されるオペパネ画像データを、OCS126経由で取得し、取得したオペパネ画像データをhttpd106に受け渡して、インターネット経由でPC200のWEBブラウザに表示(送信)する処理も行う。
【0056】
OCS126は、オペレーションパネル910に対する画面表示の制御および操作入力の受付を行うものであり、オペレーションパネル910の操作表示部911にオペパネ画像データを表示するOCS描画関数ライブラリと、操作表示部911またはハードキーからのキーイベントを取得してSCS122に取得したキーイベントを送信するOCSプロセスの部分から構成される。
【0057】
SCS122は、複合機100のシステム制御を行ったり、オペレーションパネル910の操作表示部911にシステム画面を表示するものである。また、SCS122は、操作表示部911からのキーイベントをOCS126から受信して、アプリケーションまたはコントロールサービスに受信したキーイベントを送信する処理を行う。
【0058】
httpd106は、OSに含まれるプロセス(デーモン)であり、ポート80番を常時監視してリクエストメッセージの受信を行うとともに、レスポンスメッセージの送信を行うものである。なお、リクエストメッセージおよびレスポンスメッセージの構造は、通常のhttpプロトコルにおける各メッセージの構造と同様であり、各メッセージには、html形式で記述されたメッセージボディが含まれている。また、httpd106は、インターネット220経由で受信したリクエストメッセージ受信の旨をNCS128に通知するとともに、リクエストメッセージを共有メモリ105に格納する。
【0059】
共有メモリ105は、httpd106とWEBアプリ117とのプロセス間通信に利用されるものであり、共有メモリ105を介してリクエストメッセージ、レスポンスメッセージなどの受け渡しを行う。
【0060】
インタプリタ134は、カスタマイズプログラムをステップごとに解析し逐次実行するものであり、本実施の形態では、シェルスクリプトを実行するシェル(bsh,cshなど)である。このシェル134は、汎用OS121としてのUNIX(登録商標)に、OSのカーネル135とは別個に存在するものである。
【0061】
プログラム起動部131は、HDD103の診断結果が正常である場合に、HDD103にインストールされている外部アプリを起動するものである。また、プログラム起動部131は、ICカードなどの記憶媒体に保存された外部アプリを起動する。
【0062】
複合機初期化部129は、汎用OS121の上で最初に起動されるプロセスであり、コントロールサービスやアプリケーション130(外部アプリを除く)の起動およびプログラム起動部131の起動を行うものである。
【0063】
HDD103のカスタマイズディレクトリ212にカスタマイズプログラムが格納されるようになっている。
【0064】
PC200は、複合機100のWEBアプリ117をサーバとして、WEBアプリ117からのサービスの提供を受けるクライアント端末であり、PC200で実行されるWEBブラウザ上でプログラミング画面201やその他画面を表示し、操作入力を行うようになっている。
【0065】
次に、本実施の形態にかかる複合機100の全体の機能的構成について説明する。図2は、実施の形態1の複合機100の構成を示すブロック図である。図1に示すように、複合機100は、白黒レーザプリンタ(B&W LP)101と、カラーレーザプリンタ(Color LP)102と、ハードディスク装置(HDD)103と、スキャナ、ファクシミリ、メモリ、ネットワークインタフェースなどのハードウェアリソース104を有するとともに、プラットホーム120と、アプリケーション130とから構成されるソフトウェア群110とを備えている。
【0066】
プラットホーム120は、アプリケーションからの処理要求を解釈してハードウェア資源の獲得要求を発生させるコントロールサービスと、一または複数のハードウェア資源の管理を行い、コントロールサービスからの獲得要求を調停するシステムリソースマネージャ(SRM)123と、汎用OS121とを有する。
【0067】
コントロールサービスは、複数のサービスモジュールから形成され、SCS(システムコントロールサービス)122と、ECS(エンジンコントロールサービス)124と、MCS(メモリコントロールサービス)125と、OCS(オペレーションパネルコントロールサービス)126と、FCS(ファックスコントロールサービス)127と、NCS(ネットワークコントロールサービス)128とから構成される。このプラットホーム120は、あらかじめ定義された関数により前記アプリケーション130から処理要求を受信可能とするアプリケーションプログラムインタフェース(API)を有する。
【0068】
汎用OS121は、UNIX(登録商標)などの汎用オペレーティングシステムであり、プラットホーム120並びにアプリケーション130の各ソフトウェアをそれぞれプロセスとして並列実行する。
【0069】
SRM123のプロセスは、SCS122とともにシステムの制御およびリソースの管理を行うものである。SRM123のプロセスは、スキャナ部やプリンタ部などのエンジン、メモリ、HDDファイル、ホストI/O(セントロI/F、ネットワークI/F、IEEE1394 I/F、RS232C I/Fなど)のハードウェア資源を利用する上位層からの要求にしたがって調停を行い、実行制御する。
【0070】
具体的には、このSRM123は、要求されたハードウェア資源が利用可能であるか(他の要求により利用されていないかどうか)を判断し、利用可能であれば要求されたハードウェア資源が利用可能である旨を上位層に伝える。また、SRM123は、上位層からの要求に対してハードウェア資源の利用スケジューリングを行い、要求内容(例えば、プリンタエンジンにより紙搬送と作像動作、メモリ確保、ファイル生成など)を直接実施している。
【0071】
SCS122のプロセスは、アプリ管理、操作部制御、システム画面表示、LED表示、リソース管理、割り込みアプリ制御などを行う。
【0072】
ECS124のプロセスは、白黒レーザプリンタ(B&W LP)101、カラーレーザプリンタ(Color LP)102、スキャナ、ファクシミリなどからなるハードウェアリソース104のエンジンの制御を行う。
【0073】
MCS125のプロセスは、画像メモリの取得および解放、ハードディスク装置(HDD)の利用、画像データの圧縮および伸張などを行う。
【0074】
FCS127のプロセスは、システムコントローラの各アプリ層からPSTN/ISDN網を利用したファクシミリ送受信、BKM(バックアップSRAM)で管理されている各種ファクシミリデータの登録/引用、ファクシミリ読みとり、ファクシミリ受信印刷、融合送受信を行うためのAPIを提供する。
【0075】
NCS128のプロセスは、ネットワークI/Oを必要とするアプリケーションに対して共通に利用できるサービスを提供するためのプロセスであり、ネットワーク側から各プロトコルによって受信したデータを各アプリケーションに振り分けたり、アプリケーションからデータをネットワーク側に送信する際の仲介を行う。
【0076】
OCS126のプロセスは、オペレータ(ユーザ)と本体制御間の情報伝達手段となるオペレーションパネル(操作パネル)910の制御を行う。OCS126は、オペレーションパネルからキー押下(またはタッチ操作)をキーイベントとして取得し、取得したキーに対応したキーイベント関数をSCS122に送信するOCSプロセスの部分と、アプリケーション130またはコントロールサービスからの要求によりオペレーションパネルに各種画面を描画出力する描画関数やその他オペレーションパネルに対する制御を行う関数などがあらかじめ登録されたOCSライブラリの部分とから構成される。このOCSライブラリは、アプリケーション130およびコントロールサービスの各モジュールにリンクされて実装されている。なお、OCS126のすべてをプロセスとして動作させるように構成しても良く、あるいはOCS126のすべてをOCSライブラリとして構成しても良い。
【0077】
アプリケーション130は、ページ記述言語(PDL)、PCLおよびポストスクリプト(PS)を有するプリンタ用のアプリケーションであるプリンタアプリ111と、コピー用アプリケーションであるコピーアプリ112と、ファクシミリ用アプリケーションであるファックスアプリ113と、スキャナ用アプリケーションであるスキャナアプリ114と、ネットワークファイル用アプリケーションであるネットファイルアプリ115と、工程検査用アプリケーションである工程検査アプリ116と、上述のWEBアプリ117、VAS118とを有している。
【0078】
アプリケーション130の各プロセス、コントロールサービスの各プロセスは、関数呼び出しとその戻り値送信およびメッセージの送受信によってプロセス間通信を行いながら、コピー、プリンタ、スキャナ、ファクシミリなどの画像形成処理にかかるユーザサービスを実現している。
【0079】
このように、実施の形態1にかかる複合機100には、複数のアプリケーション130および複数のコントロールサービスが存在し、いずれもプロセスとして動作している。そして、これらの各プロセス内部には、一または複数のスレッドが生成されて、スレッド単位の並列実行が行われる。そして、コントロールサービスがアプリケーション130に対し共通サービスを提供しており、このため、これらの多数のプロセスが並列動作、およびスレッドの並列動作を行って互いにプロセス間通信を行って協調動作をしながら、コピー、プリンタ、スキャナ、ファクシミリなどの画像形成処理にかかるユーザサービスを提供するようになっている。
【0080】
また、複合機100には、複合機100の顧客、サードベンダなどの第三者がコントロールサービス層の上のアプリケーション層に外部アプリを開発して搭載することが可能となっている。
【0081】
なお、実施の形態1にかかる複合機100では、複数のアプリケーション130のプロセスと複数のコントロールサービスのプロセスとが動作しているが、アプリケーション130とコントロールサービスのプロセスがそれぞれ単一の構成とすることも可能である。また、各アプリケーション130は、アプリケーションごとに追加または削除することができる。
【0082】
次に、WEBアプリ117の構成について説明する。図3は、WEBアプリ117の機能的構成を示すブロック図である。図3に示すとおり、WEBアプリ117は、プログラム入力部301と、試験実行部302と、イベント処理部303とから構成される。
【0083】
プログラム入力部301は、PC200上で動作するWEBブラウザに後述するプログラミング画面201を表示し、このプログラミング画面201からオペレーションパネル910の操作表示部911のカスタマイズプログラムの入力処理、入力されたカスタマイズプログラムのカスタマイズディレクトリ212への保存処理およびカスタマイズプログラムとキーとの対応付けおよび起動設定ファイルへの登録などの実行設定処理を行うものである。
【0084】
試験実行部302は、入力されたカスタマイズプログラムを複合機100上で実行し、実行に伴ってオペレーションパネル910の操作表示部911に表示されるオペパネ画像データをPC200のWEBブラウザに表示することにより、カスタマイズプログラムの検証を可能とするものである。
【0085】
イベント処理部303は、PC200のWEBブラウザに表示されたオペパネ画像のボタン、キーなどを利用者がクリック操作した場合、当該クリック操作によるキーイベントに対応する操作表示部911からのキーイベントをOCS126に通知するものである。
【0086】
ここで、上記各部は、上述のCGIスクリプトによって実現されている。すなわち、プログラム入力部301はdebug.cgiの実行によって、試験実行部302はtestexe.cgiの実行によって、イベント処理部303はclick.cgiの実行によって実現される。
【0087】
次に、このように構成された複合機100のWEBアプリ117を利用したPC200からのオペレーションパネル910の操作表示部911のカスタマイズ方法について説明する。まず、利用者は、PC200でWEBブラウザを起動し、複合機100のURLを指定して複合機100のWEBアプリ117にアクセスする。WEBブラウザからのアクセスを受けたWEBアプリ117は、プログラミング画面201(debug.htm)をPC200のWEBブラウザに表示させる。
【0088】
図4は、プログラミング画面201の内容の一例を示す説明図である。図4に示すように、プログラミング画面201には、プログラム入力フィールドと、参照ボタンと、アップロードボタンと、保存ボタンと、消去ボタンと、テスト実行ボタンと、実行設定ボタンが表示される。
【0089】
参照ボタンは、ブラウザが動作しているPC200の記憶領域に格納されたカスタマイズプログラムを参照するためのボタンであり、この参照ボタンを押下すると、PC200上のディレクトリが表示され、所望のディレクトリに存在するカスタマイズプログラムを指定すると、ファイル名フィールドに指定されたカスタマイズプログラムのファイル名が表示される。なお、参照ボタンを押下したときに、複合機100のHDD103などの記憶媒体のディレクトリを参照するように構成しても良い。
【0090】
アップロードボタンは、参照ボタンで指定したカスタマイズプログラムあるいは入力フィールドに入力したカスタマイズプログラムを、複合機100に転送(アップロード)するためにクリック操作するものである。
【0091】
プログラム入力フィールドは、カスタマイズプログラムを入力する領域である。このプログラム入力フィールドには、PC200のキーボードなどの入力装置からカスタマイズプログラムを直接入力する他、上述のように参照ボタンをクリック操作することによってPC200の所望のディレクトリに存在する既存のプログラムファイルを指定することによってカスタマイズプログラムを入力する。debug.htmにおいて、このプログラム入力フィールドに相当するすべての行の先頭には、「program_list:」の文字列が記述されている。
【0092】
保存ボタンは、入力したカスタマイズプログラムを複合機100にアップロードした後に、カスタマイズディレクトリに格納する場合にクリック操作するものである。消去ボタンは、入力フィールドに入力されたカスタマイズプログラムを消去する際にクリック操作するものである。
【0093】
実行設定ボタンは、カスタマイズディレクトリに保存されたカスタマイズプログラムを複合機100で実行できるように、カスタマイズプログラムとカスタマイズプログラムを実行させるボタンを対応づける際にクリック操作するものである。この実行設定ボタンが押下されると、WEBアプリ117は、カスタマイズプログラム中で指定されたボタン(キー)を、カスタマイズディレクトリに存在する画面ファイル中のボタン(キー)からキーコードに基づいて検索し、カスタマイズプログラムとボタン(キー)との対応付けを行い、カスタマイズプログラムの名称とボタン(キー)のキーコードのキー対応付けテーブルを生成してHDD103またはフラッシュメモリなどに当該テーブルを格納する。
【0094】
テスト実行ボタンは、入力されたカスタマイズプログラムを試験的に実行し、オペレーションパネル910の操作表示部911に表示されるオペパネ画面を、PC200のWEBブラウザに表示させてカスタマイズプログラムの検証を行うためにクリック操作するものである。
【0095】
ここで、プログラミング画面のdebug.htmには、参照ボタン、アップロードボタン、保存ボタンおよび実行設定ボタンがクリック操作された場合に、WEBアプリ117にdebug.cgiの起動を行う旨の記述がなされている。また、プログラミング画面のdebug.htmには、テスト実行ボタンがクリック操作された場合に、WEBアプリ117にtestexe.cgiの起動を行う旨の記述がなされている。
【0096】
図5は、プログラム入力フィールドに入力されるカスタマイズプログラムの内容の一例を示す説明図である。図5に示すように、本実施の形態では、UNIX(登録商標)のシェルスクリプトを入力するようになっている。入力されたシェルスクリプトは、汎用OS121(UNIX(登録商標))のコマンド・インタプリタであるシェルによってステップごとに逐次実行され、このため、入力したカスタマイズプログラムのコンパイルおよびリンクは不要となっている。
【0097】
また、シェルスクリプトには、開発ライブラリで提供される複合機専用コマンドを指定できるようになっている。図5のスクリプトは、原稿をスキャナで読み込み(scanimage)、読み込み時にTIF形式に圧縮された画像データを伸長し(decomp)、伸長した画像データに対し文字認識処理を行う(ocr)。そして、文字認識処理による認識結果をテキストデータとしてメール送信(mail)する例を示している。このスクリプトの中では、scanimage、decomp、ocrの各コマンドが開発ライブラリで提供されるコマンドである。また、これらのコマンドの実行処理において、オペレーションパネル910の操作表示部911に画像を表示する場合には、OCS関数ライブラリに登録されている描画関数が内部的に呼び出されるようになっている。このため、図5に示すカスタマイズプログラムを実行した場合、各コマンドの実行の際に操作表示部911に各種パラメータの入力や実行結果の表示が行われるようになっている。
【0098】
PC200のWEBブラウザに表示されているプログラミング画面201(debug.htm)において、参照ボタンをクリックしてPC200に格納されているカスタマイズプログラムを指定し、あるいはプログラム入力フィールドに直接カスタマイズプログラムを入力し、アップロードボタンをクリック操作した場合、WEBブラウザから複合機100のWEBアプリ117に対しリクエストメッセージが送信される。このリクエストメッセージのメッセージボディにはdebug.htmが含められており、このdebug.htmには、アップロードボタンをクリック操作したときにdebug.cgiを呼び出す旨が記述されている。このためリクエストメッセージを受信して解析を行ったWEBアプリ117は、debug.cgiを実行する。
【0099】
ここで、リクエストメッセージを受信した複合機100における処理について説明する。図6は、リクエストメッセージを受信した複合機100における処理の手順を示すフローチャートである。
【0100】
httpd106は、ポート80番を常時監視しており、PC200からリクエストメッセージをポート80番で受信する(ステップS601)。そして、httpd106は、受信したリクエストメッセージを読み出し、リクエストメッセージを共有メモリ105に書き込む(ステップS602)。次に、httpd106は、リクエストメッセージ受信の旨をNCS128に通知する(ステップS603)。
【0101】
通知を受けたNCS128は、さらにリクエストメッセージ受信の旨をVAS118に通知する(ステップS604)。通知を受けたVAS118は、さらにリクエストメッセージ受信の旨をWEBアプリ117に通知する(ステップS605)。WEBアプリ117は、リクエストメッセージ受信の旨の通知を受けたことをトリガとして、共有メモリ105を参照して、リクエストメッセージを読み出す(ステップS606)。そして、リクエストメッセージの内容を解析して(ステップS607)、リクエストメッセージのメッセージボディに記述された内容に応じた処理を実行する(ステップS608)。このとき、メッセージボディにCGIを実行する旨が記述されていれば、対応するCGIを実行する。
【0102】
そして、WEBアプリ117は、処理の実行結果をレスポンスメッセージとして、httpd106経由でリクエストメッセージの送信元であるPC200に返信する(ステップS609)。
【0103】
なお、本実施の形態では、リクエストメッセージ受信の旨の通知を受けたNCS128は、VAS118に当該受信の旨を通知し、VAS118からWEBアプリ117にリクエストメッセージ受信の旨の通知を行っているが、NCS128からWEBアプリ117に直接リクエストメッセージ受信の旨の通知を行うように構成しても良い。
【0104】
次に、WEBアプリ117によるカスタマイズプログラムの試験実行処理について説明する。図7は、WEBアプリ117の試験実行部302によるカスタマイズプログラムの試験実行処理の手順を示すフローチャートである。試験実行部302は、PC200のWEBブラウザに表示されたプログラミング画面201において、利用者がテスト実行ボタンをクリック操作したときに、testexe.cgiがWEBアプリ117によって起動されることによって実行される。
【0105】
試験実行部302は、まず、現在オペレーションパネル910の操作表示部911に表示されている画面のオペパネ画像データを、HDD103に退避する(ステップS701)。そして、インタプリタ(シェル)134を呼び出して、debug.htmに含まれているカスタマイズプログラム(入力されたカスタマイズプログラム)をインタプリタ(シェル)134によって実行する(ステップS702)。インタプリタ134によるカスタマイズプログラムの実行が完了すると、試験実行部302は、HDD103に格納されたオペパネ画像データを復元する(ステップS703)。すなわち、試験実行部302は、OCS関数ライブラリの描画関数を呼び出すことにより、HDD103に退避されたオペパネ画像データが操作表示部911に表示されることになる。
【0106】
カスタマイズプログラムのインタプリタ(シェル)134による実行によって、オペレーションパネル910の操作表示部911にオペパネ画像が表示される場合、そのオペパネ画像データは、操作表示部911の他、PC200のWEBブラウザにも表示される。この場合におけるオペパネ画像データのWEBブラウザへの表示処理およびWEBブラウザに表示されたオペパネ画像からの入力処理について説明する。
【0107】
図8は、オペパネ画像データのWEBブラウザへの表示処理およびWEBブラウザに表示されたオペパネ画像からの入力処理におけるデータの流れを示す説明図である。
【0108】
インタプリタ(シェル)134によってカスタマイズプログラムが実行され、カスタマイズプログラムの中からOCS関数ライブラリの描画関数呼び出しが行われたとき(ステップS801)、OCS126(関数ライブラリ)経由でオペレーションパネル910の操作表示部911にオペパネ画像が描画される(ステップS802)。この後、NCS128は、特定のsocketから操作表示部911に表示されたオペパネ画像データを取り出し(ステップS803)、httpd106に受け渡して(ステップS804)、httpd106は、オペパネ画像データをインターネット220に接続されたPC200に送信し、PC200のWEBブラウザに表示させる(ステップS805)。これによって、オペレーションパネル910の操作表示部911に表示されたオペパネ画像と同じオペパネ画像データがPC200のWEBブラウザに表示される。
【0109】
図9(a)および(b)は、PC200のWEBブラウザに表示されたオペパネ画像データの一例を示す説明図である。図9(a)は、オペパネ画像データとして、ボタン表示がなされている例を示し、図9(b)は、ソフトキーボードが表示されている例(但し各キーの表示は省略)を示す。
【0110】
図9(a)および図9(b)に示すオペパネ画像データは、いずれもhtml形式のファイルであり、各ボタンおよび各キーをクリック操作すると、各キーおよび各ボタンに固有のキーイベントとともにclick.cgiの起動のリクエストメッセージがWEBアプリ117に送信されるようにhtml形式で記述されている。
【0111】
各キーイベントは、実際のオペレーションパネル910の操作表示部911に表示されたボタンまたはキーをタッチ操作したときに発生するキーイベントに対応付けられている。具体的には、WEBブラウザ上におけるボタンまやはキーのクリック操作によるキーイベントと操作表示部911上における該当ボタンまたはキーのタッチ操作によるキーイベントは同一のものとなっている。
【0112】
利用者がPC200上で、図9(a)または(b)に示すようなWEBブラウザに表示されているオペパネ画像データからボタンまたはキーのクリック操作を行った場合、クリック操作を行ったボタンまたはキーのキーイベントとclick.cgiの起動要求をメッセージボディに含むリクエストメッセージが複合機100に送信される(ステップS806)。
【0113】
複合機100では、httpd106によってPC200からリクエストメッセージをポート80番で受信し、受信したリクエストメッセージを読み出し、リクエストメッセージを共有メモリ105に書き込む(ステップS807)。また、httpd106は、リクエストメッセージ受信の旨をNCS128に通知する(ステップS808)。
【0114】
通知を受けたNCS128は、前述のように、リクエストメッセージ受信の旨をVAS118に通知し(ステップS809)、通知を受けたVAS118は、さらにリクエストメッセージ受信の旨をWEBアプリ117に通知する(ステップS810)。WEBアプリ117は、リクエストメッセージ受信の旨の通知を受けると、共有メモリ105を参照して、リクエストメッセージを読み込み(ステップS811)、メッセージボディの内容を解析して、click.cgiを起動しする。click.cgiでは、メッセージボディの中からキーイベントを取得して、取得したキーイベントをOCS126にメッセージ送信する処理を行う(ステップS812)。OCS126は、キーイベントのメッセージを受信して、SCS122に送信する(ステップS813)。SCS122は、受信したキーイベントをカスタマイズプログラムを実行中のインタプリタ(シェル)134に受け渡す(ステップS814)。このキーイベントのOCS126からSCS122、インタプリタ(シェル)134への送信の一連の処理は、オペレーションパネル910の操作表示部911からのタッチ操作によるキーイベントをOCS126が取得した後の処理と同様である。すなわち、実際の複合機100でカスタマイズプログラムが動作した場合に操作表示部911に表示されるオペパネ画像に対するタッチ操作に対する処理と同様の処理を、PC200のWEBブラウザからのカスタマイズプログラムのテスト実行によってブラウザに表示されたオペパネ画像に対するクリック操作によって実現することができる。
【0115】
なお、本実施の形態では、WEBブラウザ上におけるボタンまたはキーのクリック操作によるキーイベントと操作表示部911上における該当ボタンまたはキーのタッチ操作によるキーイベントを同一のイベントとしているが、両イベントを異なるものとして、両イベントをテーブル情報などによって予め対応付けておき、イベント処理部303によって、WEBブラウザ上でのクリック操作によるキーイベントを受けたときに、当該テーブル情報を参照して、対応する操作表示部911上でのタッチ操作によるキーイベントに変換するように構成しても良い。
【0116】
以上、プログラミング画面201において、プログラム入力フィールドに入力されたカスタマイズプログラムのテスト実行の処理について説明したが、次にこのカスタマイズプログラムの入力処理について説明する。
【0117】
PC200のWEBブラウザに表示されているプログラミング画面201(debug.htm)において、参照ボタンをクリックしてPC200に格納されているカスタマイズプログラムを指定し、あるいはプログラム入力フィールドに直接カスタマイズプログラムを入力し、アップロードボタンをクリック操作した場合、WEBブラウザから複合機100のWEBアプリ117に対しリクエストメッセージが送信される。このリクエストメッセージのメッセージボディにはdebug.htmが含められており、このdebug.htmには、アップロードボタンをクリック操作したときにdebug.cgiを呼び出す旨が記述されている。このためリクエストメッセージを受信して解析を行ったWEBアプリ117は、プログラム入力部301によって、debug.cgiを実行してカスタマイズプログラム入力処理を行う。
【0118】
図10は、WEBアプリ117のプログラム入力部301によるカスタマイズプログラム入力処理(debug.cgiの処理)の手順を示すフローチャートである。WEBアプリ117のプログラム入力部301は、指定されたカスタマイズプログラムのプログラムファイルを複合機100にアップロードする。あるいは受信したリクエストメッセージの中のdebug.htmのプログラム入力フィールドに直接入力されたカスタマイズプログラムをプログラムファイルにした後、このプログラムファイルを複合機100にアップロードする(ステップS1001)。
【0119】
次に、プログラム入力部301は、debug.htmを先頭から一行づつ読み込む(ステップS1002)。そして、読み込んだ行が「program_list:」の文字列を含むか否かを調べることにより、プログラム入力フィールドか否かを判断する(ステップS1003)。
【0120】
そして、プログラム入力フィールドであると判断した場合には、アップロードされたプログラムファイルを読み込んで(ステップS1004)、プログラムファイルの内容、すなわちカスタマイズプログラムをPC200に送信する(ステップS1005)。
【0121】
一方、ステップS1003において、プログラム入力フィールドでないと判断した場合には、ステップS1002で読み込んだ一行をそのままPC200に送信する(ステップS1006)。
【0122】
そして、ステップS1002からS1006までの処理を、debug.htmのすべての行について繰り返し行う(ステップS1007)。これにより、PC200のWEBブラウザには、debug.cgiによる処理結果のdebug.htmが順次表示されることになる。
【0123】
このようにプログラミング画面201から入力されたカスタマイズプログラムが複合機100にアップロードされ、プログラム入力フィールドにアップロード後のカスタマイズプログラムが表示された後、上述した保存ボタン、実行設定ボタン、テスト実行ボタンのクリック操作が可能となる。
【0124】
次に、本実施の形態の複合機100のハードウェア構成について説明する。図11は、図2に示した実施の形態1の複合機100のハードウェア構成図である。図11に示すように、この複合機100は、CPU902、SDRAM903、SRAM908、フラッシュメモリ(フラッシュROM)210、ICカードインタフェース部230およびHDD103などをASIC901に接続したコントローラボード900と、オペレーションパネル910と、ファックスコントロールユニット(FCU)920と、USB930と、IEEE1394 940と、プリンタ950とから構成されている。オペレーションパネル910はASIC901に直接接続され、FCU920、USB930、IEEE1394 940およびプリンタ950はPCIバスを介してASIC901に接続されている。
【0125】
ICカードインタフェース部230は、ICカード240を挿入して、ICカード240とデータのやりとりを行うインタフェースである。ICカード240は、インストール記憶媒体として使用することもでき、この場合には開発された外部アプリをICカード240に格納する。
【0126】
このように実施の形態1にかかる複合機100では、WEBアプリ117の試験実行部302によって、インターネットに接続されたPC200からの要求により、複合機100の操作表示部911のカスタマイズプログラムを実行し、その実行に伴って操作表示部911に出力されるオペパネ画像データをPC200のWEBブラウザに順次表示しているので、PC200からの容易な操作でカスタマイズプログラムのデバッグ作業を行うことができ、カスタマイズプログラムの開発を効率的に行える。この結果、複合機100に多種多様な機能を容易に実現させることができる。
【0127】
(実施の形態2)
実施の形態1にかかる複合機100では、カスタマイズプログラムのカスタマイズプログラムの入力処理および試験実行処理をアプリケーション層に設けたWEBアプリ117によって実現していたが、この実施の形態2にかかる複合機は、カスタマイズプログラムの入力処理および試験実行処理をコントロールサービス層に設けたプログラミングサービスによって実現するものである。
【0128】
図12は、実施の形態2にかかる複合機1200の機能的構成を示すブロック図である。本実施の形態の複合機1200は、実施の形態1の複合機100と異なり、WEBアプリ117の代わりにプログラミングサービス133をコントロールサービス層に設けており、その他の構成は実施の形態1の複合機100と同様である。
【0129】
プログラミングサービス133は、実施の形態1のWEBアプリ117と同様に、インターネット220に接続されたクライアント端末としてのPC200に対してWEBサーバ(httpサーバ)として動作し、PC200上で動作するWEBブラウザに後述するプログラミング画面201を表示し、このプログラミング画面201からオペレーションパネル910の操作表示部911のカスタマイズプログラムを入力させるものである。また、プログラミングサービス133は、PC200から入力されたカスタマイズプログラムをHDD103のカスタマイズ領域として作成されたカスタマイズディレクトリに保存する。さらに、プログラミングサービス133は、複合機1200上でカスタマイズプログラムが実行されるように、起動設定ファイルにカスタマイズプログラムを登録する。また、プログラミングサービス133は、PC200のプログラミング画面201からの指示により、複合機1200上でカスタマイズプログラムを動作確認のために試験実行し、その実行の際に操作表示部911に表示されるオペパネ画像データをPC200のWEBブラウザに表示する。
【0130】
プログラミングサービス133によるPC200からのカスタマイズプログラムの入力および試験実行の具体的な処理は、実施の形態1のWEBアプリ117と同様の処理が行われる。
【0131】
このように実施の形態2にかかる複合機1200では、コントロールサービスとして搭載されたプログラミングサービス133によって、カスタマイズプログラムの入力処理とテスト実行処理を行っているので、プログラミングサービスはネットワーク上のクライアント端末のサーバプロセスとして動作するだけでなく、複合機1200に搭載されたアプリケーション130をクライアントとしたサーバプロセスとしても動作することになり、複合機1200にさらなる多種多様な機能を実現させることができる。
【0132】
なお、実施の形態1および2にかかる複合機100、1200では、インターネット220に接続されたクライアント端末としてのPC200の要求により、カスタマイズプログラムのテスト実行処理を行っているが、インターネット以外のネットワーク、例えばLANなどに接続されたクライアント端末からの要求によりテスト実行を行うように構成することも可能である。また、通信プロトコルとしては、TCP/IP以外のプロトコルを利用しても良い。
【0133】
また、実施の形態1および2にかかる複合機100、1200では、オペレーションパネル910の操作表示部911のカスタマイズプログラムのテスト実行の処理を行っているが、複合機100、1200で動作するプログラムであって、かつ操作表示部911に画像を出力するプログラムであればいずれのコンポーネントのカスタマイズについても本発明を適用することができる。
【0134】
また、実施の形態1および2にかかる複合機100、1200では、カスタマイズプログラムとしてシェルスクリプトを利用しているが、この他、Visual Basic(登録商標)やJava(登録商標)言語を使用してもよい。この場合には、インタプリタは、汎用OS121に含めず、汎用OS121の配下で動作するように構成する必要がある。
【0135】
【発明の効果】
以上説明したように、請求項1にかかる発明によれば、クライアント端末からの容易な操作でカスタマイズプログラムのデバッグ作業を行うことができ、カスタマイズプログラムの開発を効率的に行って、容易に多種多様な機能を画像形成装置に実現させることができるという効果を奏する。
【0136】
また、請求項2にかかる発明によれば、クライアント端末からの操作および動作確認をWEBページを利用して容易に行うことができ、カスタマイズプログラムのデバッグ作業を効率的に行うことができるという効果を奏する。
【0137】
また、請求項3にかかる発明によれば、カスタマイズプログラムのコンパイル、リンクなしに動作確認を行え、クライアント端末からのデバッグ作業をより効率的に行うことができるという効果を奏する。
【0138】
また、請求項4にかかる発明によれば、クライアント端末からの容易な操作でオペレーションパネルの操作表示部用のカスタマイズプログラムをデバッグして動作確認を行え、カスタマイズを利用した操作表示部に関する機能のデバッグ作業を効率的に行うことができるという効果を奏する。
【0139】
また、請求項5にかかる発明によれば、試験実行手段のプログラム開発を効率的に行うことができるという効果を奏する。
【0140】
また、請求項6にかかる発明によれば、クライアント端末に表示されたオペパネ画像情報に対する入力操作による実行処理を、実際のオペレーションパネルの操作表示部からの入力操作の場合と同様に実現することができ、カスタマイズプログラムのデバッグ作業を正確に行うことができるという効果を奏する。
【0141】
また、請求項7にかかる発明によれば、クライアント端末に表示されたオペパネ画像情報に対する入力操作によるイベントの処理を、実際のオペレーションパネルの操作表示部から入力操作があった場合と同様に実現することができ、カスタマイズプログラムのデバッグ作業をより正確に行うことができるという効果を奏する。
【0142】
また、請求項8にかかる発明によれば、カスタマイズプログラムの入力も操作の容易なクライアント端末を利用してカスタマイズプログラムの開発およびデバッグ作業を効率的に行うことができるという効果を奏する。
【0143】
また、請求項9にかかる発明によれば、クライアント端末に対するWEBサーバとしての機能のみをWEBアプリに含め、ハードウェア資源に対するアクセスをコントロールサービスに委ねることができ、WEBアプリの開発を効率的に行うことができるという効果を奏する。
【0144】
また、請求項10にかかる発明によれば、プログラミングサービスはネットワーク上のクライアント端末のサーバプロセスとして動作するだけでなく、画像形成装置に搭載されたアプリケーションをクライアントとしたサーバプロセスとしても動作可能となり、アプリケーションに対して種々の機能を提供することにより、画像形成装置にさらなる多種多様な機能を実現させることができるという効果を奏する。
【0145】
また、請求項11にかかる発明によれば、クライアント端末からの容易な操作でカスタマイズプログラムのデバッグ作業を行うことができ、カスタマイズプログラムの開発を効率的に行って、容易に多種多様な機能を画像形成装置に実現させることができるという効果を奏する。
【0146】
また、請求項12にかかる発明によれば、クライアント端末からの操作および動作確認をWEBページを利用して容易に行うことができ、カスタマイズプログラムのデバッグ作業を効率的に行うことができるという効果を奏する。
【0147】
また、請求項13にかかる発明によれば、カスタマイズプログラムのコンパイル、リンクなしに動作確認を行え、クライアント端末からのデバッグ作業をより効率的に行うことができるという効果を奏する。
【0148】
また、請求項14にかかる発明によれば、クライアント端末からの容易な操作でオペレーションパネルの操作表示部用のカスタマイズプログラムをデバッグして動作確認を行え、カスタマイズを利用した操作表示部に関する機能のデバッグ作業を効率的に行うことができるという効果を奏する。
【0149】
また、請求項15にかかる発明によれば、クライアント端末に表示されたオペパネ画像情報に対する入力操作による実行処理を、実際のオペレーションパネルの操作表示部からの入力操作の場合と同様に実現することができ、カスタマイズプログラムのデバッグ作業を正確に行うことができるという効果を奏する。
【0150】
また、請求項16にかかる発明によれば、クライアント端末に表示されたオペパネ画像情報に対する入力操作によるイベントの処理を、実際のオペレーションパネルの操作表示部から入力操作があった場合と同様に実現することができ、カスタマイズプログラムのデバッグ作業をより正確に行うことができるという効果を奏する。
【0151】
また、請求項17にかかる発明によれば、カスタマイズプログラムの入力も操作の容易なクライアント端末を利用してカスタマイズプログラムの開発およびデバッグ作業を効率的に行うことができるという効果を奏する。
【図面の簡単な説明】
【図1】実施の形態1にかかる複合機の主要構成およびネットワーク構成を示すブロック図である。
【図2】実施の形態1の複合機の機能的構成を示すブロック図である。
【図3】WEBアプリの機能的構成を示すブロック図である。
【図4】プログラミング画面の内容の一例を示す説明図である。
【図5】プログラム入力フィールドに入力されるカスタマイズプログラムの内容の一例を示す説明図である。
【図6】リクエストメッセージを受信した複合機における処理の手順を示すフローチャートである。
【図7】WEBアプリの試験実行部によるカスタマイズプログラムの試験実行処理の手順を示すフローチャートである。
【図8】オペパネ画像データのWEBブラウザへの表示処理およびWEBブラウザに表示されたオペパネ画像からの入力処理におけるデータの流れを示す説明図である。
【図9】図9(a)は、PCのWEBブラウザに表示されたオペパネ画像データのボタン表示がなされている例を示す説明図であり、図9(b)は、オペパネ画像データのソフトキーボード表示がなされている例を示す説明図である。
【図10】WEBアプリのプログラム入力部によるカスタマイズプログラム入力処理の手順を示すフローチャートである。
【図11】実施の形態1の複合機のハードウェア構成図である。
【図12】実施の形態2にかかる複合機の機能的構成を示すブロック図である。
【符号の説明】
100,1200 複合機
101 白黒レーザプリンタ
102 カラーレーザプリンタ
103 HDD
105 共有メモリ
106 httpd
104 ハードウェアリソース
110 ソフトウェア群
111 プリンタアプリ
112 コピーアプリ
113 ファックスアプリ
114 スキャナアプリ
115 ネットファイルアプリ
116 工程検査アプリ
117 WEBアプリ
118 VAS
120 プラットホーム
121 汎用OS
122 SCS
123 SRM
124 ECS
125 MCS
126 OCS
127 FCS
128 NCS
129 複合機初期化部
130 アプリケーション
131 プログラム起動部
133 プログラミングサービス
134 インタプリタ(シェル)
135 カーネル
200 PC
201 プログラミング画面
210 フラッシュメモリ(フラッシュROM)
212 カスタマイズ領域(カスタマイズディレクトリ)
220 インターネット
230 ICカードインタフェース部
240 ICカード
301 プログラム入力部
302 試験実行部
303 イベント処理部
900 コントローラボード
901 ASIC
902 CPU
903 SDRAM(RAM)
908 SRAM
910 オペレーションパネル
911 操作表示部
930 USB
940 IEEE1394
950 プリンタ
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention provides an image forming apparatus capable of providing a user service related to image forming processing such as copying, a printer, a scanner, and a facsimile, and performing debugging of a customization program via a WEB from a client terminal connected to the Internet. It relates to a test method for a customized program.
[0002]
[Prior art]
2. Description of the Related Art In recent years, an image forming apparatus (hereinafter, referred to as a “multifunction peripheral”) in which functions of respective apparatuses such as a printer, a copier, a facsimile, and a scanner are housed in one housing has been known. This multifunction peripheral is provided with a display unit, a printing unit, an imaging unit, and the like in a single housing, and is provided with three types of software corresponding to a printer, a copying machine, and a facsimile machine, and by switching these softwares, Is operated as a printer, copier, scanner or facsimile machine.
[0003]
In such a conventional multifunction peripheral, it is not assumed that a third party such as a third vendor develops and installs a new application program or customizes an application program operating on the multifunction peripheral after the multifunction peripheral is shipped. .
[0004]
Although a conventional multifunction peripheral can be connected to a network, the multifunction peripheral utilizes a network function using a management server such as a printer server, and the multifunction peripheral itself is similar to a PC (Personal Computer) or the like. It does not directly enable various network functions.
[0005]
[Problems to be solved by the invention]
By the way, in such a conventional multifunction peripheral, software corresponding to a printer, a copier, a scanner, and a facsimile machine is separately provided, and therefore, it takes a lot of time to develop each software. For this reason, the applicant has an application that has hardware resources used in image forming processing such as a display unit, a printing unit, and an imaging unit and performs processing specific to each user service such as a printer, a copy or a facsimile. When providing a user service by interposing between a plurality of applications and hardware resources, management, execution control, and image forming processing of hardware resources required by at least two of the applications in common Invented an image forming apparatus (multifunction peripheral) equipped with a platform composed of various control services for performing the following.
[0006]
In such a new multifunction peripheral, an application and a control service for performing difficult processing such as accessing hardware resources are separately provided. The configuration is such that a vendor develops a new external application as an application related to image forming processing and the like and can be mounted on the multifunction peripheral.
[0007]
For this reason, in a new MFP, an external application with new functions is developed, the external application is installed in the MFP, or the existing functions installed from the beginning of shipment are customized, and the customization program is created. The need to debug arises.
[0008]
Here, the multifunction peripheral is provided with an operation display section of an operation panel as an interface for displaying various screens for a user and for inputting an operation to the multifunction peripheral system. However, the operation display unit of the operation panel has a very small screen size unlike a display device such as a display screen of a computer such as a PC. In addition, the user can perform input operations from the operation display unit by drawing various buttons on the operation display unit or displaying a software keyboard. For example, there is a limit to the free input operation.
[0009]
As described above, the new multifunction peripheral has a new problem that the customization program needs to be debugged by an easy operation, which is not a problem in the conventional multifunction peripheral.
[0010]
SUMMARY OF THE INVENTION The present invention has been made in view of the above, and an object of the present invention is to provide an image forming apparatus and a customization program testing method capable of efficiently performing a debugging operation of a customization program.
[0011]
[Means for Solving the Problems]
In order to achieve the above object, the invention according to claim 1 includes a hardware resource used in the image forming process, an application that performs a process specific to a user service related to the image forming process, the application and the hardware. A control service that intervenes between the resources and provides the user service, a request for acquiring the hardware resources required by at least two applications in common, management, execution control, and image forming processing; An image forming apparatus comprising: an operation panel having an operation display unit for performing a screen display and an operation input, wherein the image forming apparatus executes a customization program for a program operating on the image forming apparatus in response to a request from a client terminal connected to a network. , Execution of the customization program The operation panel image information output to the operation display unit with, characterized by comprising a test execution unit to be displayed on the client terminal.
[0012]
According to the first aspect of the present invention, the test execution unit executes a customization program for a program operating on the image forming apparatus in response to a request from a client terminal connected to the network, and executes the customization program on the operation panel in accordance with the execution. By displaying the operation panel image information output to the operation display unit on the client terminal, debugging of the customization program can be performed with easy operation from the client terminal. Various functions can be realized by the image forming apparatus.
[0013]
Further, according to a second aspect of the present invention, in the image forming apparatus according to the first aspect, the test execution unit sends the execution request of the customization program via a web page displayed on a client terminal connected to the Internet. Receiving and displaying the operation panel image information on a web page displayed on the client terminal.
[0014]
According to the second aspect of the present invention, the test execution unit receives the execution request of the customization program via the WEB page displayed on the client terminal connected to the Internet, and displays the operation panel image information on the WEB page. Thus, the operation and the operation check from the client terminal can be easily performed using the WEB page, and the debug work of the customized program can be efficiently performed.
[0015]
Further, according to a third aspect of the present invention, in the image forming apparatus according to the first or second aspect, the image forming apparatus further includes a program execution unit that sequentially executes the customization program for each step, and the test execution unit includes the program execution unit. And executes a customization program described in an interpreter language.
[0016]
According to the third aspect of the present invention, the test execution means calls the program execution means for sequentially executing the customization program for each step, and executes the customization program described in the interpreter language, thereby compiling the customization program. Since the operation can be confirmed without a link, debugging work from the client terminal can be performed more efficiently.
[0017]
According to a fourth aspect of the present invention, in the image forming apparatus according to any one of the first to third aspects, the test execution unit executes a customization program that describes an execution process for an input from the operation display unit. It is characterized by executing.
[0018]
According to the fourth aspect of the present invention, the test execution unit executes the customization program describing the execution process for the input from the operation display unit, so that the operation display unit of the operation panel can be easily operated from the client terminal. Since the operation check can be performed by debugging the customization program for use, it is possible to efficiently perform the debugging work of the function related to the operation display unit using the customization.
[0019]
According to a fifth aspect of the present invention, in the image forming apparatus according to any one of the first to fourth aspects, the image forming apparatus further includes a network control service mounted as the control service and controlling a network. The service is characterized by acquiring operation panel image information output to the operation display unit, and transmitting the acquired operation panel image information to the client terminal.
[0020]
According to the fifth aspect of the present invention, since the operation panel image information output to the operation display unit is acquired and transmitted to the client terminal by the network control service instead of the test execution unit, the test execution unit is operated by the operation panel image. It is not necessary to perform the transmission process, and the program of the test execution means can be efficiently developed.
[0021]
According to a sixth aspect of the present invention, in the image forming apparatus according to any one of the first to fifth aspects, the event information is obtained by performing an input operation on the operation panel image information displayed on the client terminal, Event processing means for notifying the application or the control service of an input event from the operation display unit corresponding to the acquired input event.
[0022]
According to the invention of claim 6, the event processing means acquires the event information by the input operation on the operation panel image information displayed on the client terminal, and the input event from the operation display unit corresponding to the event information is acquired. By notifying the application or the control service, the execution process by the input operation on the operation panel image information displayed on the client terminal can be realized in the same manner as the input operation from the operation display unit of the actual operation panel, Debugging of the customized program can be performed accurately.
[0023]
According to a seventh aspect of the present invention, in the image forming apparatus according to the sixth aspect, the application or the control is installed as the control service, and acquires an input event by an input from an operation display unit of the operation panel. An operation control service for notifying a service is further provided, and the event processing means notifies the operation control service of an input event from the operation display unit corresponding to the acquired event information.
[0024]
According to the invention according to claim 7, the event processing means notifies an operation panel control service of an input event from the operation display unit corresponding to the event information acquired as an input operation to the operation panel image information, and By notifying the application or control service of the input event by the service, the event processing by the input operation on the operation panel image information displayed on the client terminal is the same as when the input operation is performed from the operation display section of the actual operation panel Debugging of the customization program can be performed more accurately.
[0025]
The invention according to claim 8 is the image forming apparatus according to any one of claims 1 to 7, further comprising a program input unit for inputting the customization program from the client terminal via a web page. It is characterized by having.
[0026]
According to the eighth aspect of the present invention, the customization program is input from the client terminal via the web page by the program input means, so that the input of the customization program can be easily performed using the client terminal. Development and debug work can be performed efficiently.
[0027]
According to a ninth aspect of the present invention, in the image forming apparatus according to any one of the first to eighth aspects, the test execution unit is a web application installed as the application.
[0028]
According to the ninth aspect of the present invention, since the test execution means is a web application installed as an application, only the function as a web server for the client terminal is included in the web application, and access to hardware resources is provided to the control service. It can be entrusted, and the development of the web application can be performed efficiently.
[0029]
According to a tenth aspect of the present invention, in the image forming apparatus according to any one of the first to eighth aspects, the test execution unit is a programming service installed as the control service. .
[0030]
According to the tenth aspect of the present invention, since the test execution means is a programming service mounted as a control service, the programming service operates not only as a server process of a client terminal on a network but also mounted on an image forming apparatus. Also, the image forming apparatus can operate as a server process using the application as a client, and by providing various functions to the application, the image forming apparatus can realize various other functions.
[0031]
Further, according to the present invention, a hardware resource used in the image forming process, an application that performs a process specific to a user service related to the image forming process, and a hardware resource between the application and the hardware resource A control service for intervening and providing the hardware resources required by at least two of the applications in common when providing the user service, management, execution control, and image forming processing; screen display and operation input A customization program testing method for verifying a customization program of a program that operates on an image forming apparatus having an operation panel having an operation display unit, the method being performed by a request from a client terminal connected to a network. A working program The running customized program, an operation panel image information output to the operation display unit along with the execution of the customized programs, characterized in that it comprises a test execution step to be displayed on the client terminal.
[0032]
According to the eleventh aspect of the present invention, in the test execution step, a customization program for a program operating on the image forming apparatus is executed in response to a request from a client terminal connected to the network, and the execution of the operation panel is performed in accordance with the execution. By displaying the operation panel image information output to the operation display unit on the client terminal, debugging of the customization program can be performed with easy operation from the client terminal. Various functions can be realized by the image forming apparatus.
[0033]
According to a twelfth aspect of the present invention, in the customization program test method according to the eleventh aspect, the test execution step includes a request to execute the customization program via a web page displayed on a client terminal connected to the Internet. And displaying the operation panel image information on a web page displayed on the client terminal.
[0034]
According to the twelfth aspect of the present invention, in the test execution step, the execution request of the customization program is received via the WEB page displayed on the client terminal connected to the Internet, and the operation panel image information is displayed on the WEB page. Thus, the operation and the operation check from the client terminal can be easily performed using the WEB page, and the debug work of the customized program can be efficiently performed.
[0035]
According to a thirteenth aspect of the present invention, in the customization program testing method according to the eleventh or twelfth aspect, the test execution step sequentially executes a customization program described in an interpreter language for each step. .
[0036]
According to the thirteenth aspect, the test execution step sequentially executes the customization program described in the interpreter language for each step, so that the operation can be checked without compiling and linking the customization program. Debugging can be performed more efficiently.
[0037]
According to a fourteenth aspect of the present invention, in the customization program testing method according to any one of the eleventh to thirteenth aspects, the test execution step includes a customization program that describes an execution process for an input from the operation display unit. Is performed.
[0038]
According to the fourteenth aspect of the present invention, the test execution step executes the customization program describing the execution processing for the input from the operation display unit, so that the operation display unit of the operation panel can be easily operated from the client terminal. Since the operation check can be performed by debugging the customization program for use, it is possible to efficiently perform the debugging work of the function related to the operation display unit using the customization.
[0039]
According to a fifteenth aspect of the present invention, in the customization program testing method according to any one of the eleventh to fourteenth aspects, the event information is obtained by performing an input operation on the operation panel image information displayed on the client terminal. And an event processing step of notifying the application or the control service of an input event from the operation display unit corresponding to the acquired event information.
[0040]
According to the invention of claim 15, in the event processing step, the event information by the input operation on the operation panel image information displayed on the client terminal is acquired, and the input event from the operation display unit corresponding to the event information is acquired. By notifying the application or the control service, the execution process by the input operation on the operation panel image information displayed on the client terminal can be realized in the same manner as the input operation from the operation display unit of the actual operation panel, Debugging of the customized program can be performed accurately.
[0041]
According to a sixteenth aspect of the present invention, in the customization program testing method according to the fifteenth aspect, the event processing step includes, as the control service, an input event from the operation display unit corresponding to the acquired event information. It is installed, and acquires an input event by an input from an operation display unit of the operation panel, and notifies an operation panel control service that notifies the application or the control service.
[0042]
According to the invention according to claim 16, the event processing step notifies an operation panel control service of an input event from the operation display unit corresponding to the event information acquired as an input operation on the operation panel image information, and By notifying the application or control service of the input event by the service, the event processing by the input operation on the operation panel image information displayed on the client terminal is the same as when the input operation is performed from the operation display section of the actual operation panel Debugging of the customization program can be performed more accurately.
[0043]
According to a seventeenth aspect of the present invention, in the customization program testing method according to any one of the eleventh to sixteenth aspects, a program input step of inputting the customization program from the client terminal via a web page is further included. It is characterized by including.
[0044]
According to the seventeenth aspect of the invention, in the program input step, the customization program is input from the client terminal via the WEB page, so that the input of the customization program can be easily performed using the client terminal which is easy to operate. Development and debug work can be performed efficiently.
[0045]
BEST MODE FOR CARRYING OUT THE INVENTION
Exemplary embodiments of the present invention will be described in detail below with reference to the accompanying drawings.
[0046]
(Embodiment 1)
In the multifunction peripheral according to the first embodiment, customization of a program operating on the multifunction peripheral is performed from a PC connected to the Internet using a web application, and debugging of the program is performed from the PC.
[0047]
FIG. 1 is a block diagram illustrating a main configuration and a network configuration of the multifunction peripheral according to the first embodiment. As shown in FIG. 1, in the present embodiment, a multifunction peripheral 100 and a personal computer (PC) 200 are connected to the Internet 220. The communication protocol between the multifunction peripheral 100 and the PC 200 uses TCP / IP.
[0048]
As illustrated in FIG. 1, the multifunction peripheral 100 includes a web application 117, a virtual application service (VAS) 118, an NCS 128, an OCS 126, an SCS 122, an httpd 106, a multifunction peripheral initialization unit 129, The configuration mainly includes a program starting unit 131, an interpreter (shell) 134 in the general-purpose OS 121, the shared memory 105, and the HDD 103. Here, the shell 134 constitutes a program execution unit in the present invention.
[0049]
The web application 117 operates as a web server (http server) for the PC 200 serving as a client terminal connected to the Internet 220, and displays a later-described programming screen 201 on a web browser operating on the PC 200. The user inputs a customization program of the operation display unit 911 of the operation panel 910 from the user. Further, the web application 117 stores the customization program input from the PC 200 in the customization directory 212 created as a customization area of the HDD 103. Further, the web application 117 registers the customization program in the startup setting file so that the customization program is executed on the MFP 100. In addition, the web application 117 executes a test on the multifunction device 100 to check the operation of the customization program in accordance with an instruction from the programming screen 201 of the PC 200, and displays the operation panel image data displayed on the operation display unit 911 during the execution. Is displayed on the Web browser of the PC 200.
[0050]
Here, the programming screen 201 is a file (debug.htm) that constitutes a WEB page according to the present invention and is described in html format (Hyper Text Markup Language). When the file is displayed on the PC 200 by the web browser, the programming screen 201 is displayed on the PC 200.
[0051]
Further, the WEB application 117 executes a process related to an operation input from the programming screen (debug.htm) and a customization program input according to a request and a test execution process of the customization program by a CGI script (Common Gateway Interface). The processing result is reflected on the programming screen (debug.htm) and returned to the Web browser of the PC 200. Specifically, when there is a request for a process related to input of a customization program (eg, a button click operation), the web application 117 issues debug. cgi script, and if there is a request for a test execution process (button click operation), testex. Execute the cgi script. Further, when a click operation is performed on a button, a key, or the like on the operation panel screen displayed on the WEB browser by executing the test, click. The cgi script is executed.
[0052]
In the present embodiment, each processing by the web application 117 is executed by executing the CGI script, but may be executed by another program called from the CGI script. Further, the programming screen can be configured to be described in an XML format (extensible Markup Language).
[0053]
The customization program input from the programming screen 201 is described in a language that can be interpreted by an interpreter. Specifically, when the general-purpose OS is UNIX (registered trademark), it is a shell script or the like.
[0054]
The VAS 118 is arranged between the control service and the application, and mediates access from the application to the control service or access from the control service to the application. The VAS 118 also notifies the web application 117 that the request message received from the NCS 128 via the Internet 220 has been received.
[0055]
The NCS 128 controls the network, and also notifies the VAS 118 that the request message notified from the httpd 106 has been received. Also, the NSC 128 obtains the operation panel image data displayed on the operation display unit 911 of the operation panel 910 by executing the test of the customization program via the OCS 126, transfers the obtained operation panel image data to the httpd 106, and transfers the obtained operation panel image data to the PC 200 via the Internet. Also, a process of displaying (transmitting) on the WEB browser is performed.
[0056]
The OCS 126 controls screen display on the operation panel 910 and accepts operation input. The OCS 126 includes an OCS drawing function library for displaying operation panel image data on the operation display unit 911 of the operation panel 910, and an operation display unit 911 or a hard key From the OCS process for acquiring the key event from the SCS 122 and transmitting the acquired key event to the SCS 122.
[0057]
The SCS 122 controls the system of the multifunction peripheral 100 and displays a system screen on the operation display unit 911 of the operation panel 910. Further, the SCS 122 performs a process of receiving a key event from the operation display unit 911 from the OCS 126 and transmitting the received key event to an application or a control service.
[0058]
The httpd 106 is a process (daemon) included in the OS and constantly monitors port 80 to receive a request message and transmit a response message. The structure of the request message and the response message is the same as the structure of each message in the normal http protocol, and each message includes a message body described in the html format. Also, the httpd 106 notifies the NCS 128 that the request message received via the Internet 220 has been received, and stores the request message in the shared memory 105.
[0059]
The shared memory 105 is used for inter-process communication between the httpd 106 and the web application 117, and exchanges a request message, a response message, and the like via the shared memory 105.
[0060]
The interpreter 134 analyzes the customization program for each step and sequentially executes the customization program. In the present embodiment, the interpreter 134 is a shell (bsh, csh, etc.) for executing a shell script. The shell 134 exists separately from the OS kernel 135 in UNIX (registered trademark) as the general-purpose OS 121.
[0061]
The program launching unit 131 launches an external application installed in the HDD 103 when the diagnosis result of the HDD 103 is normal. Further, the program activation unit 131 activates an external application stored in a storage medium such as an IC card.
[0062]
The multifunction peripheral initialization unit 129 is a process started first on the general-purpose OS 121, and starts the control service and the application 130 (excluding external applications) and starts the program start unit 131.
[0063]
The customization program is stored in the customization directory 212 of the HDD 103.
[0064]
The PC 200 is a client terminal that uses the WEB application 117 of the multifunction peripheral 100 as a server and receives services provided from the WEB application 117. The PC 200 displays the programming screen 201 and other screens on a WEB browser executed by the PC 200, and performs operation input. It is supposed to do.
[0065]
Next, an overall functional configuration of the multifunction peripheral 100 according to the present embodiment will be described. FIG. 2 is a block diagram illustrating a configuration of the multifunction peripheral 100 according to the first embodiment. As shown in FIG. 1, the multifunction peripheral 100 includes a black-and-white laser printer (B & W LP) 101, a color laser printer (Color LP) 102, a hard disk drive (HDD) 103, a scanner, a facsimile, a memory, and a network interface. It has a hardware resource 104 and a software group 110 composed of a platform 120 and an application 130.
[0066]
The platform 120 interprets a processing request from an application to generate a hardware resource acquisition request, and a system resource manager that manages one or more hardware resources and arbitrates the acquisition request from the control service. (SRM) 123 and a general-purpose OS 121.
[0067]
The control service is formed from a plurality of service modules, and includes an SCS (system control service) 122, an ECS (engine control service) 124, an MCS (memory control service) 125, an OCS (operation panel control service) 126, and an FCS. (Fax control service) 127 and NCS (network control service) 128. The platform 120 has an application program interface (API) that enables a processing request to be received from the application 130 by a predefined function.
[0068]
The general-purpose OS 121 is a general-purpose operating system such as UNIX (registered trademark), and executes each software of the platform 120 and the application 130 in parallel as a process.
[0069]
The process of the SRM 123, together with the SCS 122, controls the system and manages resources. The process of the SRM 123 uses hardware resources such as an engine such as a scanner unit and a printer unit, a memory, an HDD file, and a host I / O (centro I / F, network I / F, IEEE1394 I / F, RS232C I / F, etc.). Arbitration is performed according to a request from the upper layer to be used, and execution is controlled.
[0070]
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. Inform the upper layer that it is possible. The SRM 123 also schedules use of hardware resources in response to a request from an upper layer, and directly implements the contents of the request (for example, paper transport and image forming operation, memory reservation, file generation, and the like by a printer engine). .
[0071]
The process of the SCS 122 performs application management, operation unit control, system screen display, LED display, resource management, interrupt application control, and the like.
[0072]
The process of the ECS 124 controls an engine of a hardware resource 104 including a black-and-white laser printer (B & W LP) 101, a color laser printer (Color LP) 102, a scanner, a facsimile, and the like.
[0073]
The process of the MCS 125 performs acquisition and release of an image memory, use of a hard disk device (HDD), compression and decompression of image data, and the like.
[0074]
The process of the FCS 127 includes facsimile transmission / reception using PSTN / ISDN from each application layer of the system controller, registration / quotation of various facsimile data managed by a BKM (backup SRAM), facsimile reading, facsimile reception printing, fusion transmission / reception. Provides an API to do so.
[0075]
The process of the NCS 128 is a process for providing a service that can be used in common to applications requiring network I / O, and distributes data received from the network according to each protocol to each application, or distributes data from the application to the data. Mediation when sending to the network side.
[0076]
The process of the OCS 126 controls an operation panel (operation panel) 910 serving as information transmission means between the operator (user) and the main body control. The OCS 126 obtains a key press (or touch operation) as a key event from the operation panel and transmits a key event function corresponding to the obtained key to the SCS 122, and operates in response to a request from the application 130 or the control service. A drawing function for drawing and outputting various screens on the panel, a function for controlling the operation panel, and the like are configured from a part of the OCS library registered in advance. This OCS library is implemented by being linked to each module of the application 130 and the control service. Note that all of the OCS 126 may be configured to operate as a process, or all of the OCS 126 may be configured as an OCS library.
[0077]
The application 130 includes a printer application 111 that is a printer application having a page description language (PDL), PCL, and PostScript (PS), a copy application 112 that is a copy application, and a fax application 113 that is a facsimile application. , A scanner application 114 that is a scanner application, a network file application 115 that is a network file application, a process inspection application 116 that is a process inspection application, and the above-described WEB application 117 and VAS 118.
[0078]
Each process of the application 130 and each process of the control service realize user services related to image forming processing such as copy, printer, scanner, and facsimile while performing inter-process communication by transmitting a function call, transmitting a return value thereof, and transmitting and receiving a message. are doing.
[0079]
As described above, in the multifunction peripheral 100 according to the first embodiment, there are a plurality of applications 130 and a plurality of control services, all of which operate as processes. Then, one or a plurality of threads are generated inside each of these processes, and the threads are executed in parallel. The control service provides a common service to the application 130. For this reason, many of these processes perform parallel operation and thread parallel operation, perform inter-process communication with each other, and perform cooperative operation. User services related to image forming processes such as copying, printing, scanning, and facsimile are provided.
[0080]
Further, in the multifunction peripheral 100, a third party such as a customer or a third vendor of the multifunction peripheral 100 can develop and install an external application in an application layer above the control service layer.
[0081]
In the multifunction peripheral 100 according to the first embodiment, a plurality of processes of the application 130 and a plurality of processes of the control service are operating, but the application 130 and the control service process each have a single configuration. Is also possible. Further, each application 130 can be added or deleted for each application.
[0082]
Next, the configuration of the web application 117 will be described. FIG. 3 is a block diagram illustrating a functional configuration of the web application 117. As shown in FIG. 3, the web application 117 includes a program input unit 301, a test execution unit 302, and an event processing unit 303.
[0083]
The program input unit 301 displays a later-described programming screen 201 on a web browser operating on the PC 200, and from this programming screen 201, inputs a customization program of the operation display unit 911 of the operation panel 910, and customizes the input customization program. It performs execution setting processing such as storage processing in the directory 212, association of a customization program with a key, and registration in a startup setting file.
[0084]
The test execution unit 302 executes the input customization program on the multifunction peripheral 100, and displays the operation panel image data displayed on the operation display unit 911 of the operation panel 910 on the web browser of the PC 200 with the execution of the customization program. This enables verification of the customization program.
[0085]
When the user performs a click operation on a button, a key, or the like of the operation panel image displayed on the web browser of the PC 200, the event processing unit 303 transmits a key event from the operation display unit 911 corresponding to the key event due to the click operation to the OCS 126. Notify.
[0086]
Here, the above-described units are realized by the above-described CGI script. That is, the program input unit 301 sends the debug. By executing the cgi, the test execution unit 302 causes the testexe. By executing cgi, the event processing unit 303 causes the click.cgi. This is realized by executing cgi.
[0087]
Next, a method of customizing the operation display unit 911 of the operation panel 910 from the PC 200 using the web application 117 of the MFP 100 configured as described above will be described. First, the user starts a web browser on the PC 200 and specifies the URL of the multifunction peripheral 100 to access the web application 117 of the multifunction peripheral 100. The WEB application 117 that has been accessed from the WEB browser displays the programming screen 201 (debug.htm) on the WEB browser of the PC 200.
[0088]
FIG. 4 is an explanatory diagram showing an example of the contents of the programming screen 201. As shown in FIG. 4, on the programming screen 201, a program input field, a reference button, an upload button, a save button, a delete button, a test execution button, and an execution setting button are displayed.
[0089]
The reference button is a button for referring to the customization program stored in the storage area of the PC 200 on which the browser is running. When this reference button is pressed, the directory on the PC 200 is displayed and exists in a desired directory. When a customization program is specified, the file name of the specified customization program is displayed in the file name field. Note that, when the reference button is pressed, the directory of the storage medium such as the HDD 103 of the MFP 100 may be referred to.
[0090]
The upload button is used to perform a click operation to transfer (upload) the customization program specified by the reference button or the customization program input to the input field to the multifunction peripheral 100.
[0091]
The program input field is an area for inputting a customization program. In this program input field, a customization program is directly input from an input device such as a keyboard of the PC 200, and an existing program file existing in a desired directory of the PC 200 is designated by clicking the reference button as described above. By entering a customization program. debug. In htm, a character string of “program_list:” is described at the beginning of every line corresponding to the program input field.
[0092]
The save button is clicked when uploading the input customization program to the multifunction peripheral 100 and then storing it in the customization directory. The delete button is clicked when deleting the customization program entered in the input field.
[0093]
The execution setting button is clicked when associating a customization program with a button for executing the customization program so that the multifunction peripheral 100 can execute the customization program stored in the customization directory. When the execution setting button is pressed, the web application 117 searches for a button (key) specified in the customization program from a button (key) in a screen file existing in the customization directory based on the key code, The customization program is associated with the button (key), a key association table of the name of the customization program and the key code of the button (key) is generated, and the table is stored in the HDD 103 or a flash memory.
[0094]
The test execution button is clicked to test the input customization program and display the operation panel screen displayed on the operation display unit 911 of the operation panel 910 on the web browser of the PC 200 to verify the customization program. To operate.
[0095]
Here, the debug. htm, when the reference button, the upload button, the save button, and the execution setting button are clicked, debug. There is a description that cgi is to be activated. In addition, debug. In htm, when the test execution button is clicked, testex. There is a description that cgi is to be activated.
[0096]
FIG. 5 is an explanatory diagram showing an example of the content of the customization program input to the program input field. As shown in FIG. 5, in this embodiment, a UNIX (registered trademark) shell script is input. The input shell script is executed step by step by the shell, which is a command interpreter of the general-purpose OS 121 (UNIX (registered trademark)), and therefore, it is not necessary to compile and link the input customization program.
[0097]
The shell script can specify a multifunction device-specific command provided by the development library. The script shown in FIG. 5 reads an original with a scanner (scanimage), decompresses image data compressed in the TIF format at the time of reading (decomp), and performs character recognition processing on the decompressed image data (ocr). Then, an example is shown in which the result of recognition by the character recognition process is sent as a text data by mail. In this script, each command of scanimage, decomp, and ocr is a command provided in the development library. Further, in the execution processing of these commands, when an image is displayed on the operation display unit 911 of the operation panel 910, a drawing function registered in the OCS function library is internally called. For this reason, when the customization program shown in FIG. 5 is executed, input of various parameters and display of an execution result are performed on the operation display unit 911 when each command is executed.
[0098]
On the programming screen 201 (debug.htm) displayed on the web browser of the PC 200, the user clicks the browse button to specify the customization program stored in the PC 200, or inputs the customization program directly into the program input field and uploads it. When the button is clicked, a request message is transmitted from the WEB browser to the WEB application 117 of the MFP 100. The message body of this request message contains debug. htm is included, and this debug. htm, when the upload button is clicked, debug. It describes that cgi is called. For this reason, the WEB application 117 that has received and analyzed the request message becomes debug. Execute cgi.
[0099]
Here, the processing in the MFP 100 that has received the request message will be described. FIG. 6 is a flowchart illustrating a processing procedure in the multifunction peripheral 100 that has received the request message.
[0100]
The httpd 106 constantly monitors the port No. 80, and receives a request message from the PC 200 on the port No. 80 (step S601). Then, the httpd 106 reads the received request message and writes the request message to the shared memory 105 (Step S602). Next, the httpd 106 notifies the NCS 128 that the request message has been received (step S603).
[0101]
The NCS 128 that has received the notification further notifies the VAS 118 that the request message has been received (step S604). The VAS 118 that has received the notification further notifies the WEB application 117 that the request message has been received (step S605). The WEB application 117 reads the request message with reference to the shared memory 105, triggered by receiving the notification that the request message has been received (step S606). Then, the content of the request message is analyzed (step S607), and processing corresponding to the content described in the message body of the request message is executed (step S608). At this time, if the message body describes that CGI is to be executed, the corresponding CGI is executed.
[0102]
Then, the WEB application 117 returns the execution result of the process as a response message to the PC 200, which is the transmission source of the request message, via the httpd 106 (Step S609).
[0103]
In the present embodiment, the NCS 128 that has received the notification of the request message reception notifies the VAS 118 of the reception, and the VAS 118 notifies the WEB application 117 of the request message reception. The NCS 128 may be configured to directly notify the WEB application 117 that the request message has been received.
[0104]
Next, the test execution process of the customization program by the web application 117 will be described. FIG. 7 is a flowchart illustrating a procedure of a test execution process of the customization program by the test execution unit 302 of the web application 117. When the user clicks the test execution button on the programming screen 201 displayed on the web browser of the PC 200, the test execution unit 302 executes testex. This is executed when cgi is started by the web application 117.
[0105]
First, the test execution unit 302 saves the operation panel image data of the screen currently displayed on the operation display unit 911 of the operation panel 910 to the HDD 103 (step S701). Then, the interpreter (shell) 134 is called, and debug. The customization program (input customization program) included in the HTM is executed by the interpreter (shell) 134 (step S702). When the execution of the customization program by the interpreter 134 is completed, the test execution unit 302 restores the operation panel image data stored in the HDD 103 (step S703). That is, the test execution unit 302 calls the drawing function of the OCS function library, so that the operation panel image data saved in the HDD 103 is displayed on the operation display unit 911.
[0106]
When an operation panel image is displayed on the operation display unit 911 of the operation panel 910 by executing the customization program by the interpreter (shell) 134, the operation panel image data is also displayed on the WEB browser of the PC 200 in addition to the operation display unit 911. You. The display processing of the operation panel image data on the web browser and the input processing from the operation panel image displayed on the web browser in this case will be described.
[0107]
FIG. 8 is an explanatory diagram showing the flow of data in the display processing of the operation panel image data on the web browser and the input processing from the operation panel image displayed on the web browser.
[0108]
When a customization program is executed by the interpreter (shell) 134 and a drawing function of the OCS function library is called from the customization program (step S801), the operation display unit 911 of the operation panel 910 is displayed via the OCS 126 (function library). An operation panel image is drawn (step S802). After that, the NCS 128 extracts the operation panel image data displayed on the operation display unit 911 from the specific socket (step S803) and transfers the operation panel image data to the httpd 106 (step S804), and the httpd 106 connects the operation panel image data to the Internet 220. The data is transmitted to the PC 200 and displayed on the Web browser of the PC 200 (Step S805). As a result, the same operation panel image data as the operation panel image displayed on the operation display unit 911 of the operation panel 910 is displayed on the Web browser of the PC 200.
[0109]
FIGS. 9A and 9B are explanatory diagrams illustrating an example of the operation panel image data displayed on the Web browser of the PC 200. FIG. FIG. 9A shows an example in which buttons are displayed as operation panel image data, and FIG. 9B shows an example in which a soft keyboard is displayed (however, the display of each key is omitted).
[0110]
The operation panel image data shown in FIGS. 9A and 9B are both files in the html format. When each button and each key are clicked, a click. It is described in html format so that a request message for starting cgi is transmitted to the web application 117.
[0111]
Each key event is associated with a key event that occurs when a button or key displayed on the operation display unit 911 of the actual operation panel 910 is touched. Specifically, a key event caused by a click operation of a button or a key on the WEB browser is the same as a key event caused by a touch operation of the corresponding button or key on the operation display unit 911.
[0112]
When the user clicks a button or a key on the PC 200 from the operation panel image data displayed on the web browser as shown in FIG. 9A or 9B, the button or the key that performed the click operation Key event and click. A request message including the cgi activation request in the message body is transmitted to the multifunction peripheral 100 (step S806).
[0113]
In the multifunction peripheral 100, the request message is received from the PC 200 via the port 106 by the httpd 106, the received request message is read, and the request message is written in the shared memory 105 (step S807). Also, the httpd 106 notifies the NCS 128 that the request message has been received (step S808).
[0114]
As described above, the NCS 128 that has received the notification notifies the VAS 118 that the request message has been received (step S809), and the VAS 118 that has received the notification further notifies the WEB application 117 that the request message has been received (step S810). ). Upon receiving the notification that the request message has been received, the WEB application 117 reads the request message with reference to the shared memory 105 (step S811), analyzes the contents of the message body, and clicks on the click. Start cgi. click. In cgi, a process of acquiring a key event from the message body and transmitting the acquired key event to the OCS 126 is performed (step S812). The OCS 126 receives the key event message and sends it to the SCS 122 (step S813). The SCS 122 transfers the received key event to the interpreter (shell) 134 that is executing the customization program (Step S814). A series of processing of transmitting the key event from the OCS 126 to the SCS 122 and the interpreter (shell) 134 is the same as the processing after the OCS 126 acquires the key event by the touch operation from the operation display unit 911 of the operation panel 910. That is, the same processing as the processing for the touch operation on the operation panel image displayed on the operation display unit 911 when the customization program operates on the actual MFP 100 is performed by the test execution of the customization program from the WEB browser of the PC 200 to the browser. This can be realized by a click operation on the displayed operation panel image.
[0115]
In the present embodiment, a key event caused by a click operation of a button or key on the WEB browser and a key event caused by a touch operation of the corresponding button or key on the operation display unit 911 are the same event. For example, when both events are correlated in advance by table information or the like, and when the event processing unit 303 receives a key event due to a click operation on the WEB browser, the corresponding event display is performed by referring to the table information. It may be configured to convert to a key event by a touch operation on the unit 911.
[0116]
As described above, the test execution processing of the customization program input to the program input field on the programming screen 201 has been described. Next, the input processing of the customization program will be described.
[0117]
On the programming screen 201 (debug.htm) displayed on the web browser of the PC 200, the user clicks the browse button to specify the customization program stored in the PC 200, or inputs the customization program directly into the program input field and uploads it. When the button is clicked, a request message is transmitted from the WEB browser to the WEB application 117 of the MFP 100. The message body of this request message contains debug. htm is included, and this debug. htm, when the upload button is clicked, debug. It describes that cgi is called. For this reason, the WEB application 117 that has received the request message and analyzed it receives the debug. By executing cgi, customization program input processing is performed.
[0118]
FIG. 10 is a flowchart illustrating a procedure of a customization program input process (process of debug.cgi) by the program input unit 301 of the web application 117. The program input unit 301 of the web application 117 uploads the program file of the specified customization program to the multifunction peripheral 100. Alternatively, debug. After the customization program directly input to the HTM program input field is converted into a program file, the program file is uploaded to the multifunction peripheral 100 (step S1001).
[0119]
Next, the program input unit 301 inputs debug. htm is read line by line from the top (step S1002). Then, it is determined whether or not the read line includes a character string of “program_list:” to determine whether or not the read line is a program input field (step S1003).
[0120]
If it is determined that the input file is the program input field, the uploaded program file is read (step S1004), and the content of the program file, that is, the customization program is transmitted to the PC 200 (step S1005).
[0121]
On the other hand, if it is determined in step S1003 that the field is not a program input field, the one line read in step S1002 is directly transmitted to the PC 200 (step S1006).
[0122]
Then, the processing from steps S1002 to S1006 is performed by debug. htm is repeated for all rows (step S1007). As a result, the web browser of PC 200 displays debug. debug.cgi of the processing result by cgi. htm are sequentially displayed.
[0123]
After the customization program input from the programming screen 201 is uploaded to the MFP 100 and the uploaded customization program is displayed in the program input field, the above-described save button, execution setting button, and test execution button are clicked. Becomes possible.
[0124]
Next, a hardware configuration of the multifunction peripheral 100 according to the present embodiment will be described. FIG. 11 is a hardware configuration diagram of the multifunction peripheral 100 according to the first embodiment shown in FIG. As shown in FIG. 11, the MFP 100 includes a controller board 900 in which a CPU 902, an SDRAM 903, an SRAM 908, a flash memory (flash ROM) 210, an IC card interface unit 230, an HDD 103, and the like are connected to an ASIC 901, an operation panel 910, It comprises a fax control unit (FCU) 920, a USB 930, an IEEE 1394 940, and a printer 950. The operation panel 910 is directly connected to the ASIC 901, and the FCU 920, USB 930, IEEE 1394 940 and printer 950 are connected to the ASIC 901 via a PCI bus.
[0125]
The IC card interface unit 230 is an interface for inserting the IC card 240 and exchanging data with the IC card 240. The IC card 240 can be used as an installation storage medium. In this case, the developed external application is stored in the IC card 240.
[0126]
As described above, in the MFP 100 according to the first embodiment, the test execution unit 302 of the web application 117 executes the customization program of the operation display unit 911 of the MFP 100 in response to a request from the PC 200 connected to the Internet. Since the operation panel image data output to the operation display unit 911 in accordance with the execution is sequentially displayed on the Web browser of the PC 200, the customization program can be debugged by an easy operation from the PC 200. Development can be done efficiently. As a result, the MFP 100 can easily realize various functions.
[0127]
(Embodiment 2)
In the multifunction peripheral 100 according to the first embodiment, the input processing and the test execution processing of the customization program of the customization program are realized by the WEB application 117 provided in the application layer. The input processing of the customization program and the test execution processing are realized by a programming service provided in the control service layer.
[0128]
FIG. 12 is a block diagram illustrating a functional configuration of the MFP 1200 according to the second embodiment. The multifunction peripheral 1200 according to the present embodiment is different from the multifunction peripheral 100 according to the first embodiment in that a programming service 133 is provided in the control service layer instead of the web application 117, and the other configuration is the multifunction peripheral according to the first embodiment. Same as 100.
[0129]
The programming service 133 operates as a WEB server (http server) for the PC 200 as a client terminal connected to the Internet 220, similar to the WEB application 117 according to the first embodiment, and a WEB browser that operates on the PC 200 will be described later. A programming screen 201 to be displayed is displayed, and a customizing program for the operation display unit 911 of the operation panel 910 is input from the programming screen 201. Further, the programming service 133 saves the customization program input from the PC 200 in a customization directory created as a customization area of the HDD 103. Further, the programming service 133 registers the customization program in the startup setting file so that the customization program is executed on the MFP 1200. Further, the programming service 133 executes a test on the multifunction peripheral 1200 to check the operation of the customization program in accordance with an instruction from the programming screen 201 of the PC 200, and displays the operation panel image data displayed on the operation display unit 911 at the time of the execution. Is displayed on the Web browser of the PC 200.
[0130]
The specific process of inputting the customization program from the PC 200 and executing the test by the programming service 133 is similar to that of the web application 117 of the first embodiment.
[0131]
As described above, in the multifunction peripheral 1200 according to the second embodiment, the customizing program input process and the test execution process are performed by the programming service 133 installed as a control service. In addition to operating as a process, the MFP 130 also operates as a server process using the application 130 installed in the multifunction peripheral 1200 as a client, so that the multifunction peripheral 1200 can realize various functions.
[0132]
In the MFPs 100 and 1200 according to the first and second embodiments, the test execution process of the customization program is performed in response to a request from the PC 200 as a client terminal connected to the Internet 220. It is also possible to configure so that the test is executed in response to a request from a client terminal connected to a LAN or the like. Further, as a communication protocol, a protocol other than TCP / IP may be used.
[0133]
In addition, in the multifunction peripherals 100 and 1200 according to the first and second embodiments, the test execution of the customization program of the operation display unit 911 of the operation panel 910 is performed. In addition, the present invention can be applied to customization of any component as long as it is a program that outputs an image to the operation display unit 911.
[0134]
Also, in the multifunction peripherals 100 and 1200 according to the first and second embodiments, a shell script is used as a customization program. In addition, a Visual Basic (registered trademark) or Java (registered trademark) language may be used. Good. In this case, the interpreter must be configured to operate under the general-purpose OS 121 without being included in the general-purpose OS 121.
[0135]
【The invention's effect】
As described above, according to the first aspect of the present invention, the customization program can be debugged with an easy operation from the client terminal, and the development of the customization program can be efficiently performed, so that various types of programs can be easily executed. There is an effect that various functions can be realized in the image forming apparatus.
[0136]
According to the second aspect of the present invention, the operation and operation confirmation from the client terminal can be easily performed by using the WEB page, and the debug operation of the customization program can be efficiently performed. Play.
[0137]
According to the third aspect of the present invention, the operation can be checked without compiling and linking the customization program, and the debug operation from the client terminal can be performed more efficiently.
[0138]
According to the fourth aspect of the present invention, a customization program for the operation display unit of the operation panel can be debugged and the operation can be checked by an easy operation from the client terminal, and the function relating to the operation display unit using the customization can be debugged. There is an effect that work can be performed efficiently.
[0139]
Further, according to the invention according to claim 5, there is an effect that the program development of the test execution means can be efficiently performed.
[0140]
Further, according to the invention according to claim 6, it is possible to realize the execution process by the input operation on the operation panel image information displayed on the client terminal in the same manner as the case of the actual input operation from the operation display unit of the operation panel. Thus, there is an effect that the debugging work of the customization program can be accurately performed.
[0141]
According to the invention according to claim 7, processing of an event by an input operation on the operation panel image information displayed on the client terminal is realized in the same manner as when an input operation is performed from an operation display unit of an actual operation panel. This makes it possible to more accurately perform the debugging of the customization program.
[0142]
Further, according to the invention according to claim 8, there is an effect that the customization program can be efficiently developed and debugged by using a client terminal that can easily operate the input of the customization program.
[0143]
According to the ninth aspect of the present invention, only the function of the client terminal as a WEB server is included in the WEB application, and access to hardware resources can be delegated to the control service, thereby efficiently developing the WEB application. It has the effect of being able to.
[0144]
According to the tenth aspect, the programming service can operate not only as a server process of a client terminal on a network but also as a server process using an application mounted on the image forming apparatus as a client. By providing various functions to the application, there is an effect that the image forming apparatus can realize various other various functions.
[0145]
According to the eleventh aspect of the present invention, the customization program can be debugged with an easy operation from the client terminal, the development of the customization program can be efficiently performed, and various functions can be easily performed. There is an effect that the forming apparatus can be realized.
[0146]
Further, according to the twelfth aspect of the present invention, the operation and the operation confirmation from the client terminal can be easily performed by using the WEB page, and the debug operation of the customization program can be efficiently performed. Play.
[0147]
According to the thirteenth aspect of the present invention, the operation can be checked without compiling and linking the customization program, and the debug operation from the client terminal can be performed more efficiently.
[0148]
According to the fourteenth aspect of the present invention, the customization program for the operation display unit of the operation panel can be debugged by an easy operation from the client terminal to check the operation, and the function relating to the operation display unit using the customization can be debugged. There is an effect that work can be performed efficiently.
[0149]
Further, according to the invention according to claim 15, it is possible to realize the execution processing by the input operation on the operation panel image information displayed on the client terminal in the same manner as the case of the actual input operation from the operation display unit of the operation panel. Thus, there is an effect that the debugging work of the customization program can be accurately performed.
[0150]
According to the sixteenth aspect of the present invention, the event processing by the input operation on the operation panel image information displayed on the client terminal is realized in the same manner as when the input operation is performed from the operation display unit of the actual operation panel. This makes it possible to more accurately perform the debugging of the customization program.
[0151]
Further, according to the seventeenth aspect of the present invention, there is an effect that the customization program can be efficiently developed and debugged by using a client terminal that can easily input the customization program.
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating a main configuration and a network configuration of a multifunction peripheral according to a first embodiment.
FIG. 2 is a block diagram illustrating a functional configuration of the MFP according to the first embodiment.
FIG. 3 is a block diagram illustrating a functional configuration of a web application.
FIG. 4 is an explanatory diagram showing an example of the contents of a programming screen.
FIG. 5 is an explanatory diagram showing an example of the content of a customization program input to a program input field.
FIG. 6 is a flowchart illustrating a processing procedure in the multifunction peripheral that has received the request message.
FIG. 7 is a flowchart illustrating a procedure of a test execution process of a customization program by a test execution unit of the web application.
FIG. 8 is an explanatory diagram showing a flow of data in a display process of operation panel image data on a web browser and an input process from an operation panel image displayed on the web browser.
FIG. 9A is an explanatory view showing an example in which button display of operation panel image data displayed on a Web browser of a PC is performed, and FIG. 9B is a soft keyboard of operation panel image data. It is an explanatory view showing an example in which a display is made.
FIG. 10 is a flowchart illustrating a procedure of a customization program input process by a program input unit of the web application.
FIG. 11 is a hardware configuration diagram of the MFP according to the first embodiment.
FIG. 12 is a block diagram illustrating a functional configuration of the multifunction peripheral according to the second embodiment;
[Explanation of symbols]
100,1200 MFP
101 black and white laser printer
102 color laser printer
103 HDD
105 Shared memory
106 httpd
104 Hardware resources
110 software group
111 Printer App
112 Copy app
113 Fax App
114 Scanner App
115 Net File App
116 Process inspection application
117 WEB application
118 VAS
120 platform
121 General-purpose OS
122 SCS
123 SRM
124 ECS
125 MCS
126 OCS
127 FCS
128 NCS
129 Multifunction machine initialization section
130 Application
131 Program Launcher
133 Programming Services
134 interpreter (shell)
135 kernel
200 PC
201 Programming screen
210 Flash memory (flash ROM)
212 Customization area (customization directory)
220 Internet
230 IC card interface
240 IC card
301 Program input section
302 Test execution unit
303 Event Processing Unit
900 controller board
901 ASIC
902 CPU
903 SDRAM (RAM)
908 SRAM
910 Operation Panel
911 Operation display section
930 USB
940 IEEE 1394
950 Printer

Claims (17)

画像形成処理で使用されるハードウェア資源と、画像形成処理にかかるユーザサービスにそれぞれ固有の処理を行うアプリケーションと、前記アプリケーションと前記ハードウェア資源との間に介在し、前記ユーザサービスを提供する際に、アプリケーションの少なくとも2つが共通的に必要とする前記ハードウェア資源の獲得要求、管理、実行制御並びに画像形成処理を行うコントロールサービスと、画面表示および操作入力を行う操作表示部を有するオペレーションパネルとを備えた画像形成装置であって、
ネットワークに接続されたクライアント端末からの要求によって、画像形成装置で動作するプログラムのカスタマイズプログラムを実行し、前記カスタマイズプログラムの実行に伴って前記操作表示部に出力されるオペパネ画像情報を、前記クライアント端末に表示する試験実行手段
を備えたことを特徴とする画像形成装置。
A hardware resource used in the image forming process, an application that performs a process specific to a user service related to the image forming process, and an intermediary between the application and the hardware resource to provide the user service. A control service for performing acquisition request, management, execution control, and image forming processing of the hardware resources required by at least two of the applications in common, and an operation panel having an operation display unit for performing screen display and operation input. An image forming apparatus comprising:
In response to a request from a client terminal connected to a network, a customization program for a program operating on the image forming apparatus is executed, and the operation panel image information output to the operation display unit along with the execution of the customization program is transmitted to the client terminal. An image forming apparatus, comprising: a test execution unit for displaying a test result.
前記試験実行手段は、インターネットに接続されたクライアント端末に表示されたWEBページを介して前記カスタマイズプログラムの実行要求を受信し、前記オペパネ画像情報を、前記クライアント端末に表示されるWEBページに表示することを特徴とする請求項1に記載の画像形成装置。The test execution unit receives an execution request of the customization program via a web page displayed on a client terminal connected to the Internet, and displays the operation panel image information on a web page displayed on the client terminal. The image forming apparatus according to claim 1, wherein: 前記カスタマイズプログラムをステップごとに逐次実行するプログラム実行手段をさらに備え、
前記試験実行手段は、前記プログラム実行手段を呼び出して、インタプリタ用言語で記述したカスタマイズプログラムを実行することを特徴とする請求項1または2に記載の画像形成装置。
A program execution unit for sequentially executing the customization program for each step;
3. The image forming apparatus according to claim 1, wherein the test execution unit calls the program execution unit and executes a customization program described in an interpreter language.
前記試験実行手段は、前記操作表示部からの入力に対する実行処理を記述したカスタマイズプログラムを実行することを特徴とする請求項1〜3のいずれか一つに記載の画像形成装置。The image forming apparatus according to claim 1, wherein the test execution unit executes a customization program describing execution processing for an input from the operation display unit. 前記コントロールサービスとして搭載され、ネットワークの制御を行うネットワークコントロールサービスをさらに備え、
前記ネットワークコントロールサービスは、前記操作表示部に出力されるオペパネ画像情報を取得して、取得したオペパネ画像情報を前記クライアント端末に送信することを特徴とする請求項1〜4のいずれか一つに記載の画像形成装置。
A network control service that is mounted as the control service and controls a network,
The network control service according to any one of claims 1 to 4, wherein the network control service acquires the operation panel image information output to the operation display unit, and transmits the acquired operation panel image information to the client terminal. The image forming apparatus according to any one of the preceding claims.
前記クライアント端末に表示された前記オペパネ画像情報に対する入力操作によるイベント情報を取得して、取得したイベント情報に対応する前記操作表示部からの入力イベントを前記アプリケーションまたは前記コントロールサービスに通知するイベント処理手段と、
をさらに備えたことを特徴とする請求項1〜5のいずれか一つに記載の画像形成装置。
Event processing means for acquiring event information by an input operation on the operation panel image information displayed on the client terminal, and notifying the application or the control service of an input event from the operation display unit corresponding to the acquired event information When,
The image forming apparatus according to claim 1, further comprising:
前記コントロールサービスとして搭載され、前記オペレーションパネルの操作表示部からの入力による入力イベントを取得して前記アプリケーションまたは前記コントロールサービスに通知するオペパネコントロールサービスをさらに備え、
前記イベント処理手段は、前記取得したイベント情報に対応する前記操作表示部からの入力イベントを、前記オペパネコントロールサービスに通知することを特徴とする請求項6に記載の画像形成装置。
Equipped as the control service, further comprising an operation panel control service that obtains an input event by an input from an operation display unit of the operation panel and notifies the application or the control service,
7. The image forming apparatus according to claim 6, wherein the event processing unit notifies the operation panel control service of an input event from the operation display unit corresponding to the acquired event information.
前記カスタマイズプログラムを、前記クライアント端末からWEBページを介して入力させるプログラム入力手段をさらに備えたことを特徴とする請求項1〜7のいずれか一つに記載の画像形成装置。The image forming apparatus according to claim 1, further comprising: a program input unit configured to input the customization program from the client terminal via a web page. 前記試験実行手段は、前記アプリケーションとして搭載されたWEBアプリであることを特徴とする請求項1〜8のいずれか一つに記載の画像形成装置。The image forming apparatus according to claim 1, wherein the test execution unit is a web application installed as the application. 前記試験実行手段は、前記コントロールサービスとして搭載されたプログラミングサービスであることを特徴とする請求項1〜8のいずれか一つに記載の画像形成装置。9. The image forming apparatus according to claim 1, wherein the test execution unit is a programming service installed as the control service. 画像形成処理で使用されるハードウェア資源と、画像形成処理にかかるユーザサービスにそれぞれ固有の処理を行うアプリケーションと、前記アプリケーションと前記ハードウェア資源との間に介在し、前記ユーザサービスを提供する際に、アプリケーションの少なくとも2つが共通的に必要とする前記ハードウェア資源の獲得要求、管理、実行制御並びに画像形成処理を行うコントロールサービスと、画面表示および操作入力を行う操作表示部を有するオペレーションパネルとを備えた画像形成装置で動作するプログラムのカスタマイズプログラムを検証するカスタマイズプログラム試験方法であって、
ネットワークに接続されたクライアント端末からの要求によって、画像形成装置で動作するプログラムのカスタマイズプログラムを実行し、前記カスタマイズプログラムの実行に伴って前記操作表示部に出力されるオペパネ画像情報を、前記クライアント端末に表示する試験実行ステップ
を含むことを特徴とするカスタマイズプログラム試験方法。
A hardware resource used in the image forming process, an application that performs a process specific to a user service related to the image forming process, and an intermediary between the application and the hardware resource to provide the user service. A control service for performing acquisition request, management, execution control, and image forming processing of the hardware resources required by at least two of the applications in common, and an operation panel having an operation display unit for performing screen display and operation input. A customization program test method for verifying a customization program of a program that operates on an image forming apparatus having
In response to a request from a client terminal connected to a network, a customization program for a program operating on the image forming apparatus is executed, and the operation panel image information output to the operation display unit along with the execution of the customization program is transmitted to the client terminal. A test method for a customized program, comprising: a test execution step of displaying a test result.
前記試験実行ステップは、インターネットに接続されたクライアント端末に表示されたWEBページを介して前記カスタマイズプログラムの実行要求を受信し、前記オペパネ画像情報を、前記クライアント端末に表示されるWEBページに表示することを特徴とする請求項11に記載のカスタマイズプログラム試験方法。The test execution step includes receiving a request to execute the customization program via a web page displayed on a client terminal connected to the Internet, and displaying the operation panel image information on a web page displayed on the client terminal. The method for testing a customized program according to claim 11, wherein: 前記試験実行ステップは、インタプリタ用言語で記述したカスタマイズプログラムをステップごとに逐次実行することを特徴とする請求項11または12に記載のカスタマイズプログラム試験方法。13. The customization program test method according to claim 11, wherein the test execution step sequentially executes a customization program described in an interpreter language for each step. 前記試験実行ステップは、前記操作表示部からの入力に対する実行処理を記述したカスタマイズプログラムを実行することを特徴とする請求項11〜13のいずれか一つに記載のカスタマイズプログラム試験方法。14. The customization program test method according to claim 11, wherein the test execution step executes a customization program describing execution processing for an input from the operation display unit. 前記クライアント端末に表示された前記オペパネ画像情報に対する入力操作によるイベント情報を取得して、取得したイベント情報に対応する前記操作表示部からの入力イベントを前記アプリケーションまたは前記コントロールサービスに通知するイベント処理ステップをさらに含むことを特徴とする請求項11〜14のいずれか一つに記載のカスタマイズプログラム試験方法。An event processing step of acquiring event information by an input operation on the operation panel image information displayed on the client terminal, and notifying the application or the control service of an input event from the operation display unit corresponding to the acquired event information; The customized program test method according to any one of claims 11 to 14, further comprising: 前記イベント処理ステップは、前記取得したイベント情報に対応する前記操作表示部からの入力イベントを、前記コントロールサービスとして搭載され、前記オペレーションパネルの操作表示部からの入力による入力イベントを取得して前記アプリケーションまたは前記コントロールサービスに通知するオペパネコントロールサービスに通知することを特徴とする請求項15に記載のカスタマイズプログラム試験方法。The event processing step includes, as the control service, an input event from the operation display unit corresponding to the acquired event information, and acquires an input event by an input from the operation display unit of the operation panel to execute the application. The method according to claim 15, wherein the control service is notified to the control panel service. 前記カスタマイズプログラムを、前記クライアント端末からWEBページを介して入力させるプログラム入力ステップをさらに含むことを特徴とする請求項11〜16のいずれか一つに記載のカスタマイズプログラム試験方法。17. The customization program test method according to claim 11, further comprising a program inputting step of inputting the customization program from the client terminal via a web page.
JP2002224137A 2002-07-31 2002-07-31 Image forming apparatus and customized program test method Expired - Fee Related JP4133085B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002224137A JP4133085B2 (en) 2002-07-31 2002-07-31 Image forming apparatus and customized program test method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002224137A JP4133085B2 (en) 2002-07-31 2002-07-31 Image forming apparatus and customized program test method

Publications (2)

Publication Number Publication Date
JP2004062828A true JP2004062828A (en) 2004-02-26
JP4133085B2 JP4133085B2 (en) 2008-08-13

Family

ID=31943713

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002224137A Expired - Fee Related JP4133085B2 (en) 2002-07-31 2002-07-31 Image forming apparatus and customized program test method

Country Status (1)

Country Link
JP (1) JP4133085B2 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005269326A (en) * 2004-03-19 2005-09-29 Canon Inc Image forming apparatus and information processing method
JP2008027172A (en) * 2006-07-20 2008-02-07 Kyocera Mita Corp Image forming apparatus
CN101931725A (en) * 2009-06-19 2010-12-29 柯尼卡美能达商用科技株式会社 Guidance information providing device and guidance information providing system
JP2011065213A (en) * 2009-09-15 2011-03-31 Kyocera Mita Corp Operation confirmation system and object device
JP2017056570A (en) * 2015-09-14 2017-03-23 セイコーエプソン株式会社 Handling instruction method of device by equipment, equipment and program

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005269326A (en) * 2004-03-19 2005-09-29 Canon Inc Image forming apparatus and information processing method
JP4532947B2 (en) * 2004-03-19 2010-08-25 キヤノン株式会社 Image forming apparatus and information processing method
JP2008027172A (en) * 2006-07-20 2008-02-07 Kyocera Mita Corp Image forming apparatus
CN101931725A (en) * 2009-06-19 2010-12-29 柯尼卡美能达商用科技株式会社 Guidance information providing device and guidance information providing system
US8516371B2 (en) 2009-06-19 2013-08-20 Konica Minolta Business Technologies, Inc. Guidance information providing device and guidance information providing system
JP2011065213A (en) * 2009-09-15 2011-03-31 Kyocera Mita Corp Operation confirmation system and object device
JP2017056570A (en) * 2015-09-14 2017-03-23 セイコーエプソン株式会社 Handling instruction method of device by equipment, equipment and program

Also Published As

Publication number Publication date
JP4133085B2 (en) 2008-08-13

Similar Documents

Publication Publication Date Title
US7554685B2 (en) Image forming apparatus, information processing apparatus, program execution method and program producing method
US8094330B2 (en) Image forming apparatus that can launch external applications selectively after shipment of the apparatus
JP2004185595A (en) Information processor and program therefor
JP4090806B2 (en) Image information processing apparatus and application installation method
JP2004118237A (en) Image forming apparatus and application installing method
JP4198551B2 (en) Image forming apparatus and program execution method
JP2004185593A (en) Image forming apparatus and application execution method
JP4512565B2 (en) Image forming apparatus and application installation method
US20030133136A1 (en) Method for generating and launching application for information processing apparatus and image forming apparatus
JP4133085B2 (en) Image forming apparatus and customized program test method
JP4500333B2 (en) Image information processing apparatus, installation method, program, and recording medium
JP4542180B2 (en) Image forming apparatus, program, and recording medium
JP4676977B2 (en) Image forming apparatus, application information acquisition method, and program
JP4340704B2 (en) Image information processing apparatus and application installation method
JP5267624B2 (en) Information processing apparatus, display control method, program, and recording medium
JP4405132B2 (en) Terminal emulator for image information processing apparatus and terminal application for image information processing apparatus
JP2006271005A (en) Image forming apparatus and method for installing application
JP4334214B2 (en) Image forming apparatus, application program, and recording medium
JP5655726B2 (en) Image information processing apparatus, image information processing system, image information processing method, program, and recording medium
JP2010218469A (en) Information processor, information processing method, program and recording medium
JP4677054B2 (en) Image forming apparatus, program, recording medium, and method
JP4080739B2 (en) Application generating method for image forming apparatus and program causing computer to execute the method
JP2003263321A (en) Image forming device application generation method, image forming device application starting method, image forming device application generation program, image forming device, and image forming device application development recording medium
JP4334213B2 (en) Information processing apparatus, application program, and recording medium
JP3798710B2 (en) Image information processing apparatus, process information acquisition method, and program causing computer to execute the method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050208

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080131

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080219

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080415

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

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

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

Free format text: PAYMENT UNTIL: 20110606

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110606

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120606

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130606

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees