JP2005229270A - 画像形成装置、インタフェース方法 - Google Patents

画像形成装置、インタフェース方法 Download PDF

Info

Publication number
JP2005229270A
JP2005229270A JP2004034999A JP2004034999A JP2005229270A JP 2005229270 A JP2005229270 A JP 2005229270A JP 2004034999 A JP2004034999 A JP 2004034999A JP 2004034999 A JP2004034999 A JP 2004034999A JP 2005229270 A JP2005229270 A JP 2005229270A
Authority
JP
Japan
Prior art keywords
application
interface
image forming
service program
handle
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2004034999A
Other languages
English (en)
Inventor
Masato Terao
正人 寺尾
Yoshimine Horiuchi
義峯 堀内
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 JP2004034999A priority Critical patent/JP2005229270A/ja
Publication of JP2005229270A publication Critical patent/JP2005229270A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)
  • Facsimiles In General (AREA)

Abstract

【課題】 外部からインストールされたアプリケーションが搭載可能な画像形成装置と、その外部アプリケーションと画像形成装置が有するサービスプログラムとのインタフェース方法を提供する。
【解決手段】 画像形成処理で使用されるハードウェア資源と、画像形成に係る処理を実行するサービスプログラムと、前記サービスプログラムを利用するためのインタフェースと、前記サービスプログラムを利用するアプリケーションと、前記インタフェースを簡易化したインタフェースを前記アプリケーションに提供するとともに、前記サービスプログラムにより得られた前記アプリケーションに対する通知情報を保持する簡易インタフェースとを有する画像形成装置でのインタフェース方法であって、前記簡易インタフェースが前記通知情報を保持する保持段階と、前記アプリケーションが前記保持された通知情報を取得する取得段階とを有する。
【選択図】 図1

Description

