[go: up one dir, main page]

JP2011034563A - Print system - Google Patents

Print system Download PDF

Info

Publication number
JP2011034563A
JP2011034563A JP2010158754A JP2010158754A JP2011034563A JP 2011034563 A JP2011034563 A JP 2011034563A JP 2010158754 A JP2010158754 A JP 2010158754A JP 2010158754 A JP2010158754 A JP 2010158754A JP 2011034563 A JP2011034563 A JP 2011034563A
Authority
JP
Japan
Prior art keywords
print
version
data
devmode
functions
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2010158754A
Other languages
Japanese (ja)
Other versions
JP5655402B2 (en
Inventor
Zhenning Xiao
シアオ ジェニン
Senthil K Selvaraj
ケイ セルヴァラジ センシル
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 JP2011034563A publication Critical patent/JP2011034563A/en
Application granted granted Critical
Publication of JP5655402B2 publication Critical patent/JP5655402B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1205Improving or facilitating administration, e.g. print management resulting in increased flexibility in print job configuration, e.g. job settings, print requirements, job tickets
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/1225Software update, e.g. print driver, modules, plug-ins, fonts
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1229Printer resources management or printer maintenance, e.g. device status, power levels
    • G06F3/1231Device related settings, e.g. IP address, Name, Identification
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/1287Remote printer device, e.g. being remote from client or server via internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00204Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/0035User-machine interface; Control console
    • H04N1/00405Output means
    • H04N1/00408Display of information to the user, e.g. menus
    • H04N1/00413Display of information to the user, e.g. menus using menus, i.e. presenting the user with a plurality of selectable options
    • H04N1/00416Multi-level menus
    • H04N1/00419Arrangements for navigating between pages or parts of the menu
    • H04N1/00421Arrangements for navigating between pages or parts of the menu using drop-down menus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/0035User-machine interface; Control console
    • H04N1/00405Output means
    • H04N1/00408Display of information to the user, e.g. menus
    • H04N1/00464Display of information to the user, e.g. menus using browsers, i.e. interfaces based on mark-up languages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/0035User-machine interface; Control console
    • H04N1/00405Output means
    • H04N1/00482Output means outputting a plurality of job set-up options, e.g. number of copies, paper size or resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/0035User-machine interface; Control console
    • H04N1/00501Tailoring a user interface [UI] to specific requirements
    • H04N1/00503Customising to a particular machine or model, machine function or application
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1229Printer resources management or printer maintenance, e.g. device status, power levels
    • G06F3/1232Transmitting printer device capabilities, e.g. upon request or periodically
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0008Connection or combination of a still picture apparatus with another apparatus
    • H04N2201/0034Details of the connection, e.g. connector, interface
    • H04N2201/0037Topological details of the connection
    • H04N2201/0039Connection via a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0008Connection or combination of a still picture apparatus with another apparatus
    • H04N2201/0034Details of the connection, e.g. connector, interface
    • H04N2201/0046Software interface details, e.g. interaction of operating systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0008Connection or combination of a still picture apparatus with another apparatus
    • H04N2201/0074Arrangements for the control of a still picture apparatus by the connected apparatus
    • H04N2201/0075Arrangements for the control of a still picture apparatus by the connected apparatus by a user operated remote control device, e.g. receiving instructions from a user via a computer terminal or mobile telephone handset

Landscapes

  • Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Facsimiles In General (AREA)

Abstract

【課題】
本発明による方法と装置は、プリントデバイスにプリントするために提供される。
【解決手段】
クライアント・デバイスで実行されるプリントドライバは、プリントデバイスから、現在プリントデバイスでサポートされている複数の機能とオプションとを特定するプリントデバイス能力データを受信する。プリントドライバは、DEVMODEデータ構造体の第1のバージョンから第2のバージョンを生成する。DEVMODEデータ構造体の一部は、XMLで記述され、特定のプリント機能、および前記プリントデバイス能力データにおいて示される前記特定のプリント機能のための一つ以上のオプションを示す。ユーザインターフェースは、この第2のバージョンに基づいて生成されてもよい。DEVMODEデータ構造体の第3のバージョンが生成され、前記特定のプリント機能のオプションが選ばれたことを示す。DEVMODEデータ構造体の第3のバージョンに基づいて、プリントドライバは、プリントジョブ・チケットを生成する。
【選択図】図5
【Task】
The method and apparatus according to the present invention are provided for printing on a printing device.
[Solution]
A print driver executing on the client device receives print device capability data identifying a plurality of functions and options currently supported by the print device from the print device. The print driver generates a second version from the first version of the DEVMODE data structure. A portion of the DEVMODE data structure is described in XML and indicates a particular print function and one or more options for the particular print function indicated in the print device capability data. A user interface may be generated based on this second version. A third version of the DEVMODE data structure has been generated to indicate that the particular print function option has been selected. Based on the third version of the DEVMODE data structure, the print driver generates a print job ticket.
[Selection] Figure 5

Description

本発明は、一般にプリントシステムに関する。より詳細には、プリントデバイスへのプリントに関する。   The present invention generally relates to printing systems. More particularly, the present invention relates to printing on a printing device.

このセクションに記述されているアプローチは、実行することが可能なアプローチを示しているが、必ずしも以前に考案されたか、あるいは実行されたアプローチとは限らない。したがって、特に明記しない限り、このセクションに記述されているいずれのアプローチに関しても、単にこのセクションに記述されていることだけをもって、従来技術であるとみなしてはならない。
[ウェブ・サービス]
The approaches described in this section show approaches that can be implemented, but are not necessarily approaches that have been previously devised or implemented. Thus, unless otherwise stated, any approach described in this section should not be considered prior art solely by what is described in this section.
[Web service]

ワールドワイド・ウェブ・コンソーシアム(W3C)は、ワールドワイド・ウェブのための基準を開発する国際的コンソーシアムである。W3Cは、「ウェブ・サービス」を、ネットワークの上で、マシンとマシンとのインターオペラブルなインタラクションをサポートするように設計されたソフトウェアシステムとして定義する。この定義は、多くの異なるシステムを対象とするが、共通の用法を持っている。この規定は、SOAP(Simple Object Access Protocol)のフォーマットによるXML(Extensible Markup Language)エンベロープを使用するサービス、WSDL(Web Services Description Language)を使用して記述されたインターフェースを持つサービスに用いられている。ウェブ・サービスによって、デバイス、およびアプリケーションは、いかなる人間も介在することなく、一つ以上のネットワークにおいて、通信することができる。そして、同時に、人間は、同じ統合されたプロトコル(例えばHTTP(Hyper Text Protocol))を使用して、一つ以上のネットワークを通じてこの種のデバイス、およびアプリケーションと通信することができる。   The World Wide Web Consortium (W3C) is an international consortium that develops standards for the World Wide Web. The W3C defines a “web service” as a software system designed to support machine-to-machine interoperable interaction over a network. This definition covers many different systems but has a common usage. This specification is used for a service using an XML (Extensible Markup Language) envelope in a SOAP (Simple Object Access Protocol) format, and a service having an interface described using WSDL (Web Services Description Language). Web services allow devices and applications to communicate in one or more networks without any human intervention. At the same time, humans can communicate with such devices and applications over one or more networks using the same integrated protocol (eg, Hyper Text Protocol (HTTP)).

ウェブ・サービスを定める仕様は意図的にモジュール形式となっている。そして、その結果、全てのウェブ・サービスを定める唯一のドキュメントがない。その代わりに、状況、および技術に応じて、これを補完するための幾つかのコア仕様が存在する。共通コア仕様としては、SOAP、WSDL、WS−Discovery、WS−MetadataExchange、WS−Addressing、およびWS−Securityがある。異なる仕様は、異なるタスクおよび機能を規定する。   The specifications that define web services are intentionally modular. And as a result, there is no single document that defines all web services. Instead, depending on the situation and technology, there are several core specifications to complement this. Common core specifications include SOAP, WSDL, WS-Discovery, WS-MetadataExchange, WS-Addressing, and WS-Security. Different specifications define different tasks and functions.

SOAPは、XMLベースの、拡張性のあるメッセージ・エンベロープ形式であり、重要なプロトコル(例えばHTTP、およびSMTP(Simple Mail Transfer Protocol))と親和性がある。XMLを使用して、SOAPは、メッセージにおいてどのように書式が設定されなければならないかについて定めている。これによって、それらのメッセージの受け取り側(デバイス、およびアプリケーション)がそれらのメッセージを解釈することができるよう、それらのメッセージは書式の設定がなされる。SOAPは、例えば、リモート・プロシージャ・コールを実行するために使用することができる。   SOAP is an XML-based, extensible message envelope format that is compatible with important protocols (eg, HTTP and Simple Mail Transfer Protocol (SMTP)). Using XML, SOAP defines how a message must be formatted. This formats the messages so that their recipients (devices and applications) can interpret the messages. SOAP can be used, for example, to execute remote procedure calls.

WSDLは、ウェブ・サービス・インターフェースを記述するXMLフォーマットである。そして、これは、特定のプロトコルに結合するインターフェースの詳細を規定する。WSDLは、通常はサーバ、およびクライアント・コードを生成するため、および構成(コンフィギュレーション)のために用いられる。
[WSDデバイス]
WSDL is an XML format that describes a web service interface. This then defines the details of the interface that binds to a particular protocol. WSDL is typically used to generate server and client code and for configuration.
[WSD device]

一つ以上のウェブ・サービスをホストするデバイスは、Devices Profile for Web Services(DPWS)仕様もインプリメントする。この種のデバイスは、Web Service for Devises(WSD)と呼ばれる。WSDデバイスの例としては、スキャナ、プリンタ、複写機、ファックス、アーカイブ処理デバイス、および多機能周辺装置(MFP)が提供されるが、これに限られるものではない。多機能周辺装置(MFP)は、複数のサービス(例えば、プリント、コピー、およびスキャンサービス)を提供する。   A device that hosts one or more web services also implements the Devices Profile for Web Services (DPWS) specification. This type of device is called Web Service for Devices (WSD). Examples of WSD devices include, but are not limited to, scanners, printers, copiers, fax machines, archive processing devices, and multifunction peripherals (MFPs). A multi-function peripheral (MFP) provides multiple services (eg, print, copy, and scan services).

DPWSは、デバイスにおける安全なウェブ・サービス・メッセージ送信、ディスカバリ、ディスクリプション、およびイベントを可能にするために、インプリメンテーション制約の最小のセットを定める。DPWS仕様は、デバイスが二種類のサービスを提供する以下のアーキテクチュアを定める:すなわち、ホスティングサービスおよびホステッド(hosted)サービスである。ホスティングサービスは、デバイスに直接関連づけられ、かつデバイスディスカバリ処理において重要な役割を果たす。ホステッドサービスは、大部分は機能的で、そしてディスカバリのためのホスティングデバイスに依存する。   DPWS defines a minimal set of implementation constraints to enable secure web service message transmission, discovery, description, and events at the device. The DPWS specification defines the following architecture in which devices provide two types of services: hosting services and hosted services. Hosting services are directly associated with devices and play an important role in the device discovery process. Hosted services are largely functional and rely on hosting devices for discovery.

DPWSは、以下のコア・ウェブ・サービス標準を基にしている:WSDL1.1、XML Schema、SOAP1.2、WS−Addressing、およびWS−MetadataExchange、WS−Transfer、WS−Policy、WS−Security、WS−Discovery、およびWS−Eventingを更に有する。一つ以上のウェブ・サービス標準をインプリメントしたデバイスは、本願明細書において、ウェブ・サービス対応デバイスと称される。
[サービス仕様]
DPWS is based on the following core web service standards: WSDL 1.1, XML Schema, SOAP 1.2, WS-Addressing, and WS-Metadata Exchange, WS-Transfer, WS-Policy, WS-Security, WS -Further have Discovery and WS-Eventing. A device that implements one or more web service standards is referred to herein as a web service enabled device.
[Service specifications]

一部のウェブ・サービスは、特定のサービス仕様に合致する。サービス仕様(例えばWSD Print Service仕様)は、ウェブ・サービスがそのサービス仕様に準拠するためにインプリメントしなければならないAPIの最小限のセットを記述する。例えば、WSDプリントサービス仕様は、以下のものを定める:
(a)プリントウェブ・サービスが処理可能であるオペレーションのセット(例えば、WSDLファイルに記述される)、および
(b)プリントウェブ・サービスが生成するイベント。
WSDスキャナサービス仕様は以下のものを定める:
(a)スキャン・ウェブ・サービスが処理可能であるオペレーションのセット、および
(b)スキャン・ウェブ・サービスが生成するイベント。
Some web services meet specific service specifications. A service specification (eg, WSD Print Service specification) describes a minimal set of APIs that a web service must implement in order to comply with that service specification. For example, the WSD print service specification defines:
(A) a set of operations that the print web service can handle (eg, described in a WSDL file), and (b) events generated by the print web service.
The WSD scanner service specification defines:
(A) a set of operations that the scan web service can handle, and (b) events generated by the scan web service.

サービス仕様は、W3Cまたは他のウェブ・サービス標準化機関(例えば、オアシス:Organization for the Advancement of Structured Information Standard)によって標準化され得る。
[プリントデバイスへのプリント]
Service specifications may be standardized by W3C or other web service standardization organizations (eg, Oasis for the Advancement of Structured Information Standard).
[Print to print device]

ユーザが電子ドキュメントをプリントデバイスにプリントしたい場合、ユーザのクライアント・デバイスのプリントサブシステムは、アプリケーションプログラムによって生成されたアプリケーションデータを処理し、プリントデータを生成する。プリントデータは、プリントデバイスによって電子ドキュメントをプリントするのに必要な全ての情報を含む。例えば、ユーザは、PC上のワードプロセッシングアプリケーションを使用して、電子ドキュメントを作成する。ユーザは、それからワードプロセッシングアプリケーションのプリントオプションを選び、電子ドキュメントが特定のプリンタにプリントされるようリクエストする。PC上のプリントサブシステムは、特定のプリンタでサポートされるフォーマットのプリントデータを生成するために、ワードプロセッシングアプリケーションによって生成されたアプリケーションデータを処理することによって、このリクエストを処理する。プリントサブシステムは、それから特定のプリンタにプリントデータを送る。通常、プリントデータは、プリントデバイスによって認識されるプリントジョブの一部として、プリントデバイスに送信される。   When a user wants to print an electronic document on a print device, the print subsystem of the user's client device processes the application data generated by the application program and generates print data. The print data includes all information necessary for printing the electronic document by the printing device. For example, a user creates an electronic document using a word processing application on a PC. The user then selects a print option for the word processing application and requests that the electronic document be printed on a particular printer. The print subsystem on the PC processes this request by processing the application data generated by the word processing application to generate print data in a format supported by the particular printer. The print subsystem then sends the print data to the specific printer. Typically, print data is sent to the print device as part of a print job recognized by the print device.

従来、プリントデータを生成するためには、目的のプリントデバイスに特有なプリントドライバが使用されている。すなわち、各々のプリントドライバは、プリントデータを目的のプリントデバイスによってサポートされるフォーマットに変換する。したがって、クライアント・デバイスが、特定のプリントデバイスで正しくプリントするためには、そのクライアント・デバイスは、特定のプリントデバイスのためのプリントドライバをインストールしておく必要がある。このアプローチにおける課題の1つは、プリントドライバは目的のプリントデバイスのための最新のものでなければならないということである。プリントデバイスの構成が変更された場合、新たなプリントドライバが生成されなければならず、かつ多数のユーザに配信されなければならない。プリントデバイス製造業者はダウンロードのためのそれらのウェブサイトに利用できる最新のプリントドライバを提供することを試みる。しかしながら、多くのユーザは最新のドライバのための製造業者のウェブサイトをチェックすることを知らない。さらにまた、多くのプリントドライバはオペレーティングシステムを開発する会社によって、またはプリントデバイス製造業者によってデジタル的に認証されなければならない。そして、これは時間がかかり、かつ高価となり得る。プリントドライバに対するいかなる変更も、通常はデジタル的な再認証を必要とする。
[DEVMODE]
Conventionally, in order to generate print data, a print driver specific to a target print device is used. That is, each print driver converts the print data into a format supported by the target print device. Therefore, in order for a client device to print correctly on a specific printing device, the client device needs to have a print driver for the specific printing device installed. One challenge with this approach is that the print driver must be up-to-date for the intended printing device. When the configuration of the printing device is changed, a new print driver must be generated and distributed to a large number of users. Print device manufacturers attempt to provide the latest print drivers available on their website for download. However, many users do not know to check the manufacturer's website for the latest drivers. Furthermore, many print drivers must be digitally authenticated by the company that develops the operating system or by the print device manufacturer. And this can be time consuming and expensive. Any change to the print driver usually requires digital re-authentication.
[DEVMODE]

DEVMODEは、Windows(登録商標)スプール・システムがプリントデータを処理するのに使用する基本的なデータ構造体である。DEVMODEは、プリントジョブの処理の一部として、(ユーザによって選ばれたおよび/またはデフォルト設定としてセットされた)デバイス設定を含む。Windowsアプリケーションからプリントジョブを作成するために、ユーザが特定のプリントデバイスで現在サポートされる多くの機能に係るさまざまなオプションを選ぶことができるよう、ユーザインターフェースがユーザに示される。アプリケーションは、DEVMODE構造体にユーザの選択を保存する。アプリケーションは、それから特定のプリントデバイスのプリントドライバに、DEVMODE構造体を送る。プリントドライバは、DEVMODE設定を解釈し、かつ特定のプリントデバイスによって受け入れられるフォーマットに、プリントデータをレンダリングする。   DEVMODE is a basic data structure used by the Windows® spool system to process print data. DEVMODE includes device settings (chosen by the user and / or set as default settings) as part of print job processing. In order to create a print job from a Windows application, a user interface is presented to the user so that the user can select various options related to the many features currently supported on a particular printing device. The application saves the user's selection in the DEVMODE structure. The application then sends a DEVMODE structure to the print driver for the particular printing device. The print driver interprets the DEVMODE settings and renders the print data in a format that is accepted by the particular printing device.

従来のDEVMODE構造体は、プリントドライバの範囲内でハードコードされる静的2進データ構造体である。新規なデバイス機能がプリントデバイス(あるいはウェブ・サービス対応プリントデバイス)にプラグイン(または付加)された場合であって、かつこの新規なデバイス機能が対応するプリントドライバに定められない場合、新規なデバイス機能はプリントする際に使用することができない。この理由は、プリントドライバが新機能を含むためにDEVMODEサイズを自動的に拡張することができないためである。   The conventional DEVMODE structure is a static binary data structure that is hard-coded within the print driver. When a new device function is plugged in (or added) to a print device (or web service compatible print device), and this new device function is not defined in the corresponding print driver, the new device The function cannot be used when printing. This is because the DEVMODE size cannot be automatically expanded because the print driver includes new functions.

[概要]
本技術は、プリントデバイスにプリントするために提供される。特に、プリントデバイスは、ウェブ・サービス対応プリントデバイスや、通常のプリントデバイスでも良く、後述に説明するプリントデバイス能力データを提供できればよい。ウェブ・サービス対応プリントデバイスであることが好ましいが、これに限らない。実施例において、クライアント・デバイスで実行されるプリントドライバは、ウェブ・サービス対応プリントデバイスから、ウェブ・サービス対応プリントデバイスでサポートされる複数の最新の機能とオプションとを特定するプリントデバイス能力データを受信する。プリントデバイス能力データの受信に応答して、プリントドライバは、第1のバージョンのDEVMODEデータ構造体から、第2のバージョンのDEVMODEデータ構造体を生成する。第1のバージョンは、ウェブ・サービス対応プリントデバイスで以前にサポートされた第1の複数の機能を示す。第2のバージョンは、ウェブ・サービス対応プリントデバイスで最新にサポートされる第2の複数の機能を示す。第1の複数の機能は、第2の複数の機能とは異なる。第2のバージョンのデータの第1の部分は、バイナリフォーマットで記述され、そして第2のバージョンの第2の部分は、XMLで記述される。この第2の部分は、特定のプリント機能、およびプリントデバイス能力データにおいて示される特定のプリント機能のための一つ以上のオプションを示す。ユーザインターフェースは、DEVMODEデータ構造体の第2のバージョンに基づいて生成される。一つ以上のユーザ選択に応答して、オプションが第2の複数の機能のセットの機能の各々の機能に対して選ばれたことを示す特定の第3のバージョンのDEVMODEデータ構造体が生成される。このプリントドライバは、それから、少なくともこの第3のバージョンのDEVMODEデータ構造体に基づいてプリントジョブ・チケットを生成してもよい。このプリントドライバによって、プリントデータ、およびプリントジョブ・チケットがウェブ・サービス対応プリントデバイスに送信される。
[Overview]
The present technology is provided for printing on a printing device. In particular, the print device may be a web service compatible print device or a normal print device as long as it can provide print device capability data described below. A web service compatible print device is preferred, but not limited to this. In an embodiment, a print driver running on a client device receives print device capability data identifying a plurality of the latest features and options supported by the web service capable print device from the web service capable print device. To do. In response to receiving the print device capability data, the print driver generates a second version of the DEVMODE data structure from the first version of the DEVMODE data structure. The first version shows a first plurality of features previously supported by the web service enabled printing device. The second version shows a second plurality of functions that are most recently supported on a web service enabled printing device. The first plurality of functions are different from the second plurality of functions. The first part of the second version of the data is described in a binary format, and the second part of the second version is described in XML. This second part shows a particular print function and one or more options for the particular print function indicated in the print device capability data. The user interface is generated based on the second version of the DEVMODE data structure. In response to the one or more user selections, a specific third version of the DEVMODE data structure is generated indicating that an option has been selected for each function of the second set of functions. The The print driver may then generate a print job ticket based at least on the third version of the DEVMODE data structure. The print driver transmits print data and a print job ticket to the web service compatible print device.

本発明は、例示として説明され、これは限定するものではない。添付の図面において、同じ参照番号は類似した要素に関連する。   The present invention has been described by way of illustration and not limitation. In the accompanying drawings, the same reference numerals relate to similar elements.

このアプローチは、プリントデバイス、特に好適なのはウェブ・サービス対応プリントデバイスの最新の機能とオプションとを反映する動的に同期されたDEVMODE構造体を可能とする。デバイス機能のいかなるものも、それが変更されるときはいつでも、例えば新規なデバイス機能が付け加えられたり、あるいはデバイス機能が取り除かれたりした場合にイベントが生成された場合、プリントドライバは通知を受けることが可能である。したがって、ユーザは、常にウェブ・サービス対応プリントデバイスでサポートされる最新の機能に基づいて、プリントジョブを開始することができる。他の効果は、DEVMODE構造体の動的部分がアプリケーションプログラムによって読み込み可能であるということである。DEVMODE構造体の動的部分が読み込み可能でない場合(例えば動的部分がバイナリフォーマットである場合)、アプリケーションプログラムは動的部分において示されるいかなる新規なデバイス機能も読み込めず、かつ適切に解釈することができないだろう。例えば、新規な孔あけパンチ機能がプリントデバイスに付加される場合であって、かつこの新機能が二進数のナンバー30にマッピングされている場合、アプリケーションプログラムが二進数のナンバー30が何を示すかがわからないため、アプリケーションプログラムは新規な孔あけパンチ機能を示すことが可能ではないだろう。   This approach allows for a dynamically synchronized DEVMODE structure that reflects the latest features and options of a printing device, particularly preferably a web service enabled printing device. Any time a device function is changed, the print driver will be notified whenever an event is generated, for example when a new device function is added or removed. Is possible. Thus, the user can always initiate a print job based on the latest features supported by the web service enabled printing device. Another effect is that the dynamic part of the DEVMODE structure can be read by the application program. If the dynamic part of the DEVMODE structure is not readable (eg if the dynamic part is in binary format), the application program cannot read and properly interpret any new device capabilities indicated in the dynamic part. I can't. For example, if a new drilling punch function is added to the printing device, and this new function is mapped to binary number 30, what the binary number 30 indicates by the application program? Since it is not known, the application program may not be able to demonstrate a new drilling punch function.

本発明の一実施例におけるプリントデバイスにプリントするためのアプローチを示すフローチャートである。6 is a flowchart illustrating an approach for printing to a printing device in one embodiment of the invention. 本発明の一実施例におけるプリントの構成を例示するブロック図である。FIG. 3 is a block diagram illustrating the configuration of printing according to an embodiment of the present invention.

DEVMODEデータ構造体の異なる部分を表すブロック図である。FIG. 6 is a block diagram illustrating different parts of a DEVMODE data structure.

本発明の一実施例において、プリンタ・ディスクリプション・データ、およびDEVMODEデータ構造体の関係を示すブロック図である。FIG. 4 is a block diagram illustrating the relationship between printer description data and a DEVMODE data structure in one embodiment of the present invention.

本発明の一実施例において、DEVMODEデータ構造体が更新される方法を示すブロック図である。FIG. 4 is a block diagram illustrating how a DEVMODE data structure is updated in one embodiment of the present invention.

本発明の一実施例において、DEVMODEデータ構造体が生成されるかまたは更新される少なくとも2つのシナリオを示すフローチャートである。4 is a flowchart illustrating at least two scenarios where a DEVMODE data structure is created or updated in one embodiment of the present invention.

本発明の一実施例において、新規なデバイス機能に基づいたユーザインターフェースを示すブロック図である。FIG. 3 is a block diagram illustrating a user interface based on a novel device function in one embodiment of the present invention.

本発明の一実施例において、新規なデバイス機能、および対応するオプションに基づいてDEVMODEデータ構造体を更新するための方法を示すシーケンス図である。FIG. 6 is a sequence diagram illustrating a method for updating a DEVMODE data structure based on new device capabilities and corresponding options in one embodiment of the present invention.

本発明の実施例がインプリメントされ得るコンピュータシステムを示すブロック図である。FIG. 6 is a block diagram that illustrates a computer system upon which an embodiment of the invention may be implemented.

[詳細な説明]
以下の記載では、説明のため、本発明の完全な解釈を提供するために、多くの具体的な詳細を示す。なお、本発明は、これらの具体的な詳細が無くても、実施し得ることは明らかである。他の例において、周知の構造、およびデバイスは、本発明を不必要に不明瞭にすることを避けるために、ブロック図形式で示される。
[Detailed description]
In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough interpretation of the present invention. It will be apparent that the present invention may be practiced without these specific details. In other instances, well-known structures and devices are shown in block diagram form in order to avoid unnecessarily obscuring the present invention.

I. 概要
II. プリントシステムアーキテクチャ
III.プリンタ・ディスクリプション・データの生成
IV. DEVMODEデータ構造体
V. DEVMODEの更新
VI. インプリメンテーション・メカニズム
I.概要
I. Overview II. Print system architecture III. Generation of printer description data IV. DEVMODE data structure Update of DEVMODE VI. Implementation mechanism Overview

ウェブ・サービス対応プリントデバイスにプリントするためのアプローチが提供される。プリントドライバは、例えば、WSD通信プロトコルを使用して、ウェブ・サービス対応プリントデバイスから読み出されるプリントデバイス能力データで特定される機能の新規なセットに基づいてDEVMODE構造体を生成(またはアップデート)する。新機能とオプションとは、DEVMODE構造体の特定のサブ部分にXMLデータとして保存される。アプリケーションプログラムは、後に、DEVMODE構造体にアクセスし、そして、ユーザがどの機能とオプションとを選んだかを示すために、DEVMODE構造体のそのコピーを変更してもよい。この変更されたDEVMODE構造体はプリントドライバに引き継がれ、そして、これは、少なくとも変更されたDEVMODE構造体に基づいてプリントジョブ・チケットを生成する。プリントドライバによって、プリントジョブ・チケット、およびプリントデータが、ウェブ・サービス対応プリントデバイスに、処理のために送信される。実施例は、インストールされた機能とオプションとの変更が発生したときを知らせるイベント(ウェブ・サービス対応プリントデバイスによって生成される)を受信することを予約しているプリントドライバを含む。プリントドライバは、この種のイベントに応答して、DEVMODE構造体を更新するよう構成されている。   An approach is provided for printing to a web service enabled printing device. The print driver creates (or updates) the DEVMODE structure based on a new set of functions specified in the print device capability data read from the web service capable print device, for example, using the WSD communication protocol. New functions and options are stored as XML data in specific sub-parts of the DEVMODE structure. The application program may later access the DEVMODE structure and modify that copy of the DEVMODE structure to indicate which functions and options the user has chosen. This modified DEVMODE structure is carried over to the print driver, which generates a print job ticket based at least on the modified DEVMODE structure. The print driver sends a print job ticket and print data to a web service enabled print device for processing. Embodiments include a print driver that is subscribed to receive an event (generated by a web service enabled print device) that signals when a change in installed features and options has occurred. The print driver is configured to update the DEVMODE structure in response to this type of event.

このアプローチは、ウェブ・サービス対応プリントデバイスの最新の機能とオプションとを反映する動的に同期されたDEVMODE構造体を可能とする。デバイス機能のいかなるものも、それが変更されるときはいつでも、例えば新規なデバイス機能が付け加えられたり、あるいはデバイス機能が取り除かれたりした場合にイベントが生成された場合、プリントドライバは通知を受けることが可能である。したがって、ユーザは、常にウェブ・サービス対応プリントデバイスでサポートされる最新の機能に基づいて、プリントジョブを開始することができる。他の効果は、DEVMODE構造体の動的部分がアプリケーションプログラムによって読み込み可能であるということである。DEVMODE構造体の動的部分が読み込み可能でない場合(例えば動的部分がバイナリフォーマットである場合)、アプリケーションプログラムは動的部分において示されるいかなる新規なデバイス機能も読み込めず、かつ適切に解釈することができないだろう。例えば、新規な孔あけパンチ機能がプリントデバイスに付加される場合であって、かつこの新機能が二進数のナンバー30にマッピングされている場合、アプリケーションプログラムが二進数のナンバー30が何を示すかがわからないため、アプリケーションプログラムは新規な孔あけパンチ機能を示すことが可能ではないだろう。   This approach allows for a dynamically synchronized DEVMODE structure that reflects the latest features and options of web service enabled printing devices. Any time a device function is changed, the print driver will be notified whenever an event is generated, for example when a new device function is added or removed. Is possible. Thus, the user can always initiate a print job based on the latest features supported by the web service enabled printing device. Another effect is that the dynamic part of the DEVMODE structure can be read by the application program. If the dynamic part of the DEVMODE structure is not readable (eg if the dynamic part is in binary format), the application program cannot read and properly interpret any new device capabilities indicated in the dynamic part. I can't. For example, if a new drilling punch function is added to the printing device, and this new function is mapped to binary number 30, what the binary number 30 indicates by the application program? Since it is not known, the application program may not be able to demonstrate a new drilling punch function.

図1は、本発明の一実施例におけるプリントデバイスにプリントするためのアプローチを示すフローチャートである。ステップ102において、プリントドライバがクライアント・デバイスにおいて実行され、ウェブ・サービス対応プリントデバイスから、プリントデバイス能力データを受け取る。プリントデバイス能力データは、ウェブ・サービス対応プリントデバイスで現在サポートされる複数の機能とオプションとを特定する。   FIG. 1 is a flowchart illustrating an approach for printing on a printing device in one embodiment of the invention. In step 102, the print driver is executed at the client device and receives print device capability data from the web service enabled print device. The print device capability data identifies a plurality of functions and options currently supported by the web service enabled print device.

ステップ104において、プリントドライバは、XMLで、プリントデバイス能力データで示される特定のデバイス機能を示すDEVMODEデータ構造体を生成する。DEVMODEデータ構造体は、少なくともプリントデバイス能力データにまたはプリンタ・ディスクリプション・データに基づいて生成されてもよい(詳細は後述する)。プリントドライバは、少なくともプリントデバイス能力データに基づいて、プリンタ・ディスクリプション・データを生成する。   In step 104, the print driver generates, in XML, a DEVMODE data structure indicating the specific device function indicated by the print device capability data. The DEVMODE data structure may be generated based at least on the print device capability data or on the printer description data (details will be described later). The print driver generates printer description data based at least on the print device capability data.

ステップ106において、ユーザインターフェースが、少なくともDEVMODEデータ構造体に基づいて生成される。ユーザインターフェースは、ウェブ・サービス対応プリントデバイスで現在サポートされる機能とオプションとを示す。プリントドライバあるいはアプリケーションプログラムは、ユーザインターフェースを生成する。   In step 106, a user interface is generated based on at least the DEVMODE data structure. The user interface shows the functions and options currently supported by the web service enabled print device. The print driver or application program generates a user interface.

ステップ108において、アプリケーションプログラムあるいはプリントドライバによって、ジョブ設定(またはデフォルト設定)バージョンのDEVMODE構造体が、生成される。ジョブ設定バージョンのDEVMODE構造体は、どの機能とオプションとが選択されたかを示す。選択された機能とオプションとは、デフォルト選択および/またはユーザからの選択であってもよい。   In step 108, a job setting (or default setting) version of the DEVMODE structure is generated by the application program or print driver. The job setting version of the DEVMODE structure indicates which functions and options have been selected. The selected functions and options may be default selections and / or selections from the user.

ステップ110において、プリントドライバは、少なくともジョブ設定バージョンのDEVMODE構造体に基づいて、プリントデータ、およびプリントジョブ・チケットを生成する。   In step 110, the print driver generates print data and a print job ticket based at least on the DEVMODE structure of the job setting version.

ステップ112において、プリントドライバによって、プリントデータ、およびプリントジョブ・チケットが、ウェブ・サービス対応プリントデバイスに送信され、処理される。
II.プリントシステムアーキテクチャ
In step 112, the print driver sends the print data and the print job ticket to a web service enabled print device for processing.
II. Print system architecture

図2は、プリント構成200を例示するブロック図である。プリント構成200は、クライアント・デバイス202、およびウェブ・サービス対応プリントデバイス204を含む。これらは、ネットワーク206で通信接続されている。ネットワーク206は、クライアント・デバイス202およびウェブ・サービス対応プリントデバイス204間のデータの交換を提供する媒体またはメカニズムのいかなるものによってインプリメントされてもよい。ネットワーク206の例としては、ローカル・エリア・ネットワーク(LAN)、ワイド・エリア・ネットワーク(WAN)、イーサネット(登録商標)またはインターネットのようなネットワーク、または一つ以上の地上、衛星、無線リンクが挙げられるが、これに限定されるものではない。   FIG. 2 is a block diagram illustrating a print configuration 200. The print configuration 200 includes a client device 202 and a web service enabled print device 204. These are connected for communication by a network 206. Network 206 may be implemented by any of the media or mechanisms that provide for the exchange of data between client device 202 and web service enabled print device 204. Examples of network 206 include a local area network (LAN), a wide area network (WAN), a network such as Ethernet or the Internet, or one or more terrestrial, satellite, and wireless links. However, the present invention is not limited to this.

ウェブ・サービス対応プリントデバイス204は、ウェブ・サービス対応プリントサービス208を含む。クライアント・デバイス202は、ユーザインターフェース210、アプリケーションプログラム212、プリントドライバ・インストーレイション・アプリケーション214、プリントドライバ216(ユーザインターフェース(UI)モジュール、およびレンダリングモジュール220を含む)、ポートモニタ、およびウェブ・サービス・デバイス(WSD)アプリケーション・プログラム・インターフェース(API)モジュール222、スプーラ224、および記憶装置226、を有する。ストレージ226は、プリントデバイス能力データ228、プリントデータ230、およびプリントジョブ・チケット232を保存する。記憶装置は、また、プリントドライバ記憶装置234、およびプリンタ・ディスクリプション・データ238とデフォルトプリントチケット240とを保存するレジストリ236を含む。これらの要素の各々は以下において簡単に説明し、その後に詳細に説明する。   The web service compatible print device 204 includes a web service compatible print service 208. The client device 202 includes a user interface 210, an application program 212, a print driver installation application 214, a print driver 216 (including a user interface (UI) module, and a rendering module 220), a port monitor, and web services. A device (WSD) application program interface (API) module 222, a spooler 224, and a storage device 226. The storage 226 stores print device capability data 228, print data 230, and a print job ticket 232. The storage device also includes a print driver storage device 234 and a registry 236 that stores printer description data 238 and a default print ticket 240. Each of these elements is briefly described below and then described in detail.

ユーザインターフェース210は、情報をユーザに提示しかつユーザ入力を許容するメカニズムおよび/または媒体である。アプリケーションプログラム212は、データをプリントする任意のタイプのプログラムであってもよい。アプリケーションプログラム212の実例としては、ワードプロセッシングプログラム、スプレッドシートプログラム、電子メール・クライアントなどが挙げられるが、これに限定されるものではない。説明のために一つのアプリケーションプログラム212が図2に示されている。なお、クライアント・デバイス202はいかなる数のアプリケーションプログラムを有していてもよい。   The user interface 210 is a mechanism and / or medium that presents information to the user and allows user input. Application program 212 may be any type of program that prints data. Examples of application program 212 include, but are not limited to, word processing programs, spreadsheet programs, e-mail clients, and the like. For illustration purposes, one application program 212 is shown in FIG. The client device 202 may have any number of application programs.

プリント・ドライバ・インストーレーション・アプリケーション214は、プリントドライバ216のインストーレーションを実行する。これには、プリントドライバ216に必要な、データまたはファイルのいかなるものもインストールすることを含んでもよい。プリントドライバ216のインストールには、他のソースおよび場所からのデータおよび/またはファイルを含んでもよい。これは、インプリメンテーションに依存し、あるいはオペレーティングシステムによってリクエストされる構成の実行に依存する。   The print driver installation application 214 executes installation of the print driver 216. This may include installing any data or files necessary for the print driver 216. The installation of print driver 216 may include data and / or files from other sources and locations. This depends on the implementation or on the implementation of the configuration requested by the operating system.

ウェブ・サービス対応プリントデバイス204にプリントするためのプリントデータを生成するために、プリントドライバ216は、アプリケーションプログラム212と対話(interact)する。UIモジュール218は、グラフィカル・ユーザーインターフェース・データを生成する。これは、アプリケーションプログラム212によって処理したときに、ユーザインターフェース210によってグラフィカルユーザーインターフェースをユーザに提供する。これによって、ユーザは、特定の電子ドキュメントをプリントするときに、使用される機能とオプションとを選ぶ。レンダリングモジュール220は、アプリケーションプログラム212によって生成されるアプリケーションデータを処理し、プリントデータを生成する。これは、ウェブ・サービス対応プリントデバイス204によって処理したときに、ウェブ・サービス対応プリントデバイス204でプリントされるプリントデータを反映した電子ドキュメントのプリントされたバージョンである。プリントドライバ216は、以下に更に詳細に記載されているさまざまな他の機能を実行する。   The print driver 216 interacts with the application program 212 to generate print data for printing on the web service enabled print device 204. The UI module 218 generates graphical user interface data. This provides a user with a graphical user interface via user interface 210 when processed by application program 212. This allows the user to select the functions and options to be used when printing a particular electronic document. The rendering module 220 processes application data generated by the application program 212 and generates print data. This is a printed version of an electronic document that reflects print data printed by the web service enabled print device 204 when processed by the web service compatible print device 204. The print driver 216 performs various other functions that are described in further detail below.

ポートモニタおよびWSD APIモジュール222は、プリントドライバ216、およびウェブ・サービス対応プリントデバイス204間の通信を許可する。例えば、WSD APIモジュール222はカスタムポートにインストールされてもよい。そして、プリントドライバ216はカスタムポートを経てWSD APIモジュール222と通信する。ポートモニタおよびWSD APIモジュール222は、ウェブ・サービス対応プリントデバイス204と通信する。したがって、ポートモニタおよびWSD APIモジュール222は、クライアント側命令(例えばBiDiファンクションコール)をSOAPエンベロープの形でSOAPリクエストに変換することが可能であり、また、SOAPエンベロープの形で、ウェブ・サービス対応プリントデバイス204から受け取られるSOAPレスポンスからXML情報を得て、そしてBiDiファンクションコールレスポンスを生成することが可能である。ポートモニタおよびWSD APIモジュール222は、ウェブ・サービス対応プリントサービス208に関連づけられたポートにSOAPリクエストを送る。   The port monitor and WSD API module 222 allows communication between the print driver 216 and the web service enabled print device 204. For example, the WSD API module 222 may be installed on a custom port. The print driver 216 communicates with the WSD API module 222 via a custom port. The port monitor and WSD API module 222 communicates with the web service enabled print device 204. Accordingly, the port monitor and WSD API module 222 can convert client-side instructions (eg, BiDi function calls) into a SOAP request in the form of a SOAP envelope, and can also print web services enabled prints in the form of a SOAP envelope. XML information can be obtained from the SOAP response received from the device 204 and a BiDi function call response can be generated. The port monitor and WSD API module 222 sends a SOAP request to the port associated with the web service enabled print service 208.

プリントデバイス能力データ228は、ウェブ・サービス対応プリントデバイス204の最新の機能とオプションと(すなわち各々の機能のための許容値)を特定するデータである。プリントデバイス機能の実例としては、用紙トレイ、両面プリント、ステープル、綴じ孔あけ、などが挙げられるが、これに限定されるものではない。各々の機能は、一つ以上のオプション(すなわち値)を有する。一部の機能は、2つのオプションだけを含む場合もあり得る。例えば、両面プリントユニットは2つのオプションを有し、例えば「Installed」または「NotInstalled」がある。他の機能(例えば用紙サイズ)は、例えば「A4」、「legal」、「81/2×11」等多くのオプションがある。クライアント・デバイス202に保存されているプリントデバイス能力データ228は、いかなる数のウェブ・サービス対応プリントデバイスのためのプリントデバイス能力データを含んでもよい。   The print device capability data 228 is data that specifies the latest functions and options of the web service-compatible print device 204 (that is, allowable values for each function). Examples of the print device function include, but are not limited to, a paper tray, double-sided printing, stapling, binding punching, and the like. Each function has one or more options (ie values). Some functions may include only two options. For example, the duplex printing unit has two options, such as “Installed” or “NotInstalled”. There are many other functions (for example, paper size) such as “A4”, “legal”, “81/2 × 11”, and the like. The print device capability data 228 stored on the client device 202 may include print device capability data for any number of web service enabled print devices.

プリントデータ230はプリントドライバ216によって生成されるデータである。そして、少なくとも、アプリケーションプログラム212によって生成されるアプリケーションデータに基づくものである。アプリケーションプログラム212は、ウェブ・サービス対応プリントデバイス204によって処理されると、プリントされるプリントデータ230で示される電子ドキュメントのプリントされたバージョンを生じさせる。プリントジョブ・チケット232は、プリントデータ230がどのようにウェブ・サービス対応プリントデバイス204で処理されるかを示す一つ以上のパラメータを特定する。プリントデータ230は複数のプリントジョブのためのデータを含んでもよい。そしてプリントジョブ・チケット232は複数のプリントジョブ・チケットを含んでもよい。   The print data 230 is data generated by the print driver 216. At least based on application data generated by the application program 212. The application program 212, when processed by the web service enabled print device 204, produces a printed version of the electronic document indicated by the print data 230 to be printed. The print job ticket 232 identifies one or more parameters that indicate how the print data 230 is processed by the web service enabled print device 204. The print data 230 may include data for multiple print jobs. The print job ticket 232 may include a plurality of print job tickets.

プリントドライバ記憶装置234は、プリントデバイスでプリントするために、クライアント・デバイスによって使用される一つ以上のプリントドライバを含む。レジストリ236は、プリンタ・ディスクリプション・データ238、デフォルトプリントチケット240、およびDEVMODEデータ構造体242(以下「DEVMODE構造体242」)を保存するための記憶装置226の領域である。レジストリ236は、クライアント・デバイス202上のオペレーティングシステムの管理下である記憶装置226の記憶保護域であってもよい。デフォルトプリントチケット240は、ウェブ・サービス対応プリントデバイス204でサポートされる機能のためのデフォルトオプションを示すデータを含む。デフォルトプリントチケット240はいかなる数のプリントデバイスのデフォルトプリントチケットを含んでもよい。同様に、DEVMODE構造体242は、いかなる数のプリントデバイスのPDEVMODEデータ構造体を含んでもよい。   The print driver storage device 234 includes one or more print drivers used by the client device to print on the printing device. The registry 236 is an area of the storage device 226 for storing the printer description data 238, the default print ticket 240, and the DEVMODE data structure 242 (hereinafter referred to as “DEVMODE structure 242”). Registry 236 may be a protected area of storage device 226 that is managed by the operating system on client device 202. The default print ticket 240 includes data indicating default options for functions supported by the web service enabled print device 204. The default print ticket 240 may include a default print ticket for any number of printing devices. Similarly, DEVMODE structure 242 may include any number of print device PDEVMODE data structures.

プリントドライバ216は、少なくともプリントデバイス能力データ228に基づいてプリンタ・ディスクリプション・データ238を生成する。プリンタ・ディスクリプション・データ238は、現在ウェブ・サービス対応プリントデバイス204でサポートされる一つ以上の機能とオプションとのための表示データを特定する。プリントドライバ216は、グラフィカルユーザーインターフェース・データを生成するため、および、プリントデータ230および/またはプリントジョブ・チケット232を生成するために、プリンタ・ディスクリプション・データ238を使用する。
III.プリンタ・ディスクリプション・データの生成
The print driver 216 generates printer description data 238 based on at least the print device capability data 228. The printer description data 238 identifies display data for one or more functions and options currently supported by the web service enabled print device 204. Print driver 216 uses printer description data 238 to generate graphical user interface data and to generate print data 230 and / or print job ticket 232.
III. Generation of printer description data

本願明細書において前述したように、UIモジュール218は、プリンタ・ディスクリプション・データ238を生成し、かつ、レジストリ236に保存するように構成され、そして、WSDプリントデバイス204から受け取られるデフォルトプリントチケットを保存するように構成される。GUIデータを生成するために、プリンタ・ディスクリプション・データ238がUIモジュール218によって使用される。GUIデータは、アプリケーションプログラム212によって処理されたときに、ユーザインターフェース210上に、GUIを生じさせる。ユーザインターフェース210は、WSDプリントデバイス204でサポートされる機能とオプションとを表示し、特定の電子ドキュメントをプリントするときに、ユーザに対して使用する機能とオプションとを選択させる。   As previously described herein, the UI module 218 is configured to generate printer description data 238 and store it in the registry 236 and receive a default print ticket received from the WSD print device 204. Configured to save. Printer description data 238 is used by the UI module 218 to generate GUI data. When the GUI data is processed by the application program 212, it causes a GUI on the user interface 210. The user interface 210 displays the functions and options supported by the WSD print device 204 and allows the user to select functions and options to use when printing a particular electronic document.

一般にプリンタ・ディスクリプション・データ238を生成するための処理は、WSDプリントデバイス204のためのプリントデバイス能力データ228からの情報と、基本的なインストールされたプリントドライバの一部として提供されたコア・マッピング・データからのデータとを結合することを含む。   In general, the process for generating the printer description data 238 includes information from the print device capability data 228 for the WSD print device 204 and the core provided as part of the basic installed print driver. Including combining data from the mapping data.

本発明の一実施例によれば、UIモジュール218は、プリントデバイス能力データ228を調べて、そして、そこにおいて特定されるプリントデバイス機能を特定する。プリントデバイス能力データ228の各々の機能に対して、UIモジュール218は、機能がコア・マッピング・データで定められているかどうか特定する。コア・マッピング・データは、PDLKeywords、およびrcNameIDsを含み、これは、プリントデバイス機能とオプションとの標準セットのためのものである。プリントデバイス能力データ228の特定の機能がコア・マッピング・データにおいて定められている場合、UIモジュール218は、コア・マッピングファイルから、特定の機能および各々の対応するオプションのためのPDLkeyWord値、およびrcNameID値を読み出し、かつプリンタ・ディスクリプション・データ238のPDLkeyWord値およびrcNameID値を保存する。PDLkeyWord値は、プリントドライバ216によって解釈される機能またはオプションの用語(terminology)と、同じ機能またはオプションに対するWSDプリントサービス208によって解釈される用語とのマッピングを提供する。rcNameID値は、機能またはオプションの文字列を含む文字変数(リソースID)の名前を示す。この文字列は、UIモジュール218によって生成されたGUIデータに含まれ、かつアプリケーションプログラム212に与えられる。以下の例について、検討する。プリントデバイス能力データ228が「InputTray4」という名前の機能を含むと仮定する。下記の表1で示されるように、この機能がコア・マッピング・データにおいて定められると更に仮定する。   According to one embodiment of the invention, UI module 218 examines print device capability data 228 and identifies the print device capabilities identified therein. For each function of the print device capability data 228, the UI module 218 identifies whether the function is defined in the core mapping data. The core mapping data includes PDLKeywords and rcNameIDs, which are for a standard set of print device functions and options. If a specific function of the print device capability data 228 is defined in the core mapping data, the UI module 218 reads from the core mapping file the PDLkeyWord value for the specific function and each corresponding option, and the rcNameID. The value is read and the PDLkeyWord value and the rcNameID value of the printer description data 238 are stored. The PDLkeyWord value provides a mapping between a function or option terminology interpreted by the print driver 216 and a term interpreted by the WSD print service 208 for the same function or option. The rcNameID value indicates the name of a character variable (resource ID) including a function or option character string. This character string is included in the GUI data generated by the UI module 218 and is given to the application program 212. Consider the following example. Assume that the print device capability data 228 includes a function named “InputTray4”. Assume further that this function is defined in the core mapping data as shown in Table 1 below.

Figure 2011034563
Figure 2011034563

表1で指示したように、機能InputTray4は、「Installed」および「NotInstalled」を含む2つのオプションを有する。この機能および各オプションは、特定のPDLKeyword値、および特定のrcNameID値をいずれも有する。UIモジュール218は、それを読み出し、かつプリンタ・ディスクリプション・データに保存する。   As indicated in Table 1, the function InputTray4 has two options including “Installed” and “NotInstalled”. This function and each option both have a specific PDLKeyword value and a specific rcNameID value. The UI module 218 reads it and stores it in the printer description data.

プリントデバイス能力データ228の特定の機能がコア・マッピングファイルにおいて定められていない場合、この特定の機能は通常は新機能である。この状態においては、UIモジュール218は、プリンタ・ディスクリプション・データ238のためのPDLkeyWord値を生成するために、プリントデバイス能力データ228から、特定の機能の機能名を使用する。加えて、UIモジュール218は、プリンタ・ディスクリプション・データ238の特定の機能のためのDisplayName値を含む。複数言語のサポートを提供するために、複数のDisplayName値が、各々の機能および/またはオプションのためのプリンタ・ディスクリプション・データ238に含まれてもよい。表示名の値は、UIモジュール218によって生成されたGUIデータに含まれ、そしてアプリケーションプログラム212に与えられる。前の例を参照すると、「InputTray4」という名前をつけられた機能がコア・マッピング・データにおいて定められていないと仮定する。下記の表2で示されるように、この機能がプリントデバイス能力データ228において定められると更に仮定する。   If a particular function of the print device capability data 228 is not defined in the core mapping file, this particular function is usually a new function. In this state, the UI module 218 uses the function name of the particular function from the print device capability data 228 to generate the PDLkeyWord value for the printer description data 238. In addition, the UI module 218 includes DisplayName values for specific functions of the printer description data 238. To provide multiple language support, multiple DisplayName values may be included in the printer description data 238 for each function and / or option. The display name value is included in the GUI data generated by the UI module 218 and provided to the application program 212. Referring to the previous example, assume that a function named “InputTray4” is not defined in the core mapping data. Assume further that this function is defined in the print device capability data 228 as shown in Table 2 below.

Figure 2011034563
Figure 2011034563

表2で指示したように、プリントデバイス能力データ228のInputTray4の機能の定義に含まれるPDLKeyword値またはrcNameID値は、ここには存在しない。この例では、PDLKeyword値として、機能名「InputTray4」はプリンタ・ディスクリプション・データ238に保存される。また、UIモジュール218は、機能、および各々のオプションのためのDisplayName値を読み出して、かつプリンタ・ディスクリプション・データ238にDisplayName値を保存する。
IV.DEVMODEデータ構造体
As indicated in Table 2, there is no PDLKeyword value or rcNameID value included in the definition of the function of InputTray4 in the print device capability data 228 here. In this example, the function name “InputTray4” is stored in the printer description data 238 as the PDLKeyword value. The UI module 218 also reads the DisplayName value for each function and each option, and stores the DisplayName value in the printer description data 238.
IV. DEVMODE data structure

図3は、本発明の一実施例に基づいて、DEVMODE構造体242の異なる部分を表すブロック図である。DEVMODE構造体242は、2つのパブリックの部分310および320と、プライベートな部分330を含む。部分310は、マイクロソフトによって定義され、かつマイクロソフトのオペレーティングシステムを使用するクライアント・デバイス用の全てのプリントドライバに共通である。部分310は、多くのプリントデバイスに共通であるデバイス機能を示すデータを含む。部分320は、Generic Printer Description(GPD)ファイル(マイクロソフトUNIDRVドライバによって必要であり、かつ製造業者によって提供される)で定められるデバイス機能を示し、かつ特定のタイプ(例えば製造業者によって提供される全てのオンデマンドプリントシステム(ODPS))の全てのプリントデバイスに共通であるデータを含む。マイクロソフトのUNIDRVドライバは、部分320を管理する。部分310および320のデータは、バイナリフォーマットで保存される。また、部分310および320のデータは、デバイス機能に関して変更されず(static)であり拡張可能ではない。例えば、ウェブ・サービス対応プリントデバイス204に付加されるいかなるデバイス機能も、部分310または320のどちらにも付加することはできない。更に、(a)デバイス機能が部分310または320のどちらにかに示されており、かつ、(b)その後、ウェブ・サービス対応プリントデバイス204に利用できなくなった場合、部分310および320のいずれの部分も、デバイス機能が利用できないことを示すために更新することは可能ではない。   FIG. 3 is a block diagram illustrating different portions of the DEVMODE structure 242 in accordance with one embodiment of the present invention. The DEVMODE structure 242 includes two public parts 310 and 320 and a private part 330. Portion 310 is common to all print drivers for client devices defined by Microsoft and using the Microsoft operating system. Portion 310 includes data indicating device functions that are common to many printing devices. Portion 320 shows the device capabilities defined in the Generic Printer Description (GPD) file (required by the Microsoft UNIDRV driver and provided by the manufacturer) and has a specific type (eg, all provided by the manufacturer) Data common to all printing devices of the on-demand printing system (ODPS). The Microsoft UNIDRV driver manages part 320. The data in portions 310 and 320 is stored in a binary format. Also, the data in portions 310 and 320 are static with respect to device function and are not expandable. For example, any device function that is added to the web service enabled print device 204 cannot be added to either the portion 310 or 320. Further, if (a) the device function is shown in either portion 310 or 320, and (b) is subsequently unavailable to the web service enabled print device 204, then either of portions 310 and 320 The part is also not updatable to indicate that the device function is not available.

部分330は、対応するプリントデバイスでサポートされる一つ以上のデバイス機能を示すデータを含む。部分330において示されるデバイス機能は、部分310または320のどちらにも示されない。UIモジュール218が、部分330を管理する。部分330のデータは、XMLデータとして保存される。例えば、プリントデバイス能力データ228が孔あけのための機能とオプションとを示し、これが部分310または部分320のいずれにも定義されていない場合であって、ユーザが孔あけ機能「Hole Punch」を選択する場合、孔あけ機能のサポートを提供するXMLデータを含むよう、部分330が更新される。このXMLデータの1つの実例は、以下の通りである:
<DeviceFeature Value="HolePunch">
<FeatureOption Value="Left2"/>
</DeviceFeature>
Portion 330 includes data indicating one or more device functions supported by the corresponding printing device. The device functions shown in portion 330 are not shown in either portion 310 or 320. UI module 218 manages portion 330. The data of the part 330 is stored as XML data. For example, if the print device capability data 228 indicates a function and options for drilling and this is not defined in either part 310 or part 320, the user selects the hole function "Hole Punch" If so, the portion 330 is updated to include XML data that provides support for the drilling function. One example of this XML data is as follows:
<DeviceFeature Value = "HolePunch">
<FeatureOption Value = "Left2"/>
</ DeviceFeature>

もし、部分330に示されたデバイス機能がウェブ・サービス対応プリントデバイス204で利用できなくなった場合、部分330は、そのデバイス機能を削除して更新されるか、またはそのデバイス機能が現在利用可能でないことを示すよう更新される。   If the device function shown in portion 330 becomes unavailable on the web service enabled print device 204, the portion 330 is updated with the device feature removed or the device feature is not currently available Updated to show that

図4は、本発明の一実施例において、プリンタ・ディスクリプション・データ238、およびDEVMODE構造体242の関係を表すブロック図である。DEVMODE構造体242は、ウェブ・サービス対応プリントデバイス204から、少なくともプリントデバイス能力データ228またはプリンタ・ディスクリプション・データ238に基づき、生成される。図4に示すように、プリンタ・ディスクリプション・データ238は、310または320の部分のいずれにも定められていない「孔あけ」(「HolePunch」)と称する新規なデバイス機能を有する。この新規なデバイス機能は、少なくとも3つのオプションを含む。すなわち、「OFF」、「Left2」および「Right2」である。「Left2」および「Right2」オプションは、孔の数、および位置を示す。ユーザ選択(またはデフォルト選択)の後、修正されたDEVMODE構造体242は、選択された新規なデバイス機能「HolePunch」の値は「OFF」であることを示す。   FIG. 4 is a block diagram showing the relationship between the printer description data 238 and the DEVMODE structure 242 in one embodiment of the present invention. The DEVMODE structure 242 is generated from the web service compatible print device 204 based on at least the print device capability data 228 or the printer description data 238. As shown in FIG. 4, the printer description data 238 has a new device function called “HolePunch” that is not defined in either 310 or 320 portion. This new device capability includes at least three options. That is, “OFF”, “Left2”, and “Right2”. The “Left2” and “Right2” options indicate the number and location of the holes. After user selection (or default selection), the modified DEVMODE structure 242 indicates that the value of the selected new device function “HolePunch” is “OFF”.

図4は、DEVMODE構造体242を実装(すなわち、オプション選択されたバージョンを生成)するための2つのアプローチのうちの1つを表す。第1のアプローチにおいて(上述したように)、UIモジュール218は、プリンタ・ディスクリプション・データ238に基づいて、グラフィカルユーザーインターフェース・データを生成する。グラフィカルユーザーインターフェース・データは、アプリケーションプログラム212によって処理されたときに、電子ドキュメントをプリントする際に使用される機能とオプションとを選ぶためにユーザインターフェース210上のグラフィカルユーザーインターフェースをユーザに提供する。アプリケーションプログラム212は、ユーザの選択を(およびいかなるデフォルトをも)、DEVMODE構造体242のジョブ設定バージョンを生成するために、DEVMODE構造体242に保存する。   FIG. 4 represents one of two approaches for implementing DEVMODE structure 242 (ie, generating an option selected version). In the first approach (as described above), the UI module 218 generates graphical user interface data based on the printer description data 238. The graphical user interface data, when processed by the application program 212, provides the user with a graphical user interface on the user interface 210 to select the functions and options used in printing the electronic document. Application program 212 saves the user's selection (and any defaults) in DEVMODE structure 242 to generate a job setting version of DEVMODE structure 242.

第2のアプローチにおいては(図4には図示せず)、アプリケーションプログラム212は、リクエストを行うユーザに示すユーザインターフェース210上のGUIを生成するために、DEVMODE構造体242にアクセスする。アプリケーションプログラム212は、プリントドライバ216からDEVMODE構造体242にリクエストすることによって、DEVMODE構造体242を直接または間接的に、アクセスしてもよい。アプリケーションプログラム212は、ジョブ設定バージョンを作成するために、ユーザ(および/またはデフォルト)の選択をDEVMODE構造体242に保存する。アプリケーションプログラム212は、更なる処理のために、プリントドライバ216に、DEVMODE構造体242のジョブ設定バージョンを渡す。
V.DEVMODE更新
In the second approach (not shown in FIG. 4), application program 212 accesses DEVMODE structure 242 to generate a GUI on user interface 210 that is shown to the user making the request. The application program 212 may access the DEVMODE structure 242 directly or indirectly by making a request to the DEVMODE structure 242 from the print driver 216. The application program 212 saves the user (and / or default) selection in the DEVMODE structure 242 to create a job settings version. The application program 212 passes the job setting version of the DEVMODE structure 242 to the print driver 216 for further processing.
V. DEVMODE update

図5は、本発明の一実施例によって、DEVMODEデータ構造体がどのように更新されるかを示すブロック図である。ステップ1において、ウェブ・サービス対応プリントデバイス204は、プリント機能またはオプションの変更を示すイベントを生成する。これは、プリント機能またはオプションの削除、追加または変更を含み得る。ポートモニタおよびWSD APIモジュール222は、このイベントの受信を予約しており、かつこのイベントを受信する。例えば、ポートモニタおよびWSD APIモジュール222は、イベントを特定するSOAPメッセージの形でイベント通知を受信してもよい。   FIG. 5 is a block diagram illustrating how the DEVMODE data structure is updated according to one embodiment of the present invention. In step 1, the web service enabled print device 204 generates an event indicating a change in print function or option. This may include deleting, adding or changing print functions or options. The port monitor and WSD API module 222 has reserved to receive this event and receives this event. For example, the port monitor and WSD API module 222 may receive the event notification in the form of a SOAP message that identifies the event.

ステップ2において、ポートモニタおよびWSD APIモジュール222は、イベント通知を受信し、かつスプーラ224に通知する。ステップ3において、スプーラ224は、プリントドライバ216に通知する。ステップ4において、プリントドライバ216は、(ステップ5のスプーラ224を経て)、ポートモニタおよびWSD APIモジュール222に、ウェブ・サービス対応プリントデバイス204のデバイス能力を求めるリクエストを送る。リクエストは、例えば、ウェブ・サービス対応プリントデバイス204のデバイス能力データを求めるリクエストを含むSendRecvBiDiDataファンクションへのコールによってインプリメントされてもよい。この状態では、SendRecvBiDiDataファンクションは、ポートモニタおよびWSD APIモジュール222をコールする。   In step 2, the port monitor and WSD API module 222 receives the event notification and notifies the spooler 224. In step 3, the spooler 224 notifies the print driver 216. In step 4, the print driver 216 sends (via the spooler 224 of step 5) a request to the port monitor and WSD API module 222 for the device capabilities of the web service capable print device 204. The request may be implemented, for example, by a call to a SendRecvBiDiData function that includes a request for device capability data for the web service enabled print device 204. In this state, the SendRecvBiDiData function calls the port monitor and WSD API module 222.

ステップ6において、ポートモニタおよびWSD APIモジュール222は、SOAPエンベロープの形で、少なくとも、プリントドライバ216から受け取られたリクエストに基づき、SOAPリクエストを生成し、SOAPリクエストをウェブ・サービス対応プリントデバイス204に転送する。   In step 6, the port monitor and WSD API module 222 generates a SOAP request based on at least the request received from the print driver 216 in the form of a SOAP envelope and forwards the SOAP request to the web service enabled print device 204. To do.

ステップ7において、ウェブ・サービス対応プリントデバイス204は、ウェブ・サービス対応プリントデバイス204のデバイス能力データを含むSOAPレスポンスを(SOAPエンベロープの形で)生成し、かつポートモニタおよびWSD APIモジュール222に送る。ウェブ・サービス対応プリントデバイス204のデバイス能力データは、現在ウェブ・サービス対応プリントデバイス204でサポートされる機能とオプションとを特定する。特定のインプリメンテーションに依存して、SOAPレスポンスのデバイス能力データは、ウェブ・サービス対応プリントデバイス204に利用できるデバイス能力データの全て、またはいかなる部分を含むものでもよい。例えば、イベント通知に応答して読み出されるデバイス能力データは、ウェブ・サービス対応プリントデバイス204に利用できるデバイス能力データの全てを含んでもよい。あるいは、機能またはオプションの変更に対応するデバイス能力データだけが、ウェブ・サービス対応プリントデバイス204から読み出されてもよい。加えて、デバイス能力データは、いかなる数のSOAPリクエスト、およびレスポンスを使用して読み出されてもよい。SOAPレスポンスは、また、ウェブ・サービス対応プリントデバイス204のためのデフォルトオプションを特定するデフォルトプリントチケットを含んでもよい。   In step 7, the web service enabled print device 204 generates a SOAP response (in the form of a SOAP envelope) containing the device capabilities data of the web service enabled print device 204 and sends it to the port monitor and WSD API module 222. The device capability data of the web service enabled print device 204 identifies functions and options currently supported by the web service enabled print device 204. Depending on the particular implementation, the device capability data in the SOAP response may include all or any portion of the device capability data available to the web service enabled print device 204. For example, the device capability data read in response to the event notification may include all of the device capability data available to the web service compatible print device 204. Alternatively, only device capability data corresponding to changes in functionality or options may be read from the web service enabled print device 204. In addition, device capability data may be read using any number of SOAP requests and responses. The SOAP response may also include a default print ticket that specifies default options for the web service enabled print device 204.

ステップ8において、ポートモニタおよびWSD APIモジュール222は、(ステップ9のスプーラ224を経て)プリントドライバ216に、ウェブ・サービス対応プリントデバイス204のデバイス能力データを含むレスポンスを送る。この場合において、ポートモニタおよびWSD APIモジュール222が、SOAPレスポンスからXML情報を抽出して、抽出された情報を含むレスポンスを生成してもよい。リクエストがSendRecvBiDiDataファンクションのコールを使用してインプリメントされた場合、ファンクションコールに対するレスポンスは、ウェブ・サービス対応プリントデバイス204からのデバイス能力データを含む。   In step 8, the port monitor and WSD API module 222 sends a response including the device capability data of the web service enabled print device 204 to the print driver 216 (via the spooler 224 of step 9). In this case, the port monitor and WSD API module 222 may extract XML information from the SOAP response and generate a response including the extracted information. If the request is implemented using a SendRecvBiDiData function call, the response to the function call includes device capability data from the web service enabled print device 204.

ステップ10において、DEVMODE生成モジュール219は、少なくとも、ウェブ・サービス対応プリントデバイス204から読み出されるデバイス能力データから生成されるプリンタ・ディスクリプション・データ238に基づいてDEVMODE構造体242を生成する。DEVMODE生成モジュール219は、また、本願明細書において前述したように、DEVMODE構造体242をレジストリ236に保存する。あるいは、DEVMODE生成モジュール219は、ウェブ・サービス対応プリントデバイス204でサポートされる機能および/またはオプションの変更を反映するように、既存のDEVMODE構造体242の更新を行ってもよい。   In step 10, the DEVMODE generation module 219 generates a DEVMODE structure 242 based at least on the printer description data 238 generated from the device capability data read from the web service compatible print device 204. The DEVMODE generation module 219 also stores the DEVMODE structure 242 in the registry 236 as described earlier in this specification. Alternatively, the DEVMODE generation module 219 may update the existing DEVMODE structure 242 to reflect changes in functionality and / or options supported by the web services enabled print device 204.

DEVMODE生成モジュール219が既存のDEVMODE構造体を更新する実施例において、もし、プリンタ・ディスクリプション・データ238で示される特定のプリント機能(例えば、孔あけ)がDEVMODE構造体242のパブリックの部分において定められない場合、DEVMODE構造体242のプライベートな部分が、その特定のプリント機能を示すために更新されてもよい。   In embodiments where the DEVMODE generation module 219 updates an existing DEVMODE structure, the particular print function (eg, punching) indicated by the printer description data 238 is defined in the public portion of the DEVMODE structure 242. If not, the private portion of DEVMODE structure 242 may be updated to indicate that particular print function.

ステップ11において、アプリケーションプログラム212は、DEVMODE構造体242を求めるリクエストをプリントドライバ216に行う。ステップ12において、プリントドライバ216は、DEVMODE構造体242をレジストリ236から取り出し、かつDEVMODE構造体242をアプリケーションプログラム212に送信する。ユーザがウェブ・サービス対応プリントデバイス204でサポートされる機能とオプションとを見ることができるよう、アプリケーションプログラム212は、ユーザインターフェース210に、GUIを生成する。ステップ13において、アプリケーションプログラム212は、ユーザの(および/またはいかなるデフォルトの)選択に基づいて、DEVMODE構造体242のオプション選択バージョンを生成し、かつプリントドライバ216にプリントデータ、およびDEVMODE構造体242のオプション選択バージョンを送る。プリントドライバ216は、オプション選択バージョンに基づいてプリントジョブ・チケットを生成する。   In step 11, the application program 212 makes a request for the DEVMODE structure 242 to the print driver 216. In step 12, the print driver 216 retrieves the DEVMODE structure 242 from the registry 236 and sends the DEVMODE structure 242 to the application program 212. The application program 212 generates a GUI in the user interface 210 so that the user can see the features and options supported by the web service enabled print device 204. In step 13, the application program 212 generates an option selected version of the DEVMODE structure 242 based on the user's (and / or any default) selection and print data to the print driver 216 and the DEVMODE structure 242. Send option selection version. The print driver 216 generates a print job ticket based on the option selection version.

あるいは、ステップ11−13に関連して、アプリケーションプログラム212は、プリントドライバ216にGUIを生成することをリクエストする。これに応答して、UIモジュール218は、DEVMODE構造体242に基づいてGUIを生成する。ユーザは、GUIに表示される一つ以上の機能オプションを選ぶ。UIモジュール218は、ユーザの(およびいかなるデフォルトの)選択をもDEVMODE構造体242のオプション選択バージョンに格納する。プリントドライバ216は、それからオプション選択バージョンに基づいてプリントジョブ・チケットを生成する。このシナリオにおいて、オプション選択バージョンは、DEVMODE構造体242のジョブ設定バージョンである。   Alternatively, in connection with steps 11-13, the application program 212 requests the print driver 216 to generate a GUI. In response, the UI module 218 generates a GUI based on the DEVMODE structure 242. The user selects one or more function options displayed on the GUI. The UI module 218 stores the user's (and any default) selection in an optional selection version of the DEVMODE structure 242. The print driver 216 then generates a print job ticket based on the option selection version. In this scenario, the option selection version is the job setting version of the DEVMODE structure 242.

関連した実施例において、DEVMODE構造体242のオプション選択バージョンは、DEVMODE構造体242のデフォルト設定バージョンである。例えば、ユーザは、プリントジョブを作成するときはいつでも、ユーザは特定の設定を見たくなるものである。したがって、ユーザは、特定の機能とオプションとを選び、かつこの選択が、DEVMODE構造体242のデフォルト設定として保存される。その後、ユーザがプリントジョブを作成するときに、アプリケーションプログラム212またはUIモジュール218は、DEVMODE構造体242のデフォルト設定バージョンに基づいて、デフォルト設定を示すユーザインターフェースを生成する。   In a related embodiment, the option-selected version of DEVMODE structure 242 is the default setting version of DEVMODE structure 242. For example, whenever a user creates a print job, the user wants to see a particular setting. Thus, the user selects a particular function and option, and this selection is saved as the default setting of the DEVMODE structure 242. Thereafter, when the user creates a print job, the application program 212 or the UI module 218 generates a user interface indicating default settings based on the default setting version of the DEVMODE structure 242.

図6は、本発明の一実施例に基づいて、DEVMODE構造体242が生成され、あるいは更新される少なくとも2つのシナリオを表すフローチャートである。ステップ610において、新機能が、ウェブ・サービス対応プリントデバイス204にプラグインされる(または付加される)。このプロセスはステップ620かステップ630へ進む。ステップ620で、プリントドライバ216がクライアント・デバイス202にインストールされる。ステップ630において、ウェブ・サービス対応プリントデバイス204は、デバイス機能変更イベントを生成し、かつクライアント・デバイス202にイベントを送る。プロセスは、ステップ620または630のどちらからでもステップ640に進む。ステップ640において、プリントドライバ216は、ウェブ・サービス対応プリントデバイス204からプリントデバイス能力データ228を取り出す。ステップ650において、プリントドライバ216(またはDEVMODE生成モジュール219)は、プリントデバイス能力データ228において示された機能とオプションとのセットに基づき、DEVMODE構造体242を生成するかまたは更新する。したがって、プリントドライバ216は、インストールされているプリントドライバに応答するか、デバイス機能変更イベントに応答してDEVMODE構造体242の最新版を生成する。   FIG. 6 is a flowchart illustrating at least two scenarios in which a DEVMODE structure 242 is created or updated in accordance with one embodiment of the present invention. In step 610, the new function is plugged in (or added) to the web service enabled print device 204. The process proceeds to step 620 or step 630. At step 620, the print driver 216 is installed on the client device 202. In step 630, the web service enabled print device 204 generates a device capability change event and sends the event to the client device 202. The process proceeds to step 640 from either step 620 or 630. In step 640, the print driver 216 retrieves the print device capability data 228 from the web service enabled print device 204. In step 650, print driver 216 (or DEVMODE generation module 219) generates or updates DEVMODE structure 242 based on the set of functions and options indicated in print device capability data 228. Accordingly, the print driver 216 responds to the installed print driver or generates the latest version of the DEVMODE structure 242 in response to the device function change event.

図7は、本発明の一実施例によって、新規なデバイス機能に基づいたユーザインターフェース700を表すブロック図である。各々のデバイス機能は通常は複数のオプションに関連づけられる。そして、その一つがプリントジョブの機能のために選ばれる。この例では、新規なデバイス機能は「HolePunch」である。UI700の中で「Punch」として描かれている。この新規なデバイス機能に関連づけられたさまざまなオプションは、「OFF」、「Left2」、「Top2」、「Right2」、「Left3」、「Top3」、「Right3」および「Left4」である。   FIG. 7 is a block diagram illustrating a user interface 700 based on a novel device function, according to one embodiment of the present invention. Each device function is usually associated with multiple options. One of them is selected for the function of the print job. In this example, the new device function is “HolePunch”. It is depicted as “Punch” in the UI 700. The various options associated with this new device function are “OFF”, “Left2”, “Top2”, “Right2”, “Left3”, “Top3”, “Right3” and “Left4”.

図8は、本発明の一実施例による、新規なデバイス機能および対応するオプションに基づいてDEVMODE構造体242を更新するための方法を表すシーケンス図である。ステップ1において、ウェブ・サービス対応プリントデバイス204は、プリント機能またはオプションの変更を示すイベントを生成する。このことは、デバイス機能またはオプションの削除、追加または変更を含んでもよい。ポートモニタおよびWSD APIモジュール222は、このイベントを受信することを予約しており、かつイベントを受信する。例えば、ポートモニタおよびWSD APIモジュール222は、イベントを特定するSOAPメッセージの形で、イベント通知を受信してもよい。   FIG. 8 is a sequence diagram representing a method for updating DEVMODE structure 242 based on a new device capability and corresponding options, according to one embodiment of the present invention. In step 1, the web service enabled print device 204 generates an event indicating a change in print function or option. This may include deleting, adding or changing device capabilities or options. The port monitor and WSD API module 222 has reserved to receive this event and receives the event. For example, the port monitor and WSD API module 222 may receive the event notification in the form of a SOAP message that identifies the event.

ステップ2において、ポートモニタおよびWSD APIモジュール222は、イベント通知を受信し、かつスプーラ224に通知する。ステップ3において、スプーラ224は、UIモジュール218に通知する。ステップ4において、UIモジュール218は、ポートモニタおよびWSD APIモジュール222に(ステップ5のスプーラ224を経て)、ウェブ・サービス対応プリントデバイス204のデバイス能力を求めるリクエストを送る。リクエストは、例えば、ウェブ・サービス対応プリントデバイス204のデバイス能力データを求めるリクエストを含む、SendRecvBiDiDataファンクションへのコールによってインプリメントされてもよい。この状態では、SendRecvBiDiDataファンクションは、ポートモニタおよびWSD APIモジュール222にコールを送る。   In step 2, the port monitor and WSD API module 222 receives the event notification and notifies the spooler 224. In step 3, the spooler 224 notifies the UI module 218. In step 4, the UI module 218 sends a request to the port monitor and WSD API module 222 (via the spooler 224 of step 5) for the device capabilities of the web service enabled print device 204. The request may be implemented, for example, by a call to the SendRecvBiDiData function that includes a request for device capability data for the web service enabled print device 204. In this state, the SendRecvBiDiData function sends a call to the port monitor and WSD API module 222.

ステップ6において、ポートモニタおよびWSD APIモジュール222は、少なくとも、UIモジュール218から受け取ったリクエストに基づき、SOAPエンベロープの形で、SOAPリクエストを生成し、SOAPリクエストをウェブ・サービス対応プリントデバイス204に転送する。   In step 6, the port monitor and WSD API module 222 generates a SOAP request in the form of a SOAP envelope based on at least the request received from the UI module 218 and forwards the SOAP request to the web service enabled print device 204. .

ステップ7において、ウェブ・サービス対応プリントデバイス204は、(SOAPエンベロープの形で)ウェブ・サービス対応プリントデバイス204のデバイス能力データを含むSOAPレスポンスを生成し、かつポートモニタおよびWSD APIモジュール222に送る。ウェブ・サービス対応プリントデバイス204のデバイス能力データは、現在ウェブ・サービス対応プリントデバイス204でサポートされる一つ以上の機能とオプションとを特定する。特定のインプリメンテーションに依存して、SOAPレスポンスのデバイス能力データは、ウェブ・サービス対応プリントデバイス204に利用できるデバイス能力データのいかなる部分、または全てを含んでもよい。例えば、イベント通知に応答して読み出されるデバイス能力データは、ウェブ・サービス対応プリントデバイス204に利用できるデバイス能力データの全てを含んでもよい。あるいは、機能またはオプションの変更に対応するデバイス能力データだけが、ウェブ・サービス対応プリントデバイス204から読み出されてもよい。加えて、デバイス能力データは、いかなる数のSOAPリクエスト、およびレスポンスを使用して読み出されてもよい。   In step 7, the web service enabled print device 204 generates a SOAP response that includes the device capabilities data of the web service enabled print device 204 (in the form of a SOAP envelope) and sends it to the port monitor and WSD API module 222. The device capability data of the web service enabled print device 204 identifies one or more functions and options currently supported by the web service enabled print device 204. Depending on the particular implementation, the device capability data in the SOAP response may include any part or all of the device capability data available to the web service enabled print device 204. For example, the device capability data read in response to the event notification may include all of the device capability data available to the web service compatible print device 204. Alternatively, only device capability data corresponding to changes in functionality or options may be read from the web service enabled print device 204. In addition, device capability data may be read using any number of SOAP requests and responses.

ステップ8において、ポートモニタおよびWSD APIモジュール222は、UIモジュール218に(ステップ9のスプーラ224を経て)、ウェブ・サービス対応プリントデバイス204のデバイス能力データを含むレスポンスを送る。このことは、ポートモニタおよびWSD APIモジュール222が、SOAPレスポンスからXML情報を抽出し、かつ抽出された情報を含むレスポンスを生成することを含んでもよい。リクエストがSendRecvBiDiDataファンクションコールを使用してインプリメントされた状況において、ファンクションコールに対するレスポンスは、ウェブ・サービス対応プリントデバイス204からのデバイス能力データを含む。   In step 8, the port monitor and WSD API module 222 sends a response including the device capability data of the web service enabled print device 204 to the UI module 218 (via the spooler 224 of step 9). This may include the port monitor and WSD API module 222 extracting XML information from the SOAP response and generating a response that includes the extracted information. In situations where the request is implemented using the SendRecvBiDiData function call, the response to the function call includes device capability data from the web service enabled print device 204.

ステップ10において、本願明細書で既に述べたように、UIモジュール218は、ウェブ・サービス対応プリントデバイス204のプリンタ・ディスクリプション・データ238を生成して、レジストリ236にプリンタ・ディスクリプション・データ238を保存する。あるいは、UIモジュール218は、ウェブ・サービス対応プリントデバイス204になされた機能および/またはオプションの変更を反映するために、ウェブ・サービス対応プリントデバイス204の既存のプリンタ・ディスクリプション・データを更新してもよい。   In step 10, the UI module 218 generates the printer description data 238 for the web service enabled print device 204, as previously described herein, and stores the printer description data 238 in the registry 236. save. Alternatively, the UI module 218 updates the existing printer description data of the web service enabled print device 204 to reflect changes in functionality and / or options made to the web service enabled print device 204. Also good.

ステップ11において、DEVMODE生成モジュール219は、新しいDEVMODE構造体242を生成する(あるいは、少なくとも新規の、削除された、または変更された機能に基づき、既存のDEVMODE構造体242を更新する)。   In step 11, the DEVMODE generation module 219 generates a new DEVMODE structure 242 (or updates an existing DEVMODE structure 242 based at least on new, deleted, or changed functions).

ステップ12において、アプリケーションプログラム212は、プリントドライバ216からDEVMODE構造体242をリクエストする。そして、新しい(または更新された)DEVMODE構造体242に基づいてユーザインターフェースを生成する。
VI.インプリメンテーション・メカニズム
In step 12, the application program 212 requests a DEVMODE structure 242 from the print driver 216. A user interface is then generated based on the new (or updated) DEVMODE structure 242.
VI. Implementation mechanism

一実施例によれば、本願明細書において記述されている技術は、一つ以上の特殊目的コンピューティング装置によってインプリメントされる。特殊目的コンピューティング装置は、本技術を実行するハードワイヤードの装置、またはデジタル電子デバイス(例えば本技術を実行するように永続的にプログラムされた一つ以上の特定用途向け集積回路(ASIC)またはフィールドプログラマブルゲートアレイ(FPGAs))を含んでもよい。またはファームウェア、メモリ、その他の記憶装置またはこれらの組合せに格納されたプログラム命令に従って本技術を実行するようにプログラムされた一つ以上の汎用ハードウェアプロセッサを含んでもよい。この種の特殊目的コンピューティング装置は、また、本技術を達成するために、カスタムプログラミングを含む、カスタムハードワイヤードロジック、ASICまたはFPGAsと結合してもよい。この特殊目的コンピューティング装置は、本技術をインプリメントするためにハードワイヤードおよび/またはプログラムロジックを組み込んだデスクトップ計算機システム、ポータブル計算機システム、携帯デバイス、ネットワーク・デバイスまたは他のいかなるデバイスであってもよい。   According to one embodiment, the techniques described herein are implemented by one or more special purpose computing devices. A special purpose computing device is a hardwired device that implements the technology, or a digital electronic device (eg, one or more application specific integrated circuits (ASICs) or fields permanently programmed to implement the technology) Programmable gate arrays (FPGAs)). Alternatively, it may include one or more general purpose hardware processors programmed to perform the techniques in accordance with program instructions stored in firmware, memory, other storage devices, or combinations thereof. This type of special purpose computing device may also be combined with custom hardwired logic, ASICs or FPGAs, including custom programming, to accomplish this technology. This special purpose computing device may be a desktop computer system, portable computer system, portable device, network device or any other device that incorporates hardwired and / or program logic to implement the present technology.

例えば、図9は、本発明の実施例がインプリメントされ得るコンピュータシステム900を例示するブロック図である。コンピュータシステム900は、バス902または情報を通信するための他の通信メカニズム、およびバス902に接続された処理情報のためのハードウェアプロセッサ904を含む。ハードウェアプロセッサ904は、例えば、汎用マイクロプロセッサであってもよい。   For example, FIG. 9 is a block diagram that illustrates a computer system 900 upon which an embodiment of the invention may be implemented. Computer system 900 includes a bus 902 or other communication mechanism for communicating information, and a hardware processor 904 for processing information coupled to bus 902. The hardware processor 904 may be a general-purpose microprocessor, for example.

コンピュータシステム900は、また、メインメモリ906を含む。例えば、プロセッサ904によって実行される情報および命令を保存するためにバス902に接続されたランダムアクセスメモリ(RAM)または他の動的記憶装置デバイスが挙げられる。メインメモリ906は、また、プロセッサ904によって実行される命令の実行中に、一時的数値変数または他の中間の情報を保存するために使用されてもよい。この種の命令がプロセッサ904によってアクセスできる記憶媒体に保存されると、コンピュータシステム900は、命令によって特定されるオペレーションを実行するためのカスタマイズされた特殊目的のマシンとなる。   Computer system 900 also includes main memory 906. For example, a random access memory (RAM) or other dynamic storage device connected to bus 902 for storing information and instructions executed by processor 904. Main memory 906 may also be used to store temporary numeric variables or other intermediate information during execution of instructions executed by processor 904. When such instructions are stored on a storage medium accessible by processor 904, computer system 900 becomes a customized special purpose machine for performing the operations specified by the instructions.

