(57)【要約】【課題】  サービスを利用できないにも関わらず、利用できないサービスを他の装置に通知しまうことを防ぐ。【解決手段】  通信装置であって、他の通信装置からの検索信号を受信する受信手段と、所定のサービスの実行状態を検出する検出手段と、前記所定のサービスが動作中である場合、前記検索信号に対する応答信号を送信しない、または、前記検索信号に対してサービスの提供が不可であることを示す信号を送信する制御手段と、  を有する【選択図】  図５
2014143637.tif 000002
【特許請求の範囲】
【請求項１】
通信装置であって、
他の通信装置からの検索信号を受信する受信手段と、
所定のサービスの実行状態を検出する検出手段と、
前記所定のサービスが動作中である場合、前記検索信号に対する応答信号を送信しない、または、前記検索信号に対してサービスの提供が不可であることを示す信号を送信する制御手段と、
を有することを特徴とする通信装置。
【請求項２】
前記通信装置と他の通信装置との間で基地局になる装置を決定するための処理を行い、前記他の通信装置と接続するための接続手段を有することを特徴とする請求項１に記載の通信装置。
【請求項３】
前記制御手段は、前記他の通信装置と前記接続手段により接続する前に該他の通信装置から送信された検索信号に対して、検索信号で指定されているサービスを前記信装置が実行できることを通知する信号を送信することを特徴とする請求項１または請求項２に記載の通信装置。
【請求項４】
前記制御手段は、前記他の通信装置と前記接続手段により接続した後に該他の通信装置から送信された検索信号に対して、検索信号で指定されているサービスを前記信装置が実行できることを通知する信号を送信することを特徴とする請求項１乃至請求項３の何れか１項に記載の通信装置。
【請求項５】
前記所定のサービスは、前記検索信号により指定されるサービスと並列動作できないサービスを含むことを特徴とする請求項１乃至請求項４の何れか１項に記載の通信装置。
【請求項６】
前記制御手段は、前記検索信号により指定されるサービスを前記通信装置がサポートしていない場合も、前記検索信号に対する応答信号を送信しない、または、前記検索信号に対してサービスの提供が不可であることを示す信号を送信することを特徴とする請求項１乃至請求項５の何れか１項に記載の通信装置。
【請求項７】
前記制御手段は、前記検索信号により指定されるサービスを前記通信装置がサポートし、かつ、前記所定のサービスが動作中でない場合、検索信号で指定されているサービスを前記信装置が実行できることを通知する信号を送信することを特徴とする請求項１乃至請求項６の何れか１項に記載の通信装置。
【請求項８】
通信装置であって、
他の通信装置が実施できるサービスの検索処理、前記通信装置が実施できるサービスを示す情報の報知処理、他の通信装置からのサービス検索に対する応答処理の少なくとも何れかを行うディスカバリ処理を行うディスカバリ手段と、
所定のサービスの実行状態を検出する検出手段と、
前記所定のサービスが動作中である場合、前記ディスカバリ手段による前記ディスカバリ処理を実行しない制御手段と、
を有することを特徴とする通信装置。
【請求項９】
前記通信装置と他の通信装置との間で基地局になる装置を決定するための処理を行い、前記他の通信装置と接続するための接続手段を有することを特徴とする請求項８に記載の通信装置。
【請求項１０】
前記制御手段は、前記他の通信装置と前記接続手段により接続した後に前記ディスカバリ処理が要求され、前記所定のサービスが動作中である場合、前記ディスカバリ手段による前記ディスカバリ処理を実行しないことを特徴とする請求項８または請求項９に記載の通信装置。
【請求項１１】
前記制御手段は、前記ディスカバリ手段による前記ディスカバリ処理を実行せず、前記ディスカバリ手段に前記ディスカバリ処理を要求したアプリケーションにエラーを通知することを特徴とする請求項８乃至請求項１０の何れか１項に記載の通信装置。
【請求項１２】
前記エラーの通知は、ディスカバリ処理を開始できないことを示す情報、既に別のサービスが動作中であることを示す情報、既に動作中のサービスを示す情報の通知の何れか１つを含むことを特徴とする請求項１１に記載の通信装置。
【請求項１３】
前記所定のサービスは、前記検索信号により指定されるサービスと並列動作できないサービスを含むことを特徴とする請求項８乃至請求項１２の何れか１項に記載の通信装置。
【請求項１４】
前記所定のサービスは、印刷サービスを含むことを特徴とする請求項１乃至請求項１３の何れか１項に通信装置。
【請求項１５】
前記所定のサービスは、動画像ストリーミングサービスを含むことを特徴とする請求項１乃至請求項１３の何れか１項に通信装置。
【請求項１６】
前記所定のサービスは、ファイル転送サービスを含むことを特徴とする請求項１乃至請求項１３の何れか１項に通信装置。
【請求項１７】
前記通信装置は、無線通信装置であることを特徴とする請求項１乃至請求項１６の何れか１項に記載の通信装置。
【請求項１８】
前記通信装置は、ＩＥＥＥ８０２．１１規格に準拠して無線通信することを特徴とする請求項１乃至請求項１７の何れか１項に記載の通信装置。
【請求項１９】
通信装置の制御方法であって、
他の通信装置からの検索信号を受信し、
所定のサービスの実行状態を検出し、
前記所定のサービスが動作中である場合、前記検索信号に対する応答信号を送信しない、または、前記検索信号に対してサービスの提供が不可であることを示す信号を送信することを特徴とする通信装置の制御方法。
【請求項２０】
通信装置の制御方法であって、
他の通信装置が実施できるサービスの検索処理、前記通信装置が実施できるサービスを示す情報の報知処理、他の通信装置からのサービス検索に対する応答処理の少なくとも何れかを行うディスカバリ処理を行うディスカバリ工程と、
所定のサービスの実行状態を検出する検出工程と、
前記所定のサービスが動作中である場合、前記ディスカバリ工程における前記ディスカバリ処理を実行しないようにする制御工程と、
を有することを特徴とする通信装置の制御方法。
【請求項２１】
請求項１乃至請求項１８の何れか１項に記載の通信装置としてコンピュータを機能させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置、通信装置の制御方法、プログラムに関する。
【背景技術】
【０００２】
近年、デジタルカメラやプリンタなどの電子機器に無線ＬＡＮステーション機能を搭載し、電子機器を通信装置として、無線ＬＡＮに接続して使用するケースが増えてきている。例えば特許文献１には、デジタルカメラに無線ＬＡＮ機能を搭載し、画像共有を容易にする方法が開示されている。
【０００３】
また、Ｗｉ−Ｆｉ  ＡｌｌｉａｎｃｅによりＷｉ−Ｆｉ  Ｄｉｒｅｃｔ（登録商標）という規格が制定された。Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔでは、各電子機器が無線ＬＡＮアクセスポイントまたは無線ＬＡＮステーションのいずれとして動作するかを決定するプロトコルが規定されている。前記プロトコルを実行することにより、電子機器のどちらが無線ＬＡＮアクセスポイントになり、どちらが無線ＬＡＮステーションになるかを自動的に決定できる。
【０００４】
Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔでは、オプション機能として上位のアプリケーションがサポートしているサービス情報を広告・検索する機能（サービスディスカバリ機能）もまた規定されている。本サービスディスカバリ機能によれば、接続処理実行前に、接続相手となる電子機器の保持するサービス情報を識別することができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１１−３５７６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
サービスが既に実行中の場合に、資源の競合や能力不足により他のサービスの動作が制限される場合がある。
【０００７】
しかしながら、サービスを利用できないにも関わらず、利用できないサービスを他の装置に通知しまうことがある。また、サービス実行段階にならないとサービスの動作に制限があることを検知できない。
【０００８】
本発明の目的の１つは、サービスを利用する際の利便性を向上することである。例えば、サービスの動作に制限があるにも係わらず、制限があるサービスを他の装置に通知することを予防することである。また、本発明の他の目的は、以下の説明および図面より明らかとなるであろう。
【課題を解決するための手段】
【０００９】
本発明の一形態は、通信装置であって、他の通信装置からの検索信号を受信する受信手段と、所定のサービスの実行状態を検出する検出手段と、前記所定のサービスが動作中である場合、前記検索信号に対する応答信号を送信しない、または、前記検索信号に対してサービスの提供が不可であることを示す信号を送信する制御手段と、  を有することを特徴とする。
【００１０】
また、本発明の一形態は、通信装置であって、他の通信装置が実施できるサービスの検索処理、前記通信装置が実施できるサービスを示す情報の報知処理、他の通信装置からのサービス検索に対する応答処理の少なくとも何れかを行うディスカバリ処理を行うディスカバリ手段と、所定のサービスの実行状態を検出する検出手段と、前記所定のサービスが動作中である場合、前記ディスカバリ手段による前記ディスカバリ処理を実行しない制御手段と、を有することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、サービスの動作に制限があるにも係わらず、制限があるサービスを他の装置に通知することを予防できる。
【図面の簡単な説明】
【００１２】
【図１】装置を構成するブロック図
【図２】装置内のソフトウェア機能ブロック図
【図３】本発明が適用されるネットワーク構成の一例を示す図
【図４】実施例１における装置の動作フロー図
【図５】実施例１における動作シーケンス図
【図６】実施例２における装置の動作フロー図
【図７】実施例２における動作シーケンス図
【発明を実施するための形態】
【００１３】
［実施例１］
以下、本実施形態に係る通信装置について、図面を参照しながら詳細に説明する。以下では、ＩＥＥＥ８０２．１１シリーズに準拠した無線ＬＡＮシステムを用いた例について説明するが、通信形態は必ずしもＩＥＥＥ８０２．１１準拠の無線ＬＡＮには限らない。
【００１４】
本実施形態に好適な事例におけるハードウェア構成について説明する。
【００１５】
図１は本実施形態に係る、後述の各装置の構成の一例を表すブロック図である。１０１は装置全体を示す。１０２は、記憶部１０３に記憶される制御プログラムを実行することにより装置全体を制御する制御部である。制御部１０２は、他の装置との間で通信パラメータの設定制御も行う。１０３は制御部１０２が実行する制御プログラムと、通信パラメータ等の各種情報を記憶する記憶部である。後述する各種動作は、記憶部１０３に記憶された制御プログラムを制御部１０２が実行することにより行われる。
【００１６】
１０４はＩＥＥＥ８０２．１１シリーズに準拠した無線ＬＡＮ通信を行うための無線部である。１０５は各種表示を行う表示部でありＬＣＤやＬＥＤのように視覚で認知可能な情報の出力、あるいはスピーカなどの音出力が可能な機能を有する。表示部１０５は視覚情報および音情報の少なくともどちらか一方を出力する機能を備えるものである。１０７はアンテナ制御部、そして１０８はアンテナである。１０９は、ユーザが各種入力等を行い、通信装置を操作するための操作部である。
【００１７】
サービス提供部１１０は、通信機器が提供するアプリケーションレベルのサービス情報を提供する機能を備えている。例えば、本通信機器がプリンタである場合は、印刷機能を提供し、デジタルカメラである場合は撮像機能を提供し、表示装置の場合は表示機能を提供する。
【００１８】
図２は、後述の通信制御機能を実行するソフトウェア機能ブロックの構成の一例を表すブロック図である。２０１はソフトウェア機能ブロック全体を示す。２０２はディスカバリ制御部であり、通信相手となる通信装置を検索する検索処理を動作する。
【００１９】
２０３はＷｉ−Ｆｉ  Ｄｉｒｅｃｔ制御部である。Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔプロトコル仕様に基づいた制御を行う。Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔにおいては、無線ＬＡＮアクセスポイント機能を実施する通信装置をＰ２Ｐグループオーナー（以下、ＧＯ）、無線ＬＡＮステーション機能を実施する通信装置をＰ２Ｐクライアント（以下、ＣＬ）と称する。これらの役割はＧＯ  Ｎｅｇｏｔｉａｔｉｏｎのプロトコルで決定され、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ仕様で規定されている。Ｗｉ−Ｆｉ  ＤｉｒｅｃｔではＧＯが基地局として開催したネットワークをＰ２Ｐグループと称する。本明細書でもネットワークのことをＰ２Ｐグループと記載する場合もある。どちらも同一の意味で記載されている。ＧＯは、ＣＬに通信パラメータを提供し、該通信パラメータを用いて接続する。通信パラメータは、ＩＥＥＥ８０２．１１規格に準拠して無線通信するための各種無線通信パラメータが含まれる。つまり、通信パラメータは、ネットワーク識別子としてのＳＳＩＤ、暗号方式、暗号鍵、認証方式、認証鍵等の無線ＬＡＮ通信を行うために必要な無線通信パラメータが含まれる。また、ＩＰ層での通信を行うためのＩＰアドレス等も含む。
【００２０】
なお、本明細書では、Ｐ２Ｐグループオーナー（ＧＯ）、Ｐ２Ｐクライアント（ＣＬ）および役割が未決定の通信装置群をまとめて、Ｐ２Ｐデバイスと称す。
【００２１】
２０４はサービスディスカバリ制御部であり、サービスディスカバリ機能をつかさどる。サービスディスカバリ機能は、ＩＥＥＥ８０２．１１ｕで定められたアクションフレームを送受信することにより、相手通信装置の保有しているサービス情報をやりとりすることが可能である。具体的にはＳＤ  Ｑｕｅｒｙを送信し、ＳＤ  Ｒｅｓｐｏｎｓｅを返答として受信する。もしくは、相手装置からのＳＤ  Ｑｕｅｒｙを受信し、応答としてＳＤ  Ｒｅｓｐｏｎｓｅを送信する。ここでは、サービスディスカバリ制御部２０４は、ディスカバリ制御部２０２により検出した相手装置とＷｉ−Ｆｉ  Ｄｉｒｅｃｔ制御部２０３の制御により無線接続する前でも後でもサービス検索を行える。無線接続前にサービス検索を行うことにより、目的とするサービスを提供しない相手と無線接続することを予防できる。また、無線接続してからサービス検索を行う場合は、無線層より上位のレイヤ（ネットワーク層、セッション層、アプリケーション層）で規定されるプロトコルによりサービス検索を行うことができる。無線層より上位のレイヤでサービス検索を行うことにより、より詳細なサービス検索を行える。
【００２２】
２０５はパケット受信部、２０６はパケット送信部であり、上位レイヤの通信プロトコルを含むあらゆるパケットの送受信を司る。
【００２３】
２０７はアプリケーションレイヤにおけるサービス提供部である。ここでのアプリケーションレイヤとはＯＳＩ参照モデルにおける第５層以上の上位レイヤにおけるサービス提供層のことである。すなわち印刷機能や画像ストリーミング機能や、ファイル転送機能などを提供する。２０８はアプリケーションレイヤにおけるサービス利用部（サービス受益部）である。対向となる装置のアプリケーションレイヤのサービス提供部が提供するサービスを受け、利用する。すなわち、印刷サービス提供装置へ印刷物を送信する機能や、デジタルディスプレイに動画像を送信する機能などを司る。２０９はアプリケーションレイヤにおけるサービス判定部である。実行中のサービスの判定、実行中のサービスと同時動作（または、並列動作）が可能なサービス、実行中のサービスと同時動作、並列動作が不可能なサービスの判定を行う。
【００２４】
なお、全ての機能ブロックはソフトウェアもしくはハードウェア的に相互関係を有するものである。また、上記機能ブロックは一例であり、複数の機能ブロックが１つの機能ブロックを構成するようにしてもよいし、何れかの機能ブロックが更に複数の機能を行うブロックに分かれてもよい。
【００２５】
図３は、通信装置Ａ３２（以下、ＳＴＡ−Ａ）、通信装置Ｂ３３（以下、ＳＴＡ−Ｂ）とから構成されるネットワークＡ３１（以下、ネットワークＡ）を示した図である。これらの装置は、先に説明した図１、図２の構成を有し、サービス提供装置としてもサービス利用装置としても動作する。
【００２６】
本実施例１においては、印刷、映像ストリーミングといったサービスを実行するに当たって、あらかじめサービス検索処理を行った後に無線ＬＡＮレイヤで接続処理を行う場合について説明する。
【００２７】
図４は、サービス提供装置である通信装置の動作フローチャートである。本フローチャート図を用いてサービス検索処理の通信装置の動作フローを説明する。
【００２８】
まず、サービス利用装置（サービス受益装置）は、ディスカバリ制御部２０２での検索処理により通信相手となる装置を検索する。そして、サービス利用装置は、発見した相手装置に対して、利用したいサービス（利用を要求するサービス）を指定する情報を含むサービス検索信号を送信し、利用したサービスを提供できるサービス提供装置を検索する。この検索は、サービス利用装置のサービスディスカバリ制御部２０４のサービスディスカバリ処理により実施される。
【００２９】
サービス提供装置は、パケット受信部２０５によりサービス検索信号の受信を待つ（Ｓ４０１）。サービスディスカバリ制御部２０４はサービス検索信号を受信すると検索信号で要求されているサービスを自通信装置がサポートしているかを判定する（Ｓ４０２）。サポートしていないと判断した場合は、検索信号に対して応答しない、または、エラーの応答を返す（Ｓ４０５）。
【００３０】
検索信号で要求されているサービスをサポートしていると判定した場合は、サービス判定部２０９は、特定のサービスの実行状態を検出し、特定のサービスが実行中であるかを判定する（Ｓ４０３）。ここで、特定のサービスとは、検索信号で要求されたサービスと（または、並列動作）ができないと設定された所定のサービスである。特定サービスは予め設定することも可能であるし、過去の動作実績から動的に設定することも可能である。また、機器によっては、同時動作（または、並列動作）が可能なサービスは無い場合もある。この場合、サービス判定部２０９は、既にサービスを実行中であるか否かを判定すればよい。また、特定のサービスが実行中であるかの判定は、同時動作（または、並列動作）できないサービス（提供処理、利用処理）を実行中かを判定すればよい。
【００３１】
特定のサービスが実行中で無い場合は、サービスディスカバリ制御部２０４は検索応答を送信し、検索信号で要求されているサービスを自通信装置が実行可能であることを、検索信号の送信元の装置に通知する（Ｓ４０４）。特定のサービスが実行中である場合は、前記検索信号に対して応答信号を送信しない、または、エラーの応答を返す（Ｓ４０５）。その後、検索応答を送信したサービスに対するサービス提供の要求信号を受信すると（Ｓ４０６）、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ制御部２０３の制御により相手装置と接続し（Ｓ４０７）、サービス提供部２０７は要求されたサービスを提供する（Ｓ４０８）。相手装置との接続は、所定のプロトコルに基づいて、一方の装置がＧＯになり、他方の装置がＣＬになり、ＧＯからＣＬに通信パラメータを提供し、装置間で無線接続する。そして、サービスの提供が終了すると（Ｓ４０９）、処理を終了し、Ｓ４０１の判定に戻る。
【００３２】
また、サービス提供装置は、サービス提供中にもパケット受信部２０５によりサービス検索信号の受信を待つ（Ｓ４０１）。サービスディスカバリ制御部２０４はサービス検索信号を受信すると前述の処理を行う（Ｓ４０２〜Ｓ４０９）。
【００３３】
サービス利用装置は、サービス検索信号に対して所定時間の間に応答が返ってこない場合、または、エラー応答を受信した場合は、ディスカバリ制御部２０２での検索処理により異なる通信相手装置を検索する。そして、サービス利用装置は、発見した他の相手装置に対して、利用したいサービス（利用を要求するサービス）を示す情報を含むサービス検索信号を送信し、利用したサービスを提供できるサービス提供装置を検索する。また、サービス利用装置は、検索応答を受信し、検索信号で検索したサービスの提供が可能であることが判ると、サービス利用部２０８によりサービス提供装置にサービスの提供を要求し、該サービスを利用する。
【００３４】
本実施例におけるサービス利用側、サービス提供側とは、印刷サービスであれば、利用側は、印刷対象の画像、書類を有している装置であり、提供側は印刷機能を有している装置である。前者はデジタルカメラやスマートフォンなどであり、後者はプリンタである。また、映像ストリーミングサービス（動画像ストリーミングサービス）であれば、利用側は、デジタルカメラやカムコーダなどの映像記録装置であり、提供側とは、デジタルＴＶやプロジェクタなどの画像表示装置である。
【００３５】
使用するサービスをＤＬＮＡ（登録商標）とすると、例えば、サービス利用側はＤＭＳ（デジタルメディアサーバ）であり、サービス提供側はＤＭＲ（デジタルメディアレンダラ―）である。ＤＬＮＡ規格においては様々なデバイスクラスが存在するため本記述は一例である。詳細はＤＬＮＡ規格を参照されたい。
【００３６】
図５は、各装置間の動作シーケンスを示す図である。ＳＴＡ−Ｂがサービス利用装置としてサービス検索を行い、ＳＴＡ−Ａがサービス提供装置としてサービスを提供する場合を例に説明する。
【００３７】
図５では、サービス提供装置がサービス利用装置との間で、サービスＸを開始し、サービスＸを実行中にサービスＹのサービス検索を実施した場合を例に説明する。ここでは、サービスＸとサービスＹとは同時動作（または、並列動作）が不可であると設定されたサービスであるとする。
【００３８】
通信装置（ここではＳＴＡ−Ａ）はサービスＸとサービスＹのサービスディスカバリ機能を開始する（Ｆ５０１）。ＳＴＡ−Ａはサービス提供装置として動作するため、サービス利用装置からのサービス検索信号を待ち受ける。
【００３９】
ユーザ指示によりＳＴＡ−ＢはサービスＸの検索を開始し、サービス検索信号を送信する（Ｆ５０２）。ＳＴＡ−ＡはサービスＸをサポートしており、他に実行中のサービスが存在しないことを確認し、ＳＴＡ−Ｂに対してサービス検索応答を送信する（Ｆ５０３）。
【００４０】
ＳＴＡ−ＡとＳＴＡ−Ｂは無線とサービスの接続処理を実施する（Ｆ５０４）。無線接続は前述したＷｉ−Ｆｉ  Ｄｉｒｅｃｔ仕様に定められた接続方式をさす。サービスの接続処理は、サービスの提供を実行可能な状態にするためにサービスレイヤ間での論理的な接続の確立を実施する。これらは実施するサービスに応じて処理が異なる場合もある。
【００４１】
接続処理が完了するとサービスＸが実行可能となり、サービス実行中の状態となる（Ｆ５０５）。具体的には、ＳＴＡ−Ａがプリンタ、ＳＴＡ−Ｂがデジタルカメラであった場合に、撮影した画像を印刷する際に、印刷機能を有したプリンタを検索して、無線経由で印刷処理を行う。
【００４２】
次に、ＳＴＡ−ＢにおいてユーザからサービスＹの開始を指示されると検索要求が送信される（Ｆ５０６）。ＳＴＡ−Ａは既にサービスＸが実行中であるため、検索要求に対して拒絶応答を送信する（Ｆ５０７）。この拒絶応答に詳細なエラーコードを付与することも可能である。この例では「他のサービスが動作中」によるエラーであることを通知する。
【００４３】
なお、言うまでもないが、サービスＸとサービスＹとの同時動作（または、並列動作）が許可されている場合は、エラー応答ではなく正常応答を送信する。
【００４４】
ＳＴＡ−Ｂは拒絶応答を受信した場合に表示部にエラーを表示する。また、エラーコードが付与されたエラー応答を受信した場合は、より詳細にエラー理由を表示することも可能であるし、ユーザに一定時間待機することを促しても良い。これらの情報をユーザに提示することで、エラーを回避する手順をユーザに促すことも可能である。
【００４５】
ここでは、サービスＸとサービスＹの検索を行う装置が同一の場合の例を記載したが、異なる装置からのサービス検索であっても適用可能である。
【００４６】
以上のように、本実施例によればサービスの提供が不可能であることをサービス検索の段階で検出することが可能となり、エラー通知までの時間を短縮することが可能となる。また、詳細なエラー情報を付与することにより、エラー回避のための手順などをユーザに提示するといったことが可能となり、ユーザの利便性が向上する。
【００４７】
［実施例２］
本実施例２においては、通信装置においてサービスＸ実行中に、他の上位アプリケーションからサービスＹのサービスディスカバリ処理を指示された場合の例について説明する。ここでのサービスディスカバリ処理とは、サービス検索処理、自装置の有しているサービス情報の報知処理、サービス検索に応答するサービス検索応答処理、の何れかもしくは全部を意味する。
【００４８】
なお各装置の構成は実施例１と同様に図１および図２のとおりである。本実施例の通信装置は、実施例１のサービス提供装置、サービス利用装置としても動作する。
【００４９】
図６は、通信装置のＷｉ−Ｆｉ  Ｄｉｒｅｃｔ制御部２０３が上位アプリケーションからサービスディスカバリ処理の起動を指示された際の動作フローチャートである。本フローチャート図を用いて通信装置の動作フローを説明する。
【００５０】
まず、上位アプリケーションからサービスＹのサービスディスカバリ処理が要求された場合、サービス判定部２０９は、通信装置内部で特定のサービスＸを実行中であるかを判断する（Ｓ６０１）。上位アプリケーションは、無線レイヤよりも上位のレイヤ（本説明ではアプリケーションレイヤ）で動作するアプリケーションである。
【００５１】
ここでの特定のサービスＸとは、上位アプリケーションからサービスディスカバリ処理の起動を指示されたサービスＹと同時動作（または、並列動作）が不可であると設定されたサービスである。特定サービスは予め設定することも可能であるし、過去の動作実績から動的に設定することも可能である。また、機器によっては、同時動作（または、並列動作）作が可能なサービスは無い場合もある。この場合、サービス判定部２０９は、既にサービスを実行中であるか否かを判定すればよい。
【００５２】
特定サービスＸが動作中であった場合は、サービスディスカバリ制御部２０４はサービスディスカバリ機能の開始を実施せず、上位アプリケーションに対してエラーを通知する（Ｓ６０３）。
【００５３】
特定サービスＸが動作中で無い場合は、サービスディスカバリ制御部２０４はサービスディスカバリ機能を開始する（Ｓ６０２）。特定サービスＸのサービス提供またはサービス利用のどちらか一方が動作中であった場合のみエラーとするといったことも可能である。例えば、サービスＸを提供中にサービスＹのサービス提供はエラーとするが、サービス利用はエラーとしないといったことも可能である。これらは予め設定することにより変更可能であるし、動的に変更することも可能である。具体的には、第一の通信装置は第二の通信装置からの映像ストリーミング要求に応答して映像表示をしながら、印刷出力処理の提供はできないが、第二の通信装置に対して印刷要求は可能な場合などが考えられる。または、第一の通信装置へのファイル転送を実施中に、第二の通信装置へのファイル転送サービスは禁止されるが、第二の通信装置からのファイル転送を受け入れるなどの処理が可能となる。このように、ファイルを転送する側、ファイルの転送を受ける側を区別して、同時（並列）動作できるサービスと、同時（並列）動作できないサービスを設定してもよい。
【００５４】
ファイル転送サービスとしては、画像ファイルの転送、ドキュメントファイルの転送等を区別して、同時（並列）動作できるサービスと、同時（並列）動作できないサービスを設定してもよい。なおここでの具体例は、発明を限定する意図ではなく、単なる理解を深めるための例示であることは言うまでもない。
【００５５】
図７は、各装置間の動作シーケンスを示す模式図である。図６で示した通信装置同士の通信においてとりうる実施例について本図を用いて説明する。ＳＴＡ−Ａで動作するアプリケーション１（Ａｐｐ−１）がサービスＸを実行中に、ＳＴＡ−Ａで動作するアプリケーション２（Ａｐｐ−２）がサービスＹのサービスディスカバリを起動した場合の例を説明する。
【００５６】
Ａｐｐ−１がＷｉ−Ｆｉ  Ｄｉｒｅｃｔ制御部２０３にサービスＸに関するサービスディスカバリの起動を指示する（Ｆ７０１）。Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ制御部２０３はサービスディスカバリを開始し、Ａｐｐ−１に起動成功を通知する（Ｆ７０２）。本処理により、ＳＴＡ−Ａは他の通信装置からのサービスＸに関するサービス検索に応答することが可能となる。Ｆ７０３〜Ｆ７０６はＦ５０２〜Ｆ５０５と同様であるため、説明を省略する。
【００５７】
次にサービスＸ実行中の状態において、ＳＴＡ−ＡのＡｐｐ−２がサービスＹのサービスディスカバリ起動をＷｉ−Ｆｉ  Ｄｉｒｅｃｔ制御部２０３に指示する（Ｆ７０７）。サービス判定部２０９は、既にサービスＸが動作中であることをＷｉ−Ｆｉ  Ｄｉｒｅｃｔ制御部２０３に通知する。
【００５８】
Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ制御部２０３は、既にサービスＸが動作中であると判断し、ディスカバリ機能を開始せずＡｐｐ−２にエラーを通知する（Ｆ７０８）。このエラー通知は、ディスカバリ処理を開始できないことを示す情報、既に別のサービスが動作中であることを示す情報、既に動作中のサービスを示す情報の通知の何れかまたは全てが含まれる。
【００５９】
本処理により、サービスＸ実行中には同時動作（または、並列動作）が禁止されているサービスＹについてのサービス報知を禁止することができる。
【００６０】
このほかに、サービスＸおよびサービスＹ起動前は、サービスＸおよびサービスＹのサービス情報を含むすべてのサービス情報を報知して、自通信装置が両方のサービスを実施できる能力をその他の通信装置に報知する。さらに、サービスＸの処理が開始した時点で、サービスＸとの同時動作（または、並列動作）が禁止されているサービスＹのサービス情報の報知を停止することでもよい。
【００６１】
図７はサービス情報の報知処理もしくはサービス検索への応答処理について例をあげて説明した。ここでの図示による説明は割愛するが、図６のフローチャート図で説明した通り、サービス検索処理についても同様の動作シーケンスが成立する。
【００６２】
以上のように、本実施例によればサービスの提供または利用が不可能であることをサービスディスカバリの起動段階で検出することが可能となり、エラー通知までの時間を短縮することが可能となる。
【００６３】
本発明はコンピュータプログラムにより実施できる。前述の機能を実現するソフトウェアのプログラムコードを記録した記録媒体をシステムあるいは装置に供給し、システムあるいは装置のコンピュータ（ＣＰＵ、ＭＰＵ）が記録媒体に格納されたプログラムコードを読み出し実行するようにしてもよい。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することとなり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００６４】
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤなどを用いることができる。
【００６５】
また、コンピュータが読み出したプログラムコードを実行することにより、前述の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳが実際の処理の一部または全部を行い、前述の機能を実現してもよい。ＯＳとは、Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍの略である。
【００６６】
さらに、記憶媒体から読み出されたプログラムコードを、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込む。そして、そのプログラムコードの指示に基づき、機能拡張ボードや機能拡張ユニットに備わるＣＰＵが実際の処理の一部または全部を行い、前述の機能を実現してもよい。
【符号の説明】
【００６７】
２０１  ソフトウェア機能ブロック
２０２  ディスカバリ制御部
２０３  Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ制御部
２０４  サービスディスカバリ制御部
２０５  パケット受信部
２０６  パケット送信部
２０７  サービス提供部
２０８  サービス利用部
２０９  サービス判定部
【図１】
2014143637.tif 000003
【図２】
2014143637.tif 000004
【図３】
2014143637.tif 000005
【図４】
2014143637.tif 000006
【図５】
2014143637.tif 000007
【図６】
2014143637.tif 000008
【図７】
2014143637.tif 000009