JP6454120B2 - 通信装置、制御方法、及びプログラム - Google Patents

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

Info

Publication number
JP6454120B2
JP6454120B2 JP2014204215A JP2014204215A JP6454120B2 JP 6454120 B2 JP6454120 B2 JP 6454120B2 JP 2014204215 A JP2014204215 A JP 2014204215A JP 2014204215 A JP2014204215 A JP 2014204215A JP 6454120 B2 JP6454120 B2 JP 6454120B2
Authority
JP
Japan
Prior art keywords
communication
information
function
changed
communication function
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
JP2014204215A
Other languages
English (en)
Other versions
JP2016076745A (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 JP2014204215A priority Critical patent/JP6454120B2/ja
Priority to US15/506,168 priority patent/US20180227979A1/en
Priority to PCT/JP2015/004799 priority patent/WO2016051724A1/en
Publication of JP2016076745A publication Critical patent/JP2016076745A/ja
Application granted granted Critical
Publication of JP6454120B2 publication Critical patent/JP6454120B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • H04W76/19Connection re-establishment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/18Network architectures or network communication protocols for network security using different networks or channels, e.g. using out of band channels
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • H04W12/043Key management, e.g. using generic bootstrapping architecture [GBA] using a trusted network node as an anchor
    • H04W12/0431Key distribution or pre-distribution; Key agreement
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • H04W12/043Key management, e.g. using generic bootstrapping architecture [GBA] using a trusted network node as an anchor
    • H04W12/0433Key management protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/50Secure pairing of devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • H04W76/15Setup of multiple wireless link connections
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W48/00Access restriction; Network selection; Access point selection
    • H04W48/16Discovering, processing access restriction or access information
    • 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
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices
    • H04W88/06Terminal devices adapted for operation in multiple networks or having at least two operational modes, e.g. multi-mode terminals
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mobile Radio Communication Systems (AREA)

Description

本発明は、無線通信の停止後の再開手法に関する。
近年、多くの通信機器が無線LAN(WLAN)機能を搭載しており、このような通信機器は、WLAN機能を搭載した他の通信機器と通信を行うことができるようになっている。このような通信機器は、通常、内蔵電池からの電力供給によって動作する。したがって、通信機器において、WLAN通信機能のために用いられる電力の省電力化が求められている。
これに対して、特許文献1は、低消費電力で通信を行う第1の通信機能と、データ通信を行う第2の通信機能とを有し、実際にデータ通信を行う期間を除いて第2の通信機能をスリープさせるように、第1の通信機能による通信を行う通信装置が記載されている。
特開2007−306201号公報 特開2012−217130号公報
通信機器間でWLAN通信を行う際には、様々な通信プロトコルが用いられる。例えば、DHCP(Dynamic Host Configuration Protocol)を用いたIPアドレスの割り当て、TCP(Transmission Control Protocol)を用いたデータ転送などが行われる。これらの通信プロトコルでは、通信を行う機器間でパラメータ情報や状態情報を共有することで、その後の通信が可能となる。例えば、DHCPでは、IPアドレスとその割り当て状態とが、DHCPクライアント及びサーバ間で共有される。また、TCPでは、クライアント及びサーバ間のコネクションの接続状態、各コネクションのポート番号などが共有される。
ここで、WLAN通信を停止する際に、上位プロトコルの共有情報や接続状態がクリアされると、通信の再開時に、全ての通信プロトコルの開始処理をやり直す必要があり、処理のオーバーヘッドが大きくなる。これに対して、特許文献2には、外部機器との接続の解除を検知すると利用中の機能状態を外部機器IDと関連付けて記憶し、再接続時に、再接続対象の外部機器IDを取得して、そのIDに対応する記憶された情報を抽出して用いる携帯端末が記載されている。しかしながら、例えば、DHCPを用いたIPアドレス割り当て処理によれば、DHCPクライアントがWLAN接続の切断時に割り当てられていたIPアドレスは、WLAN再接続時にも利用できない場合があるなど、切断時の状態に常に戻せるとは限らない。これにも関わらず、切断時の情報を用いて通信を再開してしまうと、再開後の通信に問題が生じうる。
本発明は上記課題に鑑みなされたものであり、通信機能の停止と再開とを行う通信装置において、通信の停止時と再開時との状態に応じて、適切な通信の再開処理を行うことを可能とするための技術を提供することを目的とする。
上記目的を達成するため、本発明による通信装置は、第1の通信機能と第2の通信機能とを有する通信装置であって、前記相手装置との間で共有した当該第1の通信機能による通信のための情報を、前記第1の通信機能による前記相手装置との通信を停止した後も記憶する記憶手段と、前記第2の通信機能による前記相手装置との通信により、前記記憶手段によって記憶されている前記情報が有効であるかを判定する判定手段と、前記第1の通信機能による前記相手装置との通信を再開する際に、前記記憶手段によって記憶されている前記情報の少なくとも一部が有効でない場合に、前記相手装置との間で前記第1の通信機能による通信のための情報を共有する共有手段と、を有する。
本発明によれば、通信機能の停止と再開とを行う通信装置において、通信の停止時と再開時との状態に応じて、適切な通信の再開処理を行うことが可能となる。
無線通信システムの構成例を示す図。 通信装置のハードウェア構成例を示すブロック図。 スマートフォンの機能構成例を示すブロック図。 デジタルカメラの機能構成例を示すブロック図。 実施形態1のスマートフォンの処理の流れの例を示すフローチャート。 スマートフォンにおけるWLAN接続処理の流れの例を示すフローチャート。 実施形態1のスマートフォンにおけるWLAN再接続時の処理の流れの例を示すフローチャート。 実施形態1のデジタルカメラの処理の流れの例を示すフローチャート。 実施形態1の接続状態変更通知パケットのフォーマットを示す図。 実施形態1の無線通信システムで実行される処理の流れの例を示すシーケンス図。 スマートフォンの画面表示例を示す図。 実施形態2のスマートフォンの処理の流れの例を示すフローチャート。 実施形態2のスマートフォンにおけるWLAN再接続時の処理の流れの例を示すフローチャート。 実施形態2のスマートフォンにおけるWLAN再接続時の処理の流れの例を示すフローチャート。 実施形態2のデジタルカメラの処理の流れの例を示すフローチャート。 実施形態2のデジタルカメラの処理の流れの例を示すフローチャート。 実施形態2の接続状態変更通知パケットのフォーマットを示す図。 実施形態2の接続状態変更通知で設定される属性値の例を示す図。 実施形態2の無線通信システムで実行される処理の流れの例を示すシーケンス図。
以下、本実施形態に係る通信端末および通信システムについて、図面を参照しながら詳細に説明する。なお、以下では、各通信装置は、データ通信のための第1の通信機能と、消費電力の低い第2の通信機能とを有し、第1の通信機能の停止と再開とを、第2の通信機能によって制御する。ここで、本実施形態では、第1の通信機能として無線LAN(WLAN)を用いるものとし、第2の通信機能として、Bluetooth(登録商標) Low Energy(以下、「BLE」と呼ぶ。)を用いるものとする。なお、BLEは、Bluetooth(登録商標) 4.0において規格化された、バージョン3.0以前のもの及びWLANと比較して小さい消費電力で通信が可能な通信手法である。また、無線LANは、例えばIEEE802.11規格シリーズのいずれかの規格に準拠する無線LANであってもよいし、他の規格の無線LANなどであってもよい。
(無線通信システム)
図1は、以下の各実施形態における無線通信システムの構成例を示している。本無線通信システムは、例えば、第1の通信装置101と、第2の通信装置102および第3の通信装置103を含む。なお、以下では、第1の通信装置101はデジタルカメラであるものとし、第2の通信装置102および第3の通信装置103はスマートフォンであるものとする。デジタルカメラ101とスマートフォン102又は103との間の通信は、第1の通信機能(無線LAN)による接続110と、第2の通信機能(BLE)による接続120とにより行われる。なお、第1の通信機能は第2の通信機能よりも高速通信が可能であり、一方、第2の通信機能は第1の通信機能よりも低消費電力で通信可能である。
(各通信装置の構成)
図2に、デジタルカメラ101及びスマートフォン102又は103のハードウェア構成例を示す。デジタルカメラ101及びスマートフォン102又は103は、例えば、Host部200、BLE制御部220、及びWLAN制御部240を含んで構成される。
Host部200は、例えば、表示部201、操作受付部202、記憶部203、電源部204、BLE制御部I/F205、撮像部206、制御部207、ROM208、RAM209、WLAN制御部I/F210を含む。BLE制御部220はHost部I/F221、電源部222、ROM223、RAM224、制御部225、BLEアンテナ制御部226、BLEアンテナ227を含む。そして、WLAN制御部240は、Host部I/F241、WLANアンテナ制御部242、WLANアンテナ243を含む。
表示部201および操作受付部202は、アプリケーションの表示、及び実行のためのユーザからの操作の受付等を行う。記憶部203は、無線通信ネットワーク情報、データ送受信情報、画像データなどの各種データを記憶し、管理する。電源部204は、例えばバッテリであり、Host部200およびWLAN制御部240へ電力を供給する。BLE制御部I/F205は、BLE制御部220とHost部200とを接続するインタフェースである。撮像部206は、例えばユーザの操作を操作受付部202によって受け付けたことにより、写真や動画の撮影を行う。制御部207は、例えば1つ以上のCPUを含み、デジタルカメラ101及びスマートフォン102又は103の各構成要素の動作を制御する。ROM208は、制御命令、つまりプログラムを格納する記憶装置である。RAM209は、プログラムを実行する際のワークメモリ、データの一時保存などに利用される記憶装置である。WLAN制御部I/F210は、WLAN制御部240とHost部200とを接続するインタフェースである。
Host部I/F221は、Host部200とBLE制御部220とを接続するインタフェースである。電源部222は、例えばバッテリであり、BLE制御部220へ電源を供給する。ROM223は、制御命令、つまりプログラムを格納する記憶装置であり、ここでは、特にBLE通信に係るプログラムを格納する。RAM224は、プログラムを実行する際のワークメモリ、データの一時保存などに利用される記憶装置である。制御部225は、例えば1つ以上のCPUを含み、BLE制御部220の各構成要素の動作を制御する。BLEアンテナ制御部226は、BLEアンテナ227を制御し、BLEアンテナ227を介して電磁波の放射及び受信が行われることにより、BLE通信が行われる。
Host部I/F241は、Host部200とWLAN制御部240とを接続するインタフェースである。WLANアンテナ制御部242は、WLANアンテナ243を制御し、WLANアンテナ243を介して電磁波の放射及び受信が行われることにより、WLAN通信が行われる。
なお、図2は、デジタルカメラ101及びスマートフォン102又は103とが共通に有しうるハードウェア構成の例として示したが、これらの装置は、それぞれに特有のその他のハードウェア構成(不図示)を、それぞれさらに含んでもよい。
(スマートフォンの機能構成)
続いて、図3を参照して、スマートフォン102およびスマートフォン103の機能構成について説明する。なお、本実施形態においては、以下に示す各機能ブロックはソフトウェアプログラムとして機能が実現されるものとするが、本機能ブロックに含まれる一部または全部がハードウェアによって実現されてもよい。スマートフォン102およびスマートフォン103は、その機能として、例えば、WLAN通信制御部300、BLE通信制御部310、WLAN省電力制御部320、WLAN接続状態管理部330、及び連携サービス部340を有する。
WLAN通信制御部300は、WLANアンテナ制御部242を介して行う無線LAN通信を制御する処理部である。WLAN通信制御部300における一連の処理は、ROM208に記憶されたプログラムを制御部207が実行することにより、行われる。WLAN通信制御部300は、例えば、WLAN STA通信制御部301、DHCP Client処理部302、IP通信部303、TCP Client処理部304、及びHTTP/2 Client処理部305を含む。
WLAN STA通信制御部301は、無線LANのステーション(STA)としての通信を制御する処理部である。DHCP Client処理部302は、Dynamic Host Configuration Protocol(DHCP)におけるクライアントとして動作するための処理部である。IP通信部303は、Internet Protocol(IP)の通信を制御する処理部である。TCP Client処理部304は、Transmission Control Protocol(TCP)においてクライアントとして動作するための処理部である。HTTP/2 Client処理部305は、Hypertext Transfer Protocol version 2(HTTP/2)において、クライアントとして動作するための処理部である。
BLE通信制御部310は、BLEアンテナ制御部226を介して行うBLE通信を制御する処理部である。BLE通信制御部310における一連の処理は、ROM223に記憶されたプログラムを制御部225が実行することにより、行われる。
WLAN省電力制御部320は、WLAN制御部240の機能をOn/Offすることにより、省電力化を図る処理部である。WLAN省電力制御部320はプログラムとしてROM208に記憶され、制御部207によって当該プログラムが実行されることによりその機能が実施される。
WLAN接続状態管理部330は、WLAN通信制御部300が行う各通信プロトコル処理において通信の相手装置(例えば、デジタルカメラ101)との間で共有される、パラメータ及び通信状態などのうちの少なくともいずれかを含む情報を管理する。WLAN接続状態管理部330における一連の処理は、ROM208に記憶されたプログラムを制御部207が実行することにより、行われる。なお、以下では、WLAN接続状態管理部330が管理する、パラメータまたは通信状態などを含む情報のことを、共有パラメータと呼ぶ。
連携サービス部340は、WLAN通信制御部300による無線LANの通信を介して、デジタルカメラ101との間で連携してサービスを実行する処理部である。本実施形態では、連携サービス部340は、例えば、デジタルカメラ101からサムネイル画像を取得して表示部201に一覧表示し、操作受付部202の操作によって選択されたサムネイルの本画像データをデジタルカメラ101から取得するための処理を行う。連携サービス部340における一連の処理は、ROM208に記憶されたプログラムを制御部207が実行することにより、行われる。
(デジタルカメラの機能構成)
図4に、デジタルカメラ101の機能構成例を示す。なお、本実施形態においては、以下に示す各機能ブロックはソフトウェアプログラムとして機能が実現されるものとするが、本機能ブロックに含まれる一部または全部がハードウェアによって実現されてもよい。デジタルカメラ101は、その機能として、例えば、WLAN通信制御部400、BLE通信制御部410、接続相手装置管理部420、及び連携サービス部430を含んで構成される。
WLAN通信制御部400は、WLANアンテナ制御部242を介して行う無線LAN通信を制御する処理部である。WLAN通信制御部400における一連の処理は、ROM208に記憶されたプログラムを制御部207が実行することにより、行われる。WLAN通信制御部400は、例えば、WLAN AP通信制御部401、DHCP Server処理部402、IP通信部403、TCP Server処理部404、及びHTTP/2 Server処理部405を含む。
WLAN AP通信制御部401は、無線LANのアクセスポイント(AP)としての通信を制御する処理部である。DHCP Server処理部402はDHCPにおけるサーバとして動作するための処理部である。IP通信部403、IPの通信を制御する処理部である。TCP Server処理部404は、TCPにおいてサーバとして動作するための処理部である。HTTP/2 Server処理部405は、HTTP/2において、サーバとして動作するための処理部である。
BLE通信制御部410は、BLEアンテナ制御部226を介して行うBLE通信を制御する処理部である。BLE通信制御部410における一連の処理は、ROM223に記憶されたプログラムを制御部225が実行することにより、行われる。
接続相手装置管理部420は、WLAN通信制御部400による通信の相手装置(例えば、スマートフォン102または103)との接続状態を管理する制御部である。接続相手装置管理部420は、各相手装置との無線LANおよびBLEによる通信の接続状態を管理する。また、接続相手装置管理部420は、無線LANで接続していない相手装置に関して、その相手装置との無線LANによる通信を切断(停止)した時点で、各共有パラメータを記憶部203に記憶させ、管理する。接続相手装置管理部420における一連の処理は、ROM223に記憶されたプログラムを制御部225が実行することにより、行われる。
連携サービス部430は、WLAN通信制御部400による無線LANの通信を介して、スマートフォン102または103との間で連携してサービスを実行する処理部である。本実施形態では、連携サービス部430は、例えば、スマートフォン102または103からの要求に応じて記憶部203に保存されている画像の識別子、サムネイル画像、本画像データを送信する。連携サービス部430における一連の処理は、ROM208に記憶されたプログラムを制御部207が実行することにより、行われる。
なお、上述の実施形態では、デジタルカメラ101が、無線LANのAP、DHCPのサーバ、TCPのサーバ、HTTP/2のサーバとして動作するものとしたが、スマートフォン102がこれらの役割を果たしてもよい。その場合、デジタルカメラ101は、無線LANのSTA、DHCPのクライアント、TCPのクライアント、HTTP/2のクライアントとして動作しうる。なお、無線LANのSTAである場合に、必ずDHCP、TCP、HTTP/2のクライアントとならなければならないわけではなく、これらのうちの少なくともいずれかにおいてサーバとして機能してもよい。すなわち、各プロトコルにおける役割は、必ずしも連携していなければならないわけではなく、それぞれに対して別個に役割が定められてもよい。
(処理の流れ)
続いて、上述の無線通信システム、デジタルカメラ101、スマートフォン102または103の少なくともいずれかが実行する処理の流れについての、いくつかの実施形態について説明する。
<<実施形態1>>
(スマートフォンの処理)
図5〜図7のフローチャートを用いて、本実施形態のスマートフォン102または103が実行する処理の流れについて説明する。図5は、スマートフォン102または103が無線LANによる接続を行ってから、一度その無線LANによる通信を停止し、その後その通信を再開する場合の処理の流れを示している。そして、図6は、無線LANの接続処理の流れを、図7は、無線LANの再接続処理の流れを、それぞれ示している。なお、図5〜図7のフローチャートは、例えば、スマートフォン102または103において、ROM208に記憶されたプログラムを制御部207が読み出して実行することによって実現される。なお、以下では、スマートフォン102または103のうち、スマートフォン102が各処理を実行するものとして説明する。
図5において、スマートフォン102は、まず、無線LANの接続処理を実行する(S501)。スマートフォン102は、例えば、連携サービス部340による連携サービスの実行に伴って、無線LANの接続処理を実行する。なお、以下では、連携サービス部340は、デジタルカメラ101からサムネイル画像を取得して表示部201に一覧表示し、操作受付部202の操作によって選択されたサムネイルの本画像データをデジタルカメラ101から取得する処理を行うものとする。なお、この処理は、例えば、スマートフォン102のユーザが操作受付部202を操作し、デジタルカメラ101から画像データを取得する機能を選択した際に実行される。
S501で実行される接続処理の詳細な処理の流れを、図6を用いて説明する。スマートフォン102は、図6に記載の動作手順に従って、WLANの接続から上位プロトコルの接続までを実行する。スマートフォン102のWLAN STA通信制御部301は、まず、記憶部203に記憶された、デジタルカメラ101が生成する無線LANによるネットワークのSSID(Service Set Identifier)を検索する(S601)。なお、SSIDは、1つのネットワークを特定するネットワーク識別子である。
WLAN STA通信制御部301は、デジタルカメラ101が生成したネットワークのSSIDを発見すると、そのSSIDを発見した通信チャネルで、そのSSIDのネットワークに接続する(S602)。また、WLAN STA通信制御部301は、デジタルカメラ101とWLANによる通信で使用する暗号鍵を共有するための共有処理を実行する(S603)。なお、スマートフォン102とデジタルカメラ101は、例えば、IEEE802.11規格で規定されている4−way handshakeにより、ユニキャスト通信用の暗号鍵を共有する。同様に、スマートフォン102とデジタルカメラ101は、例えば、IEEE802.11規格で規定されている2−way handshakeによりマルチキャスト通信用の暗号鍵を共有する。
次にDHCP Client処理部302は、デジタルカメラ101のDHCP Server処理部402から、DHCPにより、スマートフォン102が使用するIPアドレスを取得する(S604)。続いて、連携サービス部340が、IP通信部303を介して、実行したい連携機能をサポートする相手装置(この場合、デジタルカメラ101)を検索し、その相手装置のIPアドレスを取得する(S605)。なお、この検索処理は、例えば、Simple Service Discovery Protocol(SSDP)によって行われる。デジタルカメラ101のIPアドレスが取得されると、TCP Client処理部304が、そのIPアドレスに対してTCPの接続処理を実行する(S606)。そして、TCP接続が完了すると、HTTP/2 Client処理部305が、そのTCP接続上で、デジタルカメラ101とのHTTP/2プロトコルのセッションおよびストリームを構築する(S607)。
図5に戻り、スマートフォン102は、無線LANによる接続の完了後でサービスの実行中に、その無線LANによる接続を中断するかを判定する(S502)。ここで、無線LANによる接続を中断して無線LANによる通信機能を停止するかの判断は、例えば、連携サービス部340が実行する。
例えば、連携サービス部340は、以下のようにして無線LANによる通信機能を停止するかの判断を行う。すなわち、連携サービス部340は、無線LANによる接続が確立されると、HTTP/2 Client処理部305を介してデジタルカメラ101からデジタルカメラ101が持つ画像IDのリストを取得する。なお、画像IDとは、例えば、デジタルカメラ101の中で各画像ファイルに割り当てられた4Byteの数値である。その後、連携サービス部340は、取得した画像IDに対応するサムネイル画像をHTTP/2 Client処理部を介してデジタルカメラ101から取得すると、無線LANによる通信を中断することを決定する。すなわち、連携サービス部340は、取得したサムネイル画像を表示部201に一覧表示し、本画像データを取得すべき対象をユーザに選択させる処理を行うが、この処理中は、通信を必要としない。このため、連携サービス部340は、サムネイル画像を取得すると、無線LANによる通信を中断すると決定する。なお、この判断は、他の機能部が実行してもよい。また、連携サービス部340は、画像共有以外のアプリケーションにおいても、通信が必要なくなる期間が生じるものであれば、その期間に通信を中断するように判断することができる。
無線LANによる通信を中断すると判断した場合(S502でYES)、例えば連携サービス部340が、BLE通信制御部310を介して、無線LANによる通信を中断することをデジタルカメラ101に通知する(S503)。そして、スマートフォン102は、デジタルカメラ101から、レジュームIDを取得する(S504)。レジュームIDは、例えば、デジタルカメラ101で割り当てられる1Byteの数値であり、デジタルカメラ101において共有パラメータがレジュームIDごとに管理される。そして、レジュームIDの取得に成功すると(S505でYES)、WLAN省電力制御部320は、WLAN制御部240への給電を停止し、無線LANの通信機能を停止する(S506)。一方、レジュームIDの取得に失敗した場合(S505でNO)は、無線LANによる通信機能を停止することなく、処理を終了する。この場合、例えば、連携サービス部340は、無線LANによる通信機能をオンとしたまま、サムネイルの表示とユーザによる画像の選択の受け付けとを行う。
WLAN接続状態管理部330は、無線LANによる通信の再開が決定されるまで(S507でNO)、BLE通信を通じて、デジタルカメラ101からの状態変更通知パケットが受信されるのを待ち受ける(S508)。なお、無線LANによる通信の再開をするか否かは、例えば、連携サービス部340が判断する。すなわち、例えば、連携サービス部340は、ユーザが操作受付部202で本画像データを取得する操作を行ったことを検知すると、本画像データの取得のために、無線LANによる通信の再開を決定する。なお、連携サービス部340は、これ以外のアプリケーションにおいても、無線LANの通信機能を停止した後に、高速通信が必要となる何らかの契機を検出したことによって、無線LANによる通信の再開を決定することができる。WLAN接続状態管理部330は、デジタルカメラ101からBLEによって状態変更通知パケットを受信すると(S508でYES)、変更された共有パラメータ、またはそのパラメータのプロトコルの種別を記憶部203に記憶させる(S509)。
状態変更通知パケットは、例えば、図9のような構成を有する。なお、図9に示す状態変更通知パケットのデータフォーマットはあくまでも一例であり、必ずしもこのフォーマットで状態変更通知パケットが送受信されなければならないわけではない。接続状態変更通知パケット900は、デジタルカメラ101がBLEによる通信で周期的にブロードキャストするメッセージである。接続状態変更通知パケット900は、例えば、Preamble901、Access Address902、Header903、Length904、Advertiser Address905、Service Data906、CRC907を含む。Preamble901は、BLEによる通信の、受信側装置との周波数同期のために用いる1Byte(8bit)の値である。Access Address902は、4Byteの値であり、状態変更通知パケットでは、例えば、その値として0x8E89BED6が設定される。Header903は、Length904以降のパケット種別を表す値が指定される1Byteの値である。Length904は、Advertiser Address905とService Data906とを合わせたデータ長を表す1Byteの値である。Advertiser Address905は、パケット送信者のアドレスであり、本実施形態では、デジタルカメラ101のアドレスとなる。CRC907は、接続状態変更通知パケット900のデータ誤りを検出するための3Byteの値である。
Service Data906には、通信状態が変化したかを示すデータ(Changed Connection State)が含まれる。Changed Connection Stateでは、中断時に無線LANの通信で使用していた各通信プロトコルの共有パラメータについて、有効/無効が示される。Service Data906は、例えば、Type908、Length909、および発行されたレジュームIDの数に応じた数のState910を含む。Type908は、Service Data906に指定されるデータの種別を表す1Byteの値で、Changed Connection Stateデータを表す値が指定される。Length909は、後ろに指定されるState910を合わせたデータサイズである。State910は、あるレジュームIDについて、中断時に無線LANの通信で使用されていた各通信プロトコルの共有パラメータの、有効/無効を表す。State910は、例えば、Resume ID911とChanged Parameter Bits912を含む。Resume ID911は、状態変更通知パケットの送信元(ここではデジタルカメラ101)によって割り当てられる1Byteの値で、無線LANの通信を中断した通信装置にそれぞれ割り当てられる識別子である。Changed Parameter Bits912(以下「CPB」と呼ぶ。)は、Resume ID911が割り当てられた通信装置との無線LANによる通信が中断された際の共有パラメータが、その後に変更されたかどうかを表すビットフラグである。各ビットは、無線LANの接続状態およびネットワーク設定、ユニキャスト鍵、ブロードキャスト鍵、クライアントのIPアドレス、サーバのIPアドレス、TCPコネクション、HTTP/2セッションが対応する。あるビットが1である場合、そのビットに対応する共有パラメータが、無線LANの通信の中断後に変更されたことを表す。
WLAN接続状態管理部330は、S504で取得したレジュームIDに基づいて、状態変更通知パケットのうち、Resume ID911が取得したレジュームIDと等しいState910のCPB912を参照する。これにより、WLAN接続状態管理部330は、CPBのビットが1となっているプロトコルの共有パラメータが変更されたことを知ることができる。
WLAN接続状態管理部330は、例えば連携サービス部340が無線LANによる通信の再開を決定すると(S507でYES)、無線LANにより、デジタルカメラ101との間での再接続処理を実行する(S510)。この再接続処理について、図7を用いて詳細に説明する。
再接続処理において、WLAN接続状態管理部330は、まず、BLE通信制御部310を介して、相手装置(デジタルカメラ101)へ、無線LANによる通信を再開することを通知する(S701)。続いて、WLAN接続状態管理部330は、S509で記憶した情報を参照して、無線LANの通信機能を停止してから、変更された共有パラメータ、そしてその共有パラメータに係るプロトコルの種別を検索する。
そして、WLAN接続状態管理部330は、まず、無線LANの接続状態およびネットワーク設定が変更されているかを判定する(S702)。WLAN接続状態管理部330は、無線LANの接続状態およびネットワーク設定が変更されていた場合(S702でYES)、BLE通信制御部310を介して、変更後の無線LANの設定情報を、デジタルカメラ101から取得する(S703)。なお、この設定情報は、例えば、ネットワーク識別子(SSID)、使用するチャネル番号(周波数情報)、暗号化種別、認証種別、またはユニキャスト用若しくはマルチキャスト用の暗号鍵データの、少なくともいずれかを含む。そして、WLAN STA通信制御部301は、S703で取得した設定情報を用いて、デジタルカメラ101が無線LANの通信機能によって生成するネットワークに接続し(S704)、デジタルカメラ101との暗号鍵共有処理を実行する(S705)。すなわち、ネットワークの設定変更があった場合は、その変更後の設定情報のみならず、付随して変更されることとなる暗号鍵の共有処理が実行される。また、WLAN STA通信制御部301は、無線LANの接続状態とネットワーク設定とに変更がない場合(S702でNO)であっても、暗号鍵が変更されている場合(S712でYES)、デジタルカメラ101との暗号鍵共有処理を実行する(S705)。
次に、WLAN接続状態管理部330は、スマートフォン102に割り当てられたIPアドレスが変更または無効化されているかを判定する(S706)。スマートフォン102に割り当てられたIPアドレスが変更または無効化されていた場合(S706でYES)、DHCP Client処理部302は、DHCPにより、スマートフォン102が使用するIPアドレスを取得する(S707)。そして、WLAN接続状態管理部330は、相手装置(デジタルカメラ101)のIPアドレスが変更されているかを判定する(S708)。なお、WLAN接続状態管理部330は、スマートフォン102に割り当てられたIPアドレスが変更または無効化されていない場合(S706でNO)も、相手装置のIPアドレスが変更されているかを判定する(S713)。そして、相手装置のIPアドレスが変更されている場合(S708またはS713でYES)、連携サービス部340は、SSDPにより、デジタルカメラ101のIPアドレスを取得する(S709)。
スマートフォン102とデジタルカメラ101に割り当てられたいずれかのIPアドレスが変更または無効化されていた場合(S708またはS713でYES)、WLAN接続状態管理部330は、付随してTCPコネクションが切断されたと判断できる。同様に、WLAN接続状態管理部330は、IPアドレスの変更または無効化に付随して、HTTP/2のセッションおよびストリームも破棄されたと判断できる。このため、いずれかの通信装置のIPアドレスが変更または無効化されていた場合、WLAN接続状態管理部330は、TCP Client処理部304を通じて、TCPの再接続処理を実行する(S710)。同様に、WLAN接続状態管理部330は、HTTP/2 Client処理部305を通じて、HTTP/2のセッションおよびストリームの再構築処理を実行する(S711)。
スマートフォン102とデジタルカメラ101に割り当てられたIPアドレスがいずれも変更されていない場合(S706およびS713でNO)、WLAN接続状態管理部330は、続いて、TCPコネクションが切断されたかどうかを判定する(S714)。WLAN接続状態管理部330は、TCPコネクションが切断されていた場合(S714でYES)、TCPの再接続処理(S710)と、それに付随して、HTTP/2のセッションおよびストリームの再構築処理を実行する(S711)。TCPコネクションが切断されていない場合(S714でNO)、WLAN接続状態管理部330は、続いて、HTTP/2のセッションもしくはストリームがクリアされたかを判定する(S715)。そして、WLAN接続状態管理部330は、HTTP/2のセッションもしくはストリームがクリアされていた場合(S715でYES)、HTTP/2のセッションおよびストリームの再構築処理を実行する(S711)。なお、図7の各処理に失敗した場合、WLAN接続状態管理部330は、無線LANによる再接続処理に失敗したものと判断し、無線LANの通信機能を再度停止する(不図示)。
なお、無線LANの再接続処理が完了すると、連携サービス部340は、例えば、ユーザが操作受付部202を操作して指定した画像のデータを、HTTP/2 Client処理部を介して、デジタルカメラ101から取得する。そして、画像データの取得が完了すると、WLAN STA通信制御部301は、デジタルカメラ101との無線LANによる通信を切断する。なお、この場合は、その後の再接続を行うわけではないため、スマートフォン102は、デジタルカメラ101に対して、無線LANによる通信の中断を通知することはない。このため、レジュームIDも発行されない。無線LANによる通信が切断されると、WLAN省電力制御部320は、WLAN制御部240への給電を停止し、無線LANの通信機能を停止する。
また、ここでの無線LANによる通信の切断は、S505でレジュームIDの取得が失敗したと判定した場合であっても行う。すなわち、サービス中の無線LANによる通信が不要な期間においてはレジュームIDが発行されない限りは、再接続処理に関する処理のために無線LANの通信機能はOffとはしない。一方、サービス自体が終了した後には無線LANの再接続をする予定がない状態となるため、無線LANの通信機能をレジュームIDがなくともOffとすることができる。
(デジタルカメラの処理)
次に、図8のフローチャート用いて、本実施形態のデジタルカメラ101が実行する処理の流れについて説明する。図8は、デジタルカメラ101が、WLAN AP通信制御部401がアクセスポイント機能を起動している間に、定常的に実行する処理の流れを示すフローチャートである。なお、アクセスポイント機能は、ユーザがデジタルカメラ101の操作受付部202を操作して、スマートフォンとの連携処理を開始するメニューを選択した際に開始される。
図8において、接続相手装置管理部420は、まず、無線LANによる通信を中断した状態の相手装置(この場合、スマートフォン102または103)が存在するかを確認する(S801)。なお、接続相手装置管理部420は、S503において無線LANによる通信の中断通知を送信した相手装置が無線LANによる通信を中断した状態の相手装置であると、BLE通信制御部410を通じて、判断する。そして、接続相手装置管理部420が無線LANによる通信を中断した状態の相手装置がいないと判断した場合(S801でNO)には、デジタルカメラ101はそのまま本処理を終了する。
なお、デジタルカメラ101は、APとして機能している間、定期的に本処理を実行するようにしてもよい。また、デジタルカメラ101は、無線LANによる通信の中断通知をBLE通信制御部410が受信したことを契機に、本処理を実行するようにしてもよい。すなわち、デジタルカメラ101は、無線LANによる通信を中断中の相手装置が存在しない状態で無線LANによる通信の中断通知をBLE通信制御部410が受信したことを契機に、S802以降の処理を実行するようにしてもよい。なお、この場合、全ての相手装置が無線LANの通信の中断状態から抜けて、無線LANによる通信を再開した場合には、本処理を実行しないようにしてもよい。
一方、接続相手装置管理部420が無線LANによる通信を中断した状態の相手装置がいると判断した場合(S801でYES)、デジタルカメラ101は、S802〜S813の処理を繰り返し実行する。
接続相手装置管理部420は、無線LANの通信の中断通知を送信して新たに無線LANによる通信が中断状態となった相手装置が存在するかを判定する(S802)。そして、接続相手装置管理部420は、新たに無線LANによる通信を中断状態とした相手装置が存在する場合(S802でYES)、その相手装置と共有している無線LANの通信用の通信パラメータを記憶部203に記憶させる(S803)。なお、通信パラメータは、例えば、ネットワーク識別子、使用するチャネル番号(使用周波数情報)、グループ暗号鍵、または相手装置とのユニキャスト通信用若しくはマルチキャスト通信用の暗号鍵の少なくともいずれかを含む。また、ここでの通信パラメータは、例えば、自装置と相手装置のIPアドレス、接続しているTCPセッション、またはHTTP/2セッションとストリームとの情報など、通信状態を示す情報を含む。接続相手装置管理部420は、通信パラメータを記憶部203に記憶させると、その通信パラメータに対応するレジュームIDを発行して割り当て、BLE通信制御部410を介して、そのレジュームIDを相手装置へ通知する(S804)。
次に、接続相手装置管理部420は、割り当て済みのレジュームIDに対応するそれぞれの通信パラメータをチェックして(S805〜S808)、図9で示した接続状態変更通知パケット900のState910部分のデータを生成する。接続相手装置管理部420は、割り当て済みのレジュームIDのそれぞれに対して、S806からS808の処理を実行する。接続相手装置管理部420は、各レジュームIDについて、対応させて記憶させた各通信パラメータと、現在使用している通信パラメータとを比較し、変更された通信パラメータがあるかを判定する(S806)。例えば、接続相手装置管理部420は、WLAN AP通信制御部が現在管理している無線LANで使用しているチャネル値がS803で記憶した値と等しいかの比較を行う。また、例えば、接続相手装置管理部420は、S803の時点で接続していたTCPコネクションが、TCP Server処理部404で現在も接続済みとして管理されているかを判定する。
いずれかの通信パラメータが変更されていると接続相手装置管理部420が判断した場合(S806でYES)、接続相手装置管理部420は、その通信パラメータに対応するビットを1にしたCPB912をState910に設定する(S807)。例えば、無線LANで使用中のチャネルが変更されていた場合、接続相手装置管理部420は、WLAN NW Settingsビットを1にしたCPB912を設定する。通信パラメータに変更がないと接続相手装置管理部420が判断した場合(S806でNO)、接続相手装置管理部420は、CPB912のビットをすべて0にしてState910に設定する(S808)。割り当て済みの全レジュームIDに対するS806〜S808の処理が完了すると、接続相手装置管理部420は、BLE通信制御部410を介して、生成したState910を全て含む接続状態変更通知パケット900をブロードキャストする(S810)。なお、接続状態変更通知パケット900の送信は、例えば周期的に行われる。
一方、接続相手装置管理部420は、無線LANによる通信を中断した状態から復帰した相手装置がいるかを判定する(S811)。ここで、接続相手装置管理部420は、BLE通信制御部410を介して受信した、無線LANによる通信の再開通知の送信元の相手装置が、無線LANによる通信を中断した状態から復帰したものとして判断する。なお、この再開通知は、相手装置がS701において送信する信号である。接続相手装置管理部420は、無線LANによる通信を中断した状態から復帰した相手装置がいる場合(S811でYES)、その相手装置に割り当てられたレジュームIDを解放する(S812)。そして、接続相手装置管理部420は、記憶部203に記憶されている、その相手装置に割り当てられたレジュームIDに対応する通信パラメータの情報を破棄する(S813)。
(無線通信システムにおける処理の流れ)
次に、デジタルカメラ101とスマートフォン102とが実行する処理の流れについて、図10のシーケンス図と、図11のスマートフォン102における画面表示例とを用いて説明する。なお、本例では、説明を簡単にするために、スマートフォンが1台のみの場合について説明するが、スマートフォンが複数台存在していてもよい。また、図10のシーケンス図における処理が実行される前に、デジタルカメラ101のWLAN AP通信制御部401が無線LANによりネットワークを形成してあるものとする。また、図11(a)〜(e)に示すようなアプリケーションは、スマートフォン102のROM208に記憶されたプログラムを制御部207が読み出すことで、実行される。なお、本実施形態において、表示部201はスマートフォンの液晶画面であり、操作受付部202は同液晶画面のタッチ操作を検知するタッチパネルであるものとする。
図11(a)は、スマートフォン102において、上述の画像をデジタルカメラ101と共有するための処理を行うアプリケーションを起動した際に表示されるメニュー画面である。このメニュー画面は、ユーザのタッチ操作を受け付ける3つのボタン領域(1110、1120、1130)を含み、ユーザが各ボタン領域をタッチすることでそれぞれのボタン領域に記載されている機能が実行される。ユーザが1110の領域をタッチすると、スマートフォン102はデジタルカメラ101から画像データを取得する処理(図5に記載の動作)を開始する。ユーザが1120の領域をタッチすると、スマートフォン102は自らが持つ現在位置情報を、BLE通信制御部310を介してデジタルカメラ101に通知する処理を実行する。ユーザが1130の領域をタッチすると、スマートフォン102はデジタルカメラとの無線LANによる通信およびBLE通信を終了し、アプリケーションを終了する。
この状態において、ユーザが、スマートフォン102でメニューボタン1110をタッチすると、スマートフォン102は、デジタルカメラ101との間で無線LANによる接続の確立からHTTP/2による接続の確立までの処理を行う(S1001)。なお、ここで実行される処理は、図6に示される接続処理である。接続が完了すると、スマートフォン102とデジタルカメラ101との間で連携サービス処理が実行される(S1002)。この連携サービス処理により、無線LANにより、画像IDの一覧とサムネイル画像とが、デジタルカメラ101からスマートフォン102へと送信される。その後、スマートフォン102では、連携サービス部340が、図11(b)に示すようなサムネイル画像を表示する。スマートフォン102は、サムネイル画像の表示が完了すると、BLEで、無線LANによる通信を中断する旨の通知をデジタルカメラ101に送信する(S1003)。なお、スマートフォン102は、サムネイル画像のデータの受信を終了した後に表示されるのを待たずに、無線LANによる通信の中断の通知を行ってもよい。
ここで、スマートフォン102に表示される図11(b)の画面表示では、サムネイル画像1140と、画像取得ボタン1150とが表示される。画像取得ボタン1150は、ユーザがタッチして選択したサムネイル画像1140に対応する本画像データをデジタルカメラ101から取得するためのボタンである。ただし、図11(b)の状態、すなわちユーザがまだ画像を選択していない状態では、画像取得ボタン1150は無効化されている。
デジタルカメラ101は、無線LANの通信の中断の通知を受信すると、スマートフォン102との間で共有した通信パラメータを記憶し(S1004)、これに対応付けたレジュームID番号「1」をBLEでスマートフォン102に通知する(S1005)。スマートフォン102は、レジュームIDを受信すると、無線LANの通信機能を停止する(S1006)。スマートフォン102は、無線LANの通信機能が停止されている間に、図11(b)の画面表示を通じて、ユーザによる取得画像の選択を受け付ける。図11(b)の画面表示においてユーザがサムネイル画像1140をタッチすると、図11(c)のように、タッチしたサムネイル画像上にチェックマーク1160が表示され、その画像が選択状態となる。ここで、1枚以上の画像が選択された状態では、画像取得ボタン1150が有効化される。
スマートフォン102は、ユーザによる画像選択が行われる間は、無線LANの通信は行われないが、デジタルカメラ101から、BLEで、接続状態変更通知が送信される(S1007)。なお、デジタルカメラ101は、この時点では無線LANによる通信を中断している相手装置が1台で、共有パラメータは全て有効であるため、レジュームID=1、CPB=0の1つのState910のみが指定された状態変更通知パケットを送信する。
その後、デジタルカメラ101は、スマートフォン102と通信していたTCPコネクションがタイムアウトして切断すると(S1008)、レジュームID=1、CPB=0x04に指定した接続状態変更通知パケットを送信する(S1009)。なおCPB=0x04は、TCPコネクションに関する状態またはパラメータのみが変更または無効化されたことを表す。このとき、スマートフォン102は、TCPコネクションに関する共有パラメータと通信状態との少なくともいずれかが変更されまたは無効化されたことを記憶して管理しておく。
なお、デジタルカメラ101は、スマートフォン102に加えて、スマートフォン103の無線LANの通信の中断通知を受信すると、スマートフォン103に関するState910をも含む状態変更通知パケットを送信する。すなわち、状態変更通知パケットは、1つのパケット内に、スマートフォン102に関するレジュームID=1についてのState910と、スマートフォン103に関するレジュームID=2についてのState910とを含むように構成される。この場合、スマートフォン102及び103は、ブロードキャストされた状態変更通知パケットから、自装置に関するレジュームIDに対応するState910を抽出して、共有パラメータ及び通信状態の変化または無効化が生じたかを判定する。
その後、デジタルカメラ101からスマートフォン102にリースしていたIPアドレスのリース期限がタイムアウトする(S1010)。すると、デジタルカメラ101は、レジュームID=1のCPBを0x14に指定した接続状態変更通知パケットを送信する(S1011)。なお、CPB=0x14は、TCPコネクションに関する状態またはパラメータとスマートフォン102のIPアドレスとが変更または無効化されたことを表す。
図11(c)のように1枚以上の画像が選択された状態で、ユーザが画像取得ボタン1150をタッチすると、連携サービス部340は、デジタルカメラ101から選択した画像の本画像データを取得する処理を開始し、図11(d)の画面を表示する。このとき、スマートフォン102は、無線LANによる通信の再開を決定し(S1012)、無線LANによる通信の再開通知をデジタルカメラ101へと送信する(S1013)。
スマートフォン102は、再開通知を送信すると、無線LANの通信機能を起動する(S1014)。一方、デジタルカメラ101は、再開通知を受信すると、記憶部203に記憶していた、スマートフォン102(レジュームID=1)に関する通信パラメータを破棄する(S1015)。そして、デジタルカメラ101とスマートフォン102との間で、S1011のCPBによって、変更または無効化されたと通知されたIPアドレスとTCPコネクションに関する情報の共有処理を実行する。さらに、デジタルカメラ101とスマートフォン102は、通信パラメータ等の変更または無効化に付随して必要となる情報の共有処理を実行する。すなわち、DHCPによるIPアドレスの取得(S1016)と、TCPコネクションの確立(S1017)と、HTTP/2セッションおよびストリームの再接続処理(S1018)と、が実行される。
その後、スマートフォン102は、デジタルカメラ101との間で、無線LANを用いた連携サービス処理を再開する(S1019)。スマートフォン102は、図11(d)の状態において、無線LANを介して、本画像データを取得する。そして、スマートフォン102は、本画像データの取得が完了すると、図11(e)のような、画像取得が完了した事を表すメッセージを一定時間表示し、その後に画面表示を図11(a)のような表示に戻す。なお、通信パラメータ及び通信状態に変化がない場合は、S1016〜S1018の処理が実行されずに、スマートフォン102における無線LANの通信機能のオンと、デジタルカメラ101におけるパラメータの破棄が行われた後に、サービスが再開される。
このように、本実施形態では、通信装置は、無線LANの通信を中断する際に、その時点での共有パラメータと通信状態とを、自装置及び相手装置において記憶させてから、無線LAN機能をオフとするようにする。そして、相手装置から、共有パラメータ及び通信状態に変化があったか、すなわちその情報が有効であるかを示すブロードキャストメッセージを受信して、変更されたまたは無効化されたパラメータ及び通信状態を、再設定するようにする。すなわち、無線LANの通信が中断された時点から変更がないパラメータ等についてはそのまま利用し、後に変更または無効化されたパラメータ等については再設定をする。これにより、全てのパラメータ等を再設定するのと比して、再設定処理を簡素化できると共に、一部のパラメータ等が変更または無効化されたにも関わらず、そのパラメータ等を用いた再接続処理によりネットワーク障害等が生じることを防ぐことが可能となる。
また、パラメータ等が有効であるか否かが、BLEのブロードキャストメッセージによって通知されるため、複数の通信装置が無線LANの通信を中断するような状況においても、1回の通知メッセージでパラメータ等の有効性を通知することができる。したがって、パラメータ等の有効性の通知に要する電力消費を低減することが可能となる。
<<実施形態2>>
実施形態1では、共有パラメータの変更の通知に、BLEのブロードキャストメッセージが用いられる場合について説明した。一方で、本実施形態では、通信装置間でBLEコネクションを確立し、そのコネクション上でメッセージを送信することで共有パラメータを通知する。
(スマートフォンの処理)
図12〜図14のフローチャートを用いて、本実施形態のスマートフォン102または103が実行する処理の流れについて説明する。図12は、スマートフォン102または103が無線LANによる接続を行ってから、一度その無線LANによる通信を停止し、その後その通信を再開する場合の処理の流れを示している。そして、図13〜図14は、無線LANの再接続処理の流れを、それぞれ示している。なお、図12〜図14のフローチャートは、例えば、スマートフォン102または103において、ROM208に記憶されたプログラムを制御部207が読み出して実行することによって実現される。なお、以下では、スマートフォン102または103のうち、スマートフォン102が各処理を実行するものとして説明する。
図12では、基本的に、図5と同様の処理が行われる。そこで、図12では、図5と同様の処理が実行される部分については、同じ参照番号を付すことにより説明を省略し、異なる部分について、詳細に説明する。本実施形態では、スマートフォン102は、無線LANによる通信を中断すると判断した場合(S502でYES)、相手装置(デジタルカメラ101)との間でBLEによる接続を確立する(S1201)。そして、スマートフォン102は、レジュームIDの取得後、無線LANの通信を再開する前の期間(S505でYES、S507でNO)において、BLEのユニキャストにより、状態変更通知を受信する(S1202)。
ここで、ユニキャストにより通知されうる通信パラメータ等は、例えば、ネットワーク識別子、使用するチャネル番号(使用周波数情報)、グループ暗号鍵、または相手装置とのユニキャスト若しくはマルチキャスト通信用の暗号鍵の少なくともいずれかを含む。また、ここでの通信パラメータ等は、例えば、自装置と相手装置のIPアドレス、接続しているTCPセッション、またはHTTP/2セッションとストリームとの情報など、通信状態を示す情報を含む。ここで、図17を用いて、ユニキャストされる接続状態変更パケットの構成について説明する。なお、図17の構成例は一例であり、他の構成によって以下に示す情報と同様の情報が通知されてもよい。
接続状態変更通知パケット1700は、デジタルカメラ101がBLEによりスマートフォン102にユニキャスト送信するメッセージである。なお、このメッセージは、BLEの規格において規定されているAttribute Protocol(ATT)において送信されるメッセージである。接続状態変更通知パケット1700は、データフィールドとして、Attribute Handle1710、Attibute Type1720、及び、1つ以上のAttribute Value1730を含む。さらに、Attributre Value1730はType1731、Length1732、及びValue1733を含む。
Attribute Handle1710は、各属性値に割り当てられる2Byteの整数値である。Attribute Type1720は、Attributeの種別を表す2Byteの値で、接続状態変更通知パケット1700では、Changed Connection Stateを表す値が設定される。Attribute Value1730(以下「AVal」とする)は、Changed Connection State属性の値である。Type1731は、Changed Connection Stateの種別を表す2Byteの値である。Length1732は、Value1733の長さを示す2Byteの値である。Value1733は、Type1731で示されるChanged Connection Stateに関連して設定される値である。
続いて、図18を用いて、接続状態変更通知パケット1700のAVal1730に指定されるType、Length、及びValueについて説明する。
Type1731が1に設定されることにより、スマートフォン102との無線LANによる接続が破棄されたことが示される。Type1731が1に設定される場合、Value1733はデータを含まない。
Type1731が2に設定されることにより、無線LANのネットワーク識別子(SSID)が変更されたことが示される。Value1733には、変更後のSSIDが決定している場合は変更後のSSIDを指定するデータが含まれ、変更後のSSIDが定まっていない場合(不明な場合)はデータが含まれない。
Type1731が3に設定されることにより、無線LANのネットワークで使用されているチャネル番号(使用周波数)が変更されたことが示される。Value1733には、変更後のチャネル番号(使用周波数)が決定している場合は変更後のチャネル番号を指定するデータが含まれ、変更後のチャネル番号が定まっていない場合(不明な場合)はデータが含まれない。
Type1731が4に設定されることにより、WLANネットワークの認証種別が変更されたことが特定される。Value1733には、変更後の認証種別が決定している場合はその変更後の認証種別を指定するデータが含まれ、変更後の認証種別が定まっていない場合(不明な場合)はデータが含まれない。
Type1731が5に設定されることにより、WLANネットワークの暗号種別が変更されたことが特定される。Value1733には、変更後の暗号種別が決定している場合はその変更後の暗号種別を指定するデータが含まれ、変更後の暗号種別が定まっていない場合(不明な場合)はデータが含まれない。
Type1731が6に設定されることにより、通信端末とのユニキャスト通信用暗号鍵が変更されたことが特定される。また、Type1731が7に設定されることにより、ネットワークのマルチキャスト通信用暗号鍵が変更されたことが特定される。これらの場合、Value1733には、変更後の鍵が決定して場合には変更後の暗号鍵の値を指定するデータが含まれ、変更後の鍵が定まっていない場合(不明な場合)はデータが含まれない。
Type1731が8に設定されることにより、通信端末に割り当てたIPアドレスが変更されたことが特定される。Value1733には、変更後のIPアドレスが決定している場合には変更後のIPアドレスを指定するデータが含まれ、変更後のIPアドレスが定まっていない場合(不明な場合)はデータが含まれない。
Type1731が9に設定されることにより、この情報を含む接続状態変更通知の送信側の通信装置のIPアドレスが変更されたことが特定される。Value1733には、変更後のIPアドレスが決定している場合には変更後のIPアドレスを指定するデータが含まれ、変更後のIPアドレスが定まっていない場合(不明な場合)はデータが含まれない。
Type1731が10に設定されることにより、確立されていたTCPコネクションの接続状態が破棄されたことが特定される。この場合、Value1733には、切断したTCPコネクションのクライアントポート番号とサーバポート番号を指定するデータが含まれる。Type1731が11に設定されることにより、通信端末との間で接続していたHTTP/2ストリームの接続状態が破棄されたことが特定される。この場合、Value1733には、切断したHTTP/2ストリームのストリームID番号を指定するデーが含まれる。
図12に戻り、スマートフォン102は、無線LANの通信を再開することが決定された場合(S507でYES)、ユニキャストされたメッセージに基づいた再接続処理を実行する(S1203)。このときの再接続処理の流れについて、図13〜図14を用いて説明する。
まず、WLAN接続状態管理部330は、中断していた無線LANによる通信を再開する際、BLE通信制御部310を介して、相手装置(デジタルカメラ101)へ、無線LANによる通信の再開を通知する(S1301)。続いて、WLAN接続状態管理部330は、S509で記憶した情報を参照して、S506で無線LANの通信機能を停止してから共有パラメータが変更されたプロトコルについての設定変更または再接続処理を実行する。
WLAN STA通信制御部301は、デジタルカメラ101が生成する無線LANのネットワークについてのSSIDが変更されていたかを判定する(S1302)。そして、WLAN STA通信制御部301は、デジタルカメラ101が生成する無線LANのネットワークのSSIDが変更されていた場合(S1302でYES)、接続先のネットワークをS509で記憶した設定変更後のSSIDに変更する(S1303)。一方、SSIDが変更されていない場合は、処理はS1304へ進む。
続いて、WLAN STA通信制御部301は、無線LANのチャネル(使用周波数)が変更されたかを判定する(S1304)。そして、WLAN STA通信制御部301は、チャネルが変更されており(S1304でYES)、S509で変更後のチャネル番号が取得されている場合(S1305でYES)は、接続先のチャネル番号をその取得された番号に変更する(S1307)。一方、WLAN STA通信制御部301は、チャネルが変更され(S1304でNO)、変更後のチャネル情報を取得していない場合(S1305でNO)、デジタルカメラ101による無線LANのネットワークのチャネルをスキャンする(S1306)。その後、WLAN STA通信制御部301は、接続先のチャネル番号を、探索により発見したチャネル番号に設定変更する(S1307)。
次に、WLAN STA通信制御部301は、無線LANの接続状態または認証種別が変更されているかを判定する(S1308)。そして、WLAN STA通信制御部301は、無線LANの接続状態または認証種別が変更されている場合(S1308でYES)、デジタルカメラ101が生成する無線LANのネットワークへの接続処理を実行する(S1309)。
その後、WLAN STA通信制御部301は、ユニキャスト通信用の暗号鍵が変更されているかを判定する(S1310)。WLAN STA通信制御部301は、ユニキャスト通信用の暗号鍵が変更されており(S1310でYES)、S509で変更後の鍵を取得している場合(S1311でYES)、使用する暗号鍵をその取得した鍵に変更する(S1313)。一方、WLAN STA通信制御部301は、ユニキャスト通信用の暗号鍵が変更されており(S1310でYES)、変更後の鍵を取得していない場合(S1311でNO)、デジタルカメラ101との間で鍵交換処理を実行する(S1312)。なお、この鍵交換処理では、例えば、IEEE802.11規格で規定されている4−way handshakeが実行される。その後、WLAN STA通信制御部301は、デジタルカメラ101との無線LANのユニキャスト通信で使用する鍵を、S1312で取得した鍵に設定変更する。(S1313)。
その後、WLAN STA通信制御部301は、マルチキャスト通信用の暗号鍵が変更されているかを判定する(S1314)。WLAN STA通信制御部301は、マルチキャスト通信用の暗号鍵が変更されており(S1314でYES)、S509で変更後の鍵を取得されている場合(S1315でYES)、使用する暗号鍵をその取得されていた鍵に変更する(S1316)。一方、WLAN STA通信制御部301は、マルチキャスト通信用の暗号鍵が変更されており(S1314でYES)、変更後の鍵を取得していない場合(S1315でNO)は、デジタルカメラ101との間で鍵交換処理を実行する(S1316)。なお、この鍵交換処理では、例えば、IEEE802.11規格で規定されている2−way handshakeが実行される。その後、WLAN STA通信制御部301は、デジタルカメラ101との無線LANのマルチキャスト通信で使用する鍵を、S1316で取得した鍵に設定変更する。(S1317)。
続いて、図14に移り、WLAN STA通信制御部301は、スマートフォン102のIPアドレスが変更されているかを判定する(S1318)。そして、スマートフォン102は、スマートフォン102のIPアドレスが変更されている場合(S1318でYES)、IP層以上の再接続処理を実行する。このとき、S509において変更後のIPアドレスを取得していない場合(S1319でNO)、DHCP Client処理部302は、DHCPにより、スマートフォン102が使用するIPアドレスをデジタルカメラ101から取得する(S1320)。そして、IP通信部303は、S1320で取得したIPアドレスを、スマートフォン102のIPアドレスとして設定する(S1321)。一方、S509において変更後のIPアドレスを取得していた場合(S1319でNO)、IP通信部303は、そのS509で取得されていたIPアドレスを、スマートフォン102のIPアドレスとして設定する(S1321)。
続いて、WLAN STA通信制御部301は、相手装置(デジタルカメラ101)のIPアドレスが変更されているかを判定する(S1322)。同様に、WLAN STA通信制御部301は、スマートフォン102のIPアドレスが変更されていない場合(S1318でNO)にも、デジタルカメラ101のIPアドレスが変更されているかを判定する(S1327)。デジタルカメラ101のIPアドレスが変更され(S1322またはS1327でYES)、変更後のIPアドレスが取得されていない場合(S1323でNO)、連携サービス部340は、デジタルカメラ101のIPアドレスを取得する(S1324)。なお、このデジタルカメラ101のIPアドレスを探索して取得する処理は、例えばSSDPによって行われる。
ここで、デジタルカメラ101とスマートフォン102との少なくともいずれかのIPアドレスが変更されている場合は、IPアドレスの変更に付随して、TCPコネクションの再接続と、HTTP/2セッション及びストリームの再構築を行うこととなる。このため、S1324の後に、TCP Client処理部304とHTTP/2 Client処理部305が、デジタルカメラ101と接続していた全TCPコネクション及び全HTTP/2ストリームの再接続処理を実行する(S1325、S1326)。
デジタルカメラ101とスマートフォン102のIPアドレスが変更されていない場合(S1318及びS1327でNO)、WLAN接続状態管理部330は、デジタルカメラ101との間で切断されたTCPコネクションがあるかを判定する(S1328)。切断されたTCPコネクションが存在する場合(S1328でYES)、TCP Client処理部304は、切断されたポート番号へのTCPコネクションの再接続処理を実行する(S1329)。また、これに付随して、HTTP/2 Client処理部305は、その切断されたTCPコネクション上で動作していたHTTP/2ストリームの再構築処理を実行する(S1330)。
また、切断されたTCPコネクションが存在しない場合(S1328でNO)、WLAN接続状態管理部330はデジタルカメラ101との間で切断されたHTTP/2ストリームがあるかを判定する(S1331)。そして、切断されたHTTP/2ストリームが存在する場合(S1331でYES)、HTTP/2 Client処理部305は、切断されたストリームの再構築処理を実行する(S1332)する。
なお、図13及び図14の各処理に失敗した場合、WLAN接続状態管理部330は、無線LANによる再接続処理に失敗したものと判断し、無線LANの通信機能を再度停止する(不図示)。
(デジタルカメラの処理)
次に、図15及び図16のフローチャートを用いて、本実施形態のデジタルカメラ101が実行する処理の流れについて説明する。なお、本実施形態においても、デジタルカメラ101は、相手装置から無線LANの通信の中断通知を受信すると、送信元の相手装置(スマートフォン102)と共有している無線LANによる通信のための通信パラメータ等を記憶部203において記憶する。そして、デジタルカメラ101は、通信パラメータを記憶すると、その通信パラメータに対応するレジュームIDを発行して割り当てて、BLEによって、相手装置に対してそのレジュームIDを通知する。
図15及び図16は、通信パラメータに変化があったことを検知した際に、接続相手装置管理部420が行う処理の流れを示すフローチャートである。この処理では、接続相手装置管理部420は、変更があった通信パラメータを検索し、そのパラメータを含む状態変更通知メッセージを、BLEでスマートフォン102に送信する。
接続相手装置管理部420は、通信パラメータに変化があったことを検知すると、相手装置(スマートフォン102)が無線LANの通信を中断しているかをチェックする(S1501)。そして、接続相手装置管理部420は、スマートフォン102が無線LANの通信を中断していない場合(S1501でNO)は、本処理を終了する。接続相手装置管理部420は、スマートフォン102が無線LANの通信を中断している場合(S1501でYES)は、記憶した通信パラメータと変更後の通信パラメータとを比較して、以下のようにして接続状態変更通知パケット1700のデータを生成する。
接続相手装置管理部420は、まず、スマートフォン102の無線LANの接続が切断されたかを判定する(S1502)。そして、接続相手装置管理部420は、スマートフォン102の無線LANの接続が切断された場合(S1502でYES)、Type1731を1としたAVal1730をパケットに追加する(S1503)。
続いて、接続相手装置管理部420は、SSIDが変更されたかを判定する(S1504)。そして、接続相手装置管理部420は、SSIDが変更された場合(S1504でYES)に、Type1731を2としたAVal1730をパケットに追加する(S1505)。また、接続相手装置管理部420は、変更後のSSIDが決定している場合は、Value1733に変更後のSSIDを含める。
そして、接続相手装置管理部420は、無線LANで使用されているチャネル(周波数)が変更されたかを判定する(S1506)。接続相手装置管理部420は、チャネルが変更された場合(S1506でYES)、Type1731を3としたAVal1730をパケットに追加する(S1507)。また、接続相手装置管理部420は、変更後のチャネル番号が決定している場合に、Value1733に変更後の通信チャネル番号を含める。
続いて、接続相手装置管理部420は、無線LANのネットワークの認証種別が変更されたかを判定する(S1508)。接続相手装置管理部420は、無線LANのネットワークの認証種別が変更された場合(S1508でYES)、Type1731を4としたAVal1730をパケットに追加する(S1509)。また、接続相手装置管理部420は、変更後の認証種別が決定している場合は、Value1733に変更後の認証種別を含める。
その後、接続相手装置管理部420は、無線LANのネットワークの暗号種別が変更されたかを判定する(S1510)。接続相手装置管理部420は、無線LANのネットワークの暗号種別が変更された場合(S1510でYES)、まず、Type1731を5としたAVal1730をパケットに追加する(S1511)。また、この場合、付随して、記憶されているユニキャスト鍵とマルチキャスト鍵とが無効化されることとなる。したがって、接続相手装置管理部420は、Type1731を6としたAVal1730と、Type1731を7としたAVal1730とを、パケットに追加する(S1512、S1513)。また、接続相手装置管理部420は、変更後の暗号種別、ユニキャスト鍵、マルチキャスト鍵が決定している場合は、それぞれ対応するAVal1730のValue1733フィールドに変更後の値を含めて指定する。
一方、接続相手装置管理部420は、無線LANのネットワークの暗号種別が変更された場合(S1510でNO)、続いて、無線LANによる通信のための暗号鍵が変更されているかをチェックする(S1514およびS1516)。ここで、接続相手装置管理部420は、スマートフォン102と通信する際のユニキャスト鍵が変更された場合(S1514でYES)、Type1731を6としたAVal1730をパケットに追加する(S1515)。なお、接続相手装置管理部420は、変更後のユニキャスト鍵が決定している場合は、Value1733に変更後の鍵を指定する情報を含める。また、接続相手装置管理部420は、無線LANのネットワークのマルチキャスト鍵が変更された場合(S1516でYES)、Type1731を7としたAVal1730をパケットに追加する(S1517)。なお、接続相手装置管理部420は、変更後のマルチキャスト鍵が決定している場合は、Value1733に変更後の鍵を指定する情報を含める。
図16に移り、接続相手装置管理部420は、スマートフォン102に割り当てたIPアドレスが変更されたかを判定する(S1518)。そして、接続相手装置管理部420は、スマートフォン102に割り当てたIPアドレスが変更された場合(S1518でYES)、Type1731を8としたAVal1730をパケットに追加する(S1519)。また、接続相手装置管理部420は、変更後のIPアドレスが決定している場合は、Value1733に変更後の認証種別を表す値を含める。
続いて、接続相手装置管理部420は、相手装置(デジタルカメラ101)のIPアドレスが変更されたかを判定する(S1520)。そして、接続相手装置管理部420は、デジタルカメラ101のIPアドレスが変更された場合(S1520でYES)、Type1731を9としたAVal1730をパケットに追加する(S1521)。またこの場合、接続相手装置管理部420は、スマートフォン102との間で接続状態にあったTCPコネクションが存在するかをチェックする(S1522)。そして、接続相手装置管理部420は、接続状態のTCPコネクションが存在する場合(S1522でYES)、Type1731を10としたAVal1730を、コネクションの数分だけパケットに追加する(S1523)。また、接続相手装置管理部420は、スマートフォン102との間で接続状態にあったHTTP/2ストリームが存在するかをチェックする(S1524)。そして、接続相手装置管理部420は、ストリームが存在する場合(S1524でYES)、Type1731を11としたAVal1730を、ストリームの数分だけパケットに追加する(S1525)。
一方、接続相手装置管理部420は、デジタルカメラ101のIPアドレスが変更されていない場合(S1520でNO)、スマートフォン102との間で切断されたTCPコネクションが存在するかをチェックする(S1526)。そして、接続相手装置管理部420は、切断されたTCPコネクションが存在する場合(S1526でYES)、Type1731を10としたAVal1730をパケットに追加する(S1527)。またこの場合、接続相手装置管理部420は、そのTCPコネクション上で接続状態にあったHTTP/2ストリームが存在するかをチェックする(S1528)。接続相手装置管理部420は、そのようなストリームが存在する場合(S1528でYES)、Type1731を11としたAVal1730をストリームの数分だけパケットに追加する(S1529)。
また一方、接続相手装置管理部420は、切断されたTCPコネクションが存在しない場合(S1526でNO)、スマートフォン102との間で切断されたHTTP/2ストリームが存在するかをチェックする(S1530)。接続相手装置管理部420は、切断されたHTTP/2ストリームが存在する場合(S1530でYES)、Type1731を11としたAVal1730をパケットに追加する(S1531)。
以上の処理が完了すると、接続相手装置管理部420は、生成したデータを含む状態変更通知メッセージを、BLE通信制御部410を介してスマートフォン102に送信する(S1532)。
(無線通信システムにおける処理の流れ)
次に、デジタルカメラ101とスマートフォン102とが実行する処理の流れについて、図19を用いて説明する。なお、図19のシーケンス図における処理が実行される前に、デジタルカメラ101のWLAN AP通信制御部401が無線LANによりネットワークを形成してあるものとする。また、図10と同様の処理については、同一の参照番号を付すことにより、説明を省略する。
処理が開始されてから、スマートフォン102が無線LAN通信機能をオフとするまで(S1001〜S1006)は、図10の場合の処理と同様であるため、説明を省略する。その後、デジタルカメラ101は、スマートフォン102との通信で使用していたTCPコネクションがタイムアウトにより切断されると(S1901)、状態変更通知メッセージをスマートフォン102に送信する(S1902)。ここでは、例えば、スマートフォン102側のTCPポートが50000番、デジタルカメラ101側のTCPポートが8080番であるTCPコネクションが切断したものとする。また、このTCPコネクション上で、IDが1および2のHTTP/2ストリームが接続中であったものとする。この場合、S1902のメッセージには、Type1731が10でAVal1730が0xC3501F90、Type1731が11でAVal1730が1、Type1731が11でAVal1730が2の、属性値が設定される。
次に、デジタルカメラ101が生成する無線LANのネットワークのチャネルが変更されると(S1903)、デジタルカメラ101は、再度、状態変更通知メッセージをスマートフォン102に送信する(S1904)。ここでは、無線LANのネットワークのチャネル番号を11に変更したものとする。ここでS1910のメッセージにはType1731が3で、AVal1730=11(0x0B)の属性値が設定される。
次に、デジタルカメラ101が生成する無線LANのネットワークのグループ鍵が変更されると(S1905)、デジタルカメラ101は、再度、状態変更通知メッセージをスマートフォン102に送信する(S1906)。ここでは、変更後の鍵の値が確定していないものとする。すると、S1906のメッセージにはType1731が7で、AVal1730=なしの属性値が設定される。
その後、スマートフォン102は、無線LAN通信機能を再開すると(S1012〜S1015)、無線LANで使用するチャネル番号を、S1904で受信したチャネル番号である「11」へと、設定変更する(S1907)。その後、スマートフォン102は、グループ鍵の交換処理(S1908)、TCPコネクションの確立(S1017)、HTTP/2ストリームの再構築処理(S1018)を実行する。その後、スマートフォン102は、デジタルカメラ101との連携サービス処理を再開する(S1019)。
このように、本実施形態では、共有パラメータに変更があった場合の通知が、通信装置間で確立したBLEコネクションを用いて行われる。また、本実施形態では、BLEのユニキャスト送信によって通知が送受信されるため、変更後のチャネル、IPアドレス等の追加の情報が送受信される。これにより、無線LANによる通信を再開する時に、変更されていた共有パラメータの少なくとも一部についてその共有処理を実行する必要がなくなり、接続時にかかる処理時間を、さらに低減することができる。例えば、図19の例では、デジタルカメラ101側で無線LANの使用チャネルを変更したにもかかわらず、スマートフォン102は、再接続の際に、チャネルの探索処理を行う必要がなくなる。
以上、本発明の実施形態例について説明したが、本発明はこれらの実施形態に限定されることなく、その要旨を変更しない範囲内で変形して実施できることは明らかである。例えば、上述の各実施形態では、通信装置の通信機能が無線LANとBLEである場合について説明したが、他の通信機能が用いられてもよい。例えば、通信機能として、Bluetooth(登録商標) 3.0、Zigbee(登録商標)、RF4CE(Radio Frequency for Consumer Electronics)、Wireless USB等が用いられてもよい。
また、上述の各実施形態では、通信装置間で管理されるプロトコルがIP、TCP、HTTP/2等の特定のものに限られていたが、本発明では、プロトコルも限定されない。すなわち、通信装置間で何らかのパラメータや状態を共有するためのプロトコルに上述の実施形態に係る手法が適用可能であり、例えば、TCP上で動作する独自のアプリケーションプロトコルなどに対して、上述の実施形態に係る手法を適用することもできる。また、例示されたプロトコルのうち、その一部のみに、上述の実施形態が適用されてもよい。すなわち、例えばTCPとHTTP/2に対して上述の実施形態に係る手法を適用し、IPには、これを適用しなくてもよい。
また、上述の各実施形態において、共有パラメータの変更または無効化を通知するためのメッセージのフォーマットをそれぞれ例示したが、共有パラメータの変更を通知するという要旨を変更しない範囲内で、どのような通知がなされてもよい。
また、上述の各実施形態では、共有パラメータの変更をデジタルカメラ101が主導して、スマートフォン102に通知するとしたが、これ以外の手法が用いられてもよい。例えば、スマートフォン102は、ポーリング処理により、デジタルカメラ101に変更を問い合わせ、その応答として上述のような通知メッセージを受信する構成がとられてもよい。
また、上述の各実施形態では、デジタルカメラ101は、無線LANによる通信を中断しているスマートフォン102が存在する間のみ、BLEの状態変更通知メッセージを送信するとしたが、これに限られない。すなわち、デジタルカメラ101は、例えば、無線LANによる通信を中断しているスマートフォン102が存在していると否とによらず、通知メッセージを送信するようにしてもよい。
また、上述の各実施形態では、デジタルカメラ101が、スマートフォン102からの無線LANによる通信の再開通知の受信を契機として、レジュームIDを解放して共有パラメータの変更管理を停止する例について説明したが、これに限られない。デジタルカメラ101は、例えば、スマートフォン102とのBLEによる通信ができなくなった事を契機に、レジュームIDを解放して共有パラメータの変更管理を停止してもよい。また、デジタルカメラ101は、スマートフォン102から無線LANによる通信を再開しないことを示す通知メッセージを受信した事を契機に、レジュームIDを解放して共有パラメータの変更管理を停止してもよい。
以上説明したように、これらの実施形態によれば、通信装置(スマートフォン102)が他の通信装置(デジタルカメラ101)との無線LANによる通信を再接続する際に、無線LANで動作していた通信プロトコルの処理を適切に再開することが可能となる。すなわち、切断前の状態のまま継続できる通信プロトコルの処理はそのまま継続し、切断前の状態のまま継続できない通信プロトコルの処理は再度実行することが可能となる。これにより、不要な通信トラフィックの発生やネットワーク障害を引き起こすことを防ぎ、再接続時にかかる処理時間を低減することができる。また、通信装置(デジタルカメラ101)は、他の通信装置(スマートフォン102)との間で共有したIPアドレスやTCP接続状態などを、他の通信装置において無線LANの通信機能が停止されている間に変更することができる。これにより、限られた通信リソースを効率的に使用する事が可能となる。例えば、他の通信装置が多数存在する場合に、IPアドレスやソケット数などが足りなくなることを防ぐことができる。上記実施形態では、通信装置の一例としてデジタルカメラやスマートフォンについて説明したが、PCやプリンタ、デジタル家電、モバイル端末等その他の装置にも適用可能である。
<<その他の実施形態>>
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
101、102、103:通信装置、300:WLAN通信制御部、310:BLE通信制御部、320:WLAN省電力制御部、330:WLAN接続状態管理部、340:連携サービス部、400:WLAN通信制御部、410:BLE通信制御部、420:接続相手装置管理部、430:連携サービス部

Claims (26)

  1. 第1の通信機能と第2の通信機能とを有する通信装置であって、
    通信の相手装置との間で共有した前記第1の通信機能による通信のための情報を、前記第1の通信機能による前記相手装置との通信を停止した後も記憶する記憶手段と、
    前記第2の通信機能による前記相手装置との通信により、前記記憶手段によって記憶されている前記情報が有効であるかを判定する判定手段と、
    前記第1の通信機能による前記相手装置との通信を再開する際に、前記記憶手段によって記憶されている前記情報の少なくとも一部が有効でない場合に、前記相手装置との間で前記第1の通信機能による通信のための情報を共有する共有手段と、
    を有することを特徴とする通信装置。
  2. 前記共有手段は、前記第2の通信機能を用いて、前記相手装置との間での前記第1の通信機能による通信のための情報の共有を行う、
    ことを特徴とする請求項1に記載の通信装置。
  3. 前記共有手段は、前記相手装置との間で、有効でない前記情報の前記少なくとも一部を共有する、
    ことを特徴とする請求項1又は2に記載の通信装置。
  4. 前記共有手段は、前記相手装置との間で、前記情報の前記少なくとも一部が有効でないことに付随して有効でなくなる情報を、さらに共有する、
    ことを特徴とする請求項3に記載の通信装置。
  5. 前記第1の通信機能による通信のための情報は、前記第1の通信機能による通信で用いられるパラメータを含み、
    前記判定手段は、前記第2の通信機能による通信により、前記パラメータが変更されたこと又は無効化されたことを通知された場合に、前記第1の通信機能による通信のための情報のうちの当該パラメータに係る一部が有効でないと判定する、
    ことを特徴とする請求項1から4のいずれか1項に記載の通信装置。
  6. 前記パラメータは、ネットワーク識別子、使用するチャネルを示す情報、暗号化種別、暗号鍵、認証種別、前記通信装置のアドレス、または前記相手装置のアドレスの少なくともいずれかを含む、
    ことを特徴とする請求項5に記載の通信装置。
  7. 前記第1の通信機能による通信のための情報は、前記第1の通信機能による通信の通信状態を示す情報を含み、
    前記判定手段は、前記第2の通信機能による通信により、前記通信状態が変更されたこと又は無効化されたことを通知された場合に、前記第1の通信機能による通信のための情報のうちの当該通信状態に係る一部が有効でないと判定する、
    ことを特徴とする請求項1から6のいずれか1項に記載の通信装置。
  8. 前記通信状態は、接続、セッション、又はストリームの少なくともいずれかに関する情報を含む、
    ことを特徴とする請求項7に記載の通信装置。
  9. 前記判定手段は、前記相手装置から前記第2の通信機能によってブロードキャストされるメッセージにより、前記記憶手段によって記憶されている前記情報が有効であるかを判定する、
    ことを特徴とする請求項1から8のいずれか1項に記載の通信装置。
  10. 前記判定手段は、前記相手装置から前記第2の通信機能によってユニキャストされるメッセージにより、前記記憶手段によって記憶されている前記情報が有効であるかを判定する、
    ことを特徴とする請求項1から8のいずれか1項に記載の通信装置。
  11. 前記ユニキャストされるメッセージは、変更され又は無効化された前記情報の前記少なくとも一部を特定する情報を含んで送信される、
    ことを特徴とする請求項10に記載の通信装置。
  12. 前記ユニキャストされるメッセージは、変更された前記情報の前記少なくとも一部について、変更した後の情報をさらに含み、
    前記共有手段は、前記変更した後の情報が含まれている前記情報の前記少なくとも一部については、前記共有を行わない、
    ことを特徴とする請求項11に記載の通信装置。
  13. 第1の通信機能と第2の通信機能とを有する通信装置であって、
    通信の相手装置との間で共有した前記第1の通信機能による通信のための情報を記憶する記憶手段と、
    前記記憶手段によって記憶されている前記情報の少なくとも一部を変更した場合または無効化した場合に、当該情報の当該少なくとも一部が変更されたこと又は無効化されたことを、前記第2の通信機能による通信により、前記相手装置へ通知する通知手段と、
    を有することを特徴とする通信装置。
  14. 前記記憶手段は、前記相手装置が前記第1の通信機能による前記通信装置との通信を停止する際の前記情報を記憶する、
    ことを特徴とする請求項13に記載の通信装置。
  15. 前記通知手段は、前記相手装置が前記第1の通信機能による前記通信装置との通信を停止してから、前記通知を行う、
    ことを特徴とする請求項13又は14に記載の通信装置。
  16. 前記通知手段は、前記相手装置が前記第1の通信機能による前記通信装置との通信を再開してからは、前記通知を停止する、
    ことを特徴とする請求項15に記載の通信装置。
  17. 前記通知手段は、前記第2の通信機能によってメッセージをブロードキャストすることにより、前記情報の前記少なくとも一部が変更され又は無効化されたことを前記相手装置へ通知する、
    ことを特徴とする請求項13から16のいずれか1項に記載の通信装置。
  18. 前記通知手段は、前記第2の通信機能によってメッセージをユニキャストすることにより、前記情報の前記少なくとも一部が変更され又は無効化されたことを前記相手装置へ通知する、
    ことを特徴とする請求項13から16のいずれか1項に記載の通信装置。
  19. 前記ユニキャストされるメッセージは、変更された前記情報の前記少なくとも一部について、変更した後の情報をさらに含む、
    ことを特徴とする請求項18に記載の通信装置。
  20. 前記情報は、前記第1の通信機能による通信で用いられるパラメータを含み、
    前記パラメータは、ネットワーク識別子、使用するチャネルを示す情報、暗号化種別、暗号鍵、認証種別、前記通信装置のアドレス、または前記相手装置のアドレスの少なくともいずれかを含む、
    ことを特徴とする請求項13から18のいずれか1項に記載の通信装置。
  21. 前記第1の通信機能による通信のための情報は、前記第1の通信機能による通信の通信状態を示す情報を含み、
    前記通信状態は、接続、セッション、又はストリームの少なくともいずれかに関する情報を含む、
    ことを特徴とする請求項13から20のいずれか1項に記載の通信装置。
  22. 前記第2の通信機能は、前記第1の通信機能より消費電力の少ない通信機能である、
    ことを特徴とする請求項1から21のいずれか1項に記載の通信装置。
  23. 前記第1の通信機能は、IEEE802.11規格に準拠した無線LANによる通信機能であり、前記第2の通信機能は、Bluetooth Low Energy(BLE)による通信機能である、
    ことを特徴とする請求項1から22のいずれか1項に記載の通信装置。
  24. 第1の通信機能と、第2の通信機能と、情報を記憶する記憶手段とを有する通信装置の制御方法であって、
    通信の相手装置との間で共有した前記第1の通信機能による通信のための情報を、前記第1の通信機能による前記相手装置との通信を停止した後も前記記憶手段に記憶させる工程と、
    前記第2の通信機能による前記相手装置との通信により、前記記憶手段によって記憶されている前記情報が有効であるかを判定する工程と、
    前記第1の通信機能による前記相手装置との通信を再開する際に、前記記憶手段によって記憶されている前記情報の少なくとも一部が有効でない場合に、前記相手装置との間で前記第1の通信機能による通信のための情報を共有する工程と、
    を有することを特徴とする制御方法。
  25. 第1の通信機能と、第2の通信機能と、情報を記憶する記憶手段とを有する通信装置の制御方法であって、
    通信の相手装置との間で共有した前記第1の通信機能による通信のための情報を前記記憶手段に記憶させる工程と、
    前記記憶手段によって記憶されている前記情報を変更した場合または無効化した場合に、当該情報の少なくとも一部が変更されたこと又は無効化されたことを、前記第2の通信機能による通信により、前記相手装置へ通知する工程と、
    を有することを特徴とする制御方法。
  26. 第1の通信機能と、第2の通信機能と、情報を記憶する記憶手段とを有する通信装置に備えられたコンピュータに、請求項24又は25に記載の制御方法を実行させるためのプログラム。
JP2014204215A 2014-10-02 2014-10-02 通信装置、制御方法、及びプログラム Active JP6454120B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2014204215A JP6454120B2 (ja) 2014-10-02 2014-10-02 通信装置、制御方法、及びプログラム
US15/506,168 US20180227979A1 (en) 2014-10-02 2015-09-18 Communication apparatus, control method, and storage medium
PCT/JP2015/004799 WO2016051724A1 (en) 2014-10-02 2015-09-18 Communication apparatus, control method, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014204215A JP6454120B2 (ja) 2014-10-02 2014-10-02 通信装置、制御方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2016076745A JP2016076745A (ja) 2016-05-12
JP6454120B2 true JP6454120B2 (ja) 2019-01-16

Family

ID=55629795

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014204215A Active JP6454120B2 (ja) 2014-10-02 2014-10-02 通信装置、制御方法、及びプログラム

Country Status (3)

Country Link
US (1) US20180227979A1 (ja)
JP (1) JP6454120B2 (ja)
WO (1) WO2016051724A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6634995B2 (ja) * 2016-09-30 2020-01-22 富士通クライアントコンピューティング株式会社 監視装置、再接続方法および再接続プログラム
EP3541012B1 (en) * 2016-11-11 2020-10-28 Mitsubishi Electric Corporation Communication device, communication system, communication method, and program
JP6880719B2 (ja) * 2016-12-27 2021-06-02 カシオ計算機株式会社 通信装置、通信方法、電子時計及びプログラム
JP6702916B2 (ja) 2017-07-04 2020-06-03 キヤノン株式会社 通信装置、外部装置、通信装置の制御方法、外部装置の制御方法、及び、プログラム
CN107204883B (zh) 2017-07-27 2020-09-08 北京小米移动软件有限公司 网络故障处理方法及装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102004013494B4 (de) * 2004-03-18 2006-12-28 Infineon Technologies Ag Verfahren und Vorrichtung zum adaptiven Aktivieren oder Deaktivieren der Koordination der Funk-Aktivitäten zweier Mobilfunk-Sende- und/oder -Empfangseinrichtungen
US20110177780A1 (en) * 2010-01-15 2011-07-21 Kabushiki Kaisha Toshiba Wireless communication apparatus
JP2012217130A (ja) * 2011-03-25 2012-11-08 Denso Corp 携帯端末および機器連携システム
US9642051B2 (en) * 2012-05-30 2017-05-02 Nokia Technologies Oy Method and apparatus for providing notification of a network access technology switching event
JP2014017770A (ja) * 2012-07-11 2014-01-30 Canon Inc 無線通信装置、その制御方法、プログラム
JP5792753B2 (ja) * 2013-01-18 2015-10-14 Necプラットフォームズ株式会社 通信装置および通信装置動作状態移行方法
WO2014142299A1 (ja) * 2013-03-14 2014-09-18 日本電気株式会社 通信端末と通信制御装置と通信システムと通信制御方法並びにプログラム
JP6216149B2 (ja) * 2013-04-26 2017-10-18 キヤノン株式会社 通信装置、通信方法およびプログラム
JP2015180043A (ja) * 2014-02-25 2015-10-08 キヤノン株式会社 通信装置、通信装置の制御方法およびプログラム

Also Published As

Publication number Publication date
JP2016076745A (ja) 2016-05-12
WO2016051724A1 (en) 2016-04-07
US20180227979A1 (en) 2018-08-09

Similar Documents

Publication Publication Date Title
EP3416428B1 (en) Transmission of wlan configuration via bluetooth
JP6454120B2 (ja) 通信装置、制御方法、及びプログラム
JP6057565B2 (ja) 画像処理装置、画像処理装置の制御方法、およびプログラム
EP2991435B1 (en) Communication apparatus and control method of communication apparatus
US20130311692A1 (en) Apparatus and method for direct pairing in a wireless docking system
JP6532341B2 (ja) 通信装置、その制御方法、およびプログラム
EP2792195A1 (en) Shared network access via a peer-to-peer link
US9338818B2 (en) Wireless communication apparatus for wireless network and computer readable media
EP2853082A1 (en) Devices and methods for facilitating direct pairing in a wireless docking system
EP2949138B1 (en) Communication apparatus, method of controlling the same, and program
US20170064756A1 (en) Communication Device and Master Station Device
JP2014128018A (ja) 通信装置、制御方法、及びプログラム
KR20140138071A (ko) 유니버셜 플러그 앤 플레이 프로토콜을 지원하는 통신 시스템에서 무선 도킹 동작 수행 장치 및 방법
JP6512875B2 (ja) 通信装置、通信装置の制御方法及びプログラム
JP2017016482A (ja) 通信装置およびその制御方法、通信システム
JP6157190B2 (ja) 通信装置、その制御方法、プログラム
WO2022161220A1 (zh) 一种多屏幕设备控制的方法及通信***
JP2015191320A (ja) 情報処理装置、デバイス共有システムおよびデバイス接続方法
JP2020088712A (ja) 通信装置およびその制御方法
JP2017212502A (ja) 通信装置、その制御方法、及びプログラム
JP5693684B2 (ja) 無線通信装置、制御方法及びプログラム
CN117998339A (zh) 信息处理方法以及装置、电子设备及存储介质
JP2019195178A (ja) 通信装置、その制御方法、およびプログラム
JP5511777B2 (ja) 無線通信装置、制御方法及びプログラム
JP2006080749A (ja) プロトコル機能制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170927

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180910

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181107

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: 20181116

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181214

R151 Written notification of patent or utility model registration

Ref document number: 6454120

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151