JP5655402B2 - プリントシステム - Google Patents

プリントシステム Download PDF

Info

Publication number
JP5655402B2
JP5655402B2 JP2010158754A JP2010158754A JP5655402B2 JP 5655402 B2 JP5655402 B2 JP 5655402B2 JP 2010158754 A JP2010158754 A JP 2010158754A JP 2010158754 A JP2010158754 A JP 2010158754A JP 5655402 B2 JP5655402 B2 JP 5655402B2
Authority
JP
Japan
Prior art keywords
print
data
version
functions
devmode
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2010158754A
Other languages
English (en)
Other versions
JP2011034563A (ja
Inventor
シアオ ジェニン
シアオ ジェニン
ケイ セルヴァラジ センシル
ケイ セルヴァラジ センシル
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Publication of JP2011034563A publication Critical patent/JP2011034563A/ja
Application granted granted Critical
Publication of JP5655402B2 publication Critical patent/JP5655402B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1205Improving or facilitating administration, e.g. print management resulting in increased flexibility in print job configuration, e.g. job settings, print requirements, job tickets
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1224Client or server resources management
    • G06F3/1225Software update, e.g. print driver, modules, plug-ins, fonts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1229Printer resources management or printer maintenance, e.g. device status, power levels
    • G06F3/1231Device related settings, e.g. IP address, Name, Identification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • G06F3/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; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1229Printer resources management or printer maintenance, e.g. device status, power levels
    • G06F3/1232Transmitting printer device capabilities, e.g. upon request or periodically
    • 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)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Facsimiles In General (AREA)

Description

