Nothing Special   »   [go: up one dir, main page]

JP5114318B2 - Data processing apparatus and recording medium for print server - Google Patents

Data processing apparatus and recording medium for print server Download PDF

Info

Publication number
JP5114318B2
JP5114318B2 JP2008171574A JP2008171574A JP5114318B2 JP 5114318 B2 JP5114318 B2 JP 5114318B2 JP 2008171574 A JP2008171574 A JP 2008171574A JP 2008171574 A JP2008171574 A JP 2008171574A JP 5114318 B2 JP5114318 B2 JP 5114318B2
Authority
JP
Japan
Prior art keywords
printing device
print
client
data
printing
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.)
Expired - Fee Related
Application number
JP2008171574A
Other languages
Japanese (ja)
Other versions
JP2009032250A (en
Inventor
ディン イ
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 JP2009032250A publication Critical patent/JP2009032250A/en
Application granted granted Critical
Publication of JP5114318B2 publication Critical patent/JP5114318B2/en
Expired - Fee Related 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/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
    • 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/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1224Client or server resources management
    • G06F3/1226Discovery of devices having required properties
    • 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/126Job scheduling, e.g. queuing, determine appropriate device
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Computer And Data Communications (AREA)

Description

本開示は電子文書の印刷に関する。   The present disclosure relates to printing electronic documents.

このセクションに記載されるアプローチは、追求できるアプローチであるが、必ずしも以前に着想または追求されたことのあるアプローチではない。したがって、特に断りのない限り、このセクションに記載されるアプローチのいずれかが、このセクションに含められているというだけのことをもって従来技術になると想定するべきではない。   The approaches described in this section are approaches that can be pursued, but not necessarily approaches that have been previously conceived or pursued. Thus, unless otherwise noted, it should not be assumed that any of the approaches described in this section will be prior art simply by being included in this section.

企業は同じフロアにまたは同じ概略的な領域に位置する異なる機能をもった多くの印刷装置を有することがある。ユーザーによっては、ある種の要件を満たす印刷装置を使うことを所望することがある。印刷装置の要件の例は、あるレベルのセキュリティの保証、カラー印刷サポート、ある印刷スピードまたはページ・スループットの提供、ビルのあるフロアに位置していることなどを含む。すべての要件を満たす印刷装置に文書を印刷するためには、ユーザーはどのプリンタが要件を満たすかを知る必要がある。この知識は、利用可能な印刷装置になじみのないユーザーには欠けていることがある。大企業環境では、なじみのあるユーザーにとってもそうである。場合によっては、ユーザーは、所望のプリンタのためのプリンタ・ドライバをユーザーのコンピュータにインストールすることを求められる。   An enterprise may have many printing devices with different functions located on the same floor or in the same general area. Some users may desire to use a printing device that meets certain requirements. Examples of printing device requirements include some level of security assurance, color printing support, provision of certain printing speeds or page throughput, being located on a floor of a building, and the like. In order to print a document on a printing device that meets all requirements, the user needs to know which printer meets the requirements. This knowledge may be lacking for users unfamiliar with available printing devices. This is also the case for familiar users in large corporate environments. In some cases, the user is required to install a printer driver for the desired printer on the user's computer.

さまざまな実施形態において、データを印刷するクライアント要求に自動的にサービスする方法、機械可読媒体および装置が提供される。ある実施形態では、印刷サーバー(print server)はクライアントから、該要求に含まれる印刷データに反映されている一つまたは複数の文書を印刷する要求を受け取る。印刷サーバーはクライアントから複数のパラメータを受領することがある。パラメータは、前記一つまたは複数の文書を印刷するために印刷装置が有するべきおよび/または有する必要がある種々の機能を指定しうる。印刷サーバーは、そうしたパラメータに基づいて、複数の印刷装置のうちから特定の印刷装置を決定する。この決定に基づいて、印刷サーバーは印刷データをその特定の印刷装置に送る。結果として、ユーザーは、ユーザーの要件を満たす特定の印刷装置についての詳細な情報を知ることは要求されない。ある実施形態では、ユーザーは、その特定の印刷装置のためのプリンタ・ドライバをユーザーのコンピュータにインストールすることを要求されない。   In various embodiments, methods, machine-readable media and devices for automatically servicing client requests to print data are provided. In one embodiment, a print server receives a request from a client to print one or more documents reflected in the print data included in the request. The print server may receive multiple parameters from the client. The parameters may specify various functions that a printing device should and / or need to have in order to print the one or more documents. The print server determines a specific printing device from the plurality of printing devices based on such parameters. Based on this determination, the print server sends print data to that particular printing device. As a result, the user is not required to know detailed information about a particular printing device that meets the user's requirements. In some embodiments, the user is not required to install a printer driver for that particular printing device on the user's computer.

本発明は、限定としてではなく例として、付属の図面の図に例示されている。図面において、同様の参照符号は同様の要素を指す。   The invention is illustrated by way of example and not limitation in the figures of the accompanying drawings. In the drawings, like reference numbers indicate like elements.

以下の記述では、説明の目的のため、本発明の十全なる理解を与えるために数多くの個別的な詳細が述べられる。しかしながら、本発明がそうした個別的な詳細なしでも実施されうることは明白であろう。他方、よく知られた構造および装置は、本発明を無用に埋没させるのを避けるためにブロック図の形で示されている。   In the following description, for the purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the present invention. However, it will be apparent that the invention may be practiced without such specific details. On the other hand, well-known structures and devices are shown in block diagram form in order to avoid unnecessarily burying the present invention.

(概要)
ある実施形態では、データ処理装置が、ネットワークに結合する機能をもつネットワーク・インターフェースと;ネットワーク中に存在するかもしれない一つまたは複数の互換印刷装置にそれぞれデータを差し向けることのできる一つまたは複数のプリンタ・ドライバと;印刷サーバー論理とを有する。該印刷サーバー論理は、一つまたは複数のプロセッサによって実行されたときに:前記プリンタ・ドライバの一つまたは複数を欠くクライアント・コンピュータから、その要求に含まれる印刷データに表されている一つまたは複数の文書を印刷する要求を受信し;前記クライアントから、前記一つまたは複数の文書を印刷するための一つまたは複数のパラメータを受信し;該複数パラメータに基づいて、前記一つまたは複数の印刷装置のうちからある特定の印刷装置を決定し;該決定に基づいてその特定の印刷装置と互換な前記プリンタ・ドライバの一つを使って前記印刷データを変換し、該変換された印刷データを前記特定の印刷装置に送る、機械実装されたステップを実行するよう動作可能である。
(Overview)
In one embodiment, the data processing device has a network interface capable of coupling to the network; and one or more of each capable of directing data to one or more compatible printing devices that may be present in the network A plurality of printer drivers; and print server logic. The print server logic, when executed by one or more processors: from a client computer lacking one or more of the printer drivers, one or more represented in the print data included in the request Receiving a request to print a plurality of documents; receiving from the client one or more parameters for printing the one or more documents; based on the plurality of parameters, the one or more parameters Determining a particular printing device from among the printing devices; converting the print data using one of the printer drivers compatible with the particular printing device based on the determination, and converting the converted print data To the particular printing device is operable to perform machine-implemented steps.

ある実施形態では、前記印刷サーバー論理はクライアント・ハンドラおよびサービス発見プロトコル・ハンドラを有しており、該サービス発見プロトコル・ハンドラは、実行されたときに、サービス発見プロトコル中の要求を使って、ネットワーク中の前記一つまたは複数の印刷装置を発見することを実行するよう動作可能である。ある実施形態では、前記クライアント・ハンドラは、実行されたときに、前記クライアントに前記特定の印刷装置において前記印刷データの印刷に成功したことを知らせる確認データを、前記クライアントに送ることを実行するよう動作可能であり、該確認データは前記特定の印刷装置の名称および位置を含む。   In one embodiment, the print server logic includes a client handler and a service discovery protocol handler that, when executed, uses a request in the service discovery protocol to Operable to perform discovery of the one or more printing devices therein. In one embodiment, the client handler executes, when executed, sending confirmation data to the client informing the client that the print data has been successfully printed on the particular printing device. It is operable and the confirmation data includes the name and location of the specific printing device.

ある実施形態では、前記印刷サーバー論理はさらに、実行されたときに、前記パラメータを最もよく満たす前記特定の印刷装置を決定するよう動作可能な論理を含む。   In certain embodiments, the print server logic further includes logic operable to determine the particular printing device that best meets the parameters when executed.

ある実施形態では、前記印刷サーバー論理はさらに、実行されたときに:前記クライアントからの要求中の、前記パラメータのそれぞれに関連付けられた重み値を受領し、該重み値のそれぞれは関連付けられたパラメータの重要性を示し;前記重み値に従って前記パラメータに重み付けしたときに前記パラメータを最もよく満たす前記特定の印刷装置を決定することを実行するよう動作可能な論理を含む。   In one embodiment, the print server logic further receives, when executed: a weight value associated with each of the parameters in the request from the client, each of the weight values being associated with a parameter. Including logic operable to perform the determination of the particular printing device that best satisfies the parameter when weighted to the parameter according to the weight value.

ある実施形態では、前記印刷サーバー論理はさらに、実行されたときに、前記印刷装置の一つからその印刷装置がサービス要求に対して利用可能であることを示す広告メッセージを受信することを実行するよう動作可能な論理を含む。ある実施形態では、前記印刷サーバー論理はさらに、実行されたときに、前記特定の印刷装置のためのドライバの一つをインストールすることを実行するよう動作可能な論理を含む。   In one embodiment, the print server logic further performs, when executed, receiving an advertising message from one of the printing devices indicating that the printing device is available for service requests. Including logic operable. In some embodiments, the print server logic further includes logic operable to execute, when executed, installing one of the drivers for the particular printing device.

ある実施形態では、前記印刷サーバー論理はさらに、実行されたときに、前記ドライバの一つから、前記特定の印刷装置の一つまたは複数の機能を同定する印刷機能データを取得することを実行するよう動作可能な論理を含む。ある実施形態では、前記印刷サーバー論理はさらに、実行されたときに、前記特定の印刷装置から、前記特定の印刷装置の印刷機能を示す印刷機能データを取得することを実行するよう動作可能な論理を含む。   In some embodiments, the print server logic further performs, when executed, obtaining print function data identifying one or more functions of the particular printing device from one of the drivers. Including logic operable. In one embodiment, the print server logic is further operable to execute, when executed, to obtain printing function data indicative of a printing function of the particular printing device from the particular printing device. including.

ある実施形態では、前記パラメータは、前記印刷装置の一つの、前記クライアントに対する位置か、前記印刷装置の一つの、一つまたは複数のセキュリティ特徴かのうちの少なくとも一方を含む。   In one embodiment, the parameter includes at least one of a location of the printing device relative to the client, or one or more security features of the printing device.

ある実施形態では、前記印刷サーバー論理はさらに、実行されたときに、利用可能であり、前記パラメータを満たす前記印刷装置を同定する情報を含む利用可能性待ち行列(availability queue)を生成および保存し、ある印刷ジョブが前記特定の印刷装置での印刷に失敗したことを示すエラー・メッセージを前記特定の印刷装置から受信するのに応答して前記特定の印刷装置を同定する情報を除去することを実行するよう動作可能な論理を含む。ある実施形態では、前記利用可能性待ち行列は、該待ち行列中の項目が、前記利用可能な印刷装置がどのくらいよく前記パラメータまたはクライアント要求を満たすかによって順序付けられた印刷装置を表すよう、整列されてもよい。   In one embodiment, the print server logic further generates and stores an availability queue that includes information identifying the printing device that is available and that meets the parameters when executed. Removing information identifying the particular printing device in response to receiving an error message from the particular printing device indicating that a print job has failed to print on the particular printing device. Contains logic operable to execute. In one embodiment, the availability queue is aligned such that the items in the queue represent printing devices ordered by how well the available printing devices meet the parameters or client requests. May be.

ある実施形態では、前記印刷サーバー論理はさらに、実行されたときに、前記エラー・メッセージを受信するのに応答して前記利用可能性待ち行列から第二の印刷装置を選択し、前記第二の印刷装置と互換な前記プリンタ・ドライバの一つを使って前記印刷データを変換し、該変換された印刷データを前記第二の印刷装置に送る、ことを実行するよう動作可能な論理を含む。   In one embodiment, the print server logic further selects a second printing device from the availability queue in response to receiving the error message when executed, and the second Including logic operable to perform the conversion of the print data using one of the printer drivers compatible with the printing device and send the converted print data to the second printing device.

(例示的なネットワーク・アーキテクチャ)
図1は、例示的なネットワーク・アーキテクチャおよび印刷サーバーの構成要素を示すブロック図である。例示的なネットワーク・アーキテクチャ100では、クライアント102は通信上、印刷サーバー104にネットワーク105を介して結合されている。印刷装置112A、112B、112Cも通信上、印刷サーバー104にネットワーク105を介して結合されている。
(Example network architecture)
FIG. 1 is a block diagram illustrating components of an exemplary network architecture and print server. In the exemplary network architecture 100, the client 102 is communicatively coupled to the print server 104 via the network 105. The printing apparatuses 112A, 112B, and 112C are also connected to the print server 104 via the network 105 for communication.

ネットワーク105は、クライアント102と印刷サーバー104との間および印刷サーバーと印刷装置112A〜Cとの間でのデータの交換を提供する任意の媒体または機構によって実装されうる。ネットワーク105の例は、限定なしに、構内ネットワーク(LAN)、広域ネットワーク(WAN)、イーサネット(登録商標)またはインターネットといったネットワーク、あるいは一つまたは複数の地上波、衛星またはワイヤレスのリンクを含む。   Network 105 may be implemented by any medium or mechanism that provides for the exchange of data between client 102 and print server 104 and between the print server and printing devices 112A-C. Examples of network 105 include, without limitation, a network such as a local area network (LAN), a wide area network (WAN), Ethernet, or the Internet, or one or more terrestrial, satellite, or wireless links.

クライアント102は、印刷データを印刷サーバー104に送ることのできる任意のコンピュータ、電子装置、システム、ソフトウェアまたはプロセスでありうる。クライアント102だけが示されているが、印刷サーバー104は多くのクライアント(図示せず)にサービスしてもよい。   Client 102 may be any computer, electronic device, system, software or process that can send print data to print server 104. Although only the client 102 is shown, the print server 104 may serve many clients (not shown).

印刷装置112A〜Cは、印刷データを受領して、その印刷データに反映されている一つまたは複数の文書を印刷する装置である。三つの印刷装置112A〜Cだけが示されているが、ネットワーク105に接続された印刷装置112A〜Cはいくつあってもよい。印刷装置112A〜Cのそれぞれは、印刷サービス以外のサービスも提供する多機能周辺機器(MFP: multi-functional peripheral)であってもよい。たとえば、印刷装置112Aはスキャン・サービス、ファクス・サービスおよびアーカイブ・サービスを提供してもよい。印刷装置112A〜Cはレーザー・プリンタ、インクジェット・プリンタまたは他の任意の形のデータ印刷装置を含んでいてもよい。ある実施形態では、印刷装置112A〜Cの一つまたは複数はHTTPサーバーおよびウェブ・サービス(Web Services)論理モジュールをホストしている。この実施形態では、印刷装置はHTTPのGET要求を印刷サーバー104から受信でき、HTTPのPOST応答をもって応答できる。あるいはまた、XMLおよび/またはSOAPを使ってウェブ・サービス・メッセージが交換されることができる。   The printing apparatuses 112A to 112C are apparatuses that receive print data and print one or more documents reflected in the print data. Although only three printing devices 112A-C are shown, any number of printing devices 112A-C connected to the network 105 may be present. Each of the printing apparatuses 112A to 112C may be a multi-functional peripheral (MFP) that provides services other than the printing service. For example, printing device 112A may provide a scan service, a fax service, and an archive service. Printing devices 112A-C may include laser printers, inkjet printers, or any other form of data printing device. In one embodiment, one or more of printing devices 112A-C host an HTTP server and a Web Services logic module. In this embodiment, the printing apparatus can receive an HTTP GET request from the print server 104 and can respond with an HTTP POST response. Alternatively, web service messages can be exchanged using XML and / or SOAP.

(印刷サーバー)
ある実施形態では、印刷サーバー104はクライアント・ハンドラ106、コア108およびサービス発見プロトコル(SDP: service discovery protocol)・ハンドラ110を有している。印刷サーバー104は追加的な構成要素を有していてもよいし、より少ない構成要素を有していてもよい。後者の場合、クライアント・ハンドラ106、コア108およびSDPハンドラ110の機能性は、一つまたは複数の構成要素に組み合わされてもよい。
(Print server)
In some embodiments, the print server 104 has a client handler 106, a core 108 and a service discovery protocol (SDP) handler 110. The print server 104 may have additional components or fewer components. In the latter case, the functionality of the client handler 106, core 108 and SDP handler 110 may be combined into one or more components.

(クライアント・ハンドラ)
ある実施形態では、クライアント・ハンドラ106は概括的にはクライアント102と通信することを受け持つ。クライアント・ハンドラ106は一つまたは複数のポート上で、はいってくるクライアント印刷要求がないかどうか監視する。クライアント・ハンドラ106はクライアント102にデータを送りもする。そのデータは、クライアント・ハンドラ106がコア108から受信したデータを含んでいてもよい。ある実施形態では、クライアント102に送られるデータは、印刷サーバー104が接続されている各印刷装置の印刷機能を示す機能データであってもよい。クライアント102に送られるデータは、クライアント102からの印刷要求に含まれていた印刷データがある特定の印刷装置で印刷に成功したことをクライアント102に知らせる確認データであってもよい。クライアント・ハンドラ106は一つまたは複数のモジュールを含んでいてもよい。
(Client handler)
In some embodiments, the client handler 106 is generally responsible for communicating with the client 102. The client handler 106 monitors for incoming client print requests on one or more ports. Client handler 106 also sends data to client 102. The data may include data received by the client handler 106 from the core 108. In an embodiment, the data sent to the client 102 may be function data indicating a printing function of each printing apparatus to which the print server 104 is connected. The data sent to the client 102 may be confirmation data that informs the client 102 that the print data included in the print request from the client 102 has been successfully printed by a certain printing apparatus. Client handler 106 may include one or more modules.

(サービス発見プロトコル・ハンドラ)
ある実施形態では、サービス発見プロトコル(SDP)・ハンドラ110は、一つまたは複数のネットワーク・ベースのサービス発見プロトコルを使って、ネットワーク中の印刷装置112A〜Cを発見する。例示的なサービス発見プロトコルは、WS-DiscoveryおよびSimple Service Discovery Protocol(SSDP)である。WS-DiscoveryはJ. Beatty et al., “Web Services Dynamic Discovery(WS-Discovery)”, April 2005に記載されている。SSDPは、Y. Goland et al., “Simple Service Discovery Protocol /1.0 Operating without an Arbiter (SSDP)”, IETF Internet-Draft, October 28, 1999に記載されている。SDPハンドラ110はいかなる型の発見プロトコルをいくつサポートしていてもよい。SDPハンドラ110は一つのモジュールを有していても、複数のモジュールを有していてもよい。
(Service discovery protocol handler)
In one embodiment, service discovery protocol (SDP) handler 110 discovers printing devices 112A-C in the network using one or more network-based service discovery protocols. Exemplary service discovery protocols are WS-Discovery and Simple Service Discovery Protocol (SSDP). WS-Discovery is described in J. Beatty et al., “Web Services Dynamic Discovery (WS-Discovery)”, April 2005. SSDP is described in Y. Goland et al., “Simple Service Discovery Protocol /1.0 Operating without an Arbiter (SSDP)”, IETF Internet-Draft, October 28, 1999. The SDP handler 110 may support any number of discovery protocols. The SDP handler 110 may have one module or a plurality of modules.

ある実施形態では、SDPハンドラ110は、印刷データを印刷サーバー104から印刷装置112A〜Cに通信するのにそれぞれ必要とされる任意の要求されるプリンタ・ドライバ114A〜Cを受信し、インストールする。プリンタ・ドライバ114A〜Cのそれぞれは、印刷データを印刷装置に固有の形に変換する機構を含んでいる。さまざまな実施形態において、プリンタ・ドライバはソフトウェア、ファームウェア、ハードウェアまたは組み合わせで実装されうる。ある実施形態では、プリンタ・ドライバは、アプリケーションが、各印刷装置モデルの技術的詳細を意識することなく印刷を開始することを許容する。ある実施形態では、印刷サーバー104は、それぞれの印刷装置112A〜Cに対応するドライバ114A〜Cを受信し、インストールする。ある実施形態では、クライアント102は印刷装置112A〜Cのためのドライバをインストールせず、ドライバは印刷サーバー104上にのみインストールされる。プリンタ・ドライバは、ネットワーク上のノードから自動的に取得されてもよいし、あるいはシステム管理者のようなユーザーによってインストールされてもよい。   In one embodiment, SDP handler 110 receives and installs any required printer drivers 114A-C that are each required to communicate print data from print server 104 to printing devices 112A-C. Each of the printer drivers 114A-C includes a mechanism for converting print data into a form unique to the printing apparatus. In various embodiments, the printer driver may be implemented in software, firmware, hardware or a combination. In one embodiment, the printer driver allows the application to start printing without being aware of the technical details of each printing device model. In some embodiments, the print server 104 receives and installs drivers 114A-C corresponding to the respective printing devices 112A-C. In some embodiments, client 102 does not install drivers for printing devices 112A-C, and drivers are installed only on print server 104. The printer driver may be obtained automatically from a node on the network, or may be installed by a user such as a system administrator.

このアプローチの一つの恩恵は、クライアント102が、ネットワークに新しいプリンタが導入されるたびに追加的なドライバを受信する必要がないということである。こうして、図1において、クライアント102は、印刷装置112A〜Cのためのプリンタ・ドライバなしに示されている。結果として、クライアント102の管理(administration)は単純化され、単純化のインパクトはネットワークが何百または何千のクライアントを含むときに重要となる可能性がある。このアプローチのもう一つの恩恵は、クライアント102が、どのプリンタが特定の印刷ジョブの要件を満たすかを判別する必要がなく、クライアントは印刷サーバー104が適切な印刷装置112A〜Cを決定することを許すということである。   One benefit of this approach is that client 102 does not need to receive additional drivers each time a new printer is installed on the network. Thus, in FIG. 1, client 102 is shown without a printer driver for printing devices 112A-C. As a result, the administration of the client 102 is simplified and the impact of simplification can be significant when the network includes hundreds or thousands of clients. Another benefit of this approach is that the client 102 does not need to determine which printer meets the requirements of a particular print job, and the client determines that the print server 104 determines the appropriate printing device 112A-C. It is to forgive.

プリンタ・ドライバをもたないクライアントのためのネットワーク印刷は2006年1月31日に出願された“Network Printing With Driverless Clients”という名称の米国特許出願第11/345,503号に記載されている。この全内容は、あたかもここに完全に開示されているかのように、あらゆる目的のためにここに参照によって組み込まれる。   Network printing for clients without printer drivers is described in US patent application Ser. No. 11 / 345,503, filed Jan. 31, 2006, entitled “Network Printing With Driverless Clients”. The entire contents of which are hereby incorporated by reference for all purposes as if they were fully disclosed herein.

プリンタ・ドライバから、SDPハンドラ110は、印刷装置112A〜Cの機能を取得しうる。たとえば、SDPハンドラ110はさまざまな要求メッセージをプリンタ・ドライバに送り、関連付けられたプリンタの用紙トレイの数および型、そのプリンタの状態、カラー機能、特殊用紙扱い機能、セキュリティ機能などについての応答情報を受け取ることができる。SDPハンドラ110はまた、印刷装置112A〜Cの機能を、印刷装置112A〜Cに直接要求してもよい。ある実施形態では、SDPハンドラ110および印刷装置112A〜Cは、ウェブ・サービスを実装し、HTTPサーバーおよびウェブ・サービス論理を含み;SDPハンドラ110は機能についての一つまたは複数のウェブ・サービス要求を印刷装置に送り、印刷装置は機能情報を含むウェブ・サービス応答をもって応答する。   From the printer driver, the SDP handler 110 can acquire the functions of the printing apparatuses 112A to 112C. For example, the SDP handler 110 sends various request messages to the printer driver and returns response information about the number and type of paper trays associated with the printer, its status, color functions, special paper handling functions, security functions, etc. Can receive. The SDP handler 110 may also request the functions of the printing devices 112A-C directly from the printing devices 112A-C. In one embodiment, SDP handler 110 and printing devices 112A-C implement a web service and include an HTTP server and web service logic; SDP handler 110 receives one or more web service requests for functionality. Sent to the printing device, which responds with a web service response containing the functional information.

ウェブ・サービス・プロトコルは、ワールド・ワイド・ウェブ・コンソーシアム(「W3C」)によって定義される。W3Cは、会員機関、フルタイムの職員および公衆が協働してワールド・ワイド・ウェブおよびインターネットの標準を開発する国際コンソーシアムである。W3Cは「ウェブ・サービス(web service)」を、ネットワークを通じた、相互運用可能な機械対機械の対話をサポートするために設計されたソフトウェア・システムと定義している。この定義は多くの異なるシステムを包含するが、一般的な用法では、この用語はSOAPフォーマットされた拡張可能なマークアップ言語(Extensible Markup Language)(「XML」)のエンベロープを使い、インターフェースがウェブ・サービス記述言語(Web Services Description Language)(「WSDL」)によって記述されるサービスを指す。ウェブ・サービスは、デバイスおよびアプリケーションが、人間が一つまたは複数のネットワークを通じてそのようなデバイスおよびアプリケーションと通信するために使うのと同じプロトコル(たとえばハイパーテキスト転送プロトコル(「HTTP」))のスイートを使いながら、一切の人間の介在なしに、一つまたは複数のネットワークを通じて互いと通信することを許容する。ウェブ・サービスを定義する規格は意図的にモジュール式になっており、結果として、すべてのウェブ・サービスを定義する一つの文書はない。その代わり、若干のコアとなる規格があって、それが状況および技術の選択の要請に応じた他の規格によって補完される。最も一般的なコア規格はSOAP、WSDL、WS-SecurityおよびWS-ReliableExchangeである。異なる規格は異なるタスクおよび機能に対処する。   Web service protocols are defined by the World Wide Web Consortium (“W3C”). W3C is an international consortium where member institutions, full-time staff and the public work together to develop the World Wide Web and Internet standards. The W3C defines "web service" as a software system designed to support interoperable machine-to-machine interactions over a network. Although this definition encompasses many different systems, in common usage, the term uses the SOAP-formatted Extensible Markup Language (“XML”) envelope, and the interface is Web Refers to a service described in a Web Services Description Language (“WSDL”). Web services use a suite of the same protocols (eg, Hypertext Transfer Protocol (“HTTP”)) that devices and applications use to communicate with such devices and applications over one or more networks. While in use, it allows to communicate with each other through one or more networks without any human intervention. The standards that define web services are intentionally modular, and as a result, there is no single document that defines all web services. Instead, there are some core standards that are complemented by other standards that meet the requirements of the situation and technology choices. The most common core standards are SOAP, WSDL, WS-Security and WS-ReliableExchange. Different standards address different tasks and functions.

SOAPはXMLベースの拡張可能なメッセージ・エンベロープ・フォーマットで、根底にあるプロトコル(たとえばHTTPおよび単純なメール転送プロトコル(「SMTP」))へのバインド(bindings)をもつ。SOAPはどのようにメッセージがフォーマットされるべきかをXMLを使って定義する。それにより、そうしたメッセージは、それらのメッセージの受領者(デバイスおよびアプリケーション)がそれらのメッセージを理解できるような仕方でフォーマットされる。SOAPは、たとえばリモートのプロシージャ・コールを実行するために使用できる。WSDLは、ウェブ・サービス・インターフェースを、それらのインターフェースの特定のプロトコルへのバインドとともに記述できるようにする、XMLフォーマットである。WSDLは典型的にはサーバーおよびクライアント・コードを生成するために、および構成設定(configuration)のために使われる。WS-Securityは、メッセージ交換をセキュリティ保護するためにSOAPにおいてXML暗号化およびXML署名をどのように使うかを定義する。WS-ReliableExchangeは、二つのウェブ・サービス間の信頼できるメッセージングのためのプロトコルである。   SOAP is an XML-based extensible message envelope format with bindings to the underlying protocols (eg HTTP and simple mail transfer protocol (“SMTP”)). SOAP uses XML to define how messages should be formatted. Thereby, such messages are formatted in such a way that their recipients (devices and applications) can understand them. SOAP can be used, for example, to execute remote procedure calls. WSDL is an XML format that allows web service interfaces to be described with their bindings to specific protocols. WSDL is typically used to generate server and client code, and for configuration. WS-Security defines how to use XML encryption and XML signatures in SOAP to secure message exchanges. WS-ReliableExchange is a protocol for reliable messaging between two web services.

任意的に、印刷装置112A〜Cのそれぞれは電波識別(RFID: radio frequency identification)タグを有し、印刷サーバー104はRFIDタグ読み取り器を含む。この実施形態では、印刷サーバーは、印刷装置上のタグを読み取ることによって印刷装置112A〜Cの物理的な位置を決定できる。位置情報は、クライアント要求に応答して、あるいは印刷ジョブが無事完了したことを確認する一環として、クライアント102に報告されることができる。   Optionally, each of the printing devices 112A-C has a radio frequency identification (RFID) tag, and the print server 104 includes an RFID tag reader. In this embodiment, the print server can determine the physical location of the printing devices 112A-C by reading a tag on the printing device. The location information can be reported to the client 102 in response to the client request or as part of confirming that the print job has completed successfully.

(印刷装置の機能)
印刷装置の機能は、その印刷装置によってサポートされる任意の特徴を含みうる。そのような特徴は、これに限られないが次のものを含みうる:カラー印刷;写真印刷;両面印刷;ロック印刷(lock printing);セキュリティ保護された出力トレイへの送達といったセキュリティ特徴;用紙トレイ数、用紙トレイの大きさ、特殊用紙扱い機能、解像度、コントラストおよび関係する設定を含むスキャン機能;二面印刷または片面印刷のような文書スタイル;ホチキス留め、製本およびパンチのような仕上げ特徴;イメージ配向;ソース用紙種別;出力トレイ位置;グラフィック・モード;余白シフト;タンデム印刷;トナー節約モード;タブまたはオーバーレイに印刷するまたは印刷しない機能;トランスペアレンシー挿入;ジョブ・ハンドリング特徴;透かし印刷;および他の特徴。
(Printer function)
The functionality of a printing device can include any feature supported by the printing device. Such features may include, but are not limited to: color printing; photo printing; duplex printing; lock printing; security features such as delivery to a secure output tray; paper tray Scan features including number, paper tray size, special paper handling, resolution, contrast and related settings; document styles such as duplex or single-sided printing; finishing features such as stapling, bookbinding and punching; images Orientation; Source paper type; Output tray position; Graphic mode; Margin shift; Tandem printing; Toner saving mode; Function to print or not print on tab or overlay; Transparency insertion; Job handling feature; Watermark printing; Characteristic.

各印刷装置112A〜Cの機能は、印刷サーバー104のローカル記憶装置に記憶されていてもよいし、あるいは印刷サーバー104によってアクセス可能なリモート記憶装置上に記憶されていてもよい。クライアント102のユーザーが印刷を望むとき、クライアント102は印刷サーバー104に機能要求を送る。該要求はクライアント・ハンドラ106によって扱われうる。要求はコア108に回送され、コア108は最新の機能を記憶装置から取得する。   The function of each printing device 112A-C may be stored in a local storage device of the print server 104 or may be stored on a remote storage device accessible by the print server 104. When a user of client 102 desires printing, client 102 sends a function request to print server 104. The request can be handled by the client handler 106. The request is forwarded to the core 108, and the core 108 obtains the latest function from the storage device.

(コア)
コア108は、印刷サーバー104のコア論理を含む。たとえば、コア108は、印刷サーバー104上にインストールされている任意のプリンタ・ドライバから機能を取得する。ある実施形態では、新しい印刷装置が発見され、その装置のプリンタ・ドライバがインストールされるとき、コア108は機能のリストを更新する。コア108は一つのモジュールを含んでいても、複数のモジュールを含んでいてもよい。
(core)
The core 108 includes the core logic of the print server 104. For example, the core 108 obtains functionality from any printer driver installed on the print server 104. In one embodiment, when a new printing device is discovered and the printer driver for that device is installed, the core 108 updates the list of functions. The core 108 may include one module or a plurality of modules.

コア108はまた、クライアント要求において指定されているパラメータに基づいて、該パラメータに最もよく一致する機能をもつ印刷装置を検索する。最良一致を決定することは、いくつかの仕方で実行されうる。ある実施形態では、コア108は、ある具体的な印刷装置が利用可能であるかどうかを決定する。印刷装置が利用可能であるかどうかを決定するには数多くの方法がある。一つの方法は、コア108が、ピング・パケットを印刷装置に送ることである。ポジティブな応答が印刷装置が利用可能であることを示す。ネガティブな応答(または応答なし)は、印刷装置が利用不能であることを示す。印刷装置が利用可能でない場合、クライアント指定のパラメータと印刷装置の機能との間の比較は必要でない。印刷装置が利用可能であるかどうかを判定するもう一つの方法は、印刷装置のウェブ・サービス・モジュール内に維持されているプリンタ・デバイス・プロファイル(Printer Device Profile)が印刷装置の利用可能性通知を、印刷装置から該通知を申し込んでいるクライアントに、提供することである。   The core 108 also searches for a printing device with a function that best matches the parameters based on the parameters specified in the client request. Determining the best match can be performed in several ways. In some embodiments, the core 108 determines whether a particular printing device is available. There are many ways to determine if a printing device is available. One way is for the core 108 to send a ping packet to the printing device. A positive response indicates that the printing device is available. A negative response (or no response) indicates that the printing device is unavailable. If the printing device is not available, no comparison between the client specified parameters and the capabilities of the printing device is necessary. Another method of determining whether a printing device is available is that the printer device profile maintained in the printing device's web service module is a printing device availability notification. Is provided to the client applying for the notification from the printing apparatus.

ある実施形態では、コア108はクライアント指定のパラメータを、利用可能な印刷装置の機能と比較する。クライアント指定のパラメータとは、クライアントからの印刷要求において指定されている要求される機能である。利用可能な印刷装置の機能がクライアント指定のパラメータに一致する場合、利用可能な印刷装置は印刷ジョブを実行する候補となる。クライアント要求は、一つまたは複数のあるパラメータについて、それほどで重要でないパラメータよりも優先する重要性レベルを指定してもよい。   In some embodiments, the core 108 compares client-specified parameters with available printing device capabilities. The client-specified parameter is a requested function specified in the print request from the client. If the function of the available printing device matches the parameter specified by the client, the available printing device is a candidate for executing a print job. A client request may specify an importance level that overrides a less important parameter for one or more parameters.

ある実施形態では、すべての可能な候補印刷装置が識別されたのち、コア108は、ユーザー指定のパラメータに最もよく一致する機能をもつ一つの候補印刷装置を選択する。任意的に、コア108は、要求者(たとえばクライアント102)にとって物理的に最も近い候補印刷装置を選択するか、より大きな重みをそのような選択に与えるかする。   In one embodiment, after all possible candidate printing devices have been identified, the core 108 selects one candidate printing device with the function that best matches the user specified parameters. Optionally, core 108 selects the candidate printing device that is physically closest to the requester (eg, client 102) or gives such selection a greater weight.

(パラメータ)
ユーザーは、たとえば重要度または選好度に基づいて、いくつかの方法でパラメータを指定しうる。たとえば、カラー印刷のようないくつかのパラメータは必須である場合がある。他のパラメータはきわめて望ましいが必須ではないこともありうる。こうして、クライアントの要求におけるパラメータは、印刷ジョブを完了するために常に必須、不可欠または必要なわけではない。たとえば、各パラメータは、「3」が必須を示し、「2」がきわめて望ましいを示し、「1」がほとんど重要でないことを示す3ポイントのスケールで、選好または優先度の値に関連付けられてもよい。二つの印刷装置があって、第一の印刷装置がクライアントが「1」に関連付けた機能を含み、第二の印刷装置がその機能を含まないことを除いて両者が同一である場合、第一の印刷装置が第二の装置よりもよりよい一致として選択される。
(Parameter)
A user may specify parameters in several ways, for example based on importance or preference. For example, some parameters such as color printing may be mandatory. Other parameters are highly desirable but may not be essential. Thus, the parameters in the client request are not always essential, essential or necessary to complete the print job. For example, each parameter may be associated with a preference or priority value on a 3 point scale where “3” indicates mandatory, “2” indicates highly desirable, and “1” is of little importance. Good. If there are two printing devices and the first printing device contains the function that the client associated with “1” and the second printing device does not contain the function, the two are the same. Is selected as a better match than the second device.

クライアントは、種々の手段を使ってパラメータを指定できる。たとえば、クライアントは、GET HTTP要求を印刷サーバー104に送ってもよい。印刷サーバー104は、グラフィカル・ユーザー・インターフェース(GUI)においてウェブ・ベースのフォームを含むHTML文書をクライアントに返す。GUIウェブ・フォームは、ユーザーがさまざまなパラメータを指定できるようにする多くのフィールドおよび/またはドロップダウン・メニューを含んでいてもよい。「提出」ボタンを選択すると、クライアントは、埋められたウェブ・フォームを印刷サーバー104に送る。その埋められたウェブ・フォームから、印刷サーバー104は、利用可能な印刷装置の機能が満たすべきパラメータを決定する。   The client can specify parameters using various means. For example, the client may send a GET HTTP request to the print server 104. The print server 104 returns an HTML document containing a web-based form to the client in a graphical user interface (GUI). The GUI web form may include a number of fields and / or drop-down menus that allow the user to specify various parameters. When the “Submit” button is selected, the client sends the embedded web form to the print server 104. From the filled web form, the print server 104 determines the parameters that the available printing device functions should satisfy.

代替的に、印刷サーバー104は、一つまたは複数のクライアントのためにデフォルトのパラメータのセットを関連付けてもよい。たとえば、いくつかのクライアントは、同じパラメータを繰り返し指定する必要なしに、印刷ジョブが、特定のセットの機能をもつ印刷装置によって処理されることを要求することがある。こうして、各ユーザーおよび/またはクライアントについてパラメータのセットが保存されてもよく、クライアント要求は保存されたパラメータ・セットのインデックス値または名前を指定できる。そのインデックス値または名前を印刷サーバーが取得し、印刷ジョブを処理するのに使うのである。   Alternatively, the print server 104 may associate a default set of parameters for one or more clients. For example, some clients may require that a print job be processed by a printing device with a specific set of functions without having to repeatedly specify the same parameters. Thus, a set of parameters may be saved for each user and / or client, and the client request can specify an index value or name for the saved parameter set. The print server gets the index value or name and uses it to process the print job.

印刷装置112A〜Cのどれの機能もすべてのパラメータは満たさない場合、コア108は、クライアント102に一致する印刷装置がないことを知らせてもよい。コア108はどのパラメータを除去または変更して利用可能な印刷装置の少なくとも一つが要求を満たすようにできるかを示してもよい。さまざまな実施形態において、コア108は、すべてのパラメータを同定してもよいし、除去されるべきパラメータを同定してもよいし、あるいは最も近い一致する印刷装置とその印刷装置が欠いている機能とを同定してもよい。他の応答動作が実行されてもよい。   If none of the functions of printing devices 112A-C meet all parameters, core 108 may inform client 102 that there is no matching printing device. The core 108 may indicate which parameters can be removed or changed to ensure that at least one of the available printing devices meets the requirements. In various embodiments, the core 108 may identify all parameters, may identify parameters to be removed, or the closest matching printing device and the functionality that the printing device lacks. May be identified. Other response actions may be performed.

ある実施形態では、クライアント要求に最もよく一致する印刷装置を決定する際、コア108は、利用可能な印刷装置のクライアント102に対する位置を考慮に入れてもよい。全地球測位システム(GPS)または電波識別(RFID)がクライアント102および印刷装置112A〜Cについての位置情報を提供するために使用されてもよい。ある機械のための位置情報はさらに、その機械がどのフロアに位置しているかを示してもよい。   In some embodiments, in determining the printing device that best matches the client request, the core 108 may take into account the location of the available printing device relative to the client 102. A global positioning system (GPS) or radio wave identification (RFID) may be used to provide location information about the client 102 and printing devices 112A-C. The location information for a machine may further indicate on which floor the machine is located.

したがって、ある実施形態では、コア108は、以下のパラメータのうち任意のものを考慮に入れることによって、印刷装置のクライアントの要件への最良一致を検索する。パラメータは、クライアント要求において指定されるユーザーの選好に基づいて重み付けられてもよい。
1.その印刷装置が利用可能である。
2.その印刷装置の機能がユーザーの要件に一致するか、最も近い一致である。
3.その印刷装置がユーザーに最も近い。
4.その印刷装置がユーザーが指定したセキュリティ要件を満たす。
Thus, in one embodiment, the core 108 searches for the best match to the client requirements of the printing device by taking any of the following parameters into account. The parameters may be weighted based on user preferences specified in the client request.
1. The printing device can be used.
2. The function of the printing device matches or is the closest match to the user's requirements.
3. The printing device is closest to the user.
4). The printing device meets the security requirements specified by the user.

(例示的な印刷・サーバー・プロセス)
図2は、クライアント印刷要求にサービスすることを例示するフローチャートである。明確な例を例示する目的のため、図2はここでは図1に示された構造を参照して記述されるが、図2に示される広いアプローチは、図1のコンテキストに限定されるものではなく、図2のアプローチは他のネットワーク構成および他の物理的もしくは論理的構造とともに使用されてもよい。
(Exemplary print server process)
FIG. 2 is a flowchart illustrating servicing a client print request. For purposes of illustrating a clear example, FIG. 2 will now be described with reference to the structure shown in FIG. 1, but the broad approach shown in FIG. 2 is not limited to the context of FIG. Instead, the approach of FIG. 2 may be used with other network configurations and other physical or logical structures.

ステップ202では、クライアント・ハンドラ106がクライアント102から機能要求を受信する。応答して、クライアント・ハンドラはどの機能がクライアント・ハンドラに知られているまたはクライアント・ハンドラに登録されている印刷装置に関連付けられているかを決定する。クライアント・ハンドラは、そのような印刷装置の機能を記述する、前記機能要求への応答を形成する。ステップ204において、クライアント・ハンドラ106は、一つまたは複数の印刷装置112A〜Cの機能をもった応答をクライアント102に送る。   In step 202, client handler 106 receives a function request from client 102. In response, the client handler determines which functions are known to the client handler or associated with a printing device registered with the client handler. The client handler forms a response to the function request that describes the function of such a printing device. In step 204, the client handler 106 sends a response with the capabilities of one or more printing devices 112A-C to the client 102.

