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

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

▶ 有限会社苫米地庵の特許一覧

<>
  • 特許-メッシュネットワークシステム 図1
  • 特許-メッシュネットワークシステム 図2
  • 特許-メッシュネットワークシステム 図3
  • 特許-メッシュネットワークシステム 図4
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-09-25
(45)【発行日】2023-10-03
(54)【発明の名称】メッシュネットワークシステム
(51)【国際特許分類】
   H04W 40/02 20090101AFI20230926BHJP
   H04W 40/24 20090101ALI20230926BHJP
   H04W 84/18 20090101ALI20230926BHJP
【FI】
H04W40/02
H04W40/24
H04W84/18
【請求項の数】 16
(21)【出願番号】P 2020088086
(22)【出願日】2020-05-20
(65)【公開番号】P2021182719
(43)【公開日】2021-11-25
【審査請求日】2022-11-29
(73)【特許権者】
【識別番号】520176979
【氏名又は名称】有限会社苫米地庵
(74)【代理人】
【識別番号】100197642
【弁理士】
【氏名又は名称】南瀬 透
(74)【代理人】
【識別番号】100099508
【弁理士】
【氏名又は名称】加藤 久
(74)【代理人】
【識別番号】100096105
【弁理士】
【氏名又は名称】天野 広
(74)【代理人】
【識別番号】100182567
【弁理士】
【氏名又は名称】遠坂 啓太
(72)【発明者】
【氏名】苫米地 英人
【審査官】新井 寛
(56)【参考文献】
【文献】特開2003-258811(JP,A)
【文献】米国特許出願公開第2017/0086092(US,A1)
【文献】特表2015-530028(JP,A)
【文献】特表2009-512398(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04B 7/24 - 7/26
H04W 4/00 - 99/00
3GPP TSG RAN WG1-4
SA WG1-4
CT WG1、4
(57)【特許請求の範囲】
【請求項1】
それぞれが無線VPN通信機能を有する機器からなり、予め登録されたL(Lは2以上の自然数)個の中継ノードと、
データベースと、
を少なくとも含み、前記中継ノードを介して送信者側ノードから受信者側ノードへの通信を行うメッシュネットワークシステムにおいて、
前記中継ノードは、オンラインになるときにはオンラインステータスに関する情報を、オフラインになるときにはオフラインステータスに関する情報を前記データベースに書き込み、
前記送信者側ノードが前記中継ノードを介して前記受信者側ノードに対して通信を行うときには、前記送信者側ノードは前記データベースにアクセスし、オンラインになっている前記中継ノードの中からN(Nは2以上の自然数)個の中継ノードを検索し、
前記送信者側ノードは、前記N個の中継ノードの中の任意の1個の中継ノードにアクセスし、アクセスした中継ノードがビジーである場合には、残りの(N-1)個の中継ノードの中から任意の1個の中継ノードにアクセスする過程を繰り返し、ビジーではない1個の中継ノードを第一の中継ノードとして選択し、前記送信者側ノードと前記第一の中継ノードとの間の通信経路を確立し、
前記第一の中継ノードが前記送信者側ノードが第一の通信先としての前記第一の中継ノードを決定した手順と同様の手順に従って第二の中継ノードを決定し、前記第二の中継ノードとの間に通信経路を確立し、
前記第一の中継ノードは前記送信者側ノードから送信されてきた情報を含む、自身に蓄積されている情報を前記第二の中継ノードに送信し、
以後、第M(Mは2以上の自然数)の中継ノードが前記第一乃至第(M-1)の中継ノードを除く他の任意の中継ノードに対して上記の手順を実行することを繰り返すことにより第(M+1)の中継ノードを決定し、前記第(M+1)の中継ノードとの間に通信経路を確立し、
前記第Mの中継ノードは、自身に蓄積されている情報と、これまでに決定された通信経路内に存在する第一乃至第(M-1)の中継ノードに蓄積されている情報とを前記第(M+1)の中継ノードに送信し、
自身が最終ノードであるか否かを判定する最終ノード判定ロジックに基づいて、直前の中継ノードから伝達された情報により、自身が最終ノードであると認識した中継ノードが前記受信者側ノードにアクセスし、
前記中継ノードはVPNサーバとして機能するメッシュネットワークシステム。
【請求項2】
前記送信者側ノードは、前記N個の中継ノードが全てビジーである場合には、これらの中継ノードを除いた他の中継ノードに対して同様のプロセスを実施することを特徴とする請求項1に記載のメッシュネットワークシステム。
【請求項3】
前記中継ノードはリアルタイムに移動している無線通信機器からなるものであることを特徴とする請求項1または2に記載のメッシュネットワークシステム。
【請求項4】
前記中継ノードは携帯式電話装置からなるものであることを特徴とする請求項1乃至3の何れか一項に記載のメッシュネットワークシステム。
【請求項5】
前記中継ノードはIoT機器からなるものであることを特徴とする請求項1乃至3の何れか一項に記載のメッシュネットワークシステム。
【請求項6】
前記データベースはブロックチェーンからなるものであることを特徴とする請求項1乃至5の何れか一項に記載のメッシュネットワークシステム。
【請求項7】
それぞれが無線VPN通信機能を有する機器からなる複数個の中継ノードと、
データベースと、
を少なくとも含み、前記中継ノードを介して送信者側ノードから受信者側ノードへの通信を行うメッシュネットワークにおいて、
前記中継ノードをVPNサーバとして機能させる方法であって、
前記中継ノードは、オンラインになるときにはオンラインステータスに関する情報を、オフラインになるときにはオフラインステータスに関する情報を前記データベースに書き込む第一過程と、
前記送信者側ノードが前記中継ノードを介して前記受信者側ノードに対して通信を行うときには、前記送信者側ノードは前記データベースにアクセスし、オンラインになっている前記中継ノードからN(Nは2以上の自然数)個の中継ノードを検索する第二過程と、
前記送信者側ノードは、前記N個の中継ノードの中の任意の1個の中継ノードにアクセスし、アクセスした中継ノードがビジーである場合には、残りの(N-1)個の中継ノードの中から任意の1個の中継ノードにアクセスする過程を繰り返し、ビジーではない1個の中継ノードを第一の中継ノードとして選択し、前記送信者側ノードと前記第一の中継ノードとの間の通信経路を確立する第三過程と、
前記第一の中継ノードが前記送信者側ノードが第一の通信先としての前記第一の中継ノードを決定した手順と同様の手順に従って第二の中継ノードを決定し、前記第一の中継ノードと前記第二の中継ノードとの間に通信経路を確立する第四過程と、
前記第一の中継ノードが前記送信者側ノードから送信されてきた情報を含む、自身に蓄積されている情報を前記第二の中継ノードに送信する第五過程と、
以後、第M(Mは2以上の自然数)の中継ノードが前記第一乃至第(M-1)の中継ノードを除く他の任意の中継ノードに対して上記の手順を実行することを繰り返すことにより第(M+1)の中継ノードを決定し、前記第(M+1)の中継ノードとの間に通信経路を確立する第六過程と、
前記第Mの中継ノードは、自身に蓄積されている情報と、これまでに決定された通信経路内に存在する第一乃至第(M-1)の中継ノードに蓄積されている情報とを前記第(M+1)の中継ノードに送信する第七過程と、
自身が最終ノードであるか否かを判定する最終ノード判定ロジックに基づいて、直前の中継ノードから伝達された情報により、自身が最終ノードであると認識した中継ノードが前記受信者側ノードにアクセスする第八過程と、
からなる方法。
【請求項8】
前記第三過程において、前記N個の中継ノードが全てビジーである場合には、これらの中継ノードを除いた他の中継ノードに対して前記第二過程及び前記第三過程を実施することを特徴とする請求項7に記載の方法。
【請求項9】
前記中継ノードはリアルタイムに移動している無線通信機器からなるものであることを特徴とする請求項7または8に記載の方法。
【請求項10】
前記中継ノードは携帯式電話装置からなるものであることを特徴とする請求項7乃至9の何れか一項に記載の方法。
【請求項11】
前記中継ノードはIoT機器からなるものであることを特徴とする請求項7乃至9の何れか一項に記載の方法。
【請求項12】
それぞれが無線VPN通信機能を有する機器からなる複数個の中継ノードと、
データベースと、
を少なくとも含み、前記中継ノードを介して送信者側ノードから受信者側ノードへの通信を行うメッシュネットワークにおける前記中継ノードであって、
前記中継ノードは、
自らがオンラインになるときにはオンラインステータスに関する情報を、オフラインになるときにはオフラインステータスに関する情報を前記データベースに書き込む第一手段と、
第二手段と、
第三手段と、
を備えており、
前記第二手段は、
前記送信者側ノードが前記中継ノードを介して前記受信者側ノードに対して通信を行うときには、前記送信者側ノードは前記データベースにアクセスし、オンラインになっている前記中継ノードからN(Nは2以上の自然数)個の中継ノードを検索し、その後に、前記N個の中継ノードの中の任意の1個の中継ノードにアクセスし、アクセスした中継ノードがビジーである場合には、残りの(N-1)個の中継ノードの中から任意の1個の中継ノードにアクセスする過程を繰り返し、ビジーではない1個の中継ノードを第一の中継ノードとして選択した後に、前記第一の中継ノードとして前記送信者側ノードとの間に通信経路を確立し、
前記第一の中継ノードが前記送信者側ノードが第一の通信先としての前記第一の中継ノードを決定した手順と同様の手順に従って第二の中継ノードを決定し、前記第一の中継ノードと前記第二の中継ノードとの間に通信経路を確立し、
前記第一の中継ノードの前記第三手段は、
前記第一の中継ノードと前記第二の中継ノードとの間に通信経路が確立された後に、前記送信者側ノードから送信されてきた情報を含む、自身に蓄積されている情報を前記第二の中継ノードに送信し、
第M(Mは2以上の自然数)の中継ノードの前記第二手段は、
直前の第(M-1)の中継ノードとの間に通信経路が確立された後に、前記第一乃至第(M-1)の中継ノードを除く他の任意の中継ノードに対して上記の手順を実行することを繰り返すことにより第(M+1)の中継ノードを決定し、前記第(M+1)の中継ノードとの間に通信経路を確立し、
前記第Mの中継ノードの前記第三手段は、
前記第Mの中継ノードと前記第(M+1)の中継ノードとの間に通信経路が確立された後に、前記第Mの中継ノードに蓄積されている情報と、これまでに決定された通信経路内に存在する第一乃至第(M-1)の中継ノードに蓄積されている情報とを前記第(M+1)の中継ノードに送信し、
自身が最終ノードであるか否かを判定する最終ノード判定ロジックに基づいて、直前の中継ノードから伝達された情報により、自身が最終ノードであると認識した中継ノードの前記第二手段が前記受信者側ノードにアクセスし、前記受信者側ノードとの間に通信経路を確立し、
前記中継ノードはVPNサーバとして機能する中継ノード。
【請求項13】
前記中継ノードはリアルタイムに移動している無線通信機器からなるものであることを特徴とする請求項12に記載の中継ノード。
【請求項14】
前記中継ノードは携帯式電話装置からなるものであることを特徴とする請求項12または13に記載の中継ノード。
【請求項15】
前記中継ノードはIoT機器からなるものであることを特徴とする請求項12または13に記載の中継ノード。
【請求項16】
それぞれが無線VPN通信機能を有する機器からなる複数個の中継ノードと、
データベースと、
を少なくとも含み、前記中継ノードを介して送信者側ノードと受信者側ノードとの間の通信を行うメッシュネットワークにおいて、
前記中継ノードに内蔵され、前記中継ノードをVPNサーバとして機能させるプログラムであって、
前記プログラムは、
前記中継ノードがオンラインになるときにはオンラインステータスに関する情報を、オフラインになるときにはオフラインステータスに関する情報を前記データベースに書き込む第一の処理と、
前記送信者側ノードが前記中継ノードを介して前記受信者側ノードに対して通信を行うときには、前記送信者側ノードは、前記データベースにアクセスし、オンラインになっている前記中継ノードからN(Nは2以上の自然数)個の中継ノードを検索し、前記N個の中継ノードの中の任意の1個の中継ノードにアクセスし、アクセスした中継ノードがビジーである場合には、残りの(N-1)個の中継ノードの中から任意の1個の中継ノードにアクセスする過程を繰り返し、ビジーではない1個の中継ノードを第一の中継ノードとして選択するものであり、前記第一の中継ノードになった中継ノードが前記送信者側ノードとの間に通信経路を確立する第二の処理と、
前記第一の中継ノードとなった中継ノードが前記送信者側ノードが第一の通信先としての前記第一の中継ノードを決定した手順と同様の手順に従って第二の中継ノードを決定し、前記第一の中継ノードと前記第二の中継ノードとの間に通信経路を確立する第三の処理と、
前記第一の中継ノードが前記送信者側ノードから送信されてきた情報を含む、自身に蓄積されている情報を前記第二の中継ノードに送信する第四の処理と、
以後、第M(Mは2以上の自然数)の中継ノードが前記第一乃至第(M-1)の中継ノードを除く他の任意の中継ノードに対して上記の手順を実行することを繰り返すことにより第(M+1)の中継ノードを決定し、前記第(M+1)の中継ノードとの間に通信経路を確立する第五の処理と、
前記第Mの中継ノードとなった中継ノードは、自身に蓄積されている情報と、これまでに決定された通信経路内に存在する第一乃至第(M-1)の中継ノードに蓄積されている情報とを前記第(M+1)の中継ノードに送信する第六の処理と、
自身が最終ノードであるか否かを判定する最終ノード判定ロジックに基づいて、直前の中継ノードから伝達された情報により、自身が最終ノードであると認識した中継ノードが前記受信者側ノードにアクセスする第七の処理と、
を前記中継ノードに実行させるものであるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明はメッシュネットワークシステムに関し、より詳細には、メッシュネットワークを構成するアクセスポイントとしてのノードに関する。
【背景技術】
【0002】
近年、通信ネットワークの一つとしてメッシュネットワークが提案されている。
メッシュネットワークは複数の中継機器(ノード)から構成され、これらの複数の中継機器は相互に対等な関係を有しており、これらの中継機器が網の目(メッシュ)状の伝送経路を形成している。データは送信者から網の目状の伝送経路を任意のルートに沿ってジグザグに送信され、最終的に受信者に送られる。比喩的に言えば、データは送信者から受信者までバケツリレー式に転送される。
これまでにメッシュネットワークに関する多くの提案がなされている。例えば、特許文献1乃至5にはメッシュネットワークに関する様々な提案が記載されている。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2019-062544号公報
【文献】特開2019-092142号公報
【文献】特開2019-126087号公報
【文献】特開2019-176361号公報
【文献】特開2019-216445号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1乃至5においては、メッシュネットワークを構成するノードの構造については明記されていないが、一般的には、ノードは固定式のサーバから構成されている。固定式のサーバとは、予め定められた場所に設置され、その場所から移動させることを想定していないサーバを指す。
メッシュネットワークを構築するためには、このようなサーバを多数用意する必要があり、さらに、それらのサーバを設置するスペース(場所)をも確保することが必要である。このため、メッシュネットワーク構築の初期費用は不可避的に膨大なものとなる。
【0005】
さらに、メッシュネットワークを構成する各サーバが消費する電力は小さいものではないため、全サーバが消費する電力量も大きくならざるを得ない。
また、現在のVPNサービスは全世界に散在する数千から数万のVPNサーバで運営されているが、これらのVPNサーバは全て固定式のものである。VPNサーバが固定式であると、固定式であることに起因するセキュリティ脆弱性の問題が不可避的に生じる。
さらに、VPNサービスに使用されるVPNサーバはVPNサービスにのみ使用されるものであるため、VPNサーバの有効活用がなされていない、あるいは、より一般的には、機器リソースが有効利用されていないという問題も生じている。
本発明は、以上のようなメッシュネットワークを構成する従来のノードにおける問題点並びにVPNサーバの問題点に鑑みてなされたものであり、これらの問題点を同時に解決する技術を提供することを目的とする。
【課題を解決するための手段】
【0006】
上記の従来のノードにおける問題点は、一例として、ノードをVPN(Virtual Private Network)用のサーバから構成することにより解決することが可能である。
VPNとは、インターネットに跨がってプライベートネットワークを拡張する技術、あるいは、拡張されたプライベートネットワークそれ自体を指す。VPNによって、イントラネットに代表されるプライベートネットワークが本来は公的なネットワークであるはずのインターネット上に乗ったような状況になり、プライベートネットワークが他のプライベートネットワークと専用伝達経路で接続されているかのような状況が実現される。利用者は機能的にもセキュリティ的にも格段に質が向上した通信を実行することが可能になる。
【0007】
しかしながら、多数のVPN用のサーバ(以後、「VPNサーバ」と呼ぶ)を用意し、それらをそれぞれ異なる所定の場所に設置するとなると、従来の固定式サーバと同様の問題点が生じることになる。このため、本発明は、日常生活において普通に使用されている無線通信機器(典型的な例としては、スマートフォンやフューチャーフォンと呼ばれる携帯式電話装置)をVPNサーバとして使用することを可能にし、従来技術における問題点を解決するものである。
さらには、VPNサーバにより構築される通信経路をメッシュネットワークとして形成することにより、通信時のセキュリティを格段に向上させることが可能になる。
具体的には、本発明は以下のメッシュネットワークシステム、メッシュネットワークシステムを構成するアクセスポイントとしてのノード、メッシュネットワークシステムにおけるノード間の通信方法及びノードに装填されるプログラムを提供する。
【0008】
具体的には、本発明は、第一の態様として、それぞれが無線VPN通信機能を有する機器からなり、予め登録されたL(Lは2以上の自然数)個の中継ノードと、データベースと、を少なくとも含み、前記中継ノードを介して送信者側ノードから受信者側ノードへの通信を行うメッシュネットワークシステムにおいて、前記中継ノードは、オンラインになるときにはオンラインステータスに関する情報を、オフラインになるときにはオフラインステータスに関する情報を前記データベースに書き込み、前記送信者側ノードが前記中継ノードを介して前記受信者側ノードに対して通信を行うときには、前記送信者側ノードは前記データベースにアクセスし、オンラインになっている前記中継ノードの中からN(Nは2以上の自然数)個の中継ノードを検索し、前記送信者側ノードは、前記N個の中継ノードの中の任意の1個の中継ノードにアクセスし、アクセスした中継ノードがビジーである場合には、残りの(N-1)個の中継ノードの中から任意の1個の中継ノードにアクセスする過程を繰り返し、ビジーではない1個の中継ノードを第一の中継ノードとして選択し、前記送信者側ノードと前記第一の中継ノードとの間の通信経路を確立し、前記第一の中継ノードが前記送信者側ノードが第一の通信先としての前記第一の中継ノードを決定した手順と同様の手順に従って第二の中継ノードを決定し、前記第二の中継ノードとの間に通信経路を確立し、前記第一の中継ノードは前記送信者側ノードから送信されてきた情報を含む、自身に蓄積されている情報を前記第二の中継ノードに送信し、以後、第M(Mは2以上の自然数)の中継ノードが前記第一乃至第(M-1)の中継ノードを除く他の任意の中継ノードに対して上記の手順を実行することを繰り返すことにより第(M+1)の中継ノードを決定し、前記第(M+1)の中継ノードとの間に通信経路を確立し、前記第Mの中継ノードは、自身に蓄積されている情報と、これまでに決定された通信経路内に存在する第一乃至第(M-1)の中継ノードに蓄積されている情報とを前記第(M+1)の中継ノードに送信し、自身が最終ノードであるか否かを判定する最終ノード判定ロジックに基づいて、直前の中継ノードから伝達された情報により、自身が最終ノードであると認識した中継ノードが前記受信者側ノードにアクセスし、前記中継ノードはVPNサーバとして機能するメッシュネットワークシステムを提供する。
【0009】
本発明に係るメッシュネットワークシステムにおいては、前記送信者側ノードは、前記N個の中継ノードが全てビジーである場合には、これらの中継ノードを除いた他の中継ノードに対して同様のプロセスを実施することが好ましい。
本発明に係るメッシュネットワークシステムにおいては、前記中継ノードはリアルタイムに移動している無線通信機器からなるものであることが好ましい。
本発明に係るメッシュネットワークシステムにおいては、前記中継ノードは携帯式電話装置からなるものであることが好ましい。
本発明に係るメッシュネットワークシステムにおいては、前記中継ノードはIoT機器からなるものであることが好ましい。
本発明に係るメッシュネットワークシステムにおいては、前記データベースはブロックチェーンからなるものであることが好ましい。
【0010】
本発明は、第二の態様として、それぞれが無線VPN通信機能を有する機器からなる複数個の中継ノードと、データベースと、を少なくとも含み、前記中継ノードを介して送信者側ノードから受信者側ノードへの通信を行うメッシュネットワークにおいて、前記中継ノードをVPNサーバとして機能させる方法であって、前記中継ノードは、オンラインになるときにはオンラインステータスに関する情報を、オフラインになるときにはオフラインステータスに関する情報を前記データベースに書き込む第一過程と、前記送信者側ノードが前記中継ノードを介して前記受信者側ノードに対して通信を行うときには、前記送信者側ノードは前記データベースにアクセスし、オンラインになっている前記中継ノードからN(Nは2以上の自然数)個の中継ノードを検索する第二過程と、前記送信者側ノードは、前記N個の中継ノードの中の任意の1個の中継ノードにアクセスし、アクセスした中継ノードがビジーである場合には、残りの(N-1)個の中継ノードの中から任意の1個の中継ノードにアクセスする過程を繰り返し、ビジーではない1個の中継ノードを第一の中継ノードとして選択し、前記送信者側ノードと前記第一の中継ノードとの間の通信経路を確立する第三過程と、
前記第一の中継ノードが前記送信者側ノードが第一の通信先としての前記第一の中継ノードを決定した手順と同様の手順に従って第二の中継ノードを決定し、前記第一の中継ノードと前記第二の中継ノードとの間に通信経路を確立する第四過程と、前記第一の中継ノードが前記送信者側ノードから送信されてきた情報を含む、自身に蓄積されている情報を前記第二の中継ノードに送信する第五過程と、以後、第M(Mは2以上の自然数)の中継ノードが前記第一乃至第(M-1)の中継ノードを除く他の任意の中継ノードに対して上記の手順を実行することを繰り返すことにより第(M+1)の中継ノードを決定し、前記第(M+1)の中継ノードとの間に通信経路を確立する第六過程と、前記第Mの中継ノードは、自身に蓄積されている情報と、これまでに決定された通信経路内に存在する第一乃至第(M-1)の中継ノードに蓄積されている情報とを前記第(M+1)の中継ノードに送信する第七過程と、自身が最終ノードであるか否かを判定する最終ノード判定ロジックに基づいて、直前の中継ノードから伝達された情報により、自身が最終ノードであると認識した中継ノードが前記受信者側ノードにアクセスする第八過程と、からなる方法を提供する。
【0011】
本発明に係る方法においては、前記第三過程において、前記N個の中継ノードが全てビジーである場合には、これらの中継ノードを除いた他の中継ノードに対して前記第二過程及び前記第三過程を実施することが好ましい。
本発明に係る方法においては、前記中継ノードはリアルタイムに移動している無線通信機器からなるものであることが好ましい。
本発明に係る方法においては、前記中継ノードは携帯式電話装置からなるものであることが好ましい。
本発明に係る方法においては、前記中継ノードはIoT機器からなるものであることが好ましい。
【0012】
本発明は、第三の態様として、それぞれが無線VPN通信機能を有する機器からなる複数個の中継ノードと、データベースと、を少なくとも含み、前記中継ノードを介して送信者側ノードから受信者側ノードへの通信を行うメッシュネットワークにおける前記中継ノードであって、前記中継ノードは、自らがオンラインになるときにはオンラインステータスに関する情報を、オフラインになるときにはオフラインステータスに関する情報を前記データベースに書き込む第一手段と、第二手段と、第三手段と、を備えており、前記第二手段は、前記送信者側ノードが前記中継ノードを介して前記受信者側ノードに対して通信を行うときには、前記送信者側ノードは前記データベースにアクセスし、オンラインになっている前記中継ノードからN(Nは2以上の自然数)個の中継ノードを検索し、その後に、前記N個の中継ノードの中の任意の1個の中継ノードにアクセスし、アクセスした中継ノードがビジーである場合には、残りの(N-1)個の中継ノードの中から任意の1個の中継ノードにアクセスする過程を繰り返し、ビジーではない1個の中継ノードを第一の中継ノードとして選択した後に、前記第一の中継ノードとして前記送信者側ノードとの間に通信経路を確立し、前記第一の中継ノードが前記送信者側ノードが第一の通信先としての前記第一の中継ノードを決定した手順と同様の手順に従って第二の中継ノードを決定し、前記第一の中継ノードと前記第二の中継ノードとの間に通信経路を確立し、前記第一の中継ノードの前記第三手段は、前記第一の中継ノードと前記第二の中継ノードとの間に通信経路が確立された後に、前記送信者側ノードから送信されてきた情報を含む、自身に蓄積されている情報を前記第二の中継ノードに送信し、第M(Mは2以上の自然数)の中継ノードの前記第二手段は、直前の第(M-1)の中継ノードとの間に通信経路が確立された後に、前記第一乃至第(M-1)の中継ノードを除く他の任意の中継ノードに対して上記の手順を実行することを繰り返すことにより第(M+1)の中継ノードを決定し、前記第(M+1)の中継ノードとの間に通信経路を確立し、前記第Mの中継ノードの前記第三手段は、前記第Mの中継ノードと前記第(M+1)の中継ノードとの間に通信経路が確立された後に、前記第Mの中継ノードに蓄積されている情報と、これまでに決定された通信経路内に存在する第一乃至第(M-1)の中継ノードに蓄積されている情報とを前記第(M+1)の中継ノードに送信し、自身が最終ノードであるか否かを判定する最終ノード判定ロジックに基づいて、直前の中継ノードから伝達された情報により、自身が最終ノードであると認識した中継ノードの前記第二手段が前記受信者側ノードにアクセスし、前記受信者側ノードとの間に通信経路を確立し、前記中継ノードはVPNサーバとして機能する中継ノードを提供する。
【0013】
本発明に係る中継ノードはリアルタイムに移動している無線通信機器からなるものであることが好ましい。
本発明に係る前記中継ノードは携帯式電話装置からなるものであることが好ましい。
本発明に係る前記中継ノードはIoT機器からなるものであることが好ましい。
【0014】
本発明は、第四の態様として、それぞれが無線VPN通信機能を有する機器からなる複数個の中継ノードと、データベースと、を少なくとも含み、前記中継ノードを介して送信者側ノードと受信者側ノードとの間の通信を行うメッシュネットワークにおいて、前記中継ノードに内蔵され、前記中継ノードをVPNサーバとして機能させるプログラムであって、前記プログラムは、前記中継ノードがオンラインになるときにはオンラインステータスに関する情報を、オフラインになるときにはオフラインステータスに関する情報を前記データベースに書き込む第一の処理と、前記送信者側ノードが前記中継ノードを介して前記受信者側ノードに対して通信を行うときには、前記送信者側ノードは、前記データベースにアクセスし、オンラインになっている前記中継ノードからN(Nは2以上の自然数)個の中継ノードを検索し、前記N個の中継ノードの中の任意の1個の中継ノードにアクセスし、アクセスした中継ノードがビジーである場合には、残りの(N-1)個の中継ノードの中から任意の1個の中継ノードにアクセスする過程を繰り返し、ビジーではない1個の中継ノードを第一の中継ノードとして選択するものであり、前記第一の中継ノードになった中継ノードが前記送信者側ノードとの間に通信経路を確立する第二の処理と、前記第一の中継ノードとなった中継ノードが前記送信者側ノードが第一の通信先としての前記第一の中継ノードを決定した手順と同様の手順に従って第二の中継ノードを決定し、前記第一の中継ノードと前記第二の中継ノードとの間に通信経路を確立する第三の処理と、前記第一の中継ノードが前記送信者側ノードから送信されてきた情報を含む、自身に蓄積されている情報を前記第二の中継ノードに送信する第四の処理と、以後、第M(Mは2以上の自然数)の中継ノードが前記第一乃至第(M-1)の中継ノードを除く他の任意の中継ノードに対して上記の手順を実行することを繰り返すことにより第(M+1)の中継ノードを決定し、前記第(M+1)の中継ノードとの間に通信経路を確立する第五の処理と、前記第Mの中継ノードとなった中継ノードは、自身に蓄積されている情報と、これまでに決定された通信経路内に存在する第一乃至第(M-1)の中継ノードに蓄積されている情報とを前記第(M+1)の中継ノードに送信する第六の処理と、自身が最終ノードであるか否かを判定する最終ノード判定ロジックに基づいて、直前の中継ノードから伝達された情報により、自身が最終ノードであると認識した中継ノードが前記受信者側ノードにアクセスする第七の処理と、を前記中継ノードに実行させるものであるプログラムを提供する。
【発明の効果】
【0015】
本発明によれば、メッシュネットワークシステムを構成する各中継ノードはVPNサーバとして機能することが可能になる。このため、各中継ノードを固定式サーバで構成していた従来のシステムの欠点を補うことができる。
また、従来は、VPNサービスにのみ使用されていたVPNサーバに代えて、日常生活において普通に使用されている携帯式電話装置を中継ノードとして使用することが可能であるので、高価な既存のVPNサーバは不要になり、大きなコストパフォーマンスを実現することができるとともに、VPNサーバなどの機器リソースの有効活用を実現することができる。
【0016】
それと同時に、VPNサーバとして機能する複数個の中継ノードが構築する通信経路をメッシュネットワークとして形成することにより、通信セキュリティを格段に向上させることができる。
さらに、例えば、中継ノードをIoT機器から構成することにより、構築されたVPNメッシュネットワークシステムはセキュリティ機能を格段に向上させることができるとともに、機器リソースの有効活用を促進することができる。
【図面の簡単な説明】
【0017】
図1】本発明の一実施形態に係るメッシュネットワークシステムの概念図である。
図2】送信者側ノードとデータベース、中継ノードとの間の交信状態を示す概念図である。
図3図1に示したメッシュネットワークシステムの動作を示すフローチャートである。
図4】携帯式電話装置の構造の一例を示すブロック図である。
【発明を実施するための形態】
【0018】
図1は本発明の一実施形態に係るメッシュネットワークシステム100の概念図である。
図1に示すように、本実施形態に係るメッシュネットワークシステム100は、L(Lは2以上の自然数)個の中継ノード110と、1個のデータベース120とを少なくとも備えている。
メッシュネットワークシステム100においては、L個の中継ノード110から選択された任意のT(Tは自然数。T≦L)個の中継ノード110を介して送信者側ノード200から受信者側ノード300への通信が行われる。これらT個の中継ノード110が送信者側ノード200から受信者側ノード300までの通信経路を構成し、この通信経路は送信者側ノード200と受信者側ノード300との間の通信毎に異なる経路として形成される。
【0019】
各中継ノード110は無線通信機能を有する機器から構成されており、無線による送信及び受信を行うことができる。L個の中継ノード110はメッシュネットワークシステム100に使用するものとして予め登録されたものである。
データベース120はL個の中継ノード110の各々、送信者側ノード200及び受信者側ノード300と接続されており(図1においては、図が煩雑になることを避けるために、データベース120は一部の中継ノード110との接続のみが図示されている)、中継ノード110、送信者側ノード200及び受信者側ノード300はデータベース120にデータを書き込むことができるとともに、データベース120から必要なデータを読み出すことも可能である。
【0020】
図2は送信者側ノード200とデータベース120及び各中継ノード110との間の交信状態を示す概念図であり、図3は本実施形態に係るメッシュネットワークシステム100の動作を示すフローチャートである。以下、図1乃至図3を参照してメッシュネットワークシステム100の動作を説明する。
以下の説明においては、送信者側ノード200から結果的に8個の中継ノード1101、1102、1103、・・・、1108を経由して受信者側ノード300に対して通信が実行された場合を想定する。
後述するように、本実施形態に係るメッシュネットワークシステム100においては、各中継ノード110はVPNサーバとして機能する。
L個の中継ノード110の各々(図2の矢印250Aを参照。図2においては、後述する第一の中継ノード1101のみについて記載)、送信者側ノード200(図2の矢印250Bを参照)及び受信者側ノード300(図2の矢印250Cを参照)は自身がオンラインになるとオンラインステータスに関する情報をデータベース120に書き込む(図3のステップS110)。
【0021】
オンラインステータスに関する情報には以下の情報が含まれる。
(1)ステータスがオン(ON)であること。
(2)自身の現在位置がある地域名。この地域名には国名と都市名とが少なくとも含まれる。
(3)自身のID。このIDは公開鍵と同一のものである。
(4)ステータスがオンになったときのGMT時間(グリニッジ平均時:Greenwich Mean Time)。
(5)自身のVPNマップアドレス。このVPNマップアドレスは後に所定の関数に従ってIPアドレスに変換される。
(6)N番から(N+M)番までのポート番号(N及びMはともに自然数)。
(7)利用するVPNプロトコル。VPNプロトコルとしては、例えば、IKEv2を用いることができる。
(8)ネットワーク速度(Mbps)
(9)認証情報。この認証情報は必要に応じて認証を行う場合にのみ要求される。
【0022】
また、各中継ノード110は自身がオフラインになると、あるいは、通信速度が予め定められた通信速度よりも小さくなったときには、オフラインステータスに関する情報をデータベース120に書き込む(ステップS110)。
オフラインステータスに関する情報には以下の情報が含まれる。
(1)ステータスがオフ(OFF)であること。
(2)自身のID(公開鍵)。
(3)ステータスがオフになったときのGMT時間。
(4)自身のVPNマップアドレス(IPアドレス)。
【0023】
送信者側ノード200が受信者側ノード300と通信を行う場合には、送信者側ノード200は、先ず、データベース120にアクセスし(図2の矢印250B及び図3のステップS120)、ステータスがオンラインになっている中継ノード110の中から条件に合ったN(Nは2以上の自然数)個の中継ノード110を選択する(ステップS130)。選択されたN個の中継ノード110はデータベース120から送信者側ノード200に送信される(図2の矢印250D)。
選択後にステータスがオフラインになっていなければ、送信者側ノード200はN個の中継ノード110からランダムに選択した1個の中継ノード110にアクセスする(ステップS140)。
アクセスした中継ノード110がビジーでなければ(ステップS150のNO)、この中継ノード110を第一の通信先(第一の中継ノード)である中継ノード1101として決定し(ステップS160)、送信者側ノード200と中継ノード1101との間の通信経路を確立する(図2の矢印250E及び図3のステップS180)。
【0024】
アクセスした中継ノード110がビジーである場合(ステップS150のYES)には、残りの(N-1)個の中から1個の中継ノード110をランダムに選択し、この中継ノード110にアクセスし(ステップS170)、この中継ノード110がビジーであるか否かを判定する(ステップS150)。
N個の中継ノード110の全てがビジーである場合には、送信者側ノード200はこれらN個の中継ノード110を排除した状態で残りの中継ノード110からN個の中継ノード110を再び選び出し、上記のプロセス(ステップS150-S170)を繰り返し実行し、ビジーでない中継ノード110を選び出し、この中継ノード110を第一の通信先(第一の中継ノード)の中継ノード1101として決定し(ステップS160)、中継ノード1101との間の通信経路を確立する(図2の矢印250E及び図3のステップS180)。
【0025】
各中継ノード110には、自身が最終ノードであるか否かを判定する最終ノード判定ロジックが内蔵されており、通信経路を構成する中継ノードとして決定された各中継ノード110は自身に蓄積されている情報と直前の中継ノードから引き継がれた情報とを用いて最終ノード判定ロジックに基づいて自身が最終ノードであるか否かを判定する(ステップS190)。
最終ノード判定ロジックに基づく判定、すなわち、ある中継ノードが最終ノードに該当するか否かの判定は、例えば、次のようにして行われる。
【0026】
(A)その中継ノードに到達するまでに通信経路を構築している中継ノードの個数がK(Kは1以上の自然数)に達しているとき。
この場合、しきい値であるKは定数と変数の何れにも設定することができる。
Kを定数とする場合には、Kは通信のセキュリティを保証できるほどに十分に大きい数が選定される。Kの値の決定方法の一例を挙げると、本メッシュネットワークシステムを試験的に運用し、その運用結果に基づいて、例えば、通信速度、ジオロケーション情報、送信者側ノード200から受信者側ノード300までの距離などの各種パラメータに応じて、適切な値が選定される。なお、ジオロケーション (Geolocation) 情報(現在位置を示す情報)は送信者側ノード200、各中継ノード110及び受信者側ノード300がデータベース120に登録する情報に含まれている。
Kを変数とする場合には、通信環境が変化した場合、一定の時間が経過した場合などに、上記の各種パラメータに応じて、そのつど適切な数が選定される。
【0027】
(B)通信経路の構築開始からその中継ノードに到達するまでに要している時間が所定の時間Tに到達しているとき。
上記のしきい値Kと同様に、時間Tも一定値と可変値の何れにも設定することが可能である。
第一の中継ノードとして決定された中継ノード1101は最終ノード判定ロジックに基づいて自身が最終ノードであるか否かの判定を行う(ステップS190)。
自身が最終ノードであると判定した場合には(ステップS190のYES)、後述するように、受信者側ノード300にアクセスを行う(ステップS280)。
【0028】
自身が最終ノードではないと判定した場合には(ステップS190のNO)、中継ノード1101は送信者側ノード200と中継ノード1101との間で行われた交渉を任意に選択された中継ノード110に対して実行する(図2の矢印250F及び図3のステップS200)。
中継ノード1101は、送信者側ノード200が第一の通信先としての中継ノード1101を決定した手順と同様の手順に従って、第二の通信先としての中継ノード1102を決定する(ステップS210)。
第二の通信先としての中継ノード1102が決定すると、第一の通信先としての中継ノード1101は自身に蓄積されているノード情報(送信者側ノード200から送られてきた情報を含む)を中継ノード1102に送信する(図2の矢印250F及び図3のステップS220)。
【0029】
次いで、中継ノード1102は、中継ノード1101の場合と同様に、自身が最終ノードであるか否かを判定する(ステップS230)。
中継ノード1102が最終ノードでない場合には(ステップS230のNO)、以後、中継ノード1102乃至1107は、既に通信経路として決定されている中継ノードを除く任意の中継ノードに対してそれぞれ上記と同様の交渉を行い(ステップS240)、それぞれ中継ノード1103乃至1108を決定し、中継ノード1103乃至1108との間に通信経路を確立する(図2の矢印250G及び図3のステップS250)。
中継ノード1103乃至1108が決定すると、一つ前の中継ノード1102乃至1107は、中継ノード1101が中継ノード1102に対して実施したのと同様に、自身に蓄積されているノード情報(これまでに決定された通信経路内に存在する全ての中継ノードにそれぞれ蓄積されている全ノード情報が含まれている)を次の中継ノード1103乃至1108に送信する(図2の矢印250G及び図3のステップS260)。
【0030】
次いで、次の通信先となった中継ノードは最終ノード判定ロジックに従って自身が最終ノードであるか否かを判定する(ステップS270)。
最終ノードではないと判定された場合には(ステップS270のNO)、次の通信先を探すプロセスが繰り返される(ステップS240-S260)。
自身が最終ノードであると判定された場合には(ステップS270のYES)、次の通信先を探すプロセスは終了し、以下に述べるように、受信者側ノード300に対するアクセスが実施される(ステップS280)。
【0031】
例えば、中継ノード1108が、中継ノード1101乃至1007に蓄積され、中継ノード1108に送信されてきた情報と最終ノード判定ロジックに基づいて、自身が最終の中継ノード110であることを認識した場合を想定する。この場合、最後の中継ノードである中継ノード1108は受信者側ノード300にアクセスし、受信者側ノード300との間に通信経路を確立する(図2の矢印250H及び図3のステップS290)。
例えば、受信者側ノード300がウェブサイトなどの外部サーバである場合には、中継ノード1108は一般のインターネットにアクセスし(ステップS280)、その外部サーバの規定ポートを介して受信者側ノード300との間に通信経路を確立し(ステップS290)、通信を開始する。
【0032】
あるいは、中継ノード1108はインターネットにアクセスすることに代えて、P2P(Peer to Peer)アクセスを行うことも可能である(ステップS280)。ただし、P2Pアクセスを行う場合には、送信者側ノード200及び受信者側ノード300の双方にP2Pアクセス用の同一のアプリケーションがともにインストールされていることが必要になる。
このように中継ノード1108と受信者側ノード300とがP2Pで接続された場合には、全経路、すなわち、送信者側ノード200から中継ノード1101乃至1008を経由する受信者側ノード300までの経路はVPN接続になる。
以上のようにして、任意に決定された中継ノード1101乃至1108により構成される通信経路を介して送信者側ノード200と受信者側ノード300とが接続される。
【0033】
送信者側ノード200が受信者側ノード300と通信を行う場合には、一般的には、両者間でネゴシエーションが実施されるが、以下に示すように、ネゴシエーションが実施されないこともある。
送信者側ノード200が受信者側ノード300と通信を行う場合には、ネゴシエーションの実施の有無が判断される(ステップS300)。
ネゴシエーションを行う場合(ステップS300のYES)には、送信者側ノード200が所定のポート番号のポートに接続し、そのポートをモニターする受信者側ノード300がそのデーモンプロセスによって予め定められた範囲内のポート番号Nをランダムに決定する。決定されたポート番号Nは受信者側ノード300から送信者側ノード200に送信される(ステップS310)。
【0034】
送信者側ノード200は予め定められた有効時間内にポート番号Nのポートにアクセスし、ポート番号Nのポートを介して受信者側ノード300との間に通信経路を確立し、通信を開始することが可能になる(ステップS320)。
この場合、必要に応じて、セキュリティ向上のために認証プロトコルを利用し、送信者側ノード200が受信者側ノード300に対して認証プロセスを実施することも可能である。
例えば、所定のポートを定められない場合、あるいは、最初にアクセスするポートをランダムにしたい場合には、ネゴシエーションを行わない(ステップS300のNO)。
ネゴシエーションを行わない場合には、送信者側ノード200はNから(N+M)までの(M+1)個(N、Mはともに自然数)の予め定められたポート番号の中からランダムに選択したポートに通信を試みる(ステップS330)。そのポートがビジーである場合には、他のポートをランダムに選択し、再度の通信を試みる。
【0035】
受信者側ノード300はNから(N+M)までのポート番号の全てのポートにデーモンプロセスを実行する(ステップS340)。このため、送信者側ノード200と受信者側ノード300とが共通にアクセスしたポート番号において送信者側ノード200は受信者側ノード300との間に通信経路を確立することができ、送信者側ノード200は受信者側ノード300との間で通信を開始することが可能になる(ステップS320)。
この場合も、必要に応じて、認証プロトコルを利用し、認証プロセスを実施することも可能である。
本実施形態に係るメッシュネットワークシステム100においては、各中継ノード110は上述のプロセスを経ることによりVPNサーバとして機能することが可能である。各中継ノード110がVPNサーバとして機能することにより、各中継ノードを固定式サーバで構成していた従来のシステムの欠点を補うことができる。
【0036】
本実施形態に係るメッシュネットワークシステム100は上記の構造に限定されるものではなく、種々の改変を施すことが可能である。
上述の実施形態における中継ノード1101から1108までのルート及び通過する中継ノード110の個数は上記の例には限定されない。通過する中継ノード110の個数は状況に応じて最適の数が決定され、さらに、複数個の中継ノード110を経由する送信者側ノード200から受信者側ノード300までのルートも状況に応じて最適のルートが決定される。
また、例えば、データベース120としては、データの保存及び読み出しが可能な手段であれば、どのような手段をも使用することが可能である。データの非改竄性やセキュリティの頑健性を考慮すれば、データベース120をブロックチェーンとして構成することが最も好ましい。特に、データをブロックチェーンに分散して保持することにより、データ保護の強度を向上させることができる。
【0037】
また、メッシュネットワークシステム100における各中継ノード110は無線通信が可能な機器であれば、どのような機器をも中継ノード110として使用することが可能である。例えば、家庭や企業に設置されたパーソナルコンピュータを中継ノード110として使用することも可能であるが、中継ノード110を携帯式電話装置(いわゆるスマートフォン)として構成することが好ましく、さらには、無線通信機能を有するIoT機器(IoT機器はスマートフォンを含む概念である)として構成することが最も好ましい。
携帯式電話装置は、所定の位置に設置されている固定式のサーバとは異なり、リアルタイムに移動している。携帯式電話装置は日常生活において全世界の人々によって普通に用いられているものであり、全世界では数億台の携帯式電話装置が存在している。これらの携帯式電話装置のうち、中継ノードとしての機能を提供することに同意した人々の携帯式電話装置を中継ノード110として使用することにより、数千万台から数億台の携帯式電話装置が中継ノード110として稼働することになり、共有メモリ型超並列計算機が仮想的に構成されることとなる。
【0038】
図4は携帯式電話装置の構造の一例を示すブロック図である。
携帯式電話装置400は、例えば、通信部410と、制御部420と、メモリ430と、入出力部440と、アンテナ450と、各部位に電力を供給するバッテリ(図示せず)と、を備えている。
通信部410はアンテナ450に接続されており、アンテナ450を介して、他の携帯式電話装置と無線通信によるデータの送信及び受信を行う。
通信部410は、無線受信部411と、無線送信部412と、切り替えスイッチ413と、を備えている。
無線受信部411は他の携帯式電話装置から受信したデータを復調し、制御部420に送る。無線送信部412は、制御部420から出力されたデータを変調し、アンテナ450を介して、他の携帯式電話装置に送信する。切り替えスイッチ413は制御部420からの信号を受信し、その信号に応じて、送信及び受信の切り替えを実施する。
【0039】
制御部420は、中央処理装置(CPU: Central Processing Unit)421と、ROMからなる第一メモリ422と、RAMからなる第二メモリ423と、制御部420に入力された各種命令及びデータを中央処理装置421に転送するための入力インターフェイス424と、中央処理装置421により実行された処理結果を外部に出力する出力インターフェイス425と、中央処理装置421と第一メモリ422、第二メモリ423、入力インターフェイス424及び出力インターフェイス425とを接続するバス426と、から構成されている。
第一メモリ422は中央処理装置421が実行する各種の制御用プログラムその他書き換え不能なデータを格納している。
第二メモリ423は様々なデータ及びパラメータを記憶しているとともに、中央処理装置421に対する作動領域を提供する、すなわち、中央処理装置421が各種の制御用プログラムを実行する上で一時的に必要とされるデータを格納している。
【0040】
中央処理装置421は第一メモリ422からプログラムを読み出し、そのプログラムを実行する。すなわち、中央処理装置421は第一メモリ422に格納されているプログラムに従って作動する。本実施形態においては、第一メモリ422には、図3に示したプロセス、すなわち、各中継ノード110がVPNサーバとして機能するためのプロセスを実行するためのプログラムが格納されており、中央処理装置421はこのプログラムに従って図3に示した方法を実行する。
入出力部440は、操作部441と、ディスプレイ442と、スピーカ443と、から構成されている。
操作部441は、例えば、テンキーからなり、各種データは操作部441を介して携帯式電話装置400に入力される。
【0041】
ディスプレイ442は、例えば、液晶ディスプレイからなり、制御部420が行った演算の結果やその他のデータを画面に表示する。
他の携帯式電話装置から送信されてきた音声データはスピーカ443を通して出力される。
メモリ430は制御部420に対する外部メモリである。制御部420が行った演算の結果やその他のデータはメモリ430に記憶される。
図1に示したメッシュネットワークシステム100における動作と上記の携帯式電話装置400の各構成要素との対応関係は以下の通りである。
通信部410、特に、無線送信部412がオンラインステータスに関する情報及びオフラインステータスに関する情報をデータベース120に書き込む手段(第一手段)として機能する。
【0042】
また、通信部410及び制御部420が各中継ノード110の間、及び、各中継ノード110と送信者側ノード200及び受信者側ノード300との間に通信経路を確立する手段(第二手段)として機能する。
通信部410及び制御部420は、各中継ノード110に対して、または、送信者側ノード200または受信者側ノード300に対して各種データを送信する手段(第三手段)として機能する。
さらに、制御部420は、各中継ノード110が最終ノードであるか否かを判定する最終ノード判定ロジックを実行する手段(第二手段)として機能する。
各中継ノード110を携帯式電話装置400として構成することにより、種々の利点を得ることができる。
【0043】
メッシュネットワークシステム100を構成する携帯式電話装置400として使用可能な携帯式電話装置は、常時接続されている全世界の携帯式電話装置、あるいは、一時的にWiFiに接続された携帯式電話装置である。これら全ての携帯式電話装置がVPNサーバとして機能することになるため、本来のVPNサーバは不要となり、この点だけを見ても圧倒的なコストパフォーマンスが実現される。
例えば、現在のVPNサービスは全世界に散在する数千から数万のVPNサーバで運営されているが、中継ノードをVPNサーバとして機能させることが可能になることによって、それらの高価な既存のVPNサーバは不要になり、大きなコストパフォーマンスを実現することができる。
さらに、例えば、以下に述べるような共有メモリ型大量スレッドにより、さらなる機器リソースの有効利用が見込まれる。
【0044】
以下は、既存のOS(Operating System)上におけるシミュレーションである。
携帯式電話装置400のCPU(例えば、図4の中央処理装置421)上において共有メモリ(MIMD: Mutiple-Instruction-stream, Multiple-Data-stream)型超並列仮想マシン(SMPVM: Super Massively Parallel Virtual Machine)を稼働させる。この場合、CPUはシングルCPUまたはマルチCPUのどちらでもあっても、一台の並列仮想マシン(PVM)を稼働する。超並列仮想マシン(SMPVM)では、1CPUあたり3000から5000程度の軽量プロセス(lwp: light-weight process)の立ち上げを想定している。ただし、軽量プロセスの立ち上げ数は、CPUの能力に応じて、1000から10万程度の範囲内になる。
【0045】
そのための方法としては、既存のMach (Multiple Asynchronously Communication Hosts: 複数非同期通信ホスト)型スレッドを利用する。Mach型スレッドには、例えば、Linux(登録商標)、 Windows、 MacOSなどがある。Mach型スレッドでは同時立ち上げの数が約30から50程度であるので、スレッド一つあたりにつき約100の軽量プロセス (lwp)を稼働させる。
3000/30(または、5000/50)=100
つまり、スレッドが仮想的にCPUとして機能することになる。例えば、Linux(登録商標)などでは、1つのスレッド上に100個のスレッドを稼働させるミドルウェアと言うこともできる。
【0046】
VPNサービスやWebサーバなどのインターネットサービスのほとんどでは、通信のトンネリングやポート80番の取得など、メモリ空間のプロセス間分割や処理のシリアル化が不要となるので、共有メモリ(MIMD)型超並列仮想マシンにより、超並列化による大量スレッドの同時立ち上げが可能となる。
このように、中継ノード110として携帯式電話装置400を用いることにより、数千万台から数億台の携帯式電話装置が一つのマシンとして共有メモリ型超並列計算機を構成することになり、その結果、現在使われているスーパーコンピュータやクラウドも不要になる。
【0047】
特に、高速大容量かつ低遅延の特徴を有する第5世代移動通信システム (5G: 5th Generation)が普及すれば、中継ノード110として携帯式電話装置400を用いることのメリットは増大する。
本実施形態に係るメッシュネットワークシステム100において使用される中継ノード110としての携帯式電話装置400は予め登録されたものに限定される。中継ノード110として使用される携帯式電話装置400を募集する方法としては、例えば、以下のようなものがある。
(1)無線接続時にVPNの中継ノードサーバとしての機能を提供してくれたユーザーに対しては、そのユーザーの本VPN通信アプリケーションの利用料金を割引する(無料にすることを含む)。
【0048】
(2)iphone であればAppStore から、Android系の携帯式電話装置であれば Play Store からVPN通信用のアプリケーションのインストール時にVPNサーバとしての機能提供を行うことをデフォルトの設定にしておき、課金済みのユーザーに対しては中継ノードのVPNサーバ機能の提供を停止する。
(3)ビットコインその他の仮想通貨のマイニングのように、中継ノードのVPNサーバとしての機能の提供を選択してくれたユーザーの携帯式電話装置を通過したビット数に応じて報酬を支払う、あるいは、換金可能なポイントを付与する。
(4)携帯式電話装置メーカーやルータメーカーとライセンス契約を締結し、ネットワーク機器に最初からVPNサーバの機能提供用アプリケーションをインストールしておく。
【0049】
なお、上記の実施形態においては、携帯式電話装置400を例示したが、移動可能な無線通信機器であれば、どのような機器でも使用可能である。例えば、ノート型パソコン、タブレット、ルータなどを携帯式電話装置400の代わりに用いることも可能である。
特に、携帯式電話装置400に代えて、IoT (Internet of Things) 機器を用いることは好ましい。IoT機器には、例えば、インターネットに接続されたテレビその他の家庭電気製品、デジタルカメラ、DVDプレーヤー、ビルディングなどの建物における冷暖房・給湯システム、ガスメーターや電気メーターなどの計測器、各種センサー類、照明システム、医療機器の他に、電車、自動車、ドローンなどの運搬機器などが含まれる。
【0050】
上記の実施形態においては、送信者側ノード200及び受信者側ノード300はそれぞれ単独ノードとして設定されていたが、送信者側ノード200及び受信者側ノード300は単独ノードには限定されない。送信者側ノード200も受信者側ノード300もそれぞれ複数個とすることができる。
例えば、記者会見、各種発表(新製品の発表など)、Eラーニングのような場合には、送信者側ノード200が単独ノード、受信者側ノード300が複数個のノードに設定され、一対多の動画配信が行われる。また、テレワークやリモート会議などの場合には、送信者側ノード200及び受信者側ノード300がともに複数個のノードに設定され、多対多の動画配信が行われる。何れの場合にも、リアルタイムでの配信が要求されるが、本発明の実施形態によれば、配信サーバがボトルネックにならないハイブリッドP2P型のメッシュネットワークが実現されるため、セキュアに動画配信を実施することが可能である。
【産業上の利用可能性】
【0051】
本発明はメッシュネットワークシステムに対して最も有効に適用可能であり、さらに、既存のVPNサービスに対しても有効である。
【符号の説明】
【0052】
100 メッシュネットワークシステム
110 中継ノード
120 データベース
200 送信者側ノード
300 受信者側ノード
400 携帯式電話装置
410 通信部
420 制御部
430 メモリ
440 入出力部
図1
図2
図3
図4