コンピュータシステム900は、読取り専用メモリ(ROM)908、または、バス902に接続された、プロセッサ904のために静的情報および命令を保存するための他の静的記憶装置デバイスを更に含む。記憶装置910(例えば磁気ディスクまたは光ディスク)が設置され、情報および命令を保存するためにバス902に接続される。   Computer system 900 further includes a read only memory (ROM) 908 or other static storage device connected to bus 902 for storing static information and instructions for processor 904. A storage device 910 (eg, a magnetic disk or optical disk) is installed and connected to the bus 902 for storing information and instructions.

コンピュータシステム900は、情報をコンピュータユーザに表示するための表示装置912(例えばブラウン管(CRT))に、バス902を経て接続されてもよい。入力装置914は、英数字、および他のキーを含み、プロセッサ904に情報、および命令選択を通信するためにバス902に接続される。他の種類のユーザ入力デバイスとしては、カーソル制御916、例えばマウス、トラックボールまたはカーソル方向キーがある。これらは、プロセッサ904に方向情報、および命令選択を通信し、かつ表示装置912上のカーソル移動の制御のためのものである。この入力装置は、通常は、2つの軸において2つの自由度を有する。第1の軸(例えばx)、および第2の軸(例えばy)で、デバイスが平面の位置を特定することができる。   The computer system 900 may be connected via a bus 902 to a display device 912 (eg, a cathode ray tube (CRT)) for displaying information to a computer user. Input device 914 includes alphanumeric characters and other keys and is connected to bus 902 for communicating information and instruction selections to processor 904. Other types of user input devices include cursor controls 916, such as a mouse, trackball or cursor direction keys. These are for communicating direction information and command selections to the processor 904 and for controlling cursor movement on the display device 912. This input device typically has two degrees of freedom in two axes. With the first axis (eg, x) and the second axis (eg, y), the device can locate the plane.