ステップ206において、クライアント・ハンドラ106は、クライアント102から印刷データおよびパラメータを受信する。印刷データは、ユーザー指定のパラメータを示すウェブ・フォームへの添付物でもよい。印刷データおよびパラメータは、関連付けられたパラメータまたは機能の重要性を示す一つまたは複数の重み値を含んでいてもよい。それにより該重み値に従ってパラメータが重み付けされたときに該パラメータを最もよく満たす特定の印刷装置が決定できる。重み値はまた、ステップ202の機能要求内で受領されてもよく、ステップ202の要求およびステップ206の文書および印刷要件は同時に同じ要求中で受領されてもよい。   In step 206, the client handler 106 receives print data and parameters from the client 102. The print data may be an attachment to a web form showing user specified parameters. The print data and parameters may include one or more weight values that indicate the importance of the associated parameter or function. Thereby, the particular printing device that best satisfies the parameter can be determined when the parameter is weighted according to the weight value. The weight value may also be received within the function request of step 202, and the request of step 202 and the document and print requirements of step 206 may be received simultaneously in the same request.

クライアント・ハンドラ106は印刷データおよびパラメータをコア108に渡す。ステップ208〜214は、同定された各印刷装置について実行される。   The client handler 106 passes print data and parameters to the core 108. Steps 208-214 are performed for each identified printing device.