本発明は、一般にプリントシステムに関する。より詳細には、プリントデバイスへのプリントに関する。
このセクションに記述されているアプローチは、実行することが可能なアプローチを示しているが、必ずしも以前に考案されたか、あるいは実行されたアプローチとは限らない。したがって、特に明記しない限り、このセクションに記述されているいずれのアプローチに関しても、単にこのセクションに記述されていることだけをもって、従来技術であるとみなしてはならない。
[ウェブ・サービス]
ワールドワイド・ウェブ・コンソーシアム(W3C)は、ワールドワイド・ウェブのための基準を開発する国際的コンソーシアムである。W3Cは、「ウェブ・サービス」を、ネットワークの上で、マシンとマシンとのインターオペラブルなインタラクションをサポートするように設計されたソフトウェアシステムとして定義する。この定義は、多くの異なるシステムを対象とするが、共通の用法を持っている。この規定は、SOAP(Simple Object Access Protocol)のフォーマットによるXML(Extensible Markup Language)エンベロープを使用するサービス、WSDL(Web Services Description Language)を使用して記述されたインターフェースを持つサービスに用いられている。ウェブ・サービスによって、デバイス、およびアプリケーションは、いかなる人間も介在することなく、一つ以上のネットワークにおいて、通信することができる。そして、同時に、人間は、同じ統合されたプロトコル(例えばHTTP(Hyper Text Protocol))を使用して、一つ以上のネットワークを通じてこの種のデバイス、およびアプリケーションと通信することができる。
ウェブ・サービスを定める仕様は意図的にモジュール形式となっている。そして、その結果、全てのウェブ・サービスを定める唯一のドキュメントがない。その代わりに、状況、および技術に応じて、これを補完するための幾つかのコア仕様が存在する。共通コア仕様としては、SOAP、WSDL、WS−Discovery、WS−MetadataExchange、WS−Addressing、およびWS−Securityがある。異なる仕様は、異なるタスクおよび機能を規定する。
SOAPは、XMLベースの、拡張性のあるメッセージ・エンベロープ形式であり、重要なプロトコル(例えばHTTP、およびSMTP(Simple Mail Transfer Protocol))と親和性がある。XMLを使用して、SOAPは、メッセージにおいてどのように書式が設定されなければならないかについて定めている。これによって、それらのメッセージの受け取り側(デバイス、およびアプリケーション)がそれらのメッセージを解釈することができるよう、それらのメッセージは書式の設定がなされる。SOAPは、例えば、リモート・プロシージャ・コールを実行するために使用することができる。
WSDLは、ウェブ・サービス・インターフェースを記述するXMLフォーマットである。そして、これは、特定のプロトコルに結合するインターフェースの詳細を規定する。WSDLは、通常はサーバ、およびクライアント・コードを生成するため、および構成(コンフィギュレーション)のために用いられる。
[WSDデバイス]
一つ以上のウェブ・サービスをホストするデバイスは、Devices Profile for Web Services(DPWS)仕様もインプリメントする。この種のデバイスは、Web Service for Devises(WSD)と呼ばれる。WSDデバイスの例としては、スキャナ、プリンタ、複写機、ファックス、アーカイブ処理デバイス、および多機能周辺装置(MFP)が提供されるが、これに限られるものではない。多機能周辺装置(MFP)は、複数のサービス(例えば、プリント、コピー、およびスキャンサービス)を提供する。
DPWSは、デバイスにおける安全なウェブ・サービス・メッセージ送信、ディスカバリ、ディスクリプション、およびイベントを可能にするために、インプリメンテーション制約の最小のセットを定める。DPWS仕様は、デバイスが二種類のサービスを提供する以下のアーキテクチュアを定める:すなわち、ホスティングサービスおよびホステッド(hosted)サービスである。ホスティングサービスは、デバイスに直接関連づけられ、かつデバイスディスカバリ処理において重要な役割を果たす。ホステッドサービスは、大部分は機能的で、そしてディスカバリのためのホスティングデバイスに依存する。
DPWSは、以下のコア・ウェブ・サービス標準を基にしている:WSDL1.1、XML Schema、SOAP1.2、WS−Addressing、およびWS−MetadataExchange、WS−Transfer、WS−Policy、WS−Security、WS−Discovery、およびWS−Eventingを更に有する。一つ以上のウェブ・サービス標準をインプリメントしたデバイスは、本願明細書において、ウェブ・サービス対応デバイスと称される。
[サービス仕様]
一部のウェブ・サービスは、特定のサービス仕様に合致する。サービス仕様(例えばWSD Print Service仕様)は、ウェブ・サービスがそのサービス仕様に準拠するためにインプリメントしなければならないAPIの最小限のセットを記述する。例えば、WSDプリントサービス仕様は、以下のものを定める:
(a)プリントウェブ・サービスが処理可能であるオペレーションのセット(例えば、WSDLファイルに記述される)、および
(b)プリントウェブ・サービスが生成するイベント。
WSDスキャナサービス仕様は以下のものを定める:
(a)スキャン・ウェブ・サービスが処理可能であるオペレーションのセット、および
(b)スキャン・ウェブ・サービスが生成するイベント。
サービス仕様は、W3Cまたは他のウェブ・サービス標準化機関(例えば、オアシス:Organization for the Advancement of Structured Information Standard)によって標準化され得る。
[プリントデバイスへのプリント]
ユーザが電子ドキュメントをプリントデバイスにプリントしたい場合、ユーザのクライアント・デバイスのプリントサブシステムは、アプリケーションプログラムによって生成されたアプリケーションデータを処理し、プリントデータを生成する。プリントデータは、プリントデバイスによって電子ドキュメントをプリントするのに必要な全ての情報を含む。例えば、ユーザは、PC上のワードプロセッシングアプリケーションを使用して、電子ドキュメントを作成する。ユーザは、それからワードプロセッシングアプリケーションのプリントオプションを選び、電子ドキュメントが特定のプリンタにプリントされるようリクエストする。PC上のプリントサブシステムは、特定のプリンタでサポートされるフォーマットのプリントデータを生成するために、ワードプロセッシングアプリケーションによって生成されたアプリケーションデータを処理することによって、このリクエストを処理する。プリントサブシステムは、それから特定のプリンタにプリントデータを送る。通常、プリントデータは、プリントデバイスによって認識されるプリントジョブの一部として、プリントデバイスに送信される。
従来、プリントデータを生成するためには、目的のプリントデバイスに特有なプリントドライバが使用されている。すなわち、各々のプリントドライバは、プリントデータを目的のプリントデバイスによってサポートされるフォーマットに変換する。したがって、クライアント・デバイスが、特定のプリントデバイスで正しくプリントするためには、そのクライアント・デバイスは、特定のプリントデバイスのためのプリントドライバをインストールしておく必要がある。このアプローチにおける課題の1つは、プリントドライバは目的のプリントデバイスのための最新のものでなければならないということである。プリントデバイスの構成が変更された場合、新たなプリントドライバが生成されなければならず、かつ多数のユーザに配信されなければならない。プリントデバイス製造業者はダウンロードのためのそれらのウェブサイトに利用できる最新のプリントドライバを提供することを試みる。しかしながら、多くのユーザは最新のドライバのための製造業者のウェブサイトをチェックすることを知らない。さらにまた、多くのプリントドライバはオペレーティングシステムを開発する会社によって、またはプリントデバイス製造業者によってデジタル的に認証されなければならない。そして、これは時間がかかり、かつ高価となり得る。プリントドライバに対するいかなる変更も、通常はデジタル的な再認証を必要とする。
[DEVMODE]
DEVMODEは、Windows(登録商標)スプール・システムがプリントデータを処理するのに使用する基本的なデータ構造体である。DEVMODEは、プリントジョブの処理の一部として、(ユーザによって選ばれたおよび/またはデフォルト設定としてセットされた)デバイス設定を含む。Windowsアプリケーションからプリントジョブを作成するために、ユーザが特定のプリントデバイスで現在サポートされる多くの機能に係るさまざまなオプションを選ぶことができるよう、ユーザインターフェースがユーザに示される。アプリケーションは、DEVMODE構造体にユーザの選択を保存する。アプリケーションは、それから特定のプリントデバイスのプリントドライバに、DEVMODE構造体を送る。プリントドライバは、DEVMODE設定を解釈し、かつ特定のプリントデバイスによって受け入れられるフォーマットに、プリントデータをレンダリングする。
従来のDEVMODE構造体は、プリントドライバの範囲内でハードコードされる静的2進データ構造体である。新規なデバイス機能がプリントデバイス(あるいはウェブ・サービス対応プリントデバイス)にプラグイン(または付加)された場合であって、かつこの新規なデバイス機能が対応するプリントドライバに定められない場合、新規なデバイス機能はプリントする際に使用することができない。この理由は、プリントドライバが新機能を含むためにDEVMODEサイズを自動的に拡張することができないためである。
[概要]
本技術は、プリントデバイスにプリントするために提供される。特に、プリントデバイスは、ウェブ・サービス対応プリントデバイスや、通常のプリントデバイスでも良く、後述に説明するプリントデバイス能力データを提供できればよい。ウェブ・サービス対応プリントデバイスであることが好ましいが、これに限らない。実施例において、クライアント・デバイスで実行されるプリントドライバは、ウェブ・サービス対応プリントデバイスから、ウェブ・サービス対応プリントデバイスでサポートされる複数の最新の機能とオプションとを特定するプリントデバイス能力データを受信する。プリントデバイス能力データの受信に応答して、プリントドライバは、第1のバージョンのDEVMODEデータ構造体から、第2のバージョンのDEVMODEデータ構造体を生成する。第1のバージョンは、ウェブ・サービス対応プリントデバイスで以前にサポートされた第1の複数の機能を示す。第2のバージョンは、ウェブ・サービス対応プリントデバイスで最新にサポートされる第2の複数の機能を示す。第1の複数の機能は、第2の複数の機能とは異なる。第2のバージョンのデータの第1の部分は、バイナリフォーマットで記述され、そして第2のバージョンの第2の部分は、XMLで記述される。この第2の部分は、特定のプリント機能、およびプリントデバイス能力データにおいて示される特定のプリント機能のための一つ以上のオプションを示す。ユーザインターフェースは、DEVMODEデータ構造体の第2のバージョンに基づいて生成される。一つ以上のユーザ選択に応答して、オプションが第2の複数の機能のセットの機能の各々の機能に対して選ばれたことを示す特定の第3のバージョンのDEVMODEデータ構造体が生成される。このプリントドライバは、それから、少なくともこの第3のバージョンのDEVMODEデータ構造体に基づいてプリントジョブ・チケットを生成してもよい。このプリントドライバによって、プリントデータ、およびプリントジョブ・チケットがウェブ・サービス対応プリントデバイスに送信される。
本発明は、例示として説明され、これは限定するものではない。添付の図面において、同じ参照番号は類似した要素に関連する。
このアプローチは、プリントデバイス、特に好適なのはウェブ・サービス対応プリントデバイスの最新の機能とオプションとを反映する動的に同期されたDEVMODE構造体を可能とする。デバイス機能のいかなるものも、それが変更されるときはいつでも、例えば新規なデバイス機能が付け加えられたり、あるいはデバイス機能が取り除かれたりした場合にイベントが生成された場合、プリントドライバは通知を受けることが可能である。したがって、ユーザは、常にウェブ・サービス対応プリントデバイスでサポートされる最新の機能に基づいて、プリントジョブを開始することができる。他の効果は、DEVMODE構造体の動的部分がアプリケーションプログラムによって読み込み可能であるということである。DEVMODE構造体の動的部分が読み込み可能でない場合(例えば動的部分がバイナリフォーマットである場合)、アプリケーションプログラムは動的部分において示されるいかなる新規なデバイス機能も読み込めず、かつ適切に解釈することができないだろう。例えば、新規な孔あけパンチ機能がプリントデバイスに付加される場合であって、かつこの新機能が二進数のナンバー30にマッピングされている場合、アプリケーションプログラムが二進数のナンバー30が何を示すかがわからないため、アプリケーションプログラムは新規な孔あけパンチ機能を示すことが可能ではないだろう。
本発明の一実施例におけるプリントデバイスにプリントするためのアプローチを示すフローチャートである。 本発明の一実施例におけるプリントの構成を例示するブロック図である。
DEVMODEデータ構造体の異なる部分を表すブロック図である。
本発明の一実施例において、プリンタ・ディスクリプション・データ、およびDEVMODEデータ構造体の関係を示すブロック図である。
本発明の一実施例において、DEVMODEデータ構造体が更新される方法を示すブロック図である。
本発明の一実施例において、DEVMODEデータ構造体が生成されるかまたは更新される少なくとも2つのシナリオを示すフローチャートである。
本発明の一実施例において、新規なデバイス機能に基づいたユーザインターフェースを示すブロック図である。
本発明の一実施例において、新規なデバイス機能、および対応するオプションに基づいてDEVMODEデータ構造体を更新するための方法を示すシーケンス図である。
本発明の実施例がインプリメントされ得るコンピュータシステムを示すブロック図である。
[詳細な説明]
以下の記載では、説明のため、本発明の完全な解釈を提供するために、多くの具体的な詳細を示す。なお、本発明は、これらの具体的な詳細が無くても、実施し得ることは明らかである。他の例において、周知の構造、およびデバイスは、本発明を不必要に不明瞭にすることを避けるために、ブロック図形式で示される。
I. 概要
II. プリントシステムアーキテクチャ
III.プリンタ・ディスクリプション・データの生成
IV. DEVMODEデータ構造体
V. DEVMODEの更新
VI. インプリメンテーション・メカニズム
I.概要
ウェブ・サービス対応プリントデバイスにプリントするためのアプローチが提供される。プリントドライバは、例えば、WSD通信プロトコルを使用して、ウェブ・サービス対応プリントデバイスから読み出されるプリントデバイス能力データで特定される機能の新規なセットに基づいてDEVMODE構造体を生成(またはアップデート)する。新機能とオプションとは、DEVMODE構造体の特定のサブ部分にXMLデータとして保存される。アプリケーションプログラムは、後に、DEVMODE構造体にアクセスし、そして、ユーザがどの機能とオプションとを選んだかを示すために、DEVMODE構造体のそのコピーを変更してもよい。この変更されたDEVMODE構造体はプリントドライバに引き継がれ、そして、これは、少なくとも変更されたDEVMODE構造体に基づいてプリントジョブ・チケットを生成する。プリントドライバによって、プリントジョブ・チケット、およびプリントデータが、ウェブ・サービス対応プリントデバイスに、処理のために送信される。実施例は、インストールされた機能とオプションとの変更が発生したときを知らせるイベント(ウェブ・サービス対応プリントデバイスによって生成される)を受信することを予約しているプリントドライバを含む。プリントドライバは、この種のイベントに応答して、DEVMODE構造体を更新するよう構成されている。
このアプローチは、ウェブ・サービス対応プリントデバイスの最新の機能とオプションとを反映する動的に同期されたDEVMODE構造体を可能とする。デバイス機能のいかなるものも、それが変更されるときはいつでも、例えば新規なデバイス機能が付け加えられたり、あるいはデバイス機能が取り除かれたりした場合にイベントが生成された場合、プリントドライバは通知を受けることが可能である。したがって、ユーザは、常にウェブ・サービス対応プリントデバイスでサポートされる最新の機能に基づいて、プリントジョブを開始することができる。他の効果は、DEVMODE構造体の動的部分がアプリケーションプログラムによって読み込み可能であるということである。DEVMODE構造体の動的部分が読み込み可能でない場合(例えば動的部分がバイナリフォーマットである場合)、アプリケーションプログラムは動的部分において示されるいかなる新規なデバイス機能も読み込めず、かつ適切に解釈することができないだろう。例えば、新規な孔あけパンチ機能がプリントデバイスに付加される場合であって、かつこの新機能が二進数のナンバー30にマッピングされている場合、アプリケーションプログラムが二進数のナンバー30が何を示すかがわからないため、アプリケーションプログラムは新規な孔あけパンチ機能を示すことが可能ではないだろう。
図1は、本発明の一実施例におけるプリントデバイスにプリントするためのアプローチを示すフローチャートである。ステップ102において、プリントドライバがクライアント・デバイスにおいて実行され、ウェブ・サービス対応プリントデバイスから、プリントデバイス能力データを受け取る。プリントデバイス能力データは、ウェブ・サービス対応プリントデバイスで現在サポートされる複数の機能とオプションとを特定する。
ステップ104において、プリントドライバは、XMLで、プリントデバイス能力データで示される特定のデバイス機能を示すDEVMODEデータ構造体を生成する。DEVMODEデータ構造体は、少なくともプリントデバイス能力データにまたはプリンタ・ディスクリプション・データに基づいて生成されてもよい(詳細は後述する)。プリントドライバは、少なくともプリントデバイス能力データに基づいて、プリンタ・ディスクリプション・データを生成する。
ステップ106において、ユーザインターフェースが、少なくともDEVMODEデータ構造体に基づいて生成される。ユーザインターフェースは、ウェブ・サービス対応プリントデバイスで現在サポートされる機能とオプションとを示す。プリントドライバあるいはアプリケーションプログラムは、ユーザインターフェースを生成する。
ステップ108において、アプリケーションプログラムあるいはプリントドライバによって、ジョブ設定(またはデフォルト設定)バージョンのDEVMODE構造体が、生成される。ジョブ設定バージョンのDEVMODE構造体は、どの機能とオプションとが選択されたかを示す。選択された機能とオプションとは、デフォルト選択および/またはユーザからの選択であってもよい。
ステップ110において、プリントドライバは、少なくともジョブ設定バージョンのDEVMODE構造体に基づいて、プリントデータ、およびプリントジョブ・チケットを生成する。
ステップ112において、プリントドライバによって、プリントデータ、およびプリントジョブ・チケットが、ウェブ・サービス対応プリントデバイスに送信され、処理される。
II.プリントシステムアーキテクチャ
図2は、プリント構成200を例示するブロック図である。プリント構成200は、クライアント・デバイス202、およびウェブ・サービス対応プリントデバイス204を含む。これらは、ネットワーク206で通信接続されている。ネットワーク206は、クライアント・デバイス202およびウェブ・サービス対応プリントデバイス204間のデータの交換を提供する媒体またはメカニズムのいかなるものによってインプリメントされてもよい。ネットワーク206の例としては、ローカル・エリア・ネットワーク(LAN)、ワイド・エリア・ネットワーク(WAN)、イーサネット(登録商標)またはインターネットのようなネットワーク、または一つ以上の地上、衛星、無線リンクが挙げられるが、これに限定されるものではない。
ウェブ・サービス対応プリントデバイス204は、ウェブ・サービス対応プリントサービス208を含む。クライアント・デバイス202は、ユーザインターフェース210、アプリケーションプログラム212、プリントドライバ・インストーレイション・アプリケーション214、プリントドライバ216(ユーザインターフェース(UI)モジュール、およびレンダリングモジュール220を含む)、ポートモニタ、およびウェブ・サービス・デバイス(WSD)アプリケーション・プログラム・インターフェース(API)モジュール222、スプーラ224、および記憶装置226、を有する。ストレージ226は、プリントデバイス能力データ228、プリントデータ230、およびプリントジョブ・チケット232を保存する。記憶装置は、また、プリントドライバ記憶装置234、およびプリンタ・ディスクリプション・データ238とデフォルトプリントチケット240とを保存するレジストリ236を含む。これらの要素の各々は以下において簡単に説明し、その後に詳細に説明する。
ユーザインターフェース210は、情報をユーザに提示しかつユーザ入力を許容するメカニズムおよび/または媒体である。アプリケーションプログラム212は、データをプリントする任意のタイプのプログラムであってもよい。アプリケーションプログラム212の実例としては、ワードプロセッシングプログラム、スプレッドシートプログラム、電子メール・クライアントなどが挙げられるが、これに限定されるものではない。説明のために一つのアプリケーションプログラム212が図2に示されている。なお、クライアント・デバイス202はいかなる数のアプリケーションプログラムを有していてもよい。
プリント・ドライバ・インストーレーション・アプリケーション214は、プリントドライバ216のインストーレーションを実行する。これには、プリントドライバ216に必要な、データまたはファイルのいかなるものもインストールすることを含んでもよい。プリントドライバ216のインストールには、他のソースおよび場所からのデータおよび/またはファイルを含んでもよい。これは、インプリメンテーションに依存し、あるいはオペレーティングシステムによってリクエストされる構成の実行に依存する。
ウェブ・サービス対応プリントデバイス204にプリントするためのプリントデータを生成するために、プリントドライバ216は、アプリケーションプログラム212と対話(interact)する。UIモジュール218は、グラフィカル・ユーザーインターフェース・データを生成する。これは、アプリケーションプログラム212によって処理したときに、ユーザインターフェース210によってグラフィカルユーザーインターフェースをユーザに提供する。これによって、ユーザは、特定の電子ドキュメントをプリントするときに、使用される機能とオプションとを選ぶ。レンダリングモジュール220は、アプリケーションプログラム212によって生成されるアプリケーションデータを処理し、プリントデータを生成する。これは、ウェブ・サービス対応プリントデバイス204によって処理したときに、ウェブ・サービス対応プリントデバイス204でプリントされるプリントデータを反映した電子ドキュメントのプリントされたバージョンである。プリントドライバ216は、以下に更に詳細に記載されているさまざまな他の機能を実行する。
ポートモニタおよび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リクエストを送る。
プリントデバイス能力データ228は、ウェブ・サービス対応プリントデバイス204の最新の機能とオプションと(すなわち各々の機能のための許容値)を特定するデータである。プリントデバイス機能の実例としては、用紙トレイ、両面プリント、ステープル、綴じ孔あけ、などが挙げられるが、これに限定されるものではない。各々の機能は、一つ以上のオプション(すなわち値)を有する。一部の機能は、2つのオプションだけを含む場合もあり得る。例えば、両面プリントユニットは2つのオプションを有し、例えば「Installed」または「NotInstalled」がある。他の機能(例えば用紙サイズ)は、例えば「A4」、「legal」、「81/2×11」等多くのオプションがある。クライアント・デバイス202に保存されているプリントデバイス能力データ228は、いかなる数のウェブ・サービス対応プリントデバイスのためのプリントデバイス能力データを含んでもよい。
プリントデータ230はプリントドライバ216によって生成されるデータである。そして、少なくとも、アプリケーションプログラム212によって生成されるアプリケーションデータに基づくものである。アプリケーションプログラム212は、ウェブ・サービス対応プリントデバイス204によって処理されると、プリントされるプリントデータ230で示される電子ドキュメントのプリントされたバージョンを生じさせる。プリントジョブ・チケット232は、プリントデータ230がどのようにウェブ・サービス対応プリントデバイス204で処理されるかを示す一つ以上のパラメータを特定する。プリントデータ230は複数のプリントジョブのためのデータを含んでもよい。そしてプリントジョブ・チケット232は複数のプリントジョブ・チケットを含んでもよい。
プリントドライバ記憶装置234は、プリントデバイスでプリントするために、クライアント・デバイスによって使用される一つ以上のプリントドライバを含む。レジストリ236は、プリンタ・ディスクリプション・データ238、デフォルトプリントチケット240、およびDEVMODEデータ構造体242(以下「DEVMODE構造体242」)を保存するための記憶装置226の領域である。レジストリ236は、クライアント・デバイス202上のオペレーティングシステムの管理下である記憶装置226の記憶保護域であってもよい。デフォルトプリントチケット240は、ウェブ・サービス対応プリントデバイス204でサポートされる機能のためのデフォルトオプションを示すデータを含む。デフォルトプリントチケット240はいかなる数のプリントデバイスのデフォルトプリントチケットを含んでもよい。同様に、DEVMODE構造体242は、いかなる数のプリントデバイスのPDEVMODEデータ構造体を含んでもよい。
プリントドライバ216は、少なくともプリントデバイス能力データ228に基づいてプリンタ・ディスクリプション・データ238を生成する。プリンタ・ディスクリプション・データ238は、現在ウェブ・サービス対応プリントデバイス204でサポートされる一つ以上の機能とオプションとのための表示データを特定する。プリントドライバ216は、グラフィカルユーザーインターフェース・データを生成するため、および、プリントデータ230および/またはプリントジョブ・チケット232を生成するために、プリンタ・ディスクリプション・データ238を使用する。
III.プリンタ・ディスクリプション・データの生成
本願明細書において前述したように、UIモジュール218は、プリンタ・ディスクリプション・データ238を生成し、かつ、レジストリ236に保存するように構成され、そして、WSDプリントデバイス204から受け取られるデフォルトプリントチケットを保存するように構成される。GUIデータを生成するために、プリンタ・ディスクリプション・データ238がUIモジュール218によって使用される。GUIデータは、アプリケーションプログラム212によって処理されたときに、ユーザインターフェース210上に、GUIを生じさせる。ユーザインターフェース210は、WSDプリントデバイス204でサポートされる機能とオプションとを表示し、特定の電子ドキュメントをプリントするときに、ユーザに対して使用する機能とオプションとを選択させる。
一般にプリンタ・ディスクリプション・データ238を生成するための処理は、WSDプリントデバイス204のためのプリントデバイス能力データ228からの情報と、基本的なインストールされたプリントドライバの一部として提供されたコア・マッピング・データからのデータとを結合することを含む。
本発明の一実施例によれば、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で示されるように、この機能がコア・マッピング・データにおいて定められると更に仮定する。
Figure 0005655402
表1で指示したように、機能InputTray4は、「Installed」および「NotInstalled」を含む2つのオプションを有する。この機能および各オプションは、特定のPDLKeyword値、および特定のrcNameID値をいずれも有する。UIモジュール218は、それを読み出し、かつプリンタ・ディスクリプション・データに保存する。
プリントデバイス能力データ228の特定の機能がコア・マッピングファイルにおいて定められていない場合、この特定の機能は通常は新機能である。この状態においては、UIモジュール218は、プリンタ・ディスクリプション・データ238のためのPDLkeyWord値を生成するために、プリントデバイス能力データ228から、特定の機能の機能名を使用する。加えて、UIモジュール218は、プリンタ・ディスクリプション・データ238の特定の機能のためのDisplayName値を含む。複数言語のサポートを提供するために、複数のDisplayName値が、各々の機能および/またはオプションのためのプリンタ・ディスクリプション・データ238に含まれてもよい。表示名の値は、UIモジュール218によって生成されたGUIデータに含まれ、そしてアプリケーションプログラム212に与えられる。前の例を参照すると、「InputTray4」という名前をつけられた機能がコア・マッピング・データにおいて定められていないと仮定する。下記の表2で示されるように、この機能がプリントデバイス能力データ228において定められると更に仮定する。
Figure 0005655402
表2で指示したように、プリントデバイス能力データ228のInputTray4の機能の定義に含まれるPDLKeyword値またはrcNameID値は、ここには存在しない。この例では、PDLKeyword値として、機能名「InputTray4」はプリンタ・ディスクリプション・データ238に保存される。また、UIモジュール218は、機能、および各々のオプションのためのDisplayName値を読み出して、かつプリンタ・ディスクリプション・データ238にDisplayName値を保存する。
IV.DEVMODEデータ構造体
図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のいずれの部分も、デバイス機能が利用できないことを示すために更新することは可能ではない。
部分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>
もし、部分330に示されたデバイス機能がウェブ・サービス対応プリントデバイス204で利用できなくなった場合、部分330は、そのデバイス機能を削除して更新されるか、またはそのデバイス機能が現在利用可能でないことを示すよう更新される。
図4は、本発明の一実施例において、プリンタ・ディスクリプション・データ238、およびDEVMODE構造体242の関係を表すブロック図である。DEVMODE構造体242は、ウェブ・サービス対応プリントデバイス204から、少なくともプリントデバイス能力データ228またはプリンタ・ディスクリプション・データ238に基づき、生成される。図4に示すように、プリンタ・ディスクリプション・データ238は、310または320の部分のいずれにも定められていない「孔あけ」(「HolePunch」)と称する新規なデバイス機能を有する。この新規なデバイス機能は、少なくとも3つのオプションを含む。すなわち、「OFF」、「Left2」および「Right2」である。「Left2」および「Right2」オプションは、孔の数、および位置を示す。ユーザ選択(またはデフォルト選択)の後、修正されたDEVMODE構造体242は、選択された新規なデバイス機能「HolePunch」の値は「OFF」であることを示す。
図4は、DEVMODE構造体242を実装(すなわち、オプション選択されたバージョンを生成)するための2つのアプローチのうちの1つを表す。第1のアプローチにおいて(上述したように)、UIモジュール218は、プリンタ・ディスクリプション・データ238に基づいて、グラフィカルユーザーインターフェース・データを生成する。グラフィカルユーザーインターフェース・データは、アプリケーションプログラム212によって処理されたときに、電子ドキュメントをプリントする際に使用される機能とオプションとを選ぶためにユーザインターフェース210上のグラフィカルユーザーインターフェースをユーザに提供する。アプリケーションプログラム212は、ユーザの選択を(およびいかなるデフォルトをも)、DEVMODE構造体242のジョブ設定バージョンを生成するために、DEVMODE構造体242に保存する。
第2のアプローチにおいては(図4には図示せず)、アプリケーションプログラム212は、リクエストを行うユーザに示すユーザインターフェース210上のGUIを生成するために、DEVMODE構造体242にアクセスする。アプリケーションプログラム212は、プリントドライバ216からDEVMODE構造体242にリクエストすることによって、DEVMODE構造体242を直接または間接的に、アクセスしてもよい。アプリケーションプログラム212は、ジョブ設定バージョンを作成するために、ユーザ(および/またはデフォルト)の選択をDEVMODE構造体242に保存する。アプリケーションプログラム212は、更なる処理のために、プリントドライバ216に、DEVMODE構造体242のジョブ設定バージョンを渡す。
V.DEVMODE更新
図5は、本発明の一実施例によって、DEVMODEデータ構造体がどのように更新されるかを示すブロック図である。ステップ1において、ウェブ・サービス対応プリントデバイス204は、プリント機能またはオプションの変更を示すイベントを生成する。これは、プリント機能またはオプションの削除、追加または変更を含み得る。ポートモニタおよびWSD APIモジュール222は、このイベントの受信を予約しており、かつこのイベントを受信する。例えば、ポートモニタおよびWSD APIモジュール222は、イベントを特定するSOAPメッセージの形でイベント通知を受信してもよい。
ステップ2において、ポートモニタおよびWSD APIモジュール222は、イベント通知を受信し、かつスプーラ224に通知する。ステップ3において、スプーラ224は、プリントドライバ216に通知する。ステップ4において、プリントドライバ216は、(ステップ5のスプーラ224を経て)、ポートモニタおよびWSD APIモジュール222に、ウェブ・サービス対応プリントデバイス204のデバイス能力を求めるリクエストを送る。リクエストは、例えば、ウェブ・サービス対応プリントデバイス204のデバイス能力データを求めるリクエストを含むSendRecvBiDiDataファンクションへのコールによってインプリメントされてもよい。この状態では、SendRecvBiDiDataファンクションは、ポートモニタおよびWSD APIモジュール222をコールする。
ステップ6において、ポートモニタおよびWSD APIモジュール222は、SOAPエンベロープの形で、少なくとも、プリントドライバ216から受け取られたリクエストに基づき、SOAPリクエストを生成し、SOAPリクエストをウェブ・サービス対応プリントデバイス204に転送する。
ステップ7において、ウェブ・サービス対応プリントデバイス204は、ウェブ・サービス対応プリントデバイス204のデバイス能力データを含むSOAPレスポンスを(SOAPエンベロープの形で)生成し、かつポートモニタおよびWSD APIモジュール222に送る。ウェブ・サービス対応プリントデバイス204のデバイス能力データは、現在ウェブ・サービス対応プリントデバイス204でサポートされる機能とオプションとを特定する。特定のインプリメンテーションに依存して、SOAPレスポンスのデバイス能力データは、ウェブ・サービス対応プリントデバイス204に利用できるデバイス能力データの全て、またはいかなる部分を含むものでもよい。例えば、イベント通知に応答して読み出されるデバイス能力データは、ウェブ・サービス対応プリントデバイス204に利用できるデバイス能力データの全てを含んでもよい。あるいは、機能またはオプションの変更に対応するデバイス能力データだけが、ウェブ・サービス対応プリントデバイス204から読み出されてもよい。加えて、デバイス能力データは、いかなる数のSOAPリクエスト、およびレスポンスを使用して読み出されてもよい。SOAPレスポンスは、また、ウェブ・サービス対応プリントデバイス204のためのデフォルトオプションを特定するデフォルトプリントチケットを含んでもよい。
ステップ8において、ポートモニタおよびWSD APIモジュール222は、(ステップ9のスプーラ224を経て)プリントドライバ216に、ウェブ・サービス対応プリントデバイス204のデバイス能力データを含むレスポンスを送る。この場合において、ポートモニタおよびWSD APIモジュール222が、SOAPレスポンスからXML情報を抽出して、抽出された情報を含むレスポンスを生成してもよい。リクエストがSendRecvBiDiDataファンクションのコールを使用してインプリメントされた場合、ファンクションコールに対するレスポンスは、ウェブ・サービス対応プリントデバイス204からのデバイス能力データを含む。
ステップ10において、DEVMODE生成モジュール219は、少なくとも、ウェブ・サービス対応プリントデバイス204から読み出されるデバイス能力データから生成されるプリンタ・ディスクリプション・データ238に基づいてDEVMODE構造体242を生成する。DEVMODE生成モジュール219は、また、本願明細書において前述したように、DEVMODE構造体242をレジストリ236に保存する。あるいは、DEVMODE生成モジュール219は、ウェブ・サービス対応プリントデバイス204でサポートされる機能および/またはオプションの変更を反映するように、既存のDEVMODE構造体242の更新を行ってもよい。
DEVMODE生成モジュール219が既存のDEVMODE構造体を更新する実施例において、もし、プリンタ・ディスクリプション・データ238で示される特定のプリント機能(例えば、孔あけ)がDEVMODE構造体242のパブリックの部分において定められない場合、DEVMODE構造体242のプライベートな部分が、その特定のプリント機能を示すために更新されてもよい。
ステップ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は、オプション選択バージョンに基づいてプリントジョブ・チケットを生成する。
あるいは、ステップ11−13に関連して、アプリケーションプログラム212は、プリントドライバ216にGUIを生成することをリクエストする。これに応答して、UIモジュール218は、DEVMODE構造体242に基づいてGUIを生成する。ユーザは、GUIに表示される一つ以上の機能オプションを選ぶ。UIモジュール218は、ユーザの(およびいかなるデフォルトの)選択をもDEVMODE構造体242のオプション選択バージョンに格納する。プリントドライバ216は、それからオプション選択バージョンに基づいてプリントジョブ・チケットを生成する。このシナリオにおいて、オプション選択バージョンは、DEVMODE構造体242のジョブ設定バージョンである。
関連した実施例において、DEVMODE構造体242のオプション選択バージョンは、DEVMODE構造体242のデフォルト設定バージョンである。例えば、ユーザは、プリントジョブを作成するときはいつでも、ユーザは特定の設定を見たくなるものである。したがって、ユーザは、特定の機能とオプションとを選び、かつこの選択が、DEVMODE構造体242のデフォルト設定として保存される。その後、ユーザがプリントジョブを作成するときに、アプリケーションプログラム212またはUIモジュール218は、DEVMODE構造体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の最新版を生成する。
図7は、本発明の一実施例によって、新規なデバイス機能に基づいたユーザインターフェース700を表すブロック図である。各々のデバイス機能は通常は複数のオプションに関連づけられる。そして、その一つがプリントジョブの機能のために選ばれる。この例では、新規なデバイス機能は「HolePunch」である。UI700の中で「Punch」として描かれている。この新規なデバイス機能に関連づけられたさまざまなオプションは、「OFF」、「Left2」、「Top2」、「Right2」、「Left3」、「Top3」、「Right3」および「Left4」である。
図8は、本発明の一実施例による、新規なデバイス機能および対応するオプションに基づいてDEVMODE構造体242を更新するための方法を表すシーケンス図である。ステップ1において、ウェブ・サービス対応プリントデバイス204は、プリント機能またはオプションの変更を示すイベントを生成する。このことは、デバイス機能またはオプションの削除、追加または変更を含んでもよい。ポートモニタおよびWSD APIモジュール222は、このイベントを受信することを予約しており、かつイベントを受信する。例えば、ポートモニタおよびWSD APIモジュール222は、イベントを特定するSOAPメッセージの形で、イベント通知を受信してもよい。
ステップ2において、ポートモニタおよびWSD APIモジュール222は、イベント通知を受信し、かつスプーラ224に通知する。ステップ3において、スプーラ224は、UIモジュール218に通知する。ステップ4において、UIモジュール218は、ポートモニタおよびWSD APIモジュール222に(ステップ5のスプーラ224を経て)、ウェブ・サービス対応プリントデバイス204のデバイス能力を求めるリクエストを送る。リクエストは、例えば、ウェブ・サービス対応プリントデバイス204のデバイス能力データを求めるリクエストを含む、SendRecvBiDiDataファンクションへのコールによってインプリメントされてもよい。この状態では、SendRecvBiDiDataファンクションは、ポートモニタおよびWSD APIモジュール222にコールを送る。
ステップ6において、ポートモニタおよびWSD APIモジュール222は、少なくとも、UIモジュール218から受け取ったリクエストに基づき、SOAPエンベロープの形で、SOAPリクエストを生成し、SOAPリクエストをウェブ・サービス対応プリントデバイス204に転送する。
ステップ7において、ウェブ・サービス対応プリントデバイス204は、(SOAPエンベロープの形で)ウェブ・サービス対応プリントデバイス204のデバイス能力データを含むSOAPレスポンスを生成し、かつポートモニタおよびWSD APIモジュール222に送る。ウェブ・サービス対応プリントデバイス204のデバイス能力データは、現在ウェブ・サービス対応プリントデバイス204でサポートされる一つ以上の機能とオプションとを特定する。特定のインプリメンテーションに依存して、SOAPレスポンスのデバイス能力データは、ウェブ・サービス対応プリントデバイス204に利用できるデバイス能力データのいかなる部分、または全てを含んでもよい。例えば、イベント通知に応答して読み出されるデバイス能力データは、ウェブ・サービス対応プリントデバイス204に利用できるデバイス能力データの全てを含んでもよい。あるいは、機能またはオプションの変更に対応するデバイス能力データだけが、ウェブ・サービス対応プリントデバイス204から読み出されてもよい。加えて、デバイス能力データは、いかなる数のSOAPリクエスト、およびレスポンスを使用して読み出されてもよい。
ステップ8において、ポートモニタおよびWSD APIモジュール222は、UIモジュール218に(ステップ9のスプーラ224を経て)、ウェブ・サービス対応プリントデバイス204のデバイス能力データを含むレスポンスを送る。このことは、ポートモニタおよびWSD APIモジュール222が、SOAPレスポンスからXML情報を抽出し、かつ抽出された情報を含むレスポンスを生成することを含んでもよい。リクエストがSendRecvBiDiDataファンクションコールを使用してインプリメントされた状況において、ファンクションコールに対するレスポンスは、ウェブ・サービス対応プリントデバイス204からのデバイス能力データを含む。
ステップ10において、本願明細書で既に述べたように、UIモジュール218は、ウェブ・サービス対応プリントデバイス204のプリンタ・ディスクリプション・データ238を生成して、レジストリ236にプリンタ・ディスクリプション・データ238を保存する。あるいは、UIモジュール218は、ウェブ・サービス対応プリントデバイス204になされた機能および/またはオプションの変更を反映するために、ウェブ・サービス対応プリントデバイス204の既存のプリンタ・ディスクリプション・データを更新してもよい。
ステップ11において、DEVMODE生成モジュール219は、新しいDEVMODE構造体242を生成する(あるいは、少なくとも新規の、削除された、または変更された機能に基づき、既存のDEVMODE構造体242を更新する)。
ステップ12において、アプリケーションプログラム212は、プリントドライバ216からDEVMODE構造体242をリクエストする。そして、新しい(または更新された)DEVMODE構造体242に基づいてユーザインターフェースを生成する。
VI.インプリメンテーション・メカニズム
一実施例によれば、本願明細書において記述されている技術は、一つ以上の特殊目的コンピューティング装置によってインプリメントされる。特殊目的コンピューティング装置は、本技術を実行するハードワイヤードの装置、またはデジタル電子デバイス(例えば本技術を実行するように永続的にプログラムされた一つ以上の特定用途向け集積回路(ASIC)またはフィールドプログラマブルゲートアレイ(FPGAs))を含んでもよい。またはファームウェア、メモリ、その他の記憶装置またはこれらの組合せに格納されたプログラム命令に従って本技術を実行するようにプログラムされた一つ以上の汎用ハードウェアプロセッサを含んでもよい。この種の特殊目的コンピューティング装置は、また、本技術を達成するために、カスタムプログラミングを含む、カスタムハードワイヤードロジック、ASICまたはFPGAsと結合してもよい。この特殊目的コンピューティング装置は、本技術をインプリメントするためにハードワイヤードおよび/またはプログラムロジックを組み込んだデスクトップ計算機システム、ポータブル計算機システム、携帯デバイス、ネットワーク・デバイスまたは他のいかなるデバイスであってもよい。
例えば、図9は、本発明の実施例がインプリメントされ得るコンピュータシステム900を例示するブロック図である。コンピュータシステム900は、バス902または情報を通信するための他の通信メカニズム、およびバス902に接続された処理情報のためのハードウェアプロセッサ904を含む。ハードウェアプロセッサ904は、例えば、汎用マイクロプロセッサであってもよい。
コンピュータシステム900は、また、メインメモリ906を含む。例えば、プロセッサ904によって実行される情報および命令を保存するためにバス902に接続されたランダムアクセスメモリ(RAM)または他の動的記憶装置デバイスが挙げられる。メインメモリ906は、また、プロセッサ904によって実行される命令の実行中に、一時的数値変数または他の中間の情報を保存するために使用されてもよい。この種の命令がプロセッサ904によってアクセスできる記憶媒体に保存されると、コンピュータシステム900は、命令によって特定されるオペレーションを実行するためのカスタマイズされた特殊目的のマシンとなる。
コンピュータシステム900は、読取り専用メモリ(ROM)908、または、バス902に接続された、プロセッサ904のために静的情報および命令を保存するための他の静的記憶装置デバイスを更に含む。記憶装置910(例えば磁気ディスクまたは光ディスク)が設置され、情報および命令を保存するためにバス902に接続される。
コンピュータシステム900は、情報をコンピュータユーザに表示するための表示装置912(例えばブラウン管(CRT))に、バス902を経て接続されてもよい。入力装置914は、英数字、および他のキーを含み、プロセッサ904に情報、および命令選択を通信するためにバス902に接続される。他の種類のユーザ入力デバイスとしては、カーソル制御916、例えばマウス、トラックボールまたはカーソル方向キーがある。これらは、プロセッサ904に方向情報、および命令選択を通信し、かつ表示装置912上のカーソル移動の制御のためのものである。この入力装置は、通常は、2つの軸において2つの自由度を有する。第1の軸(例えばx)、および第2の軸(例えばy)で、デバイスが平面の位置を特定することができる。
コンピュータシステム900は、カスタマイズされたハードワイヤードロジック、一つ以上のASICまたはFPGAs、ファームウェアおよび/またはプログラムロジックを使用して、本願明細書において記述されている技術をインプリメントしてもよい。これらは、コンピュータシステムと結合して、コンピュータシステム900は特殊目的マシンとしてプログラムされる。一実施例によれば、本願明細書における技術は、メインメモリ906に格納された一つ以上の命令の一つ以上のシーケンスを実行するプロセッサ904に応答して、コンピュータシステム900によって実行される。この種の命令は、他の記憶媒体(例えば記憶装置910)から、メインメモリ906に読み込まれてもよい。メインメモリ906に保存された命令のシーケンスを実行することによって、プロセッサ904は、本願明細書に記載されているプロセスステップを実行する代わりの実施例では、ハードワイヤードの回路は、ソフトウェア命令の代わりとして、またはこれと結合して使用されてもよい。
本願明細書において使用する「記憶媒体」の用語は、装置に特定の操作を実行させるデータおよび/または命令を保存するいかなるメディアをも指す。この種の記憶媒体は、不揮発性のメディアおよび/または揮発性のメディアを有してもよい。不揮発性のメディアとしては、例えば、光あるいは磁気ディスク(例えば記憶装置910)が含まれる。揮発性のメディアは、ダイナミック・メモリ(例えばメインメモリ906)を含む。記憶媒体の通常の形式は、例えば、フロッピー(登録商標)ディスク、フレキシブルディスク、ハードディスク、ソリッドステートドライブ、磁気テープ、その他のいかなる磁気データ記憶媒体、CD−ROM、その他のいかなる光学データ記憶媒体、孔パターンを有するいかなる物理メディア、RAM、PROM、EPROM、FLASH−EPROM、NVRAM、その他のいかなるメモリーチップまたはカートリッジも含まれる。
記憶媒体は伝送媒体と区別されるが、伝送媒体と連動して使用されてもよい。伝送媒体は、記憶媒体間の情報を転送することに寄与する。例えば、伝送媒体は同軸ケーブル、銅線、および光ファイバーを含む。そして、バス902を有する導線を含む。伝送媒体は、また、音響または光波の形をとることができる。例えば、電波と赤外線データ通信との間で生成された形式をとることができる。
メディアのさまざまな形式によって、一つ以上の命令の一つ以上のシーケンスをプロセッサ904に実行させることができる。例えば、命令は、リモートコンピュータの磁気ディスクまたは固体ドライブに最初に保存されてもよい。リモートコンピュータは、命令をそのダイナミック・メモリへロードすることができ、かつモデムを使用して電話線を介して命令を送ることができる。コンピュータシステム900に近接したモデムは、電話線上のデータを受信することができ、かつそのデータを赤外線の信号に変換するために、赤外線送信器を使用することができる。赤外線検出器は赤外線の信号に乗ったデータを受信することができ、かつ適切な回路がデータをバス902に送出することができる。バス902はデータをメインメモリ906へ運び、そこから、プロセッサ904は命令を読み出し、かつ実行する。メインメモリ906によって受け取られた命令は、プロセッサ904による実行の前または後で記憶装置910に任意に保存されてもよい。
コンピュータシステム900は、また、バス902に接続された通信インターフェース918を含む。通信インターフェース918は、ネットワーク・リンク920に接続して双方向データ通信を提供する。ネットワーク・リンク920は、ローカルネットワーク922へ接続されている。例えば、通信インターフェース918は、総合サービスデジタルネットワーク(ISDN)カード、ケーブルモデム、衛星モデム、または対応する電話線へのデータ通信接続を提供するモデムであってもよい。別の例として、通信インターフェース918は、互換性を持つLANへのデータ通信接続を提供するローカル・エリア・ネットワーク(LAN)カードであってもよい。また、無線リンクがインプリメントされてもよい。いずれの種類のインプリメンテーションにおいても、通信インターフェース918は、電気的、電磁的、光学的信号の様々な形の情報を含むデジタルデータストリームを伝送する。
ネットワーク・リンク920は、通常は他のデータ装置に一つ以上のネットワークによるデータ通信を提供する。例えば、ネットワーク・リンク920はホストコンピュータ924にローカルネットワーク922による接続を提供してもよい。あるいは、インターネット・サービス・プロバイダー(ISP)926によって動作しているデータ機器に接続を提供してもよい。ISP926は、世界的なパケット・データ通信網を介してデータ通信サービスを提供する。これは、現在インターネット928と共通に呼ばれている。ローカルネットワーク922、およびインターネット928は、両者とも、電気的、電磁的、光学的信号を使用してデジタルデータストリームを伝送する。さまざまなネットワークによる信号、およびネットワーク・リンク920上の信号、および通信インターフェース918を介した信号は、デジタルデータをコンピュータシステム900に送信し、またこれから受信するための、伝送媒体の具体例である。
コンピュータシステム900は、ネットワーク、ネットワーク・リンク920、および通信インターフェース918を介して、メッセージを送信し、データを受信することができる。これには、プログラムコードが含まれる。インターネットの例においては、サーバ930は、インターネット928、ISP926、ローカルネットワーク922、および通信インターフェース918を介して、アプリケーションプログラムのためのリクエストされたコードを送信することができる。
受信されたコードは、そのままに受け取られてプロセッサ904によって実行されてもよく、および/または後の実行のために、記憶装置910またはその他の不揮発性記憶装置に保存されてもよい。
以上の明細書において、本発明の実施例ごとに異なり得る特定の詳細事項を参照して説明した。したがって、何が本発明であるかという唯一の指標、および出願人によって意図された本発明は、本出願から特許発行された請求項のセットに基づく。これは、その後の補正を包含する。請求項に含まれる用語の明示的ないかなる定義も、請求項に用いられているとおりにその意味を定める。それ故、明示的に明記されていない限定、要素、性質、機能、有利な効果、または属性は、いかなる形であれ、その請求項の技術的範囲を限定することになってはならない。明細書および図面は、したがって、例示的なものであり、拘束的なものと解釈されない。
900 コンピュータシステム
902 バス
904 プロセッサ
906 メインメモリ
908 ROM
910 記憶装置
912 表示装置
914 入力装置
916 カーソル制御
918 通信インターフェース
920 ネットワーク・リンク
922 ローカルネットワーク
924 ホストコンピュータ
928 インターネット
930 サーバ
米国特許出願番号第12/399,884号(2009年3月6日出願)