コンピュータシステム900は、カスタマイズされたハードワイヤードロジック、一つ以上のASICまたはFPGAs、ファームウェアおよび/またはプログラムロジックを使用して、本願明細書において記述されている技術をインプリメントしてもよい。これらは、コンピュータシステムと結合して、コンピュータシステム900は特殊目的マシンとしてプログラムされる。一実施例によれば、本願明細書における技術は、メインメモリ906に格納された一つ以上の命令の一つ以上のシーケンスを実行するプロセッサ904に応答して、コンピュータシステム900によって実行される。この種の命令は、他の記憶媒体(例えば記憶装置910)から、メインメモリ906に読み込まれてもよい。メインメモリ906に保存された命令のシーケンスを実行することによって、プロセッサ904は、本願明細書に記載されているプロセスステップを実行する代わりの実施例では、ハードワイヤードの回路は、ソフトウェア命令の代わりとして、またはこれと結合して使用されてもよい。   Computer system 900 may implement the techniques described herein using customized hardwired logic, one or more ASICs or FPGAs, firmware, and / or program logic. These are combined with a computer system, and the computer system 900 is programmed as a special purpose machine. According to one embodiment, the techniques herein are performed by computer system 900 in response to processor 904 executing one or more sequences of one or more instructions stored in main memory 906. This type of instruction may be read into the main memory 906 from another storage medium (for example, the storage device 910). By executing the sequence of instructions stored in the main memory 906, the processor 904, in an alternative embodiment for performing the process steps described herein, is a hardwired circuit as an alternative to software instructions. Or a combination thereof.

