JP4874859B2 - 情報処理装置、情報処理システム、プログラム及びその記録媒体 - Google Patents

情報処理装置、情報処理システム、プログラム及びその記録媒体 Download PDF

Info

Publication number
JP4874859B2
JP4874859B2 JP2007113470A JP2007113470A JP4874859B2 JP 4874859 B2 JP4874859 B2 JP 4874859B2 JP 2007113470 A JP2007113470 A JP 2007113470A JP 2007113470 A JP2007113470 A JP 2007113470A JP 4874859 B2 JP4874859 B2 JP 4874859B2
Authority
JP
Japan
Prior art keywords
information
setting
command
device information
processing content
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2007113470A
Other languages
English (en)
Other versions
JP2008009967A (ja
Inventor
明男 丸山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2007113470A priority Critical patent/JP4874859B2/ja
Priority to US11/806,281 priority patent/US7962660B2/en
Publication of JP2008009967A publication Critical patent/JP2008009967A/ja
Priority to US13/067,003 priority patent/US8171180B2/en
Application granted granted Critical
Publication of JP4874859B2 publication Critical patent/JP4874859B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • G06F3/1288Remote printer device, e.g. being remote from client or server in client-server-printer device configuration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1204Improving or facilitating administration, e.g. print management resulting in reduced user or operator actions, e.g. presetting, automatic actions, using hardware token storing data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1205Improving or facilitating administration, e.g. print management resulting in increased flexibility in print job configuration, e.g. job settings, print requirements, job tickets
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1244Job translation or job parsing, e.g. page banding
    • G06F3/1247Job translation or job parsing, e.g. page banding by conversion to printer ready format
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1253Configuration of print job parameters, e.g. using UI at the client
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • G06F3/1286Remote printer device, e.g. being remote from client or server via local network

Description

本発明は、機器と接続される情報処理装置と、コンピュータをそのような情報処理装置として機能させるプログラム及びその記録媒体と、機器と情報処理装置とが接続された情報処理システムとに関する。
ネットワーク上で、例えばパーソナルコンピュータ等の情報処理装置(以下、単にPCという。)と、例えばプリンタ、スキャナ及びファクシミリ(FAX)等の周辺機器とが接続されている場合に、PCは、自身にインストールされているアプリケーションで作成されたデータを、周辺機器が処理可能なデータへ変換するためのデバイスドライバを有する。
図1は、PCとプリンタとから成る情報処理システムのネットワーク構成図の従来例を示す。
図1において、情報処理システム10は、第1及び第2のPC11及び12と、第1及び第2のプリンタ13及び14と、それらを相互に接続して、データ通信を可能にするネットワーク15とを有する。
第1のPC11は、OS(Operating System)上で動作するアプリケーション16と、第1のプリンタ13に対応する第1のプリンタドライバ17と、第2のプリンタに対応する第2のプリンタドライバ18とを有する。
第2のPC12も、原則的には、第1のPC11と同様の構成を有する。
第1のプリンタドライバ17は、ユーザーインターフェース(UI)モジュール171と、印刷データ生成モジュール172と、機器情報処理モジュール173と、記憶装置174とを有する。
UIモジュール171は、第1のプリンタドライバ17に対応するプリンタ、即ち、第1のプリンタ13の各種機能に係る機器情報に基づいて、第1のプリンタ13を設定するための設定画面を表示する手段である。ユーザは、UIモジュール171により表示された設定画面で、第1のプリンタ13の各種機能の設定を入力する。UIモジュール171は、更に、ユーザの入力に基づいて、第1のプリンタ13に実行させる処理内容を設定する。
印刷データ生成モジュール172は、アプリケーション16で作成又は閲覧した文書データ等を、ユーザが入力した第1のプリンタ13の各種機能の設定に従って、第1のプリンタ13が解釈可能な印刷データへ変換する手段である。機器情報処理モジュール173は、UIモジュール171が設定画面を表示することができるよう、記憶装置174から第1のプリンタ13の機器情報を読み出す手段である。記憶装置174は、第1のプリンタ13の機器情報を記憶しておく手段である。
第2のプリンタドライバ18も、原則的には、第1のプリンタドライバ17と同様の構成を有する。
なお、「機器情報」とは、プリンタ等の周辺機器のデバイス構成情報と、これに関連したコマンド情報とを対応付けているファイル情報である。また、「処理内容」は、デバイス初期化及び周辺機器の環境等に関する情報を含み、DEVMODE構造体というデータ構造体に格納される。図2は、機器情報及び処理内容の従来のデータ構造の一例を概略的に表す図である。
図2(a)は、機器情報のデータ構造をテーブル形式で表している。図2(a)のデータ構造は、列21、22及び23を有する。列21には、プリンタが有している機能名が格納されており、列22には、列21に格納された機能が実行可能であるか否かを表すデータが格納されている。更に、列22において、その機能が実行可能であって、機能実行時の詳細な設定を行うための選択肢が存在することを表すデータが格納されている場合には、列23に選択肢の内容が格納されている。なお、「選択肢」とは、例えばプリンタの場合には、「ステープル」機能を実行する際の用紙の綴じ位置(「右上」、「左下」等)が選択肢となる。
図2(b)は、処理内容のデータ構造を表し、図2(a)と同じく、理解を容易とするために、テーブル形式で表されている。図2(b)のデータ構造は、列24及び25を有する。列24には、プリンタが有している機能名が格納されており、列25には、ユーザが設定画面で入力した印刷設定の設定、即ち、図2(a)に示す機器情報の列23に格納された選択肢の中からユーザによって選択された値が格納されている。
次に、図1に示した従来の情報処理システムにおけるプリンタドライバの動作について図3を用いて説明する。
ユーザが、例えば図1の第1のプリンタへの印刷設定要求を行った場合、最初に、ステップS101において、第1のプリンタ13の印刷設定をするための設定画面を表示するよう、設定画面呼び出し要求が、アプリケーション16からUIモジュール171へ送信される。UIモジュール171は、アプリケーション16からの要求を受け、ステップS102において、機器情報処理モジュール173へ、第1のプリンタ13の機器情報を取得するよう機器情報取得命令を送信する。機器情報処理モジュール173は、ステップS103において、記憶装置174(図1)に記憶されている機器情報を読み出し、それをステップS104においてUIモジュール171へ送信する。ステップS105において、UIモジュール171は、機器情報処理モジュール173からの機器情報に基づいて、第1のプリンタ13の印刷設定をするための設定画面を、モニタ等の表示手段(図示せず。)を介してユーザに表示する。ステップS106において、ユーザは、UIモジュール171が表示した設定画面で、マウス及びキーボード等の入力手段(図示せず。)を用いて、第1のプリンタ13への印刷設定値を入力する。UIモジュール171は、ステップS107において、ユーザが入力した設定値を第1のプリンタ13に実行させる処理内容として設定し、ステップS108において、設定した処理内容をアプリケーション16へ送信する。送信後、ステップS109において、アプリケーション16は、処理内容を保存する。
そして、ユーザがステップS110においてアプリケーション上で第1のプリンタ13への印刷要求を行うと、印刷データ生成モジュール172は、ステップS111において、アプリケーション16に保存された処理内容を読み込む。次に、印刷データ生成モジュール172は、ステップS112において、読み込んだ処理内容に基づいて、第1のプリンタ13が解釈可能な印刷データを生成し、ステップS113において、生成した印刷データを第1のプリンタ13又はスプーラへ送信する。印刷データの送信後、印刷データ生成モジュール172は、ステップS114において、送信完了通知をアプリケーション16へ送信する。ステップS115において、アプリケーション16は、送信完了通知を受けて、印刷処理を完了する。
このように、従来のPCには、接続されたプリンタの夫々に対応する複数のプリンタドライバが組み込まれている。即ち、PCは、利用するプリンタの数だけプリンタドライバを有することとなる。
例えば、特開2004−310488号公報(特許文献1参照。)に、同じ種類の印刷装置に対するドライバのインストールを1つにする印刷システムが開示されている。特許文献1に開示された印刷システムでは、1つの識別子の印刷装置を複数のネットワークIDで管理された印刷装置として見せることにより、複数の印刷装置を管理する端末側では複数のドライバをイントールせずに済むようになる。
また、寿命及び故障等の理由から使用中の機器を新しいものに交換する場合に、たとえ新しい機器が前の機器と同じ種類のものであったとしても、前の機器にはなかった新しい機能が追加されている場合には、追加された機能に対応するデバイスドライバを情報処理装置にインストールする必要が生ずる。
例えば、特開2005−173701号公報(特許文献2参照。)に、ドライバ全体を再インストールするのではなく、新たに追加された機能のみをプラグインモジュールとしてインストールすることができる情報処理装置等が開示されている。
特開2004−310488号公報 特開2005−173701号公報
しかし、特許文献1に開示された印刷システムは、同じ種類の印刷装置が複数存在する場合に、端末に組み込まれるプリンタドライバを1つにすることができるのであって、異なる種類の印刷装置が複数存在する場合には、依然として端末に複数のプリンタドライバを組み込まなければならないという問題がある。
また、特許文献2に開示された情報処理装置は、新たに追加するプラグインについては追加可能モジュールの一覧から所望のモジュールを選択することになるため、その追加可能モジュールがどんな機能なのかを知らなければならず、ユーザへの負担は軽減されないという問題がある。
更に近年では、同一ベンダの機種のみならず、異なるベンダの機器もそれ1つで共通に利用可能となる、所謂ユニバーサルドライバも開発されてきているが、このようなユニバーサルドライバは、各機器が有する最大公約数的な機能に係る機器情報しか有していないのが現状であり、各機器に固有の機能を十分に利用することできないことが多い。また、係るユニバーサルドライバに対応する機器自体に機能拡張があった場合には、ユニバーサルドライバ自体を再度インストールし直さなければならないといった問題もある。
本発明は、上記問題の少なくとも1つに鑑みなされたものであり、機器の種類及び機能拡張に依らずに機器が処理可能なデータを生成することが可能な情報処理装置、プログラム及び情報処理システムを提供することを目的とする。
上記目的を達成するために、本発明の情報処理装置は、機器と接続され、前記機器の機器情報に基づいて前記機器が処理可能なデータを生成する情報処理装置であって、前記機器情報に基づいて前記機器に実行させる処理内容を設定する処理内容設定手段と、該処理内容設定手段により設定された処理内容に未知の情報が含まれる場合に、前記機器情報から前記未知の情報に対応するコマンドを取得するコマンド取得手段と、該コマンド取得手段が取得したコマンドと、前記処理内容とに基づいて、前記機器が処理可能なデータを生成するデータ生成手段とを有することを特徴とする。
これにより、機器の種類及び機能拡張に依らずに機器が処理可能なデータを生成することが可能な情報処理装置を提供することができる。
また、上記目的を達成するために、本発明の情報処理装置は、前記機器情報が、前記機器により実行可能な機能の設定を表す設定値と、該設定値に対応するコマンドとを含む参照情報を有することを特徴とする。
これにより、情報処理装置側が有する機器情報を、機器の現在の機器情報に適合させるよう更新することができる。
また、上記目的を達成するために、本発明の情報処理装置において、前記処理内容設定手段は、前記機器に実行させる処理内容を前記設定値を用いて設定し、前記コマンド取得手段は、前記処理内容に対応した設定値に基づき、前記参照情報からコマンドを取得することができる。
これにより、情報処理装置側が有する機器情報を機器の現在の機器情報に適合させた場合に、参照情報に含まれる設定値を用いて処理内容を設定し、更に、処理内容の設定に用いられた設定値を用いて、参照情報から、機器が処理可能なデータを生成するためのコマンドを取得することができる。
また、上記目的を達成するために、本発明の情報処理装置は、前記機器情報が、前記機器の拡張された機能を表す情報と、該情報に対応する機能コマンドとを含む第1の参照情報を有し、該第1の参照情報が、前記情報の設定を表す設定値と、該設定値に対応する設定コマンドとを含む第2の参照情報を有することを特徴とする。
これにより、情報処理装置側が有する機器情報を、機器の現在の機器情報に適合させるよう更新することができる。
また、上記目的を達成するために、本発明の情報処理装置において、前記処理内容設定手段は、前記機器に実行させる処理内容を前記情報及び前記設定値を用いて設定し、前記コマンド取得手段は、前記処理内容に対応した情報及び設定値に基づき、前記第1の参照情報及び前記第2の参照情報の夫々から前記機能コマンド及び前記設定コマンドを取得することができる。
これにより、情報処理装置側が有する機器情報を機器の現在の機器情報に適合させた場合に、参照情報に含まれる情報及び設定値を用いて処理内容を設定し、更に、処理内容の設定に用いられた情報及び設定値を用いて、参照情報から、機器が処理可能なデータを生成するためのコマンドを取得することができる。
また、上記目的を達成するために、本発明の情報処理装置において、前記処理内容は、前記機器に予め備わる機能に係る情報及び設定値を格納する固定領域と、前記機器の拡張された機能に係る情報及び設定値を格納する拡張領域とを有することができる。
これにより、情報処理装置が、機器の現在の機器情報に含まれる、機器の機能拡張に伴う新規な情報を取り扱うことができる。
また、上記目的を達成するために、本発明の情報処理装置において、前記機器情報に基づいて前記機器に実行させる処理内容を設定するための設定画面を表示する設定画面表示手段を更に有することができる。
これにより、ユーザが機器の設定を視覚的に認識し、実行することができる。
また、上記目的を達成するために、本発明の情報処理装置は、前記機器が認識可能なコマンドを前記データ生成手段が認識可能な設定値と対応付けて記憶するコマンド記憶手段を更に有し、前記コマンド取得手段は、前記処理内容設定手段により設定された処理内容に前記コマンド記憶手段に記憶されていない設定値が含まれる場合に、その設定値を前記未知の情報であると判断することができる。
これにより、予め設定された値以外は未知の情報として扱うことができる。
上記目的を達成するために、本発明のプログラムは、機器と接続され、前記機器の機器情報に基づいて前記機器が処理可能なデータを生成する情報処理装置を、前記機器情報に基づいて前記機器に実行させる処理内容を設定する処理内容設定手段、該処理内容設定手段により設定された処理内容に未知の情報が含まれる場合に、前記機器情報から前記未知の情報に対応するコマンドを取得するコマンド取得手段、及び該コマンド取得手段が取得したコマンドと、前記処理内容とに基づいて、前記機器が処理可能なデータを生成するデータ生成手段として機能させることができる。
上記目的を達成するために、本発明のプログラムは、コンピュータ読み取り可能な記録媒体に記録されることにより実現可能である。
上記目的を達成するために、本発明の情報処理システムは、情報処理装置、機器及び記憶装置を有する情報処理システムであって、前記記憶装置は、前記機器が実行可能な機能に係る機器情報を記憶し、前記情報処理装置は、前記記憶装置から所定の機器の機器情報を取得する機器情報取得手段と、該機器情報取得手段が取得した機器情報に基づいて、前記所定の機器に実行させる処理内容を設定する処理内容設定手段と、該処理内容設定手段により設定された処理内容に未知の情報が含まれる場合に、前記機器情報取得手段が取得した機器情報から前記未知の情報に対応するコマンドを取得するコマンド取得手段と、該コマンド取得手段が取得したコマンドと、前記処理内容とに基づいて、前記所定の機器が処理可能なデータを生成するデータ生成手段と、該データ生成手段が生成したデータを前記所定の機器へ送信するデータ送信手段とを有し、前記機器は、前記情報処理装置から送信されたデータを受信するデータ受信手段と、該データ受信手段が受信したデータを処理するデータ処理手段とを有することを特徴とする。
本発明により、機器の種類及び機能拡張に依らずに機器が処理可能なデータを生成することが可能な情報処理装置、プログラム及び情報処理システムを提供することが可能となる。
本発明を実施するための最良の形態を、添付の図面を参照して説明する。
図4は、本発明の一実施形態としてのコンピュータのハードウェア構成例を示す図である。図4に示されるように、コンピュータ40は、バス46によって相互に接続されたドライブ装置41と、補助記憶装置42と、メモリ装置43と、演算処理装置44と、インターフェース装置45とを有する。コンピュータ40での処理を実現するプログラムは、CD−ROM等の記録媒体47によって提供される。
ドライブ装置41は、記録媒体47を読み取るための装置である。プログラムを記録した記録媒体47がドライブ装置41にセットされると、プログラムが記録媒体47からドライブ装置41を介して補助記憶装置42にインストールされる。なお、本実施形態では、記録媒体に記録されたプログラムとして、プリンタドライバやPC−FAXドライバ等の各種デバイスドライバが適用可能であるが、説明を簡単なものとするため、以降はプリンタドライバを例として説明する。
補助記憶装置42は、インストールされたプログラムを格納すると共に、必要なファイル及びデータ等を格納する装置である。メモリ装置43は、プログラムの起動指示があった場合に、補助記憶装置42からプログラムを読み出して格納する装置である。演算処理装置44は、メモリ装置43に格納されたプログラムに従って、コンピュータ40に係る機能を実行する装置である。インターフェース装置45は、コンピュータ40を外部のネットワーク又は公衆回線へ接続するための装置である。
図5は、コンピュータ40の機能構成例を示す図である。図5に示されるように、コンピュータ40は、ネットワークを介してプリンタ50に接続されており、アプリケーション410と、描画サービス420と、プリンタドライバ430と、印刷データ送信サービス440とを有する。なお、このコンピュータ40としては、一般的なPCに限らず、サーバーPC、PDA(Personal Digital Assistant)若しくは携帯電話等の携帯型端末、又は、プリンタ若しくは複合機等の組み込み機器等であっても良い。
アプリケーション410は、例えばウィンドウズ(登録商標)のようなOS上で動作するプログラムであって、例えば、文書作成ソフト及び表計算ソフト等のような汎用アプリケーションである。
描画サービス420は、OS上で動作する描画エンジンであって、一般に、アプリケーション410と描画サービス420との間を接続するインターフェースと共にGDI(Graphic Device Interface)に含まれている。
プリンタドライバ430は、OSの内部命令をプリンタ50が解釈可能な印刷データ、所謂プリンタ言語(PDL)データに変換するモジュールである。一般に、GDI420とプリンタドライバ430との間は、DDI(Device Driver Interface)と呼ばれるインターフェースで接続されている。
印刷データ送信サービス440は、所謂スプーラであって、プリンタドライバ430で生成されたPDLデータをスプールするモジュールである。このスプーラ440によりスプールされたPDLデータは、印刷ポートからネットワークを介してプリンタ50へ送信される。
更に、図6は、上述したコンピュータ40とプリンタとが接続された情報処理システムの一例を表すネットワーク構成図である。
図6において、情報処理システム60は、第1及び第2のコンピュータ40a及び40bと、第1及び第2のプリンタ50a及び50bと、それらを相互に接続して、データ通信を可能にするネットワーク65とを有する。
第1のコンピュータ40aは、アプリケーション410と、1つのプリンタドライバ430とを有する。第2のコンピュータ40bも、原則的には、第1のコンピュータ40aと同様の構成を有する。
また、第1及び第2のプリンタ50a及び50bは、夫々、記憶装置510及び520の夫々を有する。記憶装置510及び520は、第1及び第2のプリンタ50a及び50bの夫々の各種機能に係る機器情報を記憶しておく装置である。
プリンタドライバ430は、ユーザーインターフェース(UI)モジュール431と、印刷データ生成モジュール432と、機器情報処理モジュール433とを有する。
UIモジュール431は、第1及び第2のプリンタ50a及び50bの夫々の各種機能に係る機器情報に基づいて、夫々のプリンタを設定するための設定画面を表示する手段である。ユーザは、UIモジュール431により表示された設定画面で、第1及び第2のプリンタ50a及び50bの夫々の各種機能の設定を入力する。UIモジュール431は、更に、ユーザの入力に基づいて、第1及び第2のプリンタ50a及び50bに実行させる処理内容を設定する。
印刷データ生成モジュール432は、アプリケーション410で作成又は閲覧した文書データ等を、ユーザが入力した第1及び第2のプリンタ50a及び50bの夫々の各種機能の設定に従って、夫々のプリンタが解釈可能な印刷データへ変換する手段である。機器情報処理モジュール433は、UIモジュール431が設定画面を表示することができるよう、夫々のプリンタの記憶装置510及び520に記憶された機器情報を読み出す手段である。
以下、このコンピュータにおける処理について詳細に説明する。
図7は、本実施形態のコンピュータが有しているプリンタドライバ430の構成の一例を表すブロック図である。
このプリンタドライバ430は、ユーザーインターフェース(UI)モジュール431と、印刷データ生成モジュール432と、機器情報処理モジュール433とを有する。
機器情報処理モジュール433は、図6のようにネットワークを介して接続されたプリンタから、そのプリンタが実行可能な機能に係る機器情報を取得する機器情報取得部711と、以前に取得したそのプリンタ又は他のプリンタの機器情報を保存する機器情報保存部712と、機器情報取得部711が取得した機器情報と機器情報保存部712に保存されている機器情報とを比較する情報比較部713とを有する。情報比較部713による比較の結果より、機器情報取得部711が取得した機器情報に含まれる新しい情報を用いて、機器情報保存部712に保存されている機器情報を更新する。
UIモジュール431は、機器情報保存部712に保存された機器情報に基づいて、印刷対象となる文書データの印刷設定を受け付ける設定画面を生成し、更に、この設定画面から受け付けた、後述するDEVMODE構造体等に処理内容を設定する処理内容設定部721と、処理内容設定部721で生成された設定画面をモニタ等(図示せず。)に表示する表示部722と、キーボード及びマウス等によりユーザからの入力を受ける入力部723とを有する。
アプリケーション410は、処理内容設定部721で設定された処理内容を保存する処理内容保存部731を有する。この処理内容保存部731の例としては、後述するDEVMODE構造体のような所定の形式の構造体も含む。
印刷データ生成モジュール432は、処理内容保存部731に保存された処理内容を読み込む処理内容読込部741と、処理内容読込部741が読み込んだ処理内容を調べることで、その内容に印刷データ生成モジュールにとって未知の情報が含まれているか否かを判定し、未知の情報が含まれている場合には、機器情報保存部712から未知の情報に対応するコマンドを取得するコマンド取得部742と、コマンド取得部742が取得したコマンドと処理内容読込部741が読み込んだ処理内容とに基づいて、プリンタが解釈可能な印刷データを生成するデータ生成部743と、プリンタが認識可能なコマンドを印刷データ生成モジュールが認識可能な設定値と対応付けて記憶したコマンド記憶部744とを有する。
コマンド取得部742は、処理内容読込部741が読み込んだ処理内容に含まれる設定値をコマンド記憶部744に記憶された設定値と比較することにより、処理内容読込部741が読み込んだ処理内容に印刷データ生成モジュールにとって未知の情報が含まれているか否を判定することができる。詳細には、コマンド記憶部744は、例えば、後述のDEVMODE構造体の固定領域に予め格納されている項目や値等の情報を記憶しており、コマンド取得部742は、固定領域に格納されていない情報を未知の情報として扱う。
データ生成部743は、処理内容読込部741が読み込んだ処理内容に含まれる設定値に対応するコマンドをコマンド記憶部744から取得し、このコマンドと、コマンド取得部742が取得したコマンドとに基づいて、印刷データを生成する。データ生成部743が生成した印刷データは、上述のスプーラ440へ送信される。
次に、このプリンタドライバ430の動作について、図8のシーケンス図を参照して説明する。
ユーザが、例えば図6の第1のプリンタ50aへの印刷設定要求を行った場合、例えば、ウィンドウズ(登録商標)で動作するアプリケーションの印刷設定画面において「プロパティ」ボタンを押した場合、最初に、ステップS201において、第1のプリンタ50aの印刷設定をするための設定画面(例えば、プロパティ画面)を表示するよう、設定画面呼び出し要求が、アプリケーション410からUIモジュール431へ送信される。UIモジュール431は、アプリケーション410からの要求を受け、ステップS202において、機器情報処理モジュール433へ、第1のプリンタ50aの機器情報を取得するよう機器情報取得命令を送信する。
機器情報処理モジュール433は、UIモジュール431からの命令を受けると、ステップS203において、機器情報取得部711を用いて第1のプリンタ50aの記憶装置510に記憶されている機器情報を読み出す。次に、ステップS204において、機器情報取得部711が読み出した機器情報は、情報比較部713により、機器情報保存部712に保存されていれる機器情報と比較されて、その中に含まれる新しい情報部分が、機器情報保存部712に保存されている機器情報を更新するために用いられる。これにより、機器情報保存部712に保存されている機器情報は、第1のプリンタ50aの現在実行可能な機能に係る機器情報へと書き換えられることになる。この機器情報は、ステップS205においてUIモジュール431へ送信される。
UIモジュール431は、機器情報処理モジュール433からの機器情報を受け、ステップS206において、処理内容設定部721が、その機器情報に基づいて、第1のプリンタ50aの各種機能を設定する設定画面を生成し、表示部722を介してユーザに表示する。ステップS207において、ユーザは、表示部722が表示した設定画面で、入力部723を用いて、第1のプリンタ50aへの印刷設定値を入力する。処理内容設定部721は、ステップS208において、ユーザが入力部723を介して入力した設定値を第1のプリンタ50aに実行させる処理内容として設定する。この処理内容は、ステップS209においてアプリケーション410へ送信される。処理内容の送信後、ステップS210において、アプリケーション410は、処理内容保存部731に処理内容を保存する。
この場合に、ユーザが、ステップS211においてアプリケーション上で第1のプリンタ50aへの印刷要求を行うと、印刷データ生成モジュール432の処理内容読込部741は、ステップS212において、アプリケーション410の処理内容保存部731に保存された処理内容を読み込む。次に、コマンド取得部742は、ステップS213において、読み込んだ処理内容に含まれる設定値をコマンド記憶部744に記憶された設定値と比較することにより、読み込んだ処理内容に印刷データ生成モジュールにとって未知の情報が含まれているか否かを判定し、未知の情報が含まれている場合には、ステップS214において、機器情報処理モジュール433へ問い合わせを行う。機器情報処理モジュール433は、ステップS215において、機器情報保存部712に保存されている機器情報を読み出して、その中から、コマンド取得部742から問い合わせのあった未知の情報に対応するコマンドを抽出し、ステップS216において、コマンド取得部742へ送信する。
ステップS217において、コマンド取得部742は、機器情報処理モジュール433から送信されたコマンドを取得する。次に、ステップS218において、このコマンドと、先のステップS212で処理内容読込部741が読み込んだ処理内容とに基づいて、データ生成部743は、第1のプリンタ50aが解釈可能な印刷データを生成する。生成された印刷データは、ステップS219において上述のスプーラ440へ送信される。印刷データの送信後、印刷データ生成モジュール432は、ステップS220において、送信完了通知をアプリケーション410へ送信する。ステップS221において、アプリケーション410は、送信完了通知を受けて、印刷処理を完了する。
このように、本実施形態でのコンピュータは、異なる種類のプリンタが複数接続されている場合に、全てのプリンタの機器情報を予め記憶しておくのではなく、必要に応じて、プリンタからその機器情報を読み出し、機器情報に含まれる未知の情報に関してそれに対応するコマンドを取得することにより、1つのプリンタドライバで異なる種類の複数のプリンタに対応することが可能となる。
また、コンピュータにプリンタドライバをインストールした後に、そのプリンタドライバに対応するプリンタに機能拡張が生じた場合にも、本実施形態のコンピュータは、機能拡張により追加された新規の機能に対応するコマンドを取得することができるので、プリンタドライバの再インストールをすることなく、容易にプリンタの機能拡張に対応することが可能となる。
以下、本実施形態の具体的な処理及びデータ構造について説明する。
〔設定画面の構成〕
図9は、本実施例のコンピュータにおいてプリンタの各種機能を設定するための設定画面の一例を示す。
図9の設定画面には、プリンタの印刷実行に用いる紙種を選択するための項目(「Paper Type」)が設けられている。ユーザが、設定画面上で紙種の選択を行う場合、選択肢90が表示される。選択肢90は、デフォルト部91と、追加部92とから成る。デフォルト部91は、プリンタから取得した機器情報のうち、コンピュータ側で既知であった情報であり、追加部92は、コンピュータ側で未知であった情報である。即ち、追加部92は、プリンタから新たに機器情報を取得した際に、新規な情報として、既にコンピュータが有していた機器情報に追加された情報である。
図9のような設定画面は、図10(a)及び(b)においてテーブル形式で表されている機器情報及び機器情報に関連づけられた参照情報に基づいて生成される。また、図9の設定画面において追加部92にある選択項目のいずれかが選ばれた場合の処理内容の設定状態は、図10(c)のように、テーブル形式で表される。なお、機器情報、参照情報及び処理内容のデータ構造は、テーブル形式以外の形式でもよい。
〔機器情報及び処理内容のデータ構造〕
図10(a)は、本実施例における機器情報のデータ構造の一例を概略的に表す図である。
図7及び図8を参照して上で説明したように、プリンタドライバ430は、所定のプリンタから読み出した機器情報と、既知の機器情報とを情報比較部713により比較して、所定のプリンタから読み出した機器情報に含まれる新しい情報、即ち、ある機能の選択肢の項目に係る追加情報を抽出し、これを既知の機器情報に加える。このように更新された機器情報は、図10(a)のようなデータ構造で機器情報保存部712に保存される。
図10(a)のデータ構造は、列210、220及び230を有する。列210には、プリンタが有している機能名が格納されており、列220には、列210に格納された機能が実行可能であるか否かを表すデータが格納されている。更に、列220において、その機能が実行可能であって、機能実行時の詳細な設定を行うための選択肢が存在することを表すデータが格納されている場合には、列230に選択肢の内容が格納されている。ただし、新たに選択肢の項目が追加された機能、即ち、「紙種」においては、その選択肢の内容が列230の対応する行に格納されず、代わりに、「紙種」の選択肢を表す参照情報に関連づけられている。
図10(b)は、本実施例における図10(a)の機器情報に関連づけられた参照情報のデータ構造の一例を概略的に表す図である。
図10(b)のデータ構造は、列260、270及び280を有する。列260には、設定画面上に実際に表示するための文字列が格納されている。列270には、プリンタドライバが認識可能な、選択肢の夫々の項目に対応する設定値が格納されている。列280には、プリンタが認識可能な、選択肢の夫々の項目に対応するコマンドが格納されている。なお、参照情報も、機器情報と同じく、プリンタドライバの機器情報保存部712に保存される。
図7及び図8を参照して上で説明したように、プリンタドライバ430は、機器情報保存部712に保存された機器情報に基づいて、表示部722を介してユーザに設定画面を表示する。本実施例のように、ある機能の選択肢の項目が追加された場合には、図10(a)及び(b)の機器情報及び拡張情報に基づいて、図9のような設定画面が表示される。図9の設定画面において、表示される紙種の選択肢90は、図10(b)に示した拡張情報の列260に格納された文字列に基づく。
また、図10(c)は、本実施例における図10(a)及び(b)の機器情報及び参照情報に基づく処理内容のデータ構造の一例を概略的に表す図である。
図10(c)のデータ構造は、DEVMODE構造体という構造体であって、列240及び250を有する。列240には、プリンタが有している機能名が格納されており、列250には、ユーザが設定画面で入力した印刷設定の設定値、即ち、図10(a)に示す機器情報の列230に格納された選択肢、又は図10(b)の参照情報により表される選択肢の中から、ユーザによって選択された値が格納されている。なお、一般に、DEVMODE構造体は、固定領域と拡張領域とを有するが、本実施例では固定領域のみを使用する。
図10(a)の機器情報及び図10(b)の拡張情報が保存された後に、ユーザが、図9の設定画面において紙種の設定を行い、選択肢90の中から追加部92に含まれる項目を選択した場合を考える。例えば、ユーザが項目「特殊紙3A」を選択したとすると、図10(c)のように、処理内容の機能「紙種」の設定に対応する所定領域には、図10(b)の参照情報において文字列「特殊紙3A」に対応する設定値「512」が格納される。その後、図10(c)のようなデータ構造を有する処理内容は、上述のアプリケーション410に保存される。
次に、ユーザが、アプリケーション上で所定のプリンタへの印刷要求を行うと、プリンタドライバ430は、プリンタが解釈可能な印刷データを生成するために、アプリケーション410からの処理内容を読み込む。このとき、プリンタドライバ430は、読み込んだ処理内容に含まれる設定値をコマンド記憶部744に記憶された設定値と比較することにより、読み込んだ処理内容に印刷データ生成モジュールにとって未知の情報が含まれているか否かを判定するが、プリンタから機器情報を取得した際に新たに追加された情報を未知の情報として認識する。本実施例では、図10(c)の処理内容において、設定値「512」が未知の情報として扱われる。
図7及び図8を参照して上で説明したように、プリンタドライバ430は、処理情報に未知の情報が含まれていた場合に、プリンタが解釈可能な印刷データを生成するために、機器情報から未知の情報に対応するコマンドを取得する。以下、このコマンド取得動作について、図7のブロック図及び図11のフロー図を参照して更に詳細に説明する。
〔コマンド取得及びデータ生成〕
図11は、処理内容が図10(c)のようなデータ構成を有する場合の本実施例のプリンタドライバにおけるコマンド取得動作の一例を説明するフロー図である。
ユーザが、アプリケーション上で所定のプリンタへの印刷要求を行うと、印刷データ生成モジュール432の処理内容読込部741は、ステップS301において、アプリケーション410の処理内容保存部731に保存された、図10(c)のようなデータ構造を有する処理内容を読み込む。更に、処理内容読込部741は、ステップS302において、読み込んだ処理内容の固定領域のみを抽出して読み込む。次に、コマンド取得部742は、ステップS303において、読み込まれた固定領域の一行目から順に、図10(c)の列250に格納された印刷設定を読み出して、この印刷設定に含まれる設定値をコマンド記憶部744に記憶された設定値と比較することで、ステップS304において、読み出した印刷設定に未知の設定値が含まれるか否かを判定する。
判定の結果、読み出した印刷設定に未知の設定値が含まれていない場合には、ステップはS305に進み、コマンド取得部742は、印刷設定に対応するコマンドを生成する。
一方、判定の結果、読み出した印刷設定に未知の設定値が含まれている場合には、ステップはS306に進み、コマンド取得部742は、機器情報処理モジュール433に対して、その未知の設定値に関する問い合わせを行う。機器情報処理モジュール433は、ステップS307において、機器情報保存部712に保存されている機器情報、本実施例では、図10(a)のようなデータ構造を有する機器情報を読み出して、その中から、コマンド取得部742から問い合わせのあった未知の設定値に対応するコマンドを抽出し、ステップS308において、コマンド取得部742へ送信する。
図10(c)の処理内容において紙種の印刷設定の設定値として格納された「512」が未知の設定値である場合に、コマンド情報取得部742は、紙種の「512」という設定値に関して機器情報処理モジュール433へ問い合わせを行う。機器情報処理モジュール433は、コマンド情報取得部742からの問い合わせを受けて、機器情報保存部712に保存されている図10(a)の機器情報を読み出す。図10(a)の機器情報を見ると、「紙種」は参照情報に関連づけられているので、機器情報処理モジュール433は、更に、同じく機器情報保存部712に保存されている図10(b)の参照情報を読み出す。図10(b)の参照情報より、コマンド取得部742から問い合わせのあった設定値「512」に対応するコマンドは「SPECIAL3A」であることが分かる。機器情報処理モジュール433は、このコマンド「SPECIAL3A」をコマンド取得部742へ返す。
このように、印刷データ生成モジュール432は、コマンド取得部742により、未知の設定値、即ち、新たに追加された選択肢の項目に対応するコマンドを取得することができる。
ステップS305においてコマンドを生成した後、又はステップS306からS308においてコマンドを取得した後、ステップS309において、コマンド取得部742は、固定領域にまだ読み出していない印刷設定の設定値が存在するか否かを判定する。
判定の結果、まだ読み出していない印刷設定の設定値が存在する場合には、ステップはS303に戻り、上述したコマンド生成又は取得のための動作を繰り返す。
一方、判定の結果、固定領域の全ての印刷設定の設定値が読み出され、それらの夫々に対してコマンドが生成又は取得されている場合には、ステップはS310に進む。ステップS310において、データ生成部743は、コマンド取得部742が生成又は取得したコマンドを用いて、プリンタが解釈可能な印刷データとして、例えばPDLデータのPJL(Printer Job Language)部を生成し、これを上述のスプーラ440へ送信する。
このように、本実施例のコンピュータは、機能の異なるプリンタが接続される場合に、そのプリンタから取得した新規の情報を、プリンタドライバが予め有する機器情報に関連づけて参照情報として保存することにより、参照情報からコマンドを取得して、そのコマンドを用いてプリンタが解釈可能な印刷データを生成することが可能となる。
〔設定画面の構成〕
図12は、本実施例のコンピュータにおいてプリンタの各種機能を設定するための設定画面の一例を示す。
図12の設定画面には、プリンタの拡張機能を設定するためのタブページ1200が設けられている。プリンタに拡張機能が追加されていない場合の設定画面121において、拡張機能の表示1210は、ユーザが設定を行うことができないようオフとなっている。一方、拡張機能が存在する場合の設定画面122では、拡張機能表示1220はオンとなり、拡張機能の機能名が明示され、その機能の設定を行うための選択肢1230が用意される。ユーザは、プリンタのデフォルト機能と同じように、拡張機能に関しても設定を行うことができる。
図12の設定画面122より、拡張機能として「Z折り」1220が追加され、その折り目の有無及び方向を設定するための選択肢1230として「なし」、「左」、「右」及び「上」が用意されていることが分かる。
拡張機能は、プリンタから新たに機器情報を取得した際に、新規な情報として、既にコンピュータが有していた機器情報に追加された情報である。
図12のような設定画面は、図13(a)、(b)及び(c)においてテーブル形式で表されている機器情報、機器情報に関連づけられた第1の参照情報及び第1の参照情報に関連づけられた第2の参照情報に基づいて生成される。また、図12の設定画面122において拡張機能1220が設定される場合の処理内容の設定状態は、図13(d)のように、テーブル形式で表される。なお、機器情報、第1及び第2の参照情報並びに処理内容のデータ構造は、テーブル形式以外の形式でもよい。
〔機器情報及び処理内容のデータ構造〕
図13(a)は、本実施例における機器情報のデータ構造の一例を概略的に表す図である。
図7及び図8で説明したように、プリンタドライバ430は、所定のプリンタから読み出した機器情報と、既知の機器情報とを情報比較部713により比較して、所定のプリンタから読み出した機器情報に含まれる新しい情報、即ち、プリンタの拡張機能に係る追加情報を抽出し、これを既知の機器情報に加える。このように更新された機器情報は、図13(a)のようなデータ構造で機器情報保存部712に保存される。
図13(a)のデータ構造は、列2100、2200及び2300を有する。列2100には、プリンタが有している機能名が格納されており、列2200には、列2100に格納された機能が実行可能であるか否かを表すデータが格納されている。更に、列2200において、その機能が実行可能であって、機能実行時の詳細な設定を行うための選択肢が存在することを表すデータが格納されている場合には、列2300に選択肢の内容が格納されている。ただし、拡張機能においては、その実行可否及び選択肢の内容が列2200及び2300の対応する行に格納されず、代わりに、拡張機能の実際の機能を表す第1の参照情報に関連づけられている。
図13(b)は、本実施例における図13(a)の機器情報に関連づけられた第1の参照情報のデータ構造の一例を概略的に表す図である。
図13(b)のデータ構造は、列2610、2620、2630及び2640を有する。列2610には、設定画面上に実際に表示するための文字列が格納されている。列2620には、処理内容のデータ構造における所定領域を表す領域IDが格納されている。列2630には、プリンタが認識可能な、その機能に対応するコマンドが格納されている。更に、列2640において、拡張機能は、その機能の選択肢を表す第2の参照情報に関連づけられている。
図13(c)は、本実施例における図13(b)の第1の参照情報に関連づけられた第2の参照情報のデータ構造の一例を概略的に表す図である。
図13(c)のデータ構造は、列2710、2720及び2730を有する。列2710には、設定画面上に実際に表示するための文字列が格納されている。列2720には、プリンタドライバが認識可能な、選択肢の夫々の項目に対応する設定値が格納されている。列2730には、プリンタが認識可能な、選択肢の夫々の項目に対応するコマンドが格納されている。
なお、第1及び第2の参照情報も、機器情報と同じく、プリンタドライバの機器情報保存部712に保存される。
図7及び図8で説明したように、プリンタドライバ430は、機器情報保存部712に保存された機器情報に基づいて、表示部722を介してユーザに設定画面を表示する。そしてプリンタに拡張機能が存在する場合には、図13(a)、(b)及び(c)の機器情報並びに第1及び第2の拡張情報に基づいて、図12のような設定画面122が表示される。図12の設定画面122において、拡張機能表示1220に表示される機能名「Z折り」は、図13(b)に示した第1の拡張機能の列2610に格納された文字列であり、選択肢1230の表示される項目は、図13(c)に示した第2の拡張機能列2710に格納された文字列である。
また、図13(d)は、本実施例における図13(a)〜(c)の機器情報及び参照情報に基づく処理内容のデータ構造の一例を概略的に表す図である。
図13(d)のデータ構造は、DEVMODE構造体という構造体であって、列2400及び2500を有する。図13(d)のデータ構造は、更に、固定領域200aと拡張領域200bとに分けられている。
固定領域200aは、プリンタが予め有する機能に係る設定が格納される領域であって、固定領域200aにおいて、列2400には、プリンタが有している機能名が格納されており、列2500には、ユーザが設定画面で入力した印刷設定の設定値、即ち、図13(a)に示す機器情報の列2300に格納された選択肢、又は、先の実施例1のように、ある機能の選択肢の項目が追加された場合には図10(b)の参照情報により表される選択肢の中から、ユーザによって選択された値が格納されている。
拡張領域200bは、プリンタに追加された機能、即ち、拡張機能に係る設定が格納される領域であって、拡張領域200bにおいて、列2400には、拡張領域内の場所を表す領域IDが格納されており、列2500には、拡張機能の存在を表すフラグ2510と、ユーザが設定画面で入力した印刷設定の設定値、即ち、図13(c)の第2の参照情報により表される選択肢の中から、ユーザによって選択された値とが格納されている。
図13(a)の機器情報並びに図13(b)及び(c)の第1及び第2の拡張情報が保存された後に、ユーザが、図12の設定画面において拡張機能の設定を行い、選択肢1230の中からいずれかの項目を選択した場合を考える。例えば、ユーザが拡張機能1220「Z折り」の選択肢1230から項目「左」を選択したとすると、図13(b)の第1の参照情報の列2620には、文字列「Z折り」に対応する領域IDとして「5」が入力されているから、図13(d)のように、処理内容の拡張領域200bにおいて領域ID「5」に対応する行の列2500には、拡張機能の存在を表すようフラグ2510が立てられる。例えば、データが2進数で表される場合には、「1」がフラグオン、「0」がフラグオフを表すとする。更に、領域ID「5」に対応する行の列2500には、印刷設定2520として、図13(c)の第2の参照情報において文字列「左」に対応する設定値「1」が格納される。その後、図13(d)のようなデータ構造を有する処理内容は、上述のアプリケーション410に保存される。
次に、ユーザが、アプリケーション上で所定のプリンタへの印刷要求を行うと、プリンタドライバ430は、プリンタが解釈可能な印刷データを生成するために、アプリケーション410からの処理内容を読み込む。このとき、プリンタドライバ430は、読み込んだ処理内容を調べることで、その内容に未知の情報が含まれているか否かを判定するが、プリンタから機器情報を取得した際に新たに追加された情報を未知の情報として認識する。本実施例では、図13(d)の処理内容の拡張領域200bにおいて、フラグ2510が立てられている(「1」である)領域の領域ID「5」及び設定値「1」が未知の情報として扱われる。
図7及び図8を参照して上で説明したように、プリンタドライバ430は、処理情報に未知の情報が含まれていた場合に、プリンタが解釈可能な印刷データを生成するために、機器情報から未知の情報に対応するコマンドを取得する。以下、このコマンド取得動作について、図7のブロック図及び図14のフロー図を参照して更に詳細に説明する。
〔コマンド取得及びデータ生成〕
図14は、処理内容が図13(d)のようなデータ構成を有する場合のプリンタドライバ430におけるコマンド取得動作の一例を説明するフロー図である。
ユーザが、アプリケーション上で所定のプリンタへの印刷要求を行うと、印刷データ生成モジュール432の処理内容読込部741は、ステップS401において、アプリケーション410の処理内容保存部731に保存された、図13(d)のようなデータ構造を有する処理内容を読み込む。
最初に、ステップS402において、処理内容読込部741は、読み込んだ処理内容の固定領域200aのみを抽出して読み込み、先の実施例1で図11を参照して説明したコマンドの生成及び取得の動作、ステップS302〜S309を実行する。
固定領域の上記処理が完了した後に、ステップS403において、処理内容読込部741は、読み込んだ処理内容の拡張領域200bを抽出して読み込む。コマンド取得部742は、ステップS404において、読み込まれた拡張領域200bの一行目から順に、図13(d)の列2500に格納されたフラグ2510を読み出し、ステップS405において、フラグが存在するか否か(「1」であるか否か)を判定する。
判定の結果、フラグが存在しない(「0」である)場合には、ステップはS410に進む。
一方、判定の結果、フラグが存在する(「1」である)場合には、ステップはS406に進み、コマンド取得部742は、そのフラグに対応する領域の領域ID及び印刷設定を読み出す。次に、ステップS407において、コマンド取得部742は、機器情報処理モジュール433に対して、読み出した領域ID及び印刷設定に関する問い合わせを行う。機器情報処理モジュール433は、ステップS408において、機器情報保存部712に保存されている機器情報、本実施例では、図13(a)のようなデータ構造を有する機器情報を読み出して、その中から、コマンド取得部742から問い合わせのあった領域ID及び印刷設定に対応するコマンドを抽出し、ステップS409において、コマンド取得部742へ送信する。
図13(d)の処理内容において、領域ID「5」に対応する拡張領域200bの所定領域のフラグ2510が「1」であって、更に、その領域に印刷設定の設定値として「1」が格納されている場合に、コマンド情報取得部742は、領域ID「5」及び印刷設定値「1」に関して機器情報処理モジュール433へ問い合わせを行う。機器情報処理モジュール433は、コマンド情報取得部742からの問い合わせを受けて、機器情報保存部712に保存されている図13(a)の機器情報を読み出す。図13(a)の機器情報において機器の拡張機能に係る情報は、第1の参照情報として機器情報に関連づけられている。従って、機器情報処理モジュール433は、更に、同じく機器情報保存部712に保存されている図13(b)の第1の参照情報を読み出す。図13(b)の第1の参照情報より、コマンド取得部742から問い合わせのあった領域ID「5」に対応するコマンドは「ZFOLDING」であることが分かる。第1の参照情報において、領域ID「5」に対応するコマンドは、更に第2の参照情報に関連づけられているので、機器情報処理モジュール433は、更に、同じく機器情報保存部712に保存されている図13(c)の第2の参照情報を読み出す。図13(c)の第2の参照情報より、コマンド取得部742から問い合わせのあった印刷設定値「1」に対応するコマンドは「LEFT」であることが分かる。従って、機器情報処理モジュール433は、コマンド「ZFOLDING」及び「LEFT」をコマンド取得部742へ返す。
このように、印刷データ生成モジュール432は、コマンド取得部742により、未知の情報に対応するコマンド、即ち、プリンタの新たに追加された機能に対応するコマンドを取得することができる。
ステップS405においてフラグが存在しないことが確認された後、又はステップS406からS409においてコマンドを取得した後、ステップS410において、コマンド取得部742は、拡張領域200bにまだ読み出していないフラグが存在するか否かを判定する。
判定の結果、まだ読み出していないフラグが存在する場合には、ステップはS404に戻り、拡張機能に対応するコマンドを取得するための上記動作を繰り返す。
一方、判定の結果、拡張領域200bの全てのフラグが読み出されている場合には、ステップはS411に進む。ステップS411において、データ生成部743は、コマンド取得部742が取得したコマンドを用いて、プリンタが解釈可能な印刷データとして、例えばPDLデータのPJL(Printer Job Language)部を生成し、これを上述のスプーラ440へ送信する。
このように、本実施例のコンピュータは、機能の異なるプリンタが接続される場合に、そのプリンタから取得した新規の情報を、プリンタドライバが予め有する機器情報に関連づけて第1の参照情報として保存し、更に、新規の情報の詳細な設定を表す設定値を第2の参照情報として保存することにより、第1及び第2の参照情報の夫々から、新規の情報に対応するコマンドと、新規な情報に係る設定値に対応するコマンドとを取得して、それらのコマンドを用いてプリンタが解釈可能な印刷データを生成することが可能となる。
〔変形例〕
以上、本発明の実施形態では、プリンタドライバに関して説明したが、アプリケーションからの指示を機器が処理可能なデータへ変換するソフトウェアであれば、スキャナドライバ及びPC−FAXドライバ等の他のデバイスドライバにも適用することができる。
また、本発明の機能は、情報処理装置のハードディスク(HDD)、読出し専用メモリ(ROM)等のメモリに格納されたプログラムによっても実現されるとしたが、あるいは、情報処理装置においてハードウェアとして実現されても良い。
また、変形例でのコンピュータは、機器の機器情報を、所定の時点又は非同期に取得しても良い。
また、上記機器の機器情報は、例えば外部の記憶装置としてのサーバー装置で保存されても良い。
また、本発明の実施形態は、デバイスドライバドライバ及びそれに準じるモジュールの形態に限定されず、アプリケーション自身に適用させても良い。
以上、発明を実施するための最良の形態について説明を行ったが、本発明は、この最良の形態で述べた実施の形態に限定されるものではない。本発明の主旨を損なわない範囲で変更することが可能である。
情報処理システムのネットワーク構成図の従来例を示す。 機器情報の従来のデータ構造の一例を概略的に表す図である。 処理内容の従来のデータ構造の一例を概略的に表す図である。 従来のプリンタドライバの動作の一例を説明するシーケンス図である。 本実施形態のコンピュータのハードウェア構成例を示す図である。 本実施形態のコンピュータの機能構成例を示す図である。 本実施形態の情報処理システムのネットワーク構成例を示す。 本実施形態のコンピュータにおけるプリンタドライバ部の詳細な構成の一例を表すブロック図である。 本実施形態のプリンタドライバの動作の一例を説明するシーケンス図である。 実施例1のコンピュータにおいてプリンタの各種機能を設定するための設定画面の一例を示す。 実施例1の機器情報のデータ構造の一例を概略的に表す図である。 図10(a)の機器情報に関連づけられた参照情報のデータ構造の一例を概略的に表す図である。 図10(a)及び(b)の機器情報及び参照情報に基づく処理内容のデータ構造の一例を概略的に表す図である。 図10(c)の処理内容に対する実施例1のプリンタドライバのコマンド取得動作の一例を説明するフロー図である。 実施例2のコンピュータにおいてプリンタの各種機能を設定するための設定画面の一例を示す。 実施例2の機器情報のデータ構造の一例を概略的に表す図である。 図13(a)の機器情報に関連づけられた第1の参照情報のデータ構造の一例を概略的に表す図である。 図13(b)の第1の参照情報に関連づけられた第2の参照情報のデータ構造の一例を概略的に表す図である。 図13(a)〜(c)の機器情報及び参照情報に基づく処理内容のデータ構造の一例を概略的に表す図である。 図13(d)の処理内容に対する実施例2のプリンタドライバのコマンド取得動作の一例を説明するフロー図である。
符号の説明
40,40a,40b コンピュータ
410 アプリケーション
420 描画サービス
430 プリンタドライバ
431 UIモジュール
432 印刷データ生成モジュール
433 機器情報処理モジュール
440 スプーラ
50,50a,50b プリンタ
510,520 記憶装置
60 情報処理システム
65 ネットワーク
711 機器情報取得部
712 機器情報保存部
713 情報比較部
721 処理内容設定部
722 表示部
723 入力部
731 処理内容保存部
741 処理内容読込部
742 コマンド取得部
743 データ生成部
744 コマンド記憶部
200a 固定領域
200b 拡張領域

Claims (18)

  1. 機器と接続され、前記機器の機器情報に基づいて前記機器が処理可能なデータを生成する情報処理装置であって、
    前記機器から該機器の機器情報を取得する機器情報取得手段と、
    以前に取得した機器情報を記憶している機器情報保存手段と、
    前記機器情報取得部によって取得した機器情報を前記機器情報保存手段に記憶されている機器情報と比較して、前記機器情報取得部によって取得した機器情報に新しい情報が含まれる場合に該新しい情報を用いて前記機器情報保存手段に記憶されている機器情報を更新する情報比較手段と、
    前記機器情報保存手段に記憶されている機器情報に基づいて前記機器に実行させる処理内容を設定する処理内容設定手段と、
    該処理内容設定手段により設定された処理内容に未知の情報が含まれる場合に、前記機器情報保存手段に記憶されている機器情報から前記未知の情報に対応するコマンドを取得するコマンド取得手段と、
    該コマンド取得手段が取得したコマンドと、前記処理内容とに基づいて、前記機器が処理可能なデータを生成するデータ生成手段とを有することを特徴とする情報処理装置。
  2. 前記機器情報は、前記機器により実行可能な機能の設定を表す設定値と、該設定値に対応するコマンドとを含む参照情報を有することを特徴とする、請求項1記載の情報処理装置。
  3. 前記処理内容設定手段は、前記機器に実行させる処理内容を前記設定値を用いて設定し、
    前記コマンド取得手段は、前記処理内容に対応した設定値に基づき、前記参照情報からコマンドを取得することを特徴とする、請求項2記載の情報処理装置。
  4. 前記機器情報は、前記機器の拡張された機能を表す情報と、該情報に対応する機能コマンドとを含む第1の参照情報を有し、
    該第1の参照情報は、前記情報の設定を表す設定値と、該設定値に対応する設定コマンドとを含む第2の参照情報を有することを特徴とする、請求項1記載の情報処理装置。
  5. 前記処理内容設定手段は、前記機器に実行させる処理内容を前記情報及び前記設定値を用いて設定し、
    前記コマンド取得手段は、前記処理内容に対応した情報及び設定値に基づき、前記第1の参照情報及び前記第2の参照情報の夫々から前記機能コマンド及び前記設定コマンドを取得することを特徴とする、請求項4記載の情報処理装置。
  6. 前記処理内容は、前記機器に予め備わる機能に係る情報及び設定値を格納する固定領域と、前記機器の拡張された機能に係る情報及び設定値を格納する拡張領域とを有することを特徴とする、請求項5記載の情報処理装置。
  7. 前記機器情報に基づいて前記機器に実行させる処理内容を設定するための設定画面を表示する設定画面表示手段を更に有することを特徴とする、請求項1記載の情報処理装置。
  8. 前記機器が認識可能なコマンドを前記データ生成手段が認識可能な設定値と対応付けて記憶するコマンド記憶手段を更に有し、
    前記コマンド取得手段は、前記処理内容設定手段により設定された処理内容に前記コマンド記憶手段に記憶されていない設定値が含まれる場合に、その設定値を前記未知の情報であると判断する、ことを特徴とする請求項1乃至7のうちいずれか一項記載の情報処理装置。
  9. 機器と接続され、前記機器の機器情報に基づいて前記機器が処理可能なデータを生成する情報処理装置を、
    前記機器から該機器の機器情報を取得する機器情報取得手段、
    以前に取得した機器情報を記憶している機器情報保存手段、
    前記機器情報取得部によって取得した機器情報を前記機器情報保存手段に記憶されている機器情報と比較して、前記機器情報取得部によって取得した機器情報に新しい情報が含まれる場合に該新しい情報を用いて前記機器情報保存手段に記憶されている機器情報を更新する情報比較手段、
    前記機器情報保存手段に記憶されている機器情報に基づいて前記機器に実行させる処理内容を設定する処理内容設定手段、
    該処理内容設定手段により設定された処理内容に未知の情報が含まれる場合に、前記機器情報保存手段に記憶されている機器情報から前記未知の情報に対応するコマンドを取得するコマンド取得手段、及び
    該コマンド取得手段が取得したコマンドと、前記処理内容とに基づいて、前記機器が処理可能なデータを生成するデータ生成手段として機能させるためのプログラム。
  10. 前記機器情報は、前記機器により実行可能な機能の設定を表す設定値と、該設定値に対応するコマンドとを含む参照情報を有することを特徴とする、請求項9記載のプログラム。
  11. 前記処理内容設定手段は、前記機器に実行させる処理内容を前記設定値を用いて設定し、
    前記コマンド取得手段は、前記処理内容に対応した設定値に基づき、前記参照情報からコマンドを取得することを特徴とする、請求項10記載のプログラム。
  12. 前記機器情報は、前記機器の拡張された機能を表す情報と、該情報に対応する機能コマンドとを含む第1の参照情報を有し、
    該第1の参照情報は、前記情報の設定を表す設定値と、該設定値に対応する設定コマンドとを含む第2の参照情報を有することを特徴とする、請求項9記載のプログラム。
  13. 前記処理内容設定手段は、前記機器に実行させる処理内容を前記情報及び前記設定値を用いて設定し、
    前記コマンド取得手段は、前記処理内容に対応した情報及び設定値に基づき、前記第1の参照情報及び前記第2の参照情報の夫々から前記機能コマンド及び前記設定コマンドを取得することを特徴とする、請求項12記載のプログラム。
  14. 前記処理内容は、前記機器に予め備わる機能に係る情報及び設定値を格納する固定領域と、前記機器の拡張された機能に係る情報及び設定値を格納する拡張領域とを有することを特徴とする、請求項13記載のプログラム。
  15. 前記情報処理装置を、更に、前記機器情報に基づいて前記機器に実行させる処理内容を設定するための設定画面を表示する設定画面表示手段として機能させることを特徴とする、請求項9記載のプログラム。
  16. 前記コマンド取得手段は、前記処理内容設定手段により設定された処理内容が、前記データ生成手段が認識可能であって、前記機器が認識可能なコマンドに対応する設定値以外の設定値を含む場合に、その設定値を前記未知の情報であると判断する、ことを特徴とする請求項9乃至15のうちいずれか一項記載の情報処理装置。
  17. 請求項9乃至16のうちいずれか一項記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
  18. 情報処理装置、機器及び記憶装置を有する情報処理システムにおいて、
    前記記憶装置は、前記機器が実行可能な機能に係る機器情報を記憶し、
    前記情報処理装置は、
    前記記憶装置から所定の機器の機器情報を取得する機器情報取得手段と、
    以前に取得した機器情報を記憶している機器情報保存手段と、
    前記機器情報取得部によって取得した機器情報を前記機器情報保存手段に記憶されている機器情報と比較して、前記機器情報取得部によって取得した機器情報に新しい情報が含まれる場合に該新しい情報を用いて前記機器情報保存手段に記憶されている機器情報を更新する情報比較手段と、
    前記機器情報保存手段に記憶されている機器情報に基づいて、前記所定の機器に実行させる処理内容を設定する処理内容設定手段と、
    該処理内容設定手段により設定された処理内容に未知の情報が含まれる場合に、前記機器情報保存手段に記憶されている機器情報から前記未知の情報に対応するコマンドを取得するコマンド取得手段と、
    該コマンド取得手段が取得したコマンドと、前記処理内容とに基づいて、前記所定の機器が処理可能なデータを生成するデータ生成手段と、
    該データ生成手段が生成したデータを前記所定の機器へ送信するデータ送信手段とを有し、
    前記機器は、
    前記情報処理装置から送信されたデータを受信するデータ受信手段と、
    該データ受信手段が受信したデータを処理するデータ処理手段とを有することを特徴とする情報処理システム。
JP2007113470A 2006-05-31 2007-04-23 情報処理装置、情報処理システム、プログラム及びその記録媒体 Expired - Fee Related JP4874859B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2007113470A JP4874859B2 (ja) 2006-05-31 2007-04-23 情報処理装置、情報処理システム、プログラム及びその記録媒体
US11/806,281 US7962660B2 (en) 2006-05-31 2007-05-31 Information processing apparatus, information processing system, and recording medium
US13/067,003 US8171180B2 (en) 2006-05-31 2011-05-02 Information processing apparatus, information processing system, and recording medium

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2006152182 2006-05-31
JP2006152182 2006-05-31
JP2007113470A JP4874859B2 (ja) 2006-05-31 2007-04-23 情報処理装置、情報処理システム、プログラム及びその記録媒体

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2011256348A Division JP5353997B2 (ja) 2006-05-31 2011-11-24 情報処理装置、情報処理システム、プログラム及びその記録媒体

Publications (2)

Publication Number Publication Date
JP2008009967A JP2008009967A (ja) 2008-01-17
JP4874859B2 true JP4874859B2 (ja) 2012-02-15

Family

ID=38874757

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007113470A Expired - Fee Related JP4874859B2 (ja) 2006-05-31 2007-04-23 情報処理装置、情報処理システム、プログラム及びその記録媒体

Country Status (2)

Country Link
US (2) US7962660B2 (ja)
JP (1) JP4874859B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10015347B2 (en) 2015-05-29 2018-07-03 Canon Kabushiki Kaisha Information processing apparatus for acquiring and updating a retention storage for information stored in a processing apparatus, information processing method, and non-transitory storage medium

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080006399A (ko) * 2006-07-12 2008-01-16 삼성전자주식회사 디바이스의 상세정보를 제공하는 호스트 단말기, 그의디바이스 상세정보 제공방법 및 호스트 단말기로부터상세정보를 제공받는 디바이스
JP2009181337A (ja) * 2008-01-30 2009-08-13 Ricoh Co Ltd 画像形成システム、管理装置、画像形成装置、画像形成方法、及び画像形成プログラム
JP2009193163A (ja) * 2008-02-12 2009-08-27 Ricoh Co Ltd 画像形成システム、管理装置、通信制御装置、画像形成方法、及び画像形成プログラム
JP2009217331A (ja) * 2008-03-07 2009-09-24 Canon Inc 情報処理装置、情報処理装置の制御方法、プログラム、及び、記録媒体
JP5047067B2 (ja) 2008-06-12 2012-10-10 株式会社リコー 情報処理装置、データ出力システム、データ生成プログラム及びその記録媒体
JP2010211268A (ja) * 2009-03-06 2010-09-24 Ricoh Co Ltd 通信機器、該通信機器の制御方法およびそのプログラムならびにシステム
JP5481925B2 (ja) * 2009-05-18 2014-04-23 株式会社リコー ネットワークシステムおよび方法
JP5598039B2 (ja) * 2010-03-18 2014-10-01 株式会社リコー 情報処理装置およびその制御方法、プログラム、記録媒体並びに画像形成装置
JP5822442B2 (ja) * 2010-06-30 2015-11-24 キヤノン株式会社 情報処理装置、制御方法及びプログラム
JP5617386B2 (ja) 2010-07-05 2014-11-05 ブラザー工業株式会社 制御装置、画像処理システム、及びプログラム
JP5845576B2 (ja) * 2010-12-24 2016-01-20 富士ゼロックス株式会社 画像形成システム、画像形成指示装置、及びプログラム
JP5882623B2 (ja) * 2011-08-03 2016-03-09 キヤノン株式会社 情報処理装置、制御方法、プログラム
JP5900146B2 (ja) * 2012-05-16 2016-04-06 コニカミノルタ株式会社 制御装置、プリンタードライバープログラム、および設定方法
JP5820853B2 (ja) * 2013-08-26 2015-11-24 株式会社沖データ 画像処理装置
JP6379805B2 (ja) * 2013-09-17 2018-08-29 株式会社リコー 情報処理プログラム、情報処理装置および情報処理システム
JP6252215B2 (ja) * 2014-02-06 2017-12-27 コニカミノルタ株式会社 画像形成システム、および画像形成装置
JP6602053B2 (ja) * 2015-05-29 2019-11-06 キヤノン株式会社 情報処理装置、制御方法及びプログラム

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10161821A (ja) * 1996-11-28 1998-06-19 Canon Inc 印刷制御装置および印刷制御方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体
US6560659B1 (en) * 1999-08-26 2003-05-06 Advanced Micro Devices, Inc. Unicode-based drivers, device configuration interface and methodology for configuring similar but potentially incompatible peripheral devices
JP2002157094A (ja) * 2000-11-20 2002-05-31 Canon Inc データ処理装置および印刷制御装置およびデータ処理装置のデータ処理方法および印刷制御装置のデータ処理方法および記憶媒体
US6973535B2 (en) * 2001-09-14 2005-12-06 Cornice, Inc. Digital device configuration and method
US7036007B2 (en) * 2002-09-09 2006-04-25 Intel Corporation Firmware architecture supporting safe updates and multiple processor types
JP2004110613A (ja) 2002-09-20 2004-04-08 Toshiba Corp 制御装置、制御プログラム、対象装置及び制御システム
JP2004259153A (ja) 2003-02-27 2004-09-16 Canon Inc 情報処理装置とその制御方法及び制御プログラム
JP2004310488A (ja) 2003-04-08 2004-11-04 Ricoh Co Ltd 印刷システム、サーバ、印刷装置、プログラムおよび記録媒体
US20040210683A1 (en) * 2003-04-21 2004-10-21 Connor Patrick L. Embedding driver patches
US20050068558A1 (en) * 2003-09-30 2005-03-31 Jianxin Wang Method and system to automatically update in real-time a printer driver configuration
JP4310172B2 (ja) * 2003-11-12 2009-08-05 キヤノン株式会社 情報処理装置、方法、システム、制御プログラム
JP2005173701A (ja) 2003-12-08 2005-06-30 Canon Inc 情報処理装置、情報処理方法及びそのプログラム
US20090024757A1 (en) * 2004-07-30 2009-01-22 Proctor David W Automatic Protocol Determination For Portable Devices Supporting Multiple Protocols
KR20060081504A (ko) * 2005-01-07 2006-07-13 삼성전자주식회사 인쇄제어장치 및 인쇄제어장치의 제어방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10015347B2 (en) 2015-05-29 2018-07-03 Canon Kabushiki Kaisha Information processing apparatus for acquiring and updating a retention storage for information stored in a processing apparatus, information processing method, and non-transitory storage medium

Also Published As

Publication number Publication date
US7962660B2 (en) 2011-06-14
US20110208879A1 (en) 2011-08-25
US20070299989A1 (en) 2007-12-27
JP2008009967A (ja) 2008-01-17
US8171180B2 (en) 2012-05-01

Similar Documents

Publication Publication Date Title
JP4874859B2 (ja) 情報処理装置、情報処理システム、プログラム及びその記録媒体
US9052850B2 (en) Printer driver, storage medium, and information processing apparatus
US7853946B2 (en) Information processing apparatus, information processing method, and control program
JP4969324B2 (ja) 情報処理装置、プログラム及びその記録媒体
EP2284696B1 (en) File printing by means of drag-and-drop
JP4784506B2 (ja) 画像履歴管理装置及びプログラム
US20070300216A1 (en) Information processing apparatus and recording medium containing program
JP5047067B2 (ja) 情報処理装置、データ出力システム、データ生成プログラム及びその記録媒体
US9317232B2 (en) Information processing apparatus, information processing method, and program
JP5581793B2 (ja) 情報処理装置、プログラムおよび記憶媒体
JP4981936B2 (ja) インストーラ及びプリンタドライバのインストール方法
JP2008305004A (ja) 画像形成装置、アプリケーション実行方法及びアプリケーション実行プログラム
JP5396847B2 (ja) 印刷装置及びその制御方法
JP4991820B2 (ja) 拡張可能な画像処理装置ドライバを備えたクライアント装置及びその実施方法
JP5013890B2 (ja) 画像形成装置と通信可能な情報処理装置
JP2006289690A (ja) 画像形成装置および画像形成システム
JP4425808B2 (ja) 印刷情報処理装置、印刷情報処理プログラム及び記録媒体
JP5353997B2 (ja) 情報処理装置、情報処理システム、プログラム及びその記録媒体
JP4903064B2 (ja) 印刷制御装置、印刷制御方法、及び印刷制御プログラム
JP2021068012A (ja) インストールプログラム、情報処理装置、および通信システム
JP4413761B2 (ja) 印刷制御装置、印刷システム、代行印刷先判定方法、代行印刷先判定プログラム及び記録媒体
JP2007188165A (ja) 拡張カード及びデバイス
JP2005352745A (ja) 印刷情報処理システム
JP2016021203A (ja) 情報処理システム、情報処理装置及びコンピュータープログラム
JP2007249701A (ja) スレーブ装置を制御するための情報処理装置及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090828

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110712

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110713

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110912

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111124

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141202

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4874859

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees