JP3689564B2 - Oa装置、oaシステム、制御方法及び記憶媒体 - Google Patents

Oa装置、oaシステム、制御方法及び記憶媒体 Download PDF

Info

Publication number
JP3689564B2
JP3689564B2 JP23008698A JP23008698A JP3689564B2 JP 3689564 B2 JP3689564 B2 JP 3689564B2 JP 23008698 A JP23008698 A JP 23008698A JP 23008698 A JP23008698 A JP 23008698A JP 3689564 B2 JP3689564 B2 JP 3689564B2
Authority
JP
Japan
Prior art keywords
mobile agent
executing
network
image processing
execution
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 - Fee Related
Application number
JP23008698A
Other languages
English (en)
Other versions
JP2000047772A (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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP23008698A priority Critical patent/JP3689564B2/ja
Priority to US09/363,025 priority patent/US7054899B1/en
Priority to EP99306055A priority patent/EP0977119A3/en
Publication of JP2000047772A publication Critical patent/JP2000047772A/ja
Application granted granted Critical
Publication of JP3689564B2 publication Critical patent/JP3689564B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0733Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a data processing system embedded in an image processing device, e.g. printer, facsimile, scanner
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0709Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0748Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a remote unit communicating with a single-box computer node experiencing an error/fault
    • 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/00962Input arrangements for operating instructions or parameters, e.g. updating internal software
    • H04N1/00973Input arrangements for operating instructions or parameters, e.g. updating internal software from a remote device, e.g. receiving via the internet instructions input to a computer terminal
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2294Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing by remote test

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer And Data Communications (AREA)
  • Facsimile Scanning Arrangements (AREA)
  • Stored Programmes (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Small-Scale Networks (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、ネットワーク接続されたOA装置、OAシステム及びその制御方法に関し、特にモバイルエージェント実行環境を有するOA装置、OAシステム制御方法及び記憶媒体に関する。
【0002】
【従来の技術】
従来は多くのOA装置はネットワークに接続されず単独の機器内に閉じた機能を提供していたが、近年では、これまで単独で利用されてきたOA装置がイーサネット等のネットワークに接続され、クライアントである複数のコンピュータ等から共用できる製品が提供されてきている。
【0003】
クライアントコンピュータからネットワークを介してこのようなOA装置を利用するにあたり、従来は、処理の間中常にネットワーク経由の接続性が確保されていることを前提として、クライアントコンピュータ側からOA装置の制御等を行う手法が採用されている。
【0004】
例えば、クライアントであるワークステーションやパーソナルコンピュータや携帯情報端末装置等において実行されるプログラムがOA装置により提供可能なサービスを利用する場合、これらのクライアントコンピュータは、そのOA装置により実行されるサーバプログラムに対して要求や処理に必要なデータの送信を行って目的とする装置の動作を制御し、更に返答や必要なデータを受信する。クライアントコンピュータは、OA装置からの返答の内容を判定し、それに応じて新たな指示要求をOA装置に送信するという動作を繰り返す。
【0005】
従って、OA装置のサービスを利用する処理が行われている間は、常に、クライアントコンピュータとOA装置との間では、対話的なやり取りが継続されていた。
【0006】
また、近年の傾向として、ネットワーク接続された複数の様々なOA装置のサービスを組み合わせて、従来ユーザが個々の装置の間を行き来しながら実現してきた処理を一連の処理として自動的に行うワークフロー形のサービスを実現可能な装置が求められている。例えば、ユーザが画像ファイル中から所望の画像データを探し出し、ワードプロセッサによって作られたPDL形式のファイルの出力に探し出された画像データを添付してプリンタに20部出力させ、更にステープル処理させ、同時にそれらの画像データを3件の宛先にファクシミリ送信する、といった複数の処理を、ネットワーク接続された複数のOA装置が連携して一連の処理として実現するサービスが求められてきている。
【0007】
従来、このような要求に対応するべく、1台のクライアントコンピュータが複数台のOA装置のそれぞれに対して順次接続し、上記の継続的なコネクションを前提とする対話処理プロトコルによって制御を行うことを繰り返し、これによって複数の装置の組合せによる複合的なサービスを実現していた。
【0008】
一方、純粋にコンピュータ同士からなるネットワークにおける分散計算の分野では、最近になって、これまで盛んに研究と実現が行われてきたプロトコルによる対話を繰り返しこれによって分散計算を行うリモートプロシージャコール等の技術から発展して、実行可能なプログラムオブジェクトそのものがネットワークを介して移動して分散計算を行う「モバイルエージェント」と呼ばれる技術が提案されてきている。
【0009】
モバイルエージェントによる分散計算システムの実現例としては、General Magic社の米国特許5603031号に開示されているTelescript(なお、General Magic社は、現在、Telescriptの開発を中止し、Sunsoft社のJavaを利用したOdysseyを提供している)や、IBM東京基礎研究所のAglets(Javaを利用)など、さまざまな提案が知られている。
【0010】
また、本出願人は、モバイルエージェントを受信し、この受信されたモバイルエージェント内に記述された命令を解釈することによって装置が有する機能を制御する画像処理装置及びその制御方法を提案している(例えば、特願平10−80090号公報)。
【0011】
【発明が解決しようとする課題】
しかしながら、従来のネットワークを介して行うOA装置の制御には、パーソナルコンピュータやワークステーション等のクライアントコンピュータ内のプロセッサによって実行されOA装置が提供するサービスの遠隔制御を行うクライアントプロセスと、OA装置内のプロセッサによって実行され当該OA装置が提供するサービスを実現するためにOA装置の物理的な機構を制御するサーバプロセスとが、離れたプロセス実行環境上でそれぞれ動作するため、以下に掲げるような問題があった。
【0012】
第1に、従来の継続的対話的な通信に基づく装置制御はネットワークトラフィックのコスト的観点から不利であるため、要求される細かい制御、特にOA装置からクライアントコンピュータへの高度な情報伝達のための制御を行うことが困難であった。
【0013】
すなわち、クライアントプロセスはサーバプロセスに対してサービスの要求やサービスの処理に必要なデータの送信を行い、サーバプロセスはこの要求に対するOA装置の物理的な機構の制御とクライアントプロセスへの応答及び必要に応じて処理結果の返信とを行うが、このような対話的なやりとりは、要求するサービスをきめ細かく制御しようとすればそれに応じて何回も繰り返さなければならない。ネットワークによって共有されるOA装置の提供するサービスをクライアントがきめ細かく制御するということは、最近特に重視されている要請であるが、従来の制御プロトコルによる対話的な情報のやり取りでこの要請に応えようとすると、それだけネットワークの混雑を招く。従って、ユーザは、より性能が高く高価なクライアントインフラストラクチャを使用しなければならないので、経済的に不利であった。また、従来のOA装置では特に、OA装置上での処理が完了した後でその完了した処理に関する情報の通知等、OA装置からクライアントコンピュータに対して十分な情報を通知することは実質的に困難であった。例えば、プリンタ装置をネットワーク接続されているクライアントコンピュータから遠隔制御する場合、転送データのスクリプトのスプーリングを行うアプリケーションサーバのスプール(プリンタサーバのプリントキュー)がクライアントコンピュータとプリンタ装置との間に介在しており、対話型のプロトコルによるOA装置の直接制御が本質的に不可能であった。
【0014】
以上の理由から、プリンタ装置に対してプリントを要求したクライアントコンピュータが、要求したデータによる最終ページが出力されたタイミング(プリント処理の真の完了)を知ることは困難であり、システムによっては全く不可能か、あるいはネットワークトラフィック的に多大なコストをかけなければ実現することはできなかった。
【0015】
また、第2に、従来の手法によってクライアントコンピュータからOA装置をきめ細かく制御しようとした場合、特にOA装置からクライアントコンピュータへ十分な情報伝達を行わせようとした場合、OA装置は装置本来の処理に加えて、クライアントコンピュータとの対話処理を同時に制御しなければならない。そのため、OA装置の処理系に多大な負荷をかけ、その結果OA装置のコストを引き上げることになる。例えば、あるクライアントコンピュータから依頼されたプリント処理を実行して最終ページを出力し終えたプリンタ装置は、その依頼に関する終了の結果をクライアントに報告する処理と、次のクライアントから依頼されたプリント処理とを同時に開始することが、スループット向上のためには望ましいが、これを実現するためにはOA装置が提供するサービスを実現するためのプロセスすなわちプリンタ装置におけるPDL(ページ記述言語)の解釈と展開、給紙、作像及び出力用紙の排紙等の間中、上記のようなクライアントプロセスとサーバプロセスとの制御プロトコルによる対話を維持し続けなければならなかった。このことは、OA装置にとって、サービスを提供するための物理的な機構の制御とネットワークを介した通信とを同時に並行して行わなければならないことを意味し、負担が非常に大きい。この負担は、OA装置が複数のクライアントからの要求に対してサービスを提供するマルチクライアント型のOA装置であった場合には、特に顕著なものとなる。
【0016】
従って、サービスを実現するためにOA装置の有する物理的な機能を制御する間、ネットワークを介した通信のコネクションを維持するためには、OA装置のプロセッサはより高性能なものが必要とされ、またメモリについてもより大容量のメモリが必要とされる等、OA装置本体のコストアップの原因となっていた。
【0017】
また、第3に、OA装置を制御するための一連の対話的処理がプロトコルによって実現される方法では、OA装置を制御するための命令体系を予めコマンドプロトコルとして設計し、実装しておかなければならないため、将来的にそのOA装置の新たな利用方法が拡張されたときにその新しいサービスを享受するためには、コマンドプロトコルを拡張し、クライアントプロセスとサーバプロセスとの両方をこの新しいコマンドプロトコルに対応するように変更すなわちバージョンアップしなければならない。このことは、ユーザにとって煩雑であるばかりでなく、特に従来のOA装置に内蔵されているサーバプロセスのためのプログラムは一般にファームウエアと呼ばれ不揮発性のメモリ等におかれているため、プログラムの更新には多大なコストがかかるか、あるいは全く不可能な場合が多い。従って、OA装置が提供するサービスの拡張性に乏しいという問題があった。
【0018】
なお、例外的に、クライアントコンピュータからOA装置へ当該OA装置上で実行されるサーバプログラムを予め送り込み、クライアントはそのプログラムによるサーバプロセスとの対話的通信を行うという手法も考えられる。あるいは、OA装置がしかるべき制御プログラムを動的にダウンロードして、その制御プログラムによるサーバプロセスにおいてクライアントコンピュータと対話的通信を行うように構成することもできる。このような手法はJavaの枠組みを用いて装置制御の拡張性はある程度達成可能であるが、まだ容易といえるものではなく、また、上述したような第1、第2の問題点を解決できるものではなかった。
【0019】
一方、上述したように、従来のネットワーク接続されたOA装置によれば、クライアントプロセスが装置のサーバプロセスとネットワーク的なコネクションを張って逐次対話的にサービスの制御を行っているため、複数の装置を組み合わせてワークフロー型のサービスを実現する場合には、クライアントプロセスが一連の処理の間中、各装置におけるサーバプロセスとの対話を継続しなければならないので、更に以下の問題点があった。
【0020】
すなわち、第1に、クライアントプロセスと複数のサーバプロセスとを結ぶネットワークインフラストラクチャの負担が大きいため、ユーザは高性能で高価なネットワークインフラストラクチャを用意しなければならず、経済性が損なわれる。また、帯域幅の小さいネットワーク上では十分に機能を果たすことができず、さらに、断続的に接続を行うダイアルアップ型のネットワーク上では使用の際に支障をきたすという問題点もあった。
【0021】
また、第2に、クライアントプロセスを実行するコンピュータインフラストラクチャの負担がおおきいので、クライアントプロセスをユーザ端末上で実行するならば、ユーザがサービス完了までの間にその端末上で行う他の処理がはかどらないという自体が発生する。従って、ユーザはより高性能で高価なクライアント装置を用意しなければならず、経済的ではないという問題があった。
【0022】
また、第3に、装置を制御するための一連の対話的処理がプロトコルによって実現される手法では、装置を制御するための命令体系を予めプロトコルとして設計し、実装しておかなければならないため、クライアントプロセスとサーバプロセスとの両方ともがこのプロトコルに対応するように注意深く実装されていなければならない。このため、クライアントコンピュータが複数のOA装置を有機的に組み合わせて自由なワークフローを実現することは非常に困難であった。
【0023】
また、第4に、複数のOA装置を組み合わせるためにいちいちクライアントコンピュータ等を通信を仲介するというネットワークトラフィック上の無駄を避けるためには、OA装置がワークフローに沿って直接他の装置と通信することが望ましい。しかし、あるOA装置が他のOA装置によって提供されるサーバプロセスのクライアントコンピュータとして振る舞う場合は、上述した問題がOA装置中のクライアントおよび/またはサーバに影響することになり、このことはクライアントとしてパーソナルコンピュータ等のOA装置とは独立したコンピュータを用いる場合と比較して非常に大きな問題となる。
【0024】
本発明は、上述した各問題点を解決するためになされたもので、必要最小限の時間だけクライアントコンピュータとOA装置との理論的な接続を行い、必要最小限の対話的やり取りを行うだけで、クライアントコンピュータからOA装置の所望のサービスを十分且つ容易に拡張可能に制御することができるとともに、OA装置からクライアントコンピュータへクライアントコンピュータによる処理に必要な応答情報を与えたり他の装置により提供される所望のサービスを十分かつ容易に拡張可能に制御することができるOA装置、OAシステム制御方法及び記憶媒体を提供することを第1の目的とする。
【0025】
また、必要最小限の時間だけクライアントコンピュータとOA装置との論理的な接続を行い、必要最小限の対話的やり取りを行うだけで、クライアントコンピュータが要求するサービスを十分且つ容易に拡張可能に制御することができ、更に、OA装置単体が提供する機能を容易に他のOA装置の機能と組合せて全体として一連のワークフローを実現することができるOA装置、OAシステム制御方法及び記憶媒体を提供することを第2の目的とする。
【0026】
【課題を解決するための手段】
上記第1の目的を達成するために、請求項1のOA装置は、ネットワークに対してデータの送信及び受信を行うインターフェース手段を有するOA装置において、前記ネットワークを介して、前記OA装置において実現可能な第1の処理と、第2の処理とを実行可能な命令列を含むモバイルエージェントを受信する受信手段と、前記受信手段が受信したモバイルエージェントの命令列を実行する実行手段と、前記実行手段による実行に従って当該OA装置において前記第1の処理を実現すべく機構制御を行う制御手段と、前記制御手段による機構制御による第1の処理の結果に応じて、他のOA装置に前記第2の処理をさせる命令列を含む、他のモバイルエージェントを前記ネットワークへ前記モバイルエージェントに含まれる命令列を実行することにより送出する送信手段とを備えることを特徴とする。
【0027】
請求項のOA装置は、請求項1又は2に記載のOA装置において、前記モバイルエージェントの命令列の実行に係るデータに対して、前記機構制御手段による機構制御の結果に対応する変更を加える制御結果獲得手段を備えることを特徴とする。
【0028】
また、上記第2の目的を達成するために、請求項4のOA装置は、請求項2又は3に記載のOA装置において、前記送信手段は、前記符号化手段によって符号化されたモバイルエージェントを、前記ネットワークに接続されている他のOA装置に送信することを特徴とする。
【0029】
上記第1及び第2の目的を達成するために、請求項5のOA装置は、請求項1〜4のいずれか1項記載のOA装置を、画像処理装置としてもよい。
【0030】
また、請求項のOA装置は、請求項1〜のいずれか1項記載のOA装置を、画像ファイリング装置としてもよい。
【0031】
また、上記第1の目的を達成するために、請求項7のOAシステムは、少なくとも1台のクライアントコンピュータと、少なくとも1台のOA装置と、前記クライアントコンピュータ及び前記OA装置の間の通信を実現するためのネットワークとから構成されるOAシステムにおいて、前記OA装置は、前記ネットワークを介して、前記OA装置において実現可能な第1の処理と、第2の処理とを実行可能な命令列を含む情報から構成されるモバイルエージェントを受信する受信手段と、前記受信手段が受信したモバイルエージェントの命令列を実行する実行手段と、前記実行手段による実行に従って当該OA装置において前記第1の処理を実現すべく機構制御を行う制御手段と、前記制御手段による機構制御による第1の処理の結果に応じて、別のOA装置に前記第2の処理をさせる命令列を含む、他のモバイルエージェントを前記ネットワークへ前記モバイルエージェントに含まれる命令列を実行することにより送出する送信手段とを備えることを特徴とする。
【0036】
また、上記第1の目的を達成するために、請求項8のOA装置の制御方法は、ネットワークに対してデータの送信及び受信を行うインターフェース手段を有するOA装置の制御方法において、前記ネットワークを介して、前記OA装置において実現可能な第1の処理と、第2の処理とを実行可能な命令列を含むモバイルエージェントを受信するステップと、前記受信するステップで受信したモバイルエージェントの命令列を実行するステップと、前記実行するステップでの実行に従って当該OA装置において前記第1の処理を実行すべく機構制御を行うステップと、前記機構制御を行うステップでの機構制御による第1の処理の結果に応じて、別のOA装置に前記第2の処理をさせる命令列を含む、他のモバイルエージェントを前記ネットワークへ前記モバイルエージェントに含まれる命令列を実行することにより送出するステップとを含むことを特徴とする。
【0037】
請求項10のOA装置の制御方法は、請求項記載のOA装置の制御方法において、前記モバイルエージェントの命令列の実行に係るデータに対して、前記機構制御のステップでの機構制御の結果に対応する変更を加えるステップを含むことを特徴とする。
【0038】
また、上記第2の目的を達成するため、請求項11のOA装置の制御方法は、請求項9又は10に記載のOA装置の制御方法において、前記送信するステップでは、前記符号化されたモバイルエージェントを、前記ネットワークに接続されている他のOA装置に送信するステップを含むことを特徴とする。
【0039】
上記第1及び第2の目的を達成するために、請求項12のOA装置は、請求項8〜11のいずれか1項記載のOA装置を、画像処理装置としてもよい。
【0040】
また、請求項13のOA装置は、請求項8〜11のいずれか1項記載のOA装置を、画像ファイリング装置としてもよい。
さらに、第2の目的を達成するために、請求項14記載のOA装置は、OA装置における画像処理をひとつのタスクとして実行する実行手段と、前記実行手段が前記画像処理をひとつのタスクとして実行中に、前記OA装置における復帰可能なエラーの状態を検知した場合、前記タスクのエラーを外部に通知するための派生タスクを生成する指示を行う生成指示手段と、前記エラーの状態が解除されたことを認識する認識手段とを備え、前記実行手段は、前記認識手段がエラーの状態の解除を認識した場合には、前記タスクの実行を再開し、前記派生タスクは、前記エラー状態を通知する処理を含み、前記OA装置と通信可能な別のOA装置において前記派生タスクを実行させるべく、前記派生タスクを転送する転送手段を備えることを特徴とする。
請求項15記載のOA装置の制御方法は、OA装置における画像処理をひとつのタスクとして実行するステップと、前記実行するステップで前記画像処理をひとつのタスクとして実行中に、前記OA装置における復帰可能なエラーの状態を検知した場合、前記タスクのエラーを外部に通知するための派生タスクを生成する指示を行うステップと、前記エラーの状態が解除されたことを認識するステップとを備え、前記認識するステップでエラーの状態の解除を認識した場合には、前記実行するステップで、前記タスクの実行を再開し、前記派生タスクは、前記エラー状態を通知する処理を含み、前記OA装置と通信可能な別のOA装置において前記派生タスクを実行させるべく、前記派生タスクを転送するステップをさらに備えることを特徴とする。
請求項16記載の記憶媒体は、請求項15記載のOA装置の制御方法を実行するプログラムを格納することを特徴とする。
【0042】
【発明の実施の形態】
以下、図面を参照して、本発明の実施形態について説明する。
【0043】
(第1の実施形態)
まず、図1〜図7を参照して、本発明の第1の実施形態について説明する。
【0044】
図1は、本実施形態に係るOA装置としての画像処理装置を含むオフィスシステムのネットワーク構成の一例を示す説明図である。
【0045】
同図において、オフィスシステムは、画像処理装置1、複数台のクライアントコンピュータ3及びルータ4を互いにローカルエリアネットワーク(以下、「LAN」という)2により接続することにより構成される第1のネットワークと、ルータ7及びリモートクライアント8をLAN6により互いに接続することにより構成される第2のネットワークとを、ルータ4及びルータ7においてワイドエリアネットワーク5に接続することにより構成される。
【0046】
LAN2は、OA装置である画像処理装置1と、他のOA装置あるいはクライアントの相互の通信を実現する。クライアントコンピュータ3は、ユーザによる入力に使用されるキーボード又はマウス等の入力装置と、ユーザに情報を出力するディスプレイなどの出力装置とを備え、LAN2に接続されている。ルータ4は、LAN2と他のネットワークとを接続し、両者に接続される各装置間の通信を実現する機能を有している。ワイドエリアネットワーク5は、多数のネットワークを接続した企業専用線網やインターネットあるいはLANを相互接続する。ルータ7は、LAN6とワイドエリアネットワーク5とを接続しており、これによって、リモートクライアント8から画像処理装置1を遠隔制御することが可能となっている。
【0047】
図2は、画像処理装置1の内部の概略構成を示すブロック図である。同図において、画像処理装置11は、LAN2との間でデータフレームの送受信を行うネットワークインターフェース11と、各種演算処理を行い本装置全体の制御を司るCPUまたはMPU等からなる中央処理部12と、中央処理部12が実行するプログラム及び実行に係るデータを格納するワークメモリ13と、中央処理部12が実行するプログラム、実行に係るデータの初期値及び電源切断前後において保存が必要なデータ等を格納する、例えば図示しないROM、フラッシュROM、NVRAM、HDD等からなる不揮発性メモリ14と、ハードウエアにより画像処理を行う画像処理エンジンを制御するエンジン制御回路15と、画像データを格納する画像メモリ16と、転写紙に画像データに対応する画像を形成する画像処理エンジンであるプリンタ部17と、原稿上の画像を読み取り画像データを形成する画像処理エンジンであるイメージスキャナ部18とから主に構成されている。ネットワークインターフェース11、中央処理部12、ワークメモリ13、不揮発性メモリ14、エンジン制御回路15及び画像メモリ16は、バス19を介して相互に接続されており、該バス19を介して制御情報やエンジンステータス等の各種データのやり取りが行われる。
【0048】
プリンタ部17及びイメージスキャナ部18は、エンジン制御回路15に接続され、該エンジン制御回路15によってそれぞれ制御される。また、プリンタ部17、イメージスキャナ18及び画像メモリ16は、イメージバス20に接続されており、該イメージバス20を介して相互に画像データのやり取りが行われる。
【0049】
図3は、図2に示したプリンタ部17及びイメージスキャナ部18の構成の一例を示す縦断面図である。
【0050】
同図において、101は原稿給送装置であり、原稿台に載置された原稿を1枚ずつ順次原稿台ガラス102面上に搬送する。原稿が原稿台ガラス102上に搬送されると、原稿照射ランプ103が点灯されるとともにスキャナユニット104が移動され、原稿が照明される。原稿の反射光は、ミラー105、106及び107を介してレンズ108を通過し、CCDイメージセンサ109に入力される。原稿給送装置101、原稿台ガラス102、原稿照明ランプ103、スキャナユニット104、ミラー105〜107、レンズ108及びCCDイメージセンサ109は、スキャナユニット部18を構成する。
【0051】
CCDイメージセンサ109は、入力された画像を画像データに光電変換し、その画像データをプリンタ部17に送る。
【0052】
画像データは、プリンタ部17の露光制御部201に入力され、該露光制御部201によって光信号に変換されて感光体202に照射される。この照射光によって感光体202上に作られた潜像は、現像器203によって現像される。この現像とタイミングを合わせて、被転写紙積載部204もしくは205から転写紙が搬送され、転写部206において、上記現像された像が転写される。転写された像は定着部207において被転写紙に定着された後、排紙部208から装置外部に排出される。排紙部208から出力された転写紙は、ソータ220でソート機能が働いている場合には各ビンに排紙され、ソート機能が働いていない場合には最上位のビンに排紙される。
【0053】
図4は、図2に示したワークメモリ13に記憶されたデータの構造及びプログラムコードを中央処理部12が処理するソフトウエア構造を示す模式的な階層図である。なお、不揮発性メモリ14がROM等である場合にはプログラムコードは不揮発性メモリ14だけに存在するように構成してもよい。
【0054】
同図において、ワークメモリ13は4つの階層からなり、各階層は、下位の階層が提供するサービスを上位の階層が利用するという関係になっている。
【0055】
最下層はオペレーティングシステムであり、プログラムの実行コンテクストの管理やメモリ管理等を行う階層である。オペレーティングシステムの中には、ネットワークインターフェースドライバ、プリンタ制御ドライバ、イメージスキャナ制御ドライバの3つのデバイスドライバが組み込まれ、連携して機能している。
【0056】
ネットワークインターフェースドライバはネットワークインターフェース11を制御するソフトウエアであり、プリンタ制御ドライバはエンジン制御回路15及び画像メモリ16を介してプリンタ部17を制御するソフトウエアであり、イメージスキャナ制御ドライバはエンジン制御回路15及び画像メモリ16を介してイメージスキャナ部18を制御するソフトウエアである。
【0057】
最下層から2番目の層は、各種のライブラリである。スレッドライブラリは、それを利用するプログラムにスレッド機能を提供するライブラリである。スレッドとは、ソフトウエアの並列実行の単位であり、単一プロセス内の複数のスレッドは異なる実行コンテキスト(プログラムカウンタ、スタック、レジスタ値等)を有するが、メモリ空間は他と共有している。スレッドのコンテキスト切替えは、プロセスのコンテキスト切替えに比べ処理の量が少なくて済むため、ライトウエイトプロセスと呼ばれることもある。
【0058】
ネットワークインターフェースライブラリは、ネットワークインターフェースドライバを利用してネットワークを介するデータ送信及びデータ受信を実現するライブラリである。
【0059】
プリンタ制御ライブラリは、プリンタ制御ドライバの機能を利用してプリンタ制御API(アプリケーションプログラミングインターフェース)を提供するライブラリである。
【0060】
イメージスキャナ制御ライブラリは、イメージスキャナ制御ドライバの機能を利用してイメージスキャナ制御APIを提供するライブラリである。
【0061】
最下層から3番目の層は、インタプリタである。インタプリタは、モバイルエージェント等のオブジェクトが動作するためのオブジェクト実行環境を提供する。本実施形態に係るオブジェクトは、広く知られたオブジェクト指向パラダイムにおけるオブジェクトのサブセットとなっている。すなわち、問題領域のある概念に係るデータ(いくつかの属性の集合)と処理(いくつかのオペレーションの集合)とをひとまとめにしたソフトウエア構造である。各オブジェクトは、自律的に存在し、他のオブジェクトと通信(メッセージパッシング)し合いながら、オブジェクト群の全体として並列に一連の処理が達成される。
【0062】
インタプリタは、インタプリタ上で動作する各オブジェクトに断続的にプロセッサの処理時間を与えるオブジェクトスケジューラ(不図示)を有している。オブジェクトスケジューラは、各オブジェクトの処理が仮想的に並列に進行するようにスレッドライブラリを利用する。
【0063】
インタプリタは、また、オブジェクトデコーダ/エンコーダを有している。デコーダは、メモリ上に実行可能な形態で展開されたオブジェクトのスクリプト(命令列)及びデータを、ネットワークを介して転送可能なビット列に、メモリ上にあった構造を実質的に復元可能な形で符号化する。エンコーダは、ネットワークを介して転送されてきたビット列を、メモリ上に実行可能な形態に展開されたオブジェクトに復号化する。
【0064】
図5は、オブジェクトが符号化されたネットワークパケットの一例を示す概念図である。同図に示すように、オブジェクトを符号化したネットワークパケットは、もとのオブジェクトの実行にかかる全てのデータ(属性の集合)を符号化した部分21と、もとのオブジェクトの命令列部分22とから構成されている。
【0065】
図4に戻り、最上層はインタプリタ上で管理及び実行されるオブジェクトである。
【0066】
プリンタ制御オブジェクトは、プリンタ制御ライブラリを介してプリンタ部17の制御を行うための複数のオペレーションを提供しており、プリンタ部17の代理オブジェクトとして機能する。すなわち、オブジェクトの命令列の中で、プリンタ制御オブジェクトのオペレーションを呼び出す(メッセージパッシング)命令を実行すると、該オペレーションの実行の中でオペレーションに対応する制御がプリンタ部17によって実施される。同様に、プリンタ制御オブジェクトから情報を引き出すオペレーションを実行すると、プリンタ部17のステータス情報等を得ることができる。
【0067】
イメージスキャナ制御オブジェクトは、イメージスキャナ制御ライブラリを介してイメージスキャナ部18の制御を行うための複数のオペレーションを提供しており、イメージスキャナ部18の代理オブジェクトとして機能する。すなわち、オブジェクトの命令列の中で、イメージスキャナ制御オブジェクトを呼び出す(メッセージパッシング)命令を実行すると、該オペレーションの実装の中でオペレーションに対応する制御がイメージスキャナ部18に実施される。同様に、イメージスキャナ制御オブジェクトから情報を引き出すオペレーションを実行すると、実際のイメージスキャナ部18のステータス情報等を得ることができる。
【0068】
プリンタ制御オブジェクトとイメージスキャナ制御オブジェクトは、常駐エージェントである。すなわち、画像処理装置1の立ち上げ後、インタプリタが処理を開始するとその最初の処理の一つとして常駐エージェントを自動的に生成、初期化、起動する。そして、常駐エージェントは画像処理装置1の動作中、このノードに存続する。すなわち、これらの常駐エージェントは、後述するLIVEオペレーションの実装内部で無限ループを構成している。
【0069】
図4において、2つ存在するモバイルエージェントは、あるジョブのエージェントとしての役割を担うオブジェクトのうち、あるネットワークノード上のインタプリタから別のネットワークノード上のインタプリタへ移動することができる性質を有するオブジェクトである。
【0070】
モバイルエージェントは、その命令列の中に「移動」を意味するオペレーション(以下、「GOオペレーション」という)を呼び出す命令列を含んでいる。インタプリタは、モバイルエージェントオブジェクトの命令列の解釈実行中に上記GOオペレーションを発見すると、オブジェクトエンコーダによってその時点のモバイルエージェントオブジェクトに含まれるすべての実行に係るデータと命令列とをそれらのデータ構造を復元可能な符号化方法によって符号化し、符号化されたパッケージをネットワークパケットとしてGOオペレーションの引数に指定されたノードのインタプリタに対して転送する。転送されたネットワークパケットを受け取ったノードのインタプリタは、オブジェクトデコーダによってそのネットワークパケットを実行可能な命令列及びデータとして該インタプリタが管理するメモリ空間に復号化し、更にオブジェクトスケジューラのスケジュール対象に参加させる。転送され復号化されたモバイルエージェントオブジェクトの実行に係るデータの中には、当該モバイルエージェントオブジェクトの次に実行すべき命令の位置を示すデータが含まれている。従って、このモバイルエージェントが転送先のノードで最初に実行する命令は、転送元ノードで最後に実行した命令の次の命令となる。
【0071】
このようにして、モバイルエージェントはモバイルエージェントの実行環境(インタプリタ)を含むネットワークノード間を移動しながら、自らの命令列に記述された処理を実行する。
【0072】
インタプリタが扱う全てのオブジェクトは、その命令列によって自らを初期化するために必要な処理を定義したオペレーション(以下、「初期化オペレーション」という)を有している。インタプリタは、オブジェクトを清清したときに最初に、この初期化オペレーションの実装として記述された命令列を実行する。また、モバイルエージェント及び常駐エージェントは、それぞれ、自らの存続にわたって行う一連の処理を定義したオペレーション(以下、「LIVEオペレーション」という)を有している。インタプリタは、オブジェクトの初期化が完了すると、このLIVEオペレーションの実装として記述された命令列を実行する。LIVEオペレーションに記述された命令列の実行が終了すると、インタプリタはオブジェクトを削除し、該オブジェクトだけが使用していたメモリ領域をすべて解放する。
【0073】
オブジェクトは、他のオブジェクトとメッセージパッシングによって対話することができる。各ノードに存在するインタプリタのメモリ空間は、それぞれのノード毎に全く異なるものであるため、特にあるノードにおいてモバイルエージェントが他のエージェントと対話を開始するためには、それに先立ってモバイルエージェントは相手オブジェクトの参照を獲得しなければならない。この操作は、モバイルエージェントの命令列中で、対話したい相手のオブジェクトを指定するための識別情報を引数として、インタプリタが提供する組み込みオペレーションである対話要求オペレーション(以下、「MEETオペレーション」という)を呼び出すことにより実現できる。ここで、相手オブジェクトを指定するための識別情報は、ユニークなオブジェクト識別子、あるいはオブジェクトが属するクラスの識別子などの該当するオブジェクトの条件を示す情報である。
【0074】
MEETオペレーションに成功すると、モバイルエージェントは相手オブジェクトの参照を獲得し、これを用いて相手オブジェクトのオペレーションを実行可能となる。すなわち、メッセージパッシングによる対話が可能となる。具体的には、図4において、他のノードから移動してきたモバイルエージェント1やモバイルエージェント2は、常駐エージェントであるプリンタ制御オブジェクトやイメージスキャナ制御オブジェクトとMEETすると、相手オブジェクトの公開されているデータにアクセスし、公開されたオペレーションを呼び出すことができる。
【0075】
従って、クライアントコンピュータ3から画像処理装置1にモバイルエージェントを移動させることにより、クライアントコンピュータ3から画像処理装置1の制御を行うことが可能となる。
【0076】
図6は、クライアントコンピュータ3のユーザが画像処理装置1にプリント処理を行わせる場合に実行される、モバイルエージェントのLIVEオペレーションを実装する命令列の処理手順を示すフローチャートである。
【0077】
クライアントコンピュータ3で起動されたモバイルエージェントは、クライアントコンピュータ3のローカルなファイルシステムから指定のファイルを開き、それを自らの属性の一つであるバッファに読み出す(ステップS601)。
【0078】
次に、モバイルエージェントは、画像処理装置1を宛先とするGOオペレーションで画像処理装置1上のインタプリタへ移動する(ステップS602)。このとき、クライアントコンピュータ3上のインタプリタは、モバイルエージェントオブジェクト内のすべての命令列及びすべてのデータ(属性の集合)を、ネットワークを介して通信可能なデータストリームとしてマーシャリングしてから、画像処理装置1に送信する。また、モバイルエージェントの移動が完了すると、クライアントコンピュータ3のインタプリタは、このモバイルエージェントオブジェクトを内部テーブルから削除し、このオブジェクトが利用していたメモリ空間等を開放する。
【0079】
画像処理装置1は、受信したデータストリームを展開し、展開されたデータストリームを画像処理装置1のインタプリタが管理するメモリ空間に配置し、そのモバイルエージェントを実行可能なオブジェクトとして管理テーブルに登録する。画像処理装置1のインタプリタは、登録されたモバイルエージェントオブジェクト内のデータに自動的に記憶される現在のプログラムカウンタからLIVEオペレーションの実行を再開する。
【0080】
LIVEオペレーションの実行が再開されると、モバイルエージェントオブジェクトは画像処理装置1のインタプリタの常駐エージェントであるプリンタ制御オブジェクトとの対話をインタプリタに要求し、インタプリタからプリンタ制御オブジェクトを識別するための参照を獲得する(ステップS603)。
【0081】
上述したように、プリンタ制御オブジェクトは、画像処理装置1のプリンタ部17の制御及び状態取得を行うオブジェクトとしてプログラミングされており、画像処理装置1の立ち上げ時にインタプリタの初期化に伴って予めインタプリタ内に生成され、登録されている。
【0082】
そして、モバイルエージェントは、ステップS602で属性たるバッファ内に格納されたデータを引数として、プリンタ制御オブジェクトのプリント要求オペレーションを呼び出す。この結果、プリンタ制御オブジェクトのプリント要求オペレーションの実装に従って、プリンタ部17においてデータのプリント処理が行われる(ステップS604)。
【0083】
プリント処理が終了すると、モバイルエージェントは、再びGOオペレーションによって画像処理装置1のインタプリタからクライアントコンピュータ3のインタプリタへ移動する(ステップS605)。このとき、画像処理装置1のインタプリタは、モバイルエージェントオブジェクト内のすべての命令列及び全てのデータをネットワークを介して通信可能なデータストリームとしてマーシャリングしてからクライアントコンピュータ3に対して転送する。モバイルエージェントの移動が完了すると、画像処理装置1のインタプリタは、モバイルエージェントオブジェクトを内部テーブルから削除し、このオブジェクトが利用していたメモリ空間等を開放する。
【0084】
クライアントコンピュータ3は、受信したデータストリームを展開し、展開したデータストリームをクライアントコンピュータ3のインタプリタが管理するメモリ空間に配置し、モバイルエージェントを実行可能なオブジェクトとして管理テーブルに登録する。クライアントコンピュータ3のインタプリタは、登録されたモバイルエージェントオブジェクト内部のデータとして記憶されている現在のプログラムカウンタからLIVEオペレーションの実行を再開する。
【0085】
LIVEオペレーションの実行が再開されると、モバイルエージェントは、クライアントコンピュータ3のインタプリタに予め用意されているクライアントコンピュータの画面表示を制御するためのグラフィックライブラリオブジェクトのダイアログ表示オペレーションを呼び出す。この結果、グラフィックライブラリオブジェクトの実装に従って、クライアントコンピュータ3のディスプレイ装置のグラフィカルユーザインターフェース(GUI)上に、図7に示すようなダイアログ(プリント処理の完了通知)が表示される(ステップS606)。
【0086】
図7は、クライアントコンピュータ3のディスプレイ装置に表示されるダイアログの一例を示す説明図である。同図に示すように、クライアントコンピュータ3の表示画面上には、画像処理装置1(Prineter1)におけるプリント処理が完了したこと、モバイルエージェントの識別情報(#999)、モバイルエージェントを起動したユーザの識別情報(taro)、モバイルエージェントが起動されたクライアントコンピュータ3の識別情報(client1)及びモバイルエージェントが起動された時間(8:30am)が表示される。これらのオブジェクトの実行に係る情報は、モバイルエージェントの実行中にエージェントオブジェクトを構成する複数の属性の値としてインタプリタが自動的に記憶する。ステップS606では、これらの属性値を組み合わせて、様々な情報を表示することが可能である。
【0087】
この表示状態で、表示画面中の「OK」ボタンが押下されると、LIVEオペレーションが終了するので、インタプリタはこのモバイルエージェントオブジェクトを内部テーブルから削除し、このオブジェクトが利用していたメモリ空間等の資源を解放する。
【0088】
以上説明したように、本実施形態によれば、クライアントコンピュータ3は、画像処理装置1に対してプリントデータとその処理を代行するモバイルエージェントを送信した後に画像処理装置1と継続的な対話処理を維持することなく、プリント処理の完了後、極めて容易にプリント処理の完了通知を受けることができる。すなわち、必要最小限の時間だけクライアントコンピュータ3と画像処理装置1との論理的な接続を行い、必要最小限の対話的なやり取りを行うだけで、クライアントコンピュータ3側から、画像処理装置1の機能を十分にしかも容易に拡張可能に制御することができ、また、クライアントコンピュータ3側から、画像処理装置1からクライアントコンピュータ3へのプリント処理完了通知等の情報伝達制御を制御可能とすることができる。
【0089】
また、転送データのスプーリングを行うアプリケーションサーバのスプール(特にプリント処理時のプリンタサーバにおけるプリントキュー等)が、クライアントコンピュータ3と画像処理装置1との間に介在しており対話型のプロトコルによる画像処理装置1の直接制御が本質的に困難な場合であっても、多大なコストを可決ことなく、画像処理装置1に対して上述したような複雑な制御を実現することが可能となる。
【0090】
また、画像処理装置1も、モバイルエージェントを受信した後はクライアントコンピュータ3と継続的な対話処理を維持することなく、本来の画像処理動作に専念することができ、また、画像処理動作完了後に高度な通知をクライアントコンピュータ3に対して行えばよいので、コストアップを抑制することができる。
【0091】
また、プリント処理の実行中に対話処理を繰り返すポーリングの必要が全くないので、制御のために利用するネットワークのトラフィックの混雑を抑制することができる。従って、LAN2内だけでなく、ワイドエリアネットワーク5やインターネットのような比較的バンド幅の狭いネットワークを介して、リモートクライアント8から画像処理装置1を制御する場合であっても、画像処理装置1を十分にしかも容易に制御可能である。
【0092】
更に、画像処理装置1の動作中にコネクションを張りつづけることなく断続的な接続であっても十分に機能するので、リモートクライアント8がダイアルアップ形のネットワーク接続であっても上述したような効果を得ることができる。
【0093】
さらにまた、クライアントコンピュータ3のユーザが所望する一連の処理をLIVEオペレーションの実装として素直に記述するだけで、クライアントコンピュータ3と画像処理装置1とに分散される一連の分散処理を、容易にプログラミングすることができる。従って、処理プログラムの開発効率及び信頼性の向上を図ることができる。これにより、従来と比較してバージョンアップ等を容易に行うことが可能となり、拡張性に関する問題を解決することが可能となる。このことは、画像処理装置1及びシステム全体の開発コストの削減につながり、画像処理装置及びシステムのコストダウンを図ることが可能となる。
【0094】
なお、本実施形態においては、OA装置として画像処理装置を一例として説明したが、これに限られるものではなく、例えば複写装置、ファクシミリ装置、イメージスキャナ、電話等のデジタルデータを取り扱うことができるOA装置であれば、本実施形態と同様に、本発明を適用可能である。
【0095】
(第2の実施形態)
次に、本発明の第2の実施形態を、図8〜図10を参照して説明する。なお、本実施形態は、第1実施形態において説明した図1〜図5に示した構成からなるオフィスシステムにおいて実現可能である。
【0096】
図8は、本実施形態に係るオフィスシステムにおいて、クライアントコンピュータ3のユーザが画像処理装置1にプリント処理を行わせる場合に行われる、モバイルエージェントのLIVEオペレーションを実装する命令列の処理手順を示すフローチャートである。同図において、ステップS801〜S803の処理手順は、第1実施形態の図6に示したステップS601〜S603の処理手順と同様である。
【0097】
ステップS803において画像処理装置1のインタプリタからプリンタ制御オブジェクトを識別するための参照を獲得した後、モバイルエージェントは、ステップS802で属性たるバッファ内に格納されたデータを引数として、プリンタ制御オブジェクトのプリント要求オペレーションを呼び出す。この結果、プリンタ制御オブジェクトのプリント要求オペレーションの実装に従って、プリンタ部17においてデータのプリント処理が行われる(ステップS804)。プリント処理が終了すると、プリント要求オペレーションの呼出から制御が返り、モバイルエージェントはオペレーションの返り値として、プリント処理の結果状態を取得する。取得された結果状態は、属性値として属性の1つに格納される。
【0098】
そして、モバイルエージェントは、プリント要求オペレーションの返り値として取得されたプリント処理の結果状態が正常終了であることを示しているか否かを判別する(ステップS805)。
【0099】
ステップS805の判別で、正常終了であった場合は、再びGOオペレーションによって画像処理装置1のインタプリタからクライアントコンピュータ3へモバイルエージェントが移動する(ステップS806)。この際、画像処理装置1のインタプリタは、モバイルエージェントオブジェクト内のすべての命令列及びすべてのデータをネットワークを介して通信可能なデータストリームとしてマーシャリングしてからクライアントコンピュータ3に転送する。マーシャリングされるデータには、命令列中で明示的に指示しない限り、モバイルエージェントオブジェクトの有するすべての属性が含まれるので、画像処理装置1から取得されたプリント処理の結果状態の情報もマーシャリングされるデータに含まれている。モバイルエージェントの移動が完了すると、画像処理装置1のインタプリタは、このモバイルエージェントオブジェクトを内部テーブルから削除し、このオブジェクトが使用していたメモリ空間等の資源を解放する。
【0100】
クライアントコンピュータ3は、受信したデータストリームを展開し、展開されたデータストリームをクライアントコンピュータ3内部のインタプリタが管理するメモリ空間に配置し、そのモバイルエージェントを実行可能なオブジェクトとして管理テーブルに登録する。クライアントコンピュータ3のインタプリタは、登録されたモバイルエージェントオブジェクト内部のデータとして記憶されている現在のプログラムカウンタからLIVEオペレーションの実行を再開する。
【0101】
LIVEオペレーションの実行を再開されると、モバイルエージェントは、クライアントコンピュータ3のインタプリタに予め用意されているクライアントコンピュータの画面表示を制御するためのグラフィックライブラリオブジェクトのダイアログ表示オペレーションを呼び出す。この結果、グラフィックライブラリオブジェクトの実装に従って、クライアントコンピュータ3のディスプレイ装置のグラフィカルユーザインターフェース(GUI)上に、図7に示したようなダイアログが表示される(ステップS807)。
【0102】
この表示状態で、表示画面中の「OK」ボタンが押下されると、LIVEオペレーションが終了するので、インタプリタはこのモバイルエージェントオブジェクトを内部テーブルから削除し、このオブジェクトが利用していたメモリ空間等の資源を解放する。
【0103】
一方、ステップS805の判別で、正常終了ではない場合、モバイルエージェントはプリント処理の結果状態に基づいてプリント処理が回復不能エラーで終了したか否かを判別する(ステップS808)。ステップS808の判別で、プリンタ処理が回復不能なエラー、例えば装置故障のような原因によって終了した場合は、再びGOオペレーションによって画像処理装置1のインタプリタからクライアントコンピュータ3へモバイルエージェントが移動する(ステップS809)。この際、画像処理装置1のインタプリタは、モバイルエージェントオブジェクト内のすべての命令列及びすべてのデータをネットワークを介して通信可能なデータストリームとしてマーシャリングしてから、クライアントコンピュータ3に転送する。マーシャリングされるデータには、命令列中で明示的に指示しない限り、オブジェクトの有するすべての属性が含まれるので、画像処理装置1のプリント処理の結果状態の情報もマーシャリングされるデータに含まれている。モバイルエージェントの移動が完了すると、画像処理装置1のインタプリタは、このモバイルエージェントオブジェクトを内部テーブルから削除し、このオブジェクトが使用していたメモリ空間等の資源を解放する。
【0104】
クライアントコンピュータ3は、受信したデータストリームを展開し、展開したデータストリームをクライアント3内部のインタプリタが管理するメモリ空間に配置し、モバイルエージェントを実行可能なオブジェクトとして管理テーブルに登録する。クライアントコンピュータ3のインタプリタは、登録されたモバイルエージェントオブジェクト内部のデータとして記憶されている現在のプログラムカウンタからLIVEオペレーションの実行を再開する。LIVEオペレーションの実行が再開されると、モバイルエージェントは、クライアントコンピュータ3のインタプリタに予め用意されているクライアントコンピュータの画面表示を制御するためのグラフィックライブラリオブジェクトのダイアログ表示オペレーションを呼び出す。この結果、グラフィックライブラリオブジェクトの実装に従って、クライアントコンピュータ3のディスプレイ装置のグラフィカルユーザインターフェース(GUI)上に、図9に示すようなエラー終了通知が表示される(ステップS810)。
【0105】
図9は、モバイルエージェントが表示画面上に表示するエラー終了通知表示ダイアログの一例を示す図である。同図に示すように、クライアントコンピュータ3の表示画面上には、画像処理装置1(Printer1)におけるプリント処理が回復不能なエラーにより異常終了したこと、モバイルエージェントの識別情報(#999)、モバイルエージェントを起動したユーザの識別情報(taro)、モバイルエージェントが起動されたクライアントコンピュータ3の識別情報(client1)及びモバイルエージェントが起動された時間(8:30am)が表示される。これらのオブジェクトの実行に係る情報は、モバイルエージェントの実行中にモバイルエージェントオブジェクトを構成する複数の属性の値としてインタプリタが自動的に記憶するものと、LIVEオペレーションの命令列が明示的に属性としてセットするものとがある。ステップS810では、これらの属性値を組み合わせて、様々な情報を表示することが可能である。例えば、プリント処理の結果状態を格納した属性に詳細なエラーの内容を含ませて、その内容を具体的に表示するようにダイアログを構成することも可能である。
【0106】
この表示状態で、表示画面中の「OK」ボタンが押下されると、LIVEオペレーションが終了するので、インタプリタはこのモバイルエージェントオブジェクトを内部テーブルから削除し、このオブジェクトが利用していたメモリ空間等の資源を解放する。
【0107】
また、上記ステップS808の判別で、回復不能エラーによる終了ではない場合は、プリント処理の結果状態によって、プリント処理が例えば画像処理装置内の紙詰まりのような回復可能なエラーが原因となって異常終了した場合である。そこで、モバイルエージェントは、このような回復可能なエラー終了である場合は、組み込みオペレーションの1つであるFORKオペレーションを呼び出して、自身と同じデータ及び命令列を有する複製オブジェクトを生成する(ステップS811)。
【0108】
オリジナル及びコピーの2つのオブジェクトインスタンスは、FORKオペレーションの実行時点でのプログラムカウンタやスタック等、同一の状態を有するが、FORKオペレーションの返り値のみ異なり、この値によって自身がオリジナルであるかコピー即ち子エージェントであるかを識別することができる。
【0109】
そして、FORKオペレーションの返り値によって自身がオリジナルであるか子エージェントであるかが判別され(ステップS812)、子エージェントである場合は、当該子エージェントが、子オペレーションによって画像処理装置1のインタプリタからクライアントコンピュータ3のインタプリタへ移動する。この際、画像処理装置1のインタプリタは、子エージェントオブジェクト内のすべての命令列及びすべてのデータをネットワークを介して通信可能なデータストリームとしてマーシャリングし、クライアントコンピュータ3に転送する。マーシャリングされるデータには、命令列中で明示的に指示しない限り当該子エージェントのオブジェクトの有するすべての属性が含まれるので、画像処理装置1から取得されたプリント処理の結果状態の情報も含まれている。子エージェントの移動が完了すると、画像処理装置1のインタプリタは、この子エージェントオブジェクトを内部テーブルから削除し、このオブジェクトが利用していたメモリ空間等の資源を解放する。
【0110】
クライアントコンピュータ3は、受信したデータストリームを展開し、展開したデータストリームをクライアントコンピュータ3のインタプリタが管理しているメモリ空間に配置し、その子エージェントを実行可能なオブジェクトとして管理テーブルに登録する。クライアントコンピュータ3のインタプリタは、登録された子エージェントオブジェクト内部のデータに記憶されている現在のプログラムカウンタからLIVEオペレーションの実行を再開する。LIVEオペレーションの実行が再開されると、子エージェントは、クライアントコンピュータ3のインタプリタに予め用意されているクライアントの画面表示を制御するためのグラフィックライブラリオブジェクトのダイアログ表示オペレーションを呼び出す。この結果、グラフィックライブラリオブジェクトの実装に従って、クライアントコンピュータ3のディスプレイ装置のグラフィカルユーザインターフェース(GUI)上に図10のようなリカバリ要求表示ダイアログが表示される(ステップS814)。
【0111】
図10は、モバイルエージェント(子エージェント)が表示画面上に表示するダイアログの一例を示す図である。同図に示すように、クライアントコンピュータ3の表示画面上には、画像処理装置1(Printer1)におけるプリント処理が回復可能なエラーによって中断したこと及びその詳しい原因(紙切れ)とエラーから回復するための指示(用紙を補給してください)、モバイルエージェントの識別情報(#999)、モバイルエージェントを起動したユーザの識別情報(taro )、モバイルエージェントが起動されたクライアントコンピュータ3の識別情報(client1)及びモバイルエージェントが起動された時間(8:30am)が表示される。これらのオブジェクトの実行に係る情報は、モバイルエージェントの実行中にエージェントオブジェクトを構成する複数の属性の値としてインタプリタが自動的に記憶するものと、LIVEオペレーションの命令列が明示的に属性にセットするものとがある。ステップS814では、これらの属性値を組み合わせて、様々な情報を表示することが可能である。例えば、プリント処理の結果状態を格納した属性に詳細なエラーの内容が含まれており、その内容を表示するようにダイアログを構成することも可能である。
【0112】
この表示状態で、表示画面中の「OK」ボタンが押下されると、LIVEオペレーションが終了するので、インタプリタはこのモバイルエージェントオブジェクトを内部テーブルから削除し、このオブジェクトが利用していたメモリ空間等の資源を解放する。
【0113】
また、ステップS812の判別で、自身が子エージェントではない場合、すなわちオリジナルのエージェントである場合は、プリンタ制御オブジェクトのオペレーションを呼び出して、エラーからの復帰イベントの通知を依頼し、エラー回復待ちの給紙状態となる(ステップS815)。上述したステップS814における表示に応じてユーザによりリカバリ処理が行われ、エラー状態から画像処理装置1が回復すると、プリンタ制御オブジェクトからのイベントが通知されるので、オリジナルのモバイルエージェントは、この通知に応じて、ステップS804のプリント処理を再開する。
【0114】
以上説明したように、本実施形態によれば、必要最小限のの時間だけクライアントコンピュータと画像処理装置との論理的な接続を行い、必要最小限の対話的なやり取りを行うだけで、上述した第1実施形態と同様の効果を得ることができるという効果に加え、クライアントコンピュータ3側における最小限の対話のみで、画像処理装置1の動作状況(正常終了、回復不能エラー終了、回復可能エラー終了)等の高度の通知をクライアントコンピュータ3へ送ることができる。
【0115】
(第3の実施形態)
次に、本発明の第3実施形態について、図11〜図13を参照して説明する。
【0116】
図11は、本実施形態に係るOA装置たる画像処理装置を含むオフィスシステムの構成を示すネットワーク図である。同図において、オフィスシステムは、第1のプリンタ装置としての画像処理装置1、クライアントコンピュータ3、第2のプリンタ装置としての画像処理装置9、画像ファイリング装置10及びルータ4を互いにローカルエリアネットワーク(以下、「LAN」という)2により接続することにより第1のネットワークを構成している点で上述した図1の構成と異なるが、これ以外の構成は図1と同様である。以下の説明では、図1に示した構成要素と同一の要素には、同一の符号を付しておく。
【0117】
画像ファイリング装置10は、画像データを受け取って大容量の外部記憶装置に画像データを保存する。また、画像処理装置9は、画像処理装置1と同様に構成されているものとする。
【0118】
図12は、図11に示したオフィスシステムにおいて、クライアントコンピュータ3のユーザがプリント処理を行う場合の、モバイルエージェントのLIVEオペレーションを実装する命令列の処理手順を示すフローチャートである。
【0119】
クライアントコンピュータ3で起動されたモバイルエージェントは、クライアントコンピュータ3のローカルなファイルシステムから指定のファイルを開き、それを自らの属性の一つであるバッファに読み出す(ステップS601)。このとき、モバイルエージェントは、画像処理装置1の名称(Printer1)及びそのアドレス等の情報を、処理を行うプリンタを表す属性として記憶する。
【0120】
ステップS1202〜S1207の処理手順は、第2実施形態の図8に示したステップS802〜S807の処理手順と同様である。
【0121】
ステップS1205の判別で、正常終了ではない場合、例えば装置の故障のような原因によって画像処理装置1におけるプリント処理の完遂が不可能であると判別された場合は、予め属性に記憶されている代替装置リストの中から使用する装置候補を選択し、選択した装置をモバイルエージェントの移動の宛先とするとともに、その装置を代替装置リストから削除する(ステップS1208)。本実施形態においては、画像処理装置9を代替装置として使用できるので、画像処理装置9(Ptinter2)を選択し、画像処理装置9の名称やアドレス等の情報を、処理を行うプリンタを表す属性に記憶する。そして、ステップS1202に戻り、モバイルエージェントが選択した代替装置へ移動し、その代替装置においてプリント処理の続行及び完遂が図られる。
【0122】
代替装置である画像処理装置9において、正常にプリント処理を完遂できた場合は、ステップS1207において、図13に示すようなダイアログが表示される。これにより、クライアントコンピュータ3からプリント処理を指示したユーザは、要求したプリント結果が画像処理装置1ではなく画像処理装置9においてプリント処理されたことを知ることができる。
【0123】
以上説明したように、本実施形態によれば、クライアントコンピュータ3においてモバイルエージェントの属性及び命令列に予め複数の代替装置を設定しておくことにより、画像処理装置1に対してプリントデータとその処理を代行するモバイルエージェントを送信した後は、クライアントコンピュータ3と画像処理装置1との継続的な対話処理を維持することなく、プリント処理の完了の通知を極めて容易に受ける等、上述した第1〜第3の実施形態と同様の効果を得ることができるとともに、画像処理装置1でプリント処理できなかった場合には動的に代替装置リストの中に含まれている他の代替装置(本実施形態では画像処理装置9)に切り換えてプリント処理を行うという組合せ処理を実現することができるという効果が得られる。すなわち、必要最小限時間だけクライアントコンピュータ3と画像処理装置1との間、あるいは画像処理装置1と他の装置(画像処理装置9)との間の論理的な接続を行い、これらの間で必要最小限の対話的なやり取りを行うだけで、クライアントコンピュータ3側から、複数の装置を組み合わせて実現されるワークフロー形のサービスを十分にしかも柔軟に制御することができる。
【0124】
(第4の実施形態)
次に、本発明の第4の実施形態について、図14及び図15を参照して説明する。なお、本実施形態は、第3実施形態において説明した図11に示した構成からなるオフィスシステムにおいて実現可能である。
【0125】
図14は、本実施形態に係るオフィスシステムにおいて、クライアントコンピュータ3のユーザがプリント処理を行う場合の、モバイルエージェントのLIVEオペレーションを実装する命令列の処理手順を示すフローチャートである。同図において、ステップS1401〜S1404の処理手順は、第3実施形態の図12に示したステップS1201〜S1204の処理手順と同様である。
【0126】
ステップS1404において、プリント処理が終了すると、プリント要求オペレーションの呼出から制御が返り、モバイルエージェントは、プリント要求オペレーションの返り値としてプリント処理において展開された画像のビットマップデータを取得する。
【0127】
モバイルエージェントは、プリンタ制御オブジェクトから獲得した展開画像のデータを属性値として記憶したまま、画像ファイリング装置10を宛先とするGOオペレーションによって、画像ファイリング装置10のインタプリタに移動する(ステップS1405)。このとき、画像処理装置1のインタプリタは、モバイルエージェントオブジェクト内のすべての命令列及びすべてのデータをネットワークを介して通信可能なデータストリームとしてマーシャリングし、画像ファイリング装置10に転送する。マーシャリングされたデータには、命令列中で明示的に指示しない限りモバイルエージェントオブジェクトの有する全ての属性が含まれるので、ステップS1404において画像処理装置1から取得された展開画像データも含まれている。モバイルエージェントの移動が完了すると、画像処理装置1のインタプリタはモバイルエージェントオブジェクトを内部テーブルから削除し、当該オブジェクトを利用していたメモリ空間等の資源を解放する。
【0128】
画像ファイリング装置10は、受信されたデータストリームを展開し、展開したデータストリームを画像ファイリング装置10のインタプリタが管理するメモリ空間に配置し、そのモバイルエージェントを実行可能なオブジェクトとして管理テーブルに登録する。画像ファイリング装置10のインタプリタは、登録されたモバイルエージェントオブジェクト内部のデータとして自動的に記憶されている現在のプログラムカウンタからLIVEオペレーションの実行を再開する。
【0129】
画像ファイリング装置10のインタプリタに移動したモバイルエージェントは、インタプリタ上に常駐するファイリング制御オブジェクトとの対話をインタプリタに要求し、インタプリタからファイリング制御オブジェクトを識別するための参照を獲得する(ステップS1406)。ファイリング制御オブジェクトは、画像ファイリング装置10のファイルシステムの制御と状態取得とを行うオブジェクトとしてプログラミングされており、画像ファイリング装置10の立ち上げ時にインタプリタの初期化に伴って予めインタプリタ内に生成されて登録されている。
【0130】
そして、ステップS1405で属性たるバッファ内に格納してきた展開画像データ及びファイル名等を引数として、ファイリング制御オブジェクトのファイリング要求オペレーションを呼び出す。この結果、ファイリング制御オブジェクトのファイリング要求オペレーションの実装に従って、画像ファイリング装置10において当該画像データのファイリングが行われる(ステップS1407)。ファイリングが終了すると、ファイリング要求オペレーションの呼出から制御が返る。
【0131】
モバイルエージェントは、再びGOオペレーションによって画像ファイリング装置10のインタプリタからクライアントコンピュータ3のインタプリタへ移動する(ステップS1408)。この際、画像ファイリング装置10のインタプリタは、モバイルエージェントオブジェクト内のすべての命令列及びすべてのデータをネットワークを介して通信可能なデータストリームとしてマーシャリングしてから、クライアントコンピュータ3に転送する。マーシャリングされるデータには、命令列中で明示的に指示しない限りモバイルエージェントオブジェクトの有する全ての属性が含まれるので、画像ファイリング装置10から取得されたファイリング処理の結果状態等の情報も含まれている。モバイルエージェントの移動が完了すると、画像ファイリング装置10のインタプリタはこのモバイルエージェントオブジェクトを内部テーブルから削除し、このオブジェクトを利用していたメモリ空間等の資源を解放する。
【0132】
クライアントコンピュータ3は、データストリームを展開し、展開したデータストリームをクライアントコンピュータ3のインタプリタが管理するメモリ空間に配置し、そのモバイルエージェントを実行可能なオブジェクトとして管理テーブルに登録する。クライアントコンピュータ3のインタプリタは、登録されたモバイルエージェントオブジェクト内部のデータとして記憶されている現在のプログラムカウンタからLIVEオペレーションの実行を再開する。
【0133】
そして、クライアントコンピュータ3のインタプリタに予め用意されている画面表示を制御するためのグラフィックライブラリオブジェクトのダイアログ表示オペレーションを呼び出す。この結果、グラフィックライブラリオブジェクトの実装に従って、クライアントコンピュータ3の表示部のグラフィカルユーザインターフェース(GUI)上に、図15に示すようなダイアログが表示される(ステップS1409)。
【0134】
図15は、モバイルエージェントが表示するダイアログの一例を示す図である。同図に示すように、クライアントコンピュータ3の表示画面上には、画像処理装置1(Printer1)におけるプリント処理が完了したこと、画像ファイリング装置10(File1)における控え画像の保存が終了したこと、モバイルエージェントの識別情報(#999)、モバイルエージェントを起動したユーザの識別情報(taro )、モバイルエージェントが起動されたクライアントコンピュータ3の識別情報(client1)及びモバイルエージェントが起動された時間(8:30am)が表示される。これらのオブジェクトの実行に係る情報は、モバイルエージェントの実行中にエージェントオブジェクトを構成する複数の属性の値としてインタプリタが自動的に記憶するものと、LIVEオペレーションの命令列が明示的に属性にセットするものとがある。
【0135】
この表示状態で、表示画面中の「OK」ボタンが押下されると、LIVEオペレーションが終了するので、インタプリタはこのモバイルエージェントオブジェクトを内部テーブルから削除し、このオブジェクトが利用していたメモリ空間等の資源を解放する。
【0136】
以上説明したように、本実施形態によれば、モバイルエージェントの命令列として複数のOA装置(画像処理装置1、画像ファイリング装置10)を組み合わせて用いる一連のワークフローをプログラミングしておくことにより、上述した第1〜第3の実施形態と同様の効果に加えて、異なる種類の処理を行う複数のOA装置(群)に対してその処理を代行するモバイルエージェントを送信した後にこれらの装置と継続的な対話処理を維持することなく、例えばプリント処理の完了後に控え画像を画像ファイリング装置に残した上で一連の処理を完了するといったワークフローを実現することができるという効果が得られる。
【0137】
なお、本実施形態においては、プリント終了後に控え画像をファイリング処理するというように、複数の処理をシーケンシャルに行う1つのモバイルエージェントを用いているが、モバイルエージェントの命令列中でエージェント自身のオブジェクトインスタンスを複製して、複数の処理を複製したモバイルエージェントが並行して行うように構成してもよい。
【0138】
また、上述した実施の形態の機能を実現するソフトウエアのプログラムコードを記録した記録媒体を、システム又はシステムを構成する各装置に供給し、それらの装置に内蔵されるCPU等が記憶媒体に格納されたプログラムコードを読み出して実行することによっても、本発明の目的が達成されることはいうまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が本発明を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0139】
プログラムコードを供給するための記憶媒体としては、たとえば、フロッピーディスクハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROM6などを用いることができる。
【0140】
また、コンピュータが読み出したプログラムコードを実行することにより、上述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOSなどが実際の処理の一部又は全部を行い、その処理によって上述した実施の形態の機能が実現される場合も含まれることはいうまでもない。
【0141】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理によって上述した実施の形態の機能が実現される場合も含まれることはいうまでもない。
以上説明したように、本発明の実施の形態に係るOA装置、OAシステム、制御方法及び記憶媒体によれば、OA装置は、前記ネットワークを介して、前記OA装置において実現可能な第1の処理と、第2の処理とを実行可能な命令列を含むモバイルエージェントを受信し、前記受信したモバイルエージェントの命令列を実行し、実行に従って当該OA装置において前記第1の処理を実現すべく機構制御を行い、機構制御による第1の処理の結果に応じて、他のOA装置に前記第2の処理をさせる命令列を含む、他のモバイルエージェントを前記ネットワークに送出するので、必要最小限の時間だけクライアントコンピュータとOA装置との論理的な接続を行い、必要最小限の対話的やり取りを行うだけで、クライアントコンピュータからOA装置の所望のサービスを十分且つ容易に拡張可能に制御することができ、また、モバイルエージェントを構成する命令列及び命令列の実行に係るデータをまとめて符号化してネットワークへ送信できることから、OA装置からクライアントコンピュータへクライアントコンピュータによる処理に必要な応答情報を与えたり他の装置により提供される所望のサービスを十分かつ容易に拡張可能に制御することができるという効果が得られる。
本発明の実施の形態に係るOA装置及び制御方法によれば、モバイルエージェントの命令列の実行に係るデータに対して、前記機構制御手段による機構制御の結果に対応する変更を加えるようにしたので、モバイルエージェントを構成する命令列及び変更を加えられたデータをまとめて符号化してネットワークへ送信でき、従って、ネットワーク側からの必要最小限の対話のみで、画像処理装置1の動作状況(正常終了、回復不能エラー終了、回復可能エラー終了)等の高度の通知をネットワークへ送信することができるという効果が得られる。
本発明の実施の形態に係るOA装置及び制御方法によれば、OA装置は、符号化されたモバイルエージェントを、前記ネットワークに接続されている他のOA装置に送信するようにしたので、当該OA装置を含むOAシステム全体として、前記複数のOA装置の機能を組み合わた動作を実現することが可能となり、従って、必要最小限の時間だけクライアントコンピュータとOA装置との論理的な接続を行い、必要最小限の対話的やり取りを行うだけで、クライアントコンピュータが要求するサービスを十分且つ容易に拡張可能に制御することができ、更に、OA装置単体が提供する機能を容易に他のOA装置の機能と組合せて全体として一連のワークフローを実現することができるという効果が得られる。
【0142】
【発明の効果】
本願発明の第1の側面によれば、所定のOA機器にかかわるタスクの実行制御するモバイルエージェント又はOA装置におけるエラー処理を制御する派生タスクが、自ら含まれる命令列を実行することにより、自身を別のOA装置に転送することができ、もってOA装置からクライアントコンピュータへクライアントコンピュータによる処理に必要な応答情報を与えたり他の装置により提供される所望のサービスを十分かつ容易に拡張可能に制御することができるという効果が得られる。
【0143】
本願発明の第2の側面によれば、所定のOA機器にかかわるタスクの実行制御するモバイルエージェント又はOA装置におけるエラー処理を制御する派生タスクが、自ら含まれる命令列を実行することにより、自身を別のOA装置に転送することができ、もって必要最小限の対話的やり取りを行うだけで、クライアントコンピュータが要求するサービスを十分かつ容易に拡張可能に制御することができ、さらに、OA装置単体が提供する機能を用意に他のOA装置の機能と組合せて全体として一連のワークフローを実現することができるという効果が得られる。
【図面の簡単な説明】
【図1】本発明の第1の実施形態に係るOA装置としての画像処理装置を含むオフィスシステムのネットワーク構成の一例を示す説明図である。
【図2】図1に示した画像処理装置1の内部の概略構成を示すブロック図である。
【図3】図2に示したプリンタ部17及びイメージスキャナ部18の構成の一例を示す縦断面図である。
【図4】図2に示したワークメモリ13に記憶されたデータの構造及びプログラムコードを処理するソフトウエア構造を示す模式的な階層図である。
【図5】オブジェクトが符号化されたネットワークパケットの一例を示す概念図である。
【図6】モバイルエージェントの、LIVEオペレーションを実装する命令列の処理手順を示すフローチャートである。
【図7】クライアントコンピュータ3のディスプレイ装置に表示されるダイアログの一例を示す説明図である。
【図8】本発明の第2の実施形態に係るOA装置としての画像処理装置を含むオフィスシステムにおいて行われる、モバイルエージェントの、LIVEオペレーションを実装する命令列の処理手順を示すフローチャートである。
【図9】クライアントコンピュータ3のディスプレイ装置に表示されるダイアログの一例を示す説明図である。
【図10】クライアントコンピュータ3のディスプレイ装置に表示されるダイアログの一例を示す説明図である。
【図11】本発明の第3の実施形態に係るOA装置としての画像処理装置を含むオフィスシステムの構成の一例を示すネットワーク図である。
【図12】モバイルエージェントの、LIVEオペレーションを実装する命令列の処理手順を示すフローチャートである。
【図13】クライアントコンピュータ3のディスプレイ装置に表示されるダイアログの一例を示す説明図である。
【図14】本発明の第4の実施形態に係るOA装置としての画像処理装置を含むオフィスシステムにおいて行われる、モバイルエージェントの、LIVEオペレーションを実装する命令列の処理手順を示すフローチャートである。
【図15】クライアントコンピュータ3のディスプレイ装置に表示されるダイアログの一例を示す説明図である。
【符号の説明】
1、9 画像処理装置(OA装置)
10 画像ファイリング装置(OA装置)
11 ネットワークインターフェース(送信手段、受信手段)
12 中央処理部

Claims (16)

  1. ネットワークに対してデータの送信及び受信を行うインターフェース手段を有するOA装置において、
    前記ネットワークを介して、前記OA装置において実現可能な第1の処理と、第2の処理とを実行可能な命令列を含むモバイルエージェントを受信する受信手段と、
    前記受信手段が受信したモバイルエージェントの命令列を実行する実行手段と、
    前記実行手段による実行に従って当該OA装置において前記第1の処理を実現すべく機構制御を行う制御手段と、
    前記制御手段による機構制御による第1の処理の結果に応じて、他のOA装置に前記第2の処理をさせる命令列を含む、他のモバイルエージェントを前記ネットワークへ前記モバイルエージェントに含まれる命令列を実行することにより送出する送信手段と
    を備えることを特徴とするOA装置。
  2. 前記モバイルエージェントは符号化されたものであって、前記受信手段は受信したモバイルエージェントを復号化する復号化手段をさらに備えることを特徴とする請求項1記載のOA装置。
  3. 前記モバイルエージェントの命令列の実行に係るデータに対して、前記制御手段による機構制御の結果に対応する変更を加える制御結果獲得手段をさらに備えることを特徴とする請求項1又は2記載のOA装置。
  4. 前記送信手段は、前記符号化手段によって符号化されたモバイルエージェントを、前記ネットワークに接続されている他のOA装置に送信することを特徴とする請求項2又は3記載のOA装置。
  5. 前記OA装置は、画像処理装置であり、前記第1の処理は該画像処理装置における画像処理であることを特徴とする請求項1〜4のいずれか1項記載のOA装置。
  6. 前記OA装置は、画像ファイリング装置であり、前記第2の処理が該画像ファイリング装置における格納処理であることを特徴とする請求項1〜4のいずれか1項記載のOA装置。
  7. 少なくとも1台のクライアントコンピュータと、少なくとも1台のOA装置と、前記クライアントコンピュータ及び前記OA装置の間の通信を実現するためのネットワークとから構成されるOAシステムにおいて、
    前記OA装置は、
    前記ネットワークを介して、前記OA装置において実現可能な第1の処理と、第2の処理とを実行可能な命令列を含む情報から構成されるモバイルエージェントを受信する受信手段と、
    前記受信手段が受信したモバイルエージェントの命令列を実行する実行手段と、
    前記実行手段による実行に従って当該OA装置において前記第1の処理を実現すべく機構制御を行う制御手段と、
    前記制御手段による機構制御による第1の処理の結果に応じて、別のOA装置に前記第2の処理をさせる命令列を含む、他のモバイルエージェントを前記ネットワークへ前記モバイルエージェントに含まれる命令列を実行することにより送出する送信手段と
    を備えることを特徴とするOAシステム。
  8. ネットワークに対してデータの送信及び受信を行うインターフェース手段を有するOA装置の制御方法において、
    前記ネットワークを介して、前記OA装置において実現可能な第1の処理と、第2の処理とを実行可能な命令列を含むモバイルエージェントを受信するステップと、
    前記受信するステップで受信したモバイルエージェントの命令列を実行するステップと、
    前記実行するステップでの実行に従って当該OA装置において前記第1の処理を実行すべく機構制御を行うステップと、
    前記機構制御を行うステップでの機構制御による第1の処理の結果に応じて、別のOA装置に前記第2の処理をさせる命令列を含む、他のモバイルエージェントを前記ネットワークへ前記モバイルエージェントに含まれる命令列を実行することにより送出するステップと
    を含むことを特徴とするOA装置の制御方法。
  9. 前記モバイルエージェントは符号化されたものであって、前記受信するステップで受信したモバイルエージェントを復号化するステップをさらに備えることを特徴とする請求項8記載のOA装置の制御方法。
  10. 前記モバイルエージェントの命令列の実行に係るデータに対して、前記機構制御のステップでの機構制御の結果に対応する変更を加えるステップを含むことを特徴とする請求項8又は9記載のOA装置の制御方法。
  11. 前記送信するステップでは、前記符号化されたモバイルエージェントを、前記ネットワークに接続されている他のOA装置に送信するステップを含むことを特徴とする請求項9又は10記載のOA装置の制御方法。
  12. 前記OA装置は、画像処理装置であり、前記第1の処理は該画像処理装置における画像処理であることを特徴とする請求項8〜11のいずれか1項記載のOA装置の制御方法。
  13. 前記OA装置は、画像ファイリング装置であり、前記第2の処理が該画像ファイリング装置における格納処理であることを特徴とする請求項8〜11のいずれか1項記載のOA装置の制御方法。
  14. OA装置における画像処理をひとつのタスクとして実行する実行手段と、
    前記実行手段が前記画像処理をひとつのタスクとして実行中に、前記OA装置における復帰可能なエラーの状態を検知した場合、前記タスクのエラーを外部に通知するための派生タスクを生成する指示を行う生成指示手段と、
    前記エラーの状態が解除されたことを認識する認識手段とを備え、
    前記実行手段は、前記認識手段がエラーの状態の解除を認識した場合には、前記タスクの実行を再開し、前記派生タスクは、前記エラー状態を通知する処理を含み、
    前記OA装置と通信可能な別のOA装置において前記派生タスクを実行させるべく、前記派生タスクを転送する転送手段を備えることを特徴とするOA装置。
  15. OA装置における画像処理をひとつのタスクとして実行するステップと、
    前記実行するステップで前記画像処理をひとつのタスクとして実行中に、前記OA装置における復帰可能なエラーの状態を検知した場合、前記タスクのエラーを外部に通知するための派生タスクを生成する指示を行うステップと、
    前記エラーの状態が解除されたことを認識するステップとを備え、
    前記認識するステップでエラーの状態の解除を認識した場合には、前記実行するステップで、前記タスクの実行を再開し、前記派生タスクは、前記エラー状態を通知する処理を含み、前記OA装置と通信可能な別のOA装置において前記派生タスクを実行させるべく、前記派生タスクを転送するステップをさらに備えることを特徴とするOA装置の制御方法。
  16. 請求項15に記載のOA装置の制御方法を実行するプログラムを格納することを特徴とするコンピュータ読取り可能な記憶媒体。
JP23008698A 1998-07-31 1998-07-31 Oa装置、oaシステム、制御方法及び記憶媒体 Expired - Fee Related JP3689564B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP23008698A JP3689564B2 (ja) 1998-07-31 1998-07-31 Oa装置、oaシステム、制御方法及び記憶媒体
US09/363,025 US7054899B1 (en) 1998-07-31 1999-07-29 Application of mobile agent in a workflow environment having a plurality of image processing and/or image forming apparatuses
EP99306055A EP0977119A3 (en) 1998-07-31 1999-07-30 Office apparatus, network system, control method, and memory medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP23008698A JP3689564B2 (ja) 1998-07-31 1998-07-31 Oa装置、oaシステム、制御方法及び記憶媒体

Publications (2)

Publication Number Publication Date
JP2000047772A JP2000047772A (ja) 2000-02-18
JP3689564B2 true JP3689564B2 (ja) 2005-08-31

Family

ID=16902340

Family Applications (1)

Application Number Title Priority Date Filing Date
JP23008698A Expired - Fee Related JP3689564B2 (ja) 1998-07-31 1998-07-31 Oa装置、oaシステム、制御方法及び記憶媒体

Country Status (3)

Country Link
US (1) US7054899B1 (ja)
EP (1) EP0977119A3 (ja)
JP (1) JP3689564B2 (ja)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11282684A (ja) * 1998-03-27 1999-10-15 Canon Inc 画像処理装置、画像処理装置の制御方法、および記憶媒体
JP4383625B2 (ja) 2000-03-16 2009-12-16 キヤノン株式会社 分散処理システム及びその制御方法
JPWO2002027592A1 (ja) * 2000-09-29 2004-02-05 ソニー株式会社 エージェントを用いた情報管理システム
US7408658B2 (en) 2001-12-04 2008-08-05 Hewlett-Packard Development Company, L.P. Generation and usage of workflows for processing data on a printing device
JP2003330732A (ja) * 2002-05-17 2003-11-21 Canon Inc 画像形成装置、制御方法、制御プログラム
DE10245528A1 (de) * 2002-09-30 2004-04-15 OCé PRINTING SYSTEMS GMBH Zugriff auf Datenobjekte mit Hilfe von den Datenobjekten zugeordneten Netzwerkadressen
JP4232499B2 (ja) 2003-03-24 2009-03-04 富士ゼロックス株式会社 指示データ生成装置、指示データ生成方法及び指示データ生成プログラム
JP4402370B2 (ja) * 2003-05-14 2010-01-20 キヤノン株式会社 サービス提供装置および情報処理方法
US7496951B2 (en) * 2003-07-15 2009-02-24 Canon Kabushiki Kaisha Network apparatus and control method therefor
US8437020B2 (en) * 2004-05-13 2013-05-07 Sharp Laboratories Of America, Inc. System and method for printer emulation
JP4416592B2 (ja) * 2004-07-20 2010-02-17 財団法人電力中央研究所 監視制御システムおよび監視制御データ入出力プログラム
JP2006202033A (ja) * 2005-01-20 2006-08-03 Fuji Xerox Co Ltd プリンタシステムおよび記録媒体およびインストール方法
US8149448B2 (en) * 2005-08-31 2012-04-03 Sharp Laboratories Of America, Inc. Systems and methods for rapidly creating an image from a document
JP4343916B2 (ja) 2006-03-30 2009-10-14 キヤノン株式会社 情報処理装置、情報処理システム及び情報処理方法
JP5002278B2 (ja) * 2007-02-08 2012-08-15 キヤノン株式会社 リモートコピーシステム、画像形成装置及びその制御方法、並びにプログラム及び記憶媒体
JP5424619B2 (ja) * 2008-11-21 2014-02-26 キヤノン株式会社 ワークフロー実行システム、ワークフロー実行装置およびその制御方法、プログラム、記憶媒体
JP2010148123A (ja) * 2010-01-12 2010-07-01 Canon Inc 画像処理装置および画像処理方法
US9124846B2 (en) * 2012-06-21 2015-09-01 Toshiba Tec Kabushiki Kaisha Mobile device directed multifunction device scanning to cloud storage
JP5701829B2 (ja) * 2012-08-31 2015-04-15 京セラドキュメントソリューションズ株式会社 画像形成装置及び画像形成システム
CN103077230A (zh) * 2013-01-06 2013-05-01 中兴通讯股份有限公司 一种浏览器系统
US9219844B2 (en) * 2013-10-15 2015-12-22 Scrypt, Inc. Intelligent fax retransmission system and method
CN109544122A (zh) * 2018-12-30 2019-03-29 武汉市幸运坐标信息技术有限公司 一种移动办公系统
DE102021209387A1 (de) * 2020-08-26 2022-03-03 Emage Al PTE, Ltd. Ein Proxyinterpreter zur Verbesserung automatisierter Altsysteme

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5495561A (en) * 1993-06-21 1996-02-27 Taligent, Inc. Operating system with object-oriented printing interface
US5603031A (en) 1993-07-08 1997-02-11 General Magic, Inc. System and method for distributed computation based upon the movement, execution, and interaction of processes in a network
JPH07121324A (ja) * 1993-10-27 1995-05-12 Fuji Xerox Co Ltd ジョブ処理実行システム
US5625757A (en) 1993-12-24 1997-04-29 Hitachi, Ltd. Printing system
US5550957A (en) * 1994-12-07 1996-08-27 Lexmark International, Inc. Multiple virtual printer network interface
JPH08263481A (ja) * 1995-03-22 1996-10-11 Hitachi Ltd 電子化文書回覧システム
JPH08314872A (ja) * 1995-05-12 1996-11-29 Hitachi Tohoku Software Kk アプリケーションプログラム間連携処理方法
US5740368A (en) 1995-06-30 1998-04-14 Canon Kabushiki Kaisha Method and apparatus for providing information on a managed peripheral device to plural agents
JPH09179833A (ja) * 1995-12-21 1997-07-11 Fuji Xerox Co Ltd ジョブ処理システム
JPH09231156A (ja) * 1996-02-28 1997-09-05 Nec Corp プログラム受信機能付遠隔実行装置
JPH09325928A (ja) * 1996-06-06 1997-12-16 Fuji Xerox Co Ltd メッセージ通信方法及び装置
JPH09330296A (ja) * 1996-06-12 1997-12-22 Hitachi Ltd 遠隔操作方法及びシステム
JP3460037B2 (ja) * 1996-06-19 2003-10-27 株式会社ケンウッド ディジタル録音装置
JPH1080090A (ja) 1996-08-30 1998-03-24 Asmo Co Ltd 小型電動機の軸受装置
JP3952544B2 (ja) * 1996-09-17 2007-08-01 株式会社東芝 分散システム
US6069707A (en) * 1996-09-20 2000-05-30 Pekelman; Gil System for reproducing a physical color image
JP2001502093A (ja) * 1996-11-14 2001-02-13 ミツビシ・エレクトリック・インフォメイション・テクノロジー・センター・アメリカ・インコーポレイテッド 実行可能コードの移動を含む経路情報方式のエージェントの移動
TW504632B (en) * 1997-03-21 2002-10-01 Ibm Apparatus and method for optimizing the performance of computer tasks using intelligent agent with multiple program modules having varied degrees of domain knowledge
TW360831B (en) * 1997-04-10 1999-06-11 Ibm Mobil objects method for controlling mobile objects, method and apparatus for generating mobile object group, and memory medium for storing program for generating mobile object group
US6441920B1 (en) * 1997-06-04 2002-08-27 Agfa Corporation System and method for output management
JPH1173881A (ja) * 1997-06-27 1999-03-16 Toray Ind Inc プラズマディスプレイパネルの製造方法および製造装置
JPH1155324A (ja) * 1997-07-31 1999-02-26 Fujitsu Ltd コンピュータネットワークの通信システム
JP3320342B2 (ja) * 1997-09-12 2002-09-03 インターナショナル・ビジネス・マシーンズ・コーポレーション 印刷をプリンタ・システムに実行させる方法、印刷実行方法、コンピュータ、及びプリンタ・システム
JPH11161451A (ja) * 1997-09-26 1999-06-18 Hitachi Koki Co Ltd 印刷システム
JPH11282684A (ja) * 1998-03-27 1999-10-15 Canon Inc 画像処理装置、画像処理装置の制御方法、および記憶媒体
JP2000112707A (ja) * 1998-04-07 2000-04-21 Hewlett Packard Co <Hp> 周辺コンポ―ネント監視装置

Also Published As

Publication number Publication date
EP0977119A3 (en) 2000-08-23
JP2000047772A (ja) 2000-02-18
EP0977119A2 (en) 2000-02-02
US7054899B1 (en) 2006-05-30

Similar Documents

Publication Publication Date Title
JP3689564B2 (ja) Oa装置、oaシステム、制御方法及び記憶媒体
US8300253B2 (en) Image forming apparatus, method of controlling image forming apparatus, and memory medium for storing computer program for executing method, with interpreter for control programs that are provided for execution on OS-independent platform
JP4154416B2 (ja) 画像処理装置、画像処理装置の制御方法、および記憶媒体
JP2001265691A (ja) 分散処理システム及びその制御方法
US7167909B2 (en) Service management apparatus for managing service information for services present in network system and apparatus for instructing service management apparatus
US7962475B2 (en) Information processing apparatus for searching for a desired image processing apparatus connected to a network, method for controlling the same, and computer-readable storage medium
JP2008312204A (ja) 画像処理装置、画像処理装置の制御方法、および記憶媒体
JP4522476B2 (ja) 画像処理装置、画像処理装置の制御方法、および記憶媒体
JP4642927B2 (ja) 画像処理装置、画像処理装置の制御方法、および記憶媒体
JP5014095B2 (ja) 複合機
JP4574091B2 (ja) 画像処理装置および方法
JPH09179833A (ja) ジョブ処理システム
JP2010148123A (ja) 画像処理装置および画像処理方法
US7904917B2 (en) Processing fast and slow SOAP requests differently in a web service application of a multi-functional peripheral
JP2007157160A (ja) Tcp/ipリンクおよびトラフィックを選択的に起動する方法、コンピュータ・ネットワーク・システム、およびプログラム記憶デバイス
JP2002314749A (ja) ネットワークデバイス制御装置及び文書入力装置及び分散処理システム
JP2011078114A (ja) 画像処理装置、画像処理装置の制御方法、およびプログラム
JP2011216095A (ja) 画像処理装置、画像処理装置の制御方法、およびプログラム
JP4709004B2 (ja) 画像処理装置及び方法及びプログラム
JP2001109596A (ja) 印刷データ制御装置及び印刷装置
JP2007072899A (ja) 通信装置及びその方法と通信システム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040727

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040927

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050111

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050314

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050613

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20080617

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20090617

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090617

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100617

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110617

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120617

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120617

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130617

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees