JP3884813B2 - 印刷装置及びその方法 - Google Patents
印刷装置及びその方法 Download PDFInfo
- Publication number
- JP3884813B2 JP3884813B2 JP04452597A JP4452597A JP3884813B2 JP 3884813 B2 JP3884813 B2 JP 3884813B2 JP 04452597 A JP04452597 A JP 04452597A JP 4452597 A JP4452597 A JP 4452597A JP 3884813 B2 JP3884813 B2 JP 3884813B2
- Authority
- JP
- Japan
- Prior art keywords
- job
- printing
- user
- information
- 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
Links
Images
Description
【発明の属する技術分野】
本発明は、印刷装置及びその方法に関するものである。
【0002】
【従来の技術】
従来の印刷装置においては、用紙サイズや印刷部数、印刷速度や印字品質など、種々の印刷パラメータの設定を変更することによって、それぞれの目的に応じた印刷を行なうことができるようになってきている。
【0003】
また、ネットワークを介して、複数のユーザがプリンタを共有することが行われている。
【0004】
【発明が解決しようとする課題】
しかしながら、印刷パラメータの決定要因には、緊急性、経済性、印字品質など、場合によっては相反する要素もあり、設定すべきパラメータも多数になってきており、一般ユーザが適切なパラメータを設定するのは、困難になってきている。また、適切なパラメータの値がわかるとしても、それを1つずつ設定するのは、操作が煩雑である。また、デフォルト値を用いれば、複雑な設定操作を必要としないが、個々の文書にとって、最適なパラメータを設定することはできない。
【0005】
また、複数のユーザが1台のプリンタを共有する場合、自分の出力した文書と他のユーザの出力した文書とが混じってしまうので、例えば、2人がそれぞれ複数の文書を出力した場合には、出力結果の仕分けを行なう必要があった。また、出力トレイに文書が残っている場合に、誰が出力したものかは内容を調べなければならなかった。
【0006】
【課題を解決するための手段】
上記課題を解決するために、本発明によれば、印刷装置に、印刷対象情報と第1の印刷パラメータに対する制約条件とを含む情報を受信する受信手段と、受信した前記印刷対象情報と第2の印刷パラメータとに基づく印刷結果のシミュレートを、第2の印刷パラメータを評価の最も高い値から順次低下させながら繰り返し実行するシミュレート手段と、前記シミュレート手段により繰り返し実行されるシミュレートの結果のそれぞれが前記第1の印刷パラメータに対する制約条件を満たすかを判定する判定手段と、前記シミュレートの結果が前記制約条件を満たすと初めて判定された際の第2の印刷パラメータの値を設定する設定手段と、該設定手段により設定された前記第2の印刷パラメータの値に基づいて、受信した前記印刷対象情報を印刷する印刷手段とを備える。
【0008】
また、他の態様によれば、印刷方法に、印刷対象情報と第1の印刷パラメータに対する制約条件とを含む情報を受信する受信工程と、受信した前記印刷対象情報と第2の印刷パラメータとに基づく印刷結果のシミュレートを、第2の印刷パラメータを評価の最も高い値から順次低下させながら繰り返し実行するシミュレート工程と、前記シミュレート工程において繰り返し実行されるシミュレートの結果のそれぞれが前記第1の印刷パラメータに対する制約条件を満たすかを判定する判定工程と、前記シミュレート結果が前記制約条件を満たすと初めて判定された際の第2の印刷パラメータの値を設定する設定工程と、該設定工程により設定された前記第2の印刷パラメータの値に基づいて、受信した前記印刷対象情報を印刷する印刷工程とを備える。
【0010】
【発明の実施の形態】
〔実施形態1〕
図1は本実施形態のシステム構成図であり、ネットワークに接続された複数の装置をあらわしている。この中で101はパーソナルコンピュータ(PC)、102はスキャナ、103はカラープリンタ、104はモノクロプリンタを表わしている。
【0011】
本実施形態では、複数の装置が接続されたシステム(図1の場合はネットワークに接続されている)において、ある装置にJOBの実行が指示された場合に、JOBの内容より、その目的を解析し、自分が実行すべきJOBは何であるかを理解する。理解した結果、実行すべきJOBに必要な情報を取得し、実行する。JOBを実行する際に、指示された内容よりも効果的な手法や別の装置がある場合には、他の装置に処理を指示したり、その手法をユーザに提案するための通知を行なったりする。
【0012】
また、JOBの内容によっては、指示そのものを拒否することも行なう。
【0013】
ここで、JOBの種類には、利用者の入力操作や他の機器からの実行指示や、これらのJOBを解析した結果や、アイドリング時に自分自身で生成する新たなJOBがある。例えば、スキャナから文書を読みとって、別のプリンタで印刷する場合には、下記のようなJOBが発生する。
▲1▼ユーザがスキャナにセットした文書について、スキャナへの指示の内容の解析▲2▼スキャナがユーザから受け取った指示(及び文書がセットされたこと)を解析して生成した、文書の読取り・解析処理と、読取った文書を印刷する為のプリンタへの指示処理
▲3▼スキャナが指示処理にしたがって生成した、プリンタへの印刷指示
▲4▼プリンタがスキャナから受け取った印刷指示を解析して生成した、印刷処理
【0014】
このようなJOBの生成管理方法の詳細については、実施形態11以降で説明する。
【0015】
以下では、これらの処理を、複数の装置により実行する手順を、図面に基づいて具体的に説明する。
【0016】
図2は、本実施形態の処理を行うための機能構成図である。JOB受取り部201は、ユーザまたは他の装置からJOBを受取る。受取られたJOBは、JOBテーブル202に登録される。JOB解析部203は、JOBテーブル202に登録されているJOBを取り出して解析する。他機器情報取得部204は、接続している他の機器の属性や現在の状態などを取得する。状況判断部207は、他の機器の現在の状態などから状況を判断する。
【0017】
最適プランニング部210は、JOBの実行に関して最適なプランを立てる。JOB実行判断部206では、JOBを実行するか否か、実行する場合は、自装置で実行するのか、他の機器で実行するのか等を判断する。他の機器で実行する場合は、他機器への指示部205により、他の機器へJOBの実行を指示する。自装置で実行する場合は、JOB実行部209で実行する。実行通知部211は、実行結果や他の機器に実行を指示したことなどをユーザに通知する。
【0018】
図3は、本実施形態の処理を実現するための各装置のハードウェア構成図である。
【0019】
I/O301は、装置外部との入出力を行なう。CPU302は、プログラムを実行するとともに、装置各部を制御する。ROM303は、後述する各フローチャートに対応するCPU302の実行すべきプログラムや固定データなどを記憶する。
【0020】
RAM304は、JOBテーブル202や、他機器情報取得部204で取得した他の機器の属性や現在の状態など、処理の実行中に発生する各種変数や中間データなどを一時的に記憶する。また、RAM304に装置外部などからプログラムをロードして記憶させるようにしてもよい。
【0021】
図4は、本実施形態の処理の流れを示したフローチャートである。
【0022】
まず、ステップS109で、JOBテーブルの内容を初期化する。ステップS110では、利用者からの入力JOBや、システムが検知可能なデバイスなどからの入力JOBや、これらのJOBを解析した結果や、アイドリング時に自分自身で生成した新たなJOBがあるかどうかチェックして、JOBが入力されたかを判定する。入力されれば、ステップS111で、JOBテーブルに入力されたJOBを追加する。ステップS112でJOBテーブルにJOBがあるかを調べ、あれば、ステップS113で、JOBを取り出す。ステップS114では、与えられた指示を解析し、その情報からJOBの目的を解析する。ステップS115では、解析した指示から、更に行なうべきJOBを洗い出す。ステップS116では、ステップS115で洗い出したJOBを登録する。
【0023】
ステップS117では、未実行のJOBがあるかを調べ、あれば、ステップS118に進む。ステップS118では、JOBが実行可能か判断を行い、不可能と判断した場合は、ステップS115に戻り、新たに行わなければならないJOBを洗い出す。ステップS119では、JOBを実行し、ステップS117に戻る。
【0024】
例えば、スキャナから文書を読みとって、別のプリンタで印刷するように、ユーザが指示を与えた場合には、印刷済みの文書を入手することがユーザの目的だと解析される。また、この場合、スキャナがユーザから受け取った情報を解析して生成した、文書の読取り・解析処理と、読取った文書を印刷する為のプリンタへの指示処理がJOBとして洗い出される。これらの詳細な流れの説明については、具体例に基づいて実施形態11以降で説明する。
【0025】
図5は、複数のプリンタから、最適なプリンタを選択して印刷を実行する処理の流れを示した図である。
【0026】
図5においては、ホストコンピュータからの命令や、リモコンなどからの指示として、あるいはユーザが音声で発した自然言語の命令や、カバーページから読み取ったバーコードあるいは文章を解析するなどして、JOB情報が送信・入力される。
【0027】
送信されてきたJOB情報を受取ったデバイスは、JOBを解析し、JOBに適した処理を実行可能なプリンタを自動的に選択して出力を行い、更に通知指示がある場合には通知先に応じた最適なメディアを選択し通知する。
【0028】
そのために、ユーザの要求に対して、プリンタの構成を参照し、適切なプリンタを選択して印刷を実行させる。その際、状況に応じて、複数のプリンタへ処理を振り分けることも行なう。また、通知指示がある場合には、通知に最適なメディアを選択して、印刷を実行したプリンタ名や印刷の終了などを通知する。
【0029】
ユーザの要求としては、用紙サイズ、印字品質、カラー、時間制限(例えば、5時までに印刷したい)などがある。また、プリンタの構成としては、プリンタの種類と台数、性能、現在の状態(正常動作しているか、印刷待ちのキューがあるか、用紙やトナーが不足していないか)などがある。通知のためのメディアとしては、ユーザの端末で音声により報知したり、電話で伝えたり、ポケベルにメッセージを送ったり、あるいは通知内容を文書として電子メールやFAXで送信したりする。
【0030】
以下では、図4のフローチャートに従って、図5の処理を各装置が処理する状況を説明する。
【0031】
まず、ステップS110で、例えば、ホストコンピュータに対してある文書を緊急で5時までに出力する指示を与えられた場合、ステップS111で、JOBテーブルにJOBを追加する。ステップS113で、JOBを取り出し、ステップS114で、与えられた指示を解析し、その情報からJOBの目的を解析する。ステップS115では、解析した指示から以下のJOBが洗い出される。
▲1▼ 出力するべき文書から出力に適したプリンタを選択するための情報(用紙サイズ、印字品質、カラー文書など)と、制限時間などの情報を取得する。
▲2▼ 接続されたプリンタから▲1▼の情報に適したプリンタを選択する。
▲3▼ 選択したプリンタが出力に障害がないかを検査する。
▲4▼ 自動的に選択したプリンタに出力する。
▲5▼ 選択したプリンタと出力を実行したことを通知する。
【0032】
ステップS116では、ステップS115で洗い出したJOBを登録する。ステップS117で、洗い出したJOBが全てなくなったと判断されるまで、以下を繰り返す。ステップS118では、JOBが実行可能か判断を行い、不可能と判断した場合は新たに行わなければならないJOBを洗い出す。ステップS119で、洗い出したJOBを順に実行する。
【0033】
〔実施形態2〕
図6は、各種デバイスに対して指示する方法として、リモートコントローラ(リモコン)を利用する場合を説明する図である。
【0034】
このリモコン605は、表示部を具え、プリンタ601、602やFAX603、PC604などのデバイスに近づくだけで、そのデバイスに対応したコントロールパネルや情報を表示し、そのデバイスに対して指示を与え、コントロールすることができる。更に、リモコン605の近くのデバイスからネットワークを介して、遠く離れたデバイスをコントロールすることもできる。
【0035】
また、リモコン605は、各デバイスのステータスをモニタして、表示することができ、リモコン605の近くのデバイスを介して、ネットワーク上にある遠く離れたデバイスのステータスを取得することも可能である。
【0036】
〔実施形態3〕
図7は、スキャナから文書を読み込み、特定のプリンタに送信しようとした場合の例を示す図である。
【0037】
文書がスキャナ701から読み込まれた後、利用者が送信先を(音声などを利用して)指定する。あるいは、カバーページに送信先が指定されており、自動的に送信先が決定される。このようにして、送信先として、モノクロプリンタA702が決定された後、
▲1▼送信先の状態を取得した結果、送信先が印刷不可能な状態の場合、自動的に代わりのプリンタ(例えば、モノクロプリンタB703)に送信し、印刷する。
▲2▼送信先として指定されたプリンタが(カラー、用紙サイズなどの条件から)印刷できない場合、そのページだけを他のプリンタ(例えば、カラーであれば、カラープリンタC704)に送信する。
▲3▼大量ページ数の文書の場合、いくつかのプリンタに分けて印刷を行う。
▲4▼送信先に転送先が指定されている場合、自動的に転送先に送信する。
【0038】
〔実施形態4〕
図8は、スキャナから文書を読み込み、(ネットワークドメインが異なるなどの理由で)スキャナが管理できない特定のプリンタに送信しようとした場合の例を示す図である。
【0039】
文書がオースティンにあるスキャナ701から読み込まれた後、利用者が送信先を(音声などを利用して)指定する。あるいは、カバーページに送信先が文字列またはバーコードで記載されており、それを読み取って認識・解釈することで、自動的に送信先が決定される。このようにして、送信先として東京にあるモノクロプリンタA702が決定され、実際にモノクロプリンタA702に文書が送られた後に、
▲1▼モノクロプリンタA702が、自分自身では印刷不可能な状態の場合、代わりのプリンタ(モノクロプリンタB703)に送信し、印刷する。
▲2▼モノクロプリンタA702が、(カラーページを含む、用紙サイズが異なるなどの条件から)受信した文書を印刷できない場合、受信した文書全体あるいは印刷できないページだけを他のプリンタ(例えば、カラーであれば、カラープリンタC704)に送信する。
▲3▼大量ページ数の文書の場合、モノクロプリンタA702が自分自身で印刷するとともに、他のプリンタにも分けて印刷を行う。
▲4▼モノクロプリンタA702が自分自身に転送先が指定されている場合、自動的に転送先に転送する。
【0040】
実施形態3と実施形態4との相違点は、実施形態3では、スキャナ701が送信先を決定していたのに対し、実施形態4では、スキャナ701から文書を受信したプリンタ702が、転送先を決定する点にある。
【0041】
〔実施形態5〕
図9は、スキャナから文書を読み込み、(ネットワークドメインが異なるなどの理由により)スキャナが管理できない特定のプリンタに送信しようとした場合の例を示す図である。
【0042】
文書がオースティンにあるスキャナ701から読み込まれた後、利用者が送信先を(音声やキーボードなどを利用して)指定する。あるいは、カバーページに送信先が文字列またはバーコードで記載されており、それを読み取って認識・解釈することで、自動的に送信先が決定される。このようにして、送信先として東京にあるモノクロプリンタA702が決定された後、実際にモノクロプリンタA702に文書が送られた後に、より高度な処理が可能なパソコン705に転送される。その結果、パソコン705は、この文書が緊急の文書であると(例えばカバーレターの「至急」という文字から)判断し、文書の受け取り手が今どこに居るのかが、スケジュールデータなどから分かれば、その場所(例えば厚木)に転送する。その際、転送先がプリンタではなく、FAX D706であるなどメディアが異なれば、メディア変換を行なって送信する。
【0043】
〔実施形態6〕
図10は、スキャナから文書を読み込み、(ネットワークドメインが異なるなどの理由により)スキャナが管理できない特定のプリンタに送信しようとした場合の例を示す図である。
【0044】
文書がオースティンにあるスキャナ701から読み込まれた後、利用者が送信先を(音声などを利用して)指定する。あるいは、カバーページに送信先が文字列またはバーコードで記載されており、それを読み取って認識・解釈することで、自動的に送信先が決定される。このようにして、送信先として東京にあるモノクロプリンタA702が決定された後、実際にプリンタA702に文書が送られた後に、より高度な処理が可能なパソコン705に転送される。その結果、パソコン705は、文書の受け取り手を認識し、通知文を作成して、電話707により、文書の受け取り手に文書の到着を通知することができる。
【0045】
〔実施形態7〕
図11は、プリンタの状態を通知する場合の例を示す図である。
【0046】
PC1102は、ネットワークを介してプリンタ1103のステータスを取得し、エラーやイベントの発生などステータスの変化を検知すると、その内容に応じて、ユーザあるいは管理者などの通知先を決定し、決定された通知先に対応するメディアを利用して通知を行なう。例えばユーザあるいは管理者の端末1101へ電子メールで通知したり、電話1104に電話連絡したり、ポケットベル1105にメッセージを送信したりする。
【0047】
これにより、例えば、図10の例において、電話707に代えて、電子メールやポケットベルで文書の受信を通知してもよい。
【0048】
〔実施形態8〕
本実施形態では、JOBを指示された装置が、JOBを自分で実行する場合に、そのまま行なうのではなく、JOBの種類や条件によっては、JOBの内容を実行前にユーザに通知・確認したり、ユーザにとって不要と判断されるJOBを取り消したりする。
【0049】
図127は、JOBの種類と条件に対応して、事前通知を行うかどうかを指定した情報である。
【0050】
図12は、本実施形態の処理手順を表わしたフローチャートである。
【0051】
まず、ステップS120で、指示されたJOBを実行する前に、実行する処理や内容をユーザに通知するべきかを、図127のJOBの種類と条件に対応した事前通知の指定情報を参照したり、実施形態29で説明するようにカバーページなどに記載されている内容を解析することで、判断する。事前に通知する場合は、ステップS121からステップS122に進み、実行する処理や内容を通知する。更に、ステップS123で、必要があれば、ユーザから実行の許可をもらってから、ステップS124でJOBを実行する。
【0052】
一方、事前に通知しない場合は、ステップS125で、ユーザにとって必要なJOBであるかを判断し、必要であれば、ステップS127でJOBを実行するが、不要であれば、ステップS128でJOBを破棄する。
【0053】
次に、JOBの内容が情報のファイリングの場合に、システムが情報のファイリングを実行する前に内容を解析して、内容をユーザに伝える処理を行う例を説明する。
【0054】
図13は、ファイリング処理で、ファイリングする情報を事前にユーザに伝える場合を示す図である。1301はファイル記憶装置、1302はスキャナ、1303はユーザ端末である。
【0055】
図13におけるスキャナ1302の処理を、図12のフローチャートに従って説明する。
【0056】
ステップS120で、情報のファイリングを行うJOBであるため、図127の指定情報を参照して、ファイリングを行う前にファイリングする情報を通知すると判断し、情報をスキャンする。ステップS121で、ファイリングする情報を通知するため処理をステップS122に渡す。ステップS122で、スキャンした情報をネットワークを介してユーザ端末1303に通知する。ステップS124で、ファイリングのJOBを行う。
【0057】
次に、受信情報がある場合に1枚目を受信して内容を解析し、ユーザに全く関係ない情報と判断された場合は、それ以降の情報を受信しない例を説明する。
【0058】
図14は、多量の受信データを最初のページから必要であるか不要であるかを判断し、次ページ以降の情報を破棄する場合の図である。1401は受信側、1402は送信側のPCである。
【0059】
図14におけるPC1401の処理を、図12のフローチャートに従って説明する。
【0060】
ステップS120で、図127のJOBの種類と条件に対応した事前通知の指定情報を参照した結果、情報の受信だけなので事前通知は行わないと判断する。ステップS121では、処理をステップS125に渡す。ステップS125で、受信した情報の最初のページを解析し、「庶務担当者へのお知らせ」とあるので、ユーザには関係ない情報であり、この情報の受信は不要であると判断する。ステップS126で、処理をステップS128に渡す。ステップS128では、受信した1枚目を破棄するとともに、2枚目以降の情報を受信しないで処理を終了する。
【0061】
〔実施形態9〕
図15は、本実施形態の処理手順を示すフローチャートである。本実施形態では、処理の実行を指示された装置が、装置自身で実行すべきか、他の装置で実行すべきかを判断し、判断結果に応じて、処理を自身で実行あるいは他の装置に指示する。
【0062】
まず、ステップS150では、JOBが入力されたかを判定し、入力されれば、ステップS151で、JOBテーブルに入力されたJOBを追加する。ステップS152でJOBテーブルにJOBがあるかを調べ、あれば、ステップS153で、JOBを取り出す。ステップS154では、与えられた指示を解析し、その情報からJOBの目的を解析する。ステップS155では、装置自身の状況を判断する。ステップS156では、JOBの目的に応じた他の装置の状況を判断する。
【0063】
装置自身及び他の装置の状況に基づいて、自分で実行することが最適であれば、ステップS157からステップS158へ進み、自分で実行することに決定し、ステップS159で、自分でJOBを実行する。一方、自分で実行するのが最適でなく、JOBの目的に応じた最適な装置が他に存在するなら、ステップS160からステップS161に進み、自分以外の装置でJOBを行なうことを決定し、ステップS162で、目的に応じた他の装置にJOBの実行を指示する。ステップS163では、自分以外の装置でJOBを実行したことをユーザに通知する。
【0064】
また、JOBの目的に応じた装置が他にも存在しなければ、ステップS160からステップS164に進み、JOBの目的を損なわない最適な方法をプランニングして、ステップS165で、そのプランをユーザに提案する。
【0065】
図16は、本実施形態の情報の流れを示す図である。
【0066】
PC101のユーザが、スキャナ102で入力した情報をプリンタ104に出力するようなJOBを与えた場合に、プリンタ104が例えば印字動作不良の場合に、プリンタ104は、与えられたJOBが実行できないことを判断し、他の装置とコミュニケーションをとり、与えられたJOBを実行可能なプリンタ103を見つける。これにより、JOBを自分で行わず、プリンタ103で行うとを判断し、プリンタ103にJOBを指示する。更に自分が行った行動をユーザに伝えるために、PC101に通知する。図16は、この流れを矢印で表わしたものである。
【0067】
以下に、図16の処理において、各装置が処理する手順を、図15のフローチャートにそって説明する。
【0068】
まず、スキャナ102の処理を説明すると、ステップS150で、情報をスキャンし、プリンタ104に情報を送信するJOBを受取る。ステップS151で、JOBテーブルにこのJOBを追加し、ステップS153でJOBをとりだす。ステップS154でデータをスキャンし、送信するJOBであることを理解する。ステップS155で、自分は正常に動作しており、指示された情報をスキャンし送信することに問題がないことを判断する。
【0069】
ステップS156で、他の装置にJOBをまわすことができないことを理解する。ステップS157では、自分で実行することが最適なため、ステップS158へ処理を渡す。ステップS158で、自分で情報をスキャンすることを決定し、ステップS159で、情報をスキャンし、ネットワークを介して1の経路でプリンタ104に情報を送信する。
【0070】
一方、プリンタ104では、ステップS150で、受信した情報を出力するJOBを受取る。ステップS151で、JOBテーブルにこのJOBを追加する。ステップS153でJOBを取り出す。ステップS154で、受信した情報からPC101のユーザの情報を用紙に出力することを理解する。ステップS155で、自分にはトナーがなくなっており、用紙に出力することはできないと判断する。ステップS116では、ネットワークを介して他に受信した情報を出力できるプリンタがないかコミュニケートし、出力可能なプリンタ103があると判断する(2の経路)。
【0071】
ステップS157で、自分では実行できないためステップS160に処理を渡す。ステップS160では、情報を出力するというJOBをプリンタ103で実行可能であるため、ステップS161で、プリンタ103に受信した情報を送信することを決定する。ステップS162で、プリンタ103に送信する情報を出力するように指示する(3の経路)。ステップS163で、JOBを指示したユーザのPC101に、指示された出力はプリンタ103で行ったことを電子メールで通知する(4の経路)。
【0072】
図128は、JOBの目的に応じた装置が存在しない場合の情報の流れを示す図である。
【0073】
PC101のユーザが、スキャナ102で入力した情報をプリンタ104に出力するようなJOBを与えた場合に、プリンタ104がトナー切れで印刷不能であると、プリンタ104は、他の装置とコミュニケーションをとり、与えられたJOBの目的に応じたプリンタ103を見つけ、その状況を判断する。ここで、プリンタ103は用紙切れで印刷不能であり、それ以外にJOBの目的に応じたプリンタが存在しないため、最適なプランとして、プリンタ104または103を印刷可能な状態に回復させて印刷することをユーザに提案するために、PC101に通知する。図128は、この流れを矢印で表わしたものである。
【0074】
次に、図128の処理において、各装置が処理する手順を、図15のフローチャートにそって説明する。
【0075】
スキャナ102が文書を読取り、プリンタ104に送信するまでは同様である。プリンタ104では、ステップS150で、受信した情報を出力するJOBを受取る。ステップS151で、JOBテーブルにこのJOBを追加する。ステップS153でJOBを取り出す。ステップS154で、受信した情報からPC101のユーザの情報を用紙に出力することを理解する。ステップS155で、自分にはトナーがなくなっており、用紙に出力することはできないと判断する。ステップS116では、ネットワークを介して他に受信した情報を出力できるプリンタがないかコミュニケートするが、プリンタ103も用紙切れのため印刷不可能であり、その外にも適当なデバイスが存在しないと判断する。
【0076】
ステップS157で、自分では実行できないためステップS160に処理を渡す。ステップS160では、情報を出力するというJOBを実行可能なデバイスが存在しない為、ステップs164に進む。ステップs164では、情報を出力するというJOBの目的である印刷を実現するための最適な方法をプランニングする。その結果、印刷可能なデバイスのステータスを正常に戻すことが、最適な方法であるとプランニングされる。続くステップs165で、プランニングされた結果に従って、図129に示したようなWindowによって、トナー切れのプリンタ104または用紙切れのプリンタ103を印刷可能な状態に回復させることをユーザに提案する。その後、ユーザの答えや、プリンタ自体のステータスの変化が入力JOBとして認識され、同様な処理が行われ、ユーザの目的を達成することができる。
【0077】
上記で述べたプランニングの詳細については、具体例に基づいて実施形態11以降で説明する。
【0078】
〔実施形態10〕
実施形態9の処理において、ステップS158、S159で、自分でJOBを実行すると判断し、実行する場合に、更に指示されたJOBを実行するにあたり、問題の発生の有無を、後述する図17の手順のように詳細に解析し、JOBを実行する環境や状況によっては、JOB実行することが適さないと判断された場合に問題を通知したり、JOBを拒否する場合がある。
【0079】
例えば、機密書類の印刷の指示があった場合に、許可されたユーザと確認されない場合は、その指示を拒否する。
【0080】
図17はJOB実行の詳細な手順を表わすフローチャートである。
【0081】
ステップS170で、指示されたJOBの実行に問題はないか解析する。ステップS171で、JOBの実行に問題がなければ、ステップS175で、JOBを実行する。問題があれば、ステップS172で、発生した問題をユーザに通知するか、JOBの実行を拒否するかを判断する。通知する場合は、ステップS174で問題を通知する。一方、拒否する場合は、ステップS176で、JOBを拒否し、拒否を通知する。
【0082】
以下、PC101のユーザが、スキャナ102で読んだ機密情報をプリンタ104に出力するよう指示した場合を、図15、17に基づいて説明する。図18は、読み込む機密情報の例を示す図である。
【0083】
まず、スキャナ102では、ステップS150で、情報をスキャンし、プリンタ104に情報を送信するJOBを受取る。ステップS151で、JOBテーブルにこのJOBを追加する。ステップS153で、JOBを取り出す。ステップS154で、データをスキャンし、送信するJOBであることを理解する。ステップS155で、自分は正常に動作しており、指示された情報をスキャンし送信することに問題がないことを判断する。
【0084】
ステップS155で、他の装置にJOBをまわすことができないことを理解する。ステップS157で、自分で実行することが最適なためステップS158へ処理を渡す。ステップS158で、自分で情報をスキャンすることを決定する。
【0085】
ステップS170で、情報をスキャンした結果、出力不可の機密書類であることを解析した。ステップS171で、JOBの実行には問題がある。ステップS172で、JOB(情報をスキャンして出力すること)を拒否すると判断する。ステップS173で、JOBの拒否を行うのでステップS176へ処理を渡す。ステップS176で、JOBの拒否を通知する。
【0086】
また、同様にして、同一のシステムを複数のユーザが使用する場合に、ログイン名などから現在のユーザを認識し、他のユーザのファイルの内容の出力の指示も拒否することができる。また、ユーザからの指示ではなく、外部から文書を受信した場合にも、宛先のユーザが現在のユーザと異なれば、受信文書の出力や受信の事実の通知を拒否したり、宛先のユーザがシステムを利用するまで、処理を保留したりすることもできる。
【0087】
〔実施形態11〕
図4に従って、処理の流れを説明する。まず、ステップS109で、JOBテーブルを初期化する。ステップS110で、利用者からの入力や、システムが検知可能なデバイスなどからの入力があるかどうかチェックする。ステップS111で、上記ステップで入力された内容を解析するための、入力解析 JOB を JOBテーブルに追加する。ステップS112で、実行可能な JOBが存在するかチェックし、あれば、ステップS113で実行可能な JOBを取得する。ステップS114で、JOBを実行させようとした背景となる目的を理解する。
【0088】
ステップS115で、入力された内容や、システムが検知可能なデバイスなどの状態や、システムが現在知っている知識その他から、考えられる処理をプランニングし、ステップS116で、必要ならば新たなJOBを追加する。ステップS117−S119で、ステップS115でプランニングされた内容にしたがって処理を実行する。JOBがなくなるまで繰り返し、なくなったらステップS110に戻る。
【0089】
利用者が <file A>を印刷しようとした場合について、説明する。図22は、<file A>の内容を表わす図であり、車の絵の部分がカラーで描かれているものとする。また、図23は、本実施形態のシステムの構成を示す図であり、ユーザがPC2301から印刷指示を行い、通常使うプリンタとしてモノクロプリンタ2303が設定されており、それ以外にカラープリンタ2302も接続されている。
【0090】
ステップS109で、JOBテーブル初期化する。ステップS111で、入力が何も無い時に行われるJOBをJOBテーブルに追加する(図19)。また、図20の Windowで、ファイル名 <file A>を指定し、印刷を選択すると、ステップS110で、入力があると判断されステップS111へ進む。ステップS111で、図21に示すように、入力解析JOBをJOBテーブルに追加する(図21)。ステップS112で、実行可能な JOBが存在するので、ステップS113へ進む。ステップS113では、実行可能な JOB:入力 "印刷 <file A>"の解析を取得する。ステップS114で、入力 "印刷 <file A>" の目的は、<file A>を印刷することだと理解する。
【0091】
ステップS115では、下記の条件・状況から、カラープリンタへの印刷を利用者に提案することをプランニングする。
・<file A>にはカラーの部分が含まれる(図22の車の部分)。
・使用可能なカラープリンタ2302が存在する(図23)。
【0092】
ステップS119で、利用者に「カラープリンタで印刷しますか?」と問い合わせる(図24)。同時に、JOBテーブルに、利用者の応答が無い場合の対応のJOBを追加する(図25)。そして、ステップS110に戻る。
【0093】
ステップS110で、10分間入力がないと、ステップS112で、実行可能なJOBが存在するので、ステップS113へ進む。ステップS113で、実行可能なJOB :利用者の応答が無い場合の対応を取得する。
【0094】
ステップS114で、利用者の応答が無い場合の対応の目的は、提案を受け入れてくれるかどうかを知ることだと理解する。ステップS115で、下記の条件・状況から、電話を使って利用者に問い合わせることを決定する。
・利用者が現在いる場所の電話番号を知っている(図26のスケジュールデータ)。
・緊急に印刷しなければならない(図26のスケジュールデータで、13時からの商談にfile Aを使用する)。
【0095】
ステップS119で、利用者に「カラープリンタで印刷しますか?」と問い合わせる(図27)。同時に、JOBテーブルに利用者の応答が無い場合の対応のJOBを追加する(図28)。ステップS110に戻る
ステップS110で、図27のように利用者が「はい、よろしく」と言うと、入力があると判断されステップS111へ進む。ステップS111で、入力解析JOB をJOBテーブルに追加する(図21)。ステップS112で、実行可能なJOBが存在するので、ステップS113へ進む。ステップS113で、実行可能なJOB:入力“はい、よろしく”の解析を取得する。ステップS114で、入力 "はい、よろしく”の目的は、提案を受け入れたことを示すことだと理解する。
【0096】
ステップS115で、<file A>をカラープリンタ2302に送って、印刷することを決定する。ステップS118 で、<file A>をカラープリンタ2302に送って印刷する。同時に、JOBテーブルに印刷が正常に終了したかどうかの確認のためのJOBを追加する(図29)。ステップS110に戻る。
【0097】
ステップS110で、入力無し、ステップS112で、図30のように、プリンタステータスが「印刷中」から「印刷済み 文書有り」に変化すると、実行可能なJOBが存在するので、ステップS113へ進む。ステップS113で、実行可能なJOB:プリンタステータスに対応した処理を取得する。ステップS114で、図31のプリンタステータス表から、ステータス「印刷済み文書有り」は印刷された文書がプリンタのトレイに残されているという意味なので、その目的は、印刷済み文書が利用者に渡ることだと理解する。
【0098】
ステップS115で、すぐに利用者が取りに来るかもしれないので、待つことに決定する。ステップS116で、JOBテーブルに印刷済み文書を取りに来たかどうかの確認のためのJOBを追加する(図32)。ステップS110に戻る。ステップS110で、10分間入力がない。ステップS112で、印刷済み文書が残されたままだとすると、実行可能なJOBが存在するので、ステップS113へ進む。ステップS113で、実行可能なJOB:印刷済み文書がある場合の対応を取得する。ステップS114で、図31から、ステータス「印刷済み文書有り」は印刷された文書がプリンタのトレイに残されているという意味なので、その目的は、印刷済み文書が利用者に渡ることだと理解する。ステップS115で、10分間文書が残されたままなので、利用者は忘れていると判断して、「印刷済み文書がカラープリンタにあります」と通知することに決定する。ステップS119で、「印刷済み文書が BJC600にあります」と通知する(図33)。同時に、JOBテーブルに利用者の応答が無い場合の対応のJOBと、印刷済み文書を取りに来た場合の対応のJOBを追加する(図34)。ステップS110に戻る。
【0099】
ステップS110で、入力が無い。ステップS112で、図28のようにプリンタステータスが「印刷済み文書有り」から「正常」に変化すると、実行可能なJOBが存在するので、ステップS113へ進む。ステップS113で、実行可能なJOB:印刷済み文書有りに対応したJOBの見直しを取得する。ステップS114で、印刷済み文書有りに対応したJOBの見直しの目的は、不要になったJOBを削除することだと理解する。ステップS115で、利用者の応答を待っているJOBを削除することを決定する。ステップS119で、利用者の応答を待っているJOBを削除する。ここでは、新しいJOBは追加されない。初期状態で、ステップS110に戻る。
【0100】
図36、37は、プラン及びアクションのルールを示す図である。
【0101】
利用者が図20の印刷 Window において、ボタン〔印刷〕を押した場合、図36の表のプラン&アクションを参照して、利用者の目的は現在の状態が「印刷済み文書有り」になることだと判断される。さらに、「印刷済み文書有り」は目的「印刷済み文書取得」の前提条件にもなっているので、最終的な利用者の目的は「印刷済み文書取得」であると判断される。
【0102】
利用者が図24や図33の質問 Windowや、図27の電話による問い合せに対して、音声やマウス操作等により賛意表明や反意表明の操作を行った場合、利用者の目的は問い合せに対する賛意表明や反意表明だと判断される。
【0103】
図37において、システムの究極の目的は、ユーザの目的達成である。そのための前提条件として、システムは安定していなければならない。また、その上でシステムは▲1▼ユーザの目的を理解し、▲2▼目的達成のプランニングをし、実行する。
【0104】
システムの安定の為には、異状時にシステムを正常化することはもちろん、コストの削減やシステムの不安定化の回避の為、実行している必要のないときには電源をOFFする。
【0105】
図38は、図37の一部をわかりやすく図示したものである。
【0106】
ユーザの目的を理解する為には、入力があった場合、入力を理解する。また、図36のユーザの目的の「印刷済み文書取得」に対応して、「印刷済み文書をユーザに渡す」ことがシステムの目的として存在する。
【0107】
印刷済み文書をユーザに渡す為には、印刷済み文書が存在していることが前提であり、その上で文書がある場所をユーザに教えることで目的を達成しようとしている。もちろん、利用者が実際に文書を取得する為には、利用者が文書を取りに来るか、何らかの方法で利用者に文書を届けなければならないが、本システムでは詳しく定義はしておらず、印刷済み文書が無くなることが利用者が取得したことと等価であると判断している。
【0108】
一方、印刷済み文書が有る為には、印刷元文書が有るとともに、印刷条件が明確化されており、対応する印刷環境が正常に存在していることが前提であり、その上で対応する印刷環境を選択し、印刷を実行する。印刷元文書が有る為には、印刷元文書を作成すればよい。印刷条件を明確化する為には、条件が不明確な部分をユーザに問い合せればよい。印刷環境が正常でいるためには、印刷環境が異常な場合、印刷環境を正常化すればよい。また、ユーザの意志を取得する為には、一定時間ユーザからの応答が無い場合、あらためてリプランニングする必要がある。
【0109】
各デバイスのプロパティは、各デバイス内部のメモリまたは各デバイスを管理しているサーバ内のメモリに格納されている。図39は各デバイスのプロパティの例である。各デバイスのステータスは、各デバイス内部に持ち、各デバイスが能動的に発信するか、他のサーバなどの要求に従って受動的に返すことで、他の装置に伝えられる。
【0110】
本システムにおいては、プロパティは各デバイス固有のものであり、変化することはないので、システムの起動時あるいはネットワーク上の接続に変更があったときに取得される。一方、ステータスはプランニングを行う過程において、必要に応じて取得されるか、あるいはある一定時間間隔で取得し、内部のメモリ内の情報として更新記憶される。
【0111】
〔実施形態12〕
実施形態11と同じく、<file A>を印刷する場合に、カラープリンタがBusyの場合の処理の例である。
【0112】
まず、入力: "印刷 <file A>"があると、これをJOBテーブルに追加し、目的は印刷であると理解される。ここで、条件・状況として、文書にカラーの部分が含まれており、使用可能なカラープリンタがBusy であるとする。そこで、Busyでなくなるまで待つか、モノクロで印刷するかを、利用者に質問するというプランを立てる。「カラープリンタ がBusy です。待ちますか?それとも、モノクロプリンタで印刷しますか?」をユーザに質問する。利用者が "待つ"を選択した場合、Busyでなくなるまで待機する。
【0113】
〔実施形態13〕
入力:“<file A>は、<file A'>に変更された。”があった場合、JOBテーブルの更新が目的であると理解する。条件・状況で、JOBテーブルに<file A>の印刷 JOB がある。そこで、印刷対象を<file A'>に変更するか、利用者に質問する。というプランを立てる。そして、「修正前の<file A>の代りに、<file A'>を印刷しますか?」という質問を発する。
【0114】
〔実施形態14〕
本実施形態は、複数の装置が接続されたシステム(この場合はネットワークに接続されている)において、各装置にJOBが指示された場合に、それぞれの装置がJOBの目的を解析し、自分の状況や指示装置の状況から、指示された装置でのJOB実行を行わない方が良いと判断した場合に、JOBを他の装置に転送して実行するための実施形態である。
【0115】
図41は、複数の装置がネットワークに接続されている状態を表した2つの例であり、(A)は、スキャナ411、プリンタ412、413の各装置がそれぞれの状況を判断できる環境のネットワークである。(B)は、スキャナ411が、プリンタ412、413の状況を判断できない環境のネットワークである。
【0116】
図42は本実施形態の処理を行うための機能構成を示す図である。JOB受取り部421は、ユーザまたは他の装置からJOBを受取る。受取られたJOBは、JOBテーブル422に登録される。JOB解析部423は、JOBテーブル422に登録されているJOBを取り出して解析する。他装置状況判断部424は、接続している他の装置の属性や現在の状態などを判断する。自装置状況判断部427は、装置自身の属性や現在の状態などを判断する。
【0117】
最適プランニング部425は、JOBの実行に関して最適なプランを立てる。JOB実行判断部426では、JOBを実行するか否か、実行する場合は、自装置で実行するのか、他の装置で実行するのか等を判断する。自装置で実行する場合は、JOB実行部428で実行する。他の装置で実行する場合は、他装置へのJOB転送部429により、他の機器へJOBを転送する。実行通知部211は、実行結果や他の装置にJOBを転送したことなどをユーザに通知する。
【0118】
図43は本実施形態を実現するための処理の流れを表わしたメインのフローチャートである。
【0119】
まず、ステップS430では、利用者からの入力JOBや、システムが検知可能なデバイスなどからの入力JOBや、これらのJOBを解析した結果や、アイドリング時に自分自身で生成した新たなJOBがあるかどうかチェックして、JOBが入力されたかを判定する。入力されれば、ステップS431で、JOBテーブルに入力されたJOBを追加する。ステップS432でJOBテーブルにJOBがあるかを調べ、あれば、ステップS433で、JOBを取り出す。ステップS434では、与えられた指示を解析し、その情報からJOBの目的を解析する。ステップS435では、他の装置へのJOBがあるかを判断して、あれば、ステップS436で他の装置を制御する。なければ、ステップS437で自装置を制御する。
【0120】
図44は、メイン処理の中で、ステップS436で他の装置に対して処理を行う場合に他の装置を制御するときの処理の流れを表わすフローチャートである。
【0121】
ステップS440で、JOB中で指定された装置の状況を判断し、この判断に基づいて、ステップS441では、指定された装置でJOBを実行することに問題があるか判断する。問題がなければ、ステップS442で、指定された装置にJOBを送信する。指定された装置での実行に問題がある場合には、ステップS443で、指定された装置以外の装置で、そのJOBに適した装置があるかを調べ、あれば、その状況を判断する。その結果、指定された装置以外でそのJOBを実行可能な装置があれば、ステップS445で、その装置にJOBを転送し、ステップS446で、JOBを転送したことをユーザに通知する。一方、指定された装置以外の装置で、そのJOBに適した装置がないか、あっても現在利用できない場合は、ステップS447で、JOBの目的を損なわない最適なプランを立て、ステップS448で、そのプランをユーザに提案する。
【0122】
図45は、メイン処理の中で、ステップS437で自分の装置で処理を行う場合の処理の流れを表わすフローチャートである。
【0123】
ステップS450で、自装置の状況を判断し、この判断に基づいて、ステップS451では、自装置でJOBを実行することに問題があるか判断する。問題がなければ、ステップS452で、JOBを実行する。自装置での実行に問題がある場合には、ステップS453で、自装置以外の装置で、そのJOBに適した装置があるかを調べ、あれば、その状況を判断する。その結果、自装置以外でそのJOBを実行可能な装置があれば、ステップS445で、その装置にJOBを転送し、ステップS446で、JOBを転送したことをユーザに通知する。一方、自装置以外の装置で、そのJOBに適した装置がないか、あっても現在利用できない場合は、ステップS447で、JOBの目的を損なわない最適なプランを立て、ステップS448で、そのプランをユーザに提案する。
【0124】
図46は、図41の(A)において、スキャナ411から読み込んだ情報をプリンタ412にAの経路で出力するよう指示されたが、スキャナ411の他装置状況判断部424において、プリンタ412に故障を発見したために、プリンタ413にBの経路を通して出力を行なったときの図である。
【0125】
図47は、図41の(B)において、スキャナ411から読み込んだ情報をプリンタ412にAの経路で出力するよう指示され、スキャナ411はプリンタ412の状況を確認しようとするが、離れた場所にあるため、ネットワークの状況を考慮して無条件に情報を送信し、プリンタ412が、自分自身が故障しているために、受取った情報(JOB)をプリンタ413にBの経路で転送した場合の図である。
【0126】
以下に図46、47の処理を行う過程を、図43−45のフローチャートに基づいて説明する。
【0127】
図46のスキャナ411からプリンタ412へ出力JOBが発生した場合、スキャナ411の処理は、以下のようになる。
【0128】
まず、ステップS430で、情報をスキャンし、プリンタ412に情報を送信するJOBを受取る。ステップS431で、JOBテーブルにJOBを追加する。ステップS433で、JOBを取り出す。ステップS434で、データをスキャンし、このJOBが、指示されたプリンタに送信するJOBであることを理解する。ステップS435で、自分がスキャンした情報をプリンタ412で出力するという他の装置で行うJOBがあることを判断する。この判断により、ステップS436で、図44の他装置制御処理に処理を渡す。
【0129】
ステップS440で、指示されたプリンタ412の現在の状態を取得する。この結果、プリンタ412から故障中である情報を受取り、ステップS441で、出力不可能であることを判断する。この場合、故障中でなくても例えば、用紙切れ、トナー切れなどといった出力を行うことができない状態である場合も考えられる。ステップS443で、指示された装置であるプリンタ412では、JOBを実行することが不可能なため、JOBを実行可能な同様な他の装置を、ネットワーク上からコミュニケートをとり、検索する。ステップS444で、JOBを実行可能なプリンタ413を発見したので、プリンタ413でのJOBの実行を決定する。
【0130】
ステップS445で、スキャンした情報をプリンタ413に対して送信する。ステップS446で、指示された以外のことを実行したので、指示した相手に対してJOBの変更を行ったことを通知する。以上で、指示されたJOBの処理を終了したので、次のJOBが入力されるまで待つ。
【0131】
次に、図47のスキャナ411からプリンタ412へ出力JOBが発生した場合の処理を説明する。
【0132】
スキャナ411では、ステップS430で、情報をスキャンし、プリンタ412に情報を送信するJOBを受取る。ステップS431で、JOBテーブルにJOBを追加し、ステップS433で、JOBを取り出す。ステップS434で、データをスキャンし、このJOBが、指示されたプリンタに送信するJOBであることを理解する。ステップS435で、自分がスキャンした情報をプリンタ412で出力するという他の装置に対して行うJOBがあることを判断する。この判断により、ステップS436で、図44の他装置制御処理に処理を渡す。
【0133】
ステップS440で、指示されたプリンタ412とコミュニケートしてその状況を知ろうとするが、プリンタ412が離れた場所にあることが確認されるので、プリンタ412の状態に関係なく情報を送信することを判断する。ステップS441で、プリンタ412は離れているので、問題ないものと判断する。ステップS442で、指示された装置であるプリンタ412にスキャンした情報を送信し、JOBを渡す。以上で、指示されたJOBの処理を終了したので、次のJOBが入力されるまで待つ。
【0134】
一方、プリンタ412では、ステップS430で、受信した情報を出力するJOBを受取る。ステップS431で、JOBテーブルにJOBを追加する。ステップS433で、JOBを取り出す。ステップS434で、受信した情報を自分が出力するJOBであることを理解する。ステップS435で、他の装置に対するJOBはないと判断する。ステップS437で、図45の自装置制御処理に処理を渡す。
【0135】
ステップS450で、自分の現在の状態を見る。ステップS451で、自分は現在故障中でJOBの実行ができないことを判断する。この場合、故障中でなくても例えば、用紙切れ、トナー切れなどといった出力を行うことができない状態である場合も考えられる。ステップS453で、JOBを実行可能な、自分と同様な他の装置をネットワーク上からコミュニケートをとり、検索する。
【0136】
ステップS454で、JOBを実行可能なプリンタ413を発見したので、プリンタ413でのJOBの実行を決定する。ステップS455で、プリンタ412に送信されてきた情報をプリンタ413に対して再送信する。ステップS456で、指示された以外の処理を実行したので、指示した相手に対してJOBの変更を行ったことを通知する。ここでは、指示した相手に通知を行ったが、出力先が指示した相手から離れた場所であるため、受取り人に対して通知を行うようにしてもよい。以上で指示されたJOBの処理を終了したので、次のJOBが入力されるまで待つ。プリンタ413は何も問題無く、受取った情報を出力するJOBを実行可能であるため、JOBの実行を行なう。
【0137】
以上の実施形態では、各装置が自動的にJOBの転送を行ったが、それぞれの装置に問題がある場合は、ユーザがJOBを転送するように順位を付けて設定することも可能である。例えば、本実施形態においては、ユーザはスキャンした文書を指定したプリンタで印刷することをJOBとして入力しているが、この時に、指定したプリンタが使用不可能な場合に印刷を代行する第2、第3のプリンタを同時にJOB中に設定しておいても良い。これにより、ステップs443またはステップs453において、JOBに適した機器として、設定された第2、第3のプリンタが選択され、その状況が判断される。また、逆にJOBを受け取るプリンタの側に、自分自身が使用不可能な場合に印刷を代行する第2、第3のプリンタを設定しておいても良い。この時には、前述のようにJOB自身に第2、第3のプリンタを設定されてなかったとしても、JOBを受け取ったプリンタが、自分自身に設定されている指定にしたがって、JOBを転送することができる。
【0138】
また、故障や動作不能な場合以外であっても、JOBを行うことに適さないスペック、例えば、モノクロプリンタへのJOBがカラーの情報の印刷である場合や、JOB待ちが多く、すぐに処理できない場合などでも、JOBを行わない判断条件となりうる。
【0139】
〔実施形態15〕
本実施形態は、プリンタが受信した緊急情報をユーザに出力するJOBを実行するにあたり、図45のステップS450の自装置の状況を判断する処理において、JOBの実行の問題を判断する判断材料として、目的のユーザのスケジュール情報も加味する場合の処理を表わす。
【0140】
ここでは、緊急情報を伝えるべきユーザが外出しており、外出先にネットワークに接続されたプリンタ413が存在する図48に示す環境の処理を説明する。
【0141】
この場合、図43の手順において、ステップS434で、JOBの目的は、受信した情報をユーザに緊急に連絡することであることを理解する。ステップS435で、他装置へのJOBはこの時点ではないので、ステップS437に処理を渡す。ステップS437では、図45の自装置制御処理に処理を渡す。
【0142】
ステップS450で、自装置の状況を判断する場合に、送信先として指示されたユーザのスケジュールを装置414に確認し、外出中であると判断する。ステップS451で、ユーザが外出中なので、緊急の連絡には、自装置での実行に問題があると判断する。ステップS453で、外出先に情報を出力可能なプリンタがあるか確認する。ステップS454で、出力可能なプリンタ412があることを確認したので、そのプリンタで出力することを決定する。ステップS455で、プリンタ412に情報を送信する。ステップS456で、JOBを転送したことを送り元と送り先のユーザに通知する。
【0143】
また、ステップS443で、JOBの転送先として同様の出力が可能な装置がない場合で、ユーザの使用する他の装置、例えばPCやFAX、電話などがあると判断した場合などには、ステップS444では、その装置で実行するとしてもよい。但し、情報をそのまま送信できないため、ステップS445では、プリンタへの出力情報を変換し、電子メール文書やFAX文書にして送信したり、音声情報に変換して出力することになる。
【0144】
この時、ステップS446では、出力に用いるメディアによっては、あらためて別のメディアを利用してJOBを転送したことを通知する必要はなく、同一のメディアで同時に伝えることもできる。例えば、電話を利用して出力情報を送信する時には、出力情報を伝えた後又は前に転送したという事実を伝える方が、よりスマートであると考えられる。
【0145】
なお、ステップS443で、上述したPCやFAX、電話などを、プリンタで実行すべきJOBに適した機器とは判断せずに、ステップS447で、それらの装置を利用することをJOBの目的を損なわない最適なプランとして決定し、ステップS448で、そのプランを提案するようにしてもよい。
【0146】
〔実施形態16〕
図49に、本実施形態の処理手順を示す。図49は、図43のフローチャートにJOBがなかった時の処理として、ステップS498〜500を加えたものである。ステップS498で、他の装置の現在の動作状況を調査し、ステップS499で、自分で実行可能なJOBが実行されずに他の装置に溜まっているかを判断し、溜まっている場合に、ステップS500で、そのJOBを取り出して自装置のJOBテーブルに追加し、相手装置のJOBテーブルから削除する。このようにして、本実施形態では、自らJOBを見つけ出して処理する。
【0147】
図50は、この処理を行う状況で、プリンタ412にJOBが存在しておらず、プリンタ413が待ちJOBを10件持っているので、プリンタ415が、プリンタ413のJOBを取り出して、自装置で処理する概念を表わした図である。
【0148】
プリンタ415の処理の流れは以下の通りである。ステップS492で、JOBはないので処理をステップS498に渡す。ステップS498で、他の装置であるプリンタ412とプリンタ413の現在の状況を調査する。ステップS499で、プリンタ413に自分で実行可能なJOBがあることを判断する。ステップS500で、プリンタ413からそのJOBを取り出し、自分のJOBテーブルに追加する。さらに、プリンタ413から、取り出したJOBを削除する。ステップS490で、JOBの入力はない。ステップS492で、先ほど自分で追加したJOBが存在するので、JOBの実行を行うために処理をステップS493に渡す。
【0149】
以降、実施形態14、15で説明した自らの装置で実行するための動作を行ない、処理を終了する。
【0150】
〔実施形態17〕
図51は、本実施形態の装置を用いたシステムにおける、プリントJOBの流れ、及びその他の情報の流れを示した図である。なお、図中の太い矢印はプリントJOBの流れを表し、点線の矢印はその他の情報の流れを表している。
【0151】
ただし、本実施形態で述べているプリントJOBとは、印刷対象となっている文書、及び印刷枚数、印刷品質、印刷サイズなどの印刷時に参照されるパラメータ類を含めたものである。また、その他の情報には、各プリンタが持っている印刷中、正常、用紙無し等のステータスや、プリントJOBスケジューリング部が持っているプリントJOBのスケジュールがある。
【0152】
図51において、クライアントマシン510では、プリントJOB作成部512でプリントJOBを作成し、プリントJOB記憶部513にいったん記憶した後、プリントJOB送信部514により、プリントJOBを作成したクライアントマシン510から、プリンタを管理するサーバマシン511に送信される。
【0153】
サーバマシン511では、送られてきたプリントJOBをプリントJOB受信部516により受け取り、プリントJOBのパラメータ類が未設定の場合はプリントJOB自動設定部517に渡し、すでに設定されている場合はプリントJOB自動変更部518に渡す。
【0154】
プリントJOB自動設定部517では、プリントJOBから取得される緊急性、経済性、品質などを考慮しながら、未設定の印刷パラメータを設定する。一方、プリントJOB自動変更部518では、同様な処理を、すでに設定されているパラメータを変更することでも実現する。このようにして、設定または変更されたプリントJOBは、プリントJOBスケジューリング部520が持っているプリントJOBのスケジュールに登録され、そこから順次プリントJOB送信部519へ読み出されて、または直接プリントJOB送信部519に渡り、印刷される。
【0155】
ここで、プリントJOB自動設定部517及びプリントJOB自動変更部518には、プリンタ状況認識部515を介して取得された、印刷中、正常、用紙無し等の使用可能なプリンタのステータスが渡り、プリントJOBの設定または変更において利用される。また、同様に、プリントJOBスケジューリング部520が持っているプリントJOBの印刷スケジュールも渡り、利用される。
【0156】
また、図51に表してあるように、プリントJOBは異なる経路で流れることも想定される。例えば、プリントJOBを作成したマシンと、プリンタを管理しているマシンが同じ場合には、プリントJOB送信部514を通らないこともありえる。
【0157】
図52は、プリントJOB自動設定部517の処理の流れを表したフローチャートである。プリントJOB自動設定部517では、指定された品質を満足する範囲で、できるだけ速く、できるだけ経済的に印刷できるようにパラメータを自動設定する。
【0158】
図52では、まずステップS520で、シュミレートの準備として、印刷時間やトナー使用量を決定する要因を初期化する。続いて、ステップS521で、品質決定変数を品質最高値(例えば5)で初期化し、ステップS522で、印刷時間をシュミレートする。ステップS523で、シュミレートされた印刷時間が指定値を満たすかを判定する。満たされる場合は、ステップS524で、トナー使用量をシュミレートする。ステップS525で、シュミレートされたトナー使用量が指定値を満たすかを判定する。満たされる場合は、ステップS526で、現在の品質決定変数の値にJOBを変更する。
【0159】
ステップS523または525で、指定された値を満たさない場合、ステップS527で、品質決定変数を1つ減らす。ステップS528で、指定された品質が満たされるかを判定し、満たされるなら、ステップS522に処理が戻される。満たされなければ、自動設定不能エラーとなって終了する。
【0160】
図53は、プリンタA521とプリンタB522の指定品質の違いによる、1文字あたりの印刷時間とトナー使用量を表した図である。これらの値は、各プリンタ固有の不変の値でも良いし、過去に行った印刷の所用時間やトナー使用量を測定し、この測定値から平均を取るようにした動的に変化する値でも良い。
【0161】
図54は、本実施形態で印刷されるプリントJOBの内容と、利用者が指定したパラメータを表した図である。本実施形態を用いたシステムでは、図54で表したプリントJOBの内容と、設定パラメータとをあわせてプリントJOBと呼んでいる。本実施形態では、印刷時間とトナー使用量をシュミレートする為に、プリントJOBの印刷量を文字数換算で500文字として説明している。また、利用者は緊急性のみを1分以内と指定し、経済性や品質はデフォルト値のまま指定しなかったものとしている。
【0162】
図54の例で、プリントJOB自動設定部517が起動されると、まずステップS520のシュミレートの準備において、印刷時間やトナー使用量を決定する要因を初期化する。例えば、図53の表に定義したように、プリンタA521及びプリンタB522の最低品質(=1)の場合のそれぞれの1文字あたりの印刷時間は平均100mステップSと200mステップSであり、1文字あたりのトナー使用量は平均100mgと200mgである。
【0163】
続いて、ステップS521で、品質決定変数を品質最高値(例えば5)で初期化し、ステップS522で、印刷時間をシュミレートする。例えば、プリンタA521とプリンタB522は印刷可能であり、プリントJOBスケジューリングでスケジュールされているプリントJOBが1つも無いとすれば、すぐに印刷を開始することができ、待ち時間は不要である。よって、印刷対象のプリントJOBに500文字含まれているとした場合、プリンタAでは250秒かかり、プリンタBでは500秒かかるとシュミレートされる。
【0164】
すると、ステップS523では、図54の指定パラメータで指定された緊急性1分以内を満たすことができないので、ステップS527で、品質決定変数を1つ減らす。ここで、図54の指定パラメータでは品質は指定されていないので、再びステップS522の印刷時間のシュミレートに処理が戻される。これらの処理が繰り返された結果、品質が最低品質の1になって初めて印刷時間がプリンタA521で50秒となり、緊急性を満たすので、品質を品質決定変数の値(=1)に設定し、正常終了する。
【0165】
ここで、もし品質を2以上に設定していたとすると、利用者が設定したパラメータを満たすことができないので、自動設定不能エラーとなって終了する。
【0166】
〔実施形態18〕
図55は、プリントJOB自動変更部518の処理の流れを表したフローチャートである。プリントJOB自動変更部518では、指定された緊急性及び経済性を満足する範囲で、できるだけ高品質で印刷できるようにパラメータを自動変更する。その上で、すべての指定を満足することができない場合、最優先の指定を満足させ、その他の指定はできるだけ指定に近いように変更する。
【0167】
図56は、本実施形態で印刷されるプリントJOBの内容と、利用者が指定したパラメータを表した図である。本実施形態を用いたシステムでは、図56で表したプリントJOBの内容と、設定パラメータをあわせてプリントJOBと呼んでいる。本実施形態では、印刷時間とトナー使用量をシュミレートする為に、プリントJOBの印刷量を文字数換算で500文字として説明している。また、利用者はすべてのパラメータを設定したが、その中でも品質は最優先であると指定している。
【0168】
図55において、プリントJOB自動変更部518が起動されると、まずステップS550で、シュミレートの準備において、印刷時間やトナー使用量を決定する要因を初期化する。例えば、図53の表に定義したように、プリンタA及びプリンタBの最低品質(=1)の場合のそれぞれの1文字あたりの印刷時間は平均100mステップSと200mステップSであり、1文字あたりのトナー使用量は平均100mgと200mgである。
【0169】
続いて、ステップS551で、品質決定変数を品質最高値(例えば5)で初期化し、ステップS552で印刷時間をシュミレートする。例えば、プリンタA521とプリンタB522は印刷可能であり、プリントJOBスケジューリング部520でスケジュールされているプリントJOBが1つも無いとすれば、すぐに印刷を開始することができ、待ち時間は不要である。よって、印刷対象のプリントJOBに500文字含まれているとした場合、プリンタA521では250秒かかり、プリンタB522では500秒かかるとシュミレートされる。
【0170】
すると、ステップS553では、図56の指定パラメータで指定された緊急性1分以内を満たすことができないので、ステップS556で、品質決定変数を1つ減らす。ステップS557で、図56の指定パラメータの品質の指定を満たすので、再びステップS552の印刷時間のシュミレートに処理が戻される。これらの処理が繰り返された結果、利用者が指定した品質(=3)になっても、印刷時間はプリンタA521で150秒であり、緊急性を満たすことができない。そこで、ステップS556で、品質決定変数を1減らすと、ステップS557で、利用者が指定した品質を満たすことができなくなる為、ステップS558へ進み、品質が最優先の指定パラメータかどうかチェックされ、最優先の場合、ステップS560で、指定された品質でプリントJOBを変更し、正常終了する。
【0171】
ここで、もし緊急性が最優先だったとすると、品質が最低品質の1になって初めて印刷時間がプリンタAで50秒となり、緊急性を満たすので、品質を品質決定変数の値(=1)に設定し、正常終了する。
【0172】
〔実施形態19〕
図57は、本実施形態の装置を用いたシステムにおける、プリントJOBの流れ、及びその他の情報の流れを示した図である。なお、図中の太い矢印はプリントJOBの流れを表し、点線の矢印はその他の情報の流れを表している。
【0173】
ただし、本実施形態で述べているプリントJOBとは、印刷対象となっている文書、及び印刷枚数、印刷品質、印刷サイズなどの印刷時に参照されるパラメータ類を含めたものである。また、その他の情報には、各プリンタが持っている印刷中、正常、用紙無し等のステータスや、プリントJOBスケジューリングが持っているプリントJOBのスケジュールがある。
【0174】
図57において、クライアントマシン510では、プリントJOB作成部512でプリントJOBを作成し、プリントJOB記憶部513にいったん記憶した後、プリントJOB送信部514により、プリントJOBを作成したクライアントマシン510から、プリンタを管理するサーバマシン511に送信される。
【0175】
サーバマシン511では、送られてきたプリントJOBをプリントJOB受信部516により受け取り、プリントJOB解釈部571に渡す。プリントJOB解釈部571では、受け取ったプリントJOBに含まれるユーザからの指示を解釈し、システムが処理可能なパラメータ等の情報に変換する。プリントJOBのパラメータ類が未設定の場合はプリントJOB自動設定部517に渡し、すでに設定されている場合はプリントJOB自動変更部518に渡す。
【0176】
プリントJOB自動設定部517では、プリントJOBから取得される緊急性、経済性、品質などを考慮しながら、未設定の印刷パラメータを設定する。一方、プリントJOB自動変更部518では、同様な処理をすでに設定されているパラメータを変更することでも実現する。このようにして、設定または変更されたプリントJOBは、プリントJOBスケジューリング部520が持っているプリントJOBのスケジュールに登録され、そこから順次プリントJOB送信部519へ読み出されて、または直接プリントJOB送信部に渡り、印刷される。
【0177】
ここで、プリントJOB自動設定部及びプリントJOB自動変更部518には、プリンタ状況認識部515を介して取得された印刷中、正常、用紙無し等の使用可能なプリンタのステータスが渡り、プリントJOBの設定または変更において利用される。また、同様にプリントJOBスケジューリング部520が持っているプリントJOBの印刷スケジュールも渡り、利用される。
【0178】
また、図57に表してあるように、プリントJOBは異なる経路で流れることも想定される。例えば、プリントJOBを作成したマシンと、プリンタを管理しているマシンが同じ場合には、プリントJOB送信部514を通らないこともありえる。
【0179】
本実施形態では、図58に示すように、プリントJOBのパラメータの設定を、自然言語を利用してあいまいに設定している。図130は、自然言語による入力文字列に対応して、パラメータ設定におけるその文字列の表わす意味と、その意味を完成させるために必要な要求項目とを示した図である。プリントJOB解釈部571では、プリントJOB設定パラメータとして渡された自然言語による指示を、図130に示した自然言語による入力文字列に対応した意味と、意味を完成させるために必要な要求項目とを参照して、次のように解釈する。
【0180】
入力された自然言語中の文字列「印刷」から、この文字列の意味するユーザの目的となるアクションは、〔印刷〕である。更に、そこから要求される項目、〔対象〕は同時に入力されたプリントJOBの内容そのものであり、〔品質〕及び〔枚数〕は入力された自然言語中の解釈されていない部分で指定されているはずだと、予想される。そこで、文字列「取引先用1枚、メンバー用5枚」を解釈すると、高品位の〔品質〕で〔枚数〕1枚を印刷し、自由な〔品質〕で〔枚数〕5枚を印刷するように指定されていることが理解される。
【0181】
これ以降の、プリントJOB自動設定部517、及びプリントJOB自動変更部518の処理は、実施形態17及び18と同様である。
【0182】
〔実施形態20〕
本実施形態では、図59に示すように、プリントJOBのパラメータの設定を、プリントJOBの内容である文書自体に記載された配布先と枚数に基づいて行っている。プリントJOB解釈部571では、プリントJOBの内容を解釈して、次のように動作する。
【0183】
アクションは、印刷である。
「取引先用」は、高品位と解釈し、枚数は1枚とする。
「ABCプロジェクト」は、「メンバー用」であり、品位は自由と解釈して、枚数は5枚とする(利用者はABCプロジェクトの一員であるという情報は事前に持っている。)。
【0184】
これ以降の、プリントJOB自動設定部517、及びプリントJOB自動変更部518以降の処理は、実施形態17及び18と同様である。
【0185】
〔実施形態21〕
図60は、本実施形態の装置を用いたシステムにおける、プリントJOBの流れ、及びその他の情報の流れを示した図である。なお、図中の太い矢印はプリントJOBの流れを表し、点線の矢印はその他の情報の流れを表している。
【0186】
ただし、本実施形態で述べているプリントJOBとは、印刷対象となっている文書、及び印刷枚数、印刷品質、印刷サイズなどの印刷時に参照されるパラメータ類を含めたものである。また、その他の情報には、各プリンタが持っている印刷中、正常、用紙無し等のステータスや、プリントJOBスケジューリング部520が持っているプリントJOBのスケジュールがある。
【0187】
図60において、クライアントマシン510では、プリントJOB作成部512でプリントJOBを作成し、プリントJOB記憶部513にいったん記憶した後、プリントJOB送信部514により、プリントJOBを作成したクライアントマシン510から、プリンタを管理するサーバマシン511に送信される。
【0188】
サーバマシン511では、送られてきたプリントJOBをプリントJOB受信部516により受け取り、プリントJOB解釈部571に渡す。プリントJOB解釈部571では、受け取ったプリントJOBに含まれるユーザからの指示を解釈し、システムが処理可能なパラメータ等の情報に変換する。プリントJOBのパラメータ類が未設定の場合はプリントJOB自動設定部517に渡し、すでに設定されている場合はプリントJOB自動変更部518に渡す。また、プリントJOBシュミレーション部601では、プリントJOBで指定された設定での印刷をシュミレートし、印刷時間及びトナー使用量を求める。
【0189】
プリントJOB自動設定部517では、プリントJOBから取得される緊急性、経済性、品質などを考慮しながら、未設定の印刷パラメータを設定する。一方、プリントJOB自動変更部518では、同様な処理をすでに設定されているパラメータを変更することでも実現する。このようにして、設定または変更されたプリントJOBは、プリントJOBスケジューリング部520が持っているプリントJOBのスケジュールに登録され、そこから順次プリントJOB送信部519へ読み出されて、または直接プリントJOB送信部519に渡り、印刷される。
【0190】
ここで、プリントJOB自動設定部517及びプリントJOB自動変更部518には、プリンタ状況認識部515を介して取得された印刷中、正常、用紙無し等の使用可能なプリンタのステータスが渡り、プリントJOBの設定または変更において利用される。また、同様にプリントJOBスケジューリング部520が持っているプリントJOBの印刷スケジュールも渡り、利用される。
【0191】
また、図60に表してあるように、プリントJOBは異なる経路で流れることも想定される。例えば、プリントJOBを作成したマシンと、プリンタを管理しているマシンが同じ場合には、プリントJOB送信部514を通らないこともある。
【0192】
図61は、プリントJOBシュミレーション部601による処理のフローチャートである。プリントJOBシュミレーション部601では、まずステップS611で、シュミレートの準備として、印刷時間やトナー使用量を決定する要因を初期化する。ステップS612で、プリントJOBで指定された設定での印刷時間をシュミレートし、ステップS613で、プリントJOBで指定された設定でのトナー使用量をシュミレートして、印刷時間及びトナー使用量を求める。
【0193】
具体的な方法は、実施形態17及び18で説明したものと同様である。
【0194】
〔実施形態22〕
本実施形態では、プリンタに複数の出力トレイを設け、利用者に応じて出力するトレイを選択する。
【0195】
図62は、本実施形態のプリンタシステムの処理手順のフローチャートである。プリンタシステムはプリントJOBを受信すると、複数のプリントJOBを同時に受け取った場合の対応などの処理を行った後、図62の処理を起動する。
【0196】
図63に、本実施形態のプリンタシステムのプリンタの外観図を示す。同図に示すように、このプリンタ631、632は、出力トレイを複数持ち、プリンタ631では、それぞれの出力トレイにそのトレイ上の文書が誰の文書であるかを表示する画面を持ち、プリンタ632では、共通画面にどの出力トレイに誰の文書があるかを表示する。また、それぞれの出力トレイ毎にあらかじめ利用者を設定しておけば、利用者専用の出力トレイになり、特に設定しておかなければそれぞれの出力トレイの利用者は必要に応じて変化することになる。
【0197】
本システムにより、文書の到着を知らせる、印刷の終了を知らせる、印刷済み文書の取り忘れを知らせる(センサーがついている)などの機能が実現される。
【0198】
以上の処理の流れを説明する。図62において、ステップS621で、プリントJOBに含まれる情報から、送付先情報を取得する。送付先情報は、実施形態29で説明するようにプリントJOBの内容中に記入された指定を解釈することで取得するか、Emailのように最初からプリントJOBの内容とは別に設定された情報から取得される。この時、従来技術の使用例のように、通常のパソコンの出力デバイスとしてプリンタを使用する場合には、普通、送付先は指定されていないが、本実施形態を用いたシステムのように、FAXやEmailの代りのようにして使用する場合には、逆に送付先が指定されているのが普通である。ステップS622で、送付先が指定されているかどうかチェックする。ステップS623で、送付先の人に文書が届いたことを通知する。ステップS624で、プリントJOBに含まれる情報から、送付元情報を取得する。送付元情報は、実施形態29で説明するようにプリントJOBの内容中に記入された指定を解釈することで取得するか、Emailのように最初からプリントJOBの内容とは別に設定された情報から取得される。この時、従来のように、通常のパソコンの出力デバイスとしてプリンタを使用する場合には、普通、送付元は本システムの管理範囲にあるが、本実施形態を用いたシステムのように、FAXの代りのようにして使用する場合には、逆に送付元は管理範囲には無いのが普通である。
【0199】
ステップS625で、送付元が管理範囲にあるかどうかチェックする。ステップS626で、送付先が指定されている場合には送付先に対応して、出力トレイを選択する。送付先が指定されておらず、送付元だけが指定されている場合には送付元に対応して、出力トレイを選択する。ステップS627で、図63の(a)のように、対応する出力トレイに、送付先または送付元の情報を表示する。または、図63の(b)のように、共通表示画面に、送付先または送付元の情報と出力トレイの場所を表示する。この時、それぞれの出力トレイ毎にあらかじめ利用者を設定してあれば、利用者専用の出力トレイになり、特に設定しておかなければそれぞれの出力トレイの利用者は必要に応じて変化することになる。ステップS628で、印刷を実行する。ステップS629で、印刷が終了し、送付元が管理範囲にあるかチェックする。ステップS630で、送付元に印刷が終了したことを通知する。ステップS631で、一定時間文書が残っていて送付元が管理範囲にあるかチェックする。ステップS632で、送付元に印刷済み文書が長い間残っていることを通知する。
【0200】
〔実施形態23〕
本実施形態では、時間に関する情報を取り扱う。図65は、本実施形態のシステムの機能構成を示す図である。処理部650は、理解部652、プランニング部653、実行部654、応答部655、知識ベース656を備え、データベース651と接続している。
【0201】
図64は、本実施形態の全体的な処理の流れであり、図65の機能構成における処理手順をフローチャート化したものである。
【0202】
ステップS640で、外部からの入力があるかを調べ、あれば、理解部652により、知識ベース656を参照して、ステップS641で、入力された文章を単語やセンテンス単位で解析し、更にステップS643で、入力内容の目的を解析し、理解する。ステップS644で、目的の理解に必要な情報が不足していないかを判断し、不足があれば、ステップS645でユーザに対して問い合わせを行い、ユーザからの回答を知識ベース656に学習してステップS643に戻る。不足がなければ、ステップS646に進む。また、ステップS640で入力がなければ、ステップS642で、実行すべき仕事を見つけ出して、ステップS646に進む。
【0203】
ステップS646では、プランニング部653により、目的を達成するためのプランニングを行なう。ステップS647では、プランニングのために必要な情報が不足していないかを判断し、不足があれば、ステップS648でユーザに対して問い合わせを行い、ユーザからの回答を知識ベース656に学習してステップS646に戻る。不足がなければ、ステップS649で、実行部654によりプランを実行する。この時、実行部654は、必要に応じて、データベース651にアクセスしたり、他のアプリケーションと交信したりする。そして、応答部655により、ステップS650で、レスポンスの実行をすべきかを判定し、する場合は、その内容を決定する。更に、ステップS651で、決定された内容に対応するレスポンスを作成してユーザに応答する。
【0204】
理解部652は、外部から入力された情報、例えばキーボード入力、音声入力、Email、FAX、ニュース情報などに対して、必要なら認識を行なった上で、内容の解析を行ない、文章中にある言葉から時間的な概念を解析し、時間に関わりのある文章の内容を理解するものである。
【0205】
図67は、電子メールからスケジュール情報を抽出する例を示す図である。上述の処理は、具体的には図67にあるように、Emailで受取った文書の内容を解析し、「2月22日」「13時30分」「15:00」という時間的概念を見つけ出して解析し、この概念に関わりのある文章「2月22日の13時30分から15:00までB会議室で、特許システム説明会を予定しています。」を理解することにより、時間に関連する行動をスケジュールへと対応づけることが可能となる。
【0206】
また、解析された時間的概念と現在時刻とを比較し、未来の時刻であれば、その行動をスケジュールに登録し、過去の時刻に関する記述であれば、スケジュールに登録せずに破棄する、あるいは過去の出来事の記録として、個人データベースなど、スケジュール以外の種類の情報として登録する。
【0207】
また、理解部652は、外部から入力された情報、例えばキーボード入力、音声入力、Email、FAX、ニュース情報などの内容の解析を行ない、文章中にある言葉の中にシステムがまだ知らない言葉(単語、概念など)や実行したことがないプランなどを発見したときには、その言葉やプランに緊急性がない場合は、その言葉やプランに関わる情報を順次見つけていくことで学習を行なっていき、知識ベース656に知識として貯える。
【0208】
具体的には、例えば、XYZという知らない言葉が出てきた時にXYZという何かが存在することを記憶しておき、次に「XYZは非常においしい」「XYZは固い」などといった文章を解析することで、XYZは固くておいしい食べ物である。と学習する。
【0209】
プランについても、初めてのプランを指示された場合に、その時の状況から、例えば、ユーザが不在時のプランと理解すれば、ユーザ不在時のプランの立てかたの例として学習を行なうものである。
【0210】
更に、システムが行なった行動やプランについて、例えばユーザに関わる情報をニュースなどから取得した時に、その都度ユーザに対して報告を行なっているシステムに対して、ユーザが報告を受けた際に、「次からはこの情報の報告はしなくていいよ。」などといった自然言語でシステムに指示を出すことにより、システムはその情報の報告を行なわないように学習をすることもできる。
【0211】
以上のように、このシステムでは、理解部652で、外部から入力された情報の内容の解析を行ない、目的を解析し、プランニング部653で、目的を達成するためにシステムが行なわなければならない行動のプランを立てる。そして、実行部654で、処理の実行を行なうものである。また、応答部655により、実行した処理についてユーザに通知を行なう。
【0212】
例えば、図67にあるようなEmailを受けた場合に、差出人の情報から、個人データベースに未登録の相手からのメールであると理解した場合には、メールからその人に関する情報を抽出し、データベース651の個人データベースに登録する。更に、それ以外に個人データベースに未登録の人物に関する情報がある場合にも、個人データベースに登録するようにしてもよい。
【0213】
またメールが説明会の案内であることを理解することにより、データベース651のユーザのスケジュールにアクセスし、既存のスケジュールデータとの時間のマッチングを行なう。新規スケジュールデータに既存のスケジュールデータとの衝突などの問題がなければ、このデータをスケジュールを追加登録するが、図69で示すように、問題を発見した場合には、送信元に対する返事およびユーザに対する報告を作成する。
【0214】
このように、本システムは、受取った情報から内容を理解することにより、システムが行なうべきレスポンスを状況により作り出して実行するものである。
【0215】
なお、上記説明では、Emailを送ってきた相手に対して、システムがユーザに確認せずに返事を作成し、返送するという処理を行なったが、これは文書中に「都合の悪い方は、至急ご連絡下さい。」という文章があり、これを解析した結果から、応答の緊急度が高いと判断したために行なった行動である。ここで、開催予定がかなり先の日時であったり、任意参加などの会合で、応答の緊急度が低いと判断された場合には、応答に先立ってユーザに確認を行なうなど、緊急度に応じて行なう行動を決定するものである。
【0216】
また、自然言語によるユーザからの指示と同様に、ユーザからの自然言語入力に対して、スケジュールや個人データベース等にアクセスして応答することが可能である。
【0217】
例えば、「だれそれの電話番号は何番?」と自然言語で質問することにより、個人データベースのアクセスを行なったり、「16日の会議は何処である?」と自然言語で質問を受けることによりスケジュールにアクセスし、ユーザに返事をすることが可能である。
【0218】
図66は、本実施形態の全体的な処理を行なうシステムと外部との入出力の種類を表した図である。
【0219】
入力としては、キーボードから入力したり、電子メールとして受信した自然言語情報、あるいはスキャナから画像として入力される文書や画像、マイクなどから入力される音声、カメラから入力される画像などが扱える。スキャナにより読み取られた文書には文字認識処理を施し、音声には音声認識処理を施すことにより、自然言語の入力情報を得ることができる。
【0220】
入力において、入力無し(Idle)は、図64のステップS642で示したように、外部からの入力が何もない場合にシステム自らが実行するべき仕事を探して、入力とするものである。例えば、与えられた仕事が無いアイドル状態の時に、ニュースをアクセスし、ユーザに関わりのある情報を自ら取りに行き、入力情報とする。
【0221】
また、出力としては、スケジュールなどのデータベースへの登録や、ファイル記憶装置へのファイリング、またはデータの削除。更には、ユーザへの通知や送信元への返答などがある。出力で重要なことは、システムの理解の範囲では処理を行なうことができないという判断をすることができ、できない旨の応答をするなど、処理ができない場合に他のアクションを行なうことが可能な点である。
【0222】
また、入出力の相手としては、ユーザや外部の装置、あるいはシステム内部の他の処理部あるいは別のアプリケーションなどがある。
【0223】
また、入ってきた文書を解析して、人に関する情報及び時間に関する情報をデータ抽出して、個人情報データベースやスケジュールデータに格納すると共に、期待されているアクションを類推するのに必要な情報も抽出して、プランニングで利用される。
【0224】
図67の例では、入ってきた Email 文書を解析した結果、人に関する記述として、
が存在しており、このうちメールアドレスが”kazuyo@abc.canon.co.jp”である人物が個人データベースに登録済みで、他の人物は未登録だとすると、そこから図67のように、PERSON1,2,3の情報が抽出され、データベース651に登録される。
【0225】
一方、時間に関する情報の記述として、「 2月22日の13時30分から15:00までB会議室で、特許システム説明会を予定しています。」が存在するので、そこから EVENT1の情報が抽出される。
【0226】
さらに、期待されるアクションを類推するのに利用される記述として、「都合の悪い方は、至急ご連絡下さい。」が存在するので、図70以降で説明する処理で利用される。
【0227】
図68は、図67および図69の処理を実行するための処理の流れを、図64のフローチャートを元に必要な部分を抜き出し、実行処理ステップS649をより具体的にあらわしたフローチャートである。
【0228】
以下に具体的に図67,69の流れに合わせて説明する。
【0229】
ステップS680で、Emailの入力があると、ステップS681で、入力されたEmail文書を単語やセンテンス毎に解析する。ステップS683で、シグネチャおよびヘッダから、「人の情報がある」、「説明会というイベントがある」ということを理解する。更に、「不都合の時に返事が必要である」ということを理解する。
【0230】
ステップS684で、人の情報を抽出し、データベースに登録するプラン、及び説明会イベントをスケジュールに登録するプランをたてる。ステップS685で、実行プランは存在する。ステップS686で、問題がないので、ステップS688へ処理を渡す。ステップS688で、人の情報を抽出しデータベースに登録し、ステップS685に戻る。
【0231】
図67の場合、ステップS685で、説明会イベントをスケジュールに登録するという実行プランが存在する。ステップS686で、このイベントは問題無くスケジュールに登録できるのでステップS688へ処理を渡す。ステップS688で、スケジュールの登録を行なう。ステップS685に戻ると、実行プランはなく、ステップS689で通知文もないので、処理を終了する。
【0232】
図69の場合、ステップS685で、説明会イベントをスケジュールに登録するという実行プランが存在する。ステップS686で、スケジュールの衝突を発見する。プランの実行には問題があるので、ステップS687で、都合が悪いので返事を送り、ユーザへ報告するようにプランを立て直す。ステップS685で、返事を書いて送信するプランが存在する。ステップS686で、プランの実行に問題は無いので、ステップS688で、都合が悪い旨の文書を作成し、送信元の相手にリプライ文書を送信する。ステップS685で、ユーザ通知用の文書作成プランが存在する。ステップS686で実行に問題は無く、ステップS688で、Emailの内容およびスケジュール衝突により、再考をお願いする返事を出したことをユーザに通知する文書を作成する。ステップS685で、実行プランはなく、ステップS689で、通知文があるので適宜ユーザに通知して、処理を終了する。
【0233】
図69の例では、データ抽出されたスケジュール情報 EVENT1 と、以前から予定されていたスケジュール EVENT2を比較した結果、予定が重なっていることが分かる。更に、図69の例で抽出した情報によれば、都合が悪い場合は連絡しなければならないこともわかる。そこで、本実施形態を用いたシステムでは、手紙作成の知識を利用して、予定が重なっている為会議に出席できないという旨を伝える手紙を作成し、自動的に返事を送信する。
【0234】
更に、本実施形態を用いたシステムが自動的に返事を出したことを、本実施形態を用いたシステムの利用者に通知する。
【0235】
〔実施形態24〕
図70は、利用者が音声により本実施形態のシステムに質問した場合の例を示す図である。
【0236】
利用者が「明日の会議はどこでやるんだっけ?」と音声で質問すると、システムは利用者のスケジュール情報を参照して、会議の場所を答えることができる。
【0237】
さらに、利用者が会議が行われる場所への行き方がわからない場合、「下丸子のどこにあるの?」と質問すると、それに対してデータベースを参照して、更に利用者にどのように説明すればわかりやすくなるかをプランニングした上で、説明ストーリを作成し、グラフィカルなイメージや音声を交えながら説明を実行する。
【0238】
図71は、図70の処理の流れを図64の基本フローチャートに基づいて表わしたフローチャートである。ここでは、外部からの入力が質問となっている。
【0239】
1回目の質問に対する処理を説明する。ステップS710で、外部からの音声入力(明日の会議はどこでやるんだっけ?)が行われると、ステップS711で、入力文を解析する。ステップS712で、明日の会議に対する質問であり、ユーザの目的は、その場所を知ることであることを理解する。ステップS713で、質問に答えるため、以下のプランニングを行なう。▲1▼ 明日のスケジュールを取り出す。▲2▼ スケジュールに登録された場所を取得する。▲3▼ 取得した場所を通知するための文書作成を行なう。
【0240】
ステップS714で、この場合は情報の不足はないのでステップS716に処理を渡すが、スケジュールに複数の会議が存在した場合には、どの会議かがわからないため、ステップS715でユーザに問い合わせて、再度プランを立て直すことを実行することになる。ステップS716で、ステップS713で立てたプランを実行し、ユーザへの返事の文書を作成する。ステップS717で、ユーザに通知すべき文書が存在するので返事を行なうことを決定する。この時入力が音声であったことを理解し、返事も音声で行なうことも同時に決定する。ステップS718で、音声データに変換した文書をユーザに通知する。
【0241】
ここで、一旦処理は終了するが、続けてユーザからの質問が入力される。2回目の質問に対する処理を説明する。
【0242】
ステップS710で、外部からの音声入力(下丸子のどこにあるの?)が行われると、ステップS711で、入力文を解析する。ステップS712で、1回目の質問の継続質問であることを理解し、回答した名称の具体的な場所を尋ねる質問であることを理解する。
【0243】
ステップS713で、質問に答えるために、以下のプランニングを行なう。▲1▼ 文書では説明困難であることをプラン、▲2▼ 画像を順に流して説明することをプラン、▲3▼ 画像データベースと場所のデータベースから必要な画像を取得するプラン、▲4▼ 画像に合わせた文書を作成するプラン。
【0244】
ステップS714では、情報の不足はない。ステップS716では、ステップS713で立てたプランを順次実行し、画像に合わせたユーザへの返事の文書を作成する。ステップS717で、ユーザに通知するべき文書が存在するので、返事を行なうことを決定する。この時、入力が音声であったことを理解し、画像をモニターに表示しながら、説明を音声で行なうことも同時に決定する。ステップS718で、ユーザに通知する。以上で、図70の一連の処理の流れは終了する。
【0245】
〔実施形態25〕
図72の例は、予定が重なった場合に、2つのスケジュールの優先度を評価して、どうすべきかをプランニングした上で利用者に提案を行う。
【0246】
つまり、この例の場合には、一方の予定が他方よりもより重要な場合、比較的重要でない方の予定をキャンセルするように提案している。
【0247】
それに対し、利用者はキャンセルを提案された予定について、代理を送ることが可能だという知識を持っている場合、そのようにシステムに答えることで、システムは、それにあわせたアクションを更に行うことができる。また、この時、代理を送るというプランについて学習することもできる。
【0248】
図72は、図68のフローチャートで説明したステップS686で、スケジュールの衝突を発見した場合の図64のステップS646でのプランの立てかたの他の例を組み合わせたものである。
【0249】
図68では、不都合の返事を無条件に相手に送信する処理として説明したが、ここではステップS646のリプランニングの処理方法として、複数のリプライニングを用いた処理を説明する。
【0250】
図73は、スケジュール衝突時のリプライニングとして、文書の内容から優先度を評価してユーザへ提案するための処理のフローチャートである。この処理を以下で説明する。
【0251】
上記で述べたスケジュールの優先度は、スケジュール毎にユーザがあらかじめ設定しておいた情報や、スケジュールに含まれるイベントへの出席者や、スケジュールの目的や、受信した文書内容から解析される結果などから総合的に決定される。ここで、出席者から決定される優先度は、ユーザがあらかじめ出席者となるような人物に対して設定しておいても良い。
【0252】
また、スケジュールの目的から決定される優先度は、ユーザがあらかじめ設定しておいても良いし、過去の操作から学習したユーザが興味を持っている目的や分野との、共通性を考慮することで決定されるようにしてもよい。つまり、ユーザがコンピュータ関連の仕事に従事している場合、不動産関連のイベントよりは、コンピュータ関連のイベントのスケジュールの方が優先される。もちろん、ユーザが家の購入を検討しており、そのことがユーザに関する情報として記憶されているのであれば、不動産関連のイベントのスケジュールの方が優先されることもありえる。
【0253】
一方、文書内容の解析結果から決定される優先度としては、例えば「必ず出席して下さい」という記述の文書と、「できれば出席して下さい」という記述の文書のスケジュールが衝突した場合、前者の方が優先度が高いと判断されるなどとすることができる。
【0254】
図73において、ステップS730で、既存のスケジュール情報を取得する。ステップS731で、新規のスケジュール情報の優先度を評価する。ステップS732で、両情報の優先度の比較を行なう。ステップS733で、比較結果からユーザに問い合わせるための通知文書(例えば、衝突する2つのスケジュールを示し、優先度の低い方について、キャンセルしてよいかなどをたずねる)を作成するプランを立てる。ステップS734で、作成した通知文をユーザに伝える。ステップS735で、プランの問い合わせに対するユーザからの返事を得る。ここで、ユーザの返事を実行するために、ユーザの返事を入力として再度プランニングするために、図68の返事リプランニングと同様の処理を行なう(図74)。
【0255】
図74は、上述のリプランニングの処理のフローチャートである。
【0256】
ステップS740で、図73で最終的に得た返事を入力とする。ステップS741で、入力文書を解析する。ステップS742では、スケジュールの変更、初めての指示プランであることを理解する。
【0257】
ステップS743では、以下のプランを立てる。(a)スケジュールを変更する。(b)代理の人に通知するための文書を作成する。(c)新しいプランを学習する。(d)ユーザに通知する文書を作成する。(e)思い出しスケジュールがあることを通知する。
【0258】
ステップS744では、ステップS743で立てたプランを実行する。(a)スケジュールを変更する。(b)代理の人に通知するための文書を作成し、通知する。(c)代理人を頼むというプランを学習する。(d)ユーザに通知するための文書を作成し、(e)思い出しスケジュールがあることを作成文書に付け加える。
【0259】
ステップS745では、ユーザへの通知文をユーザへ伝える。以上で、図72の処理を実行するための処理の説明を終了する。
【0260】
〔実施形態26〕
図75は、本実施形態のシステムの入出力も含めた全体イメージを表す図である。図76は、図75のシステム全体の処理の流れを表わしたフローチャートである。
【0261】
Email、音声、キーボード入力、WWW、電話、FAX、スキャナ、カメラ等各種入力機器から入力された情報は、すべて入力Management部751で解析され(ステップS760)、Core部752で、内容を理解し、適切な処理をプランニングした後(ステップS761)、出力Management部753により、出力メディアを決定し、出力内容や出力経路の準備をした後(ステップS762)、Email、音声、WWW、電話、FAX、プリンタ、コピー機等各種出力機器から出力される。
【0262】
図77〜79は、図76の全体フローチャートの各ステップであるステップS760(入力Management部751の処理)、ステップS761(Core部752の処理)、ステップS762(出力Management部753の処理)を具体的に表わしたフローチャートである。
【0263】
図77において、入力Management部751は、ステップS770で、新規入力を待つ。ステップS771で入力された情報を取得する。ステップS772では、取得した入力情報の解析処理を必要なら認識を行なった上で実行する。この時、入力Management部751は、種々のメディアから情報を受けつけることができ、各メディアに応じた方法で、認識や解析を行なう。
【0264】
図78において、Core部752は、図77で解析された入力情報を受取り処理を行なう。
【0265】
ステップS780で、解析結果から入力情報の目的を解析、理解する。ステップS781では、入力情報の目的が自分(システム、ユーザ)とどのように関係しているか調べる。ステップS782で、目的に合わせて自分との関係から何を実行するべきかのプランニングを行なう。ステップS783では、ステップS782で作られたプランを実行する。
【0266】
図79において、出力Management部753は、図78で実行した結果からレスポンスする必要があるかを決定し、必要があれば、レスポンスを作成して出力する。
【0267】
ステップS790では、図78で実行した結果の解析を行なう。ステップS791では、実行した結果に対するレスポンスがあるかを判定する。何もなければこのまま処理を終了する。レスポンスがある場合には、ステップS792で、外部からのレスポンスに対するレスポンスをどのようにするか決定する。ステップS793では、レスポンスを行なうメディアを決定する。ステップS794では決定したメディアに合わせたレスポンスの作成を行なう。ステップS795で作成したレスポンスをメディアに合わせて発行する。ステップS796で、レスポンスを実際に物理的に出力する。以上が、図75の全体イメージを表わす処理である。
【0268】
例えば、ユーザに会議の開催を知らせるEmailが到着した場合、まず、入力Management部751により、図77の手順で入力情報を解析する。この結果から、Core部752により、図78の手順で、ユーザ及びシステムがどう対応すべきかをプランニングされ、処理される。その結果が、出力Management部753に渡され、図79の手順で処理が行われ、レスポンスすべきとプランニングされていた場合、実際にレスポンスが行われる。
【0269】
ここで、Emailで知らされた会議の内容やそれ以前のユーザのスケジュールの状況によっては、ステップs782で、ユーザに積極的に通知することが必要だとプランニングされるので、レスポンスが必要となる。よって、ステップs791でレスポンスありと判断される。ステップs792では、レスポンスする内容が決定される。例えば、スケジュールが衝突している場合、どちらかのスケジュールの選択を促したり、参加すべきかどうかわからない会議の場合、その判断を問い合せるなどのレスポンスする内容自体がここで決定される。続いて、ステップs793において、上記で決定されたレスポンスの内容をもっとも効果的に伝えることができるメディアが、決定される。例えば、ユーザが外出先にいるならば、電話やFAX等の外出先のユーザにも通知することができるメディアが選択され、逆にパソコンなどを使用している最中ならば、さまざまな資料を効果的に表示することができるパソコン等のメディアが選択される。続いて、ステップs794、s795において、上記で決定された内容やメディアに合わせて、文書や画像が作成され、さらにメディアによっては自然言語音声に変換されるなどの方法によって、レスポンスが作成され、発行される。
【0270】
図80は、図75の全体的流れをさらに詳しく、入力された情報からどのようにしてデータが抽出されるかを説明するためのフローチャートである。
【0271】
本実施形態を用いたシステムでは、文書が入力された場合、まず、ステップS801で、文書のレイアウト、バーコードなどの種別判別用記号を参照して、文書のタイプを推測する。その結果、文書が手紙か、報告書か、特許公報かなどが推測できれば、ステップS803に進み、推測できなければ、ステップS810に進み、完全なOCRを行なって文書タイプを確定する。
【0272】
ステップS803では、OCRにより、推測された文書タイプが正しいかを確認するために、文書タイプを確認するのに特徴的なブロックをOCRして解釈する(図82参照)。その結果、ステップS804で、手紙の宛先や特許公報の特許番号などがわかり、文書タイプを確認する。この確認された文書タイプが推測した文書タイプと一致すれば、ステップS806に進み、一致しなければ、ステップS810に進む。例えば、用紙の上部分に帳票の種類を表す文字列が印刷されている帳票類であれば、その用紙の上部をOCRすることで文書タイプ確定が容易である。
【0273】
ステップS806では、上記確認された文書タイプの知識ベースを用いて、OCRにより特定ブロックを読み取り解釈し、ステップS807でその結果得られた情報と関係する情報が過去に存在したかどうかチェックをし、存在した場合ステップS808に進み、存在しなかった場合、ステップS810に進む。その結果、宛先や特許番号などがわかり、過去に送った手紙の返事であるかどうかなどが理解される。
【0274】
ステップS808では、上記理解された状況を元に、重要となる本文の内容等から目的を判断し、ステップS809で実行する処理を決定する。
【0275】
ステップS811では、上記で理解された目的から、その他のOCRされていない範囲に解析範囲を広げて解析し、ステップS812以降で実際に処理を実行させる。その結果、必要ならばファイリングなどの処理が行われる。
【0276】
上記処理により、内容を推測しながらOCRを行うことができるので、従来のようにいきなり完全なOCRを行うよりも、効率よく正確なOCR結果を得ることが可能になり、OCR結果を元に行われる処理も正しく行えるようになる。
【0277】
図81は、データ抽出処理の対象となる手紙/faxの例を示す図である。
【0278】
この例において、ステップS801で、文書のレイアウトから文書のタイプを推測する。その結果、DocType1 =手紙/fax.となる。
【0279】
一方、ステップS803で、OCRにより、特定ブロックを読み取り、解釈する。(図82参照)その結果、
From, To, Dear Sirなどが得られ、
ステップS804で、DocType2=手紙/faxと確認される。
【0280】
図80のステップS803で説明した、OCRによる特定ブロック読み取りを具体的に説明する。図82は、この処理を説明する図である。
【0281】
本実施形態を用いたシステムでは、下記のようにスキャニングが実行される。
▲1▼解像度の低いプリスキャンにより、高速に読み込む。
▲2▼読み込まれた情報のフォームと、DB823に貯えてあるフォーム情報とを比較し、一致した場合フォーム以外に入力された情報または、フォーム毎に指定された領域(例えば、図82のカード上の枠内の部分)の情報だけを高解像度で読み込む。
▲3▼上記で読み込まれた領域だけをOCRの対象として解析し、処理を続行する。
【0282】
更に、この例では、同じフォームのカードが複数枚存在していることを想定しているので、一定時間間隔で読み込もうとしている文書は、同じフォームの可能性が高いので、まず、同じフォームのものとして処理を行い、矛盾が発生して初めてフォームが異なるものとして再解析を行う。
【0283】
これにより、処理速度の大幅な向上と、解析範囲を限定し、しかもフォームを特定することで解析ドメインを特定し、解析精度の大幅な向上が可能になる。
【0284】
図80のステップS808で説明した、内容等からの目的の判断を具体的に説明する。
【0285】
本実施形態を用いたシステムでは、日付のデータを参照して、図83の手順により、処理の判断が実行される。送り手が利用者の場合、下記の処理を実行する。
▲1▼日付が今日の場合、FAXで送信すると判断する。
▲2▼日付が昨日以前の場合、以前に同じ文書を送ったかどうか、同じ内容を見たことがあるか等をユーザに問い合せ、ファイリング、再送信、利用者の間違いかどうかを判断する。
▲3▼日付が明日以降の場合、日付に指定されている日まで保持するか、利用者の間違いかどうか問い合せる。
【0286】
具体的には、図81の文書を例にして、Date1を文書の日付、Date2を今日の日付とした時、
【0287】
図83は、入力された文書から目的を解析する処理のフローチャートの一例である。文書が入力されると、ステップs830で送信者がユーザかどうか判定され、ユーザ以外の場合には入力された文書が受信した文書であると判断され、ステップs831で、それに対応してファイリングやデータ抽出等といった目的が洗い出され、終了する。
【0288】
一方、送信者がユーザの場合には、入力された文書がどのような文書なのかを更に解析する為に、ステップs832以降に進む。ステップs833で文書の日付と今日の日付が比較され、日付が近い場合には、ステップs835で、以前にその文書を送信したかどうかがチェックされ、送信していない場合にはその目的は「文書の送信」だと決定される。また、以前に送信した文書の場合には、ステップs843で、それに対応してファイリングや再送信等の目的が洗い出される。
【0289】
一方、文書の日付がかなり以前のものであった場合には、ステップs836に進み、送信したかどうかがチェックされ、送信した文書の場合、同じくステップs843に進む。送信していなかった場合には、ステップs837に進み、文書中の情報から他に日付が記載されていないかチェックされる。日付を見つけた場合には、同じくステップs843に進む。日付が無い場合には、目的として文書の送信が考えられるが、日付が間違えている可能性もあると判断される。
【0290】
また、文書の日付が現在の日付よりかなり先のものである場合には、ステップs840で、文書中の情報から他に日付の記載があるかどうかチェックされ、ステップs841で日付を見つけた場合には、目的は「文書の送信」だと決定される。日付が無い場合には、ステップs839に進む。
【0291】
〔実施形態27〕
図84は、本実施形態を用いたシステムの構成例の1つを示す図である。この例では、システムは現状のFAXのように動作する。
【0292】
しかし、本実施形態のシステムによれば、利用者が送信先を指定することなしに、読み込まれた文書に付されたバーコードやカバーシートの情報から、文書の送信先が判断されて、適切な送信先へ送信することができる。
【0293】
これにより、プリンタ、FAX、Email、WWWに適切に情報が送られることになる。
【0294】
〔実施形態28〕
図85は、本実施形態を用いたシステムの構成例の1つを示す図である。この例では、システムは、机の上にあるあらゆる文書を処理してくれる、デスクソータの機能を実現する。
【0295】
つまり、読み込まれた文書の内容に応じて、分類、ファイリング、スケジューリング、その他データ抽出、処理の自動実行が行われる。
【0296】
〔実施形態29〕
図86は、図85で説明したシステムをさらに詳細に説明したものである。図86に基づいて、図87のフローチャートに従って、処理手順を具体的に説明する。
【0297】
図87は、本実施形態の処理手順を表わすフローチャートである。図88、図89は、この処理中に利用される知識を表わしたものであり、図88は、一般知識ベースの知識を表わしたものである。図89は、カバーページに特定された分野の知識ベースの知識をあらわしたものである。本実施形態では、図88、図89で定義された情報を参照して、入力された文書中に含まれる文字列と、図中の文字列の欄で定義された文字列とを比較し、一致した項目の概念と、その意味を更に特定するRoleと、後続する情報を規定するCondition又は、指示された処理 Actionを取得し、解析を行う。
【0298】
図87において、ステップS870で、カバーページをスキャンしてOCR処理を実行する。ステップS871で、図88の知識ベースを参照し、送信者、受信者の氏名、電話番号、FAX番号などの情報を抽出する。ステップS872で、抽出した情報をデータベースに登録する。例えば、図86の例では受信した文書のカバーページに「To: Macrohard Corp.」という文字列が含まれている。そこで、図88の文字列の欄に定義されている項目と比較すると、一致する項目「To」が発見され、そのRoleは受信会社名または氏名であるので、受信者の情報として「Macrohard Corp.」が抽出される。
【0299】
ステップS873で、図89のカバーページに特定された分野の知識ベースから、通知方法や手段、ファイリング作業や場所などのアクションやJOBを取り出す。例えば、図86の例では受信した文書のカバーページに「File: MH/Contract」という文字列が含まれている。そこで、図89の文字列の欄に定義されている項目と比較すると、一致する項目「File」が発見され、指示されたアクションとして、ファイリングすることが取り出され、ファイリング場所の情報として、文書中から「MH/Contract」が抽出される。
【0300】
ここで、Date1 = 1996年11月25日 & Date2 = 1996年11月25日であるとすると、図83につき説明したように、目的−文書送ると判断される。
【0301】
ステップS874では、本処理の目的のためのアクションが存在するか確認する。ステップS875では、相手に文書を送信することが目的であるので送信するアクションを実行する。ステップS876で、カバーページの情報からファイリングの必要があるか判断する。ステップS877で、図86の例では必要があるので、指示された場所である「MH/Contract」にファイリングする。
【0302】
ステップS878で、ステップS876と同様に、カバーページの情報から送信者に通知する必要があるか判断する。送信者に音声で通知するように指示されているため、ステップS879で、相手に文書を送信したことを音声で送信者に通知する。ステップS880で、その他のアクションがあるかを判断する。ステップS881では、キーワード指定があるので、ABCというキーワードでインデックスを作成する。
【0303】
〔実施形態30〕
図90は、過去に行われた履歴を、音声入力された自然言語による指示に基づいて参照して、処理を実行する例を示す図である。図90を基に、図91のフローチャートに従って、処理の説明を行なう。
【0304】
図91は、本実施形態の処理の流れを示すフローチャートである。ユーザから音声により、「Fax Contract again to John. Notify him by Phone.」という指示を受信すると、本システムは受信した自然言語による指示の目的を解析し、「Contractという文書をJohnにFAXで再送信し、到着を電話で知らせる。」ということを理解する。そこで、具体的に文書Contractと、送信先Johnを特定して、処理を実行させる為に、図91のフローを実行させる。
【0305】
ステップs910で、再送信ということは以前に送信が行われているので、データベースから履歴情報を取得する。その結果、文書Contract及びJohnが履歴情報から特定される。ステップS911で、パーソナルデータベースから John の宛先を取得する。データベース中には、John SmithとJohn Bushという2人のJohnが存在しているので、本来であれば送信先を特定することはできないはずであるが、ステップs910で履歴情報を参照したことで、以前に文書Contractを送ったJohnとは、John Smithであると判明し、送信先が特定される。ステップS912で、ファイリングデータベースから「Contract」文書を取得する。ステップS913で、送信先である John に文書を送信する。ステップS914では、通知指示「Notify him by Phone」があるので通知の必要があると判断する。ステップS915では、図89と同様、知識ベースのルールから、受信者に電話での通知をするように、送信先のFAX901に指示を行なう。ステップS916で、その外のアクションは指示されていないので処理を終了する。
【0306】
更に、文書を受信したFAX901は、前述の通知指示にしたがって、JohnにMr.Doorsから文書を受信したことを、電話で通知する。なお、FAX901が電話で通知することができない場合には、送信元で行なうようにしてもよい。
【0307】
〔実施形態31〕
図95は、解析された入力文書の内容から、利用者が何かを行うべきと判断し、実際に利用者に問い合せた後、必要な処理を自動実行した例のフローチャートである。図92は、入力文書の例を示す図である。図93は、システムとユーザとの会話の内容を表わした図である。図94は、図93の会話から判断してシステムが作成した出力文書である。
【0308】
図95のフローチャートに基づいて、図92の入力文書から図94の出力文書を作成するまでの処理を説明する。
【0309】
ステップS950で、図92の入力文書を解析して、以下の目的を理解する。(a) John Smith さんが11月28日の3時に横浜に到着すること。(b) John Smith さんは日本語が苦手なこと。(c)駅に迎えに来て欲しいこと。
【0310】
ステップS951で、理解した内容から、利用者が何かを行なうべきかを判断する。ここでは、駅に迎えに行かなければならないと判断するので、ステップS952に移る。ステップS952では、自分(システム)が代理で実行できるか判断する。ここでは、システムは自分で迎えに行くことはできないのでステップS953に移る。ステップS953で、利用者に問い合せる必要があるかどうか判断し、ステップS954へ進む。この例では、入力された文書の宛先から Aruna Rohra さん宛ての依頼であることを判断されるので、ステップS954に移る。
【0311】
ステップS954で、利用者(Aruna Rohraさん)に問い合わせる為の作業を行ない、問い合わせを行なう。この例では、ステップs951で理解した結果から、利用者にJohnさんを迎えに行かなければならないが、どう対処したら良いかを利用者に問い合せている。ステップS955で、問い合わせた結果から次に何を行なうかを判断し、行動を起こす必要があるか否かを判断する。この例では、利用者が、田中さんに迎えに行くことを頼むように、指示しているので、その指示にしたがって行動を起こす。よって、ここでは田中さんに代わりにお願いできないかを頼む必要が出てきたので、行動を起こす必要があると判断する。ステップS956で、田中さんに代理をお願いするための文書作成および連絡を行なう。ここでは電子メール用の文書を作成し、送信する。この例では、Johnさんが28日に到着するという情報と、利用者の代りに迎えに行って欲しいという指示と、この依頼の元になったオリジナルの文書を添付するということから、文書を自動作成している。
【0312】
以上で、入力文書から、利用者が実際に行動を起こさなければならない事柄(ここでは駅に迎えに行くということ)を実施するための処理の流れを説明した。
【0313】
〔実施形態32〕
図96は、リモコンによりシステムを操作する実施形態を示す図である。
【0314】
本実施形態のシステムによれば、デバイスとリモコンが直接あるいは間接的にコミュニケーションすることで、お互いにお互いを特定することができる。それにより、▲1▼自動デバイス特定、▲2▼デバイスの能力をデバイスから取得、▲3▼デバイス固有のUI(ユーザ・インタフェース)、▲4▼音声による操作、▲5▼基本操作はすべてのデバイスに対して共通、▲6▼ユーザ固有のUI、▲7▼状況に応じた自由度の高いUIといった機能が実現される。
【0315】
つまり、▲1▼リモコンを操作対象機器に向けるだけで操作対象機器を自動的に認識し、▲2▼デバイス毎の情報をデバイス自体からIrDAや無線LANを介して取得し、▲3▼取得されたデバイス毎の情報からデバイス固有のUIを実現し、▲4▼音声による操作を可能にする一方、▲5▼基本的な操作は同一のリモコンで操作可能とすることで共通基本操作を実現し、▲6▼ユーザの識別情報を参照することで、ユーザ毎に必要な情報をデータベースやアドレスブックから取得して、ユーザ固有のUIを実現するだけでなく、▲7▼状況に応じて最適なUIを実現する。
【0316】
図96では、リモコン960をFAX963に向けることで、FAX963から機種識別情報を得て、この機種に対応するUIをアクティブとし、表示された「Fax to 」に続けて、タッチペンで、「Fax to John」という文字列を入力してFAX963に指示することで、パソコン964内のアドレスブック965からJohnのFAX番号を読み出して、その番号に対して、FAX963にセットされた文書あるいはパソコン964内のファイル上の指定された文書を送信する。この詳細については、後述する。
【0317】
〔実施形態33〕
図97は、ステータスモニタの例を示す図である。
【0318】
本実施形態のシステムによれば、利用者が直接操作を行っている機械以外の情報を参照することができる。
【0319】
それにより、▲1▼リモート & ハンディ管理、▲2▼自動デバイス特定、▲3▼ステータスを見るための共通入出力、▲4▼携帯電話の機能を持つ、▲5▼音声操作、▲6▼赤外線入出力可能なすべてのデバイスに対応できるといった機能が実現される。
【0320】
つまり、▲1▼対象機器から離れた場所であっても必要な情報を取得可能になり、▲2▼リモコンを操作対象機器に向けるだけで操作対象機器を自動的に認識し、▲3▼基本的な操作は同一のリモコンで操作可能とすることで共通基本操作を実現し、▲4▼リモコンに携帯電話の機能を持たせることで操作性を向上し、▲5▼音声操作を可能にし、▲6▼一般的なプロトコルを用いることで赤外線入出力可能なすべてのデバイスに対応可能となる。
【0321】
図97では、ステータスモニタ970をプリンタ961、コピー機962、あるいはFAX963に向けて、タッチペンで、「Status」という文字列を入力して指示することで、ステータスモニタ970を向けたデバイスからステータス情報をステータスモニタ970に読み出して、ステータスモニタ970のユーザが各デバイスのステータスを確認することができる。また、例えば、パソコン964が、ステータスモニタ970からの命令が受信できない場所にある場合でも、このパソコン964とネットワークを介して通信可能なプリンタ961等に対して、パソコン964を指定してステータスを要求することにより、ネットワークとプリンタ961を介して、パソコン964からステータス情報をステータスモニタ970に読み出すこともできる。
【0322】
〔実施形態34〕
図98は、リモコン960が対象機種を認識し、対応するUIをリモコン960の内部から読み出して表示する例を示す図である。対象機種に向けていない状態でのリモコンには、図の中央のように、「操作したい機械に向けて下さい」というメッセージが表示されたデフォルト状態の画面となっている。
【0323】
ここで、リモコンと対象機種との間のコミュニケーションの流れを説明する。なお、下記の説明で▲2▼及び▲3▼は必須のものではない。例えば、▲4▼で対象機種が常に一定間隔でリモコンに向けた信号を発しているようにすれば、同じ効果を実現できる。あるいは、対象機種または他の装置によって、リモコン960が対象機種に向けられていることを、リモコン960と対象機種との位置関係から検出するようにしてもよい。また、▲4▼で、リモコン960が、対象機種の装置形状を見て対象機種を識別したり、対象機種に付されたバーコードを読み取って対象機種を識別したりするようにしてもよい。つまり、図98では必須の部分だけを図示している。
【0324】
▲1▼利用者がリモコン960を対象機種に向ける。
▲2▼リモコン960から対象機種に対象機種識別信号要求信号を送るタイミングを決定する為に、利用者がリモコン960のタッチパネルなどに触れる。または、あらかじめ常に一定間隔で対象機種識別信号要求信号を送るように設定されている。
▲3▼リモコン960から対象機種識別信号要求信号を対象機種に送る。
▲4▼リモコン960からの対象機種識別信号要求信号の要求に従って、あるいはあらかじめ常に一定間隔で対象機種識別信号を送るように設定されていれば、その設定にしたがって、対象機種識別信号を送る。
▲5▼対象機種識別信号を受け取ったリモコン960は、信号が示す対象機種にあわせてUIを決定し、リモコン960内部で貯えている対応するUIを表示する。ここで、識別信号は機種毎としたが、機器毎とすることで、同機種でも機器毎に異なるUIを利用することもできる。
【0325】
図99は、リモコンが対象機種を認識し、対応するUIをリモコン960の内部から読み出して表示する例における、リモコン側の処理の例を示すフローチャートである。リモコン側の処理の流れを説明する。
【0326】
ステップS991で、利用者の指示操作があるまで、待機する。ステップS992で、対象機種から対象機種識別信号を発信してもらう為の、対象機種識別信号要求信号を、赤外線等の方法で発信する。ステップS993で、対象機種から対象機種識別信号が発信されるまで待機する。ステップS994で、受け取った対象機種識別信号に対応するUIを、リモコン960が参照可能な内部のメモリなどから取得し、表示する。
【0327】
図100は、リモコン960が対象機種を認識し、対応するUIをリモコン960の内部から読み出して表示する例における、対象機種側の処理の例を示すフローチャートである。対象機種側の処理の流れを説明する。
【0328】
ステップS1001で、リモコン960からの要求信号があるまで待機する。ステップS1002で、対象機種識別信号を、赤外線通信等の方法で発信する。
【0329】
〔実施形態35〕
図101は、リモコンが対象機種からUIを受け取り、表示する例を示す図である。対象機種に向けていない状態でのリモコン960には、図101の中央のようにデフォルト状態の画面が表示されている。
【0330】
ここで、リモコンと対象機種との間のコミュニケーションの流れを説明する。なお、下記の説明で▲2▼から▲3▼は必須のものではない。例えば、▲4▼で対象機種が常に一定間隔でリモコンに向けた信号を発しているようにすれば、同じ効果を実現できる。あるいは、対象機種または他の装置によって、リモコン960が対象機種に向けられていることを、リモコン960と対象機種との位置関係から検出するようにしてもよい。また、▲4▼で、リモコン960が、対象機種の装置形状を見て対象機種を識別したり、対象機種に付されたバーコードを読み取って対象機種を識別したりするようにしてもよい。つまり、図101では必須の部分だけを説明している。
【0331】
▲1▼利用者がリモコン960を対象機種に向ける。
▲2▼リモコン960から対象機種にUI要求信号を送るタイミングを決定する為に、利用者がリモコン960のタッチパネルなどに触れる。または、あらかじめ常に一定間隔でUI要求信号を送るように設定されている。
▲3▼リモコン960からUI要求信号を対象機種に送る。
▲4▼リモコン960からのUI要求信号の要求に従って、UIを送る。あるいはあらかじめ常に一定間隔でUIを送るように設定されていればその設定に従って、UIを送る。
▲5▼UIを受け取ったリモコン960は、UIを表示する。
【0332】
図102は、リモコン960が対象機種からUIを受け取り、表示する例における、リモコン側の処理の例を示すフローチャートである。リモコン側の処理の流れを説明する。
【0333】
ステップS1021で、利用者の指示操作があるまで待機する。ステップS1022で、対象機種からUIを発信してもらう為の、UI要求信号を、赤外線通信等の方法で発信する。ステップS1023で、対象機種からUIが発信されるまで待機する。ステップS1024で、受け取ったUIを表示する。
【0334】
図103は、リモコンが対象機種からUIを受け取り、表示する例における、対象機種側の処理の例を示すフローチャートである。対象機種側の処理の流れを説明する。
【0335】
ステップS1031で、リモコン960からの要求信号があるまで待機する。ステップS1032で、UIを、赤外線通信等の方法で発信する。
【0336】
〔実施形態36〕
図104は、各デバイスのUIは無線LANサーバ1041内にあり、リモコン960を対象機種であるコピー機962に向けて、UIを要求すると、コピー機962からの依頼で、無線LANサーバ1041からリモコン960に対してUIが送信され、表示される例を示す図である。
【0337】
対象機種に向けていない状態でのリモコン960には、図104の中央のようにデフォルト状態の画面が表示されている。
【0338】
ここで、リモコンと対象機種との間のコミュニケーションの流れを説明する。
▲1▼利用者がリモコン960を対象機種(ここでは、コピー機962とする)に向ける。
▲2▼リモコン960から対象機種にUI要求信号を送るタイミングを決定する為に、利用者がリモコン960のタッチパネルなどに触れる。または、あらかじめ常に一定間隔でUI要求信号を送るように設定されている。
▲3▼リモコン960自身を識別するためのリモコン識別情報(リモコンAとする)と共にUI要求信号を対象機種に送る。
▲4▼リモコンからリモコン識別情報とUI要求信号を受け取った対象機種は、リモコン識別情報(リモコンA)と対象機種自身を識別する対象機種識別情報(コピー機)を、対象機種を管理しているサーバ1041に送り、UIの送信を依頼する。
▲5▼サーバ1041はリモコン識別情報で示されるリモコン960に、対象機種識別情報で示される機種のUIを、無線LAN等を介して発信する。
▲6▼発信された自分宛てのUIを受け取ったリモコン960は、UIを表示する。
【0339】
図105は、リモコンが対象機種からUIを直接受け取らず、無線LAN等を介してUIを受け取り、表示する例におけるリモコン側の処理のフローチャートである。
【0340】
リモコン側の処理の流れを説明する。ステップS1051で、利用者の指示操作があるまで待機する。ステップS1052で、対象機種に対して、UIを発信してもらう為のUI要求信号と、リモコン自身を識別するためのリモコン識別情報とを赤外線通信等の方法で発信する。ステップS1053で、どこからかUIが発信されるまで待機する。ステップS1054で、受け取ったUIを、表示する。
【0341】
図106は、リモコンが対象機種からUIを直接受け取らず、無線LAN等を介してUIを受け取り、表示する例における、対象機種側の処理の例を示すフローチャートである。対象機種側の処理の流れを説明する。
【0342】
ステップS1061で、リモコン960からの要求信号があるまで待機する。ステップS1062で、リモコンから受け取ったリモコン識別情報と、自分自身の対象機種識別情報をサーバ1041に送信し、UIの送信を依頼する。
【0343】
図107は、リモコンが対象機種からUIを直接受け取らず、無線LAN等を介してUIを受け取り、表示する例における、サーバ側の処理の例を示すフローチャートである。サーバ側の処理の流れを説明する。
【0344】
ステップS1071で、対象機種からのUI送信要求信号があるまで待機する。ステップS1072で、対象機種から受け取ったリモコン識別情報が示すリモコン960に、対象機種識別情報が示す機種のUIを発信する。
【0345】
〔実施形態37〕
図108は、各デバイスのUIは無線LANサーバ1041内にあり、リモコン960aあるいは960bを対象機種であるFAX963に向けて、UIを要求すると、FAX963からの依頼で、無線LANサーバ1041からリモコン960aあるいは960bに対して利用者毎に異なるUIが送信され、表示される例を示す図である。
【0346】
対象機種に向けていない状態でのリモコン960aあるいは960bには、図108の中央のようにデフォルト状態の画面が表示されている。この画面は、リモコン960a、960bに共通である。
【0347】
ここで、利用者と、リモコン960aあるいは960bと、対象機種との間のコミュニケーションの流れを説明する。
▲1▼利用者がリモコン960aあるいは960bを対象機種に向ける。
▲2▼リモコン960aあるいは960bから対象機種にUI要求信号を送るタイミングを決定する為に、利用者がリモコン960aあるいは960bのタッチパネルなどに触れる。または、あらかじめ常に一定間隔でUI要求信号を送るように設定されている。
▲3▼リモコン960aあるいは960b自身を識別するためのリモコン識別情報(リモコンA、リモコンB)と、利用者自身を識別するための利用者識別情報(上級者、初心者)とを、共にUI要求信号を対象機種に送る。
▲4▼リモコン960aあるいは960bから、リモコン識別情報と利用者識別情報とUI要求信号を受け取った対象機種は、受け取ったリモコン識別情報と利用者識別情報と共に、対象機種自身を識別する対象機種識別情報を、対象機種を管理しているサーバ1041に送る。
▲5▼サーバ1041はリモコン識別情報で示されるリモコン960aあるいは960bに、利用者識別情報と対象機種識別情報で示されるUIを、無線LAN等を介して発信する。図108の例では、初心者にとっては利用するのが難しい同報通信機能の為のUIを初心者には送らず、上級者だけに送っている。
▲6▼発信された自分宛てのUIを受け取ったリモコン960aあるいは960bは、UIを表示する。
【0348】
上記の例では、利用者識別情報として、リモコンから利用者のレベル情報を送信するようにしていたが、リモコンからはユーザ名などのユーザを個別に識別する情報を送信するようにして、対象機器あるいはサーバにおいて、受信した識別情報からユーザのレベルを判別するようにしてもよい。
【0349】
上記の例ではUIに限って説明したが、利用者毎に異なる利用者識別情報を参照すれば、利用者宛てに到着した緊急メールの内容や、すぐに知らせたいスケジュールなどをUIに含めてリモコンに送信することができる。
【0350】
図109は、リモコンが対象機種からUIを直接受け取らず、無線LAN等を介して利用者毎に異なるUIを受け取り、表示する例におけるリモコン側の処理の例を示すフローチャートである。リモコン側の処理の流れを説明する。
【0351】
ステップS1091で、利用者の指示操作があるまで待機する。ステップS1092で、対象機種からUIを発信してもらう為のUI要求信号と、リモコン自身を識別するためのリモコン識別情報と、利用者自身を識別するための利用者識別情報を赤外線通信等の方法で発信する。ステップS1093で、どこからかUIが発信されるまで待機する。ステップS1094で、受け取ったUIを、表示する。
【0352】
図110は、リモコンが対象機種からUIを直接受け取らず、無線LAN等を介して利用者毎に異なるUIを受け取り、表示する例における、対象機種側の処理の例を示すフローチャートである。対象機種側の処理の流れを説明する。
【0353】
ステップS1101で、リモコンからの要求信号があるまで待機する。ステップS1102で、リモコンから受け取ったリモコン識別情報と、利用者識別情報と共に、自分自身の対象機種識別情報をサーバ1041に送信し、UIの送信を依頼する。
【0354】
図111は、リモコンが対象機種からUIを直接受け取らず、無線LAN等を介して利用者毎に異なるUIを受け取り、表示する例における、サーバ側の処理の例を示すフローチャートである。また、図112は、対象機種と利用者識別情報から決定されるUIを示した表の一例である。サーバ側の処理の流れを説明する。
【0355】
ステップS1111で、対象機種からのUI送信要求信号があるまで待機する。ステップS1112で、対象機種から受け取ったリモコン識別情報が示すリモコンに、図112のような定義を参照して、対象機種識別情報と利用者識別情報に対応するUIを発信する。
【0356】
〔実施形態38〕
図113、114は、目の前にある操作対象機種が持っていない機能を実現する例を示す図である。この例の利用者とリモコンと対象機種との間のコミュニケーションの流れを説明する。
【0357】
▲1▼利用者がリモコン960を対象機種に向け、行いたい機能を指定する。
▲2▼リモコン960からの要求を受け取った操作対象機種は、サーバ1041にその要求を伝える。
▲3▼サーバ1041は要求された機能に対応した機種のUIを発信する。
▲4▼リモコン960は受信したUIを表示する。
▲5▼利用者はUIの指示にしたがって、操作を行う。この例の場合、利用者は目の前にあるコピー機962に送りたい文書をセットし、リモコン960で送り先を指示して実行させる。
▲6▼操作対象機器は、自分ができることは自分で実行し、自分ではできないことを他の機器に依頼する。この例の場合、コピー機962は文書の読み込みは行うが、FAX送信することはできないので、FAX963に文書データと共に、送信先などの操作指示の内容を送る。
▲7▼FAX963は指示に従い、送られてきた文書データを指定された送信先にFAX送信する。
【0358】
上記の例で、コピー機962が自分ではできない機能を依頼する機器を決定するには、各機器が他の機器の機能についての知識を持っているようにしてもよいし、ネットワーク上の各機器に対して、その機能が実行可能かを問い合わせた結果、決定するようにしてもよい。あるいは、機能と対応する機種の知識を持つサーバ1041に問い合わせるようにしてもよい。
【0359】
〔実施形態39〕
図115は、目の前にある操作対象機種とリモコンの途中に障害物があるなどの理由で、リモコンが操作対象機種と直接コミュニケーション取れなかった場合に、他の経路で間接的なコミュニケーションを試みる例を示す図である。
【0360】
ここで、利用者とリモコンと対象機種との間のコミュニケーションの流れを説明する。なお、下記の説明で▲2▼から▲3▼は必須のものではない。例えば、▲4▼で対象機種が常に一定間隔でリモコンに向けた信号を発しているようにすれば、同じ効果を実現できる。つまり、図115では必須の部分だけを図示している。
【0361】
▲1▼利用者がリモコン960を対象機種に向ける。
▲2▼リモコン960から対象機種にUI要求信号を送るタイミングを決定する為に、利用者がリモコン960のタッチパネルなどに触れる。または、あらかじめ常に一定間隔でUI要求信号を送るように設定されている。
▲3▼リモコン960からUI要求信号を対象機種に送る。
▲4▼対象機器は、リモコン960からのUI要求信号の要求に従って、あるいはあらかじめ常に一定間隔でUIを送るように設定されていればその設定にしたがって、UIを送る。
▲5▼UIを受け取ったリモコン960は、UIを表示する。
▲6▼ここで、リモコン960では、UI要求信号送信から一定時間経過後、あるいは一定間隔でUIを送るように設定されている場合にはその間隔以上の間、UIが送られてこない場合、別経路でUI要求信号を送る。この例では、赤外線信号によるコミュニケーションを実現できない場合、無線LANを利用したコミュニケーションを試みる。
▲7▼無線LANを介して、取得したUIを表示する。
【0362】
図116は、目の前にある操作対象機種とリモコンの途中に障害物があるなどの理由で、リモコンが操作対象機種と直接コミュニケーション取れなかった場合に、他の経路で間接的なコミュニケーションを試みる例における、リモコン側の処理の例を示すフローチャートである。リモコン側の処理の流れを説明する。
【0363】
ステップS1161で、利用者の指示操作があるまで待機する。ステップS1162で、対象機種からUIを発信してもらう為のUI要求信号と、リモコン自身を識別するためのリモコン識別情報を赤外線等の方法で発信する。ステップS1163で、UIを受信したかどうかチェックする。ステップS1164で、要求送信後、一定時間経過したかどうかチェックする。ステップS1165で、対象機種からUIを発信してもらう為のUI要求信号と、リモコン自身を識別するためのリモコン識別情報とをステップS1162での発信経路とは異なる、無線LAN等の方法で発信する。ステップS1166で、受け取ったUIを、表示する。
【0364】
この場合、操作対象機種自体に直接送信したUI要求信号を、無線LANサーバ1041に送ることになるが、UI要求信号を受け取った無線LANサーバ1041では、操作対象機種が不明であるので、まず、機種(機能)を選択するためのメニューが表示される。そして、選択された機種に対応するUIが表示される。このUIは、無線LANサーバ1041がリモコン960から機種選択信号を受信して、その機種に対応するUIをリモコン960に送信するようにしてもよいし、前記メニューとともに、そのメニューから選択可能な複数のUIを送信するようにしてもよい。
【0365】
〔実施形態40〕
図117は、利用者が行った操作・アクションと、時刻とを、それに関わる重要な情報と共に履歴として保存しておく例を示す図である。
【0366】
ここで、利用者が行った操作・アクションと、時刻を、それに関わる重要な情報と共に履歴として保存するときの流れについて、説明する。
▲1▼利用者が文書をFAX963にセットし、利用者(発信者)名と共に、A社のaさんに送信するように指示する。
▲2▼FAX963は指示にしたがって文書を送信すると共に、Tomさんの指示により、文書を aさんに送付した事実を、送付した文書及び送付時刻と共にサーバ1041に伝える。
▲3▼サーバ1041は、受け取った文書を適当な名前のファイル〔File ABC〕として保存すると共に、受け取った事実を履歴情報として保存する。
【0367】
図118は、利用者が行った操作・アクションと、時刻とを、それに関わる重要な情報と共に履歴として保存しておく例における、リモコン側の処理の例を示すフローチャートである。リモコン側の処理の流れを説明する。
【0368】
ステップS1181で、利用者の指示操作があるまで待機する。ステップS1182で、利用者が行った指示操作に対する要求信号と、リモコン自身を識別するためのリモコン識別情報と、利用者自身を識別するための利用者識別情報を赤外線通信等の方法で発信する。ステップS1183で、どこからかUIが発信されるまで待機する。ステップS1184で、受け取ったUIを、表示する。
【0369】
図119は、利用者が行った操作・アクションと、時刻を、それに関わる重要な情報と共に履歴として保存しておく例における、対象機種側の処理の例を示すフローチャートである。対象機種側の処理の流れを説明する。
【0370】
ステップS1191で、リモコン960からの要求信号があるまで待機する。ステップS1192で、リモコン960からの要求信号に対応する処理を実行する。図117の例の場合、利用者がセットした文書を読み込み、A社のaさんに送信することになる。ステップS1193で、リモコン960から受け取ったリモコン識別情報と、利用者識別情報と、自分自身の対象機種識別情報と、行ったアクションと関係する重要な情報とをサーバ1041に送信する。図117の例の場合、Tomさんの指示により、文書を aさんに送付した事実を、送付時刻と共に、この事実に関わる重要な情報である送付文書自体をサーバ1041に送信する。
【0371】
図120は、利用者が行った操作・アクションと、時刻とを、それに関わる重要な情報と共に履歴として保存しておく例における、サーバ側の処理の例を示すフローチャートである。また、図121は、この処理の結果、更新された履歴情報の一例を示す図である。サーバ側の処理の流れを説明する。
【0372】
ステップS1201で、対象機種からの要求信号があるまで待機する。ステップS1202で、受け取った事実に関わる重要な情報を保存する。図117の例の場合、Tomさんが送信を指示した文書を File ABC として保存している。ステップS1203で、受け取った事実により、履歴情報を更新する。図117の例の場合、Tomさんが1996/7/5 10:00に、A社のaさんに文書を送ったことが、ステップS1201で保存したファイル名と共に、記録される。図121は更新された履歴情報の例であり、1996/7/3にMaryがFile XYZを10部コピーしたという事実に、1996/7/5 10:00に、TomさんがFile ABCをA社のaさんに送信したという事実が追加されたものである。ステップS1204で、対象機種から受け取ったリモコン識別情報が示すリモコンに、処理が正しく終了したというUIを発信する。
【0373】
〔実施形態41〕
図122及び図123は、利用者が行った操作・アクションと、時刻を、それに関わる重要な情報と共に履歴として保存した後に、履歴を元に操作を行った例を示す図である。
【0374】
ここで、利用者が行った操作・アクションと、時刻を、それに関わる重要な情報と共に履歴として保存した後に、履歴を元に操作を行ったときの流れについて、説明する。
▲1▼リモコン960は、コピー機962に向かって、Tomさんの履歴を見せるように指示する。
▲2▼コピー機962は、この指示に基づいて、履歴を管理するサーバ1041に、Tomさんの履歴を見せるように伝える。
▲3▼サーバ1041は、履歴情報を参照して、Tomさんが関わった履歴のみをUIとしてコピー機962に発信し、コピー機962は、このUIをリモコン960に送信する。
▲4▼Tomさんは、リモコン960に表示されている履歴の中から特定の事実を選択し、アクションを指示する。この例の場合、以前にA社に送った資料があらためて必要になったので、履歴の中から「 File ABCをA社のaさんに送信した」という事実を選択し、アクションとして「コピー」を指示することで、目の前のコピー機962からその資料を取り出そうとしている。
▲5▼コピー機962は、利用者からの「 File ABCをコピー」という指示をサーバ1041に伝える。
▲6▼サーバ1041は、対応する文書「 File ABC」をコピー機962に送る。
▲7▼コピー機962は、サーバ1041から受け取った文書を印刷する。
【0375】
上記において、ユーザは、目の前のコピー機962から必要な資料を取り出すために、履歴の中から「 File ABCをA社のaさんに送信した」という事実を選択するようにしていたが、出力したい文書の名称「 File ABC」を知っている場合には、履歴に代えてファイルの一覧を表示させ、その中からファイル名を選択したり、直接ファイル名を入力したりすることもできる。
【0376】
また、上記では、取り出す文書を、FAX963で送信するとともに、サーバ1041に保存した文書としていたが、ネットワーク上のPCに保存されている文書などを対象とすることもできる。
【0377】
図124は、以上の実施形態で利用するリモコン960の構成例を示す図である。
【0378】
1241は表示部であり、液晶により表示を行なう。更に、表示部1241には抵抗膜が付いており、ペン1242を用いて情報を入力することができる。この入力は、ペン1242で画面上のボタンを選択するものでもよい。更に、文字認識機能を設け、ペン1242で書いた文字を入力することもできる。
【0379】
入力された情報は、通信部1243より他の機器へ送信することができる。また、装置内部には、制御のためのCPU1244とともに、記憶部1245が備えられており、入力情報や通信部1243から受信した情報、操作の履歴などを記憶する。記憶部1245としては、SRAMカード、SIMM、HDDなどを用いることができる。また、バッテリー駆動であり、防滴になっている。
【0380】
図125は、以上の実施形態で利用するリモコン960の他の構成例を示す図である。
【0381】
1251は表示部であり、液晶あるいはCRTにより表示を行なう。更に、表示部1251に、オプションとしてタッチパネルを追加することもできる。これにより、指やペンなどを用いて情報を入力することができる。1252は、ボタンの操作により情報を入力する入力部である。入力された情報は、通信部1253より他の機器へ送信することができる。また、装置内部には、制御のためのCPU1254とともに、記憶部1255が備えられており、入力情報や通信部1253から受信した情報、操作の履歴などを記憶する。記憶部1255としては、SRAMカード、SIMM、HDDなどを用いることができる。
【0382】
図125のリモコンは、記憶部1255を取り外しても、ボタンリモコンとして使用できる。また、通信部1253を取り外しても、電子メモ帳(PC)として使用できる。また、入力部1252を取り外しても、タッチパネルを用いて、図124のように使用することができる。
【0383】
図126は、以上の実施形態で利用するリモコン960の他の構成例を示す図である。
【0384】
1261は表示部であり、液晶により表示を行なう。1262は、ボタンの操作により情報を入力する入力部である。入力された情報は、赤外通信部1263より他の機器へ送信することができる。また、装置内部には、制御のためのCPU1264とともに、記憶部1265が備えられており、入力情報や赤外通信部1263から受信した情報、操作の履歴などを記憶する。記憶部1255としては、SRAMカード、SIMM、HDDなどを用いることができる。更に、PCMCIAスロット1266が設けられており、例えば、PCMCIAカードを差し込んで、PCMCIAバスによる接続が可能となり、2系統の通信経路を利用できる。また、赤外通信部1263は発光による送信のみで、受信はPCMCIAバスを使用するようにしてもよい。もちろん、PCMCIAバスによる接続を使用しなくてもよい。
【0385】
なお、本発明は、上記実施形態の機能が実現できる範囲において、複数の機器(例えばコンピュータ本体、インターフェイス機器、ディスプレイなど)から構成されるシステムに適用しても、単一の機器からなる装置に適用してもよい。
【0386】
また、前述した実施形態の機能を実現するように各種デバイスを動作させることを目的として、該各種デバイスと接続された装置あるいはシステム内のコンピュータに、前述した実施形態の機能を実現するソフトウェアのプログラムコードを供給し、供給されたプログラムにしたがって、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)により、前記各種デバイスを動作させることによって実施したものも、本願発明の範囲に含まれる。またこの場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコード自体、そのプログラムコードをコンピュータに供給する手段、例えばかかるプログラムコードを記憶した記憶媒体は、本発明を構成することになる。
【0387】
かかるプログラムコードを供給する為の記憶媒体としては、例えば、フロッピーディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROM等を用いることができる。
【0388】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)、あるいは他のアプリケーションソフトなどと協働して前述の実施形態の機能が実現される場合にも、かかるプログラムコードは本願発明の範囲に含まれることは言うまでもない。
【0389】
更に、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0390】
本願発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するプログラムコードを格納すればよい。
【0391】
【発明の効果】
以上説明したように、本発明によれば、煩雑な操作を要さずに、処理の目的に応じた適切な印刷パラメータを利用した印刷が行なえる。また、1台のプリンタを複数のユーザにより効率よく利用できるという効果がある。
【図面の簡単な説明】
【図1】実施形態のシステム構成を表す図である。
【図2】実施形態の機能構成を示す図である。
【図3】実施形態の各装置のハードウェア構成を表す図である。
【図4】実施形態の処理の流れを示したフローチャートである。
【図5】複数のプリンタから、最適なプリンタを選択して印刷を実行する処理の流れを示した図である。
【図6】リモコンを利用する場合を説明する図である。
【図7】スキャナから文書を読み込み、特定のプリンタに送信しようとした場合の例を示す図である。
【図8】スキャナから文書を読み込み、スキャナが管理できない特定のプリンタに送信しようとした場合の例を示す図である。
【図9】スキャナから文書を読み込み、スキャナが管理できない特定のプリンタに送信しようとした場合の例を示す図である。
【図10】スキャナから文書を読み込み、スキャナが管理できない特定のプリンタに送信しようとした場合の例を示す図である。
【図11】プリンタの状態を通知する場合の例を示す図である。
【図12】実施形態8の処理手順を表わしたフローチャートである。
【図13】ファイリング処理で、ファイリングする情報を事前にユーザに伝える場合を示す図である。
【図14】受信データの要否を判断し、不要な情報を破棄する場合を示す図である。
【図15】実施形態9の処理手順を示すフローチャートである。
【図16】実施形態9の情報の流れを示す図である。
【図17】JOB実行の詳細な手順を表わすフローチャートである。
【図18】読み込む機密情報の例を示す図である。
【図19】JOBテーブルの例を示す図である。
【図20】印刷Windowの例を示す図である。
【図21】JOBテーブルの例を示す図である。
【図22】 <file A>の内容を示す図である。
【図23】システム構成例示す図である。
【図24】質問Windowの例を示す図である。
【図25】JOBテーブルの例を示す図である。
【図26】スケジュールデータの例を示す図である。
【図27】利用者への問い合わせの例を示す図である。
【図28】JOBテーブルの例を示す図である。
【図29】JOBテーブルの例を示す図である。
【図30】プリンタのステータスの変化の例を示す図である。
【図31】プリンタステータス表を表わす図である。
【図32】JOBテーブルの例を示す図である。
【図33】質問Windowの例を示す図である。
【図34】JOBテーブルの例を示す図である。
【図35】プリンタのステータスの変化の例を示す図である。
【図36】プラン及びアクションのルールを示す図である。
【図37】プラン及びアクションのルールを示す図である。
【図38】目的に対するアクション及び前提条件を示す図である。
【図39】各デバイスのプロパティの例を示す図である。
【図40】各デバイスのステータスの例を示す図である。
【図41】複数の装置がネットワークに接続されている状態を表した図である。
【図42】実施形態14の処理を行うための機能構成を示す図である。
【図43】実施形態14の処理の流れを表わしたメインのフローチャートである。
【図44】他の装置を制御するときの処理の流れを表わすフローチャートである。
【図45】自分の装置で処理を行う場合の処理の流れを表わすフローチャートである。
【図46】指示されたプリンタとは異なるプリンタで出力を行なう例を示した図である。
【図47】指示されたプリンタが他のプリンタにJOBを転送する例を示した図である。
【図48】ユーザのプリンタがユーザの外出先のプリンタにJOBを転送する例を示した図である。
【図49】実施形態16の処理の流れを示したフローチャートである。
【図50】実施形態16の処理の概念図である。
【図51】実施形態17のJOBの流れを示す図である。
【図52】プリントJOB自動設定部の処理の流れを表したフローチャートである。
【図53】複数のプリンタの1文字あたりの印刷時間とトナー使用量を表した図である。
【図54】プリントJOBの内容と、利用者が指定したパラメータを表した図である。
【図55】プリントJOB自動変更部の処理の流れを表したフローチャートである。
【図56】プリントJOBの内容と、利用者が指定したパラメータを表した図である。
【図57】実施形態19のJOBの流れを示す図である。
【図58】プリントJOBのパラメータを自然言語を利用して設定する例を説明する図である。
【図59】プリントJOBのパラメータの設定を、文書自体で設定する例を説明する図である。
【図60】実施形態21のJOBの流れを示す図である。
【図61】プリントJOBシュミレーション部による処理のフローチャートである。
【図62】実施形態22のプリンタシステムの処理手順のフローチャートである。
【図63】実施形態22のプリンタシステムのプリンタの外観図である。
【図64】実施形態23の処理手順を示すフローチャートである。
【図65】実施形態23のシステムの機能構成を示す図である。
【図66】実施形態23の全体的な処理を行なうシステムと外部との入出力の種類を表した図である。
【図67】電子メールからスケジュールを抽出する例を示す図である。
【図68】実施形態23の具体的な処理手順を示すフローチャートである。
【図69】スケジュールが衝突する例を示す図である。
【図70】利用者が音声によりシステムに質問した場合の例を示す図である。
【図71】実施形態24の処理手順を示すフローチャートである。
【図72】衝突するスケジュールを調整する例を示す図である。
【図73】衝突するスケジュールのリプランニングの処理手順を示すフローチャートである。
【図74】返事のリプランニングの処理手順を示すフローチャートである。
【図75】実施形態26のシステムの入出力も含めた全体イメージを表す図である。
【図76】実施形態26のシステム全体の処理の流れを表わしたフローチャートである。
【図77】入力Management部の処理の流れを表わしたフローチャートである。
【図78】 Core部の処理の流れを表わしたフローチャートである。
【図79】出力Management部の処理の流れを表わしたフローチャートである。
【図80】データ抽出処理の手順を表わしたフローチャートである。
【図81】データ抽出処理の対象となる文書の例を示す図である。
【図82】特定ブロック読み取り処理を説明する図である。
【図83】日付データを参照した処理の判断手順を示すフローチャートである。
【図84】実施形態27の情報の流れを示す図である。
【図85】実施形態28の情報の流れを示す図である。
【図86】実施形態28の情報の流れを示す図である。
【図87】実施形態28の処理手順を示すフローチャートである。
【図88】一般知識ベースの知識を表わした図である。
【図89】カバーページに特定された分野の知識ベースの知識をあらわした図である。
【図90】過去に行われた履歴を音声で参照して、処理を実行する例を示す図である。
【図91】実施形態30の処理の流れを示すフローチャートである。
【図92】入力文書の例を示す図である。
【図93】システムとユーザとの会話の内容を表わした図である。
【図94】会話から判断してシステムが作成した出力文書である。
【図95】利用者に問い合せた後、必要な処理を自動実行した例のフローチャートである。
【図96】リモコンによりシステムを操作する実施形態を示す図である。
【図97】ステータスモニタの例を示す図である。
【図98】リモコンが対象機種を認識し、対応するUIを表示する例を示す図である。
【図99】リモコンが対象機種を認識し、対応するUIを表示する例における、リモコン側の処理のフローチャートである。
【図100】リモコンが対象機種を認識し、対応するUIを表示している例における、対象機種側の処理のフローチャートである。
【図101】リモコンが対象機種からUIを受け取り、表示する例を示す図である。
【図102】リモコンが対象機種からUIを受け取り、表示する例における、リモコン側の処理のフローチャートである。
【図103】リモコンが対象機種からUIを受け取り、表示する例における、対象機種側の処理のフローチャートである。
【図104】リモコンが対象機種からUIを直接受け取らず、無線LAN等を介してUIを受け取り、表示する例を示す図である。
【図105】リモコンが無線LAN等を介してUIを受け取り、表示する例におけるリモコン側の処理のフローチャートである。
【図106】リモコンが無線LAN等を介してUIを受け取り、表示する例における、対象機種側の処理の例を示すフローチャートである。
【図107】リモコンが無線LAN等を介してUIを受け取り、表示する例における、サーバ側の処理の例を示すフローチャートである。
【図108】リモコンが無線LAN等を介して利用者毎に異なるUIを受け取り、表示する例を示す図である。
【図109】リモコンが無線LAN等を介して利用者毎に異なるUIを受け取り、表示する例におけるリモコン側の処理のフローチャートである。
【図110】リモコンが無線LAN等を介して利用者毎に異なるUIを受け取り、表示する例における、対象機種側の処理のフローチャートである。
【図111】リモコンが無線LAN等を介して利用者毎に異なるUIを受け取り、表示する例における、サーバ側の処理のフローチャートである。
【図112】対象機種と利用者識別情報から決定されるUIを示した表を表わす図である。
【図113】目の前にある操作対象機種が持たない機能を実現する例を示す図である。
【図114】目の前にある操作対象機種が持たない機能を実現する例を示す図である。
【図115】目の前にある操作対象機種と直接コミュニケーション取れなかった場合の対応の例を示す図である。
【図116】実施形態39のリモコン側の処理のフローチャートである。
【図117】利用者が行った操作・アクションと、時刻とを、それに関わる重要な情報と共に履歴として保存している例を示す図である。
【図118】実施形態40のリモコン側の処理のフローチャートである。
【図119】実施形態40の対象機種側の処理のフローチャートである。
【図120】実施形態40のサーバ側の処理のフローチャートである。
【図121】更新された履歴情報の一例を示す図である。
【図122】履歴を元に操作を行った例を示す図である。
【図123】履歴を元に操作を行った例を示す図である。
【図124】リモコンの構成例を示す図である。
【図125】リモコンの構成例を示す図である。
【図126】リモコンの構成例を示す図である。
【図127】事前通知を行うかどうかを指定した情報を示す図である。
【図128】JOBの目的に応じた装置が存在しない場合の情報の流れを示す図である。
【図129】最適な方法をユーザに提案するウィンドウの表示例を示す図である。
【図130】パラメータ設定における文字列の表わす意味と、その意味を完成させるために必要な要求項目とを示した図である。
Claims (12)
- 印刷対象情報と第1の印刷パラメータに対する制約条件とを含む情報を受信する受信手段と、
受信した前記印刷対象情報と第2の印刷パラメータとに基づく印刷結果のシミュレートを、第2の印刷パラメータを評価の最も高い値から順次低下させながら繰り返し実行するシミュレート手段と、
前記シミュレート手段により繰り返し実行されるシミュレートの結果のそれぞれが前記第1の印刷パラメータに対する制約条件を満たすかを判定する判定手段と、
前記シミュレートの結果が前記制約条件を満たすと初めて判定された際の第2の印刷パラメータの値を設定する設定手段と、
該設定手段により設定された前記第2の印刷パラメータの値に基づいて、受信した前記印刷対象情報を印刷する印刷手段とを有することを特徴とする印刷装置。 - 前記第2の印刷パラメータは、前記受信手段から受信した情報に含まれていない種類の印刷パラメータであることを特徴とする請求項1に記載の印刷装置。
- 前記受信手段から受信した情報に前記第2の印刷パラメータの値が含まれており、前記シミュレート手段は、当該受信した第2の印刷パラメータの値とは異なる値について前記シミュレートを繰り返し実行することを特徴とする請求項1に記載の印刷装置。
- 印刷処理のスケジューリングを行なうスケジューリング手段を具え、該スケジューリング手段により決定された印刷スケジュールに基づいて、前記シミュレート手段が印刷結果をシミュレートすることを特徴とする請求項1に記載の印刷装置。
- 前記印刷手段の状況を認識する状況認識手段を具え、該状況認識手段により認識された印刷手段の状況によって、前記シミュレート手段が印刷結果をシミュレートすることを特徴とする請求項1に記載の印刷装置。
- 前記印刷手段は複数存在し、前記状況認識手段が、当該複数の印刷手段の状況を認識し、認識結果に基づいて、印刷を実行すべき印刷手段を選択することを特徴とする請求項5に記載の印刷装置。
- 印刷対象情報と第1の印刷パラメータに対する制約条件とを含む情報を受信する受信工程と、
受信した前記印刷対象情報と第2の印刷パラメータとに基づく印刷結果のシミュレートを、第2の印刷パラメータを評価の最も高い値から順次低下させながら繰り返し実行するシミュレート工程と、
前記シミュレート工程において繰り返し実行されるシミュレートの結果のそれぞれが前記第1の印刷パラメータに対する制約条件を満たすかを判定する判定工程と、
前記シミュレート結果が前記制約条件を満たすと初めて判定された際の第2の印刷パラメータの値を設定する設定工程と、
該設定工程により設定された前記第2の印刷パラメータの値に基づいて、受信した前記印刷対象情報を印刷する印刷工程とを有することを特徴とする印刷方法。 - 前記第2の印刷パラメータは、前記受信工程で受信した情報に含まれていない種類の印刷パラメータであることを特徴とする請求項7に記載の印刷方法。
- 前記受信工程で受信した情報に前記第2の印刷パラメータの値が含まれており、前記シミュレート工程では、当該受信した第2の印刷パラメータの値とは異なる値について前記シミュレートを繰り返し実行することを特徴とする請求項7に記載の印刷方法。
- 印刷処理のスケジューリングを行なうスケジューリング工程を具え、該スケジューリング工程により決定された印刷スケジュールに基づいて、前記シミュレート工程で印刷結果をシミュレートすることを特徴とする請求項7に記載の印刷方法。
- 前記印刷工程を行なう印刷部の状況を認識する状況認識工程を具え、該状況認識工程により認識された前記印刷部の状況によって、前記シミュレート工程で印刷結果をシミュレートすることを特徴とする請求項7に記載の印刷方法。
- 前記状況認識工程では、複数の印刷部の状況を認識し、認識結果に基づいて、印刷を実行すべき印刷部を選択することを特徴とする請求項11に記載の印刷方法。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP04452597A JP3884813B2 (ja) | 1996-12-26 | 1997-02-28 | 印刷装置及びその方法 |
EP97310591A EP0851384B1 (en) | 1996-12-26 | 1997-12-24 | Information processing apparatus and control method therefor |
DE69734562T DE69734562T2 (de) | 1996-12-26 | 1997-12-24 | Informationsverarbeitungvorrichtung und Steuerungsverfahren dafür |
US08/998,032 US6567176B1 (en) | 1996-12-26 | 1997-12-24 | Information processing apparatus and control method therefor |
US10/223,400 US6999070B2 (en) | 1996-12-26 | 2002-08-20 | Information processing apparatus and control method therefor |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP34802596 | 1996-12-26 | ||
JP8-348025 | 1996-12-26 | ||
JP04452597A JP3884813B2 (ja) | 1996-12-26 | 1997-02-28 | 印刷装置及びその方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10240461A JPH10240461A (ja) | 1998-09-11 |
JP3884813B2 true JP3884813B2 (ja) | 2007-02-21 |
Family
ID=26384456
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP04452597A Expired - Fee Related JP3884813B2 (ja) | 1996-12-26 | 1997-02-28 | 印刷装置及びその方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3884813B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002215342A (ja) | 2001-01-23 | 2002-08-02 | Fuji Xerox Co Ltd | ジョブマシン管理システム |
JP4298594B2 (ja) | 2004-06-14 | 2009-07-22 | キヤノン株式会社 | 情報処理装置および通知方法 |
-
1997
- 1997-02-28 JP JP04452597A patent/JP3884813B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH10240461A (ja) | 1998-09-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6157465A (en) | System for transferring jobs between processing units based upon content of job and ability of unit to perform job | |
JPH10240818A (ja) | 情報処理装置及びその方法 | |
JPH10240658A (ja) | 情報処理装置及びその方法 | |
EP0855640B1 (en) | Information processing system and method therefor | |
US6947156B1 (en) | Remote control apparatus and system in which identification or control information is obtained from a device to be controlled | |
US6567176B1 (en) | Information processing apparatus and control method therefor | |
JPH10240550A (ja) | 情報処理装置及びその方法 | |
JP4928821B2 (ja) | ネットワークシステムにおけるデジタル文書の取り扱い | |
US7274474B2 (en) | Printing data held on a WWW server | |
US8484746B2 (en) | Method and system for managing electronic messages | |
US20010035972A1 (en) | Adaptive interface for digital printing systems | |
US6587126B1 (en) | Apparatus and method for displaying job list, and storage medium for such a program | |
JP4920460B2 (ja) | キックスタート機能によるプリント方法及び装置 | |
JP7073888B2 (ja) | メッセージ提供装置及びプログラム | |
JP2021082871A (ja) | 音声制御システム、音声制御方法、画像処理装置、音声制御装置及びプログラム | |
JP2023051952A (ja) | 音声操作システム及び音声操作方法 | |
JP7102888B2 (ja) | メッセージ提供装置及びプログラム | |
EP0851372A2 (en) | An information processing apparatus for managing schedule data and a method therefor | |
JP3884813B2 (ja) | 印刷装置及びその方法 | |
JPH10240657A (ja) | 遠隔操作装置及びそのシステム | |
EP3716040A1 (en) | Image forming apparatus and job execution method | |
JP7361509B2 (ja) | 周辺装置管理システム、印刷装置制御システム、制御方法、印刷制御装置及びプログラム | |
JP3000578B2 (ja) | メールサービスシステム | |
JP7180518B2 (ja) | 情報処理装置及びプログラム | |
JP4458016B2 (ja) | データ入出力装置、データ入出力方法、およびデータ入出力プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040301 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040301 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060531 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060614 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060811 |
|
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: 20061114 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20061120 |
|
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: 20101124 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101124 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111124 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121124 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131124 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |