(57)【要約】  本発明は、アプリケーションサーバのための印刷支援の方法および構成、ならびに対応するコンピュータプログラム、および対応するコンピュータ読み取り可能な記憶媒体に関するものであり、これらは特にUnix(登録商標)サーバおよびSAPサーバから、ICAクライアント/RDPクライアント(ICA = Independent Computing Architecture, RDP = Remote Desktop Protocol)への印刷の際に利用可能である。これは、アプリケーションサーバ(1)を備えたクライアントサーバアーキテクチャにおける印刷支援であり、その際、アプリケーションサーバ(1)は、少なくとも1つのクライアントターミナル(6)から、少なくとも1つのターミナルサーバ(4)を介して操作され、また少なくとも1つのクライアントターミナル(6)のユーザがトリガしてアプリケーションサーバ(1)上で起動させた印刷ジョブが、クライアントターミナル(6)で設定されているデスクトッププリンタ(7)によってプリントアウトされ、かつ/またはクライアントターミナル(6)でローカルに設定されているネットワークプリンタでプリントアウトされ、かつ/またはクライアントターミナル(6)の光学インターフェイスを経由して出力される。
2008529142.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも1つのクライアントターミナルから、少なくとも1つのターミナルサーバを介してアプリケーションサーバを操作する、アプリケーションサーバを経由した印刷方法において、
少なくとも1つのクライアントターミナル(6)のユーザがトリガしてアプリケーションサーバ(1)上で起動させた印刷ジョブが、クライアントターミナル(6)で設定されているデスクトッププリンタ(7)によってプリントアウトされ、かつ/またはクライアントターミナル(6)でローカルに設定されているネットワークプリンタでプリントアウトされ、かつ/またはクライアントターミナル(6)の光学インターフェイスを経由して出力されることを特徴とする方法。
【請求項２】
アプリケーションサーバ(1)上で起動された印刷ジョブが、ユーザセッションがその上で走っているターミナルサーバ(4)を中継として、クライアントターミナル(6)に転送されることを特徴とする請求項1に記載の方法。
【請求項３】
アプリケーションサーバ(1)上で起動された印刷ジョブが、その印刷ジョブがトリガされたユーザセッションに埋め込まれることを特徴とする請求項1または2のいずれか一項に記載の方法。
【請求項４】
ユーザがトリガした印刷ジョブと共に、クライアントターミナル(6)にログインしているユーザに関する情報を、アプリケーションサーバ(1)に伝送することを特徴とする前記請求項のいずれか一項に記載の方法。
【請求項５】
ユーザセッションがその上で走っているターミナルサーバ(4)を確定するために、少なくとも1つのターミナルサーバ(4)のリモート呼び出しを行うことを特徴とする前記請求項のいずれか一項に記載の方法。
【請求項６】
印刷ジョブをユーザの印刷フォルダに書き込むことによって、その印刷ジョブをユーザのターミナルセッションに埋め込むことを特徴とする請求項3から5のいずれか一項に記載の方法。
【請求項７】
アプリケーションサーバ(1)で起動された印刷ジョブが、スプールサーバ(2)を中継として、決定されたターミナルサーバ(4)に導かれることを特徴とする前記請求項のいずれか一項に記載の方法。
【請求項８】
スプールサーバ(2)が、決定されたターミナルサーバ(4)に、Line Printer Remote (LPR)を用いて印刷ジョブを送ることを特徴とする請求項7に記載の方法。
【請求項９】
少なくともユーザセッションがその上で走っているターミナルサーバ(4)からクライアントターミナル(6)への印刷データの伝送を、帯域幅制御し、かつ/または圧縮し、かつ/または暗号化して、行うことを特徴とする前記請求項のいずれか一項に記載の方法。
【請求項１０】
少なくともユーザセッションがその上で走っているターミナルサーバ(4)からクライアントターミナル(6)への印刷データの伝送を、Independent Computing Architectureプロトコル(ICAプロトコル)またはRemote Desktop Protocol (RDP)を用いて行うことを特徴とする前記請求項のいずれか一項に記載の方法。
【請求項１１】
少なくとも1つのアプリケーションサーバと、少なくとも1つのターミナルサーバと、少なくとも1つのクライアントターミナルとを含み、前記少なくとも1つのアプリケーションサーバと、少なくとも1つのターミナルサーバと、少なくとも1つのクライアントターミナルとが、データ伝送手段によって互いに接続されている、アプリケーションサーバを経由した印刷システムにおいて、
前記少なくとも1つのクライアントターミナル(6)のユーザがトリガしてアプリケーションサーバ(1)上で起動させた印刷ジョブを、前記クライアントターミナル(6)で設定されているデスクトッププリンタ(7)によってプリントアウトし、かつ/またはクライアントターミナル(6)でローカルに設定されているネットワークプリンタでプリントアウトし、かつ/またはクライアントターミナル(6)の光学インターフェイスを経由して出力するように構成されていることを特徴とするシステム。
【請求項１２】
データ伝送手段によって形成された、少なくとも1つのアプリケーションサーバ(1)と少なくとも1つのターミナルサーバ(4)の間の通信接続が、少なくとも1つのスプールサーバ(2)を含むことを特徴とする請求項11に記載のシステム。
【請求項１３】
データ伝送手段によって形成された、少なくとも1つのアプリケーションサーバ(1)と少なくとも1つのターミナルサーバ(4)の間の通信接続が、少なくとも1つの印刷専用サーバ(3)を含むことを特徴とする請求項11または12のいずれか一項に記載のシステム。
【請求項１４】
データ処理装置の記憶手段にロードされた後に、前記データ処理装置が、アプリケーションサーバ(1)を経由した印刷方法を実行できるようにするコンピュータプログラムであって、アプリケーションサーバ(1)が、少なくとも1つのクライアントターミナル(6)から、少なくとも1つのターミナルサーバ(4)を介して操作され、また少なくとも1つのクライアントターミナル(6)のユーザがトリガしてアプリケーションサーバ(1)上で起動させた印刷ジョブが、クライアントターミナル(6)で設定されているデスクトッププリンタ(7)によってプリントアウトされ、かつ/またはクライアントターミナル(6)でローカルに設定されているネットワークプリンタでプリントアウトされ、かつ/またはクライアントターミナル(6)の光学インターフェイスを経由して出力されるコンピュータプログラム。
【請求項１５】
コンピュータプログラムが複数のプログラムモジュールを含んでおり、少なくとも1つのプログラムモジュールが、
少なくとも1つのアプリケーションサーバ(1)、
少なくとも1つのターミナルサーバ(4)、
少なくとも1つのクライアントターミナル(6)、
少なくとも1つのスプールサーバ(2)、および/または
少なくとも1つの印刷専用サーバ(3)
にインストールされることを特徴とする請求項14に記載のコンピュータプログラム。
【請求項１６】
データ処理装置の記憶手段にロードされた後に、前記データ処理装置が、アプリケーションサーバ(1)を経由した印刷方法を実行できるようにするプログラムが格納されているコンピュータ読み取り可能な記憶媒体であって、アプリケーションサーバ(1)が、少なくとも1つのクライアントターミナル(6)から、少なくとも1つのターミナルサーバ(4)を介して操作され、また少なくとも1つのクライアントターミナル(6)のユーザがトリガしてアプリケーションサーバ(1)上で起動させた印刷ジョブが、クライアントターミナル(6)で設定されているデスクトッププリンタ(7)によってプリントアウトされ、かつ/またはクライアントターミナル(6)でローカルに設定されているネットワークプリンタでプリントアウトされ、かつ/またはクライアントターミナルの光学インターフェイスを経由して出力される、コンピュータ読み取り可能な記憶媒体。
【請求項１７】
請求項14または15のいずれか一項に記載のコンピュータプログラムを、例えばインターネットのような電子データ網から、そのデータ網に接続されたデータ処理装置にダウンロードする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーションサーバを経由した印刷の方法およびシステム、ならびに対応するコンピュータプログラム、および対応するコンピュータ読み取り可能な記憶媒体に関するものであり、これらは特にUnix(登録商標)サーバおよびSAPサーバから、ICAクライアント/RDPクライアント(ICA = Independent Computing Architecture, RDP = Remote Desktop Protocol)への印刷の際に利用可能である。
【背景技術】
【０００２】
アプリケーションサーバを用いる従来のシステムでは、ユーザがトリガした印刷ジョブは、一般的にネットワークプリンタに送られる。その際、ネットワークプリンタは、常にアプリケーションサーバ上で設定される。それはこの場合、設定されたプリンタでもよく、または設定されたプリンタのリストでもよい。そしてアプリケーションサーバのユーザは、このリストから自身の目的に適したプリンタを選択することができる。
【０００３】
この解決策の本質的な欠点は、ネットワークプリンタのリストが提示されていても、特定の状況においては、アプリケーションサーバ上で作業しているユーザが、自身の手の届く範囲でプリントアウトすることができないということである。例えば、ネットワークプリンタは会社に設置されているが、ユーザは自宅からアプリケーションサーバ上で作業をしている場合がそうである。この場合、ユーザは、場合によっては前記のネットワークプリンタを呼び出し、そこでプリントアウトすることはできるが、自宅のデスクトッププリンタでプリントアウトすることは、従来の解決策では不可能である。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
したがって本発明の課題は、アプリケーションサーバを経由した印刷の方法およびシステム、ならびに対応するコンピュータプログラム、および対応するコンピュータ読み取り可能な記憶媒体を提供することであり、このことは、アプリケーションサーバを利用する際のプリントアウトの可能性を広げる。
【課題を解決するための手段】
【０００５】
この課題は、本発明によれば、上位概念の特徴と組み合わせた請求項1, 11, 14,および16の特徴部分の特徴によって解決される。本発明の目的にかなった変形形態は、従属請求項に含まれている。
【０００６】
アプリケーションサーバを経由した印刷、つまりクライアントターミナルからアプリケーションサーバ上で作業をする際の印刷のための、本発明による方法の特別な利点は、アプリケーションサーバ上で作業しているユーザ(user)が、アプリケーションサーバで設定されているネットワークプリンタにとらわれず、特に、ユーザがプリントアウトした書類をいつでも手にとれるようになることである。このことは、アプリケーションサーバを経由した印刷のための本発明による方法の場合、少なくとも1つのクライアントターミナルから、少なくとも1つのターミナルサーバを介してアプリケーションサーバを操作し、また少なくとも1つのクライアントターミナルのユーザがトリガしてアプリケーションサーバ上で起動させた印刷ジョブが、クライアントターミナルで設定されているデスクトッププリンタによってプリントアウトされ、かつ/またはクライアントターミナルでローカルに設定されているネットワークプリンタでプリントアウトされ、かつ/またはクライアントターミナルの光学インターフェイスを経由して出力されることにより達成される。その際、(好ましくは1つのアプリケーションからの)同じ印刷命令で起動され、1つのプリンタに送信されるすべてのデータ(印刷データ)を、1つの印刷ジョブとする。プリントアウトは、ユーザの端末装置(クライアントターミナル)で設定されているプリンタ、デスクトッププリンタ、好ましくは標準のデスクトッププリンタで行われることが好ましい。こうして、ユーザ自身が(標準)プリンタを適切に選択することにより、プリントアウトされた書類を手にできることが保証され得る。本発明による方法の使用は、例えばユーザが社外のターミナル(PCまたはそれに類するもの)から作業をしているにもかかわらず、アプリケーションサーバで設定されている(ネットワーク)プリンタがすべて社内にある場合に特に有利である。このような場合、従来の解決策では、ユーザは、プリントアウトのためにこれらの(ネットワーク)プリンタの1つを選択することはできるが、例えば自身のPC上で設定されているデスクトッププリンタを選択することはできない。
【０００７】
本発明による方法の好ましい一実施形態では、アプリケーションサーバ上で起動された印刷ジョブは、ユーザのセッションがその上で走っているターミナルサーバを中継として、クライアントターミナルに転送されるようになされている。このターミナルサーバを確定するために、1つ(または複数)のアプリケーションサーバとクライアントターミナルの間の通信に用いられているターミナルサーバを、リモート呼び出しによって呼び出し、このリモート呼び出しによって、探しているユーザセッションがあるターミナルサーバを決定する。一般的に、各ターミナルサーバは、他のターミナルサーバで走っているセッションを認識しているので、1つのターミナルサーバに問い合わせるだけで十分である。オペレーティングシステムとしてWindows(登録商標)を使用している場合、リモート呼び出しとして、DCOM呼び出し(DCOM = Distributed Component Object Model)を行うことが好ましい。DCOMは、ネットワーク中のオブジェクトからの通信を定義する。好ましい一実施形態では、ターミナルサーバを呼び出すために、ユーザがクライアントターミナルでのログインに用いているユーザ名(user name)を使用する。しかし、ユーザのセッションがその上で走っているターミナルサーバを確定するために、その代わりにまたはそれに加えて、ユーザ特有のその他のデータを使用することも可能である。その場合、必要に応じて対応するデータ/情報が、クライアントターミナルまたはユーザのセッションがその上で走っているターミナルサーバから、呼び出しを実行するコンピュータプログラムもしくはプログラムモジュールに伝送される。好ましい一実施形態では、ユーザがトリガした印刷ジョブと共に、アプリケーションサーバにログインしているユーザに関する情報、例えばユーザがアプリケーションサーバでのログインに用いているユーザ名を、アプリケーションサーバからコンピュータプログラムもしくはプログラムモジュールに伝送する。
【０００８】
アプリケーションサーバで起動された印刷ジョブは、印刷ジョブがトリガされたユーザセッションに埋め込むのが特に有利なことがわかっている。好ましい一実施形態では、印刷ジョブの埋め込みは、わざわざこのためにターミナルサーバにインストールされたプリンタ(ユーザの印刷フォルダ)に、印刷ジョブをコピーすることによって行われる。この場合、印刷ジョブは、クライアントターミナルで標準プリンタとして設定されているプリンタで、プリントアウトされる。
【０００９】
好ましい一実施形態では、アプリケーションサーバが印刷ジョブをスプールサーバに伝送し、スプールサーバがその印刷ジョブをターミナルサーバまたは印刷専用サーバに転送し、したがってアプリケーションサーバで起動された印刷ジョブは、スプールサーバを中継して、決定されたターミナルサーバに導かれるようになされている。好ましい一実施形態では、印刷ジョブは、スプールサーバにより、LPRプロトコル(LPR = Line Printer Remote)を用いて、決定されたターミナルサーバへ送られる。
【００１０】
本発明の別の好ましい実施形態では、少なくともユーザセッションがその上で走っているターミナルサーバからクライアントターミナルへの印刷データの伝送が、帯域幅を制御し、特に帯域幅を制限し、圧縮し、かつ/または暗号化して行われるようになされている。これにより、印刷ジョブをクライアントターミナルに伝送することで、ユーザ(クライアントターミナル)がターミナルサーバ/アプリケーションサーバとの通信のために使用可能な帯域幅の大部分が印刷データによって使用され、したがって通信接続を介したユーザの他の通信がブロックされるのを防止することができる。
【００１１】
本発明のさらなる好ましい実施形態では、少なくともユーザセッションがその上で走っているターミナルサーバからクライアントターミナルへの印刷ジョブの伝送が、Independent Computing Architectureプロトコル(ICAプロトコル)またはRemote Desktop Protocol (RDP)を用いて行われるようになされている。これらのプロトコルは、(機器特有の通信しかできないTCP/IPプロトコルと違って)ユーザ特有のデータ伝送を可能にする。特に、ICAまたはRDPにより、ユーザセッションにデータを埋め込むことが可能になる。
【００１２】
アプリケーションサーバを経由した印刷のための本発明によるシステムは、少なくとも1つのアプリケーションサーバと、少なくとも1つのターミナルサーバと、少なくとも1つのクライアントターミナルとを含んでおり、この場合、少なくとも1つのアプリケーションサーバと、少なくとも1つのターミナルサーバと、少なくとも1つのクライアントターミナルとは、データ伝送手段によって互いに接続されている。その際、この構成は、少なくとも1つのクライアントターミナルのユーザがトリガしてアプリケーションサーバ上で起動させた印刷ジョブを、クライアントターミナルで設定されているデスクトッププリンタによってプリントアウトし、かつ/またはクライアントターミナルの光学インターフェイスを経由して出力するように構成されている。本発明によれば、クライアントターミナルで設定されているデスクトッププリンタの代わりに、既知の方法を用いた場合はアプリケーションサーバからの印刷には利用できなかった、クライアントターミナルでローカルに設定されているネットワークプリンタも、印刷ジョブを出力するための機器として利用することができる。
【００１３】
このシステムは、システム中の少なくとも1つのデータ処理装置にコンピュータプログラムをインストールすることによって、本発明による方法を実施できるように構成されることが好ましく、このコンピュータプログラムとは、少なくとも1つのデータ処理装置の記憶手段にコンピュータプログラムをロードした後、その少なくとも1つのデータ処理装置が、アプリケーションサーバを経由した印刷方法を実行できるようにするものであり、その際、少なくとも1つのクライアントターミナルから、少なくとも1つのターミナルサーバを介してアプリケーションサーバが操作され、少なくとも1つのクライアントターミナルのユーザがトリガしてアプリケーションサーバ上で起動させた印刷ジョブが、クライアントターミナルで設定されているデスクトッププリンタによってプリントアウトされ、かつ/またはクライアントターミナルでローカルに設定されているネットワークプリンタでプリントアウトされ、かつ/またはクライアントターミナルの光学インターフェイスを経由して出力される。
【００１４】
このようなコンピュータプログラムは、例えば、(有料または無料で、自由にアクセス可能に、またはパスワードで保護されて)ダウンロードできるように、データ網または通信網において提供することができる。そのように提供されているコンピュータプログラムは、請求項14または15のいずれか一項に記載のコンピュータプログラムを、例えばインターネットのような電子データ網から、そのデータ網に接続されたデータ処理装置にダウンロードするという方法で利用可能にすることができる。
【００１５】
本発明によるコンピュータプログラムは、モジュール式に形成されていることが好ましい。これには、個々のプログラムモジュールを様々なデータ処理装置の記憶手段にロードすることによって、個々のモジュールを、構成内のそれぞれのデータ処理装置に分配できるという利点がある。こうして、本発明の様々な好ましい実施形態では、コンピュータプログラムの少なくとも1つのモジュールが、アプリケーションサーバ、ターミナルサーバ、クライアントターミナル、スプールサーバ、および/または印刷専用サーバにインストールされるようになされている。その際、アプリケーションサーバまたは印刷専用サーバにインストールされたプログラムモジュールは、例えば、トリガされた印刷ジョブに、ユーザ特有の情報が添付されるようにする。アプリケーションサーバまたは印刷専用サーバにインストールされたプログラムモジュールは、例えば、ターミナルサーバのリモート呼び出しを起動することができる。
【００１６】
本発明によるシステムの好ましい一実施形態は、少なくとも1つのスプールサーバを含んでいる。この少なくとも1つのスプールサーバは、少なくとも1つのスプールサーバが、データ伝送手段によって形成された、少なくとも1つのアプリケーションサーバと少なくとも1つのターミナルサーバの間の通信接続に挿入されるように、構成中に組み込まれることが好ましい。
【００１７】
本発明によるシステムの好ましい一実施形態は、少なくとも1つの印刷専用サーバを含んでいる。このような印刷専用サーバは、例えば少なくとも1つのアプリケーションサーバと少なくとも1つのターミナルサーバの間の通信接続に挿入することができる。
【００１８】
本発明によればさらに、コンピュータ読み取り可能な記憶媒体を使用し、この記憶媒体には、データ処理装置の記憶手段にプログラムをロードした後、そのデータ処理装置が、アプリケーションサーバを経由した印刷方法を実行できるようにするプログラムが格納されるようになされており、その際、少なくとも1つのクライアントターミナルから、少なくとも1つのターミナルサーバを介してアプリケーションサーバが操作され、また少なくとも1つのクライアントターミナルのユーザがトリガしてアプリケーションサーバ上で起動させた印刷ジョブが、クライアントターミナルで設定されているデスクトッププリンタによってプリントアウトされ、かつ/またはクライアントターミナルでローカルに設定されているネットワークプリンタでプリントアウトされ、かつ/またはクライアントターミナルの光学インターフェイスを経由して出力される。本発明によるコンピュータプログラムが、複数のプログラムモジュールを含んでいる場合、個々のプログラムモジュールが、コンピュータ読み取り可能な様々な記憶媒体に格納されていることが有利なことがわかっている。
【００１９】
以下に、少なくとも部分的に図に示された例示的実施形態に基づき、本発明を詳細に説明する。
【発明を実施するための最良の形態】
【００２０】
アプリケーションサーバのためのこの印刷支援方法は、SAPサーバ等のアプリケーションサーバ1を備えたクライアントサーバアーキテクチャにおける印刷支援に用いられる。この方法またはこの方法を実行するコンピュータプログラムは、Windows(登録商標)下のターミナルサーバ4または印刷専用サーバ3にインストールすることができる。本発明の好ましい例示的一実施形態で使用するコンピュータプログラム(以下、プログラムモジュールAという)は、LPR (= Line Printer Remote)からの印刷ジョブを受信し、その印刷ジョブから、印刷ジョブをトリガしたユーザの名前を決定し、印刷ジョブをトリガしたユーザのセッションがどのターミナルサーバ4上で走っているかを決定するために問い合わせを実行し、ターミナルサーバ4で設定されているプリンタに印刷ジョブを送る。そのプリンタでは、ユーザのプリンタフォルダに印刷ジョブが書き込まれる。印刷ジョブを受信する際のプログラムモジュールAは、LPDである。本発明による方法を実施する場合、プログラムモジュールAは、すべてのターミナルサーバ4にインストールされているさらなるコンピュータプログラム(プログラムモジュールB)と一緒に働く。このプログラムモジュールBは、プログラムモジュールAから送られた印刷ジョブを受信し、その印刷ジョブをクライアントターミナル6に転送する。クライアントターミナル6では、第3のコンピュータプログラム(プログラムモジュールC)が、プログラムモジュールBから送られた印刷ジョブを受信し、その印刷ジョブを、クライアントターミナル6で設定されているプリンタ7に転送する。ここに簡単に述べたステップを、以下に詳細に説明する。プログラムモジュールAがLPRからの印刷ジョブを受信し、その印刷ジョブをプログラムモジュールBに転送する。プログラムモジュールBは、帯域幅制御、特に帯域幅制限、圧縮、および場合によっては暗号化を伴う印刷データを、さらにプログラムモジュールCに転送し、その際、(例えばTCP/IPと異なり)ユーザのアドレッシングを可能にするICAまたはRDP等の適切なネットワークプロトコルを使用する。この転送は、場合によってはターミナルサーバ4のプリンタキューを用いて行うことができる。クライアント側、つまりクライアントターミナル6に届いた後、印刷データはプログラムモジュールCによって解凍され、復号され、プリンタ7に転送される。ここでのプリンタは、クライアントのオペレーティングシステムの標準プリンタでも、プログラムモジュールCによって決定されたプリンタでもよい。
【００２１】
SAPシステムのユーザは、一般的に32ビット版のWindows(登録商標)を搭載したPCをクライアントターミナル6として利用する。クライアントターミナル6にインストールされたICAクライアントによって、PCは、ターミナルサーバ4、例えばMetaFrameサーバへの接続を行う。このターミナルサーバはSAPシステムと接続されており、ICAクライアントはWindows(登録商標)用のSAP GUI (= Graphical User Interface)を使用することができる。MetaFrameセッション用のプロトコルとしてICAが用いられ、このICAは、好ましい一実施形態では印刷プロトコルとしても利用される(図1〜3)。
【００２２】
MetaFrameサーバの代わりに、Microsoftのターミナルサーバを使用してもよい。その場合のネットワークプロトコルはICAの代わりにRDPである。
【００２３】
状況は3つに区別することができる。
【００２４】
1. スタンドアロンのターミナルサーバ4が1つだけ存在し、それにプログラムモジュールAがインストールされている(図1)。
【００２５】
2. ターミナルサーバファーム4aが存在し、プログラムモジュールAが1つのファームサーバだけにインストールされている(図2)。
【００２６】
3. プログラムモジュールAが、印刷専用サーバ3にインストールされている(図3)。
【００２７】
これら3つの場合のそれぞれで、プログラムモジュールAは、LPRからの印刷ジョブを受信する。加えてプログラムモジュールAには、どのユーザが印刷ジョブをトリガしたかが通知される。好ましい一実施形態では、印刷ジョブをトリガしたユーザに関する情報は、印刷ジョブ自体に一緒に含まれている。この情報を用いて、プログラムモジュールAは、図2および図3に示された状況において、まず、当該ユーザのセッションがどのターミナルサーバ4上で走っているかを決定することができる。それに基づいて、プログラムモジュールAは該当するターミナルサーバに印刷ジョブを送る。ここからはプログラムモジュールBが、好ましくは帯域幅を制御し、特に帯域幅を制限し、圧縮し、かつ/または暗号化して、当該ユーザに印刷データを転送する(これより先は、ユーザをアドレスすることを可能にするプロトコルの1つ、例えばICAまたはRDPを用いる)。
【００２８】
本発明の例示的一実施形態では、プログラムモジュールAを利用するのに、以下のシステム条件を使用する。
【００２９】
・SAP環境がインストールされ、コンフィグレーションされている。これには、アプリケーションサーバ1としてのSAPシステムと、ターミナルサーバ4と、LPRを含むスプールサーバ2と、場合によっては印刷専用サーバ3と、クライアントターミナル6上のICAクライアントとが該当する。
【００３０】
・ネットワークセキュリティを考慮して、ターミナルサーバ4、印刷専用サーバ3、ならびにスプールサーバ2での設定の変更には、管理者権限またはドメイン管理者権限を必要とするのが実用的であることがわかっている。
【００３１】
・この例示的実施形態では、すべてのターミナルサーバ4にプログラムモジュールBがインストールされている。
【００３２】
・さらにターミナルサーバ4上で、任意の、ただし使用可能なPCLプリンタまたはポストスクリプトプリンタが、仮想プリンタポートと接続されている。プリンタオブジェクトがユーザに見えない場合は、[システム]アカウントだけが使用可能になる。
【００３３】
・この例示的実施形態では、ファーム4aのすべてのターミナルサーバが、同じコンフィギュレーションをもつ。
【００３４】
・印刷専用サーバ3が、スタンドアロンサーバとして実施されているか、またはNetwork Load Balancing (NLB)を利用する場合は、プログラムモジュールAを印刷専用サーバにインストールすることができる。Microsoft Cluster Serviceを利用する場合は、インストール手順を各クラスタノードで実施する。
【００３５】
・それぞれのPC(クライアントターミナル6)に、必要なすべてのプリンタおよびプログラムモジュールCがインストールされている。
【００３６】
・この例示的実施形態では、ユーザは、ターミナルサーバ4で使用したのと同じユーザ名でアプリケーションサーバ1にログインすることが好ましい。そしてアプリケーションサーバ1は、このログインの際に使用されたユーザ名を、印刷ジョブと共に伝送する。その後、このユーザ名は、例えばスプールサーバ2のLPRによって「Control File」に入れられる。
【００３７】
プログラムモジュールAは、ターミナルサーバ4の1つまたは印刷専用サーバ3上だけでしか必要でない。本発明を商業使用する場合、この当該のターミナルサーバおよび印刷専用サーバにライセンスがインストールされていることが有利となることがある。
【００３８】
印刷専用サーバ3をクラスタサーバとして実施している場合の好ましい解決策は、各クラスタノードで固有のライセンスがインストールされるようにすることである。
【００３９】
さらに、プログラムモジュールAによって操作されるターミナルサーバ4がそれぞれ、少なくとも1つのライセンスを取得することが有利となることがある。
【００４０】
Citrix Systems, Inc.のMetaFrameサーバを使用する場合の印刷専用サーバ3が、どのMetaFrameサーバ4上で、印刷ジョブを転送すべきユーザセッションが走っているかを決定するには、例えば以下の手順を実施する。
【００４１】
・1つのMetaFrameサーバ4からMFreg.exeファイルをコピーする。このファイルは通常、...＼citrix＼system32ディレクトリ中にある。
【００４２】
・印刷専用サーバ3でプロンプトを開き、MFreg.exeファイルがファイルされているディレクトリに切り替え、そのファイルを起動する。その際、セッション情報をそこに呼び出すことが好ましいMetaFrameサーバ4のIPアドレスを、パラメータとして入力する。
【００４３】
構文: MFreg IPアドレス
例: MFreg 192.168.130.1
プログラムモジュールAのインストール(ターミナルサーバ4でしか必要ない例示的一実施形態、図1または2を参照)は、例えば次のように行うことができる。
【００４４】
1. プログラムモジュールAのファイルTPLPDsrv.exeを、用意したプログラムディレクトリにコピーする。例えば、
c:＼programme＼Thinprint＼LPD
2. 以下のようなプロンプトにより前記のディレクトリからファイルTPLPDsrv.exeを起動する。
【００４５】
TPLPDsrv -install
3. 管理者、好ましくはターミナルサーバファーム4aのドメイン管理者のアカウントでログインし、パスワードを2回入力し、OKで確認する。
【００４６】
4. それに続く指示にOKで応答する。
【００４７】
プログラムモジュールAがサービスとして登録されたことが確認される。このサービスは、そのコンフィギュレーションが終わってから起動される。
【００４８】
プログラムモジュールAをインストールしたユーザは、少なくともクラスタノードまたはターミナルサーバでのローカル管理者権限を持っていなければならない。さらにこのユーザは、場合によってはCitrix管理コンソールにおいてCitrix管理者として設定されていなければならない。この場合は読み取り権限で十分なこともある。
【００４９】
プログラムモジュールAのコンフィギュレーションは、例えば次のように行うことができる。
【００５０】
それぞれのターミナルサーバ上で、
・任意のプリンタを、ここでは例としてLexmark Optraをインストールし、それを使用可能にする。このプリンタを、ICAタイプまたはRDPタイプの仮想プリンタポートと接続する(仮想チャネルプロトコル)。
【００５１】
すべてのターミナルサーバで、同一のプリンタ名およびリリース名を選択するのが有利である。このプリンタは、そのコンテキストにおいてプログラムモジュールAが実行されているユーザの権限を有していなければならない。
【００５２】
プログラムモジュールAを備えたサーバ上で、
プリンタの選択
・プログラムモジュールAのインストールディレクトリから、プログラムモジュールAのコンフィギュレーションプログラムを起動する。
【００５３】
例えばTPLPDsrv -setup
その後に現れるコンフィギュレーションメニューが図4に示されている。
【００５４】
・「ターゲットプリンタ」としてプリンタLexmark Optraを選択または入力する。プログラムモジュールAは、印刷すべきファイルをプログラムモジュールBに転送するためにこのプリンタを利用する。
【００５５】
スプールサーバの選択
設定を変更するために、例えばLPDタブを備えたコンフィギュレーションメニューを用意することができる(図4bを参照)。LPDタブにより、例えばLPRおよびLPDの設定を選択することが可能になる。最も重要な設定は、LPRを使ってプログラムモジュールAにファイルを送ることができるスプールサーバを決定することである。標準設定0.0.0.0は、まだサーバが指定されていないことを意味している。この登録は変更可能である。
【００５６】
新しい登録は、例えば「追加」ボタンを使って行うことができる。これにより、例えばSAPサーバのIPアドレスおよびサブネットマスクを入力するためのメニューが現れる。
【００５７】
192.168.130.20
255.255.252.0
例示的一実施形態では、「削除」ボタンを選択することによって、個々の登録をリストから消去することができる。
【００５８】
例示的一実施形態では、LPDおよびLPRのコンフィギュレーションは、次のように行われる。
【００５９】
TCPポート
プログラムモジュールAが、入ってくるデータを聴取するTCPポートを入力する。標準値: 例えば515 (図4bを参照)。
【００６０】
タイムアウト
スプールサーバが自発的にデータの受取りを終了するまで、プログラムモジュールAがスプールサーバからの応答を待つ「タイムアウト」時間を決定する。標準値: 例えば30 s (図4bを参照)。
【００６１】
特定のTCPポートのみの接続を許可
TCPポート番号721〜731のLPRからしか印刷すべきファイルを送信してはいけないか、それとも任意のTCPポートから送信してよいかを決定する(図4bを参照)。
【００６２】
セッション呼び出し用サーバの決定(図4cを参照)
プログラムモジュールAは、どのターミナルサーバ上で当該ユーザのセッションが走っているかを決定しなければならない。これに関し、状況は3つに区別できる。例として示したコンフィギュレーションメニューの「セッション呼び出し」タブで、状況に応じてコンフィギュレーションを行うことができる。
【００６３】
1. プログラムモジュールAが、1つしかないターミナルサーバにインストールされている場合、この例示的実施形態でのコンフィギュレーションは、下記によって行う。
【００６４】
「スタンドアロンのターミナルサーバまたはMetaFrameサーバ(ローカル計算機)」を選択する。
【００６５】
2. プログラムモジュールAが、MetaFrameのファームサーバにインストールされている場合、この例示的実施形態でのコンフィギュレーションは、下記によって行う。
【００６６】
「MetaFrameファームサーバ」を選択し、IPアドレスとして127.0.0.1を入力する。
【００６７】
3. プログラムモジュールAが、Microsoftのファームサーバにインストールされている場合、この例示的実施形態でのコンフィギュレーションは、下記によって行う。
【００６８】
「ターミナルサーバ(負荷分散)」を選択し、IPアドレスとして127.0.0.1を入力する。
【００６９】
4. プログラムモジュールAが、印刷専用サーバにインストールされている場合、この例示的実施形態でのコンフィギュレーションは、下記によって行う。
【００７０】
「MetaFrameファームサーバ」または「ターミナルサーバ(負荷分散)」を選択し、(場合によっては代替の)ターミナルサーバのIPアドレスを入力する。
【００７１】
MFregで入力された好ましいMetaFrameサーバがアクセスできない場合に、代替のMetaFrameサーバを入力することが有利であることがわかっている。
【００７２】
Microsoftサーバクラスタのコンフィギュレーションを除き、「OK」ボタンを押すとコンフィギュレーションが終了する。これにより設定が記憶される。
【００７３】
これに続いて、Windows(登録商標)の「サービス」フォルダ内のプログラムモジュールAのサービスが起動できる。
【００７４】
印刷専用サーバとして、Microsoftサーバクラスタを使用する場合、この例示的実施形態では、インストール手順を、印刷サーバの各クラスタノードで個々に実施する。次に、クラスタインスタンスに切り替える。さらにクラスタのUNCバスを入力する。
【００７５】
続いて、以下のステップを実施する。
【００７６】
1. クラスタアドミニストレータ(CluAdmin.exe)を起動する。
【００７７】
2. CLUSTER GROUPにチェックを入れ、FILE_ NEW_ RESOURCEを選択する。
【００７８】
3. インストールするクラスタリソースの名前を入力する。例えばTPLPD
4. GENERIC SERVICEとCLUSTER GROUPを選択し、続いてNEXTを選択する。
【００７９】
5. プログラムモジュールAがインストールされたすべてのクラスタノードをADDで追加し、NEXTをクリックする。
【００８０】
6. リソースCLUSTER IP ADDRESSとCLUSTER NAMEをそれぞれADDでアクティブにし、NEXTで確認する。
【００８１】
7. Windows(登録商標)サービスの名前としてTPLPDSrvを入力し、NEXTで先へ進む。続いてクラスタアドミニストレータ内にプログラムモジュールAが現れる。
【００８２】
8. プログラムモジュールAにチェックを入れ、FILE → BRING ONLINEで終了しながらサービスを起動する。
【００８３】
プロトコルモジュールAのコンフィギュレーションツールで後から変更した場合は、サービスの再起動後に変更が有効になる。
【００８４】
1. そのために、Windows(登録商標)の[サービス]フォルダを開く。
【００８５】
2. サービスを再起動する。
【００８６】
Microsoftサーバクラスタ上で、クラスタアドミニストレータ(CluAdmin.exe)を起動し、サービスTPLPDにチェックを入れて選択することにより、このサービスを再起動する。
【００８７】
1.  FILE → TAKE OFFLINE、続いて
2.  FILE → BRING ONLINE
次に、印刷の過程をより詳細に説明する。
【００８８】
ターミナルセッションからユーザが印刷ジョブをトリガする(図3)。アプリケーションサーバ(1; 例えばSAPサーバ)が、その印刷ジョブをスプールサーバ2に送る。スプールサーバは、プログラムサーバAがインストールされているサーバ(印刷専用サーバ3またはターミナルサーバ4)に、LPRを用いて印刷ジョブを送る。
【００８９】
プログラムモジュールAが、ユーザがログインしているターミナルサーバ4を決定する。次いでプログラムモジュールAは、このターミナルサーバにインストールされているプログラムモジュールBに印刷ジョブを転送する。プログラムモジュールBは、印刷データを、帯域幅制御し、特に帯域幅制限し、圧縮し、暗号化して、WAN、インターネット5、またはその他の帯域幅に厳しい接続を経由して、ターミナルセッションから印刷ジョブをトリガしたユーザのクライアントターミナル6に送る(印刷プロトコルはICAまたはRDP)。
【００９０】
クライアントターミナル6のプログラムモジュールCは、印刷データを解凍および復号し、そのデータをプリンタ7に転送する。このプリンタは、クライアントのオペレーティングシステムの標準プリンタでも、プログラムモジュールCの標準プリンタでもよい。
【００９１】
ユーザが別のプリンタを利用したい場合は、印刷ジョブをトリガする前に、全く通常のやり方で、クライアントのオペレーティングシステムまたはプログラムモジュールCの標準プリンタを取り替える。ユーザにとって、アプリケーションサーバ1を経由するこの印刷は、あたかもユーザが、普段のままの自身のデスクトッププリンタ7で、または自身のクライアントターミナル6で全く通常のやり方でも設定できる、ローカルにインストールされたネットワークプリンタで印刷したように見える。例示的一実施形態では、印刷ジョブをプリントアウトする代わりにまたはそれに加えて、印刷プレビュー(ビジュアル)をディスプレイに出力することもできる。従来の解決策では、これも、印刷ジョブをトリガしたユーザに合わせて印刷データを出力することができないので、不可能である。
【００９２】
本発明の実施形態は、上に挙げた好ましい例示的実施形態に限定されるものではない。逆に、基本的に異なる種類の実施形態の場合にも本発明を利用する変形形態が幾つも考えられる。
【図面の簡単な説明】
【００９３】
【図１】スタンドアロンのターミナルサーバを1つだけ備えており、それにユーザセッションへの印刷ジョブの伝送を制御するプログラムモジュール(プログラムモジュールA)がインストールされている、アプリケーションサーバのための印刷支援構成の例を示す図である。
【図２】ターミナルサーバファームを備えており、1つのファームサーバだけにプログラムモジュールAがインストールされている、アプリケーションサーバのための印刷支援構成の例を示す図である。
【図３】印刷専用サーバを備えており、その印刷専用サーバにプログラムモジュールAがインストールされている、アプリケーションサーバのための印刷支援構成の例を示す図である。
【図４ａ】プログラムモジュールAのプリンタ選択のためのコンフィギュレーションメニューのタブを示す図である。
【図４ｂ】プログラムモジュールAのスプールサーバ選択のためのコンフィギュレーションメニューのタブを示す図である。
【図４ｃ】プログラムモジュールAのセッション呼び出し用サーバを決定するためのコンフィギュレーションメニューのタブを示す図である。
【符号の説明】
【００９４】
1  アプリケーションサーバ
2  スプールサーバ
3  印刷専用サーバ
4  ターミナルサーバ
4a ターミナルサーバファーム
5  インターネット
6  クライアントターミナル
7  デスクトッププリンタ、プリンタ
略語
DCOM  Distributed Component Object Model
GUI  Graphical User Interface
ICA  Independent Computing Architecture
IP  Internet Protocol (TCP/IPも参照)
LAN  Local Area Network
LPD  Line Printer Deamon
LPR  Line Printer Remote
MSCS  Microsoft Cluster Services
NLB  Network Load Balancing
RDP  Remote Desktop Protocol
s 秒
TCP/IP  Transmission Control Protocol over Internet Protocol
TP  ThinPrint
UNC  Microsoftのオペレーティングシステムの下でネットワークリソースにアクセスするための命名規則(universal naming convention); 例えば: ＼＼server＼verzeichnis
VPN  Virtual Private Network
WAN  Wide Area Network
WLAN  Wireless Local Area Network
【図１】
2008529142.tif 000003
【図２】
2008529142.tif 000004
【図３】
2008529142.tif 000005
【図４ａ】
2008529142.tif 000006
【図４ｂ】
2008529142.tif 000007
【図４ｃ】
2008529142.tif 000008
【国際調査報告】
2008529142.tif 000009
2008529142.tif 000010
2008529142.tif 000011
2008529142.tif 000012