(57)【特許請求の範囲】
【請求項１】
印刷業務を依頼するクライアントと、印刷業務を実行する複数のプリンタと、前記クライアントと前記各プリンタを制御するサーバとがネットワーク接続されたネットワークプリンタシステムにおいて、
前記クライアントは、生成する印刷データを、印刷内容を指定する印刷コマンド列と、依頼先のプリンタを指定すべく依頼内容が示されてり、前記印刷コマンド列よりデータ容量の小さな依頼トークンとに変換して、印刷業務を実行するプリンタの指定と前記印刷コマンド列のデータ量とが示された前記依頼トークンを前記サーバに送信するネットワークドライバを備え、
前記ネットワークドライバは、前記印刷コマンド列の配信に先だって前記依頼トークンを前記サーバへ送信し、
前記サーバは、前記依頼トークンを前記クライアントから受け入れた順に蓄積するトークンキューと、前記クライアントが指定する前記プリンタが印刷待機状態か否かを監視して前記プリンタの印刷待機状態を検出すると、前記トークンキューから前記依頼トークンを取り出して、この依頼トークンを送信したクライアントに前記印刷コマンド列を直接前記プリンタへ配信させるプリントサーバマネージャと、前記印刷コマンド列を受け入れて一時保持する仮想ネットワークプリンタと、該仮想ネットワークプリンタに配信される前記印刷コマンド列を一時的に保持するためのサーバディスクとを備えており、
前記プリントサーバマネージャは、
前記依頼トークンを取り出して前記依頼内容を読み出し、前記データ量と所定の規定値とを比較し、前記データ量が前記規定値よりも小さいとき、前記クライアントが指定するプリンタに代えて前記仮想ネットワークプリンタへ前記印刷コマンド列を直接配信させて前記サーバディスクに一時保持させ、所定の時期に前記サーバディスクに一時保持した前記コマンド列を読み出して所定のプリンタへ回送させることを特徴とするネットワークプリンタシステム。
【請求項２】
印刷業務を依頼するクライアントと、印刷業務を実行する複数のプリンタと、前記クライアントと前記各プリンタを制御するサーバとがネットワーク接続されたネットワークプリンタシステムにおいて、
前記クライアントは、生成する印刷データを、印刷内容を指定する印刷コマンド列と、依頼先のプリンタを指定すべく依頼内容が示されており、前記印刷コマンド列よりデータ容量の小さな依頼トークンとに変換して、印刷業務を実行するプリンタの指定が示された前記依頼トークンを前記サーバに送信するネットワークドライバを備え、
前記ネットワークドライバは、前記印刷コマンド列の配信に先だって前記依頼トークンを前記サーバへ送信し、
前記サーバは、前記依頼トークンを前記クライアントから受け入れた順に蓄積するトークンキューと、前記クライアントが指定する前記プリンタが印刷待機状態か否かを監視して前記プリンタの印刷待機状態を検出すると、前記トークンキューから前記依頼トークンを取り出して、この依頼トークンを送信したクライアントに前記印刷コマンド列を直接前記プリンタへ配信させるプリントサーバマネージャと、前記ネットワークにおける大容量回線に複数接続して、前記プリンタが接続されるローカルノードを個別に管理する簡易ネットワーク管理システムとを備え、
前記プリントサーバマネージャは、
前記簡易ネットワーク管理システムを用いて、前記大容量回線に接続するまでの各ローカルノードにおける稼動中負荷を、ローカルノード負荷容量として監視し、該ローカルノード負荷容量が所定の基準ロードを超えたとき、当該ローカルノードのローカルノード負荷容量よりも小さいローカルノード負荷容量の他のローカルノードに前記印刷コマンド列を直接配信させることを特徴とするネットワークプリンタシステム。
【請求項３】
印刷業務を依頼するクライアントと、印刷業務を実行する複数のプリンタと、前記クライアントと前記各プリンタを制御するサーバとがネットワーク接続されたネットワークプリンタシステムにおいて、
前記クライアントは、生成する印刷データを、印刷内容を指定する印刷コマンド列と、依頼先のプリンタを指定すべく依頼内容が示されており、前記印刷コマンド列よりデータ容量の小さな依頼トークンとに変換して、印刷業務を実行する１台のプリンタを指定した前記依頼トークンを前記サーバに送信するネットワークドライバを備え、
前記ネットワークドライバは、前記印刷コマンド列の配信に先だって前記依頼トークンを前記サーバへ送信し、
前記サーバは、前記依頼トークンを前記クライアントから受け入れた順に蓄積するトークンキューと、前記プリンタが印刷待機状態か否かを監視して前記プリンタの印刷待機状態を検出するプリントサーバマネージャとを備え、
前記プリントサーバマネージャは、
前記依頼トークンを取り出して前記依頼内容を読み出し、前記クライアントが指定する前記プリンタが印刷待機状態であるとき、前記トークンキューから前記依頼トークンを取り出して、この依頼トークンを送信したクライアントに前記印刷コマンド列を直接前記プリンタへ配信させ、
前記クライアントの指定する前記プリンタが稼働できない状態であると認識したとき、前記クライアントが指定するプリンタに代えて、前記ネットワークシステムに接続する全てのプリンタにおいて印刷可能状態にある他のプリンタを検索し、該他の印刷可能なプリンタの情報をこの依頼トークンを送信したクライアントに送信することで、該情報を受信したクライアントにおいて、前記印刷コマンド列を直接前記印刷可能プリンタへ配信させるネットワークプリンタシステムであって、
前記サーバは、前記プリンタにセットされている用紙のサイズを登録するネットワークプリンタ用紙サイズテーブルを備え、
前記プリントサーバマネージャは、
前記クライアントから前記依頼トークンを受け入れたとき前記ネットワークプリンタ用紙サイズテーブルを参照して、前記コマンド列を前記クライアントの指定するサイズの用紙がセットされているプリンタに直接配信させることを特徴とするネットワークプリンタシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ネットワークプリンタシステムに関する。
【０００２】
【従来の技術】
従来、ネットワークに接続された複数のクライアントコンピュータ（以後クライアントと記す）が、ネットワークに直接接続可能なプリンタ又はプリントサーバを介してネットワークに接続されるプリンタ（以後この二種類のプリンタをネットワークプリンタと記す）を共有する場合に、
１．プリントサーバは、複数のクライアントから印刷データを受け入れて、一旦自己が内部に備えるサーバディスクに蓄積した後所定の順番に従って所定のネットワークプリンタに配信する方法。
２．クライアントとネットワークプリンタの間に予め１対１の論理接続を設定しておき、一つのクライアントが、この設定に従ったネットワークプリンタを占有して印刷する。その間、同一設定がなされている他のクライアントは、その印刷が終了するまで待機する方法。
以上二つの制御方法が、主に採用されていた。
【０００３】
又、ネットワーク構成は、光ファイバー等を用いた大容量回線をバックボーンにしてその周辺に、１０ＢａｓｅＴ等を用いた比較的小容量のローカルノードを、ルータを介して配置し、このローカルノードに上記クライアントとネットワークを接続していた。
【０００４】
【発明が解決しようとする課題】
ところで、上記のような従来の技術には、以下に記す解決すべき課題が残されていた。
特定のプリントサーバやネットワークプリンタにデータが集中し、周辺ローカルノードにトラフィック渋滞が、発生しがちであった。
【０００５】
【課題を解決するための手段】
本発明は、以上の点を解決するために、次の構成を採用する。
【０００６】
〈構成１〉
印刷業務を依頼するクライアントと、印刷業務を実行する複数のプリンタと、クライアントと各プリンタを制御するサーバとがネットワーク接続されたネットワークプリンタシステムにおいて、クライアントは、生成する印刷データを、印刷内容を指定する印刷コマンド列と、依頼先のプリンタを指定すべく依頼内容が示されており、印刷コマンド列よりデータ容量の小さな依頼トークンとに変換して、印刷業務を実行するプリンタの指定と印刷コマンド列のデータ量とが示された依頼トークンをサーバに送信するネットワークドライバを備え、ネットワークドライバは、印刷コマンド列の配信に先だって依頼トークンをサーバへ送信し、サーバは、依頼トークンをクライアントから受け入れた順に蓄積するトークンキューと、クライアントが指定するプリンタが印刷待機状態か否かを監視してプリンタの印刷待機状態を検出すると、トークンキューから依頼トークンを取り出して、この依頼トークンを送信したクライアントに印刷コマンド列を直接プリンタへ配信させるプリントサーバマネージャと、印刷コマンド列を受け入れて一時保持する仮想ネットワークプリンタと、該仮想ネットワークプリンタに配信される印刷コマンド列を一時的に保持するためのサーバディスクとを備えており、プリントサーバマネージャは、依頼トークンを取り出して依頼内容を読み出し、データ量と所定の規定値とを比較し、データ量が規定値よりも小さいとき、クライアントが指定するプリンタに代えて仮想ネットワークプリンタへ印刷コマンド列を直接配信させてサーバディスクに一時保持させ、所定の時期にサーバディスクに一時保持したコマンド列を読み出して所定のプリンタへ回送させることを特徴とする。
【０００７】
〈構成２〉
印刷業務を依頼するクライアントと、印刷業務を実行する複数のプリンタと、クライアントと各プリンタを制御するサーバとがネットワーク接続されたネットワークプリンタシステムにおいて、クライアントは、生成する印刷データを、印刷内容を指定する印刷コマンド列と、依頼先のプリンタを指定すべく依頼内容が示されており、印刷コマンド列よりデータ容量の小さな依頼トークンとに変換して、印刷業務を実行するプリンタの指定が示された依頼トークンを前記サーバに送信するネットワークドライバを備え、ネットワークドライバは、印刷コマンド列の配信に先だって依頼トークンをサーバへ送信し、サーバは、依頼トークンをクライアントから受け入れた順に蓄積するトークンキューと、クライアントが指定するプリンタが印刷待機状態か否かを監視してプリンタの印刷待機状態を検出すると、トークンキューから依頼トークンを取り出して、この依頼トークンを送信したクライアントに印刷コマンド列を直接前記プリンタへ配信させるプリントサーバマネージャと、ネットワークにおける大容量回線に複数接続して、プリンタが接続されるローカルノードを個別に管理する簡易ネットワーク管理システムとを備え、プリントサーバマネージャは、簡易ネットワーク管理システムを用いて、大容量回線に接続するまでの各ローカルノードにおける稼動中負荷を、ローカルノード負荷容量として監視し、該ローカルノード負荷容量が所定の基準ロードを超えたとき、当該ローカルノードのローカルノード負荷容量よりも小さいローカルノード負荷容量の他のローカルノードに前記印刷コマンド列を直接配信させることを特徴とする。
【００１０】
〈構成３〉
印刷業務を依頼するクライアントと、印刷業務を実行する複数のプリンタと、上記クライアントと上記各プリンタを制御するサーバとがネットワーク接続されたネットワークプリンタシステムにおいて、上記クライアントは、生成する印刷データを、印刷内容を指定する印刷コマンド列と、依頼先のプリンタを指定すべく依頼内容が示されており、上記印刷コマンド列よりデータ容量の小さな依頼トークンとに変換して、印刷業務を実行する１台のプリンタを指定した上記依頼トークンを上記サーバに送信するネットワークドライバを備え、上記ネットワークドライバは、上記印刷コマンド列の配信に先だって上記依頼トークンを上記サーバへ送信し、上記サーバは、上記依頼トークンを上記クライアントから受け入れた順に蓄積するトークンキューと、上記プリンタが印刷待機状態か否かを監視して上記プリンタの印刷待機状態を検出するプリントサーバマネージャとを備え、上記プリントサーバマネージャは、上記依頼トークンを取り出して上記依頼内容を読み出し、上記クライアントが指定する上記プリンタが印刷待機状態であるとき、上記トークンキューから上記依頼トークンを取り出して、この依頼トークンを送信したクライアントに上記印刷コマンド列を直接上記プリンタへ配信させ、上記クライアントの指定する上記プリンタが稼働できない状態であると認識したとき、上記クライアントが指定するプリンタに代えて、上記ネットワークシステムに接続する全てのプリンタにおいて印刷可能状態にある他のプリンタを検索し、該他の印刷可能なプリンタの情報をこの依頼トークンを送信したクライアントに送信することで、該情報を受信したクライアントにおいて、上記印刷コマンド列を直接上記印刷可能プリンタへ配信させるネットワークプリンタシステムであって、上記サーバは、上記プリンタにセットされている用紙のサイズを登録するネットワークプリンタ用紙サイズテーブルを備え、上記プリントサーバマネージャは、上記クライアントから上記依頼トークンを受け入れたとき上記ネットワークプリンタ用紙サイズテーブルを参照して、上記コマンド列を上記クライアントの指定するサイズの用紙がセットされているプリンタに直接配信させることを特徴とするネットワークプリンタシステム。
【００１１】
【発明の実施の形態】
以下、本発明の実施の形態について図を用いて詳細に説明する。
〈具体例１の構成〉
図１は、具体例１によるネットワークプリンタシステムのブロック図である。
図１より具体例１によるネットワークプリンタシステムは、クライアント１と、サーバ２と、ネットワークプリンタ３と、バックボーン４と、ローカルノード５と、ルータ２０とから構成される。
【００１２】
クライアント１は、後に説明するサーバ２に印刷業務を依頼する部分である。操作者が所望の印刷データを入力し、印刷要求の意思表示であり、依頼内容を指定する依頼トークン１１をサーバ２へ送信する。このサーバ２から、印刷データの配信を許可される開始トークン１２を受け入れたとき、印刷データを後に説明する所定のネットワークプリンタ３へ配信する部分である。
【００１３】
通常ワークステーションやパーソナルコンピュータ等の小型コンピュータが採用され、アプリケーション６と、プリンタドライバ７と、ネットワークドライバ８等の機能を備える。これらの機能は、クライアント１に予め装備されているソフトウェアのプログラムに従って実行される。
【００１４】
アプリケーション６は、操作者がクライアント１に命じて処理させる業務の総称である。即ち、本発明では、印刷業務が処理され、操作者によつて印刷データが入力される。
プリンタドライバ７は、アプリケーション６で入力された印刷データを後に説明するネットワークプリンタ３で印刷可能なデータ、即ちデータストリームに翻訳する部分である。
【００１５】
ネットワークドライバ８は、クライアント１から後に説明するサーバ２に依頼トークン１１を送信し、後に説明するネットワークプリンタ３へ向けて印刷内容を指定する印刷コマンド列１４をネットワークプリンタ３へ配信するための制御ソフトである。印刷コマンド列１４は、データストリームから、依頼トークンを除いた部分である。
【００１６】
サーバ２は、クライアント１の要求に基づいて、後に説明する印刷業務を実行するネットワークプリンタ３を制御する部分である。
複数のクライアント１から特定のネットワークプリンタ３へ印刷業務が依頼された場合、その実行順番を決定するする部分でもある。
【００１７】
即ち、ネットワークを管理するネットワークオペレーションシステム（以後ＮＯＳと記す）を実行する部分である。
通常ワークステーションやパーソナルコンピュータ等の小型コンピュータが採用され、トークンキュー９と、プリントサーバマネージャ１０の機能を備える。これらの機能は、サーバ２に予め装備されているソフトウェアのプログラムに従って実行される。
【００１８】
トークンキュー９は、クライアント１から依頼トークン１１を受け入れて蓄積する待ち行列である。
プリントサーバマネージャ１０は、上記サーバの機能のうち、複数の依頼トークンを受け入れたとき印刷コマンド列１４の配信を許可する開始トークンを返信する機能を受け持つ部分である。
【００１９】
又、ネットワークプリンタ３に、図示していない監視トークンを送って稼働状態を監視して、ネットワークプリンタ３が印刷中であるか、或いは印刷を終了して待機中であるかを確認する部分でもある。この動作は、ＮＯＳの一部として定期的に行われている。
【００２０】
ネットワークプリンタ３は、サーバ２の制御に基づいてクライアント１から印刷コマンド列１４を受け入れて印刷業務を実行する部分である。
バックボーン４は、光ファイバー等を用いた大容量回線でありその周辺に、後に説明するルータ２０を介して、１０ＢａｓｅＴ等を用いた比較的小容量のローカルノード５が接続される部分である。
【００２１】
ローカルノード５は、１０ＢａｓｅＴ等を用いた比較的小容量の回線であり、配下にクライアント１、サーバ２、ネットワークプリンタ３等が接続される部分である。
ルータ２０は、配下にクライアント１、サーバ２、ネットワークプリンタ３等の端末装置が接続されているローカルノード５をバックボーン４へ接続する中継装置である。
次にこれらの構成要素がネットワークシステム中にどのように配置されているかについて図を用いて説明する。
【００２２】
図２は、具体例１によるネットワークシステムの構成図である。
図２に示すように具体例１によるネットワークシステムは、バックボーン４に、複数のローカルノード５が、ルータ２０を介して接続されている。図２では一例としてローカルノード５がローカルノード５[１]〜ローカルノード５[４]の４個、ルータ２０がルータ２０[１]〜ルータ[４]の４個に限定して記載されている。
【００２３】
更に、各ローカルノード５には、クライアント１や、サーバ２や、ネットワークプリンタ３が接続されている。図２では一例として、ローカルノード５[１]にクライアント１[１]及びクライアント１[２]が、ローカルノード５[２]にクライアント１[３]及びクライアント１[４]が、ローカルノード５[３]にクライアント１[５]及びネットワークプリンタ３[１]が、ローカルノード５[４]にサーバ２及びネットワークプリンタ３[２]が、それぞれ限定して記載されている。
以上で具体例１によるネットワークシステムの構成についての説明を終了して、次に動作についての説明をする。
【００２４】
〈具体例１の動作〉
最初に図２を用いて具体例１の動作の概要について説明する。
本発明で、クライアント１[３]は、ネットワークプリンタ３[１]に印刷データを配信するに際して、最初にネットワークプリンタ３[１]を指定した依頼トークン１１をサーバ２へ送信する。この依頼トークン１１をサーバ２が受け入れる。サーバ２は、ネットワークプリンタ３[１]が印刷待機状態になったことを確認した後、クライアント１[３]に開始トークン１２を返信する。クライアント１[３]は、この開始トークン１２を受け入れたとき、印刷コマンド列１４をサーバ２を介さずに直接、上記選択された所定のネットワークプリンタ３[１]へ配信する。
【００２５】
その結果、渋滞し易いサーバ２では、データ量の小さい依頼トークン１１と開始トークン１２のみが、受信返信される。データ量の大きい印刷コマンド列１４は、直接ネットワークプリンタ３[１]へ配信される。更に、サーバ２が、複数のクライアント１から、複数の依頼トークン１１を受け入れたとき開始トークン１２を返信するに際して予め定められている優先順位に従って返信順番を定めることも可能になる。この優先順位については、後に具体例５として説明する。
以下に制御動作の詳細について図１を用いて説明する。
【００２６】
図１において、操作者がクライアント１のアプリケーション６で印刷データを入力して印刷業務を起動する。この印刷データはプリンタドライバ７へ転送される。印刷データはプリンタドライバ７によつて印刷可能なデータストリーム１５に翻訳される。このデータストリーム１５は、ネットワークドライバ８へ送られここで依頼トークン１１と印刷コマンド列１４に変換される。このネットワークドライバ８の動作について他の図を用いて詳細に説明する。
【００２７】
図３は、ネットワークドライバの動作説明図である。
図３においてスプーラ３０は、クライアント１が内部に備えるハードディスクであり、印刷コマンド列１４を一時格納しておくメモリである。
図３に示すようにネットワークドライバ８は、プリンタドライバ７からデータストリーム１５を受け入れる。データストリーム１５はここで印刷コマンド列１４と依頼トークン１１に変換される情報に、それぞれ分離される。印刷コマンド列１４は、スプーラ３０に一旦格納される。同時に、依頼トークン１１を生成する情報から、依頼トークン１１が生成される。
【００２８】
依頼トークン１１の構成について図を用いて説明する。
図４は、依頼トークン及び開始トークンの構成図である。
図４（ａ）は、依頼トークンを示している。図４（ｂ）は、開始トークンを示している。
図４（ａ）より依頼トークンは、以下のようにフレーム構成される。
【００２９】
フレームの先頭に、このトークンが依頼トークンであることを示すコマンドＲＱが書き込まれ、以下、順に依頼元のクライアント名を示すＳＣＲｎａｍｅ、印刷先のネットワークプリンタ名を示すＤＳＴｎａｍｅ、印刷業務であることを示すｊｏｂ＃、データの大きさを示すＮｂｙｔｅ、トークンの終了を示す終了子ＴＭがそれぞれ書き込まれる。
ここで留意すべき事項は、以下の通りである。
依頼トークン１１のデータ量は、印刷コマンド列１４のデータ量に比して極めて少量であるということである。
【００３０】
再度図１に戻って制御動作の詳細についての説明を続ける。
依頼トークン１１は、ネットワークドライバ８からサーバ２へ送信される。サーバ２は、この依頼トークン１１を受け入れる。図１には説明の都合上クライアント１は、１個記載されているのみであるが、実際のシステムでは複数個のクライアント１が接続されている（例えば図２）。
【００３１】
従ってサーバ２が受け入れる依頼トークン１１も複数個になりうる。この複数個の依頼トークン１１は、受け入れ順にトークンキュー９に一旦格納される。
プリントサーバマネージャ１０は、上記監視トークンによってネットワークプリンタが印刷待機状態になったことを検出する毎に、トークンキュー９から受け入れ順に依頼トークン１１を取り出す。その記載内容に基づいて開始トークン１２を生成してクライアント１のネットワークドライバ８へ返信する。
【００３２】
開始トークン１２について図４（ｂ）を用いて説明する。
図４（ｂ）より開始トークンは、以下のようにフレーム構成される。
フレームの先頭に、このトークンが開始トークンであることを示すコマンドＳＴが書き込まれ、以下、順に依頼元のクライアント名を示すＳＣＲｎａｍｅ、所定のネットワークプリンタ名ＤＳＴｎａｍｅ、印刷業務であることを示すｊｏｂ＃、トークンの終了を示す終了子ＴＭがそれぞれ書き込まれる。
【００３３】
開始トークン１２を受け入れたネットワークドライバ８は、スプーラ３０（図３）から上記スプーラ３０に一旦格納されている所定の印刷コマンド列１４を読み出す。
この印刷コマンド列１４は、サーバ２を介さずに直接ネットワークプリンタ３へ配信される。
【００３４】
〈具体例１の効果〉
以上説明した構成を備えることにより、以下の効果を得る。
１．データが集中しやすいサーバでは、データ量の小さい依頼トークンと開始トークンが処理されるのみで、データ量の大きい印刷コマンド列は、サーバを経由せずクライアントから直接ネットワークプリンタへ配信される。
２．データ量の大きい印刷コマンド列がサーバを経由しなくなるため、回線容量の小さいサーバ周辺のローカルノードにトラフィック渋滞が、発生しにくくなる。
【００３５】
〈具体例２の構成〉
具体例１では、クライアント１（図１）から依頼トークン１１（図１）を受け入れたサーバ２（図１）は、ネットワークプリンタ３の稼働状況に基づいて開始トークン１２を作成していた。しかし、ネットワークプリンタ３に故障が発生することもあり得る。この場合に故障中のネットワークプリンタ３に代えて所定のネットワークプリンタ３を指定して、開始トークンを作成する必要がある。この目的を達成するために具体例２によるネットワークシステムは、以下のように構成される。
【００３６】
図５は、具体例２によるネットワークシステムのブロック図である。
図５より具体例２によるネットワークプリンタシステムは、クライアント１と、サーバ３２と、ネットワークプリンタ３[１]と、ネットワークプリンタ３[２]バックボーン４と、ローカルノード５と、ルータ２０とから構成される。
【００３７】
以下、具体例１との差異のみについて説明する。
サーバ３２は、クライアント１の要求に基づいて、印刷業務を実行するネットワークプリンタ３を制御する部分である。
複数のクライアント１から印刷業務が依頼されたとき、受け入れ順に開始トークン１２を生成して返信する部分である。更に、クライアント１によって指定されたネットワークプリンタ３が故障中或いは保守点検等のために停止中の場合に、このネットワークプリンタ３に代えて他の所定のネットワークプリンタ３を選択する部分でもある。
【００３８】
即ち、ネットワークを管理するＮＯＳを実行する部分である。
通常ワークステーションやパーソナルコンピュータ等の小型コンピュータが採用され、トークンキュー９と、プリントサーバマネージャ３３の機能を備える。これらの機能は、サーバ３２に予め装備されているソフトウェアのプログラムに従って実行される。
トークンキュー９は、クライアント１から依頼トークン１１を受け入れて蓄積する待ち行列である。
【００３９】
プリントサーバマネージャ３３は、上記サーバ３２の機能のうち、依頼トークン１１を受け入れたとき、開始トークン１２を返信する機能を受け持つ部分である。更に、ネットワークプリンタが現在印刷中か、又は印刷を終了して待機中であるか、等の稼働状況や故障中或いは保守点検のために停止中等の情報を所持する部分でもある。この故障中、点検中等の情報は、予めネットワーク管理者によってコンソールを介して入力されている。或いは、監視トークンを送ってネットワークプリンタ３の状態を検出することも可能である。
【００４０】
これらの情報に基づいて複数のネットワークプリンタ３の内から所定のネットワークプリンタ３を選択する部分でもある。これらの情報を収集するためにネットワークに接続されている全てのネットワークプリンタ３に、図示していない監視トークンを送ってネットワークプリンタ３の稼働状態を確認する部分でもある。この動作は、ＮＯＳの一部として定期的に行われている。
その他の部分は、具体例１の構成と全く同様なので説明を割愛する。
次にこれらの構成要素がネットワークシステム中にどのように配置されているかについて図を用いて説明する。
【００４１】
図６は、具体例２によるネットワークシステムの構成図である。
図６に示すように具体例２によるネットワークシステムは、バックボーン４に、複数のローカルノード５が、ルータ２０を介して接続されている。図２では一例としてローカルノード５をローカルノード５[１]〜ローカルノード５[４]の４個、ルータ２０をルータ２０[１]〜ルータ２０[４]の４個に限定して記載されている。
【００４２】
更に、各ローカルノード５には、クライアント１や、サーバ３２や、ネットワークプリンタ３が接続されている。図２では一例として、ローカルノード５[１]にクライアント１[１]及びクライアント１[２]が、ローカルノード５[２]にクライアント１[３]及びクライアント１[４]が、ローカルノード５[３]にクライアント１[５]及びネットワークプリンタ３[１]が、ローカルノード５[４]にサーバ３２及びネットワークプリンタ３[２]が、それぞれ限定して記載されている。
以上で具体例１によるネットワークシステムの構成についての説明を終了して、次に動作についての説明をする。
【００４３】
〈具体例２の動作〉
図５において、ネットワークプリンタ３[２]が故障中である、との前提条件に基づいて具体例２の動作について説明する。具体例１の動作との差異のみについて説明する。
最初に図６を用いて具体例２の動作の概要について説明する。
具体例２で、クライアント１[３]は、ネットワークプリンタ３[２]を指定して依頼トークン１１をサーバ３２へ送信する。この依頼トークン１１をサーバ３２が受け入れる。
【００４４】
サーバ３２は、ＮＯＳにより所定のネットワークプリンタ３[２]が故障中なのでこれに代えて、ネットワークプリンタ３[１]を指定して、クライアント１[３]に開始トークン１２を返信する。クライアント１[３]は、この開始トークン１２を受け入れたとき、印刷コマンド列１４をサーバ２を介さずに直接、上記選択された所定のネットワークプリンタ３[１]へ配信する。
【００４５】
以上の動作のうち、具体例１の動作との差異は、依頼トークン１１をサーバ３２が受け入れたときサーバ３２が、ネットワークプリンタ３[２]が故障中なので、これに代えて、ネットワークプリンタ３[１]を指定して、開始トークン１２を返信する動作のみである。他の動作は、全て具体例１の動作と同様なので指定ネットワークプリンタ３[２]をネットワークプリンタ３[１]に変更する動作のみについてフローチャートを用いて説明する。
【００４６】
図７は、具体例２によるネットワークシステムの動作説明図である。
図７のステップＳ１〜ステップＳ４に従って説明する。
ステップＳ１
プリントサーバマネージャ３３（図５）が依頼トークン１１（図５）をトークンキュー９（図５）から取り出してステップＳ２へ進む。
【００４７】
ステップＳ２
プリントサーバマネージャ３３（図５）は、依頼トークンのＤＳＴｎａｍｅ（図４）の項に記載されている指定ネットワークプリンタ３[２]が稼働できる状態かどうかをＮＯＳに基づいて調査する。もし指定ネットワークプリンタ３[２]が故障等によって稼働できないときは、ステップＳ３へ進み、指定ネットワークプリンタ３[２]が稼働できる状態のときはステップＳ４へ飛ぶ。前提条件によりここではステップＳ３へ進む。
【００４８】
ステップＳ３
プリントサーバマネージャ３３（図５）は、指定ネットワークプリンタ３[２]に代えて稼働できるネットワークプリンタ３[１]を選択してステップＳ４へ進む。
ステップＳ４
プリントサーバマネージャ３３（図５）は、指定ネットワークプリンタ３[１]を開始トークンのＤＳＴｎａｍｅ（図４）の項に書き込んで開始トークン１２を生成して終了する。
【００４９】
以上のステップを経て生成された開始トークン１２が、クライアント１[３]へ返信される。以後具体例１と同様の動作によって、クライアント１[３]は、この開始トークン１１を受け入れたとき、印刷コマンド列１４をサーバ２を介さずに直接、上記選択された所定のネットワークプリンタ３[１]へ配信する。
ここでは、指定したネットワークプリンタ変更の要因を故障中、点検中等の場合に限って説明したが、本具体例は、この要因のみに限定されるものではない。即ち、緊急度の高い依頼トークン１２の処理に際して、指定したネットワークプリンタが渋滞している場合には、指定ネットワークプリンタを印刷待機中の他のネットワークプリンタに変更した開始トークン１２を返信することも可能である。
【００５０】
〈具体例２の効果〉
以上説明した構成を備えることにより、具体例１の効果に加えて以下の効果を得る。
１．クライアントからの指定プリンタが故障中、或いは点検中のとき印刷コマンド列を他の所定のネットワークプリンタへ回送することが可能になる。
２．緊急度の高い依頼トークンの処理に際して、依頼先プリンタが渋滞している場合には、印刷コマンド列を他の所定のネットワークプリンタへ回送することも可能になる。
【００５１】
〈具体例３の構成〉
具体例１では、クライアント１（図１）は、依頼トークン１１（図１）を送信した後、サーバ２（図１）から開始トークン１２（図１）を受け入れるまでの間サーバ２（図１）とのデータリンク状態から解放されなかった。多数のクライアント１（図１）から同時期に依頼トークン１１（図１）を受け入れた場合等、データリンク状態から解放されるまで長時間にわたる場合もある。
一方クライアント１（図１）の要求している印刷コマンド列１４（図１）のデータ量にも大小がある。
【００５２】
このような場合に具体例３では、印刷コマンド列１４（図１）のデータ量に予め一定の規定値（以後規定値ＴＨと記す）を設定しておく。この規定値ＴＨ以下の印刷コマンド列１４（図１）については、サーバ２（図１）が、受け入れる。この受け入れた印刷コマンド列１４を自己が所持するサーバディスク（図１には記載されていない）に一旦格納する。その結果、サーバ２（図１）とクライアント１（図１）のデータリンク状態は、解放される。
その後所定の時期にサーバ２（図１）が印刷コマンド列１４（図１）をネットワークプリンタ３（図１）へ回送する。かかる動作を実行するために本具体例は、以下のように構成される。
【００５３】
図８は、具体例３によるネットワークシステムのブロック図である。
図８より具体例３によるネットワークプリンタシステムは、クライアント１と、サーバ４０と、ネットワークプリンタ３[１]と、仮想ネットワークプリンタ３[Ｙ]と、バックボーン４と、ローカルノード５と、ルータ２０から構成される。
【００５４】
具体例１との差異のみについて説明する。
サーバ４０は、クライアント１の要求に基づいて、ネットワークプリンタ３を制御して印刷業務を実行する部分である。又、印刷コマンド列１４のデータ量を依頼トークン１１から読み取って、規定値ＴＨ以下の場合に印刷コマンド列１４を受け入れて、自己が所持するサーバディスク４１に一旦格納する部分である。この規定値ＴＨは、ネットワーク管理者によってコンソールを介して予め入力されている。
【００５５】
即ち、ＮＯＳを実行する部分である。
通常ワークステーションやパーソナルコンピュータ等の小型コンピュータが採用され、トークンキュー９と、プリントサーバマネージャ４２と、仮想ネットワークプリンタ３[Ｙ]の機能を備える。これらの機能は、サーバ４０に予め装備されているソフトウェアのプログラムに従って実行される。更に、記憶素子であるサーバディスク４１を備える。
【００５６】
プリントサーバマネージャ４２は上記サーバ４０の機能のうち、複数の依頼トークン１１を受け入れたとき、受け入れ順に開始トークン１２を生成して返信する機能を受け持つ部分である。更に、依頼トークン１１のＮｂｙｔｅ（図４）を読み取って、印刷コマンド列１４のデータ量が規定値ＴＨ以下の場合に、後に説明する仮想ネットワークプリンタ３[Ｙ]を指定した開始トークン１２を生成してクライアント１へ返信する部分でもある。規定値ＴＨは、予めネットワーク管理者によってコンソールを介して入力されている。
【００５７】
仮想ネットワークプリンタ３[Ｙ]は、上記プリントサーバマネージャ４２が仮想ネットワークプリンタ３[Ｙ]を指定した開始トークン１２を返信したときに、クライアント１から送られてくる印刷コマンド列１４を受け入れる部分である。サーバディスク４１は、上記仮想ネットワークプリンタ３[Ｙ]が受け入れた印刷コマンド列１４を一旦格納する部分である。通常この部分は、サーバ４０が内部に備えるハードディスクが代行する。
【００５８】
その他の部分は、具体例１の構成と全く同様なので説明を割愛する。
次にこれらの構成要素がネットワークシステム中にどのように配置されているかについて図を用いて説明する。
【００５９】
図９は、具体例３によるネットワークシステムの構成図である。
図９に示すように具体例３によるネットワークシステムは、バックボーン４に、複数のローカルノード５が、ルータ２０を介して接続されている。図９では一例としてローカルノード５がローカルノード５[１]〜ローカルノード５[４]の４個、ルータ２０がルータ２０[１]〜ルータ[４]の４個に限定して記載されている。
【００６０】
更に、各ローカルノード５には、クライアント１や、サーバ４０や、ネットワークプリンタ３が接続されている。図９では一例として、ローカルノード５[１]にクライアント１[１]及びクライアント１[２]が、ローカルノード５[２]にクライアント１[３]及びクライアント１[４]が、ローカルノード５[３]にクライアント１[５]及びネットワークプリンタ３[１]が、ローカルノード５[４]にサーバ４０及びネットワークプリンタ３[２]が、それぞれ限定して記載されている。
以上で具体例３によるネットワークシステムの構成についての説明を終了して、次に動作についての説明をする。
【００６１】
〈具体例３の動作〉
最初に図９を用いて具体例３の動作の概要について説明する。
具体例３で、クライアント１[１]は、ネットワークプリンタ３[１]を指定して上記規定値ＴＨよりデータ量が小さい印刷コマンド列１４の印刷業務を指定した依頼トークン１１をサーバ４０へ送信したとする。この依頼トークン１１をサーバ４０が受け入れる。このとき既にネットワークプリンタ３[１]は、クライアント１[３]から印刷コマンド列１４を受け入れて印刷中であるとする。
【００６２】
サーバ４０は、依頼トークン１１のＮｂｙｔｅ（図４）を読み取る。その結果クライアント１[１]が要求している印刷コマンド列１４は、規定値ＴＨよりデータ量が小さいことを認識する。そのときサーバ４０は、仮想ネットワークプリンタ３[Ｙ]を指定した開始トークン１２をクライアント１[１]へ返信する。この開始トークン１２を受け入れたクライアント１[１]は、仮想ネットワークプリンタ３[Ｙ]へ印刷コマンド列１４を送出する。
【００６３】
仮想ネットワークプリンタ３[Ｙ]は、印刷コマンド列１４を受け入れてサーバディスク４１へ格納する。この段階でサーバ４０とクライアント１[１]のデータリンク状態は解放される。その後サーバ４０はネットワークプリンタ３[１]の監視を続け、ネットワークプリンタ３[１]が印刷待機状態に移行した後、サーバディスク４１に格納されている上記印刷コマンド列１４を読み出してネットワークプリンタ３[１]へ回送する。
【００６４】
以上の動作のうち、具体例１の動作との差異は、クライアント１[１]から依頼トークン１２をサーバ４０が受け入れたときサーバ４０が、依頼トークン１１のＮｂｙｔｅ（図４）を読み取って印刷コマンド列１４のデータ量が規定値ＴＨよりも小さい場合の動作のみである。即ち、仮想ネットワークプリンタ３[Ｙ]を指定した開始トークン１２を生成して返信する動作のみである。他の動作は、全て具体例１の動作と同様なので、この仮想ネットワークプリンタ３[Ｙ]を指定した開始トークン１２を生成して返信する動作のみについてフローチャートを用いて説明する。
【００６５】
図１０は、具体例３によるネットワークシステムの動作説明図である。
図１０のステップＳ１〜ステップＳ４に従って説明する。
ステップＳ１
プリントサーバマネージャ４２（図８）が、依頼トークン１１（図８）をトークンキュー９（図８）から取り出してステップＳ２へ進む。
【００６６】
ステップＳ２
プリントサーバマネージャ４２（図８）が、依頼トークン１１（図８）のＮｂｙｔｅを読み出して印刷コマンド列１４（図８）のデータ量が規定値ＴＨより大きいかどうかを比較する。もしＮｂｙｔｅ＜ＴＨのときはステップＳ３へ進み、Ｎｂｙｔｅ≧ＴＨのときはステップＳ４へ飛ぶ。前提条件によりここではステップＳ３へ進む。
【００６７】
ステップＳ３
プリントサーバマネージャ４２（図８）は、開始トークン１２のＤＳＴｎａｍｅ（図４）の指定ネットワークプリンタ３[１]を仮想ネットワークプリンタ３[Ｙ]に代えてステップＳ４へ進む。
ステップＳ４
プリントサーバマネージャ４２（図８）は、仮想ネットワークプリンタ３[Ｙ]を書き込んだ開始トークン１２を生成して終了する。
【００６８】
以上のステップを経て生成された開始トークン１２が、クライアント１（図８）へ返信される。以後、クライアント１（図８）は、この開始トークン１２（図８）を受け入れたとき、印刷コマンド列１４（図８）を仮想ネットワークプリンタ３[Ｙ]（図８）へ配信する。この印刷コマンド列１４（図８）は、一旦サーバディスク４１へ格納される。その後ネットワークプリンタ３[１]（図８）が印刷待機状態に戻った後印刷コマンド列１４（図８）はプリントサーバマネージャ４２（図８）によって読み出されてネットワークプリンタ３[１]へ（図８）回送される。
【００６９】
〈具体例３の効果〉
以上説明した構成を備えることにより、具体例１の効果に加えて以下の効果を得る。
１．クライアントからの指定ネットワークプリンタが渋滞している時で、かつ、印刷コマンド列のデータ量が比較的少量の時に、この印刷コマンド列を一旦サーバが受け入れて自己が内部に備えるサーバディスクに格納するので、クライアントとサーバのデータリンクを短時間で開放することができる。
２．その結果クライアントの効率的運用が可能になる。
【００７０】
〈具体例４の構成〉
具体例１では、クライアント１[３]（図２）からネットワークプリンタ３[１]（図２）を指定した依頼トークン１１（図２）を受け入れたサーバ２（図２）は、依頼トークン１１を受け入れた順と、ネットワークプリンタ３[１]（図２）の稼働状況のみに基づいて開始トークン１２（図２）を生成していた。しかし、ネットワークプリンタ３[１]（図２）が接続されているローカルノード５[３]（図２）には他の端末装置（図２ではクライアント１[５]のみが記載されている）も接続されている。
【００７１】
従ってネットワークプリンタ３[１]（図２）のみに着目して開始トークン１２（図２）を生成したのでは、上記他の端末装置の稼働状況次第によってローカルノード５[３]（図２）が渋滞することもあり得る。具体例４では、このような状態を回避するため簡易ネットワーク管理システムを用いてローカルノード５[３]（図２）全体の稼働状況に基づいて開始トークン１２（図２）を生成する。この目的を達成するために具体例４によるネットワークシステムは、以下のように構成される。
【００７２】
図１１は、具体例４によるネットワークプリンタシステムのブロック図である。
図１１より具体例４によるネットワークプリンタシステムは、クライアント１と、サーバ５０と、ネットワークプリンタ３[１]と、ネットワークプリンタ３[２]と、バックボーン４と、ローカルノード５[１]と、ローカルノード５[２]と、ローカルノード５[３]と、ルータ５３[１]と、ルータ５３[２]と、ルータ５３[３]と、簡易ネットワーク管理ルート５２[１]と、簡易ネットワーク管理ルート５２[２]とから構成される。以下具体例１との相違のみについて説明する。
【００７３】
サーバ５０は、クライアント１の要求に基づいて、ネットワークプリンタ３を制御して印刷業務を実行する部分である。
又、簡易ネットワーク管理システムを用いてネットワークプリンタ３が接続されているローカルノード５の稼働状況を調査して現時点でのローカルノード５全体としての稼働中負荷量ＬｏｒｄＳを調査する部分でもある。クライアント１から特定のネットワークプリンタ３を指定して印刷業務を依頼されたとき、上記指定されたネットワークプリンタ３が接続されているローカルノード５の稼働中負荷量ＬｏｒｄＳを調査する。
【００７４】
このとき上記ローカルノード５の稼働中負荷量ＬｏｒｄＳが、基準ロードＯＬを越えている場合は、上記指定されたネットワークプリンタ３に代えて、他の、まだ基準ロードＯＬを越えていないか、或いは稼働中負荷量ＬｏｒｄＳが比較的軽いローカルノード５に接続されているネットワークプリンタ３を指定した開始トークン１２を生成してクライアント１に返信する。
ここでロードＯＬは、ネットワーク管理者によってコンソールを介して予め入力されている。
【００７５】
又、上記簡易ネットワーク管理システムとは、管理ステーション（ここでは後に説明するプリントサーバマネージャ）が管理対象機器（ここでは後に説明するルータ５３）へ自己が必要とする事項を書き込んだ要求メッセージ５６を送信する。これに対して管理対象機器が管理ステーションに所望事項を書き込んだ応答メッセージ５７を返信するネットワーク管理システムである。
【００７６】
サーバ５０は、通常ワークステーションやパーソナルコンピュータ等の小型コンピュータが採用され、トークンキュー９と、プリントサーバマネージャ５１の機能を備える。これらの機能は、サーバ５０に予め装備されているソフトウェアのプログラムに従って実行される。
【００７７】
プリントサーバマネージャ５１は、上記サーバ５０の機能のうち、簡易ネットワーク管理システムを用いてローカルノード５全体としての稼働中負荷量ＬｏｒｄＳを調査する部分である。即ち要求メッセージ５６をルータ５３へ送信し、ルータ５３からローカルノード５の稼働中負荷量ＬｏｒｄＳを書き込んだ応答メッセージ５７を受け入れる。
【００７８】
このとき上記ローカルノード５の稼働中負荷量ＬｏｒｄＳ負荷ロードが、基準ロードＯＬを越えている場合は、上記指定されたネットワークプリンタ３に代えて、他のまだ基準ロードＯＬを越えていないローカルノード５に接続されているネットワークプリンタ３を指定して開始トークン１２を生成してクライアント１に返信する。
【００７９】
ルータ５３は、配下にクライアント１、サーバ２、ネットワークプリンタ３等の端末装置が接続されているローカルノード５をバックボーン４へ接続する中継装置である。
更に、要求メッセージ５６をプリントサーバマネージャ５１から受け入れて自己に接続されているローカルノード５全体としての稼働中負荷量ＬｏｒｄＳを書き込んだ応答メッセージ５７を返信する部分でもある。
【００８０】
簡易ネットワーク管理ルート５２は、簡易ネットワーク管理システムの要求メッセージ５６と応答メッセージ５７の仮想伝送路である。この仮想伝送路は通常ネットワークを構成しているバックボーン４、ローカルノード５等を併用して管理対象機器と管理ステーションを接続する仮想論理回路である。
次に具体例４の動作について説明する。
【００８１】
〈具体例４の動作〉
最初に図１１を用いて具体例４の動作の概要について説明する。
具体例４で、クライアント１は、ネットワークプリンタ３[２]を指定して印刷要求を表示した依頼トークン１１をサーバ５０へ送信したとする。この依頼トークン１１をサーバ５０が受け入れる。
【００８２】
このときプリントサーバマネージャ５１は、簡易ネットワーク管理ルート５２[２]を介してルータ５３[２]へ要求メッセージ５６を送信する。ルータ５３[２]は、この要求メッセージ５６を受け入れて稼働中負荷量ＬｏｒｄＳを書き込んだ応答メッセージをプリントサーバマネージャ５１に返信する。今仮に、ローカルノード５[２]に接続されている端末機器５４、端末機器５５も稼働中であり稼働中負荷量ＬｏｒｄＳが、基準ロードＯＬを越えていたとする。
【００８３】
このときプリントサーバマネージャ５１は、簡易ネットワーク管理ルート５２[１]を介してルータ５３[１]へ要求メッセージ５６を送信する。ルータ５３[１]は、この要求メッセージ５６を受け入れて稼働中負荷量ＬｏｒｄＲを書き込んだ応答メッセージをプリントサーバマネージャ５１に返信する。今仮に、ローカルノード５[１]の稼働中負荷量ＬｏｒｄＲが、基準ロードＯＬを越えていなかったとする。このときプリントサーバマネージャ５１は、ネットワークプリンタ３[１]を指定した開始トークン１２を生成してクライアント１へ返信する。以後の動作は具体例１の動作と同様である。
【００８４】
以上の動作のうち、具体例１の動作との差異は、クライアント１から依頼トークン１１をサーバ５０が受け入れて、簡易ネットワーク管理システムを用いてローカルノード５[２]とローカルノード５[１]の稼働中負荷量ＬｏｒｄＲを調査して所定のネットワークプリンタ３[１]を選択して指定した開始トークン１２を生成して返信する動作のみである。他の動作は、全て具体例１の動作と同様なので、この所定のネットワークプリンタ３[１]を指定した開始トークン１２を生成して返信する動作のみについてフローチャートを用いて説明する。
【００８５】
図１２は、具体例４によるネットワークシステムの動作説明図である。
図１２のステップＳ１〜ステップＳ７に従って説明する。
前提条件としてローカルノード５[２]（図１１）の稼働中負荷量ＬｏｒｄＳは、基準ロードＯＬを越えており、ローカルノード５[１]（図１１）の稼働中負荷量ＬｏｒｄＲには、まだ余裕があるものとする。
ステップＳ１
プリントサーバマネージャ５１（図１１）が、依頼トークン１１（図１１）をトークンキュー９（図１１）から取り出してステップＳ２へ進む。
【００８６】
ステップＳ２
プリントサーバマネージャ５１（図１１）が、依頼トークン１１（図１１）のＤＳＴｎａｍｅ（図４）の指定ネットワークプリンタ３[２]（図１１）を読み出す。プリントサーバマネージャ５１（図１１）は、このネットワークプリンタ３[２]（図１１）が接続されているルータ５３[２]へ簡易ネットワーク管理ルート５２[２]（図１１）を介して要求メッセージ５６（図１１）を送信しての稼働中負荷量ＬｏｒｄＳを問い合わせる。ルータ５３[２]は、稼働中負荷量ＬｏｒｄＳを応答メッセージ５７に書き込んで返信して、ステップＳ３へ進む。
【００８７】
ステップＳ３
プリントサーバマネージャ５１（図１１）は、稼働中負荷量ＬｏｒｄＳと基準ロードＯＬを比較してＬｏｒｄＳ＜ＯＬのときは、このままネットワークプリンタ３[２]（図１１）に印刷業務を依頼しても問題はないのでステップＳ６へ飛ぶ。ＬｏｒｄＳ≧ＯＬのときは、このままネットワークプリンタ３[２]（図１１）に印刷を依頼するとローカルノード５[２]が渋滞してしまうので、他のネットワークプリンタ３[１]（図１１）の稼働中負荷量ＬｏｒｄＲを調査するためにステップＳ４へ進む。ここでは前提条件よりステップＳ４へ進む。
【００８８】
ステップＳ４
プリントサーバマネージャ５１（図１１）は、ネットワークプリンタ３[１]（図１１）が接続されているルータ５３[１]へ簡易ネットワーク管理ルート５２[１]（図１１）を介して要求メッセージ５６（図１１）を送信してローカルノード５[１]の稼働中負荷量ＬｏｒｄＲを問い合わせる。ルータ５３[１]は、稼働中負荷量ＬｏｒｄＲを応答メッセージ５７に書き込んで返信してステップＳ５へ進む。
【００８９】
ステップＳ５
プリントサーバマネージャ５１（図１１）は、ローカルノード５[２]の稼働中負荷量ＬｏｒｄＳとローカルノード５[１]の稼働中負荷量ＬｏｒｄＲを比較してＬｏｒｄＳ＜ＬｏｒｄＲのときステップＳ６へ進みＬｏｒｄＳ≧ＬｏｒｄＲのときステップＳ７へ進む。ここでは前提条件よりステップＳ７へ進む。
【００９０】
ステップＳ７
プリントサーバマネージャ５１（図１１）は、指定ネットワークプリンタ３[２]を指定ネットワークプリンタ３[１]に代えてステップＳ６へ進む。
ステップＳ６
プリントサーバマネージャ５１（図１１）は、開始トークン１２を生成する。
【００９１】
以上のステップを経て生成された開始トークン１２が、クライアント１（図８）へ返信される。以後、クライアント１（図８）は、この開始トークン１２（図８）を受け入れたとき、印刷コマンド列１４（図８）を指定されたネットワークプリンタ３[１]（図１１）へ配信する。
尚、ステップＳ５においてＬｏｒｄＳ＜ＯＬのときは最も理想的な状態であり動作の流れはステップＳ７へ進む。
【００９２】
〈具体例４の効果〉
以上説明した構成を備えることにより、具体例１の効果に加えて以下の効果を得る。
１．クライアントの指定したネットワークプリンタが接続されているローカルノードの稼働中負荷量が、基準ロードを越えている時、稼働中負荷量の軽い他のローカルノードに接続されているネットワークプリンタに指定を変更することができる。
２．その結果ネットワークの渋滞を防ぐことができる。
【００９３】
〈具体例５の構成〉
具体例１では、クライアント１[３]（図２）からネットワークプリンタ３[１]（図２）を指定した依頼トークン１１（図２）を受け入れたサーバ２（図２）は、この依頼トークン１１（図２）の受け入れ順に開始トークン１２（図２）を生成した。具体例５では、この依頼トークン１１（図２）に、予め定められている優先順位を加味して開始トークン１２（図２）を生成する。
【００９４】
図１３は、具体例５によるネットワークシステムのブロック図である。
図１３より具体例５によるネットワークプリンタシステムは、クライアント１と、サーバ６０と、ネットワークプリンタ３と、バックボーン４と、ローカルノード５と、ルータ２０とから構成される。
具体例１との差異のみについて説明する。
【００９５】
サーバ６０は、クライアント１の要求に基づいて、ネットワークプリンタ３を制御して印刷業務を実行する部分である。
複数のクライアント１から特定のネットワークプリンタ３を指定して印刷業務が依頼された場合、その実行順番を決定するする部分でもある。
即ち、ネットワークを管理するＮＯＳを実行する部分である。
通常ワークステーションやパーソナルコンピュータ等の小型コンピュータが採用され、トークンキュー９と、プリントサーバマネージャ６１と、クライアント優先順位テーブル６２の機能を備える。これらの機能は、サーバ６０に予め装備されているソフトウェアのプログラムに従って実行される。
【００９６】
トークンキュー９は、クライアント１から依頼トークン１１を受け入れて蓄積する待ち行列である。
プリントサーバマネージャ６１は、上記サーバ６０の機能のうち、後に説明する優先順位テーブル６２を所持し、複数の依頼トークンを受け入れたとき、開始トークン返信の順番を決定する機能を受け持つ部分である。
クライアント優先順位テーブル６２は、複数のクライアントに対する優先順位を定めたテーブルである。この優先順位は、ネットワーク管理者によってコンソールを介して予め入力されている。
【００９７】
〈具体例５の動作〉
図１４は、具体例５によるネットワークシステムの動作説明図である。
具体例１との差異、即ち優先順位決定の動作についてのみ図１４を用いてステップＳ１〜ステップＳ５に従って説明する。
前提条件を以下のように定める。
図１３にはクライアント１は、１個のみ記載されているが、ここでは例えば図２に示すようにクライアント１[１]〜クライアント１[５]まで５個接続されているものとする。
【００９８】
又、優先順位は、クライアント優先順位テーブル６２（図１３）に記載されているようにクライアント１[１]とクライアント１[２]が優先順位１位に、クライアント１[３]とクライアント１[４]が優先順位２位に定められているとする。
更に、トークンキュー９（図１３）には、ネットワークプリンタ３[２]（図１３）を指定してクライアント１[１]とクライアント１[３] とクライアント１[５]からの依頼トークン１１（図１３）が蓄積されているものとする。尚、ネットワークプリンタ３[２]（図１３）は現在他のクライアントからの要求に基づいて稼働中であるものとする。
【００９９】
ステップＳ１
プリントサーバマネージャ６１（図１３）は、ネットワークプリンタ３[２]（図１３）が現在稼働中の印刷を終了して解放されるまで待機し、ネットワークプリンタ３[２]（図１３）が印刷を終了して解放されたときステップＳ２へ進む。
【０１００】
ステップＳ２
プリントサーバマネージャ６１（図１３）は、ネットワークプリンタ３[２]（図１３）への依頼トークン１１を検索する。ここでは前提条件より、クライアント１[１]とクライアント１[３] とクライアント１[５]からの依頼トークン１１を検索してステップＳ３へ進む。
【０１０１】
ステップＳ３
プリントサーバマネージャ６１（図１３）は、クライアント優先順位テーブル６２（図１３）を参照して上記検索した依頼トークン１１から優先順位が最高の依頼トークン１１を選択する。ここでは、前提条件より、クライアント１[１]を選択してステップＳ４へ進む。
【０１０２】
ステップＳ４
プリントサーバマネージャ６１（図１３）は、開始トークン１２を生成してクライアント１[１]へ返信する。この開始トークン１２を受け入れたクライアント１[１]は印刷コマンド列１４を直接ネットワークプリンタ３[２]へ配信する。
【０１０３】
ステップＳ５
プリントサーバマネージャ６１（図１３）は、再度 ネットワークプリンタ３[２]（図１３）への依頼トークン１１を検索する。印刷待ちの依頼トークンを検索できたときはステップＳ１へ戻り、印刷待ち依頼トークンの全てに対して開始トークンを返信した後処理を終了する。ここでは前提条件よりステップＳ１へ戻って優先順位に従って処理しクライアント１[３]、クライアント１[５]、の順に開始トークンを返信した後処理を終了する。
以後の動作及び他の動作は、既に具体例１で説明してあるのでここでは割愛する。
【０１０４】
〈具体例５の効果〉
以上説明した構成を備えることにより、具体例１の効果に加えて以下の効果を得る。
即ち、緊急度の高いクライアントの優先順位を高くして、比較的緊急度の低いクライアントの優先順位を低くすることができるため、重要なデータ等については、渋滞を解消することができる。
【０１０５】
〈具体例６の構成〉
具体例２で、クライアント１（図５）からネットワークプリンタ３[２]を指定した依頼トークン１１（図５）を受け入れたサーバ２（図５）は、ネットワークプリンタ３[２]（図５）が故障中等のときネットワークプリンタ３[２]（図５）に代えて所定のネットワークプリンタ３[１]（図５）を指定して、開始トークンを作成した。この場合、所定のネットワークプリンタ３（図５）の選択に際して印刷に用いられる用紙サイズの大きさに基づいて所定のネットワークプリンタ３（図５）を選択する必要がある。
【０１０６】
又、具体例１で、クライアント１（図５）がネットワークプリンタ３[２]と、印刷用紙サイズをＡ４に指定した依頼トークン１１（図５）を送信したが、指定したネットワークプリンタ３[２]は、現在Ａ３サイズの用紙がセットされている場合がある。かかる場合にサーバ２は、Ａ４サイズの用紙がセットされているネットワークプリンタを探す必要がある。このような場合に対処するため具体例６は、以下の構成を備える。
【０１０７】
図１５は、具体例６によるネットワークシステムのブロック図である。
図１５より具体例６によるネットワークプリンタシステムは、クライアント７０と、サーバ８０と、ネットワークプリンタ３[１]と、ネットワークプリンタ３[２]と、バックボーン４と、ローカルノード５と、ルータ２０とから構成される。
【０１０８】
具体例１との差異のみについて説明する。
クライアント７０は、サーバ８０に印刷業務を依頼する部分である。操作者が所望の印刷データを入力し、依頼トークン７３をサーバ８０へ送信する。このサーバ８０から、開始トークン７４を受け入れたとき、印刷データを所定のネットワークプリンタ３へ配信する部分である。
通常ワークステーションやパーソナルコンピュータ等の小型コンピュータが採用され、アプリケーション６と、プリンタドライバ７と、ネットワークドライバ７１等の機能を備える。これらの機能は、クライアント７０に予め装備されているソフトウェアのプログラムに従って実行される。
【０１０９】
ネットワークドライバ７１は、クライアント７０からサーバ８０へ向けての依頼トークン７３を送信し、印刷コマンド列１４をネットワークプリンタ３へ配信するための制御ソフトである。具体例１と具体例６との差異はこの依頼トークン７３にある。図を用いてこの依頼トークンについて説明する。
【０１１０】
図１６は、具体例６による依頼トークン及び開始トークンの構成図である。
（ａ）は、依頼トークンを示している。（ｂ）は、開始トークンを示している。
図１６（ａ）より依頼トークンは、以下のようにフレーム構成される。
【０１１１】
フレームの先頭に、このトークンが依頼トークンであることを示すコマンドＲＱが書き込まれ、以下、順に依頼元のクライアント名を示すＳＣＲｎａｍｅ、印刷先のネットワークプリンタ名ＤＳＴｎａｍｅ、印刷業務であることを示すｊｏｂ＃、用紙の大きさを示すＰｓｉｚｅ、トークンの終了を示す終了子ＴＭがそれぞれ書き込まれる。具体例２では、この用紙の大きさを示すＰｓｉｚｅのところにデータの大きさを示すＮｂｙｔｅが書き込まれていた。
【０１１２】
同様に開始トークンは図１６（ｂ）は、以下のようにフレーム構成される。
フレームの先頭に、このトークンが開始トークンであることを示すコマンドＳＴが書き込まれ、以下、順に依頼元のクライアント名を示すＳＣＲｎａｍｅ、印刷先のネットワークプリンタ名ＤＳＴｎａｍｅ、印刷業務であることを示すｊｏｂ＃、トークンの終了を示す終了子ＴＭがそれぞれ書き込まれる。
【０１１３】
再度図１５に戻って、具体例６の構成についての説明を続ける。
サーバ８０は、クライアント１の要求に基づいて、ネットワークプリンタ３を制御して印刷業務を実行する部分である。複数のクライアント１から印刷業務が依頼されたとき、その実行順番を決定する。
又、クライアント１によって指定されたネットワークプリンタ３にセットされている用紙のサイズがクライアント１によって指定された用紙サイズと異なる場合に他の所定のネットワークプリンタ３を選択する部分でもある。
【０１１４】
通常ワークステーションやパーソナルコンピュータ等の小型コンピュータが採用され、トークンキュー９と、プリントサーバマネージャ８１と、ネットワークプリンタ用紙サイズテーブル８２の機能を備える。これらの機能は、プリントサーバマネージャ８１に予め装備されているソフトウェアのプログラムに従って実行される。
【０１１５】
プリントサーバマネージャ８１は、依頼トークン７３を受け入れたとき、ネットワークプリンタ用紙サイズテーブル８２を参照して所定のネットワークプリンタ３を選択して開始トークン７４を返信する部分である。
ネットワークプリンタ用紙サイズテーブル８２は、複数のネットワークプリンタの用紙サイズが記載されているテーブルである。この用紙サイズは、ネットワーク管理者によってコンソールを介して予め入力されている。
次に具体例６の動作について説明する。
【０１１６】
〈具体例６の動作〉
図１７は、具体例６によるネットワークシステムの動作説明図である。
前提条件を以下のように定める。
ネットワークプリンタ３[１]（図１５）の用紙サイズをＡ４サイズ、ネットワークプリンタ３[２]（図１５）の用紙サイズをＡ３サイズと定める。
【０１１７】
クライアント７０（図１５）が、ネットワークプリンタ３[２]と、上記用紙の大きさＰｓｉｚｅをＡ４サイズにそれぞれ指定した依頼トークン７３をサーバ８０へ送信したとする。以下この依頼トークン７３の処理について図１７のステップＳ１〜ステップＳ６に従って説明する。
【０１１８】
ステップＳ１
プリントサーバマネージャ８１（図１５）は、トークンキュー９（図１５）から順番に従って上記前提の依頼トークン７３（図１５）を取り出してステップＳ２へ進む。
ステップＳ２
プリントサーバマネージャ８１（図１５）は、ネットワークプリンタ用紙サイズテーブル８２（図１５）から、依頼トークン７３（図１５）が指定しているネットワークプリンタ３[２]にセットされている用紙サイズを検索してステップＳ３へ進む。
【０１１９】
ステップＳ３
プリントサーバマネージャ８１（図１５）は、依頼トークン７３（図１５）から指定用紙サイズを読み取って上記ネットワークプリンタ用紙サイズテーブル８２（図１５）から検索した用紙サイズと比較する。ここで両者の用紙サイズが等しいときはステップＳ４へ進み、両者の用紙サイズが異なるときはステップＳ５へ進む。ここでは前提条件よりステップＳ５へ進む。
【０１２０】
ステップＳ５
プリントサーバマネージャ８１（図１５）は、ネットワークプリンタ用紙サイズテーブル８２（図１５）を検索してＡ４サイズの用紙がセットされているネットワークプリンタ３[１]を検出してステップＳ６へ進む。
【０１２１】
ステップＳ６
プリントサーバマネージャ８１（図１５）は、開始トークン７４のＤＳＴｎａｍｅｒ（指定先）をネットワークプリンタ３[１]に書き換えてステップＳ４へ進む。
ステップＳ４
開始トークン７４を生成してクライアント７０へ返信して動作を終了する。
以後の動作は、具体例２と全く同様なので説明を割愛する。
【０１２２】
〈具体例６の効果〉
以上説明した構成を備えることにより、具体例２の効果に加えて以下の効果を得る。
１．指定されたネットワークプリンタが、クライアントが要求している用紙サイズに一致しないために印刷処理が中断することがなくなる。
２．その結果ネットワークの渋滞を回避することができる。
【図面の簡単な説明】
【図１】具体例１によるネットワークプリンタシステムのブロック図である。
【図２】具体例１によるネットワークシステムの構成図である。
【図３】ネットワークドライバの動作説明図である。
【図４】依頼トークン及び開始トークンの構成図である。
【図５】具体例２によるネットワークシステムのブロック図である。
【図６】具体例２によるネットワークシステムの構成図である。
【図７】具体例２によるネットワークシステムの動作説明図である。
【図８】具体例３によるネットワークシステムのブロック図である。
【図９】具体例３によるネットワークシステムの構成図である。
【図１０】具体例３によるネットワークシステムの動作説明図である。
【図１１】具体例４によるネットワークシステムのブロック図である。
【図１２】具体例４によるネットワークシステムの動作説明図である。
【図１３】具体例５によるネットワークシステムのブロック図である。
【図１４】具体例５によるネットワークシステムの動作説明図である。
【図１５】具体例６によるネットワークシステムのブロック図である。
【図１６】具体例６による依頼トークン及び開始トークンの構成図である。
【図１７】具体例６によるネットワークシステムの動作説明図である。
【符号の説明】
１  クライアント
２  サーバ
３  ネットワークプリンタ
４  バックボーン
５  ローカルノード
６  アプリケーション
７  プリンタドライバ
８  ネットワークドライバ
９  トークンキュー
１０  プリントサーバマネージャ
１１  依頼トークン
１２  開始トークン
１４  印刷コマンド列
２０  ルータ
【図１】
0003740495.tif 000002
【図２】
0003740495.tif 000003
【図３】
0003740495.tif 000004
【図４】
0003740495.tif 000005
【図５】
0003740495.tif 000006
【図６】
0003740495.tif 000007
【図７】
0003740495.tif 000008
【図８】
0003740495.tif 000009
【図９】
0003740495.tif 000010
【図１０】
0003740495.tif 000011
【図１１】
0003740495.tif 000012
【図１２】
0003740495.tif 000013
【図１３】
0003740495.tif 000014
【図１４】
0003740495.tif 000015
【図１５】
0003740495.tif 000016
【図１６】
0003740495.tif 000017
【図１７】
0003740495.tif 000018