えんどり雑記

IT系の知識が欠落してる人間の学習雑記

RGNでの問題解決方法提案

今回が問題解決方法の提案となります。

 

RGNでは以下の特徴があります。

・ブリッジノードが潰れやすく障害が発生する

・1つ1つのノードがセンサーであるため電波の到達範囲が存在する

 

このことから、自分自身が潰れそうになった場合、

潰れそうになったノードからリンク先のノードに対して、

電波到達範囲拡大を要求します。

 

それにより新たなリンクが発生し、障害が発生しにくくなるネットワークができるはず

と考えました。

 

この方法を行うに当たって考えなくてはならないのは以下の点です。

1.どの程度を潰れそうと判断するか

2.どの程度電波到達範囲を拡大するか

3.元の電波到達範囲に戻して良いか

4.それぞれのスマートフォンを端末と仮定したときに、

       動くことが前提となるがその状況下でもこの方法が効果的と言えるか

 

3は電波範囲拡大により、新しいルートばかり使われるよりは、

元のルートと交互に使えたほうが潰れにくいネットワークができると考えています。

更に、「電波範囲を拡大による消費電力の増加」

「4を考慮した時の無意味なノードでの電波範囲拡大」が考えられますので、

拡大したままは良くないと考えています。

 

次回からは各ネットワークの作成方法をまとめていこうと考えています。

それぞれのネットワークの概要と問題点

それぞれの構造を模式図で見ながら特徴をまとめようと思います。

 

・BA

 

f:id:endRe_Re:20190726133227j:plain

BAモデル

丸で書かれたものがノード、線がリンクを表します。

BAは現実に一番近しいと言われるネットワークです。

ハブノードが存在し一番負荷がかかるため、図で示したオレンジ色のノードが

最初に処理が不可能になり、潰れてしまいます。

その場合、ほとんどのノードはハブノードを介しているため、

ネットワーク全体でほとんど通信が不可能な状態になります。

 

・RN

f:id:endRe_Re:20190726133824j:plain

RNモデル

RNは等しい確率でほぼ均等にリンクを結ぶため、

一番潰れにくいネットワーク構造となります。

繰り返しになりますが、現実ではほぼありえません。

 

RGN

f:id:endRe_Re:20190726133842j:plain

RGNモデル

 RGNでは大きいノード群同士をつなぐノード(ブリッジノード)が存在します。

上の図だとオレンジ色のノードに当たりますが、それが最初に潰れます。

BAとの違いとして左側のノード群同士、右側のノード群同士は

通信を続けることができます。

 

しかし、左右の通信は行えなくなってしまうので、

何かしらの対策を打つ必要が出てきます。

それでは次の記事にて実験の内容になります。

実験対象ネットワーク構造(アドホックネットワーク)

最後に記述するのが、本筋となるネットワーク構造のアドホックネットワークです。

無線センサーで構築されるネットワークの構造モデルとして使用され、

ランダムジオメトリックネットワーク(RGN)と言われます。

 

いままでのネットワークは物理的に繋がることを想定としたネットワークになります。

今回は1つ1つの点が無線端末となりますので、

無線接続を想定したネットワークになります。

 

 

研究中のため、使われている例は戦車同士の連絡でしか知りませんが、

それぞれの点と点がマルチホップで通信を行います。

バケツリレーのようなものです。

 

アドホックネットワークとして説明される時もありますが、

PSP等で使われていたアドホックネットワークは

親機(送信側)と子機(受信側)の関係ですが、

実験対象となるRGNは全てが親機にも子機にもなれる相互の通信ができます。

 

このネットワークの特徴は、大きな端末群と大きな端末群を結ぶ

端末(ブリッジノード)が少数発生します。

現実世界で考えたときに、大陸と大陸を結ぶ橋が1つという状況になります。

この状況で人が行き来した場合に橋がかなり混雑してしまいます。

RGNではブリッジノードでたくさんの通信が集まり、

あまりにも集まるとノードで処理が不可能になります。

 

このような状況を避けるために多くの研究がされていますが、

私も1つの解決手法を考え学生時代に実験を行いました。

 

次回からは、実験の概要、各ネットワーク(BA,RN,RGN)の作成方法、

