(57)【要約】【課題】待機モードへの移行時に、待機応答部に蓄積されたデータの欠けの補完を完了させることが出来る電子機器の提供。【解決手段】ネットワークを介して受信した１種類以上の情報要求データに応じて、各々の情報要求データに応じた情報を含む応答データを出力するコントローラと、コントローラを動作させる通常モード時にコントローラより出力された応答データに含まれる情報を抽出して記憶部に記憶させる情報蓄積部と、予め設定された通常モードから待機モードへ移行する条件が満足され通常モードから待機モードへ移行する際、記憶された情報に漏れが無いか確認し、漏れがあるときコントローラから漏れている情報を取得する再帰応答要求部と、再帰応答要求部による漏れている情報の取得後、コントローラへの電力供給を遮断し自らコントローラに代わり応答データを出力する待機モードに移行するように制御する待機応答制御部を有する待機応答部とを備える。【選択図】図６
2018113651.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して受信した１種類以上の情報要求データに応じて、各々の情報要求データに応じた情報を含む応答データを出力する通常モード応答データ作成部
を有するコントローラー部と、
前記情報を記憶可能な記憶部と、
前記コントローラー部を動作させる通常モード時に前記コントローラー部より出力された前記応答データに含まれる前記情報を抽出して前記記憶部に記憶させる情報蓄積部と、
予め設定された前記通常モードから待機モードへ移行する条件が満足され前記通常モードから前記待機モードへ移行する際、前記記憶された情報に漏れが無いか確認し、漏れがあるとき前記コントローラー部から漏れている前記情報を取得する再帰応答要求部と、
前記再帰応答要求部による漏れている前記情報の取得後、前記コントローラー部への電力供給を遮断して自らが前記コントローラー部に代わって前記応答データを出力する前記待機モードに移行するように制御する待機応答制御部と
を有する待機応答部と
を備えた電子機器。
【請求項２】
請求項１に記載の電子機器であって、
前記待機応答制御部は、
前記記憶された情報に漏れが無いか確認する際、
まず前記通常モード応答データ作成部から当該電子機器が提供するサービスの一覧であるサービス一覧を取得し、取得した前記サービス一覧に基づいて漏れが無いかを確認する
電子機器。
【請求項３】
請求項１または２に記載の電子機器であって、
前記情報要求データに対する応答データの作成は、ボンジュールプリンティング仕様に基づいて行われる
電子機器。
【請求項４】
ネットワークを介して受信した１種類以上の情報要求データに応じて、各々の情報要求データに応じた情報を含む応答データを出力する通常モード応答データ作成部
を有するコントローラー部と、
前記情報を記憶可能な記憶部と、
前記コントローラー部を動作させる通常モード時に前記コントローラー部より出力された前記応答データに含まれる前記情報を抽出して前記記憶部に記憶させる情報蓄積部と、
予め設定された前記通常モードから待機モードへ移行する条件が満足され前記通常モードから前記待機モードへ移行する際、前記記憶された情報に漏れが無いか確認し、漏れがあるとき前記コントローラー部から漏れている前記情報を取得する再帰応答要求部と、
前記再帰応答要求部による漏れている前記情報の取得後、前記コントローラー部への電力供給を遮断して自らが前記コントローラー部に代わって前記応答データを出力する前記待機モードに移行するように制御する待機応答制御部と
を有する待機応答部と
を備えた電子機器の、前記通常モード応答データ作成部、前記情報蓄積部、前記再帰応答要求部、および前記待機応答制御部としてコンピューターを稼働させる
通信制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ホストコンピューターからの問合せに対し代理応答する電子機器およびその電子機器で動作する通信制御プログラムに関する。
【背景技術】
【０００２】
従来から、文書や画像を印刷可能な電子機器である複合機（Multifunctional Peripheral, MFP）等の画像形成装置が存在する。
【０００３】
これらの画像形成装置は、省エネルギー対策としてユーザーが画像形成装置を使用しない状態で予め設定された時間を経過すると、消費電力の大きい各部への電力供給を停止して、一部の機能のみへ電力供給を行う低消費電力の待機状態(以下、「待機モード」という)に移行する。
しかし、一旦待機モードに移行すると、ユーザーが画像形成装置を使用できる状態(以下、「通常モード」という)になるまで時間がかかる。
たとえば、ホストコンピューターがネットワークを経由して画像形成装置の情報を確認するための情報要求データを待機モードの画像形成装置に送信すると、画像形成装置は、待機モードから通常モードに移行して応答データを送信するので時間がかかる。このため、ホストコンピューターから情報要求データを何回も送信されると、待機モードから通常モードに移行する回数が増加し、更に待機モードとなる時間が短くなるので消費電力を効率的に減らすことができない。
そのため、ホストコンピューターからの情報要求データに対し、待機モードにある画像形成装置のコントローラー部に代わって代理応答する待機応答部が考案された（例えば、特許文献１参照）。待機応答部の消費電力はコントローラー部より低くなるように設計されているので、画像形成装置はコントローラー部を待機モードに移行させて消費電力を抑えつつホストコンピューターからの問合せに答えることが出来る。
特許文献１の技術では、ホストコンピューターとコントローラー部との間でのＳＮＭＰ（Simple Network Management Protocol）によるやり取りを待機応答部が盗み見て（スヌープして）自身の記憶部にSNMP応答情報を蓄積する。そしてSNMP応答情報に欠けがある場合にはGetNextリクエストを再帰的に送信して欠損している情報を補完する。
欠損している情報を補完するので、待機モードに入った後でも待機応答部がホストコンピューターからの問合せに適切に代理応答することが出来、SNMPに応答するためだけにコントローラー部を通常モードに復帰させる必要はなくなる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１５−１２８２１４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、SNMPに対応した特許文献１の技術では、待機応答部の記憶部に蓄積されたSNMP応答情報のうち、どの情報が欠損しているかを判断し、補完が完了する前に通常モードから待機モードに移行してしまい、待機モードで代理応答する際のSNMP応答情報に欠けが残る場合があった。
【０００６】
以上のような事情に鑑み、本発明の目的は、待機モードへの移行時に、待機応答部に蓄積されたデータの欠けの補完を完了させることが出来る電子機器および通信制御プログラムを提供することにある。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、本発明の一形態に係る電子機器は、ネットワークを介して受信した１種類以上の情報要求データに応じて、各々の情報要求データに応じた情報を含む応答データを出力する通常モード応答データ作成部を有するコントローラー部と、前記情報を記憶可能な記憶部と、前記コントローラー部を動作させる通常モード時に前記コントローラー部より出力された前記応答データに含まれる前記情報を抽出して前記記憶部に記憶させる情報蓄積部と、予め設定された前記通常モードから待機モードへ移行する条件が満足され前記通常モードから前記待機モードへ移行する際、前記記憶された情報に漏れが無いか確認し、漏れがあるとき前記コントローラー部から漏れている前記情報を取得する再帰応答要求部と、前記再帰応答要求部による漏れている前記情報の取得後、前記コントローラー部への電力供給を遮断して自らが前記コントローラー部に代わって前記応答データを出力する前記待機モードに移行するように制御する待機応答制御部とを有する待機応答部とを備える。
【０００８】
そのため、待機モードへの移行時に、待機応答部に蓄積されたデータの欠けの補完を完了させることが出来る。
【０００９】
上記目的を達成するため、本発明の一形態に係る電子機器では、前記待機応答制御部は、前記記憶された情報に漏れが無いか確認する際、まず前記通常モード応答データ作成部から当該電子機器が提供するサービスの一覧であるサービス一覧を取得し、取得した前記サービス一覧に基づいて漏れが無いかを確認する構成でもよい。
【００１０】
上記目的を達成するため、本発明の一形態に係る電子機器では、前記情報要求データに対する応答データの作成は、ボンジュールプリンティング仕様に基づいて行われる構成でもよい。
【００１１】
上記目的を達成するため、本発明の一形態に係る通信制御プログラムは、ネットワークを介して受信した１種類以上の情報要求データに応じて、各々の情報要求データに応じた情報を含む応答データを出力する通常モード応答データ作成部を有するコントローラー部と、前記情報を記憶可能な記憶部と、前記コントローラー部を動作させる通常モード時に前記コントローラー部より出力された前記応答データに含まれる前記情報を抽出して前記記憶部に記憶させる情報蓄積部と、予め設定された前記通常モードから待機モードへ移行する条件が満足され前記通常モードから前記待機モードへ移行する際、前記記憶された情報に漏れが無いか確認し、漏れがあるとき前記コントローラー部から漏れている前記情報を取得する再帰応答要求部と、前記再帰応答要求部による漏れている前記情報の取得後、前記コントローラー部への電力供給を遮断して自らが前記コントローラー部に代わって前記応答データを出力する前記待機モードに移行するように制御する待機応答制御部とを有する待機応答部とを備えた電子機器の、前記通常モード応答データ作成部、前記情報蓄積部、前記再帰応答要求部、および前記待機応答制御部としてコンピューターを稼働させる。
【発明の効果】
【００１２】
以上のように、本発明によれば、待機モードへの移行時に、待機応答部に蓄積されたデータの欠けの補完を完了させることが出来る。
【図面の簡単な説明】
【００１３】
【図１】本発明の応答システムのシステム構成図である。
【図２】本発明の画像形成装置の実施の形態に係る応答装置の制御構成を示すブロック図である。
【図３】図１に示す応答装置のボンジュールプリンティング情報の構成を示す概念図である。
【図４】本発明の実施の形態に係る応答装置の通常モード処理のフローチャートである。
【図５】図４に示すボンジュールプリンティング情報蓄積処理の概念図である。
【図６】図４に示す待機モード移行処理及び待機モード待機応答開始処理の詳細を示すフローチャートである。
【図７】図４に示す情報要求データ再帰的送信処理の概念図である。
【図８】本発明の実施の形態に係る応答装置の待機モード処理のフローチャートである。
【図９】図８に示す応答データ作成処理の概念図である。
【図１０】図８に示す通常モード移行処理の詳細を示すフローチャートである。
【発明を実施するための形態】
【００１４】
以下、図面を参照しながら、本発明の実施形態を説明する。なお、以下の説明では電子機器の例として応答装置を挙げて説明する。
＜実施の形態＞
〔応答システムＸの構成〕
まず、図１により、本発明の実施の形態に係る応答システムＸの構成について、説明する。
応答システムＸは、応答装置１と端末２で構成され、応答装置１と端末２は、ネットワーク５で接続されている。
応答装置１は、プリンター、多機能プリンター、多機能周辺装置、又は複合機などのＭＦＰである画像形成装置、又はネットワーク５を経由して情報要求データ１３１を受信し、情報要求データ１３１に対する応答データ１３２を送信するその他の装置である。
端末２は、応答装置１に対して情報要求データ１３１を送信し、情報要求データ１３１に対する応答データ１３２を受信するＰＣ（Personal Computer）等のコンピューターである。
ネットワーク５は、ＬＡＮ、無線ＬＡＮ、ＷＡＮ、携帯電話網等の外部ネットワークである。ネットワーク５は、例えば、ＴＣＰ／ＩＰのパケットを送受信可能である。
【００１５】
〔応答装置１の制御構成〕
次に、図２により、応答装置１の制御構成について説明する。
本発明の実施の形態に係る応答装置１は、コントローラー部１０、待機応答部２０、及び通信インターフェイス部３０を備えている。各部は、通信インターフェイス部３０を介してネットワーク５へ接続される。
【００１６】
（コントローラー部１０の構成）
コントローラー部１０は、画像形成装置等の各部を制御する主基板とネットワークカード等の機能を備えたホストコントローラーである。コントローラー部１０は、コントローラー制御部１００、コントローラー入力部１１０、コントローラー出力部１２０、記憶部１３０、及び電源部１４０を備えている。
コントローラー部１０は、応答装置１が通常モードのときに、情報要求データ１３１を入力し、応答データ１３２を出力する。このため、コントローラー部１０において、コントローラー制御部１００は、コントローラー入力部１１０で受信した受信パケットを処理し、コントローラー出力部１２０へ応答パケットを送信する。
【００１７】
コントローラー制御部１００は、ＧＰＰ（General Purpose Processor）、ＣＰＵ（Central Processing Unit、中央処理装置）、ＭＰＵ（Micro Processing Unit）、ＤＳＰ（Digital Signal Processor）、ＧＰＵ（Graphics Processing Unit）、ＡＳＩＣ（Application Specific Processor、特定用途向けプロセッサー）等の情報処理手段である。また、コントローラー制御部１００は、通常モード応答データ作成部１０１を備えている。この通常モード応答データ作成部１０１の詳細については後述する。
コントローラー制御部１００は、記憶部１３０のＲＯＭ（Read Only Memory）やＨＤＤ（Hard Disk Drive）に記憶されている制御プログラムを読み出して、この制御プログラムをＲＡＭ（Random Access Memory）に展開させて実行することで、後述する機能ブロックの各部として動作させられる。また、コントローラー制御部１００は、図示しない外部の端末や操作パネル部から入力された所定の指示情報に応じて、画像形装置等の装置全体の制御を行う。
【００１８】
コントローラー入力部１１０は、待機応答部２０から受信したパケットをコントローラー制御部１００へ出力する。言い換えると、コントローラー制御部１００は、コントローラー入力部１１０を介して、待機応答部２０から出力される情報要求データ１３１を入力する。
より詳しく説明すると、コントローラー入力部１１０は、通信インターフェイス部３０の受信部３１０から入力され待機応答部２０から出力された情報要求データ１３１を入力する。また、コントローラー入力部１１０は、これに加え、後述する再帰応答要求部２０２により再帰的に送信され待機応答部２０から出力された情報要求データ１３１も入力する。
【００１９】
コントローラー出力部１２０は、コントローラー制御部１００により作成されたパケットを、待機応答部２０へ出力する。言い換えると、コントローラー出力部１２０は、応答データ１３２を待機応答部２０に出力する。
【００２０】
記憶部１３０は、ＲＡＭ、ＲＯＭ、フラッシュメモリー（登録商標）等の半導体メモリー、又はＨＤＤ等の記録媒体を含む。また、記憶部１３０は、情報要求データ１３１及び応答データ１３２を記憶する。
記憶部１３０のＲＡＭは、待機モードの状態であっても、セルフリフレッシュ等の機能により、記憶内容が保持される。また、記憶部１３０のＲＯＭやＨＤＤには応答装置１の動作制御を行うための制御プログラムが記憶されている。これに加えて、記憶部１３０は、ユーザーのアカウント設定も記憶していてもよい。また、記憶部１３０には、ユーザー毎の保存フォルダーの領域が含まれていてもよい。
なお、記憶部１３０は、待機モードのときには、待機応答部２０から読み出しや書き込みが不可能であってもよい。
【００２１】
電源部１４０は、コントローラー部１０のコントローラー制御部１００を含む各部に電源を供給する。また、電源部１４０は、待機応答部２０の待機応答制御部２００からの入力を受けて、コントローラー制御部１００の電源を制御する。電源部１４０は、待機応答部２０からの制御により電源がオンされると各部に電力を供給し、またはオフされると各部への電力の供給を停止する。
【００２２】
通常モード応答データ作成部１０１は、通常モードのときに、応答データ１３２を作成する。通常モード応答データ作成部１０１は、コントローラー入力部１１０から情報要求データ１３１を取得すると、一時的に記憶部１３０に記憶する。
通常モード応答データ作成部１０１は、この情報要求データ１３１を参照して、応答が必要な場合は、応答データ１３２を作成してコントローラー出力部１２０に出力する。
また、通常モード応答データ作成部１０１は、記憶部１３０に予め設定された条件になった場合、通常モードから待機モードに移行させる。通常モード応答データ作成部１０１は、この予め設定された条件として、例えばユーザーの指示を検知しなくなってから、図示しないタイマーで設定された時間が経過した場合、通常モードから待機モードに移行させる。このユーザーの指示を検知しなくなる条件としては、例えば、印刷データ等を受信せず、操作パネルにユーザーが最後に触れてから設定された時間が経過した場合等の条件を設定可能である。
【００２３】
ここで、応答装置１のコントローラー制御部１００は、記憶部１３０に記憶された制御プログラムを実行することで、通常モード応答データ作成部１０１として機能する。
【００２４】
情報要求データ１３１は、ボンジュールプリンティング仕様により応答装置１の各種情報を要求するためのデータである。情報要求データ１３１は、コントローラー入力部１１０から取得され、通常モード応答データ作成部１０１により一時的に記憶される。
【００２５】
応答データ１３２は、情報要求データ１３１に対して、ボンジュールプリンティング仕様に従った応答を行うためのデータである。応答データ１３２は、通常モード応答データ作成部１０１により作成され、コントローラー出力部１２０に出力される。
【００２６】
（待機応答部２０の構成）
待機応答部２０は、応答装置１が待機モードのときに、ネットワーク５に対して待機応答を行うＡＳＩＣ等を含んでいる待機応答のための手段である。待機応答部２０は、待機応答制御部２００、待機応答入力部２１０、待機応答出力部２２０、及び記憶部２３０を備えている。これらの各部は、各種バスで接続されている。
待機応答部２０は、待機モードのときに、通信インターフェイス部３０から情報要求データ１３１を入力し、通信インターフェイス部３０へ応答データ１３２を出力する。
【００２７】
待機応答制御部２００は、ＧＰＰ、ＭＰＵ、又はＣＰＵ等の制御手段を備えている。また、待機応答制御部２００は、待機モード応答データ作成部２０１、再帰応答要求部２０２、情報蓄積部２０３、及び電源制御部２０４を備えている。これらの各部の詳細については、後述する。
待機応答制御部２００は、待機応答入力部２１０、待機応答出力部２２０、及び記憶部２３０に接続されており、各部の制御を行う。また、待機応答制御部２００は、コントローラー部１０のコントローラー制御部１００よりも消費電力が少なくてもよい。
【００２８】
待機応答入力部２１０は、通信インターフェイス部３０又は再帰応答要求部２０２から入力されたパケットを、コントローラー部１０又は待機応答制御部２００の待機モード応答データ作成部２０１へ出力する。また、待機応答入力部２１０は、通信インターフェイス部３０から出力される情報要求データ１３１を入力する。
【００２９】
待機応答出力部２２０は、コントローラー部１０から入力された応答データ１３２を、情報蓄積部２０３および通信インターフェイス部３０へ出力する。また、待機応答出力部２２０は、待機応答制御部２００の待機モード応答データ作成部２０１から入力された応答データ１３２を通信インターフェイス部３０へ出力する。
【００３０】
記憶部２３０は、ＲＡＭ、ＲＯＭ、フラッシュメモリー（登録商標）等の記録媒体を含む記憶手段である。記憶部２３０の記憶容量は、コントローラー部１０の記憶部１３０より少なくてもよい。
なお、記憶部２３０は、待機応答制御部２００に内蔵されていてもよい。また、待機応答制御部２００が実行するプログラム及びデータについてのみ、待機応答制御部２００に内蔵されたＲＯＭ等に記憶されていてもよい。
【００３１】
待機モード応答データ作成部２０１は、応答装置１が待機モードのときに、情報蓄積部２０３により記憶部２３０に記憶され蓄積されたボンジュールプリンティング情報２３２から、応答データ１３２を作成する。
待機モード応答データ作成部２０１は、待機応答入力部２１０から入力されたパケットの応答を、記憶部２３０のデータを用いて作成する。
なお、待機モード応答データ作成部２０１は、応答データ１３２が作成できない場合は、コントローラー部１０を復帰させる。このため、待機モード応答データ作成部２０１は、電源制御部２０４から、復帰命令を電源部１４０に通知させる。
【００３２】
再帰応答要求部２０２は、通常モードから待機モードへの移行時に、通常モード応答データ作成部１０１に対して、サービス一覧（後述）を要求する情報要求データ１３１およびサービス一覧に基づいて欠損していると判断された情報を要求する情報要求データ１３１を再帰的に送信する。
【００３３】
情報蓄積部２０３は、通常モード時にコントローラー部１０から待機応答出力部２２０を経由して、通信インターフェイス部３０に出力される応答データ１３２の情報を盗み見て（スヌープして）解析し、必要な情報を記憶部２３０に記憶させ蓄積する。また、情報蓄積部２０３は、通常モードから待機モードへ移行するときに、再帰応答要求部２０２により再帰的に送信された情報要求データ１３１に対応して通常モード応答データ作成部１０１により作成された応答データ１３２の情報を蓄積する。
【００３４】
電源制御部２０４は、コントローラー部１０の電源部１４０をオンまたはオフに制御する。
電源制御部２０４は、コントローラー部１０からの待機モード移行命令を受信すると、待機応答部２０に待機モード移行処理（後述）を行わせた後、コントローラー部１０の電源部１４０をオフにし、待機応答部２０の待機モードでの処理を開始させる。
また、電源制御部２０４は、待機モード応答データ作成部２０１により通常モードへ移行する指示を受信すると、電源部１４０をオンにする。これにより、電源制御部２０４は、電源部１４０を介してコントローラー部１０の電源を復帰させ、通常モードの処理を開始させる。
【００３５】
ここで、応答装置１の待機応答制御部２００は、記憶部２３０に記憶された制御プログラムを実行することで、待機モード応答データ作成部２０１、再帰応答要求部２０２、情報蓄積部２０３、及び電源制御部２０４として機能する。
【００３６】
記憶部２３０は、情報要求データ１３１およびボンジュールプリンティング情報２３２を記憶する。ボンジュールプリンティング情報２３２の構成については、後述する。
なお、ボンジュールプリンティング情報２３２は、応答装置１の起動時には、情報が設定されていなくてもよい。
【００３７】
（通信インターフェイス部３０の構成）
通信インターフェイス部３０は、Ｅｔｈｅｒｎｅｔ（登録商標）等のインターフェイスにおいて、論理信号を実際の電気的な信号に変換する物理層（Physical Layer）のインターフェイスである。通信インターフェイス部３０は、ネットワーク５に対応して接続するための着脱可能なＬＡＮインターフェイスであってもよい。
通信インターフェイス部３０は、受信部３１０および送信部３２０を備えている。
【００３８】
受信部３１０は、ネットワーク５から受信したＥｔｈｅｒｎｅｔ（登録商標）フレームやパケット等のデータ（以下、「パケット」と呼ぶ。）を、待機応答部２０へ出力する。言い換えると、受信部３１０は、端末２から送信される情報要求データ１３１のパケットを受信すると、当該情報要求データ１３１を待機応答部２０に出力する。
【００３９】
送信部３２０は待機応答部２０から出力されたパケットをネットワーク５へ送信する。
具体的には、送信部３２０は、待機応答部２０から応答データ１３２を入力すると、応答データ１３２のパケットを端末２に送信する。
【００４０】
（ボンジュールプリンティング情報２３２の詳細構成）
次に、図３により、待機応答部２０の記憶部２３０に記憶されるボンジュールプリンティング情報２３２の構成について例を用いて説明する。
【００４１】
ボンジュールプリンティング情報２３２は、階層構造になっている。端末２は、最初に一番上の層であるサービス一覧２３２ａを応答装置１から取得する。その内容を解析した上で更に詳しい情報（例えばデバイス名）が必要であれば、取得したサービス一覧２３２ａに基づいてさらに情報要求データ１３１を応答装置１に送信し、詳しい情報を取得する。
【００４２】
そして、さらに詳細な情報（ポート番号、printフォーマットなど）を取得する場合、端末２は、デバイス名を用いた情報要求データ１３１を作成し応答装置１に送信し、詳細情報２３２ｃを取得する。
【００４３】
より具体的に言うなら、端末２は、応答装置１が提供するサービスの一覧を知りたい場合、"_service._dns-sd._upd.local:PTR"クエリを応答装置１に送信する。その場合、応答装置１は、サービス一覧２３２ａを応答として返信する。図３に示すサービス一覧２３ａの例では、printer（通常の印刷処理）、ipp（インターネット印刷）、http（Ｗｅｂサーバー）の３つのサービスが応答装置１から提供されていることが分かる。なお、ここでいうクエリとは情報要求データ１３１のことである。
【００４４】
次に、例えば、httpサービスのデバイス名を取得するために、端末２は、"_http._tcp.local:PTR"クエリを応答装置１に送信する。その場合、応答装置１は、httpサービスのデバイス名を含んだデバイス名情報２３２ｂを端末２に返信する。なお、図３のデバイス名情報２３２ｂにある<DeviceName>には、実際には具体的なデバイス名が記述される。
【００４５】
次に、例えば、httpサービスの詳細情報（ポート番号、printフォーマットなど）を知りたい場合、端末２は、"<DeviceName>._http._tcp.local:SRV"クエリ、または"<DeviceName>._http._tcp.local:TXT"クエリを応答装置１に送信する。その場合、応答装置１は、httpサービスの詳細情報２３２ｃを端末２に返信する。
【００４６】
以上のように、ボンジュールプリンティングでは、サービス一覧２３２ａを最初に取得し、そこから情報を辿ることにより、全ての情報を入手することが出来る。
【００４７】
応答装置１では、通常モードから待機モードへの移行時に、再帰応答要求部２０２がサービス一覧２３２ａを取得し、通常モードの間に記憶部２３０に蓄積したボンジュールプリンティング情報２３２に漏れ（欠損）が無いかを確認する。漏れがある場合、漏れを補完するために、再帰応答要求部２０２が再帰的に通常モード応答データ作成部１０１に情報要求データ１３１を送信し漏れの補完を完了した後、待機モードに移行する。なお、待機モードへの移行時に毎回、サービス一覧２３２ａを取得するのは、最新の内容に更新されたサービス一覧２３２ａを使用するためである。
【００４８】
そのため、待機モードに移行後、ボンジュールプリンティング情報２３２に漏れは無く、端末２からボンジュールプリンティング情報２３２に関する情報要求データ１３１が来る範囲では、代理応答を行うことが出来る。そのため、通常モードに移行しコントローラー部１０を復帰させる必要は無い。
【００４９】
〔応答装置１による通常モード処理〕
次に、図４〜図６を参照して、本発明の実施の形態に係る応答装置１による通常モード時の動作である通常モード処理の説明を行う。
本実施形態の通常モード処理では、通常モードのときに、情報要求データ１３１に対して、コントローラー部１０が応答データ１３２を作成して応答する。この際、待機応答部２０は、送信されるパケットを盗み見て（スヌープして）、待機モード時の応答に必要な情報を抽出し、記憶部２３０に記憶する。具体的には、コントローラー部１０によりサービス一覧２３２ａ、デバイス名情報２３２ｂ、詳細情報２３２ｃが送信された場合、待機応答部２０は、これを取得し、記憶部に２３０に記憶させ蓄積する。
本実施形態の通常モード処理は、主に、コントローラー部１０ではコントローラー制御部１００が記憶部１３０に記憶されたプログラムを読み出し、待機応答部２０では待機応答制御部２００が記憶部２３０に記憶されたプログラムを呼び出し、各部と協働し、ハードウェア資源を用いて実行する。
以下で、図４のフローチャートを参照して、通常モード処理の詳細を、左側のコントローラー部１０の処理と右側の待機応答部２０の処理に分けてステップ毎に説明する。
【００５０】
（ステップＳ１０１）
まず、コントローラー入力部１１０が、受信処理を行う。
ここでは、まず、通信インターフェイス部３０の受信部３１０で、ネットワーク５からのパケットが受信された場合、待機応答部２０の待機応答入力部２１０へ入力される。
また、待機応答制御部２００の再帰応答要求部２０２から再帰的に送信されたパケットについても、待機応答入力部２１０に入力される。次に、待機応答部２０の待機応答入力部２１０に入力されたパケットは、コントローラー部１０のコントローラー入力部１１０へ入力される。
コントローラー入力部１１０は、入力されたパケットを、コントローラー制御部１００へ出力する。
【００５１】
（ステップＳ１０２）
次に、通常モード応答データ作成部１０１が、受信されたパケット又は再帰応答のパケットがあるか否かを判定する。通常モード応答データ作成部１０１は、受信部３１０で受信された又は再帰応答要求部２０２から再帰的に送信されたパケットを入力している場合には、Ｙｅｓと判定する。通常モード応答データ作成部１０１は、それ以外の場合には、Ｎｏと判定する。
Ｙｅｓの場合、コントローラー制御部１００は、処理をステップＳ１０３に進める。
Ｎｏの場合、コントローラー制御部１００は、処理をステップＳ１０１に戻して、パケットを受信するまで待機する。
【００５２】
（ステップＳ１０３）
受信したパケット又は再帰応答のパケットがあった場合、通常モード応答データ作成部１０１が、受信パケット対応処理を行う。
通常モード応答データ作成部１０１は、コントローラー入力部１１０に入力されたパケットの処理を行う。
通常モード応答データ作成部１０１は、入力されたパケットが画像形成を含む応答装置１の各種制御に必要なパケットであった場合、取得したパケットに対応する各種プロトコルに従って、必要な処理を行う。
また、通常モード応答データ作成部１０１は、入力されたパケットが情報要求データ１３１であった場合には、これを記憶部１３０に一時的に記憶する。
【００５３】
（ステップＳ１０４）
次に、通常モード応答データ作成部１０１が、応答データ１３２の作成が必要か否かを判定する。通常モード応答データ作成部１０１は、受信したパケットが情報要求データ１３１であり、応答データ１３２の作成が必要な場合に、Ｙｅｓと判定する。また、通常モード応答データ作成部１０１は、再帰応答のパケットであった場合、応答データ１３２の作成が必要であるとして、Ｙｅｓと判定する。通常モード応答データ作成部１０１は、それ以外の場合には、Ｎｏと判定する。
Ｙｅｓの場合、コントローラー制御部１００は、処理をステップＳ１０５に進める。
Ｎｏの場合、コントローラー制御部１００は、処理をステップＳ１０６に進める。
【００５４】
（ステップＳ１０５）
応答データ１３２の作成が必要な場合、通常モード応答データ作成部１０１が、応答データ作成処理を行う。
通常モード応答データ作成部１０１は、一時的に記憶された情報要求データ１３１に対応する応答データ１３２を作成する。
【００５５】
（ステップＳ１０６）
ここで、通常モード応答データ作成部１０１が、送信するパケットがあるか否かを判定する。まず、通常モード応答データ作成部１０１は、応答データ１３２が作成された場合に、Ｙｅｓと判定する。また、通常モード応答データ作成部１０１は、応答装置１の各種制御に必要なパケットにより必要な処理をして、各種プロトコルに対応した送信用のパケットを作成した場合にも、Ｙｅｓと判定する。通常モード応答データ作成部１０１は、それ以外の場合には、Ｎｏと判定する。
Ｙｅｓの場合、コントローラー制御部１００は、処理をステップＳ１０７に進める。
Ｎｏの場合、コントローラー制御部１００は、処理をステップＳ１０８に進める。
【００５６】
（ステップＳ１０７）
送信が必要なパケットがある場合、通常モード応答データ作成部１０１が、送信処理を行う。
コントローラー制御部１００は、送信するパケットをコントローラー出力部１２０から出力させる。
コントローラー出力部１２０は、送信するパケットを、待機応答部２０の待機応答出力部２２０へ出力する。
この送信するパケットは、待機応答出力部２２０により、通信インターフェイス部３０の送信部３２０へ出力される。この送信するパケットは、送信部３２０により、ネットワーク５へ出力される。
また、この送信するパケットは、待機応答出力部２２０から、待機応答制御部２００の情報蓄積部２０３へも出力される（この出力のタイミングをタイミングＴ１０１とする）。以下では、タイミングＴ１０１から行われる待機応答部２０における処理を説明する。
【００５７】
（ステップＳ２０１）
タイミングＴ１０１で、コントローラー部１０が応答データ１３２を送信した後、待機応答部２０の情報蓄積部２０３が、送信パケット取得処理を行う。
情報蓄積部２０３は、待機応答出力部２２０から端末２へ送信されるパケットを取得して（スヌープして）、解析する。
【００５８】
（ステップＳ２０２）
次に、情報蓄積部２０３が、取得したパケットがボンジュールプリンティング情報か否かを判定する。情報蓄積部２０３は、取得したパケットがボンジュールプリンティングの応答データ１３２のパケットの場合に、Ｙｅｓと判定する。情報蓄積部２０３は、それ以外の場合には、Ｎｏと判定する。
Ｙｅｓの場合、待機応答制御部２００は、処理をステップＳ２０３に進める。
Ｎｏの場合、待機応答制御部２００は、処理をステップＳ２０４に進める。
【００５９】
（ステップＳ２０３）
ボンジュールプリンティングの応答データ１３２のパケットの場合、情報蓄積部２０３が、ボンジュールプリンティング情報蓄積処理を行う。
図５によると、情報蓄積部２０３は、当該パケットのボンジュールプリンティングに関するレスポンスを、記憶部２３０のボンジュールプリンティング情報２３２に記憶する。
【００６０】
（ステップＳ２０４）
ここで、待機応答制御部２００は、コントローラー部１０から待機モード移行命令を受け取って待機モードに移行するか否かを判定する。待機応答制御部２００は、待機モードに移行する場合、Ｙｅｓと判定する。待機応答制御部２００は、待機モードに移行しない場合、Ｎｏと判定する。
Ｙｅｓの場合、待機応答制御部２００は、処理をステップＳ２０５に進める。
Ｎｏの場合、待機応答制御部２００は、処理をステップＳ２０１に戻す。
【００６１】
（ステップＳ２０５）
待機モード移行処理（後述）を行う。
【００６２】
（ステップＳ２０９）
ここで、待機応答制御部２００は、コントローラー部１０が待機モードに移行するまで待機している。
待機応答制御部２００の電源制御部２０４は、待機モード待機応答開始処理を行う。
待機応答制御部２００は、待機応答部２０における待機モードでの処理を開始する。
この待機モード待機応答開始処理の詳細についても後述する。
その後、待機応答制御部２００は、通常モード処理における待機応答部２０による処理を終了する。
【００６３】
（ステップＳ１０８）
再び、コントローラー部１０の処理について説明する。
ここで、通常モード応答データ作成部１０１が、待機モードへ移行するか否かを判定する。通常モード応答データ作成部１０１は、予め設定された条件になった場合に、Ｙｅｓと判定する。通常モード応答データ作成部１０１は、それ以外の場合には、Ｎｏと判定する。
Ｙｅｓの場合、コントローラー制御部１００は、処理をステップＳ１０９に進める。
Ｎｏの場合、コントローラー制御部１００は、処理をステップＳ１０１に戻して、ホストコントローラーの処理を含む各種処理を続ける。
【００６４】
（ステップＳ１０９）
待機モードに移行する場合、通常モード応答データ作成部１０１が、待機モード移行処理を行う。
コントローラー制御部１００は、この際に、待機応答部２０に、待機モード移行命令を送信する（待機モード移行命令を送信するタイミングをタイミングＴ１０２とする）。
この待機モード移行処理の詳細は後述する。
これにより、通常モード処理のコントローラー部１０の処理を終了する。
【００６５】
以上により、本発明の実施の形態に係る通常モード処理を終了する。
【００６６】
〔応答装置１による待機モード移行処理および待機モード待機応答開始処理〕
次に、図６により、図４のステップＳ１０９、Ｓ２０５の待機モード移行処理、及びステップＳ２０９の待機モード待機応答開始処理の詳細について説明する。
【００６７】
（ステップＳ１２１）
まず、コントローラー制御部１００が、待機モード移行命令送信処理を行う。
コントローラー制御部１００は、待機応答部２０の待機応答制御部２００に、待機モードに移行することを伝える待機モード移行命令を送信する（タイミングＴ１０２）。
【００６８】
（ステップＳ２２１）
次に、再帰応答要求部２０２が、通常モード応答データ作成部１０１に対して、サービス一覧２３２ａを要求する。
【００６９】
（ステップＳ１２２）
サービス一覧２３２ａの要求を受けた通常モード応答データ作成部１０１が、サービス一覧２３２ａを再帰応答要求部２０２に返す。
【００７０】
（ステップＳ２２２）
次に、サービス一覧２３２ａを取得した再帰応答要求部２０２は、サービス一覧２３２ａに基づいて、記憶部２３０に記憶しているボンジュールプリンティング情報２３２に漏れが無いか否かを、ボンジュールプリンティング情報２３２を探索して確認する。
【００７１】
（ステップＳ２２３）
記憶部２３０に記憶しているボンジュールプリンティング情報２３２に漏れがあった場合、再帰応答要求部２０２は、漏れている情報を通常モード応答データ作成部１０１に要求する。
【００７２】
（ステップＳ１２３）
漏れている情報を要求された通常モード応答データ作成部１０１は、該当する情報を再帰応答要求部２０２に送信する。
このように、再帰応答要求部２０２は、漏れている情報を通常モード応答データ作成部１０１から取得して、ボンジュールプリンティング情報２３２に漏れが無い状態にしてから待機モードに入る。そのため、ボンジュールプリンティング仕様に基づいて応答データを作成する限り、コントローラー部１０を起こして通常モードに移行する必要は無い。
【００７３】
（ステップＳ１２４）
次に、コントローラー部１０のコントローラー制御部１００が、セルフリフレッシュ適用処理を行う。
コントローラー制御部１００は、各種ステート等を記憶部１３０のＨＤＤやフラッシュメモリー等の記録媒体に記憶する。コントローラー制御部１００が所定時間アクセスしないと、記憶部１３０のＲＡＭ等は、セルフリフレッシュの状態になる。
以上により、コントローラー部１０の待機モード移行処理を終了する。
【００７４】
（ステップＳ２２４）
次に、待機応答部２０の待機応答制御部２００が、受信出力切り換え処理を行う。
待機応答制御部２００は、待機応答入力部２１０の出力を待機モード応答データ作成部２０１へ切り換える。
【００７５】
（ステップＳ２２５）
次に、待機応答制御部２００が、送信出力切り換え処理を行う。
待機応答制御部２００は、待機応答出力部２２０の出力を、通信インターフェイス部３０の送信部３２０と、待機応答制御部２００の待機モード応答データ作成部２０１との両方に切り換える。
【００７６】
（ステップＳ２２６）
次に、待機応答制御部２００が、電源制御処理を行う。
待機応答制御部２００は、コントローラー部１０の電源部１４０を制御して、電源供給をオフにさせる。
また、待機応答制御部２００は、待機モードで実行するための制御プログラムを記憶部２３０のＨＤＤやフラッシュメモリー等からＲＡＭへ読み出して、下記で説明する待機モード処理を実行開始する。
以上により、待機応答部２０の待機モード待機応答開始処理を終了する。
【００７７】
〔応答装置１による待機モード処理〕
次に、図８〜図９を参照して、本発明の実施の形態に係る応答装置１による待機モード処理の説明を行う。
本実施形態の待機モード処理は、待機モード時に、待機応答部２０が、情報蓄積部２０３により記憶部２３０に記憶されたボンジュールプリンティング情報２３２により、応答データ１３２を作成して応答を行う。この際、コントローラー部１０が対応すべきパケットであった場合は、コントローラー部１０を通常モードに復帰させて対応させる。
本実施形態の待機モード処理では、主に、待機応答部２０の待機応答制御部２００が、記憶部２３０に記憶されたプログラムを、各部と協働し、ハードウェア資源を用いて実行する。
以下で、図８のフローチャートを参照して、待機モード処理の詳細をステップ毎に説明する。
【００７８】
（ステップＳ２１１）
まず、待機モード応答データ作成部２０１が、受信処理を行う。
図９によると、まず、受信部３１０にて、ネットワーク５からパケットを受信した場合、受信されたパケットが、待機応答入力部２１０へ入力される。この入力されたパケットは、待機応答制御部２００の待機モード応答データ作成部２０１へ入力される。
【００７９】
（ステップＳ２１２）
次に、待機モード応答データ作成部２０１が、受信されたパケットがあったか否かを判定する。待機モード応答データ作成部２０１は、受信されたパケットがあった場合に、Ｙｅｓと判定する。待機モード応答データ作成部２０１は、それ以外の場合には、Ｎｏと判定する。
Ｙｅｓの場合、待機応答制御部２００は、処理をステップＳ２１３に進める。
Ｎｏの場合、待機応答制御部２００は、処理をステップＳ２１１に戻して、パケットを受信するまで待機する。
【００８０】
（ステップＳ２１３）
受信されたパケットがあった場合、待機モード応答データ作成部２０１が、受信パケット解釈処理を行う。
待機モード応答データ作成部２０１は、受信されたパケットのプロトコルや送信元の情報等により、応答装置１により応答が必要か、その場合は、待機応答部２０で応答可能か、又はコントローラー部１０による応答が必要か等について解釈を行う。
また、待機モード応答データ作成部２０１は、受信されたパケットが情報要求データ１３１であった場合は、記憶部２３０に一時的に記憶する。
【００８１】
（ステップＳ２１４）
次に、待機モード応答データ作成部２０１が、応答データ１３２の作成が必要か否かを判定する。待機モード応答データ作成部２０１は、応答装置１により応答が必要なパケットであった場合に、Ｙｅｓと判定する。待機モード応答データ作成部２０１は、それ以外の場合には、Ｎｏと判定する。
Ｙｅｓの場合、待機応答制御部２００は、処理をステップＳ２１５に進める。
Ｎｏの場合、待機応答制御部２００は、処理をステップＳ２１１に戻して、パケットの受信を続ける。
【００８２】
（ステップＳ２１５）
応答が必要なパケットの場合、待機モード応答データ作成部２０１が、応答データ１３２の作成が可能か否かを判定する。待機モード応答データ作成部２０１は、記憶部２３０を参照し、ボンジュールプリンティング情報２３２から応答データ１３２を作成可能な場合は、Ｙｅｓと判定する。待機モード応答データ作成部２０１は、応答データ１３２を作成できない場合には、Ｎｏと判定する。この応答データ１３２が作成できない場合の具体例として、実際の印刷処理の要求が来た場合などが挙げられる。
Ｙｅｓの場合、待機応答制御部２００は、処理をステップＳ２１６に進める。
Ｎｏの場合、待機応答制御部２００は、処理をステップＳ２１８に進める。
【００８３】
（ステップＳ２１６）
応答データ１３２の作成が可能な場合、待機モード応答データ作成部２０１（待機応答制御部２００）が、応答データ作成処理を行う。
図９によると、待機モード応答データ作成部２０１は、ボンジュールプリンティング情報２３２に蓄積されたデータに基づいて、受信されたパケットに対応する応答用の応答データ１３２のパケットを作成し、記憶部２３０に一時的に記憶する。
【００８４】
（ステップＳ２１７）
次に、待機モード応答データ作成部２０１が、送信処理を行う。
待機応答制御部２００は、待機モード応答データ作成部２０１から入力された応答データ１３２として送信するパケットを、通信インターフェイス部３０の待機応答出力部２２０に出力する。
この送信するパケットは送信部３２０から、ネットワーク５へ送信される。
【００８５】
（ステップＳ２１８）
応答が必要にもかかわらず、待機モード応答データ作成部２０１で応答データ１３２を作成できない場合、電源制御部２０４が、通常モード移行処理を行う。
待機応答制御部２００は、コントローラー部１０を復帰させて、応答データ１３２を作成させる。
この通常モード移行処理の詳細については後述する。
以上により、本実施形態の待機モード処理を終了する。
【００８６】
次に、図１０により、図８のステップＳ２１８の通常モード移行処理の詳細について説明する。
【００８７】
（ステップＳ２３１）
まず、待機応答制御部２００が、電源オン処理を行う。
待機応答制御部２００が、電源制御部２０４を介してコントローラー部１０の電源をオンにする。
【００８８】
（ステップＳ２３２）
次に、待機応答制御部２００が、コントローラー制御部復帰処理を行う。
待機応答制御部２００は、コントローラー制御部１００をリセット等する。
これにより、コントローラー制御部１００が記憶部１３０にアクセスすると、セルフリフレッシュ状態が解除される。
コントローラー制御部１００は、図６のステップＳ１２４でＨＤＤ等の記録媒体に記憶させた各種ステート等を記憶部のＲＡＭ等に書き戻す。
【００８９】
（ステップＳ２３３）
次に、待機応答制御部２００が、受信出力切り換え処理を行う。
待機応答制御部２００は、待機応答入力部２１０の出力を、待機モード応答データ作成部２０１から、コントローラー部１０のコントローラー入力部１１０へ切り換える。
【００９０】
（ステップＳ２３４）
次に、待機応答制御部２００が、送信出力切り換え処理を行う。
待機応答制御部２００は、待機応答出力部２２０の出力を、送信部３２０と、情報蓄積部２０３とになるよう切り換える。
以上により、通常モード移行処理を終了する。
【００９１】
［補足事項］
以上のように、本発明に係る電子機器１は、ネットワークを介して受信した１種類以上の情報要求データ１３１に応じて、各々の情報要求データ１３１に応じた情報を含む応答データ１３２を出力する通常モード応答データ作成部１０１を有するコントローラー部１０と、前記情報を記憶可能な記憶部２３０と、前記コントローラー部１０を動作させる通常モード時に前記コントローラー部１０より出力された前記応答データ１３２に含まれる前記情報を抽出して前記記憶部２３０に記憶させる情報蓄積部２０３と、予め設定された前記通常モードから待機モードへ移行する条件が満足され前記通常モードから前記待機モードへ移行する際、前記記憶された情報に漏れが無いか確認し、漏れがあるとき前記コントローラー部１０から漏れている前記情報を取得する再帰応答要求部２０２と、前記再帰応答要求部２０２による漏れている前記情報の取得後、前記コントローラー部１０への電力供給を遮断して自らが前記コントローラー部１０に代わって前記応答データ１３２を出力する前記待機モードに移行するように制御する待機応答制御部２００とを有する待機応答部２０とを備える。
【００９２】
そのため、待機モードへの移行時に、待機応答部に蓄積されたデータの欠けの補完を完了させることが出来る。
【００９３】
なお、本実施形態では、情報蓄積部２０３が蓄積する情報がボンジュールプリンティング仕様の応答データ１３２を作成するための情報である例で説明したが、これに限定されず、情報要求に対する応答として返信されるデータであれば各種情報を蓄積することができる。
このように構成することで、ボンジュールプリンティング以外の応答を行うことができる。
【００９４】
また、上記実施の形態の構成及び動作は例であって、本発明の趣旨を逸脱しない範囲で適宜変更して実行することができることは言うまでもない。
【産業上の利用可能性】
【００９５】
本発明は、電子機器に好適であるが、電子機器に限られるものではなく、応答データ１３２を送信する待機モードで動作可能な装置一般に適用できる。
【符号の説明】
【００９６】
１  応答装置
２  端末
５  ネットワーク
１０  コントローラー部
２０  待機応答部
３０  通信インターフェイス部
１００  コントローラー制御部
１０１  通常モード応答データ作成部
１１０  コントローラー入力部
１２０  コントローラー出力部
１３０、２３０  記憶部
１３１  情報要求データ
１３２  応答データ
１４０  電源部
２００  待機応答制御部
２０１  待機モード応答データ作成部
２０２  再帰応答要求部
２０３  情報蓄積部
２０４  電源制御部
２１０  待機応答入力部
２２０  待機応答出力部
２３０  記憶部
２３２  ボンジュールプリンティング情報
２３２ａ  サービス一覧
２３２ｂ  デバイス名情報
２３２ｃ  詳細情報
３１０  受信部
３２０  送信部
Ｘ  応答システム
【図１】
2018113651.tif 000003
【図２】
2018113651.tif 000004
【図３】
2018113651.tif 000005
【図４】
2018113651.tif 000006
【図５】
2018113651.tif 000007
【図６】
2018113651.tif 000008
【図７】
2018113651.tif 000009
【図８】
2018113651.tif 000010
【図９】
2018113651.tif 000011
【図１０】
2018113651.tif 000012