クライアントプログラムとサーバプログラムとの間で利用可能なサービスを通信する方法であって、前記クライアントプログラムが、前記サーバプログラムから得られるサービスに関する情報を含むサービス機能情報を、前記サーバプログラムから受信する段階と、前記クライアントプログラムが、前記サービス機能情報に基づいて、サービス要求を生成する段階と、前記クライアントプログラムから前記サーバプログラムに、前記サービス要求を送信して、前記サーバプログラムに所望のサービスを要求する段階とを有する方法。前記サービス機能情報は、前記サーバプログラムから得られる印刷サービスに関する印刷機能情報を含み、前記サービス要求は、前記サーバープログラムから得られる印刷サービスを利用して印刷ジョブを印刷するサービスを要求するジョブチケットを含む、請求項1に記載の方法。前記生成する段階は、さらに前記クライアントプログラムが、前記サーバプログラムから得られる印刷サービスから印刷ジョブ設定を選択する段階と、前記選択した印刷ジョブ設定に基づき前記ジョブチケットを生成する段階とを有する、請求項2に記載の方法。前記受信する段階はさらに前記クライアントプログラムが、事前に受信したサービス機能情報が有効か判断する段階と、前記クライアントプログラムが、前記事前に受信したサービス機能情報が有効でないとの判断に応じて、前記サーバプログラムからサービス機能情報を受信する段階とを有する、請求項1に記載の方法。前記判断する段階はさらに前記クライアントプログラムが、前記サーバプログラムに問い合わせて、前記サービス機能情報の現在のバージョン識別子を判断する段階と、前記現在のバージョン識別子を、前記事前に受信したサービス機能情報に関連する事前のバージョン識別子とを比較する段階と、前記現在のバージョン識別子が前記事前のバージョン識別子と一致したら、前記事前に受信したサービス機能情報が有効であると判断する段階と、前記現在のバージョン識別子が前記事前のバージョン識別子と一致しなかったら、前記事前に受信したサービス機能情報が有効でないと判断する段階と、を有する、請求項4に記載の方法。前記クライアントプログラムが、前記クライアントプログラムのユーザからユーザ認証情報を受け取る段階と、前記ユーザ認証情報を前記サーバプログラムに送信する段階と、を有し、前記サーバプログラムから受信するサービス機能情報は前記送信するユーザ認証情報に基づく、請求項1に記載の方法。前記クライアントプログラムから前記サーバプログラムに、前記サーバプログラムから前記クライアントプログラムへサービス機能情報を返すことを要求する機能要求を送信する段階を有する、請求項1に記載の方法。クライアントプログラムとサーバプログラムとの間で利用可能なサービスを通信する方法であって、前記サーバプログラムから前記クライアントプログラムに、前記サーバプログラムから得られるサービスに関する情報を含むサービス機能情報を送信する段階と、前記サーバプログラムが、前記クライアントプログラムから、前記サーバプログラムから得られるサービスの実行を要求する、前記サービス機能情報に基づくサービス要求を受信する段階と、前記サーバプログラムが、前記サービス要求の受信に応じて、前記要求されたサービスを実行する段階とを有する、方法。前記サービス機能情報は、前記サーバプログラムから得られる印刷サービスに関する印刷機能情報を含み、前記サービス要求は、前記サーバープログラムから得られる印刷サービスを利用して印刷ジョブを印刷するサービスを要求するジョブチケットを含む、請求項8に記載の方法。前記サーバプログラムが、前記クライアントプログラムから、サービス機能情報を要求する機能要求を受信する段階を有し、前記送信する段階は、前記機能要求の受信に応じて行われる、請求項8に記載の方法。静的サービス機能情報と動的サービス機能情報とをマージして、前記クライアントプログラムに送信するサービス機能情報を生成する段階をさらに有する、請求項8に記載の方法。前記サーバプログラムが、前記クライアントプログラムから、前記サービス機能情報に関連する現在のバージョン識別子を返すことを要求する機能バージョン要求を受信する段階をさらに有する、請求項8に記載の方法。前記サーバプログラムが、前記クライアントプログラムから、前記クライアントプログラムのユーザを識別するユーザ認証情報を受信する段階を有し、前記サービス機能情報を送信する段階は、前記受信したユーザ認証情報に基づいてサービス機能情報を送信する段階を有する、請求項8に記載の方法。クライアント計算デバイスで動作するクライアントプログラムと、サーバ計算デバイスで動作する、前記クライアントプログラムと通信可能に結合したサーバプログラムと、前記サーバプログラムと結合し、前記サーバプログラムから得られるサービスに関する情報を含むサービス機能情報を記憶するメモリとを有し、前記サーバプログラムは前記サービス機能情報を前記クライアントプログラムに送信するように構成され、前記クライアントプログラムは前記サーバプログラムから前記サービス機能情報を受信するように構成され、前記クライアントプログラムは、前記サービス機能情報に基づき、サービス要求を生成するように構成され、前記サービス要求を前記サーバプログラムに送信するようにさらに構成され、前記サービス要求は、所望のサービスを前記クライアントプログラムの替わりに前記サーバプログラムにより実行することを要求し、前記サーバプログラムはさらに、前記サービス要求を受信するように構成され、前記所望のサービスを実行するようにさらに構成された、システム。前記サーバプログラムはプリントサーバプログラムを有し、前記クライアントプログラムはプリントアプリケーションプログラムを有する、請求項14に記載のシステム。前記サービス要求はジョブチケットを含み、前記ジョブチケットは前記プリントサーバに、特定した文書を印刷するように要求する情報を含む、請求項15に記載のシステム。前記ジョブチケットは、前記サービス機能情報に基づく印刷設定を含む、請求項16に記載のシステム。前記クライアント計算デバイスと結合したユーザ入力デバイスをさらに有し、前記クライアントプログラムは、前記ユーザ入力デバイスによりユーザ入力を受け取り、前記サービス機能情報に示された利用可能なサービスから前記印刷設定を選択する、請求項17に記載のシステム。前記メモリに記憶されるサービス機能情報は、前記サーバプログラムから得られるサービスに関する静的サービス機能情報と、前記得られるサービスを修正する動的サービス機能情報とを含み、前記サーバプログラムは、前記動的サービス機能情報を、前記静的機能情報とマージして、前記クライアントプログラムに送信するサービス機能情報を生成するようにさらに構成された、請求項14に記載のシステム。前記動的サービス機能情報は、前記静的サービス機能情報中の利用可能なサービスの修正を示す情報と、前記静的サービス機能情報中の利用可能なサービスが削除されることを示す情報と、前記静的サービス機能情報中の利用可能なサービスに追加される新しいサービスを示す情報とを含む、請求項19に記載のシステム。図1乃至8と以下の説明により、当業者に本発明をいかに実施するか教示する、本発明の具体的な実施形態の例を示す。本教示のためには、本発明のうち従来技術に属する部分については簡単に説明するか、説明を省略した。当業者には、これらの実施形態の、本発明の範囲内に入る変形が分かるであろう。当業者には言うまでもなく、下記の特徴をいろいろと組み合わせて、本発明の複数のバリエーションを構成できる。結果として、本発明は以下に説明する具体的な実施形態に限定はされず、特許請求の範囲及びその均等の範囲にのみ限定される。図1は、クライアントプログラム104とサーバプログラム114間で動的サービス機能情報を通信する、本発明の一実施形態により強化されたシステム100を示すブロック図である。クライアントプログラム104は、クライアントコンピュータ102上で動作する任意の適切なアプリケーションプログラムまたはシステムプログラムである。サーバプログラム114は、サーバコンピュータ112上で動作可能な、指定されたサービスを提供する任意の適切なソフトウェアである。一実施形態では、クライアントコンピュータ102とサーバコンピュータ112は、別の計算デバイスである。他の一実施形態では、クライアントコンピュータ102とサーバコンピュータ112は、クライアントプログラム104とサーバプログラム114が両方とも実行できるひとつの計算デバイスとして実施される。クライアントコンピュータ102とサーバコンピュータ112は、それぞれ任意の適切な計算デバイスであり、例えばパーソナルコンピュータ、ワークステーションなどを含む。メモリ116がサーバコンピュータ112に付随し、より具体的には、サーバプログラム114と通信可能に結合している。メモリ116は、サーバコンピュータ112上で動作可能なサーバプログラム114から利用できるサービスに関するサービス機能情報を記憶するように構成されている。サーバプログラム114によりメモリ116から読み出されたサービス機能情報は、メッセージ150で示したように、クライアントプログラム104に送信される。メッセージ150その他の情報を送信する目的で、任意の適切な通信メカニズムを利用して、クライアントプログラム104をサーバプログラム114と結合することができる。クライアントプログラム104とサーバプログラム114が別のコンピュータ例えば、102と112上で動作可能な場合、クライアントプログラム104とサーバプログラム14の間の通信にはイーサネットやTCP/IPなどのネットワーク通信メディアが利用される。他の実施形態では、リモートプロシージャコールやその他のプロセス間通信メディアやプロトコルを、クライアントプログラム104とサーバプログラム114の間のメッセージ交換に利用できる。クライアントプログラム104は、メッセージ150としてサービス機能情報を受け取ると、サービス要求を生成し、メッセージ152で示したようにそれをサーバプログラム114に送信する。サーバプログラム114は、サービス要求メッセージ152の受け取りに応じて、クライアントプログラム104の替わりに、要求されたサービスを実行する。一実施形態では、クライアントコンピュータ102は、クライアントプログラム104と通信可能に結合したユーザ入力デバイス106も含む。ユーザ入力デバイス106は、キーボード、マウスまたはその他のポインタデバイス、タッチスクリーン、音声認識などを含むユーザ入力を受け取るのに好適な任意のデバイスである。クライアントプログラム104は、メッセージ150としてサービス機能情報を受け取ると、ユーザ入力デバイス106によりユーザとインターラクトして、ユーザに、メッセージ150として受け取ったサービス機能情報で規定された利用可能なサービスのうちから所望のオプションや設定を選択させる。一実施形態では、本発明の特徴と態様を、印刷システム会社のクライアント/サーバ通信で利用できる。図2は、印刷クライアントプログラム204が印刷アプリケーションクライアントコンピュータ202内で動作できるシステム例200を示す。クライアントプログラム202は、プリントサーバコンピュータ212で動作可能なプリントサーバプログラム214と通信可能に結合している。メモリ216は、プリントサーバプログラム214と通信可能に結合し、プリントサーバプログラム214が提供する利用可能なサービスに関する情報を記憶するように構成されている。プリンタデバイス機能情報は、メモリ216から読み出して、メッセージ250としてプリントサーバプログラム214からプリントクライアントプログラム204に送信できる。プリントクライアントプログラム204は、プリンタデバイス機能情報の受け取りに応じて、プリントサーバプログラム214内の特定されたサービスを用いて処理するプリントジョブを規定したプリントジョブチケット例えば、サービス要求を生成する。プリントサーバプログラム214は、次に、メッセージ252として受け取ったプリントジョブチケット中に規定された指示設定及びオプションにしたがって、要求されたサービスを実行する。プリントクライアントプログラム204は、ユーザ入力デバイス206を利用して、受け取ったプリンタデバイス機能情報に示された利用可能なサービスに基づいて、ユーザに所望の印刷オプション/設定をユーザに選択させる。図1を参照して説明したように、プリントアプリケーションクライアントコンピュータ202とプリントサーバコンピュータ212とは、別個の異なる計算デバイスであってもよい。あるいは、コンピュータ202とコンピュータ212は、プリントクライアントプログラム204とプリントサーバプログラム214が両方とも実行可能な1つの計算デバイスでもよい。当業者は、完全に機能的なコンピュータと図1と図2に示したシステムとにおいてて、多数の付加的要素や等価な要素を容易に考えつくことができるであろう。かかる付加的要素や等価要素は説明を簡明かつ簡潔にするため、ここでは省略する。さらに、当業者には、サービス機能情報デバイス機能等とサービス要求ジョブチケット等は、CIP4により規定されたJDF、マイクロソフトコーポレーションにより規定されたPrintSchema、XML、PWGSemanticsなどを含む周知の標準に従うものであることが分かるであろう。図3は、本発明の一実施形態による、通信中のクライアントプログラムとサーバプログラムの動作を示すシステム300のブロック図である。具体的に、図3のクライアントプログラム302は、動的サービス機能情報を利用するため、改良型サーバプログラム322とインターラクトし、静的サービス機能情報のみを用いる従来のレガシーサーバプログラム332ともインターラクトできる。レガシーサーバプログラム332とインターラクトする際、サーバプログラム332とクライアントプログラム302は両方とも、同一の静的サービス機能情報308を利用しなければならない。従来技術で行われているように、システム300のインストレーションプロセスにより、サーバプログラム332とクライアントプログラム302が両方とも、同一の静的サービス機能情報にアクセスする。動作中、本技術分野で現在行われているように、クライアントプログラム302は、静的サービス機能情報308を用いて、サービス要求310例えば、静的機能308から生成したジョブチケットを生成する。このように生成されたサービス要求310は、要求したサービスを実行するサーバプログラム332に送信される。本発明の一実施形態では、クライアントプログラム302は、改良したサービスプログラム322ともインターラクトして、動的サービス機能情報を利用するように構成されている。より具体的に、改良したサーバプログラム332は、動的に維持されたサービス機能情報324を記憶するメモリを含む。動的に維持されたサービス機能情報324は、動的に取得したサービス機能情報304として、クライアントプログラム302に送信される。クライアントプログラム302は、情報304を用いて、改良したサーバプログラム322にサービスを要求するサービス要求306例えば、ジョブチケットを生成する。サービス要求306は、動的に取得したサービス機能情報304の利用可能なサービスに基づき生成される。このように、サービス要求306は、メモリ324で動的に更新されサーバプログラム322から現在利用可能なサービスを、規定することができる。サービス要求306を生成する際、新しいサービスを利用できる。削除したサービスは情報304中では規定されておらず、クライアントプログラム302の動作によるサービス要求306には規定できない。動的情報304中のサービスに関連する設定やパラメータの変更はカレントcurrentであり、サービス要求306の生成においてクライアントプログラム302により利用できる。このように改良した通信により、サーバプログラム322は更新されサービス機能が修正されているので、クライアントプログラム302を修正する必要はなく、動的に取得したサービス機能情報304を利用してサービス機能の変更を知らされていればよい。一実施形態では、サービス要求306は、クライアントプログラム302がすでに知っている動的機能304と静的機能308のいずれか、または両方の機能に基づき、クライアントプログラム302により生成される。このような実装により、クライアント302は、知っている静的サービス機能と動的サービス機能の両方を合わせたサービスを規定できる。図4は、本発明の一実施形態による、改良システム100の動作のさらに詳細を示すブロック図である。図4のクライアント402は、サーバプログラム422からの動的に取得したサービス機能情報404を読み出す。さらに、クライアントプログラム402は、動的に取得したサービス機能情報404に規定された利用可能なサービスに基づき、サービス要求406例えば、ジョブチケットを生成する。サーバプログラム422は、静的サービス機能情報426と動的サービス機能情報428を両方とも含み得る。サーバプログラム422は、静的情報426と動的情報428を合わせて、結合サービス機能情報mergedservicecapabilitiesinformation424を生成する。結合サービス機能情報424は、クライアントプログラム402に送信され、動的に取得したサービス機能情報404として利用される。当業者は、図3と図4にそれぞれ示した完全に機能的なシステム300、400において、多数の付加的要素や等価な要素を容易に考えつくことができるであろう。かかる付加的要素や等価要素は説明を簡明かつ簡潔にするため、ここでは省略する。図5は、本発明の一実施形態による、クライアント/サーバ通信システムにおけるクライアントプログラムの動作を改良する方法例を示すフローチャートである。図5の方法は、図1ないし4にそれぞれ示したクライアントプログラム102、202、302、402などのクライアントプログラムを実行するクライアントコンピュータで実行できる。ステップ500において、クライアントプログラムは、サーバプログラムからサービス機能情報を受信する。サービス機能情報は、クライアントプログラムが利用できる、サーバプログラムのサービスを記述する。ステップ502において、クライアントプログラムは、受信したサービス機能情報に基づきサービス要求を生成する。サービス機能情報中に特定されたサービスは、そのサービスに対して規定できるサービス機能情報にも示されている適切なパラメータや設定を特定したサービス要求において要求することができる。ステップ504において、生成したサービス要求をサーバプログラムに送信して、その生成されたサービス要求において特定されたサービスの実行を要求する。図6は、本発明の一実施形態による、クライアント/サーバ通信システムにおけるサーバプログラムの動作を改良する方法例を示すフローチャートである。図6の方法は、図1ないし4にそれぞれ示したサーバプログラム112、212、322、422などのサーバプログラムを実行するサーバコンピュータで実行できる。ステップ600において、サーバプログラムは、要求元のクライアントプログラムにサービス機能情報を送信する。サービス機能情報は、クライアントプログラムが利用できる、サーバプログラムから得られるサービスを記述する。ステップ602において、サーバプログラムは、クライアントプログラムからサービス機能情報を受信する。サービス要求は、事前にサーバプログラムからクライアントプログラムに送信された、動的に取得したサービス機能情報に基づき、クライアントプログラムにより生成される。ステップ604において、要求元のクライアントプログラムのために、要求されたサービスがサーバプログラムにより実行される。一実施形態では、上記の通り、クライアントプログラムは印刷アプリケーションクライアントプログラムであってもよく、サーバプログラムはプリントサーバプログラムであってもよい。印刷クライアントプログラムは、サービス機能情報を、プリントサーバプログラムにより管理されたプリンタのプリンタデバイス機能を示すものとして受信してもよい。そのため、サービス機能情報に記載された機能は、プリントサーバプログラムから得られるサービスの設定とオプションを提供する。このように、サービス要求は、プリントクライアントの要求において、プリントサーバプログラムにより印刷される文書の、選択された設定とオプションを指定するプリントジョブチケットを含む。サービス要求例えば、ジョブチケットの受信に応じて、プリントサーバプログラムは、ジョブチケットで指定された設定とオプションに従って、特定された文書をフォーマット、レイアウト、及びレンダーrenderする。このようにフォーマットされレンダーrenderされた印刷ジョブは、要求元のプリントアプリケーションクライアントプログラムの替わりに、プリントサーバプログラムの制御下で印刷される。図7は、本発明の一実施形態による、クライアントプログラムがサーバプログラムから動的に維持されたサービス機能情報を受信するクライアント/サーバ通信を提供する方法例を示すフローチャートである。図7の方法は、図1ないし4を参照して説明したクライアントプログラムとサーバプログラムとを含むシステムにおいて動作し得る。特に、ステップ700ないし710はクライアントプログラムにおいて動作可能であり、一方ステップ720ないし728はサーバプログラムで協力的に動作可能である。一実施形態では、クライアントプログラムは、ステップ700において、クライアントプログラムのユーザを識別するユーザ認証情報を取得する。ユーザ認証情報は、ユーザIDおよび/またはパスワード、個人識別番号PIN、バイオメトリック情報、その他のクライアントプログラムのユーザを識別する好適な情報を含む。他の一実施形態では、サービス要求を生成するためには、ユーザを識別する必要はない。サーバプログラムの初期化の際のある時点において、またはサービスプログラム内のサービス機能が修正された時に、ステップ720において、事前に画定した静的サーブ情報を現在画定されている動的サービス情報により修正したものをマージして、現在のサービス機能情報を生成する。このようにマージすることにより生成されたサービス機能情報は、要求元のクライアントプログラムに送信され、そのクライアントプログラムに、サーバプログラムから現在得られるサービスを提供する。ステップ722において、サーバプログラムは、ステップ720において生成されたサービス機能情報を読み出す、クライアントプログラムからの要求を待つ。クライアントプログラムの動作に戻り、ステップ702において、クライアントプログラムは、サーバプログラムからのサービスが必要になると、サーバプログラムから現在のサービス機能情報の読み出し要求を生成する。上記の通り、ある実施形態では、ステップ700においてクライアントプログラムのユーザを識別するユーザ認証情報が得られる。かかる実施形態では、サーバプログラムからのサービス機能情報の要求は、識別されたユーザの情報供給されたユーザ認証情報や、クライアントプログラムのユーザを識別するその他の情報等を含む。ステップ704において、クライアントプログラムは、サーバプログラムから、要求されたサービス機能情報の受信を待つ。サーバの動作に戻り、任意的に、識別されたユーザを規定するサービス機能情報を求める要求の受信に応じて、ステップ724において、要求元のクライアントプログラムに、識別されたユーザの要求されたサービス機能情報を送信する。ステップ726において、サーバプログラムは、クライアントプログラムからサービス機能情報の受信を待つ。クライアントプログラムの動作に戻り、サービスプログラムからの、要求したサービス機能情報の受信に応じて、ステップ706において、受信したサービス機能情報中の利用可能なサービスから特定の設定やオプションを選択するユーザ入力を取得する。ユーザ入力は、本技術分野で周知のテキストまたはグラフィカルなユーザインタフェースを利用して取得できる。識別したユーザに提示するユーザインタフェースは、読み出した、動的に維持されたサービス機能情報に示された、サーバプログラムから得られる利用可能サービスのみを示すものである。ユーザによる設定やオプションの選択に続いて、ステップ708において、選択された設定やオプションに基づいてサービス要求を生成する。サービス要求は、クライアントプログラムの、ユーザにより要求された特定のサービスと、そのサービスに関連する任意の適切な設定またはオプションを示す。ステップ710において、クライアントプログラムは、サーバプログラムに、生成したサービス要求を送信する。サーバの動作に戻り、クライアントプログラムからのサービス要求の受信に応じて、サーバプログラムは、ステップ728において、要求されたサービスを実行する。上記の通り、一実施形態では、クライアントプログラムは印刷アプリケーションクライアントプログラムであってもよく、サーバプログラムはプリントサーバプログラムであってもよい。このように、印刷アプリケーションクライアントプログラムは、プリントサーバプログラムにプリンタデバイス機能例えば、サービス機能情報を要求できる。動的に維持されたサービス機能情報の受信に応じて、プリントアプリケーションクライアントプログラムは、プリントサーバプログラムから現在得られるサービスに基づき、ジョブチケットサービス要求を生成できる。例えば、プリントアプリケーションクライアントプログラムは、プリントサーバプログラムから現在得られるサービスに基づいた所望の設定とオプションでプリントサーバプログラムが文書を印刷することを要求できる。設定とオプションは、特定された文書に対して実行するフォーマットとレイアウトを規定し、規定された設定とオプションによりプリントサーバが文書をレンダーすることを要求するものであってもよい。本技術分野の当業者は、図5乃至図7に示した完全に機能的な方法について、多数の付加的なステップや等価なステップを容易に考えつくことができるであろう。かかる付加的ステップや等価なステップは説明を容易かつ簡明にするためにここでは省略する。図8は、サービス機能情報の一例で規定できるカスタマイズしたサービス機能の一例を示す図である。サービス例800すなわち、サービス機能は、CIP4標準に従って図示したように規定できる。このサービス機能の受信に応じて、クライアントプログラムは、グラフィカルまたはテキストユーザインタフェースを提示して、このように規定したサービスをユーザに選択有効化または選択解除非有効化させる。例えば、スキューモードサービスを有効化するユーザの選択802に基づいて、この新しく追加されたサービスのユーザによる選択を規定するジョブチケット804を生成する。具体的な実施形態を説明したが、本発明の範囲はこれらの具体的実施形態に限定されるものではない。本発明の範囲は、特許請求の範囲とその等価範囲により決まる。