(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-02-02
(54)【発明の名称】共有データ管理システム
(51)【国際特許分類】
G06F 9/54 20060101AFI20230126BHJP
【FI】
G06F9/54 A
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2022530906
(86)(22)【出願日】2020-11-26
(85)【翻訳文提出日】2022-07-07
(86)【国際出願番号】 EP2020083456
(87)【国際公開番号】W WO2021105262
(87)【国際公開日】2021-06-03
(32)【優先日】2019-11-27
(33)【優先権主張国・地域又は機関】FR
(81)【指定国・地域】
(71)【出願人】
【識別番号】311015001
【氏名又は名称】コミサリヤ・ア・レネルジ・アトミク・エ・オ・エネルジ・アルテルナテイブ
(74)【代理人】
【識別番号】110001173
【氏名又は名称】弁理士法人川口國際特許事務所
(72)【発明者】
【氏名】クリシェンヌ,ハナ
(72)【発明者】
【氏名】デュブリュール,ポール
(57)【要約】
本発明は、1つ又は複数の制作者装置(3P)からデータを有するフレームを受け取るように及び1つ又は複数の消費者装置(3C)に再構築されたフレームを送信するように構成された共有データ管理システム(1)に関し、制作者装置(3P)及び消費者装置(3C)は、通信プロトコルを使用して通信ネットワークによって共有データ管理システムに接続されている。共有データ管理システム(1)は、1つ又は複数のメモリ(101)を有するメモリシステム(10)を有する。共有データ管理システム(1)は、有利には、制作者装置から受け取られたフレーム内においてカプセル化されているデータの少なくとも一部分をメモリシステム(10)のターゲットメモリエリア内において保存するように構成された中央コントローラを有し、中央コントローラは、保存される対象のそれぞれのデータごとに、受け取られたフレーム内のデータと関連するインデックスに基づいてターゲットメモリのアドレスを演算するように構成されている。
【特許請求の範囲】
【請求項1】
1つ又は複数の制作者装置(3P)からデータを有するフレームを受け取るように及び再構築されたフレームを1つ又は複数の消費者装置(3C)に送信するように構成された、共有データ管理システム(1)であって、制作者装置(3P)及び消費者装置(3C)は、通信プロトコルを使用して通信ネットワークによって前記共有データ管理システムに接続されており、前記共有データ管理システム(1)は、1つ又は複数のメモリ(101)を有するメモリシステム(10)を有する、システムにおいて、
前記共有データ管理システム(1)は、制作者装置から受け取られたフレーム内においてカプセル化された前記データの少なくとも一部分を前記メモリシステム(10)のターゲットメモリエリア内において保存するように構成された中央コントローラ(110)を有し、前記中央コントローラは、保存される対象のそれぞれのデータごとに、前記受け取られたフレーム内の前記データと関連するインデックスに基づいて前記ターゲットメモリのアドレスを演算するように構成されていることを特徴とする、システム。
【請求項2】
1つの且つ同一のデータの1つ又は複数のサンプルが様々な時点において受け取られており、並びに、前記中央コントローラ(110)は、前記データと関連する満了日付に基づいて前記受け取られたデータの有効性ビットを演算するように更に構成されており、前記有効性ビットは、別のインデックスと関連する前記データの先行するサンプルが前記メモリシステム(10)内において保存されていない場合に有効性値に設定されていることを特徴とする、請求項1に記載の共有データ管理システム。
【請求項3】
前記中央コントローラは、前記データの前記満了日付を前記データの前記受信日付と比較することにより、受け取られたフレーム内においてカプセル化されたデータの受信の遅延を検出することができることを特徴とする、請求項2に記載の共有データ管理システム。
【請求項4】
前記満了日付は、前記データの前記インデックスに基づいて演算されていることを特徴とする、請求項2又は3に記載の共有データ管理システム。
【請求項5】
前記制作者装置及び前記消費者装置が前記通信ネットワークによって前記共有データ管理システムに接続された状態において、前記データと共に、前記フレームと関連する構成情報を保存する少なくとも1つの構成データ構造を有し、前記中央コントローラ(110)は、前記ターゲットメモリの前記アドレスを判定するために、前記構成データ構造(121)内において保存されている情報を更に使用していることを特徴とする、請求項1乃至4のいずれか1項に記載の共有データ管理システム。
【請求項6】
前記少なくとも1つの構成データ構造(121)は、
- 前記共有データ管理システム(1)によって消費者装置(3C)に前記通信ネットワーク(2)上において送信される対象のフレームのリストを有するフレームテーブル(1210)、及び/又は、
- 前記通信ネットワーク(2)上において送信される対象の前記フレーム内においてカプセル化される対象の前記データのリストを有する送信テーブル(1211)であって、それぞれのデータは、少なくとも1つのデータ識別子によって識別されている、送信テーブル、及び/又は、
- 前記通信ネットワーク(2)内において流れているそれぞれのデータに関係する前記情報を有する制御テーブル(1212)であって、前記送信テーブル(1211)内において保存されている前記1つ又は複数のデータ識別子は、前記制御テーブルにアクセスするためのアクセスアドレスを表している、制御テーブル、
を有することを特徴とする、請求項5に記載の共有データ管理システム。
【請求項7】
前記フレームテーブル(1210)は、送信される対象のそれぞれのフレームごとに、
- 前記フレームの送信日付、及び、
- 前記フレームが受け取られるべき最後の日付を表す、前記フレームの受信デッドライン日付、
を有することを特徴とする、請求項6に記載の共有データ管理システム。
【請求項8】
前記送信テーブル(1211)は、前記リスト内のそれぞれのデータごとに、
- 識別子のペア、及び、
- 制作者装置(3P)に関係する前記データの前記アドレスを表すデータインデックス、
を有することを特徴とする、請求項6又は7に記載の共有データ管理システム。
【請求項9】
前記制御テーブル(1212)は、
- 前記メモリシステム(10)内における前記データの前記アドレス用のオフセットパラメータ、及び、
- 前記データのサイズ、
を有することを特徴とする、請求項6乃至8のいずれか1項に記載の共有データ管理システム。
【請求項10】
前記中央コントローラ(110)は、前記制御テーブル内において保存されている前記データのアドレスオフセット及びサイズを更に使用することにより、データの前記ターゲットメモリアドレスを演算するように構成されていることを特徴とする、請求項9に記載の共有データ管理システム。
【請求項11】
データの前記ターゲットメモリアドレスは、前記制御テーブル内において保存されている前記データの前記アドレスオフセット及び前記サイズの合計に等しいことを特徴とする、請求項9に記載の共有データ管理システム。
【請求項12】
前記中央コントローラは、前記構成データ構造内の前記フレームと関連する前記ターゲット消費者装置及び前記送信日付に基づいて前記データを前記フレーム内にグループ化することにより、送信される対象の前記フレームを構築するように構成されていることを特徴とする、請求項5乃至10のいずれか1項に記載の共有データ管理システム。
【請求項13】
前記メモリシステム(10)と前記中央コントローラ(110)との間のインターフェイスとして機能する複数のメモリコントローラ(111)と、前記中央コントローラ(110)と前記制作者及び消費者装置との間のインターフェイスとして機能する1つ又は複数のプロトコルコントローラ(112)と、を有し、それぞれのプロトコルコントローラは、所与のプロトコルに固有のものであることを特徴とする、請求項1乃至12のいずれか1項に記載の共有データ管理システム。
【請求項14】
前記メモリシステムは、データ制作者装置と関連する少なくとも1つの専用のメモリエリアを有し、所与のメモリエリア内において保存されている前記データは、前記専用のメモリエリアと関連する前記制作者装置によって生成された前記データを有することを特徴とする、請求項1乃至13のいずれか1項に記載の共有データ管理システム。
【請求項15】
1つ又は複数の制作者装置(3P)からのデータを有するフレームを受け取るための及び再構築されたフレームを1つ又は複数の消費者装置(3C)に送信するための共有データ管理システム内において実装される共有データ管理方法(1)であって、制作者装置(3P)及び消費者装置(3C)は、通信プロトコルを使用して通信ネットワークによって前記共有データ管理システムに接続されており、前記共有データ管理システムは、1つ又は複数のメモリ(101)を有するメモリシステム(10)を有する、方法において、
前記方法は、制作者装置から受け取られたフレーム内においてカプセル化されている前記データの少なくとも一部分を前記メモリシステム(10)のターゲットメモリエリア内において保存するステップを有し、前記方法は、保存される対象のそれぞれのデータごとに、前記受け取られたフレーム内の前記データと関連するインデックスに基づいて前記ターゲットのアドレスを演算するステップを更に有することを特徴とする、方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は一般に、分散システムに関し、更に詳しくは、共有データを管理するシステム及び方法に関する。
【背景技術】
【0002】
車両などの埋め込み型のシステムは、一般に、異なる通信プロトコルを使用してシステムの様々な演算エンティティ間のデータ交換を管理するために、リアルタイム分散システムを使用している。このような分散システムは、分散システムに埋め込まれたアプリケーションによって予約された時間ウィンドウ内に、データ転送に対して決定論的応答を提供するように意図されている。
【0003】
例えば、現在の車両内における演算環境は、様々な通信プロトコルを使用する複数の通信媒体によって統合及び相互接続された複数の分散制御ユニットから構成されている。このようなプロトコルは、使用されている送信手段と、目的であるソフトウェアアプリケーションとに、非常に依存している。更には、このような埋め込み型システムは、例えば、現在の車両内における自動運転(AD)アプリケーションなどの多数のアプリケーションを実行しており、これらが、アプリケーションによって使用される変数を計測するようにシステム上において構成されたセンサ(ビデオカメラ、レーダー、Lidar、など)に由来するデータの搬送及び処理に関係する、新しいニーズ及び新しい課題を生成している。
【0004】
このような演算環境は、混合重要度(mixed-criticality)環境であると見なされている、即ち、これは、重要であると見なされる予想された振る舞いに準拠しなければならないエンティティと、振る舞いの観点からは保証を持たないその他のエンティティと、を有する。混合重要度は、リアルタイム(RT)システムによって必要とされるタイミング制御を保証していない。タイミング制御は、システムがシステムの重要な機能によって定義されている適切な時点において正しい応答を提供する際に、分散システムによって保証されている。分散型の演算環境では、一般に、分散メモリが使用されている。但し、このようなメモリに対する読取り又は書込みアクセス動作を、非常に大規模なシステムにおいて管理するのは困難である。既存の分散メモリは、接続されている演算エンティティ間における直接的なアクセスを更に保証している。但し、このようなアクセス動作はデータ交換を保証しておらず、これが、(例えば、電気自動車などの)現在の埋め込み型システムにおける主要な課題となっている。
【0005】
リアルタイム(RT)分散システムは、特に、制限を有するリアルタイムの応答の保証、演算環境の容易な拡張性、演算媒体及びその通信プロトコルの異質性、及びリソース及びデータに対する共有アクセスを必要としている。更には、リアルタイム(RT)分散システムは、同時に帯域幅占有率を最適化し且つ通信遅延を低減しつつ、最小通信費用を保証しなければならない。
【0006】
分散演算環境においてデータを管理するための1つの解決策が国際公開第05950号パンフレットにおいて提案されており、これは、データベース内において保存されているデータを共有する方法を提案している。この方式によれば、様々なプログラムがデータベースにアクセスすることができる。但し、このような解決策は、自律的な、構成可能な、且つ、決定論的な方式で、環境の様々なフローに由来するデータのすべてを送信することを可能にしてはいない。更には、この解決策は、プログラムの実行の際に多数の中断の処理を必要としており、これにより、決定論的な応答の取得を妨げている。
【0007】
別の解決策は、国際公開第032750号パンフレットにおいて提案されている。国際公開第032750号パンフレットは、データが異質なアーキテクチャによって構築された2つ以上の機器の間において分散されることを許容するホスト構造に基づいたRT通信システムを提案している。国際公開第032750号パンフレットは、その動作が時間に伴ってクロッキングされている異なるネットワークとインターフェイスするために、ネットワークゲートウェイを更に使用している。但し、この解決策は、様々な通信プロトコルのフレームの処理又は帯域幅の最適化を可能にしてはいない。決定論は、システムの全体を通じたエンドツーエンドのデータ転送経路の観点においてではなく、要求の観点においてのみ保証されている。
【0008】
国際公開第021974号パンフレットにおいて記述されている更に別の方式においては、実装されたEthernetに基づいた産業システム用のリアルタイムデータ送信用の方法が提案されている。このような方法は、マスタノードと、スレーブノードの組と、から構成されており、この場合に、ノードは、フレームの構造に関する先験的な知識に基づいて別のノードに再送信される前にフレームのコンテンツを変更することができる。但し、この方法は、新しいフレームの構築に使用されるデータを保存するために中央メモリに依存してはいない。従って、フレームは、単にその他のフレーム内におけるデータの分解及び再構築の実行を伴うことなしに変更することができる。
【0009】
また、国際公開第145382号パンフレットは、環境の様々な要素からの要求に対する決定論的応答を同時に提供しつつ、異なる通信プロトコルを使用してこれらの要素の間においてゲートウェイとして機能するように分散環境において変化する能力を有する電子コンポーネントの使用を開示している。但し、この方式においては、フレームの転送は、データ消費者によってトリガされた要求にしかリンクされていない。
【先行技術文献】
【特許文献】
【0010】
【特許文献1】国際公開第05950号パンフレット
【特許文献2】国際公開第032750号パンフレット
【特許文献3】国際公開第021974号パンフレット
【特許文献4】国際公開第145382号パンフレット
【発明の概要】
【発明が解決しようとする課題】
【0011】
従って、分散演算環境において使用され得る共有データのリアルタイム管理用の改善されたシステム及び方法に対するニーズが存在している。
【課題を解決するための手段】
【0012】
本発明は、このような状況を改善することを目的としている。これを目的として、提案されているものは、1つ又は複数の制作者装置からのデータを有するフレームを受け取るように及び再構築されたフレームを1つ又は複数の消費者装置に送信するように構成された、共有データ管理システムであり、制作者装置及び消費者装置は、通信プロトコルを使用して通信ネットワークによって共有データ管理システムに接続されている。共有データ管理システムは、1つ又は複数のメモリを有するメモリシステムを有する。有利には、共有データ管理システムは、制作者装置から受け取られたフレーム内においてカプセル化されたデータの少なくとも一部分をメモリシステムのターゲットメモリエリア内において保存するように構成された中央コントローラを有しており、中央コントローラは、保存する対象のそれぞれのデータごとに、受け取られたフレーム内のデータと関連するインデックスに基づいてターゲットメモリのアドレスを演算するように構成されている。
【0013】
一実施形態においては、1つの且つ同一のデータの1つ又は複数のサンプルが様々な時点において受け取られている。次いで、中央コントローラは、データと関連する満了日付に基づいて、受け取られたデータ用の有効性ビットを演算するように更に構成されていてもよく、有効性ビットは、別のインデックスと関連するデータの先行するサンプルがメモリシステム内において保存されていない場合に、有効性値に設定されている。
【0014】
有利には、中央コントローラは、データの満了日付をデータの受信日付と比較することにより、受け取られたフレーム内においてカプセル化されたデータの受信の遅延を検出することができる。
【0015】
一実施形態において、満了日付は、データのインデックスに基づいて演算することができる。
【0016】
一実施形態において、共有データ管理システムは、通信ネットワークによって共有データ管理システムに接続された製作者装置及び消費者装置に伴って、フレームと関連する構成情報をデータと共に保存する少なくとも1つの構成データ構造を有していてもよく、この場合に、中央コントローラは、ターゲットメモリのアドレスを判定するために構成データ構造内において保存されている情報を更に使用している。
【0017】
具体的には、少なくとも1つの構成データ構造は、
- 共有データ管理システムによって通信ネットワーク上において消費者装置に送信される対象のフレームのリストを有するフレームテーブル、及び/又は、
- 通信ネットワーク上において送信される対象のフレーム内においてカプセル化されるべきデータのリストを有する送信テーブルであって、それぞれのデータは、少なくとも1つのデータ識別子によって識別されている、送信テーブル、及び/又は、
- 通信ネットワーク内において流れているそれぞれのデータに関係する情報を有する制御テーブルであって、送信テーブル内において保存されている1つ又は複数のデータ識別子は、制御テーブルにアクセスするためのアクセスアドレスを表している、制御テーブル、
を有することができる。
【0018】
一実施形態において、フレームテーブルは、送信される対象のそれぞれのフレームごとに、
- フレームの送信日付、及び、
- フレームが受け取られるべき最終日付を表すフレーム用の受信デッドライン日付、
を有することができる。
【0019】
送信テーブルは、リスト内のそれぞれのデータごとに、
- 識別子のペア、及び、
- 制作者装置に関係するデータのアドレスを表すデータインデックス、
を有することができる。
【0020】
一実施形態において、制御テーブルは、
- メモリシステム内におけるデータのアドレス用のオフセットパラメータ、及び、
- データのサイズ、
を有することができる。
【0021】
有利には、中央コントローラは、制御テーブル内において保存されているアドレスオフセット及びデータのサイズを更に使用することにより、データのターゲットメモリアドレスを演算するように構成することができる。
【0022】
データのターゲットメモリアドレスは、制御テーブル内において保存されているアドレスオフセット及びデータのサイズの合計に等しくてもよい。
【0023】
一実施形態において、中央コントローラは、構成データ構造内においてフレームと関連付けられているターゲット消費者装置及び送信データに基づいてデータをフレーム内にグループ化することにより、送信される対象のフレームを構築するように構成することができる。
【0024】
共有データ管理システムは、メモリシステムと中央コントローラの間のインターフェイスとして機能する複数のメモリコントローラと、中央コントローラと制作者及び消費者装置の間のインターフェイスとして機能する1つ又は複数のプロトコルコントローラと、を有していてもよく、それぞれのプロトコルコントローラは、所与のプロトコルに固有のものである。
【0025】
一実施形態において、メモリシステムは、データ制作者装置と関連する少なくとも1つの専用のメモリエリアを有していてもよく、所与のメモリエリア内において保存されているデータは、前記専用のメモリエリアと関連する制作者装置によって生成されたデータを有する。
【0026】
更に提案されているものは、1つ又は複数の制作者装置からのデータを有するフレームを受け取るための及び再構築されたフレームを1つ又は複数の消費者装置に送信するための共有データ管理システム内において実装される共有データ管理方法であり、制作者装置及び消費者装置は、通信プロトコルを使用して通信ネットワークによって共有データ管理に接続されており、共有データ管理システムは、1つ又は複数のメモリを有するメモリシステムを有する。方法は、有利には、制作者装置から受け取られたフレーム内においてカプセル化されているデータの少なくとも一部分をメモリシステムのターゲットメモリエリア内において保存するステップを有し、方法は、保存される対象のそれぞれのデータごとに、受け取られたフレーム内のデータと関連するインデックスに基づいてターゲットメモリのアドレスを演算するステップを更に有する。
【0027】
従って、本発明の実施形態は、同時にデータ転送イベントに基づいてメッセージに対する決定論的応答を提供しつつ、異なる通信プロトコルを使用して分散演算環境内における共有データのリアルタイム管理を許容している。
【0028】
これらは、同時に帯域幅使用の最適化を保証しつつ、同時にデータ制作者装置及び/又は通信ネットワークによって提供された時間ウィンドウに準拠しつつ、予め構成された交換シナリオに基づき得る解決策を更に提供している。
【0029】
本発明の実施形態は更に、IPに基づいたネットワーク(例えば、Ethernet)通信などの生成されたデータの有効性を保証するように、(例えば、LIN、CAN/CAN - FD、及びFlexRayなどの)サイクリックメッセージに基づいた従来の通信とイベントに基づいたメッセージユニキャスト及び課された時間制約から構成されたサービス指向の通信の間における共存を許容している。
【0030】
本発明のその他の特徴、詳細、及び利点については、例示を目的として付与される且つそれぞれ以下の図を含む添付の図面を参照して付与される説明を参照した際に明らかとなろう。
【図面の簡単な説明】
【0031】
【
図1】いくつかの実施形態による共有データ管理システムを示す。
【
図2】本発明のいくつかの実施形態による共有データ管理システムによって受信又は送信されるメッセージの構造を示す。
【
図3】一実施形態によるフレームテーブルの一例を示す。
【
図4】一実施形態による送信テーブルの一例を示す。
【
図5】一実施形態による制御テーブルの一例を示す。
【
図6】いくつかの実施形態による共有データ管理システムの例示用の一実装形態を示す。
【
図7】いくつかの実施形態によるデータ受信方法を示すフローチャートである。
【
図8】いくつかの実施形態によるメモリシステム内において保存されているデータを送信する方法を示すフローチャートである。
【発明を実施するための形態】
【0032】
図1は、いくつかの実施形態による共有データ管理システム1の動作環境100の一例を示している。
【0033】
また、供給データ管理システム1は、以下においては、(対応する表現「Data Sharing Management」の頭文字である)DSMシステムとも呼称されている。
【0034】
共有データ管理システム1は、論理プレーン上において共有アドレス空間を形成する複数の別個のメモリを有するメモリシステム10を有する。アドレス空間は、共有されており、即ち、2つの別個のプロセッサ上の1つの且つ同一の物理的アドレスが同一のメモリ場所を指し示している。
【0035】
DSMシステム1は、通信ネットワーク2を介して1つ又は複数の外部データ制作者装置3Pからデータを受け取るように又はメモリシステム10内において保存されているデータを1つ又は複数のデータ消費者装置3Cに送信するように構成された中央コントローラ110を有するマルチプロトコルゲートウェイ11を更に有する。中央コントローラ110は、データ制作者装置3Pからのメッセージ内において受け取られたデータを抽出するように、且つ、それぞれの抽出されたデータごとに、予め選択されたメモリ101内においてこのようにして判定された有効性ビットとの関連において抽出されたデータを保存する前に、有効性ビットを判定するように、更に構成されている。
【0036】
DSMシステム1は、メモリ101内において保存されているデータと関連する構成情報を保存するように構成された構成システム12を更に有することができる。有利には、中央コントローラ110は、メモリシステム10内において保存されているデータと関連する構成情報に基づいて受け取られたデータを保存するべく選択されるメモリ101を判定するように構成することができる。構成システムは、構成テーブルなどの任意の適切なデータ構造121内において構成情報を保存することができる。構成情報は、データのサイズ又は重要性などのメモリシステム10内において保存されているデータと関連する様々なパラメータを有することができる。説明の残りの部分は、非限定的な例として、構成テーブルタイプの構成データ構造121を参照して付与することとする。
【0037】
このような構成データ構造121は、更に一般的には、制作者装置3Pから受け取られたデータフレームの作業負荷の構造に関する事前の知識を提供する任意のパラメータと、通信ネットワーク2を介してDSM1に接続されているそれぞれの消費者サブシステム3Cによって必要とされている消費データの観点におけるニーズと、を保存することができる。
【0038】
マルチプロトコルゲートウェイ11は、同時に構成テーブル内において定義されているデータ転送に対して決定論的応答を提供しつつ、使用されている通信プロトコルとは無関係に、演算環境100の様々な要素によって使用することができる。
【0039】
有利には、DSMシステム1の動作は、消費者装置3Cへのデータの送信をトリガするために、制作者装置3Pからのデータ送信要求の受信に依存してはいない。本発明の実施形態によるDSMシステム1は、構成テーブル121内において定義されているデータ送信シナリオを記述した構成情報を使用している。一実施形態においては、構成テーブル121は、例えば、P.Dubrulle,C.Gaston,N.Kosmatov,A.Lapitre,and S.Louise.“A Dataflow Model with Frequency Arithmetic.”22nd International Conference on Fundamental Approaches to Software Engineering(FASE).Cham:Springer,2019において記述されている演算モデルのツールに基づいた分析を通じて自動的に生成することができる。このような演算モデルは、ポリグラフと呼称されている同期データフロー(SDF)モデルフォーマットの拡張である。例えば、車両内において埋め込まれている演算システムに対する本発明の一適用においては、演算モデルは、AUTOSAR規格に基づいたものであってよい。データ送信シナリオの事前の知識に基づいたこのような動作モードは、同時に低レイテンシー及び高帯域幅を保証しつつ、マルチプロトコルデータ転送を保証することを可能にしている(従って、利用可能な帯域幅の使用が最適化されている)。
【0040】
マルチプロトコルゲートウェイ11は、通信ネットワーク2との間においてインターフェイスを形成するように構成された1つ又は複数のプロトコルコントローラ112(
図1においては、「Ctrl P
i」と呼称されている)を有することができる。
【0041】
マルチプロトコルゲートウェイ11は、メモリシステム10との間においてインターフェイスを形成するように構成された1つ又は複数のメモリコントローラ111(
図1においては、「Ctrl M
i」と呼称されている)を更に有することができる。
【0042】
中央コントローラ110は、メモリシステム10及び構成テーブル121などのDSMシステム1の様々な内部要素の間においてデータ交換を調整するように設計されている。中央コントローラ110は、DSM1の要素のすべてに共通するデータフォーマットを使用することができる。中央コントローラ110は、構成システム12内において予め定義された交換のスケジュールを更に使用することができる。
【0043】
DSMシステム1は、データがDSMシステム1によって受け取られた日付を表す受信日付を制作者から受け取られたそれぞれのデータと関連付けるように構成されたタイムスタンピングユニット14(図示されてはいない)を有することができる。一実施形態において、タイムスタンピングユニットは、データに対応するインデックスに基づいてデータの受信日付を演算するように構成することができる(1つの且つ同一のデータの複数のサンプルは、制作者装置によって送信されてもよく、それぞれのサンプルは、送信時刻に対応するインデックスと関連付けられており、インデックスは、サンプルの送信日に基づいて増分されている)。従って、同一のデータの第2サンプルのインデックスよりも小さなインデックスを有するデータの第1サンプルは、第2サンプルの送信時刻に先行する送信時刻に対応することになる。但し、例えば、パケットロスの場合などのように、相対的に小さなインデックスを有するサンプルが相対的に大きなインデックスを有するサンプルの後に到着するケースが存在し得る。また、1つの且つ同一のデータの2つのサンプルが、これらのサンプルのインデックスが連続的でない(2つのインデックスの間の差の絶対値が厳格に1超である)状態において、連続的な時点において受け取られるというケースも存在し得る。
【0044】
受け取られたデータと関連するこのようなインデックスは、データの満了と共に消費者3Cから受け取られるそれぞれのデータの有効性期間を判定するために使用することができる。
【0045】
一実施形態において、データ(満了していないデータ)の有効性は、フレームのレベルにおいてチェックすることができる。このような実施形態によれば、通信ネットワーク2内において送信される対象のデータに対する第1フィルタリング動作を実行した後に、データフレーム(或いは、データメッセージ)を送信する制作者装置3Pは、有効なデータのみを利用可能にするものと仮定されている。
【0046】
通信ネットワーク2は、インターネット、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、セルラー音声/データネットワーク、1つ又は複数の高速バス接続、及び/又はこの種の通信ネットワークのその他のタイプなどのデータの交換を許容する1つ又は複数のプライベート且つ/又はパブリックネットワーク(例えば、インターネット)を含み得る。ネットワーク2は、4G、Ethernet、802.11、TCP/IP(Transmission Control Protocol/Internet Protocol)、HTTP(Hypertext Transport Protocol)、FTP(File Transfer Protocol)、などのような通信プロトコルを使用することができる。
【0047】
制作者装置3Pからのフレーム内において受けられたデータに関する有効性試験は、グローバル受信日付を使用してフレームのレベルにおいて実行することができる。DSMシステム1は、制作者装置3Pから受け取られたデータフレーム(メッセージ)を構成するデータが送信時間ウィンドウとの関係において有効であるかどうか(有効データは、満了していないデータである)を判定し、これにより、データ管理システム1の演算費用の低減を可能にするために、グローバル受信日付を使用することができる。
【0048】
タイムスタンピングユニットは、例えば、ナノ秒についてのビットの第1の組(例えば、64ビット)及びミリ秒についてのビットの別の組(例えば、32ビット)においてエンコーディングされた10ナノ秒(ns)に等しいシステム時間などの、システム時間から導出され得る時間ベースを使用することができる。従って、時間ベースは、DSMシステム1の要素のすべてにわたる共通時間基準システムの提供を可能にしている。
【0049】
構成システム12内において保存されている構成パラメータは、例えば、環境のいずれの要素がどの時点においてどのデータを生成し、且つ、どのデータがどの時点においてどの要素によって消費されるのか、などの、演算環境内におけるそのタイプと共にデータ交換のフローを記述するファイルに基づいた通信及び演算モデル(MOCC)を使用して判定することができる。
【0050】
DSMシステム1は、識別子及び制作インデックスのペアを含む識別パラメータを使用してそれぞれの受け取られたデータを識別するように構成されている。データ識別パラメータは、受け取られたデータをメモリシステム10内において保存する前に、中央コントローラ110によって受け取られたそれぞれのデータと関連付けられている。データ識別パラメータは、有利には、構成システム12の構成テーブル内において保存することができる。中央コントローラ110は、消費者3に送信される対象のDSMフレームを形成するように、構成テーブル120からデータの識別パラメータを抽出するように且つ対応するデータによってこれらをカプセル化するように構成されている。
【0051】
従って、中央コントローラ110は、メモリシステム10内において保存されているデータ及び構成テーブル121内においてデータと関連付けられた構成パラメータに基づいて送信される対象のフレームを再構築することの責任を担っている。
【0052】
中央コントローラ110によって受け取られたそれぞれのフレームは、フレームを一意に識別するフレーム識別子を有する。一実施形態において、フレーム識別子は、受信デッドライン日付Dframeによって表されている(これは、また、説明の残りの部分においては又は図においては、表記「Frame_deadline」を使用して参照されている)。受信デッドライン日付Dframeは、フレームが受信されるべき最も遅い日付に対応している。このようなフレーム識別子は、DSM1がその受信においてフレームの有効性をチェックすることを許容しており、この場合に、受信デッドライン日付Dframeよりも遅い時点において受け取られたフレームは、無効であるものと見なされている。
【0053】
また、中央コントローラ110によって再構築されたフレームは、フレーム識別子と、フレーム内においてカプセル化されたそれぞれのデータごとに、構成テーブル121から抽出されたデータ構成パラメータと、を有する。
【0054】
図2は、DSM1によって再構築されたフレームの形態の一例を示している。
【0055】
図2に示されているように、DSMフレームは、
- 例えば、フレームのヘッダ内において配置された、フレーム識別子D
Frameに対応するフィールド40、
- それぞれのデータ44ごとに、例えば、データの前に配置された、対応するデータ41、42、及び43用の構成パラメータ
を有する。
【0056】
DSM1による消費者装置3Cから受け取られたフレームの受信に応答して、中央コントローラ110は、フレーム識別子DFrameを使用して、受け取られたフレームの有効性をチェックするように構成されている。フレームが有効であると判定された場合には、フレーム内において含まれているそれぞれのデータごとに、中央コントローラ110は、データによってカプセル化されたデータパラメータを抽出するように構成されている。中央コントローラは、構成テーブルによって提供された情報及び受け取られたフレーム内のデータと関連するデータパラメータに基づいてデータのアドレスを演算するように更に構成されている。中央コントローラ110は、演算されたアドレスに基づいて選択されたメモリシステム10のメモリ101内においてデータを保存するように更に構成されている。
【0057】
メモリシステム10は、異なるタイプの1つ又は複数のメモリ101を有することができる。従って、メモリ101は、例えば、DDR(Double Data Rate)メモリなどの1つ又は複数のスタティックランダムアクセスメモリ(SRAM)及び/又はダイナミックメモリを有することができる。
【0058】
一実施形態において、メモリシステムは、サーバー(制作者装置)によって生成された且つクライアント装置又はシステム(消費者装置)によって消費されるデータを保存するために、例えば、SRAMメモリ及びDDRメモリを有することができる。複数のタイプのメモリを使用し且つ受け取られたデータパラメータに基づいてデータアドレスを演算することは、クライアントアプリケーション(制作者装置)がそれぞれのアプリケーションによって定義されたターゲットビットレート(予想ビットレート)を実現することを許容している。例えば、様々な消費者装置(3C)内において稼働している複数のアプリケーションによって使用されるように意図された大きなデータは、中央コントローラ110により、DDRメモリ内において保存され得る一方で、相対的に小さな重要なデータは、これらのデータに対する高速アクセスを許容するように、SRAMメモリ内において保存することができる。重要なデータとは、迅速に且つ常にアクセス可能となることを要するデータである。
【0059】
DSMシステム1は、様々な消費者及び制作者装置の間において共有されているデータを管理するように構成されており、このデータは、通信ネットワーク2内において流通されるように意図されており、このようなデータの交換は、様々な通信プロトコルを使用することが可能であり、且つ、データは、様々な共有メモリ101内において保存することができる。
【0060】
DSMシステム1は、有利には、構成テーブル121内において定義されているように、ネットワークフレームを構成しているデータの構造及びスケジューリングについて予め受け取られた情報を使用する共有データ管理を実装している。
【0061】
DSMシステム1は、任意のデータについて、データが生成されるべき期間、データが消費されるべき期間、及び受領者消費者(データを消費することになる消費者)を判定するために、アブストラクトスケジューリングモデルを更に使用することができる。次いで、このような制作期間、消費期間、及びターゲット消費者情報は、構成テーブル121を生成するために、P.Dubrulle,C Gaston,N.Kosmatov,A.Lapitre,and S.Louise.“A Dataflow Model with Frequency Arithmetic.”22nd International Conference on Fundamental Approaches to Software Engineering(FASE).Cham:Springer,2019によるモデルなどの通信及び演算モデル(MOCC)に基づいたツールに適用することができる。
【0062】
一実施形態において、構成テーブル121は、
- フレームテーブル1210、
- 送信テーブル1211、及び、
- 制御テーブル1212、
を有することができる。
【0063】
図3~
図5は、フレームテーブル、送信テーブル、及び制御テーブルの例を示している。
【0064】
図3に示されているように、フレームテーブル1210は、DSM1によって通信ネットワーク2上において消費者装置3Cに送信される対象の様々なフレームのリストを含んでいる。例示用の一実施形態において、フレームテーブル1210は、最大で256フレームを列挙することができる。フレームテーブル1210にアクセスするためのアクセスアドレスは、DSM1の稼働が始まった際に自動的に増分されるカウンタを使用して管理することができる。フレームテーブル1210は、フレームに関係する情報の組を有していてもよく、且つ、特に、
- フレームの送信日付(send_date):フレームの送信日付は、1つの且つ同一のフレーム内の様々なサービスからの複数のデータをカプセル化し、これにより、帯域幅を飽和させることを可能にするために、使用することができる。フレームの送信日付は、通信ネットワーク内において必要とされている受信及び送信時点におけるターゲット消費者機器の利用可能性と一貫性を有する。
- ビットの組(例えば、32ビット)においてエンコーディングされた秒用の日付の値「deadline_s」に対応するフィールド(deadline_s)と、別のビットの組(例えば、64ビット)においてエンコーディングされたナノ秒用の日付の値(deadline_ns)に対応するフィールド「deadline_ns」と、という2つのフィールドを有する、送信される対象のフレーム用の受信デッドライン日付:2つのフィールド「deadline_s」及び「deadline_ns」によって定義されているデッドライン受信日付を超えた場合に、受け取られたフレームは、古いものと見なされることになる。
を有することができる。
【0065】
図3は、一実施形態による送信テーブル1211の一例を示している。
【0066】
送信テーブル1211は、通信ネットワーク2上において送信される対象のフレームを構成しているデータのリストを有する。例示用の一実施形態において、送信テーブル1211は、フレーム内に統合される対象の最大で4096個のデータを定義することができる。
【0067】
送信テーブル1211内において、それぞれのデータは、
- データのすべてについて制御テーブル1211にアクセスすることを可能にする第1データ識別子「service_id」及び第2データ識別子「event - id」を有する識別子のペア{service_id,event_id}:本明細書において使用されているサービスは、ゼロ又はこれ超のイベントの論理的な組合せを意味している。イベントは、循環的に又はデータ制作者が変化した際に消費者に送信されるデータを提供している。データ識別子のペアは、N個のデータを識別するために、ビットの組において(例えば、4×109個のデータを識別するために32ビットにおいて)エンコーディンすることができる。
- 制作者サービス/イベント3に関係するデータサンプルの数を表すデータインデックス:データインデックスは、ビットの組において(例えば、データの65×103個のサンプルをアドレス指定するために16ビットにおいて)エンコーディングすることができる。
を有するデータ識別パラメータと関連付けられている。
【0068】
図5は、一実施形態による制御テーブル1212の一例を示している。
【0069】
制御テーブル1212は、通信ネットワーク2内において流れているそれぞれのデータに関係する情報を定義している。制御テーブル1212は、可変サイズのN個のデータに関係する情報を有することができる(N=4×109である例においては、サイズは、最大で65×103バイトに到達し得る)。送信テーブル1211内において保存されているデータ識別子のペアは、制御テーブルにアクセスするためのアクセスアドレスを表している。
【0070】
制御テーブル1212は、制御情報を有していてもよく、且つ、特に、
- メモリシステム10内のデータのアドレスのオフセット(「offset_addr」)、
- メモリシステムとの間において書込み又は読取りされるデータのサイズ(「data_size」):サイズ「data_size」は、使用されているメモリ101の構造と一貫性を有するデータ分割のための定義されたモジュロ8であってよい。
を有することができる。
【0071】
一実施形態において、DSM1の中央コントローラ110は、アドレスオフセット「offset_addr」、データインデックス、及びデータのサイズに基づいてデータの有効メモリアドレスを演算することができる。
【0072】
有利には、構成テーブル内の情報の重要性及び通信のスケジューリング及びセキュリティに対するその影響を考慮するために、構成テーブル内の情報に対するアクセスは、なんらのデータセキュリティプロセスをも必要としていない一方で、これらのデータに対するアクセス時間は、制限されてもよく且つ相対的に高速であってもよい。ペイロードデータを保存しているメモリシステム10のメモリ101とは異なるタイプの別個のストレージ構造内において構成テーブル121を保存することにより、構成テーブル121は、例えば、フラッシュ、SRAM、又はSDRAMメモリ内において保存することができる。
【0073】
マルチプロトコルゲートウェイ11においては、プロトコルコントローラ112及びメモリコントローラ111は、(プロトコルコントローラ112の場合には)特定のプロトコルに又は(例えば、メモリコントローラ111の場合には)特定のメモリモデルに関係するコンポーネントに基づいて実装又はインスタンス化することができる。
【0074】
プロトコルコントローラ112は、所与のプロトコルと関連付けられており、且つ、この同一のプロトコルのデータを捕捉し得るネットワークインターフェイスを有することができる。通信プロトコルは、例えば、Ethernet、TSN、PCIe、CANFD、などのプロトコルなどの任意のプロトコルであってよい。プロトコルコントローラ112は、単一の形態においてデータを提供及び受信するために、中央コントローラ110と通信し得るユーザーインターフェイスを更に有することができる。中央コントローラ110は、データセグメント化などのデータ変換動作を実装し、これにより、データをデータのプロトコル、デコーディング、及び適切なフォーマッティングと一貫性を有するようにすることにより、通信問題を管理するように更に構成されている。
【0075】
メモリコントローラ111は、ユーザーインターフェイスに基づいてトランザクションを管理するように構成されており、ユーザーインターフェイスは、中央コントローラ110と通信し且つターゲットメモリ101との間においてトランザクションを生成している。メモリコントローラ111は、メモリ同期化パラメータについての且つこれを更新するための、且つ、バス反転に関与するデッドサイクルの数を低減するために書込み及び読取りトランザクションを融合させるための、責任を担うように構成されている。また、メモリコントローラ111は、メモリ101に対するデータバスの使用を改善するためにコマンドを再編成している。
【0076】
中央コントローラ110は、有利には、リアルタイムで動作するように構成されている。中央コントローラ110は、メモリコントローラ110を経由してデータを保存するメモリシステム10と1つ又は複数のサブシステム3(消費者及び制作者装置)がプロトコルコントローラ112を経由して接続されている通信ネットワーク2の間においてリアルタイムでリンクを確立することを可能にしている。
【0077】
中央コントローラ110は、使用されている通信媒体とは独立的している。
【0078】
一実施形態において、DSM1は、中央コントローラ110の動作を管理するように且つ特に中央コントローラ110の実行の開始、中断、又は再初期化を管理するように構成されたスーパーバイザ装置(図示されてはいない)を有することができる。また、スーパーバイザは、中央コントローラ110の状態レジスタに対してリアルタイム読取り動作を実行することにより、中央コントローラ110の動作状態を制御するように構成することもできる。このようなレジスタは、データの書込み及び読取りに関するエラーレポートと共に、中央コントローラ110の状態に関係する情報を有することができる。中央コントローラ110のスーパーバイザによって実行される管理は、動作セキュリティメカニズムの実装を可能にしている。
【0079】
一実施形態において、中央コントローラ110は、接続されている通信媒体及びメモリ101の異質性に対して自身を適合させるためにパラメータ化することができる。使用されている通信媒体に応じて、ネットワークフレームは、並行ペイロードデータフロー処理プロセスを実装することにより、中央コントローラ110内において別個に処理することができる。構成テーブル121は、構成情報に対する並行且つ高速アクセスを保証するように、様々な並行ペイロードデータ処理プロセスの間において分散させることができる。
【0080】
メモリシステム10は、複数のAXI(Advanced eXtensible Interface)データ経路を接続するために相互接続コアを使用してもよく、これは、データ幅及びクロックドメインの観点において相互に変化し得る。このような相互接続コアは、経路選択エンティティを有していてもよく、これは、優先順位及び/又は代替仲裁などの選択基準に基づいてプロトコルコントローラ112とメモリコントローラ111の間のデータ経路を選択することを可能にしている。このような相互接続コアは、同時にデータフローの間の輻輳を回避しつつ、ストレージシステム10の様々なメモリ101に対する同時アクセス動作の管理を許容している。
【0081】
演算環境100のニーズに応じて、中央コントローラ110は、その動作を中断又は変更することを必要とすることなしに、変化し得る。例えば、演算環境100に対する新しい通信機器又はサブシステム3の追加は、新しい機器によって提供される新しいサービスによって必要とされているデータを統合するために、この新しい機器に関係するデータ管理経路の複製及び/又は構成テーブル121への新しい機器に関係する情報の追加のみを必要としている。
【0082】
本発明の実施形態は、演算システム(例えば、車両)内において分散されたデータに対するアクセスの時間的保証を提供している。通信要素の喪失又は誤動作の場合にも、破壊された又は遅延したデータには、違法にアクセスすることができない。これは、DSMシステム1の非常に良好な信頼性を結果的にもたらしている。
【0083】
演算環境100によって共有されている中央集中化されたデータベースを形成するストレージ構造を使用することにより、DSMシステム1は、演算ユニット(制作者及び消費者装置)の間における直接的なトランザクションを制限することにより、通信のセキュリティを更に保証している。トランザクション自体は、保護されており、ネットワーク2に接続された様々な消費者機器は、データ制作者装置3P又はデータ制作者装置の場所を知る必要はない。消費者によるデータに対するアクセス動作は、ペイロードデータに対する最小限の権限により、フィルタリングされている。
【0084】
通信媒体に応じて、ネットワークフレームは、中央コントローラ110内において別個に処理されており、これにより、並行データフロー管理を許容することができる。構成テーブル121は、構成データに対する並行且つ高速アクセスを保証するように、様々なペイロードデータ管理ステージの間において分散させることができる。
【0085】
制作者3からDSM1によって受け取られたフレームからのデータの抽出に応答して、中央コントローラ110は、構成テーブル121内のデータと関連するデータ識別子のペアを使用してデータの有効性をチェックすることができる。構成テーブル121は、データのサイズ、メモリシステム10内におけるその場所、データの重要性、及びその生成周期などの構成パラメータの組を更に提供している。データと関連するこのような構成情報に基づいて、中央コントローラ110は、データが保存又は消去されるべきかどうかを判定し、これにより、満了したデータのフィルタリングを可能にすることができる。中央コントローラ110によるフレームの処理に応答して、成功又は失敗通知を中央コントローラのスーパーバイザに送信することができる。
【0086】
DSMシステム1は、メモリ101とは別個の構成テーブル内のデータと関連するパラメータと共に、メモリシステム10内のデータの事前の処理の後に、フレーム内の受け取られたデータの少なくとも一部分を保存することが可能であり、且つ、構成テーブル内において定義されているサービス指向のスケジューリングを考慮することにより、異なる通信プロトコルに従ってデータを様々な消費者装置3C(例えば、演算サブシステム及びインターフェイスカード)にリアルタイムで再送信することができる。自動車に対する本発明の例示用の一適用において、制作者装置3P及び消費者装置3Cは、例えば、車両内において分散された且つ通信ネットワーク2に接続された様々な要素であってよい。
【0087】
フレームの受信の際に、DSMシステム1は、受け取られたフレームが時間的に有効であるかどうかをフレーム内においてカプセル化されたフレーム識別子DFrameを使用して判定するように構成されている。フレームが有効である場合には、ペイロードデータ(アプリケーションデータ)がフレームから抽出されている。それぞれの抽出されたデータごとに、DSM1は、構成テーブル121内において保存されているデータ情報を使用してデータが有効であるかどうかを判定するように構成されている。インデックスと関連するデータサンプルに対応する受け取られたデータの有効性に関するチェックは、別のインデックスと関連付けられた且つメモリ10内において既に保存されている同一のデータの以前のサンプルが制作者装置によっていまだに消費されていないかどうかを判定するステップを有する。このような処理は、通信ネットワーク2に接続された様々な装置の間において使用されている通信プロトコルとは独立している。
【0088】
データが有効である場合には、データが保存されるべきターゲットメモリ101が、構成情報に基づいて演算されたデータアドレスを使用して判定されている。次いで、DSM1は、ターゲットメモリ内においてデータを保存している。
【0089】
また、DSM1は、制作者装置3に送信される対象のフレームを構築する前に、予め保存されているデータをメモリシステム10内にグループ化するように構成されている。
【0090】
中央コントローラ110によって実装され得るグループ化方法は、消費者装置3Cに送信されるように意図された1つ又は複数のフレームを構築するために、DSM1のメモリシステム10内において保存されているこのようなデータを使用しており、この場合に、再構築されたフレームは、通信ネットワークに接続された1つ又は複数の受領者消費者装置3によって消費される対象のアプリケーションデータを有する。それぞれのフレーム内において埋め込まれる対象のアプリケーションデータは、構成テーブル内において判定されている。
【0091】
DMS1は、いくつかの実施形態によれば、再構築されたフレームをフレーム内においてカプセル化されているデータを消費するように構成された1つ又は複数の消費者装置3にリアルタイムで送信するように更に構成されている。それぞれの再構築されたフレームごとに、フレームのリアルタイム利用可能性がチェックされている。次いで、送信される対象のフレームは、通信ネットワーク2によって定義された送信時間ウィンドウ内において、通信ネットワーク2内において送信されている。フレームがネットワーク2内において送信される時点は、構成テーブル内において定義することができる。
【0092】
図6は、いくつかの実施形態によるDSMシステム1の例示用の一実装形態を示している。
図6の例においては、それぞれ、プロトコルP1を介して第1製作者機器3P1(図示されてはいない)からの且つプロトコルP2を介して第2ユーザー機器3P2からの2つのネットワークフレームT1及びT2がDSMシステム1によって受け取られている。受け取られたフレームT1は、アプリケーションデータA及びBを有する一方で、フレームT2は、アプリケーションデータC及びDを有する。構成テーブル121内において定義されたスケジューリングに従って、機器3C1は、データA及びデータCを消費する一方で、機器3C2は、データB及びDを消費している。DSMシステム1は、データA、B、C、及びDの有効性と共に、D
Frameの受け取られた識別子を使用して、受け取られたフレームT1及びT2の有効性を判定している。次いで、DSMシステム1は、メモリ10内において保存するためにアプリケーションデータA、B、C、及びDを抽出しており、これらのアドレスは、構成テーブル121内において保存されている構成パラメータに基づいて予め演算されている。次いで、DSMシステムは、消費者機器3C1に送信されるように意図されたグループ化されたデータA及びCを有する第1フレームと、消費者機器3C2に送信されるように意図されたグループ化されたデータB及びDを有する第2フレームと、を構築するためにグループ化方法を実装している。
【0093】
本発明の実施形態によるDSMシステム1は、受領者機器にとって有用であるデータの中から予め定義された数のデータを有する時点まで、消費者機器に送信されることになるネットワークフレームを構築する前に、待機時間にわたって待機することができる。待機時間は、データフローのすべてについて規定されたエンドツーエンド時間制約を考慮することにより、リアルタイム分散演算環境100の実行の前に、固定されてもよく、予め定義されてもよく、或いは、演算されてもよい。これは、帯域幅使用の最適化を結果的にもたらしている。具体的には、1つの且つ同一のフレーム内において近接した再送信時刻を有する複数のデータをパッケージ化することは、複数の相対的に小さなフレームの構築及び送信を回避している。
【0094】
サービス指向の分散演算環境100内においては、DSM1の動作を中断することなしに、新しい機器を演算環境に追加することができる。具体的には、DSMシステム1又はシステムのその他の要素の変更を必要とすることなしに、この新しい機器にとって有用であるデータを構成テーブル121内において規定することができる。構成テーブル121は、新しい消費者機器にとって有用であるデータに関係する情報を統合するために、更新することができる。有利には、DSMシステム1は、任意の新しい(消費者及び/又は制作者)機器にとって有用であるデータに関係する情報を演算環境100内に透明な方式で統合することにより、(受信/送信)データトランザクションを処理することができる。更には、通信ネットワーク2に接続された様々な機器3は、データ制作者装置又はその場所の任意の事前の知識を必要としてはいない。
【0095】
演算環境について必要とされる性能(時間制御、低レイテンシー、など)を提供するために、DSMシステムは、FPGA(「Field Programmable Gate Array」の頭文字)回路などのプログラム可能な集積回路上において物理的に実装することができる。データは、例えば、規則的なインターバルにおいて且つ自律的に演算環境100内の機器からデータを事前読込みすることにより、DSMシステム1内において一貫性を有する状態において維持することができる。自動車セクタに対する本発明の例示用の一適用において、制作者機器は、例えば、センサを含んでいてもよく、且つ、消費者機器は、アクチュエータを含んでいてもよい。制作者及び消費者機器(例えば、センサ及びアクチュエータ)の間の通信のすべては、単一メモリシステム10を通過しており、これにより、コンピュータのすべてにとってアクセス可能であるメモリ101の統合されたビューを提供することができる。
【0096】
DSMシステム1は、有利には、マルチプロトコルゲートウェイ11と、1つ又は複数の異質なメモリ101を有するメモリシステム10と、3つの構成テーブル(フレームテーブル、送信テーブル、及び制御テーブル)を有する構成システム12と、から構成されたモジュラー型のアーキテクチャを有する。マルチプロトコルゲートウェイ11は、それ自体が複数のサブモジュールを有しており、これらは、n個のプロトコルコントローラ112と、k個のメモリコントローラ111と、中央コントローラ110と、を含む。
【0097】
データ経路のレベルにおいて、プロトコルコントローラ112は、送信媒体のプロトコルの特性との関係において受け取られたフレームをチェックするように且つ中央コントローラ110を通じて有効なフレームを通過させるように構成されている。中央コントローラ110は、ローカルに構成された時間ベースとの関係においてそれぞれの受け取られたフレームの有効性をチェックすることが可能であり、且つ、次いで、例えば、データのサイズ及び重要性などの構成テーブル121内において保存されているデータパラメータに基づいてメモリシステム10内において受け取られたデータのターゲット場所を判定することができる。メモリコントローラ111は、メモリシステム10のメモリ101に対するアクセスを開始するように且つメモリシステム10のターゲットメモリ101内の受け取られたペイロードデータの少なくとも一部分を保存するように意図されている。
【0098】
更には、メモリシステム10内において保存されているデータに基づいて、中央コントローラ110は、構成テーブル121内において予め定義されているスケジューリングに基づいて送信される対象のフレーム内に予めデータをグループ化することにより、消費者装置に送信される対象の新しいフレームを構築するように構成されている。次いで、再構築されたフレームは、通信ネットワーク2を介して演算システム100の消費者装置3Cに後から送信されるように、プロトコルコントローラ112に送信されている。
【0099】
それぞれのサンプルが所与のインデックスに対応している、1つの且つ同一のデータの複数のサンプルを、DSMシステム1によって様々な時点において受け取ることができる。データのそれぞれのサンプルは、サンプルを特徴付ける1つ又は複数のサンプルパラメータと関連付けられている。一実施形態において、サンプルパラメータは、
- 制作者装置3のサービスを表すデータ識別子のペア{service_id,event_id}、
- 制作者によるデータサンプルの提供ランクを表すサンプルインデックス(「index」)、及び、
- データサンプルの利用可能性及び有効性を表す有効性ビット(「valid」)、
を有する。データ識別子のそれぞれのペア{service_id,event_id}ごとに、DSM1は、サンプルインデックス及び有効性ビット{“index”,“valid”}を保存するように構成されたバッファTを定義している。バッファTのサイズは、制作者装置のそれぞれのサービスによって生成されたサンプルの数に基づいて且つアプリケーション要件に基づいてオフラインで定義することができる。例えば、16ビットにおいてエンコーディングされた固定されたサイズのサンプルインデックスの場合に、それぞれの{“index”,“valid”}ペアごとに、8KBのバッファを使用することができる。
【0100】
制作者装置の様々なサービスからのデータは、制作者装置のそれぞれの対応するサービスによって更新することができる。このような実施形態において、専用のメモリエリア(「メモリブロック」とも呼称される)がストレージシステム10のそれぞれのメモリ101内において割り当てられてもよく、この場合に、それぞれのエリアは、制作者装置の1つの且つ同一のサービスのサンプルのすべてを保存するように意図されている。例えば、メモリシステム10のメモリ101kは、p個のメモリエリアにサブ分割されてもよく、この場合に、pは、メモリ101kと関連する制作者サービスの数を表記している(これらのp個のサービスからのデータは、メモリ101k内において保存されることになる)。従って、制作者装置3Pのサービスiによって生成されるデータサンプルは、メモリ101内におけるサービスiに対応するメモリブロック内において保存されることになり、且つ、同一の制作者サービスによってのみ変更され得る。但し、制作者サービスiからのこのようなデータサンプルは、通信ネットワーク2を介してDSM1に接続されている任意の消費者装置(クライアント装置)によって消費され得る。
【0101】
有効性ビットは、ビットが有効化されたことを通知する第1バイナリ値又はビットが無効化されたことを通知する第2バイナリ値を有することができる。一実施形態において、DSM1によるフレームの受信に応答して、データサンプルの有効性ビットが有効化されているかどうかが判定されている。有効性ビットが無効化されている場合には、メモリシステム10内のサンプルと関連するメモリエリアに対するアクセスは、書込みモードにある(データサンプルがメモリエリアに「書込み」され得る)。そうではなくて、有効性ビットが有効化されている場合には、サンプルに対応するメモリエリアに対する書込みアクセスは、いまだ消費されていないメモリエリア内における有効なデータサンプルが同一のデータの別のサンプルによって上書きされることを防止するように、禁止されている。
【0102】
フレームの送信の際には、読取りモードにおいて、有効化された有効性ビットと関連する(従って、第1バイナリ値を有する)データサンプルに対応するメモリエリアのみがアクセス可能である。構成テーブル121は、有利には、依然として有効である以前のサンプルの消費及び/又はいまだ有効でない場合があるフレーム内においてカプセル化される対象のペイロードデータと関連するフレームの構築のトリガの前のデータの新しいサンプルの受信を回避するために、イベントに基づいたスケジューリング情報を有することができる。中央コントローラ110の動作を中断するために、それぞれのデータサンプルの制作、オーバーフライト、及び分析時間を再演算するために、且つ、次いで、新しい構成テーブルを生成するために、エラーメッセージを中央コントローラ110のスーパーバイザに送信することができる。
【0103】
従って、データ制作者装置のそれぞれのサービスは、メモリシステム10内において自身と関連付けられているメモリエリアを変更することができる。更には、DSM1は、消費者装置のアクセスが制作者装置のものと同時ではないことを保証している。従って、DSMシステム1によって交換されるデータは、保護されている。
【0104】
図7は、いくつかの実施形態によるDSM1によって実装されたフレームを受け取る方法について記述している。
【0105】
ステップ600において、データフレームが制作者3から受け取られている。
【0106】
ステップ601において、フレーム内においてカプセル化されたフレーム識別子DFrameを使用して、受け取られたフレームが時間的に有効であるかどうかが判定されている。
【0107】
ステップ601においては、フレームの時間的有効性に関するチェックの前に、ネットワークフレームと制作者装置の間の対応性を通知する情報と共にDSM1が受け取る対象のネットワークフレームを通知する情報を使用して、受け取られたフレームが中央集中化されたコントローラによって処理されるべきかどうかを更に判定することができる。例えば、この予備ステップにおいては、受け取られたフレームが、正しい制作者装置、即ち、このフレームを送信するように意図された制作者装置、によって実際に送信されたかどうかをチェックすることができる。
【0108】
一実施形態においては、ステップ601は、受け取られたフレームの時間的有効性のチェックの前に、DSM1によって受け取られたフレームのデータ又はデータのサブセットのすべてが、まずメモリシステム10内において保存されることなしに、通信ネットワーク2に直接的にリダイレクトされ得るかどうかを判定するステップを更に有することができる。この実施形態においては、このようなデータ又はこのようなデータのサブセットは、ターゲット消費者装置に直接的にリダイレクトされている。このような実施形態は、例えば、このようなデータに適用された時間制約がDSMシステム1のメモリシステム10内のこれらのデータの保存と適合していないケースにおいては、DSMコンポーネント1によって受け取られたデータの再送信の加速化を可能にしている。
【0109】
ステップ602において、フレームが有効である場合には、ペイロードデータ(アプリケーションデータ)がフレームから抽出されている。
【0110】
ステップ603において、それぞれの抽出されたデータごとに、構成テーブル121内に保存されているデータ情報を使用して、データが有効であるかどうかが判定されている。ステップ603は、通信ネットワーク2に接続された様々なエンティティの間において使用されている通信プロトコルとは独立していることに留意されたい。
【0111】
ステップ604において、データが有効である場合には、構成情報に基づいて演算されたデータアドレスを使用して、データが保存されるべきターゲットメモリ101が判定されている。
【0112】
次いで、ステップ605において、データは、ターゲットメモリ内において保存されている。
【0113】
構成テーブル121内において保存されている構成情報を使用して、予め定義されたメモリマッピングに従って、メモリシステム10内においてデータの保存を実装するために、メモリ転送をトリガすることができる。構成テーブル121は、DSM1が受け取られたフレーム及びその構造に関する静的な知識を有することを許容する情報を有する。
【0114】
ステップ604において、対象のデータが保存されるべきストレージシステム10のターゲットメモリブロックに対応するメモリアドレスをデータと関連するデータインデックス(サンプルインデックス「index」)に基づいて演算することができる。一実施形態において、DSMシステム1のメモリシステム10のターゲットメモリアドレス「address_write」は、以下の式(1)を使用してデータインデックス「index」に基づいて演算されている。
address_write=offset_addr+index*data_size (1)
【0115】
式(1)において、パラメータ「offset_addr」は、サンプルインデックスを保存しているバッファTのアドレスを表記しており、且つ、パラメータ「data_size」は、サンプルのサイズを表記している。
【0116】
ステップ605において、(例えば、制作者装置の1つの且つ同一のサービスに専用のエリアであり得る)割り当てられたメモリエリア内における対象のそれぞれのデータの保存を許容するために、対応するメモリコントローラ111により、ターゲットメモリアドレスに対応するターゲットメモリに対するアクセスを開始することができる。
【0117】
ステップ603~605は、受け取られたフレームのデータのすべてが処理される時点まで、メモリシステム10内において保存される対象のそれぞれの抽出されたデータごとに、反復することができる(ステップ606)。
【0118】
ステップ607において、DSMシステムのマルチプロトコルゲートウェイ11のプロトコルコントローラ112とメモリコントローラ111の間におけるデータ転送の終了について通知するために、通知を(例えば、中央コントローラ110によって)ソフトウェアスーパーバイザに送信することができる。
【0119】
図8は、いくつかの実施形態による再構築されたフレームを送信するためにDSMシステム1の中央コントローラ110によって実装されるリアルタイム送信方法を示している。フレームは、フレーム内においてカプセル化されたデータを消費するように意図された1つ又は複数の受領者消費者3Cに送信されている。
【0120】
フレーム送信方法は、フレーム内にグループ化される対象のデータ、データサンプルの送信時間、及びターゲット消費者装置3を判定するために、構成テーブル121内において保存されているイベントに基づいたスケジューリング情報を考慮することにより、フレームを構築及び送信するように実装されている。
【0121】
ステップ800において、送信される対象のフレームのヘッダが構築されている。更には、ステップ800においては、フレームが送信される前に、メモリシステム10からDSMシステム1の対応するプロトコルコントローラ112にデータ転送を開始するために、読取り要求が送信されている。ステップ800においては、送信される対象のフレームに関係する情報を提供する構成テーブル121内において保存されているフレーム情報及びフレーム構造情報を使用することができる。
【0122】
ステップ801において、ステップ800において開始されたメモリ転送の中からの1つ又は複数のメモリ転送がトリガされている。トリガされたメモリ転送は、フレーム内において含まれる対象の1つ又は複数のデータをメモリ10からDSMシステム1の中央コントローラ110に転送している。このようなデータは、ネットワークフレームのアプリケーション部分(44)を形成することになる。メモリシステム10から転送される対象のデータの数に応じて、送信される対象のネットワークフレームのアプリケーション部分が完全に構築される時点まで、ステップ801を反復することができる(ステップ802)。
【0123】
メモリ転送の終了の検出に応答して、送信される対象のフレームは、プロトコルコントローラが利用可能である場合には、対応するプロトコルコントローラ112によって消費者装置に送信されるように、利用可能な状態となっている。いくつかの実施形態において、プロトコルコントローラが予め定義された時間の期間にわたってブロックされている場合には、フレームを拒絶することができる。プロトコルコントローラ112の利用可能性は、ターゲット消費者装置の利用可能性に依存し得る(プロトコルコントローラの利用可能性は、ターゲット消費者装置によって受け取られた使用可能性信号に応答して有効化され得る)。ステップ803において、プロトコルコントローラは、構成テーブル121内のフレームと関連付けられた送信日付(「Send Date」)においてフレームの送信をトリガしている。
【0124】
DSMシステム1によるフレーム送信及び/又はフレーム受信の際には、ネットワークトラフィック監視を実装することができる。
【0125】
一実施形態においては、(所与のインデックスに対応する)新しいデータサンプルの生成とメモリシステム10内においてこのサンプルを利用可能な状態にすることの間の最大遅延Δmaxを判定することができる。
【0126】
また、メモリシステム10からのデータにアクセスするためのアクセス要求と消費者装置3Cに対してデータを利用可能な状態にすることの間の最大遅延Δ’maxを演算することもできる。
【0127】
遅延Δmax及び/又は遅延Δ’maxは、DSMシステム1のプロトコルコントローラ112とメモリシステム10の間のネットワークフレームの受信/送信時間に基づいて演算することができるが、この場合に、これらの時間は、DSMシステム1の内部アーキテクチャに依存している。
【0128】
一実施形態においては、データのエンドツーエンド送信制約が充足されたかどうかをチェックすることができる。具体的には、制作者装置3Pからターゲット消費者装置3Cにサービスデータをルーティングする様々なステップにおいて関与している最大時間遅延の合計がエンドツーエンド時間制約を表す閾値未満であるかどうかを判定することにより、このような制約が充足されているかどうかをチェックすることができるが、この場合に、このような閾値は、通信ネットワーク2の様々な送信媒体の時間振る舞いを考慮している。
【0129】
従って、本発明の実施形態は、ネットワークコントローラ112の様々なタイプ(例えば、CANコントローラ、PCIeコントローラ、TSN/Ethernetコントローラ、など)を装備したDSMシステム1を単一の物理媒体内において提供している。データは、有利には、様々なデータフローの並行管理のステージとは独立的にメモリシステム10内において保存されており、これにより、演算システム100内において通信ネットワーク2に接続された装置のすべて(機器、サブシステム)のデータに対する統合されたアクセスを提供している。DSM1は、有利には、構成システム12内における予め定義されたスケジューリングを充足している制作者装置3Pからのフレーム内において受け取られたデータの処理を許容している。従って、本発明の実施形態によるDSMシステムは、マルチプロトコル送信システムを形成しており、これは、任意のサービス指向のRT分散演算環境内において使用されてもよく、この場合に、所与のプロトコルを介して制作者装置3Pから受け取られたデータは、消費者装置3Cがデータ制作者装置の知識を必要とする(これにより、共有データのセキュリティを増大させる)ことなしに、別のプロトコルを介して消費者装置3Cに再送信することができる。有利には、保存されたデータの送信は、ネットワーク2の少なくとも1つの受領者消費者装置がこのようなデータを必要としている際にのみ、トリガされており、これにより、ネットワーク2及びネットワーク2に接続されたノードのすべて(制作者装置)を輻輳させることを回避することができる。
【0130】
従って、実施形態によるDSMシステム1は、同時にメモリシステム内において保存されているデータの高いレベルのセキュリティを保証しつつ、信号伝播時間、データ送信レイテンシー、及びデータ処理時間の制御を保証する決定論的データ交換を許容している。DSMシステム1は、常にデータに対する高速アクセスを必要としている重要な用途に特に適している。
【0131】
本発明の実施形態は、潜在的に異なる通信プロトコルから受け取られた近接した再送信時刻を有するデータを1つの且つ同一のフレーム内においてパッケージ化することにより、帯域幅使用を決定論的に最適化することを更に可能にしている。具体的には、複数の相対的に小さなフレームを構築及び送信することを回避することにより、パケット内のプロトコルヘッダに使用される帯域幅が最適化されている。
【0132】
本発明の実施形態は、システムに機器を追加することをより容易にしており、この場合に、新しい機器に有用であるデータは、その他の機器に対する変更を必要とすることなしに、DSMシステム1自体上において直接的に利用可能な状態となり得る。
【0133】
DSMシステム1は、実施形態によるフレーム受信方法と共に、共有データへのアクセス動作における任意のデッドライン違反を更に検出してもよく、このような違反は、恐らくは、例えば、接続されたネットワーク上におけるパケットロスに、或いは、さもなければ、ソフトウェアコンポーネントによる送信又は受信の遅延に、由来している。例えば、パケットロスは、受け取られたフレームからデータを抽出した後に、それぞれのデータごとにDSM1によって受け取られたサンプルのインデックスを比較することにより、検出することができる。データの受信の遅延は、データの満了日付を受信日付と比較することにより、検出することができる。データの満了日付は、データと関連するインデックスに基づいて演算することができる。
【0134】
例示用の一実施形態において、サンプルの満了日付は、具体的には、
- サンプルのインデックスと1つの且つ同一のデータのサンプルの制作期間の積Pを、
- ローカル時間カウンタによって提供される時間ウィンドウと、
比較することにより、判定することができる。
【0135】
従って、DSMシステム1は、可能な限り早期にデッドライン違反を検出することにより、且つ、誤ったアクセス動作の伝播を防止することにより、トランザクションのセキュリティ及び効率を保証しており、これにより、その他の消費者装置が影響を受ける且つ満了したデータを送信するために帯域幅が使用されることを防止し得る。
【0136】
当業者は、本発明の実施形態によるシステム又はサブシステムは、多数の形態において、ハードウェア、ソフトウェア、又はハードウェアとソフトウェアの組合せにより、特に、プログラムプロダクトの形態において配布され得るプログラムコードの形態において、様々な方法で実装され得ることを理解するであろう。具体的には、プログラムコードは、コンピュータ可読媒体を使用して配布され得るが、これには、コンピュータ可読媒体及び通信媒体が含まれ得る。本明細書において記述されている方法は、特に、情報技術コンピュータ装置内において1つ又は複数のプロセッサによって実行され得るコンピュータプログラム命令の形態において実装することができる。また、これらのコンピュータプログラム命令は、コンピュータ可読媒体内において保存することもできる。
【0137】
更には、本発明は、非限定的な例として上述した実施形態に限定されるものではない。これは、当業者によって想起され得る変形実施形態のすべてを包含している。具体的には、当業者は、本発明が、以上の説明において例として引用されている例示用のプロトコルに限定されるものではなく、且つ、その他のタイプのプロトコルを含み得ることを理解するであろう。更には、当業者は、本発明が、以上の説明において言及されている例示用の演算システムに限定されるものではないことを理解するであろう。本発明の実施形態によるDSMシステム1は、データが通信ネットワークに接続された制作者装置によって生成され且つこの同一の通信ネットワークに接続された消費者装置によって消費されている任意の演算環境又はシステム内に統合することができる。演算システムの例は、限定を伴うことなしに、自動車、航空宇宙、又は防衛産業のために意図されている環境を含む。
【国際調査報告】