シミュレーション概要、解決手法を含めたシミュレーション・・・

と進めてまいりたいと思います。

 

 

比較対象ネットワーク構造(ランダムネットワーク)

今回記述する構造はランダムネットワーク(以下RN)になります。

バラバシアルバートモデル(以下BA)より至極簡単で、

構造等に規則性のなくランダムに点と点が繋がっているネットワークになります。

 

現実的にはこれがRNに近いとは私は存じません。

しかし、それぞれの構造でそれぞれの特徴があり、

比較対象としてはいくつか必要なためRNも比較対象とします。

 

はてなキーワードにて用語説明がありましたので、

下記にてリンクを記述します。

http://d.hatena.ne.jp/keyword/%A5%E9%A5%F3%A5%C0%A5%E0%A5%CD%A5%C3%A5%C8%A5%EF%A1%BC%A5%AF

比較対象ネットワーク構造(バラバシアルバートモデル)

まずネットワークの研究をする上で、

それぞれの性質を把握していく必要があります。

今回記述する内容はバラバシアルバートモデル(以下BA)という

複雑ネットワークの種類の内の1つになります。

 

BAは多数のハブが存在し、世間は狭いと感じる所謂「六次の隔たり」という特徴を持つ

社会を一番良く表しているネットワークと言われています。

用語で言うと特徴として3つ存在します。

・スケールフリー性

 1部の点がたくさんの点とつながっていて、

    大多数は少数としかつながっていない状態を指す。

    現実でわかりやすい例は、羽田空港は国内外問わず行き先が多数あるが、

    熊本空港はそれと比べるとかなり少ない行き先しか存在しない。

 

・スモールワールド性

    ネットワークに所属するランダムで選ばれた2点間は、

    僅かな点を介す事で繋がっている状態。

    BAでは大体6点介す事で到達することができるため、

    六次の隔たりとも呼ばれたりする。

 

クラスター性

    直接繋がっている2点の両方に対して、直接繋がる点が存在する状態。

    人間関係で例えるなら、自分と知人で両者を知る存在が大体の場合は存在する事。

    BAではこの係数が高い特徴が存在する。

 

詳しい説明は割愛します。

なぜこのようなネットワーク構造を用いるのかは、

このような特徴が現実のネットワークでも存在しているためになります。

 

引用

・複雑ネットワーク

https://ja.wikipedia.org/wiki/%E8%A4%87%E9%9B%91%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF

思い立ちこれから

結論から書くと、言語知識やIT系知識を勉強しようになります。

題材はネットワークシミュレーションを行い、

ある考えがどれほど良い影響を及ぼすかとなります。

 

以下、まずはここまでに至った経緯を記述します。

 

経緯としては、3つほどあります。

1つ目は学生のときにjavaを使用し、これからの題材としている

ネットワークシュミレーションを研究として行っていました。

その時はLinux上でviエディタのみでコーディングを行い、

膨大なスケールの研究を実行時間と戦いながら進めていました。

その時のスキルには見合わないスケールの大きさだったため、

結果は得られ周りには認められるものでしたが、

私自身としては粒度が粗く満足はしていませんでした。

今は社会人となり、便利な統合開発環境C++を武器にバリバリ働いています。

そこで、今こそjavaと比べたら実行速度が速いC++統合開発環境を使いこなし、

研究の再現、それ以上の成果を得られるのではないかと考えました。

 

2つ目は国語力、文章力の不足です。

IT系で仕事をするしないに問わず、文章が書けない状態や

人に伝えることが苦手だったり齟齬の発生は、

仕事の効率等々に関わると考えています。

そこで文章を書いていく事から始め、自分自身で推敲しその頻度を高めていくことで、

文章が改善されていくのではないかと考えました。

参考書、技術書を参考にしつつ何が違うのかを考えていくと思います。

 

3つ目は技術力や業界の情報収集を兼ねた勉強になります。

GItHub統合開発環境の使用、言語知識の習熟が主になります。

今はC++しかわかりませんがPythonで数学ライブラリを使用したり、

忘れかけているLinuxの知識を取り戻しつつ、

web系を少しやってみたいと考えています。

とあるセミナーでRailsの話を少し聞いたときに興味を持ちました。

 

長くなりましたので、題材については次回にします。