JP5287041B2 - Data processing system, computer readable data storage medium and method - Google Patents

Data processing system, computer readable data storage medium and method Download PDF

Info

Publication number
JP5287041B2
JP5287041B2 JP2008219420A JP2008219420A JP5287041B2 JP 5287041 B2 JP5287041 B2 JP 5287041B2 JP 2008219420 A JP2008219420 A JP 2008219420A JP 2008219420 A JP2008219420 A JP 2008219420A JP 5287041 B2 JP5287041 B2 JP 5287041B2
Authority
JP
Japan
Prior art keywords
computer peripheral
computer
peripheral device
data
job
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
JP2008219420A
Other languages
Japanese (ja)
Other versions
JP2009059365A (en
Inventor
均 関根
レニエ アラン
ワン ヤオ−ティエヌ
リィウ ユエ
ケイ セルヴァラジ センシル
シアオ ジェニン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Publication of JP2009059365A publication Critical patent/JP2009059365A/en
Application granted granted Critical
Publication of JP5287041B2 publication Critical patent/JP5287041B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Description

本発明はコンピュータデバイスドライバ、ジョブチケットベースデバイス及びページ記述言語(PDL)周辺装置環境に関連する。   The present invention relates to computer device drivers, job ticket-based devices, and page description language (PDL) peripheral device environments.

周辺装置はコンピュータに結合可能である。コンピュータ上で動作するアプリケーションプログラムは、通常、デバイスドライバを介して周辺装置を制御し、様々な種類の周辺装置について、周辺装置毎に特定のデバイスドライバが使用される。デバイスドライバは、一般的には、デバイスタイプ、プロセッサ及びそのデバイスドライバが動作しているオペレーティングシステム(プラットフォーム)に対して特有であり、しばしば、プラットフォームが生成するデータのタイプに対してさえ特有に用意する必要がある。   The peripheral device can be coupled to a computer. An application program operating on a computer usually controls a peripheral device via a device driver, and a specific device driver is used for each peripheral device for various types of peripheral devices. Device drivers are generally specific to the device type, the processor and the operating system (platform) on which the device driver is running, and often even specific to the type of data generated by the platform. There is a need to.

各デバイスドライバは、オペレーティングシステムやアプリケーションプログラムに関するインターフェースとして機能し、周辺装置と通信を行う。デバイスドライバは一般的にはハードウエアに依存しており、各デバイスドライバは特定のタイプの周辺装置のハードウエア(例えば、プリンタ、スキャナ、ビデオアダプタ、ネットワークインターフェースカード、サウンドカード、WEBカメラ、ディジタルカメラ等)について設計される。   Each device driver functions as an interface related to an operating system and application programs, and communicates with peripheral devices. Device drivers are typically hardware dependent, and each device driver is a specific type of peripheral hardware (eg printer, scanner, video adapter, network interface card, sound card, web camera, digital camera) Etc.) designed.

周辺装置がプリンタの場合、デバイスドライバはプリンタドライバと呼ばれ、図形オブジェクトを生成するアプリケーションプログラムとやりとりを行い、その図形オブジェクトは紙に印刷可能なデータである。プリンタドライバは、出力用紙トレイ及び用紙サイズのようなプリンタのハードウエア特性及び設定も制御する。プリンタドライバは、アプリケーションプログラムから発せられたリクエストを、ポストスクリプト,PCL,PJL等のようなプリンタ固有の制御言語(PDL: Page Description Language)に変換する。プリンタドライバ及びプリンタ間で通信されるデータは、PDLデータストリーム内で一緒に混ざっているハードウエア制御コマンド及び印刷可能なデータの双方を含む。
あるハイエンドのプリンタ(特に、商用に使用されるもの又は大規模な製造印刷環境で使用されるもの)は、ジョブ定義フォーマット(JDF: Job Definition Format)で表現されるコマンドを使用するチケットベースのプリンタ制御(機能)をサポートする。あるデータストリームでプリンタジョブチケットベースのプリンタ制御コマンド、及び別の時点でプリンタに送信される第2データストリーム中の印刷可能なデータをプリンタドライバがプリンタへ送ることを、JDFは可能にする。この技法の場合、制御コマンド及び印刷可能なデータが混ざってしまう。
When the peripheral device is a printer, the device driver is called a printer driver, and interacts with an application program that generates a graphic object. The graphic object is data that can be printed on paper. The printer driver also controls printer hardware characteristics and settings such as output paper tray and paper size. The printer driver converts a request issued from an application program into a printer-specific control language (PDL: Page Description Language) such as PostScript, PCL, PJL, or the like. Data communicated between the printer driver and the printer includes both hardware control commands and printable data that are mixed together in the PDL data stream.
Some high-end printers (especially those used in commercial or large-scale production printing environments) are ticket-based printers that use commands expressed in the Job Definition Format (JDF). Supports control (function). JDF allows a printer driver to send a printer driver a printer job ticket based printer control command in one data stream and printable data in a second data stream sent to the printer at another time. In this technique, control commands and printable data are mixed.

典型的なアプローチの場合、ある特定の周辺装置に関する特定のジョブに備えてジョブ関連の設定値を設定する際、あるアプリケーションがデバイスドライバを起動し、一定のユーザインターフェースを表示し、そのインターフェースを介してユーザは様々なパラメータ値(ジョブの設定値)又は他のジョブの設定値を選択できる。デバイスドライバは選択内容を解釈し、その選択内容を一群のジョブ設定データに変換する。ドライバはジョブ設定データを装置に送り、その際、実際のジョブデータと共に束ねて送ってもよいし、或いは「ジョブチケット(job ticket)」と呼ばれるメッセージ又はデータ構造を用いて別個に送ってもよい。   In a typical approach, when setting job-related settings for a specific job on a specific peripheral device, an application launches a device driver, displays a certain user interface, and through that interface The user can select various parameter values (job setting values) or other job setting values. The device driver interprets the selection contents and converts the selection contents into a group of job setting data. The driver sends job configuration data to the device, which may be bundled with the actual job data, or sent separately using a message or data structure called a “job ticket” .

従来のデバイスドライバの開発は複雑である。周辺装置の製造業者は、通常、多様な幅広いドライバを開発するためにかなりの資源を投入し、その製造業者及び目的のコンピュータプラットフォームによりなされる総てに配慮する必要がある。更に、デバイスドライバで用意されるユーザインターフェースは、通常は一定の固定されたものであり、装置が新たな特徴と共にアップグレードされた場合、製造業者はそのドライバをアップグレードし、アップグレードされたユーザインターフェースでその新たな特徴を提示するようにする必要がある。   Conventional device driver development is complex. Peripheral manufacturers usually have to invest considerable resources to develop a wide variety of drivers and take into account everything that is done by the manufacturer and the target computer platform. In addition, the user interface provided with the device driver is usually a fixed one, and if the device is upgraded with new features, the manufacturer will upgrade the driver and use the upgraded user interface to New features need to be presented.

ユニバーサルシリアルバス(USB)フラッシュメモリストレージ装置は周辺装置の一例であり、従来のデバイスドライバに伴う制約の影響を受ける。現在のマイクロソフト社のウインドウズの環境の場合、一般的なUSBストレージ装置又は「メモリスティック」は、その装置に対して読み書きするのに新たなソフトウエアをユーザがインストールすることを要しない。なぜなら、マイクロソフト社のウインドウズXP及びマイクロソフト社のウインドウズビスタが標準的なUSBストレージデバイスドライバを持っているからである。これは便利ではあるが、競合するUSBストレージ装置の製造業者は、ウインドウズのデバイスドライバでサポートされている標準仕様に従わなければならない。製造業者毎の特有の特徴を持つことはできず、様々な製造業者は、価格や形に基づいて市場で競争することしかできず、中身の技術的な特徴で競争することはできない。   A universal serial bus (USB) flash memory storage device is an example of a peripheral device, and is affected by restrictions associated with a conventional device driver. In the current Microsoft Windows environment, a typical USB storage device or “memory stick” does not require the user to install new software to read from or write to the device. This is because Microsoft Windows XP and Microsoft Windows Vista have standard USB storage device drivers. While this is convenient, competing USB storage device manufacturers must follow the standard specifications supported by Windows device drivers. Each manufacturer cannot have unique characteristics, and various manufacturers can only compete in the market based on price and shape, and cannot compete with the technical characteristics of the contents.

マイクロソフト社は、XMLペーパ仕様(XPS: XML Paper Specification)と呼ばれる書類フォーマットを導入しており、それはプリンタのハードウエアを制御することに備えて、プリントスキーマ(PrintSchema)と呼ばれるジョブチケットを含む。   Microsoft has introduced a document format called XML Paper Specification (XPS), which includes a job ticket called Print Schema in preparation for controlling the printer hardware.

スキャナドライバと呼ばれるスキャナ装置用のデバイスドライバは、走査された画像を取り出すためのアプリケーションプログラムとやりとりを行う。スキャナドライバ及びスキャナ装置間で通信されるデータは、スキャンされた画像データ及びスキャナ装置固有の制御コマンドを含む。画像データ及びスキャナ制御コマンドは、TWAINのようなフォーマットの中で一緒に混在してもよい。   A device driver for a scanner device called a scanner driver interacts with an application program for taking out a scanned image. Data communicated between the scanner driver and the scanner device includes scanned image data and control commands unique to the scanner device. Image data and scanner control commands may be mixed together in a format such as TWAIN.

このセクションで説明されるアプローチは追跡可能なアプローチであるが、考察又は追跡が過去になされているアプローチであるとは限らない。従って、特に断りのない限り、このセクションで説明されるどのアプローチも、このセクションに含まれているという理由だけで従来技術と考えるよう仮定されるべきではない。   The approaches described in this section are traceable approaches, but not necessarily approaches that have been considered or tracked in the past. Thus, unless otherwise noted, any approach described in this section should not be assumed to be considered prior art simply because it is included in this section.

様々な製造業者が、製品の価格や形だけでなく、中身の技術的特徴によっても市場で競争できるようにするのに相応しい装置及び方法を提供することである。   It is to provide devices and methods suitable for allowing various manufacturers to compete in the market not only by product price and shape, but also by the technical characteristics of the contents.

一実施例では、デバイスドライバ生成ロジック及びデバイスジョブ処理ロジックを有するデータ処理システムが使用され、前記デバイスドライバ生成ロジックは、1つ以上のコンピュータ読取可能な記憶媒体に実行に備えてエンコードされ、実行される際以下の手順を実行し、該手順は、コンピュータ周辺装置から第1の機能説明情報を受信するステップであって、該第1の機能説明情報は前記コンピュータ周辺装置の1つ以上の機能を記述しているステップと、一般的なデバイスドライバファイルを受信するステップと、コンフィギュレーションデータを受信するステップと、前記第1の機能説明情報、前記一般的なデバイスドライバファイル及びコンフィギュレーションデータに基づいて、前記コンピュータ周辺装置について及びコンピュータオペレーティングシステムについてデバイスドライバを自動的に生成するステップとを有し、前記デバイスジョブ処理ロジックは、前記コンピュータ周辺装置を使用するリクエストを受信するように、前記コンピュータ周辺装置から該リクエストの時点における第1の機能説明情報を要求及び受信するように、前記第1の機能説明情報に基づいて、前記コンピュータ周辺装置の実行するジョブを記述するジョブチケットを生成し、前記コンピュータ周辺装置に送信するように、及びページ記述言語にフォーマットされたジョブデータを前記コンピュータ周辺装置に提供するように構築される。   In one embodiment, a data processing system having device driver generation logic and device job processing logic is used, wherein the device driver generation logic is encoded and executed for execution on one or more computer-readable storage media. The following procedure is executed when the first function description information is received from the computer peripheral device, and the first function description information includes one or more functions of the computer peripheral device. A step of writing, a step of receiving a general device driver file, a step of receiving configuration data, and the first function description information, the general device driver file and the configuration data The computer peripherals and the computer Automatically generating a device driver for a data operating system, wherein the device job processing logic receives a request to use the computer peripheral device from the computer peripheral device at the time of the request Based on the first function description information, a job ticket describing a job to be executed by the computer peripheral device is generated and transmitted to the computer peripheral device so as to request and receive the first function description information. And job data formatted in a page description language is provided to the computer peripheral device.

一実施例では、前記デバイスドライバ生成ロジックは或るロジックを更に有し、該ロジックは起動されると、前記オペレーティングシステムから、新たに発見したコンピュータ周辺装置をインストールするリクエストを表すユーザ入力を受信し、該ユーザ入力に応じて前記自動的に生成するステップを実行する。   In one embodiment, the device driver generation logic further comprises certain logic that, when activated, receives user input from the operating system representing a request to install a newly discovered computer peripheral. The step of automatically generating is executed in response to the user input.

一実施例では、前記デバイスドライバ生成ロジックは或るロジックを更に有し、該ロジックは起動されると、前記コンピュータ周辺装置から、前記コンピュータ周辺装置の属性を特定するメタデータを受信し、生成するロジックは、前記メタデータに基づいて前記デバイスドライバを生成するロジックを有する。   In one embodiment, the device driver generation logic further comprises certain logic that, when activated, receives and generates metadata identifying attributes of the computer peripheral device from the computer peripheral device. The logic includes logic for generating the device driver based on the metadata.

一実施例では、前記デバイスドライバ生成ロジックは或るロジックを更に有し、該ロジックは起動されると、前記コンピュータ周辺装置から、前記コンピュータ周辺装置のモデル固有の特徴及びオプションを特定するデバイスコンフィギュレーションデータを受信し、生成するロジックは、前記デバイスコンフィギュレーションデータに基づいて前記デバイスドライバを生成するロジックを有する。   In one embodiment, the device driver generation logic further comprises certain logic that, when activated, identifies from the computer peripheral device model-specific features and options of the computer peripheral device. Logic for receiving and generating data includes logic for generating the device driver based on the device configuration data.

一実施例では、前記デバイスドライバ生成ロジックは或るロジックを更に有し、該ロジックは起動されると、前記コンピュータ周辺装置の第1言語における第1リソース群と、第2言語における第2リソース群とを対応付けるマッピングファイルを受信し、生成するロジックは、前記マッピングファイルに基づいて前記デバイスドライバを生成するロジックを有する。   In one embodiment, the device driver generation logic further comprises a logic that, when activated, a first resource group in a first language and a second resource group in a second language of the computer peripheral device. The logic for receiving and generating the mapping file that associates with each other includes logic for generating the device driver based on the mapping file.

一実施例では、前記コンフィギュレーションデータは、レンダリングモジュール、ユーザインターフェースモジュール及びデバイスドライバパッケージを構築することに関する属性値を有する。   In one embodiment, the configuration data includes attribute values related to building a rendering module, a user interface module, and a device driver package.

一実施例では、前記デバイスドライバ生成ロジックは、前記コンピュータ周辺装置に送られたページ記述言語でフォーマットされた前記ジョブデータのストリームに前記ジョブチケットデータを併合するように構築されている。   In one embodiment, the device driver generation logic is configured to merge the job ticket data into the stream of job data formatted in a page description language sent to the computer peripheral device.

一実施例では、1つ以上のコンピュータ読取可能な記憶媒体に実行に備えてエンコードされたジョブチケットコンシューマロジックを前記コンピュータ周辺装置内に更に有し、該ジョブチケットコンシューマロジックは起動されると、前記コンピュータ周辺装置の1つ以上のデバイス固有の処理コマンドに前記ジョブチケットデータを変換し、前記コンピュータ周辺装置が前記処理コマンドを実行することを引き起こす。   In one embodiment, the computer peripheral device further comprises job ticket consumer logic encoded for execution on one or more computer readable storage media, the job ticket consumer logic being activated when the job ticket consumer logic is activated. The job ticket data is converted into one or more device-specific processing commands of the computer peripheral device, causing the computer peripheral device to execute the processing command.

一実施例では、前記コンピュータ周辺装置が、プリンタ、複合機、スキャナ、仕上げ装置、ディジタルカメラ又はモニタの内何れかを含む。一実施例では、前記ジョブチケットデータが、前記第1の機能説明情報の一部をなす。   In one embodiment, the computer peripheral device includes any one of a printer, a multifunction peripheral, a scanner, a finishing device, a digital camera, and a monitor. In one embodiment, the job ticket data forms part of the first function description information.

一実施例では、前記第1の機能説明情報が、前記コンピュータ周辺装置、特徴のプロパティ名、プロパティの値及びプロパティのオプションに関する特徴のリストを、ジョブ定義フォーマット(JDF)又は印刷スキーマ標準仕様の何れかで表現された形式で含んでいる。   In one embodiment, the first function description information includes a list of features related to the computer peripheral device, feature property name, property value, and property option, either in a job definition format (JDF) or a printing schema standard specification. In the form expressed in

一実施例では、前記第1の機能説明情報は、前記コンピュータ周辺装置の特徴及び1つ以上の制約特徴のリストを含み、前記1つ以上の制約特徴は、(a)前記機能の利用可能性に関する制限又は(b)別の機能を利用することにより又は別の機能の別の設定により要求される機能に関する設定を含む。   In one embodiment, the first function description information includes features of the computer peripheral device and a list of one or more constraint features, wherein the one or more constraint features are: (a) availability of the function Or (b) settings related to functions required by using another function or by another setting of another function.

一実施例では、前記デバイスドライバ生成ロジックは或るロジックを更に有し、該ロジックは起動されると、利用可能な複数の周辺装置のリストを表示し、該利用可能な周辺装置の1つを選択していることを表す第2のユーザ入力を受信し、前記第2のユーザ入力で表現されている利用可能な周辺装置の内選択されたものにリクエストを送るように前記デバイスドライバを生成する。   In one embodiment, the device driver generation logic further comprises a logic that, when activated, displays a list of a plurality of available peripheral devices, and selects one of the available peripheral devices. Receiving a second user input representing selection and generating the device driver to send a request to a selected one of the available peripherals represented by the second user input .

