Vortex OpenSpliceを使用すると、さまざまなオペレーティングシステムやプラットフォーム間でデータを共有および統合できます。これは、OMG DDS最新rev1.4(DCPSプロファイル)とOMG-DDSI / RTPSv2.3相互運用可能なワイヤープロトコル標準の両方の完全な実装を提供します。これは、サーバークラス(デスクトップ、ラックなど)のプラットフォームだけでなく、より専門的なリアルタイムの組み込み環境やオペレーティングシステム(VxWorksを実行するシングルボードコンピュータなど)での使用を対象としています。
Vortex openspliceは、Cyclone DDS、Vortex Link、およびVortexInsightと完全に相互運用可能です。
Vortex OpenSplice製品には、ADLINKが提供する完全なDDS機能セットとツールが含まれています。 さらに、最新の機能の改善、最も効果的なパフォーマンスの強化、最新のバグ修正が含まれています。
Vortex OpenspliceのCommercial Editionは、Vortex OpenSplice Coreと、(商用の既製の)COTSアドオンおよび追加機能で構成されています。 Vortex OpenSplice Coreは、DDSコミュニティとVortex OpenSplice Editionの両方に共通です。
Commercial Editionは、多くのLinuxフレーバーやWindowsプラットフォームから、VxWorksなどのより多くのリアルタイムOSやPikeOSなどのパーティション化されたOSハイパーバイザーに至るまで、幅広いオペレーティングシステムをカバーしています。他のOSはオンデマンドでサポートできます。 Vortex OpenSplice Editionには、アクティブなサポートサブスクリプションまたはADLINK Commercialライセンスが必要です。
コマーシャルソフトウェアアドオン
Vortex OpenSpliceコマーシャルソフトウェアアドオンリストには、電力生産性ツールとサービスのセット、スケーラビリティ、セキュリティ、パフォーマンスを強化する追加機能、および追加の通信パラダイムをサポートする追加APIが含まれています。また、サードパーティテクノロジへのコネクタの完全なセットが付属しています。
アドオンリストには下記が含まれます:
- Tuner Toolは、 サービス品質(QoS)の調整、ホワイトボックステストの実行、およびアプリケーションから見たすべてのDDSデータ、統計、QoSの視覚化に役立ちます。 Tunerは、実行時にDDSエンティティを作成して、DDSデータスペースで公開されているデータを挿入または消費し、サービス品質を調整するのに役立ちます。
- Tester Toolは、ネットワーク全体の規模で、すべてのDDSドメインの計算オブジェクト、データ、QoS、DDS対応アプリケーション、およびDDSアーティファクトを監視できるようにします。Testerを使用すると、簡略化されたスクリプト言語を使用して、一連のユーザー定義スクリプトを介してブラックボックステストを実行することもできます。
- Configurator Tool を使用すると、DDS開発サイクルをシステムの展開サイクルから明確に分離できます。これは、すべてのシステム、ネットワーク、および環境の詳細を収集し、XMLでデプロイメント記述子を生成することによって実現されます。Configuratorツールを使用すると、アプリケーションコードを一度記述すれば、それをどこにでもデプロイできます。
- Launcher Toolは、すべてのツールとユーティリティのコントロールパネル、DDSの最も一般的なアプリケーションパターンのDDS例、APIとツールとデプロイメントチューニングの完全なドキュメントを提供することで、Vortex OpenSplice製品を簡単に使い始めるのに役立ちます。
- Record and Replay Serviceは、 データ普及率、QoS、構成など、同じ、または異なる特性を持つ、興味のあるデータを記録し、後で再生するのに役立つ非侵入型の DDS サービスです。
- Record and Replay Manager は、Record and Replay Serviceの設定と監視を支援するためのグラフィカルなユーザーインターフェイスツールです。
- フェデレーテッドアーキテクチャの導入機能では、スケーラビリティと決定性を高めるために、同じマシン上で実行されているすべてのアプリケーション間でDDSインフラストラクチャをフェデレーションとして共有することができます。一般的に、インメモリデータベースは共有メモリセグメント内に作成され、データは同じマシン上で実行されているすべてのコロケーションされたアプリケーションに代わってバランスツリーに格納されます。このような展開では、ネットワークスケジューラがコロケーションされたアプリケーションのすべてのトラフィックを管理し、データに優先順位をつけ、最も重要で緊急性の高いデータストリームにネットワーク帯域幅を割り当てます。
- 共有メモリモニターツールは、フェデレーション展開シナリオでOpenSpliceが使用する共有メモリデータベースを監視するのに役立ちます。 このツールは、共有メモリの現在の状態や到達したメモリ使用量のピーク、およびその他の多くの有用な統計を監視するのに役立ちます。
- RMI API: ポリモーフィックミドルウェアとして、Vortex OpenSpliceはサービス指向アーキテクチャの要件と同様にデータセントリックの要件をカバーします。アーキテクチャがRequest-Replyタイプのインタラクションや純粋なRPCs (Remote Procedure Call)を必要とする場合、RMI (Remote Method Invocation)は高い抽象度のプログラミングモデルを提供し、開発チームの生産性を向上させるために使用することができます。したがって、データ中心主義の利点を享受しながら、サービス中心主義を利用したアーキテクチャを構築することができます。
- Streams API:アプリケーションが連続的なデータストリームを高周波で生成する場合、データをまとめてバッチングしてI/Oを低くすることで、パフォーマンスとスループットの面で違いが出てきます。ストリームAPIは、任意の独自の拡張からDDSの相互運用性プロトコルを保持する標準的なDCPSインターフェースの上に構築されたレイヤーです。
- Google ProtoBuff データモデリングサポート: プロトコルバッファは、構造化されたデータをシリアル化するためのGoogleの言語ニュートラル、プラットフォームニュートラル、拡張可能なメカニズムです。Vortex OpenSpliceはGPBをサポートしています。
- DDSセキュリティサポート: 機密データの暗号化、DDSアプリケーションの認証、DDSデータのトピックやパーティションへのアクセスを許可することができます。デフォルトの暗号化、認証、アクセス制御プラグインを使用することもできますし、統合されたものを提供することもできます。
- スケーラブルなDurability Serviceは、障害やクラッシュ、切断が発生した場合でもデータの一貫性を保証します。最終的に一貫性のあるデータモデルが常に保証されます。
- Realtime Networking Service Protocol は OMG ddsi プロトコルと完全に相互運用可能なプロトコルであり、決定性とスケーラビリティを向上させるための強化された機能を備えています。静的発見、トラフィックシェーピング、差別化されたサービス機能などの機能が提供されます。
- Database Connectorsは、リアルタイムのDDSグローバルデータ空間をODBC準拠のリレーショナルデータベースで管理されているディスク上のデータと融合させるためのものです。
- MATLAB, Simulink and LabVIEWのコネクタ を使用して、シミュレーションと設計の世界をリアルタイムのデータ空間で統一することができます。
- Web Connectivity, は、JavascriptのNode.jsベースの技術を介して、リアルタイムのデータ空間をWorld Wide Web空間に統一します。このようなコネクタを使用すると、お好みのウェブブラウザから、または任意のJavascriptスタンドアロンプログラムからデータを生成したり、データへのアクセスを取得したりすることができます。
Vortex OpenSpliceは、Cyclone DDSを含むあらゆるddsi V2.3実装と完全に相互運用可能で、Vortex LinkとVortex Insight Monitoring ADLINK製品と完全に互換性があり、運用可能です。これらの製品とアドオンの詳細については、別途ダウンロードすることができます。
Vortex OpenSpliceはソフトウェア開発キットとして使用することも、DDSアプリケーションのためのUMLプロファイルを実装したサードパーティのMDA (Modern Driven Architecture Tools)と統合することもできます。
広範囲分散システムでは、ネットワークと CPU(中央処理装置)が最も重要なリソースと考えられています。そのため、システム全体のパフォーマンスのボトルネックになっていると考えられています。
リアルタイムシステムでは、CPUのオーケストレーションとスケジューリングはオペレーションシステムのスケジューラによって制御されます。このようなネットワークスケジューリングの欠如は、データフローに優先順位をつける必要がある場合に問題となります。
マルチコアコンピューティングアーキテクチャを活用し、緊急性と重要性に基づいてDDSレベルでデータを管理できるネットワークスケジューリングの欠如に対処するためには、同じコンピューティングユニット上で実行されるすべてのアプリケーションを統合し、サービス品質(QoS)に基づいてデータ配信をオーケストレーションすることができるDDSアーキテクチャを考案することが重要です。
データにQoSを関連付けることで、DDSインフラストラクチャは、優先度の高いものと最も緊急性の高いものを優先して、優先度の低いトラフィックを先取りすることができます。一方で、因数分解してフェデレートする処理がほとんどない場合は、シングルプロセスモード内でアプリケーションコードをリンクするライブラリのセットとしてDDSを実装する古典的な方法で十分に良いことができます。
シングルプロセスアーキテクチャモードは、通常、特定のコンピュータ上でシングルトンアプリケーションのみが実行されている場合に推奨されます。
Vortex OpenSpliceアーキテクチャは、完全に相互運用可能な2つのモードで動作し、デプロイされます:
- フェデレーテッドモードでは、各コンピュータが複数のDDSを認識するアプリケーションをホストする複雑なアーキテクチャのためのものです。
- ライブラリベースのスタンドアロンのシングルプロセスモードでは、通常、1つのアプリケーションのみがDDSを使用しており、フェデレーションまたはオーケストレーションするものがありません。
Vortex OpenSpliceデプロイメントモード
共有メモリとネットワークスケジューリングによる統合アーキテクチャ
T複数のDDS対応アプリケーションが同じノードで実行されている場合にメモリリソースを合理化するために、Vortex OpenSpliceアーキテクチャは共有メモリをサポートして、各アプリケーションのアドレス空間にデータを保持する必要性を最小限に抑えることができます。共有メモリセグメントは、すべてのローカルDDSアプリケーションに共通です。これは、SQL(Structured Query Language)を使用して照会できるインメモリリアルタイムデータベースと見なすことができます。共有メモリオプションを備えたフェデレーションアーキテクチャには、超低遅延のコア間通信を実現するという利点もあります。
Vortex OpenSpliceをフェデレーションデプロイメントアーキテクチャ用に設定する場合、データは物理的にマシンのフェデレーションに一度だけ保存されます。スマートな管理では、フェデレーション内の各サブスクライバにデータ空間の彼自身のプライベートな'ビュー'を提供します。これにより、リーダーのデータキャッシュは、コンテンツフィルタリング、クエリなどが可能な個々の「データベース」として認識されるようになります。
Vortex OpenSpliceはまた、DDSネットワークスケジューラを提供する市場でユニークなアーキテクチャを持っています:
- データをその重要性と緊急性に基づいて整理・分類し、緊急性の高い重要なデータストリームクラスごとにネットワークチャネルを作成します。これらのチャネルは、優先レーンに呼び出されます。
- 緊急性の低いデータストリームをプリエンプトし、ネットワーク帯域幅を、各データストリームに添付されているQoSで定義されているように、最も優先度の高い、最新の、緊急性の高いデータストリームに割り当てます。
- トラフィックシェーピングを実行して、利用可能なネットワーク帯域幅でネットワーク上に送信するデータ量を適応させます。
- システムが論理的・物理的に分割されている場合に、実際に使用するサブネットワークにデータを閉じ込める。
Vortex OpenSplice DDSネットワークスケジューラとそのネットワーク優先度レーン
DDS Network Schedulerを使用すると、ノードのスケーラビリティを最大限に高めることができます。ネットワーク上のすべてのローカルアプリケーションのユニークなプロキシとして表示されるように構成することができます。したがって、システムのスケーラビリティは、従来のシングルプロセスモードの場合のように、DDS参加アプリケーションの数に相関するのではなく、マシンの数に依存します。
ネットワークスケジューラは、必要に応じて多くのネットワーク優先レーンを作成し、TCP/IPやUDP/IPなどの優先順位を保持しないトランスポートでもメッセージの優先順位を強制するのに役立ちます。
DDSグローバルデータ空間とそれを生成するアプリケーションは、DDSパーティションとして知られている論理グループに編成することができます。Non-Vortex OpenSplice DDS実装は、同じマルチキャストアドレスを使用してデータをどこにでも拡散し、DDSiプロトコルスタックに依存して、特定のノード上の不要なデータを破棄します。
DDSの論理パーティションから物理パーティションへのマッピング
例えば、システムを北、南、東、西の4つの地域に分けて編成し、航空監視のようなシステムを構築する場合、各地域には侵入を検知するためのサブシステムが必要であり、局所的かつ即時に対応する必要があります。
特定の地理的地域のレーダーが空中の特定のトラックの位置を検出して公開する場合、そのデータがネットワーク全体に拡散して重要なネットワーク帯域幅とリソースを浪費し、サブスクライブ時に不必要にCPU時間を消費することは望ましくありません。 脅威に対応しているアプリケーションは、発行元と同じ地域にあります。
Vortex Opensplice Network Schedulerは、異なるマルチキャストとユニキャストアドレスを同じDDS論理パーティションに関連付けることができ、生成されたデータに実際に関心があるサブネットワークに物理的にトラフィックを制限することができます。
共有メモリを使用した統合アーキテクチャは、各リーダとライタがそれぞれ独自のストレージを持つ「通信エンドポイント」として見られる他のDDS実装と比較して、非常に低いフットプリント、優れたスケーラビリティ、および最適なパフォーマンスを実現します。
シンプルなスタンドアロン/シングルプロセスアーキテクチャ
このデプロイメントにより、DDSアプリケーションとVortex OpenSpliceミドルウェアライブラリを単一のプロセスに簡単にリンクすることができます。
この導入オプションの利点の1つは、次のとおりです。プロセスは動的ヒープメモリを使用するため、共有メモリセグメントを事前に構成する必要はありません。 「ゼロ構成」に加えて、すべての機能がアプリケーションプロセス内にバンドルされているため、フェデレーションのサービスを開始する必要はありません。 ミドルウェア、データ、およびアプリケーションのライフサイクルは相互に関連しています。
この種のシンプルな展開は、1台のマシンに1つのDDSを意識したアプリケーションがあり、フェデレーションするものがない場合には、十分な効果を発揮します。これは、組み込みプラットフォームに特に有用です。
Vortex OpenSpliceは、その高度な機能とシステムにもたらす非機能的な特性により、他のタイプのメッセージングやデータ共有技術とは一線を画しています。これらの特性には以下が含まれます:
- Data Centric 拡張可能で進化可能なデータモデルを中心にアプリケーションを設計できるようにし、エンドツーエンドの型の安全性と時間と空間の効率性を促進します。さらに、データ中心主義は時間と空間のデカップリングを促進し、統合、進化、再利用が容易なシステムを実現します。
- Real-time - 適切な情報を適切な場所に、適切な時間に、常に配信します。重要な情報を期限内に配信できなかった場合、生命、ミッション、またはビジネスに脅威を与える状況に陥る可能性があります。
- 信頼性 - ハードウェアやソフトウェアの障害にもかかわらず、可用性、信頼性、安全性、完全性を確保します。
- 安全性 - 交換されたデータの機密性、完全性、および信頼性を維持する機能を提供します。
Vortex Commercial Editionでは、以下のような特典が追加されています:
- 下記のような強力なツールによる生産性の向上:
- Tuner Tool,
- Tester Tool,
- Configurator
- Record and Replay Manager Tool.
- Launcher,
- 共有メモリモニター
- 切断をサポートするスケーラブルなScalable Durability ServiceおよびDDSドメイン内のすべての不揮発性データセットの最終的に一貫したモデルを保証するための自動アライメントポリシーを提供します。
- 以下のような独自のアーキテクチャパターンを使用することで、より優れたパフォーマンス、決定性、スケーラビリティを実現します:
- ネットワークスケジューリング
- 共有メモリ
- トラフィックシェーピング
- データの分割
- 優先レーンのパターン
- 次のような追加のコミュニケーションパラダイム
- RMI (Remote Method Invocation)
- Stream API.
- Extra Connectivity、データの共有と統合を可能にし、以下のような広範なテクノロジーでデータを共有します:
- webテクノロジー
- データベース
- シミュレーションとモジュレーション環境を提供
- 以下を含む完全なプロフェッショナルサービスの提供 :
- コンサルティング
- トレーニング
- さまざまなレベルのコミットされたサービスレベル契約による技術サポート
- 長期サポート 製品がVortexOpenSpliceで展開されたら、最新ではなく、使用中の特定のバージョンのみをサポートしたい場合があります。その場合、凍結された製品バージョンのサポートを受けて、本当に必要な更新のみを行うことができます。
- 以下を含む幅広いエンタープライズおよび組み込みプラットフォーム のサポート:
- Linux
- Windows
- VxWorks
- PikeOS, 他