「エッジ」と「フォグ」はどこが違うのか
〔1〕クラウドとの関係
IoT時代を迎えて、IoTシステムをより容易に経済的に構築できる重要な要素として、「エッジコンピューティング」や「フォグコンピューティング」が登場し、その普及が進んでいる。フォグコンピューティングは、表1に示すOpenFogコンソーシアムによって普及・推進が行われている。
表1 OpenFogコンソーシアムのプロフィール(敬称略)
出所 http://www.openfogconsortium.org/などをもとに編集部で作成
両者は、今までなかった新しいコンピューティングの形態であるため、その受け止め方はいろいろである。そこで、最初に両者の違いを整理してみる。
- エッジ(端:現場)は、クラウド(ネットワーク)の末端に位置し、できるだけ現場に近いところでIoTデバイスからデータを取得したり、処理したりすることを念頭にしている。このため、用途ごとにエッジ用に最適化されたプラットフォームやソフトウェアを使用するというイメージである。
- これに対してフォグ(霧)は、基本的にエッジの機能を包含した、より大きなコンセプトであり、クラウドの機能を、よりエッジ(現場)に近いところまで落とす(近づける)ようなイメージである。クラウドとエッジの間に(階層的に)漂う霧のようなイメージである。
このように、エッジ(EDGE)とフォグ(FOG)の関係は、図1に示すように果物(FRUIT)とりんご(APPLE)の関係に似ている。りんごが果物のうちの1つであるように、エッジはフォグのうちの1つであるようなイメージなのである。
図1 フォグコンピューティングはエッジを包含する
出所 今井 俊宏、「フォグコンピューティング」、2017年12月19日
〔2〕フォグは階層的である
図2は、IoT時代を迎えて、クラウドコンピューティング、IoT、エッジ/フォグコンピューティングの位置付けを概略的に示したものである。
図2 クラウド ⇒ IoT ⇒フォグ/エッジの流れ
出所 今井 俊宏、「フォグコンピューティング」、2017年12月19日
(1)のクラウドではヒト(PCやスマホを操作)の情報をクラウドに集めて情報サービスを行うのに対して、(2)IoTではモノ(IoTデバイス)の情報もクラウドに集めて、モノへも情報サービスを行う。(3)のエッジ/フォグコンピューティングでは、クラウドの機能をモノ(多様なIoTデバイス)に近づけて連携させる。
したがって図2(3)の中央部分に示すいくつかの霧状(階層的)に描かれている(後出の図4参照)、フォグの機能(フォグノードと呼ぶ)が、エッジ側(現場側)に置かれれば、エッジとフォグは、ほぼ同等になる。しかし、フォグは、クラウドとエッジの間の広いエリア(空間)に階層的に位置づけられる(設置される)ため、フォグノードは必ずしもエッジに近いところだけに設置されるものではなく、クラウドに近いところにも設置される注1。
〔3〕クラウドとエッジコンピューティングの違い
図3は、クラウドとエッジコンピューティングの違いを示したものであり、図2の(3)に示したエッジコンピューティングについて詳しく説明したものである。
図3 クラウドとエッジコンピューティングの仕組み
出所 今井 俊宏、「フォグコンピューティング」、2017年12月19日
クラウドコンピューティングでは、①クラウドとOT(Operational Technology、現場の運用技術)の関係であったが、エッジコンピューティングでは、②クラウドとOTの間に「エッジ」がOT側に設置された構成である。
〔4〕フォグコンピューティングの仕組み
図4は、フォグコンピューティングの仕組みを示している。図の点線部分に示す網構成(トポロジー)ように、クラウドの下にフォグノードが階層的(ここでは2つの層)に配置され、フォグノードはクラウドのサブセット(一部分)のような機能を果たしている。このように、フォグノードはクラウドに近いところ(クラウドレベルのフォグノード)、あるいはエッジに近いところ(エッジレベルのフォグノード)に階層構成的に配置される場合もある。
図4 フォグコンピューティングの仕組み
OT:Operational Technology、現場の運用技術(制御システムの運用技術)
出所 今井 俊宏、「フォグコンピューティング」、2017年12月19日
このため、フォグノード間の連携や、クラウド機能の一部をフォグノードに搭載し、クラウドとフォグノード間の連携などが行われている。
〔5〕分散協調するフォグノード
通常、センサーなどのIoTデバイスが多数接続されているIoTシステムでは、データ量は大きくないが、ビデオ(例えば監視カメラ)のような大きなデータを処理しようとすると、途端に大きなCPUパワーが必要になる。さらに、エッジに新しくAIソフト(ディープラーニング)などを搭載したりすると、CPUパワーなどの不足のため必ずしもエッジがこれに対応して動作できるとは限らない。
そのため、エッジコンピューティングでは、エッジのハードウェアを置き換えることになる。一方、フォグコンピューティングの場合は、オーケストレーションと管理機能により、フォグノードが分散協調する仕組みをもっているので、例えば1つのフォグノードに、そのようなアプリケーションが搭載できない場合は、新しいフォグノードを横に設置して補完することができる。これによって分散処理させ、ハードウェアを置き換えることなく、既存のプラットフォーム上で新しいソフトやアプリを動かすことができる。
〔6〕フォグノードの基本的な機能
次に、フォグコンピューティンを構成する要素であるフォグノードの基本的な機能を見てみよう。
図4の右側に水色のフォグノードのアイコンを示すが、フォグノードはいくつかのコンポーネントで構成される。コンポーネントは、基本的にネットワーク機能や制御機能のほかに、ストレージ(Storage)機能、コンピューティング機能(Compute)、アクセラレータ機能(Accelerator注2)などが規定されている。
▼ 注1
フォグノード:フォグノードは、クラウドとIoTデバイスの間に設置される。例えば、①クラウドに近い層に設置されるフォグノード、②中間的な層に設置されるフォグノード、③エッジに近い層に設置されるフォグノードというように、階層的に設置され、それぞれの層に最適化された機能をもつフォグノードが配置される(図4参照)。
▼ 注2
アクセラレータ機能(Accelerator):処理能力だけを高めるために、コンピュータに追加して利用するハードウェアやソフトウェアのこと。具体的には、FPGA、GPGPUなどがある。
FPGA:Field Programmable Gate Array、ユーザーが自由にプログラミングできるLSI。書き換え可能なLSI。
GPGPU:General-Purpose Computing on Graphics Processing Units:GPU(画像処理プロセッサ)の演算資源を画像処理以外の目的(汎用計算)に応用する技術のこと。