Claims (12)

  1. プリントデバイスにプリントするコンピュータ実行方法であって、
    プリントドライバが、クライアント・デバイスにおいて実行され、プリントデバイスから、現在前記プリントデバイスでサポートされる複数の機能とオプションとを特定するプリントデバイス能力データを受信するステップと;
    前記プリントデバイス能力データの受信に応答して、前記プリントドライバが、DEVMODEデータ構造体の第1のバージョンとは異なる前記DEVMODEデータ構造体の第2のバージョンを生成するステップと;
    を有し
    前記第1のバージョンは、以前に前記プリントデバイスでサポートされた第1の複数の機能を示し;
    前記第2のバージョンは、前記プリントデバイスで現在サポートされる第2の複数の機能を示し;
    前記第1の複数の機能は、前記第2の複数の機能とは異なり;
    前記第2のバージョンの第1の部分のデータは、バイナリフォーマットで示され、かつ前記第2のバージョンの第2の部分のデータは、XMLで示され;
    前記第2の部分は、特定のプリント機能、および前記プリントデバイス能力データで示される前記特定のプリント機能のための一つ以上のオプションを示し、
    当該コンピュータ実行方法は、
    前記DEVMODEデータ構造体の前記第2のバージョンに基づいてユーザインターフェースを生成するステップと;
    一つ以上のユーザ選択に応答して、前記第2の複数の機能の、機能のセットの各々の機能に対してオプションが選ばれたことを示すDEVMODEデータ構造体の第3のバージョンを生成するステップと;
    を有する、コンピュータ実行方法。
  2. 前記ユーザインターフェースを生成するステップが:
    (a)前記プリントドライバが、前記ユーザインターフェースを生成するステップ;または
    (b)アプリケーションプログラムが、前記DEVMODEデータ構造体を前記プリントドライバにリクエストし、かつ前記プリントドライバから前記DEVMODEデータ構造体の前記第2のバージョンを受け取った後に、前記ユーザインターフェースを生成するステップ;
    のうち少なくとも一つを含む、請求項記載のコンピュータ実行方法。
  3. 前記プリントドライバが、(a)少なくとも前記DEVMODEデータ構造体の前記第3のバージョンに基づいてプリントジョブ・チケットを生成し、かつ(b)プリントデータおよび前記プリントジョブ・チケットを前記プリントデバイスに送信されるようにするステップ;または、
    少なくとも前記DEVMODEデータ構造体の前記第3のバージョンに基づいて、ユーザインターフェースを生成するステップ;
    を更に有する請求項1記載のコンピュータ実行方法。
  4. 前記プリントデバイス能力データを受信するステップは:
    前記プリントドライバが、前記プリントデバイスから、前記プリントデバイスに関する変更を示し、ウエブ・サービス・イベント・仕様に準拠する、イベント通知メッセージを受信するステップ;および
    前記イベント通知メッセージを受信するステップに応答して、前記プリントドライバが、前記プリントデバイスに、プリントデバイスでサポートされた、一つ以上のプリント機能をリクエストするリクエストメッセージを送信するステップ;
    に応答して起動される、請求項1記載のコンピュータ実行方法。
  5. 前記クライアント・デバイスによる前記プリントドライバのインストールに応答して、前記プリントデバイス能力データを受信するステップが起動される、請求項1記載のコンピュータ実行方法。
  6. 前記第1の複数の機能は、前記第2の複数の機能に含まれない第1の特定の機能を含み;または、
    前記第2の複数の機能は、前記第1の複数の機能に含まれない第2の特定の機能を含む、
    請求項1記載のコンピュータ実行方法。
  7. 請求項1ないしのいずれか一項に記載の方法を、コンピュータに実行させるプログラム。
  8. プリントデバイスにプリントする装置であって、
    プリントドライバが、クライアント・デバイスにおいて実行され、かつプリントデバイスから、現在前記プリントデバイスでサポートされる複数の機能とオプションとを特定するプリントデバイス能力データを受信し;
    前記プリントデバイス能力データの受信に応答して、前記プリントドライバが、DEVMODEデータ構造体の第1のバージョンとは異なる前記DEVMODEデータ構造体の第2のバージョンを生成し;
    前記第1のバージョンは、以前に前記プリントデバイスでサポートされた第1の複数の機能を示し;
    前記第2のバージョンは、前記プリントデバイスで現在サポートされる第2の複数の機能を示し;
    前記第1の複数の機能は、前記第2の複数の機能とは異なり;
    前記第2のバージョンの第1の部分のデータは、バイナリフォーマットで示され、かつ前記第2のバージョンの第2の部分のデータは、XMLで示され;
    前記第2の部分は、特定のプリント機能、および前記プリントデバイス能力データで示される前記特定のプリント機能のための一つ以上のオプションを示し、
    前記DEVMODEデータ構造体の前記第2のバージョンに基づいてユーザインターフェースを生成し;
    一つ以上のユーザ選択に応答して、前記第2の複数の機能の、機能のセットの各々の機能に対してオプションが選ばれたことを示すDEVMODEデータ構造体の第3のバージョンを生成する、装置。
  9. 請求項記載の装置であって、
    前記ユーザインターフェースを生成する際に:
    (a)前記プリントドライバが、前記ユーザインターフェースを生成する処理;または
    (b)アプリケーションプログラムが、前記DEVMODEデータ構造体を前記プリントドライバにリクエストし、かつ前記プリントドライバから前記DEVMODEデータ構造体の前記第2のバージョンを受け取った後に、前記ユーザインターフェースを生成する処理;
    のうち少なくとも一つの処理を行う、装置。
  10. 請求項の装置であって、
    前記プリントドライバが、(a)少なくとも前記DEVMODEデータ構造体の前記第3のバージョンに基づいてプリントジョブ・チケットを生成し、かつ(b)プリントデータおよび前記プリントジョブ・チケットを前記プリントデバイスに送信されるようにする処理;または、
    少なくとも前記DEVMODEデータ構造体の前記第3のバージョンに基づいて、ユーザインターフェースを生成する処理;
    を更に行う、装置。
  11. 請求項記載の装置であって、
    前記プリントデバイス能力データを受信する処理は:
    前記プリントドライバが、前記プリントデバイスから、前記プリントデバイスに関する変更を示し、ウエブ・サービス・イベント・仕様に準拠する、イベント通知メッセージを受信する処理;および
    前記イベント通知メッセージを受信するステップに応答して、前記プリントドライバが、前記プリントデバイスに、プリントデバイスでサポートされた、一つ以上のプリント機能をリクエストするリクエストメッセージを送信する処理;
    に応答して起動される、装置。
  12. 請求項8記載の装置であって、前記クライアント・デバイスによる前記プリントドライバのインストールに応答して、前記プリントデバイス能力データを受信する処理が起動される、装置。