本願明細書において使用する「記憶媒体」の用語は、装置に特定の操作を実行させるデータおよび/または命令を保存するいかなるメディアをも指す。この種の記憶媒体は、不揮発性のメディアおよび/または揮発性のメディアを有してもよい。不揮発性のメディアとしては、例えば、光あるいは磁気ディスク(例えば記憶装置910)が含まれる。揮発性のメディアは、ダイナミック・メモリ(例えばメインメモリ906)を含む。記憶媒体の通常の形式は、例えば、フロッピー(登録商標)ディスク、フレキシブルディスク、ハードディスク、ソリッドステートドライブ、磁気テープ、その他のいかなる磁気データ記憶媒体、CD−ROM、その他のいかなる光学データ記憶媒体、孔パターンを有するいかなる物理メディア、RAM、PROM、EPROM、FLASH−EPROM、NVRAM、その他のいかなるメモリーチップまたはカートリッジも含まれる。   The term “storage medium” as used herein refers to any medium that stores data and / or instructions that cause a device to perform a specific operation. This type of storage medium may include non-volatile media and / or volatile media. Non-volatile media includes, for example, optical or magnetic disks (eg, storage device 910). Volatile media includes dynamic memory (eg, main memory 906). The usual forms of storage media are, for example, floppy disks, flexible disks, hard disks, solid state drives, magnetic tape, any other magnetic data storage medium, CD-ROM, any other optical data storage medium, hole Any physical media having a pattern, RAM, PROM, EPROM, FLASH-EPROM, NVRAM, or any other memory chip or cartridge is included.

