(57)【特許請求の範囲】
【請求項１】
プリントサーバ装置、クライアント装置、および画像出力装置がネットワークを介して接続された印刷システムであって、
前記画像出力装置は、
ローカル接続用の第一の接続ポートと前記プリントサーバ装置を介して印刷ジョブを受信するための第二の接続ポートとを備え、
アドレス取得要求を受信した際に、前記第二の接続ポートのアドレスを返信する返信手段と、
前記第一の接続ポートもしくは前記第二の接続ポートを介して受信した印刷ジョブを印刷する印刷手段と
を備え、
前記プリントサーバ装置は、
印刷ジョブの送信先である画像出力装置を登録する画像出力装置登録手段と、
印刷ジョブに設定あるいは指示され、前記画像出力装置登録手段にて登録されている画像出力装置に対し、指定された接続ポートを介して当該印刷ジョブを送信する送信手段と
を備え、
前記クライアント装置は、
前記画像出力装置に対応するドライバをインストールするための第一のインストーラを備え、
前記第一のインストーラは実行することで、第一のドライバと、第二のドライバをインストールするための第二のインストーラとを当該クライアント装置にインストールし、
インストールされた前記第一のドライバは、
前記画像出力装置の第一の接続ポートに接続する第一のプリントキューを作成する作成手段と、
前記アドレス取得要求を送信し、前記画像出力装置の第二の接続ポートのアドレスを取得するアドレス取得手段と、
前記プリントサーバ装置を接続先とする第二のプリントキューの作成指示を受け付けた場合、前記第二のインストーラを起動させることにより、前記第二のドライバをインストールさせ、前記第二のプリントキューを作成させる実行手段と
を備え、
起動された前記第二のインストーラは、前記アドレス取得手段にて取得した第二の接続ポートのアドレスを用いて前記第二のプリントキューを作成することを特徴とする印刷システム。
【請求項２】
前記実行手段は、前記第一のプリントキューのデフォルトの設定が変更されている場合、前記第二のインストーラに対し、前記第二のプリントキューの設定を変更された当該第一のプリントキューの設定に変更させることを特徴とする請求項１に記載の印刷システム。
【請求項３】
前記実行手段は、前記第二のインストーラによる第二のプリントキューの作成時に、ローカルネットワーク上の画像出力装置を検索し、当該ローカルネットワークに接続された画像出力装置が有する接続ポートの情報を取得する取得手段を備え、
前記取得手段により第二の接続ポートを有する画像出力装置が検出された場合、当該第二の接続ポートのアドレスを用いて、第二のプリントキューを作成させることを特徴とする請求項１に記載の印刷システム。
【請求項４】
前記実行手段は、前記取得手段により第二の接続ポートを有さない画像出力装置が検出された場合、第二の接続ポートを有する予め定義された画像出力装置の当該第二の接続ポートのアドレスを用いて、第二のプリントキューを作成させ、
前記画像出力装置は、
自らが有する第二の接続ポートを介して、前記第二の接続ポートを有さない画像出力装置への印刷ジョブを受信した際に、当該第二の接続ポートを有さない画像出力装置へ当該印刷ジョブを転送する転送手段を更に有する
ことを特徴とする請求項３に記載の印刷システム。
【請求項５】
前記プリントサーバ装置は、前記画像出力装置登録手段により登録された画像出力装置を使用可能なユーザの情報を保持する保持手段を更に備え、
前記実行手段は、
前記クライアント装置にログインしている前記作成指示を行うユーザの認証情報を取得し、当該認証情報と前記プリントサーバ装置の保持手段にて保持されるユーザの情報との体系を比較する比較手段を更に備え、
体系が一致する場合、当該認証情報を前記保持手段にて保持させ、
体系が異なる場合、新たな認証情報をユーザに入力させ、当該新たな認証情報を前記保持手段にて保持させる
ことを特徴とする請求項１に記載の印刷システム。
【請求項６】
前記実行手段は、前記比較手段にて体系が一致すると判定された場合、前記クライアント装置が有する当該画像出力装置を使用可能な他のユーザの認証情報を前記プリントサーバ装置の保持手段にて保持させることを特徴とする請求項５に記載の印刷システム。
【請求項７】
前記印刷システムは、ドキュメントサーバ装置を更に有し、
前記ドキュメントサーバ装置は、
前記プリントサーバ装置に登録されている画像出力装置を登録する出力先登録手段と、
印刷指示があった場合、前記プリントサーバ装置に、前記出力先登録手段にて登録されている画像出力装置のうち、出力先として指定された画像出力装置の情報を含めて印刷ジョブを送信するジョブ送信手段と
を有することを特徴とする請求項１に記載の印刷システム。
【請求項８】
インストールされた前記第二のドライバは、前記ドキュメントサーバ装置に対して前記印刷指示を行う場合、印刷ジョブの送信先として前記プリントサーバ装置を指定し、当該印刷ジョブの出力先である画像出力装置が有する第二の接続ポートを指定する指定手段を更に有することを特徴とする請求項７に記載の印刷システム。
【請求項９】
インストールされた前記第二のドライバは、前記ドキュメントサーバ装置の出力先登録手段に対し、登録された画像出力装置に対応する前記第二の接続ポートの情報を登録させるポート登録手段を有することを特徴とする請求項７に記載の印刷システム。
【請求項１０】
インストールされた前記第二のドライバは、ユーザのログイン時に前記ドキュメントサーバ装置における認証情報を問い合わせる手段を更に有し、
前記ポート登録手段は、前記第二の接続ポートを登録する際に、前記認証情報を使用して前記ドキュメントサーバ装置にログインすることを特徴とする請求項９に記載の印刷システム。
【請求項１１】
プリントサーバ装置、クライアント装置、および画像出力装置がネットワークを介して接続された印刷システムにおける制御方法であって、
前記画像出力装置において、
ローカル接続用の第一の接続ポートと前記プリントサーバ装置を介して印刷ジョブを受信するための第二の接続ポートとを備え、
返信手段が、アドレス取得要求を受信した際に、前記第二の接続ポートのアドレスを返信する返信工程と、
印刷手段が、前記第一の接続ポートもしくは前記第二の接続ポートを介して受信した印刷ジョブを印刷する印刷工程と
を有し、
前記プリントサーバ装置において、
画像出力装置登録手段が、印刷ジョブの送信先である画像出力装置を登録する画像出力装置登録工程と、
送信手段が、印刷ジョブに設定あるいは指示され、前記画像出力装置登録工程にて登録されている画像出力装置に対し、指定された接続ポートを介して当該印刷ジョブを送信する送信工程と
を有し、
前記クライアント装置において、
前記画像出力装置に対応するドライバをインストールするための第一のインストーラを備え、
前記第一のインストーラは実行することで、第一のドライバと、第二のドライバをインストールするための第二のインストーラとを当該クライアント装置にインストールし、
インストールされた前記第一のドライバにより、
作成手段が、前記画像出力装置の第一の接続ポートに接続する第一のプリントキューを作成する作成工程と、
アドレス取得手段が、前記アドレス取得要求を送信し、前記画像出力装置の第二の接続ポートのアドレスを取得するアドレス取得工程と、
実行手段が、前記プリントサーバ装置を接続先とする第二のプリントキューの作成指示を受け付けた場合、前記第二のインストーラを起動させることにより、前記第二のドライバをインストールさせ、前記第二のプリントキューを作成させる実行工程と
起動された前記第二のインストーラにより、前記アドレス取得工程にて取得した第二の接続ポートのアドレスを用いて前記第二のプリントキューを作成する工程と
を有することを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークに接続された画像出力装置、プリントサーバ装置、及びクライアント装置を有する印刷システムにおいて、プリンタドライバのインストールおよびプリントキューの作成方法に関する。
【背景技術】
【０００２】
クライアント装置から、ネットワークに接続された画像出力装置を用いて画像出力をする場合、クライアント装置に画像出力装置に対応するプリンタドライバをインストールし、プリントキューを登録する必要がある。この操作は通常、ユーザがプリンタドライバインストーラを入手、実行してプリンタドライバのインストールを行う。続いて、使用する画像出力装置のプリントキューをシステムに登録するという方法をとる。
【０００３】
一方、ネットワークに接続される画像出力装置は、複数の接続プロトコルに対応していることが多く、その結果、様々な接続形態に対応することが可能となる。例えば、クライアント装置からローカルネットワーク経由で画像出力装置に直接接続する場合、ＬＰＲ（Ｌｉｎｅ  ＰＲｉｎｔｅｒ  ｄａｅｍｏｎ  ｐｒｏｔｏｃｏｌ）などのプロトコルを利用して接続することができる。また例えばインターネット上にあるプリントサーバ経由では、クライアント装置、プリントサーバ及び画像出力装置間はＩＰＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｉｎｔｉｎｇ  Ｐｒｏｔｏｃｏｌ）などで接続することができる。
【０００４】
このように様々な接続形態がある中で、ユーザ自身がプリンタドライバのインストールや設定を行う必要があるため、手間がかかる。
【０００５】
そこで特許文献１のように、クライアント装置上にて同一セグメント内のプリンタを探索し、自動的にＷｅｂサイト等からプリンタドライバをダウンロード、イントール、及びプリントキューの追加をする方法が開示されている。また特許文献２では、まずクライアント装置上でプリンタを探索、その結果をユーザに提示する。続いてユーザが選択したプリンタ用のプリンタドライバを所定のサーバから自動取得しインストールを行う。さらに、プリントキューの登録、印刷設定までを行う方法が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００２−３６６５０２号公報
【特許文献２】特開２００６−１３４２４５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかし、すでにユーザがローカルネットワークでプリントキューを登録して画像出力装置を使用している場合において、さらに別の接続形態で同一の画像出力装置に接続し、印刷させたいケースがある。例えば、ローカルネットワーク接続の印刷に加え、インターネット上のプリントサービスを利用する場合である。このインターネット上のプリントサービスを介して画像出力装置を利用することにより、ローカルネットワーク接続では印刷できないネットワーク環境からも当該画像出力装置から印刷することが可能となる。例えば、あるオフィスにてノート型のクライアント装置からローカルネットワーク接続をしている画像出力装置を利用しているとする。そのユーザがクライアント装置を異なるネットワーク環境に移動させた場合、ローカルネットワーク接続ではパケットが指定した画像出力装置に到達できず、結果印刷できない場合がある。この場合、インターネット上のプリントサービス経由で印刷指示を行うことにより、その画像出力装置から出力を得ることが可能となる。
【０００８】
このような場合、クライアント装置上では、ローカルネットワーク接続のプリントキューに加え、インターネット上のプリントサービスに接続するためのプリントキューを追加登録する必要がある。この追加登録によりクライアント装置上のプリントキューはインターネット上のプリントサービスに接続され、更にプリントサーバ装置と画像出力装置とが接続される。
【０００９】
このように、すでにある画像出力装置のプリントキューが登録されている場合、用途に応じて追加でプリントキューを登録させたい場合がある。従来技術では、ユーザは再度異なる接続方法に対応する別のインストーラを準備し、再度インストーラを起動し、他の接続形態を設定する必要がある。そのため、ユーザには再度のインストーラの入手、実行、接続の設定、及びプリントキューの登録という手間がかかる。
【課題を解決するための手段】
【００１０】
上記課題を達成するため、本発明は、以下の構成を有する。すなわち、プリントサーバ装置、クライアント装置、および画像出力装置がネットワークを介して接続された印刷システムであって、前記画像出力装置は、ローカル接続用の第一の接続ポートと前記プリントサーバ装置を介して印刷ジョブを受信するための第二の接続ポートとを備え、アドレス取得要求を受信した際に、前記第二の接続ポートのアドレスを返信する返信手段と、前記第一の接続ポートもしくは前記第二の接続ポートを介して受信した印刷ジョブを印刷する印刷手段とを備え、前記プリントサーバ装置は、印刷ジョブの送信先である画像出力装置を登録する画像出力装置登録手段と、印刷ジョブに設定あるいは指示され、前記画像出力装置登録手段にて登録されている画像出力装置に対し、指定された接続ポートを介して当該印刷ジョブを送信する送信手段とを備え、前記クライアント装置は、前記画像出力装置に対応するドライバをインストールするための第一のインストーラを備え、前記第一のインストーラは実行することで、第一のドライバと、第二のドライバをインストールするための第二のインストーラとを当該クライアント装置にインストールし、インストールされた前記第一のドライバは、前記画像出力装置の第一の接続ポートに接続する第一のプリントキューを作成する作成手段と、前記アドレス取得要求を送信し、前記画像出力装置の第二の接続ポートのアドレスを取得するアドレス取得手段と、前記プリントサーバ装置を接続先とする第二のプリントキューの作成指示を受け付けた場合、前記第二のインストーラを起動させることにより、前記第二のドライバをインストールさせ、前記第二のプリントキューを作成させる実行手段とを備え、起動された前記第二のインストーラは、前記アドレス取得手段にて取得した第二の接続ポートのアドレスを用いて前記第二のプリントキューを作成することを特徴とする。
【発明の効果】
【００１４】
本発明により、ユーザがプリントサーバ装置に登録指示を行うのみで、プリントサーバ装置に接続するプリントキューが自動的に生成される。その結果、従来技術では必要とされていた、プリントサービスサーバ接続のプリントキューを追加する場合に、再度インストーラを入手し、インストーラを起動し、プリントキューの追加を行うという手間をなくすことが可能となる。
【００１５】
また、同一ネットワーク上にある他の画像出力装置に対してもプリントサーバ装置に接続するプリントキューを登録することが可能となる。さらに、クライアント装置上に登録されている他のユーザもプリントサーバ装置に一度に登録することが可能となる。
【図面の簡単な説明】
【００１６】
【図１】第一実施形態に係る印刷システムの構成例を示す図。
【図２】クライアント装置及び画像出力装置の構成例を示す図。
【図３】プリントサービスサーバ装置の構成例を示す図。
【図４】システム全体のシーケンス図。
【図５Ａ】クライアント装置における処理のフローチャート。
【図５Ｂ】クライアント装置における処理のフローチャート。
【図６】プリントサービスサーバ装置における処理のフローチャート。
【図７】画像出力装置における処理のフローチャート。
【図８】プリンタダイアログの構成例を示す図。
【図９】プリントキューダイアログの構成例を示す図。
【図１０】アドレス入力ダイアログの構成例を示す図。
【図１１】画像出力装置の応答パケットに含まれる情報を示す図。
【図１２】第二実施形態に係る印刷システムの構成例を示す図。
【図１３】プリントサービスサーバ装置の構成例を示す図。
【図１４】プリントサービスサーバ装置における処理のフローチャート。
【図１５】クライアント装置における処理のフローチャート。
【図１６】クライアント装置における処理のフローチャート。
【図１７】ドキュメントサービスＩＤ入力ダイアログの構成例を示す図。
【発明を実施するための形態】
【００１７】
＜第一実施形態＞
［システム構成］
以下、本発明を実施するための形態について図面を用いて説明する。図１は、本発明の第一実施形態に係る印刷システムの概略構成を示すブロック図である。本実施形態の印刷システムでは、ユーザが操作する情報処理装置であるクライアント装置１０１、印刷ジョブを受信し出力を行う複数の画像出力装置１０２を備える。これらはＥｔｈｅｒｎｅｔ（登録商標）などで構成されるネットワーク１０４を介して接続されている。クライアント装置１０１とプリントサービスサーバ装置１０３は、ネットワーク１０４上に存在するゲートウェイ装置１０５を介しインターネット１０６経由で接続される。なお、画像出力装置１０２はクライアント装置１０１が生成した印刷ジョブをネットワーク１０４経由で受信し印刷する。これに加えて、画像出力装置１０２は、プリントサービスサーバ装置１０３からの印刷ジョブも受信し、印刷することが可能である。また、ローカルネットワーク（ネットワーク１０４）における複数の画像出力装置において、本明細書にて包括的に述べる場合には、“画像出力装置１０２”と表記し、個別に述べる場合には、例えば“画像出力装置Ａ１０２ａ”と表記する。なお、本明細書にて記載する画像出力装置には、プリント機能を有するプリンタやＭＦＰ（ＭｕｌｔｉＦｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）などが該当する。また、本明細書において、単にネットワークと記載する場合は、ネットワーク１０４に示されるようなローカルネットワークを意味する。
【００１８】
図２は、図１に示すクライアント装置１０１および画像出力装置１０２の装置構成を示すブロック図である。クライアント装置１０１において、ＣＰＵ１１１は、記憶部であるＲＡＭ１１２等に記憶されているプログラムに従って、システムバス１２１に接続される各デバイスを総括的に制御している。このＲＡＭ１１２は、ＣＰＵ１１１の主メモリ、ワークエリア等としても機能している。ＲＯＭ１１３は、各種プログラム及びデータを格納している。キーボードＩ／Ｆ１１６は、キーボード１２０や不図示のポインティングデバイス（タッチパネル等）からの入力を制御する。表示部Ｉ／Ｆ１１５は、表示部１１９への表示を制御する。
【００１９】
外部メモリＩ／Ｆ１１７は、例えばフラッシュメモリ、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｉｓｋ）等の外部メモリ１３１とのアクセスを制御する。外部メモリ１３１は、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）１３２をはじめ、各種機能に応じたアプリケーション１３３、プリンタドライバ１３４（プリントドライバプログラム）を記憶し、クライアント装置１０１が保存または、読み取り可能な記憶媒体として機能する。ネットワークＩ／Ｆ１１８は、ネットワーク１０４への制御部であり、ネットワーク端子を通じてネットワーク１０４への接続を可能にする。
【００２０】
次に画像出力装置１０２の構成について説明する。ＣＰＵ１４２は、画像出力装置１０２の全体の動作を制御している。ＲＡＭ１４３は、ＣＰＵ１４２の主メモリ、ワークエリア等として機能するとともに、画像情報展開領域、環境データ格納領域としても用いられる。またＲＡＭ１４３は、ＮＶＲＡＭ（Ｎｏｎ−ｖｏｌａｔｉｌｅ  ＲＡＭ：不揮発性ＲＡＭ）領域も備えており、増設ポート（不図示）に接続されるオプションＲＡＭによりメモリ容量を拡張することができるように構成されている。ＲＯＭ１４４は、各種フォント、ＣＰＵ１４２により実行される制御プログラム等、及び各種データを記憶している。
【００２１】
ネットワークＩ／Ｆ１４５は、クライアント装置１０１との間でデータの送受信を行う。プリンタＩ／Ｆ１４８は、プリンタエンジンであるプリンタ部１４９との処理を制御している。外部メモリ１５１は、外部メモリＩ／Ｆ１５２によりアクセスが制御されており、フラッシュメモリ、ＳＳＤ等を含んでおり、ハードウェア情報１５３を記憶することが可能である。なお、ハードディスク等の外部メモリ１５１が接続されていない場合には、ＲＯＭ１４４に、クライアント装置１０１で利用される情報等を記憶する。
【００２２】
操作部Ｉ／Ｆ１４６は、画像出力装置１０２のスキャン処理を設定する操作部１４７との処理を制御している。操作部１４７には、ユーザによる操作を受け付ける操作パネル（不図示）が設けられ、その操作パネルには操作のためのスイッチ及びＬＥＤ表示器等が配されている。また、操作部１４７は、ＮＶＲＡＭ（不図示）を有し、操作パネルからの印刷設定情報を記憶するようにしてもよい。ＣＰＵ１４２はネットワークＩ／Ｆ１４５を介してクライアント装置１０１との通信処理が可能となっており、クライアント装置１０１から印刷ジョブを受信する。それと共に、画像出力装置１０２内の情報等をクライアント装置１０１に通知可能に構成されている。
【００２３】
本実施形態では、ネットワークＩ／Ｆ１４５はサービスプロトコルを実装している。また、印刷ジョブを受信するプロトコルとしても複数のプロトコルを実装している。具体的には、ローカルネットワークでの印刷ジョブの受信が可能なＬＰＲやＰｏｒｔ９１００、またインターネット経由の印刷ジョブ受信に適しているＩＰＰなどである。なお、実装可能なプロトコルは上記のものに限定されるものではなく、必要に応じて実装するプロトコルを増やしても構わない。またＣＰＵ１４２は、ＲＯＭ１４４等に記憶された制御プログラム等に基づき、プリンタＩ／Ｆ１４８を介してプリンタ部１４９に画像データを送信し印刷を実行する。
【００２４】
図３を用いてプリントサービスサーバ装置１０３の構成について説明する。プリントサービスサーバ装置１０３において、ＣＰＵ１７１は、記憶部であるＲＡＭ１７２等に記憶されているプログラムに従って、システムバス１８０に接続される各デバイスを総括的に制御している。ＲＡＭ１７２は、ＣＰＵ１７１の主メモリ、ワークエリア等としても機能している。ＲＯＭ１７３は、各種プログラム及びデータを格納している。キーボードＩ／Ｆ１７５は、キーボード１７９や不図示のポインティングデバイス（マウス等）からの入力を制御する。表示部Ｉ／Ｆ１７４は、表示部１７８への表示を制御している。外部メモリＩ／Ｆ１７６は、例えばハードディスク（ＨＤ）、ＳＳＤ等の外部メモリ１８１とのアクセスを制御する。
【００２５】
外部メモリ１８１は、ＯＳ１８２をはじめウェブサービスライブラリ１８３、各種プリントサービス処理に応じたプリントサービスプログラム１８４を備える。さらに、外部メモリ１８１は、ユーザファイル、その他設定ファイル等を記憶し、コンピュータが保存または、読み取り可能なデータベース１９０としても機能する。また、プリントサービスプログラム１８４は、具体的には、プリンタ登録プログラム１８５、ユーザ登録プログラム１８６、印刷ジョブ受信プログラム１８７、印刷データ送信プログラム１８８、レンダリングプログラム１８９などのプログラムを含んでいる。
【００２６】
ネットワークＩ／Ｆ１７７は、インターネット１０６を介してクライアント装置１０１に接続され、その先に接続されている画像出力装置１０２との間で間接的に通信制御処理を行う。
【００２７】
［システムにおける処理シーケンス］
続いて各装置の処理の流れを説明するが、その前に図４に示すシーケンスチャートを用いて各装置間でどのような処理がされるかを説明する。その後に各装置の処理を、フローチャートを用いて説明する。
【００２８】
図４は、本実施形態に係るプリンタドライバインストールおよびプリントキュー登録処理のシーケンス図である。図４を用いて、プリンタドライバ（デバイスドライバプログラム）がインストールされ、プリントキューが登録される一連の流れを述べる。前提として、既にクライアント装置１０１がネットワーク１０４を介して画像出力装置１０２にアクセス可能の状態とする。さらにクライアント装置１０１は、プリントサービスサーバ装置１０３にゲートウェイ装置１０５を介してアクセス可能な状態とする。
【００２９】
なお本実施形態では二つの印刷の指示経路がある。一つはネットワーク１０４を介して、クライアント装置１０１から画像出力装置１０２に直接出力指示を行い、出力するローカル接続用の経路である。本明細書において、この経路で接続される画像出力の形態を「ローカルプリンタ」と呼ぶこととする。もう一つはクライアント装置１０１が生成した印刷ジョブを、インターネット１０６を介してプリントサービスサーバ装置１０３に一旦送信する。そして、そこからインターネット１０６を介して画像出力装置１０２に再度出力指示を行い、出力する経路である。本明細書において、この経路で接続される画像出力の形態を「サーバプリンタ」と呼ぶこととする。なお、ローカルプリンタとして接続した場合に使用されるプリンタドライバを「ローカルプリンタドライバ」と呼ぶ（第一のドライバ）。またサーバプリンタとして接続した場合に使用されるプリンタドライバを「サーバプリンタドライバ」と呼ぶ（第二のドライバ）。
【００３０】
さらに、ユーザはすでに所定のプリンタドライバインストーラ（インストーラプログラム）を入手し、クライアント装置１０１上に保存しているものと仮定する。このプリンタドライバインストーラの入手は、例えば該当のプリンタドライバインストーラをベンダのウェブサイトからダウンロード、あるいは製品に同梱されているＣＤメディアからクライアント装置１０１が読み込むことで可能である。なお、このプリンタドライバインストーラの構成は後のシーケンスにおいて具体的に説明する。
【００３１】
画像出力装置１０２は、複数の接続ポートを備える。例えば、ネットワーク１０４に接続された画像出力装置１０２のうち、画像出力装置Ａ１０２ａはローカルプリンタとして接続可能なローカル接続ポート（第一の接続ポート）とプリントサービスサーバ装置１０３から接続可能なサーバ接続ポート（第二の接続ポート）とを備える。「ローカル接続ポート」とは、例えばＬＰＲやＰｏｒｔ９１００など、ＴＣＰ／ＩＰプロトコルで接続されるものである。「サーバ接続ポート」とは、例えばＩＰＰなどインターネット経由の通信を意識したプロトコルで接続されるものである。また画像出力装置Ｂ１０２ｂも画像出力装置Ａ１０２ａと同様の接続ポートをサポートしているものとする。画像出力装置Ｃ１０２ｃは、これらとは異なりプリントサービスサーバ装置１０３用の接続ポートおよびそこからの印刷データ受信機能は備えていないものとする。すなわち、画像出力装置Ｃ１０２ｃは、ローカルプリンタとしての接続ができるものとする。
【００３２】
また、ローカル接続ポートに対して接続するプリントキューをローカルプリントキュー（第一のプリントキュー）とし、サーバ接続ポートに対して接続するプリントキューをサーバプリントキュー（第二のプリントキュー）とする。
【００３３】
更にこれらの画像出力装置１０２は、クライアント装置１０１からのデバイス情報問い合わせに対して、デバイスプロファイルを返信できるものとする。具体的には、クライアント装置１０１はＳＮＭＰ（Ｓｉｍｐｌｅ  Ｎｅｔｗｏｒｋ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌ）などでデバイスクエリパケットをネットワーク１０４に対してマルチキャストする。各画像出力装置は、このマルチキャストに応答して自身のデバイス情報を含むデバイスプロファイルを返信する。なお、このデバイスプロファイルについては後の説明に詳述するが、ローカル接続ポートとサーバ接続ポートのアドレスなどの情報を含んでいる。
【００３４】
まずＳ２０１においてユーザはクライアント装置１０１上にてプリンタドライバインストーラの起動を指示する。ここで起動されるプリンタドライバインストーラ（第一のインストーラ）とは、ローカルプリンタドライバのモジュールセットと、サーバプリンタドライバインストーラ（第二のインストーラ）を内包したインストーラである。通常のプリンタドライバインストーラは、一種類のプリンタドライバモジュールを内包しており、インストーラの起動によりそのプリンタドライバモジュールがクライアント装置にインストールされる。しかし、Ｓ２０１で起動されるプリンタドライバインストーラは、通常のローカルプリンタドライバモジュールに加え、サーバプリンタドライバモジュールをインストールするためのサーバプリンタドライバインストーラを内包することを特徴としている。
【００３５】
このプリンタドライバインストーラの起動により、Ｓ２０２においてプリンタドライバインストーラがクライアント装置１０１上で実行され、ローカルプリンタに必要なローカルプリンタドライバモジュールがインストールされる。さらにＳ２０２におけるインストール時に、プリントサービスサーバ装置１０３用のサーバプリンタドライバインストーラもインストールされる。このプリントサービスサーバ装置用のサーバプリンタドライバインストーラは後のステップにて使用する。そのためサーバプリンタドライバインストーラは、クライアント装置１０１の外部メモリ１３１に保存しておく。保存場所は、例えば通常のアプリケーションがインストールされるディレクトリなどが挙げられる。Ｓ２０２のプリンタドライバのインストールが終わると、プリンタドライバはＳ２０３においてユーザにインストールが完了した旨を通知する。これは、例えばクライアント装置１０１は表示部１１９にて完了した旨を表示する。
【００３６】
続いてユーザは実際に画像出力装置１０２にて印刷を行うためのプリントキューの作成を行う。まずＳ２０４において、ユーザはクライアント装置１０１に対し、ＯＳ１３２の機能を用いてローカルプリンタを使用するためのローカルプリントキューの作成指示を行う。ここではユーザは画像出力装置Ａ１０２ａのプリントキューを作成するものとする。この作成指示により、Ｓ２０５にてクライアント装置１０１にローカルプリントキューが作成される。続いて、Ｓ２０６にてクライアント装置１０１は、プリントキュー作成時に実行される実行コードにより、接続先の画像出力装置Ａ１０２ａにデバイスプロファイルの取得要求を行う。この取得要求により、接続ポートのアドレス取得要求を行う。画像出力装置Ａ１０２ａは、Ｓ２０７においてクライアント装置１０１からの取得要求に応答し、Ｓ２０８においてサーバ接続ポート情報を含むデバイスプロファイルをクライアント装置１０１に返信する。
【００３７】
Ｓ２０８において返信されたデバイスプロファイルは、プリントキュー作成時に実行される実行コードがクライアント装置１０１の外部メモリ１３１に保存する。なお保存場所はＯＳ１３２のレジストリやユーザディレクトリの特定のファイルなどに保存する。そして、クライアント装置１０１は、ユーザにローカルプリントキューの作成が完了した旨を通知する。これは、例えばクライアント装置１０１は表示部１１９にて完了した旨を表示する。通常のローカルプリンタを利用する場合、ここまでのステップでプリントキューの作成は終了する。
【００３８】
しかし本実施形態では、Ｓ２０６〜Ｓ２０８にて自動的に取得したデバイスプロファイル情報を使用してサーバプリントキューを容易に作成することができる。具体的には、ユーザはローカルプリントキューを開き、そこに本実施形態で提供する「サーバプリンタ登録」というボタンをクリックすることでサーバプリントキューを作成可能とする。なお、一般的にプリントキューにはベンダ独自の実行コードを実行させるコントロールを配置することが可能である。
【００３９】
ユーザはＳ２１０において、画像出力装置Ａ１０２ａのローカルプリントキューを開き、「サーバプリンタ登録」ボタンをクリックすることで、サーバプリンタの登録指示を行う。Ｓ２１１において、「サーバプリンタ登録」ボタンに対応付けられた実行コードがＳ２０６〜Ｓ２０８で取得したサーバ接続ポートの情報を利用して、クライアント装置１０１は、サーバプリントキューの作成を行う。そして、Ｓ２１２にて、クライアント装置１０１は、プリントサービスサーバ装置１０３へ画像出力装置およびユーザの登録依頼を行う。ここで登録する情報は、プリントサービスサーバ装置１０３から印刷ジョブを送信する際の送信先となる画像出力装置の接続ポートの情報と、その画像出力装置を使用するユーザＩＤである。クライアント装置１０１からの登録依頼にこれらの情報が併せて送信される。なお、送信される情報は、上記情報に限定するものではなく、プリントサービスサーバ装置１０３側で管理する情報があれば、必要に応じて送信する。ここで用いられるユーザＩＤについての扱いは後に説明するクライアント装置１０１上のソフトウェア動作の流れ図において説明する。
【００４０】
Ｓ２１３において、プリントサービスサーバ装置１０３はクライアント装置１０１から受信した登録依頼に対応する情報を元に、画像出力装置とユーザＩＤの登録を行う。これにより、画像出力装置登録手段を実現する。Ｓ２１４において、プリントサービスサーバ装置１０３はクライアント装置１０１上の「サーバプリンタ登録」の実行コードに対して登録完了通知を行う。続いてＳ２１５において、クライアント装置１０１上の「サーバプリンタ登録」の実行コードは、ネットワーク１０４上にデバイス探索クエリパケットをマルチキャストする。Ｓ２１６において、マルチキャストパケットを受信した画像出力装置１０２は、自身のデバイスプロファイルを送信することで応答する。Ｓ２１７において、クライアント装置１０１上の「サーバプリンタ登録」の実行コードは画像出力装置１０２からのクエリリプライであるデバイスプロファイルを受信する。ここで、ネットワーク１０４には複数の画像形成装置が配置されているため、クライアント装置１０１から送信されたマルチキャストパケットに対する応答（クエリリプライ）は複数が返信されることとなる。その返信された応答により、いずれの接続ポートを保持した画像出力装置１０２がネットワーク１０４に接続されているかを検出することができる。
【００４１】
続いて、Ｓ２１８において、複数の画像形成装置から受信したクエリリプライに基づき、Ｓ２１２にてプリントサービスサーバ装置１０３に登録した画像出力装置以外の画像出力装置があるか確認する。そして、クライアント装置１０１は、未登録の画像出力装置を抽出する。続いて、Ｓ２１９においてクライアント装置１０１上の「サーバプリンタ登録」の実行コードはＳ２１８において抽出した未登録の画像出力装置のサーバプリントキューを作成する。
【００４２】
続いてＳ２２０において、Ｓ２１２と同様に「サーバプリンタ登録」の実行コードはＳ２１５〜Ｓ２１７にて取得したサーバ接続ポートの情報を利用して、Ｓ２１２にてプリントサービスサーバ装置１０３へ画像出力装置およびユーザの登録依頼を行う。ここで登録する情報は、プリントサービスサーバ装置１０３から印刷ジョブを送信する際の送信先となる画像出力装置の接続ポートの情報と、その画像出力装置を使用するユーザＩＤである。クライアント装置１０１からの登録依頼にこれらの情報が併せて送信される。
【００４３】
続いてＳ２２１においてプリントサービスサーバ装置１０３はクライアント装置１０１から受信した登録依頼に対応する情報を元に、画像出力装置とユーザＩＤの登録を行う。Ｓ２２２において、プリントサービスサーバ装置１０３はクライアント装置１０１上の「サーバプリンタ登録」の実行コードに対して登録完了通知を行う。最後にＳ２２３において、「サーバプリンタ登録」の実行コードはユーザに対し、サーバプリントキューのプリントサービスサーバ装置１０３への登録が完了した旨を通知する。これは、例えばクライアント装置１０１は表示部１１９にて完了した旨を表示する。
【００４４】
以上、ユーザがプリンタドライバインストーラを起動してからローカルプリントキューおよびサーバプリントキューが生成されるまでの各装置間における処理を述べた。
【００４５】
［処理フロー］
次にクライアント装置１０１、プリントサービスサーバ装置１０３、および画像出力装置１０２それぞれの処理の流れを具体的に説明する。また図４で簡単に説明した部分についても装置ごとに詳細な図を用いて説明を行う。なお本実施形態では、画像出力装置Ａ、画像出力装置Ｂ、画像出力装置ＣがそれぞれプリンタＡ、プリンタＢ、プリンタＣとして、プリントキューを登録されるものとする。
【００４６】
［クライアント装置における処理］
図５Ａおよび図５Ｂは先に説明したシーケンスにおけるクライアント装置１０１に着目した処理のフローチャートである。Ｓ３０１において、ユーザはクライアント装置１０１の外部メモリ１３１に予め入手しているプリンタドライバインストーラを起動する。ここで起動されるインストーラは、ローカルプリンタドライバに対するインストーラである。続いてＳ３０２において、プリンタドライバインストーラはローカルプリンタドライバモジュール及びサーバプリンタドライバインストーラをクライアント装置１０１にインストールする。このとき、ローカルプリンタドライバモジュールはＯＳ１３２の所定の場所にインストールされる。またサーバプリンタドライバインストーラは、後のステップで他モジュール（後述）により起動されるアプリケーションであるため、起動が可能なディレクトリ、例えば“／Ａｐｐｌｉｃａｔｉｏｎｓ”フォルダなどに保存する。このステップにおいてプリンタドライバのインストールが終了後、プリンタドライバインストーラはインストールを終了した旨のメッセージを表示部１１９に表示させ、ユーザに通知してもよい。
【００４７】
続いてＳ３０３において、ユーザはＯＳ１３２に対してローカルプリンタのプリントキューの作成指示を行う。図８（ａ）はＯＳ１３２の登録されている各プリントキューを表示するダイアログである。図８（ａ）において、プリンタダイアログ４００、プリントキューの追加を指示する追加ボタン４０１、登録されているプリントキューのリスト４０２を示す。なお、この図８（ａ）に示すダイアログは一例であり、他の表示方法によるＯＳも存在する。
【００４８】
ユーザはプリントキューを登録する場合、このプリンタダイアログ４００にて提供されているプリンタの追加ボタン４０１を押下する。この指示により、ＯＳ１３２はプリントキューを追加するためのダイアログを表示し、そのダイアログにてユーザはプリンタ製品の選択、接続ポートの指定などを行う。プリントキューの追加が完了すると、プリンタダイアログ４００に新しく追加したプリントキューが表示される。なお、一般的なＯＳではプリントキュー追加時にベンダ独自の実行コードを実行させることが可能である。実行コードは、例えば、ドライバに含めて提供される。この実行コードの目的は、例えばプリントキュー追加時にプリンタから構成情報を取得し、プリントキューの設定を取得した構成情報に合わせた設定にする。また例えば動作しているＯＳ１３２のロケール情報を取得し、北米であれば用紙サイズのデフォルト設定をＬｅｔｔｅｒサイズに設定、北米以外ではデフォルト設定をＡ４に設定する、ということも可能となる。
【００４９】
Ｓ３０４においてプリントキュー登録時の実行コードは、接続するプリンタのデバイスプロファイル情報取得の要求パケットを発行する。この要求はＷＳＤ（Ｗｅｂ  Ｓｅｒｖｉｃｅ  ｏｎ  Ｄｅｖｉｃｅｓ）やＳＮＭＰのＭＩＢ（Ｍａｎａｇｅｍｅｎｔ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｂａｓｅ）などを利用して発行する。次にＳ３０５において、実行コードは、デバイスプロファイルの取得に成功したか判定する。デバイスプロファイル取得に成功した場合（Ｓ３０５にてＹＥＳ）、Ｓ３０７に進む。
【００５０】
図１１はプリントキュー登録時の実行コードが画像出力装置１０２から取得するデバイスプロファイルに含まれる情報の例を示したものである。図１１に示す例では、ハードウェアを特定するためのハードウェアＩＤは、「１６ｂｄｄ１ｆｃ６−８０１ｆ−１１ｄ０−ｂｅｃ７−０８００２ｂｅ２０９２ｆ」となっている。このハードウェアＩＤ（識別子）は、画像出力装置を一意に特定できるものであればよい。また、デバイスプロファイルには、ＭＡＣアドレス７０２、ＴＣＰ／ＩＰポートに割り当てられているＩＰアドレス７０３、サポートしている通信プロトコル７０４を含む。ここに示す例において、通信プロトコル７０４は、ＬＰＲ、ＩＰＰ、Ｐｏｒｔ９１００、ＳＮＭＰとなっている。さらにデバイスプロファイルは、ベンダ名７０６を含み、この例では「ＡＢＣ」というベンダであることを示している。また、プリンタ名７０７は画像出力装置に設定された名称であり、ここでは「Ｐｒｉｎｔｅｒ  Ａ」が設定されている。また、プリントサービスアドレス７０８は、サーバ接続用のポートアドレスを示しており、ここでは「ｈｔｔｐ：／／ｐｒｉｎｔｅｒＡ．ａｂｃ．ｊｐ／ｉｐｐ」と指定されている。
【００５１】
なお、このサーバ接続用のポートアドレスは、プリントサービスサーバ装置１０３から印刷データを受信する際の接続ポートとして使用される。最大用紙サイズ７０９は、画像出力装置が印刷可能な最大用紙サイズを示し、ここでは「Ａ３」となっている。モノクロ／カラー種別７１０は、画像出力装置が対応するカラー種別を示し、ここでは「カラー」に対応可能な画像出力装置を意味している。
【００５２】
一方、デバイスプロファイルの取得に失敗した場合（Ｓ３０５にてＮＯ）、Ｓ３０６に進み、実行コードはアドレス入力ダイアログを、表示部を介して表示し、ユーザにデバイスプロファイルが取得できなかった画像出力装置１０２のサーバ接続ポートを入力させる。
【００５３】
図１０は、Ｓ３０６にて表示させるアドレス入力ダイアログの例を示したものであり、アドレス入力ダイアログ６００、アドレス入力コントロール６０１、ＯＫボタン６０２、キャンセルボタン６０３を示している。例えばローカルプリンタとして接続した画像出力装置１０２のサーバ接続ポートのアドレスが「ｈｔｔｐ：／／ｐｒｉｎｔｅｒＡ．ａｂｃ．ｊｐ／ｉｐｐ」の場合、図１０に示すように入力を行う。ユーザはこの入力後、ＯＫボタン６０２を押下してダイアログを閉じる。これにより、デバイスプロファイルの取得の成功／失敗のいずれの場合でも、プリントキュー登録時の実行コードは、画像出力装置のサーバ接続ポートのアドレスを入手することができる。
【００５４】
次にＳ３０７においてプリントキュー登録時の実行モジュールは、取得したサーバ接続ポートを外部メモリ１３１に保存する。保存場所は、ＯＳ１３２のレジストリやサンドボックス、あるいはプリントキュー登録時の実行モジュールがアクセスできるディレクトリにファイルとしてもよい。続いてＳ３０８において、ＯＳ１３２は、新しく登録したローカルプリントキューをプリンタダイアログ４００に表示する。ここまでの処理によりクライアント装置１０１と画像出力装置１０２とをローカル接続し、ネットワーク１０４を介してクライアント装置１０１から画像出力装置１０２に出力することが可能となる。
【００５５】
続くステップにより、クライアント装置１０１からプリントサービスサーバ装置１０３を介して画像出力装置１０２に出力するためのプリントキューの登録を行う。ここでは、すでにローカルプリンタとしてプリントキューを登録しているプリンタＡにおけるサーバプリンタとしてのプリントキューの登録を行うこととする。
【００５６】
まずＳ３０９において、ユーザはローカルプリントキューのドライバダイアログを開き、プリントサービスサーバ装置１０３経由で印刷するためのプリントキューを作成する指示を行う。具体的にはまずユーザは、クライアント装置１０１上でプリンタダイアログ４００を表示させる。続いてユーザはプリンタダイアログ４００上でプリンタＡのアイコンをダブルクリックする。この操作により、プリンタＡのプリントキューのプリントダイアログが表示される。図９（ａ）はプリンタＡのプリントダイアログの一例を示したものである。この図９（ａ）において、プリンタＡのプリントダイアログ５００、プリンタＡの概略情報５０１、表示ボタン５０２、プリントサーバ登録ボタン５０３を示している。概略情報５０１は画像出力装置の概略を示し、この例では、プリンタＡの外観、プリンタ名称である「プリンタＡ」、画像出力装置の印刷状態を示すステータス、画像出力装置の種別が表示されている。また、表示ボタン５０２は、印刷ジョブの処理状況を示すプリントキューを表示するためのボタンである。また、プリントサーバ登録ボタン５０３は、プリントサービスサーバ装置１０３に接続するためのプリントキューを登録するためのボタンである。
【００５７】
ユーザはプリントサービスサーバ装置１０３経由で印刷するためのプリントキューを登録するために、プリントサーバ登録ボタン５０３を押下する。なお上述したように、プリントサーバ登録ボタン５０３の押下により実行されるベンダ独自の実行コードが定義可能であり、この操作により実行コードが実行される。
【００５８】
Ｓ３１０において、プリントサーバ登録ボタンの実行コードは、ローカルプリントキューのドライバのデフォルトとして設定されている値を取得する。続いてＳ３１１において、実行コードは、取得したドライバ設定値が工場デフォルトであるか確認する。ここでの工場デフォルトとは、画像出力装置の出荷時において、予め定義されている値を示す。工場デフォルトであった場合（Ｓ３１１にてＹＥＳ）、Ｓ３１２に進む。Ｓ３１２にて、プリントサーバ登録ボタン５０３の実行コードは、サーバプリンタドライバインストーラを起動し、プリントサービスサーバ装置１０３のアドレス、プリンタＡのプリントサービスサーバ装置１０３のサーバ接続ポートアドレスをパラメータとして渡す。なお、ここで使用するプリントサービスサーバ装置１０３のアドレスは予めプリントサーバ登録ボタン５０３の実行コードが保持しているものとする。これは、プリントサービスサーバ装置１０３が提供するプリントサービスは通常、アドレスが決められており、頻繁な変更がないためである。
【００５９】
続いてＳ３１３において、サーバプリンタドライバインストーラは、パラメータとして受け取ったプリントサービスサーバ装置１０３が提供するプリントサービスのアドレスを、出力ポートとしてプリントキューを作成する。またサーバプリンタドライバインストーラは、パラメータとしてプリンタＡのサーバ接続ポートのアドレスを受け取る。このアドレスはプリントキューが保持しており、印刷ジョブをプリントサービスサーバ装置１０３に送信する際に、実際の出力をする画像出力装置のアドレスとして印刷ジョブ内に指定する際に使用する。ここで、サーバプリンタドライバインストーラは、プリントキューを構成するサーバプリンタドライバモジュールも併せてインストールする。なお、サーバプリンタドライバモジュールをインストールするタイミングはここでの処理に限定するものではなく、全てのプリントキューが登録されるまでに実行されればよいし、また、プリントサーバ登録ボタン５０３が最初に押下された時点でまずインストールするようにしても構わない。また、一度インストールされれば、以降の処理ではインストールしないようにしても構わない。
【００６０】
一方、ローカルプリントキューのドライバ設定が工場デフォルトでなかった場合（Ｓ３１１にてＮＯ）はＳ３１４に進む。Ｓ３１４の動作はＳ３１２とほぼ同様であるが、ここでは、サーバプリンタ登録ボタンの実行コードが取得したドライバ設定値をサーバプリンタドライバインストーラにパラメータとして渡す点が異なる。Ｓ３１５の動作はＳ３１３と同様であるが、サーバプリンタドライバインストーラがパラメータとして受け取ったドライバ設定を、作成するサーバプリントキューのドライバ設定とする点が異なる。ここまでの処理により、ユーザがプリンタＡのプリントキュー上のプリントサーバ登録ボタン５０３を押下するのみで、サーバプリンタのプリントキューが生成される。
【００６１】
図８（ｂ）はプリンタＡのサーバプリントキューが登録されたことを示すダイアログの一例を示す図である。図８（ｂ）において、プリンタダイアログ４１０、プリンタの追加ボタン４１１、すでに登録されたプリンタＡ、プリンタＢ、プリンタＣのプリントキュー４１２が表示されている。更に、ここまでのステップで新しく登録されたプリンタＡのプリントサービスサーバ装置１０３経由で印刷するためのサーバプリントキュー４１３が新たに追加されている。
【００６２】
次のステップからはプリントサーバ登録ボタンの実行コードにより引き続き処理することにより、付加的な機能を提供するものである。
【００６３】
Ｓ３１６において、サーバプリンタ登録ボタンの実行コードは、現在ログインしているユーザのログインＩＤを取得する。これはＯＳ１３２のシステムＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）経由で取得、あるいはレジストリや“／ｕｓｒ”ディレクトリの情報から取得可能である。続いてＳ３１７において、取得したログインＩＤと、プリントサービスサーバ装置１０３が提供するサービスＩＤが同じフォーマット（ＩＤ体系）であるか比較を行う。具体的には、サーバプリンタ登録ボタンの実行コードがプリントサービスに問い合わせするなどしてフォーマットの一致を確認することが可能である。ここでのフォーマット（体系）とは、例えば、使用可能な文字数、文字の形式などが該当する。
【００６４】
この比較において、フォーマットが一致していた場合（Ｓ３１７にてＹＥＳ）、Ｓ３１８においてプリントサーバ登録ボタンの実行コードは、クライアント装置１０１に登録されているユーザ権限を有する他のログインＩＤの情報を取得する。通常、プリントキューの登録などのシステムに変更を行う作業ができるユーザは管理者権限を有するユーザである。一方ユーザ権限を有するユーザは、プリントキューの登録などができない。そのためこの一連の処理でユーザ権限のユーザも一緒に登録すると管理者権限の手間が減ることになる。なお、ユーザ権限を有するユーザＩＤの取得は、ＯＳ１３２のレジストリからその情報を取得したり、“／ｕｓｒ”ディレクトリの情報から取得することが可能である。
【００６５】
ログインＩＤがプリントサービスのサービスＩＤのフォーマットと異なる場合（Ｓ３１７にてＮＯ）、取得したログインＩＤは使用サービス登録に使用できない。そのためＳ３１９において、プリントサーバ登録ボタンの実行コードはＩＤ入力ダイアログを表示し、ユーザにプリントサービスサーバ装置１０３のプリントサービスＩＤを入力させる。なお、このダイアログは、ユーザＩＤの入力のみの単純なダイアログであるため図示していない。続いてＳ３２０において、プリントサーバ登録ボタンの実行コードは取得したＩＤおよび、プリントサービスサーバ装置１０３から印刷ジョブを送信するためのプリンタＡのサーバ接続ポートのアドレスを、プリントサービスに登録する。ここまでのステップにおいて、プリントサービスサーバ装置１０３が提供するプリントサービスに使用するユーザとプリンタの登録が完了する。
【００６６】
続くステップでは、プリントサーバ登録ボタンの実行コードにより、さらにネットワーク１０４上にある画像出力装置Ａ１０２ａつまりプリンタＡ以外の画像出力装置を登録するステップである。
【００６７】
Ｓ３２１において、プリントサーバ登録ボタンの実行コードはデバイス探索クエリパケットをネットワーク１０４にマルチキャストする。このステップにおいて、各画像出力装置はクエリに対するリプライパケットとしてデバイスプロファイルを返信する。なお、デバイスプロファイルは図１１に示すものと同様であるため詳細な説明は省力する。
【００６８】
続いてＳ３２２において、プリントサーバ登録ボタンの実行コードは各画像出力装置から返信されたデバイスプロファイルを受信する。次にＳ３２３において、取得したデバイスプロファイルとその画像出力装置のリストを作成する。このリストは、このあとのループ処理（Ｓ３２４からＳ３３１）で１台ずつ処理するために使用するリストであり単純に画像出力装置１０２と対応するデバイスプロファイルのテーブルであり、ここでは詳細な説明は省略する。
【００６９】
続いてＳ３２４において、先に作成したプリンタリストから１台プリンタ情報を取得する。ここではまず画像出力装置Ｂ１０２ｂの情報を取得するものとする。Ｓ３２５において、取得する画像出力装置がリストに含まれているため（Ｓ３２５にてＹＥＳ）、Ｓ３２６に進む。Ｓ３２６において、対応するデバイスプロファイルにサーバプリンタ接続プロトコルはあるか確認する。ここで、画像出力装置Ｂ１０２ｂはデバイスプロファイルの通信プロトコルとして少なくともＩＰＰを対応しているものとする。ＩＰＰはサーバプリンタ接続対応プロトコルであるため、Ｓ３２６において、対応するプロトコルはあると判定される。この判定により（Ｓ３２６にてＹＥＳ）、Ｓ３２７に進む。
【００７０】
Ｓ３２７においてプリントサーバ登録ボタンの実行コードは、サーバプリンタドライバインストーラを起動し、プリントサービスサーバ装置のアドレス、プリンタＢのプリントサービスサーバ装置のサーバ接続ポートアドレスをパラメータとして渡す。なお、ここで使用するプリントサービスサーバ装置のアドレスは先に例で示したように予めプリントサーバ登録ボタンの実行コードが保持しているものとする。続いてＳ３２８においてサーバプリンタドライバインストーラは、パラメータとして受け取ったプリントサービスサーバ装置１０３のプリントサービスのアドレスを、プリントキューの出力ポートとしてプリントキューを作成する。またサーバプリンタドライバインストーラは、パラメータとしてプリンタＢのサーバ接続ポートのアドレスを受け取っている。このアドレスはプリントキューが保持しており、印刷ジョブをプリントサービスサーバ装置１０３に送信する際に、実際の出力プリンタのアドレスとして印刷ジョブ内に指定する際に使用する。
【００７１】
続いて、Ｓ３２９においてプリントサーバ登録ボタンの実行コードは、Ｓ３１６とＳ３１８あるいはＳ３１９で取得したユーザＩＤとサーバプリンタ接続ポートのアドレスとをプリントサービスサーバ装置１０３のプリントサービスに登録する。
【００７２】
Ｓ３２４に戻り、先に作成したプリンタリストから１台プリンタ情報を取得する。ここでは画像出力装置Ｃ１０２ｃの情報を取得するものとする。また、画像出力装置Ｃ１０２ｃは通信プロトコルとしてサーバプリンタに対応するプロトコルに対応していない、つまりＩＰＰに対応していないものとする。
【００７３】
Ｓ３２５において、取得する画像出力装置がリストにあるため（Ｓ３２５にてＹＥＳ）、Ｓ３２６に進む。Ｓ３２６において、対応するデバイスプロファイルにサーバプリンタ接続プロトコルはあるか確認する。ここで、画像出力装置Ｃ１０２ｃはデバイスプロファイルの通信プロトコルとしてＩＰＰに対応していない。ＩＰＰはサーバプリンタ接続対応プロトコルであるため、Ｓ３２６において、対応するプロトコルはないと判定される。この判定により（Ｓ３２６にてＮＯ）、Ｓ３３０に進む。Ｓ３３０においてプリントサーバ登録ボタンの実行コードは、サーバプリンタドライバインストーラを起動する。その際、プリントサービスサーバ装置のアドレス、登録元プリントキューつまりプリンタＡのサーバプリンタ接続ポートのアドレス、及び実際のジョブの出力先としてのプリンタＣのローカルプリント接続ポートアドレスをパラメータとして渡す。なお、ここで使用するプリントサービスサーバ装置のアドレスは先に例で示したように予めプリントサーバ登録ボタンの実行コードが保持しているものとする。
【００７４】
続いてＳ３２８においてサーバプリンタドライバインストーラは、パラメータとして受け取ったプリントサービスサーバ装置１０３のプリントサービスのアドレスを、プリントキューの出力ポートとしてプリントキューを作成する。またサーバプリンタドライバインストーラは、パラメータとしてプリンタＡのサーバ接続ポートのアドレスを受け取っている。このアドレスはプリントキューが保持しており、印刷ジョブをプリントサービスサーバ装置１０３に送信する際に、実際の出力する画像出力装置のアドレスとして印刷ジョブ内に指定する際に使用する。
【００７５】
またこのケースでは画像出力装置Ａ１０２ａがプリントサービスから印刷ジョブを受信するようになる。しかし、サーバプリンタドライバインストーラはパラメータとして実際の出力先としての画像出力装置Ｃ１０２ｃのローカル接続ポートアドレスを受け取っている。そのためこのケースで生成されるプリントキューは印刷ジョブ属性として、プリントサービスからの印刷ジョブの送信先は画像出力装置Ａ１０２ａ、実際の印刷出力先は画像出力装置Ｃ１０２ｃと指定することになる。つまり、このケースではプリントサービスサーバ装置１０３から送信される印刷ジョブは、画像出力装置Ａ１０２ａに送信される。しかし、そのジョブは画像出力装置Ｃ１０２ｃから出力されるため、画像出力装置Ａ１０２ａはプロキシとして機能し、受信した印刷ジョブを画像出力装置Ｃ１０２ｃへ転送する。続いて、Ｓ３２９においてプリントサーバ登録ボタンの実行コードは、Ｓ３１６とＳ３１８あるいはＳ３１９で取得したユーザＩＤとサーバプリンタ接続ポートのアドレスをプリントサービスサーバ装置１０３のプリントサービスに登録する。
【００７６】
ここで再度Ｓ３２４に戻るが、すでにプリンタリストに取得するプリンタ情報はないため（Ｓ３２５にてＮＯ）、処理を終了する。
【００７７】
ここまでの処理で画像出力装置Ｂ１０２ｂと画像出力装置Ｃ１０２ｃが追加された。図８（ｃ）はプリントキューが追加されたプリンタダイアログを示したものである。図８（ｃ）において、プリンタダイアログ４２０、プリンタの追加ボタン４２１、すでに登録されていたプリンタＡ、プリンタＢ、プリンタＣのプリントキュー４２２が表示されている。更にここまでのステップで新しく登録されたプリンタＢおよびプリンタＣのプリントサービスサーバ装置１０３経由で印刷するためのサーバプリントキュー４２３が表示されている。
【００７８】
［プリントサービスサーバ装置における処理］
続いてプリントサービスサーバ装置１０３の処理を図６の流れ図を用いて説明する。プリントサービスサーバ装置１０３は、Ｓ３５１においてネットワークパケットの受信処理を行う。ネットワークパケットを受信した後、Ｓ３５２に進み、自分宛のパケットであるか判定を行う。自分宛のパケットではない場合（Ｓ３５２にてＮＯ）、Ｓ３５１に戻り再度ネットワークパケットの受信処理を行う。一方自分宛のパケットである場合（Ｓ３５２にてＹＥＳ）、Ｓ３５３に進み、プリントサービスサーバ装置１０３はパケットの種別を判定する。パケットの種別が画像出力装置およびユーザＩＤ登録である場合、Ｓ３５４に進む。Ｓ３５４では、プリントサービスサーバ装置１０３は受信した画像出力装置の情報、ここでは画像出力装置のプリントサーバ接続ポートアドレスとその画像出力装置を使用するユーザＩＤの情報を登録する。この登録は、プリントサービスサーバ装置１０３のプリンタ登録プログラム１８５およびユーザ登録プログラム１８６により実行される。この実行により画像出力装置の情報とユーザ情報はプリントサービスサーバ装置のデータベース１９０に保存される。
【００７９】
Ｓ３５３にて、パケットの種別が印刷ジョブである場合、Ｓ３５５に進む。Ｓ３５５では、プリントサービスサーバ装置１０３は印刷ジョブに含まれる属性を確認し、出力先の画像出力装置および使用ユーザがデータベース１９０に登録されているか確認を行う。登録されていない場合（Ｓ３５５にてＮＯ）、Ｓ３５６に進み、プリントサービスサーバ装置１０３はジョブをキャンセルする。登録されている場合（Ｓ３５５にてＹＥＳ）、Ｓ３５７に進み、印刷ジョブ受信プログラム１８７により受信した印刷ジョブをレンダリングプログラム１８９でレンダリングを行う。さらにレンダリングした印刷データを印刷データ送信プログラム１８８により出力先の画像出力装置１０２に送信する。その後、Ｓ３５１へ戻り、ネットワークパケットを受信するまで待機する。
【００８０】
［画像出力装置における処理］
続いて画像出力装置１０２の処理を図７に示す流れ図を用いて説明する。Ｓ３７１において、画像出力装置１０２はネットワークパケットの受信処理を行う。ネットワークパケットを受信した後、Ｓ３７２に進み、自分宛のパケットであるか判定を行う。自分宛のパケットではない場合（Ｓ３７２にてＮＯ）、Ｓ３７１に戻り、画像出力装置１０２は再度ネットワークパケットの受信処理を行う。
【００８１】
一方自分宛のパケットである場合（Ｓ３７２にてＹＥＳ）、Ｓ３７３に進み、画像出力装置１０２はパケットの種別を判定する。パケットの種別がクエリパケットである場合、Ｓ３７５に進む。Ｓ３７５では、画像出力装置１０２は自身のデバイスプロファイルのパケットを生成し、問い合わせ元に返信する。Ｓ３７３にてパケットの種別が印刷ジョブパケットである場合、Ｓ３７４にて画像出力装置１０２は印刷データを受信し、印刷ジョブを実行する。
【００８２】
以上の一連の処理により、ユーザがプリントサービスサーバ装置に登録したい画像出力装置のプリントキューのプリントサーバ登録ボタンを押下するのみで登録が可能となる。またローカルネットワーク上に他の画像出力が存在する場合、それらの登録も合わせて行うことが可能となる。
【００８３】
＜第二実施形態＞
以下、本発明に係る第二実施形態について図面を用いて説明する。図９（ｂ）および図１２乃至１７は本発明に係る第二実施形態を説明する図である。本実施形態では、印刷システムがドキュメントサービスサーバ装置（ドキュメントサーバ装置）を新たに備える。このドキュメントサービスサーバ装置とプリントサービスサーバ装置とが連携する際に用いられる、プリントサービスサーバ装置に登録されている画像出力装置を容易にドキュメントサービスサーバ装置に登録可能とする。
【００８４】
図１２は、本発明の第二実施形態に係る印刷システムの概略構成を示すブロック図である。本実施形態の印刷システムでは、ユーザが操作するクライアント装置８０１、印刷ジョブを受信し出力を行う複数の画像出力装置８０２を備える。これらはＥｔｈｅｒｎｅｔ（登録商標）などで構成されるネットワーク８０４を介して接続されている。クライアント装置８０１、プリントサービスサーバ装置８０３、およびドキュメントサービスサーバ装置８０７は、ネットワーク８０４上に存在するゲートウェイ装置８０５を介しインターネット８０６経由で接続される。
【００８５】
なお、画像出力装置８０２はクライアント装置８０１が生成した印刷ジョブをネットワーク８０４経由で受信し印刷する。これに加えて、画像出力装置８０２は、プリントサービスサーバ装置８０３からのジョブも受信し印刷することが可能である。また、ドキュメントサービスサーバ装置８０７は、クライアント装置８０１のブラウザやアプリケーションからインターネット８０６を経由して、ドキュメントの編集、管理、印刷などのアプリケーションサービスを提供するサーバ装置である。また、ドキュメントサービスサーバ装置８０７はプリントサービスサーバ装置８０３と連携して、処理を行うことが可能である。
【００８６】
具体的には、ユーザはドキュメントサービスサーバ装置８０７に対する管理画面などを参照して、プリントサービスサーバ装置８０３に登録された画像出力装置８０２を登録させる。この後、ユーザはドキュメントサービスサーバ装置８０７が提供するアプリケーションサービスを使用してドキュメントを作成し、プリントサービスサーバ装置８０３に登録された画像出力装置８０２に印刷指示を行う。続いてドキュメントサービスサーバ装置８０７からプリントサービスサーバ装置８０３に、印刷ジョブが送信される。これにより、ジョブ送信が実現される。プリントサービスサーバ装置８０３は受信した印刷ジョブをレンダリングし、指定されている画像出力装置８０２に印刷データを送信する。
【００８７】
このようにドキュメントサービスサーバ装置８０７およびプリントサービスサーバ装置８０３を、クライアント装置１０１のブラウザ上から利用することにより、ドキュメントサービスサーバ装置上に保持されたドキュメントを印刷することが可能となる。
【００８８】
なお図１２において、ドキュメントサービスサーバ装置８０７を除く構成、装置、および要素は第一実施形態にて述べた図１と同様のため、各装置のブロック図による詳細な説明は省略する。
【００８９】
［ドキュメントサービスサーバ装置］
ここでは図１３を用いてドキュメントサービスサーバ装置８０７の構成について説明する。ドキュメントサービスサーバ装置８０７において、ＣＰＵ８１１は、記憶部であるＲＡＭ８１２等に記憶されているプログラムに従って、システムバス８１４に接続される各デバイスを総括的に制御している。ＲＡＭ８１２は、ＣＰＵ８１１の主メモリ、ワークエリア等としても機能している。ＲＯＭ８１３は、各種プログラム及びデータを格納している。キーボードコントローラＩ／Ｆ８１６は、キーボード８２０や不図示のポインティングデバイス（マウス）からの入力を制御する。表示部Ｉ／Ｆ８１５は、表示部８１９への表示を制御している。
【００９０】
外部メモリＩ／Ｆ８１７は、例えばＨＤ、ＳＳＤ等の外部メモリ８２１とのアクセスを制御する。外部メモリ８２１は、ＯＳ８２２をはじめウェブサービスライブラリ８２３、ドキュメントサービスプログラム８２４を備える。さらに、ユーザファイル、その他設定ファイル等をデータベース８３０として記憶するコンピュータが保存または、読み取り可能な記憶媒体として機能する。ドキュメントサービスプログラム８２４は、ユーザ登録プログラム８２５、プリンタ登録プログラム８２６、印刷ジョブ生成プログラム８２７、印刷データ送信プロクラム８２８、アプリケーションスクリプト８２９を含んでいる。また、ネットワークＩ／Ｆ８１８は、インターネット８０６を介してクライアント装置８０１、プリントサービスサーバ装置８０３に接続され、通信制御処理を行う。
【００９１】
［システムにおける処理シーケンス］
次に図１４乃至１６の流れ図を用いて各装置の処理の流れを説明する。なお、ローカルプリントキューおよびサーバプリントキューの登録は第一実施形態と同様のため説明は省略する。ここでは、第二実施形態に係る部分の説明を行う。
【００９２】
［ドキュメントサービスサーバ装置における処理］
図１４はドキュメントサービスサーバ装置８０７の処理の流れ図を示したものである。Ｓ９０１において、ドキュメントサービスサーバ装置８０７は、ネットワークＩ／Ｆ８１８を介してネットワークパケットを受信する。ネットワークパケットの受信の後、Ｓ９０２において、ドキュメントサービスサーバ装置８０７は受信したネットワークパケットが自分宛か判定する。自分宛ではない場合（Ｓ９０２にてＮＯ）、Ｓ９０１に戻り、ドキュメントサービスサーバ装置８０７は、再度ネットワークパケットの受信を行う。
【００９３】
自分宛である場合（Ｓ９０２にてＹＥＳ）、Ｓ９０３に進み、ドキュメントサービスサーバ装置８０７は、ネットワークパケットの種別の判定を行う。受信したネットワークパケットが「ドキュメントサービス処理」の場合、Ｓ９０４に進み、各種ドキュメントサービス処理を行う。ここでのドキュメントサービス処理とは、例えばウェブブラウザベースのアプリケーションサービスの場合を考える。この場合は、クライアント装置８０１からＵＲＬページの要求を受け付けると、アプリケーションスクリプトをクライアント装置８０１に送信する、などである。
【００９４】
Ｓ９０３においてネットワークパケットの種別が「プリンタ登録」である場合、Ｓ９０５に進み、ドキュメントサービスサーバ装置８０７はプリンタ登録処理を行う。これは、ドキュメントサービスサーバ装置８０７の外部メモリに保存されているプリンタ登録プログラム８２６により実行される。
【００９５】
Ｓ９０３においてパケット種別が「ユーザ登録」である場合、Ｓ９０６に進み、ドキュメントサービスサーバ装置８０７はユーザ登録処理を行う。これは、ドキュメントサービスサーバ装置８０７の外部メモリ８２１に保存されているユーザ登録プログラム８２５により実行される。ネットワークパケットの種別に応じた処理が完了した後、Ｓ９０１に戻り、次のネットワークパケットを受信するまで待機する。
【００９６】
［クライアント装置における処理］
図１５および図１６はクライアント装置８０１上の処理の流れの説明である。図１５はユーザがＯＳ８２２にログインする際の処理を示したものである。なお、ログインする際に実行される処理はログインスクリプトなどと呼ばれ、ＯＳ８２２がログイン時に処理を実行するものである。
【００９７】
Ｓ９１１において、ユーザはクライアント装置８０１のＯＳ８２２にログインする。続いてＳ９１２において、ＯＳ８２２はクライアント装置８０１の外部メモリに保存されているログインスクリプトを起動する。Ｓ９１３において、起動されたログインスクリプトは、ログインしたユーザのドキュメントサービスＩＤがすでに保存されているか確認する。この情報は、ドキュメントサービスを実行するために用いられる認証情報等を含む。また、ドキュメントサービスＩＤは、ログインスクリプトがアクセス可能な、クライアント装置８０１の外部メモリに格納されているものとする。具体的には、ＯＳのレジストリや“／ｕｓｒ”ディレクトリ以下のアクセス可能なキーあるいはファイルである。ドキュメントサービスＩＤが保存されていれば（Ｓ９１４にてＹＥＳ）、処理を終了する。ドキュメントサービスＩＤが保存されていない場合（Ｓ９１４にてＮＯ）、Ｓ９１５に進み、ログインスクリプトはドキュメントサービスＩＤの入力ダイアログをクライアント装置８０１上に表示させる。
【００９８】
図１７はそのダイアログの一例を示している。図１７において、ドキュメントサービスＩＤ登録ダイアログ１０００、ドキュメントサービスのログインＩＤとパスワードを入力するコントロール１００１、１００２を示している。なお、登録しないドキュメントサービスについては、ドキュメントサービス名の横に配置されているチェックボックスを“ＯＦＦ”にする（すなわち、チェックを外す）ことで登録しないようにすることができる。
【００９９】
ドキュメントサービスＩＤ登録におけるチェックボックス、およびコントロール１００１，１００２に対する入力が終わったら、ユーザはＯＫボタン１００３を押下する。なおキャンセルする場合は、ユーザはキャンセルボタン１００４を押下する。続いてＳ９１６において、ログインスクリプトはＳ９１５においてユーザが入力したログインＩＤおよびパスワードをドキュメントサービス毎にクライアント装置８０１の外部メモリ８２１に保存する。これにより、ドキュメントサービスに対応するログインＩＤおよびパスワードを含む認証情報が保持される。
【０１００】
図１６はクライアント装置８０１上でユーザがドキュメントサービスサーバ装置８０７のドキュメントサービスに画像出力装置を登録する流れを示したものである。Ｓ９２１において、ユーザはクライアント装置８０１のＯＳ上でサーバプリントキューのプリントキューダイアログを開く。図９（ｂ）はプリントサービスサーバ（画像出力装置）のプリントキューダイアログの一例を示したものである。図９（ｂ）において、プリントキューダイアログ５１０は、サーバプリンタであるプリンタＡ（プリントサービスサーバ）のプリントキューダイアログを示している。
【０１０１】
概略情報５１１はプリンタＡ（プリントサービスサーバ）に関する情報の概略を示している。この例では、プリンタＡの外観、プリンタ名称である「プリンタＡ（プリントサービスサーバ）」、画像出力装置の印刷状態を示すステータス、画像出力装置の種別が表示されている。なお、ここで示した情報に限定するものではなく、画像出力装置から取得した他の情報を表示させても構わない。表示ボタン５１２は、印刷ジョブの処理状況を示すプリントキューを表示するためのボタンである。ドキュメントサービス登録ボタン５１３はドキュメントサービスサーバ装置８０７のドキュメントサービスに画像出力装置を登録するボタンである。このボタンを押下することにより、出力先登録を行う。
【０１０２】
ユーザは利用しているドキュメントサービスに画像出力装置を登録するために、ドキュメントサービス登録ボタン５１３を押下する。なおこのボタンの押下により実行するためのベンダ独自の実行コードが定義可能となっており、この操作により実行コードが実行される。この実行コードは、例えば、プリンタドライバによって提供される。
【０１０３】
ユーザはＳ９２１においてこのドキュメントサービス登録ボタン５１３を押下する。この指示により、Ｓ９２２においてドキュメントサービス登録ボタン５１３の実行コードは、ＯＳに保存されているドキュメントサービスのログインＩＤおよびパスワードを検索する。ここで検索された認証情報が、保存されていない場合は（Ｓ９２３にてＮＯ）、処理を終了する。認証情報が保存されている場合は（Ｓ９２３にてＹＥＳ）、Ｓ９２４に進む。Ｓ９２４ではドキュメントサービス登録ボタン５１３の実行コードは、保存されているログインＩＤ、パスワードを使用してドキュメントサービスにログインする。続いて、実行コードは、ドキュメントサービスのＷｅｂＡＰＩなどを使用して、そのユーザが使用するプリントサービスサーバ装置に登録された画像出力装置をドキュメントサービスに登録する。具体的にはこの場合、ユーザはプリンタＡ（プリントサービスサーバ）の登録を行いたいため、実行コードは、プリントサービスサーバ装置の宛先とこの画像出力装置のサーバ接続ポートアドレス情報を登録する。これにより、ドキュメントサービスへのポート登録を行うこととなる。
【０１０４】
以上により、ユーザは使用するドキュメントサービス情報を入力しておくことにより、ドキュメントサービスに登録したい画像出力装置を、プリントキューのボタンを押下するのみで登録することが可能となる。
【０１０５】
＜その他の実施形態＞
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
0005698557.tif 000002
【図２】
0005698557.tif 000003
【図３】
0005698557.tif 000004
【図４】
0005698557.tif 000005
【図５Ａ】
0005698557.tif 000006
【図５Ｂ】
0005698557.tif 000007
【図６】
0005698557.tif 000008
【図７】
0005698557.tif 000009
【図８】
0005698557.tif 000010
【図９】
0005698557.tif 000011
【図１０】
0005698557.tif 000012
【図１１】
0005698557.tif 000013
【図１２】
0005698557.tif 000014
【図１３】
0005698557.tif 000015
【図１４】
0005698557.tif 000016
【図１５】
0005698557.tif 000017
【図１６】
0005698557.tif 000018
【図１７】
0005698557.tif 000019