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