(57)【要約】【課題】ログオン処理時に追加された仮想プリンタ（自動作成プリンタ）のうち利用不可能な自動作成プリンタを削除させることができ、リモートクライアント装置の利用者が、利用できない自動作成プリンタに印刷指示を出してしまうことを確実に防止して、サーバ・クライアント間のトラフィックの増大を防止するとともに、不慣れなユーザでも確実に印刷実行可能にすること。【解決手段】サーバ装置１０ｘが、ログオンしているリモートクライアント装置１０ａのセッション情報を取得し、該取得されたセッション情報から特定されるサーバ装置１０ｘに追加登録された自動作成プリンタ３１１ｃ，３１２ｃを検索し、該検索された自動作成プリンタ３１１ｃ，３１２ｃの稼働状況を取得し、該取得された各稼働状況に基づいて前記検索された自動作成プリンタ３１１ｃ，３１２ｃが利用できるか否かを判定し、利用できないと判定された自動作成プリンタを削除処理する構成を特徴とする。【選択図】      図１
2005044002.tif 000002
【特許請求の範囲】
【請求項１】
サーバ・ベースド・コンピューティング環境を提供するサーバ装置であり、このサーバ装置にリモートクライアント装置がログオンする際に該リモートクライアント装置に登録されている第１の仮想プリンタに対応する第２の仮想プリンタをそれぞれこのサーバ装置自身に追加登録するサーバ装置において、
ログオンしているリモートクライアント装置のセッション情報を取得する第１の取得手段と、
前記第１の取得手段により取得されたセッション情報から特定される第２の仮想プリンタを検索する検索手段と、
前記検索手段により検索された第２の仮想プリンタの稼働状況を取得する第２の取得手段と、
前記第２の取得手段により取得された各稼働状況に基づいて前記検索手段により検索された第２の仮想プリンタが利用できるか否かを判定する判定手段と、
前記判定手段により利用できないと判定された第２の仮想プリンタを削除処理する第１の制御手段と、
を有することを特徴とするサーバ装置。
【請求項２】
前記第２の仮想プリンタを設定変更するための設定情報を前記第２の仮想プリンタから特定可能に記憶する第１の記憶手段を有し、
前記第１の制御手段は、前記検索手段により検索された仮想プリンタのうち削除されなかった第２の仮想プリンタから特定される設定情報を前記第１の記憶手段から読み出し、該読み出した設定情報に基づいて前記削除されなかった第２の仮想プリンタの設定を変更処理することを特徴とする請求項１記載のサーバ装置。
【請求項３】
管理者情報を記憶する第２の記憶手段と、
オペレーティングシステムにより前記第１の制御手段による仮想プリンタの設定が制限される場合、前記第２の記憶手段から管理者情報を読み出し、該読み出した管理者情報に基づいて管理者権限を行使して前記第１の制御手段による処理を実行させる第２の制御手段と、
を有することを特徴とする請求項１又は２記載のサーバ装置。
【請求項４】
サーバ・ベースド・コンピューティング環境を提供するサーバ装置であり、このサーバ装置にリモートクライアント装置がログオンする際に該リモートクライアント装置に登録されている第１の仮想プリンタに対応する第２の仮想プリンタをそれぞれこのサーバ装置自身に追加登録するサーバ装置におけるプリンタ削除方法において、
ログオンしているリモートクライアント装置のセッション情報を取得する第１の取得工程と、
該取得されたセッション情報から特定される第２の仮想プリンタを検索する検索工程と、
該検索された第２の仮想プリンタの稼働状況を取得する第２の取得工程と、
該取得された各稼働状況に基づいて前記検索された第２の仮想プリンタが利用できるか否かを判定する判定工程と、
前記判定工程により利用できないと判定された第２の仮想プリンタを削除処理する削除工程と、
を有することを特徴とするプリンタ削除方法。
【請求項５】
請求項４に記載されたプリンタ削除方法を実行するためのプログラム。
【請求項６】
請求項４に記載されたプリンタ削除方法を実行するためのプログラムをコンピュータが読み取り可能に記憶した記録媒体。
【発明の詳細な説明】
【０００１】
本発明は、サーバ・ベースド・コンピューティング環境を提供し、このサーバ・ベースド・コンピューティング環境にリモートクライアント装置がログオンした際に、該リモートクライアント装置に登録されている仮想プリンタに対応する仮想プリンタをそれぞれこのサーバ・ベースド・コンピューティング環境上に追加登録するサーバ装置およびプリンタ削除方法およびプログラムおよび記録媒体に関するものである。
【０００２】
【従来の技術】
従来より、パーソナルコンピュータに導入したクライアントアプリケーションの処理によりサーバに格納されたデータを参照／更新する「クライアント／サーバ（Ｃ／Ｓ）型システム」は、クライアントアプリケーションの配布，バージョンアップ等に多大な管理コストがかかることや、サーバ・クライアント間で多量のデータをやりとりするため低速なＷＡＮ環境でのレスポンス不良等の問題点を抱えていた。
【０００３】
このようなＣ／Ｓ型システムの問題点を解決すべく、各々のパーソナルコンピュータで処理していたクライアントアプリケーションプログラムをサーバで集中処理するサーバ・ベースド・コンピューティング（以下、ＳＢＣとする）という技術が確立されつつある。
【０００４】
その中の１つが、Ｍｉｃｒｏｓｏｆｔ（登録商標）社がサーバ系のＷｉｎｄｏｗｓ（登録商標）オペレーティングシステム（Ｗｉｎｄｏｗｓ（登録商標）ＮＴＳｅｒｖｅｒ／２０００Ｓｅｒｖｅｒ／Ｓｅｒｖｅｒ２００３）で提供するターミナルサービス機能である。
【０００５】
これは、ターミナルサービス機能を提供するサーバに接続（ログオン）するリモートクライアントが送信する全てのキーストローク，マウスクリック等をサーバが受信して処理し、サーバ上で実行しているアプリケーションプログラムの仮想デスクトップを適切なクライアントの画面に表示することで、パーソナルコンピュータ利用者はサーバ上で実行しているアプリケーションをあたかもリモートクライアント上で実行しているアプリケーションプログラムのように操作することが出来るものである。
【０００６】
しかし、リモートクライアント利用者は、利用しているアプリケーションからパーソナルコンピュータに接続されたローカルプリンタによる印刷を行おうとするときには、利用しているアプリケーションがサーバ上で実行されていることを意識しなくてはならない。
【０００７】
なぜなら、Ｗｉｎｄｏｗｓ（登録商標）オペレーティングシステムでは、プリンタデバイスに適切なソフトウェア（プリンタドライバ）のインストールと、プリンタデバイスに印刷ジョブを送信する手段（仮想プリンタ）の登録を行わなければ、アプリケーションからの印刷は行えないからである。
【０００８】
この問題を解決すべく、ターミナルサービス機能は、リモートクライアントがサーバに接続する際に、リモートクライアントに登録された仮想プリンタの情報に基づき、サーバにリモートクライアントの仮想プリンタと同一デバイスモデルのプリンタドライバを使用する仮想プリンタを追加登録し、サーバの仮想プリンタからクライアントの仮想プリンタに印刷ジョブを転送することで、サーバ上で実行しているアプリケーションから透過的にリモートクライアントに接続されたローカルプリンタに印刷する手段を提供している。
【０００９】
しかし、上述したターミナルサーバにリモートクライアントの仮想プリンタと同一デバイスモデルの仮想プリンタを追加する処理は、リモートクライアントに設定された複数の仮想プリンタを無条件に追加するため、利用できないプリンタ（電源が入っていないプリンタ，すぐにリカバリできないようなエラー状態にあるプリンタ，仮想プリンタはリモートクライアントに登録されているが現在接続されていない（存在しない）プリンタ）の仮想プリンタまでも追加されてしまい、このような利用できないプリンタに対して何度もユーザが印刷指示を出してしまい、結局、サーバ・クライアント間のトラフィックを増大させてしまうとともに、不慣れなユーザでは印刷されない理由が直ぐに分らず困惑していまうという問題点があった。
【００１０】
また、特開平１０−１１３９３号公報（特許文献１）では、印刷コマンド発行時に、プリンタの状態を取得し、プリンタがレディ状態の場合には、そのプリンタに対してプリントコマンドを発行し、一方、そのプリンタがレディ状態でない場合には、サーバに対してプリントコマンドを発行し、そのプリンタがレディ状態となるまでキューイングし、ネットワークに接続されたホストとプリンタとの間の応答性を高めるとともに、レディ状態でないプリンタに何度もプリントコマンドが発行されてしまうことに起因するネットワーク上のトラフィックの増大を防止することを実現している。
【００１１】
【特許文献１】
特開平１０−１１３９３号公報
【発明が解決しようとする課題】
しかしながら、特許文献１に記載された従来の技術は、上述したようなＳＢＣ環境を想定したものではなく、ＳＢＣ環境に適用するのは困難である。なぜなら、上述したようにＳＢＣ環境は、データのやり取りを少なくし低速なＷＡＮ環境でのレスポンス不良を解消することを目的として導入されたものであり、特許文献１のように、印刷指示がなされる度に、サーバがプリンタの状態を取得していたのでは、その度にサーバとプリンタとの通信が発生し、ネットワークのトラフィックを増大させてしまい、ＳＢＣ環境の導入目的に相反するものとなってしまうからである。
【００１２】
本発明は、上記の問題点を解決するためになされたもので、本発明の目的は、サーバ・ベースド・コンピューティング（ＳＢＣ）環境を提供するサーバ装置が、ログオンしているリモートクライアント装置のセッション情報を取得し、該取得されたセッション情報から特定されるリモートクライアント装置に登録されている第１の仮想プリンタに対応する第２の仮想プリンタを検索し、該検索された第２の仮想プリンタの稼働状況を取得し、該取得された各稼働状況に基づいて前記検索された第２の仮想プリンタが利用できるか否かを判定し、利用できないと判定された第２の仮想プリンタを削除処理することにより、サーバ装置上で動作するアプリケーションやプリンタドライバやＯＳ等の従来から利用しているソフトウェアを修正することなく、ＳＢＣ環境を提供するサーバに接続するリモートクライアントのセッション情報を利用し、サーバ側のみの処理において、ログオン処理時に追加された仮想プリンタのうち利用不可能な仮想プリンタを削除させることができ、リモートクライアント装置の利用者は、利用できない仮想プリンタに印刷指示を出してしまうことを確実に防止して、サーバ・クライアント間のトラフィックの増大を防止するとともに、不慣れなユーザでも確実に印刷実行可能にしたリモートクライアント装置の利用者に快適なＳＢＣ印刷環境を提供することである。
【００１３】
【課題を解決するための手段】
本発明に係る第１の発明は、サーバ・ベースド・コンピューティング環境を提供するサーバ装置（図１に示すサーバ１０ｘ）であり、このサーバ装置にリモートクライアント装置（図１に示すリモートクライアント１０ａ，１０ｂ）がログオンする際に該リモートクライアント装置に登録されている第１の仮想プリンタ（図１に示すカラープリンタ３１１ａ，モノクロプリンタ３１２ａ，３１１ｂ）に対応する第２の仮想プリンタ（図１に示すＣｌｉａｎｔＡ￥カラープリンタ３１１ｃ，ＣｌｉａｎｔＡ￥モノクロプリンタ３１２ｃ，ＣｌｉａｎｔＢ￥モノクロプリンタ３１３ｃ等の自動作成プリンタ）をそれぞれこのサーバ装置自身に追加登録するサーバ装置（図１に示すサーバ１０ｘ）において、ログオンしているリモートクライアント装置のセッション情報（図７に示すセッション情報）を取得する第１の取得手段（図１に示すサーバ１０ｘのＣＰＵ，図１２，図１４のステップＳ１０１）と、前記取得手段により取得されたセッション情報から特定される第２の仮想プリンタを検索する検索手段（図１に示すサーバ１０ｘのＣＰＵ，図１２，図１４のステップＳ１０２）と、前記検索手段により検索された第２の仮想プリンタの稼働状況を取得する第２の取得手段（図１に示すサーバ１０ｘのＣＰＵ，図１２，図１４のステップＳ３０２）と、前記第２の取得手段により取得された各稼働状況に基づいて前記検索手段により検索された第２の仮想プリンタが利用できるか否かを判定する判定手段（図１に示すサーバ１０ｘのＣＰＵ，図１２，図１４のステップＳ３０３）と、前記判定手段により利用できないと判定された第２の仮想プリンタを削除処理する第１の制御手段（図１に示すサーバ１０ｘのＣＰＵ，図１２，図１４のステップＳ３０３）とを有することを特徴とする。
【００１４】
本発明に係る第２の発明は、前記第２の仮想プリンタを設定変更するための設定情報を前記第２の仮想プリンタから特定可能に記憶する第１の記憶手段（図１に示すサーバ１０ｘのＨＤＤ又はその他の記憶媒体に記憶される図６に示す設定情報ファイル３００）を有し、前記第１の制御手段（図１に示すサーバ１０ｘのＣＰＵ）は、前記検索手段により検索された仮想プリンタのうち削除されなかった第２の仮想プリンタから特定される設定情報を前記第１の記憶手段から読み出し、該読み出した設定情報に基づいて前記削除されなかった第２の仮想プリンタの設定を変更処理する（図１４のステップＳ４０２，Ｓ１０４，Ｓ１０５）ことを特徴とする。
【００１５】
本発明に係る第３の発明は、管理者情報を記憶する第２の記憶手段（図１に示すサーバ１０ｘのＨＤＤ又はその他の記憶媒体に記憶される不図示のパスワードファイル）と、オペレーティングシステムにより前記第１の制御手段による仮想プリンタの設定が制限される場合、前記第２の記憶手段から管理者情報を読み出し、該読み出した管理情報に基づいて管理者権限を行使して前記第１の制御手段による処理を実行させる第２の制御手段（図１に示すサーバ１０ｘのＣＰＵ，図１８のステップＳ６０１〜Ｓ６０５）とを有することを特徴とする。
【００１６】
本発明に係る第４の発明は、サーバ・ベースド・コンピューティング環境を提供するサーバ装置であり、このサーバ装置にリモートクライアント装置がログオンする際に該リモートクライアント装置に登録されている第１の仮想プリンタに対応する第２の仮想プリンタをそれぞれこのサーバ装置自身に追加登録するサーバ装置におけるプリンタ削除方法において、ログオンしているリモートクライアント装置のセッション情報を取得する第１の取得工程（図１２，図１４のステップＳ１０１）と、該取得されたセッション情報から特定される第２の仮想プリンタを検索する検索工程（図１２，図１４のステップＳ１０２）と、該検索された第２の仮想プリンタの稼働状況を取得する第２の取得工程（図１２，図１４のステップＳ３０２）と、該取得された各稼働状況に基づいて前記検索された第２の仮想プリンタが利用できるか否かを判定する判定工程（図１２，図１４のステップＳ３０３）と、前記判定工程により利用できないと判定された第２の仮想プリンタを削除処理する削除工程（図１２，図１４のステップＳ３０３）とを有することを特徴とする。
【００１７】
本発明に係る第５の発明は、第４の発明に記載されたプリンタ削除方法を実行するためのプログラムであることを特徴とする。
【００１８】
本発明に係る第６の発明は、第４の発明に記載されたプリンタ削除方法を実行するためのプログラムを記録媒体にコンピュータが読み取り可能に記憶させたことを特徴とする。
【００１９】
【発明の実施の形態】
〔第１実施形態〕
まず、図１，図２を参照して、本発明のサーバ装置を適用可能なＳＢＣ環境を提供するサーバのターミナルサービス機能によるプリンタドライバ登録処理について説明する。
【００２０】
図１は、本発明のサーバ装置を適用可能なＳＢＣ環境を提供するサーバのターミナルサービス機能によるプリンタドライバ登録処理について説明する模式図である。
【００２１】
図において、１０ｘはサーバで、ネットワーク５０を介して複数のリモートクライアント１０ａ，１０ｂと接続されている。また、複数のリモートクライアント１０ａ，１０ｂは、ネットワーク５０を介してサーバ１０ｘ及びデバイス機器（プリンタ）３０ａ，３０ｂ，３０ｃと接続されている。なお、リモートクライアント１０ａ，１０ｂとプリンタ３０ａ，３０ｂ，３０ｃとがＵＳＢＩ／Ｆ，パラレルＩ／Ｆ等を介して直接接続されるように構成してもよい。また、プリンタは幾つ接続されていてもよい。
【００２２】
リモートクライアント１０ａ，１０ｂは、ネットワーク５０を介し、所定のデバイスドライバを使用することでこれらのデバイス機器３０ａ，３０ｂ，３０ｃを利用することができる。リモートクライアント１０ａ，１０ｂのハードディスク（後述する図３に示すＨＤＤ４０）内にはデバイスドライバ３１ａがインストールされ、それぞれデバイス３０ａ，３０ｂに対応する仮想プリンタ３１１ａ，３１２ａが登録されている。
【００２３】
また、サーバ１０ｘは、アプリケーションプログラム（以下、ＡＰとする）をサーバ１０ｘ側のみにて実行させ、リモートクライアント１０ａ，１０ｂ側は該ＡＰの実行に関するマウスクリック，キーボードストローク等（以下、操作入力情報とする）及び画面遷移情報のみを実行させるような実行環境を提供するサーバ・ベースド・コンピューティング（ＳＢＣ）環境を備えている。
【００２４】
このＳＢＣ環境を提供するサーバ１０ｘは、リモートクライアント１０ａ，１０ｂから、ネットワーク５０を介して操作入力情報を受信すると、サーバ１０ｘにおいて、要求されたＡＰを起動させるとともに、リモートクライアントの要求に応じた処理を行い、該処理経過に応じて、適当な画面遷移情報を、ネットワーク５０を介して起動要求してきたリモートクライアントに対して返送し、リモートクライアントのディスプレイ装置に画面表示させるとともに、必要に応じて、リモートクライアントのマウスクリック又はキーストローク入力を要求する。そして、この要求に応じて、リモートクライアントにおいて入力された操作入力情報が、ネットワーク５０を介して、サーバ１０ｘに返送されることにより、サーバ１０ｘ側のみにて所望されたＡＰの実行がなされる。
【００２５】
さらに、ＳＢＣ環境を提供するサーバ１０ｘは、リモートクライアント１０ａがサーバ１０ｘに接続（ログオン）した場合、リモートクライアント１０ａに登録されている仮想プリンタ３１１ａ，３１２ａに対応する仮想プリンタを、サーバ１０ｘの仮想プリンタ３１１ｃ，３１２ｃとして自動的に登録する。以下、このように、サーバ１０ｘにリモートクライアント接続時に自動的に登録される仮想プリンタを、自動作成プリンタと称する。
【００２６】
例えば、リモートクライアント１０ａの要求において、サーバ１０ｘのＡＰが自動作成プリンタ３１１ｃにて印刷処理を行うと、サーバ１０ｘで処理された印刷データが、ネットワーク５０を介して、リモートクライアント１０ａに登録されている仮想プリンタ３１１ａに送られ、該印刷データがプリンタ３０ａで処理され印刷される。
【００２７】
なお、サーバ１０ｘにリモートクライアント１０ａが接続した場合に、登録される仮想プリンタである自動作成プリンタ３１１ｃの名称は、リモートクライアント１０ａのコンピュータ名「ＣｌｉｅｎｔＡ」と登録されている自動作成プリンタ３１１ａの名称「カラープリンタ」と結合され使用される。即ち、自動作成プリンタ３１１ｃの名称は、「ＣｌｉｅｎｔＡ￥カラープリンタ」となる。
【００２８】
図２は、本発明のサーバ装置を適用可能なＳＢＣ環境を提供するサーバのターミナルサービス機能によるプリンタドライバ登録処理を説明するフローチャートであり、サーバがリモートクライアントの接続（ログオン）を許可した際に当該サーバにより実行される。なお、Ｓ９０１〜Ｓ９０６は各ステップを示す。
【００２９】
まず、ステップＳ９０１において、サーバ１０ｘは、接続したリモートクライアントの全ての仮想プリンタ情報を取得する。
【００３０】
そして、ステップＳ９０２〜Ｓ９０６において、ステップＳ９０１で取得した全ての仮想プリンタ情報に対して、順次、自動作成プリンタの追加処理を行う。
【００３１】
詳細には、まず、ステップＳ９０２において、ステップＳ９０１で取得した全ての仮想プリンタ情報に対する自動作成プリンタの追加処理が終了したか否かを判定し、まだ全ての仮想プリンタ情報に対する自動作成プリンタの追加処理が終了していないと判定した場合には、ステップＳ９０３において、ステップＳ９０１で取得した仮想プリンタ情報から１つ仮想プリンタ情報を読み出し、該カレントの仮想プリンタ情報に対応するプリンタドライバがサーバ１０ｘにインストールされているか否かをチェックし、インストールされている場合には、そのままステップＳ９０６に進む。
【００３２】
一方、ステップＳ９０３で、カレントの仮想プリンタ情報に対応するプリンタドライバが未だサーバ１０ｘにインストールされていないと判定した場合には、ステップＳ９０４で、仮想プリンタ情報に対応するプリンタドライバ名がサーバ１０ｘのハードディスク内に保持する「ＮＴＰＲＩＮＴ．ｉｎｆ」ファイルに含まれているか否かを判定し、含まれていない場合には、ステップＳ９０２に戻り、次の仮想プリンタ情報に対する処理に移行する。なお、ここで使用する「ＮＴＰＲＩＮＴ．ｉｎｆ」は、プリンタドライバのインストール情報を保持したファイルである。
【００３３】
一方、ステップＳ９０４で、カレントの仮想プリンタ情報に対応するプリンタドライバ名が「ＮＴＰＲＩＮＴ．ｉｎｆ」に含まれていると判定した場合には、「ＮＴＰＲＩＮＴ．ｉｎｆ」内に記載された情報に基づいてカレントの仮想プリンタ情報に対応するプリンタドライバをサーバ１０ｘにインストールし（Ｓ９０５）、ステップＳ９０６に進む。
【００３４】
次に、ステップＳ９０６において、カレントの仮想プリンタ情報に対応する仮想プリンタ（自動作成プリンタ）をサーバ１０ｘに追加し、ステップＳ９０２の処理に戻る。
【００３５】
そして、ステップＳ９０２において、ステップＳ９０１で取得した全ての仮想プリンタ情報に対して、自動作成プリンタの追加処理が終了したと判定した場合には、そのまま処理を終了する。
【００３６】
以上のような、サーバ１０ｘのターミナルサービス機能により、サーバ１０ｘに接続したリモートクライアントに登録された仮想プリンタと同一デバイスモデルの自動作成プリンタがサーバ１０ｘに追加登録される。なお、サーバ１０ｘに接続したリモートクライアントがサーバ１０ｘからログオフした場合には、当該登録されたサーバ１０ｘの自動作成プリンタは削除される。
【００３７】
図３は、図１に示したサーバ１０ｘ，リモートクライアント１０ａ，１０ｂを適用可能な情報処理装置の構成の一例を示すブロック図であり、図１と同一のものには同一の符号を付してある。
【００３８】
図において、１０はコンピュータで、ＣＰＵ２１とその周辺機器とからなるコンピュータ本体１１、ディスプレイ１２、及びキーボード，ポインティングデバイス（ＰＤ）等の入力装置１３等から構成され、イーサネット（登録商標）等のネットワーク５０を介してプリンタ３０ａ，・・・，プリンタ３０ｂ（以下、プリンタ３０）と接続されている。
【００３９】
なお、ここでは、コンピュータ１０とプリンタ３０とがネットワーク５０を介して接続される場合について説明したが、コンピュータ１０とプリンタ３０とがＵＳＢＩ／Ｆ，パラレルＩ／Ｆ等を介してコンピュータ１０と直接接続されるように構成してもよい。また、プリンタは幾つ接続されていてもよい。
【００４０】
コンピュータ本体１１において、ＣＰＵ２１は、ＲＯＭ２２，ハードディスクドライブ（ＨＤＤ）２６，記録媒体（記憶媒体）３２に格納されたプログラムを実行する。２３はＲＡＭで、ＣＰＵ２１の作業領域として使用される。
【００４１】
２４はネットワークインタフェース（ＮＷＩ／Ｆ）で、ネットワーク５０との通信を制御する。
【００４２】
４０はオペレーションシステム（ＯＳ）であり、コンピュータ１０全体を統括制御するためのソフトウェアである。なお、このＯＳ４０は、プリンタデバイスに適切なソフトウェア（プリンタドライバ）のインストールと、プリンタデバイスに印刷ジョブを送信する手段（仮想プリンタ）の登録を行った後、アプリケーションからの印刷を可能とするＯＳであり、リモートクライアント１０ａ，１０ｂの場合には、例えばＷｉｎｄｏｗｓ（登録商標）９５／９８／ＮＴ／２０００／ＸＰ（米国Ｍｉｃｒｏｓｏｆｔ  Ｃｏｒｐｏｒａｔｉｏｎの米国及びその他の国における登録商標）等であり、サーバ１０ｘの場合には、例えばＷｉｎｄｏｗｓ（登録商標）ＮＴＳｅｒｖｅｒ／２０００Ｓｅｒｖｅｒ／Ｓｅｒｖｅｒ２００３（米国Ｍｉｃｒｏｓｏｆｔ  Ｃｏｒｐｏｒａｔｉｏｎの米国及びその他の国における登録商標）等である。
【００４３】
記録媒体３２は、プリンタ３０をコンピュータ１０によって使用できるようにするためのプリンタドライバ３１、セットアッププログラム、ＩＮＦファイル等を保持したＣＤ−ＲＯＭであり、ＣＤ−ＲＯＭドライブ２７により読み取り可能である。なお、記録媒体３２に記録されたプリンタドライバ３１等は、ＯＳ４０上で動作するものとして作成されている。なお、ここでは記録媒体３２をＣＤ−ＲＯＭとする場合について説明したが、ＨＤＤ２６に記憶されていてもよく、フレキシブルディスク，光磁気ディスク，ＤＶＤ等のその他の記録媒体であってもよい。
【００４４】
記録媒体３２内のプリンタドライバ３１をコンピュータ１０にインストールする際、ユーザは、記録媒体３２内の図示しないセットアッププログラム（プリンタメーカ等により供給される）、或いは、ＯＳ４０の提供するプリンタ追加ウィザード等を実行させる。詳細な説明は省略するが、セットアッププログラム或いはプリンタ追加ウィザード等によるプリンタドライバのインストールにより、プリンタドライバ３１がＨＤＤ２６内にコピーされ、ＯＳ４０のシステム情報（レジストリ等）に各種の情報が追加される。
【００４５】
そして、その結果として、プリンタ３０が、特定のプリンタ名（ユーザが付けたプリンタ名或いはプリンタ３０のデフォルトのプリンタ名）で識別されるプリンタとして使用することができる状態が形成される。以下、コンピュータ１０にプリンタドライバ３１がインストールされたものとする。
【００４６】
図４は、図３に示したプリンタドライバ３１とＯＳ４０及びアプリケーションプログラム間でやり取りされる仮想プリンタの印刷に関わる設定の構成を示す模式図である。
【００４７】
図４において、１２００は、図３に示したプリンタドライバ３１とＯＳ４０及びアプリケーションプログラム間でやり取りされる仮想プリンタの印刷に関わる設定（用紙サイズや用紙の向き等のアプリケーションプログラムの印刷に関与する設定（以下、デフォルト動作情報））を保持するメモリブロック（以下、ＤｅｖＭｏｄｅとする）であり、標準領域１２０１と拡張領域１２０２とで構成されており、ＯＳ４０のシステム情報（レジストリ等と称される）内に仮想プリンタ毎に保持されている。
【００４８】
標準領域１２０１は、ＯＳが定義したメモリブロックであり、用紙サイズ（ｄｍＰａｐｅｒＳｉｚｅ）や用紙の向き（ｄｍＯｒｉｅｎｔａｔｉｏｎ）等が記憶される。また、拡張領域１２０２は、各プリンタドライバ３１が固有に定義を行っているメモリブロックであり、２ｉｎ１等のページレイアウト設定，節約モード設定，両面印刷設定等が記憶される。
【００４９】
図５は、仮想プリンタのオプション構成情報を保持するメモリブロックの構成を示す模式図である。
【００５０】
図において、１３００は仮想プリンタに設定されているオプション構成情報、例えば両面印刷オプション，給紙カセット，搭載メモリ，排紙処理装置の構成情報等を保持するメモリブロック（以下、ＤｅｖｉｃｅＯｐｔｉｏｎとする）であり、各プリンタドライバが固有に定義を行っている。このＤｅｖｉｃｅＯｐｔｉｏｎ１３００は、ＯＳのシステム情報（レジストリ）内に仮想プリンタ毎に保持されている。
【００５１】
以下、図６〜図８を参照して、本発明のサーバ装置におけるＳＢＣ環境でのデバイスドライバ設定変更処理について説明する。
【００５２】
まず、本実施形態では、サーバ１０ｘの管理者等は、サーバ１０ｘによりログオン時に追加生成される自動作成プリンタ３１１ｃ，３１２ｃ，３１３ｃ等に対して設定したい設定情報（デフォルト設定情報，オプション構成情報）を含む設定情報ファイル（図６に示す）を予め作成しておく。そして、この設定情報ファイルに基づいて、サーバ１０ｘにログオン時に追加された自動作成プリンタ３１１ｃ，３１２ｃ，３１３ｃ等に対して設定変更を行うことにより、ログオン時に追加された自動作成プリンタに対してオプション構成情報を自動変更設定することができるとともに、リモートクライアントの仮想プリンタのデフォルト動作情報に特殊な設定が成されていた場合でも、サーバの自動作成プリンタを予め指定しておいた設定（サーバ上で利用するアプリケーションに即した設定）に変更することができる。
【００５３】
図６は、図１に示したサーバ１０ｘに生成される自動作成プリンタに対する設定情報（自動作成プリンタを設定変更するための設定情報）を格納する設定情報ファイルの構成の一例を示す模式図である。
【００５４】
図６において、３００は設定情報ファイルで、リモートクライアント１０ａ，１０ｂ等がサーバ１０ｘに接続（ログイン）した際に、サーバ１０ｘにより生成された自動作成プリンタに対して設定したい設定情報であり、予め生成されて図１に示したサーバ１０ｘのＨＤＤ２６又はその他の記録媒体に格納しておくものとする。
【００５５】
設定情報ファイル３００は、［ＤｅｖｉｃｅＩｎｆｏ］セクション３０１，［ＤｅｖｉｃｅＯｐｔｉｏｎ］セクション３０２，［ＤｏｃｕｍｅｎｔＳｅｔｔｉｎｇ］セクション３０３を含む。
【００５６】
［ＤｅｖｉｃｅＩｎｆｏ］セクション３０１には、本設定情報ファイルに対応するデバイス（プリンタ）を特定するための情報、例えばプリンタドライバ名やプリンタの接続先の情報を記載する。
【００５７】
プリンタドライバ名を記載する場合には、例えば３０１ａに示すように「ＤｒｉｖｅｒＮａｍｅ＝ＰｒｉｎｔｅｒＡ  Ｄｒｉｖｅｒ」と記載した場合、この設定情報ファイルが「ＰｒｉｎｔｅｒＡ  Ｄｒｉｖｅｒ」というプリンタドライバに対応することを示す。また、接続先を記載する場合には、例えば「Ｐｏｒｔ＝１９２．１６８．０．５」や「Ｐｏｒｔ＝￥￥ＣｌｉｅｎｔＡ￥カラープリンタ」等と記載する。このような［ＤｅｖｉｃｅＩｎｆｏ］セクション３０１内の情報により、設定情報ファイルと自動作成プリンタとが対応付けられる。
【００５８】
なお、同一のデバイスモデルのプリンタが複数存在し、それぞれに異なる設定を行いたい場合には、接続先でプリンタを特定するようにする。
【００５９】
また、［ＤｅｖｉｃｅＩｎｆｏ］セクション３０１に、複数のデバイス情報を記載し、１つの設定情報ファイルを複数のプリンタに対応させることも可能である。
【００６０】
次に、［ＤｅｖｉｃｅＯｐｔｉｏｎ］セクション３０２には、［ＤｅｖｉｃｅＩｎｆｏ］セクション３０１で特定した自動作成プリンタに対応するデバイスが備えるオプション構成（両面印刷オプション／給紙カセット／搭載メモリ／排紙処理装置等）の情報を記載する。例えば３０２ａに示すように「ＤｕｐｌｅｘＵｎｉｔ」と記載した場合、対応するプリンタが両面印刷オプションを備えていることを示し、３０２ｂに示すように「ＯｐｔｉｏｎＰａｐｅｒＦｅｅｄｅｒ」と記載した場合、対応するプリンタが増設給紙カセットを備えていることを示し、３０２ｃに示すように「ＳｔａｐｌｅＵｎｉｔ」と記載した場合、対応するプリンタがステイプルユニットを備えていることを示す。このような［ＤｅｖｉｃｅＯｐｔｉｏｎ］セクション３０２内の情報により、サーバに追加された自動作成プリンタにオプション構成が設定される。
【００６１】
さらに、［ＤｏｃｕｍｅｎｔＳｅｔｔｉｎｇ］セクション３０３には、［ＤｅｖｉｃｅＩｎｆｏ］セクション３０１で特定したプリンタに設定するデフォルト動作情報、例えば、用紙サイズや用紙の向き等の情報が記載される。例えば３０３ａに示すように「Ｌａｙｏｕｔ＝Ｌａｎｄｓｃａｐｅ」と記載した場合、対応する自動作成プリンタの用紙の向きの設定を「横」に変更することを示し、３０３ｂに示すように「ＰａｐｅｒＳｉｚｅ＝Ａ３」と記載した場合、対応する自動作成プリンタの用紙サイズを「Ａ３」に変更することを示し、３０３ｃに示すように「ＣｏｌｏｒＭｏｄｅ＝Ｍｏｎｏｃｌｏｍｅ」と記載した場合、対応する自動作成プリンタのカラー設定を「モノクロ」に変更することを示し、３０３ｄに示すように「ＰａｇｅＬａｙｏｕｔ＝２」と記載した場合、対応する自動作成プリンタのページレイアウト設定を「２」即ち「２ｉｎ１に」変更することを示す。このような［ＤｏｃｕｍｅｎｔＳｅｔｔｉｎｇ］セクション３０３内の情報により、サーバに追加された自動作成プリンタにデフォルト動作情報が設定される。
【００６２】
図７は、図１に示したサーバ１０ｘへの接続（ログイン）時にサーバ１０ｘのＯＳ４０により生成されるセッション情報の構成の一例を示す模式図である。
【００６３】
図７において、４００はセッション情報で、リモートクライアント１０ａ，１０ｂ等がサーバ１０ｘに接続（ログオン）した際に、サーバ１０ｘのＯＳは、ログインしたリモートクライアントのセッション情報を生成しＲＡＭ等のワーク領域に格納する。
【００６４】
セッション情報４００は、ユーザ名４０１，ドメイン名４０２，リモートクライアントのコンピュータ名４０３，リモートクライアントのＩＰアドレス４０４，リモートクライアントが使用しているアプリケーション名４０５（アプリケーションが起動されている場合のみ），・・・等の情報を含む。
【００６５】
図８は、本発明のサーバ装置における第１の制御処理手順の一例を示すフローチャートであり、本発明の第１実施形態における自動作成プリンタ設定変更方法に対応する。なお、このフローチャートの処理は、図２に示したサーバ１０ｘ内のＣＰＵ２１によりＨＤＤ２６、記録媒体３２、又はその他の記録媒体に格納されたプログラムに基づいて実行される。また、Ｓ１０１〜１０５は各ステップを示す。また、ここでは、リモートクライアント１０ａがサーバ１０ｘにログオンしている場合の処理について示す。
【００６６】
まず、ステップＳ１０１では、サーバ１０ｘにログオンしているリモートクライアント１０ａのセッション情報（図７）からリモートクライアントのコンピュータ名４０３を取得する。
【００６７】
次に、ステップＳ１０２において、サーバ１０ｘにリモートクライアント１０ａが接続した際に作成される自動作成プリンタが、サーバ１０ｘにインストールされているか確認する処理を行う。
【００６８】
具体的には、サーバ１０ｘに登録されている仮想プリンタ３１ｃを列挙し、該列挙された仮想プリンタの名称の一部に、ステップＳ１０１で取得したセッション情報のリモートクライアントのコンピュータ名が含まれているか否かを判断し、含まれている場合には該仮想プリンタをセッションに対応する自動作成プリンタとし、該自動作成プリンタの情報をセッション対応プリンタリスト５００（図９）としてＲＡＭ２３内のワークエリア（もしくは記録媒体２６内のワークファイル）に記憶する。
【００６９】
セッション対応プリンタリスト５００の具体的な例を図９に示す。図９では、自動作成プリンタ名称５０１、プリンタドライバ名称５０２、デバイスのＩＰアドレス等の接続先５０３、カラーサポート５０４、最大用紙サイズ５０５、給紙カセット数５０６等をセッション対応プリンタリスト５００として記憶する例を示しているがこれに限られるものではない。
【００７０】
そして、ステップＳ１０３〜Ｓ１０５において、ステップＳ１０２で検索したセッション対応プリンタリスト内の全ての自動作成プリンタに対して設定変更処理を行い、処理を終了する。
【００７１】
詳細には、まずステップＳ１０３において、ステップＳ１０２で記憶したセッション対応プリンタリスト５００内の全ての自動作成プリンタについて設定変更処理を行ったか否かを判断し、全ての自動作成プリンタについてまだ設定変更処理を終了していないと判定した場合には、ステップＳ１０４に進み、ステップＳ１０２で記憶したセッション対応プリンタリスト５００から１つの自動作成プリンタを選択し、該カレントの自動作成プリンタのプリンタドライバ名称５０２（又はＩＰアドレス等の接続先）を取得し、複数の設定情報ファイル３００（図６）が保存されている所定の場所（予めＨＤＤ２６内の所定のフォルダや記録媒体３２内等に保存さている）からプリンタドライバ名称（又はＩＰアドレス等の接続先）に対応する設定情報ファイル３００を検索し、該当する設定情報ファイル３００から設定情報を読み出す。
【００７２】
具体的には自動作成プリンタのプリンタドライバ名称と、図６に示した設定情報ファイル３００の「ＤｅｖｉｃｅＩｎｆｏ」セクション３０１のプリンタドライバ名称３０１ａ（又はＩＰアドレス等の接続先）が同じであるか判定し、同じであると判定された設定情報ファイルの「ＤｅｖｉｃｅＯｐｔｉｏｎ」セクション３０２からオプション構成情報３０２ａ，３０２ｂ，３０２ｃを、「ＤｏｃｕｍｅｎｔＳｅｔｔｉｎｇ」セクション３０３からデフォルト動作情報３０３ａ，３０３ｂ，３０３ｃを読み出す。
【００７３】
次に、ステップＳ１０５では、ステップＳ１０４で読み出されたオプション構成情報，デフォルト動作情報に基づいて、自動作成プリンタのデフォルト動作情報（図４に示したＤｅｖＭｏｄｅ１２００），オプション構成情報（図５に示したＤｅｖｉｃｅＯｐｔｉｏｎ１３００）を変更し、ステップＳ１０３の処理に戻る。
【００７４】
図６に示した設定情報ファイル３００の例では、「ＤｏｃｕｍｅｎｔＳｅｔｔｉｎｇ」３０３の「Ｌａｙｏｕｔ」３０３ａ（用紙の向きを示す）、「ＰａｐｅｒＳｉｚｅ」３０３ｂ（用紙サイズを示す）、「ＣｏｌｏｒＭｏｄｅ」３０３ｃ（カラー／モノクロ切り替えを示す）、「ＰａｇｅＬａｙｏｕｔ」のそれぞれの値に従い「Ｌａｎｄｓｃａｐｅ」（用紙の向き：横向き）、「Ａ３」（用紙サイズ：Ａ３）、「Ｍｏｎｏｃｌｏｍｅ」（モノクロ印刷）をデフォルト動作情報として図４に示したＤｅｖＭｏｄｅ１２００に設定する。
【００７５】
このデフォルト動作情報の設定変更処理により、リモートクライアントの自動作成プリンタにおけるデフォルト動作情報が、サーバのアプリケーションプログラムが動作する上で障害となる設定（特殊な設定）がなされていた場合に、当該リモートクライアントの仮想プリンタの設定がサーバの自動作成プリンタのデフォルト動作情報に設定されてしまうことにより、サーバのアプリケーションプログラムから所望の印刷結果を得ることができなくなる、という問題を解決することができる。
【００７６】
また、「ＤｅｖｉｃｅＯｐｔｉｏｎ」３０２の「ＤｕｐｌｅｘＵｎｉｔ」３０２ａ（両面印刷オプション）、「ＯｐｔｉｏｎＰａｐｅｒＦｅｅｄｅｒ」３０２ｂ（増設給紙カセット）、「ＳｔａｐｌｅＵｎｉｔ」３０３ｃ（ステイプルユニット）が装着されていることを示す情報に基づいて、それぞれのオプションをオプション構成情報として図５に示したＤｅｖｉｃｅＯｐｔｉｏｎ１３００に設定する。
【００７７】
このオプション構成情報の設定変更処理により、プリンタのオプション構成情報がサーバの自動作成プリンタのデフォルト動作情報に設定され、ＳＢＣ環境において、サーバのアプリケーションプログラムからオプション構成を用いた印刷を行うことができる。
【００７８】
なお、ステップＳ１０４において処理すべき自動作成プリンタに該当する設定情報ファイル３００が存在しないときには、ステップＳ１０５の処理は行わず、そのままステップＳ１０３の処理に戻る。
【００７９】
そして、ステップＳ１０３で、ステップＳ１０２で記憶したセッション対応プリンタリスト５００内の全てについて設定変更処理が終わったと判断した場合には、処理を終了する。なお、ステップＳ１０２において、記憶したセッション対応プリンタリスト５００に自動作成プリンタが１台も存在しなかった場合は、何も処理をせずに終了する。
【００８０】
以上説明したように、本実施形態によれば、サーバ上で動作するアプリケーションやプリンタドライバやＯＳ等の従来から利用しているソフトウェアを修正することなく、ＳＢＣ環境を提供するサーバに接続するリモートクライアントのセッション情報を利用し、サーバ側のみの処理において、事前に保持しておいた設定情報に従い、ログオン処理時に追加された自動作成プリンタの設定変更を行うので、リモートクライアント利用者はサーバにおけるアプリケーションプログラムの実行結果である印刷物において、デバイス特有のオプション構成情報を意識することなく、オプションを利用した所望の印刷結果を容易に得ることができる。
【００８１】
さらに、予め作成しておいた設定情報に基づいて、サーバの自動作成プリンタのデフォルト動作情報を設定することにより、仮にリモートクライアントの仮想プリンタにサーバのアプリケーションプログラム（ＡＰ）にとって適切でない設定が成されている場合（例えば、ＡＰ側の原稿サイズが「Ａ４」であるのに、リモートクライアントの仮想プリンタの用紙サイズが「封筒」に設定されている場合）であっても、用紙サイズ「Ａ４」とした設定情報を予め作成してサーバ上の所定の場所に配置しておくだけで、サーバのアプリケーションプログラムによる印刷の障害とならず、所望の印刷結果を容易に得ることができる。
【００８２】
従って、ＳＢＣ環境を提供するサーバにおいて、サーバ側の処理のみで、リモートクライアント利用者に快適な印刷環境を提供することができる。
【００８３】
なお、図８に示したフローチャートの処理は、サーバ１０ｘにリモートコンピュータがログオンし自動作成プリンタが作成される毎に実行されるものとしてもよいし、サーバ１０ｘのアプリケーションが起動される毎に実行されるものとしてもよい。さらに、ユーザによるリモートクライアントからの指示により、任意のタイミングでも実行可能に構成してもよい。
【００８４】
〔第２実施形態〕
上記第１実施形態では、接続しているリモートコンピュータのセッションに対応するサーバ１０ｘの自動作成プリンタの全てを設定変更対象として、仮想プリンタを設定変更する方法について説明したが、本実施形態では、設定する自動作成プリンタを絞り込む条件をフィルタファイルとして予め用意しておき、条件に合致する自動作成プリンタのみを設定変更の対象とするように構成した。以下、その実施形態について、図１０，図１１を用いて説明する。なお、上述した第１実施形態と同一の構成部分の説明は省略して異なる構成部分を中心に説明する。
【００８５】
図１０は、図１に示したサーバ１０ｘに生成される自動作成プリンタを絞り込むためのフィルタ情報（絞り込み条件）を格納するフィルタファイルの構成の一例を示す模式図である。
【００８６】
図１０において、６００はフィルタファイルで、自動作成プリンタを絞り込むための絞り込み条件を格納する。
【００８７】
図１０に示した例では、絞り込み条件として、「ＣｏｌｏｒＳｕｐｐｏｒｔ＝Ｙｅｓ」６０１（カラー印刷サポート：「有」），「ＰａｐｅｒＳｉｚｅ＞Ａ４」６０２（最大用紙サイズが「Ａ４」より大），「ＰａｐｅｒＦｅｅｄｅｒ＝＞３」６０３（給紙カセット数が「３」以上）が記載されている。
【００８８】
図１１は、本発明のサーバ装置における第２の制御処理手順の一例を示すフローチャートであり、本発明の第２実施形態における自動作成プリンタ設定変更方法に対応する。なお、このフローチャートの処理は、サーバ１０ｘ内のＣＰＵ２１によりＨＤＤ２６、記録媒体３２又はその他の記録媒体に格納されたプログラムに基づいて実行される。また、Ｓ１０１〜Ｓ１０２，Ｓ２０１〜Ｓ２０４，Ｓ１０４〜Ｓ１０５は各ステップを示し、図８と同一のステップには同一のステップ番号を付してある。なお、図８と同一のステップの説明は省略して、異なるステップを中心に説明する。
【００８９】
ステップＳ２０１〜Ｓ２０３において、ステップＳ１０２で検索したセッション対応プリンタリスト内の全ての自動作成プリンタに対して絞り込み処理を行う。
【００９０】
詳細には、まずステップＳ２０１において、ステップＳ１０２で記憶したセッション対応プリンタリスト５００の全ての自動作成プリンタについて絞り込み処理を行ったか判断し、まだ全ての自動作成プリンタについて絞り込み処理を終了していないと判定した場合には、ステップＳ２０２に進み、フィルタファイル６００（図１０）が保存されている所定の場所（予めＨＤＤ２６内の所定のフォルダや記録媒体３２内等に保存さている）から自動作成プリンタの絞り込み条件を読み出す。
【００９１】
図１０に示した例では、フィルタファイル６００の各絞り込み条件、「ＣｏｌｏｒＳｕｐｐｏｒｔ＝Ｙｅｓ」６０１、「ＰａｐｅｒＳｉｚｅ＞Ａ４」６０２、「ＰａｐｅｒＦｅｅｄｅｒ＝＞３」６０３を読み出す。
【００９２】
「ＣｏｌｏｒＳｕｐｐｏｒｔ＝Ｙｅｓ」６０１は、カラー印刷可能なデバイスが絞り込み条件に合致するという条件となり、「ＰａｐｅｒＳｉｚｅ＞Ａ４」６０２は印刷可能な最大用紙サイズがＡ４サイズよりも大きいデバイスが絞り込み条件に合致するという条件となり、「ＰａｐｅｒＦｅｅｄｅｒ＝＞３」６０３は給紙カセット数が３段以上という条件となる。
【００９３】
次に、ステップＳ２０３において、ステップＳ１０２で記憶したセッション対応プリンタリスト５００から１つの自動作成プリンタを選択し、該カレントの自動作成プリンタの情報が、ステップＳ２０２で取得したフィルタファイルの絞り込み条件の値を満たすかチェックし、全ての絞り込み条件を満たす場合にのみ、その自動作成プリンタを絞り込み後のプリンタリスト（例えばセッション対応プリンタリストリスト５００と同じフォーマット）としてＲＡＭ２３内のワークエリア（もしくは記録媒体３２内のワークファイル）に記憶し、ステップＳ２０１に戻る。
【００９４】
そして、ステップＳ２０１で、ステップＳ１０２で記憶したセッション対応プリンタリスト５００の全ての自動作成プリンタに対して絞り込み処理が終わったと判断した場合には、ステップＳ２０４に進む。なお、ステップＳ１０２において、記憶したセッション対応プリンタリスト５００に自動作成プリンタが１台も存在しなかった場合は、何も処理をせずに終了する。
【００９５】
そして、ステップＳ２０４，Ｓ１０４，Ｓ１０５において、絞り込み後のプリンタリスト内の全ての自動作成プリンタに対して設定変更処理を行い、処理を終了する。なお、ステップＳ２０４において、絞り込み後のプリンタリストに自動作成プリンタが１台も存在しなかった場合は、何も処理をせずに終了する。
【００９６】
なお、本実施形態では、全ての絞り込み条件を満たす自動作成プリンタを設定対象仮想プリンタとして制御するように構成する場合について説明したが、１つ以上の条件を満たす自動作成プリンタを設定対象仮想プリンタとして制御してもよいし、条件を１つ以上満たさない自動作成プリンタを設定対象仮想プリンタとして制御してもよいし、全ての条件を満たさない自動作成プリンタを設定対象仮想プリンタとして制御するように構成してもよい。
【００９７】
さらに、本実施形態では自動作成プリンタの情報のみを絞り込み条件としているが、リモートクライアントのセッション情報（例えばネットワークアドレスやコンピュータ名）も絞り込み条件として利用するように構成してもよい。
【００９８】
以上説明したように、本実施形態によれば、予め作成しておいたフィルタ情報内の絞り込み情報に基づいて、設定変更したいサーバの自動作成プリンタのみを設定変更することができる。
【００９９】
従って、ＳＢＣ環境を提供するサーバにおいて、リモートクライアント利用者に快適な印刷環境を提供することができる等の効果を奏する。
【０１００】
〔第３実施形態〕
上記第１実施形態では、接続しているリモートコンピュータのセッションに対応するサーバ１０ｘの自動作成プリンタ全てを当該リモートコンピュータの利用対象仮想プリンタとしたが、本実施形態では、利用不可能なデバイスに対応する自動作成プリンタを削除するように構成した。以下、その実施形態について図１２のフローチャートを用いて説明する。なお、上述した第１実施形態と同一の構成の説明は省略して、異なる構成を中心に説明する。
【０１０１】
図１２は、本発明のサーバ装置における第３の制御処理手順の一例を示すフローチャートであり、本発明の第３実施形態における自動作成プリンタ削除処理に対応する。なお、このフローチャートの処理は、サーバ１０ｘ内のＣＰＵ２１によりＨＤＤ２６、記録媒体３２又はその他の記録媒体に格納されたプログラムに基づいて実行される。また、Ｓ１０１〜Ｓ１０２，Ｓ３０１〜Ｓ３０３は各ステップを示し、図８と同一のステップには同一のステップ番号を付してある。なお、図８と同一のステップの説明は省略して、異なるステップを中心に説明する。
【０１０２】
ステップＳ３０１〜Ｓ３０３において、ステップＳ１０２で検索したセッション対応プリンタリスト内の全ての自動作成プリンタに対して絞り込み処理を行う。
【０１０３】
詳細には、まずステップＳ３０１において、ステップＳ１０２で記憶したセッション対応プリンタリスト５００の全ての自動作成プリンタについてステータスの確認処理を行ったか判断し、まだ全ての自動作成プリンタについてステータス確認処理を終了していないと判定した場合には、ステップＳ３０２に進む。
【０１０４】
ステップＳ３０２において、ステップＳ１０２で取得したセッション対応プリンタリストから１つの自動作成プリンタを読み出し、該カレントの自動作成プリンタのネットワークアドレス５０３を読み込み、該ネットワークアドレスを利用して、対応するデバイス（プリンタ３０ａ，３０ｂ，３０ｃ等）と通信しデバイスのステータスを取得する。
【０１０５】
具体的には、図１３に示すようなデバイスステータス情報７００のステータスを１つ以上取得する。デバイスステータス情報７００において、７０１はエラー、７０２は印刷の継続ができないステータス、７０３は利用可能なステータスを示す。
【０１０６】
次に、ステップＳ３０３において、ステップＳ３０２で取得したデバイスステータス７００がエラー７０１、印刷の継続ができないステータス７０２もしくは通信不可能状態等でデバイスステータスを取得できなかった場合（ステータス無し）には、該デバイスは利用不可能であると判定し、該利用不可能デバイスに対応する自動作成プリンタを削除し、ステップＳ３０１の処理に戻る。
【０１０７】
また、本実施形態ではエラー７０１もしくは印刷の継続ができないステータス７０２もしくは通信不可能状態等の場合には利用不可能と判定するが、デバイスと通信不可能状態等でデバイスステータスを取得できない場合のみ、該デバイスが利用不可能であると判定するようにしてもよいし、印刷の継続ができないステータス７０２は、デバイスで利用者が復旧作業を行うことで印刷処理が可能となるため、印刷の継続ができないステータス７０２の場合には利用可能と判定するように構成してもよい。
【０１０８】
そして、ステップＳ３０１で、ステップＳ１０２で記憶したセッション対応プリンタリスト５００の全ての自動作成プリンタについてステータスの確認処理が終了したと判定した場合には、処理を終了する。なお、ステップＳ１０２において、記憶したセッション対応プリンタリスト５００に自動作成プリンタが１台も存在しなかった場合は、何も処理をせずに終了する。
【０１０９】
また、上記ステップＳ３０２において、デバイスからステータスを取得する場合に、ＩＰアドレスを用いる構成について説明したが、ＩＰアドレス以外にデバイスを特定する手段（例えばＭＡＣアドレス）を用いても良いし、デバイスがリモートクライアントに直接接続されている場合にはリモートクライアントを介してステータスを取得してもよい。
【０１１０】
以上より、従来では、ターミナルサービス機能によるリモートクライアントの仮想プリンタと同一デバイスモデルの自動作成プリンタを追加する処理は、リモートクライアントに設定された複数の仮想プリンタを無条件に追加するため、利用できない（電源が入っていない等）デバイスの自動作成プリンタや、リモートクライアント利用者が使用する予定のない自動作成プリンタも追加されてしまうという問題があったが、本実施形態によれば、サーバ上で動作するアプリケーションやプリンタドライバやＯＳ等の従来から利用しているソフトウェアを修正することなく、ＳＢＣ環境を提供するサーバに接続するリモートクライアントのセッション情報を利用し、サーバ側のみの処理において、利用できない自動作成プリンタを自動的に削除するので、リモートクライアント利用者が実際には利用できないデバイスに対して間違って印刷を指示してしまうことを確実に防止することできる。
【０１１１】
従って、ＳＢＣ環境を提供するサーバにおいて、リモートクライアント利用者に快適な印刷環境を提供することができる等の効果を奏する。
【０１１２】
〔第４実施形態〕
上記第３実施形態では、利用不可能なデバイスに対応する自動作成プリンタを削除する構成について説明したが、本実施形態では利用可能なデバイスに対して上記第１実施形態と同様に自動作成プリンタの設定変更を行うように構成した。以下、その実施形態について図１４のフローチャートを用いて説明する。なお、上述した第１実施形態，第３実施形態と同一の構成の説明は省略して、異なる構成を中心に説明する。
【０１１３】
図１４は、本発明のサーバ装置における第４の制御処理手順の一例を示すフローチャートであり、本発明の第４実施形態における自動作成プリンタ削除及び設定変更処理に対応する。なお、このフローチャートの処理は、サーバ１０ｘ内のＣＰＵ２１によりＨＤＤ２６、記録媒体３２又はその他の記録媒体に格納されたプログラムに基づいて実行される。また、Ｓ１０１〜Ｓ１０２，Ｓ４０１，Ｓ３０２，Ｓ３０３，Ｓ４０２，Ｓ１０４，Ｓ１０５は各ステップを示し、図８，図１２と同一のステップには同一のステップ番号を付してある。なお、図８，図１２と同一のステップの説明は省略して、異なるステップを中心に説明する。
【０１１４】
ステップＳ４０１，Ｓ３０２，Ｓ３０３において、ステップＳ１０２で検索したセッション対応プリンタリスト内の全ての自動作成プリンタに対して絞り込み処理（削除処理）を行う。
【０１１５】
そして、ステップＳ４０１で、ステップＳ１０２で記憶したセッション対応プリンタリスト５００の全ての自動作成プリンタについてステータスの確認処理が終了したと判定した場合には、ステップＳ４０２に進む。なお、ステップＳ１０２において、記憶したセッション対応プリンタリスト５００に自動作成プリンタが１台も存在しなかった場合は、何も処理をせずに終了する。
【０１１６】
ステップＳ４０２，Ｓ１０４，Ｓ１０５において、セッション対応プリンタリスト内の（削除されなかった）全ての自動作成プリンタに対して設定変更処理を行う。
【０１１７】
そして、ステップＳ４０２において、セッション対応プリンタリスト５００内の全ての自動作成プリンタについて設定変更処理を行ったと判定した場合には、処理を終了する。なお、ステップＳ１０２において、記憶したセッション対応プリンタリスト５００の自動作成プリンタが全て削除されている場合には、何も処理をせずに終了する。
【０１１８】
以上説明したように、本実施形態によれば、サーバ上で動作するアプリケーションやプリンタドライバやＯＳ等の従来から利用しているソフトウェアを修正することなく、ＳＢＣ環境を提供するサーバに接続するリモートクライアントのセッション情報を利用し、サーバ側のみの処理において、利用できない自動作成プリンタを自動的に削除するとともに、利用可能な自動作成プリンタについては、事前に保持しておいた設定情報に従って設定変更を行うので、実際には利用できないデバイスに対して、間違って印刷を指示してしまうことを防止することできるとともに、デバイス特有のオプション構成情報を意識することなく、オプションを利用した所望の印刷結果を容易に得ることができる。
【０１１９】
さらに、仮にリモートクライアントの仮想プリンタにサーバのアプリケーションプログラム（ＡＰ）にとって適切でない設定が成されている場合であっても、ＡＰに適切な用紙サイズを記載した設定情報を予め作成してサーバ上の所定の場所に配置しておくだけで、サーバのアプリケーションプログラムによる印刷の障害とならず、所望の印刷結果を容易に得ることができる。
【０１２０】
従って、ＳＢＣ環境を提供するサーバにおいて、サーバ側の処理のみで、リモートクライアント利用者に快適な印刷環境を提供することができる。
【０１２１】
〔第５実施形態〕
上記第１実施形態では、接続しているリモートコンピュータのセッションに対応するサーバ１０ｘの自動作成プリンタをデバイスドライバモデル毎又は接続先毎に単一の設定情報を使用して設定変更する方法について説明したが、本実施形態では、設定情報ファイル内にセッション情報に対応させて複数の設定情報を記載し、接続しているリモートコンピュータのセッションに合致する設定情報を設定情報ファイルより読み出して、該読み出した設定情報を使用して自動作成プリンタの設定変更をするように構成した。以下、その実施形態について図１５，図１６を用いて説明する。なお、上述した第１実施形態と同一の構成は省略して、異なる構成を中心に説明する。
【０１２２】
図１５は、本発明の第５実施形態における設定情報ファイルの構成の一例を示す模式図である。
【０１２３】
図１５において、１６００は設定情報ファイルで、リモートクライアント１０ａ，１０ｂ等がサーバ１０ｘに接続（ログイン）した際に、サーバ１０ｘにより生成された自動作成プリンタに対して設定したい設定情報であり、予め生成されて図１に示したサーバ１０ｘのＨＤＤ２６又はその他の記録媒体に格納しておくものとする。
【０１２４】
設定情報ファイル１６００は、［ＤｅｖｉｃｅＩｎｆｏ］セクション１６０１，設定情報範囲（図１５の例では＜Ｇｒｏｕｐ１＞１６０２，＜Ｇｒｏｕｐ２＞１６０３，＜Ｏｔｈｅｒ＞１６０４）から構成される。
【０１２５】
各設定情報範囲は、［ＤｅｖｉｃｅＯｐｔｉｏｎ］セクション，［ＤｏｃｕｍｅｎｔＳｅｔｔｉｎｇ］セクションを含む。
【０１２６】
なお、［ＤｅｖｉｃｅＩｎｆｏ］セクション１６０１は、図６に示した［ＤｅｖｉｃｅＩｎｆｏ］セクション３０１に相当し、［ＤｅｖｉｃｅＯｐｔｉｏｎ］セクション１６０２ａ，１６０３ａ，１６０４ａは、図６に示した［ＤｅｖｉｃｅＯｐｔｉｏｎ］セクション３０２に相当し、［ＤｏｃｕｍｅｎｔＳｅｔｔｉｎｇ］セクション１６０２ｂ，１６０３ｂは、図６に示した［ＤｏｃｕｍｅｎｔＳｅｔｔｉｎｇ］セクション３０３に相当するものであり、詳細な説明は省略する。
【０１２７】
図１５に示す例では、設定情報範囲＜Ｇｒｏｕｐ１＞１６０２，＜Ｇｒｏｕｐ２＞１６０３は、それぞれＧｒｏｕｐ１，Ｇｒｏｕｐ２に属するユーザ（セッション情報から取得）の設定情報に対応し、＜Ｏｔｈｅｒ＞１６０４は、Ｇｒｏｕｐ１，２以外のユーザの設定情報に対応する。
【０１２８】
また、設定情報範囲は、ユーザの属するグループ名としてもよいし、ユーザ名で定義してもよいし、起動されているアプリケーション名としてもよいし、セッション情報内から取得可能な情報により特定可能であればどのような情報で定義してもよい。即ち、複数のセッション情報内の情報から特定可能な情報をａｎｄ／ｏｒ／ｎｏｔで繋いだ論理式として定義してもよい。
【０１２９】
図１６は、本発明のサーバ装置における第５の制御処理手順の一例を示すフローチャートであり、本発明の第５実施形態における自動作成プリンタ設定変更処理に対応する。なお、このフローチャートの処理は、サーバ１０ｘ内のＣＰＵ２１によりＨＤＤ２６、記録媒体３２又はその他の記録媒体に格納されたプログラムに基づいて実行される。また、Ｓ１０１〜Ｓ１０３，Ｓ５０１，Ｓ５０２，Ｓ１０５は各ステップを示し、図８と同一のステップには同一のステップ番号を付してある。なお、図８と同一のステップの説明は省略して、異なるステップを中心に説明する。
【０１３０】
ステップＳ５０１において、ステップＳ１０２で記憶したセッション対応プリンタリスト５００から１つの自動作成プリンタを選択し、該カレントの自動作成プリンタのプリンタドライバ名称５０２（又はＩＰアドレス等の接続先）を取得し、複数の設定情報ファイル１６００（図１５）が保存されている所定の場所（予めＨＤＤ２６内の所定のフォルダや記録媒体３２内等に保存さている）からプリンタドライバ名称（又はＩＰアドレス等の接続先）に対応する設定情報ファイル１６００を検索し、該当する設定情報ファイル１６００から設定情報を読み出す。
【０１３１】
具体的には、自動作成プリンタのプリンタドライバ名称（又はＩＰアドレス等の接続先）と、図１５に示した設定情報ファイルの「ＤｅｖｉｃｅＩｎｆｏ」セクション１６０１のプリンタドライバ名称（又はＩＰアドレス等の接続先）１６０１ａが同じであるか判定する。
【０１３２】
次に、ステップＳ５０２では、セッション情報４００に基づいて、ステップＳ５０１で読み込んだ設定情報ファイル１６００の中で、対応する設定情報範囲を絞り込み、セッション情報４００に対応する設定情報としてＲＡＭ２３内のワークエリア（もしくは記録媒体３２内のワークファイル）に記憶する。
【０１３３】
図１５に示した設定情報ファイルの例では、設定情報範囲がユーザ名の属するグループにより規定されているので、セッション情報４００のユーザ名４０１を取得し、該ユーザ名が所属するグループ名称を取得し、ステップＳ５０１で読み込んだ設定情報ファイル１６００の中で、該グループ名称に対応する設定情報範囲を絞り込み読み出して記憶するものとする。
【０１３４】
例えば、ユーザ名４０１の属するグループ名称が「Ｇｒｏｕｐ１」であるとき、設定情報ファイル１６００の「Ｇｒｏｕｐ１」に対応する設定情報範囲１６０２に絞り込み、オプション構成情報１６０２ａ、デフォルト動作情報１６０２ｂを設定変更情報として記憶する。
【０１３５】
次に、ステップＳ１０５では、ステップＳ５０２で絞り込まれ記憶されたオプション構成情報，デフォルト動作情報に基づいて、自動作成プリンタのデフォルト動作情報（図４に示したＤｅｖＭｏｄｅ１２００），オプション構成情報（図５に示したＤｅｖｉｃｅＯｐｔｉｏｎ１３００）を変更し、ステップＳ１０３の処理に戻る。
【０１３６】
なお、本実施形態では、セッション情報に含まれるユーザ名を基にしたグループ名称に対応する設定情報の絞り込み制御を行っているが、ユーザ名で絞り込み制御を行ってもよいし、そのほかのセッション情報に含まれる情報を１つ以上使用して絞り込み制御をしてもよい。
【０１３７】
さらに、本実施形態では一つの設定情報ファイル１６００に複数の設定情報を格納し、該グループ名称に対応する設定情報を絞り込み制御しているが、設定情報範囲毎に設定情報ファイルを作成し、複数の設定情報ファイルからセッション情報に対応する設定情報範囲の設定情報ファイルを絞り込むように制御してもよい。
【０１３８】
以上説明したように、本実施形態によれば、サーバ上で動作するアプリケーションやプリンタドライバやＯＳ等の従来から利用しているソフトウェアを修正することなく、ＳＢＣ環境を提供するサーバに接続するリモートクライアントのセッション情報を利用し、サーバ側のみの処理において、事前に保持しておいたグループ毎，ユーザ毎，アプリケーション毎等のセッション情報から特定可能な情報毎の設定情報を読み出し、該読み出した設定情報に基づいて、ログオン処理時に追加された自動作成プリンタの設定変更を行うので、リモートクライアント利用者はグループ毎，ユーザ毎，アプリケーション毎等のセッション情報から特定可能な情報毎に自動作成プリンタを設定することができ、所望の印刷結果を容易に得ることができる。
【０１３９】
従って、ＳＢＣ環境を提供するサーバにおいて、サーバ側の処理のみで、リモートクライアント利用者に快適な印刷環境を提供することができる。
【０１４０】
〔第６実施形態〕
上記第１〜５実施形態では、自動作成プリンタ（仮想プリンタ）の設定変更処理及び削除処理を行う構成について説明したが、例えば、Ｍｉｃｒｏｓｏｆｔ（登録商標）社のサーバ系のＷｉｎｄｏｗｓ（登録商標）オペレーティングシステム（Ｗｉｎｄｏｗｓ（登録商標）ＮＴＳｅｒｖｅｒ／２０００Ｓｅｒｖｅｒ／Ｓｅｒｖｅｒ２００３）（米国Ｍｉｃｒｏｓｏｆｔ  Ｃｏｒｐｏｒａｔｉｏｎの米国及びその他の国における登録商標）等のように管理者権限でログインしなければ、デバイスドライバのインストール，バージョンアップ，仮想プリンタのデフォルト動作情報の設定変更，オプション構成情報の設定変更等を行うことができない。そのため、通常のユーザ権限でログインしたユーザでは、上記第１〜５実施形態で示した自動作成プリンタの設定変更（削除）処理を実行させることができない。そこで、本実施形態では、通常のユーザ権限でログインしたユーザでも、管理者の作成したパスワードファイルを用いて管理者に成り代わり、上記第１〜５実施形態で示した仮想プリンタの設定変更処理を行う構成について説明する。
【０１４１】
図１７は、本発明のサーバ置における管理者権限設定画面の一例を示す模式図である。
【０１４２】
図において、１７００は管理者権限設定画面であり、管理者権限を有するユーザにより実行される。
【０１４３】
１７０１はユーザ名入力欄で、プリンタの設定変更（削除）処理を実行しようとするローカルコンピュータに対して管理者権限を有するユーザ名を入力する。１７０２はドメイン名入力欄で、ユーザ名入力欄１７０１で入力したユーザ名の属するドメイン名を入力する。
【０１４４】
１７０３はパスワード入力欄で、ユーザ名入力欄１７０１で入力したユーザ名，ドメイン名入力欄１７０２に対応したパスワードを入力する。１７０４はパスワード確認欄で、パスワード入力欄１７０３で入力したパスワードを再入力する。なお、パスワード入力欄１７０３，パスワード確認欄１７０４に入力されたパスワードは、「＊」等の伏せ文字で表示される。
【０１４５】
１７０５はＯＫキーで、このキーが押下されると、パスワード入力欄１７０３，パスワード確認欄１７０４に入力されたパスワードの一致が確認され、一致している場合には、ユーザ名入力欄１７０１，ドメイン名入力欄１７０２，パスワード入力欄１７０３の各入力に基づいて上述したユーザ名，ドメイン名，パスワードを含む管理者情報が暗号化されたパスワードファイルを作成し、管理者権限設定画面１７００を終了する。一方、パスワード入力欄１７０３，パスワード確認欄１７０４に入力されたパスワードの一致していない場合には、その旨を示すメッセージを表示し、再度パスワード入力欄１７０３，パスワード確認欄１７０４への入力を促す。
【０１４６】
１７０６はキャンセルキーで、このキーが押下されると、管理者権限設定画面１７００を終了する。
【０１４７】
なお、管理者権限設定画面１７００によるパスワードファイルの作成処理は、いずれのコンピュータ上で行われてもよく、該処理を実行されたコンピュータ上にパスワードファイルが作成される。そして、このように作成されたパスワードファイルは、所定の格納場所、例えば記録媒体３２又は図１８に示す管理者権限チェック処理を実行するコンピュータ１０ｘ内のＨＤＤ又はその他の記録媒体等に予め格納しておくものとする。
【０１４８】
以下、図１８に示すフローチャートを参照して、本発明のサーバ装置における管理者権限チェック処理について説明する。
【０１４９】
図１８は、本発明のサーバ装置における第６の制御処理手順の一例を示すフローチャートであり、本実施形態における管理者権限チェック処理に対応する。
なお、このフローチャートは、コンピュータ１０ｘ内のＣＰＵによりＨＤＤ２６，ＣＤ−ＲＯＭ又はその他の記録媒体に格納されたプログラムに基づいて実行される。また、図中、Ｓ６０１〜Ｓ６０５は各ステップを示す。
【０１５０】
処理が開始されると、まず、起動されているＯＳをチェックし（Ｓ６０１）、プリンタのデフォルト設定の変更等に管理者権限が必要なＯＳであるか否かを判定し（Ｓ６０２）、管理者権限が必要なＯＳでないと判断した場合には、そのままステップＳ６０４に移行する。
【０１５１】
一方、ステップＳ６０２で、プリンタのデフォルト設定の変更等に管理者権限が必要なＯＳであると判断した場合には、現在起動されているプロセスが管理者権限を有するか否かを判定し（Ｓ６０３）、管理者権限を有すると判断した場合には、ステップＳ６０４に進み、自動作成プリンタの設定変更（削除）処理（第１〜５実施形態：図８，図１１，図１２，図１４，図１６のいずれか、又は組み合わせた処理）を行い、終了後、処理を終了する。
【０１５２】
一方、ステップＳ６０３で、現在起動されているプロセスが管理者権限を有していないと判断した場合には、ステップＳ６０５で予め図１７に示した管理者権限設定画面１７００等で生成され所定のフォルダに格納されたパスワードファイル内の管理者権限設定情報（ユーザ名，ドメイン名，パスワード等（暗号化されている場合は解読する））を用いて、管理者権限を有する子プロセスとして、本管理者権限チェック処理を再度起動し、本処理を終了する。これにより、再度起動されたプロセスでは、管理者権限を有するため、ステップＳ６０４の自動作成プリンタの設定変更（削除）処理（第１〜５実施形態：図８，図１１，図１２，図１４，図１６のいずれか、又は組み合わせた処理）を実行することができる。
【０１５３】
以上の処理により、管理者権限のないユーザであっても、サーバ１０ｘの自動作成プリンタに対する設定変更処理を行うことができ、管理者による設定作業を軽減することができる。また、管理者権限のパスワードを一般のユーザに公開する必要もなく、セキュリティ上の安全も確保することができる。
【０１５４】
〔第７実施形態〕
上記第１〜６実施形態では、ＳＢＣ環境を提供するサーバ１０ｘのターミナルサービス機能によりクライアントに登録されている自動作成プリンタ（ファクシミリも含む）に対応してサーバ１０ｘに追加登録された自動作成プリンタの設定変更を行う構成について説明したが、ＳＢＣ環境を提供するＯＳのターミナルサービス機能に、上述した自動作成プリンタの追加登録処理（図２）と同様に、リモートクライアントに登録される各種デバイス機器（スキャナ，デジタルカメラ等）をログオン時にサーバに自動登録する機能がＯＳに追加された場合、自動作成プリンタの場合と同様に、ＳＢＣ環境を提供するサーバに接続するリモートクライアントのセッション情報を利用し、サーバ側のみの処理において、事前に保持しておいた設定情報（各種デバイス機器について作成しておく）に従い、ログオン処理時に追加登録された各種デバイスの設定変更を行うように構成してもよい。
【０１５５】
これにより、リモートクライアント利用者は、各種デバイスの設定を意識することなく、サーバ上で起動されるアプリケーションから各種デバイスを利用することができる。
【０１５６】
また、上記各実施形態では、サーバ系のＷｉｎｄｏｗｓ（登録商標）オペレーティングシステム（Ｗｉｎｄｏｗｓ（登録商標）ＮＴＳｅｒｖｅｒ／２０００Ｓｅｒｖｅｒ／Ｓｅｒｖｅｒ２００３）により制御されているサーバ装置に本発明を適用する場合について説明したが、アプリケーションプログラムをサーバで集中処理するサーバ・ベースド・コンピューティング（ＳＢＣ）環境を提供するサーバへの、リモートクライアントの接続時に、該サーバが該リモートクライアントに登録されている仮想プリンタに対応する自動作成プリンタをサーバに追加登録し、該サーバ上で実行しているアプリケーションから該追加登録されたサーバの自動作成プリンタに発行された印刷ジョブを、該サーバ装置の自動作成プリンタから対応するリモートクライアントの仮想プリンタに転送して、サーバ上で実行しているアプリケーションから透過的にリモートクライアントの仮想プリンタに対応するプリンタに印刷処理を実行させることが可能なオペレーションシステムで制御されているサーバ装置であればどのようなサーバ装置にも適用可能である。
【０１５７】
なお、本発明は、図１，図２を用いて説明したようなＳＢＣ環境及びＯＳのターミナルサービス機能を前提とし、ＯＳ等の従来から利用しているソフトウェアを修正することなく、ＳＢＣ環境及びＯＳのターミナルサービス機能に起因する問題点を解決し、ＳＢＣ環境を提供するサーバにおける印刷環境を向上することを目的とした発明であるが、本発明の構成そのものをＯＳのターミナルサービス機能に追加し、ＳＢＣ環境及びＯＳのターミナルサービス機能に起因する問題点を解決することも、本発明に含まれることはいうまでもない。
【０１５８】
これらの図６，図１０，図１５の各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
【０１５９】
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【０１６０】
なお、上記各実施形態を組み合わせた構成も全て本発明に含まれるものである。
【０１６１】
以上説明したように、本発明の各実施形態によれば、サーバ１０ｘ上で動作するアプリケーションやプリンタドライバやＯＳ等の従来から利用しているソフトウェアを修正することなく、ＳＢＣ環境を提供するサーバ１０ｘに接続するリモートクライアントのセッション情報を利用し、サーバ１０ｘ側のみの処理において、事前に作成しサーバに保持された設定情報（図６，図１５）に基づいて、ログオン処理時に追加された自動作成プリンタの設定変更や、利用できない自動作成プリンタの削除を可能とする。
【０１６２】
その結果、リモートクライアント利用者はサーバ１０ｘにおけるアプリケーションプログラムの実行結果である印刷物において、デバイス特有のオプション構成情報を意識することなく、オプションを利用した所望の印刷結果を容易に得ることができる。
【０１６３】
さらに、リモートクライアントの仮想プリンタのデフォルト動作情報が、サーバ１０ｘのアプリケーションプログラムが動作する上で障害となるような場合であっても、設定情報（図６，図１５）に基づいてサーバ１０ｘの自動作成プリンタを任意のデフォルト動作情報に設定可能なので、サーバ１０ｘのアプリケーションプログラムによる印刷の障害とならず、所望の印刷結果を容易に得ることができる。
【０１６４】
また、利用できないデバイスに対応するサーバ１０ｘにおける自動作成プリンタを削除することで、リモートクライアント利用者が実際には利用できないデバイスに対して誤って印刷指示を行うことを確実に防止することができる。
【０１６５】
従って、ＳＢＣ環境を提供するサーバにおいて、サーバ側でのみ処理を行うことで、リモートクライアント利用者に快適な印刷環境を提供することができる。
【０１６６】
以下、図１９に示すメモリマップを参照して本発明に係るサーバ装置で読み出し可能なデータ処理プログラムの構成について説明する。
【０１６７】
図１９は、本発明に係るサーバ装置で読み出し可能な各種データ処理プログラムを格納する記録媒体（記憶媒体）のメモリマップを説明する図である。
【０１６８】
なお、特に図示しないが、記録媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報，作成者等も記憶され、かつ、プログラム読み出し側のＯＳ等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
【０１６９】
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、インストールするプログラムやデータが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
【０１７０】
本実施形態における図８，図１１，図１２，図１４，図１６，図１８に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、ＣＤ−ＲＯＭやフラッシュメモリやＦＤ等の記録媒体により、あるいはネットワークを介して外部の記録媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
【０１７１】
以上のように、前述した実施形態の機能を実現するソフトウエアのプログラムコードを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【０１７２】
この場合、記録媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記録媒体は本発明を構成することになる。
【０１７３】
プログラムコードを供給するための記録媒体としては、例えば、フレキシブルディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＤＶＤ−ＲＯＭ，磁気テープ，不揮発性のメモリカード，ＲＯＭ，ＥＥＰＲＯＭ，シリコンディスク等を用いることができる。
【０１７４】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１７５】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１７６】
また、本発明は、複数の機器から構成されるシステムに適用しても、１つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのソフトウエアによって表されるプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【０１７７】
さらに、本発明を達成するためのソフトウェアによって表されるプログラムをネットワーク上のデータベースから通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【０１７８】
【発明の効果】
以上説明したように、本発明によれば、サーバ・ベースド・コンピューティング（ＳＢＣ）環境を提供するサーバ装置が、ログオンしているリモートクライアント装置のセッション情報を取得し、該取得されたセッション情報から特定されるリモートクライアント装置に登録されている第１の仮想プリンタに対応する第２の仮想プリンタを検索し、該検索された第２の仮想プリンタの稼働状況を取得し、該取得された各稼働状況に基づいて前記検索された第２の仮想プリンタが利用できるか否かを判定し、利用できないと判定された第２の仮想プリンタを削除処理するので、サーバ装置上で動作するアプリケーションやプリンタドライバやＯＳ等の従来から利用しているソフトウェアを修正することなく、ＳＢＣ環境を提供するサーバに接続するリモートクライアントのセッション情報を利用し、サーバ側のみの処理において、ログオン処理時に追加された仮想プリンタのうち利用不可能な仮想プリンタを削除させることができ、リモートクライアント装置の利用者は、利用できない仮想プリンタに印刷指示を出してしまうことを確実に防止することができる。
【０１７９】
また、サーバ装置におけるアプリケーションプログラムの実行結果である印刷物において、デバイス特有のオプション構成情報を意識することなく、デバイスオプションを利用した所望の印刷結果を容易に得ることができる。
【０１８０】
さらに、リモートクライアント装置の仮想プリンタのデフォルト動作情報が、サーバ装置のアプリケーションプログラムが動作する上で障害となる場合にも、サーバ装置の仮想プリンタを任意のデフォルト動作情報に設定することにより、サーバ装置のアプリケーションプログラムによる印刷の障害とならず、アプリケーション特有の動作設定情報を意識することなく、所望の印刷結果を容易に得ることができる。
【０１８１】
従って、ＳＢＣ環境を提供するサーバ装置側でのみ処理を行って、リモートクライアント装置の利用者に快適なＳＢＣ印刷環境を提供することができる等の効果を奏する。
【図面の簡単な説明】
【図１】本発明のサーバ装置を適用可能なＳＢＣ環境を提供するサーバのターミナルサービス機能によるプリンタドライバ登録処理について説明する模式図である。
【図２】本発明のサーバ装置を適用可能なＳＢＣ環境を提供するサーバのターミナルサービス機能によるプリンタドライバ登録処理を説明するフローチャートである。
【図３】図１に示したサーバ，リモートクライアントを適用可能な情報処理装置の構成の一例を示すブロック図である。
【図４】図３に示したプリンタドライバとＯＳ及びアプリケーションプログラム間でやり取りされる仮想プリンタの印刷に関わる設定の構成を示す模式図である。
【図５】仮想プリンタのオプション構成情報を保持するメモリブロックの構成を示す模式図である。
【図６】図１に示したサーバに生成される仮想プリンタ（自動作成プリンタ）に対する設定情報を格納する設定情報ファイルの構成の一例を示す模式図である。
【図７】図１に示したサーバへの接続（ログイン）時にサーバのＯＳにより生成されるセッション情報の構成の一例を示す模式図である。
【図８】本発明のサーバ装置における第１の制御処理手順の一例を示すフローチャートである。
【図９】本発明のサーバ装置におけるセッション対応プリンタリストの一例を示す模式図である。
【図１０】図１に示したサーバに生成される仮想プリンタ（自動作成プリンタ）を絞り込むためのフィルタ情報（絞り込み条件）を格納するフィルタファイルの構成の一例を示す模式図である。
【図１１】本発明のサーバ装置における第２の制御処理手順の一例を示すフローチャートである。
【図１２】本発明のサーバ装置における第３の制御処理手順の一例を示すフローチャートである。
【図１３】本発明のサーバ装置におけるデバイスステータス情報の一例を示す模式図である。
【図１４】本発明のサーバ装置における第４の制御処理手順の一例を示すフローチャートである。
【図１５】本発明の第５実施形態における設定情報ファイルの構成の一例を示す模式図である。
【図１６】本発明のサーバ装置における第５の制御処理手順の一例を示すフローチャートである。
【図１７】本発明のサーバ置における管理者権限設定画面の一例を示す模式図である。
【図１８】本発明のサーバ装置における第６の制御処理手順の一例を示すフローチャートである。
【図１９】本発明に係るサーバ置で読み出し可能な各種データ処理プログラムを格納する記録媒体（記録媒体）のメモリマップを説明する図である。
【符号の説明】
１０ｘ  サーバ
１０ａ，ｂ  リモートクライアント
３０ａ，３０ｂ，３０ｃ  プリンタ
５０  ネットワーク
３１１ａ，３１１ｂ，３１２ａ  リモートクライアントの仮想プリンタ
３１１ｃ，３１２ｃ，３１３ｃ  サーバの仮想プリンタ
【図１】
2005044002.tif 000003
【図２】
2005044002.tif 000004
【図３】
2005044002.tif 000005
【図４】
2005044002.tif 000006
【図５】
2005044002.tif 000007
【図６】
2005044002.tif 000008
【図７】
2005044002.tif 000009
【図８】
2005044002.tif 000010
【図９】
2005044002.tif 000011
【図１０】
2005044002.tif 000012
【図１１】
2005044002.tif 000013
【図１２】
2005044002.tif 000014
【図１３】
2005044002.tif 000015
【図１４】
2005044002.tif 000016
【図１５】
2005044002.tif 000017
【図１６】
2005044002.tif 000018
【図１７】
2005044002.tif 000019
【図１８】
2005044002.tif 000020
【図１９】
2005044002.tif 000021