(57)【要約】【課題】リンタを優先度の高いプリントプラグインからの探索要求に応答することで、ユーザへの利便性を向上させることが可能な印刷装置を提供する。【解決手段】この印刷装置は、端末で管理される印刷モジュールからの探索要求を受信する受信手段と、印刷モジュールの優先度情報として優先テーブルを保持する保持手段と、保持手段が保持する優先テーブルを参照する参照手段と、参照手段による参照結果に基づいて、受信手段で受信した印刷モジュールが、優先度が最も高い最優先の印刷モジュールであるか否かを判定する判定手段と、印刷モジュールが最優先の印刷モジュールである場合に印刷モジュールの探索要求に対して応答する応答手段と、を有する。【選択図】図８
2016037032.tif 000002
【特許請求の範囲】
【請求項１】
端末で管理される印刷モジュールからの探索要求を受信する受信手段と、
印刷モジュールの優先度情報として優先テーブルを保持する保持手段と、
前記保持手段が保持する前記優先テーブルを参照する参照手段と、
前記参照手段による参照結果に基づいて、前記受信手段で受信した前記印刷モジュールが、優先度が最も高い最優先の印刷モジュールであるか否かを判定する判定手段と、
前記受信した印刷モジュールが前記最優先の印刷モジュールである場合に前記印刷モジュールの探索要求に対して応答する応答手段と、
を有する
ことを特徴とする印刷装置。
【請求項２】
前記判定手段により前記受信した前記印刷モジュールが最優先の印刷モジュールでないと判定された場合、前記応答手段による前記印刷モジュールの探索要求への応答を一定時間、待機状態させる待機手段
をさらに有し、
前記待機手段は、前記一定時間が経過した後、前記待機状態を解除する
ことを特徴とする請求項１に記載の印刷装置。
【請求項３】
前記受信した前記印刷モジュールの情報と、前記応答手段が応答した前記最優先の印刷モジュールの応答履歴として、応答情報を履歴テーブルに登録する登録手段
をさらに有し、
前記保持手段は、前記登録手段により登録された前記履歴テーブルを保持し、
前記待機状態の間に、前記受信手段が前記受信した印刷モジュールとは異なる他の印刷モジュールから探索要求を受信した場合、前記参照手段は、前記履歴テーブルを参照することを特徴とする請求項２に記載の印刷装置。
【請求項４】
前記参照手段による参照結果から、前記判定手段が前記履歴テーブルに前記他の印刷モジュールより優先度の高い印刷モジュールがないと判定した場合、前記応答手段は、前記他の印刷モジュールの探索要求に対して応答を行い、前記登録手段は、前記応答に基づいて履歴テーブルを更新する
ことを特徴とする請求項３に記載の印刷装置。
【請求項５】
前記判定手段が前記履歴テーブルに前記他の印刷モジュールより優先度の高い印刷モジュールがあると判定した場合、前記応答手段は、前記他の印刷モジュールの探索要求に応答しない
ことを特徴とする請求項３または４に記載の印刷装置。
【請求項６】
前記参照手段による参照結果から、前記判定手段が前記他の印刷モジュールの探索要求と前記印刷モジュールの探索要求の送信元が同一の端末でないと判定した場合、前記参照手段は、前記優先テーブルを参照する
ことを特徴とする請求項３乃至５のいずれか１項に記載の印刷装置。
【請求項７】
前記登録手段は、特定間隔で前記履歴テーブルに登録した情報を消去する
ことを特徴とする請求項３乃至６のいずれか１項に記載の印刷装置。
【請求項８】
前記優先テーブルは、前記印刷モジュールの優先度、前記印刷モジュールで使用するプロトコルの情報、及び前記印刷モジュールの名称を含む
ことを特徴とする請求項１乃至７のいずれか１項に記載の印刷装置。
【請求項９】
前記履歴テーブルは、前記印刷モジュールの優先度、前記印刷モジュールの受信時刻、前記印刷モジュールの送信元ＩＰアドレス、前記印刷モジュールの名称、前記印刷モジュールで使用するプロトコル、前記印刷モジュールに対の探索要求しての応答済みを示すフラグを含む
ことを特徴とする請求項３乃至８のいずれか１項に記載の印刷装置。
【請求項１０】
端末で管理される印刷モジュールからの探索要求を受信する受信工程と、
印刷モジュールの優先度情報として優先テーブルを保持する保持工程と、
前記保持工程において保持される前記優先テーブルを参照する参照工程と、
前記参照工程における参照結果に基づいて、前記受信工程において受信した前記印刷モジュールが、優先度が最も高い最優先の印刷モジュールであるか否かを判定する判定工程と、
前記印刷モジュールが前記最優先の印刷モジュールである場合に前記印刷モジュールの探索要求に対して応答する応答工程と、
を有する
ことを特徴とする印刷装置の制御方法。
【請求項１１】
端末と、前記端末とネットワークを介して通信可能な印刷装置とを備える情報処理システムであって、
前記端末は、
前記端末が管理する印刷モジュールから前記印刷装置に対して前記印刷装置の探索要求を行う探索要求手段と、
前記印刷装置から前記探索要求に対する応答を受信する応答受信手段と、
を有し、
前記印刷装置は、
前記端末で管理される印刷モジュールからの前記探索要求を受信する受信手段と、
印刷モジュールの優先度情報として優先テーブルを保持する保持手段と、
前記保持手段が保持する前記優先テーブルを参照する参照手段と、
前記参照手段による参照結果に基づいて、前記受信手段で受信した前記印刷モジュールが、優先度が最も高い最優先の印刷モジュールであるか否かを判定する判定手段と、
前記印刷モジュールが前記最優先の印刷モジュールである場合に前記印刷モジュールの探索要求に対して応答する応答手段と、
を有することを特徴とする情報処理システム。
【請求項１２】
請求項１乃至９のいずれか１項に記載の印刷装置の各手段としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷装置、印刷装置の制御方法、情報処理システム、及びプログラムに関する。
【背景技術】
【０００２】
近年、スマートフォン等の携帯端末装置が普及してきている。そして、スマートフォン等の携帯端末装置では、印刷機能について、Ａｎｄｒｏｉｄ（登録商標）に代表されるオペレーティングシステムで標準的にサポートされるようになってきている。
【０００３】
Ｗｉｎｄｏｗｓ（登録商標）に代表されるパーソナルコンピュータにおいて印刷機能を司るのは、プリンタドライバというソフトウェアであるが、Ａｎｄｒｏｉｄ（登録商標）においてはプリンタドライバの代わりにプリントプラグインというソフトが用いられる。近年では、印刷環境が多様化しており、個人の自宅だけでなく、例えば、ホテル、空港のラウンジ、コーヒーショップ、コンビニエンスストア等、さまざまな場所で印刷することが可能である。また、同じ印刷環境で複数の異なるプリンタが設置されることも多く、印刷を行うためには、各プリンタに対応したプリンタドライバやプリントプラグインが必要となる。各プリンタとの接続のために、ネットワーク探索を行うことが一般的に行われている。プリンタをネットワーク探索する技術として、特許文献１が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００１−１５４９６７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に記載の方法では、受信した探索要求に対して確実に応答するための方法を開示しているが、同一のプリンタであっても、複数のプリントプラグイン各々により発見されて印刷候補にリストアップされる現象を回避することができない。
【０００６】
本発明は、上記の問題に鑑みてなされたものであり、プリンタを優先度の高いプリントプラグインからの探索要求に応答することで、ユーザへの利便性を向上させることが可能な印刷装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明の印刷装置は、端末で管理される印刷モジュールからの探索要求を受信する受信手段と、印刷モジュールの優先度情報として優先テーブルを保持する保持手段と、前記保持手段が保持する前記優先テーブルを参照する参照手段と、前記参照手段による参照結果に基づいて、前記受信手段で受信した前記印刷モジュールが、優先度が最も高い最優先の印刷モジュールであるか否かを判定する判定手段と、前記印刷モジュールが前記最優先の印刷モジュールである場合に前記印刷モジュールの探索要求に対して応答する応答手段と、を有することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、プリンタを優先度の高いプリントプラグインからの探索要求に応答することで、ユーザへの利便性を向上させることが可能な印刷装置を提供することができる。
【図面の簡単な説明】
【０００９】
【図１】全体システム構成を示す構成図である。
【図２】携帯端末装置の構成を示すブロック図である。
【図３】印刷装置の構成を示すブロック図である。
【図４】印刷装置のソフトウェア構成を示すブロック図である。
【図５】印刷装置における優先順位設定画面を示す図である。
【図６】携帯端末のソフトウェア構成を示すブロック図である。
【図７】印刷システムのアプリケーション画面を示す図である。
【図８】プリンタ探索に対する応答の処理を示すフローチャートである。
【図９】優先テーブル及び履歴テーブルを示す図である。
【図１０】プリンタ探索に対する応答処理を示すフローチャートである。
【図１１】ステータス確認の処理を説明するフローチャートである。
【図１２】プリンタ探索に対する応答処理を示すフローチャートである。
【図１３】図８に対応するシステムの動作を示すシーケンス図である。
【図１４】図１０に対応するシステムの動作を示すシーケンス図である。
【発明を実施するための形態】
【００１０】
以下、本発明を実施するための形態について図面などを参照して説明する。
【００１１】
図１は、情報処理システム全体の構成を示す構成図である。図１に示す情報処理システムは、情報処理装置２０００、アクセスポイント２０１３、プリンタ１０００、プリンタ１００１、プリンタ１００２から構成される。情報処理装置２０００は、アクセスポイント２０１３を介して、プリンタ１０００、プリンタ１００１、プリンタ１００２と同じネットワークに接続され、データの送受信など双方向に通信可能である。ネットワークは、インターネットや、有線または無線のＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）などであってよく、これらに限定されない。
【００１２】
プリンタ１０００、プリンタ１００１、プリンタ１００２は、モデル名、ＩＰアドレス、適合するプリントプラグインをそれぞれ内部に有する。また、プリンタ１０００、プリンタ１００１、およびプリンタ１００２は、レーザープリンタ、インクジェットプリンタ、サーマルプリンタ等のプリンタであり、他の機能を有するプリンタであってもよい。情報処理装置２０００は、ＰＣや携帯端末等の情報処理装置であってよく、本実施形態では、携帯端末とする。
【００１３】
図２は、携帯端末２０００のハードウェア構成を示す図である。携帯端末２０００は、ＳｏＣ２００１、ＲＡＭ２００２、フラッシュメモリ（Ｆｌａｓｈ）２００３、Ｂｌｕｅｔｏｏｔｈ（登録商標）２００４、ＷｉＦｉ２００５を備える。また、ＮＦＣ２００６、電源（Ｐｏｗｅｒ）２００７、マイク、スピーカなどのボイスオーディオ（Ｖｏｉｃｅ／Ａｕｄｉｏ）２００８を備える。そして、ユーザが指などで操作するタッチパネル（ＴｏｕｃｈＰａｎｅｌ）２００９、ＬＥＤ（Ｌｉｇｈｔ  ｅｍｉｔｔｉｎｇ  Ｄｉｏｄｅ）２０１０を備える。さらに、携帯端末２０００は、写真、ビデオ撮影などを行うためのカメラ（Ｃａｍｅｒａ）２０１１、加速度・地磁気・近接などのセンサー（Ｓｅｎｓｏｒ）２０１２を備える。なお、本実施形態において、ＯＳは、Ｇｏｏｇｌｅ社（登録商標）のＡｎｄｒｏｉｄ（登録商標）を想定しているが、これに限定することなく、他のＯＳであってよい。
【００１４】
フラッシュメモリ（Ｆｌａｓｈ）２００３には、各種プログラムが格納される。携帯端末２０００における処理の実行の主体は、ハード上ではＳｏＣ（Ｓｙｓｔｅｍ  ｏｎ  ａ  ｃｈｉｐ）２００１である。ソフトウェア上の制御の主体は、フラッシュメモリ（Ｆｌａｓｈ）２００３に格納されたプログラムであり、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２００２上で動作する。携帯端末２０００には、近距離無線通信を行うＮＦＣ（Ｎｅａｒ  Ｆｉｅｌｄ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ）２００６およびＢｌｕｅｔｏｏｔｈ（登録商標）２００４が存在し、ＷｉＦｉ２００５は、アクセスポイント２０１３を介して無線通信を行う。
【００１５】
図３は、印刷装置の構成を示すブロック図である。プリンタ１０００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１０１、ＲＡＭ１１０２、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１１０３を備える。また、システムバス１１０４、ネットワークＩ／Ｆ１１０５、印刷部Ｉ／Ｆ１１０６、外部メモリＩ／Ｆ１１０７、印刷部１１０８、操作部１１０９、外部メモリ（ＨＤ、ＦＤ）１１１０を備える。なお、操作部１１０９は、マウス、キーボード等のユーザが操作を入力する装置であってよい。
【００１６】
プリンタ１０００において、ＣＰＵ１１０１は、ＲＯＭ１１０３または外部メモリ１１１０に記憶された制御プログラム等に基づき、印刷部Ｉ／Ｆ１１０６を介して、印刷部（プリンタエンジン）１１０８に出力情報としての画像信号を出力する。また、このＲＯＭ１１０３には、図１に示すプリンタモデル名等も記憶される。
【００１７】
ネットワークＩ／Ｆ１１０５は、ＷｉＦｉ、Ｅｔｈｅｒｎｅｔ（登録商標）などのネットワーク通信を行う。ＣＰＵ１１０１は、ネットワークＩ／Ｆ１１０５を介して携帯端末２０００との通信処理が可能となっており、プリンタ内の情報等を携帯端末２０００に通知可能に構成されている。ＲＡＭ１１０２は、ＣＰＵ１１０１の主メモリ、ワークエリア等として機能し、図示しない増設ポートに接続されるオプションＲＡＭによりメモリ容量を拡張することができる。
【００１８】
外部メモリ１１１０は、図１に示すＩＰアドレスや適合プリントプラグインなどの設定値情報を記憶する。また、操作部１１０９には、操作パネルで操作のためのスイッチ、ボタン等およびＬＥＤ表示器等が配置されているがこれらに限定せずユーザが操作できればよい。
【００１９】
図４は、プリンタ上で動作するソフトウェア構成を示すブロック図である。操作部３００１は、プリンタのユーザインタフェースであり、通信制御部３００２は、ネットワークＩ／Ｆ１１０５を介して外部とのデータの送受信を制御する。印刷制御部３００３は、外部から送信される印刷ジョブのリクエストを処理し、印刷部Ｉ／Ｆ１１０６を介して印刷部１１０８へ出力する。また、操作部３００１は、後述の図５に示す、プロトコルの優先度を設定するための優先設定画面５００を有する。
【００２０】
図５は、プロトコルの優先度（すなわち、携帯端末２０００のプリントプラグインの優先度）を設定するための優先設定画面５００を示す。優先設定画面５００は、プリンタが応答可能なプロトコルの情報５０１を表示する。リストにされる項目は、選択状態５０２にすることで、上ボタン５０３、下ボタン５０４の操作により、項目の順序を変更することが可能となる。優先設定画面５００の設定内容は、外部メモリ１１１０に保存される。
【００２１】
図６は、携帯端末２０００上で管理され、動作するソフトウェア構成を示すブロック図である。このソフトウェアのプログラムは、フラッシュメモリ（Ｆｌａｓｈ）２００３に格納される。携帯端末２０００にインストールされているアプリケーション１１２〜１１４は、印刷システム１００を介して写真、文書、Ｗｅｂページなどのコンテンツを表示・印刷する機能を有する。
【００２２】
印刷システム１００は、ＵＩ（Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）部１０１、プリントプラグイン制御部１０２、通信部１０３、プリントプラグイン管理部１０４、検出結果受信部１０５から構成される。ＵＩ部１０１は、印刷システム１００のユーザインタフェースである。プリントプラグイン制御部１０２は、携帯端末２０００にインストールされたプリントプラグインの動作を制御する。通信部１０３は、ＷｉＦｉを使用してプリンタとネットワーク通信を行う。プリントプラグイン管理部１０４は、携帯端末２０００にインストールされたプリントプラグインの情報を管理する。検出結果受信部（応答受信手段）１０５は、プリントプラグインがネットワーク上のプリンタを検出した結果の通知を受信する。
【００２３】
プリントプラグイン（印刷モジュール）２００、２１０、および２２０は、プリンタの探索、印刷ジョブの生成、プリンタステータスの取得などの機能を有し、印刷システム１００とターゲットプリンタの情報伝達を行う。プリントプラグインは、必要に応じてインストール・アンインストールが可能であり、プリントプラグイン管理部１０４がプリントプラグインのインストール状態を管理する。
【００２４】
次に、プリントプラグイン２００について説明をする。プリンタ探索部（探索要求手段）２０１は、マルチキャストまたはブロードキャストを使用してプリンタを探索する。プロトコルは、ＳＬＰ（Ｓｅｒｖｉｃｅ  Ｌｏｃａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）・Ｍｕｌｔｉｃａｓｔ―ＤＮＳ（Ｄｏｍａｉｎ  Ｎａｍｅ  Ｓｙｓｔｅｍ）等を使用するが、これに限るものではなく、プリントプラグイン毎に異なっていてもよい。
【００２５】
印刷処理部２０２は、プリンタ１００１が印刷可能なＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）またはイメージにレンダリングを行う。ステータス取得部２０３は、ＷｉＦｉを使用してプリンタ１００１と通信し、プリンタ１００１のステータスを取得する。パッケージ名２０４は、プリントプラグイン２００に割り当てられた特有な名称で、プリントプラグイン毎に異なる名称が保持される。本実施形態では、プリントプラグイン２００には、「ｊｐ．ｃｏ．ａａａ．ｘｘｘｘｘ」というパッケージ名２０４が割り当てられている。また、プリントプラグイン２１０には、「ｊｐ．ｃｏ．ｂｂｂ．ｙｙｙｙｙ」というパッケージ名２１４が割り当てられている。そして、プリントプラグイン２２０には、「ｃｏｍ．ｃｃｃ．ｚｚｚｚｚ」というパッケージ名２２４がそれぞれ割り当てられている。なお、プリントプラグイン２１０、プリントプラグイン２２０についても、プリントプラグイン２００と同様の構成および機能を有するものとする。
【００２６】
図７は、印刷システム１００の機能を実装したアプリケーションの画面例である。この画面は、携帯端末２０００上に表示される。図７（Ａ）は、印刷対象のコンテンツが表示されたアプリケーション７００の印刷時の画面の一例を示す図である。画面上で、印刷ボタン７０１がタップ（押下）されると、印刷システム１００のＵＩ部１０１が呼び出され、印刷設定画面７０２が表示される。印刷設定画面７０２は、ターゲットプリンタ表示領域７０３、印刷設定領域７０４、印刷ボタン７０５から構成される。印刷設定領域７０４で所望の印刷設定を確定した後、印刷ボタン７０５をタップすることで、ターゲットプリンタ表示領域７０３に表示されたプリンタにアプリケーションのコンテンツデータが出力される。なお、本実施形態では、ＩＰアドレス「１９２．１６８．０．１０」を有するプリンタ「Ｐｒｉｎｔｅｒ−Ａ」が選択されている。そして、出力先を別のプリンタに変更する場合は、ターゲットプリンタ表示領域７０３をタップし、図７（Ｂ）に示すようなネットワーク上のプリンタ一覧画面７１０を表示する。表示したプリンタ一覧画面７１０をタップして、使用するプリンタを選択することができる。
【００２７】
図９は、優先テーブルおよび履歴テーブルの一例を示す図である。図９（Ａ）に示す優先テーブル９００は、受信した探索要求元のプリントプラグインの優先度情報（Ｐｒｉｏｒｉｔｙ）、名称（Ｎａｍｅ）、使用するプロトコルの名称（Ｉｎｆｏ）を示す。図９（Ｂ）に示す履歴テーブル９１０は、受信した探索要求元（送信元）のプリントプラグインの情報を示す。具体的には、優先度情報（Ｐｒｉｏｒｉｔｙ）、受信時刻（Ｔｉｍｅ）、送信元ＩＰアドレス（ＩＰ）、名称（Ｎａｍｅ）、使用するプロトコルの名称（Ｉｎｆｏ）、「上位プロトコルへの応答あり」を示すフラグ（Ｆｌａｇ）を示す。図９（Ｃ）に示す履歴テーブル９２０は、複数ＩＰアドレスからの探索要求に対する履歴を示す。カラム９２１および９２２は、同一ＩＰアドレスの携帯端末からの探索要求に対する履歴を示し、カラム９２３は、カラム９２１および９２２に示す携帯端末と異なる他の携帯端末からの探索要求に対する履歴を示す。
【００２８】
（第１実施形態）
第１実施形態における、探索要求に対するプリンタ１０００の応答処理について、図８、図９、図１３を用いて説明する。図８は、第１実施形態に係るプリンタ探索に対する応答の処理を示すフローチャートである。図１３は、第１実施形態に係る印刷システムの処理を示すシーケンス図である。
【００２９】
まず、プリンタ１０００は、携帯端末２０００のプリントプラグイン（先のプリントプラグイン）から探索要求のプロトコルを受信すると、プリンタ１０００内に設定されている優先テーブル９００を参照する（ステップＳ８０１）。ここで、優先テーブル９００には、優先設定画面５００で設定された情報が保持されており、本実施形態では、カラム９０１で示すプロトコル情報が、カラム９０２で示すプロトコル情報よりも優先度が高く上位に設定されていることが分かる。
【００３０】
次に、受信した探索要求のプロトコルが優先テーブル９００における最優先の（すなわち、優先度が一番高い）プロトコルであるか否かを判定する（ステップＳ８０２）。受信した探索要求のプロトコルが最優先のプロトコルである場合（ＹＥＳ）、ステップＳ８０８に進み、送信元（探索要求元）のプリントプラグインに対して応答し（ステップＳ８０８）、処理を終了する。一方、受信した探索要求のプロトコルが最優先プロトコルでない場合（ＮＯ）、送信元のプリントプラグインに対して応答をしないで、一定時間待機（待機状態）する（ステップＳ８０３）。そして、受信した探索要求のプロトコル（プリントプラグイン）の情報を履歴テーブル９１０に登録する（ステップＳ８０４）。履歴テーブル９１０では、探索要求を受信した際の受信時刻（Ｔｉｍｅ）、探索元のＩＰアドレス（ＩＰ）、優先テーブル９００の優先度情報（Ｐｒｉｏｌｉｔｙ）とプロトコル情報（Ｉｎｆｏ）が含まれる。
【００３１】
次に、待機状態時に他のプリントプラグインから探索要求を受信したか否かを判定する（ステップＳ８０５）。待機状態時に他のプリントプラグインから探索要求を受信した場合（ＹＥＳ）、優先テーブル９００を参照し、参照結果に基づいて受信した他のプリントプラグインからの探索要求のプロトコルが最優先のプロトコルか否かを判定する（ステップＳ８０９）。最優先のプロトコルである場合（ＹＥＳ）、ステップＳ８０７へ進む。一方、最優先のプロトコルでない場合（ＮＯ）、受信した他のプリントプラグインからの探索要求の情報を履歴テーブル９１０に登録し（ステップＳ８０４）、履歴テーブル９１０を更新して再度待機状態となる。
【００３２】
ステップＳ８０５で、待機状態時に他のプリントプラグインから探索要求を受信しなかった場合（ＮＯ）、ステップＳ８０６に進み、先のプリントプラグインの探索要求を受信してから一定時間経過したか否かを判定する（ステップＳ８０６）。一定時間経過した場合（ＹＥＳ）、待機状態を解除する（ステップＳ８０７）。そして、受信したプリントプラグインのうち、履歴テーブル９１０に登録されている探索元のプリントプラグイン中で、最も高い優先度に設定されている探索元のプリントプラグインに対して応答する（ステップ８０８）。探索元のプリントプラグインへの応答後、該履歴テーブル９１０の内容を破棄して、処理を終了する。一方、ステップＳ８０６で、一定時間が経過していない場合（ＮＯ）、一定時間が経過するまで待機状態となる。
【００３３】
次に、図１３は、図８の処理に対応する第１実施形態に係る印刷システムの動作を示すシーケンス図である。図１３では、プリンタ１０００内に保持する優先テーブル９００において、プラグイン１からの探索で使用されるプロトコルが、プラグイン２から探索で使用されるプロトコルよりも上位に設定され、かつ、両プロトコルとも最優先ではない場合を示す。
【００３４】
まず、プリンタ１０００は、プラグイン（プリントプラグイン）２からの探索要求を受信すると、優先テーブル９００を参照する（図８のステップＳ８０１）。そして、参照結果に基づいてプラグイン２からの探索要求の探索プロトコルが最優先でないと判定すると、プラグイン２の探索要求の情報を履歴テーブル９１０に登録して一定時間待機状態となる（図８のステップＳ８０２〜ステップＳ８０４）。
【００３５】
次に、待機中にプラグイン（プリントプラグイン）１からの探索要求を受信し、優先テーブル９００を参照し、参照結果に基づいて最優先プロトコルではないと判定すると、プラグイン１の探索要求の情報を履歴テーブル９１０へ登録する。そして、待機時間が一定時間経過すると、履歴テーブル９１０を参照し、参照結果に基づいて登録されているプラグイン１、プラグイン２の探索要求のうち、優先度の高いプラグイン１に対して応答を行う。図１３は、これら一連の処理の後、プラグイン１のみがプリンタ１０００の情報を印刷システムに返すことを示す。
【００３６】
以上、本実施形態によれば、複数プリントプラグインからの探索要求に対して、プリンタが優先度の高いプリントプラグインに対してのみ応答を行う。これにより、携帯端末側では、複数プリントプラグインにより同一プリンタの検出をすることなく、ユーザへの利便性を向上させることが可能となる。
【００３７】
（第２実施形態）
第２実施形態における、探索要求に対するプリンタ１０００の応答処理について、図９および図１０を用いて説明する。第２実施形態では、第１実施形態に示すプリンタ１０００の応答処理が終わり、応答情報を履歴テーブル９１０に登録後、他のプリントプラグインからの探索要求を受信した際の応答処理について説明する。まず、プリンタ１０００は、携帯端末２０００のプリントプラグイン（先のプリントプラグイン）からの探索要求のプロトコルを受信すると、プリンタ１０００内に設定されている優先テーブル９００を参照する（ステップＳ１００１）。次に、探索要求への応答を行い（ステップＳ１００２）、応答した情報（応答情報）を履歴テーブル９１０に登録する（ステップＳ１００３）。なお、応答情報は、応答履歴などの情報を示す。また、上述の処理は、第１実施形態で行う処理と同様の処理であるので、詳細な説明を省略する。
【００３８】
そして、プリンタ１０００は、待機状態となる（ステップＳ１００４）。次に、待機状態時に他のプリントプラグインからの探索要求を受信したか否かを判定する（ステップＳ１００５）。他のプリントプラグインからの探索要求を受信していない場合（ＮＯ）、ステップＳ１００９へ進む。一方、他のプリントプラグインからの探索要求を受信した場合（ＹＥＳ）、履歴テーブル９１０を参照する（ステップＳ１００６）。そして、履歴テーブル９１０において、他のプリントプラグインのプロトコルよりも優先度が上位のプリントプラグインに応答済みか否かを判定する（ステップＳ１００７）。
【００３９】
履歴テーブル９１０において、優先度が上位のプリントプラグインに応答済みの場合（ＹＥＳ）、ステップＳ１００５で受信した他のプリントプラグインからの探索要求を破棄し、他のプリントプラグインに対して応答を行わない（ステップＳ１００８）。一方、履歴テーブル９１０において、他のプリントプラグインのプロトコルよりも優先度が上位のプロトコルに応答していない場合（ＮＯ）、ステップＳ１０１０へ進み、他のプリントプラグインに対して応答を行う（ステップＳ１０１０）。そして、応答情報を履歴テーブル９１０に登録し、履歴テーブル９１０の既存情報（既に応答）に対して「上位プロトコルへの応答あり」のフラグを立て（ステップＳ１０１１）、再度待機状態となる。
【００４０】
ステップＳ１００８で探索要求を破棄し、先のプリントプラグインの探索要求を受信してから一定時間が経過したか否かを判定する（ステップＳ１００９）。一定時間が経過していない場合（ＮＯ）、一定時間が経過するまで待機状態となる（ステップＳ１００４）。一方、一定時間が経過した場合（ＹＥＳ）、プリントプラグインからの探索要求は終了したと判定し、待機状態を解除して処理を終了する。
【００４１】
次に、第２実施形態の応答済みフラグに係るプリンタ１０００の処理について図１１を用いて説明する。この処理は、プリンタ１０００が、プリントプラグインからの探索要求に対する応答をした後、携帯端末２０００から実際の印刷処理を実行する前のステータス確認が送られた際の処理である。まず、プリンタ１０００は、携帯端末２０００から印刷が実行される前のプリンタのステータスを確認するためのステータス確認を受信する（ステップＳ１１０１）。次に、ステータス確認の発信元のプリントプラグインの情報と履歴テーブル９１０を参照し、履歴テーブル９１０に該プリントプラグインのフラグがあるか否かを判定する（ステップＳ１１０２）。すなわち、履歴テーブル９１０において、「上位プロトコルへの応答あり」のフラグがあるか無いかを判定する。「上位プロトコルへの応答あり」のフラグが無い場合（ＮＯ）、該ステータス確認に対して、ステータス情報を返す（ステップＳ１１０３）。「上位プロトコルへの応答あり」のフラグがある場合（ＹＥＳ）、該ステータス確認に対して、ステータス情報を返すことなく（無視して）（ステップＳ１１０４）、処理を終了する。
【００４２】
次に、図１４を用いて、２つのプリントプラグイン（プラグイン１、プラグイン２）と１つのプリンタ１０００が存在する環境において、プラグイン１とプラグイン２のパケットを受信した順番における２つの処理について説明する。本実施形態では、図１４のプリンタ１０００内の優先テーブル９００には、プラグイン１のプロトコルがプラグイン２のプロトコルより優先度が高く設定されている。そして、図１４（Ａ）は、プラグイン２からの探索より、プラグイン１からの探索要求の受信が早い場合を示す。図１４（Ｂ）は、プラグイン１からの探索より、プラグイン２からの探索要求の受信が早い場合を示す。
【００４３】
まず、図１４（Ａ）において、プリンタ１０００は、プラグイン１から探索要求を受信すると、優先テーブル９００を参照し（図１０のステップＳ１００１）、参照結果に基づいて優先度を判定する。最優先でないプラグイン１の探索要求の情報は、履歴テーブル９１０に登録され、プリンタ１０００は、待機状態となる。そして、待機状態になってから一定時間経過すると、履歴テーブル９１０を参照し、履歴テーブル９１０の内で最も優先度の高いプラグイン１に対して応答を行う（図１０のステップＳ１００２）。そして、その応答情報を履歴テーブル９１０に登録する（図１０のステップＳ１００３）。その後に、プラグイン２から探索要求を受信すると、まず、優先テーブル９００を参照し、参照結果に基づいて優先度の判定を行う。プラグイン２からの探索要求情報が最優先でないと判定されると、履歴テーブル９１０を参照する。参照結果から既にプラグイン２より優先度の高いプロトコル（プラグイン１）への応答が行われていると判定されるので（図１０のステップＳ１００６およびステップＳ１００７でＹＥＳ）、プラグイン２に対して応答を行うことなく、処理を終了する。
【００４４】
次に、図１４（Ｂ）において、プリンタ１０００は、プラグイン２から探索要求を受信すると、優先テーブル９００を参照し（図１０のステップＳ１００１）、参照結果に基づいて優先度を判定する。最優先でないプラグイン２からの探索要求の情報は、履歴テーブル９１０に登録され、プリンタ１０００は、待機状態となる。そして、待機状態になってから一定時間経過すると、履歴テーブル９１０を参照し、履歴テーブル９１０のうち最も優先度の高いプラグイン２に対して応答を行う（図１０のステップＳ１００２）。そして、その応答情報を履歴テーブル９１０に登録する（図１０のステップＳ１００３）。その後に、プラグイン１から探索要求を受信すると、優先テーブル９００を参照し、参照結果に基づいて優先度の判定を行う。プラグイン１からの探索要求情報が最優先でないと判定されると、履歴テーブル９１０を参照する。そして、履歴テーブル９１０を参照して、優先度の高いプロトコルへの応答が行われていないと判定されるので（図１０のステップＳ１００６およびステップＳ１００７でＮＯ）、プラグイン１に対して応答を返す。そして、履歴テーブル９１０のプラグイン２の履歴に「上位プロトコルへの応答あり」のフラグを立てる。その後、プラグイン２に対する印刷が実行される前のプリンタのステータスを確認するステータス確認に対しては、「上位プロトコルへの応答あり」のフラグを参照し、ステータス情報を返すことなく、ステータス確認の処理を終了する。
【００４５】
以上、本実施形態によれば、複数のプリントプラグインの探索要求に対して適切な応答が可能となり、その後の実際の印刷処理に係るステータス確認に対する応答の可否を制御することで、ユーザへの利便性を向上させることが可能となる。なお、本実施形態では、履歴テーブル９１０の履歴情報が残したままとしているが、ステータス確認の送受信後やプリンタの電源ＯＦＦのタイミングや応答後に特定時間が経過した後等に、特定間隔で消去してもよい。
【００４６】
（第３実施形態）
第３実施形態における、探索要求に対するプリンタ１０００の応答処理について、図１２を用いて説明する。第３実施形態では、第１実施形態に示すプリンタ１０００の応答処理が終わり、応答情報を履歴テーブル９１０に登録後、他のプリントプラグインからの探索要求が他の携帯端末からである場合の応答処理について説明する。まず、プリンタ１０００は、携帯端末２０００のプリントプラグイン（先のプリントプラグイン）からの探索要求のプロトコルを受信すると、プリンタ１０００内に設定されている優先テーブル９００を参照（ステップＳ１２０１）する。次に、プリントプラグインへの応答を行い（ステップＳ１２０２）、応答情報を履歴テーブル９２０に登録する（ステップＳ１２０３）。上述の処理は、第１実施形態で行う処理と同様の処理であるので、詳細な説明を省略する。
【００４７】
そして、プリンタ１０００は、待機状態となり（ステップＳ１２０４）、他のプリントプラグインからの探索要求のプロトコルを受信したか否かを判定する（ステップＳ１２０５）。他のプリントプラグインからの探索を受信しなかった場合（ＮＯ）、ステップＳ１２０１に進む。
【００４８】
ステップＳ１２０５にて、他のプリントプラグインからの探索要求のプロトコルを受信した判定した場合（ＹＥＳ）、ステップＳ１２０６へ進む。そして、履歴テーブル９２０を参照し（ステップＳ１２０６）、ステップＳ１２０５で受信した探索要求の送信元の他のプリントプラグインと同一のＩＰアドレスが、履歴テーブル９２０に既に存在するか否かを判定する（ステップＳ１２０７）。すなわち、ステップＳ１２０５で受信した他のプリントプラグインが同一の携帯端末のものからであるか、異なる携帯端末のものからであるかを判定する。
【００４９】
探索要求の送信元の他のプリントプラグインと同一のＩＰアドレスが履歴テーブル９２０に存在しない場合（ＮＯ）、ステップＳ１２０１へ戻り、受信した探索要求に対して優先度の判定を行う。一方、他のプリントプラグインと同一のＩＰアドレスが存在する場合（ＹＥＳ）、ステップＳ１２０５で受信した探索要求の送信元と同じＩＰアドレスの履歴を参照し、優先度の高いプロトコルに対して応答済みであるか否かを判定する（ステップＳ１２０８）。そして、優先度の高いプロトコルに対して応答済みである場合（ＹＥＳ）、ステップＳ１２０５で受信した他のプリントプラグインからの探索要求を破棄し、他のプリントプラグインに対して応答を行わない（ステップＳ１２０９）。
【００５０】
一方、優先度の高いプロトコルに対して応答済みでない場合（ＮＯ）、ステップＳ１２１１へ進み、送信元の他のプリントプラグインに対して応答を行う（ステップＳ１２１１）。そして、応答情報を履歴テーブル９２０に登録し、履歴テーブル９２０の既存の情報に対して「上位プロトコルへの応答あり」のフラグを立て（ステップＳ１２１２）、再度待機状態となる。
【００５１】
次に、先のプリントプラグインを受信してから一定時間が経過したか否かを判定する（ステップＳ１２１０）。一定時間が経過していない場合（ＮＯ）、ステップＳ１２０４へ戻り、一定時間が経過するまで待機状態となる。一方、一定時間が経過した場合（ＹＥＳ）、ステップＳ１２１３に進む。そして、他のプリントプラグインが他の携帯端末である場合の他のプリントプラグインへの応答が残っているか否かを判定する（ステップＳ１２１３）。他のプリントプラグインへの応答が残っている場合（ＹＥＳ）、ステップＳ１２０４へ戻り、再び待機状態となる。一方、他のプリントプラグインへの応答が残っていない場合（ＮＯ）、処理を終了する。
【００５２】
なお、図９の履歴テーブル９２０のカラム９２１は、ステップＳ１２０３で履歴テーブル９２０に先のプリントプラグインの応答情報を登録した後で、ステップＳ１２１２にて、「上位プロトコルへの応答あり」フラグが立てられた後の状態を示す。また、実際の印刷処理を行う際は、図１２の処理が終了した後、第２実施形態と同様に図１１に示す処理が行われる。
【００５３】
以上、本実施形態によれば、プリンタ１０００は、他の携帯端末のプリントプラグインからの探索要求を受信した場合、履歴テーブル９２０のＩＰアドレスから送信元を判定することにより、各々の携帯端末に対し迅速な応答が可能となる。また、履歴テーブル９２０の「上位プロトコルへの応答あり」フラグを参照し、ステータス確認に対する応答の可否を制御することで、ユーザへの利便性を向上させることが可能となる。
【００５４】
（他の実施例）
本発明は、上述した実施形態を適宜組み合わせることにより構成された装置あるいはシステムやその方法も含まれるものとする。ここで、本発明は、上述した実施形態の機能を実現する１以上のソフトウェア（プログラム）を実行する主体となる装置あるいはシステムである。また、その装置あるいはシステムで実行される上述した実施形態を実現するための方法も本発明の一つである。また、そのプログラムは、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給され、そのシステム或いは装置の１以上のコンピュータ（ＣＰＵやＭＰＵ等）によりそのプログラムが読み出され、実行される。つまり、本発明の一つとして、さらにそのプログラム自体、あるいは該プログラムを格納したコンピュータにより読み取り可能な各種記憶媒体も含むものとする。また、上述した実施形態の機能を実現する回路（例えば、ＡＳＩＣ）によっても、本発明は実現可能である。
【００５５】
また、本発明の好ましい実施形態について説明したが、本発明は、これらの実施形態に限定されず、その要旨の範囲内で種々の変形および変更が可能である。
【図１】
2016037032.tif 000003
【図２】
2016037032.tif 000004
【図３】
2016037032.tif 000005
【図４】
2016037032.tif 000006
【図５】
2016037032.tif 000007
【図６】
2016037032.tif 000008
【図７】
2016037032.tif 000009
【図８】
2016037032.tif 000010
【図９】
2016037032.tif 000011
【図１０】
2016037032.tif 000012
【図１１】
2016037032.tif 000013
【図１２】
2016037032.tif 000014
【図１３】
2016037032.tif 000015
【図１４】
2016037032.tif 000016