(57)【要約】【課題】用紙を扱うＯＡ装置において、紙媒体から情報を入力、または紙媒体へ情報を出力するオフラインな情報伝達経路を介する場合であっても、オンラインネットワークにおける対話処理に匹敵する柔軟な遠隔制御を可能とし、複数のＯＡ装置を自在かつ柔軟に組み合わせたシステムアプリケーションを実現する。【解決手段】少なくとも命令列と命令列の実行に係るデータとを含む情報が符号化されているモバイルエージェントを用紙上にバーコード等の表現で印字出力する。また、用紙上に表現した印字されたバーコード等の表現を読み取ってモバイルエージェントを復号化して実行解釈する。【選択図】図１
2010148123.tif 000002
【特許請求の範囲】
【請求項１】
モバイルエージェントを復号化して実行することにより、前記モバイルエージェントに対応する制御を実行する手段を有する画像処理装置であって、
前記手段は、
前記モバイルエージェントを復号化して実行する間に発見した情報に基づいて、
前記モバイルエージェントを復号化した結果を符号化した上で印刷するか、
前記モバイルエージェントを復号化した結果を符号化した上でネットワークを介して他の装置に送信するか、
を決定する
ことを特徴とする画像処理装置。
【請求項２】
モバイルエージェントを復号化して実行することにより、前記モバイルエージェントに対応する制御を実行する手段を有する画像処理装置であって、
前記手段は、
ネットワークを介して他の装置から、前記モバイルエージェントの符号化結果を得ること、及び、印刷物を読取ることで前記モバイルエージェントの符号化結果を得ることが可能となっており、
さらに、得たモバイルエージェントの符号化結果を復号化して実行することにより、前記モバイルエージェントに対応する制御を実行する
ことを特徴とする画像処理装置。
【請求項３】
請求項１に記載の画像処理装置と請求項２に記載の画像処理装置とを有するシステム。
【請求項４】
モバイルエージェントを復号化して実行することにより、前記モバイルエージェントに対応する制御を実行する画像処理装置における画像処理方法であって、
前記モバイルエージェントを復号化して実行する間に発見した情報に基づいて、
前記モバイルエージェントを復号化した結果を符号化した上で印刷するか、
前記モバイルエージェントを復号化した結果を符号化した上でネットワークを介して他の装置に送信するか、
を決定する
ことを特徴とする画像処理方法。
【請求項５】
モバイルエージェントを復号化して実行することにより、前記モバイルエージェントに対応する制御を実行する画像処理装置における画像処理方法であって、
ネットワークを介して他の装置から、前記モバイルエージェントの符号化結果を得ること、及び、印刷物を読取ることで前記モバイルエージェントの符号化結果を得ることと、
得たモバイルエージェントの符号化結果を復号化して実行することにより、前記モバイルエージェントに対応する制御を実行することと
を特徴とする画像処理方法。
【請求項６】
請求項４または５に記載の画像処理方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は複写機、ファックス、プリンタ、イメージスキャナ、画像ファイルシステムなどの画像処理を行う画像処理装置および方法に関するものである。
【背景技術】
【０００２】
従来、複写機、ファックス、プリンタ、イメージスキャナ、画像ファイルシステムなどの画像処理機能を有する装置（ＯＡ装置と総称する）はネットワークに接続されず単独の機器内に閉じた機能を提供していた。近年ではこれらこれまでスタンドアロンで利用されてきたＯＡ装置がイーサネット（登録商標）等のネットワークに接続され、クライアントである複数のコンピュータなどから共用できる製品が提供されてきている。
【０００３】
クライアントからネットワークを介してこのようなＯＡ装置を利用するにあたり、従来は処理の間中つねにネットワーク経由の接続性が確保されていることを前提とする手法がとられている。たとえば、クライアントであるワークステーションやパーソナルコンピュータや携帯情報端末などの上で実行されるプログラムが、ＯＡ装置が提供するサービスを利用するときには、ＯＡ装置上で実行されるサーバプログラムに対して要求や処理に必要なデータの送信を行って目的とする機器の動作を制御し、さらに返答や必要ならばデータを受信する。クライアントはＯＡ装置からの返答の内容を判定しそれに応じて新たな指示要求をＯＡ装置に送信することを繰り返す。このため、サービスが処理されている間を通じて対話的なやりとりを続けていた。
【０００４】
また近年の傾向として、さまざまなＯＡ装置がネットワーク接続された結果、複数のさまざまなＯＡ装置の機能を組み合わせて、従来ユーザが装置の間を行き来しながら実現していた一連の処理を自動的に行うワークフロー型サービスを実現する装置が求められている。たとえば、秘書が指示書に記載された指示に従って、画像ファイル中から所望の画像データを探し出し、ワードプロセッサによって作られたＰＤＬのファイルの出力に画像ファイルからの画像データを添付してプリンタに２０部出力し、さらにステープル処理し、同時にそれらの画像データを３件の宛先にファックス送信する、といった一連の動作を、ネットワークに接続された複数の装置が連携して行うサービスが求められてきている。従来この課題を解決するために、１台のクライアントが複数台のそれぞれに対して順次接続して、上記の継続的なコネクションを前提とする対話処理プロトコルによって制御を行うことを繰り返すことで、複数の装置の組み合わせによる複合的な機能を実現している。
【０００５】
一方、純粋にコンピュータ同士からなるネットワークにおける分散計算の分野では、最近になって、これまで盛んに研究と実現が行われてきたプロトコルによる対話を繰り返して分散計算を行うリモートプロシージャコール等の技術から発展して、実行可能なプロセッサオブジェクトそのものがネットワークを介して移動して分散計算を行うモバイルエージェントと呼ばれる技術が提案されてきている。モバイルエージェントによる分散計算システムの実現例としては General Magic社の米国特許５６０３０３１号で述べられているTelescript、同じく General Magic社のOdyssey 、ＩＢＭ東京基礎研究所のAgletsなどがよく知られている。
【０００６】
また、本出願人は先にモバイルエージェントを受信する手段と受信したモバイルエージェントを解釈実行する手段とモバイルエージェントの実行においてモバイルエージェント内に記述された命令によって装置が持つ機構を制御する手段とを内蔵したＯＡ装置および画像処理装置を提案している。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところが、これまでのネットワークを介して行うＯＡ装置の制御には、パーソナルコンピュータやワークステーション等のクライアントホスト内のプロセッサによって実行され装置が提供するサービスの遠隔制御を行うクライアントプロセスと、装置内のプロセッサで実行され装置が提供するサービスを実現するために装置の物理的な機構を制御するサーバプロセスとが、離れたプロセス実行環境上でそれぞれ動作する。すなわち、従来のネットワーク化された装置では、クライアントプロセスが装置のサーバプロセスとネットワーク的なコネクションを張って逐次対話的にサービスの制御を行っているため、複数の装置を組み合わせたシステムアプリケーションを実現しようとすると、クライアントプロセスが一連の処理の間中、各装置上のサーバプロセスたちとの対話を続けなければならない。このため、以下にあげるような問題があった。
【０００８】
用紙を入力または出力として扱うＯＡ装置は、紙媒体から情報を入力または紙媒体へ情報を出力する際にいわゆるオンラインな制御経路が断ち切られるため、クライアント−サーバ間の対話的な制御は不可能であり、複数の装置間のシステムとしての組み合わせの限界を生じていた。
【０００９】
本発明はかかる問題点に鑑みてなされたものであり、その目的は、用紙を扱う画像読取り装置において、紙媒体から情報を読み取りまたは紙媒体へ情報を出力するオフラインな情報伝達経路を介する場合であっても、オンラインネットワークにおける対話処理に匹敵する柔軟な遠隔制御を可能とする画像処理装置を提供することにある。
【課題を解決するための手段】
【００１０】
このような目的を達成するために、請求項１の発明は、モバイルエージェントを復号化して実行することにより、前記モバイルエージェントに対応する制御を実行する手段を有する画像処理装置であって、前記手段は、前記モバイルエージェントを復号化して実行する間に発見した情報に基づいて、前記モバイルエージェントを復号化した結果を符号化した上で印刷するか、前記モバイルエージェントを復号化した結果を符号化した上でネットワークを介して他の装置に送信するか、を決定することを特徴とする画像処理装置である。
【００１１】
また、請求項２の発明は、モバイルエージェントを復号化して実行することにより、前記モバイルエージェントに対応する制御を実行する手段を有する画像処理装置であって、前記手段は、ネットワークを介して他の装置から、前記モバイルエージェントの符号化結果を得ること、及び、印刷物を読取ることで前記モバイルエージェントの符号化結果を得ることが可能となっており、さらに、得たモバイルエージェントの符号化結果を復号化して実行することにより、前記モバイルエージェントに対応する制御を実行することを特徴とする画像処理装置である。
【００１２】
また、請求項４の発明は、モバイルエージェントを復号化して実行することにより、前記モバイルエージェントに対応する制御を実行する画像処理装置における画像処理方法であって、前記モバイルエージェントを復号化して実行する間に発見した情報に基づいて、前記モバイルエージェントを復号化した結果を符号化した上で印刷するか、前記モバイルエージェントを復号化した結果を符号化した上でネットワークを介して他の装置に送信するか、を決定することを特徴とする画像処理方法である。
【００１３】
また、請求項５の発明は、モバイルエージェントを復号化して実行することにより、前記モバイルエージェントに対応する制御を実行する画像処理装置における画像処理方法であって、ネットワークを介して他の装置から、前記モバイルエージェントの符号化結果を得ること、及び、印刷物を読取ることで前記モバイルエージェントの符号化結果を得ることと、得たモバイルエージェントの符号化結果を復号化して実行することにより、前記モバイルエージェントに対応する制御を実行することとを特徴とする画像処理方法である。
【発明の効果】
【００１４】
以上説明したように、本発明によれば、用紙を扱うＯＡ装置において、紙媒体から情報を入力または紙媒体へ情報を出力するオフラインな情報伝達経路を介する場合であっても、オンラインネットワークにおける対話処理に匹敵する柔軟な遠隔制御を可能とし、複数のＯＡ装置（画像処理装置を含む装置又は画像処理機能を有する装置）を自在にかつ柔軟に組み合わせてシステムアプリケーションを実現することが可能なＯＡ装置を提供することができる。
【図面の簡単な説明】
【００１５】
【図１】本発明を適用可能なネットワークシステムならびに用紙の伝達を媒体として連携されるシステムの構成を示す構成図である。
【図２】図１に示した画像処理装置の構成を示すブロック図である。
【図３】図２に示したプリンタとスキャナの構成を示す概略断面図である。
【図４】図２のプロセッサによって処理されるソフトウェアの構成を示す階層図である。
【図５】（１）および（２）は図４のモバイルエージェントがネットワーク転送ないしは用紙上の表現のために符号化された構造を示す説明図である。
【図６】図４のモバイルエージェントが符号化された用紙上の表現を模式的に示す説明図である。
【図７】図４のモバイルエージェントが符号化された用紙上の表現と、モバイルエージェントの移動宛先を人間に可読な形式で印字した表現とを模式的に示す説明図である。
【図８】本発明に係る実施例のモバイルエージェントの主命令列の処理手順を示すフローチャートである。
【発明を実施するための形態】
【００１６】
図１は、本発明を適用可能な画像処理装置を含むオフィスシステムの構成を示す。
【００１７】
図１において、１は画像処理装置であり、プリンタおよびスキャナを含む第１の複合機である。２は画像処理装置に接続されたローカルエリアネットワークであり、装置と他の装置あるいはクライアントの相互の通信を実現する。３はクライアントコンピュータであり、ユーザが入力するキーボード、マウス等の入力装置と、ユーザに情報を出力するディスプレイ等の出力装置を備え、ローカルエリアネットワーク２に接続している。
【００１８】
４はデータベースサーバであり、大容量の記憶装置を備えデータベース管理システム（ＤＢＭＳ）が稼働するコンピュータである。５は画像処理装置であり、プリンタおよびスキャナを含む第２の複合機である。６は第１の用紙であり、画像処理装置１から出力され郵便や人の手など何らかの方法で運ばれ画像処理装置５へ入力される。７は第２の用紙であり、第１の用紙と同様に、画像処理装置５から出力され画像処理装置１へ入力される。
【００１９】
図２は画像処理装置１ないし５の内部構造を示す。
【００２０】
図２において、１１はローカルエリアネットワーク２とデータフレームの送受信を行うネットワークインタフェースである。１２は各種演算処理を行うプロセッサ（ＣＰＵ、ＭＰＵ）である。１３はプロセッサが実行するプログラムと実行に係るデータを格納するワークメモリである。
【００２１】
１４はプロセッサが実行するプログラムと実行に係るデータの初期値および電源切断をまたいで保存が必要なデータ等を格納する不揮発性メモリ（図示しないＲＯＭ、Ｆｌａｓｈ（フラッシュ）ＲＯＭ、ＮＶＲＡＭ、ＨＤＤ等のいずれかあるいはいくつかから構成される）である。１５はハードウェアによって画像処理を行う画像処理エンジンを制御するためのエンジン制御回路である。
【００２２】
１６は画像データを格納する画像メモリである。１７は転写紙に画像データに対応する画像を形成する画像処理エンジンたるプリンタである。１８は原稿から画像を読み取り画像データをつくる画像処理エンジンたるイメージスキャナである。
【００２３】
２１は操作パネルであり、液晶パネルならびにキーボード等を備えユーザとのマンマシンインタフェースを実現する。１９はプロセッサバスであり、ネットワークインタフェース１１、プロセッサ１２、ワークメモリ１３、不揮発性メモリ１４、エンジン制御回路１５、画像メモリ１６、操作パネル２１を接続しデータや制御情報およびエンジンのステータス等のやり取りを実現する。２０はイメージバスであり、エンジン制御回路１５、画像メモリ１６、プリンタ１７、イメージスキャナ１８とを接続し画像データのやり取りを実現する。
【００２４】
図３は、図２に示したプリンタ部１７、イメージスキャナ部１８の概略構成を示す。
【００２５】
図３において１０１は原稿給送装置で、原稿台上に積載された原稿を１枚ずつ順次原稿台ガラス１０２面上に搬送する。該原稿が搬送されると、イメージスキャナ部のランプ１０３が点灯、かつスキャナユニット１０４が移動して原稿を照射する。原稿の反射光は、ミラー１０５，１０６，１０７を介してレンズ１０８を通過、その後ＣＣＤイメージセンサ１０９に入力される。
【００２６】
プリンタ１７に入力された信号は、原稿制御部２０１によって露光制御部２０１にて光信号に変換されて画像信号に従い感光体２０２を照射する。照射光によって感光体２０２上に作られた潜像は現像器２０３によって現像される。上記現像とタイミングを併せて被転写紙積載部２０４、もしくは２０５より転写紙が搬送され、転写部２０６に於いて、上記現像された像が転写される。
【００２７】
転写された像は定着部２０７にて被転写紙に定着された後、排紙部２０８より装置外部に排出される。排紙部から出力された転写紙は、ソータ２２０でソート機能が働いている場合には、各ビンに、またはソート機能が働いていない場合には、ソータの最上位のノンソートビンに排出される。
【００２８】
図４はプロセッサ１２が処理するソフトウェアの構造を模式的に示す。ソフトウェアはデータ構造とプログラムコードを有する。
【００２９】
なお、データ構造およびプログラムコードはワークメモリ１３に記憶される。不揮発性メモリ１４がＲＯＭ等であればプログラムコードは不揮発性メモリ１４だけに存在してもよい。
【００３０】
図４において、各階層は下位の階層が提供するサービスを上位の階層が利用する関係になっている。
【００３１】
最下層はオペレーティングシステムであり、プログラムの実行コンテキストの管理やメモリ管理等を行う階層である。オペレーティングシステムの中には、ネットワークインタフェースドライバ、プリンタ制御ドライバ、イメージスキャナ制御ドライバ、操作パネル制御ドライバの４つのデバイスドライバが組み込まれ、連携して機能している。ネットワークインタフェースドライバはネットワークインタフェース１１を制御するソフトウェアである。プリンタ制御ドライバはエンジン制御回路１５と画像メモリ１６を介して、プリンタ１７を制御するソフトウェアである。イメージスキャナ制御ドライバはエンジン制御回路１５と画像メモリ１６を介して、イメージスキャナ１８を制御するソフトウェアである。操作パネル制御ドライバは操作パネル２１を制御するソフトウェアである。
【００３２】
最下位から２番目の層は各種のライブラリである。スレッドライブラリはそれを利用するプログラムにスレッド機能を提供するライブラリである。スレッドとは、ソフトウェアの並列実行の単位であり、単一プロセス内の複数のスレッドは異なる実行コンテキスト（プログラムカウンタ、スタック、レジスタ値等）を持つがメモリ空間等は共有する。スレッドのコンテキスト切り替えはプロセスのコンテキスト切り替えに比べ処理の量が少なく済むため、ライトウェイトスレッドと呼ぶこともある。
【００３３】
ネットワークインタフェースライブラリは、ネットワークインタフェースドライバを利用してネットワークを介するデータ送信とデータ受信を実現するライブラリである。プリンタ制御ライブラリは、プリンタ制御ドライバの機能を利用してプリンタ制御ＡＰＩ（アプリケーションプログラミングインタフェース）を提供するライブラリである。イメージスキャナ制御ライブラリは、イメージスキャナ制御ドライバの機能を利用してイメージスキャナ制御ＡＰＩを提供するライブラリである。操作パネル制御ライブラリは、操作パネルドライバの機能を利用して操作パネル制御ＡＰＩを提供するライブラリである。
【００３４】
最下位から３段目の層は、インタプリタである。インタプリタはモバイルエージェント等のオブジェクトが動作するためのオブジェクト実行環境を提供する。本実施例に係るオブジェクトとは、広く知られたオブジェクト指向パラダイムにおけるオブジェクトのサブセットとなっている。すなわち、問題領域のある概念に係るデータ（いくつかの属性の集合）と処理（いくつかのオペレーションの集合）とをひとまとめにしたソフトウェア構造である。各オブジェクトは自律的に存在し、他のオブジェクトと通信（メッセージパッシング）し合いながら、オブジェクト群の全体として並列に一連の処理が達成される。
【００３５】
インタプリタ内部には、インタプリタ上で動作する各オブジェクトに断続的にプロセッサの処理時間を与えるオブジェクトスケジューラがある。オブジェクトスケジューラは、各オブジェクトの処理が仮想的に並列に進行するようにスレッドライブラリを利用する。
【００３６】
インタプリタ内部にはまた、オブジェクトデコーダ／エンコーダがある。デコーダは、メモリ上に実行可能な形態で展開されたオブジェクトのスクリプト（命令列）およびデータを、ネットワークを介して転送可能なビット列に、もとメモリ上にあった構造を実質的に復元可能な形で符号化する。エンコーダはネットワークを介して転送されたビット列を、メモリ上に実行可能な形態に展開されたオブジェクトに復号化する。
【００３７】
図５はオブジェクトが符号化されたネットワークパケットの例を示す。オブジェクトを符号化したネットワークパケットには、もとのオブジェクトの実行に係るすべてのデータ（属性の集合）を符号化した部分（１）と、もとのオブジェクトのスクリプト部分（２）とが含まれる。
【００３８】
図４において最上位の層はインタプリタ上で管理および実行される複数のオブジェクトである。
【００３９】
プリンタ制御オブジェクトは、プリンタ制御ライブラリを介してプリンタの制御を行うための複数のオペレーションを提供しており、プリンタ１７の代理オブジェクトとして機能する常駐エージェントである。
【００４０】
すなわち、オブジェクトの命令列の中で、プリンタ制御オブジェクトのオペレーションを呼び出す（メッセージパッシング）命令を実行すると、該オペレーションの実装の中でオペレーションに対応する制御がプリンタ１７に実施される。同様にプリンタ制御オブジェクトから情報を引き出すオペレーションを実行すると、実際のプリンタのステータス情報等を得ることができる。
【００４１】
イメージスキャナ制御オブジェクトはイメージスキャナ制御ライブラリを介してイメージスキャナの制御を行うための複数のオペレーションを提供しており、イメージスキャナ１８の代理オブジェクトとして機能する常駐エージェントである。すなわち、オブジェクトの命令列の中で、イメージスキャナ制御オブジェクトのオペレーションを呼び出す（メッセージパッシング）命令を実行すると、該オペレーションの実装の中でオペレーションに対応する制御がイメージスキャナ１８に実施される。
【００４２】
同様にイメージスキャナ制御オブジェクトから情報を引き出すオペレーションを実行すると、実際のイメージスキャナのステータス情報等を得ることができる。操作パネル制御オブジェクトは操作パネル制御ライブラリを介して操作パネルの制御を行うための複数のオペレーションを提供しており、操作パネル２１の代理オブジェクトとして機能する常駐エージェントである。
【００４３】
プリンタ制御オブジェクトとイメージスキャナ制御オブジェクトと操作パネル制御オブジェクトは常駐エージェントである。すなわち、画像処理装置の立ち上げ後、インタプリタが処理を開始するとその最初の処理の一環として常駐エージェントを自動的に生成、初期化、起動する。そして常駐エージェントは装置の動作中を通じてこのノードに存続する（後述するｌｉｖｅオペレーションの実装内部で無限ループを構成している）。
【００４４】
図４において２つ存在するモバイルエージェントは、ある仕事のエージェントとしての役割を担うオブジェクトのうち、あるネットワークノード上のインタプリタから別のネットワークノード上のインタプリタへ移動する性質を持つオブジェクトである。モバイルエージェントは、そのスクリプト中に「移動」を意味するオペレーション（以下ｇｏオペレーションと呼ぶ）を呼び出す命令を含む。
【００４５】
インタプリタはモバイルエージェントオブジェクトの命令列の解釈実行中にｇｏオペレーションを発見すると、オブジェクトエンコーダによってその時点の該オブジェクトに含まれるすべての実行に係るデータと命令列とをそれらのデータ構造を復元可能な符号化方法によって符号化（マーシャリング、シリアライズ）し、符号化したパッケージをネットワークパケットとしてｇｏオペレーションの引数に指定されたノードのインタプリタに宛てて転送する。転送されたパケットを受け取ったノードのインタプリタは、オブジェクトデコーダによって、そのパケットを実行可能な命令とデータとして該インタプリタが管理するメモリ空間に復号化（アンマーシャリング、デシリアライズ）し、さらにオブジェクトスケジューラのスケジュール対象に参加させる。
【００４６】
転送され復号化されたオブジェクトの実行に係るデータ中には、該オブジェクトの次に実行すべき命令の位置を示すデータも含まれているため、該オブジェクトが転送先のノードで最初に実行する命令は転送元ノードで最後に実行した命令の次のものとなる。かくして、モバイルエージェントはモバイルエージェントの実行環境（インタプリタ）を含むネットワークノード間を移動しながら、自らの命令列に記述された処理を遂行する。
【００４７】
インタプリタが扱うすべてのオブジェクトはその命令列によって自らを初期化するために必要な処理を定義したオペレーション（以下ではinitializeオペレーションと呼ぶ）を持っている。インタプリタは、オブジェクトを生成したとき最初に、このinitializeオペレーションの実装として記述された命令列を実行する。また、モバイルエージェントと常駐エージェントは、自らの存続に渡って行う一連の処理を定義したオペレーション（以下ではｌｉｖｅオペレーションと呼ぶ）を持つ。インタプリタは、オブジェクトの初期化が済むとこのｌｉｖｅオペレーションの実装として記述された命令列を実行する。ｌｉｖｅオペレーションに記述された命令列の実行が終了すると、インタプリタはオブジェクトを削除し、該オブジェクトだけが使用していたメモリ領域をすべて解放する。
【００４８】
オブジェクトは、他のオブジェクトとメッセージパッシングによって対話することができる。各ノードに存在するインタプリタのメモリ空間はそれぞれのノード毎にまったく異なるものであるため、特にあるノードにおいてモバイルエージェントが他のエージェントと対話を開始するためには、それに先立ってモバイルエージェントは相手エージェントのオブジェクトへの参照を獲得しなければならない。この操作は、モバイルエージェントの命令列中で、対話したい相手のオブジェクトを指定するための識別情報を引き数として、インタプリタが提供する組み込みオペレーションである対話要求オペレーション（以下ではｍｅｅｔオペレーションと呼ぶ）を呼び出すことで実現できる。ここで、相手オブジェクトを指定するための識別情報は、ユニークなオブジェクト識別子、あるいはオブジェクトが属するクラスの識別子などの該当するオブジェクトの条件を示す情報である。ｍｅｅｔオペレーションに成功すると、モバイルエージェントは相手オブジェクトの参照を得、これを用いて相手オブジェクトのオペレーションを実行できるようになる。すなわち、メッセージの対話が可能となる。図４において、他のノードから移動してきたモバイルエージェント１やモバイルエージェント２は、常駐エージェントであるプリンタ制御オブジェクトやイメージスキャナオブジェクトとｍｅｅｔすると、相手の公開されたデータにアクセスし公開されたオペレーションを呼び出すことができるようになる。
【００４９】
さらに本発明の実施例に係るインタプリタは、良く知られているモバイルエージェントのネットワークパケットへの符号化ならびにネットワークパケットからの復号化に加え、さらに、転写紙上の印字データへの符号化ならびに転写紙上の印字データからの復号化も行う。モバイルエージェントは上述のようにパッケージに符号化（マーシャリング、シリアライズ）され、符号化されたデータをバーコードとして表現した画像データが画像メモリ１６に生成され、プリンタ１７によって用紙面上に印字される。また逆に、用紙面上に印字されたバーコンド画像をイメージスキャナ１８によって画像メモリ１６に読み取り、読み取った画像データをバーコード認識して前述のパッケージデータに復元し、復元したパッケージを復号化（アンマーシャリング、デシリアライズ）してモバイルエージェントを復元する。
【００５０】
図６は本実施例に係るモバイルエージェントの用紙面上の表現の一例を示す。モバイルエージェントが用紙に印字されたバーコードの形式で符号化されている様子を示す。
【００５１】
また、モバイルエージェントの用紙への符号化に際して、さらに、モバイルエージェントの移動する宛先等の情報も符号化して用紙面上の印字として表現する実施形態もある。さらに、用紙上に符号化されたモバイルエージェントの移動は専ら人の手を介して運搬による場合が多いため、特に移動すべき宛先を用紙面上に人間に可読な表現で印字することも有効である（図７）。
【００５２】
なお、図６および図７においては、用紙面上の印字としてモバイルエージェントを符号化するために良く知られたバーコードを用いた表現方法を用いているが、これはバーコードに限定されるわけではなく、用紙面上の印字としてデータを符号化ならびに復号化する方式であればいずれの方式を使ってもよいことは言うまでもない。特に、カラープリンタおよびカラースキャナによって構成されるシステムにおけるイエロードットの打点周期の変調によるデータの印字表現や、さまざまな｛電子透かし｝の実現手法を用いることにより、モバイルエージェントの印字表現を処理対象の画像データの印字表現の中に埋め込んで印字することは極めて有効である。
【００５３】
図８は本実施例に係るモバイルエージェントのｌｉｖｅオペレーションを実装する命令列の処理手順を示す。
【００５４】
クライアント３で起動したモバイルエージェントは、ステップ８０１で画像処理装置１を宛先とするｇｏオペレーションで画像処理装置１上のインタプリタへ移動する。この際、クライアント３上のインタプリタはオブジェクト内のすべての命令列とすべてのデータ（属性の集合）をネットワークを介して通信可能なデータストリームとしてマーシャリングし、画像処理装置に送信する。また、エージェントの移動が完了すると、クライアント３上のインタプリタはこのモバイルエージェントオブジェクトを内部テーブルから削除し、このオブジェクトが利用していたメモリ空間等の資源を解放する。
【００５５】
画像処理装置１は受信したデータストリームを展開し、展開したデータストリームを画像処理装置１内部のインタプリタが管理するメモリ空間中に配置し、実行可能なオブジェクトとして管理テーブルに登録する。画像処理装置１内部のインタプリタは、登録されたモバイルエージェントオブジェクト内部のデータに自動的に記憶されている現在のプログラムカウンタからｌｉｖｅオペレーションの実行を再開する。
【００５６】
再開後実行されるステップ８０２では、画像処理装置５を宛先とするｇｏオペレーションで画像処理装置５上のインタプリタへ移動する。この際、画像処理装置１上のインタプリタはオブジェクト内のすべての命令列とすべてのデータ（属性の集合）をデータストリームとしてマーシャリングし用紙６の紙面上の印字データとして印字出力する。また、エージェントの移動が完了すると、画像処理装置１上のインタプリタはこのモバイルエージェントオブジェクトを内部テーブルから削除し、このオブジェクトが利用していたメモリ空間等の資源を解放する。この結果、図７のような用紙が画像処理装置１から排出される。
【００５７】
訓練されたオペレータは、排出された用紙６を、ハンドキャリー、郵送、あるいは旧来型のファックスなどの方法によって画像処理装置５のもとに届け、さらにこの用紙を画像処理装置５のスキャナにかける。画像処理装置１は読み取った画像データに表現されている印字データを認識し、元のデータストリームを復元し、さらにデータストリームをアンマーシャリングし、展開した命令列とデータを画像処理装置５内部のインタプリタが管理するメモリ空間中に配置し、実行可能なオブジェクトとして管理テーブルに登録する。画像処理装置５内部のインタプリタは、登録されたモバイルエージェントオブジェクト内部のデータに自動的に記憶されている現在のプログラムカウンタからｌｉｖｅオペレーションの実行を再開する。
【００５８】
再開後実行されるステップ８０３では、画像処理装置５のインタプリタに常駐するプリンタ制御オブジェクトとの対話をインタプリタに要求しインタプリタからプリンタ制御オブジェクトを識別するための参照を得る。プリンタ制御オブジェクトは画像処理装置５のプリンタエンジンの制御と状態取得を行うオブジェクトとしてプログラミングされており、装置の立ち上げ時にインタプリタの初期化に伴ってあらかじめインタプリタ内に生成され登録されている。
【００５９】
ステップ８０４では、プリンタ制御オブジェクトの消耗品状態問い合わせオペレーションを呼び出す。この結果、プリンタ制御オブジェクトの消耗品状態問い合わせオペレーションの実装に従って、プリンタにおいて該消耗品の状態を検知するセンサ値が収集され、トナー、定着ウェッブ、転写紙等の各種消耗品補充の必要の度合いが判定される。オペレーションの呼び出しから制御が返ると、エージェントはオペレーションの返り値として補充の必要な消耗品のリストを得る。リストが空すなわち消耗品の補充が不要と判定されると、ステップ８０５に進み、必要と判定されるとステップ８０７に進みそれぞれ処理を継続する。
【００６０】
ステップ８０５では操作パネル制御オブジェクトと接続を行う。ステップ８０６では操作パネル制御オブジェクトに実装されるメッセージ表示オペレーションを呼び出し、オペレータに対して「正常終了」を知らせるメッセージを操作パネルに表示する。そして一連の処理を終了する。
【００６１】
ステップ８０７では、消耗品の補充品のリストをエージェント内部の属性に記憶する。内部の属性に記憶したデータはエージェントの移動に伴ってマーシャリングの対象となり、エージェントとともに移動する。
【００６２】
ステップ８０８では、画像処理装置１を宛先とするｇｏオペレーションで画像処理装置１上のインタプリタへ移動する。この際、画像処理装置５上のインタプリタはオブジェクト内のすべての命令列とすべてのデータ（属性の集合）をデータストリームとしてマーシャリングし用紙７の紙面上の印字データとして印字出力する。また、エージェントの移動が完了すると、画像処理装置５上のインタプリタはこのモバイルエージェントオブジェクトを内部テーブルから削除し、このオブジェクトが利用していたメモリ空間等の資源を解放する。
【００６３】
この結果、図７のような用紙が画像処理装置５から排出される。訓練されたオペレータは、排出された用紙７を、ハンドキャリー、郵送、あるいは旧来型のファックスなどの方法によって画像処理装置５のもとに届け、さらにこの用紙を画像処理装置１のスキャナにかける。画像処理装置１は読み取った画像データに表現されている印字データを認識し、元のデータストリームを復元し、さらにデータストリームをアンマーシャリングし、展開した命令列とデータを画像処理装置５内部のインタプリタが管理するメモリ空間中に配置し、実行可能なオブジェクトとして管理テーブルに登録する。画像処理装置１内部のインタプリタは、登録されたモバイルエージェントオブジェクト内部のデータに自動的に記憶されている現在のプログラムカウンタからｌｉｖｅオペレーションの実行を再開する。
【００６４】
再開後実行されるステップ８０９では、データベースサーバ４を宛先とするｇｏオペレーションでデータベースサーバ４上のインタプリタへ移動する。この際、画像処理装置１上のインタプリタはオブジェクト内のすべての命令列とすべてのデータ（属性の集合）を、ネットワークを介して通信可能なデータストリームとしてマーシャリングし、データベースサーバに送信する。また、エージェントの移動が完了すると、画像処理装置１上のインタプリタはこのモバイルエージェントオブジェクトを内部テーブルから削除し、このオブジェクトが利用していたメモリ空間等の資源を解放する。データベースサーバ４は受信したデータストリームを展開し、展開したデータストリームをデータベースサーバ４内部のインタプリタが管理するメモリ空間中に配置し、実行可能なオブジェクトとして管理テーブルに登録する。データベースサーバ４内部のインタプリタは、登録されたモバイルエージェントオブジェクト内部のデータに自動的に記憶されている現在のプログラムカウンタからｌｉｖｅオペレーションの実行を再開する。
【００６５】
再開後実行されるステップ８１０では、データベースサーバ４に常駐する発注管理オブジェクトと接続する。さらにステップ８１１では、発注管理オブジェクトが提供する発注処理オペレーションを、ステップ８０７で属性に記憶した補充品リストを引数として呼び出し、発注の処理を行う。そして終了する。
【００６６】
以上説明したように、本実施例によれば、ネットワークに対してオフラインな状態にある画像処理装置を、ネットワークに接続された各種ＯＡ装置と同様に、モバイルエージェントによって装置間を有機的かつ柔軟に連携させるシステムアプリケーションの中に組み込むことが可能となり、処理が実現できる。
【００６７】
なお本実施例では、集中管理センターが遠隔地の装置の消耗品補充を制御するシステムアプリケーションを例として説明したが、本発明に係る実施例はこの用途に限定されるものでないことは言うまでもなく、むしろ、図８のようなモバイルエージェントのｌｉｖｅオペレーションのプログラミング次第で、様々な用途のシステムアプリケーションを柔軟に実現できることが本発明の特長である。
【００６８】
たとえば、本実施例と同様の構成においても、遠隔地の各装置に最適にカスタマイズした診断プログラムを実現するモバイルエージェントを用紙６の形態でサービスマンがメンテナンス時に持参して、半自動的なメンテナンスを行う実施形態を容易に実現することができる。またたとえば、装置のファームウェアの単純なアップグレードは、パッチを当てるようにプログラミングしたモバイルエージェントをサービスマンが持参してもよい。またたとえば、装置に設定された各種パラメータの収集ないしは更新を行うモバイルエージェントを容易に実現することも可能である。
【００６９】
さらに本実施例では、遠隔地の装置５はスタンドアロンである構成を例示したが、遠隔地にもそのエリアのＬＡＮがＬＡＮ２とは独立に存在する場合、用紙によるモバイルエージェントの移動は、独立したネットワーク間をモバイルエージェントによって連携させるゲートウェイとして利用することも可能である。
【００７０】
なお、本発明は、複数の機器（例えばホストコンピュータ，インタフェイス機器，リーダ，プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機，ファクシミリ装置など）に適用してもよい。
【００７１】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００７２】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，磁気テープ，不揮発性のメモリカード，ＲＯＭなどを用いることができる。
【００７３】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００７４】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【符号の説明】
【００７５】
１  第１の画像処理装置
２  ローカルエリアネットワーク
３  クライアント（コンピュータ）
４  データベースサーバ
５  第２の画像処理装置
１１  ネットワークインタフェースカード
１２  プロセッサ
１３  ワークメモリ
１４  不揮発性メモリ
１５  エンジン制御回路
１６  画像メモリ
１７  プリンタ
１８  イメージスキャナ
１９  プロセッサバス
２０  イメージバス
２１  操作パネル
【図１】
2010148123.tif 000003
【図２】
2010148123.tif 000004
【図３】
2010148123.tif 000005
【図４】
2010148123.tif 000006
【図５】
2010148123.tif 000007
【図６】
2010148123.tif 000008
【図７】
2010148123.tif 000009
【図８】
2010148123.tif 000010