添付図面に従って本実施形態を説明する。以下では、NAN規格に準拠した無線LANシステムを用いた例について説明する。NANでは、サービス情報をDiscovery Window(以降、DWと称す)と呼ばれる期間に通信する。DWは、NANを実行する複数のデバイスが、convergeする時間およびチャネルである。また、DWのスケジュールを共有している端末の集合をNANクラスタと呼ぶ。
NANクラスタに属する各端末は、Master、Non-Master Sync及びNon-Master Non-Syncのうちの何れかの役割で動作する。Masterとして動作する端末は、各端末がDWを識別し、同期するためのビーコンであるSynchronization Beacon(以降、Sync Beaconと称す)を送信する。また、Masterとして動作する端末は、NANクラスタに属していない端末に当該NANクラスタを認識させるための信号であるDiscovery Beaconを送信する。Discovery Beaconは、例えば100msごとに、DWの期間外で送信される。なお、各NANクラスタにおいて、少なくとも1台の端末は、Masterとして動作する。
Non-Master Syncとして動作する端末は、Sync Beaconを送信するが、Discovery Beaconは送信しない。Non-Master Non-Syncとして動作する端末は、Sync BeaconもDiscovery Beaconも送信しない。
NANクラスタに参加する端末は、Sync Beaconに従って、所定周期毎のDW期間に同期し、DW期間においてサービス情報を通信する。
各端末は、DW期間にサービスを発見するための信号であるSubscribeメッセージや、サービスを提供していることを通知するための信号であるPublishメッセージを互いに通信する。更に、各端末は、DW期間にサービスに関する追加情報を交換するためのFollow-upメッセージをやりとりすることができる。なお、Publish、Subscribe、Follow-upといったメッセージを、総称してService Discovery Frame(SDF)と呼ぶ。各端末は、SDFをやりとりすることで、サービスの広告または検出を行うことができる。
本実施形態における通信システムのネットワーク構成例を図1に示す。端末101、102及び103は、NAN規格に則った無線通信を行う通信装置である。端末101~103はNAN規格に基づいて、周囲の通信装置およびそれらが提供するサービスを発見、提供することができる。端末101~103はNANクラスタ104に参加している。NANクラスタ104に参加している各端末は、2.4GHzの周波数帯域の6ch(2.437GHz)で通信する。NANクラスタ104において、512TU(Time Unit)毎に16TUのDWが設けられる。即ち、NANクラスタ104において、512TUごとに繰り返し、16TUのDWが設けられる。NANクラスタ104に参加する端末は、DWにおいて送受されるSync Beaconにより、DWのスケジュールを同期する。なお、1TUは、1024μsecである。各DW期間にNANクラスタ104に属する各端末は、SDFにより、サービス情報を通信する。 端末101は、NANクラスタ104において、Non-Master Non-Syncとして動作する。また、端末101は、NANクラスタに参加している他の装置が提供するサービスを探索するためのSubscribeメッセージを送信するSubscriberとして動作する。
端末102は、NANクラスタ104において、Masterとして動作する。端末103はNANクラスタ104において、Non-Master Non-Syncとして動作する。本実施形態において、端末102及び103は、Subscribeメッセージに応答して、所定のサービスを提供していることや所定のサービスに関する情報を他の端末に通知するPublisherである。
また、端末101、102及び103は、DW期間において無線通信可能なアウェイク状態として動作し、それ以外の期間では、無線通信が可能ではない状態であり、アウェイク状態より消費電力が少ないスリープ状態として動作する。なお、Masterとして動作する端末102は、Discovery Beaconを送信するタイミングでは、DW期間外であってもアウェイク状態として動作する。
なお、端末101~103の夫々が他の役割として動作してもよい。
続いて、端末101~103のハードウェア構成を、図2を用いて説明する。図2は、通信装置200(端末101~103)のハードウェア構成を示す図である。
記憶部201はROMやRAM等のメモリにより構成され、後述する各種動作を行うためのプログラムや、無線通信のための通信パラメータ等の各種情報を記憶する。なお、記憶部201として、ROM、RAM等のメモリの他に、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD-ROM、CD-R、磁気テープ、不揮発性のメモリカード、DVDなどの記憶媒体を用いてもよい。また、記憶部201が複数のメモリ等を備えていてもよい。
制御部202はCPUやMPU等のプロセッサにより構成され、記憶部201に記憶されたプログラムを実行することにより通信装置200全体を制御する。また、制御部202がマルチコア等の複数のプロセッサを備え、複数のプロセッサにより通信装置200全体を制御するようにしてもよい。
また、制御部202は、機能部203を制御して、撮像や印刷、投影等の所定の処理を実行する。機能部203は、通信装置200が所定の処理を実行するためのハードウェアである。例えば、通信装置200がカメラである場合、機能部203は撮像部であり、撮像処理を行う。また、例えば、通信装置200がプリンタである場合、機能部203は印刷部であり、印刷処理を行う。また、例えば、通信装置200がプロジェクタである場合、機能部203は投影部であり、投影処理を行う。機能部203が処理するデータは、記憶部201に記憶されているデータであってもよいし、後述する通信部206を介して他の通信装置と通信したデータであってもよい。
入力部204は、ユーザからの各種操作の受付を行う。出力部205は、ユーザに対して各種出力を行う。ここで、出力部205による出力とは、画面上への表示や、スピーカーによる音声出力、振動出力等の少なくとも1つを含む。なお、タッチパネルのように入力部204と出力部205の両方を1つのモジュールで実現するようにしてもよい。出力部205は、表示による出力を行う場合、例えばLCDやLEDにより構成され、ユーザが視覚で認知可能な情報を出力し、各種UIの表示制御を行う。
通信部206は、IEEE(Institute of Electrical and Electronic Engineers)802.11シリーズに準拠した通信を行うためのチップにより構成される。通信部206は、無線通信の制御や、IP通信の制御を行う。また、通信部206はアンテナ207を制御して、無線通信のための無線信号の送受信を行う。通信装置200は通信部206を介して、画像データや文書データ、映像データ等のコンテンツを他の通信装置と通信する。
以上の構成を有する通信システムの動作を説明する。本実施形態の各端末は、所定値より大きいサイズのフィールドを有するSDFを送信する際に、当該フレームをDW期間外に送信することでDW期間内での帯域の占有を防ぐ。更に、本実施形態の各端末は、DW期間外にサイズの大きいフレームを送信することをDW期間内に通知することで、他の装置にDW期間外で通信を行うことを認識させる。
通信装置200(端末101~103)がサービスを発見するためのSDFを送信する際の処理の流れを示すフローチャートを図3に示す。図3に示すフローチャートは、通信装置200のユーザからサービス検索の開始を指示された場合に開始される。なお、図3に示すフローチャートは、通信装置200の制御部202が記憶部201に記憶されている制御プログラムを実行し、情報の演算および加工及び各ハードウェアの制御を実行することにより実現される。なお、図3に示すフローチャートに示すステップの一部または全部を例えばASIC等のハードウェアで実現する構成としても良い。
通信装置200は、入力部204によりサービス検索指示を受け付けたか否かを判定する(S300)。S300においてサービス検索指示を受け付けた場合、通信装置200は、NANクラスタ104のDW期間となるまで待機する(S301)。次に、通信装置200は、送信するSDFのService Infoのデータサイズが所定値より大きいか否かを判定する(S302)。S302における判定は、例えば、Service Infoのサイズが255bytesを越えるか否かを判断することにより行われる(S302)。
Service Infoとは、NAN規格で規定されたSDFのフィールドである。Service Infoには、サービスの情報を含めることができる。例えば、SubscribeメッセージのService Infoに、検索したいサービスの詳細情報を含めることができる。
Service Infoには、例えば、プリントサービスに関する情報として、用紙サイズまたは印刷時の色情報(グレースケール印刷またはカラー印刷)などを含めることができる。通信装置200は、Service Infoに詳細情報を含めることで、所望とする用紙のサイズ及び印刷時の色情報(グレースケール印刷、カラー印刷)により印刷するプリントサービスを提供可能なプリンタを検索することができる。
また、Service Infoには、例えば、写真共有サービスに関する情報として、画像サイズ、解像度、位置情報、画像データの名称又は日時などの情報を含めておくことで、所望とする写真を保持する他の装置のみを検索することができる。
S302における判定は、S300において、ユーザから検索条件の入力項目に応じて結果が変わるものとしてもよい。例えば、S300において、ユーザから検索条件として、プリントサービス、用紙サイズの指定及び印刷時の色情報が入力された場合、S302において、通信装置200は、Service Infoのサイズが所定値より大きいと判定する。また、S300において、ユーザから検索条件として、プリントサービスのみが入力された場合、S302において、通信装置200は、Service Infoのサイズが所定値より大きくないと判定する。NAN規格ではService Infoの長さは255bytesまでと規定されており、また、Service Infoの長さを示すService Info Lengthフィールドでは、255bytesより大きいサイズを示すことができない。そのため、本実施形態では、256bytes以上のService Infoを送信する際のSDFを新たに定義する。
256bytes以上のService Infoを送信する際のSDFのフレーム構成の一例を図4に示す。SDFはIEEE802.11のPublic Action Frameを用いる。SDFには、OUIやOUI TypeにNANのSDFはであることを示す値が含まれる。SDFは、NANで規定される情報を含めるためのNAN Attributeを一つ以上有する。本実施形態において、NAN AttributesであるNAN Service Descriptor Attributes(NAN SDA)を拡張してService Infoを通信する。本実施形態において、拡張したNAN SDAを、NAN Extended SDA(NAN ESDA)と称する。
NAN ESDAは、NAN SDAのService Info Lengthおよび Service Infoの代わりに、Long Service Info LengthおよびLong Service Infoのフィールドを有する。Long Service Info Lengthのフィールドは、2bytesの情報を持つことができ、255bytesを越えるService Infoのサイズを示すことができる。Long Service Infoでは、255bytesを越える長さの情報を持つことができるが、本実施形態では0bytesから1500bytesまでの情報と持つこととする。
図4ではNAN Attributesとして、Extended Service Descriptor Attributeのみを図示しているが、これ以外にもサービスの発見・検出などに必要な情報も付与してよい。
なお、S302において、通信装置200は、Service Infoのサイズが所定値より大きいか否かを判定するものとしたが、SDFの他のフィールドの情報のサイズが所定値より大きいか否かを判定してもよい。また、S302において、通信装置200は、SDF全体のサイズが所定値より大きいか否かを判定してもよい。この場合、例えば、SDFの長さが1000bytesを超えるか否かを判定するようにしてもよい。また、S302における判定は、DW期間となってから行われることを示したが、DW期間になる前に行われてもよい。この場合、通信装置200は、後述するS303またはS305を実行する際にDW期間となるまで待機する。
S302において、Service Infoのサイズが所定値(例えば、255bytes)を越えないと判定された場合、通信装置200は、DW期間内にこのService Infoを含むSDFを送信する(S305)。
一方、S302において、Service Infoのサイズが所定値(例えば、255bytes)を越えると判定された場合、通信装置200は、DW期間外にSDFを送信することを通知するメッセージを、参加するNANクラスタ104の他の装置にDW期間内に送信する(S303)。
S303において送信される、DW期間外にSDFを送信することを通知するメッセージを、DW期間外送信通知フレームと以降では呼ぶ。DW期間外送信通知フレームを、図5にて説明する。
図5は、DW期間外送信通知フレームのフレーム構成の一例を示す。DW期間外送信通知フレームは、SDFの種別を示すフィールドであるService Control TypeにおいてPublish、SubscribeおよびFollow-upとは異なる値を有する。なお、本実施形態において、DW期間外送信通知フレームのService Control Typeの値は、0b11であるものとする。なお、DW期間外送信通知フレームは、Subscribeメッセージ、PublishメッセージまたはFollow-upメッセージであってもよい。
また、DW期間外送信通知フレームには、DW期間外でのSDF送信タイミングを示す情報が含まれていてもよい。
なお、DW期間外でのSDF送信タイミングは、DW期間終了後の特定時間経過後に行われてもよい。例えば、DW期間外送信通知フレームを送信した通信装置200は、本フレームを送信したDW期間が終了したタイミングから100TU(=100×1024μsec)から150TUの間に、SDFを送信するようにしてもよい。この場合、本フレームを受信した装置は、本フレームを受信したDW期間の終了から100TUから150TUの区間でフレームが送信されることを認識し、当該区間でフレームを受信するようにする。DW期間外でのSDF送信タイミングを、DW期間終了後の特定時間経過後に行う場合、DW期間外でのSDF送信タイミングを示す情報をDW期間外送信通知フレームに含めなくてもよい。
また、DW期間外送信通知フレームには、DW期間外において送信されるSDFの宛先となる端末のアドレスを含まれてもよいし、DW期間外において送信されるSDFを通信する周波数帯域を示すチャネル情報が含まれてもよい。
図5ではNAN Attributesとして、Service Descriptor Attributeのみを図示しているが、これ以外にもサービスの発見・検出などに必要な情報も付与してよい。
図3に説明を戻す。通信装置200は、S303においてDW期間外送信通知フレームを送信すると、DW期間外での送信タイミングまで待機する(S304)。DW期間外での送信タイミングになると、通信装置200は、Service Infoが255bytesを越えるSDFを送信する(S305)。なお、S305において送信されるSDFは、Subscribeメッセージであってもよいし、Follow-upメッセージであってもよい。
なお、DW期間外においてSDFを受信した装置は、受信したSDFに対する応答をDW期間外において送信してもよい。したがって、通信装置200は、DW期間外においてSDFを送信した場合、このSDFに対する応答をDW期間外において待ち受けるようにしてもよい。
続いて、通信装置200(端末101~103)が、サービスを発見するためのSDFを受信した場合に、応答メッセージであるSDFを送信する際の処理の流れを示すフローチャートを図7に示す。図7に示すフローチャートは、通信装置200は、サービスを発見するためのSDFを受信した場合に開始される。なお、図7に示すフローチャートは、通信装置200の制御部202が記憶部201に記憶されている制御プログラムを実行し、情報の演算および加工、各ハードウェアの制御を実行することにより実現される。なお、図3に示すフローチャートに示すステップの一部または全部を例えばASIC等のハードウェアで実現する構成としても良い。
通信装置200は、サービスを検索するためのSDFを受信したか否かを判定する(S3300)。S3300において受信されるSDFは、例えば、Subscribeメッセージである。S3300においてサービスを検索するためのSDFを受信した通信装置200は、受信したSDFにおいて検索対象であるサービスを実行可能であるか否かを判定する(S3301)。
受信したSDFにおいて検索対象であるサービスを実行可能でない場合、通信装置200は、処理を終了する。一方、受信したSDFにおいて検索対象であるサービスを実行可能である場合、通信装置200は、送信する応答メッセージのサイズが所定値を上回るか否かを判定する(S3302)。S3302における判定は、例えば、Service Infoのサイズが255bytesを越えるか否かを判断することにより行われる。
S3302における判定は、例えば、応答メッセージに、プリントサービスに関する情報として、用紙サイズまたは印刷時の色情報(グレースケール印刷またはカラー印刷)などの詳細情報を含めるか否かに応じて行われる。
また、S3302における判定は、S3000において受信したSDFに応じて結果が変わるものとしてもよい。例えば、S3000において受信したSDFにより、サービス検索条件として、プリントサービス、用紙サイズの指定及び印刷時の色情報等の詳細情報が要求された場合、S3302において、通信装置200は、所定値より大きいSDFを送信すると判定する。また、S3000において受信したSDFにより、サービス検索条件として、詳細情報が要求されていない場合、S3302において、通信装置200は、所定値よりサイズが小さいSDFを送信と判定する。
なお、S3302において、通信装置200は、SDFの他のフィールドの情報のサイズが所定値より大きいか否かを判定してもよい。
S3302において、応答メッセージのサイズが所定値を越えないと判定された場合、通信装置200は、DW期間内に応答メッセージであるSDFを送信する(3S305)。
一方、応答メッセージのサイズが所定値を越えると判定された場合、通信装置200は、DW期間外にSDFを送信することを通知するメッセージであるDW期間外送信通知フレームをDW期間内に、応答メッセージの送信先に送信する(S3303)。
通信装置200は、S3303においてDW期間外送信通知フレームを送信すると、DW期間外での送信タイミングまで待機する(S3304)。DW期間外での送信タイミングになると、通信装置200は、所定のサイズを上回る応答メッセージであるSDFを送信する(S3305)。なお、S3305において送信されるSDFは、Publishメッセージであってもよいし、Follow-upメッセージであってもよい。
続いて、本実施形態における通信システムのシーケンスを、図6を用いて説明する。図6(a)は、DW期間においてSDFをやり取りする場合のシーケンスチャートである。図6(a)において、端末101はユーザ操作によりサービスを発見するためにサービス検索指示が入力され、Subscribeメッセージ送信要求がなされたとする(S601)。端末101は、DW期間まで待機する。DW期間になるとNANクラスタ104のMasterである端末102はSync Beaconを送信する(S602)。Sync Beaconは、NAN規格に則ったフレームであり、NANクラスタ104に参加している端末が同期するため信号である。Sync Beaconには、DWを示す時刻情報やNANクラスタを識別する情報が含まれる。
端末101はSync Beaconを受信し、DW期間であることを認識すると、サービスを発見するためにSubscribeメッセージを送信する(S603)。このとき、Subscribeメッセージに含まれるService Infoは所定値(例えば、255bytes)以内であるとする。そのため、S603において、端末101は、DW期間内にSubscribeメッセージを送信する。
端末103は端末101が要求しているサービスを実行可能であるため、サービスを実行可能であることを通知するためにPublishメッセージを送信する(S604)。なお、端末102は、端末101が要求しているサービスを実行可能ではないため、受信した端末101からのSubscribeメッセージに対して応答しない。
端末101は端末103からのPublishメッセージを受信すると、当該サービスを実行するための通信を行ってもよいが、図6における説明では省略する。なお、サービスを実行するために端末101と端末103とは、例えば、Wi-Fi Direct(登録商標)を用いてサービスを実行するための無線ネットワークを別途形成してもよい。
端末101~103は、DW期間が終了すると、サービス情報であるSDFの通信を制限する。そして、再びDW期間になると、Masterである端末102はSync Beaconを送信する(S605)。
続いてDW期間外においてSDFをやり取りする場合のシーケンスの一例を、図6(b)を用いて説明する。図6(b)のS611~S614は、図6(a)のS601~S604と同様のため説明は省略する。
端末101は、Publishメッセージを端末103から受信すると、サービスの詳細情報を要求するためにSDFであるFollow-upメッセージを送信しようとする。このとき、送信するFollow-upメッセージのService Infoは。255bytesを越えるものとする。
端末101はService Infoが255bytesを越えるSDFを送信するため、DW期間外にSDFを送信することを決定する。そのため、端末101は、DW外送信通知フレームを端末103に送信する(S615)。
そして端末101は、DW期間が終了すると、DW外送信通知フレームにより示される送信タイミングまで待機し、詳細情報を要求するためのSDFであるFollow-upメッセージを端末103に送信する(S616)。端末103はサービスの詳細情報を端末101に伝えるためにFollow-upメッセージで応答する(S617)。そして、再びDW期間になると、Masterである端末102はSync Beaconを送信する(S618)。
続いてDW期間外においてSDFをやり取りする場合のシーケンスの他の一例を、図6(c)を用いて説明する。図6(c)において、端末101はユーザ操作によりサービスを発見するために詳細情報を検索対象とするサービス検索指示が入力され、Subscribeメッセージ送信要求がなされたとする(S621)。端末101は、DW期間まで待機する。DW期間になるとNANクラスタ104のMasterである端末102はSync Beaconを送信する(S622)。
端末101はSync Beaconを受信し、DW期間であることを認識すると、サービスを発見するためにSubscribeメッセージを送信することを決定する。このとき、Subscribeメッセージに含まれるService Infoは所定値(例えば、255bytes)を上回る。そのため、端末101は、DW外送信通知フレームを送信する(S623)。
端末102及び103は、DW外送信通知フレームを受信すると、DW期間外でSDFを受信するために、DW外送信通知フレームにより示される送信タイミングでSDFを待ち受ける。端末101は、DW期間が終了すると、DW外送信通知フレームにより示される送信タイミングまで待機し、詳細情報を要求するためのSDFであるSubscribeメッセージを送信する(S624)。端末103は端末101が要求しているサービスを実行可能であるため、サービスを実行可能であることを通知するためにPublishメッセージを送信する(S625)。なお、端末102は、端末101が要求しているサービスを実行可能ではないため、受信した端末101からのSubscribeメッセージに対して応答しない。そして、再びDW期間になると、Masterである端末102はSync Beaconを送信する(S626)。
続いてDW期間外においてSDFをやり取りする場合のシーケンスの他の一例を、図6(d)を用いて説明する。図6(d)において、端末101はユーザ操作によりサービスを発見するためにサービス検索指示が入力され、Subscribeメッセージ送信要求がなされたとする(S631)。端末101は、DW期間まで待機する。DW期間になるとNANクラスタ104のMasterである端末102はSync Beaconを送信する(S632)。
端末101はSync Beaconを受信し、DW期間であることを認識すると、サービスを発見するためにSubscribeメッセージを送信することを決定する。このとき、Subscribeメッセージに含まれるService Infoは所定値(例えば、255bytes)を下回る。そのため、端末101は、DW期間においてSubscribeメッセージを送信する(S633)。
端末103は、Subscribeメッセージを受信すると、端末101が要求しているサービスを実行可能であるため、サービスを実行可能であることを通知するためにPublishメッセージを送信することを決定する。なお、端末102は、端末101が要求しているサービスを実行可能ではないため、受信した端末101からのSubscribeメッセージに対して応答しない。
端末103は、受信したSubscribeメッセージに詳細情報を要求するための情報が含まれているため、送信するPublishメッセージのサイズは所定値を上回る。そのため、端末103は、DW外送信通知フレームを端末101に送信する(S634)。
端末101は、DW期間外でSDFを受信するために、DW外送信通知フレームにより示される送信タイミングでSDFを待ち受ける。端末103は、DW期間が終了すると、DW外送信通知フレームにより示される送信タイミングまで待機し、実行可能なサービスの詳細情報を通知するためのSDFであるPublishメッセージを送信する(S635)。そして、再びDW期間になると、Masterである端末102はSync Beaconを送信する(S636)。
本実施形態では、所定値より大きいサイズのSDFを通信する場合、DW期間外においてこのSDFを通信する。したがって、DW期間において、NANクラスタに参加する一部の装置が帯域を占有してしまうことが低減される。これにより、NANクラスタに参加する他の装置がサービス情報をDW期間に通信できなくなることが低減される。また、NANクラスタのMasterがSync Beaconを送信することができず、NANクラスタの同期が維持できなくなることが低減される。
また、本実施形態では、DW期間外においてこのSDFを通信することをDW期間内に通知する。これによって、通信相手がDW期間外においてSDFが通信されることを認識できるため、通信相手がDW期間においてスリープ状態となり、SDFの通信が実行できなくなることが低減される。
なお、上述の実施形態において、DW期間外においてSDFを通信することをDW外送信通知フレームにより通知したが、例えば、Sync BeaconでDW期間外においてSDFを通信することを通知してもよい。
この際に、参加しているNANクラスタにおける役割がSync Beaconを送信しないNon-Master Non-Syncである場合、通信装置200は、MasterあるいはNon-Master Syncに役割を変更する。Masterに役割を変更するには、通信装置200は、Masterに役割を決定するための優先度であるMaster Preferenceを上げるようにすればよい。
DW期間外においてSDFを通信することを通知するためのSync Beaconフレームは、例えば、情報要素の種別を示すAttribute IDを独自の値(例えば、0x0F)にして構成されてもよい。また、DW期間外においてSDFを通信することを通知するためのSync Beaconフレームは、Attribute IDをVendor Specific Attributeにすることで構成されてもよい。また、Attribute Body FieldにDW期間外におけるSDFの送信タイミングを指定する情報を含めてもよい。また、DW期間外においてSDFを通信することをSync Beaconフレームにより通知する場合、DW期間外におけるSDFの送信タイミングを指定する情報を含めることなく、DW期間後の所定時間経過後にSDFの通信を開始してもよい。
また、DW期間外においてSDFを通信することを通知するためのSync Beaconフレームに、DW期間外において送信されるSDFの宛先となる端末のアドレスを含めるようにしてもよい。また、DW期間外において送信されるSDFを通信する周波数帯域を示すチャネル情報が含まれてもよい。
この場合、例えば、情報要素の種別を示すAttribute IDを独自の値(例えば、0x10)にすることで構成されてもよい。そして、チャネル情報及び送信タイミングを通知するためのフィールドをSync Beaconに別途設けてもよい。
このようにNANクラスタの同期を維持するために必要な同期信号であるSync Beaconに、DW期間外にフレームを送信する際のチャネルおよび時間情報を含めることで、DW期間内で送信されるフレームの数を少なくすることができる。
続いて、DW期間外においてSDFを通信することをSync Beaconフレームにより通知する場合の本実施形態における通信システムのシーケンスを、図8を用いて説明する。図8のS901~S904は、図6(b)のS611~S614と同様のため説明は省略する。
端末101は、Publishメッセージを端末103から受信すると、サービスの詳細情報を要求するためにSDFであるFollow-upメッセージを送信することを決定する。このとき、送信するFollow-upメッセージのService Infoが255bytesを越えるとする。
端末101はService Infoが255bytesを越えるSDFを送信するため、DW期間外にSDFを送信することを決定する。そのため、端末101は、NANクラスタ104での役割を変更する。ここでは、端末101は、Masterに役割を変更する。NAN規格では、役割の変更はDW中では行わず、DW終了後に行うため、端末101は、S904のフレームを受信したときのDW期間ではSync Beaconは送信せずに、次のDW期間まで待つ。そして次のDW期間になるとMasterである端末101と端末102はMasterであるのでSync Beaconを送信する(S906、S907)。このとき、S907において端末101が送信するSync Beaconでは、DW期間外に送信するSDFがあることを通知する情報が含まれている。
以降のS908及びS909は、図6(b)のS616及びS617と同様のため、説明を省略する。
DW期間外に送信するSDFがあることをSync Beaconにより通知するため、DW期間内に送信するフレームを低減し、DW期間内におけるサービス情報の通信を効率的に行うことができる。
なお、通信装置200のNANクラスタでの役割に応じて、通知方法を変更しても良い。すなわち、通信装置200の役割がMasterあるいはNon-Master SyncであればSync BeaconにてDW期間外に送信するフレームがあることを通知するようにしてよい。一方、通信装置200の役割がNon-Master Non-Syncの場合は、DW外送信通知フレームを送信することで、DW期間外に送信するフレームがあることを通知しても良い。
なお、DW期間外に送信するSDFがあることをService Controlフィールドを用いて示すようにしてもよい。図9の例では、Service Controlフィールドに「Present Tx Packet outside DW」フィールドを設け、当該フィールドにおいてDW期間外に送信するSDFの有無を示すことができる。「Present Tx Packet outside DW」フィールドの値が、1の場合は、DW外に送信するフレームがあることを示し、0の場合はDW外に送信するフレームがないことを示す。
更にDW期間外に送信するSDFがある場合には、DW期間外でのSDF送信タイミング及び通信するチャネル情報を含めるフィールドを設けてもよい。図9の例では、「Timing of transmit outside DWフィールド」を設け、当該フィールドにおいてDW期間外でのSDF送信タイミング及び通信するチャネル情報を示すことができる。Timing of transmit outside DWフィールドには、チャネル情報(channel)、DW終了後から何TU(Start Time)経ったタイミングで送信が開始される可能性があるのかを示す情報を含めることができる。また、Timing of transmit outside DWフィールドには、Start Timeから何TU後(Transmit Duration)まで送信される可能性があるのかという情報を含めることができる。
例えば、Timing of transmit outside DWフィールドにおいて、channel=2、Start Time=100、Transmit Duration=50という値が入力されている場合を説明する。この場合、このメッセージが送信されたDW期間終了から100TU後から50TUの間の期間に無線チャネル2chでSDFを通信することを通知することができる。
また、Timing of transmit outside DWフィールドを複数設け、複数のタイミングでDW期間外においてSDFの通信を行うようにしてもよい。
DW期間外の複数の期間を指定できることで、大量のデータを送信する際などに長い期間にわたって連続して帯域を占有してしまうことを防ぐことができる。また、NANで使用される6ch以外のチャネルを指定することができるため、NANクラスタに参加する他の装置の通信を妨げないようにすることができる。
なお、DW期間外で送信するタイミングおよびチャネルをFurther Availability Map AttributeのようにBitmapで示すようにしてもよい。
なお、DW外でフレームを送信する前に、送信側と受信側とでフレームの送信タイミングのネゴシエーションを行った上で、DW外で所定値より大きいサイズのフレームを送信するようにしてもよい。例えば、端末がNANクラスタに参加しているとともに、他の無線ネットワークに参加していると、DW外で他の無線ネットワークでの通信を行う必要があり、送信側と受信側とで送信タイミングのネゴシエーションを行う必要が生じる。
DW外でフレームを送信する前に装置間でフレームの送信タイミングのネゴシエーションを行う場合の通信装置200(端末101~103)の動作を図10に示すフローチャートを用いて説明する。図10に示すフローチャートは、通信装置200が所定値より大きいサイズのSDFを送信することを決定した場合に開始される。なお、図10に示すフローチャートは、通信装置200の制御部202が記憶部201に記憶されている制御プログラムを実行し、情報の演算および加工、各ハードウェアの制御を実行することにより実現される。なお、図10に示すフローチャートに示すステップの一部または全部を例えばASIC等のハードウェアで実現する構成としても良い。
なお、図10に示すフローチャートにおいて、図3に示すフローチャートの処理と同様の処理を行うステップについては、図3と同じ符号を付し、その詳細な説明を省略する。
図10において通信装置200は、DW期間になるまで待機し(S301)、DW期間外送信を通知する(S303)。そして、通信装置200は、通信相手からDW期間外において通信可能な時間を示す送信可能期間の通知を受信したか否かを判定する(S1204)。送信可能期間の通知は、図9に示すフレーム構成と同様であってよい。通信装置200は、通信相手からDW期間外において通信可能な時間を示す送信可能期間の通知を受信しなかった場合、処理を終了する。
一方、通信装置200は、通信相手からDW期間外において通信可能な時間を示す情報を受信した場合、受信した情報と自装置のDW期間外において通信可能な時間とに基づいて、DW期間外においてSDFを送信するか否を判定する(S1205)。
なお、通信装置200が送信するDW期間外送信通知フレームに送信タイミングを指定した情報を含める場合、通信相手は、指定された送信タイミングのうち通信可能な時間を示す情報を送信するようにしてもよい。即ち、この場合、通信装置200は、送信可能期間を受信すると、DW期間外においてSDFを送信すると判定してもよい。
通信装置200は、DW期間外においてSDFを送信しないと判定した場合処理を終了する。一方、DW期間外においてSDFを送信すると判定すると、通信装置200は、DW期間外の送信タイミングまで待機し(S304)、SDFを送信する(S305)。
このように送信側と受信側とでフレームの送信タイミングのネゴシエーションを行うので、より確実にDW期間外においてSDFを通信することができる。
なお、送信側と受信側の両方でタイミングを調整するのではなく、送信側はDW外に送信したいフレームがあることを通知し、受信側が受信するタイミングを決定するようにしてもよい。このとき、受信側は送信側に受信したタイミングを通知するものとする。
なお、所定値よりサイズが大きいSDFを送信する際にマルチキャストまたはブロードキャスト送信を行う場合は、DW期間においてSDFを送信してもよい。所定値よりサイズが大きいSDFをDW期間においてマルチキャストまたはブロードキャスト送信する通信装置200(端末101~103)の動作を図11に示すフローチャートを用いて説明する。図11に示すフローチャートは、通信装置200がSDFを送信することを決定した場合に開始される。なお、図11に示すフローチャートは、通信装置200の制御部202が記憶部201に記憶されている制御プログラムを実行し、情報の演算および加工、各ハードウェアの制御を実行することにより実現される。なお、図11に示すフローチャートに示すステップの一部または全部を例えばASIC等のハードウェアで実現する構成としても良い。
なお、図11に示すフローチャートにおいて、図3に示すフローチャートの処理と同様の処理を行うステップについては、図3と同じ符号を付し、その詳細な説明を省略する。
図11において通信装置200は、DW期間になるまで待機し(S301)、送信するSDFのサイズが所定値より大きいか否かを判定する(S302)。通信装置200は、送信するSDFのサイズが所定値より小さい場合は、DW期間においてSDFを送信する(S305)。一方、通信装置200は、送信するSDFのサイズが所定値より大きい場合は、送信するSDFをユニキャスト送信するか否かを判定する(S1403)。SDFをユニキャスト送信しない場合、即ち、マルチキャストまたはブロードキャストする場合、DW期間においてSDFを送信する(S305)。
マルチキャストやブロードキャストのフレームは、NANクラスタに参加している複数の端末に受信されるべきフレームである。そのため、DW期間外に送信してしまうと、複数の端末がDW期間外で、無線通信ができないスリープ状態より消費電力が大きい状態である、無線通信が可能なアウェイク状態とならなければならない。したがって、マルチキャストやブロードキャストのフレームをDW期間外で送信すると、NANクラスタに参加している複数の端末が、DW期間外でアウェイク状態となるため、NANクラスタ全体としての消費電力が増加する。そのため、マルチキャストやブロードキャストのフレームについては、Service Infoの長さが255bytesを超える場合においてもDW期間で送信することで、NANクラスタ全体としての消費電力の増加を抑制する。
なお、マルチキャストやブロードキャストで所定のサイズより大きいSDFをDW期間で送信する場合、当該送信を行う装置のみがDW期間を占有することを低減するために、情報を分割して所定のサイズより小さいSDFを複数回送信するようにしてもよい。分割して複数のSDFで送信することによって、一つのSDFを送信する度に他の端末と送信機会を競合するため、送信機会の公平性を保つことができる。この場合、通信装置200は、255bytes単位で分割して、複数のService InfoのSDFとして送信する。また、一つのDW期間に全ての情報を送信できなかった場合には、次のDW期間に持ち越して、送信できなかった分の残りのSDFを送信するようにしてもよい。
一方、S1403において、送信するSDFをユニキャスト送信すると判定された場合、通信装置200は、DW期間外送信を通信相手に通知する(S303)。そして、通信装置200は、DW期間外の送信タイミングまで待機し(S304)、SDFを送信する(S305)。
このように、所定値よりサイズが大きいSDFをマルチキャストまたはブロードキャスト送信する場合は、DW期間においてSDFを送信するので、NANクラスタ全体としての消費電力の増加を抑制することができる。
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。