【手続補正書】
【提出日】平成29年3月14日(2017.3.14)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
第１処理ノードから第１要求を受信して、別の処理ノードによって購読されるべき第１通信テーマを表示する第１データストリームのデータブロックを生成し、ここで、前記第１処理ノードは複数処理ノードの一つであり、各処理ノードは、自律走行車を操作する特定機能を処理し、且つ、ここで、それぞれの前記処理ノードは、特定操作環境を有する特定ノードコンテナにおいて実行されるステップと、
前記第１要求に応答し、グローバルメモリから第１グローバルメモリセグメントを分配して前記第１データストリームの前記データブロックを記憶するステップと、
第１ローカルメモリセグメントを前記第１グローバルメモリセグメントにマッピングし、前記第１ローカルメモリセグメントは第１ノードコンテナの第１ローカルメモリから分配され、前記第１ノードコンテナは前記第１処理ノードを含み、ここで、前記第１処理ノードは、前記第１ノードコンテナにおいてマッピングされた第１ローカルメモリセグメントをアクセスすることにより、前記第１グローバルメモリセグメントに記憶される前記第１データストリームの前記データブロックを直接にアクセスするステップと、を含む
ことを特徴とする自律走行車における処理ノードのデータストリームを管理するコンピュータ実施方法。
【請求項２】
前記第１データストリームは、複数の通信テーマと関連する複数のデータストリームの一つであり、且つ、ここで、それぞれの前記データストリームは、前記グローバルメモリから分配されて対応のデータブロックを記憶するための複数のグローバルメモリセグメントの一つと関連付けられる
ことを特徴とする請求項１に記載の方法。
【請求項３】
第２処理ノードから第２要求を受信して前記第１通信テーマを購読するステップと、
第２要求に応答し、第２ローカルメモリセグメントを前記第１グローバルメモリセグメントにマッピングし、前記第２ローカルメモリセグメントは第２ノードコンテナの第２ローカルメモリから分配され、前記第２ノードコンテナは前記第２処理ノードを含み、ここで、前記第２処理ノードは、前記第２ノードコンテナにおいてマッピングされた第２ローカルメモリセグメントをアクセスすることによって、前記第１グローバルメモリセグメントに記憶される前記第１データストリームの前記データブロックを直接にアクセスするステップと、をさらに含む
ことを特徴とする請求項１に記載の方法。
【請求項４】
前記第１ノードコンテナは、前記第１ローカルメモリと関連する第１バーチャルマシンを含み、前記第２ノードコンテナは、前記第２ローカルメモリと関連する第２バーチャルマシンを含む
ことを特徴とする請求項３に記載の方法。
【請求項５】
前記第２処理ノードは、前記第１通信テーマを購読する、購読処理ノードとする複数の処理ノードの一つであり、且つ、ここで、それぞれの前記購読処理ノードは、ローカルメモリセグメントをその対応するローカルメモリから前記第１グローバルメモリセグメントにマッピングして前記第１データストリームの前記データブロックをアクセルする
ことを特徴とする請求項３に記載の方法。
【請求項６】
前記第１処理ノード及び前記第２処理ノードが前記第１グローバルメモリセグメントに記憶される前記データブロックに対するアクセスをモニタリングするステップと、
前記アクセスが所定期間内に活動しない場合は、前記第１グローバルメモリセグメントを、前記第１グローバルメモリセグメントのフリーグローバルメモリプールにリリースするステップと、をさらに含む
ことを特徴とする請求項３に記載の方法。
【請求項７】
前記第１グローバルメモリセグメントに記憶される前記データブロックに対するアクセスをモニタリングするステップにおいては、
前記第１データストリームのすべてのデータブロックが、既に前記第２処理ノードにより読み出されたかどうかを判断するステップと、
前記第１処理ノードによって生成された任意の新しいデータブロックが存在するかどうかを判断し、前記第１データストリームのすべてのデータブロックが既に読み出され、且つ前記所定期間内に新しいデータブロックが生成されていない場合、前記第１グローバルメモリセグメントをリリースするステップと、をさらに含む
ことを特徴とする請求項６に記載の方法。
【請求項８】
前記第１グローバルメモリセグメントをリリースする前に、前記方法は、
前記第１グローバルメモリセグメントから、前記第１ローカルメモリの前記第１ローカルメモリセグメントとのマッピングを解除させるステップと、
前記第１グローバルメモリセグメントから、前記第２ローカルメモリの前記第２ローカルメモリセグメントとのマッピングを解除させるステップと、をさらに含む
ことを特徴とする請求項７に記載の方法。
【請求項９】
第１処理ノードから第１要求を受信して、別の処理ノードによって購読されるべき第１通信テーマを表示する第１データストリームのデータブロックを生成し、ここで、前記第１処理ノードは複数処理ノードの一つであり、各処理ノードは、自律走行車を操作する特定機能を処理し、且つ、ここで、それぞれの前記処理ノードは、特定操作環境を有する特定ノードコンテナにおいて実行されるユニットと、
前記第１要求に応答し、グローバルメモリから第１グローバルメモリセグメントを分配して前記第１データストリームの前記データブロックを記憶するユニットと、
第１ローカルメモリセグメントを前記第１グローバルメモリセグメントにマッピングし、前記第１ローカルメモリセグメントは第１ノードコンテナの第１ローカルメモリから分配され、前記第１ノードコンテナは前記第１処理ノードを含み、ここで、前記第１処理ノードは、前記第１ノードコンテナにおいてマッピングされた第１ローカルメモリセグメントをアクセスすることにより、前記第１グローバルメモリセグメントに記憶される前記第１データストリームの前記データブロックを直接にアクセスするユニットと、を含む
ことを特徴とする自律走行車における処理ノードのデータストリームを管理する装置。
【請求項１０】
前記第１データストリームは、複数の通信テーマと関連する複数のデータストリームの一つであり、且つ、ここで、それぞれの前記データストリームは、前記グローバルメモリから分配されて対応のデータブロックを記憶するための複数のグローバルメモリセグメントの一つと関連付けられる
ことを特徴とする請求項９に記載の装置。
【請求項１１】
前記操作は、
第２処理ノードから第２要求を受信して前記第１通信テーマを購読するユニットと、
第２要求に応答し、第２ローカルメモリセグメントを前記第１グローバルメモリセグメントにマッピングし、前記第２ローカルメモリセグメントは第２ノードコンテナの第２ローカルメモリから分配され、前記第２ノードコンテナは前記第２処理ノードを含み、ここで、前記第２処理ノードは、前記第２ノードコンテナにおいてマッピングされた第２ローカルメモリセグメントをアクセスすることによって、前記第１グローバルメモリセグメントに記憶される前記第１データストリームの前記データブロックを直接にアクセスするユニットと、を含む
ことを特徴とする請求項９に記載の装置。
【請求項１２】
前記第１ノードコンテナは、前記第１ローカルメモリと関連する第１バーチャルマシンを含み、前記第２ノードコンテナは、前記第２ローカルメモリと関連する第２バーチャルマシンを含む
ことを特徴とする請求項１１に記載の装置。
【請求項１３】
前記第２処理ノードは、前記第１通信テーマを購読する、購読処理ノードとする複数の処理ノードの一つであり、且つ、ここで、それぞれの前記購読処理ノードは、ローカルメモリセグメントをその対応するローカルメモリから前記第１グローバルメモリセグメントにマッピングして前記第１データストリームの前記データブロックをアクセルする
ことを特徴とする請求項１１に記載の装置。
【請求項１４】
前記装置は、
前記第１処理ノード及び前記第２処理ノードが前記第１グローバルメモリセグメントに記憶される前記データブロックに対するアクセスをモニタリングするユニットと、
前記第１グローバルメモリセグメントを、前記第１グローバルメモリセグメントのフリーグローバルメモリプールにリリースするユニットと、をさらに含む
ことを特徴とする請求項１１に記載の装置。
【請求項１５】
前記第１グローバルメモリセグメントに記憶される前記データブロックに対するアクセスをモニタリングするユニットは、
前記第１データストリームのすべてのデータブロックが、既に前記第２処理ノードにより読み出されたかどうかを判断するユニットと、
前記第１処理ノードによって生成された任意の新しいデータブロックが存在するかどうかを判断し、前記第１データストリームのすべてのデータブロックが既に読み出され、且つ所定期間内に新しいデータブロックが生成されていない場合、前記第１グローバルメモリセグメントをリリースするユニットと、を含む
ことを特徴とする請求項１４に記載の装置。
【請求項１６】
前記第１グローバルメモリセグメントから、前記第１ローカルメモリの前記第１ローカルメモリセグメントとのマッピングを解除させるユニットと、
前記第１グローバルメモリセグメントから、前記第２ローカルメモリの前記第２ローカルメモリセグメントとのマッピングを解除させるユニットと、
をさらに含む
ことを特徴とする請求項１５に記載の装置。
【請求項１７】
データ処理システムであって、
プロセッサと、
前記プロセッサに接続されて命令を記憶する記憶装置と、を含み、
前記命令が前記プロセッサにより実行される場合、自律走行車を管理する処理ノードのデータストリームの操作を前記プロセッサに実行させ、
前記操作は、
第１処理ノードから第１要求を受信して、別の処理ノードによって購読されるべき第１通信テーマを表示する第１データストリームのデータブロックを生成し、ここで、前記第１処理ノードは複数処理ノードの一つであり、各処理ノードは、自律走行車を操作する特定機能を処理し、且つ、ここで、それぞれの前記処理ノードは、特定操作環境を有する特定ノードコンテナにおいて実行されるステップと、
前記第１要求に応答し、グローバルメモリからグローバルメモリセグメントを分配して前記第１データストリームの前記データブロックを記憶するステップと、
第１ローカルメモリセグメントを前記グローバルメモリセグメントにマッピングし、前記第１ローカルメモリセグメントは第１ノードコンテナの第１ローカルメモリから分配され、前記第１ノードコンテナは前記第１処理ノードを含み、ここで、前記第１処理ノードは、前記第１ノードコンテナにおいてマッピングされた第１ローカルメモリセグメントをアクセスすることにより、前記グローバルメモリセグメントに記憶される前記第１データストリームの前記データブロックを直接にアクセスするステップと、を含む
ことを特徴とするデータ処理システム。
【請求項１８】
前記第１データストリームは、複数の通信テーマと関連する複数のデータストリームの一つであり、且つ、ここで、それぞれの前記データストリームは、前記グローバルメモリから分配されて対応のデータブロックを記憶するための複数のグローバルメモリセグメントの一つと関連付けられる
ことを特徴とする請求項１７に記載のシステム。
【請求項１９】
前記操作は、
第２処理ノードから第２要求を受信して前記第１通信テーマを購読するステップと、
第２要求に応答し、第２ローカルメモリセグメントを第１グローバルメモリセグメントにマッピングし、前記第２ローカルメモリセグメントは第２ノードコンテナの第２ローカルメモリから分配され、前記第２ノードコンテナは前記第２処理ノードを含み、ここで、前記第２処理ノードは、前記第２ノードコンテナにおいてマッピングされた第２ローカルメモリセグメントをアクセスすることによって、前記グローバルメモリセグメントに記憶される前記第１データストリームの前記データブロックを直接にアクセスするステップと、をさらに含む
ことを特徴とする請求項１７に記載のシステム。
【請求項２０】
前記第１ノードコンテナは、前記第１ローカルメモリと関連する第１バーチャルマシンを含み、前記第２ノードコンテナは、前記第２ローカルメモリと関連する第２バーチャルマシンを含む
ことを特徴とする請求項１９に記載のシステム。
【請求項２１】
前記第２処理ノードは、前記第１通信テーマを購読する、購読処理ノードとする複数の処理ノードの一つであり、且つ、ここで、それぞれの前記購読処理ノードは、ローカルメモリセグメントをその対応するローカルメモリから前記第１グローバルメモリセグメントにマッピングして前記第１データストリームの前記データブロックをアクセルする
ことを特徴とする請求項１９に記載のシステム。
【請求項２２】
前記操作は、
前記第１処理ノード及び前記第２処理ノードが前記第１グローバルメモリセグメントに記憶される前記データブロックに対するアクセスをモニタリングするステップと、
前記アクセスが所定期間内に活動しない場合は、前記第１グローバルメモリセグメントを、前記グローバルメモリセグメントのフリーグローバルメモリプールにリリースするステップと、をさらに含む
ことを特徴とする請求項１９に記載のシステム。
【請求項２３】
前記第１グローバルメモリセグメントに記憶される前記データブロックに対するアクセスをモニタリングするステップにおいては、
前記第１データストリームのすべてのデータブロックが、既に前記第２処理ノードにより読み出されたかどうかを判断するステップと、
前記第１処理ノードによって生成された任意の新しいデータブロックが存在するかどうかを判断し、前記第１データストリームのすべてのデータブロックが既に読み出され、且つ前記所定期間内に新しいデータブロックが生成されていない場合、前記第１グローバルメモリセグメントをリリースするステップと、をさらに含む
ことを特徴とする請求項２２に記載のシステム。
【請求項２４】
前記グローバルメモリセグメントをリリースする前に、前記操作は、
前記グローバルメモリセグメントから、前記第１ローカルメモリの前記第１ローカルメモリセグメントとのマッピングを解除させるステップと、
前記グローバルメモリセグメントから、前記第２ローカルメモリの前記第２ローカルメモリセグメントとのマッピングを解除させるステップと、をさらに含む
ことを特徴とする請求項２３に記載のシステム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】発明の名称
【補正方法】変更
【補正の内容】
【発明の名称】自律走行車における処理ノードのデータフローを管理する方法、装置及びシステム
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００５
【補正方法】変更
【補正の内容】
【０００５】
本発明の実施形態は、自律走行車における処理ノードのデータストリームを管理するためのコンピュータ実施方法、自律走行車における処理ノードのデータストリームを管理するための装置及びデータ処理システムを提供する。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】０００６
【補正方法】変更
【補正の内容】
【０００６】
本発明の様態において、自律走行車における処理ノードのデータストリームを管理するためのコンピュータ実施方法を提供し、この方法は、第１処理ノードから第１要求を受信して、別の処理ノードによって購読（サブスクライブ）されるべき第１通信テーマを表示する第１データストリームのデータブロックを生成し、ここで、前記第１処理ノードは複数処理ノードの一つであり、各処理ノードは、自律走行車を操作する特定機能を処理し、且つ、ここで、それぞれの前記処理ノードは、特定操作環境を有する特定ノードコンテナにおいて実行されるステップと、前記第１要求に応答し、グローバルメモリから第１グローバルメモリセグメントを分配して前記第１データストリームの前記データブロックを記憶するステップと、第１ローカルメモリセグメントを前記第１グローバルメモリセグメントにマッピングし、前記第１ローカルメモリセグメントは第１ノードコンテナの第１ローカルメモリから分配され、前記第１ノードコンテナは前記第１処理ノードを含み、ここで、前記第１処理ノードは、前記第１ノードコンテナにおいてマッピングされた第１ローカルメモリセグメントをアクセスすることにより、前記第１グローバルメモリセグメントに記憶される前記第１データストリームの前記データブロックを直接にアクセスするステップと、を含む。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】０００７
【補正方法】変更
【補正の内容】
【０００７】
もう一つの様態において、自律走行車における処理ノードのデータストリームを管理する装置を提供し、この装置は、第１処理ノードから第１要求を受信して、別の処理ノードによって購読されるべき第１通信テーマを表示する第１データストリームのデータブロックを生成し、ここで、前記第１処理ノードは複数処理ノードの一つであり、各処理ノードは、自律走行車を操作する特定機能を処理し、且つ、ここで、それぞれの前記処理ノードは、特定操作環境を有する特定ノードコンテナにおいて実行されるユニットと、前記第１要求に応答し、グローバルメモリから第１グローバルメモリセグメントを分配して前記第１データストリームの前記データブロックを記憶するユニットと、第１ローカルメモリセグメントを前記第１グローバルメモリセグメントにマッピングし、前記第１ローカルメモリセグメントは第１ノードコンテナの第１ローカルメモリから分配され、前記第１ノードコンテナは前記第１処理ノードを含み、ここで、前記第１処理ノードは、前記第１ノードコンテナにおいてマッピングされた第１ローカルメモリセグメントをアクセスすることにより、前記第１グローバルメモリセグメントに記憶される前記第１データストリームの前記データブロックを直接にアクセスするユニットと、を含む。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００２７
【補正方法】変更
【補正の内容】
【００２７】
もう一度図１を参照し、無線通信システム１１２は、自律走行車１０１が外部システム（例えば、装置、センサ、その他の車両など）との通信を許可する。例えば、無線通信システム１１２は、直接的に又は通信ネットワークを介して１つ又は複数の装置と無線で通信でき、例えば、ネットワーク１０２を介して、サーバ１０３〜１０４と通信する。無線通信システム１１２は、任意のセルラ通信ネットワーク又は無線ＬＡＮ（ＷＬＡＮ）、例えばＷｉＦｉ（登録商標）を用いて他の部品またシステムを通信してもよい。無線通信システム１１２は、例えば赤外リンク、ブルートゥース（登録商標）等を用いて装置（例えば、搭乗者の移動装置、ディスプレイ装置、車両１０１内のスピーカー）と直接通信できる。ユーザインタフェースシステム１１３は、車両１０１において取り付けられた外部装置の一部であってもよく、例えば、キーボード、タッチパネル装置、マイクロフォン及びスピーカーなどを含む。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００３７
【補正方法】変更
【補正の内容】
【００３７】
また、ユーザは、コンテンツストア又はデータベースからのプリコンパイル済みのコンテンツ（例えば、ビデオ、映画）リストから詳しく選択し、前記コンテンツメモリ又はデータベースは、ネットワーク（例えば、クラウド）を介して、コンテンツ提供者のコンテンツサーバによって周期的に更新される。それにより、ユーザは、リアルタイムにキャプチャしたリアルタイムのアクチュアルコンテンツ又は予めレンダリングしたコンテンツを具体的に選択し、表示装置に表示させてもよい。例えば、データメモリから検索する。例えば、自律走行車１０１はニューヨーク市内に雪が降る日に走行しているとする場合、ユーザは、表示装置を切り替え、ハワイの晴れている環境を表示させ、自律走行車１０１が晴れている日に走行するようにさせる。コンテンツは、複数の表示装置（例えば、複数の窓）において、協力又は協調の形態（即ち、仮想現実方法）で表示されてもよい。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００６１
【補正方法】変更
【補正の内容】
【００６１】
一実施形態において、処理ロジック（例えば、メモリマネジャー３２１及び／又は処理ノードのノードマネジャー）は、アクセスポインタ５０２を検査してどのデータブロックが読み出されたか及び全てのデータブロックが読み出さたかどうかを判断することができる。処理ロジックは、アクセスポインタ５０２に基づいて、新しいデータブロックを生み出すスピード及びデータブロックを購読するスピードをさらに決定することができる。もし読み出しポインタは、書き込みポインタと同一又は隣接である場合、大部分又はすべてのデータブロックが読み出されたことを示す。特定処理ノードが別の処理ノード又は対応する処理ノードより速くデータブロックをアクセスすることをさらに示すことができる。もし、複数の生産者ノードが存在する場合、前記生産者ノードにおいて書き込みポインタを共用する。書き込みポインタは、排他ロックの一部として用いられことで一つ生産者が所定時間点にデータを書き込むことを可能にする。データを入力する前に、生産者ノード又はメモリマネジャーは誰か書き込みポインタを取得したかを判断することができる。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００６２
【補正方法】変更
【補正の内容】
【００６２】
一実施形態において、それぞれのエントリーは、タイムスタンプを記憶するフィールド５０３をさらに含んでもよく、前記タイムスタンプは、アクセスポインタ５０２が更新される時間を表示する。タイムスタンプ５０３は、生産者ノードが生成した任意の新しいデータブロックが存在するかどうかを決定するために用いられてもよい。生産者ノードの書き込みポインタ５０２は、タイムスタンプ５０３に示される時間内に更新されなかった場合は、新しいデータブロックが生成されていないと理解してもよい。類似的に、購読者ノードは所定時間内にその読み出しポインタを更新しなかった場合、前記購読者ノードは通信テーマを購読しないことを示すことができる。この指示は、フィールド５０２において示される、書き込みポインタが読み出しポインタとの接近程度と組み合わせし、処理ロジックはすべてのデータブロックが購読者に読み出されたかどうか、及び所定時間内に新しいデータブロックが生成されないかどうかを判断することができる。そうであれば、対応する通信セッションは完了してもよく、且つ対応するグローバルメモリセグメントをリリースしてもよい。また、タイムスタンプ５０３は、特定処理ノードが正常に機能しないかどうかを判断するために用いられてもよい。例えば、もし特定処理ノードは一定の期間内にそれのポインタを更新しなかった場合は、前記処理ノードが故障している又は循環に落ちているかもしれない。そして、処理ロジックは、データ構造に記憶するいくつかの情報をリセットすることにより、通信セッションを再開することができる。
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】００７２
【補正方法】変更
【補正の内容】
【００７２】
一実施形態において、システム１５００は、バス又は相互接続部材１５１０によって接続されたプロセッサ１５０１、メモリ１５０３及び装置１５０５〜１５０８を備える。プロセッサ１５０１は、単一のプロセッサコア又は複数のプロセッサコアを含む単一のプロセッサ又は複数のプロセッサを備えてもよい。プロセッサ１５０１は、マイクロプロセッサ、中央処理装置（ＣＰＵ）等のような１つ又は複数の汎用プロセッサであってもよい。より具体的には、プロセッサ１５０１は、複雑命令セット計算（ＣＩＳＣ）マイクロプロセッサ、縮小命令セットコンピュータ（ＲＩＳＣ）マイクロプロセッサ、超長命令語（ＶＬＩＷ）マイクロプロセッサ、又は他の命令セットを実現するプロセッサ、又は命令セットの組合せを実現するプロセッサであってもよい。プロセッサ１５０１は、さらに、専用集積回路（ＡＳＩＣ）、セルラ又はベースバンドプロセッサ、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、デジタル信号プロセッサ（ＤＳＰ）、ネットワークプロセッサ、グラフィックプロセッサ、通信プロセッサ、暗号プロセッサ、コプロセッサ、組み込みプロセッサのような１つ又は複数の専用プロセッサ、或いは命令処理可能な任意の他のタイプのロジックであってもよい。