JP2012053877A - クライアント/サーバソフトウェアインターラクションにおける動的機能の利用方法及び装置 - Google Patents

クライアント/サーバソフトウェアインターラクションにおける動的機能の利用方法及び装置 Download PDF

Info

Publication number
JP2012053877A
JP2012053877A JP2011190869A JP2011190869A JP2012053877A JP 2012053877 A JP2012053877 A JP 2012053877A JP 2011190869 A JP2011190869 A JP 2011190869A JP 2011190869 A JP2011190869 A JP 2011190869A JP 2012053877 A JP2012053877 A JP 2012053877A
Authority
JP
Japan
Prior art keywords
service
program
function information
server program
client
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2011190869A
Other languages
English (en)
Other versions
JP6095261B2 (ja
Inventor
Hitoshi Sekine
均 関根
Yue Liu
リィウ ユエ
Binu Li
リ ビヌ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Publication of JP2012053877A publication Critical patent/JP2012053877A/ja
Application granted granted Critical
Publication of JP6095261B2 publication Critical patent/JP6095261B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1204Improving or facilitating administration, e.g. print management resulting in reduced user or operator actions, e.g. presetting, automatic actions, using hardware token storing data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1205Improving or facilitating administration, e.g. print management resulting in increased flexibility in print job configuration, e.g. job settings, print requirements, job tickets
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1229Printer resources management or printer maintenance, e.g. device status, power levels
    • G06F3/1232Transmitting printer device capabilities, e.g. upon request or periodically
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1253Configuration of print job parameters, e.g. using UI at the client
    • G06F3/1254Automatic configuration, e.g. by driver
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • G06F3/1288Remote printer device, e.g. being remote from client or server in client-server-printer device configuration

Abstract

【課題】クライアントプログラムを、対応するサービスプログラムが提供するサービスとコンパチブルであるようにメンテナンスする際の手間と潜在的な間違いを削減する。
【解決手段】クライアントプログラム104は、受信したサービス機能情報150に基づきサービス要求152を生成する。サービス機能情報はサーバプログラム114から読み出され、サーバプログラムにより動的に維持されるので、サーバプログラムから得られるサービスが変更されても、クライアントプログラムを更新する必要はない。プリントクライアントプログラムは、現在のプリンタデバイス機能(サービス機能情報)を読み出し、読み出した、動的に維持されたプリンタデバイス機能情報に基づき、プリントジョブチケット(サービス要求)を生成する。ジョブチケットはサーバプログラムに送信され、ジョブチケットにより規定された文書を印刷させる。
【選択図】図1

Description

本発明は、クライアント/サーバのパラダイムを用いるコンピュータプログラム通信に関し、特にクライアントプログラムにおいて、動的に取得したサーバのサービス機能を利用する方法と装置に関する。
印刷環境では、印刷アプリケーションがプリントサーバのサービスを利用して印刷ジョブの印刷出力をするのが一般的である。かかる環境では、印刷アプリケーションは、サーバプログラムにサービスを要求するクライアントプログラムの役割を演じることもある。クライアントプログラムとサーバプログラムは、ネットワークを介して結合された異なる計算デバイスにあって動作するものであってもよいし、同じ計算デバイス内にあって動作するものであってもよい。クライアント/サーバコンピューティングパラダイムでは、クライアントプログラムがサーバプログラムにサービスを要求し、2つのプログラムが情報を交換して、要求されたサービスを実現する。
例えば、印刷環境では、クライアントアプリケーションプログラムは印刷する文書を生成し、その文書をプリントサーバプログラムに送り、そのプリントサーバにその文書のフォーマット、レイアウト、及びレンダリングをするよう要求する。クライアントアプリケーションプログラムは、いわゆる「ジョブチケット」を生成する。このジョブチケットは、プリントサーバが処理する印刷ジョブに対する様々なオプションや嗜好(preferences)を示すものである。ジョブチケットは、一般的には、サーバプログラムが提供する一組の利用可能なオプションや設定(すなわち、サーバプログラムが提供する「利用可能サービス」)から所望のものを選択する、ユーザとインターラクトするクライアントプログラム、またはアプリケーションプログラムインタフェースにより生成される。例えば、ジョブチケットは、クライアントアプリケーションプログラムにより画定され、どの印刷データファイル(印刷する文書等)を印刷するか、その文書を例えば両面印刷、レターサイズの用紙に印刷、(白黒印刷ではなく)フルカラー画像で印刷するかなどの希望を示すものである。これらのオプション例は、ユーザまたはクライアントアプリケーションプログラムが、利用可能オプション/サービスのリストから選択するようにしてもよい。利用可能オプションのリストは、一般的には、「デバイス機能」ファイル(または「DevCapファイル」と略称することもある)と呼ばれることが多いテーブルまたはファイルにエンコードされる。クライアント/サーバインターラクションが、あるサーバ計算デバイスが提供する任意のオプショナルサービスを指す場合、デバイス機能ファイルは、より一般的に、「サービス機能」ファイルと呼ばれることもある。
現在のクライアント/サーバコンピューテーションモデルでは、クライアントプログラムとサーバプログラムは、協働して、クライアントがサーバプログラムから利用できるすべてのサービス機能を知ることができるように、設計しなければならない。サーバプログラムが修正され、あるサービスが変更、追加、または削除されると、協働するクライアントプログラムは、同様に修正され、クライアントプログラムのユーザに変更されたサービスの利用のしかたを変更し、新しく追加されたサービスを利用し、または削除されたサービスの利用を中止させねばならない。クライアントプログラムとサーバプログラムが両方とも同じソフトウェアベンダーから提供されたものであれば、そのベンダーがそのクライアントプログラムを更新して潜在的に多数のユーザに配布する義務を負う。クライアントプログラムがカスタマイズされたアプリケーションである場合、そのカスタマイズされたアプリケーションの設計者/ユーザが、クライアントプログラムを修正し、サーバプログラムにおける変更に対応する(account for)義務を負う場合がある。クライアントプログラムをメンテナンスする義務が誰にあろうと、現在のクライアント/サーバコンピューテーションモデルでは、サーバプログラムが提供するサービスに合わせて、対応するクライアントプログラムの再設計や修正が必要である。このようにクライアントプログラムを定期的に再設計や修正をする必要があると、修正したクライアントプログラムの再テストや再配布などの多くの問題が発生する。
このように、クライアントプログラムを、対応するサービスプログラムが提供するサービスとコンパチブルであるようにメンテナンスする際の手間と潜在的な間違いを削減することは、依然として問題である。
[関連特許出願]
この出願は、2007年8月29日に出願した共有かつ同時係属中の米国特許出願第11/846,884号(発明の名称「CAPABILITY-BASED CONTROL OF A COMPUTER PERIPHERAL DEVICE」)と関連し、また共有かつ同時継続中の米国特許出願第11/846,926号(発明の名称「AUTOMATICALLY GENERATING CAPABILITY-BASED COMPUTER PERIPHERAL DEVICE
DRIVERS」)と関連する。両文献はその全体をここに参照援用する。
本発明は、サーバプログラムからクライアントプログラムに、動的に維持されたサービス機能情報を送信することにより改良した、クライアント/サーバプログラム通信のための方法とそれに関連する装置を提供することにより、上記その他の問題を解決し、有用な技術の水準を高くする。クライアントプログラムは、受信したサービス機能情報に基づきサービス要求を生成できる。サービス機能情報はサーバプログラムから読み出され、サーバプログラムにより動的に維持されるので、サーバプログラムから得られるサービスが変更されても、クライアントプログラムを更新する必要はない。一実施形態では、クライアントプログラムはプリントアプリケーションクライアントプログラムであってもよく、サーバプログラムはプリントサーバプログラムであってもよい。プリントクライアントプログラムは、プリントサーバプログラムから現在のプリンタデバイス機能(サービス機能情報)を読み出す。プリントクライアントプログラムは、次に、読み出した、動的に維持されたプリンタデバイス機能情報に基づいて、プリントジョブチケット(サービス要求)を生成する。このように生成されたジョブチケットは、サーバプログラムに送信され、プリントジョブチケットに示されたプリンタオプション/設定を用いて、ジョブチケットにより規定された文書の印刷をさせる。
本発明の一態様では、クライアントプログラムとサーバプログラムとの間で利用可能サービスを通信する方法を提供する。該方法は、クライアントプログラムが、サーバプログラムからサービス機能情報を受信する段階を含む。サービス機能情報は、サーバプログラムから得られるサービスに関する情報を含む。また、本方法は、

前記クライアントプログラムが、前記サービス機能情報に基づいて、サービス要求を生成する段階と、
前記クライアントプログラムから前記サーバプログラムに、前記サービス要求を送信して、前記サーバプログラムに所望のサービスを要求する段階とを有する。
本発明の他の一態様では、クライアントプログラムとサーバプログラムとの間で利用可能サービスを通信する方法を提供する。該方法は、サーバプログラムからクライアントプログラムに、サービス機能情報を送信する段階を含む。サービス機能情報は、サーバプログラムから得られるサービスに関する情報を含む。また該方法は、サーバプログラムが、クライアントプログラムからサービス要求を受信する段階を含む。サービス要求は、サーバプログラムにサービスの実行を要求するものであり、サービス機能情報に基づく。また該方法は、前記サーバプログラムが、前記サービス要求の受信に応じて、前記要求されたサービスを実行する段階を有する。

本発明のさらに他の態様では、クライアント計算デバイスで動作するクライアントプログラムと、サーバ計算デバイスで動作するサーバプログラムとを揺するシステムを提供する。サーバプログラムは、クライアントプログラムと通信可能に結合している。該システムはさらに、サービス機能情報を記憶する、サーバプログラムと結合したメモリを有する。サービス機能情報は、サーバプログラムから得られるサービスに関する情報を含む。サーバプログラムはサービス機能情報をクライアントプログラムに送信するように構成され、クライアントプログラムはサーバプログラムからサービス機能情報を受信するように構成されている。クライアントプログラムはさらに、サービス機能情報に基づきサービス要求を生成するように構成され、サービスプログラムにサービス要求を送信するように構成されている。サービス要求は、所望サービスを、クライアントプログラムに替わりサービスプログラムが実行することを要求するものである。サーバプログラムはさらに、サービス要求を受信するように構成され、所望のサービスを実行するようにさらに構成されている。
図面上、同じ参照番号は同じ要素または同じ種類の要素を表す。
本発明の一実施形態による強化クライアント/サーバ通信のシステム例を示すブロック図である。 本発明の一実施形態による強化クライアント/サーバ通信のシステム例を示すブロック図である。 本発明の一実施形態による強化クライアント/サーバプログラム通信を提供する、図1と図2に示したクライアントプログラムとサーバプログラムについてさらに詳細を示すブロック図である。 本発明の一実施形態による強化クライアント/サーバプログラム通信を提供する、図1と図2に示したクライアントプログラムとサーバプログラムについてさらに詳細を示すブロック図である。 本発明の一実施形態による強化クライアント/サーバ通信の方法例を示すフローチャートである。 本発明の一実施形態による強化クライアント/サーバ通信の方法例を示すフローチャート図である。 本発明の一実施形態による強化クライアント/サーバ通信の方法例を示すフローチャート図である。 本発明の一実施形態によるサービス機能情報の一例で規定できるカスタマイズしたサービス機能の一例を示す図である。
図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、PWG Semanticsなどを含む周知の標準に従うものであることが分かるであろう。
図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を合わせて、結合サービス機能情報(merged service capabilities information)424を生成する。結合サービス機能情報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を生成する。
具体的な実施形態を説明したが、本発明の範囲はこれらの具体的実施形態に限定されるものではない。本発明の範囲は、特許請求の範囲とその等価範囲により決まる。

Claims (20)

  1. クライアントプログラムとサーバプログラムとの間で利用可能なサービスを通信する方法であって、
    前記クライアントプログラムが、前記サーバプログラムから得られるサービスに関する情報を含むサービス機能情報を、前記サーバプログラムから受信する段階と、
    前記クライアントプログラムが、前記サービス機能情報に基づいて、サービス要求を生成する段階と、
    前記クライアントプログラムから前記サーバプログラムに、前記サービス要求を送信して、前記サーバプログラムに所望のサービスを要求する段階とを有する方法。
  2. 前記サービス機能情報は、前記サーバプログラムから得られる印刷サービスに関する印刷機能情報を含み、
    前記サービス要求は、前記サーバープログラムから得られる印刷サービスを利用して印刷ジョブを印刷するサービスを要求するジョブチケットを含む、請求項1に記載の方法。
  3. 前記生成する段階は、さらに
    前記クライアントプログラムが、前記サーバプログラムから得られる印刷サービスから印刷ジョブ設定を選択する段階と、
    前記選択した印刷ジョブ設定に基づき前記ジョブチケットを生成する段階とを有する、請求項2に記載の方法。
  4. 前記受信する段階はさらに
    前記クライアントプログラムが、事前に受信したサービス機能情報が有効か判断する段階と、
    前記クライアントプログラムが、前記事前に受信したサービス機能情報が有効でないとの判断に応じて、前記サーバプログラムからサービス機能情報を受信する段階とを有する、請求項1に記載の方法。
  5. 前記判断する段階はさらに
    前記クライアントプログラムが、前記サーバプログラムに問い合わせて、前記サービス機能情報の現在のバージョン識別子を判断する段階と、
    前記現在のバージョン識別子を、前記事前に受信したサービス機能情報に関連する事前のバージョン識別子とを比較する段階と、
    前記現在のバージョン識別子が前記事前のバージョン識別子と一致したら、前記事前に受信したサービス機能情報が有効であると判断する段階と、
    前記現在のバージョン識別子が前記事前のバージョン識別子と一致しなかったら、前記事前に受信したサービス機能情報が有効でないと判断する段階と、を有する、請求項4に記載の方法。
  6. 前記クライアントプログラムが、前記クライアントプログラムのユーザからユーザ認証情報を受け取る段階と、
    前記ユーザ認証情報を前記サーバプログラムに送信する段階と、を有し、
    前記サーバプログラムから受信するサービス機能情報は前記送信するユーザ認証情報に基づく、請求項1に記載の方法。
  7. 前記クライアントプログラムから前記サーバプログラムに、前記サーバプログラムから前記クライアントプログラムへサービス機能情報を返すことを要求する機能要求を送信する段階を有する、請求項1に記載の方法。
  8. クライアントプログラムとサーバプログラムとの間で利用可能なサービスを通信する方法であって、
    前記サーバプログラムから前記クライアントプログラムに、前記サーバプログラムから得られるサービスに関する情報を含むサービス機能情報を送信する段階と、
    前記サーバプログラムが、前記クライアントプログラムから、前記サーバプログラムから得られるサービスの実行を要求する、前記サービス機能情報に基づくサービス要求を受信する段階と、
    前記サーバプログラムが、前記サービス要求の受信に応じて、前記要求されたサービスを実行する段階とを有する、方法。
  9. 前記サービス機能情報は、前記サーバプログラムから得られる印刷サービスに関する印刷機能情報を含み、
    前記サービス要求は、前記サーバープログラムから得られる印刷サービスを利用して印刷ジョブを印刷するサービスを要求するジョブチケットを含む、請求項8に記載の方法。
  10. 前記サーバプログラムが、前記クライアントプログラムから、サービス機能情報を要求する機能要求を受信する段階を有し、
    前記送信する段階は、前記機能要求の受信に応じて行われる、請求項8に記載の方法。
  11. 静的サービス機能情報と動的サービス機能情報とをマージして、前記クライアントプログラムに送信するサービス機能情報を生成する段階をさらに有する、請求項8に記載の方法。
  12. 前記サーバプログラムが、前記クライアントプログラムから、前記サービス機能情報に関連する現在のバージョン識別子を返すことを要求する機能バージョン要求を受信する段階をさらに有する、請求項8に記載の方法。
  13. 前記サーバプログラムが、前記クライアントプログラムから、前記クライアントプログラムのユーザを識別するユーザ認証情報を受信する段階を有し、
    前記サービス機能情報を送信する段階は、前記受信したユーザ認証情報に基づいてサービス機能情報を送信する段階を有する、請求項8に記載の方法。
  14. クライアント計算デバイスで動作するクライアントプログラムと、
    サーバ計算デバイスで動作する、前記クライアントプログラムと通信可能に結合したサーバプログラムと、
    前記サーバプログラムと結合し、前記サーバプログラムから得られるサービスに関する情報を含むサービス機能情報を記憶するメモリとを有し、
    前記サーバプログラムは前記サービス機能情報を前記クライアントプログラムに送信するように構成され、前記クライアントプログラムは前記サーバプログラムから前記サービス機能情報を受信するように構成され、
    前記クライアントプログラムは、前記サービス機能情報に基づき、サービス要求を生成するように構成され、前記サービス要求を前記サーバプログラムに送信するようにさらに構成され、前記サービス要求は、所望のサービスを前記クライアントプログラムの替わりに前記サーバプログラムにより実行することを要求し、
    前記サーバプログラムはさらに、前記サービス要求を受信するように構成され、前記所望のサービスを実行するようにさらに構成された、システム。
  15. 前記サーバプログラムはプリントサーバプログラムを有し、
    前記クライアントプログラムはプリントアプリケーションプログラムを有する、
    請求項14に記載のシステム。
  16. 前記サービス要求はジョブチケットを含み、前記ジョブチケットは前記プリントサーバに、特定した文書を印刷するように要求する情報を含む、請求項15に記載のシステム。
  17. 前記ジョブチケットは、前記サービス機能情報に基づく印刷設定を含む、
    請求項16に記載のシステム。
  18. 前記クライアント計算デバイスと結合したユーザ入力デバイスをさらに有し、
    前記クライアントプログラムは、前記ユーザ入力デバイスによりユーザ入力を受け取り、前記サービス機能情報に示された利用可能なサービスから前記印刷設定を選択する、請求項17に記載のシステム。
  19. 前記メモリに記憶されるサービス機能情報は、
    前記サーバプログラムから得られるサービスに関する静的サービス機能情報と、
    前記得られるサービスを修正する動的サービス機能情報とを含み、
    前記サーバプログラムは、前記動的サービス機能情報を、前記静的機能情報とマージして、前記クライアントプログラムに送信するサービス機能情報を生成するようにさらに構成された、請求項14に記載のシステム。
  20. 前記動的サービス機能情報は、
    前記静的サービス機能情報中の利用可能なサービスの修正を示す情報と、
    前記静的サービス機能情報中の利用可能なサービスが削除されることを示す情報と、
    前記静的サービス機能情報中の利用可能なサービスに追加される新しいサービスを示す情報とを含む、請求項19に記載のシステム。
JP2011190869A 2010-09-02 2011-09-01 クライアント/サーバソフトウェアインターラクションにおける動的機能の利用方法及び装置 Active JP6095261B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/874,390 2010-09-02
US12/874,390 US8473547B2 (en) 2010-09-02 2010-09-02 Methods and structure for utilizing dynamic capabilities in client/server software interaction

Publications (2)

Publication Number Publication Date
JP2012053877A true JP2012053877A (ja) 2012-03-15
JP6095261B2 JP6095261B2 (ja) 2017-03-15

Family

ID=45771595

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011190869A Active JP6095261B2 (ja) 2010-09-02 2011-09-01 クライアント/サーバソフトウェアインターラクションにおける動的機能の利用方法及び装置

Country Status (2)

Country Link
US (1) US8473547B2 (ja)
JP (1) JP6095261B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014099148A (ja) * 2013-04-12 2014-05-29 Nintendo Co Ltd 情報処理装置、端末システム、情報処理プログラム、および、アプリケーションの更新用データの取得方法
US9753715B2 (en) 2012-11-15 2017-09-05 Nintendo Co., Ltd. Information processing apparatus, terminal system, storage medium having stored therein information processing program, and method of obtaining update data for efficiently updating data for an application

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9467507B2 (en) 2011-01-03 2016-10-11 Verizon Patent And Licensing Inc. Wireless network cloud computing resource management
US8953199B2 (en) * 2011-01-31 2015-02-10 Hewlett-Packard Development Company, L.P. Method and system to recommend an application
US9778888B2 (en) * 2014-02-25 2017-10-03 Ricoh Company, Ltd. Customizable media-based scheduling for a printing system

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001109693A (ja) * 1999-08-02 2001-04-20 Canon Inc デバイス検索クライアント並びにデバイス並びにデバイス検索サーバ、またその方法並びにそのプログラムが格納された記憶媒体
JP2004151942A (ja) * 2002-10-30 2004-05-27 Ricoh Co Ltd ウェブサービス提供装置、ウェブサービス提供方法およびウェブサービス提供プログラム
JP2005216079A (ja) * 2004-01-30 2005-08-11 Fuji Xerox Co Ltd 情報処理装置、情報処理システム、デバイス設定情報管理方法およびデバイス設定情報管理プログラム
JP2006345085A (ja) * 2005-06-07 2006-12-21 Canon Inc 設定情報入力装置、設定情報入力方法およびプログラム
JP2009032250A (ja) * 2007-07-30 2009-02-12 Ricoh Co Ltd 印刷サーバーのデータ処理装置および記録媒体

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8589866B2 (en) 2007-08-29 2013-11-19 Ricoh Company, Ltd. Automatically generating capability-based computer peripheral device drivers
US8214548B2 (en) 2007-08-29 2012-07-03 Ricoh Company, Ltd. Capability-based control device driver of a computer peripheral device
US20090279125A1 (en) * 2008-05-09 2009-11-12 Yue Liu Methods and structure for generating jdf using a printer definition file
US20100149579A1 (en) * 2008-12-11 2010-06-17 Zarana Shah Methods and structure for automated devcaps file verification
US20110029658A1 (en) * 2009-07-24 2011-02-03 Theodore Werth System and methods for providing a multi-device, multi-service platform via a client agent

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001109693A (ja) * 1999-08-02 2001-04-20 Canon Inc デバイス検索クライアント並びにデバイス並びにデバイス検索サーバ、またその方法並びにそのプログラムが格納された記憶媒体
JP2004151942A (ja) * 2002-10-30 2004-05-27 Ricoh Co Ltd ウェブサービス提供装置、ウェブサービス提供方法およびウェブサービス提供プログラム
JP2005216079A (ja) * 2004-01-30 2005-08-11 Fuji Xerox Co Ltd 情報処理装置、情報処理システム、デバイス設定情報管理方法およびデバイス設定情報管理プログラム
JP2006345085A (ja) * 2005-06-07 2006-12-21 Canon Inc 設定情報入力装置、設定情報入力方法およびプログラム
JP2009032250A (ja) * 2007-07-30 2009-02-12 Ricoh Co Ltd 印刷サーバーのデータ処理装置および記録媒体

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9753715B2 (en) 2012-11-15 2017-09-05 Nintendo Co., Ltd. Information processing apparatus, terminal system, storage medium having stored therein information processing program, and method of obtaining update data for efficiently updating data for an application
JP2014099148A (ja) * 2013-04-12 2014-05-29 Nintendo Co Ltd 情報処理装置、端末システム、情報処理プログラム、および、アプリケーションの更新用データの取得方法

Also Published As

Publication number Publication date
JP6095261B2 (ja) 2017-03-15
US8473547B2 (en) 2013-06-25
US20120060157A1 (en) 2012-03-08

Similar Documents

Publication Publication Date Title
US8654379B2 (en) Data processing apparatus and recording medium
JP5565346B2 (ja) プリンタ
KR20080095745A (ko) 화상 형성 장치의 커스터마이즈 방법 및 시스템
JP6040878B2 (ja) 印刷装置、印刷制御装置、印刷システム及びプログラム
US20110067088A1 (en) Image processing device, information processing method, and recording medium
JP6095261B2 (ja) クライアント/サーバソフトウェアインターラクションにおける動的機能の利用方法及び装置
JP2011034562A (ja) プリントシステム
US20130033722A1 (en) Systems and methods for providing content to a peripheral device
US20080250430A1 (en) Method and corresponding apparatus for creation of print drivers in a network
JP5551422B2 (ja) ドキュメントにセキュリティ特徴を組み込む方法とその装置
US20140368880A1 (en) Dynamic application generation for a content feed
US20140347692A1 (en) Data processing system and method of data processing
JP5655909B2 (ja) 方法および情報処理装置
US20150227327A1 (en) Network system, information processing apparatus, and print setting method
US20120057199A1 (en) Image forming system, server, and image forming apparatus
US20220350553A1 (en) Server system
JP2017134806A (ja) サービス提供システム、情報処理装置、プログラム、情報処理システム及び連携処理方法
US11789683B2 (en) Storage medium, computer, and method related to application for providing print setting screen
JP5450678B2 (ja) ネットワークにおけるイベント通知システム
JP5858092B2 (ja) プリンタ
JP2009181344A (ja) 情報処理装置、描画命令生成装置、情報処理システム、情報処理装置の制御方法、描画命令生成装置の制御方法及びプログラム
JP5745935B2 (ja) 印刷システム、印刷データ変換装置、印刷データ変換方法、コンピュータプログラム、及び、記録媒体
JP2015156077A (ja) 情報処理システム、その制御方法、及びプログラム、並びに情報処理サーバ、その制御方法、及びプログラム
JP2023183237A (ja) 印刷装置、その制御方法及びプログラム
JP2023136634A (ja) 印刷管理システム、及び方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140812

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150303

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150310

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150508

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20151104

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160203

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20160210

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20160408

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170214

R150 Certificate of patent or registration of utility model

Ref document number: 6095261

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150