(57)【要約】      （修正有）【課題】プリンタを、エラー対処作業などを回避したプリンタとして効率よく利用できるよう支援する情報処理装置及び情報処理方法を提供する。【解決手段】通信可能な複数のプリンタのうち選択されたプリンタに対して印刷データを生成し送信するようにする情報処理装置であって、所定のプリンタのステータスを取得し、取得した所定のプリンタのステータスに基づき、登録されたデフォルトプリンタの切替処理を行う。この切替処理はプリンタのデフォルトプリンタとしての優先度に基づいて実行される。ステータス変化があったプリンタを検知し、最高優先度のプリンタがステータス変化のあったプリンタか否かを判断し、その判断結果に基づいてデフォルトプリンタの切替処理を実行してもよい。【選択図】図６
2005085132.tif 000002
【特許請求の範囲】
【請求項１】
通信可能な複数のプリンタのうち選択されたプリンタに対して印刷データを生成し送信するようにする情報処理装置であって、
前記複数のプリンタのうち所定のプリンタのステータスを取得するプリンタステータス取得手段と、
前記プリンタステータス取得手段により取得した前記所定のプリンタのステータスに基づき、登録されたデフォルトプリンタの切替処理を行う切替処理手段と、
を有することを特徴とする情報処理装置。
【請求項２】
さらに、プリンタが追加された順にデフォルトプリンタの優先度を設定する優先度設定手段を有し、
前記切替処理手段は前記優先度設定手段により設定された優先度に基づくプリンタを参照して前記切替処理を実行することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
さらに、前記所定のプリンタのステータスに応じて、前記登録されたデフォルトプリンタを切り替えるために、ユーザがデフォルトプリンタを切り替えた順を憶えておき、最新であるほど優先度が高く設定する優先度設定手段を有することを特徴とする請求項１に記載の情報処理装置。
【請求項４】
さらに、前記複数のプリンタに対して優先度を設定する優先度設定手段を有し、
前記切替処理手段は、前記優先度設定手段により設定された優先度に従うデフォルトプリンタの切替処理を実行することを特徴とする請求項１に記載の情報処理装置。
【請求項５】
さらに、前記複数のプリンタに対して優先度を設定する優先度設定手段と、
前記優先度設定手段で優先度が設定された前記複数のプリンタのうち、最も優先度が高いプリンタを検索するプリンタ検索手段とを有し、
前記ステータス取得手段はステータス変化があったプリンタを検知し、前記切替処理手段は前記プリンタ検索手段によって得られた最高優先度のプリンタが前記ステータス変化のあったプリンタか否かを判断し、その判断結果に基づいてデフォルトプリンタの切替処理を実行することを特徴とする請求項１に記載の情報処理装置。
【請求項６】
前記複数のプリンタの全てのステータスが正常でない場合には、前記切替処理手段はデフォルトプリンタとして最高優先度のプリンタを設定することを特徴とする請求項１に記載の情報処理装置。
【請求項７】
さらに、前記複数のプリンタに対して優先度を設定する優先度設定手段と、
前記複数のプリンタのうち、監視対象のプリンタを設定する監視プリンタ設定手段とを有し、
前記ステータス取得手段は前記監視対象プリンタのステータスを取得し、
前記切替処理手段は取得された前記監視対象プリンタのステータスに基づいてデフォルトプリンタの切替処理を実行することを特徴とする請求項１に記載の情報処理装置。
【請求項８】
前記切替処理手段は、前記監視対象プリンタが現在デフォルトプリンタとして設定されていない場合に、前記監視対象プリンタをデフォルトプリンタに変更することを特徴とする請求項７に記載の情報処理装置。
【請求項９】
前記監視対象プリンタは、前記優先度設定手段で設定された、最高の優先度を有するプリンタであることを特徴とする請求項７又は８に記載の情報処理装置。
【請求項１０】
前記切替処理手段は、現在デフォルトプリンタとして登録されているプリンタより優先度が高いプリンタにデフォルトプリンタを切り替えることを特徴とする請求項１乃至９の何れか１項に記載の情報処理装置。
【請求項１１】
前記デフォルトプリンタはＯＳにおいて設定されたデフォルトプリンタであり、設定されたデフォルトプリンタはアプリケーションから印刷指示に応じてデフォルトで使用するよう提示されるプリンタであることを特徴とする請求項１乃至１０の何れか１項に記載の情報処理装置。
【請求項１２】
通信可能な複数のプリンタのうち選択されたプリンタに対して印刷データを生成し送信するようにする情報処理方法であって、
前記複数のプリンタのうち所定のプリンタのステータスを取得するプリンタステータス取得工程と、
前記プリンタステータス取得工程で取得した前記所定のプリンタのステータスに基づき、登録されたデフォルトプリンタの切替処理を行う切替処理工程と、
を有することを特徴とする情報処理方法。
【請求項１３】
通信可能な複数のプリンタのうち選択されたプリンタに対して印刷データを生成し送信するようにする情報処理方法を情報処理装置で実行させるための情報処理プログラムであって、
前記複数のプリンタのうち所定のプリンタのステータスを取得するプリンタステータス取得機能のためのプログラムコードと、
前記プリンタステータス取得工程で取得した前記所定のプリンタのステータスに基づき、登録されたデフォルトプリンタの切替処理を行う切替処理機能のためのプログラムコードと、
を有する情報処理プログラム。
【請求項１４】
さらに、プリンタが追加された順にデフォルトプリンタの優先度を設定する優先度設定機能のためのプログラムコードを有し、
前記切替処理機能のためのプログラムコードは、前記優先度設定機能により設定された優先度に基づくプリンタを参照して前記切替処理を実行するためのコードを含むことを特徴とする請求項１３に記載の情報処理プログラム。
【請求項１５】
さらに、前記所定のプリンタのステータスに応じて、前記登録されたデフォルトプリンタを切り替えるために、ユーザがデフォルトプリンタを切り替えた順を憶えておき、最新であるほど優先度が高く設定する優先度設定機能のためのプログラムコードを有することを特徴とする請求項１３に記載の情報処理プログラム。
【請求項１６】
さらに、前記複数のプリンタに対して優先度を設定する優先度設定機能のためのプログラムコードと、
指示により前記優先度設定機能により設定された前記複数のプリンタの優先度を変更する優先度変更機能のためのプログラムコードとを有し、
前記切替処理機能のためのプログラムコードは、前記優先度設定機能により設定された優先度に従うデフォルトプリンタの切替処理を実行するためのコードを含むことを特徴とする請求項１３に記載の情報処理プログラム。
【請求項１７】
さらに、前記複数のプリンタに対して優先度を設定する優先度設定機能のためのプログラムコードと、
前記優先度設定機能により優先度が設定された前記複数のプリンタのうち、最も優先度が高いプリンタを検索するプリンタ検索機能のためのプログラムコードとを有し、
前記ステータス取得機能のためのプログラムコードは、ステータス変化があったプリンタを検知するためのコードを含み、
前記切替処理機能のためのプログラムコードは、前記プリンタ検索機能によって得られた最高優先度のプリンタが前記ステータス変化のあったプリンタか否かを判断し、その判断結果に基づいてデフォルトプリンタの切替処理を実行するためのコードを含むことを特徴とする請求項１３に記載の情報処理プログラム。
【請求項１８】
前記複数のプリンタの全てのステータスが正常でない場合には、前記切替処理機能のためのプログラムコードはデフォルトプリンタとして最高優先度のプリンタを設定するためのコードを含むことを特徴とする請求項１３に記載の情報処理プログラム。
【請求項１９】
さらに、前記複数のプリンタに対して優先度を設定する優先度設定機能のためのプログラムコードと、
前記複数のプリンタのうち、監視対象のプリンタを設定する監視プリンタ設定機能のためのプログラムコードとを有し、
前記ステータス取得機能のためのプログラムコードは前記監視対象プリンタのステータスを取得するためのコードを含み、
前記切替処理機能のためのプログラムコードは取得された前記監視対象プリンタのステータスに基づいてデフォルトプリンタの切替処理を実行するためのコードを含むことを特徴とする請求項１３に記載の情報処理プログラム。
【請求項２０】
前記切替処理機能のためのプログラムコードは、前記監視対象プリンタが現在デフォルトプリンタとして設定されていない場合に、前記監視対象プリンタをデフォルトプリンタに変更するためのコードを含むことを特徴とする請求項１９に記載の情報処理プログラム。
【請求項２１】
前記監視対象プリンタは、前記優先度設定機能により設定された、最高の優先度を有するプリンタであることを特徴とする請求項１９又は２０に記載の情報処理プログラム。
【請求項２２】
前記切替処理機能のためのプログラムコードは、現在デフォルトプリンタとして登録されているプリンタより優先度が高いプリンタにデフォルトプリンタを切り替えるためのコードを含むことを特徴とする請求項１３乃至２１の何れか１項に記載の情報処理プログラム。
【請求項２３】
前記デフォルトプリンタはＯＳにおいて設定されたデフォルトプリンタであり、設定されたデフォルトプリンタはアプリケーションから印刷指示に応じてデフォルトで使用するよう提示されるプリンタであることを特徴とする請求項１３乃至２２の何れか１項に記載の情報処理プログラム。
【請求項２４】
請求項１３乃至２３の何れか１項に記載の情報処理プログラムを記憶したことを特徴とするコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリントシステムにおけるデフォルトプリンタの自動切替に関するものである。
【背景技術】
【０００２】
従来から、マイクロソフト社のWindows（登録商標）などのオペレーティングシステム上で作成したワープロソフト文章などをプリンタドライバを用いて印刷する技術が知られている。
【０００３】
そのようなオペレーティングシステムにおいてアプリケーションのメニューから印刷を行うべく指示をかけた際には、まずデフォルトプリンタが初期設定の利用するプリンタとしてユーザに提示される。
【０００４】
そして、ユーザはプリンタドライバをオペレーティングシステム上で稼動させ印刷データを作成し作成された印刷データを選択されているプリンタに対応するプリンタデバイスへ送信するというのが一般な印刷処理の流れとして知られている。
【０００５】
そのような従来から知られている印刷システムによれば、プリンタデバイスのエラーなどを適切に把握できないことや、プリンタに障害が発生したような場合には、ユーザはプリンタデバイスにおける障害を取り除くか、別の論理プリンタを選択設定し別のプリンタデバイスに対して印刷ジョブを再度投入するかなどのエラー対処作業を行う必要があり、煩雑な作業を強いられるというものになっていた。
【０００６】
このような背景を踏まえて、例えば特許文献１には、クライアントコンピュータからの印刷情報（白黒／カラー，キャラクタ／グラフィック、精細度、紙サイズ）を含む提示信号を各プリンタが受信し、現在の稼働状況、能力により提示信号に対応できるか否かを判定し、クライアントコンピュータに応答信号を送信することにより、クライアントコンピュータはこれらの応答信号を比較し、いずれかのプリンタを選択してプリントデータを送信するという仕組みが知られている。
【０００７】
また、特許文献２には、ネットワーク上の最適なプリンタを選択する仕組みとして、クライアントコンピュータからネットワークを介して送信されてきた印刷要求に対して、プリンタに発生している障害を鑑みて、最適なプリンタを自動的に選択するプリントサーバが知られている。
【０００８】
一方、特許文献３には、自動代行印刷の仕組みにおいて設定された優先順位の１番高いプリンタデバイスにより優先的に印刷が行われ、現在印刷処理を行わせようとしているプリンタデバイスにトナー無し等のエラーが発生し印刷不可能になった場合、自動的に次の優先順位のプリンタデバイスに印刷処理をさせるという仕組が提案されている。
【特許文献１】特開平０５−２７４０９８号公報
【特許文献２】特開平０９−３１１７６９号公報
【特許文献３】特開２００３−０８４９４２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、特許文献１、２によればエラー状況などを回避したプリンタを自動的に選択できエラーなどにより印刷出力を回避することはできるものの、ユーザがＯＳに設定したデフォルトプリンタを積極的に利用するというものではなく、別途所定のルールに従い設定されたプリンタを利用するという形態であるために、適切なプリンタを選択するサーバ装置やソフトウェアプログラムを用意する必要があるという問題があった。
【００１０】
また、OS上で稼動する文書作成ソフトウェアで作成された文章を印刷出力するような場合に、ユーザが文書作成ソフトウェアによって文書を作成し印刷メニューを介して印刷指示をした際にデフォルトのプリンタが出力先として提示されているにも拘わらず、それとは別のプリンタが実際には使用され、どの出力先に出力されるかが判りにくい印刷システムとなっていた。
【００１１】
さらに特許文献３においては、専用のプリンタドライバアプリケーションを稼動させる必要がありコンピュータの負荷を増大させてしまうという問題があったり、特許文献１、２と同様に、ユーザが文書作成ソフトウェアによって文書を作成し印刷メニューを介して印刷指示をした際にデフォルトのプリンタが出力先として提示されているにも拘わらず、それとは別のプリンタが実際には使用され、どの出力先に出力されるかが判りにくいという問題点があったり、エラーが発生してから出力先を変更するために、正常な出力先を特定するまでに時間を要するという問題があった。
【００１２】
本願発明は上記問題点を鑑みて為されたものであり、オペレーティングシステムで利用するように設定されているプリンタを、従来から問題となっているエラー対処作業などを回避したプリンタとして効率よく利用できるよう支援する仕組みを提供することを目的とする。
【課題を解決するための手段】
【００１３】
上記課題を解決するため、本発明による情報処理装置は、通信可能な複数のプリンタのうち選択されたプリンタに対して印刷データを生成し送信するようにする情報処理装置であって、前記複数のプリンタのうち所定のプリンタのステータスを取得するプリンタステータス取得手段と、前記プリンタステータス取得手段により取得した前記所定のプリンタのステータスに基づき、登録されたデフォルトプリンタの切替処理を行う切替処理手段と、を有することを特徴としている。
【００１４】
また、本発明では上記情報処理装置に対応した方法を提供することによっても同課題を解決しようとしている。
【００１５】
さらに、本発明による情報処理プログラムは、通信可能な複数のプリンタのうち選択されたプリンタに対して印刷データを生成し送信するようにする情報処理方法を情報処理装置で実行させるための情報処理プログラムであって、前記複数のプリンタのうち所定のプリンタのステータスを取得するプリンタステータス取得機能のためのプログラムコードと、前記プリンタステータス取得工程で取得した前記所定のプリンタのステータスに基づき、登録されたデフォルトプリンタの切替処理を行う切替処理機能のためのプログラムコードと、を有することを特徴としている。
【００１６】
上記課題を解決するその他の構成については、以下の発明を実施するための最良の形態によって明らかになるものである。
【発明の効果】
【００１７】
以上説明したように、本発明によれば、デフォルトプリンタはユーザがOSのプリントシステムに対して設定することによって決められていたために、デフォルトプリンタに設定したプリンタが、ステータスがエラーであったり、存在しないデバイスであったり、実際に出力できないプリンタであるという状況も存在し、再印刷や代行印刷を行なわなければ印刷できないという課題を解決でき、プリンタステータスの状況に応じて、デフォルトプリンタの優先度に従ったデフォルトプリンタの自動選択が行える。
【発明を実施するための最良の形態】
【００１８】
以下、図面を参照して本発明を実施するための最良の形態について詳細に説明する。
【実施例１】
【００１９】
＜印刷処理システムの構成例＞
図１は、実施形態に係る印刷処理システムの構成を示す図である。
【００２０】
同図において、１０１、１０２、１０３、１０４は、ネットワーク１０６に接続され、相互に通信可能なネットワークコンピュータであり、典型的にはパーソナルコンピュータ（ＰＣ）であり、それぞれイーサネット（登録商標）などのネットワークケーブルによってネットワーク１０６に接続され、アプリケーションプログラム等の各種のプログラムを実行可能であり、印刷データをプリンタに対応するプリンタ言語に変換する機能を有するプリンタドライバを搭載している。ここで、各コンピュータは複数のプリンタドライバをサポートするものとする。また、プリンタに対応するプリンタ言語に変換にした印刷データを１０５ネットワークプリンタに転送する機能を有する。
【００２１】
１０５は、印刷制御装置としてのネットワークプリンタであり、図示しないネットワークインタフェースを介してネットワーク１０６と接続されており、クライアントコンピュータから送信されてくる印字データを含む印刷ジョブを解析し、１ページずつドットイメージに変換して印刷する。なお、同図にネットワークプリンタ１０５は１台しか示されていないが、他のネットワークプリンタが複数接続されているものとする。各ネットワークプリンタの機能は相違するものであってもよい。
【００２２】
また、１０６はネットワークであり、コンピュータ１０１〜１０４、ネットワークプリンタ１０５等と接続している。
＜ネットワークコンピュータのハードウエア構成例＞
図２は、コンピュータ１０１〜１０４の構成を説明するブロック図である。
【００２３】
図２において、２００は装置全体の制御を行うＣＰＵであり、ハードディスク（ＨＤ）２０５に格納されているアプリケーションプログラム、プリンタドライバプログラム、ＯＳや、本実施形態のネットワークプリンタ制御プログラム等を実行し、ＲＡＭ２０２にプログラムの実行に必要な情報、ファイル等を一時的に格納する制御を行う。
【００２４】
２０１は記憶手段としてのＲＯＭであり、内部には、基本Ｉ／Ｏプログラム等のプログラム、文書処理の際に使用するフォントデータ、テンプレート用データ等の各種データを記憶する。２０２は一時記憶手段としてのＲＡＭであり、ＣＰＵ２００の主メモリ、ワークエリア等として機能する。
【００２５】
２０３は記憶媒体読み込み手段としてのフロッピディスクドライブであり、後述する図５に示すようにＦＤドライブ２０３を通じて、記憶媒体としてのＦＤ２０４に記憶されたプログラム等を本コンピュータにロードすることができる。２０４は記憶媒体であるフロッピディスク（ＦＤ）であり、コンピュータが読み取り可能にプログラムが格納された記憶媒体である。なお、記憶媒体はＦＤに限らず、ＣＤ−ＲＯＭ、ＣＤＲ、ＣＤＲＷ、ＰＣカード、ＤＶＤ、ＩＣメモリカード、ＭＯ、メモリスティック等、任意である。
【００２６】
２０５は外部記憶手段の一つであり、大容量メモリとして機能するハードディスク（ＨＤ）であり、アプリケーションプログラム、プリンタドライバプログラム、ＯＳ、ネットワークプリンタ制御プログラム、関連プログラム等を格納している。更に、スプール手段であるスプーラはここに確保される。スプール手段は、クライアントではクライアントスプーラのことであり、プリントサーバではサーバスプーラのことである。また、プリントサーバでは、クライアントから受けたジョブ情報を格納し、順序制御を行うためのテーブルもこの外部記憶手段に生成されて格納される。
【００２７】
２０６は指示入力手段であるキーボードであり、ユーザがクライアントコンピュータに対して、また、オペレータや管理者がプリントサーバに対して、デバイスの制御コマンドの命令等を入力指示するものである。２０７は表示手段であるディスプレイであり、キーボード２０６から入力したコマンドや、プリンタの状態等を表示したりするものである。
【００２８】
２０８はシステムバスであり、クライアントやプリントサーバであるコンピュータ内のデータの流れを司るものである。２０９は入出力手段であるインタフェースであり、該インタフェース２０９を介して情報処理装置は外部装置とのデータのやり取りを行う。
【００２９】
なお、上記コンピュータの構成はその一例であり、図２の構成例に限定されるものではない。例えば、データやプログラムの格納先は、その特徴に応じてＲＯＭ、ＲＡＭ、ＨＤなどで変更することも可能である。
【００３０】
図３は、図２に示したＲＡＭ２０２のメモリマップの一例を示す図であり、ＦＤ２０４からロードされる上記ネットワークプリンタ制御プログラムが、ＲＡＭ２０２にロードされ実行可能となった状態のメモリマップである。
【００３１】
なお、本実施形態では、ネットワークプリンタ制御プログラムおよび関連データをＦＤ２０４から直接ＲＡＭ２０２にロードして実行させる例が示されるが、これ以外にも、ネットワークプリンタ制御プログラムを動作させる度に、既にネットワークプリンタ制御プログラムがＦＤ２０４からインストールされているＨＤ２０５から、ＲＡＭ２０２にロードするようにしてもよい。また、本ネットワークプリンタ制御プログラムを記憶する媒体は、ＦＤ以外にＣＤ−ＲＯＭ、ＣＤＲ、ＰＣカード、ＤＶＤ、ＩＣメモリカードであってもよい。さらに、本ネットワークプリンタ制御プログラムをＲＯＭ２０１に記憶しておき、これをメモリマップの一部となすように構成し、直接ＣＰＵ２００で実行することも可能である。また、以上の各装置と同等の機能を実現するソフトウェアをもって、ハードウェア装置の代替として構成することもできる。
【００３２】
また、以下では、本ネットワークプリンタ制御プログラムのことを、簡単に印刷制御プログラムまたはプリンタドライバと呼ぶこともある。印刷制御プログラムは、クライアントにおいては、印刷ジョブの印刷先の変更を指示したり、印刷順序を変更する指示をするための制御を行うプログラムを含む。一方、プリントサーバにおいては、印刷ジョブの順序制御を行ったり、印刷ジョブの印刷終了や印刷先変更要求などを通知するためのプログラムを含んでいる。また、このような制御を行う本実施形態の印刷制御プログラムは、クライアントにインストールされるモジュールと、プリントサーバにインストールされるモジュールを別々に分けてもよいし、ひとつの印刷制御プログラムが、実行される環境によりクライアント用として機能したり、プリントサーバ用として機能するようにしてもよい。あるいは、一台のコンピュータに、クライアント用の機能を持つモジュールとプリントサーバ用として機能するモジュールとをともにインストールし、同時にあるいは時分割で、擬似的に平行動作させる構成も可能である。
【００３３】
３０１は基本Ｉ／Ｏプログラムであり、コンピュータの電源がＯＮされたときに、ＨＤ２０５からＯＳがＲＡＭ２０２に読み込まれ、ＯＳの動作を開始させるＩＰＬ（イニシャルプログラムローデイング）機能などを有しているプログラムが入っている領域である。３０２はオペレーティングシステム（ＯＳ）であり、３０３はネットワークプリンタ制御プログラムで、ＲＡＭ２０２上に確保される領域に記憶される。３０４は関連データで、ＲＡＭ２０２上に確保される領域に記憶される。３０５はワークエリアで、ＣＰＵ２００が本プリンタ制御プログラムを実行する領域が確保されている。
【００３４】
図４は、図２に示したＦＤ２０４のメモリマップの一例を示す図である。
【００３５】
図４において、４０１はデータの情報を示すボリューム情報であり、４０２はディレクトリ情報、４０３は本実施形態で説明する印刷制御プログラムであるネットワークプリンタ制御プログラム、４０４はその関連データである。ネットワークプリンタ制御プログラム４０３は、本実施形態で説明するフローチャートに基づいてプログラム化したものであり、本実施形態では、クライアント及びサーバ共に、同様の構成をとっている。
【００３６】
図５は、図２に示したＦＤドライブ２０３に対して挿入されるＦＤ２０４との関係を示す図であり、図２と同一のものには同一の符号を付してある。図５において、ＦＤ２０４には、本実施形態で説明するネットワークプリンタ制御プログラムおよび関連データが格納されている。
【００３７】
図５は、図２に示したＦＤドライブ２０３に対して挿入されるＦＤ２０４との関係を示す図であり、図２と同一のものには同一の符号を付してある。図５において、ＦＤ２０４には、本実施形態で説明するネットワークプリンタ制御プログラムおよび関連データが格納されている。
＜印刷処理システムにおけるソフトウエア構成例＞
ここで、本実施形態における用語の技術的意味について説明する。
【００３８】
本実施例において、アプリケーションにおける印刷指示に応じてWindows（登録商標）等のＯＳを介して出力される描画命令（一般的にＤＤＩ或いはＧＤＩと呼ばれている）を解釈しページ記述言語を生成しデバイスへ出力させるようなプリンタドライバを通常プリンタドライバ、このときのデバイスを通常デバイスと呼ぶ。
【００３９】
なお、ＯＳとしてはWindows（登録商標）に限定されるものではなく、描画命令を備えるＯＳであれば適用可能であることは言うまでもない。また、デバイスであるプリンタとは区別してプリンタドライバとプリンタ出力ポートとの組み合わせをプリンタと呼ぶこともある。
【００４０】
図６は、本システムのクライアントモデルにおいて、文書などを印刷するアプリケーションから発行された描画コマンドを含む印刷ジョブが、印刷ジョブ制御システムにおいてどのように処理されるかを示した図である。
【００４１】
通常、印刷の指示がされると、アプリケーションプログラムは一連の描画命令をＯＳを介して生成させる。この生成された描画命令はプリンタドライバを経て所定の形式に変換された後、ウインドウズスプーラ（Windows（登録商標） Spooler）に渡される。Windows（登録商標） Spoolerは、ユーザがユーザインタフェースを介して選択し指示したポートモニタにプリントジョブデータを渡して、プリンタデバイスに送信させる手順をとる。本実施例では、今述べた通常の動作に対してユーザはあらかじめ印刷ジョブ制御システム用のポートモニタ６２１（以降、ジョブ制御ポートモニタと略記）を指定して印刷を指示する。
【００４２】
アプリケーションプログラム６０１は一連の描画命令をＯＳを介して生成させる。ここで、ＯＳを介して生成された描画命令は、ＰＤＬDriver602に引き渡させる。
【００４３】
ＯＳを介して生成された描画命令を受け取ったＰＤＬDriver602では、デバイスで印刷するためのページ記述言語を生成し、プリンタデバイスへプリントジョブデータを送信する従来のポートモニタではなく、ジョブ制御ポートモニタ６２１にプリントジョブデータとして送信する。また、プリンタドライバインタフェースを介して設定された用紙サイズ、ステープル指示等の印刷設定情報も、ジョブ制御ポートモニタ６２１に送信される。
【００４４】
ジョブ制御ポートモニタ６２１は、プリントジョブデータをプリンタデバイス１０５に送信するのではなく、プリントサービス６２２に送信する。プリントサービス６２２は、プリントジョブデータは、印刷処理を行うよう設定されたＰＤＬDriver602対応するジョブ制御ポートモニタ６２１、プリントサービス６２２を介して対応するプリンタデバイス１０５に送信される。
【００４５】
プリントサービス６２２は、プリンタデバイス１０５から、プリンタデバイス１０５の稼動状況を示すプリンタステータスを取得する。取得したプリンタステータスは、プリントサービス６２２のソフトウェアのインタフェース（ＡＰＩ：Application Program Interface）を介して、外部のモジュール通知されたり、プリントサービス６２２で処理判断に利用される。
【００４６】
印刷ジョブ制御システム用プリントマネージャ６２３（以降、ジョブ制御プリントマネージャと略記）は、ユーザがプリントサービス６２２内部でプリントジョブがどのような状態にあるかを調べたり、プリントジョブを操作したりするためのユーザインタフェースを提供するプログラムである。ジョブ制御プリントマネージャ６２３は、プリントサービス６２２のソフトウェアのインタフェース（ＡＰＩ：Application Program Interface）を介して、プリントサービス６２２と情報・指示をやり取りしている。更に詳細な処理としては、プリントマネージャー６２３がプリントサービス６２２に対してデバイスを指定してのイベントを発行し、プリントサービス６２２は発行されたイベントに基づくデバイスのステータス（紙ジャムや紙なし等）を監視して、該監視に基づく結果をプリントマネージャー６２３に通知する。
【００４７】
図７は、プリントサービスの構成を示す図であり、プリントサービス６２２の詳細な機能ブロック図を示すものである。
【００４８】
ジョブ管理部７０１は、ジョブ制御ポートモニタ６２１から受け付けたジョブを管理し、データ送信部７０２に送信指示を行うモジュールである。また、プリントマネージャ６２３でジョブリストを表示するときの情報を渡すモジュールである。データ送信部７０２は、ジョブ管理部７０１から印刷支持を受けると、プリンタデバイス１０５に印刷プロトコルを使用してプリントジョブデータを送信するモジュールである。プリンタ管理部７０３は、プリンタに関する情報を管理し、プリントマネージャ６２３でプリンタのステータスを表示するときの情報を渡すモジュールである。デバイス管理部７０４は、プリンタデバイス１０５とやり取りして取得したプリンタステータスをプリンタ管理部７０３に通知するモジュールである。
【００４９】
次に、本発明の実施形態における、プリントシステムにおける制御について説明する。
【００５０】
図８は、プリンタ管理部７０３が管理するデフォルトプリンタ優先度テーブル８０１である。プリンタ名８０２は、プリンタ管理部７０３が管理するプリンタの名前ある。デフォルトプリンタ優先度８０３は、プリンタ管理部がデフォルトプリンタを切り替える際に、切り替えるプリンタを判断するために使用する。プリンタステータス８０４は、プリンタデバイス１０５から取得したプリンタステータスである。デフォルトプリンタフラグ８０５は、現在選択されているデフォルトプリンタを示すフラグである。
【００５１】
図９、図１０、図１２は、プリンタ管理部７０３が、デフォルトプリンタの優先度を設定するフローチャートである。
【００５２】
デフォルトプリンタの優先度を設定する方法には、プリントシステムに対してプリンタが追加された順に優先度を決定する方法や、ユーザがデフォルトプリンタの順を決定する方法や、ユーザがデフォルトプリンタを切り替えた順を憶えておき、最新であるほど優先度を高くする方法などがある。
【００５３】
図９は、プリントシステムに対してプリンタが追加された順に優先度を決定する方法のフローチャートである。
【００５４】
ステップＳ９０１では、プリントシステムにプリンタが追加されたことを検知する。プリンタが追加されるとステップＳ９０２に移行する。プリンタが追加されないと、ステップＳ９０１でプリンタ追加を検知するまで待機する。
【００５５】
ステップＳ９０２では、追加されたプリンタのプリンタ名がデフォルトプリンタ優先度テーブル８０１のプリンタ名８０２に追加される。
【００５６】
ステップＳ９０３では、デフォルトプリンタ優先度テーブル８０１に設定されているデフォルトプリンタ優先度８０３が検索され、一番低い優先度を見つけ、ステップＳ９０４に処理が移行する。
【００５７】
ステップＳ９０４では、ステップＳ９０３で追加したプリンタに対応したデフォルトプリンタ優先度８０３に、ステップＳ９０３で見つけた一番低い優先度より１段階低い優先度が設定される。ステップＳ９０４が終了したらステップＳ９０１に処理が移行する。
【００５８】
例えば、４番目のプリンタとしてプリンタＤを追加するとすると、既存のプリンタＡ〜Ｃの中で一番優先度が低いプリンタがプリンタＣであり、その優先度が”３”であるから、追加されたプリンタＤの優先度は”４”ということになる。そして、テーブル８０１にプリンタＤの情報が追加されることになる。つまり、８０２のプリンタ名はプリンタＤ、８０３のデフォルトプリンタ優先度は４、８０４のプリンタステータスは正常、８０５のデフォルトプリンタフラグはＯＦＦとなる。
【００５９】
図１０は、ユーザがデフォルトプリンタの順を決定する方法のフローチャートである。
【００６０】
ステップＳ１００１では、ユーザがデフォルトプリンタの優先度変更の要望を受け付けると、処理はステップＳ１００２に移行し、図１１のダイアログを表示する。ユーザはこのダイアログを使用して、デフォルトプリンタの優先度を変更し登録する。
【００６１】
ステップＳ１００３ではダイアログで設定された情報を基に、デフォルトプリンタ優先度８０３が設定される。ステップＳ１００４では、デフォルトプリンタフラグが現デフォルトプリンタに設定され、他のプリンタには、デフォルトプリンタでないというフラグが設定される。
【００６２】
例えば、図１１のダイアログでは、プリンタＣが優先度１、プリンタＡが優先度２となっているが、これをユーザがプリンタＡが優先度１、プリンタＣが優先度２と変更するようにダイアログ中で指示すると、それがテーブル８０１に反映される。、
図１２は、ユーザがデフォルトプリンタを切り替えた順を憶えておき、逆順に優先度が高くする方法のフローチャートである。
【００６３】
ステップＳ１２０１では、OSのデフォルトプリンタが変更されたかどうかが検知される。デフォルトプリンタが変更されていなければ、ステップＳ１２０１で変更を検知するまで処理が待機される。デフォルトプリンタの変更を検知するとステップＳ１２０２へ処理が移行し、現在のデフォルトプリンタの優先度が最高位の１に変更すされる。さらにステップＳ１２０３に移行し、現在のデフォルトプリンタの設定がデフォルトプリンタフラグ８０５に設定され、他のプリンタのデフォルトプリンタフラグの設定がデフォルトプリンタでないというフラグに変更される。ステップＳ１２０４では、ステップＳ１２０２で設定したデフォルトプリンタ以外のデフォルトプリンタ優先度８０３の値をインクレメントし優先度を1つずつ下げる処理が行われる。
【００６４】
例えば、プリンタＡ、Ｂ、Ｃ、Ｄがあり、この順番で優先度が決まっていたとして、プリンタＣを優先度１に変更した場合を考えると、図１２の処理に従えば、プリンタＣの優先度が１となり、プリンタＡ及びＢの優先度はそれぞれインクリメントされて２および３となり、プリンタＤの優先度は元々プリンタＣのそれよりも低かったのでそのままとされる。尚、優先度がインクリメントされるということは優先度が下がることに相当する。
【００６５】
図１３は、デバイス管理部７０４がプリンタステータスの変化をプリンタ管理部７０３に通知する処理を示すフローチャートである。
ステップＳ１３０１では、プリンタデバイス１０５からデバイスステータスの変化を検知したか判断して、デバイスステータスの変化が検知できなければ、ステップＳ１３０１で待機する。
【００６６】
プリンタステータスの変化を検知したらステップＳ１３０２に移行し、プリンタデバイス１０５から取得したプリンタステータスをプリンタ管理部７０３に通知する。
【００６７】
図１４は、プリンタ管理部７０３で、デフォルトプリンタであるプリンタデバイス１０５が印刷できる状態でなければデフォルトプリンタを切り替える処理を示すフローチャートである。この処理を行えば、プリンタステータス８０４が正常に印刷できるプリンタのうちでデフォルトプリンタ優先度８０３が高いプリンタがデフォルトプリンタに設定される。
【００６８】
ステップＳ１４０１では、デバイス管理部７０４からプリンタステータス変更の通知がきたか判断される。プリンタステータスの変化が通知されていなければ、ステップＳ１４０１で待機する。プリンタステータスの変化が検知されればステップＳ１４０２に処理が移行する。
【００６９】
ステップＳ１４０２では、プリンタステータスの変化を通知されたプリンタのプリンタステータス８０４に通知されたプリンタステータスを設定する。ステップＳ１４０３では、デフォルトプリンタ優先度８０３が一番高いプリンタを検索し、ステップＳ１４０４で、そのプリンタステータス８０４を参照し、プリンタデバイスで正常に印刷できるかを判断する。例えば、紙ジャムや、紙なしなどのプリンタステータスでは正常に印刷できないと判断する。プリンタステータスが正常に印刷できないと判断した場合には、ステップＳ１４０５に移行して、全てのプリンタを検索したか確認される。全てのプリンタを検索していなければ、ステップＳ１４０６に処理が移行し、ステップＳ１４０４で検索したプリンタの次の優先度のプリンタが検索され、ステップＳ１４０４に処理が移行する。
【００７０】
ステップＳ１４０４で正常に印刷できるプリンタと判断した場合には、ステップＳ１４０７に処理が移行する。ステップＳ１４０７では、ステップＳ１４０７で正常に印刷できるプリンタのデフォルトプリンタフラグを設定し、その他のデフォルトプリンタフラグがデフォルトプリンタでないというフラグに変更される。ステップＳ１４０８では、OSのプリントシステムに対して、ステップＳ１４０４で正常に印刷できると判断したプリンタがデフォルトプリンタに設定され、処理がステップＳ１４０１に移行する。
【００７１】
また、ステップＳ１４０５において、全てのプリンタを検索し正常のプリンタが無い場合には、ステップＳ１４０９に処理が移行し、優先度１のデフォルトプリンタにデフォルトプリンタフラグが設定され、その他のデフォルトプリンタフラグがデフォルトプリンタでないというフラグに変更される。その後、処理はステップＳ１４１０に移行し、OSのプリントシステムに対して、ステップＳ１４０９でフラグが設定されたプリンタをデフォルトプリンタに設定され、処理がステップＳ１４０１に移行する。
＜具体的適用例＞  
実施例１が適用される場合として、例えば、デフォルトプリンタ優先度が高いプリンタから低いプリンタにデフォルトプリンタを変更する場合、また、デフォルトプリンタ優先度が低いプリンタから高いプリンタにデフォルトプリンタを変更する場合がある。
（適用例１）
まず、優先度が高いプリンタから低いプリンタにデフォルトプリンタを変更する例について説明する。
【００７２】
図１５は、優先度１で現在デフォルトプリンタに設定されているプリンタＣのステータスに変更があった場合（正常→ジャム）のプリンタ優先度テーブル８０１の状態を示す図であり、本適用例を説明するために用いられるものである。
【００７３】
プリンタＣの状態が正常からジャムに変化した場合、図１２のステップＳ１４０１ではこの状態変化が検知され、ステップＳ１４０２においてテーブル８０１のプリンタステータス８０４が書き換えられ、処理がステップＳ１４０３に移行する。
【００７４】
本適用例ではプリンタＣが最高優先度を有しているので、ステップＳ１４０３ではプリンタＣが検索結果として得られることになる。そして、ステップＳ１４０４においてプリンタＣはジャム状態なので正常な状態とは判断されず、処理はステップＳ１４０５を介してステップＳ１４０６に移行する。
【００７５】
ステップＳ１４０６では、図１５のテーブル８０１を参照して次の優先度のプリンタが検索され、検索結果として優先度が２のプリンタＡが得られる。そして再度ステップＳ１４０４においてプリンタＡの状態が正常であるかが判断され、図１５によればプリンタＡは正常であるから処理はステップＳ１４０７に移行する。
【００７６】
ステップＳ１４０７では、プリンタＡのデフォルトプリンタフラグがＯＦＦからＯＮに変更され、プリンタＣの同フラグがＯＮからＯＦＦに変更される。そして、ステップＳ１４０８においてプリンタＡが新しいデフォルトプリンタとして設定される。そして、ステップＳ１４０８において新たに設定されたデフォルトプリンタは、ユーザが文書作成ソフトウェアなどのアプリケーションによって文書を作成し印刷メニューを介して印刷指示をした際にデフォルトプリンタとして印刷ダイアログに提示される。
（適用例２）
次に、デフォルトプリンタ優先度が低いプリンタから高いプリンタにデフォルトプリンタを変更する例について説明する。
【００７７】
図１６は、優先度３で現在デフォルトプリンタに設定されているプリンタＢのステータスに変更があった場合（正常→ジャム）のプリンタ優先度テーブル８０１の状態を示す図であり、本適用例を説明するために用いられるものである。
【００７８】
プリンタＡの状態が正常からジャムに変化した場合、図１２のステップＳ１４０１ではこの状態変化が検知され、ステップＳ１４０２においてテーブル８０１のプリンタステータス８０４が書き換えられ、処理がステップＳ１４０３に移行する。
【００７９】
本適用例ではプリンタＡ及びＣがプリンタＢよりも優先度が高いが、ステップＳ１４０３では最高優先度のプリンタＣが検索結果として得られることになる。そして、ステップＳ１４０４においてプリンタＣの状態が判断され、プリンタＣは正常状態であるため処理はステップＳ１４０７に移行する。
【００８０】
ステップＳ１４０７では、プリンタＣのデフォルトプリンタフラグがＯＦＦからＯＮに変更され、プリンタＢの同フラグがＯＮからＯＦＦに変更される。そして、ステップＳ１４０８においてプリンタＣが新しいデフォルトプリンタとして設定される。そして、ステップＳ１４０８において新たに設定されたデフォルトプリンタは、ユーザが文書作成ソフトウェアなどのアプリケーションによって文書を作成し印刷メニューを介して印刷指示をした際にデフォルトプリンタとして印刷ダイアログに提示される。
【００８１】
本適用例では最高優先度のプリンタＣが正常状態であるので、デフォルトプリンタＢが正常でない場合に直ぐにプリンタＣにデフォルトプリンタが切り替わるように説明がなされたが、プリンタＣも何らかの理由により正常な状態ではないと判断された場合にはプリンタＡ（優先度２）が切り替えの候補となるのである。上述の処理と同様の処理が繰り返されるので説明は省略する。
【００８２】
なお、本実施例におけるデフォルトプリンタ切り替えの仕組みについては、例えば、Windows（登録商標）9X系では関数”SetPrinter();”が、2000以上では関数”SetDefaultPrinter();”が、NT4.0以下では関数”WriteProfileString();”を用いることができる。
【００８３】
以上説明してきたように本実施例では、ＯＳに設定されたデフォルトプリンタを自動的に変更して利用することにより、別途所定のルールに従い設定されたプリンタを利用するとソフトウェアやサーバを別途設けなくとも、エラーのない適切なプリンタを自動的に選択する仕組みを実現することができるようになる。
【００８４】
また、OS上で稼動する文書作成ソフトウェアで作成された文章を印刷出力するような場合に、ユーザが文書作成ソフトウェアによって文書を作成し印刷メニューを介して印刷指示をした際に、エラーを回避したプリンタがデフォルトプリンタとして提示されるので、出力先にエラー回避したプリンタを選択すると共に、どの出力先に出力されるかについて判りやすいようになる。
【００８５】
また、事前にエラーを認識し、認識されたエラーに基づき正常なプリンタにデフォルトプリンタを自動的に設定しておくようにするので、エラーが発生してから出力先を変更する場合と比べて、正常な出力先を特定するまでに時間を要しないことができるようになる。
【００８６】
さらに、適宜正常状態のプリンタをデフォルトプリンタに効率よく設定することがでるようになる。また、デフォルトプリンタ優先度の低いプリンタから同優先度の高いプリンタに容易に変更することができるので、緊急避難的に第２優先度以下のプリンタをデフォルトプリンタに変更した場合であっても、効率よく最高優先度のプリンタにデフォルトプリンタを設定し直すことができ、よって最高優先度のプリンタを最大限にデフォルトプリンタとして利用することできるようになる。
【実施例２】
【００８７】
実施例２においては、図１乃至１３及びその動作説明は実施例１と同様に適用できるが、説明は重複するので省略することとする。実施例２の動作については、基本的に図１７及び１８を用いて説明し、実施例２の適用例については図１８乃至２０を用いて説明することとする。
【００８８】
実施例２は、ユーザの指示により、又は定期的にプリンタの情報（プリンタステータス情報）を取得し、デフォルトプリンタ優先度の高いプリンタの順でデフォルトプリンタに設定するかどうかを判断する処理に関するものであり、図１７はその処理フローを示す図である。この一連の処理の管理は実施例１と同様にプリンタ管理部７０３で行われている。
【００８９】
ステップＳ１５０１では、ユーザからのプリンタ情報取得の指示又は定期的に設定されたプリンタ情報の取得要求が出されたかが判断される。当該指示又は要求が出されていない場合には出されるまでこの判断が繰り返され、出されている場合には処理はステップＳ１５０２に移行する。
【００９０】
ステップＳ１５０２では、デフォルトプリンタ優先度が最高のプリンタがステータス情報取得の対象、即ち監視対象に設定され、処理はステップＳ１５０３に移行する。図８のテーブル８０１を参照すると、本実施例ではプリンタＣが監視対象とされる。
【００９１】
ステップＳ１５０３では、ステップＳ１５０２で監視対象とされた最高優先度を有するプリンタのステータス情報が取得される。そして、ステップＳ１５０４では取得されたプリンタステータスが正常か否かが判断される。例えば、紙ジャム、紙なしやトナーなし等の場合にはエラーと判断される。なお「正常」とはプリンタの印刷動作に問題がない場合を言うものとする。
【００９２】
ステップＳ１５０４で監視対象のプリンタがエラー状態である場合（ステップＳ１５０４でＹｅｓの場合）には、ステップＳ１５０６で登録されているプリンタ全部についてステータスを取得し、正常状態か否か判断されているかがチェックされる。全プリンタについてチェック終了の場合には、処理はステップＳ１５０１に戻り、次のプリンタステータス取得指示又は要求が出されるまで待機状態となる。
【００９３】
全プリンタについてのステータスチェックが終了していない場合（Ｓ１５０６でＮｏの場合）、処理はステップＳ１５０７に移行し、次にデフォルトプリンタ優先度が高いプリンタを監視対象に設定し直され、以下ステップＳ１５０３以下の処理が繰り返される。
【００９４】
一方、ステップＳ１５０４で監視対象プリンタが正常状態であると判断された場合（ステップＳ１５０４でＮｏの場合）には、処理はステップＳ１５０８に移行する。ここで監視対象として設定されたプリンタが現在デフォルトプリンタに設定されているか否かが判断される。この監視対象プリンタがデフォルトプリンタに現在設定されている場合には処理はステップＳ１５０１に戻り、次のプリンタステータス取得指示又は要求が出されるまで待機状態となる。
【００９５】
また、監視対象プリンタがデフォルトプリンタに現在設定されていない場合（ステップＳ１５０８でＮｏの場合）、処理はステップ１５０９に移行し、印刷処理システムを構成するコンピュータ１０２のディスプレイ上に図１８のような変更ダイアログが表示される。つまり、変更ダイアログによってユーザはデフォルトプリンタを変更するか否かについての問い合わせを受けることになる。このダイアログではデフォルトプリンタをプリンタＣに切り替える場合の表示を示している。
【００９６】
ユーザがデフォルトプリンタの変更を決定しなかった場合、即ち図１８のダイアログでＮｏを指示した場合には、処理はステップＳ１５０１に戻る。ユーザが変更を決定した場合、即ち図１８のダイアログでＹｅｓを指示した場合には、処理はステップＳ１５１１に移行し、デフォルトプリンタの変更処理が実行される。つまり、図８のプリンタ優先度テーブル８０１のデフォルトプリンタフラグ８０５について、監視対象プリンタのフラグがＯＦＦからＯＮに変更され、今までデフォルトプリンタであったプリンタのフラグがＯＮからＯＦＦに変更されるのである。
【００９７】
デフォルトプリンタ変更処理が終了すると、処理はステップＳ１５０１に戻り、次のプリンタステータス取得指示又は要求が出されるまで待機状態となる。
＜具体的適用例＞  
実施例１と同様に、実施例２が適用される場合として、例えば、デフォルトプリンタ優先度が高いプリンタから低いプリンタにデフォルトプリンタを変更する場合、また、デフォルトプリンタ優先度が低いプリンタから高いプリンタにデフォルトプリンタを変更する場合がある。
（適用例１）
まず、優先度が高いプリンタから低いプリンタにデフォルトプリンタを変更する例について説明する。
【００９８】
図１９は、優先度１で現在デフォルトプリンタに設定されているプリンタＣのステータスが正常でない場合のプリンタ優先度テーブル８０１の状態を示す図であり、本適用例を説明するために用いられるものである。
【００９９】
プリンタステータス取得指示又は要求があると（ステップＳ１５０１）、ステップＳ１５０２において最高優先度を有するプリンタＣが監視対象プリンタに設定される。そして、ステップＳ１５０３でプリンタＣのステータスが取得され、図１９によるとプリンタＣの現在のステータスはジャム状態であるため、エラーと判断される。そして、ステップＳ１５０６を介してステップＳ１５０７において次の優先度を有するプリンタＡが監視対象として設定し直され、ステップＳ１５０３でプリンタＡのステータスが取得される。プリンタＡのステータスは正常状態であるからステップＳ１５０４からステップＳ１５０８に処理が移行する。プリンタＡは現在デフォルトプリンタであるので、図１８のダイアログタがディスプレイ上に表示される。この場合ダイアログに表示されるメッセージは例えば「デフォルトプリンタをプリンタＡ（優先度２）に切り替えます。よろしいですか？」というものである。
【０１００】
そして、ステップＳ１５１０でダイアログ中のＹｅｓを指示する入力がなされると、ステップＳ１５１１でプリンタＣからプリンタＡにデフォルトプリンタが切り替えられ、処理が終了する。以上の処理により、そして、ステップＳ１５１１において新たに設定されたデフォルトプリンタは、ユーザが文書作成ソフトウェアなどのアプリケーションによって文書を作成し印刷メニューを介して印刷指示をした際にデフォルトプリンタとして印刷ダイアログに提供される。
【０１０１】
このように適用例１では、優先度が高いプリンタＣから優先度が低いプリンタＡにデフォルトプリンタが変更される。
（適用例２）
次に、デフォルトプリンタ優先度が低いプリンタから高いプリンタにデフォルトプリンタを変更する例について説明する。
【０１０２】
図２０は、優先度３で現在デフォルトプリンタに設定されているプリンタＢのステータスが正常でない（ジャム）場合のプリンタ優先度テーブル８０１の状態を示す図であり、本適用例を説明するために用いられるものである。
【０１０３】
プリンタステータス取得指示又は要求があると（ステップＳ１５０１）、ステップＳ１５０２において最高優先度を有するプリンタＣが監視対象プリンタに設定される。そして、ステップＳ１５０３でプリンタＣのステータスが取得され、図２０によるとプリンタＣのステータスは正常であるので処理はステップＳ１５０８に移行する。
【０１０４】
ステップＳ１５０８では監視対象であるプリンタＣはデフォルトプリンタではないと判断されるので、処理はステップＳ１５０９に移行し、図１８のデフォルトプリンタ変更ダイアログが表示される。この場合ダイアログメッセージは例えば「デフォルトプリンタをプリンタＣ（優先度１）に切り替えます。よろしいですか？」というものである。
【０１０５】
そして、ステップＳ１５１１でダイアログ中のＹｅｓを指示する入力がなされるとステップＳ１５１１でプリンタＡからプリンタＣにデフォルトプリンタが切り替えられ、処理が終了する。以上の処理により、そして、ステップＳ１５１１において新たに設定されたデフォルトプリンタは、ユーザが文書作成ソフトウェアなどのアプリケーションによって文書を作成し印刷メニューを介して印刷指示をした際にデフォルトプリンタとして印刷ダイアログに提供される。
【０１０６】
このように適用例２では、優先度が低いプリンタＢから優先度が高いプリンタＣへとデフォルトプリンタが変更される。
【０１０７】
なお、本実施例におけるデフォルトプリンタ切り替えの仕組みについては、例えば、Windows（登録商標）9X系では関数”SetPrinter();”が、2000以上では関数”SetDefaultPrinter();”が、NT4.0以下では関数”WriteProfileString();”を用いることができる。
【０１０８】
以上説明してきたように本実施例では、第１実施例と同様に適宜正常状態のプリンタをデフォルトプリンタに効率よく設定することがでるようになる。また、デフォルトプリンタ優先度の低いプリンタから同優先度の高いプリンタに容易に変更することができるので、緊急避難的に第２優先度以下のプリンタをデフォルトプリンタに変更した場合であっても、効率よく最高優先度のプリンタにデフォルトプリンタを設定し直すことができ、よって最高優先度のプリンタを最大限にデフォルトプリンタとして利用することできるようになる。
【０１０９】
さらに、第１実施例と同様の効果に追加して、Ｓ１５０１でユーザの指示に応じて、プリンタのステータスを取得させるようにするので、ユーザがデフォルトプリンタを変更したいような場合に合わせてステップＳ１５０１以下の処理を行え、ユーザの意図に沿ったデフォルトプリンタの変更を行うことができる。
【０１１０】
また、第１実施例と同様の効果に追加して、ステップＳ１５０９、１５１０においては、デフォルトプリンタの変更許可をユーザに尋ねるようにするので、例えば、ユーザがデフォルトプリンタを変更したくないような場合に対応することができる。また、このことは第１実施例に適用可能であることはいうまでもない。
【０１１１】
以上の他、本発明において、画像形成装置や制御系の構成等についても、必要に応じて種々の変形及び変更がなしうることはいうまでもない。
【０１１２】
＜他の実施の形態＞
本発明による実施例１及び２の処理は、各機能具現化したソフトウェアのプログラムコードを記録した記憶媒体をシステム或は装置に提供し、そのシステム或は装置のコンピュータ（又はＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フロッピィ（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ，ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。
【０１１３】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）などが実際の処理の一部又は全部を行い、その処理によって前述した実施例の機能が実現される場合も含まれている。
【０１１４】
更に、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書きこまれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含む。
【０１１５】
また、本発明は、実施例１及び２を通じて基本的にクライアントコンピュータ１０２によって全て行われる形態で説明されているが、別の形態としてサーバ１０１を通してプリンタデバイスからのプリンタステータスをクライアントコンピュータ１０２に取り込み、クライアントコンピュータ１０２のデフォルトプリンタを変更するようにしても良い。この場合に図１４のＳ１４０２や、図１７のＳ１５０４のステータスの取得の仕方が異なる各ステップの処理は同様のものとする。さらに、別の形態として図１４、図１７の処理をサーバ１０１に行わせ、決定されたデフォルトプリンタのみをクライアントコンピュータに提示するようにしても良い。尚、別の形態においても、第１実施例及び第２実施例と同様の効果が得られることは言うまでもない。
【０１１６】
さらに、本発明は通常のWindows（登録商標）の出力ポートを利用した印刷システムにも適用可能である。
【０１１７】
なお、本発明では、デフォルトプリンタに対応するプリンタデバイスのエラーなど、印刷が行えない状況を検知した場合には、自動的にデフォルトプリンタを切り替えるだけでなく、印刷が完了した場合には出力したプリンタ名をユーザに通知するようにしてもよい。これによって、ユーザはデフォルトプリンタが切り替わったことを容易に認識することができるようになる。
【図面の簡単な説明】
【０１１８】
【図１】本発明における印刷処理システムを示す構成図である。
【図２】本発明におけるネットワークコンピュータのハードウエア構成図である。
【図３】本発明におけるＲＡＭ２０２のメモリマップを表す図である。
【図４】本発明におけるＦＤ２０４のメモリマップを表す図である。
【図５】本発明におけるＦＤドライブに対して挿入されるＦＤとの関係を示す図である。
【図６】本発明における印刷処理を示した図である。
【図７】本発明におけるプリントサービスの構成を示す図である。
【図８】本発明におけるデフォルトプリンタ優先度テーブルを示す図である。
【図９】本発明におけるプリンタが追加された順に優先度を決定する方法を示すフローチャートである。
【図１０】本発明における、ユーザがデフォルトプリンタの順を決定する方法を示すフローチャートである。
【図１１】本発明における、ユーザがデフォルトプリンタ優先度を変更するダイアログである。
【図１２】本発明における、デフォルトプリンタを切り替えた時の優先度を決定する方法を示すフローチャートである。
【図１３】本発明におけるデバイス管理部がプリンタステータスの変化をプリンタ管理部に通知する処理を示すフローチャートである。
【図１４】実施例１におけるプリンタ管理部でデフォルトプリンタを切り替える処理を示すフローチャートである。
【図１５】実施例１における適用例１を説明するために用いられるデフォルトプリンタ優先度テーブルを示す図である。
【図１６】実施例１における適用例２を説明するために用いられるデフォルトプリンタ優先度テーブルを示す図である。
【図１７】実施例２におけるプリンタ管理部でデフォルトプリンタを切り替える処理を示すフローチャートである。
【図１８】実施例２における、デフォルトプリンタの切り替え処理において表示されるメッセージである。
【図１９】実施例２における適用例１を説明するために用いられるデフォルトプリンタ優先度テーブルを示す図である。
【図２０】実施例２における適用例２を説明するために用いられるデフォルトプリンタ優先度テーブルを示す図である。
【図１】
2005085132.tif 000003
【図２】
2005085132.tif 000004
【図３】
2005085132.tif 000005
【図４】
2005085132.tif 000006
【図５】
2005085132.tif 000007
【図６】
2005085132.tif 000008
【図７】
2005085132.tif 000009
【図８】
2005085132.tif 000010
【図９】
2005085132.tif 000011
【図１０】
2005085132.tif 000012
【図１１】
2005085132.tif 000013
【図１２】
2005085132.tif 000014
【図１３】
2005085132.tif 000015
【図１４】
2005085132.tif 000016
【図１５】
2005085132.tif 000017
【図１６】
2005085132.tif 000018
【図１７】
2005085132.tif 000019
【図１８】
2005085132.tif 000020
【図１９】
2005085132.tif 000021
【図２０】
2005085132.tif 000022