(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0012】
以下、本発明の具体的な構成例について、図面を参照しながら説明する。
図1は、本発明の通信制御システム100のシステム構成を示す概略ブロック図である。通信制御システム100は、制御対象となるネットワーク90に接続される。ネットワーク90には、複数の機器10、複数のサーバー11及び加入者情報データベース12が接続される。機器10、サーバー11及び加入者情報データベース12は、ネットワーク90を介して通信する。
【0013】
機器10は、通信可能な機器である。機器10は、例えばセンサーであってもよいし、撮像装置であってもよいし、情報処理装置であってもよいし、家電機器であってもよい。機器10は、所定の条件にしたがってネットワーク90を介して他の装置と通信する。機器10は、例えば温度センサーであって、定期的に測定値をサーバー11に送信するように構成されてもよい。機器10は、例えばビデオカメラであって、撮影された動画像のデータをサーバー11に送信するように構成されてもよい。機器10は、例えば対空レーダー等の防衛設備であって、取得された信号を監視サーバーへ送信するように構成されてもよい。機器10は、Bluetooth(登録商標)や無線LANや移動体通信(例えばLTE:Long Term Evolution)やLPWA(Low Power, Wide Area)等の無線通信を用いてネットワーク90に接続されてもよいし、有線LAN等の有線通信を用いてネットワーク90に接続されてもよい。
【0014】
サーバー11は、機器10と通信する情報処理装置である。サーバー11は、どのような処理を行う装置であってもよい。例えば、サーバー11は、機器10から定期的に送信されるデータが示す値のログを記録する装置であってもよいし、機器10から送信される動画像データをWEBで公開する装置であってもよいし、機器10から送信されるレーダーの値に基づいて所定の画像処理等の処理を行う装置であってもよい。
【0015】
加入者情報データベース12は、情報処理装置を用いて構成される。加入者情報データベース12は、ネットワーク90に接続する機器10に関する情報を記憶する。加入者情報データベース12は、例えば各機器10が利用する回線種別、機器10の回線の契約者(加入者)に関する情報を記憶する。加入者に関する情報は、例えばユーザーID、住所などの情報を含む。
【0016】
通信制御システム100は、分析装置20、決定装置30及びネットワーク制御装置40を含む。以下、通信制御システム100が備える各装置について説明する。
【0017】
分析装置20は、サーバーやパーソナルコンピューター等の情報処理装置を用いて構成される。
図2は、分析装置20の機能構成を示す概略ブロック図である。分析装置20は、通信部21、通信情報記憶部22、分析情報記憶部23及び制御部24を備える。
【0018】
通信部21は、ネットワークインターフェース等の通信装置である。通信部21は、ネットワーク90を介して他の装置と通信する。
【0019】
通信情報記憶部22は、磁気ハードディスク装置や半導体記憶装置等の記憶装置を用いて構成される。通信情報記憶部22は、ネットワーク90を介して行われた通信に関する情報(ログデータ)を記憶する。通信情報記憶部22は、例えばネットワーク90の所定の通信インターフェース上を流れたパケットに関するキャプチャデータを記憶してもよい。通信情報記憶部22は、例えばネットワーク90を流れたデータ毎に、日時、送信元アドレス、送信先アドレス、通信プロトコル、データ長及び付加情報を含む情報を記憶してもよい。付加情報として、例えばデータの種別(例えばエラー情報、ヘッダ情報など)、送信元装置のメーカー名などが含まれてもよい。
【0020】
分析情報記憶部23は、磁気ハードディスク装置や半導体記憶装置等の記憶装置を用いて構成される。分析情報記憶部23は、制御部24によって行われる分析処理の結果を示す情報を記憶する。分析情報記憶部23は、例えばネットワーク90において通信を行った機器10毎に、通信に関する情報を記憶してもよい。通信に関する情報の具体例として、ネットワーク90に対する接続開始時刻、ネットワーク90に対する接続終了時刻、1回の接続での上り通信データ量、1回の接続での下り通信データ量、個々の通信データのデータサイズ、通信プロトコル、エラー発生数、メーカー名がある。
【0021】
制御部24は、バスで接続されたCPU(Central Processing Unit)等のプロセッサとメモリとを用いて構成される。制御部24は、プロセッサがプログラムを実行することによって、通信データ収集部241及び通信情報分析部242として機能する。制御部24の各機能の全て又は一部は、ASIC(Application Specific Integrated Circuit)やPLD(Programmable Logic Device)やFPGA(Field Programmable Gate Array)等のハードウェアを用いて実現されても良い。上記のプログラムは、コンピューター読み取り可能な記録媒体に記録されても良い。コンピューター読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ROM、CD−ROM、半導体記憶装置(例えばSSD:Solid State Drive)等の可搬媒体、コンピューターシステムに内蔵されるハードディスクや半導体記憶装置等の記憶装置である。上記のプログラムは、電気通信回線を介して送信されても良い。
【0022】
通信データ収集部241は、ネットワーク90を流れた通信データを収集する。通信データ収集部241は、収集された通信データに関する情報を通信情報記憶部22に記録する。通信データ収集部241は、例えばネットワーク90の所定の通信インターフェース上を流れたパケットを取得するパケットキャプチャツールを用いて実装されてもよい。
【0023】
通信情報分析部242は、通信情報記憶部22に記憶されている通信情報を分析することによって、ネットワーク90を介して通信をする各機器10が行う通信に関する情報を取得する。通信情報分析部242は、分析によって取得された情報を分析情報記憶部23に記録する。
【0024】
決定装置30は、サーバーやパーソナルコンピューター等の情報処理装置を用いて構成される。
図3は、決定装置30の機能構成を示す概略ブロック図である。決定装置30は、通信部31、分析情報記憶部32、分類情報記憶部33、ネットワーク情報記憶部34及び制御部35を備える。
【0025】
通信部31は、ネットワークインターフェース等の通信装置である。通信部31は、ネットワーク90を介して他の装置と通信する。
【0026】
分析情報記憶部32は、磁気ハードディスク装置や半導体記憶装置等の記憶装置を用いて構成される。分析情報記憶部32は、制御部35によって分析装置20から取得される分析情報を記憶する。
【0027】
分類情報記憶部33は、磁気ハードディスク装置や半導体記憶装置等の記憶装置を用いて構成される。分類情報記憶部33は、制御部35が機器10を分類した結果を示す情報(分類情報)を記憶する。分類情報は、例えば複数のクラスに分類された機器10の情報を有する。より具体的には、分類情報は、クラスを示す情報(クラスID)と、そのクラスに分類された機器10の識別情報(機器ID)とを対応づけた情報であってもよい。各クラスには、通信の特徴が類似している機器10同士が属する。分類情報には、各クラスにおける通信特徴量に関する情報が含まれてもよい。
【0028】
ネットワーク情報記憶部34は、磁気ハードディスク装置や半導体記憶装置等の記憶装置を用いて構成される。ネットワーク情報記憶部34は、クラス毎に決定されたネットワークの設定情報(ネットワーク要件)と、各クラスに含まれる機器10に関する情報と、を対応づけた情報(以下「ネットワーク情報」という。)を記憶する。
【0029】
制御部35は、バスで接続されたCPU等のプロセッサとメモリとを用いて構成される。制御部35は、プロセッサがプログラムを実行することによって、分析情報取得部351、分類部352及びネットワーク情報決定部353として機能する。制御部35の各機能の全て又は一部は、ASICやPLDやFPGA等のハードウェアを用いて実現されても良い。上記のプログラムは、コンピューター読み取り可能な記録媒体に記録されても良い。コンピューター読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ROM、CD−ROM、半導体記憶装置(例えばSSD)等の可搬媒体、コンピューターシステムに内蔵されるハードディスクや半導体記憶装置等の記憶装置である。上記のプログラムは、電気通信回線を介して送信されても良い。
【0030】
分析情報取得部351は、分析装置20と通信することによって、分析装置20の分析情報記憶部23に記憶される分析情報を取得する。分析情報取得部351は、取得された分析情報を分析情報記憶部32に記録する。
【0031】
分類部352は、分析情報記憶部32に記憶されている分析情報に基づいて、ネットワーク90に接続されている複数の機器10を分類する。分類部352は、例えば分析情報に基づいて各機器10の通信特徴量を取得し、類似する通信特徴量を有する機器10が同一のクラスに属するように分類する。通信特徴量は、例えば分析情報に含まれる各項目の値を個々のベクトルの成分として有する多次元ベクトルとして取得されてもよい。分類部352は、加入者情報データベース12に記憶されている加入者情報をさらに用いることによって各機器10を分類してもよい。すなわち、加入者情報の値を含む通信特徴量を用いて分類が行われてもよい。加入者情報の具体例として、機器10が設置されている位置を示す位置情報が用いられてもよい。例えば、位置情報が通信特徴量の成分として用いられることによって、より近い場所に設置された機器10同士が同じクラスに分類される可能性が高まる。また、通信特徴量として機器10の属性を示す情報が用いられてもよい。機器10の属性とは、例えば機器10がどのような種別の機器であるかを示す情報である。属性の具体例として、水道メーター、電気メーター、雨量計、風速計、などがある。分類部352は、例えば予め属性を判定するための外部データにアクセス可能に構成され、外部データに基づいて各機器10の属性を判定し、その判定結果を分類処理に用いてもよい。外部データの具体例として、水道メーターの設置位置を示す地図情報や、電気メーターの設置位置を示す地図情報が用いられてもよい。
【0032】
以下、分類部352が行う分類処理の具体例について2つ説明する。なお、以下に示す2つの具体的な分類処理は、分類部352が行う処理の具体例にすぎない。したがって、以下に示す2つの処理とは異なる処理を行うように分類部352が実装されてもよい。
【0033】
(1.デバイス特定型分類処理)
デバイス特定型分類処理では、機器10のデバイス種別の候補に関する情報が予め与えられる。例えば、種別の候補として“パーソナルコンピューター”、“カメラ”、“センサー”、“重要インフラ”、“モバイル端末”がある。各候補について、モデルとなる通信特徴量が予め設定される。すなわち、種別候補とモデル通信特徴量とが対応づけられた情報が予め与えられる。分類部352は、分析情報記憶部32に記憶されている分析情報に基づいて、機器10毎の通信特徴量を取得する。分類部352は、通信特徴量と各モデル特徴量との類似度を算出し、最も類似度が高い(例えばベクトルの距離が近い)種別候補に機器10をクラス分けする。このような分類処理によって、予め設定された種別候補のいずれかに各機器10がクラス分けされる。
【0034】
(2.不特定型分類処理)
不特定型分類処理では、分類部352は、分析情報記憶部32に記憶されている分析情報に基づいて機器10毎の通信特徴量を取得し、類似度が高い(例えばベクトルの距離が近い)通信特徴量同士を同じクラスに分類する。不特定型分類処理では、いわゆるクラスタリング処理が行われてもよい。この場合、クラスタリング処理によって生成された各クラスタをクラスとして定義することによってクラス分けが行われてもよい。生成されるクラスの数は、予め定められていてもよいし、予め定められなくてもよい。
【0035】
なお、デバイス特定型分類処理においても不特定型分類処理においても、分類処理に用いられるアルゴリズムは既存のどのようなアルゴリズムであってもよい。
【0036】
分類部352は、ネットワーク90に新たな機器10が接続されると、新たに接続された機器10の通信特徴量に基づいて、既に生成されている複数のクラスのいずれかに新たな機器10を割り当てる。ただし、分類部352は、既に生成されているクラスのうち最も通信特徴量の類似度が高いクラスとの類似度が閾値よりも低い場合には、新たなクラスを生成し、その機器10に対して新たなクラスを割り当てる。
【0037】
分類部352は、所定の分割条件が満たされたクラスが存在する場合には、そのクラスを2つ以上のクラスに分割する。分割条件の具体例として、1つのクラスに属する機器10の数が所定の閾値を超えることがある。分割条件の具体例として、1つのクラスに属する機器10によって生じるトラヒック量が所定の閾値を超えることがある。このとき、分類部352は、通信特徴量の類似度が高い機器10同士を同じクラスに属するように分割する。分類部352は、分割処理の結果を示す分類情報を分類情報記憶部33に記録する。
【0038】
ネットワーク情報決定部353は、分類処理の結果に基づき、ネットワーク90において実装される複数の仮想ネットワークを決定する。例えば、ネットワーク情報決定部353は、分類部352によって分類されたクラス毎に1つの仮想ネットワークを割り当ててもよい。ネットワーク情報決定部353は、さらに、仮想ネットワーク毎に、各仮想ネットワークに割り当てられたクラスの通信特徴量に基づいて、ネットワーク要件を決定する。ネットワーク要件は、各クラスの通信特徴量が示す通信に適した要件として決定される。分類部352がデバイス特定型分類処理を行う場合には、種別候補毎に予めネットワーク要件が定められていてもよい。ネットワーク要件は、例えば仮想ネットワークに対して割り当てられる通信帯域、使用可能なポート番号、保証されるレイテンシー、再送制御、などの要件である。例えば、ビデオカメラのように動画像のデータを継続的に送信する機器10が割り当てられたクラスには、動画配信に適したネットワーク帯域や品質がネットワーク要件として定められる。また、このようなクラスでは、動画配信では使用されない通信プロトコル及びポートでの通信を規制するようなネットワーク要件が定められてもよい。
【0039】
ネットワーク情報決定部353は、機械学習の実行によって得られた学習結果を用いて、各クラスに対するネットワーク要件を決定してもよい。たとえば、各クラスの通信特徴量と、そのクラスに対して与えられたネットワーク要件と、その後のネットワーク90における通信状況を示す情報と、を含む学習データを用いて機械学習を行うことによって、より好ましい通信状況(低いエラー率、低いレイテンシーなど)を導くための通信特徴量とネットワーク要件との組み合わせに関する情報が得られてもよい。
【0040】
ネットワーク情報決定部353は、決定された各クラスのネットワーク要件をネットワーク情報記憶部34に記録する。
【0041】
ネットワーク制御装置40は、サーバーやパーソナルコンピューター等の情報処理装置を用いて構成される。
図4は、ネットワーク制御装置40の機能構成を示す概略ブロック図である。ネットワーク制御装置40は、通信部41、ネットワーク情報記憶部42及び制御部43を備える。
【0042】
通信部41は、ネットワークインターフェース等の通信装置である。通信部41は、ネットワーク90を介して他の装置と通信する。
【0043】
ネットワーク情報記憶部42は、磁気ハードディスク装置や半導体記憶装置等の記憶装置を用いて構成される。ネットワーク情報記憶部42は、制御部43によって決定装置30から取得されるネットワーク情報を記憶する。
【0044】
制御部43は、バスで接続されたCPU等のプロセッサとメモリとを用いて構成される。制御部43は、プロセッサがプログラムを実行することによって、ネットワーク情報取得部431及びネットワーク制御部432として機能する。制御部43の各機能の全て又は一部は、ASICやPLDやFPGA等のハードウェアを用いて実現されても良い。上記のプログラムは、コンピューター読み取り可能な記録媒体に記録されても良い。コンピューター読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ROM、CD−ROM、半導体記憶装置(例えばSSD)等の可搬媒体、コンピューターシステムに内蔵されるハードディスクや半導体記憶装置等の記憶装置である。上記のプログラムは、電気通信回線を介して送信されても良い。
【0045】
ネットワーク情報取得部431は、決定装置30と通信することによって、決定装置30のネットワーク情報記憶部42に記憶されるネットワーク情報を取得する。ネットワーク情報取得部431は、取得されたネットワーク情報をネットワーク情報記憶部42に記録する。
【0046】
ネットワーク制御部432は、ネットワーク90において1又は複数の仮想ネットワークを設定する。ネットワーク制御部432は、例えばSD−WAN(Software Defined Wide Area Network)の技術を用いて仮想ネットワークを設定してもよい。ネットワーク制御部432は、ネットワーク情報記憶部42に記憶されるネットワーク情報に基づいて1又は複数の仮想ネットワークを設定する。ネットワーク制御部432によって仮想ネットワークが設定されると、ネットワーク90に接続する各機器10は、設定された可能ネットワークを介して通信する。
【0047】
図5は、通信制御システム100の処理の流れの具体例を示すシーケンスチャートである。まず、分析装置20の通信データ収集部241がネットワーク90において通信データを収集する(ステップS101)。分析装置20の通信情報分析部242が通信情報を分析する(ステップS102)。分析装置20の通信情報分析部242は、決定装置30に対し分析情報を送信する(ステップS103)。
【0048】
決定装置30の分析情報取得部351は、分析装置20から分析情報を受信し、分析情報記憶部32に記録する。分類部352は、分析情報記憶部32に記憶されている分析情報に基づいて、機器10を分類する(ステップS104)。ネットワーク情報決定部353は、分類結果に基づいて、ネットワーク情報を決定する(ステップS105)。ネットワーク情報決定部353は、決定されたネットワーク情報をネットワーク制御装置40に送信する(ステップS106)。
【0049】
ネットワーク制御装置40のネットワーク情報取得部431は、決定装置30からネットワーク情報を受信し、ネットワーク情報記憶部42に記録する。ネットワーク制御部432は、ネットワーク情報記憶部42に記憶されているネットワーク情報に基づいて、ネットワーク90において1又は複数の仮想ネットワークを設定する(ステップS107)。
【0050】
図6〜8は、ネットワーク90の制御例を示す図である。
図6では、仮想ネットワークが設定されていない。そのため、6台の機器10(10a〜10f)はいずれもネットワーク90を経由して他のネットワーク又は他の装置へ通信する。
図7では、3つの仮想ネットワーク91(91a〜91c)が設定されている。
【0051】
仮想ネットワーク91aには、同一のクラスに分類された3台の機器10(10a、10b、10e)が接続されている。すなわち、温度センサー10a、人感センサー10b及び風向きセンサー10eが仮想ネットワーク91aに接続されている。仮想ネットワーク91aでは、通信帯域は小さく、レイテンシーが小さいネットワーク要件が設定されてもよい。
【0052】
仮想ネットワーク91bには、同一のクラスに分類された1台の機器10(10c)が接続されている。すなわち、ビデオカメラ10cが仮想ネットワーク91bに接続されている。仮想ネットワーク91bでは、通信帯域は大きく、レイテンシーは中程度のネットワーク要件が設定されてもよい。
【0053】
仮想ネットワーク91cには、同一のクラスに分類された2台の機器10(10d及び10f)が接続されている。すなわち、重要施設監視装置10d及び防衛設備10fが仮想ネットワーク91cに接続されている。仮想ネットワーク91cでは、セキュリティが極めて高く設定され、通信帯域は大きく、レイテンシーは非常に小さいネットワーク要件が設定されてもよい。
【0054】
図7に示される状態で、さらにネットワーク90に照度センサー10gが接続されると、照度センサー10gの通信特徴量に基づいて照度センサー10gが仮想ネットワーク91aに割り当てられる。そうすると、仮想ネットワーク91aに4台の機器10が接続されることになる。例えば、分割条件として、1つの仮想ネットワーク91aに接続できる機器10の台数の閾値が3台までと予め定められているとする。この場合、仮想ネットワーク91aでは閾値を超えてしまう。すなわち、分割条件が満たされてしまう。そこで、分類部352は、仮想ネットワーク91aに接続されている4台の機器10について、通信特徴量に基づいて分類処理を行う。
【0055】
図8は、分類処理の結果の具体例を示す図である。仮想ネットワーク91aに接続されていた4台の機器10(10a、10b、10e、10g)は、2台ずつのクラスに割り当てられる。その結果に応じて、仮想ネットワーク91dが新たに生成され、風向きセンサー10e及び照度センサー10gが仮想ネットワーク91dを介して通信する。
【0056】
このように構成された通信制御システム100では、多種多様な機器10が接続されるネットワーク90において、より効率的な通信環境を確保することができる。具体的には以下の通りである。通信制御システム100では、通信特徴量が類似している機器10同士が同一の仮想ネットワーク91に接続される。各仮想ネットワーク91では、接続される機器10の通信特徴量に基づいて、適したネットワーク要件が決定される。そのため、これまでのように接続される全ての機器に対して適したネットワーク要件を設定する場合に比べて、各仮想ネットワークに接続される機器10により適したネットワーク要件を設定することが可能となる。例えば、各仮想ネットワーク91において、機器10によって使用されるポートに限って通信を許可することによって、セキュリティを高くすることが可能となる。
【0057】
また、各仮想ネットワーク91においてあらゆる種類の機器10を見越してネットワークの設定を行う必要が無いため、ネットワークに対する人手による設定作業を軽減することが可能となる。その結果、ネットワークの構築や保守に要するコストを減らすことが可能となる。
また、このように構成された通信制御システム100では、類似した通信特徴量を有する複数の機器10が同一の仮想ネットワークにまとめて接続される。そのため、例えば災害が発生した場合やサイバー攻撃が発生した場合のような有事の際に、接続されている機器10の分類や通信特徴量に基づいて、優先すべき通信を判断し、より効率よくネットワークを設定・制御することが可能である。
【0058】
(変形例)
上述した通信制御システム100の構成は一具体例にすぎない。通信制御システム100は、例えば3台の装置全ての機能を備えた1台の装置として構成されてもよいし、3台の装置に設けられた機能が2台又は4台以上の装置に実装して構成されてもよい。
【0059】
複数の仮想ネットワーク91が設定される対象となるネットワークは、ネットワーク90に限定される必要は無い。例えば、ネットワーク90に対して各機器10が接続するための途中経路に存在するアクセス網(モバイル網、光通信網など)において、上述した説明と同様の処理により、分類処理の結果に応じた複数の仮想ネットワークが設定されてもよい。この場合、アクセス網とネットワーク90とにおいて多段で仮想ネットワークが設定されてもよい。
【0060】
分類部352は、所定の分割条件が満たされていなくても新たなクラスを生成してもよい。例えば、分類部352は、新たに接続された機器10が発生した場合には、新たなクラスを生成して、新たに接続された機器10を新たなクラスに対して割り当ててもよい。この場合、分類部352は、新たなクラスを、このクラスに最も通信特徴量が類似する他のクラスに対応づける。ネットワーク情報決定部353は、所定の分割条件が満たされるまでの間は、対応づけられた複数のクラスに対して同じ仮想ネットワークを割り当てる。その後、仮想ネットワークにおいて所定の分割条件が満たされると、その仮想ネットワークに割り当てられていた複数のクラスに応じて仮想ネットワークを複数の仮想ネットワークに分割してもよい。
【0061】
分類部352は、所定の統合条件が満たされた場合、複数のクラスを1つのクラスに統合してもよい。統合条件の具体例として、1つのクラスに属する機器10の数が所定の閾値を下回ることや、通信特徴量が類似する複数のクラスに属する機器10の合計台数が閾値を下回ることがある。統合条件の具体例として、1つのクラスに属する機器10によって生じるトラヒック量が所定の閾値を下回ることがある。このとき、分類部352は、通信特徴量の類似度が高いクラスの機器10同士を同じクラスに属するように統合する。分類部352は、統合処理の結果を示す分類情報を分類情報記憶部33に記録する。
逆に、分類部352は、たとえ属している機器10の台数がゼロ台になったとしても、そのクラス及びその仮想ネットワークをそのまま維持するように構成されてもよい。
【0062】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。