ステップ208では、コア108は第一の印刷装置を同定する。ステップ210では、コア108は、第一の印刷装置が利用可能であり(たとえばオンライン)かつ前記パラメータを満たすかどうかを決定する。第一の印刷装置が利用不能であれば、プロセスはステップ210に進んで、コア108は次の同定された印刷装置を解析する。第一の印刷装置が利用可能で前記パラメータを満たす場合、プロセスはステップ212に進む。   In step 208, the core 108 identifies the first printing device. In step 210, the core 108 determines whether the first printing device is available (eg, online) and meets the parameters. If the first printing device is not available, the process proceeds to step 210 and the core 108 analyzes the next identified printing device. If the first printing device is available and satisfies the parameters, the process proceeds to step 212.

ステップ212では、コア108は、前記パラメータを(少なくともほとんど)満たす機能をもつ利用可能な印刷装置を同定する利用可能性待ち行列に、ステップ210で同定された印刷装置への参照を加える。   In step 212, core 108 adds a reference to the printing device identified in step 210 to an availability queue that identifies available printing devices that have the capability to (at least almost) meet the parameters.

ステップ214では、コア108は、解析すべき印刷装置がまだあるかどうかを判別する。解析すべき印刷装置がまだある場合、プロセスはステップ210に進む。そうでない場合、プロセスはステップ216に進む。   In step 214, the core 108 determines whether there are more printing devices to be analyzed. If there are more printing devices to analyze, the process proceeds to step 210. If not, the process proceeds to step 216.

ステップ216では、利用可能性待ち行列において同定されている複数の印刷装置がある場合、コア108は最良一致に基づいて利用可能性待ち行列を配列する。利用可能性待ち行列を配列することは、クライアント要求中で受領されたパラメータ値、重み値またはその他の因子に基づくソート動作または他の再配列を含みうる。   In step 216, if there are multiple printing devices identified in the availability queue, the core 108 arranges the availability queue based on the best match. Arranging availability queues may include sorting operations or other reordering based on parameter values, weight values or other factors received in the client request.

ステップ218では、コア108は、クライアント要求に最もよく一致する印刷装置を選択する。たとえば、二つの印刷装置112A〜Cが機能性において同一であるが、第一の印刷装置が第二の印刷装置よりユーザーに物理的により近い場合、第一の印刷装置が最良一致として選択される。   In step 218, core 108 selects the printing device that best matches the client request. For example, if two printing devices 112A-C are identical in functionality, but the first printing device is physically closer to the user than the second printing device, the first printing device is selected as the best match. .

関連する実施形態では、コア108がすべてのパラメータを満たす機能をもつ最初の利用可能な印刷装置を識別するとすぐに、コア108は、利用可能性待ち行列を構築することなく、印刷ジョブをその印刷装置に送る。こうして、この実施形態では、プロセスはステップ208から直接ステップ220へと進む。ステップ220では、コア108は印刷ジョブを最良一致印刷装置に送る。印刷ジョブは、クライアント102が送った印刷データを含んでいてもよい。ただし、印刷データは、選択された印刷装置のためのプリンタ・ドライバを使って選択された印刷装置によって認識可能な変換された形である。   In a related embodiment, as soon as the core 108 identifies the first available printing device that has the capability to meet all parameters, the core 108 prints the print job without building an availability queue. Send to device. Thus, in this embodiment, the process proceeds directly from step 208 to step 220. In step 220, the core 108 sends the print job to the best match printing device. The print job may include print data sent by the client 102. However, the print data is in a converted form that is recognizable by the selected printing device using a printer driver for the selected printing device.

ステップ222では、コア108が、印刷ジョブが成功したかどうかを判定する。たとえば、紙づまり、用紙切れ、インクまたはトナー切れから印刷ジョブが不成功に終わったことがありうるし、あるいは選択された印刷装置が印刷ジョブの完了前にオフラインになったこともありうる。   In step 222, the core 108 determines whether the print job is successful. For example, the print job may have been unsuccessful due to a paper jam, out of paper, out of ink or toner, or the selected printing device may have gone offline prior to completion of the print job.

コア108は、印刷ジョブが不成功だったことを、数多くの方法で判定できる。たとえば、最良一致印刷装置が印刷サーバー104に、印刷ジョブが完了されなかったことを通知してもよい。もう一つの例としては、コア108は、選択された印刷装置からのいかなる通信も受信することなく、印刷ジョブが完了されなかったことを、時間切れに基づいて判定する。印刷ジョブが成功したかどうかを判定するもう一つの方法は、印刷装置のウェブ・サービス・モジュール内に維持されているプリンタ・デバイス・プロファイルがジョブ終了状態通知を、印刷装置から該通知を申し込んでいるクライアントに、提供することである。   The core 108 can determine in many ways that the print job was unsuccessful. For example, the best match printing device may notify the print server 104 that the print job has not been completed. As another example, the core 108 determines that the print job has not been completed based on the time out without receiving any communication from the selected printing device. Another way to determine whether a print job is successful is to have a printer device profile maintained in the web service module of the printing device subscribe to the job completion status notification from the printing device. Is to provide to clients who have

印刷ジョブが不成功だった場合、プロセスはステップ224に進む。ステップ224では、コア108は選択された印刷装置を、利用可能性待ち行列から除去し、プロセスはステップ226に進む。印刷ジョブが成功だった場合、プロセスはステップ230に進む。   If the print job is unsuccessful, the process proceeds to step 224. In step 224, core 108 removes the selected printing device from the availability queue and the process proceeds to step 226. If the print job is successful, the process proceeds to step 230.

ステップ226では、コア108は、利用可能性待ち行列が空かどうかを判定する。空でなければ、プロセスはステップ218に進む。利用可能性待ち行列が空であれば、プロセスはステップ228に進む。   In step 226, core 108 determines whether the availability queue is empty. If not empty, the process proceeds to step 218. If the availability queue is empty, the process proceeds to step 228.

ステップ228では、クライアント・ハンドラ106は、印刷ジョブが不成功だったことをクライアント102に知らせるエラー状態メッセージをクライアント102に送る。任意的に、クライアント・ハンドラ106は、パラメータに基づいてどの印刷装置が考慮から排除されたか、および/またはそのような印刷装置が考慮されるためにはどのパラメータが「緩和」または除去されるべきかを示すデータを送ってもよい。このようにして、クライアント102のユーザーは、印刷ジョブを、クライアントの元の選好を完全には満たさない異なる印刷装置に提出することを決定しうる。より満足度の低い印刷装置の例は、クライアント要求に依存して、これに限られないが、よりセキュリティの低い印刷装置または異なるフロアに位置する印刷装置を含む。   In step 228, the client handler 106 sends an error status message to the client 102 informing the client 102 that the print job was unsuccessful. Optionally, the client handler 106 determines which printing devices have been excluded from consideration based on the parameters and / or which parameters should be “relaxed” or removed for such printing devices to be considered. You may send the data which shows. In this way, the user of client 102 may decide to submit the print job to a different printing device that does not fully satisfy the client's original preferences. Examples of less satisfactory printing devices include, but are not limited to, less secure printing devices or printing devices located on different floors, depending on client requirements.

ステップ230では、クライアント・ハンドラ106は、印刷ジョブの状態および印刷ジョブを完了した印刷装置の位置を提供するメッセージをクライアント102に送る。結果として、クライアントに関連付けられているユーザーは、一つまたは複数の印刷文書をどこで取得するかを判別できる。   In step 230, the client handler 106 sends a message to the client 102 providing the status of the print job and the location of the printing device that completed the print job. As a result, the user associated with the client can determine where to obtain one or more printed documents.

図3は、クライアント印刷要求にサービスする印刷サーバーを示すシーケンス図である。明確な例を例示する目的のため、図3はここでは図1に示された構造を参照して記述されるが、図3に表される広いアプローチは、図1のコンテキストに限定されるものではなく、図3のアプローチは他のネットワーク構成および他の物理的もしくは論理的構造とともに使用されてもよい。   FIG. 3 is a sequence diagram illustrating a print server serving a client print request. For purposes of illustrating a clear example, FIG. 3 will now be described with reference to the structure shown in FIG. 1, but the broad approach depicted in FIG. 3 is limited to the context of FIG. Rather, the approach of FIG. 3 may be used with other network configurations and other physical or logical structures.

