トップ :: G 物理学 :: G06 計算;計数




【発明の名称】 ネットワーク・プリント・システム及びネットワーク・プリント制御方法、並びに、スプール装置
【発明者】 【氏名】源田 公平

【要約】 【課題】プリンタの存在や印刷先を指定するための情報を事前に知ることなく印刷等の要求を行う。

【解決手段】ネットワーク上にはプリントジョブをスプールするスプールサーバが設置される。スプールサーバは、プリントジョブを受け付けると、ジョブを識別するジョブ番号を付けてスプールするとともに、ジョブ番号を印刷要求元に返す。プリンタは、ユーザが入力するジョブ番号を受け付けると、スプールサーバにジョブの有無を問い合わせる。該当するプリントジョブをスプールしているスプールサーバは、問合せに応答してジョブをプリンタに転送する。
【特許請求の範囲】
【請求項1】ネットワーク経由でのプリント要求に対して情報出力サービスを行うネットワークプリント・システムであって、ネットワーク経由でプリントジョブを受信してスプールするスプール装置と、ネットワーク接続され、プリントジョブを実行する1以上のプリンタと、を備え、前記スプール装置は、ユーザからプリントジョブを受け付けるとジョブを識別するためのジョブ識別情報を付与して、該ジョブ識別情報をプリント要求元ユーザに返信するとともに、ジョブ識別情報を基にスプール中の各プリントジョブを管理し、前記プリンタは、ユーザからジョブ識別情報が付されたプリントアウト要求を受け付けたことに応答して、前記スプール装置に対して該ジョブ識別情報を基にプリントジョブを問い合わせる、ことを特徴とするネットワークプリントシステム。
【請求項2】前記スプール装置は、プリンタから要求されたジョブ識別情報に対応するプリントジョブをスプールしているか否かを検査して、スプールしている場合には該当するプリントジョブを要求元プリンタに送信する、ことを特徴とする請求項1に記載のネットワークプリントシステム。
【請求項3】前記ネットワーク上には複数のスプール装置が存在し、前記スプール装置は、プリンタから要求されたジョブ識別情報に対応するプリントジョブをスプールしているか否かを検査して、スプールしていない場合には他のスプール装置に対してプリントジョブの有無を問い合わせる、ことを特徴とする請求項1に記載のネットワークプリントシステム。
【請求項4】前記ネットワーク上には複数のスプール装置が存在するとともに、各スプール装置は自己のドメイン内のプリンタを管理しており、各スプール装置は、自己のドメイン内のプリンタから要求されたジョブ識別情報に対応するプリントジョブをスプールしているか否かを検査して、スプールしている場合には該当するプリントジョブを要求元プリンタに送信することを特徴とする請求項1に記載のネットワークプリントシステム。
【請求項5】前記スプール装置は、プリンタから要求されたジョブ識別情報に対応するプリントジョブをスプール中か否かを検査して、スプールしていない場合には他のスプール装置に対してプリントジョブの有無を問い合わせて、取得したプリントジョブを要求元プリンタに転送する、ことを特徴とする請求項4に記載のネットワークプリントシステム。
【請求項6】前記スプール装置は、プリンタから要求されたジョブ識別情報に対応するプリントジョブをスプール中か否かを検査して、スプールしていない場合には他のスプール装置に対して要求元プリンタの識別情報を付してプリントジョブの有無を問い合わせ、問い合わせられたプリントジョブをスプールするスプール装置は要求元プリンタに該プリントジョブを送信する、ことを特徴とする請求項4に記載のネットワークプリントシステム。
【請求項7】ネットワーク経由でのプリント要求に対して情報出力サービスを行うネットワークプリント・システムであって、ネットワーク経由でプリント要求を受信してスプールするスプール装置と、ネットワーク接続され、プリントジョブを実行する1以上のプリンタと、を備え、前記スプール装置は、アプリケーションにより作成編集されたアプリケーションデータのプリント要求をユーザから受け付けると、該アプリケーションデータを印刷可能なデータ形式のプリントジョブに変換してスプールするとともに、ジョブを識別するためのジョブ識別情報を付与して、プリント要求元ユーザに該ジョブ識別情報を返信し、ジョブ識別情報を基にスプール中の各プリントジョブを管理し、前記プリンタは、ユーザからジョブ識別情報が付されたプリント要求を受け付けたことに応答して、前記スプール装置に対して該ジョブ識別情報を基にプリントジョブを問い合わせる、ことを特徴とするネットワークプリントシステム。
【請求項8】前記スプール装置は、プリンタから要求されたジョブ識別情報に対応するプリントジョブをスプールしているか否かを検査して、スプールしている場合には該当するプリントジョブを要求元プリンタに送信する、ことを特徴とする請求項7に記載のネットワークプリントシステム。
【請求項9】前記ネットワーク上には複数のスプール装置が存在し、前記スプール装置は、プリンタから要求されたジョブ識別情報に対応するプリントジョブをスプールしているか否かを検査して、スプールしていない場合には他のスプール装置に対してプリントジョブの有無を問い合わせて、該当するアプリケーションデータを受信するとともにこれをプリントジョブに変換して要求元プリンタに転送する、ことを特徴とする請求項7に記載のネットワークプリントシステム。
【請求項10】前記ネットワーク上には複数のスプール装置が存在するとともに、各スプール装置は自己のドメイン内のプリンタを管理しており、各スプール装置は、自己のドメイン内のプリンタから要求されたジョブ識別情報に対応するプリントジョブをスプールしているか否かを検査して、スプールしている場合には該当するプリントジョブを要求元プリンタに送信することを特徴とする請求項7に記載のネットワークプリントシステム。
【請求項11】前記スプール装置は、プリンタから要求されたジョブ識別情報に対応するプリントジョブをスプール中か否かを検査して、スプールしていない場合には他のスプール装置に対してプリントジョブの有無を問い合わせて、該当するアプリケーションデータを受信するとともにこれをプリントジョブに変換して要求元プリンタに転送する、ことを特徴とする請求項10に記載のネットワークプリントシステム。
【請求項12】前記スプール装置は、プリンタから要求されたジョブ識別情報に対応するプリントジョブをスプール中か否かを検査して、スプールしていない場合には他のスプール装置に対して要求元プリンタの識別情報を付してプリントジョブの有無を問い合わせ、問い合わせられたプリントジョブをスプールするスプール装置は、該当するアプリケーションデータをプリントジョブに変換して要求元プリンタに送信する、ことを特徴とする請求項10に記載のネットワークプリントシステム。
【請求項13】ネットワーク経由でのプリント要求に対して情報出力サービスを行うネットワークプリント・システムであって、ネットワーク経由でプリントジョブを受信してスプールするスプール装置と、ネットワーク接続され、プリントジョブを実行する1以上のプリンタと、を備え、前記スプール装置は、ユーザからプリントジョブを受け付けるとジョブを識別するためのジョブ識別情報を付与して、該ジョブ識別情報及び自己のスプール装置識別情報をプリント要求元ユーザに返信するとともに、ジョブ識別情報を基にスプール中の各プリントジョブを管理し、前記プリンタは、ユーザからジョブ識別情報及びスプール装置識別情報が付されたプリント要求を受け付けたことに応答して、最寄のスプール装置に対して該ジョブ識別情報並びにスプール装置識別情報を基にプリントジョブを問い合わせる、ことを特徴とするネットワークプリントシステム。
【請求項14】ネットワーク経由でのプリント要求に対して情報出力サービスを行うネットワークプリント・システムであって、ネットワーク経由でプリントジョブを受信してスプールするスプール装置と、ネットワーク接続され、プリントジョブを実行する1以上のプリンタと、を備え、前記スプール装置は、ユーザからプリントジョブを受け付けるとジョブを識別するためのジョブ識別情報を付与して、該ジョブ識別情報及び自己のスプール装置識別情報をプリント要求元ユーザに返信するとともに、ジョブ識別情報を基にスプール中の各プリントジョブを管理し、前記プリンタは、ユーザからジョブ識別情報及びスプール装置識別情報が付されたプリント要求を受け付けたことに応答して、スプール装置識別情報に該当するスプール装置に対して該ジョブ識別情報を基にプリントジョブを問い合わせる、ことを特徴とするネットワークプリントシステム。
【請求項15】ネットワーク経由でのプリント要求に対して情報出力サービスを行うネットワークプリント制御方法であって、ユーザから受信したプリントジョブに対してジョブ識別情報を付与してスプールするステップと、ユーザにジョブ識別情報を返すステップと、ユーザがプリンタ上でのプリントアウト要求を行ったことに応答して、該要求されたジョブ識別情報を基に該当するプリントジョブを探索するステップと、を具備することを特徴とするネットワークプリント制御方法。
【請求項16】ネットワーク上にはプリントジョブをスプールする2以上のスプール装置が存在し、前記のプリントジョブを探索するステップは、あるスプール装置内で該当するプリントジョブを発見できない場合にはさらに他のスプール装置に問い合わせるサブステップを含む、ことを特徴とする請求項15に記載のネットワークプリント制御方法【請求項17】ネットワーク上にはプリントジョブをスプールする2以上のスプール装置が存在するとともに、各スプール装置は自己のドメイン内のプリンタを管理しており、前記のプリントジョブを探索するステップは、あるスプール装置がドメイン内のプリンタからプリントジョブの要求を受け取るサブステップと、該スプール装置が該当するプリントジョブを探索するサブステップと、該スプール装置が該当するプリントジョブを発見できない場合には、さらに他のドメインを管理する他のスプール装置に問い合わせるサブステップとを含む、ことを特徴とする請求項15に記載のネットワークプリント制御方法。
【請求項18】問い合わされた他のスプール装置は、問合せ元のスプール装置にプリントジョブを返し、問合せ元のスプール装置は要求元のプリンタにプリントジョブを転送する、ことを特徴とする請求項17に記載のネットワークプリント制御方法。
【請求項19】さらに他のドメインを管理する他のスプール装置に問い合わせるサブステップでは、要求元のプリンタの識別情報を付してプリントジョブを問い合わせ、問い合わされた他のスプール装置は、プリンタ識別情報を基に要求元のプリンタにプリントジョブを送信する、ことを特徴とする請求項17に記載のネットワークプリント制御方法。
【請求項20】ネットワーク経由でのプリント要求に対して情報出力サービスを行うネットワークプリント制御方法であって、アプリケーションにより作成編集されたアプリケーションデータのプリント要求をユーザから受信するステップと、ユーザから受信したアプリケーションデータに対してジョブ識別情報を付与してスプールするステップと、ユーザにジョブ識別情報を返すステップと、ユーザがプリンタ上でのプリントアウト要求を行ったことに応答して、該要求されたジョブ識別情報を基に該当するアプリケーションデータを探索するステップと、アプリケーションデータを該プリンタ上で印刷可能なデータ形式のプリント・ジョブに変換して該プリンタに送信するステップと、を具備することを特徴とするネットワークプリント制御方法。
【請求項21】ネットワーク上にはプリントジョブをスプールする2以上のスプール装置が存在し、前記のアプリケーションデータを探索するステップは、あるスプール装置内で該当するアプリケーションデータを発見できない場合にはさらに他のスプール装置に問い合わせるサブステップを含む、ことを特徴とする請求項20に記載のネットワークプリント制御方法【請求項22】ネットワーク上にはプリントジョブをスプールする2以上のスプール装置が存在するとともに、各スプール装置は自己のドメイン内のプリンタを管理しており、前記のアプリケーションデータを探索するステップは、あるスプール装置がドメイン内のプリンタからプリントジョブの要求を受け取るサブステップと、該スプール装置が該当するアプリケーションデータを探索するサブステップと、該スプール装置が該当するアプリケーションデータを発見できない場合には、さらに他のドメインを管理する他のスプール装置に問い合わせるサブステップとを含む、ことを特徴とする請求項20に記載のネットワークプリント制御方法。
【請求項23】問い合わされた他のスプール装置は、問合せ元のスプール装置にアプリケーションデータを返し、問合せ元のスプール装置は該アプリケーションデータをプリントジョブに変換して要求元のプリンタに送信する、ことを特徴とする請求項22に記載のネットワークプリント制御方法。
【請求項24】さらに他のドメインを管理する他のスプール装置に問い合わせるサブステップでは、要求元のプリンタの識別情報を付してアプリケーションデータを問い合わせ、問い合わされた他のスプール装置は、アプリケーションデータをプリントジョブに変換して、プリンタ識別情報を基に要求元のプリンタに送信する、ことを特徴とする請求項22に記載のネットワークプリント制御方法。
【請求項25】ネットワーク経由でのプリント要求に対する情報出力サービスを支援するスプール装置であって、ユーザから受信したプリントジョブに対してジョブ識別情報を付与するジョブ識別情報付与手段と、ジョブ識別情報をプリント要求元ユーザに返すジョブ識別情報通知手段と、ジョブ識別情報を基に各プリントジョブのスプールを管理するスプール管理手段と、ジョブ識別情報を付したジョブ問合せに応答して、前記スプール管理手段でスプール中のプリントジョブを探索して、該当するプリントジョブを返信するジョブ問合せ管理手段と、を具備することを特徴とするスプール装置。
【請求項26】前記ネットワーク上には複数のスプール装置が存在し、前記ジョブ問合せ管理手段は、該当するプリントジョブを前記スプール管理手段で発見できなかった場合は、さらにネットワーク上の他のスプール装置に問い合わせる、ことを特徴とする請求項25に記載のスプール装置。
【請求項27】前記ネットワーク上には複数のスプール装置が存在するとともに、各スプール装置は自己のドメイン内のプリンタを管理しており、前記ジョブ問合せ管理手段は、自己のドメイン内のプリンタからのジョブ問合せに応答して、前記スプール管理手段でスプール中のプリントジョブを探索し、該当するプリントジョブを前記スプール管理手段で発見できなかった場合は、さらにネットワーク上の他のドメインを管理する他のスプール装置に問い合わせる、ことを特徴とする請求項25に記載のスプール装置。
【請求項28】前記ジョブ問合せ管理手段は、他のスプール装置からの問合せに応答して、該他のスプール装置に問い合わせられたプリントジョブを返す、ことを特徴とする請求項27に記載のスプール装置。
【請求項29】前記ジョブ問合せ管理手段は、他のスプール装置に問い合わせるときには要求元のプリンタの識別情報を付すとともに、他のスプール装置からの問合せに応答して問い合わせられたプリンタジョブをプリンタ識別情報が示すプリンタに送信する、ことを特徴とする請求項27に記載のスプール装置。
【請求項30】前記ジョブ識別情報付与手段は、プリントジョブに対して自己を識別するスプール識別情報を含んだジョブ識別情報を付与する、ことを特徴とする請求項25に記載のスプール装置。
【請求項31】ネットワーク経由でのプリント要求に対する情報出力サービスを支援するスプール装置であって、アプリケーションにより作成編集されたアプリケーションデータのプリント要求をユーザから受け付けると、これに対してジョブ識別情報を付与するジョブ識別情報付与手段と、ジョブ識別情報をプリント要求元ユーザに返すジョブ識別情報通知手段と、アプリケーションデータを印刷可能なデータ形式のプリントジョブに変換するデータ変換手段と、ジョブ識別情報を基に各プリントジョブのスプールを管理するスプール管理手段と、ジョブ識別情報を付したジョブ問合せに応答して、前記スプール管理手段でスプール中のプリントジョブを探索して、該当するプリントジョブを返信するジョブ問合せ管理手段と、を具備することを特徴とするスプール装置。
【請求項32】前記ネットワーク上には複数のスプール装置が存在し、前記ジョブ問合せ管理手段は、該当するプリントジョブを前記スプール管理手段で発見できなかった場合は、さらにネットワーク上の他のスプール装置に問い合わせる、ことを特徴とする請求項31に記載のスプール装置。
【請求項33】前記ネットワーク上には複数のスプール装置が存在するとともに、各スプール装置は自己のドメイン内のプリンタを管理しており、前記ジョブ問合せ管理手段は、自己のドメイン内のプリンタからのジョブ問合せに応答して、前記スプール管理手段でスプール中のプリントジョブを探索し、該当するプリントジョブを前記スプール管理手段で発見できなかった場合は、さらにネットワーク上の他のドメインを管理する他のスプール装置に問い合わせる、ことを特徴とする請求項31に記載のスプール装置。
【請求項34】前記ジョブ問合せ管理手段は、他のスプール装置からの問合せに応答して、該他のスプール装置に問い合わせられたプリントジョブを返す、ことを特徴とする請求項33に記載のスプール装置。
【請求項35】前記ジョブ問合せ管理手段は、他のスプール装置からの問合せに応答して、該他のスプール装置に問い合わせられたアプリケーションデータを返す、ことを特徴とする請求項33に記載のスプール装置。
【請求項36】前記ジョブ問合せ管理手段は、他のスプール装置に問い合わせるときには要求元のプリンタの識別情報を付すとともに、他のスプール装置からの問合せに応答して問い合わせられたプリンタジョブをプリンタ識別情報が示すプリンタに送信する、ことを特徴とする請求項33に記載のスプール装置。
【請求項37】前記ジョブ識別情報付与手段は、プリントジョブに対して自己を識別するスプール識別情報を含んだジョブ識別情報を付与する、ことを特徴とする請求項31に記載のスプール装置。
【発明の詳細な説明】【0001】
【発明の属する技術分野】本発明は、情報の記録・複製・印刷出力等のサービスを提供するための情報出力システムに係り、特に、遠隔地からのネットワーク経由での情報の記録・複製・印刷等の要求に対して情報出力サービスを行うネットワークプリント・システム及びネットワークプリント制御方法に関する。
【0002】更に詳しくは、本発明は、印刷要求するユーザは、印刷要求時にはプリンタの存在や印刷先を指定するための情報を事前に知ることなく情報の記録・複製・印刷等の要求を行うことができるネットワークプリント・システム及びネットワークプリント制御方法に係り、特に、印刷要求元であるユーザは、任意の場所に設置されたプリンタ上でプリントジョブを実行して印刷物を得ることができるネットワークプリント・システム及びネットワークプリント制御方法に関する。
【0003】
【従来の技術】各種のOA(Office Automation)機器は、従来から盛んに開発製作され、企業や研究機関のオフィスなどに広範に普及してきている。特にドキュメンテーションが最重要視される現代社会においては、画像を高解像度且つ高品位に複製することができる画像形成装置がオフィス内に深く浸透している。ここで言う「画像形成装置」には、原稿画像を読み取って印刷用紙上に再現する「複写機」の他、PSTN(Public Switched Telephone Network)やISDN(Integrated Services Digital Network)などの公衆電話回線経由で受信した画像データを画像出力する「ファクシミリ」、LAN(Local Area Network)やインターネットなどのネットワーク経由で受信したコンピュータ可読形式のデータやコンテンツを印刷する「プリンタ」、あるいは、これらのうち2以上の画像出力機能を備えた「複合機」などが含まれる。
【0004】画像形成装置は、一般に、原稿を光学的にスキャンして画像を読み取る画像入力部と、入力した画像データに対して色座標変換やデジタルフィルタリング、T/I分離などの所定の処理を施す画像処理部と、画像処理済みの画像データに基づいて入力画像を印刷用紙上に再現する画像出力部とで構成される。画像出力部には、例えば、電子写真プロセス方式が採用される。電子写真プロセスは、電子写真感光体に対する帯電、現像、クリーニングの繰り返しで実現される。すなわち、感光体の表面を帯電器によって一様に帯電させた後、画像データに従って感光体表面を露光して静電潜像を形成し、現像器によって静電潜像をトナー像とした後、所定の印刷用紙上にトナー像を転写する。その後、加熱溶融・圧着作用によりトナー像を印刷用紙上に定着して、画像形成装置の外に排紙する。転写後の感光体表面は、残留トナーがクリーナによって除去された後、次の現像プロセスに利用される。
【0005】ドキュメンテーションのニーズは拡大する一方である。その反面、高印字品位の画像形成装置は高価で且つ床面積が大きいので、一般消費者毎に自費で購入することは未だ困難である。このため、大学生協やコンビニエンスストア、ガソリン・スタンド、高速道路のサービス・エリアなどのオープンスペースに複写機やファクシミリを設置して、有料の複写サービスやファクシミリ送信サービスを提供しているケースが散見される。複写サービスにおいては、料金をあらかじめコインキットに投入しておき、投入料金に応じた枚数のコピー出力が顧客に許容される(あるいは、プリペイドカードをカードリーダに挿入し、プリペイドカードの残金に応じた枚数のコピー出力が許容される)。また、ファクシミリ送信サービスにおいては、ファクシミリ送信後に、送信量に応じた使用代金を同一店舗内のレジにて精算するのが一般的である。
【0006】このような複写機やファクシミリの有料サービスは、サービスを利用する一般消費者にとっては、装置購入コストなしに高機能高品位な装置の恩恵を享受することができる。また、サービスを提供する店舗経営者にとっては、このような画像形成装置を設置しておくだけで、顧客が勝手に機器を操作して印刷出力することによって、印刷量に応じて従量加算されたサービス使用料金が自ずと蓄積されるとともに、印刷サービスを求めるユーザが店舗に集まるので顧客吸引力になるなどのメリットがある。例えば、前述したような「複合機」を店舗内に設置しておけば、複写、ファクシミリ、コンピュータ・データのプリント・アウトなど、情報記録に関する多種多様な有料サービスを1台の画像形成装置のみで実現することができる。
【0007】他方、パーソナル・コンピュータ(PC)やワークステーション(WS)など、比較的低価格で入手可能な計算機システムが普及し、いまやコンピュータは一般消費者の自宅やSOHO(Small Office Home Office)など、ビジネスや娯楽、その他各種の用途のためのツールとして深く浸透している。
【0008】また、コンピュータ・ユーザの立場からすれば、編集結果としてのドキュメントや、インターネットあるいはその他の経路により取得したコンテンツなどの各種のデータ・ファイルやコンテンツなどを印刷出力したい、という要求は当然にしてある。例えば、比較的枚数が少なく且つ印字品位を要求されないような場合であれば、ユーザ自身のPCにローカル接続された低廉なインクジェット・プリンタを用いて印刷すればよい。これに対し、大量の印刷を行いたい場合には、印字速度の遅いインクジェット式プリンタでは処理が追いつかない。また、高印字品位が求められている場合も、インクジェット式では限界があり、高価な電子写真方式による印刷出力に頼らざるを得ない場合が想定される。
【0009】このような場合の1つの解決策として、上述したような、コンビニエンス・ストアやその他の公共のさまざまな場所に不特定多数のユーザ間で共用される複合機若しく高価高機能なプリンタを設置するとともに、各ユーザは自宅やオフィスのPCからこれら高機能プリンタに対してネットワーク経由でアクセスして、遠隔から印刷要求を発行するというサービス、すなわち「ネットワークプリントサービス」が考えられる。すなわち、ユーザは、あらかじめ印刷を指示しておいて、都合のよい場所で印刷物を受け取ることができる。広域的なネットワークが今後発達していくことを鑑みれば、さまざまな場所に数多くのプリンタを設置しておくニーズがますます高まっていくものと予想される。
【0010】ところが、ユーザがPCなどの情報端末から印刷要求を発行する場合、印刷したいプリンタをあらかじめ特定する必要がある。
【0011】身近な場所にあるがそれを特定するための情報を得ていないプリンタを利用しようとしたり、最寄のコンビニエンスストアにあるプリンタや初めて出向く場所にあるプリンタを利用しようとした場合、そのプリンタの存在や印刷先として指定できるだけの情報をユーザが事前に知っておく必要がある。
【0012】たとえ目の前にプリンタがあったとしても、このような情報を知らなければ、実際にプリンタを使用することはできない。また、遠隔の場所に設置されたプリンタを印刷先として指定する多くの場合、プリンタを指定するための情報を事前に入手しておくことは不可能に近い。
【0013】
【発明が解決しようとする課題】本発明の目的は、遠隔地からのネットワーク経由の情報の記録・複製・印刷等の要求に対して情報出力サービスを行うことができる、優れたネットワークプリント・システム及びネットワークプリント制御方法を提供することにある。
【0014】本発明の更なる目的は、印刷要求するユーザは、印刷要求時にはプリンタの存在や印刷先を指定するための情報を事前に知ることなく情報の記録・複製・印刷等の要求を行うことができる、優れたネットワークプリント・システム及びネットワークプリント制御方法を提供することにある。
【0015】本発明の更なる目的は、印刷要求元であるユーザは、任意の場所に設置されたプリンタ上でプリントジョブを実行して印刷物を得ることができる、優れたネットワークプリント・システム及びネットワークプリント制御方法を提供することにある。
【0016】
【課題を解決するための手段及び作用】本発明は、上記課題を参酌してなされたものであり、その第1の側面は、ネットワーク経由でのプリント要求に対して情報出力サービスを行うネットワークプリント・システムであって、ネットワーク経由でプリントジョブを受信してスプールするスプール装置と、ネットワーク接続され、プリントジョブを実行する1以上のプリンタと、を備え、前記スプール装置は、ユーザからプリントジョブを受け付けるとジョブを識別するためのジョブ識別情報を付与して、該ジョブ識別情報をプリント要求元ユーザに返信するとともに、ジョブ識別情報を基にスプール中の各プリントジョブを管理し、前記プリンタは、ユーザからジョブ識別情報が付されたプリントアウト要求を受け付けたことに応答して、前記スプール装置に対して該ジョブ識別情報を基にプリントジョブを問い合わせる、ことを特徴とするネットワークプリントシステムである。
【0017】本発明の第1の側面に係るネットワークプリントシステムによれば、ネットワーク上にはプリントジョブをスプールするための1台以上のスプール装置すなわちスプールサーバが設置される。スプール装置は、ユーザからプリントジョブを受け付けると、ジョブを識別するジョブ番号を付けてスプールするとともに、ジョブ番号を印刷要求元ユーザに返す。以後、ユーザは、ジョブ番号を基に自分のプリントジョブを問い合わせたり、ネットワーク接続されたプリンタに対してジョブ番号を基にプリントアウトの要求を行うことができる。
【0018】一方、ネットワーク接続されたプリンタは、ジョブ番号を基にユーザからのプリントアウト要求を受け付けることができる。プリンタは、ユーザから入力されたジョブ番号を、最寄のスプール装置に問い合わせる。該当するプリントジョブをスプールしているスプール装置は、問合せに応答してジョブをプリンタに転送する。この結果、プリンタ上でプリントジョブが実行可能となる。
【0019】すなわち、本発明の第1の側面に係るネットワークプリントシステムによれば、プリンタとは別に設けられたスプール装置に対して事前に印刷指示を発行しておくことで、ユーザはネットワーク接続された任意のプリンタからそのプリントジョブを取り出して印刷出力することができる。
【0020】また、本発明の第1の側面に係るネットワークプリントシステムによれば、クライアントユーザは、ネットワーク接続された特定のスプール装置に対してのみ印刷依頼(すなわちプリント・ジョブのスプール)を行っておくだけで、ネットワーク上の任意のプリンタからその印刷物を手に入れることができる。印刷依頼を発行する際に、印刷したいプリンタを特定しておく必要はまったくない。また、未知のプリンタ上であっても、クライアント端末上ではプリンタドライバのインストールなど特別な設定作業を行う必要なく、プリントアウトすることができる。
【0021】また、プリントジョブを発行する場所とプリンタの所在地が空間的及び時間的に隔たっている場合であっても、プリンタはスプールされたプリントジョブをネットワーク上で探し出して、好適にプリントアウトすることができる。
【0022】ネットワーク上には、複数のスプール装置が存在していてもよい。また、各スプール装置は自己のドメイン内のプリンタを管理するようにしていてもよい。
【0023】このような場合、各スプール装置は、基本的には、ドメイン毎にプリンタを管理しており、自己のドメイン内のプリンタからのジョブの問合せに応じるものとする。また、スプール装置は、自己のドメイン内のプリンタから要求されたジョブ識別情報に対応するプリントジョブをスプールしているか否かを検査するようにすればよい。
【0024】そして、問い合わせを受けたスプール装置自身がスプールしていない場合には、さらに、他のドメインを管理する他のスプール装置に対してプリントジョブの有無を問い合わせるようにすればよい。問合せを受けたスプール装置は、該当するプリントジョブを、問合せ元のスプール装置に返信してもよいし、スプール装置を介さずに、プリントアウトするプリンタに対して直接送信するようにしてもよい。
【0025】また、本発明の第2の側面は、ネットワーク経由でのプリント要求に対して情報出力サービスを行うネットワークプリント・システムであって、ネットワーク経由でプリント要求を受信してスプールするスプール装置と、ネットワーク接続され、プリントジョブを実行する1以上のプリンタと、を備え、前記スプール装置は、アプリケーションにより作成編集されたアプリケーションデータのプリント要求をユーザから受け付けると、該アプリケーションデータを印刷可能なデータ形式のプリントジョブに変換してスプールするとともに、ジョブを識別するためのジョブ識別情報を付与して、プリント要求元ユーザに該ジョブ識別情報を返信し、ジョブ識別情報を基にスプール中の各プリントジョブを管理し、前記プリンタは、ユーザからジョブ識別情報が付されたプリント要求を受け付けたことに応答して、前記スプール装置に対して該ジョブ識別情報を基にプリントジョブを問い合わせる、ことを特徴とするネットワークプリントシステムである。
【0026】本発明の第2の側面に係るネットワークプリントシステムによれば、ユーザは、アプリケーションデータの形式(アプリケーションにより編集されたままの形式で、印刷可能な形式ではない形式)のままでプリント要求を発行することができる。したがって、未知のプリンタ上でプリント・アウトしたいであっても、クライアント端末上ではプリンタドライバのインストールなど特別な設定を行う必要なく、プリントアウトすることができる。
【0027】ネットワーク上には、複数のスプール装置が存在していてもよい。また、各スプール装置は、自己のドメイン内に接続されたプリンタのみを管理するようにしていてもよい。
【0028】このような場合、各スプール装置は、基本的には、自己のドメイン内のプリンタからのジョブの問合せに応じるものとし、ドメイン内のプリンタから要求されたジョブ識別情報に対応するプリントジョブをスプールしているか否かを検査するようにすればよい。
【0029】そして、スプールしていない場合には、他のドメインを管理する他のスプール装置に対してプリントジョブ又はアプリケーションデータの有無を問い合わせるようにすればよい。問合せを受けたスプール装置は、該当するプリントジョブ又はアプリケーションデータを、問合せ元のスプール装置に返信してもよいし、スプール装置を介さずに、プリントアウトするプリンタに直接送信するようにしてもよい。
【0030】また、本発明の第3の側面は、ネットワーク経由でのプリント要求に対して情報出力サービスを行うネットワークプリント・システムであって、ネットワーク経由でプリントジョブを受信してスプールするスプール装置と、ネットワーク接続され、プリントジョブを実行する1以上のプリンタと、を備え、前記スプール装置は、ユーザからプリントジョブを受け付けるとジョブを識別するためのジョブ識別情報を付与して、該ジョブ識別情報及び自己のスプール装置識別情報をプリント要求元ユーザに返信するとともに、ジョブ識別情報を基にスプール中の各プリントジョブを管理し、前記プリンタは、ユーザからジョブ識別情報及びスプール装置識別情報が付されたプリント要求を受け付けたことに応答して、最寄のスプール装置に対して該ジョブ識別情報並びにスプール装置識別情報を基にプリントジョブを問い合わせる、ことを特徴とするネットワークプリントシステムである。
【0031】すなわち、プリンタに対するプリントアウト要求には、ジョブ識別情報とともにスプール装置識別情報が含まれているので、プリンタは最寄のスプール装置に対して問い合わせるだけでよい。この問い合わせに対し、最寄のスプール装置は、スプール装置識別情報が示すスプール装置に対してプリントジョブを直接要求することができるので、プリントジョブを取得するための処理手続きが効率的になる。
【0032】また、本発明の第4の側面は、ネットワーク経由でのプリント要求に対して情報出力サービスを行うネットワークプリント・システムであって、ネットワーク経由でプリントジョブを受信してスプールするスプール装置と、ネットワーク接続され、プリントジョブを実行する1以上のプリンタと、を備え、前記スプール装置は、ユーザからプリントジョブを受け付けるとジョブを識別するためのジョブ識別情報を付与して、該ジョブ識別情報及び自己のスプール装置識別情報をプリント要求元ユーザに返信するとともに、ジョブ識別情報を基にスプール中の各プリントジョブを管理し、前記プリンタは、ユーザからジョブ識別情報及びスプール装置識別情報が付されたプリント要求を受け付けたことに応答して、スプール装置識別情報に該当するスプール装置に対して該ジョブ識別情報を基にプリントジョブを問い合わせる、ことを特徴とするネットワークプリントシステムである。
【0033】すなわち、プリンタに対するプリントアウト要求には、ジョブ識別情報とともにスプール装置識別情報が含まれている。したがって、プリンタはプリントジョブをスプール中のスプール装置に対して直接問い合わせることにより、プリントジョブを効率的に取得することができる。
【0034】また、本発明の第5の側面は、ネットワーク経由でのプリント要求に対して情報出力サービスを行うネットワークプリント制御方法であって、ユーザから受信したプリントジョブに対してジョブ識別情報を付与してスプールするステップと、ユーザにジョブ識別情報を返すステップと、ユーザがプリンタ上でのプリントアウト要求を行ったことに応答して、該要求されたジョブ識別情報を基に該当するプリントジョブを探索するステップと、を具備することを特徴とするネットワークプリント制御方法である。
【0035】本発明の第5の側面に係るネットワークプリント制御方法によれば、ユーザは、プリンタとは別に設けられたスプール装置に対して事前に印刷指示を発行しておくことで、ネットワーク接続された任意のプリンタからそのプリントジョブを取り出して印刷出力することができる。
【0036】また、本発明の第5の側面に係るネットワークプリント制御方法によれば、クライアントユーザは、ネットワーク接続された特定のスプール装置に対してのみ印刷依頼を行っておくだけで、ネットワーク上の任意のプリンタからその印刷物を手に入れることができる。ユーザは、印刷依頼を発行する際に、印刷したいプリンタを特定しておく必要はまったくない。また、未知のプリンタ上でプリント・アウトする場合であっても、クライアント端末上ではプリンタドライバのインストールなど特別な設定を行う必要なく、プリントアウトすることができる。
【0037】また、プリントジョブを発行する場所とプリンタの所在地が空間的及び時間的に隔たっている場合であっても、プリンタは、ジョブ番号を基にスプールされたプリントジョブをネットワーク上で探し出して、好適にプリントアウトすることができる。
【0038】ネットワーク上には、複数のスプール装置が存在していてもよい。また、各スプール装置は、自己のドメイン内のプリンタのみを管理するようにしていてもよい。
【0039】このような場合、各スプール装置は、基本的には、自己のドメイン内のプリンタからのジョブの問合せに応じるものとし、ドメイン内のプリンタから要求されたジョブ識別情報に対応するプリントジョブをスプールしているか否かを検査するようにすればよい。
【0040】そして、スプールしていない場合には、他のドメインを管理する他のスプール装置に対してプリントジョブの有無を問い合わせるようにすればよい。問合せを受けたスプール装置は、該当するプリントジョブを、問合せ元のスプール装置に返信してもよいし、スプール装置を介さずに、プリントアウトするプリンタに直接送信するようにしてもよい。
【0041】また、本発明の第6の側面は、ネットワーク経由でのプリント要求に対して情報出力サービスを行うネットワークプリント制御方法であって、アプリケーションにより作成編集されたアプリケーションデータのプリント要求をユーザから受信するステップと、ユーザから受信したアプリケーションデータに対してジョブ識別情報を付与してスプールするステップと、ユーザにジョブ識別情報を返すステップと、ユーザがプリンタ上でのプリントアウト要求を行ったことに応答して、該要求されたジョブ識別情報を基に該当するアプリケーションデータを探索するステップと、アプリケーションデータを該プリンタ上で印刷可能なデータ形式のプリント・ジョブに変換して該プリンタに送信するステップと、を具備することを特徴とするネットワークプリント制御方法である。
【0042】本発明の第6の側面に係るネットワークプリント制御方法によれば、ユーザは、アプリケーションデータの形式のままでプリント要求を発行することができるので、未知のプリンタ上であっても、クライアント端末上ではプリンタドライバのインストールなど特別な設定を行う必要なく、プリントアウトすることができる。
【0043】ネットワーク上には、複数のスプール装置が存在していてもよい。また、各スプール装置は、自己のドメイン内のプリンタのみを管理するようにしていてもよい。
【0044】このような場合、各スプール装置は、基本的には、自己のドメイン内のプリンタからのジョブの問合せに応じるものとし、ドメイン内のプリンタから要求されたジョブ識別情報に対応するプリントジョブをスプールしているか否かを検査するようにすればよい。
【0045】そして、スプールしていない場合には、他のドメインを管理する他のスプール装置に対してプリントジョブ又はアプリケーションデータの有無を問い合わせるようにすればよい。問合せを受けたスプール装置は、該当するプリントジョブ又はアプリケーションデータを、問合せ元のスプール装置に返信してもよいし、スプール装置を介さずに、プリントアウトするプリンタに直接送信するようにしてもよい。
【0046】また、本発明の第7の側面は、ネットワーク経由でのプリント要求に対する情報出力サービスを支援するスプール装置であって、ユーザから受信したプリントジョブに対してジョブ識別情報を付与するジョブ識別情報付与手段と、ジョブ識別情報をプリント要求元ユーザに返すジョブ識別情報通知手段と、ジョブ識別情報を基に各プリントジョブのスプールを管理するスプール管理手段と、ジョブ識別情報を付したジョブ問合せに応答して、前記スプール管理手段でスプール中のプリントジョブを探索して、該当するプリントジョブを返信するジョブ問合せ管理手段と、を具備することを特徴とするスプール装置である。
【0047】本発明の第7の側面に係るスプール装置をネットワーク上に設置しておこくとにより、ユーザは、プリンタとは別に設けられたスプール装置に対して事前に印刷指示を発行しておくことで、ネットワーク接続された任意のプリンタからそのプリントジョブを取り出して印刷出力することができる。
【0048】また、本発明の第7の側面に係るスプール装置をネットワーク上に設置しておこくとにより、クライアントユーザは、ネットワーク接続された特定のスプール装置に対してのみ印刷依頼を行っておくだけで、ネットワーク上の任意のプリンタからその印刷物を手に入れることができる。印刷依頼を発行する際に、印刷したいプリンタを特定しておく必要はまったくない。また、未知のプリンタ上であっても、クライアント端末上ではプリンタドライバのインストールなど特別な設定を行う必要なく、プリントアウトすることができる。
【0049】また、プリントジョブを発行する場所とプリンタの所在地が空間的及び時間的に隔たっている場合であっても、プリンタは、ジョブ番号を基にスプールされたプリントジョブをネットワーク上で探し出して、好適にプリントアウトすることができる。
【0050】ネットワーク上には、複数のスプール装置が存在していてもよい。また、各スプール装置は、自己のドメイン内のプリンタのみを管理するようにしていてもよい。
【0051】このような場合、各スプール装置は、基本的には、自己のドメイン内のプリンタからのジョブの問合せに応じるものとし、ドメイン内のプリンタから要求されたジョブ識別情報に対応するプリントジョブをスプールしているか否かを検査するようにすればよい。
【0052】そして、スプールしていない場合には、他のドメインを管理する他のスプール装置に対してプリントジョブの有無を問い合わせるようにすればよい。問合せを受けたスプール装置は、該当するプリントジョブを、問合せ元のスプール装置に返信してもよいし、スプール装置を介さずに、プリントアウトするプリンタに直接送信するようにしてもよい。
【0053】また、本発明の第8の側面は、ネットワーク経由でのプリント要求に対する情報出力サービスを支援するスプール装置であって、アプリケーションにより作成編集されたアプリケーションデータのプリント要求をユーザから受け付けると、これに対してジョブ識別情報を付与するジョブ識別情報付与手段と、ジョブ識別情報をプリント要求元ユーザに返すジョブ識別情報通知手段と、アプリケーションデータを印刷可能なデータ形式のプリントジョブに変換するデータ変換手段と、ジョブ識別情報を基に各プリントジョブのスプールを管理するスプール管理手段と、ジョブ識別情報を付したジョブ問合せに応答して、前記スプール管理手段でスプール中のプリントジョブを探索して、該当するプリントジョブを返信するジョブ問合せ管理手段と、を具備することを特徴とするスプール装置である。
【0054】本発明の第8の側面に係るスプール装置をネットワーク上に設置しておくことにより、ユーザは、アプリケーションデータの形式のままでプリント要求を発行することができるので、未知のプリンタ上であっても、クライアント端末上ではプリンタドライバのインストールなど特別な設定を行う必要なく、プリントアウトすることができる。
【0055】ネットワーク上には、複数のスプール装置が存在していてもよい。また、各スプール装置は、自己のドメイン内のプリンタをのみ管理するようにしていてもよい。
【0056】このような場合、各スプール装置は、基本的には、自己のドメイン内のプリンタからのジョブの問合せに応じるものとし、ドメイン内のプリンタから要求されたジョブ識別情報に対応するプリントジョブをスプールしているか否かを検査するようにすればよい。
【0057】そして、スプールしていない場合には、他のドメインを管理する他のスプール装置に対してプリントジョブ又はアプリケーションデータの有無を問い合わせるようにすればよい。問合せを受けたスプール装置は、該当するプリントジョブ又はアプリケーションデータを、問合せ元のスプール装置に返信してもよいし、スプール装置を介さずに、プリントアウトするプリンタに直接送信するようにしてもよい。
【0058】本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。
【0059】
【発明の実施の形態】以下、図面を参照しながら本発明の実施例を詳解する。
【0060】図1には、本発明の実施に供される、情報の出力サービスを行うネットワークシステム1の全体構成を模式的に示している。
【0061】本実施例で言う「情報出力」とは、基本的には、コンピュータ可読データのようなデジタライズされた情報コンテンツを可視的な画像情報として印刷用紙上にプリントアウトすることであるが、デジタル・コンテンツすなわちコンピュータ可読形式のまま記録メディア上に保存することを含んでもよい。また、本発明に係る情報出力サービスは、ネットワーク経由で接続されたスプールサーバ50並びに各プリンタ10間での協働的動作によって具現化される。
【0062】ネットワークは、例えばTCP/IP(Transmission Control Protocol/Internet Protocol)プロトコルに従って各ホストが相互接続されたネットワークであり、インターネットのような広域ネットワークでよい。TCP/IPネットワーク上では、HTTP(Hyper Text Transfer Protocol)プロトコルによるハイパーテキスト(HTML(Hyper Text Markup Language)ドキュメント)の転送、FTP(File Transfer Protocol)によるファイル転送、SMTP(Simple Mail Transfer Protocol)プロトコルによるメール送信、IPP(Internet Printing Protocol)/*/によるクライアントからのプリント資源の指定、WWW(World Wide Web)システムによる情報検索サービスなどが可能である。図示の通り、ネットワーク上には、印刷要求すなわちプリントジョブを発行するクライアント端末80と、プリントジョブを実際に処理すなわちプリント出力することができるn台のプリンタ10−1,10−2,…,10−nと、プリントジョブを一時的に蓄積すなわちスプール(SPOOL:simultaneous peripheral operation on-line)するスプールサーバ50とで構成される。
【0063】クライアント端末80、各プリンタ10、並びにスプールサーバ50は、例えば、ネットワークインターフェースカード(NIC)を介して、所定の通信プロトコルに従って、相互接続されており、互いにデータの交換を行うことができる。例えば、スプールサーバ50とプリンタ10の協働的動作によって、クライアント・ユーザに対してネットワークプリントサービスを実現することができる。
【0064】印刷要求元であるクライアント端末80は、例えば、一般的なパーソナルコンピュータ(PC)で構成される。クライアントユーザは、このようなPC上でワープロやその他のアプリケーションを実行して、印刷処理対象となるドキュメントやその他のコンピュータファイルを作成編集する。あるいは、印刷処理対象をネットワーク経由でダウンロードしたり、CD(Compact Disc)やDVD(Digital Versatile Disc)などのリムーバブルメディアを媒介として流通配布される情報コンテンツをメディアドライブから読み込んで印刷処理対象としてもよい。
【0065】図2には、クライアント端末80の機能構成を模式的に図解している。同図に示すように、クライアント端末80は、制御部81と、ユーザ入力部82と、表示部83と、ネットワーク接続部84と、印刷用ドキュメント生成部85と、メディアドライブ87とで構成される。
【0066】制御部81は、端末80全体の動作を統括的に制御するメインコントローラであり、例えばCPU(Central Processing Unit)チップで構成され、所定のオペレーティングシステム(OS)の制御下で各種アプリケーションを実行することができる。
【0067】ユーザ入力部82は、例えばキーボードやマウスなどの入力装置で構成される。また、表示部83は、CRT(Cathode Ray Tube)ディスプレイやLCD(Liquid Crystal Display)のような表示装置で構成され、ユーザ入力に従う制御部81による演算結果を視覚的にユーザにフィードバックする。
【0068】ネットワーク接続部84は、例えばネットワークインターフェースカード(NIC)並びに通信プロトコル層で構成され、端末80をネットワーク経由で他の装置と相互接続する。
【0069】印刷用ドキュメント生成部85は、例えば、OSが提供する実行環境下で動作するアプリケーション・プログラムで構成され、主として印刷用のドキュメントを生成する。
【0070】但し、アプリケーションによって作成編集されるドキュメントその他のデータ(以下では、「アプリケーションデータ」とも呼ぶ)は、プリンタ10上でそのままプリント出力できるデータ形式(以下では、「印刷可能データ形式」とも呼ぶ)になっていない場合もある。このような場合には、プリンタ10専用のデバイスドライバなどを用いて、アプリケーション・データを印刷可能データに変換する必要がある。
【0071】メディアドライブ87は、DVDやCDなどのリムーバブルメディアを装填して、そのデータ記録面にアクセスしてデータを読み書きする装置である。印刷用ドキュメント生成部85は、例えば、メディアドライブ87上のリムーバブルメディアから読み取ったドキュメントを印刷用として利用することができる。また、印刷ドキュメント生成部85において作成・編集されたアプリケーション・データや印刷データをリムーバブル・メディア上に保存するようにしてもよい。
【0072】印刷ジョブ発行部86は、ネットワーク上のプリンタ10に対して、印刷用ドキュメントのプリントジョブを発行する機能モジュールである。プリントジョブは、ネットワーク接続部84を介してネットワーク上のスプール・サーバ50に転送される。
【0073】本実施例では、プリントジョブ発行時には、どのプリンタ10を使ってプリントアウトすべきかを特定する必要はなく、特定のスプールサーバ50に対してプリントジョブを送信するだけでよい。言い換えれば、クライアントユーザは、プリント指示の段階では、未だ特定のプリンタを指定しておく必要はないし、また、特定のプリンタを特定するための識別情報をあらかじめ知っておく必要もない。
【0074】プリントジョブ発行後、クライアントユーザは、スプールサーバ50からはプリントジョブを識別するためのジョブ番号を受け取ることができる(後述)。その後、ユーザは、このジョブ番号を基に、特定のプリンタ上でプリントアウトの指示を行ったり、ジョブ実行状況の問い合わせを行うことができる。但し、クライアント端末80とスプールサーバ50やプリンタ10との協働的動作については後に詳解する。
【0075】なお、クライアント端末80は、アプリケーションを起動して印刷処理対象データを自ら生成する場合には、PC又はそれ以上の演算能力を持つ計算機システムであることが好ましいが、スプールサーバから受け取ったジョブ番号に基づいて印刷要求を行うだけであれば、PDA(Personal Data Assistants)や携帯電話などの、小型の携帯情報端末であってもよい。
【0076】図3には、スプールサーバ50の機能構成を模式的に図解している。同図に示すように、スプールサーバ50は、制御部51と、ネットワーク接続部52と、プリンタ管理部53と、プリントデータ管理部54と、ジョブ番号発行部55と、ジョブ番号通知部56と、ジョブ番号受付部57と、スプーラ情報管理部58と、データ変換部59とで構成される。
【0077】制御部51は、サーバ50全体の動作を統括的に制御するメインコントローラであり、例えばCPU(Central Processing Unit)チップで構成され、所定のオペレーティングシステム(OS)の制御下で各種アプリケーションを実行することができる。
【0078】ネットワーク接続部52は、例えばネットワークインターフェースカード(NIC)並びに通信プロトコル層で構成され、サーバ50をネットワーク経由で他の装置と相互接続する。例えば、クライアント端末80からのプリントジョブの受信や、プリンタ10からのジョブ番号の問い合わせ、プリンタ10や他のスプール・サーバ50へのプリントジョブの送信などは、ネットワーク接続部52を介して行われる。
【0079】プリンタ管理部53は、ネットワーク上に接続され、スプールサーバ50の管轄下すなわちドメイン内に置かれる各プリンタ10を管理するための機能モジュールである。例えば、各プリンタ10のプリンタIDを管理する他、クライアント端末80から受信したアプリケーションデータを各プリンタ10に適合する印刷可能データ形式に変換するプリンタドライバなどを備えている。
【0080】プリントデータ管理部54は、ネットワーク接続部52を介してクライアント端末80から受信されるプリントデータを管理するための機能モジュールである。
【0081】ジョブ番号発行部55は、ネットワーク接続部52を介して受信された各プリントジョブに対して固有のジョブ番号を発行するための機能モジュールである。
【0082】ジョブ番号通知部56は、ジョブ番号発行部55において発行されたジョブ番号を、要求元のクライアント端末80に対してネットワーク接続部52を介して返信するための機能モジュールである。
【0083】ジョブ番号受付部57は、ネットワーク接続部52を介して受信される各プリンタ10(あるいは他のスプール・サーバ)からのプリントジョブの問合せを受付け処理するための機能モジュールである。
【0084】スプールサーバ50に送信されたプリントジョブは、ネットワーク上のいずれかのプリンタ10においてプリントアウト要求が実行されるまでの間、スプールされる。スプーラ情報管理部58は、各プリントジョブに関するスプール状況を管理する。
【0085】データ変換部59は、プリント先として指定されたプリンタ10用のプリンタドライバを用いて、アプリケーションデータを特定のプリンタ10上で印刷可能なデータ形式に変換するための機能モジュールである。
【0086】ネットワーク接続部52を介して受信されるプリントデータは、クライアント端末80上で編集されたアプリケーションデータであり、各プリンタ10においてプリントアウトできる印刷可能データ形式になっているとは限らない。また、クライアントは、プリントジョブ発行時にはいずれのプリンタ10で出力すべきかを未だ決定できない場合には、そもそも印刷可能データ形式を指定することができない。また、クライアント端末80がネットワーク上のすべてのプリンタ用のプリンタドライバを実装しておくことは物理的に不可能である。上記のデータ変換部59によれば、アプリケーションデータと印刷可能データとの相違を吸収しながら、いずれのプリンタ上でもプリント・アウトすることができるようにする。
【0087】図4には、プリンタ10の機能構成を模式的に図解している。同図に示すように、プリンタは、制御部11と、ネットワーク接続部12と、入力部13と、表示部14と、スプール部15と、印刷部16と、用紙管理部17と、用紙排出部18とで構成される。
【0088】制御部11は、サーバ50全体の動作を統括的に制御するメインコントローラであり、例えばCPU(Central Processing Unit)チップで構成され、所定のオペレーティングシステム(OS)の制御下で各種アプリケーションを実行することができる。
【0089】ネットワーク接続部12は、例えばネットワークインターフェースカード(NIC)並びに通信プロトコル層で構成され、サーバ50をネットワーク経由で他の装置と相互接続する。例えば、スプールサーバ50に対するプリントジョブの問い合わせや、プリントジョブの受信などは、ネットワーク接続部12を介して行われる。あるいは、クライアントユーザは、クライアント端末80やその他の携帯端末上からネットワーク経由でジョブ番号を送信することで、プリンタ10上でのプリントアウトを要求することができる。
【0090】入力部13は、例えばキーボードやマウス、タッチパネルなどのユーザ入力装置で構成される。プリンタ10は、コンビニエンスストアなどの公共の場に無人状態で設置され、不特定多数者をユーザとして受容する。ユーザの一部は、あらかじめ発行したプリントジョブのジョブ番号を、例えば入力部13を介して入力することによって、このプリンタ上でのプリントジョブの実行を要求することができる。
【0091】また、表示部14は、CRT(Cathode Ray Tube)ディスプレイやLCD(Liquid Crystal Display)のような表示装置で構成され、ユーザ入力に従う制御部11による演算結果を視覚的にユーザにフィードバックする。
【0092】スプール部15は、ネットワーク経由で受信したプリントジョブを一時的に蓄積したり、スプールした各プリント・ジョブの管理を行うための機能モジュールである。
【0093】印刷部16は、スプールされたプリントジョブのプリントアウトを実行する機能モジュールである。印刷エンジンには、例えば、電子写真プロセス方式が採用される。電子写真プロセスは、電子写真感光体に対する帯電、現像、クリーニングの繰り返しで実現される。すなわち、感光体の表面を帯電器によって一様に帯電させた後、画像データに従って感光体表面を露光して静電潜像を形成し、現像器によって静電潜像をトナー像とした後、所定の印刷用紙上にトナー像を転写する。その後、加熱溶融・圧着作用によりトナー像を印刷用紙上に定着して、画像形成装置の外に排紙する。転写後の感光体表面は、残留トナーがクリーナによって除去された後、次の現像プロセスに利用される。
【0094】用紙管理部17は、印刷部16に供給する印刷用紙の管理並びに給紙動作の管理を行うための機能モジュールであり、例えば、用紙サイズ、紙質など用紙の種別に応じた用紙トレイを備えている。
【0095】用紙排出部18は、印刷部16が排出する印刷済み用紙の蓄積並びに管理を行う機能モジュールである。用紙排出部18は、排紙トレイやソータなど排紙用紙を蓄積する収容場所の他、パンチやステープラのようなフィニッシュ処理装置を備えていてもよい。
【0096】次いで、スプールサーバ50とプリンタ10の協働的動作によって実現されるネットワークプリントサービスについて、再び図1を参照しながら説明する。
【0097】スプールサーバ50は、クライアント端末80から発行されるプリントジョブを受け付けると(T1)、ジョブを識別するためのジョブ番号を付けてスプールするとともに、そのジョブ番号を印刷要求元であるクライアント端末80に返信する(T2)。
【0098】ジョブ番号を受け取ったクライアントは、クライアント端末80上から、あるいは他の端末(例えばPDAや携帯電話80Aなど)を用いて、ジョブ番号を基にして、ネットワーク接続された任意のプリンタ10に対してプリントジョブの実行を要求することができる(T3)。プリントジョブの実行要求は、クライアントが出力したいプリンタの設置場所に向かい、プリンタに対して直接ジョブ番号を入力することによって行われる。
【0099】プリンタ10(図示の例では10−2)は、ジョブ番号を受け付けると、スプールサーバ50に対してそのジョブ番号に該当するプリントジョブの有無を問い合わせる(T4)。
【0100】スプールサーバ50は、プリンタ10からのプリントジョブの問合せに応答して、要求があったジョブ番号に該当するプリントジョブを次分がスプールしているか否かを調べる。そして、スプールしている場合には、そのプリントジョブをプリンタに転送する(T5)。プリンタ10は、スプール・サーバ50からプリントジョブを受け取ると、これをプリント実行して、クライアントに対して印刷物として提供する(T6)。
【0101】図5には、上述したネットワークプリントサービスを実現するための、スプールサーバ50が実行する処理手順をフローチャートの形式で示している。以下、このフローチャートに従って、スプールサーバ50の動作について説明する。
【0102】スプールサーバ50は、ネットワーク経由でメッセージを受信すると、まず、このメッセージが印刷依頼すなわちプリントジョブか否かをチェックする(ステップS1)。
【0103】印刷依頼であれば、プリントジョブの内容を検査して、印刷可能か否かをチェックする(ステップS2)。印刷不可能であれば、その旨を依頼元のクライアント端末80に通知した後(ステップS5)、ステップS1に復帰して、次のメッセージ受信まで待機する。
【0104】他方、プリントジョブの内容が印刷可能であれば、プリントジョブにジョブ番号を割り振って、このジョブ番号を依頼元のクライアント端末80に通知し(ステップS3)、ジョブ番号を保存するとともに、プリント・ジョブをスプールしておく(ステップS4)。その後、ステップS1に復帰して、次のメッセージ受信まで待機する。
【0105】ジョブ番号を受け取ったクライアントは、クライアント端末80上から、あるいは他の端末(例えばPDAや携帯電話80Aなど)を用いて、ジョブ番号を基にして、ネットワーク接続された任意のプリンタ10に対してプリントジョブの実行を要求することができる。プリントジョブの実行要求は、クライアントが出力したいプリンタの設置場所に向かい、プリンタに対して直接ジョブ番号を入力することによって行われる。
【0106】スプールサーバ50が受信したメッセージが印刷依頼でない場合には(ステップS1)、次いで、受信メッセージがいずれかのプリンタ10からの印刷要求か否かをチェックする(ステップS6)。印刷要求でなければ、ステップS1に復帰して、次のメッセージ受信まで待機する(あるいは、メッセージに該当する処理を実行後に、ステップS1に復帰する)。
【0107】他方、受信メッセージがプリンタ10からの印刷要求であれば、該印刷要求で指定されたジョブ番号に相当するプリント・ジョブが本スプールサーバ50内に存在するか否かをチェックする(ステップS7)。該当するプリント・ジョブがサーバ50内に存在しなければ、その旨を依頼元のプリンタ10に通知した後(ステップS11)、ステップS1に復帰して、次のメッセージ受信まで待機する。
【0108】また、印刷要求されたプリントジョブがスプールサーバ50内でスプールされている場合には、印刷要求元のプリンタ10の属性情報をプリンタ管理部53から取得して(ステップS8)、データ変換部59はこのプリンタ属性情報に合わせた印刷データ形式に変換して(ステップS9)、印刷要求元のプリンタ10にプリントジョブを送信して(ステップS10)、印刷実行せしめる。印刷終了後、ステップS1に復帰して、スプールサーバ50は次のメッセージ受信まで待機する。
【0109】図6には、上述したネットワークプリントサービスを実現するための、プリンタ10が実行する処理手順をフローチャートの形式で示している。以下、このフローチャートに従って、プリンタ10の動作について説明する。
【0110】プリンタ10は、入力部13上で、あるいはネットワーク経由でユーザからの指示を受け付けると、これがクライアントからの印刷指示か否かをチェックする(ステップS21)。印刷指示でなければ、ステップS21に復帰して、次の指示入力まで待機する(あるいは、指示に該当する処理を実行してから、ステップS21に復帰する)。
【0111】受け付けられ指示が印刷指示であれば、ジョブ番号を基にして、最寄の(若しくはこのプリンタ10を管轄下に置く)スプールサーバ50に対して、指示されたプリントジョブの所在を問い合わせる(ステップS22)。
【0112】問い合わせたジョブがスプール・サーバ50上で発見できなかった場合には(ステップS23)、プリントジョブがない(又は発見できない)旨を印刷指示元のクライアントに対して通知する(ステップS27)。そして、ステップS21に復帰して、ユーザからの次の指示入力まで待機する。
【0113】ステップS27におけるクライアントに対する通知は、任意の形式でよい。例えば、表示部14の画面上での対話的な応答であってもよいし、クライアント端末80へのメッセージ又はメール送信であってもよい。あるいは、クライアントが携帯電話80A上から印刷指示を行った場合には、この携帯電話80Aに対して音声又はテキスト形式のメッセージを送信するようにしてもよい。
【0114】他方、問い合わせたプリントジョブがスプールサーバ50上で見つかった場合には(ステップS23)、自身のプリンタ属性情報をスプールサーバ50に送信する(ステップS24)。スプールサーバ50側では、この属性情報に基づいて、プリントジョブをプリンタ10上で印刷可能なデータ形式に変換することができる(前述)。
【0115】そして、プリンタ10は、印刷可能データ形式に変換されたプリントジョブをスプール・サーバ50から受信すると(ステップS25)、これを印刷実行する(ステップS26)。その後、ステップS21に復帰して、ユーザからの次の指示入力まで待機する。
【0116】クライアント端末80で発行されるプリントジョブの形式は任意である。例えば、クライアント端末80上でプリンタ対象となるドキュメント作成編集に用いたアプリケーションに対応したアプリケーションデータ形式でプリントジョブが構成されることもある。スプールサーバ50内のデータ変換部59は、プリント先のプリンタ属性情報のみでは印刷可能データ形式に変換することはできず、アプリケーションデータに対応したアプリケーションを起動しなければならない。例えば、携帯電話などのように、演算処理能力やデータ入出力能力に著しい制限があるような情報端末をクライアント端末80として用いるときに、受信メールに添付されたアプリケーションデータを印刷要求する場合が、このケースに相当する。
【0117】このような場合、図1において、スプールサーバ50は、クライアント端末80からアプリケーションデータの形式でプリントジョブを受け付けると(T1)、ジョブを識別するためのジョブ番号を付けてスプールするとともに、プリンタ10からの問合せを受け取ると(T4)、指示されたプリントジョブに対応するアプリケーションを選択して、アプリケーション・データを印刷可能データに変換しなければならない。
【0118】図7には、アプリケーションデータの形式で構成されるプリントジョブに対して図1に示したネットワークプリントサービスを提供するための、スプールサーバ50の処理手順をフローチャートの形式で示している。以下、このフローチャートに従って、スプールサーバ50の動作について説明する。
【0119】スプールサーバ50は、ネットワーク経由でメッセージを受信すると、まず、これが印刷依頼すなわちプリントジョブか否かをチェックする(ステップS31)。
【0120】印刷依頼であれば、印刷依頼に添付されたアプリケーションデータの内容を検査して、印刷可能か否かをチェックする(ステップS32)。印刷不可能であれば、その旨を依頼元のクライアント端末80に通知した後(ステップS35)、ステップS31に復帰して、次のメッセージ受信まで待機する。
【0121】他方、添付アプリケーションデータが印刷可能であれば、プリントジョブにジョブ番号を割り振って、このジョブ番号を依頼元のクライアント端末80に通知し(ステップS33)、ジョブ番号を保存するとともに、アプリケーション・データをスプールしておく(ステップS34)。その後、ステップS31に復帰して、次のメッセージ受信まで待機する。
【0122】ジョブ番号を受け取ったクライアントは、クライアント端末80上から、あるいは他の端末(例えばPDAや携帯電話80Aなど)を用いて、ジョブ番号を基にして、ネットワーク接続された任意のプリンタ10に対してプリントジョブの実行を要求することができる。
【0123】スプールサーバ50が受信したメッセージが印刷依頼でない場合には(ステップS31)、次いで、受信メッセージがいずれかのプリンタ10からの印刷要求か否かをチェックする(ステップS36)。印刷要求でなければ、ステップS31に復帰して、次のメッセージ受信まで待機する(あるいは、メッセージに該当する処理を実行してから、ステップS31に復帰する)。
【0124】他方、受信メッセージがプリンタ10からの印刷要求であれば、該印刷要求で指定されたアプリケーション・データが本スプールサーバ50内に存在するか否かをチェックする(ステップS37)。該アプリケーション・データがサーバ50内に存在しなければ、その旨を依頼元のプリンタ10に通知した後(ステップS41)、ステップS31に復帰して、次のメッセージ受信まで待機する。
【0125】また、印刷要求されたアプリケーション・データが本スプールサーバ50内でスプールされている場合には、まず、印刷要求元のプリンタ10の属性情報をプリンタ管理部53から取得する(ステップS38)。次いで、データ変換部59は、アプリケーションデータを印刷するのに適当なアプリケーションを選択し、アプリケーション・データをプリンタ属性に合わせた印刷データ形式に変換する(ステップS39)。そして、印刷要求元のプリンタ10にプリントジョブを送信して(ステップS40)、印刷実行せしめる。印刷終了後、ステップS31に復帰して、スプールサーバ50は次のメッセージ受信まで待機する。
【0126】図8には、本発明の実施に供される、情報の出力サービスを行うネットワークシステムの他の構成例1−2を模式的に示している。
【0127】図示の通り、ネットワーク上には、印刷要求すなわちプリントジョブを発行するクライアント端末80と、プリントジョブを実際に処理すなわちプリント出力することができるn台のプリンタ10−1,10−2,…,10−nと、プリントジョブを一時的に蓄積すなわちスプール(SPOOL:simultaneous peripheral operation on-line)するスプールサーバ50−1,50−2とで構成される。
【0128】スプールサーバ50、プリンタ10、並びにクライアント端末80の機能構成は、それぞれ図3、図4、図5を参照しながら説明した通りである。
【0129】図1に示した実施形態との主な相違は、ネットワーク上に2台以上のスプールサーバ50−1,50−2…が設置されている点である。各スプールサーバ50は、独自のドメインを備えており、ドメイン内のプリンタ10上でのプリントジョブの実行を管理するようになっている。
【0130】ここで言う「ドメイン」の定義は任意である。例えば、住所や地域などの所定の面積を持つ物理的な領域を単位としてドメインを分割してもよい。あるいは、TCP/IPネットワークにおけるドメインネームシステム(DNS)などのようなネットワーク上の論理的な空間を単位としてドメインを分割してもよい。
【0131】図8に示すネットワーク構成の場合、クライアント端末80は、ネットワーク上のいずれのスプールサーバ50−1,50−2…に対してプリントジョブを発行してもよい。各スプールサーバ50−1,50−2…は、クライアント端末80からプリントジョブを受信すると、そのジョブを識別するためのジョブ番号を付けてスプールするとともに、そのジョブ番号を印刷要求元のクライアントに返信するようになっている。また、各スプールサーバ50−1,50−2…は、自己のドメイン内に存在するプリンタ10から要求されたプリントジョブをスプールしていない場合には、他のスプールサーバに対してプリントジョブの有無を問い合わせて、ネットワーク上でプリント・ジョブを探索するようになっている。
【0132】自己のドメイン内のプリンタを管理する複数のスプールサーバ50間の協働的動作によって実現されるネットワークプリントサービスについて、図8を参照しながら説明する。
【0133】スプールサーバ50−1は、クライアント端末80から発行されるプリントジョブを受け付けると(T11)、ジョブを識別するためのジョブ番号を付けてスプールするとともに、そのジョブ番号を印刷要求元であるクライアント端末80に返信する(T12)。
【0134】ジョブ番号を受け取ったクライアントは、クライアント端末80上から、あるいは他の端末(例えばPDAや携帯電話80Aなど)を用いて、ジョブ番号を基にして、ネットワーク接続された任意のプリンタ10に対してプリントジョブの実行を要求することができる(T13)。図示の例では、クライアントは、スプールサーバ50−2において管理されるプリンタ10−nに対して印刷指示を行っている。プリンタへの印刷実行の指示は、クライアントユーザが所望のプリンタに対してジョブ番号を直接入力することによって行うことができる。ジョブ番号の入力方法としては、(1)プリンタのコントロールパネル上でマニュアル入力する、(2)コントロールパネル上で提示されるジョブ番号リスト中から選択する、(3)携帯端末(電話)を無線あるいは有線でプリンタに接続してジョブ番号(並びに印刷実行情報)をプリンタに送信する、などを挙げることができる。
【0135】プリンタ10−nは、ジョブ番号を受け付けると、ドメイン内を管理するスプールサーバ50−2に対してそのジョブ番号に該当するプリントジョブの有無を問い合わせる(T14)。
【0136】スプールサーバ50−2は、プリンタ10からのプリントジョブの問合せに応答して、要求があったジョブ番号に該当するプリントジョブをスプールしているか否かを調べる。同図に示す例では、問合せを受けたプリントジョブはスプールサーバ50−2内にはスプールされていない。そこで、スプールサーバ50−2は、ネットワーク上の他のスプールサーバ50−1に対して、ジョブ番号を基にプリントジョブを問い合わせる(T15)。
【0137】スプールサーバ50−1は、スプールサーバ50−2から問合せを受けたプリントジョブをスプールしているので、これをスプールサーバ50−2に返信する(T16)。そして、スプールサーバ50−2は、そのプリントジョブをプリンタに転送する(T17)。
【0138】プリンタ10−nは、プリントジョブを受け取るとこれをプリント実行して、クライアントに対して印刷物として提供する(T18)。
【0139】図9〜図11には、上述したネットワークプリントサービスを実現するための、スプールサーバ50が実行する処理手順をフローチャートの形式で示している。以下、このフローチャートに従って、スプールサーバ50の動作について説明する。
【0140】スプールサーバ50は、ネットワーク経由でメッセージを受信すると、まず、これが印刷依頼すなわちプリントジョブか否かをチェックする(ステップS51)。
【0141】印刷依頼であれば、プリントジョブの内容を検査して、印刷可能か否かをチェックする(ステップS52)。印刷不可能であれば、その旨を依頼元のクライアント端末80に通知した後(ステップS55)、ステップS51に復帰して、次のメッセージ受信まで待機する。
【0142】他方、プリントジョブの内容が印刷可能であれば、プリントジョブにジョブ番号を割り振って、このジョブ番号を依頼元のクライアント端末80に通知し(ステップS53)、ジョブ番号を保存するとともに、プリント・ジョブをスプールしておく(ステップS54)。その後、ステップS51に復帰して、次のメッセージ受信まで待機する。
【0143】ジョブ番号を受け取ったクライアントは、クライアント端末80上から、あるいは他の端末(例えばPDAや携帯電話80Aなど)を用いて、ジョブ番号を基にして、ネットワーク接続された任意のプリンタ10に対してプリントジョブの実行を要求することができる。プリンタへの印刷実行の指示は、クライアントユーザが所望のプリンタに対してジョブ番号を直接入力することによって行うことができる。ジョブ番号の入力方法としては、(1)プリンタのコントロールパネル上でマニュアル入力する、(2)コントロールパネル上で提示されるジョブ番号リスト中から選択する、(3)携帯端末(電話)を無線あるいは有線でプリンタに接続してジョブ番号(並びに印刷実行情報)をプリンタに送信する、などを挙げることができる。
【0144】スプールサーバ50が受信したメッセージが印刷依頼でない場合には(ステップS51)、次いで、受信メッセージがいずれかのプリンタ10からの印刷要求か否かをチェックする(ステップS56)。
【0145】受信メッセージがプリンタ10からの印刷要求であれば、該印刷要求で指定されたジョブが本スプールサーバ50内に存在するか否かをチェックする(ステップS57)。
【0146】印刷要求されたプリントジョブがスプールサーバ50内でスプールされている場合には、印刷要求元のプリンタ10の属性情報をプリンタ管理部53から取得して(ステップS58)、データ変換部59はプリンタ属性に合わせた印刷データ形式に変換して(ステップS59)、印刷要求元のプリンタ10にプリントジョブを送信して(ステップS60)、印刷実行せしめる。印刷終了後、ステップS51に復帰して、スプールサーバ50は次のメッセージ受信まで待機する。
【0147】また、印刷要求されたプリントジョブがサーバ50内に存在しない場合には、ネットワーク上のスプールサーバを管理するリストのトップにセットして(ステップS61)、該リストの先頭から順に他のスプールサーバ50に対してプリントジョブの検索依頼を発行する(ステップS62)。検索依頼の結果、該当するプリント・ジョブが発見されれば(ステップS63)、依頼先からプリント・ジョブを受信して(ステップS64)、上述したステップS58以降の処理を行う。
【0148】また、検索依頼の結果、プリント・ジョブが発見されなかった場合には(ステップS63)、リスト上の次のスプールサーバに検索依頼を転送して(ステップS70)、プリントジョブの検索を続行する。リスト上のすべてのスプールサーバに検索依頼を送信した結果、プリントジョブを発見できなかった場合には(ステップS69)、プリントジョブがない旨を依頼元のプリンタ10に通知した後(ステップS71)、ステップS51に復帰して、次のメッセージ受信まで待機する。
【0149】スプールサーバ50が受信したメッセージが印刷要求でない場合には(ステップS56)、次いで、他のスプールサーバからのプリントジョブの検索依頼であるか否かをチェックする(ステップS65)。検索依頼でなければ、ステップS51に復帰して、次のメッセージ受信まで待機する(あるいは、メッセージに該当する処理を実行してから、ステップS51に復帰する)。
【0150】また、他のスプールサーバからのプリントジョブの検索依頼である場合には(ステップS65)、該検索依頼されたジョブが本スプールサーバ50内に存在するか否かをチェックする(ステップS66)。
【0151】検索依頼に対し、該当するプリントジョブを発見できなかった場合には(ステップS65)、プリントジョブがない旨を依頼元のプリンタ10に通知した後(ステップS68)、ステップS51に復帰して、次のメッセージ受信まで待機する。
【0152】また、該当するプリントジョブを発見できた場合には、検索依頼元のスプールサーバに対してプリントジョブを転送する(ステップS67)。その後、ステップS51に復帰して、次のメッセージ受信まで待機する。
【0153】なお、ネットワーク上の各プリンタ10は、図8に示す実施形態に係るネットワークプリントサービスを実現するためには、図6にフローチャートの形式で示したものと同様の処理手順を実行するだけでよいので、ここでは説明を省略する。
【0154】また、クライアント端末80から発行されるプリントジョブがアプリケーションデータ形式で構成されることもある(同上)。スプールサーバ50内のデータ変換部59は、プリント先のプリンタ属性情報のみでは印刷可能データ形式に変換することはできず、アプリケーションデータに対応したアプリケーションを起動しなければならない。例えば、携帯電話などにおいて受信メールに添付されたアプリケーションデータを印刷要求する場合が、このケースに相当する。
【0155】このような場合、図8において、スプールサーバ50は、クライアント端末80からアプリケーションデータの形式でプリントジョブを受け付けると(T11)、ジョブを識別するためのジョブ番号を付けてスプールするとともに、プリンタ10からの問合せを受け取ったり(T14)、あるいは他のスプールサーバから検索依頼を受け取ったりしたとき(T15)、指示されたプリントジョブに対応するアプリケーションを選択して、アプリケーション・データを印刷可能データに変換しなければならない。
【0156】図12〜図14には、アプリケーションデータの形式で構成されるプリントジョブに対して図8に示したネットワークプリントサービスを提供するための、スプールサーバ50の処理手順をフローチャートの形式で示している。以下、これらのフローチャートに従って、スプールサーバ50の動作について説明する。
【0157】スプールサーバ50は、ネットワーク経由でメッセージを受信すると、まず、これがアプリケーション・データの印刷依頼か否かをチェックする(ステップS81)。
【0158】印刷依頼であれば、印刷依頼に添付されたアプリケーションデータの内容を検査して、印刷可能か否かをチェックする(ステップS82)。印刷不可能であれば、その旨を依頼元のクライアント端末80に通知した後(ステップS85)、ステップS81に復帰して、次のメッセージ受信まで待機する。
【0159】他方、添付アプリケーションデータが印刷可能であれば、プリントジョブにジョブ番号を割り振って、このジョブ番号を依頼元のクライアント端末80に通知し(ステップS83)、ジョブ番号を保存するとともに、ジョブをスプールしておく(ステップS84)。その後、ステップS81に復帰して、次のメッセージ受信まで待機する。
【0160】ジョブ番号を受け取ったクライアントは、クライアント端末80上から、あるいは他の端末(例えばPDAや携帯電話80Aなど)を用いて、ジョブ番号を基にして、ネットワーク接続された任意のプリンタ10に対してアプリケーション・データの印刷実行を要求することができる。プリンタへの印刷実行の指示は、クライアントユーザが所望のプリンタに対してジョブ番号を直接入力することによって行うことができる。ジョブ番号の入力方法としては、(1)プリンタのコントロールパネル上でマニュアル入力する、(2)コントロールパネル上で提示されるジョブ番号リスト中から選択する、(3)携帯端末(電話)を無線あるいは有線でプリンタに接続してジョブ番号(並びに印刷実行情報)をプリンタに送信する、などを挙げることができる。
【0161】スプールサーバ50が受信したメッセージが印刷依頼でない場合には(ステップS81)、次いで、受信メッセージがいずれかのプリンタ10からの印刷要求か否かをチェックする(ステップS86)。
【0162】受信メッセージがプリンタ10からの印刷要求であれば、該印刷要求で指定されたアプリケーション・データが本スプールサーバ50内に存在するか否かをチェックする(ステップS87)。
【0163】印刷要求されたアプリケーション・データがスプールサーバ50内でスプールされている場合には、まず、印刷要求元のプリンタ10の属性情報をプリンタ管理部53から取得する(ステップS88)。次いで、データ変換部59は、アプリケーションデータを印刷するのに適当なアプリケーションを選択し、アプリケーション・データをプリンタ属性に合わせた印刷データ形式に変換する(ステップS89)。そして、印刷要求元のプリンタ10にプリントジョブを送信して(ステップS90)、印刷実行せしめる。印刷終了後、ステップS81に復帰して、スプールサーバ50は次のメッセージ受信まで待機する。
【0164】また、印刷要求されたアプリケーション・データがサーバ50内に存在しない場合には、ネットワーク上のスプールサーバを管理するリストのトップにセットして(ステップS91)、該リストの先頭から順に他のスプールサーバ50に対してアプリケーション・データの検索依頼を発行する(ステップS92)。検索依頼の結果、該当するアプリケーション・データが発見されれば(ステップS93)、依頼先からアプリケーション・データを受信して(ステップS94)、上述したステップS88以降の処理を行う。
【0165】また、検索依頼の結果、該当するアプリケーション・データが発見されない場合には(ステップS93)、リスト上の次のスプールサーバに検索依頼を転送して(ステップS100)、アプリケーション・データの検索を続行する。リスト上のすべてのスプールサーバに検索依頼を送信した結果、アプリケーション・データを発見できなかった場合には(ステップS99)、アプリケーション・データがない旨を依頼元のプリンタ10に通知した後(ステップS101)、ステップS81に復帰して、次のメッセージ受信まで待機する。
【0166】スプールサーバ50が受信したメッセージが印刷要求でない場合には(ステップS86)、次いで、他のスプールサーバからのプリントジョブの検索依頼であるか否かをチェックする(ステップS95)。検索依頼でなければ、ステップS81に復帰して、次のメッセージ受信まで待機する(あるいは、メッセージに該当する処理を実行してから、ステップS81に復帰する)。
【0167】他のスプールサーバからのアプリケーション・データの検索依頼である場合には(ステップS95)、該検索依頼されたアプリケーション・データが本スプールサーバ50内に存在するか否かをチェックする(ステップS96)。
【0168】検索依頼に対し、該当するアプリケーション・データを発見できなかった場合には(ステップS95)、アプリケーション・データがない旨を依頼元のプリンタ10に通知した後(ステップS98)、ステップS81に復帰して、次のメッセージ受信まで待機する。
【0169】また、該当するアプリケーション・データを発見できた場合には、検索依頼元のスプールサーバに対してアプリケーション・データを転送する(ステップS97)。その後、ステップS81に復帰して、次のメッセージ受信まで待機する。
【0170】なお、ネットワーク上の各プリンタ10は、図12〜図14に示す処理手順を実行するスプールサーバ50との協働的動作によりネットワークプリントサービスを実現するためには、図6にフローチャートの形式で示したものと同様の処理手順を実行するだけでよいので、ここでは説明を省略する。
【0171】図9〜図11に示すネットワークプリントサービス、並びに、図12〜図14に示すネットワークプリントサービスでは、いずれも、ジョブ番号を基に該当するプリントジョブをスプールしているスプールサーバ50をネットワーク上で探索する必要があり、プリントジョブを発見するまでの所要時間が長くなってしまう可能性がある。このような場合に備えた代替案として、プリントジョブを受け付けてスプールするスプールサーバ50が、ジョブ番号とともにスプールサーバ50自身を識別するためのサーバID(あるいは、サーバ識別情報を含んだジョブ番号)をクライアントに返すようにすればよい。
【0172】サーバIDは、ジョブ番号とは別の情報として発行してもよいが、ジョブ番号の一部をサーバの識別情報として利用するようにしてもよい。(例えば、nビット長からなるジョブ番号のLSB又はMSBからkビット(但し、k<n)をサーバの識別情報に割り当てるようにしてもよい。)なお、ジョブ番号に対してサーバIDを付加する方法については後述する。
【0173】このような場合、図8において、スプールサーバ50は、クライアント端末80からプリントジョブを受け付けると(T11)、スプールサーバ自身を識別するサーバIDを含んだ形式のジョブ番号を付けてプリント・ジョブをスプールする。また、スプールサーバは、プリンタ10からの問合せを受け取ったときには(T14)、受け取ったジョブ番号を基にスプール先となるサーバを特定することができるので(T15)、素早くプリントジョブを取得することができる(T16)。
【0174】図15〜図16には、プリントジョブを受け付けたスプールサーバ50がサーバIDを含んだジョブ番号をクライアントに返す場合における、スプールサーバ50の処理手順をフローチャートの形式で示している。以下、これらのフローチャートに従って、スプールサーバ50の動作について説明する。
【0175】スプールサーバ50は、ネットワーク経由でメッセージを受信すると、まず、これが印刷依頼すなわちプリントジョブか否かをチェックする(ステップS111)。
【0176】印刷依頼であれば、印刷依頼に添付されたアプリケーションデータの内容を検査して、印刷可能か否かをチェックする(ステップS112)。印刷不可能であれば、その旨を依頼元のクライアント端末80に通知した後(ステップS115)、ステップS111に復帰して、次のメッセージ受信まで待機する。
【0177】他方、添付アプリケーションデータが印刷可能であれば、プリントジョブにジョブ番号を割り振って、このジョブ番号を依頼元のクライアント端末80に通知し(ステップS113)、ジョブ番号を保存するとともに、アプリケーション・データをスプールしておく(ステップS114)。その後、ステップS111に復帰して、次のメッセージ受信まで待機する。
【0178】ジョブ番号を受け取ったクライアントは、クライアント端末80上から、あるいは他の端末(例えばPDAや携帯電話80Aなど)を用いて、ジョブ番号を基にして、ネットワーク接続された任意のプリンタ10に対してアプリケーション・データの印刷実行を要求することができる。プリンタへの印刷実行の指示は、クライアントユーザが所望のプリンタに対してジョブ番号を直接入力することによって行うことができる。ジョブ番号の入力方法としては、(1)プリンタのコントロールパネル上でマニュアル入力する、(2)コントロールパネル上で提示されるジョブ番号リスト中から選択する、(3)携帯端末(電話)を無線あるいは有線でプリンタに接続してジョブ番号(並びに印刷実行情報)をプリンタに送信する、などを挙げることができる。
【0179】スプールサーバ50が受信したメッセージが印刷依頼でない場合には(ステップS111)、次いで、受信メッセージがいずれかのプリンタ10からの印刷要求か否かをチェックする(ステップS116)。
【0180】受信メッセージがプリンタ10からの印刷要求であれば、ジョブ番号を基に、該当するアプリケーション・データをスプールしているスプールサーバを特定する(ステップS117)。
【0181】本処理ルーチンを実行中のスプールサーバ50がステップS117において特定されたスプールサーバと同一である場合には(ステップS118)、まず、印刷要求元のプリンタ10の属性情報をプリンタ管理部53から取得する(ステップS119)。次いで、データ変換部59は、アプリケーションデータを印刷するのに適当なアプリケーションを選択し、プリンタ属性に合わせた印刷データ形式に変換する(ステップS120)。そして、印刷要求元のプリンタ10にプリントジョブを送信して(ステップS121)、印刷実行せしめる。印刷終了後、ステップS111に復帰して、スプールサーバ50は次のメッセージ受信まで待機する。
【0182】本処理ルーチンを実行中のスプールサーバ50がステップS117において特定されたスプールサーバと同一でない場合には(ステップS118)、特定されたスプールサーバに対して、該当するアプリケーション・データをスプールしているか否かをネットワーク経由で問い合わせる(ステップS122)。
【0183】特定されたスプールサーバに対して問い合わせた結果、アプリケーション・データが発見されれば(ステップS123)、このスプールサーバからアプリケーション・データを受信して(ステップS124)、上述したステップS119以降の処理を行う。
【0184】また、問い合わせた結果、アプリケーション・データが発見されない場合には(ステップS123)、アプリケーション・データがない旨を依頼元のプリンタ10に通知した後(ステップS125)、ステップS111に復帰して、次のメッセージ受信まで待機する。
【0185】スプールサーバ50が受信したメッセージが印刷要求でない場合には(ステップS116)、次いで、他のスプールサーバからのアプリケーション・データの検索依頼であるか否かをチェックする(ステップS126)。検索依頼でなければ、ステップS111に復帰して、次のメッセージ受信まで待機する(あるいは、メッセージに該当する処理を実行してから、ステップS111に復帰する)。
【0186】他のスプールサーバからのアプリケーション・データの検索依頼である場合には(ステップS126)、該検索依頼されたアプリケーション・データが本スプールサーバ50内に存在するか否かをチェックする(ステップS127)。
【0187】検索依頼に対し、該当するアプリケーション・データを発見できなかった場合には(ステップS127)、アプリケーション・データがない旨を依頼元のプリンタ10に通知した後(ステップS129)、ステップS111に復帰して、次のメッセージ受信まで待機する。
【0188】また、該当するアプリケーション・データを発見できた場合には、検索依頼元のスプールサーバに対してアプリケーション・データを転送する(ステップS128)。その後、ステップS111に復帰して、次のメッセージ受信まで待機する。
【0189】なお、ネットワーク上の各プリンタ10は、図15〜図16に示す処理手順を実行するスプールサーバ50との協働的動作によりネットワークプリントサービスを実現するためには、図6にフローチャートの形式で示したものと同様の処理手順を実行するだけでよいので、ここでは説明を省略する。
【0190】図17には、本発明の実施に供される、情報の出力サービスを行うネットワークシステムの他の構成例1−3を模式的に示している。
【0191】図示の通り、ネットワーク上には、印刷要求すなわちプリントジョブを発行するクライアント端末80と、プリントジョブを実際に処理すなわちプリント出力することができるn台のプリンタ10−1,10−2,…,10−nと、プリントジョブを一時的に蓄積すなわちスプール(SPOOL:simultaneous peripheral operation on-line)するスプールサーバ50−1,50−2とで構成される。
【0192】スプールサーバ50、プリンタ10、並びにクライアント端末80の機能構成は、それぞれ図3、図4、図5を参照しながら説明した通りである。
【0193】各スプールサーバ50−1,50−2が独自のドメインを備えており、ドメイン内のプリンタ10上でのプリントジョブの実行を管理する、という点は、図8に示した本発明の実施形態と略同一である。図8に示す実施形態との主な相違点は、スプールサーバ50は他のスプールサーバに対してプリントジョブの有無を問い合わる際に、プリント先であるプリンタの識別情報すなわちプリンタIDを合わせて送信し、以後、プリントアウトに至るまでの処理を問合せ先のスプールサーバに完全に委ねてしまう点、すなわち、プリント先のプリンタがどこのドメインに存在するかに拘わらず、プリントジョブをスプールしたスプールサーバがプリントアウトまで管理するという点にある。
【0194】プリントジョブをスプールしたスプールサーバがプリントアウトまで管理することによって実現されるネットワークプリントサービスについて、図17を参照しながら説明する。
【0195】スプールサーバ50−1は、クライアント端末80から発行されるプリントジョブを受け付けると(T21)、ジョブを識別するためのジョブ番号を付けてスプールするとともに、そのジョブ番号を印刷要求元であるクライアント端末80に返信する(T22)。
【0196】ジョブ番号を受け取ったクライアントは、クライアント端末80上から、あるいは他の端末(例えばPDAや携帯電話80Aなど)を用いて、ジョブ番号を基にして、ネットワーク接続された任意のプリンタ10に対してプリントジョブの実行を要求することができる(T23)。図示の例では、クライアントは、スプールサーバ50−2において管理されるプリンタ10−nに対して印刷指示を行っている。プリンタへの印刷実行の指示は、クライアントユーザが所望のプリンタに対してジョブ番号を直接入力することによって行うことができる。ジョブ番号の入力方法としては、(1)プリンタのコントロールパネル上でマニュアル入力する、(2)コントロールパネル上で提示されるジョブ番号リスト中から選択する、(3)携帯端末(電話)を無線あるいは有線でプリンタに接続してジョブ番号(並びに印刷実行情報)をプリンタに送信する、などを挙げることができる。
【0197】プリンタ10−nは、ジョブ番号を受け付けると、このドメイン内を管理するスプールサーバ50−2に対してそのジョブ番号に該当するプリントジョブの有無を問い合わせる(T24)。
【0198】スプールサーバ50−2は、プリンタ10からのプリントジョブの問合せに応答して、要求があったジョブ番号に該当するプリントジョブをスプールしているか否かを調べる。同図に示す例では、問合せを受けたプリントジョブはスプールサーバ50−2内にはスプールされていない。そこで、スプールサーバ50−2は、ネットワーク上の他のスプールサーバ50−1に対して、プリントジョブを問い合わせる(T25)。但し、プリントジョブの問合せに、ジョブ番号とプリント出力先となるプリンタ10−nのプリンタIDを添付することによって、問合せ先のスプールサーバ50−1にプリントジョブの実行までの管理が委ねられる。
【0199】スプールサーバ50−1は、スプールサーバ50−2から問合せを受けたプリントジョブをスプールしているので、そのプリントジョブをプリンタに転送する(T26)。
【0200】プリンタ10−nは、プリントジョブを受け取るとこれをプリント実行して、クライアント・ユーザに対して印刷物として提供する(T27)。
【0201】図18〜図20には、上述したネットワークプリントサービスを実現するための、スプールサーバ50が実行する処理手順をフローチャートの形式で示している。以下、このフローチャートに従って、スプールサーバ50の動作について説明する。
【0202】スプールサーバ50は、ネットワーク経由でメッセージを受信すると、まず、これが印刷依頼すなわちプリントジョブか否かをチェックする(ステップS131)。
【0203】印刷依頼であれば、プリントジョブの内容を検査して、印刷可能か否かをチェックする(ステップS132)。印刷不可能であれば、その旨を依頼元のクライアント端末80に通知した後(ステップS135)、ステップS131に復帰して、次のメッセージ受信まで待機する。
【0204】他方、プリントジョブの内容が印刷可能であれば、プリントジョブにジョブ番号を割り振って、このジョブ番号を依頼元のクライアント端末80に通知し(ステップS133)、ジョブ番号を保存するとともに、プリント・ジョブをスプールしておく(ステップS134)。その後、ステップS131に復帰して、次のメッセージ受信まで待機する。
【0205】ジョブ番号を受け取ったクライアントは、クライアント端末80上から、あるいは他の端末(例えばPDAや携帯電話80Aなど)を用いて、ジョブ番号を基にして、ネットワーク接続された任意のプリンタ10に対してプリントジョブの実行を要求することができる。プリンタへの印刷実行の指示は、クライアントユーザが所望のプリンタに対してジョブ番号を直接入力することによって行うことができる。ジョブ番号の入力方法としては、(1)プリンタのコントロールパネル上でマニュアル入力する、(2)コントロールパネル上で提示されるジョブ番号リスト中から選択する、(3)携帯端末(電話)を無線あるいは有線でプリンタに接続してジョブ番号(並びに印刷実行情報)をプリンタに送信する、などを挙げることができる。
【0206】スプールサーバ50が受信したメッセージが印刷依頼でない場合には(ステップS131)、次いで、受信メッセージがいずれかのプリンタ10からの印刷要求か否かをチェックする(ステップS136)。
【0207】受信メッセージがプリンタ10からの印刷要求であれば、該印刷要求で指定されたジョブが本スプールサーバ50内に存在するか否かをチェックする(ステップS137)。
【0208】印刷要求されたプリントジョブがスプールサーバ50内でスプールされている場合には、印刷要求元のプリンタ10の属性情報をプリンタ管理部53から取得して(ステップS138)、データ変換部59はプリンタ属性に合わせた印刷データ形式に変換して(ステップS139)、印刷要求元のプリンタ10にプリントジョブを送信して(ステップS140)、印刷実行せしめる。印刷終了後、ステップS131に復帰して、スプールサーバ50は次のメッセージ受信まで待機する。
【0209】また、印刷要求されたプリントジョブがサーバ50内に存在しない場合には、ネットワーク上のスプールサーバを管理するリストのトップにセットして(ステップS141)、該リストの先頭から順に他のスプールサーバ50に対してプリントジョブの検索依頼を発行する(ステップS42)。検索依頼の結果、該当するプリント・ジョブが発見されれば(ステップS143)、依頼先となるスプールサーバに印刷要求元プリンタのプリンタIDを通知して(ステップS144)、このプリンタ上でのプリント出力処理を委ねる。
【0210】また、検索依頼の結果、プリント・ジョブが発見されない場合には(ステップS143)、リスト上の次のスプールサーバに検索依頼を転送して(ステップS150)、プリントジョブの検索を続行する。リスト上のすべてのスプールサーバに検索依頼を送信した結果、プリントジョブを発見できなかった場合には(ステップS149)、プリントジョブがない旨を依頼元のプリンタ10に通知した後(ステップS151)、ステップS131に復帰して、次のメッセージ受信まで待機する。
【0211】スプールサーバ50が受信したメッセージが印刷要求でない場合には(ステップS136)、次いで、他のスプールサーバからのプリントジョブの検索依頼であるか否かをチェックする(ステップS145)。検索依頼でなければ、ステップS131に復帰して、次のメッセージ受信まで待機する(あるいは、メッセージに該当する処理を実行してから、ステップS131に復帰する)。
【0212】また、他のスプールサーバからのプリントジョブの検索依頼である場合には(ステップS145)、該検索依頼されたジョブが本スプールサーバ50内に存在するか否かをチェックする(ステップS146)。
【0213】検索依頼に対し、該当するプリントジョブを発見できなかった場合には(ステップS145)、プリントジョブがない旨を依頼元のプリンタ10に通知した後(ステップS148)、ステップS131に復帰して、次のメッセージ受信まで待機する。
【0214】また、該当するプリントジョブを発見できた場合には、検索依頼元のスプールサーバに対してプリントジョブを転送する(ステップS147)。その後、ステップS131に復帰して、次のメッセージ受信まで待機する。
【0215】なお、ネットワーク上の各プリンタ10は、図17に示す実施形態に係るネットワークプリントサービスを実現するためには、図6にフローチャートの形式で示したものと同様の処理手順を実行するだけでよいので、ここでは説明を省略する。
【0216】また、クライアント端末80から発行されるプリントジョブがアプリケーションデータ形式で構成されることもある(同上)。スプールサーバ50内のデータ変換部59は、プリント先のプリンタ属性情報のみでは印刷可能データ形式に変換することはできず、アプリケーションデータに対応したアプリケーションを起動しなければならない。例えば、携帯電話などにおいて受信メールに添付されたアプリケーションデータを印刷要求する場合が、このケースに相当する。
【0217】このような場合、図17において、スプールサーバ50は、クライアント端末80からアプリケーションデータの形式でプリント依頼を受け付けると(T21)、ジョブを識別するためのジョブ番号を付けてアプリケーション・データをスプールしておくとともに、プリンタ10からプリント・ジョブの問合せを受け取ったり、あるいは他のスプールサーバからプリントジョブの転送を要求されたときには(T25)、指示されたプリントジョブに対応するアプリケーションを選択して、印刷可能データに変換しなければならない。
【0218】図21〜図23には、アプリケーションデータの形式で構成されるプリントジョブに対して図17に示したネットワークプリントサービスを提供するための、スプールサーバ50の処理手順をフローチャートの形式で示している。以下、これらのフローチャートに従って、スプールサーバ50の動作について説明する。
【0219】スプールサーバ50は、ネットワーク経由でメッセージを受信すると、まず、これが印刷依頼すなわちプリントジョブか否かをチェックする(ステップS161)。
【0220】印刷依頼であれば、印刷依頼に添付されたアプリケーションデータの内容を検査して、印刷可能か否かをチェックする(ステップS162)。印刷不可能であれば、その旨を依頼元のクライアント端末80に通知した後(ステップS165)、ステップS161に復帰して、次のメッセージ受信まで待機する。
【0221】他方、添付アプリケーションデータが印刷可能であれば、このアプリケーションデータにジョブ番号を割り振って、このジョブ番号を依頼元のクライアント端末80に通知し(ステップS163)、ジョブ番号を保存するとともに、アプリケーションデータをスプールしておく(ステップS164)。その後、ステップS161に復帰して、次のメッセージ受信まで待機する。
【0222】ジョブ番号を受け取ったクライアントは、クライアント端末80上から、あるいは他の端末(例えばPDAや携帯電話80Aなど)を用いて、ジョブ番号を基にして、ネットワーク接続された任意のプリンタ10に対してプリントジョブの実行を要求することができる。プリンタへの印刷実行の指示は、クライアントユーザが所望のプリンタに対してジョブ番号を直接入力することによって行うことができる。ジョブ番号の入力方法としては、(1)プリンタのコントロールパネル上でマニュアル入力する、(2)コントロールパネル上で提示されるジョブ番号リスト中から選択する、(3)携帯端末(電話)を無線あるいは有線でプリンタに接続してジョブ番号(並びに印刷実行情報)をプリンタに送信する、などを挙げることができる。
【0223】スプールサーバ50が受信したメッセージが印刷依頼でない場合には(ステップS161)、次いで、受信メッセージがいずれかのプリンタ10からの印刷要求か否かをチェックする(ステップS166)。
【0224】受信メッセージがプリンタ10からの印刷要求であれば、該印刷要求で指定されたアプリケーショデータが本スプールサーバ50内に存在するか否かをチェックする(ステップS167)。
【0225】印刷要求されたアプリケーションデータがスプールサーバ50内でスプールされている場合には、まず、印刷要求元のプリンタ10の属性情報をプリンタ管理部53から取得する(ステップS168)。次いで、データ変換部59は、アプリケーションデータを印刷するのに適当なアプリケーションを選択し、プリンタ属性に合わせた印刷データ形式に変換する(ステップS169)。そして、印刷要求元のプリンタ10にプリントジョブを送信して(ステップS170)、印刷実行せしめる。印刷終了後、ステップS161に復帰して、スプールサーバ50は次のメッセージ受信まで待機する。
【0226】また、印刷要求されたアプリケーションデータがサーバ50内に存在しない場合には、ネットワーク上のスプールサーバを管理するリストのトップにセットして(ステップS171)、該リストの先頭から順に他のスプールサーバ50に対してアプリケーションデータの検索依頼を発行する(ステップS172)。検索依頼の結果、アプリケーションデータが発見されれば(ステップS173)、依頼先となるスプールサーバに印刷要求元プリンタのプリンタIDを通知して(ステップS174)、このプリンタ上でのプリント出力処理を委ねる。
【0227】また、検索依頼の結果、アプリケーションデータが発見されない場合には(ステップS173)、リスト上の次のスプールサーバに検索依頼を転送して(ステップS180)、アプリケーションデータの検索を続行する。リスト上のすべてのスプールサーバに検索依頼を送信した結果、アプリケーションデータを発見できなかった場合には(ステップS179)、アプリケーションデータがない旨を依頼元のプリンタ10に通知した後(ステップS181)、ステップS161に復帰して、次のメッセージ受信まで待機する。
【0228】スプールサーバ50が受信したメッセージが印刷要求でない場合には(ステップS166)、次いで、他のスプールサーバからのアプリケーションデータの検索依頼であるか否かをチェックする(ステップS175)。検索依頼でなければ、ステップS161に復帰して、次のメッセージ受信まで待機する(あるいは、メッセージに該当する処理を実行してから、ステップS161に復帰する)。
【0229】他のスプールサーバからのアプリケーションデータの検索依頼である場合には(ステップS175)、該検索依頼されたアプリケーションデータが本スプールサーバ50内に存在するか否かをチェックする(ステップS176)。
【0230】検索依頼に対し、該当するアプリケーショデータを発見できなかった場合には(ステップS175)、アプリケーションデータがない旨を依頼元のプリンタ10に通知した後(ステップS178)、ステップS161に復帰して、次のメッセージ受信まで待機する。
【0231】また、該当するアプリケーションデータを発見できた場合には、検索依頼元のスプールサーバに対してアプリケーションデータを転送する(ステップS177)。その後、ステップS161に復帰して、次のメッセージ受信まで待機する。
【0232】なお、ネットワーク上の各プリンタ10は、図21〜図23に示す処理手順を実行するスプールサーバ50との協働的動作によりネットワークプリントサービスを実現するためには、図6にフローチャートの形式で示したものと同様の処理手順を実行するだけでよいので、ここでは説明を省略する。
【0233】図18〜図20に示すネットワークプリントサービス、並びに、図21〜図23に示すネットワークプリントサービスでは、いずれも、プリントジョブをスプールしたスプールサーバがプリントアウトまで管理することにより、ネットワーク上のあるプリンタ10で印刷要求が発生した以後の処理を効率的にすることができる。しかしながら、プリントジョブのスプール先となるスプールサーバを探索しなければならない場合には、プリントジョブを発見するまでの所要時間が長くなってしまう可能性がある。
【0234】これに対し、図15〜図16に示すネットワークプリントサービスでは、プリントジョブをスプールするスプールサーバ50が、ジョブ番号とともにスプールサーバ50自身を識別するためのサーバIDをクライアントに返すようにすることで、印刷要求が発生したプリンタ10は、自己のドメインを管理するスプールサーバ50に問い合わせるだけで、素早くスプール先にアクセスすることができる。しかしながら、プリンタ10がプリントジョブを要求するスプールサーバ50は、必ずしもスプール先とは限らず、効率的とは言い難い。
【0235】これらの問題点を解決することができるネットワーク・プリント・システムの代替案として、ジョブ番号とともにスプールサーバ50自身を識別するためのサーバIDをクライアントに返す(あるいは、スプール・サーバの識別情報を含んだジョブ番号を返す)ようにすることで、印刷要求が発生したプリンタ10が、ドメインの境界を越えて、スプール先のサーバに対して直接プリントジョブを要求することができるように構成した。
【0236】サーバIDは、ジョブ番号とは別の情報として発行してもよいが、ジョブ番号の一部をサーバの識別情報として利用するようにしてもよい。(例えば、nビット長からなるジョブ番号のLSB又はMSBからkビット(但し、k<n)をサーバの識別情報に割り当てるようにしてもよい。)なお、ジョブ番号に対してサーバIDを付加する方法については後述する。
【0237】図24には、プリンタがドメインの境界を越えてスプール先のサーバから直接プリントジョブを要求することができるネットワークシステムの構成例1−4を模式的に示している。
【0238】図示の通り、ネットワーク上には、印刷要求すなわちプリントジョブを発行するクライアント端末80と、プリントジョブを実際に処理すなわちプリント出力することができるn台のプリンタ10−1,10−2,…,10−nと、プリントジョブを一時的に蓄積すなわちスプール(SPOOL:simultaneous peripheral operation on-line)するスプールサーバ50−1,50−2とで構成される。
【0239】スプールサーバ50、プリンタ10、並びにクライアント端末80の機能構成は、それぞれ図3、図4、図5を参照しながら説明した通りである。
【0240】スプールサーバ50−1は、クライアント端末80から発行されるプリントジョブを受け付けると(T31)、ジョブを識別するためのジョブ番号を付けてスプールするとともに、そのジョブ番号を印刷要求元であるクライアント端末80に返信する(T32)。スプールサーバ50−1が発行するジョブ番号には、スプールサーバ50−1を識別するためのサーバIDが付加されているものとする。
【0241】ジョブ番号を受け取ったクライアントは、クライアント端末80上から、あるいは他の端末(例えばPDAや携帯電話80Aなど)を用いて、ジョブ番号を基にして、ネットワーク接続された任意のプリンタ10に対してプリントジョブの実行を要求することができる(T33)。図示の例では、クライアントは、スプールサーバ50−2において管理されるプリンタ10−nに対して印刷指示を行っている。プリンタへの印刷実行の指示は、クライアントユーザが所望のプリンタに対してジョブ番号を直接入力することによって行うことができる。ジョブ番号の入力方法としては、(1)プリンタのコントロールパネル上でマニュアル入力する、(2)コントロールパネル上で提示されるジョブ番号リスト中から選択する、(3)携帯端末(電話)を無線あるいは有線でプリンタに接続してジョブ番号(並びに印刷実行情報)をプリンタに送信する、などを挙げることができる。
【0242】プリンタ10−nは、ジョブ番号を受け付けると、これに基づいてサーバIDを解釈して、プリントジョブのスプール先がスプールサーバ50−1であることを検知して、スプールサーバ50−1に対してそのジョブ番号に該当するプリントジョブの転送を要求する(T34)。
【0243】これに対し、スプールサーバ50−1は、要求されたプリントジョブをプリンタに転送する(T35)。
【0244】プリンタ10−nは、プリントジョブを受け取るとこれをプリント実行して、クライアントに対して印刷物として提供する(T36)。
【0245】図25には、図24に示したネットワークプリントサービスを実現するための、スプールサーバ50が実行する処理手順をフローチャートの形式で示している。以下、このフローチャートに従って、スプールサーバ50の動作について説明する。
【0246】スプールサーバ50は、ネットワーク経由でメッセージを受信すると、まず、これがアプリケーション・データの印刷依頼か否かをチェックする(ステップS191)。
【0247】印刷依頼であれば、印刷依頼に添付されたアプリケーションデータの内容を検査して、印刷可能か否かをチェックする(ステップS192)。印刷不可能であれば、その旨を依頼元のクライアント端末80に通知した後(ステップS195)、ステップS191に復帰して、次のメッセージ受信まで待機する。
【0248】他方、添付アプリケーションデータが印刷可能であれば、このアプリケーションデータにジョブ番号を割り振って、このジョブ番号を依頼元のクライアント端末80に通知し(ステップS193)、ジョブ番号を保存するとともに、アプリケーションデータをスプールしておく(ステップS194)。その後、ステップS191に復帰して、次のメッセージ受信まで待機する。
【0249】ジョブ番号を受け取ったクライアントは、クライアント端末80上から、あるいは他の端末(例えばPDAや携帯電話80Aなど)を用いて、ジョブ番号を基にして、ネットワーク接続された任意のプリンタ10に対してアプリケーションデータの印刷実行を要求することができる。プリンタへの印刷実行の指示は、クライアントユーザが所望のプリンタに対してジョブ番号を直接入力することによって行うことができる。ジョブ番号の入力方法としては、(1)プリンタのコントロールパネル上でマニュアル入力する、(2)コントロールパネル上で提示されるジョブ番号リスト中から選択する、(3)携帯端末(電話)を無線あるいは有線でプリンタに接続してジョブ番号(並びに印刷実行情報)をプリンタに送信する、などを挙げることができる。
【0250】スプールサーバ50が受信したメッセージが印刷依頼でない場合には(ステップS191)、次いで、受信メッセージがいずれかのプリンタ10からの印刷要求か否かをチェックする(ステップS196)。印刷要求でなければ、ステップS191に復帰して、次のメッセージ受信まで待機する(あるいは、メッセージに該当する処理を実行してから、ステップS191に復帰する)。
【0251】受信メッセージがプリンタ10からの印刷要求であれば、ジョブ番号を基に、該当するアプリケーションデータをスプールしているスプールサーバを特定する(ステップS197)。
【0252】本処理ルーチンを実行中のスプールサーバ50がステップS197において特定されたスプールサーバと同一である場合には(ステップS198)、まず、印刷要求元のプリンタ10の属性情報をプリンタ管理部53から取得する(ステップS199)。次いで、データ変換部59は、アプリケーションデータを印刷するのに適当なアプリケーションを選択し、アプリケーションデータをプリンタ属性に合わせた印刷データ形式のプリント・ジョブに変換する(ステップS200)。そして、印刷要求元のプリンタ10にプリントジョブを送信して(ステップS201)、印刷実行せしめる。印刷終了後、ステップS191に復帰して、スプールサーバ50は次のメッセージ受信まで待機する。
【0253】本処理ルーチンを実行中のスプールサーバ50がステップS197において特定されたスプールサーバと同一でない場合には(ステップS198)、特定されたスプールサーバに対して、印刷要求元となるプリンタに該当するプリントジョブを転送するよう要求する(ステップS202)。その後、ステップS191に復帰して、次のメッセージ受信まで待機する。
【0254】また、図26には、上述したネットワークプリントサービスを実現するための、プリンタ10が実行する処理手順をフローチャートの形式で示している。以下、このフローチャートに従って、プリンタ10の動作について説明する。
【0255】プリンタ10は、入力部13上で、あるいはネットワーク経由で指示を受け付けると、これがクライアントからの印刷指示か否かをチェックする(ステップS211)。印刷指示でなければ、ステップS211に復帰して、ユーザからの次の指示入力まで待機する。
【0256】受け付けられ指示が印刷指示であれば、ジョブ番号を基にして、該当するアプリケーションデータをスプールするスプールサーバ50を特定して(ステップS212)、其処にアプリケーションデータを問い合わせる(ステップS213)。
【0257】問い合わせたアプリケーションデータがスプール・サーバ50上で発見できなかった場合には(ステップS214)、アプリケーションデータがない(又は発見できない)旨を印刷指示元のクライアントに対して通知した後(ステップS218)、ステップS211に復帰して、ユーザからの次の指示入力まで待機する。
【0258】ステップS218におけるクライアント・ユーザに対する通知は任意の形式でよい。例えば、表示部14の画面上での対話的な応答であってもよいし、クライアント端末80へのメッセージ又はメールであってもよい。あるいは、クライアント・ユーザが携帯電話80A上から印刷指示を行ったような場合には、この携帯電話80Aに対して音声又はテキスト形式のメッセージを送信するようにしてもよい。
【0259】他方、問い合わせたアプリケーションデータがスプールサーバ50上で見つかった場合には(ステップS214)、自身のプリンタ属性情報をスプールサーバ50に送信する(ステップS215)。スプールサーバ50側では、この属性情報に基づいて、アプリケーションデータをプリンタ10上で印刷可能なデータ形式に変換することができる(前述)。
【0260】そして、プリンタ10は、印刷可能データ形式に変換されたプリントジョブを受信すると(ステップS216)、これを印刷実行する(ステップS217)。その後、ステップS211に復帰して、ユーザからの次の指示入力まで待機する。
【0261】なお、図15〜図16を参照しながら説明した実施形態に係るスプールサーバ50の実施形態、並びに、図25を参照しながら説明した実施形態に係るスプールサーバ50では、ジョブ番号の一部をサーバの識別情報として利用するようにしている(前述)。ここでは、ジョブ番号にスプールサーバの識別情報を付加する方法並びにジョブ番号からスプールサーバを特定する方法について説明しておく。
【0262】インターネ