2.2. システム構成

Terminal System 2のシステム構成の概要について説明します。

../../_images/overview_architecture.png

図 9 Terminal System 2のシステム構成

ハードウェア

Terminal System 2が利用可能なエッジコンピューターは以下のとおりです。

  • アプトポッド製 EDGEPLANT T1

注釈

Yoctoに対応しているエッジコンピューター(Raspberry PiやJetson開発者キットなど)の場合、カスタム開発対応をすることでTerminal System 2を動作させることが可能です。 詳細は OS開発 を参照してください。

ソフトウェア

Terminal System 2は、systemdでサービス管理を行い、Docker Composeによりアプリケーションを実行します。

systemd

Linuxシステムの起動・停止および管理を行うためのシステム管理デーモンです。 システム起動時に、Docker、Terminal System Core Daemon、Menderクライアントサービスなどを起動します。

Docker Compose

Dockerを使用して複数のコンテナを構築・実行するためのツールです。 Composeファイルにより、複数のDockerコンテナを定義し、それらをまとめて起動したり、停止したりすることができます。

Termininal System 2では、Terminal System Core DaemonがDocker Composeを使用してアプリケーションを実行します。

以下に、主要なソフトウェアについて説明します。

systemd

Terminal System Core Daemon (Core Daemon)

Terminal System 2のシステムを管理するデーモンです。 Docker Composeの操作を行います。また、Core APIからの要求を受けてシステム設定変更などを行います。

Menderクライアント

Menderサーバーと通信し、アップデートの管理やデバイスの状態(イベントリ)の送信を行うデーモンです。

Docker Compose

Terminal System 2は、Docker Composeで以下のプロジェクトを使用します。

system

システム起動時に実行され、サービスとして常駐とするコンテナをまとめたプロジェクトです。

measurement

計測開始時に実行され、計測に使用するコンテナをまとめたプロジェクトです。 詳細については measurementプロジェクト を参照してください。

注釈

カスタマイズにより、任意のDocker Composeプロジェクトを追加することが可能です。 詳細は アプリケーション開発 を参照してください。

以下に、主要なコンテナについて説明します。

systemプロジェクト

Terminal System Core API (Core API)

Terminal System APIを公開するREST APIサーバーです。 ユーザーによるAPIアクセスや、Menderサーバーからのエッジコンピューターの設定変更などで利用されます。

intdash Edge Agent 2 (intdash-agentd)

intdash Edge Agent 2のデーモンとして使用されるプログラムです。遅延アップロード、設定の管理、ローカルでの時系列データの管理を行います。

Terminal Display Client

ディスプレイデバイスと通信するクライアントアプリケーションです。

measurementプロジェクト

デバイスコネクター

外部デバイスとintdash Edge Agent 2との間でデータを送受信し、仲介するソフトウェアです。 アプトポッド製のデバイスコネクターであるdevice-connector-intdashのコンテナを利用することができます。

注釈

カスタマイズにより、任意のデバイスコネクターのコンテナを追加することが可能です。 詳細は アプリケーション開発 を参照してください。

intdash Edge Agent 2 (intdash-edge-streamer)

intdashサーバーとの間でリアルタイムストリーミング送信または受信を行うプログラムです。リアルタイムに送信できなかったデータはintdash-agentdに渡され、遅延アップロードされます。

注釈

intdash Edge Agent 2の詳細は、 intdash Edge Agent 2 デベロッパーガイド を参照してください。