IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 京セラドキュメントソリューションズ株式会社の特許一覧

特許7540188プリンタープロセスを記録し表示するための方法、コンピューター、及び製造物
<>
  • 特許-プリンタープロセスを記録し表示するための方法、コンピューター、及び製造物 図1
  • 特許-プリンタープロセスを記録し表示するための方法、コンピューター、及び製造物 図2
  • 特許-プリンタープロセスを記録し表示するための方法、コンピューター、及び製造物 図3
  • 特許-プリンタープロセスを記録し表示するための方法、コンピューター、及び製造物 図4
  • 特許-プリンタープロセスを記録し表示するための方法、コンピューター、及び製造物 図5
  • 特許-プリンタープロセスを記録し表示するための方法、コンピューター、及び製造物 図6
  • 特許-プリンタープロセスを記録し表示するための方法、コンピューター、及び製造物 図7
  • 特許-プリンタープロセスを記録し表示するための方法、コンピューター、及び製造物 図8
  • 特許-プリンタープロセスを記録し表示するための方法、コンピューター、及び製造物 図9
  • 特許-プリンタープロセスを記録し表示するための方法、コンピューター、及び製造物 図10
  • 特許-プリンタープロセスを記録し表示するための方法、コンピューター、及び製造物 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-19
(45)【発行日】2024-08-27
(54)【発明の名称】プリンタープロセスを記録し表示するための方法、コンピューター、及び製造物
(51)【国際特許分類】
   G06F 3/12 20060101AFI20240820BHJP
   B41J 29/38 20060101ALI20240820BHJP
   H04N 1/00 20060101ALI20240820BHJP
【FI】
G06F3/12 373
B41J29/38 801
H04N1/00 127B
H04N1/00 002C
G06F3/12 310
G06F3/12 317
G06F3/12 332
G06F3/12 329
G06F3/12 359
G06F3/12 385
【請求項の数】 3
(21)【出願番号】P 2020071062
(22)【出願日】2020-04-10
(65)【公開番号】P2020177662
(43)【公開日】2020-10-29
【審査請求日】2023-03-29
(31)【優先権主張番号】16/384,867
(32)【優先日】2019-04-15
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】000006150
【氏名又は名称】京セラドキュメントソリューションズ株式会社
(74)【代理人】
【識別番号】110003443
【氏名又は名称】弁理士法人TNKアジア国際特許事務所
(74)【代理人】
【識別番号】100129997
【弁理士】
【氏名又は名称】田中 米藏
(72)【発明者】
【氏名】ニールポール パヨヨ・ベルムンド
(72)【発明者】
【氏名】ルイス デービッド・バリア
【審査官】豊田 真弓
(56)【参考文献】
【文献】特開2011-232867(JP,A)
【文献】特開2016-057943(JP,A)
【文献】特開2006-093824(JP,A)
【文献】特開2014-211843(JP,A)
【文献】特開2011-034461(JP,A)
【文献】特開2004-151994(JP,A)
【文献】特開2018-077696(JP,A)
【文献】特開2008-152541(JP,A)
【文献】特開2005-033460(JP,A)
【文献】特開2014-115834(JP,A)
【文献】特開2017-016239(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/12
B41J 29/38
H04N 1/00
(57)【特許請求の範囲】
【請求項1】
コンピューターにおいて、プリンターに関する情報を記録する要求であって、前記プリンターに対応付けられたイベントの時系列シーケンスに関連する複数種類の情報を指定した要求を受け取ることと、
前記要求の受領後、前記コンピューターを用いて、前記イベントの時系列シーケンスに関連する、前記指定された複数種類の情報を記録することと、
前記コンピューターによって、前記記録された複数種類の情報に基づいて、前記プリンターに対応付けられた前記イベントの時系列シーケンスを提示することと、を含み、
前記記録された複数種類の情報に基づいて、前記プリンターに対応付けられた前記イベントの時系列シーケンスを提示することは、
前記記録された複数種類の情報を解析して、前記プリンターに対応付けられた前記イベントの時系列シーケンスに関連する一つ以上のトークンを作成し、
前記一つ以上のトークンに基づいて、前記プリンターに対応付けられた前記イベントの時系列シーケンスのシミュレーションを生成し、
前記プリンターに対応付けられた前記イベントの時系列シーケンスの前記シミュレーションを、前記コンピューターのグラフィックユーザーインターフェースを使用して表示することを含み、
前記一つ以上のトークンは、前記プリンターの付属装置に関するイベントに対応付けられたトークンを少なくとも含み、
前記プリンターの付属装置に関するイベントは、前記プリンターの扉の開閉イベント、前記プリンターのトレイの開閉イベント、及び前記プリンターのカバーの開閉イベントのうちの少なくとも一つを含み、
前記シミュレーションは、前記プリンターの扉、前記プリンターのトレイ、及び前記プリンターのカバーのうちのいずれかを操作する指示を含み、
更に、前記指示に応じて前記プリンターの扉、前記プリンターのトレイ、及び前記プリンターのカバーのうちのいずれかが操作されるまで、前記プリンターの動作を中断すること、を含む、方法。
【請求項2】
一つ以上のプロセッサーと、
前記一つ以上のプロセッサーが作動することによりコンピューターにタスクを実行させる指示を含むコンピューター可読指示を、少なくとも格納する構成とされたデータ記憶装置とを備え、
前記タスクは、
プリンターに関する情報を記録する要求であって、前記プリンターに対応付けられたイベントの時系列シーケンスに関連する複数種類の情報を指定した要求を受け取ることと、
前記要求の受領後、前記コンピューターを用いて、前記イベントの時系列シーケンスに関連する、前記指定された複数種類の情報を記録することと、
前記コンピューターによって、前記記録された複数種類の情報に基づいて、前記プリンターに対応付けられた前記イベントの時系列シーケンスを提示することと、を含み、
前記記録された複数種類の情報に基づいて、前記プリンターに対応付けられた前記イベントの時系列シーケンスを提示することは、
前記記録された複数種類の情報を解析して、前記プリンターに対応付けられた前記イベントの時系列シーケンスに関連する一つ以上のトークンを作成し、
前記一つ以上のトークンに基づいて、前記プリンターに対応付けられた前記イベントの時系列シーケンスのシミュレーションを生成し、
前記プリンターに対応付けられた前記イベントの時系列シーケンスの前記シミュレーションを、前記コンピューターのグラフィックユーザーインターフェースを使用して表示することを含み、
前記一つ以上のトークンは、前記プリンターの付属装置に関するイベントに対応付けられたトークンを少なくとも含み、
前記プリンターの付属装置に関するイベントは、前記プリンターの扉の開閉イベント、前記プリンターのトレイの開閉イベント、及び前記プリンターのカバーの開閉イベントのうちの少なくとも一つを含み、
前記シミュレーションは、前記プリンターの扉、前記プリンターのトレイ、及び前記プリンターのカバーのうちのいずれかを操作する指示を含み、
更に、前記指示に応じて前記プリンターの扉、前記プリンターのトレイ、及び前記プリンターのカバーのうちのいずれかが操作されるまで、前記プリンターの動作を中断すること、を含む、コンピューター。
【請求項3】
コンピューターの一つ以上のプロセッサーが作動することにより、当該コンピューターにタスクを実行させるコンピューター可読指示を少なくとも格納する、非一時的なデータの記憶装置を備え、
前記タスクは、
プリンターに関する情報を記録する要求であって、前記プリンターに対応付けられたイベントの時系列シーケンスに関連する複数種類の情報を指定した要求を受け取ることと、
前記要求の受領後、前記コンピューターを用いて、前記イベントの時系列シーケンスに関連する、前記指定された複数種類の情報を記録することと、
前記コンピューターによって、前記記録された複数種類の情報に基づいて、前記プリンターに対応付けられた前記イベントの時系列シーケンスを提示することと、を含み、
前記記録された複数種類の情報に基づいて、前記プリンターに対応付けられた前記イベントの時系列シーケンスを提示することは、
前記記録された複数種類の情報を解析して、前記プリンターに対応付けられた前記イベントの時系列シーケンスに関連する一つ以上のトークンを作成し、
前記一つ以上のトークンに基づいて、前記プリンターに対応付けられた前記イベントの時系列シーケンスのシミュレーションを生成し、
前記プリンターに対応付けられた前記イベントの時系列シーケンスの前記シミュレーションを、前記コンピューターのグラフィックユーザーインターフェースを使用して表示することを含み、
前記一つ以上のトークンは、前記プリンターの付属装置に関するイベントに対応付けられたトークンを少なくとも含み、
前記プリンターの付属装置に関するイベントは、前記プリンターの扉の開閉イベント、前記プリンターのトレイの開閉イベント、及び前記プリンターのカバーの開閉イベントのうちの少なくとも一つを含み、
前記シミュレーションは、前記プリンターの扉、前記プリンターのトレイ、及び前記プリンターのカバーのうちのいずれかを操作する指示を含み、
更に、前記指示に応じて前記プリンターの扉、前記プリンターのトレイ、及び前記プリンターのカバーのうちのいずれかが操作されるまで、前記プリンターの動作を中断すること、を含む、製造物。
【発明の詳細な説明】
【背景技術】
【0001】
プリンターはその販売台数が増加すると共に、地理的な普及度が大きく拡大し、ネットワークへの接続もますます盛んとなっている。そして、このようなネットワークにはプリントサーバーが備えられる。通常、一つ以上の文書及び/又は他の印刷データが印刷される場合、これら印刷データ等はプリンターに直接送られるか、または一旦プリントサーバーに送られる。また、プリンターに、元の紙文書の電子コピーを作成するスキャナーが備えられていることもある。このようなプリンターは、紙文書をスキャンするのに用いることができ、さらに、スキャンにより得られた電子コピーを送信することもできる。
【0002】
ネットワーク上には、一つ以上のプリンターが存在することがある。これらプリンターの一部または全ては、特徴、機能、能力において異なっていることがある。そして、この一部またはすべてのプリンターは、印刷動作、スキャン動作、文書通信動作など、プリンターを用いて行われる動作を記録するログファイルを生成することができる。
【発明の概要】
【0003】
本開示の一局面として、方法が提供される。コンピューターが、プリンターに関する情報を記録する要求を受け取る。当該要求は、前記プリンターに対応付けられたイベントの時系列シーケンスに関連する複数種類の情報を指定するものである。前記コンピューターは、前記要求の受領後、前記イベントの時系列シーケンスに関連する、当該指定された複数種類の情報を記録するのに用いられる。前記コンピューターは、当該記録された複数種類の情報に基づいて、前記プリンターに対応付けられた前記イベントの時系列シーケンスを提示する。
【0004】
本開示の他の一局面として、コンピューターが提供される。前記コンピューターは一つ以上のプロセッサーと、データ記憶装置とを備える。前記データ記憶装置は少なくともコンピューター可読指示を格納するよう構成されている。前記コンピューター可読指示は、前記一つ以上のプロセッサーが作動することにより、コンピューターにタスクを実行させる指示を含む。前記タスクは、プリンターに関する情報を記録する要求であって、前記プリンターに対応付けられたイベントの時系列シーケンスに関連する複数種類の情報が指定された要求を受け取ることと、当該要求の受領後に、前記イベントの時系列シーケンスに関連して指定された複数種類の情報を記録することと、記録された複数種類の情報に基づいて、前記プリンターに対応付けられた前記イベントの時系列シーケンスを提示することを含む。
【0005】
本開示の更なる一局面として、製造物が提供される。前記製造物は、コンピューターの一つ以上のプロセッサーが作動することにより、当該コンピューターにタスクを実行させるコンピューター可読指示を少なくとも格納する、非一時的なデータの記憶装置を備える。前記タスクは、プリンターに関する情報を記録する要求であって、前記プリンターに対応付けられたイベントの時系列シーケンスに関連する複数種類の情報が指定された要求を受け取ることと、当該要求の受領後に、前記イベントの時系列シーケンスに関連して指定された前記複数種類の情報を記録することと、記録された前記複数種類の情報に基づいて、前記プリンターに対応付けられた前記イベントの時系列シーケンスを提示することを含む。
【0006】
その他の態様、実施形態、及び実現の方法は、添付の図面を適宜参照しつつ以下の詳細な説明を参照することにより、当業者には明らかとなる。
【図面の簡単な説明】
【0007】
図1】コンピューターの構成の一実施形態を示す模式的なブロック図である。
図2】ネットワークの構成の一実施形態を示す図である。
図3図2に示すネットワークの一部の構成の一実施形態を示す図である。
図4】プリンターに関するデータの記録に関するユーザーインターフェースの一実施形態を示す図である。
図5】プリンターに関するデータの記録を制御する方法の一実施形態を示すフローチャートである。
図6】プロセスの記録を実行する方法の一実施形態を示すフローチャートである。
図7】プロセスの記録により記録されたイベントに関するデータファイルの一実施形態を表す図である。
図8】プリンターについて記録されたデータを再生する方法の一実施形態を示すフローチャートである。
図9】プリンターについて記録されたデータを再生するためのユーザーインターフェースの一実施形態を表す図である。
図10】プリンターについて記録されたデータを再生するためのユーザーインターフェースの一実施形態を表す図である。
図11】本開示の一実施形態に係る方法を示すフローチャートである。
【発明を実施するための形態】
【0008】
以下の詳細な説明においては、本明細書の一部をなす図面が参照される。図面では、特に注記のない限り、同様の記号は同様の部材を指す。詳細な説明として記述される実施形態、図面、及び請求の範囲は、本開示の態様を限定する意図ではない。ここに記載の主題から逸脱しない限り、他の実施形態が採用されてもよく、変更が加えられてもよい。当然ながら、ここに記述され、図面により示された本開示の態様は、改変、代替、結合、分離することができ、また多岐にわたる異なった構成を採ることができ、それらのすべてはここに明確に包含される。
【0009】
I.概略
プリンターに対応付けられたイベントを記録し、表示する技術及び装置について述べる。プリンターの作動時には、さまざまな問題及び/又は不具合が起こり得るが、これらの問題や不具合はプリンターのソフトウエア及び/又はハードウエアのエラーに起因している場合がある。このような問題の解決のため、ログやメモリーデータ(例えば、コアダンプ)などのエラー関連のデータをプリンターから収集することができる。このようなエラー関連のデータは、必要に応じ、ソフトウエアエラーの解析、診断、トラブルシューティング、そして解決の実行に役立てることができる。
【0010】
しかし、エラー関連のデータの質が低い場合、またはソフトウエアエラーの問題の再現が難しい場合、ソフトウエアエラーの解決が遅れることになる。エラーや、エラー関連のデータ中の空白部分を再現する方法についての情報を、例えばエラーを検知したユーザーに問い合わせることによって人手により収集すると、収集された情報が不正確であったり、曖昧であったりする恐れがある。
【0011】
例えば、ソフトウエアエラーを再現すべき手順が不正確であると、ソフトウエアエラーに対処しようとしている技術者がその不正確な手順によってミスリードされ、その結果ソフトウエアエラーを解決する方法を誤ってしまうこととなる。また、顧客とメーカーの技術者との間における、エラーを再現する方法についての正確な情報を得るためのコミュニケーションに、長い時間を要することにもなる。このようなソフトウエアエラーは、プリンターを使用している顧客の業務に害を及ぼし、またプリンターのメーカーの評判を落とすことになる。
【0012】
エラー関連のデータをより多く集めるため、別注のプリンターソフトウエア及び/又はファームウエアが顧客に提供される場合がある。しかし、別注のソフトウエアの提供とインストール、そしてエラー関連のデータについて通信することは、エラーを解決しようとする顧客とメーカーの双方に、時間と労力と経費の負担を生じさせることになる。
【0013】
本実施形態で説明する技術によれば、プリンターや類似の装置の問題や不具合を記述、説明、及び再現するためのより正確なエラー関連のデータを収集することができる。解決方法として、プリンターのファームウエアが捕捉し収集した上記のエラー関連のデータ(例えば、ログやコアダンプ等)を利用する。このようなエラー関連のデータに基づいて、エラーの再現方法に関する情報を、主としてユーザー(例えば、検査者、技術者、または顧客)からの聞き取りによって収集することができる。これによってユーザーから、エラーが発生した時に何をしていたか、そのときプリンターはどのような設定になっていたか、そしてどのような文書及び/又は他のデータをプリンターが処理中であったかを聞き取ることが可能になる。
【0014】
エラーの再現方法に関する情報およびエラー関連のデータを取得するにあたって上記の点に対処するため、本実施形態で説明する技術は、プリンターも含めた一つ以上のコンピューターのソフトウエアと、場合によりハードウエアを用いて、「プロセスレコーディング」、すなわちプリンターの動作に関するイベントを記録することを含む。プロセスレコーディングは、一つ以上のイベントの時系列シーケンスとしてデータを捕捉することを含む。プリンターのユーザーは、コンピューター及び/又はプリンターによるプロセスレコーディングを作動させるかさせないかを選択することができる。このような設定により、プロセスレコーディングを、機器単位及び/又は印刷ジョブ単位で制御することができる。さらに、例えば印刷ジョブが誤って出力された等、ユーザーがプリンターにエラーが発生したとの疑いを持った時、ユーザーはプロセスレコーディングを作動させる適切な設定を行い、誤った印刷ジョブを再試行することができる。本実施形態におけるプロセスレコーディングソフトウエアによれば、その後、一つ以上の装置、例えばコンピューター、プリンター、またはサーバー等における(誤った)印刷ジョブに関するイベント関連のデータを記録することができる。その後、プロセスレコーディングによって保存されたイベント関連のデータはメーカーの適切な部署(例えば、販売促進、ソフトウエア開発等)に提供され、エラーの診断と対処に利用される。
【0015】
ソフトウエア及び/又はハードウエアのエラーに関するほとんどすべてのイベントについてのイベント関連データがイベントの時系列シーケンスとして捕捉されるなら、イベントの時系列シーケンスに関するデータは、顧客のソフトウエア及び/又はハードウエアのエラーの原因に関する情報をメーカーに提供することが可能となる。イベントの時系列シーケンスによって、ソフトウエア及び/又はハードウエアのエラーを再現するのにどのようなアクションをとればよいかも示される。イベントの時系列シーケンスに関するデータは、人手による収集で得られた情報を補強し、裏付けることができる。例えば、イベントの時系列シーケンスに、プリンターのユーザーインターフェース(例えば、プリンターのフロントパネル)やプリンターファームウエアに関するイベントが含まれている場合、イベントの時系列シーケンスは、印刷ジョブの受領時刻と完了時刻、プリンターに関するネットワークイベントのタイミング、そして印刷ジョブ実行中のファームウエアの処理に関する情報を示している可能性がある。場合によっては、イベントの時系列シーケンスが、顧客からの聞き取りをしなくともソフトウエア及び/又はハードウエアのエラーの再現方法を示すことがあり、これによりエラー解決に要する顧客の時間と労力を軽減することができる。
【0016】
捕捉可能なイベントとしては、ユーザーインターフェース関連のイベント(例えば、使用キーのデータ、マウスやタッチパッドのデータ、ボタン押下データにより捕捉されたイベント)、構成関連のイベント(例えば、一つ以上の構成パラメーター及び/又は他のデータの読み取り及び/又は設定に関するイベントや、一つ以上の構成パラメーター及び/又は他のデータの値を記録するイベント、なおここでプリンターに関する構成パラメーター及び/又は他のデータとはプリンターエンジン、プリンターファームウエア、機能設定、終了オプション設定、システム設置等に関するもの)、印刷ジョブに関するデータ(例えば、文書の名称、種類、サイズ、位置、ページ数、または紙詰まりに関するデータ)、付属装置関連のイベント(例えば、装置扉の開閉イベント、トレイの開閉イベント、装置カバーの開閉イベント、操作パネル関連のイベント、付属装置に関する診断イベント)、音声情報及び/又は映像情報を用いて記録されたイベント等があるが、これらに限定されない。プリンターの付属装置の例としては、プリンターの扉、プリンターのトレイ、プリンターのレバー、プリンターのカバー、プリンターのフロントパネル、プリンターの操作パネル等があるが、これらに限定されない。
【0017】
一例として、プリンターに関するイベントについてのデータは、複数の機器から記録することができる。例えば、印刷ジョブに関するイベントについてのデータは、印刷ジョブを送信するコンピューター、印刷ジョブをプリンターへ伝送するプリントサーバー、及び/又は印刷ジョブを実行するプリンターにおいて記録することができる。複数の機器からイベントを捕捉することによってイベントの時系列シーケンスは、複数の機器におけるイベントを表すこととなる。複数の機器から得られたイベントの時系列シーケンスは、エラーにつながる状況の理解を深めるとともに、人手を介して入手したレポートなど、他のエラー関連のデータを補強し、及び/又は裏付ける。
【0018】
プロセスレコーディングにより捕捉したデータは、その捕捉後、再生、表示、及び/又は他の方法により複数回提示することができる。プロセスレコーディングにより捕捉したイベント関連のデータを再生することには、イベント関連のデータを、一つ以上のイベントの時系列シーケンスとして表示及び/又は他の方法で提示するべく処理することが含まれる。イベント関連のデータを再生することには、当該イベント関連のデータの最初から最後までを表示/提示することが含まれる。再生することには、プロセスレコーディングにより捕捉された、テキスト、映像、音声、及び/又は他のデータを、表示及び/又は他の方法により提示することが含まれる。
【0019】
一例として、プロセスレコーディングソフトウエアは、プロセスレコーディングにより記録されたデータやイベントを再生するソフトウエア再生部を備える。再生部は、捕捉されて記録されたイベント関連のデータの再生、及びそれに関連する処理を可能とする。再生部は、例えば、問題の発生時に一つ以上のプリンター及び/又はコンピューターで実行されていたイベントの時系列シーケンスを示すような再生を行う。
【0020】
再生部は、プロセスレコーディング中に捕捉されたデータに従って、プロセスを開始および実行することができる。このようなプロセスの例としては、プリンター及び/又はコンピューターにおける、色の登録、色のキャリブレーション、再セットアップ、メモリーの初期化、ディスクのチェック又はフォーマット、メンテナンスモード、地域設定、ロギング、プロファイリング、プリンターエンジン、及び/又はユーザーインターフェースに関連した一つ以上のプロセス等があるが、これらに限定されない。再生部は、例えばユーザーによる入力、メッセージプロンプト、エラー表示等、ユーザーインターフェースを介して入力及び/又は出力された、プロセスレコーディング中に捕捉されたデータに基づいて表示を行うことができる。一例として、再生部は、プロセスレコーディング中に捕捉されたイベントの時系列シーケンスのアニメーション表示を行うことができる。一例として、再生部は、イベントの時系列シーケンスに関する情報を音声で出力、すなわちイベント関連のデータの全部または一部を音声で読み上げることができる。一例として、再生部は、ボタンの色を強調するなどの視覚的なガイダンスや、ユーザーインターフェース関連の入力及び/又は出力の提示の制御を利用することができる。
【0021】
一例として、プロセスレコーディングは、プリンター及び/又はコンピューターの既存の機能、負荷、及び性能に対しほとんど影響を及ぼすことなく行うことができる。プリンターに対しては、プロセスレコーディングは、デスクトップや文書の編集、ネットワーク伝送、及びプリンターの処理と動作に関わる印刷/スキャニング/ファックス送信プロセスにおいて広範に適用できる。
【0022】
プロセスレコーディングは、単一のモジュールまたは二つのモジュールによる構成で実行されてもよく、ネットワーク規模の構成により実行されてもよい。単一モジュールによる構成では、プリンターまたは他のコンピューター内部の一体型モジュールがプロセスレコーディングに用いられる。一体型モジュールはそれ自身のメモリー、記憶装置及びプロセッサーを有し、プロセスレコーディングのための演算、処理、及びメッセージ出力を行い、それによりプリンター(または他のコンピューター)に、既存の機能の発揮にほとんど、または全く影響を与えることなく、通常の印刷ジョブの実行など通常通りのタスクの実行を可能とする。このような、プロセスレコーディングのためのデータを収集し、イベントをモニターできる一体型モジュールを用いることによって、プリンター(または他のコンピューター)の性能と部品のメンテナンス、バグの解消、及び解析に役立てることができる。
【0023】
二つのモジュールによる構成では、二つのモジュールによるプロセスレコーディングが可能である。一つはプリンターのモジュール(例えば上記のような一体型モジュール)、もう一つはプリンター外部の機器のモジュールであり、これらは、例えばプリンター外部で発生したイベントの記録、データファイルの処理、再生、シミュレーション等、プロセスレコーディング関連のさらなる動作を実行する。
【0024】
ネットワーク構成におけるプロセスレコーディングでは、プロセスレコーディングは、プリンター、デスクトップシステム、ラップトップシステム、モバイル機器、ネットワークサーバー及び/又はインターネット(クラウド)サーバー等を含むネットワーク内で実行される。例えば一つ以上のサーバーをホストとするネットワーク上の集中型プロセスレコーディングシステムが、ネットワーク全体にわたるプロセスレコーディング動作をコーディネート及び/又は制御するのに用いられる。集中型プロセスレコーディングシステムによって、例えば、プロセスレコーディング中に捕捉されたイベント関連のデータを記録し格納するロギングサービスを、コーディネート及び/又は制御することができる。この集中型プロセスレコーディングシステムは、ネットワーク全体で行われるプロセスレコーディングに対応するイベントに関するデータ、データファイル、ログ、メモリーダンプ等を、収集、統合、格納、処理及び/又は体系付けることができる。すなわち、接続されたプリンター及び/又は他の装置は、イベント関連のデータ、データファイル、ログ及びプロセスを、集中型プロセスレコーディングシステムに通知することができる。集中型プロセスレコーディングシステムは、ネットワーク内のプリンターが受領する印刷ジョブを送信または生成する作動システムおよびアプリケーションについて、複数の印刷ジョブが単一の機器から送られてくるのか複数の機器から送られてくるのかを判定し、ネットワーク内での印刷ジョブのシーケンスを調整し、印刷ジョブの送信におけるネットワーク遅延を検知し(言い換えれば、ネットワーク遅延が印刷ジョブの処理において問題を起こす要素であるかどうかを判定し)、及び/又は順序付け情報を含むデータを記録するものである。
【0025】
一例として、プロセスレコーディングは、新たなハードウエアをほとんど、または全く必要とすることなく実行できる。例えば、プリンター及び/又は他の装置のソフトウエアは、ネットワーク伝送を含むイベント関連のデータを記録するのに用いられる。また、既存のセンサー、マイク、及び/又はカメラを、例えば、問題の発生を確認しようとする過程でイベントを記録するために、プロセスレコーディングに用いることもできる。
【0026】
プロセスレコーディングを用いてプリンターエラー(他の種類の装置のエラーも含め)に関連したイベントの時系列シーケンスを捕捉することにより、これらのエラーを再現するための動作を特定し、正確に決定するのに必要な時間を短縮することができる。エラーを再現するための動作を正確に決定することで、テストのための時間と、エラーを再現し、エラーを解決し、エラーの解決法を実証する役目を持つ開発担当者とを省くことができる。さらに、エラーを再現するための動作を正確に決定することで、顧客に対してこれらのエラーに至るまでの動作を説明する時間を省くことができる。しかも、イベントの時系列シーケンスという形式のより良いエラー関連のデータは、ソフトウエアの開発と展開、およびエラー解決の報告の繰り返しを低減することができ、それによりプリンターのバグ修復が容易となり、プリンターのバグを修復するための時間、労力及び経費、それに不満もが低減されることとなる。このように、イベントの時系列シーケンスのプロセスレコーディングを行うことにより、消費者、技術者及びユーザーが問題を報告するのが容易となり、問題に関する顧客とメーカー間のコミュニケーションの遅れを抑制することができる。
【0027】
II.コンピューターと印刷システムの例
図1は、コンピューター100の構成の一実施形態を示す模式的なブロック図である。一実施形態として、コンピューター100は、プロセスレコーディング、ノード、プロセスレコーダーノード、分散メモリーシステム、ネットワーク140、200、スキャナー/プリンター(SPD)210、212、214、216、コンピューター220、222、プロセスレコーダーノード230、分散メモリーシステム232、外部記憶装置310、ダイアログ410、420、430、方法500、600、800、1100、データファイル710、730、及び/又はユーザーインターフェース900、1000に関連する、ここに記載の文書配布の技術及び/又は機能性の少なくとも一部を実現するよう構成されている。
【0028】
コンピューター100は、一つ以上の入力部102、一つ以上の出力部104、一つ以上のプロセッサー106及びメモリー108を有する。入力部102は、ユーザー入力部、ネットワーク入力部、センサー、及び/又は他の種類の入力装置を有する。例えば、入力部102は、タッチ画面、キーボード、キーパッド、コンピューターマウス、トラックボール、ジョイスティック、カメラ、音声認識モジュール及び/又は類似の装置などのユーザー入力部を含む。ネットワーク入力部は、例えばEthernet(登録商標)トランシーバー、Universal Serial Bus(USB)トランシーバー、またはツイストペア線、同軸ケーブル、光ケーブルリンク、または一つ以上のネットワーク140、200の有線区間などの有線ネットワークへの同様の物理的接続を介して通信可能な類似のトランシーバーなどの、有線ネットワーク受信機及び/又はトランシーバー、及び/又は、例えばBluetooth(登録商標)トランシーバー、ZigBee(登録商標)トランシーバー、Wi-Fi(登録商標)トランシーバー、WiMAX(登録商標)トランシーバー、無線広域ネットワーク(WWAN)トランシーバー及び/又は一つ以上のネットワーク140、200の無線区間などの無線ネットワークを介して通信可能な他の種類の無線トランシーバーなどの、無線ネットワーク受信機及び/又はトランシーバーを含む。センサーは、コンピューター100の環境条件を計測し、当該環境のデータを提供する構成とされた装置を含む。データの例としては、位置データ、速度(速さと方向)データ、加速度データ、及びコンピューター100の環境に関する他のテータ等があるが、これらに限定されない。センサーの例としては、GPSセンサー、位置センサー、ジャイロスコープ、加速度計、磁力計、カメラ、光センサー、赤外線センサー、マイク等がある。しかしながら、センサーは、これらに限定されるものではない。また、異なる入力部102の採用も可能である。
【0029】
出力部104は、ユーザー用表示装置、音声出力部、ネットワーク出力部、及び/又は他の種類の出力部を有する。ユーザー用表示装置は、一つ以上の印刷部、液晶表示器(LCD)、発光ダイオード(LED)、レーザー、デジタルライティングプロセッシング(DLP)技術によるディスプレイ、ブラウン管(CRT)、電球、及び/又は他の類似の装置を含む。音声出力部は、スピーカー、スピーカージャック、音声出力ポート、オーディオ出力部、ヘッドフォン、イヤフォン、及び/又は他の類似の装置を含む。ネットワーク出力部は、例えばEthernet(登録商標)トランシーバー、Universal Serial Bus(USB)トランシーバー、またはツイストペア線、同軸ケーブル、光ケーブルリンク、または一つ以上のネットワーク140、200の有線区間などの有線ネットワークへの同様の物理的接続を介して通信可能な類似のトランシーバーなどの、有線ネットワーク送信機及び/又はトランシーバー、及び/又は、例えばBluetooth(登録商標)トランシーバー、ZigBee(登録商標)トランシーバー、Wi-Fi(登録商標)トランシーバー、WiMAX(登録商標)トランシーバー、無線広域ネットワーク(WWAN)トランシーバー及び/又は一つ以上のネットワーク140、200の無線区間などの無線ネットワークを介して通信可能な他の種類の無線トランシーバーなどの、無線ネットワーク送信機及び/又はトランシーバーを含む。他の種類の出力部としては、発振装置、触覚フィードバック装置、例えば赤外線や紫外線を発する不可視光線発光器等がある。しかしながら、他の種類の出力部は、これらに限定されるものではない。また、異なる出力部104の採用も可能である。
【0030】
プロセッサー106は、一つ以上の汎用プロセッサー、中央処理装置(CPU)、CPUコア、及び/又は一つ以上の専用プロセッサー(例えば、graphics processing unit(GPU)、デジタル信号プロセッサー(DSP)、field programmable gated array(FPGA)、用途特化型集積回路(ASIC)等)を有する。プロセッサー106は、メモリー108に格納されたコンピューター可読指示110。及び/又は、本実施形態で述べる他の指示を実行するよう構成されている。
【0031】
メモリー108は、少なくとも一つのプロセッサー106が読み取り及び/又はアクセス可能なデータ及び/又は指示を記憶する構成とされた、一つ以上のコンピューター可読記憶媒体を有する。一つ以上のコンピューター可読記憶媒体は、光学的、磁気的、有機または他のメモリーやディスクなどの一つ以上の揮発性及び/又は不揮発性記憶部を含み、これらは少なくとも一つのプロセッサー106に、その全体または一部が組み入れられる。コンピューター可読記憶媒体は、レジスターメモリー、プロセッサーキャッシュ、及び/又はRandom Access Memory(RAM)など、一時的データを格納する一つ以上の領域を含む。コンピューター可読記憶媒体は、永続的なプログラムコード及び/又はデータを長期間保存する非一時的なコンピューター可読媒体、例えばRead Only Memory(ROM)、光学又は磁気ディスク、Compact-Disc Read Only Memory(CD-ROM)などの二次的または持続性長期記憶装置を含む。一実施形態として、メモリー108は単一の物理装置(例えば一つの光学的、磁気的、有機または他のメモリーやディスク)を用いて組み入れられてもよく、また、他の実施形態として、メモリー108は二つ以上の物理装置を用いて組み入れられてもよい。
【0032】
メモリー108は、一つ以上のプロセッサー106に実行されることによりコンピューター(例えば、コンピューター100)に機能を実現させるコンピューター可読指示110を格納する。当該機能としては、本実施形態に記載する手順、技術、装置、ネットワーク、方法、特徴、及び/又はシナリオに関する機能等がある。但し、当該機能はこれらに限定されない。一例として、コンピューター可読指示110は、ノード、プロセスレコーダーノード、スキャナー/プリンター、コンピューター、及び/又は分散メモリーシステムの、ここでいう機能の少なくとも一部を実行させる指示を含む。
【0033】
図2は、ネットワーク200の構成の一実施形態を示す図である。ネットワーク200は、スキャナー/プリンター210、212、214、216、コンピューター220、222、一つ以上のプロセスレコーダーノード230、及び/又は分散メモリーシステム232を有する。一例として、ネットワーク200はより多くの又はより少数の、及び/又は異なる種類のノード、スキャナー/プリンター、コンピューター、サーバーコンピューター、及び/又は図2に示した以外の装置を有する。一例として、ネットワーク200は、スキャナー/プリンター210、212、214、216、コンピューター220、222、プロセスレコーダーノード230及び分散メモリーシステム232が、ネットワーク140で接続された状態でピアとして作動する、P2Pネットワークである。
【0034】
スキャナー/プリンター210、212、214、216は、元々は紙の状態でまたは電子的に使用可能であった文書及び/又はファイルをスキャン、コピー、eメール送信、通信、及び/又は他の方法で処理する構成とされた機能部を有する。例えば、スキャナー/プリンター210、212、214、216の一部またはすべては、元の紙文書の電子コピーを作成、及び/又は元の紙文書からOCRまたは他の技術を用いて電子データを生成、例えば紙形式または他の状態の紙文書から紙形式のデータを生成するスキャニング部を有する。一つ以上のスキャナー/プリンター210、212、214、216による処理の後、紙形式のデータ、文書、及び/又はファイルは、要求に応じて、紙の状態でまたは電子的に使用可能となる。すなわち、スキャナー/プリンター210、212、214、216は、紙文書PAPER Dまたは電子文書EDを、少なくとも次の方法によって処理する。PAPER Dの内容を表す電子文書ED1を生成する(例えば、PAPER DをスキャンしてED1を生成する)、PAPER Dから一枚以上紙コピーを作成する、一種類以上の紙にED及び/又はED1の1枚以上のコピーを印刷する、ED及び/又はED1の一枚以上の電子コピーを作成する、ED及び/又はED1のフォーマットを変更する(例えば、OCRスキャニングによってED及び/又はED1を格納するフォーマットを変換する)、及びスキャナー/プリンター210、212、214、216以外の装置がED及び/又はED1を使用またはアクセスできるよう、及び/又はED及び/又はED1の内容を他の装置との間で通信できるよう、遠隔アクセス可能なメモリー(例えばドキュメントボックス)を保持する。場合により、PAPER Dの内容を表す電子文書ED1を生成することは、PAPER Dの内容の一部またはすべてを表す紙形式のデータPFDを生成することを含むこともある。
【0035】
ドキュメントボックスは実在物(例えばユーザー、管理者、企業や他の組織)のプリンター、スキャナー/プリンター、プリントサーバー、または他の装置に付与され、当該実在物が文書、ファイル、及び/又は他のデータを保管、保持できるようにするものである。一実施形態として、ドキュメントボックスには、住所録など個人データ用のメモリー及び/又はデバイスアカウント記憶領域が付随している、及び/又は含まれている。ドキュメントボックス、住所録、およびデバイスアカウント記憶領域は、一つ以上の文書、ファイル、個人データ、及び/又は連絡先、使用量及び使用限度など他のデータを格納する。一例として、本実施形態における文書配布技術は、ドキュメントボックスに格納された一つ以上の文書に適用することができる。
【0036】
一例として、スキャナー/プリンター210、212、214、216は、他のタスク及び/又は他の処理も実行することができる。スキャナー/プリンター210、212、214、216は、色、速度、演算能力、機能、ネットワーク接続可能度、及び/又は他の側面においてそれぞれ異なる、複数のメーカーの製品が使用される。
【0037】
一例として、スキャナー/プリンター210、212、214、216の一部またはすべては、一つ以上の、多くの場合それぞれ異なる、ネットワークプロトコルを介してネットワーク140に接続されている。データは、コンピューター、演算装置、ノード、プリンター、スキャナー/プリンター、サーバー、及びネットワーク140間の有線及び/又は無線リンクを介して、スキャナー/プリンター210、212、214、216、コンピューター220、222、プロセスレコーダーノード230及び/又は分散メモリーシステム232の間で伝送される。ネットワーク200のそれぞれの装置間のデータ伝送のフォーマットは、テキスト形式、画像形式、extensible mark-up language(XML)形式、Simple Network Maintenance Protocol(SNMP)形式、データベーステーブル、OCR読み取りされたテキスト、フラットファイル形式または他の形式など、様々なフォーマットの一つ以上とすることができる。
【0038】
コンピューター、演算装置、ノード、プリンター、スキャナー/プリンター、及びサーバー間の通信としては、コンピューター220、222、プロセスレコーダーノード230及び/又は分散メモリーシステム232の間での、スキャナー/プリンター210、212、214、216が実行するスキャン及び印刷ジョブのデータの送受信、スキャナー/プリンター210、212、214、216からコンピューター220及び/又はコンピューター222への、警告、状態、エラー、機器情報、カラーインク使用情報、メンテナンスイベント情報、及び/又は他のメッセージの送信、文書管理システム(図2には不図示)から他の装置への、カラーインク使用量、メンテナンス、エラー、及び/又はプリンター及び/又はスキャナー/プリンターの他の状態、例えば、アイドリング、印刷中、スリープ状態、紙詰まり、用紙不足、トナーやインク不足などの通知、スキャナー/プリンター210、212、214、216、コンピューター220、222、プロセスレコーダーノード230及び/又は分散メモリーシステム232の間での、ここに記載の文書の安全な保管及び/又は読み出しに関するデータの送受信等が挙げられる。ノード、コンピューター、スキャナー/プリンター210、212、214、216、コンピューター220、222、プロセスレコーダーノード230及び/又は分散メモリーシステム232の間の他の通信も可能である。その例としては、一つ以上のメンテナンス及び管理に関する通信があるが、これに限定されない。
【0039】
一例として、コンピューター220、222は、ネットワーク200を利用して、文書を作成、取得、更新、表示、配布、保存、読み出し、及び/又は削除することができる。例えば、コンピューター220及び/又はコンピューター222は、ここに記載のプロセスレコーダーノード及び/又は分散メモリーシステムの一部または全部として機能することができる。
【0040】
プロセスレコーダーノード230は、少なくともプロセスレコーディングに関するデータ及び/又はソフトウエアを保存するためそれぞれが一つ以上の本実施形態におけるプロセスレコーダーノードとして機能する、一つ以上のコンピューターを有する。一例として、プロセスレコーダーノード230の一部またはすべては、分散メモリーシステム232の一部も構成することができる。
【0041】
分散メモリーシステム232は、少なくとも、本実施形態におけるプロセスレコーディング技術で利用される分散メモリーシステムの保存を可能とする。一例として、分散メモリーシステム232は、ここに記載のプロセスレコーディング技術で利用される一つ以上の分散メモリーシステムの保存を可能とする一つ以上の他のコンピューター及び/又はデータ記憶装置と通信を行うことができる。
【0042】
プロセスレコーディングのためのデータは、ネットワーク200を利用して伝達できる。プロセスレコーディングのためのデータとしては、データファイル、プロセスレコーディング用のソフトウエア、プロセスレコーディングに関するコマンド、イベント関連のデータ、エラー関連のデータ、イベントの時系列シーケンス、プロセスレコーディングに関連するトークン等がある。但し、プロセスレコーディングのためのデータは、これらに限定されない。他の種類のデータも、ネットワーク200を利用して伝達が可能である。
【0043】
イベント関連のデータは、コンピューター又はプリンターで発生する一つ以上のイベントに関する情報を含む。イベント関連のデータとしては、テキスト、バイナリーデータ、映像データ、音声データ、及び/又は他の種類のデータがある。装置のイベントの例としては、装置の設定や構成に関する、構成関連のイベント、コンピューターの一つ以上のユーザーインターフェースとの間で送受信されるデータに関する、ユーザーインターフェース関連のイベント、装置上で実行されるスレッド、プロセス及び/又はアプリケーションに関するプロセス関連のイベント、コンピューターの一つ以上のポート、カード、ドライブ、ディスク、及び/又は他の入出力部における入力及び/又は出力に関する入出力関連のイベント、装置の付属装置が関与する動作に関する付属装置関連のイベント、信号、パケット、アドレス、及び/又は装置が送受信する他のネットワーク関連の情報に関する、ネットワーク関連のイベント、メモリーの割り当てと割り当て解除、及び装置のメモリー/コアダンプに関するメモリー関連のイベント等がある。但し、装置のイベントはこれらに限定されない。一例として、イベント関連のデータとして記録されたイベントは、コンピューター又はプリンターにおいて、印刷ジョブ及び/又は他の処理を実行中に発生した一つ以上のイベントを含む。
【0044】
コンピューターにおいてプロセスレコーディングソフトウエアにより記録できるイベント関連のデータとしては、印刷ジョブ(または他の処理)及び/又は他の設定やオプション等に関する選択された設定を記録するコンピューターの構成データ、コンピューターの一つ以上のユーザーインターフェースとの間で送受信されたデータに関するユーザーインターフェースデータ、印刷ジョブ(または他の処理)のために実行されたプロセス及びアプリケーション、及び/又は印刷ジョブ(または他の処理)が作成、送信、受信、及び/又は実行されていた時にコンピューターで実行されたプロセス及びアプリケーションの対象であるプロセスデータ、印刷ジョブ(または他の処理)の作成、送信、受信、及び/又は実行に関与する一つ以上のコンピューター及び/又はプリンターに関する、装置関連のデータ、印刷ジョブ(または他の処理)に関わる、コンピューターの一つ以上のポート、カード、ドライブ、ディスク、及び/又は装置の他の入出力部における入出力動作に関する入出力データ、印刷ジョブ(または他の処理)に関わる、信号、パケット、アドレス、及び/又はコンピューターが送受信する他のネットワーク関連の情報に関するネットワークデータ、印刷ジョブ(または他の処理)に対応するコンピューターで発生したイベントのタイムスタンプなどのタイミングデータ、そしてファイル、コアダンプ、ログ、RAM、及び/又は印刷ジョブ(または他の処理)に関連して割り当てられ、使用され、及び/又は割り当て解除された他のコンピューターメモリーに関するメモリーデータ等がある。但し、当該イベント関連のデータは、これらに限定されない。
【0045】
プリンターにおいてプロセスレコーディングソフトウエアにより記録できるイベント関連のデータとしては、プリンターに指示された印刷ジョブ(または他の処理)に関する選択された設定を記録するプリンターの構成データ、プリンターエンジン、プリンターファームウエアのバージョン、フロントパネルの構成、機能とオプション設定、終了オプション、プリンターのシステム設定及びメンテナンス設定に関するデータ、プリンターの一つ以上のユーザーインターフェースとの間で送受信されたデータに関する、プリンターのユーザーインターフェースデータ、プリンターの扉、カバー、トレイ、仕上げ装置に関するデータなど、プリンターの付属装置のイベントデータ、印刷ジョブ(または他の処理)のためにプリンターが実行したプロセス、及び/又は印刷ジョブ(または他の処理)が作成、送信、受信、及び/又は実行されていた時にプリンターが実行したプロセスに関するプロセスデータ、印刷ジョブ(または他の処理)の作成、送信、受信、及び/又は実行に関与する一つ以上のコンピューター及び/又はプリンターに関する、装置関連のデータ、印刷ジョブ(または他の処理)に関わる、プリンターの一つ以上のポート、カード、ドライブ、ディスク、及び/又は装置の他の入出力部における入出力動作に関する入出力データ、印刷ジョブ(または他の処理)に関わる、信号、パケット、アドレス、及び/又はプリンターが送受信する他のネットワーク関連の情報に関するネットワークデータ、印刷ジョブ(または他の処理)に対応するプリンターで発生したイベントのタイムスタンプなどのタイミングデータ、そしてファイル、コアダンプ、ログ、RAM、及び/又は印刷ジョブ(または他の処理)に関連して割り当てられ、使用され、及び/又は割り当て解除された他のプリンターメモリーに関するメモリーデータ等がある。但し、当該イベント関連のデータは、これらに限定されない。
【0046】
一実施形態として、例えば一つ以上のサーバー、プリンター、スキャナー/プリンター、ノード、及び/又は他のコンピューターなど、一つ以上の追加のコンピューターを、追加の機能、例えば一つ以上のドキュメントソリューション、複合機管理サービス、及び/又は他の機能を実行するため、ネットワーク200で用いてもよい。
【0047】
III.プリンターに関する情報を記録する装置及び方法
図3は、ネットワーク200の一部の構成の一実施形態を示す図である。具体的には、図3はスキャナー/プリンター214、216、コンピューター220、及びプロセスレコーダーノード230をつなぐネットワーク140を示しており、スキャナー/プリンター214が外部記憶装置310に直接接続されている。
【0048】
スキャナー/プリンター214、216はそれぞれ、ページ記述言語(PDL)インタープリター320a、320b、一つ以上のグラフィックレンダリング部322a、322b、ファームウエア324a、324b、及びプロセス記録/再生ソフトウエア(PRPS)330a、330bを有するものとして図示されている。各ページ記述言語インタープリター320a、320bは、ページ記述言語で表された印刷ジョブを受領し、印刷ジョブを実行するための対応するコマンドを出力する。PDLは、印刷ジョブにおける文書またはページを記述する言語である。ページ記述言語の例としては、PCLXL(PCL6)、PostScript、Portable Document Format(PDF)、XML Paper Specification(XPS)等がある、但し、PDLはこれらに限定されない。一例として、例えばJPGやTagged Image File Format(TIFF)などの画像フォーマットが、PDLでサポートされている。
【0049】
プロセス記録/再生ソフトウエア(PRPS)330a、330bは、プリンターの一つ以上の機能部/又は一つ以上の再生部から提供される、プロセスレコーディングに必要なデータを受領して記録するための、一つ以上のプリンターエンジンプロセスレコーダーを有する。例えば、スキャナー/プリンター214上で稼働しているプロセス記録/再生ソフトウエア330aは、バックグラウンドで駆動しつつ、例えばページ記述言語インタープリター320a、グラフィックレンダリング部322a、ファームウエア324a、及びフロントパネル/ユーザーインターフェース(UI)ソフトウエア326など、スキャナー/プリンター214の各機能部からイベント関連のデータを受領することができる。イベント関連のデータの受領後、プロセス記録/再生ソフトウエア330aは当該データをデータファイル及び/又は他の場所に保存することができる。プロセス記録/再生ソフトウエア330aは当該データをローカル、例えばスキャナー/プリンター214に、及び/又はリモート、プロセスレコーダーノード230及び/又は分散メモリーシステム232に保存することができる。
【0050】
一例として、プロセス記録/再生ソフトウエア330aは、イベント関連のデータを受領次第、タイムスタンプを付与する。言い換えれば、プロセス記録/再生ソフトウエア330aは、イベント関連のデータの受領に対応する一つ以上の時間を記録し、かつ保存する。一例として、プロセス記録/再生ソフトウエア330aは、プロセスレコーディング中に捕捉されたデータを保存する前にプロセスレコーディングが起動されたことを確認する。スキャナー/プリンター216の側においても、記録/再生ソフトウエア330bは、記録/再生ソフトウエア330a及びスキャナー/プリンター214に関して述べたのと同様の動作が可能である。
【0051】
印刷ジョブを出力させるコマンドは、グラフィックレンダリング部322a、322bにそれぞれ与えることができ、これらは印刷ジョブのテキスト及び/又はグラフィックを紙、ファイル、及び/又は表示画面上に出力するコマンドを実行する。例えば、グラフィックレンダリング部322a、322bは、スキャナー/プリンター214、216からそれぞれ受け取ったPDLコマンド又はデータを、それぞれのスキャナー/プリンターのプリンターエンジンが使用できるようバイナリーデータに変換する。その後、プリンターエンジンは当該バイナリーデータを画素に変換し、その画素が印刷ジョブによる指示に応じて紙及び/又は電子ファイル上に出力されることになる。
【0052】
印刷ジョブのテキスト及び/又はグラフィックを出力するため、スキャナー/プリンター214とスキャナー/プリンター216は、それぞれのファームウエア324a、324bを利用して、出力タスクを実行する。ファームウエア324a、324bは、対応するスキャナー/プリンター214、216に対する、例えば装置管理や、プロセス記録/再生ソフトウエア330a、330bとのインターフェースによりプロセスレコーディングを行うなどの他のタスクを実行する。
【0053】
プロセスレコーディングには、一つ以上のプリンター、例えばスキャナー/プリンター214、216の少なくともいずれかに関するイベント関連のデータを捕捉、処理、及び保存することが含まれる。一例として、プロセスレコーディングには、例えばコンピューター、サーバー、ノード等、プリンター以外の装置に関するイベント関連のデータを捕捉、処理、及び保存することが含まれる。したがって、スキャナー/プリンター214、216、コンピューター220、プロセスレコーダーノード230の一つに対するプロセスレコーディング動作としては、装置に対するプロセスレコーディングを起動すること、装置に対するプロセスレコーディングを停止すること、装置で発生しているイベントに関する情報をイベント関連のデータとして捕捉すること、イベント関連のデータを処理すること、イベント関連のデータを記録及び/又は例えばデータファイルに保存すること、及び記録された/保存されたイベント関連のデータ、例えばデータファイルを一つ以上の他の装置に伝送すること、等がある。但し、当該プロセスレコーディング動作はこれらに限定されない。
【0054】
スキャナー/プリンター214はまた、ユーザーインターフェースとしての機能を実行するフロントパネル/ユーザーインターフェースソフトウエア326を有する。ユーザーインターフェース機能には、フロントパネル及び/又はスキャナー/プリンター214の一つ以上の他のユーザーインターフェースからボタンやキーの押下による入力を受け付けること、受け付けた入力に基づいてイベント、コマンド及び/又は他のデータを生成すること、及びフロントパネル及び/又はスキャナー/プリンター214の一つ以上の他のユーザーインターフェースを用いて表示を行うこと等がある。但し、ユーザーインターフェース機能はこれらに限定されない。
【0055】
一例として、プリンターのユーザーインターフェース、例えばスキャナー/プリンター214のフロントパネル/ユーザーインターフェースソフトウエア326は、少なくともプリンターに対するプロセスレコーディングの起動及び/又は停止を可能とするために使用されるボタンや表示部など、ユーザーインターフェースとしての機能を有する。より具体的には、プリンターのフロントパネルにはプリンターの設定を選択するためのボタン、表示画面、タッチ画面、及び/又はキーボードを含む操作パネルが備えられ、このようなフロントパネルは、例えばプリンターを使用しての印刷、スキャン、コピー、ファックス送信やジョブの伝送などの、プリンターの機能性と能力を表すのに用いられる。一例として、プリンターのユーザーインターフェース、例えばフロントパネルは、プロセスレコーディングのオンオフを切り替えるボタンなど、プロセスレコーディングを起動及び/又は停止させるための一つ以上のボタン及び/又は他のユーザーインターフェース要素を備えている。
【0056】
コンピューター220は、ソフトウエアアプリケーション340a~340bを含んで図示されている。ソフトウエアアプリケーション340a~340bの一部またはすべてはプロセスレコーダー起動プラグイン(PRI)を含む。例えば、ソフトウエアアプリケーション340aはプロセスレコーダー起動プラグイン342を含み、ソフトウエアアプリケーション340bはプロセスレコーダー起動プラグイン344を含む。コンピューター220はまた、一つ以上のプリンターと通信し、更には、例えば一つ以上のプロセスレコーダーノード230や、一つ以上の分散メモリーシステム232などの印刷動作に関連する一つ以上の装置と通信するためのプリンタードライバー350を有する。
【0057】
図3は、プリンタードライバー350がプロセスレコーダー起動プラグイン352を含むことを示している。ソフトウエアアプリケーション340a~340bの一部またはすべて及びプリンタードライバー350はプロセスレコーダーソフトウエア(PRS)354と通信が可能である。例えば、アプリケーション340a、アプリケーション340b、プリンタードライバー350のそれぞれのプロセスレコーダー起動プラグイン342、344、352は、例えばコンピューター220上でプロセスレコーディングを起動及び/又は停止するなど、プロセスレコーディングに関してプロセスレコーダーソフトウエア354と通信する。
【0058】
プロセスレコーダー起動プラグイン312、プロセスレコーダー起動プラグイン342、プロセスレコーダー起動プラグイン344、及びプロセスレコーダー起動プラグイン352に限らず、プラグインは、プロセスレコーディングを起動および停止するのに使用することができる。プロセスレコーダー起動プラグイン342、プロセスレコーダー起動プラグイン344、及びプロセスレコーダー起動プラグイン352などのプラグインがアプリケーション又はプリンタードライバーに対応付けられている例においては、プラグインはプロセスレコーディングが起動されているか否か判定することができる。そしてプロセスレコーディングが起動されていれば、プラグインは対応付けられているアプリケーション又はプリンタードライバーに対してコンピューターのプロセスレコーディングを行うことができる。コンピューターのプロセスレコーディングとしては、キーストロークの収集、クリック、移動、押下、ドラッグ、ドロップなどユーザーインターフェース装置(例えばマウスやタッチ画面)への入力の記録、画面表示などユーザー機器の出力の記録、及び/又は音声及び/又は映像の記録等があるが、これらに限定されない。コンピューターのプロセスレコーディング中にプラグインにより捕捉されたデータは、例えば一つ以上のプロセスレコーディングデータファイルに保存することができる。
【0059】
プロセスレコーダーソフトウエア354は、例えばコンピューター100などのコンピューターに一つ以上のサービスを提供することにより、コンピューター220に対しプロセスレコーディングを実行することができる。プロセスレコーダーソフトウエア354が行うサービスとしてはロギングサービスやモニタリングサービス等があるが、これらに限定されない。一例として、ロギングサービスとモニタリングサービスは一体のシステムサービスとして統合されている。
【0060】
ロギングサービスは、プロセスレコーディング中に捕捉されたデータを保存することができる。例えば、プラグインにより捕捉されたデータはプロセスレコーダーソフトウエア354のロギングサービスに送られ、ロギングサービスは当該データをデータファイル及び/又は他の領域に保存できる。ロギングサービスはデータを、例えばコンピューター220などローカルに、及び/又は例えばプロセスレコーダーノード230及び/又は分散メモリーシステム232などリモートに保存できる。一例として、ロギングサービスにより、プロセスレコーディング中に捕捉されたデータを保存する前にプロセスレコーディングが起動されたことを確認することができる。
【0061】
プロセスレコーダーソフトウエア354は、システムモニタリングサービスも行うことができる。システムモニタリングサービスは、例えばプロセスレコーディングに関しシステム全体にわたるモニタリングを行う一つ以上のバックグラウンドサービスなど、一つ以上のプロセスを含む。システムモニタリングサービスによって、例えばプリンタードライバー、アプリケーション、及び/又はコンピューターに対しプロセスレコーディングが起動されているか否かをチェックすることにより、プロセスレコーディングのモニタリング前に、プロセスレコーディングが起動されていることを確認できる。プロセスレコーディングが起動されていると確認された後、コンピューターで行われているシステムモニタリングサービスは、プラグインを利用することによって、少なくとも上記コンピューターに対するプロセスレコーディングを実行することができる。コンピューターのプロセスレコーディングの実行に加え、システムモニタリングサービスは、実行プロセスを収集して、実行プロセスが印刷動作又は印刷ジョブの生成に影響するか否かを判定することができる。
【0062】
上記のように、プロセス記録/再生ソフトウエア330a、330bはプリンターに関するイベント関連のデータを記録することができ、プロセスレコーダーソフトウエア354はコンピューターに関するイベント関連のデータを記録することができる。さらに、例えばスキャナー/プリンター214及びコンピューター220の双方、あるいは複数のコンピューター及び/又は複数のプリンターなど、複数の機器に記録されたイベント関連のデータは、他のソースから収集されたデータと、結合及び統合することができる。そして、イベント関連のデータの再生は、例えばスキャナー/プリンター214とコンピューター220のいずれか、及び/又は複数のソースから結合され統合されたイベント関連のデータの再生など、他のソースから取得されたイベント関連のデータの再生を含む。
【0063】
プロセス記録/再生ソフトウエア330a、プロセス記録/再生ソフトウエア330b、及びプロセスレコーダーソフトウエア354の一部またはすべては、一つ以上の再生部を有する。プロセス記録/再生ソフトウエア330a、プロセス記録/再生ソフトウエア330b、及び/又はプロセスレコーダーソフトウエア354の再生部は、記録されたイベント関連のデータの再生とそれに関連する処理を可能とするものである。例えば、プロセス記録/再生ソフトウエア330aの再生部は、スキャナー/プリンター214及び/又は例えばコンピューター220、スキャナー/プリンター216、プリントサーバーなど一つ以上の他の装置で発生したイベントの時系列シーケンスを示すように再生する。同様に、プロセス記録/再生ソフトウエア330bの再生部は、スキャナー/プリンター216及び/又は一つ以上の他の装置で発生したイベントの時系列シーケンスを示すように再生する。さらに、プロセスレコーダーソフトウエア354の再生部は、コンピューター220及び/又は一つ以上の他の装置で発生したイベントの時系列シーケンスを示すように再生する。
【0064】
一例として、プロセス記録/再生ソフトウエア330a、プロセス記録/再生ソフトウエア330b、及びプロセスレコーダーソフトウエア354の一部またはすべては、例えばデータファイル中のデータなど、記録されたイベント関連のデータから、イベント、データ及びタイムスタンプを含むイベント履歴レポート及び/又は図表を生成することができる。イベント履歴レポート及び/又は図表を生成するため、プロセス記録/再生ソフトウエア330a、プロセス記録/再生ソフトウエア330b、及びプロセスレコーダーソフトウエア354の一部またはすべては、不具合や問題を「再現する手順」のレポートを作成することができる。このレポートには、記録されたイベント関連のデータに基づくチャート、表、図式などが含まれる。イベント履歴レポート及び/又は図表の生成中、プロセス記録/再生ソフトウエア330a、プロセス記録/再生ソフトウエア330b、及びプロセスレコーダーソフトウエア354の一部またはすべては、ログから印刷ジョブを抽出し、一つ以上のコアダンプからコールスタック及び/又は他のデータを抽出する。その後、プロセス記録/再生ソフトウエア330a、プロセス記録/再生ソフトウエア330b、及びプロセスレコーダーソフトウエア354の一部またはすべては、際限の手順を表すレポートをスライドショー又は他の提示方法で出力する。レポートは、記録された音声/映像の再生、手順の読み上げ、ボタンや調節部の強調表示またはライトアップ、及びアニメーションや他の効果によって、記録されたプロセス、イベント及びデータの段階ごとの再生や再実行の形で出力される。
【0065】
図3は、一つ以上のデータファイル360及びプロセスレコーダーソフトウエア364を格納するプロセスレコーダーノード230を示している。図3に示すように、それぞれの装置に対してプロセスレコーディングを実行するプロセスレコーディングソフトウエア(および関連するハードウエア)には、外部記憶装置310のプロセスレコーダー起動プラグイン312、スキャナー/プリンター214、216それぞれのプロセス記録/再生ソフトウエア330a、330b、コンピューター220のプロセスレコーダー起動プラグイン342、344、352及びプロセスレコーダーソフトウエア354、プロセスレコーダーノード230のプロセスレコーダーソフトウエア364等がある。但し、当該プロセスレコーディングソフトウエアはこれらに限定されない。また図3によれば、プロセスレコーディングのために保存されたデータにはプロセスレコーダーノード230に保存された一つ以上のデータファイル360等があるが、これに限定されない。プロセスレコーディングを実行するためのさらなるソフトウエア及び/又はデータは、ネットワーク200内で、例えばコンピューター220、スキャナー/プリンター214、216、プロセスレコーダーノード230、外部記憶装置310、及び図3に図示されていないネットワーク200上の他の装置の一部またはすべてにおいて、利用及び/又は保存することが可能である。
【0066】
イベント関連のデータは、一つ以上のイベントの時系列シーケンスとして体系づけることができる。イベントの時系列シーケンスは、一つ以上の装置で発生するイベントに関連付けられる。例えば、スキャナー/プリンター214に関する一つのイベントの時系列シーケンスSEQ1は以下のものを含む。
【0067】
・イベント1:時点T1にて、スキャナー/プリンター214が印刷ジョブJ1到着の通知を受け取る
・イベント2:時点T1+1秒にて(以下、T1+1と略す)、スキャナー/プリンター214のプリンターエンジンが起動
・イベント3:時点T1+5、スキャナー/プリンター214が印刷ジョブJ1を検知
・イベント4:時点T1+15、印刷ジョブJ1がスキャナー/プリンター214にて実行可能となる
・イベント5:時点T1+15、スキャナー/プリンター214が印刷ジョブJ1の第1ページの印刷を開始
・イベント6:時点T1+15、印刷ジョブJ1の第1ページの印刷のため、スキャナー/プリンター214のグラフィックエンジンが起動
・イベント7:時点T1+18、印刷ジョブJ1の第1ページの印刷完了
・イベント8:時点T1+22、印刷ジョブJ1の第2ページの印刷完了
...
・イベント33:時点T1+122、印刷ジョブJ1の第27ページの印刷完了
・イベント34:時点T1+122、印刷ジョブJ1完了
・イベント35:時点T1+122、印刷ジョブJ1完了の通知を送信
・イベント36:時点T1+122、スキャナー/プリンター214のグラフィックエンジンが停止
・イベント37:時点T1+127、スキャナー/プリンター214のプリンターエンジンがスリープモードに
・イベント38:時点T1+130、スキャナー/プリンター214がアイドリング状態に。
【0068】
関連する例として、印刷ジョブJ1がコンピューター220からの指示であり、プロセスレコーディングがコンピューター220に対して実行される場合を考える。この場合、プロセスレコーダーソフトウエア354が実行するプロセスレコーディングには、コンピューター220からイベント関連のデータを捕捉することが含まれる。したがって、SEQ1は、スキャナー/プリンター214から捕捉したイベント関連のデータ及びコンピューター220から捕捉したイベント関連のデータの双方を含むよう、更新される。言い換えれば、SEQ1はコンピューター220で発生するイベントを含むよう更新される。例えば、SEQ1の更新には、以下のイベントを追加することが含まれる:
・イベント-2:時点T1-10、コンピューター220がユーザーから、文書D1をスキャナー/プリンター214で印刷する要求を受け取る
・イベント-1:時点T1-2、コンピューター220が文書D1を印刷せよという印刷ジョブJ1を生成する
・イベント0:時点T1-1、コンピューター220がスキャナー/プリンター214へ印刷ジョブJ1の送信開始
・イベント3.1:時点T1+14、コンピューター220からスキャナー/プリンター214への印刷ジョブJ1の送信完了
・イベント35.1:時点T1+123、コンピューター220がスキャナー/プリンター214から印刷ジョブJ1完了の通知を受け取る
・イベント35.2:時点T1+123、コンピューター220がスキャナー/プリンター214からの印刷ジョブJ1完了の通知を表示
この例ではSEQ1は、更新前のSEQ1のイベント1の前にイベント-2、-1、及び0を挿入し、更新前のSEQ1のイベント3の後にイベント3.1を挿入し、更新前のSEQ1のイベント35の後にイベント35.1及び35.2を挿入することで更新することができる。この例では、SEQ1のイベントは時間の進行方法に配列されている。すなわち、SEQ1のイベントは、イベントの時刻が増加/前進するように順序立てられている。他の例において、イベントの時系列シーケンスは時間と逆方向に、すなわちSEQ1のイベントは、イベントの時刻が減少/遡行するように体系づけられてもよい。他の例において、イベントの時系列シーケンスは、例えば複数の時間軸、装置基準の時間軸、指定された開始時刻と終了時刻に基づく時間軸など、他の態様で体系づけられてもよい。他の例において、SEQ1に含まれるものよりも多い、少ない及び/又は異なるイベントがイベントの時系列シーケンスに含まれてもよい。
【0069】
SEQ1の例において、SEQ1の生成に使用されたスキャナー/プリンター214からのイベント関連のデータは、プロセス記録/再生ソフトウエア330aによって捕捉、処理及び/又は保存することができ、SEQ1の生成(および更新)に使用されたコンピューター220からのイベント関連のデータは、一つ以上のプロセスレコーダープラグイン(PRI)342、344、352及び/又はプロセスレコーダーソフトウエア354によって捕捉、処理及び/又は保存することができる。
【0070】
プロセスレコーディングは、スキャナー/プリンター214及び/又はスキャナー/プリンター216などのプリンターから、310のような外部記憶装置及び/又は220のようなコンピューターを介して開始することができる。一例として、外部記憶装置310が初めにスキャナー/プリンター214などのプリンターと通信可能に接続されると、プロセスレコーダー起動プラグイン312がプリンターに対するプロセスレコーディングの起動を実行する。外部記憶装置310がスキャナー/プリンター214に通信可能に接続されている例においては、プロセスレコーディング中にプロセス記録/再生ソフトウエア330a及び/又はプロセスレコーダー起動プラグイン312によって捕捉されたイベント関連のデータは、スキャナー/プリンター214及び/又は外部記憶装置310に保存することができる。例えば、イベント関連のデータはスキャナー/プリンター214のメモリー、及び/又は外部記憶装置310のメモリーに保存することができる。
【0071】
イベント関連のデータは、例えばプロセスレコーダーノード230のような送信先ノードや、分散メモリーシステム232のようなリモート記憶装置など、一つ以上の他の装置に送信することができる。一例として、プロセスレコーディング中に捕捉されたイベント関連のデータは、保存も送信も可能である。言い換えれば、イベント関連のデータの第1のコピーは第1の装置に保存することができ、イベント関連のデータの第2のコピーは第1の装置以外の第2の装置に送信することができる。プロセスレコーディング中に捕捉されたイベント関連のデータは一つ以上のデータファイル、例えばプロセスレコーダーノード230に保存されたデータファイル360の一部またはすべてに保存可能であるが、保存先はこれらに限定されない。
【0072】
一例として、一つの装置で別の装置のプロセスレコーディングを起動及び/又は停止させることができる。例えば、コンピューターのユーザーがアプリケーション340aやアプリケーション340bなどのアプリケーションを用いて印刷を行う場合、アプリケーション中のソフトウエア及び/又は対応するプリンタードライバー(例えば、プロセスレコーダー起動プラグイン342、344、352)は、プリンターにプロセスレコーディングの起動を指示するコマンド、例えば@PJL SET Process_Recordを「オン」にする印刷ジョブコマンドを、印刷ジョブと共に送信する。一例として、アプリケーション中のソフトウエア及び/又は対応するプリンタードライバーは、例えば@PJL SET Process_Recordを「オフ」にする印刷ジョブコマンドを、印刷ジョブと共に送信する。
【0073】
プリンターにプロセスレコーディングを起動するよう指示するため、プリンタードライバーを用いて印刷ジョブと共にコマンドを送る例においては、プリンタードライバーは、プリンターにプロセスレコーディングを起動するよう指示するコマンドを印刷ジョブと共に送るか否かを個々のプリンター単位で制御するため、プリンター選択のためのユーザーインターフェースなどのユーザーインターフェースを有している。関連する例では、プロセスレコーダー起動プラグイン又はプリンタードライバーは、プリンターにプロセスレコーディングを起動するよう指示するコマンドを印刷ジョブと共に送るか否かを個々の印刷ジョブ単位で制御するため、ユーザーインターフェースを有していてもよい。プロセスレコーディングをリモートで制御するために他の技術を採用してもよい。
【0074】
図4は、一実施形態に係るプロセスレコーディングに関するユーザーインターフェースを表す図表400を示している。図4に示すプロセスレコーディングに関するユーザーインターフェースは、ダイアログ410、420、430である。ダイアログ410、420、430はそれぞれ、要素からなる。ここに記載のユーザーインターフェース、例えばダイアログ410、420、430、ユーザーインターフェース900、及び/又はユーザーインターフェース1000などの要素は、入力を受け付け及び/又は出力を行うのに使用されるユーザーインターフェースの特色をなすものである。ユーザーインターフェースの要素の例としては、ウインドウ、ダイアログ、領域、表示、メニュー(プルダウンメニューやシステムメニューなど)、アイコン、調節部、ボタン、キー、タブ、カーソル、ポインター、選択ボックス、インジケーター、設定部、チェックボックス、選択部等があるが、これらに限定されない。他の例において、ここに記載のユーザーインターフェースを実現するため、より多くの、より少ない及び/又は異なった要素、及び/又は要素の配置を採用してもよい。
【0075】
ダイアログ410は、プロセスレコーディングを印刷ジョブ単位で制御するため、ソフトウエアアプリケーションやプリンタードライバーなどのコンピューターソフトウエアによって実現されるユーザーインターフェースである。ダイアログ410は例えば、プロセスレコーディングの様々な側面を制御するための設定項目414、416a、416b、416c、416d、416eを含むタブ412を有する。他の例において、少なくとも印刷ジョブ単位でプロセスレコーディングの様々な側面を制御するため、設定項目414及び416a~416eよりも多くのまたはより少ない、及び/又は異なる設定項目、及び/又はダイアログ410とは異なるダイアログを採用してもよい。
【0076】
設定項目414が図4のようにチェックマークで有効とされると、印刷ジョブ単位でのプロセスレコーディングが可能となる。設定項目414が無効とされると、プロセスレコーディングは印刷ジョブ単位では可能とならないが、別の対象で、例えば特定のプリンターに対し、プリンタードライバーによってプリンター単位で可能とすることができる。ダイアログ410の場合、設定項目414を有効とすると、設定項目416a~416eによってプロセスレコーディングの様々な側面を制御することができる。ただし、設定項目414を無効とした場合、設定項目416a~416eは無視される。
【0077】
設定項目416aが図4のようにチェックマークで有効とされると、印刷ジョブが課された装置について印刷ジョブデータのプロセスレコーディングが可能となり、したがって印刷ジョブデータがプロセスレコーディング中に記録される。印刷ジョブデータとしては、印刷ジョブの回数データ、印刷ジョブのサイズ、印刷ジョブで印刷されるファイル名、印刷ジョブで印刷されるファイルのサイズ、印刷ジョブコマンド等があるが、これらに限定されない。設定項目416aが無効とされると、当該装置に対する印刷ジョブデータのプロセスレコーディングは不能となるので、印刷ジョブデータはプロセスレコーディング中に記録されない。一例として、設定項目416aは上記に加え又は上記の代わりに、プリンターにプロセスレコーディングを起動させるため印刷ジョブに関するレコーディング有効化コマンドを当該プリンターに送信するか否かを制御することができる。言い換えれば、設定項目416aが有効である場合、装置が発行した印刷ジョブに対するレコーディング有効化コマンドが送信され、設定項目416aが無効な場合は、装置が発行した印刷ジョブに対するレコーディング有効化コマンドは送信されない。
【0078】
レコーディング有効化コマンドは、例えばプリンターに直接送信されてもよく、印刷ジョブと共に送られるジョブチケットに含まれてもよく、印刷ジョブとは別に送られるジョブチケットに含まれてもよく、及び/又は印刷ジョブに含まれてもよく、その方式は先頭に追加でも、埋め込みでも、末尾に追加でもよい。以下、レコーディング有効化コマンドを伴ったジョブチケットを「プロセスレコーディングジョブチケット」と呼び、レコーディング有効化コマンドを伴った印刷ジョブを「プロセスレコーディング印刷ジョブ」と呼ぶものとする。すなわち、プリンターがレコーディング有効化コマンドを、例えばプロセスレコーディングジョブチケット又はプロセスレコーディング印刷ジョブを介して受け付けると、当該プリンターは自身に対するプロセスレコーディングを起動することができる。
【0079】
設定項目416bが図4のようにチェックマークで有効とされると、印刷ジョブの対象である印刷文書のプロセスレコーディングが可能となり、したがって各々の文書、ファイル及び/又は印刷ジョブの一部として印刷された他のデータのコピーが、プロセスレコーディング中に記録される。設定項目416bが無効とされた場合、印刷文書のプロセスレコーディングは不能となるので、文書、ファイル及び/又は印刷ジョブの一部として印刷された他のデータのコピーは、プロセスレコーディング中に記録されない。
【0080】
設定項目416cが有効とされると、プロセスレコーディング中に装置に対し行われるキーストローク及び/又は関連するボタンの押下に関するデータの記録が可能となる。設定項目416cが、図4のように設定項目416cのチェックボックスにチェックが入っていないため無効とされた場合、プロセスレコーディング中に装置に対し行われるキーストローク及び/又は関連するボタンの押下に関するデータの記録が不能となり、キーストローク及び/又は関連するボタンの押下に関するデータはプロセスレコーディング中に記録されない。
【0081】
設定項目416dが有効とされると、プロセスレコーディング中、装置に関する音声データの記録が可能となる。設定項目416dが、図4のように設定項目416dのチェックボックスにチェックが入っていないため無効とされた場合、プロセスレコーディング中の装置に関する音声データの記録が不能となり、したがって装置の音声データはプロセスレコーディング中に記録されない。
【0082】
設定項目416eが有効とされると、プロセスレコーディング中、装置に関する映像データの記録が可能となる。設定項目416eが、図4のように設定項目416eのチェックボックスにチェックが入っていないため無効とされた場合、プロセスレコーディング中の装置に関する映像データの記録が不能となり、したがって装置の映像データはプロセスレコーディング中に記録されない。
【0083】
ダイアログ420は、プロセスレコーディングをプリンター単位で制御するため、プリンタードライバーや他のソフトウエアによって実現されるユーザーインターフェースである。図4に示す例では、対象のプリンターはスキャナー/プリンター214である。ダイアログ420の設定項目中に設定項目422があり、この設定項目422にはダイアログ420の「全般」タグを選択することにより、アクセスできる。
【0084】
設定項目422が図4のようにチェックマークで有効とされると、プリンター単位でのプロセスレコーディングが可能となる。図4の具体例において、ダイアログ420は「プリンターSPD214プロパティ」を表すダイアログとして示されているので、ダイアログ420はその設定項目422において、特定のプリンター、すなわちプリンター「SPD214」についてプロセスレコーディングが可能となる旨を表示している。設定項目422が無効とされると、特定のプリンター、例えばSPD214に対するプロセスレコーディングは不能となるが、他の条件で、例えば特定のプリンターの設定を使用した場合や、印刷ジョブ単位とした場合などは可能である。プリンターごとのプロセスレコーディングを可能とするために、ダイアログ420を備える装置は、一つ以上のレコーディング有効化コマンド、一つ以上のプロセスレコーディングジョブチケット、及び/又は一つ以上のプロセスレコーディング印刷ジョブを、特定のプリンター宛に送信することができる。プリンター単位のプロセスレコーディングを可能とするためには、他の技術を採用することもできる。
【0085】
プロセスレコーディング、及び/又はプロセスレコーディング中に記録されたデータの再生は、一つ以上のユーザーインターフェースを介して行うことができる。プロセスレコーディング及び/又は記録されたイベント関連のデータの再生、例えばプロセスレコーディング中に記録された一つ以上のイベントの時系列シーケンスなどの再生は、ダイアログ430を用いて制御することができる。図4によれば、ダイアログ430はメニューとして選択項目432、434a、434b、434c、及び434dを有し、これらはそれぞれ、プロセスレコーディング及び/又はイベントのデータの再生の開始、再開、一時停止、停止、及び終了に対応している。他の例において、選択項目432、434a、434b、434c、434dより多くの、より少ない及び/又は異なる選択肢、及び/又はダイアログ430とは異なるダイアログを、少なくとも印刷ジョブ単位でのプロセスレコーディングの様々な側面を制御するために採用してもよい。
【0086】
選択項目432が図4のように太字のフォントとグレーのバーで選択されると、プロセスレコーディング及び/又は記録されたイベント関連のデータの再生が開始される、すなわち再生が実際に始まることを示している。一旦開始されると、プロセスレコーディング及び/又は記録されたイベント関連のデータの再生は、ダイアログ430及び/又は他のユーザーインターフェース要素によって一時停止、停止、再開、終了、又は他の状態に変更されるまで、継続して行われる。
【0087】
選択項目434a、434b、434c、434dが選択されるとプロセスレコーディング及び/又は記録されたイベント関連のデータの再生が再開、一時停止、停止、及び終了されることがそれぞれ示される。図4では、ダイアログ430内で434a、434b、434c、434dが表す項目は太字でない通常のフォントで表示され、かつ(選択項目432とは違って)434a、434b、434c、434dにはグレーのバーが付されていないので、選択項目434a、434b、434c、434dはいずれも選択されていない。
【0088】
プロセスレコーディング及び/又は記録されたイベント関連のデータの再生が再開される場合、プロセスレコーディング及び/又は記録されたイベント関連のデータの再生は、記録されたイベント関連のデータの最初から再開される。記録されたイベント関連のデータの再生が一時停止されると、再生の一時停止が解放されるか、再開、停止、または終了されるまで、再生中の記録されたイベント関連のデータの表示/提示は現在の個所で一時停止の状態となる。一例として、再生が一時停止されると、再生に関連付けられているコンピューター及び/又はプリンターもまた、一時停止の状態となる。
【0089】
ダイアログ430のユーザーは、その前に選択した選択項目434bを再度選択して一時停止を非選択の状態とする、及び/又は選択項目432及び/又は選択項目434aを選択してプロセスレコーディング及び/又は再生を開始または再開させる、すなわちプロセスレコーディング及び/又は再生の一時停止を解放することによって、プロセスレコーディング及び/又は再生を一時停止の状態ではなくすることができる。プロセスレコーディング及び/又は記録されたイベント関連のデータの再生が停止されると、再生の表示及び/又は提示が中止される。プロセスレコーディング及び/又は記録されたイベント関連のデータの再生が終了されると、記録されたイベント関連のデータの再生に使用されたアプリケーションが終了または解除され、再生の表示及び/又は提示が同様に終了する。
【0090】
プリンターに関わる問題は、プリンターのスキャン、印刷、FAX、ジョブ保存、コピー、及び/又は他の機能を使用しているときに発生及び/又は発見されることがある。これらの問題は、印刷ジョブ又は他のジョブの受付時、処理中、出力中、及び/又は終了時に発覚することがある。ある問題は、プリンターを、具体的にはプリンターのフロントパネル及び/又はボタン、プリンターカバー、トレイ、及び/又は扉を操作しているユーザー又はオペレーターに関連付けられる。これらの操作は、プリンターの諸問題の一部またはすべてに結びつくものである。これらの問題に関するデータは、プロセスレコーディングを用いて記録することができる。
【0091】
プロセスレコーディングは、少なくとも図3に関連して説明したような、プロセスレコーディングソフトウエアとの一つ以上のインターフェースを使用して、様々な装置に対して起動(又は停止)させることができる。例えば、プロセスレコーディングは、プリンタードライバー350などのプリンタードライバーを用いて、起動(又は停止)させることができる。別の例として、プロセスレコーディングは、プリンターのフロントパネル、例えばフロントパネルの「プロセス記録」ボタン(又は類似のボタン)を使って、起動(又は停止)させることができる。
【0092】
状況によっては、プロセスレコーディングの起動後、ユーザーが「再現手順」を実行してプリンターの問題や不具合を再現する場合がある。再現手順としては、プリンターの操作により設定を変更する、プリンターハードウエアを操作(例えば、扉、トレイ、カバー等の開閉)する、スキャン、FAX、印刷,及び/又はプリンターの他の機能を使用する等があるが、これらに限定されない。
【0093】
プロセスレコーディングソフトウエアは、起動されると、プロセスレコーディングの一環としてイベント関連のデータを捕捉し、捕捉したイベント関連のデータを含む一つ以上のプロセスレコーディングデータファイル(単に「データファイル」と略すこともある)を生成することができる。データファイルは他のファイルと同様に、読み出し、保存、コピー、伝送等を行うことができる。例えば、プロセスレコーディング中、特定の問題に関するイベント関連のデータを、プリンターにおいて「DF1」というデータファイルに捕捉することができる。その後、データファイルDF1はプリンターから当該プリンターのメーカーに送信され、上記特定の問題の解決が図られる。データファイルの読み出し、保存、コピー、伝送等は、プロセスレコーディングの起動後はいつでも、例えば再現の手順が実行された後でも、行うことができる。
【0094】
一例として、再生によって再現の手順に関連する指示を出すことができる。再現の手順に関連する指示が遵守されない場合、再生が再開される。これは、再現の手順の逸脱によってそれより前に記録されたデータの再生が不正確となる恐れがあるため、再生を再開するようになっているからである。再現の手順に関連する指示が遵守されない場合、再現の手順が守られていないため再生を再開しますという趣旨の警告メッセージが出力される。
【0095】
プロセスレコーディングは、プリンター及び/又はプリンターとは別のコンピューターにおけるイベントを記録することも含む。プリンター関連の問題/不具合は、コンピューターで発生するイベント、例えば文書編集アプリケーションに関するイベント、コンピューターを使ってなされたプリンターの設定に関するイベント、コンピューターから順次送られてプリンタースプーラーで待機中の文書に関するイベント、に起因して発生するので、プロセスレコーディングをコンピューターに対して行うとよい。そして、コンピューターで発生するイベントは、コンピューターの文書からどのようにして誤った印刷ジョブが作成されたか、コンピューターがどのように印刷用の文書を用意したか、コンピューターのプリンタードライバーがどのように誤った印刷ジョブを出力したか、コンピューターがどのようにして誤った印刷ジョブをプリンターに送信したか、などについて十分に理解できるよう、プロセスレコーディングソフトウエアによって記録する。
【0096】
プロセスレコーディング中に捕捉されるデータの種類は、少なくともダイアログ410に関して説明したように構成することができる。一例として、ダイアログ410のようなユーザーインターフェースは、プロセスレコーディング中にどのような種類のデータ(属性の特定)を、どのような分量(量)で、どのような頻度で(タイミング)捕捉又は収集するのかについて、ユーザーによる制御を可能とするものである。
【0097】
図5は、プロセスレコーディング動作を制御する方法500の一実施形態を示すフローチャートである。特に、方法500は、少なくとも図3に関して説明したような、スキャナー/プリンター214、216などのプリンター及びコンピューター220のようなコンピューターにおいて、プロセスレコーディングを制御する方法の一例を示すものである。方法500は、コンピューター100のようなコンピューターによって実行することができる。図5においてコンピューターは装置Dとして表されており、以下、コンピューターを装置Dと称する。
【0098】
方法500はブロック510から始まり、ここでは装置Dが自身に対するプロセスレコーディングを制御するための入力Iを受け付ける。プロセスレコーディングを制御する入力Iとしては、プロセスレコーディングの起動に関する入力、プロセスレコーディングの停止に関する入力、プロセスレコーディングの主要点に関する入力(例えば、入力パラメーター、一つ以上の種類の情報を記録するか否かの制御)等があるが、入力Iはこれらに限定されない。
【0099】
ブロック520において、装置Dは自身がプリンターであるか否かを判定する。装置Dがプリンターである場合、装置Dはブロック522へ進む。プリンターではなければ、装置Dは自身がプリンターではないと判定し、ブロック540へ進む。
【0100】
ブロック520における判定と方法500を示すフローチャートに基づき、ブロック522、530、532によって装置Dはプリンターであると決定される。
【0101】
ブロック522では、プリンターDは入力Iが外部記憶装置、例えば外部記憶装置310のプロセスレコーダー起動プラグイン312から受け付けたものか否かを判定する。プリンターDが入力Iを外部記憶装置から受け付けたと判定した場合、プリンターDはブロック530へ進む。そうでない場合、プリンターDは入力Iが外部記憶装置から受け付けたものではないと判定し、ブロック532へ進む。
【0102】
ブロック530ではプリンターDは、装置Dにおけるプロセスレコーディングを制御するための入力Iを、外部記憶装置、例えば外部記憶装置310のプロセスレコーダー起動プラグイン312のようなプラグインから、受け付ける。ブロック530の手順が完了すると、プリンターDはブロック540へ進む。
【0103】
ブロック532ではプリンターDは、装置Dにおけるプロセスレコーディングを制御するための入力Iを、例えばフロントパネル又は他のユーザーインターフェースなど、装置Dのユーザーインターフェースから受け付ける。
【0104】
ブロック540において、装置Dは自身がコンピューターであるか否かを判定する。装置Dがコンピューターである場合、装置Dはブロック542へ進む。コンピューターでない場合、装置Dは自身がコンピューターでないと判定し、ブロック560へ進む。
【0105】
ブロック540における判定と方法500を示すフローチャートに基づき、ブロック542、550、552によって装置Dはコンピューターであると決定される。ブロック542では、コンピューターDは入力Iが外部記憶装置からではなくプリンタードライバーから受け付けたものであるか否かを判定する。コンピューターDが入力Iをプリンタードライバーから受け付けたと判定した場合、コンピューターDはブロック550へ進む。そうでない場合、コンピューターDは入力Iがプリンタードライバーから受け付けたものではないと判定し、ブロック552へ進む。
【0106】
ブロック550においてコンピューターDは、例えばダイアログ410又はダイアログ420などのプリンタードライバーのユーザーインターフェースからの入力Iに基づいて、コンピューターD及び/又は対応するプリンターにおけるプロセスレコーディング動作、例えばプリンタードライバーによってアクセス可能とされたプリンターにおけるプロセスレコーディング動作を制御する。ブロック550の手順が完了すると、コンピューターDはブロック560へ進む。
【0107】
ブロック552では、コンピューターDは、プリンタードライバーとは異なるソース、例えばソフトウエアアプリケーションから受け付けた入力Iを使用して、コンピューターD及び/又は対応するプリンター、例えばソフトウエアアプリケーションに関連する文書を印刷するのに用いられるプリンターにおけるプロセスレコーディング動作を制御する。入力Iは他のソースのユーザーインターフェース、例えばダイアログ410又は420から入力されてもよい。
【0108】
ブロック560で、方法500は終了する。他の例においては、ブロック560で装置Dはプロセスレコーディング動作の制御に関する追加の入力を待機してもよい。当該追加の入力があった場合、装置Dはブロック510に進んで追加の入力を受け付けることができる。
【0109】
図6は、一実施形態に係るプロセスレコーディングを実行する方法600を示すフローチャートである。方法600は、コンピューター100のようなコンピューターによって実行することができる。図6においてコンピューターはコンピューターCDとして表されており、以下、コンピューターをコンピューターCDと称する。
【0110】
方法600に関して説明される例では、コンピューターCD及びプリンターPの二つの装置が、プロセスレコーディングに関与している。関連する他の例では、上記より多くの、より少ない、及び/又は異なる装置がプロセスレコーディングに関与してもよい。例えば、プロセスレコーディングは、複数のコンピューター及び/又は複数のプリンター上で実行されてもよく、単一の装置(プリンター又はコンピューター)上で実行されてもよい。当業者であれば、ここに開示された説明に基づき、方法600を他の関連する状況に適用する方法に、容易に想到できるであろう。
【0111】
方法600はブロック610から始まり、ここでは、コンピューターCDはプリンターPを、コンピューターCD用の現行の及び/又はデフォルトのプリンターとする。
【0112】
ブロック620において、コンピューターCDはプロセスレコーディングをコンピューターCD上及び/又はプリンターP上で起動するか否かを決定する。コンピューターCDがプロセスレコーディングをコンピューターCD上及び/又はプリンターP上で起動すると決定した場合、コンピューターCDはブロック630に進む。そうでない場合、コンピューターCDはプロセスレコーディングをコンピューターCD上でもプリンターP上でも起動しないと決定し、ブロック622に進む。
【0113】
ブロック622において、コンピューターCDは、コンピューターCD上及び/又はプリンターP上の、前回記録されたイベント関連のデータ/プロセスレコーディング中に前回記録されたデータを廃棄する。一例として、プリンターは、ブロック622に示された手順の一部またはすべてを実行することができる。例えば、プリンターPは、当該プリンターP上の、前回記録されたイベント関連のデータ/プロセスレコーディング中に前回記録されたデータを廃棄することができる。一例として、前回記録されたイベント関連のデータは、当該前回記録されたイベント関連のデータを削除する特定のコマンドに応答する場合以外は、削除されない。一例として、コンピューターCDはプロセスレコーディングをコンピューターCD上でもプリンターP上でも起動しないとブロック620で決定してからブロック630に進むことができ、この場合はブロック622の手順を省略することができる。
【0114】
ブロック630においてコンピューターCDは必要に応じて、すなわちP及び/又はCD上でのプロセスレコーディングがこれらの一方又は双方でまだ開始されていない場合に、プリンターP上及び/又はCD上でプロセスレコーディングを開始することができる。一例として、プリンターはブロック630に示された手順の一部またはすべてを実行することができる。例えばプリンターPは、当該プリンターP上でプロセスレコーディングを開始することができる。
【0115】
ブロック640において、コンピューターCDはプロセスレコーディングによって記録されるべきイベントを実行する。これらのイベントは例えば、プリンターPにおける問題を再現する手順を含む。ブロック640では例えば、コンピューターCDは印刷ジョブJを開始することを試み、プリンターPは印刷ジョブJを受け付けて処理することを試みる。
【0116】
ブロック650において、コンピューターCDはプロセスレコーディングによって記録されるべきイベントがすべて記録されたか否かを判定する。例えば、コンピューターCDはプロセスレコーディングを終了する旨のコマンド又は他の入力を受け付け、それに基づいて、プロセスレコーディングによって記録されるべきイベントがすべて記録されたと推定する。コンピューターCDは、プロセスレコーディングによって記録されるべきイベントがすべて記録されたと判定した場合、ブロック652に進む。そうでない場合、コンピューターCDは、プロセスレコーディングによって記録されるべきイベントのすべてはまだ記録されていないと判定し、ブロック640に進む。
【0117】
ブロック652においてコンピューターCDは、コンピューターCD及び/又はプリンターPに対するプロセスレコーディングを終了する。
【0118】
ブロック654において、コンピューターCDは、プロセスレコーディング中にコンピューターCDで発生したイベントを表すトークンと共に一つ以上のデータファイルDF_CDを生成する。すなわち、データファイルDF_CDから生成された一つのトークンは、コンピューターCDで発生してプロセスレコーディング中に記録されたイベントの一部またはすべてを表している。さらに、データファイルDF_CDから生成された、時系列で体系づけられたトークンの集合は、コンピューターCDで発生してプロセスレコーディング中に記録されたイベントの時系列シーケンスを表すものである。
【0119】
ブロック656においてコンピューターCDは、プロセスレコーディング中にプリンターPで発生したイベントを表すトークンと共に一つ以上のデータファイルDF_P1を生成する。すなわち、データファイルDF_P1から生成された一つのトークンは、プリンターPで発生してプロセスレコーディング中に記録されたイベントの一部またはすべてを表している。さらに、データファイルDF_P1から生成された、時系列で体系づけられたトークンの集合は、プリンターPで発生してプロセスレコーディング中に記録されたイベントの時系列シーケンスを表すものである。
【0120】
例えば、ブロック654及び/又は656で、プロセスレコーディング中に記録されたデータは、トークン化、又は他の態様で変換して、トークンを生成することができる。トークンは関連するデータに対応付けられている。トークンとしては以下のようなものがあるが、これらに限定されない。
【0121】
・プロセスレコーディングファイルの始まりを示すトークン
・プロセスレコーディングファイルの終わりを示すトークン
・プリンタープロセスが開始されたイベントを示すトークン
・プリンタープロセスが終了したイベントを示すトークン
・印刷ジョブが生成されたイベントを示すトークン
・印刷ジョブがプリンターおよび/または関連する装置、例えば、プリントサーバーやプリントスプーラーなどに送信されたイベントを示すトークン
・印刷ジョブがプリンター及び/又は関連する装置に受け付けられたイベントを示すトークン
・印刷ジョブがプリンター及び/又は関連する装置において正しく完了できなかったイベントを示すトークン
・プリンター及び/又は関連する装置において、例えば全ページのうち1ページ以上だけ印刷された、文書の複数のコピーを印刷する印刷ジョブにおいて1枚だけ印刷されたなど印刷ジョブの一部だけが完了したイベントを示すトークン
・印刷ジョブがプリンター及び/又は関連する装置において正しく完了したイベントを示すトークン
・例えばプリンターの扉、トレイ、レバー、カバー、フロントパネル及び/又は操作パネルが動かされた、付属装置が作動不可、故障、あるいは検査されたなど、プリンターの付属装置に関連して発生したイベントを示すトークン
・例えばプリンターのフロントパネルのボタンが押下された、データがフロントパネルに表示された、印刷ジョブ完了の通知が送信及び/又は表示されたなど、ユーザーインターフェースに関連して発生したイベントを示すトークン。
【0122】
トークンに関連するデータとしては以下のようなものがあるが、これらに限定されない。
【0123】
・タイミングデータ、例えばトークン及び関連するデータによりデータファイルに記録されたイベントが発生した時点のタイムスタンプ、
・装置特定データ、例えばトークン及び関連するデータによりデータファイルに現在記録されているイベントを記録したコンピューターCD及び/又はプリンターPを示す一つ以上の識別子、
・付属装置特定データ、例えばトークン及び関連するデータにより記録されたイベントに関連する、コンピューターCD及び/又はプリンターPのトレイ、扉、カバーなどの付属装置を示す一つ以上の識別子
・印刷ジョブ特定データ、例えばトークン及び関連するデータにより記録されたイベントに対応付けられた印刷ジョブの実行中に、印刷または他の方法で処理されている一つ以上の印刷ジョブ名、番号、及び/又は他の識別子、一つ以上の文書名、番号、及び/又は他の識別子
・トークン及び関連するデータにより記録されたイベントに対応付けられたユーザーインターフェースからの入力を示す、ユーザー入力データ
・トークン及び関連するデータにより記録されたイベントに対応付けられたユーザーインターフェースへの出力を示す、ユーザー出力データ。
【0124】
図7は、プロセスレコーディング中に記録されたイベントに関連するデータファイル710、730を示す。データファイル710、730はそれぞれ、プリンター及び/又はコンピューターにおける問題を診断し実証するのに役立つものである。より具体的には、データファイル710は、例えば方法600で述べたプリンターPで発生したイベントに関して記録されたデータを示している。データファイル730は、例えば方法600で述べたコンピューターCDで発生したイベントに関して記録された、イベント関連のデータを示している。データファイル710及び/又はデータファイル730のようなデータファイルは、例えばXML形式、テキスト形式、及び/又はcomma-separated value(CSV)形式など、一つ以上の形式にフォーマットすることが可能である。一例として、データファイルはデータストリーム及び/又は電子ファイルとして提供される。
【0125】
図7に表されたデータファイル710、730は、当該データファイル710、730に保存されたデータ、例えばイベント関連のデータなどがどのようにレポートまたは再生されるかを示す例である。他の例において、データファイル710、730に保存された例えばイベント関連のデータは、プリンター及び/又はコンピューターのユーザーインターフェース(例えば、GUI)、及び/又は携帯電話、タブレット、又は他のコンピューターなどの接続機器を用いて表示することが可能である。
【0126】
データファイル710、730はそれぞれ多数のデータファイルレコードを有し、各レコードは三つのフィールドを有する。他の例において、データファイル710及び/又はデータファイル730はこれより多くの又は少ない、及び/又は異なるレコード、及び/又はこれより多くの又は少ない、及び/又は異なるフィールドを有する。図7では、レコードはデータファイル710及びデータファイル730のそれぞれの行として表され、フィールドはデータファイル710及びデータファイル730のそれぞれの欄として表されている。データファイル710の三つのフィールドは、タイムスタンプ720、イベント/データ722、及び付帯情報724とされている。同様に、データファイル730の三つのフィールドは、タイムスタンプ740、イベント/データ742、及び付帯情報744とされている。
【0127】
データファイル710、730のイベント/データフィールドは、各データファイルのトークンを表す。例えば、データファイル710のイベント/データフィールド722には、「構成設定」、「トレイ1を開く」、「トレイ1にレターをセット」、「トレイ1を閉じる」、「スリープモード、オン」、およびその他のプリンターに関するトークンが示されている。関連する例では、データファイル730のイベント/データフィールド742には、「プリンター設定」、「印刷ジョブ作成」、「印刷ジョブ開始」、「**プリントエラー通知**」、及び「**ジョブキャンセル通知**」など、コンピューターに関するトークンが示されている。
【0128】
データファイル710、730のタイムスタンプ及び付帯情報フィールドは、各データファイルのトークンに関連したデータを表す。例えば、データファイル710のタイムスタンプフィールド720にはイベント/データフィールド722にトークンで示されたイベントがいつ記録されたかを示すタイミング情報が記録され、付帯情報フィールド724には、記録されたイベントに関するさらなるデータが示される。例えば、データファイル710の1列目はタイムスタンプフィールド720であって、「構成設定」トークンに関するデータが時刻「7/28/2018 01:55:01PM」にプリンターについて記録されたことを示しており、当該トークンに対応する付帯情報フィールド724には「settings.log」と記録された関連データが示されている。すなわち、構成設定に関する付帯情報が「settings.log」というファイルで得られることが示されている。
【0129】
別の例として、データファイル730のタイムスタンプフィールド740にはイベント/データフィールド742にトークンで示されたイベントがいつ記録されたかを示すタイミング情報が記録され、付帯情報フィールド744には、記録されたイベントに関するさらなるデータが示される。例えば、データファイル730の1列目はタイムスタンプフィールド740であって、「プリンター設定」トークンに関するデータが時刻「7/28/2018 02:15:03PM」にコンピューターについて記録されたことを示しており、当該トークンに対応する付帯情報フィールド744には、「SPD214/トレイ1/レター」と記録された関連データが示されている。すなわち、プリンター設定として、プリンター「SPD214」の「トレイ1」に「レター」タイプの用紙がセットされたことが示されている。
【0130】
その他多数の例が考えられる。他の例において、データファイル710及び/又は730のトークンは、図7に示したものと異なっていてもよい。例えば、トークンは数字や、他の順序立てられた記号(例えば、文字、順序立てられた英数字ラベルなど)で表すことができる。このような例では、分岐テーブル、参照テーブル、又は類似のデータ構造に、トークンを処理する機能、例えばトークンを使用して記録されたイベントを再生する機能を配置する指標として(数値又は連続的な記号による)トークンを用いることができる。関連する例においては、(数値又は連続的な記号による)トークンを、トークンの処理のためにスイッチステイトメント又は類似のコード構造において使用することができる。他の関連する例においては、トークンは数字や他の順序立てられた記号に変換することができ、当該数字や他の順序立てられた記号はトークンの処理に用いることができる。
【0131】
図6に戻り、ブロック658においてコンピューターCDは一つ以上のデータファイルDF_CD及びDF_P1を、保存及び/又は再生のため一つ以上の他の装置に送信する。他の装置としては、一つ以上のコンピューター及び/又は一つ以上のプリンター、例えばプロセスレコーダーノード230の一つ以上のプロセスレコーダーノード、分散メモリーシステム232の一つ以上のコンピューター等があるが、他の装置はこれらに限定されない。一例として、プリンターPはデータファイルDF_CD及びDF_P1の一部またはすべてを保存することができる。これらの例において、プリンターPは一つ以上のデータファイルDF_CD及びDF_P1を、保存及び/又は再生のため一つ以上の他の装置に送信することができる。
【0132】
ブロック670にて、方法600が終了する。
【0133】
プロセスレコーディングによって保存されたデータ、例えば方法600で生成されたデータファイルDF_CD及び/又はDF_P1は、例えばプロセス記録/再生ソフトウエア330a、プロセス記録/再生ソフトウエア330b、及び/又はプロセスレコーダーソフトウエア354の一つ以上の再生部を使用することにより、再生することが可能である。
【0134】
再生部は、プロセスレコーディング中に記録されたデータを解析し、解析されたデータのプレゼンテーションを生成し、解析されたデータのプレゼンテーションを表示及び/又は他の方法で提示することにより、プロセスレコーディング中に記録されたデータを再生することができる。プロセスレコーディング中に記録されたデータの解析には、一つ以上のトークンについてプロセスレコーディング中に記録されたデータを検証すること、及び/又はプロセスレコーディング中に記録されたデータから一つ以上のトークンを生成することが含まれる。その後、再生部はトークンを処理して、解析したデータのプレゼンテーションを生成し、生成したプレゼンテーションを提示する。
【0135】
例えば、プロセスレコーディング中に記録されたデータのトークンT1が印刷ジョブに関連している場合を考える。再生部はトークンT1に対し、その時点で受領した印刷ジョブXにタイムスタンプを押し、プロセスレコーディング中に記録されたデータから印刷ジョブXに関するデータを抽出し、印刷ジョブXに関するデータのプレゼンテーションを生成するという処理を行う。別の例として、プロセスレコーディング中に記録されたデータのトークンT2がプリンターのフロントパネルのボタン押下に関連している場合を考える。この場合再生部はトークンT2に対し、ボタン押下時のタイムスタンプを押し、プロセスレコーディング中に記録されたデータからボタン押下に関するデータを抽出し、ボタン押下に関するデータのプレゼンテーションを生成するという処理を行う。一例として、再生部は、データファイル710、730に使用された、少なくとも図7に関する説明で述べたようにイベント/データに関連するトークン、タイムスタンプ、及び付帯情報を含むフォーマットで、データのプレゼンテーションを保存することができる。
【0136】
一例として、再生部はデータのプレゼンテーションを、例えば文書処理形式、表形式、スライドショー形式、PDL形式、及び/又は一つ以上の他の形式など、他のフォーマットで保存することができる。一例として、再生部は解析されたデータのプレゼンテーションを、GUI及び/又はプリンターの他のユーザーインターフェース(例えばフロントパネル)、及び/又は例えば一つ以上のタブレット、ラップトップ、デスクトップ、モバイル機器、その他のコンピューターなど、一つ以上のコンピューターの一つ以上のGUIを用いて提示することができる。
【0137】
一例として、再生部は、プロセスレコーディング中に記録されたイベントの時系列シーケンスを生成、保存し、及び/又はそのシミュレーションを提示することができる。再生部は、プロセスレコーディング中に記録されたデータを解析する。そして再生部は、印刷ジョブ、フロントパネルイベント、トレイイベント、及び/又はプロセスレコーディング中に記録された他のイベントを、捕捉された順序で、すなわちイベントに関するデータがデータファイル又はプロセスレコーディング中に記録されたデータに記録された順序に基づく時系列で、実行及び/又はシミュレートすることができる。ユーザーが関与しているイベントでは、再生部はフロントパネル又は他のユーザーインターフェースに、ユーザーが関与している一つ以上のイベントをどのように操作するか、例えばフロントパネルのどのボタンを押せばよいか、プリンターのどの扉、どのカバー、及び/又はどのトレイを開閉すればよいか、どのレバーを上げ下げ及び/又は他の方向に動かせばよいか、などについてガイダンスを表示することができる。
【0138】
再生部は、イベントの時系列シーケンスのシミュレーションを生成することができる。このシミュレーションでは、シミュレーション中の任意の時点で、イベントの時系列シーケンスのうちどの特定のイベントが表示/提示されているかを示すことができる。特定のイベントは、例えば模擬の又は実際のフロントパネルなどのユーザーインターフェース上で当該特定のイベントを強調表示することで提示することができる。当該提示は、全画面表示、一部画面表示及び/又は透かし表示のいずれでもよい。当該提示は、特定のイベントに関連するユーザーインターフェース要素を強調する形態、例えば選択したボタンが点灯するか照射される、及び/又は異なるアイコン、色、及び/又は形状となるなどの形態で行われてもよい。
【0139】
一例として、シミュレーションは、操作されている付属装置、及び/又は例えばプリンターの扉、トレイ,レバー、カバー、及び/又は操作パネルなどの付属装置を操作する指示をシミュレートすることができる。これらに関する例においては、シミュレーションの指示に応じて付属装置を動かすまで、装置の動作が一時停止する。例えば、シミュレーションの指示に応じてレバーを上下するまで、プリンターの印刷動作が中断される。
【0140】
一例として、再生部はイベントの時系列シーケンスを実働として再生することができる。例えば、イベントの時系列シーケンスが印刷ジョブJOB1をプリンターPRT1に送信することを含んでいる場合、再生部はプロセスレコーディング中に保存されたデータからJOB1を抽出し、JOB1をPRT1に送信し、それによりPRT1は印刷ジョブJOB1を実行する。これらの例において、プリンター及び/又はコンピューターは実働再生中に、イベントの時系列シーケンスの少なくとも一部を実行することができ、ユーザーインターフェース、装置、及び付属装置の動作の少なくとも一部はプロセスレコーディング中に記録されたものと同じ実働再生中に発生する。例えば、表示や通知は表示可能であり、発光ダイオードは点滅又は発光し、用紙は給紙されてプリンターによって印刷される。実働再生中に装置の故障や、開始されたプロセスが異常終了するなどの問題が発生した場合、コンピューター及び/又はプリンターは、問題に関する及び/又は問題が発生した旨を示す警告の動画及び/又はメッセージを表示する。
【0141】
一例として、プロセスレコーディングソフトウエアは、問題の診断と解決を支援するべく、再生中に問題が再現された旨を提示する。一例として、プロセスレコーディングソフトウエアは、再現/複製されている問題の発生中、又は発生後に当該問題が再現された旨を提示することができる。重大又は致命的なエラー(例えばシステム崩壊やフリーズなど)に関わる問題の場合、プロセスレコーディングソフトウエアは再生の一部として、重大又は致命的なエラーが発生し、かつ当該エラーは予期されていた旨のメッセージ又は他の形態の提示を出力する。当該メッセージ又は提示は、エラーは予期せぬものではなく再生中に予期されていたことを示すものである。1つの実施形態として、プロセスレコーディングソフトウエアは、予期されたエラーのメッセージ又は提示を出力するためソフトウエア割り込みを実行する、システムレベルのサービスを提供する。一例として、プロセスレコーディングソフトウエアは、例えば予期されたエラーに先立ち、警告メッセージを出力するなど、予期されたエラーが発生しかかっている旨のメッセージ又は他の提示を出力する。一例として、プロセスレコーディングソフトウエアは、予期されたエラーに先立ち警告メッセージを発し、当該予期されたエラーが実際に発生する直前に、コンピューター及び/又はプリンターを一時停止させる。一時停止の間、プロセスレコーディングソフトウエアは、再生を継続するか中止するかについて入力を要求する。再生を継続する入力を行った場合、予期されたエラーが発生し、重大又は致命的なエラーにつながる恐れがある。
【0142】
図8は、一実施形態に係る、プリンターについて記録されたデータを再生する方法800を示すフローチャートである。方法800は、例えばコンピューター100などのコンピューターで実行できる。
【0143】
方法800はブロック810から始まり、ここでコンピューターはデータファイルDFを開く。データファイルDFには、ここに記載のプロセスレコーディング技術によって取得されたイベント関連のデータが保存されている。一例として、コンピューターは、ブロック810で複数のデータファイルを開くことができる。
【0144】
ブロック812において、コンピューターは、データファイルDFから、トークンTKを解析又は決定する。一例として、コンピューターは、データファイルDFのデータを解析し、それによりトークンTKを決定する。一例として、トークンTKはデータファイルDFに記録することができ、したがってトークンTKは、データファイルDFのデータを明示的に解析しなくとも、データファイルDFから取得することができる。一例として、コンピューターは、ブロック812においてデータファイルDFの解析及び/又は他の方法で複数のトークンTKを決定することができる。トークンTKを解析、決定、及び/又は他の方法で取得するのに他の技術を採用することも可能である。
【0145】
ブロック820において、コンピューターはトークンTKがファイル終端トークンであるか否かを判定する。トークンTKがファイル終端トークンであれば、コンピューターはブロック822に進む。そうでなければ、コンピューターはトークンTKがファイル終端トークンではないと判定し、ブロック830に進む。
ブロック822で、方法800は終了する。
【0146】
ブロック830において、コンピューターはトークンTKが、プリンターによるプリンタープロセスP1の開始を表すプリンタープロセス開始トークンであるか否かを判定する。プリンタープロセスP1は、プロセス、スレッド、あるいは印刷ジョブの一部またはすべてを実行する、及び/又はプリンターの他の機能を実行する類似の構造であってよい。トークンTKがプリンタープロセス開始トークンであれば、コンピューターはブロック832に進む。そうでなければ、コンピューターはトークンTKがプリンタープロセス開始トークンではないと判定し、ブロック840に進む。一例として、プリンタープロセス開始トークンは、プリンター上でプロセスを開始する以外の、他の種類の一つ以上のイベントの開始を表すものである。
【0147】
ブロック832において、コンピューターはプリンタープロセスP1の開始を動画及び/又は他の態様で表示する。
【0148】
ブロック834において、コンピューターはプリンタープロセスP1の機能を、直接(例えば、コンピューターがプリンタープロセスP1に対応するプリンターである場合、プリンタープロセスP1を開始し実行する)、または間接的に(例えば、コンピューターがプリンタープロセスP1に対応するプリンターでない場合、プリンタープロセスP1に対応するプリンターに対し、プリンタープロセスP1を開始し実行するようコマンドを送信するか、他の方法で指示する)、開始し実行することができる。プロセスP1の例としては、色の登録プロセス、色のキャリブレーションプロセス、再セットアッププロセス、メモリー初期化プロセス、ディスク関連のプロセス及び/又はプロファイリングプロセス等があるが、これらに限定されない。ブロック834の処理が完了すると、コンピューターはブロック812に進む。
【0149】
ブロック840において、コンピューターはトークンTKがプリンター以外の装置でのプロセス又はイベントE1の開始を表す他装置プロセストークンであるか否かを判定する。トークンTKが他装置プロセストークンであれば、コンピューターはブロック842に進む。そうでなければ、コンピューターはトークンTKが他装置プロセストークンではないと判定し、ブロック850に進む。
【0150】
ブロック842において、コンピューターはプロセス又はイベントE1の開始を動画及び/又は他の態様で表示する。
【0151】
ブロック844において、コンピューターはプロセス又はイベントE1の機能を、直接(例えばコンピューターが、ブロック840で述べたプロセス又はイベントE1に対応づけられたプリンター以外の装置である場合、プロセス又はイベントE1を開始し実行する)、または間接的に(例えばコンピューターが、ブロック840で述べたプロセス又はイベントE1に対応づけられたプリンター以外の装置でない場合、当該プロセス又はイベントE1に対応づけられたプリンター以外の装置に対し、プロセス又はイベントE1を開始し実行するようコマンドを送信するか、他の方法で指示する)、開始し実行することができる。ブロック844の処理が完了すると、コンピューターはブロック812に進む。
【0152】
ブロック850において、コンピューターは、トークンTKが、プリンターの付属装置に関連したイベントSE1を表す付属装置イベントトークンであるか否かを判定する。トークンTKが付属装置イベントトークンであれば、コンピューターはブロック852に進む。そうでなければ、コンピューターはトークンTKが付属装置イベントトークンではないと判定し、ブロック860に進む。
【0153】
ブロック852において、コンピューターは、ブロック850で述べたプリンターの付属装置についての、当該付属装置の動きに関する情報及び/又は他の情報(例えば状態情報、診断情報など)を、動画及び/又は他の態様で表示する。
【0154】
ブロック854において、コンピューターは、ブロック850で述べたプリンターの付属装置を、ブロック852で表示された動画や提示に従い、必要に応じて動かす要求を表示する。これによりプリンターの付属装置が(例えばプリンターのユーザーによって)要求に従って動かされる。ブロック854の処理が完了すると、コンピューターはブロック812に進む。
【0155】
ブロック860において、コンピューターはトークンTKが、ユーザーインターフェースを用いて装置の一つ以上の設定に関するデータを追加、削除、更新、及び/又はチェックする、及び/又は装置上で他のユーザーインターフェース動作を実行することに関連するイベントUS1を表す、ユーザー設定トークンであるか否かを判定する。イベントUS1は例えば、プリンターのユーザーインターフェース及び/又はコンピューターのユーザーインターフェースを介してデータを受け取ること、プリンターのユーザーインターフェース及び/又はコンピューターのユーザーインターフェースを介してデータを送ること、プリンターのユーザーインターフェース及び/又はコンピューターのユーザーインターフェースの要素(キーやボタンなど)を作動させること、プリンターのユーザーインターフェース及び/又はコンピューターのユーザーインターフェースの要素(キーやボタンなど)を有効化すること、及び/又はプリンターのユーザーインターフェース及び/又はコンピューターのユーザーインターフェースの要素(キーやボタンなど)を無効化することなどに関連するイベントである。
【0156】
トークンTKがユーザー設定トークンである場合、コンピューターはブロック862に進む。そうでない場合、コンピューターはトークンTKがユーザー設定トークンではないと判定し、ブロック870に進む。
【0157】
ブロック862において、コンピューターは、装置の設定のためにユーザーインターフェースを使用することに関する、及び/又は装置における他のユーザーインターフェース動作に関するイベントUS1を、動画及び/又は他の態様で表示する。
【0158】
ブロック864において、コンピューターは、直接(コンピューターがブロック860で述べた装置である場合)、または間接的に(例えば、ブロック860で述べた装置に対し、設定を適用する及び/又はブロック860で述べた装置上でユーザーインターフェース動作を実行するようコマンドを送信するか、他の方法で指示する)、装置の設定を適用する、及び/又は装置上でユーザーインターフェース動作を実行する。ブロック864の処理が完了すると、コンピューターはブロック812に進む。
【0159】
ブロック870において、コンピューターはトークンTKが、印刷ジョブ及び/又は印刷ジョブに関連するデータに関するイベントPJDを表す印刷ジョブトークンであるか否かを判定する。トークンTKが印刷ジョブトークンである場合、コンピューターはブロック872に進む。そうでない場合、コンピューターはトークンTKが印刷ジョブトークンではないと判定し、トークンTKはエラートークンであると判定して当該トークンTKを廃棄する。一例として、トークンTKが印刷ジョブトークンでない場合、コンピューターは、トークンTKが予期していないトークンである旨のエラーメッセージ又は他のエラーメッセージを印刷し、予期していないトークンのログにトークンTKを追加する、及び/又は方法800を終了する。
【0160】
ブロック872において、コンピューターはデータファイルDFから、印刷ジョブ及び/又は印刷ジョブに関連するデータを抽出する。
【0161】
ブロック874において、コンピューターは抽出した印刷ジョブ及び/又は印刷ジョブに関連するデータを、プリンター、例えばプリンターのPDLインタープリターに送り、抽出した印刷ジョブ及び/又は印刷ジョブに関連するデータを処理させる。ブロック874の処理が完了すると、コンピューターはブロック812に進む。
【0162】
一例として、ファイル終端トークン、プリンタープロセス開始トークン、他装置プロセストークン、付属装置イベントトークン、ユーザー設定トークン、及び印刷ジョブトークンより多く又は少ない、及び/又は他のトークンを、方法800を適切に変更することにより処理することが可能である。
【0163】
一例として、方法800は、逐次的及び/又は同期的に実行でき、他の例では方法800は並行して及び/又は非同期的に実行される。方法800を並行して及び/又は非同期的に実行することにより、特に方法800がトークンデータ及びプリンターによるイベントの瞬時のメッセージ出力、動画表示及び処理が可能なプリンターで実行される場合、逐次的及び/又は同期的に実行する実施形態と比較して、よりよいパフォーマンスを発揮することができる。例えば、ブロック812におけるトークン解析(又は決定)は、ブロック812の手順によって処理すべき複数のトークンが作成された後、ブロック820~874の手順によって、トークン処理と並行して行うことができる。また、他の例として、トークンTKは、番号または他の順序立てられた記号(例えば、文字、順序立てられた英数字ラベルなど)で表すことができる。このような例では、ブロック820~874の手順により、トークンTKを指標として、分岐テーブル、参照テーブル、又は類似のデータ構造が実現される。そして、トークンTKで示された分岐テーブル、参照テーブル、又は類似のデータ構造の内容は、トークンTKを処理する手順を提供、特定、及び/又は他の方法で決定する、関数ポインター又は他のデータ/技術となり得る。方法800を実行するのに、他の技術を採用してもよい。
【0164】
図9は、プロセスレコーディング中に記録されたデータを再生するためのユーザーインターフェース900の一実施形態を示す図である。再生ユーザーインターフェース900は、プリンター再生ユーザーインターフェース902及び再生制御領域940を有する。再生ユーザーインターフェース900、プリンター再生ユーザーインターフェース902、及び再生制御領域940は、再生、制御、及び/又は、一つ以上のプリンター、プロセスレコーディングソフトウエア及び/又は一つ以上のプリンターに関連する、プロセスレコーディング中に捕捉されたデータのデータファイルとの相互動作に用いられる。
【0165】
プリンター再生ユーザーインターフェース902は、再生、及び/又はプリンター、プロセスレコーディングソフトウエア、及び/又はプリンターに関連する、プロセスレコーディング中に捕捉されたデータのデータファイルとの相互動作に用いられる。図9に示すように、プリンター再生ユーザーインターフェース902はデータファイル領域904、タッチ画面領域906、及び操作パネル領域908を含む。他の例において、プリンター再生ユーザーインターフェース902は、上記の領域より多くの又はより少ない、及び/又は異なる領域を含んでもよい。
【0166】
データファイル領域904は、プロセスレコーディングソフトウエア及び/又はプロセスレコーディング中に捕捉されたデータのデータファイルと関連付けられたデータ及び/又はトークンに関する、一つ以上のインジケーターまたは他の要素を含み、ここでデータ及び/又はトークン(したがってインジケーターも)はプリンターと関連付けられている。インジケーターには、エラーデータインジケーター910a、構成設定インジケーター910b、トレイ1オープンインジケーター910c、トレイ1用紙セットインジケーター910d、トレイ1クローズインジケーター910e、スリープモードインジケーター910f、印刷ジョブ到着インジケーター910g、エンジン始動インジケーター910h、印刷ジョブ検出インジケーター910k、印刷ジョブ開始インジケーター910m、グラフィックエンジンユニット(GEU)開始インジケーター910n、フロントパネルデータインジケーター910p、及び不明トークンインジケーター910qなどがある。他の例において、データファイル領域904は、上記のものより多く又は少ない、及び/又は異なるインジケーターを含んでもよい。
【0167】
エラーデータインジケーター910aは、誤データ、例えばデータファイル中の誤データや印刷ジョブ中の誤データ等に関連するトークンが、プリンター再生ユーザーインターフェース902によって処理されたことを示す。構成設定インジケーター910bは、プリンターの構成データに関連するトークンが、プリンター再生ユーザーインターフェース902によって処理されたことを示す。関連するトークンは、プリンターの構成データに関するイベントが発生したことを示す。このようなイベントの例としては、プリンターの構成データの構成設定(又は他のデータ)を設定すること、プリンターの構成データの構成設定(又は他のデータ)をリセットすること、プリンターの構成データの構成設定(又は他のデータ)をチェックすること、プリンターの構成データの構成設定(又は他のデータ)を変更すること、プリンターの構成データの構成設定(又は他のデータ)を追加すること、及び/又はプリンターの構成データの構成設定(又は他のデータ)を削除することに関連するイベントなどがある。プリンターの構成データの例としては、プリンターに対応付けられた印刷ジョブ(又は他の処理)に関する設定、プリンターのプリンターエンジンに関するデータ、プリンターのファームウエアのバージョン、プリンターのフロントパネル構成データ、及びプリンターの機能とオプションの設定等があるが、プリンターの構成データはこれらに限定されない。
【0168】
トレイ1オープンインジケーター910cは、プリンタートレイ(例えば、トレイ1)が開かれたことに関するトークンが、プリンター再生ユーザーインターフェース902によって処理されたことを示す。他の例においてインジケーター910cは、プリンターの、トレイ1以外のトレイが開かれたことに関するトークンが、プリンター再生ユーザーインターフェース902によって処理されたことを示すことがある。トレイ1用紙セットインジケーター910dは、プリンターのトレイ(例えば、トレイ1)に用紙が置かれた(充填された)ことに関するトークンが、プリンター再生ユーザーインターフェース902によって処理されたことを示す。他の例において、インジケーター910dはプリンターの、トレイ1以外のトレイに用紙が置かれたことに関するトークンが、プリンター再生ユーザーインターフェース902によって処理されたことを示すことがある。トレイ1クローズインジケーター910eは、プリンタートレイ(例えば、トレイ1)が閉じられたことに関するトークンが、プリンター再生ユーザーインターフェース902によって処理されたことを示す。他の例においてインジケーター910eは、プリンターの、トレイ1以外のトレイが閉じられたことに関するトークンが、プリンター再生ユーザーインターフェース902によって処理されたことを示すことがある。
【0169】
スリープモードインジケーター910fは、プリンターをスリープモードとすることに関するトークンが、プリンター再生ユーザーインターフェース902によって処理されたことを示す。他の例として、インジケーター910fは、プリンターのスリープモードを解除したことに関するトークンが、プリンター再生ユーザーインターフェース902によって処理されたことを示すことがある。
【0170】
印刷ジョブ到着インジケーター910gは、プリンターにて印刷ジョブが受領されたことに関するトークンが、プリンター再生ユーザーインターフェース902によって処理されたことを示す。エンジン始動インジケーター910hは、プリンターのプリンターエンジンの起動(又は始動)に関するトークンが、プリンター再生ユーザーインターフェース902によって処理されたことを示す。他の例として、インジケーター910hはプリンターエンジンの停止(又はプリンターエンジンのスリープ状態への移行)に関するトークンが、プリンター再生ユーザーインターフェース902によって処理されたことを示すことがある。印刷ジョブ検出インジケーター910kは、未着ではあるが印刷ジョブがプリンターによって検出されたことに関するトークンが、プリンター再生ユーザーインターフェース902によって処理されたことを示す。
【0171】
印刷ジョブ開始インジケーター910mは、印刷ジョブがプリンターにて開始されたことに関するトークンが、プリンター再生ユーザーインターフェース902によって処理されたことを示す。他の例として、インジケーター910g、インジケーター910k、及び/又はインジケーター910mは印刷ジョブが完了したことに関するトークンが、プリンター再生ユーザーインターフェース902によって処理されたことを示すことがある。グラフィックエンジンユニット(GEU)開始インジケーター910nは、プリンターのGEUの始動に関するトークンが、プリンター再生ユーザーインターフェース902によって処理されたことを示す。他の例として、インジケーター910nはプリンターのGEUの停止に関するトークンが、プリンター再生ユーザーインターフェース902によって処理されたことを示すことがある。
【0172】
フロントパネルデータインジケーター910pは、プリンターのユーザーインターフェース動作(例えば、フロントパネル、操作パネル、及び/又は他のユーザーインターフェースからの入力受け付け、及び/又はそれらへの出力)に関するトークンが、プリンター再生ユーザーインターフェース902によって処理されたことを示す。不明トークンインジケーター910qは、インジケーター910a、910b、910c、910d、910e、910f、910g、910h、910k、910m、910n、及び910pの一つ以上と関連付けられたトークン以外の未知のトークンが、プリンター再生ユーザーインターフェース902によって処理されたことを示す。
【0173】
表1は、方法800に関して説明したトークンの、プリンター再生ユーザーインターフェース902を基準として上記したトークンへのマッピングの例を示すものである。
【0174】
【表1】
【0175】
タッチ画面領域906は、再生、制御、及び/又は、プロセスレコーディングソフトウエア及び/又はプロセスレコーディング中に捕捉されたデータのデータファイルとの相互動作に関わるプリンターのタッチ画面をシミュレートするなど、情報の授受を行う。タッチ画面領域906は、コピー要素920a、送信要素920b、別注ドキュメント要素920c、ジョブドキュメント要素920d、脱着可能メモリー要素920e、ジョブ状態/キャンセル要素920f、装置情報要素920g、アクセシビリティ要素920h、システムメニュー要素920k、言語要素920m、及びヘルプ要素920nを含む。他の例において、タッチ画面領域906は上記の要素より多くの又はより少ない、及び/又は異なる要素を含んでもよい。
【0176】
コピー要素920aは、プリンターを使用して文書をコピーする指示を出す及び/又は表すためのボタン(又は他の要素)である。例えば、コピー要素920aは、プリンター再生ユーザーインターフェース902に関連付けられたプリンターに文書のコピーを指示するのに選択されてもよく、及び/又はコピー要素920aは、プリンターを使用して文書をコピーする要求がプロセスレコーディング中に捕捉されたデータのデータファイルに記録されたことを示すため、変化(例えば、異なる色やフォントで表示される)する。
【0177】
送信要素920bは、プリンターを使用して電子文書を送信する指示を出す及び/又は表すためのボタン(又は他の要素)である。送信要素920bは、コピー要素920aについて説明したのと同様の方法で、電子文書を送信する指示を出す及び/又は表すために選択、使用されてもよい。
【0178】
別注ドキュメント要素920cは、特定のユーザー、ユーザーグループ、又は他の組織に関連する文書を保存する一つ以上の別注のドキュメントボックスへのアクセスを可能とする指示を出す及び/又は表すためのボタン(又は他の要素)である。別注ドキュメント要素920cが選択され、及び/又は別注ドキュメント要素920cの選択がプロセスレコーディング中に捕捉されたデータのデータファイルに記録された場合、一つ以上の別注のドキュメントボックスに保存された文書を列記したダイアログ又は他のユーザーインターフェース要素が、例えばタッチ画面領域906に表示される形で提供される。
【0179】
ジョブドキュメント要素920dは、プリンターに対応付けられた一つ以上の印刷ジョブ(他のジョブも含む)に関する文書を保存する一つ以上のジョブドキュメントボックスへのアクセスを可能とする指示を出す及び/又は表すためのボタン(又は他の要素)である。ジョブドキュメント要素920cが選択され、及び/又はジョブドキュメント要素920cの選択がプロセスレコーディング中に捕捉されたデータのデータファイルに記録された場合、一つ以上のジョブドキュメントボックスに保存された文書を列記したダイアログ又は他のユーザーインターフェース要素が、例えばタッチ画面領域906に表示される形で提供される。
【0180】
脱着可能メモリー要素920eは、プリンターに装着された脱着可能メモリーに保存されたデータへのアクセスを可能とする指示を出す及び/又は表すためのボタン(又は他の要素)である。脱着可能メモリー要素920eが選択され、及び/又は脱着可能メモリー要素920eの選択がプロセスレコーディング中に捕捉されたデータのデータファイルに記録された場合、脱着可能メモリーが現在プリンターに装着されていれば、当該脱着可能メモリーに保存されたデータを列記したダイアログ又は他のユーザーインターフェース要素が、例えばタッチ画面領域906に表示される形で提供される。
【0181】
ジョブ状態/キャンセル要素920fは、プリンターに対応付けられた印刷ジョブなどの状態を提示するよう、及び/又はキャンセルする指示を出す及び/又は表すためのボタン(又は他の要素)である。ジョブ状態/キャンセル要素920fが選択され、及び/又はジョブ状態/キャンセル要素920fの選択がプロセスレコーディング中に捕捉されたデータのデータファイルに記録された場合、プリンター上でアクティブなジョブの状態及び/又は印刷ジョブのキャンセルを表すダイアログ又は他のユーザーインターフェース要素が、例えばタッチ画面領域906に表示される形で、提供される。
【0182】
装置情報要素920gは、プリンターに関する情報(例えばプリンター名、ネットワークアドレスなど)を提示及び/又は変更する指示を出す及び/又は表すためのボタン(又は他の要素)である。装置情報要素920gが選択され、及び/又は装置情報要素920gの選択がプロセスレコーディング中に捕捉されたデータのデータファイルに記録された場合、プリンターの状態を表すダイアログ又は他のユーザーインターフェース要素が、例えばタッチ画面領域906に表示される形で提供される。プロセスレコーディング中に捕捉されたデータのデータファイルが、プリンターの装置情報が変更されたことを示している例においては、装置情報に関するダイアログ又は他のユーザーインターフェース要素は、変更された装置情報を提示する。
【0183】
アクセシビリティ要素920hは、プリンターに関するアクセシビリティ情報(例えばフォントサイズ設定、拡大倍率設定、音声合成設定など)をチェック及び/又は更新する指示を出す及び/又は表すためのボタン(又は他の要素)である。アクセシビリティ要素920hが選択され、及び/又はアクセシビリティ要素920hの選択がプロセスレコーディング中に捕捉されたデータのデータファイルに記録された場合、プリンターに関するアクセシビリティ情報を提示するダイアログ又は他のユーザーインターフェース要素が、例えばタッチ画面領域906に表示される形で提供される。プロセスレコーディング中に捕捉されたデータのデータファイルが、アクセシビリティ情報が変更されたことを示している例においては、アクセシビリティ情報に関するダイアログ又は他のユーザーインターフェース要素は、変更されたアクセシビリティ情報を提示する。
【0184】
システムメニュー要素920kは、プリンターに関するシステム情報をチェック及び/又は更新するメニュー又は他の要素を提示する指示を出す及び/又は表すためのボタン(又は他の要素)である。システムメニュー要素920kが選択され、及び/又はシステムメニュー要素920kの選択がプロセスレコーディング中に捕捉されたデータのデータファイルに記録された場合、プリンターに関するシステム情報のメニュー又は他の要素が、例えばタッチ画面領域906に表示される形で提供される。プロセスレコーディング中に捕捉されたデータのデータファイルが、システム情報が変更されたことを示している例においては、システム情報に関するメニュー又は他の要素は、変更されたシステム情報を提示する。
【0185】
言語要素920mは、プリンターに関する言語情報(例えば、プリンターのユーザーインターフェースに日本語、英語、中国語、フランス語、韓国語、ドイツ語、及び/又は他の言語のどれを使うか)を提示及び/又は変更する指示を出す及び/又は表すためのボタン(又は他の要素)である。言語要素920mが選択され、及び/又は言語要素920mの選択がプロセスレコーディング中に捕捉されたデータのデータファイルに記録された場合、プリンターに関する言語情報を提示するダイアログ又は他のユーザーインターフェース要素が、例えばタッチ画面領域906に表示される形で提供される。プロセスレコーディング中に捕捉されたデータのデータファイルが、言語情報が変更されたことを示している例においては、言語情報に関するダイアログ又は他のユーザーインターフェース要素は、変更された言語情報を提示する。
【0186】
ヘルプ要素920nは、プリンターに関するヘルプ情報を提示する指示を出す及び/又は表すためのボタン(又は他の要素)である。ヘルプ要素920nが選択され、及び/又はヘルプ要素920nの選択がプロセスレコーディング中に捕捉されたデータのデータファイルに記録された場合、プリンターに関するヘルプ情報を表すダイアログ又は他のユーザーインターフェース要素が提供される。
【0187】
操作パネル領域908は、再生、制御、及び/又は、プロセスレコーディングソフトウエア及び/又はプロセスレコーディング中に捕捉されたデータのデータファイルとの相互動作に関わるプリンターの操作パネルをシミュレートするなど、情報の授受を行う。操作パネル領域908は、システムメニュー要素930a、カウンター要素930b、ジョブ状態/キャンセル要素930c、ヘルプ要素930d、アクセシビリティ表示要素930e、ホーム要素932a、コピー要素932b、送信要素932c、FAX要素932d、プロセスレコード要素932e、操作パネル表示要素934a、キーパッド要素934b、スタート要素934c、クリア要素936a、エンター要素936b、ストップ要素936c、及びパワー要素938aを含む。他の例として、操作パネル領域908は上記の要素より多くの又はより少ない、及び/又は異なる要素を含んでもよい。
【0188】
システムメニュー要素930aは、操作パネル領域908で作動しつつ、システムメニュー要素920kに関して上記で説明した機能を実行するのに使用される。
【0189】
カウンター要素930bは、プリンターに関するカウンター情報、例えば印刷したページ数、送信したページ数、FAXしたページ数、トナー/インクの残量等を提示する指示を出す及び/又は表すためのボタン(又は他の要素)である。カウンター要素930bが選択され、及び/又はカウンター要素930bの選択がプロセスレコーディング中に捕捉されたデータのデータファイルに記録された場合、プリンターに関するカウンター情報を表すダイアログ又は他のユーザーインターフェース要素が提供される。
【0190】
ジョブ状態/キャンセル要素930cは、操作パネル領域908で作動しつつ、ジョブ状態/キャンセル要素920fに関して上記で説明した機能を実行するのに使用される。
【0191】
ヘルプ要素930dは、操作パネル領域908で作動しつつ、ヘルプ要素920nに関して上記で説明した機能を実行するのに使用される。
【0192】
アクセシビリティ表示要素930eは、操作パネル領域908で作動しつつ、アクセシビリティ要素920hに関して上記で説明した機能を実行するのに使用される。
【0193】
ホーム要素932aは、操作パネル表示要素934aにデフォルト又は「ホーム」メニュー、又は他の要素を表示させる指示を出す及び/又は表すためのボタン(又は他の要素)である。
【0194】
コピー要素932bは、操作パネル領域908で作動しつつ、コピー要素920aに関して上記で説明した機能を実行するのに使用される。
【0195】
送信要素932cは、操作パネル領域908で作動しつつ、送信要素920bに関して上記で説明した機能を実行するのに使用される。
【0196】
FAX要素932dは、プリンターを使用して文書をファックスする指示を出す及び/又は表すためのボタン(又は他の要素)である。例えば、FAX要素932dは、文書をファックスする指示をプリンター再生ユーザーインターフェース902に対応付けられているプリンターに出すのに選択されてもよく、及び/又はFAX要素932dは、プリンターを使用して文書をファックスする要求がプロセスレコーディング中に捕捉されたデータのデータファイルに記録されたことを示すため、変化(例えば、異なる色やフォントで表示される)してもよい。
【0197】
プロセスレコード要素932eは、プリンターに対するプロセスレコーディングに関連する指示を出す及び/又は表すためのボタン(又は他の要素)である。例えば、プロセスレコード要素932eはプリンターに対するプロセスレコーディングを起動および停止させる、及び/又はプリンターに対するプロセスレコーディングが起動されているか停止しているかを示すのに使用される。プリンターに対するプロセスレコーディングが起動されているか停止しているかを示すため、プロセスレコード要素932eは、プリンターに対するプロセスレコーディングが起動されていると示す場合には第1のスタイル(例えば、第1の背景色、第1の文字色、第1のフォント等で表示される)で表示され、プリンターに対するプロセスレコーディングが停止していると示す場合は第2のスタイル(例えば、第2の背景色、第2の文字色、第2のフォント等で表示される)で表示されるようにできる。第1のスタイルで表示されているプロセスレコード要素932eは、第2のスタイルで表示されているプロセスレコード要素932eとは視覚的に異なるので、プロセスレコード要素932eによってプリンターに対するプロセスレコーディングが起動されているか停止しているかを示すことができる。
【0198】
操作パネル表示要素934aは、プリンターに関する情報(例えば、状態情報、英数字データ、紙詰まり解消情報)の提示及び/又は表示のため、及び/又は記録された及び/又はプロセスレコーディング中に操作パネル表示要素934aによって表示された情報の表示のために使用される、一つ以上の表示(又は他の要素)である。
【0199】
キーパッド要素934bは、英数字データの入力を可能とする、及び/又は入力され、プロセスレコーディング中に記録された英数字データを表すための、一つ以上のボタン(又は他の要素)である。
【0200】
スタート要素934cは、プリンター動作を開始させる、例えば文書の送信を開始する、文書のファックスを開始する、文書のコピーを開始するなどの指示を出す及び/又は表すためのボタン(又は他の要素)である。スタート要素934cは、プリンターの動作がプロセスレコーディング中に捕捉されたデータのデータファイルに記録されたとおりに開始されたことを示すため、変化(例えば、異なる色やフォントで表示される)してもよい。
【0201】
クリア要素936aは、選択されることにより、操作パネル領域908を介してプリンターに入力された英数字及び/又は他のデータを除去、消去するボタン又は他の要素である。一例として、クリア要素936aが選択されると、操作パネル表示要素934aが消去される。
【0202】
エンター要素936bは、選択されることにより、操作パネル領域908を介してプリンターに入力された英数字及び/又は他のデータがプリンターにより使用されることを確認するボタン又は他の要素である。
【0203】
ストップ要素936cは、選択されることにより、プリンターに現在の動作を中止する、例えば文書の印刷を中止する、文書の送信を中止する、あるいは文書のファックスを中止するよう要求するボタン又は他の要素である。
【0204】
パワー要素938aは、選択されることにより、プリンターの電源の供給と切断を切り換えるボタン又は他の要素である。
【0205】
再生制御領域940は、例えば一つ以上のデータファイルに保存された、プロセスレコーディング中に記録されたデータの再生を制御するのに使用される。図9に示すように、再生制御領域940は早戻し制御950(図9には「早戻し」と表示)、巻戻し制御952、停止制御954、再生制御956、及び早送り制御958(図9には「早送り」と表示)を含む。他の例において、再生制御領域940は上記の制御より多く又は少ない、及び/又は異なる制御を含んでいてもよい。
【0206】
早戻し制御950は、選択されると、ユーザーインターフェース900に、再生を時間的に遡行する方向に比較的早い速度で戻させる。巻戻し制御952は、選択されると、ユーザーインターフェース900に、再生を時間的に遡行する方向に比較的遅い速度で戻させる。早戻し制御950又は巻戻し制御952が選択された後、これらを再度選択すると、再生の時間的遡行を停止させることができる。言い換えれば、早戻し制御950及び巻戻し制御952は、時間的に遡行する再生のオンオフを切り替えることができる。
【0207】
ストップ制御954は、選択されると、ユーザーインターフェース900に、時間的に前進又は遡行のいずれであれ、再生の進行を停止させることができる。
【0208】
再生制御956は、選択されると、ユーザーインターフェース900に、再生を時間的に前進する方向に比較的遅い速度で進行させる。早送り制御958は、選択されると、ユーザーインターフェース900に、再生を時間的に前進する方向に比較的早い速度で進行させる。再生制御956又は早送り制御958が選択された後、これらを再度選択すると、再生の時間的前進を停止させることができる。言い換えれば、再生制御956及び早送り制御958は、時間的に前進する再生のオンオフを切り替えることができる。
【0209】
一例として、再生ユーザーインターフェース900は、再生、制御、及び/又は、プロセスレコーディングソフトウエア及び/又は複数のプリンターに関連する、プロセスレコーディング中に捕捉されたデータのデータファイルとの相互動作に使用することができる。これらの例では、再生ユーザーインターフェース900は、再生、制御、及び/又は、プロセスレコーディングソフトウエア及び/又は複数のプリンターに関連する、プロセスレコーディング中に捕捉されたデータのデータファイルとの相互動作のため、プリンター再生ユーザーインターフェース902及び/又は再生制御領域940の複数の動作事例を、必要に応じ提供することができる。
【0210】
図10は、プロセスレコーディング中に記録されたデータを再生するためのユーザーインターフェース1000の一実施形態を示す図である。再生ユーザーインターフェース1000は、再生、制御、及び/又は、プロセスレコーディングソフトウエア及び/又はプロセスレコーディング中に捕捉されたデータのデータファイルとの相互動作に使用することができる。
【0211】
より具体的には、再生ユーザーインターフェース1000は、再生、制御、及び/又は、プロセスレコーディングソフトウエア及び/又は少なくとも一つのプリンター及び少なくとも一つのコンピューターに関連する、プロセスレコーディング中に捕捉されたデータのデータファイルとの相互動作に使用することができる。一例として、再生ユーザーインターフェース1000は、再生、制御、及び/又は、プロセスレコーディングソフトウエア及び/又は少なくとも一つのプリンター及びゼロ個のコンピューターに関連する、プロセスレコーディング中に捕捉されたデータのデータファイルとの相互動作に使用することができる。これらの例では、再生ユーザーインターフェース1000は、再生ユーザーインターフェース900と同じように見え、かつ同じように動作する。
【0212】
一例として、再生ユーザーインターフェース1000は、再生、制御、及び/又は、プロセスレコーディングソフトウエア及び/又は複数のプリンター及び/又は複数のコンピューターに関連する、プロセスレコーディング中に捕捉されたデータのデータファイルとの相互動作に使用することができる。これらの例では、再生ユーザーインターフェース1000は、再生、制御、及び/又は、プロセスレコーディングソフトウエア及び/又は複数のプリンター及び/又は複数のコンピューターに関連する、プロセスレコーディング中に捕捉されたデータのデータファイルとの相互動作のため、プリンター再生ユーザーインターフェース902、再生制御領域940、再生データ領域1002、及び/又はコンピューター再生ユーザーインターフェース1010の複数の動作事例を、必要に応じ提供することができる。
【0213】
再生ユーザーインターフェース1000は、プリンター再生ユーザーインターフェース902、再生制御領域940、再生データ領域1002、及びコンピューター再生ユーザーインターフェース1010を有する。再生ユーザーインターフェース1000のプリンター再生ユーザーインターフェース902及び再生制御領域940は、再生ユーザーインターフェース1000に対し、再生ユーザーインターフェース900及び図9に関して上記説明したものと同様の機能を果たすことができる。
【0214】
再生データ領域1002は、一つ以上のデータファイルの再生に関するデータを提供するものである。図10に示すとおり、再生データ領域1002は、再生日時要素1004a、印刷ジョブ名要素1004b、プリンター名要素1004c、コンピューター名要素1004d、及び再生データファイル名要素1004eを含む。他の例において、再生データ領域1002は上記の要素より多くの又はより少ない、及び/又は異なる要素を含んでいてもよい。
【0215】
再生日時要素1004aは、再生ユーザーインターフェース1000によって現在再生中のイベントに関するタイミング情報を示す。例えば、再生日時要素1004aは再生ユーザーインターフェース1000によって現在再生中のイベントを、「1/4/19」の「8:30PM」に発生したものとして記録している。再生ユーザーインターフェース1000が再生を行っていない場合は、再生日時要素1004aはブランクとなる。
【0216】
印刷ジョブ名要素1004bは、再生ユーザーインターフェース1000によって現在再生中のイベントに関する印刷ジョブ名を示す。例えば、印刷ジョブ名要素1004bは、再生ユーザーインターフェース1000によって現在再生中のイベントを、「mydoc.pm」と名付けられた印刷ジョブに関連するものであるとして記録している。再生ユーザーインターフェース1000が再生を行っていない場合は、印刷ジョブ名要素1004bはブランクとなる。
【0217】
プリンター名要素1004cは、再生ユーザーインターフェース1000が行っている再生に関連する、一つ以上のプリンターの名称を示す。例えば、プリンター名要素1004cは、再生ユーザーインターフェース1000が行っている再生が「SPD214」と名付けられたプリンターに関連していることを示している。再生ユーザーインターフェース1000が再生を行っていない場合は、プリンター名要素1004cはブランクとなる。
【0218】
コンピューター名要素1004dは、再生ユーザーインターフェース1000が行っている再生に関連する、一つ以上のコンピューターの名称を示す。例えば、コンピューター名要素1004dは、再生ユーザーインターフェース1000が行っている再生が「CD220」と名付けられたコンピューターに関連していることを示している。再生ユーザーインターフェース1000が再生を行っていない場合は、コンピューター名要素1004dはブランクとなる。
【0219】
再生データファイル名要素1004eは、再生ユーザーインターフェース1000によって現在再生中のデータを保存している一つ以上のデータファイルの名称を示す。例えば、図10は「DF_ERR_04Jan」と名付けられたデータファイルが再生ユーザーインターフェース1000によって現在再生されていることを示している。再生ユーザーインターフェース1000が再生を行っていない場合は、再生データファイル名要素1004eはブランクとなる。
【0220】
コンピューター再生ユーザーインターフェース1010は、再生、及び/又は、コンピューター、プロセスレコーディングソフトウエア及び/又はコンピューターに関連する、プロセスレコーディング中に捕捉されたデータのデータファイルとの相互動作に使用することができる。図10に示すように、コンピューター再生ユーザーインターフェース1010は、データファイル領域1012、プリンター設定領域1014、プロセスレコード要素1016、及びジョブ通知領域1018を有する。他の例において、コンピューター再生ユーザーインターフェース1010は上記より多く又は少ない、及び/又は異なる要素を含んでいてもよい。
【0221】
データファイル領域1012は、プロセスレコーディングソフトウエア及び/又はプロセスレコーディング中に捕捉されたデータのデータファイルに関連付けられたデータ及び/又はトークンに関する、一つ以上のインジケーター又は他の要素を含み、データ及び/又はトークン(したがってインジケーターも)はコンピューターに関連付けられている。インジケーターには、プリンター設定インジケーター1020a、印刷ジョブ作成インジケーター1020b、印刷ジョブ開始インジケーター1020c、印刷エラー通知インジケーター1020d、ジョブキャンセル通知インジケーター1020e、ジョブ完了通知インジケーター1020f、及び不明トークンインジケーター1020gなどがある。他の例において、データファイル領域1012は上記より多くの又はより少ない、及び/又は異なるインジケーターを含んでいてもよい。
【0222】
プリンター設定インジケーター1020aは、コンピューターに変更されたプリンターの設定データに関するトークンが、コンピューター再生ユーザーインターフェース1010によって処理されたことを示す。コンピューターに変更されたプリンターの設定データの例としては、コンピューターに変更された、プリンターに対応付けられた印刷ジョブ(又は他の処理)に関する設定、プリンター名に関するデータ、コンピューターに変更された、プリンターのネットワークアドレスに関するデータ、コンピューターに変更された、プリンターに対するプロセスレコーディングを制御するデータ、コンピューターに変更された、プリンターの機能とオプションの設定等があるが、当該プリンターの設定データはこれらに限定されない。
【0223】
印刷ジョブ作成インジケーター1020bは、コンピューターが作成中の印刷ジョブに関連付けられたトークンが、コンピューター再生ユーザーインターフェース1010によって処理されたことを示す。
【0224】
印刷ジョブ開始インジケーター1020cは、印刷ジョブが開始されたことに関連付けられたトークンが、コンピューター再生ユーザーインターフェース1010によって処理されたことを示す。例えば、印刷ジョブがコンピューターによって作成された後、プリンター又は他の装置(例えばプリントサーバー)は、印刷ジョブがプリンターにおいて実際に開始された旨の通知を出力することができる。印刷ジョブがプリンターにおいて実際に開始された旨の通知の受領がプリンターに対するプロセスレコーディング中にコンピューターに記録された場合、印刷ジョブがプリンターにおいて実際に開始された旨の通知に関して記録されたデータによって、印刷ジョブが開始されたことに関連付けられたトークンの生成が可能となる。
【0225】
印刷エラー通知インジケーター1020dは、誤った印刷ジョブに関連付けられたトークンが、コンピューター再生ユーザーインターフェース1010によって処理されたことを示す。
【0226】
ジョブキャンセル通知インジケーター1020eは、印刷ジョブがキャンセルされたことに関連付けられたトークンが、コンピューター再生ユーザーインターフェース1010によって処理されたことを示す。
【0227】
ジョブ完了通知インジケーター1020fは、印刷ジョブが完了したことに関連付けられたトークンが、コンピューター再生ユーザーインターフェース1010によって処理されたことを示す。
【0228】
不明トークンインジケーター1020gは、インジケーター1020a、1020b、1020c、1020d、1020e、及び1020fの一つ以上と関連付けられたトークン以外の未知のトークンが、プリンター再生ユーザーインターフェース902によって処理されたことを示す。
【0229】
表2は、方法800に関して説明したトークンの、プリンター再生ユーザーインターフェース902を基準として上記したトークンへのマッピングの例を示すものである。
【0230】
【表2】
【0231】
プリンター設定領域1014は、コンピューターによるプリンターに関する設定をチェック及び/又は更新するためのダイアログ又は他の要素である。図10に示すように、プリンター設定領域1014には、プリンター「SPD214」を使用しての印刷ジョブに関する、コンピューターによる「全般」設定が含まれ、ここではパスが「mydoc.prn」である文書のうちページ「1-3」が印刷されることが示されている。プリンター設定領域1014はまた、「mydoc.prn」の文書がファイルに印刷されないこと、文書「mydoc.prn」を印刷する印刷ジョブについてプロセスレコーディングがコンピューターに有効化されること、及び当該印刷ジョブについては両面印刷は無効となっていることを示している。他の例として、プリンターに関して上記より多くの又はより少ない、及び/又は異なるコンピューターの設定が、プリンター設定領域1014を使用してチェック及び/又は更新されてもよい。
【0232】
プロセスレコード要素1016は、コンピューター上のプロセスレコーディングに関する指示を出す及び/又は表すためのボタン(又は他の要素)である。例えば、プロセスレコード要素1016はコンピューター上のプロセスレコーディングの起動と停止を切り換えるのに使用されてもよく、及び/又はプロセスレコード要素1016はプロセスレコーディングがコンピューター上で起動されていることを、プロセスレコーディングが停止している場合との比較によって示すため、変化(例えば、異なる色やフォントで表示される)してもよい。
【0233】
プロセスレコード要素1016は、コンピューター上のプロセスレコーディングに関する指示を出す及び/又は表すためのボタン(又は他の要素)である。例えば、プロセスレコード要素1016はコンピューター上のプロセスレコーディングの起動と停止を切り換えるのに使用されてもよく、及び/又はコンピューターのプロセスレコーディングが起動されているのか停止しているのかを示してもよい。コンピューターのプロセスレコーディングが起動されているのか停止しているのかを示すため、プロセスレコード要素1016は、コンピューターに対するプロセスレコーディングが起動されていることを示す場合には、第1のスタイル(例えば、第1の背景色、第1の文字色、第1のフォント等で表示される)で表示され、コンピューターに対するプロセスレコーディングが停止していることを示す場合は、第2のスタイル(例えば、第2の背景色、第2の文字色、第2のフォント等で表示される)で表示されるようにできる。第1のスタイルで表示されているプロセスレコード要素1016は、第2のスタイルで表示されているプロセスレコード要素1016とは視覚的に異なるので、プロセスレコード要素1016によって、コンピューターに対するプロセスレコーディングが起動されているか停止しているかを示すことができる。
【0234】
ジョブ通知領域1018は、印刷ジョブ、及びコンピューターに与えられた他のジョブに関する情報を提供するためのディスプレイ又は他の要素である。一例として、印刷ジョブ及び他のジョブに関する情報は、データファイルに記録することができ、ジョブ通知領域1018は当該記録された情報を提供するのに使用される。
【0235】
IV.実行方法の例
図11は、一実施形態に係る方法を示すフローチャートである。方法1100は、例えばコンピューター100のようなコンピューターで実行することができる。
【0236】
方法1100はブロック1110から始まり、ここではコンピューターが、プリンターに関する情報を記録する要求を受け取り、当該要求は、少なくとも図3図4図5図6図9、及び図10に基づいて説明したような、プリンターに対応付けられたイベントの時系列シーケンスに関連する複数種類の情報を指定したものである。
【0237】
ブロック1120において、コンピューターは、上記要求の受領後、図5及び図6を参照して説明したように、イベントの時系列シーケンスに関連する、指定された複数種類の情報を記録するのに使用される。
【0238】
ブロック1130において、少なくとも図6図10を参照して説明したように、コンピューターは、記録された複数種類の情報に基づいて、プリンターに対応付けられたイベントの時系列シーケンスを提示する。
【0239】
一実施形態として、複数種類の情報は、少なくとも図6図10を参照して説明したように、プリンターに関連するキーストロークに関する種類の情報、プリンターに関連するキーストローク以外の、ユーザーインターフェース装置のイベントに関する種類の情報、プリンターの構成設定に関する種類の情報、プリンターの付属装置に関する種類の情報、プリンターの印刷ジョブに関する種類の情報、プリンターの紙詰まりに関する種類の情報、音声形式の種類の情報、及び/又は映像形式の種類の情報のうち2種類以上を含む。
【0240】
一実施形態として、プリンターの構成設定に関する種類の情報は、少なくとも図9を参照して説明したように、プリンターエンジンの仕様、プリンターのファームウエアのバージョン、プリンターの機能及び/又はオプションの設定、プリンターの仕上げオプション、及び/又はプリンターのシステム設定のうち一つ以上に関連するものである。
【0241】
一実施形態として、プリンターの付属装置に関する種類の情報は、少なくとも図6図7、及び図9を参照して説明したように、プリンターの扉、プリンターのトレイ、プリンターのレバー、プリンターのカバー、及び/又はプリンターの操作パネルのうち一つ以上に関連するものである。
【0242】
一実施形態として、プリンターに関する情報を記録する要求を受け取ることは、少なくとも図3を参照して説明したように、コンピューターで作動しているプリンタードライバーのユーザーインターフェースを使用して情報を記録する要求を受け取ることを含む。
【0243】
一実施形態として、プリンターに関する情報を記録する要求を受け取ることは、少なくとも図3及び図4を参照して説明したように、コンピューターで作動しているアプリケーションのユーザーインターフェースを使用して情報を記録する要求を受け取ることを含む。
【0244】
一実施形態として、コンピューターはプリンターを含むことができる。この場合、プリンターに関する情報を記録する要求を受け取ることは、少なくとも図3及び図4を参照して説明したように、プリンターのユーザーインターフェースを使用して情報を記録する要求を受け取ることを含む。
【0245】
一実施形態として、コンピューターはプリンターを含むことができる。この場合、プリンターに関する情報を記録する要求を受け取ることは、少なくとも図3及び図4を参照して説明したように、プリンターのジョブコマンドを使用して情報を記録する要求を受け取ることを含む。
【0246】
一実施形態として、コンピューターは、プリンターを含むことができる。この場合、プリンターに関する情報を記録する要求を受け取ることは、少なくとも図3を参照して説明したように、外部機器がプリンターに接続されていると判定し、情報を記録する要求をプリンターにおいて外部機器から受け取ることを含む。
【0247】
一実施形態として、コンピューターはプリンターとは別体である。この場合、イベントの時系列シーケンスに関する指定された複数種類の情報を記録することは、少なくとも図6及び図10を参照して説明したように、イベントの時系列シーケンスに関する指定された複数種類の情報をコンピューター及びプリンターの双方において記録することを含む。
【0248】
一実施形態として、記録された複数種類の情報に基づいて、プリンターに対応付けられたイベントの時系列シーケンスを提示することは、少なくとも図8図10を参照して説明したように、記録された複数種類の情報を解析して、プリンターに対応付けられたイベントの時系列シーケンスに関連する一つ以上のトークンを作成し、一つ以上のトークンに基づいて、プリンターに対応付けられたイベントの時系列シーケンスのシミュレーションを生成し、プリンターに対応付けられたイベントの時系列シーケンスのシミュレーションを、コンピューターのグラフィックユーザーインターフェースを使用して表示することを含む。
【0249】
一実施形態として、一つ以上のトークンは、少なくとも図8図10を参照して説明したように、印刷ジョブに関するイベントに対応付けられたトークン、プリンターのユーザーインターフェースに関するイベントに対応付けられたトークン、プリンターの付属装置に関するイベントに対応付けられたトークン、及び/又はプリンターのプロセスに関するイベントに対応付けられたトークンのうち、一つ以上を含む。
【0250】
一実施形態として、記録された複数種類の情報に基づいて、プリンターに対応付けられたイベントの時系列シーケンスを提示することは、少なくとも図6及び図7を参照して説明したように、記録された複数種類の情報を含む一つ以上のデータ項目のデータファイルを生成することを含み、一つ以上のデータ項目のデータ項目は記録されている種類の情報に関するイベントデータと、データ項目に関する情報がいつ記録されているかを示すタイムスタンプデータを含む。
【0251】
一実施形態として、少なくとも図7を参照して説明したように、データ項目はさらに、データ項目に関する付帯情報が保存されている場所、及び/又はイベントデータに対応付けられた入力データのコピーを含む。
【0252】
一実施形態として、記録された複数種類の情報に基づいて、プリンターに対応付けられたイベントの時系列シーケンスを提示することは、少なくとも図8図10を参照して説明したように、少なくともイベントの時系列シーケンス中のイベントに関するプリンターのプロセスを実行し、プリンターのユーザーインターフェースを変更し、及び/又はプリンターの構成を変更することにより、プリンターに複数種類の情報として記録されたイベントの時系列シーケンスから一つ以上のイベントを実行することを含む。
【0253】
一実施形態として、プリンターのプロセスを実行することは、少なくとも図8を参照して説明したように、色の登録プロセス、色のキャリブレーションプロセス、再セットアッププロセス、メモリーの初期化プロセス、ディスクに関連するプロセス、及び/又はプロファイリングプロセスのうち一つ以上を実行することを含む。
【0254】
一実施形態として、プリンターのユーザーインターフェースを変更することは、少なくとも図8を参照して説明したように、プリンターのユーザーインターフェースのキーまたはボタンを起動すること、プリンターのユーザーインターフェースのキーまたはボタンを有効にすること、及び/又はプリンターのユーザーインターフェースのキーまたはボタンを無効にすることのうち、一つ以上を含む。
【0255】
一実施形態として、プリンターの構成を変更することは、少なくとも図9を参照して説明したように、プリンターの構成設定を決定すること、及び/又はプリンターの構成設定をリセットすることの一つ以上を含む。
【0256】
上記の詳細に述べた説明的な実施形態、図面、及び請求の範囲は、限定を意図したものではない。ここに記載の主題の趣旨と範囲から逸脱しない限り、他の実施形態を採用してもよく、変更を加えてもよい。ここに概略を述べ、図面で表示した本開示のいくつかの態様は、変更、代替、結合、分離されてもよく、様々な異なる構成を採用し得ることは明らかであり、それらもすべて、本明細書において予期されている。
【0257】
図面における図表、描写、及びフローチャートについては、個々のブロック及び/又は説明は、例示的な実施形態に従って情報処理及び/又は情報の伝達を表したものである。代替的な実施形態も、例示的な実施形態の範疇に含まれる。代替的な実施形態において、例えば、ブロックで記述された機能、伝達、コミュニケーション、要請、応答、及び/又はメッセージは、関係する機能性に応じて、図示又は説明されたものとは異なる順序で実行されてもよく、同時的に又は逆の順序で実行されてもよい。さらに、より多数又は少数のブロック及び/又は機能がここで説明した図表、描写、及びフローチャートのいずれにおいても適用されてよく、これらの図表、描写、及びフローチャートはその一部または全部において、互いに結合されてもよい。
【0258】
情報処理を表すブロックは、方法または技術の特定の論理的機能を遂行する構成とされた回路に相当する。これに代えて又はこれに加えて、情報処理を表すブロックは、モジュール、セグメント、あるいは(関連するデータも含め)プログラムコードの一部に相当し得る。プログラムコードは、方法または技術に特定の論理的機能を組み込むため、プロセッサーが実行可能な一つ以上の指示を含むことができる。プログラムコード及び/又は関連するデータは、ディスク、ハードドライブ、又は他の記憶媒体などあらゆる種類のコンピューター読み取り可能な媒体に保存することができる。
【0259】
コンピューター読み取り可能な媒体には、非一時的なコンピューター可読媒体、例えば、レジスターメモリー、プロセッサーキャッシュ、及びRAMなどの、データを短期間保存するコンピューター可読媒体が含まれる。コンピューター可読媒体はまた、二次的又は永続的長期ストレージのような、プログラムコード及び/又はデータを長期間保存する非一時的なコンピューター可読媒体も含む。具体的には、例えばROM、光学又は磁気ディスク、CD-ROMなどである。さらに、コンピューター可読媒体は、あらゆる種類の揮発性または不揮発性のストレージシステムであってもよい。コンピューター可読媒体は、例えばコンピューター読み取り可能な記憶媒体を指すと考えてよく、あるいは有形の記憶装置であってもよい。
【0260】
いくつかの態様や実施形態を上記の通り説明したが、他の態様や実施形態があり得ることは当業者には明らかである。上記の態様や実施形態は説明のためのものであって、限定する意図のものではない。真の範囲は以下の請求の範囲によって示される。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11