ステップ1および2では、印刷装置112A〜Bはそれぞれ印刷サーバー104に広告メッセージを送る。広告メッセージは、同じネットワーク上のすべての装置に送られるマルチキャストまたはブロードキャスト・メッセージを含んでいてもよい。広告は、送り側装置が、該装置のそれぞれのサービスに対する要求を処理するために利用可能であることを示す「ハロー」メッセージでもよい。たとえば、印刷装置112Aは、初めてそのネットワークに接続された新しい装置であってもよい。もう一つの例として、印刷装置112Bは、そのネットワークに以前接続されたが、修理またはメンテナンスのためにオフラインにされた装置であってもよい。「ハロー」メッセージは、ウェブ・サービス・フォー・デバイセズ(Web Services for Devices)のための仕様において定義されているメッセージに基づいていてもよい。   In steps 1 and 2, the printing devices 112A-B each send an advertisement message to the print server 104. Advertisement messages may include multicast or broadcast messages that are sent to all devices on the same network. The advertisement may be a “hello” message indicating that the sending device is available to process a request for its respective service. For example, the printing device 112A may be a new device connected to the network for the first time. As another example, printing device 112B may be a device that was previously connected to the network but has been taken offline for repair or maintenance. The “hello” message may be based on a message defined in the specification for Web Services for Devices.

広告は、サービス発見プロトコルのような発見プロトコルに準拠していてもよい。ステップ1および2への代替として、印刷サーバー104は、発見プロトコルのもとに一つまたは複数のメッセージを発して、印刷装置からの、その印刷装置を同定し、その印刷装置の機能を提供する応答を待つ。   The advertisement may be compliant with a discovery protocol such as a service discovery protocol. As an alternative to steps 1 and 2, the print server 104 issues one or more messages under a discovery protocol to identify the printing device from the printing device and provide the functionality of the printing device. Wait for a response.

さらにもう一つの代替では、印刷サーバー104のサービス発見プロトコル・ハンドラ110は、印刷装置112A〜Cのためのプリンタ・ドライバ114A〜Cをインストールするか、あるいはシステム管理者に該ドライバのインストールを促すかする。サービス発見プロトコル・ハンドラ110は次いでプリンタ機能情報をプリンタ・ドライバから直接、または印刷装置112A〜Cから直接得る。   In yet another alternative, the service discovery protocol handler 110 of the print server 104 installs printer drivers 114A-C for the printing devices 112A-C or prompts the system administrator to install the drivers To do. The service discovery protocol handler 110 then obtains printer capability information directly from the printer driver or directly from the printing devices 112A-C.

ステップ3では、印刷サーバー104は「プリンタ機能取得」メッセージを印刷装置112Aに送る。そのようなメッセージは印刷装置112Bには送られなかったので、印刷サーバー104はすでに印刷装置112Bのためのプリンタ・ドライバをインストールしているのかもしれない。インストールされたドライバから、印刷サーバー104は印刷装置112Bの機能を「知る」。印刷装置112Aは、印刷装置112Aの機能を記述する応答メッセージを提供することによって、「プリンタ機能取得」メッセージに応答する。ウェブ・サービス・メッセージが使われてもよいし、あるいはHTTP GET-POSTシーケンスが使われてもよい。   In step 3, the print server 104 sends a “printer function acquisition” message to the printing apparatus 112A. Since such a message was not sent to printing device 112B, print server 104 may have already installed a printer driver for printing device 112B. From the installed driver, the print server 104 “knows” the function of the printing device 112B. Printing device 112A responds to the “Get Printer Capabilities” message by providing a response message describing the function of printing device 112A. Web service messages may be used, or HTTP GET-POST sequences may be used.

結果として、ステップ1ないし3を通じて、印刷サーバー104は、ネットワーク中で発見されるか、広告メッセージを通じて位置特定されるすべてのプリンタについての機能のリストを構築する。新しいプリンタが見出され、そのドライバがインストールされるとき、新しいプリンタの機能がリストに更新される。こうして、ステップ1ないし3は任意の時点で実行されてもよく、図3および図2の他のステップに関して非同期的に実行されてもよい。しかしながら、新しいプリンタが追加されるときに、新しいプリンタ・ドライバでクライアント102を継続的に更新する必要はない。   As a result, through steps 1-3, the print server 104 builds a list of functions for all printers that are found in the network or located through advertising messages. When a new printer is found and its driver is installed, the new printer features are updated in the list. Thus, steps 1 through 3 may be performed at any point in time, and may be performed asynchronously with respect to the other steps of FIGS. However, there is no need to continually update client 102 with new printer drivers as new printers are added.

ステップ4では、クライアント102は印刷サーバー104に「機能リスト取得」メッセージを送る。そのようなメッセージは、印刷サーバー104が通信できる各印刷装置の機能を要求する。ステップ5では、印刷サーバー104が印刷装置112Aおよび112
Bの機能をクライアント102に送る。ステップ6では、クライアント102が電子文書を印刷サーバー104に、印刷チケットとともに送る。ウェブ・サービスを使うある実施形態では、印刷チケットは、特定の印刷ジョブの特性を記述する電子文書である。印刷チケットは、印刷チケット・エレメントを定義するスキーマに準拠するXML文書を含んでいてもよい。
In step 4, the client 102 sends a “function list acquisition” message to the print server 104. Such a message requests the capabilities of each printing device with which the print server 104 can communicate. In step 5, the print server 104 determines that the printing devices 112A and 112
The function of B is sent to the client 102. In step 6, the client 102 sends the electronic document to the print server 104 together with the print ticket. In one embodiment using web services, a print ticket is an electronic document that describes the characteristics of a particular print job. The print ticket may include an XML document that conforms to the schema that defines the print ticket element.

ステップ7では、印刷サーバー104は、印刷装置112Aの機能が印刷要求において示されたパラメータに最もよく一致することを判定する。したがって、印刷サーバー104は、電子文書の変換されたバージョンを、印刷装置112Aに送る。電子文書の変換されたバージョンは、印刷装置112Aのために印刷サーバー104中にインストールされているプリンタ・ドライバを使って用意される。ステップ8では、印刷ジョブが失敗した場合、印刷装置112Aは印刷失敗メッセージを印刷サーバー104に送る。   In step 7, the print server 104 determines that the function of the printing device 112A best matches the parameters indicated in the print request. Accordingly, the print server 104 sends the converted version of the electronic document to the printing device 112A. The converted version of the electronic document is prepared using a printer driver installed in the print server 104 for the printing device 112A. In step 8, if the print job fails, the printing apparatus 112 </ b> A sends a print failure message to the print server 104.

ステップ9では、印刷サーバー104は、電子文書を印刷する次善の一致として、印刷装置112Bを選択する。したがって、印刷サーバー104は、印刷装置112Bに関連付けられたプリンタ・ドライバを使って、電子文書の変換されたバージョンを用意し、印刷装置112Bに送る。ステップ10では、印刷装置112Bは、電子文書の印刷が成功したことを印刷サーバー104に通知する。この通知に応答して、ステップ11において、印刷サーバー104はクライアント102に、印刷装置112Bが電子文書の印刷に成功したことを通知する。ステップ11の通知は、印刷装置112Bの名前および/または印刷装置112Bが物理的にどこに位置しているかを示す位置特定用情報を含んでいてもよい。   In step 9, the print server 104 selects the printing device 112B as the next best match for printing the electronic document. Accordingly, the print server 104 prepares a converted version of the electronic document using the printer driver associated with the printing device 112B and sends it to the printing device 112B. In step 10, the printing apparatus 112B notifies the print server 104 that the electronic document has been successfully printed. In response to this notification, in step 11, the print server 104 notifies the client 102 that the printing apparatus 112B has successfully printed the electronic document. The notification of step 11 may include location specifying information indicating the name of the printing device 112B and / or where the printing device 112B is physically located.

本発明のいくつかの実施形態を通じて数多くの恩恵が実現されうる。たとえば、ユーザーまたはクライアント・コンピュータは、新たに追加された印刷装置を追跡したり、各印刷装置がどんな機能を有するかを知ったり、および/または何らかのプリンタ・ドライバをインストールしたりすることを要求されなくてもよい。ユーザーまたはクライアントが知る必要があるのは、どのように印刷サーバーにアクセスするかだけである。その後、印刷サーバーは、実際の印刷以外のたいていの印刷活動を完遂し、結果をユーザーまたはクライアントに通知する。   Numerous benefits can be realized through some embodiments of the present invention. For example, a user or client computer is required to track newly added printing devices, know what features each printing device has, and / or install some printer drivers. It does not have to be. All the user or client needs to know is how to access the print server. The print server then completes most printing activities other than actual printing and notifies the user or client of the results.

(実装機構――ハードウェアの概観)
ここに記載されたアプローチは、いかなる型のコンピューティング・プラットフォームまたはアーキテクチャで実装されてもよい。図4は、本発明のある実施形態が実装されうるコンピュータ・システム400を示すブロック図である。コンピュータ・システム400はバス402または情報を通信するための他の通信機構と、情報を処理するための、バス402に結合されたプロセッサ404とを含む。コンピュータ・システム400はまた、ランダム・アクセス・メモリ(RAM)または他の動的記憶装置のような、バス402に結合された、情報およびプロセッサ404によって実行されるべき命令を記憶するためのメイン・メモリ406をも含む。メイン・メモリ406はまた、プロセッサ404によって実行されるべき命令の実行の間に一時変数または他の中間情報を記憶するためにも使用されてもよい。コンピュータ・システム400はさらに、バス402に結合された、プロセッサ404のための静的な情報および命令を記憶するための読み出し専用メモリ(ROM)408または他の静的記憶装置を含む。磁気ディスクまたは光ディスクのような記憶装置410が、情報および命令を記憶するために提供され、バス402に結合される。
(Implementation mechanism: overview of hardware)
The approach described herein may be implemented on any type of computing platform or architecture. FIG. 4 is a block diagram that illustrates a computer system 400 upon which an embodiment of the invention may be implemented. Computer system 400 includes a bus 402 or other communication mechanism for communicating information, and a processor 404 coupled with bus 402 for processing information. Computer system 400 also has a main memory for storing information and instructions to be executed by processor 404 coupled to bus 402, such as random access memory (RAM) or other dynamic storage. A memory 406 is also included. Main memory 406 may also be used to store temporary variables or other intermediate information during execution of instructions to be executed by processor 404. Computer system 400 further includes a read only memory (ROM) 408 or other static storage device coupled to bus 402 for storing static information and instructions for processor 404. A storage device 410, such as a magnetic disk or optical disk, is provided and coupled to the bus 402 for storing information and instructions.

コンピュータ・システム400は、コンピュータ・ユーザーに対して情報を表示するために、バス402を介して、陰極線管(CRT)のようなディスプレイ412に結合されていてもよい。プロセッサ404に情報およびコマンド選択を通信するために、英数字およびその他のキーを含む入力装置414がバス402に結合されている。もう一つの型のユーザー入力装置は、プロセッサ404に方向情報およびコマンド選択を通信するための、およびディスプレイ412上でのカーソルの動きを制御するための、マウス、トラックボールまたはカーソル方向キーのようなカーソル・コントロール416である。この入力装置は典型的には、当該装置が平面内での位置を指定することを許容する、二つの軸、第一の軸(たとえばx)および第二の軸(たとえばy)における二つの自由度を有する。   Computer system 400 may be coupled via bus 402 to a display 412 such as a cathode ray tube (CRT) for displaying information to a computer user. An input device 414, including alphanumeric and other keys, is coupled to the bus 402 for communicating information and command selections to the processor 404. Another type of user input device, such as a mouse, trackball or cursor direction key, for communicating direction information and command selections to the processor 404 and for controlling cursor movement on the display 412. A cursor control 416. This input device typically has two freedoms in two axes, a first axis (eg, x) and a second axis (eg, y) that allow the device to specify a position in the plane. Have a degree.

本発明は、ここに記載される諸技法を実装するためのコンピュータ・システム400の使用に関係する。本発明のある実施形態によれば、それらの技法は、プロセッサ404がメイン・メモリ406に含まれる一つまたは複数の命令の一つまたは複数のシーケンスを実行するのに応答して、コンピュータ・システム400によって実行される。そのような命令は、記憶装置410のような別の機械可読媒体からメイン・メモリ406に読み込まれてもよい。メイン・メモリ406に含まれる命令のシーケンスの実行は、プロセッサ404に、ここに記載されるプロセス・ステップを実行させる。代替的な諸実施形態では、本発明を実装するために、ソフトウェア命令の代わりに、あるいはソフトウェア命令と組み合わせて、結線された回路が使われてもよい。よって、本発明の実施形態は、ハードウェア回路およびソフトウェアのいかなる特定の組み合わせにも限定されない。   The invention is related to the use of computer system 400 for implementing the techniques described herein. In accordance with certain embodiments of the present invention, these techniques may be used in a computer system in response to processor 404 executing one or more sequences of one or more instructions contained in main memory 406. 400 is executed. Such instructions may be read into main memory 406 from another machine-readable medium, such as storage device 410. Execution of the sequence of instructions contained in main memory 406 causes processor 404 to perform the process steps described herein. In alternative embodiments, wired circuitry may be used in place of or in combination with software instructions to implement the present invention. Thus, embodiments of the invention are not limited to any specific combination of hardware circuitry and software.

ここで使われている用語「機械可読媒体」は、機械に特定の仕方で動作させるデータを提供することに参加する任意の媒体を指す。コンピュータ・システム400を使って実装されるある実施形態では、たとえばプロセッサ404に実行のための命令を提供することに、さまざまな機械可読媒体が関わる。そのような媒体は、これに限られないが、不揮発性媒体、揮発性媒体および伝送媒体を含む多くの形を取ることができる。不揮発性媒体はたとえば、記憶装置410のような光ディスクまたは磁気ディスクを含む。揮発性媒体は、メイン・メモリ406のような動的メモリを含む。伝送媒体は、同軸ケーブル、銅線および光ファイバーを含み、バス402をなすワイヤを含む。伝送媒体は、電波および赤外データ通信の際に発生されるような、音響波または光波の形を取ることもできる。   The term “machine-readable medium” as used herein refers to any medium that participates in providing data that causes a machine to operation in a specific fashion. In certain embodiments implemented using computer system 400, various machine-readable media are involved, for example, in providing instructions to processor 404 for execution. Such a medium may take many forms, including but not limited to, non-volatile media, volatile media, and transmission media. Non-volatile media includes, for example, optical or magnetic disks such as storage device 410. Volatile media includes dynamic memory, such as main memory 406. Transmission media includes coaxial cable, copper wire and optical fiber, including the wires that make up bus 402. Transmission media can also take the form of acoustic or light waves, such as those generated during radio wave and infrared data communications.

機械可読媒体の一般的な形はたとえば、フロッピー(登録商標)・ディスク、フレキシブル・ディスク、ハードディスク、磁気テープもしくは他の任意の磁気媒体、CD-ROM、他の任意の光学式媒体、パンチカード、紙テープ、穿孔パターンをもつ他の任意の物理媒体、RAM、PROMおよびEPROM、フラッシュEPROM、他の任意のメモリ・チップもしくはカートリッジ、のちに述べる搬送波、あるいはコンピュータが読むことのできる他の任意の媒体を含む。   Common forms of machine-readable media are, for example, floppy disks, flexible disks, hard disks, magnetic tape or any other magnetic medium, CD-ROM, any other optical medium, punch card, Paper tape, any other physical medium with a perforated pattern, RAM, PROM and EPROM, flash EPROM, any other memory chip or cartridge, carrier wave described later, or any other medium that can be read by a computer Including.

機械可読媒体のさまざまな形は、実行のための一つまたは複数の命令の一つまたは複数のシーケンスをプロセッサ404に搬送することに関わってもよい。たとえば、命令は初期にはリモート・コンピュータの磁気ディスク上で担持されていてもよい。リモート・コンピュータは該命令を、該リモート・コンピュータの動的メモリにロードし、該命令をモデムを使って電話線を通じて送信できる。コンピュータ・システム400にローカルなモデムは電話線上でデータを受信し、赤外線送信器を使って該データを赤外信号に変換できる。赤外線信号で搬送されたデータを赤外線検出器が検出でき、適切な回路が該データをバス402に載せることができる。バス402は該データをメイン・メモリ406に伝え、メイン・メモリ406からプロセッサ404が前記命令を取得し、実行する。メイン・メモリ406が受領した命令は任意的に、プロセッサ404による実行の前でも後でも、記憶装置410に記憶されてもよい。   Various forms of machine-readable media may be involved in carrying one or more sequences of one or more instructions for execution to processor 404. For example, the instructions may initially be carried on a remote computer magnetic disk. The remote computer can load the instructions into the dynamic memory of the remote computer and send the instructions over a telephone line using a modem. A modem local to computer system 400 can receive the data on the telephone line and use an infra-red transmitter to convert the data to an infra-red signal. The data carried by the infrared signal can be detected by the infrared detector, and a suitable circuit can place the data on the bus 402. The bus 402 transmits the data to the main memory 406, and the processor 404 obtains the instruction from the main memory 406 and executes it. The instructions received by main memory 406 may optionally be stored on storage device 410 either before or after execution by processor 404.

コンピュータ・システム400はまた、バス402に結合された通信インターフェース418をも含んでいる。通信インターフェース418は、ローカル・ネットワーク422に接続されているネットワーク・リンク420に結合する双方向データ通信を提供する。たとえば、通信インターフェース418は、対応する型の電話線へのデータ通信接続を提供するための統合サービス・デジタル・ネットワーク(ISDN)カードまたはモデムであってもよい。もう一つの例として、通信インターフェース418は互換LANへのデータ通信接続を提供するための構内ネットワーク(LAN)カードであってもよい。無線リンクが実装されてもよい。そのようないかなる実装においても、通信インターフェース418は、さまざまな種類の情報を表すデジタル・データ・ストリームを搬送する電気的、電磁的または光学的信号を送信および受信する。   Computer system 400 also includes a communication interface 418 coupled to bus 402. Communication interface 418 provides a two-way data communication coupling to a network link 420 that is connected to a local network 422. For example, the communication interface 418 may be an integrated services digital network (ISDN) card or modem to provide a data communication connection to a corresponding type of telephone line. As another example, communication interface 418 may be a local area network (LAN) card for providing a data communication connection to a compatible LAN. A radio link may be implemented. In any such implementation, communication interface 418 sends and receives electrical, electromagnetic or optical signals that carry digital data streams representing various types of information.

ネットワーク・リンク420は典型的には、一つまたは複数のネットワークを通じた他のデータ装置へのデータ通信を提供する。たとえば、ネットワーク・リンク420は、ローカル・ネットワーク422から、ホスト・コンピュータ424への、あるいはインターネット・サービス・プロバイダー(ISP)426によって運用されるデータ装置への接続を提供してもよい。ISP426のほうは、現在一般に「インターネット」428と称される世界規模のパケット・データ通信ネットワークを通じてデータ通信サービスを提供する。ローカル・ネットワーク422およびインターネット428はいずれも、デジタル・データ・ストリームを搬送する電気的、電磁的または光学的信号を使う。コンピュータ・システム400との間でデジタル・データを搬送する、さまざまなネットワークを通じた信号およびネットワーク・リンク上のおよび通信インターフェース418を通じた信号は、情報を運ぶ搬送波の例示的な形である。   Network link 420 typically provides data communication to other data devices over one or more networks. For example, the network link 420 may provide a connection from the local network 422 to a host computer 424 or to a data device operated by an Internet service provider (ISP) 426. ISP 426 provides data communication services through a worldwide packet data communication network now commonly referred to as the “Internet” 428. Local network 422 and Internet 428 both use electrical, electromagnetic or optical signals that carry digital data streams. Signals over various networks and over network links and through communication interface 418 that carry digital data to and from computer system 400 are exemplary forms of carriers that carry information.

コンピュータ・システム400は、ネットワーク(単数または複数)、ネットワーク・リンク420および通信インターフェース418を通じてメッセージを送信し、プログラム・コードを含むデータを受信することができる。インターネットの例では、サーバー430はインターネット428、ISP426、ローカル・ネットワーク422および通信インターフェース418を通じてアプリケーション・プログラムのための要求されたコードを送信できる。   Computer system 400 can send messages and receive data, including program code, over network (s), network link 420 and communication interface 418. In the Internet example, the server 430 can send the requested code for the application program over the Internet 428, ISP 426, local network 422 and communication interface 418.

プロセッサ404は受信したコードを、受信する際に実行してもよいし、および/またはのちの実行のために記憶装置410もしくは他の不揮発性記憶装置に記憶してもよい。このようにして、コンピュータ・システム400は搬送波の形でアプリケーション・コードを取得できる。   The processor 404 may execute the received code upon receipt and / or store it in the storage device 410 or other non-volatile storage for later execution. In this way, computer system 400 can obtain application code in the form of a carrier wave.

以上の明細書では、本発明の実施形態について数多くの個別的詳細を参照して記載してきたが、そうした個別的詳細は実装によって変わりうるものである。よって、何が本発明であり、何が本発明であると出願人によって意図されているかについての唯一にして排他的な指示物は、本願から生じる特許請求の範囲のセットである。請求項に含まれる用語について本稿で明示的に述べられている定義があればそれは請求項で使われるそのような用語の意味を支配する。よって、請求項において明示的に記載されていないいかなる限定、要素、属性、特徴、利点または性質も、特許請求の範囲をいかなる仕方であれ限定すべきではない。このように、明細書および図面は、制限する意味ではなく例示的な意味に解されるべきものである。
In the foregoing specification, embodiments of the invention have been described with reference to numerous specific details that may vary from implementation to implementation. Thus, the only and exclusive indication of what is the present invention and what is intended by the applicant to be the present invention is the set of claims that arise from this application. Any definitions expressly set forth herein for terms contained in a claim shall govern the meaning of such terms as used in the claims. Hence, no limitation, element, attribute, feature, advantage or property that is not expressly recited in a claim should limit the scope of the claim in any way. Thus, the specification and drawings are to be regarded in an illustrative sense rather than a restrictive sense.

印刷サーバーの例示的なネットワーク・アーキテクチャおよびコンポーネントを示す図である。FIG. 1 illustrates an exemplary network architecture and components of a print server. 印刷サーバーがクライアント印刷要求にサービスするフローチャートである。6 is a flowchart in which a print server services a client print request. 印刷サーバーがクライアント印刷要求にサービスするシーケンス図である。FIG. 6 is a sequence diagram in which a print server services a client print request. 例示的な印刷サーバー・コンピュータ・システムを示す図である。FIG. 1 illustrates an exemplary print server computer system.

符号の説明Explanation of symbols

100 ネットワーク・アーキテクチャ
102 クライアント
104 印刷サーバー
105 ネットワーク
106 クライアント・ハンドラ
108 コア
110 サービス発見プロトコル・ハンドラ
112 印刷装置
114 プリンタ・ドライバ
202 クライアントからGETPRINT機能要求を受信
204 印刷機能をクライアントに送る
206 クライアントから文書および印刷要件を受信
208 プリンタ要求に基づいて、既知の各プリンタについて
210 そのプリンタが利用可能で、かつ要件を満たすか?
212 利用可能性待ち行列に追加
214 もっと既知のプリンタがあるか?
216 最良一致に従って利用可能性待ち行列をソート
218 利用可能性待ち行列から最良一致したものを選択
220 最良一致したものに印刷ジョブを送る
222 印刷ジョブ成功?
224 そのプリンタを待ち行列から除去
226 利用可能性待ち行列が空か?
228 エラー状態をクライアントに送る
230 プリンタの状態および位置をクライアントに送る
400 コンピュータ・システム
402 バス
404 プロセッサ
406 メイン・メモリ
408 ROM
410 記憶装置
412 ディスプレイ
414 入力装置
416 カーソル・コントロール
418 通信インターフェース
420 ネットワーク・リンク
422 ローカル・ネットワーク
424 ホスト
426 ISP
428 インターネット
430 サーバー
100 Network Architecture 102 Client 104 Print Server 105 Network 106 Client Handler 108 Core 110 Service Discovery Protocol Handler 112 Printing Device 114 Printer Driver 202 Receives GETPRINT Function Request from Client 204 Sends Print Function to Client 206 Document from Client and Receive print requirements 208 Based on the printer request, for each known printer 210 Is the printer available and meets the requirements?
212 Add to availability queue 214 Are there more known printers?
216 Sort Availability Queue according to Best Match 218 Select Best Match from Availability Queue 220 Send Print Job to Best Match 222 Print Job Success?
224 Remove the printer from the queue 226 Is the availability queue empty?
228 Send error status to client 230 Send printer status and location to client 400 Computer system 402 Bus 404 Processor 406 Main memory 408 ROM
410 storage device 412 display 414 input device 416 cursor control 418 communication interface 420 network link 422 local network 424 host 426 ISP
428 Internet 430 server

Claims (16)

