IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ヒタチ ヴァンタラ エルエルシーの特許一覧

特表2023-545095IoTゲートウェイのためのフェールオーバメカニズム
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-10-26
(54)【発明の名称】IoTゲートウェイのためのフェールオーバメカニズム
(51)【国際特許分類】
   H04L 65/102 20220101AFI20231019BHJP
【FI】
H04L65/102
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023521667
(86)(22)【出願日】2020-10-30
(85)【翻訳文提出日】2023-04-07
(86)【国際出願番号】 US2020058345
(87)【国際公開番号】W WO2022093275
(87)【国際公開日】2022-05-05
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.JAVA
2.VISUAL BASIC
3.PYTHON
4.JAVASCRIPT
(71)【出願人】
【識別番号】520155228
【氏名又は名称】ヒタチ ヴァンタラ エルエルシー
(74)【代理人】
【識別番号】110000279
【氏名又は名称】弁理士法人ウィルフォート国際特許事務所
(72)【発明者】
【氏名】藪崎 仁史
(57)【要約】
本開示の態様は、複数のゲートウェイのそれぞれから正常性状態を提供することであって、複数のゲートウェイはアクティブゲートウェイ及び1又は複数の非アクティブゲートウェイを含み、複数のゲートウェイはセンサデータを受信し、アクティブゲートウェイはサーバに受信センサデータを送信する、提供することと、正常性状態に基づいてアクティブゲートウェイの障害を検出することについて、アクティブゲートウェイの送信を引き継ぐための非アクティブゲートウェイを1又は複数の非アクティブゲートウェイから選択することと、アクティブゲートウェイの状態を非アクティブに変更すること、障害の前にアクティブゲートウェイから受信されたセンサデータを識別することと、選択された非アクティブゲートウェイを制御して識別されたセンサデータを破棄し、サーバへのセンサデータの送信を再開することを含むシステム及び方法を含む。
【特許請求の範囲】
【請求項1】
複数のゲートウェイのそれぞれから正常性状態を提供することであって、前記複数のゲートウェイはアクティブゲートウェイ及び1又は複数の非アクティブゲートウェイを含み、前記複数のゲートウェイは、センサデータを受信し、前記アクティブゲートウェイはサーバに受信した前記センサデータを伝送する、提供すること、
前記正常性状態に基づいて前記アクティブゲートウェイの障害を検出することについて、
前記アクティブゲートウェイの送信を引き継ぐための非アクティブゲートウェイを前記1又は複数の非アクティブゲートウェイから選択することと、
前記アクティブゲートウェイの状態を非アクティブに変更することと、
前記障害の前に前記アクティブゲートウェイから受信された前記センサデータを識別することと、
選択された前記非アクティブゲートウェイを制御して前記識別したセンサデータを破棄し、前記サーバへの前記センサデータの送信を再開することと、
を含む、方法。
【請求項2】
前記正常性状態に基づく前記アクティブゲートウェイの前記障害の前記検出は、前記アクティブゲートウェイから前記正常性状態を受信しないことから決定される、請求項1に記載の方法。
【請求項3】
前記正常性状態に基づく前記アクティブゲートウェイの前記障害の前記検出は、障害を示す前記アクティブゲートウェイからの前記正常性状態から決定される、請求項1に記載の方法。
【請求項4】
前記障害の前に前記アクティブゲートウェイから受信された前記センサデータを識別することは、前記受信センサデータ内の連続した時系列データのウィンドウからハッシュ値を計算することを含み、前記選択された非アクティブゲートウェイを前記制御して前記識別したセンサデータを破棄し、前記サーバへの前記センサデータの送信を再開することは、前記被選択非アクティブゲートウェイに前記ハッシュ値を送信することであって、前記選択された非アクティブゲートウェイは前記ウィンドウ及び前記ハッシュ値と一致する前記受信センサデータを破棄する、送信することを含む、請求項1に記載の方法。
【請求項5】
前記複数のゲートウェイは、セルラデバイスであり、前記アクティブゲートウェイは前記受信センサデータをセルラネットワークを介して前記サーバに送信する、請求項1に記載の方法。
【請求項6】
プロセスを実行するための命令を記憶する非一時的コンピュータ可読媒体であって、前記命令は、
複数のゲートウェイのそれぞれから正常性状態を提供することであって、前記複数のゲートウェイはアクティブゲートウェイ及び1又は複数の非アクティブゲートウェイを含み、前記複数のゲートウェイはセンサデータを受信し、前記アクティブゲートウェイはサーバに前記受信センサデータを送信する、提供することと、
前記正常性状態に基づいて前記アクティブゲートウェイの障害を検出することについて、
前記アクティブゲートウェイの送信を引き継ぐための非アクティブゲートウェイを前記1又は複数の非アクティブゲートウェイから選択することと、
前記アクティブゲートウェイの状態を非アクティブに変更することと、
前記障害の前に前記アクティブゲートウェイから受信された前記センサデータを識別することと、
選択された前記非アクティブゲートウェイを制御して前記識別したセンサデータを破棄し、前記サーバへの前記センサデータの送信を再開することと、
を含む、非一時的コンピュータ可読媒体。
【請求項7】
前記正常性状態に基づく前記アクティブゲートウェイの前記障害の前記検出は、前記アクティブゲートウェイから前記正常性状態を受信しないことから決定される、請求項6に記載の非一時的コンピュータ可読媒体。
【請求項8】
前記正常性状態に基づく前記アクティブゲートウェイの前記障害の前記検出は、障害を示す前記アクティブゲートウェイからの前記正常性状態から決定される、請求項6に記載の非一時的コンピュータ可読媒体。
【請求項9】
前記障害の前に前記アクティブゲートウェイから受信された前記センサデータを前記識別することは、前記受信センサデータ内の連続した時系列データのウィンドウからハッシュ値を計算することを含み、前記選択された非アクティブゲートウェイを制御して前記識別したセンサデータを破棄し、前記サーバへの前記センサデータの送信を再開することは、前記選択された非アクティブゲートウェイに前記ハッシュ値を送信することであって、前記選択された非アクティブゲートウェイは前記ウィンドウ及び前記ハッシュ値と一致する前記受信センサデータを破棄する、送信することを含む、請求項6に記載の非一時的コンピュータ可読媒体。
【請求項10】
前記複数のゲートウェイはセルラデバイスであり、前記アクティブゲートウェイは前記受信センサデータをセルラネットワークを介して前記サーバに送信する、請求項6に記載の非一時的コンピュータ可読媒体。
【請求項11】
受信センサデータを記憶するように構成されるメモリと、
正常性状態をネットワーク上でサーバに提供し、
アクティブの状態を有する装置について
記憶された前記受信センサデータを前記サーバに伝送し、
非アクティブの前記状態を有する前記装置について
前記受信センサデータをメモリ内で管理し、
前記状態をアクティブに変更するための状態変更を受信することについて
前記装置の前記状態をアクティブに変更し、
前記サーバに既に送信されている前記受信センサデータを前記メモリから破棄し、
前記記憶された受信センサデータを前記サーバに送信する
ように構成されるプロセッサと
を含む、装置。
【請求項12】
前記プロセッサは、
前記装置内で生じる障害について:
前記正常性状態を異常に変更し、
前記正常性状態を前記サーバに送信する
ように構成される、請求項11に記載の装置。
【請求項13】
前記プロセッサは、
前記サーバに既に送信されている識別されたセンサデータを示すハッシュ値を前記サーバから受信することと、
前記受信したハッシュ値に対応する前記メモリ内の前記受信センサデータを探索するためにウィンドウを使用することと、
前記ハッシュ値に対応する前記受信センサデータの前記ウィンドウを破棄することと、 によって前記サーバに既に送信されている前記受信センサデータを前記メモリから破棄するように構成される、請求項11に記載の装置。
【請求項14】
前記装置がセルラデバイスであり、前記ネットワークがセルラネットワークである、請求項11に記載の装置。
【発明の詳細な説明】
【技術分野】
【0001】
本願は一般にゲートウェイに関し、より詳細にはゲートウェイのためのフェールオーバメカニズムを促進することに関する。
【背景技術】
【0002】
ゲートウェイのための幾つかのフェールオーバメカニズムがあるが、それらの殆どはネットワークに焦点を当てている。例えば、マスタからスレーブへのネットワークの接続性が解決される関連技術の実装形態がある。そのような実装例ではデータの損失又は重複が扱われていない。
【0003】
データの損失又は重複を対象とする別の関連技術の実装形態では、クラスタ化されたデータベース間でヘルスチェックプローブを送信することによってデータベースにおけるフェールオーバが実現されるデータベースシステムがある。例えばバックアップデータベースはアクティブデータベースにヘルスチェックプローブを直接送信し、プローブが一定回数失敗した場合はバックアップデータベースがアクティブに昇格し、それによりクラスタ化されたエンティティは短い動作不能時間で素早くフェールオーバすることができる。
【発明の概要】
【課題を解決するための手段】
【0004】
ゲートウェイは、データセンタ内のデータベースと異なり、ファイアウォールなしでフィールドネットワーク内に位置する。かかるフェールオーバ技術がゲートウェイに適用される場合、生じ得る幾つかの問題がある。
【0005】
1つの問題はセキュリティである。ゲートウェイは、フィールドネットワーク内でヘルスチェックプローブ用の伝送制御プロトコル/ユーザデータグラムプロトコル(TCP/UDP)ポートをさらすべきではなく、さもなければゲートウェイはセキュリティの脆弱性のリスクに直面する。しかしゲートウェイがヘルスチェックプローブ用のTCP/UDPポートをさらさない場合、アクティブゲートウェイが異常になったことをバックアップ(非アクティブ)ゲートウェイが気付く方法が必要になる。
【0006】
別の問題はネットワークコストである。一部のゲートウェイはセルラネットワークを介してアプライアンスサーバに接続され、非アクティブゲートウェイはアクティブゲートウェイの正常性を通知され得る。しかし、頻繁なヘルスチェック通知はより高いネットワークコストを発生する。
【0007】
別の問題はデータ損失である。ゲートウェイがヘルスチェックを非常に頻繁に送信しない場合、障害を検出するのにより多くの時間がかかる。アクティブゲートウェイの状態を検出するのに長くかかればかかるほど、より多くのデータが損失し得る。データ損失及びデータ重複を最小限に抑えることが求められている。
【0008】
上記の問題に対処するために、本明細書に記載の実装例はゲートウェイクラスタのためのフェールオーバメカニズムを含む。ゲートウェイクラスタは、アクティブゲートウェイ及び非アクティブゲートウェイを含む。両方のゲートウェイが同じセンサデータを受信し、アクティブゲートウェイだけがアプライアンスサーバ/クラウドにセンサデータを送信する。(互いにヘルスチェックプローブを送信する)データベースのスイッチオーバメカニズムと異なり、フェールオーバは、互いにヘルスチェックプローブを送信することなしにアプライアンスサーバ/クラウド内のエージェントマネージャを介して行われる。
【0009】
本開示の態様は、複数のゲートウェイのそれぞれから正常性状態を提供することであって、複数のゲートウェイはアクティブゲートウェイ及び1又は複数の非アクティブゲートウェイを含み、複数のゲートウェイはセンサデータを受信し、アクティブゲートウェイはサーバに受信センサデータを伝送する、提供することと、正常性状態に基づいてアクティブゲートウェイの障害を検出することについて、アクティブゲートウェイの送信を引き継ぐための非アクティブゲートウェイを1又は複数の非アクティブゲートウェイから選択することと、アクティブゲートウェイの状態を非アクティブに変更することと、障害の前にアクティブゲートウェイから受信されたセンサデータを識別することと、選択された非アクティブゲートウェイを制御して識別したセンサデータを破棄し、サーバへのセンサデータの送信を再開することとを含み得る方法を含むことができる。
【0010】
本開示の態様は、複数のゲートウェイのそれぞれから正常性の状態を提供することであって、複数のゲートウェイはアクティブゲートウェイ及び1又は複数の非アクティブゲートウェイを含み、複数のゲートウェイはセンサデータを受信し、アクティブゲートウェイはサーバに受信センサデータを伝送する、提供することと、正常性状態に基づいてアクティブゲートウェイの障害を検出することについて、アクティブゲートウェイの伝送を引き継ぐための非アクティブゲートウェイを1又は複数の非アクティブゲートウェイから選択することと、アクティブゲートウェイの状態を非アクティブに変更することと、障害の前にアクティブゲートウェイから受信されたセンサデータを識別することと、選択された非アクティブゲートウェイを制御して識別したセンサデータを破棄し、サーバへのセンサデータの送信を再開することとを含む命令を含み得るコンピュータプログラムを含むことができる。コンピュータプログラムはオントランジトリコンピュータ可読媒体上に記憶され、1又は複数のプロセッサによって実行され得る。
【0011】
本開示の態様は、複数のゲートウェイのそれぞれから正常性の状態を提供するための手段であって、複数のゲートウェイはアクティブゲートウェイ及び1又は複数の非アクティブゲートウェイを含み、複数のゲートウェイはセンサデータを受信し、アクティブゲートウェイはサーバに受信センサデータを伝送する、提供するための手段と、正常性の状態に基づいてアクティブゲートウェイの障害を検出することについて、アクティブゲートウェイの送信を引き継ぐための非アクティブゲートウェイを1又は複数の非アクティブゲートウェイから選択するための手段と、アクティブゲートウェイの状態を非アクティブに変更するための手段と、障害の前にアクティブゲートウェイから受信されたセンサデータを識別することと、選択された非アクティブゲートウェイを制御して識別したセンサデータを破棄し、サーバへのセンサデータの送信を再開するための手段とを含み得るシステムを含むことができる。
【0012】
本開示の態様は、受信センサデータを記憶するように構成されるメモリと、正常性状態をネットワーク上でサーバに提供し、アクティブの状態を有する装置について記憶済みの受信センサデータをサーバに送信し、非アクティブの状態を有する装置について受信センサデータをメモリ内で管理し、状態をアクティブに変更するための状態変更を受信することについて装置の状態をアクティブに変更し、サーバに既に送信されている受信センサデータをメモリから破棄し、記憶済みの受信センサデータをサーバに送信するように構成されるプロセッサと、を含み得る、ゲートウェイ等の装置を含むことができる。
【0013】
本開示の態様は、正常性状態をサーバにそれぞれ提供することができる複数のゲートウェイを有するシステムを含むことができ、複数のゲートウェイはアクティブゲートウェイ及び1又は複数の非アクティブゲートウェイを含み、複数のゲートウェイは1又は複数のセンサからネットワーク上でセンサデータを受信し、アクティブゲートウェイは受信センサデータをサーバに送信し、正常性状態に基づいてアクティブゲートウェイの障害をサーバによって検出することについて、サーバは、アクティブゲートウェイの送信を引き継ぐための非アクティブゲートウェイを1又は複数の非アクティブゲートウェイから選択し、アクティブゲートウェイの状態を非アクティブに変更し、障害の前にアクティブゲートウェイから受信されたセンサデータを識別し、選択された非アクティブゲートウェイを制御して識別したセンサデータを破棄し、サーバへのセンサデータの送信を再開するように構成される。
【0014】
本開示の態様は、ゲートウェイによって実行するための命令を記憶するコンピュータプログラムを含むことができ、その命令は、受信センサデータをメモリ内に記憶することと、正常性状態をネットワーク上でサーバに提供することと、アクティブの状態を有するゲートウェイについて記憶済みの受信センサデータをサーバに伝送することと、非アクティブの状態を有するゲートウェイについて受信センサデータをメモリ内で管理することと、状態をアクティブに変更するための状態変更を受信することについてゲートウェイの状態をアクティブに変更することと、サーバに既に送信されている受信センサデータをメモリから破棄すること、及び記憶済みの受信センサデータをサーバに送信することを含む。コンピュータプログラムは非一時的コンピュータ可読媒体上に記憶することができ、ゲートウェイの1又は複数のプロセッサによって実行され得る。
【0015】
本開示の態様は、ゲートウェイのための方法を含むことができ、その方法は、受信センサデータをメモリ内に記憶することと、正常性状態をネットワーク上でサーバに提供することと、アクティブの状態を有するゲートウェイについて記憶済みの受信センサデータをサーバに送信することと、非アクティブの状態を有するゲートウェイについて受信センサデータをメモリ内で管理することと、状態をアクティブに変更するための状態変更を受信することについてゲートウェイの状態をアクティブに変更することと、サーバに既に送信されている受信センサデータをメモリから破棄することと、記憶済みの受信センサデータをサーバに送信することを含む。
【0016】
本開示の態様は、受信センサデータをメモリ内に記憶するための手段、正常性状態をネットワーク上でサーバに提供するための手段と、アクティブの状態を有するゲートウェイについて記憶済みの受信センサデータをサーバに送信するための手段と、非アクティブの状態を有するゲートウェイについて受信センサデータをメモリ内で管理するための手段と、状態をアクティブに変更するための状態変更を受信することについてゲートウェイの状態をアクティブに変更するための手段と、サーバに既に送信されている受信センサデータをメモリから破棄するための手段と、記憶済みの受信センサデータをサーバに送信するための手段とを含むゲートウェイを含み得る。
【図面の簡単な説明】
【0017】
図1図1は、一実装例に従う障害が発生する前のシステムのシナリオの一例を示す。
【0018】
図2図2は、一実装例に従うサイレント障害の発生中のシステムのシナリオの一例を示す。
【0019】
図3図3は、一実装例に従う障害の発生中のシステムのパケット乱れに対処する一例を示す。
【0020】
図4図4は、一実装例に従うアクティブゲートウェイの回復を含むシナリオを示す。
【0021】
図5(a)】図5(a)は、一実装例に従う障害前のシステムに関するフローの一例を示す。
【0022】
図5(b)】図5(b)は、一実装例に従う障害後のシステムに関するフローの一例を示す。
【0023】
図5(c)】図5(c)は、一実装例に従う異常なゲートウェイの回復に関するフローの一例を示す。
【0024】
図6図6は、一実装例に従う接続されたセンサ及び管理装置を有する複数のシステムを含むシステムを示す。
【0025】
図7図7は、いくつかの実装例で使用するのに適したコンピュータデバイスの一例を有する演算環境の一例を示す。
【発明を実施するための形態】
【0026】
以下の詳細な説明は、図面の詳細及び本願の実装例を示す。図面間の冗長な要素の参照番号及び説明は明瞭にするために省いている。説明の全体を通して使用する用語は例として示し、限定的であることは意図しない。例えば「自動」という用語の使用は、本願の実装形態を実践する当業者の所望の実装形態に応じて、完全に自動の実装形態又は実装形態の特定の側面に対するユーザ又は管理者の制御を含む半自動の実装形態を含んでもよい。選択は、ユーザインタフェース又は他の入力手段によってユーザによって行われ得、又は所望のアルゴリズムによって実装され得る。本明細書に記載する実装例は単独で又は組み合わせで利用され得、実装例の機能は所望の実装形態に応じて任意の手段によって実装され得る。
【0027】
一実装例では、外部センサ(Modbus、運動センサ等)に接続される複数のゲートウェイがあり、ゲートウェイの1つだけがアクティブであり、アプライアンスにデータを渡す。これによりデータの重複及びクラウドへの過負荷の接続が回避されるが、フェールオーバホット置換モードが依然としてゲートウェイに与えられる。全てのゲートウェイがデータを受信するが、アクティブゲートウェイだけがデータを転送する。非アクティブゲートウェイはデータを一定の期間記憶し、その後古いデータを破棄する。かかる実装例により、データ損失を回避するために最新データの小さいバッファを保つことができる。ゲートウェイはクラスタ化されているので、全て同じ構成及びコンテナを受信する。ゲートウェイ構成間の唯一の違いは、エージェントマネージャが決定する1つのゲートウェイがアクティブであり、そこにおいて、同期を、データを送信するためのアクティブの状態とともに維持することである。
【0028】
アクティブゲートウェイが異常になる場合、アクティブになりデータの送信を処理するためのコマンドを他のゲートウェイの1つに送信することにより、アプライアンスが別のゲートウェイを「始動」する。非アクティブゲートウェイは前にアクティブだったゲートウェイによってどのデータが送信されていないのかを検出し、アクティブゲートウェイによって送信されなかったデータだけを送信する。
【0029】
システムアーキテクチャにおいて、このシステムはクラウド/アプライアンスサーバ上のアプリケーションシステム、フィールドネットワーク内のゲートウェイ、及び外部センサを含む。ゲートウェイはセルラ、Wi-Fi等を介してクラウド上のアプリケーションシステムに接続される。センサの例は、Modbus、運動センサ等である。
【0030】
ゲートウェイは、外部センサからデータを受信するデータ受信器、センサデータを一時的に記憶するデータストレージ、クラウド/アプライアンスサーバにデータを送信するデータ送信器、ゲートウェイの状態をモニタしゲートウェイのアクティブ/非アクティブモードを更新するエージェント、及び他のゲートウェイによってクラウドに既に送信されているデータを検出するデータ重複検出器(これは、データ送信器に含まれてもよい)を含み得る。ゲートウェイのモードは、アクティブゲートウェイ及び非アクティブゲートウェイに設定され得る。更に、両方のゲートウェイ内の全てのサービスが実行されている。
【0031】
クラウド/アプライアンスサーバは、ゲートウェイから送信されるセンサデータを受信するデータ受信器サービス、受信データを記憶するデータストレージ(例えばデータベース、NoSQL、blobストア)、及びエージェントを管理するエージェントマネージャを含み得る。
【0032】
ゲートウェイの障害はサイレント障害又は非サイレント障害として分類され得る。サイレント障害の一例では、ゲートウェイ内のエージェントがクラウド内のエージェントマネージャに異常プローブを送信しない。サイレント障害の例は、クラウドに接続されていない間にゲートウェイがシャットダウンすること、プラグが外れるゲートウェイの電源、ネットワークの停止等を含み得る。非サイレント障害は、ゲートウェイ内のエージェントがクラウド内のマネージャに障害情報を送信することを含む。非サイレント障害の例は、クラウドに接続されている際に、ゲートウェイが正常な状態を示す管理プレーン(エージェント及びエージェントマネージャ)を、問題を有するデータプレーンと、問題を有するゲートウェイ内のデータ送信器と、問題を有するクラウド/アプライアンス内のデータ受信器とともに適切にシャットダウンすることを含み得る。
【0033】
図1は、一実装例に従う障害が発生する前のシステムのシナリオの一例を示す。特に図1は、サイレント障害が発生する前のシステムを示す。このシナリオでは、ゲートウェイ110がアクティブであり障害を起こし、ゲートウェイ111が非アクティブでありアクティブに変わると仮定する。
【0034】
サイレント障害が発生する前、管理プレーン上で、ゲートウェイの全てはエージェントマネージャにヘルスチェックプローブを周期的に送信する。更に、全てのゲートウェイはエージェントマネージャによって管理される自らのアクティブ-非アクティブ状態を確認する。
【0035】
データプレーン上で、アクティブゲートウェイ110及び非アクティブゲートウェイ111の両方はセンサ100からデータを受信する。アクティブゲートウェイ110は、アプライアンスサーバ/クラウド129にセンサデータを送信する。非アクティブゲートウェイ111は、データがゲートウェイ111から受信されたという通知をクラウド/アプライアンスサーバ120から受信するまで、又はゲートウェイのディスク空間が既定の閾値未満になるまで(これはゲートウェイ111を正常に保つために行われる)センサデータをローカルに保存する。図1のフローに関する更なる詳細は図5(a)の中で示される。
【0036】
図2は、一実装例に従うサイレント障害の発生中のシステムのシナリオの一例を示す。障害が起きると、クラウド/アプライアンスサーバ120はデータプレーン上でセンサデータを受信しない。管理プレーン上で、エージェントマネージャはエージェントからヘルスチェックプローブを受信しない。エージェントマネージャはゲートウェイ110の状態を異常に変更し、そのモードを非アクティブに設定する。エージェントマネージャはゲートウェイ111をアクティブに昇格する。エージェントマネージャは最後に受信されたセンサデータを識別し、そのデータを非アクティブエージェントに通知する。
【0037】
最後に受信されたセンサデータを識別するために、一部のセンサデータは対応するユニバーサル一意識別子(UUID)又はタイムスタンプを含まない場合があるので、時系列センサデータは常に一意ではない(例えば同じデータが受信されてもよい)ことに留意されたい。ゲートウェイはセンサデータをクラウド/アプライアンスサーバ120に送信する前に、センサデータにタイムスタンプを付加してもよいが、たとえ両方のゲートウェイがネットワーク時間プロトコル(NTP)サーバと同期されていても、ゲートウェイ110によって付加されるタイムスタンプはネットワーク遅延のために数ミリ秒単位でゲートウェイ111と同期されない。従って、前に送信されたデータが何であるのかを決定するためにデータを処理する必要がある。
【0038】
ゲートウェイ111のエージェントはそのモードがアクティブであることを通知され、クラウド/アプライアンスサーバ120によって受信された最後のセンサデータクラウド/アプライアンスを受信する。それに応答し、ゲートウェイ111のエージェントは状態をアクティブに変更する。この場合、エージェントマネージャはゲートウェイ110が非アクティブに変更されたこと及びゲートウェイ111がアクティブに変更されたことをゲートウェイ110に通知することができない。そのため、ゲートウェイ111はどのデータから送信を開始したのかをゲートウェイ110は知る方法はない。データプレーン上で、ゲートウェイ111のデータ送信器サービスは古いデータを破棄し、センサから受信される全てのデータを送信する。
【0039】
クラウド/アプライアンスサーバ120内のデータ受信器は、連続した時系列データの既定値(ウィンドウサイズと呼ぶ)を使用してハッシュ値を計算する。ウィンドウサイズは、ハッシュを一意にするために十分長くなければならない。適切なウィンドウサイズはセンサデータによって決まる。センサデータが稀にしか同じ値を有さない場合(例えばピクチャ画像)、ウィンドウサイズは1に設定され得る。ウィンドウサイズはユーザによって設定され得、又はデータ受信器によって計算され得る。例えばウィンドウサイズは「{ウィンドウサイズXによって計算される過去10000個のハッシュ値のハッシュ衝突数}<=1」によって計算され得る。
【0040】
データ送信器は、ウィンドウをスライドすることによって同じウィンドウサイズを用いてハッシュを計算する。データ送信器は、そのハッシュがクラウド/アプライアンスサーバ120から送信されたハッシュと同じであるウィンドウを探索する。一致したウィンドウよりも古いデータ(ウィンドウ内のデータを含む)はゲートウェイ110によって既に送信されている。このフローの更なる詳細は図5(b)に関して示される。
【0041】
図3は、一実装例に従う障害の発生中のシステムのパケット乱れに対処する一例を示す。最後に受信されたセンサデータを検出する論理は、逐次的なセンサデータを提供するセンサに依存する。クラウド/アプライアンスサーバ120及びゲートウェイ110、111は広域ネットワーク(WAN)又はセルラネットワークによって接続され、それらのネットワークの一部の構成ではセンサデータが先入れ先出し(FIFO)順に到着している保証はない(即ちセンサデータがA->B->Cで送信されるが、B->A->Cで受信される可能性がある)。乱れの問題を回避するために、ウィンドウに従ってメッセージをソートするためにハッシュ値を計算され得るように、ゲートウェイ110、111は送信時にセンサデータのメッセージに連番を付加する。このフローの更なる詳細は図5(b)に関して示される。
【0042】
図4は、一実装例に従うアクティブゲートウェイの回復を含むシナリオを示す。ゲートウェイ110が回復せず、置換される必要がある場合、シーケンスはここで終了する。ゲートウェイ110内のデータの全てはゲートウェイ111によって既に送信されており、そのためゲートウェイ110内のデータは破棄される。しかし、ゲートウェイ110が回復して再び正常になる場合、管理プレーン上で、ゲートウェイ110のエージェントはそのモードが非アクティブであることを通知される。現在非アクティブであるゲートウェイ110はセンサデータを一定期間にわたってローカルに保存し、古いデータを破棄する。データプレーン上で、クラウド/アプライアンス120内のデータ受信器サービス、及びゲートウェイ110からのデータを破棄する。
【0043】
非サイレント障害を含むシナリオの一例では、障害が発生すると、データプレーン上で、クラウド/アプライアンスサーバ120がセンサデータの受信を停止する。管理プレーン上で、ゲートウェイ110のエージェントがエージェントマネージに異常プローブを送信する。エージェントマネージャはゲートウェイ110の状態を異常に、そのモードを非アクティブに変更する。エージェントマネージャはゲートウェイ111をアクティブに昇格させる。ゲートウェイ110のエージェントは、そのモードが非アクティブであり、非アクティブモードとして機能していることを通知される(即ち送信器サービスがデータの送信を停止し、データの記憶及び古いデータの破棄を開始する)。エージェントマネージャは、最後に受信されたセンサデータを識別し、そのデータを非アクティブエージェントに通知する。ゲートウェイ111のエージェントはそのモードがアクティブであること、及びクラウド/アプライアンスが受信した最後のセンサデータを通知される。ゲートウェイ111のエージェントは状態をアクティブに変更する。
【0044】
データプレーン上で、ゲートウェイ111内のデータ送信器サービスはクラウド/アプライアンスサーバ120に全てのローカルデータを送信する。ゲートウェイ111内のデータ送信器サービスは、センサから受信される全てのデータを送信する。
【0045】
この例では、ゲートウェイ110が回復せず、置換される必要がある場合、シーケンスはここで終了する。ゲートウェイ110内の全てのデータはゲートウェイ111によって既に送信されており、そのためゲートウェイ110内のデータは破棄される。しかし、ゲートウェイ110が回復して再び動作している場合、データプレーン上で、ゲートウェイ110内のデータ送信器サービスはゲートウェイ110が非アクティブモードにあるのでデータを送信しない。
【0046】
このゲートウェイフェールオーバメカニズムは、様々なモノのインターネット(IoT)産業における演算システムに適用され得る。産業の例は移動(例えば鉄道、飛行機、船、及びコネクテッドカー)、スマートファクトリ、ビル管理(例えばエレベータ及びエスカレータ)、発電所、石油及びガス、水管理、採掘、宇宙ステーション、及びデータを生成する他の任意のマシン又はデバイスである。ゲートウェイは、IoTゲートウェイ及びスマートフォン等のハードウェアデバイスとし得、又は仮想マシン及びコンテナ等の仮想デバイスであり得る。このフローの更なる詳細は図5(c)に関して示される。
【0047】
図5(a)は、図1に示すような一実装例に従う障害前のシステムに関するフローの一例を示す。500で、アクティブゲートウェイ110及び非アクティブゲートウェイ111はそれらの正常性状態をクラウド/アプリケーションサーバ120に提供する。この状況は障害の発生前なので、アクティブゲートウェイ110及び非アクティブゲートウェイ111は正常な正常性状態をクラウド/アプリケーションサーバ120に送信する。501で、クラウド/アプリケーションサーバ120は、アクティブゲートウェイ110及び非アクティブゲートウェイ111に非アクティブ/アクティブ状態を提供する。このシナリオでは、アクティブゲートウェイ110はその状態がアクティブだと指示され、非アクティブゲートウェイ111は状態が非アクティブだと指示される。502で、アクティブゲートウェイ110は、メモリ内にバッファされたセンサから受信されたセンサデータを送信する。503で、非アクティブゲートウェイ111は、非アクティブゲートウェイ111内のポリシに従ってメモリ内のデータを破棄する。かかるポリシは、アクティブゲートウェイ110又はクラウド/アプリケーションサーバ120によって指示される通りに、所望の実装形態に応じて設定される一定の既定期間の経過後に、メモリ内のセンサデータが所望の実装形態による一定の閾値に到達した後、又は他の任意の所望の実装形態に応じてデータを破棄することを含み得る。
【0048】
図5(b)は、図2及び図3に示すような一実装例に従う障害後のシステムに関するフローの一例を示す。510で、クラウド/アプリケーションサーバ120はアクティブゲートウェイ110からのデータ及び/又は正常性の状態の受信に失敗する。511で、クラウド/アプリケーションサーバ120はアクティブゲートウェイ110のアクティブ/非アクティブ状態を非アクティブに変更し、アクティブゲートウェイ110が異常だと記録する。512で、クラウド/アプリケーションサーバ120は、正常な選択された非アクティブゲートウェイ111の状態をアクティブに変更する。クラウド/アプリケーションサーバ120は、これだけに限定されないが、最良のレイテンシ、最良の帯域幅等の所望の任意の実装形態によって、又は所望の実装形態に応じて正常な非アクティブゲートウェイ111を選択することができる。513で、クラウド/アプリケーションサーバ120は受信データのための識別子を提供するために直近に受信したデータを用いてハッシュを作成する。514で、クラウド/アプリケーションサーバ120は、アクティブに変更するように正常な選択された非アクティブゲートウェイ111に指示し、最後に受信したデータのハッシュデータを提供する。515で、選択されたゲートウェイ111は自らのメモリ内のスライディングウィンドウごとのバッファ済みデータのハッシュを計算し、最後に送信されたデータを識別するためにそのハッシュを受信ハッシュと比較する。516で、被選択ゲートウェイ111は自らの状態を非アクティブからアクティブに変更する。517で、選択されたゲートウェイ111は計算したハッシュから識別されるデータを破棄する。次いで、518で、選択されたゲートウェイ111がアクティブゲートウェイの役割を引き継ぎ、識別されたデータを破棄した後でデータを送信する。
【0049】
図5(c)は、図4に示すような一実装例に従う異常なゲートウェイの回復に関するフローの一例を示す。図4の例において、前にアクティブだった異常なゲートウェイ110が回復し、クラウド/アプリケーションサーバ120に再接続できると仮定する。520で、クラウド/アプリケーションサーバ120は前にアクティブだったゲートウェイ110に自らの状態を非アクティブに変更するよう指示する。521で、前にアクティブだったゲートウェイ110は自らの状態を非アクティブに変更する。522で、前にアクティブだったゲートウェイは非アクティブゲートウェイの機能を引き受け、非アクティブゲートウェイポリシに従ってデータを破棄する。
【0050】
図6は、一実装例に従う接続されたセンサ及び管理装置を有する複数のシステムを含むシステムを示す。1又は複数のゲートウェイ601-1、601-2、601-3、及び601-4は1又は複数のセンサからセンサデータを受信し、クラウド/アプリケーションサーバのための機能を促進する管理装置602に接続されるネットワーク600に通信可能に接続される。管理装置602は、システム601-1、601-2、601-3、及び601-4のセンサから収集される履歴データを含むデータベース603を管理する。代替的な実装例では、システム601-1、601-2、601-3、601-4のセンサからのデータ、企業資源計画システム等のデータを取り込む独自データベース等の中央リポジトリ又は中央データベースに記憶され得、管理装置602は中央リポジトリ又は中央データベースからのデータにアクセスすることができ又はかかるデータを取得することができる。かかるシステムは、所望の実装形態に応じてセンサを有するロボットアーム、センサを有するタービン、センサを有する旋盤等を含み得る。エレベータ、軌道車等、設定されたネットワーク接続を維持するのが困難であってもよいモバイルプラットフォームを含む一実装例では、ゲートウェイ601-1、601-2、601-3、及び601-4はネットワーク600がセルラネットワーク形式にあるセルラデバイスの形を取ることができる。図6のシステムでは、ゲートウェイ601-1、601-2、601-3、601-4の1つはセンサデータを伝送するアクティブゲートウェイであるのに対し、他のゲートウェイはセンサデータをバッファし、非アクティブゲートウェイポリシに従ってデータを破棄する非アクティブゲートウェイである。ゲートウェイ601-1、601-2、601-3、601-4のそれぞれは、管理装置602に正常性状態を提供し得る。
【0051】
図7は、図6に示す管理装置602又はゲートウェイ601-1、601-2、601-3、601-4等の、一部の実装例で使用するのに適したコンピュータデバイスの一例を有する演算環境の一例を示す。
【0052】
演算環境700内のコンピュータ装置705は、1又は複数の処理ユニット、コア、又はプロセッサ710、メモリ715(例えばRAM、ROM等)、内部ストレージ720(例えば磁気、光学、ソリッドステートストレージ、及び/又は有機)、及び/又はI/Oインタフェース725を含むことができ、その何れも情報を伝達するために通信メカニズム又はバス730に接続することができ、又は演算装置705に埋め込まれ得る。I/Oインタフェース725は、所望の実装形態に応じて、カメラから画像を受信するように、又はプロジェクタ又はディスプレイに画像を提供するようにも構成される。
【0053】
コンピュータ装置705は、入力/ユーザインタフェース735及び出力デバイス/インタフェース740に通信可能に接続され得る。入力/ユーザインタフェース735及び出力デバイス/インタフェース740の何れか又は両方は有線インタフェース又は無線インタフェースでもよく、取り外し可能であり得る。入力/ユーザインタフェース735は、入力を行うために使用可能な任意の物理的な又は仮想的なデバイス、コンポーネント、センサ、又はインタフェースを含んでもよい(例えばボタン、タッチスクリーンインタフェース、キーボード、ポインティング/カーソル制御、マイクロホン、カメラ、ブライユ点字、運動センサ、光学読取り装置等)。出力装置/インタフェース740は、ディスプレイ、テレビ、モニタ、プリンタ、スピーカ、ブライユ点字等を含み得る。一部の実装例では、入力/ユーザインタフェース735及び出力デバイス/インタフェース740はコンピュータ装置705に埋め込まれてもよく、又はコンピュータ装置705に物理的に接続され得る。他の実装例では、他のコンピュータ装置はコンピュータ装置705のための入力/ユーザインタフェース735及び出力装置/インタフェース740として機能してもよく、又はそれらの機能を提供してもよい。
【0054】
コンピュータ装置705の例は、これだけに限定されないが、高移動性のデバイス(例えばスマートフォン、車両及び他の機械内のデバイス、人間及び動物が運ぶデバイス等)、モバイルデバイス(例えばタブレット、ノートブック、ラップトップ、パーソナルコンピュータ、携帯型テレビ、ラジオ等)、及び移動性に関して設計されていないデバイス(例えばデスクトップコンピュータ、他のコンピュータ、情報キオスク、1又は複数のプロセッサが埋め込まれた及び/又は接続されたテレビ、ラジオ等)を含んでもよい。
【0055】
コンピュータ装置705は、同じ構成又は異なる構成の1又は複数のコンピュータ装置を含む任意の数のネットワーク化されたコンポーネント、デバイス、及びシステムと通信するために、外部ストレージ745及びネットワーク750に(例えばI/Oインタフェース725を介して)通信可能に接続され得る。コンピュータ装置705又は接続された任意のコンピュータ装置は、サーバ、クライアント、シンサーバ、汎用マシン、専用マシン、又は別のラベルとして機能し得、そのサービスを提供し得、又はそのように言及され得る。
【0056】
I/Oインタフェース725は、これだけに限定されないが、演算環境700内の少なくとも全ての接続されたコンポーネント、デバイス、及びネットワークとの間で情報をやり取りするために任意の通信プロトコル若しくは規格又はI/Oプロトコル若しくは規格(例えばイーサネット、802.11x、ユニバーサルシステムバス、WiMax、モデム、セルラネットワークプロトコル等)を使用する有線及び/又は無線インタフェースを含み得る。ネットワーク750は、任意のネットワーク又はネットワークの組み合わせ(例えばインターネット、ローカルエリアネットワーク、広域ネットワーク、電話網、セルラネットワーク、衛星ネットワーク等)とすることができる。
【0057】
コンピュータ装置705は、一時的媒体及び非一時的媒体を含む、コンピュータ使用可能媒体又はコンピュータ可読媒体を使用する及び/又は使用して通信することができる。一時的媒体は、伝送媒体(例えば金属ケーブル、光ファイバ)、信号、搬送波等を含む。非一時的媒体は、磁気媒体(例えばディスク及びテープ)、光学媒体(例えばCD ROM、デジタルビデオディスク、ブルーレイディスク)、ソリッドステート媒体(例えばRAM、ROM、フラッシュメモリ、ソリッドステートストレージ)、及び他の不揮発性ストレージ又はメモリを含む。
【0058】
演算環境のいくつかの例では、コンピュータ装置705を使用して技術、方法、アプリケーション、プロセス、又はコンピュータ実行可能命令を実装され得る。コンピュータ実行可能命令は、一時的媒体から取得し、非一時的媒体上に記憶しそこから取得され得る。実行可能命令は、任意のプログラミング言語、スクリプト言語、及び機械言語(例えばC、C++、C#、Java、Visual Basic、Python、Perl、JavaScript等)の1又は複数に由来し得る。
【0059】
プロセッサ710は、ネイティブ環境又は仮想環境内で任意のオペレーティングシステム(OS)(不図示)の下で実行可能である。論理ユニット760、アプリケーションプログラミングインタフェース(API)ユニット765、入力ユニット770、出力ユニット775、並びに様々なユニットが互いに、OSと、及び他のアプリケーション(不図示)と通信するためのユニット間通信メカニズム795を含む1つ又は複数のアプリケーションを展開することができる。記載のユニット及び要素は、設計、機能、構成、又は実装の点で変更することができ、提供した説明に限定されない。
【0060】
一部の実装例では、情報又は実行命令がAPIユニット765によって受信されると、それが1又は複数の他のユニット(例えば論理ユニット760、入力ユニット770、出力ユニット775)に伝達されてもよい。上記の一部の実装例において、一部の例では論理ユニット760はユニット間の情報フローを制御し、APIユニット765、入力ユニット770、出力ユニット775によって提供されるサービスを指示するように構成されてもよい。例えば1又は複数のプロセス又は実装形態のフローは、論理ユニット760によって単独で又はAPIユニット765と組み合わせて制御されてもよい。入力ユニット770は実装例の中で説明した計算のための入力を得るように構成されてもよく、出力ユニット775は実装例の中で説明した計算に基づいて出力を与えるように構成されてもよい。
【0061】
ゲートウェイ601-1、601-2、601-3、及び601-4の例では、メモリ715が、ゲートウェイのアクティブ/非アクティブ状態及び正常性状態と共に、1又は複数のセンサから受信されるセンサデータを記憶するように構成される。図1図5(c)に示すように、プロセッサ710は正常性状態をネットワーク上でサーバに提供するように構成され得る。状態がアクティブに設定されると、図1に示すようにプロセッサ710は記憶済みの受信センサデータをクラウド/アプリケーションサーバに送信するように構成され得、状態が非アクティブに設定されると、図1及び図5(a)に示すようにプロセッサ710は非アクティブゲートウェイポリシに従ってデータが破棄されることが必要となるまで受信センサデータをメモリ内で管理するように構成され得る。プロセッサ710は状態をアクティブに変更するための状態変更をクラウド/アプリケーションサーバから受信すると、図5(b)に示すようにプロセッサ710は状態をアクティブに変更し、サーバに既に送信されている受信センサデータをメモリから破棄し、記憶済みの受信センサデータをサーバに伝送する。
【0062】
ゲートウェイ601-1、601-2、601-3、及び601-4の例では、プロセッサ710は障害の発生に関して正常性状態を異常に変更し、正常性状態をサーバに伝送するように構成され得る。障害はこれだけに限定されないが、所望の実装形態に応じて、指定の時間にセンサデータを受信できないこと、送信に関する所要のレイテンシ/帯域幅を維持できないこと等の任意のポリシに従って判定し得る。
【0063】
ゲートウェイ601-1、601-2、601-3、及び601-4の例では、図3図4、及び図5(b)に示すように、プロセッサ710は、サーバに既に伝送されている識別されたセンサデータを示すハッシュ値をサーバから受信し、ウィンドウを使用して受信したハッシュ値に対応するメモリ内の受信センサデータを探索し、ハッシュ値に対応する受信センサデータのウィンドウを破棄することによってサーバに既に送信されている受信センサデータをメモリ715から破棄するように構成され得る。
【0064】
クラウド/アプリケーションサーバ120等の管理機器602の例では、図2図3及び図5(b)に示すように、プロセッサ710は、正常性状態に基づいてアクティブゲートウェイの障害を検出することについて、アクティブゲートウェイの送信を引き継ぐための非アクティブゲートウェイを1又は複数の非アクティブゲートウェイから選択し、アクティブゲートウェイの状態を非アクティブに変更し、障害の前にアクティブゲートウェイから受信されたセンサデータを識別し、識別したセンサデータを破棄し、センサデータの送信を再開するように選択された非アクティブゲートウェイを制御するように構成され得る。図2に示すように、正常性状態に基づいてアクティブゲートウェイの障害を検出することは、アクティブゲートウェイから正常性状態を受信しないことから判定され得る。別の実装例では、正常性状態に基づいてアクティブゲートウェイの障害を検出することは、障害を示すアクティブゲートウェイからの正常性状態(例えば異常の状態を送信すること)から判定され得る。
【0065】
クラウド/アプリケーションサーバ120等の管理機器602の例では、図2図3及び図5(b)に示すように、プロセッサ710は、受信センサデータ内の連続した時系列データのウィンドウからハッシュ値を計算することにより、障害前にアクティブゲートウェイから受信されたセンサデータを識別するように構成し得、選択された非アクティブゲートウェイを識別したセンサデータを破棄し、サーバへのセンサデータの送信を再開することを制御することは、選択された非アクティブゲートウェイにハッシュ値を送信することを含み、選択された非アクティブゲートウェイはウィンドウ及びハッシュ値と一致する受信センサデータを破棄する。
【0066】
詳細な説明の一部はコンピュータ内の操作のアルゴリズム及び記号表現に関して提示した。これらのアルゴリズム的記述及び記号表現は、その革新の本質を他の当業者に伝えるためにデータ処理技術の当業者によって使用される手段である。アルゴリズムは、所望の終了状態又は結果をもたらす一連の定義されたステップである。一実装例では、実行されるステップは具体的な結果を実現するために有形量の物理的操作を必要とする。
【0067】
別段の定めがない限り、解説から明らかなように説明の全体を通して「処理」、「コンピューティング」、「演算」、「決定」、「表示」等の用語を利用する解説は、コンピュータシステムのレジスタ及びメモリ内で物理(電子)量として表されるデータを操作し、コンピュータシステムのメモリ若しくはレジスタ、又は他の情報ストレージ、送信又は表示デバイス内で物理量として同様に表される他のデータに変換するコンピュータシステム又は他の情報処理装置のアクション及びプロセスを含み得ることが理解されよう。
【0068】
実装例は、本明細書の操作を行うための装置にも関係してもよい。この装置は所要の目的のために特別に構築してもよく、又は1又は複数のコンピュータプログラムによって選択的に活性化され又は再構成される1又は複数の汎用コンピュータを含んでもよい。かかるコンピュータプログラムは、コンピュータ可読記憶媒体又はコンピュータ可読信号媒体等のコンピュータ可読媒体の中に記憶されてもよい。コンピュータ可読記憶媒体は、これだけに限定されないが光ディスク、磁気ディスク、リードオンリーメモリ、ランダムアクセスメモリ、ソリッドステートデバイス及びドライブ等の有形媒体、又は電子情報を記憶するのに適した他の任意の種類の有形媒体若しくは非一時的媒体を含んでもよい。コンピュータ可読信号媒体は搬送波等の媒体を含んでもよい。本明細書で提示したアルゴリズム及び表示は、或る特定のコンピュータ又は他の装置に固有に関係するものではない。コンピュータプログラムは所望の実装形態の操作を実行する命令を含む純粋なソフトウェア実装を含み得る。
【0069】
様々な汎用システムが、本明細書の例に従うプログラム及びモジュールと共に使用してもよく、又は所望の方法ステップを実行するためのより特化した装置を構築するのに便利であることが証明されてもよい。加えて実装例は或る特定のプログラミング言語に関して説明していない。本明細書に記載した実装例の教示を実装するために、様々なプログラミング言語を使用できることが理解されよう。プログラミング言語の命令は1又は複数の処理デバイス、例えば中央処理装置(CPU)、プロセッサ、又はコントローラによって実行されてもよい。
【0070】
当技術分野で知られているように、上述した操作はハードウェア、ソフトウェア、又はソフトウェアとハードウェアとの何らかの組み合わせによって行い得る。実装例の様々な側面は回路及び論理装置(ハードウェア)を使用して実装してもよいが、他の側面は、機械可読媒体上に記憶される命令(ソフトウェア)を使用して実装されてもよく、かかる命令はプロセッサによって実行される場合、本願の実装形態を実行するための方法をプロセッサに実行させる。更に本願のいくつかの実装例はハードウェアのみで実行されてもよいが、他の実装例はソフトウェアのみで実行されてもよい。更に、記載した様々な機能は単一のユニット内で実行し得、又は任意の数のやり方で幾つかのコンポーネントに拡げ得る。ソフトウェアによって実行される場合、方法はコンピュータ可読媒体上に記憶される命令に基づいて汎用コンピュータ等のプロセッサによって実行されてもよい。必要に応じて命令は圧縮形式及び/又は暗号化形式で媒体上に記憶し得る。
【0071】
更に、本明細書を検討すること及び本願の教示を実践することにより、本願の他の実装形態が当業者に明らかになる。記載した実装例の様々な側面及び/又はコンポーネントは単独で又は任意の組み合わせで使用してもよい本明細書及び実装例は単に例として考慮されることを意図し、本願の真の範囲及び趣旨は添付の特許請求の範囲によって示される。
図1
図2
図3
図4
図5(a)】
図5(b)】
図5(c)】
図6
図7
【国際調査報告】