JP7093159B2 - 通信装置、通信装置の制御方法、およびプログラム - Google Patents

通信装置、通信装置の制御方法、およびプログラム Download PDF

Info

Publication number
JP7093159B2
JP7093159B2 JP2017002118A JP2017002118A JP7093159B2 JP 7093159 B2 JP7093159 B2 JP 7093159B2 JP 2017002118 A JP2017002118 A JP 2017002118A JP 2017002118 A JP2017002118 A JP 2017002118A JP 7093159 B2 JP7093159 B2 JP 7093159B2
Authority
JP
Japan
Prior art keywords
information
signal
communication device
nan
client device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017002118A
Other languages
English (en)
Other versions
JP2018113553A5 (ja
JP2018113553A (ja
Inventor
佑生 吉川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2017002118A priority Critical patent/JP7093159B2/ja
Priority to PCT/JP2017/041819 priority patent/WO2018131296A1/ja
Publication of JP2018113553A publication Critical patent/JP2018113553A/ja
Priority to US16/502,207 priority patent/US11575768B2/en
Publication of JP2018113553A5 publication Critical patent/JP2018113553A5/ja
Application granted granted Critical
Publication of JP7093159B2 publication Critical patent/JP7093159B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/005Discovery of network devices, e.g. terminals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/2876Pairs of inter-processing entities at each side of the network, e.g. split proxies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/06Selective distribution of broadcast services, e.g. multimedia broadcast multicast service [MBMS]; Services to user groups; One-way selective calling services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W52/00Power management, e.g. TPC [Transmission Power Control], power saving or power classes
    • H04W52/02Power saving arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/02Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
    • H04W84/10Small scale networks; Flat hierarchical networks
    • H04W84/12WLAN [Wireless Local Area Networks]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks

Description

本発明は、通信装置、通信装置の制御方法、およびプログラムに関する。
近年、IEEE802.11規格シリーズに代表される無線LAN(Local Area Network)が広く利用されている。無線LANは、多くの場合、アクセスポイント(AP)と呼ばれる基地局によってネットワークが制御される。このAPと、APの電波到達範囲内に存在し、無線接続状態であるステーション(STA)とによって無線ネットワークが構成される。
また、このような従来型のAPとSTAによる単純な無線ネットワーク構成のみならず、さまざまな無線LANのネットワーク形態の製品、および仕様規格が登場している。特許文献1には、Wi-Fi Allianceによって規定された、他の装置が実行可能なサービスを発見するための規格であるNAN(Neighbor Awareness Networking)について記載されている。特許文献1によれば、NANでは、各装置が、サービス情報をビーコン信号に基づいて定められた期間において通信する。各装置は、定められた期間において通信し、それ以外の期間では、無線通信を行わないスリープ状態となることで、他の装置が実行可能なサービスの発見を効率的に行うことができる。
サービスの検索や提供を他の通信装置に依頼(以降、Proxy)することで、自身の無線信号が到達できない範囲にいる通信装置のサービスの発見をしたり、逆に発見してもらったりする方法の提案がなされている(特許文献2)。当該提案によれば、例えば、依頼する側の通信装置(以降、Proxy Client)が所望のサービスの検索を、依頼される側の通信装置(以降、Proxy Server)に依頼する。そして、Proxy Serverは、他の通信装置からのサービスの問い合わせに対して、依頼されたサービスの内容(例えばサービスの名前)と合致するサービスをProxy Clientに通知する。これにより、Proxy Clientは、所望のサービスを発見することができる。
米国特許出願公開第2015/0036540号明細書 米国特許出願公開第2015/0081840号明細書
このように、上記の技術では、Proxy Serverは、依頼されたサービスと他の通信装置が問い合わせたサービスの名前が一致すれば、当該サービスおよび当該他の通信装置の情報をProxy Clientに送信する。このような手順では、Proxy Clientは、所望のサービスを効率的に発見することができるが、Proxy Serverは、例えば、同じ他の通信装置に関する情報をProxy Clientに複数回送信してしまう可能性がある。すなわち、必要以上に多くの情報をProxy Clientに通知してしまう可能性がある。
本発明は、このような課題に鑑みてなされたものであり、代理を依頼する装置に通知する情報を適切に決定することを目的とする。
上記目的を達成するための一手段として、本発明の通信装置は以下の構成を有する。すなわち、NAN(Neighbor Awareness Networking)に準拠するネットワークにおいて、クライアント装置から依頼を受けて複数の他の通信装置との通信を代理することが可能な通信装置であって、前記複数の他の通信装置のそれぞれから、サービスを提供していることを通知するための信号を、所定の間隔で到来する所定の期間において受信する受信手段と、前記受信手段により受信された前記信号が前記クライアント装置により通知された所定のフィルタリング条件に合致する場合に、前記信号の送信元の他の通信装置に関する情報を前記クライアント装置へ通知すべきと判定する判定手段と、前記判定手段によって前記信号の送信元の他の通信装置に関する情報を前記クライアント装置へ通知すべきと判定された場合、当該信号の送信元の他の通信装置に関する情報を保持する保持手段と、前記クライアント装置からの要求に応じて、前記保持手段によって保持されている情報を、前記所定の期間において前記クライアント装置に通知する通知手段と、を有し、前記通知手段は、前記保持手段によって保持されている前記他の通信装置に関する情報が2つ以上存在する場合は、当該2つ以上の情報をまとめて前記クライアント装置に通知する。
本発明によれば、代理を依頼する装置に通知する情報を適切に決定することが可能となる。
通信システムの構成を示す図である。 NANデバイスの構成例である。 NANデバイス101の動作を示すフローチャートである。 実施形態1に従う通信システムにおける例示的なシーケンスを示す図である。 Publisher Listのフレームの構成例である。 実施形態1に従う通信システムにおける別の例示的なシーケンスを示す図である。
以下では、NAN規格に準拠した無線LAN通信システムを用いた例について説明する。NANでは、サービス情報を、Discovery Window(以降、DW)と呼ばれる期間に通信する。DWは、NAN規格に準拠して通信を行うデバイス(以下、NANデバイス)が、convergeする時間およびチャネルである。DWは、DW0~DW15の16個のDW期間を1つの周期とする時間期間であり、DWn(nは0から15の整数)の16個後のDW期間もまたDWnとなる。一つのDW期間は、16TU(Time Unit)の期間を有する。なお、1TUは1024μsecである。また、それぞれのDW期間は、512TUの間隔毎に発生する。
DWのスケジュールを共有している複数のNANデバイスの集合をNANクラスタと呼ばれる。すなわち、NANクラスタ毎に固有のDWスケジュールが決定される。DW期間のうち、どのくらいの頻度のDW期間で無線信号を受信するかは、各NANデバイスに依存する。しかしながら、NANクラスタに参加する全てのNANデバイスは、特別なDW期間において必ず無線信号を受信できる状態(以降、アウェイク状態)である必要がある。NAN規格によれば、当該特別なDW期間は、16回のDW期間に対して1回の周期で到来するDW期間である、DW0である。また、DW0は、NANクラスタが同期に用いるカウンタタイマであるTSF(Time Synchronization Function)の下位23bitが0x0である時刻から始まるDW期間である。
NANクラスタに属する各NANデバイスは、Master、Non-Master SyncおよびNon-Master Non-Syncのうちの何れかの役割で動作する。Masterとして動作するNANデバイスは、所属するNANクラスタにおける各NANデバイスがDWを識別し、同期するためのビーコンであるSynchronization Beacon(以降、Sync Beacon)を送信する。また、Masterとして動作するNANデバイスは、NANクラスタに属していないデバイス(端末)に当該NANクラスタを認識させるための信号であるDiscovery Beaconを送信する。Discovery Beaconは、例えば100ms毎に、DWの期間外で送信される。なお、各NANクラスタにおいて、少なくとも1台のNANデバイスは、Masterとして動作する。Non-Master Syncとして動作するNANデバイスは、Sync Beaconを送信するが、Discovery Beaconは送信しない。また、Non-Master Non-Syncとして動作するNANデバイスは、Sync BeaconもDiscovery Beaconも送信しない。
NANクラスタに参加するNANデバイスは、受信したSync Beaconに従って、所定周期毎のDW期間に同期し、DW期間においてサービス情報を通信し得る。ただし、Non-Master Non-Syncとして動作するNANデバイスは、すべてのDWで通信を行なう必要はない。
各NANデバイスは、DW期間にサービスを発見または要求するための信号であるSubscribeメッセージや、サービスを提供していることを通知するための信号であるPublishメッセージを互いに通信する。さらに、各NANデバイスは、DW期間にサービスに関する追加情報を交換するためにFollow-upメッセージをやり取りすることができる。なお、Publish、Subscribe、Follow-upといったメッセージを、総称してService Discovery Frame(SDF)と呼ぶ。各NANデバイスは、SDFをやり取りすることで、サービスの広告または検出を行なうことができる。なお、以下の説明において、他のNANデバイスが提供するサービスを探索するためのサービス検索要求メッセージであるSubscribeメッセージを送信するNANデバイスを、Subscriberと称する。また、サービスを提供するためのサービス提供メッセージであるPublishメッセージを送信するNANデバイスを、Publisherと称する。
図1に、以下に説明する実施形態の前提となるネットワーク構成例を示す。NANデバイス101~104及び106は、NAN規格に準拠して通信を行なう通信装置である。NANデバイス101~104、106はそれぞれ、NAN規格に基づいて、周囲の他のNANデバイスが提供するサービスを発見し、また、当該他のNANデバイスにサービスを提供することができる。NANデバイス101~104は、NANクラスタ105に参加している。また、NANデバイス101、106は、NANクラスタ107に参加している。NANクラスタ105に参加している各NANデバイス101~104は、例えば、2.4GHzの周波数帯域の6ch(2.437GHz)で通信する。NANクラスタ107に参加するNANデバイス101、106は、クラスタ105と異なる周波数帯域、例えば、44ch(5.220GHz)で通信する。
続いて、NANデバイス101~104、106の構成を、図2を参照して説明する。図2(a)と図2(b)はそれぞれ、本実施形態におけるNANデバイス(NANデバイス101~104、106)の機能構成例とハードウェア構成例である。
まず、NANデバイスの機能構成について説明する。図2(a)において、無線LAN制御部201は、他の装置とIEEE(Institute of Electrical and Electronic Engineers)802.11シリーズに準拠した無線LAN制御を行う。NAN制御部202は、NAN規格に則った制御を行う。例えば、NAN制御部202は、無線LAN制御部201を制御して、NAN規格に則ったメッセージを通信するための制御を行う。また、NANデバイスがProxy Client(クライアント装置)として機能する場合は、NAN制御部202は、サービスの登録依頼を送信し、Publisher List要求を送信するための制御を行う。また、NANデバイスがProxy Server(サーバ装置)として機能する場合は、NAN制御部202は、サービスの登録依頼を受信し、Publisher Listを送信するための制御を行う。なお、サービスの登録依頼とPublisher Listについては後述する。
メッセージ解析部203は、受信したメッセージに対する解析を行う。例えば、メッセージ解析部203は、受信したメッセージを解析し、受信したメッセージに対して所定の情報が含まれるかについての確認や、受信したメッセージの送信元の確認を行う。メモリ制御部204は、記憶部211(図2(b))を制御する。例えば、メモリ制御部204は、記憶部211において所定の情報が記憶されているかについての確認やメッセージ解析部203による解析/確認結果に基づいて、Publisher Listに含める情報を決定(選択)し、記憶部211への保存を行う。メッセージ解析部203とメモリ制御部204は、NANデバイスがProxy Serverとして機能する場合に機能する。
次に、NANデバイスのハードウェア構成について説明する。図2(b)において、記憶部211は、ROM(Read Only Memory)やRAM(Random Access Memory)等のメモリにより構成され、後述する各週動作を行うためのプログラムや、無線通信のための通信パラメータ等の各種情報を記憶する。なお、記憶部211として、ROM、RAM等のメモリの他に、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD-ROM、CD-R、磁気テープ、不揮発性のメモリカード、DVDなどの記憶媒体を用いてもよい。また、記憶部211が複数のメモリを備えていてもよい。
制御部212は、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等のプロセッサにより構成され、記憶部211に記憶されたプログラムを実行することによりNANデバイス全体を制御する。また、制御部212がマルチコア等の複数のプロセッサを備え、複数のプロセッサによりNANデバイス全体を制御するようにしてもよい。
また、制御部212は、機能部213を制御して、撮像や印刷、投影等の所定の処理を実行する。機能部213は、NANデバイスが所定の処理を実行するためのハードウェアである。例えば、NANデバイスがカメラとして機能する場合、機能部213は、撮像部として撮像処理を行う。また、例えばNANデバイスがプリンタとして機能する場合、機能部213は印刷部として印刷処理を行う。また、例えば、NANデバイスがプロジェクタとして機能する場合、機能部213は投影部として投影処理を行う。機能部213が処理するためのデータは、記憶部211に記憶されているデータであってもよいし、後述する通信部216を介して他のNANデバイス等の他の通信装置と通信したデータであってもよい。
入力部214は、ユーザからの各種操作の受付を行う。出力部215は、ユーザに対して各種出力を行う。ここで、出力部215による出力とは、画面上への表示や、スピーカによる音声出力、振動出力等の少なくとも1つを含む。なお、タッチパネルのように入力部214と出力部215の両方を一つのモジュールで実現するようにしてもよい。出力部215は、表示による出力を行う場合、例えばLCD(Liquid Crystal Display)やLED(Light-Emitting Diode)により構成され、ユーザが視覚で認知可能な情報を出力し、各種UI(User Interface)の表示制御を行う。
通信部216は、IEEE802.11シリーズに準拠した通信を行うためのチップにより構成され、無線通信の制御や、IP(Internet Protocol)通信の制御を行う。また、通信部216はアンテナ217を制御して、無線通信のための無線信号の送受信を行う。NANデバイスは、通信部216を介して、画像データや文書データ、映像データ等のコンテンツを他のNANデバイス等の他の通信装置と通信し得る。なお、NANデバイスは、無線信号を送受信しないDW期間においては、通信部216に電力を供給しないように、制御部212により制御される(すなわちこの場合、NANデバイスはスリープ状態/DOZE状態となる)。
続いて、上記に説明したNANデバイス101~104、106が実行する処理の流れを含む、非限定的ではないいくつかの実施形態を、以下に説明する。
<実施形態1>
本実施形態では、NANデバイス101がNANデバイス102の代理でサービスを探索し、その結果をまとめてPublisher ListとしてNANデバイス102に通知する例について説明する。
本実施形態の説明にあたり、NANデバイス101は、NAN規格に基づいて、周囲のNANデバイスおよびそれらが提供するサービスを発見し、自身が提供可能なサービスの情報を提供することができるものとする。また、NANデバイス101は、他のNANデバイスのサービスの探索および報知を代理することができる、Proxy Serverとして機能するものとする。また、NANデバイス101は、NANクラスタ105にMasterとして参加し、NANクラスタ107にもMasterとして参加しているものとする。
NANデバイス102は、Non-Master Non-Syncの役割を有し、所定のサービス、例えば、プリンタサービスを探索しているものとする。また、NANデバイス102は、Proxy Clientとして機能し、Proxy Serverを発見すると、代理でサービスの検索を依頼することができるものとする。NANデバイス102は、自身でサービスを検索している場合、すなわちProxyを依頼していない場合には、すべてのDW期間で無線信号を受信するものとする。一方で、Proxyを依頼している場合には、NANデバイス102は、DW0、DW3のみで無線信号を受信するものとする。
NANデバイス103、104、106は、NANデバイス102が探索するプリンタサービスを提供可能なデバイスであるPublisherであるとする。NANデバイス103は、NANクラスタ105におけるDW1およびDW2でサービスの報知を行うものとする。NANデバイス104は、NANクラスタ105におけるDW2でサービスの報知を行うものとする。NANデバイス106は、NANデバイス102~104とは別のNANクラスタ107に参加し、NANクラスタ107におけるDW2にてサービスの報知を行うものとする。
次に、Proxy ClientおよびSubscriberとして動作するNANデバイス102の代理でサービス探索を行うNANデバイス101の動作を図3を参照して説明する。図3は、NANデバイス101の動作を示すフローチャートである。当該フローチャートは、NANデバイス101がNANクラスタに参加し、Proxy Serverとしての動作を開始した時点で開始される。また、Proxy Serverとして動作するNANデバイス101の記憶部211内には、Publishメッセージを受信した場合に、当該メッセージに基づくPublisher情報を格納する送信準備部分が設けられるものとする。Publishメッセージには、Publisherを識別するための情報やサービスの情報が含まれる。
なお、図3に示すフローチャートは、NANデバイス101の制御部212が、記憶部211に記憶されている、図2(a)に示す機能を実現するための制御プログラムを実行し、情報の演算および加工並びに各ハードウェアの制御を実行することにより実行される。なお、図3に示すフローチャートに示すステップの一部または全部を例えばASIC等のハードウェアで実現する構成としてもよい。
Proxy Serverとして動作するNANデバイス101は、例えば、Proxy Serverとして動作可能であることをProxy ServiceとしてPublishメッセージを用いて周囲に報知する。Proxy Serverとして動作可能なことの報知の方法は、他の方法でもよい。例えば、NANデバイス101は、送信するSync Beaconに、Proxy動作が可能であることを示す情報を含めてもよい。また、NANデバイス101は、周囲のNANデバイスからProxy Clientとして動作することを示す情報を受け取ってからProxy Serverとしての動作を開始してもよい。
NANデバイス101は、Proxy Clientを発見すると(S301でYes)、Proxy Clientから、代理で検索すべきサービスを登録するための依頼(登録依頼)を受信するまで待つ(S302)。なお、S301の処理は省略してもよい。NANデバイス101は、通信部216を介してNANデバイス102から登録依頼を受信すると(S302でYes)、サービスの代行検索を開始し、登録依頼の送信者(すなわちNANデバイス102)に対してconfirmを送信する(S303)。S303の処理として、例えば、NANデバイス101のNAN制御部202が通信部216を介して、代理で検索するサービスのサービス検索用フレーム(Subscribeメッセージ)を定期的に発信する。なお、省電力のために、NANデバイス101は、Subscribeメッセージを発信せず、PublisherからのPublishメッセージの受信を待つだけでもよい。
この状態で、NANデバイス101が、PublisherからのPublishメッセージを受信すると(S304でYes)、受信したPublishメッセージに含まれるサービスの情報(例えば名前)と、代理検索しているサービスの情報とが一致するかを確認する(S305)。S305の処理は、NANデバイス101のメッセージ解析部203により行われる。受信したPublishメッセージに含まれるサービスの情報と、代理検索しているサービスの情報とが合致する場合、すなわち、Publisherが提供可能なサービスが、代理検索しているサービスであった場合(S305でYes)、処理はS306へ進む。S306では、NANデバイス101は、記憶部211における送信準備部分に、S304で受信したPublishメッセージの送信元のPublisher(以下、送信元Publisher)を識別するための情報が記憶されているかどうかを確認する。S307の処理は、NANデバイス101のメモリ制御部204により行われる。
送信元Publisherを識別するための情報が、記憶部211における送信準備部分に記憶されていないと判定された場合(S306でYes)、NANデバイス101は、受信したPublishメッセージを所定のフィルタに通す(S307)。この処理は、受信したPublishメッセージが、NANデバイス102が定義する所定のフィルタリング条件に合致するか否かを判定するための処理に対応する。S307の処理は、メッセージ解析部203により行われる。本実施形態では、当該所定のフィルタの一例として、マッチングフィルタ(matching filter)および/またはサービス応答フィルタ(service response filter)を用いる。なお、これらのフィルタはNAN規格で規定されている。
マッチングフィルタとは、長さと値の組が複数連なってできるフィルタである。SubscriberがPublishメッセージを受信したときは、Subscriberが持つ受信用マッチングフィルタが、受信したPublishメッセージから読み取れる送信用マッチングフィルタに記された長さと値の組を含んでいた場合に通過すると判断される。一方、PublisherがSubscribeメッセージを受信したときは、Publisherが持つ受信用マッチングフィルタが、受信したSubscribeメッセージから読み取れる送信用マッチングフィルタに記された長さと値の組に含まれていた場合に通過すると判断される。また、サービス応答フィルタは、Mac addressに基づくフィルタである。
受信用マッチングフィルタおよび/またはサービス応答フィルタは、S302でNANデバイス101がNANデバイス102から受信する登録依頼に含まれ得る。NANデバイス101は、代理で受信したPublishメッセージに送信用マッチングフィルタが含まれていれば、NANデバイス102から取得した受信用マッチングフィルタを使用してフィルタリングを行う。また、NANデバイス101は、代理で受信したPublishメッセージにサービス応答フィルタが含まれていれば、NANデバイス102のMac addressを基にフィルタリングを行う。なお、Publishメッセージに各フィルタが含まれていなかった場合は、NANデバイス101は、各フィルタを通過したと判定してもよい。
フィルタを通過した場合(S307でYes)、NANデバイス101は、記憶部211から、送信元Publisherは、以前NANデバイス102に情報を送信した相手かどうかを確認する(S308)。すなわち、NANデバイス101は、送信元Publisherは、NANデバイス102が既に知っているNANデバイスかどうかを確認する。S308の処理は、NANデバイス101のメモリ制御部204により行われる。
以前NANデバイス102に送信した相手でない場合(S308でNo)、NANデバイス101は、記憶部211の送信準備部分に登録されているPublisher情報が所定数(例えば5つ)を超えるかどうかを確認する(S310)。登録されているPublisher情報の数が所定数を超える場合(S309でYes)、送信準備部分に記録されている複数のPublisher情報のうち、Publishメッセージを受信したタイミングが最も古いPublisher情報を除き、新たに送信元Publisherに対応するPublisher情報を記憶部211の送信準備部分に記憶する(S310)。登録されているPublisher情報の数が所定数以下である場合(S309でNo)、NANデバイス101は、新たに送信元Publisherに対応するPublisher情報を記憶部211の送信準備部分に記憶する(S311)。S310とS311の処理は、メモリ制御部204により行われる。
S310の変形例として、NANデバイス101は、最も小さい値のMaster Preferenceを有するPublisherに対応するPublisher情報を削除してもよい。Master Preferenceとは、Masterのなりやすさを決めるために各NANデバイスで自由に定められる値である。これにより、結果として、Master Preferenceが高いPublisherに対応するPublisher情報が登録されることとなり、NANデバイス102が、より安定したPublisherを選択できる可能性が高くなる。
また、更なるS310の変形例として、NANデバイス101がPublisherとProxy Clientとの位置関係がわかる場合には、NANデバイス101は、Proxy Clientからもっとも遠いPublisherに対応するPublisher情報を削除してもよい。当該位置関係は、例えば、受信した信号の信号レベルに基づいて、NAN制御部202により取得することが可能である。これにより、NANデバイス101の記憶部211の送信準備部分に記憶されたPublisherに対応するPublisher(候補としたPublisher)とProxy Clientが通信しにくくなることを防ぐことができる。
S306でYes、S307でNo、S308でYesの場合、処理はS312へ進み、NANデバイス101は、新たに送信元Publisherに対応するPublisher情報を記憶部211に記憶させず、S313へ進む。
なお、S306~S309の処理はそれぞれ独立しており、順番が入れ替わってもよいし、いずれか1つが実施されてもよい。つまり、例えばNANデバイス101は、S306ですでに送信元Publisherが記憶済みであることのみを確認し、記憶済みであれば新たに送信元Publisherに対応するPublisher情報を記憶せず、記憶済みでなければ新たに送信元Publisherに対応するPublisher情報を記憶してもよい。また、NANデバイス101は、Proxy Clientと近距離にいるのであれば、以前にPublisherから受信したPublishメッセージの電波強度を閾値として、新たに送信元PublisherのPublisher情報を記憶するか、しないかを決定してもよい。具体的には、NANデバイス101のNAN制御部202が、以前にPublisherから受信したPublishメッセージの電波強度を閾値(基準)として、当該閾値より低い電波強度のPublishメッセージの送信元のPublisherに対応するPublisher情報を登録しなくてもよい。
また、NANデバイス101は、Publisher、Proxy Clientとの位置関係がわかる場合には、PublisherとProxy Clientの距離が閾値以上の場合にはPublisherを新たに記憶しない、と判断してもよい。当該位置関係は、上述のように、一例として、NAN制御部202により取得可能である。
また、NANデバイス101は、Proxy Serverとして、セキュアである相手とわかっている場合にのみ記憶してもよい。このために、例えば、メッセージ解析部203が、受信したメッセージを解析して送信元Publisherがセキュアかどうか(所定レベルより高いセキュリティレベルを示すか)を判定してもよい。これにより、Proxy Clientはセキュアな相手のみ検索結果として得ることができるようになる。
また、NANデバイス101は、同じPublisherからのPublishメッセージを受信した場合であっても、フィルタが異なるなど、内部の情報が一部異なる場合は別に記憶してもよい。これにより、Publisherが同じデバイスであっても、条件が異なる際に対処することができるようになる。特にフィルタが異なる場合は、NANデバイス101は、フィルタの条件がより多くのデバイスのみを通過するものを優先して記憶してもよい。これにより、より多くのPublisherの候補をProxy Clientに通知することが可能となる。以降、S304~S312のステップをフィルタリング処理と呼ぶ。
S313で、NANデバイスは、Proxy ClientからのPublisher List(Publisher情報の一覧)要求を受信した場合(S313でYes)、NAN制御部202は、記憶部211の送信準備部分に記憶されたPublisher情報からPublisher Listを作成し、通信部216を介してProxy Clientに送信する(S314)。NANデバイス101は、Publisher List要求を受信したDW内、またはPublisher List要求で指定されたDWでPublisher Listを送信し得る。
図5に、Proxy Clientに送信するSDF(Service Discovery Frame)であるPublisher Listのフレーム構成例を示す。SDFはIEEE802.11規格のPublish Action Frameを用いる。SDFは、Publish Action Frameの一部にNANで規定される情報を含めるためのNAN Attribute(501)を含む。情報の種別を示すAttribute ID(502)には、Publisher list Attributeであることを示す0x16が入力される。なお、この値は別の値であってもよい。Num of Publisher(504)は、SDFに含まれるPublisher情報の数が入力される。もし、SDFにPublisher情報が含まれない場合、この値を0としてProxy Clientに送信することになる。
Length(505)からfilter(511)が1つのPublisher情報に対応する。Length(505)には、1つのPublisher情報の長さが入力される。Mac address(506)には、送信元Publisherを識別する情報として送信元PublisherのMac addressが入力される。service ID(507)からfilter(511)には、Publishメッセージに含まれる情報がそのまま入力される。以後(512~)、各Publish情報が505~511と同様に続けられる。
なお、図5に示すフレーム構成は一例であり、別の構成をとってもよい。たとえば、S07でフィルタリングを行っている場合は、NANデバイス101は、filter(511)を除いた形でフレームを送信してもよい。これにより、送信する情報のうち、無駄な情報を除くことができる。また、図5に示す情報の他に、NAN Attributeを付加してもよい。これにより、NANデバイス101は、Publisher List以外のProxyに関する情報をProxy Clientに送信することが可能となる。
続いて、S315でNANデバイス101はProxy ClientからのProxy登録終了依頼を受信すると(S315でYes)、対象のProxy Clientのサービスの代理検索を終了する(S316)。S315とS316の処理は、NAN制御部202により行われる。なお、S304、S313、S315の処理はそれぞれ独立した処理であるため、順番が入れ替わっても構わないし、同時に実施されてもよい。
次に、SubscriberおよびProxy Clientとして動作するNANデバイス102が、NANデバイス101にSubscribeを登録してから、Publisher Listを受信するまでの動作を、図4を参照して説明する。図4は、本実施形態に従うシステムにおける例示的なシーケンス図である。
図4において、NANデバイス102は、DW0、DW3においてアウェイク状態であるとし、それ以外はスリープ状態であるものとする。NANデバイス101、103、104は、すべてのDWにおいてアウェイク状態であるとし、それ以外はスリープ状態であるものとする。NANデバイス103と104は、NANデバイス102が探索するプリンタサービスを提供可能なデバイスであるPublisherであるとする。NANデバイス103は、DW1、DW2にてPublishメッセージを送信し、NANデバイス104は、DW2にてPublishメッセージを送信するものとする。
Masterとして動作するNANデバイス101は各DWで同期するためのビーコンであるSync Beaconを送信する(S401、S404、S408、S413)。NANデバイス102がサービス検索を開始する。DW0になると、NANデバイス102は近くにProxy Serverとして動作するNANデバイス101が存在することを確認し、サービス登録依頼を送信する(S402)。NANデバイス101はサービス登録依頼を受信すると、代理検索の準備を開始するとともに、NANデバイス102にconfirmを送信する(S403)。
次に、NANデバイス103がサービス検索を開始する。DW1になると、NANデバイス101は、代理でSubscribeメッセージを送信する(S405)。NANデバイス103はSubscribeメッセージを受け取ると、Publishメッセージを送信する(S406)。NANデバイス101は、DW1で受信したPublishメッセージを図3のフローに従ってフィルタリング処理する(S407)。フィルタリング処理の結果、NANデバイス101は、NANデバイス103に対応するPublisher情報を記憶部211に記録する。
次に、NANデバイス104がサービス検索を開始する。DW2になると、NANデバイス101は、代理でSubscribeメッセージを送信する(S409)。NANデバイス103、104はこれを受け取ると、Publishメッセージを送信する(S410、S411)。NANデバイス101は、DW2で受信したPublishメッセージを、図3のフローに従ってフィルタリング処理する(S412)。NANデバイス101は、NANデバイス103に対応するPublisher情報は既に記憶部211に記憶しているので、新たに記憶しない。また、NANデバイス101は、NANデバイス104に対応するPublish情報を、フィルタリング処理の結果、新たに記憶しないとする。
その後、DW3にNANデバイス102はPublisher List要求メッセージを送信する(S414)。NANデバイス101はこれを受信すると、Publisher List(図5参照)をNANデバイス102に送信する(S415)。このPublisher Listには、NANデバイス103に対応するPublisher情報が含まれるが、NANデバイス104に対応するPublisher情報は含まれない。
このように、NANデバイス101が代理でサービス検索する際に、検索対象をフィルタリングすることにより、NANデバイス101が送信するPublisherに関する情報の数を減らすことができる。Proxy Clientとなるデバイスは、一般にスマートフォンなどの消費電力をなるべく抑えたい機器である。あらかじめフィルタリングされた情報の通知をProxy Clientは受けるので、Proxy Clientが計算する量が減り、Proxy Clientの消費電力を抑えることができる。
なお、上述のシーケンスでは、NANデバイス101は、同じNANクラスタに参加するNANデバイスからのPublishメッセージのみ対象にフィルタリングしていたが、これに限定されない。例えば、NANデバイス101は、他のNANクラスタに参加するNANデバイスからのPublishメッセージをフィルタリングしてもよい。
図6は、本実施形態に従うシステムにおける別の例示的なシーケンス図である。図6のシーケンスでは、NANデバイス101は、NANデバイス102が所属するNANクラスタ105とは別のNANクラスタ107に参加するNANデバイスからのPublishメッセージもフィルタリングしている。NANデバイス103、104、106は、NANデバイス102が探索するプリンタサービスを提供可能なデバイスであるPublisherであるとする。以下、図4と異なる点について説明する。
NANデバイス106は、5GHzで通信するクラスタ107のDW2にてPublishメッセージを送信する(S606)。NANデバイス101はクラスタ107のDW2で受信したPublishメッセージをフィルタリング処理する(S607)。このとき、Publishメッセージに利用可能な周波数帯域に関する情報が含まれていれば、NANデバイス102が5GHz帯を利用可能かどうか、もしくはNANデバイス106が2.4GHZ帯で通信可能な状態かどうかをフィルタの基準としてもよい。結果、NANデバイス101はNANデバイス106に対応するPublisher情報を記憶部211に記憶すると決定する。
S415で送信するPublisher Listには、NANデバイス103に対応するPublish情報のほか、NANデバイス106に対応するPublish情報も含まれる。これにより、NANデバイス102はより広い範囲のPublisherの情報を得ることができるようになる。また、範囲を広げたとしても、NANデバイス101がフィルタリング処理を行うため、Publisher Listに乗せるデータの量が爆発的に多くなることはない。
<その他の実施形態>
上述の実施形態では、NANデバイス102はDW0、DW3でアウェイク状態となっていたが、他のDWでアウェイク状態となっていてもよい。また、上述の実施形態では、NANデバイス101が、NANデバイス102が要求しているサービスの探索に関して、代理で探索するProxy Serverとして動作する場合について説明した。しかしながら、Proxy機能によって代理送信されるのは探索するサービスの情報に限られない。例えば、NANデバイス101は、他の機器によるサービスを提供している通知を受け付けて、その機器の代わりにサービスを通知してもよい。この場合、NANデバイス101は、例えば、他の機器によるPublishメッセージを代理で送信してその応答であるSubscribeメッセージやFollow-upメッセージを受信することによってサービスの探索を行い得る。なお、NANデバイス101は、Publishメッセージを送信することなく、さらに別の機器が(例えば自発的に)送信したSubscribeメッセージを待ち受けてもよい。いずれの場合であっても、NANデバイス101は、サービスの探索の代理を依頼した機器に対して、その機器が無線信号を受信できるDW期間において、その探索結果を通知することができる。
また、Publisher Listに記録するPublisher情報の数は特定の数に限定されない。また、Publisher Listの送信は1回でなくてもよい。たとえば、3つずつ、2回に分けて送信するとしてもよい。これにより、重複を避けつつ、より多種類で通信する可能性の高い候補を送信することが可能となる。また、上述の実施形態では、NANデバイス101は、NANデバイス102からのProxy要求を受け付けたが、他の1つ以上のNANデバイスからのProxy要求を受け付けてもよい。
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能の少なくとも一部を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置の1以上のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
101~104、106 NANデバイス
105、107 NANクラスタ

Claims (9)

  1. NAN(Neighbor Awareness Networking)に準拠するネットワークにおいて、クライアント装置から依頼を受けて複数の他の通信装置との通信を代理することが可能な通信装置であって、
    前記複数の他の通信装置のそれぞれから、サービスを提供していることを通知するための信号を、所定の間隔で到来する所定の期間において受信する受信手段と、
    前記受信手段により受信された前記信号が前記クライアント装置により通知された所定のフィルタリング条件に合致する場合に、前記信号の送信元の他の通信装置に関する情報を前記クライアント装置へ通知すべきと判定する判定手段と、
    前記判定手段によって前記信号の送信元の他の通信装置に関する情報を前記クライアント装置へ通知すべきと判定された場合、当該信号の送信元の他の通信装置に関する情報を保持する保持手段と、
    前記クライアント装置からの要求に応じて、前記保持手段によって保持されている情報を、前記所定の期間において前記クライアント装置に通知する通知手段と、
    を有し、
    前記通知手段は、前記保持手段によって保持されている前記他の通信装置に関する情報が2つ以上存在する場合は、当該2つ以上の情報をまとめて前記クライアント装置に通知することを特徴とする通信装置。
  2. 前記判定手段は、前記信号の送信元の他の通信装置に関する情報が既に前記保持手段により保持されている場合に、当該信号の送信元の他の通信装置に関する情報を前記クライアント装置に通知すべきではないと判定し、
    前記通知手段は、前記信号の送信元の他の通信装置に関する情報を重複して前記クライアント装置に通知しない
    ことを特徴とする請求項に記載の通信装置。
  3. 前記判定手段は、前記通知手段により、前記信号の送信元の他の通信装置に関する情報が既に前記クライアント装置に通知されている場合、当該信号の送信元の他の通信装置に関する情報を前記クライアント装置に通知すべきではないと判定することを特徴とする請求項1又は2に記載の通信装置。
  4. 前記判定手段は、前記信号が、所定の閾値より高い電波強度を有する場合に、当該信号の送信元の他の通信装置に関する情報を前記クライアント装置に通知すべきと判定することを特徴とする請求項からのいずれか1項に記載の通信装置。
  5. 前記判定手段は、前記信号が、所定のレベルより高いセキュリティレベルを示す場合に、当該信号の送信元の他の通信装置に関する情報を前記クライアント装置に通知すべきと判定することを特徴とする請求項からのいずれか1項に記載の通信装置。
  6. 前記受信手段は、前記所定の期間と、前記所定の間隔と異なる別の所定の間隔で到来する別の所定の期間において、それぞれの期間で異なる周波数帯域を用いて前記信号を受信し、
    前記判定手段は、前記信号が、前記異なる周波数帯域の両方で通信可能であることを示す場合に、当該信号の送信元の他の通信装置に関する情報を前記クライアント装置に通知すべきと判定することを特徴とする請求項からのいずれか1項に記載の通信装置。
  7. 前記所定の期間は、Neighbor Awareness Networking規格で規定されているDiscovery Windowであることを特徴とする請求項1からのいずれか1項に記載の通信装置。
  8. NAN(Neighbor Awareness Networking)に準拠するネットワークにおいて、クライアント装置から依頼を受けて複数の他の通信装置との通信を代理することが可能な通信装置の制御方法であって、
    前記複数の他の通信装置のそれぞれから、サービスを提供していることを通知するための信号を、所定の間隔で到来する所定の期間において受信する受信工程と、
    前記受信工程により受信された前記信号が前記クライアント装置により通知された所定のフィルタリング条件に合致する場合に、前記信号の送信元の他の通信装置に関する情報を前記クライアント装置へ通知すべきと判定する判定工程と、
    前記判定工程によって前記信号の送信元の他の通信装置に関する情報を前記クライアント装置へ通知すべきと判定された場合に、当該信号の送信元の他の通信装置に関する情報を保持する保持工程と、
    前記クライアント装置からの要求に応じて、前記保持工程において保持されている情報を、前記所定の期間において前記クライアント装置に通知する通知工程と、
    を有し、
    前記通知工程では、前記保持工程において保持されている前記他の通信装置に関する情報が2つ以上存在する場合は、当該2つ以上の情報をまとめて前記クライアント装置に通知することを特徴とする通信装置の制御方法。
  9. コンピュータを、請求項1からのいずれか1項に記載の通信装置として機能させるためのプログラム。
JP2017002118A 2017-01-10 2017-01-10 通信装置、通信装置の制御方法、およびプログラム Active JP7093159B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2017002118A JP7093159B2 (ja) 2017-01-10 2017-01-10 通信装置、通信装置の制御方法、およびプログラム
PCT/JP2017/041819 WO2018131296A1 (ja) 2017-01-10 2017-11-21 通信装置、通信装置の制御方法、およびプログラム
US16/502,207 US11575768B2 (en) 2017-01-10 2019-07-03 Communication apparatus capable of notifying a client apparatus, control method thereof, and medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017002118A JP7093159B2 (ja) 2017-01-10 2017-01-10 通信装置、通信装置の制御方法、およびプログラム

Publications (3)

Publication Number Publication Date
JP2018113553A JP2018113553A (ja) 2018-07-19
JP2018113553A5 JP2018113553A5 (ja) 2020-02-06
JP7093159B2 true JP7093159B2 (ja) 2022-06-29

Family

ID=62840448

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017002118A Active JP7093159B2 (ja) 2017-01-10 2017-01-10 通信装置、通信装置の制御方法、およびプログラム

Country Status (3)

Country Link
US (1) US11575768B2 (ja)
JP (1) JP7093159B2 (ja)
WO (1) WO2018131296A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019047289A (ja) 2017-08-31 2019-03-22 キヤノン株式会社 通信装置、その制御方法、およびプログラム
JP7118617B2 (ja) * 2017-10-13 2022-08-16 キヤノン株式会社 通信装置、通信方法、及びプログラム
US11147126B2 (en) 2018-05-15 2021-10-12 Apple Inc. Neighbor awareness networking discovery window congestion mitigation

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013187703A (ja) 2012-03-07 2013-09-19 Canon Inc 通信装置、通信装置の制御方法、プログラム
WO2015038272A1 (en) 2013-09-13 2015-03-19 Qualcomm Incorporated System and method for multihop service discovery with member station proxy service advertisements
WO2016069372A1 (en) 2014-10-30 2016-05-06 Qualcomm Incorporated Network discovery
WO2016113775A1 (ja) 2015-01-15 2016-07-21 株式会社ベイビッグ 無線通信システム及び無線通信方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2705021A1 (en) * 2007-11-25 2009-05-28 Trilliant Networks, Inc. Proxy use within a mesh network
US9432925B2 (en) 2013-08-05 2016-08-30 Nokia Technologies Oy Method, apparatus, and computer program product for hop count usage in cluster selection
JP6548539B2 (ja) 2015-09-24 2019-07-24 キヤノン株式会社 無線通信装置、無線通信方法、およびプログラム
JP6579884B2 (ja) * 2015-09-24 2019-09-25 キヤノン株式会社 通信装置、制御方法、及びプログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013187703A (ja) 2012-03-07 2013-09-19 Canon Inc 通信装置、通信装置の制御方法、プログラム
WO2015038272A1 (en) 2013-09-13 2015-03-19 Qualcomm Incorporated System and method for multihop service discovery with member station proxy service advertisements
JP2016530841A (ja) 2013-09-13 2016-09-29 クゥアルコム・インコーポレイテッドQualcomm Incorporated メンバー局プロキシサービス通知を用いたマルチホップサービス発見のためのシステムおよび方法
WO2016069372A1 (en) 2014-10-30 2016-05-06 Qualcomm Incorporated Network discovery
WO2016113775A1 (ja) 2015-01-15 2016-07-21 株式会社ベイビッグ 無線通信システム及び無線通信方法

Also Published As

Publication number Publication date
US11575768B2 (en) 2023-02-07
WO2018131296A1 (ja) 2018-07-19
US20190342416A1 (en) 2019-11-07
JP2018113553A (ja) 2018-07-19

Similar Documents

Publication Publication Date Title
RU2693592C1 (ru) Способ, устройство и компьютерное программное изделие для прокси-сеанса обнаружения услуг для беспроводной связи
JP6579883B2 (ja) 通信装置、制御方法、及びプログラム
JP6659147B2 (ja) 通信装置、通信方法、およびプログラム
JP2017063313A (ja) 通信装置、制御方法、及びプログラム
JP7093159B2 (ja) 通信装置、通信装置の制御方法、およびプログラム
EP3515122B1 (en) Communication device, communication method and program
JP6613151B2 (ja) 通信装置、その制御方法、およびプログラム
JP6677493B2 (ja) 通信装置、その制御方法、およびプログラム
JP6646458B2 (ja) 通信装置、制御方法、及びプログラム
CN111711978B (zh) 临近感知网络中的bss着色方法及装置、无线接入设备
WO2018186846A1 (en) Facilitating connection establishment to wireless network
JP7071164B2 (ja) 通信装置、通信装置の制御方法、およびプログラム
JP7133898B2 (ja) 通信装置、通信装置の制御方法、およびプログラム
JP7118617B2 (ja) 通信装置、通信方法、及びプログラム
JP7034596B2 (ja) 通信装置、通信方法、及びプログラム
JP2018046450A (ja) 通信装置、通信方法、及びプログラム
JP2018046437A (ja) 通信装置、通信方法、及びプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191218

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191218

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20210103

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210113

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210212

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210413

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211022

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211221

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220520

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220617

R151 Written notification of patent or utility model registration

Ref document number: 7093159

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151