(57)【要約】【課題】ユーザがローカルネットワーク内のどの場所に居ても、ユーザの手近にあるプリンタで印刷できるようにする。【解決手段】「どこでも印刷できる」ために、印刷データを各々のプリンタに抱え込ませ、プリンタ自体にｗｅｂサーバの機能を持たせる。ユーザは印刷を実行したいプリンタを操作して、印刷データを抱えるプリンタから所望の印刷データをダウンロードして、印刷する。また、印刷データの在り処を示すＵＲＬを保持するインデックスサーバを用意する。ユーザは所定のネットワークの範囲内にある、所定の機能を満たすプリンタであれば、どのプリンタでもログイン認証後、印刷ができる。【選択図】図１
2014056603.tif 000002
【特許請求の範囲】
【請求項１】
ユーザ情報および印刷の対象となる印刷データを受信し前記印刷データを格納する１台以上の第１の機器と、前記第１の機器に格納される前記印刷データを取得して印刷を実行する１台以上の第２の機器と、ユーザインターフェースを備える情報処理装置と、前記第１の機器に格納される前記印刷データに関する第１の情報として、前記印刷データの文書名情報および前記ユーザ情報を前記第１の機器から受信して記憶し、前記１台以上の第２の機器のいずれであるかを特定する特定情報のリストを記憶する管理装置と、がネットワークを介して通信可能に接続し、前記第１の機器が格納する前記印刷データの印刷を前記第２の機器において実行する印刷システムであって、
前記情報処理装置においてユーザ情報の入力を受け付ける入力手段と、
前記情報処理装置が前記管理装置にネットワークを介してアクセスする通信手段と、
入力されたユーザ情報に基づき検索された第１の情報の前記文書名情報を、前記管理装置にアクセスした情報処理装置において表示する表示手段と、
表示した文書名情報に基づき、印刷を実行する印刷データの選択を受け付けるデータ選択手段と、
選択された印刷データを印刷させる印刷命令を送信するときの通信先となる第２の機器を前記リストに基づき選択する機器選択手段と、
選択された前記通信先となる第２の機器に対して、前記選択された印刷データを印刷させる印刷命令を送信する印刷命令手段と、
を有する印刷システム。
【請求項２】
前記機器選択手段は、前記リストに基づき、前記アクセスした情報処理装置と同じサブネット内の第２の機器を前記通信先となる第２の機器に選択する請求項１に記載の印刷システム。
【請求項３】
前記機器選択手段は、前記１台以上の第２の機器のいずれであるかを特定するＩＰアドレスを特定情報とした前記リストに基づき、前記アクセスした情報処理装置と同じサブネット内の第２の機器を前記通信先となる第２の機器に選択する請求項２に記載の印刷システム。
【請求項４】
前記機器選択手段は、ユーザ選択により前記通信先となる第２の機器を選択する請求項１乃至３のいずれか１項に記載の印刷システム。
【請求項５】
ユーザ情報および印刷の対象となる印刷データを受信し前記印刷データを格納し、格納した前記印刷データに関する第１の情報として、前記印刷データの文書名情報および前記ユーザ情報を第１の機器から受信して記憶し、１台以上の第２の機器のいずれであるかを特定する特定情報のリストを記憶する１台以上の前記第１の機器と、前記第１の機器に格納される前記印刷データを取得して印刷を実行する１台以上の前記第２の機器と、ユーザインターフェースを備える情報処理装置と、がネットワークを介して通信可能に接続し、前記第１の機器が格納する前記印刷データの印刷を前記第２の機器において実行する印刷システムであって、
前記情報処理装置においてユーザ情報の入力を受け付ける入力手段と、
前記情報処理装置が前記第１の機器にネットワークを介してアクセスする通信手段と、
入力されたユーザ情報に基づき検索された第１の情報の前記文書名情報を、前記第１の機器にアクセスした情報処理装置において表示する表示手段と、
表示した文書名情報に基づき、印刷を実行する印刷データの選択を受け付けるデータ選択手段と、
選択された印刷データを印刷させる印刷命令を送信するときの通信先となる第２の機器を前記リストに基づき選択する機器選択手段と、
選択された前記通信先となる第２の機器に対して、前記選択された印刷データを印刷させる印刷命令を送信する印刷命令手段と、
を有する印刷システム。
【請求項６】
前記機器選択手段は、前記リストに基づき、前記アクセスした情報処理装置と同じサブネット内の第２の機器を前記通信先となる第２の機器に選択する請求項５に記載の印刷システム。
【請求項７】
前記機器選択手段は、前記１台以上の第２の機器のいずれであるかを特定するＩＰアドレスを特定情報とした前記リストに基づき、前記アクセスした情報処理装置と同じサブネット内の第２の機器を前記通信先となる第２の機器に選択する請求項６に記載の印刷システム。
【請求項８】
前記機器選択手段は、ユーザ選択により前記通信先となる第２の機器を選択する請求項５乃至７のいずれか１項に記載の印刷システム。
【請求項９】
ユーザ情報および印刷の対象となる印刷データを受信し前記印刷データを格納する１台以上の第１の機器と、前記第１の機器に格納される前記印刷データを取得して印刷を実行する１台以上の第２の機器と、ユーザインターフェースを備える情報処理装置と、前記第１の機器に格納される前記印刷データに関する第１の情報として、前記印刷データの文書名情報および前記ユーザ情報を前記第１の機器から受信して記憶し、前記１台以上の第２の機器のいずれであるかを特定する特定情報のリストを記憶する管理装置と、がネットワークを介して通信可能に接続する印刷システムにおいて、前記第１の機器が格納する前記印刷データの印刷を前記第２の機器が実行する印刷方法であって、
前記情報処理装置においてユーザ情報の入力を受け付ける入力ステップと、
前記情報処理装置が前記管理装置にネットワークを介してアクセスする通信ステップと、
入力されたユーザ情報に基づき検索された第１の情報の前記文書名情報を、前記管理装置にアクセスした情報処理装置において表示する表示ステップと、
表示した文書名情報に基づき、印刷を実行する印刷データの選択を受け付けるデータ選択ステップと、
選択された印刷データを印刷させる印刷命令を送信するときの通信先となる第２の機器を前記リストに基づき選択する機器選択ステップと、
選択された前記通信先となる第２の機器に対して、前記選択された印刷データを印刷させる印刷命令を送信する印刷命令ステップと、
を有する印刷方法。
【請求項１０】
ユーザ情報および印刷の対象となる印刷データを受信し前記印刷データを格納し、格納した前記印刷データに関する第１の情報として、前記印刷データの文書名情報および前記ユーザ情報を第１の機器から受信して記憶し、１台以上の第２の機器のいずれであるかを特定する特定情報のリストを記憶する１台以上の前記第１の機器と、前記第１の機器に格納される前記印刷データを取得して印刷を実行する１台以上の前記第２の機器と、ユーザインターフェースを備える情報処理装置と、がネットワークを介して通信可能に接続する印刷システムにおいて、前記第１の機器が格納する前記印刷データの印刷を前記第２の機器が実行する印刷方法であって、
前記情報処理装置においてユーザ情報の入力を受け付ける入力ステップと、
前記情報処理装置が前記第１の機器にネットワークを介してアクセスする通信ステップと、
入力されたユーザ情報に基づき検索された第１の情報の前記文書名情報を、前記第１の機器にアクセスした情報処理装置において表示する表示ステップと、
表示した文書名情報に基づき、印刷を実行する印刷データの選択を受け付けるデータ選択ステップと、
選択された印刷データを印刷させる印刷命令を送信するときの通信先となる第２の機器を前記リストに基づき選択する機器選択ステップと、
選択された前記通信先となる第２の機器に対して、前記選択された印刷データを印刷させる印刷命令を送信する印刷命令ステップと、
を有する印刷方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷システムおよび印刷方法に適用して好適な技術に関する。
【背景技術】
【０００２】
ネットワークの普及により、オフィスに導入される情報システムには、業務効率の向上と、セキュリティの確保が求められている。
このことは、プリンタにおいても同様である。
かつてはプリンタ単体の機能の充実が競争の要素であったが、今やシステム全体として、印刷にかかわる問題を解決することが求められている。情報システムの「ソリューション（solution）」といわれる、システム導入形態である。単にプリンタを提供するだけでは、商品の差別化が難しくなっている。
【０００３】
広大なオフィスに、ネットワークに接続されるプリンタが複数台導入されることに伴い、印刷物を経由した情報漏洩の問題が顕在化しつつある。つまり、プリンタが多くの社員の印刷出力を引き受けるようになったことにより、ある社員が出力した印刷物に記載されている機密情報が、意図しない他の社員に見られてしまうことが頻発している。
【０００４】
一方、欧米ではプリンタがオフィスのフロア外に設置されることが多い。このため、印刷物を介した情報漏洩の問題は早くから認知されていた。そこで、欧米では「オンデマンド印刷」という、プリンタによる印刷物の出力方法が普及している。
【０００５】
なお、先行技術文献として、プリンタを含む情報システムの一例を特許文献１に示す。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
近年では情報システムのセキュリティを維持し、向上させる目的で、従来のパソコンに代えて、シンクライアント（Thin  Client）を導入する事例が台頭しつつある。
シンクライアントとは、文字通り「薄いクライアント」、つまり従来のパソコンよりも処理能力を簡素にした、端末装置である。ハードディスク等を持たず、サーバからネットワーク経由でＯＳをロードしてブートし、どのシンクライアントからログインしても、ログインしたユーザの環境が再現されるものである。
【０００７】
上述した、シンクライアントを導入したシステムの場合、ユーザはどの端末装置を使っても、均等に作業ができる。
【０００８】
通常、パソコンやシンクライアントから印刷を行うには、当該ユーザの環境（ＯＳ）のプリンタドライバに、印刷したいプリンタを登録する。具体的には、プリンタのＩＰアドレス或はＦＱＤＮ（Fully  Qualified  Domain  Name：ＴＣＰ／ＩＰネットワーク上で、ドメイン名・サブドメイン名・ホスト名を省略せずにすべて指定した記述形式。）や、印刷データを送信する際に用いるプロトコル等を登録する。
一旦これら情報を登録すると、登録したプリンタからしか印刷はできない。
よって、例えば、場所を移動してシンクライアントを使用したり、或はノートＰＣ等を持ち歩き、移動先にて作業するような場合には、ユーザの想定外のプリンタへ印刷されてしまうなどの不都合を生じることもある。
【０００９】
本発明はかかる点に鑑みてなされたものであり、クライアントＰＣの設定を変更することなく、ユーザが所望するプリンタでの印刷を可能にする管理装置、印刷制御方法およびネットワークシステムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記課題を解決するための本発明は、ユーザ情報および印刷の対象となる印刷データを受信し前記印刷データを格納する１台以上の第１の機器と、前記第１の機器に格納される前記印刷データを取得して印刷を実行する１台以上の第２の機器と、ユーザインターフェースを備える情報処理装置と、前記第１の機器に格納される前記印刷データに関する第１の情報として、前記印刷データの文書名情報および前記ユーザ情報を前記第１の機器から受信して記憶し、前記１台以上の第２の機器のいずれであるかを特定する特定情報のリストを記憶する管理装置と、がネットワークを介して通信可能に接続し、前記第１の機器が格納する前記印刷データの印刷を前記第２の機器において実行する印刷システムであって、前記情報処理装置においてユーザ情報の入力を受け付ける入力手段と、前記情報処理装置が前記管理装置にネットワークを介してアクセスする通信手段と、入力されたユーザ情報に基づき検索された第１の情報の前記文書名情報を、前記管理装置にアクセスした情報処理装置において表示する表示手段と、表示した文書名情報に基づき、印刷を実行する印刷データの選択を受け付けるデータ選択手段と、選択された印刷データを印刷させる印刷命令を送信するときの通信先となる第２の機器を前記リストに基づき選択する機器選択手段と、選択された前記通信先となる第２の機器に対して、前記選択された印刷データを印刷させる印刷命令を送信する印刷命令手段と、を有する。
【００１１】
また、本発明は、ユーザ情報および印刷の対象となる印刷データを受信し前記印刷データを格納し、格納した前記印刷データに関する第１の情報として、前記印刷データの文書名情報および前記ユーザ情報を第１の機器から受信して記憶し、１台以上の第２の機器のいずれであるかを特定する特定情報のリストを記憶する１台以上の前記第１の機器と、前記第１の機器に格納される前記印刷データを取得して印刷を実行する１台以上の前記第２の機器と、ユーザインターフェースを備える情報処理装置と、がネットワークを介して通信可能に接続し、前記第１の機器が格納する前記印刷データの印刷を前記第２の機器において実行する印刷システムであって、前記情報処理装置においてユーザ情報の入力を受け付ける入力手段と、前記情報処理装置が前記第１の機器にネットワークを介してアクセスする通信手段と、入力されたユーザ情報に基づき検索された第１の情報の前記文書名情報を、前記第１の機器にアクセスした情報処理装置において表示する表示手段と、表示した文書名情報に基づき、印刷を実行する印刷データの選択を受け付けるデータ選択手段と、選択された印刷データを印刷させる印刷命令を送信するときの通信先となる第２の機器を前記リストに基づき選択する機器選択手段と、選択された前記通信先となる第２の機器に対して、前記選択された印刷データを印刷させる印刷命令を送信する印刷命令手段と、を有する。
【００１２】
また、本発明は、ユーザ情報および印刷の対象となる印刷データを受信し前記印刷データを格納する１台以上の第１の機器と、前記第１の機器に格納される前記印刷データを取得して印刷を実行する１台以上の第２の機器と、ユーザインターフェースを備える情報処理装置と、前記第１の機器に格納される前記印刷データに関する第１の情報として、前記印刷データの文書名情報および前記ユーザ情報を前記第１の機器から受信して記憶し、前記１台以上の第２の機器のいずれであるかを特定する特定情報のリストを記憶する管理装置と、がネットワークを介して通信可能に接続する印刷システムにおいて、前記第１の機器が格納する前記印刷データの印刷を前記第２の機器が実行する印刷方法であって、前記情報処理装置においてユーザ情報の入力を受け付ける入力ステップと、前記情報処理装置が前記管理装置にネットワークを介してアクセスする通信ステップと、入力されたユーザ情報に基づき検索された第１の情報の前記文書名情報を、前記管理装置にアクセスした情報処理装置において表示する表示ステップと、表示した文書名情報に基づき、印刷を実行する印刷データの選択を受け付けるデータ選択ステップと、選択された印刷データを印刷させる印刷命令を送信するときの通信先となる第２の機器を前記リストに基づき選択する機器選択ステップと、選択された前記通信先となる第２の機器に対して、前記選択された印刷データを印刷させる印刷命令を送信する印刷命令ステップと、を有する。
【００１３】
また、本発明は、ユーザ情報および印刷の対象となる印刷データを受信し前記印刷データを格納し、格納した前記印刷データに関する第１の情報として、前記印刷データの文書名情報および前記ユーザ情報を第１の機器から受信して記憶し、１台以上の第２の機器のいずれであるかを特定する特定情報のリストを記憶する１台以上の前記第１の機器と、前記第１の機器に格納される前記印刷データを取得して印刷を実行する１台以上の前記第２の機器と、ユーザインターフェースを備える情報処理装置と、がネットワークを介して通信可能に接続する印刷システムにおいて、前記第１の機器が格納する前記印刷データの印刷を前記第２の機器が実行する印刷方法であって、前記情報処理装置においてユーザ情報の入力を受け付ける入力ステップと、前記情報処理装置が前記第１の機器にネットワークを介してアクセスする通信ステップと、入力されたユーザ情報に基づき検索された第１の情報の前記文書名情報を、前記第１の機器にアクセスした情報処理装置において表示する表示ステップと、表示した文書名情報に基づき、印刷を実行する印刷データの選択を受け付けるデータ選択ステップと、選択された印刷データを印刷させる印刷命令を送信するときの通信先となる第２の機器を前記リストに基づき選択する機器選択ステップと、選択された前記通信先となる第２の機器に対して、前記選択された印刷データを印刷させる印刷命令を送信する印刷命令ステップと、を有する。
【発明の効果】
【００１４】
本発明によれば、ユーザが所望するプリンタから印刷を可能とすることができる管理装置、印刷制御方法およびネットワークシステムを提供できる。
【図面の簡単な説明】
【００１５】
【図１】本発明の第１の実施の形態の例である、オンデマンド印刷システムの全体構成図である。
【図２】本実施形態の大まかな動作の流れを示す概略図である。
【図３】クライアントＰＣの内部機能ブロック図である。
【図４】クライアントＰＣが作成する印刷データの中身を示す概略図である。
【図５】プリンタＡとプリンタＢの内部機能を説明する機能ブロック図である。
【図６】図５に開示したプリンタの機能ブロック図のうち、第１のプリンタとして動作するときの、機能する部分を明示したブロック図である。
【図７】インデックスサーバの機能ブロック図である。
【図８】インデックステーブルの主要なフィールドを詳述する表である。
【図９】図５に開示したプリンタの機能ブロック図のうち、第２のプリンタとして動作するときの、機能する部分を明示したブロック図である。
【図１０】プリンタの表示部に表示される表示画面を示す図である。
【図１１】オンデマンド印刷システムを構成する各機器の動作の流れを示すフロー図である。
【図１２】クライアントＰＣにて印刷データを生成し、第１のプリンタに送信する動作を示す概略図である。
【図１３】第１のプリンタからインデックスサーバに印刷データのＵＲＬを通知する動作を示す概略図である。
【図１４】第２のプリンタから認証サーバを通じてユーザを認証する動作を示す概略図である。
【図１５】第２のプリンタがインデックスサーバに印刷データのリストを要求し、それを受信する動作を示す概略図である。
【図１６】印刷を実行しようとする第２のプリンタが、印刷データを抱える第１のプリンタから印刷データを受信して印刷する動作を示す概略図である。
【図１７】ＧＰＳフィルタのフローチャートである。
【図１８】プリンタから認証サーバを通じてユーザを認証する動作を示す概略図である。
【図１９】プリンタがインデックスサーバに印刷データのリストを要求し、それを受信する動作を示す概略図である。
【図２０】プリンタが印刷データを抱えるプリンタの印刷データを削除するべく、インデックスサーバにその旨を通知する動作を示す概略図である。
【図２１】プリンタがインデックスサーバをポーリングし、削除フラグが付されている印刷データを削除する動作を示す概略図である。
【図２２】本発明の第２の実施の形態の例である、オンデマンド印刷システムの全体構成図である。
【図２３】第１のプリンタのブロック図である。
【図２４】第２のプリンタのブロック図である。
【図２５】第２のクライアントＰＣ２２０６の機能ブロック図である。
【図２６】インデックスサーバの機能を包含するプリンタの機能ブロック図である。
【発明を実施するための形態】
【００１６】
以下、本発明の実施の形態を説明する。
【００１７】
図示を伴う本実施形態の説明の前に、本実施形態の概略を説明する。
本実施形態は、オンデマンド印刷システムである。
一般的には「オンデマンド印刷」という言葉は、版下を用いない、少部数短納期の印刷を指すようである。しかし、本明細書の限りにおいては、「オンデマンド印刷」を、「ユーザがプリンタに所定の操作を行って初めて印刷できる印刷手法」と定義する。これは、「オンデマンド（on  demand）」という言葉が、情報システムの業界において「ユーザの要求があった時にサービスを提供する手法」を意味することに由来する。
【００１８】
本実施形態にて説明するオンデマンド印刷システムは、例えば、企業ユーザが系列支社に出張しても、普段使用しているノートＰＣの設定を何ら変更することなく、出張先の社屋内のプリンタを用いて印刷ができるシステムである。
通常、パソコンから所定の文書等の印刷を行う際には、パソコン内部のプリンタドライバの設定によって、印刷するプリンタが固定されている。このため、従来では、設定を変更せずにそのままそのパソコンを出張先に持ち込んでも、プリンタドライバの設定を変更しなければ、印刷データは普段使っているプリンタに出力されてしまう。
プリンタドライバの設定を変更するには、ＯＳの管理者権限が必要になる。企業では多くの場合、ネットワーク管理者しか、その設定を変更できないので、極めて煩雑である。
本実施形態では、出張先の支社のプリンタでも印刷を実行できるように、システムを構成したものである。
【００１９】
本実施形態において、「プリンタ」と記載するものは、単機能のプリンタ（画像形成装置）のみならず、コピー機、ファクシミリ、スキャナ装置等の機能をも有する「多機能プリンタ（ＭＦＰ：Multi-Function  Printer）」も含むものとする。
【００２０】
［第１の実施形態］
図１は、第１の実施の形態の例である、オンデマンド印刷システムの全体構成図である。
本実施形態のオンデマンド印刷システム１０１には、以下の装置が必要となる。
（１）第１のプリンタともいえる、プリンタＡ１０２。
（２）第２のプリンタともいえる、プリンタＢ１０３。
（３）例えばノートＰＣである、情報処理装置であるクライアントＰＣ１０４。
（４）インデックスサーバ１０５。
（５）認証サーバ１０６。
（６）（１）乃至（５）を接続するネットワーク。
なお、インデックスサーバ１０５と認証サーバ１０６は、その機能を一体化することができる。また、認証サーバ１０６を用いる代わりに、後述する他の手段を用いる認証方法もある。
【００２１】
図１は、ある会社の社内ネットワーク（以下「社内ＬＡＮ」）を図示している。
甲会社は東京に本社があり、大阪に支社がある。
甲会社の東京本社１０７は、所定のサブネット、例えば192.168.10.0/24のサブネットよりなる、プライベートＩＰの社内ＬＡＮ１０８を構成している。
東京本社１０７の社内ＬＡＮ１０８には、プリンタＡ１０２、インデックスサーバ１０５及び認証サーバ１０６が接続されている。
そして、普段は東京本社１０７に勤務する社員であるユーザＡ１１５が、甲会社から自身に貸与されているクライアントＰＣ１０４を社内ＬＡＮ１０８に接続して使用している。
クライアントＰＣ１０４はＤＨＣＰ（Dynamic  Host  Configuration  Protocol：ＴＣＰ／ＩＰネットワークに一時的に接続するネットワーク機器に対し、ＩＰアドレスやゲートウェイ情報等、必要な情報を自動的に割り当てるプロトコル。）クライアントであり、図示しないＤＨＣＰサーバからＩＰアドレスの貸与を受け、社内ＬＡＮ１０８に接続できる。例えば、192.168.10.51というＩＰアドレスが付与される。
【００２２】
クライアントＰＣ１０４に対して、プリンタＡ１０２、インデックスサーバ１０５、そして認証サーバ１０６は、それぞれ固定のプライベートＩＰアドレスが割り当てられている。例えば、プリンタＡ１０２には192.168.10.11、インデックスサーバ１０５には192.168.10.3、そして認証サーバ１０６には192.168.10.4が割り当てられている。
社内ＬＡＮ１０８は周知のファイアウォール１０９で「外界」ともいえるインターネット７０から隔離されている。ファイアウォール１０９は、インターネット７０を経由する、悪意ある侵入者からの侵入行為を防ぐ。
【００２３】
一方、甲会社の大阪支社１１１は、東京本社１０７とは異なるサブネットである、例えば、192.168.20.0/24のサブネットよりなる、プライベートＩＰの社内ＬＡＮ１１２を構成している。
大阪支社１１１の社内ＬＡＮ１１２には、プリンタＢ１０３が接続されている。プリンタＢ１０３には、例えば192.168.20.11という固定のプライベートＩＰアドレスが割り当てられている。
この社内ＬＡＮ１１２も、ファイアウォール１１３にてインターネット７０から隔離されている。
【００２４】
東京本社１０７と大阪支社１１１の、双方の社内ＬＡＮは、インターネットＶＰＮ（Internet  Virtual  Private  Network：インターネット７０を経由して構築される仮想プライベートネットワーク）１１４にて相互接続されている。したがって、東京本社１０７と大阪支社１１１の双方の社内ＬＡＮ同士は、論理的には全くシームレスに相互接続が可能になっている。
なお、本実施形態では、分かりやすさのために、東京と大阪という遠隔地を想定して説明しているが、近距離であっても、また同一社屋内であっても、全く同様である。要するに、ユーザはローカルネットワーク上の何処にいても手近にあるプリンタで印刷したいと望み、本実施形態はこれを実現するものである。
【００２５】
図２（ａ）及び（ｂ）は、本実施形態の大まかな動作の流れを示す概略図であり、ほぼ、図１に対応している。
図２（ａ）は、ユーザＡ１１５が普段東京本社１０７にて甲会社の業務を遂行している状態における、印刷処理を図示する。
ユーザＡ１１５がクライアントＰＣ１０４を操作して、所定のアプリケーションソフトウェアから印刷を実行する。その後、ユーザＡ１１５はプリンタＡ１０２のパネルを操作して、印刷出力を得る。
【００２６】
図２（ｂ）は、ユーザＡ１１５が大阪支社１１１に出張して、甲会社の業務を遂行している状態における、印刷処理を図示する。
ユーザＡ１１５がクライアントＰＣ１０４を操作して、所定のアプリケーションソフトウェアから印刷を実行する。その後、ユーザＡ１１５はプリンタＢ１０３のパネルを操作して、印刷出力を得る。
クライアントＰＣ１０４は大阪支社１１１において図示しないＤＨＣＰサーバによって、図１に示すように東京本社１０７のときとは異なる192.168.20.51というＩＰアドレスを付与される。
【００２７】
図３は、クライアントＰＣ１０４の内部機能ブロック図である。
印刷データ作成部３０２は、印刷データを生成するものであり、その実体は、印刷機能を備えた任意のアプリケーションソフトウェアと、そのアプリケーションソフトウェアから利用されるプリンタドライバである。
ユーザＩＤ記憶部３０３は、ＯＳにログインして利用しているユーザのユーザＩＤである。
印刷データ送信部３０４は、印刷データ作成部３０２が作成した印刷データを、「第１のプリンタのアドレス」記憶部３０５の所定のポートに、所定のプロトコルにて送信する。
「第１のプリンタのアドレス」記憶部３０５は、プリンタドライバの設定項目として、図示しないＯＳの所定の領域に記憶されている。
つまり、プリンタドライバの設定項目として、印刷データ送出先のプリンタである、第１のプリンタのアドレスが設定されている。このため、クライアントＰＣ１０４が作成した印刷データは、常に第１のプリンタに送出される。
この設定内容の一例としては、例えばＬＰＲ（Line  PRinter  daemon  protocol：ＴＣＰ／ＩＰネットワークを経由して印刷を行うプロトコル。）プロトコルにて、プリンタＡ１０２のＩＰアドレスである192.168.10.11が設定されている。
【００２８】
図４は、クライアントＰＣ１０４が作成する印刷データの中身を示す概略図である。
印刷データ４０１は、テキストデータよりなるヘッダ部４０２と、バイナリデータよりなる実体部４０３よりなる。
ヘッダ部４０２はＰＪＬ（Printer  Job  Language：プリンタジョブ言語）の集合体である。ＰＪＬは、プレーンテキストよりなるデータである。行頭から「@PJL  SET  」の後に変数名を記述し、その後に「=」を付して、変数の中身を記述する。この書式は、ＯＳの環境変数に類似する。
【００２９】
印刷データを見ると多くのＰＪＬが記述されているが、この中には、
・印刷データ４０１を生成したアプリケーションソフトウェアが、そのウィンドウタイト
ルに記したタイトルを記す変数「ＪＯＢＮＡＭＥ」と、
・オンデマンド印刷の対象であるか否かを示すフラグ変数「ＯＮＤＥＭＡＮＤ」と、
・クライアントＰＣ１０４が認証サーバ１０６にて認証した際のユーザＩＤ「ＨＯＳＴＬ
ＯＧＩＮＮＡＭＥ」と、
・プリンタドライバに設定する任意のユーザＩＤ「ＵＳＥＲＩＤ」と、
・「ＵＳＥＲＩＤ」に対応する任意のパスワード「ＪＯＢＰＡＳＳＷＯＲＤ」
が記録されている。
【００３０】
本実施形態では、ユーザ認証にＬＤＡＰ（Lightweight  Directory  Access  Protocol：ＴＣＰ／ＩＰネットワークで、ディレクトリデータベースにアクセスするためのプロトコル。）を用いる認証サーバ１０６を利用する。この関係で、後述するインデックスサーバ１０５に登録するＰＪＬの設定項目のうち、「ＨＯＳＴＬＯＧＩＮＮＡＭＥ」を利用する。
インデックスサーバ１０５には、「ＵＳＥＲＩＤ」と「ＪＯＢＰＡＳＳＷＯＲＤ」は登録するものの、本実施形態では実質的にこれらの項目は利用しない。これらの項目は認証サーバ１０６を利用しない認証方式において利用するものであり、詳細は後述する。
【００３１】
図５は、プリンタＡ１０２とプリンタＢ１０３の内部機能を説明する機能ブロック図である。
プリンタＡ１０２とプリンタＢ１０３は、実質的に同一の機能を有するプリンタである。その内部機能は、プリンタ５０１として表現される。
プリンタ５０１は、その内部にコンピュータのハードウェアを内蔵し、このプリンタ５０１内で、図示しない不揮発性ストレージに格納されている、ＰＯＳＩＸ（Portable  Operating  System  Interface  for  UNIX（登録商標））に準拠するＯＳが稼動するようになっている。図５に示すブロックは、一部を除いてこのＯＳ上で稼動するプログラムの機能である。
【００３２】
プリンタ５０１は、実行される機能によって、二つの側面がある。
図６は、図５に開示したプリンタ５０１の機能ブロック図のうち、第１のプリンタであるプリンタＡ１０２として動作するときの、機能する部分を明示したブロック図である。第１のプリンタとしては機能しない機能ブロック部分である、ＵＳＢドライバ５０４、シリアルドライバ５０５、パラレルドライバ５０６、ＩＣカードリーダ５２３、ＬＤＡＰクライアント５２４、認証サーバアドレス記憶部５２５、インデックスクライアント５２６、インデックスサーバアドレス・ＩＤ・ＰＷ記憶部５２７、記憶部であるＲＡＭ５２８、表示部５２９、操作部５３０、選択部５３１、タッチパネル５３２及び印刷データ取得部５３３には、斜線を付している。
図９は、図５に開示したプリンタ５０１の機能ブロック図のうち、第２のプリンタであるプリンタＢ１０３として動作するときの、機能する部分を明示したブロック図である。第２のプリンタとしては機能しない機能ブロック部分である、印刷データ受信部５０２、ＵＳＢドライバ５０４、シリアルドライバ５０５、パラレルドライバ５０６、インデックスレコード作成部５１５、ヘッダ書換部５１６、データディレクトリ５１７、インデックスレコード送信部５１８、「プリンタのアドレス」記憶部５１９、インデックスサーバアドレス・ＩＤ・ＰＷ記憶部５２０、印刷データ送信可能化部５２１及びＩＤ・ＰＷ記憶部５２２には、斜線を付している。
プリンタ５０１は、第１のプリンタとして機能するときは、クライアントＰＣから印刷データを受信するが、印刷は行わない。
プリンタ５０１は、第２のプリンタとして機能するときは、クライアントＰＣから印刷データを受信しないが、印刷データを保持しているプリンタから印刷データをダウンロードして、印刷を行う。
【００３３】
図６を参照して、第１のプリンタとして機能するプリンタＡ１０２の各機能ブロック部分を説明する。
印刷データ受信部５０２は、ＴＣＰ／ＩＰネットワーク５０３を通じて、クライアントＰＣから印刷データを受信する。すなわち、クライアントＰＣの要求に応じて動作する、受動的な機能部分であり、「サーバ」に類する機能である。印刷データ受信部５０２は、クライアントＰＣから
・ＴＣＰポート５１５番を通じてＬＰＲプロトコルにて、或は
・ＴＣＰポート９１００番を通じてＩＰＰ（Internet  Printing  Protocol：ＨＴＴＰ（Hyper  Text  Transfer  Protocol：ｗｅｂサーバとクライアントがデータを送受信する際に使われるプロトコル。）を利用した印刷データ転送プロトコル。）により、印刷データを受信する。
ＵＳＢドライバ５０４、シリアルドライバ５０５及びパラレルドライバ５０６は、ＴＣＰ／ＩＰネットワーク５０３以外のインターフェースにて印刷データを受信する機能部分であるが、本実施形態では実質的に利用しないので詳細は割愛する。
【００３４】
スプーラ５０７は、印刷データ受信部５０２やＵＳＢドライバ５０４、シリアルドライバ５０５及びパラレルドライバ５０６から非同期に受信される印刷データを、一旦スプールディレクトリ５０８に保存し、順番にＧＰＳ５０９へ出力する。
ＧＰＳ５０９は、印刷データに所定の加工を施して、最終的にプリンタエンジンドライバ５１０を経由し、プリンタエンジンハードウェア５１１に印刷データを供給する「サービスモジュール」である。ＧＰＳ５０９には付加機能として、所定の設定ファイルに記述される「ＧＰＳフィルタ」に、印刷データを標準入出力を通して引き渡す機能がある。
【００３５】
プリンタエンジンドライバ５１０は、ベクトル描画命令等を含む印刷データをビットマップ主体の印刷イメージデータに変換する機能を提供するソフトウェアである。
プリンタエンジンハードウェア５１１は、印刷イメージデータに基づいて紙に印刷する機能を提供するハードウェアである。
プリンタエンジンドライバ５１０とプリンタエンジンハードウェア５１１は、プリンタ５０１の主要な機能である、プリンタエンジンを構成する。
【００３６】
標準入出力は、ＰＯＳＩＸ系ＯＳや、ＭＳ−ＤＯＳ（登録商標）等に装備されている機能である。キーボードやファイル等をストリームデータ入力としてフィルタ系プログラムに引き渡し（標準入力）、あるプログラムからディスプレイに出力されるデータをストリームデータ出力としてファイルや他のフィルタ系プログラムに引き渡す（標準出力）ことのできる仕組みである。
本実施形態の機能の一部は、このＧＰＳフィルタ５１２によって実現される。
【００３７】
ＧＰＳフィルタ５１２は、フィルタプログラムである。
標準入力から印刷データを読み込み、所定の動作を行う。
ＧＰＳフィルタ５１２は、その内部にフラグ検出部５１３と、スイッチ５１４と、インデックスレコード作成部５１５と、ヘッダ書換部５１６を有する。
フラグ検出部５１３は、標準入力から入力される印刷データに付加されているヘッダに含まれている、フラグ変数「ＯＮＤＥＭＡＮＤ」の値を見て、印刷すべきか否かを判断し、スイッチ５１４を制御する。
フラグ検出部５１３は、フラグ変数「ＯＮＤＥＭＡＮＤ」の値が「ＮＯ」であれば、スイッチ５１４をデータディレクトリ５１７側に倒す。「ＹＥＳ」であれば、スイッチ５１４をＧＰＳ５０９側に倒す。そして、この制御信号はインデックスレコード作成部５１５と、ＧＰＳフィルタ５１２の外にあるインデックスレコード送信部５１８にも及ぶ。
ヘッダ書換部５１６は、クライアントＰＣから送信された印刷データのヘッダに含まれているフラグ変数「ＯＮＤＥＭＡＮＤ」の値を「ＮＯ」から「ＹＥＳ」に書き換える、単機能のフィルタである。
【００３８】
クライアントＰＣから送信された印刷データのヘッダに含まれているフラグ変数「ＯＮＤＥＭＡＮＤ」は「ＮＯ」と設定されている。このため、フラグ検出部５１３はスイッチ５１４をデータディレクトリ５１７側に倒す。したがって、印刷データはＧＰＳ５０９には返されず、プリンタエンジンドライバ５１０及びプリンタエンジンハードウェア５１１には送り出されないので、印刷されない。
【００３９】
インデックスレコード作成部５１５は、印刷データのヘッダと、「プリンタのアドレス」記憶部５１９と、データディレクトリ５１７にファイル化して格納された印刷データのファイル名から、インデックスサーバ１０５に送信して登録する情報（以下「インデックスレコード」）を作成する。インデックスレコードは、その値として、
・ＰＪＬの変数「ＪＯＢＮＡＭＥ」に格納されている、印刷を行ったアプリケーションのウィンドウタイトルと、
・ＰＪＬの変数「ＵＳＥＲＩＤ」に格納されている、プリンタドライバに設定される任意のユーザＩＤと、
・ＰＪＬの変数「ＪＯＢＰＡＳＳＷＯＲＤ」に格納されている、プリンタドライバに設定される任意のパスワードと、
・ＰＪＬの変数「ＨＯＳＴＬＯＧＩＮＮＡＭＥ」に格納されている、ＯＳにログインしているユーザのユーザＩＤと、
・印刷データの位置情報であるＵＲＬ
を含む。
【００４０】
ＰＪＬの各変数は、印刷データのヘッダから取得する。
印刷データのＵＲＬは、「プリンタのアドレス」記憶部５１９と、データディレクトリ５１７にファイル化して格納された印刷データのファイル名から作成する。
こうして作成されたインデックスレコードは、インデックスレコード送信部５１８に送られる。
インデックスレコード送信部５１８は、非対話型ｗｅｂクライアントである。インデックスサーバアドレス・ＩＤ・ＰＷ記憶部５２０に記憶されている、インデックスサーバ１０５のアドレスを基に、インデックスレコード作成部５１５から受け取ったインデックスレコードを、インデックスサーバ１０５に送信する。
インデックスサーバ１０５は、インデックスレコード送信部５１８から受信したインデックスレコードを、インデックステーブルに新規レコードとして登録（追記録）する。
【００４１】
データディレクトリ５１７に格納され、ファイル化された印刷データは、印刷データ送信可能化部５２１によって、任意のホストからダウンロード可能な状態に置かれる。
印刷データ送信可能化部５２１の実体はｗｅｂサーバであり、ＩＰＰに従い、クライアントの要求に応じて印刷データを送信する。
なお、ここでいう「クライアント」は、クライアントＰＣではなく、印刷を実行しようとするプリンタである。第２のプリンタがこれに該当する。
【００４２】
以上の説明で判るように、本実施形態による「第１のプリンタ」は、クライアントＰＣから送信される印刷データを受信するまでは、周知のプリンタと動作は等しいが、その後印刷は行わず、印刷データをファイル化して、送信可能な状態に置く。
【００４３】
第２のプリンタの説明の前に、インデックスサーバ１０５について説明する。
図７は、インデックスサーバ１０５の機能ブロック図である。
インデックスサーバ１０５はｗｅｂサーバを構成する。
ｗｅｂサーバプログラム７０２は、ＴＣＰ／ＩＰネットワーク５０３を通じて来るクライアントの要求に応じ、ｈｔｍｌ文書を送信したり、ｃｇｉ（Common  Gateway  Interface：ｗｅｂサーバがｗｅｂブラウザの要求に応じて、プログラムを起動するための仕組み。）を実行したりする。一例としてはＡｐａｃｈｅ(http://www.apache.org/)等である。なお、前述のプリンタと同様に、ＩＤ・ＰＷ記憶部７０３が設けられている。なお、「ＰＷ」はパスワード（Pass  Word）の略である。
ｗｅｂサーバプログラム７０２は、クライアントの要求に応じて、第１のｃｇｉ７０４及び第２のｃｇｉ７０７を実行する。
インデックス登録部ともいえる第１のｃｇｉ７０４は、プリンタから送信されたデータ（インデックスレコード）を受信し、記憶部７０５に格納されているインデックステーブル７０６に、新規なレコードとして追加するプログラムである。
インデックス検索部ともいえる第２のｃｇｉ７０７は、インデックステーブル７０６を、クライアントから受信した所定の検索キーにて検索を行い、その結果得られたレコード群をクライアントに送信するプログラムである。
記憶部７０５は、ハードディスク装置等の不揮発性ストレージである。
【００４４】
第１のｃｇｉ７０４は、インデックスレコード受信部７０８と、インデックスレコード登録部７０９よりなる。
インデックスレコード受信部７０８は、プリンタから発されたインデックスレコードを受信する。
インデックスレコード登録部７０９は、インデックスレコードを新規レコードとしてインデックステーブル７０６に追記録する。
【００４５】
第２のｃｇｉ７０７は、検索キー受信部７１０と、検索実行部７１１と、検索結果送信部７１２よりなる。
検索キー受信部７１０は、プリンタから発された検索要求を受信する。そして、検索要求に含まれる検索キー、すなわちユーザＩＤを検索実行部７１１に渡す。
検索実行部７１１は、検索キーであるユーザＩＤにてインデックステーブル７０６を検索し、検索条件に合致したレコード群を検索結果送信部７１２に渡す。
検索結果送信部７１２は、検索要求を送信してきたプリンタに、検索結果のレコード群を送信（返信）する。
【００４６】
図８は、インデックステーブル７０６の主要なフィールドを詳述する表である。
プリンタがインデックスサーバ１０５にインデックスレコードを送信すると、第１のｃｇｉ７０４はこれを受信し、インデックステーブル７０６に新規レコードを追加する。
インデックスレコードに含まれている値は、以下のように、インデックステーブル７０６の各フィールドに格納される：
・ＰＪＬの変数「ＪＯＢＮＡＭＥ」に格納されている、印刷を行ったアプリケーションのウィンドウタイトルは、「ＪＯＢ＿ＮＡＭＥ」フィールドに格納される。
・ＰＪＬの変数「ＵＳＥＲＩＤ」に格納されている、プリンタドライバに設定される任意のユーザＩＤは、「ＵＳＥＲ＿ＩＤ」フィールドに格納される。
・ＰＪＬの変数「ＪＯＢＰＡＳＳＷＯＲＤ」に格納されている、プリンタドライバに設定される任意のパスワードは、「ＪＯＢ＿ＰＡＳＳＷＯＲＤ」フィールドに格納される。
・ＰＪＬの変数「ＨＯＳＴＬＯＧＩＮＮＡＭＥ」に格納されている、ＯＳにログインしているユーザのユーザＩＤは、「ＨＯＳＴ＿ＬＯＧＩＮ＿ＮＡＭＥ」フィールドに格納される。
・印刷データのＵＲＬは、「ＵＲＬ」フィールドに格納される。
【００４７】
上記以外のフィールドは、以下の通りである：
・印刷データ４０１の作成日時は、ＰＪＬの変数を通じて「ＤＡＴＥ」フィールドに格納される。
・印刷データ４０１のページ数は、ＰＪＬの変数を通じて「ＰＡＧＥ＿ＮＵＭＢＥＲ」フィールドに格納される。
・インデックステーブル７０６の全レコードにおける「ＮＯ」フィールドの最大値に１を加えた値が、「ＮＯ」フィールドに格納される。すなわち、「ＮＯ」フィールドはインデックステーブル７０６の各レコードにユニークに付与される管理番号であり、自動インクリメントされるものである。
・ｗｅｂサーバプログラム７０２を通じて取得した、プリンタのＩＰアドレスが、「ＩＰ」フィールドに格納される。
・削除フラグとしての論理値「ｆａｌｓｅ（偽）」が、「ＤＥＬＥＴＥ＿ＦＬＧ」フィールドに格納される。これは後述する削除動作において用いられる。
【００４８】
図９を参照して、第２のプリンタとして機能するプリンタＢ１０３の各機能ブロック部分を説明する。
ＩＣカードリーダ５２３は、電波を用いてＩＣカードに記憶されている情報を読み取る、周知のデバイスである。本実施形態では、システムを利用するユーザ、すなわち甲会社の社員は全てＩＣカードを所持し、ＩＣカードには社員を識別するＩＤとパスワードが記憶されている。
ＩＣカードリーダ５２３が社員のＩＣカードからＩＤとパスワードを読み取ると、それら情報をＬＤＡＰクライアント５２４に渡す。ＬＤＡＰクライアント５２４は、認証サーバアドレス記憶部５２５に記憶されている認証サーバ１０６のアドレスに従い、ＬＤＡＰにて認証サーバ１０６にＩＤとパスワードを送信し、ユーザ認証を行う。
ユーザ認証が正常に行われると、ＬＤＡＰクライアント５２４はインデックスクライアント５２６にユーザＩＤを渡して実行する。
【００４９】
インデックスクライアント５２６は、インデックスサーバアドレス・ＩＤ・ＰＷ記憶部５２７に記憶されているインデックスサーバ１０５のアドレス及びＩＤ・パスワードを用いて、インデックスサーバ１０５に、ＩＣカードから読み取った社員のＩＤを検索キーとして送信する。
なお、インデックスサーバアドレス・ＩＤ・ＰＷ記憶部５２７に記憶されているＩＤとは、インデックスサーバ１０５にアクセスする際に用いるＢＡＳＩＣ認証用の、システムそのもののＩＤである。これは、ＩＤカードに記憶されている社員のＩＤとは異なるものであることに注意されたい。
ＩＣカードのＩＤは、インデックステーブル７０６の検索キーに用いる「ユーザＩＤ」である。
これに対し、インデックスサーバ１０５アドレスと共に記憶されるＩＤは、プリンタがインデックスサーバ１０５にアクセスするための「システムＩＤ」である。
【００５０】
インデックスクライアント５２６は、インデックスサーバ１０５から検索キーとして社員のＩＤに合致するレコード群を受信する。つまり、社員が作成してプリンタに送信した印刷データのＵＲＬを含む情報が得られる。
受信したレコード群は、記憶部であるＲＡＭ５２８に一時的に記憶される。ＲＡＭ５２８内に記憶されるレコード群は、インデックステーブル７０６のレコードそのものであるので、インデックステーブル７０６のサブセットを構成する。
ＲＡＭ５２８に記憶されたレコード群は、ＬＣＤよりなる表示部５２９にて表示される。
表示部５２９は、表示部５２９と一体的に設けられている操作部５３０と、操作部５３０の指示を受けてＲＡＭ５２８中の一つのレコードを選択する選択部５３１と共に、タッチパネル５３２を構成する。
社員は、表示部５２９に表示されているレコード群のうちの一つ以上のレコードを選択し、選択部５３１に指示を出す。
選択部５３１は操作部５３０の指示を受け、当該レコードをＲＡＭ５２８から読み出し、レコードに含まれているＵＲＬを印刷データ取得部５３３に送出する。
【００５１】
図１０は、図５のプリンタ５０１の表示部５２９に表示される表示画面１００１を示す。この表示画面１００１は、表示部５２９と操作部５３０が一体化したタッチパネル５３２に、実際に表示されるレコード群の内容を示すと共に、ユーザインターフェースを示すものである。
社員がＩＣカードをＩＣカードリーダ５２３にかざして、ユーザ認証が成功すると、この画面が表示される。
「文書名」欄１００２は、インデックステーブル７０６の「ＪＯＢ＿ＮＡＭＥ」フィールドの内容を表示する。
「日時」欄１００３は、インデックステーブル７０６の「ＤＡＴＥ」フィールドの内容を表示する。
「ページ」欄１００４は、インデックステーブル７０６の「ＰＡＧＥ＿ＮＵＭＢＥＲ」フィールドの内容を表示する。
「ユーザ名」欄１００５は、インデックステーブル７０６の「ＨＯＳＴ＿ＬＯＧＩＮ＿ＮＡＭＥ」フィールドの内容を表示する。
【００５２】
図９に戻って説明する。
印刷データ取得部５３３は、非対話型ｗｅｂクライアントである。選択部５３１から受けたＵＲＬに従い、ＵＲＬに記述されているアドレスのプリンタの印刷データ送信可能化部５２１を通じて、印刷データをダウンロードする。ダウンロードした印刷データは、スプーラ５０７に送る。
【００５３】
スプーラ５０７は印刷データ取得部５３３から受け取った印刷データをスプールディレクトリに一旦保持してから、印刷データ受信部５０２から得られる印刷データと共に、順番にＧＰＳ５０９へ送り出す。
ＧＰＳ５０９はスプーラ５０７から受け取った印刷データをＧＰＳフィルタ５１２に送り出す。
ＧＰＳフィルタ５１２の内部のフラグ検出部５１３は、印刷データ取得部５３３から来た印刷データのヘッダに含まれている、フラグ変数「ＯＮＤＥＭＡＮＤ」の値を見る。
【００５４】
印刷データ送信可能化部５２１から取得した印刷データは、ヘッダ書換部５１６によって、印刷データのヘッダに含まれているフラグ変数「ＯＮＤＥＭＡＮＤ」の値が「ＮＯ」から「ＹＥＳ」に書き換えられている。
フラグ検出部５１３は、印刷データのヘッダに含まれているフラグ変数「ＯＮＤＥＭＡＮＤ」の値が「ＹＥＳ」であることを検出すると、スイッチ５１４をＧＰＳ５０９側に倒す。すると、ＧＰＳ５０９からＧＰＳフィルタ５１２に送り出された印刷データは、スイッチ５１４を通じてＧＰＳ５０９に返され、プリンタエンジンドライバ５１０を通じてプリンタエンジンハードウェア５１１に送出され、印刷が実行される。
【００５５】
［動作］
次に、印刷処理の流れを説明する。
図１１は、オンデマンド印刷システム１０１を構成する各機器の動作の流れを示すフロー図である。
図１２、図１３、図１４、図１５及び図１６は、オンデマンド印刷システム１０１における印刷の動作の詳細を示す概略図である。図１２、図１３、図１４、図１５及び図１６は、図１にほぼ対応している。
【００５６】
図１２は、クライアントＰＣ１０４にて印刷データを生成し、第１のプリンタであるプリンタＡ１０２に送信する動作を示す概略図である。
先ず、大阪出張中のユーザＡ１１５は、クライアントＰＣ１０４にて印刷を実行する（Ｓ１１０１及び図１２の＜１＞）。
クライアントＰＣ１０４はユーザＡ１１５の操作を受けて、図３に示す印刷データ作成部３０２でユーザＩＤ３０３を含む印刷データを作成する。そして、印刷データ送信部３０４は、「第１のプリンタのアドレス」記憶部３０５に記憶されているアドレス、すなわちプリンタＡ１０２に向けて、印刷データを送信する（Ｓ１１０２及び図１２の＜２＞）。
印刷データは例えば、ＬＰＲプロトコルにて、ＴＣＰポート５１５番にて、プリンタＡ１０２に送信される。
或は、印刷データは、ＩＰＰ（Internet  Printing  Protocol）にて、ＴＣＰポート９１００番にて、プリンタＡ１０２に送信される。
【００５７】
プリンタＡ１０２は、クライアントＰＣ１０４から送信された印刷データを、印刷データ受信部５０２にて受信する。
印刷データ受信部５０２は、受信した印刷データをスプーラ５０７に送る。
スプーラ５０７は、印刷データ受信部５０２から印刷データを受信すると、内蔵ハードディスク内に設けられているスプールディレクトリ５０８に一旦蓄積する（図１２の＜３＞）。
次に、スプーラ５０７は、スプールディレクトリ５０８に蓄積した印刷データを取り出して、ＧＰＳ５０９に渡す。
ＧＰＳ５０９は、スプーラ５０７から受け取った印刷データを、標準出力を通じてＧＰＳフィルタ５１２に送り出す。
ＧＰＳフィルタ５１２は、ＧＰＳ５０９から標準入力を通じて受け取った印刷データに所定の処理を行う（Ｓ１１０３）。
先ず、フラグ検出部５１３が、標準入力から入力される印刷データに付加されているヘッダに含まれている、フラグ変数「ＯＮＤＥＭＡＮＤ」の値を見る。クライアントＰＣ１０４が作成した時点の印刷データの場合、「ＯＮＤＥＭＡＮＤ」の値は「ＮＯ」である。したがって、フラグ検出部５１３は、スイッチ５１４をデータディレクトリ５１７側に倒す制御信号を出力する。この制御信号は、インデックスレコード作成部５１５と、ＧＰＳフィルタ５１２の外にあるインデックスレコード送信部５１８にも及び、それぞれを起動制御する。
フラグ検出部５１３によって起動されたインデックスレコード作成部５１５は、印刷データのヘッダに含まれている、以下の変数の値を取得する：
・ＰＪＬの変数「ＪＯＢＮＡＭＥ」に格納されている、印刷を行ったアプリケーションのウィンドウタイトル。
・ＰＪＬの変数「ＵＳＥＲＩＤ」に格納されている、プリンタドライバに設定される任意のユーザＩＤ。
・ＰＪＬの変数「ＪＯＢＰＡＳＳＷＯＲＤ」に格納されている、プリンタドライバに設定される任意のパスワード。
・ＰＪＬの変数「ＨＯＳＴＬＯＧＩＮＮＡＭＥ」に格納されている、ＯＳにログインしているユーザのユーザＩＤ。
そして、「プリンタのアドレス」記憶部５１９と、スイッチ５１４を通じてデータディレクトリ５１７にファイル化して格納された印刷データのファイル名から、印刷データのＵＲＬを作成する。
インデックスレコード作成部５１５は、これらの情報をまとめて、インデックスレコードを生成する。
こうして作成されたインデックスレコードは、インデックスレコード送信部５１８に送られる。
【００５８】
図１３は、第１のプリンタであるプリンタＡ１０２からインデックスサーバ１０５に印刷データのＵＲＬを通知する動作を示す概略図である。
非対話型ｗｅｂクライアントである、プリンタＡ１０２のインデックスレコード送信部５１８は、インデックスサーバアドレス・ＩＤ・ＰＷ記憶部５２０に記憶されている、インデックスサーバ１０５のアドレスに向けて、インデックスレコード作成部５１５から受け取ったインデックスレコードを、インデックスサーバ１０５に送信する（Ｓ１１０４及び図１３の＜４＞）。
【００５９】
前述の通り、インデックスレコードには、ＰＪＬの変数「ＨＯＳＴＬＯＧＩＮＮＡＭＥ」に格納されている、クライアントＰＣ１０４にログインしているユーザのユーザＩＤと、印刷データのＵＲＬを含んでいる。
ユーザＩＤは、インデックスサーバ１０５の第２のｃｇｉ７０７にて、インデックステーブル７０６から所望の印刷データを選択する際の検索キーに用いられる。
【００６０】
インデックスサーバ１０５はｗｅｂサーバを構成する。ｗｅｂサーバプログラム７０２は、クライアントの要求に応じて、第１のｃｇｉ７０４と第２のｃｇｉ７０７を実行する。
第１のｃｇｉ７０４は、ｗｅｂサーバプログラム７０２がプリンタＡ１０２のインデックスレコード送信部５１８からインデックスレコードを受信することによって実行される。
インデックスレコード受信部７０８は、ｗｅｂサーバプログラム７０２を通じてインデックスレコードを受信し、インデックスレコード登録部７０９に渡す。
インデックスレコード登録部７０９は、インデックステーブル７０６にアクセスし、受信したインデックスレコードを基に、インデックステーブル７０６に新規レコードの追加を行う（Ｓ１１０５及び図１３の＜５＞）。つまり、新規レコードの登録である。
【００６１】
図１４は、第２のプリンタであるプリンタＢ１０３から認証サーバ１０６を通じてユーザを認証する動作を示す概略図である。
ユーザＡ１１５はプリンタＢ１０３の操作パネル近傍に設けられているＩＣカードリーダ５２３にＩＣカードをかざして、ユーザＩＤとパスワードを入力する（Ｓ１１０６及び図１４の＜６＞）。
プリンタＢ１０３のＬＤＡＰクライアント５２４は、ＩＣカードリーダ５２３からユーザＩＤとパスワードを受け取ると、認証サーバアドレス記憶部５２５に記憶されている認証サーバ１０６のアドレスに従い、ＬＤＡＰにて認証サーバ１０６にＩＤとパスワードを送信し、ユーザ認証を要求する（Ｓ１１０７及び図１４の＜７＞）。
【００６２】
認証サーバ１０６は、プリンタＢ１０３から受信したユーザＡ１１５のユーザＩＤとパスワードを照合し、合致していればユーザＡ１１５を認証する旨のメッセージを、プリンタＢ１０３のＬＤＡＰクライアント５２４に返信する（Ｓ１１０８及び図１４の＜８＞）。
【００６３】
図１５は、第２のプリンタであるプリンタＢ１０３がインデックスサーバ１０５に印刷データのリストを要求し、それを受信する動作を示す概略図である。
ＬＤＡＰクライアント５２４は、インデックスクライアント５２６に、ＩＣカードリーダ５２３から受け取ったユーザＩＤを渡す。
インデックスクライアント５２６は、インデックスサーバアドレス・ＩＤ・ＰＷ記憶部５２７に記憶されているインデックスサーバ１０５のアドレス、ＩＤ及びパスワードを用いて、インデックスサーバ１０５に、ＬＤＡＰクライアント５２４から受け取ったユーザＩＤを検索キーとして送信する。すなわち、インデックスクライアント５２６は、インデックスサーバ１０５にユーザＡ１１５の印刷データ一覧を要求する（Ｓ１１０９及び図１５の＜９＞）。
【００６４】
インデックスサーバ１０５のｗｅｂサーバプログラム７０２は、プリンタＢ１０３のアクセス要求に応じて、第２のｃｇｉ７０７を実行する。
第２のｃｇｉ７０７が実行されると、内部の検索キー受信部７１０は、プリンタＢ１０３のインデックスクライアント５２６から受信したユーザＡ１１５のユーザＩＤを受信して、検索実行部７１１に渡す。
検索実行部７１１は、当該ユーザＩＤにてインデックステーブル７０６を検索し、検索条件に合致したレコード群を検索結果送信部７１２に渡す。
検索結果送信部７１２は、プリンタＢ１０３のインデックスクライアント５２６に、検索結果のレコード群を送信（返信）する（Ｓ１１１０及び図１５の＜１０＞）。
プリンタＢ１０３のインデックスクライアント５２６は、このレコード群を受信して、ＲＡＭ５２８に記憶し、図１０に示すように、タッチパネル５３２の表示部５２９に一覧表示する（Ｓ１１１１）。
【００６５】
図１６は、印刷を実行しようとする第２のプリンタ（プリンタＢ１０３）が、印刷データを抱える第１のプリンタ（プリンタＡ１０２）から印刷データを受信して印刷する動作を示す概略図である。
ユーザＡ１１５は、プリンタＢ１０３のタッチパネル５３２の表示部５２９が表示する表示画面１００１に表示される印刷データ一覧を見て、印刷を所望する印刷データを、指で触れて選択する（Ｓ１１１２及び図１６の＜１１＞）。
表示画面１００１に透明電極にて設けられる操作部５３０はこの操作を受けて、選択部５３１に操作情報を送る。
選択部５３１は操作部５３０の操作情報を受け、ユーザＡ１１５が選択した印刷データのレコードをＲＡＭ５２８から読み出し、レコードに含まれているＵＲＬを印刷データ取得部５３３に送出する。
【００６６】
非対話型ｗｅｂクライアントである印刷データ取得部５３３は、選択部５３１から受けたＵＲＬに従い、ＵＲＬに記述されているアドレスのプリンタ（第１のプリンタであるプリンタＡ１０２）の印刷データ送信可能化部５２１に所望の印刷データを要求する（Ｓ１１１３及び図１６の＜１２＞）。
プリンタＡ１０２の印刷データ送信可能化部５２１は、プリンタＢ１０３の印刷データ取得部５３３の要求に対する応答を送信し（Ｓ１１１４）、その後要求された印刷データを送信する（Ｓ１１１５及び図１６の＜１３＞）。
プリンタＢ１０３の印刷データ取得部５３３は、プリンタＡ１０２の印刷データ送信可能化部５２１から送信された印刷データを受信（ダウンロード）する。
【００６７】
プリンタＢ１０３の印刷データ取得部５３３が、プリンタＡ１０２の印刷データ送信可能化部５２１からダウンロードした印刷データは、スプーラ５０７に渡される。
スプーラ５０７は印刷データ取得部５３３から受け取った印刷データをスプールディレクトリに一旦保持してから、印刷データ受信部５０２から得られる印刷データと共に、順番にＧＰＳ５０９へ送り出す。
ＧＰＳ５０９はスプーラ５０７から受け取った印刷データをＧＰＳフィルタ５１２に送り出す。
ＧＰＳフィルタ５１２の内部のフラグ検出部５１３は、印刷データ取得部５３３から来た印刷データのヘッダに含まれている、フラグ変数「ＯＮＤＥＭＡＮＤ」の値を見る。
【００６８】
プリンタＡ１０２の印刷データ送信可能化部５２１から取得した印刷データは、プリンタＡ１０２のヘッダ書換部５１６によってフラグ変数「ＯＮＤＥＭＡＮＤ」の値が「ＹＥＳ」に書き換えられている。このため、フラグ検出部５１３は、フラグ変数「ＯＮＤＥＭＡＮＤ」の値が「ＹＥＳ」であることに呼応して、スイッチ５１４をＧＰＳ５０９側に倒す。すると、印刷データはＧＰＳ５０９に返され、プリンタエンジンドライバ５１０を通じてプリンタエンジンハードウェア５１１に送出され、印刷が実行される（Ｓ１１１６及び図１６の＜１４＞）。
【００６９】
図１７は、ＧＰＳフィルタ５１２のフローチャートである。プリンタが、受信した印刷データに応じて、第１のプリンタとして動作するか、第２のプリンタとして動作するかを決定付ける分岐処理であり、図１１のステップＳ１１０３とＳ１１１６が該当する。
ＧＰＳフィルタ５１２は、ＧＰＳ５０９から標準入力を通じて印刷データ４０１を受け取ることによって、処理を開始する（Ｓ１７０１）。
先ず、フラグ検出部５１３は、印刷データ４０１のヘッダを取得して（Ｓ１７０２）、ヘッダ中に含まれているフラグ変数「ＯＮＤＥＭＡＮＤ」は「ＯＦＦ」であるか（立っていないか）否かを見る（Ｓ１７０３）。
フラグ変数「ＯＮＤＥＭＡＮＤ」がＯＦＦならば、印刷を行わず、データディレクトリ５１７に印刷データを格納する処理を行う。
次に、インデックスレコード作成部５１５は、取得したヘッダのうち、
・変数「ＪＯＢＮＡＭＥ」（印刷を行ったアプリケーションのウィンドウタイトル）、
・変数「ＵＳＥＲＩＤ」（プリンタドライバに設定される任意のユーザＩＤ）、
・変数「ＪＯＢＰＡＳＳＷＯＲＤ」（プリンタドライバに設定される任意のパスワード）、
・変数「ＨＯＳＴＬＯＧＩＮＮＡＭＥ」（ＯＳにログインしているユーザのユーザＩＤ）の値を取得する（Ｓ１７０４）。
そして、ヘッダ書換部５１６は、フラグ変数「ＯＮＤＥＭＡＮＤ」を「ＯＮ」に書き換えて（Ｓ１７０５）、印刷データをデータディレクトリ５１７に送出し、ファイル化する（Ｓ１７０６）。
なお、ステップＳ１７０４、Ｓ１７０５及びＳ１７０６は、順番は問わない。どれが先でもよい。
【００７０】
更に、インデックスレコード作成部５１５は、
「プリンタのアドレス」記憶部５１９と、データディレクトリ５１７に格納された印刷データのファイル名を基に、印刷データのＵＲＬを作成する。そして、ステップ１７０４にて取得した変数の値と共に、インデックスレコード送信部５１８に渡して（Ｓ１７０７）、一連の処理を終了する(Ｓ１７０８）。
【００７１】
フラグ変数「ＯＮＤＥＭＡＮＤ」がＯＮならば、印刷データ４０１をＧＰＳ５０９に戻し、印刷を実行させる（Ｓ１７０７）。
こうして、一連の作業が終了する（Ｓ１７０８）。
【００７２】
以下、上述した動作の要点を述べる。
本実施形態のオンデマンド印刷システム１０１は、印刷データを各々のプリンタに留まらせる。そして、印刷をしたいプリンタより、印刷データを抱えているプリンタから印刷データをダウンロードして、その印刷データを印刷する。
【００７３】
従来、「どこでも印刷できる」目的のシステムを構築する際には、印刷データを一極集中的に管理するスプールサーバを設置していた。大量の印刷データがスプールサーバに集中するため、スプールサーバを構築する際、必要なハードウェアとして、高速且つ大容量のサーバを用意しなければならない。このようなシステム構築は費用が嵩み、ネットワークのトラフィックが増大する。また、スプールサーバがダウンしてしまうと、ネットワーク上のコンピュータは全て印刷ができなくなってしまう。
本実施形態であれば、インデックスサーバ１０５はあくまでも印刷データの所在を示すＵＲＬを管理するだけでよいので、極めて軽量且つ簡素なハードウェアでも十分実現できるし、トラフィックも少ない。印刷データも一箇所に集中しないので、ネットワークのトラフィックも軽減される。また、普段使っているプリンタが故障してしまっても、別のプリンタに設定を切り替えるだけで、何ら問題なく印刷を実行できる。
【００７４】
ところで、本実施形態において、プリンタにはある条件が必要になる。それは、ネットワーク上に存在するプリンタが、クライアントＰＣが生成した印刷データを正常に印刷できる、ということである。図１を例にすると、プリンタＡ１０２とプリンタＢ１０３のどちらも、クライアントＰＣ１０４が生成した印刷データを正常に印刷できる能力を備えていなければならない。
多くの場合、プリンタは製造メーカや機種毎に、異なる印刷データの仕様を備えている。特にページプリンタにおけるこのような仕様を、ＰＤＬ（Page  Description  Language：ページ記述言語）という。または、プリンタ言語ともいう。これがネットワーク上のどのプリンタにおいても共通して利用可能である必要がある。そのためには、同一のＰＤＬの仕様を満たすプリンタであるか、他社或は他機種のＰＤＬのエミュレーション機能を備えるプリンタである必要がある。
【００７５】
本実施形態のプリンタは、ＴＣＰ／ＩＰネットワーク５０３側から見ると、幾つかの機能部分に分けられる。
（１）印刷データ受信部５０２による、受動的に印刷データを受け入れる機能。
（２）印刷データ送信可能化部５２１による、受信した印刷データを任意の相手からダウンロード可能にする印刷データサーバ機能。
（３）インデックスレコード送信部５１８による、第１のインデックスクライアント機能。
（４）ＬＤＡＰクライアント５２４による、ユーザ認証を認証サーバ１０６と共に行う、ユーザ認証機能。
（５）インデックスクライアント５２６による、第２のインデックスクライアント機能。
（６）印刷データ取得部５３３による、印刷データクライアント機能。
このうち、（１）、（２）及び（３）は第１のプリンタとしての機能であり、（４）、（５）及び（６）は第２のプリンタとしての機能である。
【００７６】
上述した実施形態では、図１において、ユーザＡ１１５が、東京本社１０７から大阪支社１１１に出張しても、大阪支社１１１に備え付けられている、第２のプリンタであるプリンタＢ１０３から印刷をする動作の流れを説明した。
ユーザＡ１１５は、普段は東京本社１０７に居る。
つまり、上述した印刷処理を、プリンタＡ１０２に対して行っている。
このときの動作の流れは、前述の動作の流れと全く同じである。つまり、
・プリンタＡ１０２のＩＣカードリーダ５２３にユーザＡ１１５がＩＣカードをかざすことにより、プリンタＡ１０２におけるログインが行われ、
・プリンタＡ１０２のタッチパネル５３２の表示画面１００１には、印刷データの一覧が表示され、
・プリンタＡ１０２のタッチパネル５３２を操作して、印刷データを選択すると、
・プリンタＡ１０２の印刷データ取得部は、プリンタＡ１０２の印刷データ送信可能化部５２１から印刷データをダウンロードして、印刷するのである。
すなわち、プリンタＡ１０２にアップロードした印刷データをプリンタＡ１０２で印刷するときは、プリンタＡ１０２の印刷データクライアント機能が、プリンタＡ１０２自身の印刷データサーバ機能から印刷データをダウンロード（本発明においては、プリンタ内における印刷データの移動についてもダウンロードという）して印刷するのである。
【００７７】
［印刷データの削除］
印刷が正常に行われた印刷データ４０１は、用済みなので削除する必要がある。なぜなら、プリンタの内蔵ハードディスクは大容量の印刷データ４０１ですぐに溢れてしまうからである。
図１８、図１９、図２０及び図２１は、印刷データ４０１を削除する動作の流れを示す、概略図である。
【００７８】
図１８は、プリンタから認証サーバ１０６を通じてユーザを認証する動作を示す概略図である。
ユーザＡ１１５はタッチパネル５３２を操作すると共に、プリンタＢ１０３の操作パネル近傍に設けられているＩＣカードリーダ５２３にＩＣカードをかざして、ユーザＩＤとパスワードを入力する（図１８の＜１６＞）。
プリンタＢ１０３のＬＤＡＰクライアント５２４は、ＩＣカードリーダ５２３からユーザＩＤとパスワードを受け取ると、認証サーバアドレス記憶部５２５に記憶されている認証サーバ１０６のアドレスに従い、ＬＤＡＰにて認証サーバ１０６にＩＤとパスワードを送信し、ユーザ認証を要求する（図１８の＜１７＞）。
認証サーバ１０６は、プリンタＢ１０３から受信したユーザＡ１１５のユーザＩＤとパスワードを照合し、合致していればユーザＡ１１５を認証する（図１８の＜１８＞）。
【００７９】
図１９は、プリンタがインデックスサーバ１０５に印刷データのリストを要求し、それを受信する動作を示す概略図である。
プリンタＢ１０３は、認証の結果に呼応して、インデックスサーバ１０５にユーザＡ１１５の印刷データ一覧を要求する（図１９の＜１９＞）。
インデックスサーバ１０５は、プリンタＢ１０３の検索要求を受けて、インデックステーブル７０６をユーザＡ１１５のユーザＩＤで検索し、得られた印刷データのリストをプリンタＢ１０３に送信する（図１９の＜２０＞）。
【００８０】
図２０は、プリンタが印刷データを抱えるプリンタの印刷データを削除するべく、インデックスサーバ１０５にその旨を通知する動作を示す概略図である。
ユーザＡ１１５はプリンタＢ１０３の操作パネル９０３に表示される印刷データ一覧から、削除すべき印刷データを選択する（図２０の＜２１＞）。
プリンタＢ１０３は、ユーザＡ１１５によって選択されたレコードの管理番号（インデックステーブル７０６の「ＮＯ」フィールドの値）を、インデックスサーバ１０５に送信する（図２０の＜２２＞）。
インデックスサーバ１０５は、インデックステーブル７０６の、プリンタＢ１０３から指定を受けたレコードに、削除フラグを付す（図２０の＜２３＞）。つまり、インデックステーブル７０６の「ＮＯ」フィールドにて指定されたレコードの「ＤＥＬＥＴＥ＿ＦＬＧ」フィールドの値を「ｔｒｕｅ」にする。
【００８１】
図２１は、プリンタが、インデックスサーバ１０５をポーリングし、削除フラグが付されている（「ＤＥＬＥＴＥ＿ＦＬＧ」が「ｔｒｕｅ」である）印刷データを削除する動作を示す概略図である。なお、図２１の吹き出し部分は論理的な動作を明示するためのイメージであり、実際にごみ箱が物理的に存在する訳ではないことに注意されたい。
プリンタＡ１０２は定期的にインデックスサーバ１０５にアクセスし（ポーリング）、プリンタＡ１０２が抱える印刷データ４０１のリストを要求する（図２１の＜２４＞）。  インデックスサーバ１０５はプリンタＡ１０２の要求に応じ、プリンタＡ１０２のＩＰアドレスでインデックステーブル７０６を検索し、プリンタＡ１０２が抱える印刷データ４０１のリストを返信する（図２１の＜２５＞）。
プリンタＡ１０２は、インデックスサーバ１０５から得られたリストから、削除フラグが付いているレコードの印刷データ４０１ファイルを削除する（図２１の＜２６＞）。
【００８２】
［第２の実施形態］
次に、本発明の第２の実施形態を説明する。
第１の実施形態では、東京本社と大阪支社がある会社を想定していた。比較的規模が大きい会社である。
第２の実施形態では、小規模のオフィスを想定する。例えば、
・雑居ビルのフロアに二つのプリンタが設置されている、
或は、
・一軒家の一階と二階にそれぞれプリンタが設置されている、
というような状況を想定する。
【００８３】
図２２は、第２の実施の形態の例である、オンデマンド印刷システムの全体構成図である。
本実施形態のオンデマンド印刷システム２２０１には、以下の装置が必要となる。
（１）第１のプリンタともいえる、プリンタＣ２２０２。
（２）第２のプリンタともいえる、プリンタＤ２２０３。
（３）第１のクライアントＰＣ２２０４。
（４）インデックスサーバ２２０５。
（５）第２のクライアントＰＣ２２０６。
（６）（１）乃至（５）を接続するネットワーク。
【００８４】
図１と見比べると、図２２のオンデマンド印刷システム２２０１には、システム構成の外観より、以下の相違点がある。
・認証サーバがない。
これは、本発明におけるユーザ認証の存在意義が、ネットワークシステムのセキュリティを確保する必要性に起因する。すなわち、ネットワークを利用するユーザの人数が少ない場合等、ネットワークシステム自体が十分安全であれば、ユーザ認証機能は必須ではない。
・クライアントＰＣが二つある。
第１のクライアントＰＣ２２０４は、印刷データ生成部ともいえるものであり、図３のクライアントＰＣ１０４と全く変わらない。
第２のクライアントＰＣ２２０６は、プリンタ５０１の、インデックスクライアント５２６、タッチパネル５３２及びＲＡＭ５２８を、パソコン上で実現したものである。つまり、プリンタ５０１から、ユーザインターフェース部分を抜き出して、パソコンに移植したと考えることができる。
【００８５】
第２のクライアントＰＣ２２０６は、ＬＣＤ等の表示部に、図１０の表示画面１００１に類似する表示画面を表示する。そして、印刷を実行したいプリンタに対して、印刷データのＵＲＬを含む印刷命令を送信（発行）する。印刷命令を受信したプリンタは、そのＵＲＬに従って印刷データをダウンロードし、印刷する。
そのために、第２のクライアントＰＣ２２０６は、プリンタＤ２２０３から比較的近い場所に設置される。
【００８６】
勿論、第２のクライアントＰＣ２２０６は、第１のクライアントＰＣ２２０４と一体化することもできる。
すなわち、図３のクライアントＰＣ１０４に含まれる印刷データ生成機能と、後述する図２５に示す第２のクライアントＰＣ２２０６の機能は、共に単一のパソコンに含めることができる。
その場合、当該クライアントＰＣは、ネットワーク上のどこに位置していても、作成した印刷データは第１のプリンタに送信され、印刷の指令は手近に存在するプリンタに対して命令することとなる。
【００８７】
第２のクライアントＰＣ２２０６が、手近にあるプリンタのアドレスを見つける方法は、様々な方法が考えられる。
最もシンプルな方法は、ユーザが手作業で入力する方法である。しかし、これは使い勝手が良くない。
【００８８】
次善の策としては、第２のクライアントＰＣ２２０６に割り当てられているＩＰアドレスが属する、同じサブネット内の全てのＩＰアドレスにおいて、プリンタの存在を検索する方法である。
周知のｐｉｎｇ（Packet  INternet  Groper：ＴＣＰ／ＩＰネットワーク上のホストの存在を診断するプログラム、又はそのプロトコル。）を用いて、同一サブネット内のＩＰアドレスに対して順番にｐｉｎｇを実行し、ホストの存在を確認する。ｐｉｎｇの応答があった、すなわち存在が確認できたＩＰアドレスに対し、更にＬＰＲに用いるＴＣＰ５１５番ポートに、ＳＹＮパケット（ＴＣＰの通信の開始を要求するパケット。）を送り、ＡＣＫパケット（ACKnowledgement：接続要求を許可する旨の応答パケット。）の応答が得られるか否かを検証する。こうして得られた、プリンタのＩＰアドレス群を列挙表示する。
【００８９】
また、インデックスサーバ２２０５に、プリンタのＩＰアドレスのリストを格納させておき、これを選択する、という方法も考えられる。
例えば、ｃｇｉを用いたｗｅｂアプリケーションをインデックスサーバ２２０５に構築する。そして、第２のクライアントＰＣ２２０６上でｗｅｂブラウザを稼動し、インデックスサーバ２２０５にアクセスし、プリンタの選択、印刷データの選択、そして所望のプリンタに対する印刷命令の発行をも行う。
【００９０】
図２３は、第１のプリンタであるプリンタＣ２２０２のブロック図である。ユーザインターフェース部分は第２のクライアントＰＣ２２０６に設けられているので、必要最小限の機能のみが設けられている。
プリンタＣ２２０２の機能ブロックは、図５のプリンタ５０１と実質的に同じものだけで構成されている。すなわち、プリンタエンジンドライバ５１０、プリンタエンジンハードウェア５１１、インデックスレコード作成部５１５、データディレクトリ５１７、インデックスレコード送信部５１８、「プリンタのアドレス」記憶部５１９及び印刷データ送信可能化部５２１と、印刷データ受信部２２０２及び印刷データ取得部２２３２よりなる。
機能ブロック単位で見ると、プリンタＣ２２０２の、プリンタ５０１と違う点は、印刷データ受信部２２０２と、印刷データ取得部２２３２は、それぞれ異なるポート番号を監視することにより、ＧＰＳフィルタを省いた点である。つまり、印刷データを蓄積するか、印刷するかで、ポート番号を変えることにより、フラグ検出部５１３における判断処理が不要になる。
印刷データ取得部２２３２は、第２のクライアントＰＣ２２０６が発する印刷命令を受信すると、印刷命令に含まれているＵＲＬに従って、印刷データ送信可能化部５２１から印刷データをダウンロードする。
【００９１】
図２４は、第２のプリンタであるプリンタＤ２２０３のブロック図である。プリンタＤ２２０３は、プリンタＣ２２０２から
・印刷データ受信部５０２による、受動的に印刷データを受け入れる機能、
・印刷データ送信可能化部５２１による、受信した印刷データを任意の相手からダウンロード可能にする印刷データサーバ機能、そして
・インデックスレコード送信部５１８による、第１のインデックスクライアント機能を省略した、印刷クライアントとも言うべきものである。
したがって、印刷データ取得部２２３２と、プリンタエンジンドライバ５１０及びプリンタエンジンハードウェア５１１だけで構成される。
【００９２】
図２５は、第２のクライアントＰＣ２２０６の機能ブロック図である。
ユーザＩＤ記憶部２５０３は、プリンタドライバに任意に設定できるユーザＩＤであり、ＰＪＬの「ＵＳＥＲＩＤ」である。
インデックスレコード取得部２５０２は、図５のインデックスクライアント５２６と機能的に等しい。インデックスサーバアドレス記憶部２５０４に記憶されているインデックスサーバ２２０５のアドレスに向けて、ＰＪＬの「ＵＳＥＲＩＤ」を検索キーとして送信する。
すると、インデックスレコード取得部２５０２は、インデックスサーバ２２０５から検索キーとしてＰＪＬの「ＵＳＥＲＩＤ」に合致するレコード群を受信する。つまり、ユーザ自身が作成して第１のプリンタであるプリンタＣ２２０２に送信した印刷データのＵＲＬを含む情報が得られる。
得られたレコード群は、ＲＡＭ２５０５に一時的に記憶される。ＲＡＭ２５０５内に記憶されるレコード群は、インデックスサーバ２２０５のインデックステーブル７０６のレコードそのものであるので、インデックステーブル７０６のサブセットを構成する。
【００９３】
なお、インデックスサーバ２２０５は、インデックスサーバ１０５と、内部の機能構成は全く同じである。唯一違う点は、検索実行部７１１はインデックステーブル７０５に対し、「ＵＳＥＲ＿ＩＤ」フィールドにて検索を行う点である。
【００９４】
表示部２５０６は、ＬＣＤ等のパソコン用ディスプレイである。
操作部２５０７は、キーボードやマウス等の入力装置である。
選択部２５０８は、第２のクライアントＰＣ２２０６上で動作するプログラムの主要機能部分である。操作部２５０７の操作に従って、ＲＡＭ２５０５内のレコード群を選択し、それらレコード群のＵＲＬを、印刷命令発行部２５０９に送る。
印刷命令発行部２５０９は、選択部２５０８から受け取った印刷データのＵＲＬを、印刷を実行したいプリンタに対して送信する。図２５では第２のプリンタアドレス記憶部２５１０に従って、プリンタＤ２２０３に送信する構成になっているが、この内容を必要に応じて書き換え、「第１のプリンタアドレス」、すなわちプリンタＣ２２０２に向けて送信してもよい。
【００９５】
第２のプリンタアドレス記憶部２５１０は、第２のクライアントＰＣ２２０６から手近なプリンタのアドレスが記憶される。このアドレスは前述の通り、様々な方法で取得することが可能である。
プリンタ選択部２５１１は、第２のクライアントＰＣ２２０６から手近なプリンタのアドレスを取得して、そのアドレスを第２のプリンタアドレス記憶部２５１０に与える。
【００９６】
以上に示した第２の実施形態においても、第１の実施形態とほぼ同様の動作が行われる。
第２の実施形態は、ＩＣカードを社員に持たせない、小規模のネットワーク環境において実用的である。
【００９７】
以上に示した本実施形態には、以下のような応用例が考えられる。
（１）ユーザ認証は、必ずしも認証サーバ（ＬＤＡＰサーバ）が必須ではない。インデックスサーバ１０５の検索機能自体にユーザ認証の機能を包含させる構成にすることもできる。
プリンタドライバには、ＩＤとパスワードを記録、保持させる機能が備わっている。これらはＰＪＬの変数「ＵＳＥＲＩＤ」と、「ＪＯＢＰＡＳＳＷＯＲＤ」に格納される。
第２の実施形態において、ユーザは第２のクライアントＰＣ２２０６を操作して、「ＵＳＥＲＩＤ」と「ＪＯＢＰＡＳＳＷＯＲＤ」を入力し、インデックスサーバ１０５に所定のＩＤとパスワードにて検索を行わせる。
インデックスサーバ１０５は、ＩＤとパスワードが合致したレコードについてのみプリンタに返信する。
この場合、明示的な認証ではないものの、検索機能がユーザ認証を兼ねることとなる。
【００９８】
（２）印刷データの送受信を行うプロトコルは、上述の実施形態に限られない。
ＦＴＰや、ＳＳＨの派生形であるＳＣＰやＳＦＴＰ等、多種多様な形態が考えられる。
【００９９】
（３）ユーザ認証の仕組みは、上述の実施形態に限られない。全てのプリンタが共通のユーザテーブルを抱える構成にすることもできる。
【０１００】
（４）上述の実施形態において、プリンタ同士のアクセスにはＨＴＴＰを用いているが、このときに用いるＢＡＳＩＣ認証は必ずしも必要ではない。ディレクトリ一覧表示を許容せず、容易に類推できない構成のファイル名及びディレクトリ名をＵＲＬに付していれば、ＢＡＳＩＣ認証はなくてもよい。このような認証を採用するか否かは、主にセキュリティ面を考慮するシステム運用上の問題である。
【０１０１】
（５）ＩＰアドレスはプライベートＩＰに限らない。
所定のセキュリティを充足していれば、グローバルＩＰアドレスであってもよい。
これは、現行のＩＰｖ４に限らず、ＩＰｖ６においても同様である。
【０１０２】
（６）インデックスサーバ１０５と認証サーバ１０６は単一のサーバ上に構築し、一体化することが可能である。
【０１０３】
（７）インデックスサーバ１０５と認証サーバ１０６は、プリンタのファームウェアと一体化することが可能である。
図２６にこの一例を示す。図２６は、インデックスサーバの機能を包含するプリンタの機能ブロック図である。
プリンタ２６０１は、プリンタ５０１の構成部分と、インデックスサーバ１０５の構成部分の両方を包含している。
【０１０４】
（８）インデックスサーバ１０５は、必ずしもｗｅｂサーバである必要はない。インデックスサーバ１０５をＳＱＬサーバにて構成し、プリンタがＳＱＬのクエリー（query：データベース管理システムに対する処理要求（問い合わせ）の文字列。）を直接生成して、当該インデックスサーバ１０５に送信する構成にしてもよい。
【０１０５】
本実施形態においては、オンデマンド印刷システムを開示した。
本実施形態は、「どこでも印刷できる」目的のために、印刷データをプリンタに抱え込ませ、プリンタ自体にサーバの機能を持たせた。
本実施形態によって、ユーザは社屋内、つまり所定のネットワークの範囲内にある、所定の機能を満たすプリンタであれば、どのプリンタでも印刷ができる。
本実施形態のオンデマンド印刷システムは、この機能を実現する際に、従来のシステムと比べると、設置するサーバの処理能力はさほど高くなくてもよい。極めて軽量且つ簡素なハードウェアでも十分実現できる。したがって、設備投資は低額で済む。
また、印刷データの流れが集中しないので、従来のシステムと比べるとネットワークのトラフィックが軽減される。
更に、普段使っているプリンタが故障してしまっても、別のプリンタに設定を切り替えるだけで、何ら問題なく印刷を実行できる。
【０１０６】
以上、本発明の実施形態例について説明したが、本発明は上記実施形態例に限定されるものではなく、特許請求の範囲に記載した本発明の要旨を逸脱しない限りにおいて、他の変形例、応用例を含むことは言うまでもない。
【符号の説明】
【０１０７】
１０１…オンデマンド印刷システム、１０２…プリンタＡ、１０３…プリンタＢ、１０４…クライアントＰＣ、１０５…インデックスサーバ、１０６…認証サーバ、１０７…東京本社、１０８、１１２…社内ＬＡＮ、１０９、１１３…ファイアウォール、７０…インターネット、１１１…大阪支社、１１４…インターネットＶＰＮ、１１５…ユーザＡ、３０２…印刷データ作成部、３０３…ユーザＩＤ記憶部、３０４…印刷データ送信部、３０５…「第１のプリンタのアドレス」記憶部、４０１…印刷データ、４０２…ヘッダ部、４０３…実体部、５０１…プリンタ、５０２…印刷データ受信部、５０３…ＴＣＰ／ＩＰネットワーク、５０４…ＵＳＢドライバ、５０５…シリアルドライバ、５０６…パラレルドライバ、５０７…スプーラ、５０８…スプールディレクトリ、５０９…ＧＰＳ、５１０…プリンタエンジンドライバ、５１０、５１１…プリンタエンジンハードウェア、５１１、５１２…ＧＰＳフィルタ、５１３…フラグ検出部、５１４…スイッチ、５１５…インデックスレコード作成部、５１６…ヘッダ書換部、５１７…データディレクトリ、５１８…インデックスレコード送信部、５１９…「プリンタのアドレス」記憶部、５２０、５２７…インデックスサーバアドレス・ＩＤ・ＰＷ記憶部、５２１…印刷データ送信可能化部、５２２…ＩＤ・ＰＷ記憶部、５２３…ＩＣカードリーダ、５２４…ＬＤＡＰクライアント、５２５…認証サーバアドレス記憶部、５２６…インデックスクライアント、５２８…ＲＡＭ、５２９…表示部、５３０…操作部、５３１…選択部、５３２…タッチパネル、５３３…印刷データ取得部、７０２…ｗｅｂサーバプログラム、７０３…ＩＤ・ＰＷ記憶部、７０４…第１のｃｇｉ、７０５…記憶部、７０６…インデックステーブル、７０７…第２のｃｇｉ、７０８…インデックスレコード受信部、７０９…インデックスレコード登録部、７１０…検索キー受信部、７１１…検索実行部、７１２…検索結果送信部、１００１…表示画面、１００２…「文書名」欄、１００３…「日時」欄、１００４…「ページ」欄、１００５…「ユーザ名」欄、２２０１…オンデマンド印刷システム、２２０２…プリンタＣ、２２０３…プリンタＤ、２２０４…第１のクライアントＰＣ、２２０５…インデックスサーバ、２２０６…第２のクライアントＰＣ、２２０２…印刷データ受信部、２２３２…印刷データ取得部、２５０３…ユーザＩＤ記憶部、２５０２…インデックスレコード取得部、２５０４…インデックスサーバアドレス記憶部、２５０５…ＲＡＭ、２５０６…表示部、２５０７…操作部、２５０８…選択部、２５０９…印刷命令発行部、２５１０…第２のプリンタアドレス記憶部、２５１１…プリンタ選択部、２６０１…プリンタ
【先行技術文献】
【特許文献】
【０１０８】
【特許文献１】特開２００３−２７４０６４号公報
【図１】
2014056603.tif 000003
【図２】
2014056603.tif 000004
【図３】
2014056603.tif 000005
【図４】
2014056603.tif 000006
【図５】
2014056603.tif 000007
【図６】
2014056603.tif 000008
【図７】
2014056603.tif 000009
【図８】
2014056603.tif 000010
【図９】
2014056603.tif 000011
【図１０】
2014056603.tif 000012
【図１１】
2014056603.tif 000013
【図１２】
2014056603.tif 000014
【図１３】
2014056603.tif 000015
【図１４】
2014056603.tif 000016
【図１５】
2014056603.tif 000017
【図１６】
2014056603.tif 000018
【図１７】
2014056603.tif 000019
【図１８】
2014056603.tif 000020
【図１９】
2014056603.tif 000021
【図２０】
2014056603.tif 000022
【図２１】
2014056603.tif 000023
【図２２】
2014056603.tif 000024
【図２３】
2014056603.tif 000025
【図２４】
2014056603.tif 000026
【図２５】
2014056603.tif 000027
【図２６】
2014056603.tif 000028