他の実施例はコンピュータで使用される方法及びコンピュータ読取可能な記憶媒体を含み、その方法は上記のステップに従って構築され、その機能を実行する命令と共に記憶媒体にエンコードされる。   Other embodiments include a computer-used method and a computer-readable storage medium that is constructed according to the steps described above and encoded into the storage medium with instructions that perform its functions.

説明を目的とする以下の詳細な説明では、本発明の十分な理解を図るため、様々な具体的な詳細が述べられる。しかしながら、本発明はそのような具体的詳細なしに実施されてもよいことは明白であろう。また、本発明を不必要に曖昧にするかもしれないことを避けるため、周知の構造及び装置はブロック図形式で示される。   In the following detailed description for purposes of explanation, various specific details are set forth in order to provide a thorough understanding of the present invention. However, it will be apparent that the invention may be practiced without such specific details. In other instances, well-known structures and devices are shown in block diagram form in order to avoid unnecessarily obscuring the present invention.

1.0 構造及び機能の概要
概して、以下に説明される技法は、デバイス機能及びジョブチケットをやりとりすることで、開発及び配備されるソフトウエアが、新たな周辺装置及び周辺装置の新たな機能をサポートすることを可能にする。本技法の場合、新たなデバイスドライバをリリースせずに及びユーザがソフトウエアをアップデートすることを強制せずに、周辺装置の製造業者は新たな製品及び新たな機能を導入できる。
1.0 Overview of Structure and Function In general, the techniques described below allow device functions and job tickets to be exchanged so that software that is developed and deployed can create new peripheral devices and new functions of peripheral devices. Make it possible to support. This technique allows peripheral device manufacturers to introduce new products and new features without releasing new device drivers and forcing users to update their software.

一実施例では、デバイスドライバが本技法を使用する際、アプリケーションプログラムは、従来のデバイスドライバと通信するアプリケーションプログラムと同じ方法でデバイスドライバと通信する。本技法を実現するデバイスドライバを利用する際、アプリケーションプログラムは一切変更されなくてよい。   In one embodiment, when a device driver uses this technique, the application program communicates with the device driver in the same manner as an application program that communicates with a conventional device driver. When using a device driver that implements this technique, the application program need not be changed at all.

一実施例では、1つのドライバが或る総てのデバイスと共に動作可能であり、それらのデバイスは、各自自身の機能及び特徴をそのドライバが理解できる方法で説明できる。従って1つのドライバが複数の周辺装置と共に機能することができ、周辺装置及びコンピュータプラットフォームの総ての組み合わせについて多数のドライバを書き込む必要はない。   In one embodiment, a driver can operate with all devices and those devices can describe their own functions and features in a way that the driver can understand. Thus, a single driver can work with multiple peripheral devices and there is no need to write multiple drivers for every combination of peripheral device and computer platform.

一実施例では、ジョブデータはジョブ設定データ及びデバイス機能データとは別個である。ドライバはジョブチケットを周辺装置に送るが、ドライバは、そのジョブチケットと同じ時点でジョブデータを周辺装置に送る必要はない。   In one embodiment, the job data is separate from the job setting data and device function data. The driver sends a job ticket to the peripheral device, but the driver does not need to send job data to the peripheral device at the same time as the job ticket.

実施例は、ジョブデータがジョブ設定値と別個に定義される様々な環境で使用可能である。例えば、印刷システムの場合、アプリケーションプログラム、デバイスドライバ及びプリンタドライバは、ジョブ設定データとは独立にジョブデータを生成及び使用できる。一実施例では、ウェブサービス印刷法が使用される。アプリケーションプログラム及びドライバは、印刷チケットメッセージ又はジョブチケットメッセージをジョブデータパッケージとは別にプリンタに送り、プリンタドライバは、2つの部分を別個に処理し、ジョブデータから印刷出力を生成する際、プリントチケットの設定を適用する。   Embodiments can be used in various environments where job data is defined separately from job settings. For example, in the case of a printing system, an application program, a device driver, and a printer driver can generate and use job data independently of job setting data. In one embodiment, a web service printing method is used. The application program and driver send a print ticket message or job ticket message to the printer separately from the job data package, and the printer driver processes the two parts separately to generate print output from the job data. Apply settings.

2.0 実施例
2.1 コンピュータ周辺装置の機能ベースの制御
図1は、デバイス機能検出アプリケーション(device capability aware application)及び機能自覚周辺装置(capability aware peripheral device、ここで、機能自覚周辺装置は以下周辺装置とも言う)が使用されるコンピュータシステム例を示す。一実施例では、ユーザ102はホストコンピュータ104と対話する。ここで、ホストコンピュータは、パーソナルコンピュータ、ワークステーション、サーバ、無線通信装置、携帯電話又は他の如何なる形式のホストコンピュータで形成されてもよい。ホストコンピュータはオペレーティングシステム106を有し、オペレーティングシステムは、デバイス機能検出アプリケーションプログラム110に対するホストを務めて制御する。ホストコンピュータはインターフェース108を更に有し、インターフェースは、1つ以上のネットワーク116を介して、1つ以上の機能自覚周辺装置112,114に直接的に又は間接的に結合される。各々の機能自覚周辺装置は、プリンタサーバのような1つ以上の物理装置を表現してもよい。
2.0 Examples
2.1 Function-based control of computer peripherals
FIG. 1 shows an example of a computer system in which a device capability aware application and a capability aware peripheral device (hereinafter, function aware peripheral device is also referred to as a peripheral device) are used. In one embodiment, user 102 interacts with host computer 104. Here, the host computer may be a personal computer, a workstation, a server, a wireless communication device, a mobile phone, or any other type of host computer. The host computer has an operating system 106, which acts as a host for and controls the device capability detection application program 110. The host computer further includes an interface 108, which is coupled directly or indirectly to one or more functional awareness peripheral devices 112, 114 via one or more networks 116. Each functional awareness peripheral device may represent one or more physical devices, such as a printer server.

オペレーティングシステム106の具体例は、リナックス(LINUX)、ユニックス(UNIX(登録商標))、アップル社のMAC−OS及びマイクロソフトウインドウズ(MICROSOFT WINDOWS(登録商標))を含む。デバイス機能検出アプリケーションプログラム110は、周辺装置112,114に関連する処理を有効に実行できる如何なるコンピュータプログラムを含んでいてもよい。アプリケーションプログラム110の具体例は、デバイスドライバ、ワードプロセッサ、スプレッドシート、電子メールクライアント及びデータベースクライアントを含む。   Specific examples of the operating system 106 include LINUX, UNIX (registered trademark), Apple's MAC-OS, and Microsoft Windows (MICROSOFT WINDOWS (registered trademark)). The device function detection application program 110 may include any computer program that can effectively execute processing related to the peripheral devices 112 and 114. Specific examples of application program 110 include device drivers, word processors, spreadsheets, email clients, and database clients.

インターフェース108は、ホストコンピュータ104、周辺装置112,114及びネットワーク116の間でデータを通信できるハードウエア、ファームウエア、ソフトウエア又はそれらの組み合わせの如何なるものを含んでもよい。インターフェース108の具体例はネットワークインターフェースカード(NIC)を含み、イーサーネットインターフェース、ユニバーサルシリアルバス(USB)インターフェース、シリアルインターフェース、IEEE1394(FIREWIRE)インターフェース及びパラレルポートを含む。機密データ通信インターフェースが使用されてもよく、本実施例は標準仕様のインターフェースを必須としない。   Interface 108 may include any hardware, firmware, software, or combination thereof capable of communicating data between host computer 104, peripheral devices 112, 114, and network 116. Specific examples of the interface 108 include a network interface card (NIC), and include an Ethernet interface, a universal serial bus (USB) interface, a serial interface, an IEEE1394 (FIREWIRE) interface, and a parallel port. A confidential data communication interface may be used, and this embodiment does not require a standard interface.

本実施例は如何なる種類のコンピュータに結合される周辺装置と共に使用されてもよい。本実施例が共に使用されてもよい周辺装置112,114の具体例は、プリンタ、スキャナ、複合機、仕上げ装置(製本機、ソーター、糊付け機など)、デジタルカメラ、WEBカメラ、ストレージシステム等を含む。図1は簡明化の観点から2つの周辺装置112,114を単に示しているが、本実施例は同一の又は異なるいくつの周辺装置と共に機能してもよい。   This embodiment may be used with peripheral devices coupled to any kind of computer. Specific examples of the peripheral devices 112 and 114 with which this embodiment may be used include a printer, a scanner, a multifunction peripheral, a finishing device (such as a bookbinding machine, a sorter, and a gluing machine), a digital camera, a web camera, and a storage system. Although FIG. 1 merely shows two peripheral devices 112 and 114 for simplicity, this embodiment may work with any number of the same or different peripheral devices.

デバイス機能検出アプリケーション110は、本願で説明される機能を実現する1つ以上の記憶された命令シーケンスその他のソフトウエア要素を含んでよい。一般に、デバイス機能検出アプリケーション110は、オペレーティングシステム106又はアプリケーション110からの機能呼び出しを受け、どの周辺装置112,114ともやりとりでき、アプリケーションプログラムが始めるジョブを周辺装置が実行することを引き起こす。デバイス機能検出アプリケーション110は、デバイスドライバを含んでもよい。デバイス機能検出アプリケーション110は、以下更に説明される特徴又は機能の説明を用意できる如何なる周辺装置112,114と共に処理を行える。デバイス機能検出アプリケーション110は、オペレーティングシステム106、アプリケーションプログラム110、ホストコンピュータ104の他のソフトウエア要素若しくはファームウエア要素と統合されてもよく、本実施例では、デバイス機能検出アプリケーションをスタンドアローンソフトウエア要素として実現することは必須でない。   The device capability detection application 110 may include one or more stored instruction sequences and other software elements that implement the functions described herein. In general, the device function detection application 110 receives a function call from the operating system 106 or the application 110 and can interact with any peripheral device 112, 114, causing the peripheral device to execute a job started by the application program. The device function detection application 110 may include a device driver. The device capability detection application 110 can work with any peripheral device 112, 114 that can provide a description of the features or functions described further below. The device function detection application 110 may be integrated with other software elements or firmware elements of the operating system 106, the application program 110, and the host computer 104. In this embodiment, the device function detection application 110 is a stand-alone software element. It is not essential to realize as.

図2は、図1のデバイス機能検出アプリケーション及び機能自覚周辺装置との間でデータが通信される様子を示す。一実施例では、デバイス機能検出アプリケーション110は、デバイス機能コンシューマロジック202及びジョブチケットプロデューサロジック204を有する。機能自覚周辺装置112は、デバイス機能プロデューサロジック212及びジョブチケットコンシューマロジック214を有する。   FIG. 2 illustrates how data is communicated between the device function detection application and the function-aware peripheral device of FIG. In one embodiment, device capability detection application 110 includes device capability consumer logic 202 and job ticket producer logic 204. The function awareness peripheral device 112 includes a device function producer logic 212 and a job ticket consumer logic 214.

デバイス機能コンシューマロジック202は、デバイス機能データ206を受信及び理解する。ジョブチケットプロデューサロジック204は、ジョブチケットデータ208を生成し、それをジョブチケットコンシューマロジック214に送信する。デバイス機能プロデューサロジック212は、機能データ206を生成し、それをデバイス機能検出アプリケーション110に送信する。ジョブチケットコンシューマロジック214は、ジョブチケットを受信及び理解し、それを機能自覚周辺装置112に関するコマンドとして実行する。   Device capability consumer logic 202 receives and understands device capability data 206. The job ticket producer logic 204 generates job ticket data 208 and sends it to the job ticket consumer logic 214. Device capability producer logic 212 generates capability data 206 and sends it to device capability detection application 110. The job ticket consumer logic 214 receives and understands the job ticket and executes it as a command related to the function-aware peripheral device 112.

デバイス機能データ206は、機能自覚周辺装置112の1つ以上の能力、特徴又は機能を記述するデータを有する。周辺装置112は、デバイス機能データ206を生成し、それをデバイス機能検出アプリケーション110に提供する。デバイス機能データ206はアプリケーション110からのリクエストの時点で生成される。従ってデバイス機能データ206は周辺装置112の、そのリクエストの時点での周辺装置の能力、特徴及び機能の説明を含むことができる。例えば、デバイス機能データ206は、周辺装置がプリンタの場合は、以下の特徴を有することを示す情報を含んでもよい。例えば、(1)書類サイズ:A5、A4、A3、レター、11×17、リーガル...(2)書類供給源:平台、シートフィーダ、...(3)解像度:100x100dpi、200x200dpi...(4)用紙供給源:手差しトレー、1段目トレー、2段目トレー等々。   The device function data 206 includes data describing one or more capabilities, features or functions of the function-aware peripheral device 112. The peripheral device 112 generates device function data 206 and provides it to the device function detection application 110. The device function data 206 is generated at the time of a request from the application 110. Accordingly, the device capability data 206 can include a description of the peripheral device's capabilities, features and functions of the peripheral device 112 at the time of the request. For example, the device function data 206 may include information indicating that the peripheral device has the following characteristics when the peripheral device is a printer. For example, (1) Document size: A5, A4, A3, Letter, 11x17, Legal. . . (2) Document supply source: flatbed, sheet feeder,. . . (3) Resolution: 100x100dpi, 200x200dpi. . . (4) Paper supply source: manual feed tray, first tray, second tray, etc.

デバイス機能データ206は様々なフォーマット、方法及び手段で使用されてもよい。様々な実施例で使用されるデバイス機能データ206の具体例は、XML、XMLベースの表現物、HTML等を含む。本実施例はXMLに限定されず、デバイスの機能を記述する他の如何なる具体的な方法又は手段が使用されてもよい。但し、デバイス機能データ206で表現されるデバイス機能の表現は、デバイスに依存しないデータ210から分離される。   Device capability data 206 may be used in various formats, methods and means. Specific examples of device capability data 206 used in various embodiments include XML, XML-based representations, HTML, and the like. This embodiment is not limited to XML, and any other specific method or means for describing the function of the device may be used. However, the representation of the device function represented by the device function data 206 is separated from the device-independent data 210.

ジョブチケット208は、設定の記述を有し、アプリケーション110から周辺装置112へ送信し、デバイス非依存データ210の全部又は一部に関連する特定のジョブをどのように処理するかを周辺装置に指示する。一実施例では、アプリケーション110は、1つ以上のジョブチケット208を周辺装置112に通知する。一般に、ジョブチケット208は或る選択内容を周辺装置112に通知するデータを有し、その選択内容は、デバイス機能データ206で表現されるような周辺装置の利用可能な機能の中から、ユーザ、アプリケーション又はシステムが選択したものである。例えば、ジョブチケット208は、用紙トレイ、N-up、仕上げオプション(ステープルの有無、パンチの有無など)又は他のジョブ設定を特定してもよい。ジョブチケット208は、次のような特定の設定の記述を含んでもよい。(1)書類サイズ:レター、(2)用紙供給源:トレイ2(3)スキャン解像度:200x200dpi等々。様々な実施例の中で、ジョブチケット208はXMLで表現されてもよいし、ウェブサービスチケットのフォーマットで表現されてもよいし、一群の名前とその値の対で表現されてもよいし、或いは他の記述的なテキスト又はデータで表現されてもよい。   The job ticket 208 has a description of settings and is sent from the application 110 to the peripheral device 112 to instruct the peripheral device how to process a specific job related to all or part of the device-independent data 210 To do. In one embodiment, application 110 notifies peripheral device 112 of one or more job tickets 208. In general, the job ticket 208 has data for notifying the peripheral device 112 of a certain selection content, and the selection content is selected from the functions available in the peripheral device as represented by the device function data 206, the user, The application or system has chosen. For example, the job ticket 208 may specify a paper tray, N-up, finishing options (such as stapling, punching, etc.) or other job settings. The job ticket 208 may include a description of specific settings such as: (1) Document size: Letter, (2) Paper source: Tray 2 (3) Scanning resolution: 200x200 dpi, etc. In various embodiments, the job ticket 208 may be expressed in XML, may be expressed in a web service ticket format, may be expressed as a group of name / value pairs, Alternatively, it may be expressed in other descriptive text or data.

デバイス非依存データ210は、周辺装置112に使用可能なデータを含むが、何らかの周辺装置に固有のコマンドをも含んでいない。スキャナ、ディジタルカメラ又はモニタのような静止画を処理する装置の場合、デバイス非依存データ210はJPEG、TIFF又はGIF画像データで構成されてもよい。プリンタの場合、デバイス非依存データ210はPDFファイル、EPS、ポストスクリプトファイル等を含み、ハードウエア制御コマンドを含まないようにしてもよい。或いは、ハードウエア制御コマンドを一切含まない又は最小限のセットしか含まない何らかのPDL及びPCLデータが、デバイス非依存データ210として使用可能である。   The device-independent data 210 includes data that can be used by the peripheral device 112 but does not include any commands specific to the peripheral device. In the case of a device that processes still images, such as a scanner, digital camera, or monitor, the device independent data 210 may be composed of JPEG, TIFF, or GIF image data. In the case of a printer, the device-independent data 210 may include a PDF file, EPS, postscript file, etc., and may not include a hardware control command. Alternatively, any PDL and PCL data that contains no hardware control commands or a minimal set can be used as device independent data 210.

一実施例では、デバイス機能検出アプリケーション110及び機能自覚周辺装置112は、何らかの形式の基本的なアプリケーションレイヤ通信プロトコルを使ってデータを通信し、そのプロトコルは、デバイス機能検出アプリケーション110及び機能自覚周辺装置112がサポートできるものである。図2は説明の簡明化のため1つの機能自覚周辺装置112を示しているが、デバイス機能検出アプリケーション110と、それと共に動作する如何なる機能自覚周辺装置112との間で図2の通信がなされてもよい。   In one embodiment, the device function detection application 110 and the function-aware peripheral device 112 communicate data using some form of basic application layer communication protocol, which includes the device function detection application 110 and the function-aware peripheral device. 112 can support. FIG. 2 shows one functional awareness peripheral device 112 for simplicity of explanation, but the communication of FIG. 2 is made between the device functional detection application 110 and any functional awareness peripheral device 112 operating with it. Also good.

一実施例では、プロトコルはウェブサービスを含み、デバイス機能検出アプリケーション110及び機能自覚周辺装置112の各々がウェブサービス機能を実現する。例えば、デバイス機能検出アプリケーション110及び機能自覚周辺装置112の各々は、ウェブサービスロジックを有し、ウェブサービスロジックは、ワールドワイドウェブコンソーシアム(w3c)のウェブサービス規格に従ってアプリケーションレイヤメッセージを生成可能であり、且つそのようなメッセージを解釈及び処理できる。   In one embodiment, the protocol includes a web service, and each of the device function detection application 110 and the function-aware peripheral device 112 implements a web service function. For example, each of the device function detection application 110 and the function awareness peripheral device 112 has web service logic, and the web service logic can generate an application layer message according to the web service standard of the World Wide Web Consortium (w3c), And can interpret and process such messages.

図3は、コンピュータに結合される周辺装置の機能ベース制御のプロセス例を示す。   FIG. 3 illustrates an example process for function-based control of a peripheral device coupled to a computer.

一実施例では、デバイス機能検出装置は、デバイス機能データ206を生成し、その生成されたデバイス機能データをデバイス機能検出アプリケーションに送る。例えば、図2のように、周辺装置112はそのデバイスの能力、特徴及び機能を記述するデバイス機能データ206を生成し、そのデバイス機能データをデバイス機能検出アプリケーション110に送る。デバイス機能データ206の生成は、例えば、デバイス機能検出アプリケーション110からのリクエストを周辺装置112が受信したことに応じてなされてもよい。(例えば、書類を印刷したり、書類をスキャンしたりするために)周辺装置112とやりとりを行うことに備えて、他のアプリケーションからのリクエストを受けたことに応じて、デバイス機能検出アプリケーション110がそのようなリクエストを発行してもよい。   In one embodiment, the device function detection device generates device function data 206 and sends the generated device function data to the device function detection application. For example, as shown in FIG. 2, the peripheral device 112 generates device function data 206 describing the capabilities, features, and functions of the device and sends the device function data to the device function detection application 110. The device function data 206 may be generated in response to the peripheral device 112 receiving a request from the device function detection application 110, for example. In response to receiving a request from another application in preparation for interacting with the peripheral device 112 (eg, for printing a document or scanning a document), the device function detection application 110 Such a request may be issued.

ステップ302では、デバイス機能データ206を受信したことに応じて、デバイス機能検出アプリケーション110は、デバイス機能データ206をユーザインタフェースデータに変換し、ブロック304に図示されるように、ユーザインタフェースデータに基づいてユーザインターフェースが表示されることを引き起こす。例えば、デバイス機能検出アプリケーション110はデバイス機能データ206をツリー形式に変換し、ホストコンピュータ104のディスプレイ等の入出力部に、その表示がユーザインタフェースとして現れるようにする。   In step 302, in response to receiving the device capability data 206, the device capability detection application 110 converts the device capability data 206 into user interface data and based on the user interface data as illustrated in block 304. Causes the user interface to be displayed. For example, the device function detection application 110 converts the device function data 206 into a tree format so that the display appears as a user interface on an input / output unit such as a display of the host computer 104.

ステップ306では、1つ以上の選択肢を選択しているユーザからの入力が、先のユーザインタフェースを介して受け取られる。例えば、デバイス機能検出アプリケーション110は、ツリー形式のオプションに関するユーザ選択内容を表現するユーザからの入力を受け取る。   In step 306, input from a user selecting one or more options is received via a previous user interface. For example, the device capability detection application 110 receives input from a user representing a user selection regarding options in a tree format.

これに応答して、ステップ308では、ジョブチケットデータが、そのユーザの選択に基づいて生成される。例えば、デバイス機能検出アプリケーション110は、そのデバイス機能データ206に基づいて、受信したユーザが選択した指定を含むジョブチケットデータ208に変換する。一実施例における、その変換は、ユーザ入力を受信しているXMLスタイルシート変換(XSLT)に従って、デバイス機能データ206の1つ以上のXML要素を変換することによって、XML書類におけるジョブチケットデータ208を作成することを含んでもよい。   In response, at step 308, job ticket data is generated based on the user's selection. For example, the device function detection application 110 converts the received device function data 206 into job ticket data 208 including a designation selected by the received user. In one embodiment, the transformation comprises converting job ticket data 208 in an XML document by transforming one or more XML elements of device capability data 206 according to an XML style sheet transformation (XSLT) that is receiving user input. May include creating.

このアプローチの成果の1つは、周辺装置112に最近に追加された機能でさえ、デバイス機能データ206に反映又はリストされることである。更に、デバイス機能検出アプリケーション110は、そのような最近に追加された機能や新しい機能について知る必要はなく、或いは最近追加された機能や新しい機能を起動するためにどんなデバイス制御コマンドが必要であるかを知る必要はない。その代わり、周辺装置112は、デバイス機能検出アプリケーション110に対して、コマンド条件及び自身の特徴を説明するデータを提示する。デバイス機能検出アプリケーション110は所望のジョブ設定に関するユーザからの入力を取得し、その特徴及びコマンド条件に基づいてそのような設定をデバイス機能データ206に反映するジョブチケット208を生成する。   One outcome of this approach is that even functions recently added to the peripheral device 112 are reflected or listed in the device capability data 206. In addition, the device function detection application 110 does not need to know about such recently added functions or new functions, or what device control commands are required to activate recently added functions or new functions. There is no need to know. Instead, the peripheral device 112 presents data describing the command condition and its characteristics to the device function detection application 110. The device function detection application 110 acquires input from the user regarding desired job settings, and generates a job ticket 208 that reflects such settings in the device function data 206 based on the characteristics and command conditions.

一実施例では、デバイス機能データ206及びジョブチケットデータ208は、マイクロソフト社のXMLペーパー仕様(XPS)の一部であるプリントスキーマ標準仕様及びジョブ定義フォーマット(JDF)のようないくつかものジョブチケットフォーマットのどれで表現されてもよい。他のジョブチケットフォーマットが使用されてもよく、本実施例はJDFやXPSを利用することに限定されない。   In one embodiment, device capability data 206 and job ticket data 208 may include a number of job ticket formats such as the Print Schema Standard Specification and Job Definition Format (JDF) that are part of Microsoft's XML Paper Specification (XPS). It may be expressed in any of Other job ticket formats may be used, and the present embodiment is not limited to using JDF or XPS.

一般に、デバイス機能データ206は、デバイス特徴のリストを有する。一実施例では、各特徴は名前、ユーザインタフェースディスプレイ名、選択タイプ等を用いて決められる。選択タイプの具体例は、選択リスト又は一覧表、番号及び文字列等を含んでよい。デバイス機能定義は制約特性を含んでもよく、制約特性は、装置の或る機能を利用する際の制限や、その機能に可能な設定値であり、その装置の他の機能の利用可能性や設定値に依存する。   In general, the device capability data 206 includes a list of device features. In one embodiment, each feature is determined using a name, user interface display name, selection type, and the like. Specific examples of the selection type may include a selection list or a list, a number, a character string, and the like. The device function definition may include a restriction characteristic, and the restriction characteristic is a restriction when using a certain function of the apparatus or a setting value that can be set for the function, and the availability and setting of other functions of the apparatus. Depends on the value.

表1はプリントスキーマフォーマットで表現されたデバイス機能データ206の具体例を示す:
表1−デバイス機能データの例

Figure 0005287041
Table 1 shows a specific example of the device function data 206 expressed in the print schema format:
Table 1-Example of device function data
Figure 0005287041

図4は、ロングエッジオプション(LongEdge option)が選択されている周辺装置のグラフィカルユーザインターフェースの例を示す。ロングエッジオプションとは、用紙の長辺側をステープルで綴じることを意味する。図4の例は、表1のデバイス機能データ例に対応する。   FIG. 4 shows an example of a graphical user interface of a peripheral device with the LongEdge option selected. The long edge option means that the long side of the paper is bound with staples. The example of FIG. 4 corresponds to the device function data example of Table 1.

図4の例の場合、アプリケーションプログラムで生成された表示画面402はユーザインタフェースパネル404を含み、ユーザインタフェースパネルは、周辺装置の能力、特徴又は機能と共にユーザがやりとりできるように構成されている。例えば、デバイスがプリンタであり、1つの特徴は両面印刷が可能なことであったとする。両面(duplex)オプションは、オフ、ロングエッジ(長辺綴じ)又はショートエッジ(短辺綴じ)の値を有し、両面印刷が、どのようになされるかをユーザが指定できるようにする。図4ではロングエッジオプションが選択されている。ロングエッジオプションの選択は、図3のステップ306で、ユーザインターフェースを利用して受け取られるユーザから入力を利用することの一例である。   In the case of the example of FIG. 4, the display screen 402 generated by the application program includes a user interface panel 404, and the user interface panel is configured so that the user can interact with the capabilities, features, or functions of the peripheral devices. For example, assume that the device is a printer, and one feature is that double-sided printing is possible. The duplex option has values of off, long edge (long edge binding) or short edge (short edge binding), and allows the user to specify how double-sided printing is performed. In FIG. 4, the long edge option is selected. The selection of the long edge option is an example of utilizing input from the user received using the user interface in step 306 of FIG.

表2−ジョブチケットの例

Figure 0005287041
Table 2-Job ticket examples
Figure 0005287041

一実施例では、表2のフォーマットを有するジョブチケット208は、ジョブチケットコンシューマロジック214を用いて機能自覚周辺装置112で実行されてもよい。このアプローチの場合、デバイス機能データ206及びジョブチケット208の組み合わせは、デバイス機能検出アプリケーション110に対して十分な或る情報を運び、その情報は、周辺装置の機能を表現し、ユーザが選択可能なユーザインターフェースをユーザに提供すること、及び特定のジョブ適切なタイプ又はオプションのユーザ選択内容を受信することに十分な情報である。しかしながら、デバイス機能検出アプリケーション110も或いは、そのアプリケーションと相互作用する如何なる他のソフトウエアも、周辺装置から得られるデバイス機能データ206の能力、特徴及び機能の実質的な意味の理解も要しないし、コード化されることを要しない。   In one embodiment, a job ticket 208 having the format of Table 2 may be executed on functional awareness peripheral device 112 using job ticket consumer logic 214. For this approach, the combination of device capability data 206 and job ticket 208 carries some information sufficient for the device capability detection application 110, which represents the capabilities of the peripheral device and is user selectable. Information sufficient to provide a user interface to the user and receive user selections of the appropriate type or option for a particular job. However, neither the device capability detection application 110 nor any other software that interacts with the application requires an understanding of the substantial meaning of the capabilities, features and functions of the device capability data 206 obtained from the peripheral device, It doesn't need to be coded.

かくて、周辺装置の製造業者は、周辺装置及びプラットフォームの組み合わせ各々について特化したユーザインターフェースと共にカスタムデバイスドライバを作成することを要しない。更に、新たなデバイスドライバをリリースせずに、及びエンドユーザが彼らのコンピュータを新しいデバイスドライバと共にアップグレードすることを要求せずに、製造業者は新たな製品(周辺装置)及び新たな機能を既存の製品(周辺装置)に導入できる。   Thus, peripheral device manufacturers are not required to create custom device drivers with specialized user interfaces for each peripheral and platform combination. In addition, manufacturers have released new products (peripherals) and new functionality without releasing new device drivers and without requiring end users to upgrade their computers with new device drivers. Can be installed in products (peripheral devices).

図5は、デバイス機能プロデューサロジック及びデバイス機能コンシューマロジックの機能の例を示す。   FIG. 5 shows examples of functions of the device function producer logic and the device function consumer logic.

一実施例では、デバイス機能プロデューサロジック212は、ある装置のホストコンピュータに受け入れられ、以下の機能を実行する。ステップ502は、デバイス機能検出アプリケーションからのリクエストを受信し、周辺装置の機能を取得することを含む。例えば、デバイス112のデバイス機能プロデューサロジック212は、デバイス機能検出アプリケーション110からリクエストを受信し、その周辺装置の機能を提示する。   In one embodiment, device function producer logic 212 is accepted by a host computer of an apparatus to perform the following functions. Step 502 includes receiving a request from a device capability detection application and obtaining peripheral device capabilities. For example, the device capability producer logic 212 of the device 112 receives a request from the device capability detection application 110 and presents the capabilities of the peripheral device.

それに応じてステップ504では、現時点での周辺装置の機能が確認される。ステップ504は、レジストリ、コンフィギュレーションファイル、管理情報ベース(MIB: Management Information Base)その他のレポジトリ情報(装置のその時点での機能を記述している情報)を読み取ることを含む。   Accordingly, in step 504, the current peripheral device functions are confirmed. Step 504 includes reading the registry, configuration file, Management Information Base (MIB) and other repository information (information describing the current function of the device).

ステップ506では、周辺装置からデバイス機能検出アプリケーションへ機能の説明が、デバイス機能データ206となって送られる。ステップ506は、プリントスキーマのようなXMLスキーマに従ってデバイス機能データ206を形成すること、及び、周辺装置のリクエストを受け取った時点での能力、特徴及び機能をデバイス機能データ206の中にエンコードすることを含む。このデバイス機能データ206はアプリケーションに送られ、これはステップ506からステップ508に続く矢印で示されている。   In step 506, a description of the function is sent as device function data 206 from the peripheral device to the device function detection application. Step 506 forms the device capability data 206 according to an XML schema, such as a print schema, and encodes the capabilities, features and functions in the device capability data 206 upon receipt of the peripheral device request. Including. This device capability data 206 is sent to the application, which is indicated by the arrows following step 506 to step 508.

ステップ508では、デバイス機能コンシューマロジック202が、機能説明(デバイス機能データ206)を周辺装置から受信する。これに応じてステップ510では、その機能説明に基づいてロジック202が1つ以上のGUIエレメントを作成し、ステップ512にてロジックはそのGUIエレメントが表示されるようにする。例えば、図4のGUIが作成され、ディスプレイに提示される又は表示に備えてオペレーティングシステム106に与えられる。   In step 508, the device function consumer logic 202 receives a function description (device function data 206) from the peripheral device. In response, at step 510, logic 202 creates one or more GUI elements based on the functional description, and at step 512, the logic causes the GUI elements to be displayed. For example, the GUI of FIG. 4 is created and presented to the display or provided to the operating system 106 for display.

ステップ514は、1つ以上のGUIエレメントの選択肢を表現するユーザからの入力を受けること、及びそのユーザ入力をジョブチケットプロデューサロジックに与えることを含む。例えば、マウスのクリック、キーボーボードのキー押下又はユーザ入力を表現するデータの形式で、オペレーティングシステム106から又はそのデバイスドライバから、デバイス機能コンシューマロジック202はユーザの入力を受信する。ロジック202は、必要に応じて選択肢を変換し、アプリケーション110のジョブチケットプロデューサロジック204にユーザが選択した内容を与える。   Step 514 includes receiving input from a user representing a choice of one or more GUI elements and providing the user input to the job ticket producer logic. For example, the device function consumer logic 202 receives user input from the operating system 106 or from its device driver in the form of data representing mouse clicks, keyboard presses or user input. The logic 202 converts the options as necessary, and provides the job ticket producer logic 204 of the application 110 with the content selected by the user.

図6は、ジョブチケットプロデューサロジック及びジョブチケットコンシューマロジックの機能の例を示す。   FIG. 6 shows an example of the functions of the job ticket producer logic and job ticket consumer logic.

ステップ602では、ジョブチケットプロデューサロジック204(図5のステップ514によりユーザが選択した内容を受信している)が、ユーザに選択されたGUIレメントに基づいて、その周辺装置のジョブを記述するジョブチケットを作成する。デバイス機能データ206がジョブチケットデータを決めるのに使用される。例えば、ステップ514のユーザが選択した内容に基づいて又はそれに従って、ジョブチケットデータ208は生成される。さらにジョブチケット208は、デバイス機能データ206に基づいて作成され、そのデバイス機能データの少なくとも一部を変換させた情報を持っていてもよい。ステップ604では、ジョブチケットプロデューサロジックは、そのジョブチケットデータを周辺装置に送信する。   In step 602, the job ticket producer logic 204 (receiving the content selected by the user in step 514 of FIG. 5) describes the job of the peripheral device based on the GUI element selected by the user. Create Device capability data 206 is used to determine job ticket data. For example, the job ticket data 208 is generated based on or in accordance with the content selected by the user in step 514. Further, the job ticket 208 may be created based on the device function data 206 and may have information obtained by converting at least a part of the device function data. In step 604, the job ticket producer logic sends the job ticket data to the peripheral device.

ステップ606ではそれに応じて、ジョブチケットコンシューマロジック214が、ジョブチケットデータを周辺装置用の1つ以上のデバイス固有の処理コマンド(つまり、周辺装置のための処理コマンドに変換する)に変換する。プリントスキーマ表現によるジョブチケットデータ208を、1つ以上のファンクションコール、コマンドライン命令、方法の起動又は装置に対する他の命令に返還することをステップ606は含む。一実施例では、マイクロソフト社によるXMLパーサ(parser)を利用して、プリントスキーマ表現が変換される。ステップ608では、ジョブチケットコンシューマロジックは周辺装置がその処理コマンドを実行することを引き起こす。   In step 606, the job ticket consumer logic 214 accordingly converts the job ticket data into one or more device-specific processing commands for the peripheral device (ie, convert them to processing commands for the peripheral device). Step 606 includes returning job ticket data 208 in print schema representation to one or more function calls, command line instructions, method invocations, or other instructions to the device. In one embodiment, the print schema representation is converted using a Microsoft XML parser. In step 608, the job ticket consumer logic causes the peripheral device to execute the processing command.