記憶媒体は伝送媒体と区別されるが、伝送媒体と連動して使用されてもよい。伝送媒体は、記憶媒体間の情報を転送することに寄与する。例えば、伝送媒体は同軸ケーブル、銅線、および光ファイバーを含む。そして、バス902を有する導線を含む。伝送媒体は、また、音響または光波の形をとることができる。例えば、電波と赤外線データ通信との間で生成された形式をとることができる。   The storage medium is distinguished from the transmission medium, but may be used in conjunction with the transmission medium. Transmission media contributes to transferring information between storage media. For example, transmission media include coaxial cable, copper wire, and optical fiber. And the conducting wire which has the bus 902 is included. Transmission media can also take the form of acoustic or light waves. For example, it can take the form generated between radio waves and infrared data communications.

メディアのさまざまな形式によって、一つ以上の命令の一つ以上のシーケンスをプロセッサ904に実行させることができる。例えば、命令は、リモートコンピュータの磁気ディスクまたは固体ドライブに最初に保存されてもよい。リモートコンピュータは、命令をそのダイナミック・メモリへロードすることができ、かつモデムを使用して電話線を介して命令を送ることができる。コンピュータシステム900に近接したモデムは、電話線上のデータを受信することができ、かつそのデータを赤外線の信号に変換するために、赤外線送信器を使用することができる。赤外線検出器は赤外線の信号に乗ったデータを受信することができ、かつ適切な回路がデータをバス902に送出することができる。バス902はデータをメインメモリ906へ運び、そこから、プロセッサ904は命令を読み出し、かつ実行する。メインメモリ906によって受け取られた命令は、プロセッサ904による実行の前または後で記憶装置910に任意に保存されてもよい。   Various forms of media can cause processor 904 to execute one or more sequences of one or more instructions. For example, the instructions may initially be stored on a remote computer magnetic disk or solid state drive. The remote computer can load the instructions into its dynamic memory and send the instructions over a telephone line using a modem. A modem in proximity to computer system 900 can receive data on the telephone line and can use an infrared transmitter to convert the data to an infrared signal. The infrared detector can receive the data on the infrared signal and an appropriate circuit can send the data to the bus 902. Bus 902 carries data to main memory 906, from which processor 904 reads and executes instructions. The instructions received by main memory 906 may optionally be stored on storage device 910 either before or after execution by processor 904.

