(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022083027
(43)【公開日】2022-06-03
(54)【発明の名称】端末装置のためのアプリケーションプログラム、端末装置、及び、端末装置によって実行される方法
(51)【国際特許分類】
G06F 3/12 20060101AFI20220527BHJP
H04N 1/00 20060101ALI20220527BHJP
B41J 29/00 20060101ALI20220527BHJP
【FI】
G06F3/12 331
G06F3/12 332
G06F3/12 318
G06F3/12 336
H04N1/00 127B
B41J29/00 E
【審査請求】未請求
【請求項の数】13
【出願形態】OL
(21)【出願番号】P 2020194251
(22)【出願日】2020-11-24
(71)【出願人】
【識別番号】000005267
【氏名又は名称】ブラザー工業株式会社
(74)【代理人】
【識別番号】110000110
【氏名又は名称】特許業務法人快友国際特許事務所
(72)【発明者】
【氏名】井上 卓弥
【テーマコード(参考)】
2C061
5C062
【Fターム(参考)】
2C061AP01
2C061AQ05
2C061AQ06
2C061AR01
2C061AS02
2C061BB10
2C061CG15
5C062AA01
5C062AA02
5C062AA05
5C062AA37
5C062AB38
5C062AB40
(57)【要約】
【課題】通信装置から受信されるアドバタイズ信号にIPアドレスが含まれる場合に、通信装置に関する関連情報を適切に取得するための技術を提供する。
【解決手段】端末装置は、第1の無線インターフェースを介して、第1の通信装置から第1の通信装置のIPアドレスを含む第1のアドバタイズ信号を受信する場合に、第2の無線インターフェースを介して、当該IPアドレスを宛先アドレスとして含む第1の情報要求を第1の通信装置に送信し、第2の無線インターフェースを介して、第1の通信装置から、第1の通信装置に関する第1の関連情報を受信する。第1の関連情報は、第1の通信装置の能力を示す第1の能力情報と、第1の通信装置の状態を示す第1の状態情報と、のうちの少なくとも一方を含む。端末装置は、第1の関連情報を利用して、第1の通信装置に関する第1の表示情報を表示する。
【選択図】
図4
【特許請求の範囲】
【請求項1】
端末装置のためのアプリケーションプログラムであって、
前記端末装置は、
Bluetooth(登録商標)規格に従った第1の無線インターフェースと、
Wi-Fi規格に従った第2の無線インターフェースと、
表示部と、
コンピュータと、を備え、
前記アプリケーションプログラムは、前記コンピュータを、以下の各部、即ち、
前記第1の無線インターフェースを介して、複数個の通信装置のうちの第1の通信装置から、前記第1の通信装置のIPアドレスである第1のIPアドレスを含む第1のアドバタイズ信号を受信する第1のアドバタイズ信号受信部と、
前記第1の通信装置から前記第1のアドバタイズ信号が受信される場合に、前記第2の無線インターフェースを介して、前記第1のアドバタイズ信号に含まれる前記第1のIPアドレスを宛先アドレスとして含む第1の情報要求を前記第1の通信装置に送信する第1の情報要求送信部と、
前記第1の情報要求が前記第1の通信装置に送信される場合に、前記第2の無線インターフェースを介して、前記第1の通信装置から、前記第1の通信装置に関する第1の関連情報を受信する第1の関連情報受信部であって、前記第1の関連情報は、前記第1の通信装置の能力を示す第1の能力情報と、前記第1の通信装置の状態を示す第1の状態情報と、のうちの少なくとも一方を含む、前記第1の関連情報受信部と、
前記第1の関連情報を利用して、前記第1の通信装置に関する第1の表示情報を前記表示部に表示させる表示制御部と、
として機能させる、アプリケーションプログラム。
【請求項2】
前記アプリケーションプログラムは、さらに、前記コンピュータを、
前記第1の無線インターフェースを介して、前記複数個の通信装置のうちの第2の通信装置から、前記第2の通信装置のIPアドレスである第2のIPアドレスを含む第2のアドバタイズ信号を受信する第2のアドバタイズ信号受信部と、
前記第2の通信装置から前記第2のアドバタイズ信号が受信される場合に、前記第2の無線インターフェースを介して、前記第2のアドバタイズ信号に含まれる前記第2のIPアドレスを宛先アドレスとして含む第2の情報要求を前記第2の通信装置に送信する第2の情報要求送信部と、
前記第2の情報要求が前記第2の通信装置に送信される場合に、前記第2の無線インターフェースを介して、前記第2の通信装置から、前記第2の通信装置に関する第2の関連情報を受信する第2の関連情報受信部であって、前記第2の関連情報は、前記第2の通信装置の能力を示す第2の能力情報と、前記第2の通信装置の状態を示す第2の状態情報と、のうちの少なくとも一方を含む、前記第2の関連情報受信部と、
として機能させ、
前記表示制御部は、前記第1の関連情報と前記第2の関連情報とを利用して、前記第1の通信装置に関する前記第1の表示情報と前記第2の通信装置に関する第2の表示情報との両方を前記表示部に表示させる、請求項1に記載のアプリケーションプログラム。
【請求項3】
前記アプリケーションプログラムは、さらに、前記コンピュータを、
前記第1のアドバタイズ信号の受信電波強度と前記第2のアドバタイズ信号の受信電波強度とを利用して、前記第1の通信装置と前記端末装置との間の第1の距離と、前記第2の通信装置と前記端末装置との間の第2の距離と、のうちのどちらが小さいのかを決定する距離決定部として機能させ、
前記第1の情報要求送信部は、前記第1の距離が前記第2の距離よりも小さいことが決定される場合に、前記第2の情報要求が前記第2の通信装置に送信される前に、前記第1の情報要求を前記第1の通信装置に送信し、
前記第2の情報要求送信部は、前記第2の距離が前記第1の距離よりも小さいことが決定される場合に、前記第1の情報要求が前記第1の通信装置に送信される前に、前記第2の情報要求を前記第2の通信装置に送信する、請求項2に記載のアプリケーションプログラム。
【請求項4】
前記表示制御部は、
前記第2の通信装置から前記第2の関連情報が受信される前に、前記第1の通信装置から前記第1の関連情報が受信される場合に、前記第1の表示情報を前記表示部に表示させ、
前記第1の表示情報が前記表示部に表示された後に、前記第2の通信装置から前記第2の関連情報が受信される場合に、前記第1の表示情報に加えて前記第2の表示情報を前記表示部に表示させる、請求項2又は3に記載のアプリケーションプログラム。
【請求項5】
前記端末装置は、さらに、操作部を備え、
前記コンピュータプログラムは、前記コンピュータを、さらに、
ユーザから、前記操作部を介して、前記複数個の通信装置のそれぞれからアドバタイズ信号を受信するための指示を受け付ける第1の受付部として機能させ、
前記第1のアドバタイズ信号受信部は、前記ユーザから前記指示が受け付けられる場合に、前記第1の通信装置から前記第1のアドバタイズ信号を受信し、
前記第1の情報要求送信部は、前記第1の通信装置から前記第1のアドバタイズ信号が受信される場合に、前記ユーザから前記操作部を介した指示を受け付けることなく、前記第1の情報要求を前記第1の通信装置に送信する、請求項1から4のいずれか一項に記載のアプリケーションプログラム。
【請求項6】
前記アプリケーションプログラムは、さらに、前記コンピュータを、
前記第1の無線インターフェースを介して、前記複数個の通信装置のうちの第3の通信装置から、第3の通信装置のIPアドレスである第3のIPアドレスを含まない第3のアドバタイズ信号を受信する第3のアドバタイズ信号受信部と、
前記第3の通信装置から前記第3のアドバタイズ信号が受信される場合に、前記第1の無線インターフェースを介して、前記第3の通信装置との無線接続を確立する確立部と、
前記第3の通信装置との前記無線接続が確立される場合に、前記無線接続を利用して、前記第1の無線インターフェースを介して、前記第3の通信装置から、前記第3の通信装置に関する第3の関連情報を受信する第3の関連情報受信部であって、前記第3の関連情報は、前記第3の通信装置の能力を示す第3の能力情報と、前記第3の通信装置の状態を示す第3の状態情報と、のうちの少なくとも一方を含む、前記第3の関連情報受信部と、
として機能させ、
前記表示制御部は、前記第1の関連情報と前記第3の関連情報とを利用して、前記第1の通信装置に関する前記第1の表示情報と前記第3の通信装置に関する第3の表示情報との両方を前記表示部に表示させる、請求項1から5のいずれか一項に記載のアプリケーションプログラム。
【請求項7】
前記第1のアドバタイズ信号と前記第3のアドバタイズ信号とのそれぞれは、可能情報と不可能情報とのうちの一方を含み、
前記可能情報は、アドバタイズ信号の送信元の通信装置が、前記第1の無線インターフェースを介した無線接続を前記端末装置と確立可能であることを示す情報であり、
前記不可能情報は、前記アドバタイズ信号の送信元の通信装置が、前記第1の無線インターフェースを介した無線接続を前記端末装置と確立不可能であることを示す情報であり、
前記第1の情報要求送信部は、前記第1のアドバタイズ信号が前記可能情報及び前記不可能情報のどちらを含むのかに関わらず、前記第1の情報要求を前記第1の通信装置に送信し、
前記確立部は、前記第3のアドバタイズ信号が前記可能情報を含む場合に、前記第3の通信装置との前記無線接続を確立し、
前記第3のアドバタイズ信号が前記不可能情報を含む場合に、前記第3の通信装置との前記無線接続は確立されない、請求項6に記載のアプリケーションプログラム。
【請求項8】
前記第3の関連情報は、前記第3のIPアドレスを含み、
前記アプリケーションプログラムは、さらに、前記コンピュータを、
前記第3の通信装置から前記第3の関連情報が受信される場合に、前記第2の無線インターフェースを介した通信を前記第3の通信装置と実行可能であるのか否かを、前記第3の関連情報に含まれる前記第3のIPアドレスを利用して判断する第1の判断部として機能させ、
前記表示制御部は、前記第2の無線インターフェースを介した通信を前記第3の通信装置と実行可能であると判断される場合に、前記第3の表示情報を前記表示部に表示させ、
前記第2の無線インターフェースを介した通信を前記第3の通信装置と実行不可能であると判断される場合に、前記第3の表示情報は表示されない、請求項6又は7に記載のアプリケーションプログラム。
【請求項9】
前記アプリケーションプログラムは、さらに、前記コンピュータを、
前記第1の情報要求が前記第1の通信装置に送信される場合に、前記第2の無線インターフェースを介して、前記第1の通信装置から前記第1の関連情報が受信されたのか否かを判断する第2の判断部として機能させ、
前記表示制御部は、前記第1の通信装置から前記第1の関連情報が受信されたと判断される場合に、前記第1の表示情報を前記表示部に表示させ、
前記第1の通信装置から前記第1の関連情報が受信されなかったと判断される場合に、前記第1の表示情報は表示されない、請求項1から8のいずれか一項に記載のアプリケーションプログラム。
【請求項10】
前記アプリケーションプログラムは、さらに、前記コンピュータを、
前記端末装置の操作部を介して、ユーザから能力情報と状態情報とのうちの少なくとも一方である対象情報の入力を受け付ける第2の受付部として機能させ、
前記表示制御部は、前記対象情報が前記第1の関連情報に適合する場合に、前記第1の表示情報を前記表示部に表示させ、
前記対象情報が前記第1の関連情報に適合しない場合に、前記第1の表示情報は表示されない、請求項1から9のいずれか一項に記載のアプリケーションプログラム。
【請求項11】
前記アプリケーションプログラムは、さらに、前記コンピュータを
前記第1の表示情報が前記表示部に表示され、かつ、前記第1の表示情報が前記端末装置の操作部を介してユーザによって選択される場合に、前記第1の通信装置を前記端末装置に登録する登録部として機能させる、請求項1から9のいずれか一項に記載のアプリケーションプログラム。
【請求項12】
端末装置であって、
Bluetooth(登録商標)規格に従った第1の無線インターフェースと、
Wi-Fi規格に従った第2の無線インターフェースと、
表示部と、
前記第1の無線インターフェースを介して、複数個の通信装置のうちの第1の通信装置から、前記第1の通信装置のIPアドレスである第1のIPアドレスを含む第1のアドバタイズ信号を受信する第1のアドバタイズ信号受信部と、
前記第1の通信装置から前記第1のアドバタイズ信号が受信される場合に、前記第2の無線インターフェースを介して、前記第1のアドバタイズ信号に含まれる前記第1のIPアドレスを宛先アドレスとして含む第1の情報要求を前記第1の通信装置に送信する第1の情報要求送信部と、
前記第1の情報要求が前記第1の通信装置に送信される場合に、前記第2の無線インターフェースを介して、前記第1の通信装置から、前記第1の通信装置に関する第1の関連情報を受信する第1の関連情報受信部であって、前記第1の関連情報は、前記第1の通信装置の能力を示す第1の能力情報と、前記第1の通信装置の状態を示す第1の状態情報と、のうちの少なくとも一方を含む、前記第1の関連情報受信部と、
前記第1の関連情報を利用して、前記第1の通信装置に関する第1の表示情報を前記表示部に表示させる表示制御部と、
を備える、端末装置。
【請求項13】
端末装置によって実行される方法であって、
前記端末装置は、
Bluetooth(登録商標)規格に従った第1の無線インターフェースと、
Wi-Fi規格に従った第2の無線インターフェースと、
表示部と、を備え、
前記方法は、
前記第1の無線インターフェースを介して、複数個の通信装置のうちの第1の通信装置から、前記第1の通信装置のIPアドレスである第1のIPアドレスを含む第1のアドバタイズ信号を受信する第1のアドバタイズ信号受信ステップと、
前記第1の通信装置から前記第1のアドバタイズ信号が受信される場合に、前記第2の無線インターフェースを介して、前記第1のアドバタイズ信号に含まれる前記第1のIPアドレスを宛先アドレスとして含む第1の情報要求を前記第1の通信装置に送信する第1の情報要求送信ステップと、
前記第1の情報要求が前記第1の通信装置に送信される場合に、前記第2の無線インターフェースを介して、前記第1の通信装置から、前記第1の通信装置に関する第1の関連情報を受信する第1の関連情報受信ステップであって、前記第1の関連情報は、前記第1の通信装置の能力を示す第1の能力情報と、前記第1の通信装置の状態を示す第1の状態情報と、のうちの少なくとも一方を含む、前記第1の関連情報受信ステップと、
前記第1の関連情報を利用して、前記第1の通信装置に関する第1の表示情報を前記表示部に表示させる表示制御ステップと、
を備える、方法。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書では、端末装置と通信装置との間でBluetooth(登録商標)規格に従った無線通信を実行する技術を開示する。
【背景技術】
【0002】
特許文献1には、携帯端末とMFP(Multi-Function Peripheralの略)とを備えるシステムが開示されている。携帯端末は、MFPからBluetooth規格のAdvertiseを受信し、MFPとのGATT(Generic Attribute Profileの略)通信を実行し、受信済みの情報に基づいてデバイス状態一覧表を作成する。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2017-076189号公報
【特許文献2】特開2017-010329号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記の技術では、AdvertiseにIPアドレスが含まれることについて何ら考慮されていない。本明細書では、通信装置から受信されるアドバタイズ信号にIPアドレスが含まれる場合に、通信装置に関する関連情報を適切に取得するための技術を提供する。
【0005】
本明細書では、端末装置のためのアプリケーションプログラムを開示する。前記端末装置は、Bluetooth(登録商標)規格に従った第1の無線インターフェースと、Wi-Fi規格に従った第2の無線インターフェースと、表示部と、コンピュータと、を備えてもよい。前記アプリケーションプログラムは、前記コンピュータを、以下の各部、即ち、前記第1の無線インターフェースを介して、複数個の通信装置のうちの第1の通信装置から、前記第1の通信装置のIPアドレスである第1のIPアドレスを含む第1のアドバタイズ信号を受信する第1のアドバタイズ信号受信部と、前記第1の通信装置から前記第1のアドバタイズ信号が受信される場合に、前記第2の無線インターフェースを介して、前記第1のアドバタイズ信号に含まれる前記第1のIPアドレスを宛先アドレスとして含む第1の情報要求を前記第1の通信装置に送信する第1の情報要求送信部と、前記第1の情報要求が前記第1の通信装置に送信される場合に、前記第2の無線インターフェースを介して、前記第1の通信装置から、前記第1の通信装置に関する第1の関連情報を受信する第1の関連情報受信部であって、前記第1の関連情報は、前記第1の通信装置の能力を示す第1の能力情報と、前記第1の通信装置の状態を示す第1の状態情報と、のうちの少なくとも一方を含む、前記第1の関連情報受信部と、前記第1の関連情報を利用して、前記第1の通信装置に関する第1の表示情報を前記表示部に表示させる表示制御部と、として機能させてもよい。
【0006】
上記の構成によると、端末装置は、Bluetooth規格に従った第1の無線インターフェースを介して、第1の通信装置から第1のIPアドレスを含む第1のアドバタイズ信号を受信する場合に、Wi-Fi規格に従った第2の無線インターフェースを介して、第1のIPアドレスを宛先アドレスとして含む第1の情報要求を第1の通信装置に送信する。このため、端末装置は、第2の無線インターフェースを介して、第1の通信装置から第1の関連情報を受信することができる。このように、端末装置は、第1の通信装置から受信されるアドバタイズ信号にIPアドレスが含まれる場合に、第1の通信装置に関する第1の関連情報を適切に取得することができる。
【0007】
上記のアプリケーションプログラムを記憶するコンピュータ可読記憶媒体も新規で有用である。また、端末装置そのもの、及び、端末装置によって実行される方法も新規で有用である。
【図面の簡単な説明】
【0008】
【
図2】携帯端末の検索処理のフローチャートを示す。
【
図3】通常のデバイス検索が選択されるケースAのシーケンス図を示す。
【
図7】条件付きデバイス検索が選択されるケースBのシーケンス図を示す。
【発明を実施するための形態】
【0009】
(通信システム2の構成:
図1)
図1に示されるように、通信システム2は、複数個の携帯端末10,40と複数個のプリンタ100,200,300,400,500とを備える。以下では、携帯端末のことを単に「端末」と記載する。端末10及びプリンタ100,200,300,400のそれぞれは、アクセスポイント50との無線接続、即ち、Wi-Fi規格に従った無線接続(以下では「Wi-Fi接続」と記載する)を確立している。プリンタ500は、アクセスポイント60とのWi-Fi接続を確立している。各アクセスポイント50,60は、有線によって接続されており、相互に通信可能である。即ち、各アクセスポイント50,60は、同一のローカルエリアネットワークに所属している。そして、アクセスポイント50と、それに接続されている各デバイス10,100,200,300,400と、によって1個のサブネットが形成されており、アクセスポイント60と、それに接続されているプリンタ500と、によって他の1個のサブネットが形成されている。以下では、アクセスポイントのことを「AP(Access Pointの略)」と記載する。
【0010】
(端末10,40の構成)
各端末10,40は、携帯電話(例えばスマートフォン)、PDA、タブレットPC等の可搬型の端末装置である。変形例では、各端末10,40は、デスクトップPC等の据え置き型の端末装置であってもよい。各端末10,40は同様の構成を備えるので、以下では、端末10の構成を説明し、端末40の構成の説明を省略する。
【0011】
端末10は、表示部12と、Wi-Fiインターフェース14と、BT(Bluetooth(登録商標)の略)インターフェース16と、操作部18と、制御部30と、を備える。各部12~30は、バス線(符号省略)に接続されている。なお、以下では、インターフェースのことを単に「I/F」と記載する。
【0012】
表示部12は、様々な情報を表示するためのディスプレイである。操作部18は、複数のキーを備える。ユーザは、操作部18を操作することによって、様々な指示を端末10に入力することができる。なお、表示部12もいわゆるタッチパネルとしても機能する。即ち、表示部12は、操作部としても機能する。以下では、タッチパネルとして機能する表示部12と操作部18とを合わせて「操作部12,18」と記載することがある。
【0013】
Wi-FiI/F14は、Wi-Fi規格に従った無線通信(以下では「Wi-Fi通信」と記載する)を実行するための無線インターフェースである。Wi-Fi規格は、例えば、IEEE(The Institute of Electrical and Electronics Engineers, Inc.の略)の802.11の規格、及び、それに準ずる規格(例えば802.11a,11b,11g,11n,11ac等)である。
【0014】
BTI/F16は、BT規格に従った無線通信(以下では「BT通信」と記載する)を実行するためのI/Fである。BT規格は、例えば、IEEE802.15.1の規格、及び、それに準ずる規格である。より具体的に言うと、BTI/F16は、BLE(Bluetooth Low Energyの略)をサポートしている。BLEは、BT規格のバージョン4.0以降のバージョンで実現されている。
【0015】
Wi-Fi通信とBT通信との相違点を記述しておく。Wi-Fi通信の通信速度(例えば最大の通信速度が600Mbps)は、BT通信の通信速度(例えば最大の通信速度が24Mbps)よりも速い。Wi-Fi通信における搬送波の周波数は、2.4GHz帯又は5.0GHz帯である。BT通信における搬送波の周波数は、2.4GHz帯である。即ち、Wi-Fi通信における搬送波の周波数として5.0GHz帯が採用される場合には、Wi-Fi通信における搬送波の周波数とBT通信における搬送波の周波数とは異なる。また、Wi-Fi通信を実行可能な最大の距離(例えば約100m)は、BT通信を実行可能な最大の距離(例えば約数十m)よりも大きい。
【0016】
制御部30は、CPU32とメモリ34とを備える。CPU32は、メモリ34に格納されているプログラム36,38に従って、様々な処理を実行する。メモリ34は、揮発性メモリ、不揮発性メモリ等によって構成され、OS(Operating Systemの略)プログラム36(以下では単に「OS36」と記載する)とプリントアプリケーション38(以下では単に「アプリ38」と記載する)とを記憶する。
【0017】
OS36は、端末10の基本的な動作を制御するためのプログラムであり、例えば、iOS(登録商標)、アンドロイド(登録商標)等である。アプリ38は、BT通信を実行して端末10の周囲に存在するプリンタを検索したり、Wi-Fi通信を実行して印刷データをプリンタに送信したりするためのアプリケーションである。アプリ38は、例えば、プリンタ100等のベンダによって提供されるインターネット上のサーバから端末10にインストールされてもよいし、プリンタ100等と共に出荷されるメディアから端末10にインストールされてもよい。
【0018】
(プリンタ100~500の構成)
各プリンタ100~500は、印刷機能を実行可能な周辺装置(例えば、端末10の周辺装置)である。プリンタ100は、モデル名「model1」を有する。プリンタ100は、表示部112と、Wi-FiI/F114と、BTI/F116と、印刷実行部118と、制御部130と、を備える。
【0019】
表示部112は、様々な情報を表示するためのディスプレイである。表示部112は、ユーザから指示を受け付けるタッチパネル(即ち操作部)としても機能する。Wi-FiI/F114は、端末10のWi-FiI/F14と同様である。BTI/F116は、端末10のBTI/F16と同様である。即ち、BTI/F116は、BLEをサポートしている。BTI/F116には、MACアドレス「m100」が割り当てられている。印刷実行部118は、インクジェット方式、レーザ方式等の印刷機構である。
【0020】
制御部130は、CPU132とメモリ134とを備える。CPU132は、メモリ134に記憶されているプログラム136に従って、様々な処理を実行する。メモリ134は、揮発性メモリ、不揮発性メモリ等によって構成される。メモリ134には、AP50からプリンタ100に割り当てられたプリンタ100のIPアドレス「i100」が記憶されている。
【0021】
各プリンタ200,300,400,500は、モデル名(例えばプリンタ200の「model2」)と、BTI/Fに割り当てられているMACアドレス(例えばプリンタ200の「m200」)と、メモリに記憶されている当該プリンタのIPアドレス(例えばプリンタ200の「i200」)と、が異なる点を除いて、プリンタ100と同様の構成を備える。
【0022】
(携帯端末の検索処理:
図2)
図2を参照して、携帯端末10のCPU32がアプリ38に従って実行する検索処理を説明する。検索処理は、アプリ38が起動された後に、ユーザから検索開始指示が受け付けられる場合に開始される。検索開始指示は、ユーザが検索方法を指定することを含む。検索方法は、通常のデバイス検索又は条件付きデバイス検索である。通常のデバイス検索は、印刷を実行可能な全てのプリンタを検索するための方法である。条件付きデバイス検索は、ユーザによって入力される印刷条件に従って印刷を実行可能なプリンタを検索するための方法である。
【0023】
S10からS20の処理は、リストを作成するための一連の処理である。リストは、端末10の周囲に存在し、かつ、能力情報等を端末10に送信可能であるプリンタの一覧である。S10では、CPU32は、BTI/F16を介して、いずれかのプリンタからアドバタイズ信号を受信したのか否かを判断する。CPU32は、アドバタイズ信号を受信したと判断する場合(S10でYES)に、S12に進み、アドバタイズ信号を受信しななかったと判断する場合(S10でNO)に、S20に進む。
【0024】
S12では、CPU32は、受信済みのアドバタイズ信号がIPアドレスを含むのか否かを判断する。アドバタイズ信号がIPアドレスを含むのか否かは、当該アドバタイズ信号の送信元のプリンタの性能に依存する。即ち、IPアドレスを含むアドバタイズ信号を送信可能なプリンタ(例えばプリンタ200,300,500)と、IPアドレスを含むアドバタイズ信号を送信不可能なプリンタ(例えばプリンタ100,400)と、が存在する。CPU32は、アドバタイズ信号がIPアドレスを含むと判断する場合(S12でYES)に、S14に進み、アドバタイズ信号がIPアドレスを含まないと判断する場合(S12でNO)に、S16に進む。
【0025】
S16では、CPU32は、受信済みのアドバタイズ信号がADV_IND信号であるのかADV_NONCONN_IND信号であるのかを判断する。以下では、ADV_IND信号、ADV_NONCONN_IND信号のことを、それぞれ、「AI信号」、「ANI信号」と記載する。AI信号は、当該AI信号の送信元のプリンタが端末とのBT接続(即ち後述のL2CAP Link接続)を確立可能であることを示す接続許可パラメータを含むアドバタイズ信号である。ANI信号は、当該ANI信号の送信元のプリンタが端末とのBT接続を確立不可能であることを示す接続不許可パラメータを含むアドバタイズ信号である。より具体的には、各プリンタ100~500は、他のデバイスとのBT接続を確立していない状態では、AI信号を繰り返し送信し、他のデバイスとのBT接続を確立している状態では、ANI信号を繰り返し送信する。CPU32は、アドバタイズ信号がAI信号であると判断する場合(S16でYES)に、S14に進み、アドバタイズ信号がANI信号であると判断する場合(S16でNO)に、S14を実行することなくS10に戻る。
【0026】
S14では、CPU32は、受信済みのアドバタイズ信号の送信元のプリンタに関する情報をリストに記述する。具体的には、CPU32は、アドバタイズ信号に含まれるプリンタのMACアドレスと、アドバタイズ信号の受信電波強度と、を対応付けて、リストに記述する。また、アドバタイズ信号がIPアドレスを含む場合には、CPU32は、MACアドレスと受信電波強度とに対応付けて、当該IPアドレスもリストに記述する。
【0027】
S20では、CPU32は、
図2の処理が開始されてから所定時間が経過したのか否かを判断する。CPU32は、所定時間が経過したと判断する場合(S20でYES)に、S30に進み、所定時間が経過していないと判断する場合(S20でNO)に、S10に戻る。
【0028】
S30からS100の処理は、リストに記述された各プリンタのうち、端末10が印刷を実行させることが可能な1個以上のプリンタを表示するための一連の処理である。S30では、CPU32は、端末10との距離が近い順にリスト内の情報をソートする。具体的には、CPU32は、受信電波強度が大きい順にリスト内の情報をソートする。これにより、CPU32は、端末10との距離が近い順に、各プリンタについてS40以降の処理を実行することができる。
【0029】
S40では、CPU32は、まず、ソート済みのリスト内の未処理の各情報の中から最上位の情報(即ち、最も大きい受信電波強度に対応付けられているMACアドレス等の情報)を特定する。そして、CPU32は、特定済みの情報がIPアドレスを含むのか否かを判断する。CPU32は、特定済みの情報がIPアドレスを含むと判断する場合(S40でYES)に、S42に進み、特定済みの情報がIPアドレスを含まないと判断する場合(S40でNO)に、S70に進む。
【0030】
S42では、CPU32は、Wi-FiI/F14を介して、S40で特定されたIPアドレスを宛先アドレスとして含む情報要求をプリンタに送信する。
【0031】
S44では、CPU32は、プリンタから情報を受信したのか否かを判断する。当該情報は、モデル名と能力情報と状態情報とを含む。能力情報は、プリンタが実現可能な印刷条件を示す情報である。具体的には、本実施例では、能力情報は、用紙サイズと色数(即ちモノクロ印刷又はカラー印刷)とを含む。変形例では、能力情報は、さらに、印刷解像度、両面印刷機能の有無、ステープラ機能の有無等を示す情報を含んでいてもよい。状態情報は、プリンタの現在の状態を示す情報である。具体的には、本実施例では、状態情報は、印刷指示の受信を待機しているアイドル状態、印刷を実行不可能であることを示すエラー状態、消耗品の残量等を示す情報を含む。変形例では、状態情報は、さらに、プリンタの通信状態を示す情報を含んでいてもよい。CPU32は、プリンタから情報を受信したと判断する場合(S44でYES)に、S50の処理に進み、プリンタから情報を受信することなく所定時間が経過する場合(S44でNO)に、S100の処理に進む。
【0032】
S50では、CPU32は、ユーザによって指定された検索方法が条件付きデバイス検索であるのか通常のデバイス検索であるのかを判断する。CPU32は、検索方法が条件付きデバイス検索であると判断する場合(S50でYES)に、S52に進み、検索方法が通常のデバイス検索であると判断する場合(S50でNO)に、S60に進む。
【0033】
S52では、CPU32は、S44で受信された能力情報がユーザによって入力された印刷条件に適合するのか否かを判断する。CPU32は、能力情報が入力済みの印刷条件に適合すると判断する場合(S52でYES)に、S60に進み、能力情報が入力済みの印刷条件に適合しないと判断する場合(S52でNO)に、S100に進む。
【0034】
S60では、CPU32は、選択画面を表示する。ユーザによって指定された検索方法が通常のデバイス検索である場合(即ちS50でNOの場合)には、選択画面は、S44で受信されたモデル名、能力情報、及び、状態情報を含む。ユーザによって指定された検索方法が条件付きデバイス検索である場合(即ちS50でYESの場合)には、選択画面は、S44で受信されたモデル名及び状態情報を含み、能力情報を含まない。
【0035】
S100では、CPU32は、リスト内の全ての情報について、S40以降の処理が実行されたのか否かを判断する。CPU32は、全ての情報について処理が実行されたと判断する場合(S100でYES)に、
図2の処理を終了し、全ての情報について処理が実行されていないと判断する場合(S100でNO)に、S40に戻る。
【0036】
S70では、CPU32は、BTI/F16を介して、S40で特定された情報内のMACアドレスを宛先として含むCONNECT_IND信号をプリンタに送信する。当該信号は、BT接続(即ちL2CAP Link接続)の確立を要求する信号である。これにより、端末10とプリンタとの間にBT接続が確立される。
【0037】
S72では、CPU32は、S70で確立されたBT接続を利用して、BTI/F16を介して、Read by Type Request信号(以下では単に「Read信号」と記載する)をプリンタに送信する。当該信号は、情報の送信を要求する信号である。当該情報は、モデル名と能力情報と状態情報とIPアドレスとを含む。
【0038】
S80は、S50と同様である。S80でYESの場合にはS82に進み、S80でNOの場合にはS90に進む。S82は、S52と同様である。S82でYESの場合にはS90に進み、S82でNOの場合にはS100に進む。
【0039】
S90では、CPU32は、Wi-FiI/F14を介して、S72で受信されたIPアドレスを宛先アドレスとして含む確認信号をプリンタに送信する。
【0040】
S92では、CPU32は、Wi-FiI/F14を介して、プリンタから応答信号を受信したのか否かを判断する。CPU32は、プリンタから応答信号を受信したと判断する場合(S92でYES)に、S60に進み、プリンタから応答信号を受信することなく所定時間が経過する場合(S92でNO)に、S100に進む。
【0041】
(具体的なケース:
図3~
図8)
続いて、
図3~
図8を参照して、
図2の処理によって実現される具体的なケースを説明する。まず、
図3~
図6を参照して、通常のデバイス検索が実行されるケースAを説明し、次いで、
図7及び
図8を参照して、条件付きデバイス検索が実行されるケースBを説明する。
【0042】
(ケースA:
図3~
図6)
図3の初期状態では、端末10及び各プリンタ100~400はAP50とのWi-Fi接続を確立しており、プリンタ500はAP60とのWi-Fi接続を確立している。また、プリンタ300,400は、端末40とのBT接続(即ち後述のL2CAP Link接続)を確立している。
【0043】
以下では、端末10のCPU32がOS36又はアプリ38に従って実行する処理を説明する際に、OS36又はアプリ38を主体として記載する。プリンタ100等のCPU132等がプログラム136等に従って実行する処理を説明する際に、CPU132等を主体として記載するのではなく、プリンタ100等を主体として記載する。また、以下では、BT通信とWi-Fi通信のうちのBT通信が主に実行される。このために、Wi-Fi通信であることを明記しない限り、以下の各通信は、BTI/F16等を介したBT通信である。
図3以降の各図では、BT通信、Wi-Fi通信を、それぞれ、細線、太線で表現している。
【0044】
(ケースA:
図3)
各プリンタ100~500は、電源がONされている間に、BT規格に従ったアドバタイズ信号を繰り返し送信する。各プリンタ100,200,500は、端末とのBT接続を確立していない。このために、各プリンタ100,200,500は、T10,T12,T18において、AI信号を送信する。一方、各プリンタ300,400は、端末40とのBT接続を確立している。このために、各プリンタ300,400は、T14,T16において、ANI信号を送信する。
【0045】
T20では、アプリ38を起動する操作がユーザによって操作部12,18に実行され、この結果、アプリ38が起動する。この場合、T22では、アプリ38は、検索方法選択画面を表示部12に表示させる。検索方法選択画面は、文字列「デバイス検索」を示すボタンB1と、文字列「条件付きデバイス検索」を示すボタンB2と、を含む。ボタンB1は、通常のデバイス検索を開始するためのボタンである。ボタンB2は、条件付きデバイス検索を開始するためのボタンである。
【0046】
ケースAでは、アプリ38は、T24において、ユーザからボタンB1を選択する操作を受け付ける(
図2の処理のトリガ)。即ち、ケースAは、通常のデバイス検索が実行されるケースである。
図7及び
図8のケースBでは、ボタンB2が選択される。即ち、ケースBは、条件付きデバイス検索が実行されるケースである。
【0047】
アプリ38は、T24において、ボタンB1を選択する操作を受け付けると、T26において、検索開始指示をOS36に供給する。検索開始指示は、端末10の周囲に存在する各プリンタの検索を指示するコマンドである。
【0048】
OS36は、T26において、アプリ38から検索開始指示を取得すると、T30~T38において、各プリンタ100~500からAI信号又はANI信号を受信する。プリンタ100から受信されるT30のアドバタイズ信号は、プリンタ100のBTI/F116のMACアドレス「m100」を含む。同様に、各プリンタ200~500から受信されるT32~T38の各アドバタイズ信号は、送信元のプリンタのMACアドレス(即ち、「m200」、「m300」、「m400」、又は、「m500」)を含む。プリンタ200,300,500から受信されるT32,T34,T38の各アドバタイズ信号は、さらに、送信元のプリンタのIPアドレス(即ち、「i200」、「i300」、又は、「i500」)を含む。
【0049】
OS36は、T40において、受信情報をアプリ38に供給する。なお、
図3では、全てのプリンタ100~500からアドバタイズ信号が受信された後に、受信情報がOS36からアプリ38に供給されるように示されている。しかしながら、実際には、OS36は、1個のプリンタからアドバタイズ信号を受信する毎に、受信情報をアプリ38に供給する。即ち、アプリ38は、1個のプリンタからアドバタイズ信号を受信する毎に、OS36から受信情報を取得する(
図2のS10でYES)。受信情報は、アドバタイズ信号の送信元のプリンタから受信されたアドバタイズ信号の種類(即ちAI信号又はANI信号)と、当該アドバタイズ信号に含まれるMACアドレスと、当該アドバタイズ信号の受信電波強度と、を含む。また、当該アドバタイズ信号がIPアドレスを含む場合には、受信情報は、IPアドレスも含む。
【0050】
アプリ38は、T40において、OS36から各プリンタ100~500に対応する各受信情報を取得すると、T42において、リストを作成する(S12~S16)。リストは、能力情報等を端末10に送信可能であるプリンタの一覧である。具体的には、アプリ38は、各受信情報に基づいて、IPアドレスを含むアドバタイズ信号の送信元のプリンタ200,300,500(S12でYES)と、AI信号の送信元のプリンタ100(S16でYES)と、を特定する。そして、アプリ38は、アドバタイズ信号を受信した順序で、特定済みの各プリンタ100,200,300,500のMACアドレスと受信電波強度とを対応付けてリストに記述する。また、アプリ38は、各プリンタ200,300,500については、MACアドレスと受信電波強度とに対応付けて、IPアドレスもリストに記述する。このように、端末10は、能力情報等を取得不可能なプリンタ400のMACアドレスをリストに記述しないので、当該プリンタ400との通信を実行するための処理(例えば、後述の
図4のT50、T52等の処理)を実行せずに済む。
【0051】
次いで、アプリ38は、T44において、各プリンタ100,200,300,500に対応する受信電波強度を利用して、端末10との距離が近い順に、T42で生成されたリストをソートする(S30)。具体的には、アプリ38は、最も大きい受信電波強度「-50dBm」に対応するプリンタ200のMACアドレス「m200」及びIPアドレス「i200」をリストの1番目(即ち最上位)に記述する。次いで、アプリ38は、2番目に大きい受信電波強度「-60dBm」に対応するプリンタ500のMACアドレス「m500」及びIPアドレス「i500」をリストの2番目に記述する。同様に、アプリ38は、プリンタ100のMACアドレス「m100」をリストの3番目に記述し、プリンタ300のMACアドレス「m300」及びIPアドレス「i300」をリストの4番目(即ち最下位)に記述する。
【0052】
(
図3の続き:
図4)
次いで、端末10は、ソート済みのリストの順に従って、各プリンタ100,200,300,500との通信を実行する。即ち、端末10は、プリンタ200との通信を最初に実行し、その後、各プリンタ500,100,300との通信を順次実行する。このために、端末10は、端末10との距離が近い順に各プリンタ100,200等から情報を受信することができ、この結果、端末10との距離が近いプリンタに関する情報を優先的に表示することができる。
【0053】
T50において、アプリ38は、ソート済みのリスト内の最上位のMACアドレス「m200」及びIPアドレス「i200」を特定し、当該IPアドレス「i200」を含む取得指示をOS36に供給する(S42)。取得指示は、IPアドレスを宛先アドレスとして含む情報要求の送信を指示するコマンドである。
【0054】
OS36は、T50において、アプリ38から取得指示を取得すると、T52において、Wi-FiI/F14を介して、取得指示に含まれるIPアドレス「i200」を宛先アドレスとして含む情報要求を送信する。即ち、OS36は、情報要求をプリンタ200に送信する。このように、端末10は、ユーザから操作部12,18を介したT24の操作を受け付けた後に、ユーザから追加の操作を受け付けることなく、情報要求をプリンタ200に送信することができる。この結果、端末10は、プリンタ200から能力情報等を取得することができ、能力情報等を表示することができる。従って、ユーザは、多数の操作を実行することなく、プリンタ200の情報を容易に知ることができる。
【0055】
OS36は、T54において、Wi-FiI/F14を介して、プリンタ200から各種情報(即ち、モデル名「model2」、能力情報、状態情報)を受信する。この場合、OS36は、T56において、受信済みの情報を含む取得通知をアプリ38に供給する。
【0056】
アプリ38は、OS36から取得通知を受信すると(S44でYES)、T60において、プリンタ選択画面を表示部12に表示させる(S60)。プリンタ選択画面は、プリンタ200に関する情報B3を含む。具体的には、情報B3は、T54で受信されたモデル名「model2」、能力情報、及び、状態情報を含む。これにより、ユーザは、プリンタ200に関する情報B3を知ることができる。そして、ユーザが情報B3を選択すれば、端末10は、Wi-Fi通信を利用して印刷をプリンタ200に実行させることができる。なお、仮に、例えばAP50の不具合等が生じている場合には、端末10とプリンタ200との間でWi-Fi通信を実行することができない。この場合、アプリ38は、OS36から取得通知を受信することができず(S44でNO)、プリンタ200に関する情報B3を表示させない。端末10がWi-Fi通信を利用して印刷をプリンタ200に実行させることができないからである。
【0057】
次いで、端末10は、ソート済みのリスト内の次の最上位のMACアドレス「m500」及びIPアドレス「i500」を特定し、T70~T76において、T50~T56と同様の処理をプリンタ500と実行する。本ケースでは、AP50及びAP60が同一のLANに所属しているので、端末10とプリンタ500との間の通信は、AP50及びAP60を介して実行される(T72及びT74参照)。
【0058】
アプリ38は、T76において、OS36から取得通知を取得すると、T80において、プリンタ500に関する情報B4をプリンタ選択画面に追加する(S60)。即ち、アプリ38は、プリンタ200に関する情報B3に加えて、プリンタ500に関する情報B4を表示部12に表示させる。このために、ユーザは、複数個のプリンタ200,500に関する複数個の情報B3,B4を同時的に見ることができる。特に、アプリ38は、複数個のプリンタ200,500のそれぞれから情報が取得された後に、プリンタ選択画面を表示させるのではなく、プリンタ200から情報が取得された段階で、情報B3のみを含むプリンタ選択画面を表示させる。その後、アプリ38は、プリンタ500から情報が取得されると、情報B5をプリンタ選択画面に追加する。このために、アプリ38は、情報B3を迅速にユーザに提供することができる。従って、ユーザは、情報B3を迅速に選択することができる。また、アプリ38は、先に表示されている情報B3の下方に情報B4を表示する。即ち、アプリ38は、端末10との距離が近いプリンタ200に関する情報B3を優先的に表示する。これにより、ユーザは、端末10との距離が近いプリンタ200に関する情報B3を優先的に選択することができる。
【0059】
(
図4の続き:
図5)
次いで、
図5に示されるように、アプリ38は、T90において、ソート済みのリスト内の次の最上位のMACアドレス「m100」を特定し、当該MACアドレス「m100」を含む接続指示をOS36に供給する(S40でNO、S70)。接続指示は、BT接続の確立と、BT接続を利用した情報の通信と、を指示するコマンドである。このように、端末10は、プリンタ100からIPアドレスを含まないアドバタイズ信号を受信する場合には、プリンタ100のBTI/FのMACアドレスを利用してプリンタ100とのBT接続を確立し、BT通信を利用してプリンタ100から各種情報を受信する。端末10は、アドバタイズ信号がIPアドレスを含むのか否かに応じた適切な手法を利用して、各プリンタ100から各種情報を取得することができる。
【0060】
OS36は、T90において、アプリ38から接続指示を取得すると、T92において、接続指示に含まれるMACアドレス「m100」を宛先アドレスとして含むCONNECT_IND信号を送信する。即ち、OS36は、当該信号をプリンタ100に送信する。これにより、T94において、端末10とプリンタ100との間にBT接続が確立さ
れる。
【0061】
プリンタ200は、T94において、BT接続が確立されると、T100において、AI信号の送信を停止し、T102において、ANI信号の送信を開始する。上述したように、ANI信号は、BT接続を確立不可能であることを示す信号である。このために、プリンタ100が端末10とのBT接続を確立している状態において、プリンタ100が他の端末とのBT接続を確立するための処理が開始されることを抑制することができる。この結果、当該処理が開始されることに起因してプリンタ100と端末10との間のBT接続が切断される事象が発生することを抑制することができる。
【0062】
OS36は、T94で確立されたBT接続を利用して、T110においてRead信号をプリンタ100に送信する。
【0063】
プリンタ100は、T110において、端末10からRead信号を受信すると、T112において、プリンタ100の各種情報(即ちモデル名「model1」、IPアドレス「i100」、能力情報、及び、状態情報)を端末10に送信する。なお、
図5では、1個のRead信号に応じて各種情報が端末10に送信されるように表現されているが、実際には、各種情報に対応する複数個のRead信号がプリンタ100に順次送信され、各種情報が端末10に順次送信される。
【0064】
OS36は、T112において、プリンタ100から各種情報を受信すると、当該各種情報をアプリ38に供給する。アプリ38は、OS36から各種情報を取得すると、T120において、切断指示をOS36に供給する。切断指示は、BT接続の切断を指示するコマンドである。OS36は、T120において、アプリ38から切断指示を取得すると、T122において、切断信号をプリンタ100に送信する。
【0065】
プリンタ100は、T122において、端末10から切断信号を受信すると、T124において、端末10とのBT接続を切断する。そして、プリンタ100は、T126において、ANI信号に代えてAI信号を送信する。
【0066】
その後、アプリ38は、T130において、T112で受信されたプリンタ100のIPアドレス「i100」を含む確認指示をOS36に供給する。確認指示は、端末10とプリンタ200との間でWi-Fi通信を実行可能であるのか否か(即ち、端末10が印刷を実行させることが可能であるのか否か)の確認を指示するコマンドである。
【0067】
OS36は、T130において、アプリ38から確認指示を取得すると、T132において、Wi-FiI/F14を介して、確認指示内のプリンタ100のIPアドレス「i100」を送信先アドレスとして含む確認信号をAP50に送信する。
【0068】
プリンタ200は、T132において端末10から確認信号を受信すると、T134において、AP50を介して、応答信号を端末10に送信する。このように、プリンタ100は、IPアドレスを端末10に送信するので(T112参照)、端末10から確認信号を適切に受信することができ、この結果、応答信号を端末10に適切に送信することができる。
【0069】
OS36は、T134において、プリンタ100から応答信号を受信すると、T136において、導通通知をアプリ38に供給する。導通通知は、端末10とプリンタ100との間でWi-Fi通信を実行可能であることを示す通知である。
【0070】
アプリ38は、T136において、OS36から導通通知を取得すると、T140において、プリンタ100に関する情報B5をプリンタ選択画面に追加する(S60)。即ち、アプリ38は、プリンタ200に関する情報B3及びプリンタ500に関する情報B4に加えて、プリンタ100に関する情報B5を表示部12に表示させる。このために、ユーザは、複数個のプリンタ200,500,100に関する複数個の情報B3,B4,B5を同時的に見ることができる。なお、仮に、例えばAP50の不具合等が生じている場合には、端末10とプリンタ100との間でWi-Fi通信を実行することができない。この場合、アプリ38は、OS36から導通通知を受信することができず(S92でNO)、プリンタ100に関する情報B5を表示させない。端末10がWi-Fi通信を利用して印刷をプリンタ100に実行させることができないからである。
【0071】
(
図5の続き:
図6)
次いで、端末10は、
図6に示されるように、ソート済みのリスト内の次の最上位のMACアドレス「m300」及びIPアドレス「i300」を特定し、
図4のT50~T56と同様の処理をプリンタ300と実行する。そして、アプリ38は、T150において、プリンタ300に関する情報B6をプリンタ選択画面に追加する(S60)。プリンタ300は、端末40とのBT接続を確立しており(
図3の初期状態参照)、ANI信号を送信する(T34)。このように、プリンタ300が他のデバイス(即ち、端末40)とBT接続を確立している状態であっても、アプリ38は、ANI信号に含まれるIPアドレスを利用してWi-Fi通信をプリンタ300と実行することによって、プリンタ300から各種情報を適切に取得することができる。
【0072】
アプリ38は、T160において、ユーザからプリンタ200に関する情報B3の選択を受け付ける。この場合、アプリ38は、T162において、プリンタ200をデフォルトプリンタとしてメモリ34に登録する。具体的には、アプリ38は、プリンタ200のモデル名「model2」、プリンタ200の能力情報(即ち印刷用紙「A4、A3」、色数「カラー、モノクロ」)、及び、プリンタ200のIPアドレス「i200」をメモリ34に登録する。これにより、アプリ38は、ユーザから印刷操作を受け付ける場合に、デフォルトプリンタであるプリンタ200に印刷を実行させることができる。
【0073】
アプリ38は、T164において、ユーザから印刷操作を受け付ける。印刷操作は、印刷対象の画像を表わす画像データを選択する操作と、印刷設定(用紙サイズ、色数等)の入力を受け付ける操作と、を含む。ここで、印刷設定としては、登録済みのプリンタ200の能力情報に適合するものが選択される。そして、アプリ38は、入力済みの印刷設定に従って画像データを変換して、プリンタ200が解釈可能なデータ形式を有する印刷データを生成する。次いで、アプリ38は、T166において、生成済みの印刷データと、登録済みのプリンタ200のIPアドレス「i200」と、を含む印刷指示をOS36に供給する。
【0074】
OS36は、T166において、アプリ38から印刷指示を取得すると、T168において、Wi-FiI/F14を介して、印刷指示内のIPアドレス「i200」を宛先アドレスとして印刷データを送信する。即ち、OS36は、Wi-Fi通信を実行して、印刷データをプリンタ200に送信する。
【0075】
プリンタ200は、T168において、端末10から印刷データを受信すると、T170において、印刷データによって表わされる画像の印刷を実行する。
【0076】
(ケースBの処理:
図7、
図8)
続いて、
図7及び
図8を参照して、条件付きデバイス検索が実行されるケースBの処理を説明する。
図7の初期状態は、
図3のケースAの初期状態と同じである。
【0077】
(
図7の処理)
図3のT10~T22と同様の処理が実行される。その後、アプリ38は、T180において、ユーザから、検索方法選択画面内のボタンB2の選択を受け付ける。この場合、アプリ38は、T182において、条件入力画面を表示部12に表示させる。条件入力画面は、印刷条件の入力を受け付けるボタンと、文字列「検索」を示すボタンB7と、を含む。アプリ38は、ユーザから、所望の印刷条件(本ケースでは「A3」及び「カラー印刷」)の入力を受け付け、T184において、ボタンB7を選択する操作を受け付ける。その後、
図3のT26~T44と同様の処理が実行される。
【0078】
(
図7の続き:
図8)
次いで、
図8に示されるように、
図4のT50~T56と同様の処理がプリンタ200と実行される。アプリ38は、T190において、
図7のT184で入力済みの印刷条件(即ちA3及びカラー印刷)が、プリンタ200の能力情報(即ち、A3、A4、カラー印刷、モノクロ印刷)に含まれると判断する(
図2のS50でYES、SS52でYES)。即ち、アプリ38は、入力済みの印刷条件がプリンタ200の能力情報に適合すると判断する。
【0079】
次いで、アプリ38は、T192において、プリンタ選択画面を表示部12に表示させる(S60)。プリンタ選択画面は、プリンタ200のモデル名「model2」及び状態情報を示す情報B8を含む。情報B8は、
図4のプリンタ選択画面の情報B3とは異なり、プリンタ200の能力情報を含まない。ユーザによって印刷条件が入力済みであり(
図7のT182、T184参照)、かつ、当該印刷条件がプリンタ200の能力情報に適合することが確認されている(T190)からである。
【0080】
その後、
図4のT70~T76と同様の処理がプリンタ500と実行される。アプリ38は、T200において、
図7のT184で入力済みの印刷条件(即ちA3及びカラー印刷)が、プリンタ500の能力情報(即ち、A4、A3、B5、モノクロ印刷)に含まれないと判断する(
図2のS50でYES、S52でNO)。即ち、アプリ38は、入力済みの印刷条件がプリンタ500の能力情報に適合しないと判断する。この場合、アプリ38は、プリンタ500に関する情報をプリンタ選択画面に表示させない。プリンタ500は、ユーザが望む印刷条件に従った印刷を実行することができないからである。
【0081】
その後、
図5のT90~T126と同様の処理がプリンタ100と実行される。アプリ38は、T210において、
図7のT184で入力済みの印刷条件(即ちA3及びカラー印刷)が、プリンタ100の能力情報(即ち、A4、B5、カラー印刷)に含まれないと判断する(
図2のS80でYES、S82でNO)。この場合、プリンタ100に関する情報をプリンタ選択画面に表示させない。
【0082】
その後、
図4のT50~T56と同様の処理がプリンタ300と実行される。アプリ38は、T220において、
図7のT184で入力済みの印刷条件(即ちA3及びカラー印刷)が、プリンタ300の能力情報(即ち、A3、カラー印刷、モノクロ印刷)に含まれると判断する(
図2のS50でYES、S52でNO)。この場合、アプリ38は、T222において、プリンタ300に関する情報B9をプリンタ選択画面に追加する。
【0083】
アプリ38は、T232において、ユーザから情報B8の選択を受け付けると、
図6のT162~T170と同様の処理を実行する。
【0084】
(本実施例の効果)
本実施例によると、端末10は、BTI/F16を介して、プリンタ200からIPアドレス「i200」を含むアドバタイズ信号を受信する場合(
図3のT32)に、Wi-FiI/F14を介して、IPアドレス「i200」を宛先アドレスとして含む情報要求をプリンタ200に送信する(T52)。このため、端末10は、Wi-FiI/F14を介して、プリンタ200から各種情報を受信することができる(T54)。このように、端末10は、プリンタ200から受信されるアドバタイズ信号にIPアドレス「i200」が含まれる場合に、プリンタ200に関する情報を適切に取得することができる。
【0085】
特に、本実施例では、端末10は、Wi-Fi通信を利用して各プリンタ100~500を検索するのではなく、BT通信を利用して各プリンタ100~500を検索する。その理由は以下のとおりである。端末10がWi-Fi通信を利用してプリンタを検索する構成を採用する場合には、端末10は、ブロードキャストの検索信号をAP50に送信することになる。この場合、AP50のサブネットとAP60のサブネットとが異なるので、当該検索信号がAP60に接続されているプリンタ500まで届かない可能性が高い。即ち、端末10は、プリンタ100~400を見つけることができるが、プリンタ500を見つけることができない可能性が高い。これに対し、本実施例によると、端末10は、BT通信を利用してプリンタを検索するので、端末10の周囲に存在する全てのプリンタ100~500を適切に見つけることができる。このために、端末10は、プリンタ500に関する情報B4を含むプリンタ選択画面を表示することができる(
図4のT80参照)。
【0086】
(対応関係)
端末10が「端末装置」の一例である。BTI/F16、Wi-FiI/F14が、それぞれ、「第1の無線インターフェース」、「第2の無線インターフェース」の一例である。プリンタ100~500が「複数個の通信装置」の一例である。プリンタ200、プリンタ500、プリンタ100が、それぞれ、「第1の通信装置」、「第2の通信装置」、「第3の通信装置」の一例である。i200、i500、i100が、それぞれ、「第1のIPアドレス」、「第2のIPアドレス」、「第3のIPアドレス」の一例である。プリンタ200のアドバタイズ信号、プリンタ500のアドバタイズ信号、プリンタ100のアドバタイズ信号が、それぞれ、「第1のアドバタイズ信号」、「第2のアドバタイズ信号」、「第3のアドバタイズ信号」の一例である。T52の情報要求、T72の情報要求が、それぞれ、「第1の情報要求」、「第2の情報要求」の一例である。プリンタ200の各種情報、プリンタ500の各種情報、プリンタ100の各種情報が、それぞれ、「第1の関連情報」、「第2の関連情報」、「第3の関連情報」の一例である。プリンタ200の情報B3、プリンタ500の情報B4、プリンタ100の情報B5が、それぞれ、「第1の表示情報」、「第2の表示情報」、「第3の表示情報」の一例である。
図3のT24でボタンB1が選択される操作が、「指示」の一例である。接続許可パラメータ、接続不許可パラメータが、それぞれ、「可能情報」、「不可能情報」の一例である。
図7のT184で入力される印刷条件が、「対象情報」の一例である。
【0087】
図2のS44が、「第2の判断部」によって実現される処理の一例である。
図3のT24が、「第1の受付部」によって実現される処理の一例である。T32、T38、T30が、それぞれ、「第1のアドバタイズ信号受信部」、「第2のアドバタイズ信号受信部」、「第3のアドバタイズ信号受信部」によって実現される処理の一例である。T44が、「距離決定部」によって実現される処理の一例である。
図4のT50に応じたT52、T70に応じたT72が、それぞれ、「第1の情報要求送信部」、「第2の情報要求送信部」によって実現される処理の一例である。
図4のT54、T72が、それぞれ、「第1の関連情報受信部」、「第2の関連情報受信部」によって実現される処理の一例である。
図5のT90に応じたT92及びT94が、「確立部」によって実現される処理の一例である。T112が、「第3の関連情報受信部」によって実現される処理の一例である。T130~T136が、「第1の判断部」によって実現される処理の一例である。
図6のT162が、「登録部」によって実現される処理の一例である。
図7のT184が、「第2の受付部」によって実現される処理の一例である。
図4のT60、T80、
図5のT140、及び、
図8のT230が、「表示制御部」によって実現される処理の一例である。
【0088】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には以上に例示した具体例を様々に変形、変更したものが含まれる。上記の実施例の変形例を以下に列挙する。
【0089】
(変形例1)
図3のT72において、端末10は、プリンタ200から能力情報と状態情報とのうちの一方の情報のみを受信してもよい。一般的に言うと、「第1の関連情報」は、「第1の能力情報」と「第1の状態情報」とのうちの少なくとも一方を含んでいればよい。「第2の関連情報」及び「第3の関連情報」も同様である。
【0090】
(変形例2)端末10は、
図4のT60において、プリンタ200に関する情報を表示した後に、他のプリンタ100,300,500に関する情報を表示しなくてもよい。即ち、端末10は、
図4のT70~
図6のT150を実行しなくてもよい。本変形例では、「第2の情報要求送信部」、「第2の関連情報受信部」、「確立部」、及び、「第3の関連情報受信部」を省略可能である。
【0091】
(変形例3)
図3のT30~T38の各信号は、送信電波強度を含んでいてもよい。この場合、端末10は、T44において、各プリンタ100,200,300,500について、送信電波強度及び受信電波強度を利用して、当該プリンタと端末10との間の距離を算出してもよい。そして、端末10は、距離が近い順に、各プリンタ100,200,300,500をソートする。一般的に言うと、「距離決定部」は、上記の実施例のように、受信電波強度のみを利用して、第1の距離と第2の距離とのうちのどちらが小さいのかを決定してもよいし、本変形例のように、受信電波強度と送信電波強度との双方を利用して、第1の距離と第2の距離とのうちのどちらが小さいのかを決定してもよい。
【0092】
(変形例4)
図3のT44の処理が実行されなくてもよい。本変形例では、「距離決定部」を省略可能である。
【0093】
(変形例5)端末10は、各プリンタ100,200,300,500から能力情報等を受信した後に、各プリンタ100,200,300,500に関する情報B3~B6を含むプリンタ選択画面を表示してもよい。一般的に言うと、「表示制御部」は、第1の表示情報が表示部に表示された後に、第1の表示情報に加えて第2の表示情報を表示部に表示させなくてもよい。
【0094】
(変形例6)ユーザから操作部12,18を介した所定の操作が受け付けられることに応じて、
図4のT50の処理が実行されてもよい。一般的に言うと、「第1の情報要求送信部」は、ユーザから操作部を介した指示を受け付けることに応じて、第1の情報要求を第1の通信装置に送信してもよい。
【0095】
(変形例7)
図2のT40において、端末10は、IPアドレスを含まないANI信号の送信元のプリンタ400のMACアドレス「m400」を含むリストを生成してもよい。即ち、全てのプリンタ100~500のMACアドレスを含むリストが生成されてもよい。この場合、端末10は、プリンタ400が端末40とのBT接続を切断した後に、プリンタ400とのBT接続も確立し、プリンタ400から各種情報を受信する。一般的に言うと、第3の通信装置から不可能情報を含むアドバタイズ信号が受信される場合に、第3の通信装置との第3の無線接続が確立されてもよい。別の変形例では、アドバタイズ信号は、接続許可パラメータも接続不許可パラメータも含まなくてもよい。この変形例でも、全てのプリンタ100~500のMACアドレスを含むリストが生成される。
【0096】
(変形例8)
図5のT130及びT132において、端末10は、所定範囲のIPアドレスを送信先アドレスとして含むマルチキャストの確認信号を送信してもよい。この場合、端末10は、T112で受信済みのIPアドレスを送信元アドレスとして含む応答信号を受信する場合に、プリンタ100とのWi-Fi通信を実行可能であると判断することができる。一般的に言うと、「第1の判断部」は、第3のIPアドレスを利用して判断すればよい。
【0097】
(変形例9)
図5のT130~T136が省略されてもよい。この場合、端末10は、プリンタとのWi-Fi通信を実行可能であるのか否かに関わらず、当該プリンタに関する情報をプリンタ選択画面に表示する。本変形例では、「第1の判断部」を省略可能である。
【0098】
(変形例10)
図7のT182において、端末10は、印刷条件を指定するための画面に代えて、プリンタの状態を指定するための画面を表示してもよい。この場合、端末10は、ユーザから例えばアイドル状態の入力を受け付ける場合に、プリンタ200,500に関する情報を表示し、ユーザから例えばトナーが少ない状態の入力を受け付ける場合に、プリンタ100に関する情報を表示する。本変形例では、プリンタの状態を示す情報が、「対象情報」の一例である。
【0099】
(変形例11)
図3のT22,T24が省略されてもよい。この場合、端末10は、通常のデバイス検索を実行する。本変形例では、「第2の受付部」を省略可能である。
【0100】
(変形例12)
図6のT160及びT162が省略されてもよい。即ち、端末10は、端末10の周囲に存在するプリンタに関する情報をユーザに提供するものであればよく、印刷をプリンタに実行させるものでなくてもよい。本変形例では、「登録部」を省略可能である。
【0101】
(変形例13)「通信装置」は、プリンタでなくてもよく、スキャナ、ファクシミリ等の他の画像処理装置であってもよい。この場合、能力情報は、例えば、スキャン解像度、スキャン色数、両面スキャン機能の有無等を示す情報を含んでいてもよい。また、状態情報は、エラー状態、ファクシミリ通信状態等を示す情報を含んでいてもよい。別の変形例では、「通信装置」は、PC、サーバ等の情報処理装置であってもよい。この場合、能力情報は、例えば、処理速度、通信速度、インストール済みのアプリケーションの種類等を示す情報を含んでいてもよい。また、状態情報は、エラー状態、データ通信状態、データ処理状態等を示す情報を含んでいてもよい。
【0102】
(変形例14)上記の実施例では、端末10のCPU32がプログラム36を実行することによって、
図2~
図8の各処理が実現される。これに代えて、いずれかの処理は、論理回路等のハードウェアによって実現されてもよい。
【0103】
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【符号の説明】
【0104】
2:通信システム、10:携帯端末、12:表示部、14:Wi-FiI/F、16:BTI/F、18:操作部、30:制御部、32:CPU、34:メモリ、36:OSプログラム、38:プリントアプリ、40:携帯端末、50,60:AP、100~500:プリンタ、112:表示部、114:Wi-FiI/F、116:BTI/F、118:印刷実行部、130:制御部、132:CPU、134:メモリ、136:プログラム