(57)【要約】【課題】  ログ出力として常に詳細なログ情報を出力するといった方法があるが、正常終了するケースではログファイルの肥大や、ログ出力によるパフォーマンスの低下といった問題があった。【解決手段】  インストール中にエラーが発生した場合には、インストール終了後に一旦アンインストールを行い、詳細ログモードで再インストールを行ない、詳細ログを自動的に採集する。また、前記再インストールで問題発生箇所が限定できた際には、その設定を無効化して再度アンインストール及びインストール処理を行い原因の切り分けを行なう。【選択図】  図８
2006164026.tif 000002
【特許請求の範囲】
【請求項１】
複数のプリンタをプリントサーバやパーソナルコンピュータなどの端末装置に接続し付加価値印刷を行なう情報処理装置において、設定ファイルの情報を基にプリンタ及びポートモニタを自動的にインストールする処理において、前記処理に対してログ出力モードを設定する手段と、設定されたログモードによってインストールログ手段を切り換える手段と、切り換え可能な手段として、簡易ログインストール処理手段と、詳細ログインストール手段手段を持ち、インストール処理中に発生したエラーについて判定を行なう手段と、前記手段によりエラーが無しと判定された場合インストール処理を終了させ、また、エラーありと判定された場合には、前記登録した設定をアンインストールする手段と、その際にログモードを詳細ログモードに変更する手段と、ログモードを変更した後、再度インストールする手段と、前記再インストール後に、障害原因の切り分けを行なうためにエラーの解析を行なう手段と、その解析結果にもとづき設定ファイルの設定を変更する手段と、前記再インストールした情報をアンインストールする手段と、前記アンインストール後に、再度インストール処理を行う事を特徴とする出力管理装置設定装置。
【請求項２】
前記請求項１にある簡易ログインストール処理手段は、エラーが発生したＡＰＩに対してのみエラーログを出力し、正常終了したＡＰＩに関してはＡＰＩの成功、もしく、そのＡＰＩに対するログそのものを出力しない事を特徴とする請求項１に記載の出力管理装置設定装置。
【請求項３】
前記請求項１にある簡易ログインストール処理手段は、エラーが発生したＡＰＩのみならず処理を行なった全てのＡＰＩ全て対してログ出力させる事を特徴とする請求項１に記載の出力管理装置設定装置。
【請求項４】
前記請求項１にあるインストール手段は、初期状態では簡易ログインストール処理手段によるインストールを行なう事を特徴とする請求項１に記載の出力管理装置設定装置。
【請求項５】
前記請求項１にある詳細ログインストール後のエラーの解析を行なう手段は、エラーが発生したプリンタ及びポートモニタ情報をログ情報より抽出する事を特徴とする請求項１に記載の出力管理装置設定装置。
【請求項６】
前記請求項１にあるエラー判定手段は、エラー原因が明白である場合には、詳細ログインストールを行なわずにインストール処理を終了させる事を特徴とする請求項１に記載の出力管理装置設定装置。
【請求項７】
前記請求項１にある詳細ログインストール後の設定ファイルの設定変更手段は、前記請求項５で抽出した、プリンタ及びポートモニタの登録設定を無効化（コメントアウト）する事を特徴とする請求項１に記載の出力管理装置設定装置。
【請求項８】
前記請求項１にあるログ解析手段の結果により、設定ファイルに設定変更を加えて再インストールした際に、エラーが発生しなかった場合には、一部インストール処理は成功したものとしてアンインストール処理を行なわずにインストール処理を終了する事を特徴とする請求項１に記載の出力管理装置設定装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、コンピュータネットワークを介して分散印刷などの付加価値印刷サービスを提供するプリントサーバ装置（以下、単に「プリントサーバ」ともいう）や、パーソナルコンピュータ等の端末装置とプリンタを機器制御言語による双方向通信可能に接続して構成される付加価値印刷システム等を稼動させるのに必要な設定手続きに用いられる、印刷システム設定装置、印刷システム設定システム、印刷システム設定方法、それを実施するためのプログラムを記憶したコンピュータ読出可能な記憶媒体、及び当該プログラムに関する。
【背景技術】
【０００２】
従来、印刷システムの設定の導入関しては、システム管理者が、プリントサーバが動作するマシン上に、一つまたは複数の論理プリンタやプリンタポートの作成を行なう必要がある。また、付加価値印刷機能を提供するシステムを単一のユーザが使用する形態の場合には、そのユーザ自身がシステムに必要なプリンタやポートモニタの作成を行わなければならない。
【０００３】
しかしながら、プリンタやポートモニタの作成にはプリンタデバイスの機種名やアドレス、適切なプリンタドライバの名前、属性設定等の情報を正確に入力する必要がある。これらの作業をエンドユーザ自身が行なう場合には、情報についての理解不足や設定ミスによって問題が起こりやすい。これらを解決するために、あらかじめ、システムエンジニア（以後、SE）が事前に設定した環境設定情報ファイルと、その情報を自動的に登録する自動インストーラプログラムを使い、ユーザが自動設定させるといった方法が知られており、また特許文献１には、インストール時にエラーが発生した場合に、そのエラーが自動修正可能なものは自動修正させる仕組みが開示されている。
【特許文献１】特開２００２−９１８３５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来から知られている特許文献１によればシステムのエラーを検知した際に、診断サーバに問い合わせを行い自動修正可能な障害かを判断し対処可能であれば自動修正を行うといったものとなっており、システム起動時などのネットワークに接続されていな状況下では対応ができるとは云えず、また、対応できない障害に関しては手動で障害を修正しなくてはならないが、特許文献１に記載のシステムでは前記障害に関しては警告メッセージを表示するのみで、原因特定に関して十分な情報が得られないといった問題があった。
【０００５】
このような問題点を解決するために常に詳細なログ情報を出力するといった方法もあるが、正常終了するケースではログファイルの肥大や、ログ出力によるパフォーマンスの低下といった問題が発生していた。また、一旦インストールできなかった部分について作業を諦め、原因を特定し問題解決するためにログの採集をＳＥに依頼し詳細に取るといった方法もあるが、障害発生時間が経過した後の作業では、障害が発生時のシステム環境が障害発生時のものと変わってしまっているといったケースもあり、その際には環境を戻し再現させるといった作業が必要となり多大な工数が必要となっていた。
【０００６】
本願発明は上記問題点を鑑みてなされたものであり、通常は簡易ログモードでインストール処理を行い、処理中にエラーがあった場合には、再度詳細なログや、障害の切り分けを行うための情報を自動的に採集する事で、障害原因の解決にまつわる障害調査の多くの作業を自動化する事を目的としている。
【課題を解決するための手段】
【０００７】
複数のプリンタをプリントサーバやパーソナルコンピュータなどの端末装置に接続し付加価値印刷を行なう情報処理装置において、設定ファイルの情報を基にプリンタ及びポートモニタを自動的にインストールする処理において、前記処理に対してログ出力モードを設定する手段と、設定されたログモードによってインストールログ手段を切り換える手段と、切り換え可能な手段として、簡易ログインストール処理手段と、詳細ログインストール手段手段を持ち、インストール処理中に発生したエラーについて判定を行なう手段と、前記手段によりエラーが無しと判定された場合インストール処理を終了させ、また、エラーありと判定された場合には、前記登録した設定をアンインストールする手段と、その際にログモードを詳細ログモードに変更する手段と、ログモードを変更した後、再度インストールする手段と、前記再インストール後に、障害原因の切り分けを行なうためにエラーの解析を行なう手段と、その解析結果にもとづき設定ファイルの設定を変更する手段と、前記再インストールした情報をアンインストールする手段と、前記アンインストール後に、再度インストール処理を行う事を特徴とする仕組みを提供する。
【発明の効果】
【０００８】
自動インストールする際に、通常は簡易モードでのログ採集を行い処理中にエラーがあった場合には、ログ出力モードを詳細ログに変更し再度インストール処理を実行し詳細ログを自動的に取得する事で、正常印刷におけるログファイルの肥大や、ログ出力によるパフォーマンスの低下といった問題を防止し、また、障害が特定の設定（特定のポートやプリンタ）で発生していた場合には、当該の設定除く設定でインストール処理を行い障害の切り分け作業を行い、その情報を採集するといった作業を自動化する事で障害原因の特定作業を迅速に行なう事が可能となる。
【発明を実施するための最良の形態】
【０００９】
〔第１の実施の形態〕
以下、本発明を適用するのに好適である実施形態について説明を行う。
【００１０】
図１において、１０２、１０３、１０４はクライアントコンピュータ（クライアント）としての情報処理装置であり、イーサネット（登録商標）などのネットワークケーブルによって、ネットワーク１０６に接続され、アプリケーションプログラム等の各種のプログラムを実行可能であり、印刷データをプリンタに対応する或は解釈可能なプリンタ言語に変換する機能を有するプリンタドライバを搭載している。なお、後述にて詳しく説明するが、本発明におけるプリンタドライバは複数のプリンタドライバをサポートするものとする。
【００１１】
１０１は本実施形態のサーバ（以下、プリントサーバと呼ぶ）としての情報処理装置であり、ネットワークケーブルによって、ネットワーク１０６に接続され、ネットワークで使用されるファイルを蓄積したり、ネットワーク１０６の使用状態を監視したりする。プリントサーバ１０１は、ネットワーク１０６に接続されている複数のプリンタを管理する機能を有する。
【００１２】
構成としては、クライアント１０２〜１０４とプリントサーバ１０１は、一般的な情報処理装置であり、クライアントとプリントサーバには、それぞれ異なる制御を行う印刷制御プログラムが実行可能に格納されている。
【００１３】
また、プリントサーバ１０１は、一般的な情報処理装置であり、クライアント１０２〜１０４の機能を同時に持つこともできる。
【００１４】
本実施形態におけるプリントサーバ１０１は、さらにクライアントコンピュータ１０２、１０３、１０４から印刷要求が出された印字データを含む印刷ジョブを格納して印刷させたり、または、クライアントコンピュータ１０２、１０３、１０４から印字データを含まないジョブ情報のみ受け取り、クライアントコンピュータ１０２、１０３、１０４のプリンタへの印刷データを送出する印刷順序を管理し、印刷順序になったクライアントに対して印字データを含む印刷ジョブの送信許可を通知したり、ネットワークプリンタ１０５のステータスや印刷ジョブの各種情報を取得し、クライアントコンピュータ１０２、１０３、１０４に通知したりする機能を揃えている。
【００１５】
１０５は印刷制御装置であるネットワークプリンタであり、図示省略したネットワークインターフェイスを介してネットワーク１０６と接続されており、クライアントコンピュータやプリントサーバ１０１から送信される印字データを含む印刷ジョブを解析してドットイメージに変換して、１ページ毎に印刷する。１０６はネットワークであり、クライントコンピュータ１０２、１０３、１０４、サーバ１０１、ネットワークプリンタ１０５等を通信可能に接続している。
【００１６】
図２は、本発明の情報処理装置の構成を説明するブロック図であり、情報処理装置であるクライントコンピュータ１０２、１０３、１０４も同じ構成であり、さらにサーバ１０１も同様あるいは同等のハードウェア構成とする。よって、クライアントとサーバの構成を説明するブロック図として説明する。
【００１７】
図２において、２００は情報処理装置の制御手段であるＣＰＵであり、ハードディスク（ＨＤ）２０５に格納されているアプリケーションプログラム、プリンタドライバプログラム、ＯＳや本発明のネットワークプリンタ制御プログラム等を実行し、ＲＡＭ２０２にプログラムの実行に必要な情報、ファイル等を一時的に格納する制御を行う。
【００１８】
２０１は記憶手段であるＲＯＭであり、内部には、基本Ｉ／Ｏプログラム等のプログラム、文書処理の際に使用するフォントデータ、テンプレート用データ等の各種データを記憶する。２０２は一時記憶手段であるＲＡＭであり、ＣＰＵ２００の主メモリ、ワークエリア等として機能する。
【００１９】
２０３は記憶媒体読み込み手段としてのフロッピー（登録商標）ディスク（ＦＤ）ドライブであり、後述する図５に示すようにＦＤドライブ２０３を通じて記憶媒体としてのＦＤ２０４に記憶されたプログラム等を本コンピュータシステムにロードすることができる。なお、記憶媒体は、ＦＤに限らず、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＰＣカード、ＤＶＤ、ＩＣメモリカード、ＭＯ、メモリスティック等、任意である。
【００２０】
２０４は記憶媒体であるフロッピー（登録商標）ディスク（ＦＤ）であり、コンピュータが読み取り可能なプログラムが格納された記憶媒体である。
【００２１】
２０５は外部記憶手段の一つであり、大容量メモリとして機能するハードディスク（ＨＤ）であり、アプリケーションプログラム、プリンタドライバプログラム、ＯＳ、ネットワークプリンタ制御プログラム、関連プログラム等を格納している。さらにスプール手段であるスプーラはここに確保される。スプール手段は、クライアントではクライアントスプーラのことであり、プリントサーバではサーバスプーラのことである。また、プリントサーバでは、クライアントから受けたジョブ情報を格納し、順序制御を行うためのテーブルもこの外部記憶手段に生成されて格納される。
【００２２】
２０６は指示入力手段であるキーボードであり、ユーザがクライアントコンピュータに対して、また、オペレータや管理者がプリントサーバに対して、デバイスの制御コマンドの命令等を入力指示するものである。
【００２３】
２０７は表示手段であるディスプレイであり、キーボード２０６から入力したコマンドや、プリンタの状態等を表示したりするものである。
【００２４】
２０８はシステムバスであり、クライアントやプリントサーバであるコンピュータ内のデータの流れを司るものである。
【００２５】
２０９は入出力手段であるインターフェイスであり、該インターフェイス２０９を介して情報処理装置は外部装置とのデータのやり取りを行う。
【００２６】
図３は、図２に示したＲＡＭ２０２のメモリマップの一例を示す図であり、ＦＤ２０４からロードされる上記ネットワークプリンタ制御プログラムが、ＲＡＭ２０２にロードされ実行可能となった状態のメモリマップである。
【００２７】
本実施形態では、ＦＤ２０４からネットワークプリンタ制御プログラムおよび関連データを直接ＲＡＭ２０２にロードして実行させる例を示すが、これ以外にも、ＦＤ２０４からネットワークプリンタ制御プログラムを動作させる度に、既にネットワークプリンタ制御プログラムがインストールされているＨＤ２０５からＲＡＭ２０２にロードするようにしてもよい。
【００２８】
また、本ネットワークプリンタ制御プログラムを記憶する媒体は、ＦＤ以外にＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＰＣカード、ＤＶＤ、ＩＣメモリカード等、情報が記憶できる媒体であれば適用可能である。さらに、本ネットワークプリンタ制御プログラムをＲＯＭ２０１に記憶しておき、これをメモリマップの一部となすように構成し、直接ＣＰＵ２００で実行することも可能である。
【００２９】
また、以上の各装置と同等の機能を実現するソフトウェアをもって、ハードウェア装置の代替として構成することもできる。
【００３０】
また、本ネットワークプリンタ制御プログラムのことを、簡単に印刷制御プログラムと呼ぶこともある。印刷制御プログラムは、クライアントにおいて印刷ジョブの印刷先の変更を指示したり、印刷順序を変更する指示をするための制御を行うプログラムを含み、また、プリントサーバにおいて、印刷ジョブの順序制御を行ったり、印刷ジョブの印刷終了や印刷先変更要求などを通知するためのプログラムを含んでいる。また、このような制御を行う本発明の印刷制御プログラムは、クライアントにインストールされるモジュールと、プリントサーバにインストールされるモジュールを別々に分けてもよいし、ひとつの印刷制御プログラムが、実行される環境によりクライアント用として機能したり、またはプリントサーバ用として機能するようにしてもよい。あるいは一台のコンピュータに、クライアント用の機能を持つモジュールと、プリントサーバ用として機能するモジュールをともにインストールし、同時に、あるいは時分割で擬似的に平行動作させる構成も可能である。
【００３１】
３０１は基本Ｉ／Ｏプログラムであり、本制御装置の電源がＯＮされたときに、ＨＤ２０５からＯＳがＲＡＭ２０２に読み込まれ、ＯＳの動作を開始させるＩＰＬ（イニシャルプログラムローデイング）機能などを有しているプログラムが入っている領域である。
【００３２】
３０２はオペレーティングシステム（ＯＳ）であり、３０３はネットワークプリンタ制御プログラムで、ＲＡＭ２０２上に確保される領域に記憶される。３０４は関連データで、ＲＡＭ２０２上に確保される領域に記憶される。３０５はワークエリアで、ＣＰＵ２００が本プリンタ制御プログラムを実行する領域が確保されている。
【００３３】
図４は、図２に示したＦＤ２０４のメモリマップの一例を示す図である。
【００３４】
図４において、４００は前記ＦＤ２０４のデータ内容であり、４０１はデータの情報を示すボリューム情報であり、４０２はディレクトリ情報、４０３は本実施形態で説明する印刷制御プログラムであるネットワークプリンタ制御プログラム、４０４はその関連データである。４０３のネットワークプリンタ制御プログラムは、実施形態で説明するフローチャートに基づいてプログラム化したものであり、本実施例では、クライアント、サーバ共、同様の構成をとっている。
【００３５】
図５は、図２に示したＦＤドライブ２０３に対して挿入されるＦＤ２０４との関係を示す図であり、図２と同一のものには同一の符号を付してある。
【００３６】
図５において、ＦＤ２０４には、本実施形態で説明するネットワークプリンタ制御プログラムおよび関連データを格納している。
【００３７】
次に本実施の形態における、プリンタを複数台使用して、前述の分散、同報、代行といった印刷処理を行う、印刷ジョブ制御システムについて説明する。
【００３８】
なお、本実施の形態では、複数のプリンタを１台のプリンタとして仮想的に束ねるプリンタをグループプリンタ、束ねられるプリンタをメンバプリンタと呼ぶ。また、それに対応するプリンタドライバをそれぞれグループプリンタドライバ、メンバプリンタドライバと呼ぶ。
【００３９】
図６は本システムのクライアントサーバモデルにおいてＭｉｃｒｏｓｏｆｔＷｏｒｄ（登録商標）などの一般的なアプリケーションから発行された印刷ジョブが、印刷ジョブ制御システムにおいてどのように処理されるかを示した図である。図６において、６００はクライアントマシンで、印刷ジョブ制御システムのクライアントモジュールが動作するマシンを指す。
【００４０】
通常、印刷の指示がされるとアプリケーションプログラムは一連の描画命令を生成し、プリンタドライバを経てＷｉｎｄｏｗｓ（登録商標）Ｓｐｏｏｌｅｒに渡される。Ｗｉｎｄｏｗｓ（登録商標）Ｓｐｏｏｌｅｒは、ユーザが選択したポートモニタにプリントジョブデータを渡してプリンタデバイスに送信させる手順をとる。
【００４１】
図６は、プリントサーバを用いたネットワークプリントシステム（印刷システム）１３００の一般的な構成を示したものである。
【００４２】
ネットワークプリントシステム１３００では、図６に示すように、まず、ローカルエリアネットワーク（ＬＡＮ）１３５０，１３６０に対しては、不図示の様々な周辺機器が接続可能となっている。開放型アーキテクチャを有するプリンタ１３０２は、共用プリンタとして、ネットワークインタフェース（ＮＩＣ）１３０１を介してＬＡＮ１３５０に接続されている。
【００４３】
ＮＩＣ１３０１は、例えば、“Ｅｔｈｅｒｎｅｔ（登録商標）”等のＬＡＮ１３５０に対して、“同軸コネクタ（１０Ｂａｓｅ−２）”や“ＲＪ−４５コネクタ（１０／１００Ｂａｓｅ−Ｔ）”等により接続されている。
【００４４】
プリントサーバ１３０８は、例えば、パーソナルコンピュータ（ＰＣ）から構成され、ローカル接続された複数のプリンタ１３０９（１），１３０９（２），・・・や、遠隔地に設置されているプリンタ１３０２等に対して印刷処理を実行させる。
【００４５】
ＰＣ１３０３及びＰＣ１３０４はそれぞれ、ＬＡＮ１３５０に接続されており、ネットワークオペレーティングシステムの制御により、プリントサーバ１３０８と通信可能である。
【００４６】
したがって、例えば、任意のＰＣ１３０３がプリンタ１３０２に対して印刷処理を実行させたい場合、ＰＣ１３０３は、自ら（ＮＩＣ）１３０１を介してプリンタ１３０５と通信してプリンタ１３０２との間でプリントデータや制御情報等のやり取り行わなくとも、次のようにして、その作業をプリントサーバ１３０８に任せることができる。
【００４７】
例えば、先ず、ＰＣ１３０３は、自側のアプリケーションウェア等の起動により作成されたプリントジョブのデータを、プリンタ１３０２ではなくプリントサーバ１３０８に対して送信する。
【００４８】
プリントサーバ１３０８は、ＰＣ１３０３からのプリントジョブのデータを、ハードディスク等のローカルなデータ保存メモリ（不図示）に一時的に保持する。
【００４９】
プリントサーバ１３０８は、上記保存メモリを使用することで、複数のプリントジョブを受け付けることが可能であるため、上記保存メモリ内に複数のプリントジョブが処理待ち状態で保持されている場合、所定の方針に従って、次に処理すべきプリントジョブを決定する。
【００５０】
プリントサーバ１３０８は、次に処理すべきであると決定したプリントジョブのデータを上記保存メモリから読み出し、当該プリントジョブを、（ＮＩＣ）１３０１を介してプリンタ１３０２に対して、或いは任意のプリンタ１３０９（ｘ）に対して送信する。
【００５１】
このとき、プリントサーバ１３０８は、必要に応じて、プリンタドライバにより、送信対象のプリントジョブのデータを、プリンタ１３０２又は１３０９（ｘ）がサポートするページ記述言語（ＰＤＬ）及び制御コマンドへと変換して送信する。
【００５２】
上述のようなＰＣ１３０３，１３０４、及びプリントサーバ１３０８はそれぞれ、一般的なＰＣの構成により、データファイルの生成、当該データファイルのＬＡＮ１３５０への送信、ＬＡＮ１３５０からのデータファイルの受信、及び当該データファイルの表示及び／又は処理を実行することが可能である。
【００５３】
例えば、ＰＣ１３０３，１３０４、及びプリントサーバ１３０８としては、ネットワークソフトウェアを実行するのに適切であるような、他のコンピュータ機器を適用可能である。さらに具体的には、ＵＮＩＸ（登録商標）のソフトウェアを使用し、ＵＮＩＸ（登録商標）ワークステーションをネットワークに含み、当該ワークステーションを、適切な状況下でＰＣ１３０３，１３０４等と共に使用する。
【００５４】
ここで、ＬＡＮ１３２０、ＬＡＮ１３５０、及びＬＡＮ１３６０として使用している一般的なＬＡＮは、１つの建物内の１つの階又は連続した複数の階でのユーザグループ等の、比較的ローカルなユーザグループに対してサービスを提供する。
【００５５】
例えば、それぞれのユーザが他の建物や他県に居る場合等においては、あるユーザが他のユーザから離れるに従って、ワイドエリアネットワーク（ＷＡＮ）を形成する。ＷＡＮは、基本的には、いくつかのＬＡＮをサービス総合ディジタルネットワーク（ＩＳＤＮ）等の高速ディジタル回線で接続することにより形成された集合体である。
【００５６】
したがって、ネットワークプリントシステム１３００では、上記図１０に示すように、ＬＡＮ１３２０、ＬＡＮ１３５０、及びＬＡＮ１３６０を、モデム／トランスポンダ１３３０ａ，１３３０ｂ及びバックボーン１３４０を介して接続することでＷＡＮを形成している。
【００５７】
ＬＡＮ１３６０に対しては、必要に応じて、ＰＣ１３１１、ＰＣ１３１２、ネットワークディスク１３１４が接続されたファイルサーバ１３１３、及び複数のプリンタ１３１６（１），１３１６（２），…が接続されたプリントサーバ１３１５が接続される。
【００５８】
また、ＬＡＮ１３２０に対しては、必要に応じて、ＰＣ１３２１及びＰＣ１３２２が接続される。
【００５９】
ＬＡＮ１３２０、ＬＡＮ１３５０、及びＬＡＮ１３６０に接続されている機器は、ＷＡＮ接続を介して、他のＬＡＮに接続された機器の機能にアクセスすることが可能である。
【００６０】
上述のようなネットワークプリントシステム１３００において、プリントサーバ１３０８やプリントサーバ１３１５等のプリントサーバを設けることで、次のような主なるメリット（１）及び（２）が得られる。
【００６１】
（１）クライアントＰＣとしてのＰＣ１３０３，１３２１，１３２２，１３１１，１３１２（以下、これらをまとめて単に「クライアントＰＣ」とも言う）で実行する個々のプリンタに依存した処理を最小限にし、その分の負荷をプリントサーバに負わせることができる。これにより、例えば、クライアントＰＣ側でユーザがドキュメントの印刷処理を行う際の当該クライアントＰＣの処理時間、すなわちユーザの待ち時間を短縮できる。
【００６２】
具体的には例えば、図１に示すように、クライアントＰＣ１３１１の基本ソフト（ＯＳ）として、“Microsoft Windows（登録商標）（Ｒ）”（“Windows（登録商標）”）を使用し、クライアントＰＣ１３１１が、プリントサーバ１３１５を介してプリンタ１３１６で印刷処理する場合、クライアントＰＣ１３１１は、プリンタ１３１６が直接処理可能なプリンタ固有のデータファイル（当該プリンタ固有の制御コマンドを含むデータファイル）ではなく、プリンタ１３１６に依存しない中間的なファイル（中間ファイル）を生成し、当該中間ファイルをプリントサーバ１３１５に対して送信する。
【００６３】
プリントサーバ１３１５は、クライアントＰＣ１３１１からの中間ファイルに基づいて、プリンタ１３１６固有のデータを生成し、当該データ（プリンタ依存コマンド）をプリンタ１３１６に対して送信する。
【００６４】
したがって、クライアントＰＣ１３１５は、プリントサーバ１３１５を介すことで、プリンタ１３１６を用いた印刷のための処理を軽減することができる。
【００６５】
（２）付加価値のあるプリントジョブの処理が可能となる。
【００６６】
例えば、プリントジョブ毎に処理の優先順序を設定することで、複数のプリントジョブが同時に処理待ち状態となった場合に、プリントジョブが有する優先順序に基づき処理順序を決定することができる。したがって、緊急に印刷処理する必要のあるドキュメント等のプリントジョブを優先的に印刷することが可能となる。また、例えば、プリントサーバが、クライアントＰＣから受け取ったプリントジョブを送信しようとしたプリンタでエラーが発生していた場合、他のプリンタを代わりに選択して印刷処理させるという代行印刷サービス、或いは印刷時間短縮のために一つのプリントジョブを論理的に分割して複数のプリンタに並行して印刷処理させるという分散印刷サービス等の提供が可能となる。
【００６７】
ここで、上記の分散印刷サービスについて具体的に説明する。
【００６８】
例えば、ネットワークプリントシステム１３００において、クライアントＰＣ及びプリントサーバの基本ソフト（ＯＳ）として“Microsoft Windows（登録商標）（Ｒ）”（以下、単に“Windows（登録商標）”と略記する）を使用し、クライアントＰＣが、プリントサーバを介してプリンタで印刷処理するものとする。
【００６９】
先ず、システム管理者は、プリントサーバ上に一つまたは複数の論理プリンタを用意する。
【００７０】
一方、クライアントＰＣ上に対しては、プリントサーバに用意された論理プリンタに対応する論理プリンタを作成しておく。
【００７１】
ここでの“論理プリンタ”とは、物理的なプリンタを“Windows（登録商標）”上でモデル化したものであり、例えば、ドキュメントデータをプリンタに送信すべきデータに変換する際に使用するプリンタドライバや、プリントジョブのデータの出力先等の様々な情報を管理しているオブジェクトである。
【００７２】
“Windows（登録商標）”が稼働するクライアントＰＣのユーザは、アプリケーションプログラムによる印刷を実行するとき、論理プリンタプリンタを指定して印刷実行の指示を出す。
【００７３】
これにより、クライアントＰＣで稼動している“Windows（登録商標）”は、アプリケーションプログラムから受け取った描画コマンドをＥＭＦ形式と呼ばれるデータ形式に変換する。
【００７４】
“ＥＭＦ形式”とは、“Windows（登録商標）”の“ＧＤＩ”と呼ばれるデバイス（プリンタ等）に非依存なグラフィックスシステムの特徴を引き継いでおり、デバイスに依存するコマンドや情報を含まないデータ形式である。
【００７５】
そして、クライアントＰＣ側の“Windows（登録商標）”は、ＥＭＦ形式にデータ変換したプリントジョブデータをプリントサーバに対して転送する。
【００７６】
プリントサーバ側の“Windows（登録商標）”は、クライアントＰＣから受信したＥＭＦ形式のプリントジョブデータを、一旦ハードディスク等のメモリ上に保存し、その後、当該メモリからＥＭＦ形式のプリントジョブデータを読み出し、当該読出データを、印刷処理を実行しようとするプリンタのプリンタドライバを用いて、当該プリンタがサポートするページ記述言語（ＰＤＬ）のデータ形式に変換する。
【００７７】
続いて、プリントサーバ側の“Windows（登録商標）”は、上記の変換後のプリントジョブデータを、ポートモニタと呼ばれるモジュール介してプリンタに対して送信する。
【００７８】
尚、このとき対象となるプリンタが、例えば、プリンタ１３０２の場合、ネットワークインタフェースであるＮＩＣ１３０１を介して、プリントジョブデータを送信することになる。
【００７９】
プリンタは、プリントサーバからプリントジョブデータ（ＰＤＬ形式のプリントジョブデータ）を受け取り、ＰＤＬを解釈して印刷処理を実行する。
尚、ここでの印刷処理の詳細については、“Windows（登録商標）”の各バージョンについて発行されている「リソースキット」と呼ばれる出版物に譲る。
【００８０】
上述のような“Windows（登録商標）”を用いたネットワークプリントシステム１３００（プリンティングシステム）の構造に着目し、サードパーティにより、以下に説明するような機能拡張が行われている。
【００８１】
まず、プリントサーバ側の“Windows（登録商標）”で作成されているプリントオブジェクトに対しては、物理的なプリンタにプリントジョブデータを転送するプログラムモジュールとして、ポートモニタモジュールが通常設定されるが、このポートモニタモジュールを、プリントサーバ上で動作する他のプリントサービスプログラムに渡すモジュールに置き換える。このモジュールは、プリントジョブデータをプリンタには送信せず、例えば、ハードディスク上にファイルとして保存すし、プリントサービスプログラムが、当該ファイルを読み出すことでプリントジョブデータを入手し、独自の処理を実行した後に、当該処理後のプリントジョブデータをプリンタに対して送信する、という機能を実施するモジュールである。
【００８２】
このような構成とすることで、プリントサービスプログラムは、“Windows（登録商標）”が持っていない機能を、プリントサーバの機能として付加することができる。
【００８３】
分散印刷サービスにおける分散印刷機能は、上記の機能拡張を利用したものである。“分散印刷機能”は、一つのプリントジョブを論理的に分割して複数の分割ジョブを生成し、これらの分割ジョブを複数のプリンタに振り分け、当該複数のプリンタに対して印刷処理を実行させる機能である。これにより、プリントジョブに要する時間を短縮することができる。
【００８４】
一つのプリントジョブを論理的に分割する方法としては、いくつかの方法を適用可能であるが、代表的な方法としては、印刷部数に基づき分割する方法や、印刷するドキュメントをページ方向に分割する方法等が挙げられる。
【００８５】
印刷部数に基づき分割する方法の場合、それぞれのプリンタで印刷する部数の全てを合計したものが、分割前のプリントジョブで指定された印刷部数に等しくなる。
【００８６】
一方、印刷するドキュメントをページ方向に分割する方法の場合、それぞれのプリンタで印刷するページ範囲の全てを寄せ集めたものが、分割前のプリントジョブで印刷するドキュメントのページ範囲全体に等しくなる。
【００８７】
分散印刷機能では、もとのプリントジョブを分割して複数のプリンタに対して割り振る際の、分割割合を予め決めて設定する必要がある。このときの分割割合の設定方法としては、例えば、分散印刷の対象となる複数のプリンタに対して、出力枚数が均等になるように設定する方法や、プリンタの印刷速度性能に応じて、印刷速度の速いプリンタの出力枚数がより多くなるように傾斜配分する方法等が挙げられる。
【００８８】
上述した２つのプリントジョブの分割方法は、本来異なる分割の概念に基づいており、これら両者を組み合わせることも原理的に可能である。
【００８９】
例えば、出力結果が１部当たり１００枚となるドキュメントを１０部印刷するプリントジョブについて、当該プリントジョブを４台のプリンタで印刷する場合、先ず、印刷部数がそれぞれ５部であるの２つのジョブに分割し、さらにこれらの２つのジョブを、１〜５０枚目、及び５１〜１００枚目のジョブに分割し、この結果得られた４つのジョブ（分割ジョブ）を、４台のプリンタに対して割り当てる。
【００９０】
したがって、分散印刷機能におけるプリントジョブの分割割合の設定は、分割方法に応じて複数種類必要なことになる。
【００９１】
以上説明したようなネットワークプリントシステム１３００で使用するプリンタとしては、次のようなプリンタが挙げられる。
【００９２】
・特開平１０−３１１５６８号等に記載されているような、代行印刷処理を実行したプリンタを検索する手間を省くことを目的としたプリンタ。
【００９３】
・特開平１１−１６７４７２号等に記載されているような、予め決定された機器の優先順位に従って代行印刷処理を実行するように構成されたプリンタ。
【００９４】
・特登録２９４７１１２号等に記載されているような、プリンタのエラー発生時に、エラーが発生したプリンタに対応するアウトプットキューに登録されている未処理のファイル出力要求を他の正常なプリンタに対応するアウトプットキューに登録しなおして、出力先プリンタを変更するように構成されたプリンタ。
【００９５】
・分散印刷機能により割り当てられた分割ジョブの処理において、ステイプルや両面、複数ページを１枚にまとめる“Ｎ−Ｕｐ”と呼ばれる属性を指定された場合に、最小分割単位を操作することにより想定外のステイプル結果や、両面、“Ｎ−Ｕｐ”を防ぐことを目的としたプリンタ。
【００９６】
ところで以上の説明では、プリントサーバを複数のユーザが共有する使用形態を想定しているが、上述のような代行印刷機能のような付加価値印刷機能を提供するシステムを単一のエンドユーザが自分のマシン上で使用する形態も考えられる。
【００９７】
上記のプリントサーバを稼動させるためには、ソフトウェアを構成するモジュールをマシンにインストールするだけでなく、前にも述べたようにシステム管理者がプリントサーバマシン上に当該プリントサーバシステムで使用するための論理プリンタを作成する。また、付加価値印刷機能を持つシステムをエンドユーザのマシンで使用する場合にはそのエンドユーザ自身で論理プリンタの設定を行う。いずれの場合も、プリンタの種類やネットワーク上のアドレスなど、環境に応じて設定が必要になる。これはWindows（登録商標）では以下のような方法で行う。
【００９８】
まず、プリンタに送信するプリントデータを処理するためのポートモニタを作成する。これはプリントサーバに付属する設定ツールによって行う。設定ツールはユーザインタフェースを備え、ポートモニタの作成に必要な情報をユーザが入力する。この必要な情報としては少なくとも以下のものを含む。
【００９９】
・プリンタの機種名
・プリンタのネットワークインタフェースが持つ、ネットワークで一意に割り当てられたアドレス
・プリンタへプリントデータを転送する方法とそれに必要な設定情報
・作成しようとしているポートモニタのインスタンス名
（さらにプリントサーバの持つ機能によっては、プリンタに関するより詳細な情報を必要とする場合もあるがここでは省略する。）
次に、プリンタドライバをインストールする。これはポートモニタの作成時に指定されたプリンタの機種名から適切なものを選択して行う。この時、所望のプリンタドライバがすでにインストールされているかどうかをまず調べ、インストールされている場合には改めてインストールすることはせず、インストールされていない場合にだけ実際にインストールを行う。
【０１００】
最後に、論理プリンタのインスタンスの作成を行う。論理プリンタのインスタンスを作成する時には、その属性として以下の情報を指定する。
【０１０１】
・ポートモニタのインスタンス名
・プリンタドライバの名前
・作成しようとしている論理プリンタのインスタンス名
（ここでも、さらにプリントサーバの持つ機能によっては、論理プリンタに関するより詳細な情報を必要とする場合もあるがここでは省略する。）上記の属性を見ればわかるように、使用しようとしているプリンタに関する情報をもとに作成またはインストールしておいたポートモニタ、プリンタドライバを論理プリンタでは指定する。
【０１０２】
図７は、本発明を適用するプリントサーバ上にプリンタ及びポートモニタを自動的にインストールする、自動インストール機能を具体的にフローチャートにより示したものである。
【０１０３】
ステップ７−０１は、プリントサーバより自動インストール機能が起動された場合に、処理を行うかどうかを判断するステップである。自動インストール機能の起動方法としては、プリントサーバ起動時に自動的に起動されるような方法があり、自動的に起動されるようなケースでは、本ステップで自動インストールを行なうかどうかの判断をプリントサーバの環境チェックを行い判断する。環境チェックの具体的な内容としては、自動インストールプログラムの多重起動、設定情報の不備（プログラムコマンドライン指定のミス）などいったものがあるが、本発明の趣旨からは外れるため詳細は省略する。ここで、自動インストールを行なうと判断した場合には、ステップ７−０２へ進み、それ以外であればプリントサーバ設定処理の終了として処理を抜ける。
【０１０４】
図８は、ステップ７−０２の詳細である。
【０１０５】
ステップ８−０１は、設定の初期値を設定するステップであり初期設定としてログモードを簡易ログモードとし、またエラーログカウンタ（以降、ＥＲＲ＿ＣＯＵＮＴＥＲ）を０に初期化する。ここで言う簡易ログとは、エラーが発生したＡＰＩに対してのみエラーログを出力するものであり、また正常終了したＡＰＩに関してはＡＰＩの成功、もしく、ログの肥大化防止のため、そのＡＰＩに対するログそのものを出力しないといったログ出力方法である。
【０１０６】
ちなにみに、一般的にＡＰＩは複数の階層を構造を持つため、エラー発生時のログ出力を上位１−２階層レベルのＡＰＩのみとし下位階層のエラーログの出力は行なわないといった方法を取ることもある。
【０１０７】
ステップ８−０２は、ログモードの判定処理を行なうステップである。ここで、簡易ログモードであればステップ８−０３へ進み、それ以外であれば、ステップ８−０４へ進む。
【０１０８】
ステップ８−３は、簡易ログモードによるインストール処理を行うステップであり図９は、その詳細である。
【０１０９】
ステップ９−０１は、簡易ログモードであるか、それ以外であるか判定するステップである。ここで簡易ログモードであった場合、ステップ９−０２へ進みプログラム中の簡易ログフラグＯＮ（詳細ログフラグをＯＦＦ）としてインストール処理を行なう。また、同様に、ステップ９−０３に進んだ場合には、詳細ログフラグＯＮ（簡易ログフラグをＯＦＦ）とする。
【０１１０】
ステップ９−０４は、自動インストールを行なう設定ファイル情報をシステムから読み込むステップであり、自動インストールプログラム起動時に指定されたディレクトリ、もしくは、デフォルトのフォルダより、設定ファイルを読み込む。ステップ９−０５は、前記ステップで設定ファイルが読み込めたどうか判断するステップであり読み込めなった場合には、エラー発生として処理を終了してステップ８−０８へ進む。ステップ９−０６は、自動インストールを行なう環境のチェックを行なうステップであり、自動インストールに必要なサービスプログラムの起動チェックやサポートＯＳのチェック、ＤＩＳＫ空き容量のチェックといった環境チェック処理を行なうステップである。ステップ９−０７は、前記ステップの環境チェックで問題がなかったどうか判断するステップであり問題があった場合にはエラー発生として処理を終了してステップ８−０８へ進む。
【０１１１】
ステップ９−０８は、ポートモニタの登録を行なうステップであり、設定ファイルに記載されているポートモニタ情報に従い登録作業を行なう。なお、本ステップでは、複数のポートモニタを登録可能であり、ポートモニタの登録中にエラーが発生した場合には、次のポートモニタの登録作業を行なうといったフローで処理を行う。
【０１１２】
ステップ９−０９は、プリンタの登録を行なうステップであり、設定ファイルに記載されているプリンタ情報に従い登録作業を行なう。なお、本ステップ、前記ポートモニタの登録処理と同様、複数のプリンタを登録可能であり、プリンタ登録に失敗した場合には、次のプリンタの登録作業を行なうといったフローで処理を行う。全ての処理が終わったらステップ８−０８へ進む。ここで、インストール処理に関するエラーの判定を行なう。ここでは、前記９−０４、９−０６のステップで発生したエラーのように、障害の原因が明白であるものに関しては、障害原因の特定が容易であるため自動インストールの終了処理に進む。もちろん、障害が発生しなかった場合にも、処理が正常終了したものとして自動インストールの終了処理に進む。また、それ以外であれば、障害の原因を特定するために詳細ログの採取を行なうべくステップ８−０９へ進む。ステップ８−０９は、詳細ログの採取が必要であるとして、ＥＲＲ＿ＣＯＵＮＴＥＲに１を加算するステップであり、加算を行なった後にステップ８−１０へ進む。ステップ８−１０は、ステップ８−３で登録した、ポートモニタ、プリンタ情報を一旦アンインストールするステップであり設定ファイルの情報に基づき設定のアンインストール処理を行う。ステップ８−１１は、ＥＲＲ＿ＣＯＵＮＴＥＲの値が“２”であるかどうか判断するステップであり、“２”であった場合にはステップ８−０２へ戻り、それ以外であればステップ８−１２へ進む。ステップ８−１２は、詳細ログを取得済みであるかどうか判断するステップであり、既に詳細ログモードであった場合には、詳細ログを取得済みとして自動インストール終了処理に進む。また、詳細ログを取得していなかった場合には、ステップ８−１３へ進み、ログモードを詳細ログモードに変更した後、ステップ８−０２へ戻る。
【０１１３】
ステップ８−０２は、前述した様にログモードの判定処理を行なうステップであり、ログモードが詳細モードであった場合には、ステップ８−０４に進む。ステップ８−０４は、ＥＲＲ＿ＣＯＵＮＴＥＲを判断するステップであり、ＥＲＲ＿ＣＯＵＮＴＥＲが１であった場合にはステップ８−０５へ進む。ステップ８−０５は、詳細ログインストール処理を行うステップである。ここで言う詳細ログとは、エラーが発生したＡＰＩのみならず、処理を起こった全てのＡＰＩ全て対してログを出力させるものである。これは、エラーの原因がエラーを検知した処理以前にあるケースがあるためである。図９は、ステップ８−０５の詳細であり、このフローは既にステップ８−０３で説明済みであるためここでは説明を省略する。ステップ８−０６は、エラー解析処理であり、その詳細が図１０である。ステップ１０−０１は、前記ステップで採取したログ情報よりエラーが発生したポートモニタ情報を抽出するステップである。本ステップを終了した後、ステップ１０−０２でエラーが発生したプリンタ情報についても情報の抽出しを行い、ステップ１０−０３にて、ステップ１０−１，１０−０２で得た情報より、設定ファイル上で該当する設定を設定ファイル上の設定をコメントアウトする、などといった方法オ使い無効化する。図１１−１、１１−２はその一例である。図１１−１は、本システムで使用する設定ファイルの一例であり、図１１−２は、前記ステップ１０−０１、１０−０２で抽出された情報を元にステップ１０−０３で、設定ファイル上の設定をコメントアウトした際の一例である。ここでは、図１１−１の設定ファイルに対して、ポートモニタの“３２００Ｐｏｒｔ＿１”及びプリンタ“ＤＯＭＳ３２００＿１“でエラーが発生したとして、その設定に関する処理をコメントアウトしている。
【０１１４】
ステップ８−０６の処理を経た後ステップ８−０８へ進む。ステップ８−０８は、前述した様にインストール処理エラーを判定するステップであるが、既にインストールエラーが発生しているので、ステップ８−０９へ進みＥＲＲ＿ＣＯＵＮＴＥＲに１を加算する。
【０１１５】
加算を行なった後にステップ８−１０へ進み、前記８−０５で登録した、ポートモニタ、プリンタ情報を一旦アンインストールしステップ８−１１へ進む。ステップ８−１１では、ＥＲＲ＿ＣＯＵＮＴＥＲの値が“２”であるため、ステップ８−０２へ戻る。ステップ８−０４は、ＥＲＲ＿ＣＯＵＮＴＥＲを判断するステップであり、ＥＲＲ＿ＣＯＵＮＴＥＲが２であるためステップ８−０７へ進む。ステップ８−０７は、ステップ８−０３に前述した様に図９にあるステップの処理としても良いし、既にログモードが詳細ログモードとして設定済みとして、ステップ９−０１から９−０９の一連のステップからステップ９−０１、９−０２、９−０３のステップを取り除いた処理としても良い。本ステップを終了した後、ステップ８−０８へ進む。ステップ８−０８はインストール処理エラーを判定するステップであるがステップ８−０６の処理によって設定ファイルの問題点が完全に取り除かれ場合、ステップ８−０７でエラーが発生しなくなるケースがある。この場合、ステップ８−０８では一部インストール処理が成功したと判定し自動インストール終了処理に進む。また、ステップ８−０７でエラーが発生した場合には、ステップ８−０９でＥＲＲ＿ＣＯＵＮＴＥＲを加算した後、ステップ８−１０でアンインストール処理を行い、ステップ８−１１，８−１２の処理を経て自動イ＿ＣＯＵＮＴＥＲの値により、自動インストール処理結果をプログラムの戻り値として設定し処理を終了する。図１２は、その戻り値の一例である。
【図面の簡単な説明】
【０１１６】
【図１】本発明を適用可能な情報処理システムの構成を説明するブロック図。
【図２】本発明の情報処理装置の構成を説明するブロック図。
【図３】図２に示したＲＡＭ２０２のメモリマップの一例。
【図４】図２に示したＦＤ２０４のメモリマップの一例。
【図５】図２に示したＦＤドライブ２０３に対して挿入されるＦＤ２０４との関係を示す図。
【図６】プリントサーバを用いたネットワークプリントシステム構成図。
【図７】自動インストール処理基本フロー。
【図８】ログ採集及び障害切り分け処理フロー。
【図９】ログ切り換えフロー。
【図１０】エラー解析処理フロー。
【図１１】（１）は設定ファイル例、（２）は設定ファイルコメントアウト例。
【図１２】自動インストール処理の戻り値の例。
【図１】
2006164026.tif 000003
【図２】
2006164026.tif 000004
【図３】
2006164026.tif 000005
【図４】
2006164026.tif 000006
【図５】
2006164026.tif 000007
【図６】
2006164026.tif 000008
【図７】
2006164026.tif 000009
【図８】
2006164026.tif 000010
【図９】
2006164026.tif 000011
【図１０】
2006164026.tif 000012
【図１１】
2006164026.tif 000013
【図１２】
2006164026.tif 000014