(57)【要約】【課題】サービスディスカバリ機能を利用できないような通信システムにおいて、接続性を担保しつつセキュリティを高める。【解決手段】通信装置は、他の通信装置と無線通信を行うための無線接続処理を行って、該他の通信装置と無線通信を行う。通信装置は、他の通信装置との無線接続処理において、他の通信装置が所定のサービスを実行可能であるかを示す情報を他の通信装置から取得し、取得した情報に基づいて、他の通信装置との通信に用いるポートを制御する。【選択図】  図４Ａ
2015220602.tif 000002
【特許請求の範囲】
【請求項１】
通信装置であって、
他の通信装置と無線通信を行うための無線接続処理を行う接続手段と、
前記他の通信装置との前記無線接続処理において、前記他の通信装置が所定のサービスを実行可能であるかを示す情報を前記他の通信装置から取得する取得手段と、
前記取得手段により取得した前記情報に基づいて、前記他の通信装置との通信に用いるポートを制御する制御手段と、を備えることを特徴とする通信装置。
【請求項２】
前記接続手段は前記他の通信装置との通信を行う際、アクセスポイントを介さずに直接通信を行うことを特徴とする請求項１記載の通信装置。
【請求項３】
前記制御手段は、前記他の通信装置が前記所定のサービスを実行可能である場合、前記他の通信装置との通信に必要なポートを開放することを特徴とする請求項１または２に記載の通信装置。
【請求項４】
前記制御手段は、前記他の通信装置が前記所定のサービスを実行可能である場合、前記他の通信装置との通信に専用に用いることができる全てのポートをロックした後、必要なポートのロックを解除することを特徴とする請求項３に記載の通信装置。
【請求項５】
前記他の通信装置が所定のサービスを実行可能でない場合、前記制御手段は前記他の通信装置との通信に専用に用いることができる全てのポートを開放することを特徴とする請求項１乃至４のいずれか１項に記載の通信装置。
【請求項６】
前記通信装置と前記他の通信装置のいずれが基地局として動作するかを決定するための決定信号を受信する受信手段を更に有し、
前記取得手段は、前記決定信号に含まれる前記情報を取得することを特徴とする請求項１乃至５のいずれか１項に記載の通信装置。
【請求項７】
前記接続手段は、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔに準拠した接続手順に従って前記他の通信装置との無線接続処理を行うことを特徴とする請求項１乃至６のいずれか１項に記載の通信装置。
【請求項８】
前記制御手段は、前記所定のサービスの実行により前記他の通信装置と通信することにより該他の通信装置と共有すべきポートを決定し、該決定されたポートを開放することを特徴とする請求項１乃至７のいずれか１項に記載の通信装置。
【請求項９】
前記通信装置はプリンタを含み、
前記他の通信装置から前記制御手段により開放されたポートを介して受信した画像データを印刷することを特徴とする請求項１乃至８のいずれか１項に記載の通信装置。
【請求項１０】
前記通信装置はカメラを含み、
撮像部により撮像された画像データを、前記制御手段により開放されたポートを介して前記他の通信装置に送信することを特徴とする請求項１乃至８のいずれか１項に記載の通信装置。
【請求項１１】
通信装置の制御方法であって、
他の通信装置と無線通信を行うための無線接続処理を行う接続工程と、
前記無線接続処理において、前記他の通信装置が所定のサービスを実行可能であるかを示す情報を前記他の通信装置から取得する取得工程と、
取得した前記他の通信装置が所定のサービスを実行可能であるかを示す情報に基づいて、前記他の通信装置との通信に用いるポートを制御する制御工程とを有することを特徴とする制御方法。
【請求項１２】
コンピュータを、請求項１乃至１０のいずれか１項に記載の通信装置の各手段として動作させるためのプログラム。
【請求項１３】
請求項１２に記載の制御方法の各工程をコンピュータに実行させる事を特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置、通信装置の制御方法、プログラムに関する。
【背景技術】
【０００２】
近年、無線LAN機器は、無線アクセスポイントを介して相互に通信可能にしていたが、無線ＬＡＮ機器同士が直接通信する規格としてＷｉ−Ｆｉ ＡｌｌｉａｎｃｅによりＷｉ−Ｆｉ Ｄｉｒｅｃｔ（登録商標）規格が策定された（特許文献１）。Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔでは、オプション機能として上位のアプリケーションがサポートしているサービス情報を広告・検索する機能（サービスディスカバリ機能）が規定されている。サービスディスカバリ機能によれば、接続処理実行前に、接続相手となる電子機器のサービス情報を取得することができ、サービス情報を取得した場合には、当該サービスが利用するポート情報も取得することができ、当該ポートを用いて通信することができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−３５７６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、相手装置がサービスディスカバリ機能を有していない場合には、相手装置が有するサービスが利用するポート情報を取得できないので、当該ポートを用いて通信することができなくなってしまい、ユーザの利便性が低下する虞がある。一方で、全てのポートを開放していると意図しない装置から接続されてしまいセキュリティが低下してしまう可能性がある。
【０００５】
本発明は、上記課題に鑑みてなされたものであり、接続性を担保しつつセキュリティを高めることを目的とする。
【課題を解決するための手段】
【０００６】
上記の目的を達成するため本発明の一態様による通信装置は以下の構成を備える。すなわち、
他の通信装置と無線通信を行うための無線接続処理を行う接続手段と、
前記他の通信装置との前記無線接続処理において、前記他の通信装置が所定のサービスを実行可能であるかを示す情報を前記他の通信装置から取得する取得手段と、
前記取得手段により取得した前記情報に基づいて、前記他の通信装置との通信に用いるポートを制御する制御手段と、を備える。
【発明の効果】
【０００７】
本発明によれば、接続性を担保しつつセキュリティを高めることができる。
【図面の簡単な説明】
【０００８】
【図１】実施形態によるネットワーク構成の一例を示す図。
【図２】実施形態によるプリンタ及びカメラのハードウェア構成例を示すブロック図。
【図３Ａ】実施形態によるプリンタ内のソフトウェアブロック図。
【図３Ｂ】実施形態によるカメラ内のソフトウェアブロック図。
【図４Ａ】実施形態によるプリンタのフローチャート。
【図４Ｂ】実施形態によるカメラのフローチャート。
【図５】記憶部２０１が記憶する情報を示す図。
【図６】プリンタ並びカメラにより実現されるフローチャート。
【発明を実施するための形態】
【０００９】
図１は本実施形態に係る通信システムのネットワーク構成の一例を示す図である。プリンタ１０１は通信機能を備えた通信装置の一例であり、プリント機能を提供するとともに、たとえばＩＥＥＥ８０２．１１シリーズに準拠した通信を行う。カメラ１０２および１０３は、通信機能を備えた他の通信装置の一例であり、プリンタ１０１とたとえばＩＥＥＥ８０２．１１シリーズに準拠した通信を行う。なお、通信装置および他の通信装置はプリンタ１０１やカメラ１０２，１０３に限らず、ストレージや携帯電話（スマートフォンを含む）、ＰＣ、医療機器等であってよい。なお、カメラ１０２は後述する第１のサービスを提供可能であり、カメラ１０３は第１のサービスを提供しない。
【００１０】
図２は、プリンタ１０１およびカメラ１０２，１０３のハードウェア構成例を示すブロック図である。なお、プリンタ１０１やカメラ１０２，１０３において、図２に示す複数のブロックを１つのモジュールとして実現してもよいし、図２に示す１つのブロックを複数のモジュールで実現してもよい。
【００１１】
まず、プリンタ１０１の構成を説明する。記憶部２０１は、読み出し専用のＲＯＭ、読み書きが可能なＲＡＭなどのメモリ（不図示）により構成される。記憶部２０１には、制御部２０２が後述する各種動作を行うためのプログラム（ＯＳを含む）や、画像データ、通信パラメータ、ポート情報等の各種情報を記憶する。なお、記憶部２０１として、ＲＯＭ、ＲＡＭ等のメモリの他に、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＤＶＤなどの記憶媒体が用いられてもよい。
【００１２】
制御部２０２はＣＰＵ、ＭＰＵ又はコンピュータを備え、記憶部２０１に記憶されたプログラムを読み出し、実行することによりプリンタ１０１における各種の制御を実現する。なお、制御部２０２にＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）を設け、前述のプログラムとＯＳとの協働によりプリンタ１０１全体を制御するようにしてもよい。ユーザインターフェース部（以下、ＵＩ部）２０３は、制御部２０２、通信部２０４並びに記憶部２０１からの各種情報を表示器（不図示）に表示する。さらにＵＩ部２０３はユーザからの各種操作に応じた信号を制御部２０２に提供する。
【００１３】
通信部２０４は、アンテナ２０５を介して、たとえばＩＥＥＥ８０２．１１シリーズに準拠した通信を行い、外部装置からの信号、情報を受信し、プリンタ１０１内の情報、信号を外部装置に送信する。電源部２０６は、図２に記載された各ハードウェアのモジュールに電力を供給する。なお、電源部２０６は供給する電力を商用電源から取得するが、これに限らず、内臓バッテリーを有する構成としてもよい。プリント部２０７は、記憶部２０１に記憶された画像データを印刷して出力する。なお、外部装置であるカメラ１０２やカメラ１０３から通信部２０４を介して受信した画像データを記憶部２０１に一時的に記憶して、プリント部２０７から出力することも可能となっている。
【００１４】
次に、カメラ１０２，１０３の構成を説明する。記憶部２１１、制御部２１２、通信部２１４、アンテナ２１５は、プリンタ１０１の記憶部２０１、制御部２０２、通信部２０４、アンテナ２０５と同様の構成である。但し、制御部２１２はカメラ１０２，１０３のための各種制御を行う。また、ＵＩ部２１３は、撮影操作や画像の送信操作など、ユーザからの各種操作に応じた信号を制御部２１２に提供する。電源部２１６は、カメラ１０２，１０３内の各ハードウェアのモジュールに電力を供給する。なお、電源部２１６は、充電により繰り返し利用できる内臓バッテリーとするのが一般的である。撮像部２１７は、撮像素子から得られた信号をデジタル化して制御部２１２に供給する。制御部２１２は、撮像部２１７から得られた信号を画像化し、画像データとして記憶部２１１に記憶する。プリンタ１０１の通信部２０４とカメラ１０２，１０３の通信部２１４の通信部は無線通信による通信が可能であり、たとえば、上述したようにＩＥＥＥ８０２．１１シリーズに準拠した無線ＬＡＮの通信を実施できる。
【００１５】
図３Ａと図３Ｂに、プリンタ１０１又はカメラ１０２、１０３の制御部２０２が記憶部２０１に記憶されているプログラムを制御部内のＣＰＵにより読み出すことで実行されるソフトウェアのモジュールを示す。なお、図３に示す複数のソフトウェアモジュールを１つのソフトウェアモジュールとして実現してもよいし、図３に示す１つのソフトウェアモジュールを複数のソフトウェアモジュールとして実現してもよい。また、図３に示すソフトウェアモジュールの少なくとも一部をハードウェアモジュールにより実現してもよい。また、例えば、所定のコンパイラを用いることで、ソフトウェアモジュールを実現するためのプログラムからＦＰＧＡ上に自動的に専用回路を生成すれば、ソフトウェアで実現したことをハードウェアで実現でき、処理速度が速くなる。なお、ＦＰＧＡとは、Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙの略である。また、ＦＰＧＡと同様にしてＧａｔｅ  Ａｒｒａｙ回路を形成し、ハードウェアモジュールとして実現するようにしてもよい。
【００１６】
図３Ａを参照してプリンタ１０１内で機能するソフトウェアモジュールのそれぞれを説明する。起動部３０１は、ＵＩ部２０３からの操作指示に応じて第１のサービス部３０２を起動する。第１のサービス部３０２は、通信部２０４を介してカメラ１０２，１０３と通信を行い、第１のサービスを実行する。第１のサービスとは、たとえば第２のサービス部により提供される第２のサービスを用いて、カメラからプリンタへ画像データを無線で送信、プリンタがこれを受信してプリントするサービスであり、後述するようなポート制御を伴う。なお、第２のサービスとは、IPP（Internet Printing Protocol）、PictBridge（カメラ映像機器工業会規格）、DLNA（登録商標）等、具体的なサービスである。第１のサービス部３０２は、後述するポート制御のために、ロック部３０３、判定部３０５、停止部３１０、解除部３１１を含む。ロック部３０３は、プリンタ１０１の通信部２０４が他の通信装置との通信に専用に利用可能であり、ＴＣＰで規定されたポート（たとえば、ウエルノウウンポート以外のポート）をロックする。判定部３０５は、プリンタ１０１に対して接続処理を要求してきた他の通信装置、たとえばカメラ１０２，１０３が、第１のサービスを提供可能であるか否かを判定する。停止部３１０は、他の通信装置としてのカメラが第１のサービスを提供しない場合、第１のサービス部３０２を停止する。解除部３１１は、ロック部３０３によりロックされたポートのロック状態を状況に応じて解除し、ポートを開放する。
【００１７】
探索応答部３０４は、プリンタ１０１の周囲に存在する他の通信装置からの機器探索要求に対して応答を行う。問い合せ応答部３０６は、他の通信装置（本例ではカメラ１０２，１０３）からのプリンタ１０１自身の提供するサービスに関する詳細な問い合わせに応答する。接続部３０７は、所定の接続手順に従って他の通信装置と無線接続処理を行う。本実施形態では、接続部３０７は、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔで規定された接続手順にしたがって無線接続処理を実行する。
【００１８】
第２のサービス部３０８は、接続した他の通信装置と協働して所定のサービス処理を実行する。切断部３０９は、通信を終えた後、他の通信装置との無線接続の切断処理を行う。サービス情報提供部３１２はＵＰｎＰもしくはｍＤＮＳに準拠したサービス（本例では、第２のサービス部３０８により提供されるサービス）に関する情報を提供、または問い合わせに対して応答を行う。ここで、ＵＰｎＰとはＵｎｉｖｅｒｓａｌ  Ｐｌｕｇ  ａｎｄ  Ｐｌａｙの略である。また、ｍＤＮＳとはｍｕｌｔｉｃａｓｔ  ＤＮＳ（Ｄｏｍａｉｎ  Ｎａｍｅ  Ｓｙｓｔｅｍ）の略である。
【００１９】
なお、本実施形態では、第１のサービス部３０２は接続部３０７により無線接続されたレイヤよりも更に上位のレイヤ（層）で動作するプラットフォームである。即ち、第１のサービス部３０２による通信は接続部３０７による無線接続を用いて行われる。また、第１のサービス部３０２の更に上位レイヤに他のサービス機能部を用いて通信するようにしてもよい。また、第１のサービス部３０２のレイヤと接続部３０７により無線接続されるレイヤとが同一のレイヤで動作するようにしてもよい。
【００２０】
次に、図３Ｂを参照して、他の通信装置であるカメラ１０２，１０３内で機能するソフトウェアモジュールのそれぞれを説明する。起動部３５１は、カメラ内の第１のサービス部３５２を起動する。第１のサービス部３５２は、通信部２１４を介してプリンタ１０１と通信を行う。第１のサービス部３５２は、判定部３５５、停止部３６０、解除部３６１を含む。判定部３５５は、接続先のプリンタ１０１が、第１のサービスを提供可能であるか否かを判定する。停止部３６０は、接続先のプリンタが第１のサービスを提供しない場合に、第１のサービス部３５２を停止する。停止部３６０は、通信装置としてのプリンタ１０１が第１のサービスを提供しない場合、第１のサービス部３５２を停止する。解除部３６１は、ロック部３５３によりロックされたポートのロック状態を状況に応じて解除し、ポートを開放する。本実施形態では、カメラ１０２は第１のサービスを提供可能な装置とし、カメラ１０３を第１のサービスを提供しない装置とする。したがって、カメラ１０３には、第１のサービス部３５２は存在しないものとする。
【００２１】
探索要求部３５４は、周囲に存在する通信装置と無線接続（本実施形態では、ＷｉＦｉ  Ｄｉｒｅｃｔ）を行うために、機器探索要求の送信等を実行する。問い合せ部３５６は、他の通信装置としてのカメラ１０２，１０３からプリンタ１０１に対し、プリンタ１０１が提供するサービスに関する詳細な問い合わせを行う。接続部３５７は所定の接続手順に従って通信装置としてのプリンタ１０１と無線接続処理を行う。本実施形態では、接続部３５７は、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔで規定された接続手順にしたがって無線接続処理を実行する。第３のサービス部３５８は、接続した他の通信装置と協働して所定のサービス処理を実行する。たとえば、本実施形態では、第３のサービス部３５８は、プリンタ１０１の第２のサービス部３０８が提供するサービスを用いて、カメラに保存されている画像データをプリンタ１０１に印刷させるサービスを実行する。切断部３５９は、通信を終えた後、通信装置であるプリンタ１０１との無線接続の切断処理を行う。サービス情報取得部３６２は、ＵＰｎＰもしくはｍＤＮＳに準拠したサービスに関する情報を取得する。
【００２２】
以上のような構成を有する本実施形態のプリンタ１０１、カメラ１０２、カメラ１０３の動作について、図４Ａ、図４Ｂに示すフローチャートを参照して説明する。プリンタ１０１において、図４Ａに示されるフローチャートに対応するプログラムが、記憶部２０１に記憶されている。このプログラムが制御部２０２内のＣＰＵにより読みだされ実行されて、プリンタ１０１がカメラ１０２またはカメラ１０３と直接通信で接続し、カメラから受信したデータをプリンタ１０１のプリント部２０７で出力する。同様に、カメラ１０２，１０３では、図４Ｂに示されるフローチャートに対応するプログラムが記憶部２１１に記憶されている。このプログラムが制御部２１２内のＣＰＵにより読み出され実行されることにより、カメラ１０２、またはカメラ１０３はプリンタ１０１と直接通信で接続し、プリンタ１０１による印刷出力のために画像データをプリンタ１０１へ送信する。但し、カメラ１０３は第１のサービス部３５２を有していないので、第１のサービス部３５２に係る動作は実行されない。以下、プリンタ１０１とカメラ１０２が接続される場合の動作を説明する。
【００２３】
ステップＳ４０１で、プリンタ１０１の起動部３０１は、ユーザによるＵＩ部２０３への操作に応じて第１のサービス部３０２を起動する。当該操作は、例えば接続を指示するための操作である。接続が指示されると、ステップＳ４０２で、制御部２０２は、無線接続するカメラを決定するための探索応答部３０４による装置探索処理を開始する。一方、カメラ１０２においても、ステップＳ４５１においてＵＩ部２１３への操作に応じて起動部３５１が第１のサービス部３５２を起動し、ステップＳ４５２において探索要求部３５４が探索信号をブロードキャストする。このように、カメラ１０２が装置の探索要求のための探索信号を送信し、プリンタ１０１が当該探索信号に対して応答を行うことで接続先装置の確認が可能となる。ここで探索信号とは、例えばＩＥＥＥ８０２．１１シリーズで規定されたＰｒｏｂｅ  Ｒｅｑｕｅｓｔである。
【００２４】
ステップＳ４０３で、探索応答部３０４はカメラ１０２からの探索信号を受信したか否かを判定し、探索信号を受信したと判定された場合は、ステップ４０４で当該探索信号に対する応答信号を送信する。ここで応答信号とは、例えばＩＥＥＥ８０２．１１シリーズで規定されたＰｒｏｂｅ  Ｒｅｓｐｏｎｓｅである。カメラ１０２，１０３では、ステップＳ４５３において、探索要求部３５４がブロードキャストされた探索信号に対する応答信号を受信するのを待つ。応答信号の受信が確認されると、接続部３５７による無線接続のためのステップＳ４５４以降の処理が開始される。
【００２５】
なお、プリンタ１０１から応答信号を受信した段階で、カメラ１０２からプリンタ１０１が提供するサービスの詳細を問い合わせる信号（問合せ信号）を送信して、サービスを取得するようにしてもよい。プリンタ１０１の問い合わせ応答部３０６は、プリンタ１０１が提供するサービスの詳細を問い合わせる信号（問合せ信号）を受信すると（ステップＳ４０５）、プリンタ１０１が提供する全てのサービス情報を通知する応答信号を送信する（ステップＳ４０６）。
【００２６】
ここで問合せ信号とは、例えばＷｉ−Ｆｉ  Ｄｉｒｅｃｔで規定されたＳｅｒｖｉｃｅ  Ｄｉｓｃｏｖｅｒｙ  Ｑｕｅｒｙ（以下、ＳＤ  Ｑｕｅｒｙ）である。また、応答信号とは、例えばＷｉ−Ｆｉ  Ｄｉｒｅｃｔで規定されたＳｅｒｖｉｃｅ  Ｄｉｓｃｏｖｅｒｙ  Ｒｅｓｐｏｎｓｅ（以下、ＳＤ  Ｒｅｓｐｏｎｓｅ）であり、プリンタ１０１が提供する全てのサービス情報が含まれている。また、ここでは、プリンタ１０１が提供するサービス情報として、IPP、PictBridge、DLNA（登録商標）等、種々の印刷サービスがある。これらのサービスは、第２のサービス部３０８により提供され、各々を第２のサービスと呼ぶ。
【００２７】
その後、プリンタ１０１の接続部３０７とカメラ１０２の接続部３５７は、たとえばＷｉ−Ｆｉ  Ｄｉｒｅｃｔで規定された所定の接続手順に従って接続処理を行う。まず、接続部３０７と接続部３５７は、プリンタ１０１とカメラ１０２のいずれが無線ＬＡＮアクセスポイント（基地局）として動作し、いずれが無線ＬＡＮクライアント（端末）として動作するかを決定する。
【００２８】
無線ＬＡＮアクセスポイントとして動作する装置をＷｉ−Ｆｉ  ＤｉｒｅｃｔではＧｒｏｕｐ  Ｏｗｎｅｒ（以下、ＧＯ）と呼び、無線ＬＡＮクライアントとして動作する装置をＣｌｉｅｎｔ（以下、ＣＬ）と呼ぶ。カメラ１０２の接続部３５７は、ステップＳ４５４において、プリンタ１０１にＧＯを決定するためのＧＯ決定信号としてのＧＯ  Ｎｅｇｏｔｉａｔｉｏｎ  Ｒｅｑｕｅｓｔを送信する。ここでＧＯ決定信号の送信元装置であるカメラ１０２は、第１のサービスを提供することが可能であり、第１のサービスに関する情報をＧＯ決定信号に含めて送信する。一方で、該第１のサービスを提供しない装置は、ＧＯ決定信号中に第１のサービスを提供可能であることを示す情報を含めずに送信する。なお、これに代えて、該第１のサービスを提供しない装置がＧＯ決定信号中に該第１のサービスを提供しないことを示す情報を含めて送信するようにしてもよい。
【００２９】
ステップＳ４０７で、プリンタ１０１の接続部３０７が上述のＧＯ決定信号を受信する。ステップＳ４０８において、第１のサービス部３０２の判定部３０５は、受信したＧＯ決定信号に第１のサービスに関連する情報が含まれているか否かに応じて、第１のサービスを提供可能であるか否かを送信元の装置と関連付けて記憶部２０１に記憶する。図５（ａ）に、記憶部２０１に記憶される情報のテーブルを示す。
【００３０】
続いて、ステップＳ４０９において、プリンタ１０１の接続部３０７は、受信したＧＯ決定信号に対してＧＯを決定するためのＧＯ決定応答信号、ＧＯ  Ｎｅｇｏｔｉａｔｉｏｎ  Ｒｅｓｐｏｎｓｅを送信する。ここで、第１のサービス部３０２は、このＧＯ決定応答信号に、プリンタ１０１が第１のサービスを提供可能であることを示す情報を含める。したがって、接続部３０７が送信するＧＯ決定応答信号には、第１のサービスを提供可能であるかを示す情報が含まれることになる。第１のサービスを提供可能なカメラ１０２では、ステップＳ４５５において接続部３５７がＧＯ決定応答信号を受信すると、ステップＳ４５６において第１のサービス部３５２が受信したＧＯ決定応答信号から第１のサービスを提供可能かどうか判定する。そして、その判定結果を、記憶部２１１に格納する。
【００３１】
また、カメラ１０２は、プリンタ１０１からＧＯ決定応答信号を受信すると、ステップＳ４５７においてカメラ１０２とプリンタ１０１のいずれがＧＯになるかを決定し、その結果をＧＯ決定確認信号としてプリンタ１０１へ送信する。接続部３５７は、この決定にしたがって自身をＧＯまたはＣＬのいずれかに設定し、ステップＳ４５８の接続処理を開始する。ここで、ＧＯ決定確認信号とは、たとえば、ＧＯ  Ｎｅｇｏｔｉａｔｉｏｎ  Ｃｏｎｆｉｒｍである。プリンタ１０１の接続部３０７は、ステップＳ４１０でＧＯ決定確認信号を受信すると、その信号にしたがって自身をＧＯまたはＣＬのいずれかに設定し、ステップＳ４１１の接続処理を開始する。
【００３２】
以下、プリンタ１０１とカメラ１０２との間で実行される接続確立処理（ステップＳ４１１とステップＳ４５８）について図６を参照して説明する。本実施形態では、たとえばＷｉ−Ｆｉ  Ｄｉｒｅｃｔで規定された所定の接続手順にしたがって、接続確立処理が実行される。なお、かかる接続確立手順に対応したプログラムも記憶部２０１、記憶部２１１に記憶され、制御部２０２，２１２により実行される。
【００３３】
ＧＯとなった装置では、処理がステップＳ６０１からステップＳ６０２へ進む。ステップＳ６０２において、ＧＯとなった装置は、自装置が生成する無線ネットワークで用いられる通信パラメータを提供するＲｅｇｉｓｔｒａｒとして動作するよう設定され、ステップＳ６０３において、通信相手装置に対して通信パラメータを提供する。ここで、自装置が生成する無線ネットワークで用いられる通信パラメータには、ＳＳＩＤ（ネットワーク識別子）、暗号鍵、暗号方式、認証鍵、認証方式、周波数チャネルが含まれる。また、ＲｅｇｉｓｔｒａｒとはＷＰＳ（Ｗｉ−Ｆｉ  Ｐｒｏｔｅｃｔｅｄ  Ｓｅｔｕｐ）により規定された通信パラメータ提供装置を示す。そして、ＧＯとなった装置は、ステップＳ６０４において、通信相手装置から接続要求信号を受信する。ここで、接続要求信号とは、たとえば、ＩＥＥＥ８０２．１１シリーズで規定されたＡｓｓｏｃｉａｔｉｏｎ  Ｒｅｑｕｅｓｔ信号である。更に、ＧＯとなった装置は、ステップＳ６０５において、ＩＰアドレスを提供するＤＨＣＰサーバとして動作し、通信相手装置のＩＰアドレスを決定し、ステップＳ６０６において、決定されたＩＰアドレスを相手装置に提供する。
【００３４】
一方、ＣＬとなった装置では、処理はステップＳ６０１からステップＳ６０７へ進む。ステップＳ６０７において、ＣＬとなった装置は、Ｒｅｇｉｓｔｒａｒとして動作しているＧＯから通信パラメータを取得するＥｎｒｏｌｌｅｅとして動作するよう設定され、ステップＳ６０８において、Ｒｅｇｉｓｔｒａｒから通信パラメータを受信する。そして、ステップＳ６０９において、ＣＬとなった装置は、取得した通信パラメータに基づいてＩＥＥＥ８０２．１１シリーズで規定された接続要求信号を送信し、ＧＯが生成した無線ネットワークに接続する。更に、ＣＬとなった装置は、ステップＳ６１０において、ＩＰアドレスを取得するＤＨＣＰクラアントとして動作し、ステップＳ６１１においてＤＨＣＰサーバからＩＰアドレスを取得する。
【００３５】
プリンタ１０１の接続部３０７とカメラ１０２の接続部３５７が図６に示す接続確立処理を実行することで、プリンタ１０１とカメラ１０２との無線接続が確立される。無線接続の確立が完了すると、ステップＳ４１２で、ロック部３０３はプリンタ１０１の通信部２０４が他の通信装置のカメラとの通信に専用に利用可能であり、ＴＣＰで規定された全てのポート（ウエルノウウンポートを除くポート）をロックする。ここで、ＴＣＰはＴｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌの略である。
【００３６】
接続部３０７により、記憶部２０１のテーブルには、各ポートのロック状態（ロックされているのか、ロックされていないのか）が書き込まれる。すなわち、ロック部３０３は記憶部２０１に図５（ｂ）のようにポート情報とポートのロック状態、またはアンロック状態とを示す情報とを関連付けて記憶させる。なお、図５（ｂ）では、代表的な３つのポートを例示しているが、これに限らず、もっと多くのポートが用意されているのが一般的である。このようにポートをロックすることで、意図しない相手からアクセスされる可能性を低減することができる。従って、プリンタ１０１の処理負荷が不必要に大きくなる可能性を低減させることができると共に、セキュリティを向上させることができる。
【００３７】
ステップＳ４１３で、判定部３０５は、接続された他の通信装置であるカメラ１０２が第１のサービスを提供可能であるか否かを判定する。該判定は、ステップＳ４０８において判定部３０５が記憶部２０１に記憶した第１のサービスに関連する情報を読み出すことで行われる。ここでは、接続したカメラ１０２は第１のサービスを提供可能であるので、ステップＳ４１６に進む。ステップＳ４１６において解除部３１１は、カメラ１０２とサービスで利用するポートの情報に関して問い合わせを実施、または通知を行うことでカメラ１０２とポート情報を共有し、共有した情報に基づいて当該ポートのロックを解除する）。解除部３１１は、ロックしたポートのロック状態を示す情報を図５（ｃ）に示すようにロック状態からアンロック状態（開放された状態）に変更して記憶部２０１に記憶させる。なお、ここではサービスで利用するポートがｘｘｘであったものとして図示している。
【００３８】
なお、サービスで利用するポートを共有するために行われる、ポートの情報に関する問い合わせや通知は、第１のサービス部３０２，３５２が特定のポートを用いて行う。ここで、特定のポートは、第１のサービスに関して予め定められたポートであってもよいし、ステップＳ４０８で格納される第１のサービスに関連した情報において指定されてもよい。
【００３９】
その後、プリンタ１０１のサービス情報提供部３１２は、ステップＳ４１７で、サービス情報提供部３１２は、たとえばＵＰｎＰ（Ｕｎｉｖｅｒｓａｌ  Ｐｌｕｇ  ａｎｄ  Ｐｌａｙ）もしくはｍＤＮＳ（ｍｕｌｔｉｃａｓｔ  ＤＮＳ）に準拠したサービス情報の報知を行う。また、カメラ１０２よりＵＰｎＰもしくはｍＤＮＳに準拠したサービスの問い合わせがあった場合はこれに応答する。
【００４０】
ステップＳ４１８で、第２のサービス部３０８は接続したカメラ１０２の第３のサービス部３５８と協働して第２のサービス処理を実行する。例えば、第２のサービス部３０８はカメラ１０２から画像データを受信し、受信した画像データの印刷処理を行う。その後、所定のサービス処理が完了すると、ステップＳ４１９で、切断部３０９はカメラ１０２と切断し、処理を完了させる。
【００４１】
カメラ１０２では、ステップＳ４５８による接続確立処理を終えると、プリンタ１０１と協働して上述した第２のサービス処理を実行するために、図４ＡのステップＳ４１２〜Ｓ４１９と同様の処理を実行する。すなわち、プリンタ１０１との通信に専用に用いることのできる全ポートをロックし（ステップＳ４１２）、ステップＳ４５６で記憶した情報に基づいてプリンタ１０１が第１のサービスを提供可能か否かを判定する（ステップＳ４１３）。プリンタ１０１が第１のサービスを提供可能であれば、カメラ１０２では、解除部３６１が、必要なポートをプリンタ１０１と共有するべく開放する（ステップＳ４１６）。そして、サービス情報取得部３６２が、たとえばＵＰｎＰもしくはｍＤＮＳに準拠したサービス情報をプリンタ１０１より取得する（ステップＳ４１７）。このような処理によりカメラ１０２はプリンタ１０１が第２の所定のサービスを開始している旨を把握し、そのサービスを利用することができる。
【００４２】
次に、ユーザが第１のサービスを提供しないカメラ１０３を使用する場合について説明する。プリンタ１０１の処理において、カメラ１０３とプリンタ１０１とが無線接続され、全ポートがロックされるまでの処理（ステップＳ４１２までの処理）は、カメラ１０２と接続される場合と同様である。但し、カメラ１０３から受信されるＧＯ決定信号には第１のサービスを提供可能であることを示す情報は含まれておらず、記憶部２０１に第１のサービスに関連する情報は記憶されない。カメラ１０３では、図４Ｂのフローチャートに示した処理のうち、第１のサービス部３５２に関わる処理は実行されない。
【００４３】
ステップＳ４１３で、判定部３０５は、接続されたカメラが第１のサービスを提供可能であるか否かを判定する。該判定は、判定部３０５が記憶部２０１に記憶された情報を読み出すことで行われる。ここでは、第１の所定のサービスに関連する情報が記憶されておらず、ユーザにより選択されたカメラ１０３は第１のサービスを提供しないと判定され、処理はステップＳ４１４に進む。
【００４４】
ステップＳ４１４において、解除部３１１は、ステップＳ４１２においてロックされた全ポートのロックを解除する。また、解除部３１１は、ロックしたポートのロック状態を示す情報を図５（ｄ）に示すように、ロック状態からすべてアンロック状態（解除状態）に変更して記憶部２０１に記憶させる。そして、ステップＳ４１５で、停止部３１０は、ステップＳ４０１において起動した第１のサービス部３０２を停止する。
【００４５】
ステップＳ４１７において、ステップＳ４１４で解除されたポートを介してサービス情報提供部３１２はＵＰｎＰもしくはｍＤＮＳに準拠したサービス情報の報知を行う。カメラ１０３は当該報知情報を検知し、プリンタ１０１に対して詳細なサービス情報を問い合わせることでプリンタ１０１に対して所定のサービスを実行することが可能となる。ステップＳ４１８で、第２のサービス部３０８は接続したカメラ１０３と協働して所定のサービス処理を実行する。その後、所定のサービス処理が完了すると、ステップＳ４１９で切断部３０９はカメラ１０３と切断し、処理を完了させる。
【００４６】
このようにして、通信装置（例えばプリンタ）は他の通信装置（例えばカメラ）と接続処理が行われるより前に、当該他の通信装置が所定のサービスを実行可能であるかを示す情報を受信する。そして、受信した情報に基づいて他の通信装置との通信に用いるポートの共有を制御する。これにより、接続処理前に得た所定のサービスを実行可能であるか否かの情報に基づいてポートのロック、解除（アンロック）が制御されるので、接続性を担保しつつセキュリティを高めることができる。また、第１のサービス部３０２，３５２はそれぞれアプリケーションとして提供可能である。そのため、サービスディスカバリ機能を利用できないような通信システムであっても、第１のサービス部３０２，３５２をインストールし実行することにより接続性とセキュリティを維持することが可能となる。
【００４７】
なお、上述の実施形態では、通信装置をプリンタ、他の通信装置をカメラとして説明したが、これに限らず、通信装置を、撮像部を有し、撮像部により撮像された画像データをプリンタに送信可能なカメラ、他の通信装置をプリンタとしてもよい。また、カメラとプリンタの組み合わせに限らず、スマートフォン、ＰＣ、ＰＤＡ、ストレージ等のいかなる組み合わせに対しても適用可能である。
【００４８】
また、上述の実施形態においては、第１のサービスの起動に応じてポートをロックした。これにより、意図しない相手からアクセスされる可能性を低減することができる。従って、プリンタ１０１の処理負荷が不必要に大きくなる可能性を低減させることができると共に、セキュリティを向上させることができる。
【００４９】
また、接続処理を行う前のＧＯを決定する処理の中で、第１のサービスを提供可能な通信装置と提供しない通信装置とを区別することができる。そして、第１のサービスを提供しない装置と接続する場合には第１のサービスの起動に応じてロックしたポートを解除（アンロック）するので、接続性を担保することができる。
【００５０】
＜他の実施形態＞
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００５１】
１０１：プリンタ、１０２，１０３：カメラ、２０１，２１１：記憶部、２０２，２１２：制御部、２０３，２１３：ＵＩ部、２０４，２１４：通信部、２０５，２１５：アンテナ、２０６，２１６：電源部、２０７：プリント部、２１７：撮像部
【図１】
2015220602.tif 000003
【図２】
2015220602.tif 000004
【図３Ａ】
2015220602.tif 000005
【図３Ｂ】
2015220602.tif 000006
【図４Ａ】
2015220602.tif 000007
【図４Ｂ】
2015220602.tif 000008
【図５】
2015220602.tif 000009
【図６】
2015220602.tif 000010