本発明は、外部からインストールされたアプリケーションが搭載可能な画像形成装置と、その外部アプリケーションと画像形成装置が有するサービスプログラムとのインタフェース方法に関する。
近年、ファクシミリ、プリンタ、コピーおよびスキャナなどの各装置の機能を1つの筐体内に収納した画像形成装置(以下、融合機という)が知られるようになった。この融合機は、1つの筐体内に表示部、印刷部および撮像部などを設けると共に、ファクシミリ、プリンタ、コピーおよびスキャナにそれぞれ対応する4種類のアプリケーションを設け、そのアプリケーションを切り替えることより、ファクシミリ、プリンタ、コピーおよびスキャナとして動作させるものである。
このような融合機のソフトウェア資源をさらに活用するために、融合機に外部からアプリケーションをインストールすることが考えられる。
この場合、上記アプリケーションは、融合機に搭載されているサービスプログラムを利用するためのインタフェースを利用しなければならない。しかし、融合機のサービスプログラムは、プリンタやファックスなどの最初から備わるアプリケーションが利用することを前提に作成されているので、サービスプログラムを利用する場合、外部からインストールされたアプリケーションが特に必要のない設定をインタフェースに対して行わなければならない。
そこで、サービスプログラムを利用するためのインタフェースを簡易化したものを外部のアプリケーションに提供する簡易インタフェースが用意されている。
しかしながら、従来の簡易インタフェースは、従来のインタフェースを簡易なものとしたにすぎないため、外部からインストールされたアプリケーションが柔軟に利用することができなかった。
本発明はこのような問題点に鑑み、融合機のサービスプログラムを外部からインストールされたアプリケーションが柔軟に利用することが可能な画像形成装置、インタフェース方法を提供することを目的とする。
上記課題を解決するために、本発明は、画像形成処理で使用されるハードウェア資源と、画像形成に係る処理を実行するサービスプログラムと、前記サービスプログラムを利用するためのインタフェースと、前記サービスプログラムを利用するアプリケーションと、前記インタフェースを簡易化したインタフェースを前記アプリケーションに提供するとともに、前記サービスプログラムにより得られた前記アプリケーションに対する通知情報を保持する簡易インタフェースとを有する画像形成装置でのインタフェース方法であって、前記簡易インタフェースが前記通知情報を保持する保持段階と、前記アプリケーションが前記保持された通知情報を取得する取得段階とを有することを特徴とする。
また、上記課題を解決するために、本発明は、前記通知情報は、前記アプリケーションが前記サービスプログラムを利用することを要求したことにより得られた実行結果情報であることを特徴とする。
また、上記課題を解決するために、本発明は、前記アプリケーションが前記サービスプログラムを利用するために必要なパラメータを設定する設定段階を有することを特徴とする。
また、上記課題を解決するために、本発明は、前記複数の設定段階を有することを特徴とする。
また、上記課題を解決するために、本発明は、前記パラメータを設定後、前記サービスプログラムを利用するための実行要求を、前記アプリケーションが前記簡易インタフェースに通知する実行要求段階を有することを特徴とする。
また、上記課題を解決するために、本発明は、前記簡易インタフェースは、前記実行要求が通知されると、前記サービスプログラムを実行することを特徴とする。
また、上記課題を解決するために、本発明は、前記取得段階では、前記実行結果情報が分割された分割実行結果情報を前記アプリケーションが取得することを特徴とする。
また、上記課題を解決するために、本発明は、前記アプリケーションが、前記サービスを利用するために必要な実行要求ハンドルを、前記簡易インタフェースから取得する実行要求ハンドル取得段階を有することを特徴とする。
また、上記課題を解決するために、本発明は、前記設定段階と、前記実行要求段階と、前記取得段階では、前記実行要求ハンドルが用いられることを特徴とする。
また、上記課題を解決するために、本発明は、前記アプリケーションが、前記実行要求ハンドルを解放する実行要求ハンドル解放段階を有することを特徴とする。
また、上記課題を解決するために、本発明は、前記実行要求ハンドルが解放されると、前記簡易インタフェースは、前記保持していた通知情報を解放することを特徴とする。
また、上記課題を解決するために、本発明は、前記通知情報は、前記サービスプログラムから一方的に得られるイベント情報であることを特徴とする。
また、上記課題を解決するために、本発明は、前記簡易インタフェースは、前記イベント情報が得られると、前記アプリケーションが前記イベント情報を取得するためのイベントハンドルを、前記アプリケーションに通知することを特徴とする。
また、上記課題を解決するために、本発明は、前記取得段階では、前記イベントハンドルが用いられることを特徴とする。
また、上記課題を解決するために、本発明は、前記アプリケーションが、前記イベントハンドルを解放するイベントハンドル解放段階を有することを特徴とする。
また、上記課題を解決するために、本発明は、前記イベントハンドルが解放されると、前記簡易インタフェースは、前記保持していた通知情報を解放することを特徴とする。
また、上記課題を解決するために、本発明は、画像形成処理で使用されるハードウェア資源と、画像形成に係る処理を行うサービスプログラムとを有する画像形成装置において、前記サービスプログラムを利用するためのインタフェースと、前記サービスを利用するアプリケーションと、前記インタフェースを簡易化したインタフェースを前記アプリケーションに提供するとともに、前記サービスから通知された前記アプリケーションに対する通知情報を保持する簡易インタフェースとを有し、前記アプリケーションは、前記保持された通知情報を取得することを特徴とする。
また、上記課題を解決するために、本発明は、前記通知情報は、前記アプリケーションが前記サービスプログラムを利用することを要求したことにより得られた実行結果情報であることを特徴とする。
また、上記課題を解決するために、本発明は、前記アプリケーションは、前記サービスプログラムを利用するために必要なパラメータを設定することを特徴とする。
また、上記課題を解決するために、本発明は、前記パラメータの設定は複数回行われることを特徴とする。
また、上記課題を解決するために、本発明は、前記パラメータを設定後、前記サービスプログラムを利用するための実行要求を、前記アプリケーションが前記簡易インタフェースに通知することを特徴とする。
また、上記課題を解決するために、本発明は、前記簡易インタフェースは、前記実行要求が通知されると、前記サービスプログラムを実行することを特徴とする。
また、上記課題を解決するために、本発明は、前記アプリケーションは、前記実行結果情報が分割された分割実行結果情報を取得することを特徴とする。
また、上記課題を解決するために、本発明は、前記アプリケーションは、前記サービスを利用するために必要な実行要求ハンドルを、前記簡易インタフェースから取得することを特徴とする。
また、上記課題を解決するために、本発明は、前記アプリケーションは、前記実行要求ハンドルを解放することを特徴とする。
また、上記課題を解決するために、本発明は、前記実行要求ハンドルが解放されると、前記簡易インタフェースは、前記保持していた通知情報を解放することを特徴とする。
また、上記課題を解決するために、本発明は、前記通知情報は、前記サービスプログラムから一方的に得られるイベント情報であることを特徴とする。
また、上記課題を解決するために、本発明は、前記簡易インタフェースは、前記イベント情報が得られると、前記アプリケーションが前記イベント情報を取得するためのイベントハンドルを、前記アプリケーションに通知することを特徴とする。
また、上記課題を解決するために、本発明は、前記アプリケーションが、前記イベントハンドルを解放することを特徴とする。
また、上記課題を解決するために、本発明は、前記イベントハンドルが解放されると、前記簡易インタフェースは、前記保持していた通知情報を解放することを特徴とする。
以上説明したように、本発明によれば、外部からインストールされたアプリケーションが搭載可能な画像形成装置と、その外部アプリケーションと画像形成装置が有するサービスプログラムとのインタフェース方法が得られる。
以下、本発明の実施例を図面に基づいて説明する。
図1は、本発明による融合機の一実施例の構成図を示している。融合機1は、ソフトウェア群2と、融合機起動部3と、ハードウェア資源4とを含むように構成される。
融合機起動部3は融合機1の電源投入時に最初に実行され、アプリケーション層5およびプラットホーム層6を起動する。例えば融合機起動部3は、アプリケーション層5およびプラットホーム層6のプログラムを、ハードディスク装置(以下、HDDという)などから読み出し、読み出した各プログラムをメモリ領域に転送して起動する。ハードウェア資源4は、スキャナ25と、プロッタ26と、ADF(Auto Document Feeder)などのハードウェアリソース24とを含む。
また、ソフトウェア群2は、UNIX(登録商標)などのオペレーティングシステム(以下、OSという)上に起動されているアプリケーション層5とプラットホーム層6とを含む。アプリケーション層5は、プリンタ、コピー、ファックスおよびスキャナなどの画像形成にかかるユーザサービスにそれぞれ固有の処理を行うプログラムを含む。
アプリケーション層5は、プリンタ用のアプリケーションであるプリンタアプリ9と、コピー用アプリケーションであるコピーアプリ10と、ファックス用アプリケーションであるファックスアプリ11と、スキャナ用アプリケーションであるスキャナアプリ12とを含む。また、アプリケーション層5は、VAS(Virtual Application Service)29と、SDK APL(Software Development Kit Application)60とを含む。
このVAS29は、VAS−API61をSDKアプリ60に提供する。VAS−API130とは、後述するAPI28を簡易化したインタフェースである。これらVAS29と、VAS−API61は、簡易インタフェースに対応する。
VAS29は、VAS−API61とAPI28の変換を行い、サービス層が提供する機能をSDKアプリ60が利用できるようにするものである。具体的にVAS29は、機種間、機種世代間の差分を吸収し、SDKアプリ60に固定化したAPIを提供する。
また、VAS29は、他のライブラリを利用するためのプロセスと、シェアードライブラリとして実装され、共有メモリ上で動作する。後述するNCS、DCS、OCS、FCS、ECS、MCS、UCS、SCSなど(以下、xCS100と記す)からは、プロセスとしてのSDKアプリが見えるのみで、VAS29は意識できない。そして、xCSから発生するイベント通知は、SDKアプリに対して通知されるが、VAS29で受けて、内容を変換してSDKアプリに通知するようになっている。なお、xCS100は、サービスプログラムに対応する。
次に、プラットホーム層6について説明する。プラットホーム層6は、アプリケーション層5からの処理要求を解釈してハードウェア資源4の獲得要求を発生するコントロールサービス層7と、1つ以上のハードウェア資源4の管理を行ってコントロールサービス層7からの獲得要求を調停するシステムリソースマネージャ(以下、SRMという)21と、SRM21からの獲得要求に応じてハードウェア資源4の管理を行うハンドラ層8とを含む。
コントロールサービス層7は、ネットワークコントロールサービス(以下、NCSという)13、デリバリーコントロールサービス(以下、DCSという)14、オペレーションパネルコントロールサービス(以下、OCSという)15、ファックスコントロールサービス(以下、FCSという)16、エンジンコントロールサービス(以下、ECSという)17、メモリコントロールサービス(以下、MCSという)18、ユーザインフォメーションコントロールサービス(以下、UCSという)19、システムコントロールサービス(以下、SCSという)20など、一つ以上のサービスプログラムを含むように構成されている。
なお、プラットホーム層6は予め定義されている関数により、アプリケーション層5からの処理要求を受信可能とするAPI28を有するように構成されている。このAPI28は、サービスプログラムを利用するためのインタフェースである。OSは、アプリケーション層5およびプラットホーム層6の各ソフトウェアをプロセスとして並列実行する。
NCS13のプロセスは、ネットワークI/Oを必要とするアプリケーションに対して共通に利用できるサービスを提供するものであり、ネットワーク側から各プロトコルによって受信したデータを各アプリケーションに振り分けたり、各アプリケーションからのデータをネットワーク側に送信する際の仲介を行う。
例えばNCS13は、ネットワークを介して接続されるネットワーク機器とのデータ通信をhttpd(HyperText Transfer Protocol Daemon)により、HTTP(HyperText Transfer Protocol)で制御する。
DCS14のプロセスは、蓄積文書の配信などの制御を行う。OCS15のプロセスは、オペレータと本体制御との間の情報伝達手段となるオペレーションパネルの制御を行う。FCS16のプロセスは、アプリケーション層5からPSTNまたはISDN網を利用したファックス送受信、バックアップ用のメモリで管理されている各種ファックスデータの登録/引用、ファックス読み取り、ファックス受信印刷などを行うためのAPIを提供する。
ECS17のプロセスは、スキャナ25、プロッタ26、その他のハードウェアリソース24などのエンジン部の制御を行う。MCS18のプロセスは、メモリの取得および解放、HDDの利用などのメモリ制御を行う。UCS19は、ユーザ情報の管理を行うものである。
SCS20のプロセスは、アプリケーション管理、操作部制御、システム画面表示、LED表示、ハードウェア資源管理、割り込みアプリケーション制御などの処理を行う。
SRM21のプロセスは、SCS20と共にシステムの制御およびハードウェア資源4の管理を行うものである。例えばSRM21のプロセスは、スキャナ25やプロッタ26などのハードウェア資源4を利用する上位層からの獲得要求に従って調停を行い、実行制御する。
具体的に、SRM21のプロセスは獲得要求されたハードウェア資源4が利用可能であるか(他の獲得要求により利用されていないかどうか)を判定し、利用可能であれば獲得要求されたハードウェア資源4が利用可能である旨を上位層に通知する。また、SRM21のプロセスは上位層からの獲得要求に対してハードウェア資源4を利用するためのスケジューリングを行い、要求内容(例えば、プリンタエンジンによる紙搬送と作像動作、メモリ確保、ファイル生成など)を直接実施している。
また、ハンドラ層8は後述するファックスコントロールユニット(以下、FCUという)の管理を行うファックスコントロールユニットハンドラ(以下、FCUHという)22と、プロセスに対するメモリの割り振り及びプロセスに割り振ったメモリの管理を行うイメージメモリハンドラ(以下、IMHという)23とを含む。SRM21およびFCUH22は、予め定義されている関数によりハードウェア資源4に対する処理要求を送信可能とするエンジンI/F27を利用して、ハードウェア資源4に対する処理要求を行う。
融合機1は、各アプリケーションで共通的に必要な処理をプラットホーム層6で一元的に処理することができる。次に、融合機1のハードウェア構成について説明する。
図2は、融合機1の一実施例のハードウェア構成図を示している。融合機1は、コントローラボード30と、オペレーションパネル39と、FCU40と、エンジン43とを含む。また、FCU40は、G3規格対応ユニット52と、G4規格対応ユニット53とを有する。
また、コントローラボード30は、CPU31と、ASIC36と、HDD38と、システムメモリ(MEM−P)32と、ローカルメモリ(MEM−C)37と、ノースブリッジ(以下、NBと記す)33と、サウスブリッジ(以下、SBと記す)34と、NIC50(Network Interface Card)と、USBデバイス41と、IEEE1394デバイス42と、セントロニクスデバイス51とを含む。
オペレーションパネル39は、コントローラボード30のASIC36に接続されている。また、SB34と、NIC50と、USBデバイス41と、IEEE1394デバイス42と、セントロニクスデバイス51とは、NB33にPCIバスで接続されている。
また、FCU40と、エンジン43は、コントローラボード30のASIC36にPCIバスで接続されている。
なお、コントローラボード30は、ASIC36にローカルメモリ37、HDD38などが接続されると共に、CPU31とASIC36とがCPUチップセットのNB33を介して接続されている。このように、NB33を介してCPU31とASIC36とを接続すれば、CPU31のインタフェースが公開されていない場合に対応できる。
また、ASIC36とNB33とはPCIバスを介して接続されているのでなく、AGP(Accelerated Graphics Port)67を介して接続されている。このように、図2のアプリケーション層5やプラットホーム層6を形成する一つ以上のプロセスを実行制御するため、ASIC36とNB33とを低速のPCIバスでなくAGP35を介して接続し、パフォーマンスの低下を防いでいる。
CPU31は、融合機1の全体制御を行うものである。CPU31は、NCS13、DCS14、OCS15、FCS16、ECS17、MCS18、UCS19、SCS20、SRM21、FCUH22、IMH23をOS上にそれぞれプロセスとして起動して実行させると共に、アプリケーション層5を形成するプリンタアプリ9、コピーアプリ10、ファックスアプリ11、スキャナアプリ12、SDKアプリ60、VAS29を起動して実行させる。
NB33は、CPU31、システムメモリ32、SB34およびASIC36を接続するためのブリッジである。システムメモリ32は、融合機1の描画用メモリなどとして用いるメモリである。SB34は、NB33とPCIバス、周辺デバイスとを接続するためのブリッジである。また、ローカルメモリ37はコピー用画像バッファ、符号バッファとして用いるメモリである。
ASIC36は、画像処理用のハードウェア要素を有する画像処理用途向けのICである。HDD38は、画像の蓄積、プログラムの蓄積、フォントデータの蓄積、フォームの蓄積などを行うためのストレージである。また、オペレーションパネル39は、ユーザからの入力操作を受け付けると共に、ユーザに向けた表示を行う操作部である。
以下、VAS29について説明する。まず、VAS29に関する概要について、図3のSDK関連図を用いて説明する。この図3は、2つのSDKアプリが起動する場合の例を示すものである。図3には、SDKアプリA101と、SDKアプリB104と、VAS102、105と、クライアントスレッドA103と、クライアントスレッドB106と、xCS100とが示されている。
最初にSDKアプリA101について説明する。ステップS101で、SDKアプリA101は、VAS102の初期化を行う。この初期化で、SDKアプリA101は、イベントを受け取るための関数アドレスを渡す。これにより、VAS102は、ステップS102で、クライアント初期化関数をコールし、xCS100との間で通信を行うクライアントスレッドA103を起動する。
これにより、SDKアプリA101は、VSAの利用が可能となり、SDKアプリA101は、ステップS103で、サービス要求処理を実行する。これは、上述したVAS−API130のAPIをコールすることにより実行される。次のステップS104で、VAS102は、サービス要求の実行処理を行う。具体的には、xCS100に対してサービスの実行を要求するコマンドを送信する。
次に、クライアントスレッドA103は、xCS100からイベントの通知があると、ステップS105で、VAS102のイベント通知関数をコールする。次に、VAS102は、ステップS106で、ステップS101の初期化処理で渡されたSDKアプリA101のコールバック関数を呼び出す。これにより、SDKアプリA101は、ステップS107で、VAS−API130からコールバックされる。
次に、SDKアプリB104について説明する。SDKアプリB104もSDKアプリA101と処理概要は同じである。ステップS201で、SDKアプリB104は、イベントを受け取るための関数アドレスを渡す。次に、VAS105は、ステップS202で、クライアント初期化関数をコールし、xCS100との間で通信を行うクライアントスレッドB106を起動する。
SDKアプリB104は、ステップS203で、サービス要求処理を実行する。次のステップS204で、VAS105は、サービス要求の実行処理を行う。次に、クライアントスレッドB106は、xCS100からイベントの通知があると、ステップS205で、VAS105のイベント通知関数をコールする。次に、VAS105は、ステップS206で、ステップS101の初期化処理で渡されたSDKアプリB104のコールバック関数を呼び出す。そして、SDKアプリB104は、ステップS207で、VAS−API130からコールバックされる。
このように、VASは、SDKアプリごとにクライアントスレッドを立ち上げ、SDKアプリにAPIを提供する。
次に、図4のシーケンス図を用いて、SDKアプリ60がサービス層7の機能を実行する場合の処理について説明する。実行要求ハンドル取得段階に対応するステップS301で、SDKアプリ60は、VAS29から実行要求ハンドルを取得する。この実行要求ハンドルとは、32ビットで表現され、同じコマンドを複数同時に実行する際にVAS29が識別用に使用するものであるため、機能実行要求を行う場合は機能ごとに個別の実行要求ハンドル取得を行う必要がある。また、ハンドルは機能実行の為のサブ関数であるパラメータ設定、実行要求、実行結果取得で使用する。この実行結果を取得するためのメモリは、このとき取得される。なお、ステップS301で、ハンドル取得を行えない場合、エラーとしてNULLが返される。
ハンドルを取得すると、SDKアプリ60は、ステップS302で、機能の実行に必要なパラメータの設定であるパラメータ設定Aを行う。このとき、実行要求ハンドルと設定値がVAS29に渡され、SDKアプリ60は、設定結果を戻り値として受け取る。同様に、SDKアプリ60は、ステップS303で、機能の実行に必要なパラメータの設定であるパラメータ設定Bを行う。今の場合、2回のパラメータ設定が行われたが、この回数は実行要求の種類によって異なる。上記ステップS302と、ステップS303は、設定段階に対応する。
次に、SDKアプリ60は、実行要求段階に対応するステップS304で、VAS29に対し、実行要求を行う。このとき、実行要求ハンドルがVAS29に渡される。VAS29は、ステップS305で、サービス層7に対し、API28の関数をコールし、その戻り値を取得する。その戻り値に基づいた値が通知情報に対応し、図4の場合、通知情報は実行結果情報(以下、実行結果と記す)である。なお、VAS29は、このときのサービス層からの実行結果を、ステップS301の際に取得したメモリに保持する。このメモリに保持する処理が保持段階に対応する。ステップS304に対する戻り値は、実行結果ではなく、処理が正常に行われたかを示す戻り値である。
SDKアプリ60は、ステップS306で、VAS29に対し、実行結果の取得を行う。このときSDKアプリ60は、実行要求ハンドルをVAS29に渡し、実行結果の一部である実行結果Aを取得する。同様に、SDKアプリ60は、ステップS307で、VAS29に対し、実行結果Bの取得を行う。今の場合、2回の実行結果の取得が行われたが、この回数は実行要求の種類によって異なる。上記ステップS306とステップS307は取得段階に対応する。
所定の実行結果を取得すると、SDKアプリ60は、実行要求ハンドル解放段階に対応するステップS308で、VAS29に対し、実行要求ハンドル解放を行う。このときも実行要求ハンドルがVAS29に渡される。このとき、実行結果を保持していたメモリは、解放される。
次に、サービス層7から一方的に通知されるイベントに関する処理を、図5のシーケンス図を用いて説明する。まず、ステップS401で、VAS29は、サービス層7からイベントが通知される。このとき、イベントコードとイベントパラメータが通知される。イベントコードは、イベントの種類を示すものである。また、イベントパラメータは、イベントの発生に伴うパラメータである。このイベントパラメータは、SDKアプリ60が取得可能なように、メモリに保持される。
次のステップS402で、VAS29は、SDKアプリ60にイベントを通知する。このとき、イベントコードとイベントハンドルが通知される。このイベントハンドルは、32ビットで表現され、イベントが発生するごとに一意的にそのイベントに割り当てられるもので、以後、SDKアプリ60はこのイベントハンドルを用いてイベントパラメータを取得する。
ステップS403で、SDKアプリ60は、イベントパラメータを取得するイベントパラメータ取得Aを行い、戻り値としてイベントパラメータAを取得する。このとき、イベントハンドルがVAS29に渡される。同様に、ステップS404で、SDKアプリ60は、イベントパラメータを取得するイベントパラメータ取得Bを行い、戻り値としてイベントパラメータBを取得する。
所定のイベントパラメータを取得すると、SDKアプリ60は、イベントハンドル解放段階に対応するステップS405で、VAS29に対し、イベントハンドル解放を行う。このときもイベントハンドルがVAS29に渡される。そして、イベントパラメータを保持していたメモリは解放される。
次に、図6を用いて、実行結果やイベントパラメータが保持されるメモリについて説明する。図6に示されるメモリ122は、システムメモリ32またはローカルメモリ37上に取得されるものである。図6に示されるメモリの場合、5つの値が保持可能となっているが、実行要求やイベントの内容に異なる。
VAS29は、API29からの実行結果またはイベントパラメータ(以下、これら2つを単にパラメータと表現する)を保持する。そして、SDKアプリ60は、1回以上の関数コールにより、パラメータを取得する。例えば、図4、図5で、パラメータを2回に渡り取得しているが、例えばメモリ120に保持されているパラメータを1回目に取得し、メモリ121に保持されているパラメータを2回目に取得する。
上記メモリ120に保持されているパラメータやメモリ121に保持されているパラメータは、分割実行結果情報の例である。
以上のように、複数回に分けて分割して取得することにより、SDKアプリ60は、必要なパラメータのみ取得することができるとともに、SDKアプリ60がパラメータを保持するために取得するメモリの量を減らすことができる。
次に、図7を用いて、C言語での実装例について説明する。図7には、VAS初期化関数150と、コールバック関数151と、SDKアプリプログラム例152と、コールバック関数記述例153とが示されている。以下、この順に説明していく。
VAS初期化関数150は、戻り値130と、引数132、133、134、135を有する関数である。また、sdkVasInit131は関数名である。
戻り値130は、アプリケーションID(以下、アプリIDと記す)を示す。引数132は、オーナーIDを示す。引数133は、キートップ名称構造体を示す。引数134は、ユーザインタフェース制御設定を示す。引数135は、コールバック関数のポインタを示す。
アプリIDとは、SDKアプリ60に一意的に割り当てられたIDである。このアプリIDとオーナーIDとの関係は、以下のようになっている。
オーナーID:0 → アプリID:APLI_ID_SDK1
オーナーID:1 → アプリID:APLI_ID_SDK2
オーナーID:2 → アプリID:APLI_ID_SDK3
例えばオーナーIDが1の場合、アプリIDはAPLI_ID_SDK2となる。このAPLI_ID_SDK2は、一定の値であり、他のAPLI_ID_SDK1、3も同様である。
ユーザインタフェース制御設定は、サービス層7が提供するユーザインタフェースを使用する際に用いられ、コピーやファックスなどで用いられる画面を制御することができる。
コールバック関数のポインタは、VAS29からSDKアプリ60に対するイベント通知の際に呼び出される関数のポインタである。
次に、コールバック関数151について説明する。コールバック関数は、戻り値136と、引数138、139を有する関数である。また、SdkEventCallBacFunction131は関数名である。このコールバック関数は、引数138のイベントコードと、引数139のハンドルをセットして呼び出される。そして、戻り値136が「void」のため、コールバック関数151は、具体的な戻り値を持たない。
次に、SDKアプリプログラム例152について説明する。コード140は、VAS初期化関数で用いられるローカル変数の宣言である。コード141は、VAS初期化関数のコールであり、コード140で宣言されたローカル変数が用いられている。
ちなみに、コード141のVAS初期化関数では、オーナーIDが0であり、コピーサーバーの画面制御が指定されている。
次に、コールバック関数記述例153について説明する。コールバック関数記述例153では、スイッチ文142が用いられる。このスイッチ文142に示されるように、各イベントコードごとに処理が分岐するようになっている。
本発明による融合機の一実施例の構成図である。 本発明による融合機の一実施例のハードウェア構成図である。 SDK関連図である。 SDKアプリがサービス層の機能を実行する処理を示すシーケンス図である。 サービス層から通知されるイベントに関する処理を示すシーケンス図である。 パラメータが保持されるメモリを示す図である。 実装例を示す図である。
符号の説明
1 融合機
2 ソフトウェア群
3 融合機起動部
4 ハードウェア資源
5 アプリケーション層
6 プラットホーム層
7 コントロールサービス層
8 ハンドラ層
9 プリンタアプリ
10 コピーアプリ
11 ファックスアプリ
12 スキャナアプリ
13 ネットワークコントロールサービス(NCS)
14 デリバリーコントロールサービス(DCS)
15 オペレーションパネルコントロールサービス(OCS)
16 ファックスコントロールサービス(FCS)
17 エンジンコントロールサービス(ECS)
18 メモリコントロールサービス(MCS)
19 ユーザインフォメーションコントロールサービス(UCS)
20 システムコントロールサービス(SCS)
21 システムリソースマネージャ(SRM)
22 ファックスコントロールユニットハンドラ(FCUH)
23 イメージメモリハンドラ(IMH)
24 ハードウェアリソース
25 スキャナ
26 プロッタ
27 エンジンI/F(PCI)
28 アプリケーションプログラムインターフェース(API)
29、102、105 VAS
30 コントローラボード
31 CPU
32 システムメモリ(MEM−P)
33 ノースブリッジ(NB)
34 サウスブリッジ(SB)
35 AGP(Accelerated Graphics Port)
36 ASIC
37 ローカルメモリ(MEM−C)
38 ハードディスク装置(HDD)
39 オペレーションパネル
40 ファックスコントロールユニット(FCU)
41 USBデバイス
42 IEEE1394デバイス
43 エンジン部
44 HSM
50 NIC
51 セントロニクス
52 G3規格対応ユニット
53 G4規格対応ユニット
60 SDKアプリ
61 VAS−API
100 xCS
101 SDKアプリA
103 クライアントスレッドA
104 SDKアプリB
106 クライアントスレッドB
120、121、122 メモリ
130、136 戻り値
131 sdkVasInit
132、133、134、135、138、139 引数
137 SdkEventCallBacFunction
140、141、142 コード
150 VAS初期化関数
151 コールバック関数
152 SDKアプリプログラム例
153 コールバック関数記述例