図7は、デバイス機能検出アプリケーションの機能の例を示す。ステップ702では、デバイス機能検出アプリケーション110が、利用可能な周辺装置のリストを作成及び表示する。例えば、デバイス機能検出アプリケーション110は、まず、ワードプロセッサのような他のアプリケーションプログラムから書類を印刷するためのリクエストを受信する。これに応じて、デバイス機能検出アプリケーション110は、どの周辺装置が既知であるか又は利用可能であるかを確認し、そのような周辺装置のリストの表示を引き起こす。周辺装置は通常のディスカバリプロトコルを用いて発見できる。リストは、コンボボックス(combo box)のようなウィジェット(widget)を用いてグラフィカルユーザインターフェースに表示可能である。   FIG. 7 shows an example of the function of the device function detection application. In step 702, the device function detection application 110 creates and displays a list of available peripheral devices. For example, the device capability detection application 110 first receives a request to print a document from another application program such as a word processor. In response, the device capability detection application 110 checks which peripheral devices are known or available and causes a list of such peripheral devices to be displayed. Peripheral devices can be discovered using normal discovery protocols. The list can be displayed in a graphical user interface using a widget such as a combo box.

ステップ704では、デバイス機能検出アプリケーションは、利用可能な周辺装置の選択を表すユーザ入力を受ける。例えば、コンボボックス中の或るオプションの選択を表すユーザからの入力が受信される。   In step 704, the device capability detection application receives a user input representing a selection of available peripheral devices. For example, input from a user representing selection of an option in a combo box is received.

ステップ706は、選択された利用可能な周辺装置へリクエストを送り、その周辺装置の機能を得ることを含む。例えば、デバイス機能検出アプリケーション110は、周辺装置のその時点(リクエストを受信した時点)での機能を得るためのリクエストを周辺装置112へ送り、デバイス機能データ206にしたがって、その周辺装置の機能をユーザに表示すること、と書類を印刷するためのジョブ設定用のユーザからの入力を受信することに備える。ステップ706を実行することは、図5のステップ502を行うトリガ(契機)を与える。   Step 706 includes sending a request to the selected available peripheral device to obtain the capabilities of that peripheral device. For example, the device function detection application 110 sends a request for obtaining a function of the peripheral device at that time (when the request is received) to the peripheral device 112, and the function of the peripheral device is transmitted to the user according to the device function data 206. And receiving input from a user for setting a job for printing a document. Executing step 706 gives a trigger for performing step 502 in FIG.

図5及び図6の成果の1つは、あるアプリケーションが、周辺装置の現在の機能を要求でき、その機能を表すユーザインターフェースを生成でき、特定のジョブ設定に関するユーザからの入力を受信でき、周辺装置がそのジョブ設定の実行を引き起こす方法で、そのジョブ設定を、その周辺装置に提供できることである。このアプリケーションは、そのアプリケーションを理解することを必要とせず、或いはそのユーザインターフェースを生成できる特別なコードを持つことを要しない。アプリケーションは一般的な(ユニバーサルな)デバイスドライバでよい。   One of the outcomes of FIGS. 5 and 6 is that an application can request the current capabilities of a peripheral device, generate a user interface representing that capability, receive input from the user regarding specific job settings, The job setting can be provided to the peripheral device in a way that causes the device to execute the job setting. The application does not need to understand the application or have special code that can generate its user interface. The application may be a general (universal) device driver.

更に、リクエストの時点でデバイス機能データ206が、周辺装置にて動的に生成され、そのリクエスト時点でのデバイス機能に基づいて周辺装置とやりとりを行う。本アプローチ及びデバイス機能検出アプリケーションは、次のような如何なる周辺装置とでも共に機能でき、その周辺装置は、デバイス機能検出アプリケーションからのリクエストに応じて、デバイス機能データ206を利用して周辺装置自身の機能を説明でき、且つ、ホストコンピュータ側で生成されたジョブチケットで表現されたコマンドを分析及び実行できるものである。アプリケーションプログラム又はアプリケーションプログラムとユーザがやりとりする方法について、如何なる変更も必須でない。オペレーティングシステムを変更することも必須でない。   In addition, device function data 206 is dynamically generated at the peripheral device at the time of the request, and exchanges with the peripheral device based on the device function at the time of the request. The approach and device function detection application can work with any peripheral device such as: The peripheral device uses the device function data 206 in response to a request from the device function detection application. The function can be explained, and the command expressed by the job ticket generated on the host computer side can be analyzed and executed. No changes are required for the application program or the way the user interacts with the application program. It is not essential to change the operating system.

一実施例では、ユニバーサルデバイスドライバとして機能するデバイス機能検出アプリケーション110の形式で、ユーザアプリケーションがデバイスドライバを同時に使用し続ける場合、ユーザの行う処理は変わらない。しかしながら、ユーザがやりとりを行うユーザインターフェースは、周辺装置が更新されるにつれて刻々と変わってもよいが、ホストコンピュータにおけるデバイス機能検出アプリケーション110の更新は必須でない。   In one embodiment, if the user application continues to use the device driver at the same time in the form of a device function detection application 110 that functions as a universal device driver, the processing performed by the user does not change. However, although the user interface with which the user interacts may change from moment to moment as the peripheral device is updated, it is not essential to update the device function detection application 110 in the host computer.

2.2機能ベースのコンピュータ周辺装置ドライバを自動的に生成する
一実施例では、ジョブチケットベースの印刷ストリームは、ページ記述言語(PDL)に基づく印刷システムに統合される。PDLの具体例は、ポストスクリプト、PCL及びPIIである。PDLベースの印刷システムの具体例は、マイクロソフト社のウインドウズビスタである。一実施例では、周辺装置の一例であるプリンタ及びプリンタドライバは、デバイス機能データ、ジョブチケットデータ及びデバイス非依存性印刷データをやりとりする。本発明の概念を、この一実施例に用いたことによる効果の1つは、新たなドライバを自動的に生成及びインストールすることで、ドライバがホストコンピュータにインストールされた後に導入された新たなデバイス及び機能を、プリンタドライバがサポートできることである。
2.2 In one embodiment of automatically generating function-based computer peripheral drivers , the job ticket-based print stream is integrated into a page description language (PDL) based printing system. Specific examples of PDL are Postscript, PCL and PII. A specific example of a PDL-based printing system is Microsoft Windows Vista. In one embodiment, a printer and a printer driver, which are examples of peripheral devices, exchange device function data, job ticket data, and device-independent print data. One of the effects of using the concept of the present invention in this embodiment is that a new device is automatically installed and installed so that a new device introduced after the driver is installed on the host computer. And the printer driver can support the functions.

一実施例では、指定されたオペレーティングシステムとコンパチブルなプリンタドライバを自動的に生成できるロジック又は処理を通じて、上記の統合を達成できる。例えば、本技法は、かなりのユーザの努力を要せずに、マイクロソフト社のウインドウズビスタ用のプリンタドライバを自動的に生成できるようにする。例えば、ディスクから又は他の媒体から、周辺装置を利用するにあたり、ドライバファイルを手作業で突き止めることや、用意する要求を、ユーザは受ける必要がない。更に、プリンタにより説明されるプリンタのその時点での機能に基づいて、プリンタドライバは自動的に生成される。新たなプリンタがコンピュータ環境に導入される場合、又は既存のプリンタがアップグレードされる場合、本技法は、相当なユーザの努力を必要とせずに又はドライバファイルの管理を必要とせずに、ドライバを自動的に生成及びインストールできる。   In one embodiment, the above integration can be achieved through logic or processing that can automatically generate a printer driver compatible with a specified operating system. For example, the technique allows a printer driver for Microsoft Windows Vista to be automatically generated without significant user effort. For example, when using a peripheral device from a disk or other media, the user does not need to manually locate or prepare a driver file. Furthermore, the printer driver is automatically generated based on the current function of the printer described by the printer. When new printers are introduced into the computer environment, or existing printers are upgraded, the technique automatically automates drivers without requiring significant user effort or driver file management. Can be generated and installed automatically.

図9は、ジョブチケットベースの印刷をPDLベース印刷に統合するシステム例を示す。オペレーティングシステム902、ユニバーサルドライバ印刷サブシステム904、ポストスクリプト用ドライバレス拡張部906及びページ制御言語(PCL)用ドライバレス拡張部908をホストコンピュータ104は備える。オペレーティングシステム902の具体例は、マイクロソフトウインドウズビスタである。ユニバーサルドライバ印刷サブシステム904は、ジョブチケットを生成でき且つページ記述言語(PDL)で命令を生成してPDLコンパチブルな装置112を駆動できるデバイスドライバを自動的にロードするように構築される。ドライバレス拡張部906,908は、ユニバーサルドライバ印刷サブシステム904がポストスクリプト装置及びPCL装置と共に統合できるようにする。要素904,906,908の機能は、以下のセクションで更に説明される。   FIG. 9 illustrates an example system that integrates job ticket-based printing with PDL-based printing. The host computer 104 includes an operating system 902, a universal driver printing subsystem 904, a postscript driverless extension 906, and a page control language (PCL) driverless extension 908. A specific example of the operating system 902 is Microsoft Windows Vista. The universal driver printing subsystem 904 is configured to automatically load a device driver that can generate a job ticket and generate instructions in a page description language (PDL) to drive a PDL compatible device 112. Driverless extensions 906, 908 allow the universal driver printing subsystem 904 to be integrated with PostScript and PCL devices. The function of elements 904, 906, 908 is further described in the following sections.

機能自覚周辺装置112は、プリンタ機能ファイル916、PDLテーブルに対するジョブチケット918、ジョブチケットPDL変換ロジック920及びPDLレンダリングエンジン922を有する。概して、機能自覚周辺装置112は、サブシステムからのリクエストに応答して、プリンタ機能データ910の形式でプリンタ機能ファイル916(前述のデバイス機能データ206に相当する)をユニバーサルドライバ印刷サブシステム904に送信するように構築される。   The function awareness peripheral device 112 includes a printer function file 916, a job ticket 918 for the PDL table, a job ticket PDL conversion logic 920, and a PDL rendering engine 922. In general, the functional awareness peripheral device 112 sends a printer function file 916 (corresponding to the aforementioned device function data 206) to the universal driver printing subsystem 904 in the form of printer function data 910 in response to a request from the subsystem. Built to be.

これに応答して、ユニバーサルドライバ印刷サブシステム904又は拡張部906,908は、ジョブ設定のユーザ選択を表す印刷チケット912を用意し、周辺装置112に送信する。また、同時に又は別の時点で、周辺装置112はアプリケーションからジョブデータ914を受信する。この印刷チケットとジョブデータを併せて、前述のジョブチケットデータに相当する。これは、周辺装置がプリンタの場合には、ジョブデータが印刷を希望するコンテンツに相当するために必要だからである。そして、機能自覚周辺装置112は、印刷チケット912及びジョブデータ914で表現されているジョブ設定を、PDLテーブルに対するジョブチケット918及びジョブチケットPDL変換ロジック920を用いて、PDLコマンド及びページデータに変換する。その結果のPDLデータは、PDLレンダリングエンジン922に与えられ、印刷可能なページ画像を生成することになる。印刷可能なページ画像を利用して、周辺装置112は1つ以上の印刷書類930を印刷できる。   In response to this, the universal driver print subsystem 904 or the expansion units 906 and 908 prepare a print ticket 912 representing the user selection of the job setting and transmit it to the peripheral device 112. At the same time or at another time, the peripheral device 112 receives job data 914 from the application. The print ticket and the job data are combined and correspond to the aforementioned job ticket data. This is because when the peripheral device is a printer, the job data is necessary to correspond to the content desired to be printed. Then, the function awareness peripheral device 112 converts the job setting expressed by the print ticket 912 and the job data 914 into a PDL command and page data using the job ticket 918 and the job ticket PDL conversion logic 920 for the PDL table. . The resulting PDL data is provided to the PDL rendering engine 922 to generate a printable page image. Using the printable page image, the peripheral device 112 can print one or more print documents 930.

図9の例は、印刷に関連して説明されてきた。しかしながら周辺装置112は、PDLコンパチブルな如何なる装置でもよく、本実施例はプリンタに限定されない。例えば、周辺装置112はPDLコンパチブルなグラフィックスワークステーションを構成してもよい。   The example of FIG. 9 has been described in connection with printing. However, the peripheral device 112 may be any device compatible with PDL, and the present embodiment is not limited to a printer. For example, the peripheral device 112 may constitute a PDL compatible graphics workstation.

図10は、デバイス機能データに基づいてプリンタドライバを自動的に生成する様子を示す。ドライバ生成ロジック1002は、ホストコンピュータ104により受け入れられ、ユニバーサルドライバ印刷サブシステム904の一部に対応する又はそれを形成する。一般に、中核的なプリンタドライバ条件だけでなく、駆動される周辺装置装置のその時点での機能に基づいて、一般的なプリンタドライバファイル及びパッケージ1050を必要に応じて(オンデマンドで)自動的に生成するように、ドライバ生成ロジック1002は構築される。ユーザ、アプリケーション又はシステムが、ホストコンピュータに結合された周辺装置の存在又はネットワーク内で利用可能なことを発見した場合、そのような周辺装置を初めて利用する場合、又はアプリケーション、ユーザ若しくはシステムの明示的なリクエストに応じる場合に、ドライバが生成されてもよいことを、「オンデマンド」は意味する。   FIG. 10 shows a state in which a printer driver is automatically generated based on device function data. Driver generation logic 1002 is accepted by host computer 104 and corresponds to or forms part of universal driver printing subsystem 904. In general, general printer driver files and packages 1050 are automatically (on demand) automatically based on the current capabilities of the driven peripheral device as well as the core printer driver requirements. The driver generation logic 1002 is constructed to generate. When a user, application or system discovers the presence of a peripheral device coupled to the host computer or is available in the network, when such a peripheral device is used for the first time, or explicit application, user or system “On-demand” means that a driver may be created when responding to a request.

機能自覚周辺装置112から、ドライバ生成ロジック1002はメタデータ1010を受信する。このメタデータは、デバイス名、ネットワークアドレス、ネットワークポート番号、製造業者名、モデル番号又は他の説明情報のような周辺装置112の属性を一般的に記述するデータを有する。メタデータ1010は、周辺装置112を一般的に説明する如何なる種類の情報を含んでもよく、本実施例は列挙されているメタデータ例に限定されない。   The driver generation logic 1002 receives the metadata 1010 from the functional awareness peripheral device 112. This metadata includes data that generally describes the attributes of the peripheral device 112, such as device name, network address, network port number, manufacturer name, model number, or other descriptive information. The metadata 1010 may include any type of information that generally describes the peripheral device 112, and this embodiment is not limited to the listed metadata examples.

ドライバ生成ロジック1002は、ホストコンピュータ104からコンフィギュレーションファイル1004を更に受信する。コンフィギュレーションファイル1004は、オペレーティングシステム902の一部を構成し、一般的なプリンタドライバファイル及びパッケージ1050をどのように構成及び組織するかを一般的に示す。例えば、コンフィギュレーションファイル1004は、ホストコンピュータ104のファイルシステム内の或るロケーションを特定し、そのロケーションに一般的なプリンタドライバファイル及びパッケージ1050を格納する。   The driver generation logic 1002 further receives a configuration file 1004 from the host computer 104. Configuration file 1004 forms part of operating system 902 and generally indicates how to configure and organize general printer driver files and packages 1050. For example, the configuration file 1004 identifies a location in the file system of the host computer 104 and stores general printer driver files and packages 1050 at that location.

生成ロジック1002は、基本的な一般的なプリンタドライバ1006を更に受ける。一実施例では、基本的な一般的なプリンタドライバ1006は、オペレーティングシステム902に関連するファイルから取得され、オペレーティングシステムとコンパチブルな総てのデバイスドライバに共通するコードを有する。例えば、基本的な一般的なプリンタドライバ1006は、プリンタスプーラ(printer spooler)、グラフィカルユーザインターフェースウインドウマネジャ等のようなオペレーティングシステムサービスと共に相互運用可能である。   The generation logic 1002 further receives a basic generic printer driver 1006. In one embodiment, the basic generic printer driver 1006 is obtained from a file associated with the operating system 902 and has code that is common to all device drivers compatible with the operating system. For example, a basic generic printer driver 1006 is interoperable with operating system services such as a printer spooler, a graphical user interface window manager, and the like.

生成ロジック1002は、機能検出デバイス112から、プリンタコンフィギュレーションデータ1012、プリンタ機能データ1014及びベンダ固有拡張データ1016を更に受信する。一実施例では、プリンタコンフィギュレーションデータ1012は、その周辺装置112に関するモデル固有のコンフィギュレーションデータを有する。例えば、プリンタコンフィギュレーションデータ1012は、周辺装置112がポストスクリプトプリンタであることを指示してもよい。一実施例では、プリンタ機能データ1014は、周辺装置112の1つ以上の能力、特徴及びオプションの構造化テキストリストを含んでいてもよい。一実施例では、ベンダ固有(製造者固有)の拡張データ1016は、デバイスドライバが特定の周辺装置112と同時使用できるようにするベンダ固有のコードを有する。例えば、ベンダ固有の拡張データ1016は、周辺装置の機能が発揮できるように、例えば、印刷がきれいに仕上がるように、周辺装置112内のレンダリングエンジンにどのようにアクセスするか、制御するかを特定するデータを含んでいてもよいし、或いは、デバイスのベンダがデバイスのファームウエア又はソフトウエアに実装している他のサービスにどのようにアクセスするか、制御するかを特定するデータを含んでいてももよい。これにより、製造社の固有の特徴を提供することが可能となる。   The generation logic 1002 further receives printer configuration data 1012, printer function data 1014, and vendor specific extension data 1016 from the function detection device 112. In one embodiment, the printer configuration data 1012 includes model specific configuration data for the peripheral device 112. For example, the printer configuration data 1012 may indicate that the peripheral device 112 is a Postscript printer. In one embodiment, printer capability data 1014 may include one or more capabilities, features, and optional structured text lists of peripheral device 112. In one embodiment, the vendor specific (manufacturer specific) extension data 1016 includes a vendor specific code that allows a device driver to be used simultaneously with a particular peripheral device 112. For example, the vendor-specific extension data 1016 specifies how to access and control the rendering engine in the peripheral device 112 so that the peripheral device functions can be performed, for example, so that the print is finished cleanly. May contain data, or it may contain data that specifies how the device vendor will access and control other services implemented in the device firmware or software. Also good. This makes it possible to provide the unique characteristics of the manufacturer.