コンピュータシステム900は、また、バス902に接続された通信インターフェース918を含む。通信インターフェース918は、ネットワーク・リンク920に接続して双方向データ通信を提供する。ネットワーク・リンク920は、ローカルネットワーク922へ接続されている。例えば、通信インターフェース918は、総合サービスデジタルネットワーク(ISDN)カード、ケーブルモデム、衛星モデム、または対応する電話線へのデータ通信接続を提供するモデムであってもよい。別の例として、通信インターフェース918は、互換性を持つLANへのデータ通信接続を提供するローカル・エリア・ネットワーク(LAN)カードであってもよい。また、無線リンクがインプリメントされてもよい。いずれの種類のインプリメンテーションにおいても、通信インターフェース918は、電気的、電磁的、光学的信号の様々な形の情報を含むデジタルデータストリームを伝送する。   Computer system 900 also includes a communication interface 918 connected to bus 902. Communication interface 918 connects to network link 920 to provide bi-directional data communication. Network link 920 is connected to local network 922. For example, communication interface 918 may be an integrated services digital network (ISDN) card, a cable modem, a satellite modem, or a modem that provides a data communication connection to a corresponding telephone line. As another example, communication interface 918 may be a local area network (LAN) card that provides a data communication connection to a compatible LAN. A radio link may also be implemented. In any type of implementation, the communication interface 918 carries a digital data stream that includes various forms of information such as electrical, electromagnetic, and optical signals.

ネットワーク・リンク920は、通常は他のデータ装置に一つ以上のネットワークによるデータ通信を提供する。例えば、ネットワーク・リンク920はホストコンピュータ924にローカルネットワーク922による接続を提供してもよい。あるいは、インターネット・サービス・プロバイダー(ISP)926によって動作しているデータ機器に接続を提供してもよい。ISP926は、世界的なパケット・データ通信網を介してデータ通信サービスを提供する。これは、現在インターネット928と共通に呼ばれている。ローカルネットワーク922、およびインターネット928は、両者とも、電気的、電磁的、光学的信号を使用してデジタルデータストリームを伝送する。さまざまなネットワークによる信号、およびネットワーク・リンク920上の信号、および通信インターフェース918を介した信号は、デジタルデータをコンピュータシステム900に送信し、またこれから受信するための、伝送媒体の具体例である。   Network link 920 typically provides data communication over one or more networks to other data devices. For example, the network link 920 may provide a connection via the local network 922 to the host computer 924. Alternatively, a connection may be provided to a data device operating by an Internet service provider (ISP) 926. ISP 926 provides data communication services through a global packet data communication network. This is now commonly called the Internet 928. Local network 922 and Internet 928 both carry digital data streams using electrical, electromagnetic, and optical signals. Signals from various networks, as well as signals on network link 920 and via communication interface 918 are examples of transmission media for transmitting and receiving digital data to and from computer system 900.

コンピュータシステム900は、ネットワーク、ネットワーク・リンク920、および通信インターフェース918を介して、メッセージを送信し、データを受信することができる。これには、プログラムコードが含まれる。インターネットの例においては、サーバ930は、インターネット928、ISP926、ローカルネットワーク922、および通信インターフェース918を介して、アプリケーションプログラムのためのリクエストされたコードを送信することができる。   Computer system 900 can send messages and receive data via network, network link 920, and communication interface 918. This includes program code. In the Internet example, the server 930 can send the requested code for the application program via the Internet 928, ISP 926, local network 922, and communication interface 918.

受信されたコードは、そのままに受け取られてプロセッサ904によって実行されてもよく、および/または後の実行のために、記憶装置910またはその他の不揮発性記憶装置に保存されてもよい。   The received code may be received as is and executed by processor 904 and / or stored in storage device 910 or other non-volatile storage for later execution.

以上の明細書において、本発明の実施例ごとに異なり得る特定の詳細事項を参照して説明した。したがって、何が本発明であるかという唯一の指標、および出願人によって意図された本発明は、本出願から特許発行された請求項のセットに基づく。これは、その後の補正を包含する。請求項に含まれる用語の明示的ないかなる定義も、請求項に用いられているとおりにその意味を定める。それ故、明示的に明記されていない限定、要素、性質、機能、有利な効果、または属性は、いかなる形であれ、その請求項の技術的範囲を限定することになってはならない。明細書および図面は、したがって、例示的なものであり、拘束的なものと解釈されない。   In the foregoing specification, description has been made with reference to specific details that may vary from implementation to implementation. Thus, the only indication of what is the invention, and the invention intended by the applicant, is based on a set of claims issued from this application. This includes subsequent corrections. Any explicit definitions of terms contained in a claim shall have their meanings as used in the claims. Hence, no limitation, element, property, function, advantage, or attribute that is not expressly specified shall limit the scope of the claims in any way. The specification and drawings are, therefore, exemplary and are not to be construed as limiting.

900 コンピュータシステム
902 バス
904 プロセッサ
906 メインメモリ
908 ROM
910 記憶装置
912 表示装置
914 入力装置
916 カーソル制御
918 通信インターフェース
920 ネットワーク・リンク
922 ローカルネットワーク
924 ホストコンピュータ
928 インターネット
930 サーバ
900 Computer system 902 Bus 904 Processor 906 Main memory 908 ROM
910 Storage device 912 Display device 914 Input device 916 Cursor control 918 Communication interface 920 Network link 922 Local network 924 Host computer 928 Internet 930 Server

米国特許出願番号第12/399,884号(2009年3月6日出願)US Patent Application No. 12 / 399,884 (filed March 6, 2009)

Claims (14)

プリントデバイスにプリントするコンピュータ実行方法であって、
プリントドライバが、クライアント・デバイスにおいて実行され、プリントデバイスから、現在前記プリントデバイスでサポートされる複数の機能とオプションとを特定するプリントデバイス能力データを受信するステップと;
前記プリントデバイス能力データの受信に応答して、前記プリントドライバが、DEVMODEデータ構造体の第1のバージョンとは異なる前記DEVMODEデータ構造体の第2のバージョンを生成するステップと;
を有し
前記第1のバージョンは、以前に前記プリントデバイスでサポートされた第1の複数の機能を示し;
前記第2のバージョンは、前記プリントデバイスで現在サポートされる第2の複数の機能を示し;
前記第1の複数の機能は、前記第2の複数の機能とは異なり;
前記第2のバージョンの第1の部分のデータは、バイナリフォーマットで示され、かつ前記第2のバージョンの第2の部分のデータは、XMLで示され;
前記第2の部分は、特定のプリント機能、および前記プリントデバイス能力データで示される前記特定のプリント機能のための一つ以上のオプションを示す、コンピュータ実行方法。
A computer-implemented method for printing on a printing device, comprising:
A print driver executing at the client device and receiving from the print device print device capability data identifying a plurality of functions and options currently supported by the print device;
Responsive to receiving the print device capability data, the print driver generating a second version of the DEVMODE data structure that is different from the first version of the DEVMODE data structure;
The first version indicates a first plurality of functions previously supported by the printing device;
The second version indicates a second plurality of functions currently supported by the printing device;
The first plurality of functions is different from the second plurality of functions;
The data of the first part of the second version is shown in a binary format and the data of the second part of the second version is shown in XML;
The computer-implemented method, wherein the second portion indicates a particular print function and one or more options for the particular print function indicated in the print device capability data.
前記DEVMODEデータ構造体の前記第2のバージョンに基づいてユーザインターフェースを生成するステップと;
一つ以上のユーザ選択に応答して、前記第2の複数の機能の、機能のセットの各々の機能に対してオプションが選ばれたことを示すDEVMODEデータ構造体の第3のバージョンを生成するステップと;
を更に有する請求項1記載のコンピュータ実行方法。
Generating a user interface based on the second version of the DEVMODE data structure;
Responsive to one or more user selections, generates a third version of a DEVMODE data structure indicating that an option has been selected for each function of the second set of functions. Steps and;
The computer-implemented method according to claim 1, further comprising:
前記ユーザインターフェースを生成するステップが:
(a)前記プリントドライバが、前記ユーザインターフェースを生成するステップ;または
(b)アプリケーションプログラムが、前記DEVMODEデータ構造体を前記プリントドライバにリクエストし、かつ前記プリントドライバから前記DEVMODEデータ構造体の前記第2のバージョンを受け取った後に、前記ユーザインターフェースを生成するステップ;
のうち少なくとも一つを含む、請求項2記載のコンピュータ実行方法。
The step of generating the user interface includes:
(A) the print driver generating the user interface; or (b) an application program requests the DEVMODE data structure from the print driver and the print driver from the DEVMODE data structure. Generating the user interface after receiving the second version;
The computer-implemented method of claim 2, comprising at least one of the following:
前記プリントドライバが、(a)少なくとも前記DEVMODEデータ構造体の前記第3のバージョンに基づいてプリントジョブ・チケットを生成し、かつ(b)プリントデータおよび前記プリントジョブ・チケットを前記プリントデバイスに送信されるようにするステップ;または、
少なくとも前記DEVMODEデータ構造体の前記第3のバージョンに基づいて、ユーザインターフェースを生成するステップ;
を更に有する請求項1記載のコンピュータ実行方法。
The print driver (a) generates a print job ticket based on at least the third version of the DEVMODE data structure; and (b) sends the print data and the print job ticket to the printing device. A step of making it possible; or
Generating a user interface based at least on the third version of the DEVMODE data structure;
The computer-implemented method according to claim 1, further comprising:
前記プリントデバイス能力データを受信するステップは:
前記プリントドライバが、前記プリントデバイスから、前記プリントデバイスに関する変更を示し、ウエブ・サービス・イベント・仕様に準拠する、イベント通知メッセージを受信するステップ;および
前記イベント通知メッセージを受信するステップに応答して、前記プリントドライバが、前記プリントデバイスに、プリントデバイスでサポートされた、一つ以上のプリント機能をリクエストするリクエストメッセージを送信するステップ;
に応答して起動される、請求項1記載のコンピュータ実行方法。
The steps of receiving the print device capability data include:
Responsive to the print driver receiving an event notification message from the print device indicating a change related to the print device and complying with a web service event specification; and receiving the event notification message; The print driver sending a request message to the printing device requesting one or more printing functions supported by the printing device;
The computer-implemented method of claim 1, which is activated in response to
前記クライアント・デバイスによる前記プリントドライバのインストールに応答して、前記プリントデバイス能力データを受信するステップが起動される、請求項1記載のコンピュータ実行方法。   The computer-implemented method of claim 1, wherein the step of receiving the print device capability data is initiated in response to installation of the print driver by the client device. 前記第1の複数の機能は、前記第2の複数の機能に含まれない第1の特定の機能を含み;または、
前記第2の複数の機能は、前記第1の複数の機能に含まれない第2の特定の機能を含む、
請求項1記載のコンピュータ実行方法。
The first plurality of functions includes a first specific function not included in the second plurality of functions; or
The second plurality of functions includes a second specific function that is not included in the first plurality of functions.
The computer-implemented method according to claim 1.
請求項1ないし7のいずれか一項に記載の方法を、コンピュータに実行させるプログラム。   The program which makes a computer perform the method as described in any one of Claims 1 thru | or 7. プリントデバイスにプリントする装置であって、
プリントドライバが、クライアント・デバイスにおいて実行され、かつプリントデバイスから、現在前記プリントデバイスでサポートされる複数の機能とオプションとを特定するプリントデバイス能力データを受信し;
前記プリントデバイス能力データの受信に応答して、前記プリントドライバが、DEVMODEデータ構造体の第1のバージョンとは異なる前記DEVMODEデータ構造体の第2のバージョンを生成し;
前記第1のバージョンは、以前に前記プリントデバイスでサポートされた第1の複数の機能を示し;
前記第2のバージョンは、前記プリントデバイスで現在サポートされる第2の複数の機能を示し;
前記第1の複数の機能は、前記第2の複数の機能とは異なり;
前記第2のバージョンの第1の部分のデータは、バイナリフォーマットで示され、かつ前記第2のバージョンの第2の部分のデータは、XMLで示され;
前記第2の部分は、特定のプリント機能、および前記プリントデバイス能力データで示される前記特定のプリント機能のための一つ以上のオプションを示す、装置。
An apparatus for printing on a printing device,
A print driver receives print device capability data that is executed at the client device and identifies a plurality of functions and options currently supported by the print device;
In response to receiving the print device capability data, the print driver generates a second version of the DEVMODE data structure that is different from the first version of the DEVMODE data structure;
The first version indicates a first plurality of functions previously supported by the printing device;
The second version indicates a second plurality of functions currently supported by the printing device;
The first plurality of functions is different from the second plurality of functions;
The second version of the first part of the data is shown in binary format and the second version of the second part of the data is shown in XML;
The apparatus wherein the second portion indicates a particular print function and one or more options for the particular print function indicated in the print device capability data.
請求項9記載の装置であって、
前記DEVMODEデータ構造体の前記第2のバージョンに基づいてユーザインターフェースを生成し;
一つ以上のユーザ選択に応答して、前記第2の複数の機能の、機能のセットの各々の機能に対してオプションが選ばれたことを示すDEVMODEデータ構造体の第3のバージョンを生成する、装置。
The apparatus of claim 9, comprising:
Generating a user interface based on the second version of the DEVMODE data structure;
Responsive to one or more user selections, generates a third version of a DEVMODE data structure indicating that an option has been selected for each function of the second set of functions. ,apparatus.
請求項10記載の装置であって、
前記ユーザインターフェースを生成する際に:
(a)前記プリントドライバが、前記ユーザインターフェースを生成する処理;または
(b)アプリケーションプログラムが、前記DEVMODEデータ構造体を前記プリントドライバにリクエストし、かつ前記プリントドライバから前記DEVMODEデータ構造体の前記第2のバージョンを受け取った後に、前記ユーザインターフェースを生成する処理;
のうち少なくとも一つの処理を行う、装置。
The apparatus of claim 10, comprising:
When generating the user interface:
(A) a process in which the print driver generates the user interface; or (b) an application program requests the DEVMODE data structure from the print driver and the print driver sends the DEVMODE data structure. Processing to generate the user interface after receiving version 2;
An apparatus that performs at least one of the processes.
請求項10の装置であって、
前記プリントドライバが、(a)少なくとも前記DEVMODEデータ構造体の前記第3のバージョンに基づいてプリントジョブ・チケットを生成し、かつ(b)プリントデータおよび前記プリントジョブ・チケットを前記プリントデバイスに送信されるようにする処理;または、
少なくとも前記DEVMODEデータ構造体の前記第3のバージョンに基づいて、ユーザインターフェースを生成する処理;
を更に行う、装置。
The apparatus of claim 10, comprising:
The print driver (a) generates a print job ticket based on at least the third version of the DEVMODE data structure; and (b) sends the print data and the print job ticket to the printing device. Processing to make it possible; or
Generating a user interface based at least on the third version of the DEVMODE data structure;
Further perform the device.
請求項9記載の装置であって、
前記プリントデバイス能力データを受信する処理は:
前記プリントドライバが、前記プリントデバイスから、前記プリントデバイスに関する変更を示し、ウエブ・サービス・イベント・仕様に準拠する、イベント通知メッセージを受信する処理;および
前記イベント通知メッセージを受信するステップに応答して、前記プリントドライバが、前記プリントデバイスに、プリントデバイスでサポートされた、一つ以上のプリント機能をリクエストするリクエストメッセージを送信する処理;
に応答して起動される、装置。
The apparatus of claim 9, comprising:
The process of receiving the print device capability data is:
In response to the step of receiving an event notification message from the print device, indicating a change related to the print device, and complying with a web service event specification; and receiving the event notification message; A process in which the print driver sends a request message requesting one or more print functions supported by the print device to the print device;
A device that is activated in response to
請求項9記載の装置であって、前記クライアント・デバイスによる前記プリントドライバのインストールに応答して、前記プリントデバイス能力データを受信する処理が起動される、装置。   The apparatus according to claim 9, wherein a process for receiving the print device capability data is activated in response to installation of the print driver by the client device.
JP2010158754A 2009-07-31 2010-07-13 Printing system Expired - Fee Related JP5655402B2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/534,014 2009-07-31
US12/534,014 US8405853B2 (en) 2009-07-31 2009-07-31 Dynamic DEVMODE support

