JP2008165510A - ステータスモニタプログラム - Google Patents

ステータスモニタプログラム Download PDF

Info

Publication number
JP2008165510A
JP2008165510A JP2006354659A JP2006354659A JP2008165510A JP 2008165510 A JP2008165510 A JP 2008165510A JP 2006354659 A JP2006354659 A JP 2006354659A JP 2006354659 A JP2006354659 A JP 2006354659A JP 2008165510 A JP2008165510 A JP 2008165510A
Authority
JP
Japan
Prior art keywords
state
message
processing
status
status monitor
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.)
Granted
Application number
JP2006354659A
Other languages
English (en)
Other versions
JP4930051B2 (ja
Inventor
Masatoshi Kadota
政敏 門田
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 JP2006354659A priority Critical patent/JP4930051B2/ja
Priority to US11/965,954 priority patent/US8867063B2/en
Publication of JP2008165510A publication Critical patent/JP2008165510A/ja
Application granted granted Critical
Publication of JP4930051B2 publication Critical patent/JP4930051B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G03PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
    • G03GELECTROGRAPHY; ELECTROPHOTOGRAPHY; MAGNETOGRAPHY
    • G03G15/00Apparatus for electrographic processes using a charge pattern
    • G03G15/50Machine control of apparatus for electrographic processes using a charge pattern, e.g. regulating differents parts of the machine, multimode copiers, microprocessor control
    • G03G15/5004Power supply control, e.g. power-saving mode, automatic power turn-off
    • 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/1293Printer information exchange with computer
    • G06F3/1294Status or feedback related to information exchange
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

【課題】情報処理装置が省電力状態への移行・復帰した場合でも適切なステータス情報を表示可能なステータスモニタのプログラムを提供すること。
【解決手段】PCが、省電力状態(第2状態)から通常の作動状態(第1状態)へ復帰し、その旨を示すメッセージがOS側から到来した際、そのメッセージを検知したら(S1011:YES)、ステータス情報の提供開始を要求するための開始信号を、プリンタに対して送信する(S1017)。その結果、仮にPCが省電力状態へ移行している間にプリンタ側の状態が初期化されていたとしても、プリンタは、あらためてステータス情報を提供可能な状態になる。したがって、PCは、プリンタの状態を表示する処理を問題なく再開することができる。
【選択図】図11

Description

本発明は、ステータスモニタプログラムに関する。
従来、コンピュータにおいて、プリンタの動作状況や用紙切れ等のステータス情報をプリンタから受信し、受信したステータス情報をコンピュータのディスプレイに表示する技術は、既に実用化されている。この種の機能を持つソフトウェアは、一般に、ステータスモニタと呼ばれている(例えば、特許文献1参照)。
また、ステータス情報を提供可能なプリンタとしては、ステータス情報の提供開始を要求するための開始信号がコンピュータ側からプリンタ側へ送信されると、その開始信号の受信以降、ステータス情報を提供する状態になるものが知られている。
このようなプリンタからステータス情報を取得したい場合、ステータスモニタは、最初に開始信号の送信処理を実行し、その後は、必要に応じてステータス情報の取得処理を繰り返すことになる。
特開2006−260187号公報
ところで、上記のようなコンピュータは、近年、サスペンド機能あるいはハイバネーション機能と呼ばれるような電源管理機能を備えるものが主流になっている。
サスペンド機能を備えるコンピュータは、通常の作動状態(電源オン状態;以下、第1状態ともいう)にあった時の各種情報や状態をメモリに保持したまま、電源オフ状態に近い省電力状態(以下、第2状態ともいう)へ移行することができる。そして、必要時には、省電力状態へ移行する前の状態に復帰することができる。
また、ハイバネーション機能を備えるコンピュータは、通常の作動状態(第1状態)にあった時の各種情報や状態をハードディスク等の記憶装置に書き出した上で、電源オフ状態と同等な省電力状態(第2状態)へ移行することができる。そして、必要時には、記憶装置に書き出しておいた各種情報や状態を読み込むことにより、省電力状態へ移行する前の状態に復帰することができる。
しかし、ステータスモニタが起動されているコンピュータにおいて、上記の様な省電力機能が利用されると、以下に述べるような問題が生じる場合がある。
すなわち、上記の様な省電力機能が利用されるのは、通常、利用者がコンピュータの使用を中断ないし終了するときであるため、同時にプリンタの電源スイッチもオフにされることは多い。そして、その後、利用者がコンピュータやプリンタの使用を再開する時に、コンピュータは省電力状態から通常の作動状態に復帰することになり、その際、あらためてプリンタの電源スイッチがオンにされることがある。
このような場合、プリンタ側においては、電源オフ/オンに伴ってプリンタの状態は初期化されるため、電源オフ前に情報処理装置側から開始信号を受信していたとしても、その開始信号の受信は無効となる。
一方、コンピュータ側においては、コンピュータが省電力状態に移行している間に、プリンタの電源オフ/オンが実施されているので、そのようなプリンタ側での状態変化があったことをコンピュータ側で認識することができない。しかも、コンピュータ側においては、ステータスモニタが、既に開始信号送信済みという状態に復帰するので、以降は、必要に応じてステータス情報の取得処理を繰り返そうとする。
そのため、コンピュータでは、開始信号送信済みとの前提で、ステータス情報の取得処理が行われるものの、プリンタでは、開始信号を受信していないので、コンピュータ側へステータス情報を提供しない状態となる。
したがって、この状態において、例えば、プリンタ側で何らかのエラーが発生したとしても、その様なステータス情報をコンピュータ側で取得することができず、ステータス情報を適切に表示できなくなってしまう、という問題があった。
本発明は、上記問題を解決するためになされたものであり、その目的は、情報処理装置を、省電力状態への移行・復帰後も適切なステータス情報を表示可能なステータスモニタとして機能させることができるステータスモニタプログラムを提供することにある。
以下、本発明において採用した構成について説明する。
本発明のステータスモニタプログラムは、通常の作動状態である第1状態から当該第1状態よりも電力消費を抑制する状態である第2状態へ移行可能、且つ、前記第2状態から前記第1状態に復帰可能に構成された情報処理装置を、前記情報処理装置が前記第2状態から前記第1状態へ復帰したことを検知する第1検知手段と、前記第1検知手段によって前記第1状態への復帰を検知した場合に、画像形成装置に対し、当該画像形成装置の状態を示すステータス情報の提供開始を要求するための開始信号を送信する第1送信手段と、前記開始信号を受信した前記画像形成装置から前記ステータス情報を取得する取得手段と、前記取得手段によって取得された前記ステータス情報に基づいて、前記画像形成装置の状態を表示する表示処理手段として機能させることにより、前記画像形成装置の状態を表示するステータスモニタとして機能させることを特徴とする。
このように構成されたプログラムによって情報処理装置をステータスモニタとして機能させれば、情報処理装置が第2状態から第1状態へ復帰した時点で、情報処理装置側から画像形成装置側へ開始信号が送信される。
したがって、仮に情報処理装置が第2状態へ移行している間に画像形成装置側の状態が初期化されていたとしても、あらためて画像形成装置の状態を表示する処理を開始することができる。
なお、本発明において、第2状態とは、通常の作動状態である第1状態よりも電力消費を抑制する状態のことであり、いわゆるサスペンド状態、ハイバネート状態は、いずれも本発明でいう第2状態に相当する。また、サスペンド/ハイバネートは、それぞれスタンバイ/休止状態等と呼ばれることもあるが、このように単に呼び方が変わっても、当然ながら本発明でいう第2状態に相当する。
さらに、より高度な電源管理を行う情報処理装置の中には、最初はサスペンド状態へ移行し、その後、バッテリー電圧が所定以下に低下すると、メモリに保持していた情報をハードディスク等の記憶装置に書き出した上で、ハイバネート状態へ移行するものもある。このようなサスペンド状態およびハイバネート状態が併用される状態も、本発明でいう第2状態に相当するものである。
ところで、本発明のステータスモニタプログラムは、前記情報処理装置を、前記画像形成装置と通信可能か通信不能かを判定する第1判定手段として機能させ、前記第1送信手段を、前記第1判定手段によって通信可能と判定された場合に、前記開始信号を送信する手段として機能させるように構成されていてもよい。
このように構成されたプログラムによって情報処理装置をステータスモニタとして機能させれば、情報処理装置が、画像形成装置と通信できることを確認した上で開始信号を送信するので、開始信号を確実に画像形成装置へ伝送することができる。
また、本発明のステータスモニタプログラムは、前記情報処理装置を、前記第1判定手段によって通信不能と判定された場合に、前記情報処理装置を前記ステータスモニタとして機能させる処理を終了する制御手段として機能させるように構成されていてもよい。
このように構成されたプログラムによって情報処理装置をステータスモニタとして機能させれば、情報処理装置において、ステータスモニタが不要な状態であれば、ステータスモニタが終了する。したがって、ステータスモニタが終了する分だけ情報処理装置の資源を開放することができ、情報処理装置にかかる負荷を軽減できる。
また、本発明のステータスモニタプログラムは、前記情報処理装置を、前記第1状態から前記第2状態へ移行することを検知する第2検知手段と、前記第2検知手段によって前記第2状態への移行を検知した場合に、前記画像形成装置に対し、前記ステータス情報の提供終了を要求するための終了信号を送信する第2送信手段として機能させるように構成されていてもよい。
このように構成されたプログラムによって情報処理装置をステータスモニタとして機能させれば、情報処理装置は、第2の状態へ移行する際に、画像形成装置側での処理を終了させる。したがって、画像形成装置における不要な処理を実施しなくてもよくなり、画像形成装置にかかる負荷を軽減できる。
また、前記情報処理装置が、前記第1状態から前記第2状態へ移行してもよいかどうかの問い合わせを行った後、当該問い合わせに対して前記第2状態への移行を拒否する応答がなかった場合に、前記第1状態から前記第2状態へ移行する旨の通知を行った上で、前記第1状態から前記第2状態へ移行するように構成されている場合、本発明のステータスモニタプログラムは、前記第2検知手段を、前記第1状態から前記第2状態へ移行してもよいかどうかの問い合わせを検知する手段として機能させるように構成されていてもよい。
このように構成されたプログラムによって情報処理装置をステータスモニタとして機能させれば、情報処理装置をステータスモニタとして機能させる処理系に対して問い合わせがあった段階で、画像形成装置に対する終了信号が送信される。したがって、情報処理装置が第1状態から第2状態へ移行する前に、終了信号の送信処理を開始することができる。
また、本発明のステータスモニタプログラムは、前記情報処理装置を、前記第2送信手段によって前記終了信号が外部へ送信されたか否かを判定する第2判定手段と、前記第2判定手段によって前記終了信号が外部へ送信されたと判定された場合、前記問い合わせに対して前記第2状態への移行を許可する応答を行う応答手段として機能させるように構成されていてもよい。
このように構成されたプログラムによって情報処理装置をステータスモニタとして機能させれば、情報処理装置は、画像形成装置に対する終了コマンドの送信を確実に行った後に、第1状態から第2状態へ移行することができる。
また、本発明のステータスモニタプログラムは、前記情報処理装置を、前記第1検知手段によって前記第1状態への復帰を検知した場合に、前記画像形成装置に対し、前記画像形成装置のスリープ状態を解除するための信号を送信する第3送信手段として機能させるように構成されていてもよい。
このように構成されたプログラムによって情報処理装置をステータスモニタとして機能させれば、情報処理装置は、第2状態から第1状態への復帰に伴い、事前に画像形成装置のスリープ状態を解除できる。したがって、その後、印刷を行う場合には、直ちに画像形成装置を利用することができる。
次に、本発明の実施形態について一例を挙げて説明する。
[システム全体の構成]
図1は、パーソナルコンピュータ1(本発明でいう情報処理装置の一例に相当;以下、PC1という)とプリンタ2A、2B(本発明でいう画像形成装置の一例に相当)とを備えてなるシステム全体の構成を示した概略構成図である。
図1において、PC1については、PC1が備えるソフトウェアおよびハードウェアの内、プリンタ2A、2Bからステータス情報を取得する処理に関連する処理系だけを抜粋して示してある。
このPC1には、マルチタスク機能を備えたOS(Operating System)が搭載され、複数のプロセスが並列に機能するとともに、それら複数のプロセスが連携して各種処理を実行するようになっている。
このようなマルチタスク機能を有するOSの具体例としては、例えば、Windows(登録商標)を挙げることができる。なお、OSによって提供される各種機能そのものは公知なので、ここでの詳細な説明は省略するが、以下の説明においては、PC1が、Windows(登録商標)によって提供される各種機能を有するとの前提で説明を続ける。
PC1において、プリンタ2A、2Bからのステータス情報取得処理を実行する処理系は、図1に示すように、UI(入力/表示)の層、構文解析層、ポートアクセスの層、クラスドライバ、および物理層からなる階層構造になっている。
より具体的には、PC1において、プリンタ2A、2Bに対する印刷出力が行われる際には、プリンタドライバUI11が印刷関連の処理を実行する。そして、その処理の中で、ステータスモニタUI12がプリンタドライバUI11とは別のプロセスとして起動される。
ただし、ステータスモニタUI12を起動する契機は任意であり、例えば、印刷時にポートモニタがステータスモニタUI12を起動するように構成されていてもよいし、PC1の起動時にステータスモニタUI12が起動されてもよい。あるいは、利用者がマニュアル操作でステータスモニタUI12を起動できるように構成されていてもよい。
ステータスモニタUI12は、利用者から情報の入力を受け付ける処理や、ステータス情報を表示する処理を実行するプロセスで、その処理の中で、ステータスデータパーサ13(以下、単にパーサ13とも称する。)が、ステータスモニタUI12とは別のプロセスとして起動される。
パーサ13は、プリンタ2A、2Bに対して、プリンタジョブ言語(PJL;Printer Job Language)に準拠した形式で記述されたコマンド(以下、PJLコマンドともいう)を出力する。そして、そのPJLコマンドを受け取ったプリンタ2A、2Bから出力されるステータス情報を取得する。
また、取得したステータス情報の構文解析を行って、そのステータス情報をステータスモニタUI12が参照可能なデータ形式に変換し、ステータスモニタUI12へと出力する。なお、PJLは、プリンタが備える各種機能の制御を可能とするコマンド言語で、Hewlett-Packard社において開発され、その後他社でも採用された周知のものである。
また、パーサ13は、その処理の中で、ローカルポートアービトレイタ14(以下、単にアービトレイタ14とも称する。)を動的にリンクし、これにより、アービトレイタ14が機能する状態になる。
アービトレイタ14は、同一ポートを利用する他のプロセスとの間で調停を行って、あるプロセスに渡るべきデータが他のプロセスに渡らないように制御する。
パラレルプリンタクラスドライバ15A、およびUSBプリンタクラスドライバ15B(以下、単にクラスドライバ15A、15Bとも称する。)は、いずれもOSが備える機能の一部である。これらクラスドライバ15A、15Bは、PC1の起動時または各クラスドライバ15A、15Bに対応するデバイスの起動時に起動される。
パラレル物理層16A、およびUSB物理層16Bは、各プリンタポートを構成するハードウェアである。
さらに、PC1に搭載されたOSは、スプーラシステム21、PnPマネージャ23、I/Oマネージャ25などを備えている。
スプーラシステム21は、PC1上で機能する複数の処理系(例えばアプリケーション)から出力される印刷データを印刷ジョブとして一元管理し、順次プリンタ2A、2B側へ送出する処理を実行する周知のシステムである。パーサ13がPJLコマンドを出力した場合、そのPJLコマンドも、他の印刷データ同様に、一つの印刷ジョブとしてスプーラシステム21により管理される。
例えば、プリンタ2Aを出力先とするPJLコマンドであれば、スプーラシステム21による制御の下、パラレルプリンタクラスドライバ15Aおよびパラレル物理層16A経由で、プリンタ2A側へ送出されることになる。また、プリンタ2Bを出力先とするPJLコマンドであれば、USBプリンタクラスドライバ15BおよびUSB物理層16B経由で、プリンタ2B側へ送出されることになる。
本実施形態においては、後述する処理の中で、“USTATUS DEVICE ON”、“USTATUS DEVICE OFF”、“INFO DEVICE”といったPJLコマンドが、スプーラシステム21経由でプリンタ2A、2Bへと伝送される。
PJLコマンド“USTATUS DEVICE ON”は、プリンタ2A、2Bの状態が変化したときにステータス情報を提供する処理の開始をプリンタ2A、2Bに対して命令するコマンドである。また、PJLコマンド“INFO DEVICE”は、その時点でのステータス情報の提供をプリンタ2A、2Bに対して命令するコマンドである。
これらの命令を受けたプリンタ2A、2Bは、ステータス情報を提供可能な状態になるので、パーサ13は、所望のタイミングでプリンタ2A、2Bからステータス情報を読み取る(リードバックする)ことができる。
また、PJLコマンド“USTATUS DEVICE OFF”は、プリンタ2A、2Bによるステータス情報提供処理の終了をプリンタ2A、2Bに対して命令するコマンドである。この命令を受けたプリンタ2A、2Bは、ステータス情報の提供処理を終了する。
プリンタ2A、2Bからステータス情報が提供される状態になった場合、パーサ13は、プリンタ2A、2Bから読み取ったステータス情報を、ステータスモニタUI12側で扱うためのバイナリデータに変換する。そして、変換後のステータス情報をプロセス間通信により上位のステータスモニタUI12へと出力する。
また、PnPマネージャ23およびI/Oマネージャ25は、プリンタ2A、2Bの接続および切断に関する状態変化があった場合に、その旨を各プロセスに通知する機能を備えている。
より詳しくは、プリンタ2A、2Bを含む各種デバイスの接続および切断に関する状態変化があった場合、その状態変化がI/Oマネージャ25によって検出される。そして、I/Oマネージャ25と連携して機能するPnPマネージャ23は、各プロセスにメッセージ“WM_DEVICECHANGE”を通知する。
したがって、PC1上で機能する各プロセスは、PnPマネージャ23からの通知(=メッセージ)に基づいて、プリンタ2A、2Bの接続および切断に関する状態変化があったことを認識することができる。
本実施形態の場合は、パーサ13が、プリンタ2A、2Bの接続および切断に関する状態変化があったことを認識した場合に、それに応じた処理を実行することになるが、その処理の詳細については後述する。
[PCにおいて実行される各種処理]
次に、PC1において実行される各種処理について、フローチャートに基づいてより具体的に説明する。
[プリンタドライバインストール処理]
まず、ステータス情報を表示する処理に先立って行われるプリンタドライバのインストール処理について、図2のフローチャートに基づいて説明する。このプリンタドライバのインストール処理は、新たなプリンタ(例えば、プリンタ2A、2B)をPC1から利用できるようにしたい場合に実行される処理である。
プリンタドライバインストール処理を開始すると、PC1は、まず、通常のプリンタドライバインストール処理を実行する(S101)。このS101の処理では、例えば、プリンタドライバのプログラムを格納したファイルのファイル名をOSの管理する記憶領域に登録する処理など、この種のPCにプリンタを導入する際に一般的に行われている一連の処理が実行される。
そして、ステータスモニタ設定ファイルにプリンタ名とパーサ名を登録して(S103)、本処理を終える。ステータスモニタ設定ファイルは、PC1が備えるハードディスク等の記憶装置に格納されているファイルである。このステータスモニタ設定ファイルには、PC1がステータスモニタとして機能する際に必要となる各種情報が記録されるようになっている。
上記S103の処理では、インストール中のプリンタドライバに対応するプリンタのプリンタ名と、そのプリンタに対応するパーサ名(=パーサプログラムが格納されたファイルのファイル名)とが、対にして記録される。この記録は、後述する処理の中で、プリンタ名に基づいて起動すべきパーサ13を特定する際に参照されることになる。
[印刷処理]
次に、PC1が実行する印刷処理について、図3のフローチャートに基づいて説明する。この印刷処理は、印刷機能を持ったアプリケーションプログラムに従ってPC1が各種処理を行う中で、プリンタドライバが起動されると実行される処理である。
この処理を開始すると、PC1は、まず、プリンタドライバに関する設定を行うか否かを判断する(S201)。ここで、利用者が設定を行う旨の操作を行っている場合には(S201:YES)、設定用のダイアログを表示して利用者の操作を受け付け、設定された内容を所定の記憶領域に保存する(S203)。
また、利用者が設定を行う旨の操作を行っていない場合(S201:NO)、もしくはS203の処理を終えた場合は、引き続いて、印刷処理を行うか否かを判断する(S205)。
ここで、まだ印刷処理を行わない場合は(S205:NO)、S201の処理へと戻ることにより、S201〜S205の処理を繰り返し、プリンタに対する設定処理を継続する。
一方、S205の処理で、印刷処理を行うと判断された場合は(S205:YES)、引き続いて、ステータスモニタONの設定がなされているか否かを判断する(S207)。
ステータスモニタON/OFFの設定は、上記S203の処理で行うことができ、ステータスモニタONの設定になっていたら(S207:YES)、ステータスモニタUI12を、別のプロセスとして起動する(S209)。
そして、ステータスモニタONの設定になっていなかった場合(S207:NO)、もしくはS209の処理を終えた場合には、引き続いて、通常の印刷処理を行い(S211)、本処理を終える。
なお、S211の処理は、スプーラシステム21からFIFOで送出される印刷データをプリンタ2A、2B側へ伝送する処理や、同印刷データに対して二次的な加工を施す処理であるが、これらは周知の処理なので、ここでの詳細な説明は省略する。
[ステータスモニタUI処理]
次に、上記S209の処理によって起動されるステータスモニタUI12の処理について、図4のフローチャートに基づいて説明する。
この処理を開始すると、ステータスモニタUI12は、まず、パーサ名の読み込みを行う(S301)。この処理では、先に説明したS103の処理において、ステータスモニタ設定ファイルに登録された情報(プリンタ名とパーサ名との対応関係)が参照され、このステータスモニタUI12が対象としているプリンタに対応するパーサ名が読み込まれる。
そして、S301の処理で読み込んだパーサ名を使用して、パーサ13を別のプロセスとして起動する(S303)。このとき、パーサ13には、プリンタ名をコマンドラインで渡す。
続いて、別プロセスでステータスモニタUI12を既に起動済みかどうかを判断し(S305)、起動済みでなければ(S305:NO)、メッセージループ処理に移行する(S307)。また、起動済みである場合(S305:YES)、もしくはS307の処理を終えた場合は、本処理を終了する。
S307のメッセージループ処理は、詳しくは図5のフローチャートに示すような処理となる。このメッセージループ処理では、メッセージとして到来する指示の内容を判断して、その指示(メッセージ)に対応する処理を実行することが繰り返される。
具体的には、まず、メッセージによる指示が“初期化”かどうかを判断し(S401)、“初期化”であれば(S401:YES)、初期化処理を実行して(S403)、S401の処理へと戻る。
また、メッセージによる指示が“初期化”でない場合(S401:NO)、メッセージによる指示が“終了”かどうかを判断し(S405)、“終了”であれば(S405:YES)、他プロセスとの間の全通信を閉じて(S407)、このメッセージループ処理を終える。
また、メッセージによる指示が“終了”でない場合(S405:NO)、パーサ13からのメッセージかどうかを判断する(S409)。パーサ13からのメッセージとは、上述したS303の処理で起動したパーサ13のプロセスから到来するメッセージである。
パーサ13が実行する処理の具体的な内容については、後から詳述するが、このメッセージループ処理では、パーサ13との間でプロセス間通信を行いながら、各種処理を実行することになる。
S409の処理において、パーサ13からのメッセージでない場合は(S409:NO)、その他のメッセージに対する処理を実行した上で(S411)、S401の処理へと戻る。
一方、S409の処理において、パーサ13からのメッセージであった場合は(S409:YES)、そのメッセージによる指示が“インストール”かどうかを判断する(S413)。ここで、“インストール”であれば(S413:YES)、対象となるパーサ13との通信を確立する(S415)。
S415の処理において、本実施形態では、後述するパーサ13処理において確保される共有メモリにアタッチして、共有メモリを介してプロセス間でデータのやり取りを行う方法を採用している。ただし、プロセス間で相互にデータを送受信できるような仕組みになっていれば、対象となるパーサ13との具体的な通信手順や通信方法については、特に限定されない。
S415の処理を終えたら、表示バッファを確保して(S417)、S401の処理へと戻る。表示バッファは、PC1が備える表示部にステータス情報を表示出力するためのバッファである。
また、メッセージによる指示が“インストール”でない場合(S413:NO)、メッセージによる指示が“ステータスアップデート”かどうかを判断する(S419)。
ここで、“ステータスアップデート”であれば(S419:YES)、アタッチしている共有メモリからステータス情報を読み出し、そのステータス情報を対象となる表示バッファに書き込むことにより更新する(S421)。
表示バッファは、上記S417の処理によって確保されたメモリであるが、複数のパーサ13が起動されている場合には、S417の処理が複数のパーサ13と同数回実行されて、複数の表示バッファが確保されている。
そこで、このS421の処理では、メッセージに基づいて、どのパーサ13から到来したメッセージなのかを特定し、特定したパーサ13に対応する表示バッファを対象にして表示バッファを更新する。
そして、表示バッファを更新したら、更新したステータス情報をPC1が備える表示部に実際に表示出力するため、表示部の表示を更新するための制御を実行する(S423;S423の処理を実行する手段が、本発明でいう表示処理手段の一例に相当)。そして、S423の処理を終えたら、S401の処理へと戻る。
また、メッセージによる指示が“ステータスアップデート”でない場合(S419:NO)、メッセージによる指示が“アンインストール”かどうかを判断する(S425)。ここで、“アンインストール”であれば(S425:YES)、対象となるパーサ13との通信を閉じる(S427)。
具体的には、本実施形態では、上記S415の処理でアタッチした共有メモリをデタッチする。ただし、上記S415の処理において共有メモリ以外の手段でプロセス間通信を実現した場合は、そのプロセス間通信のために確保したリソースを解放する処理等を行うことになる。
そして、S417の処理で確保した対象表示バッファを消去する(S429)。なお、これらS427およびS429の処理でも、メッセージに基づいて、どのパーサ13から到来したメッセージなのかを特定する。パーサ13を特定したら、特定したパーサ13との通信を閉じるとともに、特定したパーサ13に対応する表示バッファを対象にして表示バッファを消去することになる。
そして、監視対象となるパーサ13のプロセスが一つもない状態になったかどうかを判断し(S431)、監視対象となるパーサ13のプロセスが残っていれば(S431:NO)、S401の処理へと戻る。一方、S431の処理において、監視対象となるパーサ13のプロセスが残っていなければ(S431:YES)、このメッセージループ処理を終える。
なお、S425の処理において、“アンインストール”でなければ(S425:NO)、その他の処理を実行して(S433)、S401の処理へと戻る。
[パーサ処理]
次に、パーサ処理について、図6〜図10のフローチャートに基づいて説明する。
ステータスモニタUI12が、以上説明したようなメッセージループ処理を実行するのと並行して、上記S303の処理(図4参照)によって起動されたパーサ13は、図6のフローチャートに示す処理を実行する。
具体的には、パーサ13は、まず、図6に示す処理を実行し、この処理の中でメッセージ配信処理を実行する(S501)。このS501の処理は、所定の条件が成立すると、図7〜図10に示した各処理を含む複数の処理の内、成立した条件に応じた処理を実行するものである。
また、このS501の処理において、成立した条件が終了条件であった場合、S501の処理を終了することになり、その場合は、図6に示した処理全体を終了することになる。
ただし、成立した条件が終了条件以外の条件であった場合は、S501の処理は終了せず、再び新たに所定の条件が成立するまで待機し、所定の条件が成立すれば、成立した条件に応じた処理を実行する。
つまり、S501の処理は、終了条件が成立するまでは、終了条件以外の条件が成立する毎に、成立した条件に応じた処理の実行を繰り返すことになる。
以下、S501の処理において、各種条件が成立した場合に実行される処理について説明する。
[初期化メッセージ処理]
まず、図7に示す初期化メッセージ処理について説明する。この初期化メッセージ処理は、パーサ13の起動直後であるとの条件が成立した場合に実行される処理となる。
初期化メッセージ処理を開始すると、パーサ13は、まず、各種フラグの初期化を行う(S601)。このS601の処理において、デバイス着脱フラグ、データ要求指令送信済みフラグ、および通信不可表示フラグには初期値としてOFFが設定され、通信失敗回数カウンタはゼロクリアされる。
続いて、パーサ13は、ステータスモニタUI12との通信確立を行うための準備を行う(S603)。具体的には、共有メモリとなるメモリ領域を確保する処理などが行われる。そして、パーサ13の起動時に引数として渡されたプリンタ名に基づいて、そのプリンタが使用するポート名を調査し(S605)、そのポート名に応じた下位層のロードを行う(S607)。
S607の処理においてロードされるプログラムは、ダイナミック・リンク・ライブラリ(以下、DLLともいう)として提供され、パーサ13としての処理を実行するプロセスが、ポート名に応じたアービトレイタ14をメモリにロードする。以降、パーサ13は、処理対象としているプリンタが利用するポートに対応したアービトレイタ14を利用して、ステータス情報を取得することができるようになる。
以上の処理を終えたら、パーサ13は、ステータスモニタUI12のプロセスに対して、インストールメッセージを送信する(S609)。このメッセージは、先に説明したステータスモニタUI12のメッセージループ処理(図5参照)において、S415、S417の処理を実行する契機となるメッセージである。
このメッセージを受けたステータスモニタUI12側の処理が完了した時点で、ステータスモニタUI12とパーサ13との通信が確立することになる。なお、S609の処理を終えたら、図7に示した初期化メッセージ処理を終えることになり、以降、パーサ13は、上記S501(図6参照)の処理において、再び所定の条件が成立するまで待機することになる。
[終了メッセージ処理]
次に、図8に示す終了メッセージ処理について説明する。この終了メッセージ処理は、終了条件が成立した場合に実行される処理である。例えば、利用者がPC1の操作部を操作して所定の終了指示を入力した場合に終了条件が成立し、終了メッセージ処理が実行されることになる。また、エラーその他の事情により、終了条件が成立することもある。
終了メッセージ処理を開始すると、パーサ13は、アンインストールメッセージを送信する(S701)。このメッセージは、先に説明したステータスモニタUI12のメッセージループ処理(図5参照)において、S427〜S431の処理を実行する契機となるメッセージである。
そして、S701の処理を終えたら、S603の処理(図7参照)で準備された共有メモリを解放する処理などを行った上で、図8に示した終了メッセージ処理を終えることになる。終了メッセージ処理を終えた場合、パーサ13は、上記S501の処理(図6参照)を終えることになる。
[デバイス構成変更メッセージ処理]
次に、図9に示すデバイス構成変更メッセージ処理について説明する。本実施形態において、PC1に接続されているデバイスの構成に変更があった場合には、PnPマネージャ23からパーサ13にメッセージ“WM_DEVICECHANGE”が通知される(図1参照)。この機能は、本実施形態においてPC1に搭載されたOSが持つ機能である。
ここで、デバイスの構成に変更があった場合とは、例えば、プリンタ2A、2Bの電源スイッチがON/OFFいずれか一方から他方に切り替えられた場合、あるいは、PC1とプリンタ2A、2Bとを接続するための通信ケーブルが抜き挿しされた場合等である。
以下に説明するデバイス構成変更メッセージ処理は、上記メッセージ“WM_DEVICECHANGE”がPnPマネージャ23から通知されたとの条件が成立した場合に実行される処理となる。
デバイス構成変更メッセージ処理を開始すると、パーサ13は、発生したイベントがデバイスノード変更イベント(“DBT_DEVNODES_CHANGED”イベント)か否かを判断する(S801)。
より詳しくは、パーサ13にメッセージ“WM_DEVICECHANGE”が通知された場合、メッセージにはいくつかのパラメータが付属している。そこで、S801の処理では、メッセージに付属するパラメータが“DBT_DEVNODES_CHANGED”であるか否かを判断する。
S801の処理において、発生したイベントがデバイスノード変更イベント(“DBT_DEVNODES_CHANGED”イベント)であった場合(S801:YES)、パーサ13は、デバイス着脱フラグをONにする(S803)。そして、デバイス構成変更メッセージ処理を終了する。
一方、S801の処理において、発生したイベントがデバイスノード変更イベント(“DBT_DEVNODES_CHANGED”イベント)ではなかった場合(S801:NO)、パーサ13は、そのままデバイス構成変更メッセージ処理を終了する。なお、S803の処理においてONがセットされたデバイス着脱フラグは、後述するタイマーメッセージ処理の中で参照されることになる。
[タイマーメッセージ処理]
次に、図10に示すタイマーメッセージ処理について説明する。このタイマーメッセージ処理は、一定時間が経過したとの条件が成立した場合に実行される処理、すなわち、一定時間が経過するたびに繰り返し実行される処理となる。ただし、その繰り返し処理の中で各種フラグの値その他が変化するため、タイマーメッセージ処理内における処理の流れは随時変化する。
そこで、以下の説明においては、タイマーメッセージ処理が実行される際の様々な状況を想定しながら、想定した状況に応じたタイマーメッセージ処理の流れについて説明することにする。
まず、初期段階として、プリンタ2A、2Bとの通信を正常に実行できる状況下で、タイマーメッセージ処理が初めて実行された場合を想定して説明を続ける。
タイマーメッセージ処理を開始すると、パーサ13は、まず、デバイス着脱フラグがONであるか否かを判断する(S901)。このデバイス着脱フラグには、上記デバイス構成変更メッセージ処理(図9参照)が実行されると、その処理の中でONがセットされることがある。
ただし、初期段階においては、多くの場合、上記初期化メッセージ処理(図7参照)の中で初期値:OFFがセットされたままになっている。そこで、ここでは、デバイス着脱フラグにOFFがセットされていることを想定して以下の説明を続けることにし、デバイス着脱フラグにONがセットされている場合については、後から別途説明する。
デバイス着脱フラグはOFFとなっている場合(S901:NO)、パーサ13は、通信失敗回数カウンタが規定回数(例えば5回)未満か否かを判断する(S903)。
通信失敗回数カウンタは、後述する処理の中でプリンタ2A、2Bとの通信に失敗するとカウントアップされる場合があるが、初期段階では、上記初期化メッセージ処理(図7参照)の中でゼロクリアされている。
S903の処理で、通信失敗回数カウンタの値は規定回数未満であると判断された場合(S903:YES)、パーサ13は、下位(=アービトレイタ14)よりデータ(=ステータス情報)を受信する(S905;S905の処理を実行する手段が、本発明でいう取得手段の一例に相当)。そして、その通信に失敗したか否かを判断する(S907)。
より詳しくは、S905の処理では、まずプリンタ2A、2Bとの間でネゴシエーションを行って通信を確立し、通信を確立した後にステータス情報の受信を行う。
そして、S907の処理では、通信確立に成功し、且つ、ステータス情報の受信が正常終了すれば、通信成功と判断する。一方、S907の処理において、通信確立に失敗するか、あるいは、ステータス情報の受信が異常終了したら、通信失敗と判断する。
S907の処理において、プリンタ2A、2Bの電源がONになっていて、プリンタ2A、2Bとの間で正常な通信ができる場合は、通信成功と判断される(S907:NO)。その場合は、通信失敗回数カウンタをゼロクリアし(S911)、S905の処理で取得したデータ(=ステータス情報)がないかどうかを判断する(S913)。
すなわち、S913の処理が実行されるのはS907の処理で通信成功と判断された場合であるが、通信に成功した結果として、取得したデータがない場合があり、そのような場合には、S913の処理で肯定判断がなされることになる。
ここで、S905の処理でデータ(=ステータス情報)を受信するためには、事前にプリンタ2A、2Bに対してデータ要求指令(=PJLコマンド)を送信することにより、プリンタ2A、2Bがステータス情報を提供できる状態にしておく必要がある。
しかし、初期段階では、データ要求指令(=PJLコマンド)の送信が行われないままS905の処理が実行されることになる。そのため、プリンタ2A、2Bからデータ(=ステータス情報)が提供されることはなく、S913の処理では、必ず取得データなしとの判断がなされることになる(S913:YES)。
そこで、パーサ13は、引き続いて、デバイス着脱フラグはONであるか否かを判断することになる(S915)。初期段階では、上述の想定通り、デバイス着脱フラグがOFFとなっているので(S915:NO)、パーサ13は、データ要求指令送信済みフラグはOFFであるか否かを判断する(S917)。
初期段階において、データ要求指令送信済みフラグには、上記初期化メッセージ処理(図7参照)の中で初期値:OFFがセットされているので、S917の処理では肯定判断がなされる(S917:YES)。その場合、パーサ13は、データ要求指令である“USTATUS DEVICE ON”命令をプリンタ2A、2Bへ送信する(S919)。
具体的なデータ要求指令の送信方法は、送信対象となるプリンタの仕様やそのプリンタが使用するプリンタポートの仕様などを考慮して、問題なくプリンタへデータ要求指令を送信できる方法であれば任意である。
ただし、本実施形態において、データ要求指令としては、PJLコマンドの一つである“USTATUS DEVICE ON”命令を送信する。PC1からプリンタ2A、2Bへの各種指令としてPJLコマンドを伝送(上記S919の処理の場合は、データ要求指令として“USTATUS DEVICE ON”命令を伝送)する場合、PC1ではスプーラシステム21が利用される。
すなわち、PC1が備えるスプーラシステム21において、PJLコマンドは一つの印刷ジョブとして処理され、これにより、S919の処理の場合、“USTATUS DEVICE ON”命令がプリンタ2A、2Bへと送信されることになる。
このように、“USTATUS DEVICE ON”命令は、スプーラシステム21を利用して送信される命令なので、他の印刷ジョブと“USTATUS DEVICE ON”命令が混在するかたちで同時にプリンタ2A、2Bに送信されてしまうのを防止することができる。
以上説明したような“USTATUS DEVICE ON”命令をプリンタ2A、2Bへ送信したら、パーサ13は、データ要求指令送信済みフラグをONにし(S921)、デバイス着脱フラグをOFFにして(S923)、図10に示すタイマーメッセージ処理を終了する。
さて次に、上記初期段階とは異なる様々な状況を想定しつつ、再び実行されるタイマーメッセージ処理の流れについて説明する。
再びタイマーメッセージ処理を実行した場合、パーサ13は、既に上記S919の処理によって“USTATUS DEVICE ON”命令をプリンタ2A、2Bに対して送信している。したがって、上記S905の処理においては、下位よりデータ(=ステータス情報)を受信することができる。
本実施形態において、S905の処理でデータを受信するのに先立ち、パーサ13が受信バッファとなるメモリを確保し、その受信バッファのアドレスを引数としてアービトレイタ14側に渡している。
アービトレイタ14は、パーサ13によって指定されたアドレスにデータを格納し、これにより、そのデータがパーサ13側で受信される。その際、アービトレイタ14は、各クラスドライバ15A、15Bの仕様に応じた方式で、プリンタ2A、2Bからのステータス情報を入力し、そのステータス情報を受信バッファに格納する。
このようにアービトレイタ14は、クラスドライバ15A、15Bの仕様に応じた方式でステータス情報を入力するものの、入力したステータス情報は、クラスドライバ15A、15Bの仕様に依存しない形式で受信バッファに格納される。
これにより、パーサ13は、プリンタポートの仕様を全く意識することなく、受信バッファに格納されたステータス情報を参照することができる。
実際にパーサ13が下位からデータを取得するか否かは、プリンタ2A、2Bの状態に何らかの変化があったか否かによっても変わる。
S905の処理においてパーサ13が下位からデータを取得していた場合、S913の処理では、取得したデータ(=ステータス情報)があると判断されることになる(S913:NO)。その場合、パーサ13は、ステータスモニタUI12との通知バッファにデータ(=ステータス情報)を書き込む(S925)。
S925の処理でステータス情報を書き込む通知バッファは、上記S603の処理(図7参照)で確保した共有メモリであり、この共有メモリにステータス情報を書き込むことにより、ステータスモニタUI12側で最新のステータス情報を参照できるようになる。
なお、S905の処理で、受信バッファに格納されたステータス情報は、プリンタ2A、2Bの仕様に依存した(=仕様に応じた差異がある)データ形式になっている。これに対し、S925の処理では、受信バッファに格納されたステータス情報の字句・構文の解析を行い、所定のデータ形式に変換した上で、変換後のステータス情報を共有メモリに書き込む。
これにより、ステータスモニタUI12側では、PJLの仕様を全く意識することなく、共有メモリに格納されたステータス情報を参照することができる。
以上のようなS925の処理を終えたら、パーサ13は、通信不可表示フラグをOFFにして(S927)、ステータスモニタUI12のプロセスに対して、ステータスアップデートメッセージを送信する(S929)。このメッセージは、先に説明したステータスモニタUI12のメッセージループ処理(図5参照)において、S421、S423の処理を実行する契機となるメッセージである。
そして、S929の処理を終えたら、既に説明したS923の処理へと移行し、その後、図10に示すタイマーメッセージ処理を終了することになる。
一方、S905の処理において、パーサ13が下位からデータを取得していなかった場合、S913の処理では、取得したデータ(=ステータス情報)がないと判断されることになる(S913:YES)。その場合は、上述したS915、S917の処理へと移行する。
このとき、既にS921の処理を実行していれば、データ要求指令送信済みフラグにはONがセットされているので、S917の処理では否定判断がなされることになる(S917:NO)。この場合、以降は、既に説明したS923の処理へと移行し、その後、図10に示すタイマーメッセージ処理を終了することになる。
さて、以上がプリンタ2A、2Bとの通信が正常に実施できる場合の処理の流れであるが、こうした場合以外に、プリンタ2A、2Bとの通信が正常に実施できなくなる場合も考え得る。
例えば、プリンタ2A、2Bの電源スイッチがOFFにされた場合や、プリンタ2A、2Bとの間の通信ケーブルがコネクタから抜かれた場合等は、プリンタ2A、2Bとの通信が正常に実施できなくなることがある。そのような場合、タイマーメッセージ処理は、以下のような流れで処理を実行することになる。
すなわち、タイマーメッセージ処理を実行した際に、通信失敗回数カウンタの値がまだ規定回数(例えば5回)未満であれば、S903の処理では肯定判断がなされる(S903:YES)。その場合、パーサ13は、上記S905の処理を実行することになる。
しかし、プリンタ2A、2Bとの通信が正常に実施できないため、上記S907の処理では、通信失敗との判断がなされることになる(S907:YES)。その場合、通信失敗回数カウンタをカウントアップして(S931)、既に説明したS923の処理へと移行し、その後、図10に示すタイマーメッセージ処理を終了することになる。
ここで、タイマーメッセージ処理は、既に述べた通り、一定時間が経過するたびに実行される。そのため、上記のような流れとなる処理が何回か繰り返されて、そのたびに上記S931の処理が実行されると、通信失敗回数カウンタの値は規定回数(例えば5回)を超えることになる。
そして、タイマーメッセージ処理を実行した際に、通信失敗回数カウンタの値が規定回数(例えば5回)以上になっていたら、S903の処理では否定判断がなされる(S903:NO)。その場合、パーサ13は、通信不可表示フラグはOFFであるか否かを判断する(S933)。
S933の処理において、通信不可表示フラグがOFFであった場合は(S933:YES)、プリンタ2A、2Bとの通信ができない旨の情報(=通信不可情報)をステータスモニタUI12にまだ通知していないことを意味する。
したがって、この場合、パーサ13は、通信不可情報を通知バッファに書き込み(S935)、通信不可表示フラグをONにして(S937)、上記S929の処理へと移行する。
これにより、パーサ13からステータスモニタUI12のプロセスに対してステータスアップデートメッセージが送信されることになる。そして、以降は、既に説明したS923の処理へと移行し、その後、図10に示すタイマーメッセージ処理を終了することになる。
また、S933の処理において、通信不可表示フラグがOFFでなかった場合は(S933:NO)、プリンタ2A、2Bとの通信ができない旨の情報(=通信不可情報)をステータスモニタUI12に既に通知していることを意味する。
そこで、この場合は、あらためて通信不可情報をステータスモニタUI12に通知するようなことはしないまま、既に説明したS923の処理へと移行し、その後、図10に示すタイマーメッセージ処理を終了することになる。
なお、プリンタ2A、2Bとの通信できなくなった場合でも、デバイス構成変更メッセージが生じる可能性はあり、このメッセージにより、一旦デバイス着脱フラグはONとなる。
この場合、通信失敗回数カウンタが規定回数以上であっても、S905の処理によりデータ受信処理を実施することになる。ただし、S923の処理によりデバイス着脱フラグはOFFされるので、一度のみデータ受信処理がなされるだけで済み、この点は影響がないに等しい。
さて、以上がプリンタ2A、2Bとの通信が正常に実施できない場合の処理となるが、その後、プリンタ2A、2Bとの通信が再び正常に実施できることもある。
例えば、プリンタ2A、2Bの電源スイッチが再びONにされた場合や、プリンタ2A、2Bとの間の通信ケーブルが再びコネクタに挿し込まれた場合であれば、プリンタ2A、2Bとの通信が再び正常に実施できる。
そのような場合、上述したデバイス構成変更メッセージ処理(図9参照)が実行され、デバイス着脱フラグがONとなるので、それに伴って、タイマーメッセージ処理は、以下のような流れで処理を実行することになる。
まず、S901の処理では、デバイス着脱フラグがONであると判断されるので(S901:YES)、S903の処理をスキップして、S905の処理へと移行する。
すなわち、デバイス着脱フラグがONとなった場合は、通信失敗回数カウンタが規定回数未満であるか否かにかかわらず、通信失敗回数カウンタが規定回数未満である場合と同等な処理を実行することになる。
そのため、S905、S907の処理を実行することになり、ここで通信に成功すれば(S907:NO)、通信失敗回数カウンタが規定回数以上になっていた場合でも、S911の処理により、通信失敗回数カウンタはゼロクリアされることになる。
また、プリンタ2A、2Bの電源スイッチが再びONにされた場合、あらためて“USTATUS DEVICE ON”命令をプリンタ2A、2Bへ送信しない限り、プリンタ2A、2Bはステータス情報を提供可能な状態にならない。
そのため、上記S907の処理で通信成功との判断がなされていても、上記S913の処理では取得データなしとの判断がなされることになる。しかし、この時点では、デバイス着脱フラグがONとなっているので、S915の処理では肯定判断がなされることになる。
その結果、S919の処理へと移行して、パーサ13は、“USTATUS DEVICE ON”命令をプリンタ2A、2Bへ送信することになる。したがって、以降、プリンタ2A、2Bはステータス情報を提供可能な状態になる。
また、プリンタ2A、2Bの電源ONの状態のまま、プラグが抜き差しされた場合にあっては、プリンタ2A、2B自体はステータス情報を返すことができる状態を維持している。ただし、その時点でPC1におけるUI上の表示は「プリンタとの通信ができない旨の情報」になっている可能性がある。
そのような場合、プリンタのステータス変化がなくても、PJLのINFOコマンドによって情報が返ることになるので、その情報を受信した際にS913→S925→S927の処理により正常なステータス情報に更新される。
なお、上記実施形態にあっては、プリンタ2A、2B以外のデバイスが抜き差しされた場合、条件が揃えばPJLコマンドをプリンタに送信することになる。しかし、プリンタ2A、2Bは複数回USTATUS ONコマンドを送られた場合にあっても、同一の状態を維持するので影響はない。
また、INFOコマンドにより、その都度、状態変化がないにもかかわらずその時点の状態を返すことになるが、PC1におけるUI上には、同一のステータスが表示され続けるのみであり、これも問題はない。
[パワーマネージメント関連メッセージ処理]
次に、図11に示すパワーマネージメント関連メッセージ処理について説明する。この処理は、PC1の電源管理機能により、通常の作動状態(第1状態)から省電力状態(第2状態)へ移行したとの条件、もしくは、省電力状態(第2状態)から通常の作動状態(第1状態)に復帰したとの条件が成立した場合に実行される処理となる。
パワーマネージメント関連メッセージ処理を開始すると、パーサ13は、まず、OS側からのメッセージが、サスペンド・ハイバネート(すなわち、第2状態)に入るか否かの問い合わせメッセージかどうかを判断する(S1001;S1001の処理を実行する手段が、本発明でいう第2検知手段の一例に相当)。
ここで、サスペンド・ハイバネートに入るか否かの問い合わせメッセージである場合(S1001:YES)、パーサ13は、PJLコマンド“USTATUS DEVICE OFF”命令を送信する(S1003;S1003の処理を実行する手段が、本発明でいう第2送信手段の一例に相当)。
この“USTATUS DEVICE OFF”命令は、S919の処理(図10参照)で送信された“USTATUS DEVICE ON”命令を取り消す命令である。
“USTATUS DEVICE OFF”命令は、スプーラシステム21を介して送信される。“USTATUS DEVICE OFF”命令の送信後、この命令が完全にプリンタ2A、2Bに対して送信されたか否かが判定される(S1004;S1004の処理を実行する手段が、本発明でいう第2判定手段の一例に相当)。
この判定処理では、スプーラシステム21にデータが残っているか否かで判定が行われる。“USTATUS DEVICE OFF”命令の送信が完了していなければ(S1004:NO)、“USTATUS DEVICE OFF”命令の送信が開始されてから1秒経過したか否か判定される(S1005)。
1秒経過していなければ(S1005:NO)、S1004の処理へ戻る。1秒経過していれば(S1005:YES)、あるいは“USTATUS DEVICE OFF”命令の送信が完了してれば(S1004:YES)、サスペンド・ハイバネートに入るか否かの問い合わせメッセージに対して「OK」、すなわち、サスペンド・ハイバネートに入る許可をする応答を行い(S1006;S1006の処理を実行する手段が、本発明でいう応答手段の一例に相当)、本メッセージ処理を終了する。
上記のように、完全に“USTATUS DEVICE OFF”命令の送信が終了せず、1秒経過してしまう場合であってもサスペンド・ハイバネートに入る許可をする応答がなされる。これは、サスペンド・ハイバネートに入るか否かの問い合わせメッセージに対する長時間の非応答により、サスペンド・ハイバネートに入るのを妨げるのを防止するためである。
逆に、送信完了まで最大1秒間待った後にサスペンド・ハイバネートに入る許可をする応答がなされるので、正常に“USTATUS DEVICE OFF”命令を送信できるのに送信不完全のままPC1がサスペンド・ハイバネートに入ってしまうのを防止することができる。
なお、“USTATUS DEVICE OFF”命令を受けたプリンタ2A、2Bは、ステータス情報の提供処理を終了することになる。
また、サスペンド・ハイバネートに入るか否かの問い合わせメッセージではなかった場合(S1001:NO)、パーサ13は、サスペンド・ハイバネート問い合わせキャンセルのメッセージか否かを判断する(S1007)。
ここで、サスペンド・ハイバネート問い合わせキャンセルのメッセージである場合(S1007:YES)、パーサ13は、PJLコマンド“USTATUS DEVICE ON”を送信し(S1008)、図11に示す処理を終了する。この場合、PJLコマンド“USTATUS DEVICE ON”を受けたプリンタ2A、2Bは、ステータス情報の提供処理を開始することになる。
また、サスペンド・ハイバネート問い合わせキャンセルのメッセージではなかった場合(S1007:NO)、パーサ13は、サスペンド・ハイバネートに入ることを通知するメッセージか否かを判断する(S1009)。
ここで、サスペンド・ハイバネートに入ることを通知するメッセージである場合(S1009:YES)、そのまま図11に示す処理を終了する。
また、サスペンド・ハイバネートに入ることを通知するメッセージではなかった場合(S1009:NO)、パーサ13は、サスペンド・ハイバネートからの復帰メッセージか否かを判断する(S1011;S1011の処理を実行する手段が、本発明でいう第1検知手段の一例に相当)。
ここで、サスペンド・ハイバネートからの復帰メッセージである場合(S1011:YES)、パーサ13は、プリンタの電源がオンか否かを判断する(S1013;S1013の処理を実行する手段が、本発明でいう第1判定手段の一例に相当)。
S1013の処理において、プリンタの電源がオンであった場合(S1013:YES)、パーサ13は、プリンタに対してNULLデータを送信する(S1015;S1015の処理を実行する手段が、本発明でいう第3送信手段の一例に相当)。このS1015の処理は、プリンタのスリープ状態を解除するための処理となる。
ここで送信されたNULLデータを受けたプリンタ2A、2Bがスリープ状態になっていた場合、プリンタ2A、2Bは作動を開始するので、スリープ状態は解除されることになる。
そして、パーサ13は、PJLコマンド“USTATUS DEVICE ON”を送信し(S1017;S1017の処理を実行する手段が、本発明でいう第1送信手段の一例に相当)、図11に示すメッセージ処理を終了する。この場合、PJLコマンド“USTATUS DEVICE ON”を受けたプリンタ2A、2Bは、ステータス情報の提供処理を開始することになる。
なお、S1013の処理において、プリンタの電源がオンか否かは、判定対象となるプリンタからデバイスIDを取得できるか否かによって判断する。これは、プリンタの電源がオンの場合、デバイスIDであれば比較的迅速かつ確実に取得できるので、デバイスIDを直ちに取得できなければ、プリンタの電源がオフであるとの判断も迅速に実施できるからである。
この際、デバイスIDが取得できず電源がプリンタの電源がオフであると判断された場合は、“USTATUS DEVICE ON”命令は送信されない。このため、スプーラシステム21からの送信不能によるエラーメッセージがPC1で表示されることはない。
また、この場合、プリンタの電源がオンにされた時点で、前述したS919の処理(図10参照)により、“USTATUS DEVICE ON”命令が送信されるので、その後引き続きステータス情報を取得することができる。
一方、S1013の処理において、プリンタの電源がオンではなかった場合(S1013:NO)、パーサ13は、ステータスモニタの終了処理を実施する(S1019;S1019の処理を実行する手段が、本発明でいう制御手段の一例に相当)。このS1019の処理では、図8に示す処理同様、アンインストールメッセージを送信する処理などが実行される。
[第1状態−第2状態間を移行する場合の具体例]
以上説明したようなパワーマネージメント関連メッセージ処理は、例えば、利用者が所定の操作を行うことにより、PC1が第1状態(通常の作動状態)から第2状態(省電力状態)へ移行することになった場合に実行される。あるいは、PC1が第2状態(省電力状態)から第1状態(通常の作動状態)に復帰する場合に実行される。
ただし、パワーマネージメント関連メッセージ処理の中で、処理がどのように分岐するかは、個々の具体的状況によって変わるので、以下、具体的なタイミングチャートを例示しながら、PC1がどのような挙動を示すのかについて、より具体的に説明する。
なお、以下の説明において使用する図12〜図14においては、図示を簡略化するため、ステータスモニタ機能を提供する処理系全体のことを、単にステータスモニタと表記することにする。ただし、このステータスモニタ機能を提供する処理系は、上述のステータスモニタUI12やパーサ13等のプロセスによって構成されるものである。
また、図12〜図14には、ステータスモニタ以外のソフトウェアとして、アプリケーションA、Bを例示するが、これらアプリケーションA、Bも、それぞれ単一のプロセスによって構成されてもよいし、複数のプロセスが協働して機能する処理系であってもよい。
[第1状態から第2状態への移行がキャンセルされる事例]
まず、第1状態から第2状態への移行がキャンセルされる事例について説明する。
PC1が第1状態にある場合に、利用者が所定の操作を行うことによって第2状態への移行を指示すると、図12に示すように、PC1のOSは、PC1上で稼働する全ての処理系に対してメッセージを送信する。
ここでOSから送信されるメッセージは、サスペンド・ハイバネートに入るか否かの問い合わせメッセージである。このメッセージは、例えば、アプリケーションA、アプリケーションB、ステータスモニタ等の処理系へと伝達される。
そして、ステータスモニタの場合であれば、このメッセージの受信を契機として、図11に示したパワーマネージメント関連メッセージ処理が実行され、上記S1001の処理で肯定判断がなされ、S1003の処理が実行されることになる。また、S1003の処理が実行された場合、プリンタ2A、2B側では、ステータス情報の提供処理を終了することになる。
ここで、ステータスモニタの場合は、S1003の処理を実行した後、スプーラシステム21によるデータ送信が完了したことを確認するS1004の処理が実行される。その上で、サスペンド・ハイバネートに入ってもよい旨の応答(OK)をOSに返すS1006の処理が実行される。
また、サスペンド・ハイバネートに入っても問題がない他の処理系(例えば、アプリケーションA)も、サスペンド・ハイバネートに入ってもよい旨の応答(OK)をOSに返す。
しかし、サスペンド・ハイバネートに入ると問題がある他の処理系(例えば、アプリケーションB)が存在することもあり、その場合、そのような処理系は、サスペンド・ハイバネートに入るのを拒否する旨の応答(NG)をOSに返す。
このような場合、OSは、サスペンド・ハイバネートに入るのを拒否する旨の応答(NG)を返す処理系が存在すれば、サスペンド・ハイバネートへの移行をキャンセルすべきと判断し、再びPC1上で稼働する全ての処理系に対してメッセージを送信する。
ここでOSから送信されるメッセージは、サスペンド・ハイバネート問い合わせキャンセルのメッセージである。このメッセージも、上記の通り、例えば、アプリケーションA、アプリケーションB、ステータスモニタ等の処理系へと伝達される。
そして、ステータスモニタの場合であれば、このメッセージの受信を契機として、図11に示したパワーマネージメント関連メッセージ処理が実行され、上記S1007の処理で肯定判断がなされ、S1008の処理が実行されることになる。また、S1008の処理が実行された場合、プリンタ2A、2B側では、ステータス情報の提供処理を開始することになる。
そして、ステータスモニタの場合は、S1008の処理を実行した後、サスペンド・ハイバネートへの移行がキャンセルされてもよい旨の応答(OK)をOSに返す。また、サスペンド・ハイバネートへの移行がキャンセルされてもよい他の処理系(例えば、アプリケーションA、B)も、同様の応答(OK)をOSに返す。
その結果、サスペンド・ハイバネートへの移行はキャンセルされたことになり、PC1は、その後も第1状態のまま作動し続けることになる。
[第1状態から第2状態へ移行する事例]
次に、第1状態から第2状態へ移行する事例について説明する。
PC1が第1状態にある場合に、利用者が所定の操作を行うことによって第2状態への移行を指示すると、図13に示すように、PC1のOSは、PC1上で稼働する全ての処理系に対してメッセージを送信する。
ここでOSから送信されるメッセージは、サスペンド・ハイバネートに入るか否かの問い合わせメッセージである。このメッセージは、例えば、アプリケーションA、アプリケーションB、ステータスモニタ等の処理系へと伝達される。
そして、ステータスモニタの場合であれば、このメッセージの受信を契機として、図11に示したパワーマネージメント関連メッセージ処理が実行され、上記S1001の処理で肯定判断がなされ、S1003の処理が実行されることになる。また、S1003の処理が実行された場合、プリンタ2A、2B側では、ステータス情報の提供処理を終了することになる。
ここで、ステータスモニタの場合は、S1003の処理を実行した後、スプーラシステム21によるデータ送信が完了したことを確認するS1004の処理を実行した上で、サスペンド・ハイバネートに入ってもよい旨の応答(OK)をOSに返すS1006の処理を実行する。また、サスペンド・ハイバネートに入っても問題がない他の処理系(例えば、アプリケーションA、B)も、サスペンド・ハイバネートに入ってもよい旨の応答(OK)をOSに返す。
このような場合、OSは、サスペンド・ハイバネートに入るのを拒否する旨の応答(NG)を返す処理系が存在しないので、サスペンド・ハイバネートへ移行すべきと判断し、再びPC1上で稼働する全ての処理系に対してメッセージを送信する。
ここでOSから送信されるメッセージは、サスペンド・ハイバネートに入ることを通知するメッセージである。このメッセージも、上記の通り、例えば、アプリケーションA、アプリケーションB、ステータスモニタ等の処理系へと伝達される。
そして、ステータスモニタの場合であれば、このメッセージの受信を契機として、図11に示した処理が実行され、上記S1009の処理で肯定判断がなされることになる。
そして、ステータスモニタの場合は、サスペンド・ハイバネートへ入ってもよい旨の応答(OK)をOSに返す。また、サスペンド・ハイバネートへ入ってもよい他の処理系(例えば、アプリケーションA、B)も、同様の応答(OK)をOSに返す。
その結果、OSは、PC1の各部を制御し、PC1は、第2状態へ移行することになる。
[第2状態から第1状態へ復帰する事例]
次に、第2状態から第1状態へ復帰する事例について説明する。
PC1が第2状態にある場合に、利用者が所定の操作を行うことによって第1状態への復帰を指示すると、図14に示すように、PC1のOSは、復帰前にPC1上で稼働していた全ての処理系の稼働を再開させる。そして、各処理系に対してメッセージを送信する。
ここでOSから送信されるメッセージは、サスペンド・ハイバネートからの復帰メッセージである。このメッセージは、例えば、アプリケーションA、アプリケーションB、ステータスモニタ等の処理系へと伝達される。
そして、ステータスモニタの場合であれば、このメッセージの受信を契機として、図11に示したパワーマネージメント関連メッセージ処理が実行され、上記S1011の処理で肯定判断がなされ、S1013〜S1019の処理が実行されることになる。また、S1013〜S1019の処理の内、S1017の処理が実行された場合、プリンタ2A、2B側では、ステータス情報の提供処理を開始することになる。
ここで、ステータスモニタの場合は、S1013〜S1019の処理を実行した後、サスペンド・ハイバネートからの復帰に問題がない旨の応答(OK)をOSに返す。また、サスペンド・ハイバネートからの復帰に問題がない他の処理系(例えば、アプリケーションA、B)も、同様の応答(OK)をOSに返す。その結果、PC1は、第1状態へ復帰することになる。
[上記実施形態の効果]
上記ステータスモニタ機能を備えたPC1によれば、PC1が第2状態から第1状態へ復帰した時点で、S1017の処理により、PC1側からプリンタ2A、2B側へPJLコマンド“USTATUS DEVICE ON”(開始信号)が送信される。
したがって、仮にPC1が第2状態へ移行している間にプリンタ2A、2Bの電源オフ等の要因により、プリンタ2A、2B側の状態が初期化されていたとしても、プリンタ2A、2Bからステータス情報を取得する処理や、そのステータス情報を表示する処理を、何ら問題なく再開することができる。
また、上記PC1によれば、S1013の処理により、プリンタ2A、2Bと通信できることを確認した上で、S1017の処理により、PJLコマンド“USTATUS DEVICE ON”(開始信号)を送信する。したがって、開始信号を確実にプリンタ2A、2Bへ伝送することができる。
また、PC1において、S1013の処理により、プリンタ2A、2Bと通信できないことが判明した場合は、ステータスモニタが不要な状態であると推察されるため、S1019の処理により、ステータスモニタが終了する。したがって、ステータスモニタが終了する分だけPC1の資源を開放することができ、PC1にかかる負荷を軽減できる。
また、PC1は、第1の状態から第2の状態へ移行する際に、S1003の処理により、プリンタ2A、2B側でのステータス情報提供処理を終了させる。したがって、プリンタ2A、2B側では、不要な処理を実施しなくてもよくなり、プリンタ2A、2Bにかかる負荷を軽減できる。
また、プリンタ2A、2Bに対する終了信号(=S1003の処理によって送信されるPJLコマンド“USTATUS DEVICE OFF”)は、OS側から第2状態への移行についての問い合わせがあった段階で、プリンタ2A、2Bへ送信される。したがって、PC1の各部が実際に第1状態から第2状態へ移行する前に、終了信号の送信処理を開始することができる。
また、PC1は、終了信号がスプーラシステム21から送出されたのを確認した上で、OS側からの問い合わせに対し、第2状態への移行を許可する旨の応答を行う。したがって、プリンタ2A、2Bに対する終了コマンドの送信を確実に行った後に、第1状態から第2状態へ移行することができる。
また、PC1は、第2状態から第1状態への復帰に伴い、S1015の処理により、実際の印刷に先立って、プリンタ2A、2Bのスリープ状態を解除する。したがって、その後、印刷を行う場合には、直ちにプリンタ2A、2Bを利用することができる。
[変形例等]
以上、本発明の実施形態について説明したが、本発明は上記の具体的な一実施形態に限定されず、この他にも種々の形態で実施することができる。
例えば、上記実施形態では、プリンタ2A、2Bに対し、第1状態から第2状態への移行時に終了信号を送信し、且つ、第2状態から第1状態への復帰時に開始信号を送信する例を挙げたが、これに限らない。
具体的には、例えば、第1状態から第2状態への移行時に終了信号を送信しないものであっても、第2状態から第1状態への復帰時に開始信号を送信する手段さえ備えていれば、第2状態から第1状態への復帰時にはステータス情報が取得できるようになる。したがって、このような構成を採用しても相応の効果がある。
なお、参考までに例を挙げれば、プリンタ2A、2Bにかかる負荷を軽減したいだけであれば、第1状態から第2状態への移行時に終了信号を送信する手段だけを備えていても、相応の効果がある。
また、上記実施形態では、第2状態から第1状態への復帰時に、プリンタの電源がオンであることを確認した上で開始信号を送信していたが、プリンタの電源がオフの場合に開始信号を送信しても特段の問題がない場合は、無条件に開始信号を送信してもよい。
具体例を挙げれば、例えば、プリンタ2A、2B側に開始信号を出力する際、プリンタの電源がオフであっても、その開始信号がプリンタ2A、2B側に受信されないだけで、特にエラーが発生しないのであれば、無条件に開始信号を送信してもよい。
また、上記実施形態では、第2状態から第1状態への復帰時に、プリンタの電源がオフになっていれば、ステータスモニタを終了するように構成してあったが、これに限らない。例えば、プリンタの電源がオン/オフいずれであるかにかかわらず、ステータスモニタがPC1上に常駐して、次にプリンタの電源がオンになるまで待機または監視を続けるような構成としてもよい。
ステータスモニタ機能を備えたPCを含むシステム全体の概略構成図。 プリンタドライバインストール処理のフローチャート。 印刷処理のフローチャート。 ステータスモニタUI処理のフローチャート。 メッセージループ処理のフローチャート。 パーサ処理のフローチャート。 初期化メッセージ処理のフローチャート。 終了メッセージ処理のフローチャート。 デバイス構成変更メッセージ処理のフローチャート。 タイマーメッセージ処理のフローチャート。 パワーマネージメント関連メッセージ処理のフローチャート。 第1状態から第2状態への移行がキャンセルされる事例についてのタイミングチャート。 第1状態から第2状態へ移行する事例についてのタイミングチャート。 第2状態から第1状態へ復帰する事例についてのタイミングチャート。
符号の説明
1・・・パーソナルコンピュータ、2A,2B・・・プリンタ、11・・・プリンタドライバUI、12・・・ステータスモニタUI、13・・・ステータスデータパーサ、14・・・ローカルポートアービトレイタ、15A・・・パラレルプリンタクラスドライバ、15B・・・USBプリンタクラスドライバ、16A・・・パラレル物理層、16B・・・USB物理層、21・・・スプーラシステム、23・・・PnPマネージャ、25・・・I/Oマネージャ。

Claims (7)

  1. 通常の作動状態である第1状態から当該第1状態よりも電力消費を抑制する状態である第2状態へ移行可能、且つ、前記第2状態から前記第1状態に復帰可能に構成された情報処理装置を、
    前記情報処理装置が前記第2状態から前記第1状態へ復帰したことを検知する第1検知手段と、
    前記第1検知手段によって前記第1状態への復帰を検知した場合に、画像形成装置に対し、当該画像形成装置の状態を示すステータス情報の提供開始を要求するための開始信号を送信する第1送信手段と、
    前記開始信号を受信した前記画像形成装置から前記ステータス情報を取得する取得手段と、
    前記取得手段によって取得された前記ステータス情報に基づいて、前記画像形成装置の状態を表示する表示処理手段
    として機能させることにより、前記画像形成装置の状態を表示するステータスモニタとして機能させることを特徴とするステータスモニタプログラム。
  2. 前記情報処理装置を、
    前記画像形成装置と通信可能か通信不能かを判定する第1判定手段
    として機能させ、
    前記第1送信手段を、前記第1判定手段によって通信可能と判定された場合に、前記開始信号を送信する手段として機能させる
    ことを特徴とする請求項1に記載のステータスモニタプログラム。
  3. 前記情報処理装置を、
    前記第1判定手段によって通信不能と判定された場合に、前記情報処理装置を前記ステータスモニタとして機能させる処理を終了する制御手段
    として機能させることを特徴とする請求項2に記載のステータスモニタプログラム。
  4. 前記情報処理装置を、
    前記第1状態から前記第2状態へ移行することを検知する第2検知手段と、
    前記第2検知手段によって前記第2状態への移行を検知した場合に、前記画像形成装置に対し、前記ステータス情報の提供終了を要求するための終了信号を送信する第2送信手段
    として機能させることを特徴とする請求項1〜請求項3のいずれかに記載のステータスモニタプログラム。
  5. 前記情報処理装置は、前記第1状態から前記第2状態へ移行してもよいかどうかの問い合わせを行った後、当該問い合わせに対して前記第2状態への移行を拒否する応答がなかった場合に、前記第1状態から前記第2状態へ移行する旨の通知を行った上で、前記第1状態から前記第2状態へ移行するように構成されており、
    前記第2検知手段を、前記第1状態から前記第2状態へ移行してもよいかどうかの問い合わせを検知する手段
    として機能させることを特徴とする請求項4に記載のステータスモニタプログラム。
  6. 前記情報処理装置を、
    前記第2送信手段によって前記終了信号が外部へ送信されたか否かを判定する第2判定手段と、
    前記第2判定手段によって前記終了信号が外部へ送信されたと判定された場合、前記問い合わせに対して前記第2状態への移行を許可する応答を行う応答手段
    として機能させることを特徴とする請求項5に記載のステータスモニタプログラム。
  7. 前記情報処理装置を、
    前記第1検知手段によって前記第1状態への復帰を検知した場合に、前記画像形成装置に対し、前記画像形成装置のスリープ状態を解除するための信号を送信する第3送信手段
    として機能させることを特徴とする請求項1〜請求項6のいずれかに記載のステータスモニタプログラム。
JP2006354659A 2006-12-28 2006-12-28 ステータスモニタプログラム Active JP4930051B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006354659A JP4930051B2 (ja) 2006-12-28 2006-12-28 ステータスモニタプログラム
US11/965,954 US8867063B2 (en) 2006-12-28 2007-12-28 Information processing device, method and record medium for implementing status monitor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006354659A JP4930051B2 (ja) 2006-12-28 2006-12-28 ステータスモニタプログラム

Publications (2)

Publication Number Publication Date
JP2008165510A true JP2008165510A (ja) 2008-07-17
JP4930051B2 JP4930051B2 (ja) 2012-05-09

Family

ID=39583455

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006354659A Active JP4930051B2 (ja) 2006-12-28 2006-12-28 ステータスモニタプログラム

Country Status (2)

Country Link
US (1) US8867063B2 (ja)
JP (1) JP4930051B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012084023A (ja) * 2010-10-14 2012-04-26 Casio Electronics Co Ltd 印刷システム
CN103189848A (zh) * 2010-11-29 2013-07-03 日本电气株式会社 显示处理系统、显示处理方法和程序
WO2013115188A1 (ja) * 2012-01-30 2013-08-08 京セラドキュメントソリューションズ株式会社 ネットワークにおけるイベント通知システム
JP2015106771A (ja) * 2013-11-29 2015-06-08 キヤノン株式会社 画像形成システム、画像処理装置、画像形成装置、それらの制御方法、及びプログラム

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8866698B2 (en) * 2008-10-01 2014-10-21 Pleiades Publishing Ltd. Multi-display handheld device and supporting system
JP5438429B2 (ja) * 2009-08-11 2014-03-12 キヤノン株式会社 画像形成装置及びその制御方法
CN102934539B (zh) 2010-04-29 2015-12-02 富士机械制造株式会社 集中控制装置及集中控制方法
JP5750235B2 (ja) 2010-04-29 2015-07-15 富士機械製造株式会社 製造作業機
JP5966270B2 (ja) * 2010-09-16 2016-08-10 株式会社リコー システム及び機器管理プログラム
JP5865096B2 (ja) * 2011-06-16 2016-02-17 キヤノン株式会社 画像形成装置及びその制御方法、並びにプログラム
EP2555598A1 (en) * 2011-08-05 2013-02-06 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Method and device for generating optical radiation by means of electrically operated pulsed discharges
JP5712942B2 (ja) * 2012-01-30 2015-05-07 コニカミノルタ株式会社 画像形成システム、遠隔操作装置、画像形成装置、プログラム
US9392133B2 (en) * 2014-12-08 2016-07-12 Fuji Xerox Co., Ltd. Information processing apparatus and image forming apparatus
CN110535790B (zh) * 2019-08-23 2022-03-18 天津芯海创科技有限公司 基于semaphore的交换芯片异常报文处理方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09305350A (ja) * 1996-05-20 1997-11-28 Brother Ind Ltd 通信処理方法及び装置
JPH1115606A (ja) * 1997-06-20 1999-01-22 Canon Inc 印刷制御装置および印刷制御装置のデータ処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体
JP2000148416A (ja) * 1998-11-18 2000-05-30 Riso Kagaku Corp インターフェース装置
JP2001047706A (ja) * 1999-08-16 2001-02-20 Ricoh Co Ltd ネットワーク環境における画像形成システム
JP2002237819A (ja) * 1994-09-02 2002-08-23 Toshiba Corp 通信制御装置及び通信制御方法
WO2004009362A1 (ja) * 2002-07-19 2004-01-29 Seiko Epson Corporation 印刷システム
JP2006260187A (ja) * 2005-03-17 2006-09-28 Canon Inc ステータスモニタ

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH055350A (ja) 1991-06-27 1993-01-14 Doukou Sangyo:Kk 建築物の壁構造
JPH11198485A (ja) * 1998-01-12 1999-07-27 Canon Inc 印刷制御装置および印刷制御装置の低電力制御方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体
JP2001180083A (ja) * 1999-12-24 2001-07-03 Fuji Xerox Co Ltd 印刷装置
JP2005041214A (ja) * 2003-07-10 2005-02-17 Canon Inc 印刷制御装置及びその制御方法及びプログラム
JP2005041127A (ja) * 2003-07-23 2005-02-17 Brother Ind Ltd ステータス情報通知システム及びネットワーク端末装置及び通信処理装置
US7349355B2 (en) * 2004-10-27 2008-03-25 Intel Corporation Methods and apparatus for providing a communication proxy system
JP2006215686A (ja) 2005-02-02 2006-08-17 Canon Inc ホストコンピュータ、ネットワークプリンタおよびネットワークプリンタのパワーマネージメント制御方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002237819A (ja) * 1994-09-02 2002-08-23 Toshiba Corp 通信制御装置及び通信制御方法
JPH09305350A (ja) * 1996-05-20 1997-11-28 Brother Ind Ltd 通信処理方法及び装置
JPH1115606A (ja) * 1997-06-20 1999-01-22 Canon Inc 印刷制御装置および印刷制御装置のデータ処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体
JP2000148416A (ja) * 1998-11-18 2000-05-30 Riso Kagaku Corp インターフェース装置
JP2001047706A (ja) * 1999-08-16 2001-02-20 Ricoh Co Ltd ネットワーク環境における画像形成システム
WO2004009362A1 (ja) * 2002-07-19 2004-01-29 Seiko Epson Corporation 印刷システム
JP2006260187A (ja) * 2005-03-17 2006-09-28 Canon Inc ステータスモニタ

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012084023A (ja) * 2010-10-14 2012-04-26 Casio Electronics Co Ltd 印刷システム
CN103189848A (zh) * 2010-11-29 2013-07-03 日本电气株式会社 显示处理系统、显示处理方法和程序
US9195532B2 (en) 2010-11-29 2015-11-24 Nec Corporation Display processing system, display processing method, and program
WO2013115188A1 (ja) * 2012-01-30 2013-08-08 京セラドキュメントソリューションズ株式会社 ネットワークにおけるイベント通知システム
JP2013156809A (ja) * 2012-01-30 2013-08-15 Kyocera Document Solutions Inc ネットワークにおけるイベント通知システム
US9367274B2 (en) 2012-01-30 2016-06-14 Kyocera Document Solutions Inc. Network-based event notification system
JP2015106771A (ja) * 2013-11-29 2015-06-08 キヤノン株式会社 画像形成システム、画像処理装置、画像形成装置、それらの制御方法、及びプログラム

Also Published As

Publication number Publication date
JP4930051B2 (ja) 2012-05-09
US20080158596A1 (en) 2008-07-03
US8867063B2 (en) 2014-10-21

Similar Documents

Publication Publication Date Title
JP4930051B2 (ja) ステータスモニタプログラム
JP2007296723A (ja) 電力切換え機能を持つ制御装置,画像形成装置および画像読取装置
JP6245806B2 (ja) 情報処理装置およびその制御方法、
JP2017177573A (ja) PCI(Peripheral Component Interconnect)バスに接続されたPCIデバイスを備える情報処理装置及び情報処理装置の制御方法
KR102320386B1 (ko) 화상 형성 장치 및 화상 형성 장치의 전력 제어 방법
JP2010079729A (ja) 情報処理システム及びその制御方法、並びに、コンピュータプログラム
JP2016045706A (ja) 情報処理装置、周辺機器制御方法、及びフィルタドライバ
JP2017209869A (ja) プロセッサに接続されるデバイスから通知される復帰時間に応じてプロセッサの省電力のレベルを決定する情報処理装置及びプロセッサの省電力方法
JP5397162B2 (ja) プリンタードライバー、及び、posプリンターの制御方法
JP2013017139A (ja) 画像処理装置、その制御方法、及びプログラム
JP2007156512A (ja) 状態情報取得処理プログラム、状態情報取得装置、および状態情報取得システム
JP6336328B2 (ja) 通信装置とその制御方法、及びプログラム
US11825053B2 (en) Information processing apparatus, control method, and storage medium for updating a program
JP2015032249A (ja) 情報処理装置及びプログラム
CN107066072B (zh) 电子装置及其控制方法
JP2016170649A (ja) 情報処理装置、情報処理装置の制御方法
JP4870098B2 (ja) 電子装置及び該電子装置の制御方法
JP2015215684A (ja) 情報処理装置及び情報処理プログラム
JP4899646B2 (ja) 画像形成システム
JP2018036804A (ja) 情報処理装置および情報処理装置の制御方法
JP2015148978A (ja) 情報処理装置、情報処理装置の制御方法
JP2005313652A (ja) 印刷装置
JP5705185B2 (ja) 通信装置及びその制御方法、並びに、コンピュータプログラム
JP2014108545A (ja) 印刷装置、印刷装置の制御方法、及びプログラム
JP4193754B2 (ja) データ二重化方法とプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090528

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110510

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110706

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110913

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111208

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20111216

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 4930051

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

Year of fee payment: 3