Altair AI Studioのアーキテクチャ
このドキュメントでは、Altair AI Studioのアーキテクチャについて説明します。
アーキテクチャ構成
以下の図は、Altair AI Studioのアーキテクチャの概要を示し、コンポーネントの内部および外部の通信経路も示しています。
アーキテクチャの概要
内部
Altair AI StudioはJavaで書かれたデスクトップアプリケーションです。そのため、そのほとんどが単一のJava仮想マシン (JVM) 内で実行されます。主なコンポーネントは、ユーザーがソフトウェアと対話するためのGUIと、GUIを駆動し、すべての計算を行い、ユーザー定義のプロセスを実行するエンジンです。
GUIはJava Swingで作成され、プロセスエディタのようないくつかのカスタムコンポーネントはJava2Dを介して手動で描画されます。しかし、データの可視化など、より現代的なUIを可能にするために、HTML5のUIコンポーネントをレンダリングする埋め込みChromiumもあります。Chromiumは、外部ソースとの不要な通信を防ぐためにロックダウンされ、代わりにカスタムUIコンポーネントを表示するため、またはAI HubへのSSOログインを容易にするためにのみ使用されます。GUIとChromium間の通信はJNIを介して行われます。エンジンは純粋にJavaで書かれており、GUIの表示に関係しないすべての処理を行います。対話型デシジョンツリーのような一部の機能では、JVMとともにAltair Knowledge Studioエンジンが使用されています。両エンジン間の通信は、localhost:5478のTCPソケット接続を介して行われます。
注意:エクステンションでは、追加のエンジンを使用することができます (例えば、マーケットプレイスのPython Scriptingエクステンションでは、Pythonランタイムを使用することができ、JavaエンジンとPythonランタイムの間のインタフェースを提供します)。Altair AI Studioを閉じると、JVMと他の実行可能ファイルもシャットダウンされます。
GUIもエンジンも、いわゆるエクステンションによって機能を拡張することができます。エクステンションはAltair AI Studioの起動時にロードされます。これらのエクステンションは次の4つのカテゴリーに分類されます。
- バンドル:バンドルはAltair AI Studioの標準インストールに付属しており、常に利用可能です。これらはAltairによって作成され、Altair AI Studioと同様の信頼性と堅牢性の基準に従っています。どのAltair AI Studioのインストールでも常に使用できるため、Altair AI Studioとこのようなエクステンションの区別は技術的なものであり、ユーザーが意識するものではありません。
- サポート:これらのエクステンションは特定の領域に追加機能を提供します。したがって、これらはオプションであり、標準インストールには含まれていません。これらのエクステンションはマーケットプレイスから (Altair AI Studio自体から、またはウェブブラウザから手動で) ダウンロードできます。これらのエクステンションもAltairによって作成および保守されており、Altair AI Studioと同様の信頼性と堅牢性の基準に従っています。
- RM Labs: RM Labsは、通常、よりニッチな機能セットや市場の新たなトピックを扱うエクステンション、または単に現時点でサポートされているエクステンションと同じリソースが提供されていないエクステンションです。言い換えれば、このようなエクステンションにバグがあった場合、それが修正されるためのサポート保証はありませんが、多くの場合、関係なく修正されます。これらもAltairによって作成されますが、Altair AI Studioのような通常の信頼性と堅牢性の基準には (まだ) 従っていない場合があります。最後に注意すべき点が 1 つあります。この傘下には非常に多くのエクステンションがあり、その成熟度や堅牢性はエクステンションごとに大きく異なります。中には、公式にサポートカテゴリーに含まれていないにもかかわらず、非常に高い水準のもの(例えばOperator Toolboxなど)もあります。
- サードパーティ:サードパーティはAltairによって開発されていないエクステンションです。Altair AI StudioのAPIは一般に公開されているため、誰でもエクステンションを作成し、Altair AI Studio内の機能を強化または追加することができます。典型的な例として、特定のトピックを扱う新規オペレータが挙げられます。このようなエクステンションの成熟度や堅牢性はかなり異なるため、エクステンションをいつ、どのように使用するかを意識的に決める必要があります。サードパーティのエクステンションにバグがある場合、Altairではサポートを提供できず、代わりにエクステンションの保守担当者への問い合わせをお願します。
エクステンションはAltair AI Studioと同じJVM内で実行されます。しかし、Altairの内部コード署名証明書 (バンドルおよびサポートされているすべてのエクステンション、一部のRM Labsのエクステンション) を介して署名されていない限り、攻撃ベクトルを減らし、Altair AI Studio自体の悪意のある操作を防ぐため、制限されたアクセス許可で実行され、特定のコードを実行することは禁止されています。これは脆弱性を軽減するのに役立ちますが、完璧な環境でもサンドボックス環境でもないため、Altairはサードパーティのエクステンションの動作に関するセキュリティ保証は一切行っていません!
Altair
Altair AI StudioはデフォルトでいくつかのAltairサービスと通信し、ユーザーに追加サービスを提供するだけでなく、将来の製品改良のためにエラーや使用統計をAltairに返します (ユーザーによるオプトインが必要です)。これらのサービスを以下に示します。
注意:これらすべてのサービスとの通信は、管理者設定によりIT部門が強制的に無効にすることができます
- オペレータ推薦:このサービスは (ユーザーがオプトインした後) 現在使用されているオペレータに関連するオペレータ候補をプロセスエディタの下部に表示します。これは、お気に入りのオンラインショップの「他のお客様も購入」セクションに非常に似たコンセプトとお考えください。
- 使用統計:このサービスは (ユーザーがオプトインした後) エラー情報だけでなく匿名の使用統計 (クリックされたボタン X、使用されたオペレータ Y、可視化されたチャート Z) が返送されるためAltairにとって非常に便利です。これにより、特定の機能の使用頻度や使用方法を確認することや、頻繁に発生する可能性のあるエラーに関する情報を取得することができ、次に取り組むべき機能や設計方法について、より多くの情報に基づいた決定を下すことができます。
- マーケットプレイス:このサービスは前述のエクステンションの取得と更新に使用されます。サポートエクステンション、RM Labsエクステンション、サードパーティエクステンションをここで入手できます。ここからブラウザ経由でアクセスすることもできます。
- Nexus:このサービスはユーザーの操作に応じて、状況を認識した情報やヒントを表示する情報ポップアップを照会するために使用されます。例えば、ユーザーが初めてText Processingエクステンションをインストールすると、右上にフローティングポップアップが表示され、チュートリアルリソースへのリンクが提供されます。
- コミュニティとユースケースリポジトリ:これらは読み取り専用の特別なリポジトリで、オンラインチュートリアルを行う、単に触れてみる、または始める際のアイデアを得るために、多くの実例やデータセットを含んでいます。
ローカル
Altair AI Studioでは、データへのアクセスが必要になることがよくあります。通常、データ上にモデルを構築する場合でも、単に集計されたグラフでデータを確認する場合でも、データに対して何らかの分析を行う必要があります。
必要なデータがローカルコンピュータのディスクに存在しない場合、そのデータにアクセスする必要があります。これはもちろん完全な外部ソース(下記参照)でも、社内データベースシステムやその他のローカルデータストレージのようなローカルデータソースでも可能です。
しかし、多くのお客様にとって、Altair AIスイートの最も重要な部分は、AI StudioとAI Hubを組み合わせた場合の連携機能です。これにより、データ、ワークフロー、結果を簡単に共有することができ、Gitを介してプロジェクトの全コンテンツの履歴を管理することもできます。また、通常より強力なAI Hubのジョブコンテナでプロセスを実行し、ローカルコンピュータのリソースをブロックしない機能も提供します。ローカルのAI Hubに接続するには、そのAI Hubインスタンスとのネットワーク通信が必要です。
外部
Altair AI Studioは、インターネットへのアクセスがゼロのローカルコンピューター上でのみ動作するものから、ラップトップからREST APIを照会し、インターネット経由で他のパブリックまたはプライベートなデータソースにアクセスするものまで、様々な方法で使用することができます。
したがって、AI Studioエンジンは、外部のエンドポイントにHTTPリクエストを送信したり、何らかの方法で他のリモートシステムにアクセスしたりする可能性があります。すべてはユーザーがプロセス内で使用するオペレータとその設定に依存します。
注意:IT部門は特定の機能を制限する必要がある場合、管理者設定によって特定のオペレータの使用をブロックすることができます。
ライセンス
Altair AI Studioでは、ライセンスにAltair Unitsを使用しています。ユニットを描画するには、ほとんどの場合、Altairがホストする管理ユニット用のAltairOneサーバーに接続するか、社内のユニットを提供するローカルライセンスサーバーに接続します。場合に応じて、AI StudioはAltairがホストする管理ユニットサーバーに接続するか、ローカルライセンスサーバーに接続して必要なユニットを描画します。
「ライセンス」を参照してください。
ネットワーク通信
ネットワーク通信の詳細については「ネットワークトラフィックの概要」を参照してください。