ネットワークに結合する機能をもつネットワーク・インターフェースと、
ネットワーク中に存在するかもしれない一つまたは複数の互換印刷装置にそれぞれデータを差し向けることのできる一つまたは複数のプリンタ・ドライバと、
印刷サーバー論理とを有するデータ処理装置であって、該印刷サーバー論理は、一つまたは複数のプロセッサによって実行されたときに、
前記プリンタ・ドライバの一つまたは複数を欠くクライアント・コンピュータから、印刷データを含んでおり、該印刷データにおいて表されている一つまたは複数の文書を印刷する要求を受信し、
前記クライアントから、前記一つまたは複数の文書を印刷するための一つまたは複数のパラメータを受信し、
該複数パラメータに基づいて、前記一つまたは複数の印刷装置のうちからある特定の印刷装置を決定し、
該決定に基づいてその特定の印刷装置と互換な前記プリンタ・ドライバの一つを使って前記印刷データを変換し、該変換された印刷データを前記特定の印刷装置に送る、
機械実装されたステップを実行するよう動作可能であり、
前記印刷サーバー論理はクライアント・ハンドラおよびサービス発見プロトコル・ハンドラを有しており、該サービス発見プロトコル・ハンドラは、実行されたときに、サービス発見プロトコル中の要求を使って、ネットワーク中の前記一つまたは複数の印刷装置を発見することを実行するよう動作可能であり、
前記クライアント・ハンドラは、実行されたときに、前記クライアントに前記特定の印刷装置において前記印刷データの印刷に成功したことを知らせる確認データを、前記クライアントに送ることを実行するよう動作可能であり、該確認データは前記特定の印刷装置の名称および位置を含む
ータ処理装置。
A network interface with the ability to couple to the network;
One or more printer drivers each capable of directing data to one or more compatible printing devices that may be present in the network;
A data processing device having print server logic, when the print server logic is executed by one or more processors,
Receiving from a client computer lacking one or more of the printer drivers a request to print one or more documents containing print data and represented in the print data;
Receiving one or more parameters for printing the one or more documents from the client;
Determining a particular printing device from the one or more printing devices based on the plurality of parameters;
Converting the print data using one of the printer drivers compatible with the particular printing device based on the determination, and sending the converted print data to the particular printing device;
Ri operable der to execute machine-implemented steps,
The print server logic has a client handler and a service discovery protocol handler that, when executed, uses the request in the service discovery protocol to execute the one in the network. or Ri operable der to perform finding a plurality of printing devices,
The client handler is operable to execute, when executed, sending confirmation data to the client informing the client that the print data has been successfully printed on the particular printing device; The confirmation data includes the name and position of the specific printing device ,
Data processing equipment.
前記印刷サーバー論理はさらに、実行されたときに、前記パラメータを最もよく満たす前記特定の印刷装置を決定するよう動作可能な論理を含む、請求項1記載のデータ処理装置。   The data processing apparatus of claim 1, wherein the print server logic further comprises logic operable to determine the particular printing device that best meets the parameters. 前記印刷サーバー論理はさらに、実行されたときに:前記クライアントからの要求中の、前記パラメータのそれぞれに関連付けられた重み値を受領し、該重み値のそれぞれは関連付けられたパラメータの重要性を示し;前記重み値に従って前記パラメータに重み付けしたときに前記パラメータを最もよく満たす前記特定の印刷装置を決定することを実行するよう動作可能な論理を含む、請求項1記載のデータ処理装置。   The print server logic further receives, when executed: a weight value associated with each of the parameters in the request from the client, each of the weight values indicating the importance of the associated parameter. The data processing apparatus of claim 1, comprising logic operable to perform determining the particular printing device that best satisfies the parameter when weighted to the parameter according to the weight value. 前記印刷サーバー論理はさらに、実行されたときに、前記印刷装置の一つからその印刷装置がサービス要求に対して利用可能であることを示す広告メッセージを受信することを実行するよう動作可能な論理を含む、請求項1記載のデータ処理装置。   The print server logic is further operable to execute, when executed, to receive an advertisement message from one of the printing devices indicating that the printing device is available for a service request. The data processing apparatus according to claim 1, comprising: 前記印刷サーバー論理はさらに、実行されたときに、前記特定の印刷装置のためのドライバの一つをインストールすることを実行するよう動作可能な論理を含む、請求項1記載のデータ処理装置。   The data processing apparatus of claim 1, wherein the print server logic further comprises logic operable to execute installing one of the drivers for the particular printing device when executed. 前記印刷サーバー論理はさらに、実行されたときに、前記ドライバの一つから、前記特定の印刷装置の一つまたは複数の機能を特定する印刷機能データを取得することを実行するよう動作可能な論理を含む、請求項1記載のデータ処理装置。   The print server logic is further operable to execute, when executed, executing from one of the drivers to obtain print function data identifying one or more functions of the specific printing device. The data processing apparatus according to claim 1, comprising: 前記印刷サーバー論理はさらに、実行されたときに、前記特定の印刷装置から、前記特定の印刷装置の印刷機能を示す印刷機能データを取得することを実行するよう動作可能な論理を含む、請求項1記載のデータ処理装置。   The print server logic further includes logic operable to execute, when executed, obtaining print function data indicative of a print function of the particular printing device from the particular printing device. 1. A data processing apparatus according to 1. 前記パラメータは、前記印刷装置の一つの、前記クライアントに対する位置か、前記印刷装置の一つの、一つまたは複数のセキュリティ特徴かのうちの少なくとも一方を含む、請求項1記載のデータ処理装置。   The data processing apparatus according to claim 1, wherein the parameter includes at least one of a position of the printing apparatus with respect to the client and one or more security features of the printing apparatus. ネットワークに結合する機能をもつネットワーク・インターフェースと、
ネットワーク中に存在するかもしれない一つまたは複数の互換印刷装置にそれぞれデータを差し向けることのできる一つまたは複数のプリンタ・ドライバと、
印刷サーバー論理とを有するデータ処理装置であって、該印刷サーバー論理は、一つまたは複数のプロセッサによって実行されたときに、
前記プリンタ・ドライバの一つまたは複数を欠くクライアント・コンピュータから、印刷データを含んでおり、該印刷データにおいて表されている一つまたは複数の文書を印刷する要求を受信し、
前記クライアントから、前記一つまたは複数の文書を印刷するための一つまたは複数のパラメータを受信し、
該複数パラメータに基づいて、前記一つまたは複数の印刷装置のうちからある特定の印刷装置を決定し、
該決定に基づいてその特定の印刷装置と互換な前記プリンタ・ドライバの一つを使って前記印刷データを変換し、該変換された印刷データを前記特定の印刷装置に送る、
機械実装されたステップを実行するよう動作可能であり、
前記印刷サーバー論理はさらに、実行されたときに、利用可能でありかつ前記パラメータを満たす前記印刷装置を特定する情報を含む利用可能性待ち行列を生成および保存し、ある印刷ジョブが前記特定の印刷装置での印刷に失敗したことを示すエラー・メッセージを前記特定の印刷装置から受信するのに応答して前記特定の印刷装置を特定する情報を除去することを実行するよう動作可能な論理を含む
ータ処理装置。
A network interface with the ability to couple to the network;
One or more printer drivers each capable of directing data to one or more compatible printing devices that may be present in the network;
A data processing device having print server logic, when the print server logic is executed by one or more processors,
Receiving from a client computer lacking one or more of the printer drivers a request to print one or more documents containing print data and represented in the print data;
Receiving one or more parameters for printing the one or more documents from the client;
Determining a particular printing device from the one or more printing devices based on the plurality of parameters;
Converting the print data using one of the printer drivers compatible with the particular printing device based on the determination, and sending the converted print data to the particular printing device;
Operable to perform machine-implemented steps;
The print server logic further generates and stores an availability queue that, when executed, includes information identifying the printing device that is available and satisfies the parameters, so that a print job is the specific print Including logic operable to perform removal of information identifying the particular printing device in response to receiving an error message from the particular printing device indicating that printing on the device has failed ,
Data processing equipment.
前記印刷サーバー論理はさらに、実行されたときに、前記エラー・メッセージを受信するのに応答して前記利用可能性待ち行列から第二の印刷装置を選択し、前記第二の印刷装置と互換な前記プリンタ・ドライバの一つを使って前記印刷データを変換し、該変換された印刷データを前記第二の印刷装置に送る、ことを実行するよう動作可能な論理を含む、請求項記載のデータ処理装置。 The print server logic further, when executed, selects a second printing device from the availability queue in response to receiving the error message and is compatible with the second printing device. The logic of claim 9 , comprising logic operable to perform the conversion of the print data using one of the printer drivers and send the converted print data to the second printing device. Data processing device. ネットワークに結合する機能をもつネットワーク・インターフェースと、
ネットワーク中に存在するかもしれない一つまたは複数の互換印刷装置にそれぞれデータを差し向けることのできる一つまたは複数のプリンタ・ドライバと、
前記プリンタ・ドライバの一つまたは複数を欠くクライアント・コンピュータから、印刷データを含んでおり、該印刷データにおいて表されている一つまたは複数の文書を印刷する要求を受信する手段と、
前記クライアントから、前記一つまたは複数の文書を印刷するための一つまたは複数のパラメータを受信する手段と、
該複数パラメータに基づいて、前記一つまたは複数の印刷装置のうちからある特定の印刷装置を決定する手段と、
該決定に基づいてその特定の印刷装置と互換な前記プリンタ・ドライバの一つを使って前記印刷データを変換し、該変換された印刷データを前記特定の印刷装置に送る手段とを有するデータ処理データ処理装置であって、
前記印刷サーバー論理はクライアント・ハンドラおよびサービス発見プロトコル・ハンドラを有しており、該サービス発見プロトコル・ハンドラは、実行されたときに、サービス発見プロトコル中の要求を使って、ネットワーク中の前記一つまたは複数の印刷装置を発見することを実行するよう動作可能であり、
前記クライアント・ハンドラは、実行されたときに、前記クライアントに前記特定の印刷装置において前記印刷データの印刷に成功したことを知らせる確認データを、前記クライアントに送ることを実行するよう動作可能であり、該確認データは前記特定の印刷装置の名称および位置を含む
ータ処理装置。
A network interface with the ability to couple to the network;
One or more printer drivers each capable of directing data to one or more compatible printing devices that may be present in the network;
Means for receiving from a client computer lacking one or more of the printer drivers a request to print one or more documents containing print data and represented in the print data;
Means for receiving from the client one or more parameters for printing the one or more documents;
Means for determining a specific printing device from the one or more printing devices based on the plurality of parameters;
Using one of the particular printing device and compatible the printer driver on the basis of the determined converting the print data, that having a means for sending the print data said converted to the particular printing device a data processing data processing apparatus,
The print server logic has a client handler and a service discovery protocol handler that, when executed, uses the request in the service discovery protocol to execute the one in the network. or Ri operable der to perform finding a plurality of printing devices,
The client handler is operable to execute, when executed, sending confirmation data to the client informing the client that the print data has been successfully printed on the particular printing device; The confirmation data includes the name and position of the specific printing device ,
Data processing equipment.
前記パラメータを最もよく満たす前記特定の印刷装置を決定する手段をさらに有する、請求項11記載のデータ処理装置。 12. A data processing apparatus according to claim 11 , further comprising means for determining the particular printing device that best satisfies the parameter. 前記クライアントからの要求中の、前記パラメータのそれぞれに関連付けられた重み値を受領し、ここで該重み値のそれぞれは関連付けられたパラメータの重要性を示す、手段と、前記重み値に従って前記パラメータに重み付けしたときに前記パラメータを最もよく満たす前記特定の印刷装置を決定する手段とをさらに有する、請求項11記載のデータ処理装置。 Receiving a weight value associated with each of the parameters in the request from the client, wherein each of the weight values indicates the importance of the associated parameter; 12. The data processing apparatus according to claim 11 , further comprising means for determining the specific printing apparatus that best satisfies the parameter when weighted. ネットワークに結合する機能をもつネットワーク・インターフェースと、
ネットワーク中に存在するかもしれない一つまたは複数の互換印刷装置にそれぞれデータを差し向けることのできる一つまたは複数のプリンタ・ドライバと、
前記プリンタ・ドライバの一つまたは複数を欠くクライアント・コンピュータから、印刷データを含んでおり、該印刷データにおいて表されている一つまたは複数の文書を印刷する要求を受信する手段と、
前記クライアントから、前記一つまたは複数の文書を印刷するための一つまたは複数のパラメータを受信する手段と、
該複数パラメータに基づいて、前記一つまたは複数の印刷装置のうちからある特定の印刷装置を決定する手段と、
該決定に基づいてその特定の印刷装置と互換な前記プリンタ・ドライバの一つを使って前記印刷データを変換し、該変換された印刷データを前記特定の印刷装置に送る手段とを有するデータ処理データ処理装置であって、
利用可能でありかつ前記パラメータを満たす前記印刷装置を特定する情報を含む利用可能性待ち行列を生成および保存する手段と、ある印刷ジョブが前記特定の印刷装置での印刷に失敗したことを示すエラー・メッセージを前記特定の印刷装置から受信するのに応答して前記特定の印刷装置を特定する情報を除去する手段とをさらに有する
ータ処理装置。
A network interface with the ability to couple to the network;
One or more printer drivers each capable of directing data to one or more compatible printing devices that may be present in the network;
Means for receiving from a client computer lacking one or more of the printer drivers a request to print one or more documents containing print data and represented in the print data;
Means for receiving from the client one or more parameters for printing the one or more documents;
Means for determining a specific printing device from the one or more printing devices based on the plurality of parameters;
Data processing comprising: converting the print data using one of the printer drivers compatible with the specific printing device based on the determination, and sending the converted print data to the specific printing device A data processing device,
Means for generating and storing an availability queue including information identifying the printing device that is available and satisfies the parameters, and an error indicating that a print job has failed to print on the particular printing device Means for removing information identifying the particular printing device in response to receiving a message from the particular printing device ;
Data processing equipment.
前記エラー・メッセージを受信するのに応答して前記利用可能性待ち行列から第二の印刷装置を選択する手段と、前記第二の印刷装置と互換な前記プリンタ・ドライバの一つを使って前記印刷データを変換する手段と、該変換された印刷データを前記第二の印刷装置に送る手段とをさらに有する、請求項14記載のデータ処理装置。 Means for selecting a second printing device from the availability queue in response to receiving the error message; and using one of the printer drivers compatible with the second printing device. 15. The data processing apparatus according to claim 14 , further comprising: means for converting print data; and means for sending the converted print data to the second printing apparatus. 一つまたは複数の命令シーケンスがエンコードされているコンピュータ読み取り可能な記録媒体であって、該命令は、一つまたは複数のプロセッサによって実行されたときに、前記一つまたは複数のプロセッサに、
ネットワーク中に存在するかもしれない一つまたは複数の互換印刷装置にそれぞれデータを差し向けることのできる一つまたは複数のプリンタ・ドライバを欠くクライアント・コンピュータから、印刷データを含んでおり、該印刷データにおいて表されている一つまたは複数の文書を印刷する要求を受信し、
前記クライアントから、前記一つまたは複数の文書を印刷する一つまたは複数のパラメータを受信し、
該複数パラメータに基づいて、前記一つまたは複数の印刷装置のうちからある特定の印刷装置を決定し、
該決定に基づいてその特定の印刷装置と互換な前記プリンタ・ドライバの一つを使って前記印刷データを変換し、該変換された印刷データを前記特定の印刷装置に送る、
ことを実行させるものであ
前記命令はさらに、一つまたは複数のプロセッサによって実行されたときに、前記一つまたは複数のプロセッサに、サービス発見プロトコル中の要求を使って、ネットワーク中の前記一つまたは複数の印刷装置を発見することを実行させ、
前記クライアントに前記特定の印刷装置において前記印刷データの印刷に成功したことを知らせる確認データを、前記クライアントに送ることを実行させ、該確認データは前記特定の印刷装置の名称および位置を含む、
コンピュータ読み取り可能な記録媒体。
A computer-readable recording medium in which one or more instruction sequences are encoded, the instructions being executed by one or more processors, the one or more processors,
Print data from a client computer that lacks one or more printer drivers each capable of directing data to one or more compatible printing devices that may be present in the network; Receives a request to print one or more documents represented in
Receiving one or more parameters for printing the one or more documents from the client;
Determining a particular printing device from the one or more printing devices based on the plurality of parameters;
Converting the print data using one of the printer drivers compatible with the particular printing device based on the determination, and sending the converted print data to the particular printing device;
All SANYO thereon to perform the following,
The instructions are further executed by one or more processors to cause the one or more processors to discover the one or more printing devices in the network using a request in a service discovery protocol. To do
Causing the client to execute confirmation data notifying that the print data has been successfully printed on the specific printing apparatus, to the client, and the confirmation data includes a name and a position of the specific printing apparatus.
Computer-readable recording medium.
JP2008171574A 2007-07-30 2008-06-30 Data processing apparatus and recording medium for print server Expired - Fee Related JP5114318B2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/830,129 US8508755B2 (en) 2007-07-30 2007-07-30 Print server
US11/830,129 2007-07-30