ドライバ生成ロジック1002は、ホストコンピュータ104からマッピングファイル1008を更に受信する。一実施例では、マッピングファイル1008は、オペレーティングシステム902に関連付けられ、オペレーティングシステムのコールバック機能をデバイス112の関連するサービスに対応付け、或いはデバイス特徴名を、オペレーティングシステムで普遍的に認識されている別言語の名称に対応付ける。   The driver generation logic 1002 further receives a mapping file 1008 from the host computer 104. In one embodiment, the mapping file 1008 is associated with the operating system 902, maps the operating system callback function to the associated service of the device 112, or the device feature name is universally recognized by the operating system. Associate with a name in another language.

以上の情報を受信したことに基づいて、ドライバ生成ロジックは、必要に応じて、一般的なプリンタドライバファイル及びパッケージ1050を自動的に生成するように動作する。   Based on the reception of the above information, the driver generation logic operates to automatically generate a general printer driver file and a package 1050 as necessary.

図11は、デバイス機能に基づいてデバイスドライバを自動的に生成するのに使用されるデータ構造を示す。そのようなデータ構造例は、原出願の付録にも用意されている。一実施例では、ドライバ生成ロジック1002は、フォーマット変換ロジック1012及びウェブサービスデバイス(WSD)APIモジュール1104を有する。図11の上側部分の他の要素は、ホストコンピュータ104内で実現されてもよく、ウェブサービスプロトコル1118を用いてデバイス112内のウェブサービスプリンタ(WS-Printe-2)サービスと共に通信を行う。ウェブサービスプロトコルに関する情報は、www.w3c.orgで指定されるW3Cコンソーシアムオンラインから入手可能である。   FIG. 11 shows the data structure used to automatically generate device drivers based on device capabilities. Examples of such data structures are also provided in the appendix of the original application. In one embodiment, driver generation logic 1002 includes format conversion logic 1012 and a web service device (WSD) API module 1104. Other elements in the upper portion of FIG. 11 may be implemented in the host computer 104 and communicate with a web service printer (WS-Printe-2) service in the device 112 using a web service protocol 1118. Information on web service protocols is available from the W3C Consortium Online specified at www.w3c.org.

フォーマット変換ロジック1102は、一般的なプリンタ記述(GPD)ファイル1124を生成する。ドライバ生成ロジック1002は、GPD1124がベンダ固有のUIプラグイン1120と共に統合されるようにしている。GPD1124は印刷サブシステムにより使用され、プリントスキーマ印刷機能フォーマットで印刷機能データを生成し、印刷機能定義1128を作成し、それをプリントスキーマフォーマット(PSF)に格納する。PSFを規定する情報は、マイクロソフト社から入手可能である。ドライバ生成ロジック1002は、製造者に固有のUIプラグイン1120及びコアドライバ1126を使用し、印刷機能定義1128を生成する。   The format conversion logic 1102 generates a general printer description (GPD) file 1124. Driver generation logic 1002 allows GPD 1124 to be integrated with a vendor specific UI plug-in 1120. The GPD 1124 is used by the printing subsystem to generate print function data in the print schema print function format, create a print function definition 1128, and store it in the print schema format (PSF). Information specifying PSF is available from Microsoft. The driver generation logic 1002 generates a print function definition 1128 using a UI plug-in 1120 and a core driver 1126 specific to the manufacturer.

一般に、周辺装置112のベンダ(製造者)は、ベンダ固有のUIプラグイン1120及びコアのドライバ1126をオペレーティングシステム902のベンダに提供し、プラグイン1120及びコアドライバ1126が、オペレーティングシステムを利用して、プラグインやコアドライバをエンドユーザに送り出すことを引き起こし或いはそこに統合されることを引き起こす。従ってプラグイン1120及びコアドライバ1126は、ドライバ生成ロジック1002がドライバを生成する必要のあるときはいつでも、オペレーティングシステム902で利用可能である。   Generally, a vendor (manufacturer) of the peripheral device 112 provides a vendor-specific UI plug-in 1120 and core driver 1126 to the operating system 902 vendor, and the plug-in 1120 and core driver 1126 use the operating system. Cause plug-ins and core drivers to be sent to the end user, or cause them to be integrated there. Accordingly, the plug-in 1120 and core driver 1126 are available in the operating system 902 whenever the driver generation logic 1002 needs to generate a driver.

結果の印刷機能定義1128は、周辺装置と共に総合作用するのに使用可能であり、一実施例ではその定義はアプリケーションプログラム1130により受信され、アプリケーションプログラムは、受信した定義に基づいて、及びベンダ固有のUIプラグイン1120及びコアドライバ1126からの入力にも基づいて、印刷スキームプリントチケット1132を生成する。アプリケーションプログラム1130の一例は、ワードプロセッサ又はスプレッドシートである。   The resulting print function definition 1128 can be used to interact with the peripheral device, and in one embodiment, the definition is received by the application program 1130, which is based on the received definition and is vendor specific. A print scheme print ticket 1132 is also generated based on inputs from the UI plug-in 1120 and the core driver 1126. An example of the application program 1130 is a word processor or a spreadsheet.

プリントスキーマプリントチケットは、プリントチケットバイナリ1134に変換され、その後にセマンティックプリントチケット(semantics print ticket)1136に変換される。意味論的印刷チケット又はセマンティックプリントチケット1136は、そのセマンティックプリントチケットを含むウェブサービスデバイス(WSD)プリントジョブ1138を生成するのに使用される。ジョブ1138(前述のジョブチケットデータに相当)は、ウェブサービスプロトコル1118を用いて周辺装置112に送信され、データが印刷されることを引き起こす。   The print schema print ticket is converted into a print ticket binary 1134 and then converted into a semantic print ticket 1136. The semantic print ticket or semantic print ticket 1136 is used to create a web service device (WSD) print job 1138 that includes the semantic print ticket. A job 1138 (corresponding to the aforementioned job ticket data) is sent to the peripheral device 112 using the web service protocol 1118, causing the data to be printed.

図12は、自動ドライバ生成及びインストレーションを示すラダー図である。   FIG. 12 is a ladder diagram showing automatic driver generation and installation.

図12のステップは、オペレーティングシステム902、ドライバ生成ロジック1002、及び機能検出デバイス112の各要素により実行される。一実施例では、図12のドライバ生成機能1206は、ドライバ生成ロジック1002の要素になる。一実施例では、デバイス112は図12に示されるようなウェブサービスで動作可能にされるプリンタ1214(ウェブサービスイネールブプリンタ)で構成される。   The steps of FIG. 12 are executed by each element of the operating system 902, the driver generation logic 1002, and the function detection device 112. In one embodiment, the driver generation function 1206 of FIG. 12 becomes an element of the driver generation logic 1002. In one embodiment, device 112 comprises a printer 1214 (web service enable printer) that is enabled with a web service as shown in FIG.

一実施例では、オペレーティングシステム902は、ドライバセットアップAPI1202、ドライバストア1204、ネットワークフォルダサービス1208、機能ディスカバリAPI1210及びネットワークディスカバリプロバイダ1212を有する。APIに現れているオペレーティングシステムの指定された機能を呼び出すことで、ドライバセットアップAPI1202は、ホストコンピュータ104の中でアプリケーションが新たなデバイスドライバを設定できるようにする。ドライバストア1204は、インストールされ且つオペレーティングシステムで管理されているデバイスドライバに関するデータのデータベース又はリポジトリを有する。ネットワークフォルダサービス1208は、デバイス又は他のリソースに関する情報のフォルダを表示するロジックを有し、そのデバイス又は他のリソースは、ホストコンピュータ104内にあってもよいし、1つ以上のネットワークを利用してホストコンピュータに直接的又は間接的に結合されていてもよい。機能ディスカバリAPI1210は、オペレーティングシステム内で又はネットワーク内でアプリケーションが機能を発見できるようにするロジックである。ネットワークディスカバリプロバイダ1212は、ホストコンピュータ104が結合されているネットワーク内で装置又はリソースをアプリケーションが発見できるようにするロジックである。   In one embodiment, the operating system 902 includes a driver setup API 1202, a driver store 1204, a network folder service 1208, a function discovery API 1210, and a network discovery provider 1212. By calling a specified function of the operating system appearing in the API, the driver setup API 1202 allows the application in the host computer 104 to set a new device driver. The driver store 1204 has a database or repository of data regarding device drivers that are installed and managed by the operating system. The network folder service 1208 has logic to display a folder of information about a device or other resource, which may be in the host computer 104 or uses one or more networks. May be directly or indirectly coupled to the host computer. The function discovery API 1210 is logic that allows an application to discover functions within an operating system or within a network. Network discovery provider 1212 is logic that enables applications to discover devices or resources in the network to which host computer 104 is coupled.

一実施例では、デバイスドライバを自動的に生成することは、ユーザがネットワークフォルダを開いたことに応じてなされてもよく(ステップ1220)、例えば、最近更新された又は動かされたデバイス又は新たなデバイスをユーザが使用又は発見使用としたときに行われてもよい。これに応じてネットワークフォルダサービス1208は、メッセージをネットワークディスカバリプロバイダ1212に送信し、マルチキャストメッセージをネットワークに送信し、そのネットワークにはホストコンピュータ104が結合されている。WSDプリンタ1214は、マルチキャストメッセージを受信し、メッセージ中のその名称を認識し、応答を返送する1224。応答1224は機能ディスカバリAPI1210で受信され、そのAPIは、ステップ1226に示されるようにデバイスを表現する機能インスタンスを生成する。機能ディスカバリAPI1210は、デバイスを表現する既知の機能インスタンス総てのリストを生成し、それをネットワークフォルダサービス1208に送信し、そのサービスは既知の又は発見したデバイスのリストをステップ1230で表示する。オペレーティングシステムが管理しているグラフィカルユーザインターフェースのパネルに、そのリストが表示されてもよい。   In one embodiment, automatically generating device drivers may be done in response to the user opening a network folder (step 1220), e.g., recently updated or moved devices or new It may be performed when the device is used or discovered by the user. In response, the network folder service 1208 sends a message to the network discovery provider 1212 and sends a multicast message to the network, to which the host computer 104 is coupled. The WSD printer 1214 receives the multicast message, recognizes its name in the message, and returns a response 1224. Response 1224 is received at function discovery API 1210, which generates a function instance representing the device as shown in step 1226. The function discovery API 1210 generates a list of all known function instances representing the device and sends it to the network folder service 1208, which displays a list of known or discovered devices at step 1230. The list may be displayed on a panel of a graphical user interface managed by the operating system.

ステップ1232では、表示されたリストの中から利用可能な装置の1つを選択するユーザ入力が受信される。これに応じて、選択された周辺装置のデバイスドライバは、ステップ1234にてドライバ生成ロジック1206により自動的に生成される。選択された周辺装置の、その時点で備えている機能の総てを使って必要に応じてその時点でデバイスドライバを自動的に生成するために、ここで説明した以外のプロセスが使用されてもよい。   In step 1232, user input is received that selects one of the available devices from the displayed list. In response to this, the device driver of the selected peripheral device is automatically generated by the driver generation logic 1206 in step 1234. Processes other than those described here may be used to automatically generate a device driver at that time, if necessary, using all of the selected peripheral's current functions. Good.

デバイスドライバの生成が完了すると、ステップ1236において、ドライバストアは新たなドライバを反映するように更新される。その結果、オペレーティングシステム902は、新たなドライバに気付くようになり、その周辺装置と共に同時使用するための以後のリクエストに応じて、その新たなドライバを参照及び使用できる。ドライバストア1204は、ステップ1238で「デバイス追加」プロセスを開始してもよく、そのプロセスはインストレーションウィザードの形式をとってもよい。セットアップAPI1202は、「デバイス追加」プロセスを実行し、ステップ1240にて新たなデバイスのインストレーションを完了する。   When device driver generation is complete, in step 1236, the driver store is updated to reflect the new driver. As a result, the operating system 902 becomes aware of the new driver and can refer to and use the new driver in response to subsequent requests for simultaneous use with the peripheral device. The driver store 1204 may initiate an “add device” process at step 1238, which may take the form of an installation wizard. The setup API 1202 executes an “add device” process and completes the installation of a new device at step 1240.

図13は、自動的に生成されたプリンタドライバを使用する印刷動作を表すラダー図である。ステップ1312にてアプリケーション1302はプリンタドライバを選択する。例えば、ユーザは、書類を特定のプリンタで印刷することをアプリケーション1302に指示する。これに応じてアプリケーション1302はプリントスプーラ1304を起動する。スプーラ1304は、特定のプリンタを求めるリクエストをドライバに対して発行し、利用可能なプリンタ設定を示すユーザインターフェースを表示するようにする。これに応じて、ユーザインターフェースサービス1306は、ステップ1314に示されているように、プリンタの機能がサポートしている利用可能なプリンタ設定のリストを示すユーザインターフェースをロード及び表示する。   FIG. 13 is a ladder diagram showing a printing operation using the automatically generated printer driver. In step 1312, the application 1302 selects a printer driver. For example, the user instructs the application 1302 to print a document with a specific printer. In response to this, the application 1302 activates the print spooler 1304. The spooler 1304 issues a request for a specific printer to the driver and displays a user interface showing available printer settings. In response, the user interface service 1306 loads and displays a user interface showing a list of available printer settings supported by the printer function, as shown in step 1314.

図13の例は、今のところユーザが入力を用意し或いは各プリンタ設定に関する選択を行うことを仮定している。これに応じて、ユーザインターフェースサービス1306は、選択されたプリンタ設定を使って印刷ジョブに対する印刷スキーマフォーマットでプリントチケットを生成及び格納する。「印刷」コマンド(又は等価な別形式のもの)を発行することでプリンタ設定値になされた変化をユーザが確認した後、プリントスプーラ1304は、クローズリクエストをドライバに送信し、ドライバのユーザインターフェースはステップ1318でクローズし(閉じられ)、ユーザインターフェースサービス1306は、ユーザインターフェースサービスが終了したことをスプーラ1304に通知する。これに応じて、スプーラ1304はステップ1320で制御(コントロール)をアプリケーションに返し、プリンタ特性選択処理が完了し、システムは印刷を実行する準備を整えたことを示す。   The example of FIG. 13 assumes that the user currently provides input or makes selections for each printer setting. In response, the user interface service 1306 generates and stores a print ticket in the print schema format for the print job using the selected printer settings. After the user confirms the changes made to the printer settings by issuing a “print” command (or another equivalent), the print spooler 1304 sends a close request to the driver, and the driver user interface is Closed (closed) at step 1318, the user interface service 1306 notifies the spooler 1304 that the user interface service has ended. In response, spooler 1304 returns control to the application at step 1320, indicating that the printer characteristics selection process is complete and the system is ready to perform printing.

ステップ1322では、アプリケーション1302が印刷処理を開始し、印刷するデータをスプーラ1304に与える。データは受信されたことをスプーラ1304はアプリケーション1302に通知し、ステップ1324にてスプーラは制御をアプリケーションに返す。それと同時に、2つの代替法の内の1つを使って、スプーラ1304はジョブチケットをプリンタに送る。   In step 1322, the application 1302 starts a printing process, and provides data to be printed to the spooler 1304. The spooler 1304 notifies the application 1302 that the data has been received, and the spooler returns control to the application in step 1324. At the same time, spooler 1304 sends a job ticket to the printer using one of two alternatives.

代替例の一方の場合、ステップ1326において、イニシャライズ後であるがレンダリングの実行直前に、スプーラ1304は、プリントスキーマジョブチケットをセマンティックスキーマジョブチケットに変換し、変換されたジョブチケットをPDLを使って印刷ジョブと共にプリンタに送る。代替例の他方の場合、ステップ1328において、イニシャライズの後に、印刷プロセッサ1304は、プリントスキーマジョブチケットをセマンティックスキーマジョブチケットに変換し、変換されたジョブチケットをPDLを使って印刷ジョブと共にプリンタに送る。   In one alternative, in step 1326, after initialization but just before rendering, spooler 1304 converts the print schema job ticket into a semantic schema job ticket and prints the converted job ticket using PDL. Send to printer with job. In the other alternative case, after initialization, in step 1328, the print processor 1304 converts the print schema job ticket into a semantic schema job ticket and sends the converted job ticket to the printer along with the print job using PDL.

3.0 ハードウエア概要
図8は本発明の実施例で使用されるコンピュータシステム800のブロック図を示す。コンピュータシステム800は、情報を通信するためのバス802又は他の通信手段と、バス802に結合された情報を処理するプロセッサ804とを有する。コンピュータシステム800は、ランダムアクセスメモリ(RAM)又は他のダイナミックストレージデバイスのようなバス802に結合されたメインメモリ806を有し、メインメモリはプロセッサ804で実行される命令や情報を格納する。メインメモリ806は、プロセッサ804で実行される命令の実行中に、一時的な変数又は他の中間的な情報を格納するのに使用されてもよい。コンピュータシステム800は、プロセッサ804のための命令や静的な情報を格納する、バス802に結合されたリードオンリメモリ(ROM)又は他のスタティックストレージデバイスを更に含む。磁気ディスク又は他の光ディスクのようなストレージデバイス810は、情報及び命令を格納するために用意されてバス802に結合される。
3.0 Hardware Overview FIG. 8 shows a block diagram of a computer system 800 used in an embodiment of the present invention. Computer system 800 includes a bus 802 or other communication means for communicating information, and a processor 804 for processing information coupled with bus 802. Computer system 800 has a main memory 806 coupled to a bus 802 such as a random access memory (RAM) or other dynamic storage device, which stores instructions and information executed by processor 804. Main memory 806 may be used to store temporary variables or other intermediate information during execution of instructions executed by processor 804. Computer system 800 further includes a read only memory (ROM) or other static storage device coupled to bus 802 that stores instructions and static information for processor 804. A storage device 810, such as a magnetic disk or other optical disk, is provided and coupled to bus 802 for storing information and instructions.