JP2010158754A 2009-07-31 2010-07-13 プリントシステム Expired - Fee Related JP5655402B2 (ja)

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 JP2011034563A (ja) 2011-02-17
JP5655402B2 true JP5655402B2 (ja) 2015-01-21

Family

ID=43526730

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010158754A Expired - Fee Related JP5655402B2 (ja) 2009-07-31 2010-07-13 プリントシステム

Country Status (2)

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

Families Citing this family (13)

* 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
US20120188575A1 (en) * 2011-01-20 2012-07-26 Canon Kabushiki Kaisha Systems and methods for updating printing device capabilities
US8994985B2 (en) * 2011-01-20 2015-03-31 Canon Kabushiki Kaisha Systems and methods for updating printing device capabilities
US9141314B2 (en) 2011-01-20 2015-09-22 Canon Kabushiki Kaisha Systems and methods for updating a user interface for a printing device
JP5799698B2 (ja) * 2011-09-14 2015-10-28 株式会社リコー 情報処理装置及びプログラム
JP5424134B2 (ja) * 2011-10-14 2014-02-26 コニカミノルタ株式会社 情報処理装置、プリンタドライバ及び印刷設定方法並びにデータ構造体
JP5825565B2 (ja) * 2013-11-07 2015-12-02 コニカミノルタ株式会社 プリンタドライバ及びプリンタドライバの印刷機能の追加方法
JP2015166919A (ja) * 2014-03-03 2015-09-24 株式会社リコー プログラム、情報処理装置、及び印刷システム
JP6028776B2 (ja) * 2014-09-19 2016-11-16 コニカミノルタ株式会社 Uiプログラム、印刷制御装置及びその制御方法

