JP2005295515A - 電子機器、ジョブ表示方法、ジョブ表示プログラム - Google Patents

電子機器、ジョブ表示方法、ジョブ表示プログラム Download PDF

Info

Publication number
JP2005295515A
JP2005295515A JP2005057890A JP2005057890A JP2005295515A JP 2005295515 A JP2005295515 A JP 2005295515A JP 2005057890 A JP2005057890 A JP 2005057890A JP 2005057890 A JP2005057890 A JP 2005057890A JP 2005295515 A JP2005295515 A JP 2005295515A
Authority
JP
Japan
Prior art keywords
job
information
jobs
display method
thread
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2005057890A
Other languages
English (en)
Other versions
JP4714483B2 (ja
Inventor
Hisanori Takahashi
久憲 高橋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2005057890A priority Critical patent/JP4714483B2/ja
Priority to US11/072,593 priority patent/US20050206913A1/en
Publication of JP2005295515A publication Critical patent/JP2005295515A/ja
Application granted granted Critical
Publication of JP4714483B2 publication Critical patent/JP4714483B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)
  • Control Or Security For Electrophotography (AREA)
  • Debugging And Monitoring (AREA)
  • Facsimiles In General (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

【課題】 画像形成処理のジョブの管理に好適なユーザインタフェースを提供する電子機器、ジョブ表示方法と、その方法を実行するジョブ表示プログラムを提供する。
【解決手段】 所定の処理により発生するジョブに関するジョブ情報を表示する電子機器において、任意のジョブと他のジョブとの関連を示すジョブ構造情報と、前記ジョブ構造情報に基づいて、前記ジョブ情報を表示するGUI表示手段とを有する。
【選択図】 図60

Description

本発明は、画像形成に係るジョブを表示する電子機器、ジョブ表示方法、及びその方法を実行するジョブ表示プログラムに関する。
近年、ファクシミリ、プリンタ、コピーおよびスキャナなどの各装置の機能を1つの筐体内に収納した画像形成装置が知られるようになった。この画像形成装置は、1つの筐体内に表示部、印刷部および撮像部などを設けると共に、ファクシミリ、プリンタ、コピーおよびスキャナにそれぞれ対応する4種類のアプリケーションを設け、そのアプリケーションを切り替えることより、ファクシミリ、プリンタ、コピーおよびスキャナとして動作させるものである。
このような画像を出力、変更、移動動作などの画像形成に係る処理は、ジョブといわれる処理単位で実行される。例えばコピーを行う場合、画像形成装置では原稿を読み取る処理と、読み取った原稿を印刷する処理が行われるため、原稿読み取りジョブと印刷のジョブが発生する。このジョブが発生しない例として、画像形成装置の設定を変更する操作を行う場合があり、このときは画像に対する処理が行われないので、ジョブは発生しない。
このジョブは、処理の過程でより細かいジョブとなることがある。このことを、図1を用いて説明する。例えばコピーを行う場合、画像形成装置には、まず「コピージョブ」が発生する。そして、このコピージョブから「読み取りジョブ」と「印刷ジョブ」の2つのジョブが派生する。このように1つのジョブから新たなジョブが派生した場合、前者を「親ジョブ」、後者を「子ジョブ」と呼ぶことにする。
親ジョブ、子ジョブと表現すると、両者が同時に存在するようなイメージとなるが、従来では子ジョブが派生すると、親ジョブは消滅する。上の例で言えば、「読み取りジョブ」と「印刷ジョブ」が派生すると、「コピージョブ」は消滅する。従って、従来において派生するとは、親ジョブが分裂して子ジョブとなるイメージである。
上述したコピージョブでは、1回の派生であったが、処理によってはジョブの派生が複数回行われる場合がある。例えば、図2に示されるような、カラーページと白黒ページが混在した文書を印刷する際に、カラーページと白黒ページを別のプロセスで印刷する場合を考える。
まず、画像形成装置がユーザから受けた要求により、「印刷ジョブ」が発生する。そして、印刷ジョブから「カラープリントジョブ」と「白黒プリントジョブ」が派生する。さらに、印刷を行うページ数の単位で「プロッタジョブ」が派生する。
このように派生していく様子を図にすると、図2に示されるようなジョブ構造となるが、このジョブ構造における最も根元にあるジョブを「根幹ジョブ」、末端にあるジョブを「末端ジョブ」と呼ぶ。図2の場合、根幹ジョブは、プリントジョブであり、末端ジョブは、プロッタジョブである。この根幹ジョブは、従来、スプールで処理されると消滅するようになっている。
また、従来技術におけるジョブ管理では、各アプリケーション(以下、アプリケーションをアプリと表現することがある)が根幹ジョブ用のキューをそれぞれ持っており、ジョブを処理する順番を管理している。例えば、図3に示されるように、プリンタ用のアプリケーションであるプリンタアプリは、プリンタアプリ根幹ジョブ用キューで、キューに積まれた根幹ジョブA、B、Cのように、順番を管理している。
また、プロッタなどのハードウェアに対する末端ジョブも専用のキューがあり、それにより処理する順番の管理を行っている。例えば、図4に示されるように、各アプリや末端のジョブを管理するサービス層のモジュールは、プロッタジョブ用キューで、キューに積まれた末端ジョブA、B、Cのように、順番を管理する。
ジョブを管理するモジュールはそれらのキューにアクセスすることでジョブの情報を取得し、その情報をパソコン上のアプリに渡すことで、アプリが図5のようなユーザインタフェースを表示することができる。図5に示される従来のユーザインタフェースは、根幹ジョブを表示するもので、根幹ジョブがスプールで処理されると消滅するようになっている。
以上のように、従来は、根幹ジョブがスプールで処理されると消滅するので、ある子ジョブがどの親ジョブから派生したものか判別できない。そのため、例えば、ある末端ジョブでエラーが発生したが、それがどの要求で生じたエラーなのか判別できなかった。また、ある要求に対して発生した根幹ジョブを途中で中止しようとしても、派生した子ジョブの中止ができないため、処理が中止できないという問題点がある。
本発明は、このような問題点に鑑み、画像形成処理のジョブの管理に好適なユーザインタフェースを提供する電子機器、ジョブ表示方法と、その方法を実行するジョブ表示プログラムを提供することを目的とする。
上記課題を解決するために、本発明は、所定の処理により発生するジョブに関するジョブ情報を表示する電子機器において、任意のジョブと他のジョブとの関連を示すジョブ構造情報と、前記ジョブ構造情報に基づいて、前記ジョブ情報を表示するGUI表示手段とを有することを特徴とする。
また、上記課題を解決するために、本発明は、前記GUI表示手段は、前記ジョブが属する機器を、該ジョブに関連付けて表示することを特徴とする。
また、上記課題を解決するために、本発明は、前記GUI表示手段は、全てのジョブのジョブ情報を表示することを特徴とする。
また、上記課題を解決するために、本発明は、前記ジョブを検索するためのジョブ検索手段を有することを特徴とする。
また、上記課題を解決するために、本発明は、前記GUI表示手段は、前記ジョブのうちの根幹ジョブのみのジョブ情報を表示することを特徴とする。
また、上記課題を解決するために、本発明は、前記GUI表示手段は、前記ジョブのうちの末端ジョブのみのジョブ情報を表示することを特徴とする。
また、上記課題を解決するために、本発明は、前記GUI表示手段は、前記ジョブ同士の関係を明示するように前記ジョブ情報を表示することを特徴とする。
また、上記課題を解決するために、本発明は、前記GUI表示手段は、各ジョブに対して実行可能な所定の操作項目を表示することを特徴とする。
また、上記課題を解決するために、本発明は、前記操作項目は、ジョブの中止、ジョブの中断、ジョブの再実行、前記ジョブ情報の編集、前記ジョブを実行する機器を変更のうちのいずれか1つ以上の項目であることを特徴とする。
また、上記課題を解決するために、本発明は、前記ジョブ情報は、前記ジョブの処理内容を示す種別と、前記ジョブの状態と、前記ジョブを識別するための識別情報と、前記ジョブのオーナー名と、前記ジョブが作成された日のうちのいずれか1つ以上の情報を含むことを特徴とする。
また、上記課題を解決するために、本発明は、前記ジョブ構造情報は、前記ジョブの親子関係を示す情報であることを特徴とする。
また、上記課題を解決するために、本発明は、前記ジョブ構造情報を、1つ以上の機器から取得するジョブ構造情報取得手段を有することを特徴とする。
また、上記課題を解決するために、本発明は、前記各機器から取得したジョブ構造情報を結合して1つのジョブ構造情報とする全体ジョブ構造情報作成手段を有することを特徴とする。
また、上記課題を解決するために、本発明は、前記ジョブ構造情報は、前記ジョブごとに作成されるジョブ関連情報に基づき作成されることを特徴とする。
また、上記課題を解決するために、本発明は、前記ジョブ関連情報は、前記ジョブの祖先にあたる全てのジョブの識別情報を含むことを特徴とする。
また、上記課題を解決するために、本発明は、前記ジョブ関連情報は、前記ジョブの親ジョブの識別情報を含むことを特徴とする。
また、上記課題を解決するために、本発明は、前記ジョブ関連情報は、前記ジョブの子孫にあたる全てのジョブの識別情報を含むことを特徴とする。
また、上記課題を解決するために、本発明は、前記ジョブ関連情報は、前記ジョブの子ジョブの識別情報を含むことを特徴とする。
また、上記課題を解決するために、本発明は、画像形成処理で使用されるハードウェア資源と、画像形成に係る処理を行うプログラムとをさらに有することを特徴とする。
また、上記課題を解決するために、本発明は、前記GUI表示手段からの通知により、他の機器に属していたジョブを実行することを特徴とする。
また、上記課題を解決するために、本発明は、前記GUI表示手段からの通知により、他の機器に自らが実行すべきジョブを実行させることを特徴とする。
また、上記課題を解決するために、本発明は、所定の処理により発生するジョブに関するジョブ情報を表示するジョブ表示方法において、任意のジョブと他のジョブとの関連を示すジョブ構造情報を受信するジョブ構造受信段階と、前記ジョブ構造情報に基づいて、前記ジョブ情報を表示するGUI表示段階とを有することを特徴とする。
また、上記課題を解決するために、本発明は、前記GUI表示段階は、前記ジョブが属する機器を、該ジョブに関連付けて表示することを特徴とする。
また、上記課題を解決するために、本発明は、前記GUI表示段階は、全てのジョブのジョブ情報を表示することを特徴とする。
また、上記課題を解決するために、本発明は、前記GUI表示段階は、前記ジョブのうちの根幹ジョブのみのジョブ情報を表示することを特徴とする。
また、上記課題を解決するために、本発明は、前記GUI表示段階は、前記ジョブのうちの末端ジョブのみのジョブ情報を表示することを特徴とする。
また、上記課題を解決するために、本発明は、前記GUI表示段階は、前記ジョブ同士の関係を明示するように前記ジョブ情報を表示することを特徴とする。
また、上記課題を解決するために、本発明は、前記GUI表示段階は、各ジョブに対して実行可能な所定の操作項目を表示することを特徴とする。
また、上記課題を解決するために、本発明は、前記操作項目は、ジョブの中止、ジョブの中断、ジョブの再実行、前記ジョブ情報の編集、前記ジョブを実行する機器を変更のうちのいずれか1つ以上の項目であることを特徴とする。
また、上記課題を解決するために、本発明は、前記ジョブ情報は、前記ジョブの処理内容を示す種別と、前記ジョブの状態と、前記ジョブを識別するための識別情報と、前記ジョブのオーナー名と、前記ジョブが作成された日のうちのいずれか1つ以上の情報を含むことを特徴とする。
また、上記課題を解決するために、本発明は、前記ジョブ構造情報は、前記ジョブの親子関係を示す情報であることを特徴とする。
また、上記課題を解決するために、本発明は、前記ジョブ構造情報を、1つ以上の機器から取得するジョブ構造情報取得段階を有することを特徴とする。
また、上記課題を解決するために、本発明は、前記ジョブ構造情報は、前記ジョブごとに作成されるジョブ関連情報に基づき作成されることを特徴とする。
また、上記課題を解決するために、本発明は、前記ジョブ関連情報は、前記ジョブの祖先にあたる全てのジョブの識別情報を含むことを特徴とする。
また、上記課題を解決するために、本発明は、前記ジョブ関連情報は、前記ジョブの親ジョブの識別情報を含むことを特徴とする。
また、上記課題を解決するために、本発明は、前記ジョブ関連情報は、前記ジョブの子孫にあたる全てのジョブの識別情報を含むことを特徴とする。
また、上記課題を解決するために、本発明は、前記ジョブ関連情報は、前記ジョブの子ジョブの識別情報を含むことを特徴とする。
また、上記課題を解決するために、本発明は、コンピュータに、請求項22から請求項37に記載のジョブ表示方法を実行させるためのジョブ表示プログラム。
本発明は以上説明したように、画像形成処理のジョブの管理に好適なユーザインタフェースを提供する電子機器、ジョブ表示方法と、その方法を実行するジョブ表示プログラムを提供することができる。
以下、図面を参照し、本発明を実施するための最良の形態について説明する。本実施の形態では、最初に処理の概要を説明し、その後、処理の詳細な説明を行い、ユーザインタフェースについて説明する。また、電子機器をMFP(Multi Function Printer)と記すことにする。なお、ジョブを表示するのは、MFPに限らず、MFPと接続されたパソコンであっても良い。
最初に処理の概要について説明する。本実施の形態は、ジョブに関する内容が多くを占めるので、まずジョブに対する操作とジョブの状態について説明する。ジョブに対する操作には、「ジョブの中止」と、「ジョブの中断」と、「ジョブの再実行」と、「ジョブ情報の編集」と、「ジョブを実行する機器の変更」とがある。
「ジョブの中止」とは、ジョブの実行を取り止める操作である。この「ジョブの中止」は、ジョブの状態が「実行中」、「エラー発生中」、「待機中」、「中断中」であるジョブに対して行うことができる。中止されたジョブは、それ以降実行されることはない。
「ジョブの中断」とは、ジョブの実行を一時的に止める操作である。この「ジョブの中断」は、ジョブの状態が「実行中」もしくは「待機中」であるジョブに対して行うことができる。
「ジョブの再実行」とは、「エラー発生中」、「中断中」の状態のジョブを再び実行する操作である。再実行時に他のジョブが実行されていて、再実行されたジョブをすぐに実行できない場合、そのジョブの状態は「待機中」となる。
「ジョブ情報の編集」とは、ジョブを実行する時の条件を変更する操作である。例えばFAX送信の宛先を別の宛先に変更する操作などが、ジョブ情報の編集にあたる。ジョブ情報の編集は、ジョブの状態が「エラー発生中」、「待機中」、「中断中」であるジョブに対して行うことができる。
「ジョブを実行する機器の変更」とは、ジョブを実行する機器を変更する操作である。例えば、2台のMFPがあり、現在印刷しているMFPにかえて、もう1つのMFPで印刷を実行するような操作がジョブを実行する機器の変更にあたる。
次に、ジョブの状態について説明する。ジョブの状態には、「実行中」と、「待機中」と、「エラー発生中」と、「中断中」と、「完了」と、「中止」とがある。
「実行中」とは、ジョブが実行されている状態である。「待機中」とは、ジョブが実行されるのを待っている状態である。この状態において、実行の順番が回ってくると、ジョブの状態は「実行中」になる。「エラー発生中」とは、ジョブの実行中に何らかのエラーが発生し、ジョブの実行ができなくなっている状態である。この状態において、エラーが取り除かれるとジョブが再開され、そのジョブの状態は「実行中」になる。
「中断中」とは、ユーザからの操作によりジョブの実行が一時的に止まっている状態である。「完了」とは、ジョブが正常に終了した状態である。「中止」とは、ユーザからの操作でジョブの実行が取り止められた状態である。
次に、図6を用いてジョブの状態遷移について説明する。図6には、状態とイベントが示されており、この図はそれらイベントによる状態遷移を示す図である。イベントには、ジョブの実行、ジョブの完了、再実行、中断、エラー発生、中止の6つある。このうち、ジョブの実行と、ジョブの完了と、エラー発生は、内部イベントである。
基本的に、イベントが中止の場合、ジョブの状態が何であってもジョブの状態は中止605に遷移し、そのままジョブが終了するだけとなる。またイベントが再実行の場合、ジョブの状態が何であってもジョブの状態は待機中601に遷移する。
通常、ジョブの状態は待機中601から、実行中602、そして完了603と遷移する。状態が待機中601のときは、ジョブの実行により実行中602に状態が遷移する。また、イベントが中断のときは、状態が中断中604に遷移する。
状態が実行中602のときは、中断、エラー発生、中止のいずれかイベントにより状態が遷移する。まず、イベントが中断のときは、状態が中断中604に遷移する。イベントがエラー発生のときは、状態がエラー発生中606に遷移する。
状態が中断中604のときは、再実行または中止のイベントにより状態が遷移する。状態がエラー発生中のときは、再実行または中止のイベントにより状態が遷移する。
ジョブの状態遷移は以上のようになっている。次に、ジョブの派生について説明する。図7は、根幹ジョブから派生した子ジョブを示す図である。また、図7に示されるような、ジョブとジョブとの関係を示したものをジョブ構造といい、ジョブ構造を示す情報をジョブ構造情報という。このジョブ構造情報は、本実施の形態ではジョブ構造テーブルと表現され、ジョブ構造テーブルについては後に詳しく説明する。
従来技術において、根幹ジョブはスプールで処理されると消滅するので、根幹ジョブから派生した子ジョブとの親子関係が保持されることはなかった。そこで、本実施例では、どのジョブも自分から派生した全ての子ジョブの処理が終了するまで消滅しないように保持しておくようにする。
例えば、図7において、従来技術ではジョブA400は、ジョブA-A401とジョブA-B402を派生すると消滅していた。そのため図7のようなジョブ構造がMFP内では分からなかった。しかし、本実施例において、ジョブA400は子ジョブであるジョブA-A401とジョブA-B402が処理されるまで保持される。また、ジョブA-A401は子ジョブであるジョブA-A-A403とジョブA-A-B404が処理されるまで保持される。さらに、ジョブA-B402は、ジョブA-B-A405が処理されるまで保持される。このようにすることにより、図7に示すジョブ構造をMFP内で構築することが可能となる。
次に、ジョブの派生パターンについて説明する。図8は、1つのジョブから1つのジョブが派生するパターンを示す図である。図8には、1つのプリントジョブ410から1つの印刷ジョブ411が派生し、その印刷ジョブ411から1つのプロッタジョブ412が派生していることが示されている。
次に、図9を用いて、1つのジョブから複数のジョブが派生するパターンについて説明する。図9には、1つのプリントジョブ415から1つの印刷ジョブ416が派生し、その印刷ジョブ416から白黒プリントジョブ417、カラープリントジョブ418という2つのジョブが派生している。さらに白黒プリントジョブ417からは2つのプロッタジョブ419、420が派生している。また、カラープリントジョブ418からプロッタジョブ421が派生している。
次に、複数のMFPが連携した場合のジョブ構造について説明する。図10は、2つのMFPが連携した場合のジョブ構造を示している。図10には、MFPAが実行するジョブのジョブ構造271と、MFPBが実行するジョブのジョブ構造272とが示されている。
ジョブ構造271には、根幹ジョブである印刷ジョブ259と、白黒プリントジョブ254と、プロッタジョブ255、256がある。ジョブ構造272には、カラープリントジョブ257と、プロッタジョブ258がある。
このように、印刷ジョブ259から派生した白黒プリントジョブ254は、MFPAに、同様に派生したカラープリントジョブ257は、MFPBに割り当てることで、ジョブの分担が可能となる。
なお、図10には、ジョブを特定するためのジョブIDが示されている。ジョブ構造271、272に属するジョブのジョブIDは、そのジョブIDをジョブID全体でユニークなものとされる。
このジョブIDは、6ビットとされ、上位3ビットをMFPの識別コードとし、下位3ビットを、そのMFP内のジョブのなかでユニークな値としている。実際、図10において、MFPA251の識別コードは「001」とされ、MFPBの識別コードは、「002」とされている。また、各ジョブ構造に属するジョブIDの下位3ビットは、各MFP内のジョブのなかでユニークなものとなっている。
以上説明したように、ジョブの派生には、1つのジョブから1つのジョブが派生するパターンと、1つのジョブから複数のジョブが派生するパターンの2つのパターンがある。
次に、ジョブが派生する条件について説明する。あるジョブから他のジョブが派生する条件には、処理を委譲することで他のジョブを派生する場合と、処理を分割して管理するために他のジョブを派生する場合とがある。
最初に、図11を用いて、処理を委譲することで他のジョブを派生する場合について説明する。処理を委譲するとは、あるソフトウェアが自分のジョブを遂行するため、他のソフトウェアに処理の一部を委譲することである。この委譲によりジョブが派生する。
図11は、コピージョブ430の一部の処理を読み取り制御モジュールに委譲することで読み取りジョブ431が派生、印刷制御モジュールに委譲することで印刷ジョブ432が派生した例を示している。
次に、図12を用いて、処理を分割して管理するために他のジョブを派生する場合について説明する。処理を分割して管理するとは、1つのソフトウェア内で、あるジョブの一部をそのジョブとは別に管理することである。この分割によりジョブが派生する。図12は処理を行った印刷ジョブ432の一部にエラーが発生したため、その部分を、正常なジョブ433、435とは別のジョブ434として分割し、個別に状態(実行中/エラーなど)を管理、操作(再実行/中止など)を行う場合の例を示している。
処理を分割することによるジョブの派生の他の例を、図13を用いて説明する。図13は、複数の宛先に同じ文書をFAX送信する場合に、FAX送信ジョブ441を、宛先ごとのFAX送信ジョブ442、443、444として状態を管理、操作を行う場合の例を示している。
以上がジョブの派生に関する説明である。今までの説明に示されるように、本実施の形態におけるジョブとは、印刷処理、プロッタ処理、白黒プリント処理、カラープリント処理、読み取り処理、ページごとの印刷処理、宛先ごとのFAX送信処理である。しかし、これらのジョブは、例示列挙であり、他にも多くのジョブが存在する。これらのジョブを本実施の形態で示すような管理を行うことにより、ジョブの中止など、ジョブに対する操作に加え、ジョブごとに課金が可能なるなどのメリットが生じる。
次に、ジョブをどのようにソフトウェアが処理するかは実装方法によって異なるので、その実装方法について説明する。
ここではシングルプロセス・シングルスレッドで実装する場合、シングルプロセス・マルチスレッドで実装する場合、マルチプロセス・シングルスレッドで実装する場合、マルチプロセス・マルチスレッドで実装する場合の4例の実装方法を示す。
また、ここでは、ユーザのジョブへ再実行や中止などの操作をどのように実装するかも示す。なお、シングルプロセス・マルチスレッドとは、プロセスは1つだが、そのなかでは複数のスレッドがあることをいう。また、マルチプロセス・シングルスレッドとは、プロセスは複数あるが、個々のプロセスにはスレッドは1つしかないことをいう。
これらの例で用いられるジョブのジョブ構造を図14に示す。図14には、処理の過程でジョブA450からジョブB451とジョブC452が派生し、ジョブC452からジョブD453が派生していることが示されている。
まず、図15を用いて、シングルプロセス・シングルスレッドの場合のジョブ処理の例をについて説明する。図15には、プロセスA500と、スレッドA501とが示されている。このソフトウェアのプロセスは1つ(プロセスA500)であり、スレッドもプロセスA500のメインスレッド(スレッドA501)だけである。この場合、ステップS1601でジョブAが実行される。ステップS1602でジョブBが実行される。ステップS1603でジョブCが実行される。ステップS1601でジョブDが実行される。
このように、図15のようなシングルプロセス・シングルスレッドの場合、ジョブA〜ジョブDは全てスレッドA501で処理される。
次に、図16を用いて、シングルプロセス・マルチスレッドの場合のジョブ処理の例を説明する。図16には、プロセスA500と、スレッドA501、スレッドB502、スレッドC503とが示されている。
この場合、ステップS1701で、プロセスA500のメインスレッドであるスレッドA501がジョブAを実行する。このジョブAから派生したサブスレッドであるジョブBに対し、スレッドAがステップS1702で処理を依頼する。
そして、ステップS1703で、スレッドB502がジョブBを実行し、ステップS1704で、スレッドA501に応答を返す。さらにスレッドA501は、サブスレッドであるスレッドC503に、ステップS1705で処理を依頼する。スレッドC503は、ステップS1706でジョブCを実行し、ステップS1707で、ジョブDを実行する。そして、スレッドC503は、ステップS1708でスレッドAに応答を返す。
このように、シングルプロセス・マルチスレッドの場合、スレッドA501は、サブスレッドであるスレッドB502にジョブBを実行させ、ジョブCをサブスレッドであるスレッドC503に実行させている。さらに、ジョブCから派生したジョブDもスレッドC503に実行させている。
次に、図17を用いて、マルチプロセス・シングルスレッドの場合の例を説明する。図17には、プロセスA500と、プロセスB505と、プロセスC506と、スレッドA501、スレッドB502、スレッドC503とが示されている。
ステップS1801で、スレッドA501は、ジョブAを実行する。ステップS1802で、スレッドA501は、プロセスB505のスレッドB502に、処理を依頼する。スレッドB502は、ステップS1803で、ジョブBを実行し、ステップS1804で、スレッドA501に応答を返す。
スレッドA501は、ステップS1805で、プロセスC506のスレッドC503に処理を依頼する。スレッドC503は、ステップS1806で、ジョブCを実行し、さらにステップS1807で、ジョブDを実行し、ステップS1808で、スレッドAに応答を返す。
このように、マルチプロセス・シングルスレッドの場合、プロセスA500のメインスレッドであるスレッドA501でジョブAを実行する。そして、スレッドA501は、ジョブAから派生したジョブBをプロセスB505のメインスレッドであるスレッドB502に、ジョブCをプロセスC506のメインスレッドであるスレッドC503に実行させている。さらに、スレッドA501は、ジョブCから派生したジョブDもスレッドC503に実行させている。
次に、図18を用いて、マルチプロセス・マルチスレッドの場合の例を説明する。図18には、プロセスA500と、プロセスB505と、スレッドA501、スレッドB502、スレッドC503、スレッドD507とが示されている。
ステップS1901で、プロセスA500のスレッドA501は、ジョブAを実行する。ステップS1902でスレッドA501は、同じプロセスA500内のスレッドB502に処理を依頼する。スレッドB502は、ステップS1903で、ジョブBを実行し、ステップS1904で、スレッドA501に応答を返す。
スレッドA501は、ステップS1905で、プロセスB505のスレッドC503に処理を依頼する。スレッドC503は、ステップS1906で、ジョブCを実行する。ステップS1907でスレッドC503は、同じプロセスB505内のスレッドD507に処理を依頼する。スレッドD507は、ステップS1908で、ジョブDを実行し、ステップS1909で、スレッドC503に応答を返す。スレッドC503は、ステップS1910で、スレッドA501に応答を返す。
このように、マルチプロセス・マルチスレッドの場合、プロセスA500のメインスレッドであるスレッドA501でジョブAが処理される。また、スレッドA501は、ジョブAから派生したジョブBをプロセスA500のサブスレッドであるスレッドB502に実行させる。また、スレッドA501は、ジョブAから派生したジョブCをプロセスB505のメインスレッドであるスレッドC503に実行させ、ジョブCから派生したジョブDをプロセスB505のサブスレッドであるスレッドD507に実行させている。
以上が4例の実装方法である。これらの実装方法に加え、さらにマルチプロセス・マルチスレッドという実装方法において、ユーザからの要求によりジョブの処理を操作する例を、図19を用いて説明する。図19には、プロセスA500と、プロセスB505と、プロセスC506と、スレッドA501と、スレッドB502と、スレッドC503と、スレッドE508とが示されている。
このうち、プロセスCがユーザからの要求が行われるプロセスとなっている。ステップS2001で、プロセスA500のスレッドA501は、ジョブAを実行する。ステップS2002でスレッドA501は、同じプロセスA500内のスレッドB502に処理を依頼する。スレッドB502は、ステップS2003で、ジョブBを実行し、ステップS2004で、スレッドA501に応答を返す。
スレッドA501は、ステップS2005で、プロセスB505のスレッドC503に処理を依頼する。スレッドC503は、ステップS2006で、ジョブCを実行する。
このとき、ステップS2007でプロセスC506のスレッドE508は、スレッドC503に処理の中止を依頼する。スレッドC503は、ステップS2008で、ジョブCの中止処理を実行し、ステップS2009で、スレッドA501に応答を返す。
このように、ユーザからの操作の場合、操作の受付用のプロセス(プロセスC506)が存在し、ユーザからの中止要求を受け付け、該当するジョブに中止依頼を出すようになっている。
次に、各ジョブに関する情報であるジョブ情報について、図20を用いて説明する。ジョブ情報は、図20に示されるように、識別情報に対応するジョブIDと、文書名と、ジョブ種別と、状態と、オーナー名と、作成日と、ジョブ関連情報とを有する。
このうち、ジョブ関連情報が、ジョブのジョブ構造をMFP内で構築することを可能とするものであり、このジョブ関連情報については後に詳しく説明することとする。ジョブ構造を構築することが可能であれば、ジョブの親子関係が分かる。
上記ジョブ情報のうち、ジョブIDは、「1」や「2」など、各ジョブを識別するもので、各ジョブに一意的に割り当てられるものである。以下の説明では、ジョブIDがnのジョブを単にジョブnと表現することがある。
文書名は、印刷する文書の名前を示すもので、例えば文字列で表現される。ジョブ種別は、「印刷」、「FAX送信」など、どのような処理のジョブかを示すものである。「状態」は、「実行中」や「エラー」など、ジョブの状態を示すものである。「オーナー名」は、「鈴木」、「佐藤」など、ジョブの実行を依頼したユーザ名を示すものである。「作成日」は、「2004.02.17.12:15」など、ジョブが作成された日時を示すものである。
ジョブ情報の他の例を、図21を用いて説明する。図21に示されるジョブ情報と、図20に示されるジョブ情報とが異なる大きな点は、「ジョブの操作の許可情報」と「ジョブを操作できる条件」なる2つの項目である。
これらの項目は、ジョブの操作、ジョブの状態閲覧を可能とするための項目である。個々のジョブは実行中やエラー発生中などの状態を持ち、そのジョブに対してユーザが再実行や中止などの操作を行うことができる。
しかし、ジョブによってはユーザに操作させなかったり、ある条件を満たす時に限り操作を許したりするものもある。そのような形にジョブを実装する場合、ジョブ情報に図21に示すような「ジョブの操作の許可情報」や「ジョブを操作できる条件」という属性を付加する必要がある。
このうち、「ジョブの操作の許可情報」について説明する。この「ジョブの操作の許可情報」が取り得る値には「許可」、「不許可」、「条件発生時のみ許可」がある。
「許可」とは、どのような場合でもそのジョブの状態に見合った操作(再実行/中止/中断など)が行えることを示す。「不許可」とは、どのような場合でもそのジョブに対しては操作が行えないことを示す。「条件発生時のみ許可」とは、図21に示される「ジョブを操作できる条件」が成就した時に、その条件に見合った操作を行えることを示す。具体的に、操作として、エラー発生の場合の再実行または中止が挙げられる。
これらの値のうち、「不許可」の場合のジョブ情報を示すのが、図22に示されるジョブ情報である。このジョブ情報の「ジョブの操作の許可情報」は「不許可」となっている。また、「条件発生時のみ許可」の場合のジョブ情報を示すのが、図23に示されるジョブ情報である。このジョブ情報の「ジョブの操作の許可情報」は「条件発生時のみ許可」となっており、「ジョブを操作できる条件」が「実行中&エラー発生中」であることが示されている。
なお、「ジョブを操作できる条件」は、「エラー発生中」、「実行中またはエラー発生中」、「待機中またはエラー発生中」、「実行中または待機中&エラー発生中」の値もとり得る。「エラー発生中」は、ジョブがエラー発生中という条件である。「実行中またはエラー発生中」は、ジョブが実行中もしくはジョブがエラー発生中という条件である。「待機中またはエラー発生中」は、ジョブが待機中もしくはジョブがエラー発生中という条件である。「実行中または待機中またはエラー発生中」は、ジョブが実行中、ジョブが待機中、ジョブがエラー発生中のうちのいずれか条件である。
次に、ジョブ関連情報に基づき作成されるジョブ構造テーブルについて、図24を用いて説明する。ジョブ構造テーブル100は、親ジョブと子ジョブのIDからなるものである。「子ジョブ」は、ジョブIDを示し、「親ジョブ」は、子ジョブで示されたジョブIDを有するジョブの親ジョブのジョブIDを示している。従って、親ジョブが記入されていないジョブは、親ジョブが存在しないジョブなので、根幹ジョブということになる。
また、ジョブ構造101、102は、ジョブ構造テーブル100をジョブ構造として表現したものである。
図24の場合、ジョブ1と、ジョブ8は根幹ジョブであることが分かる。また、ジョブ構造テーブル100には、ジョブ2、3のジョブの親ジョブのIDが1と示されてあるので、ジョブ2、3は、ジョブ1から派生したジョブであることが分かる。同様に、他のジョブに関しても、ジョブ構造テーブル100に示される各ジョブIDにより、図24に示されるジョブ構造を生成できる。
このように、ジョブの親ジョブのジョブIDを各ジョブごとに保持しておくとことで、ジョブ構造テーブルを作成することができる。また、このジョブ構造テーブルにより、パソコンの画面、あるいはMFPに設けられているオペレーションパネルにジョブ構造を表示することができる。
なお、ジョブ構造テーブルは、図25に示されるように、XMLで表現することもできる。図25に示されるXML文は、図24で示した根幹ジョブで、ジョブ8から派生したジョブのジョブ構造102を生成するためものである。
この図25より、ジョブ8は、ジョブ9、10、11のジョブを、子ジョブあるいは孫ジョブとしていることが分かる。同様に、ジョブ9は、ジョブ8を親ジョブとし、ジョブ10、11を子ジョブとしていることが分かる。さらにジョブ10、11は、ともにジョブ9を親ジョブとしていることが分かる。
このようにジョブ構造テーブルは、ジョブIDを入れ子とするXML文で表現することができる。また、ジョブ構造テーブルは、任意のジョブと他のジョブとの関連を示していることがわかる。
以上が処理の概要である。次に、各処理の詳細な説明をする。まず、図26を用いてMFPに発生するジョブを、コピーを例にして説明する。図26には、コピー蓄積ジョブ110と、読み取りジョブ111と、プリントジョブ112と、蓄積ジョブ113と、プロッタジョブ114、115が示されている。このジョブ構造における根幹ジョブは、コピー蓄積ジョブ110である。
コピー蓄積の要求に対して、コピー蓄積ジョブ110が発生し、それを実現するために読み取りジョブ111、プリントジョブ112、蓄積ジョブ113が派生する。プリントジョブ112からは、さらにプロッタジョブ114、115が派生する。
次に、図27を用いて、MFPのソフトウェアブロックについて説明する。この図27で説明される「アプリ」、「モジュール」、「ハンドラ」をまとめて、プログラムということにする。
図27に示されるソフトウェアブロックは、アプリケーション層5と、サービス層7と、ハンドラ層9の3つの層に分けられる。アプリケーション層5は、コピーアプリ21と、プリンタアプリ20と、FAXアプリ22などのプログラムを含む。サービス層7は、印刷制御モジュール23と、FAX制御モジュール24と、読み取り制御モジュール25と、ジョブ管理モジュール26のプログラムを含む。ハンドラ層9は、プロッタハンドラ27と、FAXユニットハンドラ28と、スキャナハンドラ29と、メモリ管理モジュール30のプログラムを含む。
アプリケーション層5のコピーアプリ21、プリンタアプリ20、FAXアプリ22は、それぞれ、コピー用、プリンタ用、FAX用のアプリケーションである。
次に、サービス層7のモジュールについて説明する。印刷制御モジュール23は、印刷処理を制御するモジュールである。FAX制御モジュール24は、FAX処理を制御するモジュールである。読み取り制御モジュール25は、読み取り処理を制御するモジュールである。全体ジョブ構造情報作成手段とジョブ検索手段に対応するジョブ管理モジュール26は、要求によりジョブ構造テーブル(ジョブ構造情報)を作成して要求元に渡すモジュールである。
次に、ハンドラ層9のプログラムについて説明する。ハンドラ層9のプログラムは、ハードウェアであるプロッタやスキャナなどのハンドラなどである。
プロッタハンドラ27は、プロッタのハンドラである。FAXユニットハンドラ28は、FAXユニットのハンドラである。スキャナハンドラ29は、スキャナのハンドラである。メモリ管理モジュール30は、メモリやハードディスクの管理を行うハンドラである。
次に、MFPのハードウェア構成図を、図28を用いて説明する。MFPは、コントローラボード60と、オペレーションパネル53と、FCU68と、エンジン71と、スキャナ51と、プロッタ52とを含む。また、FCU68は、G3規格対応ユニット69と、G4規格対応ユニット70とを有する。
また、コントローラボード60は、CPU61と、ASIC66と、HDD65と、ローカルメモリ(MEM−C)64と、システムメモリ(MEM−P)63と、ノースブリッジ(以下、NBと記す)62と、サウスブリッジ(以下、SBと記す)73と、NIC74(Network Interface Card)と、USBデバイス75と、IEEE1394デバイス76と、セントロニクスデバイス77とを含む。
オペレーションパネル53は、コントローラボード60のASIC66に接続されている。また、SB73と、NIC74と、USBデバイス75と、IEEE1394デバイス76と、セントロニクスデバイス77と、NB62にPCIバスで接続されている。
また、FCU68と、エンジン71と、スキャナ51、プロッタ52は、コントローラボード60のASIC66にPCIバスで接続されている。
なお、コントローラボード60は、ASIC66にローカルメモリ64、HDD65などが接続されると共に、CPU61とASIC66とがCPUチップセットのNB62を介して接続されている。このように、NB62を介してCPU61とASIC66とを接続すれば、CPU61のインタフェースが公開されていない場合に対応できる。
なお、ASIC66とNB62とはPCIバスを介して接続されているのでなく、AGP(Accelerated Graphics Port)67を介して接続されている。このように、図27のアプリケーション層5などを形成する一つ以上のプロセスを実行制御するため、ASIC66とNB62とを低速のPCIバスでなくAGP67を介して接続し、パフォーマンスの低下を防いでいる。
CPU61は、MFPの全体制御を行うものである。CPU61は、アプリケーション層5、サービス層7、ハンドラ層9に含まれるプログラムをOS上にそれぞれプロセスとして起動して実行させる。
NB62は、CPU61、システムメモリ63、SB73およびASIC66を接続するためのブリッジである。システムメモリ63は、MFPの描画用メモリなどとして用いるメモリである。SB73は、NB62とPCIバス、周辺デバイスとを接続するためのブリッジである。また、ローカルメモリ64はコピー用画像バッファ、符号バッファとして用いるメモリである。
ASIC66は、画像処理用のハードウェア要素を有する画像処理用途向けのICである。HDD65は、画像データの蓄積、文書データの蓄積、プログラムの蓄積、フォントデータの蓄積、フォームの蓄積などを行うためのストレージである。また、オペレーションパネル53は、ユーザからの入力操作を受け付けると共に、ユーザに向けた表示を行う操作部である。
次に、上述した各ソフトウェアの関係と、各ソフトウェア間でやり取りされる情報について、図29と図30を用いて説明する。図29は、ジョブ情報がHDD65に記憶される場合を示す図であり、図30は、ジョブ情報がメモリ上に記憶される場合を示す図である。
まず、図29の説明をする。図29には、各プログラム130と、メモリ管理モジュール30と、HDD65と、ジョブ情報132と、ジョブ管理モジュール26と、表示アプリ32と、専用キュー131とが示されている。
各プログラム130は、アプリ層、サービス層、ハンドラ層の各プログラムである。具体的には、ジョブ管理モジュールとメモリ管理モジュール以外のプログラムであり、ジョブを発生・処理するプログラムである。表示アプリ32は、パソコンで表示するPCアプリや、上述したオペレーションパネル用のアプリである。ジョブ情報132は、図20で説明したジョブ情報であり、図29の場合、HDD65に記憶されている。専用キュー131は、各プログラム用のメモリ空間に記憶される各プログラムがジョブを管理する専用のキューである。
なお、各プログラムのメモリ空間とは、そのプログラムにそれぞれ割り当てられたメモリ領域を指す。ここに各モジュールは専用のキューを持っており、処理するジョブの順番を管理している。
各プログラム130からメモリ管理モジュール30へはジョブ情報が提供される。メモリ管理モジュール30は、ジョブ情報をHDD65に記憶する。また、メモリ管理モジュール30は、ジョブ管理モジュール26にジョブ情報を提供する。ジョブ管理モジュール26は、表示アプリ32にジョブ構造テーブルとジョブ情報を提供する。各プログラム130は、ジョブ管理モジュール26にキューの情報を提供する。また、各プログラム130は、専用キュー131にジョブIDを記憶させる。
次に、図30の説明をする。なお、図29で説明した参照符号と同じものは、説明を省略する。図30と図29で異なるのは、キュー133とジョブ情報132である。キュー133とジョブ情報132は、図30に示されるように、各プログラム用のメモリ空間に記憶される。従って、キュー133とジョブ情報132は、各プログラム専用のものとなる。
各プログラム130は、キュー133とジョブ情報132にそれぞれジョブIDとジョブ情報を記憶させる。また、各プログラム130は、ジョブ管理モジュール26にキューの情報とジョブ情報を提供する。ジョブ管理モジュール26は、表示アプリ32にジョブ構造テーブルとジョブ情報を提供する。この表示アプリ32は、GUI表示手段とジョブ構造情報取得手段に対応する。
この図30の場合、ジョブ情報はHDDではなく各プログラムが管理するメモリ空間で保存されている。よって、ジョブ管理モジュール62はジョブを持っている各プログラムからジョブ情報を取得し、ジョブ構造テーブルを作成する。
次に、ジョブ関連情報について説明する。このジョブ関連情報は上述したように、ジョブ構造テーブルの作成に必要なものである。このジョブ関連情報は、ジョブ構造テーブルを作成できればよいので、いくつかの種類が考えられる。以下、7種類のジョブ関連情報の例とそのときの処理を示すシーケンス図について説明する。シーケンス図で説明する処理は、印刷要求を行ったときのジョブ登録処理と、ジョブの参照を行ったときの処理である。
なお、それぞれで示されるジョブ情報は図20または図21で説明した構造を例としている。また、以下の説明で用いられるジョブ構造は、図31に示されるジョブ構造とする。図31に示されるジョブ構造は、ジョブAから派生したジョブで構成されるジョブのジョブ構造である。
第1のジョブ関連情報例について、図32を用いて説明する。図32に示されるジョブ関連情報は、子ジョブの親ジョブのジョブIDから根幹ジョブのジョブIDまで、というように、子ジョブが全ての先祖のジョブのジョブIDを持っているものである。
具体的に、図33に示されるジョブ情報を用いて説明する。この図33に示されるジョブ情報は、図31のジョブ7のジョブ情報である。
図33には、ジョブ情報150と、ジョブ関連情報151とが示されている。ジョブ情報150は、図20で説明したものである。ジョブ関連情報151は、項目に「根幹ジョブのジョブID」と「2世代目のジョブID」と、「親ジョブのジョブID」があり、それぞれ値が「1」、「2」、「4」となっている。
実際に、ジョブ7の親ジョブはジョブ4であり、2世代目のジョブはジョブ2であり、根幹ジョブはジョブ1である。
このように、子ジョブが全ての先祖のジョブのジョブIDを持っており、ジョブ管理モジュールが末端ジョブを識別する仕組みが構築されると、ジョブ管理モジュールは末端ジョブの情報を取得するだけで、ジョブ構造テーブルを作成できる。また、アプリ層、サービス層、ハンドラ層の各プログラムは、ジョブ生成時に、親ジョブのジョブ構造テーブルに、親のジョブIDを追記するだけで、ジョブ関連情報を作成できる。なお、ジョブ管理モジュールが末端ジョブを識別する仕組みとして、ジョブ情報に末端ジョブかを判別するフラグを設けるなどの仕組みが挙げられる。
以上説明した第1のジョブ関連情報例の場合の処理を、シーケンス図を用いて説明する。図34は、ジョブ登録時の動作シーケンスを示すもので、ユーザ160と、プリンタアプリ20と、印刷制御モジュール23と、プロッタハンドラ27と、メモリ管理モジュール30との間で行われる処理を示している。このことは、以降のジョブ登録時の動作シーケンス図でもほぼ同じである。
ステップS101で、プリンタアプリ20は、ユーザ160から印刷要求を通知される。プリンタアプリ20は、ステップS102で、ジョブの生成を行い、ステップS103で、ジョブIDをキューに追加する。ステップS104で、プリンタアプリ20は、メモリ管理モジュールにジョブ情報を通知することで、ジョブ情報を保存する。
ステップS105で、プリンタアプリ20は、キューからジョブIDを取得する。ステップS107で、メモリ管理モジュール30は、プリンタアプリ20にジョブ情報を通知する。ステップS108は、プリンタアプリ20の処理の実行である。
ステップS109で、プリンタアプリ20は、印刷制御モジュール23に印刷処理要求を通知する。このとき、親ジョブのジョブ関連情報と、親ジョブのジョブIDも通知される。印刷モジュール23は、ステップS110でジョブの生成を行い、ステップS111でジョブIDをキューに追加する。そして、ステップS112で印刷制御モジュール23は、ジョブ情報を保存する。次のステップS113で、印刷制御モジュール23は、ジョブIDをキューから取得する。
印刷制御モジュール23は、ステップS114で、メモリ管理モジュール30にジョブ情報の取得を要求する。メモリ管理モジュール30は、ステップS115で、印刷制御モジュール23にジョブ情報を通知する。
ステップS116は、印刷制御モジュール23の処理の実行である。ステップS117で印刷制御モジュール23は、プロッタハンドラ27にプロット要求を通知する。このとき、親ジョブのジョブ関連情報と親ジョブIDも通知される。
ステップS118で、プロッタハンドラ27は、ジョブの生成を行う。ステップS119で、プロッタハンドラ27は、ジョブIDをキューに追加し、ステップS120で、ジョブ情報を保存する。ステップS121で、プロッタハンドラ27は、ジョブIDをキューから取得する。ステップS122で、プロッタハンドラ27は、メモリ管理モジュール30にジョブ情報の取得を要求する。ステップS123で、メモリ管理モジュール30は、プロッタハンドラ27にジョブ情報を通知する。
プロッタハンドラ27は、ステップS124で、プロットを実行する。プロッタハンドラ27は、印刷制御モジュール23に、ステップS125で、プロット終了を通知する。印刷制御モジュール23は、ステップS126で、プリンタアプリ20に印刷終了を通知する。プリンタアプリ20は、ステップS127で、ユーザ160に印刷終了を通知(表示)する。
次に、図35を用いて、ジョブ参照時の動作シーケンスを説明する。図35は、ユーザ160と、オペパネアプリ161と、ジョブ管理モジュール26と、メモリ管理モジュール30と、プリンタアプリ20との間で行われる処理を示している。このことは、以降のジョブ参照時の動作シーケンス図でもほぼ同じである。
ステップS201で、オペパネアプリ161は、ユーザ160からジョブ参照要求を通知される。ステップS202で、オペパネアプリ161は、ジョブ管理モジュール26にジョブ一覧要求を通知する。ジョブ管理モジュール26は、ステップS203で、メモリ管理モジュール30に末端ジョブの検索を通知する。ステップS204で、メモリ管理モジュール30は、ジョブ管理モジュール26に末端ジョブの検索結果を通知する。ステップS205で、ジョブ管理モジュール26は、メモリ管理モジュール30にジョブ情報の取得を要求する。ステップS206で、メモリ管理モジュール30は、ジョブ管理モジュール26にジョブ情報を通知する。ジョブ管理モジュール26は、ステップS207で、ジョブ一覧の作成を行う。
ジョブ構造受信段階に対応するステップS208で、ジョブ管理モジュール26は、オペパネアプリ161にジョブ一覧を通知する。オペパネアプリ161は、GUI表示段階に対応するステップS209で、ユーザ160に、ジョブ一覧を通知(表示)する。ステップS210で、オペパネアプリ161は、ユーザ160からジョブ情報を要求される。ステップS211で、オペパネアプリ161は、ジョブ管理モジュール26にジョブ情報の取得を要求する。ジョブ管理モジュール26は、ステップS212で、メモリ管理モジュール30にジョブ情報の取得を要求する。メモリ管理モジュール30は、ステップS213で、ジョブ管理モジュール26にジョブ情報を通知する。
ステップS214で、ジョブ管理モジュール26は、プリンタアプリ20に、キューの順番取得を要求する。プリンタアプリ20は、ステップS215で、ジョブ管理モジュール26にキューの順番を通知する。ジョブ管理モジュール26は、ステップS216で、オペパネアプリ161にジョブ情報を通知する。ステップS217で、オペパネアプリ161は、ユーザ160にジョブ情報を通知(表示)する。
次に、第2のジョブ関連情報例について、図36を用いて説明する。第2のジョブ関連情報例は、図36に示されるように、ジョブ情報内のジョブ関連情報に、親ジョブのジョブIDのみを持っているものである。
具体的に、図37に示されるジョブ情報を用いて説明する。この図37に示されるジョブ情報は、図31のジョブ7のジョブ情報である。ジョブ関連情報は、項目に「親ジョブのジョブID」のみであり、値が「4」となっている。
このように、ジョブ関連情報が親ジョブのジョブIDのみであれば、ジョブ情報の情報量を抑えることが可能となる。この場合、ジョブ管理モジュールが全ジョブにアクセスする仕組みが必要となる。
以上説明した第2のジョブ関連情報例の場合のジョブ登録時の動作を、図38のシーケンス図を用いて説明する。なお、このシーケンス図は、図34で示したシーケンス図でのステップのうち、2つのステップ以外は同じであるので、異なるステップ以外の説明は省略する。
異なるステップは、図34におけるステップS109とステップS117であり、図38では、それぞれステップS309とステップS317に対応する。
ステップS109では、親ジョブのジョブ関連情報が通知されるが、ステップS309では、親ジョブのジョブIDのみが通知される。また、ステップS117も同様に、親ジョブのジョブ関連情報と親ジョブのジョブIDの2つが通知されるが、ステップS317では、親ジョブのジョブIDのみが通知される。
いずれのステップの処理も、ジョブ関連情報が親ジョブのジョブIDとなったことによるものである。
次に、図39を用いて、ジョブ参照時の動作シーケンスを説明する。なお、このシーケンス図は、図35で示したシーケンス図のステップS201、202は、ステップS401、402に対応し、ステップS205からステップS217は、ステップS404からステップS415に対応する。
従って、図39に示される処理は、図35の処理から、末端ジョブの検索処理であるステップS203、204の処理を除いたものである。これは、ジョブ管理モジュールが全ジョブにアクセスするため、特定のジョブの検索の必要がないためである。
次に、第3のジョブ関連情報例について、図40を用いて説明する。図40に示されるジョブ関連情報は、ジョブが全ての子孫ジョブのジョブIDを持っているものである。
具体的に、図41に示されるジョブ情報を用いて説明する。図41には、ジョブ情報167と、ジョブ関連情報168とが示されている。ジョブ情報167に示されるように、このジョブ情報は、図31に示されているジョブ7のジョブ情報である。
ジョブ関連情報168は、値に「子ジョブ」と「親ジョブ」がある。子ジョブで示されるジョブIDの親ジョブのジョブIDが親ジョブの欄に記載される。
実際に、ジョブ2、3の親ジョブはジョブ1であり、ジョブ4、5の親ジョブは、ジョブ2であり、ジョブ6の親ジョブはジョブ3であり、ジョブ7の親ジョブはジョブ4である。
このように、ジョブ関連情報が子孫ジョブのジョブIDあれば、ジョブ管理モジュールは、根幹ジョブのジョブ情報を取得するだけでジョブ構造テーブルの作成が可能となる。この場合、ジョブを生成したモジュールが、先祖のジョブを生成した全モジュールにジョブIDを通知する仕組みが必要である。さらに、ジョブ管理モジュールが保存されているジョブから根幹ジョブを探す仕組みが必要である。
以上説明した第3のジョブ関連情報例の場合のジョブ登録時の動作を、図42のシーケンス図を用いて説明する。なお、このシーケンス図は、図34で示したシーケンス図のステップS101からステップS108までの処理と、ステップS501からステップS508までの処理が同じなので説明を省略する。
ステップS509で、プリンタアプリ20は、印刷制御モジュール23に印刷処理要求を通知する。このとき、親ジョブのジョブ関連情報と、親ジョブのジョブIDは通知されない。印刷モジュール23は、ステップS510でジョブの生成を行い、ステップS511でプリンタアプリ20に子ジョブ生成を通知する。次のステップS512で、プリンタアプリ20は、ジョブIDをキューに追加する。そして、ステップS513で印刷制御モジュール23は、ジョブ情報を保存する。次のステップS514で、印刷制御モジュール23は、ジョブIDをキューから取得する。
印刷制御モジュール23は、ステップS515で、メモリ管理モジュール30にジョブ情報の取得を要求する。メモリ管理モジュール30は、ステップS516で、印刷制御モジュール23にジョブ情報を通知する。
ステップS517は、印刷制御モジュール23の処理の実行である。ステップS518で印刷制御モジュール23は、プロッタハンドラ27にプロット要求を通知する。ステップS519で、プロッタハンドラ27は、ジョブの生成を行う。
ステップS520で、プロッタハンドラ27は、印刷制御モジュール23に、ジョブIDとともに子ジョブの生成を通知する。ステップS521で、印刷制御モジュール23は、プリンタアプリ20に子孫ジョブの生成を通知する。このとき、親ジョブIDと子ジョブIDも通知される。
ステップS522で、プロッタハンドラ27は、ジョブIDをキューに追加し、ステップS523で、ジョブ情報を保存する。ステップS524で、プロッタハンドラ27は、ジョブIDをキューから取得する。ステップS525で、プロッタハンドラ27は、メモリ管理モジュール30にジョブ情報の取得を要求する。ステップS526で、メモリ管理モジュール30は、プロッタハンドラ27にジョブ情報を通知する。
プロッタハンドラ27は、ステップS527で、プロットを実行する。プロッタハンドラ27は、印刷制御モジュール23に、ステップS528で、プロット終了を通知する。印刷制御モジュール23は、ステップS529で、プリンタアプリ20に印刷終了を通知する。プリンタアプリ20は、ステップS530で、ユーザ160に印刷終了を通知(表示)する。
次に、図43を用いて、ジョブ参照時の動作シーケンスを説明する。なお、このシーケンス図は、図35で示したシーケンス図でのステップのうち、2つのステップ以外は同じであるので、異なるステップ以外の説明は省略する。
異なるステップは、図35におけるステップS203とステップS204であり、図43では、それぞれステップS603とステップS604に対応する。図35の場合、検索の対象は、末端ジョブであったが、図43では、検索の対象が根幹ジョブとなる。
次に、第4のジョブ関連情報例について、図44を用いて説明する。図44に示されるジョブ関連情報は、ジョブが全ての子ジョブのジョブIDを持っているものである。
具体的に、図45に示されるジョブ情報を用いて説明する。図45には、ジョブ情報163と、ジョブ関連情報164とが示されている。ジョブ情報163に示されるように、このジョブ情報は、図31に示されているジョブ1のジョブ情報である。
ジョブ関連情報164には、項目に2つの「子ジョブのジョブID」があり、それぞれ値が「2」、「3」となっている。実際に、ジョブ1の子ジョブはジョブ2とジョブ3である。
このように、ジョブ関連情報が子ジョブのジョブIDのみであれば、ジョブ情報の情報量を抑えることが可能となる。この場合、ジョブ管理モジュールが全ジョブにアクセスする仕組みが必要となる。
以上説明した第4のジョブ関連情報例の場合の処理を、図46のシーケンス図を用いて説明する。なお、このシーケンス図は、図42で示したシーケンス図のステップS521の処理を行わないこと以外は、処理が同じなので説明を省略する。これは、第4のジョブ関連情報は、子孫ジョブを必要としないので、子孫ジョブの生成を通知する図42のステップS521の処理は不要となるからである。
ジョブ参照時の動作シーケンスは、図39と同じであるため、説明を省略する。
次に、第1、4のジョブ関連情報を組み合わせた第5のジョブ関連情報例について、図47を用いて説明する。図47に示されるジョブ関連情報は、ジョブが全ての先祖のジョブIDと、全ての子ジョブのジョブIDからなる。
具体的に、図48に示されるジョブ情報を用いて説明する。図48には、ジョブ情報166と、ジョブ関連情報169とが示されている。ジョブ情報166に示されるように、このジョブ情報は、図31に示されているジョブ4のジョブ情報である。
ジョブ関連情報169には、項目に「根幹ジョブのジョブID」と、「親ジョブのジョブID」と、「子ジョブのジョブID」があり、それぞれ値が「1」、「2」、「7」となっている。実際に、ジョブ4の根幹ジョブはジョブ1であり、親ジョブはジョブ2であり、子ジョブは、ジョブ7である。
このようなジョブ関連情報であれば、ジョブ管理モジュールは末端ジョブの情報を取得するだけで、ジョブ構造テーブルが作成できる。また、アプリ層、サービス層、ハンドラ層の各プログラムは、親のジョブ関連情報に親のジョブIDを追記するだけなので、ジョブ生成時にジョブ関連情報を作成するのが容易となる。さらに、子ジョブのジョブIDの項目に値がない場合は末端ジョブであるので、末端ジョブの検索が子ジョブのジョブIDの項目に値が入っているかどうかを見ることで可能となる。なお、値が入っていないとは、実質的な値が入っていないことであり、例えばNULLもしくは0xffffなど、設計でよく用いられる値が入っていることであっても良い。なお、ジョブを生成するモジュールは、親ジョブを生成したモジュールに子ジョブのジョブIDを通知する必要がある。
以上説明した第5のジョブ関連情報例の場合のジョブ登録時の動作を、図49のシーケンス図を用いて説明する。なお、このシーケンス図は、図34で示したシーケンス図と一部異なるので、その異なる部分を説明することにする。
ステップS809は、ステップS109に対応するが、親ジョブ用のジョブ関連情報のみが通知される。また、ステップS810でジョブを生成した後、ステップS811で、プリンタアプリ20に子ジョブの生成を通知する処理が追加される。
またステップS818のプロット要求では、親ジョブのジョブ関連情報のみが通知される。さらに、ステップS819のジョブの生成後に、プロッタハンドラ27から印刷制御モジュール23へ子ジョブの生成が通知される。
ジョブ参照時の動作シーケンスは、図35と同じであるため、説明を省略する。
次に、第2、3のジョブ関連情報を組み合わせた第6のジョブ関連情報例について、図50を用いて説明する。図50に示されるジョブ関連情報は、親ジョブのジョブIDと、全ての子孫ジョブのジョブIDからなる。
具体的に、図51に示されるジョブ情報を用いて説明する。図51には、ジョブ情報170と、ジョブ関連情報171とが示されている。ジョブ情報170に示されるように、このジョブ情報は、図31に示されているジョブ1のジョブ情報である。
ジョブ関連情報171には、項目に「子ジョブ」と、「親ジョブ」がある。子ジョブで示されるジョブIDの親ジョブのジョブIDが親ジョブの欄に記載される。
実際、ジョブ1は根幹ジョブであるので、親ジョブは存在せず、ジョブ2、3の親ジョブはジョブ1であり、ジョブ4、5の親ジョブはジョブ2であり、ジョブ6の親ジョブはジョブ3であり、ジョブ7の親ジョブは、ジョブ4である。
この第6のジョブ関連情報では、根幹ジョブの情報を取得するだけで、ジョブ構造テーブルが作成できる。なお、根幹ジョブのジョブ関連情報には、親ジョブのジョブIDの項目に値が入っていないことから、根幹ジョブを判別することができる。
以上説明した第6のジョブ関連情報例の場合のジョブ登録時の動作を、図52のシーケンス図を用いて説明する。なお、このシーケンス図は、図34で示したシーケンス図と一部異なるので、その異なる部分を説明することにする。
ステップS909は、ステップS109に対応するが、親ジョブのジョブIDのみ通知される。また、ステップS910でジョブを生成した後、ステップS911で、プリンタアプリ20に子ジョブの生成を通知する処理が追加される。また、ステップS918は、ステップS117に対応するが、親ジョブのジョブIDのみ通知される。さらに、ステップS920で子ジョブの生成通知後、ステップS921で、印刷制御モジュール23からプリンタアプリ20に子孫ジョブの生成が通知される処理が加わる。
ジョブ参照時の動作シーケンスは、図43と同じであるため、説明を省略する。
次に、ジョブ管理モジュール26で一括管理する第7のジョブ関連情報例について、図53を用いて説明する。
第7のジョブ関連情報例は、各モジュールでの処理において子ジョブが派生した場合は、各モジュールがジョブ管理モジュールに派生した子ジョブのジョブIDと親のジョブIDの対応を通知することで生成される。ジョブ管理モジュール26は、全ジョブの対応関係を保持しており、表示アプリにジョブ構造を表示させる場合はその情報を表示アプリに通知するようになっている。
図53には、ジョブの関係図172、173、174と、プリンタアプリ20と、印刷制御モジュール23と、ジョブ管理モジュール26とが示されている。
関係図172は、プリンタアプリ20が生成したジョブの関係図である。関係図173は、印刷制御モジュール23が生成したジョブの関係図である。関係図174は、関係図172、173に基づき、ジョブ管理モジュール26が生成した関係図である。
関係図172で示されているジョブの関係と、関係図173で示されているジョブの関係が、関係図174に反映されていることが分かる。この場合、ジョブ情報は、ジョブ関連情報を持たなくても良い。
以上説明した第7のジョブ関連情報例の場合のジョブ登録時の動作を、図54のシーケンス図を用いて説明する。なお、このシーケンス図は、図34で示したシーケンス図と一部異なるので、その異なる部分を説明することにする。
ステップS1002のプリンタアプリ20がジョブを生成する処理の後に、ステップS1003と、ステップS1004の処理が追加される。ステップS1003の処理は、プリンタアプリ20からジョブ管理モジュール26へのジョブ生成の通知である。このとき、親ジョブIDと子ジョブIDが通知される。また、ステップS1004は、ジョブ管理モジュール26によるジョブ構造テーブルの更新である。
ステップS1011は、ステップS109に対応するが、親ジョブのジョブIDのみの通知となる。
ステップS1012の印刷制御モジュール23がジョブを生成する処理の後に、ステップS1013と、ステップS1014の処理が追加される。ステップS1013の処理は、印刷制御モジュール23からジョブ管理モジュール26へのジョブ生成の通知である。このとき、親ジョブIDと子ジョブIDが通知される。また、ステップS1014は、ジョブ管理モジュール26によるジョブ構造テーブルの更新である。
ステップS1021は、ステップS117に対応するが、親ジョブのジョブIDのみの通知となる。
ステップS1022のプロッタハンドラ27がジョブを生成する処理の後に、ステップS1023と、ステップS1024の処理が追加される。ステップS1023の処理は、プロッタハンドラ27からジョブ管理モジュール26へのジョブ生成の通知である。このとき、親ジョブIDと子ジョブIDが通知される。また、ステップS1024は、ジョブ管理モジュール26によるジョブ構造テーブルの更新である。
次に、図55を用いて、ジョブ参照時の動作シーケンスを説明する。図55は、ユーザ160と、オペパネアプリ161と、ジョブ管理モジュール26と、プリンタアプリ20と、メモリ管理モジュール30との間で行われる処理を示している。
ステップS1101で、オペパネアプリ161は、ユーザ160からジョブ参照要求を通知される。ステップS1102で、オペパネアプリ161は、ジョブ管理モジュール26にジョブ一覧要求を通知する。ステップS1103で、ジョブ管理モジュール26は、オペパネアプリ161にジョブ一覧を通知する。オペパネアプリ161は、ステップS1104で、ユーザ160に、ジョブ一覧を通知(表示)する。ステップS1105で、オペパネアプリ161は、ユーザ160からジョブ情報を要求される。ステップS1106で、オペパネアプリ161は、ジョブ管理モジュール26にジョブ情報の取得を要求する。
ジョブ管理モジュール26は、ステップS1107で、メモリ管理モジュール30に、ジョブ情報の取得を要求する。メモリ管理モジュール30は、ステップS1108で、ジョブ管理モジュール26にジョブ情報を通知する。
ジョブ管理モジュール26は、ステップS1109で、プリンタアプリ20に、キューの順番取得を要求する。プリンタアプリ20は、ステップS1110で、ジョブ管理モジュール26にキューの順番を通知する。ジョブ管理モジュール26は、ステップS1111で、オペパネアプリ161にジョブ情報を通知する。ステップS1112で、オペパネアプリ161は、ユーザ160にジョブ情報を通知(表示)する。
次に、ソフトウェアの構成が図30で説明した構成であり、ジョブ関連情報が図32に示したジョブ関連情報の場合の処理について説明する。図30における構成は、ジョブ情報は各アプリ層、サービス層のモジュールが各自のメモリ空間に保持する構成である。この構成でのジョブ登録時の動作シーケンスを、図56を用いて説明する。
図56には、ユーザ160と、プリンタアプリ20と、印刷制御モジュール23と、プロッタハンドラ27との間で行われる処理を示している。
ステップS1201で、プリンタアプリ20は、ユーザ160から印刷要求を通知される。プリンタアプリ20は、ステップS1202で、ジョブの生成を行い、ステップS1203で、ジョブIDをキューに追加する。ステップS1204で、プリンタアプリ20は、キューからジョブIDを取得し、ステップS1205で、処理を実行する。
ステップS1206で、プリンタアプリ20は、印刷制御モジュール23に印刷処理要求を通知する。このとき、親ジョブのジョブ関連情報と、親ジョブのジョブIDも通知される。印刷モジュール23は、ステップS1207でジョブの生成を行い、ステップS1208でジョブIDをキューに追加する。そして、印刷制御モジュール23は、ステップS1209でジョブIDをキューから取得し、ステップS1210で処理を実行する。
ステップS1211で印刷制御モジュール23は、プロッタハンドラ27にプロット要求を通知する。このとき、親ジョブのジョブ関連情報と親ジョブIDも通知される。
ステップS1212で、プロッタハンドラ27は、ジョブの生成を行う。ステップS1213で、プロッタハンドラ27は、ジョブIDをキューに追加し、ステップS1214でジョブIDをキューから取得する。
プロッタハンドラ27は、ステップS1215で、プロットを実行する。プロッタハンドラ27は、印刷制御モジュール23に、ステップS1216で、プロット終了を通知する。印刷制御モジュール23は、ステップS1217で、プリンタアプリ20に印刷終了を通知する。プリンタアプリ20は、ステップS1218で、ユーザ160に印刷終了を通知(表示)する。
次に、図57を用いて、ジョブ参照時の動作シーケンスを説明する。図57は、ユーザ160と、オペパネアプリ161と、ジョブ管理モジュール26と、プリンタアプリ20と、印刷制御モジュール23と、プロッタハンドラ27との間で行われる処理を示している。
ステップS1301で、オペパネアプリ161は、ユーザ160からジョブ参照要求を通知される。ステップS1302で、オペパネアプリ161は、ジョブ管理モジュール26にジョブ一覧要求を通知する。
ジョブ管理モジュール26は、ステップS1303で、プリンタアプリ20にジョブ情報の取得を要求する。ステップS1304で、プリンタアプリ20は、ジョブ管理モジュール26にジョブ情報を通知する。
ジョブ管理モジュール26は、ステップS1305で、印刷制御モジュール23にジョブ情報の取得を要求する。ステップS1306で、印刷制御モジュール23は、ジョブ管理モジュール26にジョブ情報を通知する。
ジョブ管理モジュール26は、ステップS1307で、プロッタハンドラ27にジョブ情報の取得を要求する。ステップS1308で、プロッタハンドラ27は、ジョブ管理モジュール26にジョブ情報を通知する。
ステップS1309で、ジョブ管理モジュール26は、ジョブ一覧の作成を行う。ステップS1310で、ジョブ管理モジュール26は、オペパネアプリ161にジョブ一覧を通知する。オペパネアプリ161は、ステップS1311で、ユーザ160に、ジョブ一覧を通知(表示)する。
ステップS1312で、オペパネアプリ161は、ユーザ160からジョブ情報を要求される。ステップS1313で、オペパネアプリ161は、ジョブ管理モジュール26にジョブ情報の取得を要求する。ジョブ管理モジュール26は、ステップS1314で、プリンタアプリ20にジョブ情報の取得を要求する。プリンタアプリ20は、ステップS1315で、ジョブ管理モジュール26にジョブ情報を通知する。
ステップS1316で、ジョブ管理モジュール26は、プリンタアプリ20に、キューの順番取得を要求する。プリンタアプリ20は、ステップS1317で、ジョブ管理モジュール26にキューの順番を通知する。ジョブ管理モジュール26は、ステップS1318で、オペパネアプリ161にジョブ情報を通知する。ステップS1319で、オペパネアプリ161は、ユーザ160にジョブ情報を通知(表示)する。
次に、図58を用いて、ユーザからジョブを中止された場合の処理について説明する。ステップS1401で、オペパネアプリ161は、ユーザ160からジョブの中止を通知される。オペパネアプリ161は、ステップS1402で、ジョブ管理モジュール26にジョブの中止を通知する。ジョブ管理モジュール26は、ステップS1403で、プリンタアプリ20に印刷要求の中止を通知する。
プリンタアプリ20は、ステップS1404でメモリ管理モジュール30にジョブ情報の取得を要求し、ステップS1405で、中止処理を行う。プリンタアプリ20は、ステップS1406で、印刷制御モジュール23に印刷処理の中止を通知する。
印刷制御モジュール23は、ステップS1407で、メモリ管理モジュール30にジョブ情報の取得を要求し、ステップS1408で、中止処理を行う。印刷制御モジュール23は、ステップS1409で、プロッタハンドラ27にプロットの中止を通知する。プロッタハンドラ27は、ステップS1410で、メモリ管理モジュール30にジョブ情報の取得を要求し、ステップS1411で、中止処理を行う。
次に、図59を用いて、ユーザからジョブの再実行を要求された場合の処理について説明する。ステップS1501で、オペパネアプリ161は、ユーザ160からジョブの再実行が通知される。オペパネアプリ161は、ステップS1502で、ジョブ管理モジュール26にジョブの再実行を通知する。ジョブ管理モジュール26は、ステップS1503で、プリンタアプリ20に印刷再要求を通知する。プリンタアプリ20は、ステップS1504で、メモリ管理モジュール30にジョブ情報の取得を要求する。メモリ管理モジュール30は、ステップS1505で、プリンタアプリ20にジョブ情報を通知する。
プリンタアプリ20は、ステップS1506で、ジョブ情報を変更し、ステップS1507で、メモリ管理モジュール30にジョブ情報を通知することで、ジョブ情報を保存する。ステップS1508は、プリンタアプリ20の処理の実行である。
プリンタアプリ20は、ステップS1509で、印刷制御モジュール23に印刷処理の再実行を通知する。印刷制御モジュール23は、ステップS1510で、メモリ管理モジュール30にジョブ情報の取得を要求する。メモリ管理モジュール30は、ステップS1511で、印刷制御モジュール23にジョブ情報を通知する。印刷制御モジュール23は、ステップS1512で、ジョブ情報を変更し、ステップS1513で、メモリ管理モジュール30にジョブ情報を通知することで、ジョブ情報を保存する。ステップS1514は、印刷制御モジュール23の処理の実行である。
ステップS1515で、印刷制御モジュール23は、プロッタハンドラ27にプロット再実行を通知する。プロッタハンドラ27は、ステップS1516で、メモリ管理モジュール30にジョブ情報の取得を要求する。メモリ管理モジュール30は、ステップS1517で、印刷制御モジュール23にジョブ情報を通知する。印刷制御モジュール23は、ステップS1518で、ジョブ情報を変更し、ステップS1519で、メモリ管理モジュール30にジョブ情報を通知することで、ジョブ情報を保存する。ステップS1520は、プロッタの実行である。
プロッタハンドラ27は、印刷制御モジュール23に、ステップS1521で、プロット終了を通知する。印刷制御モジュール23は、ステップS1522で、プリンタアプリ20に印刷終了を通知する。プリンタアプリ20は、ステップS1523で、オペパネアプリ161に印刷終了を通知する。
以上がMFP内部の処理に関する説明である。次に、MFPの連携とユーザインタフェース(以下、UIと記す)について説明する。MFPの連携とは、例えば、通信可能な2台のMFPにおいて、一方のMFPがカラーページ印刷し、他方のMFPが白黒ページを印刷するように、複数のMFPが1つの根幹ジョブから派生したジョブを分担して実行することをいう。
まず、UIから説明することにする。図60は、オペレーションパネルまたはパソコンの画面に表示されるUI200である。このUI200は、図に示されるように、ジョブ情報とジョブのジョブ構造を一度に表示する場合のUIである。この図60に示されるように、このUIには、ジョブ同士の関係が木構造を用いて明示される。
UI200には、2つのジョブ構造201、202が表示されている。ジョブ構造201には、ジョブIDが1から6までのジョブが表示され、ジョブ構造202には、ジョブIDが7から9までのジョブが表示されている。これらのジョブのうち、ジョブ1、7が根幹ジョブで、ジョブ4、5、6、8、9が末端ジョブである。
またジョブ情報には、図20または図21で説明したジョブ情報が表示されている。このジョブ情報には、図に示されるように、種別や状態、オーナー名などが表示されるので、各ジョブ情報が一目で分かるようになっている。
次に、図61を用いて、他のUIの例を説明する。図61に示されるUI220は、MFP210のジョブのジョブ構造が示されているものである。このUI220は、カーソルで、ジョブを選択すると、選択されたジョブの情報が表示されるものである。
図61には、印刷ジョブ212がカーソル211で選択され、選択された印刷ジョブ212のジョブ情報213が、下部に表示される様子が示されている。また、このUI220は、さらにジョブ情報の編集、ジョブの再開、中止が可能となっている。それらは、編集ボタン214、再開ボタン215、中止ボタン216で行うことができる。なお、編集とは、ジョブ情報の編集であり、再開とは、停止していたジョブの実行を再び開始することであり、中止とは、ジョブの実行を中止することである。
このように、UI200、220は、ジョブのジョブ構造ならびにジョブ情報が分かりやすく表示されるものである。
次に、上述したUI200、220で、実際にジョブの実行を中止する場合のUIについて説明する。まず、UI200の場合について、図62、63、64を用いて説明する。図62には、エラーが発生しているジョブ3が示されている。ジョブ3の処理の実行を中断するユーザは、このジョブ3のジョブ情報230にカーソル211をあわせ、例えば右クリックする。
右クリックにより、図63に示されるUIとなる。このUIには、図に示されるように、ジョブに対して実行可能な操作項目であるメニュー231が表示されている。メニュー231には、「ジョブの中止」と、「ジョブの再開」と、「ジョブ情報編集」と、「プロパティ」が表示される。このとき、メニュー231のジョブの中止にカーソル221をあわせ、例えば左クリックする。
これにより、ジョブ3の処理の実行が中止され、図64に示されるように、ジョブ3が表示されなくなる。
次に、UI220の場合について、図65、66、67、68を用いて説明する。図65には、エラーが発生しているプロッタジョブ240が示されている。このプロッタジョブ240の処理の実行を中断するユーザは、このプロッタジョブ240にカーソル211をあわせ、例えば左クリックする。
この左クリックによって、図66に示されるように、ジョブ情報241と、中止ボタン242などが表示される。そこで、図67に示されるように、プロッタジョブ240の処理の実行を中断するユーザは、中止ボタン242にカーソル211をあわせ、例えば左クリックする。
これにより、プロッタジョブ240の処理の実行が中止され、図68に示されるように、プロッタジョブ240が表示されなくなる。
次に、MFPの連携について説明する。図69は、MFPの連携を示す図である。図69には、ユーザ160と、PC250と、ネットワーク253と、MFPA251と、MFPB252とが示されている。PC250と、MFPA251と、MFPB252は、ネットワーク253で接続され、通信可能である。
この構成で、例えばユーザ160がPC250からMFPA251に、カラーと白黒が混在したページを有する文書の印刷を要求したとする。この場合、MFPA251は、自らが白黒ページを印刷するとともに、MFPB252にカラーページの印刷要求をし、MFPB252がカラーページを印刷する。
この処理におけるジョブ構造は、図10で説明したジョブ構造である。このようにジョブのジョブ構造が複数のMFPにまたがって発生した場合、図70に示されるような、ジョブを管理するジョブ管理サーバを用意すると、ネットワーク上にある全体のジョブのジョブ構造を管理することが可能になる。
図70は、2台のMFPと、ジョブ管理サーバ280が設けられた構成が示されている。ジョブ構造テーブル282は、MFPA251で実行されているジョブのジョブ構造テーブルであり、ジョブ構造テーブル283は、MFP252で実行されているジョブのジョブ構造テーブルである。
これら2つのジョブ構造テーブルを各MFPがジョブ管理サーバ280に通知することにより、ジョブ管理サーバ280は、取得したジョブのジョブ構造テーブルを結合し、ネットワーク上にある全体のジョブのジョブ構造テーブル284を作成することができる。このときのジョブ構造テーブルを取得する処理が、ジョブ構造情報取得段階に対応する。なお、ジョブ構造情報取得手段は、上述したようにMFPであればオペパネアプリであってもよいし、パソコンであれば、HTMLブラウザであってもよい。また、ジョブ構造テーブルとともに、ジョブ情報を取得しても良い。
以上の処理は、ジョブ構造テーブルを受信し、ジョブ構造テーブルに基づいたグラフィカルユーザインタフェースを表示する処理である。
このようにジョブを管理することにより、ジョブ管理サーバ280に表示される管理画面には、図71に示されるUI290を表示することができる。このUI290には、MFPA251とMFPB252のジョブと、上述したジョブ情報213と、編集ボタン214、再開ボタン215、中止ボタン216とが表示される。ジョブ情報213は、カーソル211があっている印刷ジョブ212のジョブ情報である。
このUI290は、MFPB252のジョブであることを明示するために、根幹ジョブである印刷ジョブ212から派生し、MFPB252のジョブは、例えば点線286で囲まれるようになっている。
このようなUI上で、MFPに属するジョブを、他のMFPで実行させる場合のUIについて説明する。図72に示されるUIには、MFPA251で実行されている印刷ジョブから派生したジョブが表示されている。これらのジョブのうち、カラープリントジョブ294を、MFPB252で実行することとする。
この場合、図73に示されるように、カラープリントジョブ294をMFPB252のアイコンにドラッグする。この場合、アイコン295に示されるように、カラープリントジョブ294をドラッグすれば、カラープリントジョブ294の子ジョブも一緒にドラッグされる。
そして、図74に示されるように、ドラッグされたカラープリントジョブ295と、その子ジョブが、MFPB252のジョブとして表示される。
このように、ユーザの指示により、ジョブが属する機器を変更することができる。
以上説明したようなネットワークを介したMFPを利用すると、あるMFPでエラーが発生したジョブを他のMFPで処理し、エラーを回避するということなどが可能となる。
次に、ジョブ構造のいろいろな表示方法について説明する。まず、図75を用いて、根幹ジョブのみを表示するUIについて説明する。図75に示されるUIは、図60で説明したジョブのうち、根幹ジョブのみを表示したものである。図60にしめされるジョブ構造の根幹ジョブは、ジョブ1と、ジョブ7の2つのジョブである。従って、図75に示されるUIには、ジョブ1とジョブ7のジョブ情報が表示される。
次に、末端ジョブのみを表示するUIについて説明する。図76に示されるUIは、図60で説明したジョブのうち、末端ジョブのみを表示したものである。図60にしめされるジョブ構造の末端ジョブは、ジョブ4、ジョブ5、ジョブ6、ジョブ8、ジョブ9の5つのジョブである。従って、図76に示されるUIには、上記5つのジョブ情報が表示される。
次に、ジョブの一覧を表示するUIについて説明する。図60に示されるUIは、ジョブをツリー構造で表示するものであった。図77に示されるUIは、ツリー構造ではなく、一覧として表示するUIを示すものである。
図77のUIには、図60に示される全てのジョブが一覧として表示されている。一覧として表示されるため、このUIは、各項目ごとにソートをかけることが可能なUIである。例えば、オーナー名でソートをかけると、そのオーナーが要求したジョブについて一目瞭然となる。
また、図77のUIでは、検索を行うことができる。そのことを、図78を用いて説明する。図78には、検索条件画面700と、検索対象ラジオボタン701と、検索文字列入力欄702と、検索ボタン703と、キャンセルボタン704とが表示されている。
検索対象ラジオボタン701は、検索対象の項目を選択するためのラジオボタンである。この図では、項目として「状態」が選択されている。検索文字列702は、検索する文字列が入力されるテキストボックスである。この図では、文字列として「待機中」が入力されている。検索ボタン703は、選択された検索対象と、入力された文字列に基づき検索を実行させるボタンである。キャンセルボタン704は、何もせず、この検索条件画面700を閉じるためのボタンである。
この検索条件画面700により、対象となるジョブを検索することができる。このような検索が可能であるのは、MFP内で、ジョブ構造テーブルが作成されているからである。
検索ボタン703をユーザがクリックすると、図79に示される検索結果を示すUIが表示される。図77において、状態が待機中のジョブは、ジョブ5とジョブ9であり、それらのジョブが、図79のUIに表示されている。
ジョブの派生を示す図である。 ページが混在した文書を印刷する際のジョブの派生を示す図である。 プリンタアプリでのジョブ管理を示す図である。 サービス層のモジュールでのジョブ管理を示す図である。 ユーザインタフェースを示す図である。 ジョブの状態遷移図である。 根幹ジョブから派生した子ジョブを示す図である。 1つのジョブから1つのジョブが派生する場合の例を示す図である。 1つのジョブから複数のジョブが派生する場合の例を示す図である。 複数MFPでのジョブ構造を示す図である。 処理の委譲によるジョブの派生の例を示す図である。 処理の分割によるジョブの派生の例を示す図である(その1)。 処理の分割によるジョブの派生の例を示す図である(その2)。 ジョブの派生を示す図である。 シングルプロセス・シングルスレッドでの実装例を示す図である。 シングルプロセス・マルチスレッドでの実装例を示す図である。 マルチプロセス・シングルスレッドでの実装例を示す図である。 マルチプロセス・マルチスレッドでの実装例を示す図である。 ユーザによるジョブへの操作の実装例を示す図である。 ジョブ情報を示す図である(その1)。 ジョブ情報を示す図である(その2)。 ジョブの操作の許可情報の例を示す図である。 ジョブを操作できる条件の例を示す図である。 ジョブ構造テーブルを示す図である。 ジョブ構造テーブル(XML)を示す図である。 コピー蓄積処理で発生するジョブを示す図である。 MFPのソフトウェアブロック図である。 MFPのハードウェア構成図である。 ソフトウェアの関係を示す図(その1)である。 ソフトウェアの関係を示す図(その2)である。 ジョブ構造を示す図である。 第1のジョブ関連情報例を示す図である。 第1のジョブ関連情報例におけるジョブ情報を示す図である。 第1のジョブ関連情報例におけるジョブ登録時の動作シーケンス図である。 第1のジョブ関連情報例におけるジョブ参照時の動作シーケンス図である。 第2のジョブ関連情報例を示す図である。 第2のジョブ関連情報例におけるジョブ情報を示す図である。 第2のジョブ関連情報例におけるジョブ登録時の動作シーケンス図である。 第2のジョブ関連情報例におけるジョブ参照時の動作シーケンス図である。 第3のジョブ関連情報例を示す図である。 第3のジョブ関連情報例におけるジョブ情報を示す図である。 第3のジョブ関連情報例におけるジョブ登録時の動作シーケンス図である。 第3のジョブ関連情報例におけるジョブ参照時の動作シーケンス図である。 第4のジョブ関連情報例を示す図である。 第4のジョブ関連情報例におけるジョブ情報を示す図である。 第4のジョブ関連情報例におけるジョブ登録時の動作シーケンス図である。 第5のジョブ関連情報例を示す図である。 第5のジョブ関連情報例におけるジョブ情報を示す図である。 第5のジョブ関連情報例におけるジョブ登録時の動作シーケンス図である。 第6のジョブ関連情報例を示す図である。 第6のジョブ関連情報例におけるジョブ情報を示す図である。 第6のジョブ関連情報例におけるジョブ登録時の動作シーケンス図である。 第7のジョブ関連情報例を示す図である。 第7のジョブ関連情報例におけるジョブ登録時の動作シーケンス図である。 第7のジョブ関連情報例におけるジョブ参照時の動作シーケンス図である。 図30で示した構成におけるジョブ登録時の動作シーケンス図である。 図30で示した構成におけるジョブ参照時の動作シーケンス図である。 ジョブを中止する場合の処理を示すシーケンス図である。 ジョブを再実行する場合の処理を示すシーケンス図である。 ユーザインタフェースを示す図である(その1)。 ユーザインタフェースを示す図である(その2)。 エラーの発生を示す図である。 メニューの表示を示す図である。 ジョブの中止を示す図である。 エラーの発生を示す図である。 ジョブ情報の表示を示す図である。 ジョブの中止を示す図である。 中止されたジョブの消滅を示す図である。 MFPの連携を示す図である。 2台のMFPとジョブ管理サーバからなる構成を示す図である。 ジョブ管理サーバに表示される管理画面を示す図である。 MFP Aのジョブ構造を示す図である。 ジョブのアイコンをドラッグする様子を示す図である。 ドラッグされたジョブが他のMFPのジョブとなった様子を示す図である。 根幹ジョブのみの表示を示す図である。 末端ジョブのみの表示を示す図である。 全てのジョブの一覧表示を示す図である。 検索条件画面を示す図である。 検索結果を示す図である。
符号の説明
5 アプリケーション層
7 サービス層
9 ハンドラ層
20 プリンタアプリ
21 コピーアプリ
22 FAXアプリ
23 印刷制御モジュール
24 FAX制御モジュール
25 読み取り制御モジュール
26 ジョブ管理モジュール
27 プロッタハンドラ
28 FAXユニットハンドラ
29 スキャナハンドラ
30 メモリ管理モジュール
51 スキャナ
52 プロッタ
53 オペレーションパネル
60 コントローラボード
61 CPU
62 ノースブリッジ(NB)
63 システムメモリ(MEM−P)
64 ローカルメモリ(MEM−C)
65 ハードディスク装置(HDD)
66 ASIC
67 AGP(Accelerated Graphics Port)
68 ファックスコントロールユニット(FCU)
69 G3
70 G4
71 エンジン
73 サウスブリッジ(SB)
74 NIC
75 USBデバイス
76 IEEE1394デバイス
77 セントロニクス
103 FAX送信ジョブ
104 宛先ごとのFAX送信ジョブ
110 コピー蓄積ジョブ
111 読み取りジョブ
112 プリントジョブ
113 蓄積ジョブ
114、115 プロッタジョブ
130 各プログラム
131 専用キュー
132、150、163、166、167、170、213、230、241 ジョブ情報
133 キュー
151、164、168、169、171 ジョブ関連情報
172、173、174 関係図
200、220、290 UI
201、202、271、272 ジョブ構造
210 MFP
211 カーソル
212 印刷ジョブ
214 編集ボタン
215 再開ボタン
216、242 中止ボタン
231 メニュー
240 プロッタジョブ
250 PC
251 MFP A
252 MFP B
253 ネットワーク
254 白黒プリントジョブ
255、256、258 プロッタジョブ
257 カラープリントジョブ
259 印刷ジョブ
ジョブ構造
280 ジョブ管理サーバ
282、283、284 ジョブ構造テーブル
286 点線
294 カラープリントジョブ
295 アイコン
400 ジョブA
401 ジョブA-A
402 ジョブA-B
403 ジョブA-A-A
404 ジョブA-A-B
405 ジョブA-B-A
410、415 プリントジョブ
411、416、432 印刷ジョブ
412、419、420、421 プロッタジョブ
417 白黒プリントジョブ
418 カラープリントジョブ
430 コピージョブ
431 読み取りジョブ
433 1ページ〜10ページの印刷ジョブ
434 11ページ目の印刷ジョブ
435 12ページ〜20ページの印刷ジョブ
441 FAX送信ジョブ
442、443、444 宛先ごとのFAX送信ジョブ
450 ジョブA
451 ジョブB
452 ジョブC
453 ジョブD
500 プロセスA
501 スレッドA
502 スレッドB
503 スレッドC
505 プロセスB
506 プロセスC
507 スレッドD
508 スレッドE
601 待機中
602 実行中
603 完了
604 中断中
605 中止
606 エラー発生
700 検索条件画面
701 検索対象ラジオボタン
702 検索文字列入力欄
703 検索ボタン
704 キャンセルボタン

Claims (38)

  1. 所定の処理により発生するジョブに関するジョブ情報を表示する電子機器において、
    任意のジョブと他のジョブとの関連を示すジョブ構造情報と、
    前記ジョブ構造情報に基づいて、前記ジョブ情報を表示するGUI表示手段と
    を有することを特徴とする電子機器。
  2. 前記GUI表示手段は、前記ジョブが属する機器を、該ジョブに関連付けて表示することを特徴とする請求項1に記載の電子機器。
  3. 前記GUI表示手段は、全てのジョブのジョブ情報を表示することを特徴とする請求項1に記載の電子機器。
  4. 前記ジョブを検索するためのジョブ検索手段を有することを特徴とする請求項3に記載の電子機器。
  5. 前記GUI表示手段は、前記ジョブのうちの根幹ジョブのみのジョブ情報を表示することを特徴とする請求項1に記載の電子機器。
  6. 前記GUI表示手段は、前記ジョブのうちの末端ジョブのみのジョブ情報を表示することを特徴とする請求項1に記載の電子機器。
  7. 前記GUI表示手段は、前記ジョブ同士の関係を明示するように前記ジョブ情報を表示することを特徴とする請求項1に記載の電子機器。
  8. 前記GUI表示手段は、各ジョブに対して実行可能な所定の操作項目を表示することを特徴とする請求項1に記載の電子機器。
  9. 前記操作項目は、ジョブの中止、ジョブの中断、ジョブの再実行、前記ジョブ情報の編集、前記ジョブを実行する機器の変更のうちのいずれか1つ以上の項目であることを特徴とする請求項8に記載の電子機器。
  10. 前記ジョブ情報は、前記ジョブの処理内容を示す種別と、前記ジョブの状態と、前記ジョブを識別するための識別情報と、前記ジョブのオーナー名と、前記ジョブが作成された日のうちのいずれか1つ以上の情報を含むことを特徴とする請求項1から9のいずれか1項に記載の電子機器。
  11. 前記ジョブ構造情報は、前記ジョブの親子関係を示す情報であることを特徴とする請求項1から10のいずれか1項に記載の電子機器。
  12. 前記ジョブ構造情報を、1つ以上の機器から取得するジョブ構造情報取得手段を有することを特徴とする請求項1から11のいずれか1項に記載の電子機器。
  13. 前記各機器から取得したジョブ構造情報を結合して1つのジョブ構造情報とする全体ジョブ構造情報作成手段を有することを特徴とする請求項12に記載の電子機器。
  14. 前記ジョブ構造情報は、前記ジョブごとに作成されるジョブ関連情報に基づき作成されることを特徴とする請求項1から13のいずれか1項に記載の電子機器。
  15. 前記ジョブ関連情報は、前記ジョブの祖先にあたる全てのジョブの識別情報を含むことを特徴とする請求項14に記載の電子機器。
  16. 前記ジョブ関連情報は、前記ジョブの親ジョブの識別情報を含むことを特徴とする請求項14に記載の電子機器。
  17. 前記ジョブ関連情報は、前記ジョブの子孫にあたる全てのジョブの識別情報を含むことを特徴とする請求項14に記載の電子機器。
  18. 前記ジョブ関連情報は、前記ジョブの子ジョブの識別情報を含むことを特徴とする請求項14に記載の電子機器。
  19. 画像形成処理で使用されるハードウェア資源と、画像形成に係る処理を行うプログラムとをさらに有することを特徴とする請求項1から18に記載の電子機器。
  20. 前記GUI表示手段からの通知により、他の機器に属していたジョブを実行することを特徴とする請求項19に記載の電子機器。
  21. 前記GUI表示手段からの通知により、他の機器に自らが実行すべきジョブを実行させることを特徴とする請求項19に記載の電子機器。
  22. 所定の処理により発生するジョブに関するジョブ情報を表示するジョブ表示方法において、
    任意のジョブと他のジョブとの関連を示すジョブ構造情報を受信するジョブ構造受信段階と、
    前記ジョブ構造情報に基づいて、前記ジョブ情報を表示するGUI表示段階と
    を有することを特徴とするジョブ表示方法。
  23. 前記GUI表示段階は、前記ジョブが属する機器を、該ジョブに関連付けて表示することを特徴とする請求項22に記載のジョブ表示方法。
  24. 前記GUI表示段階は、全てのジョブのジョブ情報を表示することを特徴とする請求項22に記載のジョブ表示方法。
  25. 前記GUI表示段階は、前記ジョブのうちの根幹ジョブのみのジョブ情報を表示することを特徴とする請求項22に記載のジョブ表示方法。
  26. 前記GUI表示段階は、前記ジョブのうちの末端ジョブのみのジョブ情報を表示することを特徴とする請求項22に記載のジョブ表示方法。
  27. 前記GUI表示段階は、前記ジョブ同士の関係を明示するように前記ジョブ情報を表示することを特徴とする請求項22に記載のジョブ表示方法。
  28. 前記GUI表示段階は、各ジョブに対して実行可能な所定の操作項目を表示することを特徴とする請求項22に記載のジョブ表示方法。
  29. 前記操作項目は、ジョブの中止、ジョブの中断、ジョブの再実行、前記ジョブ情報の編集、前記ジョブを実行する機器を変更のうちのいずれか1つ以上の項目であることを特徴とする請求項28に記載のジョブ表示方法。
  30. 前記ジョブ情報は、前記ジョブの処理内容を示す種別と、前記ジョブの状態と、前記ジョブを識別するための識別情報と、前記ジョブのオーナー名と、前記ジョブが作成された日のうちのいずれか1つ以上の情報を含むことを特徴とする請求項22から29のいずれか1項に記載のジョブ表示方法。
  31. 前記ジョブ構造情報は、前記ジョブの親子関係を示す情報であることを特徴とする請求項22から30のいずれか1項に記載のジョブ表示方法。
  32. 前記ジョブ構造情報を、1つ以上の機器から取得するジョブ構造情報取得段階を有することを特徴とする請求項22から31のいずれか1項に記載のジョブ表示方法。
  33. 前記ジョブ構造情報は、前記ジョブごとに作成されるジョブ関連情報に基づき作成されることを特徴とする請求項22から32のいずれか1項に記載のジョブ表示方法。
  34. 前記ジョブ関連情報は、前記ジョブの祖先にあたる全てのジョブの識別情報を含むことを特徴とする請求項33に記載のジョブ表示方法。
  35. 前記ジョブ関連情報は、前記ジョブの親ジョブの識別情報を含むことを特徴とする請求項33に記載のジョブ表示方法。
  36. 前記ジョブ関連情報は、前記ジョブの子孫にあたる全てのジョブの識別情報を含むことを特徴とする請求項33に記載のジョブ表示方法。
  37. 前記ジョブ関連情報は、前記ジョブの子ジョブの識別情報を含むことを特徴とする請求項33に記載のジョブ表示方法。
  38. コンピュータに、請求項22から請求項37に記載のジョブ表示方法を実行させるためのジョブ表示プログラム。
JP2005057890A 2004-03-08 2005-03-02 電子機器、ジョブ表示方法、ジョブ表示プログラム Expired - Fee Related JP4714483B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005057890A JP4714483B2 (ja) 2004-03-08 2005-03-02 電子機器、ジョブ表示方法、ジョブ表示プログラム
US11/072,593 US20050206913A1 (en) 2004-03-08 2005-03-07 Image forming apparatus, job managing method, electronic device, job displaying method, and job displaying program

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP2004064049 2004-03-08
JP2004064048 2004-03-08
JP2004064048 2004-03-08
JP2004064049 2004-03-08
JP2005057890A JP4714483B2 (ja) 2004-03-08 2005-03-02 電子機器、ジョブ表示方法、ジョブ表示プログラム

Publications (2)

Publication Number Publication Date
JP2005295515A true JP2005295515A (ja) 2005-10-20
JP4714483B2 JP4714483B2 (ja) 2011-06-29

Family

ID=35327893

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005057890A Expired - Fee Related JP4714483B2 (ja) 2004-03-08 2005-03-02 電子機器、ジョブ表示方法、ジョブ表示プログラム

Country Status (1)

Country Link
JP (1) JP4714483B2 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007164454A (ja) * 2005-12-13 2007-06-28 Canon Inc 情報処理装置およびジョブ処理装置
JP2007164455A (ja) * 2005-12-13 2007-06-28 Canon Inc 情報処理装置及びワークフロー生成方法とプログラム
JP2008028719A (ja) * 2006-07-21 2008-02-07 Fuji Xerox Co Ltd 画像形成装置及びプログラム
JP2008041057A (ja) * 2006-08-10 2008-02-21 Ricoh Co Ltd 画像処理装置、画像形成装置、プログラム管理方法及びプログラムを管理する管理プログラム
JP2010079436A (ja) * 2008-09-24 2010-04-08 Fuji Xerox Co Ltd 情報処理装置、情報処理システム及びプログラム
JP2011090464A (ja) * 2009-10-21 2011-05-06 Fujitsu Fip Corp 情報処理プログラム、情報処理装置、情報処理方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0965034A (ja) * 1995-08-30 1997-03-07 Matsushita Graphic Commun Syst Inc 画像通信装置
JPH1155427A (ja) * 1997-08-01 1999-02-26 Oki Data:Kk 同一宛先に対する通信方法
JP2001209585A (ja) * 2000-01-26 2001-08-03 Konica Corp 画像蓄積装置および画像蓄積装置の記憶手段管理方法
JP2002373064A (ja) * 2001-06-18 2002-12-26 Fuji Xerox Co Ltd 印刷装置および情報処理装置
JP2003134315A (ja) * 2001-10-23 2003-05-09 Konica Corp 画像形成装置
JP2003283734A (ja) * 2002-03-20 2003-10-03 Sharp Corp 通信装置
JP2003330667A (ja) * 2002-05-14 2003-11-21 Canon Inc ネットワークデバイス制御装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0965034A (ja) * 1995-08-30 1997-03-07 Matsushita Graphic Commun Syst Inc 画像通信装置
JPH1155427A (ja) * 1997-08-01 1999-02-26 Oki Data:Kk 同一宛先に対する通信方法
JP2001209585A (ja) * 2000-01-26 2001-08-03 Konica Corp 画像蓄積装置および画像蓄積装置の記憶手段管理方法
JP2002373064A (ja) * 2001-06-18 2002-12-26 Fuji Xerox Co Ltd 印刷装置および情報処理装置
JP2003134315A (ja) * 2001-10-23 2003-05-09 Konica Corp 画像形成装置
JP2003283734A (ja) * 2002-03-20 2003-10-03 Sharp Corp 通信装置
JP2003330667A (ja) * 2002-05-14 2003-11-21 Canon Inc ネットワークデバイス制御装置

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007164454A (ja) * 2005-12-13 2007-06-28 Canon Inc 情報処理装置およびジョブ処理装置
JP2007164455A (ja) * 2005-12-13 2007-06-28 Canon Inc 情報処理装置及びワークフロー生成方法とプログラム
US7821662B2 (en) 2005-12-13 2010-10-26 Canon Kabushiki Kaisha Information processing apparatus and job processing apparatus
US7876465B2 (en) 2005-12-13 2011-01-25 Canon Kabushiki Kaisha Information processing apparatus and workflow generation method
JP4646792B2 (ja) * 2005-12-13 2011-03-09 キヤノン株式会社 情報処理装置およびジョブ処理装置と情報処理方法およびジョブ処理方法
JP2008028719A (ja) * 2006-07-21 2008-02-07 Fuji Xerox Co Ltd 画像形成装置及びプログラム
JP2008041057A (ja) * 2006-08-10 2008-02-21 Ricoh Co Ltd 画像処理装置、画像形成装置、プログラム管理方法及びプログラムを管理する管理プログラム
JP2010079436A (ja) * 2008-09-24 2010-04-08 Fuji Xerox Co Ltd 情報処理装置、情報処理システム及びプログラム
US8625128B2 (en) 2008-09-24 2014-01-07 Fuji Xerox Co., Ltd. Information-processing device, an information-processing system, and a storing medium
JP2011090464A (ja) * 2009-10-21 2011-05-06 Fujitsu Fip Corp 情報処理プログラム、情報処理装置、情報処理方法

Also Published As

Publication number Publication date
JP4714483B2 (ja) 2011-06-29

Similar Documents

Publication Publication Date Title
EP1727035B1 (en) Print control program, method of controlling printing apparatus and print control unit
KR100528940B1 (ko) 인쇄 제어 장치, 인쇄 제어 방법, 인쇄 시스템 및 기억 매체
JP4714483B2 (ja) 電子機器、ジョブ表示方法、ジョブ表示プログラム
JP5383254B2 (ja) 情報処理装置及びその制御方法、並びにプログラム
US8373878B2 (en) Cooperative job flow creating apparatus, cooperative job flow creating method, service processing apparatus, service processing method, management server, flow conversion method, job flow execution method, program, and storage medium
US20050206913A1 (en) Image forming apparatus, job managing method, electronic device, job displaying method, and job displaying program
JP4110147B2 (ja) 情報漏洩抑止方法及びそれを実現する情報処理装置とドライバプログラム
JP2002278735A (ja) 情報処理装置およびその制御方法並びに印刷システム
JP2007317088A (ja) 情報処理装置、印刷制御方法、プログラム及びコンピュータ可読の記憶媒体
JP7102129B2 (ja) 画像形成装置、画像形成装置の制御方法、及びプログラム
JP4690355B2 (ja) 情報処理装置及び情報処理プログラム
JP2011081741A (ja) 情報処理装置、印刷システム、印刷方法、プログラム
JP5253190B2 (ja) ワークフロー管理サーバ、ワークフロー管理システム、ワークフロー管理方法、およびワークフロー管理プログラム
JP2012252474A (ja) ウェブサーバ、印刷装置、印刷システム、および、ウェバサーバ用プログラム
JP2014036314A (ja) スキャンサービスシステム、スキャンサービス方法及びスキャンサービスプログラム
JP2011198245A (ja) 文書管理システム
JP2005295514A (ja) 画像形成装置、ジョブ管理方法
JP2007274583A (ja) 管理システム、画像処理装置、管理装置及びそれらの制御方法、プログラム
JP4078292B2 (ja) 情報処理装置、情報処理方法およびプログラム並びにコンピュータ読み取り可能な記憶媒体
JP2007249327A (ja) 情報処理装置、画像処理装置、画像処理システム、ジョブ処理方法、記憶媒体、プログラム
JP5506427B2 (ja) 情報処理装置、情報処理方法、及びプログラム
JP5316946B2 (ja) デバイス共有装置及びデバイス共有方法
JP2019014191A (ja) 画像形成装置、画像形成方法、プログラム
JP6344904B2 (ja) 画像処理装置、画像処理システム、画像処理装置の制御方法、及びコンピュータプログラム
JP2005044000A (ja) リモートアンインストールシステム、サーバ装置、クライアント装置、リモートアンインストール方法、プログラム、リモートインストールシステムおよびリモートインストール方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080214

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091221

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100112

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100310

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110301

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110328

R150 Certificate of patent or registration of utility model

Ref document number: 4714483

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees