(57)【要約】【課題】  自身が属しているサブネットの外部の装置を発見することが可能な情報処理装置を提供することを目的とする。【解決手段】  第１通信部によって、情報処理装置の外部の装置から、前記装置を特定するための特定情報を受信する受信手段と、保存手段により保存された前記特定情報を用いて、前記情報処理装置が属するサブネットの外部の、前記情報処理装置が通信可能な装置を検索可能な第２検索処理を実行する第２検索手段と、を有する情報処理装置を提供することによって課題を解決する。【選択図】  図１
2018085657.tif 000002
【特許請求の範囲】
【請求項１】
近距離無線通信を実行する第１通信部と、前記近距離無線通信より高速な通信を実行する第２通信部と、を有する情報処理装置であって、
前記第１通信部によって、前記情報処理装置の外部の装置から、前記装置を特定するための特定情報を受信する受信手段と、
前記受信手段により受信された前記特定情報をメモリに保存する保存手段と、
前記情報処理装置が属するサブネット内の、前記情報処理装置が通信可能な装置を検索可能な第１検索処理を実行する第１検索手段と、
前記保存手段により保存された前記特定情報を用いて、前記情報処理装置が属するサブネットの外部の、前記情報処理装置が通信可能な装置を検索可能な第２検索処理を実行する第２検索手段と、
前記第１検索手段及び前記第２検索手段によって発見された装置のうちいずれかの装置と、前記第２通信部によって通信する通信手段と、
を有し、
前記第２検索手段によって前記第２検索処理が実行された場合、前記第２検索処理に用いられた前記特定情報の送信元の装置が発見されることを特徴とする情報処理装置。
【請求項２】
ユーザから所定の指示を受け付ける指示受付手段を更に有し、
前記受信手段は、前記指示受付手段により前記所定の指示が受け付けられる前から前記特定情報の受信を開始し、
前記第１検索手段は、前記受け付け手段により前記所定の指示が受け付けられた場合、前記第１検索処理を実行し、
前記第２検索手段は、前記受け付け手段により前記所定の指示が受け付けられた場合、前記受け付け手段により前記所定の指示が受け付けられる前に前記受信手段により受信された前記特定情報を用いて、前記第２検索処理を実行することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
ユーザから所定の指示を受け付ける指示受付手段を更に有し、
前記受信手段は、前記指示受付手段により前記所定の指示が受け付けられた場合に前記特定情報の受信を開始し、
前記第１検索手段は、前記受け付け手段により前記所定の指示が受け付けられた場合、前記第１検索処理を実行し、
前記第２検索手段は、前記受け付け手段により前記所定の指示が受け付けられた場合、前記受け付け手段により前記所定の指示が受け付けられてから前記受信手段により受信された前記特定情報を用いて、前記第２検索処理を実行することを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記保存手段は、前記受信手段が複数の前記特定情報を受信した場合、複数の前記特定情報を前記メモリに保存し、
前記第２検索手段は、前記メモリに複数の前記特定情報が保存されている場合、複数の前記特定情報それぞれを用いて、複数回、前記第２検索処理を実行することを特徴とする請求項１〜３のいずれか１項に記載の情報処理装置。
【請求項５】
前記保存手段は、前記受信手段によって受信された第１の前記特定情報の送信元の装置と、前記メモリにすでに保存されている第２の前記特定情報の送信元の装置が同一である場合、前記メモリにすでに保存されている前記第２の前記特定情報を、前記第１の前記特定情報に更新することを特徴とする請求項１〜４のいずれか１項に記載の情報処理装置。
【請求項６】
前記第２の検索手段は、前記第１の検索手段により、前記メモリにすでに保存されている所定の前記特定情報の送信元の装置が発見された場合、前記所定の前記特定情報を用いた前記第２検索処理を実行しないことを特徴とする請求項１〜５のいずれか１項に記載の情報処理装置。
【請求項７】
前記第２の検索手段は、前記メモリに前記特定情報が保存されていない場合には、前記第２検索処理を実行しないことを特徴とする請求項１〜６のいずれか１項に記載の情報処理装置。
【請求項８】
前記第１検索手段及び前記第２検索手段によって発見された装置に関する情報を表示部に表示する表示制御手段と、
前記第１検索手段及び前記第２検索手段によって発見された装置に関する情報のうち、いずれかの情報の選択をユーザから受け付ける選択受付手段と、を更に有し、
前記通信手段は、前記第１検索手段及び前記第２検索手段によって発見された装置のうち、前記ユーザから選択された情報に対応する装置と、前記第２通信部によって通信することを特徴とする請求項１〜７のいずれか１項に記載の情報処理装置。
【請求項９】
前記第１検索手段及び前記第２検索手段は、印刷を実行可能な装置を検索することを特徴とする請求項１〜８のいずれか１項に記載の情報処理装置。
【請求項１０】
前記通信手段は、前記第１検索手段及び前記第２検索手段によって発見された装置のうちいずれかの装置に、当該装置に印刷を実行させるための印刷ジョブを前記第２通信部によって送信することを特徴とする請求項９に記載の情報処理装置。
【請求項１１】
前記第１通信部は、Ｂｌｕｅｔｏｏｔｈ  Ｌｏｗ  Ｅｎｅｒｇｙ（登録商標）によって近距離無線通信を実行することを特徴とする請求項１〜１０のいずれか１項に記載の情報処理装置。
【請求項１２】
前記第２通信部は、Ｗｉ−Ｆｉ（商標登録）によって通信を実行することを特徴とする請求項１〜１１のいずれか１項に記載の情報処理装置。
【請求項１３】
前記第１検索処理は、マルチキャスト検索処理又はブロードキャスト検索処理であり、
前記第２検索処理は、ユニキャスト検索処理であることを特徴とする請求項１〜１２のいずれか１項に記載の情報処理装置。
【請求項１４】
前記特定情報は、前記特定情報の送信元の装置のＩＰアドレスであることを特徴とする請求項１〜１３のいずれか１項に記載の情報処理装置。
【請求項１５】
近距離無線通信を実行する第１通信部と、前記近距離無線通信より高速な通信を実行する第２通信部と、を有する情報処理装置の制御方法であって、
前記第１通信部によって、前記情報処理装置の外部の装置から、前記装置を特定するための特定情報を受信する受信ステップと、
前記受信ステップにより受信された前記特定情報をメモリに保存する保存ステップと、
前記情報処理装置が属するサブネット内の、前記情報処理装置が通信可能な装置を検索可能な第１検索処理を実行する第１検索ステップと、
前記保存ステップにより保存された前記特定情報を用いて、前記情報処理装置が属するサブネットの外部の、前記情報処理装置が通信可能な装置を検索可能な第２検索処理を実行する第２検索ステップと、
前記第１検索ステップ及び前記第２検索ステップによって発見された装置のうちいずれかの装置と、前記第２通信部によって通信する通信ステップと、
を有し、
前記第２検索ステップによって前記第２検索処理が実行された場合、前記第２検索処理に用いられた前記特定情報の送信元の装置が発見されることを特徴とする制御方法。
【請求項１６】
請求項１〜１４のいずれか１項に記載の情報処理装置の各手段として、コンピュータを機能させるためのプログラム。
【請求項１７】
所定の無線通信方式による無線通信を実行する通信部を有する通信装置であって、
前記所定の無線通信方式による接続を新たに実行しない状態であることを示す第１の情報及び、前記通信装置が前記通信装置の外部の装置と前記所定の無線通信方式によって接続している状態で送信されることができず、且つ前記所定の無線通信方式による接続を実行可能な状態であることを示す第２の情報を、前記通信部によって送信可能な送信手段を有し、
前記送信手段は、前記通信装置が前記通信装置の外部の装置と前記所定の無線通信方式によって接続している場合、前記通信部によって前記第１の情報を送信し、前記通信装置が前記通信装置の外部の装置と前記所定の無線通信方式によって接続していない場合、前記通信部によって前記第２の情報を送信し、
前記第１の情報又は前記第２の情報が、情報処理装置によって取得される場合、前記情報処理装置は、前記通信装置を特定するための特定情報を取得し、
前記特定情報を取得した前記情報処理装置は、前記特定情報を用いて、前記情報処理装置が属するサブネットの外部の、前記情報処理装置が通信可能な装置を検索可能な検索処理を実行し、
前記情報処理装置によって前記検索処理が実行された場合、前記検索処理に用いられた前記特定情報の送信元の装置が発見されることを特徴とする通信装置。
【請求項１８】
前記第１の情報及び前記第２の情報は前記特定情報を含むことを特徴とする請求項１７に記載の通信装置。
【請求項１９】
前記第１の情報が送信された後に、前記第１の情報に対する応答を、前記通信装置の外部の装置から前記通信部によって受信する第１受信手段を有し、
前記送信手段は、前記第１受信手段により前記応答が受信された場合、前記特定情報を含む第３の情報を前記通信部によって送信することを特徴とする請求項１７に記載の通信装置。
【請求項２０】
前記第２の情報が送信された後に、前記第２の情報に対する応答を、前記通信装置の外部の装置から前記通信部によって受信する第２受信手段を有し、
前記送信手段は、前記第２受信手段により前記応答が受信された場合、前記特定情報を含む第４の情報を前記通信部によって送信することを特徴とする請求項１７又は請求項１９に記載の通信装置。
【請求項２１】
前記検索処理によって前記通信装置が発見された場合、前記通信部による通信より高速で通信可能な高速通信部によって、前記情報処理装置と通信する通信手段を更に有することを特徴とする請求項１７〜２０のいずれか１項に記載の通信装置。
【請求項２２】
前記通信部は、Ｂｌｕｅｔｏｏｔｈ  Ｌｏｗ  Ｅｎｅｒｇｙ（登録商標）によって近距離無線通信を実行することを特徴とする請求項１７〜２１のいずれか１項に記載の通信装置。
【請求項２３】
前記第１の情報は、ＡＤＶ＿ＮＯＮＣＯＮＮ＿ＩＮＤ又はＡＤＶ＿ＳＣＡＮ＿ＩＮＤのタイプのアドバタイズ情報であり、
前記第２の情報は、ＡＤＶ＿ＩＮＤのタイプのアドバタイズ情報であることを特徴とする請求項１７〜２２のいずれか１項に記載の通信装置。
【請求項２４】
前記第２通信部を介して受信した画像データに基づいて、画像形成部によって記録媒体に画像を形成する画像形成手段をさらに有することを特徴とする請求項１７〜２３のいずれか１項に記載の通信装置。
【請求項２５】
近距離無線通信を実行する第１通信部と、前記近距離無線通信より高速な通信を実行する第２通信部と、を有する情報処理装置と、
前記近距離無線通信を実行する第３通信部を有する通信装置と、を含む通信システムの制御方法であって、
前記第３通信部によって、前記通信装置を特定するための特定情報を、前記情報処理装置に送信する送信ステップと、
前記第１通信部によって、前記通信装置から、前記特定情報を受信する受信ステップと、
前記受信ステップにより受信された前記特定情報をメモリに保存する保存ステップと、
前記情報処理装置が属するサブネット内の、前記情報処理装置が通信可能な装置を検索可能な第１検索処理を実行する第１検索ステップと、
前記保存ステップにより保存された前記特定情報を用いて、前記情報処理装置が属するサブネットの外部の、前記情報処理装置が通信可能な装置を検索可能な第２検索処理を実行する第２検索ステップと、
前記第１検索ステップ及び前記第２検索ステップによって発見された装置のうちいずれかの装置と、前記第２通信部によって通信する通信ステップと、を有し、
前記第２検索ステップによって、前記特定情報が用いられた前記第２検索処理が実行された場合、前記通信装置が発見されることを特徴とする制御方法。
【請求項２６】
前記送信ステップでは、前記無線通信による接続を新たに実行しない状態であることを示す第１の情報及び、前記通信装置が前記通信装置の外部の装置と前記近距離無線通信によって接続している状態で送信されることができず、且つ前記近距離無線通信による接続を実行可能な状態であることを示す第２の情報を、前記第３通信部によって送信可能であり、
前記送信ステップでは、前記通信装置が前記通信装置の外部の装置と前記近距離無線通信によって接続している場合、前記第３通信部によって前記第１の情報を送信し、前記通信装置が前記通信装置の外部の装置と前記近距離無線通信によって接続していない場合、前記第３通信部によって前記第２の情報を送信し、
前記受信ステップでは、前記第１の情報又は前記第２の情報が、前記情報処理装置によって受信される場合、前記特定情報を受信することを特徴とする請求項２５に記載の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、通信装置、プログラム及び制御方法に関するものである。
【背景技術】
【０００２】
外部の装置と通信する情報処理装置が知られている。このような情報処理装置は、通信を開始する前に、通信相手となる装置（情報処理装置が通信可能な装置）を検索する処理を実行する。特許文献１には、マルチキャスト検索やユニキャスト検索によって、情報処理装置が通信可能な装置を発見する情報処理装置が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−３９４１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、情報処理装置は一般に、ユニキャスト検索処理によって、自身が属しているサブネットの外部の装置を発見することが可能だが、ユニキャスト検索処理の実行には検索対象の装置を特定するための特定情報を必要とする。
【０００５】
特許文献１の情報処理装置は、ユニキャスト検索処理に用いる特定情報（ＩＰアドレス）を、マルチキャスト検索処理によって取得している。しかしながら、情報処理装置は一般に、マルチキャスト検索処理では、自身が属しているサブネットの内部の装置しか発見することができない。そのため、結果として、特許文献１の情報処理装置は、ユニキャスト検索処理であっても、自身が属しているサブネットの外部の装置を発見することできないという課題が有る。そこで、本発明は、自身が属しているサブネットの外部の装置を発見することが可能な情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するため、本発明の情報処理装置は、
近距離無線通信を実行する第１通信部と、前記近距離無線通信より高速な通信を実行する第２通信部と、を有する情報処理装置であって、
前記第１通信部によって、前記情報処理装置の外部の装置から、前記装置を特定するための特定情報を受信する受信手段と、
前記受信手段により受信された前記特定情報をメモリに保存する保存手段と、
前記情報処理装置が属するサブネット内の、前記情報処理装置が通信可能な装置を検索可能な第１検索処理を実行する第１検索手段と、
前記保存手段により保存された前記特定情報を用いて、前記情報処理装置が属するサブネットの外部の、前記情報処理装置が通信可能な装置を検索可能な第２検索処理を実行する第２検索手段と、
前記第１検索手段及び前記第２検索手段によって発見された装置のうちいずれかの装置と、前記第２通信部によって通信する通信手段と、
を有し、
前記第２検索手段によって前記第２検索処理が実行された場合、前記第２検索処理に用いられた前記特定情報の送信元の装置が発見されることを特徴とする。
【０００７】
また、本発明の通信装置は、
無線通信を実行する通信部を有する通信装置であって、
前記無線通信による接続を新たに実行しない状態であることを示す第１の情報及び、前記通信装置が前記通信装置の外部の装置と前記近距離無線通信によって接続している状態で送信されることができず、且つ前記近距離無線通信による接続を実行可能な状態であることを示す第２の情報を、前記通信部によって送信可能な送信手段を有し、
前記送信手段は、前記通信装置が前記通信装置の外部の装置と前記近距離無線通信によって接続している場合、前記通信部によって前記第１の情報を送信し、前記通信装置が前記通信装置の外部の装置と前記近距離無線通信によって接続していない場合、前記通信部によって前記第２の情報を送信し、
前記第１の情報又は前記第２の情報が、情報処理装置によって取得される場合、前記情報処理装置は、前記通信装置を特定するための特定情報を取得し、
前記特定情報を取得した前記情報処理装置は、前記特定情報を用いて、前記情報処理装置が属するサブネットの外部の、前記情報処理装置が通信可能な装置を検索可能な検索処理を実行し、
前記情報処理装置によって前記検索処理が実行された場合、前記検索処理に用いられた前記特定情報の送信元の装置が発見されることを特徴とする。
【０００８】
また、本発明の制御方法は、
近距離無線通信を実行する第１通信部と、前記近距離無線通信より高速な通信を実行する第２通信部と、を有する情報処理装置と、
前記近距離無線通信を実行する第３通信部を有する通信装置と、を含む通信システムの制御方法であって、
前記第３通信部によって、前記通信装置を特定するための特定情報を、前記情報処理装置に送信する送信ステップと、
前記第１通信部によって、前記通信装置から、前記特定情報を受信する受信ステップと、
前記受信ステップにより受信された前記特定情報をメモリに保存する保存ステップと、
前記情報処理装置が属するサブネット内の、前記情報処理装置が通信可能な装置を検索可能な第１検索処理を実行する第１検索ステップと、
前記保存ステップにより保存された前記特定情報を用いて、前記情報処理装置が属するサブネットの外部の、前記情報処理装置が通信可能な装置を検索可能な第２検索処理を実行する第２検索ステップと、
前記第１検索ステップ及び前記第２検索ステップによって発見された装置のうちいずれかの装置と、前記第２通信部によって通信する通信ステップと、を有し、
前記第２検索ステップによって、前記特定情報が用いられた前記第２検索処理が実行された場合、前記通信装置が発見されることを特徴とする。
【発明の効果】
【０００９】
情報処理装置が、自身が属しているサブネットの外部の装置を発見することが可能となる。
【図面の簡単な説明】
【００１０】
【図１】情報処理装置と通信装置のハードウェア構成部を示す図である。
【図２】通信装置が備える近距離通信部の詳細を示す図である。
【図３】１つのサブネットで構成されるネットワークに属する通信システムを示す図である。
【図４】複数のサブネットで構成されるネットワークに属する通信システムを示す図である。
【図５】近距離通信部が通信装置の周辺にブロードキャストするアドバタイズ情報の構造の一例
【図６】近距離通信部の消費電力を示す図である。
【図７】近距離通信部によるアドバタイズ情報の送信処理と受信処理を示す図である。
【図８】情報処理装置が自身と異なるサブネットに属する通信装置を検索する際に各装置が実行する処理を示すシーケンス図である。
【図９】情報処理装置が、アドバタイズ情報を取得した際に実行する処理を示すフローチャートである。
【図１０】情報処理装置が、情報処理装置の通信先となる装置を検索する際に実行する処理を示すフローチャートである。
【図１１】通信装置がアドバタイズ情報を送信する際に実行する処理を示すフローチャートである。
【図１２】情報処理装置が、アドバタイズ情報を取得した際に実行する処理を示すフローチャートである。
【図１３】それぞれのタイプのアドバタイズ情報のペイロードの内容を示す図である。
【図１４】検索指示を受け付けるための画面の一例を示す図である。
【発明を実施するための形態】
【００１１】
以下に図面を参照して、本発明の好適な実施形態を例示的に説明する。ただし、本発明については、その趣旨を逸脱しない範囲で、当業者の通常の知識に基づいて、以下に記載する実施形態に対して適宜変更、改良が加えられたものについても本発明の範囲に入ることが理解されるべきである。
【００１２】
（第１実施形態）
本実施形態の通信システムに含まれる情報処理装置及び通信装置について説明する。情報処理装置として、本実施形態ではスマートフォンを例示しているが、これに限定されず、携帯端末、ノートＰＣ、タブレット端末、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）、デジタルカメラ等、種々のものを適用可能である。また、通信装置として、本実施形態ではプリンタを例示しているが、これに限定されず、情報処理装置と無線通信を行うことが可能な装置であれば、種々のものを適用可能である。例えば、プリンタであれば、インクジェットプリンタ、フルカラーレーザービームプリンタ、モノクロプリンタ等に適用することができる。また、プリンタのみならず複写機やファクシミリ装置、携帯端末、スマートフォン、ノートＰＣ、タブレット端末、ＰＤＡ、デジタルカメラ、音楽再生デバイス、テレビ等にも適用可能である。その他、複写機能、ＦＡＸ機能、印刷機能等の複数の機能を備える複合機にも適用可能である。
【００１３】
まず、本実施形態の情報処理装置と、本実施形態の通信装置のハードウェア構成部について図１のブロック図を参照して説明する。また、本実施形態では以下の構成を例に記載するが、装置間で通信を行うことが可能な装置に関して適用可能なものであり、特にこの図のとおりに機能や構成を限定するものではない。情報処理装置１０１は、本実施形態の情報処理装置である。情報処理装置１０１は、入力インタフェース１０２、ＣＰＵ１０３、ＲＯＭ１０４、ＲＡＭ１０５、外部記憶装置１０６、出力インタフェース１０７、表示部１０８、通信部１０９、近距離通信部１１０、撮影装置１１１等のハードウェア構成部を有する。
【００１４】
入力インタフェース１０２は、物理キーボードやボタン、タッチパネル等を介してユーザからのデータ入力や動作指示を受け付けるためのインタフェースである。
【００１５】
ＣＰＵ１０３は、システム制御部であり、情報処理装置１０１の全体を制御する。
【００１６】
ＲＯＭ１０４は、ＣＰＵ１０３が実行する制御プログラムやデータテーブル、組み込みオペレーティングシステム（以下、ＯＳという。）プログラム等の固定データを格納する。本実施形態では、ＲＯＭ１０４に格納されている各制御プログラムは、ＲＯＭ１０４に格納されている組み込みＯＳの管理下で、スケジューリングやタスクスイッチ、割り込み処理等のソフトウェア実行制御を行う。
【００１７】
ＲＡＭ１０５は、バックアップ電源を必要とするＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等で構成される。なお、ＲＡＭ１０５は、図示しないデータバックアップ用の１次電池によってデータが保持されているため、プログラム制御変数等の重要なデータを揮発させずに格納することができる。また、情報処理装置１０１の設定情報や情報処理装置１０１の管理データ等を格納するメモリエリアもＲＡＭ１０５に設けられている。また、ＲＡＭ１０５は、ＣＰＵ１０３の主メモリとワークメモリとしても用いられる。
【００１８】
外部記憶装置１０６は、印刷実行機能を提供するアプリケーション（以降、印刷アプリと記載する）を備えている。また、外部記憶装置１０６は、通信装置１５１が解釈可能な印刷情報を生成する印刷情報生成プログラム、通信部１０９を介して接続している通信装置１５１との間で送受信する情報送受信制御プログラム等の各種プログラムを備えている。これらのプログラムが使用する各種情報を保存している。また、通信部１０９を介して他の情報処理装置やインターネットから得た画像データも保存している。
【００１９】
出力インタフェース１０７は、表示部１０８がデータの表示や情報処理装置１０１の状態の通知を行うための制御を行うインタフェースである。
【００２０】
表示部１０８は、ＬＥＤ（発光ダイオード）やＬＣＤ（液晶ディスプレイ）などから構成され、データの表示や情報処理装置１０１の状態の通知を行う。なお、表示部１０８をタッチパネルで構成しても良い。その場合、情報処理装置１０１は、数値入力キー、モード設定キー、決定キー、取り消しキー、電源キー等のキーを備えるソフトキーボードを表示部１０８に表示させることで、表示部１０８を介してユーザからの入力を受け付けても良い。
【００２１】
通信部１０９は、通信装置１５１等の装置と接続して、データ通信を実行するための構成である。例えば、通信部１０９は、通信装置１５１内のアクセスポイント（不図示）に接続可能である。通信部１０９と通信装置１５１内のアクセスポイントが接続することで、情報処理装置１０１と通信装置１５１は相互に通信可能となる。なお、通信部１０９は無線通信で通信装置１５１とダイレクトに通信しても良いし、情報処理装置１０１や通信装置１５１の外部に存在する外部アクセスポイント（アクセスポイント１３１）を介して通信しても良い。無線通信方式としては、例えば、Ｗｉ−Ｆｉ（ＷｉｒｅｌｅｓｓＦｉｄｅｌｉｔｙ）（商標登録）が挙げられる。また、アクセスポイント１３１としては、例えば、無線ＬＡＮルーター等の機器などが挙げられる。なお、本実施形態において、情報処理装置１０１と通信装置１５１とが外部アクセスポイントを介さずにダイレクトに接続する方式をダイレクト接続方式という。また、情報処理装置１０１と通信装置１５１とが外部アクセスポイントを介して接続する方式をインフラストラクチャー接続方式という。また、通信部１０９は、アクセスポイントとして機能するハードウェアを備えていてもよいし、アクセスポイントとして機能させるためのソフトウェアにより、アクセスポイントとして動作してもよい。また、本実施形態では、通信部１０９は、近距離通信部１１０の実行する通信（近距離無線通信）より長距離及び高速な通信を可能とする。
【００２２】
近距離通信部１１０は、通信装置１５１等の装置と近距離で無線接続して、データ通信を実行するための構成であり、通信部１０９とは異なる通信方式によって通信を行う。近距離通信部１１０は、通信装置１５１内の近距離通信部１５７と接続可能である。なお、本実施形態では、近距離通信部１１０の無線通信方式として、Ｂｌｕｅｔｏｏｔｈ  Ｌｏｗ  Ｅｎｅｒｇｙ（登録商標）が用いられるものとする。なお、以下においてＢｌｕｅｔｏｏｔｈ  Ｌｏｗ  ＥｎｅｒｇｙをＢＬＥという。そのため、近距離通信部１１０は、ＢＬＥ規格によって定義されるＧＡＴＴ（Ｇｅｎｅｒｉｃ  Ａｔｔｒｉｂｕｔｅ  Ｐｒｏｆｉｌｅ）通信によって、他の近距離通信部と通信する。なお、近距離通信部１１０が利用する通信方式は、ＢＬＥに限定されず、例えばＮＦＣ（Ｎｅａｒ  Ｆｉｅｌｄ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ）やＢｌｕｅｔｏｏｔｈ  Ｃｌａｓｓｉｃ（登録商標）等の他の通信方式であっても良い。
【００２３】
撮影装置１１１は撮影素子で撮影した画像をデジタルデータに変換する装置である。デジタルデータは一度ＲＡＭ１０５に格納する。その後、ＣＰＵ１５４が実行するプログラムで所定の画像フォーマットに変換し、画像データとして外部記憶装置１０６に保存する。
【００２４】
通信装置１５１は、本実施形態の通信装置である。通信装置１５１は、ＲＯＭ１５２、ＲＡＭ１５３、ＣＰＵ１５４、プリントエンジン１５５、通信部１５６、近距離通信部１５７、入力インタフェース１５８、出力インタフェース１５９、表示部１６０、等を有する。
【００２５】
通信部１５６は、通信装置１５１内部のアクセスポイントとして、情報処理装置１０１等の装置と接続するためのアクセスポイントを有している。なお、該アクセスポイントは、情報処理装置１０１の通信部１０９に接続可能である。なお、通信部１５６は無線通信で情報処理装置１０１とダイレクトに通信しても良いし、アクセスポイント１３１を介して通信しても良い。通信方式としては、例えば、Ｗｉ−Ｆｉ（商標登録）が挙げられる。また、通信部１５６は、アクセスポイントとして機能するハードウェアを備えていてもよいし、アクセスポイントとして機能させるためのソフトウェアにより、アクセスポイントとして動作してもよい。
【００２６】
ＲＡＭ１５３は、バックアップ電源を必要とするＤＲＡＭ等で構成される。なお、ＲＡＭ１５３は、図示しないデータバックアップ用の電源が供給されることによってデータが保持されているため、プログラム制御変数等の重要なデータを揮発させずに格納することができる。また、ＲＡＭ１５３は、ＣＰＵ１５４の主メモリとワークメモリとしても用いられ、情報処理装置１０１等から受信した印刷情報を一旦保存するための受信バッファや各種の情報を保存する。
【００２７】
ＲＯＭ１５２は、ＣＰＵ１５４が実行する制御プログラムやデータテーブル、ＯＳプログラム等の固定データを格納する。本実施形態では、ＲＯＭ１５２に格納されている各制御プログラムは、ＲＯＭ１５２に格納されている組み込みＯＳの管理下で、スケジューリングやタスクスイッチ、割り込み処理等のソフトウェア実行制御を行う。また、通信装置１５１の設定情報や通信装置１５１の管理データ等の電源供給がされていない場合も保持する必要があるデータを格納するメモリエリアもＲＯＭ１５２に設けられている。
【００２８】
ＣＰＵ１５４は、システム制御部であり、通信装置１５１の全体を制御する。
【００２９】
プリントエンジン１５５（画像形成部）は、ＲＡＭ１５３に保存された情報や情報処理装置１０１等から受信した印刷情報に基づき、インク等の記録剤を用いて紙等の記録媒体上に画像形成し、印刷結果を出力する。この時、情報処理装置１０１等から送信される印刷情報は、送信データ量が大きく、高速な通信が求められるため、近距離通信部１５７よりも高速に通信可能な通信部１５６（高速通信部）を介して受信する。
【００３０】
入力インタフェース１５８は、ユーザからのデータ入力や動作指示を受け付けるためのインタフェースであり、物理キーボードやボタン、タッチパネル等で構成される。なお、後述の出力インタフェース１５９と入力インタフェース１５８とを同一の構成とし、画面の出力とユーザからの操作の受け付けを同一の構成で行うような形態としても良い。出力インタフェース１５９は、表示部１６０がデータの表示や通信装置１５１の状態の通知を行うための制御を行うインタフェースである。
【００３１】
表示部１６０は、ＬＥＤ（発光ダイオード）やＬＣＤ（液晶ディスプレイ）などから構成され、データの表示や通信装置１５１の状態の通知を行う。なお、表示部１６０上に、数値入力キー、モード設定キー、決定キー、取り消しキー、電源キー等のキーを備えるソフトキーボードを設置することで、表示部１６０を介してユーザからの入力を受け付けても良い。
【００３２】
近距離通信部１５７の詳細を図２に示す。近距離通信部１５７は、情報処理装置１０１等の装置と近距離で無線接続するための構成である。本実施形態では、近距離通信部１５７の無線通信方式として、ＢＬＥが用いられる。そのため、近距離通信部１５７は、ＢＬＥ規格によって定義されるＧＡＴＴ通信によって、情報処理装置の外部の装置が備える近距離通信部と通信する。近距離通信部１５７とＣＰＵ１５４は、Ｉ２Ｃ等のバスインターフェースを介して通信を行う。また、近距離通信部１５７には、ＣＰＵ２０１と記憶領域２０２とＲＯＭ２０３とＲＡＭ２０４が含まれる。記憶領域２０２は、ＣＰＵ１５４からアクセスを受け付けることが可能な記憶領域である。また、記憶領域２０２は、近距離通信部１１０を介して情報処理装置１０１からもアクセスを受け付けることが可能である。ＲＡＭ２０４は、バックアップ電源を必要とするＤＲＡＭ等で構成される。なお、ＲＡＭ２０４は、図示しないデータバックアップ用の電源が供給されることによってデータが保持されているため、プログラム制御変数等の重要なデータを揮発させずに格納することができる。また、ＲＡＭ２０４は、ＣＰＵ２０１の主メモリとワークメモリとしても用いられる。ＲＯＭ２０３は、ＣＰＵ２０１が実行する制御プログラムやデータテーブル、ＯＳプログラム等の固定データを格納する。なお、近距離通信部１１０も、近距離通信部１５７と同様の構成を有していても良い。なお、通信装置１５１には、外付けＨＤＤやＳＤカード等のメモリがオプション機器として装着されてもよく、通信装置１５１に保存される情報は、当該メモリに保存されても良い。
【００３３】
本実施形態では、通信装置１５１がペリフェラルとして動作し、情報処理装置１０１がセントラルとして動作する。なお、ペリフェラルである通信装置１５１は、後述のアドバタイズ情報をブロードキャストするアドバタイザとしても動作する。また、セントラルである情報処理装置１０１は、アドバタイズ情報を受信するイニシエータとしても動作する。
【００３４】
ここでは、例として情報処理装置１０１と通信装置１５１との処理分担を上記のように示したが、特にこの分担形態に限らず他の形態であってもよい。
【００３５】
ここで、ＢＬＥ規格におけるアドバタイズ情報の送信及びＧＡＴＴ通信の開始要求の受信の処理について説明する。本実施形態では、上述したように近距離通信部１５７がスレーブ機器として動作するため、近距離通信部１５７が上記処理を行うものとする。
【００３６】
近距離通信部１５７は、２．４ＧＨｚの周波数帯を４０チャネル（０〜３９ｃｈ）に分割して通信を行う。近距離通信部１５７は、そのうち、３７〜３９番目のチャネルをアドバタイズ情報の送信及びＧＡＴＴ通信の開始要求の受信に利用し、０〜３６番目のチャネルをＢＬＥ接続後のデータ通信（ＧＡＴＴ通信）に利用している。図６では、縦軸が近距離通信部１５７の消費電力を、横軸が時間を示しており、１つのチャネルを利用してアドバタイズ情報を送信する際の消費電力を各処理別に示している。Ｔｘ６０５は、アドバタイズ情報をブロードキャストする処理である送信処理における総消費電力を、Ｒｘ６０６は、ＧＡＴＴ通信の開始要求を受信するための受信器を有効にしておく処理である受信処理における総消費電力を示している。送信電力６０２は送信処理による瞬間消費電力を示している。また、受信電力６０３は受信処理による瞬間消費電力を示している。また、マイコン動作電力６０１は、近距離通信部１５７内のマイコンが動作している場合の瞬間消費電力を示している。なお、Ｔｘ６０５とＲｘ６０６の前後や間にもマイコンが動作しているのは、送信・受信処理の実行や停止のためには事前にマイコンが起動している必要があるからである。また、アドバタイズ情報の送信を複数チャネルで行う場合は、アドバタイズ情報の送信を行うチャネルの数だけ消費電力が増えることになる。また、マイコンが動作を行っておらず、近距離通信部１５７が省電力状態となっている間は、スリープ電力６０４が近距離通信部１５７の瞬間消費電力となる。なお、スリープ電力６０４は、後述の図７における省電力時間に近距離通信部１５７によって消費される電力である。このように、近距離通信部１５７は、所定のチャネルを用いて送信処理を行った後、同一のチャネルを用いて一定時間受信処理を行うことで、情報処理装置１０１からＧＡＴＴ通信の開始要求が送信されるのを待つ。
【００３７】
また、近距離通信部１５７は、図７に示すように、アドバタイズ情報の送信処理と受信処理を、チャネル別に３回繰り返した後、マイコンの動作を停止させ一定時間省電力状態になる。以下、所定のチャネルによるアドバタイズ情報の送信処理と受信処理の組み合わせをアドバタイズと言う。また、所定のチャネルによってアドバタイズ情報を送信する時間間隔をアドバタイズ間隔という。このように、近距離通信部１５７は、アドバタイズ間隔毎に省電力状態となることで、消費電力を抑制して動作を続けることが可能である。なお、１回目のアドバタイズを行ってから省電力状態になるまでに繰り返すアドバタイズの回数は、３回以下であれば任意に変更可能である。
【００３８】
図５は、近距離通信部１５７が通信装置１５１の周辺にブロードキャストするアドバタイズ情報の構造の一例である。
【００３９】
近距離通信部１５７は、電力の供給が開始されると初期化処理を行い、アドバタイジング状態となる。近距離通信部１５７は、アドバタイジング状態となると、アドバタイズ間隔に基づいて定期的にアドバタイズ情報を周辺にブロードキャストする。アドバタイズ情報とは、基本的なヘッダ情報（当該アドバタイズ情報を送信する装置を識別するための識別情報等）を含む信号であり、ヘッダ５０１とペイロード５０２から構成される。情報処理装置１０１は、このアドバタイズ情報を受信することで、通信装置１５１の存在を認識することができる。さらに、情報処理装置１０１は、通信装置１５１にＧＡＴＴ通信の開始要求を送信することで通信装置１５１とＢＬＥ接続することができる。
【００４０】
ヘッダ５０１は、アドバタイズ情報のタイプやペイロード５０２の大きさの情報などを格納する領域である。アドバタイズ情報のタイプとして、ＡＤＶ＿ＩＮＤ、ＡＤＶ＿ＤＩＲＥＣＴ＿ＩＮＤ、ＡＤＶ＿ＮＯＮＣＯＮＮ＿ＩＮＤ、ＡＤＶ＿ＳＣＡＮ＿ＩＮＤ、ＳＣＡＮ＿ＲＥＱ、ＳＣＡＮ＿ＲＳＰの６種類がある。
【００４１】
ＡＤＶ＿ＩＮＤのタイプであるアドバタイズ情報は、不特定多数のセントラルに向けて発されるアドバタイズ情報である。ペリフェラルは、ＡＤＶ＿ＩＮＤのタイプであるアドバタイズ情報に対するＣｏｎｎｅｃｔ  Ｒｅｑｕｅｓｔ（接続要求）に対しては、その送信元がいずれのセントラルであっても応答し、当該送信元とのＢＬＥ接続を確立する。なお、セントラルは、ＡＤＶ＿ＩＮＤのタイプのアドバタイズ情報を受信した場合、ＳＣＡＮ＿ＲＥＱのタイプのアドバタイズ情報を、ペリフェラルに送信しても良い。ペリフェラルは、ＡＤＶ＿ＩＮＤのタイプのアドバタイズ情報に対する応答として、セントラルからＳＣＡＮ＿ＲＥＱのタイプのアドバタイズ情報を受信すると、当該セントラルに対してＳＣＡＮ＿ＲＳＰのタイプのアドバタイズ情報を送信する。これにより、ペリフェラルは、ＡＤＶ＿ＩＮＤのタイプのアドバタイズ情報に格納しきれない情報を、ＳＣＡＮ＿ＲＳＰのタイプのアドバタイズ情報としてセントラルに対して送信することができる。
【００４２】
一方、ＡＤＶ＿ＮＯＮＣＯＮＮ＿ＩＮＤのタイプであるアドバタイズ情報は、ペリフェラルからセントラルに対して一方的に情報を提供するためのアドバタイズ情報である。ペリフェラルは、ＡＤＶ＿ＮＯＮＣＯＮＮ＿ＩＮＤのタイプであるアドバタイズ情報に対するＣｏｎｎｅｃｔ  Ｒｅｑｕｅｓｔに対しては、その送信元がいずれのセントラルであっても応答しない。すなわち、ペリフェラルは、ＡＤＶ＿ＮＯＮＣＯＮＮ＿ＩＮＤのタイプであるアドバタイズ情報を送信している状態では、新たにＢＬＥ接続を確立しない。また、ペリフェラルは、ＡＤＶ＿ＮＯＮＣＯＮＮ＿ＩＮＤのタイプのアドバタイズ情報に対する応答として、セントラルからＳＣＡＮ＿ＲＥＱのタイプのアドバタイズ情報を受信しても、ＳＣＡＮ＿ＲＳＰのタイプのアドバタイズ情報は送信しない。
【００４３】
また、ＡＤＶ＿ＳＣＡＮ＿ＩＮＤのタイプのアドバタイズ情報は、ＡＤＶ＿ＮＯＮＣＯＮＮ＿ＩＮＤのタイプのアドバタイズ情報と同様、ペリフェラルからセントラルに対して一方的に情報を提供するためのアドバタイズ情報である。ペリフェラルは、ＡＤＶ＿ＳＣＡＮ＿ＩＮＤのタイプであるアドバタイズ情報に対するＣｏｎｎｅｃｔ  Ｒｅｑｕｅｓｔに対しては、その送信元がいずれのセントラルであっても応答しない。すなわち、ペリフェラルは、ＡＤＶ＿ＳＣＡＮ＿ＩＮＤのタイプであるアドバタイズ情報を送信している状態では、新たにＢＬＥ接続を確立しない。しかし、ＡＤＶ＿ＮＯＮＣＯＮＮ＿ＩＮＤのタイプのアドバタイズ情報と異なり、ＡＤＶ＿ＳＣＡＮ＿ＩＮＤのタイプのアドバタイズ情報に対しては、セントラルは、ＳＣＡＮ＿ＲＥＱのタイプのアドバタイズ情報を応答することができる。すなわち、ペリフェラルは、ＡＤＶ＿ＳＣＡＮ＿ＩＮＤのタイプのアドバタイズ情報に対する応答として、セントラルからＳＣＡＮ＿ＲＥＱのタイプのアドバタイズ情報を受信した場合、ＳＣＡＮ＿ＲＳＰのタイプのアドバタイズ情報を送信する。
【００４４】
ＡＤＶ＿ＤＩＲＥＣＴ＿ＩＮＤのタイプのアドバタイズ情報については説明を省略する。
【００４５】
なお、ペリフェラルは、いずれかのセントラルとＢＬＥ接続を確立している状態では、ＡＤＶ＿ＮＯＮＣＯＮＮ＿ＩＮＤ及びＡＤＶ＿ＳＣＡＮ＿ＩＮＤのタイプのアドバタイズ情報は送信できるが、ＡＤＶ＿ＩＮＤのタイプのアドバタイズ情報は送信できない。すなわち、ペリフェラルは、ＡＤＶ＿ＩＮＤ、ＡＤＶ＿ＮＯＮＣＯＮＮ＿ＩＮＤ及びＡＤＶ＿ＳＣＡＮ＿ＩＮＤのタイプのアドバタイズ情報の全てを送信できるのは、いずれのセントラルともＢＬＥ接続を確立していない状態である場合である。
【００４６】
ペイロード５０２は、識別情報としてのデバイス名５０３や搭載プロファイル情報、通信装置１５１とＢＬＥ接続するための接続情報５０４、アドバタイズ情報の送信電力（Ｔｘ  Ｐｏｗｅｒ）５０５等の情報を格納する。なお、通信装置の識別情報５０６をアドバタイズ情報に含めても良い。通信装置の識別情報５０６としては、通信装置のＭＡＣアドレスや、通信装置のサービス情報、通信装置内のアクセスポイントのＳＳＩＤ、パスワード等が該当する。なお、アドバタイズ情報には、上述の情報以外の種々の情報が含まれていても良い。なお、本実施形態では、ペイロード５０２には、後述のユニキャスト検索処理で、アドバタイズ情報の送信元の通信装置を特定するための特定情報が含まれるものとする。特定情報は、具体的には、アドバタイズ情報の送信元の通信装置のＩＰアドレスであるものとするが、後述のユニキャスト検索処理に利用できる情報であればこれに限定されない。
【００４７】
図１３は、それぞれのタイプのアドバタイズ情報のペイロード５０２の内容である。ＡＤＶ＿ＩＮＤのタイプのアドバタイズ情報は、当該アドバタイズ情報の送信元のペリフェラル（アドバタイザ）のアドレスであるアドレス１３０１と、データ１３０２をペイロード５０２に含む。ＡＤＶ＿ＮＯＮＣＯＮＮ＿ＩＮＤのタイプのアドバタイズ情報は、当該アドバタイズ情報の送信元のペリフェラル（アドバタイザ）のアドレスであるアドレス１３０３と、データ１３０４をペイロード５０２に含む。ＳＣＡＮ＿ＲＥＱのタイプのアドバタイズ情報は、当該アドバタイズ情報の送信元のセントラル（イニシエータ）のアドレスであるアドレス１３０５と、当該アドバタイズ情報の送信先のペリフェラル（アドバタイザ）のアドレスであるアドレス１３０６を含む。ＳＣＡＮ＿ＲＳＰのタイプのアドバタイズ情報は、当該アドバタイズ情報の送信元のペリフェラル（アドバタイザ）のアドレスであるアドレス１３０７と、データ１３０８をペイロード５０２に含む。ＡＤＶ＿ＳＣＡＮ＿ＩＮＤのタイプのアドバタイズ情報は、当該アドバタイズ情報の送信元のペリフェラル（アドバタイザ）のアドレスであるアドレス１３０９と、データ１３１０をペイロード５０２に含む。
【００４８】
アドバタイズ情報に含まれるアドレスを参照することで、アドバタイズ情報を参照する装置は、当該アドバタイズ情報の送信元や送信先を特定することができる。なお、本実施形態では、ペリフェラルとして動作する通信装置１５１は、ＢＬＥ機能が有効化されていれば、ＡＤＶ＿ＩＮＤ、ＡＤＶ＿ＮＯＮＣＯＮＮ＿ＩＮＤ又はＡＤＶ＿ＳＣＡＮ＿ＩＮＤのタイプのアドバタイズ情報をブロードキャストしているものとする。そして、それらのアドバタイズ情報に含まれる、データ１３０２やデータ１３０４、データ１３１０に、特定情報が含まれるものとする。なお、この形態に限定されず、ＡＤＶ＿ＩＮＤのタイプのアドバタイズ情報には特定情報が含まれず、当該アドバタイズ情報の後に送信されるＳＣＡＮ＿ＲＳＰのタイプのアドバタイズ情報に特定情報が含まれる形態としても良い。また、ＡＤＶ＿ＳＣＡＮ＿ＩＮＤのタイプのアドバタイズ情報には特定情報が含まれず、当該アドバタイズ情報の後に送信されるＳＣＡＮ＿ＲＳＰのタイプのアドバタイズ情報に特定情報が含まれる形態としても良い。
【００４９】
ここで、本実施形態の課題を説明する。まずは、図３に示すような１つのサブネットで構成されるネットワークに属する通信システムにおいて、情報処理装置１０１が、通信装置１５１を検索する形態を説明する。図３に示す通信システムでは、通信装置１５１と情報処理装置１０１がそれぞれアクセスポイント３０２に直接接続して、サブネット３０１を形成している。なお、サブネットとは、ネットワークの単位である。本実施形態では、親機として動作する１つのアクセスポイントと、そのアクセスポイントに接続しており、子機として動作する装置の集合を１つのサブネットとみなす。また、通信装置１５１と情報処理装置１０１がアクセスポイント３０２に接続する方法は限定されないが、ここでは、通信部１０９や通信部１５６を介して、ＷｉＦｉ規格にて無線接続しているものとする。また、アクセスポイント３０２は、アクセスポイント１３１と同様の外部アクセスポイントである。
【００５０】
情報処理装置１０１は、自身と通信可能な通信装置を検索する場合、一般には、マルチキャスト検索処理を実行する。マルチキャスト検索処理とは、具体的には、当該処理を実行する装置が属するサブネット内の複数の装置に、アクセスポイントを介して問い合わせを行い、当該装置と通信可能な通信装置を検索する処理である。言いかえれば、マルチキャスト検索処理とは、一度に複数の装置に検索用の情報を送信する処理である。情報処理装置１０１は、マルチキャスト検索処理によって、自身が属するサブネットに属する装置（自身が属するサブネットの内部の装置）を検索可能である。マルチキャスト検索処理は、例えば、ＢｏｎｊｏｕｒやＬＬＭＮＲ等のプロトコルに基づいて行われる。
【００５１】
図３に示す通信システムにおいては、情報処理装置１０１はマルチキャスト検索処理により、同一のサブネットに属する通信装置１５１を特定することができ、以後、アクセスポイント３０２を介して、通信装置１５１と通信を行うことができる。具体的には例えば、情報処理装置１０１は、通信装置１５１に印刷を実行させるための印刷ジョブ等を通信装置１５１に送信することができる。
【００５２】
次に図４に示すような、複数のサブネットで構成されるネットワークに属する通信システムにおいて、情報処理装置１０１が、通信装置１５１を検索する形態を説明する。図４に示す通信システムでは、通信装置１５１がアクセスポイント４０２に直接接続し、サブネット４０１を形成している。また、情報処理装置１０１がアクセスポイント４１２に直接接続しサブネット４１１を形成している。そして、アクセスポイント４０２とアクセスポイント４１２が、例えばインターネット回線を介した接続により、通信可能な状態となっている。なお、アクセスポイント４０２とアクセスポイント４１２は、例えばＬＡＮ等によってダイレクトで接続していても良い。しかしながら、アクセスポイント４０２とアクセスポイント４１２がダイレクトで接続しても、どちらかのアクセスポイントが親機となり、もう一方のアクセスポイントの子機となるわけではない。また、図３と同様、通信装置１５１や情報処理装置１０１は、通信部１０９や通信部１５６を介して、ＷｉＦｉ規格にて各アクセスポイントと無線接続しているものとする。また、アクセスポイント４０２とアクセスポイント４１２は、アクセスポイント１３１と同様の外部アクセスポイントである。
【００５３】
図４のような、複数のサブネットで構成されるネットワークに属する通信システムにおいても、サブネット同士が通信可能な構成となっていれば、複数のサブネットそれぞれに含まれる装置同士で通信することは可能である。具体的には、例えば、情報処理装置１０１は、通信装置１５１を検索により発見（ディスカバリー）した後、アクセスポイント４０２とアクセスポイント４１２を介して、通信装置１５１に情報を送信することが可能である。
【００５４】
ここで、上述したように、情報処理装置１０１は、通信可能な通信装置１５１を検索する場合は、一般には、マルチキャスト検索処理を実行する。しかしながら、図４に示すような複数のサブネットで構成される通信システムにおいては、情報処理装置１０１は、マルチキャスト検索処理では、通信装置１５１を発見することができないことがある。これは、マルチキャスト検索処理では、一般に、当該処理を実行する装置が属するサブネット以外のサブネットに属する装置を検索することはできないためである。
【００５５】
すなわち、複数のサブネットで構成される通信システムにおいて情報処理装置１０１は、通信装置１５１が自身と異なるサブネットに属していても、通信装置１５１を発見さえできれば通信装置１５１と通信できる。その一方で、情報処理装置１０１は、マルチキャスト検索処理では、自身と異なるサブネットに属する通信装置１５１を発見することができないことがあるという課題がある。
【００５６】
そこで、本実施形態では、複数のサブネットで構成される通信システムにおいて、情報処理装置１０１が、自身と異なるサブネットに属する通信装置１５１を発見するための制御を実行する形態を説明する。具体的には、情報処理装置１０１は、通信装置１５１が近距離通信部１５７によって送信している特定情報を用いて、ユニキャスト検索処理を行う。ユニキャスト検索処理とは、具体的には、当該処理を実行する装置が属するネットワーク内の特定の装置に、アクセスポイントを介して問い合わせを行い、当該特定の装置を検索する処理である。言いかえれば、ユニキャスト検索処理とは、予め特定された単一の装置に検索用の情報を送信する処理である。ユニキャスト検索処理では、検索対象の装置を特定するために、検索対象の装置のＩＰアドレス等の情報（特定情報）が用いられる。なお、情報処理装置１０１は、ユニキャスト検索処理によって、自身が属するサブネット以外のサブネットに属する装置（自身が属するサブネットの外部の装置）も検索可能である。
【００５７】
これにより、情報処理装置１０１は、自身と異なるサブネットに属する通信装置１５１を発見することができる。さらに、情報処理装置１０１は、特定情報のスキャンを、ユーザから情報処理装置１０１の通信先となる装置の検索指示を受け付ける前から実行し、スキャンによって得た特定情報を適宜用いて、検索指示を受け付けた後の検索処理を実行する。これにより、情報処理装置１０１は、検索指示を受け付けた後のタイミングでは通信装置１５１が特定情報の送信を止めてしまっている場合にも、通信装置１５１をユニキャスト検索によって発見することができる。また、情報処理装置１０１は、検索指示を受け付けた後のタイミングでは情報処理装置１０１が通信装置１５１による特定情報の送信範囲外に位置する場合にも、通信装置１５１をユニキャスト検索によって発見することができる。
【００５８】
また、本実施形態では、ユニキャスト検索に必要な特定情報を、近距離無線通信（ここではＢＬＥ）によって取得している。これにより、情報処理装置１０１は、自身と異なるサブネットに属する通信装置１５１の特定情報を容易に（例えば、ユーザの入力を受け付けたりすることなく）取得することが可能である。
【００５９】
図８は、本実施形態において情報処理装置１０１が自身と異なるサブネットに属する通信装置１５１を検索する際に各装置が実行する処理を示すシーケンス図である。なお、各装置が実行する処理は、実際には、各装置のＣＰＵが、各装置のＲＯＭ、ＲＡＭ等の記憶領域に格納された各種プログラムを各装置のＲＡＭに展開し、展開されたプログラムを実行することにより実現される。
【００６０】
まず、通信装置１５１は、近距離通信部１５７により、アドバタイズ情報の送信（Ｓ８０１）を実行する。通信装置１５１は、このとき送信されるアドバタイズ情報のタイプは、ＡＤＶ＿ＩＮＤ、ＡＤＶ＿ＮＯＮＣＯＮＮ＿ＩＮＤ又はＡＤＶ＿ＳＣＡＮ＿ＩＮＤであるものとする。また、このとき送信されるアドバタイズ情報には、特定情報が含まれているものとする。なお例えば、このとき送信されるアドバタイズ情報のタイプがＡＤＶ＿ＩＮＤやＡＤＶ＿ＳＣＡＮ＿ＩＮＤである場合は、特定情報が含まれなくても良い。その場合、当該アドバイタイズ情報を受信した情報処理装置１０１は、ＳＣＡＮ＿ＲＥＱのタイプのアドバタイズ情報を通信装置１５１に送信し、その後、通信装置１５１は、特定情報が含まれるＳＣＡＮ＿ＲＳＰのタイプのアドバタイズ情報を送信する。これにより、情報処理装置１０１は、特定情報を通信装置１５１から取得することができる。
【００６１】
続いて、情報処理装置１０１は、通信装置１５１から受信したアドバタイズ情報を解析し、当該アドバタイズ情報に含まれる特定情報をＲＡＭ１０５等のメモリに保存する（Ｓ８０２）。
【００６２】
なお、このとき、通信装置１５１以外にも、情報処理装置１０１の外部の装置がアドバタイズ情報を送信している場合は、情報処理装置１０１は、当該アドバタイズ情報を取得して、それに含まれる特定情報をメモリに保存する。
【００６３】
その後、情報処理装置１０１は、ユーザから、情報処理装置１０１の通信先となる装置の検索指示を受け付ける指示受付ステップを実行する（Ｓ８０３）。具体的には例えば、情報処理装置１０１は、まずユーザから、印刷対象の画像データの選択及び、選択された画像データの印刷を行うためのアイコンの押下を受け付ける。その後、情報処理装置１０１は、図１４に示すような、印刷設定の入力を受け付けたり、印刷ジョブの送信先の通信装置の設定を受け付けたりするための画面を表示部１０８に表示する。そして、情報処理装置１０１は、当該画面において、ユーザから「プリンタを選択」ボタンの押下を受け付けることで、検索指示を受け付ける。なお、情報処理装置１０１は、図１４に示す画面において、「プリント」ボタンの押下を受け付けることで、「プリンタを選択」ボタンの押下を介して選択された通信装置に対して、印刷対象の画像データに基づく印刷ジョブを送信する。
【００６４】
続いて、情報処理装置１０１は、マルチキャスト検索処理を実行する（Ｓ８０４）。具体的には、情報処理装置１０１は、自身が直接接続しているアクセスポイント４１２に対し、マルチキャスト検索要求を送信する（Ｓ８０５）。マルチキャスト検索要求には、例えば、情報処理装置１０１が探している装置の条件（サービス情報等）が含まれている。ここでは、情報処理装置１０１は、画像形成機能（プリンタ機能）を有している装置（印刷を実行可能な装置）を検索の条件としている。
【００６５】
続いて、アクセスポイント４１２は、マルチキャスト検索要求を受信した場合、自身に接続している装置に対しマルチキャスト検索要求を転送し、当該検索要求に合致するかどうかの問い合わせを行う（Ｓ８０６）。図４の通信システムでは、アクセスポイント４１２に接続している装置は、情報処理装置１０１以外ではアクセスポイント４０２だけであるため、アクセスポイント４０２に対して問い合わせを行う。しかしながら、アクセスポイント４０２は、自身と異なるサブネットに属する装置によるマルチキャスト検索要求を受け付けないため、応答を返さない。
【００６６】
続いて、情報処理装置１０１は、ユニキャスト検索処理を実行する（Ｓ８０７）。具体的には、情報処理装置１０１は、自身が直接接続しているアクセスポイント４１２に対し、ユニキャスト検索要求を送信する（Ｓ８０８）。ユニキャスト検索要求には、例えば、情報処理装置１０１が探している装置の条件（サービス情報等）が含まれている。ここでは、マルチキャスト検索要求と同様、情報処理装置１０１は、画像形成機能（プリンタ機能）を有している装置を検索の条件としている。また、ユニキャスト検索要求には、検索対象の装置を特定するための情報が含まれている。ここでは、当該情報として、Ｓ８０２でメモリに保存した特定情報が用いられる。これにより、情報処理装置１０１は、検索対象の装置として通信装置１５１を特定して、ユニキャスト検索処理を実行することができる。
【００６７】
続いて、アクセスポイント４１２は、ユニキャスト検索要求を受信した場合、ユニキャスト検索要求の宛先（検索対象の装置）を確認し、ユニキャスト検索要求の経路選択（ルーティング）を行う。ここでは、検索対象の装置である通信装置１５１はアクセスポイント４０２に接続しているため、アクセスポイント４０２に対してユニキャスト検索要求を転送する（Ｓ８０９）。
【００６８】
続いて、アクセスポイント４０２は、通信装置１５１に対してユニキャスト検索要求を転送し、当該検索要求に合致するかどうかの問い合わせを行う（Ｓ８１０）。通信装置１５１は、ユニキャスト検索要求を受信した場合、当該ユニキャスト検索要求に合致する（情報処理装置１０１が探している装置の条件に合致する）か否かを判定する（Ｓ８１１）。ここでは、通信装置１５１は、画像形成機能のサービスを提供可能であり、且つ特定情報に含まれるＩＰアドレスが通信装置１５１のＩＰアドレスであるため、問い合わせに対して応答する（Ｓ８１２）。この応答は、アクセスポイント４０２及び４１２を介して情報処理装置１０１に転送される（Ｓ８１３、Ｓ８１４）。なお、応答には例えば、応答の送信元の装置の識別情報（名前、機種名、ＩＰアドレス、ＭＡＣアドレス等）や、当該装置が提供可能なサービスの情報、当該装置が利用するポートの番号等が含まれる。
【００６９】
応答を受信することで、情報処理装置１０１は、自身が属するネットワーク上において通信装置１５１を発見する。そして、情報処理装置１０１は、ユーザから受け付けた検索指示に対する応答として、マルチキャスト検索処理及びユニキャスト検索処理によって発見された装置のリストを表示する表示制御ステップを実行する（Ｓ８１５）。ここでは、通信装置１５１のみが発見されているため、通信装置１５１の識別情報（名前、機種名、ＩＰアドレス、ＭＡＣアドレス等）がリストに表示される。なお、マルチキャスト検索処理及びユニキャスト検索処理によって複数の装置が発見されていた場合は、複数の装置がリストに表示される。
【００７０】
なお、情報処理装置１０１は、複数台の通信装置から、それぞれの特定情報を含むアドバタイズ情報を受信していた場合、それぞれの特定情報をメモリに保存する。そして、情報処理装置１０１は、保存した複数の特定情報のそれぞれを用いて、複数回のユニキャスト検索処理を行う。
【００７１】
図９は、本実施形態において情報処理装置１０１が、アドバタイズ情報を取得した際に実行する処理を示すフローチャートである。なお、図９に示すフローチャートは、例えば、ＣＰＵ１０３がＲＯＭ１０４や外部記憶装置１０６等に格納されたプログラムをＲＡＭ１０５に読み出して実行することにより実現される。また、図９に示すフローチャートは、例えば、情報処理装置１０１のＢＬＥ機能が有効化された場合に開始される。
【００７２】
まず、Ｓ９０１では、ＣＰＵ１０３は、所定のアドバタイズ情報を受信したか否かを判定する。なお、所定のアドバタイズ情報とは、特定情報を含むアドバタイズ情報である。ＣＰＵ１０３は、受信したアドバタイズ情報が所定のアドバタイズ情報であるか否かの判定を、例えば、受信したアドバタイズ情報を解析して、特定情報が含まれるか否かを判定することで行っても良い。また、例えば、受信したアドバタイズ情報のペイロードに、所定の識別情報が含まれるか否かを判定することで行っても良い。
【００７３】
ＣＰＵ１０３は、所定のアドバタイズ情報を受信したと判定した場合、Ｓ９０２にて、当該所定のアドバタイズ情報を、ＲＡＭ１０５等のメモリに保存する。なお、ＣＰＵ１０３は、このときアドバタイズ情報全てではなく、アドバタイズ情報のうち少なくとも特定情報を保存すればよい。一方、ＣＰＵ１０３は、所定のアドバタイズ情報を受信していないと判定した場合、再度Ｓ９０１の処理を行うことで、所定のアドバタイズ情報を受信するのを待つ。
【００７４】
図１０は、本実施形態において情報処理装置１０１が、情報処理装置１０１の通信先となる装置を検索する際に実行する処理を示すフローチャートである。なお、図１０に示すフローチャートは、例えば、ＣＰＵ１０３がＲＯＭ１０４や外部記憶装置１０６等に格納されたプログラムをＲＡＭ１０５に読み出して実行することにより実現される。また、図１０に示すフローチャートは、例えば、情報処理装置１０１が、情報処理装置１０１の通信先となる装置の検索指示をユーザから受け付けた場合に開始される。
【００７５】
まず、Ｓ１００１では、ＣＰＵ１０３は、マルチキャスト検索処理を実行する。具体的には、ＣＰＵ１０３は、情報処理装置１０１が直接接続しているアクセスポイント４１２に対し、マルチキャスト検索要求を送信する。
【００７６】
続いて、Ｓ１００２では、ＣＰＵ１０３は、Ｓ１００１で実行したマルチキャスト検索要求に対する応答があったか否かを判定する。ＣＰＵ１０３は、Ｓ１００１で実行したマルチキャスト検索要求に対する応答がなかったと判定した場合、Ｓ１００３にて、マルチキャスト検索を実行してから所定の時間ｔ１が経過したか否かを判定する。ＣＰＵ１０３は、所定の時間ｔ１が経過したと判定した場合、Ｓ１００６に進み、所定の時間ｔ１が経過していないと判定した場合、再度Ｓ１００２を実行して応答を待つ。
【００７７】
一方、ＣＰＵ１０３は、Ｓ１００１で実行したマルチキャスト検索要求に対する応答があったと判定した場合、Ｓ１００４にて、受信した応答の送信元の装置の情報をＲＡＭ１０５等のメモリに保存する。なお、応答には例えば、応答の送信元の装置の識別情報（名前、機種名、ＩＰアドレス、ＭＡＣアドレス等）や、当該装置が提供可能なサービスの情報、当該装置が利用するポートの番号等が含まれる。そのため、ＣＰＵ１０３は、それらの情報をＲＡＭ１０５等のメモリに保存する。
【００７８】
次に、Ｓ１００４にて、ＣＰＵ１０３は、マルチキャスト検索を実行してから所定の時間ｔ２が経過したか否かを判定する。なお、ｔ１とｔ２は同じ時間であってもそうでなくても構わない。ＣＰＵ１０３は、所定の時間ｔ２が経過したと判定した場合、Ｓ１００６に進み、所定の時間ｔ２が経過していないと判定した場合、再度Ｓ１００２を実行して応答を待つ。
【００７９】
Ｓ１００６では、ＣＰＵ１０３は、ユニキャスト検索処理を実行する。具体的には、ＣＰＵ１０３は、情報処理装置１０１が直接接続しているアクセスポイント４１２に対し、ユニキャスト検索要求を送信する。このとき、ＣＰＵ１０３は、図９のフローチャートで説明した処理によって取得した特定情報を用いて、ユニキャスト検索処理を実行する。また、ＣＰＵ１０３は、特定情報を複数取得していた場合は、その中のいずれかを用いてユニキャスト検索処理を実行する。なお、図９に示すフローチャートで説明した処理によって、いずれの特定情報も取得できていない場合は、Ｓ１００６〜Ｓ１０１０の処理を省略し、ユニキャスト検索処理を実行しなくても良い。
【００８０】
続いて、Ｓ１００７では、ＣＰＵ１０３は、Ｓ１００６で実行したユニキャスト検索要求に対する応答があったか否かを判定する。ＣＰＵ１０３は、Ｓ１００６で実行したユニキャスト検索要求に対する応答がなかったと判定した場合、Ｓ１００８にて、ユニキャスト検索を実行してから所定の時間ｔ３が経過したか否かを判定する。ＣＰＵ１０３は、所定の時間ｔ３が経過したと判定した場合、Ｓ１０１１に進み、所定の時間ｔ３が経過していないと判定した場合、再度Ｓ１００７を実行して応答を待つ。
【００８１】
一方、ＣＰＵ１０３は、Ｓ１００６で実行したユニキャスト検索要求に対する応答があったと判定した場合、Ｓ１００９にて、受信した応答の送信元の装置の情報をＲＡＭ１０５等のメモリに保存する。なお、上述したように応答には例えば、応答の送信元の装置の識別情報（名前、機種名、ＩＰアドレス、ＭＡＣアドレス等）や、当該装置が提供可能なサービスの情報、当該装置が利用するポートの番号等が含まれる。そのため、ＣＰＵ１０３は、それらの情報をＲＡＭ１０５等のメモリに保存する。
【００８２】
次に、Ｓ１０１０にて、ＣＰＵ１０３は、取得済みの特定情報のうち、ユニキャスト検索に用いていない特定情報があるか否かを判定する。ＣＰＵ１０３は、ユニキャスト検索に用いていない特定情報があると判定した場合、Ｓ１００６に進み、ユニキャスト検索に用いていない特定情報のうちいずれかを用いてユニキャスト検索を実行する。一方、ＣＰＵ１０３は、ユニキャスト検索に用いていない特定情報がないと判定した場合、Ｓ１０１１に進む。
【００８３】
Ｓ１０１１では、ＣＰＵ１０３は、マルチキャスト検索処理及びユニキャスト検索処理の検索結果を表示部１０８に表示する。具体的には、ＣＰＵ１０３は、Ｓ１００４及びＳ１００９にて保存した情報を参照して、マルチキャスト検索処理及びユニキャスト検索処理によって発見された装置に関する情報のリストを表示部１０８に表示する。具体的には、ＣＰＵ１０３は、マルチキャスト検索処理及びユニキャスト検索処理によって発見された装置の識別情報（名前、機種名、ＩＰアドレス、ＭＡＣアドレス等）をリスト化して表示する。なお、マルチキャスト検索処理及びユニキャスト検索処理によって発見された装置が無い場合は、装置を発見できなかった旨をユーザに通知するための画面を表示部１０８に表示する。
【００８４】
なお、情報処理装置１０１は、表示部１０８に検索結果を表示した後は、ユーザからの入力を受け付け、検索結果に含まれる識別情報のうちいずれかをユーザに選択させる（選択受付ステップ）。そして、選択された識別情報に対応する装置を、印刷ジョブの送信先の通信装置として特定する。そして、情報処理装置１０１は、ユーザから印刷ジョブ送信指示を受け付けた場合に、予めユーザによって選択されている画像データに基づいて作成された印刷ジョブを、印刷ジョブの送信先となる通信装置に送信する。これにより、ユーザは、所望の通信装置に、印刷を実行させることができる。
【００８５】
このような形態とすることで、情報処理装置１０１は、自身と異なるサブネットに属する装置を発見し、発見した装置と通信することができる。
【００８６】
なお、上述では、マルチキャスト検索処理とユニキャスト検索処理を実行し終わった後に、表示部１０８に検索結果を表示するものとしたが、この形態に限定されない。例えば、１つ目の通信装置が発見された段階で、表示部１０８に、発見された通信装置を含む検索結果を表示しても良い。そして、情報処理装置１０１は、その後新たに通信装置を発見する毎に、発見した通信装置を検索結果のリストに追加して表示しても良い。
【００８７】
また、上述では、検索指示の受付（Ｓ８０３）の後に情報処理装置１０１がアドバタイズ情報を受信した場合の処理について記載していないが、情報処理装置１０１は、検索指示の受付の後もアドバタイズ情報のスキャンを実行しているものとする。すなわち、情報処理装置１０１は、検索指示の受付の後も、アドバタイズ情報を受信した場合には、それに含まれる特定情報を適宜ＲＡＭ１０５等のメモリに保存し、ユニキャスト検索を実行するタイミングで適宜それを使用する。
【００８８】
また、情報処理装置１０１は、表示部１０８に検索結果を表示した（Ｓ８１４）後も、アドバタイズ情報のスキャンを実行しても良い。その場合、情報処理装置１０１は、アドバタイズ情報を受信して、それに含まれる特定情報をＲＡＭ１０５等のメモリに保存する毎に、その特定情報を用いたユニキャスト検索を実行する。そして、情報処理装置１０１は、新たに通信装置を発見する毎に、発見した通信装置を検索結果のリストに追加して表示する。
【００８９】
また、上述では、情報処理装置１０１は、ユーザから検索指示を受け付ける前からアドバタイズ情報のスキャンを実行する形態としているが、この形態に限定されない。例えば、ユーザから検索指示を受け付けた場合にアドバタイズ情報のスキャンを実行する形態としても良い。その場合、図９のフローチャートは、ユーザから検索指示を受け付けた場合に開始される。
【００９０】
また、上述では、情報処理装置１０１は、マルチキャスト検索処理を実行しているが、マルチキャスト検索処理の代わりにブロードキャスト検索処理を実行しても良い。
【００９１】
また、本実施形態では、情報処理装置１０１は、ユーザから検索指示を受け付けた場合、マルチキャスト検索処理とユニキャスト検索処理の両方を実行するものとした。これにより、情報処理装置１０１は、自身が属するサブネットに属する通信装置と、自身が属さないサブネットに属する通信装置の両方を発見することができる。なお、一般には、情報処理装置１０１は、自身が属するサブネットに属する通信装置と通信することが多いため、例えば、マルチキャスト検索処理により通信装置が発見できた場合には、ユニキャスト検索処理を実行しないような形態としても良い。また、マルチキャスト検索処理とユニキャスト検索処理の両方を実行する形態では、マルチキャスト検索処理とユニキャスト検索処理の順番は限定されない。
【００９２】
また、上述では、情報処理装置１０１は、すでにメモリに保存されている特定情報がある場合にはユニキャスト検索を実行する形態としたが、この形態に限定されない。例えば、すでにメモリに保存されている特定情報を含むアドバタイズ情報の送信元が、マルチキャスト検索によって発見された場合は、当該送信元を検索するためのユニキャスト検索を実行しなくても良い。なお、当該アドバタイズ情報の送信元が、マルチキャスト検索によって発見されたかどうかの判定は、当該アドバタイズ情報に含まれるアドレスの情報と、マルチキャスト検索に対する応答に含まれる識別情報とを参照することで実行できる。
【００９３】
また、例えば、情報処理装置１０１は、アドバタイズ情報を受信した場合に、当該アドバタイズ情報の送信元が属しているサブネットと、自身が属しているサブネットとの比較を行っても良い。そして、情報処理装置１０１は、それらが同一である場合には、当該アドバタイズ情報に関する情報を保存しなくても良い。すなわち、情報処理装置１０１は、アドバタイズ情報の送信元が属しているサブネットと、自身が属しているサブネットが同一である場合には、当該アドバタイズ情報に含まれる特定情報を用いたユニキャスト検索処理を実行しなくても良い。なお、この形態では、アドバタイズ情報には、当該アドバタイズ情報の送信元が属するサブネットを特定するための情報が格納されているものとする。
【００９４】
また、情報処理装置１０１は、情報処理装置１０１の電源がオフされたタイミングで、特定情報を削除するものとする。しかし、特定情報を削除するタイミングはこれに限定されない。例えば、ユニキャスト検索処理を行う毎に、ユニキャスト検索処理に使用した検索情報を削除する形態としても良い。また、例えば、印刷を実行するための画面が表示されなくなった場合や、印刷を実行するためのアプリケーションの動作が停止された場合等に、特定情報を削除しても良い。
【００９５】
（第２実施形態）
上述したように、通信装置１５１は、情報処理装置１０１とＢＬＥ接続を確立するためには、ＡＤＶ＿ＩＮＤのタイプのアドバタイズ情報を送信する必要がある。そのため例えば、通信装置１５１は、ＢＬＥ接続を確立して情報処理装置１０１とＧＡＴＴ通信することで実現可能な機能を有している場合は、アドバタイザ状態においてＡＤＶ＿ＩＮＤのタイプのアドバタイズ情報を送信することが好ましい。しかしながら、通信装置１５１は、ＢＬＥ接続を確立している間は、ＡＤＶ＿ＩＮＤのタイプのアドバタイズ情報を送信することができない。そこで、本実施形態では、ＢＬＥ接続を確立している場合とそうでない場合とで、送信するアドバタイズ情報のタイプを変更する形態について説明する。
【００９６】
なお、本実施形態では、第１実施形態と同様の通信システムが用いられるものとし、第１実施形態と同様の構成については説明を省略する。
【００９７】
図１１は、本実施形態において通信装置１５１がアドバタイズ情報を送信する際に実行する処理を示すフローチャートである。なお、図１０に示すフローチャートは、例えば、ＣＰＵ１５４がＲＯＭ１５２等に格納されたプログラムをＲＡＭ１５３に読み出して実行することにより実現される。また、図１０に示すフローチャートは、例えば、通信装置１５１のＢＬＥ機能が有効化された場合に開始される。
【００９８】
まず、Ｓ１１０１にて、ＣＰＵ１５４は、アドバタイズ情報の送信を開始する。本実施形態では、通信装置１５１は、ＡＤＶ＿ＩＮＤのタイプのアドバタイズ情報を送信可能である。また、通信装置１５１は、ＡＤＶ＿ＮＯＮＣＯＮＮ＿ＩＮＤ及び／又はＡＤＶ＿ＳＣＡＮ＿ＩＮＤのタイプのアドバタイズ情報を送信可能である。このとき、ＣＰＵ１５４は、通信装置１５１がまだ他の装置とＢＬＥ接続を確立していない状態であるため、ＡＤＶ＿ＩＮＤのタイプのアドバタイズ情報の送信を開始する。なお、本実施形態では、このとき送信が開始されるＡＤＶ＿ＩＮＤのタイプのアドバタイズ情報には、特定情報が含まれるものとする。
【００９９】
次に、Ｓ１１０２にて、ＣＰＵ１５４は、Ｃｏｎｎｅｃｔ  Ｒｅｑｕｅｓｔ（接続要求）を受信したか否かを判定する。ＣＰＵ１５４は、Ｃｏｎｎｅｃｔ  Ｒｅｑｕｅｓｔを受信していないと判定した場合、再度Ｓ１１０２を行い、Ｃｏｎｎｅｃｔ  Ｒｅｑｕｅｓｔを受信するまでＡＤＶ＿ＩＮＤのタイプのアドバタイズ情報の送信を続ける。一方、ＣＰＵ１５４は、Ｃｏｎｎｅｃｔ  Ｒｅｑｕｅｓｔを受信したと判定した場合、Ｓ１１０３に進み、受信したＣｏｎｎｅｃｔ  Ｒｅｑｕｅｓｔを送信した装置と通信装置１５１との間でＢＬＥ接続を確立する。また、ＣＰＵ１５４は、通信装置１５１がＢＬＥ接続を確立するため、ＡＤＶ＿ＩＮＤのタイプのアドバタイズ情報の送信を停止する。
【０１００】
Ｓ１１０４では、ＣＰＵ１５４は、ＡＤＶ＿ＮＯＮＣＯＮＮ＿ＩＮＤのタイプのアドバタイズ情報の送信を開始する。言いかえれば、ＣＰＵ１５４は、通信装置１５１がＢＬＥ接続を確立した場合は、ＡＤＶ＿ＩＮＤのタイプのアドバタイズ情報を送信している状態から、ＡＤＶ＿ＮＯＮＣＯＮＮ＿ＩＮＤのタイプのアドバタイズ情報を送信している状態に切り替わる。なお、本実施形態では、このとき送信が開始されるＡＤＶ＿ＮＯＮＣＯＮＮ＿ＩＮＤのタイプのアドバタイズ情報には、特定情報が含まれるものとする。
【０１０１】
上述したように、ＣＰＵ１５４は、通信装置１５１がＢＬＥ接続を確立していても、ＡＤＶ＿ＮＯＮＣＯＮＮ＿ＩＮＤのタイプのアドバタイズ情報を送信することは可能である。そのため、Ｓ１１０４の処理により、通信装置１５１は、通信装置１５１がＢＬＥ接続を確立した場合にも、特定情報を通信装置１５１の外部の装置（情報処理装置１０１等）に送信することができる。ひいては、通信装置１５１がＢＬＥ接続を確立した場合にも、通信装置１５１の外部の装置は、ユニキャスト検索にて通信装置１５１を発見することができる。
【０１０２】
その後、Ｓ１１０５では、ＣＰＵ１５４は、通信装置１５１によるＢＬＥ接続が切断されたか否かを判定する。ＣＰＵ１５４は、通信装置１５１によるＢＬＥ接続が切断されていないと判定された場合、再度Ｓ１１０５を行い、ＢＬＥ接続が切断されるまで、ＡＤＶ＿ＮＯＮＣＯＮＮ＿ＩＮＤのタイプのアドバタイズ情報の送信を続ける。一方、ＣＰＵ１５４は、通信装置１５１によるＢＬＥ接続が切断されたと判定された場合、Ｓ１１０６に進む。
【０１０３】
Ｓ１１０６では、ＣＰＵ１５４は、ＡＤＶ＿ＮＯＮＣＯＮＮ＿ＩＮＤのタイプのアドバタイズ情報を送信している状態から、ＡＤＶ＿ＩＮＤのタイプのアドバタイズ情報を送信している状態に切り替わる。これにより、ＣＰＵ１５４は、他の装置とのＢＬＥ接続を再度実行することが可能な状態となる。
【０１０４】
このように、本実施形態では、通信装置１５１は、他の装置とのＢＬＥ接続を確立していない状態では、ＡＤＶ＿ＩＮＤのタイプのアドバタイズ情報を送信する。このような形態とすることで、通信装置１５１は、他の装置とのＢＬＥ接続を確立し、他の装置とのＧＡＴＴ通信を実行することができる。また、通信装置１５１は、他の装置とのＢＬＥ接続を確立している状態では、ＡＤＶ＿ＮＯＮＣＯＮＮ＿ＩＮＤのタイプのアドバタイズ情報を送信する。このような形態とすることで、通信装置１５１は、他の装置とのＢＬＥ接続を確立した後も、特定情報を外部に送信することが可能となる。
【０１０５】
なお、情報処理装置１０１の処理は、第１実施形態と同様である。通信装置１５１が上述したように動作することで、情報処理装置１０１は、受信するアドバタイズ情報が、ＡＤＶ＿ＩＮＤのタイプであっても、ＡＤＶ＿ＮＯＮＣＯＮＮ＿ＩＮＤのタイプであっても、特定情報を取得して、ユニキャスト検索処理に利用できる。
【０１０６】
また、上述では、通信装置１５１は、他の装置とのＢＬＥ接続を確立している状態では、ＡＤＶ＿ＮＯＮＣＯＮＮ＿ＩＮＤのタイプのアドバタイズ情報を送信するものとしたが、この形態に限定されない。例えば、通信装置１５１は、他の装置とのＢＬＥ接続を確立している状態では、特定情報を含むＡＤＶ＿ＳＣＡＮ＿ＩＮＤのタイプのアドバタイズ情報を送信しても良い。また、例えば、通信装置１５１は、他の装置とのＢＬＥ接続を確立している状態では、特定情報を含まないＡＤＶ＿ＳＣＡＮ＿ＩＮＤのタイプのアドバタイズ情報を送信しても良い。そして、情報処理装置１０１からＳＣＡＮ＿ＲＥＱのタイプのアドバタイズ情報を受信した場合に、特定情報を含むＳＣＡＮ＿ＲＳＰのタイプのアドバタイズ情報を送信しても良い。
【０１０７】
（第３実施形態）
本実施形態では、同一の送信元のアドバタイズ情報に含まれる特定情報を逐次更新して管理することで、保存するデータ量を削減できる形態について説明する。
【０１０８】
なお、本実施形態では、第１実施形態乃至第２実施形態と同様の通信システムが用いられるものとし、第１実施形態乃至第２実施形態と同様の構成については説明を省略する。
【０１０９】
図１２は、本実施形態において情報処理装置１０１がアドバタイズ情報を取得した際に実行する処理を示すフローチャートである。なお、図１２に示すフローチャートは、例えば、ＣＰＵ１０３がＲＯＭ１０４や外部記憶装置１０６等に格納されたプログラムをＲＡＭ１０５に読み出して実行することにより実現される。また、図１２に示すフローチャートは、例えば、情報処理装置１０１のＢＬＥ機能が有効化された場合に開始される。
【０１１０】
まず、Ｓ１２０１では、ＣＰＵ１０３は、所定のアドバタイズ情報を受信したか否かを判定する。なお、所定のアドバタイズ情報とは、特定情報を含むアドバタイズ情報である。ＣＰＵ１０３は、受信したアドバタイズ情報が所定のアドバタイズ情報であるか否かの判定を、例えば、受信したアドバタイズ情報を解析して、特定情報が含まれるか否かを判定することで行っても良い。また、例えば、受信したアドバタイズ情報のペイロードに、所定の識別情報が含まれるか否かを判定することで行っても良い。
【０１１１】
ＣＰＵ１０３は、所定のアドバタイズ情報を受信していないと判定した場合、再度Ｓ１２０１の処理を行うことで、所定のアドバタイズ情報を受信するのを待つ。
【０１１２】
一方、ＣＰＵ１０３は、所定のアドバタイズ情報を受信したと判定した場合、Ｓ１２０２にて、受信したアドバタイズ情報の送信元が、すでにメモリに保存されている特定情報を含んでいたアドバタイズ情報の送信元と同一か否かを判定する。なお、ＣＰＵ１０３は、アドバタイズ情報自体を保存している場合は、受信したアドバタイズ情報の送信元と、保存済みのアドバタイズ情報の送信元を比較すればよい。また、ＣＰＵ１０３は、各アドバタイズ情報に含まれるアドレスの情報（アドレス１３０１、１３０３、１３０７等）を参照することで、各アドバタイズ情報の送信元を特定することができる。ＣＰＵ１０３は、受信したアドバタイズ情報の送信元が、すでにメモリに保存されている特定情報を含んでいたアドバタイズ情報の送信元と同一でないと判定した場合、Ｓ１２０３に進む。ＣＰＵ１０３は、Ｓ１２０３では、受信したアドバタイズ情報をＲＡＭ１０５等のメモリに新たに保存する。なお、ＣＰＵ１０３は、このときアドバタイズ情報全てではなく、アドバタイズ情報のうち少なくとも特定情報及びアドレスの情報を保存すればよい。
【０１１３】
一方、ＣＰＵ１０３は、受信したアドバタイズ情報の送信元が、すでにメモリに保存されている特定情報を含んでいたアドバタイズ情報の送信元と同一であると判定した場合、Ｓ１２０４に進む。ＣＰＵ１０３は、Ｓ１２０４では、受信したアドバタイズ情報をＲＡＭ１０５等のメモリに保存するとともに、当該アドバタイズ情報と同一の送信元と判定されたアドバタイズ情報をＲＡＭ１０５等のメモリから削除する。すなわち、ＣＰＵ１０３は、すでにメモリに保存されているアドバタイズ情報を、送信元が同一の新たなアドバタイズ情報に関する情報に更新する。なお、ＣＰＵ１０３は、上述と同様に、このときアドバタイズ情報全てではなく、アドバタイズ情報のうち少なくとも特定情報及びアドレスの情報を保存乃至更新すればよい。このような形態とすることで、メモリに保存するデータ量を削減することができる。また、例えば、第２実施形態のようにして、同一の通信装置からタイプの異なるアドバタイズ情報が送信されているような場合も、タイプ毎に別々に特定情報を保存することなく、送信元ごとにまとめて特定情報を管理することができる。また、例えば、通信装置のＩＰアドレスが変更された等の理由により通信装置が送信する特定情報が更新された場合に、情報処理装置１０１が管理している特定情報も更新することができる。すなわち、更新後の特定情報を用いてユニキャスト検索処理を実行することができる。
【０１１４】
なお、ＣＰＵ１０３は、すでにメモリに保存されている特定情報が複数ある場合は、複数の特定情報それぞれを含む複数のアドバタイズ情報の送信元のいずれかと、所定のアドバタイズ情報の送信元が同一であるかを判定する。そして、ＣＰＵ１０３は、すでにメモリに保存されている複数の特定情報のうち、送信元が同一であると判定されたアドバタイズ情報に含まれていた特定情報を更新する。
【０１１５】
（その他の実施形態）
上述では、情報処理装置１０１は、ＢＬＥ規格のアドバタイズ情報を受信することで、特定情報を取得する形態であったが、これに限定されない。例えば、情報処理装置１０１は、すでに通信装置１５１とＢＬＥ接続を確立している状態であれば、ＧＡＴＴ通信によって特定情報を取得しても良い。また、ＢＬＥ規格に限らず、他の通信規格によって特定情報を取得しても良い。
【０１１６】
上述の実施形態に記載されている、情報処理装置１０１によって実行される各処理は、情報処理装置１０１に予め搭載されているＯＳによって実現されても良いし、情報処理装置１０１にインストールされるアプリケーションプログラムによって実現されても良い。
【０１１７】
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワークや各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（ＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理でも実現可能である。また、プログラムは、１つのコンピュータで実行させても、複数のコンピュータを連動させて実行させるようにしてもよい。また、上記した処理の全てをソフトウェアで実現する必要はなく、処理の一部または全部をＡＳＩＣ等のハードウェアで実現するようにしてもよい。また、１つのＣＰＵで全ての処理を行う形態に限らず、複数のＣＰＵが適宜連携をしながら処理を行う形態としてもよい。また、上述した処理のうち、１部の処理を１つのＣＰＵが実行し、その他の処理を複数のＣＰＵが連携しながら処理を行う形態としても良い。また、上述した処理のうち、１部の処理を１つのＣＰＵが実行し、その他の処理を、当該１つのＣＰＵ以外のＣＰＵが処理を行う形態としても良い。
【符号の説明】
【０１１８】
１０１  情報処理装置
１３１  アクセスポイント
１５１  通信装置
【図１】
2018085657.tif 000003
【図２】
2018085657.tif 000004
【図３】
2018085657.tif 000005
【図４】
2018085657.tif 000006
【図５】
2018085657.tif 000007
【図６】
2018085657.tif 000008
【図７】
2018085657.tif 000009
【図８】
2018085657.tif 000010
【図９】
2018085657.tif 000011
【図１０】
2018085657.tif 000012
【図１１】
2018085657.tif 000013
【図１２】
2018085657.tif 000014
【図１３】
2018085657.tif 000015
【図１４】
2018085657.tif 000016