(57)【要約】【課題】  本発明は、異なる通信層でのサービス検索が混在する場合に、サービス検索結果を表示する際の利便性を向上することを目的とする。【解決手段】  本発明の通信装置は、実行するサービスを指定して無線通信を行うための第１の選択肢と接続先を指定して無線通信を行うための第２の選択肢とを少なくとも含む選択肢を提示する提示工程と、前記第１の選択肢および前記第２の選択肢を含む複数の選択肢に対応する無線通信から実行する無線通信を選択する工程と、を有することを特徴とする。【選択図】  図６
2014220557.tif 000002
【特許請求の範囲】
【請求項１】
通信装置であって、
実行するサービスを指定して無線通信を行うための第１の選択肢と接続先を指定して無線通信を行うための第２の選択肢とを少なくとも含む選択肢を提示する提示手段と、
前記第１の選択肢および前記第２の選択肢を含む複数の選択肢に対応する無線通信から実行する無線通信を選択する選択手段と、
を有することを特徴とする通信装置。
【請求項２】
第１の通信層における通信に基づいて、他の通信装置が実行可能なサービスを検出する第１の検出手段と、
前記第１の通信層と異なる第２の通信層における通信に基づいて、他の通信装置が実行可能なサービスを検出する第２の検出手段と、
前記第１の選択肢が選択された場合、前記第１の検出手段による検出結果を表示させる第１の表示制御手段と、
前記第２の選択肢が選択された場合、指定された接続先に対する前記第２の検出手段による検出結果を表示させる第２の表示制御手段と、
を有することを特徴とする通信装置。
【請求項３】
無線通信可能な範囲に存在する他の通信装置を探索する探索手段を有することを特徴とする請求項２に記載の通信装置。
【請求項４】
前記第１の選択肢が選択された場合、前記第１の検出手段は、前記探索手段による探索により検出された他の通信装置に対して、前記第１の通信層における接続を行う前に、前記第１の通信層においてサービス検索信号を送信し、該送信したサービス検索信号に対する応答から当該他の通信装置の実行可能なサービスを検出することを特徴とする請求項３に記載の通信装置。
【請求項５】
前記第２の選択肢が選択された場合、前記探索手段による探索により検出された他の通信装置を一覧表示する手段を更に有することを特徴とする請求項３または４に記載の通信装置。
【請求項６】
前記第２の選択肢が選択された場合、前記探索手段による探索により検出された複数の他の通信装置のうち何れかをユーザ操作に基づいて接続先として指定する第１の指定手段を有することを特徴とする請求項３乃至５何れか１項に記載の通信装置。
【請求項７】
前記第２の検出手段は、前記第１の指定手段により指定された他の通信装置と前記第１の通信層における接続を行った後に前記第２の通信層においてサービス検索信号を送信し、該送信したサービス検索信号に対する応答から当該他の通信装置の実行可能なサービスを検出することを特徴とする請求項６に記載の通信装置。
【請求項８】
前記第１の表示制御手段により表示された前記第１の検出手段により検出された複数のサービスから実行するサービスを指定する第２の指定手段を更に有することを特徴とする請求項２乃至７何れか１項に記載の通信装置。
【請求項９】
前記第２の指定手段により指定されたサービスを複数の他の通信装置と実行可能な場合、当該複数の他の通信装置から前記指定されたサービスを実行する装置を選択する手段を更に有することを特徴とする請求項８に記載の通信装置。
【請求項１０】
前記第１の選択肢が選択され、前記第１の検出手段による検出により前記通信装置の実行可能なサービスが検出されなかった場合、前記第２の検出手段による検出を行うことを特徴とする請求項２乃至９何れか１項に記載の通信装置。
【請求項１１】
前記第１の検出手段は、ＧＡＳ（Ｇｅｎｅｒｉｃ  Ａｄｖｅｒｔｉｓｅｍｅｎｔ  Ｓｅｒｖｉｃｅ）プロトコルに基づいて他の通信装置が実行可能なサービスを検出することを特徴とする請求項２乃至１０何れか１項に記載の通信装置。
【請求項１２】
前記第２の検出手段は、ＵＰｎＰ（Ｕｎｉｖｅｒｓａｌ  Ｐｌｕｇ  ａｎｄ  Ｐｌａｙ），
Ｂｏｎｊｏｕｒ、ｍＤＮＳ（Ｍｕｌｔｉｃａｓｔ  Ｄｏｍａｉｎ  Ｎａｍｅ  Ｓｙｓｔｅｍ）の何れかに基づいて他の通信装置が実行可能なサービスを検出することを特徴とする請求項１乃至１１何れか１項に記載の通信装置。
【請求項１３】
前記第１の検出手段は、ＩＥＥＥ８０２．１１シリーズに準拠した無線通信に基づいて他の通信装置が実行可能なサービスを検出することを特徴とする請求項２乃至１２何れか１項に記載の通信装置。
【請求項１４】
前記第１の検出手段と、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔプロトコルに基づいて他の通信装置が実行可能なサービスを検出することを特徴とする請求項２乃至１３何れか１項に記載の通信装置。
【請求項１５】
通信装置の制御方法であって、
実行するサービスを指定して無線通信を行うための第１の選択肢と接続先を指定して無線通信を行うための第２の選択肢とを少なくとも含む選択肢を提示する提示工程と、
前記第１の選択肢および前記第２の選択肢を含む複数の選択肢に対応する無線通信から実行する無線通信を選択する工程と、
を有することを特徴とする通信装置の制御方法。
【請求項１６】
実行するサービスを指定して無線通信を行うための第１の選択肢と接続先を指定して無線通信を行うための第２の選択肢とを少なくとも含む選択肢を提示する提示工程と、
前記第１の選択肢および前記第２の選択肢を含む複数の選択肢に対応する無線通信から実行する無線通信を選択する工程と、
をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置、通信装置の制御方法、プログラムに関する。
【背景技術】
【０００２】
近年、デジタルカメラやプリンタなどの電子機器に無線ＬＡＮステーション機能を搭載し、電子機器を通信装置として、無線ＬＡＮに接続して使用するケースが増えてきている。例えば特許文献１には、デジタルカメラに無線ＬＡＮ機能を搭載し、画像共有を容易にする方法が開示されている。
【０００３】
また、Ｗｉ−Ｆｉ  ＡｌｌｉａｎｃｅによりＷｉ−Ｆｉ  Ｄｉｒｅｃｔ（登録商標）という規格が制定された。Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔでは、各電子機器が無線ＬＡＮアクセスポイントまたは無線ＬＡＮステーションのいずれとして動作するかを決定するプロトコルが規定されている。前記プロトコルを実行することにより、電子機器のどちらが無線ＬＡＮアクセスポイントになり、どちらが無線ＬＡＮステーションになるかを自動的に決定できるので、ユーザの利便性が向上している。
【０００４】
Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔでは、オプション機能として上位のアプリケーションがサポートしているサービス情報を広告・検索する機能（サービスディスカバリ機能）もまた規定されている。本サービスディスカバリ機能によれば、接続処理実行前に、接続相手となる電子機器の保持するサービス情報を知ることができ、ユーザの利便性が向上する。
【０００５】
しかしながら、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ（登録商標）ではサービスディスカバリがオプション機能であるため、同機能をサポートしていない機器からはサービス検索の応答を受け取ることができない。このようなサービスディスカバリに対応していない機器からサービス情報を得るための手段としては、無線通信レイヤにより行われるサービスディスカバリより上位の通信レイヤにおいて実行されるサービス情報を広告・検索する技術を用いることが考えられる。サービスディスカバリより上位の通信レイヤにおいて実行されるサービス情報を広告・検索する技術としては、例えば、ＵＰｎＰ（登録商標）（Ｕｎｉｖｅｒｓａｌ  Ｐｌｕｇ  ａｎｄ  Ｐｌａｙ）等がある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１１−３５７６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上述のサービスディスカバリは、ＩＥＥＥ８０２．１１ｕで定められたアクションフレーム（ＧＡＳ  ｆｒａｍｅ）を送受信することにより、相手装置とそれぞれが保有するサービス情報をやりとりすることが可能である。したがって、ＩＰアドレス等の無線通信レイヤより上位層の通信に必要な通信パラメータの設定を行う通信接続処理を行う前であっても、無線通信可能な範囲にいる通信装置とサービス情報を通信することが可能となる。一方、例えば、サービスディスカバリより上位の通信レイヤにおいて行われるＵＰｎＰ（登録商標）等のサービス情報を広告・検索する技術では、ＩＰアドレス等の無線通信レイヤより上位層の通信に必要な通信パラメータの設定を行う接続処理を行う必要がある。したがって、通信接続処理が必要な分だけサービスディスカバリよりＵＰｎＰ（登録商標）等によるサービス検索結果を得るタイミングは遅くなる。
【０００８】
このような例えば異なる通信層でのサービス検索のように手順が異なる複数の通信が混在する場合にユーザの利便性が向上するように通信を選択することは従来技術では考慮されていない。
【０００９】
本発明は、利便性を向上するように実行する通信を選択できるようにすることを目的とする。
【課題を解決するための手段】
【００１０】
上述の課題を解決する手段として、本発明の通信装置は、実行するサービスを指定して無線通信を行うための第１の選択肢と接続先を指定して無線通信を行うための第２の選択肢とを少なくとも含む選択肢を提示する提示工程と、前記第１の選択肢および前記第２の選択肢を含む複数の選択肢に対応する無線通信から実行する無線通信を選択する工程と、を有することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、ユーザの利便性を向上するように通信を選択することができる。
【図面の簡単な説明】
【００１２】
【図１】装置のハードウェア構成を示すブロック図である。
【図２】装置のソフトウェア機能構成を示すブロック図である。
【図３】本実施形態におけるネットワーク構成の一例を示す図である。
【図４】本実施形態における装置の動作フローチャートである。
【図５】本実施形態における装置の動作シーケンス図である。
【図６】本実施形態における装置の動作フローチャートである。
【図７】本実施形態における装置のＵＩの遷移を示す図である。
【発明を実施するための形態】
【００１３】
（実施例１）
以下、本実施形態に係る通信装置について、図面を参照しながら詳細に説明する。以下では、ＩＥＥＥ８０２．１１シリーズに準拠した無線ＬＡＮシステムを用いた例について説明するが、通信形態は必ずしもＩＥＥＥ８０２．１１準拠の無線ＬＡＮには限らない。
【００１４】
本実施例に係る通信装置は、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔで規定されているサービスディスカバリ機能およびサービスディスカバリより上位の通信レイヤにおいて実行されるサービス情報を広告・検索する機能を有している。サービスディスカバリは、ＩＥＥＥ８０２．１１ｕで定められたアクションフレーム（ＧＡＳ  ｆｒａｍｅ）を送受信することにより、相手装置とそれぞれが保有するサービス情報をやりとりすることが可能である。したがって、ＩＰアドレス等の無線通信レイヤより上位層の通信に必要な通信パラメータの設定を行う通信接続処理を行う前であっても、無線通信可能な範囲にいる通信装置とサービス情報を通信することが可能となる。一方、例えば、サービスディスカバリより上位の通信レイヤにおいて行われるＵＰｎＰ（登録商標）等のサービス情報を広告・検索する技術では、ＩＰアドレス等の無線通信レイヤより上位層の通信に必要な通信パラメータの設定を行う接続処理を行う必要がある。したがって、通信接続処理が必要な分だけサービスディスカバリよりＵＰｎＰ（登録商標）等によるサービス検索結果を得るタイミングは遅くなる。
【００１５】
上述したように、サービスディスカバリは、接続処理を行う前に他の通信装置のサービス情報を取得することができるがオプション仕様なので全ての機器が該機能に対応していう訳ではない。一方、ＵＰｎＰ（登録商標）等の上位通信層でサービス情報を取得する場合、サービスディスカバリに対応していない装置からもサービス情報を取得することができる。しかし、ＵＰｎＰ（登録商標）等の上位通信層でのサービス検索処理は無線接続を行ってからでないと実行できないので、特に複数台の他の通信装置が存在する場合に全ての装置からサービス情報を収集すると、時間がかかるという問題が生じる。
【００１６】
本実施例は、このような異なる通信層でのサービス検索が混在する場合での夫々のサービス検索結果をユーザによる通信の選択に応じて、利便性が向上するように通知することを目的としている。
【００１７】
本実施形態に好適な事例における通信装置のハードウェア構成について説明する。後述の各装置の構成の一例を表すブロック図１に示す。図１において、１０１は装置全体を示す。１０２は、記憶部１０３に記憶される制御プログラムを実行することにより装置全体を制御する制御部である。制御部１０２は例えばＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）により構成される。
【００１８】
１０３は制御部１０２が実行する制御プログラムと、通信パラメータ等の各種情報を記憶する記憶部である。後述する各種動作は、記憶部１０３に記憶された制御プログラムを制御部１０２が実行することにより行われる。
【００１９】
１０４はＩＥＥＥ８０２．１１シリーズに準拠した無線ＬＡＮ通信を行うための無線部である。１０５は各種表示を行う表示部でありＬＣＤやＬＥＤのように視覚で認知可能な情報の出力、あるいはスピーカなどの音出力が可能な機能を有する。表示部１０５は視覚情報および音情報の少なくともどちらか一方を出力する機能を備えるものである。表示部１０５は視覚情報を表示する場合、表示する視覚情報に対応する画像データを保持するＶＲＡＭ（Ｖｉｄｅｏ  ＲＡＭ）を有する。表示部１０５は、ＶＲＡＭに格納した画像データをＬＣＤやＬＥＤに表示させ続ける表示制御を行う。
【００２０】
１０７はアンテナ制御部、そして１０８はアンテナである。１０９は、ユーザが各種入力等を行い、通信装置を操作するための操作部である。操作部１０９は、入力に対応するフラグを記憶部１０３等のメモリに記憶する。サービス実行部１１０は、通信機器が提供するアプリケーションレベルのサービス情報を実行する機能を備えている。例えば、本通信機器がプリンタであり、プリントサービスを実行できる場合、サービス実行部１１０は、プリントサービスを実行するためのプリントエンジンなどのハードウェアである。また、例えば、本通信機器がデジタルカメラであり、撮像画像（動画）配信サービスを実行できる場合は、サービス実行部１１０は、撮像機能を実現するための撮像素子、レンズなどのハードウェアである。尚、図１は一例であり、通信装置１０１は図１に示すハードウェア構成以外のハードウェア構成を備えていてもよい。
【００２１】
図２は、後述のフローチャートやシーケンス図に示す処理や通信制御機能を実行する機能ブロックの構成の一例を表すブロック図である。図２に示す各機能構成は、制御部１０２が制御プログラムを実行し、情報の演算および加工、各ハードウェアの制御を実行することにより実現される。２０１は機能ブロック全体を示す。２０２はＤｉｓｃｏｖｅｒｙ制御部であり、通信相手となる通信装置を検索する検索処理を実行する。Ｄｉｓｃｏｖｅｒｙ制御部２０２は、無線部１０４、アンテナ制御部１０７、アンテナ１０８を制御し、ＩＥＥＥ８０２．１１に規定されるプローブ・リクエストを送信する。そして、Ｄｉｓｃｏｖｅｒｙ制御部２０２は、プローブ・リクエストの応答信号であるプローブ・レスポンスを受信することにより、他の通信装置を探索する。また、Ｄｉｓｃｏｖｅｒｙ制御部２０２は、他の通信装置が送信するビーコンの有無により他の通信装置を探索する。
【００２２】
２０３はＷｉ−Ｆｉ  Ｄｉｒｅｃｔ制御部である。Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔプロトコル仕様に基づいた制御を行う。Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔにおいては、無線ＬＡＮアクセスポイント機能を実施する通信装置をＰ２Ｐグループオーナー（以下、ＧＯ）、無線ＬＡＮステーション機能を実施する通信装置をＰ２Ｐクライアント（以下、ＣＬ）と称する。これらの役割はＧＯ  Ｎｅｇｏｔｉａｔｉｏｎプロトコルにより決定される。Ｗｉ−Ｆｉ  ＤｉｒｅｃｔではＧＯが構築したネットワークをＰ２Ｐグループと称する。または、ＧＯとそのＧＯに接続するＣＬを総称してＰ２Ｐグループと称する。本明細書でもネットワークのことをＰ２Ｐグループと記載する場合もある。どちらも同一の意味で記載されている。
【００２３】
なお、本明細書では、Ｐ２Ｐグループオーナー（ＧＯ）、Ｐ２Ｐクライアント（ＣＬ）および役割が未決定の通信装置群をまとめて、Ｐ２Ｐデバイスと称す。Ｐ２Ｐデバイスは、無線ネットワークに参加すること（ＣＬ機能）も無線ネットワークを構築すること（ＧＯ機能）もできる。これらの役割は、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔのプロトコルを実施して自動的に決定する。そして、決定したいずれかの機能で動作し、無線接続、無線通信する。また、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔを用いて装置間で接続する場合、ＧＯからＣＬに通信パラメータを提供し、該通信パラメータを用いて接続する。通信パラメータは、ＩＥＥＥ８０２．１１規格に準拠して無線通信するための各種無線通信パラメータが含まれる。つまり、通信パラメータは、ネットワーク識別子としてのＳＳＩＤ、暗号方式、暗号鍵、認証方式、認証鍵等の無線ＬＡＮ通信を行うために必要な無線通信パラメータが含まれる。また、ＩＰ層での通信を行うためのＩＰアドレス等も含む。
【００２４】
２０４はサービスディスカバリ制御部であり、サービスディスカバリ機能をつかさどる。サービスディスカバリ機能は、ＩＥＥＥ８０２．１１ｕで定められたアクションフレーム（ＧＡＳ  ｆｒａｍｅ）を送受信することにより、相手通信装置とそれぞれが保有するサービス情報をやりとりすることが可能である。サービスディスカバリ制御部２０４は、ＧＡＳプロトコルに基づいてサービス検索処理を行う。なお、ＧＡＳとはＧｅｎｅｒｉｃ  Ａｄｖｅｒｔｉｓｅｍｅｎｔ  Ｓｅｒｖｉｃｅの略である。具体的には他の通信装置の属性や対応するサービスを検索する場合サービス検索信号である「ＳＤ  Ｑｕｅｒｙ」フレーム（ＧＡＳ  Ｉｎｉｔｉａｌ  Ｒｅｑｕｅｓｔ）を送信する。そして、相手装置からＳＤ  Ｑｕｅｒｙに対する応答である「ＳＤ  Ｒｅｓｐｏｎｓｅ」フレームを返答として受信する。もしくは、相手装置からのＳＤ  Ｑｕｅｒｙを受信し、応答としてＳＤ  Ｒｅｓｐｏｎｓｅを送信する。これらのフレームの送受により、他の通信装置の属性や実行可能なサービスの検出を行うことができる。また、他の通信装置に対して自装置が実行可能なサービスを広告することができる。また、送信したＳＤ  Ｑｕｅｒｙの応答が無い場合に他の通信装置のＷｉ−Ｆｉ  Ｄｉｒｅｃｔのオプション機能であるサービスディスカバリ機能に対応しているかを判定することができる。即ち、サービスディスカバリ制御部２０４は、無線通信を行うための通信層において、無線通信可能な範囲に存在する他の通信装置の属性情報を検出するための機器サービス検索を実行する。サービスディスカバリ制御部２０４は、第１の通信層において他の装置の属性を検出する第１の検出処理を行う。なお、本実施形態において第１の通信層は、ＯＳＩ参照モデルにおけるデータリンク層を例にするがこれに限定されるものではない。
【００２５】
なお、ＳＤ  Ｑｕｅｒｙによるサービス検索処理には所望のサービスを指定して該所望のサービスを実行可能な装置から応答を得る検索と、所望のサービスを指定せず他の通信装置が実行可能なサービス全てのサービス情報を取得するための検索とがある。
【００２６】
なお、サービス情報には、サービス通信を相互に実行するために利用するプロトコルに関する情報やサービスの必須機能やオプション機能の対応を示すサービス機能対応情報が含まれることとする。例えば、他の通信装置から受信したサービス情報により、他の通信装置が所定のサービスの実行可否（例えばプリントサービスに対応しているか否か）を判定することできる。また、他の通信装置から受信したサービス情報により、他の通信装置が所定のサービスを行う際のプロトコル（例えば、ＰｉｃｔＢｒｉｄｇｅによるプリントサービスを実行可能か）を判定することができる。また、他の通信装置から受信したサービス情報により、他の通信装置が所定のサービスを行う際のサービス機能対応情報（例えば、プリントサービスにおいて両面印刷対応、カラーあるいは白黒印刷対応、フォーマット印刷対応か）を判定することができる。なおここでの具体例は、発明を限定する意図ではなく、単なる理解を深めるための例示であることは言うまでもない。
【００２７】
２０５はＬ３  Ｓｅｒｖｉｃｅ  Ｄｉｓｃｏｖｅｒｙ制御部（以後Ｌ３  ＳＤ制御部２０５と称する）であり、ＯＳＩ参照モデルにおけるネットワーク層（レイヤ３）でのサービス情報の広告・検索する機能をつかさどる。Ｌ３  ＳＤ制御部２０５のサービス情報の広告・検索する機能は、ＵＰｎＰ（登録商標）（Ｕｎｉｖｅｒｓａｌ  Ｐｌｕｇ  ａｎｄ  Ｐｌａｙ）やＢｏｎｊｏｕｒ（登録商標）といった技術を用いることで実行可能である。また、Ｌ３  ＳＤ制御部２０５のサービス情報の広告・検索する機能はＢｏｎｊｏｕｒにおけるｍＤＮＳ（Ｍｕｌｔｉｃａｓｔ  Ｄｏｍａｉｎ  Ｎａｍｅ  Ｓｙｓｔｅｍ）を用いてもよい。つまり、Ｌ３  ＳＤ制御部２０５は、サービスディスカバリ制御部２０４が他の通信装置がサービス情報の送受を行う第１の通信層と異なる第２の通信層においてサービス情報の送受を行うことができる。つまり、通信相手装置がＷｉ−Ｆｉ  Ｄｉｒｅｃｔのオプション機能であるサービスディスカバリ機能に対応していない場合であっても、ＵＰｎＰもしくはＢｏｎｊｏｕｒに対応していれば当該通信相手装置とサービス情報の送受を行うことができる。なお、本実施形態では第２の通信層をネットワーク層として説明を行うが、第１の通信層より上位の通信層であればよい。
【００２８】
Ｌ３  ＳＤ制御部２０５は、サービスディスカバリ制御部２０４によるサービス情報の広告・検索と同様に、自装置が提供可能なサービス（処理の種別）を他の通信装置に通知することができる。また、他の通信装置が提供可能なサービス（処理の種別）の取得を行うことができる。なお、サービスディスカバリ制御部２０４が送受するサービス情報とＬ３  ＳＤ制御部２０５によって送受信するサービス情報は同一の内容であってもよいし異なる情報を含めることにしてもよい。
【００２９】
なお、Ｌ３  ＳＤ制御部２０５によるサービス検索処理にも所望のサービスを指定しての検索と、所望のサービスを指定しない検索とが実行できる。Ｌ３  ＳＤ制御部２０５は、サービス検索処理を実行する場合、第２の通信層において検索信号を送信する。
【００３０】
２０６はパケット受信部、２０７はパケット送信部であり、上位レイヤの通信プロトコルを含むあらゆるパケットの送受信を制御する。２０８はアプリケーションレイヤにおけるサービス提供部である。ここでのアプリケーションレイヤとはＯＳＩ参照モデルにおける第５層以上の上位レイヤにおけるサービス提供するための通信を行う通信層のことをさす。すなわち、サービス提供部２０８は、印刷機能や画像ストリーミング機能や、ファイル転送機能などのサービスを他の通信装置に対して提供するための通信を制御したり、サービス実行部１１０を制御したりする。
【００３１】
２０９はアプリケーションレイヤにおけるサービス利用部である。相手装置からアプリケーションレイヤによる通信により提供されるサービスに係る通信を制御する。すなわち、サービス利用部２０９は、印刷サービス提供装置へ印刷物を送信する機能や、デジタルディスプレイに動画像を送信する機能などを制御したり、サービス実行部１１０を制御したりする。２１０は、第１の表示制御部であり、サービスディスカバリ制御部２０４によるサービス検出結果を表示部１０５に表示させる表示制御を行う。２１１は、第２の表示制御部であり、Ｌ３  ＳＤ制御部２０５によるサービス検出結果を表示部１０５に表示させる表示制御を行う。選択部２１２は、表示部１０５に実行するサービスを指定して無線通信を行うための第１の選択肢と接続先を指定して無線通信を行うための第２の選択肢とを少なくとも提示する。また、選択部２１２は、表示させた選択肢の選択をユーザによる操作部１０９への入力に基づいて選択する。第１の指定部２１３は、ユーザによる操作部１０９の操作に基づいて、Ｄｉｓｃｏｖｅｒｙ制御部２０２の探索により検出された複数の他の通信装置から接続先の指定を受付ける。第２の指定部２１４は、ユーザによる操作部１０９の操作に基づいて、サービスディスカバリ制御部２０４またはＬ３  ＳＤ制御部２０５により検出された他の装置のサービス情報から実行するサービスの指定を受付ける。
【００３２】
なお、全ての機能ブロックはソフトウェアもしくはハードウェア的に相互関係を有するものである。また、上記機能ブロックは一例であり、複数の機能ブロックが１つの機能ブロックを構成するようにしてもよいし、何れかの機能ブロックが更に複数の機能を行うブロックに分かれてもよい。また、上記機能ブロックはハードウェアにより実現されてもよい。
【００３３】
続いて、上述の構成を有する通信装置における動作について説明を行う。図３は、通信装置Ａ３１（ＳＴＡ−Ａ）、通信装置Ｂ３２（ＳＴＡ−Ｂ）、通信装置Ｃ３３（ＳＴＡ−Ｃ）、通信装置Ｄ３４（ＳＴＡ−Ｄ）、通信装置Ｅ３５（ＳＴＡ−Ｄ）の５台の通信装置が含まれている。通信装置Ａ３１、通信装置Ｃ３３は、通信装置Ｄ３４は、先に説明した図１、図２の構成を有している。通信装置Ｂ３２は、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ非対応の装置である。通信装置Ｅ３５は、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ対応の装置であるが、ＧＡＳには非対応である。即ち、通信装置Ｅ３５は、無線通信層におけるサービスディスカバリ機能には対応していない。
【００３４】
続いて、図３に示す通信装置間でサービスを実行するまでのシーケンスを図４、図５、図７を用いて説明する。図４は、通信装置Ａ３１において選択部２１２において接続先を指定して無線通信を行うことが選択された場合のシーケンス図である。また、図７は本実施例に係る通信装置のユーザインターフェースの遷移を示す図である。まず、通信装置Ａ３１の制御部１０２は、ユーザの操作部１０９に対する指示に基づいて通信を行うための通信モードを設定されたことを示すフラグを検出した場合、図７の７０１に示すような選択肢含む選択メニューを表示部１０５に表示する（Ｆ４０１）。図７の７０１の表示画面例には、接続先を指定して無線通信を実行するための指示を受付けるアイコン７０２とサービスを指定して無線通信を実行するための指示を受付けるアイコン７０３の少なくとも２つの選択肢が表示される。なお、アイコン７０２やアイコン７０３以外の選択肢を別途設けるようにしても良い。例えば、通信方式を指定して無線通信を実行するための指示を受付ける指示を受付けるアイコン等をさらに設けるように構成してよい。図４に示すシーケンスでは、通信装置Ａ３１の操作部１０９は、接続先を指定して無線通信を実行するためのアイコン７０２に対するユーザ指示を受付けたとして説明を行う。選択部２１２は、ユーザ操作に基づいて接続先を指定して無線通信を実行することを選択する（Ｆ４０２）。
【００３５】
通信装置Ａ３１の選択部２１２により接続先を指定して無線通信を実行することが選択されると、Ｄｉｓｃｏｖｅｒｙ制御部２０２は、プローブ・リクエストをブロードキャストで送信し、無線通信可能な範囲に存在する他の通信装置を検索する（Ｆ４０３）。通信装置Ａ３１は送信したプローブ・リクエストに対する応答信号であるプローブ・レスポンスを通信装置Ｂ３２、通信装置Ｃ３３、通信装置Ｄ３４、通信装置Ｅ３５から受信することによりこれらの装置を検出する（Ｆ４０４）。なお、図７においては不図示だが、Ｄｉｓｃｏｖｅｒｙ制御部２０２による検索処理を実行中に「検索中」などの検索処理を実行中であることを示す情報を表示する構成としても良い。Ｄｉｓｃｏｖｅｒｙ制御部２０２による検索処理が完了すると、通信装置Ａ３１は表示部１０５に該検索処理の結果を、ユーザに通信相手装置を選択させるために図７の７０４に示すように一覧表示する（Ｆ４０５）。表示画面７０４において、アイコン７０５のようにＤｉｓｃｏｖｅｒｙ制御部２０２による検索処理により検出された装置の識別子やデバイスネームなどを表示する。また、アイコン７０６のように検出した装置が対応する通信プロトコルを装置の識別子やデバイスネームと対応づけて表示するようにしてもよい。アイコン７０６においては、「ＳＴＡ−Ｃ（Ｐ２Ｐ）」と表示され、ＳＴＡ−ＣがＰ２Ｐデバイスであることを示している。即ち、アイコン７０６は、ＳＴＡ−ＣがＷｉ−Ｆｉ  Ｄｉｒｅｃｔプロトコルに対応していることを示している。また、アイコン７０７は、「ＡＰ  １  （ＳＳＩＤ：ＡＢＣ）」と記載のように検出した装置の識別子やデバイスネームと対応づけて、該装置が接続するネットワークの識別子を表示するようにしても良い。また、アイコン７０５〜７０７には、各アイコンが示す装置から受信した信号の電界強度を示すインジケーターも併せて表示している。また、アイコン７０５〜７０７には、各アイコンが示す装置の機器タイプを示す情報も含まれている。例えば、表示画面７０４に示す例ではアイコン７０５により示される装置の機器タイプはプリンタである。また、アイコン７０６により示される装置の機器タイプはデジタルカメラである。また、アイコン７０７により示される装置の機器タイプはアクセスポイントである。このような情報を表示することで、ユーザは容易にどの装置と接続すべきかを判断することが可能となる。
【００３６】
通信装置Ａ３１の第１の指定部２１３は、ユーザによる操作部１０９の操作に基づく表示画面７０４に表示したアイコンの選択により、接続先の指定を受付ける（Ｆ４０６）。図４に示すシーケンスにおいては接続先として通信装置Ｃ３３が指定されたとする。通信装置Ａ３１は、指定された装置と無線接続処理を実行する（Ｆ４０７）。Ｆ４０７の無線接続処理では、相手装置がＷｉ−Ｆｉ  Ｄｉｒｅｃｔに対応していれば、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔの仕様に則り相手装置とＰ２Ｐグループを形成し、無線ＬＡＮ層及びＩＰ層での接続を確立する。即ち、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ制御部２０３は、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔの仕様に則り、ＧＯかＣＬかの役割決定処理、通信パラメータの共有処理を実行する。
【００３７】
無線接続処理に成功すると、通信装置Ａ３１はＬ３  ＳＤ制御部２０５によりサービス検索を開始する。Ｌ３  ＳＤ制御部２０５は、第１の通信層と異なる第２の通信層における通信に基づいて、相手装置が実行可能なサービスを検出する第２の検出処理を実行する（Ｆ４０８）。なお、本説明において、接続先を指定して無線通信を行うことが指定された場合は、サービスディスカバリ制御部２０４における第１の通信層におけるサービス検索処理を実施しない。第１の通信層におけるサービス検索処理は、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔのオプション機能であるため、相手装置が対応していない場合がある。したがって、接続先として指定されたサービスディスカバリ機能に対応していない場合に、第１の通信層におけるサービス検索処理を実行した場合、処理時間が無駄になりユーザの操作性を損ねてしまう恐れがあるためである。しかしながら、接続先を指定して無線通信を行うことが選択された場合であっても、第１の通信層におけるサービス検索処理でしか得られない情報がある場合などは第１の通信層におけるサービス検索処理を併せて実行するようにしてもよい。
【００３８】
なお、本説明では、Ｌ３  ＳＤ制御部２０５は、ＵＰｎＰで規定される検索通信プロトコルＳＳＤＰを用いて第２の通信層におけるサービス検索処理を行うものとする。なお、ＳＳＤＰは、Ｓｉｍｐｌｅ  Ｓｅｒｖｉｃｅ  Ｄｉｓｃｏｖｅｒｙ  Ｐｒｏｔｏｃｏｌの略である。Ｌ３  ＳＤ制御部２０５は接続した相手装置が提供するサービス情報を取得するため、ＳＳＤＰのＭ−Ｓｅａｒｃｈと呼ばれるサービス検索信号を送付する。また、ｍＤＮＳを用いてサービス検索を実行してよい。なお、指定された接続先がネットワーであったり、ネットワークを構築している通信装置であったりする場合は、Ｌ３  ＳＤ制御部２０５は、ネットワークに属する全ての装置に対してサービス検索処理を実行することが可能である。
【００３９】
Ｌ３  ＳＤ制御部２０５は、送信したサービス検索信号に対する応答信号から相手装置が実行可能なサービス情報を取得する（Ｆ４０９）。続いて、第２の表示制御部２１１は、サービス検出結果に基づいて、相手装置が実行可能なサービスを図７の７０８に示すように表示部１０５に表示させる表示制御を行う（Ｆ４１０）。表示画面７０８において、アイコン７０９〜７０１は夫々相手装置が実行可能なサービスである。表示画面７０８に示す例では相手装置が、「印刷サービス」、「画像共有サービス（画像転送サービス）」、「ＧＰＳ付与サービス」に対応していることを示す。なお、サービス検索結果の一覧表示を行う場合、相手装置が実行可能なサービスであっても自装置が対応していないサービスは表示しないように構成して良い。例えば、相手装置が動画配信サービスを実行できるが、自装置が動画配信サービスを実行できない場合は、当該動画配信サービスを示すアイコンを表示しないようにする。
【００４０】
続いて、通信装置Ａ３１の第２の指定部２１４は、ユーザによる操作部１０９の操作に基づく表示画面７１０に表示したアイコンの選択により、実行するサービスの指定を受付ける（Ｆ４１１）。実行するサービスが指定された場合、サービス提供部２０８またはサービス利用部２０９は、サービス実行部１１０を制御し、サービスを実行するための無線通信を相手装置と実行する（Ｆ４１２）。サービスが完了した場合、図７の７１２に示すようなサービスが完了したことを示す表示を行い、処理を終了する。
【００４１】
続いて、通信装置Ａ３１において選択部２１２において実行するサービスを指定して無線通信を行うことが選択された場合のシーケンスを図５を用いて説明する。まず、通信装置Ａ３１は、ユーザ指示に基づいて通信を行うための通信モードを設定された場合、図７の７０１に示すような選択肢含む選択メニューを表示部１０５に表示する（Ｆ５０１）。図５に示すシーケンスでは、通信装置Ａ３１の操作部１０９は、実行するサービスを指定して無線通信を実行するためのアイコン７０３に対するユーザ指示を受付けたとして説明を行う。選択部２１２は、ユーザ操作に基づいて、実行するサービスを指定して無線通信を行うことを選択する（Ｆ５０２）。
【００４２】
通信装置Ａ３１の選択部２１２により実行するサービスを指定して無線通信を実行することが選択されると、Ｄｉｓｃｏｖｅｒｙ制御部２０２は、無線通信可能な範囲に存在する他の通信装置を検索する（Ｆ５０３）。通信装置Ａ３１はプローブ・リクエストを送信し、該信号に対する応答信号であるプローブ・レスポンスの受信により他の通信装置を検索する。なお、図５に示す例では、通信装置Ａ３１は、通信装置Ｂ３２、通信装置Ｃ３３、通信装置Ｄ３４、通信装置Ｅ３５からプローブ・レスポンスを受信することによりこれらの装置を検出する（Ｆ５０４）。なお、図７においては不図示だが、Ｄｉｓｃｏｖｅｒｙ制御部２０２による検索処理を実行中に「検索中」などの検索処理を実行中であることを示す情報を表示する構成としても良い。Ｄｉｓｃｏｖｅｒｙ制御部２０２による検索処理が完了すると、通信装置Ａ３１のサービスディスカバリ制御部２０４は、該検索処理において検出した装置に対して、無線ＬＡＮレイヤでのサービス検索処理（サービスディスカバリ）を開始する（Ｆ５０５）。具体的には、該検索処理において検出した装置に対して夫々ユニキャストでサービス検索信号であるＳＤ  Ｑｕｅｒｙを送信する。なお、受信したプローブ・レスポンスに含まれる情報要素に基づいて、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔに対応している装置に対してのみユニキャストでＳＤ  Ｑｕｅｒｙを送信するようにしてもよい。Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔに対応していないとサービスディスカバリ機能に対応できないからである。図５に示す例では、Ｆ５０３の検索処理により通信装置Ｂ３２、通信装置Ｃ３３、通信装置Ｄ３４、通信装置Ｅ３５を検出した。これらの検出した装置夫々から受信したプローブ・レスポンスに含まれる情報要素により、通信装置Ｂ３２はＷｉ−Ｆｉ  Ｄｉｒｅｃｔに対応していないことを判定する。したがって、Ｆ５０５においてサービスディスカバリ制御部２０４は、通信装置Ｃ３３、通信装置Ｄ３４、通信装置Ｅ３５にユニキャストでサービス検索信号であるＳＤ  Ｑｕｅｒｙを送信する。
【００４３】
次に、サービスディスカバリ制御部２０４は、サービス検索信号に対する応答信号の受信を待機する（Ｆ５０６）。図５に示す例では、通信装置Ｃ３３および通信装置Ｄ３４がサービスディカバリに対応しているため、ＳＤ  Ｒｅｓｐｏｎｓｅを通信装置Ａ３１に返送する。一方、通信装置Ｂ３２はオプション機能であるサービスディスカバリに対応していないため、ＳＤ  Ｑｕｅｒｙを受信してもこれに応答することはない。通信装置Ａ３１は、ＳＤ  Ｒｅｓｐｏｎｓｅを受信すると実行可能なサービス情報を取得する。続いて、第１の表示制御部２１０は、第１の通信層におけるサービス検出結果に基づいて、他の装置が実行可能なサービスを図７の７１３に示すように表示部１０５に表示させる表示制御を行う（Ｆ５０７）。
【００４４】
表示画面７１３において、Ｆ５０６において受信したＳＤ  Ｒｅｓｐｏｎｓｅが示す実行可能なサービスである。なお、図５に示す例では、通信装置Ｃ３３かおよび通信装置Ｄ３４夫々からＳＤ  Ｒｅｓｐｏｎｓｅを受信するが表示画面７１３において通信装置Ｃ３３かおよび通信装置Ｄ３４それぞれが実行可能なサービスをまとめて一覧表示する。表示画面７１３に示す例では、Ｆ５０６において受信したＳＤ  Ｒｅｓｐｏｎｓｅにより「印刷サービス」、「画像共有サービス（画像転送サービス）」、「ＧＰＳ付与サービス」に対応している装置が存在することを示している。なお、サービス検索結果の一覧表示を行う場合、他の装置が実行可能なサービスであっても自装置が対応していないサービスは表示しないように構成して良い。例えば、自装置が印刷サービス（送信）を実行できるが、相手装置が印刷サービス（送信）は実行できるが印刷サービス（印刷）を実行できない場合は、印刷サービス（送信）を示すアイコンを表示しないようにする。
【００４５】
続いて、通信装置Ａ３１の第２の指定部２１４は、ユーザによる操作部１０９の操作に基づく表示画面７１３に表示したアイコンの選択により、実行するサービスの指定を受付ける（Ｆ５０８）。実行するサービスが指定された場合、通信装置Ａ３１は、該サービスを実行可能な装置が複数台存在するかを判定する。図５に示す例では通信装置Ｄ３４のみが指定されたサービスを実行可能であるとする。指定したサービスを実行可能な装置が複数台存在する場合の処理は後述する。
【００４６】
続いて、通信装置Ａ３１は、指定されたサービスを実行可能な装置と無線接続処理を実行する（Ｆ５０９）。Ｆ５０９の無線接続処理では、相手装置がＷｉ−Ｆｉ  Ｄｉｒｅｃｔに対応していれば、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔの仕様に則り相手装置とＰ２Ｐグループを形成し、無線ＬＡＮ層及びＩＰ層での接続を確立する。即ち、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ制御部２０３は、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔの仕様に則り、ＧＯかＣＬかの役割決定処理、通信パラメータの共有処理を実行する。
【００４７】
無線接続処理に成功すると、通信装置Ａ３１サービス提供部２０８またはサービス利用部２０９は、サービス実行部１１０を制御し、サービスを実行するための無線通信を相手装置と実行する（Ｆ５１０）。サービスが完了した場合、図７の７１２に示すようなサービスが完了したことを示す表示を行い、処理を終了する。
【００４８】
このように、本実施例によれば、通信サービスを実行するに先だって、接続先を優先して指定するか実行するサービスを優先して指定するかをユーザに問い合わせる。接続先を優先して指定する場合は、ユーザは特定の装置と接続して、複数のサービスを実行したい場合などが考えられる。この場合は、指定された装置の実行可能なサービス情報を確実に取得することが望まれるとともに接続処理を複数の装置と行う必要が無い。したがって、オプション機能であるサービスディスカバリを行うことなく例えばＵＰｎＰ等の上位の通信層におけるサービス検索処理を行い、該サービス検索処理の結果をユーザに通知する。このようにすることで、１台の装置としか接続処理を実行しないのでユーザの操作性を損なうほどの時間がかかることなく、指定された装置の実行可能なサービス情報を取得する信頼性を向上することができる。
【００４９】
一方、実行するサービスを優先して指定する場合は、どのような装置とサービスを実行するかより、指定されたサービスを早急に実行することに重きを置いている場合が考えられる。このような場合は、例えば、ユーザが複数のプリンタが周辺にある環境でデジタルカメラに保存している画像を印刷したい場合である。そして、ユーザが特にどのプリンタに印刷させるかは考慮していない場合等である、また、実行するサービスを優先して指定する場合は、複数の装置と同様のサービスを繰り返し実行する場合が考えられる。例えば、複数人で撮影した旅行の写真を共有する場合である。このような場合は、指定されたサービスを実行可能な装置をまずは一台でも検出し、当該装置と速やかにサービスを実行することが望まれる。したがって、本実施例における通信装置は、オプション機能であっても効率的に指定されたサービスを実行可能な検出できる無線通信層におけるサービスディスカバリを行い、該サービスディスカバリの検索処理の結果をユーザに通知する。このようにすることで、例えば複数台の装置と順に通信接続を行い、ＵＰｎＰ等の上位の通信層におけるサービス検索処理を行うより、効率的に指定されたサービスを実行な他の通信装置を検出することができる。したがって、異なる通信層でのサービス検索が混在する場合に、夫々のサービス検索結果をユーザの利便性を向上するように表示することができる。
【００５０】
続いて、上述の通信装置Ａ３１が実行する処理を図６に示すフローチャートを用いて説明を行う。なお、図６に示すフローチャートが示す処理は、記憶部１０３が保持する制御プログラムを制御部１０２が実行し、各ハードウェアの制御及び情報の演算および加工を行うことで実現される。
【００５１】
まず、Ｓ６０１において、通信装置Ａ３１の制御部１０２は、ユーザの操作部１０９に対する指示に基づいて通信を行うための通信モードを設定されたことを示すフラグを検出した場合、図７の７０１に示すような選択肢含む選択メニューを表示部１０５に表示する。表示部１０５は、制御部１０２により、表示画面７０１に対応する画像データを記憶部１０３からＶＲＡＭに格納することによって、選択メニューを表示する。Ｓ６０２において、選択部２１２において実行するサービスを指定して無線通信を行うための第１の選択肢と接続先を指定して無線通信を行うための第２の選択肢から何れかが選択されたかを判定する。Ｓ６０２において、接続先を指定して無線通信を行うための第２の選択肢が選択されたと判定された場合、Ｓ６１１に処理を進める。ここでは、制御部１０２は、操作部１０９によりアイコン７０２かアイコン７０３かの何れかが操作されたことを示すフラグが検出されたか否かを判定する。
【００５２】
Ｓ６１１において、Ｄｉｓｃｏｖｅｒｙ制御部２０２は、プローブ・リクエストをブロードキャストで送信し、無線通信可能な範囲に存在する他の通信装置（もしくはネットワーク）を検索する。制御部１０２は、無線部１０４に対して、プローブ・リクエストをブロードキャストでの送信を指示する信号を送信する。無線部１０４は、制御部１０２からの指示により、ブロードキャストであるプローブ・リクエストを示す信号を生成する。アンテナ制御１０７は、ブロードキャストであるプローブ・リクエストを示す信号をＩＥＥＥ８０２．１１シリーズに基づいて変調された無線信号を、アンテナ１０８を介して放射するように制御する。Ｓ６１２において、Ｄｉｓｃｏｖｅｒｙ制御部２０２による検索処理が完了すると、通信装置Ａ３１は表示部１０５に該検索処理の結果を、ユーザに通信相手装置を選択させるために図７の７０４に示すように一覧表示する。制御部１０２は、表示画面７０４に対応する画像データを記憶部１０３からＶＲＡＭに格納することによって、表示部１０５の表示を切り替える。
【００５３】
Ｓ６１３において、第１の指定部２１３は、ユーザによる操作部１０９の操作に基づく表示画面７０４に表示したアイコンの選択により、接続先の指定を受付ける。制御部１０２は、操作部１０９によりアイコン７０５〜アイコン７０６の何れかを示す領域が操作されたことを示すフラグが検出されたか否かを判定する。Ｓ６１４において通信装置Ａ３１は、指定された装置と無線接続処理を実行する。無線接続処理に成功すると、Ｓ６１５においてＬ３  ＳＤ制御部２０５によりサービス検索を開始する。Ｌ３  ＳＤ制御部２０５は、第１の通信層と異なる第２の通信層における通信に基づいて、相手装置が実行可能なサービスを検出する第２の検出処理を実行する。制御部１０２は、無線部１０４に対して、ＵＰｎＰもしくはｍＤＮＳ等の第２の通信層におけるサービス検索のためのメッセージの送信を指示する信号を送信する。無線部１０４は、制御部１０２からの指示により、ＵＰｎＰもしくはｍＤＮＳ等の第２の通信層におけるサービス検索のためのメッセージを生成する。アンテナ制御１０７は、該メッセージをＩＥＥＥ８０２．１１シリーズに基づいて変調された無線信号を、アンテナ１０８を介して放射するように制御する。続いて、Ｓ６１６において、第２の表示制御部２１１は、サービス検出結果に基づいて、相手装置が実行可能なサービスを図７の７０８に示すように表示部１０５に表示させる表示制御を行う。制御部１０２は、表示画面７０８に対応する画像データを記憶部１０３からＶＲＡＭに格納することによって、表示部１０５の表示を切り替える。
【００５４】
Ｓ６１７において、第２の指定部２１４は、ユーザによる操作部１０９の操作に基づく表示画面７１０に表示したアイコンの選択により、実行するサービスの指定を受付ける。制御部１０２は、操作部１０９によりアイコン７０９〜アイコン７１１の何れかを示す領域が操作されたことを示すフラグが検出されたか否かを判定する。続いて、実行するサービスが指定された場合、Ｓ６１９において、サービス提供部２０８またはサービス利用部２０９は、サービス実行部１１０を制御し、サービスを実行するための無線通信を相手装置と実行する。例えば、制御部１０２は、無線部１０４を介して通信した情報をサービス実行部１１０に供給する。サービス実行部１１０は、供給された情報を用いてサービスを実行する。ここで実行するサービスは、例えば印刷サービス、画像共有サービス、位置情報をデータに付加するサービスであってよい。サービスが完了した場合、図７の７１２に示すようなサービスが完了したことを示す表示を行い、処理を終了する。制御部１０２は、表示画面７１２に対応する画像データを記憶部１０３からＶＲＡＭに格納することによって、表示部１０５の表示を切り替える。
【００５５】
一方、Ｓ６０２において、選択部２１２において実行するサービスを指定して無線通信を行うためこと無線通信を行うことが選択された場合、Ｓ６０３に処理を進める。Ｓ６０３において、Ｄｉｓｃｏｖｅｒｙ制御部２０２は、プローブ・リクエストをブロードキャストで送信し、無線通信可能な範囲に存在する他の通信装置（もしくはネットワーク）を検索する。制御部１０２は、無線部１０４に対して、プローブ・リクエストをブロードキャストでの送信を指示する信号を送信する。無線部１０４は、制御部１０２からの指示により、ブロードキャストであるプローブ・リクエストを示す信号を生成する。アンテナ制御１０７は、ブロードキャストであるプローブ・リクエストを示す信号をＩＥＥＥ８０２．１１シリーズに基づいて変調された無線信号を、アンテナ１０８を介して放射するように制御する。Ｄｉｓｃｏｖｅｒｙ制御部２０２による検索処理が完了すると、Ｓ６０４において、サービスディスカバリ制御部２０４は、該検索処理において検出した装置に対して、第１の通信層におけるサービス検索処理（サービスディスカバリ）を開始する。制御部１０２は、無線部１０４に対して、ＳＤ  Ｑｕｅｒｙフレームの送信を指示する信号を送信する。無線部１０４は、制御部１０２からの指示により、ＳＤ  Ｑｕｅｒｙフレームを示す信号を生成する。アンテナ制御１０７は、ＳＤ  Ｑｕｅｒｙフレームを示す信号をＩＥＥＥ８０２．１１シリーズに基づいて変調された無線信号を、アンテナ１０８を介して放射するように制御する。
【００５６】
次に、Ｓ６０５においてサービスディスカバリ制御部２０４は、サービス検索信号に対する応答信号の受信に基づいて、自装置が実行可能なサービスを実行できる他の通信装置が存在するかを判定する。制御部１０２は、記憶部１０３に記憶される自装置が実行可能なサービスを示すテーブルデータとサービス検索処理により検出されたサービスとが一致するものがあるか否かを判定する。Ｓ６０５において、自装置が実行可能なサービスを実行できる他の通信装置を検出できない場合は、Ｓ６１２に処理を進める。周囲にサービスディスカバリを実行可能でないがＵＰｎＰもしくはｍＤＮＳ等の第２の通信層におけるサービス検索処理に対応していて所望のサービスを実行できる装置を検出するためである。
【００５７】
一方、Ｓ６０５において、自装置が実行可能なサービスを実行できる他の通信装置が存在する場合は、Ｓ６０６に処理を進める。Ｓ６０６において第１の表示制御部２１０は、第１の通信層におけるサービス検出結果に基づいて、他の装置が実行可能なサービスを図７の７１３に示すように表示部１０５に表示させる表示制御を行う。制御部１０２は、表示画面７１３に対応する画像データを記憶部１０３からＶＲＡＭに格納することによって、表示部１０５の表示を切り替える。Ｓ６０７において、第２の指定部２１４は、ユーザによる操作部１０９の操作に基づく表示画面７１３に表示したアイコンの選択により、実行するサービスの指定を受付ける。制御部１０２は、操作部１０９により検出した実行可能なサービスを示すアイコンの何れかを示す領域が操作されたことを示すフラグが検出されたか否かを判定する。
【００５８】
Ｓ６０７において実行するサービスが指定された場合、Ｓ６０８において通信装置Ａ３１は、該サービスを実行可能な装置が複数台存在するかを判定する。制御部１０２は、Ｓ６０７において指定されたサービスを実行可能な装置を記憶部１０３に保持されるＳ６０４において行われたサービス検索の結果に基づいて判定する。Ｓ６０８において該サービスを実行可能な装置が複数台存在すると判定された場合、Ｓ６０８に処理を進める。Ｓ６０９において、通信装置Ａ３１は表示部１０５に複数台の指定されたサービスを実行可能な装置から、ユーザにサービスを実行する装置を選択させるために図７の７１４に示すように一覧表示する。制御部１０２は、表示画面７１４に対応する画像データを記憶部１０３からＶＲＡＭに格納することによって、表示部１０５の表示を切り替える。Ｓ６０８における表示は、図７の表示画面７１４に示すように、アイコン７１５，７１６のように指定されたサービスを実行可能な装置の識別子やデバイスネームなどを表示する。アイコン７１５，７１６のように指定されたサービスを実行可能な装置が対応する通信プロトコルを装置の識別子やデバイスネームと対応づけて表示するようにしてもよい。また、アイコン７１５，７１６のように各アイコンが示す装置から受信した信号の電界強度を示すインジケーターも併せて表示している。また、アイコン７１５，７１６には、各アイコンが示す装置の機器タイプを示す情報も含まれている。このような情報を表示することで、ユーザは容易にどの装置と接続すべきかを判断することが可能となる。
【００５９】
Ｓ６１０において、第１の指定部２１３は、ユーザによる操作部１０９の操作に基づく表示画面７１４に表示したアイコンの選択により、接続先の指定を受付ける。制御部１０２は、操作部１０９により他の通信装置を示すアイコン７１５または７１６の何れかを示す領域が操作されたことを示すフラグが検出されたか否かを判定する。続いて、通信装置Ａ３１は、Ｓ６１８においてＳ６１３において指定された装置と無線接続処理を実行する。一方、Ｓ６０８において指定されたサービスが実行可能な他の装置が１台の場合、当該他の装置と無線接続処理を実行する（Ｓ６１８）。Ｓ６１８の無線接続処理では、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ制御部２０３が、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔの仕様に則り、ＧＯかＣＬかの役割決定処理、通信パラメータの共有処理を実行する。
【００６０】
無線接続処理に成功すると、通信装置Ａ３１サービス提供部２０８またはサービス利用部２０９は、サービス実行部１１０を制御し、サービスを実行するための無線通信を相手装置と実行する（Ｓ６１９）。サービスが完了した場合、図７の７１２に示すようなサービスが完了したことを示す表示を行い、処理を終了する。
【００６１】
このように、本実施例によれば、通信サービスを実行するに先だって、接続先を優先して指定するか実行するサービスを優先して指定するかをユーザに問い合わせる。接続先を優先して指定する場合は、ユーザは特定の装置と接続して、複数のサービスを実行したい場合などが考えられる。この場合は、指定された装置の実行可能なサービス情報を確実に取得することが望まれるとともに接続処理を複数の装置と行う必要が無い。したがって、オプション機能であるサービスディスカバリを行うことなく例えばＵＰｎＰ等の上位の通信層におけるサービス検索処理を行い、該サービス検索処理の結果をユーザに通知する。このようにすることで、１台の装置としか接続処理を実行しないのでユーザの操作性を損なうほどの時間がかかることなく、指定された装置の実行可能なサービス情報を取得する信頼性を向上することができる。
【００６２】
一方、実行するサービスを優先して指定する場合は、どのような装置とサービスを実行するかより、指定されたサービスを早急に実行することに重きを置いている場合が考えられる。このような場合は、例えば、ユーザが複数のプリンタが周辺にある環境でデジタルカメラに保存している画像を印刷したい場合である。そして、ユーザが特にどのプリンタに印刷させるかは考慮していない場合等である、また、実行するサービスを優先して指定する場合は、複数の装置と同様のサービスを繰り返し実行する場合が考えられる。例えば、複数人で撮影した旅行の写真を共有する場合である。このような場合は、指定されたサービスを実行可能な装置をまずは一台でも検出し、当該装置と速やかにサービスを実行することが望まれる。したがって、本実施例における通信装置は、オプション機能であっても効率的に指定されたサービスを実行可能な検出できる無線通信層におけるサービスディスカバリを行い、該サービスディスカバリの検索処理の結果をユーザに通知する。このようにすることで、例えば複数台の装置と順に通信接続を行い、ＵＰｎＰ等の上位の通信層におけるサービス検索処理を行うより、効率的に指定されたサービスを実行な他の通信装置を検出することができる。したがって、異なる通信層でのサービス検索が混在する場合に、夫々のサービス検索結果をユーザの利便性を向上するように表示することができる。
【００６３】
このように本実施例における通信装置は、実行するサービスを指定して無線通信を行うための第１の選択肢と接続先を指定して無線通信を行うための第２の選択肢とを少なくとも含む選択肢を提示する。そして、第１の選択肢および第２の選択肢を含む複数の選択肢に対応する無線通信から実行する無線通信を選択する。また、本実施例における通信装置は、第１の通信層における通信に基づいて、他の通信装置が実行可能なサービスを検出する。また、本実施例における通信装置は、第１の通信層と異なる第２の通信層における通信に基づいて、他の通信装置が実行可能なサービスを検出する。
【００６４】
本実施例における通信装置は、第１の選択肢が選択された場合、第１の通信層における通信に基づく他の通信装置が実行可能なサービスの検出結果を表示させる。また、第２の選択肢が選択された場合、指定された接続先に対する第２の通信層における通信に基づくサービス検出結果を表示させる。
【００６５】
本実施例における通信装置は、第１の選択肢が選択された場合、無線通信可能な範囲に存在する他の通信装置の探索により検出された他の通信装置に対して、第１の通信層における接続を行う前に、第１の通信層においてサービス検索信号を送信する。そして、該送信したサービス検索信号に対する応答から当該他の通信装置の実行可能なサービスを検出する。また、第２の選択肢が選択された場合、無線通信可能な範囲に存在する他の通信装置の探索により検出された他の通信装置を一覧表示する。また、第２の選択肢が選択された場合、無線通信可能な範囲に存在する他の通信装置の探索により検出された複数の他の通信装置のうち何れかをユーザ操作に基づいて接続先として指定する。
【００６６】
また、本実施例における通信装置は、第１の指定手段により指定された他の通信装置と第１の通信層における接続を行った後に第２の通信層においてサービス検索信号を送信する。そして、該送信したサービス検索信号に対する応答から当該他の通信装置の実行可能なサービスを検出する。また、第１の通信層における通信により検出された複数のサービスから実行するサービスを指定する。また、該指定により指定されたサービスを複数の他の通信装置と実行可能な場合、当該複数の他の通信装置から指定されたサービスを実行する装置を選択する。
【００６７】
また、本実施例における通信装置は、第１の選択肢が選択され、第１の通信層におけるサービス検索により通信装置が実行可能なサービスが検出されなかった場合、第２の通信層におけるサービス検索を実行する。また、第１の通信層におけるサービス検索はＧＡＳ（Ｇｅｎｅｒｉｃ  Ａｄｖｅｒｔｉｓｅｍｅｎｔ  Ｓｅｒｖｉｃｅ）プロトコルに基づいて実行される。また、第２の通信層におけるサービス検索は、ＵＰｎＰ（Ｕｎｉｖｅｒｓａｌ  Ｐｌｕｇ  ａｎｄ  Ｐｌａｙ），Ｂｏｎｊｏｕｒ、ｍＤＮＳ（Ｍｕｌｔｉｃａｓｔ  Ｄｏｍａｉｎ  Ｎａｍｅ  Ｓｙｓｔｅｍ）の何れかを用いる。また、本実施例における通信装置は、ＩＥＥＥ８０２．１１シリーズに準拠した無線通信に基づいて他の通信装置が実行可能なサービスを検出する。また、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔプロトコルに基づいて他の通信装置が実行可能なサービスを検出する。
【００６８】
（その他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【００６９】
３１  通信装置Ａ
３２  通信装置Ｂ
３３  通信装置Ｃ
３４  通信装置Ｄ
３５  通信装置Ｅ
【図１】
2014220557.tif 000003
【図２】
2014220557.tif 000004
【図３】
2014220557.tif 000005
【図４】
2014220557.tif 000006
【図５】
2014220557.tif 000007
【図６】
2014220557.tif 000008
【図７】
2014220557.tif 000009