(57)【特許請求の範囲】
【請求項１】
少なくとも１つのプロセッサと、
通信メディア層と、を備え、更に、
プリント動作、スキャン動作、コピー動作、ファックス動作、およびネットワーク形成動作に関連したタスクグループを複数を備えた多機能プリンタであって、
前記通信メディア層に結合され、通信メディアを介して少なくとも１つのプリンタジョブ言語（ＰＪＬ）ジョブを受信し、内部タスクのスケジューリングを指定する内部タスクスケジューリングポリシーの変更であって前記ＰＪＬジョブ内に含まれる変更をパースするＰＪＬパーサと、
前記ＰＪＬパーサに結合され、前記内部タスクスケジューリングポリシーの変更を受信し、前記内部タスクスケジューリングポリシーの変更を処理し、前記通信メディアに結合されたホストへパフォーマンス情報を伝送すると共に、前記パフォーマンス情報と前記内部タスクスケジューリングポリシーの変更とをセーブするタスクランタイムコントローラと、を更に備え、
前記タスクランタイムコントローラは、
前記少なくとも１つのプロセッサで作動中の複数のタスクのステータスをモニタする少なくとも１つのウォッチドッグタイマを含む高分解能タイマと、
（ａ）前記多機能プリンタのランタイムおよび（ｂ）前記多機能プリンタのブートアップのうちの１つにおいて、前記内部タスクスケジューリングポリシーの変更を実施するタスクチューナと、
前記パフォーマンス情報および前記内部タスクスケジューリングポリシーの変更についての保存および検索を含む動作であるブックキーピング動作を実行するタスクマネージャと、
を有し、
前記ＰＪＬジョブに含まれる前記内部タスクスケジューリングポリシーの変更は、前記ホスト側で前記パフォーマンス情報の収集結果に基づき生成されたものであることを特徴とする多機能プリンタ。
【請求項２】
前記ＰＪＬジョブに含まれる前記内部タスクスケジューリングポリシーの変更は、プリント、スキャン、コピー、ファックス、およびネットワーク形成タスクグループのうちの少なくとも１つに関連する、タスクの優先レベルであるタスクスケジューリングレベルの調節を示すことを特徴とする請求項１に記載の多機能プリンタ。
【請求項３】
前記パフォーマンス情報は、個々のタスクの実行に関する情報であるタスク情報およびタスクのグループの実行に関する情報であるタスクグループ情報を含むことを特徴とする請求項１又は２に記載の多機能プリンタ。
【請求項４】
前記通信メディア層は、（ａ）前記パフォーマンス情報および（ｂ）前記内部タスクスケジューリングポリシーの変更のうちの少なくとも１つを含むパケットを、インターネットで利用されるコネクションレス型通信の標準プロトコルであるユーザデータグラムプロトコル（ＵＤＰ）で前記多機能プリンタと前記ホストとの間で伝送するためのＵＤＰメッセージングファームウェアを有することを特徴とする請求項１〜３のいずれか１項に記載の多機能プリンタ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、多機能プリンタ（ＭＦＰ）に関し、より詳細には、ＭＦＰの全寿命にわたってＭＦＰのパフォーマンスをモニタし、制御するためのシステムに関する。
【背景技術】
【０００２】
機能固有のプリントおよびスキャニング装置に関連する複雑さ、コストおよび過剰スペースを軽減する努力がなされるにつれ、ＭＦＰは、世界中の企業および個人によって急激に採用されつつある。ＭＦＰは設立されたばかりの小企業から大企業までの種々のユーザの関心を引いている。このような魅力は単一の装置であるにもかかわらず、多数の能力、例えばプリント、スキャニング、コピー、ファックスおよびネットワーク形成の能力を有するＭＦＰの汎用性に起因する。
【０００３】
特許文献１に記載の画像形成装置は、保有する機能名の一覧を記憶した記憶部と、機能が利用されたことを検出し、検出された機能名を上記機能名の一覧からチェックし、機能の利用状況に関する情報を作成し、送受信部を介して端末へ送信するコントローラ部とを備えている。機能の利用状況に関する情報を受信した端末は、利用頻度が低い機能を検出し、その機能の利用促進を狙ったアクションを選定し、ネットワークを介して画像形成装置へ返信する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−３５８３７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
これまでＭＦＰの開発者（例えばエンジニア、技術者または他の開発者）は、開発サイクル中にＭＦＰ内で作動するファームウェアに既にアクセスしている。開発サイクルは技術研究所でスタートし、ＭＦＰの工場で終了し得る。ＭＦＰは、ＭＦＰの工場からは顧客またはその他のユーザに出荷される。開発サイクル中、開発者は特定の開発環境内で特殊なツールを使って比較的努力をすることなく、ＭＦＰのパフォーマンスをモニタできる。更に開発者たちは、好ましいパラメータを設定でき、ＭＦＰはこれらの特定の開発環境内で得られたパフォーマンス測定値に従って、これらパラメータ内で作動する。しかしながら、一旦ＭＦＰが工場からユーザに出荷された場合、開発者たちがＭＦＰ内で作動するファームウェアをモニタすることは、不可能ではないにしても困難となる。従って、開発者はＭＦＰの全寿命にわたってＭＦＰを見たり制御したりすることはできない。
【０００６】
ＭＦＰの利用パターンは、ユーザごとに大きく変わり得るので、ＭＦＰの作動環境はユニークである。一部の利用パターンでは、１つのＭＦＰ動作、例えばプリント動作を、別の動作、例えばスキャニングよりも優先させなければならないことがある。ＭＦＰ動作を優先するには、ＭＦＰのプロセッサリソースを優先をしなければならない。他のＭＦＰ動作を犠牲にして、プロセッサリソースを所定のＭＦＰ動作専用とすることができる。
【０００７】
例えばプリント動作がそのときにプロセッサのリソースのかなりの部分を占めている場合、他の動作、例えばスキャンまたはコピーが妨げられる。または、スキャンまたはコピー動作がプロセッサのリソースのかなりの部分を占めている場合、プロセッサ動作が妨げられる。この結果、所定の期間中、他の動作よりも緊急であると見なすことができる一部の動作が、遅延することがあり、このことは好ましくない。進行中のプリント動作よりもスキャン動作のほうが緊急性が高いはずであると利用パターンが示しても、ＭＦＰはプロセッサのリソースをまずプリント動作専用とし、第２にスキャン動作専用とするようにこれまで構成されている可能性がある。このことは時間を無駄にし、効率を下げ、利用を無駄にするなど、仕事の流れに影響を与えることがあり、最終的には最低でもフラストレーションが生じ、より悪いケースでは利益を失うことになる。
【０００８】
更にＭＦＰの利用パターンが一日のうちのある時間はある動作の要求が多く、別の動作の要求が少なくなるように定まっている場合がある。例えば朝は緊急プリントの要求を満たすためにＭＦＰが使用されることがより多く、午後は緊急のコピーの要求を満たすのに使用されることが多く、夕方は緊急のスキャンの要求を満たすのに使用されることが多い場合、従来のＭＦＰは適正にリソースを割り当てることはできない。より悪いことに、ＭＦＰが一旦工場からユーザに出荷された場合、開発者がＭＦＰの利用パターンに関係するパフォーマンス情報をイネーブルまたは抽出することは困難となる。
【０００９】
従って、結果として開発者はユーザが利用すると考えられるシミュレートされた利用パターンのもとで、ＭＦＰのパフォーマンスを特徴付けようと試みる際に、研究所またはユーザのいる場所でユーザの特定の利用パターンをコピーすることを試みなければならない。このコピーはユーザの正しい課題を発見したり、または特定の利用パターンのもとでのＭＦＰのパフォーマンスを正確に測定する上で決して十分に正確であるとは言えない。コピーの努力を通してパフォーマンスを所定の、より低い精度で測定できても、かかる努力に時間と費用を費やした後に、ＭＦＰのメーカはパフォーマンスを測定した結果発見された非効率を修復する試みにおいて、特別なソフトウェアパッチを設計しなければならないことがある。特別なインストールパッチをインストールするためにＭＦＰをオフラインにするために生じる中断はユーザにとって不便であり、特別なソフトウェアパッチを設計し、管理するためにメーカが費やす努力は、メーカには費用がかかることとなり得る。
【００１０】
更に、顧客の問題を解決するための従来の解決方法は、効率的なサイクルでＭＦＰのリアルタイムパフォーマンスをモニタし、ＭＦＰを制御することはできない。換言すれば、問題を診断し、ユーザに解決方法を提供するまでにかかる全時間は、使用が不可能になるほど長くなる。
また、特許文献１に記載の技術であっても、多機能プリンタのパフォーマンスを全寿命にわたって効果的なサイクルでモニタリングすることができない。
【００１１】
本発明は、上述のような実状に鑑みてなされたものであり、その目的は、多機能プリンタのパフォーマンスを、全寿命にわたって効果的なサイクルでモニタリングすることが可能な多機能プリンタを提供することにある。
【課題を解決するための手段】
【００２９】
上記課題を解決するために、本発明の第１の技術手段は、少なくとも１つのプロセッサと、通信メディア層と、を備え、更に、プリント動作、スキャン動作、コピー動作、ファックス動作、およびネットワーク形成動作に関連したタスクグループを複数を備えた多機能プリンタであって、前記通信メディア層に結合され、通信メディアを介して少なくとも１つのプリンタジョブ言語（ＰＪＬ）ジョブを受信し、内部タスクのスケジューリングを指定する内部タスクスケジューリングポリシーの変更であって前記ＰＪＬジョブ内に含まれる変更をパースするＰＪＬパーサと、前記ＰＪＬパーサに結合され、前記内部タスクスケジューリングポリシーの変更を受信し、前記内部タスクスケジューリングポリシーの変更を処理し、前記通信メディアに結合されたホストへパフォーマンス情報を伝送すると共に、前記パフォーマンス情報と前記内部タスクスケジューリングポリシーの変更とをセーブするタスクランタイムコントローラと、を更に備え、前記タスクランタイムコントローラは、前記少なくとも１つのプロセッサで作動中の複数のタスクのステータスをモニタする少なくとも１つのウォッチドッグタイマを含む高分解能タイマと、（ａ）前記多機能プリンタのランタイムおよび（ｂ）前記多機能プリンタのブートアップのうちの１つにおいて、前記内部タスクスケジューリングポリシーの変更を実施するタスクチューナと、前記パフォーマンス情報および前記内部タスクスケジューリングポリシーの変更についての保存および検索を含む動作であるブックキーピング動作を実行するタスクマネージャと、を有し、前記ＰＪＬジョブに含まれる前記内部タスクスケジューリングポリシーの変更は、前記ホスト側で前記パフォーマンス情報の収集結果に基づき生成されたものであることを特徴としたものである。
【００３０】
第２の技術手段は、第１の技術手段において、前記ＰＪＬジョブに含まれる前記内部タスクスケジューリングポリシーの変更は、プリント、スキャン、コピー、ファックス、およびネットワーク形成タスクグループのうちの少なくとも１つに関連する、タスクの優先レベルであるタスクスケジューリングレベルの調節を示すことを特徴としたものである。
第３の技術手段は、第１又は第２の技術手段において、前記パフォーマンス情報は、個々のタスクの実行に関する情報であるタスク情報およびタスクのグループの実行に関する情報であるタスクグループ情報を含むことを特徴としたものである。
【００３１】
第４の技術手段は、第１〜第３のいずれか１の技術手段において、前記通信メディア層は、（ａ）前記パフォーマンス情報および（ｂ）前記内部タスクスケジューリングポリシーの変更のうちの少なくとも１つを含むパケットを、インターネットで利用されるコネクションレス型通信の標準プロトコルであるユーザデータグラムプロトコル（ＵＤＰ）で前記多機能プリンタと前記ホストとの間で伝送するためのＵＤＰメッセージングファームウェアを有することを特徴としたものである。
【発明の効果】
【００３２】
本発明によれば、多機能プリンタのパフォーマンスを、全寿命にわたって効果的なサイクルでモニタリングすることが可能になる。特に、ＭＦＰの実使用時に一致したタイミングでＭＦＰのパフォーマンス情報を取得することが可能となる。
【図面の簡単な説明】
【００３３】
【図１】本発明の一実施形態に係わるＭＦＰモニタ技術を示すフローチャートである。
【図２】本発明の一部の実施形態に係わるＭＦＰタスクスケジューリングポリシーの変更を示すフローチャートである。
【図３】図２のフローチャートで紹介されているようなＭＦＰのカスタムスケジューリングポリシーを示す図である。
【図４】本発明の一実施形態に係わる、通信メディアを介してホストに結合されたＭＦＰを示す図である。
【図５】図４の実施形態に係わる通信メディアに結合されたＭＦＰおよびホストを示す概略図である。
【図６】図５のＭＦＰタスクチューナを示す概略図である。
【図７】図５のＭＦＰの高分解能タイマ（ＨＲＴ）を示す概略図である。
【図８】ＭＦＰ動作によってアレンジされるタスクグループおよびそれに関連するタスクスケジューリングレベルの一実施形態を示す図である。
【発明を実施するための形態】
【００３４】
本発明の実施形態は、実行時間中またはファームウェアのアップグレード中であっても、遠隔的または現場であっても、多機能プリンタ（ＭＦＰ）の全寿命にわたり、スキャン、プリント、コピー、ファックス、またはネットワーク形成などのＭＦＰの動作をモニタするものである。このモニタ中に、パフォーマンスを示す情報であるパフォーマンス情報が収集できる。また、パフォーマンス情報としては、ＭＦＰのパフォーマンスだけでなく、より詳細な内部タスクパフォーマンスに関する情報も収集できる。内部タスクパフォーマンスとは、タスクごとのコンテキスト（スレッド）の切替がどの程度起こったのか、その切替がタスクで生じたのかなど、内部で実行されるタスクごとのパフォーマンスを指す。このパフォーマンス情報は、ＭＦＰの動作、例えばプリント、スキャン、コピー、ファックス、またはネットワーク形成の動作に関する情報を顧客に伝えることができるユーザフレンドリなフォーマットで提示できる。これとは異なり、パフォーマンス情報は、ＭＦＰのパフォーマンスに関する高レベルの細部までアクセスしなければならない当技術分野の技術者または開発者にとって特に有効となり得る詳細なフォーマットでディスプレイしてもよい。
【００３５】
本発明の一部の実施形態では、高分解能タイマを使ってＭＦＰ動作に関連するタスクグループに対してパフォーマンス情報を収集できる。収集されたパフォーマンス情報を分析し、この分析に応答し、ＭＦＰの内部タスクのスケジューリングを指定する内部タスクスケジューリングポリシーに変更を加えるかどうかの判断を行うことができる。
【００３６】
従って、ファームウェアを交換することなく即座にパフォーマンス情報を得ることができ、よって、問題を診断してユーザに解決案を提供するためのターンアラウンド時間を、実質的に瞬間的に提供できる。
【００３７】
以下、添付図面を参照した次の詳細な説明から、本発明の上述した特徴およびそれ以外の特徴がより容易に明らかとなろう。後述する各手段は、適宜、多機能プリンタ（ＭＦＰ）および／またはＭＦＰをモニタする側の機器における、ハードウェアにおいて、あるいはプロセッサによって実行されるソフトウェアモジュールにおいて、あるいは両者の組み合わせにおいて、具現化することができる。
【００３８】
多機能プリンタ（ＭＦＰ）は、種々の動作、特にプリント、スキャン、コピー、ファックスおよびネットワーク形成を実行できる。開発者は特別な開発環境下で特殊なツールを使ってこれら動作の働きをモニタできるが、開発者はＭＦＰの全寿命にわたってパフォーマンスをモニタし続けることはできない。例えばＭＦＰが一旦工場から顧客またはユーザに出荷され、遠隔地に配置され、ユーザが作動できるように設置された場合、開発者は内部のタスクパフォーマンスまたは他のパフォーマンス情報をモニタする能力を失う。同様に、これら環境下では開発者は例えば内部タスクスケジューリングレベルまたはカスタムスケジューリングポリシーを変更することにより、ＭＦＰの作動パラメータを容易に変更することができない。
【００３９】
Ｉ．ＭＦＰのモニタ技術
図１は、本発明の一実施形態に係わるＭＦＰモニタ技術１０５を示すフローチャートである。このＭＦＰモニタ技術１０５は、ＭＦＰ１１５に、ＭＦＰ１１５のパフォーマンス（または内部タスクパフォーマンス）をモニタする機能であるパフォーマンスモニタリング能力１１０を、追加する能力を含み、この能力は遠隔的または現場で作動手段が、追加またはイネーブルできる。換言すれば、ユーザロケーションと異なるロケーションから、またはＭＦＰ１１５が位置するロケーションとは異なるロケーションから、パフォーマンスモニタリング能力１１０を追加またはイネーブルできる。これとは異なり、ユーザロケーションにおいて現場で、またはＭＦＰ１１５が位置するロケーションと実質的に同じロケーションで、パフォーマンスモニタリング能力１１０を追加またはイネーブルしてもよい。
【００４０】
更に、一実施形態では、ＭＦＰ１１５の実行時間（すなわちオンザフライ）作動中にパフォーマンスモニタモジュール１１０を追加またはイネーブルできる。換言すれば、ＭＦＰ１１５はモニタリング能力１１０を追加したり、またはイネーブルするように、ブートアップサイクルまたはパワーサイクルを経過しなくてもよい。これとは異なり、ブートアップ動作中、またはファームウェアインストール中のいずれかに、パフォーマンスモニタリング能力１１０を追加またはイネーブルしてもよい。別の実施形態では、デフォルトによりパフォーマンスモニタリング能力１１０をイネーブルしてもよい。一旦パフォーマンスモニタリング能力１１０が、ＭＦＰ１１５に対して追加またはイネーブルされると、その後、ＭＦＰ１１５からパフォーマンス情報１２０を抽出または収集できる。
【００４１】
遠隔的または現場にて、収集手段が、ＭＦＰ１１５からパフォーマンス情報１２０を収集できる。換言すれば、ユーザロケーションと異なるロケーションまたはＭＦＰが位置する場所と異なるロケーションから、パフォーマンス情報１２０を収集できる。これとは異なり、ユーザロケーションにおいて現場で、またはＭＦＰから位置するロケーションと実質的に同じロケーションで、収集手段がパフォーマンス情報１２０を収集してもよい。
【００４２】
パフォーマンス情報１２０を異なるフォーマットで提示できる。所望する提示フォーマット１２５を選択することができる。一実施形態では、パフォーマンス情報１２０をユーザフレンドリなフォーマットで提示でき、このフォーマットはＭＦＰの動作、例えばプリント、スキャン、コピー、ファックス、またはネットワーク形成に関する情報を伝えることができる。このフォーマットは、この技術分野の技術者または開発者ではない、購入（またはリース）したＭＦＰがどのように作動しているかについて関心を持つユーザにとって特に有効である。他の実施形態では、パフォーマンス情報１２０をより詳細に提示でき、これによって個々のタスクの実行に関する情報、例えば内部タスクスケジューリングレベル、タスク優先権、タスク実行時間、またはプロセッサアイドル時間の履歴を伝えることができる。このように個々のタスクの実行に関する情報であるタスク情報または複数のタスクでなるタスクグループの実行に関する情報であるタスクグループ情報を含むようにパフォーマンス情報１２０を構成することができる。この詳細なフォーマットは、ＭＦＰのパフォーマンスに関する高レベルの詳細にアクセスしなければならない当技術分野の技術者または開発者にとって特に有効となり得る。
【００４３】
このパフォーマンス情報１２０は、伝送手段が、レシーバ、例えばＭＦＰのフロントパネル１３０、ホスト１３５、ウェブサイト１４０、プリントアウト１４５のためにＭＦＰの印字部、ファックスマシン１５０または他の一部のメディア１５５へ送ることができ、これらレシーバは、パフォーマンス情報１２０をディスプレイ、プリントまたは他の方法で提示できる。このパフォーマンス情報１２０は所望する提示フォーマット１２５で提示できる。ホスト１３５は、例えば、コンピュータ、例えば電話またはパーソナルデジタルアシスタント（ＰＤＡ）のようなポータブルデバイスとし得る。プリントアウト１４５は、ＭＦＰ１１５またはこのＭＦＰ１１５とは異なる別のＭＦＰから発生できる。レシーバのうちの１つ以上はパフォーマンス情報１２０のレポートまたは概要を受信でき、この情報をユーザまたは開発者へ提示できる。
【００４４】
本発明の一部の実施形態によれば、生成手段がパフォーマンス情報１２０を周期的に生成し、ＭＦＰのフロントパネル１３０、ホスト１３５、またはウェブサイト１４０へ自動的に送信できる。これとは異なり、パフォーマンス情報１２０を周期的に生成し、ユーザ、当技術分野の技術者または開発者のリクエストに応じてディスプレイしてもよい。
【００４５】
更にパフォーマンス情報１２０は、ＭＦＰ１１５の内部に位置するかまたは外部に位置するかにかかわらず、例えばリードオンリーメモリ（ＲＯＭ）、フラッシュメモリデバイス、またはハードディスクドライブ（図示せず）などの不揮発性記憶メディアに永続的に記憶してもよく、これにより、ＭＦＰ１１５のパワーサイクルのあとでもパフォーマンス情報１２０を保存する方法を提供する。同様に、パフォーマンス情報１２０を不揮発性記憶メディアまたは揮発性記憶メディアのいずれかに一時的に記憶してもよい。このように、パフォーマンス情報の履歴を記録し、必要なときに後に検索することができる。
【００４６】
従って、遠隔的に、または現場で、実行時間中に、またはファームウェアのアップグレードにより、ＭＦＰ１１５をモニタできる。このパフォーマンス情報１２０は、あまり詳細でないタスクグループ情報を含み得るユーザフレンドリなフォーマットを使ってユーザに伝えてもよいし、またはＭＦＰ１１５の内部タスクの高レベルの詳細を使って当技術分野の技術者または開発者に伝えてもよい。このパフォーマンス情報１２０はレシーバ、例えばホスト１３５、ＭＦＰのフロントパネル１３０またはウェブサイト１４０へ送信し、所望する提示フォーマット１２５を使ってディスプレイすることができる。
【００４７】
ＩＩ．ＭＦＰのタスクスケジューリングポリシーの変更
図２は、本発明の一部の実施形態に係わるＭＦＰタスクスケジューリングポリシー変更２０５を示すフローチャートである。このＭＦＰタスクスケジューリングポリシー変更２０５は、ＭＦＰ１１５の作動パラメータを内部で調節するための内部タスクスケジューリングポリシー変更２１０を含むことができる。この変更は遠隔的に、または現場で行うことができる。換言すれば、内部タスクスケジューリングポリシー変更２１０は、ユーザロケーションと異なるロケーション、またはＭＦＰ１１５が設置されているロケーションとは異なるロケーションにて開始できる。これとは異なり、ユーザロケーションで、現場で、またはＭＦＰ１１５が位置する実質的に同じロケーションで、変更２１０を開始してもよい。
【００４８】
更に一実施形態では、内部タスクスケジューリングポリシー変更２１０をＭＦＰ１１５のランタイム作動中に開始または実行してもよい。換言すれば、変更２１０を行うのに、ＭＦＰ１１５はブートアップサイクルまたはパワーサイクルを経過しなくてもよい。これとは異なり、内部タスクスケジューリングポリシー変更２１０は、ブートアップ動作またはファームウェアインストール動作中に実施できる。一部の実施形態では、当技術分野の技術者または開発者が内部タスクスケジューリングポリシー変更２１０を開始できる。他の実施形態では、後述するように、例えば、所定のＭＦＰカスタムスケジューリングポリシー２１５に応答して、変更２１０を自動的に調節してもよい。
【００４９】
ＭＦＰ１１５のランタイム動作中にＭＦＰ１１５の変更２１０を実施するのに、タスクチューニング機能２２０を使用してもよい。例えば、このタスクチューニング機能２２０は、他の機能のうち、タスクスケジューリングレベルを調節すること、個々のタスクスケジューリングポリシーを変更すること、プロセッサのアフィニティを割り当てること、時間スライス量を変えること、ラウンドロビン方式でタスクを再整理すること、タスクまたは動作を起動または停止すること、タスクをシャットダウンまたはスタートアップすること、タスクの実行コードをロードまたはアンロードすることを含むことができる。なお、プロセッサのアフィニティの割り当てとは、マルチコアプロセッサのプラットフォームにおいて、各タスクに対して能動的に特定のプロセッサを割り当てることを指す。これにより、プロセッサ間のロードのバランスをとることができる。また、時間スライス量の変更は、ラウンドロビン方式で平等に実行される複数のタスクに適用され、この変更を行うことで、あるタスクはいつでも実行時間を延ばしたり縮めたりすることができるようになる。また、タスクの再整理とは、複数のタスクを異なる順番で開始することを意味し、この再整理を行うことで複数のタスクはシャットダウンし、その後、開始される。
【００５０】
より詳細には、タスクスケジューリングレベルを調節することは、ＭＦＰ動作、例えばプリント、スキャン、コピー、ファックス、またはネットワーク形成の動作に関連したＭＦＰタスクグループの優先レベルを変更することを含むことができる。換言すれば、各動作は、この動作に関連するそれぞれのタスクグループ、例えばプリントタスクグループ、スキャンタスクグループ、コピータスクグループ、ファックスタスクグループ、およびネットワークタスクグループを有することができる。動作のうちの１つ（例えばプリント）の優先レベルを調節することは、動作に関連するタスクグループ（例えばプリントタスクグループ）のプロセッサタスクの優先レベルを調節することによって達成できる。
【００５１】
１つのＭＦＰ動作が他のＭＦＰ動作よりも高い優先度を有するべきかどうかを判断するのに、ＭＦＰ１１５の動作をモニタできる。例えば緊急スキャン動作を待機中に、ＭＦＰの大部分が、あるプリント動作によって占有されている場合、この緊急動作に対処できるよう、ＭＦＰのランタイム中にスキャン動作に関連するタスクグループの優先レベルを上げることができる。ＭＦＰ１１５の１つ以上のプロセッサのアイドル時間に基づき、別の調節を行うことができる。どれだけのアイドル時間を観察するか、またはどのタスクがアイドル時間を生じさせているかを識別するのに、測定を行うことができる。
【００５２】
タスクチューニング機能２２０は、ＭＦＰ１１５の動作をより効率的に管理するために、タイムスライシングアルゴリズムまたはラウンドロビンアルゴリズムも含むことができる。ＭＦＰ１１５が複数のプロセッサを有する場合、１つのプロセッサへのアフィニティを有するタスクを、プロセッサアフィニティアプローチを使って別のプロセッサにシフトし、よってＭＦＰ１１５のパフォーマンスを高めることができる。換言すれば、１つのコアまたはプロセッサでアイドル時間が圧倒的であるマルチコアまたはマルチプロセッサＭＦＰでは、パフォーマンスゲインを達成するのに、より高いアイドル時間を有するコアまたはプロセッサで一部のタスクのスケジュールを決定できる。
【００５３】
ネットワーク動作に関連するタスクが大幅にアイドリング状態にあることをパフォーマンス情報１２０が明らかにした場合、例えばプリントのような、より緊急の動作をより効率的に完了できるように、そのタスクの優先レベルを下げてもよい。更に任意の態様、例えばスタティックまたはダイナミックに、非リアルタイムまたはリアルタイムで、タスクチューニング機能２２０を実行できる。当業者であれば、図２の符号２２０で示された機能以外のアクション機能も実行できることが認識できよう。
【００５４】
ＭＦＰカスタムスケジューリングポリシー２１５は時間に基づくカスタムスケジューリング、利用率に基づくカスタムスケジューリング、インストールまたはアップグレードに基づくカスタムスケジューリングを含むことができ、更に後述するように、定期的または非定期的に起動できる。カスタムスケジューリングポリシー２１５は、ＭＦＰ１１５の所望するカスタム動作環境を達成するためにＭＦＰタスクチューニング機能２２０を使用して、１つ以上の内部タスクスケジューリングポリシー変更２１０を実行できる。
【００５５】
遠隔的または現場で、ＭＦＰのランタイム動作中に変更を行うことができ、更に遠隔的に、または現場で、ＭＦＰのランタイム動作中にパフォーマンス情報１２０を収集できるので、ファームウェアを交換することなく、タスクスケジューリングポリシー変更２１０の有効性を即座に得て、問題を診断してユーザに解決方法を提供するための実質的に瞬間的なターンアラウンド時間を提供できる。
【００５６】
ＩＩＩ．時間、利用率、インストールまたはアップグレードに基づくカスタムＭＦＰスケジューリングポリシー
図３は、図２のフローチャートで紹介されているようなＭＦＰ１１５のカスタムスケジューリングポリシー２１５を示す図である。このカスタムスケジューリングポリシー２１５は時間に基づくカスタムスケジューリング３０５、利用率に基づくカスタムスケジューリング３１０、およびインストールまたはアップグレードに基づくカスタムスケジューリング３１５を含むことができる。このカスタム決定ポリシーは、例えば、ＭＦＰ１１５のランタイム動作中、ＭＦＰ１１５のランタイム動作中以外の間、ファームウェアのブートアップ中、またはインストール中に実施できる。
【００５７】
本発明の一実施形態では、カスタムスケジューリングポリシー２１５をマニュアルで起動してもよいし、または遠隔的にカスタム化してもよい。他の実施形態では、カスタムスケジューリングポリシー２１５を自動的に起動してもよい。一部の実施形態では、カスタムスケジューリングポリシー２１５が起動されると即座に、そのときの動作を中断することができ、より緊急の動作をスタートすることが可能となる。これとは異なり、そのときの動作の完了後に、より緊急の動作をスタートすることを認めてもよい。固定された日々のルーチンのような周期的カスタムスケジューリングポリシーを設定してもよい。逆に、ワンタイム、すなわち１回の実行方式で、非周期的なカスタムスケジューリングポリシーを設定してもよい。
【００５８】
Ａ．時間に基づくカスタムスケジューリングポリシー
時間に基づくカスタムスケジューリングポリシー３０５は、異なる期間で実行できるスケジュールポリシー１〜４を含むことができる。一部の実施形態では、朝３２０にカスタムに基づくプリントスケジューリングポリシーを起動でき、午後３２５にカスタムスキャニングポリシーを起動できる。例えばカスタムプリントスケジューリングポリシーが起動されると、プリント動作に関連する基礎となるタスクに対する調節を行うことができる。この調節は、上記のようにタスクチューニング機能２２０を使用する内部タスクスケジューリングポリシー変更２１０を含むことができる。
【００５９】
朝３２０にプリント動作がより緊急であると見なされ、昼３３０にファックス動作がより緊急であり、午後３２５にスキャン動作がより緊急であると見なされた場合、これら種々のカスタムスケジューリングポリシーを実行できる。図３には、一日の代表例が示されているが、ある期間（例えば一日、週、月または年など）に対して異なる時間に、異なるスケジューリングポリシーを起動できる。この時間に基づくスケジューリングポリシー３０５は、同じように週、月、年または一年より長い間にわたって分散させることができる。当業者であれば、時間に基づくスケジューリングポリシー３０５に対し、時間の数、順序、および長さの任意の組み合わせを使用できることが認識できよう。
【００６０】
時間に基づくスケジューリングのための別の可能な基準は、かなりの期間にわったって、例えば利用パターンの重要な統計値を収集するのに十分長い間にわたって得られる、特定の期間でのパフォーマンスの測定値である。例えば、かなりの期間を、複数の時間、複数の日、複数の週、または複数の年の長さとすることができる。従って、ユーザによってある動作が緊急であると見なすことができても、ＭＦＰ１１５のパフォーマンスを最適化または改善するのに、パフォーマンス測定値が異なるスケジューリングポリシーを決定し得る。
【００６１】
更に、後により詳細に説明するように、ユーザにより、または当技術分野の技術者により、マニュアルで、またはプロセッサのアイドル時間またはタスク実行時間３４０の測定値を使ってダイナミックに、時間に基づくカスタムスケジューリングポリシー３０５を決定し、起動できる。プロセッサアイドル時間またはタスク実行時間の他の別の基準３４５も使用できる。プロセッサアイドル時間またはタスク実行時間３４０は、時間に基づくカスタムスケジューリングポリシー３０５の決定をどの基準または統計値が助けになるかを判断できるその他の基準３４５と矛盾することが時々ある。
【００６２】
Ｂ．利用率に基づくカスタムスケジューリング
ＭＦＰの統計的利用パターン、例えばある期間にわたって作成されるコピー画像、スキャン画像、ファックス画像またはプリント画像の平均数３５０に基づき、またはプロセッサアイドル時間の履歴に基づき、利用率に基づくカスタムスケジューリングポリシー３１０を決定できる。この統計的利用パターンは、後述するようなタスクタイミングサマリまたはＭＦＰ動作に関する他の統計値も含むことができる。これら平均値はどの内部タスクスケジューリングポリシー変更を行わなければならないかを決定するために比較でき、これらポリシー変更の可能性については図２を参照し、これまで詳細に説明している。
【００６３】
統計的利用パターン分析した後に、当技術分野の技術者または他のユーザによるマニュアルの介入により、またはマニュアルの介入を行わないダイナミックなスケジューリング調節により、適当なカスタムスケジューリングポリシーを誘導し、実行できる。プリント画像、スキャン画像、コピー画像またはファックス画像の数の測定および平均化を行うのに、ＭＦＰとユーザとの相互対話は不要であるので、ＭＦＰは１つの動作、例えばプリントの優先度を別の動作、例えばスキャンよりも高くしなければならないかどうかを判断し、ダイナミックなモニタに応答し、利用率に基づくカスタムスケジューリングポリシー３１０を起動するように動作をダイナミックにモニタし管理できる。
【００６４】
上記の方法とは異なり、当技術分野の技術者または開発者がＭＦＰのパフォーマンス特性、例えばプロセッサのアイドル時間またはタスク実行時間３５５の履歴、またはプリント画像、スキャン画像、コピー画像またはファックス画像の平均数３５０をアクティブにモニタし、次に、後により詳細に説明するように、ランタイムの間にスケジューリングポリシーを調節するように、内部タスクスケジューリングポリシー変更をマニュアルで開始できる。当業者であれば、平均数、プロセッサアイドル時間またはタスク実行時間以外の他の基準３６０を使ってカスタムスケジューリングポリシーを決定することもできることが認識できよう。
【００６５】
Ｃ．インストールまたはアップグレードに基づくカスタムスケジューリングポリシー
ＭＦＰ１１５のカスタムスケジューリングポリシーは、インストールまたはアップグレードに基づくカスタムスケジューリングポリシー３１５も含むことができる。換言すれば、ユーザの期待利用パターンに基づき、ユーザのロケーションにて、ＭＦＰのインストール時にカスタムスケジューリングポリシーを決定してもよい。またはＭＦＰ１１５へのオペレーションソフトウェアをアップグレードする間にカスタムスケジューリングポリシーを決定してもよい。いずれのケースにおいても、特定のユーザロケーションに対して、どんな期待ＭＦＰ利用特性となるかに関する推定を、当技術分野の技術者または開発者が行うことができ、この推定値に応答してインストールまたはアップグレードに基づくカスタムスケジュールポリシー３１５を起動できる。この推定値は、期待される、または実際のプロセッサアイドル時間またはタスク実行時間３６５、もしくは他の基準３７０に基づくことができる。 
【００６６】
時間に基づくか、利用率で基づくか、またはインストール／アップグレードに基づくかのいずれかであるＭＦＰ１１５のカスタムスケジューリングポリシー２１５を、ＭＦＰ１１５の内外に位置する不揮発性記憶デバイス、例えばＲＯＭ、フラッシュメモリデバイス、またはハードディスクドライブに記憶し、ＭＦＰのパワーサイクルをカスタムスケジューリングポリシー２１５が保持できるようにするか、または他の方法でこのポリシーを記憶するか、伝送するか、再呼び出しするか、またはアクセスすることが可能である。
【００６７】
ＩＶ．遠隔モニタおよび管理
図４は、本発明の一実施形態に係わる通信メディア４０５を介して、ホスト１３５に結合されたＭＦＰ１１５を示す図である。このＭＦＰ１１５は、ＭＦＰ１１５に関連したパフォーマンス情報１２０を収集するように構成できる。一実施形態では、通信メディア４０５を介してホスト１３５へパフォーマンス情報１２０を伝送できる。他の実施形態では、フロントパネル１３０を介して、ユーザにパフォーマンス情報１２０をディスプレイできる。
【００６８】
次に、パフォーマンス情報１２０を分析し、この分析に応じて内部タスクスケジューリングポリシー変更２１０を決定できる。次に、通信メディア４０５を介し、ホスト１３５からＭＦＰ１１５へ変更２１０を伝送するか、またはフロントパネル１３０を介し、ユーザから変更２１０を受信することにより、ＭＦＰ１１５のランタイム中にこの変更２１０を起動できる。
【００６９】
コンピュータ４１０、モニタ４１５、キーボード４２０およびマウス４２５を含むホスト１３５が示されている。しかし、当業者であれば、ホスト１３５の代わりに使用できる代替物については認識できよう。代わりに、例えばノートブックコンピュータ、タブレットコンピュータまたはパーソナルデジタルアシスタント（ＰＤＡ）を使用できる。ホスト１３５は、その形態にもかかわらず、一般に当技術分野の技術者、開発者またはユーザによって使用され、ＭＦＰ１１５と相互対話するためのコンピュータシステムであり、このシステムによってパフォーマンス情報１２０の分析および内部タスクスケジューリングポリシー変更２１０の起動が可能となる。
【００７０】
Ａ．遠隔モニタおよび管理システムの概略図
図５は、図４の実施形態に係わる、通信メディア４０５に結合されたＭＦＰ１１５およびホスト１３５を示す図である。このＭＦＰ１１５は、少なくとも１つのプロセッサ５０５と、１つの通信メディア層５１０とを含むことができる。プロセッサ５０５は、タスクの優先レベルに従って、タスクの各々をコンテキストスイッチングすることによりタスク５１５を処理できる。ＭＦＰ１１５が２つのプロセッサ５０５を含む場合、各プロセッサで実行される極めて低い優先度のタスクを使用して、各プロセッサに対するアイドル時間を測定できる。この測定データは、パフォーマンス情報１２０内に含ませることができる。
【００７１】
１つのプロセッサ５０５と他のプロセッサ５０５とを比較したときに、１つのプロセッサ５０５が大幅にアイドル状態となっていることをパフォーマンス情報１２０が明らかにしたとき、１つのプロセッサに対するアフィニティを有するタスクを他のプロセッサにシフトできる。更にネットワーク動作に関連するタスクが大幅にアイドル状態になっていることをパフォーマンス情報１２０が明らかにした場合、プリントのような、より緊急の動作をより効率的に完了することを認めるように、そのタスクの優先レベルを下げてもよい。当業者であれば、本明細書で説明したもの以外の、内部タスクスケジューリングレベルに対する他の変更を行うことができると認識できよう。内部タスクスケジューリングポリシーの管理をより容易に、かつより効率的にするように、プリント、スキャン、コピー、ファックスまたはネットワーク動作に関連するタスクグループとなるように、タスク５１５をグループ分けすることができる。
【００７２】
通信メディア４０５に通信メディア層５１０を結合してもよい。この通信メディア層５１０は、パフォーマンス情報１２０および内部タスクスケジューリングポリシー変更２１０を含むデータグラム（パケット）を、ユーザデータグラムプロトコル（ＵＤＰ）でホスト１３５との間で送受信するＵＤＰメッセージングファームウェアを含むことができる。なお、ＵＤＰとは、インターネットで利用されるコネクションレス型通信の標準プロトコルである。しかしながら、当業者であれば異なる基礎となるネットワークプロトコル、例えばＵＳＢ、パラレルポート、シリアルポート、ＩＥＥＥ１３９４、無線、光学的または赤外線手段を使用できることが認識できよう。
【００７３】
Ｂ．プリンタジョブ言語（ＰＪＬ）に関連する内部タスクスケジューリングポリシー変更
ＭＦＰ１１５は、本明細書で参考例として援用する「画像形成ノードの適応制御のための方法およびシステム」を発明の名称とし、２００７年９月１９日に米国特許庁に出願された本願出願人を出願人とし、継続中の米国特許出願第11/901,752号に記載されているようなプリントジョブ言語（ＰＪＬ）パーサ５２０も含むことができる。ここで、ＰＪＬパーサ５２０で例示する抽出手段は、ジョブ伝送手段によりホスト１３５とＭＦＰ１１５との間で伝送されるＰＪＬジョブ内に含まれる少なくとも１つの内部タスクスケジューリングポリシー変更（例えば変更２１０）をパースするようにも構成することもできる。この変更２１０は、図２および４を参照してこれまで説明したようなプリント、スキャン、コピー、ファックスまたはネットワーク動作の優先レベルを調節できる。この変更２１０は、例えば、タスクを追加するコマンド、タスクを削除するコマンド、タスクをロードするコマンド、タスクをアンロードするコマンド、タスクをサスペンドするコマンド、またはタスクをアンサスペンドするコマンドも含むことができる。ＰＪＬパーサ５２０は、通信メディア層５１０を介し、通信メディア４０５に結合でき、通信メディア４０５から少なくとも１つのＰＪＬジョブも受信し、ＰＪＬジョブから変更２１０をパースまたは抽出できる。
【００７４】
Ｃ．タスクランタイムコントローラ
一部の実施形態では、ＭＦＰ１１５はＰＪＬパーサ５２０および通信メディア層５１０に結合されたタスクランタイムコントローラ５２５を含むことができる。このタスクランタイムコントローラ５２５は、パフォーマンス情報１２０をホスト１３５またはフロントパネル１３０へ伝送し、ホスト１３５またはフロントパネル１３０から伝送された変更２１０を受信し、処理できる。タスクランタイムコントローラ５２５は、パフォーマンス情報１２０を収集するために、更に後述する高分解能タイマ（ＨＲＴ）５３０を含むことができる。タスクランタイムコントローラ５２５の一部として、更に後述するタスクチューナ５３５も含むことができ、このタスクチューナ５３５は、例えば、ＭＦＰ１１５のランタイム動作中、ＭＦＰ１１５のランタイム動作中以外の間、ユーザロケーションでのインストール中、ＭＦＰ１１５の初期化中、またはＭＦＰ１１５のアップグレード中に、変更２１０またはカスタムスケジューリングポリシーを起動する。更に、タスクランタイムコントローラ５２５は、パフォーマンス情報１２０および変更２１０のブックキーピング動作を実行するためのタスクマネージャー（図示せず）を含むことができる。ここで、ブックキーピング動作とは、パフォーマンス情報１２０の履歴、最新の良好なスケジューリングポリシー、最新の変更２１０などについて、保存していくこと（つまり保存し更新していくこと）、最新の良好なスケジューリングポリシーを検索して適用すること、並びに、保存したデータをアップロードすることなどを含む動作である。
【００７５】
Ｄ．通信メディア層
一部の実施形態では、ホスト１３５は、ＭＦＰ１１５の通信メディア層５１０に類似し得る通信メディア層５４０を含むことができる。一般にこの通信メディア層５４０および５１０は、ホスト１３５とＭＦＰ１１５との間の通信リンクをイネーブルする。ホスト１３５は、タスクモニタおよび制御インターフェース５４５も含むことができ、このインターフェースはパフォーマンス情報１２０をディスプレイし、ユーザが変更２１０を含むＰＪＬジョブを生成し、これらジョブをＭＦＰ１１５に伝送可能とするのに使用できる。
【００７６】
ＭＦＰ１１５から物理的に離間しているホスト１３５を使ってＰＪＬジョブを生成できる。このＰＪＬジョブは、通信メディア４０５を介してＭＦＰ１１５に伝送でき、このＰＪＬジョブは、少なくとも１つのリクエストされたアクション、例えばパフォーマンス情報１２０のためのリクエストを含むことができる。ＭＦＰ１１５で実行されるタスクのためのパフォーマンス情報１２０が収集され、通信メディア４０５を介してＭＦＰ１１５からホスト１３５へ、このパフォーマンス情報が伝送され、分析される。ＭＦＰ１１５から収集されたパフォーマンス情報１２０は、測定されたプロセッサアイドル時間またはタスク５１５の各々または一部に関連する経過した実行時間を含む、タスクタイミングサマリおよび統計値（例えば図７の７０５）を含むことができる。
【００７７】
この結果、内部タスクスケジューリングポリシー変更２１０をＭＦＰ１１５に送るべきかどうかの判断を行うことができる。変更２１０を送るべきと判断された場合、変更２１０を含むＰＪＬジョブを生成できる。次に、変更２１０を含むＰＪＬジョブをホスト１３５からＭＦＰ１１５へ伝送できる。この変更２１０は、ＰＪＬパーサ５２０を使ってＰＪＬジョブからパースでき、変更２１０に従って内部タスクスケジューリングレベルまたはポリシーを調節できる。
【００７８】
Ｖ．ＭＦＰタスクランタイムコントローラのタスクチューナ
図６は、図５のＭＦＰタスクランタイムコントローラ５２５のＭＦＰタスクチューナ５３５を示す概略図である。このＭＦＰタスクチューナ５２５は、タスクスケジューリングデータ６０５、ウォッチドッグタイマ６１０、ＡＰＩ（アプリケーションプログラムインターフェース）６１５、およびカーネル／オペレーティングシステム（ＯＳ）機能６２０を含むことができる。タスクスケジューリングデータ６０５は、デフォルトタスクスケジューリングポリシー６２５、タイマスケジュール６３０、タスクスケジューリングポリシー６３５および現在のタスクスケジューリングポリシー６４０を含むことができる。タスクチューナ５３５は、前に記載したように、タスクチューニング機能２２０を作動的に提供できる。
【００７９】
一部の実施形態では、ＡＰＩ６１５は、デフォルトタスクスケジューリングポリシー６２５を使用するために、タスクチューナ５３５を初期化する初期化機能を含むことができる。デフォルトタスクスケジューリングポリシー６２５は、ＡＰＩ６１５に含まれる設定デフォルト機能を使って変更できる。これとは異なり、タスクスケジューリングポリシー６３５からデフォルトスケジューリングポリシー６２５を除くタスクスケジューリングポリシーを選択し、現在のタスクスケジューリングポリシー６４０に設定できる。例えば、ＭＦＰ１１５のランタイム動作中、ＭＦＰ１１５のランタイム動作中中以外の間、ユーザロケーションでのインストール中、ＭＦＰ１１５の初期化中、またはＭＦＰ１１５のアップグレード中に、現在のタスクスケジューリングポリシー６４０を決定してもよい。
【００８０】
ウォッチドッグタイマ６１０は、タイマスケジュール６３０のステータスをモニタできる。タスクスケジューリングポリシーが終了していることをタイマスケジュール６３０が示した場合、新しい現在のタスクスケジューリングポリシー６４０に応答し、１つ以上のカーネル／ＯＳ機能６２０をコールするのに、ＡＰＩ６１５に含まれるアップデート機能を使用できる。カーネル／ＯＳ機能６２０は、例えば、タスク優先変更機能、タスク追加機能、タスク削除機能、タスクロード機能、タスクアンロード機能、タスクサスペンド機能またはタスクアンサスペンド機能を含むことができる。更に前に説明したように、カスタムタスクスケジューリングポリシー６３５をＭＦＰ１１５の内外にある不揮発性記憶デバイス、例えばリードオンリーメモリ（ＲＯＭ）、フラッシュメモリデバイス、またはハードディスクドライブに記憶し、スケジューリングポリシー６３５がＭＦＰのパワーサイクルを保持することができ、または他の方法で記憶し、伝送し、またはアクセスできる。
【００８１】
ＶＩ．ＭＦＰのタスクランタイムコントローラの高分解能タイマ（ＨＲＴ）
図７は、図５の高分解能タイマ（ＨＲＴ）５３０を示す概略図である。ＨＲＴ５３０は、グローバルデータ７１０を含むことができる。このグローバルデータ７１０は、初期データ７１５、ウォッチドックタイマ７３５での計時開始からの現在の経過時間（つまり現在のカウント値）である現在のウォッチドッグタイム７２０、タスクタイミングサマリおよび統計値７０５、現在のタスク制御ブロックおよびタイムスタンプ７２５、および現在の経過時間７３０を含むことができる。図７は、ウォッチドッグタイマ７３５および固定インターバルウォッチドッグタイマ７４０を示すが、任意の数のウォッチドッグタイマを使用することができる。ＨＲＴ５３０は、ＡＰＩ７４５およびカーネル／ＯＳ機能７５０も含む。
【００８２】
一部の実施例では、ウォッチドッグタイマ７３５は、タスク（例えば図５のタスク５１５）のステータスをモニタし、よって現在のウォッチドッグタイム７２０を更新できる。一般にウォッチドッグタイマ７３５のほうが固定インターバルウォッチドッグタイマ７４０よりも高いタイミング分解能を有し、９００年間までタイマを終了しないように較正機能を活用している。この、より高い分解能は、マイクロ秒精度のレンジ内にあることが好ましい。このことは、一般に使用されている３２ビットプロセッサのタイミングの制限を解消するのに役立つ。固定インターバルのウォッチドッグタイマ７４０は、より低いタイミング分解能を使用し、タスクタイミングサマリおよび統計値７０５を更新するのに使用できる。固定インターバルのウォッチドッグタイマ７４０は、ＡＰＩ７４５を使って任意の時間で停止またはスタートできる。
【００８３】
一部の実施形態では、タスクのうちの少なくとも一部に対する開始および終了実行時間には、ＨＲＴ５３０を使ってタイムスタンプされる。このように、タスクの各々に対する経過実行時間および／またはアイドル時間は、タイムスタンプを使って計算できる。これら経過実行時間およびアイドル時間を使ってタスクタイミングサマリおよび統計値７０５を生成できる。これらタスクタイミングサマリおよび統計値７０５は、パフォーマンス情報１２０内に含まれてもよく、ＭＦＰによりダイナミックに、または当技術分野の技術者または開発者によってマニュアルで分析できる。
【００８４】
ＡＰＩ７４５は初期データ７１５をリセットするための初期化機能を含むことができ、初期データはアクティブタスク制御ブロック（ＴＣＢ）を含むことができる。タスク作成カーネル／ＯＳ機能７５０を使ってタスクのうちの１つ（例えば図５のタスク５１５のうちの１つ）を作成するとき、現在のタスク制御ブロックおよびタイムスタンプ７２５を更新できるように、高分解能タイマ７１０はタスク作成カーネル／ＯＳ機能をフックする。タスクのうちの１つがステートを変えると、現在の経過時間７３０を更新できるように、高分解能タイマ７１０はステートの変化をフックする。同様に、タスクのうちの１つが離れると、高分解能タイマ７１０は、その削除をフックし、現在の経過時間７３０を更新できる。
【００８５】
ＶＩＩ．タスク優先度管理
図８は、ＭＦＰの動作およびそれに関連するタスクスケジューリングレベルによってアレンジされたタスクグループ（例えば８０５、８１０）の実施形態を示す図である。前に述べたように、ＭＦＰは、例えばプリント動作、スキャン動作、コピー動作、ファックス動作、およびネットワーク動作を実行できる。プリントタスクグループ（例えば８１５、８２０）は、プリント動作に関連でき、スキャンタスクグループ（例えば８２５、８３０）は、スキャン動作に関連でき、コピータスクグループ（８３５、８４０）は、コピー動作に関連でき、ファックスタスクグループ（例えば８４５、８５０）は、ファックス動作に関連でき、ネットワークタスクグループ（例えば８５５、８６０）は、ネットワーク動作に関連できる。他のタスクグループ８６５および８７０も、他の動作に関連できる。
【００８６】
８０５に示されるように、内部タスクスケジューリングポリシー変更２１０または（図２の）ＭＦＰカスタムスケジューリングポリシー２１５に応じて、ＭＦＰのランタイム中にプリントタスクグループ８１５の優先レベルを上げてもよいし、他方、他のタスクグループ（例えばスキャンタスクグループ８２５、コピータスクグループ８３５、ファックスタスクグループ８４５、ネットワーク形成タスクグループ８５５、または他のタスクグループ８６５）の優先レベルを下げるか、または維持してもよい。
【００８７】
同様に、８１０に示されるように、ＭＦＰのランタイム中にスキャンタスクグループ８３０の優先レベルを上げ、他方、残りのタスクグループ（例えばプリントタスクグループ８２０、コピータスクグループ８４０、ファックスタスクグループ８５０、ネットワーク形成タスクグループ８６０、または他のタスクグループ８７０）の優先レベルを下げるか、または維持してもよい。
【００８８】
ＭＦＰの動作に基づいてグループ分けされるタスクグループの優先レベルの上げ下げの任意の組み合わせを実行できる。例えば優先レベルを調節することは、（ａ）プリントタスクグループ（例えば８１５、８２０）、（ｂ）スキャンタスクグループ（例えば８２５、８３０）、（ｃ）コピータスクグループ（例えば８３５、８４０）、（ｄ）ファックスタスクグループ（例えば８４５、８５０）、（ｅ）ネットワーク形成タスクグループ（例えば８５５、８６０）、または（ｆ）その他のタスクグループ（例えば８６５、８７０）の優先レベルを他のグループのタスクの優先レベルよりも上に上げることを含むことができる。
【００８９】
更に、タスクグループの各々は、異なる時間中に他のタスクグループよりも高い優先レベルを有することができる。例えば第１の期間中にプリントタスクグループ８１５の優先レベルを他のタスクグループよりも高いか、または低い優先レベルとなるように調節し、第２の期間中にスキャンタスクグループ８２５の優先レベルを他のタスクグループよりも高いか、または低い優先レベルとなるように調節し、次々に同様なことを行うことができる。
【００９０】
ＶＩＩＩ．サマリ
以上で、図示した実施形態を参照し、本発明の原理について説明し、図示したが、かかる原理から逸脱することなく、配置および細部について図示した実施形態を変更し、任意の所望する態様で組み合わせできることが認識できよう。更にこれまでの説明は、特定の実施形態に焦点を合わせたが、他の構造も想到できる。特に「本発明の一実施形態によれば」なる記載または同様な記載を本明細書で使用しても、これらフレーズは実施形態の可能性の記述であることを意味し、本発明を特定の実施形態の構造に限定するものではない。本明細書で示すようなこれら用語は、他の実施形態に組み合わせできる同一または異なる実施形態を基準にすることができる。
【００９１】
従って、本明細書に説明した実施形態の広範な種々の組み合わせを鑑みれば、これまでの詳細な説明および添付資料は単に説明のためのものにすぎず、発明の範囲を限定するものと見なしてはならない。従って、本発明として請求されているものは特許請求の範囲の要旨内の、かかるすべての変形例およびその均等物である。
【符号の説明】
【００９２】
１０５…多機能プリンタ（ＭＦＰ）のモニタリング、１１０…パフォーマンスモニタリング能力、１２５…所望する提示フォーマット、１５５…他のメディア、１３０…ＭＦＰのフロントパネル、１３５…ホスト、１２０…パフォーマンス情報、１４５…プリントアウト、１４０…ウェブサイト。
【図１】
0004960983.tif 000002
【図２】
0004960983.tif 000003
【図３】
0004960983.tif 000004
【図４】
0004960983.tif 000005
【図５】
0004960983.tif 000006
【図６】
0004960983.tif 000007
【図７】
0004960983.tif 000008
【図８】
0004960983.tif 000009