(57)【特許請求の範囲】
【請求項１】
外部装置と通信するための通信手段と、
情報を処理する処理手段と、
前記通信手段を介して、前記外部装置より受信した処理対象情報を、前記処理手段で処理するまで処理待ち状態で管理するとともに、前記処理手段で処理した処理対象情報を処理済み状態で管理する管理手段と、
前記管理手段により前記処理済み状態で管理されている処理対象情報から任意の処理対象情報を選択する選択手段と、
前記選択手段により選択された処理対象情報に対して、前記処理手段により新たな処理を実行するように制御する制御手段とを有することを特徴とする情報処理装置。
【請求項２】
前記管理手段が、処理の実行条件が満たされない処理対象情報を処理保留状態で管理することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記受信した処理対象情報をすぐに実行すべきかどうか判断する判断手段と、該判断手段の判断結果に基づいて、当該処理対象情報の管理状態を決定する決定手段とを有することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記処理保留状態の処理対象情報の実行条件を検査する検査手段と、
該検査手段による検査の結果、実行条件が成立した処理対象情報の管理状態を処理待ち状態に変更する変更手段とを有することを特徴とする請求項２に記載の情報処理装置。
【請求項５】
前記処理待ち状態の処理対象情報に優先度を設定する設定手段を有し、前記制御手段が、前記処理待ち状態の処理対象情報の中で、前記優先度の高い処理対象情報の処理を実行するように制御することを特徴とする請求項１に記載の情報処理装置。
【請求項６】
前記処理待ち状態の処理対象情報の管理状態を処理済み状態に変更する変更手段を有することを特徴とする請求項１に記載の情報処理装置。
【請求項７】
前記処理対象情報に関する変更を実行する処理変更手段を有することを特徴とする請求項１に記載の情報処理装置。
【請求項８】
前記処理手段が、印刷または送信のいずれかを実行することを特徴とする請求項１に記載の情報処理装置。
【請求項９】
前記変更が、実行条件、処理の主体、優先度のいずれかの変更を含むことを特徴とする請求項７に記載の情報処理装置。
【請求項１０】
前記処理対象情報に実行条件が付与されていることを特徴とする請求項２に記載の情報処理装置。
【請求項１１】
前記実行条件が、ユーザ指示、処理期限、他の装置の状態のいずれかを含むことを特徴とする請求項１０に記載の情報処理装置。
【請求項１２】
情報を処理する処理工程と、
外部装置と通信するための通信部を介して、前記外部装置より受信した処理対象情報を、前記処理工程で処理するまで処理待ち状態で管理するとともに、前記処理工程で処理した処理対象情報を処理済み状態で管理する管理工程と、
前記管理工程において前記処理済み状態で管理されている処理対象情報から任意の処理対象情報を選択する選択工程と、
前記選択工程で選択された処理対象情報に対して、前記処理工程により新たな処理を実行するように制御する制御工程とを有することを特徴とする情報処理方法。
【請求項１３】
前記管理工程では、処理の実行条件が満たされない処理対象情報を処理保留状態で管理することを特徴とする請求項１２に記載の情報処理方法。
【請求項１４】
前記受信した処理対象情報をすぐに実行すべきかどうか判断する判断工程と、該判断工程の判断結果に基づいて、当該処理対象情報の管理状態を決定する決定工程とを有することを特徴とする請求項１３に記載の情報処理方法。
【請求項１５】
前記処理保留状態の処理対象情報の実行条件を検査する検査工程と、
該検査工程による検査の結果、実行条件が成立した処理対象情報の管理状態を処理待ち状態に変更する変更工程とを有することを特徴とする請求項１３に記載の情報処理方法。
【請求項１６】
前記処理待ち状態の処理対象情報に優先度を設定する設定工程を有し、前記制御工程が、前記処理待ち状態の処理対象情報の中で、前記優先度の高い処理対象情報の処理を実行するように制御することを特徴とする請求項１２に記載の情報処理方法。
【請求項１７】
前記処理待ち状態の処理対象情報の管理状態を処理済み状態に変更する変更工程を有することを特徴とする請求項１２に記載の情報処理方法。
【請求項１８】
前記処理対象情報に関する変更を実行する処理変更工程を有することを特徴とする請求項１２に記載の情報処理方法。
【請求項１９】
前記処理工程では、印刷または送信のいずれかを実行することを特徴とする請求項１２に記載の情報処理方法。
【請求項２０】
前記変更が、実行条件、処理の主体、優先度のいずれかの変更を含むことを特徴とする請求項１８に記載の情報処理方法。
【請求項２１】
前記処理対象情報に実行条件が付与されていることを特徴とする請求項１３記載の情報処理方法。
【請求項２２】
前記実行条件が、ユーザ指示、処理期限、他の装置の状態のいずれかを含むことを特徴とする請求項２１に記載の情報処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数の装置間で交信を行ない、一方の装置が他方の装置から受信した指示にしたがって情報を出力したり、他の装置に必要な処理を依頼したりする情報処理装置及びその方法に関するものである。
【０００２】
【従来の技術】
パーソナルコンピュータ（以後ＰＣと記載する）と呼ばれている情報処理装置は、電子的な情報を扱う機器である。そこで、人間が紙に記載したり、印刷された文書のような現実空間に存在する物理的な情報は、スキャナやデジタルカメラなどの入力機器により、電子的な情報に変換され、初めてＰＣが扱えるものになる。逆に、ＰＣが持つ電子的な情報を、人間が扱えるようにする為には、プリンタやディスプレイのような出力機器により、物理的な情報に変換しなければならない。
【０００３】
一方、上記入出力機器はＰＣの周辺機器であるという考え方から、ＰＣを介した操作・制御が行われ、周辺機器を介して操作・制御することはできない。又、操作・制御に必要な情報はそれぞれのＰＣに都合の良い形で、それぞれのＰＣがあらかじめ持っていなければならない。
【０００４】
（従来技術 1）
図36のように、ＰＣが持つ電子的な情報を、印刷された物理的な情報に変換する為には、ユーザはＰＣとプリンタで次の操作を行うことになる。この場合、ＰＣはプリンタの操作手順などの情報を、プリンタドライバという形であらかじめ持っていなければならない。
【０００５】
ユーザは、ＰＣのプリンタドライバを利用して、印刷指示操作を行う。その後、ＰＣはプリンタに印刷命令を送る。
【０００６】
印刷命令を受け取ったプリンタは、ビジー等でなければ、指示された情報を直ちに印刷する。その後、ユーザは印刷された文書を取りに行く。
【０００７】
ここで、印刷命令は、印刷の対象となる文書情報を含んでいる。また、印刷対象は、プリンタが処理できる形式で記述されていなければならない。
【０００８】
（従来技術 2）
図37のように、サーバの端末として、ＰＣを利用することができる。この場合、Ｘ Windowなどのプロトコルにしたがって、ＰＣはサーバから画面に表示する情報を、１つ１つ受け取り、その指示にしたがって表示している。
【０００９】
（従来技術 3）
図38のように、ＰＣを介すことによって、スキャナで読み込んだ情報を、プリンタに印刷することができる。これにより、擬似的な複写機としてスキャナとプリンタを利用することが可能である。ただし、その為には、スキャナドライバとプリンタドライバをあらかじめインストールし、その両方を組み合わせて使用可能なことを設定しておく必要がある。
【００１０】
この場合、スキャナの画像フォーマットからプリンタの理解できるフォーマットへの変換が必要であれば、ＰＣが変換を行なってからプリンタに送信しなければならない。
【００１１】
【発明が解決しようとする課題】
上記の従来技術では、あるプリンタに、他のプリンタに対する印刷命令を送信したり、他のプリンタに対する印刷命令を受信したプリンタがそのプリンタに印刷命令を送信することはできなかった。
【００１２】
また、印刷命令と併せて、印刷対象情報もＰＣからプリンタに送信する必要があり、印刷対象情報がＰＣ以外の他の機器、場合によってはプリンタ自身にあったとすると、まずＰＣがその情報を他の機器との通信により獲得し、しかる後にプリンタに渡す必要があった。
【００１３】
更に、フォーマットの変換もＰＣのユーザの判断で、必要に応じて行なわなければならない。
【００１４】
また、受信した文書を印刷せずに条件が満たされるまで保留するようなことはできなかった。
【００１５】
【課題を解決するための手段】
上記課題を解決するために、本発明によれば、情報処理装置に、外部装置と通信するための通信手段と、情報を処理する処理手段と、前記通信手段を介して、前記外部装置より受信した処理対象情報を、前記処理手段で処理するまで処理待ち状態で管理するとともに、前記処理手段で処理した処理対象情報を処理済み状態で管理する管理手段と、前記管理手段により前記処理済み状態で管理されている処理対象情報から任意の処理対象情報を選択する選択手段と、前記選択手段により選択された処理対象情報に対して、前記処理手段により新たな処理を実行するように制御する制御手段とを備える。
【００１６】
また、他の態様によれば、情報処理方法に、情報を処理する処理工程と、外部装置と通信するための通信部を介して、前記外部装置より受信した処理対象情報を、前記処理工程で処理するまで処理待ち状態で管理するとともに、前記処理工程で処理した処理対象情報を処理済み状態で管理する管理工程と、前記管理工程において前記処理済み状態で管理されている処理対象情報から任意の処理対象情報を選択する選択工程と、前記選択工程で選択された処理対象情報に対して、前記処理工程により新たな処理を実行するように制御する制御工程とを備える。
【００２５】
【発明の実施の形態】
（実施形態１）
図１は、本実施形態のシステム構成を示す図である。情報処理装置１及び２がネットワークを介して接続されており、通信が可能である。
【００２６】
情報処理装置１において、情報処理装置２内にある情報を必要とする場合、情報処理装置２に情報を送信したい場合、情報処理装置２に指示を行ないたい場合などに、情報処理装置２に対して通信を要求し、必要な情報や指示などを送受信する。
【００２７】
図２は、本実施形態の他のシステム構成を示す図である。情報処理装置１及び２はサブドメインの異なるネットワークに属しているが、通信が可能である。
【００２８】
上述した情報処理装置１及び２は、必要な送受信機能を備えていれば、どのような種類の装置であってもよく、例えば、プリンタ、スキャナ、ＦＡＸ、デスクトップＰＣ、デジタルカメラなどでもよい。
【００２９】
図３は、本実施形態の機能構成図である。
【００３０】
操作部41は、操作情報42に格納されている情報に従って、ユーザの操作に必要な画面の表示などを行う。つまり、ユーザが行った操作や指示は、操作部41により取得され、タスク受信部43に渡される。
【００３１】
操作情報42は、上記操作部41で参照される情報であり、操作部41での動作を規定している。本実施形態では、操作情報42をタスク受信部43で受信された情報を元に、後述する処理実行部47により変更・更新することで、柔軟な操作手順の実現を可能にしている。
【００３２】
例えば、本実施形態で用いられる情報処理装置1以外の機器、情報処理装置2を操作する為の方法の１つには、情報処理装置2の操作情報42を取得して、情報処理装置1の操作情報42を変更・更新する方法がある。
【００３３】
また、他の例では、本実施形態で用いられる情報処理装置1とネットワーク等で接続された、情報処理装置2の存在を検知することで、２つの情報処理装置を組み合わせた新たな機能の実現の可能性を認識し、その機能の操作指示に必要な情報を操作情報42に追加することで、複数機器を組み合わせた機能の操作が可能になる。
【００３４】
タスク受信部43は、前述の操作部41からの情報に加えて、情報処理装置1が置かれた環境の変化や、情報処理装置2等の他の機器からのタスク等を状況の変化として、受信する。例えば、ネットワークで接続されている場合には、ネットワーク上に新たな機器が接続されたことを検知したり、他機器からの印刷指示をタスクとして受信したり、あるいは一定時間の間、何の処理も行われていないこと等の検知も、ここで行われる。その結果、受信した情報を新たなタスクとして、タスクテーブル44に追加する。
【００３５】
上記タスク受信部43は、後述する処理実行部47とともに、異なる機器の間でコミュニケーションを行う為に必要なものである。
【００３６】
タスクテーブル44は、起動条件と内容を持ったタスクを格納しているテーブルである。図6は、タスクテーブル44の一例を表す図である。
【００３７】
図6では、優先すべき順に、テーブルの上位からタスクが格納されていることを示している。タスクテーブル44へのタスクの追加は、前述のタスク受信部43及び後述する処理実行部47により行われ、タスクテーブル44からのタスクの取り出しは、後述するタスク解析部45により行われる。
【００３８】
タスク解析部45は、前述のタスクテーブル44から、最優先タスクを取り出し、そのタスクの目的を解析する。このタスク解析部45により、目的を解析することで、後述するプランニング決定部46及び処理実行部47での効率の悪い処理の実行を避け、最適な処理を行えるようになる。
【００３９】
例えば、図6に示したタスクテーブル44に格納されたタスク63からは、直接的な目的は印刷することあり、最終的には印刷された文書をユーザに渡すことにあると解析される。これにより、もしより効率的な方法で最終目的を達することができれば、印刷を実行することさえ不要であることが理解され、それに従ってプランニングされることになる。また、処理対象の情報も解析の対象となり、例えば、フォーマット変換が必要であることが解析される。
【００４０】
プランニング決定部46は、前述のタスク解析部45の解析結果を受けて、行うべき処理をプランニングする。例えば、図6に示したタスクテーブル44に格納されたタスク63からは、Objectを印刷する前に、機器BからObjectをPULLすることが、実行すべき処理としてプランニングされる。
【００４１】
処理実行部47は、前述のプランニング決定部46により決定された内容に従って、処理、例えば、他の機器への指示等を実行する。この処理実行部47については、実施の形態2以降で更に詳細に説明する。
【００４２】
図４は、本実施形態の処理を実現するための各装置のハードウェア構成図である。
【００４３】
Ｉ／Ｏ201は、装置外部との入出力を行なう。ＣＰＵ202は、プログラムを実行するとともに、装置各部を制御する。ＲＯＭ203は、後述する各フローチャートに対応するＣＰＵ202の実行すべきプログラムや固定データなどを記憶する。ＲＡＭ204は、タスクテーブル44や、操作情報42など、処理の実行中に発生する各種変数や中間データなどを一時的に記憶する。また、ＲＡＭ204に装置外部などからプログラムをロードして記憶させるようにしてもよい。
【００４４】
図5は、本実施形態の全体処理の流れを示したフローチャートである。
【００４５】
本実施形態で用いられる情報処理装置1が起動されると、図6の(ａ)の61のようにステップS51でタスクテーブル44が初期化される。
【００４６】
続く、ステップS52では、前述の操作部41から取得されたユーザが行った操作指示の情報や、環境の変化や、他の機器からのタスク等が状況の変化としてタスク受信部43が受信したかどうかチェックされる。ここで、タスクが受信されたと判断された場合、ステップS53に進み、図6の（ｂ）に示したように、受信情報の解析タスク62が、タスクテーブル44の先頭に追加される。
【００４７】
続く、ステップS54で、実行可能なタスクがタスクテーブル44に存在するかどうかがチェックされ、存在しない場合、ステップS52にもどり、再びタスクの受信がチェックされる。ここで、タスクが存在する場合、ステップS55に進み、最優先のタスクがタスクテーブル44から取り出される。
【００４８】
続く、ステップS56でタスクの目的が解析され、ステップS57で行うべき処理がプランニングされ、決定される。タスクテーブル44が図6の(b)に示した状態の場合、最優先タスク62のANALYZEが取り出され、その目的が受信情報を解析することにあると理解され、解析を実行するようにプランニングされる。
【００４９】
続く、ステップS58で、上記プランニングに従った処理の実行と、必要であれば新たなタスクがタスクテーブル44に追加される。例えば、図6の(b)に示したタスク62のANALYZEからプランニングされた通り、受信情報を解析すると、ユーザが操作部41により指示した内容「Print "contract.doc" from B」が解析され、新たなタスク63のPRINTが図6の(c)のように追加される。
【００５０】
次に、再びステップS52に戻るが、新たなタスクが受信されていないので、そのままステップS54に進み、処理が繰り返される。その結果、前回のステップS58で追加された図6の(c)に示したタスク63のPRINTが取り出され、解析され、プランニングされる。この場合、タスクPRINTを実行する為には、Objectが情報処理装置1に存在しなければならないことが解析され、新たなタスク64のPULLと、そのPULLされたObjectを利用するタスク65のPRINTが図6の(d)のように追加される。
【００５１】
更に、処理が繰り返されると、図6の(d)に示したタスク64のPULLが実行される。タスクPULLの実行内容の詳細な説明については、本発明の重要な要素であるので、実施の形態2以降で詳細に説明する。
【００５２】
更に、処理が繰り返されると、上記タスクPULLの結果取得されたObjectを利用して、図6の(e)で示したタスク65が実行される。
【００５３】
その結果、タスクテーブル44は、図6の(f)で示すように、初期化された時と同じ状態に戻る。
【００５４】
（実施形態２）
図７は、他装置操作の可能な入出力装置の一例を表す図である。
【００５５】
操作部41により実現される操作手順（ＵＩ：User Interfaceの略）は、情報処理装置1自身が元々持っている操作情報42を参照して実行される場合と、ネットワーク等で接続されている他の情報処理装置2から取得された操作情報42を参照して実行される場合がある。
【００５６】
図7に示したユーザの音声による指示71や、操作パネルの画面72を利用した操作対象機器の指定は、情報処理装置1の１実施形態である複写機74自身が元々持っている操作情報42を参照して実行されたものである。
【００５７】
一方、操作パネルの画面73を利用した転送先及び条件の指定は、情報処理装置1の１実施形態である複写機74が、処理実行部47においてタスクPULLを実行した結果、ネットワーク等で接続されている他の情報処理装置2の１実施形態であるＦＡＸ75から取得された操作情報42を元に、更新された複写機74自身の操作情報42を参照して実行されたものである。
【００５８】
また、ＦＡＸ75の操作情報42をあらかじめ複写機74自身が保持し、必要に応じて参照するようにしても良い。
【００５９】
また、ＦＡＸ75の操作情報42をＦＡＸ75以外のサーバ等の機器から、取得するようにしても良い。
【００６０】
ここで、上記情報処理装置1及び情報処理装置2の間の、コミュニケーションの具体的な方法の詳細については、実施形態8以降で説明する。
【００６１】
（実施形態 3）
図８は、複数機器から構成される機能が操作可能な入出力装置の一例を表す図である。
【００６２】
操作部41により実現される操作手順（ＵＩ：User Interfaceの略）は、情報処理装置1自身が元々持っている操作情報42をそのまま参照して実行される場合と、ネットワーク等で接続されている他の情報処理装置2を検知した結果、更新された操作情報42を参照して実行される場合がある。
【００６３】
図8に示した操作パネル81を利用した複写枚数の指定は、情報処理装置1の１実施形態である複写機74自身が元々持っている操作情報42をそのまま参照して実行されたものである。ここで、操作パネルの下部に表示されている「複写」は複写の実行指示を示しており、網掛けの状態で表示されている「送信」は送信処理の実行が不可能であることを示している。
【００６４】
一方、82は操作パネル81と同様の操作パネルを利用した複写枚数の指定であるが、ネットワーク等で接続されている他の情報処理装置2の１実施形態であるＦＡＸ75を検知した結果、利用可能になった機能、送信機能の網掛けを外した表示に更新された複写機74の操作情報42を参照して実行されたものである。
【００６５】
そこで、ユーザが送信機能の実行を選択指示すると、83の送信先指定の表示がされ、送信機能を実行させることができる。以上により、ユーザは近くにある複写機に、送信したい原稿をセットして送信機能の実行を指示するだけで、ネットワーク等で接続された離れた場所のＦＡＸ75の機能を利用して、送信することができる。これは、複写機の文書入力機能と、ＦＡＸの文書送信機能を組み合わせた機能を実現したものである。
【００６６】
また、81のＦＡＸ75が接続されていない状態であっても、あらかじめ83の送信先指定の操作以降の送信操作を行っておき、ＦＡＸ75の接続が検知されると同時に、送信操作内容がＦＡＸ75に伝えられ、この内容にしたがって自動送信されるようにしたり、あるいは84に示したように自動送信前にユーザに確認を求めるようにするといった予約操作も可能である。
【００６７】
また、この例ではＦＡＸ75が接続されていない状態で、実行不可能な送信指示の為の表示「送信」を網掛けで表示していたが、全く表示しないという実施形態も考えられる。
【００６８】
ここで、上記情報処理装置1及び情報処理装置2の間の、コミュニケーションの具体的な方法の詳細については、実施形態8以降で説明する。
【００６９】
（実施形態 4）
図９は、コミュニケーション可能な入出力装置の一例を表す図である。
【００７０】
図９に示した例では、ユーザはデスクトップＰＣのＭｙＤｅｓｋ92に現在自分が居る場所を表示させようと、物理的に離れた場所にある複写機91に指示93をしている。
【００７１】
ユーザが情報処理装置1の１実施形態である複写機91に指示した内容93「<My Desk> に居場所を表示して」は、操作部41によりタスク受信部43に渡され、解析され、プランニングされた結果、処理実行部47によりネットワーク等で接続されている他の情報処理装置2の１実施形態であるＰＣ92への指示タスクINDICATEとして実行される。
【００７２】
ネットワーク等で接続されている他の情報処理装置2の１実施形態であるＰＣ92は、受信部43によりコミュニケーションタスクCOMMUNICATIONを受信し、受信した指示を解析し、プランニングした結果、処理実行部47により画面にメッセージを表示するなどの処理を実行する。
【００７３】
上記情報処理装置1及び情報処理装置2の間の、コミュニケーションの具体的な方法の詳細については、実施形態8以降で説明する。
【００７４】
（実施形態５）
図10は、他装置からの情報取得可能な入出力装置の一例を表す図である。
【００７５】
図10に示した例では、ユーザは装置Ｂ102が持つ情報104 "contract.doc"を、物理的に離れた場所にあるプリンタ101に指示103をすることで、印刷させようとしている。
【００７６】
ユーザが情報処理装置1の１実施形態であるプリンタ101に指示した内容「 Bから "contract.doc" を持ってきて印刷して 」は、操作部41によりタスク受信部43に渡され、解析され、プランニングされた結果、処理実行部47によりネットワーク等で接続されている他の情報処理装置2の１実施形態である装置Ｂ102への情報取得タスクPULLとして実行される。
【００７７】
ネットワーク等で接続されている他の情報処理装置2の１実施形態である装置Ｂ102は、受信部43により情報取得タスクPULLを受信し、受信した指示を解析し、プランニングした結果、処理実行部47により対応する情報104"contract.doc"を送信するなどの処理を実行する。
【００７８】
上記情報処理装置1及び情報処理装置2の間の、コミュニケーションの具体的な方法の詳細については、実施形態8以降で説明する。
【００７９】
（実施形態 6）
図11は、他装置への情報格納可能な入出力装置の一例を表す図である。
【００８０】
図11に示した例では、ユーザはスキャナ111で文書115を読み込んで指示113をすることで、物理的に離れた場所にあるファイリングサーバ112にタイトルやインデックスを付けてファイリングさせようとしている。
【００８１】
ユーザが情報処理装置1の１実施形態であるスキャナ111に指示した内容「Filing to Filing Server, Title, Index Extraction」は、操作部41によりタスク受信部43に渡され、解析され、プランニングされた結果、処理実行部47によりネットワーク等で接続されている他の情報処理装置2の１実施形態であるファイリングサーバ112への情報格納タスクPUSHとして実行される。
【００８２】
ネットワーク等で接続されている他の情報処理装置2の１実施形態であるファイリングサーバ112は、受信部43により情報格納タスクPUSHを受信し、受信した指示を解析し、プランニングした結果、処理実行部47により対応する情報115"contract.doc"をファイリングするなどの処理を実行する。
【００８３】
上記情報処理装置1及び情報処理装置2の間の、コミュニケーションの具体的な方法の詳細については、実施形態8以降で説明する。
【００８４】
（実施形態７）
図12は、他装置への指示可能な入出力装置の一例を表す図である。
【００８５】
図12に示した例では、ユーザはプリンタ121に指示123をすることで、物理的に離れた場所にあるファイリングサーバ122が持っている情報125を、更に物理的に離れたJohn 124に送信させようとしている。
【００８６】
ユーザが情報処理装置1の１実施形態であるプリンタ121に指示した内容「Action:SEND,What:abc.doc,From:Filing Server,To:John」は、操作部41によりタスク受信部43に渡され、解析され、プランニングされた結果、処理実行部47によりネットワーク等で接続されている他の情報処理装置2の１実施形態であるファイリングサーバ122への指示タスクとして実行される。
【００８７】
ネットワーク等で接続されている他の情報処理装置2の１実施形態であるファイリングサーバ122は、受信部43により指示タスクを受信し、受信した指示を解析し、プランニングした結果、処理実行部47により対応する情報125"abc.doc"をJohnにＥｍａｉｌで送信するなどの処理を実行する。
【００８８】
上記情報処理装置1及び情報処理装置2の間の、コミュニケーションの具体的な方法の詳細については、実施形態8以降で説明する。
【００８９】
（実施形態８）
図13は、<COMMUNICATE>タスクの流れを表すフローチャートである。
【００９０】
<COMMUNICATE>タスクとは、任意の装置Ａ、Ｂ間で、ＡがＢと通信する必要がある場合のタスクである。図13は、COMMUNICATE要求を送信する側（ソース側）装置Ａが、COMMUNICATE要求を受信する側（デスティネーション側）装置Ｂとの通信のために実行すべき処理を示している。
【００９１】
まず、ステップS1312で、装置Ａは、装置Ｂにコンタクトし、通信を行なうためのコネクションを確立しようとする。ステップS1313で、レスポンスがあったかをチェックし、なければ、ステップS1314で、レスポンスがないことをユーザあるいは他の関係者に通知する必要があるかを判断する。必要があれば、ステップS1315で、適当な手段／メディアで通知を行なう。ステップS1316で、このタスクをシステムが後で再実行する必要があるかを、システム自身の決定／推論、あるいはユーザの設定により判断する。再実行の必要があれば、ステップS1317で、タスクテーブルに追加し、処理を終了する。再実行が必要なければ、ステップS1318で、タスクを削除し、”failed list”に追加し、処理を終了する。
【００９２】
一方、ステップS1313で、レスポンスがあれば、ステップS1319で、レスポンスが“Will callback”であるかを判断し、そうであれば、装置Ｂが装置Ａに後でコールバックするという意味なので、ステップS1320で、このレスポンスをユーザあるいは他の関係者に通知する必要があるかを判断する。必要があれば、ステップS1321で、適当な手段／メディアで通知を行なう。ステップS1322で、システムは、タスクをタスクテーブルに追加し、後でコールバックがあることを覚えておき、そのコールバックに応答することとして処理を終了する。
【００９３】
ステップS1319で、レスポンスが“Will callback”でなかった場合、ステップS1323で、レスポンスが“Contact later”であるかを判断し、そうであれば、後でコンタクトして欲しいという意味なので、上述したステップS1314以降の処理を行なう。ステップS1323で、レスポンスが“Contact later”でなかった場合は、レスポンスは“ＯＫ”であると想定され、ステップS1324で確認される。もし、“ＯＫ”でなければ、エラーであるので、ステップS1331でエラーメッセージを表示する。
【００９４】
レスポンスが“ＯＫ”の場合、ステップS1325で、現在の動作のために装置Ｂと交渉の必要があるかを判断し、必要であれば、ステップS1326で交渉を実行する。ここで、交渉の対象には、データ交換やプロトコル／バージョン交換のデータフォーマット、正しく通信するために予め必要なその他の情報のデータフォーマットを含むものである。この交渉は、通信のための共通の土台ができあがるまで繰り返される。
【００９５】
ステップS1327で、装置Ａより、通信したい情報が装置Ｂに要求として伝えられる。これに対し、ステップS1328で、レスポンスがあったかをチェックし、レスポンスを受け取ったなら、ステップS1329で、受けとった入力に対して実行すべきアクションがあるかを判断する。ここでのアクションとは、例えば、フォーマットの変換や不要なヘッダの削除等である。また、通信の目的には、印刷、送信、ファイル、音声出力、表示などのアクションが含まれているが、これは、必要なアクションが実行されるべきことを示しており、ステップS1330で、タスクテーブルに追加される。
【００９６】
ステップS1328で、レスポンスがなければ、上述したステップS1314以降の処理を行なう。以上の処理のループは、要求した情報が得られるか、システムが処理を続行できなくなるまで続けられる。
【００９７】
（実施形態９）
図14は、<PULL>タスクの流れを表すフローチャートである。
【００９８】
<PULL>タスクとは、任意の装置Ａ、Ｂ間で、ＡがＢから情報を引き出す必要がある場合のタスクである。図14は、PULL要求を送信する側（ソース側）装置Ａが、PULL要求を受信する側（デスティネーション側）装置Ｂとの通信のために実行すべき処理を示している。
【００９９】
まず、ステップS1412で、装置Ａは、装置Ｂにコンタクトし、通信を行なうためのコネクションを確立しようとする。ステップS1413で、レスポンスがあったかをチェックし、なければ、ステップS1414で、レスポンスがないことをユーザあるいは他の関係者に通知する必要があるかを判断する。必要があれば、ステップS1415で、適当な手段／メディアで通知を行なう。ステップS1416で、このタスクをシステムが後で再実行する必要があるかを、システム自身の決定／推論、あるいはユーザの設定により判断する。再実行の必要があれば、ステップS1417で、タスクテーブルに追加し、処理を終了する。再実行が必要なければ、ステップS1418で、タスクを削除し、”failed list”に追加し、処理を終了する。
【０１００】
一方、ステップS1413で、レスポンスがあれば、ステップS1419で、レスポンスが“Will callback”であるかを判断し、そうであれば、装置Ｂが装置Ａに後でコールバックするという意味なので、ステップS1420で、このレスポンスをユーザあるいは他の関係者に通知する必要があるかを判断する。必要があれば、ステップS1421で、適当な手段／メディアで通知を行なう。ステップS1422で、システムは、タスクをタスクテーブルに追加し、後でコールバックがあることを覚えておき、そのコールバックに応答することとして処理を終了する。
【０１０１】
ステップS1419で、レスポンスが“Will callback”でなかった場合、ステップS1423で、レスポンスが“Contact later”であるかを判断し、そうであれば、後でコンタクトして欲しいという意味なので、上述したステップS1414以降の処理を行なう。ステップS1423で、レスポンスが“Contact later”でなかった場合は、レスポンスは“ＯＫ”であると想定され、ステップS1424で確認される。もし、“ＯＫ”でなければ、エラーであるので、ステップS1431でエラーメッセージを表示する。
【０１０２】
レスポンスが“ＯＫ”の場合、ステップS1425で、現在の動作のために装置Ｂと交渉の必要があるかを判断し、必要であれば、ステップS1426で交渉を実行する。ここで、交渉の対象には、データのやり取りやプロトコル／バージョンのやり取りのためのデータフォーマット、正しく通信するために予め必要なその他の情報を含むものである。この交渉は、通信のための共通の土台ができあがるまで繰り返される。
【０１０３】
ステップS1427で、装置Ａより、引き出したい情報が装置Ｂに要求として伝えられる。これに対し、ステップS1428で、要求した情報が受信できたかをチェックし、要求した情報が得られたなら、ステップS1429で、受けとった入力に対して実行すべきアクションがあるかを判断する。ここでのアクションとは、例えば、フォーマットの変換や不要なヘッダの削除等である。また、情報の引き出しの目的には、印刷、送信、ファイル、音声出力、表示などのアクションが含まれているが、これは、必要なアクションが実行されるべきことを示しており、ステップS1430で、タスクテーブルに追加される。
【０１０４】
ステップS1428で、要求した情報が得られなければ、上述したステップS1414以降の処理を行なう。以上の処理のループは、要求した情報が得られるか、システムが処理を続行できなくなるまで続けられる。
【０１０５】
（実施形態10）
図15は、<PUSH>タスクの流れを表すフローチャートである。
【０１０６】
<PUSH>タスクとは、任意の装置Ａ、Ｂ間で、ＡがＢに情報を渡す必要がある場合のタスクである。図15は、PUSH要求を送信する側（ソース側）装置Ａが、PUSH要求を受信する側（デスティネーション側）装置Ｂとの通信のために実行すべき処理を示している。
【０１０７】
まず、ステップS1512で、装置Ａは、装置Ｂにコンタクトし、通信を行なうためのコネクションを確立しようとする。ステップS1513で、レスポンスがあったかをチェックし、なければ、ステップS1514で、レスポンスがないことをユーザあるいは他の関係者に通知する必要があるかを判断する。必要があれば、ステップS1515で、適当な手段／メディアで通知を行なう。ステップS1516で、このタスクをシステムが後で再実行する必要があるかを、システム自身の決定／推論、あるいはユーザの設定により判断する。再実行の必要があれば、ステップS1517で、タスクテーブルに追加し、処理を終了する。再実行が必要なければ、ステップS1518で、タスクを削除し、”failed list”に追加し、処理を終了する。
【０１０８】
一方、ステップS1513で、レスポンスがあれば、ステップS1519で、レスポンスが“Will callback”であるかを判断し、そうであれば、装置Ｂが装置Ａに後でコールバックするという意味なので、ステップS1520で、このレスポンスをユーザあるいは他の関係者に通知する必要があるかを判断する。必要があれば、ステップS1521で、適当な手段／メディアで通知を行なう。ステップS1522で、システムは、タスクをタスクテーブルに追加し、後でコールバックがあることを覚えておき、そのコールバックに応答することとして処理を終了する。
【０１０９】
ステップS1519で、レスポンスが“Will callback”でなかった場合、ステップS1523で、レスポンスが“Contact later”であるかを判断し、そうであれば、後でコンタクトして欲しいという意味なので、上述したステップS1514以降の処理を行なう。ステップS1523で、レスポンスが“Contact later”でなかった場合は、レスポンスは“ＯＫ”であると想定され、ステップS1524で確認される。もし、“ＯＫ”でなければ、エラーであるので、ステップS1531でエラーメッセージを表示する。
【０１１０】
レスポンスが“ＯＫ”の場合、ステップS1525で、現在の動作のために装置Ｂと交渉の必要があるかを判断し、必要であれば、ステップS1526で交渉を実行する。ここで、交渉の対象には、データ交換やプロトコル／バージョン交換のデータフォーマット、正しく通信するために予め必要なその他の情報のデータフォーマットを含むものである。この交渉は、通信のための共通の土台ができあがるまで繰り返される。
【０１１１】
ステップS1527で、装置Ａより、渡したい情報が装置Ｂに要求として伝えられる。これに対し、ステップS1528で、レスポンスがあったかをチェックし、レスポンスを受け取ったなら、ステップS1529で、受けとった入力に対して実行すべきアクションがあるかを判断する。ここでのアクションとは、例えば、フォーマットの変換や不要なヘッダの削除等である。また、通信の目的には、印刷、送信、ファイル、音声出力、表示などのアクションが含まれているが、これは、必要なアクションが実行されるべきことを示しており、ステップS1530で、タスクテーブルに追加される。
【０１１２】
ステップS1528で、レスポンスがなければ、上述したステップS1514以降の処理を行なう。以上の処理のループは、要求した情報が得られるか、システムが処理を続行できなくなるまで続けられる。
【０１１３】
（実施形態11）
図16は、<INDICATE>タスクの流れを表すフローチャートである。
【０１１４】
<INDICATE>タスクとは、任意の装置Ａ、Ｂ間で、ＡがＢに指示する必要がある場合のタスクである。図16は、INDICATE要求を送信する側（ソース側）装置Ａが、INDICATE要求を受信する側（デスティネーション側）装置Ｂとの通信のために実行すべき処理を示している。
【０１１５】
まず、ステップS1612で、装置Ａは、装置Ｂにコンタクトし、通信を行なうためのコネクションを確立しようとする。ステップS1613で、レスポンスがあったかをチェックし、なければ、ステップS1614で、レスポンスがないことをユーザあるいは他の関係者に通知する必要があるかを判断する。必要があれば、ステップS1615で、適当な手段／メディアで通知を行なう。ステップS1616で、このタスクをシステムが後で再実行する必要があるかを、システム自身の決定／推論、あるいはユーザの設定により判断する。再実行の必要があれば、ステップS1617で、タスクテーブルに追加し、処理を終了する。再実行が必要なければ、ステップS1618で、タスクを削除し、”failed list”に追加し、処理を終了する。
【０１１６】
一方、ステップS1613で、レスポンスがあれば、ステップS1619で、レスポンスが“Will callback”であるかを判断し、そうであれば、装置Ｂが装置Ａに後でコールバックするという意味なので、ステップS1620で、このレスポンスをユーザあるいは他の関係者に通知する必要があるかを判断する。必要があれば、ステップS1621で、適当な手段／メディアで通知を行なう。ステップS1622で、システムは、タスクをタスクテーブルに追加し、後でコールバックがあることを覚えておき、そのコールバックに応答することとして処理を終了する。
【０１１７】
ステップS1619で、レスポンスが“Will callback”でなかった場合、ステップS1623で、レスポンスが“Contact later”であるかを判断し、そうであれば、後でコンタクトして欲しいという意味なので、上述したステップS1614以降の処理を行なう。ステップS1623で、レスポンスが“Contact later”でなかった場合は、レスポンスは“ＯＫ”であると想定され、ステップS1624で確認される。もし、“ＯＫ”でなければ、エラーであるので、ステップS1631でエラーメッセージを表示する。
【０１１８】
レスポンスが“ＯＫ”の場合、ステップS1625で、現在の動作のために装置Ｂと交渉の必要があるかを判断し、必要であれば、ステップS1626で交渉を実行する。ここで、交渉の対象には、データ交換やプロトコル／バージョン交換のデータフォーマット、正しく通信するために予め必要なその他の情報のデータフォーマットを含むものである。この交渉は、通信のための共通の土台ができあがるまで繰り返される。
【０１１９】
続く、ステップS1627では、ユーザが操作部41で行なった操作指示に従って、装置Ａより装置Ｂに、指示が要求として伝えられる。
【０１２０】
これに対し、ステップS1628で、レスポンスがあったかをチェックし、レスポンスを受け取ったなら、ステップS1629で、受けとった入力に対して実行すべきアクションがあるかを判断する。ここでのアクションとは、例えば、フォーマットの変換や不要なヘッダの削除等である。また、通信の目的には、印刷、送信、ファイル、音声出力、表示などのアクションが含まれているが、これは、必要なアクションが実行されるべきことを示しており、ステップS1630で、タスクテーブルに追加される。
【０１２１】
ステップS1628で、レスポンスがなければ、上述したステップS1614以降の処理を行なう。以上の処理のループは、要求した情報が得られるか、システムが処理を続行できなくなるまで続けられる。
【０１２２】
（実施形態12）
図17は、<RESPOND>タスクの流れを表すフローチャートである。
【０１２３】
<RESPOND>タスクとは、COMMUNICATE要求を受信する側（デスティネーション側）装置Ｂが応答する場合のタスクである。図17は、送信側（ソース側）装置Ａから、COMMUNICATE要求(例えばPULL)を受信した装置Ｂが実行すべき処理を示している。
【０１２４】
まず、ステップS1712で、要求がコンタクトであるかをチェックする。そうであれば、装置Ａは装置Ｂと通信を行なうためのコネクションを確立しようとしており、ステップS1713で、ステータスS1に現在のステータスあるいは適当なユーザの設定値を割り当てる。ステップS1314で、ステータスS1が“Very busy”または“Standby”モードであるかをチェックし、そうであれば、ＢはＡの要求に応じられないということなので、ステップS1715で、どのように応答するかを決定する。そのために、ＢがＡにいつでもコールバックできるかを判断し、そうであれば、ステップS1716に進み、“Will callback”と応答する。そうでなければ、ステップS1717で“Contact later”と応答する。これは、ＡがＢに後でコンタクトしなければならないということである。一方、ステップS1714で、ステータスS1が“Very busy”または“Standby”モードでなければ、ＯＫと応答する。応答が済めば、処理を終了する。
【０１２５】
一方、要求の種類がコンタクトではない場合、ステップS1719で、要求の種類が情報の要求であるかを判別する。そうであれば、ステップS1720で、図18につき後述する情報要求型の要求に対する応答を行なう。要求の種類が情報の要求でなければ、ステップS1721で、要求の種類が情報の格納要求であるかを判別する。そうであれば、ステップS1722で、図19につき後述する情報格納要求型の要求に対する応答を行なう。要求の種類が情報の格納要求でなければ、ステップS1723で、要求の種類が指示要求であるかを判別する。そうであれば、ステップS1724で、図20につき後述する指示要求型の要求に対する応答を行なう。要求の種類が指示要求でなければ、ステップS1723で適当な応答を行ない、処理を終了する。
【０１２６】
図18は、情報要求型の要求に対する応答タスクの流れを表すフローチャートである。このフローで説明する処理は、要求の種類が情報要求の場合に起動される処理(図17のステップＳ1720)である。
【０１２７】
まず、ステップS1812で、指示要求を送ってきた機器Ａと、交渉する必要があるかチェックされる。交渉する必要があると判断された場合、ステップS1813に進み、交渉を行う。ここで、交渉の対象には、データのやり取りやプロトコル／バージョンのやり取りのためのデータフォーマット、正しく通信するために予め必要なその他の情報を含むものである。この交渉は、通信のための共通の土台ができあがるまで繰り返される。
【０１２８】
続いて、ステップS1814では要求された情報を取りに行く。ステップS1815では、その結果、要求された情報が見つかったかどうかがチェックされ、見つからなければ、ステップS1816で、返答＝ＮＧを返して終了する。
【０１２９】
また、見つかった場合には、ステップS1817に進み、今すぐ伝送すべきかどうか判断され、すぐに伝送する必要があれば、ステップS2018に進み、データをフォーマットしたり、コンバートしたりする必要があるかを判断し、必要であれば、ステップS1819で、フォーマットやコンバートを行なう。続いて、ステップS1820で、要求された情報を返答として送信し、処理を終了する。一方、すぐに伝送する必要が無ければ、ステップS1821に進み、後でそのデータを送信するためのタスクをタスクテーブルに追加し、ステップS1822で返答＝ＯＫを返して終了する。
【０１３０】
図19は、情報格納型の要求に対する応答タスクの流れを表すフローチャートである。このフローで説明する処理は、要求の種類が情報の格納の場合に起動される処理(図17のステップＳ1722)である。
【０１３１】
まず、ステップS1912で、要求を送ってきた機器Ａと、交渉する必要があるかチェックされる。交渉する必要があると判断された場合、ステップS1913に進み、交渉を行う。ここで、交渉の対象には、データのやり取りやプロトコル／バージョンのやり取りのためのデータフォーマット、正しく通信するために予め必要なその他の情報を含むものである。この交渉は、通信のための共通の土台ができあがるまで繰り返される。
【０１３２】
続いて、ステップS1914ではＡから送信された情報が取得される。ステップS1915では、情報を受け取ったかどうかがチェックされ、受け取れなければ、ステップS1916で、返答＝ＮＧを返して終了する。受け取った場合は、ステップS1917に進み、データをフォーマットしたり、コンバートしたりする必要があるかを判断し、必要であれば、ステップS1918で、フォーマットやコンバートを行なう。続いて、ステップS1919で、返答＝ＯＫを返して終了する。
【０１３３】
図20は、指示型の要求に対する応答タスクの流れを表すフローチャートである。このフローで説明する処理は、要求の種類が指示の場合に起動される処理(図17のステップＳ1724)である。
【０１３４】
まず、ステップS2012で、指示要求を送ってきた機器Ａと、交渉する必要があるかチェックされる。交渉する必要があると判断された場合、ステップS2013に進み、交渉を行う。ここで、交渉には、情報の形式や、変換プロトコルや、バージョンの更新や、その他の情報のタイプの変更に伴うものの調整や、指示内容の具体化などが、例としてあげられる。なお、交渉プロセスは、この処理が起動される前に、既にプランニングされている。
【０１３５】
続いて、ステップS2014では指示情報が解釈され、実際に行うべき処理が決定される。次の、ステップS2015では、その処理が自分自身で実行可能かどうかがチェックされ、実行不可能な場合、返答＝ＮＧを返して終了する。
【０１３６】
また、実行可能な場合には、ステップS2017に進み、今すぐ実行すべきかどうか判断され、すぐに実行する必要が無ければ、ステップS2020に進み、タスクテーブルに、対応する処理の実行を指定するタスクを追加し、返答＝ＯＫを返して終了する。
【０１３７】
一方、すぐに実行する必要があれば、ステップS2018に進み、指示された処理を実行し、その実行結果を返答として返して、終了する。
【０１３８】
（実施形態13）
前出の図10を基に、ＰＵＬＬタスクの例として、情報を引き出して印刷するプル・プリンティング、すなわち、プリント・オン・デマンドの例を説明する。
【０１３９】
図10に示した例では、ユーザはプリンタＡ101に指示103をすることで、プリンタＡと物理的に離れた場所にある装置Ｂ102が持つ情報104 "contract.doc"を引き出して、プリンタＡ101で印刷させることができる。ここで、装置Ｂは、プリンタ、スキャナ、デスクトップ、ファイリングサーバ等である。
【０１４０】
ユーザがプリンタＡ101に指示した内容「Ｂから "contract.doc" を持ってきて印刷して」は、マウス等によるコマンド入力でもよいし、キーボードや音声、デジタイザ、文字認識などによる自然言語の文章入力でもよい。
【０１４１】
ここで、装置ＢがプリンタＡとは異なるタイプのデバイス、例えば、スキャナである場合、情報のフォーマットは、ＴＩＦＦ、ＢＭＰ、ＪＰＥＧなどであり、フォーマットの変換が必要となる。この変換は、装置Ｂ及びプリンタＡのいずれの側で行なってもよく、これにより適当なフォーマットに変換される。一方、例えば、装置Ｂもプリンタであり、かつ装置Ｂの情報がプリンタＡの理解できるフォーマットである場合(例えば、共にＰＣＬプリンタである場合)、変換は不要である。そうでなければ、装置Ｂもプリンタであっても、変換の必要がある。
【０１４２】
なお、プリンタＡもプリンタである必要はなく、ＦＡＸや複写機、ディスプレイなどの他の出力機器であってもよい。
【０１４３】
次に、上述のＰＵＬＬタスクの情報の流れを説明する。図21は、プル・セッションの例を示す図である。ここでは、装置Ａ及びＢを共にプリンタとするが、上述したように、スキャナ、プリンタ、複写機、ＦＡＸ等であってよく、同一のタイプの機器である必要はない。
【０１４４】
装置Ａは図14の処理手順、装置Ｂは図18の処理手順に従う。まず、装置Ａは、装置Ｂにコンタクトし、通信を行なうためのコネクションを確立しようとする(図14のステップS1412)。これに対し、レスポンスがＯＫであった(図14のステップS1424、図18のS1822)とすると、情報(この場合、情報<abc>)についての要求、及び場合によっては必要な情報フォーマットが装置Ｂに送信される(図14のステップS1427)。
【０１４５】
装置Ｂは要求された情報を取りに行き(図18のステップS1814)、必要ならフォーマットを変換して(図18のステップS1819)、要求に対する応答として情報を送信する(図18のステップS1820)。
【０１４６】
装置Ａでは、装置Ｂから情報を引き出すと、ユーザからの指示あるいはシステムの判定により、必要なアクションを実行する。必要なアクションとは、例えば、印刷であり、この場合、プル・プリンティング、すなわち、遠方から情報を引き出して印刷する。換言すれば、プリント・オン・デマンドを実現できる。
【０１４７】
必要なアクションの他の例は、表示であり、この場合、プル・ビューイング、すなわち、遠方から情報を引き出して表示する。換言すれば、ビュー・オン・デマンドを実現できる。必要なアクションの他の例は、音声出力であり、この場合、プル・ヒアリング、すなわち、遠方から情報を引き出して聞くことができる。換言すれば、ヒア・オン・デマンドを実現できる。
【０１４８】
同様に、必要なアクションの他の例として格納、ファイリング、転送等を行なうことができる。ここで、引き出される情報のタイプは何でもよく、例えば、文書、ファイル、電子メール、スケジュール、ステータスレポート、ログ、ボイスメール、電話でもよい。
【０１４９】
（実施形態14）
図22は、プル・セッションの他の例を示す図である。ここでは、図21と同様の手順で、装置Ａから装置Ｂに対して、情報<abc>が要求される。しかしながら、装置Ｂでは、要求された情報を直ちに送らない(図18のステップS1817でNo)。そして、後でそのデータを送信するためのタスクをタスクテーブルに追加し(図18のステップS1821)、返答＝ＯＫを返して終了する(図18のステップS1822)。
【０１５０】
この場合、要求された情報の転送は、新たなセッションを確立し、装置Ｂからの印刷要求として行われる。
【０１５１】
（実施形態15）
図23は、プル・セッションの他の例を示す図である。ここでは、実際に必要な情報の転送に先立って、交渉が行なわれる(図14のステップS1425-1426、図18のステップS1812-1822)。ここでは、装置Ａが引き出すべき情報は、ファイルであり、装置Ａから装置Ｂに対して、まず、ファイルのリストが要求される。これに対し、装置Ｂからファイルのリストが送信される。このリストより、システムが必要な情報を決定し、あるいはユーザが必要な情報を入力指示することにより、装置Ａは、要求すべき情報を決定し、上述の例と同様に、装置Ｂに対して、情報の要求を行なう。
【０１５２】
（実施形態16）
図24は、ヒア・オン・デマンドの例を説明する図である。この例では、“Read out New Mail”が入力される。なお、図24では、この入力のために入力ウィンドウを用いているが、前述の例と同様、音声入力装置、キーボード、デジタイザ等、どのような入力装置でもよい。
【０１５３】
この例では、上述の命令が、小杉にある装置Ａ（ここではプリンタ）に与えられ、出力すべきメールは、下丸子にある装置Ｂ（デスクトップ)にある。ここで、装置Ａ及びＢは、同じ場所にあってもよいし、同一のネットワークドメイン上、あるいは異なるドメイン上にあってもよい。このセッションについて、図25につき説明する。
【０１５４】
図25は、プル・セッションの他の例を示す図である。ここでは、情報のタイプが電子メールであり、要求されるフォーマットが音声であるが、処理手順は、前の例と同様である。
【０１５５】
すなわち、装置Ａが上記の情報（メール)を要求し（図14、ステップS1427）、装置Ｂが要求されたデータを要求されたフォーマット（ここでは、音声フォーマット）に変換し（図18、ステップS1819）、応答する。その後、装置Ａで適切なアクションを実行する。ここでは、適切なアクションは、情報を音声出力することであり、メールの内容が読み上げられる。なお、ここでは、テキストから音声フォーマットへの変換を装置Ｂで行なうとしたが、装置Ｂでは変換できない場合などには、装置Ａで出力に先立って変換を行なうようにしてもよい。
【０１５６】
（実施形態17）
図26は、プルタスクの他の例を説明する図である。この例では、装置Ａに対して命令するのに装置Ｃを用いる。ここでは、装置Ａはディスプレイであり、「僕のスケジュールを見せて」という指示が装置Ｃに発せられる。これは、指示には通信が明示されていないが、ユーザが、装置Ｂ（ユーザのデスクトップ)からスケジュール情報を取り出して、装置Ａに表示させたいということである。
【０１５７】
情報のタイプが、スケジュール情報であるものの、処理手順は、これまでの例と同様である。
【０１５８】
（実施形態18）
図27は、プッシュ・タスクの例を説明する図である。この例では、命令が与えられる装置Ａは、スキャナであり、図27に示された命令は、装置Ａに対して、今朝スキャンした文書を装置Ｂ（ここでは、プリンタ)に送り、かつ、装置Ｂに対して、その文書をすぐに印刷せずに、ホールドするように指示している。このセッションを次に説明する。
【０１５９】
図28は、図27のプッシュ・タスクの例におけるセッションを示す図である。上述したように、ここでは、装置Ａはスキャナであり、装置Ｂはプリンタである。
【０１６０】
装置Ａは図15の処理手順、装置Ｂは図19の処理手順に従う。まず、装置Ａは、装置Ｂにコンタクトし、通信を行なうためのコネクションを確立しようとする(図15のステップS1512)。これに対し、レスポンスがＯＫであった(図15のステップS1524、図17のS1718)とする。
【０１６１】
次に、情報(この場合、情報<abc>)の伝送を要求する。この要求の種類は、情報格納型であるので、装置Ｂは図19の処理手順に従う。そして、交渉(図15のステップS1526、図19のS1913)により、装置Ｂは、伝送される情報のフォーマット（<xyz>)を装置Ａに要求する。
【０１６２】
装置Ａは、必要ならフォーマットを変換して、要求した情報を送信する(図15のステップS1527)。装置Ｂは、データを受信すると、送信側、ユーザ、装置自身のいずれかの決定により、必要なアクションを行なう。このアクションは、例えば、フォーマット変換、ファイリング、索引作成、データ抽出、タイトル抽出等である。この例での必要なアクションは、受け取った文書をすぐに印刷せずに、ホールドすることである。
【０１６３】
（実施形態19）
図29は、プッシュタスクの例を示す図である。
【０１６４】
ここでは、装置Ａはスキャナであり、装置Ｂ（スキャナ）及び装置Ｃ（ファイリングサーバ)に対して、情報をプッシュして、受信側に、文書をファイルして、タイトルとインデックスを抽出するように要求する。
【０１６５】
具体的な手順は、実施形態18と同様である。装置Ａ、Ｂ間のセッションを図30につき、説明する。装置Ａ、Ｃ間も同様である。但し、装置Ａ、Ｂ間の通信と装置Ａ、Ｃ間の通信とは、並行に行なわれる。
【０１６６】
図30は、プッシュ・セッションの例を示す図である。ここでは、装置Ａ及びＢはスキャナである。
【０１６７】
データが装置Ｂで受信されると、装置Ｂは、必要なアクションを行なう。この場合、装置Ａが関連する実行すべきアクションを指定する情報を送信している。ここでは、そのアクションは、ファイルして、タイトルとインデックスを抽出することである。ここでは、アクションは、装置Ａから指示されているが、装置Ｂが決定してもよいし、受け取ったアクションを破棄してもよい。
【０１６８】
（実施形態20）
図31は、プッシュ・タスクの他の例であるメールの送信の例を示す図である。
【０１６９】
ここでは、小杉にある装置Ａ（プリンタ)から、ニューヨークにある装置Ｂ（JohnのＰＣ、装置Ａとはネットワークのサブドメインが異なる）へ“Get design from Bill”というメールを送ろうとしている。
【０１７０】
メールの送信は、以下のいずれの方法によってもよい。まず、装置Ａ自身にメールを送信する機能がある場合は、自分で送信を行なう。そうでなければ、ネットワーク上の他の装置、例えばメールサーバにメールの情報を送って、そのメールの送信を依頼する。
【０１７１】
（実施形態21）
前述の図9につき、指示タスクINDICATEの流れを説明する。
【０１７２】
ユーザはデスクトップＰＣのＭｙＤｅｓｋ92に現在自分が居る場所を表示させようと、物理的に離れた場所にある複写機91に指示93を与えている。
【０１７３】
ユーザが情報処理装置1の１実施形態である複写機91に指示した内容93「<My Desk>に、居場所を表示して」は、操作部41によりタスク受信部43に渡され、解析され、プランニングされた結果、処理実行部47によりネットワーク等で接続されている他の情報処理装置2の１実施形態であるＰＣ92への指示タスクINDICATEとして実行される。
【０１７４】
ネットワーク等で接続されている他の情報処理装置2の１実施形態であるＰＣ92は、受信部43により指示情報を受信し、受信した指示を解析し、プランニングした結果、処理実行部47により画面に「会議中です（下丸子A111会議室)」のように居場所を表示するなどの処理を実行する。
【０１７５】
情報処理装置1及び情報処理装置2の間のセッションごとの情報の流れを図32で説明する。
【０１７６】
図32は、指示タスクINDICATEにおける情報処理装置1の１実施例である複写機、及び情報処理装置2の１実施例であるＰＣの間のセッションごとの情報の流れを表した図である。
【０１７７】
処理手順は、送信側は図16に、受信側は図20に従う。ここでは、通信内容は、指示とその指示に対応する処理の処理対象情報であるが、情報の流れは、上述したプッシュタスクの場合と同様である。
【０１７８】
機器Ａからの指示希望に対して、機器Ｂは自分が理解可能な指示のタイプとして、<xyz>typeを送信する。その情報を受けた機器Ａは必要に応じて指示情報を変換する。
【０１７９】
その後、実際の指示の情報として、この例の場合、現在会議を行っているという事実、及び現在いる場所を、ＰＣの画面上に表示するように、指示と必要な情報をまとめて機器Ｂに送信する。
【０１８０】
情報を受け取った機器Ｂは、情報に応じて必要な処理を行った後、指示された通りに画面にユーザの居場所を表示する。
【０１８１】
（実施形態22）
前述の図7につき、指示タスクINDICATEの他の例を説明する。
【０１８２】
ユーザは新川崎にあるＦＡＸ75に送信される、鈴木さんからの書類を、小杉にある豊田さんのプリンタ77に転送するように、ＦＡＸ75を設定する為に、物理的に離れた場所にある複写機74に指示71を与えている。
【０１８３】
ユーザが情報処理装置1の１実施形態である複写機74に指示した内容71「鈴木さんから書類が来たら豊田さんに回しておく様に、MyFAXに伝えてくれる？」は、操作部41によりタスク受信部43に渡され、解析され、プランニングされた結果、処理実行部47によりネットワーク等で接続されている他の情報処理装置2の１実施形態であるＦＡＸ75への指示タスクINDICATEとして実行される。
【０１８４】
ネットワーク等で接続されている他の情報処理装置2の１実施形態であるＦＡＸ75は、受信部43により指示情報を受信し、受信した指示を解析し、プランニングした結果、処理実行部47により条件設定を変更するなどの処理を実行する。情報処理装置1及び情報処理装置2の間のセッションごとの情報の流れは図33で説明する。
【０１８５】
図33は、指示タスクINDICATEの他の例における情報処理装置1の１実施例である複写機、及び情報処理装置2の１実施例であるＦＡＸの間のセッションごとの情報の流れを表した図である。
【０１８６】
処理手順は、送信側は図16に、受信側は図20に従う。情報の流れは、上述した例の場合と同様である。
【０１８７】
まず、機器Ａが指示希望に対して、機器Ｂは自分が理解可能な指示のタイプとして、<xyz>typeを送信する。その情報を受けた機器Ａは必要に応じて指示情報を変換する。
【０１８８】
その後、実際の指示の情報として、この例の場合、鈴木さんからユーザ宛ての書類が来たら、豊田さんに転送するように、指示と必要な情報をまとめて機器Ｂに送信する。
【０１８９】
情報を受け取った機器Ｂは、情報に応じて必要な処理を行った後、指定された条件を設定する。
【０１９０】
（実施形態23）
図12につき、指示タスクINDICATEの他の例を説明する。
【０１９１】
ユーザは、ファイリングサーバ122に、格納されている文書125 "abc.doc"をJohn124に送るように指示する為に、物理的に離れた場所にあるスキャナ121に指示123をしている。
【０１９２】
ユーザが情報処理装置1の１実施形態であるプリンタ121に指示した内容123「Action:SEND,What:abc.doc,From:Filing Server,To:John」は、操作部41によりタスク受信部43に渡され、解析され、プランニングされた結果、処理実行部47によりネットワーク等で接続されている他の情報処理装置2の１実施形態であるファイリングサーバ122への指示タスクINDICATEとして実行される。
【０１９３】
ネットワーク等で接続されている他の情報処理装置2の１実施形態であるファイリングサーバ372は、受信部43により指示情報を受信し、受信した指示を解析し、プランニングした結果、処理実行部47により文書を送信するなどの処理を実行する。
【０１９４】
情報処理装置1及び情報処理装置2の間のセッションごとの情報の流れは図34で説明する。
【０１９５】
図34は、情報処理装置1の１実施例であるスキャナ、及び情報処理装置2の１実施例であるファイリングサーバの間のセッションごとの情報の流れを表した図である。処理手順は、送信側は図16に、受信側は図20に従う。情報の流れは、上述した例の場合と同様である。
【０１９６】
装置Ａからの指示をしたいという希望に対して、装置Ｂは自分が理解可能な指示のタイプとして、<xyz>typeを送信する。その情報を受けた装置Ａは必要に応じて指示情報を変換する。
【０１９７】
その後、実際の指示の情報として、この例の場合、ファイリングサーバが持っている文書"abc.doc"をJohnに送信するように、指示と必要な情報をまとめて装置Ｂに送信する。
【０１９８】
情報を受け取った装置Ｂは、情報に応じて必要な処理を行った後、送信方法をEmail等最適な方法に決定した後、指示された通りに文書をJohnに送信する。
【０１９９】
（実施形態24）
図35は、他装置の操作手順を利用した操作の流れを表す図である。
【０２００】
図12につき説明した実施形態23では、ユーザが、ファイリングサーバ122に、格納されている文書125 "abc.doc"をJohnのデスクトップ124に送るように指示する為に、物理的に離れた場所にあるプリンタ121に指示をして、その内容をスキャナ121が解釈して、指示タスクINDICATEを実行させていた。
【０２０１】
この例では、プリンタ351が、ファイリングサーバ352から受信した操作情報353を表示し、その表示に従ってユーザが操作をし、その操作した情報をファイリングサーバ352に送信することで、実施形態23と同じ目的を実現している。
【０２０２】
ユーザが、情報処理装置1の１実施形態であるプリンタ351に、ファイリングサーバ352の操作を希望していることを指示すると、プリンタ351は、プランニング決定部46で、ファイリングサーバ352の操作手順353を実現するために必要な操作情報を取得すべきであるとプランニングする。そこで、処理実行部47により、ネットワーク等で接続されている他の情報処理装置2の１実施形態であるファイリングサーバ352への情報取得タスクPULLとして実行される。
【０２０３】
ネットワーク等で接続されている他の情報処理装置2の１実施形態であるファイリングサーバ352は、受信部43により情報要求情報を受信し、受信した要求を解析し、プランニングした結果、処理実行部47により操作情報353を送信するなどの処理を実行する。
【０２０４】
ファイリングサーバ352から操作情報353を受信したスキャナ351の操作部41には画面が設けられており、操作部41により操作情報353に対応するファイリングサーバ352の操作手順を画面表示する。
【０２０５】
表示された操作画面に従って、行われたユーザの操作による情報は、前述と同じような流れで、ファイリングサーバ352に送信される。ユーザの操作を受信したファイリングサーバ352は、その操作を解釈して必要な処理を実行し、その結果ユーザの目的であるファイル"abc.doc"のJohnへの送信が可能になる。
【０２０６】
上記説明では、ファイリングサーバ352の操作手順を実現する為の操作情報353を、ファイリングサーバ352自身が送信しているが、操作情報353を管理する操作情報サーバを用意し、そこから受信するようにしても良い。あるいは、情報処理装置1の１実施形態であるプリンタ351と同じように、以前にファイリングサーバ352の操作情報353を受信した、第３の情報処理装置から受信しても良い。また、上記のプリンタ351に代えてスキャナを用いてもよい。
【０２０７】
（実施形態25）
図39は、印刷JOBの3種類の状態への変化と、それぞれの状態に対応した処理の関係を表す図である。
【０２０８】
情報処理装置1の１実施形態である出力装置（プリンタ）は、ユーザが印刷を指示した文書等を含んだ印刷JOBを受信する。
【０２０９】
まず、入力JOB判定部391により、受信した印刷JOBが、すぐに印刷を実行すべきものなのか、実行条件が成立するまで保留すべきものなのかを判断し、保留JOB管理部392または出力待ちJOB管理部394に渡す。
【０２１０】
保留JOB管理部392では、受け取った印刷JOBを保留JOBとして保留JOBテーブル393に保存し、逆に保留JOBテーブル393に保存されている保留JOBで実行条件が成立しているJOBがないかチェックし、あれば保留JOBテーブル393から取り出す。取り出された実行条件が成立した保留JOBは、出力待ちJOB管理部394に渡される。
【０２１１】
出力待ちJOB管理部394では、受け取った印刷JOBを出力待ちJOBとして出力待ちJOBテーブル395に保存し、逆に出力部396での出力が可能になった時に、出力待ちJOBテーブル395に保存されている出力待ちJOBを取り出し、出力部396に渡す。
【０２１２】
出力部396では、受け取った印刷JOBを実際に印刷し、印刷に成功した場合、印刷済みの印刷JOBを保存する為に、出力済みJOB管理部397に渡す。
【０２１３】
出力済みJOB管理部397では、受け取った印刷済みの印刷JOBを、出力済みJOBとして出力済みJOBテーブル398に保存する。
【０２１４】
以上説明したように、受信した印刷JOBは、３つの状態に変化して処理される。
【０２１５】
なお、保留JOBの実行条件には、ユーザが実行を指示するまで保留するという条件のほかにも、指定した時間になったら印刷するという条件や、印刷の主体が情報処理装置1の１実施形態であるプリンタＡ以外のプリンタの場合には、そのプリンタが印刷可能になったらという条件、などがある。
【０２１６】
図40は、本実施形態の印刷処理の流れを示すフローチャートである。
【０２１７】
情報処理装置1の１実施形態であるプリンタAに、文書"abc.doc"をプリンタA自身、又はプリンタA以外のプリンタで印刷するように指示されたことで、実行される印刷タスク「PRINT(A,"abc.doc")」、又は「PRINT(not A,"abc.doc")」の印刷処理の流れを表したものである。
【０２１８】
印刷タスクPRINTが起動されると、まずステップS4001で印刷対象の印刷JOBに、実際に印刷を行うべき文書が含まれているかどうかチェックし、印刷を行うべき文書が無い場合ステップS4002に進む。
【０２１９】
ステップS4002では、上記文書が、図39で説明した保留JOBテーブル393、出力待ちJOBテーブル395、出力済みJOBテーブル398に保存されている印刷JOBに含まれる文書にあるかどうか検索し、続くステップS4003で文書が見つからなかったと判断された場合、ステップS4004に進む。
【０２２０】
ステップS4004では、他の情報処理装置2から上記文書を取得する為に、情報取得タスクPULLを実行し、続くステップS4005で文書を取得成功と判断された場合、ステップS4006に進み、取得に失敗した場合ステップS4016に進み、エラー表示とその他の必要な処理を行った後、処理を終了する。
【０２２１】
ステップS4006では、印刷対象の文書が、情報処理装置1の１実施形態であるプリンタA、又はプリンタA以外のプリンタで印刷可能な記述かどうかがチェックされる。その結果、プリンタ記述言語などへの変換が必要と判断された場合、ステップS4007へ進む。
【０２２２】
ステップS4007で、情報処理装置1の１実施形態であるプリンタA自身で変換可能であるかを判断する。変換可能と判断された場合、ステップS4008に進み、印刷文書を変換する。一方、変換不可能と判断された場合、ステップS4009に進み、印刷文書の変換を他の情報処理装置2に指示INDICATEを行なう。ただし、ここで行われる指示INDICATEの結果、他の情報処理装置2は、すぐに変換を行ってその変換結果を返すようにしても良いし、変換しても良いという返事だけを返し、実際の変換は後で印刷を指示された時に行うようにしてもかまわない。
【０２２３】
次のステップS4010では、上記変換結果が成功したかどうか判断し、変換成功の場合ステップS4011に進み、変換失敗の場合ステップS4016に進みエラー表示とその他の必要な処理を行った後、処理を終了する。
【０２２４】
ステップS4011では、情報処理装置1の１実施形態であるプリンタA自身で印刷すべきかどうか判断し、自分自身で印刷すべきと判断した場合、ステップS4012に進み、文書を印刷する。一方、他の情報処理装置2で印刷すべきと判断した場合、ステップS4013に進み、他の情報処理装置2への情報格納タスクPUSHと印刷タスクPRINTを実行する。
【０２２５】
ステップS4014で、印刷が成功したかを判断し、成功したと判断された場合、ステップS4015に進み、印刷JOBを印刷済みJOBとして、出力済みJOBテーブル398に保存し、その他必要な処理を実行して終了する。一方、印刷が失敗したと判断された場合、ステップS4016に進み、エラー表示とその他の必要な処理を行なって処理を終了する。
【０２２６】
なお、ステップS4008で行われる文書の変換とは、通常のテキスト文書をプリンタ記述言語に変換するだけでなく、特定のプリンタ記述言語で記述された文書を、印刷しようとしているプリンタが印刷可能なプリンタ記述言語に変換したり、スキャナやデジタルカメラで読み込まれた画像フォーマットの文書をプリンタ記述言語に変換したり、WWW等で一般的な文書記述言語で書かれた文書をプリンタ記述言語に変換することも含まれる。
【０２２７】
また、ステップS4009で行われる変換の指示INDICATEは、特定のアプリケーションに固有な言語で記述された文書を、プリンタで印刷可能なプリンタ記述言語に変換する為に、対応するアプリケーションを持つ情報処理装置2に変換を指示することや、特定のプリンタに固有な言語で記述された文書を、自分自身で印刷可能なプリンタ記述言語に変換する為に、対応する印刷機能を持つ情報処理装置2に変換を指示することであってもよい。
【０２２８】
図41は、図39及び図40で説明した印刷JOB及び処理の流れと、ユーザの操作との関係を表す図である。
【０２２９】
ユーザが文書"abc.doc"413を、情報処理装置2の１実施形態であるスキャナA411に読み込ませ、指示「プリンタＢに、"abc.doc"を送って！」414を行った場合、印刷JOBを受信した情報処理装置1の１実施形態であるプリンタＢ412は、"abc.doc"をすぐには印刷せずに保留JOBとして、保留JOBテーブル393に保存する。
【０２３０】
ここで、新たにユーザが上記保留JOBに対して、指示「保留文書を見せて！」415を行なうと、文書"abc.doc"がプリンタＢの操作パネル上に表示される。更に、文書"abc.doc"を指定して削除指示「保留文書を削除して！」416を行なうと、保留JOBテーブル393から指定された文書が削除される。
【０２３１】
また、ユーザが文書"abc.doc"を指定して印刷を指示「保留文書を印刷して！」417すると、文書"abc.doc"は印刷待ちJOBに変わり、印刷待ちJOBテーブル395に保存され、印刷が可能になると実際に印刷418される。
【０２３２】
そこで、印刷が成功すると、文書"abc.doc"は印刷済みJOBに変わり、印刷済みJOBテーブル398に保存される。さらに、ユーザが印刷済み文書の文書"abc.doc"を指定して、削除指示「印刷済み文書を削除して！」419を行なうと、印刷済みJOBテーブルから文書が削除される。
【０２３３】
図42は、図39で説明した３種類の状態にある印刷JOBを、ユーザが操作する為の表示画面の一例を示す図である。
【０２３４】
ユーザが行った操作や、他の情報処理装置2からの指示や、情報処理装置1自身が行った処理の結果により、上記３状態の印刷JOBは任意に操作され、新たなタスクとしてタスクテーブル399に追加される。
【０２３５】
例えば、図42の操作画面を利用することで、ユーザは保留JOBテーブル393, 4201に保存されている印刷JOBを削除4206したり、別のプリンタで印刷するように送信4208したり、今すぐに印刷するように指示することが可能である。また、出力待ちJOBテーブル395,4202に保存されている印刷JOBの優先度を高め4210、最優先で印刷するようにしたり、出力済みJOBテーブル398,4203に保存されている印刷JOBを再び印刷4204するように指示することも可能である。
【０２３６】
なお、本発明は、上記実施形態の機能が実現できる範囲において、複数の機器（例えばコンピュータ本体、インターフェイス機器、ディスプレイなど）から構成されるシステムに適用しても、単一の機器からなる装置に適用してもよい。
【０２３７】
また、前述した実施形態の機能を実現するように各種デバイスを動作させることを目的として、該各種デバイスと接続された装置あるいはシステム内のコンピュータに、前述した実施形態の機能を実現するソフトウェアのプログラムコードを供給し、供給されたプログラムにしたがって、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）により、前記各種デバイスを動作させることによって実施したものも、本願発明の範囲に含まれる。またこの場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコード自体、そのプログラムコードをコンピュータに供給する手段、例えばかかるプログラムコードを記憶した記憶媒体は、本発明を構成することになる。
【０２３８】
かかるプログラムコードを供給する為の記憶媒体としては、例えば、フロッピーディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を使用できる。
【０２３９】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）、あるいは他のアプリケーションソフトなどと協働して前述の実施形態の機能が実現される場合にも、かかるプログラムコードは本願発明の範囲に含まれることは言うまでもない。
【０２４０】
更に、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０２４１】
本願発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するプログラムコードを格納すればよい。
【０２４２】
【発明の効果】
以上説明したように、本発明によれば、情報処理装置が、他の出力装置に対する命令を扱えるので、例えば、他の出力装置による出力のために、フォーマットの変換や、処理対象情報の取得などの前処理を行なうことができるという効果がある。
【０２４３】
また、受信した情報を処理せずに保留状態にすることができるので、例えば、処理順序の変更や、処理せずに削除するなどの処理を行なうこともできるという効果がある。
【０２４４】
また、必要に応じて、出力側で、処理対象情報を、装置内や外部の装置から確保して処理することができるという効果がある。
【０２４５】
また、必要に応じて、出力側で、フォーマットの変換も装置内で行なったり、外部装置に依頼したりすることができるという効果がある。
【図面の簡単な説明】
【図１】実施形態のシステム構成を表す図である。
【図２】実施形態の他のシステム構成を表す図である。
【図３】実施形態の機能構成を示す図である。
【図４】実施形態の各装置のハードウェア構成を表す図である。
【図５】実施形態の全体処理の流れを示したフローチャートである。
【図６】タスクテーブルの一例を表す図である。
【図７】他装置操作の可能な入出力装置の一例を表す図である。
【図８】複数機器から構成される機能が操作可能な入出力装置の一例を表す図である。
【図９】コミュニケーション可能な入出力装置の一例を表す図である。
【図１０】他装置からの情報取得可能な入出力装置の一例を表す図である。
【図１１】他装置への情報格納可能な入出力装置の一例を表す図である。
【図１２】他装置への指示可能な入出力装置の一例を表す図である。
【図１３】  <COMMUNICATE>タスクの流れを表すフローチャートである。
【図１４】  <PULL>タスクの流れを表すフローチャートである。
【図１５】  <PUSH>タスクの流れを表すフローチャートである。
【図１６】  <INDICATE>タスクの流れを表すフローチャートである。
【図１７】  <RESPOND>タスクの流れを表すフローチャートである。
【図１８】情報要求型の要求に対する応答タスクの流れを表すフローチャートである。
【図１９】情報格納型の要求に対する応答タスクの流れを表すフローチャートである。
【図２０】指示型の要求に対する応答タスクの流れを表すフローチャートである。
【図２１】プル・セッションの例を示す図である。
【図２２】プル・セッションの他の例を示す図である。
【図２３】プル・セッションの他の例を示す図である。
【図２４】ヒア・オン・デマンドの例を説明する図である。
【図２５】プル・セッションの他の例を示す図である。
【図２６】プルタスクの他の例を説明する図である。
【図２７】プルタスクの他の例を説明する図である。
【図２８】プルタスクの他の例におけるセッションを示す図である。
【図２９】プッシュタスクの例を示す図である。
【図３０】プッシュ・セッションの例を示す図である。
【図３１】メールの送信の例を示す図である。
【図３２】指示タスクINDICATEのセッションの例を表す図である。
【図３３】指示タスクINDICATEのセッションの他の例を表す図である。
【図３４】指示タスクINDICATEのセッションの他の例を表す図である。
【図３５】他装置の操作手順を利用した操作の流れを表す図である。
【図３６】ＰＣがプリンタに印刷命令を送る例を示す図である。
【図３７】サーバの端末としてＰＣを利用する例を説明する図である。
【図３８】スキャナとプリンタをＰＣで制御する例を説明する図である。
【図３９】印刷JOBの状態変化と、それぞれの状態に対応した処理の関係を表す図である。
【図４０】印刷処理の流れを示すフローチャートである。
【図４１】印刷JOB及び処理の流れと、ユーザの操作との関係を表す図である。
【図４２】印刷JOBを、ユーザが操作する為の表示画面の一例を示す図である。
【図１】
0004006049.tif 000002
【図２】
0004006049.tif 000003
【図３】
0004006049.tif 000004
【図４】
0004006049.tif 000005
【図５】
0004006049.tif 000006
【図６】
0004006049.tif 000007
【図７】
0004006049.tif 000008
【図８】
0004006049.tif 000009
【図９】
0004006049.tif 000010
【図１０】
0004006049.tif 000011
【図１１】
0004006049.tif 000012
【図１２】
0004006049.tif 000013
【図１３】
0004006049.tif 000014
【図１４】
0004006049.tif 000015
【図１５】
0004006049.tif 000016
【図１６】
0004006049.tif 000017
【図１７】
0004006049.tif 000018
【図１８】
0004006049.tif 000019
【図１９】
0004006049.tif 000020
【図２０】
0004006049.tif 000021
【図２１】
0004006049.tif 000022
【図２２】
0004006049.tif 000023
【図２３】
0004006049.tif 000024
【図２４】
0004006049.tif 000025
【図２５】
0004006049.tif 000026
【図２６】
0004006049.tif 000027
【図２７】
0004006049.tif 000028
【図２８】
0004006049.tif 000029
【図２９】
0004006049.tif 000030
【図３０】
0004006049.tif 000031
【図３１】
0004006049.tif 000032
【図３２】
0004006049.tif 000033
【図３３】
0004006049.tif 000034
【図３４】
0004006049.tif 000035
【図３５】
0004006049.tif 000036
【図３６】
0004006049.tif 000037
【図３７】
0004006049.tif 000038
【図３８】
0004006049.tif 000039
【図３９】
0004006049.tif 000040
【図４０】
0004006049.tif 000041
【図４１】
0004006049.tif 000042
【図４２】
0004006049.tif 000043