IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ トヨタ モーター ノース アメリカ,インコーポレイティドの特許一覧

(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-10-31
(54)【発明の名称】ロバストな無線リプログラミング
(51)【国際特許分類】
   G06F 8/654 20180101AFI20241024BHJP
   G01C 21/26 20060101ALI20241024BHJP
【FI】
G06F8/654
G01C21/26 A
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024529619
(86)(22)【出願日】2022-11-18
(85)【翻訳文提出日】2024-07-17
(86)【国際出願番号】 US2022050500
(87)【国際公開番号】W WO2023091722
(87)【国際公開日】2023-05-25
(31)【優先権主張番号】17/696,687
(32)【優先日】2022-03-16
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】63/280,722
(32)【優先日】2021-11-18
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】519092129
【氏名又は名称】トヨタ モーター ノース アメリカ,インコーポレイティド
(74)【代理人】
【識別番号】100099759
【弁理士】
【氏名又は名称】青木 篤
(74)【代理人】
【識別番号】100123582
【弁理士】
【氏名又は名称】三橋 真二
(74)【代理人】
【識別番号】100092624
【弁理士】
【氏名又は名称】鶴田 準一
(74)【代理人】
【識別番号】100147555
【弁理士】
【氏名又は名称】伊藤 公一
(74)【代理人】
【識別番号】100123593
【弁理士】
【氏名又は名称】関根 宣夫
(74)【代理人】
【識別番号】100133835
【弁理士】
【氏名又は名称】河野 努
(72)【発明者】
【氏名】エドワード アレン ケイン,ジュニア
(72)【発明者】
【氏名】サタジット ピー.パットネ
(72)【発明者】
【氏名】ラッセル ケー.バーカー
(72)【発明者】
【氏名】ライアン エヌ.ウイルソン
(72)【発明者】
【氏名】イスマイル サニッケル
【テーマコード(参考)】
2F129
5B376
【Fターム(参考)】
2F129AA03
2F129AA11
2F129BB03
2F129BB20
2F129DD12
2F129DD15
2F129FF09
2F129FF11
2F129FF13
2F129FF15
2F129FF18
2F129FF20
2F129FF51
2F129GG03
2F129GG04
2F129GG05
2F129GG17
2F129GG18
2F129GG24
2F129GG28
2F129HH04
2F129HH14
2F129HH18
2F129HH19
2F129HH20
2F129HH21
5B376CA71
5B376GA07
(57)【要約】
例示的な動作は、車における不揮発性の電気的に消去可能なメモリストレージの更新をダウンロードすることと、メモリストレージがメモリのバイトのブロック及びメモリの個々のバイトのうちの一方で配置されているかどうかを決定することと、メモリストレージの配置に基づいてプログラミングプロトコルを選択することと、選択されたプログラミングプロトコルに基づいてメモリストレージに書き込むことと、のうちの1つ以上を含む。
【選択図】図1B
【特許請求の範囲】
【請求項1】
車における不揮発性の電気的に消去可能なメモリストレージの更新をダウンロードすることと、
前記メモリストレージがメモリのバイトのブロック及びメモリの個々のバイトのうちの一方で配置されているかどうかを決定することと、
前記メモリストレージの配置に基づいてプログラミングプロトコルを選択することと、
前記選択されたプログラミングプロトコルに基づいて前記メモリストレージに書き込むことと、
を含む、方法。
【請求項2】
前記ダウンロードが中断された場合に中断フラグを生成することと、
前記中断フラグに一致する前記中断されたダウンロードの前記メモリストレージの配置を決定することと、
前記メモリストレージの配置に基づいて前記ダウンロードを再開することと、
を更に含む、請求項1に記載の方法。
【請求項3】
前記ダウンロードが完了したかどうかを決定することと、
前記ダウンロードが未完了である場合に中断フラグを出すことと、
を更に含む、請求項1に記載の方法。
【請求項4】
前記中断フラグが検出される場合にマジックナンバを生成することと、
前記ダウンロードが終了したメモリ場所において前記マジックナンバを前記メモリストレージに書き込むことと、
前記ダウンロードが終了した前記メモリ場所において前記ダウンロードを再開することと、
を更に含む、請求項3に記載の方法。
【請求項5】
前記マジックナンバは、ランダムに生成される、請求項4に記載の方法。
【請求項6】
前記ダウンロードを一時的なストレージに書き込むことと、
前記ダウンロードを検証することと、
前記検証されたダウンロードを前記一時的なストレージから前記メモリストレージにコピーすることと、
を更に含む、請求項1に記載の方法。
【請求項7】
前記ダウンロードが中断された場合に中断フラグを生成することと、
中断フラグが生成されなかった場合に前記メモリストレージから起動することと、
前記中断フラグが生成された場合に前のメモリストレージから起動することと、
を更に含む、請求項1に記載の方法。
【請求項8】
輸送手段に対して動作可能に接続されたエンジン制御ユニットを備えるシステムであって、前記エンジン制御ユニットは、
車における不揮発性の電気的に消去可能なメモリストレージの更新をダウンロードし、
前記メモリストレージがメモリのバイトのブロック及びメモリの個々のバイトのうちの一方で配置されているかどうかを決定し、
前記メモリストレージの配置に基づいてプログラミングプロトコルを選択し、
前記選択されたプログラミングプロトコルに基づいて前記メモリストレージに書き込む、システム。
【請求項9】
前記エンジン制御ユニットは、
前記ダウンロードが中断された場合に中断フラグを生成し、
前記中断フラグに一致する前記中断されたダウンロードの前記メモリストレージの配置を決定し、
前記メモリストレージの配置に基づいて前記ダウンロードを再開する、請求項8に記載のシステム。
【請求項10】
前記エンジン制御ユニットは、
前記ダウンロードが完了したかどうかを決定し、
前記ダウンロードが未完了である場合に中断フラグを出す、請求項8に記載のシステム。
【請求項11】
前記エンジン制御ユニットは、
中断フラグが検出される場合にマジックナンバを生成し、
前記ダウンロードが終了したメモリ場所において前記マジックナンバを前記メモリストレージに書き込み、
前記ダウンロードが終了した前記メモリ場所において前記ダウンロードを再開する、請求項8に記載のシステム。
【請求項12】
前記マジックナンバは、ランダムに生成される、請求項11に記載のシステム。
【請求項13】
前記エンジン制御ユニットは、
前記ダウンロードを一時的なストレージに書き込み、
前記ダウンロードを検証し、
前記検証されたダウンロードを前記一時的なストレージから前記メモリストレージにコピーする、請求項8に記載のシステム。
【請求項14】
前記エンジン制御ユニットは、
前記ダウンロードが中断された場合に中断フラグを生成し、
中断フラグが生成されなかった場合に前記メモリストレージから起動し、
前記中断フラグが生成された場合に前のメモリストレージから起動する、請求項8に記載のシステム。
【請求項15】
命令を備える非一時的コンピュータ可読媒体であって、前記命令は、プロセッサによって読み取られると、前記プロセッサに対して、
車における不揮発性の電気的に消去可能なメモリストレージの更新をダウンロードすることと、
前記メモリストレージがメモリのバイトのブロック及びメモリの個々のバイトのうちの一方で配置されているかどうかを決定することと、
前記メモリストレージの配置に基づいてプログラミングプロトコルを選択することと、
前記選択されたプログラミングプロトコルに基づいて前記メモリストレージに書き込むことと、
を行わせる、非一時的コンピュータ可読媒体。
【請求項16】
前記ダウンロードが中断された場合に中断フラグを生成することと、
前記中断フラグに一致する前記中断されたダウンロードの前記メモリストレージの配置を決定することと、
前記メモリストレージの配置に基づいて前記ダウンロードを再開することと、
を含む、請求項15に記載の非一時的コンピュータ可読媒体。
【請求項17】
前記ダウンロードが完了したかどうかを決定することと、
前記ダウンロードが未完了である場合に中断フラグを出すことと、
を含む、請求項15に記載の非一時的コンピュータ可読媒体。
【請求項18】
中断フラグが検出される場合にマジックナンバを生成することと、
前記ダウンロードが終了したメモリ場所において前記マジックナンバを前記メモリストレージに書き込むことと、
前記ダウンロードが終了した前記メモリ場所において前記ダウンロードを再開することと、
を含む、請求項15に記載の非一時的コンピュータ可読媒体。
【請求項19】
前記ダウンロードを一時的なストレージに書き込むことと、
前記ダウンロードを検証することと、
前記検証されたダウンロードを前記一時的なストレージから前記メモリストレージにコピーすることと、
を含む、請求項15に記載の非一時的コンピュータ可読媒体。
【請求項20】
前記ダウンロードが中断された場合に中断フラグを生成することと、
中断フラグが生成されなかった場合に前記メモリストレージから起動することと、
前記中断フラグが生成された場合に前のメモリストレージから起動することと、
を含む、請求項15に記載の非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【背景技術】
【0001】
概して、車又は輸送手段、例えば、乗用車、オートバイ、トラック、飛行機、電車などは、乗員及び/又は物品に対して輸送ニーズを様々な方法で提供しており、輸送手段に関連する機能は、輸送手段上に位置し及び/又は輸送手段から離れて位置するスマートフォン又はコンピュータなどの様々な計算デバイスによって識別されて利用され得る。
【発明の概要】
【0002】
例示的な一実施形態は、車における不揮発性の電気的に消去可能なメモリストレージの更新をダウンロードすることと、メモリストレージがメモリのバイトのブロック及びメモリの個々のバイトのうちの一方で配置されているかどうかを決定することと、メモリストレージの配置に基づいてプログラミングプロトコルを選択することと、選択されたプログラミングプロトコルに基づいてメモリストレージに書き込むことと、のうちの1つ以上を含む方法を提供する。
【0003】
別の例示的な実施形態は、プロセッサに対して通信可能に接続されたメモリを含むシステムを提供し、プロセッサは、車における不揮発性の電気的に消去可能なメモリストレージの更新をダウンロードすることと、メモリストレージがメモリのバイトのブロック及びメモリの個々のバイトのうちの一方で配置されているかどうかを決定することと、メモリストレージの配置に基づいてプログラミングプロトコルを選択することと、選択されたプログラミングプロトコルに基づいてメモリストレージに書き込むことと、のうちの1つ以上を行う。
【0004】
更なる例示的な実施形態は、命令を備える非一時的コンピュータ可読媒体を提供し、命令は、プロセッサによって読み取られると、プロセッサに対して、車における不揮発性の電気的に消去可能なメモリストレージの更新をダウンロードすることと、メモリストレージがメモリのバイトのブロック及びメモリの個々のバイトのうちの一方で配置されているかどうかを決定することと、メモリストレージの配置に基づいてプログラミングプロトコルを選択することと、選択されたプログラミングプロトコルに基づいてメモリストレージに書き込むことと、のうちの1つ以上を行わせる。
【図面の簡単な説明】
【0005】
図1A】例示的な実施形態に係る、例示的なシステムレイアウトを示す図である。
図1B】例示的な実施形態に係る、プログラミングデータをダウンロードする方法の更なる例を示す図である。
図2A】例示的な実施形態に係る、輸送手段ネットワーク図を示す図である。
図2B】例示的な実施形態に係る、別の輸送手段ネットワーク図を示す図である。
図2C】例示的な実施形態に係る、更に別の輸送手段ネットワーク図を示す図である。
図2D】例示的な実施形態に係る、更なる輸送手段ネットワーク図を示す図である。
図2E】例示的な実施形態に係る、更に追加の輸送手段ネットワーク図を示す図である。
図2F】例示的な実施形態に係る、1つ以上の要素の給電を描写した図を示す図である。
図2G】例示的な実施形態に係る、異なる要素間の相互接続を描写した図を示す図である。
図2H】例示的な実施形態に係る、異なる要素間の相互接続を描写した更なる図を示す図である。
図2I】例示的な実施形態に係る、要素間の相互接続を描写した更に追加の図を示す図である。
図2J】例示的な実施形態に係る、キーレスエントリシステムを描写した更に追加の図を示す図である。
図2K】例示的な実施形態に係る、輸送手段内のCANを描写した更に追加の図を示す図である。
図2L】例示的な実施形態に係る、エンドツーエンド通信チャネルを描写した更に追加の図を示す図である。
図2M】例示的な実施形態に係る、セキュリティ証明書を使用してセキュアなV2V通信を行う輸送手段の例を描写した更に追加の図を示す図である。
図2N】例示的な実施形態に係る、セキュリティプロセッサ及び無線デバイスとやり取りする輸送手段の例を描写した更に追加の図を示す図である。
図3A】例示的な実施形態に係る、フロー図を示す図である。
図3B】例示的な実施形態に係る、別のフロー図を示す図である。
図3C】例示的な実施形態に係る、更に別のフロー図を示す図である。
図4】例示的な実施形態に係る、機械学習輸送手段ネットワーク図を示す図である。
図5A】例示的な実施形態に係る、車に関連付けられたデータベーストランザクションを管理する例示的な車構成を示す図である。
図5B】例示的な実施形態に係る、様々な車間で行われるデータベーストランザクションを管理する別の例示的な車構成を示す図である。
図6A】例示的な実施形態に係る、ブロックチェーンアーキテクチャ構成を示す図である。
図6B】例示的な実施形態に係る、別のブロックチェーン構成を示す図である。
図6C】例示的な実施形態に係る、ブロックチェーンのトランザクションデータを記憶するブロックチェーン構成を示す図である。
図6D】例示的な実施形態に係る、例示的なデータブロックを示す図である。
図7】例示的な実施形態のうちの1つ以上をサポートする例示的なシステムを示す図である。
【発明を実施するための形態】
【0006】
概略的に本明細書に記載され図に示される本構成要素は、多種多様な異なる構成で配置及び設計され得ることが容易に理解されるであろう。したがって、添付の図に表されるような、方法、装置、非一時的コンピュータ可読記憶媒体、及びシステムのうちの少なくとも1つの実施形態の以下の詳細な説明は、特許請求されている本願の範囲を限定することを意図しておらず、選択された実施形態を表しているに過ぎない。
【0007】
輸送手段と、リモートサーバ、他の輸送手段、及びローカルの計算デバイスなど(例えば、スマートフォン、パソコン、輸送手段に組み込まれたコンピュータなど)の特定のエンティティとの間の通信は、ハードウェア、ファームウェア、ソフトウェア、又はこれらの組み合わせであり得る1つ以上の「構成要素」によって送信及び/又は受信並びに処理され得る。構成要素は、これらのエンティティ若しくは計算デバイス、又は特定の他の計算デバイスのいずれかの一部であり得る。一例では、ブロックチェーントランザクションに関連するコンセンサスの決定は、輸送手段に関連付けられた(本明細書に記載及び/又は描写される任意の要素であり得る)1つ以上の計算デバイス又は構成要素によって、並びに輸送手段の外側又は輸送手段から離れた場所にある構成要素のうちの1つ以上によって行われ得る。
【0008】
本明細書全体を通じて記載されるような本機能、構造、又は特性は、1つ以上の実施形態において任意の好適な方式で組み合わされ得る。例えば、本明細書全体における、「例示的な実施形態」、「一部の実施形態」というフレーズ、又は他の同様の用語の使用は、実施形態に関連して記載される特定の機能、構造、又は特性が少なくとも1つの実施形態に含まれ得るということを指している。したがって、本明細書全体において「例示的な実施形態」、「一部の実施形態では」、「他の実施形態では」というフレーズ、又は他の同様の用語が出てきても、全てが必ずしも同じグループの実施形態を指しているわけではなく、記載される機能、構造、又は特性は、1つ以上の実施形態において任意の好適な方式で組み合わされ得る。図において、要素間の任意の接続は、描写される接続が一方向又は二方向の矢印であったとしても、一方向及び/又は二方向の通信を可能とし得る。本ソリューションでは、輸送手段には、乗用車、トラック、歩行領域バッテリ式電気自動車(BEV)、イーパレット(e-Palette)、燃料電池バス、オートバイ、スクータ、自転車、ボート、レクリエーショナルビークル、飛行機、並びに人及び又は物品をある場所から別の場所へと輸送するために使用され得る任意の物体のうちの1つ以上が含まれ得る。
【0009】
加えて、「メッセージ」という用語が実施形態の説明で使用されている場合があるが、パケット、フレーム、データグラムなどの他のタイプのネットワークデータも使用され得る。更に、特定のタイプのメッセージ及び信号伝達が好ましい実施形態で描写され得るが、それらは、特定のタイプのメッセージ及び信号伝達に限定されない。
【0010】
例示的な実施形態は、(本明細書で車又は乗用車とも称される)輸送手段、データ収集システム、データ監視システム、検証システム、認証システム、及び車データ分配システムのうちの少なくとも1つを提供する、方法、システム、構成要素、非一時的コンピュータ可読媒体、デバイス、及び/又はネットワークを提供する。無線データネットワーク通信及び/又は有線通信メッセージなどの通信メッセージの形態で受信される車状況状態データは、車/輸送手段の状況状態を識別して輸送手段の状態及び/又は変更に関するフィードバックを提供するために処理され得る。一例では、ユーザプロファイルは、現在の車事象、サービスステーションでのサービス停止を承認して、その後の車レンタルサービスを承認するために特定の輸送手段/車へ適用され得、車間通信を可能にし得る。
【0011】
通信インフラストラクチャ内において、分散型データベースは、互いに通信する複数のノードを含む分散型ストレージシステムである。ブロックチェーンは、分散型データベースの例であり、信用されていない当事者間で記録を維持することが可能な、アペンド専用で不変のデータ構造(すなわち、分散型台帳)を含む。信用されていない当事者は、本明細書でピア、ノード、又はピアノードと称される。各ピアは、データベースの記録のコピーを維持しており、分散されたピアの中でコンセンサスに達しない限り、どのピアもデータベースの記録を修正できない。例えば、ピアは、コンセンサスプロトコルを実行して、ブロックチェーンストレージエントリを検証し、ストレージエントリをブロックへとまとめ、当該ブロックを介してハッシュチェーンを構築し得る。このプロセスにより、整合性のために、必要に応じてストレージエントリを順序付けすることによって台帳が形成される。パブリックのブロックチェーン又はパーミッションレスのブロックチェーンでは、誰でも特定の識別情報を持たずに参加することができる。パブリックブロックチェーンは、暗号通貨に関与することができ、プルーフ・オブ・ワーク(PoW)などの様々なプロトコルに基づいてコンセンサスを使用することができる。逆に、パーミッション型ブロックチェーンデータベースは、資金、物品、情報、及び同種のものを交換する事業体などの、共通の目標を共有するが互いに完全には信用していないか又は信用することができないエンティティのグループ間でのやり取りを確保することができる。本ソリューションは、パーミッション型及び/又はパーミッションレスのブロックチェーン設定で機能することができる。
【0012】
スマートコントラクトは、信用されている分散型アプリケーションであり、(ブロックチェーンの形態であり得る)共有型又は分散型台帳の耐タンパー性のあるプロパティと、エンドースメント又はエンドースメントポリシーと称される、メンバノード間の基礎となる合意と、を活用する。概して、ブロックチェーンエントリは、ブロックチェーンへコミットされる前に「承認」される一方、承認されていないエントリは無視される。典型的なエンドースメントポリシーにより、スマートコントラクト実行可能コードは、エンドースメントに必要なピアノードのセットの形態のエントリに対してエンドーサを指定することが可能になる。クライアントが、エンドースメントポリシーで指定されたピアへエントリを送信する場合、エントリは、エントリを検証するように実行される。検証後に、エントリは、順序付けフェーズに入り、当該順序付けフェーズにおいて、コンセンサスプロトコルは、ブロックにまとめられた承認エントリの順序付けされたシーケンスを生成するために使用される。
【0013】
ノードは、ブロックチェーンシステムの通信エンティティである。「ノード」は、異なるタイプの複数のノードが同じ物理サーバ上で動作することができるという意味で、論理機能を行い得る。ノードは、信用ドメイン内でまとめられ、当該ノードを様々な方法で制御する論理エンティティと関連付けられている。ノードは、エンドーサ(例えば、ピア)へエントリ呼び出しを提出してエントリ提案を順序付けサービス(例えば、順序付けノード)へブロードキャストする、クライアント又は提出クライアントノードなどの異なるタイプを含み得る。別のタイプのノードは、ピアノードであり、クライアント提出エントリを受信し、エントリをコミットして、ブロックチェーンエントリの台帳の状態及びコピーを維持することができる。ピアは、エンドーサの役割も有し得る。順序付けサービスノード又はオーダラは、全てのノードに対して通信サービスを実行するノードであり、エントリをコミットしてブロックチェーンのワールドステートを修正する場合に、システム内のピアノードの各々に対するブロードキャストなどの配信保証を実現するノードである。ワールドステートは、通常は制御及び設定の情報を含む、初期ブロックチェーンエントリを構成することができる。
【0014】
台帳は、ブロックチェーンの全ての状態遷移の、順序付けされた耐タンパー性のある記録である。状態遷移は、参加している当事者(例えば、クライアントノード、順序付けノード、エンドーサノード、ピアノードなど)によって提出されるスマートコントラクト実行可能コードの呼び出し(すなわち、エントリ)の結果として生じ得る。エントリは結果として、作成、更新、削除、及び同種のものなどの1つ以上のオペランドとして台帳へコミットされるアセットのキーと値のペアのセットを生じ得る。台帳は、ブロック内に不変に順序付けされた記録を記憶するために使用される(チェーンとも称される)ブロックチェーンを含む。台帳は、ブロックチェーンの現在の状態を維持する状態データベースも含む。通常、チャネルごとに1つの台帳がある。各ピアノードは、自身がメンバである各チャネルについての台帳のコピーを維持する。
【0015】
チェーンは、ハッシュリンクブロックとして構築されたエントリログであり、各ブロックは、N個のエントリのシーケンスを含む。ここで、Nは1以上である。ブロックヘッダは、ブロックのエントリのハッシュ、及び前のブロックのヘッダのハッシュを含む。このようにして、台帳における全てのエントリが順序付けされて、暗号的に結合され得る。したがって、ハッシュリンクを壊さずに台帳データを改ざんすることは不可能である。最近追加されたブロックチェーンブロックのハッシュは、それより前に生じたチェーン上の全てのエントリを表し、これにより、全てのピアノードが、整合性のある信用された状態にあることを保証することができる。チェーンは、ピアノードファイルシステム(すなわち、ローカル、付属ストレージ、クラウドなど)上で記憶されて、ブロックチェーンの作業負荷のアペンド専用の性質を効率的にサポートし得る。
【0016】
不変台帳の現在の状態は、チェーンのエントリログに含まれる全てのキーに対する最新の値を表す。現在の状態は、チャネルで既知の最新のキーの値を表しているため、ワールドステートと称される場合がある。スマートコントラクト実行可能コードの呼び出しは、台帳の現在の状態データに対してエントリを実行する。これらのスマートコントラクト実行可能コードのやり取りを効率的にするために、キーの最新の値が、状態データベース内に記憶され得る。状態データベースは、単にチェーンのエントリログに対するインデックス付きビューであり得、したがって、いつでもチェーンから再生成され得る。状態データベースは、ピアノードの起動時、及びエントリが受け付けられる前に、自動的に回復され得る(又は必要な場合に生成され得る)。
【0017】
ブロックチェーンが中央ストレージではなく、分散型で不変のセキュアなストレージであるという点で、ブロックチェーンは従来のデータベースと異なっており、ノードは、ストレージ内の記録に対する変更を共有しなければならない。ブロックチェーンに内在し、ブロックチェーンの実現を助ける一部のプロパティは、不変台帳、スマートコントラクト、セキュリティ、プライバシー、分散化、コンセンサス、エンドースメント、アクセス可能性、及び同種のものを含むが、これらに限定されない。
【0018】
例示的な実施形態は、特定の車に対するサービス、及び/又は車に適用されるユーザプロファイルを提供する。例えば、ユーザは、車の所有者、又は別の当事者が所有する車の操作者であり得る。車は、特定の間隔でサービスを必要とする場合があり、サービスの要求は、サービスを受けることを許可するよりも前に承認を必要とする場合がある。また、サービスセンタは、車の現在の経路プラン、及びサービス要件の相対的なレベル(例えば、緊急、重大、中程度、軽度など)に基づいて、近くのエリア内の車へサービスを提供し得る。車の要求は、検知されたデータを車内及び/又は車から離れた中央コントローラコンピュータデバイスへ報告する、1つ以上の車及び/又は道路のセンサ若しくはカメラを介して監視され得る。このデータは、検討及び動作のために管理サーバに転送される。センサは、輸送手段の内部、輸送手段の外部、輸送手段から離れた固定物体上、及び輸送手段に近い別の輸送手段上のうちの1つ以上に位置し得る。センサは、輸送手段の速度、輸送手段の制動、輸送手段の加速度、燃料レベル、サービスの要求、輸送手段のギアのシフト、輸送手段の操縦、及び同種のものにも関連付けられ得る。本明細書に記載されるようなセンサはまた、輸送手段内の、及び/又は輸送手段に近い無線デバイスなどのデバイスであり得る。また、センサ情報は、車のアクセス中及び/又は利用期間中などに、車が安全に動作しているかどうか、及び乗員が予想外の任意の車状態に関与したかどうかを識別するために使用され得る。車の動作前、車の動作中、及び/又は車の動作後に収集される車情報は、共有型/分散型台帳上のトランザクションで識別及び記憶され得、当該トランザクションは、パーミッションを与えるコンソーシアムによって、したがってブロックチェーン会員グループなどによる「分散型の」方式で決定されるような不変台帳に生成及びコミットされ得る。
【0019】
利害関係がある各当事者(すなわち、所有者、ユーザ、会社、代理店など)は、プライベート情報の露出を制限したい場合があり、したがって、ブロックチェーン及びその不変性は、各々の特定のユーザ車プロファイルに対するパーミッションを管理するために使用され得る。補償を提供し、ユーザプロファイルのスコア/格付け/検討を定量化し、車事象のパーミッションを適用し、サービスが必要とされる時を決定し、衝突事象及び/又は劣化事象を識別し、安全性の懸念となる事象を識別し、事象の当事者を識別し、このような車事象データへアクセスしようとしている登録されたエンティティへ分配するために、スマートコントラクトが使用され得る。また、結果が識別され得、ブロックチェーンに関連付けられたコンセンサス手法に基づいて、登録された会社及び/又は個人の間で必要な情報が共有され得る。従来の集中型データベースでは、このような手法を実現することはできなかった。
【0020】
輸送手段がナビゲーション及び他の目的のために使用することができる地形及び道路の地図を作成するために、本ソリューションの様々な運転システムは、ソフトウェア、センサアレイ、並びに機械学習機能、光検出及び測距(LIDAR)プロジェクタ、レーダ、超音波センサなどを利用し得る。一部の実施形態では、LIDARの代わりに、GPS、地図、カメラ、センサ、及び同種のものも自律車で使用され得る。
【0021】
特定の実施形態では、本ソリューションは、自動化された迅速な認証スキームを介してサービスについて車を承認することを含む。例えば、充電ステーション又は燃料ポンプまでの運転は、車の操作者又は自律的な輸送手段によって行われ得、充電又は燃料を受けるための承認は、承認がサービス及び/又は充電ステーションによって受信されれば、遅延を全く伴うことなく行われ得る。車は、車の識別情報を提供する通信信号を提供し得、当該識別情報は、補償によって後で修正され得るサービスを受け付けるために承認されるアカウントにリンクされる現在アクティブなプロファイルを有する。更なる認証を提供するために追加の対策が使用されてもよく、例えば、輸送手段とサービスセンタとの間の第1の承認作業を追加の承認作業に置換又は追加するために、別の識別子がユーザのデバイスからサービスセンタに無線で送信されてもよい。
【0022】
共有及び受信されるデータは、データベースに記憶され得、当該データベースは、ある単一のデータベース(例えば、データベースサーバ)内に、概して、ある特定の場所にデータを維持する。この場所は多くの場合、中央コンピュータ、例えば、デスクトップの中央処理装置(CPU)、サーバのCPU、又はメインフレームコンピュータである。集中型データベースに記憶された情報は通常、複数の異なるポイントからアクセス可能である。集中型データベースは、管理、維持、及び制御するのが容易であり、集中型データベースが単一の場所にあるため、特にセキュリティを目的としたものである。集中型データベース内において、全てのデータが単一の記憶場所にあることは、所与のデータセットが1つの1次記録のみを有しているということも意味するため、データの冗長性は最小限にされる。ブロックチェーンは、輸送手段に関連するデータ及びトランザクションを記憶するために使用され得る。
【0023】
本明細書に記載される動作のうちのいずれかは、輸送手段においてオンボード又はオフボードで位置し得る、1つ以上のプロセッサ(例えば、マイクロプロセッサ、センサ、電子制御ユニット(ECU)、ヘッドユニット、及び同種のもの)によって行われ得る。1つ以上のプロセッサは、他の輸送手段においてオンボード又はオフボードの他のプロセッサと通信して、輸送手段によって送信されているデータを利用し得る。1つ以上のプロセッサ及び他のプロセッサは、データを送信し、データを受信し、このデータを利用して、本明細書に記載又は描写される動作のうちの1つ以上を行い得る。
【0024】
輸送手段のマルチメディアシステムに関するロバストな無線(OTA)更新が提供される。OTA更新は、NANDフラッシュメモリと呼ばれるメモリのバイトのブロック、及びNORフラッシュメモリと呼ばれるメモリの個々のバイトのうちの一方で形成される不揮発性の電気的に消去可能なメモリに関するものである。NANDフラッシュメモリは多くの場合、データのストレージに使用される一方、NORフラッシュメモリは多くの場合、プロセッサプログラミングメモリに使用される。
【0025】
無線(OTA)更新は、輸送手段に対するソフトウェア、ファームウェア、及び/又はデータの無線送達である。輸送手段の製造者は多くの場合、Wi-Fi又はセルラネットワークでファームウェア及び輸送手段構成を更新するために無線更新を使用する。更新は、クラウドベースのサーバからWi-Fi又はセルラ接続を通じて輸送手段にリモートで送達される。輸送手段の製造者は、バグを修正するために、車性能を改善するために、機能を追加するために、又はハッカーが輸送手段のソフトウェア及び制御システムにアクセスすることを可能にし得る脆弱性に対して保護するために、ソフトウェア、ファームウェア、又はデータを定期的に更新して、輸送手段の性能が継続的に改善されることを可能にする。輸送手段に関するOTA更新の2つの主なタイプは、マルチメディア及び運転制御である。マルチメディア更新は、地図情報を新しくして、オーディオをアップグレードして、インターフェース、アプリケーション更新、及び同種のものを追加する。
【0026】
一般に、OTA更新は、アプリケーションを更新することと、更新の信頼性を確認することと、ハードウェア及び更新の互換性を確認することと、データ完全性を確認することと、暗号化データを復号化することと、を含む。一般に、OTA更新は、メモリ、例えば、NANDフラッシュのバイトのブロックにパッケージ化されて、更新されるメモリのタイプを考慮しない。
【0027】
NANDフラッシュメモリのダウンロードの障害は、NORフラッシュメモリに対して異なる影響を有する。メモリのバイトのブロックを備えるNANDフラッシュメモリにおいて、ダウンロード中の障害は、バイトのブロック全体に関する再ダウンロードを必要とする。メモリの個々のバイトを備えるNORフラッシュメモリにおいて、ダウンロード中の障害は、障害のあるバイトで開始する再ダウンロードを必要とする。
【0028】
本ソリューションは、輸送手段のマルチメディア(MM)システムの更新を可能にし、起動、ナビゲーション、音声アシスタント、無線(OTA)更新、及び同種のものなどのMMに給電するソフトウェアを含む。他の機能はまた、Bluetooth(登録商標)、CAN通信、Wi-Fi、及び同種のものに給電するソフトウェアを含み得る。一実施形態では、サイドAからサイドBへのリプログラミングが確立され、ここで、ソフトウェア及びファームウェアの複数のコピーが存在し、ファームウェアに関する更新されたコピー及び元のコピー並びに/又はファームウェアは、ダウンロード中に障害が生じる場合に保持される。OTAリプログラミングロジックは、輸送手段においてオンボード若しくはオフボードで、又は輸送手段に関連付けられたデバイスに存在し得る。OTAリプログラミングロジックは、輸送手段におけるプロセッサ、輸送手段においてオンボード若しくはオフボードで存在し得るサーバにおけるプロセッサ、輸送手段に関連付けられたデバイス(モバイルデバイスなど)、又は輸送手段に関連付けられた任意の他のプロセッサのうちの1つ以上において完全に又は部分的に実行され得る。1つ以上のプロセッサによって利用されるメモリも同様に、輸送手段においてオンボード又はオフボードで位置し得る。輸送手段のプロセッサは、輸送手段の電子制御モジュール(ECM)又は別のプロセッサ、例えば、ECU、ヘッドユニット(HU)におけるプロセッサ、又は輸送手段における別のプロセッサであり得る。
【0029】
本明細書に記載される動作のうちのいずれかは、輸送手段においてオンボード又はオフボードで位置し得る、1つ以上のプロセッサ(例えば、マイクロプロセッサ、電子制御ユニット(ECU)、ヘッドユニット、及び同種のもの)によって行われ得る。1つ以上のプロセッサは、他の輸送手段においてオンボード又はオフボードの他のプロセッサと通信して、輸送手段によって送信されているデータを利用し得る。1つ以上のプロセッサ及び他のプロセッサは、データを送信し、データを受信し、このデータを利用して、本明細書に記載又は描写される動作のうちの1つ以上を行い得る。
【0030】
一般に、リプログラミングの実装は、特定のフラッシュ技術においてサイドBに対してサイドAを確実に使用する能力を制限する。例えば、NANDフラッシュ技術に対してNORフラッシュ技術を使用する場合、検出されるダウンロード障害は、リプログラミングの再開が実装される方法に違いをもたらす。
【0031】
一般に、リプログラミングプロトコルは、NORフラッシュメモリについてソフトウェア及び/又はファームウェアを更新する信頼性を制限するNANDフラッシュのみを考慮する。現在のリプログラミングステップは、リプログラミングに対して論理的な制限を伴う。例えば、NORフラッシュに書き込む場合、メモリの第1のブロックは、メモリのサイドA又はサイドBが起動されるべきかを示すように上書きされる。第1のブロックが第1のステップとして上書きされる場合、リプログラミングプロセス中に遭遇する任意の停電又は問題は、デバイスが起動されて障害のあるダウンロードから実行される失敗のエンドレスループをもたらし得る。
【0032】
例えば、以下は、現在のフローを描写している。
a.システムは、サイドAにおいてバージョン1.0をインストールする
b.起動時、システムは、第1のブロックをチェックしてサイドAを起動する
c.システムは、サイドBについてバージョン1.1を受信する
d.サイドBを正常にリプログラミングして起動する前に、システムは、第1のブロックをサイドBに更新し、これは、サイドBがリプログラミング障害を伴う場合に問題を生じさせ得る。例えば、新しいファームウェアの検証を完了する前に現在のファームウェアを新しいファームウェアで上書きする結果、セキュリティ及び信頼性の問題が生じ得る。
【0033】
例示的な方法は、車における不揮発性の電気的に消去可能なメモリストレージの更新をダウンロードすることを含む。輸送手段のマルチメディア(MM)システムは、起動、ナビゲーション、音声アシスタントや、Bluetooth(登録商標)、CAN通信、Wi-Fi、及び同種のものに対する無線(OTA)更新などのMMに給電するソフトウェアを更新し、当該ソフトウェアを含む。当該方法は、メモリストレージがメモリのバイトのブロック及びメモリの個々のバイトのうちの一方で配置されているかどうかを決定する。OTA更新は、NANDフラッシュメモリと呼ばれるメモリのバイトのブロック、及びNORフラッシュメモリと呼ばれるメモリの個々のバイトのうちの一方で形成される不揮発性の電気的に消去可能なメモリに関するものである。当該方法は、メモリストレージの配置に基づいてプログラミングプロトコルを選択し、選択されたプログラミングプロトコルに基づいてメモリストレージに書き込む。メモリストレージの配置は、NORメモリであるメモリの個々のバイト、又はNANDメモリであるメモリの個々のブロックを備え得る。OTAリプログラミングロジックは、輸送手段におけるプロセッサ、輸送手段においてオンボード若しくはオフボードで存在し得るサーバにおけるプロセッサ、輸送手段に関連付けられたデバイス(モバイルデバイスなど)、又は輸送手段に関連付けられた任意の他のプロセッサのうちの1つ以上において完全に又は部分的に実行され得る。1つ以上のプロセッサによって利用されるメモリも同様に、輸送手段においてオンボード又はオフボードで位置し得る。輸送手段のプロセッサは、輸送手段のECM又は別のプロセッサ、例えば、ECU、HUにおけるプロセッサ、又は輸送手段における別のプロセッサであり得る。
【0034】
当該方法は、ダウンロードが中断された場合に中断フラグを生成することと、中断フラグに一致する中断されたダウンロードのメモリストレージの配置を決定することと、メモリストレージの配置に基づいてダウンロードを再開することと、を含み得る。中断フラグは、更新のダウンロード中における障害を示す。更新に障害があったメモリブロックのタイプにより、更新をどのように再開するかが決定される。メモリのバイトのブロックを備えるNANDフラッシュメモリにおいて、ダウンロード中の障害は、バイトのブロック全体に関する再ダウンロードを必要とする。メモリの個々のバイトを備えるNORフラッシュメモリにおいて、ダウンロード中の障害は、障害のあるバイトで開始する再ダウンロードを必要とする。当該方法は、メモリストレージの配置に基づいてプログラミングプロトコルを選択し、選択されたプログラミングプロトコルに基づいてメモリストレージに書き込む。あるメモリストレージの配置は、NORタイプのメモリである個々のバイトの形態であり得、別のストレージの配置は、NANDタイプのメモリであるバイトのブロックの形態であり得る。NORタイプのメモリのリプログラミングにおける失敗は、失敗したバイトで再開され、NANDタイプのメモリのリプログラミングにおける失敗は、失敗のメモリブロックで再開される。ロバストなOTAリプログラミングについてのOTAリプログラミングロジックは、輸送手段におけるプロセッサ、輸送手段においてオンボード若しくはオフボードで存在し得るサーバにおけるプロセッサ、輸送手段に関連付けられたデバイス、又は輸送手段に関連付けられた任意の他のプロセッサのうちの1つ以上において完全に又は部分的に実行され得る。1つ以上のプロセッサによって利用されるメモリも同様に、輸送手段においてオンボード又はオフボードで位置し得る。輸送手段のプロセッサは、輸送手段のECM又は別のプロセッサ、例えば、ECU、HUにおけるプロセッサ、又は輸送手段における別のプロセッサであり得る。
【0035】
当該方法はまた、ダウンロードが完了したかどうかを決定することと、ダウンロードが未完了である場合に中断フラグを出すことと、中断フラグが検出される場合にマジックナンバを生成することであって、マジックナンバは、ランダムに生成される、ということと、ダウンロードが終了したメモリ場所においてマジックナンバをメモリストレージに書き込むことと、ダウンロードが終了したメモリ場所においてダウンロードを再開することと、を含み得る。中断フラグは、更新のダウンロード中における障害を示し、更新に障害があったメモリブロックのタイプにより、更新をどのように再開するかが決定される。ダウンロード障害の場所は、最後の良好なダウンロードの場所を示すナンバであるマジックナンバによって示され得る。輸送手段及びサーバのみが、マジックナンバが何であるかを認識するため、マジックナンバは、ダウンロード中におけるソフトウェア攻撃に対する保護として機能する。メモリのバイトのブロックを備えるNANDフラッシュメモリにおいて、ダウンロード中の障害は、バイトのブロック全体に関する再ダウンロードを必要とする。メモリの個々のバイトを備えるNORフラッシュメモリにおいて、ダウンロード中の障害は、障害のあるバイトで開始する再ダウンロードを必要とする。当該方法は、メモリストレージの配置に基づいてプログラミングプロトコルを選択し、選択されたプログラミングプロトコルに基づいてメモリストレージに書き込む。あるメモリストレージの配置は、NORタイプのメモリである個々のバイトの形態であり得、別のストレージの配置は、NANDタイプのメモリであるバイトのブロックの形態であり得る。NORタイプのメモリのリプログラミングにおける失敗は、失敗したバイトで再開され、NANDタイプのメモリのリプログラミングにおける失敗は、失敗のメモリブロックで再開される。ロバストなOTAリプログラミングについてのOTAリプログラミングロジックは、輸送手段におけるプロセッサ、輸送手段においてオンボード若しくはオフボードで存在し得るサーバにおけるプロセッサ、輸送手段に関連付けられたデバイス、又は輸送手段に関連付けられた任意の他のプロセッサのうちの1つ以上において完全に又は部分的に実行され得る。1つ以上のプロセッサによって利用されるメモリも同様に、輸送手段においてオンボード又はオフボードで位置し得る。輸送手段のプロセッサは、輸送手段のECM又は別のプロセッサ、例えば、ECU、HUにおけるプロセッサ、又は輸送手段における別のプロセッサであり得る。
【0036】
当該方法は、ダウンロードを一時的なストレージに書き込むことと、ダウンロードを検証することと、検証されたダウンロードを一時的なストレージから永久メモリストレージにコピーすることと、を含み得る。一時的なストレージは、データが永久的に記憶されないメモリストレージ、例えば、ランダムアクセスメモリ(RAM)、又は別の例では、フラッシュメモリ内の一時的なストレージエリア、NORの一時的なストレージエリア内のNORデータ(メモリの個々のバイト)、及びNANDの一時的なストレージエリア内のNANDデータ(メモリの個々のブロック)である。一時的なストレージのRAM、NORの一時的なストレージエリア、又はNANDの一時的なストレージエリアの場所は、輸送手段のECM、例えば、ECU、HUにおけるプロセッサ、又は輸送手段と通信するモバイルデバイスを含む輸送手段における別のプロセッサにあり得る。一時的なストレージエリアは、使用のために永久ストレージにコピーする前に検証されるダウンロードを収集する中間ストレージとして機能する。ロバストなOTAリプログラミングについてのOTAリプログラミングロジックは、輸送手段におけるプロセッサ、輸送手段においてオンボード若しくはオフボードで存在し得るサーバにおけるプロセッサ、輸送手段に関連付けられたデバイス、又は輸送手段に関連付けられた任意の他のプロセッサのうちの1つ以上において完全に又は部分的に実行され得る。1つ以上のプロセッサによって利用されるメモリも同様に、輸送手段においてオンボード又はオフボードで位置し得る。輸送手段のプロセッサは、輸送手段のECM又は別のプロセッサ、例えば、ECU、HUにおけるプロセッサ、又は輸送手段における別のプロセッサであり得る。
【0037】
当該方法はまた、ダウンロードが中断された場合に中断フラグを生成することと、中断フラグが生成されなかった場合にメモリストレージから起動することと、中断フラグが生成された場合に前のメモリストレージから起動することと、を含み得る。これにより、障害のあるダウンロードからシステムが起動することが防がれる。中断フラグは、更新のダウンロード中における障害を示し、更新に障害があったメモリブロックのタイプにより、更新をどのように再開するかが決定される。メモリのバイトのブロックを備えるNANDフラッシュメモリにおいて、ダウンロード中の障害は、バイトのブロック全体に関する再ダウンロードを必要とする。メモリの個々のバイトを備えるNORフラッシュメモリにおいて、ダウンロード中の障害は、障害のあるバイトで開始する再ダウンロードを必要とする。当該方法は、メモリストレージの配置に基づいてプログラミングプロトコルを選択し、選択されたプログラミングプロトコルに基づいてメモリストレージに書き込む。ロバストなOTAリプログラミングについてのOTAリプログラミングロジックは、輸送手段におけるプロセッサ、輸送手段においてオンボード若しくはオフボードで存在し得るサーバにおけるプロセッサ、輸送手段に関連付けられたデバイス、又は輸送手段に関連付けられた任意の他のプロセッサのうちの1つ以上において完全に又は部分的に実行され得る。1つ以上のプロセッサによって利用されるメモリも同様に、輸送手段においてオンボード又はオフボードで位置し得る。輸送手段のプロセッサは、輸送手段のECM又は別のプロセッサ、例えば、ECU、HUにおけるプロセッサ、又は輸送手段における別のプロセッサであり得る。
【0038】
図1Aは、外部サーバ118から輸送手段へのOTAリプログラミングデータフローを描写したシステム110を示す。OTAリプログラミングデータフローは、輸送手段における1つ以上のプロセッサ、輸送手段においてオンボード若しくはオフボードで存在し得るサーバにおけるプロセッサ、輸送手段に関連付けられたデバイス(輸送手段の乗員に関連付けられたモバイルデバイスなど)、又は輸送手段に関連付けられた任意の他のプロセッサにおいて完全に又は部分的に実行され得る。1つ以上のプロセッサによって利用されるメモリも同様に、輸送手段においてオンボード又はオフボードで位置し得る。OTAリプログラミングデータは、コントローラエリアネットワークバス(CANバス)112などのバスを介して、電子制御モジュール(ECM)と直接的に通信し得るか又はECMと間接的に通信し得る。ECMは多くの場合、コントローラエリアネットワーク(CAN)と称され得る輸送手段の中央ネットワークを通じて互いに接続されている。輸送手段のCANバス112は、輸送手段のOTAリプログラミングデータをECU n114に通信してリプログラミングデータを受信及び記憶するために電子制御ユニットECU i113に接続されている。ヘッドユニット(HU)115は、リプログラミングデータをECM113、114に分配し得、ヘッドユニット(HU)115もCANバス112に接続され得る。データ通信モジュール(DCM)116も、ECMから受信されるOTAリプログラミングデータを受信及び通信するCANバス112に接続され得る。DCMは、様々な車載ECUに接続されたCAN情報をクラウドサーバなどの別のコンピュータに対して定期的に送信し得る車載通信デバイスである。ECUなどの輸送手段上のプロセッサは、OTAリプログラミングデータを収集して、輸送手段上のCANセントラルゲートウェイ(CGW)を通じて輸送手段上のDCMにデータ信号を送信する。この例では、OTAリプログラミングデータは、輸送手段の内部で解かれて、ECUに通信されてローカルに記憶される。OTAリプログラミングデータは、輸送手段のHUを通じてルーティングされ得、データは、オンザフライでECUに送信され得るか、又はヘッドユニットによって一時的なストレージで収集され得る。一時的なストレージのRAM、NORの一時的なストレージエリア、又はNANDの一時的なストレージエリアの場所は、輸送手段のECM、例えば、ECU、HUにおけるプロセッサ、又は輸送手段と通信するモバイルデバイスを含む輸送手段における別のプロセッサにあり得る。OTAリプログラミングデータは、外部サーバ118からセルラネットワークなどのネットワーク117を通じてCGWによって輸送手段に無線で送信される。OTAリプログラミングダウンロードの結果は、完了の受信を確認するために、又は障害の場所で開始する2次ダウンロードを要求するために、セルラネットワークなどのネットワーク117を通じてCGWによって輸送手段から外部サーバ118へ送信される。
【0039】
図1Bは、OTAリプログラミングデータの様々なソースからのデータ信号フローを描写したシステム120を示す。OTAリプログラミングデータは、サーバ118からセルラネットワークなどのネットワーク117へ輸送手段125に対して直接的に送信され得る。図1Aに示されるように、OTAリプログラミングデータは、図1Aのコントローラエリアネットワークバス(CANバス)112などのバスを介して、電子制御モジュール(ECM)と直接的に通信し得るか又はECMと間接的に通信し得る。ECMは多くの場合、コントローラエリアネットワーク(CAN)と称され得る輸送手段の中央ネットワークを通じて互いに接続されている。図1Aの輸送手段のCANバス112は、輸送手段のOTAリプログラミングデータを図1AのECU n114に通信してリプログラミングデータを受信及び記憶するために図1Aの電子制御ユニットECU i113に接続されている。OTAリプログラミングロジックはまた、車間の通信を使用して別の輸送手段126から送信され得る。OTAリプログラミングロジックはまた、携帯電話127又はコンピュータ128によって受信されて、セルラの無線又はWi-Fiによって輸送手段126に通信され得る。OTAリプログラミングデータフローは、輸送手段における1つ以上のプロセッサ、輸送手段においてオンボード若しくはオフボードで存在し得るサーバにおけるプロセッサ、輸送手段に関連付けられたデバイス(輸送手段の乗員に関連付けられたモバイルデバイスなど)、又は輸送手段に関連付けられた任意の他のプロセッサにおいて完全に又は部分的に実行され得る。1つ以上のプロセッサによって利用されるメモリも同様に、輸送手段においてオンボード又はオフボードで位置し得る。
【0040】
本ソリューションは、これらの制限を克服しようと努める。一実施形態では、OTAリプログラミングステップは、更新されるフラッシュ技術に基づいてリプログラムするように修正される。例えば、NORタイプのメモリは、第1のセットのOTAリプログラミングステップに従い、NANDタイプのメモリは、第2のセットのOTAリプログラミングステップに従う。一実施形態では、複数のフラグは、OTAリプログラミングプロセスを行うときに使用される。例えば、フラグは、起動のためにシステムによって利用される場所及び当該起動のバージョンナンバを示す、現在の起動サイド及び現在の起動サイドのバージョンについてのインジケータと、OTAリプログラミングロジックの場所及びOTAリプログラミングロジックのバージョンナンバを示す次の起動サイドを示すフラグと、を含み得る。フラグは、正常なリプログラムサイドの場所及び正常なリプログラムサイドのバージョンを示す。フラグは、OTAリプログラミングが失敗である場合にフォールバック起動が許可されるかどうか、及びダウンロードが失敗であったダウンロードの位置をマークするマジックナンバについてのフラグを示す。フラグは、正常な書き込み及び正常な起動に関する表示を含み得る。フラグは、失敗した起動試行の数に関する表示を含み、許可される最小及び最大のファームウェアバージョンを示す。
【0041】
更新されたイメージは、検証のために一時的なストレージに書き込まれる。以下は、例示的なOTAリプログラミングフローである。
i.システムは、サイドAにおいてバージョン1.0を有する
1.「現在の起動サイド」==A
2.「現在の起動バージョン」==1.0
3.「許可される最小のファームウェアバージョン」==1.0
4.「許可される最大のファームウェアバージョン」==1.0
ii.起動時に、システムは、フラグをチェックして、サイドAから起動することを決定する
iii.システムは、サイドBについてのバージョン1.1をダウンロードする
iv.システムは、リプログラムされるフラッシュ技術のタイプを決定して、フラッシュ技術のタイプ、NOR及び/又はNANDに基づいて、当該フラッシュ技術のタイプについてのOTAリプログラミングステップを決定する。
v.システムは、バージョン1.1を「一時的なストレージ」に書き込む
1.失敗及び/又は中断の場合:
a.「マジックナンバ」に記憶された値を利用して、再開が開始されるダウンロードのポイントに当該値を書き込む。システムは、静的値に対してマジックナンバをランダムに生成し得る。
b.システム更新は、「正常な書き込み」==いいえ(No)であることを示す
c.次の起動シーケンス時に、システムは、「正常な書き込み」、「マジックナンバ」、及び「現在の起動サイド」に記憶された値をチェックする
i.システムは、OTAリプログラミングプロセスを再開する
2.成功の場合:
a.継続する
vi.システムは、バージョン1.1の検証を完了する
1.システムは、「次の起動サイド」==Bに更新する
2.システムは、「次の起動バージョン」==1.1に更新する
3.システムは、「許可されるフォールバック起動」==はい(Yes)に更新する
4.システムは、「許可される最大のファームウェアバージョン」=1.1に更新する
5.システムは、「マジックナンバ」をランダムに生成及び更新する
vii.起動時に、システムは、フラグをチェックして、サイドBからの起動を試行することを決定する
1.失敗の場合:
a.システムは、フラグをチェックして、サイドAからの起動を試行する
b.システムは、失敗した起動の試行に関する通知を作成及び共有する
c.システムは、「正常な起動」==いいえ(No)に更新する
d.システムは、「失敗した起動の試行」+=1に更新する
e.失敗の数が「再試行」閾値を超える状況において、システムは、システムがサイドBからの起動を試行しないようにフラグを更新する。
1.システムは、「許可されるフォールバック起動」==いいえ(No)に更新する
2.システムは、「次の起動サイド」==Aに更新する
3.システムは、「次の起動バージョン」==1.0に更新する
4.システムは、「許可される最大のファームウェアバージョン」=1.0に更新する
2.成功の場合:
a.システムは、「正常なリプログラムサイド」==Bに更新する
b.システムは、「正常なリプログラムサイドのバージョン」==1.1に更新する
c.システムは、「現在の起動サイド」==Bに更新する
d.システムは、「現在の起動バージョン」==1.1に更新する
e.システムは、「次の起動サイド」==Bに更新する
f.システムは、「次の起動バージョン」==1.1に更新する
g.システムは、「許可される最小のファームウェアバージョン」=1.1に更新する
h.システムは、「許可される最大のファームウェアバージョン」=1.1に更新する
i.システムは、「許可されるフォールバック起動」==いいえ(No)に更新する
【0042】
図2Aは、例示的な実施形態に係る、輸送手段ネットワーク図200を示す。ネットワークは、プロセッサ204を含む輸送手段202及びプロセッサ204’を含む輸送手段202’を含む要素を備える。輸送手段202、202’は、プロセッサ204、204’、並びにトランシーバ、送信機、受信機、ストレージ、センサ、及び通信を提供することが可能な他の要素を含む他の要素(図示せず)を介して、互いに通信する。輸送手段202、202’間の通信は、直接生じ得るか、プライベートネットワーク及び/若しくはパブリックネットワーク(図示せず)を介して生じ得るか、又はプロセッサ、メモリ、及びソフトウェアのうちの1つ以上を備える他の輸送手段及び要素を介して生じ得る。単一の輸送手段及びプロセッサとして描写されているが、複数の輸送手段及びプロセッサが存在し得る。本明細書に記載及び/又は描写されるアプリケーション、機能、ステップ、ソリューションなどのうちの1つ以上は、本要素によって利用され、及び/又は提供され得る。
【0043】
図2Bは、例示的な実施形態に係る、別の輸送手段ネットワーク図210を示す。ネットワークは、プロセッサ204を含む輸送手段202及びプロセッサ204’を含む輸送手段202’を含む要素を備える。輸送手段202、202’は、プロセッサ204、204’、並びにトランシーバ、送信機、受信機、ストレージ、センサ、及び通信を提供することが可能な他の要素を含む他の要素(図示せず)を介して、互いに通信する。輸送手段202、202’間の通信は、直接生じ得るか、プライベートネットワーク及び/若しくはパブリックネットワーク(図示せず)を介して生じ得るか、又はプロセッサ、メモリ、及びソフトウェアのうちの1つ以上を備える他の輸送手段及び要素を介して生じ得る。プロセッサ204、204’は、センサ212、有線デバイス214、無線デバイス216、データベース218、携帯電話220、輸送手段222、コンピュータ224、I/Oデバイス226、及び音声アプリケーション228を含む1つ以上の要素230と更に通信し得る。プロセッサ204、204’は、プロセッサ、メモリ、及びソフトウェアのうちの1つ以上を備える要素と更に通信し得る。
【0044】
単一の輸送手段、プロセッサ、及び要素として描写されているが、複数の輸送手段、プロセッサ、及び要素が存在し得る。情報又は通信は、プロセッサ204、204’及び要素230のうちのいずれかに対して、及び/又はいずれかから生じ得る。例えば、携帯電話220は、輸送手段202に動作を開始させ得るプロセッサ204に情報を提供し得、輸送手段202’に動作を開始させ得るプロセッサ204’に情報又は追加の情報を更に提供し得、携帯電話220、輸送手段222、及び/又はコンピュータ224に情報又は追加の情報を更に提供し得る。本明細書に記載及び/又は描写されるアプリケーション、機能、ステップ、ソリューションなどのうちの1つ以上は、本要素によって利用され、及び/又は提供され得る。
【0045】
図2Cは、例示的な実施形態に係る、更に別の輸送手段ネットワーク図240を示す。ネットワークは、プロセッサ204及び非一時的コンピュータ可読媒体242Cを含む輸送手段202を含む要素を備える。プロセッサ204は、コンピュータ可読媒体242C及び(図2Bに描写された)要素230に対して通信可能に接続されている。輸送手段202は、プロセッサ及びメモリを含む、輸送手段、サーバ、又は任意のデバイスであり得る。
【0046】
プロセッサ204は、車における不揮発性の電気的に消去可能なメモリストレージの更新をダウンロードすること244Cと、メモリストレージがメモリのバイトのブロック及びメモリの個々のバイトのうちの一方で配置されているかどうかを決定すること246Cと、メモリストレージの配置に基づいてプログラミングプロトコルを選択すること248Cと、選択されたプログラミングプロトコルに基づいてメモリストレージに書き込むこと250Cと、のうちの1つ以上を行う。
【0047】
例示的な方法は、車における不揮発性の電気的に消去可能なメモリストレージの更新をダウンロードすることを含む。輸送手段のマルチメディア(MM)システムは、起動、ナビゲーション、音声アシスタントや、Bluetooth(登録商標)、CAN通信、Wi-Fi、及び同種のものに対する無線(OTA)更新などのMMに給電するソフトウェアを更新し、当該ソフトウェアを含む。当該方法は、メモリストレージがメモリのバイトのブロック及びメモリの個々のバイトのうちの一方で配置されているかどうかを決定する。OTA更新は、NANDフラッシュメモリと呼ばれるメモリのバイトのブロック、及びNORフラッシュメモリと呼ばれるメモリの個々のバイトのうちの一方で形成される不揮発性の電気的に消去可能なメモリに関するものである。当該方法は、メモリストレージの配置に基づいてプログラミングプロトコルを選択し、選択されたプログラミングプロトコルに基づいてメモリストレージに書き込む。メモリストレージの配置は、NORメモリであるメモリの個々のバイト、又はNANDメモリであるメモリの個々のブロックを備え得る。OTAリプログラミングロジックは、輸送手段におけるプロセッサ、輸送手段においてオンボード若しくはオフボードで存在し得るサーバにおけるプロセッサ、輸送手段に関連付けられたデバイス(モバイルデバイスなど)、又は輸送手段に関連付けられた任意の他のプロセッサのうちの1つ以上において完全に又は部分的に実行され得る。1つ以上のプロセッサによって利用されるメモリも同様に、輸送手段においてオンボード又はオフボードで位置し得る。輸送手段のプロセッサは、輸送手段のECM又は別のプロセッサ、例えば、ECU、HUにおけるプロセッサ、又は輸送手段における別のプロセッサであり得る。
【0048】
図2Dは、例示的な実施形態に係る、更なる輸送手段ネットワーク図250を示す。ネットワークは、プロセッサ204及び非一時的コンピュータ可読媒体242Dを含む輸送手段202を含む要素を備える。プロセッサ204は、コンピュータ可読媒体242D及び(図2Bに描写された)要素230に対して通信可能に接続されている。輸送手段202は、プロセッサ及びメモリを含む、輸送手段、サーバ、又は任意のデバイスであり得る。
【0049】
プロセッサ204は、ダウンロードが中断された場合に中断フラグを生成すること244Dと、中断フラグに一致する中断されたダウンロードのメモリストレージの配置を決定すること246Dと、メモリストレージの配置に基づいてダウンロードを再開すること248Dと、のうちの1つ以上を行う。当該方法は、ダウンロードが完了したかどうかを決定すること250Dと、ダウンロードが未完了である場合に中断フラグを出すこと252Dと、中断フラグが検出される場合にマジックナンバを生成することであって、マジックナンバは、ランダムに生成される、ということ254Dと、ダウンロードが終了したメモリ場所においてマジックナンバをメモリストレージに書き込むこと256Dと、ダウンロードが終了したメモリ場所においてダウンロードを再開すること258Dと、を含み得る。当該方法は、ダウンロードを一時的なストレージに書き込むこと260Dと、ダウンロードを検証すること262Dと、検証されたダウンロードを一時的なストレージからメモリストレージにコピーすること264Dと、を含み得る。一時的なストレージは、データが永久的に記憶されないメモリストレージ、例えば、ランダムアクセスメモリ(RAM)、又は別の例では、フラッシュメモリ内の一時的なストレージエリア、NORの一時的なストレージエリア内のNORデータ(メモリの個々のバイト)、及びNANDの一時的なストレージエリア内のNANDデータ(メモリの個々のブロック)である。一時的なストレージのRAM、NORの一時的なストレージエリア、又はNANDの一時的なストレージエリアの場所は、輸送手段のECM、例えば、ECU、HUにおけるプロセッサ、又は輸送手段における別のプロセッサにあり得る。当該方法は、ダウンロードが中断された場合に中断フラグを生成すること266Dと、中断フラグが生成されなかった場合にメモリストレージから起動すること268Dと、中断フラグが生成された場合に前のメモリストレージから起動すること270Dと、を更に含み得る。
【0050】
当該方法は、ダウンロードが中断された場合に中断フラグを生成することと、中断フラグに一致する中断されたダウンロードのメモリストレージの配置を決定することと、メモリストレージの配置に基づいてダウンロードを再開することと、を含み得る。中断フラグは、更新のダウンロード中における障害を示す。更新に障害があったメモリブロックのタイプにより、更新をどのように再開するかが決定される。メモリのバイトのブロックを備えるNANDフラッシュメモリにおいて、ダウンロード中の障害は、バイトのブロック全体に関する再ダウンロードを必要とする。メモリの個々のバイトを備えるNORフラッシュメモリにおいて、ダウンロード中の障害は、障害のあるバイトで開始する再ダウンロードを必要とする。当該方法は、メモリストレージの配置に基づいてプログラミングプロトコルを選択し、選択されたプログラミングプロトコルに基づいてメモリストレージに書き込む。あるメモリストレージの配置は、NORタイプのメモリである個々のバイトの形態であり得、別のストレージの配置は、NANDタイプのメモリであるバイトのブロックの形態であり得る。NORタイプのメモリのリプログラミングにおける失敗は、失敗したバイトで再開され、NANDタイプのメモリのリプログラミングにおける失敗は、失敗のメモリブロックで再開される。ロバストなOTAリプログラミングについてのOTAリプログラミングロジックは、輸送手段におけるプロセッサ、輸送手段においてオンボード若しくはオフボードで存在し得るサーバにおけるプロセッサ、輸送手段に関連付けられたデバイス、又は輸送手段に関連付けられた任意の他のプロセッサのうちの1つ以上において完全に又は部分的に実行され得る。1つ以上のプロセッサによって利用されるメモリも同様に、輸送手段においてオンボード又はオフボードで位置し得る。輸送手段のプロセッサは、輸送手段のECM又は別のプロセッサ、例えば、ECU、HUにおけるプロセッサ、又は輸送手段における別のプロセッサであり得る。
【0051】
当該方法はまた、ダウンロードが完了したかどうかを決定することと、ダウンロードが未完了である場合に中断フラグを出すことと、中断フラグが検出される場合にマジックナンバを生成することであって、マジックナンバは、ランダムに生成される、ということと、ダウンロードが終了したメモリ場所においてマジックナンバをメモリストレージに書き込むことと、ダウンロードが終了したメモリ場所においてダウンロードを再開することと、を含み得る。中断フラグは、更新のダウンロード中における障害を示し、更新に障害があったメモリブロックのタイプにより、更新をどのように再開するかが決定される。ダウンロード障害の場所は、最後の良好なダウンロードの場所を示すナンバであるマジックナンバによって示され得る。輸送手段及びサーバのみが、マジックナンバが何であるかを認識するため、マジックナンバは、ダウンロード中におけるソフトウェア攻撃に対する保護として機能する。メモリのバイトのブロックを備えるNANDフラッシュメモリにおいて、ダウンロード中の障害は、バイトのブロック全体に関する再ダウンロードを必要とする。メモリの個々のバイトを備えるNORフラッシュメモリにおいて、ダウンロード中の障害は、障害のあるバイトで開始する再ダウンロードを必要とする。当該方法は、メモリストレージの配置に基づいてプログラミングプロトコルを選択し、選択されたプログラミングプロトコルに基づいてメモリストレージに書き込む。あるメモリストレージの配置は、NORタイプのメモリである個々のバイトの形態であり得、別のストレージの配置は、NANDタイプのメモリであるバイトのブロックの形態であり得る。NORタイプのメモリのリプログラミングにおける失敗は、失敗したバイトで再開され、NANDタイプのメモリのリプログラミングにおける失敗は、失敗のメモリブロックで再開される。ロバストなOTAリプログラミングについてのOTAリプログラミングロジックは、輸送手段におけるプロセッサ、輸送手段においてオンボード若しくはオフボードで存在し得るサーバにおけるプロセッサ、輸送手段に関連付けられたデバイス、又は輸送手段に関連付けられた任意の他のプロセッサのうちの1つ以上において完全に又は部分的に実行され得る。1つ以上のプロセッサによって利用されるメモリも同様に、輸送手段においてオンボード又はオフボードで位置し得る。輸送手段のプロセッサは、輸送手段のECM又は別のプロセッサ、例えば、ECU、HUにおけるプロセッサ、又は輸送手段における別のプロセッサであり得る。
【0052】
当該方法は、ダウンロードを一時的なストレージに書き込むことと、ダウンロードを検証することと、検証されたダウンロードを一時的なストレージから永久メモリストレージにコピーすることと、を含み得る。一時的なストレージは、データが永久的に記憶されないメモリストレージ、例えば、ランダムアクセスメモリ(RAM)、又は別の例では、フラッシュメモリ内の一時的なストレージエリア、NORの一時的なストレージエリア内のNORデータ(メモリの個々のバイト)、及びNANDの一時的なストレージエリア内のNANDデータ(メモリの個々のブロック)である。一時的なストレージのRAM、NORの一時的なストレージエリア、又はNANDの一時的なストレージエリアの場所は、輸送手段のECM、例えば、ECU、HUにおけるプロセッサ、又は輸送手段と通信するモバイルデバイスを含む輸送手段における別のプロセッサにあり得る。一時的なストレージエリアは、使用のために永久ストレージにコピーする前に検証されるダウンロードを収集する中間ストレージとして機能する。ロバストなOTAリプログラミングについてのOTAリプログラミングロジックは、輸送手段におけるプロセッサ、輸送手段においてオンボード若しくはオフボードで存在し得るサーバにおけるプロセッサ、輸送手段に関連付けられたデバイス、又は輸送手段に関連付けられた任意の他のプロセッサのうちの1つ以上において完全に又は部分的に実行され得る。1つ以上のプロセッサによって利用されるメモリも同様に、輸送手段においてオンボード又はオフボードで位置し得る。輸送手段のプロセッサは、輸送手段のECM又は別のプロセッサ、例えば、ECU、HUにおけるプロセッサ、又は輸送手段における別のプロセッサであり得る。
【0053】
当該方法はまた、ダウンロードが中断された場合に中断フラグを生成することと、中断フラグが生成されなかった場合にメモリストレージから起動することと、中断フラグが生成された場合に前のメモリストレージから起動することと、を含み得る。これにより、障害のあるダウンロードからシステムが起動することが防がれる。中断フラグは、更新のダウンロード中における障害を示し、更新に障害があったメモリブロックのタイプにより、更新をどのように再開するかが決定される。メモリのバイトのブロックを備えるNANDフラッシュメモリにおいて、ダウンロード中の障害は、バイトのブロック全体に関する再ダウンロードを必要とする。メモリの個々のバイトを備えるNORフラッシュメモリにおいて、ダウンロード中の障害は、障害のあるバイトで開始する再ダウンロードを必要とする。当該方法は、メモリストレージの配置に基づいてプログラミングプロトコルを選択し、選択されたプログラミングプロトコルに基づいてメモリストレージに書き込む。ロバストなOTAリプログラミングについてのOTAリプログラミングロジックは、輸送手段におけるプロセッサ、輸送手段においてオンボード若しくはオフボードで存在し得るサーバにおけるプロセッサ、輸送手段に関連付けられたデバイス、又は輸送手段に関連付けられた任意の他のプロセッサのうちの1つ以上において完全に又は部分的に実行され得る。1つ以上のプロセッサによって利用されるメモリも同様に、輸送手段においてオンボード又はオフボードで位置し得る。輸送手段のプロセッサは、輸送手段のECM又は別のプロセッサ、例えば、ECU、HUにおけるプロセッサ、又は輸送手段における別のプロセッサであり得る。
【0054】
図2Eは、例示的な実施形態に係る、更に追加の輸送手段ネットワーク図260を示す。図2Eを参照して、ネットワーク図260は、ブロックチェーンネットワーク206を介して他の輸送手段202’及び更新サーバノード203に接続された輸送手段202を含む。輸送手段202及び202’は、輸送手段/車を表し得る。ブロックチェーンネットワーク206は、ソフトウェア更新検証データ、及び将来(例えば、監査で)使用するための検証のソース207を記憶する台帳208を有し得る。
【0055】
この例では、1つの輸送手段202のみについて詳細に記載されているが、複数の当該ノードがブロックチェーン206に接続され得る。輸送手段202は、追加の構成要素を含み得ること、並びに本明細書に記載される構成要素の一部は、本願の範囲を逸脱することなく除去及び/又は修正され得ることを理解されたい。輸送手段202は、計算デバイス若しくはサーバコンピュータ、又は同種のものを有し得、半導体ベースのマイクロプロセッサ、中央処理装置(CPU)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、及び/又は別のハードウェアデバイスであり得るプロセッサ204を含み得る。単一のプロセッサ204が描写されているが、輸送手段202は、本願の範囲を逸脱することなく、複数のプロセッサ、複数のコア、又は同種のものを含み得ることを理解されたい。輸送手段202は、プロセッサ及びメモリを含む、輸送手段、サーバ、又は任意のデバイスであり得る。
【0056】
プロセッサ204は、モバイルデバイスが輸送手段内に位置しているかどうかを決定すること244Eと、Bluetooth(登録商標)及び近距離無線通信のうちの少なくとも一方を介して、輸送手段内に位置しているモバイルデバイスによりソフトウェア更新の一部を受信すること246Eと、近くの輸送手段が輸送手段の通信範囲内にあるかどうかを決定すること248Eと、近くの輸送手段を介してソフトウェア更新の一部を受信すること250Eと、のうちの1つ以上を行う。
【0057】
プロセッサ及び/又はコンピュータ可読媒体242Eは、完全に又は部分的に輸送手段の内部又は外部に存在し得る。コンピュータ可読媒体242Eに記憶されたステップ又は機能は、プロセッサ及び/又は要素のいずれかによって、任意の順番で完全に又は部分的に行われ得る。更に、1つ以上のステップ又は機能に対して、追加、省略、組み合わせ、後での実行などが行われ得る。
【0058】
図2Fは、1つ以上の要素の給電を描写した図265を示す。一実施形態では、輸送手段266は、そのバッテリに蓄えられた電力を、他の輸送手段268、充電ステーション270、及び配電網272を含む1つ以上の要素に提供し得る。配電網272は、充電ステーション270のうちの1つ以上に接続されており、充電ステーション270は、輸送手段268のうちの1つ以上に接続され得る。この構成は、輸送手段266から受け取った電気/電力の分配を可能にする。輸送手段266はまた、車間(V2V)技術や、セルラによる通信、Wi-Fi、及び同種のものなどを介して他の輸送手段268とやり取りし得る。輸送手段266はまた、無線及び/又は有線方式で、他の輸送手段268、充電ステーション270、及び/又は配電網272とやり取りし得る。一実施形態では、輸送手段266は、安全且つ効率的な方式で、配電網272、充電ステーション270、又は他の輸送手段268へと経路設定される(又は自ら経路設定する)。本ソリューションの1つ以上の実施形態を使用して、輸送手段266は、本明細書に記載及び/又は描写されるような様々な有利な方法で、本明細書で描写される要素のうちの1つ以上にエネルギーを提供し得る。更に、輸送手段の安全性及び効率を高め得、本明細書に記載及び/又は描写されるように環境に良い影響を与え得る。
【0059】
用語「エネルギー」は、輸送手段によって受け取られ、蓄えられ、使用され、共有され、及び/又は失われる任意の形態のエネルギーを示すために使用され得る。エネルギーは、充電/使用操作中にエンティティから輸送手段へ提供される充電に関する電圧源及び/又は電流供給と共に参照され得る。エネルギーはまた、(例えば、ハイブリッド式の輸送手段で使用するための)化石燃料の形態であり得るか、又は限定されないが、リチウムベース、ニッケルベース、水素燃料電池、原子/核エネルギー、核融合ベースのエネルギー源、並びに所与の時刻における1つ以上の輸送手段のエネルギーレベルを増加させるか若しくは減少させるためのエネルギー共有及び/若しくは使用操作中にその場で生成されるエネルギーを含む代替的な電源によるものであり得る。
【0060】
一実施形態では、充電ステーション270は、目的地に到着するのに充分な残充電量が輸送手段266にあるように、輸送手段266から移されるエネルギー量を管理する。一実施形態では、共に移動している場合がある輸送手段268間のエネルギー移動の量を無線で指示するために無線接続が使用される。一実施形態では、(自律的であり得る)車266などの利用されていない車は、あるエネルギー量を充電ステーション270に提供して、元の場所(例えば、その元の場所、又は異なる目的地)に戻るように指示される。一実施形態では、モバイルエネルギー貯蔵ユニット(図示せず)は、少なくとも1つの他の輸送手段268から余剰エネルギーを収集して、蓄えられた余剰エネルギーを充電ステーション270で移動させるために使用される。一実施形態では、距離、時間、及び交通状態、道路状態、環境/気象状態、車の状態(重量など)、車利用中の乗員のスケジュール、車を待っている乗員の予想スケジュールなどの要因により、充電ステーション270に移動させるエネルギー量が決定される。一実施形態では、輸送手段268、充電ステーション270、及び/又は配電網272は、エネルギーを輸送手段266に提供し得る。
【0061】
一実施形態では、建物、住宅、又は同種のもの(描写せず)などの場所は、配電網272、輸送手段266、及び/又は充電ステーション270のうちの1つ以上に通信可能に接続されている。当該場所、輸送手段266、他の輸送手段268のうちの1つ以上に電気が流れる速度は、気象などの外部状態に応じて修正される。例えば、外部温度が極めて高温であるか又は極めて低温であって、停電の可能性を上昇させる場合、接続車266/268への電気の流れは、停電の可能性を最小限にするのに役立つように遅くされる。
【0062】
一実施形態では、本明細書に記載及び描写されるソリューションは、輸送手段及び/又はシステムに対する負荷の影響を決定し、将来のニーズ及び/又は優先度に基づいて輸送手段及び/又はシステムにエネルギーを提供し、モジュールを含む装置と車との間で情報を提供し、装置のプロセッサが車のバッテリに蓄えられたエネルギー量に関して車と無線で通信することを可能にするために利用され得る。一実施形態では、ソリューションはまた、ある場所の温度、エネルギーのコスト、及びその場所の電力レベルなどの要因に基づいて、輸送手段からその場所に充電を提供するために利用され得る。一実施形態では、ソリューションはまた、充電の一部が充電ステーションに転送された後に輸送手段に残っているエネルギー量を管理するために利用され得る。一実施形態では、ソリューションはまた、輸送手段上のバッテリのエネルギー量を提供するように車に通知するために利用され得、転送するエネルギー量は、エネルギーを受け取るモジュールまでの輸送手段の距離に基づく。
【0063】
一実施形態では、ソリューションはまた、モバイルエネルギー貯蔵ユニットを使用するために利用され得、当該モバイルエネルギー貯蔵ユニットは、決定された経路を使用して、過剰なエネルギーを有し且つ蓄えられたエネルギーを配電網へ預ける輸送手段へ移動する。一実施形態では、ソリューションはまた、エネルギーを配電網に提供するニーズに関する輸送手段の決定の優先度、及び輸送手段に関する現在のニーズの優先度、例えば、乗客若しくは今後の乗客又は現在の積荷若しくは今後の積荷の優先度を決定するために利用され得る。一実施形態では、ソリューションはまた、車が利用されていない場合に、車が、ある場所まで操縦されて過剰なエネルギーをエネルギー配電網に放電した後に、前の場所へ戻る判断をすることを決定するために利用され得る。一実施形態では、ソリューションはまた、輸送手段間のエネルギー転送を介して、必要とされるエネルギーを別の輸送手段に提供するために輸送手段が必要とするエネルギー量を、気象、交通、道路状態、乗用車の状態、並びに別の輸送手段内の乗員及び/又は物品などの1つ以上の状態に基づいて決定して、別の輸送手段へ経路設定してエネルギーを提供するように輸送手段に命令するために利用され得る。一実施形態では、ソリューションはまた、移動中のある車から移動中の別の車にエネルギーを転送するために利用され得る。一実施形態では、ソリューションはまた、別の輸送手段と会う場所に到達してサービスを提供するための輸送手段の消費エネルギー、及び元の場所に戻るための推定消費エネルギーに基づいて、輸送手段によってエネルギーを取り出すために利用され得る。一実施形態では、ソリューションはまた、輸送手段から取り出されるエネルギー量を決定する充電ステーションまでに必要とされる残りの距離を提供するために利用され得、残充電量は、残りの距離に基づく。一実施形態では、ソリューションはまた、複数のポイントで同時に、有線接続による充電ステーション及び無線接続による別の輸送手段の両方などによって同時に充電される輸送手段を管理するために利用され得る。一実施形態では、ソリューションはまた、輸送手段へのエネルギーの分配に優先度を適用するために利用され得、優先度は、蓄えられた輸送手段の充電の一部を配電網、住宅、及び同種のものなどの別のエンティティに提供する輸送手段に対して与えられる。更に、図2Fに関して記載及び描写されるような本ソリューションは、このネットワーク及び/又はシステム、並びに他のネットワーク及び/又はシステムで利用され得る。
【0064】
図2Gは、異なる要素間の相互接続を示す図275である。本ソリューションは、様々なエンティティに関連付けられ全てが通信可能に接続されネットワーク286と通信する1つ以上の計算デバイス278’、279’、281’、282’、283’、284’、276’、285’、287’、及び277’上で、及び/又は当該1つ以上の計算デバイスによって、完全に又は部分的に記憶及び/又は実行され得る。データベース287は、ネットワークに通信可能に接続されており、データの記憶及び取り出しを可能にする。一実施形態では、データベースは、不変台帳である。様々なエンティティのうちの1つ以上は、輸送手段276、1つ以上のサービスプロバイダ279、1つ以上の公共建物281、1つ以上の交通インフラストラクチャ282、1つ以上の居住用住宅283、配電網/充電ステーション284、マイク285、及び/又は別の輸送手段277であり得る。スマートフォン278、ラップトップ280、拡張現実(AR)デバイス、仮想現実(VR)デバイス、及び/又は任意のウェアラブルデバイスを使用する1人以上のプライベートユーザなどの他のエンティティ及び/又はデバイスも本ソリューションと連携し得る。スマートフォン278、ラップトップ280、マイク285、及び他のデバイスは、接続計算デバイス278’、279’、281’、282’、283’、284’、276’、285’、287’、及び277’のうちの1つ以上に接続され得る。1つ以上の公共建物281は、様々な機関を含み得る。1つ以上の公共建物281は、計算デバイス281’を利用し得る。1つ以上のサービスプロバイダ279は、販売代理店、牽引トラックサービス、コリジョンセンタ、又は他の修理店を含み得る。1つ以上のサービスプロバイダ279は、計算装置279’を利用し得る。これらの様々なコンピュータデバイスは、直接的に、並びに/又は通信可能に有線ネットワーク、無線ネットワーク、ブロックチェーンネットワーク、及び同種のものなどを介して互いに接続され得る。一実施形態では、マイク285は、バーチャルアシスタントとして利用され得る。一実施形態では、1つ以上の交通インフラストラクチャ282は、1つ以上の交通信号、1つ以上のカメラを含む1つ以上のセンサ、車速度センサ若しくは交通センサ、及び/又は他の交通インフラストラクチャを含み得る。1つ以上の交通インフラストラクチャ282は、計算デバイス282’を利用し得る。
【0065】
一実施形態では、輸送手段277/276は、人、物体、永久的又は一時的に取り付けられた装置、及び同種のものを輸送することができる。一実施形態では、輸送手段277は、V2V通信を介して、各輸送手段に関連付けられたコンピュータ276’及び277’を通じて輸送手段276と通信し得、輸送手段、乗用車、車、自動車、及び同種のものと称され得る。輸送手段276/277は、乗用車、スポーツ用多目的車、トラック、バス、ワゴン車、又はモータ若しくはバッテリ駆動、若しくは燃料電池駆動の他の輸送手段などの自走式で車輪式の乗り物であり得る。例えば、輸送手段276/277は、電気自動車、ハイブリッド車、水素燃料電池車、プラグインハイブリッド車、又は燃料電池スタック、モータ、及び/若しくは発電機を有する任意の他のタイプの車であり得る。車の他の例には、自転車、スクータ、電車、飛行機、又はボート、及び輸送が可能な任意の他の形態の乗り物が含まれる。輸送手段276/277は、半自律的又は自律的であり得る。例えば、輸送手段276/277は、自動操縦式で、人間の入力なしに操縦され得る。自律車は、1つ以上のセンサ及び/又はナビゲーションユニットを有しこれらを使用して、自律的に走行し得る。
【0066】
一実施形態では、本明細書に記載及び描写されるソリューションは、ブロックチェーンのコンセンサスを介して輸送手段へのアクセスを決定するために利用され得る。一実施形態では、ソリューションはまた、乗員による輸送手段の使用を可能にする前にプロファイル検証を行うために利用され得る。一実施形態では、ソリューションはまた、ユーザが行う必要があり、且つ正しい動作であると確認する必要がある(予め記録され得る)動作を輸送手段上で、又は輸送手段から(視覚的であるが、また、別の実施形態では言葉などで)輸送手段に示させるために利用され得る。一実施形態では、ソリューションはまた、データを二分して、安全な運転環境でのより低いリスクレベルを有する二分されたデータの一部を乗員に分配し、乗員が輸送手段を離れた後に、より高いリスクレベルを有する二分されたデータの残りの部分を後で乗員に分配する方法を、データ及び運転環境に関連付けられたリスクレベルに基づいて輸送手段が決定する能力を提供するために利用され得る。一実施形態では、ソリューションはまた、ブロックチェーン及び/又はスマートコントラクトを使用して、(国/州/などの)境界を超える車の移動に対処し、新しいエリアのルールを車に適用するために利用され得る。
【0067】
一実施形態では、ソリューションはまた、輸送手段の操作及び輸送手段の乗員の特性に基づいて輸送手段によってコンセンサスに達した場合に、輸送手段が境界の外側で動作を継続することを可能にするために利用され得る。一実施形態では、ソリューションはまた、輸送手段の利用可能なデータアップロード/ダウンロードの速度、ファイルのサイズ、及び輸送手段が移動している速度/方向を分析して、データアップロード/ダウンロードを完了するために必要とされる距離を決定して、実行されるデータアップロード/ダウンロードについてセキュアなエリア境界を割り当てるために利用され得る。一実施形態では、ソリューションはまた、出口が間もないことをシステムが決定する場合や、輸送手段が出て行く準備ができていないように見える(例えば、誤った車線にいるか、又は次に出て行くのに適していない速度で移動している)場合などに、通常は危険な操縦を安全な方式で行って、対象の輸送手段が安全な方式で出て行くことを可能にするように対象の輸送手段及び他の近くの輸送手段に命令するために利用され得る。一実施形態では、ソリューションはまた、1台以上の車及び他の輸送手段の両方が移動している間に、1台以上の車を使用して他の輸送手段の診断を検証するために利用され得る。
【0068】
一実施形態では、ソリューションはまた、ある場所のある日時における車線の使用を検出して、車線変更を推奨するか又は推奨しないように、輸送手段の乗員に知らせるか又は輸送手段に指示するために利用され得る。一実施形態では、ソリューションはまた、メールを通じて情報を送信する必要性、及び支払を、メールを通じて又は直接行うことによって運転者/乗員が応答する必要性をなくすために利用され得る。一実施形態では、ソリューションはまた、輸送手段の乗員にサービスを提供するために利用され得、提供されるサービスは、サブスクリプションに基づいており、パーミッションは、乗員のプロファイルに接続された他の輸送手段から取得される。一実施形態では、ソリューションはまた、貸し出された物体の状態の変更を記録するために利用され得る。一実施形態では、ソリューションはまた、損傷した輸送手段の近くにある他の輸送手段からブロックチェーンコンセンサスを求めるために利用され得る。一実施形態では、ソリューションはまた、保険エンティティサーバなどのサーバや事故に関連し得る輸送手段のコンピュータからメディアを受信するために利用され得る。サーバは、1つ以上のメディアファイルへアクセスして、輸送手段に対する損傷にアクセスし、損傷評価をブロックチェーン上へ記憶する。一実施形態では、ソリューションはまた、コンセンサスを取得して、輸送手段に関連する事象よりも前の様々な時刻において多数のデバイスから事象の深刻度を決定するために利用され得る。
【0069】
一実施形態では、ソリューションはまた、輸送手段に関連する事故についての映像の証拠がないという問題を解決するために利用され得る。本ソリューションは、事故の近くにいた可能性のある他の輸送手段からの事故に関連するメディアに関しての、事故に関与する輸送手段による問い合わせを詳細に記述する。一実施形態では、ソリューションはまた、輸送手段及び他のデバイス(例えば、歩行者の携帯電話、街灯のカメラなど)を利用して、損傷した輸送手段の特定の部分を記録するために利用され得る。
【0070】
一実施形態では、ソリューションはまた、輸送手段が危険なエリア及び/又は事象に向かって操縦されている場合に乗員へ警告して、現在の輸送手段の経路上、又は当該経路の近くにある危険な可能性のあるエリアについて輸送手段が乗員又は中央コントローラに通知することを可能にするために利用され得る。一実施形態では、ソリューションはまた、輸送手段が高速度で移動している場合に、交通に対する影響が最小限である方式で輸送手段を減速させるのを支援するために、少なくとも1つの他の輸送手段が使用されていることを検出するために利用され得る。一実施形態では、ソリューションはまた、危険な運転状況を識別するために利用され得、ここで、メディアは、危険な運転状況に関与する車によって取り込まれる。ジオフェンスは、危険な運転状況の距離に基づいて確立され、追加のメディアは、確立されたジオフェンス内の少なくとも1台の他の車によって取り込まれる。一実施形態では、ソリューションはまた、輸送手段の1人以上の乗員に、その輸送手段が道路上の交通規制標識に接近しているという通知を送信し、次いで、輸送手段が標識を超えて行った場合に、悪い運転であるという表示を他の近くの輸送手段から受信するために利用され得る。一実施形態では、ソリューションはまた、(特定の実施形態では)速度を制限すること、別の車に近づく能力を制限すること、速度を最大値までに制限すること、及び期間毎に可能とされる所与のマイル(約1.609km)数だけを可能にすることによって、輸送手段を部分的に動作不能とするために利用され得る。
【0071】
一実施形態では、ソリューションはまた、ソフトウェア更新への依存の必要性を克服して、輸送手段が正しく動作していない場合に輸送手段に伴う問題を修正するために利用され得る。経路上の他の輸送手段の観測を通じて、サーバは、輸送手段の危険な、又は誤った操作を観測している可能性のある複数の他の輸送手段からデータを受信する。分析を通じて、当該観測は、データが危険な、又は誤った操作を示唆している場合、輸送手段への通知をもたらし得る。一実施形態では、ソリューションはまた、輸送手段と、その輸送手段とは無関係の人を巻き込む可能性のある危険な状況との間で通知を提供するために利用され得る。一実施形態では、ソリューションはまた、輸送手段の事故に関連付けられたデバイス、又は事故の近くのデバイスのいずれかによって、データをサーバに送信するために利用され得る。事故の深刻度又は事故の近くの深刻度に基づいて、サーバは、送信者にデータを通知する。一実施形態では、ソリューションはまた、データの分析に基づいて、輸送手段の運転者又は乗員のいずれかに輸送手段の操作についての推奨を提供するために利用され得る。一実施形態では、ソリューションはまた、物理構造に関連付けられたジオフェンスを確立して、輸送手段に対する支払責任を決定するために利用され得る。一実施形態では、ソリューションはまた、ある場所で車を降りることができるかを、その場所の現在の状態、及び提案される将来の状態の両方を使用し他の車のナビゲーション目的地を使用して調整するために利用され得る。一実施形態では、ソリューションはまた、輸送手段レンタルエンティティなどの場所での車の降車を自動的に手配する能力を調整するために利用され得る。
【0072】
一実施形態では、ソリューションはまた、ユーザの事象に基づいて、輸送手段を別の場所に移動させるために利用され得る。より具体的には、システムは、ユーザのデバイスを追跡し、元の事象又は修正された事象の結果に基づいて、ユーザの近くに移動されるように輸送手段を修正する。一実施形態では、ソリューションはまた、エリア内に存在する輸送手段を通じて当該エリア内の利用可能な場所の検証を可能にするために利用され得る。場所が空き得るおおよその時刻も、存在する輸送手段からの検証に基づいて決定される。一実施形態では、ソリューションはまた、ある駐車スペースが利用可能となって最初の駐車からの経過時間が事象の平均時間未満である場合に、輸送手段をより近い駐車スペースに移動させるために利用され得る。更に、事象が完了している場合に、又は輸送手段の少なくとも1人の乗員に関連付けられたデバイスの場所に応じて、輸送手段を最終的な駐車スペースに移動させる。一実施形態では、ソリューションはまた、来るべき混雑の前に駐車の計画を立てるために利用され得る。システムは、輸送手段とやり取りして、正規料金未満で何らかのサービスを提供し及び/又は輸送手段の優先度に基づいて輸送手段を代替的な駐車場所に案内し、これにより到着前の駐車状況の最適化を向上させる。
【0073】
一実施形態では、ソリューションはまた、輸送手段の分割所有を販売するか、又はライドシェア用途での価格及び利用可能性を決定するために利用され得る。一実施形態では、ソリューションはまた、現在利用可能な物よりもはるかに優れた、販売代理店の販売活動の正確でタイムリーなレポートを提供するために利用され得る。一実施形態では、ソリューションはまた、販売代理店がブロックチェーンを介してアセットを要求することを可能にするために利用され得る。ブロックチェーンを使用することによって、任意のアセットが移動される前にコンセンサスが取得される。更に、プロセスは自動化され、支払は、ブロックチェーンを介して開始され得る。一実施形態では、ソリューションはまた、(サービスセンタなどの)複数のエンティティと行われる合意を手配するために利用され得、コンセンサスが取得されて、(診断などの)動作が行われる。一実施形態では、ソリューションはまた、デジタルキーを複数のユーザと関連付けるために利用され得る。第1のユーザは、輸送手段の操作者であり得、第2のユーザは、輸送手段の責任を負う当事者である。当該キーは、サーバによって承認され、キーの近接性は、サービスプロバイダの場所に対して検証される。一実施形態では、ソリューションはまた、輸送手段の目的地で必要とされるサービスを決定するために利用され得る。目的地への経路上のエリア内にあり、且つサービスの実行が利用可能である必要なサービスを提供することができる1つ以上のサービスの場所が位置している。輸送手段のナビゲーションは、決定されるサービスの場所で更新される。サービスについての補償値を含むスマートコントラクトが識別され、ブロックチェーントランザクションがトランザクション用の分散型台帳に記憶される。
【0074】
一実施形態では、ソリューションはまた、サービスプロバイダの輸送手段を輸送手段の乗員のプロファイルと結び付けて、輸送手段内の乗員の関心があり得るサービス及び物品を決定するために利用され得る。当該サービス及び物品は、乗員の経歴及び/又は好みによって決定される。次いで、輸送手段は、サービスプロバイダの輸送手段からオファーを受信し、別の実施形態では、輸送手段と会ってサービス/物品を提供する。一実施形態では、ソリューションはまた、ある範囲内の輸送手段を検出して、その輸送手段に(保守のオファー、製品のオファー、又は同種のものなどの)サービスのオファーを送信するために利用され得る。システムと輸送手段との間で合意が行われ、合意を提供するために、システムによってサービスプロバイダが選択される。一実施形態では、ソリューションはまた、1つ以上の輸送手段を道路管理者として割り当てるために利用され得、当該道路管理者は、交通の規制を支援する。道路管理者は、(信号灯、ディスプレイ、音などの)道路の表示器を生成して交通の流れを支援し得る。一実施形態では、ソリューションはまた、デバイスによって輸送手段の運転者に警告するために利用され得、当該デバイスは、交通信号灯であり得るか、又は交差点の近くにあり得る。警告は、信号灯が青になり、輸送手段のリストの前の輸送手段が移動しない場合などの事象に際して送信される。
【0075】
図2Hは、一例での異なる要素間の相互接続を示す別のブロック図290である。輸送手段276が表され、ECU295、296と、ヘッドユニット(他の場合にはインフォテインメントシステムとして既知である)297と、を含む。電気制御ユニット(ECU)は、輸送手段内の電気システム又はサブシステムのうちの1つ以上を制御する自動車用電子機器内に組み込まれたシステムである。ECUは、輸送手段のエンジン、ブレーキシステム、変速システム、ドアのロック、ダッシュボード、エアバッグシステム、インフォテインメントシステム、電子差動装置、及びアクティブサスペンションの管理を含み得るが、これらに限定されない。ECUは、輸送手段のコントローラエリアネットワーク(CAN)バス294に接続されている。ECUはまた、CANバス294を介して輸送手段のコンピュータ298と通信し得る。(輸送手段のコンピュータなどの)輸送手段のプロセッサ/センサ298は、(インターネットなどの)ネットワーク292を介してサーバ293などの外部要素と通信し得る。各々のECU295、296及びヘッドユニット297は、自身のセキュリティポリシーを含み得る。セキュリティポリシーは、適切なコンテキストで実行できる、許容されるプロセスを定める。一実施形態では、セキュリティポリシーは、部分的に又は完全に輸送手段のコンピュータ298内で提供され得る。
【0076】
ECU295、296及びヘッドユニット297はそれぞれ、承認されるプロセス、及びそれらのプロセスの動作が許可されるコンテキストを定めるカスタムセキュリティ機能要素299を含み得る。プロセスが実行可能であるかの有効性を決定するコンテキストベースの承認により、ECUは、セキュアな動作を維持し、且つ輸送手段のコントローラエリアネットワーク(CANバス)などの要素からの承認されていないアクセスを防ぐことができる。ECUが、承認されていないプロセスに遭遇すると、そのECUは、当該プロセスが動作するのを阻止し得る。自動車用ECUは、近くの物体、接近している物体までの距離、速度、他の移動物体に対する軌跡などの近接性のコンテキスト、輸送手段が移動しているか若しくは駐車しているかの表示、輸送手段の現在の速度、送信状態などの動作のコンテキスト、無線プロトコルを介して輸送手段に接続されたデバイス、インフォテインメントの使用、クルーズコントロール、駐車支援、運転支援などのユーザに関連するコンテキスト、場所ベースのコンテキスト、及び/又は他のコンテキストなどの様々なコンテキストを使用して、その許可された境界内でプロセスが動作しているかどうかを決定し得る。
【0077】
一実施形態では、本明細書に記載及び描写されるソリューションは、(特定の実施形態では)速度を制限すること、別の車に近づく能力を制限すること、速度を最大値までに制限すること、及び期間毎に可能とされる所与のマイル(約1.609km)数だけを可能にすることによって、輸送手段を部分的に動作不能とするために利用され得る。一実施形態では、ソリューションはまた、ブロックチェーンを使用して車の所有の交換を容易にするために利用され得、データは、輸送手段の事故に関連付けられたデバイス、又は事故の近くのデバイスのいずれかによってサーバに送信される。事故の深刻度又は事故の近くの深刻度に基づいて、サーバは、送信者にデータを通知する。一実施形態では、ソリューションはまた、事故に近い他の輸送手段に問い合わせるサーバによって、輸送手段が事故に関与する場合などに、輸送手段が事故を回避するのを助けるために利用され得る。サーバは、データを他の輸送手段から取得しようとし、複数の観点からサーバが事故の本質を理解することを可能にする。一実施形態では、ソリューションはまた、輸送手段からの音が異常であると決定して、その音に関連するデータ及び可能性のある発生源の場所をサーバに送信するために利用され得、サーバは、可能性のある原因を決定して危険な可能性のある状況を回避し得る。一実施形態では、ソリューションはまた、輸送手段が事故に関与する場合にシステムを介して場所の境界を確立するために利用され得る。この境界は、事故に関連付けられたデシベルに基づく。境界内のデバイス用のマルチメディアコンテンツは、事故の展開を更に理解するのを支援するために取得される。一実施形態では、ソリューションはまた、車を事故と関連付け、次いで事故の場所に近いデバイスによって取得されるメディアを取り込むために利用され得る。取り込まれたメディアは、メディアセグメントとして保存される。メディアセグメントは、事故の音プロファイルを作る別の計算デバイスに送信される。この音プロファイルは、事故の周囲の更なる詳細を理解するのを支援するであろう。
【0078】
一実施形態では、ソリューションはまた、輸送手段が(移動中又は駐車中に)別の輸送手段と接触するか、又は接触し得る場合などに、センサを利用して音声、映像、動きなどを記録して、可能性のある事象が発生したエリアを記録するために利用され得、システムは、輸送手段のうちの1つ以上に存在し、及び/又は固定された若しくは移動する物体上に存在し得るセンサからデータを取り込む。一実施形態では、ソリューションはまた、センサデータを使用して輸送手段の事象の間に輸送手段の新しい状態を識別して当該状態を輸送手段の状態プロファイルと比較することによって、輸送手段が損傷したことを決定するために利用され得、これにより、有害な事象に関与しそうになっている輸送手段から重要なデータを安全でセキュアに取り込むことが可能となる。
【0079】
一実施形態では、ソリューションはまた、輸送手段が誤った方向に一方通行道路に接近しているか、又は逆走していることを輸送手段が1つ以上のセンサを介して決定した場合に、輸送手段の乗員へ警告するために利用され得る。輸送手段は、本ソリューションのシステムとやり取りするセンサ/カメラ/地図を有する。システムは、一方通行路の地理的場所を認識している。システムは、例えば、「一方通行路に接近中」と、聞こえるように乗員に知らせ得る。一実施形態では、ソリューションはまた、輸送手段が報酬を得ることを可能にし、自律車の所有者が、自身の車のセンサが収集及び記憶したデータを収益化することを可能にして、車の所有者が自身のデータを共有してエンティティに追加のデータを提供するインセンティブを生み出し、当該追加のデータを通じて、将来の車の性能を向上させ、車の所有者へのサービスの提供を行うことなどのために利用され得る。
【0080】
一実施形態では、ソリューションはまた、ある期間における車の動作に応じて車の機能を増加させるか又は減少させるために利用され得る。一実施形態では、ソリューションはまた、分割所有を輸送手段に割り当てるために利用され得る。1つ以上の輸送手段及び輸送手段に近いデバイスに関連するセンサデータは、輸送手段の状態を決定するために使用される。輸送手段の分割所有は、状態に基づいて決定され、輸送手段の新しい責任が定められる。一実施形態では、ソリューションはまた、交換部品/アップフィット(upfitting)部品にデータを提供するために利用され得、データは、交換部品/アップフィット部品の承認される機能を破壊しようと試み、承認される機能が破壊されないことに応じて、交換部品/アップフィット部品の承認される機能を部品が使用することを許可する。
【0081】
一実施形態では、ソリューションはまた、乗員が輸送手段の中にいてその乗員が特定の目的地に到達すべきであるということを個人に保証できるようにするために利用され得る。更に、システムは、運転者(非自律的な輸送手段の場合)及び/又は他の乗員が乗員とやり取りすることを承認されることを保証する。ピックアップ、降車、及び場所も言及される。以上の全てが不変の方法でブロックチェーンに記憶される。一実施形態では、ソリューションはまた、運転スタイル及び他の要素の分析を介して運転者の特性を決定して、運転者が前に、例えば、日中、夜間、雨の中、雪の中などの特定の状態で運転したような場合など、運転者が通常のように運転していない場合に、措置を講じるために利用され得る。更に、輸送手段の属性も考慮される。属性は、天気、ヘッドライトがついているかどうか、ナビゲーションが使用されているかどうか、HUDが使用されているかどうか、あるボリュームのメディアが再生されているかどうか、などで構成されている。一実施形態では、ソリューションはまた、乗員が危険な状況に気付いていない可能性があることを輸送手段内のアイテムが示している場合に、輸送手段内の乗員に危険な状況を通知するために利用され得る。
【0082】
一実施形態では、ソリューションはまた、車に固定された装備にキャリブレーションデバイスを取り付けるために利用され得、輸送手段上の様々なセンサは、実際に検出されるものと比較して、キャリブレーションデバイスによって検出されるべきであるものに基づいて自動的に自己調整することが可能である。一実施形態では、ソリューションはまた、サービスを必要とする輸送手段が誤動作情報を送信する場合に、ブロックチェーンを使用して複数のサービスセンタからコンセンサスを必要として、リモート診断機能を可能にするために利用され得、コンセンサスは、データに対する深刻度閾値に関して他のサービスセンタから必要とされる。一旦、コンセンサスが受信されると、サービスセンタは、記憶されるブロックチェーンに誤動作のセキュリティレベルを送信し得る。一実施形態では、ソリューションはまた、輸送手段の外部のセンサデータと輸送手段自身のセンサデータとの差を決定するために利用され得る。輸送手段は、問題を修正するためのソフトウェアをサーバに要求する。一実施形態では、ソリューションはまた、事象(例えば、衝突)が生じたときにエリアの近くにいるか又はエリア内にいる輸送手段のメッセージ送受信を可能にするために利用され得る。
【0083】
図2Iを参照して、一部の実施形態に係る、接続された輸送手段の動作環境290Aが示されている。描写されているように、輸送手段276は、輸送手段の要素292A~299Aを接続するコントローラエリアネットワーク(CAN)バス291Aを含む。他の要素が、CANバスに接続され得るが、本明細書では描写されていない。CANバスに接続された、描写された要素は、センサセット292Aと、電子制御ユニット293Aと、自律機能又は先進運転支援システム(ADAS)294Aと、ナビゲーションシステム295Aと、を含む。一部の実施形態では、輸送手段276は、プロセッサ296Aと、メモリ297Aと、通信ユニット298Aと、電子ディスプレイ299Aと、を含む。
【0084】
プロセッサ296Aは、算術論理演算装置、マイクロプロセッサ、汎用コントローラ、及び/又は同様のプロセッサアレイを含み、計算を実行して電子ディスプレイ信号をディスプレイユニット299Aに提供する。プロセッサ296Aは、データ信号を処理し、複合命令セットコンピュータ(CISC)アーキテクチャ、縮小命令セットコンピュータ(RISC)アーキテクチャ、又は命令セットの組み合わせを実装したアーキテクチャを含む様々な計算アーキテクチャを含み得る。輸送手段276は、1つ以上のプロセッサ296Aを含み得る。互いに通信可能に接続される他のプロセッサ、オペレーティングシステム、センサ、ディスプレイ、及び物理構成(描写せず)が、本ソリューションで使用され得る。
【0085】
メモリ297Aは、プロセッサ296Aによってアクセス及び実行され得る命令又はデータを記憶する非一時的メモリである。命令及び/又はデータは、本明細書に記載される手法を行うためのコードを含み得る。メモリ297Aは、ダイナミックランダムアクセスメモリ(DRAM)デバイス、スタティックランダムアクセスメモリ(SRAM)デバイス、フラッシュメモリ、又は何らかの他のメモリデバイスであり得る。一部の実施形態では、メモリ297Aはまた、ハードディスクドライブ、フロッピディスクドライブ、CD-ROMデバイス、DVD-ROMデバイス、DVD-RAMデバイス、DVD-RWデバイス、フラッシュメモリデバイス、又は情報を永久に記憶するための何らかの他のマスストレージデバイスを含み得る、不揮発性メモリ又は同様の永久ストレージデバイス及びメディアを含み得る。メモリ297Aの一部は、バッファ又は仮想ランダムアクセスメモリ(仮想RAM)として使用するために確保され得る。輸送手段276は、本ソリューションから逸脱することなく、1つ以上のメモリ297Aを含み得る。
【0086】
輸送手段276のメモリ297Aは、以下のタイプのデータ、すなわち、ナビゲーション経路データ295A及び自律機能データ294Aのうちの1つ以上を記憶し得る。一部の実施形態では、メモリ297Aは、ナビゲーションアプリケーション295Aが機能を提供するのに必要であり得るデータを記憶する。
【0087】
ナビゲーションシステム295Aは、出発点及び終点を含む少なくとも1つのナビゲーション経路を表し得る。一部の実施形態では、輸送手段276のナビゲーションシステム295Aは、ナビゲーション経路についてユーザから要求を受信し、要求は、出発点及び終点を含む。ナビゲーションシステム295Aは、出発点及び終点を含むナビゲーション経路に対応するナビゲーション経路データについて、運転指示を提供するサーバなどのリアルタイムデータサーバ293に(ネットワーク292を介して)問い合わせを行い得る。リアルタイムデータサーバ293は、無線ネットワーク292を介してナビゲーション経路データを輸送手段276に送信し、通信システム298Aは、輸送手段276のメモリ297Aにナビゲーションデータ295Aを記憶する。
【0088】
ECU293Aは、ADASシステム294Aを含む輸送手段276の多数のシステムの動作を制御する。ECU293Aは、ナビゲーションシステム295Aから受信される命令に応じて、ADASシステム294Aによって制御される行程の期間中に、任意の危険な及び/又は選択されていない自律機能を無効にし得る。このようにして、ナビゲーションシステム295Aは、ADASシステム294Aが所与のナビゲーション経路で作動し得るようにADASシステム294Aを作動させるか又は有効にするかどうかを制御し得る。
【0089】
センサセット292Aは、センサデータを生成する任意のセンサを輸送手段276に含み得る。例えば、センサセット292Aは、短距離センサ及び長距離センサを含み得る。一部の実施形態では、輸送手段276のセンサセット292Aは、以下の車センサ、すなわち、カメラ、LIDARセンサ、超音波センサ、自動車エンジンセンサ、レーダセンサ、レーザ高度計、マニホールド絶対圧力センサ、赤外線検出器、動作検出器、サーモスタット、音声検出器、一酸化炭素センサ、二酸化炭素センサ、酸素センサ、マスエアフローセンサ、エンジン冷却液温度センサ、スロットル位置センサ、クランクシャフト位置センサ、バルブタイマ、空気燃料比メータ、ブラインドスポットメータ、カーブフィーラ、欠陥検出器、ホール効果センサ、駐車センサ、スピードガン、速度計、速度センサ、タイヤ圧監視センサ、トルクセンサ、トランスミッション液温度センサ、タービン速度センサ(TSS)、可変リラクタンスセンサ、車速センサ(VSS)、水分センサ、車輪速度センサ、GPSセンサ、マッピング機能、及び任意の他のタイプの自動車用センサのうちの1つ以上を含み得る。ナビゲーションシステム295Aは、センサデータをメモリ297Aに記憶し得る。
【0090】
通信ユニット298Aは、ネットワーク292との間で又は別の通信チャネルにデータを送信及び受信する。一部の実施形態では、通信ユニット298Aは、DSRCトランシーバ、DSRC受信機、及び輸送手段276をDSRC搭載デバイスにするのに必要な他のハードウェア又はソフトウェアを含み得る。
【0091】
輸送手段276は、V2V技術を介して他の輸送手段277とやり取りし得る。一実施形態では、V2V通信は、外部物体までの相対距離に対応するレーダ情報を検知することと、輸送手段のGPS情報を受信することと、検知されたレーダ情報に基づいてエリアを、他の輸送手段277が位置しているエリアとして設定することと、対象車のGPS情報が、設定されたエリアに位置する確率を計算することと、計算された確率に基づいて、対象車のレーダ情報及びGPS情報に対応する輸送手段及び/又は物体を識別することと、を含む。
【0092】
一実施形態では、本明細書に記載及び描写されるソリューションは、輸送手段がネットワークアクセスのないエリアに入ったと決定される場合に、緊急の展開及び輸送手段の機能を管理するために利用され得る。一実施形態では、ソリューションはまた、ネットワーク接続のない輸送手段において(音声、映像、ナビゲーションなどの)機能を管理及び提供するために利用され得る。一実施形態では、ソリューションはまた、輸送手段の近くの人のプロファイルが輸送手段内の少なくとも1人の乗員のプロファイルのプロファイル属性と一致する場合を決定するために利用され得る。通信を確立するために輸送手段から通知が送信される。
【0093】
一実施形態では、ソリューションはまた、輸送手段内で残っている時間、及び行われる通信のコンテキストに基づいて、音声通信が利用可能な各輸送手段内の乗員の利用可能性を分析するために利用され得る。一実施形態では、ソリューションはまた、道路の障害物の2つの脅威レベルを決定して、障害物が閾値を超える警告には達しないことを示し得るジェスチャを受信し、輸送手段によって道路に沿って進むために利用され得る。一実施形態では、ソリューションはまた、輸送手段が使用不可能な状態にされるような損傷を受けた場合に輸送手段から機密データを削除するために利用され得る。
【0094】
一実施形態では、ソリューションはまた、除去されるべき顧客データがGDPRコンプライアンスを明示している企業内で必要な場所の全てから本当に除去されていることを確認するために利用され得る。一実施形態では、ソリューションはまた、安全性に関連するデータや重要な通知などと引き換えに、ある輸送手段から別の輸送手段に対価を提供して、より低いレベルの自律車の自律能力を高めるために利用され得る。一実施形態では、ソリューションはまた、乗員に関連付けられた第1の生体認証に基づいて輸送手段がデータを受信する能力を提供するために利用され得る。次いで、輸送手段は、第2の生体認証の検証に基づいて、暗号化されたデータを復号化し、第2の生体認証は、第1の生体認証の連続体である。輸送手段は、復号化されたデータを乗員が受信可能な場合のみ、復号化されたデータを乗員に提供し、機密部分が提供されているとき、復号化されたデータの機密部分を削除し、生体認証に関連付けられた期間が経過した後に非機密部分を削除する。一実施形態では、ソリューションはまた、輸送手段のステアリングホイールに加えられる重量及び把持圧力に基づいて輸送手段が個人を検証できるようにするために利用され得る。一実施形態では、ソリューションはまた、存在するが現在は有効にされていない機能を乗用車に提供して、乗員の特性を反映した機能を自動車の乗員に提示するために利用され得る。
【0095】
一実施形態では、ソリューションはまた、輸送手段、特に輸送手段の内部及び輸送手段の外部に関する修正の反映を可能にして、一実施形態では少なくとも1人の乗員を支援するために利用され得る。別の実施形態では、乗員の仕事環境及び/又は家庭環境の再現が開示される。システムは、ユーザが「仕事モード」又は「家庭モード」であると輸送手段が決定する場合、ユーザが輸送手段内にいる間、ユーザの仕事環境/家庭環境を「再現」しようと試み得る。輸送手段の内部及び外部、並びに輸送手段を利用する様々な乗員に関連する全てのデータが、ブロックチェーンに記憶されて、スマートコントラクトを介して実行される。一実施形態では、ソリューションはまた、乗員のジェスチャを検出して近くの輸送手段との通信を支援するために利用され得、輸送手段は、それに応じて操縦され得る。一実施形態では、ソリューションはまた、ジェスチャ定義データストアを使用して、意図されるジェスチャを輸送手段が検出する能力を提供するために利用され得る。一実施形態では、ソリューションはまた、ユーザの歩調及びジェスチャに基づいて輸送手段が様々な措置を講じる能力を提供するために利用され得る。一実施形態では、ソリューションはまた、現在様々な操作(例えば、ナビゲーションと話しながら運転する、など)に従事している輸送手段の運転者が、ジェスチャの許可の前に危険な操作数を超えないことを保証するために利用され得る。
【0096】
一実施形態では、ソリューションはまた、ある状況を輸送手段内の各乗員に割り当てて、乗員の状況に基づいて乗員からのジェスチャを検証するために利用され得る。一実施形態では、ソリューションはまた、衝突に関連する音の詳細(どの場所か、どの方向か、大きくなっているか小さくなっているか、どのデバイスからか、タイプ、製造者、所有者、並びに同時に発生している音の数及び音が発せられた時刻などのデバイスに関連付けられたデータ、など)を収集して、データの分析が衝突に関する詳細の決定を支援する場所をシステムに提供するために利用され得る。一実施形態では、ソリューションはまた、輸送手段の操作が危険であるという決定を提供するために利用され得る。輸送手段は、相互に動作して輸送手段を制御する複数の構成要素を含み、各構成要素は、別々の構成要素のキーに関連付けられている。暗号化キーは、輸送手段の機能を減らすために輸送手段に送信される。暗号化キーの受信に応じて、輸送手段は、構成要素のキーのうちの1つ以上を無効にする。1つ以上の構成要素のキーの無効化は、輸送手段が所与の速度よりも速く移動しないように制限すること、輸送手段が別の輸送手段に対してある距離よりも近づかないように制限すること、及び輸送手段が閾値の距離よりも遠くに移動しないように制限することのうちの1つ以上をもたらす。
【0097】
一実施形態では、ソリューションはまた、(場所を空けようとしている)ある特定の輸送手段から(場所を占有しようとしている)別の特定の輸送手段に表示を提供するために利用され得、ブロックチェーンは、認証及び調整を実行するために使用される。一実施形態では、ソリューションはまた、輸送手段に対する部分的な責任を決定するために利用され得る。複数の人が単一の輸送手段を所有する場合などでは、輸送手段は、ある期間において変わって使用され得、システムによって分割所有を更新するために使用される。他の実施形態は、輸送手段の使用ではなく輸送手段の利用可能性及び輸送手段の運転者の決定並びに他のことに基づく輸送手段の最小限の所有を含む用途に含まれる。
【0098】
一実施形態では、ソリューションはまた、輸送手段内で、家族又は友人などの限定されたグループの人々に関してユーザが自身のサブスクリプションを許可するために利用され得る。例えば、ユーザは、会員を共有したい場合があり、その場合、関連付けられたトランザクションが、ブロックチェーン又は従来のデータベースに記憶される。定期購読の素材が、主たる加入者ではないユーザによって要求されるとき、サービスを要求している人が、加入者がプロファイルを共有した承認済の人であることをブロックチェーンノード(すなわち、輸送手段)が確認し得る。一実施形態では、ソリューションはまた、人が補助的輸送手段を利用して、意図される目的地に到達することを可能にするために利用され得る。機能的関係値(例えば、どのタイプの代替的な輸送手段を利用すべきかを決定する際に、様々なパラメータ及びその重要度を示す値)が、補助的輸送手段を決定する際に使用される。一実施形態では、ソリューションはまた、事故に遭った乗員が他の輸送手段にアクセスして自身の最初の目的地に進むことを可能にするために利用され得る。
【0099】
一実施形態では、ソリューションはまた、ソフトウェア/ファームウェアアップロードを第1のサブセットの輸送手段に伝えるために利用され得る。第1のセットの輸送手段は、更新をテストし、テストが成功した場合、当該更新は、更なるセットの輸送手段に伝えられる。一実施形態では、ソリューションはまた、マスタ輸送手段から車にソフトウェア/ファームウェア更新を伝えるために利用され得、当該更新は、第1のサブセット、次いで、より大きいサブセットなどから車のネットワークを通じて伝えられる。更新の一部がまず送信され、次いで、残りの部分は、同じ車又は別の車から送信され得る。一実施形態では、ソリューションはまた、輸送手段のコンピュータについての更新を輸送手段及び輸送手段の操作者の/乗員のデバイスに提供するために利用され得る。更新は、全ての運転者及び/又は全ての乗員によって承認され得る。ソフトウェア更新は、車及びデバイスに提供される。ユーザは、車の近くへ行く以外何もする必要はなく、機能は自動的に生じる。ソフトウェア更新が完了したことを示す通知がデバイスに送信される。一実施形態では、ソリューションはまた、OTAソフトウェア更新が、認可を受けた技術者によって行われていること、並びに検証コードの発信元、ソフトウェア更新を無線で受信する手順、ソフトウェア更新に含まれる情報、及び検証の結果に関連する状況が、1つ以上の輸送手段の構成要素によって生成されていることを検証するために利用され得る。
【0100】
一実施形態では、ソリューションはまた、第1の構成要素内に位置するソフトウェア更新を第2の構成要素によってパースする能力を提供するために利用され得る。次いで、重要な更新の第1の部分及び重要ではない更新の第2の部分を確認し、輸送手段において、確認された第1の部分を1プロセスに割り当てて、ある期間にその1プロセスで、確認された第1の部分を動作させ、その期間に基づく肯定的な結果に応じて、その期間の後に他のプロセスで、確認された第1の部分を動作させる。一実施形態では、ソリューションはまた、サービスの選択を乗員に提供するために利用され得、当該サービスは、輸送手段の乗員のプロファイル、及び乗員のプロファイルと共有された共有プロファイルに基づくものである。一実施形態では、ソリューションはまた、ユーザプロファイルデータをブロックチェーンに記憶して、自動的に収集されたユーザの購入履歴、及びブロックチェーン上のユーザプロファイルから取得された好みに基づいて、オファー及び推奨をユーザに知的に提示するために利用され得る。
【0101】
輸送手段を充分セキュアであるようにするために、輸送手段は、承認されていない物理アクセス及び承認されていないリモートアクセス(例えば、サイバー脅威)から保護される必要がある。一実施形態では、承認されていない物理アクセスを防止するために、輸送手段は、キーレスエントリなどのセキュアなアクセスシステムを備える。一方で、一実施形態では、セキュリティプロトコルは、輸送手段との間のセキュアなリモート通信を容易にするために輸送手段のコンピュータ及びコンピュータネットワークに追加される。
【0102】
電子制御ユニット(ECU)は、フロントガラスのワイパ作動などのタスクからアンチロックブレーキシステムなどのタスクまでを制御する輸送手段内のノードである。ECUは多くの場合、コントローラエリアネットワーク(CAN)と称され得る輸送手段の中央ネットワークを通じて互いに接続されている。自律運転などの最先端の機能は、先進運転支援システム(ADAS)、センサ、及び同種のものなどの新しく複雑なECUの実装に強く依存する。これらの新しい技術は、輸送手段の安全性及び運転体験を改善するのに役立っているが、輸送手段内の外部通信ユニットの数も増加させ、これにより、攻撃に対してより脆弱にされる。以下は、物理的な侵入及びリモートの侵入から輸送手段を保護する一部の例である。
【0103】
図2Jは、例示的な実施形態に係る、輸送手段291Bに対する承認されていない物理アクセスを防止するためのキーレスエントリシステム290Bを示す。図2Jを参照して、一実施形態では、キーフォブ292Bは、無線周波数信号を使用して輸送手段291Bにコマンドを送信する。この例では、キーフォブ292Bは、短距離無線信号を送信することができるアンテナを有する送信機2921Bを含む。輸送手段291Bは、送信機2921Bから送信された短距離無線信号を受信することができるアンテナを有する受信機2911Bを含む。キーフォブ292B及び輸送手段291Bはそれぞれ、それぞれのデバイスを制御するCPU2922B及び2913Bも含む。ここで、CPU2922B及び2913Bの(又はCPUにアクセス可能な)メモリ。一実施形態では、キーフォブ292B及び輸送手段291Bの各々は、それぞれのデバイスに給電する電力供給部2924B及び2915Bを含む。
【0104】
ユーザがキーフォブ292Bのボタン293Bを押すと(又は他の場合には、フォブの作動などをすると)、CPU2922Bは、キーフォブ292B内で起動して、アンテナを介して出力されるデータストリームを送信機2921Bに送信する。他の実施形態では、ユーザの意図は、音声を受け付けるマイク、画像及び/若しくは映像を取り込むカメラ、又はジェスチャ、モーション、目の動き、及び同種のものの受信を含むユーザからの意図を検出するために当該技術分野で通常利用される他のセンサなどの他の手段を介してキーフォブ292Bにおいて認識される。データストリームは、プリアンブル、コマンドコード、及びローリングコードのうちの1つ以上を含む64ビットから128ビットまでの長い信号であり得る。信号は、2KHzと20KHzとの間の速度で送信され得るが、実施形態は、これに限定されない。これに応じて、輸送手段291Bの受信機2911Bは、送信機2921Bからの信号を取り込んで、信号を復調して、データストリームをCPU2913Bに送信し、CPU2913Bは、信号をデコードして、コマンド(例えば、ドアのロック、ドアのロック解除など)をコマンドモジュール2912Bに送信する。
【0105】
キーフォブ292B及び輸送手段291Bが、それらの間で固定コードを使用する場合、リプレイ攻撃が行われ得る。この場合、攻撃者が、短距離通信中に固定コードを取り込み/見つけ出すことができる場合、攻撃者は、このコードをリプレイして輸送手段291B内に入り得る。セキュリティを改善するために、キーフォブ及び輸送手段291Bは、各使用後に変化するローリングコードを使用し得る。ここで、キーフォブ292B及び輸送手段291Bは、初期シード2923B(例えば、乱数、擬似乱数など)で同期される。これは、ペアリングと称される。キーフォブ292B及び輸送手段291Bはまた、ボタン293Bが押される度に、初期シード2914Bを修正する共有アルゴリズムを含む。次のキー押下は、前のキー押下の結果を入力として取得し、それを数列における次の数に変換する。一部の場合、輸送手段291Bは、キーフォブ292Bのキー押下が輸送手段291Bによって検出されない場合に、複数の次のコード(例えば、255個の次のコード)を記憶し得る。したがって、輸送手段291Bによって認識されないキーフォブ292Bの多数のキー押下は、輸送手段が非同期となるのを妨げない。
【0106】
ローリングコードに加えて、キーフォブ292B及び輸送手段291Bは、攻撃をより一層困難にするための他の方法を採用し得る。例えば、様々な周波数は、ローリングコードを送信するために使用され得る。別の例として、送信機2921Bと受信機2911Bとの間の2方向通信は、セキュアなセッションを確立するために使用され得る。別の例として、コードは、制限された期限又はタイムアウトを有し得る。更に、図2Jに関して記載及び描写されるような本ソリューションは、本明細書に記載及び描写されるものを含むこのネットワーク及び/又はシステム、並びに他のネットワーク及び/又はシステムで利用され得る。
【0107】
図2Kは、例示的な実施形態に係る、輸送手段内のコントローラエリアネットワーク(CAN)290Cを示す。図2Kを参照して、CAN290Cは、高低の端子を有するCANバス297C、及び有線接続を介してCANバス297Cに接続された複数の電子制御ユニット(ECU)291C、292C、293Cなどを含む。CANバス297Cは、マイクロコントローラ及びデバイスがホストコンピュータを用いることなく互いにアプリケーションで通信することを可能にするように設計されている。CANバス297Cは、ECU291C~293Cがルートレベルで互いにコマンドを送信することを可能にするメッセージベースのプロトコル(すなわち、ISO11898規格)を実装する。一方で、ECU291C~293Cは、輸送手段内の電気システム又はサブシステムを制御するコントローラを表す。電気システムの例には、パワーステアリング、アンチロックブレーキ、空調、タイヤ圧監視、クルーズコントロール、及び多数の他の機能が含まれる。
【0108】
この例では、ECU291Cは、トランシーバ2911Cと、マイクロコントローラ2912Cと、を含む。トランシーバは、CANバス297Cとの間でメッセージを送信及び受信するために使用され得る。例えば、トランシーバ2911Cは、マイクロコントローラ2912CからのデータをCANバス297Cのフォーマットに変換し、また、CANバス297Cからのデータをマイクロコントローラ2912C用のフォーマットに変換し得る。一方で、一実施形態では、マイクロコントローラ2912Cは、メッセージを解釈し、また、マイクロコントローラ2912CにインストールされたECUソフトウェアを使用してどのメッセージを送信するかを決定する。
【0109】
サイバー脅威からCAN290Cを保護するために、様々なセキュリティプロトコルが実装され得る。例えば、サブネットワーク(例えば、サブネットワークA及びBなど)は、CAN290Cをより小さいサブCANに分割して、輸送手段にリモートでアクセスする攻撃者の能力を制限するために使用され得る。図2Kの例では、ECU291C及び292Cは、同じサブネットワークの一部であり得る一方、ECU293Cは、独立したサブネットワークの一部である。更に、ファイアウォール294C(又はゲートウェイなど)は、メッセージがサブネットワークを超えてCANバス297Cを横断するのを阻止するために追加され得る。攻撃者が、あるサブネットワークにアクセスする場合、攻撃者は、ネットワーク全体にはアクセスしない。一実施形態では、サブネットワークをより一層セキュアなものにするために、最も重要なECUは、同じサブネットワークに置かれない。
【0110】
図2Kに示されていないが、CAN内のセキュリティ制御の他の例には、各サブネットワークに追加されて、通過する全てのデータを読み取って悪意のあるメッセージを検出し得る侵入検知システム(IDS)が含まれる。悪意のあるメッセージが検出される場合、IDSは、自動車のユーザに通知し得る。可能性のある他のセキュリティプロトコルは、メッセージを分かりにくくするために使用され得る暗号化/セキュリティキーを含む。別の例として、一実施形態では、メッセージがそれ自体を認証することを可能にする認証プロトコルが実装される。
【0111】
輸送手段の内部ネットワークの保護に加えて、輸送手段はまた、インターネットなどの外部ネットワークとの通信時に保護され得る。輸送手段をインターネットなどのデータソースに接続させる利点の1つは、分析のために、輸送手段からの情報を、ネットワークを通じて離れた場所に送信できるということである。輸送手段情報の例には、GPS、オンボード診断、タイヤ圧、及び同種のものが含まれる。これらの通信システムは、テレコミュニケーション及びインフォマティクスの組み合わせを含むため、多くの場合、テレマティクスと称される。更に、図2Kに関して記載及び描写されるような本ソリューションは、本明細書に記載及び描写されるものを含むこのネットワーク及び/又はシステム、並びに他のネットワーク及び/又はシステムで利用され得る。
【0112】
図2Lは、例示的な実施形態に係る、セキュアなエンドツーエンドの輸送手段通信チャネルを示す。図2Lを参照して、テレマティクスネットワーク290Dは、輸送手段291Dと、(例えば、ウェブサーバ、クラウドプラットフォーム、データベースなど)離れた場所に配置されており、インターネットなどのネットワークを介して輸送手段291Dに接続された、ホストサーバ295Dと、を含む。この例では、ホストサーバ295Dに関連付けられたデバイス296Dは、ネットワーク内で輸送手段291D内に設置され得る。更に、示されていないが、デバイス296Dは、輸送手段291Dの他の要素、例えば、CANバス、オンボード診断(ODBII)ポート、GPSシステム、SIMカード、モデム、及び同種のものに接続され得る。デバイス296Dは、これらのシステムのうちのいずれかからデータを収集して、ネットワークを介してデータをサーバ295Dに転送し得る。
【0113】
データのセキュアな管理は、輸送手段291Dで始まる。一部の実施形態では、デバイス296Dは、移動前、移動中、及び移動後に情報を収集し得る。データは、GPSデータ、走行データ、乗客情報、診断データ、燃料データ、速度データ、及び同種のものを含み得る。しかしながら、デバイス296Dは単に、輸送手段の点火及び移動完了に応じて、収集情報をホストサーバ295Dに通信して返し得る。更に、通信は、ホストサーバ295Dによってではなく、デバイス296Dによってのみ開始され得る。したがって、一実施形態では、デバイス296Dは、外部ソースによって開始される通信を受け付けない。
【0114】
通信を行うために、デバイス296Dは、デバイス296Dとホストサーバ295Dとの間でセキュアなプライベートネットワークを確立し得る。ここで、デバイス296Dは、電波塔292Dを介してセキュアなアクセスをキャリアネットワーク294Dに提供する改ざん防止SIMカードを含み得る。データをホストサーバ295Dに送信する準備をするとき、デバイス296Dは、ホストサーバ295Dとの1方向のセキュアな接続を確立し得る。キャリアネットワーク294Dは、1つ以上のセキュリティプロトコルを使用してホストサーバ295Dと通信し得る。非限定的な例として、キャリアネットワーク294Dは、ホストサーバ295Dのファイアウォール293Dを通じたアクセスを可能にするVPNトンネルを介してホストサーバ295Dと通信し得る。別の例として、キャリアネットワーク294Dは、データをホストサーバ295Dに送信するときにデータ暗号化(例えば、AES暗号化など)を使用し得る。一部の場合、システムは、データを更にセキュアにするためにVPN及び暗号化の両方などの複数のセキュリティ対策を使用し得る。
【0115】
外部サーバとの通信に加えて、輸送手段はまた、互いに通信し得る。特に、輸送手段間(V2V)通信システムは、輸送手段が無線ネットワークを通じて互いに、路側インフラストラクチャ(例えば、交通信号灯、標識、カメラ、パーキングメータなど)及び同種のものと通信するのを可能にする。無線ネットワークは、Wi-Fiネットワーク、セルラネットワーク、専用狭域通信(DSRC)ネットワーク、及び同種のもののうちの1つ以上を含み得る。輸送手段は、いくつか挙げると、輸送手段の速度、加速度、ブレーキ、及び方向に関する情報を他の輸送手段に提供するためにV2V通信を使用し得る。したがって、輸送手段は、前方の状態の見識を、当該状態が目に見える状態になる前に受信することができ、したがって、衝突を大きく低減する。更に、図2Lに関して記載及び描写されるような本ソリューションは、本明細書に記載及び描写されるものを含むこのネットワーク及び/又はシステム、並びに他のネットワーク及び/又はシステムで利用され得る。
【0116】
図2Mは、例示的な実施形態に係る、セキュリティ証明書を使用してセキュアなV2V通信を行う輸送手段293E及び292Eの例290Eを示す。図2Mを参照して、輸送手段293E及び292Eは、短距離ネットワーク、セルラネットワーク、又は同種のものを通じて、V2V通信により互いに通信し得る。メッセージを送信する前に、輸送手段293E及び292Eは、それぞれのパブリックキー証明書を使用してメッセージに署名し得る。例えば、輸送手段293Eは、パブリックキー証明書294Eを使用してV2Vメッセージに署名し得る。同様に、輸送手段292Eは、パブリックキー証明書295Eを使用してV2Vメッセージに署名し得る。一実施形態では、パブリックキー証明書294E及び295Eはそれぞれ、輸送手段293E及び292Eに関連付けられている。
【0117】
通信を互いに受信すると、輸送手段は、認証局291E又は同種のもので署名を確認し得る。例えば、輸送手段292Eは、V2V通信に署名するために輸送手段293Eによって使用されるパブリックキー証明書294Eが認証されたものであることを認証局291Eで確認し得る。輸送手段292Eが正常にパブリックキー証明書294Eを確認する場合、輸送手段は、データが正規のソースからのものであることを認識する。同様に、輸送手段293Eは、V2V通信に署名するために輸送手段292Eによって使用されるパブリックキー証明書295Eが認証されたものであることを認証局291Eで確認し得る。更に、図2Mに関して記載及び描写されるような本ソリューションは、本明細書に記載及び描写されるものを含むこのネットワーク及び/又はシステム、並びに他のネットワーク及び/又はシステムで利用され得る。
【0118】
図2Nは、例示的な実施形態に係る、セキュリティプロセッサ及び無線デバイスとやり取りする輸送手段の例を描写した更に追加の図290Fを示す。一部の実施形態では、図2Bに示されるコンピュータ224は、図2Nの例のプロセス290Fに示されるようなセキュリティプロセッサ292Fを含み得る。特に、セキュリティプロセッサ292Fは、ECUと車のCANバス上の他のデバイスとの間で送信されるデータ送信のために、また、異なる車間で送信されるデータメッセージのために、承認、認証、暗号作成(例えば、暗号化)、及び同種のものを実行し得る。
【0119】
図2Nの例では、セキュリティプロセッサ292Fは、承認モジュール293Fと、認証モジュール294Fと、暗号作成モジュール295Fと、を含み得る。セキュリティプロセッサ292Fは、輸送手段のコンピュータ内で実装され得、輸送手段の他の要素、例えば、ECU/CANネットワーク296Fや、無線ネットワークインターフェース、入力ポート、及び同種のものなどの有線及び無線デバイス298Fと通信し得る。セキュリティプロセッサ292Fは、輸送手段内で(例えば、ECU/CANネットワーク296Fを介して)内部で送信されるデータフレーム(例えば、CANフレームなど)がセキュアであることを保証し得る。同様に、セキュリティプロセッサ292Fは、異なる輸送手段間で、及び輸送手段のコンピュータにワイヤを介して取り付けられるか又は接続されたデバイスに送信されるメッセージもセキュアであることを保証し得る。
【0120】
例えば、承認モジュール293Fは、様々な輸送手段のユーザについてのパスワード、ユーザ名、PINコード、生体認証スキャン、及び同種のものを記憶し得る。承認モジュール293Fは、輸送手段のコンピュータなどの特定の設定にアクセスするためのパーミッションをユーザ(又は技術者)が有しているかどうかを決定し得る。一部の実施形態では、承認モジュールは、ネットワークインターフェースと通信して、外部サーバから任意の必要な承認情報をダウンロードし得る。ユーザが、輸送手段内のコンソール若しくはGUIを介して、又は取り付けられた/接続されたデバイスを介して、輸送手段の設定に対する変更を行うこと、又は輸送手段の技術詳細を修正することを要求するとき、承認モジュール293Fは、当該設定が変更される前に何らかの方法で自身を確認するようにユーザに要求し得る。例えば、承認モジュール293Fは、ユーザ名、パスワード、PINコード、生体認証スキャン、既定の線描画又はジェスチャ、及び同種のものを必要とし得る。これに応じて、承認モジュール293Fは、要求されている必要なパーミッション(アクセスなど)をユーザが有しているかどうかを決定し得る。
【0121】
認証モジュール294Fは、車のCANネットワーク上のECU間の内部通信を認証するために使用され得る。一例として、認証モジュール294Fは、ECU間の通信を認証するための情報を提供し得る。一例として、認証モジュール294Fは、ビット署名アルゴリズムをCANネットワークのECUに送信し得る。ECUは、ビット署名アルゴリズムを使用して、認証ビットをCANフレームのCANフィールド内に挿入し得る。CANネットワーク上の全てのECUは通常、各CANフレームを受信する。新しいCANフレームがECUのうちの1つによって生成される度に、ビット署名アルゴリズムは、認証ビットの位置、量などを動的に変更し得る。認証モジュール294Fはまた、免除され(セーフリストであり)、認証ビットを使用する必要がないECUのリストを提供し得る。認証モジュール294Fは、リモートサーバと通信して、ビット署名アルゴリズムに対する更新及び同種のものを取り出し得る。
【0122】
暗号化モジュール295Fは、他の外部ユーザデバイス及び輸送手段と通信するために輸送手段によって使用される非対称のキーペアを記憶し得る。例えば、暗号化モジュール295Fは、通信を暗号化/復号化するために輸送手段によって使用されるプライベートキーを提供し得る一方、対応するパブリックキーは、他のユーザデバイス及び輸送手段に提供されて、他のデバイスが通信を復号化/暗号化することを可能にし得る。暗号化モジュール295Fは、リモートサーバと通信して、新しいキー、キーに対する更新、新しい輸送手段やユーザなどのキー、及び同種のものを受信し得る。暗号化モジュール295Fはまた、ローカルのプライベート/パブリックキーペアに対する任意の更新をリモートサーバに送信し得る。
【0123】
図3Aは、例示的な実施形態に係る、フロー図300を示す。図3Aを参照して、フローは、車における不揮発性の電気的に消去可能なメモリストレージの更新をダウンロードすること302と、メモリストレージがメモリのバイトのブロック及びメモリの個々のバイトのうちの一方で配置されているかどうかを決定すること304と、メモリストレージの配置に基づいてプログラミングプロトコルを選択すること306と、選択されたプログラミングプロトコルに基づいてメモリストレージに書き込むこと308と、を含む。
【0124】
例示的な方法は、車における不揮発性の電気的に消去可能なメモリストレージの更新をダウンロードすることを含む。輸送手段のマルチメディア(MM)システムは、起動、ナビゲーション、音声アシスタントや、Bluetooth(登録商標)、CAN通信、Wi-Fi、及び同種のものに対する無線(OTA)更新などのMMに給電するソフトウェアを更新し、当該ソフトウェアを含む。当該方法は、メモリストレージがメモリのバイトのブロック及びメモリの個々のバイトのうちの一方で配置されているかどうかを決定する。OTA更新は、NANDフラッシュメモリと呼ばれるメモリのバイトのブロック、及びNORフラッシュメモリと呼ばれるメモリの個々のバイトのうちの一方で形成される不揮発性の電気的に消去可能なメモリに関するものである。当該方法は、メモリストレージの配置に基づいてプログラミングプロトコルを選択し、選択されたプログラミングプロトコルに基づいてメモリストレージに書き込む。メモリストレージの配置は、NORメモリであるメモリの個々のバイト、又はNANDメモリであるメモリの個々のブロックを備え得る。OTAリプログラミングロジックは、輸送手段におけるプロセッサ、輸送手段においてオンボード若しくはオフボードで存在し得るサーバにおけるプロセッサ、輸送手段に関連付けられたデバイス(モバイルデバイスなど)、又は輸送手段に関連付けられた任意の他のプロセッサのうちの1つ以上において完全に又は部分的に実行され得る。1つ以上のプロセッサによって利用されるメモリも同様に、輸送手段においてオンボード又はオフボードで位置し得る。輸送手段のプロセッサは、輸送手段のECM又は別のプロセッサ、例えば、ECU、HUにおけるプロセッサ、又は輸送手段における別のプロセッサであり得る。
【0125】
図3Bは、例示的な実施形態に係る、別のフロー図320を示す。図3Bを参照して、フローは、ダウンロードが中断された場合に中断フラグを生成すること322と、中断フラグに一致する中断されたダウンロードのメモリストレージの配置を決定すること324と、メモリストレージの配置に基づいてダウンロードを再開すること326と、を含み得る。フローはまた、ダウンロードが完了したかどうかを決定すること328と、ダウンロードが未完了である場合に中断フラグを出すこと330と、中断フラグが検出される場合にマジックナンバを生成することであって、マジックナンバは、ランダムに生成される、ということ332と、ダウンロードが終了したメモリ場所においてマジックナンバをメモリストレージに書き込むこと334と、ダウンロードが終了したメモリ場所においてダウンロードを再開すること336と、を含み得る。フローは、ダウンロードを一時的なストレージに書き込むこと338と、ダウンロードを検証すること340と、検証されたダウンロードを一時的なストレージからメモリストレージにコピーすること342と、を更に含み得る。フローはまた、ダウンロードが中断された場合に中断フラグを生成すること344と、中断フラグが生成されなかった場合にメモリストレージから起動すること346と、中断フラグが生成された場合に前のメモリストレージから起動すること348と、を含み得る。
【0126】
当該方法は、ダウンロードが中断された場合に中断フラグを生成することと、中断フラグに一致する中断されたダウンロードのメモリストレージの配置を決定することと、メモリストレージの配置に基づいてダウンロードを再開することと、を含み得る。中断フラグは、更新のダウンロード中における障害を示す。更新に障害があったメモリブロックのタイプにより、更新をどのように再開するかが決定される。メモリのバイトのブロックを備えるNANDフラッシュメモリにおいて、ダウンロード中の障害は、バイトのブロック全体に関する再ダウンロードを必要とする。メモリの個々のバイトを備えるNORフラッシュメモリにおいて、ダウンロード中の障害は、障害のあるバイトで開始する再ダウンロードを必要とする。当該方法は、メモリストレージの配置に基づいてプログラミングプロトコルを選択し、選択されたプログラミングプロトコルに基づいてメモリストレージに書き込む。あるメモリストレージの配置は、NORタイプのメモリである個々のバイトの形態であり得、別のストレージの配置は、NANDタイプのメモリであるバイトのブロックの形態であり得る。NORタイプのメモリのリプログラミングにおける失敗は、失敗したバイトで再開され、NANDタイプのメモリのリプログラミングにおける失敗は、失敗のメモリブロックで再開される。ロバストなOTAリプログラミングについてのOTAリプログラミングロジックは、輸送手段におけるプロセッサ、輸送手段においてオンボード若しくはオフボードで存在し得るサーバにおけるプロセッサ、輸送手段に関連付けられたデバイス、又は輸送手段に関連付けられた任意の他のプロセッサのうちの1つ以上において完全に又は部分的に実行され得る。1つ以上のプロセッサによって利用されるメモリも同様に、輸送手段においてオンボード又はオフボードで位置し得る。輸送手段のプロセッサは、輸送手段のECM又は別のプロセッサ、例えば、ECU、HUにおけるプロセッサ、又は輸送手段における別のプロセッサであり得る。
【0127】
当該方法はまた、ダウンロードが完了したかどうかを決定することと、ダウンロードが未完了である場合に中断フラグを出すことと、中断フラグが検出される場合にマジックナンバを生成することであって、マジックナンバは、ランダムに生成される、ということと、ダウンロードが終了したメモリ場所においてマジックナンバをメモリストレージに書き込むことと、ダウンロードが終了したメモリ場所においてダウンロードを再開することと、を含み得る。中断フラグは、更新のダウンロード中における障害を示し、更新に障害があったメモリブロックのタイプにより、更新をどのように再開するかが決定される。ダウンロード障害の場所は、最後の良好なダウンロードの場所を示すナンバであるマジックナンバによって示され得る。輸送手段及びサーバのみが、マジックナンバが何であるかを認識するため、マジックナンバは、ダウンロード中におけるソフトウェア攻撃に対する保護として機能する。メモリのバイトのブロックを備えるNANDフラッシュメモリにおいて、ダウンロード中の障害は、バイトのブロック全体に関する再ダウンロードを必要とする。メモリの個々のバイトを備えるNORフラッシュメモリにおいて、ダウンロード中の障害は、障害のあるバイトで開始する再ダウンロードを必要とする。当該方法は、メモリストレージの配置に基づいてプログラミングプロトコルを選択し、選択されたプログラミングプロトコルに基づいてメモリストレージに書き込む。あるメモリストレージの配置は、NORタイプのメモリである個々のバイトの形態であり得、別のストレージの配置は、NANDタイプのメモリであるバイトのブロックの形態であり得る。NORタイプのメモリのリプログラミングにおける失敗は、失敗したバイトで再開され、NANDタイプのメモリのリプログラミングにおける失敗は、失敗のメモリブロックで再開される。ロバストなOTAリプログラミングについてのOTAリプログラミングロジックは、輸送手段におけるプロセッサ、輸送手段においてオンボード若しくはオフボードで存在し得るサーバにおけるプロセッサ、輸送手段に関連付けられたデバイス、又は輸送手段に関連付けられた任意の他のプロセッサのうちの1つ以上において完全に又は部分的に実行され得る。1つ以上のプロセッサによって利用されるメモリも同様に、輸送手段においてオンボード又はオフボードで位置し得る。輸送手段のプロセッサは、輸送手段のECM又は別のプロセッサ、例えば、ECU、HUにおけるプロセッサ、又は輸送手段における別のプロセッサであり得る。
【0128】
当該方法は、ダウンロードを一時的なストレージに書き込むことと、ダウンロードを検証することと、検証されたダウンロードを一時的なストレージから永久メモリストレージにコピーすることと、を含み得る。一時的なストレージは、データが永久的に記憶されないメモリストレージ、例えば、ランダムアクセスメモリ(RAM)、又は別の例では、フラッシュメモリ内の一時的なストレージエリア、NORの一時的なストレージエリア内のNORデータ(メモリの個々のバイト)、及びNANDの一時的なストレージエリア内のNANDデータ(メモリの個々のブロック)である。一時的なストレージのRAM、NORの一時的なストレージエリア、又はNANDの一時的なストレージエリアの場所は、輸送手段のECM、例えば、ECU、HUにおけるプロセッサ、又は輸送手段と通信するモバイルデバイスを含む輸送手段における別のプロセッサにあり得る。一時的なストレージエリアは、使用のために永久ストレージにコピーする前に検証されるダウンロードを収集する中間ストレージとして機能する。ロバストなOTAリプログラミングについてのOTAリプログラミングロジックは、輸送手段におけるプロセッサ、輸送手段においてオンボード若しくはオフボードで存在し得るサーバにおけるプロセッサ、輸送手段に関連付けられたデバイス、又は輸送手段に関連付けられた任意の他のプロセッサのうちの1つ以上において完全に又は部分的に実行され得る。1つ以上のプロセッサによって利用されるメモリも同様に、輸送手段においてオンボード又はオフボードで位置し得る。輸送手段のプロセッサは、輸送手段のECM又は別のプロセッサ、例えば、ECU、HUにおけるプロセッサ、又は輸送手段における別のプロセッサであり得る。
【0129】
当該方法はまた、ダウンロードが中断された場合に中断フラグを生成することと、中断フラグが生成されなかった場合にメモリストレージから起動することと、中断フラグが生成された場合に前のメモリストレージから起動することと、を含み得る。これにより、障害のあるダウンロードからシステムが起動することが防がれる。中断フラグは、更新のダウンロード中における障害を示し、更新に障害があったメモリブロックのタイプにより、更新をどのように再開するかが決定される。メモリのバイトのブロックを備えるNANDフラッシュメモリにおいて、ダウンロード中の障害は、バイトのブロック全体に関する再ダウンロードを必要とする。メモリの個々のバイトを備えるNORフラッシュメモリにおいて、ダウンロード中の障害は、障害のあるバイトで開始する再ダウンロードを必要とする。当該方法は、メモリストレージの配置に基づいてプログラミングプロトコルを選択し、選択されたプログラミングプロトコルに基づいてメモリストレージに書き込む。ロバストなOTAリプログラミングについてのOTAリプログラミングロジックは、輸送手段におけるプロセッサ、輸送手段においてオンボード若しくはオフボードで存在し得るサーバにおけるプロセッサ、輸送手段に関連付けられたデバイス、又は輸送手段に関連付けられた任意の他のプロセッサのうちの1つ以上において完全に又は部分的に実行され得る。1つ以上のプロセッサによって利用されるメモリも同様に、輸送手段においてオンボード又はオフボードで位置し得る。輸送手段のプロセッサは、輸送手段のECM又は別のプロセッサ、例えば、ECU、HUにおけるプロセッサ、又は輸送手段における別のプロセッサであり得る。
【0130】
図3Cは、例示的な実施形態に係る、更に別のフロー図360を示す。図3Cを参照して、フロー図は、モバイルデバイスが輸送手段内に位置しているかどうかを決定すること362と、Bluetooth(登録商標)及び近距離無線通信のうちの少なくとも一方を介して、輸送手段内に位置しているモバイルデバイスによりソフトウェア更新の一部を受信すること364と、近くの輸送手段が輸送手段の通信範囲内にあるかどうかを決定すること366と、近くの輸送手段を介してソフトウェア更新の一部を受信すること368と、のうちの1つ以上を含む。
【0131】
図4は、例示的な実施形態に係る、機械学習輸送手段ネットワーク図400を示す。ネットワーク400は、機械学習サブシステム406と結び付けられる輸送手段402を含む。輸送手段は、1つ以上のセンサ404を含む。
【0132】
機械学習サブシステム406は、学習モデル408を含み、学習モデル408は、1つ以上の訓練データセット内でパターンを見つけることによって予測を生成する機械学習訓練システム410によって作成される数学的成果物である。一部の実施形態では、機械学習サブシステム406は、輸送手段402内に存在する。他の実施形態では、機械学習サブシステム406は、輸送手段402の外側に存在する。
【0133】
輸送手段402は、1つ以上のセンサ404から機械学習サブシステム406にデータを送信する。機械学習サブシステム406は、1つ以上のセンサ404のデータを学習モデル408に提供し、学習モデル408は、1つ以上の予測を返す。機械学習サブシステム406は、学習モデル408からの予測に基づいて、1つ以上の命令を輸送手段402に送信する。
【0134】
更なる実施形態では、輸送手段402は、1つ以上のセンサ404のデータを機械学習訓練システム410に送信し得る。更に別の実施形態では、機械学習サブシステム406は、センサ404のデータを機械学習サブシステム410に送信し得る。本明細書に記載及び/又は描写されるアプリケーション、機能、ステップ、ソリューションなどのうちの1つ以上は、本明細書に記載されるような機械学習ネットワーク400を利用し得る。
【0135】
図5Aは、例示的な実施形態に係る、車に関連付けられたデータベーストランザクションを管理する例示的な車構成500を示す。図5Aを参照して、特定の輸送手段/車525がトランザクション(例えば、車サービス、販売店のトランザクション、配送/ピックアップ、輸送手段のサービスなど)に従事しているため、車は、トランザクションに応じてアセットを受け取り(510)、及び/又はアセットを出し/移し(512)得る。輸送手段プロセッサ526は、車525内に存在し、輸送手段プロセッサ526、データベース530、輸送手段プロセッサ526、及びトランザクションモジュール520の間に通信が存在する。トランザクションモジュール520は、アセット、当事者、クレジット、サービス記述、日付、時間、場所、結果、通知、予想外の事象などの情報を記録し得る。トランザクションモジュール520内のそれらのトランザクションは、データベース530内に複製され得る。データベース530は、SQLデータベース、RDBMS、リレーショナルデータベース、非リレーショナルデータベース、ブロックチェーン、分散型台帳のうちの1つであってもよく、輸送手段においてオンボードであってもよく、輸送手段においてオフボードであってもよく、直接的に及び/若しくはネットワークを通じてアクセス可能であってもよく、又は輸送手段に対してアクセス可能であってもよい。
【0136】
図5Bは、例示的な実施形態に係る、様々な車間で行われるデータベーストランザクションを管理する例示的な車構成550を示す。車が、サービスが別の車と共有される必要がある状況に至る場合に、車525は、別の車508に関与して、サービス要求などの共有、転送、取得などの様々な動作を行い得る。例えば、車508は、バッテリ充電の予定であり得、及び/又はタイヤに問題があり得、配送の荷物をピックアップする経路内にあり得る。輸送手段プロセッサ528は、車508内に存在し、輸送手段プロセッサ528、データベース554、及びトランザクションモジュール552の間に通信が存在する。車508は、そのネットワーク内にいてそのブロックチェーンメンバサービス上で動作する別の車525に通知し得る。輸送手段プロセッサ526は、車525内に存在し、輸送手段プロセッサ526、データベース530、輸送手段プロセッサ526、及びトランザクションモジュール520の間に通信が存在する。次いで、車525は、無線通信要求を介して情報を受信して、車508から及び/又はサーバ(図示せず)から荷物のピックアップを行い得る。トランザクションは、両方の車のトランザクションモジュール552及び520に記録される。クレジットは、車508から車525に転送され、転送されるサービスの記録は、ブロックチェーンが互いに異なっていることを想定してデータベース530/554に記録されるか、又は全てのメンバによって使用される同じブロックチェーンに記録される。データベース554は、SQLデータベース、RDBMS、リレーショナルデータベース、非リレーショナルデータベース、ブロックチェーン、分散型台帳のうちの1つであってもよく、輸送手段においてオンボードであってもよく、輸送手段においてオフボードであってもよく、直接的に及び/又はネットワークを通じてアクセス可能であってもよい。
【0137】
図6Aは、例示的な実施形態に係る、ブロックチェーンアーキテクチャ構成600を示す。図6Aを参照して、ブロックチェーンアーキテクチャ600は、特定のブロックチェーン要素、例えば、ブロックチェーングループ610の一部としてブロックチェーンメンバノード602~606のグループを含み得る。例示的な一実施形態では、パーミッション型ブロックチェーンには、全ての当事者ではなく、ブロックチェーンデータにアクセスするパーミッションを有するようなメンバのみがアクセス可能である。ブロックチェーンノードは、ブロックチェーンエントリの追加及び検証プロセス(コンセンサス)などの多数の活動に関係している。ブロックチェーンノードの1つ以上は、エンドースメントポリシーに基づいてエントリを承認し得、全てのブロックチェーンノードに対して順序付けサービスを提供し得る。ブロックチェーンノードは、(認証などの)ブロックチェーン動作を開始し、ブロックチェーンに記憶されるブロックチェーン不変台帳に書き込みしようとし得、そのコピーも、基礎となる物理インフラストラクチャ上に記憶され得る。
【0138】
トランザクションが、メンバのノードによって決定されるコンセンサスモデルによって受信及び承認されると、ブロックチェーントランザクション620は、コンピュータのメモリに記憶される。承認されたトランザクション626は、ブロックチェーンの現在のブロックに記憶され、コミット手順を介してブロックチェーンにコミットされ、当該コミット手順は、現在のブロック内のトランザクションに関するデータ内容のハッシュを実行することと、前のブロックの前のハッシュを参照することと、を含む。ブロックチェーン内には、登録された受取人、車の機能、要件、パーミッション、センサ閾値などの、スマートコントラクト実行可能アプリケーションコード632内に含まれるトランザクションの合意及び動作の条件を定める1つ以上のスマートコントラクト630が存在し得る。コードは、要求しているエンティティが、車サービスを受けるために登録されているかどうか、当該エンティティのプロファイル状況を考慮して、当該エンティティがどのサービス機能を受ける資格/必要があるか、及び後の事象で当該エンティティの動作を監視するかどうかを識別するように構成され得る。例えば、サービス事象が生じ、ユーザが車に乗っている場合、センサデータの監視が作動し得、車の充電レベルなどの特定のパラメータは、特定の期間に特定の閾値を上回っている/下回っているとして識別され得、次いで、その結果、現在の状況が変更され得、当該現在の状態は、管理当事者(すなわち、車の所有者、車の操作者、サーバなど)への警告の送信を必要とするため、サービスが識別されて参照のために記憶され得る。収集される車センサデータは、車の状況に関する情報を収集するために使用されるセンサデータのタイプに基づき得る。センサデータはまた、移動する場所、平均速度、最高速度、加速度、任意の衝突があったかどうか、予想された経路が取られたかどうか、次の目的地がどこか、安全対策が実施されているかどうか、車に充分な充電/燃料があるかどうかなどの車事象データ634についての基礎であり得る。全てのこのような情報は、スマートコントラクト条件630の基礎であり得、スマートコントラクト条件630は次いで、ブロックチェーンに記憶される。例えば、スマートコントラクトに記憶されたセンサ閾値は、検出されるサービスが必要かどうか、及びサービスがいつどこで行われるべきかについての基礎として使用され得る。
【0139】
図6Bは、例示的な実施形態に係る、共有型台帳の構成を示す。図6Bを参照して、ブロックチェーン論理の例640は、特定のトランザクションについて計算デバイス及び実行プラットフォームに結合するAPI又はプラグインアプリケーションとしてブロックチェーンアプリケーションインターフェース642を含む。ブロックチェーン構成640は、記憶されたプログラム/アプリケーションコード(例えば、スマートコントラクト実行可能コード、スマートコントラクトなど)にアクセスして実行するためにアプリケーションプログラミングインターフェース(API)に結合される1つ以上のアプリケーションを含み得、当該プログラム/アプリケーションコードは、参加者によって求められるカスタマイズ構成に応じて作成され得、自身の状態を維持し、自身のアセットを制御して、外部情報を受信し得る。これは、全てのブロックチェーンノード上で分散型台帳にアペンドすることで、エントリとして展開されインストールされ得る。
【0140】
スマートコントラクトアプリケーションコード644は、実行されるとトランザクション条件及び状態を有効にするアプリケーションコードを確立することによって、ブロックチェーントランザクションについての基礎を提供する。スマートコントラクト630は、実行されると特定の承認されたトランザクション626を生成させ、トランザクション626は次いで、ブロックチェーンプラットフォーム652に転送される。プラットフォームは、セキュリティ/承認658と、トランザクション管理を実行する計算デバイス656と、ブロックチェーン内のトランザクション及びスマートコントラクトを記憶するメモリとしてのストレージ部654と、を含む。
【0141】
ブロックチェーンプラットフォームは、様々な層のブロックチェーンデータ、サービス(例えば、暗号化トラストサービス、仮想実行環境など)、並びに新しいエントリを受信及び記憶し、データエントリにアクセスしようとしている監査者にアクセスを提供するために使用され得る、基礎となる物理コンピュータインフラストラクチャを含み得る。ブロックチェーンは、プログラムコードを処理して物理インフラストラクチャに関与するのに必要な仮想実行環境へのアクセスを提供するインターフェースを公開し得る。暗号化トラストサービスは、アセット交換エントリなどのエントリを確認して情報を非公開に保つために使用され得る。
【0142】
図6A及び図6Bのブロックチェーンアーキテクチャ構成は、ブロックチェーンプラットフォームによって、公開される1つ以上のインターフェース及び提供されるサービスを介してプログラム/アプリケーションコードを処理及び実行し得る。非限定的な例として、スマートコントラクトは、リマインダ、更新、及び/又は変更や更新などの対象である他の通知を実行するために作成され得る。スマートコントラクト自体は、承認及びアクセス要件並びに台帳の使用に関連付けられたルールを識別するために使用され得る。例えば、情報は、ブロックチェーン層に含まれる1つ以上の処理エンティティ(例えば、プロセッサ、仮想マシンなど)によって処理され得る新しいエントリを含み得る。結果は、スマートコントラクト及び/又はピアのコンセンサスで定められた基準に基づいて新しいエントリを却下又は承認する決定を含み得る。物理インフラストラクチャは、本明細書に記載されるデータ又は情報のいずれかを取り出すために利用され得る。
【0143】
スマートコントラクト実行可能コード内では、スマートコントラクトは、高レベルのアプリケーション及びプログラミング言語を介して作成され、次いで、ブロックチェーン内のブロックに書き込まれ得る。スマートコントラクトは、ブロックチェーン(例えば、ブロックチェーンピアの分散型ネットワーク)を用いて登録、記憶、及び/又は複製された実行可能コードを含み得る。エントリは、スマートコントラクトコードの実行であり、当該スマートコントラクトコードは、スマートコントラクトに関連付けられた条件が満たされたことに応じて行われ得る。スマートコントラクトの実行は、デジタルブロックチェーン台帳の状態に対して、信頼できる修正をもたらし得る。スマートコントラクトの実行によってもたらされるブロックチェーン台帳に対する修正は、1つ以上のコンセンサスプロトコルによりブロックチェーンピアの分散型ネットワーク全体を通じて自動的に複製され得る。
【0144】
スマートコントラクトは、キーと値のペアのフォーマットでブロックチェーンにデータを書き込み得る。更に、スマートコントラクトコードは、ブロックチェーンに記憶された値を読み取り、アプリケーション動作時にその値を使用し得る。スマートコントラクトコードは、様々な論理演算の出力をブロックチェーン内に書き込み得る。コードは、仮想マシン又は他の計算プラットフォーム内で一時的なデータ構造を作成するために使用され得る。ブロックチェーンに書き込まれたデータは、公開され得、及び/又は暗号化されて非公開として維持され得る。スマートコントラクトによって使用/生成された一時的なデータは、供給される実行環境によってメモリ内で保持され、次いで、ブロックチェーンに必要とされるデータが識別されると削除される。
【0145】
スマートコントラクト実行可能コードは、追加の機能と共にスマートコントラクトのコード解釈を含み得る。本明細書に記載されるように、スマートコントラクト実行可能コードは、計算ネットワーク上に展開されるプログラムコードであり得、当該プログラムコードは、コンセンサスプロセス中に一緒に、チェーンバリデータによって実行及び検証される。スマートコントラクト実行可能コードは、ハッシュを受信して、前に記憶された機能の抽出器を使用することによって作成されたデータテンプレートに関連付けられたハッシュをブロックチェーンから取り出す。ハッシュ識別子のハッシュと、記憶された識別子テンプレートデータから作成されたハッシュが一致する場合、スマートコントラクト実行可能コードは、要求されたサービスに承認キーを送信する。スマートコントラクト実行可能コードは、暗号化の詳細に関連付けられたデータをブロックチェーンに書き込み得る。
【0146】
図6Cは、例示的な実施形態に係る、ブロックチェーントランザクションデータを記憶するブロックチェーン構成を示す。図6Cを参照して、例示的な構成660は、分散型台帳(すなわち、ブロックチェーン)668と情報を共有する車662、ユーザデバイス664、及びサーバ666を提供する。サーバは、既知の確立されたユーザプロファイルが、確立された格付けプロファイルを用いて車を借りようと試みている場合、ユーザプロファイル格付け情報を共有するために車サービスのプロバイダに問い合わせするサービスプロバイダエンティティを表し得る。サーバ666は、車のサービス要件に関連するデータを受信して処理し得る。車センサデータが、燃料/充電、保守サービスなどの必要性を示すなどのサービス事象が生じると、スマートコントラクトが使用されて、車サービス事象を呼び出すために使用され得るルール、閾値、センサ情報の収集などを呼び出し得る。ブロックチェーントランザクションデータ670は、アクセス事象、車のサービス状況に対する後の更新、事象更新などの各トランザクションについて保存される。トランザクションは、当事者、要件(例えば、18歳、サービスの資格のある候補、有効な運転免許証など)、補償レベル、事象の間に移動した距離、事象へのアクセス及び車サービスの提供を許可された登録された受取人、権利/パーミッション、次のサービス事象の詳細を記録して車の状態状況を識別するために車事象動作中に取り出されるセンサデータ、並びにサービス事象が完了したかどうか及び車の状態状況が変化したかどうかに関する決定を行うために使用される閾値を含み得る。
【0147】
図6Dは、例示的な実施形態に係る、分散型台帳に追加され得るブロックチェーンブロック680及びブロック構造682A~682nの内容を示す。図6Dを参照して、クライアント(図示せず)は、エントリをブロックチェーンノードに提出して、ブロックチェーン上で活動を実施し得る。一例として、クライアントは、デバイス、人、又はエンティティなどの要求者に代わって機能してブロックチェーンに対してエントリを提案するアプリケーションであり得る。複数のブロックチェーンピア(例えば、ブロックチェーンノード)は、ブロックチェーンネットワークの状態及び分散型台帳のコピーを維持し得る。様々なタイプのブロックチェーンノード/ピアは、クライアントによって提案されるエントリをシミュレートして承認する承認ピアと、エンドースメントを確認し、エントリを検証して、エントリを分散型台帳にコミットするコミットピアと、を含むブロックチェーンネットワーク内に存在し得る。この例では、ブロックチェーンノードは、エンドーサノード、コミッタノード、又はその両方の役割を実行し得る。
【0148】
本システムは、不変に順序付けされた記録をブロックに記憶するブロックチェーンと、ブロックチェーンの現在の状態を維持する状態データベース(現在のワールドステート)と、を含む。1つの分散型台帳が、チャネルごとに存在し得、各ピアは、自身がメンバである各チャネルについて、分散型台帳の自身のコピーを維持する。本ブロックチェーンは、ハッシュリンクブロックとして構築されたエントリログであり、各ブロックは、N個のエントリのシーケンスを含む。ブロックは、図6Dに示されるものなどの様々な構成要素を含み得る。ブロックの結合は、現在のブロックのブロックヘッダ内に前のブロックのヘッダのハッシュを追加することによって生成され得る。このようにして、ブロックチェーン上の全てのエントリが順序付けされて暗号的に結合されて、ハッシュリンクを壊すことなくブロックチェーンデータの改ざんを防ぐ。更に、結合されているため、ブロックチェーン内の最新のブロックは、その前に生じた全てのエントリを表す。本ブロックチェーンは、アペンド専用のブロックチェーンの作業負荷をサポートするピアファイルシステム(ローカル又は付属のストレージ)上に記憶され得る。
【0149】
ブロックチェーン及び分散型台帳の現在の状態は、状態データベースに記憶され得る。ここで、現在の状態データは、ブロックチェーンのチェーンエントリログに含まれる、これまでの全てのキーについての最新の値を表す。スマートコントラクト実行可能コードの呼び出しは、状態データベース内の現在の状態に対してエントリを実行する。これらのスマートコントラクト実行可能コードのやり取りを極めて効率的にするために、全てのキーの最新の値が、状態データベースに記憶される。状態データベースは、ブロックチェーンのエントリログに対するインデックス付きビューを含み得、したがって、いつでもチェーンから再生成され得る。状態データベースは、ピアの起動時、エントリが受け付けられる前に、自動的に回復され得る(又は必要な場合に生成され得る)。
【0150】
承認ノードは、クライアントからエントリを受信して、シミュレートされた結果に基づいてエントリを承認する。承認ノードは、エントリ提案をシミュレートするスマートコントラクトを保持する。承認ノードがエントリを承認するとき、承認ノードは、エントリエンドースメントを作成し、当該エントリエンドースメントは、承認ノードからクライアントアプリケーションへの署名付き応答であり、シミュレートされたエントリのエンドースメントを示す。エントリを承認する方法は、スマートコントラクト実行可能コード内で指定され得るエンドースメントポリシーに依存する。エンドースメントポリシーの例は、「承認ピアの大多数がエントリを承認しなければならない」ということである。異なるチャネルは、異なるエンドースメントポリシーを有し得る。承認されたエントリは、クライアントアプリケーションによって順序付けサービスに転送される。
【0151】
順序付けサービスは、承認されたエントリを受け付け、当該エントリをブロック内に順序付けし、ブロックをコミットピアに配信する。例えば、順序付けサービスは、エントリの閾値に達した場合、タイマがタイムアウトした場合、又は別の条件で、新しいブロックを開始し得る。この例では、ブロックチェーンノードは、ブロックチェーン上に記憶するデータブロック682Aを受信したコミットピアである。順序付けサービスは、オーダラのクラスタで構成され得る。順序付けサービスは、エントリ、スマートコントラクトを処理しないか又は共有型台帳を維持しない。むしろ、順序付けサービスは、承認されたエントリを受け付け得、それらのエントリが分散型台帳にコミットされる順序を指定する。ブロックチェーンネットワークのアーキテクチャは、「順序付け」(例えば、Solo、Kafka、BFTなど)の特定の実装がプラグ可能構成要素になるように設計され得る。
【0152】
エントリは、一貫した順序で分散型台帳に書き込まれる。エントリの順序は、当該エントリがネットワークにコミットされるときに、状態データベースに対する更新が有効であることを保証するように確立される。暗号化パズルを解くことで、又はマイニングにより順序付けが生じる暗号通貨のブロックチェーンシステム(例えば、ビットコインなど)とは異なり、この例では、分散型台帳の当事者が、ネットワークに最も適合する順序付け機構を選択し得る。
【0153】
図6Dを参照すると、ブロックチェーン及び/又は分散型台帳上に記憶された(データブロックとも称される)ブロック682Aは、ブロックヘッダ684A~684n、トランザクション固有のデータ686A~686n、ブロックメタデータ688A~688nなどの複数のデータセグメントを含み得る。ブロック682A及びその内容などの、描写されている様々なブロック及びその内容は、例示を目的としているに過ぎず、例示的な実施形態の範囲を限定することを意味しないことを理解されたい。一部の場合では、ブロックヘッダ684A及びブロックメタデータ688Aの両方が、エントリデータを記憶するトランザクション固有のデータ686Aよりも小さい場合があるが、これは要件ではない。ブロック682Aは、ブロックデータ690A~690n内にN個(例えば、100個、500個、1000個、2000個、3000個など)のエントリのトランザクションの情報を記憶し得る。ブロック682Aはまた、ブロックヘッダ684A内に(例えばブロックチェーン上の)前のブロックへのリンクを含み得る。特に、ブロックヘッダ684Aは、前のブロックのヘッダのハッシュを含み得る。ブロックヘッダ684Aはまた、固有のブロック番号、現在のブロック682Aのブロックデータ690Aのハッシュ、及び同種のものを含み得る。ブロック682Aのブロック番号は、固有のものであり、ゼロから始まって増加していく/連続する順序で割り当てられ得る。ブロックチェーン内の第1のブロックは、ブロックチェーン、そのメンバ、その中に記憶されたデータなどに関する情報を含むジェネシスブロックと称され得る。
【0154】
ブロックデータ690Aは、ブロック内に記録された各エントリのエントリ情報を記憶し得る。例えば、エントリデータは、エントリのタイプ、バージョン、タイムスタンプ、分散型台帳のチャネルID、エントリID、エポック、ペイロードの可視性、スマートコントラクト実行可能コードの経路(展開送信)、スマートコントラクト実行可能コードの名称、スマートコントラクト実行可能コードのバージョン、入力(スマートコントラクト実行可能コード及び機能)、パブリックキー及び証明書などのクライアント(作成者)識別情報、クライアントの署名、エンドーサの識別情報、エンドーサの署名、提案ハッシュ、スマートコントラクト実行可能コードの事象、応答状況、ネームスペース、読み取りセット(エントリによって読み取られるキー及びバージョンのリストなど)、書き込みセット(キー及び値のリストなど)、スタートキー、エンドキー、キーのリスト、マークルツリーのクエリ要約、並びに同種のもののうちの1つ以上を含み得る。エントリデータは、N個のエントリの各々について記憶され得る。
【0155】
一部の実施形態では、ブロックデータ690Aはまた、ブロックチェーン内のブロックのハッシュリンクチェーンに追加の情報を追加するトランザクション固有のデータ686Aを記憶し得る。したがって、データ686Aは、分散型台帳上のブロックの不変のログに記憶され得る。当該データ686Aを記憶する利点の一部は、本明細書に開示及び描写される様々な実施形態に反映されている。ブロックメタデータ688Aは、メタデータの複数のフィールドを(例えば、バイト配列などとして)記憶し得る。メタデータフィールドは、ブロック作成における署名、最後の構成ブロックに対する参照、ブロック内で有効なエントリ及び無効なエントリを識別するエントリフィルタ、ブロックを順序付ける順序付けサービスの存続する最後のオフセット、及び同種のものを含み得る。署名、最後の構成ブロック、及びオーダラのメタデータは、順序付けサービスによって追加され得る。一方で、(ブロックチェーンノードなどの)ブロックのコミッタは、エンドースメントポリシー、読み取り/書き込みセットの検証、及び同種のものに基づいて、有効/無効情報を追加し得る。エントリフィルタは、ブロックデータ610A内のエントリの数と等しいサイズのバイト配列と、エントリが有効/無効であったかを識別する検証コードと、を含み得る。
【0156】
ブロックチェーン内の他のブロック682B~682nも、ヘッダ、ファイル、及び値を有する。しかしながら、第1のブロック682Aとは異なり、他のブロック内のヘッダ684A~684nの各々は、直前のブロックのハッシュ値を含む。直前のブロックのハッシュ値は、単に前のブロックのヘッダのハッシュであり得るか、又は前のブロック全体のハッシュ値であり得る。残りのブロックの各々に前のブロックのハッシュ値を含めることによって、矢印692で示されるように、N番目のブロックからジェネシスブロック(及び関連付けられた元のファイル)まで戻ってブロック単位で追跡が行われて、監査可能で不変の管理の連鎖を確立し得る。
【0157】
上記実施形態は、ハードウェアで、プロセッサによって実行されるコンピュータプログラムで、ファームウェアで、又は上記の組み合わせで実装され得る。コンピュータプログラムは、記憶媒体などのコンピュータ可読媒体上で具現化され得る。例えば、コンピュータプログラムは、ランダムアクセスメモリ(「RAM」)、フラッシュメモリ、リードオンリーメモリ(「ROM」)、消去可能プログラマブルリードオンリーメモリ(「EPROM」)、電気的消去可能プログラマブルリードオンリーメモリ(「EEPROM」)、レジスタ、ハードディスク、リムーバブルディスク、コンパクトディスクリードオンリーメモリ(「CD-ROM」)、又は当該技術分野で既知の任意の他の形態の記憶媒体に存在し得る。
【0158】
好ましい記憶媒体は、プロセッサが記憶媒体から情報を読み取り、記憶媒体に情報を書き込み得るように、プロセッサに接続され得る。代替的には、記憶媒体は、プロセッサに統合され得る。プロセッサ及び記憶媒体は、特定用途向け集積回路(「ASIC」)内に存在し得る。代替的には、プロセッサ及び記憶媒体は、個別の構成要素として存在し得る。例えば、図7は、上述の構成要素などのうちのいずれかを表し得るか、又は上述の構成要素などのうちのいずれかに統合され得る、例示的なコンピュータシステムアーキテクチャ700を示す。
【0159】
図7は、本明細書に記載される本願の実施形態の使用又は機能の範囲に関して、いかなる制限の示唆も意図していない。それでも、計算ノード700は、実装可能であり、及び/又は本明細書における上述の機能のうちのいずれかを実行可能である。
【0160】
計算ノード700内には、多くの他の汎用又は専用の計算システムの環境又は構成で動作可能なコンピュータシステム/サーバ702が存在する。コンピュータシステム/サーバ702と共に使用するのに好適であり得る、周知の計算システム、環境、及び/又は構成の例には、パーソナルコンピュータシステム、サーバコンピュータシステム、シンクライアント、シッククライアント、ハンドヘルド又はラップトップのデバイス、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラムマブル家電製品、ネットワークPC、ミニコンピュータシステム、メインフレームコンピュータシステム、上記のシステム又はデバイスのうちのいずれかを含む分散型クラウド計算環境、及び同種のものが含まれるが、これらに限定されない。
【0161】
コンピュータシステム/サーバ702は、コンピュータシステムによって実行される、プログラムモジュールなどのコンピュータシステム実行可能命令の一般的なコンテキストで記載され得る。概して、プログラムモジュールは、特定のタスクを行うか、又は特定の抽象データ型を実装する、ルーチン、プログラム、オブジェクト、コンポーネント、ロジック、データ構造などを含み得る。コンピュータシステム/サーバ702は、通信ネットワークを通じて結合されるリモート処理デバイスによってタスクが実行される分散型クラウド計算環境で実行され得る。分散型クラウド計算環境では、プログラムモジュールは、メモリストレージデバイスを含むローカル及びリモートのコンピュータシステム記憶媒体の両方に位置し得る。
【0162】
図7に示されるように、クラウド計算ノード700内のコンピュータシステム/サーバ702は、汎用計算デバイスの形態で示されている。コンピュータシステム/サーバ702の構成要素は、1つ以上のプロセッサ又は処理ユニット704、システムメモリ706、及びシステムメモリ706を含む様々なシステム構成要素をプロセッサ704に接続するバスを含み得るが、これらに限定されない。
【0163】
バスは、メモリバス又はメモリコントローラ、ペリフェラルバス、アクセラレーテッドグラフィックスポート、及び様々なバスアーキテクチャのいずれかを使用したプロセッサ又はローカルバスを含むいくつかのタイプのバス構造のうちのいずれかの1つ以上を表す。一例として、限定しないが、当該アーキテクチャは、インダストリスタンダードアーキテクチャ(ISA)バス、マイクロチャネルアーキテクチャ(MCA)バス、拡張ISA(EISA)バス、ビデオエレクトロニクススタンダーズアソシエーション(VESA)ローカルバス、及びペリフェラルコンポーネントインターコネクト(PCI)バスを含む。
【0164】
コンピュータシステム/サーバ702は通常、様々なコンピュータシステム可読媒体を含む。当該媒体は、コンピュータシステム/サーバ702によってアクセス可能である任意の利用可能な媒体であり得、揮発性及び不揮発性の媒体、リムーバブル及び非リムーバブルの媒体の両方を含む。一実施形態では、システムメモリ706は、他の図のフロー図を実装する。システムメモリ706は、ランダムアクセスメモリ(RAM)708及び/又はキャッシュメモリ710などの揮発性メモリの形態のコンピュータシステム可読媒体を含み得る。コンピュータシステム/サーバ702は、他のリムーバブル/非リムーバブルの揮発性/不揮発性のコンピュータシステム記憶媒体を更に含み得る。単なる一例として、メモリ706は、(図示せず、通常は「ハードドライブ」と呼ばれる)非リムーバブルの不揮発性の磁気媒体からの読み取り及び当該磁気媒体への書き込みを行うために提供され得る。示されていないが、リムーバブルの不揮発性の磁気ディスク(例えば「フロッピディスク」)からの読み取り及び当該磁気ディスクへの書き込みを行うための磁気ディスクドライブ、及びCD-ROM、DVD-ROM、又は他の光媒体などのリムーバブルの不揮発性の光ディスクからの読み取り又は当該光ディスクへの書き込みを行うための光ディスクドライブが提供され得る。このような場合、各々が、1つ以上のデータ媒体インターフェースによってバスに接続され得る。以下で更に描写及び記載されるように、メモリ706は、本願の様々な実施形態の機能を実行するよう構成された、プログラムモジュールのセット(例えば、少なくとも1つ)を有する少なくとも1つのプログラム製品を含み得る。
【0165】
プログラムモジュールのセット(少なくとも1つ)を有するプログラム/ユーティリティは、一例として、限定しないが、メモリ706、並びにオペレーティングシステム、1つ以上のアプリケーションプログラム、他のプログラムモジュール、及びプログラムデータに記憶され得る。オペレーティングシステム、1つ以上のアプリケーションプログラム、他のプログラムモジュール及びプログラムデータ、又はこれらの何らかの組み合わせの各々は、ネットワーク環境の実装を含み得る。プログラムモジュールは概して、本明細書に記載される本願の様々な実施形態の機能及び/又は方法を実行する。
【0166】
当業者によって理解されるように、本願の態様は、システム、方法、又はコンピュータプログラム製品として具現化され得る。したがって、本願の態様は、完全にハードウェアの実施形態、(ファームウェア、常駐ソフトウェア、マイクロコードなどを含む)完全にソフトウェアの実施形態、又は本明細書で全てが概して「回路」、「モジュール」、又は「システム」と称され得るソフトウェアの態様及びハードウェアの態様を組み合わせた実施形態の形態を取り得る。更に、本願の態様は、1つ以上のコンピュータ可読媒体内で具現化されたコンピュータプログラム製品の形態を取り得、当該コンピュータ可読媒体は、当該コンピュータ可読媒体上で具現化されたコンピュータ可読プログラムコードを有する。
【0167】
コンピュータシステム/サーバ702はまた、キーボード、ポインティングデバイス、ディスプレイ、音声認識モジュールなどを含み得る(I/Oアダプタなどの)I/Oデバイス712、ユーザがコンピュータシステム/サーバ702とやり取りするのを可能にする1つ以上のデバイス、及び/又はコンピュータシステム/サーバ702が1つ以上の他の計算デバイスと通信するのを可能にする任意のデバイス(例えば、ネットワークカード、モデムなど)を介して、1つ以上の外部デバイスと通信し得る。当該通信は、デバイス712のI/Oインターフェースを介して生じ得る。また更に、コンピュータシステム/サーバ702は、ネットワークアダプタを介して、ローカルエリアネットワーク(LAN)、一般的なワイドネットワーク(WAN)、及び/又はパブリックネットワーク(例えば、インターネット)などの1つ以上のネットワークと通信し得る。描写されているように、デバイス712は、バスを介してコンピュータシステム/サーバ702の他の構成要素と通信する。示されていないが、他のハードウェア及び/又はソフトウェア構成要素がコンピュータシステム/サーバ702と共に使用され得ることを理解されたい。例には、マイクロコード、デバイスドライバ、冗長処理ユニット、外部ディスクドライブアレイ、RAIDシステム、テープドライブ、及びデータ保管ストレージシステムなどが含まれるが、これらに限定されない。
【0168】
システム、方法、及び非一時的コンピュータ可読媒体のうちの少なくとも1つの好ましい実施形態が添付の図面に示されており以上の詳細な説明で記載されているが、本願は開示された実施形態に限定されず、以下の特許請求の範囲によって記載され定められるような多くの再配置、修正、及び置換が可能であることが理解されるであろう。例えば、様々な図のシステムの機能は、本明細書に記載されるモジュール若しくは構成要素のうちの1つ以上によって、又は分散型アーキテクチャで行われ得、送信機、受信機、又はこれらのペアを含み得る。例えば、個々のモジュールによって行われる機能の全て又は一部は、これらのモジュールのうちの1つ以上によって行われ得る。更に、本明細書に記載される機能は、様々な時刻に、モジュール又は構成要素の内部又は外部の様々な事象に関連して行われ得る。また、様々なモジュール間で送信される情報は、データネットワーク、インターネット、音声ネットワーク、インターネットプロトコルネットワーク、無線デバイス、有線デバイス、及び/又は複数のプロトコルのうちの少なくとも1つを介してモジュール間で送信され得る。また、モジュールのうちのいずれかによって送信又は受信されるメッセージは、直接的に、及び/又は他のモジュールのうちの1つ以上を介して送信又は受信され得る。
【0169】
「システム」は、パーソナルコンピュータ、サーバ、コンソール、パーソナルデジタルアシスタント(PDA)、携帯電話、タブレット計算デバイス、スマートフォン、若しくは任意の他の好適な計算デバイス、又はデバイスの組み合わせとして具現化され得ることを当業者は理解するであろう。「システム」によって行われるものとして上述の機能を提示することは、いかなる方法でも本願の範囲を限定することを意図しておらず、多数の実施形態のうちの一例を提供することを意図している。実際、本明細書で開示される方法、システム、及び装置は、計算技術と整合する局所的で分散された形態で実装され得る。
【0170】
本明細書に記載されるシステム機能の一部は、その実装の独立性をより具体的に強調するためにモジュールとして提示されていることに留意されたい。例えば、モジュールは、カスタムの超大規模集積(VLSI)回路又はゲートアレイや、論理チップ、トランジスタ、又は他の個別の構成要素などの既製の半導体を備えるハードウェア回路として実装され得る。モジュールはまた、フィールドプログラマブルゲートアレイ、プログラマブルアレイロジック、プログラマブルロジックデバイス、グラフィックスプロセッシングユニット、又は同種のものなどのプログラマブルハードウェアデバイス内に実装され得る。
【0171】
モジュールはまた、様々なタイプのプロセッサによる実行のために少なくとも部分的にソフトウェアで実装され得る。例えば、実行可能コードの識別されたユニットは、例えば、オブジェクト、手順、又は機能として編成され得るコンピュータ命令の1つ以上の物理ブロック又は論理ブロックを備え得る。それでもなお、識別されたモジュールの実行ファイルは、物理的に一緒に位置する必要はなく、論理的に結合される場合にモジュールを備え且つモジュールについての指定された目的を達成する、異なる場所に記憶された異なる命令を備え得る。更に、モジュールは、コンピュータ可読媒体上に記憶され得、当該コンピュータ可読媒体は、例えば、ハードディスクドライブ、フラッシュデバイス、ランダムアクセスメモリ(RAM)、テープ、又はデータを記憶するために使用される任意の他のこのような媒体であり得る。
【0172】
実際、実行可能コードのモジュールは、単一の命令又は多数の命令であり得、更には、いくつかの異なるコードセグメントにおいて、異なるプログラムの間に、及びいくつかのメモリデバイスにわたって分散され得る。同様に、演算データは、モジュール内で識別されて本明細書で示され得、任意の好適な形態で具現化されて、任意の好適なタイプのデータ構造内で編成され得る。演算データは、単一のデータセットとして収集され得るか、又は異なるストレージデバイスを含む異なる場所において分散され得、システム又はネットワーク上の単なる電子信号として少なくとも部分的に存在し得る。
【0173】
概略的に本明細書に記載され図に示される本願の構成要素は、多種多様な異なる構成で配置及び設計され得ることが容易に理解されるであろう。したがって、実施形態の詳細な説明は、特許請求されている本願の範囲を限定することを意図しておらず、本願の選択された実施形態を表しているに過ぎない。
【0174】
以上のことが、異なる順序のステップで、及び/又は開示されたものとは異なる構成のハードウェア要素で実行され得ることを当業者は容易に理解するであろう。したがって、本願はこれらの好ましい実施形態に基づいて記載されているが、特定の修正、変形、及び代替的な構造が明らかであることは当業者に明らかであろう。
【0175】
本願の好ましい実施形態が記載されているが、記載された実施形態は例示的であるに過ぎず、本願の範囲は、添付の特許請求の範囲に対する全ての範囲の均等物及び修正(例えば、プロトコル、ハードウェアデバイス、ソフトウェアプラットフォームなど)に関して考慮される場合に、添付の特許請求の範囲のみによって定められるべきであるということを理解されたい。
図1A
図1B
図2A
図2B
図2C
図2D
図2E
図2F
図2G
図2H
図2I
図2J
図2K
図2L
図2M
図2N
図3A
図3B
図3C
図4
図5A
図5B
図6A
図6B
図6C
図6D
図7
【手続補正書】
【提出日】2024-09-27
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】0175
【補正方法】変更
【補正の内容】
【0175】
本願の好ましい実施形態が記載されているが、記載された実施形態は例示的であるに過ぎず、本願の範囲は、添付の特許請求の範囲に対する全ての範囲の均等物及び修正(例えば、プロトコル、ハードウェアデバイス、ソフトウェアプラットフォームなど)に関して考慮される場合に、添付の特許請求の範囲のみによって定められるべきであるということを理解されたい。
本明細書に開示される発明は以下の態様を含む。
〔態様1〕
車における不揮発性の電気的に消去可能なメモリストレージの更新をダウンロードすることと、
前記メモリストレージがメモリのバイトのブロック及びメモリの個々のバイトのうちの一方で配置されているかどうかを決定することと、
前記メモリストレージの配置に基づいてプログラミングプロトコルを選択することと、
前記選択されたプログラミングプロトコルに基づいて前記メモリストレージに書き込むことと、
を含む、方法。
〔態様2〕
前記ダウンロードが中断された場合に中断フラグを生成することと、
前記中断フラグに一致する前記中断されたダウンロードの前記メモリストレージの配置を決定することと、
前記メモリストレージの配置に基づいて前記ダウンロードを再開することと、
を更に含む、態様1に記載の方法。
〔態様3〕
前記ダウンロードが完了したかどうかを決定することと、
前記ダウンロードが未完了である場合に中断フラグを出すことと、
を更に含む、態様1に記載の方法。
〔態様4〕
前記中断フラグが検出される場合にマジックナンバを生成することと、
前記ダウンロードが終了したメモリ場所において前記マジックナンバを前記メモリストレージに書き込むことと、
前記ダウンロードが終了した前記メモリ場所において前記ダウンロードを再開することと、
を更に含む、態様3に記載の方法。
〔態様5〕
前記マジックナンバは、ランダムに生成される、態様4に記載の方法。
〔態様6〕
前記ダウンロードを一時的なストレージに書き込むことと、
前記ダウンロードを検証することと、
前記検証されたダウンロードを前記一時的なストレージから前記メモリストレージにコピーすることと、
を更に含む、態様1に記載の方法。
〔態様7〕
前記ダウンロードが中断された場合に中断フラグを生成することと、
中断フラグが生成されなかった場合に前記メモリストレージから起動することと、
前記中断フラグが生成された場合に前のメモリストレージから起動することと、
を更に含む、態様1に記載の方法。
〔態様8〕
輸送手段に対して動作可能に接続されたエンジン制御ユニットを備えるシステムであって、前記エンジン制御ユニットは、
車における不揮発性の電気的に消去可能なメモリストレージの更新をダウンロードし、
前記メモリストレージがメモリのバイトのブロック及びメモリの個々のバイトのうちの一方で配置されているかどうかを決定し、
前記メモリストレージの配置に基づいてプログラミングプロトコルを選択し、
前記選択されたプログラミングプロトコルに基づいて前記メモリストレージに書き込む、システム。
〔態様9〕
前記エンジン制御ユニットは、
前記ダウンロードが中断された場合に中断フラグを生成し、
前記中断フラグに一致する前記中断されたダウンロードの前記メモリストレージの配置を決定し、
前記メモリストレージの配置に基づいて前記ダウンロードを再開する、態様8に記載のシステム。
〔態様10〕
前記エンジン制御ユニットは、
前記ダウンロードが完了したかどうかを決定し、
前記ダウンロードが未完了である場合に中断フラグを出す、態様8に記載のシステム。
〔態様11〕
前記エンジン制御ユニットは、
中断フラグが検出される場合にマジックナンバを生成し、
前記ダウンロードが終了したメモリ場所において前記マジックナンバを前記メモリストレージに書き込み、
前記ダウンロードが終了した前記メモリ場所において前記ダウンロードを再開する、態様8に記載のシステム。
〔態様12〕
前記マジックナンバは、ランダムに生成される、態様11に記載のシステム。
〔態様13〕
前記エンジン制御ユニットは、
前記ダウンロードを一時的なストレージに書き込み、
前記ダウンロードを検証し、
前記検証されたダウンロードを前記一時的なストレージから前記メモリストレージにコピーする、態様8に記載のシステム。
〔態様14〕
前記エンジン制御ユニットは、
前記ダウンロードが中断された場合に中断フラグを生成し、
中断フラグが生成されなかった場合に前記メモリストレージから起動し、
前記中断フラグが生成された場合に前のメモリストレージから起動する、態様8に記載のシステム。
〔態様15〕
命令を備える非一時的コンピュータ可読媒体であって、前記命令は、プロセッサによって読み取られると、前記プロセッサに対して、
車における不揮発性の電気的に消去可能なメモリストレージの更新をダウンロードすることと、
前記メモリストレージがメモリのバイトのブロック及びメモリの個々のバイトのうちの一方で配置されているかどうかを決定することと、
前記メモリストレージの配置に基づいてプログラミングプロトコルを選択することと、
前記選択されたプログラミングプロトコルに基づいて前記メモリストレージに書き込むことと、
を行わせる、非一時的コンピュータ可読媒体。
〔態様16〕
前記ダウンロードが中断された場合に中断フラグを生成することと、
前記中断フラグに一致する前記中断されたダウンロードの前記メモリストレージの配置を決定することと、
前記メモリストレージの配置に基づいて前記ダウンロードを再開することと、
を含む、態様15に記載の非一時的コンピュータ可読媒体。
〔態様17〕
前記ダウンロードが完了したかどうかを決定することと、
前記ダウンロードが未完了である場合に中断フラグを出すことと、
を含む、態様15に記載の非一時的コンピュータ可読媒体。
〔態様18〕
中断フラグが検出される場合にマジックナンバを生成することと、
前記ダウンロードが終了したメモリ場所において前記マジックナンバを前記メモリストレージに書き込むことと、
前記ダウンロードが終了した前記メモリ場所において前記ダウンロードを再開することと、
を含む、態様15に記載の非一時的コンピュータ可読媒体。
〔態様19〕
前記ダウンロードを一時的なストレージに書き込むことと、
前記ダウンロードを検証することと、
前記検証されたダウンロードを前記一時的なストレージから前記メモリストレージにコピーすることと、
を含む、態様15に記載の非一時的コンピュータ可読媒体。
〔態様20〕
前記ダウンロードが中断された場合に中断フラグを生成することと、
中断フラグが生成されなかった場合に前記メモリストレージから起動することと、
前記中断フラグが生成された場合に前のメモリストレージから起動することと、
を含む、態様15に記載の非一時的コンピュータ可読媒体。
【手続補正2】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
車における不揮発性の電気的に消去可能なメモリストレージの更新をダウンロードすることと、
前記メモリストレージがメモリのバイトのブロック及びメモリの個々のバイトのうちの一方で配置されているかどうかを決定することと、
前記メモリストレージの配置に基づいてプログラミングプロトコルを選択することと、
前記選択されたプログラミングプロトコルに基づいて前記メモリストレージに書き込むことと、
を含む、方法。
【請求項2】
前記ダウンロードが中断された場合に中断フラグを生成することと、
前記中断フラグに一致する前記中断されたダウンロードの前記メモリストレージの配置を決定することと、
前記メモリストレージの配置に基づいて前記ダウンロードを再開することと、
を更に含む、請求項1に記載の方法。
【請求項3】
前記ダウンロードが完了したかどうかを決定することと、
前記ダウンロードが未完了である場合に中断フラグを出すことと、
を更に含む、請求項1に記載の方法。
【請求項4】
前記中断フラグが検出される場合にマジックナンバを生成することと、
前記ダウンロードが終了したメモリ場所において前記マジックナンバを前記メモリストレージに書き込むことと、
前記ダウンロードが終了した前記メモリ場所において前記ダウンロードを再開することと、
を更に含む、請求項3に記載の方法。
【請求項5】
前記マジックナンバは、ランダムに生成される、請求項4に記載の方法。
【請求項6】
前記ダウンロードを一時的なストレージに書き込むことと、
前記ダウンロードを検証することと、
前記検証されたダウンロードを前記一時的なストレージから前記メモリストレージにコピーすることと、
を更に含む、請求項1に記載の方法。
【請求項7】
前記ダウンロードが中断された場合に中断フラグを生成することと、
中断フラグが生成されなかった場合に前記メモリストレージから起動することと、
前記中断フラグが生成された場合に前のメモリストレージから起動することと、
を更に含む、請求項1に記載の方法。
【請求項8】
輸送手段に対して動作可能に接続されたエンジン制御ユニットを備えるシステムであって、前記エンジン制御ユニットは、
車における不揮発性の電気的に消去可能なメモリストレージの更新をダウンロードし、
前記メモリストレージがメモリのバイトのブロック及びメモリの個々のバイトのうちの一方で配置されているかどうかを決定し、
前記メモリストレージの配置に基づいてプログラミングプロトコルを選択し、
前記選択されたプログラミングプロトコルに基づいて前記メモリストレージに書き込む、システム。
【請求項9】
前記エンジン制御ユニットは、
前記ダウンロードが中断された場合に中断フラグを生成し、
前記中断フラグに一致する前記中断されたダウンロードの前記メモリストレージの配置を決定し、
前記メモリストレージの配置に基づいて前記ダウンロードを再開する、請求項8に記載のシステム。
【請求項10】
前記エンジン制御ユニットは、
前記ダウンロードが完了したかどうかを決定し、
前記ダウンロードが未完了である場合に中断フラグを出す、請求項8に記載のシステム。
【請求項11】
前記エンジン制御ユニットは、
中断フラグが検出される場合にマジックナンバを生成し、
前記ダウンロードが終了したメモリ場所において前記マジックナンバを前記メモリストレージに書き込み、
前記ダウンロードが終了した前記メモリ場所において前記ダウンロードを再開する、請求項8に記載のシステム。
【請求項12】
前記マジックナンバは、ランダムに生成される、請求項11に記載のシステム。
【請求項13】
前記エンジン制御ユニットは、
前記ダウンロードを一時的なストレージに書き込み、
前記ダウンロードを検証し、
前記検証されたダウンロードを前記一時的なストレージから前記メモリストレージにコピーする、請求項8に記載のシステム。
【請求項14】
前記エンジン制御ユニットは、
前記ダウンロードが中断された場合に中断フラグを生成し、
中断フラグが生成されなかった場合に前記メモリストレージから起動し、
前記中断フラグが生成された場合に前のメモリストレージから起動する、請求項8に記載のシステム。
【請求項15】
命令を備える非一時的コンピュータ可読媒体であって、前記命令は、プロセッサによって読み取られると、前記プロセッサに対して、
車における不揮発性の電気的に消去可能なメモリストレージの更新をダウンロードすることと、
前記メモリストレージがメモリのバイトのブロック及びメモリの個々のバイトのうちの一方で配置されているかどうかを決定することと、
前記メモリストレージの配置に基づいてプログラミングプロトコルを選択することと、
前記選択されたプログラミングプロトコルに基づいて前記メモリストレージに書き込むことと、
を行わせる、非一時的コンピュータ可読媒体。
【国際調査報告】