コンピュータシステム800は、ユーザに情報を表示するために、陰極線管(CRT)のようなディスプレイ812にバス802を介して結合されてもよい。英数字その他のキーを含む入力装置814は、情報及び命令選択内容をプロセッサ804に通知するためにバス802に結合される。他の種類のユーザ入力装置は、カーソル制御装置816(例えば、マウス、トラックボール、スタイラス又はカーソル方向キー)であり、指示情報及び命令選択をプロセッサ804に通知し且つディスプレイ812でのカーソルの動きを制御する。この入力装置は典型的には第1軸(例えば、x)及び第2軸(例えば、y)の2軸による2つの自由度を有し、装置が平面上の位置を指定できるようにする。   Computer system 800 may be coupled via bus 802 to a display 812, such as a cathode ray tube (CRT), for displaying information to a user. An input device 814 that includes alphanumeric and other keys is coupled to the bus 802 to notify the processor 804 of information and command selections. Another type of user input device is a cursor control device 816 (eg, a mouse, trackball, stylus, or cursor direction key) that informs the processor 804 of instruction information and command selection and controls cursor movement on the display 812. Control. The input device typically has two degrees of freedom with two axes, a first axis (eg, x) and a second axis (eg, y), allowing the device to specify a position on the plane.

本発明は無線通信アーキテクチャのコンピュータシステム800を利用することに関連する。本発明の一実施例によれば、メインメモリ806に含まれる1以上の命令の1以上のシーケンスを実行するプロセッサ804に応じて、無線通信がコンピュータシステム800によって提供される。そのような命令は、ストレージデバイス810のような他のコンピュータ読取可能な媒体からメインメモリ806に読み込まれてもよい。メインメモリ806に含まれている命令シーケンスの実行は、本願で説明されるプロセスステップをプロセッサ804が実行することを引き起こす。マルチプロセッシング構成の1以上のプロセッサが、メインメモリ806に含まれている命令シーケンスを実行するのに使用されてもよい。代替実施例では、本発明を実施するために、ハードワイヤード回路が、代替的に使用されてもよいし或いはソフトウエア命令との組み合わせで使用されてもよい。すなわち本発明の実施例はハードウエア回路及びソフトウエアの特定の如何なる組み合わせにも限定されない。   The invention is related to utilizing a computer system 800 of wireless communication architecture. According to one embodiment of the invention, wireless communication is provided by computer system 800 in response to processor 804 executing one or more sequences of one or more instructions contained in main memory 806. Such instructions may be read into main memory 806 from other computer readable media such as storage device 810. Execution of the instruction sequence contained in main memory 806 causes processor 804 to perform the process steps described herein. One or more processors in a multiprocessing configuration may be used to execute the instruction sequence contained in main memory 806. In alternative embodiments, hardwired circuitry may alternatively be used or in combination with software instructions to implement the present invention. That is, embodiments of the present invention are not limited to any specific combination of hardware circuitry and software.

ここで使用されているように「マシン読取可能な媒体」なる用語は、命令をプロセッサ804の実行に備えて提供することに関与する如何なる媒体にも関連する。コンピュータシステム800を利用して実現される例の場合、様々なマシン読取可能な媒体が含まれ、例えば、実行に備えて命令をプロセッサ804に提供する際に使用される。そのような媒体は多くの形態をとってよく、限定ではないが、記憶媒体及び伝送媒体を含む。ストレージ媒体は、不揮発性媒体及び揮発性媒体の双方を含む。不揮発性媒体は、例えば、ストレージデバイス810のような光又は磁気ディスクを含む。揮発性媒体は、メインメモリ806のようなダイナミックメモリを含む。伝送媒体は、同軸ケーブル、銅線及び光ファイバを含み、バス802を構成するワイヤを含む。伝送媒体は、無線電波及び赤外線データ通信の際に生成されるもののような、音波又は光波の形式をとってもよい。そのような媒体は、その媒体で運ばれる命令が、マシンの中に命令を読み込む物理的手段により検出されることを可能にするように実現可能でなければならない。   The term “machine-readable medium” as used herein refers to any medium that participates in providing instructions for execution by processor 804. For examples implemented utilizing computer system 800, various machine-readable media are included, for example, used to provide instructions to processor 804 for execution. Such a medium may take many forms, including but not limited to storage media and transmission media. Storage media includes both non-volatile media and volatile media. Non-volatile media includes, for example, optical or magnetic disks, such as storage device 810. Volatile media includes dynamic memory, such as main memory 806. Transmission media includes coaxial cables, copper wire, and optical fiber, and includes the wires that make up bus 802. Transmission media may take the form of acoustic or light waves, such as those generated during radio wave and infrared data communications. Such a medium must be feasible to allow the instructions carried on the medium to be detected by physical means that read the instructions into the machine.

マシン読取可能な媒体の一般的な形態は、フロッピディスク、フレキシブルディスク、ハードディスク、磁気テープその他の如何なる磁気媒体、CD-ROMその他の如何なる光媒体、パンチカード、紙テープ又は穴のパターンを有する他の如何なる物理的媒体、RAM、PROM、EPROM、フラッシュEPROMその他のメモリチップ、カートリッジ、上記のような搬送波又はコンピュータが読み取ることの可能な他の如何なる媒体でも含む。   The general form of machine readable medium is floppy disk, flexible disk, hard disk, magnetic tape or any other magnetic medium, CD-ROM or any other optical medium, punch card, paper tape or any other having a hole pattern It includes physical media, RAM, PROM, EPROM, flash EPROM and other memory chips, cartridges, carrier waves as described above, or any other medium readable by a computer.

マシン読取可能な様々な形態は、1以上の命令の1以上のシーケンスをプロセッサ804に実行に備えて搬送する際にも適用可能である。例えば命令は初期には遠く離れたリモートコンピュータの磁気ディスクで搬送されてもよい。リモートコンピュータは自身のダイナミックメモリからその命令をロードし、モデムを用いて電話回線を介して命令を送信してもよい。コンピュータシステム800付近のモデムは電話回線でそのデータを受信し、赤外線送信機を用いてそのデータを赤外線信号に変換する。バス802に結合された赤外線検出器は、赤外線信号で搬送されたデータを受信し、そのデータをバス802に置く。バス802はデータをメインメモリ806に運び、プロセッサ804はメインメモリから命令を抽出して実行する。メインメモリ806で受信された命令は、プロセッサ804で実行される前又はその後にストレージデバイス810に選択的に格納されてもよい。   Various machine readable forms are also applicable when carrying one or more sequences of one or more instructions to the processor 804 for execution. For example, the instructions may initially be carried on a remote computer magnetic disk that is far away. The remote computer may load the instructions from its dynamic memory and send the instructions over a telephone line using a modem. A modem near computer system 800 receives the data over a telephone line and converts the data into an infrared signal using an infrared transmitter. An infrared detector coupled to bus 802 receives data carried in the infrared signal and places the data on bus 802. The bus 802 carries data to the main memory 806, and the processor 804 extracts and executes instructions from the main memory. The instructions received by main memory 806 may be selectively stored on storage device 810 either before or after execution by processor 804.

コンピュータシステム800はバス802に結合された通信インターフェース818も含む。通信インターフェース818は、ローカルネットワーク822に接続されるネットワークリンク820に結合する双方向データ通信をもたらす。例えば、通信インターフェース818は、データ通信接続を対応するタイプの電話回線に与える統合サービスディジタルネットワーク(ISDN)カード又はモデムでもよい。別の例では、通信インターフェース818は、データ通信接続をコンパチブルなLANに与えるLANカードでもよい。無線リンクが使用されてもよい。どの実現手段でも、通信インターフェース818は、電気的な、電磁的な又は光学的な信号を送信及び受信し、様々なタイプの情報を表現するディジタルデータストリームを運ぶ。   Computer system 800 also includes a communication interface 818 coupled to bus 802. Communication interface 818 provides a two-way data communication coupling to a network link 820 that is connected to a local network 822. For example, the communication interface 818 may be an integrated services digital network (ISDN) card or modem that provides a data communication connection to a corresponding type of telephone line. In another example, the communication interface 818 may be a LAN card that provides a data communication connection to a compatible LAN. A wireless link may be used. In any implementation, communication interface 818 sends and receives electrical, electromagnetic or optical signals and carries digital data streams representing various types of information.

ネットワークリンク820は典型的には1以上のネットワークを介して他のデータ装置とのデータ通信をもたらす。例えば、ネットワークリンク820はローカルネットワーク822を介してホストコンピュータとのコネクションを提供する、或いはインターネットサービスプロバイダ(ISP)826により運営されるデータ機器とのコネクションを提供する。そしてISP826はデータ通信サービスをワールドワイドパケットデータ通信ネットワーク(今日、インターネット828として一般に言及されている)を介して提供する。ローカルネットワーク822及びインターネット828の双方は、ディジタルデータストリームを搬送する、電気的な、電磁的な又は光学的な信号を使用する。様々なネットワークを介する信号や、ネットワークリンク820における通信インターフェース818を介する信号は、コンピュータシステムに及びそこからディジタルデータを搬送し、例えば情報を伝送する搬送波の形式をとってもよい。   Network link 820 typically provides data communication with other data devices over one or more networks. For example, the network link 820 provides a connection with a host computer via the local network 822 or a connection with a data device operated by an Internet service provider (ISP) 826. ISP 826 then provides data communication services via a worldwide packet data communication network (commonly referred to today as the Internet 828). Both the local network 822 and the Internet 828 use electrical, electromagnetic or optical signals that carry digital data streams. Signals over various networks and through communication interface 818 at network link 820 may take the form of a carrier wave that carries digital data to and from the computer system and carries information, for example.

コンピュータシステム800は、ネットワーク、ネットワークリンク820及び通信インターフェースを介して、メッセージを送信し及びプログラムコードを含むデータを受信する。インターネットの例では、サーバ830はインターネット828、ISP826、ローカルネットワーク822及び通信インターフェース818を介して、アプリケーションプログラムに関する要求されたコードを送信するかもしれない。本発明によれば、そのような或るダウンロードされるアプリケーションは、監視システムが、選択されたネットワーク要素を上述のように監視するように構築する。プロセッサ804は受信したコードを受信したときに実行してもよいし、後の実行に備えてストレージデバイス810又は他の不揮発性ストレージに格納していたかのように実行してもよい。このようにコンピュータシステム800は搬送波の形式でアプリケーションコードを取得してもよい。   Computer system 800 transmits messages and receives data including program codes via a network, network link 820 and communication interface. In the Internet example, the server 830 may send the requested code for the application program via the Internet 828, ISP 826, local network 822 and communication interface 818. In accordance with the present invention, such a downloaded application is constructed such that the monitoring system monitors selected network elements as described above. The processor 804 may execute when it receives the received code, or it may execute as if it had been stored in the storage device 810 or other non-volatile storage for later execution. Thus, computer system 800 may obtain application code in the form of a carrier wave.

4.0 拡張性及び代替例
以上の説明により、本発明の実施例が多くの具体的詳細を参照しながら説明され、その具体的詳細は実現手段毎に異なってよい。本発明に関する独占排他権のインジケータであって、出願人が本発明であると主張するものは、特定の態様で本願により許可される特許請求の範囲であり、その特定の形態の特許請求の範囲は以後の如何なる補正をも含む。特許請求の範囲に登場している用語についての明示的に言及されたどの定義も、特許請求の範囲で使用されるそのような用語の意味を規定する。それ故に、どのような方法によっても、特許請求の範囲で明示的には引用されていない要素、特性、特徴、利点又は属性の何れも特許請求の範囲を限定するよう解釈されるべきでない。従って明細書及び図面は限定的な意味ではなく例示的に解釈されるべきである。
4.0 Extensibility and Alternatives From the foregoing description, embodiments of the invention have been described with reference to numerous specific details that may vary from implementation to implementation. What is claimed as the invention by the exclusive exclusion indicator for the present invention is the claims granted by this application in a particular manner, and the claims in that particular form Includes any subsequent corrections. Any explicitly stated definitions for terms appearing in the claims shall govern the meaning of such terms as used in the claims. Therefore, no element, property, feature, advantage or attribute that is not expressly recited in a claim should be construed as limiting the claim in any way. The specification and drawings are, accordingly, to be regarded in an illustrative rather than a restrictive sense.

<コピーライト>
本特許出願の説明の一部は著作権で保護される事項を含むかもしれない。特許商標庁での特許ファイルや記録等に関して見受けられるような、本願書類のファクシミリによる再生を誰かが行うことに著作権者は異議を唱えるものではないが、他の場合については総ての著作権を保持している。
<Copyright>
A portion of the description of this patent application may contain copyrighted material. The copyright owner does not object to someone performing facsimile reproduction of the document of this application, such as that seen with respect to patent files and records at the Patent and Trademark Office, but in all other cases all copyrights Holding.

デバイス機能検出アプリケーション及び機能自覚周辺装置が使用されるコンピュータシステム例を示す図である。It is a figure which shows the example of a computer system in which a device function detection application and a function awareness peripheral device are used. 図1のデバイス機能検出アプリケーション及び機能自覚周辺装置間で通信されるデータを示す図である。It is a figure which shows the data communicated between the device function detection application of FIG. 1, and a function awareness peripheral device. コンピュータ周辺装置の機能ベースの制御プロセス例を示す図である。It is a figure which shows the example of a function-based control process of a computer peripheral device. ロングエッジオプションが選択された周辺装置のグラフィカルユーザインターフェース例を示す図である。It is a figure which shows the example of the graphical user interface of the peripheral device by which the long edge option was selected. デバイス機能プロデューサロジック及びデバイス機能コンシューマロジックの機能例を示す図である。It is a figure which shows the function example of a device function producer logic and a device function consumer logic. ジョブチケットプロデューサロジック及びジョブチケットコンシューマロジックの機能例を示す図である。It is a figure which shows the function example of a job ticket producer logic and a job ticket consumer logic. デバイス機能検出アプリケーションの機能例を示す図である。It is a figure which shows the function example of a device function detection application. 本発明の実施例が使用されるコンピュータシステムを示すブロック図である。FIG. 2 is a block diagram illustrating a computer system in which an embodiment of the present invention is used. ジョブチケットベースの印刷をPDLベース印刷に統合するシステム例を示す図である。1 is a diagram illustrating an example of a system that integrates job ticket-based printing with PDL-based printing. FIG. デバイス機能に基づいてプリンタドライバを自動的に生成する様子を示す図である。It is a figure which shows a mode that a printer driver is automatically produced | generated based on a device function. デバイス機能に基づいてデバイスドライバを自動的に生成するのに使用されるデータ構造を示す図である。FIG. 6 illustrates a data structure used to automatically generate a device driver based on device capabilities. 自動ドライバ生成及びインストレーションを示すラダー図である。It is a ladder diagram showing automatic driver generation and installation. 自動的に生成されたプリンタドライバを使用する印刷動作を表すラダー図である。FIG. 9 is a ladder diagram illustrating a printing operation using an automatically generated printer driver.

符号の説明Explanation of symbols

102 ユーザ
104 ホストコンピュータ
106 オペレーティングシステム
108 インターフェース
110 デバイス機能検出アプリケーション
112,114 機能自覚周辺装置
116 ネットワーク
202 デバイス機能コンシューマロジック
204 ジョブチケットプロデューサロジック
206 デバイス機能データ
208 ジョブチケットデータ
210 デバイス非依存性データ
212 デバイス機能プロデューサロジック
214 ジョブチケットコンシューマロジック
402 表示画面
404 ユーザインタフェースパネル
800 コンピュータシステム
802 バス
804 プロセッサ
806 メインメモリ
808 リードオンリメモリ
810 ストレージデバイス
812 ディスプレイ
814 入力装置
816 カーソル制御部
818 通信インターフェース
820 ネットワークリンク
822 ローカルネットワーク
824 ホスト
826 インターネットサービスプロバイダ
828 インターネット
830 サーバ
902 オペレーティングシステム
904 ユニバーサルドライバ印刷サブシステム
906 ポストスクリプト用ドライバレス拡張部
908 ページ制御言語(PCL)用ドライバレス拡張部
910 プリンタ機能データ
912 プリントチケット
914 ジョブデータ
916 プリンタ機能ファイル
918 PDLテーブルに対するジョブチケット
920 ジョブチケットPDL変換ロジック
922 PDLレンダリングエンジン
1002 ドライバ生成ロジック
1004 コンフィギュレーションファイル
1006 基本的な一般的プリンタドライバ
1008 マッピングファイル
1010 メタデータ
1012 プリンタコンフィギュレーションデータ
1014 プリンタ機能データ
1016 ベンダ固有拡張データ
1050 一般的なプリンタドライバファイル及びパッケージ
1102 フォーマット変換ロジック
1104 ウェブサービスデバイスAPI
1118 ウェブサービスプロトコル
1120 ベンダ固有のUIプラグイン
1122 UEプラグインPSPC
1124 PPD又はGPD
1126 コアドライバ
1128 PSFによる印刷機能
1130 アプリケーション
1132 印刷スキーマプリントチケット
1134 プリントチケットバイナリ
1136 セマンティックプリントチケット
1138 SPTを伴うWSDプリントジョブ
102 User 104 Host Computer 106 Operating System 108 Interface 110 Device Function Detection Application 112, 114 Function Aware Peripheral Device 116 Network 202 Device Function Consumer Logic 204 Job Ticket Producer Logic 206 Device Function Data 208 Job Ticket Data 210 Device Independent Data 212 Device Function Producer Logic 214 Job Ticket Consumer Logic 402 Display Screen 404 User Interface Panel 800 Computer System 802 Bus 804 Processor 806 Main Memory 808 Read Only Memory 810 Storage Device 812 Display 814 Input Device 816 Cursor Control Unit 818 Through Interface 820 Network link 822 Local network 824 Host 826 Internet service provider 828 Internet 830 Server 902 Operating system 904 Universal driver printing subsystem 906 Driverless extension for postscript 908 Driverless extension for page control language (PCL) 910 Printer function data 912 Print ticket 914 Job data 916 Printer function file 918 Job ticket for PDL table 920 Job ticket PDL conversion logic 922 PDL rendering engine 1002 Driver generation logic 1004 Configuration file 1006 Basic general printer driver 1008 Mapping file 1010 Data 1012 printer configuration data 1014 printer function data 1016 vendor specific extension data 1050 general printer driver file and package 1102 format conversion logic 1104 web service device API
1118 Web service protocol 1120 Vendor specific UI plug-in 1122 UE plug-in PSPC
1124 PPD or GPD
DESCRIPTION OF SYMBOLS 1126 Core driver 1128 Print function by PSF 1130 Application 1132 Print schema print ticket 1134 Print ticket binary 1136 Semantic print ticket 1138 WSD print job with SPT

