(57)【要約】【課題】  機器間でサービスを実行するにあたって、効率的にポートの制御を行えるようにする。【解決手段】  通信装置は、検索された他の通信装置が提供可能なサービスに関する情報を取得し、取得された情報と自装置が実行可能なサービスとに基づいて、自装置と他の通信装置との間で実行可能なサービスを特定する。その結果、複数のサービスが特定された場合、当該特定された複数のサービスそれぞれに対応するポートを一括して制御する。【選択図】  図５
2014216767.tif 000002
【特許請求の範囲】
【請求項１】
通信装置であって、
他の通信装置を検索する検索手段と、
前記検索手段によって検索された他の通信装置が提供可能なサービスに関する情報を取得する取得手段と、
前記取得手段によって取得された情報と自装置が実行可能なサービスとに基づいて、自装置と前記他の通信装置との間で実行可能なサービスを特定する特定手段と、
前記特定手段によって複数のサービスが特定された場合、当該特定された複数のサービスそれぞれに対応するポートを制御する制御手段と、
を有することを特徴とする通信装置。
【請求項２】
前記取得手段は、ユーザによって指定されたサービスを前記他の通信装置が提供可能であるかを示す情報を取得することを特徴とする請求項１記載の通信装置。
【請求項３】
前記特定手段は、前記他の通信装置が提供可能なサービスと自装置が実行可能なサービスとを比較し、共通するサービスを、自装置と前記他の通信装置との間で実行可能なサービスであると特定することを特徴とする請求項１又は２に記載の通信装置。
【請求項４】
前記サービスは、アプリケーションレイヤにおいて実行されるサービスであることを特徴とする請求項１乃至３の何れか一項に記載の通信装置。
【請求項５】
前記サービスは、印刷サービス、動画像ストリーミングサービス、ファイル転送サービスの少なくとも何れかであることを特徴とする請求項１乃至４の何れか一項に記載の通信装置。
【請求項６】
前記他の通信装置と無線通信を行う通信手段を更に有し、
前記サービスは、前記通信手段による無線通信を用いて実行されることを特徴とする請求項１乃至５の何れか一項に記載の通信装置。
【請求項７】
前記無線通信は、ＩＥＥＥ８０２．１１シリーズに準拠した無線ＬＡＮによる通信であることを特徴とする請求項６記載の通信装置。
【請求項８】
前記制御手段は、前記特定手段によって複数のサービスが特定された場合、当該特定された複数のサービスそれぞれに対応するポートをオープンすることを特徴とする請求項１乃至７の何れか一項に記載の通信装置。
【請求項９】
前記ポートは、ＴＣＰ又はＵＤＰのポートであることを特徴とする請求項１乃至８の何れか一項に記載の通信装置。
【請求項１０】
通信装置の制御方法であって、
他の通信装置を検索する検索工程と、
前記検索工程によって検索された他の通信装置が提供可能なサービスに関する情報を取得する取得工程と、
前記取得工程によって取得された情報と自装置が実行可能なサービスとに基づいて、自装置と前記他の通信装置との間で実行可能なサービスを特定する特定工程と、
前記特定工程によって複数のサービスが特定された場合、当該特定された複数のサービスそれぞれに対応するポートを制御する制御工程と、
を有することを特徴とする制御方法。
【請求項１１】
請求項１乃至９の何れか一項に記載の通信装置としてコンピュータを動作させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置、通信装置の制御方法、プログラムに関する。
【背景技術】
【０００２】
近年、デジタルカメラやプリンタなどの電子機器に無線ＬＡＮステーション機能を搭載し、電子機器を通信装置として、無線ＬＡＮに接続して使用するケースが増えてきている。例えば特許文献１には、デジタルカメラに無線ＬＡＮ機能を搭載し、画像共有を容易にする方法が開示されている。
【０００３】
また、Ｗｉ−Ｆｉ  ＡｌｌｉａｎｃｅによりＷｉ−Ｆｉ  Ｄｉｒｅｃｔ（登録商標）という規格が制定された。Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔでは、各電子機器が無線ＬＡＮアクセスポイントまたは無線ＬＡＮステーションのいずれとして動作するかを決定するプロトコルが規定されている。前記プロトコルを実行することにより、電子機器のどちらが無線ＬＡＮアクセスポイントになり、どちらが無線ＬＡＮステーションになるかを自動的に決定できる。このＷｉ−Ｆｉ  Ｄｉｒｅｃｔを使用することで、アクセスポイントを別途用意する必要がなくなり、電子機器同士で直接通信して各種のサービス（画像共有、印刷など）を実行することができるので、ユーザの利便性が向上する。
【０００４】
また、アプリケーションレイヤにおいて他装置が提供しているサービスの内容を検索する機能（サービスディスカバリ機能）が、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔのオプション機能として規定されている。本サービスディスカバリ機能によれば、接続処理実行前に、接続相手となる電子機器が提供しているサービスの情報を知ることができ、ユーザの利便性が向上する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００９−１５２６８９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
このように、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔでは、無線ＬＡＮレイヤにおいて、機器間でサービス情報のやり取りが行われる。しかし実際に実行されるサービスの処理はＴＣＰ／ＩＰ層より上位層（例えばアプリケーション層）で実行されることが一般的である。したがって、サービスの処理を実行するためには、各サービスに対応するポート（例えばＵＤＰやＴＣＰのポート）の開閉の制御が必要となる。
【０００７】
ここで、機器間で実行可能なサービスの種類が複数ある場合には、実行するサービスが特定される度に、その都度対応するポートの開閉の制御を行っていると、開放処理時間の面から非効率である。
【０００８】
そこで本発明は、機器間でサービスを実行するにあたって、効率的にポートの制御を行えるようにすることを目的とする。
【課題を解決するための手段】
【０００９】
本発明の通信装置は、他の通信装置を検索する検索手段と、前記検索手段によって検索された他の通信装置が提供可能なサービスに関する情報を取得する取得手段と、前記取得手段によって取得された情報と自装置が実行可能なサービスとに基づいて、自装置と前記他の通信装置との間で実行可能なサービスを特定する特定手段と、前記特定手段によって複数のサービスが特定された場合、当該特定された複数のサービスそれぞれに対応するポートを制御する制御手段とを有することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、機器間でサービスを実行するにあたって、効率的にポートの制御を行えるようになる。
【図面の簡単な説明】
【００１１】
【図１】装置を構成するブロック図
【図２】装置内のソフトウェア機能ブロック図
【図３】本発明が適用されるネットワーク構成の一例を示す図
【図４】実施例１における通信装置間のシーケンスの一例を示す図
【図５】実施例１における通信装置のフローチャートの一例を示す図
【図６】実施例２における通信装置のフローチャートの一例を示す図
【図７】実施例３における通信装置のフローチャートの一例を示す図
【発明を実施するための形態】
【００１２】
＜実施例１＞
以下、本実施形態に係る通信装置について、図面を参照しながら詳細に説明する。以下では、ＩＥＥＥ８０２．１１シリーズに準拠した無線ＬＡＮシステムを用いた例について説明するが、通信形態は必ずしもＩＥＥＥ８０２．１１準拠の無線ＬＡＮには限らない。
【００１３】
本実施形態に好適な事例におけるハードウェア構成について説明する。
【００１４】
図１は本発明を適用できる実施形態に係る、後述の各装置の構成の一例を表すブロック図である。１０１は装置全体を示す。１０２は、記憶部１０３に記憶される制御プログラムを実行することにより装置全体を制御する制御部である。制御部１０２は、１つ又は複数のＣＰＵやＭＰＵ等のプロセッサを含む。制御部１０２は、他の装置との間で通信パラメータの設定制御も行う。１０３は制御部１０２が実行する制御プログラムと、通信パラメータ等の各種情報を記憶する記憶部である。また、記憶部１０３には、通信装置で生成された、又は、外部装置から受信した、画像データやファイル等を記憶してもよい。記憶部１０３は、ＲＯＭ，ＲＡＭ，ＨＤＤ，フラッシュメモリ等の各種メモリによって構成される。尚、後述する各種動作は、記憶部１０３に記憶された制御プログラムを制御部１０２が実行することにより行われる。
【００１５】
１０４はＩＥＥＥ８０２．１１シリーズに準拠した無線ＬＡＮ通信を行うための無線部である。１０５は各種表示を行う表示部でありＬＣＤやＬＥＤのように視覚で認知可能な情報の出力、あるいはスピーカなどの音出力が可能な機能を有する。表示部１０５は視覚情報および音情報の少なくともどちらか一方を出力する機能を備えるものである。
【００１６】
１０７はアンテナ制御部、そして１０８はアンテナである。アンテナ制御部１０７はアンテナ１０８を制御して無線通信による信号を送受信する。１０９は、ユーザが各種入力等を行い、通信装置を操作するための操作部である。操作部１０９は、各種ボタンやタッチパネル等によって構成される。
【００１７】
サービス提供部１１０は、通信機器が提供するアプリケーションレベルのサービス情報を提供する機能を備えている。例えば、本通信機器がプリンタである場合は、印刷機能を提供し、デジタルカメラである場合は撮像機能を提供する。
【００１８】
尚、図１は一例であり、通信装置１０１は図１に示すハードウェア構成以外のハードウェア構成を備えていてもよい。例えば通信装置１０１がプリンタであれば印刷部を備え、通信装置１０１がデジタルカメラであれば撮像部を備える。
【００１９】
図２は、後述の通信制御機能を実行するソフトウェア機能ブロックの構成の一例を表すブロック図である。２０１はソフトウェア機能ブロック全体を示す。２０２はＤｉｓｃｏｖｅｒｙ制御部であり、通信相手となる通信装置を検索する検索処理を動作させる。
【００２０】
２０３はＧＯ  Ｎｅｇｏｔｉａｔｉｏｎ制御部である。Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔプロトコル仕様に基づいた制御を行い、通信装置間でどちらが無線ＬＡＮアクセスポイントになり、どちらが無線ＬＡＮステーションになるかといった無線レイヤにおける役割を決定する。Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔにおいては、無線ＬＡＮアクセスポイント機能を実施する通信装置をＰ２Ｐグループオーナー（以下、ＧＯ）、無線ＬＡＮステーション機能を実施する通信装置をＰ２Ｐクライアント（以下、ＣＬ）と称する。ＧＯまたは無線ＬＡＮアクセスポイントとなる場合は、後述の無線ＬＡＮアクセスポイント機能制御部２１１が起動され、ＣＬまたは無線ＬＡＮステーションとなる場合は、後述の無線ＬＡＮステーション機能制御部２１０が起動される。このＧＯ  ＮｅｇｏｔｉａｔｉｏｎのプロトコルはＷｉ−Ｆｉ  Ｄｉｒｅｃｔ仕様で決定されている。本発明のポイントではないため、説明は割愛する。Ｗｉ−Ｆｉ  ＤｉｒｅｃｔではＧＯが構築したネットワークをＰ２Ｐグループと称する。本明細書でもネットワークのことをＰ２Ｐグループと記載する場合もある。本実施例においては、これらは同一の意味で記載されている。
【００２１】
なお、本明細書では、Ｐ２Ｐグループオーナー（ＧＯ）、Ｐ２Ｐクライアント（ＣＬ）および役割が未決定の通信装置群をまとめて、Ｐ２Ｐデバイスと称す。
【００２２】
２０４はＤＨＣＰクライアント制御部であり、ＧＯ  Ｎｅｇｏｔｉａｔｉｏｎ制御部２０３において自通信装置の役割が無線ＬＡＮステーションとなったときに起動される。２０５はＤＨＣＰサーバ制御部であり、ＧＯ  Ｎｅｇｏｔｉａｔｉｏｎ制御部２０３において自通信装置の役割が無線ＬＡＮアクセスポイントとなった時に起動される。
【００２３】
２０６はＷＰＳエンローリ制御部であり、無線ＬＡＮの通信のために必要な通信パラメ―タを、他のＷＰＳレジストラ装置より受信する。ＤＨＣＰクライアント制御部２０４と同様に、自通信装置の役割が無線ＬＡＮステーションの時に動作する。２０７はＷＰＳレジストラ制御部であり、無線ＬＡＮの通信のために必要な通信パラメータを、他のＷＰＳエンローリ装置に提供する。ＤＨＣＰサーバ制御部２０５と同様に、自通信装置の役割が無線ＬＡＮアクセスポイントの時に動作する。尚、ＷＰＳレジストラによって提供される通信パラメータは、ネットワーク識別子としてのＳＳＩＤ、暗号鍵、暗号方式、認証鍵、認証方式等のパラメータである。
【００２４】
２０８は無線ＬＡＮパケット受信部、２０９は無線ＬＡＮパケット送信部であり、上位レイヤの通信プロトコルを含むあらゆるパケットの送受信をつかさどる。２１０は無線ＬＡＮステーション機能制御部である。自通信装置が無線ＬＡＮステーションとして動作するときの認証・暗号処理等を実施し、無線ＬＡＮアクセスポイントとして動作する装置が構築した無線ネットワークに参加する。２１１は無線ＬＡＮアクセスポイント機能制御部であり、自通信装置が無線ＬＡＮアクセスポイント機能として動作するときに無線ネットワークを構築し、認証・暗号処理および通信相手装置の管理等を実施する。無線ＬＡＮステーション機能制御部２１０および無線ＬＡＮアクセスポイント機能制御部２１１は、どちらか一方の機能もしくは同時に動作することが可能である。
【００２５】
２１２はパケットルーティング制御部であり、無線ＬＡＮアクセスポイント機能制御部２１１が動作しているときに、通信パケットをブリッジおよびルーティングする。２１３はデータ記憶部であり、ソフトウェアそのものおよび、無線ＬＡＮパラメータや、前述のＤＨＣＰアドレステーブルおよびＡＲＰテーブル等の各種テーブルを記憶保持している。
【００２６】
２１４はサービスディスカバリ制御部であり、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ特有のサービスディスカバリ機能をつかさどる。サービスディスカバリ機能は、ＩＥＥＥ８０２．１１ｕで定められたアクションフレームを送受信することにより、相手通信装置の保有しているサービス情報をやりとりする。具体的にはＳＤ  Ｑｕｅｒｙを送信し、ＳＤ  Ｒｅｓｐｏｎｓｅを返答として受信する。もしくは、相手装置からのＳＤ  Ｑｕｅｒｙを受信し、応答としてＳＤ  Ｒｅｓｐｏｎｓｅを送信する。本実施例において、サービス情報とは、通信装置が提供するアプリケーションレイヤのサービスを示す情報である。アプリケーションレイヤのサービスは、印刷サービス、動画像ストリーミングサービス、ファイル転送サービス等である。また、サービス情報には、通信装置が提供するサービスにアクセスするためのＵＲＬ等の識別情報が含まれることがある。
【００２７】
２１５はアプリケーションレイヤのサービスを提供するサービス提供部である。ここでのアプリケーションレイヤとは、ＯＳＩ参照モデルにおける第５層以上の上位レイヤにおけるサービス提供層のことをさす。すなわち、サービス提供部２１５は、例えば、印刷機能（印刷サービス）や画像ストリーミング機能（動画像ストリーミングサービス）や、ファイル転送機能（ファイル転送サービス）などを提供する。
【００２８】
２１６はアプリケーションレイヤにおけるサービス利用部である。対向となる装置のアプリケーションレイヤのサービス提供部によって提供されるサービスを利用する。すなわち、印刷サービス提供装置へ印刷物を送信する機能や、デジタルディスプレイに動画像を送信する機能などを司る。
【００２９】
２１７は通信ポート制御部であり、アプリケーションレイヤにおけるサービスの実行に必要なポートの開閉の制御を行う。具体的には、ＴＣＰポートやＵＤＰポート等の開放（オープン）・閉塞（クローズ）を制御する。通信装置は、アプリケーションレイヤにおいて提供するサービスや検索プロトコル毎に、ポートが割り当てられているため、サービスを利用するための通信を実施するときには、通信ポート制御部２１７によるポート開放処理（ポートオープン）が行われる。さらにサービスを利用するための通信に不必要なポートは閉じる（ポートクローズ）という制御も通信ポート制御部２１７で実施される。
【００３０】
なお、図２に示す全ての機能ブロックはソフトウェアによって提供されるものに限らず、少なくとも一部がハードウェアによって提供されるようにしてもよい。そして、図２に示す各機能ブロックは、相互関係を有するものである。また、図２に示す各機能ブロックは一例であり、複数の機能ブロックが１つの機能ブロックを構成するようにしてもよいし、何れかの機能ブロックが更に複数の機能を行うブロックに分かれてもよい。
【００３１】
また、本実施例において、アプケリーションレイヤにおけるサービスは、そのサービスを提供する装置と、そのサービスを利用する装置とによって実現される。アプリケーションレイヤにおけるサービスの一例として印刷サービスを例にすると、サービス提供装置はプリンタであり、ＰＣ等から送られる印刷データを受信して印刷を行う。一方、サービス利用装置はＰＣ等の装置であり、印刷データを生成してサービス提供装置としてのプリンタに送信する。また、サービスの一例として画像ストリーミングサービスを例にすると、サービス提供装置は表示装置であり、ＰＣ等から送られる画像データを受信して表示する。一方、サービス利用装置はＰＣ等の装置であり、画像データを生成してサービス提供装置としての表示装置に送信する。
【００３２】
図３は、通信装置Ａ３２（以下、ＳＴＡ−Ａ）、通信装置Ｂ３３（以下、ＳＴＡ−Ｂ）、および、ＳＴＡ−ＡとＳＴＡ−Ｂとから構成されるネットワークＡ３１（以下、ネットワークＡ）を示した図である。これら全ての装置は、先に説明した図１、図２の構成を有している。ＳＴＡ−ＡとＳＴＡ−Ｂとは、それぞれＷｉＦｉ−Ｄｉｒｅｃｔに対応しており、後述するシーケンス、フローチャートに示す処理を実行する。ＳＴＡ−ＡとＳＴＡ−ＢのうちＧＯとして動作する装置は、ネットワークＡを構築し、ＣＬとして動作する装置は、構築されたネットワークＡに参加する。
【００３３】
図４は、本実施例における通信装置間の処理を示すシーケンス図である。図４では、無線ＬＡＮの接続を実施する前にＷｉ−Ｆｉ  Ｄｉｒｅｃｔ規格に定められたサービスディスカバリによるサービス検索を実施し、所望の通信装置が存在する場合に無線ＬＡＮ接続処理を行う。そして、サービス用のポート開放を行ってサービス処理を行う場合の通信装置間のシーケンスを示している。
【００３４】
サービス提供装置であるＳＴＡ−Ａにおいて、ユーザの指示により、サービスの提供を開始する（Ｆ４０１）。一方、サービス受益装置であるＳＴＡ−Ｂにおいては、ユーザの指示により、サービス提供装置を探すために、サービス検索処理を開始する（Ｆ４０２）。
【００３５】
なお、本発明における、アプリケーションレイヤにおけるサービス受益装置、サービス提供装置とは、例えば、以下の通りである。アプリケーションレイヤにおけるサービスが印刷サービスであれば、利用装置は、印刷すべき画像やデータを有し、提供装置に印刷データを送信する装置であり、提供装置は印刷機能を有し、利用装置から送られた印刷データを印刷する装置である。具体的には、前者はＰＣやデジタルカメラやスマートフォン等であり、後者はプリンタや複合機等である。また、アプリケーションレイヤにおけるサービスが映像ストリーミングサービスであれば、利用装置は、デジタルカメラやカムコーダなどの映像記録装置であり、提供装置は、デジタルＴＶやプロジェクタなどの画像表示装置である。
【００３６】
アプリケーションレイヤにおけるサービスをＤＬＮＡ（登録商標）とすると、例えば、利用装置はＤＭＳ（デジタルメディアサーバ）であり、提供装置はＤＭＲ（デジタルメディアレンダラ―）である。ＤＬＮＡ規格においては様々なデバイスクラスが存在するため本記述は一例である。詳細はＤＬＮＡ規格を参照されたい。
【００３７】
アプリケーションレイヤにおけるサービスがＷｉ−Ｆｉ  ｍｉｒａｃａｓｔ（登録商標）であれば、Ｓｉｎｋと呼ばれる映像表示装置が提供装置であり、Ｓｏｕｒｃｅと呼ばれる映像蓄積装置が利用装置である。
【００３８】
ＵＰｎＰプロトコル対応デバイスであれば、提供装置はＵＰｎＰデバイスであり、利用装置はコントロールポイントである。尚、ここで例示したサービスとサービス上の役割は単なる例示であり、本発明はこれらに限定されない。
【００３９】
前記サービス検索処理の指示を受けたＳＴＡ−Ｂは、サービス検索に先立ち、通信相手となる機器を検索するために、Ｐｒｏｂｅ  Ｒｅｑｕｅｓｔ信号をブロードキャスト送信する（Ｆ４０３）。
【００４０】
ＳＴＡ−Ａは前記Ｐｒｏｂｅ  Ｒｅｑｕｅｓｔ信号を受信すると、Ｐｒｏｂｅ  Ｒｅｓｐｏｎｓｅ信号をＳＴＡ―Ｂへ返信する（Ｆ４０４）。ＳＴＡ−Ｂは、前記Ｐｒｏｂｅ  Ｒｅｓｐｏｎｓｅ信号を受信することで、通信相手となる候補の装置として、ＳＴＡ−Ａが存在することを認識できる。したがって、ＳＴＡ−Ｂはユーザ所望のサービスをＳＴＡ−Ａが提供可能かを調べるために、ＳＤ  Ｑｕｅｒｙ信号を送信する（Ｆ４０５）。前記ＳＤ  Ｑｕｅｒｙ信号とは、前述の通り、送信先の通信装置が所望のサービスを提供しているか否かを問い合わせるための問い合わせ信号である。ＳＤ  Ｑｕｅｒｙ信号は全サービスを検索するためのワイルドカードを指定しても良いし、特定のサービスを指定してもよい（以降、個別指定と称する）。そして本ＳＤ  Ｑｕｅｒｙ信号による問い合わせは、通信装置間が無線ＬＡＮによる接続を実施する前（ｐｒｅ−ａｓｓｏｃｉａｔｉｏｎ状態）に実施可能である。
【００４１】
ＳＤ  Ｑｕｅｒｙ信号を受信したＳＴＡ−Ａは、その応答としてＳＤ  Ｒｅｓｐｏｎｓｅ信号を送信する（Ｆ４０６）。ＳＤ  Ｑｕｅｒｙ信号がワイルドカードを指定したものであった場合、ＳＤ  Ｒｅｓｐｏｎｓｅ信号には、ＳＴＡ−Ａが提供するサービスを示す情報が含まれている。また、ＳＤ  Ｑｕｅｒｙ信号が特定のサービスを指定したものであった場合、ＳＤ  Ｒｅｓｐｏｎｓｅ信号には、ＳＴＡ−Ａが当該特定のサービスを提供可能であるか否かを示す情報が含まれている。ＳＴＡ−Ａは、ＳＤ  Ｒｅｓｐｏｎｓｅ信号を送信する時に、ＳＤ  Ｑｕｅｒｙ信号を送信したＳＴＡ−ＢのＭＡＣアドレス等の識別情報を自身の記憶部に保持する。
【００４２】
ＳＴＡ−Ｂは、ＳＤ  Ｒｅｓｐｏｎｓｅ信号の内容を参照し、ユーザの判断もしくは通信装置の自律的な判断により所望のサービスがＳＴＡ−Ａで提供可能であることが確認された場合、ＳＴＡ−ＡのＭＡＣアドレス等の識別情報を記憶部へ保持する。そして、ユーザの指示に応じて、所望のサービスのサービス開始指示を行う（Ｆ４０７）。
【００４３】
なお、ここではＰｒｏｂｅ  Ｒｅｑｕｅｓｔ信号により通信装置の検索を行った後に、ＳＤ  Ｑｕｅｒｙ信号により提供サービスの問い合わせを行う例について説明した。しかし、Ｐｒｏｂｅ  Ｒｅｑｕｅｓｔ信号に、アプリケーションレイヤのサービスに関連する追加情報要素を付与し、Ｐｒｏｂｅ  Ｒｅｑｕｅｓｔ信号のみで相手装置のサービスも含めて検索しても良い。この場合は、ＳＤ  Ｑｕｅｒｙ信号およびＳＤ  Ｒｅｓｐｏｎｓｅ信号のやり取りは行わなくても良い。ただし、お互いのＭＡＣアドレス等の識別情報の保持は同様に実施する。
【００４４】
図４の説明に戻る。ＳＴＡ−Ｂは、サービス開始指示Ｆ４０７に応じて、無線ＬＡＮ接続処理を実施する。本実施例においては、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ規格に基づいた無線ＬＡＮ接続処理を実施するため、Ｇｒｏｕｐ  Ｆｏｒｍａｔｉｏｎ処理を実施する（Ｆ４０８）。本処理は、前述のＧＯ  Ｎｅｇｏｔｉａｔｉｏｎ制御部２０３により制御される。Ｇｒｏｕｐ  Ｆｏｒｍａｔｉｏｎ処理とは、前述の通り、２台の通信装置のどちらがＧＯになり、どちらがＣＬになるかを決定する役割決定処理である。前記役割決定処理の結果、ＳＴＡ−ＡがＧＯとして動作を開始し（Ｆ４０９）、ＳＴＡ−ＢがＣＬとして動作を開始するとする（Ｆ４１０）。
【００４５】
したがって、ＳＴＡ−ＡをＷＰＳレジストラとしＳＴＡ−ＢをＷＰＳエンローリとしてＷＰＳパラメータ交換処理が実行される（Ｆ４１１）。
【００４６】
引き続き、ＳＴＡ−ＡをＤＨＣＰサーバとして、ＳＴＡ―ＢをＤＨＣＰクライアントとしてアドレス設定処理を実行する（Ｆ４１２）。
【００４７】
Ｆ４０５、Ｆ４０６におけるサービスディスカバリ処理によってお互いのデバイスのサービス情報は交換されている。従って、ＳＴＡ−ＡとＳＴＡ−Ｂは、アプリケーションレイヤによるサービス処理を実施するために、既に判明しているサービスで使用するＴＣＰポート又はＵＤＰポートを開放する（Ｆ４１３、Ｆ４１４）。
【００４８】
Ｆ４１３，Ｆ４１４に示したポート開放処理により、ＴＣＰ／ＩＰ上におけるアプリケーションレイヤにおけるサービスを実施することが可能となる（Ｆ４１５）。
【００４９】
なお、本シーケンス図では各種信号は全てサービス利用装置から要求信号を送信して、その応答をサービス提供装置から受領する例を記載した。しかし、サービス提供装置から要求信号を送信して、その応答をサービス利用装置から受領しても良いし、信号の種類によってそれぞれの要求信号の送信装置を変えても良い。
【００５０】
図５は、本実施例の通信装置の動作を示すフローチャートである。本フローチャートの各ステップは、記憶部１０３に記憶されたプログラムを制御部１０２が実行することによって処理される。開放
通信装置は、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ仕様に定められた検索方法によって、通信相手となる通信装置を検索する（Ｓ５０１）。検索の結果、相手装置が検出された場合は、通信装置は、前記相手装置に向けてワイルドカードが指定されたＳＤ  Ｑｕｅｒｙを送信する（Ｓ５０２）。なお、ＩＥＥＥ８０２．１１の仕様上、ＳＤ  Ｑｕｅｒｙはユニキャストで送信することが規定されているため、まずステップＳ５０１で相手装置を検索した上でステップＳ５０２としてＳＤ  Ｑｕｅｒｙを送信する例を述べた。しかしながら、通信装置のサービス情報の通知を実施する信号であればＳＤ  Ｑｕｅｒｙ信号に限定するものではないため、ステップＳ５０１の処理を省略して、サービス情報検索信号をマルチキャスト又はブロードキャストで送信しても良い。
【００５１】
通信装置は、前記ＳＤ  Ｑｕｅｒｙ送信後、相手装置からのＳＤ  Ｒｅｓｐｏｎｓｅを待ち受け、受信する（Ｓ５０３）。ワイルドカードが指定されたＳＤ  Ｑｕｅｒｙを受信した相手装置は、自身が提供中の全サービス情報を記載した前記ＳＤ  Ｒｅｓｐｏｎｓｅを、通信装置宛てに送信することとなる。尚、ＳＤ  ＲｅｓｐｏｎｓｅについてもＩＥＥＥ８０２．１１仕様に準拠して説明するための例示であり、通信装置のサービス情報の通知を実施する信号であればＳＤ  Ｒｅｓｐｏｎｓｅ信号に限定するものではない。
【００５２】
通信装置は、前記ステップＳ５０３において受信したＳＤ  Ｒｅｓｐｏｎｓｅに含まれるサービス情報を参照して、相手装置が提供可能なサービスに関する情報を取得し、自通信装置が実行可能なサービス情報と比較する（Ｓ５０４）。
【００５３】
ステップＳ５０４における比較の結果、両装置において共通しているサービス、即ち通信装置と相手装置との間で実行可能なサービスを特定し、該特定されたサービス用のポートを、全て開放（ポートオープン）する（Ｓ５０５）。ここで、特定されたサービスが複数ある場合には、複数のサービスそれぞれに対応する複数のポートを一括して開放する。
【００５４】
以上のように、本実施例によれば通信装置間で実行可能なサービスについての複数のポートを、当該複数のポートが特定できるのに応じて全てオープンする。これにより、特に、複数のサービスを実行する場合において、開放サービス提供までの時間を短縮することが可能となる。
【００５５】
＜実施例２＞
実施例１においては、ワイルドカード指定のＳＤ  Ｑｕｅｒｙによる検索結果に基づいてサービス提供用のポートを開放する例について説明した。本実施例２においては、個別のサービスを指定したＳＤ  Ｑｕｅｒｙを送信する場合について、図６を用いて説明する。なお、通信装置のハードウェア、ソフトウェア構成、ポート制御関連以外の接続処理等については実施例１と同一であるため説明は割愛する。
【００５６】
通信装置は、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ仕様に定められた検索方法によって、通信相手となる通信装置を検索する（Ｓ６０１）。検索の結果、相手装置が検出された場合は、通信装置は、前記相手装置に向けて自装置が利用したいサービスを一つ以上指定したＳＤ  Ｑｕｅｒｙを送信する（Ｓ６０２）。
【００５７】
通信装置は、前記ＳＤ  Ｑｕｅｒｙ送信後、相手装置からのＳＤ  Ｒｅｓｐｏｎｓｅを待ち受け、受信する（Ｓ６０３）。サービスが個別指定されたＳＤ  Ｑｕｅｒｙを受信した相手装置は、当該指定されたサービスを自身が提供可能である場合のみ応答処理を行う。従って、Ｓ６０３において相手装置からのＳＤ  Ｒｅｓｐｏｎｓｅを受信したことは、個別指定したサービスを相手装置との間で実行可能であることを示している。
【００５８】
通信装置は、ステップＳ６０４において前記ＳＤ  Ｒｅｓｐｏｎｓｅに記載のサービス用のポートのみを全て開放する（Ｓ６０４）。即ち、自装置が送信したＳＤ  Ｑｕｅｒｙにおいて個別指定したサービスに対応するポートを全て開放する。
【００５９】
以上のように、本実施例によれば通信装置間で実行可能なサービスについてのポートをあらかじめ開放することが可能であり、サービス提供までの時間を短縮することが可能となる。
【００６０】
＜実施例３＞
実施例１および２においては、検索を実行する装置の動作について図５や図６を用いて説明を行った。本実施例３においては、通信装置が被検索装置となった場合の動作について、図７を用いて説明する。なお、通信装置のハードウェア、ソフトウェア構成、ポート制御関連以外の接続処理等については実施例１と同一であるため説明は割愛する。
【００６１】
通信装置はＷｉ−Ｆｉ  Ｄｉｒｅｃｔ仕様に定められた検索方法によって、通信相手となる相手装置から検索される。相手装置に検出された場合は、ＳＤ  Ｑｕｅｒｙを受信する（Ｓ７０１）。
【００６２】
受信したＳＤ  Ｑｕｅｒｙの要求種別を判定する（Ｓ７０２）。前記要求種別が個別指定である場合は、要求されたサービス情報に基づいて、自通信装置が前記要求されたサービスをサポートしているか否かを判断する。その結果、要求されたサービスを提供可能であればＳＤ  Ｒｅｓｐｏｎｓｅを送信する（Ｓ７０７）。
【００６３】
そして、通信装置は、ステップＳ７０７において送信した前記ＳＤ  Ｒｅｓｐｏｎｓｅに記載のサービス用のポートのみを全て開放する（Ｓ７０８）。
【００６４】
一方、ステップＳ７０２において、ＳＤ  Ｑｕｅｒｙがワイルドカード指定だった場合を考える。
【００６５】
前記ＳＤ  Ｑｕｅｒｙがワイルドカード指定だった場合は、自通信装置が提供している全サービスを記載したＳＤ  Ｒｅｓｐｏｎｓｅを送信する（Ｓ７０３）。引き続き、対向装置との間で利用を予定しているサービス情報を、個別指定したＳＤ  Ｑｕｅｒｙを送信する（Ｓ７０４）。
【００６６】
通信装置は、相手装置からのＳＤ  Ｒｅｓｐｏｎｓｅを受信する（Ｓ７０５）。ここで通信装置間で使用するサービスが定まるため、通信装置は、Ｓ７０５において受信したＳＤ  Ｒｅｓｐｏｎｓｅに記載されたサービス用のポートのみを全て開放する（Ｓ７０６）
以上のように、本実施例によれば、通信装置同士で実際に必要なサービス用のポートを一括して事前に開放することが可能であり、サービス用のポート開閉を効率的に制御することができる。
【００６７】
＜その他の実施形態＞
上記の各実施例は、本発明を実施するための一例を示すものであり、本発明の趣旨を逸脱しない限り種々の変更が可能である。また、上記実施例１〜３は組み合わせることができる。また、各通信装置が、実施例１〜３のどれに従って動作するかをユーザが任意に選択できるようにしてもよい。
【００６８】
尚、上記実施例の通信装置は、デジタルカメラやプリンタ等に限らない。ＰＣやタブレット端末であってもよく、携帯電話やスマートフォン等のモバイル端末であってもよい。また、複写機やスキャナ、ＦＡＸ、複合機等の画像処理装置、テレビやレコーダー等のデジタル家電であってもよい。
【００６９】
また、上記実施形態はＩＥＥＥ８０２．１１準拠の無線ＬＡＮを例に説明した。しかしながら、本発明は、ワイヤレスＵＳＢ、ＭＢＯＡ、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＵＷＢ、ＺｉｇＢｅｅ（登録商標）等の他の無線通信において実施してもよい。また、有線ＬＡＮ等の有線通信媒体において実施してもよい。ここで、ＭＢＯＡは、Ｍｕｌｔｉ  Ｂａｎｄ  ＯＦＤＭ  Ａｌｌｉａｎｃｅの略である。また、ＵＷＢは、ワイヤレスＵＳＢ、ワイヤレス１３９４、ＷＩＮＥＴなどが含まれる。
【００７０】
更に、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）をネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム又は装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムコードを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。
【符号の説明】
【００７１】
３１  ネットワークＡ
３２  ＳＴＡ−Ａ
３３  ＳＴＡ−Ｂ
【図１】
2014216767.tif 000003
【図２】
2014216767.tif 000004
【図３】
2014216767.tif 000005
【図４】
2014216767.tif 000006
【図５】
2014216767.tif 000007
【図６】
2014216767.tif 000008
【図７】
2014216767.tif 000009