Claims (30)

  1. 画像形成処理で使用されるハードウェア資源と、画像形成に係る処理を実行するサービスプログラムと、前記サービスプログラムを利用するためのインタフェースと、前記サービスプログラムを利用するアプリケーションと、前記インタフェースを簡易化したインタフェースを前記アプリケーションに提供するとともに、前記サービスプログラムにより得られた前記アプリケーションに対する通知情報を保持する簡易インタフェースとを有する画像形成装置でのインタフェース方法であって、
    前記簡易インタフェースが前記通知情報を保持する保持段階と、
    前記アプリケーションが前記保持された通知情報を取得する取得段階と
    を有することを特徴とするインタフェース方法。
  2. 前記通知情報は、前記アプリケーションが前記サービスプログラムを利用することを要求したことにより得られた実行結果情報であることを特徴とする請求項1に記載のインタフェース方法。
  3. 前記アプリケーションが前記サービスプログラムを利用するために必要なパラメータを設定する設定段階を有することを特徴とする請求項2に記載のインタフェース方法。
  4. 前記複数の設定段階を有することを特徴とする請求項3に記載のインタフェース方法。
  5. 前記パラメータを設定後、前記サービスプログラムを利用するための実行要求を、前記アプリケーションが前記簡易インタフェースに通知する実行要求段階を有することを特徴とする請求項3または4に記載のインタフェース方法。
  6. 前記簡易インタフェースは、前記実行要求が通知されると、前記サービスプログラムを実行することを特徴とする請求項5に記載のインタフェース方法。
  7. 前記取得段階では、前記実行結果情報が分割された分割実行結果情報を前記アプリケーションが取得することを特徴とする請求項2に記載のインタフェース方法。
  8. 前記アプリケーションが、前記サービスを利用するために必要な実行要求ハンドルを、前記簡易インタフェースから取得する実行要求ハンドル取得段階を有することを特徴とする請求項1から7のいずれか1項に記載のインタフェース方法。
  9. 前記設定段階と、前記実行要求段階と、前記取得段階では、前記実行要求ハンドルが用いられることを特徴とする請求項8に記載のインタフェース方法。
  10. 前記アプリケーションが、前記実行要求ハンドルを解放する実行要求ハンドル解放段階を有することを特徴とする請求項8または9に記載のインタフェース方法。
  11. 前記実行要求ハンドルが解放されると、前記簡易インタフェースは、前記保持していた通知情報を解放することを特徴とする請求項10に記載のインタフェース方法。
  12. 前記通知情報は、前記サービスプログラムから一方的に通知されるイベント情報であることを特徴とする請求項1に記載のインタフェース方法。
  13. 前記簡易インタフェースは、前記イベント情報が得られると、前記アプリケーションが前記イベント情報を取得するためのイベントハンドルを、前記アプリケーションに通知することを特徴とする請求項12に記載のインタフェース方法。
  14. 前記取得段階では、前記イベントハンドルが用いられることを特徴とする請求項13に記載のインタフェース方法。
  15. 前記アプリケーションが、前記イベントハンドルを解放するイベントハンドル解放段階を有することを特徴とする請求項13または14に記載のインタフェース方法。
  16. 前記イベントハンドルが解放されると、前記簡易インタフェースは、前記保持していた通知情報を解放することを特徴とする請求項15に記載のインタフェース方法。
  17. 画像形成処理で使用されるハードウェア資源と、画像形成に係る処理を行うサービスプログラムとを有する画像形成装置において、
    前記サービスプログラムを利用するためのインタフェースと、
    前記サービスを利用するアプリケーションと、
    前記インタフェースを簡易化したインタフェースを前記アプリケーションに提供するとともに、前記サービスから通知された前記アプリケーションに対する通知情報を保持する簡易インタフェースとを有し、
    前記アプリケーションは、前記保持された通知情報を取得することを特徴とする画像形成装置。
  18. 前記通知情報は、前記アプリケーションが前記サービスプログラムを利用することを要求したことにより得られた実行結果情報であることを特徴とする請求項1に記載の画像形成装置。
  19. 前記アプリケーションは、前記サービスプログラムを利用するために必要なパラメータを設定することを特徴とする請求項18に記載の画像形成装置。
  20. 前記パラメータの設定は複数回行われることを特徴とする請求項19に記載の画像形成装置。
  21. 前記パラメータを設定後、前記サービスプログラムを利用するための実行要求を、前記アプリケーションが前記簡易インタフェースに通知することを特徴とする請求項19または20に記載の画像形成装置。
  22. 前記簡易インタフェースは、前記実行要求が通知されると、前記サービスプログラムを実行することを特徴とする請求項21に記載の画像形成装置。
  23. 前記アプリケーションは、前記実行結果情報が分割された分割実行結果情報を取得することを特徴とする請求項18に記載の画像形成装置。
  24. 前記アプリケーションは、前記サービスを利用するために必要な実行要求ハンドルを、前記簡易インタフェースから取得することを特徴とする請求項17から23のいずれか1項に記載の画像形成装置。
  25. 前記アプリケーションは、前記実行要求ハンドルを解放することを特徴とする請求項24に記載の画像形成装置。
  26. 前記実行要求ハンドルが解放されると、前記簡易インタフェースは、前記保持していた通知情報を解放することを特徴とする請求項25に記載の画像形成装置。
  27. 前記通知情報は、前記サービスプログラムから一方的に得られるイベント情報であることを特徴とする請求項17に記載の画像形成装置。
  28. 前記簡易インタフェースは、前記イベント情報が得られると、前記アプリケーションが前記イベント情報を取得するためのイベントハンドルを、前記アプリケーションに通知することを特徴とする請求項27に記載の画像形成装置。
  29. 前記アプリケーションが、前記イベントハンドルを解放することを特徴とする請求項28に記載の画像形成装置。
  30. 前記イベントハンドルが解放されると、前記簡易インタフェースは、前記保持していた通知情報を解放することを特徴とする請求項29に記載の画像形成装置。