Claims (17)

デバイスドライバ生成ロジック及びデバイスジョブ処理ロジックを有するデータ処理システムであって、
前記デバイスドライバ生成ロジックは
コンピュータ周辺装置の1つ以上の機能を記述してい第1の機能説明情報を前記コンピュータ周辺装置か受信し、
バイスドライバファイルを受信し、
コンフィギュレーションデータを受信し、
前記第1の機能説明情報、前記デバイスドライバファイル及びコンフィギュレーションデータに基づいて、前記コンピュータ周辺装置及びコンピュータオペレーティングシステムについてデバイスドライバを生し、
前記デバイスジョブ処理ロジックは、
デバイス機能検出アプリケーションが利用可能な前記コンピュータ周辺装置のリストを作成し、
前記コンピュータ周辺装置のリストに含まれているコンピュータ周辺装置の選択を受け付け、
前記選択を受け付けたコンピュータ周辺装置にリクエストを送り、
前記リクエストの時点における前記コンピュータ周辺装置第1の機能説明情報に基づいて、前記コンピュータ周辺装置の実行するジョブを記述するジョブチケットを生成し、
ページ記述言語にフォーマットされたジョブチケットを前記コンピュータ周辺装置に提供するデータ処理システム。
A data processing system having device driver generation logic and device job processing logic,
The device driver generation logic is :
The first capability description that has been written to one or more functions of the computer peripheral device receiving the computer peripheral device or al,
It receives the device driver files,
Receive configuration data ,
The first capability description, based previously Kide device driver files and configuration data, to generate a device driver for the computer peripheral instrumentation 置及 beauty computer operating system,
The device job processing logic is
Creating a list of the computer peripherals available to the device capability detection application;
Accepts selection of computer peripheral devices included in the list of computer peripheral devices;
Send a request to the computer peripheral that accepted the selection;
Based on the first function description information of the previous SL computer peripheral device that put the time of the request, it generates a job ticket describing the job to be executed in the computer peripheral device,
Providing job ticket that has been formatted in a page description language to the computer peripheral device, a data processing system.
前記デバイスドライバ生成ロジックは前記オペレーティングシステムから、新たに発見したコンピュータ周辺装置をインストールするリクエストを表すユーザ入力を受信し、該ユーザ入力に応じて前記デバイスドライバを生成する請求項1記載のデータ処理システム。 The device driver generation logic, the operating system receives user input representing a request to install a computer peripheral device newly discovered, to generate the device driver in response to the user input, data of claim 1, wherein Processing system. 前記デバイスドライバ生成ロジックは前記コンピュータ周辺装置から、前記コンピュータ周辺装置の属性を特定するメタデータを受信し前記メタデータに基づいて前記デバイスドライバを生成する請求項1記載のデータ処理システム。 The device driver generation logic, the computer from a peripheral device, receiving the metadata identifying the attributes of the computer peripheral device, for generating the device driver based on the metadata, claim 1 data processing system according. 前記デバイスドライバ生成ロジックは前記コンピュータ周辺装置から、前記コンピュータ周辺装置のモデル固有の特徴及びオプションを特定するデバイスコンフィギュレーションデータを受信し前記デバイスコンフィギュレーションデータに基づいて前記デバイスドライバを生成する請求項1記載のデータ処理システム。 The device driver generation logic, from the computer peripheral device, receiving the device configuration data that identifies model-specific features and options of the computer peripheral device, for generating the device driver based on the device configuration data, The data processing system according to claim 1. 前記コンフィギュレーションデータは、レンダリングモジュール、ユーザインターフェースモジュール及びデバイスドライバパッケージを構築することに関する属性値を有する請求項1記載のデータ処理システム。   The data processing system of claim 1, wherein the configuration data includes attribute values related to building a rendering module, a user interface module, and a device driver package. 1つ以上のコンピュータ読取可能な記憶媒体に実行に備えてエンコードされたジョブチケットコンシューマロジック前記コンピュータ周辺装置内に設けられており、該ジョブチケットコンシューマロジックは
前記ジョブチケットデータを、前記コンピュータ周辺装置の1つ以上のデバイス固有の処理コマンド変換し、
前記コンピュータ周辺装置前記処理コマンドを実行させる、請求項1記載のデータ処理システム。
One or more computer-readable storage medium for execution encoded job ticket consumer logic is provided in the computer peripheral device, the job ticket consumer logic is
Converting the job ticket data into one or more device-specific processing commands of the computer peripheral device;
The process causes execute the command, according to claim 1 data processing system according to the computer peripheral device.
前記コンピュータ周辺装置が、プリンタ、複合機、スキャナ、仕上げ装置、ディジタルカメラ又はモニタの内何れかを含む請求項1記載のデータ処理システム。 The data processing system according to claim 1 , wherein the computer peripheral device includes any one of a printer, a multifunction peripheral, a scanner, a finishing device, a digital camera, and a monitor. 前記ジョブチケットデータが、前記第1の機能説明情報の一部をなす請求項1記載のデータ処理システム。 The job ticket data, the form part of the first capability description, the data processing system of claim 1, wherein. 前記第1の機能説明情報が、前記コンピュータ周辺装置、特徴のプロパティ名、プロパティの値及びプロパティのオプションに関する特徴のリストを、ジョブ定義フォーマット(JDF)又は印刷スキーマ標準仕様の何れかで表現された形式で含んでいる、請求項1記載のデータ処理システム。 The first function description information is a list of features related to the computer peripheral device, feature property name, property value, and property option expressed in either a job definition format (JDF) or a printing schema standard specification. format are Nde contains data processing system of claim 1, wherein. 前記デバイスドライバ生成ロジックは利用可能な複数の周辺装置のリストを表示し、該利用可能な周辺装置の1つを選択していることを表す第2のユーザ入力を受信し、前記第2のユーザ入力で表現されている利用可能な周辺装置の内選択されたものにリクエストを送るように前記デバイスドライバを生成する請求項1記載のデータ処理システム。 The device driver generation logic displays a list of a plurality of available peripheral devices, receive second user input representing that select one of the available peripheral devices, said second generating the device driver to send a request to that inner selected available peripheral devices that are represented in the user input, the data processing system of claim 1, wherein. 1つ以上の命令シーケンスをエンコードしたコンピュータ読取可能な記憶媒体であって、該命令シーケンスは実行されると、1つ以上のプロセッサに或る手順を実行させ、該手順は、
デバイスドライバ生成ロジックが、
コンピュータ周辺装置の1つ以上の機能を記述してい第1の機能説明情報を前記コンピュータ周辺装置か受信し、
バイスドライバファイルを受信し、
コンフィギュレーションデータを受信し、
前記第1の機能説明情報、前記デバイスドライバファイル及びコンフィギュレーションデータに基づいて、前記コンピュータ周辺装置及びコンピュータオペレーティングシステムについてデバイスドライバを生し、
デバイスジョブ処理ロジックが、
デバイス機能検出アプリケーションが利用可能な前記コンピュータ周辺装置のリストを作成し、
前記コンピュータ周辺装置のリストに含まれているコンピュータ周辺装置の選択を受け付け、
前記選択を受け付けたコンピュータ周辺装置にリクエストを送り、
前記リクエストの時点における前記コンピュータ周辺装置第1の機能説明情報に基づいて、前記コンピュータ周辺装置の実行するジョブを記述するジョブチケットを生成し、
ページ記述言語にフォーマットされたジョブチケットを前記コンピュータ周辺装置に提供するステップを有する、コンピュータ読取可能な記憶媒体。
A computer-readable storage medium encoded with one or more instruction sequences that, when executed, causes one or more processors to perform a procedure, the procedure comprising:
Device driver generation logic,
The first capability description that has been written to one or more functions of the computer peripheral device receiving the computer peripheral device or al,
It receives the device driver files,
Receive configuration data ,
The first capability description, based previously Kide device driver files and configuration data, to generate a device driver for the computer peripheral instrumentation 置及 beauty computer operating system,
Device job processing logic,
Creating a list of the computer peripherals available to the device capability detection application;
Accepts selection of computer peripheral devices included in the list of computer peripheral devices;
Send a request to the computer peripheral that accepted the selection;
Based on the first function description information of the previous SL computer peripheral device that put the time of the request, it generates a job ticket describing the job to be executed in the computer peripheral device,
Comprising providing a job ticket that has been formatted in a page description language to the computer peripheral device, a computer readable storage medium.
或る命令シーケンスを更に有し、該命令シーケンスは実行されると、前記オペレーティングシステムから、新たに発見したコンピュータ周辺装置をインストールするリクエストを表すユーザ入力を受信し、該ユーザ入力に応じて前記自動的に生成するステップを前記1つ以上のプロセッサに実行させる請求項11記載のコンピュータ読取可能な記憶媒体。 Further comprising an instruction sequence that, when executed, receives from the operating system a user input representing a request to install a newly discovered computer peripheral device, and in response to the user input the automatic sequence The computer-readable storage medium of claim 11 , causing the one or more processors to perform a step of generating automatically. 或る命令シーケンスを更に有し、該命令シーケンスは実行されると、前記コンピュータ周辺装置から、前記コンピュータ周辺装置の属性を特定するメタデータを受信することを1つ以上のプロセッサに実行させ、前記メタデータに基づいて前記デバイスドライバを生成する請求項11記載のコンピュータ読取可能な記憶媒体。 Further comprising an instruction sequence that, when executed, causes one or more processors to receive metadata identifying attributes of the computer peripheral device from the computer peripheral device; The computer-readable storage medium of claim 11 , wherein the device driver is generated based on metadata. 或る命令シーケンスを更に有し、該命令シーケンスは実行されると、前記コンピュータ周辺装置から、前記コンピュータ周辺装置のモデル固有の特徴及びオプションを特定するデバイスコンフィギュレーションデータを受信することを1つ以上のプロセッサに実行させ、前記デバイスコンフィギュレーションデータに基づいて前記デバイスドライバを生成する請求項11記載のコンピュータ読取可能な記憶媒体。 One or more further comprising: an instruction sequence that, when executed, receives device configuration data identifying model-specific features and options of the computer peripheral device from the computer peripheral device; The computer-readable storage medium according to claim 11 , wherein the device driver is generated based on the device configuration data. デバイスドライバ生成ロジック及びデバイスジョブ処理ロジックを有するデータ処理システム実行する方法であって、
前記デバイスドライバ生成ロジックが、
コンピュータ周辺装置の1つ以上の機能を記述してい第1の機能説明情報を前記コンピュータ周辺装置か受信し、
バイスドライバファイルを受信し、
コンフィギュレーションデータを受信し、
前記第1の機能説明情報、前記デバイスドライバファイル及びコンフィギュレーションデータに基づいて、前記コンピュータ周辺装置及びコンピュータオペレーティングシステムについてデバイスドライバを生し、
前記デバイスジョブ処理ロジックが、
デバイス機能検出アプリケーションが利用可能な前記コンピュータ周辺装置のリストを作成し、
前記コンピュータ周辺装置のリストに含まれているコンピュータ周辺装置の選択を受け付け、
前記選択を受け付けたコンピュータ周辺装置にリクエストを送り、
前記リクエストの時点における前記コンピュータ周辺装置第1の機能説明情報に基づいて、前記コンピュータ周辺装置の実行するジョブを記述するジョブチケットを生成し、
ページ記述言語にフォーマットされたジョブチケットを前記コンピュータ周辺装置に提供するステップを有する、方法。
A method of data processing system having a device driver generation logic and device job processing logic executed,
The device driver generation logic is
The first capability description that has been written to one or more functions of the computer peripheral device receiving the computer peripheral device or al,
It receives the device driver files,
Receive configuration data ,
The first capability description, based previously Kide device driver files and configuration data, to generate a device driver for the computer peripheral instrumentation 置及 beauty computer operating system,
The device job processing logic is
Creating a list of the computer peripherals available to the device capability detection application;
Accepts selection of computer peripheral devices included in the list of computer peripheral devices;
Send a request to the computer peripheral that accepted the selection;
Based on the first function description information of the previous SL computer peripheral device that put the time of the request, it generates a job ticket describing the job to be executed in the computer peripheral device,
Comprising providing a job ticket that has been formatted in a page description language to the computer peripheral device, method.
前記オペレーティングシステムから、新たに発見したコンピュータ周辺装置をインストールするリクエストを表すユーザ入力を受信し、該ユーザ入力に応じて前記自動的に生成するステップを更に有する請求項15記載の方法。 16. The method of claim 15 , further comprising receiving user input from the operating system representing a request to install a newly discovered computer peripheral device and automatically generating the user input in response to the user input. 前記コンピュータ周辺装置から、前記コンピュータ周辺装置の属性を特定するメタデータを受信するステップを更に有し、前記メタデータに基づいて前記デバイスドライバを生成する請求項15記載の方法。
The method of claim 15 , further comprising receiving metadata identifying an attribute of the computer peripheral device from the computer peripheral device, and generating the device driver based on the metadata.
JP2008219420A 2007-08-29 2008-08-28 Data processing system, computer readable data storage medium and method Expired - Fee Related JP5287041B2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/846,926 US8589866B2 (en) 2007-08-29 2007-08-29 Automatically generating capability-based computer peripheral device drivers
US11/846,926 2007-08-29

Publications (2)

Publication Number Publication Date
JP2009059365A JP2009059365A (en) 2009-03-19
JP5287041B2 true JP5287041B2 (en) 2013-09-11

Family

ID=39864661

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008219420A Expired - Fee Related JP5287041B2 (en) 2007-08-29 2008-08-28 Data processing system, computer readable data storage medium and method

Country Status (3)

Country Link
US (1) US8589866B2 (en)
EP (1) EP2031500B1 (en)
JP (1) JP5287041B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150052922A (en) * 2013-11-06 2015-05-15 삼성전자주식회사 Method and apparatus for rendering data of web application and recording medium thereof

