JP5266967B2 - コンピュータ周辺装置ドライバ、装置及び方法 - Google Patents

コンピュータ周辺装置ドライバ、装置及び方法 Download PDF

Info

Publication number
JP5266967B2
JP5266967B2 JP2008219418A JP2008219418A JP5266967B2 JP 5266967 B2 JP5266967 B2 JP 5266967B2 JP 2008219418 A JP2008219418 A JP 2008219418A JP 2008219418 A JP2008219418 A JP 2008219418A JP 5266967 B2 JP5266967 B2 JP 5266967B2
Authority
JP
Japan
Prior art keywords
peripheral device
user interface
computer
peripheral
receiving
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
JP2008219418A
Other languages
English (en)
Other versions
JP2009059363A (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 JP2009059363A publication Critical patent/JP2009059363A/ja
Application granted granted Critical
Publication of JP5266967B2 publication Critical patent/JP5266967B2/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
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/102Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/453Help systems
    • 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
    • H04N1/00236Connection 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 using an image reading or reproducing device, e.g. a facsimile reader or printer, as a local input to or local output from a computer
    • H04N1/00238Connection 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 using an image reading or reproducing device, e.g. a facsimile reader or printer, as a local input to or local output from a computer using an image reproducing device as a local output from a computer
    • 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
    • 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/00477Indicating status, e.g. of a job
    • 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/00509Personalising for a particular user or group of users, e.g. a workgroup or company

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Stored Programmes (AREA)
  • Facsimiles In General (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • User Interface Of Digital Computer (AREA)

Description

本発明はコンピュータに結合可能な周辺装置ドライバに関連する。
周辺装置はコンピュータに結合可能である。コンピュータ上で動作するアプリケーションプログラムは、通常、デバイスドライバを介して周辺装置を制御し、様々な種類の各々の周辺装置について、周辺装置のために様々な特定のデバイスドライバが使用される。デバイスドライバは、一般的には、デバイスタイプ、デバイスモデル、プロセッサ及びそのデバイスドライバが動作しているオペレーティングシステム(プラットフォーム)に対して特有であり、しばしば、オペレーティングシステムが生成するデータのタイプに対してさえ特有である。
典型的なアプローチの場合、ある特定の周辺装置に関する特定のジョブに備えてジョブ関連設定値を設定する際、あるアプリケーションがデバイスドライバを起動し、一定のユーザインターフェースを表示し、そのインターフェースを介して、ユーザは様々なパラメータ値又は他のジョブ設定値を選択できる。デバイスドライバは選択内容を解釈し、その選択内容を一群のジョブ設定データに変換する。デバイスドライバはジョブ設定データを周辺装置に送り、その際、実際のジョブデータと共に束ねて送ってもよいし、或いは「ジョブチケット(job ticket)」と呼ばれるメッセージ又はデータ構造を用いて別個に周辺装置へ送ってもよい。
従来のデバイスドライバの開発は複雑である。周辺装置の製造業者は、通常、多様な幅広いドライバを開発するためにかなりの資源を投入し、その製造業者及び目的のコンピュータプラットフォームによりなされる周辺装置の総てに配慮する必要がある。更に、デバイスドライバで用意されるユーザインターフェースは、通常は一定の固定されたものであり、周辺装置が新たな特徴と共にアップグレードされた場合、製造業者はそのドライバをアップグレードし、アップグレードされたユーザインターフェースでその新たな特徴を提示するようにする必要がある。
ある1つのアプローチの場合、周辺装置の一例であるプリンタはネットワークに結合され、そのプリンタはウェブサーバを有する。プリンタは該プリンタのユーザインターフェースを構成するHTML書類を格納している。このHTML書類を利用したユーザインターフェースはそのプリンタのコントロールパネルに似ている外見をしている。ユーザはブラウザアプリケーションを活性化し(アクティブにし)、ユーザインターフェースを有するHTML書類のURLに接続し、ウェブサーバからのHTML書類をプリンタで受信し、そのHTML処理をブラウザで表示する。ユーザはブラウザを使ってHTML書類と共にやりとりを行い、プリンタを構築する又は制御機能を実行する。このアプローチの場合、ブラウザアプリケーションは、印刷その他の目的のジョブデータを生成する際には関わらない。
このセクションで説明されるアプローチは追跡可能なアプローチであるが、考察又は追跡が過去になされているアプローチであるとは限らない。従って、特に断りのない限り、このセクションで説明されるどのアプローチも、このセクションに含まれているという理由だけで従来技術と考えるよう仮定されるべきではない。
本発明の課題は、適切なユーザインターフェースを簡易且つ効率的に用意することである。
一実施例によるコンピュータ周辺装置ドライバは、1つ以上のコンピュータ読取可能な記憶媒体に実行に備えてエンコードされたロジックを含み、該ロジックは、周辺装置のユーザインターフェースを求めるリクエストを、コンピュータから前記周辺装置へ送信すること、前記リクエストの時点における前記周辺装置の機能に基づいて前記周辺装置が作成した前記ユーザインターフェースの説明を、前記周辺装置から受信すること、前記ユーザインターフェースの前記説明に基づいて1つ以上のグラフィカルユーザインターフェース(GUI)要素を作成し、該GUI要素の表示を引き起こすこと、前記GUI要素の1つ以上を選択したことを表すユーザ入力を受信すること、前記ユーザ入力で表現されているように、選択されたGUI要素を説明するユーザインターフェースチケットを作成すること及び前記ユーザインターフェースチケットを前記周辺装置に送信することをプロセッサに実行させる。
一実施例では、複数の利用可能な周辺装置のリストを生成及び表示すること、該利用可能な周辺装置の内1つを選択したことを示す第2のユーザ入力を受信すること、及び該第2のユーザ入力で表現されている利用可能な周辺装置の内選択されたものに前記リクエストを送信することを引き起こすロジックを、コンピュータ周辺装置ドライバは更に有する。
一実施例では、当該コンピュータ周辺装置ドライバがサポートする1つ以上のインターフェースフォーマットのリストを前記周辺装置に送信すること、及び当該コンピュータ周辺装置ドライバがサポートするユーザインターフェースチケットの内選択されたものを特定する情報を、前記周辺装置から受信することを引き起こすロジックを、コンピュータ周辺装置ドライバは更に有する。
一実施例では、拡張マークアップ言語(XML)ストリーム又はファイル、画像ファイル、画像ファイルをラッピングするXMLストリーム又はファイル、或いは画像ファイルを参照し且つ画像ファイルに関する追加的なメタデータを有するXMLストリーム又はファイルの何れかにおいて、前記ユーザインターフェースの説明を前記周辺装置から受信することを引き起こすロジックを、コンピュータ周辺装置ドライバは更に有する。一実施例では、ユーザインターフェースの説明は画像マップを含み、ユーザインターフェースチケットは1つ以上の座標群を含む。
一実施例では、前記周辺装置がサポートするユーザインターフェースフォーマットを特定する情報を前記周辺装置から受信すること、及び前記情報をテーブルのエントリに格納することを引き起こすロジックを、コンピュータ周辺装置ドライバが更に有し、前記テーブルは、前記周辺装置の識別子と共に、前記ユーザインターフェースの説明のコピーと前記情報とを関連付ける。
一実施例では、コンピュータ周辺装置ドライバは、前記エントリの時間的価値が失効した場合にのみ、新たなユーザインターフェース説明を求めるリクエストを前記周辺装置に送るのを実行することを引き起こすロジックを更に有する。
一実施例では、コンピュータ周辺装置ドライバは、アプリケーションプログラムのジョブデータを、前記ユーザインターフェースチケットとは別個に前記周辺装置に送ることを引き起こすロジックを更に有する。
一実施例では、前記周辺装置が、プリンタ、複合機、スキャナ又は仕上げ装置の何れかを有する。
一実施例では、前記周辺装置のユーザインターフェースを求める第2のリクエストを、前記コンピュータから前記周辺装置へ送信すること、前記第2のリクエストの時点における前記周辺装置の機能に基づいて前記周辺装置が作成した前記ユーザインターフェースの第2の説明を、前記周辺装置から受信すること、前記ユーザインターフェースの前記第2の説明に基づいて1つ以上の第2のグラフィカルユーザインターフェース(GUI)要素を作成し、該第2のGUI要素の表示を引き起こすこと、を引き起こすロジックを、コンピュータ周辺装置ドライバは更に有し、前記第2の説明は、前記周辺装置の変更された機能に関する新たなグラフィカルユーザインターフェース要素を説明する。
一実施例では、前記ユーザインターフェースチケットを受信したことに応答して、前記周辺装置が作成した第2の画像マップを前記周辺装置から受信すること、前記第2の画像マップの表示を引き起こすこと、前記第2の画像マップ内の1つ以上の第2の選択を表す第2のユーザ入力を受信すること、前記第2の選択を説明する第2のユーザインターフェースチケットを作成すること、前記第2のユーザインターフェースチケットを前記周辺装置に送信すること、ユーザインターフェースの最後の選択がなされるまで、先行する手順を反復することを引き起こすロジックを、コンピュータ周辺装置ドライバが更に有する。
説明を目的とする以下の詳細な説明では、本発明の十分な理解を図るため、様々な具体的な詳細が述べられる。しかしながら、本発明はそのような具体的詳細なしに実施されてもよいことは明白であろう。また、本発明を不必要に曖昧にするかもしれないことを避けるため、周知の構造及び装置はブロック図形式で示される。
1.0 構造及び機能の概要
一実施例では、コンピュータに結合される周辺装置は、ジョブ制御を目的としたダイナミックユーザインターフェースを生成し、そのユーザインターフェースを利用してホストコンピュータ(所謂、パーソナルコンピュータ、モバイルコンピュータ、携帯電話、ワークステーション、サーバ、無線通信装置又は他の如何なる形式のホストコンピュータで形成されてもよい。)でデバイスドライバと通信する。デバイスドライバはユーザインターフェースを表示し、1つ以上の選択内容を表すユーザの入力データをユーザインターフェースを利用して受信する。デバイスドライバはユーザの入力データをジョブ設定データに解釈しない。その代わり、デバイスドライバはユーザの入力データを周辺装置へ或る所定の形式のメッセージで送信し、そのメッセージはユーザの入力データをユーザインターフェース選択内容として区別している。メッセージはユーザインターフェースチケットを含んでいてもよい。これに応じて、周辺装置はユーザインターフェース選択内容をジョブ設定内容に解釈し、そのジョブ設定を適切に適用する。
一実施例では、デバイスドライバ及び周辺装置はウェブサービスのようなプロトコルを使って通信する。選択的に、デバイスドライバ及び周辺装置はハンドシェイク通信を実行し、周辺装置がユーザインターフェースを説明するデータをドライバに送信すべきフォーマットを設定する。フォーマットの具体例は、画像マップ、XUL書類のようなXML書類、HTMLその他のものを含み、本実施例はユーザインターフェースを説明するデータ(以下、ユーザインタフェースデータとも言う)をエンコードする特定のどの方法にも限定されない。周辺装置はユーザインターフェースデータを作成し、デバイスドライバに送信し、デバイスドライバはユーザインターフェースデータを解釈し、ホストコンピュータにて視覚的な表示を生成し、ユーザが視覚的に理解しやすいようにホストコンピュータのディスプレイに表示する。
一実施例では、デバイスドライバから周辺装置に送られるユーザインターフェースチケットのフォーマットは、ユーザインターフェースデータのオリジナルのフォーマットに依存する。例えば、ユーザインターフェースを説明するデータのフォーマットが画像マップであった場合、ドライバは、ユーザが選択を行った画像マップ上の位置に対応する一連の{X,Y}座標を返す。或いは、ユーザインターフェースを説明するデータがXML書類であった場合、デバイスドライバは一連のXML要素を送信し、その一連のXML要素は、ユーザが処理したユーザインターフェースウィジェット(widget)を表す。XML通信はデータストリームで生じる。
デバイスドライバは一連のユーザインターフェースチケットを周辺装置に送ってもよく、その一連のユーザインターフェースチケットは共に、特定のジョブに関する複数の設定の内の完全なユーザが選択した内容を含む。或いは、デバイスドライバは周辺装置に或るユーザインターフェースチケットを送信し、そのユーザインターフェースチケットは、或る送信において、ユーザが行ったユーザインターフェースを介して選択した内容の総てを含む。例えば、ユーザインターフェースチケットはXML書類又はストリームを有し、そのXML書類等は、ユーザが選択した又は操作した元のXMLユーザインターフェースを説明するデータの要素名の総てを含む。第1の代替例の場合、周辺装置はデータ構造又はデータベースの中で一連のユーザインターフェースチケットを追跡し、それら総てのチケットを特定のジョブに関連付けてもよい。選択的に、各ユーザインターフェースチケットを受信した後、周辺装置はユーザインターフェースを更新してもよい。
一実施例では、デバイスドライバが本技法を使用する際、アプリケーションプログラムは、従来のデバイスドライバと通信するアプリケーションプログラムと同じ方法でデバイスドライバと通信する。本技法を実現するデバイスドライバを利用する際、アプリケーションプログラムは一切変更されなくてよい。
周辺装置のユーザインターフェースは、この周辺装置から生成され、この周辺装置は自身の機能を理解しており、ほぼ適切で最新の機能を反映したユーザインターフェースを生成できる。製造業者が新たな機能を周辺装置に追加した場合、新たなユーザインターフェースが、デバイスドライバを一切変えずに生成できる。
一実施例では、1つのデバイスドライバが総ての周辺装置とともに動作可能であり、その周辺装置はデバイスドライバの理解できる方法で、それら周辺装置毎ののユーザインターフェースを説明できる。従って、1つのデバイスドライバが複数の周辺装置と共に機能することができ、周辺装置及びコンピュータプラットフォームの総ての組み合わせについて多数のデバイスドライバを書き込むことを要しない。デバイスドライバはユーザインターフェース要素をジョブ設定として解釈しないが;その代わり、周辺装置が選択したユーザインターフェース設定に関する受信情報(つまり、ユーザがユーザインターフェースを利用して設定した情報を含む)に基づいて、周辺装置に要求された必要なジョブ設定を確認する。
一実施例では、ジョブデータはユーザインターフェースデータから分離可能である。デバイスドライバはユーザインターフェースチケットを周辺装置に送るが、デバイスドライバがジョブチケットをジョブデータと共に周辺装置に送ることは必須でない。
実施例は、ジョブデータがジョブ設定値と別個に定義される様々な環境で使用可能である。例えば、印刷システムの場合、アプリケーションプログラム、デバイスドライバ及びプリンタドライバは、ジョブ設定データとは独立にジョブデータを生成及び使用できる。一実施例では、ウェブサービスを利用した印刷法が利用される。アプリケーションプログラム及びデバイスドライバは、印刷チケットメッセージ又はジョブチケットメッセージをジョブデータパッケージとは別にプリンタに送り、プリンタドライバは、2つの部分を別個に処理し、ジョブデータから印刷出力を生成する際、プリントチケットの設定を適用する。
2.0 実施例
図1はユニバーサルデバイスドライバが使用されるコンピュータシステム例を示す。一実施例では、ユーザ102はホストコンピュータ104と通信し、ホストコンピュータは、パーソナルコンピュータ、ワークステーション、サーバ、無線通信装置又は他の如何なる形式のホストコンピュータで形成されてもよい。ホストコンピュータ104はオペレーティングシステム106を有し、オペレーティングシステム106は、デバイス機能検出アプリケーションプログラム110及びユニバーサルデバイスドライバ100に対するホストを務めて制御する。ホストコンピュータ104はインターフェース108を更に有し、インターフェースは、1つ以上のネットワーク116を介して、1つ以上の自身の備えている機能を自覚する周辺装置(以下、機能自覚周辺装置とも言う)112,114に直接的に又は間接的に結合される。
オペレーティングシステム106の具体例は、リナックス(LINUX)、ユニックス(UNIX(登録商標))、アップル社のMAC−OS及びマイクロソフト社のウインドウズ(MICROSOFT WINDOWS(登録商標))を含む。アプリケーションプログラム110は、機能自覚周辺装置112,114に関連する処理を有効に実行できる如何なるコンピュータプログラムを含んでいてもよい。アプリケーションプログラム110の具体例は、ワードプロセッサ、スプレッドシート、電子メールクライアント及びデータベースクライアントを含む。
インターフェース108は、ホストコンピュータ104、機能自覚周辺装置112,114及びネットワーク116の間でデータを通信できるハードウエア、ファームウエア、ソフトウエア又はそれらの組み合わせの如何なるものを含んでもよい。インターフェース108の具体例はネットワークインターフェースカード(NIC)を含み、イーサーネットインターフェース、ユニバーサルシリアルバス(USB)インターフェース、シリアルインターフェース、IEEE1394(FIREWIRE)インターフェース及びパラレルポートを含む。機密データ通信インターフェースが使用されてもよく、本実施例は標準仕様のインターフェースを必須としない。
本実施例は如何なる種類のコンピュータ周辺装置と共に使用されてもよい。本実施例が共に使用されてもよい機能自覚周辺装置112,114の具体例は、プリンタ、スキャナ、複合機、仕上げ装置(ソータ、製本機、糊付け機)、デジタルカメラ、カメラ、ストレージシステム等を含む。図1は簡明化の観点から2つの機能自覚周辺装置112,114を単に示しているが、本実施例は同一の又は異なるいくつの機能自覚周辺装置と共に機能してもよい。
ユニバーサルデバイスドライバ100は、1つ以上の格納された一連の命令又は他のソフトウエア要素を有し、本願で説明される機能を実現する。一般に、ユニバーサルデバイスドライバ100は、オペレーティングシステム106又はアプリケーションプログラム110からファンクションコールを受信でき、如何なる機能自覚周辺装置112,114ともやりとりをすることができ、アプリケーションプログラムが開始するジョブを機能自覚周辺装置が実行することを引き起こす。ユニバーサルデバイスドライバ100は「一般的な(generic)」デバイスドライバと言及されてよいかもしれない。なぜなら、そのドライバは、ユーザインターフェースの説明を後述するように提供できる如何なる機能自覚周辺装置と共にでも動作できるからである。ユニバーサルデバイスドライバ100は、オペレーティングシステム106、アプリケーション110又はホストコンピュータ104の他のソフトウエア要素若しくはファームウエア要素と統合されてもよく、本実施例では、ユニバーサルデバイスドライバをスタンドアローンソフトウエア要素として実現することは必須でない。
図2は、図1のユニバーサルデバイスドライバ及び周辺装置間で通信されるデータを示す。図2に示されるデータ項目は様々な実施例で如何なる順序で通信されてもよく、図2のデータ項目の参照番号及び位置は特定の順番を示唆するものではない。一実施例では、ユニバーサルデバイスドライバ100は、何らかの形式の基本的なアプリケーションレイヤ通信プロトコルを使って機能自覚周辺装置への及び機能自覚周辺装置からのデータを通信し、そのプロトコルはユニバーサルデバイスドライバ及び機能自覚周辺装置の双方がサポートできるものである。図2は図示の簡明化の観点から1つの機能自覚周辺装置112を示しているが、図2の通信は、ユニバーサルデバイスドライバ100と動作する如何なる数の機能自覚周辺装置との間でなされてもよい。
一実施例では、プロトコル202はウェブサービスを有し、ユニバーサルデバイスドライバ100及び機能自覚周辺装置112はウェブサービス機能を実現する。例えば、ユニバーサルデバイスドライバ100及び機能自覚周辺装置112の各々はウェブサービスロジックを有し、ウェブサービスロジックは、OASIS業界団体によるウェブサービス標準仕様又は公にされたドラフトのウェブサービス標準仕様に従ってアプリケーションレイヤメッセージを生成でき、且つそのようなメッセージを解釈及び処理できるものである。
一実施例では、ユニバーサルデバイスドライバ100はジョブデータ204を機能自覚周辺装置112に伝送する。ジョブデータ204は、機能自覚周辺装置112が実行するジョブの実質的な情報を含む。例えば、機能自覚周辺装置112がプリンタであった場合、ジョブデータ204は、印刷可能な書類又は画像を記述するページ記述言語(PDL)又はポストスクリプトのデータを有する。
一実施例では、ユーザインターフェースを説明するデータ(ユーザインターフェースデータ)206を形成する1つ以上のデータ群を、機能自覚周辺装置112はユニバーサルデバイスドライバ100に通知する。ユーザインターフェースデータ206は様々なフォーマット、方法及び手段で表現されてもよい。様々な実施例で使用されてもよいユーザインターフェース206の具体例は、XML、グラフィカルビットマップ画像、3DグラフィカルユーザインターフェースのXMLベースの表現、他のXML表現、スケーラブルベクタグラフィクス(SVG: Scalable Vector Graphics)書類、HTML及び他の如何なる図形表現(縞模様、スプライト、テクスチャ等のようなもの)を含んでもよい。XUL及びUIMLを含む様々なXMLベースのユーザインターフェース記述子が使用されてもよい。本実施例はXMLに限定されず、ユーザインターフェースを記述する特手の方法や手段に限定されない。
一実施例では、ユニバーサルデバイスドライバ100は1つ以上のユーザインターフェースチケット208を周辺装置112に通知する。概して、ユーザインターフェースチケットは、機能自覚周辺装置のユーザインターフェースでユーザが行った選択に関し、機能自覚周辺装置112に通知するデータを有する。例えば、ユーザインターフェースチケット208は、GUI要素、ユーザのマウスクリックの座標、又は他の選択データを特定してもよい。様々な実施例の中で、ユーザインターフェースチケットは、XMLで、ウェブサービスチケットのフォーマットで、一群の名称及び値のペアで、又は他の記述的なテキスト若しくはデータで表現されてもよい。
図3は、ユニバーサルデバイスドライバ100の動作方法例を示す。ステップ302は、ホストコンピュータから機能自覚周辺装置へ、その機能自覚周辺装置のユーザインターフェースを求めるリクエストを送ることを含む。一実施例では、ユニバーサルデバイスドライバはリクエストを機能自覚周辺装置に送信し、該機能自覚周辺装置とやりとりするためのユーザインターフェースを説明するデータと共に該周辺装置が応答するように問い合わせる。ユーザインターフェースはグラフィカルユーザインターフェースでもよいが、GUIを利用することは必須でない。概して、図3のステップは総てユニバーサルデバイスドライバが実行する機能を述べている。
ステップ304はユーザインターフェースを説明するデータを機能自覚周辺装置から受信することを含み、その説明は、機能自覚周辺装置がリクエストの時点で作成したものであり且つ、その機能自覚周辺装置のその時点での機能に基づくものである。つまり、そのリクエストを受け取った時点で、機能自覚周辺装置が自身の機能を自覚し、その自覚した機能を含むユーザインターフェースデータをユニバーサルデバイスドライバに送信する。一実施例では、ユーザインターフェースを説明するデータを与えることで、機能自覚周辺装置はステップ302のリクエストに応答し、そのユーザインターフェースは、ジョブ設定又は他のパラメータを設定するようにユーザが機能自覚周辺装置とやりとりすることを可能にする。周辺装置が新たな機能と共に最近更新されていた場合、その新たな機能はユーザインターフェースを説明するデータに反映されている。
例えば一実施例における図3の方法は、ホストコンピュータから機能自覚周辺装置へ、機能自覚周辺装置のユーザインターフェースを求める第2のリクエストを送信すること、及び第2のユーザインターフェースを説明するデータを機能自覚周辺装置から受信することを更に含み、その第2のユーザインターフェースを説明するデータは、機能自覚周辺装置が第2のリクエストを受け取った時点で作成したものであり且つ、機能自覚周辺装置、その第2の時点での機能に基づくものである。第2のユーザインターフェースデータは、機能自覚周辺装置の変更されている特徴について、新たなグラフィカルユーザインターフェース要素を説明している。1つ以上の第2のユーザインターフェース要素は、第2のユーザインターフェースを説明するデータ(第2のユーザインターフェースデータ)に基づいて作成され、そのプロセスは、ユーザに表示する第2のUI要素の表示を引き起こす。
一実施例では、機能自覚周辺装置のウェブサービスロジックがリクエストを処理し、その回答を生成する。
ステップ306は、ユーザインターフェースの説明に基づいて1つ以上のユーザインターフェース要素を生成することを含む。一実施例では、ユニバーサルデバイスドライバが、ユーザインターフェースデータに基づいてユーザインターフェースを形成する。ユニバーサルデバイスドライバは、ダイナミックリンクライブラリ等のような補足的な機能応訴又はオペレーティングシステムの基本的なユーザインターフェースを呼び出し、ユーザインターフェースを形成してもよい。ステップ308はUI要素の表示を引き起こす。一実施例では、ユニバーサルデバイスドライバは、オペレーティングシステム又は他の機能要素がホストコンピュータの表示部にユーザインターフェースを表示することを引き起こす。
ステップ310は、ユーザインターフェース要素の1つ以上の選択事項を表すユーザ入力を受信することを含む。一実施例では、キーボード、ポインティングデバイス又はホストコンピュータの他のデータ入力装置を利用して、パラメータ設定、ジョブ設定又は表示されるユーザインターフェースの他の要素をユーザは選択する。ホストコンピュータのユーザインターフェースは、選択内容を表す信号を受信し、その信号をオペレーティングシステムに運ぶ。オペレーティングシステムは、その選択内容に関するデータをユニバーサルデバイスドライバへ与える。
ステップ312はユーザインターフェースチケットを作成することを含み、そのユーザインターフェースチケットはユーザ入力で表現されるように選択されたユーザインターフェース要素を記述している。一実施例では、ユニバーサルデバイスドライバはそのユーザ選択内容に基づいてユーザインターフェースチケットを形成する。ユーザの選択内容に関する構造化された言語による説明、ユニバーサルユーザインターフェースでユーザの選択した場所を特定する一群の座標、又はユーザ選択内容を記述する他の形式のものを、ユーザインターフェースチケットは含んでよい。
ステップ314はユーザインターフェースチケットを機能自覚周辺装置へ送ることを含む。
一実施例では、図3の方法は、ユーザインターフェースチケットとは別個に、アプリケーションプログラムのジョブデータを機能自覚周辺装置に送ることを更に含む。一実施例では、ステップ314の後に、機能自覚周辺装置は、ユーザインターフェースチケットを受信及び解釈し、ユーザアプリケーションからジョブデータを受信し、要求されたジョブを実行する。ジョブデータは、ユーザインターフェースチケットが周辺装置で受信される前又は後のどの時点で受信されてもよい。
一実施例では、ステップ302の前に、複数の利用可能な機能自覚周辺装置のリストを作成及び表示すること、利用可能な機能自覚周辺装置の1つを選んだことを示す第2のユーザ入力を受信すること、及び第2のユーザの入力で表現された利用可能な周辺装置の内の選択されたものにリクエストを送ることを、図3の方法は更に含む。
一実施例では、ステップ302の前に、機能自覚周辺装置に対応するユニバーサルデバイスドライバがサポートする1つ以上のユーザインターフェースフォーマットのリストを機能自覚周辺装置に送ること、及び機能自覚周辺装置がサポートするユーザインターフェースフォーマットの内の選択されたものを特定する情報を機能自覚周辺装置から受信することを、図3の方法は更に含む。
一実施例では、拡張マークアップ言語(XML)ストリーム又はファイル、画像ファイル、XMLストリーム若しくはファイル(画像ファイルをラッピングしているもの)、又はXMLストリーム又はファイル(画像ファイルを参照し、その画像ファイルに関する付随的なメタデータを含むもの)等の何らかのもので、ユーザインターフェースデータを周辺装置から受信することを、ステップ304は含む。
一実施例では、機能自覚周辺装置がサポートするユーザインターフェースフォーマットを示す情報を機能自覚周辺装置から受信すること、及びその情報をテーブルの或るエントリに格納することを、図3の方法は更に含む。そのテーブルは、機能自覚周辺装置の識別子と共に、前記情報をユーザインターフェースの記述のコピーに関連付ける。このステップは、ステップ302の前に或いはステップ302,304の一部として行われてもよい。
一実施例では、エントリの時間的な価値が失効した場合にのみ、機能自覚周辺装置がサポートしている1つ以上のユーザインターフェースのリストを機能自覚周辺装置に送信すること、及び機能自覚周辺装置がサポートしているユーザインターフェースフォーマットの内で選択されたものを特定する情報を機能自覚周辺装置から受信することを、図3の方法は含んでもよい。
様々な実施例において、図3の機能自覚周辺装置は、プリンタ、複合機、スキャナ又は仕上げ装置(ソータ、製本機、糊付け機)、デジタルカメラ、カメラ等の何れで構築されてもよい。一実施例では、ユーザインターフェースの説明は画像マップを含み、ユーザインターフェースチケットは1つ以上の座標群を含む。
一実施例では、ユーザインターフェースの説明は第1の画像マップを含み、図3の方法は第2の画像マップを機能自覚周辺装置から受信することを更に含み、第2の画像マップは、機能自覚周辺装置がユーザインターフェースチケットに応答して作成したものである。このプロセスは第2画像マップの表示を引き起こす。第2の画像マップにおける1つ以上の第2の選択内容を表現する第2のユーザ入力が、受信される。第2の選択内容を記述するユーザインターフェースチケットが作成され、機能自覚周辺装置に送られる。
図4は、ユニバーサルデバイスドライバ、ユーザインターフェースデータ及びユーザインターフェースチケットを利用するジョブの印刷処理例を示す。図4の例の場合、機能自覚周辺装置はウェブサービスを使ってドライバと通信するプリンタであり、ユーザインターフェースデータのフォーマットはXMLである。
ステップ402では、ドライバはホストコンピュータに結合された又はネットワーク内のプリンタを発見する。一実施例では、ウェブサービスプロトコルのWS(ウェブサービス)ディスカバリの方法のようなネットワークイネーブルディスカバリプロトコルが使用される。ステップ404では、ユニバーサルデバイスドライバはホストコンピュータのローカルな(局所的な)ストレージ(記憶領域)に、機能自覚周辺装置の一例であるプリンタのネットワークロケーション及び名前を格納する。さらに、ステップ404はプリンタ「初期化(インストレーション)」ステップとして機能する。ネットワークロケーションは、IPアドレス及びポート番号、又はデータを特定する他のものを含んでもよい。ステップ406では、ユーザがアプリケーションを開き、印刷機能を選択し、指定されたデータ又は画像の印刷を引き起こす。これに応じてステップ408では、アプリケーションが上述のユニバーサルデバイスドライバを起動し、印刷用のユーザインターフェースを表示することをユニバーサルデバイスドライバに要求する。
ステップ410では、ユニバーサルデバイスドライバは、選択的可能なプリンタのリストを用意し、プリンタの1つを指すユーザからの入力を受信する。或いはユニバーサルデバイスドライバはデフォルトのプリンタを内部で選択又は使用してもよい。一実施例では、ユニバーサルデバイスドライバがプリンタのリストを生成する代わりに、ステップ410がステップ408と統合され、そのプロセスがプリンタのリストを用意してもよい。
ステップ412では、ユニバーサルデバイスドライバは選択されたプリンタ又はデフォルトのプリンタと連絡をとり、サポートされているUIの説明フォーマットのリストを用意し、プリンタからのUI情報を要求する。例えば、ウェブサービスメッセージをプリンタのウェブサービスモジュールに送信することを、ステップ412は含んでもよく、そのメッセージはビットマップ又はXMLをサポートされている説明フォーマットとして特定し、プリンタのUIを要求する。
ステップ414では、プリンタは該プリンタがサポートできるユーザインターフェースの記述フォーマットの1つを選択し、その特徴に基づいて及び選択されたフォーマットを利用して、UIを説明するデータを作成する。例えば、プリンタはXMLをサポートされるユーザインターフェースデータとして選択し、UIを説明するデータをXML書類として作成してもよい。次の表1はXMLで表現されたUIを説明するデータの例である。
表1:XMLによるUIを説明するデータの例
Figure 0005266967
ステップ416では、プリンタはUIを説明するデータをユニバーサルデバイスドライバに送る。一実施例では、UIを説明するデータ及び好ましいフォーマットの情報は、キャッシュのようなユニバーサルデバイスドライバの局所的なストレージ(ホストコンピュータのローカル記憶領域)に格納されていてもよい。キャッシュを利用することは、ユニバーサルデバイスドライバが、サポートされているUIを説明するデータのフォーマットのリストをステップ412で省略することを可能にし、場合によっては、ステップ412,414,416を全体的に省略するプロセスを可能にする。例えば、ユニバーサルデバイスドライバのキャッシュが、機能自覚周辺装置のユーザインターフェースを記述する現在の情報(ユーザインターフェースデータ)を保持していた場合、ユニバーサルデバイスドライバはキャッシュから、その情報(ユーザインターフェースデータ)を取り出すことができ、ステップ412,414,416をスキップでき、キャッシュから取り出した情報(ユーザインターフェースデータ)に基づいてステップ418でユーザインターフェースを構築することができる。
ここで使用されている「キャッシュ」なる用語は、機能自覚周辺装置、好ましいユーザインターフェースチケットのフォーマット、ユーザインターフェースデータ又はUI画像を示す情報、及び他のデータが「新鮮(flesh)」であるか否かを示す時間的価値を格納できる如何なるデータ構造のものも含む。その時間的価値に基づいてエントリが失効した場合、キャッシュにおけるユーザインターフェースチケット、ユーザインターフェースデータ等のリフレッシュが実行され、サポートされているユーザインターフェースフォーマットを決める交渉を含むステップが反復されてもよい。ルックアップテーブル、データベース又はその他のデータストレージが使用されてもよい。一実施例では、テーブル例は次のように構成されてもよい。
Figure 0005266967
ステップ418では、ユニバーサルデバイスドライバが受信したユーザインターフェースデータに基づいて、ユニバーサルデバイスドライバは表示可能なユーザインターフェースのデータを構築する。ステップ418は、XML書類を1つ以上のGUIウィジェットに解釈(変換)又は表現(レンダリング)することを含んでもよい。ユニバーサルデバイスドライバはオペレーティングシステム又は補助的な機能要素とやりとりを行い、ユーザインターフェースを表現する。或いは、後述するように、画像マップとして、ビットマップされた画像として又は他のグラフィックスファイルとして、機能自覚周辺装置がユーザインターフェースを用意する場合、ユニバーサルデバイスドライバは画像が表示されることを引き起こし、レンダリング又は変換は不要になる。
ステップ420では、ユーザはユーザインターフェースを利用して1つ以上の選択を行う。ユーザが複数の選択を行った場合、ユニバーサルデバイスドライバはユーザの選択の総てについて情報を局所的に格納、つまり、ホストコンピュータ内の記憶領域に記憶してもよい。
ステップ422では、ユニバーラスデバイスドライバは、ユーザから選択された設定値を説明するユーザインターフェースチケットを作成する。例えば、ユーザインターフェースチケットはXML書類、HTML、他の構造化されたテキスト等を含んでもよい。ユーザインターフェースチケットは正準形式(canonical format)で表現可能である。そのCanonicalフォーマットは使用されている機能自覚周辺装置には依存しない。ユーザインターフェースチケットはユーザが行ったユーザインターフェースの選択の総てを特定するが、何らかの意味論的な意義(semantic meaning)を伝達することは必須でない。例えば、プリンタに手で供給される用紙から書類を印刷するように、ユーザインターフェースが手差しオプション(Manual Feed Option)を含み、そのオプションが、ユーザインターフェースを説明するデータの中でXML要素「MFeed」で規定されている手差しボタンで示されていた場合、手差しの説明を用意することなく、MFeedが選択されていることをユーザインターフェースチケットが示してもよい。つまり、ユーザインターフェースチケットは、その選択肢の意味によらず、どのボタンが選択されたかを示すことで十分である。これは、ユーザインターフェースデータを利用して、ユーザインターフェースチケットが作成されているため、機能自覚周辺装置は、受け取ったユーザインターフェースチケットを理解し、実行することが保証されるからである。
表2は表1のユーザインターフェースデータに基づいてXMLで生成されたユーザインターフェースチケットの例を示す。
表2−XMLによるユーザインターフェースチケットの例
Figure 0005266967
一実施例では、表1及び表2のXML書類はXMLスキーマで規定されてもよく、XMLスキーマはXUL又はUIMLのような既存の標準仕様に従う。
ステップ424では、ドライバは、アプリケーションからジョブデータを受信し、ジョブデータをユーザインターフェースチケットと共にプリンタに送る。ジョブデータ及びユーザインターフェースチケットは、同じメッセージ又は異なるメッセージで送信されてよい。ジョブデータは印刷される実際のページデータを含んでもよい。
ステップ426では、プリンタは、ユーザインターフェースチケットを受信し、ユーザインターフェースチケットをプリンタのジョブ設定に解釈する。例えば、ボタン2が選択されていることをユーザインターフェースチケットが示していた場合、その選択は手差しの給紙を要することを、プリンタが確認する。ステップ428では、解釈されたジョブ設定を使って及びステップ424を通じて受信したジョブデータを使って、プリンタはジョブを印刷する。
この方法の成果の1つは、ユニバーサルデバイスドライバが使用される機能自覚周辺装置における総ての特定の機能及び能力を、ユニバーサルデバイスドライバ自身に予め組み込むことは必須でないことである。すなわり、機能自覚周辺装置からのユーザインターフェースデータによって、ユニバーサルデバイスドライバのインタフェースを構築することが可能となるものである。更に、機能自覚周辺装置が新しい機能と共に更新された場合、ユニバーサルデバイスドライバを更新することは必須でない。なぜなら、総ての特徴及び関連するユーザインターフェースは、機能自覚周辺装置によって、ユーザインターフェースデータとしてユニバーサルデバイスドライバに与えられるからである。
図4の例は、ユーザインターフェースデータが、XMLのような構造化テキストで表現されることを仮定していた。しかしながら、他の実施例は他の方法を使って機能自覚周辺装置のユーザインターフェースデータを記述してもよい。図5は、機能自覚周辺装置のユーザインターフェースを有する画像マップ例を示す。画像マップ502は、100画素×100画素の寸法を有するディジタルグラフィック画像である。
図5はディジタルグラフィック画像の隅の座標値を示す。画像マップ502は複数のボタン及び他のUI(ユーザインターフェース)ウィジェットを有し、それらはグラフィック画像の一部として表示されている。画像マップ502のデータ表現の一例はウインドウズビットマップ(BMP)ファイルである。他の実施例では、ジョイントフォトグラフィックエキスパートグループ(JPEG)のフォーマット、グラフィックスインターチェンジフォーマット(GIF)その他のフォーマットのファイルが使用されてもよい。
図6は、ユニバーサルデバイスドライバ及びユーザインターフェースの画像マップを利用する印刷ジョブの処理例を示す。概して図6のプロセスの場合、ユニバーサルデバイスドライバは、ユーザ選択又は「クリック」各々に関する{x,y}座標値で表現された場所を返す。例えば、図5の画像マップ502を利用する場合、値{80,20}は、ユーザがクリックしたPRINT(印刷)ボタン領域内の地点を選択していることを示す。
図6の方法は上述したような図5のステップ402乃至410を使用することから始まる。その後、ステップ610にて、ユニバーサルデバイスドライバはプリンタと連絡をとり、画像マップフォーマットでプリンタのユーザインターフェースを用意することをプリンタに要求する。ステップ612では、プリンタは画像を構築し、その画像をユーザインターフェースデータとしてユニバーサルデバイスドライバに送る。その画像は、上記のように特定された何らかのフォーマットによる画像ファイルで構成される。ステップ612は、プリンタが、プリンタ内のストレージから格納済みの画像を取り出し、その取り出された画像をユニバーサルデバイスドライバに与えることを含む。
ステップ614では、ユニバーサルデバイスドライバは、受信した画像マップがホストコンピュータの表示部に表示されることを引き起こす。ステップ616では、その画像マップで表現されたユーザインターフェースと共にユーザがやりとりを行い、ユーザはユーザインターフェースの特定の要素又はウィジェットを選択する。これに応答してステップ618では、ユニバーサルデバイスドライバは、ユーザが選択した場所の座標をプリンタに送る。
ステップ620では、プリンタは、その場所の座標をプリンタ内で解釈し、ユーザから要求されている選択が表現しているジョブ設定を判定する。ステップ620は、プリンタ内のルックアップテーブルを使用して、受信した{X,Y}座標値を、特定のジョブ設定又は機能の選択に対応付けることを含んでもよい。
必要に応じて、ユーザの選択内容に依存して、ステップ622ではプリンタが新たな画像マップを構築し、その新たな画像マップをユーザインターフェースデータとしてユニバーサルデバイスドライバに送る。ステップ614乃至622は、ステップ624に示されているように、ユーザとのやりとりを完了するように反復されてもよい。例えば、ユーザインターフェースからユーザがプルダウンメニューを選択し、これに応じて新たな画像マップがプルダウンメニューの選択肢を表示するような場合、それらのステップの反復が相応しい。こうして連続的に受信した様々な画像マップは、ユーザインターフェースの一連の状態を、ユーザがユーザインターフェースと共にやりとりするにつれて表示する。プリンタで新たな画像マップを反復的に生成し、新たな画像マップをホストコンピュータでの表示に備えてユニバーサルデバイスドライバへ送ることで、ユーザインターフェースの他の如何なる有用なリフレッシュ(又は更新)がなされてもよい。
ステップ626は、所望の総ての選択を行った後、ユーザがユーザインターフェースとのやりとりを終了することを表す。ステップ628では、ユーザのやりとりに基づいてステップ620で確認されているジョブ設定の総てを利用して、プリンタはジョブを印刷する。
図7は、ユニバーサルデバイスドライバとのユーザのやりとりの際に生じる一連の表示画面例を示す。表示画面720,722,724,726,728,730は表示の一例を示し、その表示は、図6の方法を使用しながらアプリケーション、ユニバーサルデバイスドライバ及びプリンタと共にユーザのやりとりの際に示されてよいものである。
例えば、表示画面720は、ワードプロセッサのようなアプリケーション720のユーザインターフェースを示す。アプリケーション720は、そのアプリケーションのユーザインターフェースの中で印刷アイコン704を含むツールバーを表示している。ユーザが印刷アイコン704を選択すると、ユニバーサルデバイスドライバは一般的なユーザインターフェース706を表示することを引き起こし、その一般的なユーザインターフェースは、表示722に示されるような、特定のプリンタを選択するためのドロップダウンボックスを含む。プリンタを選択するために、ユーザはドロップダウンボックスを選択していることを仮定している。これに応じて、表示724では、ユニバーサルデバイスドライバは、例えばプリンタ1,プリンタ2,プリンタ3,プリンタ4のように識別されているプリンタのリストの表示を引き起こす。一実施例では、プリンタへリクエストを送ることなしに、或いはプリンタからユーザインターフェースデータを受信することなしに、ユニバーサルデバイスドライバは表示722,724のデータを生成する。
ユーザがプリンタ1を選択したと仮定する。これに応じて、表示726に示されるように、一般的なユーザインターフェース706は除去され、ユニバーサルデバイスドライバはプリンタユーザインターフェース708の表示を引き起こし、このプリンタユーザインターフェースは、デバイスドライバが、要求されているプリンタとやりとりを行い且つそのユーザインターフェースを説明するデータを受信した後に作成される。このプリンタユーザインターフェースは、例えば、ジョブ設定の選択ウィジェット710,712及び印刷ボタンを含む。
ユーザがウィジェット710を選択し、そのウィジェットがチェックボックスであったと仮定する。これに応じて、ウィジェット710がチェックされている更新された表示728を、ユニバーサルデバイスドライバは生成及び表示する。更新された表示を生成することは、ユニバーサルデバイスドライバがプリンタと通信し、ウィジェット710のユーザ選択を反映している更新された画像マップ又はユーザインターフェースデータを取得することを含んでもよい。更新された表示は、ユーザがユーザインターフェースとやりとりすることに応じて、ユニバーサルデバイスドライバによって必要に応じて反復的に生成されてよい。
プリンタユーザインターフェース708の中でユーザが更に印刷ボタンを選択したと仮定する。これに応じて、表示730に示されるように、ユニバーサルデバイスドライバは、ジョブデータをプリンタに送り、印刷が始まったことをアプリケーションに通知する。既に決定されているジョブ設定に基づいて、プリンタはジョブデータを印刷できる。デバイスドライバからの信号(通知)を受信したことに応じて、アプリケーションは「ジョブ印刷...」メッセージ714又は同様な情報をアプリケーションのユーザインターフェースで表示する。
図4の方法並びに図5,図6及び図7の方法は、組み合わせて使用されてもよい。その代替例の場合、周辺装置はユニバーサルデバイスドライバへ構造化書類(例えば、XML書類)を送り、その構造化書類は、ユーザインターフェースデータを与え、ユーザインターフェースを実現できる画像マップファイルのデータを含む。様々な実施例の中では、画像マップファイルはユーザインターフェースパネルの総てを表現してもよいし、或いは画像マップが、比較的静的なユーザインターフェースパネルの一部分を表現し、XMLのような構造化テキストが、比較的動的なユーザインターフェースパネルの他の部分の要素及び外観を規定してもよい。
表3は一例を示す。
表3−画像を含むユーザインターフェースデータの例
Figure 0005266967
更に、代替例では、ユニバーサルデバイスドライバが機能自覚周辺装置に送るユーザインターフェースチケットは、XMLのような構造化テキストで表現されてもよいが、ユーザ選択の座標位置を特定してもよい。
表4は一例を示す。
表4−座標を含むユーザインターフェースチケットの例
Figure 0005266967
別の代替例の場合、画像マップに現れるユーザインターフェースは、抽象レイヤと共に構造化テキスト書類に統合され、抽象化レイヤは、その画像に重なり、その画像に関するユーザインターフェースロジックをもたらす。この方法の場合、ユニバーサルデバイスドライバは、画像内の或る領域を、ユーザインターフェース要素の抽象名称に対応付ける。抽象レイヤは、内部的な表現だけに使用され、ユーザには表示されない。
図8Aは、ユーザインターフェース選択領域の画像マップ例を示す。図8Bは、周辺装置のユーザインターフェースの画像マップの例を示す。
図8Aを参照するに、周辺装置のユーザインターフェースの簡略表現は、3つのボタン−ボタン1,ボタン2,ボタン3−を含む。ボタン1,ボタン2,ボタン3のラベルは、構造化テキスト書類に統合される抽象レイヤの表現である。ボタンの隅(角)をなす画素の座標位置は、図8Aに示されている。
図8Aに表現されている抽象名称は、図8Bに示されるような形式でユーザに表示されてもよい。更に、図8Bの形式は、BMP,JPG又はGIFファイルのような画像マップで実現されてもよい。
表5は構造化テキスト例を示し、機能自覚周辺装置からユニバーサルデバイスドライバへ図8A,8Bのユーザインターフェースを説明するデータを伝送するのに使用され、その際、画像マップ中のボタン1,ボタン2,ボタン3を命名する抽象レイヤがその説明構造に統合される。
表5−ユーザインターフェース画像に関する抽象化を伴う構造化テキストの例
Figure 0005266967
表6はユーザインターフェースチケットの例を示し、そのユーザインターフェースチケットは、ユーザがボタン1をクリックしたことを示すように、デバイスドライバにより機能自覚周辺装置に送られる。
表6−抽象化を含むユーザインターフェースチケットの例
Figure 0005266967
上記の各方法の成果の1つは、機能自覚周辺装置とやりとりしたリクエストを受け取った時点の機能自覚周辺装置の備える機能に基づいて、ユーザインターフェースが動的に生成されることである。ユニバーサルデバイスドライバからのリクエストに応答してユーザインターフェースを説明することのできる(ユーザインターフェースデータを送信することができる)如何なる機能自覚周辺装置とでも、ユニバーサルデバイスドライバは所望のユーザインターフェースを備えるドライバとして機能することができる。この場合、基本的にはユーザがアプリケーションプログラムとやりとりする際の方法又はアプリケーションプログラムにおける変更は必須でない。さらに、基本的にはオペレーティングシステムの変更も必須でない。ユーザアプリケーションがデバイスドライバ(即ち、上記のユニバーサルデバイスドライバ)と共に使用される場合、ユーザの処理は変わらない。しかしながら、ユーザがやりとりを行うユーザインターフェースは、機能自覚周辺装置での機能が更新されるにつれて刻々と変化するが、ホストコンピュータでユニバーサルデバイスドライバを更新することは必須でない。
3.0 ハードウエア概要
図9は本発明の実施例で使用されるコンピュータシステム900のブロック図を示す。コンピュータシステム900は、情報を通信するためのバス902又は他の通信手段と、バス902に結合された情報を処理するプロセッサ904とを有する。コンピュータシステム900は、ランダムアクセスメモリ(RAM)又は他のダイナミックストレージデバイスのようなバス902に結合されたメインメモリ907を有し、メインメモリはプロセッサ904で実行される命令や情報を格納する。メインメモリ907は、プロセッサ904で実行される命令の実行中に、一時的な変数又は他の中間的な情報を格納するのに使用されてもよい。コンピュータシステム900は、プロセッサ904のための命令や静的な情報を格納する、バス902に結合されたリードオンリメモリ(ROM)又は他のスタティックストレージデバイスを更に含む。磁気ディスク又は他の光ディスクのようなストレージデバイス910は、情報及び命令を格納するために用意されてバス902に結合される。
コンピュータシステム900は、ユーザに情報を表示するために、陰極線管(CRT)のようなディスプレイ912にバス902を介して結合されてもよい。英数字その他のキーを含む入力装置914は、情報及び命令選択内容をプロセッサ904に通知するためにバス902に結合される。他の種類のユーザ入力装置は、カーソル制御装置916(例えば、マウス、トラックボール、スタイラス又はカーソル方向キー)であり、指示情報及び命令選択をプロセッサ904に通知し且つディスプレイ912でのカーソルの動きを制御する。この入力装置は典型的には第1軸(例えば、x)及び第2軸(例えば、y)の2軸による2つの自由度を有し、装置が平面上の位置を指定できるようにする。
本発明は無線通信アーキテクチャのコンピュータシステム900を利用することに関連する。本発明の一実施例によれば、メインメモリ907に含まれる1以上の命令の1以上のシーケンスを実行するプロセッサ904に応じて、無線通信がコンピュータシステム900によって提供される。そのような命令は、ストレージデバイス910のような他のコンピュータ読取可能な媒体からメインメモリ907に読み込まれてもよい。メインメモリ907に含まれている命令シーケンスの実行は、本願で説明されるプロセスステップをプロセッサ904が実行することを引き起こす。マルチプロセッシング構成の1以上のプロセッサが、メインメモリ907に含まれている命令シーケンスを実行するのに使用されてもよい。代替実施例では、本発明を実施するために、ハードワイヤード回路が、代替的に使用されてもよいし或いはソフトウエア命令との組み合わせで使用されてもよい。すなわち本発明の実施例はハードウエア回路及びソフトウエアの特定の如何なる組み合わせにも限定されない。
ここで使用されているように「マシン読取可能な媒体」なる用語は、命令をプロセッサ904の実行に備えて提供することに関与する如何なる媒体にも関連する。コンピュータシステム900を利用して実現される例の場合、様々なマシン読取可能な媒体が含まれ、例えば、実行に備えて命令をプロセッサ904に提供する際に使用される。そのような媒体は多くの形態をとってよく、限定ではないが、記憶媒体及び伝送媒体を含む。ストレージ媒体は、不揮発性媒体及び揮発性媒体の双方を含む。不揮発性媒体は、例えば、ストレージデバイス910のような光又は磁気ディスクを含む。揮発性媒体は、メインメモリ907のようなダイナミックメモリを含む。伝送媒体は、同軸ケーブル、銅線及び光ファイバを含み、バス902を構成するワイヤを含む。伝送媒体は、無線電波及び赤外線データ通信の際に生成されるもののような、音波又は光波の形式をとってもよい。そのような媒体は、その媒体で運ばれる命令が、マシンの中に命令を読み込む物理的手段により検出されることを可能にするように実現可能でなければならない。
マシン読取可能な媒体の一般的な形態は、フロッピディスク、フレキシブルディスク、ハードディスク、磁気テープその他の如何なる磁気媒体、CD-ROMその他の如何なる光媒体、パンチカード、紙テープ又は穴のパターンを有する他の如何なる物理的媒体、RAM、PROM、EPROM、フラッシュEPROMその他のメモリチップ、カートリッジ、上記のような搬送波又はコンピュータが読み取ることの可能な他の如何なる媒体でも含む。
マシン読取可能な様々な形態は、1以上の命令の1以上のシーケンスをプロセッサ904に実行に備えて搬送する際にも適用可能である。例えば命令は初期には遠く離れたリモートコンピュータの磁気ディスクで搬送されてもよい。リモートコンピュータは自身のダイナミックメモリからその命令をロードし、モデムを用いて電話回線を介して命令を送信してもよい。コンピュータシステム900付近のモデムは電話回線でそのデータを受信し、赤外線送信機を用いてそのデータを赤外線信号に変換する。バス902に結合された赤外線検出器は、赤外線信号で搬送されたデータを受信し、そのデータをバス902に置く。バス902はデータをメインメモリ907に運び、プロセッサ904はメインメモリから命令を抽出して実行する。メインメモリ907で受信された命令は、プロセッサ904で実行される前又はその後にストレージデバイス910に選択的に格納されてもよい。
コンピュータシステム900はバス902に結合された通信インターフェース918も含む。通信インターフェース918は、ローカルネットワーク922に接続されるネットワークリンク920に結合する双方向データ通信をもたらす。例えば、通信インターフェース918は、データ通信接続を対応するタイプの電話回線に与える統合サービスディジタルネットワーク(ISDN)カード又はモデムでもよい。別の例では、通信インターフェース918は、データ通信接続をコンパチブルなLANに与えるLANカードでもよい。無線リンクが使用されてもよい。どの実現手段でも、通信インターフェース918は、電気的な、電磁的な又は光学的な信号を送信及び受信し、様々なタイプの情報を表現するディジタルデータストリームを運ぶ。
ネットワークリンク920は典型的には1以上のネットワークを介して他のデータ装置とのデータ通信をもたらす。例えば、ネットワークリンク920はローカルネットワーク922を介してホストコンピュータとのコネクションを提供する、或いはインターネットサービスプロバイダ(ISP)926により運営されるデータ機器とのコネクションを提供する。そしてISP926はデータ通信サービスをワールドワイドパケットデータ通信ネットワーク(今日、インターネット928として一般に言及されている)を介して提供する。ローカルネットワーク922及びインターネット928の双方は、ディジタルデータストリームを搬送する、電気的な、電磁的な又は光学的な信号を使用する。様々なネットワークを介する信号や、ネットワークリンク920における通信インターフェース918を介する信号は、コンピュータシステムに及びそこからディジタルデータを搬送し、例えば情報を伝送する搬送波の形式をとってもよい。
コンピュータシステム900は、ネットワーク、ネットワークリンク920及び通信インターフェースを介して、メッセージを送信し及びプログラムコードを含むデータを受信する。インターネットの例では、サーバ930はインターネット928、ISP926、ローカルネットワーク922及び通信インターフェース918を介して、アプリケーションプログラムに関する要求されたコードを送信するかもしれない。本発明によれば、そのような或るダウンロードされるアプリケーションは、監視システムが、選択されたネットワーク要素を上述のように監視するように構築する。プロセッサ904は受信したコードを受信したときに実行してもよいし、後の実行に備えてストレージデバイス910又は他の不揮発性ストレージに格納していたかのように実行してもよい。このようにコンピュータシステム900は搬送波の形式でアプリケーションコードを取得してもよい。
4.0 拡張性及び代替例
以上の説明により、本発明の実施例が多くの具体的詳細を参照しながら説明され、その具体的詳細は実現手段毎に異なってよい。本発明に関する独占排他権のインジケータであって、出願人が本発明であると主張するものは、特定の態様で本願により許可される特許請求の範囲であり、その特定の形態の特許請求の範囲は以後の如何なる補正をも含む。特許請求の範囲に登場している用語についての明示的に言及されたどの定義も、特許請求の範囲で使用されるそのような用語の意味を規定する。それ故に、どのような方法によっても、特許請求の範囲で明示的には引用されていない要素、特性、特徴、利点又は属性の何れも特許請求の範囲を限定するよう解釈されるべきでない。従って明細書及び図面は限定的な意味ではなく例示的に解釈されるべきである。
ユニバーサルデバイスドライバが使用されるコンピュータシステム例を示す図である。 図1のユニバーサルデバイスドライバ及び周辺装置間で通信されるデータを示す図である。 ユニバーサルデバイスドライバの動作方法例を示す図である。 ユニバーサルデバイスドライバ、ユーザインターフェースデータ及びユーザインターフェースチケットを利用する印刷ジョブの処理例を示す図である。 周辺装置のユーザインターフェースを有する画像マップ例を示す図である。 ユニバーサルデバイスドライバ及びユーザインターフェースの画像マップを利用する印刷ジョブの処理例を示す図である。 ユニバーサルデバイスドライバとのユーザのやりとりの際に生じる一連の表示画面例を示す図である。 ユーザインターフェース選択領域の画像マップ例を示す図である。 周辺装置のユーザインターフェースの画像マップ例を示す図である。 本発明の一実施例が使用されるコンピュータシステム例900を示すブロック図である。
符号の説明
100 ユニバーサルデバイスドライバ
102 ユーザ
104 ホストコンピュータ
106 オペレーティングシステム
108 インターフェース
110 アプリケーションプログラム
112,114 機能自覚周辺装置
116 ネットワーク
202 通信プロトコル
204 ジョブデータ
206 ユーザインターフェースデータ
208 ユーザインターフェースチケット
900 コンピュータシステム
902 バス
904 プロセッサ
907 メインメモリ
908 リードオンリメモリ
910 ストレージデバイス
912 ディスプレイ
914 入力装置
916 カーソル制御部
918 通信インターフェース
920 ネットワークリンク
922 ローカルネットワーク
924 ホスト
926 インターネットサービスプロバイダ
928 インターネット
930 サーバ

Claims (17)

  1. 1つ以上のコンピュータ読取可能な記憶媒体に実行に備えてエンコードされたロジックを含むコンピュータ周辺装置ドライバであって、前記ロジックはコンピュータに或る手順を実行させ、前記手順は、
    当該コンピュータ周辺装置ドライバがサポートする1つ以上のインターフェースフォーマットのリストを周辺装置に送信すること、
    当該コンピュータ周辺装置ドライバがサポートするユーザインターフェースチケットの内選択されたものを特定する情報を、前記周辺装置から受信すること、
    前記周辺装置のユーザインターフェースを求めるリクエストを、前記コンピュータから前記周辺装置へ送信すること、
    前記リクエストの時点における前記周辺装置の機能に基づいて前記周辺装置が作成した前記ユーザインターフェースの説明を、前記周辺装置から受信すること、
    前記ユーザインターフェースの前記説明に基づいて1つ以上のグラフィカルユーザインターフェース(GUI)要素を作成し、該GUI要素の表示を引き起こすこと、
    前記GUI要素の1つ以上を選択したことを表すユーザ入力を受信すること、
    前記ユーザ入力で表現されているように、選択されたGUI要素を説明するユーザインターフェースチケットを作成すること、及び
    前記ユーザインターフェースチケットを前記周辺装置に送信すること、
    を含む、コンピュータ周辺装置ドライバ。
  2. 複数の利用可能な周辺装置のリストを生成及び表示すること、
    該利用可能な周辺装置の内1つを選択したことを示す第2のユーザ入力を受信すること、及び
    該第2のユーザ入力で表現されている利用可能な周辺装置の内選択されたものに前記リクエストを送信すること、
    を引き起こすロジックを更に有する請求項1記載のコンピュータ周辺装置ドライバ。
  3. 拡張マークアップ言語(XML)ストリーム又はファイル、画像ファイル、画像ファイルをラッピングするXMLストリーム又はファイル、或いは画像ファイルを参照し且つ画像ファイルに関する追加的なメタデータを有するXMLストリーム又はファイル、XULフォーマット、UIMLフォーマット又は他のフォーマットの何れかにおいて、前記ユーザインターフェースの説明を前記周辺装置から受信することを引き起こすロジックを更に有する請求項1記載のコンピュータ周辺装置ドライバ。
  4. 前記周辺装置がサポートするユーザインターフェースフォーマットを特定する情報を前記周辺装置から受信すること、及び
    前記情報をテーブルのエントリに格納すること
    を引き起こすロジックを更に有し、前記テーブルは、前記周辺装置の識別子と共に、前記ユーザインターフェースの説明のコピーと前記情報とを関連付けるようにした請求項1記載のコンピュータ周辺装置ドライバ。
  5. 前記エントリの時間的価値が失効した場合にのみ、新たなユーザインターフェース説明を求めるリクエストを前記周辺装置に送るのを実行することを引き起こすロジックを更に有する請求項記載のコンピュータ周辺装置ドライバ。
  6. アプリケーションプログラムのジョブデータを、前記ユーザインターフェースチケットとは別個に前記周辺装置に送ることを引き起こすロジックを更に有する請求項1記載のコンピュータ周辺装置ドライバ。
  7. 前記周辺装置が、プリンタ、複合機、スキャナ又は仕上げ装置の何れかを有する請求項1記載のコンピュータ周辺装置ドライバ。
  8. 前記ユーザインターフェースの説明が画像マップを有し、前記ユーザインターフェースチケットが1つ以上の座標群を有する請求項1記載のコンピュータ周辺装置ドライバ。
  9. 前記周辺装置のユーザインターフェースを求める第2のリクエストを、前記コンピュータから前記周辺装置へ送信すること、
    前記第2のリクエストの時点における前記周辺装置の機能に基づいて前記周辺装置が作成した前記ユーザインターフェースの第2の説明を、前記周辺装置から受信すること、
    前記ユーザインターフェースの前記第2の説明に基づいて1つ以上の第2のグラフィカルユーザインターフェース(GUI)要素を作成し、該第2のGUI要素の表示を引き起こすこと、
    を引き起こすロジックを更に有し、前記第2の説明は、前記周辺装置の変更された機能に関する新たなグラフィカルユーザインターフェース要素を説明しているようにした請求項1記載のコンピュータ周辺装置ドライバ。
  10. 前記ユーザインターフェースチケットを受信したことに応答して、前記周辺装置が作成した第2の画像マップを前記周辺装置から受信すること、
    前記第2の画像マップの表示を引き起こすこと、
    前記第2の画像マップ内の1つ以上の第2の選択を表す第2のユーザ入力を受信すること、
    前記第2の選択を説明する第2のユーザインターフェースチケットを作成すること、
    前記第2のユーザインターフェースチケットを前記周辺装置に送信すること、
    ユーザインターフェースの最後の選択がなされるまで、先行する手順を反復すること
    を引き起こすロジックを更に有する請求項1記載のコンピュータ周辺装置ドライバ。
  11. つ以上のコンピュータ読取可能な記憶媒体に実行に備えてエンコードされたコンピュータ周辺装置ドライバを含む装置であって、前記コンピュータ周辺装置ドライバにより当該装置は或る手順を実行し、前記手順は、
    当該装置がサポートする1つ以上のインターフェースフォーマットのリストを周辺装置に送信すること、
    当該装置がサポートするユーザインターフェースチケットの内選択されたものを特定する情報を、前記周辺装置から受信すること、
    周辺装置のユーザインターフェースを求めるリクエストを、当該装置から前記周辺装置へ送信すること、
    前記リクエストの時点における前記周辺装置の機能に基づいて前記周辺装置が作成した前記ユーザインターフェースの説明を、前記周辺装置から受信すること、
    前記ユーザインターフェースの前記説明に基づいて1つ以上のグラフィカルユーザインターフェース(GUI)要素を作成し、該GUI要素の表示を引き起こすこと、
    前記GUI要素の1つ以上を選択したことを表すユーザ入力を受信すること、
    前記ユーザ入力で表現されているように、選択されたGUI要素を説明するユーザインターフェースチケットを作成すること、及び
    前記ユーザインターフェースチケットを前記周辺装置に送信すること、
    を含む、装置。
  12. 複数の利用可能な周辺装置のリストを生成及び表示すること、
    該利用可能な周辺装置の内1つを選択したことを示す第2のユーザ入力を受信すること、及び
    該第2のユーザ入力で表現されている利用可能な周辺装置の内選択されたものに前記リクエストを送信すること、
    を引き起こすロジックを更に有する請求項11記載の装置。
  13. 拡張マークアップ言語(XML)ストリーム又はファイル、画像ファイル、画像ファイルをラッピングするXMLストリーム又はファイル、或いは画像ファイルを参照し且つ画像ファイルに関する追加的なメタデータを有するXMLストリーム又はファイル、XULフォーマット、UIMLフォーマット又は他のフォーマットの何れかにおいて、前記ユーザインターフェースの説明を前記周辺装置から受信することを引き起こすロジックを更に有する請求項11記載の装置。
  14. 前記周辺装置がサポートするユーザインターフェースフォーマットを特定する情報を前記周辺装置から受信すること、及び
    前記情報をテーブルのエントリに格納すること
    を引き起こすロジックを更に有し、前記テーブルは、前記周辺装置の識別子と共に、前記ユーザインターフェースの説明のコピーと前記情報とを関連付けるようにした請求項12記載の装置。
  15. 前記エントリの時間的価値が失効した場合にのみ、前記周辺装置がサポートする1つ以上のユーザインターフェースフォーマットのリストを前記周辺装置に送るのを実行すること、及び
    前記周辺装置がサポートするユーザインターフェースフォーマとの内選択されたものを特定する情報を、前記周辺装置から受信すること、
    を引き起こすロジックを更に有する請求項14記載の装置。
  16. コンピュータが実行する方法であって、前記方法は、
    前記コンピュータがサポートする1つ以上のインターフェースフォーマットのリストを周辺装置に送信するステップと、
    前記コンピュータがサポートするユーザインターフェースチケットの内選択されたものを特定する情報を、前記周辺装置から受信するステップと、
    前記周辺装置のユーザインターフェースを求めるリクエストを、前記コンピュータから前記周辺装置へ送信するステップと、
    前記リクエストの時点における前記周辺装置の機能に基づいて前記周辺装置が作成した前記ユーザインターフェースの説明を、前記周辺装置から受信するステップと、
    前記ユーザインターフェースの前記説明に基づいて1つ以上のグラフィカルユーザインターフェース(GUI)要素を作成し、該GUI要素の表示を引き起こすステップと、
    前記GUI要素の1つ以上を選択したことを表すユーザ入力を受信するステップと、
    前記ユーザ入力で表現されているように、選択されたGUI要素を説明するユーザインターフェースチケットを作成するステップと、
    前記ユーザインターフェースチケットを前記周辺装置に送信するステップと、
    を有するコンピュータが実行する方法。
  17. 複数の利用可能な周辺装置のリストを生成及び表示するステップと、
    該利用可能な周辺装置の内1つを選択したことを示す第2のユーザ入力を受信するステップと、
    該第2のユーザ入力で表現されている利用可能な周辺装置の内選択されたものに前記リクエストを送信するステップと、
    を有する請求項16記載の方法。
JP2008219418A 2007-08-29 2008-08-28 コンピュータ周辺装置ドライバ、装置及び方法 Expired - Fee Related JP5266967B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/846,869 US20090094539A1 (en) 2007-08-29 2007-08-29 Controlling a computer peripheral device using a universal driver and device-generated user interface information
US11/846,869 2007-08-29

Publications (2)

Publication Number Publication Date
JP2009059363A JP2009059363A (ja) 2009-03-19
JP5266967B2 true JP5266967B2 (ja) 2013-08-21

Family

ID=40524370

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008219418A Expired - Fee Related JP5266967B2 (ja) 2007-08-29 2008-08-28 コンピュータ周辺装置ドライバ、装置及び方法

Country Status (2)

Country Link
US (1) US20090094539A1 (ja)
JP (1) JP5266967B2 (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090190150A1 (en) * 2008-01-24 2009-07-30 Selvaraj Senthil K On-Demand Print Driver
US8370858B2 (en) * 2008-12-11 2013-02-05 Sap Ag Creating step descriptions for application program interfaces
US8427675B2 (en) * 2009-01-27 2013-04-23 Ricoh Company, Ltd. Automatically updating a printer driver with new printing device features
US20100225958A1 (en) * 2009-03-06 2010-09-09 Selvaraj Senthil K Approach For Printing To Web Services-Enabled Printing Devices
US8773687B2 (en) * 2009-03-06 2014-07-08 Ricoh Company, Ltd. Driverless architecture for printing systems
KR101556220B1 (ko) * 2009-06-12 2015-09-30 삼성전자주식회사 호스트 장치 및 그의 제어 방법 그리고 이에 제어되는 화상독취장치
KR20100138482A (ko) * 2009-06-25 2010-12-31 삼성전자주식회사 호스트 장치 및 그의 주변장치 제어 방법 그리고 이에 제어되는 화상형성장치
KR101487877B1 (ko) * 2009-07-31 2015-01-30 삼성전자주식회사 호스트 장치 및 그의 드라이버 관리 방법
TWI391824B (zh) * 2009-12-18 2013-04-01 Feeling Technology Corp Drive the connection system
GB2477795A (en) * 2010-02-15 2011-08-17 Sony Europ Customisation of actions selectable by a user interface when a storage device is connected
GB2477794A (en) * 2010-02-15 2011-08-17 Sony Europ Customisation of the appearance of a user interface when a storage device is connected
JP5195861B2 (ja) 2010-09-30 2013-05-15 コニカミノルタビジネステクノロジーズ株式会社 情報処理システム
JP5321929B2 (ja) * 2010-11-26 2013-10-23 ブラザー工業株式会社 ユニバーサルデバイスドライバ、デバイス制御プログラム、情報処理装置、サーバ装置、及び、方法
JP2012199647A (ja) * 2011-03-18 2012-10-18 Konica Minolta Business Technologies Inc 画像処理装置、画像処理システムおよび画像処理装置の設定用プログラム
US20130208303A1 (en) * 2012-02-10 2013-08-15 Ricoh Company, Ltd. Application supplying apparatus and relay apparatus on cloud
JP5995461B2 (ja) 2012-02-24 2016-09-21 キヤノン株式会社 情報処理装置、制御方法、プログラム
JP6074165B2 (ja) * 2012-06-01 2017-02-01 キヤノン株式会社 情報処理装置、情報処理方法およびプログラム
US8994973B2 (en) * 2012-10-23 2015-03-31 Samsung Electronics Co., Ltd. User terminal apparatus and method of controlling thereof
JP6269006B2 (ja) 2013-12-11 2018-01-31 株式会社リコー 情報処理装置、情報処理方法、及び情報処理プログラム
US10474590B2 (en) * 2017-09-06 2019-11-12 Roland Corporation Storage medium storing device driver, peripheral device, and information processing system
US11126644B2 (en) * 2019-01-31 2021-09-21 Salesforce.Com, Inc. Automatic discovery of locations of translated text in localized applications

Family Cites Families (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2589932B2 (ja) * 1992-06-15 1997-03-12 インターナショナル・ビジネス・マシーンズ・コーポレイション 装置の割り当てのグローバルな最適化方法とシステム
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
US5692111A (en) * 1994-10-05 1997-11-25 Microsoft Corporation Automatic installation of printers in a distributed environment
JP3720439B2 (ja) * 1995-01-06 2005-11-30 キヤノン株式会社 データ入出力制御装置及びデータ入出力制御方法
JPH0991102A (ja) * 1995-09-26 1997-04-04 Ricoh Co Ltd ネットワーク・システムにおけるプリント・ジョブ実行結果の通知方法,ネットワーク・システムにおけるスキャン条件の設定方法およびネットワーク・プリンティング/スキャニング・システム
US5764235A (en) * 1996-03-25 1998-06-09 Insight Development Corporation Computer implemented method and system for transmitting graphical images from server to client at user selectable resolution
JP3870983B2 (ja) * 1997-02-17 2007-01-24 ソニー株式会社 電子機器制御装置および方法、並びに電子機器
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
US6952831B1 (en) * 1999-02-26 2005-10-04 Microsoft Corporation Driverless printing
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
EP1143695A3 (en) * 2000-03-29 2004-01-21 Canon Kabushiki Kaisha Control method for image processing apparatus connectable to computer network
JP2001344078A (ja) * 2000-06-05 2001-12-14 Fujitsu Ltd 印刷システム及び当該印刷システムによる印刷方法
US6543127B1 (en) * 2000-07-11 2003-04-08 St Assembly Test Service Ltd. Coplanarity inspection at the singulation process
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
US6631010B1 (en) * 2000-11-13 2003-10-07 Hewlett-Packard Development Company, L.P. Web-based imaging system utilizing “cookies” to provide a single-action printing option
US7002703B2 (en) * 2001-01-18 2006-02-21 Hewlett-Packard Development Company, L.P. Automatic download to print job retention
US7174534B2 (en) * 2001-01-22 2007-02-06 Symbol Technologies, Inc. Efficient system and method for running and analyzing multi-channel, multi-modal applications
US6898624B2 (en) * 2001-03-19 2005-05-24 Hewlett-Packard Development Company, L.P. System and method providing an embedded web server facsimile service
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
US20040019628A1 (en) * 2002-07-09 2004-01-29 Puri Anish N. System for remotely rendering content for output by a printer
US7073174B2 (en) * 2001-06-05 2006-07-04 Hewlett-Packard Development Company, L.P. Use of job tickets to secure resource access
US7809807B2 (en) * 2001-08-08 2010-10-05 Canon Kabushiki Kaisha Image forming system, image forming method, and server
US20030030664A1 (en) * 2001-08-13 2003-02-13 Parry Travis J. Customizable control panel software
US20030048473A1 (en) * 2001-09-13 2003-03-13 Allan Rosen Printing device having a built-in device driver
US20040215665A1 (en) * 2002-01-09 2004-10-28 Edgar David A. System, method, and computer program product for providing accelerated and secure wireless data transmission over the internet
US20030160989A1 (en) * 2002-02-25 2003-08-28 Xerox Corporation System for installing a printer driver on a network
US20030184782A1 (en) * 2002-03-27 2003-10-02 Perkins Gregory E. Printer driver configured to dynamically receive printer self-description
JP2004086355A (ja) * 2002-08-23 2004-03-18 Tytrast Systems Inc 統合化システム
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
US20040130744A1 (en) * 2003-01-03 2004-07-08 Vincent Wu Online print with driverless web print server
US7312887B2 (en) * 2003-01-03 2007-12-25 Toshiba Corporation Internet print protocol print dispatch server
US20040179231A1 (en) * 2003-03-11 2004-09-16 Savino Ronald F. Automated creation and prepress preparation of bleed tabs in printed documents
US7349116B2 (en) * 2003-08-07 2008-03-25 Hewlett-Packard Development Company, L.P. Design-to-ship enabled shipping device in a commercial printing environment and managing workflow for use with same
US20050030557A1 (en) * 2003-08-07 2005-02-10 Hewlett-Packard Development Company, L.P. Design-to-press enabled printing device and design-to-finish enabled finishing device in a commercial printing environment and managing workflow for use with same
US20050043846A1 (en) * 2003-08-07 2005-02-24 Hewlett-Packard Development Company, L.P. Design-to-pack enabled packaging device in a commercial printing environment and managing workflow for use with same
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
US20050111029A1 (en) * 2003-11-25 2005-05-26 Dehart Dave R. Systems and methods for providing printer status information to users
US6975820B2 (en) * 2004-02-13 2005-12-13 Microsoft Corporation Device control using job ticket scoring
JP4360248B2 (ja) * 2004-03-29 2009-11-11 株式会社日立製作所 印刷管理システム
KR20060036248A (ko) * 2004-10-25 2006-04-28 삼성전자주식회사 웹서버를 내장한 프린터 및 그 인쇄방법
US7679763B2 (en) * 2004-11-29 2010-03-16 Hewlett-Packard Development Company, L.P. System and method for managing capabilities in a network
US7640295B2 (en) * 2004-12-04 2009-12-29 Hewlett-Packard Development Company, L.P. Methods and apparatus for managing data flow within a network
JP2006171865A (ja) * 2004-12-13 2006-06-29 Canon Inc 出力管理装置設定装置及び出力管理システム設定方法
JP4865358B2 (ja) * 2005-03-31 2012-02-01 キヤノン株式会社 プリント要求の受付順保証機能を備える印刷制御装置、制御方法、記憶媒体及びプログラム
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
US8243325B2 (en) * 2005-07-08 2012-08-14 Xerox Corporation Method for prepress-time color match verification and correction
JP5025165B2 (ja) * 2006-05-12 2012-09-12 キヤノン株式会社 印刷システム、制御方法及びプログラム
JP2008040991A (ja) * 2006-08-09 2008-02-21 Nec Corp 印刷システム,印刷方法並びに印刷用プログラム
US8289537B2 (en) * 2007-01-31 2012-10-16 Ricoh Company, Ltd. Translating PDL-based print stream to job ticket-based print stream
US8589866B2 (en) * 2007-08-29 2013-11-19 Ricoh Company, Ltd. Automatically generating capability-based computer peripheral device drivers
US20090190150A1 (en) * 2008-01-24 2009-07-30 Selvaraj Senthil K On-Demand Print Driver
US20100082782A1 (en) * 2008-09-30 2010-04-01 Yi Ding Providing peripheral device attributes to a client for selection
US8405853B2 (en) * 2009-07-31 2013-03-26 Ricoh Company, Ltd. Dynamic DEVMODE support
US8289551B2 (en) * 2009-08-03 2012-10-16 Ricoh Company, Ltd. Approach for processing print data without a client print driver

Also Published As

Publication number Publication date
US20090094539A1 (en) 2009-04-09
JP2009059363A (ja) 2009-03-19

Similar Documents

Publication Publication Date Title
JP5266967B2 (ja) コンピュータ周辺装置ドライバ、装置及び方法
JP5287041B2 (ja) データ処理システム、コンピュータ読取可能なデータ記憶媒体及び方法
US8214548B2 (en) Capability-based control device driver of a computer peripheral device
JP7480375B2 (ja) 情報処理装置、制御方法及びプログラム
CN109669645B (zh) 控制方法
US6965958B1 (en) Searching for printers over a network using intermediate print data
US8736877B2 (en) Print system, client, control method, and storage medium
US20120033257A1 (en) Information processing apparatus, image forming apparatus, control methods thereof and storage media
US9329825B2 (en) Information processing apparatus, computer-readable storage medium, and method that generate a screen based on stored screen information and functional information
JP5047067B2 (ja) 情報処理装置、データ出力システム、データ生成プログラム及びその記録媒体
US8773675B2 (en) Providing an integrated, feature oriented printer selection system
JP5995461B2 (ja) 情報処理装置、制御方法、プログラム
JP2002196901A (ja) 仮想的な印刷プレビュー方法
US20090303515A1 (en) Printer driver program, and printing instruction device
JP2011034562A (ja) プリントシステム
JP2010033574A (ja) データ処理方法、装置及びコンピュータ読取可能な媒体
US7876464B2 (en) Combined interface for specifying separate characteristics for multiple copies of an electronic document
JP2005148953A (ja) 情報処理装置、周辺装置制御システム及び情報処理装置に適用される周辺装置制御方法並びにそのプログラム
WO2010128339A2 (en) Method and apparatus for printing from a mobile device
JP5729652B2 (ja) プリンタドライバ及びプリンタドライバのローカライズ方法
JP5353997B2 (ja) 情報処理装置、情報処理システム、プログラム及びその記録媒体
JP2011034460A (ja) 画像処理連携システム
JP5790341B2 (ja) データ処理装置、印刷システム、データ処理方法、プログラムおよび記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110613

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120830

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130115

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130318

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130422

LAPS Cancellation because of no payment of annual fees