Family Cites Families (55)

* 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 (ja) 1993-01-18 2002-10-07 キヤノン株式会社 情報処理装置および情報処理方法
US5513126A (en) 1993-10-04 1996-04-30 Xerox Corporation Network having selectively accessible recipient prioritized communication channel profiles
JP3720439B2 (ja) 1995-01-06 2005-11-30 キヤノン株式会社 データ入出力制御装置及びデータ入出力制御方法
JPH0991102A (ja) 1995-09-26 1997-04-04 Ricoh Co Ltd ネットワーク・システムにおけるプリント・ジョブ実行結果の通知方法,ネットワーク・システムにおけるスキャン条件の設定方法およびネットワーク・プリンティング/スキャニング・システム
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 (ja) 2000-08-11 2011-01-12 キヤノン株式会社 印刷装置および印刷装置の制御方法およびプログラム
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 (ja) 2001-05-17 2003-02-07 Matsushita Electric Ind Co Ltd 情報印刷システム
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 (ja) 2002-02-12 2003-08-22 Matsushita Electric Ind Co Ltd 印刷システム
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 (fr) 2003-01-09 2005-03-18 Orange France Procede de gestion d'un peripherique et systeme informatique utilisant un tel procede
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 (ja) 2003-11-12 2010-05-26 キヤノン株式会社 情報処理装置、周辺装置制御システム及び情報処理装置に適用される周辺装置制御方法並びにそのプログラム
JP3922260B2 (ja) 2004-02-13 2007-05-30 コニカミノルタビジネステクノロジーズ株式会社 ジョブチケット発行装置、画像形成装置、および画像形成システム
JP2005267088A (ja) * 2004-03-17 2005-09-29 Fuji Xerox Co Ltd 周辺機器ドライバ、周辺機器制御装置および周辺機器ドライバの更新方法
JP4360248B2 (ja) 2004-03-29 2009-11-11 株式会社日立製作所 印刷管理システム
JP2006065839A (ja) 2004-07-30 2006-03-09 Canon Inc 情報処理装置及び印刷情報処理方法、並びにコンピュータプログラム
KR100618321B1 (ko) 2004-11-20 2006-08-31 삼성전자주식회사 이동 단말기를 이용한 화상형성장치의 펌웨어 업그레이드방법
US7640295B2 (en) 2004-12-04 2009-12-29 Hewlett-Packard Development Company, L.P. Methods and apparatus for managing data flow within a network
JP2006168079A (ja) * 2004-12-14 2006-06-29 Canon Inc 記録システム及びその記録方法、画像供給装置及びその制御方法、記録装置及びその制御方法、プログラム、並びに記憶媒体
JP2006285870A (ja) * 2005-04-04 2006-10-19 Canon Inc 印刷制御装置、印刷制御方法、及びプログラム
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 (ja) 2005-10-18 2011-08-24 キヤノン株式会社 プログラム、機能情報提供装置、および機能情報提供方法
US7903267B2 (en) 2005-11-02 2011-03-08 Kyocera Mita Corporation Automatic installation system for printer driver, and program recording medium
JP2007158882A (ja) * 2005-12-07 2007-06-21 Matsushita Electric Ind Co Ltd 電圧制御型発振器
JP5441303B2 (ja) 2006-01-20 2014-03-12 キヤノン株式会社 情報処理装置及び情報処理方法
JP2007241661A (ja) 2006-03-08 2007-09-20 Canon Inc 画像形成装置およびその制御方法
JP5025165B2 (ja) 2006-05-12 2012-09-12 キヤノン株式会社 印刷システム、制御方法及びプログラム
US7821667B2 (en) 2006-08-10 2010-10-26 Microsoft Corporation Validation of print configuration documents
JP4870621B2 (ja) 2006-09-15 2012-02-08 株式会社リコー 情報処理装置、方法、システム、プログラム及びその記録媒体
JP4843444B2 (ja) 2006-10-05 2011-12-21 株式会社リコー 通信制御装置、情報処理装置、通信制御方法及び通信制御プログラム
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
US8508755B2 (en) 2007-07-30 2013-08-13 Ricoh Company, Ltd. Print server
US20090190150A1 (en) 2008-01-24 2009-07-30 Selvaraj Senthil K On-Demand Print Driver
JP5111278B2 (ja) 2008-07-30 2013-01-09 キヤノン株式会社 印刷制御装置、印刷装置、印刷制御装置の制御方法、印刷装置の制御方法、及びプログラム
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