JP2004034999A 2004-02-12 2004-02-12 画像形成装置、インタフェース方法 Pending JP2005229270A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004034999A JP2005229270A (ja) 2004-02-12 2004-02-12 画像形成装置、インタフェース方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004034999A JP2005229270A (ja) 2004-02-12 2004-02-12 画像形成装置、インタフェース方法

Publications (1)

Publication Number Publication Date
JP2005229270A true JP2005229270A (ja) 2005-08-25

Family

ID=35003655

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004034999A Pending JP2005229270A (ja) 2004-02-12 2004-02-12 画像形成装置、インタフェース方法

Country Status (1)

Country Link
JP (1) JP2005229270A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009071611A (ja) * 2007-09-13 2009-04-02 Ricoh Co Ltd 画像形成装置、画像形成装置内のデータ処理方法、及びデータ処理プログラム

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09319757A (ja) * 1996-05-29 1997-12-12 N T T Data Tsushin Kk 情報検索システム
JP2000057082A (ja) * 1998-08-12 2000-02-25 Nec Corp 上位アプリケーション資産を継承した新機種外部機器制御方式
JP2002082926A (ja) * 2000-09-06 2002-03-22 Nippon Telegr & Teleph Corp <Ntt> 分散アプリケーション試験・運用管理システム
JP2002297417A (ja) * 2001-03-30 2002-10-11 Ricoh Co Ltd 画像出力装置
WO2003027835A2 (en) * 2001-09-27 2003-04-03 Intel Corporation A method for providing system integrity and legacy environment emulation
JP2003330735A (ja) * 2002-05-08 2003-11-21 Ricoh Co Ltd 画像形成装置および共有メモリ調停方法
JP2003345751A (ja) * 2002-05-22 2003-12-05 Nippon Telegr & Teleph Corp <Ntt> プラットフォーム制御方法、プラットフォーム制御装置、プラットフォーム制御プログラムおよびそのプログラムを格納した記憶媒体
JP2004005612A (ja) * 2002-04-26 2004-01-08 Ricoh Co Ltd リソース情報を取得する装置及び方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09319757A (ja) * 1996-05-29 1997-12-12 N T T Data Tsushin Kk 情報検索システム
JP2000057082A (ja) * 1998-08-12 2000-02-25 Nec Corp 上位アプリケーション資産を継承した新機種外部機器制御方式
JP2002082926A (ja) * 2000-09-06 2002-03-22 Nippon Telegr & Teleph Corp <Ntt> 分散アプリケーション試験・運用管理システム
JP2002297417A (ja) * 2001-03-30 2002-10-11 Ricoh Co Ltd 画像出力装置
WO2003027835A2 (en) * 2001-09-27 2003-04-03 Intel Corporation A method for providing system integrity and legacy environment emulation
JP2005528665A (ja) * 2001-09-27 2005-09-22 インテル コーポレイション システムインテグリティとレガシー環境とを提供するための方法
JP2004005612A (ja) * 2002-04-26 2004-01-08 Ricoh Co Ltd リソース情報を取得する装置及び方法
JP2003330735A (ja) * 2002-05-08 2003-11-21 Ricoh Co Ltd 画像形成装置および共有メモリ調停方法
JP2003345751A (ja) * 2002-05-22 2003-12-05 Nippon Telegr & Teleph Corp <Ntt> プラットフォーム制御方法、プラットフォーム制御装置、プラットフォーム制御プログラムおよびそのプログラムを格納した記憶媒体

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009071611A (ja) * 2007-09-13 2009-04-02 Ricoh Co Ltd 画像形成装置、画像形成装置内のデータ処理方法、及びデータ処理プログラム

