JP5287041B2 - Data processing system, computer readable data storage medium and method - Google Patents
Data processing system, computer readable data storage medium and method Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims description 34
- 238000012545 processing Methods 0.000 title claims description 31
- 238000013500 data storage Methods 0.000 title 1
- 230000002093 peripheral effect Effects 0.000 claims description 211
- 230000006870 function Effects 0.000 claims description 182
- 238000001514 detection method Methods 0.000 claims description 53
- 238000003860 storage Methods 0.000 claims description 25
- 230000004044 response Effects 0.000 claims description 24
- 230000008569 process Effects 0.000 claims description 12
- 238000009877 rendering Methods 0.000 claims description 7
- 230000003796 beauty Effects 0.000 claims 3
- 238000004891 communication Methods 0.000 description 22
- 239000008186 active pharmaceutical agent Substances 0.000 description 10
- 238000013459 approach Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 238000006243 chemical reaction Methods 0.000 description 6
- 238000013507 mapping Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 238000009434 installation Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 239000000047 product Substances 0.000 description 3
- 238000002360 preparation method Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- PZNPLUBHRSSFHT-RRHRGVEJSA-N 1-hexadecanoyl-2-octadecanoyl-sn-glycero-3-phosphocholine Chemical compound CCCCCCCCCCCCCCCCCC(=O)O[C@@H](COP([O-])(=O)OCC[N+](C)(C)C)COC(=O)CCCCCCCCCCCCCCC PZNPLUBHRSSFHT-RRHRGVEJSA-N 0.000 description 1
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 238000004026 adhesive bonding Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 239000006227 byproduct Substances 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000011031 large-scale manufacturing process Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000004080 punching Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4411—Configuring 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,
オペレーティングシステム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
インターフェース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,
本実施例は如何なる種類のコンピュータに結合される周辺装置と共に使用されてもよい。本実施例が共に使用されてもよい周辺装置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
デバイス機能検出アプリケーション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
図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
デバイス機能コンシューマロジック202は、デバイス機能データ206を受信及び理解する。ジョブチケットプロデューサロジック204は、ジョブチケットデータ208を生成し、それをジョブチケットコンシューマロジック214に送信する。デバイス機能プロデューサロジック212は、機能データ206を生成し、それをデバイス機能検出アプリケーション110に送信する。ジョブチケットコンシューマロジック214は、ジョブチケットを受信及び理解し、それを機能自覚周辺装置112に関するコマンドとして実行する。
Device capability consumer logic 202 receives and understands device capability data 206. The job
デバイス機能データ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
デバイス機能データ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
デバイス非依存データ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
一実施例では、デバイス機能検出アプリケーション110及び機能自覚周辺装置112は、何らかの形式の基本的なアプリケーションレイヤ通信プロトコルを使ってデータを通信し、そのプロトコルは、デバイス機能検出アプリケーション110及び機能自覚周辺装置112がサポートできるものである。図2は説明の簡明化のため1つの機能自覚周辺装置112を示しているが、デバイス機能検出アプリケーション110と、それと共に動作する如何なる機能自覚周辺装置112との間で図2の通信がなされてもよい。
In one embodiment, the device function detection application 110 and the function-aware
一実施例では、プロトコルはウェブサービスを含み、デバイス機能検出アプリケーション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
図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
ステップ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
ステップ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
このアプローチの成果の1つは、周辺装置112に最近に追加された機能でさえ、デバイス機能データ206に反映又はリストされることである。更に、デバイス機能検出アプリケーション110は、そのような最近に追加された機能や新しい機能について知る必要はなく、或いは最近追加された機能や新しい機能を起動するためにどんなデバイス制御コマンドが必要であるかを知る必要はない。その代わり、周辺装置112は、デバイス機能検出アプリケーション110に対して、コマンド条件及び自身の特徴を説明するデータを提示する。デバイス機能検出アプリケーション110は所望のジョブ設定に関するユーザからの入力を取得し、その特徴及びコマンド条件に基づいてそのような設定をデバイス機能データ206に反映するジョブチケット208を生成する。
One outcome of this approach is that even functions recently added to the
一実施例では、デバイス機能データ206及びジョブチケットデータ208は、マイクロソフト社のXMLペーパー仕様(XPS)の一部であるプリントスキーマ標準仕様及びジョブ定義フォーマット(JDF)のようないくつかものジョブチケットフォーマットのどれで表現されてもよい。他のジョブチケットフォーマットが使用されてもよく、本実施例はJDFやXPSを利用することに限定されない。
In one embodiment, device capability data 206 and
一般に、デバイス機能データ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−デバイス機能データの例
Table 1-Example of device function data
図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
表2−ジョブチケットの例
一実施例では、表2のフォーマットを有するジョブチケット208は、ジョブチケットコンシューマロジック214を用いて機能自覚周辺装置112で実行されてもよい。このアプローチの場合、デバイス機能データ206及びジョブチケット208の組み合わせは、デバイス機能検出アプリケーション110に対して十分な或る情報を運び、その情報は、周辺装置の機能を表現し、ユーザが選択可能なユーザインターフェースをユーザに提供すること、及び特定のジョブ適切なタイプ又はオプションのユーザ選択内容を受信することに十分な情報である。しかしながら、デバイス機能検出アプリケーション110も或いは、そのアプリケーションと相互作用する如何なる他のソフトウエアも、周辺装置から得られるデバイス機能データ206の能力、特徴及び機能の実質的な意味の理解も要しないし、コード化されることを要しない。
In one embodiment, a
かくて、周辺装置の製造業者は、周辺装置及びプラットフォームの組み合わせ各々について特化したユーザインターフェースと共にカスタムデバイスドライバを作成することを要しない。更に、新たなデバイスドライバをリリースせずに、及びエンドユーザが彼らのコンピュータを新しいデバイスドライバと共にアップグレードすることを要求せずに、製造業者は新たな製品(周辺装置)及び新たな機能を既存の製品(周辺装置)に導入できる。 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
それに応じてステップ504では、現時点での周辺装置の機能が確認される。ステップ504は、レジストリ、コンフィギュレーションファイル、管理情報ベース(MIB: Management Information Base)その他のレポジトリ情報(装置のその時点での機能を記述している情報)を読み取ることを含む。
Accordingly, in
ステップ506では、周辺装置からデバイス機能検出アプリケーションへ機能の説明が、デバイス機能データ206となって送られる。ステップ506は、プリントスキーマのようなXMLスキーマに従ってデバイス機能データ206を形成すること、及び、周辺装置のリクエストを受け取った時点での能力、特徴及び機能をデバイス機能データ206の中にエンコードすることを含む。このデバイス機能データ206はアプリケーションに送られ、これはステップ506からステップ508に続く矢印で示されている。
In
ステップ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
ステップ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
図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
ステップ606ではそれに応じて、ジョブチケットコンシューマロジック214が、ジョブチケットデータを周辺装置用の1つ以上のデバイス固有の処理コマンド(つまり、周辺装置のための処理コマンドに変換する)に変換する。プリントスキーマ表現によるジョブチケットデータ208を、1つ以上のファンクションコール、コマンドライン命令、方法の起動又は装置に対する他の命令に返還することをステップ606は含む。一実施例では、マイクロソフト社によるXMLパーサ(parser)を利用して、プリントスキーマ表現が変換される。ステップ608では、ジョブチケットコンシューマロジックは周辺装置がその処理コマンドを実行することを引き起こす。
In
図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
ステップ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
図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
機能自覚周辺装置112は、プリンタ機能ファイル916、PDLテーブルに対するジョブチケット918、ジョブチケットPDL変換ロジック920及びPDLレンダリングエンジン922を有する。概して、機能自覚周辺装置112は、サブシステムからのリクエストに応答して、プリンタ機能データ910の形式でプリンタ機能ファイル916(前述のデバイス機能データ206に相当する)をユニバーサルドライバ印刷サブシステム904に送信するように構築される。
The function awareness
これに応答して、ユニバーサルドライバ印刷サブシステム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
図9の例は、印刷に関連して説明されてきた。しかしながら周辺装置112は、PDLコンパチブルな如何なる装置でもよく、本実施例はプリンタに限定されない。例えば、周辺装置112はPDLコンパチブルなグラフィックスワークステーションを構成してもよい。
The example of FIG. 9 has been described in connection with printing. However, the
図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
機能自覚周辺装置112から、ドライバ生成ロジック1002はメタデータ1010を受信する。このメタデータは、デバイス名、ネットワークアドレス、ネットワークポート番号、製造業者名、モデル番号又は他の説明情報のような周辺装置112の属性を一般的に記述するデータを有する。メタデータ1010は、周辺装置112を一般的に説明する如何なる種類の情報を含んでもよく、本実施例は列挙されているメタデータ例に限定されない。
The driver generation logic 1002 receives the
ドライバ生成ロジック1002は、ホストコンピュータ104からコンフィギュレーションファイル1004を更に受信する。コンフィギュレーションファイル1004は、オペレーティングシステム902の一部を構成し、一般的なプリンタドライバファイル及びパッケージ1050をどのように構成及び組織するかを一般的に示す。例えば、コンフィギュレーションファイル1004は、ホストコンピュータ104のファイルシステム内の或るロケーションを特定し、そのロケーションに一般的なプリンタドライバファイル及びパッケージ1050を格納する。
The driver generation logic 1002 further receives a
生成ロジック1002は、基本的な一般的なプリンタドライバ1006を更に受ける。一実施例では、基本的な一般的なプリンタドライバ1006は、オペレーティングシステム902に関連するファイルから取得され、オペレーティングシステムとコンパチブルな総てのデバイスドライバに共通するコードを有する。例えば、基本的な一般的なプリンタドライバ1006は、プリンタスプーラ(printer spooler)、グラフィカルユーザインターフェースウインドウマネジャ等のようなオペレーティングシステムサービスと共に相互運用可能である。
The generation logic 1002 further receives a basic
生成ロジック1002は、機能検出デバイス112から、プリンタコンフィギュレーションデータ1012、プリンタ機能データ1014及びベンダ固有拡張データ1016を更に受信する。一実施例では、プリンタコンフィギュレーションデータ1012は、その周辺装置112に関するモデル固有のコンフィギュレーションデータを有する。例えば、プリンタコンフィギュレーションデータ1012は、周辺装置112がポストスクリプトプリンタであることを指示してもよい。一実施例では、プリンタ機能データ1014は、周辺装置112の1つ以上の能力、特徴及びオプションの構造化テキストリストを含んでいてもよい。一実施例では、ベンダ固有(製造者固有)の拡張データ1016は、デバイスドライバが特定の周辺装置112と同時使用できるようにするベンダ固有のコードを有する。例えば、ベンダ固有の拡張データ1016は、周辺装置の機能が発揮できるように、例えば、印刷がきれいに仕上がるように、周辺装置112内のレンダリングエンジンにどのようにアクセスするか、制御するかを特定するデータを含んでいてもよいし、或いは、デバイスのベンダがデバイスのファームウエア又はソフトウエアに実装している他のサービスにどのようにアクセスするか、制御するかを特定するデータを含んでいてももよい。これにより、製造社の固有の特徴を提供することが可能となる。
The generation logic 1002 further receives
ドライバ生成ロジック1002は、ホストコンピュータ104からマッピングファイル1008を更に受信する。一実施例では、マッピングファイル1008は、オペレーティングシステム902に関連付けられ、オペレーティングシステムのコールバック機能をデバイス112の関連するサービスに対応付け、或いはデバイス特徴名を、オペレーティングシステムで普遍的に認識されている別言語の名称に対応付ける。
The driver generation logic 1002 further receives a
以上の情報を受信したことに基づいて、ドライバ生成ロジックは、必要に応じて、一般的なプリンタドライバファイル及びパッケージ1050を自動的に生成するように動作する。
Based on the reception of the above information, the driver generation logic operates to automatically generate a general printer driver file and a
図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
フォーマット変換ロジック1102は、一般的なプリンタ記述(GPD)ファイル1124を生成する。ドライバ生成ロジック1002は、GPD1124がベンダ固有のUIプラグイン1120と共に統合されるようにしている。GPD1124は印刷サブシステムにより使用され、プリントスキーマ印刷機能フォーマットで印刷機能データを生成し、印刷機能定義1128を作成し、それをプリントスキーマフォーマット(PSF)に格納する。PSFを規定する情報は、マイクロソフト社から入手可能である。ドライバ生成ロジック1002は、製造者に固有のUIプラグイン1120及びコアドライバ1126を使用し、印刷機能定義1128を生成する。
The
一般に、周辺装置112のベンダ(製造者)は、ベンダ固有のUIプラグイン1120及びコアのドライバ1126をオペレーティングシステム902のベンダに提供し、プラグイン1120及びコアドライバ1126が、オペレーティングシステムを利用して、プラグインやコアドライバをエンドユーザに送り出すことを引き起こし或いはそこに統合されることを引き起こす。従ってプラグイン1120及びコアドライバ1126は、ドライバ生成ロジック1002がドライバを生成する必要のあるときはいつでも、オペレーティングシステム902で利用可能である。
Generally, a vendor (manufacturer) of the
結果の印刷機能定義1128は、周辺装置と共に総合作用するのに使用可能であり、一実施例ではその定義はアプリケーションプログラム1130により受信され、アプリケーションプログラムは、受信した定義に基づいて、及びベンダ固有のUIプラグイン1120及びコアドライバ1126からの入力にも基づいて、印刷スキームプリントチケット1132を生成する。アプリケーションプログラム1130の一例は、ワードプロセッサ又はスプレッドシートである。
The resulting
プリントスキーマプリントチケットは、プリントチケットバイナリ1134に変換され、その後にセマンティックプリントチケット(semantics print ticket)1136に変換される。意味論的印刷チケット又はセマンティックプリントチケット1136は、そのセマンティックプリントチケットを含むウェブサービスデバイス(WSD)プリントジョブ1138を生成するのに使用される。ジョブ1138(前述のジョブチケットデータに相当)は、ウェブサービスプロトコル1118を用いて周辺装置112に送信され、データが印刷されることを引き起こす。
The print schema print ticket is converted into a
図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
一実施例では、オペレーティングシステム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
一実施例では、デバイスドライバを自動的に生成することは、ユーザがネットワークフォルダを開いたことに応じてなされてもよく(ステップ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
ステップ1232では、表示されたリストの中から利用可能な装置の1つを選択するユーザ入力が受信される。これに応じて、選択された周辺装置のデバイスドライバは、ステップ1234にてドライバ生成ロジック1206により自動的に生成される。選択された周辺装置の、その時点で備えている機能の総てを使って必要に応じてその時点でデバイスドライバを自動的に生成するために、ここで説明した以外のプロセスが使用されてもよい。
In
デバイスドライバの生成が完了すると、ステップ1236において、ドライバストアは新たなドライバを反映するように更新される。その結果、オペレーティングシステム902は、新たなドライバに気付くようになり、その周辺装置と共に同時使用するための以後のリクエストに応じて、その新たなドライバを参照及び使用できる。ドライバストア1204は、ステップ1238で「デバイス追加」プロセスを開始してもよく、そのプロセスはインストレーションウィザードの形式をとってもよい。セットアップAPI1202は、「デバイス追加」プロセスを実行し、ステップ1240にて新たなデバイスのインストレーションを完了する。
When device driver generation is complete, in
図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
図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
ステップ1322では、アプリケーション1302が印刷処理を開始し、印刷するデータをスプーラ1304に与える。データは受信されたことをスプーラ1304はアプリケーション1302に通知し、ステップ1324にてスプーラは制御をアプリケーションに返す。それと同時に、2つの代替法の内の1つを使って、スプーラ1304はジョブチケットをプリンタに送る。
In
代替例の一方の場合、ステップ1326において、イニシャライズ後であるがレンダリングの実行直前に、スプーラ1304は、プリントスキーマジョブチケットをセマンティックスキーマジョブチケットに変換し、変換されたジョブチケットをPDLを使って印刷ジョブと共にプリンタに送る。代替例の他方の場合、ステップ1328において、イニシャライズの後に、印刷プロセッサ1304は、プリントスキーマジョブチケットをセマンティックスキーマジョブチケットに変換し、変換されたジョブチケットをPDLを使って印刷ジョブと共にプリンタに送る。
In one alternative, in
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
コンピュータシステム800は、ユーザに情報を表示するために、陰極線管(CRT)のようなディスプレイ812にバス802を介して結合されてもよい。英数字その他のキーを含む入力装置814は、情報及び命令選択内容をプロセッサ804に通知するためにバス802に結合される。他の種類のユーザ入力装置は、カーソル制御装置816(例えば、マウス、トラックボール、スタイラス又はカーソル方向キー)であり、指示情報及び命令選択をプロセッサ804に通知し且つディスプレイ812でのカーソルの動きを制御する。この入力装置は典型的には第1軸(例えば、x)及び第2軸(例えば、y)の2軸による2つの自由度を有し、装置が平面上の位置を指定できるようにする。
本発明は無線通信アーキテクチャのコンピュータシステム800を利用することに関連する。本発明の一実施例によれば、メインメモリ806に含まれる1以上の命令の1以上のシーケンスを実行するプロセッサ804に応じて、無線通信がコンピュータシステム800によって提供される。そのような命令は、ストレージデバイス810のような他のコンピュータ読取可能な媒体からメインメモリ806に読み込まれてもよい。メインメモリ806に含まれている命令シーケンスの実行は、本願で説明されるプロセスステップをプロセッサ804が実行することを引き起こす。マルチプロセッシング構成の1以上のプロセッサが、メインメモリ806に含まれている命令シーケンスを実行するのに使用されてもよい。代替実施例では、本発明を実施するために、ハードワイヤード回路が、代替的に使用されてもよいし或いはソフトウエア命令との組み合わせで使用されてもよい。すなわち本発明の実施例はハードウエア回路及びソフトウエアの特定の如何なる組み合わせにも限定されない。
The invention is related to utilizing a
ここで使用されているように「マシン読取可能な媒体」なる用語は、命令をプロセッサ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
マシン読取可能な媒体の一般的な形態は、フロッピディスク、フレキシブルディスク、ハードディスク、磁気テープその他の如何なる磁気媒体、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
コンピュータシステム800はバス802に結合された通信インターフェース818も含む。通信インターフェース818は、ローカルネットワーク822に接続されるネットワークリンク820に結合する双方向データ通信をもたらす。例えば、通信インターフェース818は、データ通信接続を対応するタイプの電話回線に与える統合サービスディジタルネットワーク(ISDN)カード又はモデムでもよい。別の例では、通信インターフェース818は、データ通信接続をコンパチブルなLANに与えるLANカードでもよい。無線リンクが使用されてもよい。どの実現手段でも、通信インターフェース818は、電気的な、電磁的な又は光学的な信号を送信及び受信し、様々なタイプの情報を表現するディジタルデータストリームを運ぶ。
ネットワークリンク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
コンピュータシステム800は、ネットワーク、ネットワークリンク820及び通信インターフェースを介して、メッセージを送信し及びプログラムコードを含むデータを受信する。インターネットの例では、サーバ830はインターネット828、ISP826、ローカルネットワーク822及び通信インターフェース818を介して、アプリケーションプログラムに関する要求されたコードを送信するかもしれない。本発明によれば、そのような或るダウンロードされるアプリケーションは、監視システムが、選択されたネットワーク要素を上述のように監視するように構築する。プロセッサ804は受信したコードを受信したときに実行してもよいし、後の実行に備えてストレージデバイス810又は他の不揮発性ストレージに格納していたかのように実行してもよい。このようにコンピュータシステム800は搬送波の形式でアプリケーションコードを取得してもよい。
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.
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
1118
1124 PPD or GPD
DESCRIPTION OF
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つ以上のデバイス固有の処理コマンドに変換し、
前記コンピュータ周辺装置に前記処理コマンドを実行させる、請求項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つ以上の機能を記述している第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つ以上の機能を記述している第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.
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.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/846,926 | 2007-08-29 | ||
US11/846,926 US8589866B2 (en) | 2007-08-29 | 2007-08-29 | Automatically generating capability-based computer peripheral device drivers |
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)
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 (55)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8589866B2 (en) | 2007-08-29 | 2013-11-19 | Ricoh Company, Ltd. | Automatically generating capability-based computer peripheral device drivers |
US8214548B2 (en) * | 2007-08-29 | 2012-07-03 | Ricoh Company, Ltd. | Capability-based control device driver of a computer peripheral device |
US20090094539A1 (en) * | 2007-08-29 | 2009-04-09 | Yao-Tian Wang | Controlling a computer peripheral device using a universal driver and device-generated user interface information |
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 |
US8520225B2 (en) * | 2009-03-06 | 2013-08-27 | Ricoh Company, Ltd. | Print driver localization support from printing device to support multiple user profiles |
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 |
US20100225958A1 (en) * | 2009-03-06 | 2010-09-09 | Selvaraj Senthil K | Approach For Printing To Web Services-Enabled Printing Devices |
US20110066712A1 (en) * | 2009-04-17 | 2011-03-17 | Prem Jothipragasam Kumar | User-defined services in a personal distributed network |
AU2009347773B2 (en) * | 2009-06-08 | 2015-05-28 | Sato Holdings Kabushiki Kaisha | 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 |
US8860984B2 (en) | 2011-02-28 | 2014-10-14 | Ricoh Company, Ltd | Workflow generation in a print shop environment |
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 |
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 |
JP5828681B2 (en) * | 2011-05-31 | 2015-12-09 | キヤノン株式会社 | SETTING VALUE MANAGEMENT DEVICE, ITS CONTROL METHOD, AND PROGRAM |
US9092164B2 (en) * | 2011-05-31 | 2015-07-28 | Microsoft Technology Licensing, Llc | Printing using a platform-independent driver |
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 |
US9323543B2 (en) | 2013-01-04 | 2016-04-26 | Microsoft Technology Licensing, Llc | Capability based device driver framework |
US9311225B2 (en) | 2013-01-04 | 2016-04-12 | Microsoft Technology Licensing, Llc | DMA channels |
JP6108864B2 (en) * | 2013-02-20 | 2017-04-05 | キヤノン株式会社 | Information processing apparatus, information processing apparatus control method, and program |
US9870337B2 (en) * | 2013-02-28 | 2018-01-16 | 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 | |
US10402214B2 (en) | 2014-01-31 | 2019-09-03 | Hewlett Packard Enterprise Development Lp | 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 |
US10073679B2 (en) * | 2014-09-26 | 2018-09-11 | Oracle International Corporation | Efficient and intuitive databinding for mobile applications |
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 |
WO2017194362A1 (en) * | 2016-05-11 | 2017-11-16 | 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)
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 |
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 |
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 |
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 |
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 |
JP3922260B2 (en) | 2004-02-13 | 2007-05-30 | コニカミノルタビジネステクノロジーズ株式会社 | Job ticket issuing apparatus, image forming apparatus, and image forming system |
US6975820B2 (en) | 2004-02-13 | 2005-12-13 | Microsoft Corporation | Device control using job ticket scoring |
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 |
US8773687B2 (en) | 2009-03-06 | 2014-07-08 | Ricoh Company, Ltd. | Driverless architecture for printing systems |
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 |
-
2007
- 2007-08-29 US US11/846,926 patent/US8589866B2/en active Active
-
2008
- 2008-08-28 EP EP08163180.6A patent/EP2031500B1/en not_active Expired - Fee Related
- 2008-08-28 JP JP2008219420A patent/JP5287041B2/en not_active Expired - Fee Related
Cited By (2)
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 |
---|---|
US20090063718A1 (en) | 2009-03-05 |
JP2009059365A (en) | 2009-03-19 |
US8589866B2 (en) | 2013-11-19 |
EP2031500B1 (en) | 2018-04-25 |
EP2031500A1 (en) | 2009-03-04 |
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 | |
JP7480375B2 (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 | |
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 | |
JP2024091723A (en) | Information processing device, control method, and program | |
US20110026077A1 (en) | Data processing apparatus, data processing method, and storage medium | |
JP5790341B2 (en) | Data processing apparatus, printing system, data processing method, program, and recording 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 |