Families Citing this family (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US8214548B2 (en) * 2007-08-29 2012-07-03 Ricoh Company, Ltd. Capability-based control device driver of a computer peripheral device
US8589866B2 (en) 2007-08-29 2013-11-19 Ricoh Company, Ltd. Automatically generating capability-based computer peripheral device drivers
US9003399B2 (en) * 2007-09-11 2015-04-07 International Business Machines Corporation Methods, systems and computer products for a dynamic repository
KR101235859B1 (en) * 2007-10-10 2013-02-20 삼성전자주식회사 Method and apparatus for operating a printer driver corresponding to a application, method and apparatus for installing a printer driver
US8353015B2 (en) * 2008-01-09 2013-01-08 Microsoft Corporation Trusted internet identity
US20090190150A1 (en) * 2008-01-24 2009-07-30 Selvaraj Senthil K On-Demand Print Driver
US8848213B2 (en) * 2008-03-18 2014-09-30 Microsoft Corporation Object-based network scanning
JP2010160616A (en) * 2009-01-07 2010-07-22 Seiko Epson Corp Host device, method for controlling the same, image forming system, and computer program
US8427675B2 (en) * 2009-01-27 2013-04-23 Ricoh Company, Ltd. Automatically updating a printer driver with new printing device features
JP5316078B2 (en) * 2009-02-25 2013-10-16 株式会社リコー COMMUNICATION DEVICE, CONTROL METHOD FOR THE COMMUNICATION DEVICE, PROGRAM THEREOF, AND SYSTEM
US8526020B2 (en) * 2009-03-06 2013-09-03 Ricoh Company, Ltd. Paper size support for a print system
US8520225B2 (en) * 2009-03-06 2013-08-27 Ricoh Company, Ltd. Print driver localization support from printing device to support multiple user profiles
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
US20110060816A1 (en) * 2009-04-17 2011-03-10 Prem Jothipragasam Kumar Parameter management in a personal distributed network
CN102483709B (en) * 2009-06-08 2015-06-24 佐藤控股株式会社 System and method for injecting run-time programming code in a printing device
JP2011034553A (en) 2009-07-06 2011-02-17 Ricoh Co Ltd Print management apparatus, print management system and print management method
US8422060B2 (en) * 2009-10-28 2013-04-16 Infoprint Solutions Company Llc Document path mapping mechanism
US20110222107A1 (en) * 2010-03-10 2011-09-15 Williams David A Methods and structure for improved jdf ticket processing in a printing system using automatically generated translation tables
JP5598039B2 (en) 2010-03-18 2014-10-01 株式会社リコー Information processing apparatus, control method therefor, program, recording medium, and image forming apparatus
US8887054B2 (en) 2010-04-15 2014-11-11 Hewlett-Packard Development Company, L.P. Application selection user interface
US9100620B2 (en) * 2010-05-25 2015-08-04 Xerox Corporation Method and system for adding a color bar as a rendering job ticket attribute
US8473547B2 (en) 2010-09-02 2013-06-25 Ricoh Company, Ltd Methods and structure for utilizing dynamic capabilities in client/server software interaction
US8773674B2 (en) * 2010-09-17 2014-07-08 Xerox Corporation Method and apparatus to provide enhanced printing for newly launched devices in a universal printer driver
US20120212757A1 (en) * 2011-02-23 2012-08-23 Gaertner Joseph P Multiple print protocol capability of a virtual printer in a print shop architecture
US8928899B2 (en) * 2011-02-24 2015-01-06 Ricoh Company, Ltd. Web services printer driver
US9652184B2 (en) * 2011-02-28 2017-05-16 Ricoh Company, Ltd. Workflow regeneration in a print shop environment
US8693014B2 (en) 2011-02-28 2014-04-08 Ricoh Company, Ltd Job ticket translation in a print shop architecture
US8860984B2 (en) 2011-02-28 2014-10-14 Ricoh Company, Ltd Workflow generation in a print shop environment
US9329808B2 (en) 2011-03-24 2016-05-03 Ricoh Company, Ltd. User interfaces for rule-based workflow generation in a print shop environment
US8526044B2 (en) 2011-03-31 2013-09-03 Ricoh Company, Ltd Template-based installation of workflow systems in a print shop environment
US9092164B2 (en) * 2011-05-31 2015-07-28 Microsoft Technology Licensing, Llc Printing using a platform-independent driver
JP5828681B2 (en) * 2011-05-31 2015-12-09 キヤノン株式会社 SETTING VALUE MANAGEMENT DEVICE, ITS CONTROL METHOD, AND PROGRAM
US20130060918A1 (en) * 2011-09-06 2013-03-07 David G. Butler Electronic device control using a uniform resource identifier
KR101908947B1 (en) * 2011-11-23 2018-10-17 삼성전자주식회사 Method and apparatus for peripheral connection
US9716802B2 (en) 2012-04-12 2017-07-25 Hewlett-Packard Development Company, L.P. Content model for a printer interface
US9811319B2 (en) * 2013-01-04 2017-11-07 Microsoft Technology Licensing, Llc Software interface for a hardware device
US9311225B2 (en) 2013-01-04 2016-04-12 Microsoft Technology Licensing, Llc DMA channels
US9323543B2 (en) 2013-01-04 2016-04-26 Microsoft Technology Licensing, Llc Capability based device driver framework
JP6108864B2 (en) * 2013-02-20 2017-04-05 キヤノン株式会社 Information processing apparatus, information processing apparatus control method, and program
WO2014134471A1 (en) * 2013-02-28 2014-09-04 E3 Embedded Systems, Llc Method and apparatus for the processor independent embedded platform
IN2013CH04267A (en) * 2013-09-21 2015-10-02 Vayavya Labs Pvt Ltd
WO2015116176A1 (en) * 2014-01-31 2015-08-06 Hewlett-Packard Development Company, L.P. Device provided script to convert command
US10394756B2 (en) * 2014-03-28 2019-08-27 Vayavya Labs Private. Limited System and method for customizing archive of a device driver generator tool for a user
JP2015230710A (en) * 2014-06-06 2015-12-21 キヤノン株式会社 Information processing apparatus, program, and control method
CN105446983B (en) * 2014-06-30 2019-09-10 国际商业机器公司 Method and apparatus for generating data format descriptor language model
US9729785B2 (en) 2015-01-19 2017-08-08 Microsoft Technology Licensing, Llc Profiles identifying camera capabilities that are usable concurrently
GB2538853B (en) * 2015-04-09 2018-09-19 Dolby Laboratories Licensing Corp Switching to a second audio interface between a computer apparatus and an audio apparatus
EP3455717A1 (en) 2016-05-11 2019-03-20 OCE Holding B.V. Reprographic apparatus comprising a user interface generating device and method therefor
US10678975B2 (en) * 2017-11-07 2020-06-09 Amazon Tecnnologies, Inc. Code module selection for device design
US11221984B2 (en) * 2019-01-07 2022-01-11 Microsoft Technology Licensing, Llc Self-describing interfaces for communication with gateways
CN112328323B (en) * 2020-10-27 2023-07-21 中国南方电网有限责任公司 Relay protection device capability description file generation system
US11825299B2 (en) 2021-02-08 2023-11-21 Hewlett Packard Enterprise Development Lp Customized code bundle to enable secure communication from internet of things devices at wireless networks

Family Cites Families (95)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5467434A (en) 1992-08-28 1995-11-14 Xerox Corporation Apparatus and method for determining printer option availability and representing conflict resolution in a combination of print job selections
JP3332443B2 (en) 1993-01-18 2002-10-07 キヤノン株式会社 Information processing apparatus and information processing method
US5513126A (en) 1993-10-04 1996-04-30 Xerox Corporation Network having selectively accessible recipient prioritized communication channel profiles
US5692111A (en) * 1994-10-05 1997-11-25 Microsoft Corporation Automatic installation of printers in a distributed environment
JP3720439B2 (en) 1995-01-06 2005-11-30 キヤノン株式会社 Data input / output control apparatus and data input / output control method
JPH0991102A (en) 1995-09-26 1997-04-04 Ricoh Co Ltd Reporting method for print job execution result for network system, setting method for scan conditions for network system and network printing/scanning system
US6148346A (en) 1996-06-20 2000-11-14 Peerless Systems Imaging Products, Inc. Dynamic device driver
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
JPH11216881A (en) 1997-10-30 1999-08-10 Xerox Corp Method for generating printer driver and color print system using the printer driver
US6825941B1 (en) 1998-09-21 2004-11-30 Microsoft Corporation Modular and extensible printer device driver and text based method for characterizing printer devices for use therewith
US6952831B1 (en) 1999-02-26 2005-10-04 Microsoft Corporation Driverless printing
US6421135B1 (en) 1999-03-08 2002-07-16 Hewlett-Packard Company Method and apparatus for allowing a walk-up copier user to interrupt a print job at a boundary
GB2347766A (en) 1999-03-12 2000-09-13 Ibm Internet based printing using a web browser
US6967728B1 (en) 1999-07-23 2005-11-22 Electronics For Imaging, Inc. Reusable and transferable printer driver preference system
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
JP3588038B2 (en) 2000-06-28 2004-11-10 シャープ株式会社 PRINT OUTPUT USER INTERFACE CONTROL METHOD, RECORDING MEDIUM CONTAINING THE METHOD AS A PROGRAM, PRINT DATA SUPPLY APPARATUS FOR EXECUTING THE PROGRAM, AND INFORMATION PROCESSING SYSTEM
JP2002014786A (en) 2000-06-29 2002-01-18 Canon Inc Printing control system and method, and storage medium
JP2002024495A (en) 2000-07-11 2002-01-25 Honda Motor Co Ltd Schedule management system
JP4612781B2 (en) 2000-08-11 2011-01-12 キヤノン株式会社 Printing apparatus and printing apparatus control method and program
US20020030840A1 (en) 2000-09-12 2002-03-14 Fuji Xerox Co., Ltd. Image output system, and device and method applicable to the same
US7636757B2 (en) 2000-12-15 2009-12-22 Canon Kabushiki Kaisha Printing over the internet
JP4541579B2 (en) 2001-02-28 2010-09-08 キヤノン株式会社 Printing system, network interface device, printing device, data providing method, and storage medium
JP4663151B2 (en) 2001-05-10 2011-03-30 キヤノン株式会社 Image processing apparatus, image processing apparatus control method, program, and storage medium
JP2003036152A (en) 2001-05-17 2003-02-07 Matsushita Electric Ind Co Ltd Information printing system
US7346917B2 (en) 2001-05-21 2008-03-18 Cyberview Technology, Inc. Trusted transactional set-top box
US7073174B2 (en) * 2001-06-05 2006-07-04 Hewlett-Packard Development Company, L.P. Use of job tickets to secure resource access
US7321443B2 (en) 2001-06-29 2008-01-22 Hewlett-Packard Development Company, L.P. Print device and program product for supporting print by reference methods
US7809807B2 (en) 2001-08-08 2010-10-05 Canon Kabushiki Kaisha Image forming system, image forming method, and server
JP2003233482A (en) 2002-02-12 2003-08-22 Matsushita Electric Ind Co Ltd Printing system
US20030174357A1 (en) 2002-03-12 2003-09-18 Lester Samuel M. Printer, printer controller, and method of proofing a document
US20030184782A1 (en) * 2002-03-27 2003-10-02 Perkins Gregory E. Printer driver configured to dynamically receive printer self-description
US7136941B2 (en) 2002-12-04 2006-11-14 Microsoft Corporation Print management architecture for computing devices having a set of filters functions wherein the functions are prevented from conflicting with one another
FR2849940B1 (en) 2003-01-09 2005-03-18 Orange France METHOD FOR MANAGING A DEVICE AND COMPUTER SYSTEM USING SUCH A METHOD
US20040179231A1 (en) 2003-03-11 2004-09-16 Savino Ronald F. Automated creation and prepress preparation of bleed tabs in printed documents
KR100524028B1 (en) 2003-06-04 2005-10-26 삼성전자주식회사 Printing apparatus and display language automatic setting method thereof
US7522299B2 (en) 2003-06-30 2009-04-21 Microsoft Corporation System and method for automatic configuration
JP2005031956A (en) * 2003-07-11 2005-02-03 Canon Inc Printing control method, printing control device, and printer
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
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
US20050162688A1 (en) 2003-08-12 2005-07-28 Yasushi Nakaoka Printing terminal, printing data outputting device, and computer and peripheral device using therefor
US20050046886A1 (en) 2003-08-28 2005-03-03 Sharp Laboratories Of America, Inc. Direct printing component architecture for installed printers
US20050099650A1 (en) 2003-11-06 2005-05-12 Brown Mark L. Web page printer
JP4467955B2 (en) 2003-11-12 2010-05-26 キヤノン株式会社 Information processing device, peripheral device control system, peripheral device control method applied to information processing device, and program thereof
US6975820B2 (en) 2004-02-13 2005-12-13 Microsoft Corporation Device control using job ticket scoring
JP3922260B2 (en) 2004-02-13 2007-05-30 コニカミノルタビジネステクノロジーズ株式会社 Job ticket issuing apparatus, image forming apparatus, and image forming system
US20050192229A1 (en) * 2004-02-27 2005-09-01 Perricone Nicholas V. Topical glutathione treatments
US7992145B2 (en) 2004-03-05 2011-08-02 Microsoft Corporation Multilevel ticket-based job management architecture for computing devices
JP4360248B2 (en) 2004-03-29 2009-11-11 株式会社日立製作所 Print management system
US20050225795A1 (en) 2004-04-12 2005-10-13 Jayasimha Nuggehalli Automatic customization of printer drivers
JP2006024199A (en) 2004-06-11 2006-01-26 Canon Inc Installation method, apparatus, control program and medium stored with the program
JP2006065839A (en) 2004-07-30 2006-03-09 Canon Inc Information processing apparatus, print information processing method and computer program
JP2006065681A (en) 2004-08-27 2006-03-09 Canon Inc Information processor, information processing system and information processing method
US7679763B2 (en) 2004-11-29 2010-03-16 Hewlett-Packard Development Company, L.P. System and method for managing capabilities in a network
JP4623461B2 (en) * 2004-11-30 2011-02-02 キヤノンマーケティングジャパン株式会社 Information processing apparatus, print control method, printer driver program, and recording medium
US7640295B2 (en) 2004-12-04 2009-12-29 Hewlett-Packard Development Company, L.P. Methods and apparatus for managing data flow within a network
JP4863450B2 (en) 2005-03-29 2012-01-25 キヤノン株式会社 Information processing apparatus for customizing device driver program and device driver program customization method
JP4592490B2 (en) 2005-05-16 2010-12-01 株式会社リコー Imaging device
KR100728925B1 (en) 2005-05-31 2007-06-15 삼성전자주식회사 Printing system and printing control method
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
JP4656642B2 (en) 2005-06-30 2011-03-23 キヤノン株式会社 Information processing apparatus, status display method, and program
JP2007011834A (en) 2005-07-01 2007-01-18 Seiko Epson Corp Printing information processor, printing information processing method, and printing information processing program
US8243325B2 (en) 2005-07-08 2012-08-14 Xerox Corporation Method for prepress-time color match verification and correction
JP2007034899A (en) 2005-07-29 2007-02-08 Seiko Epson Corp Device driver and device
JP4285463B2 (en) 2005-09-07 2009-06-24 セイコーエプソン株式会社 Printing support system, printing support program, and printing support method
US8411291B2 (en) 2005-10-13 2013-04-02 Brother Kogyo Kabushiki Kaisha Image processing program product
JP4756988B2 (en) 2005-10-18 2011-08-24 キヤノン株式会社 Program, function information providing apparatus, and function information providing method
US8196148B2 (en) 2005-10-28 2012-06-05 Ricoh Production Print Solutions LLC Notification of changed parameters in a printing system
JP5441303B2 (en) 2006-01-20 2014-03-12 キヤノン株式会社 Information processing apparatus and information processing method
JP2007200247A (en) 2006-01-30 2007-08-09 Ricoh Co Ltd Installation method for device driver, information processor, and image processing system
JP2007241661A (en) 2006-03-08 2007-09-20 Canon Inc Image forming device and its control method
JP5025165B2 (en) 2006-05-12 2012-09-12 キヤノン株式会社 Printing system, control method, and program
JP4673260B2 (en) 2006-07-07 2011-04-20 キヤノン株式会社 Information processing apparatus and job ticket generation method
US7728999B2 (en) 2006-07-14 2010-06-01 Hewlett-Packard Development Company, L.P. Printing device driver
JP5159071B2 (en) 2006-09-01 2013-03-06 キヤノン株式会社 COMMUNICATION SYSTEM, COMMUNICATION DEVICE, AND ITS CONTROL METHOD
JP4870621B2 (en) 2006-09-15 2012-02-08 株式会社リコー Information processing apparatus, method, system, program, and recording medium thereof
JP4843444B2 (en) 2006-10-05 2011-12-21 株式会社リコー COMMUNICATION CONTROL DEVICE, INFORMATION PROCESSING DEVICE, COMMUNICATION CONTROL METHOD, AND COMMUNICATION CONTROL PROGRAM
US8289537B2 (en) 2007-01-31 2012-10-16 Ricoh Company, Ltd. Translating PDL-based print stream to job ticket-based print stream
JP2008219419A (en) 2007-03-02 2008-09-18 Nec Corp Access control setting support system
JP4420045B2 (en) 2007-03-07 2010-02-24 ブラザー工業株式会社 Image processing device
US9189192B2 (en) 2007-03-20 2015-11-17 Ricoh Company, Ltd. Driverless printing system, apparatus and method
JP4396721B2 (en) 2007-03-29 2010-01-13 ブラザー工業株式会社 Communications system
JP4948233B2 (en) 2007-03-30 2012-06-06 株式会社リコー Information processing apparatus, program, and recording medium
JP4825170B2 (en) 2007-05-31 2011-11-30 株式会社リコー Image forming apparatus
JP2009042977A (en) 2007-08-08 2009-02-26 Konica Minolta Business Technologies Inc Image formation system, image forming apparatus and program
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
US8243294B2 (en) 2008-04-10 2012-08-14 Eastman Kodak Company Simplified walk-up print driver installation
JP5111278B2 (en) 2008-07-30 2013-01-09 キヤノン株式会社 Printing control apparatus, printing apparatus, printing control apparatus control method, printing apparatus control method, and program
US20100225958A1 (en) 2009-03-06 2010-09-09 Selvaraj Senthil K Approach For Printing To Web Services-Enabled Printing Devices
US8526020B2 (en) 2009-03-06 2013-09-03 Ricoh Company, Ltd. Paper size support for a print system
US8773687B2 (en) 2009-03-06 2014-07-08 Ricoh Company, Ltd. Driverless architecture for printing systems
US8520225B2 (en) 2009-03-06 2013-08-27 Ricoh Company, Ltd. Print driver localization support from printing device to support multiple user profiles

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150052922A (en) * 2013-11-06 2015-05-15 삼성전자주식회사 Method and apparatus for rendering data of web application and recording medium thereof
KR102146557B1 (en) 2013-11-06 2020-08-21 삼성전자주식회사 Method and apparatus for rendering data of web application and recording medium thereof

Also Published As

Publication number Publication date
EP2031500A1 (en) 2009-03-04
US8589866B2 (en) 2013-11-19
EP2031500B1 (en) 2018-04-25
US20090063718A1 (en) 2009-03-05
JP2009059365A (en) 2009-03-19

Similar Documents

Publication Publication Date Title
JP5287041B2 (en) Data processing system, computer readable data storage medium and method
US8214548B2 (en) Capability-based control device driver of a computer peripheral device
JP5266967B2 (en) Computer peripheral device driver, apparatus and method
JP7229680B2 (en) Information processing device, control method and program
JP5683205B2 (en) Information processing apparatus, control method for controlling information processing apparatus, and program thereof
JP5581738B2 (en) Method, apparatus and recording medium for printing
US7907313B2 (en) Management of multiple printer drivers
US20120233356A1 (en) Information processing apparatus, information processing method, alternate response apparatus, response method, control program, and network system
US8640148B2 (en) Information processing apparatus, information processing method and storage medium
US20120033257A1 (en) Information processing apparatus, image forming apparatus, control methods thereof and storage media
JP5047067B2 (en) Information processing apparatus, data output system, data generation program, and recording medium therefor
JP5729979B2 (en) Print relay system, print system, image forming apparatus, control method for controlling print relay system, and program
US8605316B2 (en) Information processing apparatus and control method thereof, and storage medium
US20090091791A1 (en) Methods and systems for third-party administrative control of remote imaging jobs and imaging devices
US20130222829A1 (en) Information processing apparatus, control method, and storage medium
US20120170071A1 (en) Information processing apparatus, device information display method, and computer-readable storage medium
JP2011034562A (en) Print system
US20140347692A1 (en) Data processing system and method of data processing
JP4467955B2 (en) Information processing device, peripheral device control system, peripheral device control method applied to information processing device, and program thereof
US20080079974A1 (en) Methods and Systems for Third-Party Control of Remote Imaging Jobs
JP5042926B2 (en) Print setting device, program, and recording medium
JP2000330734A (en) Network printing method and network printing system using the method
JP7328405B2 (en) Information processing apparatus, information processing apparatus control method, and print setting application
JP4635821B2 (en) Information processing apparatus, information processing method, and program
US20110026077A1 (en) Data processing apparatus, data processing method, and storage medium

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

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121002

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121130

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130520

R151 Written notification of patent or utility model registration

Ref document number: 5287041

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees