(57)【要約】【課題】プリンターに対応付けられたイベントを記録して維持する装置と方法を提供する。【解決手段】コンピューターが、プリンターに関する情報を記録する要求を受け取る。当該要求は、前記プリンターに対応付けられたイベントの時系列シーケンスに関連する複数種類の情報を指定するものである。前記コンピューターは、前記要求の受領後、前記イベントの時系列シーケンスに関連する、指定された複数種類の情報を記録するのに用いられる。前記コンピューターは、記録された複数種類の情報に基づいて、前記プリンターに対応付けられた前記イベントの時系列シーケンスを提示する。【選択図】図１１
2020177662.tif 000002
【特許請求の範囲】
【請求項１】
コンピューターにおいて、プリンターに関する情報を記録する要求であって、前記プリンターに対応付けられたイベントの時系列シーケンスに関連する複数種類の情報を指定した要求を受け取ることと、
前記要求の受領後、前記コンピューターを用いて、前記イベントの時系列シーケンスに関連する、前記指定された複数種類の情報を記録することと、
前記コンピューターによって、前記記録された複数種類の情報に基づいて、前記プリンターに対応付けられた前記イベントの時系列シーケンスを提示することを含む、方法。
【請求項２】
前記複数種類の情報は、前記プリンターに関連するキーストロークに関する種類の情報、前記プリンターに関連するキーストローク以外の、ユーザーインターフェース装置のイベントに関する種類の情報、前記プリンターの構成設定に関する種類の情報、前記プリンターの付属装置に関する種類の情報、前記プリンターの印刷ジョブに関する種類の情報、前記プリンターの紙詰まりに関する種類の情報、音声形式の種類の情報、及び映像形式の種類の情報のうち、２種類以上を含む、請求項１に記載の方法。
【請求項３】
前記プリンターに関する情報を記録する前記要求を受け取ることは、
前記コンピューターで作動しているプリンタードライバーのユーザーインターフェースを使用して情報を記録する前記要求を受け取ること、
又は、前記コンピューターで作動しているアプリケーションのユーザーインターフェースを使用して情報を記録する前記要求を受け取ること、のいずれかを含む、請求項１に記載の方法。
【請求項４】
前記コンピューターは前記プリンターを含み、前記プリンターに関する情報を記録する前記要求を受け取ることは、
(i)前記プリンターのユーザーインターフェースを使用して情報を記録する前記要求を受け取ること、
(ii) 前記プリンターのジョブコマンドを使用して情報を記録する前記要求を受け取ること、
又は(iii) 外部機器が前記プリンターに接続されていると判定し、情報を記録する前記要求を前記プリンターにおいて前記外部機器から受け取ること、
のいずれかを含む、請求項１に記載の方法。
【請求項５】
前記コンピューターは前記プリンターとは別体であり、前記イベントの時系列シーケンスに関する前記指定された複数種類の情報を記録することは、前記イベントの時系列シーケンスに関する前記指定された複数種類の情報を前記コンピューター及び前記プリンターの双方において記録することを含む、請求項１に記載の方法。
【請求項６】
前記記録された複数種類の情報に基づいて、前記プリンターに対応付けられた前記イベントの時系列シーケンスを提示することは、
前記記録された複数種類の情報を解析して、前記プリンターに対応付けられた前記イベントの時系列シーケンスに関連する一つ以上のトークンを作成し、
前記一つ以上のトークンに基づいて、前記プリンターに対応付けられた前記イベントの時系列シーケンスのシミュレーションを生成し、
前記プリンターに対応付けられた前記イベントの時系列シーケンスの前記シミュレーションを、前記コンピューターのグラフィックユーザーインターフェースを使用して表示することを含む、請求項１に記載の方法。
【請求項７】
前記記録された複数種類の情報に基づいて、前記プリンターに対応付けられた前記イベントの時系列シーケンスを提示することは、
前記記録された複数種類の情報を含む一つ以上のデータ項目のデータファイルを生成することを含み、
前記一つ以上のデータ項目の中のデータ項目は、前記記録されている種類の情報に関するイベントデータと、前記データ項目に関する情報がいつ記録されているかを示すタイムスタンプデータを含む、請求項１に記載の方法。
【請求項８】
前記記録された複数種類の情報に基づいて、前記プリンターに対応付けられた前記イベントの時系列シーケンスを提示することは、
少なくとも前記イベントの時系列シーケンス中のイベントに関する前記プリンターのプロセスを実行すること、
前記プリンターのユーザーインターフェースを変更すること、
又は、前記プリンターの構成を変更すること、の少なくとも一つを行うことにより、
前記プリンターに前記複数種類の情報として記録された前記イベントの時系列シーケンスから一つ以上のイベントを実行することを含む、請求項１に記載の方法。
【請求項９】
一つ以上のプロセッサーと、
前記一つ以上のプロセッサーが作動することによりコンピューターにタスクを実行させる指示を含むコンピューター可読指示を、少なくとも格納する構成とされたデータ記憶装置とを備え、
前記タスクは、
プリンターに関する情報を記録する要求であって、前記プリンターに対応付けられたイベントの時系列シーケンスに関連する複数種類の情報を指定した要求を受け取ることと、
前記要求の受領後、前記コンピューターを用いて、前記イベントの時系列シーケンスに関連する、前記指定された複数種類の情報を記録することと、
前記コンピューターによって、前記記録された複数種類の情報に基づいて、前記プリンターに対応付けられた前記イベントの時系列シーケンスを提示することを含む、コンピューター。
【請求項１０】
コンピューターの一つ以上のプロセッサーが作動することにより、当該コンピューターにタスクを実行させるコンピューター可読指示を少なくとも格納する、非一時的なデータの記憶装置を備え、
前記タスクは、
プリンターに関する情報を記録する要求であって、前記プリンターに対応付けられたイベントの時系列シーケンスに関連する複数種類の情報を指定した要求を受け取ることと、
前記要求の受領後、前記コンピューターを用いて、前記イベントの時系列シーケンスに関連する、前記指定された複数種類の情報を記録することと、
前記コンピューターによって、前記記録された複数種類の情報に基づいて、前記プリンターに対応付けられた前記イベントの時系列シーケンスを提示することを含む、製造物。
【発明の詳細な説明】
【背景技術】
【０００１】
プリンターはその販売台数が増加すると共に、地理的な普及度が大きく拡大し、ネットワークへの接続もますます盛んとなっている。そして、このようなネットワークにはプリントサーバーが備えられる。通常、一つ以上の文書及び／又は他の印刷データが印刷される場合、これら印刷データ等はプリンターに直接送られるか、または一旦プリントサーバーに送られる。また、プリンターに、元の紙文書の電子コピーを作成するスキャナーが備えられていることもある。このようなプリンターは、紙文書をスキャンするのに用いることができ、さらに、スキャンにより得られた電子コピーを送信することもできる。
【０００２】
ネットワーク上には、一つ以上のプリンターが存在することがある。これらプリンターの一部または全ては、特徴、機能、能力において異なっていることがある。そして、この一部またはすべてのプリンターは、印刷動作、スキャン動作、文書通信動作など、プリンターを用いて行われる動作を記録するログファイルを生成することができる。
【発明の概要】
【０００３】
本開示の一局面として、方法が提供される。コンピューターが、プリンターに関する情報を記録する要求を受け取る。当該要求は、前記プリンターに対応付けられたイベントの時系列シーケンスに関連する複数種類の情報を指定するものである。前記コンピューターは、前記要求の受領後、前記イベントの時系列シーケンスに関連する、当該指定された複数種類の情報を記録するのに用いられる。前記コンピューターは、当該記録された複数種類の情報に基づいて、前記プリンターに対応付けられた前記イベントの時系列シーケンスを提示する。
【０００４】
本開示の他の一局面として、コンピューターが提供される。前記コンピューターは一つ以上のプロセッサーと、データ記憶装置とを備える。前記データ記憶装置は少なくともコンピューター可読指示を格納するよう構成されている。前記コンピューター可読指示は、前記一つ以上のプロセッサーが作動することにより、コンピューターにタスクを実行させる指示を含む。前記タスクは、プリンターに関する情報を記録する要求であって、前記プリンターに対応付けられたイベントの時系列シーケンスに関連する複数種類の情報が指定された要求を受け取ることと、当該要求の受領後に、前記イベントの時系列シーケンスに関連して指定された複数種類の情報を記録することと、記録された複数種類の情報に基づいて、前記プリンターに対応付けられた前記イベントの時系列シーケンスを提示することを含む。
【０００５】
本開示の更なる一局面として、製造物が提供される。前記製造物は、コンピューターの一つ以上のプロセッサーが作動することにより、当該コンピューターにタスクを実行させるコンピューター可読指示を少なくとも格納する、非一時的なデータの記憶装置を備える。前記タスクは、プリンターに関する情報を記録する要求であって、前記プリンターに対応付けられたイベントの時系列シーケンスに関連する複数種類の情報が指定された要求を受け取ることと、当該要求の受領後に、前記イベントの時系列シーケンスに関連して指定された前記複数種類の情報を記録することと、記録された前記複数種類の情報に基づいて、前記プリンターに対応付けられた前記イベントの時系列シーケンスを提示することを含む。
【０００６】
その他の態様、実施形態、及び実現の方法は、添付の図面を適宜参照しつつ以下の詳細な説明を参照することにより、当業者には明らかとなる。
【図面の簡単な説明】
【０００７】
【図１】コンピューターの構成の一実施形態を示す模式的なブロック図である。
【図２】ネットワークの構成の一実施形態を示す図である。
【図３】図２に示すネットワークの一部の構成の一実施形態を示す図である。
【図４】プリンターに関するデータの記録に関するユーザーインターフェースの一実施形態を示す図である。
【図５】プリンターに関するデータの記録を制御する方法の一実施形態を示すフローチャートである。
【図６】プロセスの記録を実行する方法の一実施形態を示すフローチャートである。
【図７】プロセスの記録により記録されたイベントに関するデータファイルの一実施形態を表す図である。
【図８】プリンターについて記録されたデータを再生する方法の一実施形態を示すフローチャートである。
【図９】プリンターについて記録されたデータを再生するためのユーザーインターフェースの一実施形態を表す図である。
【図１０】プリンターについて記録されたデータを再生するためのユーザーインターフェースの一実施形態を表す図である。
【図１１】本開示の一実施形態に係る方法を示すフローチャートである。
【発明を実施するための形態】
【０００８】
以下の詳細な説明においては、本明細書の一部をなす図面が参照される。図面では、特に注記のない限り、同様の記号は同様の部材を指す。詳細な説明として記述される実施形態、図面、及び請求の範囲は、本開示の態様を限定する意図ではない。ここに記載の主題から逸脱しない限り、他の実施形態が採用されてもよく、変更が加えられてもよい。当然ながら、ここに記述され、図面により示された本開示の態様は、改変、代替、結合、分離することができ、また多岐にわたる異なった構成を採ることができ、それらのすべてはここに明確に包含される。
【０００９】
Ｉ．概略
プリンターに対応付けられたイベントを記録し、表示する技術及び装置について述べる。プリンターの作動時には、さまざまな問題及び／又は不具合が起こり得るが、これらの問題や不具合はプリンターのソフトウエア及び／又はハードウエアのエラーに起因している場合がある。このような問題の解決のため、ログやメモリーデータ（例えば、コアダンプ）などのエラー関連のデータをプリンターから収集することができる。このようなエラー関連のデータは、必要に応じ、ソフトウエアエラーの解析、診断、トラブルシューティング、そして解決の実行に役立てることができる。
【００１０】
しかし、エラー関連のデータの質が低い場合、またはソフトウエアエラーの問題の再現が難しい場合、ソフトウエアエラーの解決が遅れることになる。エラーや、エラー関連のデータ中の空白部分を再現する方法についての情報を、例えばエラーを検知したユーザーに問い合わせることによって人手により収集すると、収集された情報が不正確であったり、曖昧であったりする恐れがある。
【００１１】
例えば、ソフトウエアエラーを再現すべき手順が不正確であると、ソフトウエアエラーに対処しようとしている技術者がその不正確な手順によってミスリードされ、その結果ソフトウエアエラーを解決する方法を誤ってしまうこととなる。また、顧客とメーカーの技術者との間における、エラーを再現する方法についての正確な情報を得るためのコミュニケーションに、長い時間を要することにもなる。このようなソフトウエアエラーは、プリンターを使用している顧客の業務に害を及ぼし、またプリンターのメーカーの評判を落とすことになる。
【００１２】
エラー関連のデータをより多く集めるため、別注のプリンターソフトウエア及び／又はファームウエアが顧客に提供される場合がある。しかし、別注のソフトウエアの提供とインストール、そしてエラー関連のデータについて通信することは、エラーを解決しようとする顧客とメーカーの双方に、時間と労力と経費の負担を生じさせることになる。
【００１３】
本実施形態で説明する技術によれば、プリンターや類似の装置の問題や不具合を記述、説明、及び再現するためのより正確なエラー関連のデータを収集することができる。解決方法として、プリンターのファームウエアが捕捉し収集した上記のエラー関連のデータ（例えば、ログやコアダンプ等）を利用する。このようなエラー関連のデータに基づいて、エラーの再現方法に関する情報を、主としてユーザー（例えば、検査者、技術者、または顧客）からの聞き取りによって収集することができる。これによってユーザーから、エラーが発生した時に何をしていたか、そのときプリンターはどのような設定になっていたか、そしてどのような文書及び／又は他のデータをプリンターが処理中であったかを聞き取ることが可能になる。
【００１４】
エラーの再現方法に関する情報およびエラー関連のデータを取得するにあたって上記の点に対処するため、本実施形態で説明する技術は、プリンターも含めた一つ以上のコンピューターのソフトウエアと、場合によりハードウエアを用いて、「プロセスレコーディング」、すなわちプリンターの動作に関するイベントを記録することを含む。プロセスレコーディングは、一つ以上のイベントの時系列シーケンスとしてデータを捕捉することを含む。プリンターのユーザーは、コンピューター及び／又はプリンターによるプロセスレコーディングを作動させるかさせないかを選択することができる。このような設定により、プロセスレコーディングを、機器単位及び／又は印刷ジョブ単位で制御することができる。さらに、例えば印刷ジョブが誤って出力された等、ユーザーがプリンターにエラーが発生したとの疑いを持った時、ユーザーはプロセスレコーディングを作動させる適切な設定を行い、誤った印刷ジョブを再試行することができる。本実施形態におけるプロセスレコーディングソフトウエアによれば、その後、一つ以上の装置、例えばコンピューター、プリンター、またはサーバー等における（誤った）印刷ジョブに関するイベント関連のデータを記録することができる。その後、プロセスレコーディングによって保存されたイベント関連のデータはメーカーの適切な部署（例えば、販売促進、ソフトウエア開発等）に提供され、エラーの診断と対処に利用される。
【００１５】
ソフトウエア及び／又はハードウエアのエラーに関するほとんどすべてのイベントについてのイベント関連データがイベントの時系列シーケンスとして捕捉されるなら、イベントの時系列シーケンスに関するデータは、顧客のソフトウエア及び／又はハードウエアのエラーの原因に関する情報をメーカーに提供することが可能となる。イベントの時系列シーケンスによって、ソフトウエア及び／又はハードウエアのエラーを再現するのにどのようなアクションをとればよいかも示される。イベントの時系列シーケンスに関するデータは、人手による収集で得られた情報を補強し、裏付けることができる。例えば、イベントの時系列シーケンスに、プリンターのユーザーインターフェース（例えば、プリンターのフロントパネル）やプリンターファームウエアに関するイベントが含まれている場合、イベントの時系列シーケンスは、印刷ジョブの受領時刻と完了時刻、プリンターに関するネットワークイベントのタイミング、そして印刷ジョブ実行中のファームウエアの処理に関する情報を示している可能性がある。場合によっては、イベントの時系列シーケンスが、顧客からの聞き取りをしなくともソフトウエア及び／又はハードウエアのエラーの再現方法を示すことがあり、これによりエラー解決に要する顧客の時間と労力を軽減することができる。
【００１６】
捕捉可能なイベントとしては、ユーザーインターフェース関連のイベント（例えば、使用キーのデータ、マウスやタッチパッドのデータ、ボタン押下データにより捕捉されたイベント）、構成関連のイベント（例えば、一つ以上の構成パラメーター及び／又は他のデータの読み取り及び／又は設定に関するイベントや、一つ以上の構成パラメーター及び／又は他のデータの値を記録するイベント、なおここでプリンターに関する構成パラメーター及び／又は他のデータとはプリンターエンジン、プリンターファームウエア、機能設定、終了オプション設定、システム設置等に関するもの）、印刷ジョブに関するデータ（例えば、文書の名称、種類、サイズ、位置、ページ数、または紙詰まりに関するデータ）、付属装置関連のイベント（例えば、装置扉の開閉イベント、トレイの開閉イベント、装置カバーの開閉イベント、操作パネル関連のイベント、付属装置に関する診断イベント）、音声情報及び／又は映像情報を用いて記録されたイベント等があるが、これらに限定されない。プリンターの付属装置の例としては、プリンターの扉、プリンターのトレイ、プリンターのレバー、プリンターのカバー、プリンターのフロントパネル、プリンターの操作パネル等があるが、これらに限定されない。
【００１７】
一例として、プリンターに関するイベントについてのデータは、複数の機器から記録することができる。例えば、印刷ジョブに関するイベントについてのデータは、印刷ジョブを送信するコンピューター、印刷ジョブをプリンターへ伝送するプリントサーバー、及び／又は印刷ジョブを実行するプリンターにおいて記録することができる。複数の機器からイベントを捕捉することによってイベントの時系列シーケンスは、複数の機器におけるイベントを表すこととなる。複数の機器から得られたイベントの時系列シーケンスは、エラーにつながる状況の理解を深めるとともに、人手を介して入手したレポートなど、他のエラー関連のデータを補強し、及び／又は裏付ける。
【００１８】
プロセスレコーディングにより捕捉したデータは、その捕捉後、再生、表示、及び／又は他の方法により複数回提示することができる。プロセスレコーディングにより捕捉したイベント関連のデータを再生することには、イベント関連のデータを、一つ以上のイベントの時系列シーケンスとして表示及び／又は他の方法で提示するべく処理することが含まれる。イベント関連のデータを再生することには、当該イベント関連のデータの最初から最後までを表示／提示することが含まれる。再生することには、プロセスレコーディングにより捕捉された、テキスト、映像、音声、及び／又は他のデータを、表示及び／又は他の方法により提示することが含まれる。
【００１９】
一例として、プロセスレコーディングソフトウエアは、プロセスレコーディングにより記録されたデータやイベントを再生するソフトウエア再生部を備える。再生部は、捕捉されて記録されたイベント関連のデータの再生、及びそれに関連する処理を可能とする。再生部は、例えば、問題の発生時に一つ以上のプリンター及び／又はコンピューターで実行されていたイベントの時系列シーケンスを示すような再生を行う。
【００２０】
再生部は、プロセスレコーディング中に捕捉されたデータに従って、プロセスを開始および実行することができる。このようなプロセスの例としては、プリンター及び／又はコンピューターにおける、色の登録、色のキャリブレーション、再セットアップ、メモリーの初期化、ディスクのチェック又はフォーマット、メンテナンスモード、地域設定、ロギング、プロファイリング、プリンターエンジン、及び／又はユーザーインターフェースに関連した一つ以上のプロセス等があるが、これらに限定されない。再生部は、例えばユーザーによる入力、メッセージプロンプト、エラー表示等、ユーザーインターフェースを介して入力及び／又は出力された、プロセスレコーディング中に捕捉されたデータに基づいて表示を行うことができる。一例として、再生部は、プロセスレコーディング中に捕捉されたイベントの時系列シーケンスのアニメーション表示を行うことができる。一例として、再生部は、イベントの時系列シーケンスに関する情報を音声で出力、すなわちイベント関連のデータの全部または一部を音声で読み上げることができる。一例として、再生部は、ボタンの色を強調するなどの視覚的なガイダンスや、ユーザーインターフェース関連の入力及び／又は出力の提示の制御を利用することができる。
【００２１】
一例として、プロセスレコーディングは、プリンター及び／又はコンピューターの既存の機能、負荷、及び性能に対しほとんど影響を及ぼすことなく行うことができる。プリンターに対しては、プロセスレコーディングは、デスクトップや文書の編集、ネットワーク伝送、及びプリンターの処理と動作に関わる印刷／スキャニング／ファックス送信プロセスにおいて広範に適用できる。
【００２２】
プロセスレコーディングは、単一のモジュールまたは二つのモジュールによる構成で実行されてもよく、ネットワーク規模の構成により実行されてもよい。単一モジュールによる構成では、プリンターまたは他のコンピューター内部の一体型モジュールがプロセスレコーディングに用いられる。一体型モジュールはそれ自身のメモリー、記憶装置及びプロセッサーを有し、プロセスレコーディングのための演算、処理、及びメッセージ出力を行い、それによりプリンター（または他のコンピューター）に、既存の機能の発揮にほとんど、または全く影響を与えることなく、通常の印刷ジョブの実行など通常通りのタスクの実行を可能とする。このような、プロセスレコーディングのためのデータを収集し、イベントをモニターできる一体型モジュールを用いることによって、プリンター（または他のコンピューター）の性能と部品のメンテナンス、バグの解消、及び解析に役立てることができる。
【００２３】
二つのモジュールによる構成では、二つのモジュールによるプロセスレコーディングが可能である。一つはプリンターのモジュール（例えば上記のような一体型モジュール）、もう一つはプリンター外部の機器のモジュールであり、これらは、例えばプリンター外部で発生したイベントの記録、データファイルの処理、再生、シミュレーション等、プロセスレコーディング関連のさらなる動作を実行する。
【００２４】
ネットワーク構成におけるプロセスレコーディングでは、プロセスレコーディングは、プリンター、デスクトップシステム、ラップトップシステム、モバイル機器、ネットワークサーバー及び／又はインターネット（クラウド）サーバー等を含むネットワーク内で実行される。例えば一つ以上のサーバーをホストとするネットワーク上の集中型プロセスレコーディングシステムが、ネットワーク全体にわたるプロセスレコーディング動作をコーディネート及び／又は制御するのに用いられる。集中型プロセスレコーディングシステムによって、例えば、プロセスレコーディング中に捕捉されたイベント関連のデータを記録し格納するロギングサービスを、コーディネート及び／又は制御することができる。この集中型プロセスレコーディングシステムは、ネットワーク全体で行われるプロセスレコーディングに対応するイベントに関するデータ、データファイル、ログ、メモリーダンプ等を、収集、統合、格納、処理及び／又は体系付けることができる。すなわち、接続されたプリンター及び／又は他の装置は、イベント関連のデータ、データファイル、ログ及びプロセスを、集中型プロセスレコーディングシステムに通知することができる。集中型プロセスレコーディングシステムは、ネットワーク内のプリンターが受領する印刷ジョブを送信または生成する作動システムおよびアプリケーションについて、複数の印刷ジョブが単一の機器から送られてくるのか複数の機器から送られてくるのかを判定し、ネットワーク内での印刷ジョブのシーケンスを調整し、印刷ジョブの送信におけるネットワーク遅延を検知し（言い換えれば、ネットワーク遅延が印刷ジョブの処理において問題を起こす要素であるかどうかを判定し）、及び／又は順序付け情報を含むデータを記録するものである。
【００２５】
一例として、プロセスレコーディングは、新たなハードウエアをほとんど、または全く必要とすることなく実行できる。例えば、プリンター及び／又は他の装置のソフトウエアは、ネットワーク伝送を含むイベント関連のデータを記録するのに用いられる。また、既存のセンサー、マイク、及び／又はカメラを、例えば、問題の発生を確認しようとする過程でイベントを記録するために、プロセスレコーディングに用いることもできる。
【００２６】
プロセスレコーディングを用いてプリンターエラー（他の種類の装置のエラーも含め）に関連したイベントの時系列シーケンスを捕捉することにより、これらのエラーを再現するための動作を特定し、正確に決定するのに必要な時間を短縮することができる。エラーを再現するための動作を正確に決定することで、テストのための時間と、エラーを再現し、エラーを解決し、エラーの解決法を実証する役目を持つ開発担当者とを省くことができる。さらに、エラーを再現するための動作を正確に決定することで、顧客に対してこれらのエラーに至るまでの動作を説明する時間を省くことができる。しかも、イベントの時系列シーケンスという形式のより良いエラー関連のデータは、ソフトウエアの開発と展開、およびエラー解決の報告の繰り返しを低減することができ、それによりプリンターのバグ修復が容易となり、プリンターのバグを修復するための時間、労力及び経費、それに不満もが低減されることとなる。このように、イベントの時系列シーケンスのプロセスレコーディングを行うことにより、消費者、技術者及びユーザーが問題を報告するのが容易となり、問題に関する顧客とメーカー間のコミュニケーションの遅れを抑制することができる。
【００２７】
ＩＩ．コンピューターと印刷システムの例
図１は、コンピューター１００の構成の一実施形態を示す模式的なブロック図である。一実施形態として、コンピューター１００は、プロセスレコーディング、ノード、プロセスレコーダーノード、分散メモリーシステム、ネットワーク１４０、２００、スキャナー／プリンター（ＳＰＤ）２１０、２１２、２１４、２１６、コンピューター２２０、２２２、プロセスレコーダーノード２３０、分散メモリーシステム２３２、外部記憶装置３１０、ダイアログ４１０、４２０、４３０、方法５００、６００、８００、１１００、データファイル７１０、７３０、及び／又はユーザーインターフェース９００、１０００に関連する、ここに記載の文書配布の技術及び／又は機能性の少なくとも一部を実現するよう構成されている。
【００２８】
コンピューター１００は、一つ以上の入力部１０２、一つ以上の出力部１０４、一つ以上のプロセッサー１０６及びメモリー１０８を有する。入力部１０２は、ユーザー入力部、ネットワーク入力部、センサー、及び／又は他の種類の入力装置を有する。例えば、入力部１０２は、タッチ画面、キーボード、キーパッド、コンピューターマウス、トラックボール、ジョイスティック、カメラ、音声認識モジュール及び／又は類似の装置などのユーザー入力部を含む。ネットワーク入力部は、例えばＥｔｈｅｒｎｅｔ（登録商標）トランシーバー、Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ（ＵＳＢ）トランシーバー、またはツイストペア線、同軸ケーブル、光ケーブルリンク、または一つ以上のネットワーク１４０、２００の有線区間などの有線ネットワークへの同様の物理的接続を介して通信可能な類似のトランシーバーなどの、有線ネットワーク受信機及び／又はトランシーバー、及び／又は、例えばＢｌｕｅｔｏｏｔｈ（登録商標）トランシーバー、ＺｉｇＢｅｅ（登録商標）トランシーバー、Ｗｉ−Ｆｉ（登録商標）トランシーバー、ＷｉＭＡＸ（登録商標）トランシーバー、無線広域ネットワーク（ＷＷＡＮ）トランシーバー及び／又は一つ以上のネットワーク１４０、２００の無線区間などの無線ネットワークを介して通信可能な他の種類の無線トランシーバーなどの、無線ネットワーク受信機及び／又はトランシーバーを含む。センサーは、コンピューター１００の環境条件を計測し、当該環境のデータを提供する構成とされた装置を含む。データの例としては、位置データ、速度（速さと方向）データ、加速度データ、及びコンピューター１００の環境に関する他のテータ等があるが、これらに限定されない。センサーの例としては、ＧＰＳセンサー、位置センサー、ジャイロスコープ、加速度計、磁力計、カメラ、光センサー、赤外線センサー、マイク等がある。しかしながら、センサーは、これらに限定されるものではない。また、異なる入力部１０２の採用も可能である。
【００２９】
出力部１０４は、ユーザー用表示装置、音声出力部、ネットワーク出力部、及び／又は他の種類の出力部を有する。ユーザー用表示装置は、一つ以上の印刷部、液晶表示器（ＬＣＤ）、発光ダイオード（ＬＥＤ）、レーザー、デジタルライティングプロセッシング（ＤＬＰ）技術によるディスプレイ、ブラウン管（ＣＲＴ）、電球、及び／又は他の類似の装置を含む。音声出力部は、スピーカー、スピーカージャック、音声出力ポート、オーディオ出力部、ヘッドフォン、イヤフォン、及び／又は他の類似の装置を含む。ネットワーク出力部は、例えばＥｔｈｅｒｎｅｔ（登録商標）トランシーバー、Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ（ＵＳＢ）トランシーバー、またはツイストペア線、同軸ケーブル、光ケーブルリンク、または一つ以上のネットワーク１４０、２００の有線区間などの有線ネットワークへの同様の物理的接続を介して通信可能な類似のトランシーバーなどの、有線ネットワーク送信機及び／又はトランシーバー、及び／又は、例えばＢｌｕｅｔｏｏｔｈ（登録商標）トランシーバー、ＺｉｇＢｅｅ（登録商標）トランシーバー、Ｗｉ−Ｆｉ（登録商標）トランシーバー、ＷｉＭＡＸ（登録商標）トランシーバー、無線広域ネットワーク（ＷＷＡＮ）トランシーバー及び／又は一つ以上のネットワーク１４０、２００の無線区間などの無線ネットワークを介して通信可能な他の種類の無線トランシーバーなどの、無線ネットワーク送信機及び／又はトランシーバーを含む。他の種類の出力部としては、発振装置、触覚フィードバック装置、例えば赤外線や紫外線を発する不可視光線発光器等がある。しかしながら、他の種類の出力部は、これらに限定されるものではない。また、異なる出力部１０４の採用も可能である。
【００３０】
プロセッサー１０６は、一つ以上の汎用プロセッサー、中央処理装置（ＣＰＵ）、ＣＰＵコア、及び／又は一つ以上の専用プロセッサー（例えば、ｇｒａｐｈｉｃｓ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ（ＧＰＵ）、デジタル信号プロセッサー（ＤＳＰ）、ｆｉｅｌｄ  ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅｄ  ａｒｒａｙ（ＦＰＧＡ）、用途特化型集積回路（ＡＳＩＣ）等）を有する。プロセッサー１０６は、メモリー１０８に格納されたコンピューター可読指示１１０。及び／又は、本実施形態で述べる他の指示を実行するよう構成されている。
【００３１】
メモリー１０８は、少なくとも一つのプロセッサー１０６が読み取り及び／又はアクセス可能なデータ及び／又は指示を記憶する構成とされた、一つ以上のコンピューター可読記憶媒体を有する。一つ以上のコンピューター可読記憶媒体は、光学的、磁気的、有機または他のメモリーやディスクなどの一つ以上の揮発性及び／又は不揮発性記憶部を含み、これらは少なくとも一つのプロセッサー１０６に、その全体または一部が組み入れられる。コンピューター可読記憶媒体は、レジスターメモリー、プロセッサーキャッシュ、及び／又はＲａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ（ＲＡＭ）など、一時的データを格納する一つ以上の領域を含む。コンピューター可読記憶媒体は、永続的なプログラムコード及び／又はデータを長期間保存する非一時的なコンピューター可読媒体、例えばＲｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ（ＲＯＭ）、光学又は磁気ディスク、Ｃｏｍｐａｃｔ−Ｄｉｓｃ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ（ＣＤ−ＲＯＭ）などの二次的または持続性長期記憶装置を含む。一実施形態として、メモリー１０８は単一の物理装置（例えば一つの光学的、磁気的、有機または他のメモリーやディスク）を用いて組み入れられてもよく、また、他の実施形態として、メモリー１０８は二つ以上の物理装置を用いて組み入れられてもよい。
【００３２】
メモリー１０８は、一つ以上のプロセッサー１０６に実行されることによりコンピューター（例えば、コンピューター１００）に機能を実現させるコンピューター可読指示１１０を格納する。当該機能としては、本実施形態に記載する手順、技術、装置、ネットワーク、方法、特徴、及び／又はシナリオに関する機能等がある。但し、当該機能はこれらに限定されない。一例として、コンピューター可読指示１１０は、ノード、プロセスレコーダーノード、スキャナー／プリンター、コンピューター、及び／又は分散メモリーシステムの、ここでいう機能の少なくとも一部を実行させる指示を含む。
【００３３】
図２は、ネットワーク２００の構成の一実施形態を示す図である。ネットワーク２００は、スキャナー／プリンター２１０、２１２、２１４、２１６、コンピューター２２０、２２２、一つ以上のプロセスレコーダーノード２３０、及び／又は分散メモリーシステム２３２を有する。一例として、ネットワーク２００はより多くの又はより少数の、及び／又は異なる種類のノード、スキャナー／プリンター、コンピューター、サーバーコンピューター、及び／又は図２に示した以外の装置を有する。一例として、ネットワーク２００は、スキャナー／プリンター２１０、２１２、２１４、２１６、コンピューター２２０、２２２、プロセスレコーダーノード２３０及び分散メモリーシステム２３２が、ネットワーク１４０で接続された状態でピアとして作動する、Ｐ２Ｐネットワークである。
【００３４】
スキャナー／プリンター２１０、２１２、２１４、２１６は、元々は紙の状態でまたは電子的に使用可能であった文書及び／又はファイルをスキャン、コピー、ｅメール送信、通信、及び／又は他の方法で処理する構成とされた機能部を有する。例えば、スキャナー／プリンター２１０、２１２、２１４、２１６の一部またはすべては、元の紙文書の電子コピーを作成、及び／又は元の紙文書からＯＣＲまたは他の技術を用いて電子データを生成、例えば紙形式または他の状態の紙文書から紙形式のデータを生成するスキャニング部を有する。一つ以上のスキャナー／プリンター２１０、２１２、２１４、２１６による処理の後、紙形式のデータ、文書、及び／又はファイルは、要求に応じて、紙の状態でまたは電子的に使用可能となる。すなわち、スキャナー／プリンター２１０、２１２、２１４、２１６は、紙文書ＰＡＰＥＲ  Ｄまたは電子文書ＥＤを、少なくとも次の方法によって処理する。ＰＡＰＥＲ  Ｄの内容を表す電子文書ＥＤ１を生成する（例えば、ＰＡＰＥＲ  ＤをスキャンしてＥＤ１を生成する）、ＰＡＰＥＲ  Ｄから一枚以上紙コピーを作成する、一種類以上の紙にＥＤ及び／又はＥＤ１の１枚以上のコピーを印刷する、ＥＤ及び／又はＥＤ１の一枚以上の電子コピーを作成する、ＥＤ及び／又はＥＤ１のフォーマットを変更する（例えば、ＯＣＲスキャニングによってＥＤ及び／又はＥＤ１を格納するフォーマットを変換する）、及びスキャナー／プリンター２１０、２１２、２１４、２１６以外の装置がＥＤ及び／又はＥＤ１を使用またはアクセスできるよう、及び／又はＥＤ及び／又はＥＤ１の内容を他の装置との間で通信できるよう、遠隔アクセス可能なメモリー（例えばドキュメントボックス）を保持する。場合により、ＰＡＰＥＲ  Ｄの内容を表す電子文書ＥＤ１を生成することは、ＰＡＰＥＲ  Ｄの内容の一部またはすべてを表す紙形式のデータＰＦＤを生成することを含むこともある。
【００３５】
ドキュメントボックスは実在物（例えばユーザー、管理者、企業や他の組織）のプリンター、スキャナー／プリンター、プリントサーバー、または他の装置に付与され、当該実在物が文書、ファイル、及び／又は他のデータを保管、保持できるようにするものである。一実施形態として、ドキュメントボックスには、住所録など個人データ用のメモリー及び／又はデバイスアカウント記憶領域が付随している、及び／又は含まれている。ドキュメントボックス、住所録、およびデバイスアカウント記憶領域は、一つ以上の文書、ファイル、個人データ、及び／又は連絡先、使用量及び使用限度など他のデータを格納する。一例として、本実施形態における文書配布技術は、ドキュメントボックスに格納された一つ以上の文書に適用することができる。
【００３６】
一例として、スキャナー／プリンター２１０、２１２、２１４、２１６は、他のタスク及び／又は他の処理も実行することができる。スキャナー／プリンター２１０、２１２、２１４、２１６は、色、速度、演算能力、機能、ネットワーク接続可能度、及び／又は他の側面においてそれぞれ異なる、複数のメーカーの製品が使用される。
【００３７】
一例として、スキャナー／プリンター２１０、２１２、２１４、２１６の一部またはすべては、一つ以上の、多くの場合それぞれ異なる、ネットワークプロトコルを介してネットワーク１４０に接続されている。データは、コンピューター、演算装置、ノード、プリンター、スキャナー／プリンター、サーバー、及びネットワーク１４０間の有線及び／又は無線リンクを介して、スキャナー／プリンター２１０、２１２、２１４、２１６、コンピューター２２０、２２２、プロセスレコーダーノード２３０及び／又は分散メモリーシステム２３２の間で伝送される。ネットワーク２００のそれぞれの装置間のデータ伝送のフォーマットは、テキスト形式、画像形式、ｅｘｔｅｎｓｉｂｌｅ  ｍａｒｋ−ｕｐ  ｌａｎｇｕａｇｅ（ＸＭＬ）形式、Ｓｉｍｐｌｅ  Ｎｅｔｗｏｒｋ  Ｍａｉｎｔｅｎａｎｃｅ  Ｐｒｏｔｏｃｏｌ（ＳＮＭＰ）形式、データベーステーブル、ＯＣＲ読み取りされたテキスト、フラットファイル形式または他の形式など、様々なフォーマットの一つ以上とすることができる。
【００３８】
コンピューター、演算装置、ノード、プリンター、スキャナー／プリンター、及びサーバー間の通信としては、コンピューター２２０、２２２、プロセスレコーダーノード２３０及び／又は分散メモリーシステム２３２の間での、スキャナー／プリンター２１０、２１２、２１４、２１６が実行するスキャン及び印刷ジョブのデータの送受信、スキャナー／プリンター２１０、２１２、２１４、２１６からコンピューター２２０及び／又はコンピューター２２２への、警告、状態、エラー、機器情報、カラーインク使用情報、メンテナンスイベント情報、及び／又は他のメッセージの送信、文書管理システム（図２には不図示）から他の装置への、カラーインク使用量、メンテナンス、エラー、及び／又はプリンター及び／又はスキャナー／プリンターの他の状態、例えば、アイドリング、印刷中、スリープ状態、紙詰まり、用紙不足、トナーやインク不足などの通知、スキャナー／プリンター２１０、２１２、２１４、２１６、コンピューター２２０、２２２、プロセスレコーダーノード２３０及び／又は分散メモリーシステム２３２の間での、ここに記載の文書の安全な保管及び／又は読み出しに関するデータの送受信等が挙げられる。ノード、コンピューター、スキャナー／プリンター２１０、２１２、２１４、２１６、コンピューター２２０、２２２、プロセスレコーダーノード２３０及び／又は分散メモリーシステム２３２の間の他の通信も可能である。その例としては、一つ以上のメンテナンス及び管理に関する通信があるが、これに限定されない。
【００３９】
一例として、コンピューター２２０、２２２は、ネットワーク２００を利用して、文書を作成、取得、更新、表示、配布、保存、読み出し、及び／又は削除することができる。例えば、コンピューター２２０及び／又はコンピューター２２２は、ここに記載のプロセスレコーダーノード及び／又は分散メモリーシステムの一部または全部として機能することができる。
【００４０】
プロセスレコーダーノード２３０は、少なくともプロセスレコーディングに関するデータ及び／又はソフトウエアを保存するためそれぞれが一つ以上の本実施形態におけるプロセスレコーダーノードとして機能する、一つ以上のコンピューターを有する。一例として、プロセスレコーダーノード２３０の一部またはすべては、分散メモリーシステム２３２の一部も構成することができる。
【００４１】
分散メモリーシステム２３２は、少なくとも、本実施形態におけるプロセスレコーディング技術で利用される分散メモリーシステムの保存を可能とする。一例として、分散メモリーシステム２３２は、ここに記載のプロセスレコーディング技術で利用される一つ以上の分散メモリーシステムの保存を可能とする一つ以上の他のコンピューター及び／又はデータ記憶装置と通信を行うことができる。
【００４２】
プロセスレコーディングのためのデータは、ネットワーク２００を利用して伝達できる。プロセスレコーディングのためのデータとしては、データファイル、プロセスレコーディング用のソフトウエア、プロセスレコーディングに関するコマンド、イベント関連のデータ、エラー関連のデータ、イベントの時系列シーケンス、プロセスレコーディングに関連するトークン等がある。但し、プロセスレコーディングのためのデータは、これらに限定されない。他の種類のデータも、ネットワーク２００を利用して伝達が可能である。
【００４３】
イベント関連のデータは、コンピューター又はプリンターで発生する一つ以上のイベントに関する情報を含む。イベント関連のデータとしては、テキスト、バイナリーデータ、映像データ、音声データ、及び／又は他の種類のデータがある。装置のイベントの例としては、装置の設定や構成に関する、構成関連のイベント、コンピューターの一つ以上のユーザーインターフェースとの間で送受信されるデータに関する、ユーザーインターフェース関連のイベント、装置上で実行されるスレッド、プロセス及び／又はアプリケーションに関するプロセス関連のイベント、コンピューターの一つ以上のポート、カード、ドライブ、ディスク、及び／又は他の入出力部における入力及び／又は出力に関する入出力関連のイベント、装置の付属装置が関与する動作に関する付属装置関連のイベント、信号、パケット、アドレス、及び／又は装置が送受信する他のネットワーク関連の情報に関する、ネットワーク関連のイベント、メモリーの割り当てと割り当て解除、及び装置のメモリー／コアダンプに関するメモリー関連のイベント等がある。但し、装置のイベントはこれらに限定されない。一例として、イベント関連のデータとして記録されたイベントは、コンピューター又はプリンターにおいて、印刷ジョブ及び／又は他の処理を実行中に発生した一つ以上のイベントを含む。
【００４４】
コンピューターにおいてプロセスレコーディングソフトウエアにより記録できるイベント関連のデータとしては、印刷ジョブ（または他の処理）及び／又は他の設定やオプション等に関する選択された設定を記録するコンピューターの構成データ、コンピューターの一つ以上のユーザーインターフェースとの間で送受信されたデータに関するユーザーインターフェースデータ、印刷ジョブ（または他の処理）のために実行されたプロセス及びアプリケーション、及び／又は印刷ジョブ（または他の処理）が作成、送信、受信、及び／又は実行されていた時にコンピューターで実行されたプロセス及びアプリケーションの対象であるプロセスデータ、印刷ジョブ（または他の処理）の作成、送信、受信、及び／又は実行に関与する一つ以上のコンピューター及び／又はプリンターに関する、装置関連のデータ、印刷ジョブ（または他の処理）に関わる、コンピューターの一つ以上のポート、カード、ドライブ、ディスク、及び／又は装置の他の入出力部における入出力動作に関する入出力データ、印刷ジョブ（または他の処理）に関わる、信号、パケット、アドレス、及び／又はコンピューターが送受信する他のネットワーク関連の情報に関するネットワークデータ、印刷ジョブ（または他の処理）に対応するコンピューターで発生したイベントのタイムスタンプなどのタイミングデータ、そしてファイル、コアダンプ、ログ、ＲＡＭ、及び／又は印刷ジョブ（または他の処理）に関連して割り当てられ、使用され、及び／又は割り当て解除された他のコンピューターメモリーに関するメモリーデータ等がある。但し、当該イベント関連のデータは、これらに限定されない。
【００４５】
プリンターにおいてプロセスレコーディングソフトウエアにより記録できるイベント関連のデータとしては、プリンターに指示された印刷ジョブ（または他の処理）に関する選択された設定を記録するプリンターの構成データ、プリンターエンジン、プリンターファームウエアのバージョン、フロントパネルの構成、機能とオプション設定、終了オプション、プリンターのシステム設定及びメンテナンス設定に関するデータ、プリンターの一つ以上のユーザーインターフェースとの間で送受信されたデータに関する、プリンターのユーザーインターフェースデータ、プリンターの扉、カバー、トレイ、仕上げ装置に関するデータなど、プリンターの付属装置のイベントデータ、印刷ジョブ（または他の処理）のためにプリンターが実行したプロセス、及び／又は印刷ジョブ（または他の処理）が作成、送信、受信、及び／又は実行されていた時にプリンターが実行したプロセスに関するプロセスデータ、印刷ジョブ（または他の処理）の作成、送信、受信、及び／又は実行に関与する一つ以上のコンピューター及び／又はプリンターに関する、装置関連のデータ、印刷ジョブ（または他の処理）に関わる、プリンターの一つ以上のポート、カード、ドライブ、ディスク、及び／又は装置の他の入出力部における入出力動作に関する入出力データ、印刷ジョブ（または他の処理）に関わる、信号、パケット、アドレス、及び／又はプリンターが送受信する他のネットワーク関連の情報に関するネットワークデータ、印刷ジョブ（または他の処理）に対応するプリンターで発生したイベントのタイムスタンプなどのタイミングデータ、そしてファイル、コアダンプ、ログ、ＲＡＭ、及び／又は印刷ジョブ（または他の処理）に関連して割り当てられ、使用され、及び／又は割り当て解除された他のプリンターメモリーに関するメモリーデータ等がある。但し、当該イベント関連のデータは、これらに限定されない。
【００４６】
一実施形態として、例えば一つ以上のサーバー、プリンター、スキャナー／プリンター、ノード、及び／又は他のコンピューターなど、一つ以上の追加のコンピューターを、追加の機能、例えば一つ以上のドキュメントソリューション、複合機管理サービス、及び／又は他の機能を実行するため、ネットワーク２００で用いてもよい。
【００４７】
ＩＩＩ．プリンターに関する情報を記録する装置及び方法
図３は、ネットワーク２００の一部の構成の一実施形態を示す図である。具体的には、図３はスキャナー／プリンター２１４、２１６、コンピューター２２０、及びプロセスレコーダーノード２３０をつなぐネットワーク１４０を示しており、スキャナー／プリンター２１４が外部記憶装置３１０に直接接続されている。
【００４８】
スキャナー／プリンター２１４、２１６はそれぞれ、ページ記述言語（ＰＤＬ）インタープリター３２０ａ、３２０ｂ、一つ以上のグラフィックレンダリング部３２２ａ、３２２ｂ、ファームウエア３２４ａ、３２４ｂ、及びプロセス記録／再生ソフトウエア（ＰＲＰＳ）３３０ａ、３３０ｂを有するものとして図示されている。各ページ記述言語インタープリター３２０ａ、３２０ｂは、ページ記述言語で表された印刷ジョブを受領し、印刷ジョブを実行するための対応するコマンドを出力する。ＰＤＬは、印刷ジョブにおける文書またはページを記述する言語である。ページ記述言語の例としては、ＰＣＬＸＬ（ＰＣＬ６）、ＰｏｓｔＳｃｒｉｐｔ、Ｐｏｒｔａｂｌｅ  Ｄｏｃｕｍｅｎｔ  Ｆｏｒｍａｔ（ＰＤＦ）、ＸＭＬ  Ｐａｐｅｒ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ（ＸＰＳ）等がある、但し、ＰＤＬはこれらに限定されない。一例として、例えばＪＰＧやＴａｇｇｅｄ  Ｉｍａｇｅ  Ｆｉｌｅ  Ｆｏｒｍａｔ（ＴＩＦＦ）などの画像フォーマットが、ＰＤＬでサポートされている。
【００４９】
プロセス記録／再生ソフトウエア（ＰＲＰＳ）３３０ａ、３３０ｂは、プリンターの一つ以上の機能部／又は一つ以上の再生部から提供される、プロセスレコーディングに必要なデータを受領して記録するための、一つ以上のプリンターエンジンプロセスレコーダーを有する。例えば、スキャナー／プリンター２１４上で稼働しているプロセス記録／再生ソフトウエア３３０ａは、バックグラウンドで駆動しつつ、例えばページ記述言語インタープリター３２０ａ、グラフィックレンダリング部３２２ａ、ファームウエア３２４ａ、及びフロントパネル／ユーザーインターフェース（ＵＩ）ソフトウエア３２６など、スキャナー／プリンター２１４の各機能部からイベント関連のデータを受領することができる。イベント関連のデータの受領後、プロセス記録／再生ソフトウエア３３０ａは当該データをデータファイル及び／又は他の場所に保存することができる。プロセス記録／再生ソフトウエア３３０ａは当該データをローカル、例えばスキャナー／プリンター２１４に、及び／又はリモート、プロセスレコーダーノード２３０及び／又は分散メモリーシステム２３２に保存することができる。
【００５０】
一例として、プロセス記録／再生ソフトウエア３３０ａは、イベント関連のデータを受領次第、タイムスタンプを付与する。言い換えれば、プロセス記録／再生ソフトウエア３３０ａは、イベント関連のデータの受領に対応する一つ以上の時間を記録し、かつ保存する。一例として、プロセス記録／再生ソフトウエア３３０ａは、プロセスレコーディング中に捕捉されたデータを保存する前にプロセスレコーディングが起動されたことを確認する。スキャナー／プリンター２１６の側においても、記録／再生ソフトウエア３３０ｂは、記録／再生ソフトウエア３３０ａ及びスキャナー／プリンター２１４に関して述べたのと同様の動作が可能である。
【００５１】
印刷ジョブを出力させるコマンドは、グラフィックレンダリング部３２２ａ、３２２ｂにそれぞれ与えることができ、これらは印刷ジョブのテキスト及び／又はグラフィックを紙、ファイル、及び／又は表示画面上に出力するコマンドを実行する。例えば、グラフィックレンダリング部３２２ａ、３２２ｂは、スキャナー／プリンター２１４、２１６からそれぞれ受け取ったＰＤＬコマンド又はデータを、それぞれのスキャナー／プリンターのプリンターエンジンが使用できるようバイナリーデータに変換する。その後、プリンターエンジンは当該バイナリーデータを画素に変換し、その画素が印刷ジョブによる指示に応じて紙及び／又は電子ファイル上に出力されることになる。
【００５２】
印刷ジョブのテキスト及び／又はグラフィックを出力するため、スキャナー／プリンター２１４とスキャナー／プリンター２１６は、それぞれのファームウエア３２４ａ、３２４ｂを利用して、出力タスクを実行する。ファームウエア３２４ａ、３２４ｂは、対応するスキャナー／プリンター２１４、２１６に対する、例えば装置管理や、プロセス記録／再生ソフトウエア３３０ａ、３３０ｂとのインターフェースによりプロセスレコーディングを行うなどの他のタスクを実行する。
【００５３】
プロセスレコーディングには、一つ以上のプリンター、例えばスキャナー／プリンター２１４、２１６の少なくともいずれかに関するイベント関連のデータを捕捉、処理、及び保存することが含まれる。一例として、プロセスレコーディングには、例えばコンピューター、サーバー、ノード等、プリンター以外の装置に関するイベント関連のデータを捕捉、処理、及び保存することが含まれる。したがって、スキャナー／プリンター２１４、２１６、コンピューター２２０、プロセスレコーダーノード２３０の一つに対するプロセスレコーディング動作としては、装置に対するプロセスレコーディングを起動すること、装置に対するプロセスレコーディングを停止すること、装置で発生しているイベントに関する情報をイベント関連のデータとして捕捉すること、イベント関連のデータを処理すること、イベント関連のデータを記録及び／又は例えばデータファイルに保存すること、及び記録された／保存されたイベント関連のデータ、例えばデータファイルを一つ以上の他の装置に伝送すること、等がある。但し、当該プロセスレコーディング動作はこれらに限定されない。
【００５４】
スキャナー／プリンター２１４はまた、ユーザーインターフェースとしての機能を実行するフロントパネル／ユーザーインターフェースソフトウエア３２６を有する。ユーザーインターフェース機能には、フロントパネル及び／又はスキャナー／プリンター２１４の一つ以上の他のユーザーインターフェースからボタンやキーの押下による入力を受け付けること、受け付けた入力に基づいてイベント、コマンド及び／又は他のデータを生成すること、及びフロントパネル及び／又はスキャナー／プリンター２１４の一つ以上の他のユーザーインターフェースを用いて表示を行うこと等がある。但し、ユーザーインターフェース機能はこれらに限定されない。
【００５５】
一例として、プリンターのユーザーインターフェース、例えばスキャナー／プリンター２１４のフロントパネル／ユーザーインターフェースソフトウエア３２６は、少なくともプリンターに対するプロセスレコーディングの起動及び／又は停止を可能とするために使用されるボタンや表示部など、ユーザーインターフェースとしての機能を有する。より具体的には、プリンターのフロントパネルにはプリンターの設定を選択するためのボタン、表示画面、タッチ画面、及び／又はキーボードを含む操作パネルが備えられ、このようなフロントパネルは、例えばプリンターを使用しての印刷、スキャン、コピー、ファックス送信やジョブの伝送などの、プリンターの機能性と能力を表すのに用いられる。一例として、プリンターのユーザーインターフェース、例えばフロントパネルは、プロセスレコーディングのオンオフを切り替えるボタンなど、プロセスレコーディングを起動及び／又は停止させるための一つ以上のボタン及び／又は他のユーザーインターフェース要素を備えている。
【００５６】
コンピューター２２０は、ソフトウエアアプリケーション３４０ａ〜３４０ｂを含んで図示されている。ソフトウエアアプリケーション３４０ａ〜３４０ｂの一部またはすべてはプロセスレコーダー起動プラグイン（ＰＲＩ）を含む。例えば、ソフトウエアアプリケーション３４０ａはプロセスレコーダー起動プラグイン３４２を含み、ソフトウエアアプリケーション３４０ｂはプロセスレコーダー起動プラグイン３４４を含む。コンピューター２２０はまた、一つ以上のプリンターと通信し、更には、例えば一つ以上のプロセスレコーダーノード２３０や、一つ以上の分散メモリーシステム２３２などの印刷動作に関連する一つ以上の装置と通信するためのプリンタードライバー３５０を有する。
【００５７】
図３は、プリンタードライバー３５０がプロセスレコーダー起動プラグイン３５２を含むことを示している。ソフトウエアアプリケーション３４０ａ〜３４０ｂの一部またはすべて及びプリンタードライバー３５０はプロセスレコーダーソフトウエア（ＰＲＳ）３５４と通信が可能である。例えば、アプリケーション３４０ａ、アプリケーション３４０ｂ、プリンタードライバー３５０のそれぞれのプロセスレコーダー起動プラグイン３４２、３４４、３５２は、例えばコンピューター２２０上でプロセスレコーディングを起動及び／又は停止するなど、プロセスレコーディングに関してプロセスレコーダーソフトウエア３５４と通信する。
【００５８】
プロセスレコーダー起動プラグイン３１２、プロセスレコーダー起動プラグイン３４２、プロセスレコーダー起動プラグイン３４４、及びプロセスレコーダー起動プラグイン３５２に限らず、プラグインは、プロセスレコーディングを起動および停止するのに使用することができる。プロセスレコーダー起動プラグイン３４２、プロセスレコーダー起動プラグイン３４４、及びプロセスレコーダー起動プラグイン３５２などのプラグインがアプリケーション又はプリンタードライバーに対応付けられている例においては、プラグインはプロセスレコーディングが起動されているか否か判定することができる。そしてプロセスレコーディングが起動されていれば、プラグインは対応付けられているアプリケーション又はプリンタードライバーに対してコンピューターのプロセスレコーディングを行うことができる。コンピューターのプロセスレコーディングとしては、キーストロークの収集、クリック、移動、押下、ドラッグ、ドロップなどユーザーインターフェース装置（例えばマウスやタッチ画面）への入力の記録、画面表示などユーザー機器の出力の記録、及び／又は音声及び／又は映像の記録等があるが、これらに限定されない。コンピューターのプロセスレコーディング中にプラグインにより捕捉されたデータは、例えば一つ以上のプロセスレコーディングデータファイルに保存することができる。
【００５９】
プロセスレコーダーソフトウエア３５４は、例えばコンピューター１００などのコンピューターに一つ以上のサービスを提供することにより、コンピューター２２０に対しプロセスレコーディングを実行することができる。プロセスレコーダーソフトウエア３５４が行うサービスとしてはロギングサービスやモニタリングサービス等があるが、これらに限定されない。一例として、ロギングサービスとモニタリングサービスは一体のシステムサービスとして統合されている。
【００６０】
ロギングサービスは、プロセスレコーディング中に捕捉されたデータを保存することができる。例えば、プラグインにより捕捉されたデータはプロセスレコーダーソフトウエア３５４のロギングサービスに送られ、ロギングサービスは当該データをデータファイル及び／又は他の領域に保存できる。ロギングサービスはデータを、例えばコンピューター２２０などローカルに、及び／又は例えばプロセスレコーダーノード２３０及び／又は分散メモリーシステム２３２などリモートに保存できる。一例として、ロギングサービスにより、プロセスレコーディング中に捕捉されたデータを保存する前にプロセスレコーディングが起動されたことを確認することができる。
【００６１】
プロセスレコーダーソフトウエア３５４は、システムモニタリングサービスも行うことができる。システムモニタリングサービスは、例えばプロセスレコーディングに関しシステム全体にわたるモニタリングを行う一つ以上のバックグラウンドサービスなど、一つ以上のプロセスを含む。システムモニタリングサービスによって、例えばプリンタードライバー、アプリケーション、及び／又はコンピューターに対しプロセスレコーディングが起動されているか否かをチェックすることにより、プロセスレコーディングのモニタリング前に、プロセスレコーディングが起動されていることを確認できる。プロセスレコーディングが起動されていると確認された後、コンピューターで行われているシステムモニタリングサービスは、プラグインを利用することによって、少なくとも上記コンピューターに対するプロセスレコーディングを実行することができる。コンピューターのプロセスレコーディングの実行に加え、システムモニタリングサービスは、実行プロセスを収集して、実行プロセスが印刷動作又は印刷ジョブの生成に影響するか否かを判定することができる。
【００６２】
上記のように、プロセス記録／再生ソフトウエア３３０ａ、３３０ｂはプリンターに関するイベント関連のデータを記録することができ、プロセスレコーダーソフトウエア３５４はコンピューターに関するイベント関連のデータを記録することができる。さらに、例えばスキャナー／プリンター２１４及びコンピューター２２０の双方、あるいは複数のコンピューター及び／又は複数のプリンターなど、複数の機器に記録されたイベント関連のデータは、他のソースから収集されたデータと、結合及び統合することができる。そして、イベント関連のデータの再生は、例えばスキャナー／プリンター２１４とコンピューター２２０のいずれか、及び／又は複数のソースから結合され統合されたイベント関連のデータの再生など、他のソースから取得されたイベント関連のデータの再生を含む。
【００６３】
プロセス記録／再生ソフトウエア３３０ａ、プロセス記録／再生ソフトウエア３３０ｂ、及びプロセスレコーダーソフトウエア３５４の一部またはすべては、一つ以上の再生部を有する。プロセス記録／再生ソフトウエア３３０ａ、プロセス記録／再生ソフトウエア３３０ｂ、及び／又はプロセスレコーダーソフトウエア３５４の再生部は、記録されたイベント関連のデータの再生とそれに関連する処理を可能とするものである。例えば、プロセス記録／再生ソフトウエア３３０ａの再生部は、スキャナー／プリンター２１４及び／又は例えばコンピューター２２０、スキャナー／プリンター２１６、プリントサーバーなど一つ以上の他の装置で発生したイベントの時系列シーケンスを示すように再生する。同様に、プロセス記録／再生ソフトウエア３３０ｂの再生部は、スキャナー／プリンター２１６及び／又は一つ以上の他の装置で発生したイベントの時系列シーケンスを示すように再生する。さらに、プロセスレコーダーソフトウエア３５４の再生部は、コンピューター２２０及び／又は一つ以上の他の装置で発生したイベントの時系列シーケンスを示すように再生する。
【００６４】
一例として、プロセス記録／再生ソフトウエア３３０ａ、プロセス記録／再生ソフトウエア３３０ｂ、及びプロセスレコーダーソフトウエア３５４の一部またはすべては、例えばデータファイル中のデータなど、記録されたイベント関連のデータから、イベント、データ及びタイムスタンプを含むイベント履歴レポート及び／又は図表を生成することができる。イベント履歴レポート及び／又は図表を生成するため、プロセス記録／再生ソフトウエア３３０ａ、プロセス記録／再生ソフトウエア３３０ｂ、及びプロセスレコーダーソフトウエア３５４の一部またはすべては、不具合や問題を「再現する手順」のレポートを作成することができる。このレポートには、記録されたイベント関連のデータに基づくチャート、表、図式などが含まれる。イベント履歴レポート及び／又は図表の生成中、プロセス記録／再生ソフトウエア３３０ａ、プロセス記録／再生ソフトウエア３３０ｂ、及びプロセスレコーダーソフトウエア３５４の一部またはすべては、ログから印刷ジョブを抽出し、一つ以上のコアダンプからコールスタック及び／又は他のデータを抽出する。その後、プロセス記録／再生ソフトウエア３３０ａ、プロセス記録／再生ソフトウエア３３０ｂ、及びプロセスレコーダーソフトウエア３５４の一部またはすべては、際限の手順を表すレポートをスライドショー又は他の提示方法で出力する。レポートは、記録された音声／映像の再生、手順の読み上げ、ボタンや調節部の強調表示またはライトアップ、及びアニメーションや他の効果によって、記録されたプロセス、イベント及びデータの段階ごとの再生や再実行の形で出力される。
【００６５】
図３は、一つ以上のデータファイル３６０及びプロセスレコーダーソフトウエア３６４を格納するプロセスレコーダーノード２３０を示している。図３に示すように、それぞれの装置に対してプロセスレコーディングを実行するプロセスレコーディングソフトウエア（および関連するハードウエア）には、外部記憶装置３１０のプロセスレコーダー起動プラグイン３１２、スキャナー／プリンター２１４、２１６それぞれのプロセス記録／再生ソフトウエア３３０ａ、３３０ｂ、コンピューター２２０のプロセスレコーダー起動プラグイン３４２、３４４、３５２及びプロセスレコーダーソフトウエア３５４、プロセスレコーダーノード２３０のプロセスレコーダーソフトウエア３６４等がある。但し、当該プロセスレコーディングソフトウエアはこれらに限定されない。また図３によれば、プロセスレコーディングのために保存されたデータにはプロセスレコーダーノード２３０に保存された一つ以上のデータファイル３６０等があるが、これに限定されない。プロセスレコーディングを実行するためのさらなるソフトウエア及び／又はデータは、ネットワーク２００内で、例えばコンピューター２２０、スキャナー／プリンター２１４、２１６、プロセスレコーダーノード２３０、外部記憶装置３１０、及び図３に図示されていないネットワーク２００上の他の装置の一部またはすべてにおいて、利用及び／又は保存することが可能である。
【００６６】
イベント関連のデータは、一つ以上のイベントの時系列シーケンスとして体系づけることができる。イベントの時系列シーケンスは、一つ以上の装置で発生するイベントに関連付けられる。例えば、スキャナー／プリンター２１４に関する一つのイベントの時系列シーケンスＳＥＱ１は以下のものを含む。
【００６７】
・イベント１：時点Ｔ１にて、スキャナー／プリンター２１４が印刷ジョブＪ１到着の通知を受け取る
・イベント２：時点Ｔ１＋１秒にて（以下、Ｔ１＋１と略す）、スキャナー／プリンター２１４のプリンターエンジンが起動
・イベント３：時点Ｔ１＋５、スキャナー／プリンター２１４が印刷ジョブＪ１を検知
・イベント４：時点Ｔ１＋１５、印刷ジョブＪ１がスキャナー／プリンター２１４にて実行可能となる
・イベント５：時点Ｔ１＋１５、スキャナー／プリンター２１４が印刷ジョブＪ１の第１ページの印刷を開始
・イベント６：時点Ｔ１＋１５、印刷ジョブＪ１の第１ページの印刷のため、スキャナー／プリンター２１４のグラフィックエンジンが起動
・イベント７：時点Ｔ１＋１８、印刷ジョブＪ１の第１ページの印刷完了
・イベント８：時点Ｔ１＋２２、印刷ジョブＪ１の第２ページの印刷完了
．．．
・イベント３３：時点Ｔ１＋１２２、印刷ジョブＪ１の第２７ページの印刷完了
・イベント３４：時点Ｔ１＋１２２、印刷ジョブＪ１完了
・イベント３５：時点Ｔ１＋１２２、印刷ジョブＪ１完了の通知を送信
・イベント３６：時点Ｔ１＋１２２、スキャナー／プリンター２１４のグラフィックエンジンが停止
・イベント３７：時点Ｔ１＋１２７、スキャナー／プリンター２１４のプリンターエンジンがスリープモードに
・イベント３８：時点Ｔ１＋１３０、スキャナー／プリンター２１４がアイドリング状態に。
【００６８】
関連する例として、印刷ジョブＪ１がコンピューター２２０からの指示であり、プロセスレコーディングがコンピューター２２０に対して実行される場合を考える。この場合、プロセスレコーダーソフトウエア３５４が実行するプロセスレコーディングには、コンピューター２２０からイベント関連のデータを捕捉することが含まれる。したがって、ＳＥＱ１は、スキャナー／プリンター２１４から捕捉したイベント関連のデータ及びコンピューター２２０から捕捉したイベント関連のデータの双方を含むよう、更新される。言い換えれば、ＳＥＱ１はコンピューター２２０で発生するイベントを含むよう更新される。例えば、ＳＥＱ１の更新には、以下のイベントを追加することが含まれる：
・イベント−２：時点Ｔ１−１０、コンピューター２２０がユーザーから、文書Ｄ１をスキャナー／プリンター２１４で印刷する要求を受け取る
・イベント−１：時点Ｔ１−２、コンピューター２２０が文書Ｄ１を印刷せよという印刷ジョブＪ１を生成する
・イベント０：時点Ｔ１−１、コンピューター２２０がスキャナー／プリンター２１４へ印刷ジョブＪ１の送信開始
・イベント３．１：時点Ｔ１＋１４、コンピューター２２０からスキャナー／プリンター２１４への印刷ジョブＪ１の送信完了
・イベント３５．１：時点Ｔ１＋１２３、コンピューター２２０がスキャナー／プリンター２１４から印刷ジョブＪ１完了の通知を受け取る
・イベント３５．２：時点Ｔ１＋１２３、コンピューター２２０がスキャナー／プリンター２１４からの印刷ジョブＪ１完了の通知を表示
この例ではＳＥＱ１は、更新前のＳＥＱ１のイベント１の前にイベント−２、−１、及び０を挿入し、更新前のＳＥＱ１のイベント３の後にイベント３．１を挿入し、更新前のＳＥＱ１のイベント３５の後にイベント３５．１及び３５．２を挿入することで更新することができる。この例では、ＳＥＱ１のイベントは時間の進行方法に配列されている。すなわち、ＳＥＱ１のイベントは、イベントの時刻が増加／前進するように順序立てられている。他の例において、イベントの時系列シーケンスは時間と逆方向に、すなわちＳＥＱ１のイベントは、イベントの時刻が減少／遡行するように体系づけられてもよい。他の例において、イベントの時系列シーケンスは、例えば複数の時間軸、装置基準の時間軸、指定された開始時刻と終了時刻に基づく時間軸など、他の態様で体系づけられてもよい。他の例において、ＳＥＱ１に含まれるものよりも多い、少ない及び／又は異なるイベントがイベントの時系列シーケンスに含まれてもよい。
【００６９】
ＳＥＱ１の例において、ＳＥＱ１の生成に使用されたスキャナー／プリンター２１４からのイベント関連のデータは、プロセス記録／再生ソフトウエア３３０ａによって捕捉、処理及び／又は保存することができ、ＳＥＱ１の生成（および更新）に使用されたコンピューター２２０からのイベント関連のデータは、一つ以上のプロセスレコーダープラグイン（ＰＲＩ）３４２、３４４、３５２及び／又はプロセスレコーダーソフトウエア３５４によって捕捉、処理及び／又は保存することができる。
【００７０】
プロセスレコーディングは、スキャナー／プリンター２１４及び／又はスキャナー／プリンター２１６などのプリンターから、３１０のような外部記憶装置及び／又は２２０のようなコンピューターを介して開始することができる。一例として、外部記憶装置３１０が初めにスキャナー／プリンター２１４などのプリンターと通信可能に接続されると、プロセスレコーダー起動プラグイン３１２がプリンターに対するプロセスレコーディングの起動を実行する。外部記憶装置３１０がスキャナー／プリンター２１４に通信可能に接続されている例においては、プロセスレコーディング中にプロセス記録／再生ソフトウエア３３０ａ及び／又はプロセスレコーダー起動プラグイン３１２によって捕捉されたイベント関連のデータは、スキャナー／プリンター２１４及び／又は外部記憶装置３１０に保存することができる。例えば、イベント関連のデータはスキャナー／プリンター２１４のメモリー、及び／又は外部記憶装置３１０のメモリーに保存することができる。
【００７１】
イベント関連のデータは、例えばプロセスレコーダーノード２３０のような送信先ノードや、分散メモリーシステム２３２のようなリモート記憶装置など、一つ以上の他の装置に送信することができる。一例として、プロセスレコーディング中に捕捉されたイベント関連のデータは、保存も送信も可能である。言い換えれば、イベント関連のデータの第１のコピーは第１の装置に保存することができ、イベント関連のデータの第２のコピーは第１の装置以外の第２の装置に送信することができる。プロセスレコーディング中に捕捉されたイベント関連のデータは一つ以上のデータファイル、例えばプロセスレコーダーノード２３０に保存されたデータファイル３６０の一部またはすべてに保存可能であるが、保存先はこれらに限定されない。
【００７２】
一例として、一つの装置で別の装置のプロセスレコーディングを起動及び／又は停止させることができる。例えば、コンピューターのユーザーがアプリケーション３４０ａやアプリケーション３４０ｂなどのアプリケーションを用いて印刷を行う場合、アプリケーション中のソフトウエア及び／又は対応するプリンタードライバー（例えば、プロセスレコーダー起動プラグイン３４２、３４４、３５２）は、プリンターにプロセスレコーディングの起動を指示するコマンド、例えば＠ＰＪＬ  ＳＥＴ  Ｐｒｏｃｅｓｓ＿Ｒｅｃｏｒｄを「オン」にする印刷ジョブコマンドを、印刷ジョブと共に送信する。一例として、アプリケーション中のソフトウエア及び／又は対応するプリンタードライバーは、例えば＠ＰＪＬ  ＳＥＴ  Ｐｒｏｃｅｓｓ＿Ｒｅｃｏｒｄを「オフ」にする印刷ジョブコマンドを、印刷ジョブと共に送信する。
【００７３】
プリンターにプロセスレコーディングを起動するよう指示するため、プリンタードライバーを用いて印刷ジョブと共にコマンドを送る例においては、プリンタードライバーは、プリンターにプロセスレコーディングを起動するよう指示するコマンドを印刷ジョブと共に送るか否かを個々のプリンター単位で制御するため、プリンター選択のためのユーザーインターフェースなどのユーザーインターフェースを有している。関連する例では、プロセスレコーダー起動プラグイン又はプリンタードライバーは、プリンターにプロセスレコーディングを起動するよう指示するコマンドを印刷ジョブと共に送るか否かを個々の印刷ジョブ単位で制御するため、ユーザーインターフェースを有していてもよい。プロセスレコーディングをリモートで制御するために他の技術を採用してもよい。
【００７４】
図４は、一実施形態に係るプロセスレコーディングに関するユーザーインターフェースを表す図表４００を示している。図４に示すプロセスレコーディングに関するユーザーインターフェースは、ダイアログ４１０、４２０、４３０である。ダイアログ４１０、４２０、４３０はそれぞれ、要素からなる。ここに記載のユーザーインターフェース、例えばダイアログ４１０、４２０、４３０、ユーザーインターフェース９００、及び／又はユーザーインターフェース１０００などの要素は、入力を受け付け及び／又は出力を行うのに使用されるユーザーインターフェースの特色をなすものである。ユーザーインターフェースの要素の例としては、ウインドウ、ダイアログ、領域、表示、メニュー（プルダウンメニューやシステムメニューなど）、アイコン、調節部、ボタン、キー、タブ、カーソル、ポインター、選択ボックス、インジケーター、設定部、チェックボックス、選択部等があるが、これらに限定されない。他の例において、ここに記載のユーザーインターフェースを実現するため、より多くの、より少ない及び／又は異なった要素、及び／又は要素の配置を採用してもよい。
【００７５】
ダイアログ４１０は、プロセスレコーディングを印刷ジョブ単位で制御するため、ソフトウエアアプリケーションやプリンタードライバーなどのコンピューターソフトウエアによって実現されるユーザーインターフェースである。ダイアログ４１０は例えば、プロセスレコーディングの様々な側面を制御するための設定項目４１４、４１６ａ、４１６ｂ、４１６ｃ、４１６ｄ、４１６ｅを含むタブ４１２を有する。他の例において、少なくとも印刷ジョブ単位でプロセスレコーディングの様々な側面を制御するため、設定項目４１４及び４１６ａ〜４１６ｅよりも多くのまたはより少ない、及び／又は異なる設定項目、及び／又はダイアログ４１０とは異なるダイアログを採用してもよい。
【００７６】
設定項目４１４が図４のようにチェックマークで有効とされると、印刷ジョブ単位でのプロセスレコーディングが可能となる。設定項目４１４が無効とされると、プロセスレコーディングは印刷ジョブ単位では可能とならないが、別の対象で、例えば特定のプリンターに対し、プリンタードライバーによってプリンター単位で可能とすることができる。ダイアログ４１０の場合、設定項目４１４を有効とすると、設定項目４１６ａ〜４１６ｅによってプロセスレコーディングの様々な側面を制御することができる。ただし、設定項目４１４を無効とした場合、設定項目４１６ａ〜４１６ｅは無視される。
【００７７】
設定項目４１６ａが図４のようにチェックマークで有効とされると、印刷ジョブが課された装置について印刷ジョブデータのプロセスレコーディングが可能となり、したがって印刷ジョブデータがプロセスレコーディング中に記録される。印刷ジョブデータとしては、印刷ジョブの回数データ、印刷ジョブのサイズ、印刷ジョブで印刷されるファイル名、印刷ジョブで印刷されるファイルのサイズ、印刷ジョブコマンド等があるが、これらに限定されない。設定項目４１６ａが無効とされると、当該装置に対する印刷ジョブデータのプロセスレコーディングは不能となるので、印刷ジョブデータはプロセスレコーディング中に記録されない。一例として、設定項目４１６ａは上記に加え又は上記の代わりに、プリンターにプロセスレコーディングを起動させるため印刷ジョブに関するレコーディング有効化コマンドを当該プリンターに送信するか否かを制御することができる。言い換えれば、設定項目４１６ａが有効である場合、装置が発行した印刷ジョブに対するレコーディング有効化コマンドが送信され、設定項目４１６ａが無効な場合は、装置が発行した印刷ジョブに対するレコーディング有効化コマンドは送信されない。
【００７８】
レコーディング有効化コマンドは、例えばプリンターに直接送信されてもよく、印刷ジョブと共に送られるジョブチケットに含まれてもよく、印刷ジョブとは別に送られるジョブチケットに含まれてもよく、及び／又は印刷ジョブに含まれてもよく、その方式は先頭に追加でも、埋め込みでも、末尾に追加でもよい。以下、レコーディング有効化コマンドを伴ったジョブチケットを「プロセスレコーディングジョブチケット」と呼び、レコーディング有効化コマンドを伴った印刷ジョブを「プロセスレコーディング印刷ジョブ」と呼ぶものとする。すなわち、プリンターがレコーディング有効化コマンドを、例えばプロセスレコーディングジョブチケット又はプロセスレコーディング印刷ジョブを介して受け付けると、当該プリンターは自身に対するプロセスレコーディングを起動することができる。
【００７９】
設定項目４１６ｂが図４のようにチェックマークで有効とされると、印刷ジョブの対象である印刷文書のプロセスレコーディングが可能となり、したがって各々の文書、ファイル及び／又は印刷ジョブの一部として印刷された他のデータのコピーが、プロセスレコーディング中に記録される。設定項目４１６ｂが無効とされた場合、印刷文書のプロセスレコーディングは不能となるので、文書、ファイル及び／又は印刷ジョブの一部として印刷された他のデータのコピーは、プロセスレコーディング中に記録されない。
【００８０】
設定項目４１６ｃが有効とされると、プロセスレコーディング中に装置に対し行われるキーストローク及び／又は関連するボタンの押下に関するデータの記録が可能となる。設定項目４１６ｃが、図４のように設定項目４１６ｃのチェックボックスにチェックが入っていないため無効とされた場合、プロセスレコーディング中に装置に対し行われるキーストローク及び／又は関連するボタンの押下に関するデータの記録が不能となり、キーストローク及び／又は関連するボタンの押下に関するデータはプロセスレコーディング中に記録されない。
【００８１】
設定項目４１６ｄが有効とされると、プロセスレコーディング中、装置に関する音声データの記録が可能となる。設定項目４１６ｄが、図４のように設定項目４１６ｄのチェックボックスにチェックが入っていないため無効とされた場合、プロセスレコーディング中の装置に関する音声データの記録が不能となり、したがって装置の音声データはプロセスレコーディング中に記録されない。
【００８２】
設定項目４１６ｅが有効とされると、プロセスレコーディング中、装置に関する映像データの記録が可能となる。設定項目４１６ｅが、図４のように設定項目４１６ｅのチェックボックスにチェックが入っていないため無効とされた場合、プロセスレコーディング中の装置に関する映像データの記録が不能となり、したがって装置の映像データはプロセスレコーディング中に記録されない。
【００８３】
ダイアログ４２０は、プロセスレコーディングをプリンター単位で制御するため、プリンタードライバーや他のソフトウエアによって実現されるユーザーインターフェースである。図４に示す例では、対象のプリンターはスキャナー／プリンター２１４である。ダイアログ４２０の設定項目中に設定項目４２２があり、この設定項目４２２にはダイアログ４２０の「全般」タグを選択することにより、アクセスできる。
【００８４】
設定項目４２２が図４のようにチェックマークで有効とされると、プリンター単位でのプロセスレコーディングが可能となる。図４の具体例において、ダイアログ４２０は「プリンターＳＰＤ２１４プロパティ」を表すダイアログとして示されているので、ダイアログ４２０はその設定項目４２２において、特定のプリンター、すなわちプリンター「ＳＰＤ２１４」についてプロセスレコーディングが可能となる旨を表示している。設定項目４２２が無効とされると、特定のプリンター、例えばＳＰＤ２１４に対するプロセスレコーディングは不能となるが、他の条件で、例えば特定のプリンターの設定を使用した場合や、印刷ジョブ単位とした場合などは可能である。プリンターごとのプロセスレコーディングを可能とするために、ダイアログ４２０を備える装置は、一つ以上のレコーディング有効化コマンド、一つ以上のプロセスレコーディングジョブチケット、及び／又は一つ以上のプロセスレコーディング印刷ジョブを、特定のプリンター宛に送信することができる。プリンター単位のプロセスレコーディングを可能とするためには、他の技術を採用することもできる。
【００８５】
プロセスレコーディング、及び／又はプロセスレコーディング中に記録されたデータの再生は、一つ以上のユーザーインターフェースを介して行うことができる。プロセスレコーディング及び／又は記録されたイベント関連のデータの再生、例えばプロセスレコーディング中に記録された一つ以上のイベントの時系列シーケンスなどの再生は、ダイアログ４３０を用いて制御することができる。図４によれば、ダイアログ４３０はメニューとして選択項目４３２、４３４ａ、４３４ｂ、４３４ｃ、及び４３４ｄを有し、これらはそれぞれ、プロセスレコーディング及び／又はイベントのデータの再生の開始、再開、一時停止、停止、及び終了に対応している。他の例において、選択項目４３２、４３４ａ、４３４ｂ、４３４ｃ、４３４ｄより多くの、より少ない及び／又は異なる選択肢、及び／又はダイアログ４３０とは異なるダイアログを、少なくとも印刷ジョブ単位でのプロセスレコーディングの様々な側面を制御するために採用してもよい。
【００８６】
選択項目４３２が図４のように太字のフォントとグレーのバーで選択されると、プロセスレコーディング及び／又は記録されたイベント関連のデータの再生が開始される、すなわち再生が実際に始まることを示している。一旦開始されると、プロセスレコーディング及び／又は記録されたイベント関連のデータの再生は、ダイアログ４３０及び／又は他のユーザーインターフェース要素によって一時停止、停止、再開、終了、又は他の状態に変更されるまで、継続して行われる。
【００８７】
選択項目４３４ａ、４３４ｂ、４３４ｃ、４３４ｄが選択されるとプロセスレコーディング及び／又は記録されたイベント関連のデータの再生が再開、一時停止、停止、及び終了されることがそれぞれ示される。図４では、ダイアログ４３０内で４３４ａ、４３４ｂ、４３４ｃ、４３４ｄが表す項目は太字でない通常のフォントで表示され、かつ（選択項目４３２とは違って）４３４ａ、４３４ｂ、４３４ｃ、４３４ｄにはグレーのバーが付されていないので、選択項目４３４ａ、４３４ｂ、４３４ｃ、４３４ｄはいずれも選択されていない。
【００８８】
プロセスレコーディング及び／又は記録されたイベント関連のデータの再生が再開される場合、プロセスレコーディング及び／又は記録されたイベント関連のデータの再生は、記録されたイベント関連のデータの最初から再開される。記録されたイベント関連のデータの再生が一時停止されると、再生の一時停止が解放されるか、再開、停止、または終了されるまで、再生中の記録されたイベント関連のデータの表示／提示は現在の個所で一時停止の状態となる。一例として、再生が一時停止されると、再生に関連付けられているコンピューター及び／又はプリンターもまた、一時停止の状態となる。
【００８９】
ダイアログ４３０のユーザーは、その前に選択した選択項目４３４ｂを再度選択して一時停止を非選択の状態とする、及び／又は選択項目４３２及び／又は選択項目４３４ａを選択してプロセスレコーディング及び／又は再生を開始または再開させる、すなわちプロセスレコーディング及び／又は再生の一時停止を解放することによって、プロセスレコーディング及び／又は再生を一時停止の状態ではなくすることができる。プロセスレコーディング及び／又は記録されたイベント関連のデータの再生が停止されると、再生の表示及び／又は提示が中止される。プロセスレコーディング及び／又は記録されたイベント関連のデータの再生が終了されると、記録されたイベント関連のデータの再生に使用されたアプリケーションが終了または解除され、再生の表示及び／又は提示が同様に終了する。
【００９０】
プリンターに関わる問題は、プリンターのスキャン、印刷、ＦＡＸ、ジョブ保存、コピー、及び／又は他の機能を使用しているときに発生及び／又は発見されることがある。これらの問題は、印刷ジョブ又は他のジョブの受付時、処理中、出力中、及び／又は終了時に発覚することがある。ある問題は、プリンターを、具体的にはプリンターのフロントパネル及び／又はボタン、プリンターカバー、トレイ、及び／又は扉を操作しているユーザー又はオペレーターに関連付けられる。これらの操作は、プリンターの諸問題の一部またはすべてに結びつくものである。これらの問題に関するデータは、プロセスレコーディングを用いて記録することができる。
【００９１】
プロセスレコーディングは、少なくとも図３に関連して説明したような、プロセスレコーディングソフトウエアとの一つ以上のインターフェースを使用して、様々な装置に対して起動（又は停止）させることができる。例えば、プロセスレコーディングは、プリンタードライバー３５０などのプリンタードライバーを用いて、起動（又は停止）させることができる。別の例として、プロセスレコーディングは、プリンターのフロントパネル、例えばフロントパネルの「プロセス記録」ボタン（又は類似のボタン）を使って、起動（又は停止）させることができる。
【００９２】
状況によっては、プロセスレコーディングの起動後、ユーザーが「再現手順」を実行してプリンターの問題や不具合を再現する場合がある。再現手順としては、プリンターの操作により設定を変更する、プリンターハードウエアを操作（例えば、扉、トレイ、カバー等の開閉）する、スキャン、ＦＡＸ、印刷，及び／又はプリンターの他の機能を使用する等があるが、これらに限定されない。
【００９３】
プロセスレコーディングソフトウエアは、起動されると、プロセスレコーディングの一環としてイベント関連のデータを捕捉し、捕捉したイベント関連のデータを含む一つ以上のプロセスレコーディングデータファイル（単に「データファイル」と略すこともある）を生成することができる。データファイルは他のファイルと同様に、読み出し、保存、コピー、伝送等を行うことができる。例えば、プロセスレコーディング中、特定の問題に関するイベント関連のデータを、プリンターにおいて「ＤＦ１」というデータファイルに捕捉することができる。その後、データファイルＤＦ１はプリンターから当該プリンターのメーカーに送信され、上記特定の問題の解決が図られる。データファイルの読み出し、保存、コピー、伝送等は、プロセスレコーディングの起動後はいつでも、例えば再現の手順が実行された後でも、行うことができる。
【００９４】
一例として、再生によって再現の手順に関連する指示を出すことができる。再現の手順に関連する指示が遵守されない場合、再生が再開される。これは、再現の手順の逸脱によってそれより前に記録されたデータの再生が不正確となる恐れがあるため、再生を再開するようになっているからである。再現の手順に関連する指示が遵守されない場合、再現の手順が守られていないため再生を再開しますという趣旨の警告メッセージが出力される。
【００９５】
プロセスレコーディングは、プリンター及び／又はプリンターとは別のコンピューターにおけるイベントを記録することも含む。プリンター関連の問題／不具合は、コンピューターで発生するイベント、例えば文書編集アプリケーションに関するイベント、コンピューターを使ってなされたプリンターの設定に関するイベント、コンピューターから順次送られてプリンタースプーラーで待機中の文書に関するイベント、に起因して発生するので、プロセスレコーディングをコンピューターに対して行うとよい。そして、コンピューターで発生するイベントは、コンピューターの文書からどのようにして誤った印刷ジョブが作成されたか、コンピューターがどのように印刷用の文書を用意したか、コンピューターのプリンタードライバーがどのように誤った印刷ジョブを出力したか、コンピューターがどのようにして誤った印刷ジョブをプリンターに送信したか、などについて十分に理解できるよう、プロセスレコーディングソフトウエアによって記録する。
【００９６】
プロセスレコーディング中に捕捉されるデータの種類は、少なくともダイアログ４１０に関して説明したように構成することができる。一例として、ダイアログ４１０のようなユーザーインターフェースは、プロセスレコーディング中にどのような種類のデータ（属性の特定）を、どのような分量（量）で、どのような頻度で（タイミング）捕捉又は収集するのかについて、ユーザーによる制御を可能とするものである。
【００９７】
図５は、プロセスレコーディング動作を制御する方法５００の一実施形態を示すフローチャートである。特に、方法５００は、少なくとも図３に関して説明したような、スキャナー／プリンター２１４、２１６などのプリンター及びコンピューター２２０のようなコンピューターにおいて、プロセスレコーディングを制御する方法の一例を示すものである。方法５００は、コンピューター１００のようなコンピューターによって実行することができる。図５においてコンピューターは装置Ｄとして表されており、以下、コンピューターを装置Ｄと称する。
【００９８】
方法５００はブロック５１０から始まり、ここでは装置Ｄが自身に対するプロセスレコーディングを制御するための入力Ｉを受け付ける。プロセスレコーディングを制御する入力Ｉとしては、プロセスレコーディングの起動に関する入力、プロセスレコーディングの停止に関する入力、プロセスレコーディングの主要点に関する入力（例えば、入力パラメーター、一つ以上の種類の情報を記録するか否かの制御）等があるが、入力Ｉはこれらに限定されない。
【００９９】
ブロック５２０において、装置Ｄは自身がプリンターであるか否かを判定する。装置Ｄがプリンターである場合、装置Ｄはブロック５２２へ進む。プリンターではなければ、装置Ｄは自身がプリンターではないと判定し、ブロック５４０へ進む。
【０１００】
ブロック５２０における判定と方法５００を示すフローチャートに基づき、ブロック５２２、５３０、５３２によって装置Ｄはプリンターであると決定される。
【０１０１】
ブロック５２２では、プリンターＤは入力Ｉが外部記憶装置、例えば外部記憶装置３１０のプロセスレコーダー起動プラグイン３１２から受け付けたものか否かを判定する。プリンターＤが入力Ｉを外部記憶装置から受け付けたと判定した場合、プリンターＤはブロック５３０へ進む。そうでない場合、プリンターＤは入力Ｉが外部記憶装置から受け付けたものではないと判定し、ブロック５３２へ進む。
【０１０２】
ブロック５３０ではプリンターＤは、装置Ｄにおけるプロセスレコーディングを制御するための入力Ｉを、外部記憶装置、例えば外部記憶装置３１０のプロセスレコーダー起動プラグイン３１２のようなプラグインから、受け付ける。ブロック５３０の手順が完了すると、プリンターＤはブロック５４０へ進む。
【０１０３】
ブロック５３２ではプリンターＤは、装置Ｄにおけるプロセスレコーディングを制御するための入力Ｉを、例えばフロントパネル又は他のユーザーインターフェースなど、装置Ｄのユーザーインターフェースから受け付ける。
【０１０４】
ブロック５４０において、装置Ｄは自身がコンピューターであるか否かを判定する。装置Ｄがコンピューターである場合、装置Ｄはブロック５４２へ進む。コンピューターでない場合、装置Ｄは自身がコンピューターでないと判定し、ブロック５６０へ進む。
【０１０５】
ブロック５４０における判定と方法５００を示すフローチャートに基づき、ブロック５４２、５５０、５５２によって装置Ｄはコンピューターであると決定される。ブロック５４２では、コンピューターＤは入力Ｉが外部記憶装置からではなくプリンタードライバーから受け付けたものであるか否かを判定する。コンピューターＤが入力Ｉをプリンタードライバーから受け付けたと判定した場合、コンピューターＤはブロック５５０へ進む。そうでない場合、コンピューターＤは入力Ｉがプリンタードライバーから受け付けたものではないと判定し、ブロック５５２へ進む。
【０１０６】
ブロック５５０においてコンピューターＤは、例えばダイアログ４１０又はダイアログ４２０などのプリンタードライバーのユーザーインターフェースからの入力Ｉに基づいて、コンピューターＤ及び／又は対応するプリンターにおけるプロセスレコーディング動作、例えばプリンタードライバーによってアクセス可能とされたプリンターにおけるプロセスレコーディング動作を制御する。ブロック５５０の手順が完了すると、コンピューターＤはブロック５６０へ進む。
【０１０７】
ブロック５５２では、コンピューターＤは、プリンタードライバーとは異なるソース、例えばソフトウエアアプリケーションから受け付けた入力Ｉを使用して、コンピューターＤ及び／又は対応するプリンター、例えばソフトウエアアプリケーションに関連する文書を印刷するのに用いられるプリンターにおけるプロセスレコーディング動作を制御する。入力Ｉは他のソースのユーザーインターフェース、例えばダイアログ４１０又は４２０から入力されてもよい。
【０１０８】
ブロック５６０で、方法５００は終了する。他の例においては、ブロック５６０で装置Ｄはプロセスレコーディング動作の制御に関する追加の入力を待機してもよい。当該追加の入力があった場合、装置Ｄはブロック５１０に進んで追加の入力を受け付けることができる。
【０１０９】
図６は、一実施形態に係るプロセスレコーディングを実行する方法６００を示すフローチャートである。方法６００は、コンピューター１００のようなコンピューターによって実行することができる。図６においてコンピューターはコンピューターＣＤとして表されており、以下、コンピューターをコンピューターＣＤと称する。
【０１１０】
方法６００に関して説明される例では、コンピューターＣＤ及びプリンターＰの二つの装置が、プロセスレコーディングに関与している。関連する他の例では、上記より多くの、より少ない、及び／又は異なる装置がプロセスレコーディングに関与してもよい。例えば、プロセスレコーディングは、複数のコンピューター及び／又は複数のプリンター上で実行されてもよく、単一の装置（プリンター又はコンピューター）上で実行されてもよい。当業者であれば、ここに開示された説明に基づき、方法６００を他の関連する状況に適用する方法に、容易に想到できるであろう。
【０１１１】
方法６００はブロック６１０から始まり、ここでは、コンピューターＣＤはプリンターＰを、コンピューターＣＤ用の現行の及び／又はデフォルトのプリンターとする。
【０１１２】
ブロック６２０において、コンピューターＣＤはプロセスレコーディングをコンピューターＣＤ上及び／又はプリンターＰ上で起動するか否かを決定する。コンピューターＣＤがプロセスレコーディングをコンピューターＣＤ上及び／又はプリンターＰ上で起動すると決定した場合、コンピューターＣＤはブロック６３０に進む。そうでない場合、コンピューターＣＤはプロセスレコーディングをコンピューターＣＤ上でもプリンターＰ上でも起動しないと決定し、ブロック６２２に進む。
【０１１３】
ブロック６２２において、コンピューターＣＤは、コンピューターＣＤ上及び／又はプリンターＰ上の、前回記録されたイベント関連のデータ／プロセスレコーディング中に前回記録されたデータを廃棄する。一例として、プリンターは、ブロック６２２に示された手順の一部またはすべてを実行することができる。例えば、プリンターＰは、当該プリンターＰ上の、前回記録されたイベント関連のデータ／プロセスレコーディング中に前回記録されたデータを廃棄することができる。一例として、前回記録されたイベント関連のデータは、当該前回記録されたイベント関連のデータを削除する特定のコマンドに応答する場合以外は、削除されない。一例として、コンピューターＣＤはプロセスレコーディングをコンピューターＣＤ上でもプリンターＰ上でも起動しないとブロック６２０で決定してからブロック６３０に進むことができ、この場合はブロック６２２の手順を省略することができる。
【０１１４】
ブロック６３０においてコンピューターＣＤは必要に応じて、すなわちＰ及び／又はＣＤ上でのプロセスレコーディングがこれらの一方又は双方でまだ開始されていない場合に、プリンターＰ上及び／又はＣＤ上でプロセスレコーディングを開始することができる。一例として、プリンターはブロック６３０に示された手順の一部またはすべてを実行することができる。例えばプリンターＰは、当該プリンターＰ上でプロセスレコーディングを開始することができる。
【０１１５】
ブロック６４０において、コンピューターＣＤはプロセスレコーディングによって記録されるべきイベントを実行する。これらのイベントは例えば、プリンターＰにおける問題を再現する手順を含む。ブロック６４０では例えば、コンピューターＣＤは印刷ジョブＪを開始することを試み、プリンターＰは印刷ジョブＪを受け付けて処理することを試みる。
【０１１６】
ブロック６５０において、コンピューターＣＤはプロセスレコーディングによって記録されるべきイベントがすべて記録されたか否かを判定する。例えば、コンピューターＣＤはプロセスレコーディングを終了する旨のコマンド又は他の入力を受け付け、それに基づいて、プロセスレコーディングによって記録されるべきイベントがすべて記録されたと推定する。コンピューターＣＤは、プロセスレコーディングによって記録されるべきイベントがすべて記録されたと判定した場合、ブロック６５２に進む。そうでない場合、コンピューターＣＤは、プロセスレコーディングによって記録されるべきイベントのすべてはまだ記録されていないと判定し、ブロック６４０に進む。
【０１１７】
ブロック６５２においてコンピューターＣＤは、コンピューターＣＤ及び／又はプリンターＰに対するプロセスレコーディングを終了する。
【０１１８】
ブロック６５４において、コンピューターＣＤは、プロセスレコーディング中にコンピューターＣＤで発生したイベントを表すトークンと共に一つ以上のデータファイルＤＦ＿ＣＤを生成する。すなわち、データファイルＤＦ＿ＣＤから生成された一つのトークンは、コンピューターＣＤで発生してプロセスレコーディング中に記録されたイベントの一部またはすべてを表している。さらに、データファイルＤＦ＿ＣＤから生成された、時系列で体系づけられたトークンの集合は、コンピューターＣＤで発生してプロセスレコーディング中に記録されたイベントの時系列シーケンスを表すものである。
【０１１９】
ブロック６５６においてコンピューターＣＤは、プロセスレコーディング中にプリンターＰで発生したイベントを表すトークンと共に一つ以上のデータファイルＤＦ＿Ｐ１を生成する。すなわち、データファイルＤＦ＿Ｐ１から生成された一つのトークンは、プリンターＰで発生してプロセスレコーディング中に記録されたイベントの一部またはすべてを表している。さらに、データファイルＤＦ＿Ｐ１から生成された、時系列で体系づけられたトークンの集合は、プリンターＰで発生してプロセスレコーディング中に記録されたイベントの時系列シーケンスを表すものである。
【０１２０】
例えば、ブロック６５４及び／又は６５６で、プロセスレコーディング中に記録されたデータは、トークン化、又は他の態様で変換して、トークンを生成することができる。トークンは関連するデータに対応付けられている。トークンとしては以下のようなものがあるが、これらに限定されない。
【０１２１】
・プロセスレコーディングファイルの始まりを示すトークン
・プロセスレコーディングファイルの終わりを示すトークン
・プリンタープロセスが開始されたイベントを示すトークン
・プリンタープロセスが終了したイベントを示すトークン
・印刷ジョブが生成されたイベントを示すトークン
・印刷ジョブがプリンターおよび／または関連する装置、例えば、プリントサーバーやプリントスプーラーなどに送信されたイベントを示すトークン
・印刷ジョブがプリンター及び／又は関連する装置に受け付けられたイベントを示すトークン
・印刷ジョブがプリンター及び／又は関連する装置において正しく完了できなかったイベントを示すトークン
・プリンター及び／又は関連する装置において、例えば全ページのうち１ページ以上だけ印刷された、文書の複数のコピーを印刷する印刷ジョブにおいて１枚だけ印刷されたなど印刷ジョブの一部だけが完了したイベントを示すトークン
・印刷ジョブがプリンター及び／又は関連する装置において正しく完了したイベントを示すトークン
・例えばプリンターの扉、トレイ、レバー、カバー、フロントパネル及び／又は操作パネルが動かされた、付属装置が作動不可、故障、あるいは検査されたなど、プリンターの付属装置に関連して発生したイベントを示すトークン
・例えばプリンターのフロントパネルのボタンが押下された、データがフロントパネルに表示された、印刷ジョブ完了の通知が送信及び／又は表示されたなど、ユーザーインターフェースに関連して発生したイベントを示すトークン。
【０１２２】
トークンに関連するデータとしては以下のようなものがあるが、これらに限定されない。
【０１２３】
・タイミングデータ、例えばトークン及び関連するデータによりデータファイルに記録されたイベントが発生した時点のタイムスタンプ、
・装置特定データ、例えばトークン及び関連するデータによりデータファイルに現在記録されているイベントを記録したコンピューターＣＤ及び／又はプリンターＰを示す一つ以上の識別子、
・付属装置特定データ、例えばトークン及び関連するデータにより記録されたイベントに関連する、コンピューターＣＤ及び／又はプリンターＰのトレイ、扉、カバーなどの付属装置を示す一つ以上の識別子
・印刷ジョブ特定データ、例えばトークン及び関連するデータにより記録されたイベントに対応付けられた印刷ジョブの実行中に、印刷または他の方法で処理されている一つ以上の印刷ジョブ名、番号、及び／又は他の識別子、一つ以上の文書名、番号、及び／又は他の識別子
・トークン及び関連するデータにより記録されたイベントに対応付けられたユーザーインターフェースからの入力を示す、ユーザー入力データ
・トークン及び関連するデータにより記録されたイベントに対応付けられたユーザーインターフェースへの出力を示す、ユーザー出力データ。
【０１２４】
図７は、プロセスレコーディング中に記録されたイベントに関連するデータファイル７１０、７３０を示す。データファイル７１０、７３０はそれぞれ、プリンター及び／又はコンピューターにおける問題を診断し実証するのに役立つものである。より具体的には、データファイル７１０は、例えば方法６００で述べたプリンターＰで発生したイベントに関して記録されたデータを示している。データファイル７３０は、例えば方法６００で述べたコンピューターＣＤで発生したイベントに関して記録された、イベント関連のデータを示している。データファイル７１０及び／又はデータファイル７３０のようなデータファイルは、例えばＸＭＬ形式、テキスト形式、及び／又はｃｏｍｍａ−ｓｅｐａｒａｔｅｄ  ｖａｌｕｅ（ＣＳＶ）形式など、一つ以上の形式にフォーマットすることが可能である。一例として、データファイルはデータストリーム及び／又は電子ファイルとして提供される。
【０１２５】
図７に表されたデータファイル７１０、７３０は、当該データファイル７１０、７３０に保存されたデータ、例えばイベント関連のデータなどがどのようにレポートまたは再生されるかを示す例である。他の例において、データファイル７１０、７３０に保存された例えばイベント関連のデータは、プリンター及び／又はコンピューターのユーザーインターフェース（例えば、ＧＵＩ）、及び／又は携帯電話、タブレット、又は他のコンピューターなどの接続機器を用いて表示することが可能である。
【０１２６】
データファイル７１０、７３０はそれぞれ多数のデータファイルレコードを有し、各レコードは三つのフィールドを有する。他の例において、データファイル７１０及び／又はデータファイル７３０はこれより多くの又は少ない、及び／又は異なるレコード、及び／又はこれより多くの又は少ない、及び／又は異なるフィールドを有する。図７では、レコードはデータファイル７１０及びデータファイル７３０のそれぞれの行として表され、フィールドはデータファイル７１０及びデータファイル７３０のそれぞれの欄として表されている。データファイル７１０の三つのフィールドは、タイムスタンプ７２０、イベント／データ７２２、及び付帯情報７２４とされている。同様に、データファイル７３０の三つのフィールドは、タイムスタンプ７４０、イベント／データ７４２、及び付帯情報７４４とされている。
【０１２７】
データファイル７１０、７３０のイベント／データフィールドは、各データファイルのトークンを表す。例えば、データファイル７１０のイベント／データフィールド７２２には、「構成設定」、「トレイ１を開く」、「トレイ１にレターをセット」、「トレイ１を閉じる」、「スリープモード、オン」、およびその他のプリンターに関するトークンが示されている。関連する例では、データファイル７３０のイベント／データフィールド７４２には、「プリンター設定」、「印刷ジョブ作成」、「印刷ジョブ開始」、「＊＊プリントエラー通知＊＊」、及び「＊＊ジョブキャンセル通知＊＊」など、コンピューターに関するトークンが示されている。
【０１２８】
データファイル７１０、７３０のタイムスタンプ及び付帯情報フィールドは、各データファイルのトークンに関連したデータを表す。例えば、データファイル７１０のタイムスタンプフィールド７２０にはイベント／データフィールド７２２にトークンで示されたイベントがいつ記録されたかを示すタイミング情報が記録され、付帯情報フィールド７２４には、記録されたイベントに関するさらなるデータが示される。例えば、データファイル７１０の１列目はタイムスタンプフィールド７２０であって、「構成設定」トークンに関するデータが時刻「７／２８／２０１８  ０１：５５：０１ＰＭ」にプリンターについて記録されたことを示しており、当該トークンに対応する付帯情報フィールド７２４には「ｓｅｔｔｉｎｇｓ．ｌｏｇ」と記録された関連データが示されている。すなわち、構成設定に関する付帯情報が「ｓｅｔｔｉｎｇｓ．ｌｏｇ」というファイルで得られることが示されている。
【０１２９】
別の例として、データファイル７３０のタイムスタンプフィールド７４０にはイベント／データフィールド７４２にトークンで示されたイベントがいつ記録されたかを示すタイミング情報が記録され、付帯情報フィールド７４４には、記録されたイベントに関するさらなるデータが示される。例えば、データファイル７３０の１列目はタイムスタンプフィールド７４０であって、「プリンター設定」トークンに関するデータが時刻「７／２８／２０１８  ０２：１５：０３ＰＭ」にコンピューターについて記録されたことを示しており、当該トークンに対応する付帯情報フィールド７４４には、「ＳＰＤ２１４／トレイ１／レター」と記録された関連データが示されている。すなわち、プリンター設定として、プリンター「ＳＰＤ２１４」の「トレイ１」に「レター」タイプの用紙がセットされたことが示されている。
【０１３０】
その他多数の例が考えられる。他の例において、データファイル７１０及び／又は７３０のトークンは、図７に示したものと異なっていてもよい。例えば、トークンは数字や、他の順序立てられた記号（例えば、文字、順序立てられた英数字ラベルなど）で表すことができる。このような例では、分岐テーブル、参照テーブル、又は類似のデータ構造に、トークンを処理する機能、例えばトークンを使用して記録されたイベントを再生する機能を配置する指標として（数値又は連続的な記号による）トークンを用いることができる。関連する例においては、（数値又は連続的な記号による）トークンを、トークンの処理のためにスイッチステイトメント又は類似のコード構造において使用することができる。他の関連する例においては、トークンは数字や他の順序立てられた記号に変換することができ、当該数字や他の順序立てられた記号はトークンの処理に用いることができる。
【０１３１】
図６に戻り、ブロック６５８においてコンピューターＣＤは一つ以上のデータファイルＤＦ＿ＣＤ及びＤＦ＿Ｐ１を、保存及び／又は再生のため一つ以上の他の装置に送信する。他の装置としては、一つ以上のコンピューター及び／又は一つ以上のプリンター、例えばプロセスレコーダーノード２３０の一つ以上のプロセスレコーダーノード、分散メモリーシステム２３２の一つ以上のコンピューター等があるが、他の装置はこれらに限定されない。一例として、プリンターＰはデータファイルＤＦ＿ＣＤ及びＤＦ＿Ｐ１の一部またはすべてを保存することができる。これらの例において、プリンターＰは一つ以上のデータファイルＤＦ＿ＣＤ及びＤＦ＿Ｐ１を、保存及び／又は再生のため一つ以上の他の装置に送信することができる。
【０１３２】
ブロック６７０にて、方法６００が終了する。
【０１３３】
プロセスレコーディングによって保存されたデータ、例えば方法６００で生成されたデータファイルＤＦ＿ＣＤ及び／又はＤＦ＿Ｐ１は、例えばプロセス記録／再生ソフトウエア３３０ａ、プロセス記録／再生ソフトウエア３３０ｂ、及び／又はプロセスレコーダーソフトウエア３５４の一つ以上の再生部を使用することにより、再生することが可能である。
【０１３４】
再生部は、プロセスレコーディング中に記録されたデータを解析し、解析されたデータのプレゼンテーションを生成し、解析されたデータのプレゼンテーションを表示及び／又は他の方法で提示することにより、プロセスレコーディング中に記録されたデータを再生することができる。プロセスレコーディング中に記録されたデータの解析には、一つ以上のトークンについてプロセスレコーディング中に記録されたデータを検証すること、及び／又はプロセスレコーディング中に記録されたデータから一つ以上のトークンを生成することが含まれる。その後、再生部はトークンを処理して、解析したデータのプレゼンテーションを生成し、生成したプレゼンテーションを提示する。
【０１３５】
例えば、プロセスレコーディング中に記録されたデータのトークンＴ１が印刷ジョブに関連している場合を考える。再生部はトークンＴ１に対し、その時点で受領した印刷ジョブＸにタイムスタンプを押し、プロセスレコーディング中に記録されたデータから印刷ジョブＸに関するデータを抽出し、印刷ジョブＸに関するデータのプレゼンテーションを生成するという処理を行う。別の例として、プロセスレコーディング中に記録されたデータのトークンＴ２がプリンターのフロントパネルのボタン押下に関連している場合を考える。この場合再生部はトークンＴ２に対し、ボタン押下時のタイムスタンプを押し、プロセスレコーディング中に記録されたデータからボタン押下に関するデータを抽出し、ボタン押下に関するデータのプレゼンテーションを生成するという処理を行う。一例として、再生部は、データファイル７１０、７３０に使用された、少なくとも図７に関する説明で述べたようにイベント／データに関連するトークン、タイムスタンプ、及び付帯情報を含むフォーマットで、データのプレゼンテーションを保存することができる。
【０１３６】
一例として、再生部はデータのプレゼンテーションを、例えば文書処理形式、表形式、スライドショー形式、ＰＤＬ形式、及び／又は一つ以上の他の形式など、他のフォーマットで保存することができる。一例として、再生部は解析されたデータのプレゼンテーションを、ＧＵＩ及び／又はプリンターの他のユーザーインターフェース（例えばフロントパネル）、及び／又は例えば一つ以上のタブレット、ラップトップ、デスクトップ、モバイル機器、その他のコンピューターなど、一つ以上のコンピューターの一つ以上のＧＵＩを用いて提示することができる。
【０１３７】
一例として、再生部は、プロセスレコーディング中に記録されたイベントの時系列シーケンスを生成、保存し、及び／又はそのシミュレーションを提示することができる。再生部は、プロセスレコーディング中に記録されたデータを解析する。そして再生部は、印刷ジョブ、フロントパネルイベント、トレイイベント、及び／又はプロセスレコーディング中に記録された他のイベントを、捕捉された順序で、すなわちイベントに関するデータがデータファイル又はプロセスレコーディング中に記録されたデータに記録された順序に基づく時系列で、実行及び／又はシミュレートすることができる。ユーザーが関与しているイベントでは、再生部はフロントパネル又は他のユーザーインターフェースに、ユーザーが関与している一つ以上のイベントをどのように操作するか、例えばフロントパネルのどのボタンを押せばよいか、プリンターのどの扉、どのカバー、及び／又はどのトレイを開閉すればよいか、どのレバーを上げ下げ及び／又は他の方向に動かせばよいか、などについてガイダンスを表示することができる。
【０１３８】
再生部は、イベントの時系列シーケンスのシミュレーションを生成することができる。このシミュレーションでは、シミュレーション中の任意の時点で、イベントの時系列シーケンスのうちどの特定のイベントが表示／提示されているかを示すことができる。特定のイベントは、例えば模擬の又は実際のフロントパネルなどのユーザーインターフェース上で当該特定のイベントを強調表示することで提示することができる。当該提示は、全画面表示、一部画面表示及び／又は透かし表示のいずれでもよい。当該提示は、特定のイベントに関連するユーザーインターフェース要素を強調する形態、例えば選択したボタンが点灯するか照射される、及び／又は異なるアイコン、色、及び／又は形状となるなどの形態で行われてもよい。
【０１３９】
一例として、シミュレーションは、操作されている付属装置、及び／又は例えばプリンターの扉、トレイ，レバー、カバー、及び／又は操作パネルなどの付属装置を操作する指示をシミュレートすることができる。これらに関する例においては、シミュレーションの指示に応じて付属装置を動かすまで、装置の動作が一時停止する。例えば、シミュレーションの指示に応じてレバーを上下するまで、プリンターの印刷動作が中断される。
【０１４０】
一例として、再生部はイベントの時系列シーケンスを実働として再生することができる。例えば、イベントの時系列シーケンスが印刷ジョブＪＯＢ１をプリンターＰＲＴ１に送信することを含んでいる場合、再生部はプロセスレコーディング中に保存されたデータからＪＯＢ１を抽出し、ＪＯＢ１をＰＲＴ１に送信し、それによりＰＲＴ１は印刷ジョブＪＯＢ１を実行する。これらの例において、プリンター及び／又はコンピューターは実働再生中に、イベントの時系列シーケンスの少なくとも一部を実行することができ、ユーザーインターフェース、装置、及び付属装置の動作の少なくとも一部はプロセスレコーディング中に記録されたものと同じ実働再生中に発生する。例えば、表示や通知は表示可能であり、発光ダイオードは点滅又は発光し、用紙は給紙されてプリンターによって印刷される。実働再生中に装置の故障や、開始されたプロセスが異常終了するなどの問題が発生した場合、コンピューター及び／又はプリンターは、問題に関する及び／又は問題が発生した旨を示す警告の動画及び／又はメッセージを表示する。
【０１４１】
一例として、プロセスレコーディングソフトウエアは、問題の診断と解決を支援するべく、再生中に問題が再現された旨を提示する。一例として、プロセスレコーディングソフトウエアは、再現／複製されている問題の発生中、又は発生後に当該問題が再現された旨を提示することができる。重大又は致命的なエラー（例えばシステム崩壊やフリーズなど）に関わる問題の場合、プロセスレコーディングソフトウエアは再生の一部として、重大又は致命的なエラーが発生し、かつ当該エラーは予期されていた旨のメッセージ又は他の形態の提示を出力する。当該メッセージ又は提示は、エラーは予期せぬものではなく再生中に予期されていたことを示すものである。１つの実施形態として、プロセスレコーディングソフトウエアは、予期されたエラーのメッセージ又は提示を出力するためソフトウエア割り込みを実行する、システムレベルのサービスを提供する。一例として、プロセスレコーディングソフトウエアは、例えば予期されたエラーに先立ち、警告メッセージを出力するなど、予期されたエラーが発生しかかっている旨のメッセージ又は他の提示を出力する。一例として、プロセスレコーディングソフトウエアは、予期されたエラーに先立ち警告メッセージを発し、当該予期されたエラーが実際に発生する直前に、コンピューター及び／又はプリンターを一時停止させる。一時停止の間、プロセスレコーディングソフトウエアは、再生を継続するか中止するかについて入力を要求する。再生を継続する入力を行った場合、予期されたエラーが発生し、重大又は致命的なエラーにつながる恐れがある。
【０１４２】
図８は、一実施形態に係る、プリンターについて記録されたデータを再生する方法８００を示すフローチャートである。方法８００は、例えばコンピューター１００などのコンピューターで実行できる。
【０１４３】
方法８００はブロック８１０から始まり、ここでコンピューターはデータファイルＤＦを開く。データファイルＤＦには、ここに記載のプロセスレコーディング技術によって取得されたイベント関連のデータが保存されている。一例として、コンピューターは、ブロック８１０で複数のデータファイルを開くことができる。
【０１４４】
ブロック８１２において、コンピューターは、データファイルＤＦから、トークンＴＫを解析又は決定する。一例として、コンピューターは、データファイルＤＦのデータを解析し、それによりトークンＴＫを決定する。一例として、トークンＴＫはデータファイルＤＦに記録することができ、したがってトークンＴＫは、データファイルＤＦのデータを明示的に解析しなくとも、データファイルＤＦから取得することができる。一例として、コンピューターは、ブロック８１２においてデータファイルＤＦの解析及び／又は他の方法で複数のトークンＴＫを決定することができる。トークンＴＫを解析、決定、及び／又は他の方法で取得するのに他の技術を採用することも可能である。
【０１４５】
ブロック８２０において、コンピューターはトークンＴＫがファイル終端トークンであるか否かを判定する。トークンＴＫがファイル終端トークンであれば、コンピューターはブロック８２２に進む。そうでなければ、コンピューターはトークンＴＫがファイル終端トークンではないと判定し、ブロック８３０に進む。
ブロック８２２で、方法８００は終了する。
【０１４６】
ブロック８３０において、コンピューターはトークンＴＫが、プリンターによるプリンタープロセスＰ１の開始を表すプリンタープロセス開始トークンであるか否かを判定する。プリンタープロセスＰ１は、プロセス、スレッド、あるいは印刷ジョブの一部またはすべてを実行する、及び／又はプリンターの他の機能を実行する類似の構造であってよい。トークンＴＫがプリンタープロセス開始トークンであれば、コンピューターはブロック８３２に進む。そうでなければ、コンピューターはトークンＴＫがプリンタープロセス開始トークンではないと判定し、ブロック８４０に進む。一例として、プリンタープロセス開始トークンは、プリンター上でプロセスを開始する以外の、他の種類の一つ以上のイベントの開始を表すものである。
【０１４７】
ブロック８３２において、コンピューターはプリンタープロセスＰ１の開始を動画及び／又は他の態様で表示する。
【０１４８】
ブロック８３４において、コンピューターはプリンタープロセスＰ１の機能を、直接（例えば、コンピューターがプリンタープロセスＰ１に対応するプリンターである場合、プリンタープロセスＰ１を開始し実行する）、または間接的に（例えば、コンピューターがプリンタープロセスＰ１に対応するプリンターでない場合、プリンタープロセスＰ１に対応するプリンターに対し、プリンタープロセスＰ１を開始し実行するようコマンドを送信するか、他の方法で指示する）、開始し実行することができる。プロセスＰ１の例としては、色の登録プロセス、色のキャリブレーションプロセス、再セットアッププロセス、メモリー初期化プロセス、ディスク関連のプロセス及び／又はプロファイリングプロセス等があるが、これらに限定されない。ブロック８３４の処理が完了すると、コンピューターはブロック８１２に進む。
【０１４９】
ブロック８４０において、コンピューターはトークンＴＫがプリンター以外の装置でのプロセス又はイベントＥ１の開始を表す他装置プロセストークンであるか否かを判定する。トークンＴＫが他装置プロセストークンであれば、コンピューターはブロック８４２に進む。そうでなければ、コンピューターはトークンＴＫが他装置プロセストークンではないと判定し、ブロック８５０に進む。
【０１５０】
ブロック８４２において、コンピューターはプロセス又はイベントＥ１の開始を動画及び／又は他の態様で表示する。
【０１５１】
ブロック８４４において、コンピューターはプロセス又はイベントＥ１の機能を、直接（例えばコンピューターが、ブロック８４０で述べたプロセス又はイベントＥ１に対応づけられたプリンター以外の装置である場合、プロセス又はイベントＥ１を開始し実行する）、または間接的に（例えばコンピューターが、ブロック８４０で述べたプロセス又はイベントＥ１に対応づけられたプリンター以外の装置でない場合、当該プロセス又はイベントＥ１に対応づけられたプリンター以外の装置に対し、プロセス又はイベントＥ１を開始し実行するようコマンドを送信するか、他の方法で指示する）、開始し実行することができる。ブロック８４４の処理が完了すると、コンピューターはブロック８１２に進む。
【０１５２】
ブロック８５０において、コンピューターは、トークンＴＫが、プリンターの付属装置に関連したイベントＳＥ１を表す付属装置イベントトークンであるか否かを判定する。トークンＴＫが付属装置イベントトークンであれば、コンピューターはブロック８５２に進む。そうでなければ、コンピューターはトークンＴＫが付属装置イベントトークンではないと判定し、ブロック８６０に進む。
【０１５３】
ブロック８５２において、コンピューターは、ブロック８５０で述べたプリンターの付属装置についての、当該付属装置の動きに関する情報及び／又は他の情報（例えば状態情報、診断情報など）を、動画及び／又は他の態様で表示する。
【０１５４】
ブロック８５４において、コンピューターは、ブロック８５０で述べたプリンターの付属装置を、ブロック８５２で表示された動画や提示に従い、必要に応じて動かす要求を表示する。これによりプリンターの付属装置が（例えばプリンターのユーザーによって）要求に従って動かされる。ブロック８５４の処理が完了すると、コンピューターはブロック８１２に進む。
【０１５５】
ブロック８６０において、コンピューターはトークンＴＫが、ユーザーインターフェースを用いて装置の一つ以上の設定に関するデータを追加、削除、更新、及び／又はチェックする、及び／又は装置上で他のユーザーインターフェース動作を実行することに関連するイベントＵＳ１を表す、ユーザー設定トークンであるか否かを判定する。イベントＵＳ１は例えば、プリンターのユーザーインターフェース及び／又はコンピューターのユーザーインターフェースを介してデータを受け取ること、プリンターのユーザーインターフェース及び／又はコンピューターのユーザーインターフェースを介してデータを送ること、プリンターのユーザーインターフェース及び／又はコンピューターのユーザーインターフェースの要素（キーやボタンなど）を作動させること、プリンターのユーザーインターフェース及び／又はコンピューターのユーザーインターフェースの要素（キーやボタンなど）を有効化すること、及び／又はプリンターのユーザーインターフェース及び／又はコンピューターのユーザーインターフェースの要素（キーやボタンなど）を無効化することなどに関連するイベントである。
【０１５６】
トークンＴＫがユーザー設定トークンである場合、コンピューターはブロック８６２に進む。そうでない場合、コンピューターはトークンＴＫがユーザー設定トークンではないと判定し、ブロック８７０に進む。
【０１５７】
ブロック８６２において、コンピューターは、装置の設定のためにユーザーインターフェースを使用することに関する、及び／又は装置における他のユーザーインターフェース動作に関するイベントＵＳ１を、動画及び／又は他の態様で表示する。
【０１５８】
ブロック８６４において、コンピューターは、直接（コンピューターがブロック８６０で述べた装置である場合）、または間接的に（例えば、ブロック８６０で述べた装置に対し、設定を適用する及び／又はブロック８６０で述べた装置上でユーザーインターフェース動作を実行するようコマンドを送信するか、他の方法で指示する）、装置の設定を適用する、及び／又は装置上でユーザーインターフェース動作を実行する。ブロック８６４の処理が完了すると、コンピューターはブロック８１２に進む。
【０１５９】
ブロック８７０において、コンピューターはトークンＴＫが、印刷ジョブ及び／又は印刷ジョブに関連するデータに関するイベントＰＪＤを表す印刷ジョブトークンであるか否かを判定する。トークンＴＫが印刷ジョブトークンである場合、コンピューターはブロック８７２に進む。そうでない場合、コンピューターはトークンＴＫが印刷ジョブトークンではないと判定し、トークンＴＫはエラートークンであると判定して当該トークンＴＫを廃棄する。一例として、トークンＴＫが印刷ジョブトークンでない場合、コンピューターは、トークンＴＫが予期していないトークンである旨のエラーメッセージ又は他のエラーメッセージを印刷し、予期していないトークンのログにトークンＴＫを追加する、及び／又は方法８００を終了する。
【０１６０】
ブロック８７２において、コンピューターはデータファイルＤＦから、印刷ジョブ及び／又は印刷ジョブに関連するデータを抽出する。
【０１６１】
ブロック８７４において、コンピューターは抽出した印刷ジョブ及び／又は印刷ジョブに関連するデータを、プリンター、例えばプリンターのＰＤＬインタープリターに送り、抽出した印刷ジョブ及び／又は印刷ジョブに関連するデータを処理させる。ブロック８７４の処理が完了すると、コンピューターはブロック８１２に進む。
【０１６２】
一例として、ファイル終端トークン、プリンタープロセス開始トークン、他装置プロセストークン、付属装置イベントトークン、ユーザー設定トークン、及び印刷ジョブトークンより多く又は少ない、及び／又は他のトークンを、方法８００を適切に変更することにより処理することが可能である。
【０１６３】
一例として、方法８００は、逐次的及び／又は同期的に実行でき、他の例では方法８００は並行して及び／又は非同期的に実行される。方法８００を並行して及び／又は非同期的に実行することにより、特に方法８００がトークンデータ及びプリンターによるイベントの瞬時のメッセージ出力、動画表示及び処理が可能なプリンターで実行される場合、逐次的及び／又は同期的に実行する実施形態と比較して、よりよいパフォーマンスを発揮することができる。例えば、ブロック８１２におけるトークン解析（又は決定）は、ブロック８１２の手順によって処理すべき複数のトークンが作成された後、ブロック８２０〜８７４の手順によって、トークン処理と並行して行うことができる。また、他の例として、トークンＴＫは、番号または他の順序立てられた記号（例えば、文字、順序立てられた英数字ラベルなど）で表すことができる。このような例では、ブロック８２０〜８７４の手順により、トークンＴＫを指標として、分岐テーブル、参照テーブル、又は類似のデータ構造が実現される。そして、トークンＴＫで示された分岐テーブル、参照テーブル、又は類似のデータ構造の内容は、トークンＴＫを処理する手順を提供、特定、及び／又は他の方法で決定する、関数ポインター又は他のデータ／技術となり得る。方法８００を実行するのに、他の技術を採用してもよい。
【０１６４】
図９は、プロセスレコーディング中に記録されたデータを再生するためのユーザーインターフェース９００の一実施形態を示す図である。再生ユーザーインターフェース９００は、プリンター再生ユーザーインターフェース９０２及び再生制御領域９４０を有する。再生ユーザーインターフェース９００、プリンター再生ユーザーインターフェース９０２、及び再生制御領域９４０は、再生、制御、及び／又は、一つ以上のプリンター、プロセスレコーディングソフトウエア及び／又は一つ以上のプリンターに関連する、プロセスレコーディング中に捕捉されたデータのデータファイルとの相互動作に用いられる。
【０１６５】
プリンター再生ユーザーインターフェース９０２は、再生、及び／又はプリンター、プロセスレコーディングソフトウエア、及び／又はプリンターに関連する、プロセスレコーディング中に捕捉されたデータのデータファイルとの相互動作に用いられる。図９に示すように、プリンター再生ユーザーインターフェース９０２はデータファイル領域９０４、タッチ画面領域９０６、及び操作パネル領域９０８を含む。他の例において、プリンター再生ユーザーインターフェース９０２は、上記の領域より多くの又はより少ない、及び／又は異なる領域を含んでもよい。
【０１６６】
データファイル領域９０４は、プロセスレコーディングソフトウエア及び／又はプロセスレコーディング中に捕捉されたデータのデータファイルと関連付けられたデータ及び／又はトークンに関する、一つ以上のインジケーターまたは他の要素を含み、ここでデータ及び／又はトークン（したがってインジケーターも）はプリンターと関連付けられている。インジケーターには、エラーデータインジケーター９１０ａ、構成設定インジケーター９１０ｂ、トレイ１オープンインジケーター９１０ｃ、トレイ１用紙セットインジケーター９１０ｄ、トレイ１クローズインジケーター９１０ｅ、スリープモードインジケーター９１０ｆ、印刷ジョブ到着インジケーター９１０ｇ、エンジン始動インジケーター９１０ｈ、印刷ジョブ検出インジケーター９１０ｋ、印刷ジョブ開始インジケーター９１０ｍ、グラフィックエンジンユニット（ＧＥＵ）開始インジケーター９１０ｎ、フロントパネルデータインジケーター９１０ｐ、及び不明トークンインジケーター９１０ｑなどがある。他の例において、データファイル領域９０４は、上記のものより多く又は少ない、及び／又は異なるインジケーターを含んでもよい。
【０１６７】
エラーデータインジケーター９１０ａは、誤データ、例えばデータファイル中の誤データや印刷ジョブ中の誤データ等に関連するトークンが、プリンター再生ユーザーインターフェース９０２によって処理されたことを示す。構成設定インジケーター９１０ｂは、プリンターの構成データに関連するトークンが、プリンター再生ユーザーインターフェース９０２によって処理されたことを示す。関連するトークンは、プリンターの構成データに関するイベントが発生したことを示す。このようなイベントの例としては、プリンターの構成データの構成設定（又は他のデータ）を設定すること、プリンターの構成データの構成設定（又は他のデータ）をリセットすること、プリンターの構成データの構成設定（又は他のデータ）をチェックすること、プリンターの構成データの構成設定（又は他のデータ）を変更すること、プリンターの構成データの構成設定（又は他のデータ）を追加すること、及び／又はプリンターの構成データの構成設定（又は他のデータ）を削除することに関連するイベントなどがある。プリンターの構成データの例としては、プリンターに対応付けられた印刷ジョブ（又は他の処理）に関する設定、プリンターのプリンターエンジンに関するデータ、プリンターのファームウエアのバージョン、プリンターのフロントパネル構成データ、及びプリンターの機能とオプションの設定等があるが、プリンターの構成データはこれらに限定されない。
【０１６８】
トレイ１オープンインジケーター９１０ｃは、プリンタートレイ（例えば、トレイ１）が開かれたことに関するトークンが、プリンター再生ユーザーインターフェース９０２によって処理されたことを示す。他の例においてインジケーター９１０ｃは、プリンターの、トレイ１以外のトレイが開かれたことに関するトークンが、プリンター再生ユーザーインターフェース９０２によって処理されたことを示すことがある。トレイ１用紙セットインジケーター９１０ｄは、プリンターのトレイ（例えば、トレイ１）に用紙が置かれた（充填された）ことに関するトークンが、プリンター再生ユーザーインターフェース９０２によって処理されたことを示す。他の例において、インジケーター９１０ｄはプリンターの、トレイ１以外のトレイに用紙が置かれたことに関するトークンが、プリンター再生ユーザーインターフェース９０２によって処理されたことを示すことがある。トレイ１クローズインジケーター９１０ｅは、プリンタートレイ（例えば、トレイ１）が閉じられたことに関するトークンが、プリンター再生ユーザーインターフェース９０２によって処理されたことを示す。他の例においてインジケーター９１０ｅは、プリンターの、トレイ１以外のトレイが閉じられたことに関するトークンが、プリンター再生ユーザーインターフェース９０２によって処理されたことを示すことがある。
【０１６９】
スリープモードインジケーター９１０ｆは、プリンターをスリープモードとすることに関するトークンが、プリンター再生ユーザーインターフェース９０２によって処理されたことを示す。他の例として、インジケーター９１０ｆは、プリンターのスリープモードを解除したことに関するトークンが、プリンター再生ユーザーインターフェース９０２によって処理されたことを示すことがある。
【０１７０】
印刷ジョブ到着インジケーター９１０ｇは、プリンターにて印刷ジョブが受領されたことに関するトークンが、プリンター再生ユーザーインターフェース９０２によって処理されたことを示す。エンジン始動インジケーター９１０ｈは、プリンターのプリンターエンジンの起動（又は始動）に関するトークンが、プリンター再生ユーザーインターフェース９０２によって処理されたことを示す。他の例として、インジケーター９１０ｈはプリンターエンジンの停止（又はプリンターエンジンのスリープ状態への移行）に関するトークンが、プリンター再生ユーザーインターフェース９０２によって処理されたことを示すことがある。印刷ジョブ検出インジケーター９１０ｋは、未着ではあるが印刷ジョブがプリンターによって検出されたことに関するトークンが、プリンター再生ユーザーインターフェース９０２によって処理されたことを示す。
【０１７１】
印刷ジョブ開始インジケーター９１０ｍは、印刷ジョブがプリンターにて開始されたことに関するトークンが、プリンター再生ユーザーインターフェース９０２によって処理されたことを示す。他の例として、インジケーター９１０ｇ、インジケーター９１０ｋ、及び／又はインジケーター９１０ｍは印刷ジョブが完了したことに関するトークンが、プリンター再生ユーザーインターフェース９０２によって処理されたことを示すことがある。グラフィックエンジンユニット（ＧＥＵ）開始インジケーター９１０ｎは、プリンターのＧＥＵの始動に関するトークンが、プリンター再生ユーザーインターフェース９０２によって処理されたことを示す。他の例として、インジケーター９１０ｎはプリンターのＧＥＵの停止に関するトークンが、プリンター再生ユーザーインターフェース９０２によって処理されたことを示すことがある。
【０１７２】
フロントパネルデータインジケーター９１０ｐは、プリンターのユーザーインターフェース動作（例えば、フロントパネル、操作パネル、及び／又は他のユーザーインターフェースからの入力受け付け、及び／又はそれらへの出力）に関するトークンが、プリンター再生ユーザーインターフェース９０２によって処理されたことを示す。不明トークンインジケーター９１０ｑは、インジケーター９１０ａ、９１０ｂ、９１０ｃ、９１０ｄ、９１０ｅ、９１０ｆ、９１０ｇ、９１０ｈ、９１０ｋ、９１０ｍ、９１０ｎ、及び９１０ｐの一つ以上と関連付けられたトークン以外の未知のトークンが、プリンター再生ユーザーインターフェース９０２によって処理されたことを示す。
【０１７３】
表１は、方法８００に関して説明したトークンの、プリンター再生ユーザーインターフェース９０２を基準として上記したトークンへのマッピングの例を示すものである。
【０１７４】
【表１】
2020177662.tif 000003
【０１７５】
タッチ画面領域９０６は、再生、制御、及び／又は、プロセスレコーディングソフトウエア及び／又はプロセスレコーディング中に捕捉されたデータのデータファイルとの相互動作に関わるプリンターのタッチ画面をシミュレートするなど、情報の授受を行う。タッチ画面領域９０６は、コピー要素９２０ａ、送信要素９２０ｂ、別注ドキュメント要素９２０ｃ、ジョブドキュメント要素９２０ｄ、脱着可能メモリー要素９２０ｅ、ジョブ状態／キャンセル要素９２０ｆ、装置情報要素９２０ｇ、アクセシビリティ要素９２０ｈ、システムメニュー要素９２０ｋ、言語要素９２０ｍ、及びヘルプ要素９２０ｎを含む。他の例において、タッチ画面領域９０６は上記の要素より多くの又はより少ない、及び／又は異なる要素を含んでもよい。
【０１７６】
コピー要素９２０ａは、プリンターを使用して文書をコピーする指示を出す及び／又は表すためのボタン（又は他の要素）である。例えば、コピー要素９２０ａは、プリンター再生ユーザーインターフェース９０２に関連付けられたプリンターに文書のコピーを指示するのに選択されてもよく、及び／又はコピー要素９２０ａは、プリンターを使用して文書をコピーする要求がプロセスレコーディング中に捕捉されたデータのデータファイルに記録されたことを示すため、変化（例えば、異なる色やフォントで表示される）する。
【０１７７】
送信要素９２０ｂは、プリンターを使用して電子文書を送信する指示を出す及び／又は表すためのボタン（又は他の要素）である。送信要素９２０ｂは、コピー要素９２０ａについて説明したのと同様の方法で、電子文書を送信する指示を出す及び／又は表すために選択、使用されてもよい。
【０１７８】
別注ドキュメント要素９２０ｃは、特定のユーザー、ユーザーグループ、又は他の組織に関連する文書を保存する一つ以上の別注のドキュメントボックスへのアクセスを可能とする指示を出す及び／又は表すためのボタン（又は他の要素）である。別注ドキュメント要素９２０ｃが選択され、及び／又は別注ドキュメント要素９２０ｃの選択がプロセスレコーディング中に捕捉されたデータのデータファイルに記録された場合、一つ以上の別注のドキュメントボックスに保存された文書を列記したダイアログ又は他のユーザーインターフェース要素が、例えばタッチ画面領域９０６に表示される形で提供される。
【０１７９】
ジョブドキュメント要素９２０ｄは、プリンターに対応付けられた一つ以上の印刷ジョブ（他のジョブも含む）に関する文書を保存する一つ以上のジョブドキュメントボックスへのアクセスを可能とする指示を出す及び／又は表すためのボタン（又は他の要素）である。ジョブドキュメント要素９２０ｃが選択され、及び／又はジョブドキュメント要素９２０ｃの選択がプロセスレコーディング中に捕捉されたデータのデータファイルに記録された場合、一つ以上のジョブドキュメントボックスに保存された文書を列記したダイアログ又は他のユーザーインターフェース要素が、例えばタッチ画面領域９０６に表示される形で提供される。
【０１８０】
脱着可能メモリー要素９２０ｅは、プリンターに装着された脱着可能メモリーに保存されたデータへのアクセスを可能とする指示を出す及び／又は表すためのボタン（又は他の要素）である。脱着可能メモリー要素９２０ｅが選択され、及び／又は脱着可能メモリー要素９２０ｅの選択がプロセスレコーディング中に捕捉されたデータのデータファイルに記録された場合、脱着可能メモリーが現在プリンターに装着されていれば、当該脱着可能メモリーに保存されたデータを列記したダイアログ又は他のユーザーインターフェース要素が、例えばタッチ画面領域９０６に表示される形で提供される。
【０１８１】
ジョブ状態／キャンセル要素９２０ｆは、プリンターに対応付けられた印刷ジョブなどの状態を提示するよう、及び／又はキャンセルする指示を出す及び／又は表すためのボタン（又は他の要素）である。ジョブ状態／キャンセル要素９２０ｆが選択され、及び／又はジョブ状態／キャンセル要素９２０ｆの選択がプロセスレコーディング中に捕捉されたデータのデータファイルに記録された場合、プリンター上でアクティブなジョブの状態及び／又は印刷ジョブのキャンセルを表すダイアログ又は他のユーザーインターフェース要素が、例えばタッチ画面領域９０６に表示される形で、提供される。
【０１８２】
装置情報要素９２０ｇは、プリンターに関する情報（例えばプリンター名、ネットワークアドレスなど）を提示及び／又は変更する指示を出す及び／又は表すためのボタン（又は他の要素）である。装置情報要素９２０ｇが選択され、及び／又は装置情報要素９２０ｇの選択がプロセスレコーディング中に捕捉されたデータのデータファイルに記録された場合、プリンターの状態を表すダイアログ又は他のユーザーインターフェース要素が、例えばタッチ画面領域９０６に表示される形で提供される。プロセスレコーディング中に捕捉されたデータのデータファイルが、プリンターの装置情報が変更されたことを示している例においては、装置情報に関するダイアログ又は他のユーザーインターフェース要素は、変更された装置情報を提示する。
【０１８３】
アクセシビリティ要素９２０ｈは、プリンターに関するアクセシビリティ情報（例えばフォントサイズ設定、拡大倍率設定、音声合成設定など）をチェック及び／又は更新する指示を出す及び／又は表すためのボタン（又は他の要素）である。アクセシビリティ要素９２０ｈが選択され、及び／又はアクセシビリティ要素９２０ｈの選択がプロセスレコーディング中に捕捉されたデータのデータファイルに記録された場合、プリンターに関するアクセシビリティ情報を提示するダイアログ又は他のユーザーインターフェース要素が、例えばタッチ画面領域９０６に表示される形で提供される。プロセスレコーディング中に捕捉されたデータのデータファイルが、アクセシビリティ情報が変更されたことを示している例においては、アクセシビリティ情報に関するダイアログ又は他のユーザーインターフェース要素は、変更されたアクセシビリティ情報を提示する。
【０１８４】
システムメニュー要素９２０ｋは、プリンターに関するシステム情報をチェック及び／又は更新するメニュー又は他の要素を提示する指示を出す及び／又は表すためのボタン（又は他の要素）である。システムメニュー要素９２０ｋが選択され、及び／又はシステムメニュー要素９２０ｋの選択がプロセスレコーディング中に捕捉されたデータのデータファイルに記録された場合、プリンターに関するシステム情報のメニュー又は他の要素が、例えばタッチ画面領域９０６に表示される形で提供される。プロセスレコーディング中に捕捉されたデータのデータファイルが、システム情報が変更されたことを示している例においては、システム情報に関するメニュー又は他の要素は、変更されたシステム情報を提示する。
【０１８５】
言語要素９２０ｍは、プリンターに関する言語情報（例えば、プリンターのユーザーインターフェースに日本語、英語、中国語、フランス語、韓国語、ドイツ語、及び／又は他の言語のどれを使うか）を提示及び／又は変更する指示を出す及び／又は表すためのボタン（又は他の要素）である。言語要素９２０ｍが選択され、及び／又は言語要素９２０ｍの選択がプロセスレコーディング中に捕捉されたデータのデータファイルに記録された場合、プリンターに関する言語情報を提示するダイアログ又は他のユーザーインターフェース要素が、例えばタッチ画面領域９０６に表示される形で提供される。プロセスレコーディング中に捕捉されたデータのデータファイルが、言語情報が変更されたことを示している例においては、言語情報に関するダイアログ又は他のユーザーインターフェース要素は、変更された言語情報を提示する。
【０１８６】
ヘルプ要素９２０ｎは、プリンターに関するヘルプ情報を提示する指示を出す及び／又は表すためのボタン（又は他の要素）である。ヘルプ要素９２０ｎが選択され、及び／又はヘルプ要素９２０ｎの選択がプロセスレコーディング中に捕捉されたデータのデータファイルに記録された場合、プリンターに関するヘルプ情報を表すダイアログ又は他のユーザーインターフェース要素が提供される。
【０１８７】
操作パネル領域９０８は、再生、制御、及び／又は、プロセスレコーディングソフトウエア及び／又はプロセスレコーディング中に捕捉されたデータのデータファイルとの相互動作に関わるプリンターの操作パネルをシミュレートするなど、情報の授受を行う。操作パネル領域９０８は、システムメニュー要素９３０ａ、カウンター要素９３０ｂ、ジョブ状態／キャンセル要素９３０ｃ、ヘルプ要素９３０ｄ、アクセシビリティ表示要素９３０ｅ、ホーム要素９３２ａ、コピー要素９３２ｂ、送信要素９３２ｃ、ＦＡＸ要素９３２ｄ、プロセスレコード要素９３２ｅ、操作パネル表示要素９３４ａ、キーパッド要素９３４ｂ、スタート要素９３４ｃ、クリア要素９３６ａ、エンター要素９３６ｂ、ストップ要素９３６ｃ、及びパワー要素９３８ａを含む。他の例として、操作パネル領域９０８は上記の要素より多くの又はより少ない、及び／又は異なる要素を含んでもよい。
【０１８８】
システムメニュー要素９３０ａは、操作パネル領域９０８で作動しつつ、システムメニュー要素９２０ｋに関して上記で説明した機能を実行するのに使用される。
【０１８９】
カウンター要素９３０ｂは、プリンターに関するカウンター情報、例えば印刷したページ数、送信したページ数、ＦＡＸしたページ数、トナー／インクの残量等を提示する指示を出す及び／又は表すためのボタン（又は他の要素）である。カウンター要素９３０ｂが選択され、及び／又はカウンター要素９３０ｂの選択がプロセスレコーディング中に捕捉されたデータのデータファイルに記録された場合、プリンターに関するカウンター情報を表すダイアログ又は他のユーザーインターフェース要素が提供される。
【０１９０】
ジョブ状態／キャンセル要素９３０ｃは、操作パネル領域９０８で作動しつつ、ジョブ状態／キャンセル要素９２０ｆに関して上記で説明した機能を実行するのに使用される。
【０１９１】
ヘルプ要素９３０ｄは、操作パネル領域９０８で作動しつつ、ヘルプ要素９２０ｎに関して上記で説明した機能を実行するのに使用される。
【０１９２】
アクセシビリティ表示要素９３０ｅは、操作パネル領域９０８で作動しつつ、アクセシビリティ要素９２０ｈに関して上記で説明した機能を実行するのに使用される。
【０１９３】
ホーム要素９３２ａは、操作パネル表示要素９３４ａにデフォルト又は「ホーム」メニュー、又は他の要素を表示させる指示を出す及び／又は表すためのボタン（又は他の要素）である。
【０１９４】
コピー要素９３２ｂは、操作パネル領域９０８で作動しつつ、コピー要素９２０ａに関して上記で説明した機能を実行するのに使用される。
【０１９５】
送信要素９３２ｃは、操作パネル領域９０８で作動しつつ、送信要素９２０ｂに関して上記で説明した機能を実行するのに使用される。
【０１９６】
ＦＡＸ要素９３２ｄは、プリンターを使用して文書をファックスする指示を出す及び／又は表すためのボタン（又は他の要素）である。例えば、ＦＡＸ要素９３２ｄは、文書をファックスする指示をプリンター再生ユーザーインターフェース９０２に対応付けられているプリンターに出すのに選択されてもよく、及び／又はＦＡＸ要素９３２ｄは、プリンターを使用して文書をファックスする要求がプロセスレコーディング中に捕捉されたデータのデータファイルに記録されたことを示すため、変化（例えば、異なる色やフォントで表示される）してもよい。
【０１９７】
プロセスレコード要素９３２ｅは、プリンターに対するプロセスレコーディングに関連する指示を出す及び／又は表すためのボタン（又は他の要素）である。例えば、プロセスレコード要素９３２ｅはプリンターに対するプロセスレコーディングを起動および停止させる、及び／又はプリンターに対するプロセスレコーディングが起動されているか停止しているかを示すのに使用される。プリンターに対するプロセスレコーディングが起動されているか停止しているかを示すため、プロセスレコード要素９３２ｅは、プリンターに対するプロセスレコーディングが起動されていると示す場合には第１のスタイル（例えば、第１の背景色、第１の文字色、第１のフォント等で表示される）で表示され、プリンターに対するプロセスレコーディングが停止していると示す場合は第２のスタイル（例えば、第２の背景色、第２の文字色、第２のフォント等で表示される）で表示されるようにできる。第１のスタイルで表示されているプロセスレコード要素９３２ｅは、第２のスタイルで表示されているプロセスレコード要素９３２ｅとは視覚的に異なるので、プロセスレコード要素９３２ｅによってプリンターに対するプロセスレコーディングが起動されているか停止しているかを示すことができる。
【０１９８】
操作パネル表示要素９３４ａは、プリンターに関する情報（例えば、状態情報、英数字データ、紙詰まり解消情報）の提示及び／又は表示のため、及び／又は記録された及び／又はプロセスレコーディング中に操作パネル表示要素９３４ａによって表示された情報の表示のために使用される、一つ以上の表示（又は他の要素）である。
【０１９９】
キーパッド要素９３４ｂは、英数字データの入力を可能とする、及び／又は入力され、プロセスレコーディング中に記録された英数字データを表すための、一つ以上のボタン（又は他の要素）である。
【０２００】
スタート要素９３４ｃは、プリンター動作を開始させる、例えば文書の送信を開始する、文書のファックスを開始する、文書のコピーを開始するなどの指示を出す及び／又は表すためのボタン（又は他の要素）である。スタート要素９３４ｃは、プリンターの動作がプロセスレコーディング中に捕捉されたデータのデータファイルに記録されたとおりに開始されたことを示すため、変化（例えば、異なる色やフォントで表示される）してもよい。
【０２０１】
クリア要素９３６ａは、選択されることにより、操作パネル領域９０８を介してプリンターに入力された英数字及び／又は他のデータを除去、消去するボタン又は他の要素である。一例として、クリア要素９３６ａが選択されると、操作パネル表示要素９３４ａが消去される。
【０２０２】
エンター要素９３６ｂは、選択されることにより、操作パネル領域９０８を介してプリンターに入力された英数字及び／又は他のデータがプリンターにより使用されることを確認するボタン又は他の要素である。
【０２０３】
ストップ要素９３６ｃは、選択されることにより、プリンターに現在の動作を中止する、例えば文書の印刷を中止する、文書の送信を中止する、あるいは文書のファックスを中止するよう要求するボタン又は他の要素である。
【０２０４】
パワー要素９３８ａは、選択されることにより、プリンターの電源の供給と切断を切り換えるボタン又は他の要素である。
【０２０５】
再生制御領域９４０は、例えば一つ以上のデータファイルに保存された、プロセスレコーディング中に記録されたデータの再生を制御するのに使用される。図９に示すように、再生制御領域９４０は早戻し制御９５０（図９には「早戻し」と表示）、巻戻し制御９５２、停止制御９５４、再生制御９５６、及び早送り制御９５８（図９には「早送り」と表示）を含む。他の例において、再生制御領域９４０は上記の制御より多く又は少ない、及び／又は異なる制御を含んでいてもよい。
【０２０６】
早戻し制御９５０は、選択されると、ユーザーインターフェース９００に、再生を時間的に遡行する方向に比較的早い速度で戻させる。巻戻し制御９５２は、選択されると、ユーザーインターフェース９００に、再生を時間的に遡行する方向に比較的遅い速度で戻させる。早戻し制御９５０又は巻戻し制御９５２が選択された後、これらを再度選択すると、再生の時間的遡行を停止させることができる。言い換えれば、早戻し制御９５０及び巻戻し制御９５２は、時間的に遡行する再生のオンオフを切り替えることができる。
【０２０７】
ストップ制御９５４は、選択されると、ユーザーインターフェース９００に、時間的に前進又は遡行のいずれであれ、再生の進行を停止させることができる。
【０２０８】
再生制御９５６は、選択されると、ユーザーインターフェース９００に、再生を時間的に前進する方向に比較的遅い速度で進行させる。早送り制御９５８は、選択されると、ユーザーインターフェース９００に、再生を時間的に前進する方向に比較的早い速度で進行させる。再生制御９５６又は早送り制御９５８が選択された後、これらを再度選択すると、再生の時間的前進を停止させることができる。言い換えれば、再生制御９５６及び早送り制御９５８は、時間的に前進する再生のオンオフを切り替えることができる。
【０２０９】
一例として、再生ユーザーインターフェース９００は、再生、制御、及び／又は、プロセスレコーディングソフトウエア及び／又は複数のプリンターに関連する、プロセスレコーディング中に捕捉されたデータのデータファイルとの相互動作に使用することができる。これらの例では、再生ユーザーインターフェース９００は、再生、制御、及び／又は、プロセスレコーディングソフトウエア及び／又は複数のプリンターに関連する、プロセスレコーディング中に捕捉されたデータのデータファイルとの相互動作のため、プリンター再生ユーザーインターフェース９０２及び／又は再生制御領域９４０の複数の動作事例を、必要に応じ提供することができる。
【０２１０】
図１０は、プロセスレコーディング中に記録されたデータを再生するためのユーザーインターフェース１０００の一実施形態を示す図である。再生ユーザーインターフェース１０００は、再生、制御、及び／又は、プロセスレコーディングソフトウエア及び／又はプロセスレコーディング中に捕捉されたデータのデータファイルとの相互動作に使用することができる。
【０２１１】
より具体的には、再生ユーザーインターフェース１０００は、再生、制御、及び／又は、プロセスレコーディングソフトウエア及び／又は少なくとも一つのプリンター及び少なくとも一つのコンピューターに関連する、プロセスレコーディング中に捕捉されたデータのデータファイルとの相互動作に使用することができる。一例として、再生ユーザーインターフェース１０００は、再生、制御、及び／又は、プロセスレコーディングソフトウエア及び／又は少なくとも一つのプリンター及びゼロ個のコンピューターに関連する、プロセスレコーディング中に捕捉されたデータのデータファイルとの相互動作に使用することができる。これらの例では、再生ユーザーインターフェース１０００は、再生ユーザーインターフェース９００と同じように見え、かつ同じように動作する。
【０２１２】
一例として、再生ユーザーインターフェース１０００は、再生、制御、及び／又は、プロセスレコーディングソフトウエア及び／又は複数のプリンター及び／又は複数のコンピューターに関連する、プロセスレコーディング中に捕捉されたデータのデータファイルとの相互動作に使用することができる。これらの例では、再生ユーザーインターフェース１０００は、再生、制御、及び／又は、プロセスレコーディングソフトウエア及び／又は複数のプリンター及び／又は複数のコンピューターに関連する、プロセスレコーディング中に捕捉されたデータのデータファイルとの相互動作のため、プリンター再生ユーザーインターフェース９０２、再生制御領域９４０、再生データ領域１００２、及び／又はコンピューター再生ユーザーインターフェース１０１０の複数の動作事例を、必要に応じ提供することができる。
【０２１３】
再生ユーザーインターフェース１０００は、プリンター再生ユーザーインターフェース９０２、再生制御領域９４０、再生データ領域１００２、及びコンピューター再生ユーザーインターフェース１０１０を有する。再生ユーザーインターフェース１０００のプリンター再生ユーザーインターフェース９０２及び再生制御領域９４０は、再生ユーザーインターフェース１０００に対し、再生ユーザーインターフェース９００及び図９に関して上記説明したものと同様の機能を果たすことができる。
【０２１４】
再生データ領域１００２は、一つ以上のデータファイルの再生に関するデータを提供するものである。図１０に示すとおり、再生データ領域１００２は、再生日時要素１００４ａ、印刷ジョブ名要素１００４ｂ、プリンター名要素１００４ｃ、コンピューター名要素１００４ｄ、及び再生データファイル名要素１００４ｅを含む。他の例において、再生データ領域１００２は上記の要素より多くの又はより少ない、及び／又は異なる要素を含んでいてもよい。
【０２１５】
再生日時要素１００４ａは、再生ユーザーインターフェース１０００によって現在再生中のイベントに関するタイミング情報を示す。例えば、再生日時要素１００４ａは再生ユーザーインターフェース１０００によって現在再生中のイベントを、「１／４／１９」の「８：３０ＰＭ」に発生したものとして記録している。再生ユーザーインターフェース１０００が再生を行っていない場合は、再生日時要素１００４ａはブランクとなる。
【０２１６】
印刷ジョブ名要素１００４ｂは、再生ユーザーインターフェース１０００によって現在再生中のイベントに関する印刷ジョブ名を示す。例えば、印刷ジョブ名要素１００４ｂは、再生ユーザーインターフェース１０００によって現在再生中のイベントを、「ｍｙｄｏｃ．ｐｍ」と名付けられた印刷ジョブに関連するものであるとして記録している。再生ユーザーインターフェース１０００が再生を行っていない場合は、印刷ジョブ名要素１００４ｂはブランクとなる。
【０２１７】
プリンター名要素１００４ｃは、再生ユーザーインターフェース１０００が行っている再生に関連する、一つ以上のプリンターの名称を示す。例えば、プリンター名要素１００４ｃは、再生ユーザーインターフェース１０００が行っている再生が「ＳＰＤ２１４」と名付けられたプリンターに関連していることを示している。再生ユーザーインターフェース１０００が再生を行っていない場合は、プリンター名要素１００４ｃはブランクとなる。
【０２１８】
コンピューター名要素１００４ｄは、再生ユーザーインターフェース１０００が行っている再生に関連する、一つ以上のコンピューターの名称を示す。例えば、コンピューター名要素１００４ｄは、再生ユーザーインターフェース１０００が行っている再生が「ＣＤ２２０」と名付けられたコンピューターに関連していることを示している。再生ユーザーインターフェース１０００が再生を行っていない場合は、コンピューター名要素１００４ｄはブランクとなる。
【０２１９】
再生データファイル名要素１００４ｅは、再生ユーザーインターフェース１０００によって現在再生中のデータを保存している一つ以上のデータファイルの名称を示す。例えば、図１０は「ＤＦ＿ＥＲＲ＿０４Ｊａｎ」と名付けられたデータファイルが再生ユーザーインターフェース１０００によって現在再生されていることを示している。再生ユーザーインターフェース１０００が再生を行っていない場合は、再生データファイル名要素１００４ｅはブランクとなる。
【０２２０】
コンピューター再生ユーザーインターフェース１０１０は、再生、及び／又は、コンピューター、プロセスレコーディングソフトウエア及び／又はコンピューターに関連する、プロセスレコーディング中に捕捉されたデータのデータファイルとの相互動作に使用することができる。図１０に示すように、コンピューター再生ユーザーインターフェース１０１０は、データファイル領域１０１２、プリンター設定領域１０１４、プロセスレコード要素１０１６、及びジョブ通知領域１０１８を有する。他の例において、コンピューター再生ユーザーインターフェース１０１０は上記より多く又は少ない、及び／又は異なる要素を含んでいてもよい。
【０２２１】
データファイル領域１０１２は、プロセスレコーディングソフトウエア及び／又はプロセスレコーディング中に捕捉されたデータのデータファイルに関連付けられたデータ及び／又はトークンに関する、一つ以上のインジケーター又は他の要素を含み、データ及び／又はトークン（したがってインジケーターも）はコンピューターに関連付けられている。インジケーターには、プリンター設定インジケーター１０２０ａ、印刷ジョブ作成インジケーター１０２０ｂ、印刷ジョブ開始インジケーター１０２０ｃ、印刷エラー通知インジケーター１０２０ｄ、ジョブキャンセル通知インジケーター１０２０ｅ、ジョブ完了通知インジケーター１０２０ｆ、及び不明トークンインジケーター１０２０ｇなどがある。他の例において、データファイル領域１０１２は上記より多くの又はより少ない、及び／又は異なるインジケーターを含んでいてもよい。
【０２２２】
プリンター設定インジケーター１０２０ａは、コンピューターに変更されたプリンターの設定データに関するトークンが、コンピューター再生ユーザーインターフェース１０１０によって処理されたことを示す。コンピューターに変更されたプリンターの設定データの例としては、コンピューターに変更された、プリンターに対応付けられた印刷ジョブ（又は他の処理）に関する設定、プリンター名に関するデータ、コンピューターに変更された、プリンターのネットワークアドレスに関するデータ、コンピューターに変更された、プリンターに対するプロセスレコーディングを制御するデータ、コンピューターに変更された、プリンターの機能とオプションの設定等があるが、当該プリンターの設定データはこれらに限定されない。
【０２２３】
印刷ジョブ作成インジケーター１０２０ｂは、コンピューターが作成中の印刷ジョブに関連付けられたトークンが、コンピューター再生ユーザーインターフェース１０１０によって処理されたことを示す。
【０２２４】
印刷ジョブ開始インジケーター１０２０ｃは、印刷ジョブが開始されたことに関連付けられたトークンが、コンピューター再生ユーザーインターフェース１０１０によって処理されたことを示す。例えば、印刷ジョブがコンピューターによって作成された後、プリンター又は他の装置（例えばプリントサーバー）は、印刷ジョブがプリンターにおいて実際に開始された旨の通知を出力することができる。印刷ジョブがプリンターにおいて実際に開始された旨の通知の受領がプリンターに対するプロセスレコーディング中にコンピューターに記録された場合、印刷ジョブがプリンターにおいて実際に開始された旨の通知に関して記録されたデータによって、印刷ジョブが開始されたことに関連付けられたトークンの生成が可能となる。
【０２２５】
印刷エラー通知インジケーター１０２０ｄは、誤った印刷ジョブに関連付けられたトークンが、コンピューター再生ユーザーインターフェース１０１０によって処理されたことを示す。
【０２２６】
ジョブキャンセル通知インジケーター１０２０ｅは、印刷ジョブがキャンセルされたことに関連付けられたトークンが、コンピューター再生ユーザーインターフェース１０１０によって処理されたことを示す。
【０２２７】
ジョブ完了通知インジケーター１０２０ｆは、印刷ジョブが完了したことに関連付けられたトークンが、コンピューター再生ユーザーインターフェース１０１０によって処理されたことを示す。
【０２２８】
不明トークンインジケーター１０２０ｇは、インジケーター１０２０ａ、１０２０ｂ、１０２０ｃ、１０２０ｄ、１０２０ｅ、及び１０２０ｆの一つ以上と関連付けられたトークン以外の未知のトークンが、プリンター再生ユーザーインターフェース９０２によって処理されたことを示す。
【０２２９】
表２は、方法８００に関して説明したトークンの、プリンター再生ユーザーインターフェース９０２を基準として上記したトークンへのマッピングの例を示すものである。
【０２３０】
【表２】
2020177662.tif 000004
【０２３１】
プリンター設定領域１０１４は、コンピューターによるプリンターに関する設定をチェック及び／又は更新するためのダイアログ又は他の要素である。図１０に示すように、プリンター設定領域１０１４には、プリンター「ＳＰＤ２１４」を使用しての印刷ジョブに関する、コンピューターによる「全般」設定が含まれ、ここではパスが「ｍｙｄｏｃ．ｐｒｎ」である文書のうちページ「１−３」が印刷されることが示されている。プリンター設定領域１０１４はまた、「ｍｙｄｏｃ．ｐｒｎ」の文書がファイルに印刷されないこと、文書「ｍｙｄｏｃ．ｐｒｎ」を印刷する印刷ジョブについてプロセスレコーディングがコンピューターに有効化されること、及び当該印刷ジョブについては両面印刷は無効となっていることを示している。他の例として、プリンターに関して上記より多くの又はより少ない、及び／又は異なるコンピューターの設定が、プリンター設定領域１０１４を使用してチェック及び／又は更新されてもよい。
【０２３２】
プロセスレコード要素１０１６は、コンピューター上のプロセスレコーディングに関する指示を出す及び／又は表すためのボタン（又は他の要素）である。例えば、プロセスレコード要素１０１６はコンピューター上のプロセスレコーディングの起動と停止を切り換えるのに使用されてもよく、及び／又はプロセスレコード要素１０１６はプロセスレコーディングがコンピューター上で起動されていることを、プロセスレコーディングが停止している場合との比較によって示すため、変化（例えば、異なる色やフォントで表示される）してもよい。
【０２３３】
プロセスレコード要素１０１６は、コンピューター上のプロセスレコーディングに関する指示を出す及び／又は表すためのボタン（又は他の要素）である。例えば、プロセスレコード要素１０１６はコンピューター上のプロセスレコーディングの起動と停止を切り換えるのに使用されてもよく、及び／又はコンピューターのプロセスレコーディングが起動されているのか停止しているのかを示してもよい。コンピューターのプロセスレコーディングが起動されているのか停止しているのかを示すため、プロセスレコード要素１０１６は、コンピューターに対するプロセスレコーディングが起動されていることを示す場合には、第１のスタイル（例えば、第１の背景色、第１の文字色、第１のフォント等で表示される）で表示され、コンピューターに対するプロセスレコーディングが停止していることを示す場合は、第２のスタイル（例えば、第２の背景色、第２の文字色、第２のフォント等で表示される）で表示されるようにできる。第１のスタイルで表示されているプロセスレコード要素１０１６は、第２のスタイルで表示されているプロセスレコード要素１０１６とは視覚的に異なるので、プロセスレコード要素１０１６によって、コンピューターに対するプロセスレコーディングが起動されているか停止しているかを示すことができる。
【０２３４】
ジョブ通知領域１０１８は、印刷ジョブ、及びコンピューターに与えられた他のジョブに関する情報を提供するためのディスプレイ又は他の要素である。一例として、印刷ジョブ及び他のジョブに関する情報は、データファイルに記録することができ、ジョブ通知領域１０１８は当該記録された情報を提供するのに使用される。
【０２３５】
ＩＶ．実行方法の例
図１１は、一実施形態に係る方法を示すフローチャートである。方法１１００は、例えばコンピューター１００のようなコンピューターで実行することができる。
【０２３６】
方法１１００はブロック１１１０から始まり、ここではコンピューターが、プリンターに関する情報を記録する要求を受け取り、当該要求は、少なくとも図３、図４、図５、図６、図９、及び図１０に基づいて説明したような、プリンターに対応付けられたイベントの時系列シーケンスに関連する複数種類の情報を指定したものである。
【０２３７】
ブロック１１２０において、コンピューターは、上記要求の受領後、図５及び図６を参照して説明したように、イベントの時系列シーケンスに関連する、指定された複数種類の情報を記録するのに使用される。
【０２３８】
ブロック１１３０において、少なくとも図６〜図１０を参照して説明したように、コンピューターは、記録された複数種類の情報に基づいて、プリンターに対応付けられたイベントの時系列シーケンスを提示する。
【０２３９】
一実施形態として、複数種類の情報は、少なくとも図６〜図１０を参照して説明したように、プリンターに関連するキーストロークに関する種類の情報、プリンターに関連するキーストローク以外の、ユーザーインターフェース装置のイベントに関する種類の情報、プリンターの構成設定に関する種類の情報、プリンターの付属装置に関する種類の情報、プリンターの印刷ジョブに関する種類の情報、プリンターの紙詰まりに関する種類の情報、音声形式の種類の情報、及び／又は映像形式の種類の情報のうち２種類以上を含む。
【０２４０】
一実施形態として、プリンターの構成設定に関する種類の情報は、少なくとも図９を参照して説明したように、プリンターエンジンの仕様、プリンターのファームウエアのバージョン、プリンターの機能及び／又はオプションの設定、プリンターの仕上げオプション、及び／又はプリンターのシステム設定のうち一つ以上に関連するものである。
【０２４１】
一実施形態として、プリンターの付属装置に関する種類の情報は、少なくとも図６、図７、及び図９を参照して説明したように、プリンターの扉、プリンターのトレイ、プリンターのレバー、プリンターのカバー、及び／又はプリンターの操作パネルのうち一つ以上に関連するものである。
【０２４２】
一実施形態として、プリンターに関する情報を記録する要求を受け取ることは、少なくとも図３を参照して説明したように、コンピューターで作動しているプリンタードライバーのユーザーインターフェースを使用して情報を記録する要求を受け取ることを含む。
【０２４３】
一実施形態として、プリンターに関する情報を記録する要求を受け取ることは、少なくとも図３及び図４を参照して説明したように、コンピューターで作動しているアプリケーションのユーザーインターフェースを使用して情報を記録する要求を受け取ることを含む。
【０２４４】
一実施形態として、コンピューターはプリンターを含むことができる。この場合、プリンターに関する情報を記録する要求を受け取ることは、少なくとも図３及び図４を参照して説明したように、プリンターのユーザーインターフェースを使用して情報を記録する要求を受け取ることを含む。
【０２４５】
一実施形態として、コンピューターはプリンターを含むことができる。この場合、プリンターに関する情報を記録する要求を受け取ることは、少なくとも図３及び図４を参照して説明したように、プリンターのジョブコマンドを使用して情報を記録する要求を受け取ることを含む。
【０２４６】
一実施形態として、コンピューターは、プリンターを含むことができる。この場合、プリンターに関する情報を記録する要求を受け取ることは、少なくとも図３を参照して説明したように、外部機器がプリンターに接続されていると判定し、情報を記録する要求をプリンターにおいて外部機器から受け取ることを含む。
【０２４７】
一実施形態として、コンピューターはプリンターとは別体である。この場合、イベントの時系列シーケンスに関する指定された複数種類の情報を記録することは、少なくとも図６及び図１０を参照して説明したように、イベントの時系列シーケンスに関する指定された複数種類の情報をコンピューター及びプリンターの双方において記録することを含む。
【０２４８】
一実施形態として、記録された複数種類の情報に基づいて、プリンターに対応付けられたイベントの時系列シーケンスを提示することは、少なくとも図８〜図１０を参照して説明したように、記録された複数種類の情報を解析して、プリンターに対応付けられたイベントの時系列シーケンスに関連する一つ以上のトークンを作成し、一つ以上のトークンに基づいて、プリンターに対応付けられたイベントの時系列シーケンスのシミュレーションを生成し、プリンターに対応付けられたイベントの時系列シーケンスのシミュレーションを、コンピューターのグラフィックユーザーインターフェースを使用して表示することを含む。
【０２４９】
一実施形態として、一つ以上のトークンは、少なくとも図８〜図１０を参照して説明したように、印刷ジョブに関するイベントに対応付けられたトークン、プリンターのユーザーインターフェースに関するイベントに対応付けられたトークン、プリンターの付属装置に関するイベントに対応付けられたトークン、及び／又はプリンターのプロセスに関するイベントに対応付けられたトークンのうち、一つ以上を含む。
【０２５０】
一実施形態として、記録された複数種類の情報に基づいて、プリンターに対応付けられたイベントの時系列シーケンスを提示することは、少なくとも図６及び図７を参照して説明したように、記録された複数種類の情報を含む一つ以上のデータ項目のデータファイルを生成することを含み、一つ以上のデータ項目のデータ項目は記録されている種類の情報に関するイベントデータと、データ項目に関する情報がいつ記録されているかを示すタイムスタンプデータを含む。
【０２５１】
一実施形態として、少なくとも図７を参照して説明したように、データ項目はさらに、データ項目に関する付帯情報が保存されている場所、及び／又はイベントデータに対応付けられた入力データのコピーを含む。
【０２５２】
一実施形態として、記録された複数種類の情報に基づいて、プリンターに対応付けられたイベントの時系列シーケンスを提示することは、少なくとも図８〜図１０を参照して説明したように、少なくともイベントの時系列シーケンス中のイベントに関するプリンターのプロセスを実行し、プリンターのユーザーインターフェースを変更し、及び／又はプリンターの構成を変更することにより、プリンターに複数種類の情報として記録されたイベントの時系列シーケンスから一つ以上のイベントを実行することを含む。
【０２５３】
一実施形態として、プリンターのプロセスを実行することは、少なくとも図８を参照して説明したように、色の登録プロセス、色のキャリブレーションプロセス、再セットアッププロセス、メモリーの初期化プロセス、ディスクに関連するプロセス、及び／又はプロファイリングプロセスのうち一つ以上を実行することを含む。
【０２５４】
一実施形態として、プリンターのユーザーインターフェースを変更することは、少なくとも図８を参照して説明したように、プリンターのユーザーインターフェースのキーまたはボタンを起動すること、プリンターのユーザーインターフェースのキーまたはボタンを有効にすること、及び／又はプリンターのユーザーインターフェースのキーまたはボタンを無効にすることのうち、一つ以上を含む。
【０２５５】
一実施形態として、プリンターの構成を変更することは、少なくとも図９を参照して説明したように、プリンターの構成設定を決定すること、及び／又はプリンターの構成設定をリセットすることの一つ以上を含む。
【０２５６】
上記の詳細に述べた説明的な実施形態、図面、及び請求の範囲は、限定を意図したものではない。ここに記載の主題の趣旨と範囲から逸脱しない限り、他の実施形態を採用してもよく、変更を加えてもよい。ここに概略を述べ、図面で表示した本開示のいくつかの態様は、変更、代替、結合、分離されてもよく、様々な異なる構成を採用し得ることは明らかであり、それらもすべて、本明細書において予期されている。
【０２５７】
図面における図表、描写、及びフローチャートについては、個々のブロック及び／又は説明は、例示的な実施形態に従って情報処理及び／又は情報の伝達を表したものである。代替的な実施形態も、例示的な実施形態の範疇に含まれる。代替的な実施形態において、例えば、ブロックで記述された機能、伝達、コミュニケーション、要請、応答、及び／又はメッセージは、関係する機能性に応じて、図示又は説明されたものとは異なる順序で実行されてもよく、同時的に又は逆の順序で実行されてもよい。さらに、より多数又は少数のブロック及び／又は機能がここで説明した図表、描写、及びフローチャートのいずれにおいても適用されてよく、これらの図表、描写、及びフローチャートはその一部または全部において、互いに結合されてもよい。
【０２５８】
情報処理を表すブロックは、方法または技術の特定の論理的機能を遂行する構成とされた回路に相当する。これに代えて又はこれに加えて、情報処理を表すブロックは、モジュール、セグメント、あるいは（関連するデータも含め）プログラムコードの一部に相当し得る。プログラムコードは、方法または技術に特定の論理的機能を組み込むため、プロセッサーが実行可能な一つ以上の指示を含むことができる。プログラムコード及び／又は関連するデータは、ディスク、ハードドライブ、又は他の記憶媒体などあらゆる種類のコンピューター読み取り可能な媒体に保存することができる。
【０２５９】
コンピューター読み取り可能な媒体には、非一時的なコンピューター可読媒体、例えば、レジスターメモリー、プロセッサーキャッシュ、及びＲＡＭなどの、データを短期間保存するコンピューター可読媒体が含まれる。コンピューター可読媒体はまた、二次的又は永続的長期ストレージのような、プログラムコード及び／又はデータを長期間保存する非一時的なコンピューター可読媒体も含む。具体的には、例えばＲＯＭ、光学又は磁気ディスク、ＣＤ−ＲＯＭなどである。さらに、コンピューター可読媒体は、あらゆる種類の揮発性または不揮発性のストレージシステムであってもよい。コンピューター可読媒体は、例えばコンピューター読み取り可能な記憶媒体を指すと考えてよく、あるいは有形の記憶装置であってもよい。
【０２６０】
いくつかの態様や実施形態を上記の通り説明したが、他の態様や実施形態があり得ることは当業者には明らかである。上記の態様や実施形態は説明のためのものであって、限定する意図のものではない。真の範囲は以下の請求の範囲によって示される。
【図１】
2020177662.tif 000005
【図２】
2020177662.tif 000006
【図３】
2020177662.tif 000007
【図４】
2020177662.tif 000008
【図５】
2020177662.tif 000009
【図６】
2020177662.tif 000010
【図７】
2020177662.tif 000011
【図８】
2020177662.tif 000012
【図９】
2020177662.tif 000013
【図１０】
2020177662.tif 000014
【図１１】
2020177662.tif 000015