(57)【要約】【課題】本発明は、データの送信先情報を十分に保存するだけの記憶容量が確保できない場合であっても、プッシュスキャン時のユーザの使い勝手を向上させることができる画像処理装置を提供する。【解決手段】プッシュスキャンで複合印刷装置２０３からクライアントコンピュータにデータを送信する際に、操作部２２の表示画面３０１に表示されておらず、複合印刷装置２０３で保存されていない送信先が指定されようとした場合、当該送信先として指定可能な送信先に関する情報（ＰＣ名／Ｍｅｎｕ情報）をＰＣ名／Ｍｅｎｕ管理ＰＣ２０２から取得して表示するように構成する。【選択図】図２５
2010251901.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つの機能を有し、該機能により得られるデータをネットワークを介して接続された情報処理装置に送ることが可能な画像処理装置において、
前記データの送信先に関する情報を表示する表示手段と、
前記送信先に関する情報を保存する情報管理装置に接続する接続手段と、
前記表示手段に表示される画面を切り替えるための操作手段と、
前記操作手段で表示の切り替えが行われたときは、前記情報管理装置から表示に必要な送信先に関する情報を取得する取得手段と、
前記取得手段により取得された前記送信先に関する情報を前記表示手段に表示する表示制御手段とを備えることを特徴とする画像処理装置。
【請求項２】
前記情報処理装置から定期的に送信される状態問い合わせ情報に基づいて前記送信先に関する情報を前記情報管理装置に転送する転送手段をさらに備えることを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記情報管理装置が稼働中か否かを判定する判定手段と、
前記判定手段により前記情報管理装置が稼働中でないと判定した場合は、前記情報管理装置に保存された前記送信先に関する情報を更新し、予め設定された条件に該当する情報を削除する削除手段とを備えることを特徴とする請求項１又は２記載の画像処理装置。
【請求項４】
所定の条件を満たしたときにスリープ状態に遷移するスリープ手段と、
前記スリープ状態に遷移する前に、前記情報管理装置で保存されている前記送信先に関する情報の監視を中断するように前記情報管理装置に通知する通知手段とを更に備えることを特徴とする請求項１乃至３のいずれか１項に記載の画像処理装置。
【請求項５】
前記通知手段は、前記スリープ状態から復帰した後に、前記情報管理装置で保存されている前記送信先に関する情報の監視を再開するように前記情報管理装置に通知することを特徴とする請求項４記載の画像処理装置。
【請求項６】
前記情報処理装置から定期的に送信される状態問い合わせ情報を監視する第１の監視手段と、
前記スリープ状態に遷移していた時間に応じて、前記第１の監視手段による前記状態問い合わせ情報の監視条件を変更する第１の変更手段とを更に備えることを特徴とする請求項４又は５記載の画像処理装置。
【請求項７】
前記情報処理装置から定期的に送信される状態問い合わせ情報を監視する第２の監視手段と、
前記スリープ状態に遷移した時刻と復帰した時刻に応じて、前記第２の監視手段による前記状態問い合わせ情報の監視条件を変更する第２の変更手段とを更に備えることを特徴とする請求項４又は５記載の画像処理装置。
【請求項８】
前記情報処理装置からの状態問い合わせ情報の発行を制限して、問い合わせ処理の応答負荷を軽減することを特徴とする請求項２乃至７のいずれか１項に記載の画像処理装置。
【請求項９】
少なくとも１つの機能を有し、該機能により得られるデータをネットワークを介して接続された情報処理装置に送ることが可能な画像処理装置の画像処理方法において、
前記データの送信先に関する情報を表示手段に表示する表示工程と、
前記表示手段に表示される画面を切り替えるための操作手段で表示の切り替えが行われたときは、前記送信先に関する情報を保存する情報管理装置から表示に必要な送信先に関する情報を取得する取得工程と、
前記取得工程にて取得された前記送信先に関する情報を前記表示手段に表示する表示制御工程とを備えることを特徴とする画像処理方法。
【請求項１０】
少なくとも１つの機能を有し、該機能により得られるデータをネットワークを介して接続された情報処理装置に送ることが可能な画像処理装置の画像処理方法を画像処理装置に実行させるためのプログラムにおいて、
前記データの送信先に関する情報を表示手段に表示する表示ステップと、
前記表示手段に表示される画面を切り替えるための操作手段で表示の切り替えが行われたときは、前記送信先に関する情報を保存する情報管理装置から表示に必要な送信先に関する情報を取得する取得ステップと、
前記取得された前記送信先に関する情報を前記表示手段に表示する表示制御ステップとを備えることを特徴とするプログラム。
【請求項１１】
請求項１乃至８のいずれか１項の記載の画像処理装置と情報管理装置とがネットワークを介して接続された画像処理システムにおいて、
前記画像処理装置は、前記ネットワーク上の情報処理装置からの状態問い合わせ情報に応じて、前記情報処理装置の存在を監視することを特徴とする画像処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置及びその制御方法、並びにプログラムに関し、特に、メモリ容量が制限された状況でもデータの送付先情報の管理を可能にする画像処理装置及びその制御方法、並びにプログラムに関する。
【背景技術】
【０００２】
ネットワーク上にスキャナ装置やスキャナ機能を備えた複合印刷装置を配置してドキュメントをスキャンする場合、クライアントコンピュータ上で稼動するスキャナドライバを使って画像を取り込むプルスキャン（Ｐｕｌｌ  Ｓｃａｎ）が一般的に行われる。一方、ユーザの利便性を高めるために、スキャナ装置や複合印刷装置等の画像処理装置からクライアントコンピュータ（以下、「ＰＣ」と呼ぶ）に画像を送りつけるプッシュスキャン（Ｐｕｓｈ  Ｓｃａｎ）も広く知られている。このプッシュスキャンの派生として、画像処理装置からＰＣ上のスキャナドライバを起動し、該スキャナドライバを使ってＰＣに画像データを取り込ませる擬似プッシュスキャンという方法も知られている（例えば、特許文献１参照）。
【０００３】
プッシュスキャンや擬似プッシュスキャンを行う場合には、画像処理装置上の操作部から画像データの送り先であるＰＣを指定する必要がある。つまり、画像処理装置では、画像データの送信先として、少なくとも１つのＰＣの送信先に関する情報を保持する必要がある。
【０００４】
また、画像処理装置では、ユーザの利便性を高めるために、ＰＣが稼動しているか否かを検出し、稼動していないＰＣに対して画像を送りつけるような指示ができないように制御する必要もある。このような制御を実現する方法の１つとして、ＰＣから画像処理装置に対して定期的に通知を送り、当該画像処理装置からの応答に応じて、ＰＣが画像処理装置の稼動状況を知る方法がある。
【０００５】
画像処理装置では、各ＰＣからの定期的な通知の受信状況により、そのＰＣが稼動状況にあるか否かを知ることができる。このとき、ＰＣから画像処理装置に定期的に送られる通知に、画像処理装置で表示すべきＰＣの名称や擬似プッシュスキャンを実施する際に指定するドライバの処理オプション名称等の情報を付加する方法も知られている（例えば、特許文献１参照）。
【０００６】
ところで、画像処理装置では、低価格化により、搭載するメモリの容量が少なくなる傾向にあり、ハードディスク等の大容量の記憶装置が搭載されていないものも市販されている。また、画像処理装置に搭載されるスキャン機能も簡素なものが模索されるようになってきている。
【０００７】
さらに、画像処理装置では、画像データの送信先のＰＣの数に比例して、当該装置で管理すべきＰＣの名称や処理オプション名称等が増大するので、管理するＰＣの情報数に上限を持たせる必要がでている。なお、特許文献１では、管理するＰＣの情報数に上限を設ける点については特に言及されていない。
【０００８】
上述した背景を踏まえて、画像処理装置で管理するＰＣの情報数に上限を設ける場合には、次のような方法が考えられる。
【０００９】
１．通知を行ってきたＰＣに関する情報を順次登録し、上限に達した時点で登録終了とする方法
２．通知を行ってきたＰＣに関する情報を順次登録して上限に達した場合、先に登録されたＰＣから順次消していき、一度に登録できるＰＣの情報数を制限する方法
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開平１０−１１１７９３号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
しかしながら、上記いずれかの方法では、ユーザが選択したいＰＣを画像処理装置が管理できず、スキャンデータの送信先を選択する画面上にユーザが所望するＰＣ名等が表示されないという問題が発生するおそれがある。
【００１２】
本発明は、データの送信先情報を十分に保存するだけの記憶容量が確保できない場合であっても、プッシュスキャン時のユーザの使い勝手を向上させることができる画像処理装置及びその制御方法、並びにプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
上記目的を達成するために、請求項１記載の画像処理装置は、少なくとも１つの機能を有し、該機能により得られるデータをネットワークを介して接続された情報処理装置に送ることが可能な画像処理装置において、前記データの送信先に関する情報を表示する表示手段と、前記送信先に関する情報を保存する情報管理装置に接続する接続手段と、前記表示手段に表示される画面を切り替えるための操作手段と、前記操作手段で表示の切り替えが行われたときは、前記情報管理装置から表示に必要な送信先に関する情報を取得する取得手段と、前記取得手段により取得された前記送信先に関する情報を前記表示手段に表示する表示制御手段とを備えることを特徴とする。
【発明の効果】
【００１４】
本発明によれば、データの送信先情報を十分に保存するだけの記憶容量が確保できない場合であっても、プッシュスキャン時のユーザの使い勝手を向上させることができる。
【００１５】
また、本発明によれば、デバイスに送信される状態問い合わせパケットの量を抑えることが可能となるので、デバイスでの処理負荷を軽減することも併せて可能となる。
【図面の簡単な説明】
【００１６】
【図１】本発明の第１の実施形態に係る画像処理装置を備える画像処理システムの概略構成を示す図である。
【図２】図１のＰＣ名／Ｍｅｎｕ管理ＰＣ及び複合印刷装置の概略構成を示すブロック図である。
【図３】複合印刷装置上の操作部の表示画面の一例を示す図であり、（ａ）はプッシュスキャンを選択した後の表示画面、（ｂ）はデータの送信先のクライアントコンピュータを選択した後の表示画面である。
【図４】クライアントコンピュータで表示される表示画面の一例を示す図であり、（ａ）は初期画面、（ｂ）は画像の読取条件の設定画面、（ｃ）は複合印刷装置に表示する画面の設定画面である。
【図５】複合印刷装置とクライアントコンピュータとの間で交わされるデータパケットの一例を示す図である。
【図６】複合印刷装置とＰＣ名／Ｍｅｎｕ管理ＰＣとの間で交わされるデータパケットの一例を示す図である。
【図７】複合印刷装置からＰＣ名／Ｍｅｎｕ管理ＰＣに送信されるイベントの一例を示す図である。
【図８】ＰＣ名／Ｍｅｎｕ管理ＰＣで保持管理されるＰＣ名／Ｍｅｎｕ管理ＤＢの内容例を示す図である。
【図９】クライアントコンピュータ上で実行されるスキャナドライバのデバイスへのインストール処理を示すフローチャートである。
【図１０】クライアントコンピュータ上で実行されるスキャナドライバのポーリング送信処理を示すフローチャートである。
【図１１】図１０のステップＳ８０４で実行される処理要求待ちの処理の詳細を示すフローチャートである。
【図１２】電源ＯＮ後に複合印刷装置２０３で実行される処理を示すフローチャートである。
【図１３】図１２のステップＳ１０１０で実行される要求待ちの処理を示すフローチャートである。
【図１４】図１２のステップＳ１０１０で実行される要求待ちの処理を示すフローチャートである。
【図１５】複合印刷装置上でスリープ状態中に実行される処理を示すフローチャートである。
【図１６】ＰＣ名／Ｍｅｎｕ管理ＰＣで実行されるＭｅｎｕ管理システムのインストール処理を示すフローチャートである。
【図１７】ＰＣ名／Ｍｅｎｕ管理ＰＣで実行されるＭｅｎｕ管理システムの起動後の処理を示すフローチャートである。
【図１８】ＰＣ名／Ｍｅｎｕ管理ＰＣで実行されるＭｅｎｕ管理システムの要求待ちの処理を示すフローチャートである。
【図１９】図１８のステップＳ１５１０で実行される状態監視中断Ｅｖｅｎｔ処理の詳細を示すフローチャートである。
【図２０】図１８のステップＳ１５１４又は図１５のステップＳ１２１４で実行される状態監視再開Ｅｖｅｎｔ処理の詳細を示すフローチャートである。
【図２１】図１２のステップＳ１００９で開始されるポーリング監視Ｔａｓｋの処理を示すフローチャートである。
【図２２】図１８のステップＳ１５１４又は図１５のステップＳ１２１４で実行される状態監視再開Ｅｖｅｎｔ処理の詳細を示すフローチャートである。
【図２３】図２２の処理で利用されるデータ（ＭａｔｒｉｘＡ）の一例を示す図である。
【図２４】クライアントコンピュータの新規登録時の処理の流れを説明するための図である。
【図２５】複合印刷装置上でのスクロール時の処理の流れを説明するための図である。
【図２６】ポーリングが途絶えたときの処理の流れを説明するための図である。
【図２７】複合印刷装置がスリープ状態に入る前後の処理の流れを説明するための図である。
【図２８】クライアントコンピュータに新規のスキャナドライバをインストールした後の処理の流れを説明するための図である。
【図２９】本発明の第２の実施形態に係る画像処理装置を備える画像処理システムの概略構成を示す図である。
【図３０】クライアントコンピュータ上で実行されるポーリング制御システムのインストール処理を示すフローチャートである。
【図３１】図３０のステップＳ２６０３で実行されるポーリング制御システムの処理要求待ちの処理の詳細を示すフローチャートである。
【図３２】ＰＣ名／Ｍｅｎｕ管理ＰＣ上で実行される稼動状況問い合わせシステムのインストール処理を示すフローチャートである。
【図３３】図３２のステップＳ２８０３で実行される稼動状況問い合わせシステムの起動処理の詳細を示すフローチャートである。
【発明を実施するための形態】
【００１７】
以下、本発明の実施の形態を図面を参照して詳細に説明する。
【００１８】
［第１の実施形態］
図１は、本発明の第１の実施形態に係る画像処理装置を備える画像処理システムの概略構成を示す図である。
【００１９】
図１において、２０１はＬＡＮ等のネットワークである。２０２はＰＣ名／Ｍｅｎｕ管理ＰＣである。２０３はスキャナ機能や印刷機能、通信機能を備えた画像処理装置としての複合印刷装置である。２０４，２０５，２０６，２０７は情報処理装置としてのクライアントコンピュータである。クライアントコンピュータ２０４はＰＣ名「ＰＣ−ＡＢＣＤＥ」とし、２０５はＰＣ名「ＰＣ−ＣＤＥＦＧ」とし、２０６はＰＣ名「ＰＣ−ＥＦＧＨＩ」とし、２０７はＰＣ名「ＰＣ−ＨＩＪＫＬＭ」とする。なお、図示例では、クライアントコンピュータが４台分記載されているが、これに限定されるものではない。
【００２０】
ＰＣ名／Ｍｅｎｕ管理ＰＣ２０２は情報管理装置としてのパーソナルコンピュータであり、ＵＳＢケーブル２１３を介して複合印刷装置２０３に通信可能に接続されている。また、ＰＣ名／Ｍｅｎｕ管理ＰＣ２０２は、ネットワーク２０１を介して複数のクライアントコンピュータ２０４〜２０７に通信可能に接続されている。なお、図示例では、ＰＣ名／Ｍｅｎｕ管理ＰＣ２０２と複合印刷装置２０３とはＵＳＢケーブル２１３を介して接続されているが、これに限らず、ネットワーク２０１を介して接続されていてもよい。
【００２１】
更に、ＰＣ名／Ｍｅｎｕ管理ＰＣ２０２は、ＰＣ名／Ｍｅｎｕ管理ＤＢ６０１とＭｅｎｕ管理システムを備える。ＰＣ名／Ｍｅｎｕ管理ＤＢ６０１では、クライアントコンピュータ上で稼動するスキャナドライバで設定されたＰＣ名やＭｅｎｕ名称、付随する情報が管理され、必要に応じて複合印刷装置２０３との間でその情報のやり取りを行う。Ｍｅｎｕ管理システムは、複合印刷装置２０３からの要求やＥｖｅｎｔを処理したり、クライアントコンピュータから複合印刷装置２０３への問い合わせ状況を監視する。
【００２２】
複合印刷装置２０３は装置制御システムを備え、装置制御システムが通常稼動状態での各種要求処理（コピー、印刷、スキャンなど）、スリープ（Ｓｌｅｅｐ）状態での各種要求処理を実行する。スリープ状態での各種要求処理には、クライアントコンピュータからの問い合わせに対する応答処理、複合印刷装置のパネル押下に対する処理等が含まれる。
【００２３】
クライアントコンピュータ２０４〜２０７にはそれぞれスキャナドライバがインストールされており、スキャナドライバを使った画像読み取り処理が行われる。スキャナドライバは、クライアントコンピュータ上で稼働して複合印刷装置２０３内のスキャナ部２４を制御するためのプログラムである。スキャナドライバは、画像読み取り処理の制御の他に、複合印刷装置２０３上の操作部２２に表示されるＰＣ名やＭｅｎｕ文字列の管理も行う。
【００２４】
また、クライアントコンピュータ２０４〜２０７にプリンタドライバをインストールして、クライアントコンピュータから複合印刷装置２０３に印刷情報を送って印刷処理を実行することも可能である。
【００２５】
図２は、図１のＰＣ名／Ｍｅｎｕ管理ＰＣ２０２及び複合印刷装置２０３の概略構成を示すブロック図である。なお、クライアントコンピュータ２０４〜２０７は、ＰＣ名／Ｍｅｎｕ管理ＰＣ２０２と同一の構成を有することから、その説明は省略する。
【００２６】
図２において、ＰＣ名／Ｍｅｎｕ管理ＰＣ２０２は、ＣＰＵ１と、ＲＡＭ２と、ＲＯＭ３と、システムバス４と、キーボードコントローラ（ＫＢＣ）５と、ＣＲＴコントローラ（ＣＲＴＣ）６と、ディスクコントローラ（ＤＫＣ）７を備える。さらに、入出力部８と、キーボード（ＫＢ）９と、ＣＲＴ１０と、外部メモリ１１を備える。
【００２７】
ＣＰＵ１は、ＲＯＭ３のプログラム用ＲＯＭ又は外部メモリ１１に記憶された文書処理プログラム等に基づいて、図形、イメージ、文字、表（表計算等を含む）等が混在した文書処理を実行する。また、ＣＰＵ１は、システムバス４に接続される各デバイスを総括的に制御する。
【００２８】
ＲＯＭ３のプログラム用ＲＯＭ又は外部メモリ１１には、ＣＰＵ１により実行される制御プログラムであるオペレーティングシステムプログラム（以下、「ＯＳ」と呼ぶ）等が記憶されている。ＲＯＭ３のフォント用ＲＯＭ又は外部メモリ１１には、上記文書処理等の実行時に使用されるフォントデータ等が記憶されている。ＲＯＭ３のデータ用ＲＯＭ又は外部メモリ１１には、上記文書処理等の実行時に使用される各種データが記憶されている。
【００２９】
ＣＰＵ１は、表示制御手段としてＣＲＴ１０上の不図示のマウスカーソル等で指示されたコマンドに基づいて登録された種々のウインドウを開き、種々のデータ処理を実行する。ユーザは印刷を実行する際に、印刷の設定に関するウインドウを開き、プリンタの設定や印刷モードの選択を含むプリンタドライバに対する印刷処理方法の設定を行える。また、ＣＰＵ１は、例えば、ＲＡＭ２上に設定された表示情報ＲＡＭへのアウトラインフォントの展開（ラスタライズ）処理を実行し、ＣＲＴ１０上でのＷＹＳＩＷＹＧを可能としている。
【００３０】
ＲＡＭ２は、ＣＰＵ１の主メモリ、ワークエリア等として機能する。ＫＢＣ５はキーボードＩ／Ｆであり、ＫＢ９や不図示のポインティングデバイスからのキー入力を制御する。ＣＲＴＣ６はディスプレイＩ／Ｆであり、ＣＲＴ１０の表示を制御する。ＤＫＣ７は外部メモリＩ／Ｆであり、外部メモリ１１とのアクセスを制御する。外部メモリ１１は、ハードディスク（ＨＤ）、フロッピー（登録商標）ディスク（ＦＤ）、コンパクトディスク（ＣＤ）等で構成され、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、プリンタドライバ等を記憶する。
【００３１】
入出力部８は、ＵＳＢケーブル２１３やネットワークのような双方向性インターフェースを介して複合印刷装置２０３に接続され、複合印刷装置２０３との通信制御処理を実行する。
【００３２】
複合印刷装置２０３は、ＣＰＵ１２と、ＲＡＭ１９と、ＲＯＭ１３と、システムバス１５と、入出力部１８と、印刷部Ｉ／Ｆ１６と、ＤＫＣ２０と、スキャナＩ／Ｆ２３とを備える。さらに、印刷部（プリンタエンジン）１７、外部メモリ１４、操作部２２、及びスキャナ部（スキャンエンジン）２４を備える。
【００３３】
ＣＰＵ１２は、ＲＯＭ１３のプログラム用ＲＯＭ又は外部メモリ１４に記憶された制御プログラム等に基づいて、システムバス１５に接続された印刷部１７に出力情報としての画像信号を出力する。ＲＯＭ１３のプログラムＲＯＭには、ＣＰＵ１２により実行される装置制御プログラム等が記憶される。ＲＯＭ１３のフォント用ＲＯＭには、上記出力情報を生成する際に使用されるフォントデータ等が記憶されている。ＲＯＭ１３のデータ用ＲＯＭには、外部メモリ１４がない場合に、ＰＣ名／Ｍｅｎｕ管理ＰＣやクライアントコンピュータ上で利用される情報等が記憶される。
【００３４】
ＣＰＵ１２は、入出力部１８を介してＰＣ名／Ｍｅｎｕ管理ＰＣ２０２等との通信処理が可能となっており、複合印刷装置２０３の情報等をＰＣ名／Ｍｅｎｕ管理ＰＣ２０２等に通知可能に構成されている。ＲＡＭ１９は、ＣＰＵ１２の主メモリ、ワークエリア等として機能する。また、ＲＡＭ１９は、図示しない増設ポートに接続されるオプションＲＡＭによりメモリ容量を拡張することができるように構成されている。なお、ＲＡＭ１９は、出力情報展開領域、環境データ格納領域、ＮＶＲＡＭ、ストレージデバイス等に用いられる。
【００３５】
外部メモリ１４は、ハードディスク（ＨＤ）、ＩＣカード等で構成され、ＤＫＣ２０によりアクセスを制御される。外部メモリ１４は、オプションとして接続され、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶する。複合印刷装置２０３は、内蔵フォントに加えてオプションフォントカード、言語系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリ１４を複数接続できるように構成されていてもよい。また、外部メモリ１４は、ＲＡＭ１９に格納されているデータをコピーして格納できるように構成されていてもよい。また、外部メモリ１４は、図示しないＮＶＲＡＭを有し、操作部２２からのプリンタモード設定情報を記憶するように構成されていてもよい。
【００３６】
操作部２２は、タッチパネル方式の大型液晶表示装置や、操作のためのスイッチ類、ＬＥＤ表示器等を備える。スキャナ部２４は、画像読取装置であり、スキャナＩ／Ｆ２３を介して、システムバス１５に読み込んだデータを転送する。
【００３７】
図３は、複合印刷装置２０３上の操作部２２の表示画面の一例を示す図であり、（ａ）はプッシュスキャンを選択した後の表示画面であり、（ｂ）はデータの送信先のクライアントコンピュータを選択した後の表示画面である。
【００３８】
図３（ａ）において、３０１は、複合印刷装置２０３でプッシュスキャンが選択された後に操作部２２に表示される表示画面である。表示画面３０１では、スキャン画像の送り先として、ネットワーク２０１上に存在するクライアントコンピュータ２０４〜２０７のいずれかをＰＣ名で選択することができる。
【００３９】
図３（ｂ）において、３０２は、表示画面３０１で任意のクライアントコンピュータが選択された後に操作部２２に表示される表示画面である。表示画面３０２には、選択されたクライアントコンピュータ上で稼動しているスキャナドライバで設定可能なメニュー（Ｍｅｎｕ）名称が表示されている。例えば、表示画面３０１で「ＰＣ−ＣＤＥＦＧ」が選択された後に、表示画面３０２で「ＰＤＦ」が選択された場合の複合印刷装置２０３の動作について簡単に説明する。複合印刷装置２０３は、プッシュスキャンとして、ＰＣ名「ＰＣ−ＣＤＥＦＧ」に対応するクライアントコンピュータ２０５のスキャナドライバに対して、「ＰＤＦ」ボタンで指定されているモードで画像をスキャンするように指示を出す。
【００４０】
図４は、クライアントコンピュータ上で稼動しているスキャナドライバによりＣＲＴ１０に表示される表示画面の一例を示す図であり、（ａ）は初期画面、（ｂ）は画像の読取条件の設定画面、（ｃ）は複合印刷装置に表示する画面の設定画面である。
【００４１】
図４（ａ）において、４０１は初期画面であり、ＰＤＦボタン４０２、Ｆｉｌｅボタン４０３、Ｃｏｌｏｒ３００ボタン４０４、及びＳｅｔｔｉｎｇボタン４０５が表示されている。ＰＤＦボタン４０２は、原稿をスキャンして画像をＰＤＦ化して保存することを指示するためのボタンである。Ｆｉｌｅボタン４０３は、原稿をスキャンしてファイルに保存することを指示するためのボタンである。Ｃｏｌｏｒ３００ボタン４０４は、カラーモードでかつ３００ｄｐｉの解像度でスキャンすることを指示するためのボタンである。Ｓｅｔｔｉｎｇボタン４０５は、ＰＣ名やボタン名称（以下、「Ｍｅｎｕ名」とも呼ぶ）、ボタンに応じた動作モードの設定画面を開くためのボタンである。なお、これらのボタンの種類や配置を図示例に限定されるものではない。クライアントコンピュータ上で設定されたＰＣ名やＭｅｎｕ名称は、ネットワーク２０１を介して複合印刷装置２０３に転送される。
【００４２】
図４（ｂ）において、４１０は、初期画面４０１上のＣｏｌｏｒ３００ボタン４０４が押下された後にＣＲＴ１０に表示される画面である。表示画面４１０では、スキャン時の動作モードの指定やスキャン実施の指示を行うことが可能である。４１１は、カラーモードを選択するためのプルダウンメニューである。カラーモードには、Ｃｏｌｏｒ、白黒、グレースケール等の選択肢が考えられる。
【００４３】
４１２は、スキャン方法を選択するためのプルダウンメニューである。スキャン方法については、ＡＤＦ上の原稿を１枚ずつ搬送しながら読み取りを行うＡＤＦ方式や、原稿台ガラス上においてある原稿を静止したまま読み取る原稿台方式などが考えられる。４１３は、入力解像度を選択するためのプルダウンメニューである。解像度としては、１５０ｄｐｉ、２００ｄｐｉ、３００ｄｐｉ、４００ｄｐｉ、６００ｄｐｉなどが考えられる。
【００４４】
４１４は、読み取った画像の保存形式を選択するためのプルダウンメニューである。画像の保存形式としては、ＢＭＰ、ＴＩＦＦ、ＪＰＥＧ、ＰＤＦなどが考えられる。４１５は、読み取った画像の保存先を指定するための指定欄である。画像の保存先としては、スキャナドライバがインストールされた外部メモリ１１上のテンポラリフォルダ（例えば、Ｃ：￥Ｔｅｍｐ）が考えられる。
【００４５】
４１６は、呼び出しアプリを指定するための指定欄である。ここは、スキャナドライバで読み込んだ画像情報をそのまま引き渡すアプリケーションの実行モジュールが指定される箇所である。一般的には、ＯＣＲソフトなどが考えられる。４１７はＯＫボタンであり、ＯＫボタン４１７が押下されると、表示画面４１０上で設定された内容でスキャン動作が開始される。４１８はキャンセルボタンであり、キャンセルボタン４１８が押下されると、表示画面４１０が閉じて初期画面４０１に戻る。
【００４６】
なお、初期画面４０１上でＰＤＦボタン４０２が押下された場合も、上述した内容と略同一にスキャン処理が実行されることから、それらの説明については割愛する。
【００４７】
図４（ｃ）において、４２０は、初期画面４０１上のＳｅｔｔｉｎｇボタン４０５が押下された後にＣＲＴ１０に表示される画面である。表示画面４２０では、複合印刷装置２０３の操作部２２に表示するＰＣ名やＭｅｎｕ情報を設定することができる。
【００４８】
４２１は、初期画面４０１に表示するボタンの数を選択するためのプルダウンメニューである。初期画面４０１には、プルダウンメニュー４２１で選択されたボタン数に１を加えた数のボタンが表示される。これは、表示画面４２０を表示するために必要なＳｅｔｔｉｎｇボタン４０５を表示するためである。この数が変更された場合、初期画面４０１上で適切なボタンの大きさと適切なボタン間隔になるように、ボタン表示の自動調整が行われる。
【００４９】
４２２は、ＰＣ名を設定するための設定欄である。この設定欄４２２の初期値は、クライアントコンピュータに一意につけられたＯＳが管理するＰＣ名である。ここで設定されたＰＣ名が複合印刷装置２０３に送信され、図３（ａ）に示す表示画面３０１上に表示される。ＰＣ名は、いわゆるニックネームであり、ネットワーク上で一意である必要はなく（一意であるＰＣ名はＯＳが持っているから）、判別しやすい名称をつけてかまわない。
【００５０】
４２３，４２４，４２５は、プルダウンメニュー４２１で選択されたボタン数に対応するボタンの名称を設定するための設定欄である。この設定欄４２３〜４２５の初期値は、例えば、Ｓｃａｎ１、Ｓｃａｎ２などの特に意味の無い値となっている。ここで設定したボタン名称が複合印刷装置２０３に送信され、図３（ｂ）に示す表示画面３０２上に表示される。ボタン名称については、表示画面４１０上で行われた設定の内容が類推できるようなボタン名称を付与すると便利である。プルダウンメニュー４２１でボタン数が変更されると、その数に応じて設定欄４２３〜４２５の数も増減する。
【００５１】
４２６はＯＫボタンであり、ＯＫボタン４２６が押下されると、表示画面４２０上で設定された内容が反映される。４２７はキャンセルボタンであり、キャンセルボタン４１８が押下されると、表示画面４２０上で設定された内容は反映されず、キャンセルされる。
【００５２】
図５は、複合印刷装置２０３とクライアントコンピュータとの間で交わされるデータパケットの一例を示す図である。図６は、複合印刷装置２０３とＰＣ名／Ｍｅｎｕ管理ＰＣ２０２との間で交わされるデータパケットの一例を示す図である。図７は、複合印刷装置２０３からＰＣ名／Ｍｅｎｕ管理ＰＣ２０２に送信されるイベントの一例を示す図である。
【００５３】
図５において、５０１〜５０６は、ネットワーク２０１を介してクライアントコンピュータと複合印刷装置２０３との間を流れるデータの塊（パケット）である。
【００５４】
図６において、５０７〜５１０は、ＵＳＢケーブル２１３を介してＰＣ名／Ｍｅｎｕ管理ＰＣ２０２と複合印刷装置２０３との間を流れるデータの塊（パケット）である。
【００５５】
図７において、５１１〜５１５は、ＵＳＢケーブル２１３を介して複合印刷装置２０３からＰＣ名／Ｍｅｎｕ管理ＰＣ２０２に送られるイベント（Ｅｖｅｎｔ）である。ここでイベントについて説明する。
【００５６】
ＵＳＢ接続方式はホスト主導型の通信である。コンピュータとデバイスをＵＳＢ接続方式で接続した場合、コンピュータをホストと呼ぶ。そこで、複合印刷装置２０３とＰＣ名／Ｍｅｎｕ管理ＰＣ２０２をＵＳＢケーブル２１３で接続した場合、ＰＣ名／Ｍｅｎｕ管理ＰＣ２０２がホストとなる。なお、図１に示すシステム上では、コンピュータ側をクライアントと呼んでおり、それとは逆になるので注意が必要である。
【００５７】
ＵＳＢ接続方式における全ての送受信処理はホストが主導になって行う必要がある。例えば、プッシュスキャンのようにデバイス側のアクションを基点として処理を行わせたい場合には、イベントを示すデータをデバイス側からＵＳＢインターフェース上に用意されたインタラプトエンドポイント（不図示）に送出する。一方、ホスト側は、インタラプトエンドポイントを定期的に監視しており、そこにイベントが投げられると、それに従った処理（例えばプルスキャン処理）を行うように構成される。こうすることであたかもデバイス側からの指示で何か処理が起動されたかのように動作させることが可能となる。イベントとは、あらかじめ決められた処理を起動するためのトリガとなるものである。
【００５８】
なお、デバイス側からの指示に従い、コンピュータ上のスキャナドライバが起動してスキャン処理を行うことを擬似プッシュスキャン処理と言う。
【００５９】
図５において、５０１は、クライアントコンピュータからデバイス（例えば、複合印刷装置２０３）に対して定期的に送信される状態問い合わせパケットの一例である。この状態問い合わせパケットに対して、複合印刷装置２０３から応答されるパケットが５０３〜５０６に示すパケットである。なお、定期的に問い合わせを送信する処理については、一般的にはポーリングと呼ばれている。
【００６０】
５０１〜５０６における「要求／応答」はデータの流れる方向を示しており、「０ｘ０００１」がクライアントコンピュータから複合印刷装置、「０ｘ０００２」が複合印刷装置からクライアントコンピュータへの流れを示す。５０１〜５０６における「ＩＰアドレス」は、クライアントコンピュータのＩＰアドレスを示す。ＩＰｖ４かＩＰｖ６かは特に問わない。
【００６１】
５０１〜５０６における「コマンド」はパケットの意味合いを示す。「要求／応答」が「０ｘ０００１」の場合、「コマンド」が「０ｘ０００２」は状態問い合わせを意味し、「０ｘ０００３」はＰＣ名／Ｍｅｎｕ名情報送付を意味する。「要求／応答」が「０ｘ０００２」の場合、「コマンド」が「０ｘ００００」はＯＫを意味し、「０ｘ０００１」はＮＧを意味し、「０ｘ０００２」は情報要求を意味し、「０ｘ０００３」はイベント発生を意味する。
【００６２】
５０２は、上述した状態問い合わせパケット５０１にＰＣ名やＭｅｕｎ情報が付加されたパケットの一例である。この状態問い合わせパケットに対して、複合印刷装置２０３から応答されるパケットも、５０３〜５０６に示すパケットである。
【００６３】
５０３は、状態問い合わせパケットに対して複合印刷装置２０３から返される返答パケットの一例であり、複合印刷装置２０３側での処理が正常に終了したときに送られるＯＫの意味の返答パケットである。５０４は、状態問い合わせパケットに対して複合印刷装置２０３から返答される返答パケットの一例であり、複合印刷装置２０３側での処理が正常に終了しないときに送られるＮＧの意味の返答パケットである。５０５は、状態問い合わせパケットに対する複合印刷装置２０３からの返答パケットの一例であり、複合印刷装置２０３側で何らかの理由によりＰＣ名やＭｅｕｎ情報が必要になった場合にその情報を要求するときに送られる情報要求の意味の返答パケットである。５０６は、状態問い合わせパケットに対する複合印刷装置２０３からの返答パケットの一例であり、イベント発生パケットと称する。イベント発生パケット５０６は、複合印刷装置２０３側でプッシュスキャン処理を実施した場合にその事象をクライアントコンピュータに通知するときに送られるイベント発生の意味の返答パケットである。
【００６４】
図６において、５０７は、ＰＣ名／Ｍｅｎｕ管理ＰＣ２０２から複合印刷装置２０３に対して送信されるポーリングパケット転送要求の一例である。図示例の「ＵＳＢコマンド」における「０ｘＡ０」は、ポーリングパケット転送要求を示している。ポーリングパケットとは、状態問い合わせパケットのことで図５に示す状態問い合わせパケット５０１やＰＣ名／Ｍｅｎｕ情報送付パケット５０２のことを指す。ポーリングパケット転送要求５０７の返答として複合印刷装置２０３からＰＣ名／Ｍｅｎｕ管理ＰＣ２０２に送られてくるのが図６に示す５０８や５０９のパケットである。
【００６５】
５０８は、複合印刷装置２０３からＰＣ名／Ｍｅｎｕ管理ＰＣ２０２に転送される応答データ＿ポーリングパケット１の一例である。このパケットは、ポーリングパケット転送要求５０７の応答パケットとして複合印刷装置２０３からＰＣ名／Ｍｅｎｕ管理ＰＣ２０２に送付される。また、このパケットは、図５に示す状態問い合わせパケット５０１とほとんど変わらないデータ構成を有する。この応答データ＿ポーリングパケット１＿５０１は、状態問い合わせパケット５０１を複合印刷装置２０３からＰＣ名／Ｍｅｎｕ管理ＰＣ２０２に横流しする目的で送出される。
【００６６】
５０９は、複合印刷装置２０３からＰＣ名／Ｍｅｎｕ管理ＰＣ２０２に転送される応答データ＿ポーリングパケット２の一例である。このパケットは、ポーリングパケット転送要求５０７の応答パケットとして複合印刷装置２０３からＰＣ名／Ｍｅｎｕ管理ＰＣ２０２に送付される。また、このパケットは、図５に示すＰＣ名／Ｍｅｎｕ情報送付パケット５０２とほとんど変わらないデータ構成を有する。この応答データ＿ポーリングパケット２＿５０８は、図５に示すＰＣ名／Ｍｅｎｕ情報送付パケット５０２を複合印刷装置２０３からＰＣ名／Ｍｅｎｕ管理ＰＣ２０２に横流しする目的で送出される。
【００６７】
５１０は、ＰＣ名／Ｍｅｎｕ管理ＰＣ２０２から複合印刷装置２０３に対して送信されるＰＣ名／Ｍｅｎｕ情報送付パケットの一例である。ＰＣ名／Ｍｅｎｕ情報送付パケット５１０における「ＵＳＢコマンド」の「０ｘＡ１」はＰＣ名／Ｍｅｎｕ情報送付を示している。また、「位置」は、複合印刷装置２０３の操作部２２の表示装置上で表示すべき位置を示す。具体的には、図３（ａ）に示す表示画面３０１における表示位置を示している。例えば、上から順に０ｘ０１，０ｘ０２，…となる。
【００６８】
ＰＣ名／Ｍｅｎｕ情報送付パケット５１０における「Ｍｅｎｕ数」は、クライアントコンピュータ上で稼動しているスキャナドライバで用意しているボタンの数を示している。具体的には、図３（ｂ）に示す表示画面３０２でいくつのメニューを表示するかという数字を示している。この数字は図４（ｃ）に示すプルダウンメニュー４２１で設定された値と同じ値になる。
【００６９】
ＰＣ名／Ｍｅｎｕ情報送付パケット５１０における「Ｍｅｎｕ文字列」は、図３（ｂ）に示す表示画面３０２で表示すべき文字列が格納されている。この文字列は図４（ｃ）に示す設定欄４２３〜４２５で設定された文字列と同じ値になる。
【００７０】
図７において、５１１はポーリング受信Ｅｖｅｎｔである。ポーリング受信Ｅｖｅｎｔ５１１は、複合印刷装置２０３がクライアントコンピュータから定期的に送信された状態問い合わせパケット５０１又はＰＣ名／Ｍｅｎｕ情報送付パケット５０２の受信をＰＣ名／Ｍｅｎｕ管理ＰＣ２０２に伝えるために送信される。図示例では、１６ｂｙｔｅのイベントで最下位Ｂｙｔｅが「０ｘ０１」となっている。
【００７１】
５１２は、表示画面３０１上で、ユーザがメニューを上にスクロールさせて表示されていないＰＣ名を表示しようとした場合に、複合印刷装置２０３がＰＣ名／Ｍｅｎｕ管理ＰＣ２０２に対して送信するイベントの一例である。複合印刷装置２０３で確保できるＰＣ名が一度に操作部２２に表示しきれる分だけである場合、表示されていないＰＣ名を表示するには、ＰＣ名／Ｍｅｎｕ管理ＰＣ２０２からそのデータをもらう必要がある。その事象をＰＣ名／Ｍｅｎｕ管理ＰＣ２０２に伝えるためのイベントである。
【００７２】
５１３は、表示画面３０１上で、ユーザがメニューを下にスクロールさせて表示されていないＰＣ名を表示しようとした場合に、複合印刷装置２０３がＰＣ名／Ｍｅｎｕ管理ＰＣ２０２に対して送信するイベントの一例である。複合印刷装置２０３で確保できるＰＣ名が一度に操作部２２に表示しきれる分だけである場合、表示されていないＰＣ名を表示するには、ＰＣ名／Ｍｅｎｕ管理ＰＣ２０２からそのデータをもらう必要がある。その事象をＰＣ名／Ｍｅｎｕ管理ＰＣ２０２に伝えるためのイベントである。
【００７３】
５１４は、複合印刷装置２０３がスリープ状態に入る前に複合印刷装置２０３からＰＣ名／Ｍｅｎｕ管理ＰＣ２０２に対して送信するイベントの一例である。このイベントをＰＣ名／Ｍｅｎｕ管理ＰＣ２０２が受信した場合、複合印刷装置２０３がスリープ状態に入ることから、ＰＣ名／Ｍｅｎｕ管理ＰＣ２０２がポーリング受信Ｅｖｅｎｔ５１１を受信しなくなる。
【００７４】
５１５は、スリープ状態に入っていた複合印刷装置２０３がスリープ状態から復帰したときに複合印刷装置２０３からＰＣ名／Ｍｅｎｕ管理ＰＣ２０２に対して送信するイベントの一例である。このイベントをＰＣ名／Ｍｅｎｕ管理ＰＣ２０２が受信した場合、複合印刷装置２０３がスリープ状態から復帰したことから、ＰＣ名／Ｍｅｎｕ管理ＰＣ２０２がポーリング受信Ｅｖｅｎｔ５１１を定期的に受信するようになる。
【００７５】
図８は、ＰＣ名／Ｍｅｎｕ管理ＰＣ２０２で保持管理されるＰＣ名／Ｍｅｎｕ管理ＤＢ６０１の内容例を示す図である。
【００７６】
ＰＣ名／Ｍｅｎｕ管理ＤＢ６０１では、「ＩＰ＿Ａｄｄｒｅｓｓ」、「ＰＣ名」、「Ｍｅｎｕ数」、「Ｍｅｎｕ名」、「更新時刻」、及び「開始終了位置」で構成される。図示の６０２〜６０９の各行がクライアントコンピュータ１台分の情報となる。
【００７７】
「ＩＰ＿Ａｄｄｒｅｓｓ」は、各クライアントコンピュータが一意に持っているネットワークのアドレス情報である。「ＰＣ名」は、図４（ｃ）に示すＰＣ名の設定欄４２２で設定された値である。「Ｍｅｎｕ数」は、図４（ｃ）に示すボタン数のプルダウンメニュー４２１で設定された値である。「Ｍｅｎｕ名」は、図４（ｃ）に示すボタン名称１〜３の設定欄４２３〜４２５に入力されたボタン名称をひとまとめにした値である。「更新時刻」は、ＰＣ名／Ｍｅｎｕ管理ＰＣ２０２が、複合印刷装置２０３を経由してクライアントコンピュータから受信した状態問い合わせパケット５０１やＰＣ名／Ｍｅｎｕ情報送付パケット５０２を受け取った時刻である。この「更新時刻」に記録される値は、パケット５０１や５０２を受け取る度に更新される。
【００７８】
状態問い合わせパケット５０１は、複合印刷装置２０３を経由すると、応答データ＿ポーリングパケット１＿５０８としてＰＣ名／Ｍｅｎｕ管理ＰＣ２０２に送付される。ＰＣ名／Ｍｅｎｕ情報送付パケット５０２は、複合印刷装置２０３を経由すると、応答データ＿ポーリングパケット２＿５０９としてＰＣ名／Ｍｅｎｕ管理ＰＣ２０２に送付される。
【００７９】
ＰＣ名／Ｍｅｎｕ管理ＰＣ２０２では、「更新時刻」が定期的に監視され、一定時間を過ぎたデータがあった場合には、そのクライアントコンピュータがスリープ状態に入ったか又は電源がＯＦＦされたものと判断して、ＤＢ６０１から削除される。ＰＣ名／Ｍｅｎｕ管理ＤＢ６０１から削除されるのは、スリープ状態に入ったか又は電源がＯＦＦされたクライアントコンピュータに関する情報（ＰＣ名やＭｅｎｕ数等）である。
【００８０】
「開始終了位置」は、ＰＣ名／Ｍｅｎｕ管理ＤＢ６０１に格納されたクライアントコンピュータに関する情報のどこからどこまでの情報が複合印刷装置２０３に転送済なのかを示すものである。図示例では、「開始終了位置」に「Ｓｔａｒｔ」が格納された「ＰＣ−ＡＢＣＤＥ」から「Ｅｎｄ」が格納された「ＣＯＭＰＵＴＥＲ−Ａ」までのクライアントコンピュータに関する情報が複合印刷装置２０３に転送される。これにより、複合印刷装置２０３で表示される表示画面は、図３（ａ）に示す表示画面３０１となる。図示例のように、複合印刷装置２０３で一度に表示しきれる分の情報しか保持できない場合は、「Ｓｔａｒｔ」が格納された「ＰＣ−ＡＢＣＤＥ」が表示画面３０１上の一番上位に表示される。そして、「Ｅｎｄ」が格納された「ＣＯＭＰＵＴＥＲ−Ａ」が表示画面３０１上の一番下位に表示される。
【００８１】
表示画面３０１上で、ユーザがメニューを上にスクロールさせて表示されていないＰＣ名を表示させようとする場合、複合印刷装置２０３からＰＣ名／Ｍｅｎｕ管理ＰＣ２０２にＰＣ名／Ｍｅｎｕ情報一覧更新要求１Ｅｖｅｎｔ５１２が送信される。その結果、ＰＣ名／Ｍｅｎｕ管理ＰＣ２０２では、ＰＣ名／Ｍｅｎｕ管理ＤＢ６０１上の開始終了位置における「Ｓｔａｒｔ」と「Ｅｎｄ」の位置が各々１つ下位の位置に移動する。そして、複合印刷装置２０３の操作部２２の表示画面３０１上では、ＰＣ名が表示された欄全体が１行上にずれる。すると最下位の行が空くので、そこに新しく「Ｅｎｄ」がついたデータがＰＣ名／Ｍｅｎｕ管理ＰＣ２０２から複合印刷装置２０３に送信され、表示がなされる。その結果、ＰＣ名が１行上にスクロールされたように表示させることが可能となる。
【００８２】
一方、表示画面３０１上で、ユーザがメニューを下にスクロールさせて表示されていないＰＣ名を表示させようとする場合、複合印刷装置２０３からＰＣ名／Ｍｅｎｕ管理ＰＣ２０２にＰＣ名／Ｍｅｎｕ情報一覧更新要求２Ｅｖｅｎｔ５１３が送信される。その結果、ＰＣ名／Ｍｅｎｕ管理ＰＣ２０２では、ＰＣ名／Ｍｅｎｕ管理ＤＢ６０１上の開始終了位置における「Ｓｔａｒｔ」と「Ｅｎｄ」の位置が各々１つ上位の位置に移動する。そして、複合印刷装置２０３の操作部２２の表示画面３０１上では、ＰＣ名が表示された欄全体が１行下にずれる。すると最上位の行が空くので、そこに新しく「Ｓｔａｒｔ」がついたデータがＰＣ名／Ｍｅｎｕ管理ＰＣ２０２から複合印刷装置２０３に送信され、表示がなされる。その結果、ＰＣ名が１行下にスクロールされたように表示させることが可能となる。
【００８３】
なお、メニューを上下にスクロールさせるためのスイッチ又はキー類については、表示画面３０１上にタッチパネル等で設けても、他の方法で設けてもよい。
【００８４】
図９は、クライアントコンピュータ上で実行されるスキャナドライバのインストール処理を示すフローチャートである。なお、以下に各図で説明する処理は、クライアントコンピュータ、複合印刷装置、及びＰＣ名／Ｍｅｎｕ管理ＰＣで個別に実行される処理である。クライアントコンピュータは２０４〜２０７のどの装置であってもよい。システム全体での処理の流れについては図２４以降にて説明する。
【００８５】
図７において、ステップＳ７０２では、ＣＰＵ１は、ネットワーク２０１上に存在する各種デバイス（例えば、複合印刷装置２０３等）に対してＭＩＢ値の問い合わせを行い、予め決められたＭＩＢ値で応答するデバイスを待つ。次に、ステップＳ７０３では、ＣＰＵ１は、予め決められた所定のＭＩＢ値で応答してきたデバイスが見つかったか否かを判定する。この判定の結果、デバイスが見つかった場合は、当該デバイスがスキャナドライバのインストールが可能なデバイスであると判断して、ステップＳ７０４に進む。一方、デバイスが見つからなかった場合、スキャナドライバのインストールが可能なデバイスが存在しないと判断して、本処理を終了する。
【００８６】
ステップＳ７０４では、ＣＰＵ１は、見つかったデバイスのＩＰアドレスに問い合わせを行い、ＩＰアドレスのポートを作成して、そのポートを利用してスキャナドライバをインストールし、本処理を終了する。
【００８７】
図１０は、クライアントコンピュータ上で実行されるスキャナドライバのポーリング送信処理を示すフローチャートである。なお、本処理は、インストール時に不図示のＯＳに登録され、ＯＳが再起動する度に自動的に実行される。また、図９に示すスキャナドライバのインストール処理が正常に終了しているものとする。
【００８８】
図１０において、ステップＳ８０２では、ＣＰＵ１は、ポーリング間隔用タイマーをスタートさせる。これは、クライアントコンピュータから複合印刷装置２０３に対して、定期的に状態問い合わせを行うポーリングパケットを送出するためである。このポーリングパケットを送出する間隔をＴ秒間とする。
【００８９】
ステップＳ８０３では、ＣＰＵ１は、Ｔ秒毎にポーリングパケットを送出するサブタスクを起動する。サブタスクは他の処理から独立して動作するので、図１０の処理が終了しても稼働状態となる。ステップＳ８０４では、クライアントコンピュータ上で動作するスキャナドライバがなんらかの処理要求を待つ。この処理待ち状態時に実行される処理を図１１に示す。一度、この処理要求待ち状態に入ると、その処理はそのままでは終了しない。終了させたい場合は、クライアントコンピュータの電源を切るかスキャナドライバをアンインストールする。
【００９０】
図１１は、図１０のステップＳ８０４で実行されるスキャナドライバの処理要求待ちの処理の詳細を示すフローチャートである。
【００９１】
ステップＳ９０２では、スキャナドライバは処理要求を待ち受ける。何らかの処理要求を受け付けると、処理要求がプルスキャン（Ｐｕｌｌ  Ｓｃａｎ）要求か否かを判断する（ステップＳ９０３）。プルスキャン要求であった場合にはステップＳ９０７に進む一方、そうでない場合はステップＳ９０４に進む。プルスキャン要求は、クライアントコンピュータ上で動作するアプリケーションソフトからスキャナドライバが呼び出された場合に発生する。
【００９２】
ステップＳ９０４では、要求が状態問い合わせパケット５０１やＰＣ名／Ｍｅｎｕ情報送付パケット５０２に対するＯＫパケット５０３であったか否かを判断する。ＯＫパケット５０３であった場合にはステップＳ９０８に進む一方、そうでない場合はステップＳ９０５に進む。
【００９３】
ステップＳ９０５では、要求が状態問い合わせパケット５０１やＰＣ名／Ｍｅｎｕ情報送付パケット５０２に対するＰＣ名／Ｍｅｎｕ情報要求パケット５０５であったか否かを判断する。ＰＣ名／Ｍｅｎｕ情報要求パケット５０５であった場合にはステップＳ９０９に進む一方、そうでない場合はステップＳ９０６に進む。
【００９４】
図４（ｃ）の表示画面４２０上でＰＣ名やボタン名称（＝Ｍｅｎｕ名）が変更された場合、その情報を複合印刷装置２０３に伝えないといけないので、スップＳ９０６では、そのような更新が発生したか否かを判断する。更新が発生した場合にはステップＳ９０９に進む一方、そうでない場合にはステップＳ９１０に進む。
【００９５】
ステップＳ９１０では、要求が状態問い合わせパケット５０１やＰＣ名／Ｍｅｎｕ情報送付パケット５０２に対する応答パケットとして、擬似プッシュスキャン（Ｐｕｓｈ  Ｓｃａｎ）実施の意味合いのイベント発生パケット５０６であったか否かを判断する。イベント発生パケット５０６であった場合にはステップＳ９１１に進む。そうでない場合にはスキャナドライバで処理すべき内容ではないので、次の要求を受けるためにステップＳ９０２に戻る。
【００９６】
ステップＳ９０７では、図４（ａ）の初期画面４０１をクライアントコンピュータのＣＲＴ１０に表示し、通常のプルスキャンを行う。すなわち、不図示のポーリングパケットをクライアントコンピュータから複合印刷装置２０３に対して発行して、プルスキャン処理を実施する。終了後には次の要求を受けるためにステップＳ９０２に戻る。
【００９７】
ステップＳ９０８では、ＯＫパケットが帰ってきたということをクライアントコンピュータ内のＲＡＭ２に記憶して次の要求を受けるためにステップＳ９０２に戻る。
【００９８】
ステップＳ９０９では、ＰＣ名／Ｍｅｎｕ情報送付パケット５０２を複合印刷装置２０３に対して送出する。終了後には次の要求を受けるためにステップＳ９０２に戻る。
【００９９】
ステップＳ９１１では、擬似プッシュスキャン実施のイベント発生パケットに対する処理として、擬似プッシュスキャン処理を実施する。擬似プッシュスキャンとは、複合印刷装置２０３からの指示に従ってクライアントコンピュータがプルスキャンを実施することを意味する。
【０１００】
イベント発生パケット５０６にはメニュー番号が格納されている。この番号は初期画面４０１の各ボタンの左端を１として右に進む毎に１つ増える値であってもよいし、逆に右端を１として左に進む毎に１つ増える値であってもよい。そのルールは複合印刷装置２０３とスキャナドライバとの間であわせておけば問題はない。このメニュー番号に対応した処理を自動的に起動し、ＯＫボタン４１７も自動で押下したことにしてスキャン処理を実施する。なお、表示画面４１０を表示させるか否かは本発明では問わない。どちらの場合でも、そのボタンに対応した処理が起動されるように処理を行う。終了後には次の要求を受けるためにステップＳ９０２に戻る。
【０１０１】
以上がクライアントコンピュータ上で稼動しているスキャナドライバによる処理である。
【０１０２】
図１２は、電源ＯＮ後に複合印刷装置２０３で実行される処理を示すフローチャートである。
【０１０３】
装置の電源がＯＮされると、ＣＰＵ１２は、メモリの初期化やプリンタエンジン、スキャンエンジンの初期化を行い、装置を利用可能な状態にする（ステップＳ１００２）。次に、ステップＳ１００３では、ＣＰＵ１２は、スリープタイマーをスタートし、変数ＳＴを初期化（値を０にする）する。このスリープタイマーは１秒経過する毎に変数ＳＴの値を１づつ増やして行く。
【０１０４】
ステップＳ１００４では、ＣＰＵ１２は、ポーリングパケット到達時間監視用変数Ｎを６０秒に設定する。ポーリングパケット到達時間監視用変数Ｎは、Ｎ秒間にポーリングパケットを１度も複合印刷装置２０３が受信しなかった場合、そのクライアントコンピュータをＰＣ名／Ｍｅｎｕ管理ＤＢ６０１から削除するための変数である。図示例では、初期値は６０秒である。スリープ状態に応じてその復帰時に変数Ｎの値が変化する。
【０１０５】
ステップＳ１００５では、ＣＰＵ１２は、ＰＣ名／Ｍｅｎｕ管理ＰＣ２０２が稼動中か否かの確認を行う。稼働中か否かの判定は、図２４に示すように、複合印刷装置２０３から送信したポーリング受信イベント５１１に対して、所定時間内にポーリング転送要求５０７を受信したか否かにより行う。ポーリング転送要求５０７の受信については監視手段等が実行する。ステップＳ１００５の判定の結果、稼働中である場合はステップＳ１００６に進み、ＰＣ名／Ｍｅｎｕ管理ＰＣ２０２でＰＣ名やＭｅｎｕ情報を管理してもらうように動作させる。一方、稼働中でない場合はステップＳ１００７に進み、複合印刷装置２０３上で保持できるだけのＰＣ名／Ｍｅｎｕ情報の処理を行う。
【０１０６】
ステップＳ１００６では、ＣＰＵ１２は、稼動ＦＬＧ（フラグ）に「Ｙｅｓ」をセットし、ＰＣ名／Ｍｅｎｕ管理ＰＣ２０２が稼働中であることが分かるようにする。
【０１０７】
ステップＳ１００７では、ＣＰＵ１２は、稼動フラグに「Ｎｏ」をセットし、ＰＣ名／Ｍｅｎｕ管理ＰＣ２０２が稼働していないことが分かるようにする。次に、ステップＳ１００８では、ＣＰＵ１２は、中断フラグに「ＮＯ」をセットする。この中断フラグは複合印刷装置２０３がスリープ状態に入ったか否かを示すフラグであり、「Ｙｅｓ」の場合はスリープ状態に入っていることを示し、「ＮＯ」の場合はスリープ状態に入っていないことを示す。
【０１０８】
ステップＳ１００９では、ＣＰＵ１２は、ポーリング監視Ｔａｓｋを開始する。ポーリング監視Ｔａｓｋの詳細な処理については図２１で説明する。ステップＳ１０１０では、ＣＰＵ１２は、装置の要求待ちを行う。要求待ちの詳細な処理については図１３及び図１４で説明する。
【０１０９】
以上説明した要求待ちの処理は装置の電源がＯＦＦされるまで続く。
【０１１０】
図１３及び図１４は、図１２のステップＳ１０１０で実行される要求待ちの処理を示すフローチャートである。
【０１１１】
ステップＳ１１０２では、ＣＰＵ１２は、装置に対する各種要求を受信する。次に、ステップＳ１１０３では、ＣＰＵ１２は、要求が装置の操作部２２を使ったＣｏｐｙやＦａｘの処理であるか否かを判断する。ＣｏｐｙやＦａｘの処理である場合、ステップＳ１１０４に進む。そうでない場合はステップＳ１１０６に進む。
【０１１２】
ステップＳ１１０６では、ＣＰＵ１２は、要求が装置の操作部２２を使った擬似プッシュスキャン処理であるか否かを判断する。擬似プッシュスキャン処理の場合はステップＳ１１０７に進む。そうでない場合はステップＳ１１０９に進む。
【０１１３】
ステップＳ１１０９では、ＣＰＵ１２は、要求がクライアントコンピュータからの印刷データ受信かまたはプルスキャンの要求であるか否かを判断する。印刷データ受信またはプルスキャン要求である場合はステップＳ１１１０に進む。そうでない場合はステップＳ１１１２に進む。
【０１１４】
ステップＳ１１１２では、ＣＰＵ１２は、要求がポーリング受信（クライアントコンピュータからの状態問い合わせパケット５０１やＰＣ名／Ｍｅｎｕ情報送付パケット５０２の受信）であるか否かを判断する。ポーリング受信である場合には、ステップＳ１１１３に進む。そうでない場合はステップＳ１１１９に進む。
【０１１５】
ステップＳ１１１９では、ＣＰＵ１２は、要求がＰＣ名／Ｍｅｎｕ管理ＰＣ２０２からのポーリングパケット転送要求５０７であるか否かを判断する。ポーリングパケット転送要求５０７である場合にはステップＳ１１２０に進む。そうでない場合はステップＳ１１２２に進む。
【０１１６】
ステップＳ１１２２では、ＣＰＵ１２は、要求がＰＣ名／Ｍｅｎｕ管理ＰＣ２０２からのＰＣ名／Ｍｅｎｕ情報送付パケット５１０の受信であるか否かを判断する。ＰＣ名／Ｍｅｎｕ情報送付パケット５１０の受信である場合にはステップＳ１１２３に進む。そうでない場合はステップＳ１１２５に進む。
【０１１７】
ステップＳ１１２５では、ＣＰＵ１２は、要求が装置の操作部２２に表示された表示画面３０１におけるメニューの上スクロール指示であるか否かを判断する。そうであればステップＳ１１２６に進む。そうでない場合、ステップＳ１１２５に進む。
【０１１８】
ステップＳ１１３０では、ＣＰＵ１２は、要求が装置の操作部２２に表示された表示画面３０１におけるメニューの下スクロール指示であるか否かを判断する。そうであればステップＳ１１３１に進む。そうでない場合、ステップＳ１１３５に進む。
【０１１９】
ステップＳ１１３５では、ＣＰＵ１２は、要求が変数ＳＴとスリープ（Ｓｌｅｅｐ）設定時間の間で「ＳＴ＞Ｓｌｅｅｐ設定時間」の関係にあるか否かを判断する。「ＳＴ＞Ｓｌｅｅｐ設定時間」である場合はステップＳ１１３６に進む。そうでない場合はステップＳ１１０２に戻る。変数ＳＴは、図１２のステップＳ１００３で説明した通り、スリープタイマーで１秒経過する毎に値が１ずつ増えてゆく。スリープ設定時間は、スリープ状態に入るまでの間隔を設定した変数であり、複合印刷装置２０３で管理される。「ＳＴ＞Ｓｌｅｅｐ設定時間」になるということはスリープ設定時間の間、スリープ状態への移行を阻害するような事象が発生しなかったためにスリープ状態に移行できるタイミングになったということを意味する。
【０１２０】
ステップＳ１１０４では、要求が装置の操作部２２を使ったＣｏｐｙやＦａｘ要求であり、それがスリープ状態への移行を阻害する事象であることから、ＣＰＵ１２は、スリープタイマーである変数ＳＴを初期化（ＳＴ←０）する。次に、ステップＳ１１０５では、要求動作である、ＣｏｐｙやＦａｘの処理を実施する。そして、ステップＳ１１０２に戻り、次の要求受信処理に入る。
【０１２１】
ここでスリープ状態に移行することを阻害する事象と阻害しない事象について説明する。
【０１２２】
阻害する事象は、複合印刷装置２０３内のＣＰＵ１２を使う作業である。一方、阻害しない事象とは複合印刷装置２０３内のＣＰＵ１２を使わなくても対応可能な事象である。複合印刷装置２０３の入出力部１８には代理応答システムというものがあり、特定のパターンの入力パケットであれば、ＣＰＵ１２の力を借りず、特定のパターンの応答パケットを返答することが可能である。そのようなパケットの受信はスリープ状態に移行することを阻害する事象とはならない。
【０１２３】
ステップＳ１１０７では、要求が装置の操作部２２を使った擬似プッシュスキャン要求であり、それがスリープ状態への移行を阻害する事象であることから、ＣＰＵ１２は、スリープタイマーである変数ＳＴを初期化する。次に、ステップＳ１１０８では、要求作業である、擬似プッシュスキャン処理を実施する。具体的には、クライアントコンピュータからの状態問い合わせパケット５０１もしくはＰＣ名／Ｍｅｎｕ情報送付パケット５０２への応答パケットとしてイベント発生パケット５０６をクライアントコンピューから返答する。そして、ステップＳ１１０２に戻り、次の要求受信処理に入る。
【０１２４】
ステップＳ１１１０では、要求が印刷データ受信又はプルスキャン要求であり、それらがスリープ状態への移行を阻害する事象であることから、ＣＰＵ１２は、スリープタイマーである変数ＳＴを初期化する。次に、ステップＳ１１１１では、要求作業である、クライアントコンピュータから受信した印刷データの印刷処理又はプルスキャン処理を実施する。そして、ステップＳ１１０２に戻り、次の要求受信処理に入る。印刷処理は、クライアントコンピュータ上にインストールされた不図示のプリンタドライバから送付される印刷データを解釈して、印刷部１７で印刷する処理である。プルスキャン処理は、クライアントコンピュータにインストールされたスキャナドライバから送付される不図示のポーリングパケットによりスキャン要求を処理する。スキャンした結果は、不図示の応答パケットで複合印刷装置２０３からクライアントコンピュータに対して返送される。
【０１２５】
ステップＳ１１１３では、ＣＰＵ１２は、要求が状態問い合わせパケット５０１かを判断する。状態問い合わせパケット５０１である場合はステップＳ１１１５に進む一方、ＰＣ名／Ｍｅｎｕ情報送付パケット５０２であった場合にはステップＳ１１１４に進む。ＰＣ名／Ｍｅｎｕ情報送付パケット５０２を受信することがスリープ状態への移行を阻害する事象なので、ステップＳ１１１４では、ＣＰＵ１２は、スリープタイマーである変数ＳＴを初期化する。次に、ステップＳ１１１５では、複合印刷装置２０３側での処理が正常に終了したことを意味するＯＫパケット５０３を返送する。次に、ステップＳ１１１６では、ＣＰＵ１２は、稼動フラグの状態を判断する。ＰＣ名／Ｍｅｎｕ管理ＰＣ２０２が稼動していて稼動フラグが「Ｙｅｓ」の場合はステップＳ１１１７に進む。そうでない場合はステップＳ１１１８に進む。
【０１２６】
ステップＳ１１１７では、ＣＰＵ１２は、状態問い合わせパケット５０１もしくはＰＣ名／Ｍｅｎｕ情報送付パケット５０２を受信したことを示すポーリング受信Ｅｖｅｎｔ５１１をＰＣ名／Ｍｅｎｕ管理ＰＣ２０２に送信する。そして、ステップＳ１１０２に戻り、次の要求受信処理に入る。
【０１２７】
ステップＳ１１１８では、ＣＰＵ１２は、ＰＣ名／Ｍｅｎｕ管理ＰＣ２０２が稼動していないときの状態問い合わせパケット５０１又はＰＣ名／Ｍｅｎｕ情報送付パケット５０２の受信に応じた処理を行う。状態問い合わせパケット５０１であれば特に何もしない。ＰＣ名／Ｍｅｎｕ情報送付パケット５０２であった場合には、複合印刷装置２０３のＲＡＭ１９上で管理しているＰＣ名／Ｍｅｎｕ情報ＤＢ６０１の更新処理を行う。複合印刷装置２０３のＲＡＭ１９上で管理できる数には上限があるので、その数に達していない場合にはＤＢに情報を追加する。上限数に達していた場合には単純に無視する。
【０１２８】
ステップＳ１１２０では、要求がＰＣ名／Ｍｅｎｕ管理ＰＣ２０２からのポーリングパケット転送要求であった場合、それがスリープ状態への移行を阻害する事象なので、ＣＰＵ１２は、スリープタイマーである変数ＳＴを初期化する。次に、ステップＳ１１２１では、ＣＰＵ１２は、要求に従いポーリングパケットを転送する。この処理に来る前の時点で状態問い合わせパケット５０１を受信していれば、応答データ＿ポーリングパケット１＿５０８をＰＣ名／Ｍｅｎｕ管理ＰＣ２０２に転送する。一方、この処理に来る前の時点でＰＣ名／Ｍｅｎｕ情報送付パケット５０２を受信していれば、応答データ＿ポーリングパケット２＿５０９をＰＣ名／Ｍｅｎｕ管理ＰＣ２０２に転送する。そして、ステップＳ１１０２に戻り、次の要求受信処理に入る。
【０１２９】
ステップＳ１１２３では、要求がＰＣ名／Ｍｅｎｕ管理ＰＣ２０２からのＰＣ名／Ｍｅｎｕ情報送付パケット５１０である場合、それがスリープ状態への移行を阻害する事象なので、ＣＰＵ１２は、スリープタイマーである変数ＳＴを初期化する。次に、ステップＳ１１２４では、ＣＰＵ１２は、要求に従って複合印刷装置２０３のＲＡＭ１９に格納された、表示画面３０１や３０２で表示すべきＰＣ名／Ｍｅｎｕ情報の更新を行う。
【０１３０】
ステップＳ１１２６では、要求が表示画面３０１上でのメニューの上スクロール指示であり、それはスリープ状態への移行を阻害する事象なので、ＣＰＵ１２は、スリープタイマーである変数ＳＴを初期化する。次に、ステップＳ１１２７では、ＣＰＵ１２は、稼動フラグの状態を判断する。ＰＣ名／Ｍｅｎｕ管理ＰＣ２０２が稼動していて稼動フラグが「Ｙｅｓ」の場合はステップＳ１１２９に進む。そうでない場合はステップＳ１１２８に進む。
【０１３１】
ステップＳ１１２８では、ＰＣ名／Ｍｅｎｕ管理ＰＣ２０２が稼動していないので、この時点で複合印刷装置２０３のＲＡＭ１９に格納された、表示画面３０１や３０２で表示すべきＰＣ名／Ｍｅｎｕ情報の更新を行う。そして、ステップＳ１１０２に戻り、次の要求受信処理に入る。
【０１３２】
ステップＳ１１２９では、ＰＣ名／Ｍｅｎｕ情報一覧更新要求１Ｅｖｅｎｔ５１２をＰＣ名／Ｍｅｎｕ管理ＰＣ２０２に対して発行する。そして、ステップＳ１１０２に戻り次の要求受信処理に入る。
【０１３３】
ステップＳ１１３１では、要求が表示画面３０１上でのメニューの下スクロール指示であり、それはスリープ状態への移行を阻害する事象なので、ＣＰＵ１２は、スリープタイマーである変数ＳＴを初期化する。次に、ステップＳ１１３２では、ＣＰＵ１２は、稼動フラグの状態を判断する。ＰＣ名／Ｍｅｎｕ管理ＰＣ２０２が稼動していて稼動フラグが「Ｙｅｓ」の場合はステップＳ１１３４に進む。そうでない場合はステップＳ１１３３に進む。
【０１３４】
ステップＳ１１３３では、ＰＣ名／Ｍｅｎｕ管理ＰＣ２０２が稼動していないので、この時点で複合印刷装置２０３のＲＡＭ１９に格納された、表示画面３０１や３０２で表示すべきＰＣ名／Ｍｅｎｕ情報の更新を行う。そして、ステップＳ１１０２に戻り、次の要求受信処理に入る。
【０１３５】
ステップＳ１１３４では、ＰＣ名／Ｍｅｎｕ情報一覧更新要求２Ｅｖｅｎｔ５１３をＰＣ名／Ｍｅｎｕ管理ＰＣ２０２に対して発行する。そして、ステップＳ１１０２に戻り、次の要求受信処理に入る。
【０１３６】
ステップＳ１１３６では、ＣＰＵ１２は、稼動フラグの状態を判断する。ＰＣ名／Ｍｅｎｕ管理ＰＣ２０２が稼動していて稼動フラグが「Ｙｅｓ」の場合はステップＳ１１３７に進む。そうでない場合はステップＳ１１３８に進む。
【０１３７】
ステップＳ１１３７では、ＰＣ名／Ｍｅｎｕ管理ＰＣ２０２が稼動しているので、ＰＣ名／Ｍｅｎｕ管理ＰＣ２０２に対して状態監視中断Ｅｖｅｎｔ５１４を発行する。そして、ステップＳ１１３９に進む。
【０１３８】
ステップＳ１１３８では、ＰＣ名／Ｍｅｎｕ管理ＰＣ２０２が稼動していないので、図１９に示す状態監視中断Ｅｖｅｎｔ処理を複合印刷装置２０３のＲＡＭ１９上で実施する。そして、ステップＳ１１３９に進む。
【０１３９】
ステップＳ１１３９では、複合印刷装置２０３をスリープ状態に遷移させる。ステップＳ１１３７、Ｓ１１３８の後は、いずれも複合印刷装置２０３がスリープ状態に遷移するので、ステップＳ１１３７、Ｓ１１３８のいずれでも、スリープ状態へ遷移するための処理が行われる。スリープ状態中の処理については図１５で説明する。スリープ状態が解除された後はステップＳ１１０２に戻る。
【０１４０】
図１５は、複合印刷装置２０３上でスリープ状態中に実行される処理を示すフローチャートである。複合印刷装置２０３は、予めスリープ状態に遷移しているものとする。なお、本処理では、複合印刷装置２０３がスリープ状態にあることから処理の主体は、後述する代理応答システムによって行われる。
【０１４１】
ステップＳ１２０２では、複合印刷装置２０３はスリープ状態にあるが各種要求を受信する。スリープ時であっても、複合印刷装置２０３の操作部２２への操作やクライアントコンピュータからの状態問い合わせパケット５０１やＰＣ名／Ｍｅｎｕ情報送付パケット５０２の受信は可能で、その内容によってはスリープ状態が解除されることになる。
【０１４２】
ステップＳ１２０３では、要求がクライアントコンピュータから状態問い合わせパケット５０１やＰＣ名／Ｍｅｎｕ情報送付パケット５０２の受信であるか否か判断する。状態問い合わせパケット５０１やＰＣ名／Ｍｅｎｕ情報送付パケット５０２の受信であればステップＳ１２０４に進む。そうでない場合ステップＳ１２０７に進む。
【０１４３】
ステップＳ１２０４では、クライアントコンピュータから受信したパケットが状態問い合わせパケット５０１であるか否かを判断する。状態問い合わせパケット５０１である場合はステップＳ１２０５に進む。そうでない場合にはステップＳ１２０６に進む。
【０１４４】
ステップＳ１２０５では、ＯＫパケット５０３を代理応答システムにて返答する。代理応答システムとは、スリープ中に受信パケットの処理をしてくれる簡易的なシステムであり、特定のパケットパターンの場合には、特定の応答を自動で返答してくれるシステムである。この処理は複合印刷装置２０３のＣＰＵ１２を使わないで行うことが可能なので、複合印刷装置２０３をスリープ状態という低消費電力の状態を維持したままで行うことが可能となっている。代理応答システムにて返答した後には再びステップＳ１２０２に戻り、次のスリープ時の要求受付処理を行う。
【０１４５】
ステップＳ１２０６では、スリープ状態を解除する。ＰＣ名／Ｍｅｎｕ情報送付パケット５０２を受信した場合、該ＰＣ名／Ｍｅｎｕ情報送付パケット５０２に対応する処理の実行にはＣＰＵ１２を使用する必要がある。そこで、複合印刷装置２０３をスリープ状態から通常状態に復帰させる。
【０１４６】
ステップＳ１２０７では、受信したものがＰＣ名／Ｍｅｎｕ情報送付パケット５０２であり、特定のパターンに収めることができないため、ＯＫパケット５０３を複合印刷装置２０３のＣＰＵ１２を使って返答する。
【０１４７】
ステップＳ１２０８では、複合印刷装置２０３の操作部２２から何か操作があったか否か判断する。操作があればステップＳ１２１０に進む。操作が無ければステップＳ１２０９に進む。
【０１４８】
ステップＳ１２０９では、クライアントコンピュータから印刷データを受信していないか否か判断する。印刷データを受信していれば、それを印刷する必要があるので、ステップＳ１２１０に進む。一方、印刷データを受信していなければ、何もすることが無いのでステップＳ１２０２に戻り、次のスリープ時の要求受付処理を行う。
【０１４９】
ステップＳ１２１０では、スリープ状態を解除する。複合印刷装置２０３の操作部２２で受け付けた何らかの操作や印刷データの受信は、いずれもＣＰＵ１２を使わないと対応できない処理なので、複合印刷装置２０３をスリープ状態から通常状態に復帰させる。
【０１５０】
ステップＳ１２１１では、スリープ状態から通常状態に復帰したので、ＣＰＵ１２は、スリープタイマー用変数ＳＴを初期化する。次に、ステップＳ１２１２では、ＰＣ名／Ｍｅｎｕ管理ＰＣ２０２が稼働中であるか否かを稼動フラグを使って判断する。稼動フラグが「Ｙｅｓ」の場合、ＰＣ名／Ｍｅｎｕ管理ＰＣ２０２が稼働中なのでステップＳ１２１３に進む。一方、稼動フラグが「Ｎｏ」の場合、ＰＣ名／Ｍｅｎｕ管理ＰＣ２０２が稼働していないのでステップＳ１２１４に進む。
【０１５１】
ステップＳ１２１３では、ＰＣ名／Ｍｅｎｕ管理ＰＣ２０２が稼働中なので状態監視再開Ｅｖｅｎｔ５１５を複合印刷装置２０３からＰＣ名／Ｍｅｎｕ管理ＰＣ２０２に対して発行する。
【０１５２】
ステップＳ１２１４では、ＰＣ名／Ｍｅｎｕ管理ＰＣ２０２が稼働していないので、複合印刷装置２０３のＲＡＭ１９上で動作している状態監視再開Ｅｖｅｎｔ処理（図２０または図２２）を行う。
【０１５３】
以上が複合印刷装置２０３上で稼動している装置制御システムによる処理である。
【０１５４】
図１６は、ＰＣ名／Ｍｅｎｕ管理ＰＣ２０２で実行されるＭｅｎｕ管理システムのインストール処理を示すフローチャートである。
【０１５５】
ステップＳ１３０２では、Ｍｅｎｕ管理システムを複合印刷装置２０３内の外部メモリ１４にコピーする。Ｍｅｎｕ管理システムも複合印刷装置２０３から見ればドライバの一種として扱われるので、動作させるのはＯＳに組み込む必要がある。
【０１５６】
ステップＳ１３０３では、ＵＳＢケーブル２１３でＰＣ名／Ｍｅｎｕ管理ＰＣ２０２と複合印刷装置２０３が接続される。
【０１５７】
次に、ステップＳ１３０４では、ＰＣ名／Ｍｅｎｕ管理ＰＣ２０２と複合印刷装置２０３との間でＰ＆Ｐが発生し、通信用のＵＳＢポート（Ｐｏｒｔ）がＯＳによって作成される。そして、そのポートを使って、複合印刷装置２０３内の外部メモリ１４に記憶されたＭｅｎｕ管理システムがＰＣ名／Ｍｅｎｕ管理ＰＣ２０２内のＯＳに組み込まれる。
【０１５８】
図１７は、ＰＣ名／Ｍｅｎｕ管理ＰＣ２０２で実行されるＭｅｎｕ管理システムの起動後の処理を示すフローチャートである。なお、本処理はインストール時に不図示のＯＳに登録され、ＯＳが再起動する度に自動的に実行される。
【０１５９】
図１７において、ステップＳ１４０２では、ＣＰＵ１は、ポーリングパケット到達時間監視用変数Ｎを６０秒に設定する。Ｎ＝６０を設定した場合、６０秒間にポーリング受信Ｅｖｅｎｔが１つも複合印刷装置２０３から受信できなかった場合に、該当するクライアントコンピュータに関する情報をＰＣ名／Ｍｅｎｕ情報ＤＢ６０１から削除するという意味になる。
【０１６０】
ステップＳ１４０３では、ＣＰＵ１は、中断フラグを「ＮＯ」にセットする。中断フラグが「ＹＥＳ」の場合は、複合印刷装置２０３がスリープ状態に遷移したことを意味し、「ＮＯ」の場合は、複合印刷装置２０３がスリープ状態に遷移せずに稼動中という意味になる。
【０１６１】
ステップＳ１４０４では、ＣＰＵ１は、ポーリング監視Ｔａｓｋを開始する。ポーリング監視Ｔａｓｋは、他の処理から独立して動作するので、図１７の処理が終了しても稼働状態になる。次に、ステップＳ１４０５では、ＣＰＵ１は要求待ちを行う。具体的な動作については図１８で説明する。
【０１６２】
図１８は、ＰＣ名／Ｍｅｎｕ管理ＰＣ２０２で実行されるＭｅｎｕ管理システムの要求待ちの処理を示すフローチャートである。
【０１６３】
ステップＳ１５０２では、ＣＰＵ１は、Ｍｅｎｕ管理システムに対する各種要求を受信する。次に、ステップＳ１５０３では、ＣＰＵ１は、要求が複合印刷装置２０３からのポーリング受信Ｅｖｅｎｔ５１１か否かを判断する。ポーリング受信Ｅｖｅｎｔ５１１であればステップＳ１５０７に進む。そうでない場合は、ステップＳ１５０４に進む。
【０１６４】
ステップＳ１５０４では、ＣＰＵ１は、要求が複合印刷装置２０３からのＰＣ名／Ｍｅｎｕ情報一覧更新要求１Ｅｖｅｎｔ５１２か否かを判断する。ＰＣ名／Ｍｅｎｕ情報一覧更新要求１Ｅｖｅｎｔ５１２である場合はステップＳ１５０８に進む。そうでない場合は、ステップＳ１５０５に進む。
【０１６５】
ステップＳ１５０５では、要求が複合印刷装置２０３からのＰＣ名／Ｍｅｎｕ情報一覧更新要求２Ｅｖｅｎｔ５１３か否かを判断する。ＰＣ名／Ｍｅｎｕ情報一覧更新要求２Ｅｖｅｎｔ５１３である場合はステップＳ１５０９に進む。そうでない場合は、ステップＳ１５０６に進む。
【０１６６】
ステップＳ１５０６では、要求が複合印刷装置２０３からの状態監視中断Ｅｖｅｎｔ５１４か否か判断する。状態監視中断Ｅｖｅｎｔ５１４である場合はステップＳ１５１０に進む。そうでない場合は、ステップＳ１５１１に進む。複合印刷装置２０３は、外部の管理ＰＣ２０２とＰＣ名やＭｅｎｕ文字列のやり取りを頻繁に行っているとスリープ状態に入れなくなるが、スリープ時には管理ＰＣ２０２での監視を中断する。これにより、複合印刷装置２０３がスリープに入るのを妨げることなく、外部のコンピュータを利用することが可能となる。
【０１６７】
ステップＳ１５１１では、要求が複合印刷装置２０３からの状態監視再開Ｅｖｅｎｔ５１５か否か判断する。状態監視再開Ｅｖｅｎｔ５１５である場合はステップＳ１５１４に進む。そうでない場合は、ステップＳ１５１２に進む。
【０１６８】
ステップＳ１５１２では、要求が、複合印刷装置２０３からのポーリングパケット転送要求５０７の応答である応答データ＿ポーリングパケット１＿５０８か否かを判断する。応答データ＿ポーリングパケット１＿５０８である場合は、ステップＳ１５１５に進む一方、そうでない場合は、ステップＳ１５１３に進む。
【０１６９】
ステップＳ１５１３では、要求が、複合印刷装置２０３からのポーリングパケット転送要求５０７の応答である応答データ＿ポーリングパケット２＿５０９か否かを判断する。応答データ＿ポーリングパケット２＿５０９である場合は、ステップＳ１５１６に進む一方、そうでない場合は、ステップＳ１５０２に戻り、Ｍｅｎｕ管理システムに対する各種要求の受信を行う。
【０１７０】
ステップＳ１５０７では、受信したポーリング受信Ｅｖｅｎｔ５１１に対応する処理を行う。このイベントは、複合印刷装置２０３がクライアントコンピュータから状態問い合わせパケット５０１やＰＣ名／Ｍｅｎｕ情報送付パケット５０２を受けたときに発行される。本ステップは第１の監視手段または第２の監視手段の一例である。各パケットは、そのままＰＣ名／Ｍｅｎｕ管理ＰＣ２０２に転送される。ＰＣ名／Ｍｅｎｕ管理ＰＣ２０２では、このイベントを受けた時点で、複合印刷装置２０３にそのパケット情報を横流しするように依頼する意味でポーリングパケット転送要求５０７を複合印刷装置２０３に対して発行する。そして、ステップＳ１５０２に戻り、Ｍｅｎｕ管理システム対する各種要求の受信を行う。
【０１７１】
ステップＳ１５０８では、受信したＰＣ名／Ｍｅｎｕ情報一覧更新要求１Ｅｖｅｎｔ５１２に対応する処理を行う。このイベントは、複合印刷装置２０３の操作部２２に表示された表示画面３０１上でメニューを上方向にスクロールさせたいという指示がなされた場合、複合印刷装置２０３から発行される。このイベントを受けたとき、ＰＣ名／Ｍｅｎｕ管理ＰＣ２０２では、ＰＣ名／Ｍｅｎｕ情報ＤＢ６０１を参照し、「開始終了位置」に「Ｓｔａｒｔ」と「Ｅｎｄ」の付いている場所を探し出す。ＤＢ６０１に登録されている総データ数が一度に表示画面３０１に表示できる数以下であれば、何もせずに本処理を終了する。ＤＢ６０１に登録されている総データ数が一度に表示画面３０１に表示できる数以上であるときは、次の処理を行う。
【０１７２】
まず、「Ｓｔａｒｔ」と「Ｅｎｄ」の付いているデータをそれぞれ１つ下のデータに移動させる。次いで、新しく「Ｅｎｄ」の付いたデータをＰＣ名／Ｍｅｎｕ情報送付パケット５１０にのせて、複合印刷装置２０３に送信する。このとき、複合印刷装置２０３側では、ＲＡＭ１９内で最上位にあるデータを消去し、それ以下を順次１つずつ上位に繰り上げ、最下位を空けた状態で待機する。受信したＰＣ名／Ｍｅｎｕ情報送付パケット５１０に付加された、「Ｅｎｄ」の付いたデータは、空けた状態にある最下位に組み込まれて、該データのＰＣ名が表示画面３０１に表示される。その後、ステップＳ１５０２に戻り、Ｍｅｎｕ管理システム対する各種要求の受信を行う。
【０１７３】
ステップＳ１５０９では、受信したＰＣ名／Ｍｅｎｕ情報一覧更新要求２Ｅｖｅｎｔ５１３に対応する処理を行う。このイベントは、複合印刷装置２０３で操作部２２に表示された表示画面３０１上でメニューを下方向にスクロールさせたいという指示がなされた場合、複合印刷装置２０３から発行される。このイベントを受けたとき、ＰＣ名／Ｍｅｎｕ管理ＰＣ２０２では、ＰＣ名／Ｍｅｎｕ情報ＤＢ６０１を参照し、「開始終了位置」に「Ｓｔａｒｔ」と「Ｅｎｄ」の付いている場所を探し出す。ＤＢ６０１に登録されている総データ数が一度に表示画面３０１に表示できる数以下であれば、何もせずに本処理を終了する。ＤＢ６０１に登録されている総データ数が一度に表示画面３０１に表示できる数以上であるときは、次の処理を行う。
【０１７４】
まず、「Ｓｔａｒｔ」と「Ｅｎｄ」の付いているデータをそれぞれ１つ上のデータに移動させる。次いで、新しく「Ｓｔａｒｔ」の付いたデータをＰＣ名／Ｍｅｎｕ情報送付パケット５１０にのせて、複合印刷装置２０３に送信する。このとき、複合印刷装置２０３側では、ＲＡＭ１９内で最下位にあるデータを消去し、それ以下を順次１つずつ下位に繰り下げ、最上位を空けた状態で待機する。受信したＰＣ名／Ｍｅｎｕ情報送付パケット５１０に付加された、「Ｓｔａｒｔ」の付いたデータは、空けた状態にある最上位に組み込まれて、該データのＰＣ名が表示画面３０１に表示される。その後、ステップＳ１５０２に戻り、Ｍｅｎｕ管理システム対する各種要求の受信を行う。
【０１７５】
ステップＳ１５１０では、受信した状態監視中断Ｅｖｅｎｔ５１４に対応する状態監視中断イベント処理を行う。このイベントは、複合印刷装置２０３がスリープ状態に入る直前に複合印刷装置２０３から発行される。この処理の詳細については図１９を用いて説明する。本処理の後はステップＳ１５０２に戻り、Ｍｅｎｕ管理システム対する各種要求の受信を行う。
【０１７６】
ステップＳ１５１４では、受信した状態監視再開Ｅｖｅｎｔ５１５に対応する状態監視再開イベント処理を行う。このイベントは、複合印刷装置２０３がスリープ状態から通常状態に復帰した直後に複合印刷装置２０３から発行される。この処理の詳細については図２０又は図２２を用いて説明する。どちらも同じ状態監視再開Ｅｖｅｎｔ５１５に対応した処理であるが、スリープ状態から復帰したときのポーリングパケット到達時間監視用変数Ｎの計算ロジックが異なる。ステップＳ１５１４の後はステップＳ１５０２に戻り、Ｍｅｎｕ管理システム対する各種要求の受信を行う。
【０１７７】
ステップＳ１５１５では、応答データ＿ポーリングパケット１＿５０８を受信したときの応答データ＿ポーリングパケット１受信処理を行う。このパケットを受信したときは、まずＰＣ名／Ｍｅｎｕ情報ＤＢ６０１とつき合わせる。図６に示すＰＣ名／Ｍｅｎｕ情報ＤＢ６０１はＩＰアドレスをキーにして管理されている例であるが、データが一意に参照可能なキーであれば、これにこだわるものではない。ＰＣ名／Ｍｅｎｕ情報ＤＢ６０１とつき合わせた結果、一致するキーがなければ、そのキーを新規追加する。追加するときは単純にＤＢ６０１の最後に追加し、「開始終了位置」の情報も更新しておく。そして、ステップＳ１５０２に戻り、Ｍｅｎｕ管理システム対する各種要求の受信を行う。
【０１７８】
ステップＳ１５１６では、応答データ＿ポーリングパケット２＿５０９を受信したときの応答データ＿ポーリングパケット２受信処理を行う。このパケットを受信したときは、まずＰＣ名／Ｍｅｎｕ情報ＤＢ６０１とつき合わせる。図６に示すＰＣ名／Ｍｅｎｕ情報ＤＢ６０１はＩＰアドレスをキーにして管理されている例であるが、データが一意に参照可能なキーであれば、これにこだわるものではない。ＰＣ名／Ｍｅｎｕ情報ＤＢ６０１とつき合わせた結果、一致するキーがなければ、そのキーを新規追加する。追加するときは単純にＤＢ６０１の最後に追加し、「開始終了位置」の情報も更新しておく。たいていの場合は、応答データ＿ポーリングパケット１＿５０８の処理結果により、ＰＣ名／Ｍｅｎｕ情報ＤＢ６０１にエントリが出来上がっているため、不足しているＭｅｎｕ情報を追記するだけですむ。
【０１７９】
Ｍｅｎｕ情報を追記してデータが完成したときは、ＰＣ名／Ｍｅｎｕ情報ＤＢ６０１の「開始終了位置」の更新も行う。追加した結果、表示画面３０１に一度に表示しきれる量のデータであった場合には、「Ｓｔａｒｔ」を最上位のデータに設定し、「Ｅｎｄ」を最下位のデータに設定する。追加する前からすでに表示画面３０１に一度に表示しきれる量のデータ量が有る場合は、「Ｓｔａｒｔ」と「Ｅｎｄ」の更新はしない。そして、ステップＳ１５０２に戻り、Ｍｅｎｕ管理システム対する各種要求の受信を行う。
【０１８０】
図１９は、図１８のステップＳ１５１０で実行される状態監視中断Ｅｖｅｎｔ処理の詳細を示すフローチャートである。本処理は、ＰＣ名／Ｍｅｎｕ管理ＰＣ２０２が稼動していればそのＰＣ上で実行され、ＰＣ名／Ｍｅｎｕ管理ＰＣ２０２が稼動していなければ、複合印刷装置２０３のＲＡＭ１９上で実行される。状態監視中断Ｅｖｅｎｔなので、複合印刷装置２０３がスリープ状態に入るときの処理となる。
【０１８１】
ステップＳ１６０２では、複合印刷装置２０３がスリープ状態に入るので、中断フラグを「Ｙｅｓ」にセットする。次に、ステップＳ１６０３では、中断時刻←現在時刻として、中断した時点の時刻を確保し、処理を終了する。
【０１８２】
図２０は、図１８のステップＳ１５１４又は図１５のステップＳ１２１４で実行される状態監視再開Ｅｖｅｎｔ処理の詳細を示すフローチャートである。本処理は、ＰＣ名／Ｍｅｎｕ管理ＰＣ２０２が稼動していればそのＰＣ上で実行され、ＰＣ名／Ｍｅｎｕ管理ＰＣ２０２が稼動していなければ、複合印刷装置２０３のＲＡＭ１９上で実行される。状態監視再開Ｅｖｅｎｔなので、複合印刷装置２０３がスリープ状態から通常状態に復帰したときの処理となる。なお、状態監視再開Ｅｖｅｎｔ５１５に対応する処理は、図２０と図２２に示す２つの処理を用意してあり、どちらでも利用可能である。どちらの方式を利用するか、どのようにして切り替えるかは本発明では問わない。
【０１８３】
ステップＳ１７０２では、再開時刻←現在時刻として、再開した時点の時刻を確保しておく。次に、ステップＳ１７０３では、複合印刷装置２０３がスリープ状態から通常状態に戻るので、中断フラグを「Ｎｏ」にセットする。
【０１８４】
ステップＳ１７０４では、再開時刻−中断時刻＜１０分であるか否か判断する。これはスリープしていたのは１０分以内であるか否かを判断しているのに等しい。スリープしていたのが１０分以内であればステップＳ１７０６に進む一方、そうでない場合はステップＳ１７０５に進む。
【０１８５】
ステップＳ１７０５では、再開時刻−中断時刻＜３０分であるか否か判断する。これはスリープしていたのは３０分以内であるか否かを判断しているのに等しい。スリープしていたのが３０分以内であればステップＳ１７０７に進む一方、そうでない場合はステップＳ１７０８に進む。
【０１８６】
ステップＳ１７０６では、ポーリングパケット到達時間監視用変数Ｎを６０秒に設定して、本処理を終了する。
【０１８７】
ステップＳ１７０７では、ポーリングパケット到達時間監視用変数Ｎを３０秒に設定して、本処理を終了する。
【０１８８】
ステップＳ１７０８では、ポーリングパケット到達時間監視用変数Ｎを１０秒に設定して、本処理を終了する。ステップＳ１７０６〜Ｓ１７０８の処理の理由であるが、長時間スリープした場合は、その間にクライアントコンピュータもスリープ状態に入る可能性が高いと考えることができる。そのような場合には、６０秒間ポーリングパケットの到達を監視せずとも、もっと短い期間監視すれば、表示画面３０１から削除することが可能と判断する。そして、スリープ状態に入っていた期間に応じて、監視条件であるポーリングパケット到達時間監視用変数Ｎの値を変更する。以上は、スリープ状態に遷移していた時間に応じて、ポーリングの監視条件を変更する第１の変更手段の一例である。
【０１８９】
図２１は、図１２のステップＳ１００９で開始されるポーリング監視Ｔａｓｋの処理を示すフローチャートである。本処理は、一度起動すると終了させることの無い処理なので、図中には終了が配置されていない。また、本処理は、ＰＣ名／Ｍｅｎｕ管理ＰＣ２０２が稼動していればそのＰＣ上で実行され、ＰＣ名／Ｍｅｎｕ管理ＰＣ２０２が稼動していなければ、複合印刷装置２０３のＲＡＭ１９上で実行される。
【０１９０】
ステップＳ１８０２では、中断フラグが「ＮＯ」であるか否かを判断する。「ＹＥＳ」である場合、つまり、複合印刷装置２０３がスリープ中でない場合はステップＳ１８０３に進む。「ＮＯ」である場合、つまり複合印刷装置２０３がスリープ中である場合は、再びステップＳ１８０２に戻る。なお、無駄な処理ループで複合印刷装置２０３のＣＰＵ１２の能力を浪費するのを防ぐ目的でステップＳ１８０２に戻る前に適度な待ち（Ｗａｉｔ）を入れてからステップＳ１８０２に戻るようにしてもかまわない。
【０１９１】
ステップＳ１８０３では、ポーリングパケット到達時間監視用変数Ｎが６０秒か否かの判断を行う。６０秒である場合はステップＳ１８０４に進む。そうでない場合は、ステップＳ１８０６に進む。変数Ｎが６０秒か否かを判断するのは、Ｎは６０秒以上には長くならないため、最大値に設定されているか否かを確認していることになる。なお、本実施形態では、変数Ｎのデフォルト及び最大値を６０秒と設定したが、この値は６０秒に限定されるものではない。そのシステムで予め決めた値であれば、何秒でもよい。
【０１９２】
ステップＳ１８０４では、更新時刻＜現在時刻−ＮのデータがＰＣ名／Ｍｅｎｕ情報ＤＢ６０１にあるか否かを確認する。現在時刻よりＮ秒以上前が最終更新時間のデータは、言い換えれば、少なくともＮ秒間はＰＣ名／Ｍｅｎｕ情報ＤＢ６０１の更新がないということになる。この条件に該当するデータがあればステップＳ１８０５に進む一方、該当するデータがなければステップＳ１８０２に戻る。
【０１９３】
ステップＳ１８０５では、少なくともＮ秒間はＰＣ名／Ｍｅｎｕ情報ＤＢ６０１の更新がないデータをＰＣ名／Ｍｅｎｕ情報ＤＢ６０１から削除する。このとき、ＤＢ６０１の「開始終了位置」に「Ｓｔａｒｔ」と「Ｅｎｄ」のついている間に存在するデータを削除している場合には、複合印刷装置２０３に更新したＤＢ６０１の情報をＰＣ名／Ｍｅｎｕ情報送付パケット５１０で送付する。ＰＣ名／Ｍｅｎｕ情報ＤＢ６０１の「開始終了位置」に「Ｓｔａｒｔ」と「Ｅｎｄ」の付いている間の外側を削除しているのであれば、ＰＣ名／Ｍｅｎｕ情報ＤＢ６０１の更新だけ行う。その後、ステップＳ１８０２に戻る。
【０１９４】
ステップＳ１８０６では、現在時刻＜再開時刻＋Ｎか否か判断する。現在時刻が再開時刻＋Ｎより小さければ、まだＰＣ名／Ｍｅｎｕ情報ＤＢ６０１の更新状況の監視を行わないでもよい時間帯なので、そのような場合にはステップＳ１８０２に戻る。そうでない場合はステップＳ１８０７に進む。
【０１９５】
ステップＳ１８０７では、更新時刻＜再開時刻のデータがあるか否かを判断する。処理がここに来た時点で現在時刻は再開時刻＋Ｎより大きいことが明白である。この状態で更新時刻が再開時刻より小さいということは、それは削除対象となるのでステップＳ１８０８に進む。そうでない場合は、ステップＳ１８０９に進む。
【０１９６】
ステップＳ１８０８では、該当データをＰＣ名／Ｍｅｎｕ情報ＤＢ６０１から削除する。このとき、ＤＢ６０１の「開始終了位置」に「Ｓｔａｒｔ」と「Ｅｎｄ」のついている間に存在するデータを削除している場合には、複合印刷装置２０３に更新したＤＢ６０１の情報をＰＣ名／Ｍｅｎｕ情報送付パケット５１０で送付する。ＰＣ名／Ｍｅｎｕ情報ＤＢ６０１の「開始終了位置」に「Ｓｔａｒｔ」と「Ｅｎｄ」のついている間の外側を削除しているのであれば、ＰＣ名／Ｍｅｎｕ情報ＤＢ６０１の更新だけ行う。その後、ステップＳ１８０９に進む。このように、外部のコンピュータが稼動していない場合でも、複合印刷装置２０３に確保しておける分だけの情報は保持して利用することが可能となる。
【０１９７】
ステップＳ１８０９では、６０秒と現在時刻−再開時刻のうちで小さい方を変数Ｎに代入する。Ｎは６０秒を最大として再開時刻から順次進んで行く値であるので、その計算を行う。その後、ステップＳ１８０２に戻る。
【０１９８】
図２２は、図１８のステップＳ１５１４又は図１５のステップＳ１２１４で実行される状態監視再開Ｅｖｅｎｔ処理の詳細を示すフローチャートである。本処理は、ＰＣ名／Ｍｅｎｕ管理ＰＣ２０２が稼動していればそのＰＣ上で実行され、ＰＣ名／Ｍｅｎｕ管理ＰＣ２０２が稼動していなければ、複合印刷装置２０３のＲＡＭ１９上で実行される。
【０１９９】
ステップＳ１９０２では、再開時刻←現在時刻として、再開した時点の時刻を確保しておく。次に、ステップＳ１９０３では、複合印刷装置２０３がスリープ状態から通常状態に戻るので、中断フラグを「Ｎｏ」にセットする。
【０２００】
ステップＳ１９０４では、図２３に示すＭａｔｒｉｘＡ１９１０を使い、スリープ中断時刻とスリープ状態からの再開時刻を使ってポーリングパケット到達時間監視用変数Ｎの値を設定する。例えば、スリープ中断時刻が８時の場合、スリープ状態からの再開時刻が１９時台までであった場合は、ポーリングパケット到達時間監視用変数Ｎは６０秒とし、それ以降に復帰した場合は１０秒とする。また、スリープ中断時刻が１７時の場合、スリープ状態からの再開時刻が翌日の５時以降になっていた場合などは、スリープ状態から復帰したときのポーリングパケット到達時間監視用変数Ｎは１０秒とする。これは、前者は一般的な業務時間中はクライアントコンピュータも稼動中が多いと判断できるので、スリープ状態から復帰したときのポーリングパケット到達時間監視用変数Ｎを６０に設定し、容易にＤＢ６０１から削除されないように配慮した結果である。
【０２０１】
後者の場合は、夕方から翌日の朝までスリープ状態に入っていたようなケースである。この場合、クライアントコンピュータも稼動していないことがほとんどと判断できるのでスリープ状態から復帰したときのポーリングパケット到達時間監視用変数Ｎを１０に設定して、容易にＰＣ名／Ｍｅｎｕ情報ＤＢ６０１から削除されるように配慮する。以上は、スリープ状態に遷移した時刻と復帰した時刻に応じて、ポーリングの監視条件を変更する第２の変更手段の一例である。なお、ＭａｔｒｉｘＡ１９１０は図示例に限ったものではない。
【０２０２】
以上がＰＣ名／Ｍｅｎｕ管理ＰＣ２０２上で稼動しているＭｅｎｕ管理システムでの処理である（一部は複合印刷装置２０３上もしくはＰＣ名／Ｍｅｎｕ管理ＰＣ２０２で動作する処理）。
【０２０３】
次に、上述したクライアントコンピュータ、複合印刷装置２０３、ＰＣ名／Ｍｅｎｕ管理ＰＣ２０２上で実行される処理の関連性と流れを説明する。
【０２０４】
図２４は、クライアントコンピュータに新規のスキャナドライバがインストールされた後に、複合印刷装置２０３の操作部２２に表示画面３０１が表示されるまでの一連の処理の流れを説明するための図である。なお、ＰＣ名／Ｍｅｎｕ管理ＰＣ２０２は、前提として稼動しているものとする。
【０２０５】
Ｓ２００１では、クライアントコンピュータ上でスキャナドライバをインストールする。このとき、クライアントコンピュータのＩＰアドレスは「１１１．２２２．３３３．４４４」であるものとする。次に、Ｓ２００２では、スキャナドライバのインストールが完了すると、状態問い合わせパケット５０１がクライアントコンピュータから複合印刷装置２０３に対して発行される。
【０２０６】
Ｓ２００３では、複合印刷装置２０３は、クライアントコンピュータに対してＯＫパケット５０３を返送する。同時に、ポーリング受信Ｅｖｅｎｔ５１１をＰＣ名／Ｍｅｎｕ管理ＰＣ２０２に対して発行する。
【０２０７】
Ｓ２００４では、ＰＣ名／Ｍｅｎｕ管理ＰＣ２０２は、ポーリングパケット転送要求５０７を複合印刷装置２０３に対して発行する。
【０２０８】
Ｓ２００５では、複合印刷装置２０３は、応答データ＿ポーリングパケット１＿５０８をＰＣ名／Ｍｅｎｕ管理ＰＣ２０２に対して発行する。ＰＣ名／Ｍｅｎｕ管理ＰＣ２０２は、応答データ＿ポーリングパケット１＿５０８を受信したときは、まずＰＣ名／Ｍｅｎｕ情報ＤＢ６０１とつき合わせる。ＰＣ名／Ｍｅｎｕ情報ＤＢ６０１は、ＩＰアドレスをキーにして管理されている例であるが、データが一意に参照可能なキーであれば、これにこだわるものではない。ＰＣ名／Ｍｅｎｕ情報ＤＢ６０１とつき合わせた結果、一致するキーがなければ、そのキーを新規追加する。追加するときは単純にＤＢ６０１の最後に追加し、「開始終了位置」の情報も更新しておく。
【０２０９】
Ｓ２００６では、ＰＣ名／Ｍｅｎｕ情報送付パケット５０２がクライアントコンピュータから複合印刷装置２０３に対して発行される。複合印刷装置２０３は、受信したＰＣ名／Ｍｅｎｕ情報送付パケット５０２からクライアントコンピュータに関する情報（ＰＣ名、Ｍｅｎｕ数、Ｍｅｎｕ文字列）を取得する。なお、スキャナドライバインストール後には、状態問い合わせパケット５０１を飛ばした次のパケットでＰＣ名／Ｍｅｎｕ情報送付パケット５０２を飛ばすように予めスキャナドライバを設定しておく。
【０２１０】
Ｓ２００７では、複合印刷装置２０３は、クライアントコンピュータに対してＯＫパケット５０３を返送する。同時に、ポーリング受信Ｅｖｅｎｔ５１１をＰＣ名／Ｍｅｎｕ管理ＰＣ２０２に対して発行する。Ｓ２００８では、ＰＣ名／Ｍｅｎｕ管理ＰＣ２０２は、ポーリングパケット転送要求５０７を複合印刷装置２０３に対して発行する。
【０２１１】
Ｓ２００９では、複合印刷装置２０３は、応答データ＿ポーリングパケット２＿５０９をＰＣ名／Ｍｅｎｕ管理ＰＣ２０２に対して発行する。ＰＣ名／Ｍｅｎｕ管理ＰＣ２０２は、応答データ＿ポーリングパケット２＿５０９を受信したときは、ＰＣ名／Ｍｅｎｕ情報ＤＢ６０１とつき合わせる。ＰＣ名／Ｍｅｎｕ情報ＤＢ６０１は、ＩＰアドレスをキーにして管理されている例であるが、データが一意に参照可能なキーであれば、これにこだわるものではない。ＰＣ名／Ｍｅｎｕ情報ＤＢ６０１とつき合わせた結果、一致するキーがなければ、そのキーを新規追加する。追加するときは単純にＤＢ６０１の最後に追加し、「開始終了位置」の情報も更新しておく。たいていの場合は、応答データ＿ポーリングパケット１＿５０８の処理結果により、ＰＣ名／Ｍｅｎｕ情報ＤＢ６０１にエントリが出来上がっているため、不足しているＭｅｎｕ情報を追記するだけの処理となる。ここまで処理すると１つのクライアントコンピュータに関する情報がＰＣ名／Ｍｅｎｕ情報ＤＢ６０１上で完成する。
【０２１２】
Ｓ２０１０では、１つのクライアントコンピュータに関する情報がＰＣ名／Ｍｅｎｕ情報ＤＢ６０１上で完成したのを受けて、その情報をＰＣ名／Ｍｅｎｕ情報送付パケット５１０としてＰＣ名／Ｍｅｎｕ管理ＰＣ２０２から複合印刷装置２０３に送付する。Ｓ２０１１では、この時点で初めて新規にクライアントコンピュータにインストールしたスキャナドライバの情報が複合印刷装置２０３に表示することが可能となる。
【０２１３】
Ｓ２０１２では、状態問い合わせパケット５０１がクライアントコンピュータから複合印刷装置２０３に対して発行される。これは通常の状態問い合わせの意味のパケットである。
【０２１４】
Ｓ２０１３では、複合印刷装置２０３は、クライアントコンピュータに対してＯＫパケット５０３を返送する。同時に、ポーリング受信Ｅｖｅｎｔ５１１をＰＣ名／Ｍｅｎｕ管理ＰＣ２０２に対して発行する。
【０２１５】
Ｓ２０１４では、ＰＣ名／Ｍｅｎｕ管理ＰＣ２０２は、ポーリングパケット転送要求５０７を複合印刷装置２０３に対して発行する。
【０２１６】
Ｓ２０１５では、複合印刷装置２０３は、応答データ＿ポーリングパケット１＿５０８をＰＣ名／Ｍｅｎｕ管理ＰＣ２０２に対して発行する。ＰＣ名／Ｍｅｎｕ管理ＰＣ２０２は、応答データ＿ポーリングパケット１＿５０８を受信したときは、ＰＣ名／Ｍｅｎｕ情報ＤＢ６０１とつき合わせる。ＰＣ名／Ｍｅｎｕ情報ＤＢ６０１は、ＩＰアドレスをキーにして管理されている例であるが、データが一意に参照可能なキーであれば、これにこだわるものではない。ＰＣ名／Ｍｅｎｕ情報ＤＢ６０１とつき合わせた結果、一致するキーがあるので、そのキーの「更新時刻」をＰＣ名／Ｍｅｎｕ管理ＰＣ２０２で保持している現在時刻に更新しておく。以降、特に、何もなければＳ２０１２からＳ２０１５がポーリング間隔Ｔ秒毎に繰り返される。
【０２１７】
このようにして、クライアントコンピュータに関する情報が複合印刷装置２０３を経由してＰＣ名／Ｍｅｎｕ管理ＰＣ２０２に伝わり、その情報はＰＣ名／Ｍｅｎｕ管理ＰＣ２０２で管理され、最終的には複合印刷装置２０３で表示されるようになる。
【０２１８】
図２５（ａ）は、複合印刷装置２０３上の操作部２２に表示された表示画面３０１上でメニューが上スクロールされた場合の処理の流れを説明するための図である。図２５（ｂ）は、表示画面３０１上でメニューが下スクロールされた場合の処理の流れを説明するための図である。
【０２１９】
図２５（ａ）において、Ｓ２１０１では、操作部２２の表示画面３０１上でメニューの上スクロールの指示を受け付ける。Ｓ２１０２では、複合印刷装置２０３は、ＰＣ名／Ｍｅｎｕ情報一覧更新要求１Ｅｖｅｎｔ５１２をＰＣ名／Ｍｅｎｕ管理ＰＣ２０２に対して発行する。それを受けたＰＣ名／Ｍｅｎｕ管理ＰＣ２０２は、ＰＣ名／Ｍｅｎｕ情報ＤＢ６０１から、要求された送信先に関する情報を抽出する。
【０２２０】
Ｓ２１０３では、ＰＣ名／Ｍｅｎｕ情報ＤＢ６０１から抽出した送信先に関する情報をＰＣ名／Ｍｅｎｕ情報送付パケット５１０でＰＣ名／Ｍｅｎｕ管理ＰＣ２０２から複合印刷装置２０３に送付する。Ｓ２１０４では、上スクロールされたときに表示すべきＰＣ名やＭｅｎｕ情報を表示画面３０１上に表示する。
【０２２１】
図２５（ｂ）において、Ｓ２１１１では、操作部２２の表示画面３０１上でメニューの下スクロールの指示を受け付ける。Ｓ２１１２では、複合印刷装置２０３は、ＰＣ名／Ｍｅｎｕ情報一覧更新要求１Ｅｖｅｎｔ５１２をＰＣ名／Ｍｅｎｕ管理ＰＣ２０２に対して発行する。それを受けたＰＣ名／Ｍｅｎｕ管理ＰＣ２０２は、ＰＣ名／Ｍｅｎｕ情報ＤＢ６０１から、要求された送信先に関する情報を抽出する。
【０２２２】
Ｓ２１１３では、ＰＣ名／Ｍｅｎｕ情報ＤＢ６０１から抽出した送信先に関する情報をＰＣ名／Ｍｅｎｕ情報送付パケット５１０でＰＣ名／Ｍｅｎｕ管理ＰＣ２０２から複合印刷装置２０３に送付する。Ｓ２１１４で、下スクロールされたときに表示すべきＰＣ名やＭｅｎｕ情報を表示画面３０１上に表示する。
【０２２３】
図２６は、クライアントコンピュータの電源が落ちた等によりＰＣ名／Ｍｅｎｕ管理ＰＣ２０２にポーリング受信Ｅｖｅｎｔ５１１が届かなくなってしまったときの処理の流れを説明するための図である。以下の例では、ＩＰアドレス：１１１．２２２．３３３．４４４のクライアントコンピュータからのポーリングが途絶えたという前提で説明する。
【０２２４】
Ｓ２２０１では、ＰＣ名／Ｍｅｎｕ管理ＰＣ２０２は、「１１１．２２２．３３３．４４４」のＩＰアドレスを持つクライアントコンピュータからのポーリングが来ないことを検出する。これは、図２１に示すポーリング監視ＴａｓｋでＰＣ名／Ｍｅｎｕ情報ＤＢ６０１の更新状況を監視することにより、ポーリング受信Ｅｖｅｎｔ５１１が届かなくなったクライアントコンピュータとしてピックアップされた結果による。
【０２２５】
Ｓ２２０２では、ＰＣ名／Ｍｅｎｕ情報ＤＢ６０１上から「１１１．２２２．３３３．４４４」のＩＰアドレスを持つクライアントコンピュータの情報を削除する。Ｓ２２０３では、新しくＰＣ名／Ｍｅｎｕ管理ＰＣ２０２から複合印刷装置２０３に転送すべきデータを把握する。ＤＢ６０１の「開始終了位置」に「Ｓｔａｒｔ」と「Ｅｎｄ」の付いている間に存在するデータを削除している場合には、Ｓ２２０４でＰＣ名／Ｍｅｎｕ情報送付パケット５１０により複合印刷装置２０３の操作部２２に表示すべきデータを送付する。一方、ＰＣ名／Ｍｅｎｕ情報ＤＢ６０１の「開始終了位置」に「Ｓｔａｒｔ」と「Ｅｎｄ」の付いている間に存在するデータ以外を削除しているのであれば、Ｓ２２０４でデータの送付を行わない。
【０２２６】
Ｓ２２０５では、ポーリングが途絶えたクライアントコンピュータの情報が複合印刷装置２０３の操作部２２の表示画面から消える。なお、複合印刷装置２０３の操作部２２に表示されていないクライアントコンピュータからのポーリングが途絶えた場合には、操作部２２の表示画面は見かけ上は何も変化しない。しかしながら、メニューを上下にスクロールさせた場合、そのようなクライアントコンピュータの情報（ＰＣ名等）は表示されなくなっている。
【０２２７】
図２７は、複合印刷装置２０３がスリープ状態に入る前後の処理の流れを説明するための図である。
【０２２８】
Ｓ２３０１では、ＳＴ＞Ｓｌｅｅｐ設定時間の条件を満たしたので、複合印刷装置２０３がスリープに入れる状態になる。
【０２２９】
Ｓ２３０２では、複合印刷装置２０３からＰＣ名／Ｍｅｎｕ管理ＰＣ２０２に対して、状態監視中断Ｅｖｅｎｔ５１４を発行する。その結果、図２１のポーリング監視Ｔａｓｋは、ＰＣ名／Ｍｅｎｕ情報ＤＢ６０１の更新状態監視処理をスキップするようになる。
【０２３０】
Ｓ２３０３では、複合印刷装置２０３がスリープ状態（ＤｅｅｐＳｌｅｅｐ）に遷移する。Ｓ２３０４では、クライアントコンピュータから複合印刷装置２０３に対して状態問い合わせパケット５０１が送出される。
【０２３１】
Ｓ２３０５では、複合印刷装置２０３の代理応答システムにてＯＫパケット５０３がクライアントコンピュータに対して返信される。
【０２３２】
Ｓ２３０６では、複合印刷装置２０３の操作部２２を操作してスリープ状態を解除する。
【０２３３】
Ｓ２３０７では、複合印刷装置２０３からＰＣ名／Ｍｅｎｕ管理ＰＣ２０２に対して、状態監視再開Ｅｖｅｎｔ５１５を発行する。この時点でＰＣ名／Ｍｅｎｕ管理ＰＣ２０２では、ポーリングパケット到達監視用変数Ｎの値をスリープしていた時間もしくはスリープ状態への遷移〜スリープ状態からの復帰の時刻に従って再計算する。ＰＣ名／Ｍｅｎｕ管理ＰＣ２０２は、状態監視再開Ｅｖｅｎｔ５１５を受信してから、ＰＣ名／Ｍｅｎｕ情報ＤＢ６０１の更新状態を監視するが、Ｎ秒間に更新がかからなかったクライアントコンピュータに関する情報を削除対象とする。ここでは図示されていないが、仮にＤＢ６０１の「開始終了位置」に「Ｓｔａｒｔ」と「Ｅｎｄ」の付いている間に存在するデータを削除している場合には、表示すべきデータをパケット５１０でＰＣ２０２から複合印刷装置２０３に送付して、表示を更新する。
【０２３４】
Ｓ２３０８では、状態問い合わせパケット５０１がクライアントコンピュータから複合印刷装置２０３に対して発行される。これは通常の状態問い合わせの意味のパケットである。Ｓ２３０９では、複合印刷装置２０３は、クライアントコンピュータに対してＯＫパケット５０３を返送する。同時にポーリング受信Ｅｖｅｎｔ５１１をＰＣ名／Ｍｅｎｕ管理ＰＣ２０２に対して発行する。
【０２３５】
Ｓ２３１０では、ＰＣ名／Ｍｅｎｕ管理ＰＣ２０２は、ポーリングパケット転送要求５０７を複合印刷装置２０３に対して発行する。Ｓ２３１１では、複合印刷装置２０３は、応答データ＿ポーリングパケット１＿５０８をＰＣ名／Ｍｅｎｕ管理ＰＣ２０２に対して発行する。ＰＣ名／Ｍｅｎｕ管理ＰＣ２０２は、応答データ＿ポーリングパケット１＿５０８を受信したときは、ＰＣ名／Ｍｅｎｕ情報ＤＢ６０１とつき合わせる。図６のＰＣ名／Ｍｅｎｕ情報ＤＢ６０１は、ＩＰアドレスをキーにして管理されている例であるが、データが一意に参照可能なキーであれば、これにこだわるものではない。ＰＣ名／Ｍｅｎｕ情報ＤＢ６０１とつき合わせた結果、一致するキーがあるので、そのキーの更新時刻を現在時刻に更新しておく。以降、特に、何もなければＳ２３０８からＳ２３１１が繰り返される。
【０２３６】
図２８は、クライアントコンピュータに新規のスキャナドライバをインストールされた後に、複合印刷装置２０３の操作部２２に表示画面３０１が表示されるまでの一連の処理の流れを説明するための図である。なお、ＰＣ名／Ｍｅｎｕ管理ＰＣ２０２は、前提として稼動していないものとする。
【０２３７】
Ｓ２４０１では、クライアントコンピュータ上でスキャナドライバをインストールする。このとき、クライアントコンピュータのＩＰアドレスは「１１１．２２２．３３３．４４４」であるものとする。次に、Ｓ２４０２では、スキャナドライバのインストールが完了すると、状態問い合わせパケット５０１がクライアントコンピュータから複合印刷装置２０３に対して発行される。複合印刷装置２０３では、ＰＣ名／Ｍｅｎｕ情報ＤＢ６０１をＲＡＭ１９上で管理しており、ＩＰアドレスをキーにして管理されている。いま受信したデータをＰＣ名／Ｍｅｎｕ情報ＤＢ６０１とつき合わせた結果、一致するキーがなければ、そのキーを新規追加する。
【０２３８】
Ｓ２４０３では、複合印刷装置２０３は、クライアントコンピュータに対してＯＫパケット５０３を返送する。Ｓ２４０４では、ＰＣ名／Ｍｅｎｕ情報送付パケット５０２がクライアントコンピュータから複合印刷装置２０３に対して発行される。なお、スキャナドライバインストール後には、状態問い合わせパケット５０１を飛ばした次のパケットでＰＣ名／Ｍｅｎｕ情報送付パケット５０２を飛ばすように予めスキャナドライバを設定しておく。いま受信したデータをＰＣ名／Ｍｅｎｕ情報ＤＢ６０１とつき合わせた結果、一致するキーがなければ、そのキーを新規追加する。たいていの場合は、状態問い合わせパケット５０１の処理結果により、ＰＣ名／Ｍｅｎｕ情報ＤＢ６０１にエントリが出来上がっているため、不足しているＭｅｎｕ情報を追記するだけの処理となる。ここまで処理すると１件分の情報がＰＣ名／Ｍｅｎｕ情報ＤＢ６０１上で完成する。
【０２３９】
Ｓ２４０５では、複合印刷装置２０３は、クライアントコンピュータに対してＯＫパケット５０３を返送する。次に、Ｓ２４０６では、この時点で初めて新規にクライアントコンピュータにインストールしたスキャナドライバの情報が複合印刷装置２０３に表示することが可能となる。
【０２４０】
上記実施形態によれば、プッシュスキャンでデータを送付する宛先の情報としてＰＣ名やＭｅｎｕ文字列等を十分に保存するだけのメモリや外部記憶装置が画像処理装置に確保できない場合であっても、プッシュスキャン時のユーザの使い勝手を向上できる。
【０２４１】
［第２の実施形態］
図２９は、本発明の第２の実施形態に係る画像処理装置を備える画像処理システムの概略構成を示す図である。
【０２４２】
本発明の第２の実施の形態では、図２に示す構成が上記第１の実施の形態と同じであり、第１の実施の形態と同様の部分については、同一の符号を用いてその説明を省略する。以下に、上記第１の実施の形態と異なる点のみを説明する。
【０２４３】
図２９における２５０２〜２５０７は、図１における２０２〜２０７にそれぞれ対応する。第２実施形態では、クライアントコンピュータ２５０５上にポーリング制御システムが追加搭載され、ポーリングパケット送出のＯＮ／ＯＦＦ制御を行う点で上記第１の実施形態とは異なる。更に、ＰＣ名／Ｍｅｎｕ管理ＰＣ２５０２からの稼動状況問い合わせに応答する点で上記第１の実施形態とは異なる。
【０２４４】
更に、第２実施形態では、ＰＣ名／Ｍｅｎｕ管理ＰＣ２５０２上に稼動状況問い合わせシステムが追加搭載され、特定の条件のクライアントコンピュータ２５０５に対して、直接稼動状況の問い合わせを行う点で上記第１の実施形態とは異なる。
【０２４５】
図３０は、クライアントコンピュータ上で実行されるポーリング制御システムのインストール処理を示すフローチャートである。なお、クライアントコンピュータ２５０４〜２５０７、複合印刷装置２５０３、及びＰＣ名／Ｍｅｎｕ管理ＰＣ２５０２は、ネットワーク２０１（またはＵＳＢケーブル２１３）を介して接続されているものとする。
【０２４６】
ステップＳ２６０２では、ポーリング制御システムのインストール処理が行われる。次に、ステップＳ２６０３では、ポーリング制御システムが実行され、処理要求待ち状態に入る。ポーリング制御システムは、他の処理から独立して動作することが可能なシステムなので、図３０の処理が終了しても稼働状態になる。
【０２４７】
図３１は、図３０のステップＳ２６０３で実行されるポーリング制御システムの処理要求待ちの処理の詳細を示すフローチャートである。なお、本処理は、インストール時に不図示のＯＳに登録されて、ＯＳを再起動する度に自動的に起動されるようになっている。
【０２４８】
ステップＳ２７０２では、ポーリング制御システムは処理要求を待ち受ける。何らかの処理要求を受け付けると、処理要求が稼動状況問い合わせか否かを判断する（ステップＳ２７０３）。稼動状況の問い合わせは、ＰＣ名／Ｍｅｎｕ管理ＰＣ２５０２から不図示の稼動状況問い合わせパケットをクライアントコンピュータに転送することで行われる。処理要求が稼動状況問い合わせである場合はステップＳ２７０６に進み、そうでない場合はステップＳ２７０４に進む。
【０２４９】
ステップＳ２７０４では、処理要求がクライアントコンピュータから複合印刷装置２５０３に対して送信された状態問い合わせパケット５０１やＰＣ名／Ｍｅｎｕ情報送付パケット５０２によるポーリングパケットの送付再開指示か否かが判断される。なお、送付再開指示パケットは不図示である。送付再開指示パケットである場合はステップＳ２７０７に進み、そうでない場合はステップＳ２７０５に進む。
【０２５０】
ステップＳ２７０５では、処理要求がクライアントコンピュータから複合印刷装置２５０３に対して送信された状態問い合わせパケット５０１やＰＣ名／Ｍｅｎｕ情報送付パケット５０２によるポーリングパケットの送付中断指示か否かが判断される。なお、送付中断指示パケットは不図示である。送付中断指示パケットである場合はステップＳ２７０８に進み、そうでない場合はステップＳ２７０２に戻る。
【０２５１】
ステップＳ２７０６では、クライアントコンピュータが稼動しているという意味のＯＫパケットをＰＣ名／Ｍｅｎｕ管理ＰＣ２５０２に対して返答する。なお、ＯＫパケットは不図示である。クライアントコンピュータが稼動していない場合、ＯＫパケットは返答されないので、ＰＣ名／Ｍｅｎｕ管理ＰＣ２５０２は、ＯＫパケットの返答があるか否かで、クライアントコンピュータが稼動しているか否かの判断が可能となる。その後、ステップＳ２７０２に戻る。
【０２５２】
ステップＳ２７０７では、処理要求がクライアントコンピュータから複合印刷装置２５０３に対して送信された状態問い合わせパケット５０１等によるポーリングパケットの送付再開指示と判断する。そして、中断していたＴ秒間隔でポーリングパケットを送信するサブタスクを再開する。その後、ステップＳ２７０２に戻る。
【０２５３】
ステップＳ２７０８では、処理要求がクライアントコンピュータから複合印刷装置２５０３に対して送信された状態問い合わせパケット５０１等によるポーリングパケットの送付中断指示と判断する。そして、Ｔ秒間隔でポーリングパケットを送信するサブタスクを中断する。その後、ステップＳ２７０２に戻る。
【０２５４】
図３２は、ＰＣ名／Ｍｅｎｕ管理ＰＣ２５０２上で実行される稼動状況問い合わせシステムのインストール処理を示すフローチャートである。なお、クライアントコンピュータ２５０４〜２５０７、複合印刷装置２５０３、及びＰＣ名／Ｍｅｎｕ管理ＰＣ２５０２は、ネットワーク２０１（またはＵＳＢケーブル２１３）を介して接続されているものとする。
【０２５５】
ステップＳ２８０２では、稼動状況問い合わせシステムのインストール処理が行われる。ステップＳ２８０３では、稼動状況問い合わせシステムが実行される。このシステムは、他の処理から独立して動作することが可能なシステムである。本処理の詳細については図３３で説明する。
【０２５６】
図３３は、図３２のステップＳ２８０３で実行される稼動状況問い合わせシステムの起動処理の詳細を示すフローチャートである。なお、本処理は、インストール時に不図示のＯＳに登録されて、ＯＳを再起動するたびに自動的に起動されるようになっている。
【０２５７】
ステップＳ２９０２では、ＣＰＵ１は、ＰＣ名／Ｍｅｎｕ管理ＰＣ２５０２上で管理するＰＣ名／Ｍｅｎｕ情報ＤＢ６０１の内容を確認し、「開始終了位置」に「Ｓｔａｒｔ」と「Ｅｎｄ」の付いているデータの外側に位置するデータがあるか否かを判断する。図６のＰＣ名／Ｍｅｎｕ情報ＤＢ６０１の例では、６０７，６０８，６０９がこれに該当する。そのようなデータがある場合はステップＳ２９０３に進み、ない場合はステップＳ２９０２に戻る。なお、無駄な処理ループでＰＣ名／Ｍｅｎｕ管理ＰＣ２５０２のＣＰＵ１の能力を浪費するのを防ぐ目的でステップＳ２９０２に戻る前に適度な待ち（Ｗａｉｔ）を入れからステップＳ２９０２に戻るようにしてもかまわない。
【０２５８】
ステップＳ２９０３では、ＰＣ名／Ｍｅｎｕ情報ＤＢ６０１上で「開始終了位置」に「Ｓｔａｒｔ」と「Ｅｎｄ」の付いているデータの外側にあるＰＣに対して、稼動状況問い合わせパケットを送信する。図６のＰＣ名／Ｍｅｎｕ情報ＤＢ６０１の例では、６０７，６０８，６０９に記載されているＰＣに対して稼動状況問い合わせパケットを送出する（稼動状況問い合わせパケットは不図示）。そして、その返答を待つ。
【０２５９】
ステップＳ２９０４では、クライアントコンピュータ２５０５からの稼動状況問い合わせパケットに対する返信パケット（ＯＫパケット）が来たか否かを判断する。ＯＫパケットが帰ってきた場合、ステップＳ２９０５に進む。一定時間の間にＯＫパケットが帰って来ない場合、ステップＳ２９０２に戻る。
【０２６０】
ステップＳ２９０５では、クライアントコンピュータ２５０５からの稼動状況問い合わせパケットに対する返信パケット（ＯＫパケット）が帰ってきたので、ＤＢ６０１の更新時刻の情報をＰＣ名／Ｍｅｎｕ管理ＰＣ２５０２の現在時刻で更新する。そして、ステップＳ２９０２に戻る。
【０２６１】
第２の実施形態では、図１５の処理フローの内部処理が若干変更となるので、以下で説明する。なお、フローの流れに変更はない。以下の部分の内部処理が異なる。
【０２６２】
ステップＳ１５０８では、ＰＣ名／Ｍｅｎｕ情報一覧更新要求１Ｅｖｅｎｔ５１２に対応した処理を行う。このイベントは、複合印刷装置２５０３で操作部２２の操作を行い、表示画面３０１で表示されている画面を上方向にスクロールさせて表示したいという指示がなされた場合、複合印刷装置２５０３から発行される。このイベントを受けたとき、ＰＣ名／Ｍｅｎｕ管理ＰＣ２５０２では、ＰＣ名／Ｍｅｎｕ情報ＤＢ６０１を参照し、「開始終了位置」に「Ｓｔａｒｔ」と「Ｅｎｄ」の付いている場所を探し出す。ＰＣ名／Ｍｅｎｕ情報ＤＢ６０１に登録されている総データ数が一度に表示画面３０１に表示できる数以下であれば、何もせずに終了する。ＰＣ名／Ｍｅｎｕ情報ＤＢ６０１に登録されている総データ数が一度に表示画面３０１に表示できる数以上であるとき次の処理を行う。
【０２６３】
まず「Ｓｔａｒｔ」と「Ｅｎｄ」のついているデータを各々１つ下のデータに移動させる。このとき、移動させる前に「Ｓｔａｒｔ」のついていたデータが示すクライアントコンピュータ２５０５に対して、不図示のポーリングＯＦＦ指示パケットを送出する。この送出により、それを受けた当該クライアントコンピュータでは、Ｔ秒間隔でポーリングパケットを送信するサブタスクが中断する。
【０２６４】
次いで、新しく「Ｅｎｄ」のついたデータをＰＣ名／Ｍｅｎｕ情報送付パケット５１０にのせて、複合印刷装置２５０３に送信する。このとき、新しく「Ｅｎｄ」の付いたデータが示すクライアントコンピュータ２５０５に対して、不図示のポーリングＯＮ指示パケットを送出する。この送出により、それを受けた当該クライアントコンピュータでは、Ｔ秒間隔でポーリングパケットを送信するサブタスクが再開する。
【０２６５】
複合印刷装置２５０３側では、ＲＡＭ１９内で最上位にあるデータを消去し、それ以下を順次１つずつ上位に繰り上げ、最下位を空けた状態で待機させておく。ここで送信したデータはこの最下位に組み込まれて表示されることになる。
【０２６６】
ＰＣ名／Ｍｅｎｕ情報送付後にはステップＳ１５０２に戻り、Ｍｅｎｕ管理システム対する各種要求の受信を行う。
【０２６７】
ステップＳ１５０９では、ＰＣ名／Ｍｅｎｕ情報一覧更新要求２Ｅｖｅｎｔ５１２に対応した処理を行う。このイベントは、複合印刷装置２５０３で操作部２２の操作を行い、表示画面３０１で表示されている画面を下方向にスクロールさせて表示したいという指示がなされた場合、複合印刷装置２５０３から発行される。このイベントを受けたとき、ＰＣ名／Ｍｅｎｕ管理ＰＣ２５０２では、ＰＣ名／Ｍｅｎｕ情報ＤＢ６０１を参照し、「開始終了位置」に「Ｓｔａｒｔ」と「Ｅｎｄ」の付いている場所を探し出す。ＤＢに登録されている総データ数が一度に表示画面３０１に表示できる数以下であれば、何もせずに終了する。ＰＣ名／Ｍｅｎｕ情報ＤＢ６０１に登録されている総データ数が一度に表示画面３０１に表示できる数以上であるとき次の処理を行う。
【０２６８】
まず、「Ｓｔａｒｔ」と「Ｅｎｄ」のついているデータを各々１つ上のデータに移動させる。このとき、移動させる前に「Ｅｎｄ」のついていたデータが示すクライアントコンピュータ２５０５に対して、不図示のポーリングＯＦＦ指示パケットを送出する。この送出により、それを受けた当該クライアントコンピュータでは、Ｔ秒間隔でポーリングパケットを送信するサブタスクが中断する。
【０２６９】
次いで、新しく「Ｓｔａｒｔ」のついたデータをＰＣ名／Ｍｅｎｕ情報送付パケット５１０にのせて、複合印刷装置２５０３に送信する。このとき、新しく「Ｓｔａｒｔ」の付いたデータが示すクライアントコンピュータ２５０５に対して、不図示のポーリングＯＮ指示パケットを送出する。この送出により、それを受けた当該クライアントコンピュータでは、Ｔ秒間隔でポーリングパケットを送信するサブタスクが再開する。
【０２７０】
複合印刷装置２５０３側では、ＲＡＭ１９内で最下位にあるデータを消去し、それ以下を順次１つずつ下位に繰り下げ、最上位を空けた状態で待機させておく。ここで送信したデータはこの最上位に組み込まれて表示されることになる。ＰＣ名／Ｍｅｎｕ情報送付パケット５１０の送付後には、ステップＳ１５０２に戻りＭｅｎｕ管理システム対する各種要求の受信を行う。
【０２７１】
ステップＳ１５１６では、応答データ＿ポーリングパケット２＿５０９を受信したときの処理を行う。このパケットを受信したときは、まずＰＣ名／Ｍｅｎｕ情報ＤＢ６０１とつき合わせる。図６のＰＣ名／Ｍｅｎｕ情報ＤＢ６０１はＩＰアドレスをキーにして管理されている例であるが、データが一意に参照可能なキーであれば、これにこだわるものではない。ＰＣ名／Ｍｅｎｕ情報ＤＢ６０１とつき合わせた結果、一致するキーがなければ、そのキーを新規追加する。追加するときは単純にＤＢの最後に追加し、開始終了位置の情報も更新しておく。たいていの場合は、応答データ＿ポーリングパケット１＿５０８の処理結果により、ＰＣ名／Ｍｅｎｕ情報ＤＢ６０１にエントリが出来上がっているため不足しているＭｅｎｕ情報を追記するだけですむ。
【０２７２】
Ｍｅｎｕ情報を追記してデータが完成したときは、ＰＣ名／Ｍｅｎｕ情報ＤＢ６０１の開始終了位置の更新も行う。追加した結果まだ一度に表示画面３０１に表示しきれる量のデータであった場合には、「Ｓｔａｒｔ」を最上位のデータに設定し、「Ｅｎｄ」を最下位のデータに設定する。追加する前からすでに一度の表示画面３０１に表示しきれる量またはそれ以上のデータ量が有る場合は、「Ｓｔａｒｔ」と「Ｅｎｄ」の更新はしない。このとき、新規に追加したデータが「Ｓｔａｒｔ」と「Ｅｎｄ」の外側にあるような場合には、そのデータが示すクライアントコンピュータ２５０５に対して、不図示のポーリングＯＦＦ指示パケットを送出する。この送出により、それを受けた当該クライアントコンピュータでは、Ｔ秒間隔でポーリングパケットを送信するサブタスクが中断する。そして、ステップＳ１５０２に戻り、Ｍｅｎｕ管理システム対する各種要求の受信を行う。このステップＳ１５０８，Ｓ１５０９，Ｓ１５１６の修正を上記第１の実施形態で説明した処理から第２の実施形態で説明した処理に変更することにより以下のことが発生する。
【０２７３】
第１に、ＰＣ名／Ｍｅｎｕ情報ＤＢ６０１の開始終了位置において、「Ｓｔａｒｔ」と「Ｅｎｄ」の間に挟まれたデータに該当するクライアントコンピュータ２５０５でのみＴ秒間隔でポーリングパケットを送信するサブタスクが動作する。言い換えると「Ｓｔａｒｔ」と「Ｅｎｄ」の間に挟まれていないデータに該当するクライアントコンピュータ２５０５では、Ｔ秒間隔でポーリングパケットを送信するサブタスクが中断する。
【０２７４】
第２に、複合印刷装置２５０３で操作部２２の操作を行い、表示画面３０１で表示されている画面を上下方向にスクロールさせて表示させる場合について説明する。この場合、表示から消えたデータに該当するクライアントコンピュータ２５０５では、Ｔ秒間隔でポーリングパケットを送信するサブタスクが中断する。
【０２７５】
第３に、複合印刷装置２５０３で操作部２２の操作を行い、表示画面３０１で表示されている画面を上下方向にスクロールさせて表示させる場合について説明する。この場合、新しく表示されたデータに該当するクライアントコンピュータ２５０５では、Ｔ秒間隔でポーリングパケットを送信するサブタスクが再開する。
【０２７６】
まとめると、図３３の処理では、ＤＢ６０１の「開始終了位置」の「Ｓｔａｒｔ」と「Ｅｎｄ」間に挟まれていないデータに該当するクライアントコンピュータ２５０５に対して、稼動状況問い合わせシステムで稼動状況の問い合わせを行っている。
【０２７７】
ＤＢ６０１の「開始終了位置」の「Ｓｔａｒｔ」と「Ｅｎｄ」間に挟まれたデータに該当するクライアントコンピュータ２５０５からはＴ秒間隔でポーリングパケットが送出され、その情報を元にして、ＰＣ名／Ｍｅｎｕ情報ＤＢ６０１の更新時刻が更新される。
【０２７８】
一方、ＤＢ６０１の「開始終了位置」の「Ｓｔａｒｔ」と「Ｅｎｄ」間に挟まれていないデータに該当するクライアントコンピュータ２５０５には、稼動状況問い合わせシステムで稼動状況の問い合わせを行い、ＤＢ６０１の更新時刻が更新される。そして、これは、複合印刷装置２５０３で操作部２２の操作を行い、表示画面３０１で表示されている画面を上下方向にスクロールさせて表示させる場合新しく更新されたＰＣ名／Ｍｅｎｕ情報ＤＢ６０１の開始終了位置に対しても有効となる。第１の実施形態では、全てのクライアントコンピュータからの状態問い合わせパケット５０１が１台の複合印刷装置２０３に集中して送付されることになるので、状態問い合わせパケット５０１に対する処理の負荷が大きくなる懸念がある。
【０２７９】
第２の実施形態では、複合印刷装置２０３に対して恒常的に状態問い合わせパケット５０１を送付するのは最大で１度に複合印刷装置２５０３の操作部２２（表示画面３０１）に表示しきれる台数分のクライアントコンピューに抑えることが可能となる点である。
【０２８０】
第２の実施形態によれば、複合印刷装置２０３等のデバイスに送信される状態問い合わせパケットの量を制限することが可能となるので、デバイスでの応答負荷を軽減することも併せて可能となる。
【０２８１】
上記第１及び第２の実施形態では、本発明をスキャナ機能を備えた複合印刷装置に適用した形態について説明したが、これに限定されるものではなく、スキャナ装置や印刷装置、単機能の周辺機器等に適用しても本発明の効果が得られることは云うまでもない。
【０２８２】
また、本発明の各工程は、ネットワーク又は各種記憶媒体を介して取得したソフトウエア（プログラム）を画像処理装置のＣＰＵやプロセッサにて実行することでも実現できる。
【符号の説明】
【０２８３】
１，１２  ＣＰＵ
１０  ＣＲＴ
１１，１４  外部メモリ
２２  操作部
２４  スキャナ部
２０１  ネットワーク
２０２  ＰＣ名／Ｍｅｎｕ管理ＰＣ
２０３  複合印刷装置
２０４〜２０７  クライアントコンピュータ
２１３  ＵＳＢケーブル
【図１】
2010251901.tif 000003
【図２】
2010251901.tif 000004
【図３】
2010251901.tif 000005
【図４】
2010251901.tif 000006
【図５】
2010251901.tif 000007
【図６】
2010251901.tif 000008
【図７】
2010251901.tif 000009
【図８】
2010251901.tif 000010
【図９】
2010251901.tif 000011
【図１０】
2010251901.tif 000012
【図１１】
2010251901.tif 000013
【図１２】
2010251901.tif 000014
【図１３】
2010251901.tif 000015
【図１４】
2010251901.tif 000016
【図１５】
2010251901.tif 000017
【図１６】
2010251901.tif 000018
【図１７】
2010251901.tif 000019
【図１８】
2010251901.tif 000020
【図１９】
2010251901.tif 000021
【図２０】
2010251901.tif 000022
【図２１】
2010251901.tif 000023
【図２２】
2010251901.tif 000024
【図２３】
2010251901.tif 000025
【図２４】
2010251901.tif 000026
【図２５】
2010251901.tif 000027
【図２６】
2010251901.tif 000028
【図２７】
2010251901.tif 000029
【図２８】
2010251901.tif 000030
【図２９】
2010251901.tif 000031
【図３０】
2010251901.tif 000032
【図３１】
2010251901.tif 000033
【図３２】
2010251901.tif 000034
【図３３】
2010251901.tif 000035