(57)【要約】【課題】アドホックネットワークにおける最適な経路を探索することができる、通信経路最適化装置、通信経路最適化方法及び通信経路最適化プログラムを提供する。【解決手段】通信経路最適化装置は、通信端末が自律的にルーティングを行って形成されるアドホックネットワークにおいてメッセージの受け渡しを行うストリーム処理基盤から、メッセージの通信経路に係る経路情報を取得する経路情報取得部と、取得された経路情報をデータベースに保存する経路情報保存部と、保存された複数の経路情報をデータのセットとして取得して、取得したセットに基づき通信経路が最適となる最適経路を探索する最適経路探索部と、探索された最適経路に係る最適経路情報を、通信端末が読み取り可能なデータベースに保存する最適経路保存部とを備える。【選択図】図１
2018174511.tif 000002
【特許請求の範囲】
【請求項１】
通信端末が自律的にルーティングを行って形成されるアドホックネットワークにおいてメッセージの受け渡しを行うストリーム処理基盤から、前記メッセージの通信経路に係る経路情報を取得する経路情報取得部と、
取得された前記経路情報をデータベースに保存する経路情報保存部と、
保存された複数の前記経路情報をデータのセットとして取得して、取得した前記セットに基づき前記通信経路が最適となる最適経路を探索する最適経路探索部と、
探索された前記最適経路に係る最適経路情報を、前記通信端末が読み取り可能なデータベースに保存する最適経路保存部と
を備える、通信経路最適化装置。
【請求項２】
前記経路情報取得部は、前記ストリーム処理基盤に対して、取得する前記経路情報を指定するための指定情報を予め設定して、前記指定情報に基づきストリーム処理基盤が配信する前記経路情報を取得する、請求項１に記載の通信経路最適化装置。
【請求項３】
前記最適経路探索部は、前記経路情報が取得されたときに、前記最適経路を探索し、
前記最適経路保存部は、保存された前記最適経路情報を更新する、請求項１又は２に記載の通信経路最適化装置。
【請求項４】
前記最適経路探索部は、ホップ数が最小となる前記通信経路を最適経路として探索する、請求項１から３のいずれか一項に記載の通信経路最適化装置。
【請求項５】
保存された前記最適経路情報に基づき、前記経路情報を表示装置にグラフィカルに表示するための表示データを生成する表示データ生成部をさらに備える、請求項１から４のいずれか一項に記載の通信経路最適化装置。
【請求項６】
通信端末が自律的にルーティングを行って形成されるアドホックネットワークにおいてメッセージの受け渡しを行うストリーム処理基盤から、前記メッセージの通信経路に係る経路情報を取得する経路情報取得ステップと、
取得された前記経路情報をデータベースに保存する経路情報保存ステップと、
保存された複数の前記経路情報をデータのセットとして取得して、取得した前記セットに基づき前記通信経路が最適となる最適経路を探索する最適経路探索ステップと、
探索された前記最適経路に係る最適経路情報を、前記通信端末が読み取り可能なデータベースに保存する最適経路保存ステップと
を含む、通信経路最適化方法。
【請求項７】
通信端末が自律的にルーティングを行って形成されるアドホックネットワークにおいてメッセージの受け渡しを行うストリーム処理基盤から、前記メッセージの通信経路に係る経路情報を取得する経路情報取得処理と、
取得された前記経路情報をデータベースに保存する経路情報保存処理と、
保存された複数の前記経路情報をデータのセットとして取得して、取得した前記セットに基づき前記通信経路が最適となる最適経路を探索する最適経路探索処理と、
探索された前記最適経路に係る最適経路情報を、前記通信端末が読み取り可能なデータベースに保存する最適経路保存処理と
をコンピュータに実行させる、通信経路最適化プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信経路最適化装置、通信経路最適化方法及び通信経路最適化プログラムに関する。
【背景技術】
【０００２】
近年、通信端末同士が直接接続して通信を行うアドホック通信を利用してネットワーク（アドホックネットワーク）を構築する技術が注目されている。アドホックネットワークにおいて、それぞれの通信端末は、無線の基地局等のインフラストラクチャに依存しないで自律的にルーティングを行って通信端末間でメッセージを転送することができる。このため、アドホックネットワークにおいては、例えば、災害時にインフラストラクチャが使用できなくなった場合においても、通信端末によってネットワークをいち早く回復させることが可能となるレジリエントなネットワークを構築することができる。
【０００３】
アドホックネットワークは、複数の通信端末をそれぞれノードとした通信経路によって構成される。従って、通信端末が移動すると、通信可能な通信経路が変更されて、ネットワークの構成（以下、「トポロジー」という。）が変更される。アドホック通信においては、それぞれの通信端末が自律的なルーティングを行うために、例えばＯＬＳＲ（Ｏｐｔｉｍｉｚｅｄ  Ｌｉｎｋ  Ｓｔａｔｅ  Ｒｏｕｔｉｎｇ）等のルーティングプロトコルを使用して、通信経路の変更を検出し、ルーティングを行う。
【０００４】
また、アドホックネットワークにおいてトポロジーが変更されたときに、変更後のトポロジーをオペレータが把握しやすいように、ノード間の通信経路をツリー構造で表示する技術がある（例えば、特許文献１を参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１４−２１９８７０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、ルーティングにおいて、最適な通信経路を選択するためには、ネットワーク全体のトポロジーを把握して、複数の通信経路を比較して最適な通信経路を探索する必要がある。最適な通信経路を探索するには、例えば、移動する通信端末間で送受信される膨大な通信データを取得して、通信経路の情報から最適経路を探索する探索処理を行う。最適経路の探索は通信端末の移動に応じて更新する必要がある。更新頻度が低いと、最新のトポロジーが把握できなくなり、最適な通信経路を探索できなくなる場合があった。一方、更新頻度が高いと最適経路を探索するための負荷が高くなり、通信端末の処理能力によっては、最適な経路を探索することができない場合があった。
【０００７】
本発明は上記事情に鑑みてなされたものであり、アドホックネットワークにおける最適な経路を探索することができる、通信経路最適化装置、通信経路最適化方法及び通信経路最適化プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
（１）本発明の一態様において、通信経路最適化装置は、通信端末が自律的にルーティングを行って形成されるアドホックネットワークにおいてメッセージの受け渡しを行うストリーム処理基盤から、前記メッセージの通信経路に係る経路情報を取得する経路情報取得部と、取得された前記経路情報をデータベースに保存する経路情報保存部と、保存された複数の前記経路情報をデータのセットとして取得して、取得した前記セットに基づき前記通信経路が最適となる最適経路を探索する最適経路探索部と、探索された前記最適経路に係る最適経路情報を、前記通信端末が読み取り可能なデータベースに保存する最適経路保存部とを備える。
【０００９】
（２）本発明の一態様の通信経路最適化装置において、前記経路情報取得部は、前記ストリーム処理基盤に対して、取得する前記経路情報を指定するための指定情報を予め設定して、前記指定情報に基づきストリーム処理基盤が配信する前記経路情報を取得する。
【００１０】
（３）本発明の一態様の通信経路最適化装置において、前記最適経路探索部は、前記経路情報が取得されたときに、前記最適経路を探索し、前記最適経路保存部は、保存された前記最適経路情報を更新する。
【００１１】
（４）本発明の一態様の通信経路最適化装置において、前記最適経路探索部は、ホップ数が最小となる前記通信経路を最適経路として探索する。
【００１２】
（５）本発明の一態様の通信経路最適化装置において、保存された前記最適経路情報に基づき、前記経路情報を表示装置にグラフィカルに表示するための表示データを生成する表示データ生成部をさらに備える。
【００１３】
（６）本発明の一態様において、通信経路最適化方法は、通信端末が自律的にルーティングを行って形成されるアドホックネットワークにおいてメッセージの受け渡しを行うストリーム処理基盤から、前記メッセージの通信経路に係る経路情報を取得する経路情報取得ステップと、取得された前記経路情報をデータベースに保存する経路情報保存ステップと、保存された複数の前記経路情報をデータのセットとして取得して、取得した前記セットに基づき前記通信経路が最適となる最適経路を探索する最適経路探索ステップと、探索された前記最適経路に係る最適経路情報を、前記通信端末が読み取り可能なデータベースに保存する最適経路保存ステップとを含む。
【００１４】
（７）本発明の一態様において、通信経路最適化プログラムは、通信端末が自律的にルーティングを行って形成されるアドホックネットワークにおいてメッセージの受け渡しを行うストリーム処理基盤から、前記メッセージの通信経路に係る経路情報を取得する経路情報取得処理と、取得された前記経路情報をデータベースに保存する経路情報保存処理と、保存された複数の前記経路情報をデータのセットとして取得して、取得した前記セットに基づき前記通信経路が最適となる最適経路を探索する最適経路探索処理と、探索された前記最適経路に係る最適経路情報を、前記通信端末が読み取り可能なデータベースに保存する最適経路保存処理とをコンピュータに実行させる。
【発明の効果】
【００１５】
本発明によれば、アドホックネットワークにおける最適な経路を探索することができる、通信経路最適化装置、通信経路最適化方法及び通信経路最適化プログラムを提供することができる。
【図面の簡単な説明】
【００１６】
【図１】実施形態の通信経路最適化装置のソフトウェア構成の一例を示す図。
【図２】実施形態の通信経路最適化装置のハードウェア構成の一例を示す図。
【図３】実施形態の通信経路最適化装置の動作の一例を示すフローチャート。
【図４】実施形態の通信経路最適化装置が保存する最適経路情報の一例を示す図。
【図５】実施形態の通信経路最適化装置が生成する表示データの一例を示す図。
【発明を実施するための形態】
【００１７】
以下、図面を参照して本発明の一実施形態における、通信経路最適化装置、通信経路最適化方法及び通信経路最適化プログラムについて詳細に説明する。なお、以下に示す各図において、同一構成については同一の符号を付す。
【００１８】
先ず、図１を用いて、実施形態の通信経路最適化装置のソフトウェア構成を説明する。
【００１９】
図１において、通信経路最適化装置１０は、経路情報取得部１０１、経路情報保存部１０２、最適経路探索部１０３、最適経路保存部１０４及び表示データ生成部１０５の機能を有する。通信経路最適化装置１０が有する、経路情報取得部１０１、経路情報保存部１０２、最適経路探索部１０３、最適経路保存部１０４及び表示データ生成部１０５の各機能は、通信経路最適化装置１０を制御する通信経路最適化プログラム（ソフトウェア）で実現することができる。すなわち、図１に示した通信経路最適化装置１０の構成は、通信経路最適化プログラムの構成によって実現することができる。
【００２０】
経路情報取得部１０１は、通信端末が自律的にルーティングを行って形成されるアドホックネットワークにおいてメッセージの受け渡しを行うストリーム処理基盤から、メッセージの通信経路に係る経路情報を取得する。通信端末が自律的にルーティングを行って形成されるアドホックネットワークとは、複数の通信端末がそれぞれ隣接した他の通信端末と通信し、自らルーティング（中継）を行うアドホックモードの通信によって形成されるネットワークである。アドホック通信においては、各通信端末がＯＬＳＲ等のルーティングプロトコルを用いてメッセージを中継する。アドホックモードは、例えば、IEEE（The Institute of Electrical and Electronics Engineers, Inc.）802.11において、無線ＬＡＮの動作モードとして規定されている。アドホックモードにおいては、それぞれの通信端末が自律的にルーティングを行ってネットワーク（アドホックネットワーク）を形成して、通信端末間でメッセージを転送することができる。図１ではメッセージを中継する通信端末として、端末Ａ、端末Ｂ、端末Ｃ、端末Ｄ及び端末Ｇを図示している。端末Ａ〜端末Ｇが、それぞれが通信のノードとなり、メッセージを中継してアドホックネットワークを形成する。
【００２１】
通信経路とは、複数の通信端末（ノード）によって形成されるアドホックネットワークにおいて、メッセージが転送される始点から終点までの通信経路である。例えば、端末Ａは、端末Ｂ及び端末Ｃと双方向に通信が可能であることを示している。すなわち、アドホックネットワークにおいて、端末Ａのノードは、端末Ｂ及び端末Ｃのノードと隣接している。同様に、端末Ｂのノードは、端末Ａ、端末Ｃ及び端末Ｄのノードと隣接している。端末Ｃのノードは、端末Ａ、端末Ｂ、端末Ｄ及び端末Ｇのノードと隣接している。端末Ｄのノードは、端末Ｂ、端末Ｃ及び端末Ｇのノードと隣接している。また、端末Ｇのノードは、端末Ｃ及び端末Ｄのノードと隣接している。端末経路は、隣接したノードを組み合わせて決定される。例えば、端末Ａを始点、端末Ｇを終点とする場合、端末Ｂ、端末Ｃ及び端末Ｄを中継点とした通信経路が通信可能な通信経路となる。すなわち、端末Ａを始点、端末Ｇを終点とする場合、以下の通信経路１〜４が存在する。
通信経路１：端末Ａ→端末Ｂ→端末Ｃ→端末Ｄ→端末Ｇ（ホップ数＝４）
通信経路２：端末Ａ→端末Ｂ→端末Ｃ→端末Ｇ（ホップ数＝３）
通信経路３：端末Ａ→端末Ｂ→端末Ｄ→端末Ｇ（ホップ数＝３）
通信経路４：端末Ａ→端末Ｃ→端末Ｇ（ホップ数＝２）
【００２２】
通信経路に係る経路情報とは、通信経路における通信状況を示す情報であり、例えば、隣接するノード、トポロジー、通信の始点となるノードから終点までのホップ数（中継数）、ノード間の通信帯域等の情報、又はこれらの情報得るためのＯＬＳＲ等の制御メッセージである。例えば、上記通信経路におけるホップ数は、（）内に示した数値となる。
【００２３】
移動可能なノードによって形成されるアドホックネットワークは上述のように、それぞれのノードが移動することによってトポロジーが変化する。従って、経路情報は、例えば、ＯＬＳＲ等における制御メッセージをノード間において定期的に送信することにより取得することができる。制御メッセージは、１つのノードから隣接した（通信可能な）全てのノードに配信される。アドホックネットワークにおいては、ノード間において制御メッセージを送受信することによってトポロジーの変化を各ノードが認識することが可能となる。
【００２４】
制御メッセージは、それぞれのノードから送信されるため、ノード数が増えると制御メッセージ数が増加することになる。特に、アドホックネットワークでは、トポロジーの変化をリアルタイムで把握するために、制御メッセージの送信間隔を短くする必要があり、大量の制御メッセージがネットワーク内で送受信されることになる。ノードである通信端末は、例えばノートＰＣやタブレットＰＣ等の処理能力の低いデバイスである可能性があり、アプリケーションの処理に加えてアドホックネットワークの中継処理（ルーティング）を行う場合、大量の制御メッセージの処理は大きな負担となる場合がある。
【００２５】
本実施形態において、経路情報取得部１０１は、アドホックネットワークで大量に送受信される制御メッセージを、ストリーム処理基盤から取得する。ストリーム処理基盤とは、分散されたメッセージが送受信される分散メッセージングシステム３０におけるメッセージ（分散メッセージ）を（バッチ処理ではなく）リアルタイム処理するための処理基盤（プラットフォーム）である。ストリーム処理基盤は、メッセージの送信元と送信先の間でクラスタを構成してメッセージの受け渡しのキューとして動作する。ストリーム処理基盤は、予め与えられたカテゴリ名（トピック名）によって受け渡しを行うキューを分類して保存しておくことができる。経路情報取得部１０１は、ストリーム処理基盤に対して、経路情報の取得に必要なデータをカテゴリ名として指定した指定情報を予めストリーム処理基盤に設定しておく。経路情報の取得に必要な指定情報としては、例えば、通信端末を識別するための「端末ＩＤ」、通信先の通信端末を識別するための「通信先端末ＩＤリスト」、ノードが隣接する通信端末を識別するための「隣接端末ＩＤ」等である。経路情報取得部１０１は、指定情報を、例えば、ＪＳＯＮ（JavaScript Object Notation）（登録商標）等のデータ形式としてストリーム処理基盤に送信して設定する。ストリーム処理基盤は受け渡しを行った制御メッセージを指定情報で予め指定されたカテゴリ名で保存しておく。ストリーム処理基盤は、経路情報取得部１０１から受信するカテゴリ名による要求に応じて、保存しておいた制御メッセージを経路情報取得部１０１に対して配信（ストリーミング）する。これにより、経路情報取得部１０１は、ストリーム処理基盤から経路情報（制御メッセージ）をリアルタイムで逐次取得することが可能となる。
【００２６】
ストリーム処理基盤は、経路情報取得部１０１からの取得要求に応じて、必要な経路情報を配信する。すなわち、配信とは、経路情報取得部１０１が主体となってプル動作で経路情報を取得するものである。配信を行うことにより、経路情報取得部１０１の処理能力をストリーム処理基盤側で把握する必要がなく、経路情報取得部１０１の処理能力の応じた通信速度で経路情報を送信することができる。また、経路情報取得部１０１の要求に応じて、任意のタイミングで、任意のデータ位置の経路情報を送信することができる。
【００２７】
経路情報保存部１０２は、経路情報取得部１０１が取得した経路情報を分散ＤＢ２０の経路情報ＤＢ２１にデータセットとして保存する。経路情報ＤＢ２１は、分散ＤＢ２０の一部であって、経路情報を保存するデータベースである。分散ＤＢ２０は、分散データベース形態のデータベースである。分散データベースは、大量に記憶されたデータ（データセット）を複数の処理装置（ＣＰＵ）から分散処理されるのに適したアーキテクチャを有するデータベースであり、例えば、データベース内のデータをレプリケーションし又は分散して、分散処理における透過性を有している。経路情報保存部１０２は、分散データベースである経路情報ＤＢ２１に経路情報をデータセットとして保存することによって、最適経路探索部１０３が経路情報を分散処理することを可能にする。なお、データセットは、例えば、ＲＤＤ（Resilient Distributed Dataset）であり、不変(イミュータブル)で並列実行可能な（分割された）データコレクションである。
【００２８】
最適経路探索部１０３は、分散データベースである経路情報ＤＢ２１に保存された経路情報のデータセットを読出して、通信端末間の通信経路が最適となる最適経路を探索する。通信端末間の通信経路とは、アドホックネットワークにおける通信の始点、終点、及び中継点で表されるメッセージの転送経路である。通信経路が最適となる最適経路とは、例えば、始点から終点までの通信におけるメトリックが最小となる通信経路である。メトリックは、例えば、ホップ数、インターフェイスの帯域幅、遅延、信頼性（ＡＤ：Administrative Distance）、負荷状況、ＭＴＵ（Maximum Transmission Unit）等の基準値によって算出することが可能となる。メトリックはルーティングプロトコルによって基準値が異なる。例えば、本実施形態では、ホップ数を基準値とするメトリックを用いるものとする。最適経路探索部１０３は、経路情報ＤＢ２１に保存された大量の経路情報を分散処理してホップ数を算出することにより、最適経路を探索することができる。
【００２９】
最適経路探索部１０３は、例えば、経路情報のデータセットに含まれる通信端末の情報に基づき、通信端末にユニークはＩＤを割振る。最適経路探索部１０３は、通信の始点となる通信端末のＩＤと終点となる通信端末のＩＤから、複数の通信経路におけるそれぞれのホップ数を算出することができる。最適経路探索部１０３は、通信経路の中でホップ数が最小の通信経路を最適経路とすることにより、最適経路を探索することができる。
【００３０】
最適経路探索部１０３は、最適経路の探索を分散処理によって実行することができる。上述のように、経路情報のデータセットには大量のデータが含まれる場合がある。最適経路探索部１０３は、経路情報のデータセットを複数のプロセッサで平行して処理することにより、経路情報の探索を、遅延の少ないリアルタイム処理で処理することができる。最適経路探索部１０３は、例えば、外部においてスケジューリングされたタイミングにおいて定期的に経路情報を取得して平行処理をしてもよい。
【００３１】
最適経路保存部１０４は、最適経路探索部１０３において探索された最適経路を、最適経路情報ＤＢ２２に保存する。最適経路情報ＤＢ２２も分散ＤＢ２０の一部として実施される。最適経路保存部１０４に保存された最適経路と常に更新するように保存する。保存された経路情報は端末Ａ〜端末Ｇから読出されてルーティングに使用される。これにより、各通信端末におけるルーティングの経路探索の負荷を軽減することが可能となる。
【００３２】
表示データ生成部１０５は、最適経路保存部１０４に保存された最適経路情報に基づき、経路情報を表示装置にグラフィカルに表示するための表示データを生成する。表示データ生成部１０５が生成した表示データは、端末Ｈ４０のＷｅｂブラウザ４１によって表示される。表示データ生成部１０５は、例えば、Ｗｅｂブラウザの表示データを生成するＷｅｂサーバである。表示データ生成部１０５が経路情報をグラフィカルに表示するための表示データを生成することによって、ユーザは、アドホックネットワークのトポロジーを容易に視認することが可能となる。表示データ生成部１０５が表示データを生成する経路情報のグラフィカルな表示については図５を用いて後述する。
【００３３】
なお、通信経路最適化装置１０が有する、経路情報取得部１０１、経路情報保存部１０２、最適経路探索部１０３、最適経路保存部１０４及び表示データ生成部１０５の各機能は、上述の通り、ソフトウェアによって実現されるものとして説明した。しかし、通信経路最適化装置１０が有する上記機能の中で少なくとも１つ以上の機能は、ハードウェアによって実現されるものであっても良い。
【００３４】
また、通信経路最適化装置１０が有する上記何れかの機能は、１つの機能を複数の機能に分割して実施してもよい。また、通信経路最適化装置１０が有する上記何れか２つ以上の機能を１つの機能に集約して実施してもよい。
【００３５】
また、通信経路最適化装置１０は、１つの筐体によって実現される装置であっても、ネットワーク等を介して接続された複数の装置から実現されるシステムであってもよい。例えば、通信経路最適化装置１０は、クラウドコンピューティングシステムによって提供されるクラウドサービス等、仮想的な装置であってもよい。また、通信経路最適化装置１０は、サーバ装置等の汎用のコンピュータであってもよく、あるいは機能が限定された専用の装置であってもよい。
【００３６】
また、通信経路最適化装置１０の上記各機能のうち、少なくとも１以上の機能を他の装置において実現するようにしてもよい。すなわち、通信経路最適化装置１０は上記全ての機能を有している必要はなく、一部の機能を有するものであってもよい。
【００３７】
例えば、図１においては、通信経路最適化装置１０と分散ＤＢ２０をそれぞれ１つの装置として説明したが、分散ＤＢ２０の機能は通信経路最適化装置１０に含まれるものであってもよい。
【００３８】
次に、図２を用いて、実施形態の通信経路最適化装置１０のハードウェア構成を説明する。
【００３９】
図２において、通信経路最適化装置１０は、ＣＰＵ１１、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１２、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１３、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）１４、操作部１５、表示部１６、通信Ｉ／Ｆ１７及び通信Ｉ／Ｆ１８を有する。
【００４０】
通信経路最適化装置１０には、デスクトップ型ＰＣ、サーバ装置等の汎用のコンピュータを用いることができる。また、通信経路最適化装置１０は、通信経路最適化装置１０の機能を実現するソフトウェア（通信経路最適化プログラム）を実行することができる。
【００４１】
ＣＰＵ１１は、ＲＡＭ１２、ＲＯＭ１３又はＨＤＤ１４に記憶された通信経路最適化プログラムを実行することにより、通信経路最適化装置１０の機能を実現する。通信経路最適化プログラムは、例えば、プログラムを記録した記録媒体、又はネットワークを介してプログラムを提供するサーバ等から取得されて、ＨＤＤ１４にインストールされ、ＲＡＭ１２にＣＰＵ１１から読出し可能に記憶される。
【００４２】
操作部１５は、通信経路最適化装置１０のオペレータによる操作入力を可能にする、例えば、キーボード、マウス、又はスイッチ等である。表示部１６は、オペレータに情報を表示する表示機能を有する、例えば、液晶ディスプレイ、又はランプ等である。なお、操作部１５及び表示部１６は、操作表示機能を有する、例えばタッチパネル等であってもよい。
【００４３】
通信Ｉ／Ｆ１７は、ネットワークを介した他の装置との通信を制御する。通信Ｉ／Ｆ１７は、例えば、有線ＬＡＮ通信を介して他の装置との通信を制御する。また、通信Ｉ／Ｆ１８は、通信Ｉ／Ｆ１７と異なる通信プロトコルにおける通信を制御する。通信Ｉ／Ｆ１８は、例えば、無線ＬＡＮ通信、赤外線通信又は近距離無線通信を制御する。図１で説明した、分散メッセージングシステム３０、端末Ａ〜端末Ｇ、分散ＤＢ２０、又は端末Ｈは、通信Ｉ／Ｆ２７又は通信Ｉ／Ｆ２８によって通信経路最適化装置１０と通信を行うことができる。
【００４４】
次に、図３を用いて、実施形態の通信経路最適化装置の動作を説明する。図３のフローチャートに示した各処理は、図１で示した通信経路最適化装置１０の各機能によって実行される。以下の説明では、通信経路最適化装置１０が各処理を実行するものとして説明する。
【００４５】
図３において、通信経路最適化装置１０は、経路情報を取得したか否かを判断する（ステップＳ１１）。経路情報を取得したか否かは、例えば、経路情報取得部１０１がストリーム処理基盤から経路情報を取得したか否かによって判断することができる。ストリーム処理基盤からの経路情報の取得は、上述のように、経路情報取得部１０１がストリーム処理基盤に対して制御メッセージを配信するためのカテゴリ名による要求をすることにより行うことができる。経路情報を取得していないと判断した場合（ステップＳ１１：ＮＯ）、通信経路最適化装置１０は、ステップＳ１１の処理を繰返して、経路情報の取得を待機する。
【００４６】
一方、経路情報を取得したと判断した場合（ステップＳ１１：ＹＥＳ）、通信経路最適化装置１０は、取得した経路情報を保存する（ステップＳ１２）。経路情報の保存は、例えば、経路情報保存部１０２が、取得された経路情報をデータセットとして経路情報ＤＢ２１に保存することによって行うことができる。
【００４７】
ステップＳ１２の処理を実行した後、通信経路最適化装置１０は、最適な通信経路を探索する（ステップＳ１３）。最適な通信経路の探索は、例えば、最適経路探索部１０３が、取得された通信経路のホップ数を算出し、算出したホップ数が最小となる通信経路を選択することにより実行することができる。
【００４８】
ステップＳ１３の処理を実行した後、通信経路最適化装置１０は、探索した最適経路の情報を保存する（ステップＳ１４）。最適経路情報の保存は、例えば、最適経路保存部１０４が、探索された最適経路の情報を最適経路情報ＤＢ２２に保存することにより実行することができる。
【００４９】
ステップＳ１４の処理を実行した後、通信経路最適化装置１０は、最適化処理を終了するか否かを判断する（ステップＳ１５）。最適化処理とは、ステップＳ１１〜ステップＳ１４で説明した処理であり、最適化処理を終了するか否かは、例えば、通信経路最適化装置１０のオペレータからの処理終了の明示的な指示があったか否かで判断することができる。最適化処理は、アドホックネットワークが運用されているときに常に実行されることにより、トポロジーの変化に対応した最新の最適経路を更新することができる。従って、最適化処理の終了は、例えば、アドホックネットワークの運用を中止する等のときに行われる。
【００５０】
最適化処理を終了しないと判断した場合（ステップＳ１５：ＮＯ）、通信経路最適化装置１０は、ステップＳ１１の処理に戻って最適化処理を繰返して実行する。一方、最適化処理を終了すると判断した場合（ステップＳ１５：ＹＥＳ）、通信経路最適化装置１０は、フローチャートに示した動作を終了する。
【００５１】
次に、図４を用いて、実施形態の通信経路最適化装置が保存する最適経路情報について説明する。
【００５２】
図４において、図示する表は、「始点」、「終点」、「中継点」、「ホップ数」、「通信帯域」及び「最適経路」のデータ項目を有している。図４に示す最適経路を含む最適経路情報は、例えば、最適経路情報ＤＢ２２に保存される。「始点」、「終点」、「中継点」及び「通信帯域」のデータ項目は、経路情報取得部１０１が取得する経路情報から取得される情報である。「ホップ数」と「最適経路」のデータ項目は、最適経路探索部１０３によって算出（決定）される。
【００５３】
「始点」、「終点」、「中継点」は図１で示した端末Ａ〜端末Ｇによって構成されるアドホックネットワークにおける始点等を示している。図４は、「始点」を端末Ａとしたときの通信経路の組み合わせを例示している。「ホップ数」は、始点から終点までの中継数である。「通信帯域」は始点から終点までの通信帯域である。「最適経路」は、複数の通信経路が存在する場合に決定された最適経路を「○」で示している。
【００５４】
例えば、端末Ｂ又は端末Ｃを終点とする通信経路は、中継点を経由しない隣接した経路であるため、端末Ａをルータとして１をカウントし、ホップ数＝１となる。このときの通信帯域は、それぞれ数値となり、また、それぞれが最適経路として決定される。
【００５５】
また、端末Ｄを終点とする場合、中継点を端末Ｂとする通信経路と、中継点を端末Ｃとする通信経路が存在する。ホップ数はそれぞれ２であるため、ホップ数のみで最適経路を選択する場合、いずれの通信経路を最適経路としてもよい。但し、最適経路の決定において通信帯域を考慮することもできる。ここで、通信帯域が「ccc.c」＜「ddd.d」である場合、より帯域が広い端末Ｃを中継点とした通信経路を最適経路として決定するようにしてもよい。
【００５６】
また、端末Ｇを終点とする場合、中継点を端末Ｂ、端末Ｃ及び端末Ｄの組み合わせとする４つの通信経路が存在する。端末Ｂ、端末Ｃ及び端末Ｄを中継点とする通信経路のホップ数は４である。端末Ｂ及び端末Ｃを中継点とする通信経路のホップ数は３である。端末Ｂ及び端末Ｄを中継点とする通信経路のホップ数は３である。さらに、端末Ｃ及を中継点とする通信経路のホップ数は２である。４つの通信経路において、ホップ数が２の通信経路を最適経路として決定する。但し、ホップ数による通信速度への影響より通信帯域による通信速度の影響が大きいときには、通信帯域によって最適経路を決定するようにしてもよい。
【００５７】
次に、図５を用いて、実施形態の通信経路最適化装置が生成する表示データを説明する。図５は、表示データ生成部１０５が生成した表示データをＷｅｂブラウザ４１において表示した表示画面を示している。
【００５８】
図５（Ａ）において、表示画面１００は、例えば、端末Ｈ４０の表示装置における表示画面である。表示画面１００は、トポロジー表示部１１０と通信状態表示部１２０を有する。通信状態表示部１２０は、通信帯域表示部１２１、ホップ数表示部１２２及び更新日時表示部１２３を有する。
【００５９】
トポロジー表示部１１０は、アドホックネットワークのトポロジーを表示する。端末Ａ〜端末Ｇは、ネットワークのノードを示している。ノード間の矢印は、隣接している通信可能なノードを表している。図５（Ａ）は、始点を端末Ａ、終点を端末Ｄに設定したときの最適経路を示している。始点となる端末Ａと終点となる端末Ｄは太字で表されている。始点と終点は、例えばユーザが表示画面をマウス等でクリックすることにより選択するようにしてもよい。始点と終点が選択されると、トポロジー表示部１１０には、最適経路が太線の矢印で示される。図５（Ａ）は、端末Ｃを中継点とする通信経路が最適経路として決定されたことを示している。トポロジー表示部１１０は、端末Ａ〜端末Ｇによって構成されるアドホックネットワークのトポロジーと最適ルートをユーザが視認容易に表示することができる。
【００６０】
通信状態表示部１２０において、通信帯域表示部１２１は、始点から終点までの通信帯域を表示する。通信帯域の表示は、通信帯域表示部１２１に数値を表示する他に例えば、トポロジー表示部１１０に表示する矢印の形状（太さや色）を変化させることによって表示してもよい。これにより、通信経路におけるボトルネックを視認用にすることができる。ホップ数表示部１２２は、トポロジー表示部１１０に表示された最適経路におけるホップ数を表示する。端末Ａ〜端末Ｄは、端末Ｃを中継するホップ数２の通信経路である。更新日時表示部１２３は、表示画面１００の表示が更新された日時である。アドホックネットワークのトポロジーは変化するため、更新日時を表示することにより古いトポロジーの可能性を警告することができる。
【００６１】
図５（Ｂ）は、通信経路の終点を端末Ｇとしたときの画面表示である。表示画面１００における表示機能は図５（Ａ）と同一であるため、説明を省略する。図５（Ｂ）においては、終点が端末Ｇに設定されたことにより、最適経路の表示が変更されて、端末Ｃと端末Ｇの間の矢印が太線表示となっている。
【００６２】
ところで、本実施形態においては、最適経路探索部１０３が始点と終点を結ぶ通信経路の中から最適経路を決定する場合を示したが、決定された最適経路が変更された場合、各ノードが最適経路の情報を取得してルーティング先を変更するまでに所定のタイムラグが発生する。例えば、最適経路の中継点のノードの通信端末が通信を終了した場合、中継点を通過する通信経路における通信は不通となってしまう。最適経路探索部１０３は、例えば、最適経路とともに代替となる通信経路である代替経路を最適経路とともに算出して保存しておくようにしてもよい。代替経路は、例えば、今までの実績において継続した中継を行っているノードの優先順位を高くすることにより決定してもよい。各中継点の通信端末は、予め代替経路を取得しておくことにより、ネットワークにおける可用性を高くすることができる。
【００６３】
なお、図５において図示した表示画面１００は、表示画面の一例であって、表示画面の構成はこれに限定されるものではない。例えば、トポロジー表示部１１０は、最適経路以外のノードを表示しないようにしてもよい。また、トポロジーが変化した場合、変化の前後のトポロジーを表示する等、トポロジーの変化が視認できるようにしてもよい。
【００６４】
以上、説明した、通信経路最適化装置は、通信端末が自律的にルーティングを行って形成されるアドホックネットワークにおいてメッセージの受け渡しを行うストリーム処理基盤から、メッセージの通信経路に係る経路情報を取得する経路情報取得部と、取得された経路情報をデータベースに保存する経路情報保存部と、保存された複数の経路情報をデータのセットとして取得して、取得したセットに基づき通信経路が最適となる最適経路を探索する最適経路探索部と、探索された最適経路に係る最適経路情報を、通信端末が読み取り可能なデータベースに保存する最適経路保存部とを備える。この構成によって、アドホックネットワークにおける最適な経路を探索することができる。
【００６５】
なお、本実施形態で説明した装置を構成する機能を実現するためのプログラムを、コンピュータ読み取り可能な記録媒体に記録して、当該記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより、本実施形態の上述した種々の処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものであってもよい。また、「コンピュータシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、フラッシュメモリ等の書き込み可能な不揮発性メモリ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【００６６】
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（例えばＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ））のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組合わせで実現するもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【００６７】
以上、本発明の実施形態について、図面を参照して説明してきたが、具体的な構成はこの実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲においての種々の変更も含まれる。
【符号の説明】
【００６８】
１０…通信経路最適化装置、１０１…経路情報取得部、１０２…経路情報保存部、１０３…最適経路探索部、１０４…最適経路保存部、１０５…表示データ生成部、２０…分散ＤＢ、２１…経路情報ＤＢ、２２…最適経路情報ＤＢ、３０…分散メッセージングシステム、４０…端末Ｈ、４１…Ｗｅｂブラウザ
【図１】
2018174511.tif 000003
【図２】
2018174511.tif 000004
【図３】
2018174511.tif 000005
【図４】
2018174511.tif 000006
【図５】
2018174511.tif 000007
【手続補正書】
【提出日】平成30年7月13日(2018.7.13)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
通信端末が自律的にルーティングを行って形成されるアドホックネットワークにおいてメッセージの受け渡しを行うストリーム処理基盤から、前記メッセージの通信経路に係る経路情報を取得する経路情報取得部と、
取得された前記経路情報をデータベースに保存する経路情報保存部と、
保存された複数の前記経路情報をデータのセットとして取得して、取得した前記セットに基づくホップ数及び通信帯域に基づき前記通信経路が最適となる最適経路を探索する最適経路探索部と、
探索された前記最適経路に係る最適経路情報を、前記通信端末が読み取り可能なデータベースに保存する最適経路保存部と
を備える、通信経路最適化装置。
【請求項２】
通信端末が自律的にルーティングを行って形成されるアドホックネットワークにおいてメッセージの受け渡しを行うストリーム処理基盤から、前記メッセージの通信経路に係る経路情報を取得する経路情報取得部と、
取得された前記経路情報をデータベースに保存する経路情報保存部と、
保存された複数の前記経路情報をデータのセットとして取得して、取得した前記セットに基づき前記通信経路が最適となる最適経路及び前記最適経路の代替となる通信経路である代替経路を探索する最適経路探索部と、
探索された前記最適経路に係る最適経路情報を、前記通信端末が読み取り可能なデータベースに保存する最適経路保存部と
を備える、通信経路最適化装置。
【請求項３】
前記経路情報取得部は、前記ストリーム処理基盤に対して、取得する前記経路情報を指定するための指定情報を予め設定して、前記指定情報に基づきストリーム処理基盤が配信する前記経路情報を取得する、請求項１又は請求項２に記載の通信経路最適化装置。
【請求項４】
前記最適経路探索部は、前記経路情報が取得されたときに、前記最適経路を探索し、
前記最適経路保存部は、保存された前記最適経路情報を更新する、請求項１から３のいずれか一項に記載の通信経路最適化装置。
【請求項５】
前記最適経路探索部は、ホップ数が最小となる前記通信経路を最適経路として探索する、請求項１から４のいずれか一項に記載の通信経路最適化装置。
【請求項６】
前記最適経路探索部は、前記通信経路が最適となる最適経路が複数存在する場合、通信帯域がより広い前記通信端末を中継点とした通信経路を最適経路として決定する
請求項１から５のいずれか一項に記載の通信経路最適化装置。
【請求項７】
保存された前記最適経路情報に基づき、前記経路情報を表示装置にグラフィカルに表示するための表示データを生成する表示データ生成部をさらに備える、請求項１から６のいずれか一項に記載の通信経路最適化装置。
【請求項８】
通信端末が自律的にルーティングを行って形成されるアドホックネットワークにおいてメッセージの受け渡しを行うストリーム処理基盤から、前記メッセージの通信経路に係る経路情報を取得する経路情報取得ステップと、
取得された前記経路情報をデータベースに保存する経路情報保存ステップと、
保存された複数の前記経路情報をデータのセットとして取得して、取得した前記セットに基づくホップ数及び通信帯域に基づき前記通信経路が最適となる最適経路を探索する最適経路探索ステップと、
探索された前記最適経路に係る最適経路情報を、前記通信端末が読み取り可能なデータベースに保存する最適経路保存ステップと
を含む、通信経路最適化方法。
【請求項９】
通信端末が自律的にルーティングを行って形成されるアドホックネットワークにおいてメッセージの受け渡しを行うストリーム処理基盤から、前記メッセージの通信経路に係る経路情報を取得する経路情報取得ステップと、
取得された前記経路情報をデータベースに保存する経路情報保存ステップと、
保存された複数の前記経路情報をデータのセットとして取得して、取得した前記セットに基づき前記通信経路が最適となる最適経路及び前記最適経路の代替となる通信経路である代替経路を探索する最適経路探索ステップと、
探索された前記最適経路に係る最適経路情報を、前記通信端末が読み取り可能なデータベースに保存する最適経路保存ステップと
を含む、通信経路最適化方法。
【請求項１０】
通信端末が自律的にルーティングを行って形成されるアドホックネットワークにおいてメッセージの受け渡しを行うストリーム処理基盤から、前記メッセージの通信経路に係る経路情報を取得する経路情報取得処理と、
取得された前記経路情報をデータベースに保存する経路情報保存処理と、
保存された複数の前記経路情報をデータのセットとして取得して、取得した前記セットに基づくホップ数及び通信帯域に基づき前記通信経路が最適となる最適経路を探索する最適経路探索処理と、
探索された前記最適経路に係る最適経路情報を、前記通信端末が読み取り可能なデータベースに保存する最適経路保存処理と
をコンピュータに実行させるための、通信経路最適化プログラム。
【請求項１１】
通信端末が自律的にルーティングを行って形成されるアドホックネットワークにおいてメッセージの受け渡しを行うストリーム処理基盤から、前記メッセージの通信経路に係る経路情報を取得する経路情報取得処理と、
取得された前記経路情報をデータベースに保存する経路情報保存処理と、
保存された複数の前記経路情報をデータのセットとして取得して、取得した前記セットに基づき前記通信経路が最適となる最適経路及び前記最適経路の代替となる通信経路である代替経路を探索する最適経路探索処理と、
探索された前記最適経路に係る最適経路情報を、前記通信端末が読み取り可能なデータベースに保存する最適経路保存処理と
をコンピュータに実行させるための、通信経路最適化プログラム。