Similar Documents

Publication Publication Date Title
US8305591B2 (en) Image forming apparatus and methods used in the image forming apparatus
JP4276909B2 (ja) 画像形成装置およびアプリ起動制御方法
EP1416709A1 (en) Image forming apparatus, a scanned data process method, a computer program and a computer readable storage medium
US7760387B2 (en) Image forming device, hardware control method, and hardware control program
JP4373742B2 (ja) 画像形成装置およびアプリ起動制限方法
JP4340120B2 (ja) 画像形成装置、記憶領域取得方法
JP2004005612A (ja) リソース情報を取得する装置及び方法
JP2004030601A (ja) リソース情報によりアプリケーション起動判断を行う装置及び方法
JP6343913B2 (ja) 画像形成装置及び画像形成装置の制御方法
JP4565024B2 (ja) アプリケーションプログラム、画像形成装置、及びアプリケーションプログラム実行方法
JP4128506B2 (ja) 画像形成装置およびアプリケーション情報取得方法
JP4001531B2 (ja) 画像形成装置
JP4246560B2 (ja) 情報処理装置、情報処理方法、プログラム、及び記録媒体
JP4676977B2 (ja) 画像形成装置、アプリケーション情報取得方法、及びプログラム
JP2009137165A (ja) 画像形成装置、情報処理方法及びプログラム
JP2005229270A (ja) 画像形成装置、インタフェース方法
JP3715629B2 (ja) 画像処理装置およびユーザ情報管理方法
JP2005175595A (ja) 画像形成装置、画像形成装置製造方法
JP2009194862A (ja) 情報取得方法、画像形成装置、および画像形成システム
JP2003174533A (ja) 画像形成装置、プロセス間通信履歴表示方法およびその方法をコンピュータに実行させるプログラム
JP3914163B2 (ja) ユーザ情報管理方法および画像形成装置
JP4485749B2 (ja) 画像形成装置
JP4677054B2 (ja) 画像形成装置、プログラム、記録媒体、及び方法
JP3865242B2 (ja) ユーザ情報管理方法および情報処理装置
JP5042079B2 (ja) 画像処理装置及びアプリケーション起動方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060925

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080818

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080826

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081024

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081118

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090113

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090210