以下、添付の図面を参照して実施形態を詳細に説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は以下の構成に限定されるものではない。
<実施形態1>
図1は、本実施形態に係るNAN(Neighbor Awareness Network)デバイス101が参加するネットワーク構成を示す図である。
本実施形態では、NANデバイス101、102、103は、Wi-Fi NAN規格に準拠した無線通信方式で無線通信を行う。NANデバイスは夫々Wi-Fi NAN規格に準拠した無線通信の他に、Wi-Fi NAN規格以外の他のIEEE802.11シリーズ規格に準拠した無線通信方式で通信を行う。IEEEとは、Institute of Electrical and Electronics Engineers,Incの略である。具体的には、後述のAP(アクセスポイント)104とInfrastructureネットワーク(以下、インフラネットワーク)を介した無線通信を行う。あるいは、Wi-Fi Direct規格に準拠した通信や、Wi-Fi IBSS規格に準拠した通信を行ってもよい。なおIBSSはIndependent Basic Service Setの略である。NANデバイスは、Wi-Fi NAN規格に基づく通信や、他のIEEE802.11シリーズ規格に準拠した無線通信方式による通信に加えて、Bluetooth(登録商標)、UWB、Zigbeeなどの他の無線通信方式に準拠した通信方式を利用してもよい。なお、UWBはUltra Wide Bandの略である。また、UWBには、ワイヤレスUSB、ワイヤレス1394、WiNetなどが含まれる。また、NANデバイスは、Wi-Fi NAN規格に基づく通信や、他のIEEE802.11シリーズ規格に準拠した無線通信方式による通信に加えて、Ethernetなどの有線通信方式に準拠した通信方式も利用してよい。
NANデバイス103は、画像や文書の印刷サービスを提供する印刷装置である。印刷装置とは、具体的にはプリンタやMFP(Multi-Function Peripheral)等である。また、NANデバイス103は、印刷サービスに加えて、あるいは代えて、画面共有サービスなど、他のサービスを提供する提供装置であってもよい。NANデバイス103の具体的な例としては他に、タブレットやディスプレイ、プロジェクタなどが挙げられるが、これらに限定されない。
NANデバイス101は、印刷サービスを提供する装置を検索している携帯端末である。なお、NANデバイス101は、スマホやタブレット、PCなど、他の装置が提供するサービスを検索する通信装置であればよい。具体的な例としては、スマホやタブレット、PC、ヘッドマウントディスプレイなどの通信装置が挙げられるが、これらに限定されない。NANデバイス102は任意の通信装置である。
本実施形態において、NANデバイス101、102、103はNANクラスタ105に参加している。
同じNANクラスタに参加するNANデバイスは、Wi-Fi NAN規格に準拠したNAN Synchronization Beaconの送受信を行う期間を共有している。この信号の送受信を行う期間をDiscovery Window(DW)という。NAN Synchronization Beaconとは、DW中に送信される信号であって、同じNANクラスタに参加する各NANデバイスが同期を取れるようにするための同期信号である。本実施形態においてDWの長さは16TUs(Time Units)であり、また、DWの先頭から次のDWの先頭までは、512TUsの間隔がある。1TUは1024μsである。なお、DWの長さや間隔はこれらに限定されない。
NANクラスタ105に参加するNANデバイス同士は、Wi-Fi NAN規格に準拠したDWにおける無線通信を2.4GHzの周波数帯域の6ch(2.437GHz)で行う。なお、NANクラスタ105内のWi-Fi NAN規格に準拠したDWにおける無線通信の動作チャネルはこれに限定されない。なお、動作チャネルとは無線通信を行う際に使用する無線周波数のことである。
NANクラスタに参加するNANデバイスには、夫々Master、もしくは、Non-Masterという役割が与えられる。Non-Masterの役割が与えられたNANデバイスはSync状態あるいはNon-Sync状態となる。MasterとなったNANデバイスは、NAN Synchronization BeaconをDW中に、NAN Discovery BeaconをDW外に送信する。Non-MasterかつSync状態となったNANデバイスは、NAN Synchronization BeaconをDW中に送信するが、NAN Discovery Beaconは送信しない。Non-MasterかつNon-Sync状態となったNANデバイスは、NAN Synchronization Beaconも、NAN Discovery Beaconも送信しない。
NAN Discovery BeaconはDW外に送信される信号で、自装置が参加するNANクラスタの存在を、他のNANクラスタに参加しているNANデバイスや、NANクラスタに参加していないNANデバイスに報知するための報知信号である。
NANデバイスの役割は、各NANデバイスのMaster Rankによって決定される。Master Rankは、Master Preference、Random Factor、および、NAN Interface Addressに基づいて決定される。Master PreferenceはNANデバイスごとに設定される値であって、Master Preferenceが高いほど、Master Rankが高くなり、そのNANデバイスはNANクラスタにおいてMasterになりやすい。
Master Preferenceの決定方法は任意であるが、例えば商用電源から電力を供給されているNANデバイスや、クロックの安定性が高いNANデバイスについては、Master Preferenceを高く設定してもよい。また、モバイル端末のように移動しながら利用されることが想定されるNANデバイスについては、Master Preferenceを低く設定してもよい。
Random Factorはランダムに設定される値であって、0から255の整数の内、何れか一つがランダムに選ばれる。NAN Interface Addressは、NANデバイスのMACアドレス(Media Access Control address)に基づいた値である。
Master Rankは以下の数式1に基づいて決定される。
(数式1)
Master Rank=Master Preference*2^56+Random Factor*2^48+MAC[5]*2^40+…+MAC[0]
数式1のMAC[0]からMAC[5]は、NANデバイスのMACアドレス(48ビット)を先頭から8ビットずつ区切ったものである。
上記の数式1に基づいて決定されたMaster Rankが高いほど、NANデバイスはNANクラスタにおいてMasterになりやすい。NANクラスタ内で最もMaster Rankが高いNANデバイスがAnchor Masterである。
本実施形態において、NANデバイス102はMasterかつAnchor Masterである。また、NANデバイス101、103はNon-MasterかつNon-Sync状態である。
NANデバイスは参加しているNANクラスタ内の他のNANデバイスが提供するサービスを検索することができる。具体的には、NANデバイスはDW中にSubscribeメッセージを送信する。Subscribeメッセージとは、同じNANクラスタに参加している他のNANデバイスに提供可能なサービスを問合せる問合せ信号である。そして、同じNANクラスタに参加している他のNANデバイスはSubscribeメッセージを受信すると、その応答としてDW中にPublishメッセージを送信する。Publishメッセージとは、自装置が提供可能なサービスを、同じNANクラスタに参加しているNANデバイスに通知する通知信号である。これをSolicited型のサービス検索という。
一方、NANデバイスがSubscribeメッセージを受信することなく自律的にPublishメッセージを送信することも可能である。これをUnsolicited型のサービス検索と呼ぶ。
Solicited型のサービス検索では、Subscribeメッセージを送信するNANデバイスが所望のサービスを指定してサービス検索を行うことができる。Subscribeメッセージを受信したNANデバイスは、指定されたサービスを自装置が提供可能な場合、Publishメッセージを送信する。なお、Subscribeメッセージを送信するNANデバイスは、Subscribeメッセージを送信する際、所望のサービスを指定しないか、あるいはワイルドカードを指定してもよい。その場合、Subscribeメッセージを受信したNANデバイスは、自装置が提供可能な全てのサービスをPublishメッセージで通知する。なおNANデバイスは、自装置において起動しているアプリケーションに対応するサービスや、ユーザからの指示に基づいて決定されたサービスなど、特定のサービスについてのみ通知してもよい。
Unsolicited型のサービス検索では、NANデバイスは自装置が提供可能な全てのサービスをPublishメッセージによって通知する。なおNANデバイスは、自装置において起動しているアプリケーションに対応するサービスや、ユーザからの指示に基づいて決定されたサービスなど、特定のサービスについてのみ通知してもよい。
所定のサービスを検索し、Subscribeメッセージを送信する装置をSubscriber、所定のサービスを提供し、Publishメッセージを送信する装置をPublisherと呼ぶ。
本実施形態において、NANデバイス101は印刷サービスを提供する装置を検索する通信装置であって、Solicited型のサービス検索においてSubscribeメッセージを送信するSubscriberである。また、NANデバイス103は印刷サービスを提供するプリンタであって、Solicited型およびUnsolicited型のサービス検索においてPublishメッセージを送信するPublisherである。
また、NANデバイスは、サービス検索を行う場合、Follow-upメッセージを送受信し、所定のサービスについて追加の情報をやり取りしてもよい。具体的には、Publishメッセージを受信したSubscriberが、あるサービスについて追加の情報がほしい場合、PublisherにFollow-upメッセージを送信することで、所望のサービスについて追加の情報の要求を行う。SubscriberからFollow-upメッセージを受信したPublisherは、Subscriberが要求するサービスについての追加の情報を含めたFollow-upメッセージをSubscriberに送信する。あるいは、PublisherがPublishメッセージを送信した際に、Publishメッセージに含まれるサービスについての追加の情報を含めたFollow-upメッセージをSubscriberに送信してもよい。
なお、NANデバイスは所定のサービスについての追加の情報を、Follow-upメッセージに代えて、あるいは加えて、GASメッセージを利用することでやり取りしてもよい。GASは、Generic Advertisement Serviceの略である。NANデバイスは、サービスを提供する、あるいはサービスを利用するNANデバイスと、後述のNANデータリンクを確立後、GASメッセージを交換し、所定のサービスについて追加の情報をやり取りする。所定のサービスについての追加の情報を、Follow-upメッセージを用いてやり取りするか、あるいはGASメッセージを用いてやり取りするかは、Publisherが決定する。あるいはSubscriberが決定してもよい。
また、サービスを検索しているNANデバイスは、自装置が参加しているNANクラスタにおいてサービス検索を行い、所望のサービスを検出した場合、当該サービスを利用することができる。具体的には、NANデバイスは所望のサービスを提供するNANデバイスとデータリンクを確立し、アプリケーションによるデータ通信を行う。
NANデバイスは、所望のサービスを提供するNANデバイスと、Wi-Fi NAN規格以外の通信規格に準拠した通信を確立することで、所望のサービスを提供するNANデバイスとデータリンクを確立する。そして、NANデバイスは所望のサービスを提供するNANデバイスとデータリンクを確立したことにより、所望のサービスを利用することができる。ここで確立されるWi-Fi NAN規格以外の通信規格に準拠した通信とは、Wi-Fi Direct規格に準拠した通信である。あるいは、Wi-Fi IBSS規格に準拠した通信であってもよいし、インフラネットワークを介した通信であってもよい。また、これらに限らず、Wi-Fi NAN規格以外のIEEE802.11シリーズ規格に準拠した他の無線通信方式で行う通信であってもよい。Wi-Fi NAN規格以外の通信規格に準拠した通信を確立したNANデバイスは、所望のサービスを提供するNANデバイスとデータリンクを確立する。NANデバイスはデータリンクを確立したことにより、所望のサービスを提供するNANデバイスとアプリケーションによるデータ通信を行う。以上により、NANデバイスは所望のサービスを利用することができる。このようにNANデバイスが、サービスを提供するNANデバイスとWi-Fi NAN規格以外の通信規格に準拠した通信を確立し、アプリケーションによるデータ通信を行うことでサービスを利用することをPost NANという。
また、NANデバイスは、Post NANとは異なる方法で、同じNANクラスタに参加するNANデバイスが提供するサービスを利用することができる。具体的には、まずNANデバイスは、同じNANクラスタに参加している他のNANデバイスと、Wi-Fi NAN規格に準拠した通信を介してデータリンクを確立する。そして、NANデバイスは確立したデータリンクを介して、アプリケーションによるデータ通信を行うことで、他のNANデバイスが提供するサービスを利用することができる。このように、NANデバイスがWi-Fi NAN規格に準拠した通信を行う他のNANデバイスと確立するデータリンクをNANデータリンク(NDL、NAN Data Link)という。
SubscriberであるNANデバイスは、PublisherであるNANデバイスから受信したPublishメッセージに基づいて所望のサービスを検出した場合、Publisherにデータ通信要求信号を送信する。なお、Subscriberは、Publishメッセージに基づいて所望のサービスを検出した場合のみに限らず、Publisherから受信したFollow-upメッセージに基づいてPublisherにデータ通信要求信号を送信してもよい。データ通信要求信号は、NDLの開始要求である。データ通信要求信号を受信したPublisherは、応答としてNDLの確立可否を含めたデータ通信応答信号をSubscriberに送信する。データ通信応答信号を受信したSubscriberは、NDLを確立できる場合、データ通信確定信号をPublisherに送信し、PublisherとSubscriberはNDLを確立する。PublisherとNDLを確立したSubscriberはアプリケーションによるデータ通信を行うことで、サービスを利用することができる。なお、NDLによるデータ通信を行う際に使用する動作チャネルや期間は、NDLを確立する際に決定される。NDLによるデータ通信は、DW外で行われる。
あるいは、Subscriberに代わって、Publisherがデータ通信要求信号を送信してもよい。Publisherは、Subscriberから所定のサービスを検索するSubscribeメッセージを受信し、当該所定のサービスを自装置が提供可能な場合、Subscriberにデータ通信要求信号を送信してもよい。この場合、PublisherはSubscriberにPublishメッセージも送信する。あるいは、PublisherはSubscriberからFollow-upメッセージを受信した場合、Subscriberにデータ通信要求信号を送信してもよい。この場合、PublisherはSubscriberに応答としてのFollow-upメッセージも送信する。
また、NANデバイスが他のNANデバイスとNDLを確立しており、既に確立しているNDLの動作チャネルや期間を更新したい場合、スケジュール更新要求信号を送信することでNDLを更新することができる。スケジュール更新要求信号を受信したNANデバイスは、新たな動作チャネルや期間でNDLが行えるか否かを含めたスケジュール更新応答信号を送信する。スケジュール更新応答信号を受信したNANデバイスは、スケジュール更新応答信号に基づき、新たな動作チャネルや期間でNDLを実行できる場合、スケジュール更新確定信号を送信する。その後、NANデバイスは更新した動作チャネルや期間でNDLによるデータ通信を実行する。なお、既に他のNANデバイスとNDLを確立しており、当該他のNANデバイスと更にNDLを確立する場合も、スケジュール更新要求信号を送信することで新たなNDLを確立してもよい。
本実施形態のNANデバイス101、102、103は、NDLによるデータ通信が可能なNANデバイスである。また、本実施形態のNANデバイス101、102、103は、NDLによるデータ通信に加えて、Wi-Fi NAN規格以外のIEEE802.11シリーズ規格に準拠した通信によるデータ通信が可能であってもよい。なお、NDLによるデータ通信は6chを使用して行われるが、NDLの動作チャネルはこれに限らない。NDLの動作チャネルは、DWにおける無線通信の動作チャネルと同じであってもよいし、異なってもよい。また、Wi-Fi NAN規格以外のIEEE802.11シリーズ規格に準拠した通信によるデータ通信は、Post NANによって確立されたものであってもよい。
AP104はIEEE802.11シリーズ規格に準拠した無線通信方式で通信を行う装置であって、アクセスポイントとして動作する。なお、AP104はIEEE802.11シリーズ規格に準拠した無線通信に加えて、Bluetooth、UWB、Zigbeeなどの他の無線通信方式に準拠した通信方式を利用する装置であってもよい。あるいは、Ethernetなどの有線通信方式に準拠した通信方式も利用する装置であってもよい。
本実施形態において、NANデバイス103はWi-Fi NAN規格以外の通信規格に準拠した通信として、AP104とインフラネットワークを介した通信を行う。この場合、NANデバイス103はインフラネットワークのステーション(STA)として動作する。NANデバイス103は、AP104とインフラネットワークを介した通信を行うことで、AP104とデータリンクを確立し、アプリケーションによるデータ通信を行うことができる。本実施形態において、NANデバイス103はAP104との間でファイル共有のためのデータ通信を行うものとする。
なお、NANデバイス103は、AP104とのインフラネットワークを介した通信によるデータ通信に代えて、あるいは加えて、Wi-Fi NAN規格以外のIEEE802.11シリーズ規格に準拠した通信によるデータ通信を行ってもよい。
なお、NANデバイス101、102もAP104とインフラネットワークを介した通信を行ってもよい。
図2は、NANデバイス101の機能構成を示す図である。なお、NANデバイス102、103の機能構成は、NANデバイス101と同様である。
無線LAN制御部201は、他のNANデバイスや、無線通信を行うことができる通信装置との間で行う無線信号の送受信を制御する。無線LAN制御部201は、Wi-Fi NAN規格を含むIEEE802.11シリーズ規格に準拠した無線通信方式による無線通信の制御を行う。
NAN制御部202は、NANデバイス101のWi-Fi NAN規格に準拠した制御や、Wi-Fi NAN規格に準拠した無線通信の開始、終了を制御する。NAN制御部202は、サービス検索の制御も行う。NAN制御部202は、Post NANやNDLを確立する際に無線LAN制御部201を制御する。NAN制御部202は無線LAN制御部201による無線通信を所定の期間、無効にすることで、後述の通信部306が消費する電力を低減し、省電力性を高める。なお、所定の期間とは、DWが終了してから次のDWが開始されるまでである。なお、DW外にNAN Discovery Beaconを送信する場合やNDLによるデータ通信などを行う場合は、当該信号を送信する間やデータ通信を行う間は無線通信を有効にしてもよい。
NANデータリンク制御部203は、NAN制御部202を制御して、他のNANデバイスとNDLを確立し、アプリケーションによるデータ通信を行うための制御を行う。NANデータリンク制御部203の処理によりNDLが確立されると、NANデバイス101は、アプリケーションによるデータ通信を行うことが可能となる。本実施形態では、NDLが確立された場合、NANデバイス101はIPv6によるデータ通信が可能になるものとする。なお、IPv6はInternet Protocol Version 6の略である。また、NANデータリンク制御部203はNDLによるデータ通信を行う際に使用する動作チャネルや期間の決定を行う。
インフラ接続制御部204は、無線LAN制御部201を制御してインフラネットワークを介した通信を行うための制御を行う。NANデバイス101はNANデータリンク制御部203もしくはインフラ接続制御部204によって通信を確立することで、他のNANデバイスや他の装置とデータリンクを確立し、アプリケーションによるデータ通信を行うことが可能になる。本実施形態では、NANデバイス101は他のNANデバイスや他の装置とデータリンクが確立した後、IPv6による通信が可能になるものとする。
なお、NANデバイス101はインフラ接続制御部204に加えて、あるいは代えてIEEE802.11シリーズ規格に準拠した他の無線通信を行うための制御部を有していてもよい。例えば、Wi-Fi Direct規格に準拠した無線通信や、Wi-Fi IBSS規格に準拠した無線通信を行うための制御部を有していてもよい。また、これらの無線通信を行うための制御部に加えて、Bluetooth、UWB、Zigbeeなどの他の無線通信方式に準拠した通信を行うための制御部を有していてもよい。
通信制御部205は、NANデータリンク制御部203もしくはインフラ接続制御部204によって確立されたデータリンクを用いて、アプリケーションによるデータ通信を制御する。本実施形態では、通信制御部205の制御により、NANデバイス101はIPv6のパケット送受信(すなわち、アプリケーションによるデータ通信)を行うことが可能となる。また通信制御部205はNANデータリンク制御部203およびインフラ接続制御部204によって確立されたデータリンクを用いたデータ通信のスケジューリングを行う。NANデバイス101は、通信制御部205によってスケジューリングされたタイミングで、NANデータリンク制御部203およびインフラ接続制御部204の夫々によって確立されたデータリンクによるデータ通信を行う。
アプリケーション制御部206は、サービス検索によって検出されたサービスを実行するための制御を行う。例えば、NANデバイス101がプリントサービスを検出した場合、アプリケーション制御部206は、プリントのジョブを要求するアプリケーションを実行するための制御を行う。あるいは、NANデバイス101が写真共有サービスを検出した場合には、アプリケーション制御部206は、写真データを共有するアプリケーションを実行するための制御を行う。NANデバイス101は複数のサービスを検索する装置であってもよく、複数のアプリケーション制御部206を有していてもよい。
UI制御部207は、NANデバイス101のユーザにより後述の入力部304に対して行われた操作を管理し、必要な信号を他の制御部201から206の少なくとも何れか一つへ伝達する。
図3に、NANデバイス101のハードウェア構成を示す。なお、NANデバイス102、103のハードウェア構成は、NANデバイス101と同様である。
記憶部301は、ROMやRAMなどの1以上のメモリにより構成され、後述する各種動作を行うためのコンピュータプログラムや、無線通信のための通信パラメータなどの各種情報を記憶する。ROMはRead Only Memoryの、RAMはRandom Access Memoryの夫々略である。なお、記憶部301として、ROM、RAM等のメモリの他に、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD-ROM、CD-R、磁気テープ、不揮発性のメモリカード、DVDなどの記憶媒体を用いてもよい。また、記憶部301が複数のメモリ等を備えていてもよい。
制御部302は、CPUやMPUなどの1以上のプロセッサにより構成され、記憶部301に記憶されたコンピュータプログラムを実行することによりNANデバイス101全体を制御する。CPUはCentral Processing Unitの、MPUはMicro Processing Unitの略であり、コンピュータとして機能する。なお、制御部302は、記憶部301に記憶されたプログラムとOSとの協働によりNANデバイス101全体を制御するようにしてもよい。また、制御部302がマルチコアなどの複数のプロセッサを備え、複数のプロセッサによりNANデバイス101全体を制御するようにしてもよい。
また、制御部302は、機能部303を制御して、撮像やコンテンツの閲覧等の所定の処理を実行する。機能部303は、NANデバイス101が所定の処理を実行するためのハードウェアである。例えば、NANデバイス101がカメラである場合、機能部303は撮像部であり、撮像処理を行う。あるいはNANデバイス101が印刷装置である場合、機能部303は印刷部であり、印刷処理を行う。また、例えば、NANデバイス101がプロジェクタである場合、機能部303は投影部であり、投影処理を行う。機能部303が処理するデータは、記憶部301に記憶されているデータであってもよいし、後述する通信部306を介して他のNANデバイスから受信したデータであってもよい。
入力部304は、ユーザからの各種操作の受付を行う。出力部305は、モニタ画面やスピーカーなどを介してユーザに対して各種出力を行う。ここで、出力部305による出力とは、画面上への表示の他、スピーカーによる音声出力や、振動出力などであってもよい。なお、タッチパネルを利用して入力部304と出力部305の出力先とを1つのモジュールで実現するようにしてもよい。また、入力部304や出力部305は、NANデバイス101と一体であってもよいし、別体であってもよい。なお、NANデバイス101は入力部304や出力部305を有していなくてもよい。
通信部306は、Wi-Fi NAN規格を含むIEEE802.11シリーズ規格に準拠した無線通信の制御や、IP(Internet Protocol)通信の制御を行う。また、通信部306はアンテナ307を制御して、無線通信のための無線信号の送受信を行う。NANデバイス101は通信部306を介して他のNANデバイスとアプリケーションによるデータ通信を行う。通信部306はデータを送信する送信機能と、データを受信する受信機能とを有し、制御部302の指示に従いそれぞれを有効、無効に切り替えることが可能である。送信機能、受信機能がそれぞれ有効であるとき通信部306は電力を消費し、無効であるときは電力を消費しない、もしくは有効であるときに比べて低消費電力で動作可能であることとする。
図4は、NANデバイス101がデータ通信要求信号を送信してNANデータリンクを確立する際に、記憶部301に記憶されたプログラムを制御部302が実行することで実現される処理を示すフローチャートである。
本フローチャートは、SubscriberであるNANデバイス101が所望のサービスを検出し、NDLの確立を行う場合に開始するフローチャートである。具体的にはNANデバイス101は、Publisherから受信したPublishメッセージに所望のサービスが含まれている場合、本フローチャートを開始する。あるいは、NANデバイス101はPublisherから受信したFollow-upメッセージに含まれる追加の情報に基づいて本フローチャートを開始してもよい。もしくは、NANデバイス101はユーザ操作に基づいて本フローチャートを開始してもよい。
まずNANデバイス101の制御部302は、自装置がWi-Fi NAN規格以外の通信規格に準拠した通信によるデータ通信を行っているか判定する(ステップS401)。ここでは、例えばWi-Fi NAN規格以外のIEEE802.11シリーズ規格に準拠した通信によるデータ通信を行っているか判定する。Wi-Fi NAN規格以外のIEEE802.11シリーズ規格に準拠した通信とは、例えばインフラネットワークを介した通信や、Wi-Fi Direct規格に準拠した通信、Wi-Fi IBSS規格に準拠した通信などである。なお、Wi-Fi NAN規格以外の通信規格に準拠した通信は、Post NANによって確立された通信であってもよい。
NANデバイス101がWi-Fi NAN規格以外の通信規格に準拠した通信によるデータ通信を行っていないと判定された場合(ステップS401のNo)、NANデバイス101の制御部302はステップS404の処理を行う。一方、NANデバイス101がWi-Fi NAN規格以外の通信規格に準拠した通信によるデータ通信を行っていると判定された場合(ステップS401のYes)、NANデバイス101の制御部302はステップS402の処理を行う。
ステップS402においてNANデバイス101の制御部302は、Wi-Fi NAN規格に準拠した通信と、Wi-Fi NAN規格以外の通信規格に準拠した通信とで、共通のRFモジュールを用いているか判定する(ステップS402)。RFモジュールとは、無線周波数モジュールのことである。NANデバイス101の制御部302は、本実施形態において、Wi-Fi NAN規格に準拠した通信と、Wi-Fi NAN規格以外の通信規格に準拠した通信とを行う際に、時分割で動作チャネルを切り替えているかということに基づいて判定する。
NANデバイス101の制御部302は、NANデバイス101に工場出荷時に設定されているNANデバイス101のRFモジュールについての情報に基づいてステップS402の判定を行う。NANデバイス101のRFモジュールについての情報とは、NANデバイス101が異なる通信規格に準拠した複数の通信を並行して行う場合、NANデバイス101に組み込まれているRFモジュールは時分割で動作チャネルを切り替えるかを示す情報である。NANデバイス101に組み込まれているRFモジュールが時分割で動作チャネルを切り替える場合、NANデバイス101の制御部302は、共通のRFモジュールを用いていると判定する(ステップS402のYes)。一方、NANデバイス101に組み込まれているRFモジュールが時分割で動作チャネルを切り替えない場合、NANデバイス101の制御部302は共通のRFモジュールを用いていないと判定する(ステップS402のNo)。
なお、NANデバイス101はRFモジュールについての情報を工場出荷時に設定されている場合、ステップS402を省略してもよい。具体的には、Wi-Fi NAN規格に準拠した通信とWi-Fi NAN規格以外の通信規格に準拠した通信とで共通で用いられるRFモジュールが組み込まれているNANデバイスは、ステップS402を省略してもよい。この場合、NANデバイス101はステップS401でYesと判定されると、ステップS403の処理を行う。一方、Wi-Fi NAN規格に準拠した通信とWi-Fi NAN規格以外の通信規格に準拠した通信とで夫々異なるRFモジュールが組み込まれているNANデバイスは、本フローチャートが開始するとステップS401の処理を行う。この場合、NANデバイスは、ステップS401において、自装置がWi-Fi NAN規格以外の他の通信規格に準拠した通信を行っているか調べる。そしてWi-Fi NAN規格以外の他の通信規格に準拠した通信を行っているか、いないかに関わらず、NANデバイスはステップS404の処理を行う。
あるいは、ステップS402の判定は、NANデバイス101の制御部302が自装置に組み込まれているRFモジュールの識別情報を取得し、当該識別情報に基づいて判定してもよい。具体的には、NANデバイス101は、ある識別情報を有するRFモジュールが、Wi-Fi NAN規格に準拠した通信とWi-Fi NAN規格以外の通信規格に準拠した通信とで共通に用いられるか否かを示すリストを保持している。NANデバイス101は、自装置に組み込まれているRFモジュールの識別情報を取得すると、当該リストを参照し、ステップS402の判定を行う。なお、NANデバイス101は当該リストを保持していてもよいし、外部ネットワーク上にあるリストを利用してもよい。また、RFモジュールの識別情報とは、個々のRFモジュールを一意に識別するための情報であってもよいし、型式番号のように製品の型を識別するための情報であってもよい。
Wi-Fi NAN規格に準拠した通信とWi-Fi NAN規格以外の通信規格に準拠した通信とで、共通のRFモジュールを用いていないと判定されると(ステップS402のNo)、NANデバイス101の制御部302はステップS404の処理を行う。一方、Wi-Fi NAN規格に準拠した通信と、Wi-Fi NAN規格以外の通信規格に準拠した通信とで、共通のRFモジュールを用いていると判定されると(ステップS402のYes)、NANデバイス101はステップS403の処理を行う。
NANデバイス101の制御部302は、ステップS403において、Publisherにデータ通信要求信号を送信する。当該データ通信要求信号には、NANデバイス101が行っているWi-Fi NAN規格以外の通信規格に準拠した通信の動作チャネルと同じ動作チャネル、および当該通信が行われる前後の期間が含まれる。NDLを確立する相手装置はPublisherであり、本実施形態においてはNANデバイス103であるので、NANデバイス101は当該データ通信要求信号をNANデバイス103に送信する。なお、当該データ通信要求信号に含まれる期間とは、Wi-Fi NAN規格以外の通信規格に準拠した通信によるデータ通信が行われる期間の前後の期間であり、かつNANデバイス101が参加しているNANクラスタ105のDW外の期間である。Wi-Fi NAN規格以外の通信規格に準拠した通信によるデータ通信が行われる期間とは、W-Fi NAN規格以外の通信規格に準拠した通信において、NANデバイス101が必ずデータ通信を行う期間のことを指す。例えば、Wi-Fi NAN規格以外の通信規格に準拠した通信がインフラネットワークを介した通信である場合、NANデバイス101はAPから定期的に送信されるBeaconを受信する必要がある。この場合、当該Beaconを送受信する期間が、Wi-Fi NAN規格以外の通信規格に準拠した通信によるデータ通信が行われる期間となる。当該データ通信要求信号を送信することにより、NANデバイス101はPublisherに自装置で行っているWi-Fi NAN規格以外の通信規格に準拠した通信の動作チャネルと同じ動作チャネルでNDLを確立することを要求する。また、自装置行っているWi-Fi NAN規格以外の通信規格に準拠した通信によるデータ通信を行っている期間の前後の期間でNDLによるデータ通信を行うことを要求する。
NANデバイス101は、共通のRFモジュールを使用して動作チャネルが異なる複数の通信によるデータ通信を行う場合、時分割で動作チャネルを切り替える。しかし、NANデバイス101が時分割で動作チャネルを切り替えると、パケットロスが発生し、スループットが低下する。そのためNANデバイス101は自装置が行っているWi-Fi NAN規格以外の通信規格に準拠した通信の動作チャネルと同じ動作チャネルを使用したNDLを確立することで、スループットの低下を抑えることができる。
また、NANデバイス101は、NDLによるデータ通信と、Wi-Fi NAN規格以外の通信規格に準拠した通信によるデータ通信とについて、夫々の通信を行う期間を設定する。しかし、これらの期間の開始時あるいは終了時にNDLを確立した相手装置が送信したフレームを受信できない場合がある。そのため、フレームを受信する装置は、通信を行う期間として提示された期間の更に前後の期間を余分に取り、フレームの受信待ちに充てる必要があるため、余分に電力を消費することになる。しかし、本実施形態ではNDLと、Wi-Fi NAN規格以外の通信規格に準拠した通信とで動作チャネルが同じであるため、二つの通信を行う期間が続いている場合、通信が切り替わっても、もう一方のフレームを受信することができる。そのため、フレームを受信する装置は通信を行う期間として提示された期間の前後を余分に取る必要がなく、その分省電力性を増すことができる。
図7は、NANデバイスが送信するデータ通信要求信号のフレームの構成例を示す図である。
データ通信要求信号700は、IEEE802.11シリーズ規格に準拠したPublic Action Frameを用いる。データ通信要求信号700はNAN Attributes701を含む。本実施形態において、NAN Attributes701には複数のAttribute(属性情報)が含まれている。NAN Attributes701に含まれるAttributeの内の一つは、データ通信要求信号であることを示すAttribute702である。当該Attribute702に含まれるType、Status704には、当該データ通信要求信号700がWi-Fi NAN規格に準拠した通信のフレームの内、どの役割を果たすフレームであるかを示す情報が含まれる。本実施形態では、Type、Status704の上位4ビットの値が0のときはデータ通信要求信号、1のときはデータ通信応答信号、2のときはデータ通信確定信号、3のときはSecurity M4、4のときは終了である。Security M4は、NDLのセキュリティを確立するために用いられる信号である。また、下位4ビットは送信された要求に対する応答の種別を示す。本実施形態では、0のときは継続、1のときは受容、2のときは拒絶を示す。データ通信要求信号として送信される場合、Type、Status704の上位4ビットには0が、下位4ビットにも0が入る。なお、これらの値と、値が示す情報との対応はこれに限らない。
NAN Attributes701に含まれるAttributeの内のもう一つは、要求するチャネルおよび期間を示すAttribute703である。Attribute703には、NANデバイス101が要求する期間についての情報がTime Bitmap706に含まれる。また、NANデバイス101が要求する動作チャネルについての情報がChannel List707に含まれる。なお、NANデバイス101はTime Bitmap706、Channel List707に複数の要求する期間や動作チャネルを入れてもよい。また、期間と動作チャネルの組み合わせで要求する場合、NANデバイス101は期間と動作チャネルの組み合わせを含むAttributeを用いてもよい。
また、Sequence ID705は、動作チャネルあるいはデータ通信を行う期間を更新すると1ずつ増加される値である。これにより、データ通信要求信号700を受信するPublisherは、どの動作チャネルと期間が最新か判断することができる。
ステップS404において、NANデバイス101の制御部302はNDLを確立する相手装置が、Wi-Fi NAN規格以外の通信規格に準拠した通信によるデータ通信を行っているか判定する(ステップS404)。NANデバイス101の制御部302は、Publisherから送信されたPublishメッセージに基づいてステップS404の判定を行う。
図8は、NANデバイスが送信するPublishメッセージのフレームの構成例を示す図である。
Wi-Fi NAN規格のPublishメッセージ800は、IEEE802.11シリーズ規格のPublic Action Frameを用いる。Publishメッセージ800はNAN Attributes801を含む。本実施形態において、NAN Attributes801には複数のAttributeが含まれている。NAN Attributes801に含まれるAttributeの内の一つは、Publishメッセージによって通知するサービスの詳細を示すService Descriptor Attribute802である。NAN Attributes801に含まれるAttributeの内のもう一つは、Wi-Fi NAN規格以外の通信規格に準拠した通信によるデータ通信を行っていることを示すAttributeである。ここでは例としてインフラネットワークを介した通信によるデータ通信を行っていることを示す、WLAN Infrastructure Attributeを含んでいる。なお当該AttributeはWLAN Infrastructure Attributeを拡張した、拡張WLAN Infrastructure Attribute803である。これは既存のAttributeを統合して表現されるAttributeである。具体的には、NAN Connection Capability Attribute、WLAN Infrastructure Attribute、Further Availability Map Attributeである。
Device Role804において0を示すときはPublisherがAPとして動作中であることを示す。1を示すときはPublisherがAPに接続済みのSTAであることを示す。2を示すときは、PublisherはSTAとして動作できるものの、どのAPにも接続していないことを示す。NANデバイス101はこのフレームを受信することで、Publisherが現在どのような通信を行っているかを把握することができる。
Channel Information805には、Publisherのインフラネットワークを介した通信における動作チャネルについての情報が含まれる。また、Beacon Information806には、インフラネットワークを介した通信における当該ネットワークの報知を行うタイミングや、インフラネットワークを介した通信におけるデータ通信を行う期間についての情報が含まれる。
なお、Wi-Fi NAN規格以外の通信規格に準拠した通信に関するAttributeは、他に、Wi-Fi Direct規格に準拠した通信についてのAttributeであるP2P Operation Attributeであってもよい。また、当該Attributeを拡張した拡張P2P Operation Attributeや、Wi-Fi IBSS規格に準拠した通信についてのAttributeである拡張IBSS Attributeを使用してもよい。もしくは、既存のAttributeを組み合わせて使用してもよい。例えば、Connection Capability Attributeと、WLAN Infrastructure Attributeと、Further Availability Attributeをすべて含めて送信してもよい。
なお、図8で示したような方法はPublisherの状態をNANデバイス101に伝える方法の一例である。
なお、図8においてPublishメッセージに含まれる情報は、Publisherから送信されたFollow-upメッセージに含まれていてもよい。その場合、ステップS404の判定は、当該Follow-upメッセージに基づいて行われてもよい。あるいは、Publisherが送信するNAN Synchronization Beaconや、NAN Discovery Beaconに含まれていてもよい。もしくは、SubscriberがNDLを確立する相手装置であるPublisherに、PublisherがWi-Fi NAN規格以外の通信規格に準拠した通信によるデータ通信を行っているか問い合わせる問合せ信号を送信してもよい。そして、Publisherは当該問合せ信号を受信すると、図8においてPublishメッセージに含まれている情報を含む応答信号を送信してもよい。この場合、ステップS404の判定は、当該応答信号に基づいて行われてもよい。
NANデバイス101の制御部302は、PublisherがWi-Fi NAN規格以外の通信規格に準拠した通信によるデータ通信を行っていると判定すると(ステップS404のYes)、ステップS405の処理を行う。ステップS405においてNANデバイス101の制御部302は、Publisherが行っているWi-Fi NAN規格以外の通信規格に準拠した通信で使用している動作チャネルと同じ動作チャネルを、NDLで使用する動作チャネルとして要求する。また、Publisherが行っているWi-Fi NAN規格以外の通信規格に準拠した通信によるデータ通信の前後の期間を、NDLで使用する期間として要求する。具体的には、NANデバイス101の制御部302は、要求する動作チャネルと期間についての情報を含むデータ通信要求信号をPublisherに送信する。ステップS405の処理を行ったNANデバイス101の制御部302は、ステップS407の処理を行う。
NANデバイス101の制御部302は、PublisherがWi-Fi NAN規格以外の通信規格に準拠した通信によるデータ通信を行っていないと判定すると(ステップS404のNo)、ステップS406の処理を行う。ステップS406においてNANデバイス101の制御部302は、自装置がNDLによるデータ通信を行うことができる全動作チャネルと全期間についての情報を含むデータ通信要求信号をPublisherに送信する。なお、ステップS401でNoと判定され、NANデバイス101がWi-Fi NAN規格に準拠した通信と、Wi-Fi NAN規格以外の通信規格に準拠した通信とで共通のRFモジュールを用いる場合を想定する。この場合、NANデバイス101の制御部302は、ステップS406で過去に接続したAPとの接続で用いた動作チャネルと同じ動作チャネルをデータ通信要求信号に含めてもよい。ステップS406の処理を行ったNANデバイス101の制御部302は、ステップS407の処理を行う。
なお、NANデバイス101の制御部302は、ステップS402でNoと判定され、ステップS405でデータ通信要求信号を送信する際に、自装置が行っているWi-Fi NAN規格以外の通信規格に準拠した通信によるデータ通信を考慮してもよい。なお、NANデバイス101の制御部302は、ステップS402でNoと判定され、ステップS406でデータ通信要求信号を送信する際においても同様に考慮してよい。具体的には、NANデバイス101の制御部302は、これらのステップにおいて、自装置が行っているWi-Fi NAN規格以外の通信規格に準拠した通信で使用している動作チャネルと干渉しない動作チャネルをPublisherに要求してもよい。また、NANデバイス101の制御部302は、自装置が行っているWi-Fi NAN規格以外の通信規格に準拠した通信によるデータ通信とは異なる期間を、NDLを行う期間として要求してもよい。NANデバイス101が、Wi-Fi NAN規格に準拠した通信とWi-Fi NAN規格以外の通信規格に準拠した通信とで異なるRFモジュールを有する場合、二つの通信の動作チャネルを異ならせることで、スループットの低下を抑えることができる。
なお、NANデバイス101の制御部302は、ステップS401でNoと判定された場合や、ステップS402でNoと判定された場合、ステップS404をスキップし、ステップS406の処理を行ってもよい。
また、NANデバイス101の制御部302は、ステップS402でNoと判定された場合、データ通信要求信号をPublisherに送信してもよい。NANデバイス101が送信するデータ通信要求信号には、NANデバイス101が行っているWi-Fi NAN規格以外の通信規格に準拠した通信で使用している動作チャネルと干渉しない動作チャネルが含まれる。また、NANデバイス101の制御部302は、自装置が行っているWi-Fi NAN規格以外の通信規格に準拠した通信によるデータ通信とは異なる期間を、NDLによるデータ通信を行う期間としたデータ通信要求信号を送信してもよい。この場合、NANデバイス101の制御部302は、ステップS404、ステップS405、ステップS406に代えて上述の処理を行い、ステップS407に進む。
なお、NANデバイス101の制御部302はステップS402でNoと判定された場合、Publisherに対してWi-Fi NAN規格に準拠した通信におけるDWで使用する動作チャネルとDW前後の期間を含むデータ通信要求信号を送信してもよい。これは、NANデバイス101はWi-Fi NAN規格に準拠した通信専用のRFモジュールを有するため、Wi-Fi NAN規格に準拠した通信を行う際の動作チャネルを揃えることで、スループットの低下を抑えることができるからである。また、DWとデータ通信の期間を前後させることで、NANデバイス101は消費電力を減少させることができる。当該データ通信要求信号を送信したNANデバイス101の制御部302は、ステップS407の処理を行う。
ステップS407において、NANデバイス101の制御部302は、Publisherからデータ通信応答信号を受信する(ステップS407)。
データ通信応答信号とは、データ通信要求信号を受信したPublisherが当該要求の応答として送信するフレームである。データ通信応答信号のフレームの構成は図7と同様であって、Publisherが要求する動作チャネルとNDLによるデータ通信を行う期間についての情報を含む。データ通信応答信号として送信される場合、Type、Status704の上位4ビットには1が入る。また、Publisherがデータ通信要求信号で要求された動作チャネルや期間でNDLを確立できるかに基づいて、Type、Status704の下位4ビットに入る値が決定される。
NANデバイス101の制御部302はデータ通信応答信号を受信すると、データ通信要求信号に対するPublisherからの応答が拒絶であるか判定する(ステップS408)。具体的には、NANデバイス101の制御部302はステップS407で受信したデータ通信要求信号のType、Status704の値を確認する。本実施形態では、Type、Status704の下位4ビットの値が2であるか判定する。
Publisherからの応答が拒絶であると判定された場合(ステップS408のYes)、NANデバイス101の制御部302はNDLの確立が行えないため(ステップS409)、本フローチャートを終了する。なお、NANデバイス101の制御部302はNDLの確立が行えなかった場合、NANデバイス101のユーザにNDLの確立が行えなかったことをNANデバイス101の出力部305を介して通知してもよい。具体的にはNANデバイス101がモニタ画面を有する場合は、当該モニタ画面にNDLの確立が行えなかったことを表示する。あるいは、例えばNANデバイス101がスピーカーを有する場合は音声によって通知してもよいし、例えばNANデバイス101がランプを有する場合は当該ランプを点滅させる、エラー通知用のランプを点灯するなどして通知してもよい。
一方、Publisherからの応答が拒絶ではないと判定された場合(ステップS408のNo)、NANデバイス101の制御部302は、Publisherからの応答が受容であるか判定する(ステップS410)。具体的には、ステップS408と同様に、NANデバイス101の制御部302はステップS407で受信したデータ通信要求信号のType、Status704の値を確認する。本実施形態では、Type、Status704の下位4ビットの値が1であるか判定する。
Publisherからの応答が受容であると判定された場合(ステップS410のYes)、NANデバイス101の制御部302はステップS411の処理を行う。NANデバイス101の制御部302は、NDLで使用する動作チャネルと期間についての情報を含むデータ通信確定信号をPublisherに送信する(ステップS411)。具体的には、NANデバイス101の制御部302はステップS407で受信したデータ通信応答信号のTime Bitmap706とChannel List707に基づいてNDLで使用する動作チャネルと期間を決定し、Publisherに送信する。ステップS407で受信したデータ通信応答信号のTime Bitmap706には、PublisherがNDLで使用することができる動作チャネルについての情報が含まれている。また、ステップS407で受信したデータ通信応答信号のChannel List707には、PublisherがNDLによるデータ通信を行うことができる期間についての情報が含まれている。NANデバイス101の制御部302は、自装置が要求した動作チャネルや期間と、Publisherが要求する動作チャネルや期間から、重複する動作チャネルや期間をNDLで使用する動作チャネルや期間として決定する。
NANデバイス101の制御部302は、ステップS411でデータ通信確定信号を送信したPublisherとデータ通信確定信号で送信した動作チャネルおよび期間でNDLによるデータ通信を開始し(ステップS412)、本フローチャートを終了する。
一方、Publisherからの応答が受容でないと判定された場合(ステップS410のNo)、NANデバイス101の制御部302はステップS413の処理を行う。なお、Publisherからの応答が拒絶でもなく受容でもない場合とは、Publisherからの応答が継続である場合である。Publisherからの応答が継続である場合とは、PublisherはNANデバイス101から要求された動作チャネルや期間ではNDLによるデータ通信を行えないが、NDLの確立は引き続き行う場合である。
NANデバイス101の制御部302は、自装置が行っているWi-Fi NAN規格以外の通信規格に準拠した通信の動作チャネルが変更できるか判定する(ステップS413)。例えば、NANデバイス101がインフラネットワークを介した通信を行っており、NANデバイス101がAPとして動作している場合は、NANデバイス101がインフラネットワークを介した通信の動作チャネルを変更できる可能性が高い。この場合、NANデバイス101の制御部302は、インフラネットワークを介して通信を行っている相手装置(ここではSTA)に対して、動作チャネルの変更を通知する。当該STAに動作チャネルの変更を通知したNANデバイス101の制御部302は、インフラネットワークを介した通信の動作チャネルを変更する。あるいはNANデバイス101がWi-Fi Direct規格に準拠した通信を行っている場合を想定する。Wi-Fi Direct規格のGroup Ownerとして動作している場合、NANデバイス101がWi-Fi Direct規格に準拠した通信の動作チャネルを変更できる可能性が高い。この場合、NANデバイス101の制御部302は、Wi-Fi Direct規格に準拠した通信を行っている相手装置(ここではClient)に対して、動作チャネルの変更を通知する。当該Clientに動作チャネルの変更を通知したNANデバイス101の制御部302は、Wi-Fi Direct規格に準拠した通信の動作チャネルを変更する。
このように、NANデバイス101が行っているWi-Fi NAN規格以外の通信規格に準拠した通信の動作チャネルを変更できると判定された場合(ステップS413のYes)、NANデバイス101の制御部302はステップS414の処理を行う。ステップS414においてNANデバイス101の制御部302は、Wi-Fi NAN規格以外の通信規格に準拠した通信の動作チャネルを変更しPublisherが要求する動作チャネルおよび期間で再度データ通信要求信号を送信する。NANデバイス101の制御部302は、Publisherが要求する動作チャネルと同じ動作チャネルになるように、NANデバイス101が行っているWi-Fi NAN規格以外の通信規格に準拠した通信の動作チャネルを変更する。なお、ステップS402でWi-Fi NAN規格に準拠した通信とWi-Fi NAN規格以外の通信規格に準拠した通信とで異なるRFモジュールを使用していると判定された場合、ステップS414で動作チャネルの干渉を考慮してもよい。具体的には、ステップS414でWi-Fi NAN規格以外の通信規格に準拠した通信の動作チャネルを、Publisherが要求する動作チャネルと干渉しない動作チャネルに変更してもよい。NANデバイス101の制御部302は、ステップS414の処理を行うと、ステップS407の処理を行う。
なお、ステップS414でWi-Fi NAN規格以外の通信規格に準拠した通信の動作チャネルを変更する際に、NANデバイス101の制御部302はステップS407で受信したPublisherが要求する期間を考慮してもよい。Publisherが要求する期間と、NANデバイス101が行っているWi-Fi NAN規格以外の通信規格に準拠した通信によるデータ通信を行う期間が干渉している場合を想定する。この場合、NANデバイス101の制御部302はWi-Fi NAN規格以外の通信規格に準拠した通信の動作チャネルと共に、当該通信によるデータ通信を行う期間を変更してもよい。
一方、NANデバイス101が行っているWi-Fi NAN規格以外の通信規格に準拠した通信の動作チャネルを変更できないと判定された場合(ステップS413のNo)、NANデバイス101の制御部302はステップS415の処理を行う。例えば、NANデバイス101がインフラネットワークを介した通信を行っており、NANデバイス101がSTAとして動作している場合は、NANデバイス101がインフラネットワークを介した通信の動作チャネルを変更できない可能性が高い。あるいは、NANデバイス101がWi-Fi Direct規格に準拠した通信を行っている場合を想定する。NANデバイス101がClientとして動作している場合は、NANデバイス101がWi-Fi Direct規格に準拠した通信の動作チャネルを変更できない可能性が高い。
NANデバイス101の制御部302は、ステップS415においてNDLの確立を継続するか判定する。当該判定は、NANデバイス101が同じNANデバイスに対してNDLの確立を所定の回数以上試行したかということに基づいて判定する。NANデバイス101が所定の回数以上同じNANデバイスに対してNDLの確立を試行した場合は、NDLの確立は継続しないと判定する。当該所定の回数は、NANデバイス101にプリセットされている。あるいは、当該所定の回数はユーザによって決定されていてもよいし、NANデバイス101で起動しているアプリケーションに基づいて決定されてもよい。あるいは、ステップS415における判定は、NANデバイス101が同じNANデバイスに対してNDLの確立を所定の時間以上試行したかということに基づいて判定してもよい。あるいは、ステップS415における判定は、NANデバイス101のユーザ操作に基づいて判定されてもよいし、NANデバイス101がNDLを確立することにより利用することができるサービスの種類に基づいて判定されてもよい。あるいは、NANデバイス101が所望するサービスを提供可能なNANデバイスが他にあるかということに基づいて判定されてもよい。もしくは、図4のフローチャートがユーザ指示によって開始された場合、NANデバイス101の制御部302はステップS415においてYesと判定してもよい。また、Wi-Fi NAN規格以外の通信規格に準拠した通信によるデータ通信を行っている場合、NANデバイス101の制御部302は当該データ通信の通信量に基づいて判定してもよい。当該データ通信の通信量が所定の値より小さい場合、NANデバイス101の制御部302はステップS415においてYesと判定してもよい。
NDLの確立を継続しないと判定すると(ステップS415のNo)、NANデバイス101の制御部302は本フローチャートを終了する。一方、NDLの確立を継続すると判定すると(ステップS415のYes)、NANデバイス101の制御部302はステップS416の処理を行う。
NANデバイス101の制御部302は、ステップS403、S405、S406の何れかで送信したデータ通信要求信号に含まれるNANデバイス101が要求する動作チャネルや期間についての情報を再度送信する(ステップS416)。NANデバイス101の制御部302はステップS416の処理を行うと、ステップS407の処理を行う。
なお、ステップS401でWi-Fi NAN規格以外の通信規格に準拠した通信によるデータ通信を行っていないと判定された場合、NANデバイス101の制御部302はステップS413の判定をスキップし、ステップS415の処理を行う。
また、本フローチャートでは、ステップS413において、NANデバイス101が行っているWi-Fi NAN規格以外の通信規格に準拠した通信の動作チャネルが変更可能かに基づいて、データ通信要求信号に含める動作チャネルと期間を判定した。しかし、これに限らず、NDLの確立を所定の回数試行したことに基づいて判定してもよい。NANデバイス101が所定の回数以上NDLの確立を試行した場合、NANデバイス101の制御部302はステップS414の処理を行う。あるいはステップS413において、NANデバイス101の制御部302が、NANデバイス101とPublisherのマスターランクに基づいて判定を行ってもよい。例えば、ステップS413において、NANデバイス101のマスターランクがPublisherのマスターランクより低いと判定された場合、NANデバイス101の制御部302は、ステップS414の処理を行ってもよい。
また、本フローチャートにおいて、ステップS410においてNoと判定された場合、つまりPublisherから受信したデータ通信応答信号が継続である場合、NANデバイス101はNDLの確立を優先させてもよい。具体的には、ステップS410でNoと判定された場合、NANデバイス101の制御部302は受信したデータ通信応答信号に含まれる動作チャネルと期間によってNDLを確立してもよい。
なお、NANデバイス101が、既にPublisherとNDLを確立しており、更に新たなNDLを確立するために本フローチャートを開始した場合、NANデバイス101はデータ通信要求信号ではなくスケジュール更新要求信号を送信してもよい。この場合、データ通信応答信号はスケジュール更新応答信号になり、データ通信確定信号はスケジュール更新確定信号となる。スケジュール更新要求信号、スケジュール更新応答信号、スケジュール更新確定信号のフレーム構成は、図7に示した通りである。これらのフレームは、既に確立されているNDLの動作チャネルや期間を変更する場合や、既にNDLが確立されているNANデバイス間で新たなNDLを確立する際に用いられる。この場合、既に確立されているNDLと、新たに確立するNDLとで動作チャネルを揃える。
なお、本フローチャートで、NANデバイス101は自装置やNDLを確立する相手装置がWi-Fi NAN規格以外の通信規格に準拠した通信を行っているか等に基づいてデータ通信要求信号に含める動作チャネルや期間を決定した。しかし、これに限らず、NANデバイス101は先にPublisherがNDLによるデータ通信を行うことができる動作チャネルおよび期間の情報を、Publisherからデータ通信応答信号を受信することで取得してもよい。そして当該データ通信応答信号を受信したNANデバイス101は、NANデバイス101がNDLによるデータ通信を行うことができる動作チャネルおよび期間を考慮し、Publisherにデータ通信確定信号を送信する。
具体的には、NANデバイス101は本フローチャートを開始すると、まず全ての動作チャネルおよび全ての期間でNDLによるデータ通信を行うことができる旨を含むデータ通信要求信号をPublisherに送信する。本処理は、ステップS401からステップS406の処理に代わって行われる。また、本処理で送信されるデータ通信要求信号は、要求する動作チャネルおよび期間が含まれていないものであってもよい。当該データ通信要求信号を受信したPublisherは、データ通信応答信号に自装置がNDLによるデータ通信を行うことができる動作チャネルと期間を含めたデータ通信応答信号をNANデバイス101に送信する。NANデバイス101は、当該データ通信応答信号を受信すると、自装置がWi-Fi NAN規格以外の通信規格に準拠した通信によるデータ通信を行っているか判定する。当該判定はステップS401と同様に行われる。
NANデバイス101は、自装置がWi-Fi NAN規格以外の通信規格に準拠した通信によるデータ通信を行っていると判定すると、当該通信とWi-Fi NAN規格に準拠した通信とで、共通のRFモジュールを用いているか判定する。当該判定は、ステップS402と同様に行われる。
NANデバイス101が共通のRFモジュールを用いている場合、受信したデータ通信応答信号に含まれる動作チャネルおよび期間に、NANデバイス101がNDLによるデータ通信を行うことができる動作チャネルおよび期間が含まれているか判定する。具体的には、NANデバイス101はWi-Fi NAN規格以外の通信規格に準拠した通信で使用している動作チャネルと、受信したデータ通信応答信号に含まれる動作チャネルが共通しているか判定する。加えて、NANデバイス101は受信したデータ通信応答信号に含まれる期間に、Wi-Fi NAN規格以外の通信規格に準拠した通信によるデータ通信を行っている期間の前後の期間が含まれているか判定する。データ通信応答信号にNANデバイス101がNDLによるデータ通信を行うことができる動作チャネルと期間が含まれていると判定されると、NANデバイス101は当該動作チャネルと期間を含むデータ通信確定信号をPublisherに送信する。そして、データ通信確定信号に含まれている動作チャネルおよび期間でPublisherとNDLによるデータ通信を行う。一方、受信したデータ通信応答信号に、NANデバイス101がNDLによるデータ通信を行うことができる動作チャネルおよび期間が含まれていないと判定されると、NANデバイス101はデータ通信確定信号を送信しない。
一方、NANデバイス101がWi-Fi NAN規格以外の通信規格に準拠した通信によるデータ通信を行っていない場合と、共通のRFモジュールを用いていないと判定された場合とにおいて、NANデバイス101は共通の処理を行う。これらの場合、NANデバイス101は、受信したデータ通信応答信号に含まれる動作チャネルおよび期間と、自装置がNDLによるデータ通信を行うことができる全動作チャネルおよび全期間とで、共通の動作チャネルおよび期間があるか判定する。共通の動作チャネルおよび期間があると判定されると、NANデバイス101は当該動作チャネルおよび期間を含むデータ通信確定信号をPublisherに送信する。共通の動作チャネルが複数ある場合、NANデバイス101は一つの動作チャネルを選択し、データ通信確定信号に含めてもよい。また、期間についても、NANデバイス101は共通する全ての期間ではなく、一部の期間をデータ通信確定信号に含めてもよい。共通する動作チャネルおよび期間がないと判定された場合、NANデバイス101はデータ通信確定信号を送信しない。
なお、共通のRFモジュールを用いていない場合、NANデバイス101はWi-Fi NAN規格以外の通信規格に準拠した通信で使用している動作チャネルに干渉しない動作チャネルが、受信したデータ通信応答信号に含まれているか判定してもよい。NANデバイス101は期間についても同様に判定する。当該動作チャネルおよび期間が当該データ通信応答信号に含まれていると判定された場合、NANデバイス101は当該動作チャネルおよび期間を含むデータ通信確定信号を送信する。一方、当該動作チャネルおよび期間が含まれていないと判定された場合、NANデバイス101はデータ通信確定信号を送信しない。
なお、NANデバイス101がデータ通信確定信号を送信しない場合、NANデバイス101は、自装置がNDLによるデータ通信を行うことができる動作チャネルと期間を含むデータ通信要求信号をPublisherに送信してもよい。
また、本フローチャートは、Subscriberがデータ通信要求信号を送信するとしたが、これに限らず、Publisherがデータ通信要求信号を送信してもよい。その場合、PublisherはSubscribeメッセージを受信し、当該Subscribeメッセージへの応答としてPublishメッセージを送信する場合、本フローチャートを開始する。あるいはPublisherは、SubscriberからFollow-upメッセージを受信し、その応答としてFollow-upメッセージを送信する場合に本フローチャートを開始してもよい。またPublisherは、ユーザのユーザ指示に基づいて本フローチャートを開始してもよい。Publisherはデータ通信要求信号やデータ通信確定信号をSubscriberに送信し、SubscriberはPublisherにデータ通信応答信号を送信する。
本フローチャートのように、NDLを確立する際に自装置や相手装置が行っているWi-Fi NAN規格以外の通信規格に準拠した通信によるデータ通信を考慮することで、当該通信によるデータ通信とNDLによるデータ通信との干渉を防ぐことができる。具体的には、Wi-Fi NAN規格以外の通信規格に準拠した通信やNDLの、夫々の動作チャネルやデータ通信を行う期間を考慮することで、スループットの低下を抑えることができ、また消費電力を低減できる。
図5は、NANデバイス103がデータ通信要求信号を受信してNANデータリンクを確立する際に、記憶部301に記憶されたプログラムを制御部302が実行することで実現される処理を示すフローチャートである。
本フローチャートは、PublisherであるNANデバイス103がSubscribeメッセージを受信し、その応答としてPublishメッセージを送信したことにより開始するフローチャートである。あるいは、SubscriberからFollow-upメッセージを受信し、その応答としてFollow-upメッセージを送信した場合に開始してもよいし、NANデバイス103のユーザ指示に基づいて開始してもよい。
まず、NANデバイス103の制御部302は、SubscriberであるNANデバイス101から送信されるデータ通信要求信号を受信したか判定する(ステップS501)。当該データ通信要求信号には、Subscriberが要求するNDLの動作チャネルとNDLによるデータ通信を行う期間についての情報が含まれている。データ通信要求信号を受信したと判定すると(ステップS501のYes)、NANデバイス103の制御部302はステップS502の処理を行う。一方、データ通信要求信号を受信しなかったと判定すると(ステップS501のNo)、NANデバイス103の制御部302はステップS501の処理を行う。
NANデバイス103の制御部302は、NDLの確立を継続するか判定する(ステップS502)。当該判定は、NANデバイス103が同じNANデバイスからNDLの確立を所定の回数以上試行されたかということに基づいて判定する。あるいは、NANデバイス103のユーザ指示に基づいて判定してもよい。もしくは、Subscriberが要求してきた動作チャネルや期間にNANデバイス103が対応しているかということに基づいて判定してもよい。もしくは、NANデバイス103がNDLを所定の数まで確立できる場合、NANデバイス103の制御部302はNANデバイス103が所定の数以上NDLを確立しているかということに基づいて判定してもよい。あるいは、NANデバイス103の制御部302は、NANデバイス103が所定の台数以上のNANデバイスとNDLを確立しているかということに基づいて判定してもよい。
NDLの確立を継続しないと判定すると(ステップS502のNo)、NANデバイス103の制御部302は拒絶応答を含むデータ通信応答信号をSubscriberに送信する(ステップS503)。具体的には、NANデバイス103の制御部302は、データ通信応答信号のType、Status704の下位4ビットに拒絶を示す2を入れて送信する。なお、本ステップで送信するデータ通信応答信号には、NANデバイス103がNDLを行うことができる動作チャネルや期間についての情報が含まれていてもよいし、含まれていなくてもよい。NANデバイス103の制御部302は、ステップS503の処理を行うと、本フローチャートを終了する。
一方、NDLの確立を継続すると判定すると(ステップS502のYes)、NANデバイス103の制御部302はステップS504の処理を行う。NANデバイス103の制御部302は、自装置がWi-Fi NAN規格以外の通信規格に準拠した通信によるデータ通信を行っているか判定する(ステップS504)。本ステップは、図4のステップS401と同様の処理を行う。Wi-Fi NAN規格以外の通信規格に準拠した通信によるデータ通信を行っていないと判定されると(ステップS504のNo)、NANデバイス103の制御部302はステップS509の処理を行う。
一方、Wi-Fi NAN規格以外の通信規格に準拠した通信によるデータ通信を行っていると判定されると(ステップS504のYes)、NANデバイス103の制御部302はステップS505の処理を行う。NANデバイス103の制御部302は、Wi-Fi NAN規格に準拠した通信と、Wi-Fi NAN規格以外の通信規格に準拠した通信とで、共通のRFモジュールを使用しているか判定する(ステップS505)。当該判定は、図4のステップS402と同様に行う。Wi-Fi NAN規格に準拠した通信とWi-Fi NAN規格以外の通信規格に準拠した通信とで共通のRFモジュールを使用していないと判定されると(ステップS505のNo)、NANデバイス103の制御部302はステップS509の処理を行う。
一方、共通のRFモジュールを用いていると判定されると(ステップS505のYes)、NANデバイス103の制御部302はステップS506の処理を行う。NANデバイス103の制御部302は、ステップS501で受信したデータ通信要求信号に含まれる、Subscriberが要求する動作チャネルと期間を受け入れられるか判定する。当該判定は、NANデバイス103が、Subscriberが要求する動作チャネルと期間に対応しているかということに基づいて判定される。NANデバイス103が、Subscriberが要求する動作チャネルと期間に対応している場合、ステップS506はYesと判定される。一方、NANデバイス103が、Subscriberが要求する動作チャネルと期間に対応していない場合、ステップS506はNoと判定される。また、Subscriberから要求された動作チャネルに、NANデバイス103が行っているWi-Fi NAN規格以外の通信規格に準拠した通信と同じ動作チャネルが含まれているかということに基づいて判定する。Subscriberから要求された動作チャネルに、NANデバイス103が行っているWi-Fi NAN規格以外の通信規格に準拠した通信と同じ動作チャネルが含まれている場合、ステップS506はYesと判定される。一方、Subscriberから要求された動作チャネルに、NANデバイス103が行っているWi-Fi NAN規格以外の通信規格に準拠した通信と同じ動作チャネルが含まれていない場合、ステップS506はNoと判定される。さらに、Subscriberから要求された期間に、NANデバイス103が行っているWi-Fi NAN規格以外の通信規格に準拠した通信によるデータ通信の前後の期間が含まれているかということに基づいて判定する。Subscriberから要求された期間に、NANデバイス103が行っているWi-Fi NAN規格以外の通信規格に準拠した通信によるデータ通信の前後の期間が含まれている場合、ステップS506はYesと判定される。一方、Subscriberから要求された期間に、NANデバイス103が行っているWi-Fi NAN規格以外の通信規格に準拠した通信によるデータ通信の前後の期間が含まれていない場合、ステップS506はNoと判定される。
Subscriberが要求する動作チャネルおよび期間が受け入れられないと判定されると(ステップS506のNo)、NANデバイス103の制御部302は継続応答を含むデータ通信応答信号をSubscriberに送信する(ステップS507)。本ステップでNANデバイス103が送信するデータ通信応答信号には、NANデバイス103が行っているWi-Fi NAN規格以外の通信規格に準拠した通信と同じ動作チャネルと、当該通信によるデータ通信の前後の期間についての情報が含まれている。NANデバイス103の制御部302はステップS507の処理を行うと本フローチャートを終了する。
一方、Subscriberが要求する動作チャネルおよび期間が受け入れられると判定されると(ステップS506のYes)、NANデバイス103の制御部302は受容応答を含むデータ通信応答信号を送信する(ステップS508)。データ通信応答信号に含まれる動作チャネルおよび期間の決定には、Subscriberが要求する動作チャネルと期間および自装置が行っているWi-Fi NAN規格以外の通信規格に準拠した通信の動作チャネルおよびデータ通信を行う期間が考慮される。具体的には、NANデバイス103の制御部302は、Subscriberが要求する動作チャネルの内、自装置が行っているWi-Fi NAN規格以外の通信規格に準拠した通信の動作チャネルと同じ動作チャネルを当該データ通信応答信号に含める。また、NANデバイス103の制御部302は、Subscriberが要求する期間の内、自装置が行っているWi-Fi NAN規格以外の通信規格に準拠した通信によるデータ通信を行う期間の前後の期間に相当する期間を当該データ通信に含める。NANデバイス103の制御部302はステップS508の処理を行うと、ステップS512の処理を行う。
NANデバイス103の制御部302は、ステップS509において、Subscriberが要求する動作チャネルや期間を受け入れられるか判定する。当該判定は、NANデバイス103が、Subscriberが要求する動作チャネルと期間に対応しているかということに基づいて判定される。また、NANデバイス103がWi-Fi NAN規格以外の通信規格に準拠する通信を行っている場合、当該通信の動作チャネルと干渉しない動作チャネルが、Subscriberの要求する動作チャネルに含まれているかに基づいて判定する。この場合、更に、当該通信によるデータ通信を行う期間の前後の期間が、Subscriberの要求する期間に含まれているかに基づいて判定してもよい。
Subscriberが要求する動作チャネルおよび期間が受け入れられないと判定された場合(ステップS509のNo)、NANデバイス103の制御部302はステップS510の処理を行う。ステップS510において、NANデバイス103の制御部302は継続応答を含むデータ通信応答信号をSubscriberに送信する。本ステップでNANデバイス103が送信するデータ通信応答信号には、NANデバイス103がNDLを行うことができる全ての動作チャネルと期間についての情報が含まれている。なお、NANデバイス103がWi-Fi NAN規格以外の通信規格に準拠した通信によるデータ通信を行っている場合、当該通信の動作チャネルと干渉しない動作チャネルと、当該通信によるデータ通信の期間と干渉しない期間をデータ通信応答信号に含める。
Subscriberが要求する動作チャネルおよび期間が受け入れられると判定された場合(ステップS509のYes)、NANデバイス103の制御部302はステップS511の処理を行う。ステップS511において、NANデバイス103の制御部302は、受容応答を含むデータ通信応答信号をSubscriberに送信する。本ステップのデータ通信応答信号には、Subscriberから要求された動作チャネルや期間と、自装置がNDLを行うことができる動作チャネルや期間とで共通の動作チャネルおよび期間が含まれている。なお、NANデバイス103がWi-Fi NAN規格以外の通信規格による通信を行っている場合、本ステップのデータ通信応答信号には、当該通信の動作チャネルや当該通信によるデータ通信の期間と干渉しない動作チャネルや期間が含まれる。NANデバイス103の制御部302は、ステップS511の処理を行うと、ステップS512の処理を行う。
NANデバイス103の制御部302は、Subscriberからデータ通信確定信号を受信したか判定する(ステップS512)。本判定は、NANデバイス103がデータ通信応答信号を送信してから所定の時間が経過するまでにデータ通信確定信号を受信したかということに基づいて行う。
NANデバイス103がデータ通信確定信号を受信したと判定されると(ステップS512のYes)、NANデバイス103の制御部302はステップS513の処理を行う。NANデバイス103の制御部302は、受信したデータ通信確定信号に含まれる動作チャネルおよび期間でSubscriberとNDLを確立しデータ通信を開始する(ステップS513)。NANデバイス103の制御部302は、ステップS513の処理を行うと、本フローチャートを終了する。
一方、NANデバイス103がデータ通信確定信号を受信しなかったと判定されると(ステップS512のNo)、NANデバイス103の制御部302はNDLの確立に失敗したため(ステップS514)、本フローチャートを終了する。
本フローチャートは、Publisherがデータ通信要求信号を受信するとしたが、これに限らず、Subscriberがデータ通信要求信号を受信してもよい。その場合、Subscriberは所望のサービスを含むPublishメッセージを受信した場合、本フローチャートを送信する。あるいは、SubscriberはPublisherにFollow-upメッセージを送信した場合に本フローチャートを開始してもよいし、Subscriberのユーザ指示に基づいて本フローチャートを開始してもよい。
本フローチャートのように、NANデバイスはNDLを確立する際に自装置が行っているWi-Fi NAN規格以外の通信規格に準拠した通信によるデータ通信を考慮することで、NDLによるデータ通信との干渉を防ぐことができる。具体的には、NANデバイスはWi-Fi NAN規格以外の通信規格に準拠した通信やNDLの、夫々の動作チャネルやデータ通信を行う期間を考慮することで、スループットの低下を抑えることができる。
図6は、NANデバイス101およびNANデバイス103がNANデータリンクを確立する際に、NANデバイス101、NANデバイス102およびNANデバイス103が実行する処理を示すシーケンス図である。
NANデバイス103は、AP104とインフラネットワークを介した通信によるデータ通信を開始する(ステップS601)。NANデバイス101のユーザがプリントアプリケーションにおいて、プリントサービスの検索を指示する(ステップS602)。
NANクラスタ105のDWが開始すると、MasterであるNANデバイス102からNAN Synchronization Beaconが、NANデバイス101およびNANデバイス103に送信される(ステップS603)。NANデバイス101はプリントサービスを検索するため、SubscribeメッセージをNANデバイス102およびNANデバイス103に送信する(ステップS604)。当該Subscribeメッセージを受信したNANデバイス103はプリントサービスを提供可能なので、NANデバイス101にPublishメッセージを送信する(ステップS605)。Publishメッセージを受信したNANデバイス101は、NANデバイス103にFollow upメッセージを送信し、プリントサービスについて追加の情報を問い合わせる(ステップS606)。Follow-upメッセージを受信したNANデバイス103は、プリントサービスについて追加の情報をFollow-upメッセージを用いてNANデバイス101に送信する(ステップS607)。
NANデバイス101は図4、NANデバイス103は図5の処理を夫々開始する。
NANデバイス101はNANデバイス103にデータ通信要求信号を送信する(ステップS608)。いま、NANデバイス103がインフラネットワークを介した通信によるデータ通信を行っているので、NANデバイス101は当該通信を考慮した動作チャネルおよび期間を含むデータ通信要求信号を送信する。
当該データ通信要求信号を受信したNANデバイス103は、要求された動作チャネルおよび期間にNDLによるデータ通信を行うことができるため、NANデバイス101に受容応答を含むデータ通信応答信号を送信する(ステップS609)。
データ通信応答信号を受信したNANデバイス101は、当該応答に受容応答が含まれていることから、NANデバイス103にデータ通信確定信号を送信する(ステップS610)。
NANデバイス103がデータ通信応答信号を受信すると、当該応答に含まれる動作チャネルおよび期間で、NANデバイス101とNANデバイス103の間でNDLが確立される。
また、データ通信確定信号を受信したNANデバイス103は、NDLによるデータ通信をプロテクトするための暗号鍵や、セキュリティのパラメータを含むセキュリティ M4メッセージを送信する(ステップS611)。なお、NANデバイス103は本ステップをスキップしてもよい。
NANデバイス101は、ユーザからデータの印刷を要求される(ステップS612)。NDLによるデータ通信を行う期間内であるので、NANデバイス101はNDLによるデータ通信として印刷データをNANデバイス103に送信する(ステップS613)。当該印刷データを受信したNANデバイス103は、印刷を実行する(ステップS614)。
本実施形態では、NANデバイスはNDLを確立する際にWi-Fi NAN規格以外の通信規格に準拠した通信で使用している動作チャネルや期間を考慮し、NDLで使用する動作チャネルや期間を決定した。これにより、NANデバイスはWi-Fi NAN規格以外の通信規格に準拠した通信によるデータ通信とNDLによるデータ通信を切り替える際に、動作チャネルの切り替えの発生を抑えることが可能となり、スループットの低下を抑えることができる。また、NANデバイスは異なる通信によるデータ通信を行う期間を前後で合わせることで、パケットの受信待ちにより発生する消費電力を抑えることができる。
なお、本実施形態は、NDLの確立時について説明したが、その他のWi-Fi NAN規格に基づく通信を確立する際にも適用できる。例えば、NANデバイス同士の距離を計測する際や、代理でサーバを立てる際の手続きで適用してもよい。
<実施形態2>
本実施形態では、NANデバイスが、NDL確立後にWi-Fi NAN規格以外の通信規格に準拠した通信によるデータ通信を開始した場合について説明する。
本実施形態に係るNANデバイス101が参加するネットワーク構成は、図1と同様である。なお、AP104はNANデバイス103とインフラネットワークを介した通信によるデータ通信を行っていない。
NANデバイス101、102、103の機能構成は図2と同様である。また、NANデバイス101、102、103のハードウェア構成は図3と同様である。
図9は、NANデバイス103がNANデータリンクを確立している場合に他のデータ通信を開始する際に、記憶部301に記憶されたプログラムを制御部302が実行することで実現される処理を示すフローチャートである。
本フローチャートはNANデバイス103がNANデバイス101とNDLを確立しデータ通信を行っている場合に、NANデバイス103がWi-Fi NAN規格以外の通信規格に準拠した通信によるデータ通信を開始したことにより開始される。
なお、本フローチャートの処理を行うNANデバイスは、Subscriberであってもよいし、Publisherであってもよい。
NANデバイス103の制御部302は、Wi-Fi NAN規格以外の通信規格に準拠した通信で使用する動作チャネルが、NDLによるデータ通信で使用する動作チャネルと異なるか判定する(ステップS901)。
Wi-Fi NAN規格以外の通信規格に準拠した通信で使用する動作チャネルがNDLで使用する動作チャネルと異ならないと判定された場合(ステップS901のNo)、NANデバイス103の制御部302はステップS912の処理を行う。なお、Wi-Fi NAN規格以外の通信規格に準拠した通信で使用する動作チャネルが、NDLによるデータ通信で使用する動作チャネルと異ならない場合とは、二つの動作チャネルが同じ場合である。NANデバイス103の制御部302はステップS912において現在行っているNDLを維持し、本フローチャートを終了する。
一方、Wi-Fi NAN規格以外の通信規格に準拠した通信で使用する動作チャネルがNDLで使用する動作チャネルと異なると判定された場合(ステップS901のYes)、NANデバイス103の制御部302はステップS902の処理を行う。NANデバイス103の制御部302は、Wi-Fi NAN規格以外の通信規格に準拠した通信と、Wi-Fi NAN規格に準拠した通信とで共通のRFモジュールを使用しているか判定する(ステップS902)。本判定は、図4のステップS402と同様に行う。
Wi-Fi NAN規格以外の通信規格に準拠した通信とWi-Fi NAN規格に準拠した通信とで共通のRFモジュールを使用していると判定されると(ステップS902のYes)、NANデバイス103の制御部302はステップS904の処理を行う。NANデバイス103の制御部302は、NANデバイス101にスケジュール更新要求信号を送信する。なお、スケジュール更新要求信号のフレームの構成は図7に示した通りである。本ステップのスケジュール更新要求信号に含まれる動作チャネルは、NANデバイス103が行っているWi-Fi NAN規格以外の通信規格に準拠した通信と同じ動作チャネルである。また、当該要求に含まれる期間は、NANデバイス103が行っているWi-Fi NAN規格以外の通信規格に準拠した通信によるデータ通信が行われる期間の前後の期間である。NANデバイス103の制御部302は、ステップS904の処理を行うと、ステップS906の処理を行う。
Wi-Fi NAN規格以外の通信規格に準拠した通信と、Wi-Fi NAN規格に準拠した通信とで共通のRFモジュールを使用していないと判定すると(ステップS902のNo)、NANデバイス103の制御部302はステップS903の処理を行う。NANデバイス103の制御部302は、NDLの動作チャネルと、Wi-Fi NAN規格以外の通信規格に準拠した通信の動作チャネルとを取得し、夫々が干渉しやすいか判定する(ステップS903)。具体的には、NANデバイス103の制御部302は、NANデバイス103が行っているNDLの動作チャネルと、Wi-Fi NAN規格以外の通信規格による通信がおこなっている通信の動作チャネルを取得し、それらの動作チャネルが干渉するか判定する。例えばNDLの動作チャネルが1chの場合、Wi-Fi NAN規格以外の動作チャネルが1~5chの何れかである場合は干渉しやすいと判定する。
NDLの動作チャネルと、Wi-Fi NAN規格以外の通信規格に準拠した通信の動作チャネルが干渉しにくいと判定されると(ステップS903のNo)、NANデバイス103の制御部302はステップS912の処理を行う。NDLの動作チャネルと、Wi-Fi NAN規格以外の通信規格に準拠した通信の動作チャネルが干渉しやすいと判定されると(ステップS903のYes)、NANデバイス103の制御部302はステップS905の処理を行う。NANデバイス103の制御部302はNANデバイス101にスケジュール更新要求信号を送信する。当該要求に含まれる動作チャネルは、NANデバイス103が行っているWi-Fi NAN規格以外の通信規格に準拠した通信と干渉しない動作チャネルである。また、当該要求に含まれる期間は、Wi-Fi NAN規格以外の通信規格に準拠した通信によるデータ通信が行われる期間と干渉しない期間である。NANデバイス103の制御部302は、ステップS905の処理を行うと、ステップS906の処理を行う。
NANデバイス103の制御部302は、NANデバイス101からスケジュール更新応答信号を受信する(ステップS906)。スケジュール更新応答信号のフレーム構成は、図7に示した通りである。
NANデバイス103の制御部302はスケジュール更新応答信号を受信すると、スケジュール更新要求信号に対するNANデバイス101の応答が受容であるか判定する(ステップS907)。具体的には、NANデバイス103の制御部302はステップS906で受信したスケジュール更新応答信号のType、Status704の値を確認する。本実施形態では、Type、Status704の下位4ビットの値が1であるか判定する。NANデバイス101の応答が受容でない場合(ステップS907のNo)、NANデバイス103の制御部302はWi-Fi NAN規格以外の通信規格に準拠した通信の動作チャネルが変更可能か判定する(ステップS909)。当該判定は、図4のステップS413と同様に行う。
Wi-Fi NAN規格以外の通信規格に準拠した通信の動作チャネルが変更可能でないと判定すると(ステップS909のNo)、NANデバイス103の制御部302はステップS912の処理を行う。一方、Wi-Fi NAN規格以外の通信規格に準拠した通信の動作チャネルが変更可能であると判定されると(ステップS909のYes)、NANデバイス103の制御部302はステップS911の処理を行う。ステップS911の処理は、図4のステップS414と同様である。なお、ステップS911でNANデバイス103の制御部302はスケジュール更新要求信号を送信する。NANデバイス103の制御部302は、ステップS911の処理を行うと、ステップS906の処理を行う。
一方、ステップS907において、NANデバイス101の応答が受容であった場合(ステップS907のYes)、NANデバイス103の制御部302はNANデバイス101にスケジュール更新確定信号を送信する(ステップS908)。そしてNANデバイス103の制御部302は、スケジュール更新確定信号に含まれる動作チャネルおよび期間で、NANデバイス101とNDLによるデータ通信を開始し(ステップS910)、本フローチャートを終了する。
図10は、NANデバイス101がNANデータリンクを確立している場合に相手装置が他のデータ通信を開始する際に、記憶部301に記憶されたプログラムを制御部302が実行することで実現される処理を示すフローチャートである。
本フローチャートはNANデバイス101がNANデバイス103とNDLを確立しデータ通信を行っている場合に、NANデバイス101からスケジュール更新要求信号を受信したことにより開始される。
なお、本フローチャートの処理を行うNANデバイスは、SubscriberであってもよいしPublisherであってもよい。
NANデバイス101の制御部302は、NANデバイス101がWi-Fi NAN規格以外の通信規格に準拠した通信によるデータ通信を行っているか判定する(ステップS1001)。NANデバイス101がWi-Fi NAN規格以外の通信規格に準拠した通信によるデータ通信を行っていないと判定された場合(ステップS1001のNo)、NANデバイス101の制御部302はステップS1006の処理を行う。
一方、NANデバイス101がWi-Fi NAN規格以外の通信規格に準拠した通信によるデータ通信を行っていると判定された場合(ステップS1001のYes)、NANデバイス101の制御部302はステップS1002の処理を行う。NANデバイス101の制御部302はWi-Fi NAN規格に準拠した通信と、Wi-Fi NAN規格以外の通信規格に準拠した通信とが、共通のRFモジュールを用いているか判定する(ステップS1002)。本ステップは図9のステップS902と同様である。共通のRFモジュールを用いていないと判定されると(ステップS1002のNo)、NANデバイス101の制御部302はステップS1006の処理を行う。
共通のRFモジュールを用いていると判定されると(ステップS1002のYes)、NANデバイス101の制御部302はステップS1003の処理を行う。NANデバイス101の制御部302は受信したスケジュール更新要求信号に含まれる動作チャネルと期間が受け入れられるか判定する(ステップS1003)。本判定は、図5のステップS506と同様に行う。受信したスケジュール更新要求信号に含まれる動作チャネルと期間が受け入れられないと判定されると(ステップS1003のNo)、NANデバイス101の制御部302はステップS1004の処理を行う。ステップS1004の処理は、図5のステップS507と同様の処理である。なお、ステップS1004でNANデバイス101の制御部302はスケジュール更新応答信号を送信する。
受信したスケジュール更新要求信号に含まれる動作チャネルと期間が受け入れられると判定されると(ステップS1003のYes)、NANデバイス101の制御部302はステップS1005の処理を行う。ステップS1005の処理は図5のステップS508の処理と同様である。なお、ステップS1005でNANデバイス101の制御部302はスケジュール更新応答信号を送信する。ステップS1005の処理を行ったNANデバイス101の制御部302は、ステップS1009の処理を行う。
NANデバイス101の制御部302はステップS1006において、受信したスケジュール更新要求信号に含まれる動作チャネルと期間が受け入れられるか判定する。受信したスケジュール更新要求信号に含まれる動作チャネルと期間が受け入れられないと判定すると(ステップS1006のNo)、NANデバイス101の制御部302はステップS1007の処理を行う。ステップS1007の処理は、図5のステップS510の処理と同様である。なお、ステップS1007でNANデバイス101の制御部302はスケジュール更新応答信号を送信する。
受信したスケジュール更新要求信号に含まれる動作チャネルと期間が受け入れられると判定すると(ステップS1006のYes)、NANデバイス101の制御部302はステップS1008の処理を行う。ステップS1008の処理は、図5のステップS511と同様である。なお、ステップS1008でNANデバイス101の制御部302はスケジュール更新応答信号を送信する。ステップS1008の処理を行ったNANデバイス101の制御部302はステップS1009の処理を行う。
NANデバイス101の制御部302はスケジュール更新確定信号を受信したか判定する(ステップS1009)。スケジュール更新確定信号を受信したと判定すると(ステップS1009のYes)、NANデバイス101の制御部302はスケジュール更新確定信号に含まれる動作チャネル、期間でNDLによるデータ通信を開始する(ステップS1010)。そして、NANデバイス101の制御部302は、本フローチャートを終了する。一方、スケジュール更新確定信号を受信しなかったと判定すると(ステップS1009のNo)、NANデバイス101の制御部302は現在NANデバイス103と行っているNDLによるデータ通信を維持する(ステップS1011)。そしてNANデバイス101の制御部302は本フローチャートを終了する。
図11は、NANデバイス101およびNANデバイス103がNANデータリンクを確立している場合に他のデータ通信を開始する際に実行する処理を示すシーケンス図である。
本フローチャートにおいて、NANデバイス101とNANデバイス103はNDLによるデータ通信を行っている。
NANデバイス103がWi-Fi NAN規格以外の通信規格に準拠した通信として、インフラネットワークを介した通信を開始する(ステップS1101)。NANデバイス103は、図9のフローチャートに従い、NANデバイス101とのNDLの動作チャネルを変更するか判定する。本シーケンスにおいて、NANデバイス103はWi-Fi NAN規格に準拠した通信と、Wi-Fi NAN規格以外の通信規格に準拠した通信とで共通のRFモジュールを用いているとする。
NANデバイス103はNDLによるデータ通信の動作チャネルを変更するため、NANデバイス101にスケジュール更新要求信号を送信する(ステップS1102)。スケジュール更新要求信号を受信したNANデバイス101は、当該要求に含まれる動作チャネルおよび期間を受容できるかを判定する。NANデバイス101は当該要求に含まれる動作チャネルおよび期間を受容できると判定し、受容応答を含むスケジュール更新応答信号をNANデバイス103に送信する(ステップS1103)。NANデバイス103は受容応答を受信したことに基づき、NANデバイス101にスケジュール更新確定信号を送信する(ステップS1104)。
NANデバイス101とNANデバイス103はスケジュール更新確定信号に含まれる動作チャネルおよび期間でNDLによるデータ通信を開始する。
NANデバイス101は、ユーザからデータの印刷を要求される(ステップS1105)。NDLによるデータ通信を行う期間内であるので、NANデバイス101はNDLによるデータ通信として印刷データをNANデバイス103に送信する(ステップS1106)。当該印刷データを受信したNANデバイス103は、印刷を実行する(ステップS1107)。
本実施形態では、NDLによるデータ通信を行っているNANデバイスがWi-Fi NAN規格以外の通信規格に準拠した通信によるデータ通信を開始する場合に、当該通信の動作チャネルや期間を考慮してNDLの動作チャネルや期間を変更する。既に確立しているNDLの動作チャネルや期間を変更することで、Wi-Fi NAN規格以外の通信規格に準拠した通信によるデータ通信とNDLによるデータ通信を切り替える際に、動作チャネルの切り替えの発生を抑えることが可能となる。これにより、スループットの低下を抑えることができる。また、異なる通信によるデータ通信を行う期間を前後で合わせることで、パケットの受信待ちにより発生するスループットの低下を抑えることができる。
なお、実施形態1および実施形態2において、Wi-Fi NAN規格に準拠した通信には、DW外に行うNDLによるデータ通信だけでなく、DW中に行う通信が含まれてもよい。また、Wi-Fi NAN規格以外の通信規格に準拠した通信には、Post NANによって確立した通信が含まれてもよい。
なお、実施形態1および実施形態2において、NANデバイスがNDLと、Wi-Fi NAN規格以外の通信規格に準拠した通信との動作チャネルを、Wi-Fi NAN規格に準拠したDW中の通信と異なる動作チャネルにした場合を想定する。NANデバイスは、このような場合において、NDLによるデータ通信は継続しながら、参加しているNANクラスタから離脱してもよい。これにより、NANデバイスはDW中に信号の送受信をする必要がなくなるので、DW中に行う通信と、NDLやWi-Fi NAN規格以外の通信規格に準拠した通信とで動作チャネルを切り替える必要がなくなり、スループットが向上する。
実施形態1および実施形態2において、Wi-Fi NAN規格以外の通信規格に準拠した通信やNDLの、夫々の動作チャネルやデータ通信を行う期間を考慮した。しかしこれに限らず単に動作チャネルのみを考慮してもよい。具体的にはNANデバイスが共通のRFモジュールでWi-Fi NAN規格に準拠する通信と、Wi-Fi NAN規格以外の通信規格に準拠する通信を行っている場合、NANデバイスは二つの通信の動作チャネルが同じであるか考慮すればよい。あるいは、これらの通信が異なるRFモジュールを用いて行われている場合は、夫々の通信の動作チャネルが互いに干渉しないか考慮すればよい。
実施形態1および実施形態2において、NANデバイス101はNDLによるデータ通信と、Wi-Fi NAN規格以外の通信規格に準拠した通信によるデータ通信とを行う場合、どちらかのデータ通信の動作チャネルを変更した。しかし、NDLによるデータ通信がマルチキャストで行われる場合、NANデバイス101はいずれのデータ通信の動作チャネルも変更しなくてもよい。例えば、NANデバイス101がマルチキャストでNDLによるデータ通信を行っている場合に、NANデバイス101がWi-Fi NAN規格以外の通信規格に準拠した通信によるデータ通信を開始したとする。この場合、NANデバイス101はNDLによるデータ通信と、Wi-Fi NAN規格以外の通信規格に準拠した通信との何れの動作チャネルも変更しなくてもよい。また、例えばNANデバイス101がNDLでデータ通信を行っている相手装置が、マルチキャストでデータを送信する装置(ソースデバイス)である場合に、NANデバイス101がWi-Fi NAN規格以外の通信規格に準拠した通信を開始するとする。この場合、NANデバイス101は、自装置が開始したWi-Fi NAN規格以外の通信規格に準拠した通信の動作チャネルより、NDLによるデータ通信の動作チャネルを優先してもよい。具体的には、NANデバイス101がWi-Fi NAN規格以外の通信規格に準拠した通信の動作チャネルを変更できる場合、当該通信の動作チャネルをNDLによるデータ通信の動作チャネルと同じになるように変更してもよい。なお、NANデバイス101がWi-Fi NAN規格以外の通信規格に準拠した通信の動作チャネルを変更できない場合、NANデバイス101は当該通信およびNDLによるデータ通信の何れの動作チャネルも変更しなくてもよい。なお、NANデバイス103がマルチキャストでNDLによるデータ通信を行っている場合についても同様である。
実施形態1において、NANデバイス101が、複数のWi-Fi NAN規格以外の通信規格に準拠した通信を行っている場合を想定する。この場合、NANデバイス101は動作チャネルを考慮する際に、データ通信量が多いWi-Fi NAN規格以外の通信規格に準拠した通信と、NDLによるデータ通信との動作チャネルを同じにする。あるいは、NANデバイス101は、データ通信時間が長いWi-Fi NAN規格以外の通信規格に準拠した通信と、NDLによるデータ通信との動作チャネルを同じにしてもよい。なお、NANデバイス103が、複数のWi-Fi NAN規格以外の通信規格に準拠した通信を行っている場合についても同様である。
また、実施形態2において、NANデバイス101がWi-Fi NAN規格以外の通信規格に準拠した通信と、NDLによるデータ通信とを行っている場合に、当該通信規格とは異なる通信規格に準拠した通信を開始する場合を想定する。この場合、NANデバイス101はNDLによるデータ通信の動作チャネルを、データ通信量が多いWi-Fi NAN規格以外の通信規格に準拠した通信の動作チャネルと同じにする。あるいは、NANデバイス101はNDLによるデータ通信の動作チャネルを、データ通信時間が長いWi-Fi NAN規格以外の通信規格に準拠した通信と同じ動作チャネルにしてもよい。なお、NANデバイス101が新たに開始するWi-Fi NAN規格以外の通信規格に準拠した通信について、データ通信量やデータ通信時間などの情報を取得できない場合、動作チャネルを揃えなくてもよい。なお、NANデバイス103が、Wi-Fi NAN規格以外の通信規格に準拠した通信と、NDLによるデータ通信とを行っている場合についても同様である。
実施形態1および実施形態2では1対1でのNANデータリンクの構築を示したが、複数のNANデバイスに対して同様のことを行ってもよい。実施形態1の場合は、複数のNANデバイスで同時にNANデータリンクを構築してもよい。または実施形態1で示した方法を1台ずつ順に行ってもよい。実施形態2の場合は、複数の端末について動作チャネルおよび期間の変更を希望し、どれか一つでも拒絶してきた場合はその時点で動作チャネルおよび期間の変更を中止してもよい。これにより、動作チャネルおよび期間の変更を希望した場合でも、他の端末との兼ね合いによっては動作チャネルおよび期間の変更を中断できる。これにより、複数端末とNDLによるデータ通信を行っている場合でも動作チャネルと期間の分散を防ぎ、省電力での通信が可能となる。
なお、実施形態1および実施形態2において、Wi-Fi NAN規格以外の通信規格に準拠した通信とは、Wi-Fi NAN規格以外のIEEE802.11シリーズ規格に準拠した他の無線通信方式で行う通信であるとした。しかし、これに限らず、Wi-Fi NAN規格以外の通信規格に準拠した通信は、Wi-Fi NAN規格に準拠した通信で使用する動作チャネルと同じ動作チャネルを使用可能な無線通信であれば、その他の無線通信であってもよい。
なお、図4、図5、図9、図10に示したNANデバイスのフローチャートの少なくとも一部または全部をハードウェアにより実現してもよい。ハードウェアにより実現する場合、例えば、所定のコンパイラを用いることで、各ステップを実現するためのプログラムからFPGA上に専用回路を生成し、これを利用すればよい。FPGAとは、Field Programmable Gate Arrayの略である。また、FPGAと同様にしてGate Array回路を形成し、ハードウェアとして実現するようにしてもよい。また、ASIC(Application Specific Integrated Circuit)により実現するようにしてもよい。図6、図11に示したシーケンス図においても同様である。
また、図4、図5、図9、図10に示したフローチャートや、図6、図11に示したシーケンス図の各ステップを不図示の複数のCPUもしくは装置で分散して行うようにしてもよい。
以上、実施形態を詳述したが、本発明は例えば、システム、装置、方法、プログラム若しくは記録媒体(記憶媒体)等としての実施態様をとることが可能である。具体的には、複数の機器(例えば、ホストコンピュータ、インタフェイス機器、撮像装置、webアプリケーション等)から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。