(57)【特許請求の範囲】
【請求項１】
通信プログラム及びモードフラグを記憶する記憶部、画像を形成する画像形成装置と通信線を通じて接続される通信部、及び表示部を備える情報処理装置によって読み取り可能なモニタプログラムであって、前記通信プログラムは、前記通信線内に設けられた論理的な通信路を、第１プロトコルに準拠した手順で通信可能にする第１モードと、第２プロトコルに準拠した手順で通信可能にする第２モードとに排他的に切り替えて利用し、
該モニタプログラムは、
前記第１モード及び前記第２モードの一方から他方へ切り替えることを示す切替通知を前記情報処理装置が実行する前記通信プログラムから取得する通知取得処理と、
前記通知取得処理で取得した前記切替通知に従って、前記第１モードを示す第１値或いは前記第２モードを示す第２値を前記モードフラグに設定する切替処理とを前記情報処理装置に実行させ、
前記モードフラグに前記第１値が設定されている場合において、
前記第１プロトコルで動作する前記画像形成装置の状態を示す第１状態情報を、前記第１プロトコルに準拠した手順で前記第１モードの前記通信路を通じて前記画像形成装置から受信する第１受信処理と、
前記第１状態情報で示される状態を前記表示部に表示させる第１表示処理とを含む第１モニタ処理を前記情報処理装置に実行させ、
前記モードフラグに前記第２値が設定されている場合において、
前記第２プロトコルで動作する前記画像形成装置の状態を示す第２状態情報を、前記第２プロトコルに準拠した手順で前記第２モードの前記通信路を通じて前記画像形成装置から受信する第２受信処理と、
前記第２状態情報で示される状態を前記表示部に表示させる第２表示処理とを含む第２モニタ処理を前記情報処理装置に実行させるモニタプログラム。
【請求項２】
該モニタプログラムは、前記第１モードから前記第２モードへ切り替えることを示す前記切替通知を前記通知取得処理で取得したことに応じて、
前記第１モニタ処理と、
前記第１モニタ処理が終了したことに応じて、前記第２モードへの切り替えを許可する許可通知を、前記情報処理装置が実行する前記通信プログラムに出力する通知出力処理とを、前記切替処理に先立って前記情報処理装置に実行させる請求項１に記載のモニタプログラム。
【請求項３】
前記記憶部は、遷移済フラグを記憶しており、
該モニタプログラムは、
前記第１モードから前記第２モードへ切り替えることを示す前記切替通知を前記通知取得処理で取得したことに応じて、切替情報を未だ受信していないことを示す第３値を前記遷移済フラグに設定する初期化処理を前記情報処理装置に実行させ、前記切替情報は、前記画像形成装置において前記第１モードから前記第２モードへ切り替えられたタイミングを示す情報であり、
該モニタプログラムは、前記第２モニタ処理において、
前記遷移済フラグに前記第３値が設定されているときに前記第２受信処理で状態情報を受信したことに応じて、当該状態情報を前記第１状態情報として前記第１表示処理を前記情報処理装置に実行させ、
前記遷移済フラグに前記第３値が設定されているときに前記第２受信処理で前記切替情報を受信したことに応じて、前記切替情報を既に受信したことを示す第４値を前記遷移済フラグに設定する設定処理を前記情報処理装置に実行させ、
前記遷移済フラグに前記第４値が設定されているときに前記第２受信処理で状態情報を受信したことに応じて、当該状態情報を前記第２状態情報として前記第２表示処理を前記情報処理装置に実行させる請求項１に記載のモニタプログラム。
【請求項４】
該モニタプログラムは、前記第２モニタ処理において、
前記第２受信処理で受信した状態情報のデータ構造を解析することによって、当該状態情報が前記第１状態情報及び前記第２状態情報のいずれかを判断する判断処理と、
前記判断処理で前記第１状態情報と判断したことに応じて、前記第１表示処理を前記情報処理装置に実行させ、
前記判断処理で前記第２状態情報と判断したことに応じて、前記第２表示処理を前記情報処理装置に実行させる請求項１に記載のモニタプログラム。
【請求項５】
該モニタプログラムは、前記第１モードから前記第２モードへ切り替えることを示す前記切替通知を前記通知取得処理で取得したことに応じて、前記通信部を通じて前記画像形成装置に停止指示情報を送信する停止指示処理を前記情報処理装置に実行させ、前記停止指示情報は、前記第１状態情報の生成停止を指示する情報であり、
該モニタプログラムは、前記第２モードから前記第１モードへ切り替えることを示す前記切替通知を前記通知取得処理で取得したことに応じて、前記通信部を通じて前記画像形成装置に開始指示情報を送信する開始指示処理を前記情報処理装置に実行させ、前記開始指示情報は、前記第１状態情報の生成開始を指示する情報である請求項１から４のいずれかに記載のモニタプログラム。
【請求項６】
前記通信部は、前記通信線であるＵＳＢケーブルを着脱可能なＵＳＢインタフェースであり、前記第１プロトコルは、Ｌａｇａｃｙ又はＩＰＰ／ＵＳＢのいずれか一方であり、前記第２プロトコルは、Ｌａｇａｃｙ又はＩＰＰ／ＵＳＢの他方である請求項１から５のいずれかに記載のモニタプログラム。
【請求項７】
通信プログラム及びモードフラグを記憶する記憶部、画像を形成する画像形成装置と通信線を通じて接続される通信部、及び表示部を備える情報処理装置によって読み取り可能なモニタプログラムであって、前記通信プログラムは、前記通信線内に設けられた論理的な通信路を、第１プロトコルに準拠した手順で通信可能にする第１モードと、第２プロトコルに準拠した手順で通信可能にする第２モードとに排他的に切り替えて利用し、
該モニタプログラムは、
前記通信路が前記第１モード及び前記第２モードのどちらかを示すモード情報を、前記通信部を通じて前記画像形成装置から受信するモード受信処理と、
前記モード受信処理で受信した前記モード情報に従って、前記第１モードを示す第１値或いは前記第２モードを示す第２値を前記モードフラグに設定する切替処理とを前記情報処理装置に実行させ、
前記モードフラグに前記第１値が設定されている場合において、
前記第１プロトコルで動作する前記画像形成装置の状態を示す第１状態情報を、前記第１プロトコルに準拠した手順で前記第１モードの前記通信路を通じて前記画像形成装置から受信する第１受信処理と、
前記第１状態情報で示される状態を前記表示部に表示させる第１表示処理とを含む第１モニタ処理を前記情報処理装置に実行させ、
前記モードフラグに前記第２値が設定されている場合において、
前記第２プロトコルで動作する前記画像形成装置の状態を示す第２状態情報を、前記第２プロトコルに準拠した手順で前記第２モードの前記通信路を通じて前記画像形成装置から受信する第２受信処理と、
前記第２状態情報で示される状態を前記表示部に表示させる第２表示処理とを含む第２モニタ処理を前記情報処理装置に実行させるモニタプログラム。
【請求項８】
モニタプログラムを記憶する記憶部、及び画像を形成する画像形成装置と通信線を通じて接続される通信部を備える情報処理装置によって読み取り可能な通信プログラムであって、前記モニタプログラムは、前記通信線内に設けられた論理的な通信路を通じて、第１プロトコルで動作する前記画像形成装置の状態を示す第１状態情報、及び第２プロトコルで動作する前記画像形成装置の状態を示す第２状態情報を、対応するプロトコルに準拠した手順で前記画像形成装置から受信し、
該通信プログラムは、
前記第１プロトコルに準拠した手順で前記通信路を通信可能にする第１モードから、前記第２プロトコルに準拠した手順で前記通信路を通信可能にする第２モードへ切り替えることを示す第１切替通知を、前記情報処理装置が実行する前記モニタプログラムに出力する第１通知出力処理と、
前記第１モードから前記第２モードへの切り替えを許可する第１許可通知を、前記モニタプログラムから取得する第１通知取得処理と、
前記第１通知取得処理で前記第１許可通知を取得したことに応じて、前記通信路を前記第１モードから前記第２モードへ切り替えることを指示する第１コマンドを、前記通信部を通じて前記画像形成装置に送信する第１切替処理と、
前記第２プロトコルに準拠したデータを、前記第２モードの前記通信路を通じて前記画像形成装置に送信する送信処理と、
前記送信処理が終了したことに応じて、前記第２モードから前記第１モードへ切り替えることを示す第２切替通知を、前記情報処理装置が実行する前記モニタプログラムに出力する第２通知出力処理と、
前記第２モードから前記第１モードへの切り替えを許可する第２許可通知を、前記情報処理装置が実行する前記モニタプログラムから取得する第２通知取得処理と、
前記第２通知取得処理で前記第２許可通知を取得したことに応じて、前記通信路を前記第２モードから前記第１モードへ切り替えることを指示する第２コマンドを、前記通信部を通じて前記画像形成装置に送信する第２切替処理とを前記情報処理装置に実行させる通信プログラム。
【請求項９】
前記記憶部は、前記通信部を通じて前記画像形成装置と通信するために、前記情報処理装置のＯＳと共に提供された標準プログラムを記憶しており、
該通信プログラムは、
前記情報処理装置が実行する前記標準プログラムから前記第１コマンドを受信したことに応じて前記第１通知出力処理を前記情報処理装置に実行させ、且つ前記第１通知取得処理で前記第１許可通知を取得したことに応じて前記第１切替処理を前記情報処理装置に実行させ、
前記情報処理装置が実行する前記標準プログラムから前記第２コマンドを受信したことに応じて前記第２通知出力処理を前記情報処理装置に実行させ、且つ前記第２通知取得処理で前記第２許可通知を取得したことに応じて前記第２切替処理を前記情報処理装置に実行させる請求項８に記載の通信プログラム。
【請求項１０】
通信プログラム、モニタプログラム、及びモードフラグを記憶する記憶部と、
画像を形成する画像形成装置と通信線を通じて接続される通信部と、
表示部と、
制御部とを備える情報処理装置であって、
前記通信プログラムを実行する前記制御部は、前記通信線内に設けられた論理的な通信路を、第１プロトコルに準拠した手順で通信可能にする第１モードと、第２プロトコルに準拠した手順で通信可能にする第２モードとに排他的に切り替えて利用し、
前記モニタプログラムを実行する前記制御部は、
前記第１モード及び前記第２モードの一方から他方へ切り替えることを示す切替通知を、前記制御部が実行する前記通信プログラムから取得する通知取得処理と、
前記通知取得処理で取得した前記切替通知に従って、前記第１モードを示す第１値或いは前記第２モードを示す第２値を前記モードフラグに設定する切替処理とを実行し、
前記モードフラグに前記第１値が設定されている場合において、
前記第１プロトコルで動作する前記画像形成装置の状態を示す第１状態情報を、前記第１プロトコルに準拠した手順で前記第１モードの前記通信路を通じて前記画像形成装置から受信する第１受信処理と、
前記第１状態情報で示される状態を前記表示部に表示させる第１表示処理とを含む第１モニタ処理を実行し、
前記モードフラグに前記第２値が設定されている場合において、
前記第２プロトコルで動作する前記画像形成装置の状態を示す第２状態情報を、前記第２プロトコルに準拠した手順で前記第２モードの前記通信路を通じて前記画像形成装置から受信する第２受信処理と、
前記第２状態情報で示される状態を前記表示部に表示させる第２表示処理とを含む第２モニタ処理を実行する情報処理装置。
【請求項１１】
画像を形成する画像形成部と、
論理的な通信路が設けられた通信線を通じて情報処理装置と接続される通信部と、
第１プロトコルに従って動作した前記画像形成部の状態を示す第１状態情報を記憶させるための第１領域、及び第２プロトコルに従って動作した前記画像形成部の状態を示す第２状態情報を記憶させるための第２領域を有する記憶部と、
制御部とを備える画像形成装置であって、
前記制御部は、
前記第１プロトコルから前記第２プロトコルへ切り替えることを指示する切替コマンドを、前記通信部を通じて前記情報処理装置から受信する受信処理と、
前記受信処理で前記切替コマンドを受信したことに応じて、前記第１領域に記憶された前記第１状態情報を、当該第１状態情報と同一の内容を示し且つ前記第２プロトコルに準拠した前記第２状態情報に変換する変換処理と、
前記変換処理で変換した前記第２状態情報を前記第２領域に記憶させる記憶処理と、
前記受信処理で受信した前記切替コマンドに従って、前記第１プロトコルに準拠した手順で前記通信路を通信可能にする第１モードから、前記第２プロトコルに準拠した手順で前記通信路を通信可能にする第２モードへ切り替える切替処理と、
前記第２領域に記憶された前記第２状態情報を、前記第２モードの前記通信路を通じて前記情報処理装置に送信する送信処理とを実行する画像形成装置。
【請求項１２】
画像を形成する画像形成部と、
論理的な通信路が設けられた通信線を通じて情報処理装置と接続される通信部と、
第１プロトコルに従って動作した前記画像形成部の状態を示す第１状態情報、及び第２プロトコルに従って動作した前記画像形成部の状態を示す第２状態情報を記憶する記憶部と、
制御部とを備える画像形成装置であって、
前記制御部は、
前記第１プロトコルに準拠した手順で前記通信路を通信可能にする第１モードのときに、前記第１状態情報を前記記憶部に記憶させる第１記憶処理と、
前記第１プロトコルから前記第２プロトコルへ切り替えることを指示する切替コマンドを、前記通信部を通じて前記情報処理装置から受信する受信処理と、
前記受信処理で前記切替コマンドを受信したことに応じて、前記第１プロトコルから前記第２プロトコルへ切り替えられたことを示す切替情報を、前記第１記憶処理で記憶させた前記第１状態情報の後に前記記憶部に記憶させる第２記憶処理と、
前記受信処理で受信した前記切替コマンドに従って、前記第１モードから、前記第２プロトコルに準拠した手順で前記通信路を通信可能にする第２モードへ切り替える切替処理と、
前記記憶部に記憶された前記第１状態情報及び前記切替情報を、前記第２モードの前記通信路を通じて前記情報処理装置に送信する送信処理とを実行する画像形成装置。
【請求項１３】
情報処理装置と、画像形成装置とを備える画像形成システムであって、
前記情報処理装置は、
通信プログラム、モニタプログラム、及びモードフラグを記憶する第１記憶部と、
前記画像形成装置と通信線を通じて接続される第１通信部と、
表示部と、
第１制御部とを備えており、
前記通信プログラムを実行する前記第１制御部は、前記通信線内に設けられた論理的な通信路を、第１プロトコルに準拠した手順で通信可能にする第１モードと、第２プロトコルに準拠した手順で通信可能にする第２モードとに排他的に切り替えて利用し、
前記モニタプログラムを実行する前記第１制御部は、
前記第１モード及び前記第２モードの一方から他方へ切り替えることを示す切替通知を、前記第１制御部が実行する前記通信プログラムから取得する通知取得処理と、
前記通知取得処理で取得した前記切替通知に従って、前記第１モードを示す第１値或いは前記第２モードを示す第２値を前記モードフラグに設定する切替処理とを実行し、
前記モードフラグに前記第１値が設定されている場合において、
前記第１プロトコルに準拠した手順で前記第１モードの前記通信路を通じて前記画像形成装置から第１状態情報を受信する第１受信処理と、
前記第１状態情報で示される状態を前記表示部に表示させる第１表示処理とを含む第１モニタ処理を実行し、
前記モードフラグに前記第２値が設定されている場合において、
前記第２プロトコルに準拠した手順で前記第２モードの前記通信路を通じて前記画像形成装置から第２状態情報を受信する第２受信処理と、
前記第２状態情報で示される状態を前記表示部に表示させる第２表示処理とを含む第２モニタ処理を実行し、
前記画像形成装置は、
画像を形成する画像形成部と、
前記情報処理装置と前記通信線を通じて接続される第２通信部と、
前記第１プロトコルで動作する前記画像形成部の状態を示す前記第１状態情報、及び前記第２プロトコルで動作する前記画像形成部の状態を示す前記第２状態情報を記憶する第２記憶部と、
第２制御部とを備えており、
前記第２制御部は、
前記第２記憶部に記憶された前記第１状態情報を、前記第１モードの前記通信路を通じて前記情報処理装置に送信する第１送信処理と、
前記第２記憶部に記憶された前記第２状態情報を、前記第２モードの前記通信路を通じて前記情報処理装置に送信する第２送信処理とを実行する画像形成システム。
【請求項１４】
通信プログラムを記憶する記憶部、画像を形成する画像形成装置と通信線を通じて接続される通信部、及び表示部を備える情報処理装置によって読み取り可能なモニタプログラムであって、
該モニタプログラムは、
前記通信部を通じて前記画像形成装置から状態情報を受信する受信処理と、
前記受信処理で受信した状態情報のデータ構造を解析することによって、当該状態情報が第１状態情報及び第２状態情報のいずれかを判断する判断処理とを前記情報処理装置に実行させ、前記第１状態情報は、第１プロトコルで動作する前記画像形成装置の状態を示す情報であり、前記第２状態情報は、第２プロトコルで動作する前記画像形成装置の状態を示す情報であり、
該モニタプログラムは、
前記判断処理で前記第１状態情報と判断したことに応じて、前記第１状態情報で示される状態を前記表示部に表示させる第１表示処理を前記情報処理装置に実行させ、
前記判断処理で前記第２状態情報と判断したことに応じて、前記第２状態情報で示される状態を前記表示部に表示させる第２表示処理を前記情報処理装置に実行させるモニタプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置の状態を監視するモニタプログラムに関する。
【背景技術】
【０００２】
情報処理装置とプリンタ等の画像形成装置とで構成されるシステムにおいて、画像形成装置の状態を示す状態情報を情報処理装置が取得して表示する技術が従来から知られている。例えば特許文献には、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓの略）インタフェースで接続されたホストコンピュータ及び画像形成装置のシステムにおいて、ホストコンピュータから状態取得コマンドを受信すると、画像形成装置が自身の状態を示すステータスをホストコンピュータに通知する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−９３４１９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
情報処理装置と画像形成装置との間の通信は、例えば、ＰＪＬ（Ｐｒｉｎｔｅｒ  Ｊｏｂ  Ｌａｎｇｕａｇｅの略であり、Ｈｅｗｌｅｔｔ−Ｐａｃｋａｒｄ  Ｃｏｍｐａｎｙの登録商標）やＩＰＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｉｎｔｉｎｇ  Ｐｒｏｔｏｃｏｌの略）  ｏｖｅｒ  ＵＳＢ（以下、「ＩＰＰ／ＵＳＢ」と表記する。）等の複数のプロトコルによって実現される。また、情報処理装置及び画像形成装置は、通信線のモードを排他的に切り替えることによって、複数のプロトコルそれぞれで通信することができる。そして、画像形成装置から送信される状態情報は、その内容及び受信手順がプロトコルによって異なる。
【０００５】
本発明は、上記の事情に鑑みてなされたものであり、その目的は、画像形成装置の状態をプロトコル毎に適切に表示可能なモニタプログラムを提供することにある。
【課題を解決するための手段】
【０００６】
本明細書の一形態に記載のモニタプログラムは、通信プログラム及びモードフラグを記憶する記憶部、画像を形成する画像形成装置と通信線を通じて接続される通信部、及び表示部を備える情報処理装置によって読み取り可能である。前記通信プログラムは、前記通信線内に設けられた論理的な通信路を、第１プロトコルに準拠した手順で通信可能にする第１モードと、第２プロトコルに準拠した手順で通信可能にする第２モードとに排他的に切り替えて利用する。該モニタプログラムは、前記第１モード及び前記第２モードの一方から他方へ切り替えることを示す切替通知を前記通信プログラムから取得する通知取得処理と、前記通知取得処理で取得した前記切替通知に従って、前記第１モードを示す第１値或いは前記第２モードを示す第２値を前記モードフラグに設定する切替処理とを前記情報処理装置に実行させる。該モニタプログラムは、前記モードフラグに前記第１値が設定されている場合において、前記第１プロトコルで動作する前記画像形成装置の状態を示す第１状態情報を、前記第１プロトコルに準拠した手順で前記第１モードの前記通信路を通じて前記画像形成装置から受信する第１受信処理と、前記第１状態情報で示される状態を前記表示部に表示させる第１表示処理とを含む第１モニタ処理を前記情報処理装置に実行させる。該モニタプログラムは、前記モードフラグに前記第２値が設定されている場合において、前記第２プロトコルで動作する前記画像形成装置の状態を示す第２状態情報を、前記第２プロトコルに準拠した手順で前記第２モードの前記通信路を通じて前記画像形成装置から受信する第２受信処理と、前記第２状態情報で示される状態を前記表示部に表示させる第２表示処理とを含む第２モニタ処理を前記情報処理装置に実行させる。
【０００７】
上記構成のモニタプログラムによれば、通信プログラムから取得した切替通知に従ってモードフラグの設定値を変更し、モードフラグの設定値で示されるプロトコルに従って画像形成装置から状態情報を受信する。その結果、画像形成装置の状態をプロトコル毎に適切に表示部に表示させることができる。
【０００８】
本明細書の他の形態に係るモニタプログラムは、通信プログラム及びモードフラグを記憶する記憶部、画像を形成する画像形成装置と通信線を通じて接続される通信部、及び表示部を備える情報処理装置によって読み取り可能である。前記通信プログラムは、前記通信線内に設けられた論理的な通信路を、第１プロトコルに準拠した手順で通信可能にする第１モードと、第２プロトコルに準拠した手順で通信可能にする第２モードとに排他的に切り替えて利用する。該モニタプログラムは、前記通信路が前記第１モード及び前記第２モードのどちらかを示すモード情報を、前記通信部を通じて前記画像形成装置から受信するモード受信処理と、前記モード受信処理で受信した前記モード情報に従って、前記第１モードを示す第１値或いは前記第２モードを示す第２値を前記モードフラグに設定する切替処理とを前記情報処理装置に実行させる。該モニタプログラムは、前記モードフラグに前記第１値が設定されている場合において、前記第１プロトコルで動作する前記画像形成装置の状態を示す第１状態情報を、前記第１プロトコルに準拠した手順で前記第１モードの前記通信路を通じて前記画像形成装置から受信する第１受信処理と、前記第１状態情報で示される状態を前記表示部に表示させる第１表示処理とを含む第１モニタ処理を前記情報処理装置に実行させる。該モニタプログラムは、前記モードフラグに前記第２値が設定されている場合において、前記第２プロトコルで動作する前記画像形成装置の状態を示す第２状態情報を、前記第２プロトコルに準拠した手順で前記第２モードの前記通信路を通じて前記画像形成装置から受信する第２受信処理と、前記第２状態情報で示される状態を前記表示部に表示させる第２表示処理とを含む第２モニタ処理を前記情報処理装置に実行させる。
【０００９】
本明細書に記載の通信プログラムは、モニタプログラムを記憶する記憶部、及び画像を形成する画像形成装置と通信線を通じて接続される通信部を備える情報処理装置によって読み取り可能である。前記モニタプログラムは、前記通信線内に設けられた論理的な通信路を通じて、第１プロトコルで動作する前記画像形成装置の状態を示す第１状態情報、及び第２プロトコルで動作する前記画像形成装置の状態を示す第２状態情報を、対応するプロトコルに準拠した手順で前記画像形成装置から受信する。該通信プログラムは、前記第１プロトコルに準拠した手順で前記通信路を通信可能にする第１モードから、前記第２プロトコルに準拠した手順で前記通信路を通信可能にする第２モードへ切り替えることを示す第１切替通知を、前記モニタプログラムに出力する第１通知出力処理と、前記第１モードから前記第２モードへの切り替えを許可する第１許可通知を、前記モニタプログラムから取得する第１通知取得処理と、前記第１通知取得処理で前記第１許可通知を取得したことに応じて、前記通信路を前記第１モードから前記第２モードへ切り替えることを指示する第１コマンドを、前記通信部を通じて前記画像形成装置に送信する第１切替処理と、前記第２プロトコルに準拠したデータを、前記第２モードの前記通信路を通じて前記画像形成装置に送信する送信処理と、前記送信処理が終了したことに応じて、前記第２モードから前記第１モードへ切り替えることを示す第２切替通知を、前記モニタプログラムに出力する第２通知出力処理と、前記第２モードから前記第１モードへの切り替えを許可する第２許可通知を、前記モニタプログラムから取得する第２通知取得処理と、前記第２通知取得処理で前記第２許可通知を取得したことに応じて、前記通信路を前記第２モードから前記第１モードへ切り替えることを指示する第２コマンドを、前記通信部を通じて前記画像形成装置に送信する第２切替処理とを前記情報処理装置に実行させる。
【００１０】
本明細書に記載の情報処理装置は、通信プログラム、モニタプログラム、及びモードフラグを記憶する記憶部と、画像を形成する画像形成装置と通信線を通じて接続される通信部と、表示部と、制御部とを備える。前記通信プログラムを実行する前記制御部は、前記通信線内に設けられた論理的な通信路を、第１プロトコルに準拠した手順で通信可能にする第１モードと、第２プロトコルに準拠した手順で通信可能にする第２モードとに排他的に切り替えて利用する。前記モニタプログラムを実行する前記制御部は、前記第１モード及び前記第２モードの一方から他方へ切り替えることを示す切替通知を、前記通信プログラムから取得する通知取得処理と、前記通知取得処理で取得した前記切替通知に従って、前記第１モードを示す第１値或いは前記第２モードを示す第２値を前記モードフラグに設定する切替処理とを実行する。前記制御部は、前記モードフラグに前記第１値が設定されている場合において、前記第１プロトコルで動作する前記画像形成装置の状態を示す第１状態情報を、前記第１プロトコルに準拠した手順で前記第１モードの前記通信路を通じて前記画像形成装置から受信する第１受信処理と、前記第１状態情報で示される状態を前記表示部に表示させる第１表示処理とを含む第１モニタ処理を実行する。前記制御部は、前記モードフラグに前記第２値が設定されている場合において、前記第２プロトコルで動作する前記画像形成装置の状態を示す第２状態情報を、前記第２プロトコルに準拠した手順で前記第２モードの前記通信路を通じて前記画像形成装置から受信する第２受信処理と、前記第２状態情報で示される状態を前記表示部に表示させる第２表示処理とを含む第２モニタ処理を実行する。
【００１１】
本明細書の一形態に係る画像形成装置は、画像を形成する画像形成部と、論理的な通信路が設けられた通信線を通じて情報処理装置と接続される通信部と、第１プロトコルに従って動作した前記画像形成部の状態を示す第１状態情報を記憶させるための第１領域、及び第２プロトコルに従って動作した前記画像形成部の状態を示す第２状態情報を記憶させるための第２領域を有する記憶部と、制御部とを備える。前記制御部は、前記第１プロトコルから前記第２プロトコルへ切り替えることを指示する切替コマンドを、前記通信部を通じて前記情報処理装置から受信する受信処理と、前記受信処理で前記切替コマンドを受信したことに応じて、前記第１領域に記憶された前記第１状態情報を、当該第１状態情報と同一の内容を示し且つ前記第２プロトコルに準拠した前記第２状態情報に変換する変換処理と、前記変換処理で変換した前記第２状態情報を前記第２領域に記憶させる記憶処理と、前記受信処理で受信した前記切替コマンドに従って、前記第１プロトコルに準拠した手順で前記通信路を通信可能にする第１モードから、前記第２プロトコルに準拠した手順で前記通信路を通信可能にする第２モードへ切り替える切替処理と、前記第２領域に記憶された前記第２状態情報を、前記第２モードの前記通信路を通じて前記情報処理装置に送信する送信処理とを実行する。
【００１２】
本明細書の他の形態に係る画像形成装置は、画像を形成する画像形成部と、論理的な通信路が設けられた通信線を通じて情報処理装置と接続される通信部と、第１プロトコルに従って動作した前記画像形成部の状態を示す第１状態情報を記憶させるための第１領域、及び第２プロトコルに従って動作した前記画像形成部の状態を示す第２状態情報を記憶させるための第２領域を有する記憶部と、制御部とを備える。前記制御部は、前記第１プロトコルから前記第２プロトコルへ切り替えることを指示する切替コマンドを、前記通信部を通じて前記情報処理装置から受信する受信処理と、前記受信処理で前記切替コマンドを受信したことに応じて、前記第１領域に記憶された前記第１状態情報を前記第２領域に記憶させる第１記憶処理と、前記第１プロトコルから前記第２プロトコルへ切り替えられたことを示す切替情報を、前記第１記憶処理で記憶させた前記第１状態情報の後に前記第２領域に記憶させる第２記憶処理と、前記受信処理で受信した前記切替コマンドに従って、前記第１プロトコルに準拠した手順で前記通信路を通信可能にする第１モードから、前記第２プロトコルに準拠した手順で前記通信路を通信可能にする第２モードへ切り替える切替処理と、前記第２領域に記憶された前記第１状態情報及び前記切替情報を、前記第２モードの前記通信路を通じて前記情報処理装置に送信する送信処理とを実行する。
【００１３】
本明細書に記載の画像形成システムは、情報処理装置と、画像形成装置とを備える。前記情報処理装置は、通信プログラム、モニタプログラム、及びモードフラグを記憶する第１記憶部と、前記画像形成装置と通信線を通じて接続される第１通信部と、表示部と、第１制御部とを備える。前記通信プログラムを実行する前記第１制御部は、前記通信線内に設けられた論理的な通信路を、第１プロトコルに準拠した手順で通信可能にする第１モードと、第２プロトコルに準拠した手順で通信可能にする第２モードとに排他的に切り替えて利用する。前記モニタプログラムを実行する前記第１制御部は、前記第１モード及び前記第２モードの一方から他方へ切り替えることを示す切替通知を、前記通信プログラムから取得する通知取得処理と、前記通知取得処理で取得した前記切替通知に従って、前記第１モードを示す第１値或いは前記第２モードを示す第２値を前記モードフラグに設定する切替処理とを実行する。前記第１制御部は、前記モードフラグに前記第１値が設定されている場合において、前記第１プロトコルに準拠した手順で前記第１モードの前記通信路を通じて前記画像形成装置から第１状態情報を受信する第１受信処理と、前記第１状態情報で示される状態を前記表示部に表示させる第１表示処理とを含む第１モニタ処理を実行する。前記第１制御部は、前記モードフラグに前記第２値が設定されている場合において、前記第２プロトコルに準拠した手順で前記第２モードの前記通信路を通じて前記画像形成装置から第２状態情報を受信する第２受信処理と、前記第２状態情報で示される状態を前記表示部に表示させる第２表示処理とを含む第２モニタ処理を実行する。前記画像形成装置は、画像を形成する画像形成部と、前記情報処理装置と前記通信線を通じて接続される第２通信部と、前記第１プロトコルで動作する前記画像形成部の状態を示す前記第１状態情報、及び前記第２プロトコルで動作する前記画像形成部の状態を示す前記第２状態情報を記憶する第２記憶部と、第２制御部とを備える。前記第２制御部は、前記第２記憶部に記憶された前記第１状態情報を、前記第１モードの前記通信路を通じて前記情報処理装置に送信する第１送信処理と、前記第２記憶部に記憶された前記第２状態情報を、前記第２モードの前記通信路を通じて前記情報処理装置に送信する第２送信処理とを実行する。
【図面の簡単な説明】
【００１４】
【図１】図１は、実施形態１に係る画像形成システム１００の概略図である。
【図２】図２は、ＵＳＢケーブル４０を通じて接続された複合機１０及び情報処理装置５０の概念図である。
【図３】図３は、ＵＳＢケーブル４０を通じて接続された複合機１０にプリント動作を実行させるためのプログラムのスタック構造の一例を示す図である。
【図４】図４は、（Ａ）がＬｅｇａｃｙモードのプリント指示処理のフローチャートであり、（Ｂ）がＩＰＰ／ＵＳＢモードのプリント指示処理のフローチャートであり、（Ｃ）がＩＰＰ／ＵＳＢ送信処理のフローチャートである。
【図５】図５は、ステータス監視処理のフローチャートである。
【図６】図６は、（Ａ）がＬｅｇａｃｙステータス監視処理のフローチャートであり、（Ｂ）がＩＰＰ／ＵＳＢステータス監視処理のフローチャートである。
【図７】図７は、（Ａ）実施形態２に係るプロトコル切替処理１のフローチャートであり、（Ｂ）が実施形態３に係るプロトコル切替処理２のフローチャートである。
【図８】図８は、実施形態３に係るＬｅｇａｃｙステータス監視処理のフローチャートである。
【図９】図９は、実施形態３に係るＩＰＰ／ＵＳＢステータス監視処理のフローチャートである。
【図１０】図１０は、実施形態４に係るＬｅｇａｃｙステータス監視処理のフローチャートである。
【図１１】図１１は、実施形態５に係る中継処理のフローチャートである。
【図１２】図１２は、実施形態２に係るデータ記憶領域３２Ｂの状態を示す図であって、（Ａ）はプロトコル切替処理１の実行前の状態を、（Ｂ）はプロトコル切替処理１の実行後の状態を示す図である。
【図１３】図１３は、実施形態３に係るデータ記憶領域３２Ｂの状態を示す図であって、（Ａ）はプロトコル切替処理２の実行前の状態を、（Ｂ）はプロトコル切替処理２の実行後の状態を示す図である。
【発明を実施するための形態】
【００１５】
以下、適宜図面を参照して本発明の実施形態について説明する。なお、以下に説明される実施形態は本発明の一例にすぎず、本発明の要旨を変更しない範囲で、本発明の実施形態を適宜変更できることは言うまでもない。
【００１６】
［実施形態１］
図１は、実施形態１に係る画像形成システム１００の概略図である。図１に示される画像形成システム１００は、複合機１０と、情報処理装置５０とで構成されている。複合機１０と情報処理装置５０とは、例えば、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓの略）ケーブル４０によって接続されている。ＵＳＢケーブル４０は、通信線の一例である。
【００１７】
画像形成システム１００は、例えば、情報処理装置５０がプリントデータを生成し、当該プリントデータで示される画像を複合機１０が記録用紙に記録する。また、画像形成システム１００は、複合機１０の状態を示す状態情報を複合機１０が情報処理装置５０に送信し、状態情報で示される複合機１０の状態を情報処理装置５０がユーザに通知する。実施形態１において、複合機１０はＵＳＢデバイスとして動作し、情報処理装置５０はＵＳＢホストとして機能する。
【００１８】
実施形態１に係る画像形成システム１００において、ＵＳＢケーブル４０の一端が複合機１０のＵＳＢインタフェース２５に接続され、ＵＳＢケーブル４０の他端が情報処理装置５０のＵＳＢインタフェース５５に接続されることによって、複合機１０と情報処理装置５０とが相互に接続される。なお、実施形態１に係る複合機１０及び情報処理装置５０の接続は、双方向通信が可能であれば、ＵＳＢケーブル４０に限定されない。また、複合機１０及び情報処理装置５０は、論理的に接続されていれば、物理的なトポロジがスター型或いはツリー型等であってもよい。すなわち、複合機１０及び情報処理装置５０は、ＵＳＢハブ等を介して接続されていてもよい。
【００１９】
ＵＳＢには、例えば図２に示されるように、複数のインタフェース４１、４２、・・・が論理的に設けられている。複合機１０及び情報処理装置５０は、インタフェース４１、４２を、第１プロトコルに準拠した手順で通信可能にする第１モードと、第２プロトコルに準拠した手順で通信可能にする第２モードとに排他的に切り替えて利用する。複合機１０及び情報処理装置５０のデフォルトモードは、第１モードである。インタフェース４１、４２は、論理的な通信路の一例である。
【００２０】
第１モードとは、例えば、第１プロトコルに準拠した手順でＵＳＢケーブル４０に対して情報の入出力を行うことを、複合機１０及び情報処理装置５０のプログラムが認識している状態を指す。「第１モードであることをプログラムが認識する」とは、例えば、当該プログラムが参照可能なモードフラグに第１モードを示す値が設定されている状態を指す。本明細書では、このような状態で複合機１０と情報処理装置５０とが通信することを、「第１モードのインタフェースを通じて通信する」と表記することがある。第２モードについても同様である。
【００２１】
実施形態１における第１プロトコルは、例えば、ＰＪＬを想定している。但し、第１プロトコルはＰＪＬに限られず、ＵＳＢのプリンタクラスを規定するUniversal Serial Bus Device Class Difinition for Printing Deviceに準拠したものであれば何でもよい。実施形態１における第２プロトコルは、例えば、ＩＰＰ  ｏｖｅｒ  ＵＳＢを想定している。ＩＰＰ  ｏｖｅｒ  ＵＳＢは、USB Print Interface Class IPP Protocol specificationに準拠している。以下、第１モードを“Ｌｅｇａｃｙモード”と表記し、第１プロトコルを“Ｌｅｇａｃｙ”と表記し、第２モードを“ＩＰＰ／ＵＳＢモード”と表記し、第２プロトコルを“ＩＰＰ”と表記することがある。但し、第１プロトコル及び第２プロトコルの具体例、及びその組み合わせは、前述の例に限定されない。
【００２２】
［複合機１０］
複合機１０は、図１に示されるように、プリンタ部１１と、スキャナ部１２と、表示部２３と、操作部２４と、ＵＳＢインタフェース（図１では「ＵＳＢ  Ｉ／Ｆ」と表記する。）２５と、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔの略）３１と、記憶部３２と、通信バス３３とを主に備える。複合機１０を構成する各構成要素は、通信バス３３を介して相互に接続されている。複合機１０は、画像を形成する画像形成装置の一例である。プリンタ部１１及びスキャナ部１２は、画像形成部の一例である。
【００２３】
［プリンタ部１１、スキャナ部１２］
プリンタ部１１は、画像データで示される画像を用紙に記録するプリント動作を実行する。プリンタ部１１の記録方式は特に限定されないが、例えば、インクジェット方式や電子写真方式などの公知の方式を採用することができる。スキャナ部１２は、ＣＩＳ（Ｃｏｎｔａｃｔ  Ｉｍａｇｅ  Ｓｅｎｓｏｒの略）、或いはＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅの略）等のイメージセンサで用紙に記録されている画像を読み取って画像データを生成するスキャン動作を実行する。複合機１０は、さらに、ＦＡＸの送受信を行うＦＡＸ動作、用紙に記録された画像を読み取って他の用紙に記録するコピー動作等が実行可能であってもよい。
【００２４】
［表示部２３］
表示部２３は、各種情報を表示する表示画面を備える。表示部２３の具体的な構成は特に限定されないが、例えば、液晶ディスプレイ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙの略）、有機ＥＬディスプレイ（Ｏｒｇａｎｉｃ  Ｅｌｅｃｔｒｏ−Ｌｕｍｉｎｅｓｃｅｎｃｅ  Ｄｉｓｐｌａｙの略）等を採用することができる。
【００２５】
［操作部２４］
操作部２４は、表示部２３の表示画面に表示されたオブジェクトを指定するユーザの操作を受け付ける。具体的には、操作部２４はボタンを有しており、押下されたボタンに対応づけられた各種の操作信号をＣＰＵ３１へ出力する。さらに、操作部２４は、表示部２３の表示画面に重畳された膜状のタッチセンサを有していてもよい。すなわち、表示部２３がタッチパネルディスプレイとして構成されてもよい。なお、「オブジェクト」とは、例えば、表示部２３に表示された文字列、アイコン、ボタン、リンク等である。
【００２６】
［ＵＳＢインタフェース２５］
ＵＳＢインタフェース２５は、ＵＳＢケーブル４０が接続されるインタフェースである。ＵＳＢインタフェース２５の回路は、ＵＳＢケーブル４０から入力された電気信号に応じた制御信号を後述する各種プログラムに出力し、各種プログラムから入力された制御信号に応じた電気信号をＵＳＢケーブル４０に出力する。ＵＳＢインタフェース２５は、通信部の一例である。
【００２７】
［ＣＰＵ３１］
ＣＰＵ３１は、複合機１０の全体動作を制御するものである。ＣＰＵ３１は、操作部２４から出力される操作信号、及びＵＳＢインタフェース２５から出力される制御信号に基づいて、後述する各種プログラムを記憶部３２から取得して実行する。すなわち、ＣＰＵ３１及び記憶部３２は、制御部の一例を構成する。
【００２８】
［記憶部３２］
記憶部３２は、プログラム記憶領域３２Ａと、データ記憶領域３２Ｂとを有する。プログラム記憶領域３２Ａには、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍの略）３４と、制御プログラム３５とが格納される。なお、制御プログラム３５は、単一のプログラムであってもよいし、複数のプログラムの集合体であってもよい。データ記憶領域３２Ｂには、制御プログラム３５の実行に必要なデータ或いは情報が記憶される。
【００２９】
記憶部３２は、例えば、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙの略）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙの略）、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙの略）、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅの略）、ＣＰＵ３１が備えるバッファ等、或いはそれらの組み合わせによって構成される。
【００３０】
なお、記憶部３２は、コンピュータが読み取り可能なストレージ媒体であってもよい。コンピュータが読み取り可能なストレージ媒体とは、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体である。ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体には、上記の例の他に、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等の記録媒体も含まれる。また、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体は、ｔａｎｇｉｂｌｅな媒体でもある。一方、インターネット上のサーバなどからダウンロードされるプログラムを搬送する電気信号は、コンピュータが読み取り可能な媒体の一種であるコンピュータが読み取り可能な信号媒体であるが、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙなコンピュータが読み取り可能なストレージ媒体には含まれない。
【００３１】
プログラム記憶領域３２Ａに記憶されているプログラムは、ＣＰＵ３１によって実行される。しかしながら、本明細書では、ＣＰＵ３１を省略して各プログラムの動作を説明することがある。すなわち、以下の説明において、「プログラムＡが処理Ａを実行する」という趣旨の記述は、「ＣＰＵ３１がプログラムＡに記述された処理Ａを実行する」ことを指している。後述する情報処理装置５０についても同様である。
【００３２】
ＯＳ３４は、複合機１０を構成するハードウェアであるプリンタ部１１、スキャナ部１２、表示部２３、操作部２４、及びＵＳＢインタフェース２５等を制御する基本プログラムである。すなわち、上記の各プログラムは、ＯＳ３４を通じて各ハードウェアを制御する。しかしながら、本明細書では、ＯＳ３４を省略して各プログラムの動作を説明することがある。すなわち、以下の説明において、「プログラムＢがハードウェアＣを制御する」という趣旨の記述は、「プログラムＢがＯＳ３４を通じてハードウェアＣを制御する」ことを指してもよい。
【００３３】
［情報処理装置５０］
情報処理装置５０は、図１に示されるように、表示部５３と、操作部５４と、ＵＳＢインタフェース５５と、ＣＰＵ６１と、記憶部６２と、通信バス６３とを主に備える。情報処理装置５０に含まれる表示部５３、操作部５４、ＵＳＢインタフェース５５、ＣＰＵ６１、記憶部６２、及び通信バス６３は、複合機１０に含まれる表示部２３、操作部２４、ＵＳＢインタフェース２５、ＣＰＵ３１、記憶部３２、及び通信バス３３と基本的な構成が共通するので、再度の説明は省略する。情報処理装置５０の具体例は特に限定されないが、例えば、タブレット端末等の携帯端末、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒの略）等である。
【００３４】
プログラム記憶領域６２Ａは、ＯＳ６４と、図３に示される各種プログラムを記憶する。ＯＳ６４は、情報処理装置５０を構成する表示部５３、操作部５４、ＵＳＢインタフェース５５、ＣＰＵ６１、記憶部６２等を制御するためのＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅの略）を提供する基本プログラムである。また、ＯＳ６４は、情報処理装置５０にインストールされた複数のプログラムを並行して実行することができる。複数のプログラムは、例えば、時分割多重方式によって仮想的に並行して実行される。すなわち、ＯＳ６４は、所謂マルチスレッド或いは所謂マルチタスクに対応したものである。
【００３５】
ＵＳＢケーブル４０を通じて接続された複合機１０と通信するためのソフトウェアは、例えば図３に示されるように、ＵＳＢカーネルドライバ７１と、第１ＵＳＢクラスドライバ７２及び第２ＵＳＢクラスドライバ７３と、第１通信プログラム７４及び第２通信プログラム７５と、第１スプーラ７６及び第２スプーラ７７と、第１アプリ７８、第２アプリ７９、及びモニタプログラム８０とのプログラムスタックとして実現される。なお、実施形態１では、標準プログラムの説明は省略する。
【００３６】
ＵＳＢカーネルドライバ７１は、Ｉ／Ｏ処理、割り込み処理、及びスケジューリング処理等を実行する。第１ＵＳＢクラスドライバ７２及び第２ＵＳＢクラスドライバ７３は、エンドポイントの管理、通信プロトコル処理等を実行する。ＵＳＢカーネルドライバ７１、第１ＵＳＢクラスドライバ７２、及び第２ＵＳＢクラスドライバ７３は、ＵＳＢケーブル４０を通じて外部装置と通信するための基本的な機能を提供するプログラムであって、情報処理装置５０に標準的に組み込まれているものである。すなわち、第１通信プログラム７４は、ＵＳＢカーネルドライバ７１及び第１ＵＳＢクラスドライバ７２を通じて、ＵＳＢケーブル４０に各種情報を送出し、ＵＳＢケーブル４０から各種情報を受信する。同様に、第２通信プログラム７５は、ＵＳＢカーネルドライバ７１及び第２ＵＳＢクラスドライバ７３を通じて、ＵＳＢケーブル４０に各種情報を送出し、ＵＳＢケーブル４０から各種情報を受信する。
【００３７】
第１アプリ７８は、Ｌｅｇａｃｙに準拠した手順で複合機１０にプリント動作を実行させるプログラムである。第２アプリ７９は、ＩＰＰに準拠した手順で複合機１０にプリント動作を実行させるプログラムである。より詳細には、第１アプリ７８は、プリント動作の実行を複合機１０に指示するためのプリント指示情報を生成し、生成したプリント指示情報を第１スプーラ７６に記憶させる。第２アプリ７９は、プリント動作の実行を複合機１０に指示するためのプリント指示情報を生成し、生成したプリント指示情報を第２スプーラ７７に記憶させる。プリント指示情報は、例えば、プリント動作の対象となる画像データと、及びプリント動作の実行条件（例えば、部数、モノクロ／カラー等）とを含む。
【００３８】
但し、第１アプリ７８及び第２アプリ７９の具体例は、前述の例に限定されない。すなわち、第１アプリ７８及び第２アプリ７９は、情報処理装置５０にインストール可能な任意のプログラムであって、編集した画像データに対するプリント動作を複合機１０に実行させる機能、或いはスキャン動作によって生成された画像データを複合機１０から受信する機能等を備えていればよい。
【００３９】
第１通信プログラム７４は、第１アプリ７８によって第１スプーラ７６に記憶されたプリント指示情報を第１ページ記述言語に翻訳し、第１ページ記述言語で記述されたプリント指示情報をＵＳＢケーブル４０を通じて複合機１０に送信する。第１ページ記述言語で記述されたプリント指示情報は、Ｌｅｇａｃｙに準拠したデータの一例である。第１ページ記述言語は、Ｌｅｇａｃｙに準拠した通信に使用されるページ記述言語であって、例えば、ＰＣＬ（Ｐｒｉｎｔｅｒ  Ｃｏｎｔｒｏｌ  Ｌａｎｇｕａｇｅの略であり、Ｈｅｗｌｅｔｔ−Ｐａｃｋａｒｄ  Ｃｏｍｐａｎｙの登録商標）、或いはＰＳ（Ｐｏｓｔｓｃｒｉｐｔの略であり、Ａｄｏｂｅ  Ｓｙｓｔｅｍｓ  Ｉｎｃｏｒｐｏｒａｔｅｄの登録商標）等を想定している。
【００４０】
第２通信プログラム７５は、第２アプリ７９によって第２スプーラ７７に記憶されたプリント指示情報を第２ページ記述言語に翻訳し、第２ページ記述言語で記述されたプリント指示情報をＵＳＢケーブル４０を通じて複合機１０に送信する。第２ページ記述言語で記述されたプリント指示情報は、ＩＰＰに準拠したデータの一例である。第２ページ記述言語は、ＩＰＰに準拠した通信に使用されるページ記述言語であって、例えば、ＰＷＧラスター等を想定している。第１通信プログラム７４及び第２通信プログラム７５は、例えば、バックエンド、ポートモニタ等と呼ばれる通信プログラムの一例である。
【００４１】
モニタプログラム８０は、ＵＳＢケーブル４０を通じて複合機１０から状態情報を受信し、受信した状態情報で示される複合機１０の状態を表示部５３に表示させる。状態情報によって示される状態とは、例えば、各種動作の開始或いは終了、インク或いはトナーの残量、紙詰まり、紙無し等である。状態情報は、Ｌｅｇａｃｙに従って動作する複合機１０の状態（以下、「Ｌｅｇａｃｙステータス」と表記することがある。）を示す第１状態情報と、ＩＰＰ／ＵＳＢに従って動作する複合機１０の状態（以下、「ＩＰＰ／ＵＳＢステータス」と表記することがある。）を示す第２状態情報とを含む。
【００４２】
データ記憶領域６２Ｂは、前述の各プログラムの実行時に必要となる情報が記憶される。データ記憶領域６２Ｂは、例えば、モードフラグを記憶する。モードフラグには、Ｌｅｇａｃｙモードを示す第１値（以下、「Ｌｅｇａｃｙ」と表記する。）、或いはＩＰＰ／ＵＳＢモードを示す第２値（以下、「ＩＰＰ／ＵＳＢ」と表記する。）がモニタプログラム８０によって設定される。
【００４３】
［画像形成システム１００の動作］
図４〜図６を参照して、実施形態１に係る画像形成システム１００の動作を説明する。実施形態１に係る画像形成システム１００は、情報処理装置５０が複合機１０にプリント動作を実行させ、プリント動作を実行する複合機１０の状態を情報処理装置５０の表示部５３に表示させる。但し、複合機１０に実行させるのはプリント動作に限定されず、スキャン動作、ＦＡＸ動作等であってもよい。
【００４４】
第１通信プログラム７４は、第１スプーラ７６からプリント指示情報を受け付けたことに応じて、図４（Ａ）に示されるプリント指示処理を実行する。但し、第１通信プログラム７４は、第２通信プログラム７５によって後述する排他開始処理が実行されてから後述する排他終了処理が実行されるまでの間、図４（Ａ）に示されるプリント指示処理を実行しない。
【００４５】
まず、第１通信プログラム７４は、インタフェース４１の独占的利用を開始するための排他開始処理を実行する（Ｓ１１）。この排他開始処理は、例えばＯＳ６４が提供するセマフォ機能を制御するＡＰＩによって実現される。この排他開始処理が実行されると、例えば、図４（Ｂ）に示される処理を実行しようとする第２通信プログラム７５は、ステップＳ１１で開始されたインタフェース４１の排他状態がステップＳ１３で終了されるまで、ステップＳ１４の実行を待機する。一方、ステップＳ１４の処理が先に行われてインタフェース４１が既に排他状態となっている場合、図４（Ａ）に示される処理を実行しようとする第１通信プログラム７４は、ステップＳ１４で開始されたインタフェース４１の排他状態がステップＳ２２で終了されるまで、ステップＳ１１の実行を待機する。
【００４６】
次に、第１通信プログラム７４は、第１スプーラ７６から受け付けたプリント指示情報を第１ページ記述言語に翻訳し、第１ページ記述言語で記述されたプリント指示情報を、Ｌｅｇａｃｙモードのインタフェース４１を通じて複合機１０に送信する（Ｓ１２）。ステップＳ１２の処理は、送信処理の一例である。なお、第１通信プログラム７４は、例えば、ステップＳ１２の前にステップＳ５１に相当する処理を実行し、ステップＳ１２の後にステップＳ５４に相当する処理を実行する等、第１プロトコルに準拠した手順でプリント指示情報を送信する。Ｌｅｇａｃｙモードのインタフェース４１を通じた通信は既に周知なので、詳細な説明は省略する。
【００４７】
次に、第１通信プログラム７４は、インタフェース４１の独占的利用を終了するための排他終了処理を実行する（Ｓ１３）。この排他終了処理は、例えばＯＳ６４が提供するＡＰＩによって実現される。排他終了処理が実行されると、第１通信プログラム７４以外のプログラムがインタフェース４１に対するアクセスを再開可能な状態になる。すなわち、第２通信プログラム７５は、例えば図４（Ｂ）に示されるプリント指示処理を実行することができるようになる。
【００４８】
第２通信プログラム７５は、第２スプーラ７７からプリント指示情報を受け付けたことに応じて、図４（Ｂ）に示されるプリント指示処理を実行する。但し、第２通信プログラム７５は、第１通信プログラム７４によって排他開始処理が実行されてから排他終了処理が実行されるまでの間、図４（Ｂ）に示されるプリント指示処理を実行しない。
【００４９】
まず、第２通信プログラム７５は、インタフェース４１の独占的な利用を開始するための排他開始処理を開始する（Ｓ１４）。ステップＳ１４の処理は、ステップＳ１１の処理と同様であってもよい。次に、第２通信プログラム７５は、プロセス間通信によってモニタプログラム８０にＩＰＰ／ＵＳＢ開始通知を送信する（Ｓ１５）。そして、第２通信プログラム７５は、プロセス間通信によってモニタプログラム８０からＡＣＫ（ＡＣＫｎｏｗｌｅｄｇｅｍｅｎｔの略）を受信するまで、ステップＳ１７以降の処理の実行を待機する（Ｓ１６：Ｎｏ）。
【００５０】
ＩＰＰ／ＵＳＢ開始通知は、ＬｅｇａｃｙモードからＩＰＰ／ＵＳＢモードへ切り替えることを示す第１切替通知の一例である。ステップＳ１６で受信するＡＣＫは、ＬｅｇａｃｙモードからＩＰＰ／ＵＳＢモードへの切り替えを許可する第１許可通知の一例である。ステップＳ１５は第１通知出力処理の一例であり、ステップＳ１６は第１通知取得処理の一例である。
【００５１】
次に、第２通信プログラム７５は、プロセス間通信によってモニタプログラム８０からＡＣＫを受信したことに応じて（Ｓ１６：Ｙｅｓ）、コントロール転送で複合機１０に第１切替指示情報を送信する（Ｓ１７）。第１切替指示情報は、インタフェース４１をＬｅｇａｃｙモードからＩＰＰ／ＵＳＢモードへ切り替えることを指示する第１コマンド或いは切替コマンドの一例である。第１切替指示情報の送信は、例えば、“ＳＥＴ＿ＩＮＴＥＲＦＡＣＥ”コマンドの実行によって実現される。第１切替指示情報は、コントロール転送用に設けられた、インタフェース４１と異なる論理的なパイプを通じて、情報処理装置５０から複合機１０に送信される。後述する第２切替指示情報についても同様である。ステップＳ１７の処理は、第１切替処理の一例である。
【００５２】
次に、第２通信プログラム７５は、ＩＰＰ／ＵＳＢ送信処理を実行する（Ｓ１８）。ＩＰＰ／ＵＳＢ送信処理は、第２ページ記述言語で記述されたプリント指示情報を、ＩＰＰ／ＵＳＢモードのインタフェース４１を通じてＩＰＰのプロトコルに従って複合機１０に送信する処理である。より詳細には、第２通信プログラム７５は、第２スプーラ７７に記憶されたプリント指示情報を第２ページ記述言語に翻訳し、第２ページ記述言語で記述されたプリント指示情報をさらにＩＰＰのプロトコルで示される形式に変換し、形式を変更したプリント指示情報をＩＰＰ／ＵＳＢモードのインタフェース４１を通じて複合機１０に送信する。図４（Ｃ）を参照して、ＩＰＰ／ＵＳＢ送信処理の詳細を説明する。
【００５３】
まず、第２通信プログラム７５は、ＩＰＰ／ＵＳＢモードのインタフェース４１の独占的な利用を開始することを示す排他開始処理を実行する（Ｓ２３）。この排他開始処理では、ステップＳ１１、Ｓ１４の排他開始処理とは別のセマフォが使用される。この排他開始処理は、後述するステップＳ６１の処理の実行をモニタプログラム８０に待機させる。一方、ステップＳ６１の処理が先に行われてインタフェース４１が既に排他状態となっている場合、第２通信プログラム７５は、ステップＳ６１で開始された排他状態がステップＳ６８で終了するまで、ステップＳ２３の実行を待機する。
【００５４】
次に、第２通信プログラム７５は、ＩＰＰ／ＵＳＢポートをオープンする（Ｓ２４）。次に、第２通信プログラム７５は、第２ページ記述言語で記述されたプリント指示情報の一部を、ＩＰＰ／ＵＳＢモードのインタフェース４１を通じてＩＰＰのプロトコルに従い複合機１０に送信する（Ｓ２５）。この送信処理は、ＩＰＰのプロトコルに従って、データ送信（ＰＯＳＴ）及びそれに対する応答の受信の一連の処理を含む。次に、第２通信プログラム７５は、ＩＰＰ／ＵＳＢポートをクローズする（Ｓ２６）。次に、第２通信プログラム７５は、ＩＰＰ／ＵＳＢモードのインタフェース４１の独占的な利用を終了するための排他終了処理を実行する（Ｓ２７）。これにより、モニタプログラム８０がステップＳ６１の処理を開始することが可能な状態となる。そして、第２通信プログラム７５は、第２ページ記述言語で記述されたプリント指示情報の全てを送信するまで、ステップＳ２３〜Ｓ２７の処理を繰り返し実行する（Ｓ２８）。なお、ＩＰＰに準拠したステップＳ２４〜Ｓ２６の処理は既に周知なので、詳細な説明は省略する。
【００５５】
図４（Ｂ）に戻って、第２通信プログラム７５は、プロセス間通信によってモニタプログラム８０にＩＰＰ／ＵＳＢ終了通知を送信する（Ｓ１９）。そして、第２通信プログラム７５は、プロセス間通信によってモニタプログラム８０からＡＣＫを受信するまで、ステップＳ２１以降の処理の実行を待機する（Ｓ２０：Ｎｏ）。ＩＰＰ／ＵＳＢ終了通知は、ＩＰＰ／ＵＳＢモードからＬｅｇａｃｙモードへ切り替えることを示す第２切替通知の一例である。ステップＳ２０で受信するＡＣＫは、ＩＰＰ／ＵＳＢモードからＬｅｇａｃｙモードへの切り替えを許可する第２許可通知の一例である。ステップＳ１９は第２通知出力処理の一例であり、ステップＳ２０は第２通知取得処理の一例である。
【００５６】
次に、第２通信プログラム７５は、プロセス間通信によってモニタプログラム８０からＡＣＫを受信したことに応じて（Ｓ２０：Ｙｅｓ）、コントロール転送で複合機１０に第２切替指示情報を送信する（Ｓ２１）。第２切替指示情報は、インタフェース４１をＩＰＰ／ＵＳＢモードからＬｅｇａｃｙモードへ切り替えることを指示する第２コマンド或いは切替コマンドの一例である。第２切替指示情報の送信は、例えば、“ＳＥＴ＿ＩＮＴＥＲＦＡＣＥ”コマンドの実行によって実現される。ステップＳ２１の処理は、第２切替処理の一例である。さらに、第２通信プログラム７５は、インタフェース４１の排他的な利用を終了する排他終了処理を実行する（Ｓ２２）。この排他終了処理は、例えばＯＳ６４が提供するＡＰＩによって実現され、ステップＳ１３と同様の処理であってもよい。
【００５７】
次に、図５を参照して、モニタプログラム８０によって実行されるステータス監視処理を説明する。なお、ここでは説明の簡略化のため、情報処理装置５０の起動後における最初の印刷処理がなされる前に、モニタプログラム８０が起動されるものとして説明する。ステータス監視処理は、インタフェース４１を通じて複合機１０から状態情報を受信し、受信した状態情報で示される状態を表示部５３に表示させる処理である。図５を参照して、ステータス監視処理の詳細を説明する。
【００５８】
まず、モニタプログラム８０は、モードフラグに“Ｌｅｇａｃｙ”を設定する（Ｓ３１）。次に、モニタプログラム８０は、Ｌｅｇａｃｙモードのインタフェース４１を通じて複合機１０に開始指示情報を送信する（Ｓ３２）。開始指示情報は、第１状態情報の生成開始を複合機１０に指示するための情報である。ステップＳ３２の処理は、例えば、“ＵＳＴＡＴＵＳ（ＯＮ）”コマンドによって実現される。複合機１０は、この開始指示情報を受信すると、自身のステータスが変更されるごとに、そのステータスを示す第１状態情報を送信するモードとなる。なお、この第１状態情報の送信は、Ｌｅｇａｃｙモードの場合にのみなされる。ステップＳ３２の処理は、開始指示処理の一例である。ステップＳ３１、Ｓ３２は、例えば、モニタプログラム８０の起動時の初期処理として実行される。
【００５９】
次に、モニタプログラム８０は、モードフラグに設定された値を確認する（Ｓ３３）。そして、モニタプログラム８０は、モードフラグに“Ｌｅｇａｃｙ”が設定されていることに応じて（Ｓ３３：Ｌｅｇａｃｙ）、Ｌｅｇａｃｙステータス監視処理を実行する（Ｓ３４）。一方、モニタプログラム８０は、モードフラグに“ＩＰＰ／ＵＳＢ”が設定されていることに応じて（Ｓ３３：ＩＰＰ／ＵＳＢ）、ＩＰＰ／ＵＳＢステータス監視処理を実行する（Ｓ３５）。
【００６０】
Ｌｅｇａｃｙステータス監視処理は、第１状態情報を複合機１０から受信し、受信した第１状態情報で示される状態を表示部５３に表示させる第１モニタ処理の一例である。また、ステップＳ５１、Ｓ５２、Ｓ５４の処理は第１受信処理の一例であり、ステップＳ５３の処理は第１表示処理の一例である。図６（Ａ）を参照して、Ｌｅｇａｃｙステータス監視処理の詳細を説明する。
【００６１】
まず、モニタプログラム８０は、Ｌｅｇａｃｙポートをオープンする（Ｓ５１）。次に、モニタプログラム８０は、第１状態情報の送信を複合機１０に要求する（Ｓ５２）。複合機１０は、自身のステータスが変更された場合に、そのステータスを示す第１状態情報を、Ｌｅｇａｃｙモードのインタフェース４１を通じて情報処理装置５０に送信する。一方、複合機１０は、ステータスが変更されていない場合に、Ｌｅｇａｃｙモードのインタフェース４１を通じて情報処理装置５０にＮＵＬＬパケット（データが無い状態のＵＳＢパケット）を送信する。
【００６２】
そして、モニタプログラム８０は、Ｌｅｇａｃｙモードのインタフェース４１を通じて複合機１０から第１状態情報を受信したことに応じて（Ｓ５２：Ｙｅｓ）、当該第１状態情報で示されるＬｅｇａｃｙステータスを表示部５３に表示させる（Ｓ５３）。一方、モニタプログラム８０は、Ｌｅｇａｃｙモードのインタフェース４１を通じて複合機１０からＮＵＬＬパケットを受信したことに応じて（Ｓ５２：Ｎｏ）、ステップＳ５３の処理をスキップする。そして、モニタプログラム８０は、Ｌｅｇａｃｙポートをクローズする（Ｓ５４）。
【００６３】
また図示は省略するが、モニタプログラム８０は、Ｌｅｇａｃｙポートのオープンに失敗した場合に、所定の回数だけＬｅｇａｃｙポートのオープンをリトライしてもよい。さらに、モニタプログラム８０は、Ｌｅｇａｃｙポートのオープンに失敗したことに応じて、ステップＳ５２〜Ｓ５４の処理をスキップし、図５のステップＳ４６で終了条件を満たすと判断して、ステータス監視処理を終了してもよい。
【００６４】
ＩＰＰ／ＵＳＢステータス監視処理は、第２状態情報を複合機１０から受信し、受信した第２状態情報で示される状態を表示部５３に表示させる第２モニタ処理の一例である。また、ステップＳ６１〜Ｓ６５、Ｓ６７、Ｓ６８の処理は第２受信処理の一例であり、ステップＳ６６の処理は第２表示処理の一例である。図６（Ｂ）を参照して、ＩＰＰ／ＵＳＢステータス監視処理の詳細を説明する。
【００６５】
まず、モニタプログラム８０は、ＩＰＰ／ＵＳＢモードのインタフェース４１の独占的な利用を開始するための排他開始処理を実行する（Ｓ６１）。ステップＳ６１の処理は、ステップＳ２３の処理と同様であってもよい。次に、モニタプログラム８０は、ＩＰＰ／ＵＳＢポートをオープンする（Ｓ６２）。そして、モニタプログラム８０は、ＩＰＰ／ＵＳＢポートのオープンが成功したことに応じて（Ｓ６３：Ｙｅｓ）、第２状態情報の送信を複合機１０に要求（Ｓ６４）し、所定の時間だけ待機する（Ｓ６５）。なお、ステップＳ６４の処理は、例えば、ＩＰＰの“ＧＥＴ”コマンドによって実現される。
【００６６】
そして、モニタプログラム８０は、ＩＰＰ／ＵＳＢモードのインタフェース４１を通じて複合機１０から第２状態情報を受信したことに応じて（Ｓ６５：Ｙｅｓ）、当該第２状態情報で示されるＩＰＰ／ＵＳＢステータスを表示部５３に表示させる（Ｓ６６）。一方、モニタプログラム８０は、所定の時間が経過しても第２状態情報を受信しなかったことに応じて（Ｓ６５：Ｎｏ）、ステップＳ６６の処理をスキップする。そして、モニタプログラム８０は、ＩＰＰ／ＵＳＢポートをクローズする（Ｓ６７）。さらに、モニタプログラム８０は、ＩＰＰ／ＵＳＢモードのインタフェース４１の独占的な利用を終了するための排他終了処理を実行する（Ｓ６８）。ステップＳ６８の処理は、ステップＳ２７の処理と同様であってもよい。
【００６７】
また、モニタプログラム８０は、ＩＰＰ／ＵＳＢポートのオープンに失敗したことに応じて（Ｓ６３：Ｎｏ）、ステップＳ６４〜Ｓ６７の処理を実行せずに、モードフラグに“Ｌｅｇａｃｙ”を設定して（Ｓ６９）、ステップＳ６８の処理を実行する。さらに図示は省略するが、モニタプログラム８０は、ＩＰＰ／ＵＳＢポートのオープンに失敗した場合に、所定の回数だけＩＰＰ／ＵＳＢポートのオープンをリトライしてもよい。
【００６８】
図５に戻って、モニタプログラム８０は、プロセス間通信によって第２通信プログラム７５から通知を受信したか否かを確認する（Ｓ３６）。そして、モニタプログラム８０は、第２通信プログラム７５から通知を受信していないことに応じて（Ｓ３６：Ｎｏ）、ステップＳ３７〜Ｓ４５の処理をスキップして、終了条件を満たしているか否かを判断する（Ｓ４６）。終了条件を満たす場合とは、例えば、処理を継続できない致命的なエラーが生じた場合、モニタプログラム８０の終了を情報処理装置５０のユーザから指示された場合等である。そして、モニタプログラム８０は、終了条件を満たしていないことに応じて（Ｓ４６：Ｎｏ）、所定の時間が経過した後にステップＳ３３以降の処理を再び実行する。一方、モニタプログラム８０は、終了条件を満たしたことに応じて（Ｓ４６：Ｙｅｓ）、ステータス監視処理を終了する。
【００６９】
また、モニタプログラム８０は、プロセス間通信によって第２通信プログラム７５がステップＳ１５で送信したＩＰＰ／ＵＳＢ開始通知を受信したことに応じて（Ｓ３６：Ｙｅｓ＆Ｓ３７：ＩＰＰ／ＵＳＢ開始）、Ｌｅｇａｃｙモードのインタフェース４１を通じて複合機１０に停止指示情報を送信する（Ｓ３８）。停止指示情報は、第１状態情報の生成停止を複合機１０に指示するための情報である。ステップＳ３８の処理は、例えば、“ＵＳＴＡＴＵＳ（ＯＦＦ）”コマンドによって実現される。ステップＳ３８の処理は、停止指示処理の一例である。
【００７０】
次に、モニタプログラム８０は、Ｌｅｇａｃｙステータス監視処理を実行する（Ｓ３９）。この処理により、複合機１０内に残っていた第１状態情報が全て読み出される。ステップＳ３９の処理は、ステップＳ３４の処理と同様であってもよい。次に、モニタプログラム８０は、第１許可通知の一例であるＡＣＫを、プロセス間通信によって第２通信プログラム７５に送信する（Ｓ４０）。この処理により、第２通信プログラム７５は、ステップＳ１６でＹＥＳと判断し、ステップＳ１７で複合機１０に第１切替指示情報を送信する。次に、モニタプログラム８０は、モードフラグに“ＩＰＰ／ＵＳＢ”を設定する（Ｓ４１）。そして、モニタプログラム８０は、ステップＳ４６以降の処理を実行する。ステップＳ４０の処理はステップＳ４１に先立って実行される通知出力処理の一例であり、ステップＳ４１の処理は切替処理の一例である。
【００７１】
さらに、モニタプログラム８０は、プロセス間通信によって第２通信プログラム７５がステップＳ１９で送信したＩＰＰ／ＵＳＢ終了通知を受信したことに応じて（Ｓ３６：Ｙｅｓ＆Ｓ３７：ＩＰＰ／ＵＳＢ終了）、ＩＰＰ／ＵＳＢステータス監視処理を実行する（Ｓ４２）。この処理により、複合機１０内に残っていた第２状態情報が全て読み出される。次に、モニタプログラム８０は、第２許可通知の一例であるＡＣＫを、プロセス間通信によって第２通信プログラム７５に送信する（Ｓ４３）。この処理により、第２通信プログラム７５は、ステップＳ２０でＹＥＳと判断し、ステップＳ２１で複合機１０に第２切替指示情報を送信する。次に、モニタプログラム８０は、モードフラグに“Ｌｅｇａｃｙ”を設定する（Ｓ４４）。次に、モニタプログラム８０は、ＩＰＰ／ＵＳＢモードのインタフェース４１を通じて複合機１０に開始指示情報を送信する（Ｓ４５）。そして、モニタプログラム８０は、ＬｅｇａｃｙモードでステップＳ４６以降の処理を実行する。
【００７２】
なお、ステップＳ４３の処理はステップＳ４４に先立って実行される通知出力処理の一例であり、ステップＳ４４の処理は切替処理の一例である。また、ステップＳ４２の処理はステップＳ３５の処理と同様であってもよく、ステップＳ４５の処理はステップＳ３２の処理と同様であってもよい。
【００７３】
また図示は省略するが、複合機１０の制御プログラム３５は、ＵＳＢケーブル４０を通じて情報処理装置５０から受信した各種指示に従って動作する。まず、制御プログラム３５は、コントロール転送で情報処理装置５０から第１切替指示情報を受信したことに応じて、ＬｅｇａｃｙモードからＩＰＰ／ＵＳＢモードにモード切替する。また、制御プログラム３５は、コントロール転送で情報処理装置５０から第２切替指示情報を受信したことに応じて、ＩＰＰ／ＵＳＢモードからＬｅｇａｃｙモードにモード切替する。さらに、制御プログラム３５は、切替指示情報に従ってモード切替をしたことに応じて、コントロール転送で情報処理装置５０に切替指示情報に対するＡＣＫを送信する。第１切替指示情報及び第２切替指示情報を受信する処理は、受信処理の一例である。
【００７４】
また、制御プログラム３５は、インタフェース４１を通じて情報処理装置５０から開始指示情報を受信したことに応じて、第１状態情報の生成を開始する。すなわち、これ以降に複合機１０がＬｅｇａｃｙで動作したことに応じて、第１状態情報が生成される。一方、制御プログラム３５は、インタフェース４１を通じて情報処理装置５０から停止指示情報を受信したことに応じて、第１状態情報の生成を停止する。すなわち、これ以降に複合機１０がＬｅｇａｃｙで動作しても、第１状態情報が生成されない。
【００７５】
また、制御プログラム３５は、第１ページ記述言語で記述されたプリント指示情報を、Ｌｅｇａｃｙモードのインタフェース４１を通じて情報処理装置５０から受信したことに応じて、当該プリント指示情報に従ってプリンタ部１１にプリント動作を実行させる。また、制御プログラム３５は、所定のタイミングで第１状態情報を生成し、生成した第１状態情報をデータ記憶領域３２Ｂに記憶させる。さらに、制御プログラム３５は、第１状態情報の送信を情報処理装置５０から要求されたことに応じて、データ記憶領域６２Ｂに記憶された第１状態情報を、Ｌｅｇａｃｙモードのインタフェース４１を通じて情報処理装置５０に送信する。この処理は、第１送信処理の一例である。
【００７６】
さらに、制御プログラム３５は、第２ページ記述言語で記述されたプリント指示情報を、ＩＰＰ／ＵＳＢモードのインタフェース４１を通じて情報処理装置５０から受信したことに応じて、当該プリント指示情報に従ってプリンタ部１１にプリント動作を実行させる。また、制御プログラム３５は、所定のタイミングで第２状態情報を生成し、生成した第２状態情報をデータ記憶領域３２Ｂに記憶させる。さらに、制御プログラム３５は、第２状態情報の送信を情報処理装置５０から要求されたことに応じて、データ記憶領域６２Ｂに記憶された第２状態情報を、ＩＰＰ／ＵＳＢモードのインタフェース４１を通じて情報処理装置５０に送信する。この処理は、第２送信処理の一例である。
【００７７】
［実施形態１の作用効果］
実施形態１に係るモニタプログラム８０は、モードフラグに“Ｌｅｇａｃｙ”が設定されている間（Ｓ３３：Ｌｅｇａｃｙ）、Ｌｅｇａｃｙステータス監視処理（Ｓ３４）を所定の時間間隔で繰り返し実行する。一方、モニタプログラム８０は、モードフラグに“ＩＰＰ／ＵＳＢ”が設定されている間（Ｓ３３：ＩＰＰ／ＵＳＢ）、ＩＰＰ／ＵＳＢステータス監視処理（Ｓ３５）を所定の時間間隔で繰り返し実行する。そして、モードフラグには、ステップＳ１５で第２通信プログラム７５が送信するＩＰＰ／ＵＳＢ開始通知によって“ＩＰＰ／ＵＳＢ”が設定され、ステップＳ１９で第２通信プログラム７５が送信するＩＰＰ／ＵＳＢ終了通知によって“Ｌｅｇａｃｙ”が設定される。なお、Ｌｅｇａｃｙステータス監視処理及びＩＰＰ／ＵＳＢステータス監視処理は、所定の時間間隔で繰り返し実行されなくてもよく、ユーザが複合機１０のステータスを見たいときにモニタプログラム８０に実行を指示してもよい。
【００７８】
このように、実施形態１に係るモニタプログラム８０は、第２通信プログラム７５から受信した切替通知に従ってモードフラグの設定値を変更し、モードフラグの設定値で示されるプロトコルに従って複合機１０から状態情報を繰り返し受信する。その結果、複合機１０の状態をプロトコル毎に適切に表示部５３に表示させることができる。
【００７９】
また、実施形態１に係るモニタプログラム８０は、ＩＰＰ／ＵＳＢ開始通知を受信したことに応じてＬｅｇａｃｙステータス監視処理を実行し、Ｌｅｇａｃｙステータス監視処理が終了してから第２通信プログラム７５にＡＣＫを送信する。また、第２通信プログラム７５は、ＬｅｇａｃｙモードからＩＰＰ／ＵＳＢモードへ切り替える前にモニタプログラム８０にＩＰＰ／ＵＳＢ開始通知を送信し、モニタプログラム８０からＡＣＫを受信したことに応じて、ＬｅｇａｃｙモードからＩＰＰ／ＵＳＢモードへの切り替えを実行する。
【００８０】
すなわち、第２通信プログラム７５は、ステップＳ３９で実行されるＬｅｇａｃｙステータス監視処理の終了を待ってからステップＳ１７の処理を実行する。これにより、インタフェース４１がＬｅｇａｃｙモードからＩＰＰ／ＵＳＢモードに切り替えられる前に、複合機１０に残った第１状態情報をモニタプログラム８０に受信させることができる。その結果、複合機１０の状態をプロトコル毎にさらに適切に表示させることができる。なお、インタフェース４１をＩＰＰ／ＵＳＢモードからＬｅｇａｃｙモードに切り替える際にも同様の処理が実行される。
【００８１】
さらに、実施形態１に係るモニタプログラム８０は、モードフラグに“ＩＰＰ／ＵＳＢ”を設定する際に第１状態情報の生成を複合機１０に停止させ、モードフラグに“Ｌｅｇａｃｙ”を設定する際に第１状態情報の生成を複合機１０に開始させる。このように、第１状態情報の生成を明示的に停止或いは開始させるので、ＬｅｇａｃｙモードからＩＰＰ／ＵＳＢモードに切り替えられ、再びＩＰＰ／ＵＳＢモードからＬｅｇａｃｙモードに切り替えられた際に、過去の第１状態情報が情報処理装置５０で受信されることが抑制される。
【００８２】
なお、実施形態１では、全ての情報をインタフェース４１を通じて送受信する例を説明した。しかしながら、複合機１０及び情報処理端末５０は、複数のインタフェースを利用して通信を行ってもよい。すなわち、実施形態１でインタフェース４１を通じて送受信された情報の一部は、インタフェース４１と異なるインタフェースを通じて送受信されてもよい。例えば、プリント指示情報を送受信するインタフェースと、第１状態情報及び第２状態情報を送受信するインタフェースと、第１切替指示情報、第２切替指示情報、開始指示情報、及び停止指示情報を送受信するインタフェースとは、異なっていてもよい。後述する実施形態２〜４についても同様である。
【００８３】
さらに、上記実施形態のＳ１５において、第２通信プログラム７５は、プロセス間通信によってモニタプログラム８０にＩＰＰ／ＵＳＢ開始通知を送信した。これに代えて、第２通信プログラム７５は、ＩＰＰ／ＵＳＢモードへのモード切替の際に、ＩＰＰ／ＵＳＢモードが開始されることを示す所定の値を、データ記憶領域３２Ｂの所定のメモリ領域に書き込んでもよい。また、モニタプログラム８０は、ステップＳ３６の処理に代えて、データ記憶領域３２Ｂの所定のメモリ領域に所定の値が書き込まれたことを判断すればよい。ステップＳ１９においてＩＰＰ／ＵＳＢモードを終了する際も同様である。すなわち、プロセス間通信によって各種通知を送信すること、及びデータ記憶領域３２Ｂに各種通知を書き込むことは、各種通知を出力することの一例である。同様に、プロセス間通信によって各種通知を受信すること、及びデータ記憶領域３２Ｂから各種通知を読み出すことは、各種通知を取得することの一例である。
【００８４】
［実施形態２］
次に、図７（Ａ）及び図１２を参照して、実施形態２に係る複合機１０の処理を説明する。なお、実施形態１との共通点の詳細な説明は省略し、相違点を中心に説明する。実施形態１に係るモニタプログラム８０は、モードフラグを切り替える前のステップＳ３９、Ｓ４２において、複合機１０に残っている状態情報を読み出す処理を行っていた。これに代えて、第２実施形態では、情報処理装置５０から切替指示情報を受信した複合機１０は、自身に残っている状態情報を、切替指示情報により指示されたモードにおいて使用されるプロトコルに変換して、情報処理装置５０に送信する。これにより、情報処理装置５０は、モード切替の時点で複合機１０に残っている状態情報を読み出すことができる。
【００８５】
実施形態２に係るデータ記憶領域３２Ｂは、図１２に示されるように、第１領域３７と、第２領域３８とを有する。第１領域３７は、制御プログラム３５が生成する状態情報のうち、第１状態情報が記憶される領域である。第２領域３８は、制御プログラム３５が生成する状態情報のうち、第２状態情報が記憶される領域である。第１領域３７及び第２領域３８は、所謂キューとして利用される記憶領域である。すなわち、制御プログラム３５は、第１領域３７或いは第２領域３８に記憶されている状態情報を、書き込み順に読み出して情報処理装置５０に送信する。
【００８６】
実施形態２に係る複合機１０の制御プログラム３５は、Ｌｅｇａｃｙモードで動作しているものとする。また、第１領域３７には、図１２（Ａ）に示されるように、Ｌｅｇａｃｙモードで動作する制御プログラム３５によって生成された第１状態情報Ａ及び第１状態情報Ｂが記憶されているものとする。そして、制御プログラム３５は、コントロール転送で情報処理装置５０から第１切替指示情報を受信したことに応じて、図７（Ａ）に示されるプロトコル切替処理１を実行する。
【００８７】
まず、制御プログラム３５は、第１領域３７に第１状態情報が記憶されているか否かを判断する（Ｓ７１）。そして、制御プログラム３５は、第１状態情報が記憶されていると判断したことに応じて（Ｓ７１：Ｙｅｓ）、当該第１状態情報を第１領域３７から読み出す（Ｓ７２）。実施形態２では、第１状態情報Ａ、第１状態情報Ｂがこの順に読み出される。次に、制御プログラム３５は、ステップＳ７２で読み出した第１状態情報を、第２状態情報の形式に変換する（Ｓ７３）。ステップＳ７２、Ｓ７３の処理は、変換処理の一例である。
【００８８】
図１２の例において、制御プログラム３５は、第１状態情報Ａと実質的に同一の内容を示し且つＩＰＰに準拠した形式の第２状態情報Ａ’と、第１状態情報Ｂと実質的に同一の内容を示し且つＩＰＰに準拠した形式の第２状態情報Ｂ’とを生成する。なお、「実質的に同一」とは、例えば、ＩＰＰとＬｅｇａｃｙとで完全に同一の状態を表す状態情報がない場合に、最も近い状態を表す状態情報に変換することを含むものとする。
【００８９】
次に、制御プログラム３５は、図１２（Ｂ）に示されるように、ステップＳ７３で生成した第２状態情報Ａ’及び第２状態情報Ｂ’を、ステップＳ７２での読み出し順に第２領域３８に記憶させる（Ｓ７４）。ステップＳ７４の処理は、記憶処理の一例である。また、制御プログラム３５は、第１領域３７に記憶されている第１状態情報を削除する（Ｓ７５）。
【００９０】
そして、制御プログラム３５は、ＬｅｇａｃｙモードからＩＰＰ／ＵＳＢモードにモード切替し、コントロール転送で情報処理装置５０に切替指示情報に対するＡＣＫを送信する（Ｓ７６）。ステップＳ７６の処理は、切替処理の一例である。一方、制御プログラム３５は、第１状態情報が記憶されていないと判断したことに応じて（Ｓ７１：Ｎｏ）、ステップＳ７２〜Ｓ７５の処理をスキップして、ステップＳ７６の処理を実行する。
【００９１】
以降、制御プログラム３５は、ＩＰＰ／ＵＳＢモードで動作し、第２領域３８の第２状態情報Ｂ’の後に第２状態情報を順番に記憶させる。そして、制御プログラム３５は、第２状態情報の送信を情報処理装置５０から要求されたことに応じて、第２領域３８に記憶された第２状態情報Ａ’、第２状態情報Ｂ’、及び第２状態情報を、ＩＰＰ／ＵＳＢモードのインタフェース４１を通じて情報処理装置５０に順番に送信する。なお、図７（Ａ）では、第１切替指示情報を受信した際の処理を説明したが、第２切替指示情報を受信した際にも同様の処理が実行される。この場合、第２領域３８に記憶された第２状態情報がＬｅｇａｃｙに準拠した形式に変換されて、第１領域３７に記憶される。
【００９２】
また、実施形態２に係る第２通信プログラム７５は、ステップＳ１６、Ｓ２０が省略されたプリント指示処理を実行する。すなわち、第２通信プログラム７５は、モニタプログラム８０へのＩＰＰ／ＵＳＢ開始通知の送信後に、モニタプログラム８０からのＡＣＫを待たずに第１切替指示情報を複合機１０に送信する。また、第２通信プログラム７５は、モニタプログラム８０へのＩＰＰ／ＵＳＢ終了通知の送信後に、モニタプログラム８０からのＡＣＫを待たずに第２切替指示情報を複合機１０に送信する。
【００９３】
さらに、実施形態２に係るモニタプログラム８０は、ステップＳ３９、Ｓ４０、Ｓ４２、Ｓ４３が省略されたステータス監視処理を実行する。すなわち、モニタプログラム８０は、第２通信プログラム７５からＩＰＰ／ＵＳＢ開始通知を受信しても、Ｌｅｇａｃｙステータス監視処理を実行せず、且つ第２通信プログラム７５にＡＣＫを送信しない。同様に、モニタプログラム８０は、第２通信プログラム７５からＩＰＰ／ＵＳＢ終了通知を受信しても、ＩＰＰ／ＵＳＢステータス監視処理を実行せず、且つ第２通信プログラム７５にＡＣＫを送信しない。
【００９４】
より詳細には、実施形態２に係るモニタプログラム８０は、第２通信プログラム７５からＩＰＰ／ＵＳＢ開始通知を受信したことに応じて（Ｓ３７：ＩＰＰ／ＵＳＢ開始）、モードフラグに“ＩＰＰ／ＵＳＢ”を設定（Ｓ４１）すると共に、ＩＰＰ／ＵＳＢステータス監視処理（Ｓ３５）を所定の時間間隔で繰り返し実行する。すなわち、図１２（Ｂ）に示される第１状態情報Ａ’及び第２状態情報Ｂ’は、繰り返し実行されるステップＳ３５で順番に受信され、ＩＰＰ／ＵＳＢステータスとして表示部５３に表示される。また、実施形態２に係るモニタプログラム８０は、第２通信プログラム７５からＩＰＰ／ＵＳＢ終了通知を受信したことに応じて（Ｓ３７：ＩＰＰ／ＵＳＢ終了）、モードフラグに“Ｌｅｇａｃｙ”を設定（Ｓ４４）すると共に、Ｌｅｇａｃｙテータス監視処理（Ｓ３４）を所定の時間間隔で繰り返し実行する。
【００９５】
［実施形態２の作用効果］
実施形態２によれば、ＬｅｇａｃｙモードからＩＰＰ／ＵＳＢモードへの切り替えに伴って、第１領域３７の第１状態情報が第２状態情報に変換されて第２領域３８に記憶される。また、当該状態情報の後には、ＩＰＰ／ＵＳＢで動作した複合機１０の状態を示す第２状態情報がさらに記憶される。これにより、情報処理装置５０は、第２領域３７に記憶された状態情報を第２プロトコルに準拠した手順で受信すればよい。なお、ＩＰＰ／ＵＳＢモードからＬｅｇａｃｙモードへ切り替える場合も同様の処理を行うことができる。
【００９６】
また、実施形態２に係る第２通信プログラム７５は、ＩＰＰ／ＵＳＢ開始通知及びＩＰＰ／ＵＳＢ終了通知をモニタプログラム８０に送信した後に、モニタプログラム８０からのＡＣＫの受信を待たずに切替指示情報を複合機１０に送信することができる。これにより、モードの切り替えを迅速に行うことができる。
【００９７】
［実施形態３］
次に、図７（Ｂ）、図８、図９、及び図１３を参照して、実施形態３に係る複合機１０の処理を説明する。なお、実施形態１、２との共通点の詳細な説明は省略し、相違点を中心に説明する。実施形態１に係るモニタプログラム８０は、モードフラグを切り替える前のステップＳ３９、Ｓ４２において、複合機１０に残っている状態情報を読み出す処理を行っていた。これに代えて、第３実施形態では、情報処理装置５０から切替指示情報を受信した複合機１０は、自身に残っている状態情報及び切替情報を、切替指示情報により指示されたモードにおいて情報処理装置５０に送信する。これにより、情報処理装置５０は、モード切替の時点で複合機１０に残っている状態情報を読み出すことができる。
【００９８】
実施形態３に係るデータ記憶領域６２Ｂは、遷移済フラグをさらに記憶する。遷移済フラグには、切替情報を未だ受信していない（換言すれば、モード遷移中である）ことを示す第３値（以下、「ＯＦＦ」と表記する。）、或いは切替情報を既に受信した（換言すれば、モード遷移済みである）ことを示す第４値（以下、「ＯＮ」と表記する。）がモニタプログラム８０によって設定される。
【００９９】
実施形態３に係るデータ記憶領域３２Ｂは、図１３に示されるように、第１領域３７と、第２領域３８とを有する。また、実施形態３に係る複合機１０の制御プログラム３５は、Ｌｅｇａｃｙモードで動作しているものとする。また、第１領域３７には、図１３（Ａ）に示されるように、Ｌｅｇａｃｙモードで動作する制御プログラム３５によって生成された第１状態情報Ａ及び第１状態情報Ｂが記憶されているものとする。そして、制御プログラム３５は、Ｌｅｇａｃｙモードのインタフェース４１を通じて情報処理装置５０から第１切替指示情報を受信したことに応じて、図７（Ｂ）に示されるプロトコル切替処理２を実行する。
【０１００】
まず、制御プログラム３５は、第１領域３７に第１状態情報が記憶されているか否かを判断する（Ｓ８１）。そして、制御プログラム３５は、第１状態情報が記憶されていると判断したことに応じて（Ｓ８１：Ｙｅｓ）、当該第１状態情報を第１領域３７から読み出す（Ｓ８２）。実施形態３では、第１状態情報Ａ、第１状態情報Ｂがこの順に読み出される。次に、制御プログラム３５は、図１３（Ｂ）に示されるように、ステップＳ８２で読み出した第１状態情報を、読み出した順に第２領域３８に記憶させる（Ｓ８３）。ステップＳ８２、Ｓ８３の処理は、第１記憶処理の一例である。
【０１０１】
次に、制御プログラム３５は、第２領域３８に切替情報を書き込む（Ｓ８４）。切替情報は、ＬｅｇａｃｙからＩＰＰ／ＵＳＢへ切り替えられたことを、情報処理装置５０に示すための情報である。切替情報は、ＩＰＰに準拠した形式で生成される。実施形態３では、図１３（Ｂ）に示されるように、第２領域３８の第１状態情報Ｂの後に切替情報が書き込まれる。ステップＳ８４の処理は、第２記憶処理の一例である。また、制御プログラム３５は、第１領域３７に記憶されている第１状態情報を削除する（Ｓ８５）。
【０１０２】
そして、制御プログラム３５は、ＬｅｇａｃｙモードからＩＰＰ／ＵＳＢモードにモード切替し、コントロール転送で情報処理装置５０に切替指示情報に対するＡＣＫを送信する（Ｓ８６）。ステップＳ８６の処理は、切替処理の一例である。一方、制御プログラム３５は、第１状態情報が記憶されていないと判断したことに応じて（Ｓ８１：Ｎｏ）、ステップＳ８２〜Ｓ８５の処理を実行せずに、第２領域３８に切替情報を書き込む（Ｓ８７）。すなわち、第２記憶領域３８の先頭に切替情報が書き込まれる。そして、制御プログラム３５は、ステップＳ８６の処理を実行する。
【０１０３】
以降、制御プログラム３５は、ＩＰＰ／ＵＳＢモードで動作し、第２領域３８の切替情報の後に第２状態情報を順番に記憶させる。そして、制御プログラム３５は、第２状態情報の送信を情報処理装置５０から要求されたことに応じて、第２領域３８に記憶された第１状態情報Ａ、第１状態情報Ｂ、切替情報、及び第２状態情報を、ＩＰＰ／ＵＳＢモードのインタフェース４１を通じて情報処理装置５０に順番に送信する。なお、図７（Ｂ）では、第１切替指示情報を受信した際の処理を説明したが、第２切替指示情報を受信した際にも同様の処理が実行される。この場合、第２領域３８に記憶されていた第２状態情報と、切替情報とが第１領域３７に記憶される。
【０１０４】
また、実施形態３に係る第２通信プログラム７５は、実施形態２と同様の処理を実行する。さらに、実施形態３に係るモニタプログラム８０は、ステップＳ３９、Ｓ４０に代えて遷移済フラグに“ＯＦＦ”を設定する初期化処理と、ステップＳ４２、Ｓ４３に代えて遷移済フラグに“ＯＦＦ”を設定する初期化処理とを含むステータス監視処理を実行する。また、モニタプログラム８０は、図５のステップＳ３４において、図８に示されるＬｅｇａｃｙステータス監視処理を実行する。さらに、モニタプログラム８０は、図５のステップＳ３５において、図９に示されるＩＰＰ／ＵＳＢステータス監視処理を実行する。
【０１０５】
図８に示されるＬｅｇａｃｙステータス監視処理は、切替情報より前の状態情報を第２状態情報として受信し、切替情報より後の状態情報を第１状態情報として受信する処理である。以下、図６に示される処理と共通する処理の詳細な説明は省略し、相違点を中心に説明する。具体的には、ステップＳ９１、Ｓ９３、Ｓ９５、Ｓ９７、Ｓ９８、Ｓ９９の処理は、ステップＳ５１、Ｓ６４、Ｓ６６、Ｓ５４、Ｓ５２、Ｓ５３の処理と共通する。
【０１０６】
まず、モニタプログラム８０は、Ｌｅｇａｃｙポートをオープンする（Ｓ９１）。次に、モニタプログラム８０は、データ記憶領域６２Ｂに記憶されている遷移済フラグの値を確認する（Ｓ９２）。そして、モニタプログラム８０は、遷移済フラグに“ＯＦＦ”が設定されていることに応じて（Ｓ９２：ＯＦＦ）、Ｌｅｇａｃｙモードのインタフェース４１を通じて複合機１０から送信される情報を、ＩＰＰに準拠した手順で受信する。すなわち、モニタプログラム８０は、ＩＰＰの“ＧＥＴ”コマンドによって複合機１０に情報の送信を要求する（Ｓ９３）。
【０１０７】
次に、モニタプログラム８０は、Ｌｅｇａｃｙモードのインタフェース４１を通じて複合機１０から受信した情報の種類を確認する（Ｓ９４）。そして、モニタプログラム８０は、複合機１０から状態情報を受信したことに応じて（Ｓ９４：状態情報）、当該状態情報を第２状態情報と認識する。そして、モニタプログラム８０は、当該第２状態情報で示されるＩＰＰ／ＵＳＢステータスを表示部５３に表示させる（Ｓ９５）。そして、モニタプログラム８０は、ステップＳ９３以降の処理を再び実行する。一方、モニタプログラム８０は、複合機１０から切替情報を受信したことに応じて（Ｓ９４：切替情報）、遷移済フラグに“ＯＮ”設定して（Ｓ９６）、Ｌｅｇａｃｙポートをクローズする（Ｓ９７）。ステップＳ９６の処理は、設定処理の一例である。
【０１０８】
また、モニタプログラム８０は、遷移済フラグに“ＯＮ”が設定されていることに応じて（Ｓ９２：ＯＮ）、Ｌｅｇａｃｙモードのインタフェース４１を通じて複合機１０から送信される情報を、Ｌｅｇａｃｙに準拠した手順で受信する。そして、モニタプログラム８０は、Ｌｅｇａｃｙモードのインタフェース４１を通じて複合機１０から状態情報を受信したことに応じて（Ｓ９８：Ｙｅｓ）、当該状態情報を第１状態情報と認識する。そして、モニタプログラム８０は、当該第１状態情報で示されるＬｅｇａｃｙステータスを表示部５３に表示させ（Ｓ９９）、Ｌｅｇａｃｙポートをクローズする（Ｓ９７）。一方、モニタプログラム８０は、Ｌｅｇａｃｙモードのインタフェース４１を通じて複合機１０からＮＵＬＬパケットを受信したことに応じて（Ｓ９８：Ｎｏ）、ステップＳ９９の処理をスキップして、ステップＳ９７の処理を実行する。
【０１０９】
図９に示されるＩＰＰ／ＵＳＢステータス監視処理は、切替情報より前の状態情報を第１状態情報として受信し、切替情報より後の状態情報を第２状態情報として受信する処理である。以下、図６に示される処理と共通する処理の詳細な説明は省略し、相違点を中心に説明する。具体的には、ステップＳ１０１〜Ｓ１０３、Ｓ１０６、Ｓ１０８〜Ｓ１１３の処理は、Ｓ６１〜Ｓ６３、Ｓ５３、Ｓ６４〜Ｓ６９の処理と共通する。
【０１１０】
まず、モニタプログラム８０は、排他開始処理（Ｓ１０１）を実行し、ＩＰＰ／ＵＳＢポートをオープンする（Ｓ１０２）。そして、モニタプログラム８０は、ＩＰＰ／ＵＳＢポートのオープンが成功したことに応じて（Ｓ１０３：Ｙｅｓ）、データ記憶領域６２Ｂに記憶されている遷移済フラグの値を確認する（Ｓ１０４）。そして、モニタプログラム８０は、遷移済フラグに“ＯＦＦ”が設定されていることに応じて（Ｓ１０４：ＯＦＦ）、ＩＰＰ／ＵＳＢモードのインタフェース４１を通じて複合機１０から送信される情報を、Ｌｅｇａｃｙに準拠した手順で受信する。
【０１１１】
次に、モニタプログラム８０は、ＩＰＰ／ＵＳＢモードのインタフェース４１を通じて複合機１０から受信した情報の種類を確認する（Ｓ１０５）。そして、モニタプログラム８０は、複合機１０から状態情報を受信したことに応じて（Ｓ１０５：状態情報）、当該状態情報を第１状態情報と認識する。そして、モニタプログラム８０は、当該第１状態情報で示されるＬｅｇａｃｙステータスを表示部５３に表示させる（Ｓ１０６）。そして、モニタプログラム８０は、ステップＳ１０５以降の処理を再び実行する。一方、モニタプログラム８０は、複合機１０から切替情報を受信したことに応じて（Ｓ１０５：切替情報）、遷移済フラグに“ＯＮ”設定（Ｓ１０７）し、ＩＰＰ／ＵＳＢポートをクローズ（Ｓ１１１）し、排他終了処理を実行する（Ｓ１１２）。ステップＳ１０７の処理は、設定処理の一例である。
【０１１２】
また、モニタプログラム８０は、遷移済フラグに“ＯＮ”が設定されていることに応じて（Ｓ１０４：ＯＮ）、ＩＰＰ／ＵＳＢモードのインタフェース４１を通じて複合機１０から送信される情報を、ＩＰＰに準拠した手順で受信する。すなわち、モニタプログラム８０は、ＩＰＰの“ＧＥＴ”コマンドによって複合機１０に情報の送信を要求する（Ｓ１０８）。そして、モニタプログラム８０は、ＩＰＰ／ＵＳＢモードのインタフェース４１を通じて複合機１０から状態情報を受信したことに応じて（Ｓ１０９：Ｙｅｓ）、当該状態情報を第２状態情報と認識する。そして、モニタプログラム８０は、当該第２状態情報で示されるＩＰＰ／ＵＳＢステータスを表示部５３に表示させ（Ｓ１１０）、ＩＰＰ／ＵＳＢポートをクローズ（Ｓ１１１）し、排他終了処理を実行する（Ｓ１１２）。
【０１１３】
一方、モニタプログラム８０は、ＩＰＰ／ＵＳＢモードのインタフェース４１を通じて複合機１０からＮＵＬＬパケットを受信したことに応じて（Ｓ１０９：Ｎｏ）、ステップＳ１１０の処理をスキップして、ステップＳ１１１の処理を実行する。また、モニタプログラム８０は、ＩＰＰ／ＵＳＢポートのオープンが失敗したことに応じて（Ｓ１０３：Ｎｏ）、モードフラグに“Ｌｅｇａｃｙ”を設定して（Ｓ１１３）、ステップＳ１１２の処理を実行する。
【０１１４】
［実施形態３の作用効果］
実施形態３によれば、Ｌｅｇａｃｙステータス監視処理で複合機１０から受信した状態情報のうち、切替情報より前に受信した状態情報を第２状態情報として表示させ、切替情報より後に受信した状態情報を第１状態情報として表示させる。また、ＩＰＰ／ＵＳＢステータス監視処理で複合機１０から受信した状態情報のうち、切替情報より前に受信した状態情報を第１状態情報として表示させ、切替情報より後に受信した状態情報を第２状態情報として表示させる。その結果、複合機１０の状態をプロトコル毎にさらに適切に表示させることができる。
【０１１５】
［実施形態４］
次に、図１０を参照して、実施形態４に係る情報処理装置５０の処理を説明する。なお、実施形態１〜３との共通点の詳細な説明は省略し、相違点を中心に説明する。実施形態４に係る複合機１０の制御プログラム３５は、例えば、第１状態情報及び第２状態情報を区別せずにデータ記憶領域３２Ｂに書き込み、各状態情報を書き込み順に情報処理装置５０に送信するものとする。
【０１１６】
また、実施形態４に係る第２通信プログラム７５は、実施形態２と同様の処理を実行する。実施形態４に係る情報処理装置５０のモニタプログラム８０は、ステップＳ３４において、図１０に示されるＬｅｇａｃｙステータス監視処理を実行する。以下、図６に示される処理と共通する処理の詳細な説明は省略し、相違点を中心に説明する。具体的には、ステップＳ１２１、Ｓ１２５、Ｓ１２６、Ｓ１２８の処理は、ステップＳ５１、Ｓ５３、Ｓ５４、Ｓ６６の処理と共通する。
【０１１７】
まず、モニタプログラム８０は、Ｌｅｇａｃｙポートをオープンする（Ｓ１２１）。次に、モニタプログラム８０は、Ｌｅｇａｃｙモードのインタフェース４１を通じて複合機１０から送信される情報を、Ｌｅｇａｃｙに準拠した手順で受信する（Ｓ１２２：Ｙｅｓ）。そして、モニタプログラム８０は、Ｌｅｇａｃｙモードのインタフェース４１を通じて複合機１０から受信した情報のデータ構造を解析することによって、当該情報が第１状態情報及び第２状態情報のいずれかを判断する（Ｓ１２３）。
【０１１８】
モニタプログラム８０は、例えばステップＳ１２３において、ステップＳ１２２で受信した情報に含まれるプロトコルを特定する情報に基づいて、“Ｌｅｇａｃｙ”或いは“ＩＰＰ／ＵＳＢ”を特定する。モニタプログラム８０は、例えば、上記情報に「＠ＰＪＬ」といった文字列が含まれていることにより、“Ｌｅｇａｃｙ”と判断すればよい。一方、モニタプログラム８０は、上記情報に「ＨＴＴＰ」といった文字列が含まれていることにより、“ＩＰＰ／ＵＳＢ”と判断すればよい。ステップＳ１２３の処理は、判断処理の一例である。
【０１１９】
次に、モニタプログラム８０は、第１状態情報を受信したと判断したことに応じて（Ｓ１２３：Ｌｅｇａｃｙ）、ステップＳ１２２で受信した情報から、Ｌｅｇａｃｙのデータ構造に従って、第１状態情報を抽出する（Ｓ１２４）。そして、モニタプログラム８０は、当該第１状態情報で示されるＬｅｇａｃｙステータスを表示部５３に表示させ（Ｓ１２５）、Ｌｅｇａｃｙポートをクローズする（Ｓ１２６）。
【０１２０】
一方、モニタプログラム８０は、第２状態情報を受信したと判断したことに応じて（Ｓ１２３：ＩＰＰ／ＵＳＢ）、ステップＳ１２２で受信した情報から、ＩＰＰのデータ構造に従って、第２状態情報を抽出する（Ｓ１２７）。そして、モニタプログラム８０は、当該第２状態情報で示されるＩＰＰ／ＵＳＢステータスを表示部５３に表示させ（Ｓ１２８）、Ｌｅｇａｃｙポートをクローズする（Ｓ１２６）。
【０１２１】
［実施形態４の作用効果］
実施形態４によれば、Ｌｅｇａｃｙステータス監視処理で複合機１０から受信した状態情報を、データ構造を解析することによって第１状態情報及び第２状態情報のいずれであるか判断する。その結果、複合機１０の状態をプロトコル毎にさらに適切に表示させることができる。また、実施形態４によれば、図７（Ａ）のステップＳ７１〜Ｓ７５の処理、或いは図７（Ｂ）のステップＳ８１〜Ｓ８５、Ｓ８７の処理を複合機１０に実装する必要がない。
【０１２２】
なお、実施形態４に係るＩＰＰ／ＵＳＢステータス監視処理は、図１０に示されるＬｅｇａｃｙステータス監視処理のうち、ステップＳ１２１をステップＳ６１〜Ｓ６４に置換し、ステップＳ１２６をステップＳ６７、Ｓ６８に置換したものに相当する。そして、モニタプログラム８０は、ステップＳ１２２において、ＩＰＰ／ＵＳＢモードのインタフェース４１を通じて複合機１０から送信される情報を、ＩＰＰ／ＵＳＢに準拠した手順で受信すればよい。
【０１２３】
［実施形態５］
次に、図１１を参照して、実施形態５に係る情報処理装置５０の処理を説明する。なお、実施形態１との共通点の詳細な説明は省略し、相違点を中心に説明する。実施形態５は、図３に示されるように、第１通信プログラム７４と第１スプーラ７６との間に、標準プログラムがスタックされている点において、実施形態１と相違する。また、実施形態５は、第２通信プログラム７５と第２スプーラ７７との間に、標準プログラムがスタックされている点において、実施形態１と相違する。
【０１２４】
標準プログラムは、ＵＳＢケーブル４０を通じて複合機１０と通信するために、ＯＳ６４と共に提供されたプログラムであって、例えば図４（Ｂ）に示されるステップＳ１７、Ｓ１８、Ｓ２１の処理を実行する。但し、実施形態５に係る標準プログラムは、第２スプーラ７７から読み出したプリント指示情報やＩＲＰ（Ｉ／Ｏ  Ｒｅｑｕｅｓｔ  Ｐａｃｋｅｔの略）を、第２ＵＳＢクラスドライバ７３ではなく、実施形態５に係る第２通信プログラム７５に送信する。
【０１２５】
すなわち、実施形態５に係る通信プログラム７４、７５は、ＵＳＢクラスドライバ７２、７３の上位に配置されるフィルタドライバとして機能する。ＵＳＢクラスドライバ７２、７３及びＵＳＢカーネルドライバ７１は、ＩＲＰというデータオブジェクトを伝達することにより処理を実行する。フィルタドライバは、標準プログラムからＵＳＢクラスドライバ７２、７３に送られるＩＲＰを事前にフックして所定の処理を実行し、所定の処理の実行後にＩＲＰをＵＳＢクラスドライバ７２、７３に中継する。
【０１２６】
中継処理は、標準プログラムから受信したＩＲＰを第２ＵＳＢクラスドライバ７３に中継すると共に、所定のＩＲＰを受信したタイミングでモニタプログラム８０との間でプロセス間通信を行う処理である。なお、ステップＳ１３５、Ｓ１３６、Ｓ１３７、Ｓ１３８の処理は、ステップＳ１５、Ｓ１６、Ｓ１９、Ｓ２０の処理と共通する。図１１を参照して、第２通信プログラム７５によって実行される中継処理の詳細を説明する。
【０１２７】
まず、実施形態５に係る第２通信プログラム７５は、標準プログラムから送信されるＩＲＰを監視する（Ｓ１３１）。次に、第２通信プログラム７５は、標準プログラムからＩＲＰを受信したことに応じて（Ｓ１３１：Ｙｅｓ）、当該ＩＲＰが切替指示情報（ＳＥＴ＿ＩＮＴＥＲＦＡＣＥ）か否かを判断する（Ｓ１３２）。そして、第２通信プログラム７５は、切替指示情報でないと判断したことに応じて（Ｓ１３２：Ｎｏ）、ステップＳ１３１で受信したＩＲＰを、第２ＵＳＢクラスドライバ７３に送信する（Ｓ１３３）。また図示は省略するが、第２通信プログラム７５は、標準プログラムから受信したプリント指示情報を、プロセス間通信によって第２ＵＳＢクラスドライバ７３に送信する。
【０１２８】
また、第２通信プログラム７５は、ステップＳ１３１で受信したＩＲＰが第１切替指示情報であると判断したことに応じて（Ｓ１３２：Ｙｅｓ＆Ｓ１３４：Ｙｅｓ）、プロセス間通信によってモニタプログラム８０にＩＰＰ／ＵＳＢ開始通知を送信（Ｓ１３５）し、且つプロセス間通信によってモニタプログラム８０からＡＣＫを受信するまで待機する（Ｓ１３６）。そして、第２通信プログラム７５は、モニタプログラム８０からＡＣＫを受信したことに応じて（Ｓ１３６：Ｙｅｓ）、ステップＳ１３１で受信した第１切替指示情報を、プロセス間通信によって第２ＵＳＢクラスドライバ７３に送信する（Ｓ１３３）。
【０１２９】
さらに、第２通信プログラム７５は、ステップＳ１３１で受信したＩＲＰが第２切替指示情報であると判断したことに応じて（Ｓ１３２：Ｙｅｓ＆Ｓ１３４：Ｎｏ）、プロセス間通信によってモニタプログラム８０にＩＰＰ／ＵＳＢ終了通知を送信（Ｓ１３７）し、且つプロセス間通信によってモニタプログラム８０からＡＣＫを受信するまで待機する（Ｓ１３８）。そして、第２通信プログラム７５は、モニタプログラム８０からＡＣＫを受信したことに応じて（Ｓ１３８：Ｙｅｓ）、ステップＳ１３１で受信した第２切替指示情報を、プロセス間通信によって第２ＵＳＢクラスドライバ７３に送信する（Ｓ１３３）。
【０１３０】
［実施形態５の作用効果］
実施形態５によれば、ＯＳ６４が提供する標準プログラムを利用して、実施形態１の処理を実現することができる。すなわち、第２通信プログラム７５には、標準プログラムに実装された処理を実装する必要がなく、実施形態１に特有の処理のみを実装すればよい。これにより、第２通信プログラム７５の開発負担が削減される。
【０１３１】
［実施形態６］
次に、実施形態６に係る情報処理装置５０の処理を説明する。なお、実施形態１との共通点の詳細な説明は省略し、相違点を中心に説明する。実施形態６に係る第２通信プログラム７５は、ステップＳ１５、Ｓ１６、Ｓ１９、Ｓ２０が省略されたプリント指示処理を実行する。すなわち、第２通信プログラム７５は、インタフェース４１の排他開始処理を実行した後に、ＩＰＰ／ＵＳＢ開始通知及びモニタプログラム８０からのＡＣＫの受信を行わずに、第１切替指示情報を複合機１０に送信する。また、第２通信プログラム７５は、モニタプログラム８０へのＩＰＰ／ＵＳＢ送信処理を実行した後に、ＩＰＰ／ＵＳＢ終了通知及びモニタプログラム８０からのＡＣＫの受信を行わずに、第２切替指示情報を複合機１０に送信する。
【０１３２】
さらに、実施形態６に係るモニタプログラム８０は、ステップＳ３６の処理に代えてコントロール転送で複合機１０にモード問い合わせ情報を送信する。モード問い合わせ情報は、複合機１０で選択されているインタフェース４１のモードがＬｅｇａｃｙモード及びＩＰＰ／ＵＳＢモードのいずれであるかを問い合わせる情報である。モード問い合わせ情報の送信は、例えば、“ＧＥＴ＿ＩＮＴＥＲＦＡＣＥ”コマンドの実行によって実現される。そして、ステップＳ３７の代わりに、モード問い合わせ情報の応答として複合機１０から返信されたモード情報を受信する。モード情報を受信する処理は、モード受信処理の一例である。そして、モニタプログラム８０は、モード情報で示されるインタフェース４１のモードを判断する。さらに、モニタプログラム８０は、ステップＳ３９、Ｓ４０、Ｓ４２、Ｓ４３が省略されたステータス監視処理を実行する。すなわち、モニタプログラム８０は、第２通信プログラム７５からＩＰＰ／ＵＳＢ開始通知を受信せず、複合機１０で選択されているモードを自身で問い合わせる。
【０１３３】
［実施形態６の作用効果］
実施形態６によれば、第２通信プログラム７５からＩＰＰ／ＵＳＢ開始通知やＩＰＰ／ＵＳＢ終了通知を受けなくても、モニタプログラム８０自身で複合機１０からインタフェース４１のモードを取得することができる。従って、第２通信プログラム７５との処理の同期を取る必要がなく、プログラムの処理を簡易化することができる。
【０１３４】
また、上記の実施形態の複合機１０及び情報処理装置５０において、記憶部３２、６２のプログラム記憶領域３２Ａ、６２Ａに記憶された各種プログラムがＣＰＵ３１、６１によって実行されることによって、本発明の制御部が実行する各処理が実現される例を説明した。しかしながら、制御部の構成はこれに限定されず、その一部又は全部を集積回路（ＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔの略）とも言う。）等のハードウェアで実現してもよい。
【０１３５】
さらに、本発明は、複合機１０及び情報処理装置５０として実現できるだけでなく、複合機１０及び情報処理装置５０に処理を実行させるプログラムとして実現してもよい。そして、当該プログラムは、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな記録媒体に記録されて提供されてもよい。ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな記録媒体は、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等の他、通信ネットワークを通じて複合機１０及び情報処理装置５０に接続可能なサーバに搭載された記憶部を含んでもよい。そして、サーバの記憶部に記憶されたプログラムは、当該プログラムを示す情報或いは信号として、インターネット等の通信ネットワークを通じて配信されてもよい。
【符号の説明】
【０１３６】
１０・・・複合機
１１・・・プリンタ部
１２・・・スキャナ部
２５，５５・・・ＵＳＢインタフェース
３１，６１・・・ＣＰＵ
３５・・・制御プログラム
４０・・・ＵＳＢケーブル
４１，４２・・・インタフェース
５０・・・情報処理装置
５３・・・表示部
３２，６２・・・記憶部
７３・・・第１通信プログラム
７４・・・第２通信プログラム
７９・・・モニタプログラム
【図１】
0006582830.tif 000002
【図２】
0006582830.tif 000003
【図３】
0006582830.tif 000004
【図４】
0006582830.tif 000005
【図５】
0006582830.tif 000006
【図６】
0006582830.tif 000007
【図７】
0006582830.tif 000008
【図８】
0006582830.tif 000009
【図９】
0006582830.tif 000010
【図１０】
0006582830.tif 000011
【図１１】
0006582830.tif 000012
【図１２】
0006582830.tif 000013
【図１３】
0006582830.tif 000014