JP4795151B2 - 情報処理方法、情報処理装置、プログラム及び記憶媒体 - Google Patents

情報処理方法、情報処理装置、プログラム及び記憶媒体 Download PDF

Info

Publication number
JP4795151B2
JP4795151B2 JP2006194350A JP2006194350A JP4795151B2 JP 4795151 B2 JP4795151 B2 JP 4795151B2 JP 2006194350 A JP2006194350 A JP 2006194350A JP 2006194350 A JP2006194350 A JP 2006194350A JP 4795151 B2 JP4795151 B2 JP 4795151B2
Authority
JP
Japan
Prior art keywords
information
printer
acquisition
schema
acquired
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
JP2006194350A
Other languages
English (en)
Other versions
JP2007073037A (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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2006194350A priority Critical patent/JP4795151B2/ja
Priority to US11/460,096 priority patent/US8514427B2/en
Priority to EP06254105A priority patent/EP1755031A3/en
Priority to RU2006129227/09A priority patent/RU2346320C2/ru
Priority to CN200610109776.2A priority patent/CN1912823B/zh
Publication of JP2007073037A publication Critical patent/JP2007073037A/ja
Application granted granted Critical
Publication of JP4795151B2 publication Critical patent/JP4795151B2/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/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1218Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources
    • G06F3/1219Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources with regard to consumables, e.g. ink, toner, paper
    • 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/1218Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources
    • G06F3/122Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources with regard to computing resources, e.g. memory, CPU
    • 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/1229Printer resources management or printer maintenance, e.g. device status, power levels
    • 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/126Job scheduling, e.g. queuing, determine appropriate device
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Computer And Data Communications (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Description

本発明は、周辺機器からの情報の取得技術に関する。
近年、オフィス、家庭、公共施設をなど様々な場面で、印刷装置、スキャナなどの各種周辺機器が利用されている。その周辺装置の代表的なものとして印刷装置が挙げられる。また、これら周辺機器を利用するユーザを支援する様々なユーティリティが開発され、実際に利用されている。
例えば、インクジェットプリンタにおけるユーティリティとして、印刷装置本体に装着されているインクカートリッジに係わる情報や、印刷装置に投入された印刷ジョブの状況など、をクライアントコンピュータで閲覧できるユーティリティが知られている。
一方、これら周辺機器の各種情報取得に係わる良く知られた技術として、例えば、Management Information BaseのRFC 1213で規定されているMIBが挙げられる。特許文献1には、このMIBを用いた印刷装置の情報取得技術が開示されている。
また、別の良く知られた各種情報取得技術として、例えば、Microsoft Developer Network(MSDN)のインターネットサイトで公開されているBidi Communications Schemaなども挙げることができる。なお、以下ではBidi Communications Schemaの記載をBCSと略する場合もある。なお、上記インターネットサイトのアドレスは、「http://msdn.microsoft.com/library/default.asp」となっている。尚、以下の説明においては、このBidi Communications Schemaのことをバイダイスキーマと呼ぶこともある。
図31はスキーマを使ってインクの情報及び状態、動作状態、ハードウェアの情報、給紙手段の情報、排紙手段の情報を列挙(Enumeration)する時のスキーマ及び値を表す従来例の図である。
同図において、ユーティリティ30からスキーマを指定してIBidiSpl::SendRecv()関数をコールする。指定するスキーマには、「¥Printer.InkInfo」、「¥Printer.StatusInfo」、「¥Printer.HardwareInfo」、「¥Printer.InputBinsInfo」、「¥Printer.OutputBinsInfo」などがある。
すると、Query(Schema)欄、プリンタ3の情報及び状態を表すスキーマRetrieve(Schema)と値Retrieve(Value)がセットで返される。
同図の例では、プリンタ3に黒、シアン、マゼンタ、黄のインクが搭載されていて、インクの残量の状態がそれぞれ、インク満タン(Full)、インク残りわずか(Low)、インク無し(Out)、インク満タン(Full)を示す。
また、インクの名称がそれぞれ、CI−B Black、CI−C Cyan、CI−M Magenta、CI−Y Yellowを示している。
また、動作状態がオンラインでスタンバイ状態、搭載されているメモリのサイズが2MB、給紙手段としてASF−1という名称のオートシートフィーダーを装備し、排紙手段としてTray−1という名称のトレイを装備していることが示されている。
このようにユーティリティ30がスキーマを使って列挙(Enumeration)することで、ユーティリティ30がそのスキーマで表されるプリンタの全ての詳細情報を取得することができる。
図32はユーティリティ30がプリンタのインクの情報及び状態を取得する時に使用する従来例のスキーマを表す図である。これらのスキーマは、ユーティリティ30がPrinting and Print Spooler Interfaces(以下PPSIと略する場合もある)を介してインクの情報及び状態を取得する時に指定される。より具体的には、Windows(登録商標) XP OSで使用できるCOMインタフェースIBidiSplのAPI関数IBidiSpl::SendRecv()をコールする際に引数として指定される。Printing and Print Spooler Interfaces
同図において、InkInfoはインクの情報を表すPropertyであり、スキーマのフルパスの指定は¥Printer.InkInfoである。[Color]は色の情報を表すPropertyであり、スキーマのフルパスの指定は¥Printer.InkInfo.[Color]、設定可能な値は、黒を表すBlack、シアンを表すCyan、マゼンタを表すMagenta、黄を表すYellowの何れかである。
例えば、黒インクの情報を取得したい場合は、¥Printer.InkInfo.Blackと指定する。Installedは[Color]色のインクが搭載されているか否かを表すValueであり、データ型はBoolean、スキーマのフルパスの指定は¥Printer.InkInfo.[Color]:Installed、設定可能な値は、搭載されていること表すTrue、搭載されていないを表すFalseの何れかである。
Stateは[Color]色のインクの残量の状態を表すValueであり、データ型はString、スキーマのフルパスの指定は¥Printer.InkInfo.[Color]:State、設定可能な値は、インク満タンを表すFull、インク残りわずかを表すLow、インク無しを表すOut、インク残量不明を表すUnknownの何れかである。
Nameは[Color]色のインクの名称を表すValueであり、データ型はString、スキーマのフルパスの指定は¥Printer.InkInfo.[Color]:Nameである。
設定可能な値の例は、同図のExamplesのようなASCIIの文字列である。
図33はユーティリティ30がプリンタの排紙手段の情報を取得する時に使用する従来例のスキーマを表す図である。これらのスキーマは、ユーティリティ30がPrinting and Print Spooler Interfacesを介して排紙手段の情報を取得する時に、Windows(登録商標) XP OSで使用できるCOMインタフェースIBidiSplのAPI関数IBidiSpl::SendRecv()をコールする際に引数として指定される。同図において、OutputBinsInfoは給紙手段の情報を表すPropertyであり、スキーマのフルパスの指定は¥Printer.OutputBinsInfoである。[Type]は排紙手段の種類を表すPropertyであり、スキーマのフルパスの指定は¥Printer.OutputBinsInfo.[Type]、設定可能な値は、トレイを表すTrayである。例えば、トレイの排紙手段に関する情報を取得したい場合は、¥Printer.OutputBinsInfo.Trayと指定する。Installedは[Type]種の排紙手段が搭載されているか否かを表すValueであり、データ型はBoolean、スキーマのフルパスの指定は¥Printer.OutputBinsInfo.[Type]:Installed、設定可能な値は、搭載されていること表すTrue、搭載されていないを表すFalseの何れかである。Nameは[Type]種の排紙手段の名称を表すValueであり、データ型はString、スキーマのフルパスの指定は¥Printer.OutputBinsInfo.[Type]:Nameである。設定可能な値の例は、同図のExamplesのようなASCIIの文字列である。このように、図33で定義されているスキーマを使って、ユーティリティ30は排紙手段の情報を取得することができる。
特開平10−074132号公報
しかしながら、上述の仕組みでは、例えば新たな種類のインク色など、従来には想定されていない、印刷装置における新たな種類の情報が追加された場合、それに伴い上位手段(ユーティリティ)にも再設計を施す必要があった。つまり再設計が施されなければ、例えば新たに追加された種類の情報の問合せプログラミングは上位手段(ユーティリティ)に組み込まれるはずも無い。そこで、より柔軟に印刷装置の情報を取得できる仕組みが望まれる。
本願発明は上記課題に鑑みてなされたものであり、通信媒体を介して印刷装置からの情報を情報要求またはイベント登録により取得し保持する監視手段を用いた情報処理方法であって、前記監視手段から前記保持される情報を取得する為の取得方法を表すルート情報を獲得する獲得工程と、前記獲得工程にて獲得された前記取得方法を表すルート情報を引数として、前記監視手段に問合せを行う問合せ工程と、前記問合せ工程による問合せの応答として、前記監視手段によって前記ルート情報に対応づけて保持された情報を取得する取得工程と、前記取得工程において取得された情報に基づく表示を表示部に行わせる表示制御工程とを有することを特徴とする。
本発明によれば、従来に比べて、より柔軟に印刷装置の情報を取得できる仕組みを実現できる。
以下、本発明の発明を実施するための最良の形態について図面を用いて説明する。
[第1の実施形態]
<印刷システムの概略説明>
図1は本実施形態における、印刷システムの概略を示す。同図では、情報処理装置1(以下、PC1と呼ぶ)、情報処理装置2(以下、PC2と呼ぶ)、プリンタ3が所定の通信媒体を介して通信可能に接続され、更に、主要なソフトウェアモジュールが備えられている。
PC1、PC2は一般的な情報処理装置と同様のハードウェアで構成され、所定のオペレーティングシステム(以下、OSと)呼ぶ)がインストールされている。本実施形態の印刷システムではOSとして米国マイクロソフト社のWindows(登録商標) XPがインストールされている。ここで、PC1とPC2はEthernet(登録商標)で構成されるネットワーク4を介して接続され、互いに双方向通信が可能である。
プリンタ3は周辺機器の代表例であり、同図においては、カラーインクジェットプリンタがユニバーサルバス(Universal Serial Bus:以下USBと呼ぶ)を介してPC1に接続されている。このプリンタ3には、例えば、XYZ社製のkmmnというモデル名のプリンタを該当させることができる。
ランゲージモニタ36(以下、LM36と呼ぶ)は、プリンタ3に問合せを行ったり、各種コマンドを出力する。また、プリンタ3から能動的に通知されてくる各種情報を取得する機能も併せ持つ。この場合、LM36が、あるタイミングで事前にプリンタ3にイベントを登録することにより能動的な通知が実現される。
両面印刷ユニット5はプリンタ3のオプションの一例であり、プリンタ3はこの両面印刷ユニット5が装着されることで自動両面印刷を行える。
製本コンポーネント6はプリンタ3の別のオプション例であり、プリンタ3はこの製品コンポーネント6が装着されることで製本処理を実行できる。
ユーティリティ30は、LM36を介して印刷装置の各種情報を取得し表示したり、及び/又は、印刷装置に各種コマンドを出力したり、及び/又は、印刷データを生成及び出力する機能等を備える。本実施形態では、様々な用途におけるユーティリティをユーティリティ30に適用することができ、図中ではXYZ社製となっている。
なお、上の説明においては、周辺装置の代表例としてカラーインクジェットプリンタを例に説明したが、他の応用形態も想定される。周辺機器の別の例として、複写機、ファクシミリ、スキャナ、デジタル複合機、デジタルカメラ、デジタルビデオカメラ、携帯電話、携帯電話、テレビジョン、光学プロジェクタ、を挙げることができる。
<一般的な情報処理装置のハードウェア構成の説明>
図2は一般的な情報処理装置のハードウェア構成の一例を表すブロック図である。
同図において、CPU1204はマイクロプロセッサ等から構成され、HDD1202に格納されるプログラムを実行するもので、システムバス1206に接続される各デバイス(各ブロック)を統括的に制御する。RAM1201は、CPU1204の主メモリ、ワークエリア等として機能する。キーボード(KBD)1203は各種情報の入力を行う為の入力指示装置の一例を示す。また、キーボード(KBD)以外にも、例えば、マウス、液晶タッチパネル等も適用できる。LCD1205は表示装置の一例であり、CPU1204の制御のもとに文字、図形、静止画像、動画像などを表示する。NB1297は通信制御部の一例であるネットワークボードであり、各種プロトコルに従う通信制御を行うことが出来る。
そして、後述の各フローチャートの各ステップに係わる処理をコンピュータに実行させる為のプログラムコードが、HDD1202に記憶されており、必要に応じてRAM1201に読み出されてCPU1204により実行されることとなる。
<周辺機器のハードウェア構成の説明>
図3は周辺機器の代表例としてのプリンタのハードウェア構成の一例を表すブロック図である。
CPU15はマイクロプロセッサ等から構成され、プリンタ3の中央処理装置として、ROM16に記憶されているプログラムに従って各種処理を実行する。また、システムバスを介して互いに接続されるRAM17、通信部18、記録部19などの各デバイスを統括的に制御する。尚、ROM16は不揮発性記憶素子を具備するものであれば良く、例えばハードディスク装置、電気的に消去可能なフラッシュメモリ等を代用することもできる。さらに、ROM16、RAM17、記録部19について、より具体的に説明を行う。ROM16には、入力された印刷データに従ってプリンタ3が記録(印刷)処理を行うプログラムが記憶されている。またPC1などから状態を要求された場合に、状態をPC1へ伝える処理を行うプログラムが記憶されている。
RAM17は、例えばPC1から送信されてくる印字データが一時的に記憶される。通信部18にはUSBインタフェース9用の接続ポートが含まれており、USBに準じた通信を制御する。記録部19は、インクジェット方式の記録ヘッド、各カラーインク、キャリッジ、記録紙搬送機構等から構成される記録ユニットと、前記印字データをもとに前記記録ヘッドにて印字用パルスを発生させる為のASIC等から構成される電気回路とから構成される。そしてRMA17に一時記憶される印刷データに基づく記録を行う。なお、上の説明においては、周辺装置の出力エンジンとしてインクジェット方式を採用したものを例に説明したが、他の応用形態も想定される。例えば、電子写真方式を採用した出力エンジンや、熱転写方式を採用した出力エンジンを適用できる。また液晶表示パネルを駆動する液晶用駆動エンジン等も適用できる。
<クライアントにおけるソフトウェアモジュール図の説明>
図4は、情報処置装置としてのPC1において稼動するソフトウェアモジュールのブロック図の一例を表す図である。
同図において、プリンタドライバ50は、XYZ社製であり、OS上で稼動する各種アプリケーションデータに基づく描画命令を生成する。描画命令としてはプリンタが解釈できる形式であれば、非圧縮イメージ、圧縮イメージ、ページ記述言語、XMLデータなど様々な形式を適用できる。アプリケーションとしては、マイクロソフト社のWord、同社の表計算ソフトであるExcel、アドビシステムズ社のフォトショップなど、様々なものが想定される。
ユーティリティ30は図1で説明した通りであり、例えば、Windows(登録商標) XP OSに標準で同梱されているテキストエディタであるNotepad(Notepad.exe)を適用できる。また、後述にて詳しく説明する、図12のユーティリティ30などを適用することが出来る。
Graphics Device Interface(GDI)31はOSの一部として構成される。また、プリンタキュー32はスプーラ40の一部として構成され、印刷ジョブをキューイングする。プリンタキュー32によりキューイングされた印刷ジョブは、オペレーティングシステムにより、プリンタキューフォルダ(ここでは説明を省略する)に表示され、ユーザは印刷ジョブの各種状態を確認することができる。
プリントプロセッサ33は印刷レイアウトの変更や印刷画像の特殊処理などを実行する。グラフィックスドライバ24はプリンタドライバの画像処理のコアとして、GDI31から送られて来る描画命令をもとに印刷用の画像処理を行い、印刷制御コマンドを作成する。UIモジュール35は、プリンタドライバのユーザインタフェースの提供及び制御を行う。LM36は図1にて説明したものであり、データの通信I/Fとしてデータ送受信を制御する機能も備える。ポートモニタ37はランゲージモニタ36から送られて来るデータを適切なポートに対して送信したり、プリンタ3から送られて来るデータをクラスドライバ38を介して受信したりする処理を行う。クラスドライバ38は物理層に近い制御モジュールであり、例えばUSBのプリンタクラスのドライバに相当し、USBポートを制御する。
<印刷システムにおける処理の流れの説明>
以下、図5を用いて、以下の実施の形態の処理の流れの概要について説明を行う。
同図は、上の図1で説明したシステムにおいてプリンタ3に両面印刷ユニット5が装着された場合を例にした処理の流れを示している。
まず、プリンタ3に両面印刷ユニット5が装着される(1)。プリンタ3は、自装置に設けられた検知部により両面印刷ユニット5が装着されたことを検知する(2)。
一方、上記(2)の検知とは非同期(任意のタイミング)に、PC1は印刷装置の各種情報を要求する要求コマンドを、USBインタフェースを介してプリンタ3に発行(送信)する(3)。
プリンタ3はPC1から発行された要求コマンドに応じてPC1に対して通信媒体を介しプリンタの情報を返信する。LM36から要求される情報として、例えば、装着されているインクの種類、装着されているオプション情報、プリンタのエラー状況、電源状況などのプリンタ情報が挙げられる。またへ投入された印刷ジョブの印刷進行状況などのジョブ情報なども含まれる。
LM36は、プリンタ3から返信された情報を取得すると共に取得した情報の解析を行う。該解析に基づき、前回取得及び保存した情報に変化が生じたか否かを判定する。変化があると判定した場合、その変化後の状態情報を、スキーマの定義に従いスキーマに変換する。そして、LM36は変換された情報を記憶部に保存する(5)。この(5)の処理は、ユーティリティからの変化情報の獲得要求に応答する形式として変換され保持する処理に相当する。ここでスキーマの用語の講義の意味としては、一般に定義言語を利用したデータベースの記述であるが、代表的なものとして、例えばXMLスキーマが挙げられる。
そして、スキーマに変換した情報を保存したLM36は、後述の図7のステップS2404に示すように、そのスキーマのルートをユーティリティ30(プリンタマネージャ)に通知する(6)。通知は例えばOSを介して行われる。
ここでスキーマのルートとは、LM36により保存されたスキーマデータをLM36が特定できる情報を指す。ルートの記述方法としては、例えば、”¥”を用いた階層構造を指定する情報を適用できる。また、記述方法として保存されたスキーマデータのアドレスやポインタを用いるようにしても良い。
図の説明に戻ると、ユーティリティ30(プリンタマネージャ)は通知の発生を監視しており、OSを介して通知の割り込みが発生したことを認識する(7)。
そして、図9のステップS2506に示すように通知されたスキーマのルート、すなわち、通知に関する情報を取得する。そして、これに引き続き図10のステップS2602に示すように取得されたスキーマを引数としてCOMインタフェースIBidiSplのAPI関数IBidiSpl::SendRvecv()をコールする。
より具体的には、例えば、インクの情報及び状態、動作状態、ハードウェアの情報、給紙手段の情報、排紙手段の情報、システムの情報、将来新たに定義される未知の情報等を列挙(Enumeration)して取得する処理を開始する。この開始によって、スキーマによる詳細情報の問い合せ要求をLM36に対して行う(8)。
図10のステップS2603〜S2604に示すようにLM36のSendRecvBidiDataFromPort()関数内において、図7のステップS2403でスキーマの定義の形で保存されている情報の中からステップS2602で引数で指定されたスキーマの詳細情報を表すスキーマデータを取得(ロード)する(9)。
そして、図10のステップS2605に示すようにLM36のSendRecvBidiDataFromPort()関数の引数として(9)で取得(ロード)したスキーマの定義に変換された詳細情報(スキーマデータ)を、LM36がユーティリティ30(プリンタマネージャ)に応答する(10)。
ユーティリティ30(プリンタマネージャ)がスキーマの定義で返された詳細情報(スキーマデータ)を取得し、図11に示す情報表示用データの作成を行い、作成された情報表示用データを使ってユーザインタフェースの表示様子を更新する(11)。
以下、上に説明したシステム構成、ハードウェア構成、ソフトウェアモジュール構成を基に実行される、印刷装置にかかわる情報取得処理について、図面及びフローチャートを併せて詳しく説明する。
<監視手段(LM36)の通知サービス処理の説明>
図6はランゲージモニタ(LM36)における通知サービスの処理を表すフローチャートである。
まず、OS起動時にLM36がロードされて通知サービスを開始する(S2301)。次に、LM36は通信媒体(USBケーブル)を介し要求コマンド(情報要求)又はプリンタ3へのイベント登録に基づき、プリンタ3から返される情報を取得する(S2302)。この時LM36がプリンタ3に対して発行するコマンドは、例えば、メーカー独自に定義されているコマンド仕様に基づくものを適用できる。次に、取得した情報を保存する(S2303)。そして、前回保存した情報から状態の変化が有るか否かを判定する(S2304)。
S2304で変化があったと判定した場合には、この変化の有った情報を、ユーティリティ30に引数として渡し、図7に示すユーティリティ30(プリンタマネージャ)への通知処理を行う(S2305)。これは変化のあった情報を対象に行わせる処理に相当する。そして、その後に、所定時間(例えば5秒間)待機し(S2306)、S2302に処理を戻す。
一方、S2304において、前回保存した情報から状態の変化が無いと判定した場合、S2306に処理を進め、上に説明したように、所定時間待機しステップS2303に処理を戻す。
このようにOSが起動している間、LM36は所定間隔でプリンタ3から情報を取得し、状態に変化が有った場合にユーティリティ30(プリンタマネージャ)にその旨の通知を行うという独自の通知サービスを実行している。これにより、プリンタ3の状態変化をユーティリティ30(プリンタマネージャ)によりリアルタイムに近い状況で伝達できる。
図7はランゲージモニタによるユーティリティへの情報通知の詳細処理を表すフローチャートである。この処理により、ユーティリティからのスキーマルートによるスキーマデータの獲得要求に対して応答できる形式のデータを保持することができる。
上に説明した図6のS2305において、ユーティリティ30(プリンタマネージャ)への通知処理が実行されると、図7のフローチャートに示される処理実行が呼び出される。同図において、ユーティリティ30(プリンタマネージャ)への通知処理が開始される(S2401)。図6のステップ2305で引数として渡された、状態の変化が有った情報を対応するスキーマの定義に従って変換する(S2402)。そして、スキーマの定義に従って変換された全てのデータを保存する(S2403)。
次に、変換後のスキーマデータのルートをユーティリティ30(プリンタマネージャ)に通知し(S2404)、リターンする(S2405)。スキーマのルートとしては例えば、¥Printer.InkInfo、¥Printer.StatusInfo、¥Printer.HardwareInfoを挙げることができる。また、¥Printer.InputBinsInfo、¥Printer.OutInfo、¥Printer.SystemInfo、¥Printer.StatusInfoなどを挙げることもできる。
<ランゲージモニタ(LM36)によるスキーマ定義への変換処理の説明>
図8は情報をLM36によるスキーマの定義に従う変換処理を表すフローチャートである。図7のステップS2402において情報をスキーマの定義に変換する処理が実行されると、同図のステップS1501がコールされる。
同図において、LM36が情報をスキーマの定義に変換する処理を開始し(S1501)、プリンタ3から図6のステップS2303で取得した、インクの情報及び状態、動作状態、ハードウェアの情報、給紙手段の情報、排紙手段の情報を順に確認し(S1502)。
これらの情報の中で変化があったものが存在する場合(S1503)、それらの情報をスキーマの定義に変換し(S1504)、スキーマの定義を戻り値としてセットし(S1505)、ステップS1502に戻る。ステップS1503において、全ての情報の確認を完了して、それ以上変換処理する情報が無い場合、前記セットされた戻り値を返してリターンする(S1506)。
<ユーティリティの処理の説明>
図9はユーティリティ30(プリンタマネージャ)のプリンタ3の情報の取得方法(スキーマスーと)を獲得する処理を示すフローチャートである。
同図において、ユーティリティ30が起動すると(S2501)、図6で説明したLM36における通知サービスの通知の割り込みの受付けを許可する(S2502)。メインウィンドウを表示し(S2503)、メッセージループを作成し、以後、メッセージ(割り込み)が発生するのを待機する(S2504)。
図7のステップS2404でLM36からユーティリティ30(プリンタマネージャ)に送られた通知の割り込みが発生した場合(S2505)、通知されたスキーマのルートを取得する(S2506)。
そして、S2506で取得したスキーマのルートに基づき情報の取得と更新の処理を行う(S2507)。
S2508では、S2504で作成したメッセージループがメッセージを受信したか否かを判定する(S2508)。S2508で受信したと判定すると、受信したメッセージが終了メッセージか否かを判定する(S2509)。S2509で終了メッセージを受信したと判定すると、ユーティリティ30(プリンタマネージャ)の全ての処理を終了してユーティリティ30を終了する(S2511)。
一方、ステップS2509において、受信したメッセージが終了メッセージ以外と判定した場合に、各メッセージに対応する処理を行う(ここではその詳細説明は省略)(S2510)。そしてS2510の後にステップS2505に戻る。
一方、ステップS2508において、メッセージを受信しなかった場合、ステップS2505に戻る。ステップS2505において、通知の割り込みが発生しない場合、ステップS2508へ進む。
<通知に基づく情報の取得と更新>
図10は通知に基づく情報の取得と更新の処理を表すフローチャートであり、S2507の詳細を示す。
同図にステップS2601がコールされる。同図において、ユーティリティ30(プリンタマネージャ)が通知に基づく情報の取得と更新の処理を開始する(S2601)。
図7のステップ2404でLM36から通知されたルートを引数としてCOMインタフェースIBidiSplのAPI関数IBidiSpl::SendRecv()(スプーラがエクスポートしている関数)をコールする。
具体的には、例えば、インクの情報及び状態、動作状態、ハードウェアの情報、給紙手段の情報、排紙手段の情報、システムの情報、将来新たに定義される未知の情報等が列挙される。
情報の取得処理を開始すると(S2602)、Printing and PrintSpooler Interfacesを介して、LM36がエクスポートしているSendRecvBidiDataFromPort()関数がスプーラ40からコールされて、この関数における処理が開始される(S2603)。
LM36のSendRecvBidiDataFromPort()関数内において、図7のステップS2403でスキーマの定義の形で保存されている情報の中からステップS2602で引数として指定されたスキーマの詳細情報を表すスキーマを取得(ロード)する(S2604)。
SendRecvBidiDataFromPort()関数の引数として、後述する図16、図20、図25に示すようなスキーマの定義に変換された詳細情報を返し、LM36のSendRecvBidiDataFromPort()関数の処理を終了する(S2605)。
そして、ユーティリティ30(プリンタマネージャ)は、IBidiSpl::SendRecv()関数がリターンされ、引数として図16、後述する図20、図25に示すようなスキーマの定義で返された詳細情報を取得し(S2606)し、図11に示す情報表示用データの作成を行う(S2607)。作成された情報表示用データを使って後述の図12、図18、図22におけるインク情報表示部44、プリンタ情報表示部45の表示を更新し(S2608)し、リターンする(S2609)。
このように、図9のステップS2506でLM36から取得したスキーマのルートを引数として、この引数をそのまま使ってLM36に聞き返す形で、このスキーマルートで指定された詳細情報を取得できる。つまり、ユーティリティ30(プリンタマネージャ)は引数としてハンドリングするスキーマの内容を意識することなく、スキーマの内容を把握していない未知のスキーマであっても、そのスキーマを利用することができる。ユーティリティ30は、LM36から返された情報を利用してインク情報表示部44、プリンタ情報表示部45の表示を正しく更新することができる。これによって、プリンタ3に新しい機能が追加された場合も、ユーティリティ30(プリンタマネージャ)を作り直す必要がないので、将来にわたってこのユーティリティ30(プリンタマネージャ)を、そのままの使うことができる。
<情報表示データの作成処理の説明>
図11は情報表示用データの作成の処理を表すフローチャートである。図10のステップS2607において情報表示用データの作成の処理が実行されると、同図のステップS1601がコールされる。
まず、ユーティリティ30が情報表示用データの作成の処理を開始する(S1601)。情報及び状態、動作状態、ハードウェアの情報、給紙手段の情報、排紙手段の情報の取得を試みる(S1602)。
そして、これらの情報を取得できた場合(S1603)、それらの情報を戻り値としてセットし(S1604)、ステップS1602に戻る。ステップS1603において、全ての情報の取得が完了してそれ以上取得する情報が無い場合、前記セットされた戻り値を返してリターンする(S1605)。
<ユーティリティのユーザインタフェースの表示様子の説明>
図12はユーティリティ30のユーザインタフェースの表示様子を示す。
メインウィンドウ42には、プリンタ表示部43、インク情報表示部44、プリンタ情報表示部45が含まれる。プリンタ(Printer)表示部43は、ネットワーク上に接続されている共有プリンタの内、このユーティリティ30で通信可能なプロトコルをサポートしていて通信可能な状態であるプリンタを全て表示する。インク情報(Ink Information)表示部44は各種インクに関する情報を表示する部分であり、プリンタ表示部43内のグレーの四角で囲われてフォーカスされているプリンタのインクに関する情報を表示する。
同図に示す通り、プリンタ3には黒(Black)、シアン(Cyan)、マゼンタ(Magenta)、黄(Yellow)、フォト黒(PhotoBlack)、フォトシアン(PhotoCyan)、フォトマゼンタ(PhotoMagenta)の7色のColor(色)のインクが装着されている。
それぞれのName(名称)がCI−B Black、CI−C Cyan、CI−MMagenta、CI−Y Yellow、CI−PB Photo Black、CI−PC Photo Cyan、CI−PM Photo Magenta、State(状態)がFull(満タン)、Low(残りわずか)、Out(無し)、Full(満タン)、Low(残りわずか)、Out(無し)、Low(残りわずか)であることが示されている。
プリンタ情報(Printer Information)表示部45はプリンタ本体に関する情報を表示する部分であり、プリンタ表示部43内のグレーの四角で囲われてフォーカスされているプリンタに関する情報を表示する。
同図に示す通り、プリンタ3は2MBのメモリ、5GBのハードディスクドライブを搭載し、オプションとしてAuto Duplex Unitという名称の両面印刷ユニットを装備している。また、給紙手段としてASF−1という名称のオートシートフィーダー、Manual Trayという名称のトレイ、Cassette−1という名称のCassetteを装備している。また、排紙手段としてTray−1という名称のトレイ、Tray−2という名称のトレイ、Tray−3という名称のトレイを装備し、オンライン(Online)であることを表している。
同図ではインク情報表示部44、プリンタ情報表示部45にXYZ社製のkmmnというモデル名のプリンタ(プリンタ3)の情報及び状態を表示している。プリンタ表示部43、インク情報表示部44、プリンタ情報表示部45は表示の内容に応じてそれぞれのレイアウトを可変で制御可能であり、これにより、その時の状況の影響を受けることなく、様々なケースにおいて全ての内容を正しく表示することができる。
従来のユーティリティでは、XYZ社製のプリンタしか表示できなかったが、同図ではプリンタ表示部42にABC社やDEF社等の他社製のプリンタも表示することができる。これは後述する通り、本発明のユーティリティ30(プリンタマネージャ)は、仕様や情報の内容が不明な他社製のプリンタであってもプリンタの状態情報を取得できる。そのプリンタまたはそのプリンタを制御するランゲージモニタがPPSIを介してBCSを利用して情報をユーティリティ30(プリンタマネージャ)に返す能力を備えていれさえすれば、そのプリンタの情報や状態を表示することができるからである。
<インク情報に係わるスキーマ定義>
図13はユーティリティ30がプリンタのインクの情報及び状態を取得する時に使用するスキーマを表す図である。これらのスキーマは、ユーティリティ30がPrinting and Print Spooler Interfacesを介してLM36経由でプリンタ3からインクの情報及び状態を取得する時に、Windows(登録商標) XP OSで使用できるCOMインタフェースIBidiSpl のAPI関数IBidiSpl::SendRecv()をコールする際に引数として指定される。
同図は図32で説明した内容と同じ内容を含んでおり、図32との差分の内容に関して点線の四角で囲っている。同図において、InkInfoはインクの情報を表すPropertyであり、スキーマのフルパスの指定は¥Printer.InkInfoである。[Color]は色の情報を表すPropertyであり、スキーマのフルパスの指定は¥Printer.InkInfo.[Color]、設定可能な値は、黒を表すBlack、シアンを表すCyan、マゼンタを表すMagenta、黄を表すYellow、フォト黒を表すPhotoBlack、フォトシアンを表すPhotoCyan、フォトマゼンタを表すPhotoMagenta、赤を表すRed、緑を表すGreen、青を表すBlueの何れかである。
例えば、黒インクの情報を取得したい場合は、¥Printer.InkInfo.Blackと指定する。Installedは[Color]色のインクが搭載されているか否かを表すValueであり、データ型はBoolean、スキーマのフルパスの指定は¥Printer.InkInfo.[Color]:Installed、設定可能な値は、搭載されていること表すTrue、搭載されていないを表すFalseの何れかである。Stateは[Color]色のインクの残量の状態を表すValueであり、データ型はString、スキーマのフルパスの指定は¥Printer.InkInfo.[Color]:State、設定可能な値は、インク満タンを表すFull、インク残りわずかを表すLow、インク無しを表すOut、インク残量不明を表すUnknownの何れかである。Nameは[Color]色のインクの名称を表すValueであり、データ型はString、スキーマのフルパスの指定は¥Printer.InkInfo.[Color]:Nameである。設定可能な値の例は、同図のExamplesのようなASCIIの文字列である。Installed、State、NameのValueはLM36またはプリンタ3からユーティリティ30へ返される値である。このように、同図で定義されているスキーマを使って、ユーティリティ30はプリンタ3に搭載されているインクの情報及び状態を取得することができる。図32と比較するとわかる通り、新機能としてフォト黒、フォトシアン、フォトマゼンタ、赤、緑、青の新しいインクが追加されている。
<ハードウェア情報に係わるスキーマー定義の説明>
図14はユーティリティ30がプリンタのハードウェアの情報を取得する時に使用するスキーマを表す図である。これらのスキーマは、ユーティリティ30がPrintingand Print Spooler Interfacesを介してLM36経由でプリンタ3からハードウェアの情報を取得する時に、Windows(登録商標) XPOSで使用できるCOMインタフェースIBidiSplのAPI関数IBidiSpl::SendRecv()をコールする際に引数として指定される。また、従来のユーティリティでは表示できない情報を点線の四角で囲っている。同図の点線の四角中には、両面印刷ユニットのオプションが新規に追加されていることを示している。
同図において、HardwareInfoは動作状態を表すPropertyであり、スキーマのフルパスの指定は¥Printer.HardwareInfoである。例えば、ハードウェアの情報を取得したい場合は、¥Printer.HardwareInfoと指定する。Memoryはプリンタに搭載されているメモリのサイズを表すValueであり、データ型はInteger、スキーマのフルパスの指定は¥Printer.HardwareInfo:Memory、設定可能な値は、メモリのサイズを表す整数(単位:MB)である。例えばメモリのサイズを取得したい場合は、¥Printer.HardwareInfo:Memoryと指定する。HDDはプリンタに搭載されているハードディスクドライブのサイズを表すValueであり、データ型はInteger、スキーマのフルパスの指定は¥Printer.HardwareInfo:HDD、設定可能な値は、ハードディスクドライブのサイズを表す整数(単位:GB)である。例えばハードディスクドライブのサイズを取得したい場合は、¥Printer.HardwareInfo:HDDと指定する。[Option]はオプションの種類を表すPropertyであり、スキーマのフルパスの指定は¥Printer.HardwareInfo.[Option]、設定可能な値は、両面印刷ユニットを表すDuplexUnitである。例えば、両面印刷ユニットの情報を取得したい場合は、¥Printer.HardwareInfo.DuplexUnitと指定する。Installedは[Option]種のオプションが搭載されているか否かを表すValueであり、データ型はBoolean、スキーマのフルパスの指定は¥Printer.HardwareInfo.[Option]:Installed、設定可能な値は、搭載されていること表すTrue、搭載されていないを表すFalseの何れかである。Nameは[Option]種のオプションの名称を表すValueであり、データ型はString、スキーマのフルパスの指定は¥Printer.HardwareInfo.[Option]:Nameである。設定可能な値の例は、同図のExamplesのようなASCIIの文字列である。Memory、HDD、Installed、Name等のValueはLM36またはプリンタ3からユーティリティ30へ返される値である。このように、同図で定義されているスキーマを使って、ユーティリティ30はプリンタ3のハードウェアの情報を取得することができる。
<プリンタの給紙手段にかかわるスキーマー定義の説明>
図15はユーティリティ30がプリンタの給紙手段の情報を取得する時に使用するスキーマを表す図である。これらのスキーマは、ユーティリティ30がPrinting and Print Spooler Interfacesを介してLM36経由でプリンタ3から給紙手段の情報を取得する時に、Windows(登録商標) XP OSで使用できるCOMインタフェースIBidiSplのAPI関数IBidiSpl::SendRecv()をコールする際に引数として指定される。また、従来のユーティリティでは表示できない情報を点線の四角で囲っている。同図の点線の四角中には、新機能としてトレイ、カセットの給紙手段が新規に追加されていることを示している。
同図において、InputBinsInfoは給紙手段の情報を表すPropertyであり、スキーマのフルパスの指定は¥Printer.InputBinsInfoである。[Type]は給紙手段の種類を表すPropertyであり、スキーマのフルパスの指定は¥Printer.InputBinsInfo.[Type]、設定可能な値は、オートシートフィーダーを表すASF、トレイを表すTray、カセットを表すCassetteである。例えば、オートシートフィーダーの給紙手段に関する情報を取得したい場合は、¥Printer.InputBinsInfo.ASFと指定する。Installedは[Type]種の給紙手段が搭載されているか否かを表すValueであり、データ型はBoolean、スキーマのフルパスの指定は¥Printer.InputBinsInfo.[Type]:Installed、設定可能な値は、搭載されていること表すTrue、搭載されていないを表すFalseの何れかである。Nameは[Type]種の給紙手段の名称を表すValueであり、データ型はString、スキーマのフルパスの指定は¥Printer.InputBinsInfo.[Type]:Nameである。設定可能な値の例は、同図のExamplesのようなASCIIの文字列である。Installed、NameのValueはLM36またはプリンタ3からユーティリティ30へ返される値である。このように、同図で定義されているスキーマを使って、ユーティリティ30はプリンタ3に搭載されている給紙手段の情報を取得することができる。
<ユーティリティによる要求と獲得されるスキーマールートとの関係の説明>
図16は上に説明したスキーマ定義を介して、インクの情報及び状態、動作状態、ハードウェアの情報、給紙手段の情報、排紙手段の情報を列挙(Enumeration)する時のスキーマ及び値を表す図である。同図は図31で説明した内容と同じ内容を含んでおり、スキーマの定義における図31との差分の内容に関して点線の四角で囲っている。
同図において、ユーティリティ30からスキーマのルートをそれぞれ指定してIBidiSpl::SendRecv()関数をコールすると(Query(Schema)欄)、プリンタ3の情報及び状態を表すスキーマ(Retrieve(Schema))と値(Retrieve(Value))がセットで返される。
ユーティリティ30から指定されるルートとしては、例えば、¥Printer.InkInfo、¥Printer.StatusInfo、¥Printer.HardwareInfo、¥Printer.InputBinsInfo、¥Printer.OutputBinsInfoが挙げられる。
同図の例では、プリンタ3に黒、シアン、マゼンタ、黄、フォト黒、フォトシアン、フォトマゼンタのインクが装着されていている。また、インクの残量の状態がそれぞれ、インク満タン(Full)、インク残りわずか(Low)、インク無し(Out)、インク満タン(Full)、Low(残りわずか)、Out(無し)、Low(残りわずか)となっている。
また、インクの名称がそれぞれ、CI−B Black、CI−C Cyan、CI−M Magenta、CI−Y Yellow、CI−PB Photo Black、CI−PC Photo Cyan、CI−PM Photo Magentaとなっている。
また、動作状態がオンラインでスタンバイ状態となっている。また、搭載されているメモリのサイズが2MB、搭載されているハードディスクドライブのサイズが5GB、Auto Duplex Unitという名称の両面印刷ユニットのオプションが搭載されている。
また、給紙手段としてASF−1という名称のオートシートフィーダー、ManualTrayという名称のトレイ、Cassette−1という名称のカセットを装備し、排紙手段としてTray−1という名称のトレイ、Tray−2という名称のトレイ、Tray−3という名称のトレイを装備していることを表している。このようにユーティリティ30がスキーマを使って列挙(Enumeration)することで、ユーティリティ30がそのスキーマで表されるプリンタの全ての詳細情報を取得することができる。図11と比較するとわかる通り、新機能としてフォト黒、フォトシアン、フォトマゼンタのインク、両面印刷ユニットのオプション、Manual TrayのトレイとCassette−1のカセットの給紙手段が追加されている。
<プリンタから取得される情報の具体例説明>
図17はPCとプリンタ3の間でやり取りされるデータを表す図である。実際にPC1とプリンタ3との間で送受信されるデータはバイナリデータであるが、同図では理解しやすくすることを考えて、ASCII文字コードでエンコードした後のテキストデータとして表している。
同図において、PC1が「−PCから発行する要求コマンド−」欄のコマンドをプリンタ3にUSBインタフェース9を介して発行すると、「−プリンタから返される情報−」欄の情報がプリンタ3からPC1にUSBインタフェース9を介して返される。図中で、「Ink;」は、インクの情報及び状態要求コマンドを示す。そして、プリンタから返される応答は、<色>、<型名>、<状態>の準で、黒、CI−B、満タン、及び、シアン、CI−C、残りわずか、及び、マゼンタ、CI−M、無し、及び、黄、CI−Y、満タン、及び、フォト黒、CI−PB、残りわずか、及び、フォトシアン、I−PC、無し、及び、フォトマゼンタ、CI−PM、残りわずかを示す。
また、「Memory;」は、メモリのサイズ要求コマンドを示す。そして、プリンタから返される応答は、<サイズ2(単位:MB)を示す。
また、「HDD;」は、ハードディスクドライブのサイズ要求コマンドを示し、プリンタから返される応答は、5(単位:GB)を示す。また、「Status;」は、動作状態要求コマンドを示す。プリンタから返される応答は、動作状態として、Onlineを示す。また、「Option;」は、オプション要求コマンドを示し、プリンタから返される応答は、装着されているオプションが、Auto Duplex Unitであることを示す。また、「InputBins;」は、給紙手段要求コマンドを示し、プリンタから返される応答は、給紙手段の情報が、ASF−1、Manual Tray、Cassette−1であることを示す。
また、「OutputBins;」は、排紙手段要求コマンドを示し、プリンタから返される応答は、排紙手段がTray−1、Tray−2、Tray−3であることを示す。
この図17では、新機能としてフォト黒、フォトシアン、フォトマゼンタのインク、両面印刷ユニットのオプション、Manual TrayのトレイとCassette−1のカセットの給紙手段が追加されていることが示されている。
[第2の実施の形態]
<ユーティリティ30のユーザインタフェースの表示様子>
図18はユーティリティ30の第2の実施の形態を表す図である。同図において、メインウィンドウ42、プリンタ表示部43、インク情報表示部44、プリンタ情報表示部45は図12と同一である。
尚、プリンタ表示部43には図1では図示していないプリンタも表示している。同図ではインク情報表示部44、プリンタ情報表示部45にDEF社製のmodel−Dというモデル名のプリンタの情報及び状態を表示している。
インク情報表示部44に表示されている内容から、DEF社製のmodel−Dには黒(Black)、シアン(Cyan)、マゼンタ(Magenta)、黄(Yellow)、フォトシアン(PhotoCyan)、フォトマゼンタ(PhotoMagenta)、赤(Red)の7色のColor(色)のインクが装着されていることがわかる。
また、それぞれのName(名称)がDEF ink−b black、DEF inc−c cyan、DEF inc−m magenta、DEF inc−y yellow、DEF ink−pc photo cyan、DEF ink−pm photo magenta、DEF ink−r redであることがわかる。
また、State(状態)がLow(残りわずか)、Full(満タン)、Full(満タン)、Out(無し)、Low(残りわずか)、Out(無し)、Full(満タン)であることを表している。
プリンタ情報表示部45に表示されている内容は、DEF社製のmodel−Dは、10MBのメモリ、20GBのハードディスクドライブを搭載し、オプションとしてduplex unitという名称の両面印刷ユニットを搭載していることを表している。また、給紙手段としてasf−Aという名称のオートシートフィーダー、cassette−Aという名称のCassette、cassette−Bという名称のCassetteを装備していることを表している。また、排紙手段としてtray−Aという名称のトレイ、tray−Bという名称のトレイ、tray−Cという名称のトレイ、tray−Dという名称のトレイを装備し、オンライン(Online)であることを表している。図12と比較するとわかる通り、DEF社製のmodel−Dは、XYZ社製のkmmn(プリンタ3)には装備されていなかった機能として、auto book makerという名称の製本コンポーネントを追加のオプションとして新たに装備している。このように、本発明によれば、プリンタが新しい機能を装備した場合においても、その新しい機能に合わせてユーティリティ30(プリンタマネージャ)を作り直す必要がない。
図19はユーティリティ30がプリンタのシステムの情報を取得する時に使用するスキーマを表す図である。これらのスキーマは、ユーティリティ30がPrinting and Print Spooler Interfacesを介してLM36経由でプリンタ3からシステムの情報を取得する時に用いられる。より具体的には、Windows(登録商標) XP OSで使用できるCOMインタフェースIBidiSpl のAPI関数IBidiSpl::SendRecv()をコールする際に引数として指定される。
同図において、SystemInfoはシステムの情報を表すPropertyであり、スキーマのフルパスの指定は¥Printer.SystemInfoである。例えば、システムの情報を取得したい場合は、¥Printer.SystemInfoと指定する。
[Component]はシステムを構成するコンポーネントの種類を表すPropertyであり、スキーマのフルパスの指定は¥Printer.SystemInfo.[Component]、設定可能な値は、製本コンポーネントを表すBookMakerである。例えば、製本コンポーネントの情報を取得したい場合は、¥Printer.SystemInfo.BookMakerと指定する。Installedは[Component]種のコンポーネントが搭載されているか否かを表すValueである。データ型はBoolean、スキーマのフルパスの指定は¥Printer.SystemInfo.[Component]:Installed、設定可能な値は、搭載されていること表すTrue、その逆のFalseの何れかである。
Nameは[Component]種のコンポーネントの名称を表すValueである。データ型はString、スキーマのフルパスの指定は¥Printer.SystemInfo.[Component]:Nameである。設定可能な値の例は、同図のExamplesのようなASCIIの文字列である。
Installed、Name等のValueはLM36またはプリンタ3からユーティリティ30へ返される値である。このように、同図で定義されているスキーマを使って、ユーティリティ30はプリンタ3のシステムの情報を取得することができる。
図20は図13〜図15、図19などで定義されているスキーマを使ってインクの情報及び状態、動作状態、ハードウェアの情報、給紙手段の情報、排紙手段の情報、システムの情報を列挙(Enumeration)する時のスキーマ及び値を表す図である。同図は図31、図16で説明した内容と同様な内容を含んでおり、スキーマの定義における図31、図16との差分の内容に関して点線の四角で囲っている。
同図において、ユーティリティ30からのスキーマのルートをそれぞれ指定してIBidiSpl::SendRecv()関数をコールする。例えば、スキーマのルートとしては、¥Printer.InkInfo、¥Printer.StatusInfo、¥Printer.HardwareInfo、¥Printer.InputBinsInfo、¥Printer.OutputBinsInfo、¥Printer.SystemInfoが挙げられる。
すると(Query(Schema)欄)、DEF社製のmodel−Dの情報及び状態を表すスキーマ(Retrieve(Schema))と値(Retrieve(Value))がセットで返される。同図の例では、DEF社製のmodel−Dに黒、シアン、マゼンタ、黄、フォトシアン、フォトマゼンタ、赤のインクが装着されていることが示されている。また、インクの残量の状態がそれぞれ、インク残りわずか(Low)、インク満タン(Full)、インク満タン(Full)、インク無し(Out)、Low(残りわずか)、Out(無し)、インク満タン(Full)であることが示されている。また、インクの名称がそれぞれ、DEF ink−b black、DEF inc−c cyan、DEF inc−m magenta、DEF inc−y yellow、DEF ink−pc photo cyan、DEF ink−pm photo magenta、DEF ink−r redであることが示されている。
また、動作状態がオンラインでスタンバイ状態、搭載されているメモリのサイズが10MB、搭載されているハードディスクドライブのサイズが20GB、duplex unitという名称の両面印刷ユニットのオプションが搭載されていることが示されている。また、給紙手段としてasf−Aという名称のオートシートフィーダー、cassette−Aという名称のカセット、cassette−Bという名称のカセットを装備されていることが示されている。また、排紙手段としてtray−Aという名称のトレイ、tray−Bという名称のトレイ、tray−Cという名称のトレイ、tray−Dという名称のトレイを装備し、auto book makerという名称の製本コンポーネントを装備していることが示されている。
このようにユーティリティ30がスキーマを使って列挙(Enumeration)することで、ユーティリティ30がそのスキーマで表されるプリンタの全ての詳細情報を取得することができる。図31、図16と比較するとわかる通り、新機能として赤のインク、製本コンポーネントが追加されている。
図21はPCとプリンタ3の間でやり取りされるデータを表す図である。実際にPCとプリンタとの間で送受信されるデータはバイナリデータであるが、同図では理解しやすくすることを考えて、ASCII文字コードでエンコードした後のテキストデータとして表している。同図において、PCが「−PCから発行する要求コマンド−」欄のコマンドをDEF社製のmodel−DにUSBインタフェースを介して発行すると、「−プリンタから返される情報−」欄の情報がmodel−DからPCにUSBインタフェースを介して返される。
「ReqInk;」は、インクの情報及び状態要求コマンドを示す。プリンタから返される応答は、<色>、<型名>、<状態>の順に、黒、ink−b、残りわずか、及び、シアン、ink−c、満タン、及び、マゼンタ、ink−m、満タン、及び、黄、ink−y、無しを示す。さらに、フォトシアン、ink−pc、残りわずか、及び、フォトマゼンタ、ink−pm、無し、及び、赤、ink−r、満タンを示す。
また、「ReqMemory;」は、メモリのサイズ要求コマンドを示す。プリンタから返される応答は、10(単位:MB)を示す。また、「ReqHDD;」は、ハードディスクドライブのサイズ要求コマンドを示す。プリンタから返される応答は、20(単位:GB)を示す。
また、「ReqStatus;」は、動作状態要求コマンドを示す。プリンタから返される応答は、動作状態として、Onlineを示す。また、「ReqOption;」はオプション要求コマンドを示す。プリンタから返される応答は、装着されているオプションがduplex unitであることを示す。また、「ReqInputBins;」は給紙手段要求コマンドを示す。プリンタから返される応答は、給紙手段が、asf−A、cassette−A、cassette−Bであることを示す。
また、「ReqOutputBins;」は排紙手段要求コマンドを示す。プリンタから返される応答は、排紙手段が、tray−A、tray−B、tray−C、tray−Dであることを示す。また、「ReqSystem;」は、システム要求コマンドを示す。プリンタから返される応答は、システム(コンポーネント)がauto book makerであることを示す。
図20では例えば、「Retrieve (Schema)」が「¥Printer.InkInfo.Black:Name」で、「 Retrieve (Value)」が「DEF ink−b black」のようにインクの名称が返されている。
これは、図21の「PCから発行する要求コマンド」が「ReqInk;」で、「プリンタから返される情報」が「AnsInk:black.ink−・・ink−r.Full;」の情報に基づくDEF社製のランゲージモニタの処理による。DEF社製のランゲージモニタが、「プリンタから返される情報」に基づき、インクの名称を生成し、それをユーティリティ30に返している。
このように、ランゲージモニタ(LM36)は、プリンタ(プリンタ3)から取得した情報をそのままプリンタマネージャ(ユーティリティ30)に返す(送る)のではなく、適切な情報に変換してその情報を返す(送る)というような処理を行うことができる。
<第3の実施の形態>
図22は本実施の形態におけるユーティリティ30のユーザインタフェース表示様子を示す図である。同図は図12、図18に示すユーティリティ30のプリンタ情報表示部45の仕様の一部を変更した実施例である。同図において、メインウィンドウ42、プリンタ表示部43、インク情報表示部44は図12、図18と同一である。尚、プリンタ表示部43には図12では図示していないプリンタも表示している。同図ではインク情報表示部44、プリンタ情報表示部45にDEF社製のmodel−Dというモデル名のプリンタの情報及び状態を表示している。
プリンタ情報表示部45内の状態(Status:)表示部において、”Error”が表示されている。これはプリンタからエラーを表す情報が通知されている為である。例えば、図18のユーティリティ30においてこの情報が通知された場合、図18の状態(Status:)表示部には同図と同じような”Error”が表示されることになる。
同図において、46は詳細情報表示(Detail)ボタンであり、第3の実施の形態の特徴を表す部分である。プリンタの動作状態を表す新しい機能として、図24の点線の四角で囲われたような警告やエラーを表すスキーマが新たに定義された場合等に、状態表示部に表示しきれないような情報が存在するケースが発生する。詳細情報表示ボタン46は、このような状態表示部に表示しきれない情報が存在するケースや詳細情報を表示したいケースに押下できるように有効となってハイライトされ、それ以外の場合には無効となってグレーアウトされている。また、警告やエラーを表す情報が通知された場合にこの詳細情報表示ボタン46を警告状態やエラー状態を表す黄色や赤色で点灯または点滅させてもよい。詳細情報表示ボタン46が有効である時、このボタンが押下されると、図23に示す詳細情報ダイアログボックスを表示する。
図23は詳細情報ダイアログボックスの一例を表す図である。同図において、47は詳細情報ダイアログボックスであり、図22の詳細情報表示ボタン46が押下されると、この詳細情報ダイアログボックス47が表示される。48は詳細情報表示部であり、プリンタの動作状態の詳細情報が表示される。ここには図24のDetailの定義のExamples:に記載されているような情報が表示される。同図は用紙無しエラーが発生している状態を表している。49はOKボタンであり、このボタンが押下された場合、詳細情報ダイアログボックスを閉じて、図22のメインウィンドウ42に戻る。
図24はユーティリティ30がプリンタの動作状態を取得する時に使用するスキーマを表す図である。これらのスキーマは、ユーティリティ30がPrinting and Print Spooler Interfacesを介してLM36(ランゲージモニタ)経由でプリンタ3(プリンタ)から動作状態を取得する時に、Windows(登録商標) XP OSで使用できるCOMインタフェースIBidiSpl のAPI関数IBidiSpl::SendRecv()をコールする際に引数として指定される。同図は図7で説明した内容と同じ内容を含んでおり、図32との差分の内容に関して点線の四角で囲っている。
同図において、StatusInfoは動作状態を表すPropertyであり、スキーマのフルパスの指定は¥Printer.StatusInfoである。[Type]は動作状態の種類を表すPropertyである。また、スキーマのフルパスの指定は¥Printer.StatusInfo.[Type]である。また、設定可能な値は、オンラインを表すOnline、オフラインを表すOffline、印刷中を表すPrinting、警告を表すWarning、エラーを表すErrorなどである。例えば、オンラインの動作状態に関する情報を取得したい場合は、¥Printer.StatusInfo.Onlineと指定する。
Detailは[Type]種の動作状態の詳細情報を表すValueであり、データ型はString、スキーマのフルパスの指定は¥Printer.StatusInfo.[Type]:Detailである。また、設定可能な値の例は、同図のExamplesのようなASCIIの文字列である。DetailのValueはLM36(ランゲージモニタ)またはプリンタ3(プリンタ)からユーティリティ30へ返される値である。このように、同図で定義されているスキーマを使って、ユーティリティ30はプリンタ3(プリンタ)の動作状態を取得することができる。
図25は図13〜図15、図19、図24などで定義されているスキーマを使ってインクの情報及び状態、動作状態、ハードウェアの情報、給紙手段の情報、排紙手段の情報、システムの情報を列挙(Enumeration)する時のスキーマ及び値を表す図である。同図は図31、図16、図20で説明した内容と同じ内容を含んでおり、特に、図20との差分の内容に関して点線の四角で囲っている。同図では図20との差分に関して説明する。
同図において、ユーティリティ30から「¥Printer.StatusInfo」のスキーマルートを指定してIBidiSpl::SendRecv()関数をコールすると(Query(Schema)欄)、DEF社製のmodel−Dの情報及び状態を表すスキーマ(Retrieve(Schema))と値(Retrieve(Value))がセットで返される。同図の例では、model−Dが図20に示すようなオンラインでスタンバイ状態から用紙無しエラー状態変化した様子を表している。
図26はPCとプリンタ3の間でやり取りされるデータを表す図である。実際にPCとプリンタとの間で送受信されるデータはバイナリデータであるが、同図では理解しやすくすることを考えて、ASCII文字コードでエンコードした後のテキストデータとして表している。同図は図21で説明した内容と同じ内容を含んでおり、図21との差分の内容に関して点線の四角で囲っている。同図では図21との差分に関して説明する。
同図において、PCが「−PCから発行する要求コマンド−」欄のコマンドをDEF社製のmodel−DにUSBインタフェースを介して発行すると、「− プリンタから返される情報 −」欄の情報がmodel−DからPCにUSBインタフェースを介して返される。この情報は、「ReqStatus;」が動作状態要求コマンドを示し、その応答が、用紙無しエラーを示す。
図27はユーティリティ30(プリンタマネージャ)の本実施の形態の処理を表すフローチャートである。
同図において、ユーティリティ30が起動すると(S3601)、図6に示すLM36(ランゲージモニタ)における通知サービスの通知の割り込みの受付けを許可し(S3602)する。そして、図22に示すメインウィンドウを表示し(S3603)、メッセージループを作成する(S3604)。S3605では、図7のステップS2404でLM36(ランゲージモニタ)からユーティリティ30(プリンタマネージャ)に送られた通知の割り込みが発生したか否かを判定する。S3605で通知の割りこみが発生したと判定した場合、通知されたスキーマのルート、すなわち、通知に関する情報を取得して保存する(S3606)。そして、図10で説明したと同様の通知に基づく情報の取得と更新の処理を行う(S3607)。
ステップS3604で、作成したメッセージループがメッセージを受信したか否かを判定する(S3608)。受信したメッセージが終了メッセージの場合(S3609)、ユーティリティ30(プリンタマネージャ)の全ての処理を終了してユーティリティ30を終了する(S3613)。
S3609でNOと判定した場合に、ステップS3609で詳細情報表示ボタン46が押下されか否かを判定する。この判定処理により、LM36より取得したいスキーマルート(取得方法)によってLM36が保持した情報を取得するか否かを判定することができる。そして、押下されたたことを表すメッセージの場合(S3610)、ステップS3606で保存されているStatusInfoのスキーマ、¥Printer.StatusInfoをロードし(S3611)、ステップS3607へ進む。
ステップS3610において、詳細情報表示ボタン46が押下されたことを表すメッセージ以外の場合、各メッセージに対応する処理を行い(ここではその詳細説明は省略)(S3612)、ステップS3605に戻る。
ステップS3608において、メッセージを受信しなかった場合、ステップS3605に戻る。ステップS3605において、通知の割り込みが発生しない場合、ステップS3608へ進む。
このように、詳細情報表示ボタン46が押下されたことを表すメッセージを受信した時、すなわち、詳細情報表示ボタンが押下された時に、LM36(ランゲージモニタ)からプリンタ3(プリンタ)の動作状態を取得する。これにより、プリンタマネージャ(ユーティリティ30)からLM36(ランゲージモニタ)に対して不要な情報の取得を試みることなく、必要な時に必要な情報だけを適確に取得でき、処理効率を向上することができ、品質を向上することができる。
図28は別の印刷システムの概略を示す。同図は、図1に示すような周辺装置制御システムのネットワーク4上に、ネットワーク対応型のプリンタが接続されたケースを表している。7はネットワーク対応型のプリンタであり、PC2内のユーティリティ30(プリンタマネージャ)において、このプリンタの情報や状態を表示することが可能である。これは、プリンタ7が、PC1内のLM36が行っていたような本発明に関する一部の処理を、プリンタ内のファームウェアに実装してプリンタ内で処理することで実現している。PC2内のプリンタ7を制御するランゲージモニタが図6に示すような通知サービスの処理を行っていることで実現している。このように、本発明に関する一部の処理を、LM36に実装せずにプリンタ本体のファームウェアに実装することで、LM36を介すことなくプリンタ本体で処理することが可能となり、同様な効果を得ることができる。
図29は本発明に係る情報処理装置及び周辺装置からなる周辺装置制御システムの一実施形態におけるシステムの構成部分を表すブロック図である。同図は、図1に示すような周辺装置制御システムを、ネットワーク4上で実現するのではなく、PCとプリンタだけから構成されるローカルポート接続環境で実現したケースを表している。
同図において、ユーティリティ10図1におけるPC2内のユーティリティ30と同様のものをPC1内にインストールしたものである。これにより、PC1内のユーティリティ10とLM36との間にPrinting and Print Spooler Interfacesが構成さる。そして、このPrinting and Print Spooler Interfacesを介して、ユーティリティ10(プリンタマネージャ)とLM36との間で上述の各実施形態で説明したようなデータ通信を行うことができる。
以上の説明では、ユーティリティ30でプリンタ3に搭載されているインクの情報及び状態、周辺装置の動作状態、警告、エラーの状態、オプションの装着状態をモニタする例を説明したが、これらの例に限られない。プリンタに係る任意の情報や状態の取得に有効活用できる。
また、Printing and Print Spooler Interfacesを介してBidi Communications Schemaを利用して実現しているが、この例に限られることない。例えばMIBやUniversal Plug and Play(UPnP)等、同様な機能を備えるプロトコル等を利用して、実現することができる。また、実現するにあたっては、標準化された規格を利用することで、より汎用的なシステムを容易に実現することができる。また、プリンタの例としてカラーインクジェットプリンタを使用したが、この例に限られることなく、例えば、モノクロLBP等の任意のプリンタを使用することができる。またクライアントやサーバとしてパーソナルコンピュータを想定したが、この例に限られることなく、例えばDVDビデオプレーヤー、ゲーム、セットトップボックス、インターネット家電等、同様な使用方法が可能な任意の端末に対して実現することができ、有効である。
さらに、周辺装置としてプリンタを例示しているが、周辺装置として他に、複写機、ファクシミリ、スキャナ、デジタルカメラ、及びこれらの複合機能を備える装置等のいずれかが、本発明の適用対象となり得る。また、OSに例としてWindows(登録商標)XPを使用したが、これらのOSに限られることなく、任意のOSを使用することができる。また、ネットワーク4の構成例としてEthernet(登録商標)を用いたが、この例に限られることなく、他の任意のネットワーク構成であってもよい。また、PC1とプリンタ3との間のインタフェースとして、USBインタフェースを用いたが、このインタフェースに限られることなく、例えば、Ethernet(登録商標)、無線LAN、IEEE1394、Bluetooth、IrDA、パラレル、シリアル等の任意のインタフェースを用いるようにしてもよい。
<第4の実施の形態>
上述の各実施の形態では、ユーティリティ30(プリンタマネージャ)が、スキーマのルートを取得するタイミングとして、図9のS2505や、図27のS3605に示したように、下位側(LM36やプリンタ2)からの通知に基づくものであった。しかしながら、ユーティリティ30が、スキーマーの取得方法としてのルートを獲得するタイミングとして、更に、応用したタイミングも想定される。
例えば、ユーティリティ30内部で、イベントの割り込みを発生させ、ユーティリティ30が、定期的にLM36又はプリンタ3に、新たに取得すべき、取得方法としてのルートの存在を問合せるようにしても良い。また、ユーティリティ30のUIに取得方法としてのルート取得の為のボタンを設け、ボタン押下のメッセージがあった場合に、ユーティリティ30から、LM36又はプリンタ3に、新たに取得すべき、取得方法としてのルートの存在を取得させても良い。
図30はユーティリティ30の第4の実施の形態における処理を表すフローチャートである。
なお、S3006の詳細な処理については、先の実施の形態で説明した図10のフローチャートに示される各ステップと同様の処理が実行される。詳細な説明はここでは省略する。以下,図30のフローチャートについて、詳細に説明する。
図30で、S3001でプリンタマネージャが起動すると、S3002で図5に示すメインウィンドウを表示し、S3003で5秒間毎の割り込みイベント処理を開始し、S3004でメッセージループを作成する。
次に、S3005では、S3003で開始された5秒毎の割り込みイベントの割り込みが発生したか否かを判定する。5秒毎の割り込みイベントの割り込みが発生した場合、S3006で図14に示す情報の取得と更新を行う。S3007では、S3004で作成したメッセージループが、メッセージを受信したか否かを判定する。S3008で、受信したメッセージが終了メッセージか否かを判定する。S3008での判定が終了メッセージの場合、S3009でプリンタマネージャの全ての処理を終了してプリンタマネージャを終了する。一方、S3008において、受信したメッセージが終了メッセージ以外の場合、S3009で、各メッセージに対応する処理を行い(ここではその詳細説明は省略)、S3005に戻る。S3007において、メッセージを受信しなかった場合、S3005に戻る。S3005において、5秒毎の割り込みイベントの割り込みが発生しなかった場合、S3007へ進む。
<第5の実施の形態>
スキーマーの取得方法としてのルートを取得した場合に、それをファイルに書込み、PCの電源が再起動された場合にも再利用できる形態に保存し、以後、プリンタマネージャが利用する形態も想定される。こうすることにより、ユーティリティ30の利便性を更に向上させることができる。
(他の実施形態の説明)
また、本発明の目的は、システムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。ここで、記憶媒体には、前述した実施形態における、各フローチャートに示される各機能を実現するソフトウェアのプログラムコードが記録されることになる。
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
プログラムコードを供給するための記憶媒体としては、例えば、フロッピディスク,ハードディスク,光ディスク,光磁気ディスク,CD−ROM,CD−R,磁気テープ,不揮発性のメモリカード,ROMなどを用いることができる。
また、本発明は、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現される場合に限られるものではない。そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、本発明は、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれることで前述した実施形態の機能が実現される場合も含む。この場合、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現されることになる。
印刷システムの概略の一例を表す図である。 一般的な情報処理装置のハードウェア構成の一例を表すブロック図である。 周辺機器のハードウェア構成の一例を表すブロック図である。 情報処置装置で稼動するソフトウェアモジュールのブロック図の一例を表す図である。 印刷システムにおける処理の流れの説明図である。 監視手段(LM36)の通知サービス処理を示すフローチャートである。 監視手段(LM36)の通知サービス処理を示すフローチャートである。 スキーマーの定義に従う変換処理を表すフローチャートである。 ユーティリティによるプリンタ3の情報の獲得処理を示すフローチャートである。 ユーティリティによるプリンタ3の情報の獲得処理を示すフローチャートである。 情報表示用データの作成の処理を表すフローチャートである。 ユーティリティ30のユーザインタフェースの表示様子を示す図である。 ユーティリティ30がプリンタのインクの情報及び状態を取得する時に使用するスキーマを表す図である。 ユーティリティ30がプリンタのハードウェアの情報を取得する時に使用するスキーマを表す図である。 ユーティリティ30がプリンタの給紙手段の情報を取得する時に使用するスキーマを表す図である。 プリンタ3の情報を列挙する時のスキーマ及び値の一例を表す図である。 PCとプリンタ3の間でやり取りされるデータを表す図である。 ユーティリティ30のユーザインタフェースの表示様子を示す図である。 ユーティリティ30がプリンタの給紙手段の情報を取得する時に使用するスキーマを表す図である。 プリンタ3の情報を列挙する時のスキーマ及び値の一例を表す図である。 PCとプリンタ3の間でやり取りされるデータを表す図である。 ユーティリティ30のユーザインタフェースの表示様子を示す図である。 詳細情報ダイアログボックスの一例を表す図である。 ユーティリティ30がプリンタの動作状態を取得する時に使用するスキーマを表す図である。 プリンタ3の情報を列挙する時のスキーマ及び値の一例を表す図である。 PCとプリンタ3の間でやり取りされるデータを表す図である。 ユーティリティによるプリンタ3の情報の獲得処理を示すフローチャートである。 別の印刷システムの概略の一例を表す図である。 別の印刷システムの概略の一例を表す図である。 ユーティリティによるプリンタ3の情報の獲得処理を示すフローチャートである。 従来におけるプリンタの情報を列挙する場合のスキーマ及び値の一例を示す図である。 従来におけるユーティリティ30がプリンタの情報を取得する際のスキーマの一例を表す図である。 従来におけるユーティリティ30がプリンタの情報を取得する際のスキーマの一例を表す図である。

Claims (10)

  1. 通信媒体を介して印刷装置からの情報を情報要求またはイベント登録により取得し保持する監視手段を用いた情報処理方法であって、
    前記監視手段から前記保持される情報を取得する為の取得方法を表すルート情報を獲得する獲得工程と、
    前記獲得工程にて獲得された前記取得方法を表すルート情報を引数として、前記監視手段に問合せを行う問合せ工程と、
    前記問合せ工程による問合せの応答として、前記監視手段によって前記ルート情報に対応づけて保持された情報を取得する取得工程と、
    前記取得工程において取得された情報に基づく表示を表示部に行わせる表示制御工程とを有することを特徴とする情報処理方法。
  2. 前記監視手段は、前記印刷装置から取得された情報を、前記取得方法に基づく獲得要求に応答する形式に変換し保持することを特徴とする請求項1に記載の情報処理方法。
  3. 前記獲得工程において獲得されたルート情報によって前記保持された情報を取得するか否かを判定する判定工程を有し、
    前記取得工程は前記判定工程における判定に基づき前記保持された情報を取得することを特徴とする請求項1又は2に記載の情報処理方法。
  4. 前記取得方法は、前記監視手段により取得した前記印刷装置からの情報に変化があった場合に、前記監視手段により能動的に通知され前記獲得工程において取得されたものであることを特徴とする請求項1乃至3の何れかに記載の情報処理方法。
  5. 通信媒体を介して印刷装置からの情報を情報要求またはイベント登録により取得し保持する監視手段を備える情報処理装置であって、
    前記監視手段から前記保持される情報を取得する為の取得方法を表すルート情報を獲得する獲得手段と、
    前記獲得手段により獲得された前記取得方法を表すルート情報を引数として、前記監視手段に問合せを行う問合せ手段と、
    前記問合せ工程による問合せの応答として、前記監視手段によって前記ルート情報に対応づけて保持された情報を取得する取得手段と、
    前記取得手段において取得された情報に基づく表示を表示部に行わせる表示制御手段とを有することを特徴とする情報処理装置。
  6. 前記監視手段は、前記印刷装置から取得された情報を前記取得方法に基づく獲得要求に応答する形式に変換し保持することを特徴とする請求項に記載の情報処理装置。
  7. 前記獲得手段によって獲得されたルート情報によって前記保持された情報を取得するか否かを判定する判定手段を有し、前記取得手段は前記判定手段の判定に基づき前記保持された情報を取得することを特徴とする請求項又はに記載の情報処理装置。
  8. 前記取得方法は、前記監視手段により取得した前記印刷装置からの情報に変化があった場合に、前記監視手段により能動的に通知され前記獲得手段により取得されたものであることを特徴とする請求項乃至の何れかに記載の情報処理装置。
  9. 請求項1乃至の何れかに記載の情報処理方法をコンピュータに実行させる為のプログラム。
  10. 請求項1乃至の何れかに記載の情報処理方法をコンピュータに実行させる為のプログラムをコンピュータ可読の形態で記憶した記憶媒体。
JP2006194350A 2005-08-12 2006-07-14 情報処理方法、情報処理装置、プログラム及び記憶媒体 Expired - Fee Related JP4795151B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2006194350A JP4795151B2 (ja) 2005-08-12 2006-07-14 情報処理方法、情報処理装置、プログラム及び記憶媒体
US11/460,096 US8514427B2 (en) 2005-08-12 2006-07-26 Information processing method and apparatus equipped with a monitoring unit
EP06254105A EP1755031A3 (en) 2005-08-12 2006-08-04 Information processing method and apparatus
RU2006129227/09A RU2346320C2 (ru) 2005-08-12 2006-08-11 Способ и устройство для обработки информации
CN200610109776.2A CN1912823B (zh) 2005-08-12 2006-08-11 信息处理方法和装置

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2005234620 2005-08-12
JP2005234620 2005-08-12
JP2006194350A JP4795151B2 (ja) 2005-08-12 2006-07-14 情報処理方法、情報処理装置、プログラム及び記憶媒体

Publications (2)

Publication Number Publication Date
JP2007073037A JP2007073037A (ja) 2007-03-22
JP4795151B2 true JP4795151B2 (ja) 2011-10-19

Family

ID=37395952

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006194350A Expired - Fee Related JP4795151B2 (ja) 2005-08-12 2006-07-14 情報処理方法、情報処理装置、プログラム及び記憶媒体

Country Status (5)

Country Link
US (1) US8514427B2 (ja)
EP (1) EP1755031A3 (ja)
JP (1) JP4795151B2 (ja)
CN (1) CN1912823B (ja)
RU (1) RU2346320C2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4630783B2 (ja) * 2004-12-16 2011-02-09 キヤノン株式会社 周辺装置制御システム、印刷装置、周辺装置制御方法、及びプログラム
JP4795151B2 (ja) * 2005-08-12 2011-10-19 キヤノン株式会社 情報処理方法、情報処理装置、プログラム及び記憶媒体
JP4669901B2 (ja) * 2008-10-21 2011-04-13 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム
RU2480820C1 (ru) * 2011-12-08 2013-04-27 Учреждение Российской академии наук Научно-исследовательский институт системных исследований РАН (НИИСИ РАН) Устройство обработки информации
JP5862475B2 (ja) * 2012-06-18 2016-02-16 株式会社リコー 出力管理装置、出力管理システム、プログラム
US10705865B2 (en) * 2014-02-25 2020-07-07 Red Hat, Inc. Disk resize of a virtual machine
JP2024016353A (ja) * 2022-07-26 2024-02-07 キヤノン株式会社 情報処理装置、プログラム

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3501611B2 (ja) * 1996-07-03 2004-03-02 キヤノン株式会社 画像形成方法とその装置
US6301012B1 (en) 1998-04-24 2001-10-09 Hewlett-Packard Company Automatic configuration of a network printer
JP3697114B2 (ja) * 1998-08-28 2005-09-21 キヤノン株式会社 情報処理装置及び情報処理方法及び情報処理システム及び情報処理プログラムを記憶した記憶媒体及び情報処理プログラムを送出する送出装置及び情報処理プログラム製品
JP4384023B2 (ja) * 1998-08-28 2009-12-16 キヤノン株式会社 情報処理装置及び情報処理方法及び情報処理システム及び情報処理プログラムを記憶した記憶媒体及び情報処理プログラムを送出する送出装置及び情報処理プログラム製品
US6814510B1 (en) 2000-08-02 2004-11-09 Xerox Corporation Method and apparatus for automatic update of a printer driver configuration and status
DE60237383D1 (de) * 2001-10-30 2010-09-30 Sony Corp Überwachungsverfahren für elektronische einrichtungen, elektronische einrichtung, computer und programm dafür
JP3854852B2 (ja) * 2001-11-09 2006-12-06 パナソニック コミュニケーションズ株式会社 管理情報送信装置、機器管理装置および機器管理システム
US7327482B2 (en) * 2002-10-15 2008-02-05 Sharp Laboratories Of America, Inc. Integrated printer monitoring
JP2004213266A (ja) * 2002-12-27 2004-07-29 Kyocera Mita Corp デバイス管理装置、およびこれを用いたデバイス管理システム
US7522299B2 (en) 2003-06-30 2009-04-21 Microsoft Corporation System and method for automatic configuration
US20050071483A1 (en) * 2003-09-26 2005-03-31 Tetsuro Motoyama Method and system for supporting multiple protocols used to monitor networked devices in a remote monitoring system
KR20050075489A (ko) * 2004-01-15 2005-07-21 유티스타콤코리아 유한회사 메타 mib 를 이용한 자동 업데이트 시스템 및 방법
JP4387964B2 (ja) * 2004-04-28 2009-12-24 キヤノン株式会社 印刷システム、印刷ジョブ管理方法、プログラム及び記憶媒体
US20060192985A1 (en) * 2005-02-25 2006-08-31 Konica Minolta Systems Laboratory, Inc. Printing system
JP4795151B2 (ja) * 2005-08-12 2011-10-19 キヤノン株式会社 情報処理方法、情報処理装置、プログラム及び記憶媒体

Also Published As

Publication number Publication date
EP1755031A2 (en) 2007-02-21
RU2006129227A (ru) 2008-02-20
JP2007073037A (ja) 2007-03-22
CN1912823A (zh) 2007-02-14
CN1912823B (zh) 2014-03-05
RU2346320C2 (ru) 2009-02-10
US20070038667A1 (en) 2007-02-15
US8514427B2 (en) 2013-08-20
EP1755031A3 (en) 2010-06-09

Similar Documents

Publication Publication Date Title
JP4795151B2 (ja) 情報処理方法、情報処理装置、プログラム及び記憶媒体
JP5287041B2 (ja) データ処理システム、コンピュータ読取可能なデータ記憶媒体及び方法
US20190212961A1 (en) Information processing apparatus, method, system, and medium, with setup page that shows information indicating functions
US8214548B2 (en) Capability-based control device driver of a computer peripheral device
US8139500B2 (en) Information processing device and method thereof, and computer program product
JP5142969B2 (ja) 印刷処理システム、印刷処理方法、及びコンピュータプログラム
JP5047067B2 (ja) 情報処理装置、データ出力システム、データ生成プログラム及びその記録媒体
JP4827445B2 (ja) 周辺装置制御システム及びその制御方法及び情報処理装置、並びに、コンピュータプログラム
EP2587363B1 (en) Image forming device, server, and image forming system
JP4673260B2 (ja) 情報処理装置及びジョブチケット生成方法
EP2278450A2 (en) Image forming apparatus, image forming system, and image forming method
US6431772B1 (en) Broadcast printing system and method
JP2010211795A (ja) ウェブサービスを実行することが可能な印刷装置により印刷を行うための装置及びコンピュータで使用される方法
CN111251732B (zh) 控制方法和存储介质
US20050168773A1 (en) Printing system for predicting printing error through preliminary inspection of printer driver and method thereof
JP4420053B2 (ja) 情報管理装置、情報管理方法及びそのプログラム
JP2008097226A (ja) 情報処理装置及び情報処理方法
EP1447738A1 (en) Image&sound output system
KR100851117B1 (ko) 정보 처리 방법 및 장치
JP2010097479A (ja) 画像形成装置の制御プログラム、画像形成システム、及び画像形成方法
JP3994984B2 (ja) プリント支援モジュール、記録媒体及びプリントジョブ発行方法
JP2002244821A (ja) プリントサーバを利用した印刷方法、プリントサーバ、プログラム、及び、記録媒体
JP4865885B2 (ja) 印刷システム、ネットワークインターフェース装置、ネットワークインターフェース装置の制御方法、及び記憶媒体
JP5100798B2 (ja) 情報処理装置、情報処理方法及びプログラム
JP2003091401A (ja) 印刷制御装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090714

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20100201

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20100630

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110118

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110316

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

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

R151 Written notification of patent or utility model registration

Ref document number: 4795151

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

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

Free format text: PAYMENT UNTIL: 20140805

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees