(57)【特許請求の範囲】
【請求項１】
ネットワークに対してデータの送信及び受信を行うインターフェース手段を有するＯＡ装置において、
前記ネットワークを介して、前記ＯＡ装置において実現可能な第１の処理と、第２の処理とを実行可能な命令列を含むモバイルエージェントを受信する受信手段と、
前記受信手段が受信したモバイルエージェントの命令列を実行する実行手段と、
前記実行手段による実行に従って当該ＯＡ装置において前記第１の処理を実現すべく機構制御を行う制御手段と、
前記制御手段による機構制御による第１の処理の結果に応じて、他のＯＡ装置に前記第２の処理をさせる命令列を含む、他のモバイルエージェントを前記ネットワークへ前記モバイルエージェントに含まれる命令列を実行することにより送出する送信手段と
を備えることを特徴とするＯＡ装置。
【請求項２】
前記モバイルエージェントは符号化されたものであって、前記受信手段は受信したモバイルエージェントを復号化する復号化手段をさらに備えることを特徴とする請求項１記載のＯＡ装置。
【請求項３】
前記モバイルエージェントの命令列の実行に係るデータに対して、前記制御手段による機構制御の結果に対応する変更を加える制御結果獲得手段をさらに備えることを特徴とする請求項１又は２記載のＯＡ装置。
【請求項４】
前記送信手段は、前記符号化手段によって符号化されたモバイルエージェントを、前記ネットワークに接続されている他のＯＡ装置に送信することを特徴とする請求項２又は３記載のＯＡ装置。
【請求項５】
前記ＯＡ装置は、画像処理装置であり、前記第１の処理は該画像処理装置における画像処理であることを特徴とする請求項１〜４のいずれか１項記載のＯＡ装置。
【請求項６】
前記ＯＡ装置は、画像ファイリング装置であり、前記第２の処理が該画像ファイリング装置における格納処理であることを特徴とする請求項１〜４のいずれか１項記載のＯＡ装置。
【請求項７】
少なくとも１台のクライアントコンピュータと、少なくとも１台のＯＡ装置と、前記クライアントコンピュータ及び前記ＯＡ装置の間の通信を実現するためのネットワークとから構成されるＯＡシステムにおいて、
前記ＯＡ装置は、
前記ネットワークを介して、前記ＯＡ装置において実現可能な第１の処理と、第２の処理とを実行可能な命令列を含む情報から構成されるモバイルエージェントを受信する受信手段と、
前記受信手段が受信したモバイルエージェントの命令列を実行する実行手段と、
前記実行手段による実行に従って当該ＯＡ装置において前記第１の処理を実現すべく機構制御を行う制御手段と、
前記制御手段による機構制御による第１の処理の結果に応じて、別のＯＡ装置に前記第２の処理をさせる命令列を含む、他のモバイルエージェントを前記ネットワークへ前記モバイルエージェントに含まれる命令列を実行することにより送出する送信手段と
を備えることを特徴とするＯＡシステム。
【請求項８】
ネットワークに対してデータの送信及び受信を行うインターフェース手段を有するＯＡ装置の制御方法において、
前記ネットワークを介して、前記ＯＡ装置において実現可能な第１の処理と、第２の処理とを実行可能な命令列を含むモバイルエージェントを受信するステップと、
前記受信するステップで受信したモバイルエージェントの命令列を実行するステップと、
前記実行するステップでの実行に従って当該ＯＡ装置において前記第１の処理を実行すべく機構制御を行うステップと、
前記機構制御を行うステップでの機構制御による第１の処理の結果に応じて、別のＯＡ装置に前記第２の処理をさせる命令列を含む、他のモバイルエージェントを前記ネットワークへ前記モバイルエージェントに含まれる命令列を実行することにより送出するステップと
を含むことを特徴とするＯＡ装置の制御方法。
【請求項９】
前記モバイルエージェントは符号化されたものであって、前記受信するステップで受信したモバイルエージェントを復号化するステップをさらに備えることを特徴とする請求項８記載のＯＡ装置の制御方法。
【請求項１０】
前記モバイルエージェントの命令列の実行に係るデータに対して、前記機構制御のステップでの機構制御の結果に対応する変更を加えるステップを含むことを特徴とする請求項８又は９記載のＯＡ装置の制御方法。
【請求項１１】
前記送信するステップでは、前記符号化されたモバイルエージェントを、前記ネットワークに接続されている他のＯＡ装置に送信するステップを含むことを特徴とする請求項９又は１０記載のＯＡ装置の制御方法。
【請求項１２】
前記ＯＡ装置は、画像処理装置であり、前記第１の処理は該画像処理装置における画像処理であることを特徴とする請求項８〜１１のいずれか１項記載のＯＡ装置の制御方法。
【請求項１３】
前記ＯＡ装置は、画像ファイリング装置であり、前記第２の処理が該画像ファイリング装置における格納処理であることを特徴とする請求項８〜１１のいずれか１項記載のＯＡ装置の制御方法。
【請求項１４】
ＯＡ装置における画像処理をひとつのタスクとして実行する実行手段と、
前記実行手段が前記画像処理をひとつのタスクとして実行中に、前記ＯＡ装置における復帰可能なエラーの状態を検知した場合、前記タスクのエラーを外部に通知するための派生タスクを生成する指示を行う生成指示手段と、
前記エラーの状態が解除されたことを認識する認識手段とを備え、
前記実行手段は、前記認識手段がエラーの状態の解除を認識した場合には、前記タスクの実行を再開し、前記派生タスクは、前記エラー状態を通知する処理を含み、
前記ＯＡ装置と通信可能な別のＯＡ装置において前記派生タスクを実行させるべく、前記派生タスクを転送する転送手段を備えることを特徴とするＯＡ装置。
【請求項１５】
ＯＡ装置における画像処理をひとつのタスクとして実行するステップと、
前記実行するステップで前記画像処理をひとつのタスクとして実行中に、前記ＯＡ装置における復帰可能なエラーの状態を検知した場合、前記タスクのエラーを外部に通知するための派生タスクを生成する指示を行うステップと、
前記エラーの状態が解除されたことを認識するステップとを備え、
前記認識するステップでエラーの状態の解除を認識した場合には、前記実行するステップで、前記タスクの実行を再開し、前記派生タスクは、前記エラー状態を通知する処理を含み、前記ＯＡ装置と通信可能な別のＯＡ装置において前記派生タスクを実行させるべく、前記派生タスクを転送するステップをさらに備えることを特徴とするＯＡ装置の制御方法。
【請求項１６】
請求項１５に記載のＯＡ装置の制御方法を実行するプログラムを格納することを特徴とするコンピュータ読取り可能な記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ネットワーク接続されたＯＡ装置、ＯＡシステム及びその制御方法に関し、特にモバイルエージェント実行環境を有するＯＡ装置、ＯＡシステム、制御方法及び記憶媒体に関する。
【０００２】
【従来の技術】
従来は多くのＯＡ装置はネットワークに接続されず単独の機器内に閉じた機能を提供していたが、近年では、これまで単独で利用されてきたＯＡ装置がイーサネット等のネットワークに接続され、クライアントである複数のコンピュータ等から共用できる製品が提供されてきている。
【０００３】
クライアントコンピュータからネットワークを介してこのようなＯＡ装置を利用するにあたり、従来は、処理の間中常にネットワーク経由の接続性が確保されていることを前提として、クライアントコンピュータ側からＯＡ装置の制御等を行う手法が採用されている。
【０００４】
例えば、クライアントであるワークステーションやパーソナルコンピュータや携帯情報端末装置等において実行されるプログラムがＯＡ装置により提供可能なサービスを利用する場合、これらのクライアントコンピュータは、そのＯＡ装置により実行されるサーバプログラムに対して要求や処理に必要なデータの送信を行って目的とする装置の動作を制御し、更に返答や必要なデータを受信する。クライアントコンピュータは、ＯＡ装置からの返答の内容を判定し、それに応じて新たな指示要求をＯＡ装置に送信するという動作を繰り返す。
【０００５】
従って、ＯＡ装置のサービスを利用する処理が行われている間は、常に、クライアントコンピュータとＯＡ装置との間では、対話的なやり取りが継続されていた。
【０００６】
また、近年の傾向として、ネットワーク接続された複数の様々なＯＡ装置のサービスを組み合わせて、従来ユーザが個々の装置の間を行き来しながら実現してきた処理を一連の処理として自動的に行うワークフロー形のサービスを実現可能な装置が求められている。例えば、ユーザが画像ファイル中から所望の画像データを探し出し、ワードプロセッサによって作られたＰＤＬ形式のファイルの出力に探し出された画像データを添付してプリンタに２０部出力させ、更にステープル処理させ、同時にそれらの画像データを３件の宛先にファクシミリ送信する、といった複数の処理を、ネットワーク接続された複数のＯＡ装置が連携して一連の処理として実現するサービスが求められてきている。
【０００７】
従来、このような要求に対応するべく、１台のクライアントコンピュータが複数台のＯＡ装置のそれぞれに対して順次接続し、上記の継続的なコネクションを前提とする対話処理プロトコルによって制御を行うことを繰り返し、これによって複数の装置の組合せによる複合的なサービスを実現していた。
【０００８】
一方、純粋にコンピュータ同士からなるネットワークにおける分散計算の分野では、最近になって、これまで盛んに研究と実現が行われてきたプロトコルによる対話を繰り返しこれによって分散計算を行うリモートプロシージャコール等の技術から発展して、実行可能なプログラムオブジェクトそのものがネットワークを介して移動して分散計算を行う「モバイルエージェント」と呼ばれる技術が提案されてきている。
【０００９】
モバイルエージェントによる分散計算システムの実現例としては、Ｇｅｎｅｒａｌ Ｍａｇｉｃ社の米国特許５６０３０３１号に開示されているＴｅｌｅｓｃｒｉｐｔ（なお、Ｇｅｎｅｒａｌ Ｍａｇｉｃ社は、現在、Ｔｅｌｅｓｃｒｉｐｔの開発を中止し、Ｓｕｎｓｏｆｔ社のＪａｖａを利用したＯｄｙｓｓｅｙを提供している）や、ＩＢＭ東京基礎研究所のＡｇｌｅｔｓ（Ｊａｖａを利用）など、さまざまな提案が知られている。
【００１０】
また、本出願人は、モバイルエージェントを受信し、この受信されたモバイルエージェント内に記述された命令を解釈することによって装置が有する機能を制御する画像処理装置及びその制御方法を提案している（例えば、特願平１０−８００９０号公報）。
【００１１】
【発明が解決しようとする課題】
しかしながら、従来のネットワークを介して行うＯＡ装置の制御には、パーソナルコンピュータやワークステーション等のクライアントコンピュータ内のプロセッサによって実行されＯＡ装置が提供するサービスの遠隔制御を行うクライアントプロセスと、ＯＡ装置内のプロセッサによって実行され当該ＯＡ装置が提供するサービスを実現するためにＯＡ装置の物理的な機構を制御するサーバプロセスとが、離れたプロセス実行環境上でそれぞれ動作するため、以下に掲げるような問題があった。
【００１２】
第１に、従来の継続的対話的な通信に基づく装置制御はネットワークトラフィックのコスト的観点から不利であるため、要求される細かい制御、特にＯＡ装置からクライアントコンピュータへの高度な情報伝達のための制御を行うことが困難であった。
【００１３】
すなわち、クライアントプロセスはサーバプロセスに対してサービスの要求やサービスの処理に必要なデータの送信を行い、サーバプロセスはこの要求に対するＯＡ装置の物理的な機構の制御とクライアントプロセスへの応答及び必要に応じて処理結果の返信とを行うが、このような対話的なやりとりは、要求するサービスをきめ細かく制御しようとすればそれに応じて何回も繰り返さなければならない。ネットワークによって共有されるＯＡ装置の提供するサービスをクライアントがきめ細かく制御するということは、最近特に重視されている要請であるが、従来の制御プロトコルによる対話的な情報のやり取りでこの要請に応えようとすると、それだけネットワークの混雑を招く。従って、ユーザは、より性能が高く高価なクライアントインフラストラクチャを使用しなければならないので、経済的に不利であった。また、従来のＯＡ装置では特に、ＯＡ装置上での処理が完了した後でその完了した処理に関する情報の通知等、ＯＡ装置からクライアントコンピュータに対して十分な情報を通知することは実質的に困難であった。例えば、プリンタ装置をネットワーク接続されているクライアントコンピュータから遠隔制御する場合、転送データのスクリプトのスプーリングを行うアプリケーションサーバのスプール（プリンタサーバのプリントキュー）がクライアントコンピュータとプリンタ装置との間に介在しており、対話型のプロトコルによるＯＡ装置の直接制御が本質的に不可能であった。
【００１４】
以上の理由から、プリンタ装置に対してプリントを要求したクライアントコンピュータが、要求したデータによる最終ページが出力されたタイミング（プリント処理の真の完了）を知ることは困難であり、システムによっては全く不可能か、あるいはネットワークトラフィック的に多大なコストをかけなければ実現することはできなかった。
【００１５】
また、第２に、従来の手法によってクライアントコンピュータからＯＡ装置をきめ細かく制御しようとした場合、特にＯＡ装置からクライアントコンピュータへ十分な情報伝達を行わせようとした場合、ＯＡ装置は装置本来の処理に加えて、クライアントコンピュータとの対話処理を同時に制御しなければならない。そのため、ＯＡ装置の処理系に多大な負荷をかけ、その結果ＯＡ装置のコストを引き上げることになる。例えば、あるクライアントコンピュータから依頼されたプリント処理を実行して最終ページを出力し終えたプリンタ装置は、その依頼に関する終了の結果をクライアントに報告する処理と、次のクライアントから依頼されたプリント処理とを同時に開始することが、スループット向上のためには望ましいが、これを実現するためにはＯＡ装置が提供するサービスを実現するためのプロセスすなわちプリンタ装置におけるＰＤＬ（ページ記述言語）の解釈と展開、給紙、作像及び出力用紙の排紙等の間中、上記のようなクライアントプロセスとサーバプロセスとの制御プロトコルによる対話を維持し続けなければならなかった。このことは、ＯＡ装置にとって、サービスを提供するための物理的な機構の制御とネットワークを介した通信とを同時に並行して行わなければならないことを意味し、負担が非常に大きい。この負担は、ＯＡ装置が複数のクライアントからの要求に対してサービスを提供するマルチクライアント型のＯＡ装置であった場合には、特に顕著なものとなる。
【００１６】
従って、サービスを実現するためにＯＡ装置の有する物理的な機能を制御する間、ネットワークを介した通信のコネクションを維持するためには、ＯＡ装置のプロセッサはより高性能なものが必要とされ、またメモリについてもより大容量のメモリが必要とされる等、ＯＡ装置本体のコストアップの原因となっていた。
【００１７】
また、第３に、ＯＡ装置を制御するための一連の対話的処理がプロトコルによって実現される方法では、ＯＡ装置を制御するための命令体系を予めコマンドプロトコルとして設計し、実装しておかなければならないため、将来的にそのＯＡ装置の新たな利用方法が拡張されたときにその新しいサービスを享受するためには、コマンドプロトコルを拡張し、クライアントプロセスとサーバプロセスとの両方をこの新しいコマンドプロトコルに対応するように変更すなわちバージョンアップしなければならない。このことは、ユーザにとって煩雑であるばかりでなく、特に従来のＯＡ装置に内蔵されているサーバプロセスのためのプログラムは一般にファームウエアと呼ばれ不揮発性のメモリ等におかれているため、プログラムの更新には多大なコストがかかるか、あるいは全く不可能な場合が多い。従って、ＯＡ装置が提供するサービスの拡張性に乏しいという問題があった。
【００１８】
なお、例外的に、クライアントコンピュータからＯＡ装置へ当該ＯＡ装置上で実行されるサーバプログラムを予め送り込み、クライアントはそのプログラムによるサーバプロセスとの対話的通信を行うという手法も考えられる。あるいは、ＯＡ装置がしかるべき制御プログラムを動的にダウンロードして、その制御プログラムによるサーバプロセスにおいてクライアントコンピュータと対話的通信を行うように構成することもできる。このような手法はＪａｖａの枠組みを用いて装置制御の拡張性はある程度達成可能であるが、まだ容易といえるものではなく、また、上述したような第１、第２の問題点を解決できるものではなかった。
【００１９】
一方、上述したように、従来のネットワーク接続されたＯＡ装置によれば、クライアントプロセスが装置のサーバプロセスとネットワーク的なコネクションを張って逐次対話的にサービスの制御を行っているため、複数の装置を組み合わせてワークフロー型のサービスを実現する場合には、クライアントプロセスが一連の処理の間中、各装置におけるサーバプロセスとの対話を継続しなければならないので、更に以下の問題点があった。
【００２０】
すなわち、第１に、クライアントプロセスと複数のサーバプロセスとを結ぶネットワークインフラストラクチャの負担が大きいため、ユーザは高性能で高価なネットワークインフラストラクチャを用意しなければならず、経済性が損なわれる。また、帯域幅の小さいネットワーク上では十分に機能を果たすことができず、さらに、断続的に接続を行うダイアルアップ型のネットワーク上では使用の際に支障をきたすという問題点もあった。
【００２１】
また、第２に、クライアントプロセスを実行するコンピュータインフラストラクチャの負担がおおきいので、クライアントプロセスをユーザ端末上で実行するならば、ユーザがサービス完了までの間にその端末上で行う他の処理がはかどらないという自体が発生する。従って、ユーザはより高性能で高価なクライアント装置を用意しなければならず、経済的ではないという問題があった。
【００２２】
また、第３に、装置を制御するための一連の対話的処理がプロトコルによって実現される手法では、装置を制御するための命令体系を予めプロトコルとして設計し、実装しておかなければならないため、クライアントプロセスとサーバプロセスとの両方ともがこのプロトコルに対応するように注意深く実装されていなければならない。このため、クライアントコンピュータが複数のＯＡ装置を有機的に組み合わせて自由なワークフローを実現することは非常に困難であった。
【００２３】
また、第４に、複数のＯＡ装置を組み合わせるためにいちいちクライアントコンピュータ等を通信を仲介するというネットワークトラフィック上の無駄を避けるためには、ＯＡ装置がワークフローに沿って直接他の装置と通信することが望ましい。しかし、あるＯＡ装置が他のＯＡ装置によって提供されるサーバプロセスのクライアントコンピュータとして振る舞う場合は、上述した問題がＯＡ装置中のクライアントおよび／またはサーバに影響することになり、このことはクライアントとしてパーソナルコンピュータ等のＯＡ装置とは独立したコンピュータを用いる場合と比較して非常に大きな問題となる。
【００２４】
本発明は、上述した各問題点を解決するためになされたもので、必要最小限の時間だけクライアントコンピュータとＯＡ装置との理論的な接続を行い、必要最小限の対話的やり取りを行うだけで、クライアントコンピュータからＯＡ装置の所望のサービスを十分且つ容易に拡張可能に制御することができるとともに、ＯＡ装置からクライアントコンピュータへクライアントコンピュータによる処理に必要な応答情報を与えたり他の装置により提供される所望のサービスを十分かつ容易に拡張可能に制御することができるＯＡ装置、ＯＡシステム、制御方法及び記憶媒体を提供することを第１の目的とする。
【００２５】
また、必要最小限の時間だけクライアントコンピュータとＯＡ装置との論理的な接続を行い、必要最小限の対話的やり取りを行うだけで、クライアントコンピュータが要求するサービスを十分且つ容易に拡張可能に制御することができ、更に、ＯＡ装置単体が提供する機能を容易に他のＯＡ装置の機能と組合せて全体として一連のワークフローを実現することができるＯＡ装置、ＯＡシステム、制御方法及び記憶媒体を提供することを第２の目的とする。
【００２６】
【課題を解決するための手段】
上記第１の目的を達成するために、請求項１のＯＡ装置は、ネットワークに対してデータの送信及び受信を行うインターフェース手段を有するＯＡ装置において、前記ネットワークを介して、前記ＯＡ装置において実現可能な第１の処理と、第２の処理とを実行可能な命令列を含むモバイルエージェントを受信する受信手段と、前記受信手段が受信したモバイルエージェントの命令列を実行する実行手段と、前記実行手段による実行に従って当該ＯＡ装置において前記第１の処理を実現すべく機構制御を行う制御手段と、前記制御手段による機構制御による第１の処理の結果に応じて、他のＯＡ装置に前記第２の処理をさせる命令列を含む、他のモバイルエージェントを前記ネットワークへ前記モバイルエージェントに含まれる命令列を実行することにより送出する送信手段とを備えることを特徴とする。
【００２７】
請求項３のＯＡ装置は、請求項１又は２に記載のＯＡ装置において、前記モバイルエージェントの命令列の実行に係るデータに対して、前記機構制御手段による機構制御の結果に対応する変更を加える制御結果獲得手段を備えることを特徴とする。
【００２８】
また、上記第２の目的を達成するために、請求項４のＯＡ装置は、請求項２又は３に記載のＯＡ装置において、前記送信手段は、前記符号化手段によって符号化されたモバイルエージェントを、前記ネットワークに接続されている他のＯＡ装置に送信することを特徴とする。
【００２９】
上記第１及び第２の目的を達成するために、請求項５のＯＡ装置は、請求項１〜４のいずれか１項記載のＯＡ装置を、画像処理装置としてもよい。
【００３０】
また、請求項６のＯＡ装置は、請求項１〜４のいずれか１項記載のＯＡ装置を、画像ファイリング装置としてもよい。
【００３１】
また、上記第１の目的を達成するために、請求項７のＯＡシステムは、少なくとも１台のクライアントコンピュータと、少なくとも１台のＯＡ装置と、前記クライアントコンピュータ及び前記ＯＡ装置の間の通信を実現するためのネットワークとから構成されるＯＡシステムにおいて、前記ＯＡ装置は、前記ネットワークを介して、前記ＯＡ装置において実現可能な第１の処理と、第２の処理とを実行可能な命令列を含む情報から構成されるモバイルエージェントを受信する受信手段と、前記受信手段が受信したモバイルエージェントの命令列を実行する実行手段と、前記実行手段による実行に従って当該ＯＡ装置において前記第１の処理を実現すべく機構制御を行う制御手段と、前記制御手段による機構制御による第１の処理の結果に応じて、別のＯＡ装置に前記第２の処理をさせる命令列を含む、他のモバイルエージェントを前記ネットワークへ前記モバイルエージェントに含まれる命令列を実行することにより送出する送信手段とを備えることを特徴とする。
【００３６】
また、上記第１の目的を達成するために、請求項８のＯＡ装置の制御方法は、ネットワークに対してデータの送信及び受信を行うインターフェース手段を有するＯＡ装置の制御方法において、前記ネットワークを介して、前記ＯＡ装置において実現可能な第１の処理と、第２の処理とを実行可能な命令列を含むモバイルエージェントを受信するステップと、前記受信するステップで受信したモバイルエージェントの命令列を実行するステップと、前記実行するステップでの実行に従って当該ＯＡ装置において前記第１の処理を実行すべく機構制御を行うステップと、前記機構制御を行うステップでの機構制御による第１の処理の結果に応じて、別のＯＡ装置に前記第２の処理をさせる命令列を含む、他のモバイルエージェントを前記ネットワークへ前記モバイルエージェントに含まれる命令列を実行することにより送出するステップとを含むことを特徴とする。
【００３７】
請求項１０のＯＡ装置の制御方法は、請求項８記載のＯＡ装置の制御方法において、前記モバイルエージェントの命令列の実行に係るデータに対して、前記機構制御のステップでの機構制御の結果に対応する変更を加えるステップを含むことを特徴とする。
【００３８】
また、上記第２の目的を達成するため、請求項１１のＯＡ装置の制御方法は、請求項９又は１０に記載のＯＡ装置の制御方法において、前記送信するステップでは、前記符号化されたモバイルエージェントを、前記ネットワークに接続されている他のＯＡ装置に送信するステップを含むことを特徴とする。
【００３９】
上記第１及び第２の目的を達成するために、請求項１２のＯＡ装置は、請求項８〜１１のいずれか１項記載のＯＡ装置を、画像処理装置としてもよい。
【００４０】
また、請求項１３のＯＡ装置は、請求項８〜１１のいずれか１項記載のＯＡ装置を、画像ファイリング装置としてもよい。
さらに、第２の目的を達成するために、請求項１４記載のＯＡ装置は、ＯＡ装置における画像処理をひとつのタスクとして実行する実行手段と、前記実行手段が前記画像処理をひとつのタスクとして実行中に、前記ＯＡ装置における復帰可能なエラーの状態を検知した場合、前記タスクのエラーを外部に通知するための派生タスクを生成する指示を行う生成指示手段と、前記エラーの状態が解除されたことを認識する認識手段とを備え、前記実行手段は、前記認識手段がエラーの状態の解除を認識した場合には、前記タスクの実行を再開し、前記派生タスクは、前記エラー状態を通知する処理を含み、前記ＯＡ装置と通信可能な別のＯＡ装置において前記派生タスクを実行させるべく、前記派生タスクを転送する転送手段を備えることを特徴とする。
請求項１５記載のＯＡ装置の制御方法は、ＯＡ装置における画像処理をひとつのタスクとして実行するステップと、前記実行するステップで前記画像処理をひとつのタスクとして実行中に、前記ＯＡ装置における復帰可能なエラーの状態を検知した場合、前記タスクのエラーを外部に通知するための派生タスクを生成する指示を行うステップと、前記エラーの状態が解除されたことを認識するステップとを備え、前記認識するステップでエラーの状態の解除を認識した場合には、前記実行するステップで、前記タスクの実行を再開し、前記派生タスクは、前記エラー状態を通知する処理を含み、前記ＯＡ装置と通信可能な別のＯＡ装置において前記派生タスクを実行させるべく、前記派生タスクを転送するステップをさらに備えることを特徴とする。
請求項１６記載の記憶媒体は、請求項１５記載のＯＡ装置の制御方法を実行するプログラムを格納することを特徴とする。
【００４２】
【発明の実施の形態】
以下、図面を参照して、本発明の実施形態について説明する。
【００４３】
（第１の実施形態）
まず、図１〜図７を参照して、本発明の第１の実施形態について説明する。
【００４４】
図１は、本実施形態に係るＯＡ装置としての画像処理装置を含むオフィスシステムのネットワーク構成の一例を示す説明図である。
【００４５】
同図において、オフィスシステムは、画像処理装置１、複数台のクライアントコンピュータ３及びルータ４を互いにローカルエリアネットワーク（以下、「ＬＡＮ」という）２により接続することにより構成される第１のネットワークと、ルータ７及びリモートクライアント８をＬＡＮ６により互いに接続することにより構成される第２のネットワークとを、ルータ４及びルータ７においてワイドエリアネットワーク５に接続することにより構成される。
【００４６】
ＬＡＮ２は、ＯＡ装置である画像処理装置１と、他のＯＡ装置あるいはクライアントの相互の通信を実現する。クライアントコンピュータ３は、ユーザによる入力に使用されるキーボード又はマウス等の入力装置と、ユーザに情報を出力するディスプレイなどの出力装置とを備え、ＬＡＮ２に接続されている。ルータ４は、ＬＡＮ２と他のネットワークとを接続し、両者に接続される各装置間の通信を実現する機能を有している。ワイドエリアネットワーク５は、多数のネットワークを接続した企業専用線網やインターネットあるいはＬＡＮを相互接続する。ルータ７は、ＬＡＮ６とワイドエリアネットワーク５とを接続しており、これによって、リモートクライアント８から画像処理装置１を遠隔制御することが可能となっている。
【００４７】
図２は、画像処理装置１の内部の概略構成を示すブロック図である。同図において、画像処理装置１１は、ＬＡＮ２との間でデータフレームの送受信を行うネットワークインターフェース１１と、各種演算処理を行い本装置全体の制御を司るＣＰＵまたはＭＰＵ等からなる中央処理部１２と、中央処理部１２が実行するプログラム及び実行に係るデータを格納するワークメモリ１３と、中央処理部１２が実行するプログラム、実行に係るデータの初期値及び電源切断前後において保存が必要なデータ等を格納する、例えば図示しないＲＯＭ、フラッシュＲＯＭ、ＮＶＲＡＭ、ＨＤＤ等からなる不揮発性メモリ１４と、ハードウエアにより画像処理を行う画像処理エンジンを制御するエンジン制御回路１５と、画像データを格納する画像メモリ１６と、転写紙に画像データに対応する画像を形成する画像処理エンジンであるプリンタ部１７と、原稿上の画像を読み取り画像データを形成する画像処理エンジンであるイメージスキャナ部１８とから主に構成されている。ネットワークインターフェース１１、中央処理部１２、ワークメモリ１３、不揮発性メモリ１４、エンジン制御回路１５及び画像メモリ１６は、バス１９を介して相互に接続されており、該バス１９を介して制御情報やエンジンステータス等の各種データのやり取りが行われる。
【００４８】
プリンタ部１７及びイメージスキャナ部１８は、エンジン制御回路１５に接続され、該エンジン制御回路１５によってそれぞれ制御される。また、プリンタ部１７、イメージスキャナ１８及び画像メモリ１６は、イメージバス２０に接続されており、該イメージバス２０を介して相互に画像データのやり取りが行われる。
【００４９】
図３は、図２に示したプリンタ部１７及びイメージスキャナ部１８の構成の一例を示す縦断面図である。
【００５０】
同図において、１０１は原稿給送装置であり、原稿台に載置された原稿を１枚ずつ順次原稿台ガラス１０２面上に搬送する。原稿が原稿台ガラス１０２上に搬送されると、原稿照射ランプ１０３が点灯されるとともにスキャナユニット１０４が移動され、原稿が照明される。原稿の反射光は、ミラー１０５、１０６及び１０７を介してレンズ１０８を通過し、ＣＣＤイメージセンサ１０９に入力される。原稿給送装置１０１、原稿台ガラス１０２、原稿照明ランプ１０３、スキャナユニット１０４、ミラー１０５〜１０７、レンズ１０８及びＣＣＤイメージセンサ１０９は、スキャナユニット部１８を構成する。
【００５１】
ＣＣＤイメージセンサ１０９は、入力された画像を画像データに光電変換し、その画像データをプリンタ部１７に送る。
【００５２】
画像データは、プリンタ部１７の露光制御部２０１に入力され、該露光制御部２０１によって光信号に変換されて感光体２０２に照射される。この照射光によって感光体２０２上に作られた潜像は、現像器２０３によって現像される。この現像とタイミングを合わせて、被転写紙積載部２０４もしくは２０５から転写紙が搬送され、転写部２０６において、上記現像された像が転写される。転写された像は定着部２０７において被転写紙に定着された後、排紙部２０８から装置外部に排出される。排紙部２０８から出力された転写紙は、ソータ２２０でソート機能が働いている場合には各ビンに排紙され、ソート機能が働いていない場合には最上位のビンに排紙される。
【００５３】
図４は、図２に示したワークメモリ１３に記憶されたデータの構造及びプログラムコードを中央処理部１２が処理するソフトウエア構造を示す模式的な階層図である。なお、不揮発性メモリ１４がＲＯＭ等である場合にはプログラムコードは不揮発性メモリ１４だけに存在するように構成してもよい。
【００５４】
同図において、ワークメモリ１３は４つの階層からなり、各階層は、下位の階層が提供するサービスを上位の階層が利用するという関係になっている。
【００５５】
最下層はオペレーティングシステムであり、プログラムの実行コンテクストの管理やメモリ管理等を行う階層である。オペレーティングシステムの中には、ネットワークインターフェースドライバ、プリンタ制御ドライバ、イメージスキャナ制御ドライバの３つのデバイスドライバが組み込まれ、連携して機能している。
【００５６】
ネットワークインターフェースドライバはネットワークインターフェース１１を制御するソフトウエアであり、プリンタ制御ドライバはエンジン制御回路１５及び画像メモリ１６を介してプリンタ部１７を制御するソフトウエアであり、イメージスキャナ制御ドライバはエンジン制御回路１５及び画像メモリ１６を介してイメージスキャナ部１８を制御するソフトウエアである。
【００５７】
最下層から２番目の層は、各種のライブラリである。スレッドライブラリは、それを利用するプログラムにスレッド機能を提供するライブラリである。スレッドとは、ソフトウエアの並列実行の単位であり、単一プロセス内の複数のスレッドは異なる実行コンテキスト（プログラムカウンタ、スタック、レジスタ値等）を有するが、メモリ空間は他と共有している。スレッドのコンテキスト切替えは、プロセスのコンテキスト切替えに比べ処理の量が少なくて済むため、ライトウエイトプロセスと呼ばれることもある。
【００５８】
ネットワークインターフェースライブラリは、ネットワークインターフェースドライバを利用してネットワークを介するデータ送信及びデータ受信を実現するライブラリである。
【００５９】
プリンタ制御ライブラリは、プリンタ制御ドライバの機能を利用してプリンタ制御ＡＰＩ（アプリケーションプログラミングインターフェース）を提供するライブラリである。
【００６０】
イメージスキャナ制御ライブラリは、イメージスキャナ制御ドライバの機能を利用してイメージスキャナ制御ＡＰＩを提供するライブラリである。
【００６１】
最下層から３番目の層は、インタプリタである。インタプリタは、モバイルエージェント等のオブジェクトが動作するためのオブジェクト実行環境を提供する。本実施形態に係るオブジェクトは、広く知られたオブジェクト指向パラダイムにおけるオブジェクトのサブセットとなっている。すなわち、問題領域のある概念に係るデータ（いくつかの属性の集合）と処理（いくつかのオペレーションの集合）とをひとまとめにしたソフトウエア構造である。各オブジェクトは、自律的に存在し、他のオブジェクトと通信(メッセージパッシング）し合いながら、オブジェクト群の全体として並列に一連の処理が達成される。
【００６２】
インタプリタは、インタプリタ上で動作する各オブジェクトに断続的にプロセッサの処理時間を与えるオブジェクトスケジューラ（不図示）を有している。オブジェクトスケジューラは、各オブジェクトの処理が仮想的に並列に進行するようにスレッドライブラリを利用する。
【００６３】
インタプリタは、また、オブジェクトデコーダ／エンコーダを有している。デコーダは、メモリ上に実行可能な形態で展開されたオブジェクトのスクリプト（命令列）及びデータを、ネットワークを介して転送可能なビット列に、メモリ上にあった構造を実質的に復元可能な形で符号化する。エンコーダは、ネットワークを介して転送されてきたビット列を、メモリ上に実行可能な形態に展開されたオブジェクトに復号化する。
【００６４】
図５は、オブジェクトが符号化されたネットワークパケットの一例を示す概念図である。同図に示すように、オブジェクトを符号化したネットワークパケットは、もとのオブジェクトの実行にかかる全てのデータ（属性の集合）を符号化した部分２１と、もとのオブジェクトの命令列部分２２とから構成されている。
【００６５】
図４に戻り、最上層はインタプリタ上で管理及び実行されるオブジェクトである。
【００６６】
プリンタ制御オブジェクトは、プリンタ制御ライブラリを介してプリンタ部１７の制御を行うための複数のオペレーションを提供しており、プリンタ部１７の代理オブジェクトとして機能する。すなわち、オブジェクトの命令列の中で、プリンタ制御オブジェクトのオペレーションを呼び出す（メッセージパッシング）命令を実行すると、該オペレーションの実行の中でオペレーションに対応する制御がプリンタ部１７によって実施される。同様に、プリンタ制御オブジェクトから情報を引き出すオペレーションを実行すると、プリンタ部１７のステータス情報等を得ることができる。
【００６７】
イメージスキャナ制御オブジェクトは、イメージスキャナ制御ライブラリを介してイメージスキャナ部１８の制御を行うための複数のオペレーションを提供しており、イメージスキャナ部１８の代理オブジェクトとして機能する。すなわち、オブジェクトの命令列の中で、イメージスキャナ制御オブジェクトを呼び出す（メッセージパッシング）命令を実行すると、該オペレーションの実装の中でオペレーションに対応する制御がイメージスキャナ部１８に実施される。同様に、イメージスキャナ制御オブジェクトから情報を引き出すオペレーションを実行すると、実際のイメージスキャナ部１８のステータス情報等を得ることができる。
【００６８】
プリンタ制御オブジェクトとイメージスキャナ制御オブジェクトは、常駐エージェントである。すなわち、画像処理装置１の立ち上げ後、インタプリタが処理を開始するとその最初の処理の一つとして常駐エージェントを自動的に生成、初期化、起動する。そして、常駐エージェントは画像処理装置１の動作中、このノードに存続する。すなわち、これらの常駐エージェントは、後述するＬＩＶＥオペレーションの実装内部で無限ループを構成している。
【００６９】
図４において、２つ存在するモバイルエージェントは、あるジョブのエージェントとしての役割を担うオブジェクトのうち、あるネットワークノード上のインタプリタから別のネットワークノード上のインタプリタへ移動することができる性質を有するオブジェクトである。
【００７０】
モバイルエージェントは、その命令列の中に「移動」を意味するオペレーション（以下、「ＧＯオペレーション」という）を呼び出す命令列を含んでいる。インタプリタは、モバイルエージェントオブジェクトの命令列の解釈実行中に上記ＧＯオペレーションを発見すると、オブジェクトエンコーダによってその時点のモバイルエージェントオブジェクトに含まれるすべての実行に係るデータと命令列とをそれらのデータ構造を復元可能な符号化方法によって符号化し、符号化されたパッケージをネットワークパケットとしてＧＯオペレーションの引数に指定されたノードのインタプリタに対して転送する。転送されたネットワークパケットを受け取ったノードのインタプリタは、オブジェクトデコーダによってそのネットワークパケットを実行可能な命令列及びデータとして該インタプリタが管理するメモリ空間に復号化し、更にオブジェクトスケジューラのスケジュール対象に参加させる。転送され復号化されたモバイルエージェントオブジェクトの実行に係るデータの中には、当該モバイルエージェントオブジェクトの次に実行すべき命令の位置を示すデータが含まれている。従って、このモバイルエージェントが転送先のノードで最初に実行する命令は、転送元ノードで最後に実行した命令の次の命令となる。
【００７１】
このようにして、モバイルエージェントはモバイルエージェントの実行環境（インタプリタ）を含むネットワークノード間を移動しながら、自らの命令列に記述された処理を実行する。
【００７２】
インタプリタが扱う全てのオブジェクトは、その命令列によって自らを初期化するために必要な処理を定義したオペレーション（以下、「初期化オペレーション」という）を有している。インタプリタは、オブジェクトを清清したときに最初に、この初期化オペレーションの実装として記述された命令列を実行する。また、モバイルエージェント及び常駐エージェントは、それぞれ、自らの存続にわたって行う一連の処理を定義したオペレーション（以下、「ＬＩＶＥオペレーション」という）を有している。インタプリタは、オブジェクトの初期化が完了すると、このＬＩＶＥオペレーションの実装として記述された命令列を実行する。ＬＩＶＥオペレーションに記述された命令列の実行が終了すると、インタプリタはオブジェクトを削除し、該オブジェクトだけが使用していたメモリ領域をすべて解放する。
【００７３】
オブジェクトは、他のオブジェクトとメッセージパッシングによって対話することができる。各ノードに存在するインタプリタのメモリ空間は、それぞれのノード毎に全く異なるものであるため、特にあるノードにおいてモバイルエージェントが他のエージェントと対話を開始するためには、それに先立ってモバイルエージェントは相手オブジェクトの参照を獲得しなければならない。この操作は、モバイルエージェントの命令列中で、対話したい相手のオブジェクトを指定するための識別情報を引数として、インタプリタが提供する組み込みオペレーションである対話要求オペレーション(以下、「ＭＥＥＴオペレーション」という）を呼び出すことにより実現できる。ここで、相手オブジェクトを指定するための識別情報は、ユニークなオブジェクト識別子、あるいはオブジェクトが属するクラスの識別子などの該当するオブジェクトの条件を示す情報である。
【００７４】
ＭＥＥＴオペレーションに成功すると、モバイルエージェントは相手オブジェクトの参照を獲得し、これを用いて相手オブジェクトのオペレーションを実行可能となる。すなわち、メッセージパッシングによる対話が可能となる。具体的には、図４において、他のノードから移動してきたモバイルエージェント１やモバイルエージェント２は、常駐エージェントであるプリンタ制御オブジェクトやイメージスキャナ制御オブジェクトとＭＥＥＴすると、相手オブジェクトの公開されているデータにアクセスし、公開されたオペレーションを呼び出すことができる。
【００７５】
従って、クライアントコンピュータ３から画像処理装置１にモバイルエージェントを移動させることにより、クライアントコンピュータ３から画像処理装置１の制御を行うことが可能となる。
【００７６】
図６は、クライアントコンピュータ３のユーザが画像処理装置１にプリント処理を行わせる場合に実行される、モバイルエージェントのＬＩＶＥオペレーションを実装する命令列の処理手順を示すフローチャートである。
【００７７】
クライアントコンピュータ３で起動されたモバイルエージェントは、クライアントコンピュータ３のローカルなファイルシステムから指定のファイルを開き、それを自らの属性の一つであるバッファに読み出す（ステップＳ６０１）。
【００７８】
次に、モバイルエージェントは、画像処理装置１を宛先とするＧＯオペレーションで画像処理装置１上のインタプリタへ移動する（ステップＳ６０２）。このとき、クライアントコンピュータ３上のインタプリタは、モバイルエージェントオブジェクト内のすべての命令列及びすべてのデータ（属性の集合）を、ネットワークを介して通信可能なデータストリームとしてマーシャリングしてから、画像処理装置１に送信する。また、モバイルエージェントの移動が完了すると、クライアントコンピュータ３のインタプリタは、このモバイルエージェントオブジェクトを内部テーブルから削除し、このオブジェクトが利用していたメモリ空間等を開放する。
【００７９】
画像処理装置１は、受信したデータストリームを展開し、展開されたデータストリームを画像処理装置１のインタプリタが管理するメモリ空間に配置し、そのモバイルエージェントを実行可能なオブジェクトとして管理テーブルに登録する。画像処理装置１のインタプリタは、登録されたモバイルエージェントオブジェクト内のデータに自動的に記憶される現在のプログラムカウンタからＬＩＶＥオペレーションの実行を再開する。
【００８０】
ＬＩＶＥオペレーションの実行が再開されると、モバイルエージェントオブジェクトは画像処理装置１のインタプリタの常駐エージェントであるプリンタ制御オブジェクトとの対話をインタプリタに要求し、インタプリタからプリンタ制御オブジェクトを識別するための参照を獲得する（ステップＳ６０３）。
【００８１】
上述したように、プリンタ制御オブジェクトは、画像処理装置１のプリンタ部１７の制御及び状態取得を行うオブジェクトとしてプログラミングされており、画像処理装置１の立ち上げ時にインタプリタの初期化に伴って予めインタプリタ内に生成され、登録されている。
【００８２】
そして、モバイルエージェントは、ステップＳ６０２で属性たるバッファ内に格納されたデータを引数として、プリンタ制御オブジェクトのプリント要求オペレーションを呼び出す。この結果、プリンタ制御オブジェクトのプリント要求オペレーションの実装に従って、プリンタ部１７においてデータのプリント処理が行われる（ステップＳ６０４）。
【００８３】
プリント処理が終了すると、モバイルエージェントは、再びＧＯオペレーションによって画像処理装置１のインタプリタからクライアントコンピュータ３のインタプリタへ移動する（ステップＳ６０５）。このとき、画像処理装置１のインタプリタは、モバイルエージェントオブジェクト内のすべての命令列及び全てのデータをネットワークを介して通信可能なデータストリームとしてマーシャリングしてからクライアントコンピュータ３に対して転送する。モバイルエージェントの移動が完了すると、画像処理装置１のインタプリタは、モバイルエージェントオブジェクトを内部テーブルから削除し、このオブジェクトが利用していたメモリ空間等を開放する。
【００８４】
クライアントコンピュータ３は、受信したデータストリームを展開し、展開したデータストリームをクライアントコンピュータ３のインタプリタが管理するメモリ空間に配置し、モバイルエージェントを実行可能なオブジェクトとして管理テーブルに登録する。クライアントコンピュータ３のインタプリタは、登録されたモバイルエージェントオブジェクト内部のデータとして記憶されている現在のプログラムカウンタからＬＩＶＥオペレーションの実行を再開する。
【００８５】
ＬＩＶＥオペレーションの実行が再開されると、モバイルエージェントは、クライアントコンピュータ３のインタプリタに予め用意されているクライアントコンピュータの画面表示を制御するためのグラフィックライブラリオブジェクトのダイアログ表示オペレーションを呼び出す。この結果、グラフィックライブラリオブジェクトの実装に従って、クライアントコンピュータ３のディスプレイ装置のグラフィカルユーザインターフェース（ＧＵＩ）上に、図７に示すようなダイアログ（プリント処理の完了通知）が表示される（ステップＳ６０６）。
【００８６】
図７は、クライアントコンピュータ３のディスプレイ装置に表示されるダイアログの一例を示す説明図である。同図に示すように、クライアントコンピュータ３の表示画面上には、画像処理装置１（Ｐｒｉｎｅｔｅｒ１）におけるプリント処理が完了したこと、モバイルエージェントの識別情報（＃９９９）、モバイルエージェントを起動したユーザの識別情報（ｔａｒｏ）、モバイルエージェントが起動されたクライアントコンピュータ３の識別情報（ｃｌｉｅｎｔ１）及びモバイルエージェントが起動された時間（８：３０ａｍ）が表示される。これらのオブジェクトの実行に係る情報は、モバイルエージェントの実行中にエージェントオブジェクトを構成する複数の属性の値としてインタプリタが自動的に記憶する。ステップＳ６０６では、これらの属性値を組み合わせて、様々な情報を表示することが可能である。
【００８７】
この表示状態で、表示画面中の「ＯＫ」ボタンが押下されると、ＬＩＶＥオペレーションが終了するので、インタプリタはこのモバイルエージェントオブジェクトを内部テーブルから削除し、このオブジェクトが利用していたメモリ空間等の資源を解放する。
【００８８】
以上説明したように、本実施形態によれば、クライアントコンピュータ３は、画像処理装置１に対してプリントデータとその処理を代行するモバイルエージェントを送信した後に画像処理装置１と継続的な対話処理を維持することなく、プリント処理の完了後、極めて容易にプリント処理の完了通知を受けることができる。すなわち、必要最小限の時間だけクライアントコンピュータ３と画像処理装置１との論理的な接続を行い、必要最小限の対話的なやり取りを行うだけで、クライアントコンピュータ３側から、画像処理装置１の機能を十分にしかも容易に拡張可能に制御することができ、また、クライアントコンピュータ３側から、画像処理装置１からクライアントコンピュータ３へのプリント処理完了通知等の情報伝達制御を制御可能とすることができる。
【００８９】
また、転送データのスプーリングを行うアプリケーションサーバのスプール（特にプリント処理時のプリンタサーバにおけるプリントキュー等）が、クライアントコンピュータ３と画像処理装置１との間に介在しており対話型のプロトコルによる画像処理装置１の直接制御が本質的に困難な場合であっても、多大なコストを可決ことなく、画像処理装置１に対して上述したような複雑な制御を実現することが可能となる。
【００９０】
また、画像処理装置１も、モバイルエージェントを受信した後はクライアントコンピュータ３と継続的な対話処理を維持することなく、本来の画像処理動作に専念することができ、また、画像処理動作完了後に高度な通知をクライアントコンピュータ３に対して行えばよいので、コストアップを抑制することができる。
【００９１】
また、プリント処理の実行中に対話処理を繰り返すポーリングの必要が全くないので、制御のために利用するネットワークのトラフィックの混雑を抑制することができる。従って、ＬＡＮ２内だけでなく、ワイドエリアネットワーク５やインターネットのような比較的バンド幅の狭いネットワークを介して、リモートクライアント８から画像処理装置１を制御する場合であっても、画像処理装置１を十分にしかも容易に制御可能である。
【００９２】
更に、画像処理装置１の動作中にコネクションを張りつづけることなく断続的な接続であっても十分に機能するので、リモートクライアント８がダイアルアップ形のネットワーク接続であっても上述したような効果を得ることができる。
【００９３】
さらにまた、クライアントコンピュータ３のユーザが所望する一連の処理をＬＩＶＥオペレーションの実装として素直に記述するだけで、クライアントコンピュータ３と画像処理装置１とに分散される一連の分散処理を、容易にプログラミングすることができる。従って、処理プログラムの開発効率及び信頼性の向上を図ることができる。これにより、従来と比較してバージョンアップ等を容易に行うことが可能となり、拡張性に関する問題を解決することが可能となる。このことは、画像処理装置１及びシステム全体の開発コストの削減につながり、画像処理装置及びシステムのコストダウンを図ることが可能となる。
【００９４】
なお、本実施形態においては、ＯＡ装置として画像処理装置を一例として説明したが、これに限られるものではなく、例えば複写装置、ファクシミリ装置、イメージスキャナ、電話等のデジタルデータを取り扱うことができるＯＡ装置であれば、本実施形態と同様に、本発明を適用可能である。
【００９５】
（第２の実施形態）
次に、本発明の第２の実施形態を、図８〜図１０を参照して説明する。なお、本実施形態は、第１実施形態において説明した図１〜図５に示した構成からなるオフィスシステムにおいて実現可能である。
【００９６】
図８は、本実施形態に係るオフィスシステムにおいて、クライアントコンピュータ３のユーザが画像処理装置１にプリント処理を行わせる場合に行われる、モバイルエージェントのＬＩＶＥオペレーションを実装する命令列の処理手順を示すフローチャートである。同図において、ステップＳ８０１〜Ｓ８０３の処理手順は、第１実施形態の図６に示したステップＳ６０１〜Ｓ６０３の処理手順と同様である。
【００９７】
ステップＳ８０３において画像処理装置１のインタプリタからプリンタ制御オブジェクトを識別するための参照を獲得した後、モバイルエージェントは、ステップＳ８０２で属性たるバッファ内に格納されたデータを引数として、プリンタ制御オブジェクトのプリント要求オペレーションを呼び出す。この結果、プリンタ制御オブジェクトのプリント要求オペレーションの実装に従って、プリンタ部１７においてデータのプリント処理が行われる（ステップＳ８０４）。プリント処理が終了すると、プリント要求オペレーションの呼出から制御が返り、モバイルエージェントはオペレーションの返り値として、プリント処理の結果状態を取得する。取得された結果状態は、属性値として属性の１つに格納される。
【００９８】
そして、モバイルエージェントは、プリント要求オペレーションの返り値として取得されたプリント処理の結果状態が正常終了であることを示しているか否かを判別する（ステップＳ８０５）。
【００９９】
ステップＳ８０５の判別で、正常終了であった場合は、再びＧＯオペレーションによって画像処理装置１のインタプリタからクライアントコンピュータ３へモバイルエージェントが移動する（ステップＳ８０６）。この際、画像処理装置１のインタプリタは、モバイルエージェントオブジェクト内のすべての命令列及びすべてのデータをネットワークを介して通信可能なデータストリームとしてマーシャリングしてからクライアントコンピュータ３に転送する。マーシャリングされるデータには、命令列中で明示的に指示しない限り、モバイルエージェントオブジェクトの有するすべての属性が含まれるので、画像処理装置１から取得されたプリント処理の結果状態の情報もマーシャリングされるデータに含まれている。モバイルエージェントの移動が完了すると、画像処理装置１のインタプリタは、このモバイルエージェントオブジェクトを内部テーブルから削除し、このオブジェクトが使用していたメモリ空間等の資源を解放する。
【０１００】
クライアントコンピュータ３は、受信したデータストリームを展開し、展開されたデータストリームをクライアントコンピュータ３内部のインタプリタが管理するメモリ空間に配置し、そのモバイルエージェントを実行可能なオブジェクトとして管理テーブルに登録する。クライアントコンピュータ３のインタプリタは、登録されたモバイルエージェントオブジェクト内部のデータとして記憶されている現在のプログラムカウンタからＬＩＶＥオペレーションの実行を再開する。
【０１０１】
ＬＩＶＥオペレーションの実行を再開されると、モバイルエージェントは、クライアントコンピュータ３のインタプリタに予め用意されているクライアントコンピュータの画面表示を制御するためのグラフィックライブラリオブジェクトのダイアログ表示オペレーションを呼び出す。この結果、グラフィックライブラリオブジェクトの実装に従って、クライアントコンピュータ３のディスプレイ装置のグラフィカルユーザインターフェース（ＧＵＩ）上に、図７に示したようなダイアログが表示される（ステップＳ８０７）。
【０１０２】
この表示状態で、表示画面中の「ＯＫ」ボタンが押下されると、ＬＩＶＥオペレーションが終了するので、インタプリタはこのモバイルエージェントオブジェクトを内部テーブルから削除し、このオブジェクトが利用していたメモリ空間等の資源を解放する。
【０１０３】
一方、ステップＳ８０５の判別で、正常終了ではない場合、モバイルエージェントはプリント処理の結果状態に基づいてプリント処理が回復不能エラーで終了したか否かを判別する（ステップＳ８０８）。ステップＳ８０８の判別で、プリンタ処理が回復不能なエラー、例えば装置故障のような原因によって終了した場合は、再びＧＯオペレーションによって画像処理装置１のインタプリタからクライアントコンピュータ３へモバイルエージェントが移動する（ステップＳ８０９）。この際、画像処理装置１のインタプリタは、モバイルエージェントオブジェクト内のすべての命令列及びすべてのデータをネットワークを介して通信可能なデータストリームとしてマーシャリングしてから、クライアントコンピュータ３に転送する。マーシャリングされるデータには、命令列中で明示的に指示しない限り、オブジェクトの有するすべての属性が含まれるので、画像処理装置１のプリント処理の結果状態の情報もマーシャリングされるデータに含まれている。モバイルエージェントの移動が完了すると、画像処理装置１のインタプリタは、このモバイルエージェントオブジェクトを内部テーブルから削除し、このオブジェクトが使用していたメモリ空間等の資源を解放する。
【０１０４】
クライアントコンピュータ３は、受信したデータストリームを展開し、展開したデータストリームをクライアント３内部のインタプリタが管理するメモリ空間に配置し、モバイルエージェントを実行可能なオブジェクトとして管理テーブルに登録する。クライアントコンピュータ３のインタプリタは、登録されたモバイルエージェントオブジェクト内部のデータとして記憶されている現在のプログラムカウンタからＬＩＶＥオペレーションの実行を再開する。ＬＩＶＥオペレーションの実行が再開されると、モバイルエージェントは、クライアントコンピュータ３のインタプリタに予め用意されているクライアントコンピュータの画面表示を制御するためのグラフィックライブラリオブジェクトのダイアログ表示オペレーションを呼び出す。この結果、グラフィックライブラリオブジェクトの実装に従って、クライアントコンピュータ３のディスプレイ装置のグラフィカルユーザインターフェース（ＧＵＩ）上に、図９に示すようなエラー終了通知が表示される（ステップＳ８１０）。
【０１０５】
図９は、モバイルエージェントが表示画面上に表示するエラー終了通知表示ダイアログの一例を示す図である。同図に示すように、クライアントコンピュータ３の表示画面上には、画像処理装置１（Ｐｒｉｎｔｅｒ１）におけるプリント処理が回復不能なエラーにより異常終了したこと、モバイルエージェントの識別情報（＃９９９）、モバイルエージェントを起動したユーザの識別情報（ｔａｒｏ）、モバイルエージェントが起動されたクライアントコンピュータ３の識別情報（ｃｌｉｅｎｔ１）及びモバイルエージェントが起動された時間（８：３０ａｍ）が表示される。これらのオブジェクトの実行に係る情報は、モバイルエージェントの実行中にモバイルエージェントオブジェクトを構成する複数の属性の値としてインタプリタが自動的に記憶するものと、ＬＩＶＥオペレーションの命令列が明示的に属性としてセットするものとがある。ステップＳ８１０では、これらの属性値を組み合わせて、様々な情報を表示することが可能である。例えば、プリント処理の結果状態を格納した属性に詳細なエラーの内容を含ませて、その内容を具体的に表示するようにダイアログを構成することも可能である。
【０１０６】
この表示状態で、表示画面中の「ＯＫ」ボタンが押下されると、ＬＩＶＥオペレーションが終了するので、インタプリタはこのモバイルエージェントオブジェクトを内部テーブルから削除し、このオブジェクトが利用していたメモリ空間等の資源を解放する。
【０１０７】
また、上記ステップＳ８０８の判別で、回復不能エラーによる終了ではない場合は、プリント処理の結果状態によって、プリント処理が例えば画像処理装置内の紙詰まりのような回復可能なエラーが原因となって異常終了した場合である。そこで、モバイルエージェントは、このような回復可能なエラー終了である場合は、組み込みオペレーションの１つであるＦＯＲＫオペレーションを呼び出して、自身と同じデータ及び命令列を有する複製オブジェクトを生成する（ステップＳ８１１）。
【０１０８】
オリジナル及びコピーの２つのオブジェクトインスタンスは、ＦＯＲＫオペレーションの実行時点でのプログラムカウンタやスタック等、同一の状態を有するが、ＦＯＲＫオペレーションの返り値のみ異なり、この値によって自身がオリジナルであるかコピー即ち子エージェントであるかを識別することができる。
【０１０９】
そして、ＦＯＲＫオペレーションの返り値によって自身がオリジナルであるか子エージェントであるかが判別され（ステップＳ８１２）、子エージェントである場合は、当該子エージェントが、子オペレーションによって画像処理装置１のインタプリタからクライアントコンピュータ３のインタプリタへ移動する。この際、画像処理装置１のインタプリタは、子エージェントオブジェクト内のすべての命令列及びすべてのデータをネットワークを介して通信可能なデータストリームとしてマーシャリングし、クライアントコンピュータ３に転送する。マーシャリングされるデータには、命令列中で明示的に指示しない限り当該子エージェントのオブジェクトの有するすべての属性が含まれるので、画像処理装置１から取得されたプリント処理の結果状態の情報も含まれている。子エージェントの移動が完了すると、画像処理装置１のインタプリタは、この子エージェントオブジェクトを内部テーブルから削除し、このオブジェクトが利用していたメモリ空間等の資源を解放する。
【０１１０】
クライアントコンピュータ３は、受信したデータストリームを展開し、展開したデータストリームをクライアントコンピュータ３のインタプリタが管理しているメモリ空間に配置し、その子エージェントを実行可能なオブジェクトとして管理テーブルに登録する。クライアントコンピュータ３のインタプリタは、登録された子エージェントオブジェクト内部のデータに記憶されている現在のプログラムカウンタからＬＩＶＥオペレーションの実行を再開する。ＬＩＶＥオペレーションの実行が再開されると、子エージェントは、クライアントコンピュータ３のインタプリタに予め用意されているクライアントの画面表示を制御するためのグラフィックライブラリオブジェクトのダイアログ表示オペレーションを呼び出す。この結果、グラフィックライブラリオブジェクトの実装に従って、クライアントコンピュータ３のディスプレイ装置のグラフィカルユーザインターフェース（ＧＵＩ）上に図１０のようなリカバリ要求表示ダイアログが表示される（ステップＳ８１４）。
【０１１１】
図１０は、モバイルエージェント（子エージェント）が表示画面上に表示するダイアログの一例を示す図である。同図に示すように、クライアントコンピュータ３の表示画面上には、画像処理装置１（Ｐｒｉｎｔｅｒ１）におけるプリント処理が回復可能なエラーによって中断したこと及びその詳しい原因（紙切れ）とエラーから回復するための指示（用紙を補給してください）、モバイルエージェントの識別情報（＃９９９）、モバイルエージェントを起動したユーザの識別情報（ｔａｒｏ ）、モバイルエージェントが起動されたクライアントコンピュータ３の識別情報（ｃｌｉｅｎｔ１）及びモバイルエージェントが起動された時間（８：３０ａｍ）が表示される。これらのオブジェクトの実行に係る情報は、モバイルエージェントの実行中にエージェントオブジェクトを構成する複数の属性の値としてインタプリタが自動的に記憶するものと、ＬＩＶＥオペレーションの命令列が明示的に属性にセットするものとがある。ステップＳ８１４では、これらの属性値を組み合わせて、様々な情報を表示することが可能である。例えば、プリント処理の結果状態を格納した属性に詳細なエラーの内容が含まれており、その内容を表示するようにダイアログを構成することも可能である。
【０１１２】
この表示状態で、表示画面中の「ＯＫ」ボタンが押下されると、ＬＩＶＥオペレーションが終了するので、インタプリタはこのモバイルエージェントオブジェクトを内部テーブルから削除し、このオブジェクトが利用していたメモリ空間等の資源を解放する。
【０１１３】
また、ステップＳ８１２の判別で、自身が子エージェントではない場合、すなわちオリジナルのエージェントである場合は、プリンタ制御オブジェクトのオペレーションを呼び出して、エラーからの復帰イベントの通知を依頼し、エラー回復待ちの給紙状態となる（ステップＳ８１５）。上述したステップＳ８１４における表示に応じてユーザによりリカバリ処理が行われ、エラー状態から画像処理装置１が回復すると、プリンタ制御オブジェクトからのイベントが通知されるので、オリジナルのモバイルエージェントは、この通知に応じて、ステップＳ８０４のプリント処理を再開する。
【０１１４】
以上説明したように、本実施形態によれば、必要最小限のの時間だけクライアントコンピュータと画像処理装置との論理的な接続を行い、必要最小限の対話的なやり取りを行うだけで、上述した第１実施形態と同様の効果を得ることができるという効果に加え、クライアントコンピュータ３側における最小限の対話のみで、画像処理装置１の動作状況（正常終了、回復不能エラー終了、回復可能エラー終了）等の高度の通知をクライアントコンピュータ３へ送ることができる。
【０１１５】
（第３の実施形態）
次に、本発明の第３実施形態について、図１１〜図１３を参照して説明する。
【０１１６】
図１１は、本実施形態に係るＯＡ装置たる画像処理装置を含むオフィスシステムの構成を示すネットワーク図である。同図において、オフィスシステムは、第１のプリンタ装置としての画像処理装置１、クライアントコンピュータ３、第２のプリンタ装置としての画像処理装置９、画像ファイリング装置１０及びルータ４を互いにローカルエリアネットワーク（以下、「ＬＡＮ」という）２により接続することにより第１のネットワークを構成している点で上述した図１の構成と異なるが、これ以外の構成は図１と同様である。以下の説明では、図１に示した構成要素と同一の要素には、同一の符号を付しておく。
【０１１７】
画像ファイリング装置１０は、画像データを受け取って大容量の外部記憶装置に画像データを保存する。また、画像処理装置９は、画像処理装置１と同様に構成されているものとする。
【０１１８】
図１２は、図１１に示したオフィスシステムにおいて、クライアントコンピュータ３のユーザがプリント処理を行う場合の、モバイルエージェントのＬＩＶＥオペレーションを実装する命令列の処理手順を示すフローチャートである。
【０１１９】
クライアントコンピュータ３で起動されたモバイルエージェントは、クライアントコンピュータ３のローカルなファイルシステムから指定のファイルを開き、それを自らの属性の一つであるバッファに読み出す（ステップＳ６０１）。このとき、モバイルエージェントは、画像処理装置１の名称（Ｐｒｉｎｔｅｒ１）及びそのアドレス等の情報を、処理を行うプリンタを表す属性として記憶する。
【０１２０】
ステップＳ１２０２〜Ｓ１２０７の処理手順は、第２実施形態の図８に示したステップＳ８０２〜Ｓ８０７の処理手順と同様である。
【０１２１】
ステップＳ１２０５の判別で、正常終了ではない場合、例えば装置の故障のような原因によって画像処理装置１におけるプリント処理の完遂が不可能であると判別された場合は、予め属性に記憶されている代替装置リストの中から使用する装置候補を選択し、選択した装置をモバイルエージェントの移動の宛先とするとともに、その装置を代替装置リストから削除する（ステップＳ１２０８）。本実施形態においては、画像処理装置９を代替装置として使用できるので、画像処理装置９（Ｐｔｉｎｔｅｒ２）を選択し、画像処理装置９の名称やアドレス等の情報を、処理を行うプリンタを表す属性に記憶する。そして、ステップＳ１２０２に戻り、モバイルエージェントが選択した代替装置へ移動し、その代替装置においてプリント処理の続行及び完遂が図られる。
【０１２２】
代替装置である画像処理装置９において、正常にプリント処理を完遂できた場合は、ステップＳ１２０７において、図１３に示すようなダイアログが表示される。これにより、クライアントコンピュータ３からプリント処理を指示したユーザは、要求したプリント結果が画像処理装置１ではなく画像処理装置９においてプリント処理されたことを知ることができる。
【０１２３】
以上説明したように、本実施形態によれば、クライアントコンピュータ３においてモバイルエージェントの属性及び命令列に予め複数の代替装置を設定しておくことにより、画像処理装置１に対してプリントデータとその処理を代行するモバイルエージェントを送信した後は、クライアントコンピュータ３と画像処理装置１との継続的な対話処理を維持することなく、プリント処理の完了の通知を極めて容易に受ける等、上述した第１〜第３の実施形態と同様の効果を得ることができるとともに、画像処理装置１でプリント処理できなかった場合には動的に代替装置リストの中に含まれている他の代替装置（本実施形態では画像処理装置９）に切り換えてプリント処理を行うという組合せ処理を実現することができるという効果が得られる。すなわち、必要最小限時間だけクライアントコンピュータ３と画像処理装置１との間、あるいは画像処理装置１と他の装置（画像処理装置９）との間の論理的な接続を行い、これらの間で必要最小限の対話的なやり取りを行うだけで、クライアントコンピュータ３側から、複数の装置を組み合わせて実現されるワークフロー形のサービスを十分にしかも柔軟に制御することができる。
【０１２４】
（第４の実施形態）
次に、本発明の第４の実施形態について、図１４及び図１５を参照して説明する。なお、本実施形態は、第３実施形態において説明した図１１に示した構成からなるオフィスシステムにおいて実現可能である。
【０１２５】
図１４は、本実施形態に係るオフィスシステムにおいて、クライアントコンピュータ３のユーザがプリント処理を行う場合の、モバイルエージェントのＬＩＶＥオペレーションを実装する命令列の処理手順を示すフローチャートである。同図において、ステップＳ１４０１〜Ｓ１４０４の処理手順は、第３実施形態の図１２に示したステップＳ１２０１〜Ｓ１２０４の処理手順と同様である。
【０１２６】
ステップＳ１４０４において、プリント処理が終了すると、プリント要求オペレーションの呼出から制御が返り、モバイルエージェントは、プリント要求オペレーションの返り値としてプリント処理において展開された画像のビットマップデータを取得する。
【０１２７】
モバイルエージェントは、プリンタ制御オブジェクトから獲得した展開画像のデータを属性値として記憶したまま、画像ファイリング装置１０を宛先とするＧＯオペレーションによって、画像ファイリング装置１０のインタプリタに移動する（ステップＳ１４０５）。このとき、画像処理装置１のインタプリタは、モバイルエージェントオブジェクト内のすべての命令列及びすべてのデータをネットワークを介して通信可能なデータストリームとしてマーシャリングし、画像ファイリング装置１０に転送する。マーシャリングされたデータには、命令列中で明示的に指示しない限りモバイルエージェントオブジェクトの有する全ての属性が含まれるので、ステップＳ１４０４において画像処理装置１から取得された展開画像データも含まれている。モバイルエージェントの移動が完了すると、画像処理装置１のインタプリタはモバイルエージェントオブジェクトを内部テーブルから削除し、当該オブジェクトを利用していたメモリ空間等の資源を解放する。
【０１２８】
画像ファイリング装置１０は、受信されたデータストリームを展開し、展開したデータストリームを画像ファイリング装置１０のインタプリタが管理するメモリ空間に配置し、そのモバイルエージェントを実行可能なオブジェクトとして管理テーブルに登録する。画像ファイリング装置１０のインタプリタは、登録されたモバイルエージェントオブジェクト内部のデータとして自動的に記憶されている現在のプログラムカウンタからＬＩＶＥオペレーションの実行を再開する。
【０１２９】
画像ファイリング装置１０のインタプリタに移動したモバイルエージェントは、インタプリタ上に常駐するファイリング制御オブジェクトとの対話をインタプリタに要求し、インタプリタからファイリング制御オブジェクトを識別するための参照を獲得する（ステップＳ１４０６）。ファイリング制御オブジェクトは、画像ファイリング装置１０のファイルシステムの制御と状態取得とを行うオブジェクトとしてプログラミングされており、画像ファイリング装置１０の立ち上げ時にインタプリタの初期化に伴って予めインタプリタ内に生成されて登録されている。
【０１３０】
そして、ステップＳ１４０５で属性たるバッファ内に格納してきた展開画像データ及びファイル名等を引数として、ファイリング制御オブジェクトのファイリング要求オペレーションを呼び出す。この結果、ファイリング制御オブジェクトのファイリング要求オペレーションの実装に従って、画像ファイリング装置１０において当該画像データのファイリングが行われる（ステップＳ１４０７）。ファイリングが終了すると、ファイリング要求オペレーションの呼出から制御が返る。
【０１３１】
モバイルエージェントは、再びＧＯオペレーションによって画像ファイリング装置１０のインタプリタからクライアントコンピュータ３のインタプリタへ移動する（ステップＳ１４０８）。この際、画像ファイリング装置１０のインタプリタは、モバイルエージェントオブジェクト内のすべての命令列及びすべてのデータをネットワークを介して通信可能なデータストリームとしてマーシャリングしてから、クライアントコンピュータ３に転送する。マーシャリングされるデータには、命令列中で明示的に指示しない限りモバイルエージェントオブジェクトの有する全ての属性が含まれるので、画像ファイリング装置１０から取得されたファイリング処理の結果状態等の情報も含まれている。モバイルエージェントの移動が完了すると、画像ファイリング装置１０のインタプリタはこのモバイルエージェントオブジェクトを内部テーブルから削除し、このオブジェクトを利用していたメモリ空間等の資源を解放する。
【０１３２】
クライアントコンピュータ３は、データストリームを展開し、展開したデータストリームをクライアントコンピュータ３のインタプリタが管理するメモリ空間に配置し、そのモバイルエージェントを実行可能なオブジェクトとして管理テーブルに登録する。クライアントコンピュータ３のインタプリタは、登録されたモバイルエージェントオブジェクト内部のデータとして記憶されている現在のプログラムカウンタからＬＩＶＥオペレーションの実行を再開する。
【０１３３】
そして、クライアントコンピュータ３のインタプリタに予め用意されている画面表示を制御するためのグラフィックライブラリオブジェクトのダイアログ表示オペレーションを呼び出す。この結果、グラフィックライブラリオブジェクトの実装に従って、クライアントコンピュータ３の表示部のグラフィカルユーザインターフェース（ＧＵＩ）上に、図１５に示すようなダイアログが表示される（ステップＳ１４０９）。
【０１３４】
図１５は、モバイルエージェントが表示するダイアログの一例を示す図である。同図に示すように、クライアントコンピュータ３の表示画面上には、画像処理装置１（Ｐｒｉｎｔｅｒ１）におけるプリント処理が完了したこと、画像ファイリング装置１０（Ｆｉｌｅ１）における控え画像の保存が終了したこと、モバイルエージェントの識別情報（＃９９９）、モバイルエージェントを起動したユーザの識別情報（ｔａｒｏ ）、モバイルエージェントが起動されたクライアントコンピュータ３の識別情報（ｃｌｉｅｎｔ１）及びモバイルエージェントが起動された時間（８：３０ａｍ）が表示される。これらのオブジェクトの実行に係る情報は、モバイルエージェントの実行中にエージェントオブジェクトを構成する複数の属性の値としてインタプリタが自動的に記憶するものと、ＬＩＶＥオペレーションの命令列が明示的に属性にセットするものとがある。
【０１３５】
この表示状態で、表示画面中の「ＯＫ」ボタンが押下されると、ＬＩＶＥオペレーションが終了するので、インタプリタはこのモバイルエージェントオブジェクトを内部テーブルから削除し、このオブジェクトが利用していたメモリ空間等の資源を解放する。
【０１３６】
以上説明したように、本実施形態によれば、モバイルエージェントの命令列として複数のＯＡ装置（画像処理装置１、画像ファイリング装置１０）を組み合わせて用いる一連のワークフローをプログラミングしておくことにより、上述した第１〜第３の実施形態と同様の効果に加えて、異なる種類の処理を行う複数のＯＡ装置（群）に対してその処理を代行するモバイルエージェントを送信した後にこれらの装置と継続的な対話処理を維持することなく、例えばプリント処理の完了後に控え画像を画像ファイリング装置に残した上で一連の処理を完了するといったワークフローを実現することができるという効果が得られる。
【０１３７】
なお、本実施形態においては、プリント終了後に控え画像をファイリング処理するというように、複数の処理をシーケンシャルに行う１つのモバイルエージェントを用いているが、モバイルエージェントの命令列中でエージェント自身のオブジェクトインスタンスを複製して、複数の処理を複製したモバイルエージェントが並行して行うように構成してもよい。
【０１３８】
また、上述した実施の形態の機能を実現するソフトウエアのプログラムコードを記録した記録媒体を、システム又はシステムを構成する各装置に供給し、それらの装置に内蔵されるＣＰＵ等が記憶媒体に格納されたプログラムコードを読み出して実行することによっても、本発明の目的が達成されることはいうまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が本発明を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１３９】
プログラムコードを供給するための記憶媒体としては、たとえば、フロッピーディスクハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭ６などを用いることができる。
【０１４０】
また、コンピュータが読み出したプログラムコードを実行することにより、上述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳなどが実際の処理の一部又は全部を行い、その処理によって上述した実施の形態の機能が実現される場合も含まれることはいうまでもない。
【０１４１】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理によって上述した実施の形態の機能が実現される場合も含まれることはいうまでもない。
以上説明したように、本発明の実施の形態に係るＯＡ装置、ＯＡシステム、制御方法及び記憶媒体によれば、ＯＡ装置は、前記ネットワークを介して、前記ＯＡ装置において実現可能な第１の処理と、第２の処理とを実行可能な命令列を含むモバイルエージェントを受信し、前記受信したモバイルエージェントの命令列を実行し、実行に従って当該ＯＡ装置において前記第１の処理を実現すべく機構制御を行い、機構制御による第１の処理の結果に応じて、他のＯＡ装置に前記第２の処理をさせる命令列を含む、他のモバイルエージェントを前記ネットワークに送出するので、必要最小限の時間だけクライアントコンピュータとＯＡ装置との論理的な接続を行い、必要最小限の対話的やり取りを行うだけで、クライアントコンピュータからＯＡ装置の所望のサービスを十分且つ容易に拡張可能に制御することができ、また、モバイルエージェントを構成する命令列及び命令列の実行に係るデータをまとめて符号化してネットワークへ送信できることから、ＯＡ装置からクライアントコンピュータへクライアントコンピュータによる処理に必要な応答情報を与えたり他の装置により提供される所望のサービスを十分かつ容易に拡張可能に制御することができるという効果が得られる。
本発明の実施の形態に係るＯＡ装置及び制御方法によれば、モバイルエージェントの命令列の実行に係るデータに対して、前記機構制御手段による機構制御の結果に対応する変更を加えるようにしたので、モバイルエージェントを構成する命令列及び変更を加えられたデータをまとめて符号化してネットワークへ送信でき、従って、ネットワーク側からの必要最小限の対話のみで、画像処理装置１の動作状況（正常終了、回復不能エラー終了、回復可能エラー終了）等の高度の通知をネットワークへ送信することができるという効果が得られる。
本発明の実施の形態に係るＯＡ装置及び制御方法によれば、ＯＡ装置は、符号化されたモバイルエージェントを、前記ネットワークに接続されている他のＯＡ装置に送信するようにしたので、当該ＯＡ装置を含むＯＡシステム全体として、前記複数のＯＡ装置の機能を組み合わた動作を実現することが可能となり、従って、必要最小限の時間だけクライアントコンピュータとＯＡ装置との論理的な接続を行い、必要最小限の対話的やり取りを行うだけで、クライアントコンピュータが要求するサービスを十分且つ容易に拡張可能に制御することができ、更に、ＯＡ装置単体が提供する機能を容易に他のＯＡ装置の機能と組合せて全体として一連のワークフローを実現することができるという効果が得られる。
【０１４２】
【発明の効果】
本願発明の第１の側面によれば、所定のＯＡ機器にかかわるタスクの実行制御するモバイルエージェント又はＯＡ装置におけるエラー処理を制御する派生タスクが、自ら含まれる命令列を実行することにより、自身を別のＯＡ装置に転送することができ、もってＯＡ装置からクライアントコンピュータへクライアントコンピュータによる処理に必要な応答情報を与えたり他の装置により提供される所望のサービスを十分かつ容易に拡張可能に制御することができるという効果が得られる。
【０１４３】
本願発明の第２の側面によれば、所定のＯＡ機器にかかわるタスクの実行制御するモバイルエージェント又はＯＡ装置におけるエラー処理を制御する派生タスクが、自ら含まれる命令列を実行することにより、自身を別のＯＡ装置に転送することができ、もって必要最小限の対話的やり取りを行うだけで、クライアントコンピュータが要求するサービスを十分かつ容易に拡張可能に制御することができ、さらに、ＯＡ装置単体が提供する機能を用意に他のＯＡ装置の機能と組合せて全体として一連のワークフローを実現することができるという効果が得られる。
【図面の簡単な説明】
【図１】本発明の第１の実施形態に係るＯＡ装置としての画像処理装置を含むオフィスシステムのネットワーク構成の一例を示す説明図である。
【図２】図１に示した画像処理装置１の内部の概略構成を示すブロック図である。
【図３】図２に示したプリンタ部１７及びイメージスキャナ部１８の構成の一例を示す縦断面図である。
【図４】図２に示したワークメモリ１３に記憶されたデータの構造及びプログラムコードを処理するソフトウエア構造を示す模式的な階層図である。
【図５】オブジェクトが符号化されたネットワークパケットの一例を示す概念図である。
【図６】モバイルエージェントの、ＬＩＶＥオペレーションを実装する命令列の処理手順を示すフローチャートである。
【図７】クライアントコンピュータ３のディスプレイ装置に表示されるダイアログの一例を示す説明図である。
【図８】本発明の第２の実施形態に係るＯＡ装置としての画像処理装置を含むオフィスシステムにおいて行われる、モバイルエージェントの、ＬＩＶＥオペレーションを実装する命令列の処理手順を示すフローチャートである。
【図９】クライアントコンピュータ３のディスプレイ装置に表示されるダイアログの一例を示す説明図である。
【図１０】クライアントコンピュータ３のディスプレイ装置に表示されるダイアログの一例を示す説明図である。
【図１１】本発明の第３の実施形態に係るＯＡ装置としての画像処理装置を含むオフィスシステムの構成の一例を示すネットワーク図である。
【図１２】モバイルエージェントの、ＬＩＶＥオペレーションを実装する命令列の処理手順を示すフローチャートである。
【図１３】クライアントコンピュータ３のディスプレイ装置に表示されるダイアログの一例を示す説明図である。
【図１４】本発明の第４の実施形態に係るＯＡ装置としての画像処理装置を含むオフィスシステムにおいて行われる、モバイルエージェントの、ＬＩＶＥオペレーションを実装する命令列の処理手順を示すフローチャートである。
【図１５】クライアントコンピュータ３のディスプレイ装置に表示されるダイアログの一例を示す説明図である。
【符号の説明】
１、９  画像処理装置（ＯＡ装置）
１０    画像ファイリング装置（ＯＡ装置）
１１    ネットワークインターフェース（送信手段、受信手段）
１２    中央処理部
【図１】
0003689564.tif 000002
【図２】
0003689564.tif 000003
【図３】
0003689564.tif 000004
【図４】
0003689564.tif 000005
【図５】
0003689564.tif 000006
【図６】
0003689564.tif 000007
【図７】
0003689564.tif 000008
【図８】
0003689564.tif 000009
【図９】
0003689564.tif 000010
【図１０】
0003689564.tif 000011
【図１１】
0003689564.tif 000012
【図１２】
0003689564.tif 000013
【図１３】
0003689564.tif 000014
【図１４】
0003689564.tif 000015
【図１５】
0003689564.tif 000016