Publications (2)

Publication Number Publication Date
JP2011034563A true JP2011034563A (en) 2011-02-17
JP5655402B2 JP5655402B2 (en) 2015-01-21

Family

ID=43526730

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010158754A Expired - Fee Related JP5655402B2 (en) 2009-07-31 2010-07-13 Printing system

Country Status (2)

Country Link
US (1) US8405853B2 (en)
JP (1) JP5655402B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013061869A (en) * 2011-09-14 2013-04-04 Ricoh Co Ltd Information processor and program

Families Citing this family (12)

* 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
US20090094539A1 (en) * 2007-08-29 2009-04-09 Yao-Tian Wang Controlling a computer peripheral device using a universal driver and device-generated user interface information
US20100225958A1 (en) * 2009-03-06 2010-09-09 Selvaraj Senthil K Approach For Printing To Web Services-Enabled Printing Devices
US8310706B2 (en) * 2009-07-31 2012-11-13 Ricoh Company, Ltd. Dynamic and real-time print schema documents
US8970870B2 (en) * 2010-06-30 2015-03-03 Canon Kabushiki Kaisha Delivery of scan services over a device service port
US9141314B2 (en) 2011-01-20 2015-09-22 Canon Kabushiki Kaisha Systems and methods for updating a user interface for a printing device
US8994985B2 (en) * 2011-01-20 2015-03-31 Canon Kabushiki Kaisha Systems and methods for updating printing device capabilities
US20120188575A1 (en) * 2011-01-20 2012-07-26 Canon Kabushiki Kaisha Systems and methods for updating printing device capabilities
JP5424134B2 (en) * 2011-10-14 2014-02-26 コニカミノルタ株式会社 Information processing apparatus, printer driver, print setting method, and data structure
JP5825565B2 (en) * 2013-11-07 2015-12-02 コニカミノルタ株式会社 Printer driver and method of adding printer driver print function
JP2015166919A (en) * 2014-03-03 2015-09-24 株式会社リコー Program, information processing apparatus, and printing system
JP6028776B2 (en) * 2014-09-19 2016-11-16 コニカミノルタ株式会社 UI program, print control apparatus, and control method therefor

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005267088A (en) * 2004-03-17 2005-09-29 Fuji Xerox Co Ltd Peripheral equipment driver, peripheral equipment controller and method for updating peripheral equipment driver
JP2006168079A (en) * 2004-12-14 2006-06-29 Canon Inc Recording system and recording method thereof, image supply device and control method thereof, recording device and control method thereof, program, and storage medium
JP2006285870A (en) * 2005-04-04 2006-10-19 Canon Inc Print control apparatus, print control method, and program
JP2009032250A (en) * 2007-07-30 2009-02-12 Ricoh Co Ltd Data processing apparatus and recording medium for print server

Family Cites Families (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5467434A (en) 1992-08-28 1995-11-14 Xerox Corporation Apparatus and method for determining printer option availability and representing conflict resolution in a combination of print job selections
JP3332443B2 (en) 1993-01-18 2002-10-07 キヤノン株式会社 Information processing apparatus and information processing method
US5513126A (en) 1993-10-04 1996-04-30 Xerox Corporation Network having selectively accessible recipient prioritized communication channel profiles
JP3720439B2 (en) 1995-01-06 2005-11-30 キヤノン株式会社 Data input / output control apparatus and data input / output control method
JPH0991102A (en) 1995-09-26 1997-04-04 Ricoh Co Ltd Print job execution result notification method in network system, scan condition setting method in network system, and network printing / scanning system
US5999029A (en) * 1996-06-28 1999-12-07 Lsi Logic Corporation Meta-hardened flip-flop
US5875350A (en) 1997-04-21 1999-02-23 International Business Machines Corporation Compressed message exchange initiated by basic command accompanied by enhancement code
US5999945A (en) 1997-09-15 1999-12-07 International Business Machines Corporation Method for organizing files associated with a job ticket used in a network printing system
US6594028B1 (en) 1999-04-14 2003-07-15 Canon Kabushiki Kaisha Status-based control over printer
US6789111B1 (en) 1999-12-09 2004-09-07 Microsoft Corporation Automatic detection and installation of client peripheral devices by a server
US7039869B2 (en) 2000-02-14 2006-05-02 Fuji Photo Film Co., Ltd. Global lab software
JP4612781B2 (en) 2000-08-11 2011-01-12 キヤノン株式会社 Printing apparatus and printing apparatus control method and program
US20020030840A1 (en) 2000-09-12 2002-03-14 Fuji Xerox Co., Ltd. Image output system, and device and method applicable to the same
US6607314B1 (en) 2000-10-03 2003-08-19 Hewlett-Packard Development Company, L.P. Apparatus for and method of updating a software routine
US20020067504A1 (en) 2000-12-06 2002-06-06 Xerox Corporation Method and apparatus for automatic upgrade of a product's printer driver
JP2003036152A (en) 2001-05-17 2003-02-07 Matsushita Electric Ind Co Ltd Information printing system
US7346917B2 (en) 2001-05-21 2008-03-18 Cyberview Technology, Inc. Trusted transactional set-top box
US7809807B2 (en) 2001-08-08 2010-10-05 Canon Kabushiki Kaisha Image forming system, image forming method, and server
US20030048473A1 (en) 2001-09-13 2003-03-13 Allan Rosen Printing device having a built-in device driver
JP2003233482A (en) 2002-02-12 2003-08-22 Matsushita Electric Ind Co Ltd Printing system
US7304758B2 (en) 2002-03-27 2007-12-04 Sharp Laboratories Of America, Inc. Dynamically updating a printer driver
US20030184782A1 (en) * 2002-03-27 2003-10-02 Perkins Gregory E. Printer driver configured to dynamically receive printer self-description
US8667104B2 (en) 2002-05-14 2014-03-04 Hewlett-Packard Development Company, L.P. Firmware/software upgrade alert method and apparatus
US20030231328A1 (en) * 2002-06-07 2003-12-18 Xerox Corporation Multiple printer driver
US7136941B2 (en) 2002-12-04 2006-11-14 Microsoft Corporation Print management architecture for computing devices having a set of filters functions wherein the functions are prevented from conflicting with one another
FR2849940B1 (en) 2003-01-09 2005-03-18 Orange France METHOD FOR MANAGING A DEVICE AND COMPUTER SYSTEM USING SUCH A METHOD
US20040179231A1 (en) 2003-03-11 2004-09-16 Savino Ronald F. Automated creation and prepress preparation of bleed tabs in printed documents
US20050012951A1 (en) 2003-07-18 2005-01-20 Madril Robert J. Printer driver management
US20050046886A1 (en) 2003-08-28 2005-03-03 Sharp Laboratories Of America, Inc. Direct printing component architecture for installed printers
US20050099650A1 (en) 2003-11-06 2005-05-12 Brown Mark L. Web page printer
JP4467955B2 (en) 2003-11-12 2010-05-26 キヤノン株式会社 Information processing device, peripheral device control system, peripheral device control method applied to information processing device, and program thereof
JP3922260B2 (en) 2004-02-13 2007-05-30 コニカミノルタビジネステクノロジーズ株式会社 Job ticket issuing apparatus, image forming apparatus, and image forming system
JP4360248B2 (en) 2004-03-29 2009-11-11 株式会社日立製作所 Print management system
JP2006065839A (en) 2004-07-30 2006-03-09 Canon Inc Information processing apparatus, print information processing method, and computer program
KR100618321B1 (en) 2004-11-20 2006-08-31 삼성전자주식회사 Firmware Upgrade Method of Image Forming Device Using Mobile Terminal
US7640295B2 (en) 2004-12-04 2009-12-29 Hewlett-Packard Development Company, L.P. Methods and apparatus for managing data flow within a network
US20070002368A1 (en) 2005-06-30 2007-01-04 Fatima Corona System and method for sending a stored scanned job to printers or group of printers from a multi-function peripheral device
JP4756988B2 (en) 2005-10-18 2011-08-24 キヤノン株式会社 Program, function information providing apparatus, and function information providing method
US7903267B2 (en) 2005-11-02 2011-03-08 Kyocera Mita Corporation Automatic installation system for printer driver, and program recording medium
JP2007158882A (en) * 2005-12-07 2007-06-21 Matsushita Electric Ind Co Ltd Voltage controlled oscillator
JP5441303B2 (en) 2006-01-20 2014-03-12 キヤノン株式会社 Information processing apparatus and information processing method
JP2007241661A (en) 2006-03-08 2007-09-20 Canon Inc Image forming apparatus and control method thereof
JP5025165B2 (en) 2006-05-12 2012-09-12 キヤノン株式会社 Printing system, control method, and program
US7821667B2 (en) 2006-08-10 2010-10-26 Microsoft Corporation Validation of print configuration documents
JP4870621B2 (en) 2006-09-15 2012-02-08 株式会社リコー Information processing apparatus, method, system, program, and recording medium thereof
JP4843444B2 (en) 2006-10-05 2011-12-21 株式会社リコー COMMUNICATION CONTROL DEVICE, INFORMATION PROCESSING DEVICE, COMMUNICATION CONTROL METHOD, AND COMMUNICATION CONTROL PROGRAM
US20090086259A1 (en) 2007-06-21 2009-04-02 Global Graphics Software Limited Method and system for providing backward compatibility for a new version of a page description language
US20090190150A1 (en) 2008-01-24 2009-07-30 Selvaraj Senthil K On-Demand Print Driver
JP5111278B2 (en) 2008-07-30 2013-01-09 キヤノン株式会社 Printing control apparatus, printing apparatus, printing control apparatus control method, printing apparatus control method, and program
US20100225958A1 (en) 2009-03-06 2010-09-09 Selvaraj Senthil K Approach For Printing To Web Services-Enabled Printing Devices
US8310706B2 (en) * 2009-07-31 2012-11-13 Ricoh Company, Ltd. Dynamic and real-time print schema documents

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005267088A (en) * 2004-03-17 2005-09-29 Fuji Xerox Co Ltd Peripheral equipment driver, peripheral equipment controller and method for updating peripheral equipment driver
JP2006168079A (en) * 2004-12-14 2006-06-29 Canon Inc Recording system and recording method thereof, image supply device and control method thereof, recording device and control method thereof, program, and storage medium
JP2006285870A (en) * 2005-04-04 2006-10-19 Canon Inc Print control apparatus, print control method, and program
JP2009032250A (en) * 2007-07-30 2009-02-12 Ricoh Co Ltd Data processing apparatus and recording medium for print server

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013061869A (en) * 2011-09-14 2013-04-04 Ricoh Co Ltd Information processor and program

Also Published As

Publication number Publication date
US8405853B2 (en) 2013-03-26
US20110026072A1 (en) 2011-02-03
JP5655402B2 (en) 2015-01-21

Similar Documents

Publication Publication Date Title
JP5655402B2 (en) Printing system
US8289551B2 (en) Approach for processing print data without a client print driver
JP4926735B2 (en) Network printing by driverless client
US8767226B2 (en) Printing system, control method, information processing apparatus, and computer-readable medium
US9811294B2 (en) Relay device, image forming apparatus, relay method, and non-transitory computer-readable recording medium encoded with relay program
JP4590457B2 (en) Documentless driver image processing method
JP2011034562A (en) Print system
US20100225958A1 (en) Approach For Printing To Web Services-Enabled Printing Devices
US20120170071A1 (en) Information processing apparatus, device information display method, and computer-readable storage medium
US7457839B2 (en) Selective rejection of access to parameters of an option application detachable from an embedded apparatus including web server function
US20180217788A1 (en) Information processing apparatus, storage medium, and method
US8526020B2 (en) Paper size support for a print system
JP4467955B2 (en) Information processing device, peripheral device control system, peripheral device control method applied to information processing device, and program thereof
JP2009116874A (en) How to manage print errors using a print agent
JP2008282406A (en) Reporting events from multiple WS-enabled devices
JP2010146559A (en) Method and apparatus for including security feature within document
JP2009255390A (en) Image forming apparatus, functional cooperation control method, and functional cooperation control program
JP4261203B2 (en) Information providing apparatus, information providing method, information providing system, and information providing program
WO2011055497A1 (en) Management apparatus and method therefor
EP1852748B1 (en) Image handling apparatus, image processing system, image process controlling method, and image process controlling program product
EP1821193B1 (en) Adaptive configuration of imaging devices
JP5272400B2 (en) Method, apparatus and computer program for dynamically adding a new service to an apparatus
JP2014170424A (en) Information processing system, job management device, and program
JP4787655B2 (en) Information processing apparatus, display control apparatus, information processing system, information processing method, display control method, information processing program, and display control program
JP2012135907A (en) Image forming apparatus, information processing apparatus, and information processing program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130523

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140212

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140218

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140404

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: 20141028

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141110

R151 Written notification of patent or utility model registration

Ref document number: 5655402

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees