JP4207864B2 - 状態情報処理装置、および状態情報処理装置用データ処理プログラム - Google Patents

状態情報処理装置、および状態情報処理装置用データ処理プログラム Download PDF

Info

Publication number
JP4207864B2
JP4207864B2 JP2004233435A JP2004233435A JP4207864B2 JP 4207864 B2 JP4207864 B2 JP 4207864B2 JP 2004233435 A JP2004233435 A JP 2004233435A JP 2004233435 A JP2004233435 A JP 2004233435A JP 4207864 B2 JP4207864 B2 JP 4207864B2
Authority
JP
Japan
Prior art keywords
processing means
image forming
forming apparatus
secondary processing
printer
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
JP2004233435A
Other languages
English (en)
Other versions
JP2006053657A (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.)
Brother Industries Ltd
Original Assignee
Brother Industries 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 Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2004233435A priority Critical patent/JP4207864B2/ja
Priority to US11/199,302 priority patent/US8014014B2/en
Priority to CNB2005100926186A priority patent/CN100409167C/zh
Publication of JP2006053657A publication Critical patent/JP2006053657A/ja
Application granted granted Critical
Publication of JP4207864B2 publication Critical patent/JP4207864B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1207Improving or facilitating administration, e.g. print management resulting in the user being informed about print result after a job submission
    • 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
    • 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/1259Print job monitoring, e.g. job status
    • 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/1284Local printer device

Description

本発明は、画像形成装置からコンピュータへ伝送されてくる状態情報を入力して、出力先となる装置へと出力する状態情報処理装置、および状態情報処理装置用データ処理プログラムに関する。
従来、プリンタをコンピュータに接続して使用する場合に、コンピュータにステータスモニタと呼ばれるプログラムをインストールし、このステータスモニタによってプリンタの状態を監視することが行われている(例えば、特許文献1参照)。
このようなステータスモニタを利用すると、例えば、プリンタのカバーが開状態にあること、紙詰まりが発生したこと、用紙が無くなったこと等、プリンタの状態に関する情報(以下、状態情報という)を、コンピュータの画面上で確認できるので、コンピュータのオペレータは、プリンタの設置場所まで行かなくてもプリンタの状態を確認することができる。
特開2001−265546号公報
ところで、プリンタとの接続に利用されるプリンタポートには、例えば、パラレル(IEEE1284)、USB(Universal Serial Bus)、IEEE1394、IrDA(Infrared Data Association)など、様々な方式、規格があり、どのプリンタポートを利用するかは、プリンタの仕様によって決まっている。
また、プリンタからコンピュータへ伝送される状態情報には、プリンタの仕様によるデータ形式の違いがある。例えば、利用者がそのまま見るだけである程度内容を理解できるような文字列(テキストデータ)で状態情報を提供するプリンタもあれば、ビット列(バイナリデータ)で状態情報を提供するプリンタもある。
そのため、従来のステータスモニタは、監視対象となるプリンタの仕様に合わせて、特定のプリンタポートを介して特定データ形式で状態情報が伝送されてくることを前提として、データ処理を行うように構成されていた。
しかし、このようなステータスモニタでは、例えば、プリンタポートの種類がm種類、状態情報のデータ形式がn種類ある場合、最大でm×n種類ものステータスモニタが必要となる。また、例えば、既存のn種類のデータ形式とは異なるデータ形式を持つ状態情報が新たに追加された場合、プリンタポートの種類がm種類あると、状態情報のデータ形式そのものは1種類しか追加されていないにもかかわらず、最大でm種類のプリンタポートそれぞれに対応するm種類のステータスモニタを新たに用意しなければならない。そのため、ステータスモニタの開発・製造に、多大なコストや時間がかかるという問題があった。
また、何種類かのポートを単一のプログラムでカバーするポートモニターも存在するが、その場合においても、新規規格のポートを有する別のプリンタに接続する場合においては、そのポートに対応した別のポートモニターを新たに作成する必要があった。
さらに、ポートモニターの数が増えると、画面上にいくつものステータスモニター画面が表示されるという問題もある。
本発明は、上記問題を解決するためになされたものであり、その目的は、従来品よりも開発・製造にかかるコストや時間を抑制可能な状態情報処理装置を提供することにある。
以下、本発明において採用した特徴的構成について説明する。
本発明の状態情報処理装置は、画像形成装置からコンピュータへ伝送されてくる前記画像形成装置の状態を示す状態情報を、前記コンピュータに搭載されたOSまたは入出力ポートの仕様に応じた方式で入力して、前記OSおよび前記入出力ポートの仕様に依存しないデータとする一次処理手段と、前記一次処理手段によって前記OSおよび前記入出力ポートの仕様に依存しないデータとされた前記状態情報を、前記画像形成装置の仕様による違いがあるデータから、前記画像形成装置の仕様による違いがないデータに変換する二次処理手段と、前記二次処理手段によって前記画像形成装置の仕様による違いがないデータに変換された前記状態情報を、出力先となる装置へ出力する制御を行う出力制御手段とを、前記コンピュータに設けることによって構成される状態情報処理装置であって、前記一次処理手段は、前記OSまたは前記入出力ポートの仕様によって異なる複数の前記一次処理手段の中から、少なくとも1つが選択されて前記コンピュータに設けられる手段であり、且つ、前記二次処理手段は、前記画像形成装置の仕様によって異なる複数の前記二次処理手段の中から、少なくとも1つが選択されて前記コンピュータに設けられる手段であり、しかも、前記複数の一次処理手段それぞれが利用する前記二次処理手段とのインターフェイスには互換性があり、且つ、前記複数の二次処理手段それぞれが利用する前記一次処理手段とのインターフェイスには互換性があり、前記一次処理手段および前記二次処理手段をどのような組み合わせで前記コンピュータに設けても、前記一次処理手段および前記二次処理手段が連携可能となっていることを特徴とする。
この状態情報処理装置において、画像形成装置から伝送されてくる状態情報は、一次処理手段により処理される。ポートのアクセス手続きは、そのポートやOSによって異なる。以下にそのアクセス方法を列挙する。
(1) ポートのバスドライバーをアクセスする。
(2) ポートの機能ごとに設けられたクラスドライバーをアクセスする。
(3) OSの標準機能を用いてアクセスする。
(4) ポートの仮想デバイスをアクセスする。
また、例えば(2)のクラスドライバーをアクセスする方法であっても、OSの違いにより、そのクラスドライバーを特定する方法などが異なる場合もある。
このように、OS・ポートにより処理が異なる部分はこの一次処理手段によってなされる。換言すれば、一次処理手段を除く各構成要素は、すべてOS・ポートに非依存となるのである。この一次処理手段を経由することにより、OSおよび入出力ポートに非依存のデータとされる。
また、LPTポートでは、通常テキストデータなどのデータとしてのステータス情報のほかに、ポートの複数の信号線の電圧のHigh/Lowを示すステータス情報もあるが、他のポートにあっては、このようなものがないものもあり、またそのビット並びが異なることも考えられる。このような場合、そのステータス情報のないポートを処理する一次処理にあっては、差し障りの無いダミーのデータを付加する。またビット並びが異なる場合においては、一次処理手段において、そのビット並びを変更し、同一ビットが同じステータスを表すようにする。
こうして、OSおよび入出力ポートの仕様に依存しないデータとされた状態情報は、続いて、二次処理手段によって、画像形成装置の仕様による違いがあるデータから、画像形成装置の仕様による違いがないデータに変換される。
ここで、画像形成装置の仕様による違いがないデータとは、画像形成装置の仕様に起因するデータ構造やデータ内容の違いがないデータを意味する。具体例を挙げれば、例えば、ある画像形成装置からはテキストデータで状態情報が伝送され、別の画像形成装置からはバイナリデータで状態情報が伝送されてくる場合、これらは画像形成装置の仕様による違いがあるデータに該当するが、二次処理手段は、このような画像形成装置の仕様による違いがあるデータを、画像形成装置の仕様による違いがないデータにする。
画像形成装置の仕様による違いがないデータにするための具体的方法は任意であり、例えば、ある画像形成装置からはテキストデータで状態情報が伝送され、別の画像形成装置からはバイナリデータで状態情報が伝送されてくる場合、前者をバイナリデータ化して後者のデータ構造に統一してもよいし、後者をテキストデータ化して前者のデータ構造に統一してもよいし、あるいは、前者後者ともに、両者とは異なる第3のデータ構造に統一してもよい。
こうして、画像形成装置の仕様による違いがないデータに変換された状態情報は、出力制御手段によって、出力先となる装置へと出力される。出力先となる装置としては、代表的には、表示出力するための表示装置や、ファイル出力するための記憶装置などが挙げられるが、これら以外の出力装置であっても構わない。また、出力先となる装置が、特定の物理的な装置に固定されていなくてもよく、例えば、OSによって規定される標準出力を出力先としておけば、OS側での操作で標準出力に割り当てられる物理的な装置を任意に変更し、所期の物理的な装置(例えば、ディスプレイ、プリンタ、ストレージデバイスなど)を出力先とすることができる。
以上のような各手段をコンピュータに設けることにより、本発明の状態情報処理装置が構成されるが、特に、本発明において、一次処理手段は、OSまたは入出力ポートの仕様によって異なる複数の一次処理手段の中から、少なくとも1つが選択されてコンピュータに設けられる手段となっており、且つ、二次処理手段は、画像形成装置の仕様によって異なる複数の二次処理手段の中から、少なくとも1つが選択されてコンピュータに設けられる手段となっている。しかも、前記複数の一次処理手段それぞれが利用する二次処理手段とのインターフェイスには互換性があり、且つ、前記複数の二次処理手段それぞれが利用する一次処理手段とのインターフェイスには互換性があり、一次処理手段および二次処理手段をどのような組み合わせでコンピュータに設けても、一次処理手段および二次処理手段が連携可能となっている。
そのため、例えば、OSまたは入出力ポートの仕様にm種類の違いがあり、画像形成装置の仕様によって状態情報にn種類の違いがある場合に、m×n種類の状態情報処理装置をそれぞれ別々に構成しなくても、m種類の一次処理手段とn種類の二次処理手段を組み合わせて所期の状態情報処理装置を構成することができる。また、例えば、既存のn種類とは異なる画像形成装置の仕様が新たに追加された場合、それに対応する二次処理手段を追加するだけで、一次処理手段については既存のものをそのまま流用して、所期の状態情報処理装置を構成することができる。
したがって、本発明の状態情報処理装置によれば、従来技術として例示したステータスモニタに比べ、開発・製造にかかるコストや時間を抑制することができる。
ところで、本発明の状態情報処理装置において、前記一次処理手段は、少なくとも1つが前記コンピュータに既に設けられている状態において、さらに、別の1つを前記コンピュータに追加可能であり、且つ、前記二次処理手段も、少なくとも1つが前記コンピュータに既に設けられている状態において、さらに、別の1つを前記コンピュータに追加可能であり、既に設けられていた前記一次処理手段および追加された前記一次処理手段を含む複数の前記一次処理手段と、既に設けられていた前記二次処理手段および追加された前記二次処理手段を含む複数の前記二次処理手段とをどのように組み合わせても、前記一次処理手段および前記二次処理手段が連携可能となっていると好ましい。
このような状態情報処理装置であれば、一次処理手段および二次処理手段が、既に少なくとも1つは設けられているコンピュータにおいて、別の一次処理手段または二次処理手段を追加するだけで、所期の状態情報処理装置を構成することができる。
また、本発明の状態情報処理装置において、前記複数の二次処理手段それぞれが利用する前記出力制御手段とのインターフェイスには互換性があり、どの前記二次処理手段を前記コンピュータに設けても、前記二次処理手段および前記出力制御手段が連携可能となっていると好ましい。
このような状態情報処理装置であれば、複数ある二次処理手段のどれをコンピュータに設けた場合でも、同じ出力制御手段を利用して、所期の状態情報処理装置を構成することができる。したがって、複数ある二次処理手段それぞれに対応する出力制御手段を別々に用意する場合に比べ、出力制御手段の開発・製造にかかるコストや時間を抑制することができる。
また、本発明の状態情報処理装置は、1台目の前記画像形成装置に対応する前記一次処理手段、前記二次処理手段、および前記出力制御手段が稼働している状態において、さらに2台目以降の前記画像形成装置に対応する前記一次処理手段、前記二次処理手段、および前記出力制御手段を稼働させる際には、1台目の前記画像形成装置に対応する前記一次処理手段、および前記二次処理手段とは別に、2台目以降の前記画像形成装置に対応する前記一次処理手段、および前記二次処理手段が稼働するとともに、1台目の前記画像形成装置に対応する前記出力制御手段が、2台目以降の前記画像形成装置に対応する前記出力制御手段としても機能するように構成されていると好ましい。
このような状態情報処理装置によれば、単一の出力制御手段によって、複数組の一次処理手段および二次処理手段に対応した処理を実行することができるので、出力制御手段が複数存在する場合よりも構成が簡素化されるとともに、単一の出力制御手段が出力情報を一元管理して処理することができる。
また、本発明の状態情報処理装置は、前記状態情報の出力対象となる前記画像形成装置について、前記画像形成装置を識別するための名称と、前記画像形成装置に対応する前記二次処理手段との対応関係を記憶する対応関係記憶手段を備えていてもよく、この場合、前記対応関係記憶手段には、前記コンピュータからの制御対象となる前記画像形成装置を追加するために前記制御対象となる画像形成装置に対応した画像形成装置制御用プログラムを前記コンピュータにインストールする際に、前記制御対象となる画像形成装置について、前記名称と前記二次処理手段との対応関係が登録され、前記二次処理手段を稼働させる際には、前記対応関係記憶手段を参照して、前記状態情報の出力対象となる前記画像形成装置の名称に対応する前記二次処理手段を特定し、特定された前記二次処理手段を稼働させるように構成されていると好ましい。
この状態情報処理装置においては、コンピュータからの制御対象となる画像形成装置を追加するため、制御対象となる画像形成装置に対応した画像形成装置制御用プログラムをコンピュータにインストールする際に、制御対象となる画像形成装置について、画像形成装置を識別するための名称と二次処理手段との対応関係が対応関係記憶手段に登録される。したがって、画像形成装置制御用プログラムのインストールに伴って画像形成装置が利用可能となった後、二次処理手段を稼働させる際には、対応関係記憶手段を参照して、状態情報の出力対象となる画像形成装置の名称に対応する二次処理手段を特定することができ、特定された二次処理手段を稼働させることができる。
また、本発明の状態情報処理装置は、前記状態情報の出力対象とすべき前記画像形成装置が特定されたときに、まず、前記出力制御手段が稼働することにより、前記出力制御手段が実行する処理の中で、前記対応関係記憶手段を参照して、前記特定された画像形成装置に対応する前記二次処理手段を特定し、特定された前記二次処理手段を稼働させ、続いて、前記二次処理手段が稼働することにより、前記二次処理手段が実行する処理の中で、前記特定された画像形成装置が利用する入出力ポートを特定し、特定された入出力ポートに対応する前記一次処理手段を稼働させるように構成されていてもよい。
このような状態情報処理装置によれば、出力制御手段、二次処理手段、および一次処理手段が、この順序で順に稼働を開始するので、一次処理手段が稼働を開始する時点で、出力制御手段および二次処理手段を確実に稼働させておくことができる。
なお、コンピュータを、請求項1〜請求項6のいずれかに記載の状態情報処理装置が備える前記二次処理手段として機能させるためのプログラムであって、前記OSまたは前記入出力ポートの仕様によって異なる複数の前記一次処理手段の中から、少なくとも1つの前記一次処理手段を選択する選択手順と、前記画像形成装置から前記コンピュータへ伝送されて、前記選択手順において選択した前記一次処理手段によって前記OSおよび前記入出力ポートの仕様に依存しないデータとされた前記状態情報を、前記画像形成装置の仕様による違いがあるデータから、前記画像形成装置の仕様による違いがないデータに変換する二次処理手順とを備えた状態情報処理装置用データ処理プログラムがあれば、コンピュータを上述の二次処理手段として機能させることができる。
次に、本発明の実施形態について一例を挙げて説明する。
図1は、本発明を実施するための一形態として例示するシステムの全体構成を示す概略構成図である。
このシステムは、パーソナルコンピュータ10(以下、PC10という)、プリンタ20、複合機30、プリンタ40、プリンタ50、プリンタ60、プリンタ70などを備えてなる。これらのうち、PC10は、本発明の状態情報処理装置として機能する装置であり、プリンタ20、複合機30、プリンタ50、プリンタ60、プリンタ70は、本発明でいう画像形成装置として機能する装置である。なお、プリンタ40は、本発明の状態情報処理装置には該当しない手段により、状態情報に関する処理を受ける装置であるが、本システムには、このようなプリンタ40が混在していても構わない。
プリンタ20、プリンタ50、およびプリンタ70は、それぞれ専用のケーブルを介してPC10に直接接続されている。また、複合機30およびプリンタ60は、それぞれ専用のケーブルを介してUSBハブ81に接続され、このUSBハブ81経由でPC10に接続されている。また、プリンタ40は、LANケーブルを介してLAN83に接続され、LAN83経由でPC10に接続されている。さらに、プリンタ50は、専用のケーブルを介してIEEE1394ハブ85に接続され、このIEEE1394ハブ85経由でPC10に接続されている。
PC10は、CPU101、ROM103、RAM105、ハードディスク装置107(以下、HDD107という)、操作部109、表示部111などを備えている。CPU101は、ROM103およびRAM105に記憶されたプログラムに従って、PC10各部に対する制御および演算を実行する装置である。ROM103は、PC10の電源スイッチを切っても記憶内容を保持している記憶装置で、BIOS(Basic Input Output System)や基本的ないくつかの設定データを記憶している。RAM105は、HDD107から読み込まれるOSや各種アプリケーションプログラムを記憶可能な主記憶装置で、CPU101による演算に伴って発生する各種データもRAM105に記憶される。HDD107は、OS、各種アプリケーションプログラム、および各種データファイルを記憶する装置である。操作部109は、キーボードや各種ポインティングデバイス(例えば、マウス)等によって構成される。表示部111は、カラー画像を表示可能な液晶ディスプレイ等によって構成されている。
また、PC10は、他のデバイスと接続するためのインターフェース部として、パラレルインターフェース部122(以下、パラレルI/F122という)、USBインターフェース部123(以下、USB I/F123という)、LANインターフェース部124(以下、LAN I/F124という)、IEEE1394インターフェイス部125(以下、IEEE1394 I/F125という)、IrDAインターフェイス部127(以下、IrDA I/F127という)を備えている。パラレルI/F122は、IEEE1284規格準拠のインターフェースで、主にプリンタ接続用のインターフェースとして広く普及しているものである。USB I/F123は、USB規格準拠のシリアルインターフェイスで、USBハブ81を利用することで複数のデバイスが接続できるようになっている。なお、USB I/F123に接続可能なデバイスは数多くあり、プリンタの他に、キーボード、マウス、スキャナ、スピーカ、各種ストレージデバイスなどが接続される。LAN I/F124は、IEEE802.3/IEEE802.3u(10BASE-T/100BASE-TX)規格準拠のインターフェースである。IEEE1394 I/F125は、IEEE1394規格準拠のシリアルインターフェースで、IEEE1394ハブ85を利用することで複数のデバイスが接続できるようになっている。PC用の周辺機器の他、デジタルビデオカメラやビデオデッキなどの家電製品にも採用されているものである。IrDA I/F127は、IrDA規格に準拠したインターフェースで、赤外線を利用したデータ通信を行うことができる。
さらに、PC10には、OSとしてWindows(登録商標)が搭載され、キーボード入力、画面出力、各種I/Fへの通信指令といった入出力機能やハードディスクやメモリの管理など、アプリケーションから共通して利用される基本機能は、OSによって提供されている。
プリンタ20は、CPU201、ROM203、RAM205、ハードディスク装置207(以下、HDD207という)、操作キー209、表示パネル211、不揮発性RAM213、印字部215、およびパラレルI/F221などを備えている。CPU201は、ROM203に記憶されている制御プログラムに従ってプリンタ20各部の制御および各種演算を実行する。ROM203は、上記制御プログラムの他、各種データを記憶している。RAM205は、CPU201が処理中に算出する各種データを一時的に記憶する。HDD207は、更に印刷対象となる画像データなど、比較的サイズの大きいデータがPC10側から送信されてきた際に、そのデータを一時的に記憶する記憶手段で、このようなHDD207を設けることにより、印字部215での印刷に時間を要する場合でも、印刷完了を待つことなくPC10からのデータ受信を行うことができる。操作キー209は、プリンタ20に対して基本的な指令を与える際に操作されるものである。表示パネル211は、小型液晶ディスプレイによって構成され、プリンタ20の設定や状態などの情報を表示できるようになっている。不揮発性RAM213は、このプリンタ20に関する設定等、電力供給が断たれたときにも消失させたくないデータを記憶する手段である。印字部215は、媒体(例えば記録用紙)に対する印刷を実行する際に作動する部分である。パラレルI/F221は、IEEE1284規格準拠のインターフェイスで、このパラレルI/F221を利用することにより、PC10との間でデータ通信を実行できるようになっている。
複合機30は、プリンタ機能、イメージスキャナ機能、コピー機能、ファクシミリ機能、および電話機能を兼ね備えた装置である。この複合機30は、CPU301、ROM303、RAM305、ハードディスク装置307(以下、HDD307という)、操作キー309、表示パネル311、不揮発性RAM313、印字部315、読み取り部317、モデム319、およびUSB I/F321などを備えている。CPU301は、ROM303に記憶されている制御プログラムに従って複合機30各部の制御および各種演算を実行する。ROM303は、上記制御プログラムの他、各種データを記憶している。RAM305は、CPU301が処理中に算出する各種データを一時的に記憶する。HDD307は、ファクシミリ機能により送受信する画像、イメージスキャナ機能により読み取った画像、プリンタ機能により印刷する画像など、比較的サイズが大きい画像データを記憶する記憶手段である。操作キー309は、複合機30に対して基本的な指令を与える際に操作されるものである。表示パネル311は、小型液晶ディスプレイによって構成され、複合機30の設定や状態などの情報を表示できるようになっている。不揮発性RAM313は、この複合機30に関する設定等、電力供給が断たれたときにも消失させたくないデータを記憶する手段である。印字部315は、媒体(例えば記録用紙)に対する印刷を実行可能で、プリンタ機能による印刷データの印刷、ファクシミリ機能による受信画像の印刷、コピー機能によるコピー画像の印刷等を行う際に作動する部分である。読み取り部317は、自動原稿送り装置(図示略)にセットされた原稿またはフラットベッドのコンタクトガラス上に置かれた原稿から画像を読み取り可能で、イメージスキャナ機能による画像の読み取り、ファクシミリ機能による送信画像の読み取り等を行う際に作動する。モデム319は、複合機30側で作成されたデジタルデータを音声信号に変換して公衆回線側に送信したり、公衆回線側から受信した音声信号をデジタルデータに変換して複合機30側で処理できるようにするための装置で、ファクシミリ機能による画像の送受信、電話機能による通話を行う際に作動する。USB I/F321は、USB規格準拠のシリアルインターフェイスで、このUSB I/F321を利用することにより、USBハブ81経由でPC10との間でデータ通信を実行できるようになっている。
なお、プリンタ40〜70は、PC10との通信に用いる通信インターフェースの規格が相違するものの、基本的なハードウェアはプリンタ20とほぼ同様に構成されているので、図1に内部構成を図示するにとどめ、ここでの詳細な説明は省略する。
次に、PC10における状態情報処理に関連する処理系について、図2を参照しながら説明する。
PC10における状態情報処理に関連する処理系は、図2に示すように、UI(入力/表示)の層、構文解析層、ポートアクセスの層、クラスドライバー、物理層の各階層をなすソフトウェアコンポーネントおよびハードウェアによって構成されている。
PC10において、プリンタ20、複合機30、プリンタ40〜70のいずれかに対する印刷出力が行われる際には、プリンタドライバー131が印刷関連の処理を実行し、その処理の中で、ステータスモニターUI141がプリンタドライバー131とは別のプロセスとして起動される。
ステータスモニターUI141は、利用者から情報の入力を受け付ける処理や、状態情報を表示する処理を実行するコンポーネントで、その処理の中で、ステータスモニタPJLパーサ151、TCP/IP MIBパーサ/モニター153、独自規格1用リードバックパーサ155、独自規格2用リードバックパーサ157が、ステータスモニターUI141とは別のプロセスとして起動される(以下、これらステータスモニタPJLパーサ151、TCP/IP MIBパーサ/モニター153、独自規格1用リードバックパーサ155、独自規格2用リードバックパーサ157を総称して単にパーサともいう)。なお、これらステータスモニタPJLパーサ151、TCP/IP MIBパーサ/モニター153、独自規格1用リードバックパーサ155、独自規格2用リードバックパーサ157は、常にすべてが起動される訳ではなく、印刷出力が行われるプリンタに対応する1あるいは複数のパーサが起動されるようになっている。
ステータスモニタPJLパーサ151は、プリンタジョブ言語(PJL;Printer Job Language)に準拠した形式で出力される状態情報の構文解析を行って、その状態情報をステータスモニターUI141が参照可能なデータ形式に変換する。本実施形態においては、プリンタ20および複合機30が、PJLに対応した仕様となっている。なお、PJLは、プリンタが備える各種機能の制御を可能とするコマンド言語で、Hewlett-Packard社において開発され、その後他社でも採用された周知のものである。
TCP/IP MIBパーサ/モニター153は、簡易ネットワーク管理プロトコル(SNMP:Simple Network Management Protocol)によって取得した状態情報の構文解析を行って、その状態情報をステータスモニターUI141が参照可能なデータ形式に変換する。本実施形態においては、プリンタ40が、SNMPに対応した仕様となっている。
独自規格1用リードバックパーサ155は、独自規格1に準拠した形式で出力される状態情報の構文解析を行って、その状態情報をステータスモニターUI141が参照可能なデータ形式に変換する。本実施形態においては、プリンタ50およびプリンタ60が、独自規格1に対応した仕様となっている。
独自規格2用リードバックパーサ157は、独自規格2に準拠した形式で出力される状態情報の構文解析を行って、その状態情報をステータスモニターUI141が参照可能なデータ形式に変換する。本実施形態においては、プリンタ70が、独自規格2に対応した仕様となっている。
また、これら構文解析層に属するコンポーネントのうち、ステータスモニタPJLパーサ151、独自規格1用リードバックパーサ155、および独自規格2用リードバックパーサ157は、その処理の中で、USB/LPTローカルポートアービトレイター161、IEEE1394ポートアービトレイター163、IrDAポートアービトレイター165(以下、USB/LPTローカルポートアービトレイター161、IEEE1394ポートアービトレイター163、IrDAポートアービトレイター165を総称して単にアービトレイターともいう)のひとつを動的にリンクする。
USB/LPTローカルポートアービトレイター161、IEEE1394ポートアービトレイター163、IrDAポートアービトレイター165は、それぞれ同一ポートを利用する他のプロセスとの間で調停を行って、あるプロセスに渡るべきデータが他のプロセスに渡らないように制御する機能を有するコンポーネントである。また、これらUSB/LPTローカルポートアービトレイター161、IEEE1394ポートアービトレイター163、IrDAポートアービトレイター165は、各パーサから利用する場合のインターフェースに互換性がある構造になっており、各アービトレイターのどれを動的にリンクしても、パーサからは全く同一の処理手順で利用できるようになっている。これにより、OSが提供するクラスドライバー(LPTクラスドライバー171,USBプリンタクラスドライバー173、IEEE1394プリンタクラスドライバー175、IrDAプリンタクラスドライバー177)は、各ドライバー毎に仕様が異なり、また、OSのバージョンによっても仕様が異なる場合があるものの、パーサは、インターフェースに互換性のあるアービトレイターを介して各クラスドライバーを利用できるので、パーサがポートの仕様毎に異なるクラスドライバーを意識しなくても、クラスドライバー側からパーサ側へのデータ伝送ができる。
これらポートアービトレータの構成は、そのポートの種類、OSの種類によって変わる。例えば、OSがWindows98(登録商標)でポートがUSBの場合では、USBのプリンタクラスドライバーをアクセスする。また、OSがWindows2000(登録商標)でポートがパラレルの場合は、パラレルのバスドライバーにアクセスする。更に、OSがWindows2000(登録商標)でポートがUSBの場合は、ポート名とUSBのクラスドライバーのシンボリックリンク名との変換を行い、そのシンボリックリンク名を用いてクラスドライバーにアクセスする。
このように、ポートアービトレータは、OSやポートの仕様に依存する処理であるが、そのアクセス方法自体に関しては、OSあるいは使用するクラスドライバーの提供する標準的な方法であるので、これ以上の詳述は割愛する。
なお、これらのポートアービトレータは、更にプロセス間のポート排他の処理も行うが、この処理の詳細も、一般的なOSの排他処理関数を用いるものであるので、その詳述は割愛する。
また同時に、ここでデータ形式の変更も行われる。例えばパラレルポートの場合では、状態情報は、プリンタからデータとして返される文字列情報と、ポートの各信号線のHigh/Lowで規定されるポートステータス情報とがある。このポートステータス情報に関しては、他のポートでは対応しないものもある。この場合は、動作に差し障りないポートステータス情報(READYなど)を内部で擬似的に生成する。従って、上位側からみた場合、どのポートのポートアービトレータであっても、同じ接続インターフェースにてステータスをとることが可能である。
LPTクラスドライバー171、USBプリンタクラスドライバー173、IEEE1394プリンタクラスドライバー175、IrDAプリンタクラスドライバー177は、OSによって提供されるコンポーネントであり、PC10の起動時または各クラスドライバーに対応するデバイスの起動時に起動される。また、LPT物理層181、USB物理層183、IEEE1394物理層185、IrDA物理層187は、各プリンタポートを構成するハードウェアである。
以上説明した各構成のうち、USB/LPTローカルポートアービトレイター161、IEEE1394ポートアービトレイター163、IrDAポートアービトレイター165が、本発明でいう一次処理手段に相当する。また、ステータスモニタPJLパーサ151、独自規格1用リードバックパーサ155、独自規格2用リードバックパーサ157が、本発明でいう二次処理手段に相当する。さらに、ステータスモニターUI141が、本発明でいう出力制御手段に相当する。
上述の通り、パーサからアービトレイターを利用するためのインターフェースは、USB/LPTローカルポートアービトレイター161、IEEE1394ポートアービトレイター163、IrDAポートアービトレイター165すべてで互換性があり、これらのアービトレイターを利用するための処理手順は、ステータスモニタPJLパーサ151、独自規格1用リードバックパーサ155、独自規格2用リードバックパーサ157すべてで統一されているので、これらのパーサおよびアービトレイターは、どのパーサとどのアービトレイターを組み合わせても所期の処理を行うことができる。
図3は、PJL対応プリンタ(本実施形態においては、プリンタ20および複合機30)が出力する状態情報、独自規格1対応プリンタ(本実施形態においては、プリンタ50およびプリンタ60)が出力する状態情報、独自規格2対応プリンタ(本実施形態においては、プリンタ70)が出力する状態情報、パーサ(=ステータスモニタPJLパーサ151、独自規格1用リードバックパーサ155、独自規格2用リードバックパーサ157)が出力する状態情報の一部を例示する一覧表である。
図3に示すように、PJL、独自規格1、独自規格2では、それぞれ状態情報の形式が異なっているが、これらがパーサ(=ステータスモニタPJLパーサ151、独自規格1用リードバックパーサ155、独自規格2用リードバックパーサ157)によって変換されると、いずれも図3中の“パーサ出力”の欄に示したような、最大72バイトのバイナリデータに変換される。
したがって、ステータスモニターUI141では、プリンタ毎に異なる状態情報の仕様を意識しなくても、パーサ(=ステータスモニタPJLパーサ151、独自規格1用リードバックパーサ155、独自規格2用リードバックパーサ157)が出力する統一形式の状態情報に基づいて、状態情報を表示部111に表示出力する制御を行うことができる。
次に、本発明の状態情報処理装置を構成する各手段が実行する処理について、フローチャートに基づいてより具体的に説明する。
まず、状態情報を表示する処理に先立って行われるプリンタドライバーのインストール処理について、図4のフローチャートに基づいて説明する。このプリンタドライバーのインストール処理は、新たなプリンタ(画像形成装置)をPC10から利用できるようにしたい場合に実行される処理である。
プリンタドライバーインストール処理を開始すると、PC10は、まず、通常のプリンタドライバーインストール処理を実行する(S1010)。このS1010の処理では、例えば、プリンタドライバーのプログラムを格納したファイルのファイル名をOSの管理する記憶領域に登録する処理など、PCにプリンタを導入する際に一般的に行われている一連の処理が実行される。
そして、ステータスモニタ設定ファイルにプリンタ名とパーサ名を登録して(S1020)、本処理を終える。ステータスモニタ設定ファイルは、本発明でいう対応関係記憶手段に相当するもので、PC10が備えるHDD107に格納されているファイルである。このステータスモニタ設定ファイルには、PC10が状態情報処理装置として機能する際に必要となる各種情報が記録されるようになっており、このS1020の処理では、インストール中のプリンタドライバに対応するプリンタのプリンタ名と、そのプリンタに対応するパーサ名(=パーサプログラムが格納されたファイルのファイル名)とが、対にして記録される。この記録は、後述する処理の中で、プリンタ名に基づいて起動すべきパーサを特定する際に参照されることになる。
次に、プリンタドライバー131が実行する印刷処理について、図5のフローチャートに基づいて説明する。この印刷処理は、印刷機能を持ったアプリケーションプログラムに従ってPC10が各種処理を行う中で、プリンタドライバー131が起動されると実行される処理である。
この処理を開始すると、プリンタドライバー131は、まず、プリンタドライバー131に関する設定を行うか否かを判断する(S2010)。ここで、利用者が設定を行う旨の操作を行っている場合には(S2010:YES)、設定用のダイアログを表示して利用者の操作を受け付け、設定された内容を所定の記憶領域に保存する(S2020)。
また、利用者が設定を行う旨の操作を行っていない場合(S2010:NO)、もしくはS2020の処理を終えた場合は、引き続いて、印刷処理を行うか否かを判断する(S2030)。ここで、まだ印刷処理を行わない場合は(S2030:NO)、S2010の処理へと戻ることにより、S2010〜S2030の処理を繰り返し、プリンタに対する設定処理を継続する。
一方、S2030の処理で、印刷処理を行うと判断された場合は(S2030:YES)、引き続いて、ステータスモニターONの設定がなされているか否かを判断する(S2040)。ステータスモニターON/OFFの設定は、上記S2020の処理で行うことができ、ステータスモニターONの設定になっていたら(S2040:YES)、ステータスモニターUI141を、別のプロセスとして起動する(S2050)。
そして、ステータスモニターONの設定になっていなかった場合(S2040:NO)、もしくはS2050の処理を終えた場合には、引き続いて、通常の印刷処理を行い(S2060)、本処理を終える。なお、S2060の処理は、スプーラシステムからFIFOで送出される印刷データをプリンタ側へ伝送する処理や、同印刷データに対して二次的な加工を施す処理であるが、これらは周知の処理なので、ここでの詳細な説明は省略する。
次に、上記S2050の処理によって起動されるステータスモニターUI141の処理について、図6のフローチャートに基づいて説明する。
この処理を開始すると、ステータスモニターUI141は、まず、パーサ名の読み込みを行う(S3010)。この処理では、先に説明したS1020の処理において、ステータスモニタ設定ファイルに登録された情報(プリンタ名とパーサ名との対応関係)が参照され、このステータスモニターUI141が対象としているプリンタに対応するパーサ名が読み込まれる。
そして、S3010の処理で読み込んだパーサ名を使用して、パーサを別のプロセスとして起動する(S3020)。このとき、パーサには、プリンタ名をコマンドラインで渡す。
そして、別プロセスでステータスモニターUI141を既に起動済みかどうかを判断し(S3030)、起動済みでなければ(S3030:NO)、メッセージループ処理に移行する(S3040)。また、起動済みである場合(S3030:YES)、もしくはS3040の処理を終えた場合は、本処理を終了する。
S3040のメッセージループ処理は、詳しくは図7のフローチャートに示すような処理となる。このメッセージループ処理では、メッセージとして到来する指示の内容を判断して、その指示(メッセージ)に対応する処理を実行することが繰り返される。
具体的には、まず、メッセージによる指示が“初期化”かどうかを判断し(S4010)、“初期化”であれば(S4010:YES)、初期化処理を実行して、S4010の処理へと戻る。
また、メッセージによる指示が“初期化”でない場合(S4010:NO)、メッセージによる指示が“終了”かどうかを判断し(S4030)、“終了”であれば(S4030:YES)、他プロセスとの間の全通信を閉じて(S4040)、このメッセージループ処理を終える。
また、メッセージによる指示が“終了”でない場合(S4030:NO)、パーサからのメッセージかどうかを判断する(S4050)。パーサからのメッセージとは、上述したS3020の処理で起動したパーサのプロセスから到来するメッセージである。パーサが実行する処理の具体的な内容については、後から詳述するが、このメッセージループ処理では、パーサとの間でプロセス間通信を行いながら、各種処理を実行することになる。
S4050の処理において、パーサからのメッセージでない場合は(S4050:NO)、その他のメッセージに対する処理を実行した上で(S4060)、S4010の処理へと戻る。
一方、S4050の処理において、パーサからのメッセージであった場合は(S4050:YES)、そのメッセージによる指示が“インストール”かどうかを判断し(S4100)、“インストール”であれば(S4100:YES)、対象となるパーサとの通信を確立する(S4110)。対象となるパーサとの具体的な通信手順や通信方法については、プロセス間で相互にデータを送受信できるような仕組みになっていれば、特に限定されないが、本実施形態では、後述するパーサ処理において確保される共有メモリにアタッチして、共有メモリを介してプロセス間でデータのやり取りを行う方法を採用している。そして、表示バッファを確保して(S4120)、S4010の処理へと戻る。表示バッファは、PC10が備える表示部111に状態情報を表示出力するためのバッファである。
また、メッセージによる指示が“インストール”でない場合(S4100:NO)、メッセージによる指示が“ステータスアップデート”かどうかを判断し(S4200)、“ステータスアップデート”であれば(S4200:YES)、アタッチしている共有メモリから状態情報を読み出し、その状態情報を対象となる表示バッファに書き込むことにより更新する(S4210)。表示バッファは、上記S4120の処理によって確保されたメモリであるが、複数のパーサが起動されている場合には、S4120の処理が複数のパーサと同数回実行されて、複数の表示バッファが確保されているので、このS4210の処理では、メッセージに基づいて、どのパーサから到来したメッセージなのかを特定し、特定したパーサに対応する表示バッファを対象にして表示バッファを更新する。そして、表示バッファを更新したら、更新した状態情報をPC10が備える表示部111に実際に表示出力するため、表示部111の表示を更新するための制御を実行して(S4220)、S4010の処理へと戻る。
また、メッセージによる指示が“ステータスアップデート”でない場合(S4200:NO)、メッセージによる指示が“アンインストール”かどうかを判断し(S4300)、“アンインストール”であれば(S4300:YES)、対象パーサとの通信を閉じる(S4310)。具体的には、本実施形態では、上記S4110の処理でアタッチした共有メモリをデタッチするが、上記S4110の処理において共有メモリ以外の手段でプロセス間通信を実現した場合は、そのプロセス間通信のために確保したリソースを解放する処理等を行うことになる。そして、S4120の処理で確保した対象表示バッファを消去する(S4320)。なお、これらS4310およびS4320の処理でも、メッセージに基づいて、どのパーサから到来したメッセージなのかを特定し、特定したパーサとの通信を閉じるとともに、特定したパーサに対応する表示バッファを対象にして表示バッファを消去することになる。そして、監視対象となるパーサのプロセスが一つもない状態になったかどうかを判断し(S4330)、監視対象となるパーサのプロセスが残っていれば(S4430:NO)、S4010の処理へと戻る一方、監視対象となるパーサのプロセスが残っていなければ(S4430:YES)、このメッセージループ処理を終える。
ステータスモニターUI141が、以上説明したようなメッセージループ処理を実行するのと並行して、上記S3020の処理によって起動されたパーサ(ステータスモニタPJLパーサ151、独自規格1用リードバックパーサ155、および独自規格2用リードバックパーサ157)は、図8のフローチャートに示すようなパーサ処理を実行する。
このパーサ処理では、まず、ステータスモニターUIとの通信確立を行うための準備を行う(S5010)。具体的には、共有メモリとなるメモリ領域を確保する処理などが行われる。そして、パーサ起動時に引数として渡されたプリンタ名に基づいて、そのプリンタが使用するポート名を調査し(S5020)、ポート名に基づいて、利用するアービトレイターを選択する(S5030)。
本実施形態において、選択対象となるアービトレイターは、先に説明したUSB/LPTローカルポートアービトレイター161、IEEE1394ポートアービトレイター163、IrDAポートアービトレイター165のいずれかである。これらのアービトレイターとして機能を実現するためのプログラムは、いずれもダイナミック・リンク・ライブラリ(以下、DLLともいう)として提供され、パーサ処理を実行するプロセスが、S5030の処理で選択されたアービトレイターをメモリにロードし(S5040)、これにより、パーサは、処理対象としているプリンタが利用するポートに対応したアービトレイターを利用して、状態情報を取得することができるようになる。
パーサがアービトレイターを利用するためのインターフェースは、USB/LPTローカルポートアービトレイター161、IEEE1394ポートアービトレイター163、IrDAポートアービトレイター165のすべてで互換性がある呼び出し形式にされており、パーサは、USB/LPTローカルポートアービトレイター161、IEEE1394ポートアービトレイター163、IrDAポートアービトレイター165のいずれをリンクした場合でも、どれをリンクしたのかを意識することなく、同一の処理手順でアービトレイターを利用することができる。
以上の処理を終えたら、パーサは、ステータスモニターUI141のプロセスに対して、インストールメッセージを送信する(S5050)。このメッセージは、先に説明したステータスモニターUI141のメッセージループ処理において、S4100〜S4120の処理を実行する契機となるメッセージで、ステータスモニターUI141側の処理が完了した時点で、ステータスモニターUI141とパーサとの通信が確立することになる。
続いて、パーサは、状態情報送信要求をプリンタへ送信する(S5060)。具体的な送信方法は、送信対象となるプリンタの仕様やそのプリンタが使用するプリンタポートの仕様などを考慮して、問題なくプリンタへ状態情報送信要求をできる方法であれば任意であるが、本実施形態においては、PC10が備えるスプーラシステムを利用して、状態情報送信要求を一つの印刷ジョブとして処理することにより、状態情報送信要求をプリンタへと送信する。スプーラシステムはFIFOで印刷ジョブを処理するように構成されているので、スプーラシステム経由で状態情報送信要求をプリンタへと送信することにより、通常の印刷ジョブと状態情報送信要求が混在するかたちで同時にプリンタに送信されてしまうのを防止することができる。
続いて、パーサは、所定時間待機して(S5070)、終了条件を満足するか否かを判断する(S5080)。なお、S5070の処理は、後述するS5080〜S5130の処理が過剰な頻度で繰り返されないようにするための処理であり、本実施形態では1秒間待機するようにしてある。また、S5080の処理で終了条件を満足すると判断されるのは、通常、終了させるための操作がなされた時であるが、エラーその他の事情により、終了条件を満足することもある。
印刷出力中は、通常、終了条件を満足しないので(S5080:NO)、アービトレイターよりデータ(=状態情報)を受信する(S5090)。本実施形態において、S5090の処理で受信するデータは、パーサが受信バッファとなるメモリを確保し、その受信バッファのアドレスを引数としてアービトレイター側に渡し、アービトレイターが指定されたアドレスにデータを格納することにより、そのデータをパーサ側で受信している。
アービトレイターは、USB/LPTローカルポートアービトレイター161であれば、LPTクラスドライバー171またはUSBプリンタクラスドライバー173の仕様に応じた方式で、USB接続されたプリンタ20、複合機30、またはプリンタ60からの状態情報を入力し、その状態情報を受信バッファに格納する。また、IEEE1394ポートアービトレイター163であれば、IEEE1394プリンタクラスドライバー175の仕様に応じた方式で、プリンタ50からの状態情報を入力し、その状態情報を受信バッファに格納する。さらに、IrDAポートアービトレイター165であれば、IrDAプリンタクラスドライバー177の仕様に応じた方式で、プリンタ70からの状態情報を入力し、その状態情報を受信バッファに格納する。このように各アービトレイターは、各クラスドライバーの仕様に応じた方式で状態情報を入力するものの、入力した状態情報は、各クラスドライバーの仕様に依存しない形式で受信バッファに格納されるので、パーサは、プリンタポートの仕様を全く意識することなく、受信バッファに格納された状態情報を参照することができる。ただし、受信バッファに格納された状態情報は、図3に示した「PJL」、「独自規格1」、「独自規格2」の各欄に示したように、プリンタの仕様に依存したデータ形式になっている。
そこで、パーサは、受信バッファに格納された状態情報について、字句・構文の解析を行い(S5100)、前回受信した状態情報との比較において変化がなければ(S5110:NO)、S5070の処理へと戻ることにより、S5070〜S5130の処理を繰り返す。
一方、前回受信した状態情報から変化があれば(S5110:YES)、ステータスモニターUIとの通信バッファに状態情報を書き込む(S5120)。S5120の処理で状態情報を書き込む通信バッファは、上記S5010の処理で確保した共有メモリであり、この共有メモリに状態情報を書き込むことにより、ステータスモニターUI141側で最新の状態情報を参照できるようになる。S5120の処理で共有メモリに書き込まれる状態情報は、「PJL」、「独自規格1」、「独自規格2」とも、それぞれ専用の字句解析・構文解析が行われ、図3に示した「パーサ出力」の欄に示したような、統一したデータ形式に変換される。これにより、ステータスモニターUI141側では、「PJL」、「独自規格1」、「独自規格2」といったプリンタの仕様を全く意識することなく、共有メモリに格納された状態情報を参照することができる。
こうして、S5120の処理により、共有メモリに「パーサ出力」仕様で統一された状態情報を書き込んだら、パーサは、ステータスモニターUI141のプロセスに対して、ステータスアップデートメッセージを送信する(S5130)。このメッセージは、先に説明したステータスモニターUI141のメッセージループ処理において、S4200〜S4220の処理を実行する契機となるメッセージである。そして、S5130の処理を終えたら、S5070の処理へと戻ることにより、S5070〜S5130の処理を繰り返す。
この繰り返し処理の中で、操作者の操作により、S5080の処理における終了条件を満足したら(S5080:YES)、アンインストールメッセージを送信する(S5140)。このメッセージは、先に説明したステータスモニターUI141のメッセージループ処理において、S4300〜S4330の処理を実行する契機となるメッセージである。そして、ステータスモニターUIとの通信の後処理を行い(S5150)、本処理を終了する。S5150の処理では、S5010の処理で準備された共有メモリを解放する処理などが行われる。
ところで、以上説明した処理のうち、プリンタドライバー131が実行する印刷処理(図5参照)は、プリンタ20、複合機30、プリンタ50、プリンタ60、プリンタ70のいずれかに対する印刷出力が行われる毎に実行されるので、この処理が並行して複数実行されることがある。そして、それら複数の印刷処理それぞれの中で、S2050の処理が実行されるので、複数のステータスモニターUI141が起動され、複数のステータスモニターUI処理(図6、図7参照)が並行して複数実行されることがある。さらに、複数のステータスモニターUI処理それぞれの中で、S3020の処理が実行されるので、複数のパーサ(ステータスモニタPJLパーサ151、TCP/IP MIBパーサ/モニター153、独自規格1用リードバックパーサ155、独自規格2用リードバックパーサ157)が起動され、複数のパーサ処理(図8参照)が並行して複数実行されることがある。
ただし、ステータスモニターUI141については、複数が起動されたとしても、S3020の処理によってパーサを起動した後、S3030の処理を実行することにより、1番最初に起動されたステータスモニターUI141だけが、S3040のメッセージループ処理を実行し、2番目以降に起動されたステータスモニターUI141は、メッセージループ処理を実行することなく処理を終え、そのプロセスは終了する。そして、複数のステータスモニターUI141それぞれが起動した複数のパーサは、1番最初に起動されたステータスモニターUI141との間でプロセス間通信を行い、各パーサが出力する状態情報は、単一のステータスモニターUIによって受け取られる。
つまり、印刷処理の開始順で1台目のプリンタ(画像形成装置)に対応するアービトレイター(一次処理手段)、パーサ(二次処理手段)、およびステータスモニターUI141(出力制御手段)が稼働している状態において、さらに2台目以降のプリンタに対応するアービトレイター、パーサ、およびステータスモニターUI141を稼働させる際には、1台目のプリンタに対応するアービトレイター、およびパーサとは別に、2台目以降のプリンタに対応するアービトレイター、およびパーサが稼働するとともに、1台目のプリンタに対応するステータスモニターUI141が、2台目以降のプリンタに対応するステータスモニターUI141としても機能するように構成されているのである。
したがって、単一のステータスモニターUI141によって、複数組のアービトレイター、およびパーサに対応した処理を実行することができるので、ステータスモニターUI141が複数存在する場合よりも、リソースの消費を抑制可能な簡素な構成にすることができ、単一のステータスモニターUI141が出力情報を一元管理して、複数のステータスモニターUI141がバラバラに情報出力を行う場合よりも、状態情報を利用者がより見やすいかたちにまとめて提供するなど、より優れた情報提供ができるようになる。
以上説明した通り、上記PC10によって構成される状態情報処理装置によれば、アービトレイター(一次処理手段)は、OSまたはプリンタポート(入出力ポート)の仕様によって異なる複数のアービトレイターの中から、少なくとも1つが選択されてPC10に設けられる手段となっており、且つ、パーサ(二次処理手段)は、プリンタ(画像形成装置)の仕様によって異なる複数のパーサの中から、少なくとも1つが選択されてPC10に設けられる手段となっている。しかも、複数のアービトレイターそれぞれが利用するパーサとのインターフェイス(パーサから指定された受信バッファへ状態情報を格納する仕様等)には互換性があり、且つ、複数のパーサそれぞれが利用するアービトレイターとのインターフェイス(受信バッファのアドレスをアービトレイターに伝達する仕様等)には互換性があり、アービトレイターおよびパーサをどのような組み合わせでコンピュータに設けても、アービトレイターおよびパーサが連携可能となっている。
そのため、例えば、上記実施形態の場合、OSまたはプリンタポートの仕様の違いにより、3種のアービトレイターが用意され、プリンタの仕様の違いにより、3種のパーサが用意されているものの、これら6種の手段を組み合わせるだけで、3種×3種=9種の組み合わせに対応でき、従来品のように9種の手段をそれぞれ用意するのに比べ、開発・製造にかかるコストや時間を抑制することができる。
なお、TCP/IP MIBパーサ/モニター153は、TCP/IP191経由で状態情報を取得するように構成されているものの、本発明でいう一次処理手段に相当する部分と二次処理手段に相当する部分が明確に区分されていないので、本発明の状態情報処理装置を構成可能なコンポーネントには相当しない。ただし、ステータスモニタPJLパーサ151、TCP/IP MIBパーサ/モニター153、独自規格1用リードバックパーサ155、独自規格2用リードバックパーサ157は、すべて、ステータスモニターUI141との間のインターフェースに互換性がある。つまり、本発明でいう出力制御手段に相当するステータスモニターUI141は、本発明でいう一次処理手段ないし二次処理手段には相当しないTCP/IP MIBパーサ/モニター153とも連携可能であり、ステータスモニターUI141と連携するすべてのモジュールが、全て本発明の構成となっている必要はないのである。このようなモジュール構成にすれば、従来品が、一次処理手段に相当する部分と二次処理手段に相当する部分が明確に区分されていないモジュールを採用している場合に、そのような従来品と共存できるので、従来タイプからの移行も容易である。
以上、本発明の実施形態について説明したが、本発明は上記の具体的な一実施形態に限定されず、この他にも種々の形態で実施することができる。
例えば、上記実施形態では、パーサ内においてポートアービトレータを選択する方法として、利用するポート名に基づいて、そのポート名に対応するアービトレイターを選択する旨を説明したが、どのポート名にどのアービトレイターが対応しているのかを示す情報については、パーサが内部データとして記憶していてもよいし、パーサとは別の設定ファイルを用意しておいて、その設定ファイルをパーサが参照することにより、ポート名とアービトレイターとの対応関係を取得するように構成してあってもよい。
より具体的には、例えば、下記のように「ポート名=対応アービトレータ」というかたちで、両者の対応関係を記述した書き換え可能な設定ファイルを用意する。
LPT1: = portArbitorator1.exe
LPT2: = portArbitorator1.exe
LPT3: = portArbitorator1.exe
USB001 = portArbitorator2.exe
USB002 = portArbitorator2.exe
IRDA1 = portArbitorator3.exe
そして、パーサは、この設定ファイルを参照して対応するアービトレータを読み出し、そのアービトレータを使用する。
このようにすれば、新たに新規ポートに対応する場合に、その新しいポートに対応するアービトレータを用意するとともに、この設定ファイルを変更することで、パーサ自体を書き換えることなく、新規ポートに対応することができる。
またポートアービトレータは、単一OS,単一ポート種ごとに作成する必要はない。例えば、別ポートであっても内部処理が近ければ、単一のポートアービトレータにて処理することも可能である。またOSが違っても同じ処理でできるポートは、OS間で共通に使ってもよい。
例えば、上記実施形態では、ステータスモニターUI141が、状態情報をPC10の表示部111に表示する例を示したが、具体的な出力先は任意であり、例えば、状態情報をログとしてファイルに出力するようにしてもよいし、ログ出力専用のプリンタを用意して印刷出力するようにしてもよい。また、表示出力する場合でも、一旦ファイルに出力し、そのファイルを汎用の表示プログラムを利用して表示するようにしてあってもよい。
また、上記実施形態では、特定のプリンタポートの仕様や特定のプリンタの仕様を例示したが、プリンタポートの仕様やプリンタの仕様については特に限定されない。
また、上記実施形態では、ステータスモニターUI141とパーサとの間でプロセス間通信を行う手段として、メッセージや共有メモリなどの具体例を挙げたが、これらプロセス間通信を行う手段は任意であり、例えば、ミューテックス、セマフォなど、どのような通信手段を利用しても構わない。
また、上記実施形態では、パーサとアービトレイターとを連携させるため、アービトレイターをダイナミック・リンク・ライブラリとして用意し、パーサが必要なアービトレイターを動的にリンクするように構成してあったが、パーサが必要なアービトレイターを別プロセスとして起動するように構成してもよく、この場合、ステータスモニターUI141とパーサとの連携方法と同様、パーサとアービトレイターとがプロセス間通信を行って、相互に必要な情報を伝送するように構成してあればよい。
さらに、上記実施形態では、ステータスモニターUI141をプリンタドライバー131が起動するように構成してあったが、ステータスモニターUI141は、他の方法で起動されるようになっていてもよく、例えば、ポートモニターがステータスモニターUI141を起動するように構成されていてもよいし、あるいは、利用者がマニュアル操作でステータスモニターUI141を起動できるように構成されていてもよい。
本発明の実施形態として説明した状態情報処理装置と画像形成装置を含むネットワークシステムの構成図。 状態情報処理装置が備える状態情報の処理系の階層図。 プリンタの仕様毎に異なる状態情報とパーサが出力する統一された状態情報を示す一覧表。 プリンタドライバーインストール処理のフローチャート。 プリンタドライバーによる印刷処理のフローチャート。 ステータスモニターUI処理のフローチャート。 ステータスモニターUIによるメッセージループ処理のフローチャート。 パーサ処理のフローチャート。
符号の説明
10・・・パーソナルコンピュータ、20,40,50,60,70・・・プリンタ、30・・・複合機、81・・・USBハブ、83・・・LAN、85・・・IEEE1394ハブ、101,201,301,401,501,701・・・CPU、103,203,303,403,503,703・・・ROM、105,205,305,405,505,705・・・RAM、107,207,307,407,507,707・・・ハードディスク装置、109・・・操作部、111・・・表示部、122,221・・・パラレルインターフェース部、123,321・・・USBインターフェース部、124,421・・・LANインターフェース部、125,521・・・IEEE1394インターフェイス部、127,721・・・IrDAインターフェイス部、131・・・プリンタドライバー、141・・・ステータスモニターUI、151・・・ステータスモニタPJLパーサ、153・・・TCP/IP MIBパーサ/モニター、155・・・独自規格1用リードバックパーサ、157・・・独自規格2用リードバックパーサ、161・・・USB/LPTローカルポートアービトレイター、163・・・IEEE1394ポートアービトレイター、165・・・IrDAポートアービトレイター、171・・・LPTクラスドライバー、173・・・USBプリンタクラスドライバー、175・・・IEEE1394プリンタクラスドライバー、177・・・IrDAプリンタクラスドライバー、181・・・LPT物理層、183・・・USB物理層、185・・・IEEE1394物理層、187・・・IrDA物理層、209,309,409,509,709・・・操作キー、211,311,411,511,711・・・表示パネル、213,313,413,513,713・・・不揮発性RAM、215,315,415,515,715・・・印字部、317・・・読み取り部、319・・・モデム。

Claims (7)

  1. 画像形成装置からコンピュータへ伝送されてくる前記画像形成装置の状態を示す状態情報を、前記コンピュータに搭載されたOSまたは入出力ポートの仕様に応じた方式で入力して、前記OSおよび前記入出力ポートの仕様に依存しないデータとする一次処理手段と、
    前記一次処理手段によって前記OSおよび前記入出力ポートの仕様に依存しないデータとされた前記状態情報を、前記画像形成装置の仕様による違いがあるデータから、前記画像形成装置の仕様による違いがないデータに変換する二次処理手段と、
    前記二次処理手段によって前記画像形成装置の仕様による違いがないデータに変換された前記状態情報を、出力先となる装置へ出力する制御を行う出力制御手段とを、
    前記コンピュータに設けることによって構成される状態情報処理装置であって、
    前記一次処理手段は、前記OSまたは前記入出力ポートの仕様によって異なる複数の前記一次処理手段の中から、少なくとも1つが選択されて前記コンピュータに設けられる手段であり、且つ、前記二次処理手段は、前記画像形成装置の仕様によって異なる複数の前記二次処理手段の中から、少なくとも1つが選択されて前記コンピュータに設けられる手段であり、
    しかも、前記複数の一次処理手段それぞれが利用する前記二次処理手段とのインターフェイスには互換性があり、且つ、前記複数の二次処理手段それぞれが利用する前記一次処理手段とのインターフェイスには互換性があり、前記一次処理手段および前記二次処理手段をどのような組み合わせで前記コンピュータに設けても、前記一次処理手段および前記二次処理手段が連携可能となっている
    ことを特徴とする状態情報処理装置。
  2. 前記一次処理手段は、少なくとも1つが前記コンピュータに既に設けられている状態において、さらに、別の1つを前記コンピュータに追加可能であり、且つ、前記二次処理手段も、少なくとも1つが前記コンピュータに既に設けられている状態において、さらに、別の1つを前記コンピュータに追加可能であり、
    既に設けられていた前記一次処理手段および追加された前記一次処理手段を含む複数の前記一次処理手段と、既に設けられていた前記二次処理手段および追加された前記二次処理手段を含む複数の前記二次処理手段とをどのように組み合わせても、前記一次処理手段および前記二次処理手段が連携可能となっている
    ことを特徴とする請求項1に記載の状態情報処理装置。
  3. 前記複数の二次処理手段それぞれが利用する前記出力制御手段とのインターフェイスには互換性があり、どの前記二次処理手段を前記コンピュータに設けても、前記二次処理手段および前記出力制御手段が連携可能となっている
    ことを特徴とする請求項1または請求項2に記載の状態情報処理装置。
  4. 1台目の前記画像形成装置に対応する前記一次処理手段、前記二次処理手段、および前記出力制御手段が稼働している状態において、さらに2台目以降の前記画像形成装置に対応する前記一次処理手段、前記二次処理手段、および前記出力制御手段を稼働させる際には、1台目の前記画像形成装置に対応する前記一次処理手段、および前記二次処理手段とは別に、2台目以降の前記画像形成装置に対応する前記一次処理手段、および前記二次処理手段が稼働するとともに、1台目の前記画像形成装置に対応する前記出力制御手段が、2台目以降の前記画像形成装置に対応する前記出力制御手段としても機能するように構成されている
    ことを特徴とする請求項1〜請求項3のいずれかに記載の状態情報処理装置。
  5. 前記状態情報の出力対象となる前記画像形成装置について、前記画像形成装置を識別するための名称と、前記画像形成装置に対応する前記二次処理手段との対応関係を記憶する対応関係記憶手段を備えており、
    前記対応関係記憶手段には、前記コンピュータからの制御対象となる前記画像形成装置を追加するために前記制御対象となる画像形成装置に対応した画像形成装置制御用プログラムを前記コンピュータにインストールする際に、前記制御対象となる画像形成装置について、前記名称と前記二次処理手段との対応関係が登録され、
    前記二次処理手段を稼働させる際には、前記対応関係記憶手段を参照して、前記状態情報の出力対象となる前記画像形成装置の名称に対応する前記二次処理手段を特定し、特定された前記二次処理手段を稼働させる
    ことを特徴とする請求項1〜請求項4のいずれかに記載の状態情報処理装置。
  6. 前記状態情報の出力対象とすべき前記画像形成装置が特定されたときに、まず、前記出力制御手段が稼働することにより、前記出力制御手段が実行する処理の中で、前記対応関係記憶手段を参照して、前記特定された画像形成装置に対応する前記二次処理手段を特定し、特定された前記二次処理手段を稼働させ、
    続いて、前記二次処理手段が稼働することにより、前記二次処理手段が実行する処理の中で、前記特定された画像形成装置が利用する入出力ポートを特定し、特定された入出力ポートに対応する前記一次処理手段を稼働させる
    ことを特徴とする請求項5に記載の状態情報処理装置。
  7. コンピュータを、請求項1〜請求項6のいずれかに記載の状態情報処理装置が備える前記二次処理手段として機能させるためのプログラムであって、
    前記OSまたは前記入出力ポートの仕様によって異なる複数の前記一次処理手段の中から、少なくとも1つの前記一次処理手段を選択する選択手順と、
    前記画像形成装置から前記コンピュータへ伝送されて、前記選択手順において選択した前記一次処理手段によって前記OSおよび前記入出力ポートの仕様に依存しないデータとされた前記状態情報を、前記画像形成装置の仕様による違いがあるデータから、前記画像形成装置の仕様による違いがないデータに変換する二次処理手順と
    を備えたことを特徴とする状態情報処理装置用データ処理プログラム。
JP2004233435A 2004-08-10 2004-08-10 状態情報処理装置、および状態情報処理装置用データ処理プログラム Expired - Fee Related JP4207864B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2004233435A JP4207864B2 (ja) 2004-08-10 2004-08-10 状態情報処理装置、および状態情報処理装置用データ処理プログラム
US11/199,302 US8014014B2 (en) 2004-08-10 2005-08-09 Status information processor
CNB2005100926186A CN100409167C (zh) 2004-08-10 2005-08-10 状态信息处理器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004233435A JP4207864B2 (ja) 2004-08-10 2004-08-10 状態情報処理装置、および状態情報処理装置用データ処理プログラム

Publications (2)

Publication Number Publication Date
JP2006053657A JP2006053657A (ja) 2006-02-23
JP4207864B2 true JP4207864B2 (ja) 2009-01-14

Family

ID=35799664

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004233435A Expired - Fee Related JP4207864B2 (ja) 2004-08-10 2004-08-10 状態情報処理装置、および状態情報処理装置用データ処理プログラム

Country Status (3)

Country Link
US (1) US8014014B2 (ja)
JP (1) JP4207864B2 (ja)
CN (1) CN100409167C (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4738948B2 (ja) * 2005-09-13 2011-08-03 キヤノン株式会社 情報処理装置、画像処理方法、及びコンピュータプログラム
JP2007156512A (ja) * 2005-11-30 2007-06-21 Brother Ind Ltd 状態情報取得処理プログラム、状態情報取得装置、および状態情報取得システム
CN102541477B (zh) * 2010-12-16 2014-12-24 山东新北洋信息技术股份有限公司 一种打印数据处理设备、数据打印方法和系统
JP5787606B2 (ja) * 2011-05-02 2015-09-30 キヤノン株式会社 情報処理装置、情報処理方法、及びプログラム
JP6155607B2 (ja) * 2012-11-19 2017-07-05 ブラザー工業株式会社 通信中継プログラム、及び、通信中継装置
JP6458652B2 (ja) * 2015-06-09 2019-01-30 スター精密株式会社 ネットワークプリントシステム、ホスト端末およびネットワークプリンタ
US9992236B2 (en) * 2015-06-22 2018-06-05 Dell Products L.P. Systems and methods for providing protocol independent disjoint port names

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6014511A (en) * 1997-08-29 2000-01-11 Intel Corporation O/S abstraction architecture for HID PC applications
JP4463889B2 (ja) 1998-09-30 2010-05-19 キヤノン株式会社 プリントサーバ及び印刷システムとそのクライアント及びその印刷制御方法
JP3780726B2 (ja) * 1999-02-17 2006-05-31 ブラザー工業株式会社 画像処理システム及び記録媒体
WO2001061692A1 (en) * 2000-02-21 2001-08-23 Trek 2000 International Ltd A portable data storage device
JP2001265546A (ja) 2000-03-22 2001-09-28 Brother Ind Ltd プリンタ制御装置及びプリンタ制御方法
US7106465B1 (en) * 2000-11-01 2006-09-12 Hewlett-Packard Development Company, L.P. Method and apparatus for providing print job status
JP2002337366A (ja) 2001-05-18 2002-11-27 Canon Inc 画像記録装置、情報処理装置、画像記録システムおよびそれらの制御方法
KR100534106B1 (ko) * 2001-08-22 2005-12-08 삼성전자주식회사 컴퓨터 및 컴퓨터의 외부기기 동작 상태 표시 방법
US7259881B2 (en) * 2001-10-03 2007-08-21 Kabushiki Kaisha Toshiba Method of monitoring multiple controller families
JP3774658B2 (ja) * 2001-11-30 2006-05-17 キヤノン株式会社 印刷制御装置及び印刷制御システム及び印刷制御方法
JP2003256157A (ja) * 2002-03-05 2003-09-10 Seiko Epson Corp ターミナルサービスにおけるプリンタステータスモニタ方法及びプリンタステータスモニタプログラム
JP2003337665A (ja) * 2002-05-20 2003-11-28 Fujitsu Ltd 情報システム、印刷方法、およびプログラム
US20030231328A1 (en) * 2002-06-07 2003-12-18 Xerox Corporation Multiple printer driver
JP2004090443A (ja) * 2002-08-30 2004-03-25 Seiko Epson Corp プリンタ、プリンタにおけるステータス情報の出力方法、その方法を実行するためのプログラム、そのプログラムを記録したコンピュータ読取り可能な記録媒体、および、プリンタシステム
US7233404B2 (en) * 2002-10-29 2007-06-19 International Business Machines Corporation System for processing print jobs
US7024434B2 (en) * 2002-11-01 2006-04-04 Microsoft Corporation Method and system for modifying schema definitions

Also Published As

Publication number Publication date
US20060033944A1 (en) 2006-02-16
JP2006053657A (ja) 2006-02-23
CN100409167C (zh) 2008-08-06
US8014014B2 (en) 2011-09-06
CN1734412A (zh) 2006-02-15

Similar Documents

Publication Publication Date Title
US8867077B2 (en) Information processing apparatus, system
JP5287041B2 (ja) データ処理システム、コンピュータ読取可能なデータ記憶媒体及び方法
KR100815728B1 (ko) 화상 처리 장치, 화상 처리 방법, 및 기억 매체
JP5919930B2 (ja) プログラム、情報処理装置、記憶媒体
JP2009059364A (ja) データ処理システム、コンピュータ読取可能なデータ記憶媒体及び方法
US20110128572A1 (en) Printing apparatus, printing method and storage medium
US8405841B2 (en) Data processing apparatus having a printer driver for changing an output destination
CN107256134B (zh) 将pos终端虚拟为计算机打印机的方法和装置、pos终端
JP5482407B2 (ja) 情報処理装置、画像処理装置、画像処理システム、画面カスタマイズ方法、画面カスタマイズプログラム、及びそのプログラムを記録した記録媒体
JP2009093439A (ja) 情報処理装置とその制御方法
US8014014B2 (en) Status information processor
JP5361358B2 (ja) 情報処理装置およびその制御方法、並びにプログラム
JP6840986B2 (ja) 印刷管理装置及びプログラム
US8922823B2 (en) Information processing apparatus and storage medium with the function of adding a cover letter to a print job
JP2007323162A (ja) クライアント装置及びサーバ装置及びプログラム
JP4521299B2 (ja) 情報処理装置、情報処理プログラム、およびコンピュータ読み取り可能な記憶媒体
JP2012155401A (ja) 印刷システム、印刷装置、印刷システムの制御方法、印刷装置の制御方法、プログラム
WO2001040927A1 (fr) Support de programme d'impression d'information d'etat, imprimante, controleur d'imprimante, procede et systeme d'impression d'information d'etat
JP7249161B2 (ja) プログラム、情報処理装置、及び制御方法
CN101226466A (zh) 主机设备及其打印机驱动程序的安装方法
US8675223B2 (en) Image forming device, image forming system and computer readable medium for installing related software to another device
JP5034802B2 (ja) プリンタ
WO2023181988A1 (ja) サポートプログラム
US20240036775A1 (en) Information processing apparatus and storage medium
JP2010231621A (ja) 印刷制御プログラム,印刷データ出力装置,および印刷システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051122

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080807

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 4207864

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20111031

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20111031

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20121031

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20131031

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees