JP4365148B2 - 画像形成装置及びラッピング処理方法並びにプログラム - Google Patents

画像形成装置及びラッピング処理方法並びにプログラム Download PDF

Info

Publication number
JP4365148B2
JP4365148B2 JP2003196228A JP2003196228A JP4365148B2 JP 4365148 B2 JP4365148 B2 JP 4365148B2 JP 2003196228 A JP2003196228 A JP 2003196228A JP 2003196228 A JP2003196228 A JP 2003196228A JP 4365148 B2 JP4365148 B2 JP 4365148B2
Authority
JP
Japan
Prior art keywords
application
function
vas
control service
version
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP2003196228A
Other languages
English (en)
Other versions
JP2004098658A (ja
Inventor
勉 大石
克彦 中川
邦洋 秋吉
浩行 田中
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2003196228A priority Critical patent/JP4365148B2/ja
Priority to EP03015644A priority patent/EP1383303B1/en
Priority to DE60331505T priority patent/DE60331505D1/de
Priority to US10/621,450 priority patent/US20040057067A1/en
Priority to CNB031556434A priority patent/CN1282046C/zh
Publication of JP2004098658A publication Critical patent/JP2004098658A/ja
Application granted granted Critical
Publication of JP4365148B2 publication Critical patent/JP4365148B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32502Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device in systems having a plurality of input or output devices
    • H04N1/32507Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device in systems having a plurality of input or output devices a plurality of input devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32502Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device in systems having a plurality of input or output devices
    • H04N1/32523Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device in systems having a plurality of input or output devices a plurality of output devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32561Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device using a programmed control device, e.g. a microprocessor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0077Types of the still picture apparatus
    • H04N2201/0082Image hardcopy reproducer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0077Types of the still picture apparatus
    • H04N2201/0086Image transceiver

Description

【0001】
【発明の属する技術分野】
この発明は、コピー、プリンタ、スキャナおよびファクシミリなどの画像形成処理にかかるユーザサービスを提供する画像形成装置に関し、特に、アプリケーションとアプリケーションが利用するサービスとの間でバージョン差が生じた場合に、バージョン差を吸収できる画像形成装置に関するものである。
【0002】
【従来の技術】
近年では、プリンタ、コピー、ファクシミリ、スキャナなどの各装置の機能を1つの筐体内に収納した画像形成装置(以下、「複合機」という。)が一般的に知られている。この複合機は、1つの筐体内に表示部、印刷部および撮像部などを設けるとともに、プリンタ、コピーおよびファクシミリ装置にそれぞれ対応する3種類のソフトウェアを設け、これらのソフトウェアを切り替えることによって、当該装置をプリンタ、コピー、スキャナ又はファクシミリ装置として動作させるものである。
【0003】
このような従来の複合機では、プリンタ、コピー、ファクシミリ、スキャナなどの各機能単位でアプリケーションプログラムが起動され、ハードウェア資源にアクセスする機能を持ち合わせている。その際、アプリケーションプログラムが前提としているオペレーティングシステム(OS)のバージョンと、実際のオペレーティングシステム(OS)のバージョンとが同じことが前提となるが、例えば、OSをバージョンアップしてアプリケーションとの間でバージョン差が生じた場合、今まで使えていた機能が使えなくなったり、アプリケーションそのものが起動しなくなったりすることがある。
【0004】
このため、従来の複合機では、OSなどをバージョンアップすると、それに伴ってアプリケーションの方もコンパイルし直すことで、常に対応したバージョン関係にあることが要請されている。
【0005】
【特許文献1】
特開2002−82806号公報
【0006】
【発明が解決しようとする課題】
ところで、このような従来の複合機では、プリンタ、コピー、スキャナおよびファクシミリ装置に対応するソフトウェアがそれぞれ別個に設けられているため、各ソフトウェアの開発に多大の時間を要する。このため、出願人は、表示部、印刷部および撮像部などの画像形成処理で使用されるハードウェア資源を有し、プリンタ、コピー又はファクシミリなどの各ユーザサービスにそれぞれ固有の処理を行うアプリケーションを複数搭載し、これらのアプリケーションとハードウェア資源との間に介在して、ユーザサービスを提供する際に、アプリケーションの少なくとも2つが共通的に必要とするハードウェア資源の管理、実行制御並びに画像形成処理を行う各種コントロールサービスからなるプラットホームを備えた画像形成装置(複合機)を発明した。
【0007】
このような新規な複合機では、アプリケーションとコントロールサービスとを別個に設けているため、複合機の出荷後にユーザもしくは第三者であるサードベンダが新規なアプリケーションを開発して複合機に搭載することが可能となり、これによって多種多様な機能を提供することが可能となる。
【0008】
このような新規な複合機では、アプリケーションの少なくとも2つが共通に必要とするサービスを提供するコントロールサービスをアプリケーションと別個に設けた構成となっているため、新規アプリケーションを開発する場合には、各種コントロールサービスとのプロセス間通信を実現する処理をソースコードで記述する必要がある。しかしながら、新規アプリケーションを開発する場合、各コントロールサービスが提供する関数やメッセージなどを正確に把握した上で、予め規定された手順で記述しなければならず、各コントロールサービスやアプリケーションからの処理要求を受信可能とするアプリケーションプログラムインタフェース(API)をデバッグや機能追加によって繰り返しバージョンアップすると、ベンダーはどのバージョンに合わせてアプリケーション開発すればよいかが非常に分かり難くなり、アプリケーションの開発が難しくなる。また、バージョンn差のあるアプリケーションを実行させることにより、システムに影響を及ぼす恐れもある。このことは、固定的な複数の機能を寄せ集めた従来の複合機では問題にならなかった新規な課題である。
【0009】
また、各コントロールサービスとアプリケーションのインタフェース(API)のすべてを、新規アプリケーションを開発するサードベンダなどの第三者に開示することは、プログラムの秘匿性、システムの安全性の観点から好ましくない。
【0010】
この発明は上記に鑑みてなされたもので、バージョンアップ等によりアプリケーションが使用している関数とコントロールサービス側の関数とで差異が生じた場合でも、アプリケーションのソースプログラムを書き換えることなく、関数呼び出しを行うことを可能とする技術を提供することを目的とする。また、コントロールサービスからアプリに通知されるメッセージを秘匿する技術を提供することを目的とする。
【0011】
【課題を解決するための手段】
上記目的を達成するため、請求項1にかかる発明は、画像形成に関する処理を行うアプリケーションと、当該アプリケーションからの関数呼び出しに基づきシステム側の処理を行うコントロールサービスとを備えた画像形成装置において、コントロールサービス側の関数がバージョンアップされたことにより、当該関数の引数が追加されているか否かを示す情報を格納する格納手段と、アプリケーションから関数の呼び出しがあったときに、前記格納手段に格納された情報を参照し、当該情報に基づき、アプリケーションから呼び出される当該関数に対応するコントロールサービス側の関数において引数の追加があったと判断した場合に、アプリケーションから呼び出される前記関数を、当該関数の引数とダミーの引数とを含む関数変換し、変換後の関数を用いてコントロールサービスへの関数呼び出しを行うラッピング処理手段を備える。
【0012】
本発明によれば、アプリケーションから呼び出された関数を変換して、関数呼び出しを行うので、アプリケーションが使用している関数とコントロールサービス側の関数とで差異が生じた場合でも、アプリケーションのソースプログラムを書き換えることなく、関数呼び出しを行うことが可能となる。
【0029】
請求項に記載の発明は、上記の画像形成装置における処理の方法の発明である。請求項に記載の発明は、上記の画像形成装置における処理の手順を画像形成装置に実行させるためのプログラムである。また、請求項に記載の発明は、そのプログラムを格納したコンピュータ読み取り可能な記録媒体である。これらの発明によっても上記の画像形成装置の発明と同様の効果を奏する。
【0030】
【発明の実施の形態】
以下に添付図面を参照して、本発明の好適な実施の形態を詳細に説明する。
【0031】
(実施の形態1)
図1は、この発明の実施の形態1である画像形成装置(以下、「複合機」という)の構成を示すブロック図である。図1に示すように、複合機100は、白黒レーザプリンタ(B&W LP)101と、カラーレーザプリンタ(Color LP)102と、スキャナ、ファクシミリ、ハードディスク、メモリ、ネットワークインタフェースなどのハードウェアリソース103を有するとともに、プラットホーム120とアプリケーション130と仮想アプリケーションサービス(VAS:Virtual Application Service)140から構成されるソフトウェア群110を備えている。
【0032】
仮想アプリケーションサービス(VAS)140は、アプリケーション130とプラットホーム120の間に配置される。VAS140は、アプリから見るとプラットホーム120のサービス層として認識され、サービス層から見るとアプリとして認識されるように登録される。また、VAS140は、アプリに対してはサーバプロセスとして動作し、各コントロールサービスに対してはクライアントプロセスとして動作する。
【0033】
このVAS140の第1の基本機能は、アプリケーションがコントロールサービスの機能を利用するために使用しているAPIとしての関数と、コントロールサービスが提供するAPIとしての関数との間でのバージョン差を吸収する機能である。この機能により、バージョン差があったとしても、アプリケーション130を再コンパイルすることなくそのまま関数呼び出しを行うことができる。また、コントロールサービスからのメッセージを取捨選択することによってプラットホーム120を隠蔽する機能もある。これらをラッピング機能という。
【0034】
VAS140の第2の基本機能は、アプリがVAS140に対して使用する関数のバージョンと、VAS140が有する関数のバージョンとのバージョン差を検出し、その検出されたバージョン差がVAS140によってサポート可能な範囲か否かを判定して、その判定結果をアプリに通知する機能を有している。これにより、例えばアプリ動作前にバージョンが適切かどうかを判断できる。これをバージョン管理機能という。
【0035】
なお、VAS140のプログラムを、例えば、SD(Secure Digital)カードに格納して、そこからVAS140を起動することも可能である。また、ネットワーク接続されたサーバにVAS140のプログラムを格納しておき、そこからネットワーク経由でVAS140を複合機100にインストール、もしくは、起動することが可能である。
【0036】
プラットホーム120は、アプリケーションからの処理要求を解釈してハードウェア資源の獲得要求を発生させるコントロールサービスと、一又は複数のハードウェア資源の管理を行い、コントロールサービスからの獲得要求を調停するシステムリソースマネージャ(SRM)123と、汎用OS121とを有する。
【0037】
コントロールサービスは、複数のサービスモジュールから形成され、SCS(システムコントロールサービス)122と、ECS(エンジンコントロールサービス)124と、MCS(メモリコントロールサービス)125と、OCS(オペレーションパネルコントロールサービス)126と、FCS(ファックスコントロールサービス)127と、NCS(ネットワークコントロールサービス)128とから構成される。なお、このプラットホーム120の各サービスは、予め定義された関数により前記アプリケーション130から処理要求を受信可能とするアプリケーションプログラムインタフェース(API)を有している。
【0038】
汎用OS121は、UNIX(登録商標)などの汎用オペレーティングシステムであり、プラットホーム120並びにアプリケーション130の各ソフトウェアをそれぞれプロセスとして並列実行する。
【0039】
SRM123のプロセスは、SCS122とともにシステムの制御およびリソースの管理を行うものである。SRM123のプロセスは、スキャナ部やプリンタ部などのエンジン、メモリ、HDDファイル、ホストI/O(セントロI/F、ネットワークI/F、IEEE1394 I/F、RS232C I/Fなど)のハードウェア資源を利用する上位層からの要求にしたがって調停を行い、実行制御する。
【0040】
具体的には、このSRM123は、要求されたハードウェア資源が利用可能であるか(他の要求により利用されていないかどうか)を判断し、利用可能であれば要求されたハードウェア資源が利用可能である旨を上位層に伝える。また、SRM123は、上位層からの要求に対してハードウェア資源の利用スケジューリングを行い、要求内容(例えば、プリンタエンジンにより紙搬送と作像動作、メモリ確保、ファイル生成など)を直接実施している。
【0041】
SCS122のプロセスは、アプリ管理、操作部制御、システム画面表示、LED表示、リソース管理、割り込みアプリ制御などを行う。
【0042】
ECS124のプロセスは、白黒レーザプリンタ(B&W LP)101、カラーレーザプリンタ(Color LP)102、スキャナ、ファクシミリなどからなるハードウェアリソース103のエンジンの制御を行う。
【0043】
MCS125のプロセスは、画像メモリの取得および解放、ハードディスク装置(HDD)の利用、画像データの圧縮および伸張などを行う。
【0044】
FCS127のプロセスは、システムコントローラの各アプリ層からPSTN/ISDN網を利用したファクシミリ送受信、BKM(バックアップSRAM)で管理されている各種ファクシミリデータの登録/引用、ファクシミリ読みとり、ファクシミリ受信印刷、融合送受信を行うためのAPIを提供する。
【0045】
NCS128のプロセスは、ネットワークI/Oを必要とするアプリケーションに対して共通に利用できるサービスを提供するためのプロセスであり、ネットワーク側から各プロトコルによって受信したデータを各アプリケーションに振り分けたり、アプリケーションからデータをネットワーク側に送信する際の仲介を行う。具体的には、ftpd、httpd、lpd、snmpd、telnetd、smtpdなどのサーバデーモンや、同プロトコルのクライアント機能などを有している。
【0046】
OCS126のプロセスは、オペレータ(ユーザ)と本体制御間の情報伝達手段となるオペレーションパネル(操作パネル)の制御を行う。OCS126は、オペレーションパネルからのキー押下をキーイベントとして取得し、取得したキーに対応したキーイベント関数をSCS122に送信するOCSプロセスの部分と、アプリケーション130又はコントロールサービスからの要求によりオペレーションパネルに各種画面を描画出力する描画関数やその他オペレーションパネルに対する制御を行う関数などが予め登録されたOCSライブラリの部分とから構成される。このOCSライブラリは、アプリケーション130およびコントロールサービスの各モジュールにリンクされて実装されている。なお、OCS126のすべてをプロセスとして動作させるように構成しても良く、あるいはOCS126のすべてをOCSライブラリとして構成しても良い。
【0047】
アプリケーション130は、ページ記述言語(PDL)、PCLおよびポストスクリプト(PS)を有するプリンタ用のアプリケーションであるプリンタアプリ111と、コピー用アプリケーションであるコピーアプリ112と、ファクシミリ用アプリケーションであるファックスアプリ113と、スキャナ用アプリケーションであるスキャナアプリ114と、ネットワークファイル用アプリケーションであるネットファイルアプリ115と、工程検査用アプリケーションである工程検査アプリ116とを有している。これらの各アプリは、その起動時にVAS140に対して自プロセスのプロセスIDとともにアプリ登録要求メッセージを送信し、アプリ登録要求メッセージを受信したVAS140によって、起動したアプリに対する登録が行われるようになっている。
【0048】
アプリケーション130の各プロセス、コントロールサービスの各プロセスは、関数呼び出しとその戻り値送信およびメッセージの送受信によってプロセス間通信を行いながら、コピー、プリンタ、スキャナ、ファクシミリなどの画像形成処理にかかるユーザサービスを実現している。
【0049】
このように、実施の形態1にかかる複合機100には、複数のアプリケーション130および複数のコントロールサービスが存在し、いずれもプロセスとして動作している。そして、これらの各プロセス内部には、一又は複数のスレッドが生成されて、スレッド単位の並列実行が行われる。そして、コントロールサービスがアプリケーション130に対し共通サービスを提供しており、このため、これらの多数のプロセスが並列動作、およびスレッドの並列動作を行って互いにプロセス間通信を行って協調動作をしながら、コピー、プリンタ、スキャナ、ファクシミリなどの画像形成処理にかかるユーザサービスを提供するようになっている。また、複合機100には、サードベンダなどの第三者がコントロールサービス層の上のアプリケーション層に新規アプリ117、118を開発して搭載することが可能となっている。図1では、この新規アプリ117、118を搭載した例を示している。
【0050】
なお、実施の形態1にかかる複合機100では、複数のアプリケーション130のプロセスと複数のコントロールサービスのプロセスとが動作しているが、アプリケーション130とコントロールサービスのプロセスをそれぞれ単一の構成とすることも可能である。また、各アプリケーション130は、アプリケーションごとに追加又は削除することができる。更に、実施の形態1にかかる複合機100では、VAS140に加えてダイナミックリンクライブラリ(DLL)を採用することが可能である。
【0051】
図2に複合機100のハードウェア構成例を示す。
【0052】
複合機100は、コントローラ160と、オペレーションパネル175と、ファックスコントロールユニット(FCU)176と、プリンタ等の画像形成処理に特有のハードウェア資源であるエンジン部177とを含む。コントローラ160は、CPU161と、システムメモリ162と、ノースブリッジ(NB)163と、サウスブリッジ(SB)164と、ASIC166と、ローカルメモリ167と、HDD168と、ネットワークインターフェースカード(NIC)169と、SDカード用スロット170と、USBデバイス171と、IEEE1394デバイス172と、セントロニクス173とを含む。なお、メモリ162、167はRAM、ROM等を含む。FCU176およびエンジン部177は、コントローラ160のASIC166にPCIバス178で接続されている。
【0053】
CPU161が、複合機100にインストールされるアプリケーション、コントロールサービス等のプログラムを、メモリから読み出して実行する。
【0054】
図3は、実施の形態1にかかる複合機100のVAS140の構成と、VAS140と各アプリ、コントロールサービス層150および汎用OS121との関係を示すブロック図である。なお、図3では、アプリケーション130の例として、プリンタアプリ111、コピーアプリ112、新規アプリ117、118を示しているが、更にアプリを追加することもできる。
【0055】
仮想アプリケーションサービス(VAS)140のプロセスには、ディスパッチャ144と、制御スレッド143と、ラッピング処理スレッド141と、バージョン管理スレッド142とが動作している。
【0056】
ディスパッチャ144は、アプリケーション130やコントロールサービスからのメッセージ受信を監視し、受信したメッセージに応じて制御スレッド143、ラッピング処理スレッド141、バージョン管理スレッド142に処理要求を行うものである。実施の形態1の複合機100では、ディスパッチャ144は、各アプリが起動したときにアプリからのアプリ登録要求メッセージを受信すると、そのアプリ登録要求メッセージを制御スレッド143に送信する。
【0057】
制御スレッド143は、ディスパッチャ144からアプリ登録要求メッセージを受信してアプリ登録処理を行う。ここで、アプリ登録処理とは、RAM210にアプリ登録テーブル(図示せず)を生成し、アプリ登録要求メッセージを送信したアプリの識別情報であるアプリIDをアプリ登録テーブルに記録する処理をいう。また、制御スレッド143は、HD200に格納されたラッピング処理情報ファイル201を参照して、アプリ登録要求を行ったアプリについて、ラッピング処理情報が記録されているか否かをチェックする。
【0058】
ラッピング処理スレッド141の機能概要は次のとおりである。
【0059】
コントロールサービスが提供する関数(API)がバージョンアップして引数の追加等がされたが、アプリ側でそのコントロールサービスに対して使用するその関数はバージョンアップ前のものであったとしても、ラッピング処理スレッド141がアプリ側から呼び出された関数の変更を行うことにより、バージョン差を吸収するというものである。
【0060】
更に、ラッピング処理スレッド141は、ラッピング処理情報ファイル201を参照することにより、コントロールサービス層150からアプリに対して通知されるメッセージを選択する機能を有している。特に、複合機100のシステムに大きく影響を与えるインタフェースについては、サードベンダなどの第三者に対し隠蔽しておき、直接コントロールサービスに対してアクセスすることを回避する。これにより、複合機のセキュリティ面および障害発生の未然防止を行うことができる。
【0061】
また、バージョン管理スレッド142は、制御スレッド143からの処理要求を受け、アプリがVAS140に対して使用する関数のバージョンと、実際のVAS140が有する関数のバージョンとの違いを検出し、バージョン管理テーブル211を参照することにより、発生したバージョン差がVAS140によってサポート可能な範囲か否かを判定する。
【0062】
図4は、HD200に格納されるラッピング処理情報ファイル201の内容例を示す説明図である。図4に示すように、ラッピング処理情報ファイル201は、コントロールサービス層150からアプリに対するメッセージ(イベント)の非通知設定を行うための情報ファイルであり、複合機100のシステムに大きく影響を与えるインタフェースについては第三者に対して隠蔽するよう、メッセージごとに任意の非通知設定を行うことができる。図4のイベントAとCは、非通知設定がなされているのでアプリには通知されず、また、イベントBのように非通知設定がなされていないイベントについては、通常通り通知が行われる。
【0063】
図5は、バージョン管理テーブル211の内容例を示す説明図である。なお、このテーブルは、VAS140の実行ファイルに含める形で実装でき、VAS140が実行される際には例えばRAM210に展開される。実行ファイルにテーブル211を含めるには、例えば、図5に示すバージョン情報をインクルードファイルとして作成しておき、作成したプログラムにインクルードしてコンパイルする。また、このテーブルを別ファイルとし、これを複合機100に格納しておき、VAS140が適宜このファイルを参照してもよい。
【0064】
図5に示すように、このバージョン管理テーブル211には、VAS140の全体バージョン番号と、VAS140がサポート可能なアプリの全体バージョンの範囲が記録されている。なお、サポート可能な範囲は、例えば、複合機100で使用されるVAS140のバージョンより一定範囲前のバージョンまでである。
【0065】
なお、ここで、VAS140の全体バージョンとは、VAS140が提供する関数のセットのバージョンであり、アプリの全体バージョンとは、アプリがVAS140に対して使用する関数のセットのバージョンである。なお、アプリがVAS140に対して使用する関数のセットのバージョン、アプリを作成するときに使用したVAS140の関数セットのバージョンと同じである。
【0066】
更に、バージョン管理テーブル211は、関数毎に、VAS140の関数のバージョン番号とその関数がサポートできる、アプリ側がVAS140に対して使用する関数のバージョンの範囲を含んでいる。なお、VAS140は上記のように各機能をスレッドとして実装してもよいし、1つのプロセスとして動作するようにしてもよい。
【0067】
次に、このように構成された複合機100のVAS140によるラッピング処理とバージョン管理について説明する。まず、ラッピング処理について説明する。
【0068】
図6は、VAS140のラッピング処理スレッドによるラッピング処理の手順を示すフローチャートである。
【0069】
コントロールサービスが提供する関数がバージョンアップされた場合、その関数と、アプリがそのコントロールサービスに対して使用する関数との間にバージョン差が生じる。このような場合に、上記関数間の違いを吸収するためのVAS140の処理を図6を用いて説明する。
【0070】
なお、VAS140は、各コントロールサービスに対する関数毎に、その前のバージョンに対して、関数がバージョンアップされているか否か、バージョンアップされているとすればそのバージョンアップがどのようなものかを示す情報を有している。この情報は、VAS140のプログラムの作成時に、例えば図7に示すテーブルの形式でプログラムに含めることができる。なお、バージョンアップの態様としては、例えば、関数の追加、分割、削除、変更、統合があり、また、引数の追加、分割、削除がある。
【0071】
まず、ステップS601において、アプリからの処理要求に対応する関数がバージョンアップされているか否かを図7の情報を参照することによりチェックする。バージョンアップされていなければ通常の処理を行う(ステップS604)。バージョンアップされていれば、そのバージョンアップの態様が、関数の分割又は引数の追加かどうかを判断する(ステップS602)。
【0072】
ここで、関数の分割又は引数の追加、のいずれでもない場合には、バージョンアップが関数の削除、変更、統合等である。この場合には、アプリからの要求に対応する関数がコントロールサービス側に存在しなくなるため、アプリからの関数呼び出しがあってもその処理を行うことができない。このため、アプリに対してNGであることを通知し(ステップS605)、終了を処理する(ステップS606)。
【0073】
一方、ステップS602において、関数の分割、引数の追加である場合、対応する関数の数、引数の数が増えるため、増えた部分にダミー関数、又は、ダミー引数を補填する(ステップS603)、そして、通常の処理を行う(ステップ604)。なお、ダミー引数を補充する場合のVAS140の記述例を図8に示す。図8に示すように、アプリ側から要求を受ける関数“API_for_Apli_No1(int arg1, int arg2)”を、引数dummyを含む“API_for_XCS_No1(arg1, arg2, dummy)”に変換している。
【0074】
なお、関数が追加されたことによりコントロールサービスがバージョンアップしている場合には、既存の関数自体は変化しないことから、追加された機能はアプリから使えないが、アプリからの関数呼び出しには影響を与えない。
【0075】
次に、コントロールサービスの特定のインタフェースを隠蔽するための処理について説明する。コントロールサービスからアプリに対して全てメッセージ通知(例えば、イベント通知)が行われるとすると、複合機100のシステムに大きく影響を与えるコントロールサービスに対して直接アクセスすることが可能となり、複合機のセキュリティ面および障害発生を未然に防止する面から好ましくない。
【0076】
そこで、実施の形態1では、非通知とするイベントを、図4のラッピング処理情報ファイル201に予め設定する。この設定はどのようにして行ってもよい。例えば、複合機100外でラッピング処理情報ファイル201を作成し、複合機100に格納してもよいし、VAS140が設定のための画面をオペレーションパネルに表示し、そこから設定してもよい。また、VAS140の実行ファイルに含めるようにして実装してもよい。
【0077】
図9は、VAS140によりラッピング処理を行う手順を示すフローチャートである。
【0078】
あるコントロールサービスからアプリに向けてメッセージ通知がなされる場合、ラッピング処理スレッド141がラッピング処理情報ファイル201を参照する(ステップS701)。そのメッセージに対して非通知設定がなされているかどうかをチェックし(ステップS702)、そのメッセージに対して非通知設定がなされていれば、ラッピング処理スレッド141はそのメッセージをアプリに通知しない(ステップS703)。また、上記ステップS701において、上記のメッセージに対してラッピング処理情報ファイル201内の設定自体が行われていないか、非通知設定されていない場合は、通常通りアプリにメッセージが通知される(ステップS704)。
【0079】
ここでは、特定のイベントをアプリに通知するか否かを任意かつ事前に設定できるようにしたため、複合機のセキュリティ面および障害発生を未然に防止することが可能になる。また、実施の形態1では、新規アプリケーションを開発するサードベンダなどの第三者に特定のインタフェースを開示する必要があるため、開示できるインタフェースを自由に選択できるようにすることは非常に重要である。
【0080】
次に、アプリがVAS140に対して使用する関数(API)と、VAS140が有する関数とのバージョン差をチェックする手順について説明する。上記のように、VAS140により、アプリとコントロールサービス間での関数のバージョン差を吸収するが、VAS140自体のバージョンアップにより、VAS140がアプリに対して提供する関数と、アプリがVAS140に対して使用する関数との間でバージョン差が生じることがある。これから説明する処理は、バージョン差をチェックし、VAS140がサポートできる範囲のバージョン差であればVAS140の通常の処理を行うというものである。
【0081】
この処理では、アプリ自身が、全体バージョン情報と、VAS140に対して使用する関数毎のバージョン情報を保持し、アプリが起動したときに、その情報をプロセス間通信によりVAS140に通知している。アプリ側のこのバージョン情報は、例えばアプリの作成時にアプリに含められる。
【0082】
VAS140によるバージョンチェック時期としては、アプリが実行される前であれば良く、例えばここではアプリ登録時に行ったが、これに限定されない。例えば、アプリを仮起動させて、そのときにVAS140がバージョンチェックを行ってもよい。仮起動とは、VAS140が、アプリとのプロセス間通信によりアプリの情報を取得するためだけにアプリを起動することである。なお、この場合のアプリは仮起動可能なように作られている。
【0083】
登録時には次のような処理が行われる。
【0084】
ディスパッチャ144が、起動されたアプリからアプリ登録要求メッセージを受信すると、アプリ登録要求メッセージをそのアプリのプロセスIDとともに制御スレッド143に受け渡す。制御スレッド143は、アプリ登録要求メッセージとプロセスIDをディスパッチャ144から受信すると、アプリを識別するアプリIDを決定して、RAM210などに格納したアプリ登録テーブル(図示せず)にアプリIDを記録することにより、アプリ登録が行われる。なお、アプリIDは、コピーアプリ112、プリンタアプリ111など既存のアプリケーションについては、予め定められており、各アプリIDをVAS140の内部で保持している。また、サードベンダなどが開発した新規アプリ117、118については、最初の起動時におけるアプリ登録処理の中で決定される。
【0085】
以下、全体バージョンのチェックを行う場合と、関数毎のバージョンチェックを行う場合を分けて説明するが、全体バージョンチェックにおいてサポート範囲外と判断された場合にのみ、関数毎のバージョンチェックを行うようにしてもよい。
【0086】
まず、全体バージョンのチェックを行う場合について図10を参照して説明する。
【0087】
アプリ登録の要求があった場合(ステップS801)、まず、VAS140はアプリが有している全体バージョン番号を取得する(ステップS802)。
【0088】
VAS140は、バージョン管理テーブル211の全体バージョンのサポート範囲とアプリの全体バージョン番号とを比較し、サポート範囲内か否かを判断する(ステップS803)。例えば、現在使用されているVAS140がサポートできるバージョンの範囲が1.0〜1.6であれば、この範囲内のバージョン番号であるときにサポート範囲内と判定する。この場合、当該アプリに対して「OK」が通知され(ステップS804)、正常にアプリ登録され(ステップS805)、通常の複合機100における処理が行われる(ステップS806)。また、ステップS803でアプリから取得したバージョン番号がサポート範囲外である場合には、当該アプリに対して「NG」が通知され(ステップS807)、アプリ登録が終了する(ステップS808)。
【0089】
次に、バージョンを関数毎にチェックする場合について説明する。図11にその処理手順を示す。
【0090】
図11の場合も、図10と同様にVAS140によるバージョンチェック時期として、アプリが実行される前であれば良く、ここではアプリ登録時を想定している。
【0091】
アプリ登録の要求があった場合(ステップS901)、VAS140はアプリから、アプリがVAS140に対して使用している関数毎のバージョン情報を取得する(ステップS902)。そして、VAS140は、バージョン管理テーブル211を参照し、アプリがVAS140に対して使用している関数毎に、アプリがVAS140に対して使用する関数のバージョン番号と、サポート範囲とを比較することにより、当該関数がVAS140のサポート範囲内か否かを判断する(ステップS903)。例えば、アプリがVAS140に対して使用している関数番号が「2」、「3」であり、そのバージョン番号がそれぞれ「バージョン1.1」と「バージョン2.0」である場合には、各関数がサポート範囲内となる。
【0092】
図11の処理において、ステップS903においてアプリケーションがVAS140に対して使用している全ての関数についてサポート範囲内と判定された場合は、上記した図10のA以降と同様に処理され、ステップS903においてサポート範囲内でないと判定された場合は、図10のB以降と同様に処理される。なお、NGの場合に、VAS140は、どの関数がNGであるかをオペレーションパネルに表示してもよい。
【0093】
アプリが使用していない関数のバージョンがVAS140側で変更された場合でも、VAS140のバージョンは変更されるため、全体バージョンの比較をしただけではバージョン差によってアプリの実行が不可となる場合があり得る。そこで、図11に示した処理のように、アプリがVAS140に対して使用している関数のバージョンを関数毎にチェックすることにより、上記の場合でもアプリの実行に問題がないことを判断できる。また、関数毎のチェックでサポート範囲外と判定された場合、その原因となった関数を容易に特定できる。
【0094】
このように、実施の形態1にかかる複合機100では、VAS140のラッピング処理スレッド141が、バージョン差を吸収するので、コントロールサービスの関数がバージョンアップしたとしても、アプリをコンパイルし直す必要が無くなる。また、VAS140は、コントロールサービスからアプリに対するメッセージを取捨選択できるため、複合機100のシステムに大きく影響を与えるようなインタフェースについては、第三者に対して隠蔽することができる。
【0095】
また、実施の形態1にかかる複合機100では、VAS140が、アプリから取得したバージョン情報を用いてバージョンチェックをできるので、安全にアプリを実行できる。また、実施の形態1にかかる複合機100では、上記したようにVAS140に加えてダイナミックリンクライブラリ(DLL)を採用することも可能であり、その場合はアプリケーションとコントロールサービス間のバージョン差の吸収力が増大するとともに、インタフェースを隠蔽することができるためインタフェースの秘匿性をより強固に確保することが可能となる。
【0096】
(実施の形態2)
実施の形態1にかかる複合機100は、VAS140が全アプリケーションに対して1つだけ存在するものであった。この実施の形態2にかかる複合機では、各アプリごとに一つのVASが起動し、各VASは対応するアプリに対してのみバージョン管理およびラッピング処理を行うものである。
【0097】
図12は、実施の形態2にかかる複合機800の構成を示すブロック図である。図12に示すように、複合機800では、複数の仮想アプリケーションサービス(VAS)841〜848がアプリケーション130の各アプリごとに動作している点が、実施の形態1にかかる複合機100と異なっている。
【0098】
VAS841〜848は、プリンタアプリ111、コピーアプリ112、ファックスアプリ113、スキャナアプリ114、ネットファイルアプリ115、工程検査アプリ116、新規アプリ117および118に対応して、バージョン管理およびラッピング処理を行うようになっている。
【0099】
図13は、実施の形態2にかかる複合機800のVAS841〜848の構成と、VAS841〜848と各アプリ、コントロールサービス層150および汎用OS121との関係を示すブロック図である。なお、図12では、アプリケーション130として、プリンタアプリ111、コピーアプリ112、新規アプリ117、118の例を示し、更にこれら各アプリに対応したVAS841、842、847および848を例として示したが、他のアプリの場合も同様の構成となる。
【0100】
また、実施の形態2にかかる複合機800では、実施の形態1の複合機100と異なり、図13に示すように、各VAS841〜848と各アプリとの間にはVAS制御プロセス(デーモン)801が動作している。
【0101】
このVAS制御プロセス(デーモン)801は、各アプリからアプリ登録要求メッセージを受信してアプリ登録処理を行うとともに、アプリ登録要求を行ったアプリに対応したVAS841〜848を生成する。また、各スレッドに対して処理の指示を行う。
【0102】
そして、仮想アプリケーションサービス(VAS)841〜848のプロセスには、ディスパッチャ144と、ラッピング処理スレッド141と、バージョン管理スレッド142とが動作している。
【0103】
ディスパッチャ144は、アプリケーション130やコントロールサービスからのメッセージ受信を監視し、例えば、受信したメッセージに応じてラッピング処理スレッド141、あるいはバージョン管理スレッド142に対して処理要求を行うものである。実施の形態2の複合機800では、ディスパッチャ144は、VAS制御プロセス801から、アプリID、アプリのプロセスIDとともに、バージョン管理要求メッセージ又はラッピング処理要求メッセージを受信するようになっている。ディスパッチャ144は、バージョン管理要求メッセージを受信したときには、アプリID、アプリのプロセスIDとともに受信したバージョン管理要求メッセージをバージョン管理スレッド142に送信し、ラッピング処理要求メッセージを受信したときには、アプリID、アプリのプロセスIDとともに受信したラッピング処理要求メッセージをラッピング処理スレッド141に送信する。バージョン管理スレッド142とラッピング処理スレッド141の処理内容は第1の実施の形態と同様である。
【0104】
このように実施の形態2にかかる複合機800によれば、第1の実施の形態と同様の効果がある。更に、実施の形態2にかかる複合機800では、VAS841〜848は起動されるアプリケーション130ごとに別個に起動されるので、複数のアプリケーション130に対する判断処理を各アプリケーション130に対応するVAS841〜848で並列に実行することができ、処理が効率的に行えると共に、上記したバージョン管理やラッピング処理がアプリごとに行えるので、新規アプリの追加や交換時にも効率良く処理を行うことができる。
【0105】
また、VASの構成として上記の構成の他、図14(a)〜(c)に示す構成をとることもできる。
【0106】
図14(a)は、各アプリケーションに対して起動されるVASを、親VASの子プロセスとする場合であり、親VAS自体は画面制御権(ユーザインターフェース)を持たない。図14(b)は、親VAS自体が画面制御権(ユーザインターフェース)を持つ場合である。図14(c)は、各アプリケーションに対応するVASの機能をスレッドとして起動する場合を示している。
【0107】
なお、本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。
【0108】
【発明の効果】
上記のように、本発明によれば、アプリケーションが使用している関数とコントロールサービス側の関数とで差異が生じた場合でも、アプリケーションのソースプログラムを書き換えることなく、関数呼び出しを行うことが可能となる。また、コントロールサービスからアプリに通知されるメッセージのうち特定のメッセージを秘匿することが可能となる。
【図面の簡単な説明】
【図1】実施の形態1にかかる複合機の構成を示すブロック図である。
【図2】実施の形態1にかかる複合機のハードウェア構成を示すブロック図である。
【図3】実施の形態1にかかる複合機のVASの構成と、VASと各アプリ、コントロールサービス層および汎用OSとの関係を示すブロック図である。
【図4】HDに格納されるラッピング処理情報ファイルの内容例を示す説明図である。
【図5】バージョン管理テーブルの内容例を示す説明図である。
【図6】VASによりラッピング処理を行う手順を示すフローチャートである。
【図7】バージョンアップの有無及びバージョンアップの態様を記録したテーブルを示す図である。
【図8】ダミー引数を補充する場合のVAS140の記述例を示す図である。
【図9】VASにより特定のメッセージを隠蔽するためのラッピング処理を行う手順を示すフローチャートである。
【図10】VASにより全体バージョンをチェックする手順を示すフローチャートである。
【図11】VASにより関数単位にバージョンをチェックする手順を示すフローチャートである。
【図12】実施の形態2にかかる複合機の構成を示すブロック図である。
【図13】実施の形態2にかかる複合機のVASの構成と、VASと各アプリ、コントロールサービス層および汎用OSとの関係を示すブロック図である。
【図14】VASの構成例を示す図である。
【符号の説明】
100 複合機
101 白黒レーザプリンタ
102 カラーレーザプリンタ
103 ハードウェアリソース
110 ソフトウェア群
111 プリンタアプリ
112 コピーアプリ
113 ファックスアプリ
114 スキャナアプリ
115 ネットファイルアプリ
116 工程検査アプリ
117、118 新規アプリ
120 プラットホーム
121 汎用OS
122 SCS
123 SRM
124 ECS
125 MCS
126 OCS
127 FCS
128 NCS
130 アプリケーション
140、841〜848 仮想アプリケーションサービス(VAS)
141 ラッピング処理スレッド
142 バージョン管理スレッド
143 制御スレッド
144 ディスパッチャ
150 コントロールサービス層
200 ハードディスク(HD)
201 ラッピング処理情報ファイル
210 RAM
211 バージョン管理テーブル
800 複合機
801 VAS制御プロセス

Claims (4)

  1. 画像形成に関する処理を行うアプリケーションと、当該アプリケーションからの関数呼び出しに基づきシステム側の処理を行うコントロールサービスとを備えた画像形成装置において、
    コントロールサービス側の関数がバージョンアップされたことにより、当該関数の引数が追加されているか否かを示す情報を格納する格納手段と、
    アプリケーションから関数の呼び出しがあったときに、前記格納手段に格納された情報を参照し、当該情報に基づき、アプリケーションから呼び出される当該関数に対応するコントロールサービス側の関数において引数の追加があったと判断した場合に、アプリケーションから呼び出される前記関数を、当該関数の引数とダミーの引数とを含む関数変換し、変換後の関数を用いてコントロールサービスへの関数呼び出しを行うラッピング処理手段を備えたことを特徴とする画像形成装置。
  2. 画像形成に関する処理を行うアプリケーションと、当該アプリケーションからの関数呼び出しに基づきシステム側の処理を行うコントロールサービスと、コントロールサービス側の関数がバージョンアップされたことにより、当該関数の引数が追加されているか否かを示す情報を格納する格納手段とを備えた画像形成装置が実行する処理の方法であって、
    アプリケーションから関数の呼び出しがあったときに、前記格納手段に格納された情報を参照し、当該情報に基づき、アプリケーションから呼び出される当該関数に対応するコントロールサービス側の関数において引数の追加があったと判断した場合に、アプリケーションから呼び出される前記関数を、当該関数の引数とダミーの引数とを含む関数変換し、変換後の関数を用いてコントロールサービスへの関数呼び出しを行うラッピング処理ステップを有することを特徴とする方法。
  3. 画像形成に関する処理を行うアプリケーションと、当該アプリケーションからの関数呼び出しに基づきシステム側の処理を行うコントロールサービスと、コントロールサービス側の関数がバージョンアップされたことにより、当該関数の引数が追加されているか否かを示す情報を格納する格納手段とを備えた画像形成装置を、
    アプリケーションから関数の呼び出しがあったときに、前記格納手段に格納された情報を参照し、当該情報に基づき、アプリケーションから呼び出される当該関数に対応するコントロールサービス側の関数において引数の追加があったと判断した場合に、アプリケーションから呼び出される前記関数を、当該関数の引数とダミーの引数とを含む関数変換し、変換後の関数を用いてコントロールサービスへの関数呼び出しを行うラッピング処理手段として機能させるプログラム。
  4. 請求項に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
JP2003196228A 2002-07-19 2003-07-14 画像形成装置及びラッピング処理方法並びにプログラム Expired - Lifetime JP4365148B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2003196228A JP4365148B2 (ja) 2002-07-19 2003-07-14 画像形成装置及びラッピング処理方法並びにプログラム
EP03015644A EP1383303B1 (en) 2002-07-19 2003-07-17 Image forming apparatus, wrapping method and the program
DE60331505T DE60331505D1 (de) 2002-07-19 2003-07-17 Bilderzeugungsgerät, Umwandlungsverfahren und das Programm
US10/621,450 US20040057067A1 (en) 2002-07-19 2003-07-18 Image forming apparatus, wrapping method and the program
CNB031556434A CN1282046C (zh) 2002-07-19 2003-07-19 图像形成设备、打包方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2002211685 2002-07-19
JP2003196228A JP4365148B2 (ja) 2002-07-19 2003-07-14 画像形成装置及びラッピング処理方法並びにプログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2009174424A Division JP5036770B2 (ja) 2002-07-19 2009-07-27 装置及びラッピング処理方法並びにプログラム

Publications (2)

Publication Number Publication Date
JP2004098658A JP2004098658A (ja) 2004-04-02
JP4365148B2 true JP4365148B2 (ja) 2009-11-18

Family

ID=29782068

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003196228A Expired - Lifetime JP4365148B2 (ja) 2002-07-19 2003-07-14 画像形成装置及びラッピング処理方法並びにプログラム

Country Status (5)

Country Link
US (1) US20040057067A1 (ja)
EP (1) EP1383303B1 (ja)
JP (1) JP4365148B2 (ja)
CN (1) CN1282046C (ja)
DE (1) DE60331505D1 (ja)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4070693B2 (ja) 2002-09-13 2008-04-02 株式会社リコー 画像形成装置およびスキャンデータ処理方法
EP2257037A3 (en) 2003-07-29 2011-06-15 Ricoh Company, Ltd. Image forming apparatus as client of a distributed file system, image processing method, image processing program and recording medium
JP4728611B2 (ja) 2003-08-12 2011-07-20 株式会社リコー 記憶媒体、記憶装置、情報処理装置、情報処理方法、情報処理プログラム及び記録媒体
JP4676724B2 (ja) * 2003-08-12 2011-04-27 株式会社リコー 情報処理装置、情報処理方法、情報処理プログラム、及び記録媒体
JP4769515B2 (ja) 2004-09-07 2011-09-07 株式会社リコー アプリケーション実行方法、情報処理装置、画像形成装置、アプリケーション実行プログラム、記録媒体、及び情報処理システム
JP4597834B2 (ja) * 2004-10-18 2010-12-15 株式会社リコー 画像形成装置、情報処理方法、情報処理プログラム及び記録媒体
JP4575860B2 (ja) * 2004-10-21 2010-11-04 株式会社リコー 画像形成装置、インストール方法、インストールプログラム、及び記録媒体
JP4704245B2 (ja) 2005-03-31 2011-06-15 株式会社リコー 画像形成装置、情報処理方法、プログラム、及び記録媒体
JP4876188B2 (ja) * 2005-03-31 2012-02-15 株式会社リコー 画像形成装置、情報処理方法、プログラム、及び記録媒体
JP4861765B2 (ja) * 2005-08-04 2012-01-25 株式会社リコー 機器、情報処理方法、情報処理プログラム、及び記録媒体
JP5019817B2 (ja) * 2005-08-15 2012-09-05 株式会社リコー 情報処理装置、情報処理方法、情報処理プログラム、及び記録媒体
JP4791910B2 (ja) * 2005-08-26 2011-10-12 株式会社リコー 画像形成装置、情報処理方法、情報処理プログラム、及び記録媒体
JP5025192B2 (ja) * 2005-09-16 2012-09-12 株式会社リコー 機器、情報処理方法、情報処理プログラム、及び記録媒体
JP5025193B2 (ja) * 2005-09-16 2012-09-12 株式会社リコー 機器、情報処理方法、情報処理プログラム、及び記録媒体
JP2007164595A (ja) * 2005-12-15 2007-06-28 Toshiba Corp コンピュータシステムの関数呼び出し方法、コンピュータシステムおよびライブラリ
JP4923694B2 (ja) * 2006-04-19 2012-04-25 コニカミノルタビジネステクノロジーズ株式会社 機器組み込み型情報処理装置
JP4982249B2 (ja) * 2006-12-22 2012-07-25 株式会社日立製作所 運用整合性維持方法、システム及びプログラム
US8260714B2 (en) * 2007-08-09 2012-09-04 Panasonic Corporation Terminal apparatus and system thereof
JP5065805B2 (ja) * 2007-08-10 2012-11-07 京セラドキュメントソリューションズ株式会社 電子機器、サービス提供方法及びプログラム
JP5237058B2 (ja) * 2008-11-11 2013-07-17 Jfeスチール株式会社 コンピュータシステム
JP2011123842A (ja) * 2009-12-14 2011-06-23 Ricoh Co Ltd 画像形成装置、機能追加方法、及びプログラム
JP2011198298A (ja) * 2010-03-23 2011-10-06 Dainippon Printing Co Ltd Icカード及びコンピュータプログラム
CN103024243A (zh) * 2011-09-23 2013-04-03 夏森林 照相式传真系统
US10187479B2 (en) * 2013-08-26 2019-01-22 Vmware, Inc. Cloud-scale heterogeneous datacenter management infrastructure
US10838781B1 (en) * 2019-06-19 2020-11-17 Sap Se Eventually consistent metadata exchange between software applications and services

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2989191B2 (ja) * 1988-11-16 1999-12-13 株式会社リコー 画像形成システム
US4977304A (en) * 1989-02-09 1990-12-11 Ricoh Company Ltd. Linear solid state image sensor
JP3140753B2 (ja) * 1989-07-24 2001-03-05 株式会社リコー 等倍光センサ
JP3547153B2 (ja) * 1993-06-14 2004-07-28 株式会社リコー ディジタル複写機システム
US6549638B2 (en) * 1998-11-03 2003-04-15 Digimarc Corporation Methods for evidencing illicit use of a computer system or device
US5745753A (en) 1995-01-24 1998-04-28 Tandem Computers, Inc. Remote duplicate database facility with database replication support for online DDL operations
US5926636A (en) * 1996-02-21 1999-07-20 Adaptec, Inc. Remote procedural call component management method for a heterogeneous computer network
JPH09282167A (ja) * 1996-04-10 1997-10-31 Internatl Business Mach Corp <Ibm> メソッド起動方法及びメソッド起動制御装置
CA2225227A1 (en) * 1997-12-18 1999-06-18 Michael Coveley Intelligent communication and applications server
US6177957B1 (en) * 1998-02-26 2001-01-23 Flashpoint Technology, Inc. System and method for dynamically updating features in an electronic imaging device
US20040154027A1 (en) * 1998-10-14 2004-08-05 Jean-Jacques Vandewalle Method and means for managing communications between local and remote objects in an object oriented client server system in which a client application invokes a local object as a proxy for a remote object on the server
JP2000194544A (ja) * 1998-12-27 2000-07-14 Copyer Co Ltd 画像形成装置のファ―ムウェア更新処理方法
US6489972B1 (en) * 1999-09-14 2002-12-03 Hewlett-Packard Company Dynamic internal page registration and retrieval system
TW488155B (en) * 2000-01-27 2002-05-21 Hewlett Packard Co Task-partitioned hybrid codec
JP3975644B2 (ja) * 2000-03-28 2007-09-12 富士ゼロックス株式会社 画像入出力装置、端末装置、ドライババージョン管理方法、及び、ファームウェアバージョン管理方法
US7209249B2 (en) * 2000-07-05 2007-04-24 Ricoh Company, Ltd. Method of and apparatus for image formation, and computer product
WO2002019097A1 (en) * 2000-09-01 2002-03-07 International Interactive Commerce, Ltd. System and method for collaboration using web browsers
GB2370894B (en) * 2000-10-24 2005-02-02 Hewlett Packard Co Workflow-friendly firmware upgrades for network devices
US7047535B2 (en) * 2001-07-30 2006-05-16 International Business Machines Corporation Method, system, and program for performing workflow related operations using an application programming interface
US20030177283A1 (en) * 2002-03-18 2003-09-18 Hamilton Thomas E. Application program interface

Also Published As

Publication number Publication date
US20040057067A1 (en) 2004-03-25
EP1383303A3 (en) 2004-05-26
EP1383303A2 (en) 2004-01-21
CN1487378A (zh) 2004-04-07
DE60331505D1 (de) 2010-04-15
EP1383303B1 (en) 2010-03-03
JP2004098658A (ja) 2004-04-02
CN1282046C (zh) 2006-10-25

Similar Documents

Publication Publication Date Title
JP4365148B2 (ja) 画像形成装置及びラッピング処理方法並びにプログラム
US7636172B2 (en) Image forming apparatus, information processing apparatus and version check method using an API from an application
EP1398948B1 (en) Image forming apparatus, methods used therein and a computer readable storage medium
US7633639B2 (en) Compound machine for scanning and printing and a method thereof
JP3679349B2 (ja) 画像形成装置、画像形成方法、画像形成プログラムおよびアプリケーションプログラム
JP4276909B2 (ja) 画像形成装置およびアプリ起動制御方法
EP1369780A1 (en) Image forming apparatus, program adding method, and a recording medium
JP4344203B2 (ja) 画像形成装置および情報表示方法
JP2004005612A (ja) リソース情報を取得する装置及び方法
JP4394740B2 (ja) 画像形成装置、方法、及びプログラム
US20030140174A1 (en) Method for generating application for information processing apparatus and image forming apparatus
JP5036770B2 (ja) 装置及びラッピング処理方法並びにプログラム
JP4128506B2 (ja) 画像形成装置およびアプリケーション情報取得方法
JP2006311590A (ja) 画像形成装置およびアプリケーションインストール方法
JP4246560B2 (ja) 情報処理装置、情報処理方法、プログラム、及び記録媒体
JP4676977B2 (ja) 画像形成装置、アプリケーション情報取得方法、及びプログラム
JP2004127253A (ja) 情報処理装置およびバージョンチェック方法
JP4334214B2 (ja) 画像形成装置、アプリケーションプログラム及び記録媒体
JP2004129220A (ja) 画像形成装置およびバージョンチェック方法
JP4677054B2 (ja) 画像形成装置、プログラム、記録媒体、及び方法
JP2006271005A (ja) 画像形成装置およびアプリケーションインストール方法
JP2003174533A (ja) 画像形成装置、プロセス間通信履歴表示方法およびその方法をコンピュータに実行させるプログラム
JP4334213B2 (ja) 情報処理装置、アプリケーションプログラム及び記録媒体
JP3977039B2 (ja) 画像情報処理装置用通信プログラム生成方法および画像情報処理装置用通信プログラム生成装置
JP4485749B2 (ja) 画像形成装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051101

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080901

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090526

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090727

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

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

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

Free format text: PAYMENT UNTIL: 20120828

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4365148

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20120828

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130828

Year of fee payment: 4

EXPY Cancellation because of completion of term