Also Published As

Publication number Publication date
US20110026072A1 (en) 2011-02-03
JP2011034563A (ja) 2011-02-17
US8405853B2 (en) 2013-03-26

Similar Documents

Publication Publication Date Title
JP5655402B2 (ja) プリントシステム
US8289551B2 (en) Approach for processing print data without a client print driver
JP4926735B2 (ja) ドライバーレスクライアントによるネットワーク印刷
US9811294B2 (en) Relay device, image forming apparatus, relay method, and non-transitory computer-readable recording medium encoded with relay program
US8767226B2 (en) Printing system, control method, information processing apparatus, and computer-readable medium
JP2011034562A (ja) プリントシステム
US20100225958A1 (en) Approach For Printing To Web Services-Enabled Printing Devices
JP2008269571A (ja) ドキュメントのドライバなし画像処理方法及びシステム
JP2007317195A (ja) 印刷ジョブを実行するための方法及び媒体
US20120170071A1 (en) Information processing apparatus, device information display method, and computer-readable storage medium
US8526020B2 (en) Paper size support for a print system
US7457839B2 (en) Selective rejection of access to parameters of an option application detachable from an embedded apparatus including web server function
JP2009116874A (ja) 印刷エージェントを用いて印刷エラーを管理する方法
JP4467955B2 (ja) 情報処理装置、周辺装置制御システム及び情報処理装置に適用される周辺装置制御方法並びにそのプログラム
JP2010146559A (ja) ドキュメントにセキュリティ特徴を組み込む方法とその装置
JP2008282406A (ja) 複数のws動作可能装置からのイベントの報告
JP2009255390A (ja) 画像形成装置、機能連携制御方法、及び機能連携制御プログラム
US20180217788A1 (en) Information processing apparatus, storage medium, and method
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
JP2004220448A (ja) 情報提供装置、情報提供方法、情報提供システム、及び情報提供プログラム
JP2006285840A (ja) 文書管理システム
EP1821193B1 (en) Adaptive configuration of imaging devices
JP5272400B2 (ja) 新たなサービスを装置に動的に追加するための方法、装置及びコンピュータプログラム
JP4787655B2 (ja) 情報処理装置、表示制御装置、情報処理システム、情報処理方法、表示制御方法、情報処理プログラム及び表示制御プログラム

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