(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-12-15
(54)【発明の名称】共有して利用されるメモリ手段を利用するための方法、コンピュータプログラム、記憶媒体、メモリ手段、およびシステム
(51)【国際特許分類】
G06F 12/14 20060101AFI20221208BHJP
【FI】
G06F12/14 510A
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2022520387
(86)(22)【出願日】2020-09-30
(85)【翻訳文提出日】2022-05-30
(86)【国際出願番号】 EP2020077397
(87)【国際公開番号】W WO2021064037
(87)【国際公開日】2021-04-08
(31)【優先権主張番号】102019215298.8
(32)【優先日】2019-10-04
(33)【優先権主張国・地域又は機関】DE
(81)【指定国・地域】
(71)【出願人】
【識別番号】591245473
【氏名又は名称】ロベルト・ボッシュ・ゲゼルシャフト・ミト・ベシュレンクテル・ハフツング
【氏名又は名称原語表記】ROBERT BOSCH GMBH
(74)【代理人】
【識別番号】100118902
【氏名又は名称】山本 修
(74)【代理人】
【識別番号】100196508
【氏名又は名称】松尾 淳一
(74)【代理人】
【識別番号】100161908
【氏名又は名称】藤木 依子
(72)【発明者】
【氏名】エルツシッグ,クリスティアン
(72)【発明者】
【氏名】クレンケ,ディートリヒ
(72)【発明者】
【氏名】クラウス,マティアス
(72)【発明者】
【氏名】キラット,マティアス
(72)【発明者】
【氏名】ペーンル,ミヒャエル
(72)【発明者】
【氏名】パルカ,ピョートル
【テーマコード(参考)】
5B017
【Fターム(参考)】
5B017AA01
5B017BA06
5B017BB06
5B017CA03
(57)【要約】
ユーザによる、とりわけコンピュータに実装されたアプリケーションによる、共有して利用されるメモリ手段の利用のための、コンピュータに実装された方法(100)であって、この共有して利用されるメモリ手段が少なくとも1つのパーティションに分割されており、各パーティションに利用権限、とりわけ書き込み権限および/または読み取り権限が割り当て可能であり、この利用権限に多数のユーザグループが割り当て可能であり、ユーザが1つのユーザグループのメンバーであり、この場合、ユーザが少なくとも1つのパーティションの第1のパーティションにアクセスし、かつこのユーザがこのアクセスに相応する利用権限に割り当てられたユーザグループの1つのメンバーではない場合、このユーザによる、共有して利用されるメモリの利用が阻止される(101)方法(100)。
【特許請求の範囲】
【請求項1】
ユーザによる、とりわけコンピュータに実装されたアプリケーションによる、共有して利用されるメモリ手段の利用のための、コンピュータに実装された方法(100)であって、前記共有して利用されるメモリ手段が少なくとも1つのパーティションに分割されており、各パーティションに利用権限、とりわけ書き込み権限および/または読み取り権限が割り当て可能であり、前記利用権限に多数のユーザグループが割り当て可能であり、前記ユーザが1つのユーザグループのメンバーであり、この場合、前記ユーザが前記少なくとも1つのパーティションの第1のパーティションにアクセスし、かつ前記ユーザが前記アクセスに相応する前記利用権限に割り当てられた前記ユーザグループの1つのメンバーではない場合、前記ユーザによる、前記共有して利用されるメモリの利用が阻止される(101)方法(100)。
【請求項2】
請求項1に記載の方法(100)のすべてのステップを実行するよう適応されているコンピュータプログラム。
【請求項3】
請求項2に記載のコンピュータプログラムが保存されている電子記憶媒体。
【請求項4】
請求項1に記載の方法(100)で使用するために適応されている共有して利用されるメモリ手段(210)。
【請求項5】
パーティション(211a、211b)を有し、前記パーティション(211a、211b)への利用権限の割当ておよび前記利用権限への多数のユーザグループの割当てがアクセスコントロールリストを介して行われる、請求項4に記載のメモリ手段(210)。
【請求項6】
請求項5に記載の共有して利用されるメモリ手段(210)およびセントラルサービスを含むシステム(200)であって、前記セントラルサービスが、前記メモリ手段(210)のためのパーティションを作成し、かつ前記パーティション(211a、211b)の前記利用権限の割当ておよび前記利用権限への多数のユーザグループの割当てを、前記アクセスコントロールリストを使って管理するシステム(200)。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンピュータに実装された方法、コンピュータプログラム、電子記憶媒体、共有して利用されるメモリ手段、およびシステムを提供する。
大きなデータ量が処理されるシステムでは、データのコピーは費用のかかる事柄であり、つまり一部の工程では、利用可能な計算リソースの大きな割合を必要とする。運転者支援または自動運転のためのシステムでは、例えば1秒につき数ギガバイトが処理される。したがってデータのコピーができるだけ回避されると、例えば計算時間の形態での)有益な計算リソースが節減され得る。
【背景技術】
【0002】
複数の計算コアまたは実行の様々なコンテキスト(例えばOSEK動作システム上での様々なタスク)を有するシステム上では、アプリケーションの並行部分の間でのデータの一貫性のある伝送を保証するために通信ミドルウェアを用いることが知られている。通信ミドルウェアの参加者は、生産者および消費者である。これに関し、生産者はデータを通信ミドルウェアに格納し、これは、ミドルウェアによって管理されるメモリ内へのデータのドロップによって行われ得る。消費者は格納されたデータを利用し、これは、ミドルウェアによって管理されている相応のメモリの読み出しによって行われ得る。
【0003】
コピーを回避するため、とりわけデータの格納にいわゆる「ゼロコピー」手法を利用することが知られている。「ゼロコピー」手法に基づく通信ミドルウェアは典型的には二段階で進行する。第1のステップでは、生産者が通信ミドルウェアによってメモリまたはメモリ手段を要求する。第2のステップでは、生産者が、要求されたメモリに供給すべきデータを書き込む。
【0004】
典型的には、メモリ内へのデータの格納により、生産者に対し、格納されたデータを変更する可能性が失われる。なぜならデータの事後変更は、結果として通信システムの未定義動作となり得るからである。
【0005】
「ゼロコピー」手法を実行するために、共有して利用されるメモリ手段(英語:shared memory)内にデータをドロップすることが知られており、このメモリ手段は、すべての生産者および消費者(より一般的には:アプリケーション)によって読み取りおよび書き込みされ得る。これは、セーフティの問題もセキュリティの問題も生じさせ得る。
【0006】
セーフティの問題とは、ここでは、例えば1つのアプリケーションが予定外に、別のアプリケーションのために設けられたメモリ領域に書き込み、それにより意図していなかった動作を作動させることと理解される。
【0007】
セキュリティの問題とは、ここでは、例えば1つのアプリケーションが意図的におよび悪意をもって別のアプリケーションに影響を及ぼすといったことと理解される。
これらの問題を解決するため、なかでもメモリ管理ユニット(英語:Memory Management Units;MMU)を用いることが知られている。このMMUは典型的には物理メモリアドレスを仮想アドレスに変換する。これにより、1つのアプリケーションはかなりの作業量を伴ってのみ別のアプリケーションのメモリにアクセスできる、つまりなかでも読み取りおよび書き込みできる。この安全メカニズムは共有メモリ手段によって弱められ、なぜならこの場合には、すべてのアプリケーションがそのそれぞれのアドレス空間にこのメモリを呼び込むことができ、それによりメモリへのアクセスを有するからである。
【発明の概要】
【0008】
これを踏まえて本発明は、ユーザによる、共有して利用されるメモリ手段の利用のための、コンピュータに実装された方法であって、共有して利用されるメモリ手段が少なくとも1つのパーティションに分割されており、各パーティションに利用権限、とりわけ書き込み権限および/または読み取り権限が割り当て可能であり、この利用権限に多数のユーザグループを割り当て可能であり、ユーザが1つのユーザグループのメンバーであり、この場合、ユーザが少なくとも1つのパーティションの第1のパーティションにアクセスし、かつこのユーザがこのアクセスに相応する利用権限に割り当てられたユーザグループの1つのメンバーではない場合、このユーザによる、共有して利用されるメモリの利用が阻止される、方法を提供する。
【0009】
ユーザとは、ここでは、なかでもコンピュータに実装されたアプリケーションのことと理解され得る。
利用権限とは、ここでは、なかでも書き込み権限または読み取り権限のことと理解され得る。
【0010】
書き込み権限とは、ここでは、アクセスしているユーザ、例えばコンピュータに実装されたアプリケーションがパーティションに、パーティション内に保存されたデータが変更されているようにまたはアクセス後に変更されているようにアクセスしてよいということと理解され得る。
【0011】
読み取り権限とは、ここでは、アクセスしているユーザ、例えばコンピュータに実装されたアプリケーションがパーティションに、ユーザがパーティション内に保存されたデータを読み取れるまたは読み出せるようにアクセスしてよいことと理解され得る。典型的には、読み取りアクセス中、パーティションに内包されているデータは保たれたままであり、かつアクセス後に変更されていない。ユーザが読み取り権限しか有さない場合、アクセスしているユーザによる、パーティションに内包されているデータの変更は不可能である。動作システムがこれを相応の手段によって保証する。
【0012】
本発明の方法は、共有して利用されるメモリの複数のパーティションによる設定が作成され、この設定が、アプリケーションごとに、それも相応のグループへのアプリケーションの所属に基づき、個別のアクセス権限を定義することにより、共有して利用されるメモリ手段へのアプリケーションのアクセスが制限されるという利点を提供する。これにより、システムのセーフティレベルおよびセキュリティレベルが上がり、つまり改善される。
【0013】
本発明のさらなる態様は、本発明に基づく方法のすべてのステップを実行するように適応されているコンピュータプログラムである。
本発明のさらなる態様は、本発明に基づくコンピュータプログラムが保存されている電子記憶媒体である。
【0014】
本発明のさらなる態様は、本発明に基づく方法で使用するために適応されている共有して利用されるメモリ手段である。
メモリ手段の一実施形態によれば、メモリ手段がパーティションを有し、パーティションへの利用権限の割当ておよび利用権限への多数のユーザグループの割当てがアクセスコントロールリストを介して行われる。
【0015】
アクセスコントロールリスト(ACL)とは、ここでは、それを使うことで単項で、利用権限、なかでも書き込み権限または読み取り権限がユーザまたはユーザグループに付与され得るリストのことと理解され得る。ACLはこの場合、システム内で、典型的にはセントラルサービスによって管理される。アクセス制御はこの場合、典型的には動作システムにより、ACLに基づき、割り当てられた利用権限に依存して行われる。
【0016】
本発明のさらなる態様は、本発明の実施形態に基づく共有して利用されるメモリ手段およびセントラルサービスを含むシステムであって、このセントラルサービスが、メモリ手段のためのパーティションを作成し、かつパーティションへの利用権限の割当ておよび利用権限への多数のユーザグループの割当てを、アクセスコントロールリストを使って管理する、システムである。
【0017】
セントラルサービスとは、ここでは、動作システムのサービスまたはソフトウェアシステムの動作システムに近いサービスのことと理解され得る。
以下に、本発明の一実施形態を図面に基づいて解説する。
【図面の簡単な説明】
【0018】
【
図1】本発明の方法の一実施形態のフロー図である。
【
図2】本発明に基づくシステムのブロック図である。
【発明を実施するための形態】
【0019】
図1は、本発明の方法の一実施形態のフロー図を示す。
ステップ101では、ユーザによる、共有して利用されるメモリの利用が阻止される。この阻止が行われるのは、ユーザが、共有して利用されるメモリの第1のパーティションのそれぞれの利用が許可されたユーザグループのメンバーではなかったにもかかわらず、ユーザが、共有して利用されるメモリの第1のパーティションへアクセスしようとしたからである。
【0020】
このような事例が起こり得るのは、例えば一人の生産者が、例えば少なくとも部分的に自動化されて動作する車両内の複数の周辺環境センサのセンサデータの融合のための融合方法が、消費者への、例えば車両の横方向制御および縦方向制御のための方法への、コピーの少ない(「ゼロコピー」手法)供給のために、共有して利用されるメモリ手段の1つのパーティションにデータを書き込もうとし、かつこの利用(書き込み)に対し、相応の利用権限(書き込み権限)に割り当てられている必要なユーザグループのメンバーではない場合などである。
【0021】
この利用権限は、アクセスコントロールリスト(ACL)を使って、共有して利用されるメモリ手段の単一のパーティションに対して精巧に付与され得る。これに関しては、セントラルサービス、つまり例えば動作システムのサービスまたはソフトウェアシステム内の動作システムに近いサービスが、パーティションを作成でき、かつACLを介して利用権限を規定することができる。その際、書き込むためにこれらのパーティションにアクセスしてよい利用グループも、読み取るためにのみこれらのパーティションにアクセスしてよいグループも作成される。これにより、共有して利用されるメモリ手段のこれらのパーティションへは、それぞれの書き込みグループまたは読み取りグループにいるユーザ、例えばアプリケーションしかアクセスできないことが保証され得る。その他のすべてのユーザに対しては、例えば動作システムがアクセスを阻止し得る。
【0022】
図2は、本発明に基づくシステム200のブロック図を示す。
システム200は、共有して利用されるメモリ210を含む。このメモリは、セントラルサービス212により、パーティション211a、211bに分割されている。各パーティションは、利用権限、例えば書き込み権限または読み取り権限を有する。それぞれの権限に、利用グループを割り当てていなくてもよく、または1つもしくは複数の利用グループを割り当てていてもよい。この例では、パーティション211aが1つの書き込み権限および1つの読み取り権限を有する。パーティション211aの書き込み権限にはグループAが割り当てられている。読み取り権限にはグループBが割り当てられている。さらに、パーティション211bも1つの読み取り権限および1つの書き込み権限を有する。パーティション211bの書き込み権限にはグループBが割り当てられている。読み取り権限にはグループCが割り当てられている。システム200はさらにアプリケーション220a~220eを含む。各アプリケーションは、利用グループに割り当てられていなくてもよく、または1つもしくは複数の利用グループに割り当てられていてもよい。この例では、アプリケーションがそれぞれ1つの利用グループに割り当てられている。つまりアプリケーション220aはグループAに、アプリケーション220bはグループBに、アプリケーション220cはグループBに、アプリケーション220dはグループCに、アプリケーション220eはグループDに割り当てられている。
【0023】
アプリケーション220a~220eは、共有して利用されるメモリ手段210を利用する。これに関し、メモリ手段に向かう矢印は書き込みアクセスを表しており、アプリケーションに向かう矢印は読み取りアクセスを表す。双方向矢印は、管理アクティビティを表す。
【0024】
アプリケーション220a~220dのアクセスは、それぞれのアプリケーションが、それぞれの利用グループでのメンバーシップに相応するやり方でのみパーティション211a、211bにアクセスするので阻止されない。
【0025】
これに対しアプリケーション220eは、書き込むためにパーティション211bにアクセスする。ただしパーティション211bの書き込み権限にはグループBが割り当てられている。しかしアプリケーション220eはグループDのメンバーである。したがって本発明によれば、アプリケーション220eによる、共有して利用されるメモリのこのパーティションの利用は阻止される。
【国際調査報告】