(57)【要約】【課題】  ポート番号により通常印刷又は分散印刷を識別する分散印刷システムでは、各印刷種別毎に、対応するポート番号が設定されたプリンタドライバを、予めクライアントコンピュータに用意しておく必要があった。【解決手段】  特定のポート番号を指定して送信されてきた印刷ジョブを、複数の分散先プリンタに分散することが可能な分散元プリンタに対し、分散元プリンタのプリンタドライバを用いて印刷ジョブを送信するクライアントコンピュータであって、分散元プリンタのプリンタドライバである第１のプリンタドライバを記憶する記憶部と、外部からの指示に従い、記憶部から第１のプリンタドライバのプロパティ情報を読み出してコピーすると共に、コピーしたプロパティ情報に含まれる指定ポート番号を、特定のポート番号に変更することにより、第２のプリンタドライバを生成するプリンタドライバ生成部と、を備えるクライアントコンピュータ。【選択図】  図１
2006277130.tif 000002
【特許請求の範囲】
【請求項１】
特定のポート番号を指定して送信されてきた印刷ジョブを、複数の分散先プリンタに分散することが可能な分散元プリンタに対し、該分散元プリンタのプリンタドライバを用いて、前記印刷ジョブを送信するクライアントコンピュータであって、
前記分散元プリンタのプリンタドライバである第１のプリンタドライバを記憶する記憶部と、
外部からの指示に従い、前記記憶部から前記第１のプリンタドライバのプロパティ情報を読み出してコピーすると共に、コピーした該プロパティ情報に含まれている、前記印刷ジョブを送信する際に指定すべき指定ポート番号を、前記特定のポート番号に変更することにより、前記分散元プリンタのプリンタドライバである第２のプリンタドライバを生成するプリンタドライバ生成部と、
を備えるクライアントコンピュータ。
【請求項２】
特定の印刷プロトコルで送信されてきた印刷ジョブを、複数の分散先プリンタに分散することが可能な分散元プリンタに対し、該分散元プリンタのプリンタドライバを用いて、前記印刷ジョブを送信するクライアントコンピュータであって、
前記分散元プリンタのプリンタドライバである第１のプリンタドライバを記憶する記憶部と、
外部からの指示に従い、前記記憶部から前記第１のプリンタドライバのプロパティ情報を読み出してコピーすると共に、コピーした該プロパティ情報に含まれている、前記印刷ジョブを送信する際に用いるべき指定印刷プロトコルを、前記特定の印刷プロトコルに変更することにより、前記分散元プリンタのプリンタドライバである第２のプリンタドライバを生成するプリンタドライバ生成部と、
を備えるクライアントコンピュータ。
【請求項３】
請求項１または請求項２に記載のクライアントコンピュータにおいて、
前記プリンタドライバ生成部は、前記第２のプリンタドライバを生成する場合において、外部からの指示に従い、前記記憶部から前記第１のプリンタドライバの前記プロパティ情報を読み出してコピーすると共に、コピーした該プロパティ情報に含まれている、前記指定ポート番号または前記指定印刷プロトコルを変更する他に、更に、前記クライアントコンピュータが前記分散元プリンタに対し動作状態を問い合せするか否かを設定する問い合せ設定情報を、問い合せしないように変更することを特徴とするクライアントコンピュータ。
【請求項４】
特定のポート番号を指定して送信されてきた印刷ジョブを、複数の分散先プリンタに分散することが可能な分散元プリンタに対し、該分散元プリンタのプリンタドライバを用いて、前記印刷ジョブを送信するクライアントコンピュータであって、
前記分散元プリンタが複数ある場合に、各分散元プリンタごとに、その分散元プリンタのプリンタドライバである第１のプリンタドライバを、それぞれ記憶する記憶部と、
複数の前記第１のプリンタドライバの中から、外部からの指示に従って所定の第１のプリンタドライバを選択し、選択した前記第１のプリンタドライバのプロパティ情報を前記記憶部から読み出してコピーすると共に、コピーした該プロパティ情報に含まれている、前記印刷ジョブを送信する際に指定すべき指定ポート番号を、前記特定のポート番号に変更することにより、前記分散元プリンタのプリンタドライバである第２のプリンタドライバを生成して、前記記憶部に記憶させるプリンタドライバ生成部と、
前記記憶部に記憶された複数のプリンタドライバの中から、対応する前記第２のプリンタドライバが生成されていない前記第１のプリンタドライバを、未生成ドライバとして検索する検索部と、
を備え、
前記検索部は、前記記憶部に記憶された複数の前記プリンタドライバの中から、各プリンタドライバのプロパティ情報に含まれている前記指定ポート番号に基づき、前記第１のプリンタドライバを抽出し、抽出した前記第１のプリンタドライバについて、その第１のプリンタドライバと、前記プロパティ情報に含まれている、前記分散元プリンタを特定することが可能な識別情報が一致し、かつ、前記指定ポート番号が前記特定のポート番号であるプリンタドライバが、前記記憶部に記憶されているか否かを判定し、記憶されていないと判定した場合に、その第１のプリンタドライバを、前記未生成ドライバとして特定することを特徴とするクライアントコンピュータ。
【請求項５】
請求項４に記載のクライアントコンピュータであって、
前記検索部が特定した前記未生成ドライバの一覧を表示するユーザインタフェースを備えるクライアントコンピュータ。
【請求項６】
特定のポート番号を指定して送信されてきた印刷ジョブを、複数の分散先プリンタに分散することが可能な分散元プリンタに対し、該分散元プリンタのプリンタドライバを用いて前記印刷ジョブを送信し、前記プリンタドライバを記憶する記憶部を備えるクライアントコンピュータにおいて、
前記分散元プリンタのプリンタドライバである第１のプリンタドライバから第２のプリンタドライバを生成するためのプリンタドライバ生成方法であって、
前記記憶部から、前記第１のプリンタドライバのプロパティ情報を読み出してコピーする第１の工程と、
コピーした該プロパティ情報に含まれている、前記印刷ジョブを送信する際に指定すべき指定ポート番号を、前記特定のポート番号に変更することにより、前記第２のプリンタドライバを生成する第２の工程と、
を備えるプリンタドライバ生成方法。
【請求項７】
特定のポート番号を指定して送信されてきた印刷ジョブを、複数の分散先プリンタに分散することが可能な分散元プリンタに対し、該分散元プリンタのプリンタドライバを用いて、前記印刷ジョブを送信するクライアントコンピュータにおいて、前記クライアントコンピュータが備える記憶部に記憶されている複数のプリンタドライバの中から、所定のプリンタドライバを検索するためのプリンタドライバ検索方法であって、
前記分散元プリンタが複数ある場合に、各分散元プリンタごとに、その分散元プリンタのプリンタドライバである第１のプリンタドライバを、それぞれ前記記憶部に記憶させる第１の工程と、
複数の前記第１のプリンタドライバの中から、所定の第１のプリンタドライバを選択し、選択した前記第１のプリンタドライバのプロパティ情報を前記記憶部から読み出してコピーすると共に、コピーした該プロパティ情報に含まれている、前記印刷ジョブを送信する際に指定すべき指定ポート番号を、前記特定のポート番号に変更することにより、前記分散元プリンタのプリンタドライバである第２のプリンタドライバを生成して、前記記憶部に記憶させる第２の工程と、
前記記憶部に記憶された複数のプリンタドライバの中から、各プリンタドライバのプロパティ情報に含まれている前記指定ポート番号に基づき、前記第１のプリンタドライバを抽出する第３の工程と、
抽出した前記第１のプリンタドライバについて、その第１のプリンタドライバと、前記プロパティ情報に含まれている、前記分散元プリンタを特定することが可能な識別情報が一致し、かつ、前記指定ポート番号が前記特定のポート番号であるプリンタドライバが、前記記憶部に記憶されているか否かを判定する第４の工程と、
記憶されていないと判定した場合に、その第１のプリンタドライバを、前記所定のプリンタドライバとして特定する第５の工程と、
を備えるプリンタドライバ検索方法。
【請求項８】
特定のポート番号を指定して送信されてきた印刷ジョブを、複数の分散先プリンタに分散することが可能な分散元プリンタに対し、該分散元プリンタのプリンタドライバを用いて前記印刷ジョブを送信し、前記プリンタドライバを記憶する記憶部を備えるコンピュータにおいて、前記分散元プリンタのプリンタドライバである第１のプリンタドライバから第２のプリンタドライバを生成するためのコンピュータプログラムであって、
前記記憶部から、前記第１のプリンタドライバのプロパティ情報を読み出してコピーする機能と、
コピーした該プロパティ情報に含まれている、前記印刷ジョブを送信する際に指定すべき指定ポート番号を、前記特定のポート番号に変更することにより、前記第２のプリンタドライバを生成する機能と、
を前記コンピュータに実現させるためのコンピュータプログラム。
【請求項９】
特定のポート番号を指定して送信されてきた印刷ジョブを、複数の分散先プリンタに分散することが可能な分散元プリンタに対し、該分散元プリンタのプリンタドライバを用いて、前記印刷ジョブを送信するコンピュータにおいて、前記コンピュータが備える記憶部に記憶されている複数のプリンタドライバの中から、所定のプリンタドライバを検索するためのコンピュータプログラムであって、
前記分散元プリンタが複数ある場合に、各分散元プリンタごとに、その分散元プリンタのプリンタドライバである第１のプリンタドライバを、それぞれ前記記憶部に記憶させる機能と、
複数の前記第１のプリンタドライバの中から、所定の第１のプリンタドライバを選択し、選択した前記第１のプリンタドライバのプロパティ情報を前記記憶部から読み出してコピーすると共に、コピーした該プロパティ情報に含まれている、前記印刷ジョブを送信する際に指定すべき指定ポート番号を、前記特定のポート番号に変更することにより、前記分散元プリンタのプリンタドライバである第２のプリンタドライバを生成して、前記記憶部に記憶させる機能と、
前記記憶部に記憶された複数のプリンタドライバの中から、各プリンタドライバのプロパティ情報に含まれている前記指定ポート番号に基づき、前記第１のプリンタドライバを抽出する機能と、
抽出した前記第１のプリンタドライバについて、その第１のプリンタドライバと、前記プロパティ情報に含まれている、前記分散元プリンタを特定することが可能な識別情報が一致し、かつ、前記指定ポート番号が前記特定のポート番号であるプリンタドライバが、前記記憶部に記憶されているか否かを判定する機能と、
記憶されていないと判定した場合に、その第１のプリンタドライバを、前記所定のプリンタドライバとして特定する機能と、
を前記コンピュータに実現させるためのコンピュータプログラム。
【請求項１０】
請求項８または請求項９に記載のコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークに接続された複数のプリンタに印刷ジョブを分散する分散印刷システムに関する。
【背景技術】
【０００２】
近年、複数の印刷装置を同一ネットワークに接続し、ユーザが複数の印刷装置を使い分けることができる印刷システムが普及しつつある。そして、このような印刷システムにおいて印刷ジョブを各印刷装置に分散して並行処理することにより、短時間で印刷を完了する、いわゆる分散印刷も提案されている（例えば、特許文献１参照）。
【０００３】
【特許文献１】特開２００２−２１５３６８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
前述の分散印刷を行う分散印刷システムとして、互いにネットワークに接続された複数のプリンタ，印刷ジョブを生成するクライアントコンピュータ，前述の複数のプリンタとは別の、分散印刷制御機能を有するプリンタ（以下、「分散元プリンタ」とも呼ぶ。）を備え、この分散元プリンタが、クライアントコンピュータから印刷ジョブを受信した場合に、複数のプリンタの中から分散先となるプリンタを決定し、決定した分散先プリンタに対して印刷ジョブを分散する分散印刷システムが提案されている。
【０００５】
このような分散印刷システムにおいて、分散元プリンタは、他の複数のプリンタと同様に、送信される印刷ジョブに基づいて印刷（通常印刷）することが可能であることから、分散元プリンタにおいて、クライアントコンピュータから受信した印刷ジョブが、分散すべき印刷ジョブなのか、又は分散せずに分散元プリンタで印刷すべき印刷ジョブなのかを識別する必要がある。そこで、分散元プリンタにおいて、印刷ジョブが送信されるときに指定される送信先ポート番号（以下、単に「ポート番号」とも呼ぶ。）によって、受信した印刷ジョブを分散すべきか又は印刷すべきかを識別する分散印刷システムが提案されている。
【０００６】
このように、ポート番号により印刷ジョブを分散すべきか又は印刷すべきかを識別する分散印刷システムでは、クライアントコンピュータにおいて、印刷ジョブを送信する際に、印刷種別（通常印刷，分散印刷）に応じたポート番号を指定する必要がある。
ここで、このポート番号は、クライアントコンピュータにインストールされたプリンタドライバプログラムにより実現される機能部が、そのプリンタドライバプログラム用の設定情報（以下、「プロパティ」と呼ぶ）を参照して指定する。従って、従来においては、各印刷種別毎に、対応するポート番号が設定されたプロパティを有するプリンタドライバを、予めクライアントコンピュータに用意しておく必要があった。
【０００７】
なお、分散元プリンタが、前述のポート番号ではなく、印刷ジョブを送信する際に用いられる印刷プロトコルによって、送信される印刷ジョブを分散すべきか又は印刷すべきかを識別する分散印刷システムにおいても、同様な課題が発生し得る。
【０００８】
本発明は、上述の課題を解決するためになされたものであり、クライアントコンピュータにおいて、各印刷種別（通常印刷，分散印刷）毎に、対応するプリンタドライバを用意しておくための技術を提供することを目的とする。
【課題を解決するための手段】
【０００９】
前述の課題の少なくとも一部を解決するために、本発明の第１のクライアントコンピュータは、特定のポート番号を指定して送信されてきた印刷ジョブを、複数の分散先プリンタに分散することが可能な分散元プリンタに対し、該分散元プリンタのプリンタドライバを用いて、前記印刷ジョブを送信するクライアントコンピュータであって、前記分散元プリンタのプリンタドライバである第１のプリンタドライバを記憶する記憶部と、外部からの指示に従い、前記記憶部から前記第１のプリンタドライバのプロパティ情報を読み出してコピーすると共に、コピーした該プロパティ情報に含まれている、前記印刷ジョブを送信する際に指定すべき指定ポート番号を、前記特定のポート番号に変更することにより、前記分散元プリンタのプリンタドライバである第２のプリンタドライバを生成するプリンタドライバ生成部と、を備えることを要旨とする。
【００１０】
このような構成とすることで、プリンタドライバ生成部は、分散元プリンタのプリンタドライバとして、プロパティ情報に含まれる指定ポート番号が特定のポート番号である第２のプリンタドライバを生成する。従って、クライアントコンピュータにおいて、分散元プリンタのプリンタドライバとして、プロパティ情報に含まれる指定ポート番号が互いに異なる、第１のプリンタドライバと、第２のプリンタドライバと、を用意することが可能となる。
それ故、クライアントコンピュータにおいて、印刷ジョブ送信時に用いるプリンタドライバを、第１のプリンタドライバ又は第２のプリンタドライバから選択して指定することで、特定のポート番号とは異なるポート番号又は特定のポート番号のいずれかを指定して、印刷ジョブを分散元プリンタに送信することが可能となる。
そして、分散元プリンタが、クライアントコンピュータから送信されてきた印刷ジョブを、分散先プリンタに分散するだけでなく、自分自身で印刷可能である場合において、特定のポート番号を指定して送信されてきた印刷ジョブは分散先プリンタに分散し、特定のポート番号とは異なるポート番号を指定して送信されてきた印刷ジョブは自分自身で印刷する場合、クライアントコンピュータにおいて、印刷ジョブ送信時に用いるプリンタドライバとして、第１のプリンタドライバを指定することで、分散元プリンタに対して印刷ジョブを印刷させることが可能となる。また、第２のプリンタドライバを指定することで、分散元プリンタに対して印刷ジョブを分散させることが可能となる。
【００１１】
本発明の第２のクライアントコンピュータは、特定の印刷プロトコルで送信されてきた印刷ジョブを、複数の分散先プリンタに分散することが可能な分散元プリンタに対し、該分散元プリンタのプリンタドライバを用いて、前記印刷ジョブを送信するクライアントコンピュータであって、前記分散元プリンタのプリンタドライバである第１のプリンタドライバを記憶する記憶部と、外部からの指示に従い、前記記憶部から前記第１のプリンタドライバのプロパティ情報を読み出してコピーすると共に、コピーした該プロパティ情報に含まれている、前記印刷ジョブを送信する際に用いるべき指定印刷プロトコルを、前記特定の印刷プロトコルに変更することにより、前記分散元プリンタのプリンタドライバである第２のプリンタドライバを生成するプリンタドライバ生成部と、を備えることを要旨とする。
【００１２】
このような構成とすることで、プリンタドライバ生成部は、分散元プリンタのプリンタドライバとして、プロパティ情報に含まれる指定印刷プロトコルが特定の印刷プロトコルである第２のプリンタドライバを生成する。従って、クライアントコンピュータにおいて、分散元プリンタのプリンタドライバとして、プロパティ情報に含まれる指定印刷プロトコルが互いに異なる、第１のプリンタドライバと、第２のプリンタドライバと、を用意することが可能となる。
それ故、クライアントコンピュータにおいて、印刷ジョブ送信時に用いるプリンタドライバを、第１のプリンタドライバ又は第２のプリンタドライバから選択して指定することで、特定の印刷プロトコルとは異なる印刷プロトコル、又は特定の印刷プロトコルのいずれかを選択して用いて、印刷ジョブを分散元プリンタに送信することが可能となる。
そして、分散元プリンタが、クライアントコンピュータから送信されてきた印刷ジョブを、分散先プリンタに分散するだけでなく、自分自身で印刷可能である場合において、特定の印刷プロトコルで送信されてきた印刷ジョブは分散先プリンタに分散し、特定の印刷プロトコルとは異なる印刷プロトコルで送信されてきた印刷ジョブは自分自身で印刷する場合、クライアントコンピュータにおいて、印刷ジョブ送信時に用いるプリンタドライバとして、第１のプリンタドライバを指定することで、分散元プリンタに対して印刷ジョブを印刷させることが可能となる。また、第２のプリンタドライバを指定することで、分散元プリンタに対して印刷ジョブを分散させることが可能となる。
【００１３】
なお、上記第１のクライアントコンピュータ、又は上記第２のクライアントコンピュータにおいて、前記プリンタドライバ生成部は、前記第２のプリンタドライバを生成する場合において、外部からの指示に従い、前記記憶部から前記第１のプリンタドライバの前記プロパティ情報を読み出してコピーすると共に、コピーした該プロパティ情報に含まれている、前記指定ポート番号または前記指定印刷プロトコルを変更する他に、更に、前記クライアントコンピュータが前記分散元プリンタに対し動作状態を問い合せするか否かを設定する問い合せ設定情報を、問い合せしないように変更するようにしてもよい。
【００１４】
このような構成とすることで、クライアントコンピュータにおいて、分散元プリンタに対し印刷ジョブを印刷させようとする場合に指定する第１のプリンタドライバは、分散元プリンタに対し動作状態を問い合せすることとなる。その結果、例えば、紙詰まりやトナー切れ等の理由で分散元プリンタが印刷できないような場合には、クライアントコンピュータから分散元プリンタに対して印刷ジョブを送信しないようにすることができる。
一方、分散元プリンタに対し印刷ジョブを分散させようとする場合に指定する第２のプリンタドライバは、分散元プリンタに対し動作状態を問い合せしないこととなる。このようにすることで、分散元プリンタの動作状態として、印刷はできないが印刷ジョブの分散は可能であるような場合にも、分散元プリンタに対して印刷ジョブを送信することが可能となり、分散先プリンタに印刷させることが可能となる。
【００１５】
本発明の第３のクライアントコンピュータは、特定のポート番号を指定して送信されてきた印刷ジョブを、複数の分散先プリンタに分散することが可能な分散元プリンタに対し、該分散元プリンタのプリンタドライバを用いて、前記印刷ジョブを送信するクライアントコンピュータであって、前記分散元プリンタが複数ある場合に、各分散元プリンタごとに、その分散元プリンタのプリンタドライバである第１のプリンタドライバを、それぞれ記憶する記憶部と、複数の前記第１のプリンタドライバの中から、外部からの指示に従って所定の第１のプリンタドライバを選択し、選択した前記第１のプリンタドライバのプロパティ情報を前記記憶部から読み出してコピーすると共に、コピーした該プロパティ情報に含まれている、前記印刷ジョブを送信する際に指定すべき指定ポート番号を、前記特定のポート番号に変更することにより、前記分散元プリンタのプリンタドライバである第２のプリンタドライバを生成して、前記記憶部に記憶させるプリンタドライバ生成部と、前記記憶部に記憶された複数のプリンタドライバの中から、対応する前記第２のプリンタドライバが生成されていない前記第１のプリンタドライバを、未生成ドライバとして検索する検索部と、を備え、前記検索部は、前記記憶部に記憶された複数の前記プリンタドライバの中から、各プリンタドライバのプロパティ情報に含まれている前記指定ポート番号に基づき、前記第１のプリンタドライバを抽出し、抽出した前記第１のプリンタドライバについて、その第１のプリンタドライバと、前記プロパティ情報に含まれている、前記分散元プリンタを特定することが可能な識別情報が一致し、かつ、前記指定ポート番号が前記特定のポート番号であるプリンタドライバが、前記記憶部に記憶されているか否かを判定し、記憶されていないと判定した場合に、その第１のプリンタドライバを、前記未生成ドライバとして特定することを要旨とする。
【００１６】
このような構成とすることで、記憶部には、複数の分散元プリンタごとの第１のプリンタドライバの他、プリンタドライバ生成部により生成された第２のプリンタドライバが記憶されることとなる。ここで、第２のプリンタドライバは、プリンタドライバ生成部により、コピーした第１のプリンタドライバのプロパティ情報に含まれる指定ポート番号を、特定のポート番号に変更して生成されるので、検索部は、記憶部に記憶されていた複数のプリンタドライバの中から、指定ポート番号に基づいて、第１のプリンタドライバを抽出することができる。
そして、検索部は、抽出した第１のプリンタドライバについて、分散元プリンタを特定可能な識別情報が一致し、かつ、指定ポート番号が特定のポート番号であるプリンタドライバが記憶部に記憶されているか否かを判定し、記憶されていないと判定した第１のプリンタドライバを未生成ドライバとして特定するようにしている。その結果、識別情報が一致し、かつ、指定ポート番号が特定のポート番号である第２のプリンタドライバが記憶部に記憶されていない第１のプリンタドライバを、特定することが可能となる。
【００１７】
なお、上記第３のクライアントコンピュータにおいて、前記検索部が特定した前記未生成ドライバの一覧を表示するユーザインタフェースを備えることが好ましい。
【００１８】
このような構成とすることで、ユーザは、未生成ドライバとして特定された第１のプリンタドライバの一覧を、このユーザインタフェースによって確認することができる。
ここで、分散元プリンタが、特定のポート番号を指定して送信されてきた印刷ジョブは分散先プリンタに分散し、特定のポート番号とは異なるポート番号を指定して送信されてきた印刷ジョブは自分自身で印刷する場合には、クライアントコンピュータにおいて、印刷ジョブ送信時に第１のプリンタドライバを指定することで、分散元プリンタに対して印刷ジョブを印刷させることができ、また、第２のプリンタドライバを指定することで、分散元プリンタに対して印刷ジョブを分散させることができる。
従って、この場合、ユーザは、分散させるべき印刷ジョブを送信しようとするプリンタについて、指定すべき第２のプリンタドライバが記憶部に記憶されているか否かを、このユーザインタフェースにより簡単に確認することができる。
【００１９】
なお、本発明は、上記したクライアントコンピュータなどの装置発明の態様に限ることなく、プリンタドライバ生成方法やプリンタドライバ検索方法などの方法発明としての態様で実現することも可能である。さらには、それら方法や装置を構成するためのコンピュータプログラムとしての態様や、そのようなコンピュータプログラムを記録した記録媒体としての態様や、上記コンピュータプログラムを含み搬送波内に具現化されたデータ信号など、種々の態様で実現することも可能である。
【００２０】
本発明をコンピュータプログラムまたはそのプログラムを記録した記録媒体等として構成する場合には、クライアントコンピュータを制御するプログラム全体として構成するものとしてもよいし、本発明の機能を果たす部分のみを構成するものとしてもよい。また、記録媒体としては、ＲＯＭカートリッジ、パンチカード、バーコードなどの符合が印刷された印刷物、コンピュータの内部記憶装置（ＲＡＭやＲＯＭなどのメモリ）および外部記憶装置などコンピュータが読み取り可能な種々の媒体を利用できる。
【発明を実施するための最良の形態】
【００２１】
以下、本発明を実施するための最良の形態を実施例に基づいて以下の順序で説明する。
Ａ．実施例：
Ａ１．分散印刷システムの概要構成と分散印刷処理の概要：
Ａ２．クライアントの構成：
Ａ３．プリンタドライバ生成処理：
Ａ４．実施例の効果：
Ｂ．変形例：
【００２２】
Ａ．実施例：
Ａ１．分散印刷システムの概要構成と分散印刷処理の概要：
図１は、本発明の一実施例としての分散印刷システムの構成を示す説明図である。この分散印刷システムでは、図示するように、クライアントコンピュータ（以下、クライアントと略す）ＣＬと、プリンタＰＲＴ１〜ＰＲＴ４と、を備えており、クライアントＣＬ及びプリンタＰＲＴ１〜ＰＲＴ４は、ローカルエリアネットワークＬＡＮ１に接続されている。これらの各機器には、それぞれ、ＩＰアドレスが予め固定で割り振られている。説明の便宜上、クライアントＣＬには「ＩＰｃ」、プリンタＰＲＴ１〜ＰＲＴ４には、それぞれ「ＩＰ１」〜「ＩＰ４」なるアドレスが設定されているものとする。
【００２３】
これらプリンタのうち、プリンタＰＲＴ１，ＰＲＴ４には、カスタムネットワークボードＣＮＢが取り付けられている。このカスタムネットワークボードＣＮＢは、印刷ジョブを受信した場合に、この印刷ジョブの分散先となる分散先プリンタを決定して印刷ジョブを分散し、分散印刷を実行するための分散印刷制御機能を備えている。一方、他のプリンタＰＲＴ２，３には、それぞれ、標準のネットワークボード（図示せず）が取り付けられている。
なお、図１に示すように、プリンタＰＲＴ１〜ＰＲＴ３の機種名は「ＬＰ９８００Ｃ」であり、プリンタＰＲＴ４の機種名は「ＬＰ９０００Ｃ」である。
【００２４】
この分散印刷システムでは、分散印刷として、「部数分散印刷」及び「コピー分散印刷」の２種類の印刷方法を採用している。そして、クライアントＣＬには、同じ機種のプリンタについて、通常印刷時に用いる通常印刷ドライバ、部数分散印刷時に用いる部数分散ドライバ、コピー分散印刷時に用いるコピー分散ドライバ、の３種類のプリンタドライバが用意され、印刷実行時に、印刷種別（通常印刷，部数分散印刷，コピー分散印刷）に応じたドライバが指定されて用いられる。
以下、前述の部数分散印刷及びコピー分散印刷の処理について、この順番で簡単に説明する。
【００２５】
図１では、部数分散印刷の一例として、クライアントＣＬからプリンタＰＲＴ１に、印刷ジョブを含む通信データＤＴ０が送信される場合を例示した。
ユーザがクライアントＣＬに対し、プリンタＰＲＴ１用の部数分散ドライバを指定して、印刷部数「３０部」を部数分散印刷するように印刷命令を出すと、指定されたプリンタドライバプログラムによって実現される機能部（以下、単に「プリンタドライバ」とも呼ぶ。）が、印刷部数情報を含む印刷ジョブを、印刷プロトコルに従って通信データＤＴ０としてプリンタＰＲＴ１に送信する。このとき、プリンタドライバは、通信データＤＴ０において、送信先ＩＰアドレスとして「ＩＰ１」を、プリンタＰＲＴ１における送信先ソフトウェアを特定するポート番号（送信先ポート番号）として「５９１００」を、それぞれ指定する。
従って、図１に示すように、通信データＤＴ０のヘッダ部には、指定された送信先ＩＰアドレス「ＩＰ１」及び指定された送信先ポート番号「５９１００」が、通信データＤＴ０の印刷ジョブデータには、指定された印刷部数情報である印刷部数を表すＱＴ値として「３０」が、それぞれ記載される。
【００２６】
本実施例では、印刷プロトコルとして無手順プロトコルを用いている。無手順プロトコルでは、通常、ポート番号として「９１００」が割り振られているが、本実施例では、クライアントＣＬから分散印刷制御機能を有するプリンタＰＲＴ１に、部数分散させるべき印刷ジョブを送信する際、ポート番号として通常の「９１００」ではなく「５９１００」を用いる。
【００２７】
プリンタＰＲＴ１のカスタムネットワークボードＣＮＢは、この通信データＤＴ０を受信すると、ポート番号「５９１００」に待機しているソフトウェアに、印刷ジョブデータを渡す。本実施例では、ポート「５９１００」には、分散印刷制御機能を実現し、部数分散を行うための分散印刷ソフトウェアが待機している。そして、この分散印刷ソフトウェアに従ってＣＰＵにより実現される機能部が、まず、印刷ジョブデータをメモリ（図示せず）に格納する。そして、ローカルエリアネットワークＬＡＮ１に接続されているプリンタの中から、「オンライン状態である」，「プリンタＰＲＴ１と同一機種のプリンタである」等の所定の条件を満たすプリンタを検索し、分散先プリンタを決定する。
【００２８】
そして、例えば、分散先プリンタとして、プリンタＰＲＴ２，ＰＲＴ３の他、自己のプリンタＰＲＴ１が決定されたとすると、上記機能部は、プリンタＰＲＴ１〜ＰＲＴ３の３台で上記３０部を分散させて印刷させるために、印刷ジョブデータに含まれるＱＴ値を「１０部」に変更すると共に、送信先ポート番号を「５９１００」ではなく、「９１００」に変更し、プリンタＰＲＴ１〜ＰＲＴ３に対して、通信データＤＴ１〜ＤＴ３を送信する。
【００２９】
一方、プリンタＰＲＴ２の標準ネットワークボードは、前述の通信データＤＴ２を受信すると、ポート番号「９１００」に待機しているソフトウェアに、印刷ジョブデータを渡す。ポート番号「９１００」は、前述したとおり、印刷プロトコルである無手順プロトコルに対して、通常割り当てられているポート番号であるので、印刷ジョブデータは、プリンタＰＲＴ２内の印刷制御ソフトウェアに渡されて、その印刷ジョブに従った印刷が実行される。
【００３０】
他のプリンタＰＲＴ３はもちろんのこと、分散印刷制御機能を有するプリンタＰＲＴ１においても、同様に、送信された印刷ジョブに従った印刷が実行される。
従って、各プリンタＰＲＴ１〜ＰＲＴ３では、それぞれ、１０部ずつの印刷が実行されることになり、システム全体で、合計「３０部」の分散印刷が実行されることになる。
【００３１】
次に、コピー分散印刷の処理について説明する。
ユーザがクライアントＣＬに対し、プリンタＰＲＴ１用のコピー分散ドライバを指定して、印刷部数「３０部」をコピー分散印刷するように印刷命令を出すと、プリンタドライバが、印刷部数情報を含む印刷ジョブを、印刷プロトコルに従って通信データとしてプリンタＰＲＴ１に送信する。この場合、クライアントＣＬから送信される通信データは、送信先ポート番号として、通常印刷で用いる「９１００」又は部数分散で用いる「５９１００」ではなく、「５９１０１」が用いられる。なお、このポート番号以外は、上述した部数分散における通信データと同じである。
【００３２】
プリンタＰＲＴ１のカスタムネットワークボードＣＮＢは、この通信データを受信すると、ポート番号「５９１０１」に待機しているソフトウェアに、印刷ジョブデータを渡す。本実施例では、ポート「５９１０１」には、分散印刷制御機能を実現し、コピー分散を行うための分散印刷ソフトウェアが待機している。次に、この分散印刷ソフトウェアに従ってＣＰＵにより実現される機能部は、上述した部数分散と同様にして分散先プリンタを決定する。
【００３３】
そして、例えば、分散先プリンタとして、プリンタＰＲＴ２，ＰＲＴ３の他、自己のプリンタＰＲＴ１が決定されたとすると、上記機能部は、プリンタＰＲＴ１〜ＰＲＴ３において、それぞれ指定されたＱＴ値だけ印刷させるために、上述した部数分散とは異なり、ＱＴ値を変更せずに、送信先ポート番号を「５９１０１」から「９１００」に変更した通信データを、プリンタＰＲＴ１〜ＰＲＴ３に対して送信する。
なお、各分散先プリンタであるプリンタＰＲＴ１〜ＰＲＴ３における印刷処理は、上述した部数分散における処理と同じであるので説明を省略する。
【００３４】
以上の処理の結果、各プリンタＰＲＴ１〜ＰＲＴ３では、それぞれ、３０部ずつの印刷が実行されることになり、システム全体で、合計「９０部」の分散印刷が実行されることになる。このように、コピー分散印刷では、部数分散印刷に比べて大量の部数を印刷することが可能となる。従って、ユーザは、一度に大量の部数を印刷させたい場合に、このコピー分散印刷を用いる。
【００３５】
Ａ２．クライアントの構成：
図２は図１におけるクライアントＣＬの構成を示す説明図である。
クライアントＣＬは、コンピュータ１００と、コンピュータ１００にデータを入力する装置として、キーボード１１０，マウス１１１，ＣＤ−ＲＯＭドライブ１１２と、データを出力する装置としてディスプレイ１１３と、を備えている。
コンピュータ１００は、主として、ＣＰＵ１０１，ハードディスク１０２，メモリ１０３，入出力インタフェース部１０４を備えており、それぞれ内部バス１０５に接続されている。ここで、入出力インタフェース部１０４は、コンピュータ１００に対して、前述のキーボード１１０，マウス１１１，ＣＤ−ＲＯＭドライブ１１２，ディスプレイ１１３、及びローカルエリアネットワークＬＡＮ１をそれぞれ接続するためのインタフェース群から成る。
【００３６】
クライアントＣＬでは、所定のオペレーティングシステムの下、アプリケーションプログラムが実行される。なお、オペレーティングシステムには、各種ドライバが組み込まれ、前述のキーボード１１０，マウス１１１，ＣＤ−ＲＯＭドライブ１１２，ディスプレイ１１３が、それぞれ制御される。
そして、前述のアプリケーションプログラムが起動され、メモリ１０３にロードされると、ＣＰＵ１０１は、このアプリケーションプログラムを実行することにより、検索部１０１ａ，プリンタドライバ生成部１０１ｂ，ドライバ指定ウィンドウ生成部１０１ｃとして機能することになる。
【００３７】
前述のハードディスク１０２には、ユーザが使用したいと所望するプリンタについてのプリンタドライバｄｒ１０〜ｄｒ１２，ｄｒ２０，ｄｒ３０が、予め記憶されている。これらのプリンタドライバは、プログラムであるドライバ本体と、ドライバ本体に付随したプロパティと、から成る。このうち、プロパティは、通信データの送信先となるプリンタのＩＰアドレス，通信データの送信先となるプリンタの機種名，通信データを送信する際に指定するポート番号などの各種設定値から成る。図１では、説明の便宜上、各種設定値のうち、「ＩＰアドレス」，「機種名」，「ポート番号」についての設定値のみを記載している。
なお、図１に破線で示すプリンタドライバｄｒ３１，ｄｒ３２については、後ほど説明する。
【００３８】
前述のドライバｄｒ１０〜ｄｒ１２，ｄｒ２０，ｄｒ３０のうち、ドライバｄｒ１０，ｄｒ２０，ｄｒ３０は通常印刷ドライバであり、ドライバｄｒ１１は部数分散ドライバであり、ドライバｄｒ１２はコピー分散ドライバである。
使用したいと所望するプリンタの機種が、「ＬＰ９８００Ｃ」，「ＬＰ９０００Ｃ」，「ＬＰ９２００Ｃ」である場合、ユーザは、図２に示すＣＤ−ＲＯＭドライブ１１２に挿入されたＣＤ−ＲＯＭから、それぞれの機種に応じたドライバをインストールする。このとき、インストールされたそれぞれのドライバのプロパティにおいて、ポート番号は、通常印刷用の「９１００」が初期設定されている。そして、使用したいと所望するプリンタのＩＰアドレスを、インストールした各ドライバのプロパティに手動で設定することにより、それぞれのプリンタ用の通常印刷ドライバが生成される。
【００３９】
ユーザが、プリンタＰＲＴ１及びプリンタＰＲＴ４を使用しようとする場合、このようにして、ドライバｄｒ１０，ｄｒ３０が、それぞれ生成されてハードディスク１０２に記憶されることとなる。
なお、ドライバｄｒ２０については、プリンタＰＲＴ１と同じＩＰアドレスが設定されている。これは、プリンタの入れ替えにより、プリンタＰＲＴ１に代えて、他の機種のプリンタ（以下、「他機種プリンタ」と呼ぶ。）に対してこのＩＰアドレスが割り振られる可能性がある場合に、前もって、この他機種プリンタ用の通常印刷ドライバを用意しておくために、ＩＰアドレスを一致させて設定しているからである。
【００４０】
このようにして生成されたドライバｄｒ１０，ｄｒ２０，ｄｒ３０は、プロパティにおいて、ポート番号として「９１００」が設定されている。従って、これらドライバｄｒ１０，ｄｒ２０，ｄｒ３０によって送信される通信データにおいては、送信先ポート番号として「９１００」が指定されることになるので、この通信データを受信したプリンタでは通常印刷が行われる。
【００４１】
一方、部数分散ドライバであるドライバｄｒ１１、及びコピー分散ドライバであるドライバｄｒ１２は、後述するプリンタドライバ生成処理において、通常印刷ドライバであるドライバｄｒ１０を基にして、ドライバ本体は共通で、プロパティを変更することにより生成されてハードディスク１０２に記憶される。
【００４２】
なお、ドライバｄｒ１１は、プロパティにおいて、ポート番号として「５９１００」が設定されることになる。従って、ドライバｄｒ１１によって送信される通信データにおいては、送信先ポート番号として「５９１００」が指定されることになるので、この通信データを受信したプリンタでは、部数分散印刷が行われる。また、ドライバｄｒ１２は、プロパティにおいて、ポート番号として「５９１０１」が設定されることになる。従って、ドライバｄｒ１２によって送信される通信データにおいては、送信先ポート番号として「５９１０１」が指定されることになるので、この通信データを受信したプリンタでは、コピー分散印刷が行われる。
【００４３】
Ａ３．プリンタドライバ生成処理：
続いて、本発明の特徴部分である、プリンタドライバ生成処理について、図３〜図５を用いて説明する。
ユーザが図１に示すプリンタＰＲＴ１に代えて、プリンタＰＲＴ４を分散元プリンタとして使用しようとする場合、このプリンタＰＲＴ４用の部数分散ドライバ及びコピー分散ドライバが、予めクライアントＣＬのハードディスク１０２に記憶されていなければならない。しかしながら、このプリンタＰＲＴ４を分散元プリンタとして初めて使用する場合などには、ユーザが、これらのドライバがハードディスク１０２に記憶されているか否かを知らない場合がある。この場合、ユーザは、クライアントＣＬにおいて、プリンタドライバを生成するためのアプリケーションプログラムを起動する。
そして、このアプリケーションプログラムが起動されると、図２に示す検索部１０１ａにより、前処理として、未生成ドライバ検索処理が実行される。この未生成ドライバ検索処理は、ハードディスク１０２に記憶された通常印刷ドライバのうち、その通常印刷ドライバに基づいて生成された、対応する部数分散ドライバ及びコピー分散ドライバがハードディスク１０２に記憶されていない通常印刷ドライバを検索する処理である。
【００４４】
図３は、検索部１０１ａにより実行される未生成ドライバ検索処理の手順を示すフローチャートである。
図３に示す未生成ドライバ検索処理が開始されると、図２に示す検索部１０１ａは、ハードディスク１０２に記憶されているドライバのうち、ポート番号として「９１００」が設定されているドライバを抽出し、抽出したドライバの識別情報として、設定されているＩＰアドレス及び機種名を、メモリ１０３に記憶させる（ステップＳ１０２）。
【００４５】
このようにすることで、まず、ハードディスク１０２に記憶されている複数のプリンタドライバの中から、通常印刷ドライバを抽出するようにしている。従って、図２に示す例では、ドライバｄｒ１０，ｄｒ２０，ｄｒ３０が通常印刷ドライバであり、ポート番号として「９１００」が設定されているので、検索部１０１ａは、これらドライバｄｒ１０，ｄｒ２０，ｄｒ３０を抽出することになる。従って、検索部１０１ａは、これらのドライバｄｒ１０，ｄｒ２０，ｄｒ３０に設定されているＩＰアドレス及び機種名である、「ＩＰ１，ＬＰ９８００Ｃ」、「ＩＰ１，ＬＰ９２００Ｃ」、「ＩＰ４，ＬＰ９０００Ｃ」をメモリ１０３に記憶させる。
【００４６】
次に、検索部１０１ａは、メモリ１０３から抽出したドライバのＩＰアドレス及び機種名を読み出し、読み出したＩＰアドレス及び機種名に基づき、抽出した各ドライバについて、対応する下記の２つのドライバのいずれもが、ハードディスク１０２に記憶されているか否かを判定する（ステップＳ１０４）。
１）ＩＰアドレス及び機種名が同一で、かつ、ポート番号が「５９１００」のドライバ
２）ＩＰアドレス及び機種名が同一で、かつ、ポート番号が「５９１０１」のドライバ
【００４７】
このようにすることで、抽出した各通常印刷ドライバについて、対応する部数分散ドライバ及びコピー分散ドライバの両方ともハードディスク１０２に記憶されているか否かを判定するようにしている。
【００４８】
次に検索部１０１ａは、上記２つのドライバの両方ともハードディスク１０２に記憶されていない通常印刷ドライバを未生成ドライバとして特定し、特定した未生成ドライバの識別情報として、ＩＰアドレス及び機種名をメモリ１０３に記憶させる（ステップＳ１０６）。
この場合、上記１）に当てはまるドライバのみハードディスク１０２に記憶されている通常印刷ドライバ、上記２）に当てはまるドライバのみハードディスク１０２に記憶されている通常印刷ドライバ、上記１）及び２）に当てはまるドライバのいずれもがハードディスク１０２に記憶されているドライバ、は未生成ドライバとして特定されない。
【００４９】
図２に示すように、ドライバｄｒ１０については、ＩＰアドレス及び機種名が同一で、かつ、ポート番号が「５９１００」及び「５９１０１」のドライバとして、ドライバｄｒ１１及びドライバｄｒ１２が、それぞれハードディスク１０２に記憶されている。一方、ドライバｄｒ２０，ｄｒ３０については、上記２つのドライバはいずれもハードディスク１０２に記憶されていない。
従って、検索部１０１ａは、ドライバｄｒ２０，ｄｒ３０を未生成ドライバとして特定し、「ＩＰ１，ＬＰ９２００Ｃ」、「ＩＰ４，ＬＰ９０００Ｃ」をメモリ１０３に記憶させる。
【００５０】
以上の未生成ドライバ検索処理の結果、対応する部数分散ドライバ及びコピー分散ドライバの両方がハードディスク１０２に記憶されていない通常印刷ドライバが特定される。
そして、未生成ドライバが特定されると、図２に示すドライバ指定ウィンドウ生成部１０１ｃは、メモリ１０３から未生成ドライバについてのＩＰアドレス及び機種名を読み出し、読み出したＩＰアドレス及び機種名に基づき、部数分散ドライバ及びコピー分散ドライバを生成すべき、対応する通常印刷ドライバを指定するためのドライバ指定ウィンドウを生成し、ディスプレイ１１３に表示させる。
【００５１】
図４は、ドライバ指定ウィンドウ生成部１０１ｃにより生成されたドライバ指定ウィンドウを示す説明図である。
図４に示すドライバ指定ウィンドウＷ１は、プルダウンボタンＰＢ１を有するリスト表示部Ｌ１，部数分散ドライバの生成を指定するチェックボックスＣＢ１，コピー分散ドライバの生成を指定するチェックボックスＣＢ２，設定ボタンＢ１，キャンセルボタンＢ２を備える。
【００５２】
ユーザが、図２に示すマウス１１１を用いてプルダウンボタンＰＢ１を押下すると、リスト表示部Ｌ１に未生成ドライバの一覧が表示される。前述のように、ドライバｄｒ２０，ｄｒ３０が未生成ドライバとして特定された場合には、図４に示すように、リスト表示部Ｌ１には、ドライバｄｒ２０，ｄｒ３０を特定するための情報として、それぞれのプロパティに設定された機種名及びＩＰアドレスが表示される。従って、ユーザは、プリンタＰＲＴ４用の部数分散ドライバ及びコピー分散ドライバが、ハードディスク１０２に記憶されていないことを知る。
【００５３】
そこで、ユーザは、マウス１１１を用いて、リスト表示部Ｌ１においてプリンタＰＲＴ４用の通常印刷ドライバであるドライバｄｒ３０（ＬＰ９０００Ｃ（ＩＰ４））を指定し、チェックボックスＣＢ１，ＣＢ２にチェックを入れて、設定ボタンＢ１を押下する。そして、設定ボタンＢ１が押下されると、ドライバ指定ウィンドウ生成部１０１ｃは、指定されたドライバｄｒ３０のプロパティに設定されたＩＰアドレス（ＩＰ４），機種名（ＬＰ９０００Ｃ），生成すべきドライバとして指定されたドライバ種別（部数分散及びコピー分散）を、メモリ１０３に記憶させる。
このようにして、ユーザにより指定されたＩＰアドレス，機種名，ドライバの種別がメモリ１０３に記憶されると、図２に示すプリンタドライバ生成部１０１ｂによって、プリンタドライバ生成処理が実行される。
【００５４】
図５は、プリンタドライバ生成部１０１ｂにより実行されるプリンタドライバ生成処理の手順を示すフローチャートである。
図５に示すプリンタドライバ生成処理が開始されると、図２に示すプリンタドライバ生成部１０１ｂは、メモリ１０３から、指定されたＩＰアドレス，機種名，ドライバの種別を読み出すと共に、読み出したＩＰアドレス及び機種名で特定される通常印刷ドライバのプロパティをハードディスク１０２から読み出し、メモリ１０３にコピーする（ステップＳ２０２）。
前述のように、メモリ１０３に「ＩＰ４」，「ＬＰ９０００Ｃ」，「部数分散及びコピー分散」が記憶されている場合、プリンタドライバ生成部１０１ｂは、ハードディスク１０２からドライバｄｒ３０のプロパティを読み出し、メモリ１０３にコピーする。
【００５５】
次に、プリンタドライバ生成部１０１ｂは、コピーしたプロパティのうち、ポート番号を、「９１００」から、指定された分散種別に応じたポート番号に変更する（ステップＳ２０４）。前述のように、分散種別として「部数分散」及び「コピー分散」の両方が指定されている場合、プリンタドライバ生成部１０１ｂは、まず、ポート番号を「９１００」から部数分散印刷用の「５９１００」に変更する。
【００５６】
次に、プリンタドライバ生成部１０１ｂは、指定された全ての分散種別について、ポート番号を変更したかを判定し（ステップＳ２０６）、全ての分散種別についてポート番号を変更していない場合、再びステップＳ２０２及びステップＳ２０４の処理を実行する。前述のように、「部数分散」及び「コピー分散」の両方が指定されている場合、再びドライバｄｒ３０のプロパティがメモリ１０３にコピーされ、今度は、ポート番号が「９１００」からコピー分散印刷用の「５９１０１」に変更される。
【００５７】
次に、プリンタドライバ生成部１０１ｂは、変更したプロパティをハードディスク１０２に記憶させる（ステップＳ２０８）。
前述のように、ポート番号が「５９１００」に変更されたプロパティと、ポート番号が「５９１０１」に変更されたプロパティと、がメモリ１０３に記憶されている場合、これら２つのプロパティはハードディスク１０２に記憶されることとなる。そして、これらのプロパティは、ハードディスク１０２においてドライバソフトウェアと関連付けられ、新たな２つのドライバが生成されることとなる。
【００５８】
以上説明したプリンタドライバ生成処理の結果、ハードディスク１０２には、図２の破線で示すように、プリンタＰＲＴ４用の部数分散ドライバであるドライバｄｒ３１と、プリンタＰＲＴ４用のコピー分散ドライバであるドライバｄｒ３２と、が記憶されることとなる。従って、ユーザは、印刷時にこれらドライバを指定することにより、プリンタＰＲＴ４において、部数分散印刷又はコピー分散印刷を実行させることが可能となる。
【００５９】
Ａ４．実施例の効果：
以上説明したように、クライアントＣＬにおいて、検索部１０１ａは、対応する部数分散ドライバ及びコピー分散ドライバが生成されていない通常印刷ドライバを、ハードディスク１０２に記憶されている複数のプリンタドライバの中から検索して特定する。そして、ドライバ指定ウィンドウ生成部１０１ｃは、ドライバ指定ウィンドウＷ１を生成してディスプレイ１１３に表示し、検索部１０１ａが特定した通常印刷ドライバの一覧を、このドライバ指定ウィンドウＷ１において示すようにしている。従って、ユーザは、分散元プリンタとして使用しようとするプリンタについて、部数分散ドライバ及びコピー分散ドライバが生成されているか否かを簡単に確認することができる。
【００６０】
また、ドライバ指定ウィンドウＷ１において、ユーザが通常印刷用ドライバと、ドライバ種別と、を指定すると、プリンタドライバ生成部１０１ｂは、プリンタドライバ生成処理を実行して、指定された通常印刷ドライバに対応する、指定された部数分散ドライバ又はコピー分散ドライバを生成する。従って、ユーザは、簡便な方法で所望するドライバをクライアントコンピュータに用意することができる。
【００６１】
Ｂ．変形例：
なお、本発明は、前述の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において、種々の態様において実施することが可能であり、例えば以下のような変形も可能である。
【００６２】
Ｂ１．変形例１：
上述した実施例では、分散元プリンタにおいて、クライアントから印刷ジョブが送信されるときに指定されるポート番号によって、受信した印刷ジョブを分散すべきか又は印刷すべきかを識別するようにしていたが、ポート番号に代えて、印刷ジョブを送信する際に用いる印刷プロトコルによって、識別するようにしてもよい。
【００６３】
具体的には、例えば、用いられる印刷プロトコルが、前述の無手順プロトコルの場合は印刷すべきと識別し、ＬＰＲ（Line PRinter daemon protocol）の場合は、分散すべきと識別するようにする。そして、この場合、通常印刷の際に指定するドライバとして、プロパティにおける「指定印刷プロトコル」を「無手順プロトコル」に設定したドライバを、また、分散印刷の際に指定するドライバとして、前述の「指定印刷プロトコル」を「ＬＰＲ」に設定したドライバを、それぞれクライアントに用意しておけばよい。
そして、未生成ドライバ検索処理では、通常印刷ドライバのうち、前述の「指定印刷プロトコル」が「ＬＰＲ」に設定された、対応する分散印刷ドライバがハードディスクに記憶されていない通常印刷ドライバを、未生成ドライバとして検索して特定するようにすればよい。また、プリンタドライバ生成処理では、コピーした通常印刷ドライバのプロパティのうち、前述の「指定印刷プロトコル」について、「無手順プロトコル」から「ＬＰＲ」に変更するようにすればよい。
【００６４】
Ｂ２．変形例２：
上述した実施例では、部数分散ドライバ及びコピー分散ドライバは、通常印刷ドライバのプロパティのうち、ポート番号を変更して生成するようにしていたが、ポート番号と共に、プリンタに対し定期的に動作状態を問い合せするか否かを設定するための情報（以下、「問い合せ設定情報」と呼ぶ。）を変更して生成するようにしてもよい。
具体的には、例えば、図２に示す通常印刷ドライバであるドライバｄｒ１０，ｄｒ２０，ｄｒ３０には、前述の問い合せ設定情報を「有効（問い合せする）」と設定しておき、ドライバｄｒ１０のプロパティのうち、ポート番号を上述した実施例のように変更すると共に、この問い合せ設定情報を「無効（問い合せしない）」と変更することにより、ドライバｄｒ１１，ｄｒ１２を生成するようにしてもよい。
【００６５】
この場合、例えば、ドライバｄｒ１０は、問い合せ設定情報が「有効」に設定されているので、プリンタＰＲＴ１に定期的に動作状態を問い合せるようになる。その結果、プリンタＰＲＴ１において紙詰まり等の故障や、トナー切れ等が発生して印刷不可能な状態となった場合に、ドライバｄｒ１０は、この問い合せにより、プリンタＰＲＴ１が印刷不可能な状態であることを知る。そして、この場合、ドライバｄｒ１０は、プリンタＰＲＴ１に送るべき印刷ジョブがあっても、この印刷ジョブをプリンタＰＲＴ１に送信せずにメモリに蓄積しておき、プリンタＰＲＴ１が印刷可能な状態に戻ったことを確認した後に、蓄積しておいた印刷ジョブをプリンタＰＲＴ１に送信する。このようにすることで、プリンタＰＲＴ１が印刷できない状態であるにも関わらず通常印刷用の印刷ジョブを送信することを避けることができる。
【００６６】
一方、分散印刷においては、例えば、プリンタＰＲＴ１において、紙詰まりやトナー切れ等で印刷不可能であっても、他の印刷可能な分散先プリンタがある場合には、プリンタＰＲＴ１のカスタムネットワークボードＣＮＢは、受信した印刷ジョブを、これら印刷可能な分散先プリンタに分散することができる。しかしながら、ドライバｄｒ１１，ｄｒ１２において、問い合せ設定情報が「有効」に設定されていた場合、プリンタＰＲＴ１が印刷不可能な状態であれば、たとえプリンタＰＲＴ１において印刷ジョブを分散可能であっても、印刷ジョブをプリンタＰＲＴ１に送信しないようにしてしまう。
そこで、分散印刷（部数分散及びコピー分散）用ドライバにおいては、問い合せ設定情報を「無効」にするようにする。
【００６７】
Ｂ３．変形例３：
上述した実施例における未生成ドライバ検索処理では、まず、ポート番号が「９１００」である通常印刷ドライバを全て抽出して、次に抽出した各通常印刷ドライバについて、それぞれ、対応する部数分散ドライバ及びコピー分散ドライバがハードディスク１０２に記憶されているか否かを判定するようにしていたが、本発明はこれに限定されるものではない。
ポート番号が「９１００」である通常印刷ドライバを１つ抽出する度に、対応する部数分散ドライバ及びコピー分散ドライバがハードディスク１０２に記憶されているか否かを判定するようにしてもよい。
【００６８】
Ｂ４．変形例４：
上述した実施例では、クライアントＣＬは、通常印刷時に、プロパティのポート番号として「９１００」が設定されたドライバを指定し、分散印刷（部数分散又はコピー分散）時に、「５９１００」又は「５９１０１」が設定されたドライバを指定するようにしていたが、本発明はこれに限定するものではない。
例えば、分散元プリンタにおいて、ポート番号として「９１００」を指定して送信された印刷ジョブを分散すべき印刷ジョブであると識別し、また、「５９１００」を指定して送信された印刷ジョブを印刷すべき印刷ジョブであると識別するようにしている場合には、クライアントは、通常印刷時に、プロパティのポート番号として「５９１００」又は「５９１０１」が設定されたドライバを指定し、分散印刷時に、「９１００」が設定されたドライバを指定するようにすればよい。
【図面の簡単な説明】
【００６９】
【図１】本発明の一実施例としての分散印刷システムの構成を示す説明図。
【図２】図１におけるクライアントＣＬの構成を示す説明図。
【図３】検索部１０１ａにより実行される未生成ドライバ検索処理の手順を示すフローチャート。
【図４】ドライバ指定ウィンドウ生成部１０１ｃにより生成されたドライバ指定ウィンドウを示す説明図。
【図５】プリンタドライバ生成部１０１ｂにより実行されるプリンタドライバ生成処理の手順を示すフローチャート。
【符号の説明】
【００７０】
１００...コンピュータ
１０１...ＣＰＵ
１０１ａ...検索部
１０１ｂ...プリンタドライバ生成部
１０１ｃ...ドライバ指定ウィンドウ生成部
１０２...ハードディスク
１０３...メモリ
１０４...入出力インタフェース部
１０５...内部バス
１１０...キーボード
１１１...マウス
１１２...ＣＤ−ＲＯＭドライブ
１１３...ディスプレイ
Ｂ１...設定ボタン
Ｂ２...キャンセルボタン
ＣＢ１，ＣＢ２...チェックボックス
ＣＬ...クライアントコンピュータ
ＣＮＢ...カスタムネットワークボード
ｄｒ１０〜ｄｒ１２，ｄｒ２０，ｄｒ３０，ｄｒ３１，ｄｒ３２...ドライバ
ＤＴ０〜ＤＴ３...通信データ
Ｌ１...リスト表示部
ＬＡＮ１...ローカルエリアネットワーク
ＰＢ１...プルダウンボタン
ＰＲＴ１〜ＰＲＴ４...プリンタ
Ｗ１...ドライバ指定ウィンドウ
【図１】
2006277130.tif 000003
【図２】
2006277130.tif 000004
【図３】
2006277130.tif 000005
【図４】
2006277130.tif 000006
【図５】
2006277130.tif 000007