(57)【要約】【課題】機器の接続先の変更に係る負荷を軽減する。【解決手段】機器と複数のチャネルを用いて通信する複数の通信装置を含む通信システムの通信制御方法において、複数の通信装置中の第１の通信装置に収容された第１の機器を第１の通信装置の代わりに収容する第２の通信装置となる通信装置が、機器との接続状態を示す接続情報と選択可能な複数のチャネルのうち使用可能なチャネルを示すチャネル情報とを第１の通信装置から取得し、チャネル情報に基づいて第１及び第２の通信装置が使用可能な所定数の特定チャネルを選択し、第１の通信装置に使用チャネルを所定数の特定チャネルに変更する要求を送信し、接続情報と所定数の特定チャネルを用いて機器との通信を開始する。【選択図】図２
2018067792.tif 000002
【特許請求の範囲】
【請求項１】
収容した機器と複数のチャネルを用いて通信する複数の通信装置を含む通信システムの通信制御方法において、
前記複数の通信装置中の第１の通信装置に収容された第１の機器を前記第１の通信装置の代わりに収容する第２の通信装置となる通信装置が、
前記機器との接続状態を示す接続情報と、選択可能な複数のチャネルのうち使用可能なチャネルを示すチャネル情報とを前記第１の通信装置から取得し、
前記チャネル情報に基づいて前記第１の通信装置及び前記第２の通信装置が使用可能な所定数の特定チャネルを前記選択可能な複数のチャネルから選択し、
前記第１の通信装置に使用チャネルを前記所定数の特定チャネルに変更する要求を送信し、
前記接続情報と前記所定数の特定チャネルを用いて前記機器との通信を開始する
ことを含む通信制御方法。
【請求項２】
前記通信システムに含まれる前記複数の通信装置の管理装置が、
前記複数の通信装置中の所定条件を満たす通信装置を前記第１の通信装置に決定し、
前記第１の通信装置に収容された前記第１の機器からの電波強度が閾値を超える通信装置を前記複数の通信装置から抽出し、
前記抽出した通信装置の中から処理負荷が低い通信装置を前記第２の通信装置に決定し、
前記第２の通信装置に決定した通信装置に前記指示を送信する
ことをさらに含む請求項１に記載の通信制御方法。
【請求項３】
前記管理装置は処理負荷が閾値より高い通信装置を前記第１の通信装置に決定する
請求項２に記載の通信制御方法。
【請求項４】
前記管理装置は収容する機器の電波強度が閾値より低い通信装置を前記第１の通信装置に決定する
請求項２に記載の通信制御方法。
【請求項５】
前記管理装置はトラフィック量が閾値を超過する通信装置を前記第１の通信装置に決定する
請求項２に記載の通信制御方法。
【請求項６】
前記管理装置は、前記第１の通信装置を介する前記第１の機器へのアクセスのタイミングが過ぎた後に前記第２の通信装置へ前記指示を送信する
請求項２から５のいずれか１項に記載の通信制御方法。
【請求項７】
前記管理装置は、前記第１の通信装置に収容され且つ接続先の変更対象とされる２以上の機器のうち通信状況が悪く且つ前記第１の通信装置を介したアクセスのタイミングが遅い機器を前記第１の機器に決定する
請求項２から６のいずれか１項に記載の通信制御方法。
【請求項８】
収容した機器と複数のチャネルを用いて通信する第１の通信装置の代わりに前記機器を収容する第２の通信装置が、
前記機器との接続状態を示す接続情報と、選択可能な複数のチャネルのうち使用可能なチャネルを示すチャネル情報とを前記第１の通信装置から取得し、
前記チャネル情報に基づいて前記第１の通信装置及び前記第２の通信装置が使用可能な所定数の特定チャネルを前記選択可能な複数のチャネルから選択し、
前記第１の通信装置に使用チャネルを所定数の特定チャネルに変更する指示を送信するとともに、前記接続情報と前記所定数の特定チャネルを用いて前記機器との通信を開始する
ことを含む通信制御方法。
【請求項９】
複数のチャネルを用いて収容した機器と通信する第１の通信装置の代わりに前記機器を収容する通信装置において、
前記機器との接続状態を示す接続情報と、選択可能な複数のチャネルのうち使用可能なチャネルを示すチャネル情報とを前記第１の通信装置から取得する処理と、前記チャネル情報に基づいて前記第１の通信装置及び前記通信装置が使用可能な所定数の特定チャネルを前記選択可能な複数のチャネルから選択する処理と、前記第１の通信装置に使用チャネルを所定数の特定チャネルに変更する指示を送信する処理と、前記接続情報と前記所定数の特定チャネルを用いて前記機器との通信を開始する処理とを行う制御部と
を含む通信装置。
【請求項１０】
複数のチャネルを用いて収容した機器と通信する複数の通信装置と、前記複数の通信装置の管理装置とを含む通信システムにおいて、
前記管理装置は、前記複数の通信装置中の第１の通信装置に収容された第１の機器を前記第１の通信装置の代わりに収容する第２の通信装置となる指示を出力する出力部を含み、
前記第２の通信装置となる通信装置は、前記指示に基づいて、前記機器との接続状態を示す接続情報と、選択可能な複数のチャネルのうち使用可能なチャネルを示すチャネル情報とを前記第１の通信装置から取得する処理と、前記チャネル情報に基づいて前記第１の通信装置及び前記第２の通信装置が使用可能な所定数の特定チャネルを前記選択可能な複数のチャネルから選択する処理と、前記第１の通信装置に使用チャネルを所定数の特定チャネルに変更する要求を送信する処理と、前記接続情報と前記所定数の特定チャネルを用いて前記機器との通信を開始する処理とを実行する制御部を含む
通信システム。
【請求項１１】
複数のチャネルを用いて収容した機器と通信する第１の通信装置の代わりに前記機器を収容する第２の通信装置のコンピュータに、
前記機器との接続状態を示す接続情報と、選択可能な複数のチャネルのうち使用可能なチャネルを示すチャネル情報とを前記第１の通信装置から取得する処理と、
前記チャネル情報に基づいて前記第１の通信装置及び前記第２の通信装置が使用可能な所定数の特定チャネルを前記選択可能な複数のチャネルから選択する処理と、
前記第１の通信装置に使用チャネルを所定数の特定チャネルに変更する指示を送信する処理と、
前記接続情報と前記所定数の特定チャネルを用いて前記機器との通信を開始する処理とを実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信制御方法，通信装置，通信システム及びプログラムに関する。
【背景技術】
【０００２】
近年、ＩｏＴ（Internet of Things）が普及してきている。ＩｏＴでは、インターネット等のネットワークに接続された機器やセンサ（ＩｏＴ機器と称する）を用いてサービスで利用されるデータが収集される。サービスに係るデータの処理結果は必要に応じて機器にフィードバックされる。
【０００３】
電力供給線の配線が困難な場所には、バッテリで駆動するＩｏＴ機器が設置される。この場合、ＩｏＴ機器の通信方法として、低消費電力の近距離無線通信（例えばBluetooth
（登録商標） Low Energy（ＢＬＥ））が適用される場合が少なくない。
【０００４】
ＢＬＥを利用するＩｏＴ機器からの電波の到達距離は狭小であり、Internet Protocol
（ＩＰ）を用いた通信（ＩＰ通信）を行うこともできない。このため、“ゲートウェイ（GW）”と呼ばれる装置がＩｏＴ機器を収容（ＮＷ的に接続）し、ＩｏＴ機器とネットワーク（インターネット等）との間のデータ中継を行う。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１６−４２６４５号公報
【特許文献２】国際公開第２０１２／１１４９３７号
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ＧＷの運用開始後における保守作業のためにＧＷの動作が停止される場合がある。ＧＷに係る保守作業は、例えば。ＧＷ自体の置き換え、ＧＷに実装されたソフトウェア（オペレーティングシステム（ＯＳ），ミドルウェア，アプリケーションなど）の置き換え又は更新、新規デバイスの追加に伴うドライバのインストールなどである。
【０００７】
ＧＷが停止されると、ＧＷに接続されているＩｏＴ機器との通信（データ収集）が停止する結果、ＩｏＴサービスの品質が低下するおそれがある。品質低下回避のため、保守対象のＧＷを代替する代替ＧＷを用意したり、保守対象のＧＷの周囲にある他のＧＷがＩｏＴ機器を収容したりすることが考えられる。
【０００８】
ＢＬＥ通信を行うＩｏＴ機器をＧＷに接続する場合、ＩｏＴ機器とＧＷとのペアリングのため、例えば、“Passkey Entry”，“Numeric Comparison”及び“Out-of-band”とそれぞれ呼ばれる作業が行われる。“Passkey Entry”はＩｏＴ機器に表示された番号をＧ
Ｗに入力する作業である。“Numeric Comparison”はＩｏＴ機器に表示された番号とＧＷに表示された番号が一致することをチェックする作業である。“Out-of-band”はＩｏＴ
機器に貼付された接続に必要な情報を読み取る作業である。
【０００９】
しかし、保守対象のＧＷに収容されているＩｏＴ機器の数が多い場合には、上記した作業の手間が大きくなり、作業員が作業を誤る可能性が高くなるおそれがある。誤作業回避のために作業が慎重に行われる結果、所用時間が増大するおそれがあった。
【００１０】
本発明は、機器の接続先の変更に係る負荷を軽減可能な通信制御方法，通信装置，通信
システム及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
一つの態様は、機器と複数のチャネルを用いて通信する複数の通信装置を含む通信システムの通信制御方法である。この通信制御方法は、複数の通信装置中の第１の通信装置に収容された第１の機器を第１の通信装置の代わりに収容する第２の通信装置となる通信装置が、機器との接続状態を示す接続情報と選択可能な複数のチャネルのうち使用可能なチャネルを示すチャネル情報とを第１の通信装置から取得し、チャネル情報に基づいて第１及び第２の通信装置が使用可能な所定数の特定チャネルを選択し、第１の通信装置に使用チャネルを所定数の特定チャネルに変更する要求を送信し、接続情報と所定数の特定チャネルを用いて機器との通信を開始することを含む。
【発明の効果】
【００１２】
一側面では、機器の接続先の変更の負荷を軽減することができる。
【図面の簡単な説明】
【００１３】
【図１】図１は実施形態１の構成例を示す。
【図２】図２は実施形態１の動作例（ハンドオーバ処理）を示すフローチャートである。
【図３】図３は実施形態１に係るＧＷ管理テーブルのデータ構造例を示す。
【図４】図４は現行ＧＷがＩｏＴ機器と通信中である場合を示す。
【図５】図５は現行ＧＷおよび代替ＧＷの双方の使用チャネルを制限した場合を示す。
【図６】図６は作業用端末のハードウェア構成例を示す。
【図７】図７はＧＷ及びＩｏＴ機器のハードウェア構成例を示す。
【図８】図８は実施形態２に係る通信システムの構成例を示す。
【図９】図９は実施形態２の動作例を示すフローチャートである。
【図１０】図１０は実施形態２に係るＧＷ管理テーブルのデータ構造例を示す。
【図１１】図１１は実施形態３に係る通信システムの構成例を示す。
【図１２】図１２は実施形態３の動作例を示すフローチャートである。
【図１３】図１３は実施形態４に係る通信システムの構成例を示す。
【図１４】図１４は実施形態４の動作例を示すフローチャートである。
【発明を実施するための形態】
【００１４】
以下、図面を参照して、通信制御方法，通信装置，通信システム及びプログラムの実施形態について説明する。実施形態の構成は例示であり、本発明は実施形態の構成に限定されない。
【００１５】
〔実施形態１〕
実施形態１として、作業用端末を利用して、ＢＬＥ通信を行うＩｏＴ機器の収容先を変更する通信システムについて説明する。作業員は、作業用端末を利用して、ＩｏＴ機器の収容先のＧＷを変更する。ＢＬＥ通信は以下の特徴がある。
【００１６】
第１に周波数ホッピング方式（FHSS：Frequency Hopping Spread Spectrum）で通信が
行われる。ＦＨＳＳは広い帯域内をいくつかのチャンネルに分割し、搬送波の周波数を短時間で切り替えることで信号を広い帯域に拡散させる通信方式である。なお、ＢＬＥでは、２．４GHzの広帯域（2402〜2480MHz）の中に２MHzごとに４０個のチャネルが設定され
、毎秒４００回のチャネル切替が行われる。
【００１７】
第２に適応周波数ホッピング（ＡＦＨ（Adaptive Frequency Hopping）機能）を有する
。ＡＦＨはパケット消失（エラー）が頻発するチャネルを使用しないようにマスタ（ＧＷ）とスレーブ（機器）が使用チャネルをネゴシエートする。ＡＦＨにより、他の機器に使用されているチャネルの使用（干渉）を回避する。
【００１８】
図１は、実施形態１に係る通信システムの構成例を示す。図１には、ＩｏＴ機器１（以下「機器１」と表記）とネットワーク（ＢＬＥ網）Ｎ１を介してＢＬＥ通信するＧＷ２と、作業用端末４（以下「端末４」と表記）とが図示されている。複数のＧＷ２として、機器１と通信中のＧＷ２Ａ（現行ＧＷ）と、ＧＷ２Ａを代替するＧＷ２Ｂとが図示されている。ＩｏＴ機器１は「機器」、「デバイス」、「子機」、「スレーブ」の一例である。ＧＷ２は「通信装置」、「中継装置」、「親機」、「マスタ」の一例である。端末４は「端末」の一例である。ＧＷ２Ａは「第１の通信装置」の一例であり、ＧＷ２Ｂは「第２の通信装置」の一例であり、ＧＷ２Ａに収容された機器１は「第１の機器」の一例である。端末４は「管理装置」の一例である。
【００１９】
端末４は、ネットワークＮ２を介してＧＷ２と接続される。ネットワークＮ２には、例えば、無線ＬＡＮ，第３世代無線通信ネットワーク（３Ｇ），有線ＬＡＮ（Local Area Network），シリアル通信などを適用することができる。ＧＷ２ＡとＧＷ２Ｂとは、ネットワークＮ３を介して接続される。ネットワークＮ３はネットワークＮ２と同じであってもよい。また、ネットワークＮ３に有線ＬＡＮやＷｉ−Ｆｉを適用してもよい。
【００２０】
ＧＷ２ＡとＧＷ２Ｂとは同じ構成を有している。ＧＷ２Ｂを例に説明すると、ＧＷ２Ｂはハンドオーバ制御部３１と、ＧＷ間通信部３２と、接続情報管理部３３と、ＢＬＥ通信部３４と、チャネルホッピング制御部（ＣＨ制御部）３５とを含む。なお、図１に示すＧＷ２ＡはＧＷ間通信部３２およびＢＬＥ通信部３４以外の構成の図示を省略している。ハンドオーバ制御部３１（ＣＰＵ２０１）は「取得部」、「選択部」、「送信部」、「通信部」、「制御部」の一例である。
【００２１】
端末４は、ハンドオーバ要求部４１とＧＷ情報管理部４２とを含む。ハンドオーバ要求部４１は、ＧＷ２Ｂ（代替ＧＷ）に対し、ＧＷ２Ａ（現行ＧＷ）に収容中の所定の機器１を収容する指示を出す。ＧＷ情報管理部４２は、管理対象のＧＷ（ＧＷ２Ａ）に関するアドレスなどの情報を管理する。
【００２２】
ハンドオーバ制御部３１はハンドオーバの指示を受け、ＧＷ２Ｂ内のＧＷ間通信部３２，接続情報管理部３３，ＣＨ制御部３５等に指示を出し、ハンドオーバ処理を実行する。ＧＷ間通信部３２は、他のＧＷ（ＧＷ２Ａ）とセキュアな通信を行う。接続情報管理部３３は機器１とＧＷ２の接続を識別するアドレスおよび暗号鍵を管理する。ＢＬＥ通信部３４は機器１とＢＬＥ接続を確立し、ＢＬＥ通信を行う。ＣＨ制御部３５はチャネルホッピングに使用するチャネルを管理し、チャネルホッピングのホッピングパターンとホッピングタイミングとを制御する。
【００２３】
実施形態１におけるハンドオーバ時の動作は以下の通りである。図２は実施形態１の動作例を示すフローチャートである。作業員は、端末４を利用するにあたって、端末４の認証を予め行い、ＧＷ２のハンドオーバを行う権限を持つか否かを確認するのが好ましい。
【００２４】
ハンドオーバ作業が開始されると、ハンドオーバ対象の機器１を収容させたい代替ＧＷ（ＧＷ２Ｂ）と、現状の収容先である現行ＧＷ（ＧＷ２Ａ）のアドレスとを端末４のＧＷ情報管理部４２が取得する（図２の００１）。ＧＷ情報管理部４２はＧＷ管理テーブルＴ１を管理する。
【００２５】
図３はＧＷ管理テーブルＴ１のデータ構造例を示す。ＧＷ管理テーブルＴ１はＩｏＴ機
器を収容するＧＷ２のアドレス（例えばＩＰ（Internet Protocol）アドレス）を管理し
ている。ＧＷ管理テーブルＴ１は、ＧＷの識別子と、ＧＷのアドレスと、ＧＷに収容されるＩｏＴ機器のリストとをＧＷごとに記憶する。ＩｏＴ機器のリストは、各ＩｏＴ機器のＢＤアドレス（Bluetooth（登録商標） Device Address）や暗号鍵の情報を含む。ＧＷ管理テーブルＴ１は、ＧＷのベンダ名や型番などの情報も管理してもよい。ＧＷ管理テーブルＴ１は、端末４の外部（例えばネットワーク（クラウド））に置かれても良い。  
【００２６】
ハンドオーバ要求部３１は、ＧＷ２Ｂ（代替ＧＷ）に対して、所定の機器１をＧＷ２Ａ（現行ＧＷ）の代わりに収容する指示（ハンドオーバ指示）を送信する（図２の００２）。端末４とＧＷ２Ｂとの通信は暗号化通信によって行い、証明書やＩＤおよびパスワードを用いて、正規の端末４がＧＷ２Ｂにアクセス可能とされる。
【００２７】
ＧＷ２Ｂはハンドオーバ指示を受信する（図２の００３）。ＧＷ２Ｂのハンドオーバ制御部３１は、ＧＷ間通信部３２を介して、ＧＷ２Ａ（現行ＧＷ）の接続情報管理部３３（図示せず）向けに、接続情報の要求をＧＷ２Ａに送る（図２の００４）。要求を受信したＧＷ２Ａの接続情報管理部３３（図示せず）は、ＧＷ間通信部３２を介して要求された接続情報（収容対象の機器１の暗号鍵およびアドレス（ＢＤアドレスとアクセスアドレスの少なくとも一方））をＧＷ２Ｂへ送る（図２の００５）。なお、ＧＷ２ＢとＧＷ２Ａとの間の通信も暗号化通信にて行い、証明書やＩＤおよびパスワードにより、正規のＧＷ２であることを確認する。
【００２８】
ハンドオーバ制御部３１は、機器１からの電波強度が十分か否か（所定の閾値以上か否か）を判定する（図２の００６）。電波強度が閾値未満と判定される場合には図２の処理が終了する。ＧＷ２Ｂが接続先としてふさわしくないからである。これに対し、電波強度が閾値以上と判定される場合には、ハンドオーバ制御部３１は取得した接続情報を接続情報管理部３３に渡す。接続情報管理部３３は接続情報を記憶する（図２の００７）。
【００２９】
ＧＷ２Ｂのハンドオーバ制御部３１は、ＧＷ間通信部３２を介して、ＧＷ２ＡのＣＨ制御部３５（図示せず）に現在の使用可能チャネルリストの要求を送る（図２の００８）。要求を受信したＧＷ２Ａは、ＧＷ間通信部３２を介して、要求に応じた使用可能チャネルリストを送信する（図２の００９）。
【００３０】
ＧＷ２Ｂのハンドオーバ制御部３１は、ＧＷ２ＢのＣＨ制御部３５から使用可能チャネルリストを取得し、ＧＷ２Ａから取得したものと照合し、双方が利用可能な所定数のチャネル（例えば３個）を選択する（図２の０１０）。ハンドオーバ制御部３１はチャネルが選択可能か否かを判定し（図２の０１１）、選択不可能と判定する場合には処理を終了する。
【００３１】
３個のチャネルが選択された場合、ハンドオーバ制御部３１は、ＧＷ間通信部３２を介して、ＧＷ２Ａにホッピングパターンを選択した３個のチャネルに使用可能チャネルを変更する指示を送る（図２の０１２）。
【００３２】
ＧＷ２Ａのハンドオーバ制御部３１は、要求を受信すると、ＣＨ制御部３５にホッピングチャネルの変更（選択された３個への変更）を指示する。ＣＨ制御部３５は指示に従いホッピングチャネルを３個に制限する（図２の０１３）。すると、ＧＷ２ＡのＢＬＥ通信部３４を介した機器１との通信により機器１におけるホッピングパターンも同期的に変化する。実際には、ＢＬＥ通信の仕様に従い、ホッピングパターンの変更指示が機器１に送信される。
【００３３】
ＧＷ２Ｂのハンドオーバ制御部３１はＧＷ２Ｂの接続情報管理部３３に機器１に対する
ポーリングを開始する指示を与える。これにより、ＧＷ２ＢのＢＬＥ通信部３４が、接続情報管理部３３の接続情報を使用し、ＣＨ制御部３５が制御するチャネルホッピングに従って機器１へのポーリングを開始する（図２の０１４）。
【００３４】
ＧＷ２Ｂのハンドオーバ制御部３１はＧＷ２Ａに機器１へのポーリングを停止する指示を送る（図２の０１５）。ＧＷ２Ａでは、ハンドオーバ制御部３１は、接続情報管理部３３における機器１の接続情報（暗号鍵及びアドレス）を削除するように指示するとともに、ＣＨ制御部３５にホッピングパターンを元に戻すように指示する。すると、ＧＷ２ＡのＢＬＥ通信部３４は、所定の機器１へのポーリングを停止し、元のホッピングパターンによるＢＬＥ通信に戻る。
【００３５】
一方、ＧＷ２Ｂにおいて、ポーリング開始時のＧＷ２Ｂのホッピングパターンは機器１のホッピングパターンとずれている可能性がある。しかし、短時間でトランスミットウィンドウが修正され、同期が取れるようになる。同期がとれたところで、ＧＷ２Ｂのハンドオーバ制御部３１はＣＨ制御部３５にホッピングパターンを戻すように指示する。すると、機器１に対しても同期的にホッピングパターンが変更され、元のホッピングパターンで通信可能となる（図２の０１７）。最後に、端末４のＧＷ情報管理部４２のＧＷ管理テーブルＴ１を更新する（図２の０１８）。
【００３６】
図４は、現行ＧＷ（ＧＷ２Ａ）が機器１と通信中である場合を示し、図５は、現行ＧＷ（ＧＷ２Ａ）および代替ＧＷ（ＧＷ２Ｂ）の双方の使用チャネルを制限した場合を示す。
【００３７】
図４では、ＧＷ２Ａと機器１とが１ＣＨ，３ＣＨ，５ＣＨ，．．．というホッピングパターンを用いて通信している例が示されている。このとき、ＧＷ２Ｂは２ＣＨ，４ＣＨ，６ＣＨ，８ＣＨ，．．．というホッピングパターンを用いている。ＧＷ２Ｂは，ホッピングパターンが機器１とはズレが大きいため，機器１とは通信できない。
【００３８】
実施形態１では、図２に示した動作によって、図５に示すようにＧＷ２ＡおよびＧＷ２Ｂの使用チャネルが所定数（例：３個）の特定チャネル（１ＣＨ，２ＣＨ，３ＣＨ）に制限される。使用チャネルの制限は，適応型周波数ホッピング（Adaptive Frequency Hopping（ＡＦＨ））によって行われる。１ＣＨ，２ＣＨ，及び３ＣＨは所定数（３個）の特定チャネルの一例である。但し、所定数は３より多くても少なくても良い。所定数は、例えば５以下の数（５，４，３，２，１のいずれか）でも、１０以下の数（１０，９，８，７，６のいずれか）でもよい。
【００３９】
すると、ＧＷ２ＡとＧＷ２Ｂとのチャネルホッピングパターンのズレが減少する。使用可能なチャネル数が少なければ，チャネルホッピングパターンが（タイミングを含め）ほぼ同じになるためである。
【００４０】
また、機器１のホッピングパターンはＡＦＨによってＧＷ２Ａと同期して変更される。このため、機器１のホッピングパターンをＧＷ２Ｂ（代替ＧＷ）のホッピングパターンに近づけることが可能である．ＢＬＥの仕様上，チャネルホッピングのタイミングのズレが少なければ、自動的にトランスミットウィンドウが修正され、通信可能になる。これによって、機器１は切断されることなくＧＷ２Ｂと通信可能になる。
【００４１】
＜実施形態１の効果＞
実施形態１によれば，機器１とＧＷ２との接続関係を識別する情報（接続情報：暗号鍵，ＢＤアドレス及びアクセスアドレスの少なくとも一方）を代替ＧＷ（ＧＷ２Ｂ）が現行ＧＷ（ＧＷ２Ａ）から取得する。さらに、ＧＷ２Ｂは使用チャネル数を所定数にすることで、機器１とＧＷ２Ｂとのホッピングパターンをほぼ同じ状態にする。これにより、ＧＷ
２Ｂと機器１との同期（ホッピングパターンのズレの減少）が可能である。
【００４２】
ＧＷ２ＢはＧＷ２Ａと同じ接続情報を用いるため、機器１はＧＷ２Ｂを親機（ＧＷ２Ａ）として通信を継続し得る。この結果、機器１が親機（ＧＷ２）の切り替え（ＧＷ２ＡからＧＷ２Ｂ）を認識することなく、親機の切替が実施される。よって、機器１とＧＷ２との間の切断は発生せず、“Passkey Entry”，“Numeric Comparison”及び“Out-of-band”などのペアリング作業は発生しない。代替ＧＷ（ＧＷ２Ｂ）は機器１と現行のＧＷ２Ａとの間で使用されていた暗号鍵を引き継ぐので、セキュリティが低下することもない。
【００４３】
したがって、実施形態１によれば、ＧＷ２に収容された機器１を、簡単な手段で、セキュリティを低下させず、かつアクセス不可能になることなく、他のＧＷ２に収容させることができる。すなわち、実施形態１によれば機器１の接続先の変更の負荷を軽減することができる。
【００４４】
＜ハードウェア構成＞
以下、端末４，ＧＷ２，及び機器１のハードウェア構成について説明する。図６は作業用端末のハードウェア構成例を示す。作業用端末４は、バスを介して相互に接続された、Central Processing Unit（ＣＰＵ）４０１，一次記憶４０２，二次記憶４０３，表示装
置４０４，入力装置４０５，及び通信インタフェース（通信ＩＦ）４０６を含む。
【００４５】
一次記憶４０２は、プログラムの展開領域，ＣＰＵ４０１の作業領域，データやプログラムの記憶領域又はバッファ領域として使用される記憶装置である。一次記憶４０２は、例えばRandom Access Memory（ＲＡＭ），或いはＲＡＭとRead Only Memory（ＲＯＭ）との組み合わせで形成される。
【００４６】
二次記憶４０３は、データやプログラムの記憶領域として使用される記憶装置である。二次記憶４０３は、ハンドオーバ管理プログラムとＧＷ管理テーブルＴ１などを記憶している。ハンドオーバ管理プログラムはＣＰＵ４０１により実行され、端末４が図２に示した動作を行う。
【００４７】
二次記憶４０３は、例えば、ハードディスクドライブ（ＨＤＤ），Solid State Drive
（ＳＳＤ），フラッシュメモリ，Electrically Erasable Programmable Read-Only Memory（ＥＥＰＲＯＭ）などの不揮発性記憶媒体で形成される。二次記憶４０３には、ディス
ク型記憶媒体や、ＵＳＢメモリなど、可搬性を有する記録媒体を含むことができる。
【００４８】
表示装置４０４は、情報やデータを表示する。入力装置４０５は、情報の入力に使用される。入力装置１６は、例えば、キー，ボタン，ポインティングデバイス（マウスなど），タッチパネルなどである。入力装置４０５及び表示装置４０４によって、ユーザインタフェース（ＵＩ）が提供される。通信ＩＦ４０６は通信処理を行う回路である。例えばネットインタフェースカード（ＮＩＣ）を適用できる。
【００４９】
ＣＰＵ４０１は、メモリ（一次記憶および二次記憶の少なくとも一方）に記憶されたプログラム（オペレーティングシステム，ハンドオーバ管理プログラムなど）をロードして実行する。ＣＰＵ４０１がプログラムを実行することによって、端末４のＣＰＵ４０１はＧＷ情報管理部４２とハンドオーバ要求部４１として動作し、図２に示した動作を行う。
【００５０】
図７はＩｏＴ機器およびＧＷのハードウェア構成例を示す。ＧＷ２は、バスを介して相互に接続された、ＣＰＵ２０１，一次記憶２０２，二次記憶２０３，表示装置２０４，入力装置２０５，ＢＬＥインタフェース（ＢＬＥ  ＩＦ）２０６，通信インタフェース（通信ＩＦ）２０７を含む。
【００５１】
ＣＰＵ２０１，一次記憶２０２，二次記憶２０３，表示装置２０４，入力装置２０５，通信ＩＦ２０７として、ＣＰＵ４０１，一次記憶４０２，二次記憶４０３，表示装置４０４，入力装置４０５，通信ＩＦ４０６と同様の機能を有する。ＢＬＥ  ＩＦ２０６は、ＢＬＥ通信用の回路である。
【００５２】
二次記憶２０３は、ハンドオーバ制御プログラムとＢＬＥ通信ドライバなどを記憶している。ハンドオーバ制御プログラムとＢＬＥ通信ドライバはＣＰＵ２０１により実行される。これによって、ＣＰＵ２０１は、ハンドオーバ制御部３１と、ＧＷ間通信部３２と、接続情報管理部３３と、ＢＬＥ通信部３４と、チャネルホッピング制御部（ＣＨ制御部）３５として動作し、図２に示した動作を行う。
【００５３】
ＩｏＴ機器１は、バスを介して相互に接続された、ＣＰＵ１０１，一次記憶１０２，二次記憶１０３，表示装置１０４，入力装置１０５，ＢＬＥ  ＩＦ１０６を含む。ＣＰＵ１０１，一次記憶１０２，二次記憶１０３，表示装置１０４，入力装置１０５として、ＣＰＵ４０１，一次記憶４０２，二次記憶４０３，表示装置４０４，入力装置４０５，通信ＩＦ４０６と同様の機能を有する。ＢＬＥ  ＩＦ１０６は、ＢＬＥ通信用の通信回路である。
【００５４】
二次記憶１０３は、ＩｏＴ機器として動作するプログラムとＢＬＥ通信ドライバなどを記憶している。プログラムとＢＬＥ通信ドライバはＣＰＵ１０１により実行される。これによって、機器１は所望のデータ（例えば図示しないセンサにより検出されたデータ）を取得してＧＷ２（親機）へ送る。機器１はＡＦＨを行い、使用チャネルをＧＷ２に同期させることができる。
【００５５】
一次記憶４０１，一次記憶２０１，一次記憶１０１，二次記憶４０２，二次記憶２０２，二次記憶２０１のそれぞれは、「記憶装置」，「記憶媒体」，「メモリ」，「記憶部」の一例である。一次記憶と二次記憶とをまとめて「メモリ」と称することもある。
【００５６】
ＣＰＵ４０１，ＣＰＵ２０１，ＣＰＵ１０１のそれぞれは、「制御装置」，「制御部」，「コントローラ」，「プロセッサ」の一例である。ＣＰＵは、ＭＰＵ（Microprocessor）、プロセッサとも呼ばれる。ＣＰＵは、単一のプロセッサに限定される訳ではなく、マルチプロセッサ構成であってもよい。また、単一のソケットで接続される単一のＣＰＵがマルチコア構成を有していても良い。ＣＰＵで行われる処理の少なくとも一部は、ＣＰＵ以外のプロセッサ、例えば、Digital Signal Processor（ＤＳＰ）、Graphics Processing Unit（ＧＰＵ）、数値演算プロセッサ、ベクトルプロセッサ、画像処理プロセッサ等の専用プロセッサで行われても良い。
【００５７】
また、ＣＰＵで行われる処理の少なくとも一部は、集積回路（ＩＣ）、その他のディジタル回路で行われても良い。また、集積回路やディジタル回路はアナログ回路を含んでいても良い。集積回路は、ＬＳＩ，Application Specific Integrated Circuit（ASIC），
プログラマブルロジックデバイス（ＰＬＤ）を含む。ＰＬＤは、例えば、Field-Programmable Gate Array(FPGA)を含む。ＣＰＵで行われる処理の少なくとも一部は、プロセッサ
と集積回路との組み合わせにより実行されても良い。組み合わせは、例えば、マイクロコントローラ（ＭＣＵ），ＳｏＣ（System-on-a-chip），システムＬＳＩ，チップセットなどと呼ばれる。
【００５８】
なお、実施形態１では、端末４からＧＷ３（代替ＧＷ）へハンドオーバの指示が送信される例について説明したが、ハンドオーバの指示は現行ＧＷ（ＧＷ２Ａ）へ送信されてもよい。この場合、ＧＷ２ＡがＧＷ２Ｂと通信を行い、接続情報をＧＷ２Ｂへ送る。その後
の処理は図２と同じにできる。
【００５９】
〔実施形態２〕
以下、実施形態２について説明する。実施形態２は実施形態１と共通する構成を有するので、共通点については説明を省略し、主として相違点について説明する。実施形態１では、端末４を使用し、ハンドオーバ対象の機器１や移行先のＧＷ２Ｂの指定情報を含むハンドオーバの指示をＧＷ２Ｂに送信する。
【００６０】
実施形態２では、各ＧＷ２の処理負荷をＧＷ管理サーバが収集する。ＧＷ管理サーバは、各ＧＷ２の処理負荷が均一になるように、機器１の収容先を決定し、自動的にハンドオーバさせる。これによって、各ＩｏＴ機器の処理（データ収集及び送信）の滞留を回避できる。
【００６１】
図８は実施形態２に係る通信システムの構成例を示す。図８では、現行ＧＷの構成と代替ＧＷの構成とが同じであるので、１つのＧＷ２を例示している。実施形態２の実施形態１との相違点は以下の通りである。作業用端末４の代わりにＧＷ管理サーバ５（以下単に「サーバ５」と表記）が使用される。
【００６２】
サーバ５は、図６に示した構成要素を有する汎用又は専用のコンピュータ（情報処理装置）を適用することができる。サーバ５として使用されるコンピュータのＣＰＵ４０１は、メモリに記憶されたプログラムを実行することによって、ハンドオーバ要求部５１及びＧＷ情報管理部５２として動作する。また、サーバ５のメモリ（一次記憶４０２及び二次記憶４０３の少なくとも一方）にはＧＷ管理テーブルＴ２（図１０）が記憶される。サーバ５は「管理装置」の一例である。ハンドオーバ要求部５１（ＣＰＵ４０１）はハンドオーバの指示を出力する出力部の一例である。
【００６３】
また、ＧＷ２はＧＷ状態通知部３６を含む。ＧＷ２のＣＰＵ２０１は、プログラムの実行によってＧＷ状態通知部３６として動作することができる。ＧＷ状態通知部３６は、例えば定期的にＧＷの処理負荷を計測し、処理負荷の情報をサーバ５へ送信する。また、ＧＷ状態通知部３６は、他のＧＷと接続されている機器１からの電波強度をサーバ５へ送信するなどの処理を行う。
【００６４】
図９は実施形態２の動作例（ハンドオーバ処理）を示すフローチャートである。各ＧＷ２では、一定時間の待機が行われ（図９の１０１）、一定時間が経過すると以下の処理が行われる。
【００６５】
すなわち、一定時間が経過すると、ＧＷ状態通知部３６（ＣＰＵ２０１）がＧＷ２自身の処理負荷を計測する。また、ＧＷ状態通知部３６は、ＢＬＥの電波（他のＧＷに接続されている機器１の電波強度）の計測結果を得る（図９の１０２）。ＧＷ状態通知部３６（ＣＰＵ２０１）は処理負荷及び電波強度をサーバ５に送信する（図９の１０３）。
【００６６】
サーバ５はＧＷから受信された処理負荷及び電波強度の情報をＧＷ情報管理部５２に送る。サーバ５は処理負荷及び電波強度の情報を受信し（図９の１０４）、処理負荷及び電波強度の情報はＧＷ情報管理部５２へ送られる。
【００６７】
ＧＷ情報管理部５２はＧＷ情報管理テーブルＴ２を管理する。図１０はＧＷ情報管理テーブルＴ２（テーブルＴ２）のデータ構造例を示す。テーブルＴ２は、ＧＷ毎に以下のようなレコード（エントリ）を記憶する。レコードはＧＷの識別子と、アドレスと、処理負荷と、収容ＩｏＴ機器のリストと、観測した（他のＧＷ２と接続されている）ＩｏＴ機器の電波強度とを記憶する。電波強度は、対象のＩｏＴ機器のＢＤアドレスと対応づけて記
憶される。
【００６８】
ＩｏＴ機器から送信されるＢＬＥのパケットはＢＤアドレスではなくアクセスアドレスを含む。ハンドオーバ対象となるＩｏＴ機器は、いずれかのＧＷに収容されており、そのＧＷはＩｏＴ機器のＢＤアドレスとアクセスアドレスとの対応関係を管理する。このため、アクセスアドレスからＢＤアドレスを特定することができる。換言すれば、サーバ５はＧＷのメモリに記憶されたＢＤアドレスとアクセスアドレスとの対応関係を示す情報を元に導出されたＢＤアドレスをテーブルＴ２に記憶する。
【００６９】
ＧＷ情報管理部５２（ＣＰＵ４０１、以下「管理部５２」とも表記）は処理負荷及び電波強度の情報を用いてテーブルＴ２を更新する（図９の１０５）。
【００７０】
管理部５２は処理負荷が閾値（予めメモリに記憶）より大きいか否かを判定する（図９の１０６）。処理負荷が閾値より大きくないと判定される場合には処理が１１２に進む。これに対し、処理負荷が閾値を超えると判定される場合には処理が１０７に進む。
【００７１】
１０７の処理では、管理部５２はハンドオーバ対象の機器１と、代替となるＧＷ２（ＧＷ２Ｂに相当するＧＷ２）を選出する。例えば、識別子“gw#1”のＧＷ２の処理負荷が閾値より大きい場合、識別子“gw#1”のＧＷ２が収容している各機器１に関して、或る値以上の電波強度を観測したＧＷ２を抽出する。
【００７２】
管理部５２は、１０７で抽出したＧＷ２のうち処理負荷の値が低いＧＷ２（例えば一番低いＧＷ２）を代替ＧＷとして抽出する（図９の１０８）。管理部５２は１０８で抽出したＧＷ２（代替ＧＷ２）に対応する機器を接続先の変更対象の機器１として選択する（図９の１０９）。
【００７３】
管理部５２は、１０９で選択した機器１をハンドオーバ対象にし、１０８で抽出したＧＷ２を代替ＧＷに決定する。ハンドオーバ要求部５１は、決定された機器１と現行ＧＷ（処理負荷が閾値を超えたＧＷ２）を指定し、代替ＧＷにハンドオーバを実施するように指示する（図９の１１０）。代替ＧＷでは、実施形態１で説明した００３以降と同様の処理を行う（詳細な説明は繰り返しになるので省略する）。なお、各ＧＷでは、ハンドオーバ処理を中断する事象が発生したか否かを判定する（図９の１１２）。処理を中断すると判定された場合には処理が終了し、そうでない場合には処理が１０１へ戻る。
【００７４】
実施形態２は実施形態１と同様の効果を得ることができる。さらに、実施形態２によれば、ＧＷ２の状態が所定条件を満たす（例えば処理負荷が閾値以上である）場合に、ＧＷ２が現行ＧＷとされ、現行ＧＷの収容機器の代替ＧＷが選出され、ハンドオーバの指示が代替ＧＷへ送信される。これにより、ハンドオーバの指示が自動的に代替ＧＷへ送信される。すなわち、端末４の操作が不要となる。
【００７５】
実施形態２の動作例の説明では、ＧＷ２の処理負荷に基づきハンドオーバの要否を判定した。１０６の処理（処理負荷が閾値より大か否か）は、「所定条件を満たすか否か」の判定の一例である。但し、収容されている機器１の電波強度が閾値を下回り、パケットエラー率が上昇した場合にハンドオーバ要と判定されても良い。具体的には、図９の１０７の処理が「収容する機器の電波強度が閾値未満（閾値より低い）か否か」或いは「パケットエラー率が閾値を超過するか否か」の判定処理となる。或いは、「電波強度が閾値未満で且つパケットエラー率が閾値を超過するか」の判定でも良い。
【００７６】
また、１０７の処理が「（ＧＷ２を経由する）トラフィック量が閾値を超えたか否か」の判定処理が行われても良い。この場合、ＧＷ２のＧＷ状態通知部３６がサーバ５に送信
する情報と、サーバ５で管理されるテーブルＴ２のデータ構造が判定用の情報の内容に応じて変更される。
【００７７】
また、実施形態２では、ＧＷ２から独立したＧＷ管理サーバ５が設けられた構成を例示した。但し、ＧＷ管理サーバ５の機能をＧＷ２が備える（通信装置が管理装置を含む）ようにしても良い。そして、ＧＷ２同士が協調しながら、ハンドオーバの対象の機器１及び代替ＧＷが決定されても良い。
【００７８】
〔実施形態３〕
以下、実施形態３について説明する。実施形態３は実施形態１，実施形態２と共通する構成を有するので、共通点については説明を省略し、主として相違点について説明する。機器１のＣＰＵ１０１はアプリケーションを実行し、所定のデータ（例えばセンサデータ、或いはセンサデータ以外のデータ）を定期的又は周期的に収集する。
【００７９】
実施形態１及び実施形態２に係る通信システムでは、例えば、アプリケーションサーバ（アプリサーバ）がネットワークＮ２を介してＧＷ２に接続される。アプリサーバは、定期的にＧＷ２を介して機器１にアクセスし、機器１からデータを収集する。実施形態１及び実施形態２は、アプリサーバによるデータ収集の考慮無くハンドオーバを実施する。
【００８０】
このため、アプリサーバが機器１にアクセスするタイミングとハンドオーバとが重なり、データ収集が好適に実施されない可能性がある。実施形態３では、アプリサーバの動作も考慮し、データ収集に影響を及ぼさないタイミングでハンドオーバを行うための制御をＧＷ２が行う。
【００８１】
図１１は実施形態３に係る通信システムの構成例を示す。図１１において、ＧＷ２はネットワークＮ２を介してアプリケーションサーバ６（アプリサーバ６、以下サーバ６と表記）と接続される。サーバ６には、端末４のハードウェア構成（図６）と同じ構成を有するコンピュータ（情報処理装置）が適用される。
【００８２】
サーバ６のメモリ（一次記憶４０１及び二次記憶４０２の少なくとも一方）にはアプリケーション６１を含むプログラムが記憶されており、サーバ６のＣＰＵ４０１がアプリケーション６１を実行する。アプリケーション６１は機器１で取得されたデータの収集などを行うためのプログラムである。アプリケーション６１の実行によって、周期的，定期的，或いはイベント発生に応じて、サーバ６はＧＷ２を介して機器１にアクセスし、機器１が取得したデータを収集する。ＣＰＵ４０１がアプリケーション６１として動作する。
【００８３】
ＧＷ２は実施形態２の構成（図８）に加え、データ取得部３７（取得部３７）とアプリアクセス監視部３８（監視部３８）とを含む。ＣＰＵ２０１はプログラム実行によって取得部３７及び監視部３８として動作する。
【００８４】
取得部３７は、サーバ６から受信される、データ取得要求を受け付ける。ＧＷ２はＢＬＥ通信部３４を介して機器１からデータを取得し、サーバ６（アプリケーション６１）へ送信する。
【００８５】
監視部３８は、アプリケーション６１からデータ取得部３７へアプリケーション６１からの要求が届く間隔（アクセス周期）を収集し、次のアクセスタイミング（要求が届くタイミング）までの時間を予測する。複数のアプリケーション６１が同一の機器１を利用する場合は、各アプリケーション６１のアクセス周期に基づいて次のアクセスタイミングを推定する。
【００８６】
図１２は実施形態３に係る動作例を示すフローチャートである。２０１では、サーバ５の管理部５２は、移行対象の機器１，現行ＧＷ，代替ＧＷを決定する。これらの決定手法は、実施形態１で説明した手法であっても実施形態２で説明した手法であっても良い。
【００８７】
２０２の処理では、サーバ５のハンドオーバ要求部５１（ＣＰＵ４０１）が、現行ＧＷの監視部３８に機器１のハンドオーバのタイミングを問い合わせる。問い合わせを受信した現行ＧＷでは、例えばハンドオーバ制御部３１が機器１へのアクセスログをメモリから読み出す（２０３）。
【００８８】
２０４の処理では、監視部３８はアクセス元（例えばアプリケーション６１）のアクセス間隔に基づき、以後の一定期間内（例えば３分間）におけるアクセスパターン（１以上のアクセスタイミング）を推定する。
【００８９】
２０５の処理では、監視部３８はアクセスパターンをなすアクセスタイミングの間隔の全てが閾値より小さいか否かを判定する。間隔の全てが閾値より小さいと判定される場合には処理が２０７に進み、そうでない場合には処理が２０６に進む。
【００９０】
２０６の処理では、サーバ５が現行ＧＷの監視部３８から適正なハンドオーバのタイミングを発見できない旨のメッセージを受信し、ハンドオーバ失敗として処理を終了する。
【００９１】
２０７の処理では、監視部３８は、所定の閾値より大きい直近のアクセスタイミング（「所定時間内に発生する第１の通信装置２Ａを介した機器１へのアクセスのタイミング」の一例）の時刻をサーバ５に送信する。
【００９２】
２０８の処理では、サーバ５は所定の時刻（直近のアクセスタイミングの時刻）が過ぎたか否かを判定する。所定の時刻を過ぎていないと判定される場合には一定時間の待機が行われ（２０９）、処理２０８に戻る。所定の時刻を過ぎていると判定される場合には、サーバ５のハンドオーバ要求部５１は代替ＧＷにハンドオーバ処理の開始（ハンドオーバ指示）を送信する。
【００９３】
ハンドオーバ指示を受けた代替ＧＷでは、実施形態１で説明した００３以降と同様の処理を行う（詳細な説明は繰り返しになるので省略する）。このように、実施形態３ではサーバ５は、前記第１の通信装置（２Ａ）を介する前記第１の機器へのアクセスのタイミングが過ぎた後に前記第２の通信装置へ前記指示を送信する。
【００９４】
実施形態３では管理装置としてのサーバ５は、現行ＧＷ（ＧＷ２Ａ：第１の通信装置の一例）を介する機器１（第１の機器１）へのアクセスのタイミングが過ぎた後に代替ＧＷ（ＧＷ２Ｂ：第２の通信装置の一例）にハンドオーバの指示を送信する。
【００９５】
実施形態３によれば、サーバ５のハンドオーバ要求部３１がハンドオーバを開始する前に、現行ＧＷの監視部３８にアプリケーション６１のアクセスタイミングを問い合わせ、アクセスタイミングが過ぎた後にハンドオーバの指示を代替ＧＷへ送る。すなわち、ハンドオーバ指示を遅延させて、アプリケーション６１のアクセス妨害を回避する。これによってデータ収集が好適に実施される。
【００９６】
〔実施形態４〕
以下、実施形態４について説明する。実施形態４は実施形態１〜３と共通する構成を有するので、共通点については説明を省略し、主として相違点について説明する。実施形態１〜３では、１台の機器１のハンドオーバを想定している。
【００９７】
しかし、ＧＷ２を交換する場合には、交換対象のＧＷ２に収容されている複数の機器１のすべてをハンドオーバさせる。この場合、複数の機器１のそれぞれに対するハンドオーバが実施される。もっとも、複数の機器１に対するハンドオーバの順序がＧＷ２の交換の作業効率やデータ収集に影響を及ぼす可能性がある。実施形態４では、機器１の通信状況やアプリケーション６１の利用状況から、複数の機器１のハンドオーバの順序を判定する。
【００９８】
図１３は実施形態４に係る通信システムの構成例を示す。実施形態３（図１１）との相違点は、サーバ５がハンドオーバスケジューラ５３（以下「スケジューラ５３」）を含む点である。スケジューラ５３以外は、実施形態３と同じであるので説明を省略する。サーバ５のＣＰＵ４０１はプログラムの実行によってスケジューラ５３として動作する。
【００９９】
スケジューラ５３は、現行ＧＷから代替ＧＷへの移行指示（ハンドオーバの指示）を受けると、現行ＧＷに収容されている機器１の全てを代替ＧＷに収容させる。その際に、機器１の通信状況やアプリケーション６１の利用状況を参照する。
【０１００】
このとき、通信状況が悪く、アプリケーション６１のアクセスタイミングまでに時間的な余裕を有する機器１を優先的に選び、ハンドオーバを実施する。通信状況が悪い場合、再送が多く発生し、応答性能が低下する上に、他の機器１の通信を阻害する恐れがあるためである。
【０１０１】
図１４は実施形態４の動作例を示すフローチャートである。３０１の処理において、サーバ５のスケジューラ５３は現行ＧＷに収容されている機器１がないか否かを判定する。機器１がないと判定される場合には処理が３０６に進み、そうでない場合には処理が３０２に進む。
【０１０２】
３０２の処理では、スケジューラ５３は現行ＧＷに収容されている各機器１の通信状況とアプリケーション６１の利用状況と取得する。通信状況は、例えば、電波強度やパケットエラー率などを基準に求めることができる。利用状況としては、例えば、現在から次のアクセスタイミングまでの時間長を適用できる。通信状況や利用状況のデータは現行ＧＷにて収集されメモリに記憶される。
【０１０３】
３０３の処理において、スケジューラ５３は、各機器１の通信状況とアプリケーション６１の利用状況とを用いて、複数の機器１から、通信状況が悪く且つ次のアクセスタイミングまでの待ち時間が長い機器１をハンドオーバの対象として選択する。
【０１０４】
例えば、通信状況の悪い機器１として、複数の機器１のなかから通信状況が一番悪い機器１が選択される。但し、通信状況の悪い機器１として一番悪い機器１以外の機器１が選択される場合もあり得る。また、例えば、時間に余裕のある機器１として、待ち時間が最長の機器１が複数の機器１の中から選択される。但し、待ち時間が最長の機器１以外の機器が選択される場合もあり得る。
【０１０５】
３０４の処理ではハンドオーバ要求部５１は３０３で選択された機器１のハンドオーバの指示を代替ＧＷへ送信する。これによって、図２の００３以降の処理が実行される（図１４の３０５。詳細な説明は重複回避のため省略）。
【０１０６】
なお、３０６の処理において、サーバ５はハンドオーバに成功したか否かを判定し、ハンドオーバに成功した場合には処理を３０１に戻し、そうでない場合には処理を終了する。
【０１０７】
実施形態４によれば、スケジューラ５３（ＣＰＵ２０１）は、ＧＷ２Ａに収容され且つ接続先の変更対象とされる２以上の機器１のうち通信状況が悪く且つＧＷ２Ｂを介したアクセスのタイミングが遅い（時間長が長い）機器を対象（第１の機器１）に決定する。
【０１０８】
実施形態４によれば、スケジューラ５３によって、複数の機器１の中から通信状況が悪く（ハンドオーバの緊急性が高く）、次のアクセスタイミングが長い（次のアプリケーション６１のアクセスまでに時間の余裕のある）機器１が選択される。これにより、通信環境の変更の必要性が高いと考えられる機器１から順にハンドオーバを実施し、各機器１による好適なデータ収集が図られるようにすることができる。
【０１０９】
なお、機器１（デバイス、子機）とＧＷ２（中継装置、親機）との通信がＢＬＥである場合について説明したが、ＦＨＳＳ及びＡＦＨを適用する無線通信規格であれば、ＢＬＥ以外の通信規格で通信を行う通信システムに適用可能である。実施形態１〜４の構成は適宜組み合わせることができる。
【符号の説明】
【０１１０】
１・・・ＩｏＴ機器
２・・・ゲートウェイ（ＧＷ）
４・・・作業用端末
５・・・ＧＷ管理サーバ
６・・・アプリケーションサーバ
１０１，２０１，４０１・・・ＣＰＵ
１０２，２０２，４０２・・・一次記憶
１０３，２０３，４０３・・・二次記憶
【図１】
2018067792.tif 000003
【図２】
2018067792.tif 000004
【図３】
2018067792.tif 000005
【図４】
2018067792.tif 000006
【図５】
2018067792.tif 000007
【図６】
2018067792.tif 000008
【図７】
2018067792.tif 000009
【図８】
2018067792.tif 000010
【図９】
2018067792.tif 000011
【図１０】
2018067792.tif 000012
【図１１】
2018067792.tif 000013
【図１２】
2018067792.tif 000014
【図１３】
2018067792.tif 000015
【図１４】
2018067792.tif 000016