Publications (2)

Publication Number Publication Date
JP2009032250A JP2009032250A (en) 2009-02-12
JP5114318B2 true JP5114318B2 (en) 2013-01-09

Family

ID=40003144

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008171574A Expired - Fee Related JP5114318B2 (en) 2007-07-30 2008-06-30 Data processing apparatus and recording medium for print server

Country Status (3)

Country Link
US (1) US8508755B2 (en)
EP (1) EP2026196A3 (en)
JP (1) JP5114318B2 (en)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8214548B2 (en) * 2007-08-29 2012-07-03 Ricoh Company, Ltd. Capability-based control device driver of a computer peripheral device
KR20090124672A (en) * 2008-05-30 2009-12-03 삼성전자주식회사 The method, apparatus and image forming system for process additional data of printing job
DE102009009445A1 (en) 2009-02-13 2010-10-07 Thinprint Gmbh Method and arrangement for determining printers, and a corresponding computer program and a corresponding computer-readable storage medium
US20100225958A1 (en) * 2009-03-06 2010-09-09 Selvaraj Senthil K Approach For Printing To Web Services-Enabled Printing Devices
JP5182165B2 (en) * 2009-03-12 2013-04-10 株式会社リコー Information processing apparatus, information processing method, program, and recording medium
US8514433B2 (en) * 2009-04-29 2013-08-20 Xerox Corporation Print and release print control system and method
CN101888396B (en) * 2009-05-12 2013-08-28 华为技术有限公司 Method for calling equipment capacity, micro technical equipment and server
US20100309515A1 (en) * 2009-06-03 2010-12-09 Canon Kabushiki Kaisha Display control apparatus, display control method, and computer-readable storage medium
JP5444881B2 (en) * 2009-06-26 2014-03-19 株式会社リコー Information processing apparatus and information processing system
US8405853B2 (en) * 2009-07-31 2013-03-26 Ricoh Company, Ltd. Dynamic DEVMODE support
US8310706B2 (en) * 2009-07-31 2012-11-13 Ricoh Company, Ltd. Dynamic and real-time print schema documents
WO2011090474A1 (en) 2010-01-20 2011-07-28 Hewlett-Packard Development Company, L.P. Cloud printer with a common user print experience
US8928911B2 (en) 2010-03-30 2015-01-06 Hewlett-Packard Development Company, L.P. Fulfillment utilizing selected negotiation attributes
US8380889B2 (en) 2010-03-31 2013-02-19 Oki Data Americas, Inc. Distributed peripheral device management system
JP2012048457A (en) * 2010-08-26 2012-03-08 Canon Inc Print server device, printer, information processing method, and program
US8473547B2 (en) * 2010-09-02 2013-06-25 Ricoh Company, Ltd Methods and structure for utilizing dynamic capabilities in client/server software interaction
JP5236720B2 (en) * 2010-12-13 2013-07-17 シャープ株式会社 Information processing apparatus, image output system, image output support apparatus for image output system, program, and recording medium
US20120212757A1 (en) * 2011-02-23 2012-08-23 Gaertner Joseph P Multiple print protocol capability of a virtual printer in a print shop architecture
US8922813B2 (en) * 2011-10-21 2014-12-30 Lantronix, Inc. Print server for a portable device
US20140327936A1 (en) * 2011-10-21 2014-11-06 Lantronix, Inc. Wireless Portable Print Server Devices, Systems, and Methods
US8249230B1 (en) * 2012-01-09 2012-08-21 EC Data Systems, Inc. Scalable and flexible internet fax architecture
US8254538B1 (en) 2012-02-27 2012-08-28 EC Data Systems, Inc. Scalable and flexible internet fax architecture for processing outbound fax messages
US9069501B2 (en) 2012-02-28 2015-06-30 Hewlett-Packard Development Company, L.P. Mechanism that allows initiating print without being aware of the printer email address
WO2013154580A1 (en) * 2012-04-13 2013-10-17 Hewlett-Packard Development Company, L.P. Print service matching
CN104254844B (en) 2012-06-26 2017-12-19 惠普发展公司,有限责任合伙企业 The network printer is exposed to WI FI clients
US9804807B2 (en) * 2012-08-13 2017-10-31 Xerox Corporation Method and system for automated hardcopy change notification
JP6008109B2 (en) * 2012-10-01 2016-10-19 セイコーエプソン株式会社 Printing system and printing apparatus
CN103051672B (en) * 2012-11-21 2016-02-10 中兴通讯股份有限公司 End message acquisition methods in a kind of heterogeneous terminals environment and device
US9442679B2 (en) * 2013-01-31 2016-09-13 Xerox Corporation Network discovery using unicast communications
JP6236879B2 (en) * 2013-05-30 2017-11-29 株式会社リコー Image processing system, image processing apparatus, and image processing method
WO2016114744A2 (en) * 2013-08-23 2016-07-21 Hewlett-Packard Development Company, L.P. Mobile device for automatically delivering print jobs to printers
JP2015045936A (en) * 2013-08-27 2015-03-12 Necプラットフォームズ株式会社 Information processing system, control device, printing method, and program
JP2015132897A (en) * 2014-01-09 2015-07-23 株式会社リコー System and method
US10277778B2 (en) 2014-06-24 2019-04-30 Ec Data Systems Inc. Audit logging for a secure, scalable and flexible internet fax architecture
WO2017077581A1 (en) * 2015-11-02 2017-05-11 富士通株式会社 Information processing system, information processing method, and information processing program
JP6708106B2 (en) * 2016-11-30 2020-06-10 京セラドキュメントソリューションズ株式会社 Information processing apparatus, information processing system, and information processing method
CN110968273B (en) * 2019-11-28 2020-09-08 深圳市金城保密技术有限公司 Laser color printing method and system based on Internet of things
US20210329100A1 (en) * 2020-04-10 2021-10-21 Oracle International Corporation System and method for use of remote procedure call with a microservices environment
US20240345787A1 (en) * 2023-04-11 2024-10-17 Kyocera Document Solutions Inc. Cloud-based printing managing system and method

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0299377A (en) * 1988-10-07 1990-04-11 Fujitsu Ltd Process system for automatically selecting printer
JPH07168682A (en) * 1993-12-16 1995-07-04 Matsushita Electric Ind Co Ltd Electronic computer with printer driver setting function and printer with printer driver setting function
US5580177A (en) * 1994-03-29 1996-12-03 Hewlett-Packard Company Printer/client network with centrally updated printer drivers and printer status monitoring
JPH11184649A (en) 1997-07-25 1999-07-09 Seiko Epson Corp System and method for printing, and printer
US6003069A (en) * 1997-12-16 1999-12-14 Lexmark International, Inc. Client/server printer driver system
WO2000068817A1 (en) 1999-05-12 2000-11-16 Hewlett-Packard Company Generalized resource server
US20020103853A1 (en) * 2001-01-26 2002-08-01 Copp Larry A. Method and device for locating a peripheral
US6920506B2 (en) * 2001-06-28 2005-07-19 Canon Information Systems, Inc. Discovery and management of network printers
WO2003010955A1 (en) * 2001-07-23 2003-02-06 Seiko Epson Corporation Printing system and printing method
US20030231328A1 (en) * 2002-06-07 2003-12-18 Xerox Corporation Multiple printer driver
US7327482B2 (en) * 2002-10-15 2008-02-05 Sharp Laboratories Of America, Inc. Integrated printer monitoring
JP2004234326A (en) * 2003-01-30 2004-08-19 Murata Mach Ltd Printer controller, and printer control program
JP2003296086A (en) * 2003-03-14 2003-10-17 Seiko Epson Corp Decentralized print control unit, decentralized print control method, and recording medium
US20050138065A1 (en) 2003-12-18 2005-06-23 Xerox Corporation System and method for providing document services
JP2006092373A (en) 2004-09-24 2006-04-06 Fuji Xerox Co Ltd Print system and its control method
US20080091700A1 (en) 2005-05-31 2008-04-17 Brotherson Bradley R Network-based document generation and processing
JP2007172469A (en) 2005-12-26 2007-07-05 Fujitsu Ltd Print management program and print management device
US7804612B2 (en) 2006-01-31 2010-09-28 Ricoh Company, Ltd. Network printing with driverless clients

Also Published As

Publication number Publication date
US8508755B2 (en) 2013-08-13
JP2009032250A (en) 2009-02-12
US20090033976A1 (en) 2009-02-05
EP2026196A2 (en) 2009-02-18
EP2026196A3 (en) 2010-12-29

Similar Documents

Publication Publication Date Title
JP5114318B2 (en) Data processing apparatus and recording medium for print server
JP4926735B2 (en) Network printing by driverless client
US8289551B2 (en) Approach for processing print data without a client print driver
US9779369B2 (en) Process flow definition creating system, process flow definition creating device, and a method of creating process flow definition
CN102123223B (en) Information processing apparatus, network device, system, control method
EP1947835A1 (en) Fault tolerant printing system
CN102915213B (en) Print system, printing server and printing management method
JP5729979B2 (en) Print relay system, print system, image forming apparatus, control method for controlling print relay system, and program
JP2003108448A (en) Device, method, and program for controlling network device
JP2007226805A (en) Device management system for processing client request
JP2008293503A (en) Network enabled printing device, method, and recording medium
JP2010211795A (en) Device for carrying out printing by printer capable of executing web service, and method used in computer
JP2007317195A (en) Method and medium for execution of print job
EP2079224A1 (en) Dynamic print driver installation for cameras
JP5558681B2 (en) Device search apparatus, device search apparatus control method, and computer program
JP2005292903A (en) Control system, control program, control method, and controller
US20120140261A1 (en) Method and system for providing print governance interaction for remote rendering applications
EP2296317A2 (en) Information processing apparatus for managing events upon identification of the event notification source, and control method and storage medium therefor
EP1482697A2 (en) Remote service provision using a chat protocol
JP2012208886A (en) Print system, print instruction terminal, print server, method and program
JP2008282406A (en) Report of event from a plurality of ws operable devices
JP5571911B2 (en) Image processing apparatus, control method thereof, and program
JP2009255390A (en) Image forming apparatus, functional cooperation control method, and functional cooperation control program
EP1439684B1 (en) Apparatus, method and system for providing information in accordance with one of a plurality of protocols
JP2005038016A (en) Data processor, method and program, and image forming device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110302

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120521

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120529

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120628

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120918

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121015

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151019

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5114318

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees