(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-20
(45)【発行日】2024-10-01
(54)【発明の名称】データ送信システム、データ送信方法、インテリジェント車両、及び装置
(51)【国際特許分類】
G06F 8/654 20180101AFI20240924BHJP
【FI】
G06F8/654
(21)【出願番号】P 2023518969
(86)(22)【出願日】2020-09-27
(86)【国際出願番号】 CN2020118080
(87)【国際公開番号】W WO2022061804
(87)【国際公開日】2022-03-31
【審査請求日】2023-05-18
(73)【特許権者】
【識別番号】503433420
【氏名又は名称】華為技術有限公司
【氏名又は名称原語表記】HUAWEI TECHNOLOGIES CO.,LTD.
【住所又は居所原語表記】Huawei Administration Building, Bantian, Longgang District, Shenzhen, Guangdong 518129, P.R. China
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】リィウ,チョン
(72)【発明者】
【氏名】リ,ジェン
(72)【発明者】
【氏名】マ,タオ
(72)【発明者】
【氏名】スン,ホォンシン
【審査官】松平 英
(56)【参考文献】
【文献】特開2016-071527(JP,A)
【文献】特開2019-204413(JP,A)
【文献】特開2018-079768(JP,A)
【文献】特開2018-037059(JP,A)
【文献】特開2020-144682(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B60R 9/00-11/06
16/00-21/13
21/34-99/00
G06F 8/00-8/38
8/60-8/77
9/44-9/445
9/451
(57)【特許請求の範囲】
【請求項1】
データ送信システムであって、前記データ送信システムは、オーバージエア(OTA)サーバと、マスタ電子制御ユニット(ECU)と、ノードECUとを備え、
前記OTAサーバは、ターゲットソフトウェアパッケージのサイズを前記マスタECUに送信するように構成され、
前記マスタECUは、前記ターゲットソフトウェアパッケージの前記サイズを前記OTAサーバから取得するように構成され、
前記マスタECUは、前記ターゲットソフトウェアパッケージの前記サイズを前記ノードECUに送信するように、又は前記ノードECUの残りの記憶スペースのサイズを前記ノードECUから取得するように更に構成され、
前記ノードECUは、前記残りの記憶スペースが前記ターゲットソフトウェアパッケージの前記サイズ以上である場合、前記ターゲットソフトウェアパッケージを前記OTAサーバから受信するように構成され
、
前記マスタECUは、前記ターゲットソフトウェアパッケージのダウンロードアドレスを前記ノードECUに送信することを行うように更に構成され、前記ターゲットソフトウェアパッケージは、前記ダウンロードアドレスに基づいて前記ノードECUによって前記OTAサーバに要求される、
データ送信システム。
【請求項2】
前記マスタECUは、前記ノードECUの前記残りの記憶スペースの前記サイズと前記ターゲットソフトウェアパッケージの前記サイズとの間の関係を取得するように更に構成され、前記ターゲットソフトウェアパッケージの前記サイズが前記ノードECUに送信される場合、前記マスタECUは、前記ノードECUの前記残りの記憶スペースの前記サイズと前記ターゲットソフトウェアパッケージの前記サイズとの間の前記関係を前記ノードECUから取得するように構成され、又は、前記ノードECUの前記残りの記憶スペースの前記サイズが前記マスタECUによって取得される場合、前記マスタECUは、前記ノードECUの前記残りの記憶スペースの前記サイズと前記ターゲットソフトウェアパッケージの前記サイズとの間の前記関係を決定するように構成され、
前記マスタECUは、前記ノードECUの前記残りの記憶スペースが前記ターゲットソフトウェアパッケージの前記サイズ以上である場合、第1のパラメータを前記OTAサーバに送信することであって、前記第1のパラメータの値は、前記ノードECUの前記残りの記憶スペースが前記ターゲットソフトウェアパッケージの前記サイズ以上であることを示すために使用される、送信すること、又は、前記ターゲットソフトウェアパッケージを前記ノードECUに送信するように前記OTAサーバに指示するこ
とを行うように更に構成され、
前記ノードECUは、前記ターゲットソフトウェアパッケージを前記OTAサーバから受信するよう
に構成され、前記ターゲットソフトウェアパッケージは、前記第1のパラメータに基づいて、前記OTAサーバによって前記ノードECUに送信されるか、
又は前記ターゲットソフトウェアパッケージは、前記マスタECUによって指示された前記OTAサーバによって送信される
、
請求項1に記載のデータ送信システム。
【請求項3】
前記ノードECUは、第1のパラメータを前記マスタECUに送信するように更に構成され、前記第1のパラメータの値は、前記ノードECUの前記残りの記憶スペースが前記ターゲットソフトウェアパッケージの前記サイズ以上であることを示すために使用され、
前記マスタECUは、前記第1のパラメータを前記ノードECUから取得し、前記第1のパラメータに基づいて、前記ターゲットソフトウェアパッケージを前記ノードECUに送信するように前記OTAサーバに指示する命令を送信するように更に構成され、
前記OTAサーバは、前記命令に基づいて、前記ターゲットソフトウェアパッケージを前記ノードECUに送信するように更に構成される、
請求項2に記載のデータ送信システム。
【請求項4】
ノードECUの数はNであり、Nは1より大きい整数であり、
前記マスタECUは、前記N個のノードECUに対応するN個の第1のパラメータを取得する際に前記ターゲットソフトウェアパッケージを前記ノードECUに送信するように前記OTAサーバに指示する前記命令を送信するよう
に構成される、
請求項3に記載のデータ送信システム。
【請求項5】
前記マスタECUが、前記ターゲットソフトウェアパッケージのダウンロードアドレスを前記ノードECUに送信するように更に構成される場合、前記マスタECUは、前記ターゲットソフトウェアパッケージの前記ダウンロードアドレスを前記OTAサーバから取得するように更に構成され、
前記ノードECUは、第1のパラメータを前記マスタECUに送信するように更に構成され、前記第1のパラメータの値は、前記ノードECUの前記残りの記憶スペースが前記ターゲットソフトウェアパッケージの前記サイズ以上であることを示すために使用され、
前記マスタECUは、前記第1のパラメータを前記ノードECUから取得し、前記第1のパラメータに基づいて前記ダウンロードアドレスを前記ノードECUに送信するように更に構成され、
前記ノードECUは、前記ターゲットソフトウェアパッケージの前記ダウンロードアドレスを前記マスタECUから取得し、前記ダウンロードアドレスに基づいて、前記ノードECUの前記ターゲットソフトウェアパッケージを前記OTAサーバに要求するように更に構成され、
前記OTAサーバは、前記ダウンロードアドレスに基づいて前記ターゲットソフトウェアパッケージを前記ノードECUに送信するように更に構成される、
請求項2に記載のデータ送信システム。
【請求項6】
ノードECUの数はNであり、Nは1より大きい整数であり、
前記マスタECUは、前記N個のノードECUに対応するN個の第1のパラメータを取得する際に前記ダウンロードアドレスを前記ノードECUに送信するよう
に構成される、
請求項5に記載のデータ送信システム。
【請求項7】
ノードECUの数はNであり、Nは1より大きい整数であり、
前記マスタECUは、前記N個のノードECU内の各ノードECUのダウンロードアドレスを前記OTAサーバから取得するよう
に構成され、
前記マスタECUは、N個の第1のパラメータを前記N個のノードECUから取得するよう
に構成され、
前記マスタECUは、前記N個の第1のパラメータ内の各第1のパラメータの値が、前記N個のノードECU内の各ノードECUの残りの記憶スペースが前記N個のノードECU内の前記各ノードECUのためのそれぞれのターゲットソフトウェアパッケージのサイズ以上であることを示す場合にのみ、前記それぞれのターゲットソフトウェアパッケージの前記ダウンロードアドレスを前記N個のノードECU内の各ノードECUに送信するよう
に構成され、
前記N個のノードECU内の前記各ノードECUは、前記それぞれのターゲットソフトウェアパッケージの前記ダウンロードアドレスに基づいて、前記それぞれのターゲットソフトウェアパッケージを前記OTAサーバに要求するように構成される、
請求項5に記載のデータ送信システム。
【請求項8】
オーバージエア(OTA)サーバであって、前記OTAサーバは、更新及び構成管理(UCM)モジュールを備え、
前記UCMモジュールは、ノードECUのターゲットソフトウェアパッケージのサイズをマスタECUに送信し、
前記ノードECUの残りの記憶スペースが前記ターゲットソフトウェアパッケージの前記サイズ以上である場合、前記ターゲットソフトウェアパッケージを前記ノードECUに受信するように構成され
、
前記UCMモジュールは、前記ターゲットソフトウェアパッケージのダウンロードアドレスを前記マスタECUに送信するように更に構成され、
前記UCMモジュールは、前記ターゲットソフトウェアパッケージの前記ダウンロードアドレスであって前記OTAサーバから前記マスタECUへ送信されたダウンロードアドレスを含むメッセージを、前記ノードECUから受信し、前記ダウンロードアドレスに基づいて前記ターゲットソフトウェアパッケージを前記ノードECUに送信するように構成されている、
OTAサーバ。
【請求項9】
第1のパラメータを含む前記メッセージは、前記マスタECUから受信され、前記第1のパラメータの値は、前記ノードECUの前記残りの記憶スペースが前記ターゲットソフトウェアパッケージの前記サイズ以上であることを示すために使用され、
又は、前記メッセージは、前記マスタECUから受信され、前記メッセージは、前記ターゲットソフトウェアパッケージを前記ノードECUに送信するように前記OTAサーバに指示するために使用され
る、請求項8に記載のOTAサーバ。
【請求項10】
前記メッセージは、前記ノードECUから受信され、前記メッセージは、前記ターゲットソフトウェアパッケージを前記OTAサーバに要求するために使用される、
請求項9に記載のOTAサーバ。
【請求項11】
マスタ電子制御ユニット(ECU)であって、前記マスタECUは、更新及び構成管理マスタ(UCM Master)モジュールを備え、
前記UCM Masterモジュールは、ターゲットソフトウェアパッケージのサイズをOTAサーバから取得するように構成され、
前記UCM Masterモジュールは、前記ターゲットソフトウェアパッケージの前記サイズをノードECUに送信するか、又は前記ノードECUの残りの記憶スペースのサイズを前記ノードECUから取得するように更に構成され
、
前記UCM Masterモジュールは、前記ターゲットソフトウェアパッケージのダウンロードアドレスを前記ノードECUに送信することを行うように更に構成され、前記ターゲットソフトウェアパッケージは、前記ダウンロードアドレスに基づいて前記ノードECUによって前記OTAサーバに要求される、
マスタECU。
【請求項12】
前記UCM Masterモジュールは、
前記ノードECUの前記残りの記憶スペースの前記サイズと前記ターゲットソフトウェアパッケージの前記サイズとの間の関係を取得することであって、前記ターゲットソフトウェアパッケージの前記サイズが前記ノードECUに送信される場合、前記UCM Masterモジュールは、前記ノードECUの前記残りの記憶スペースの前記サイズと前記ターゲットソフトウェアパッケージの前記サイズとの間の前記関係を前記ノードECUから取得するように構成され、又は、前記ノードECUの前記残りの記憶スペースの前記サイズが前記UCM Masterモジュールによって取得される場合、前記UCM Masterモジュールは、前記ノードECUの前記残りの記憶スペースの前記サイズと前記ターゲットソフトウェアパッケージの前記サイズとの間の前記関係を決定するように構成される、取得することと、
前記ノードECUの前記残りの記憶スペースが前記ターゲットソフトウェアパッケージの前記サイズ以上である場合、第1のパラメータを前記OTAサーバに送信することであって、前記第1のパラメータの値は、前記ノードECUの前記残りの記憶スペースが前記ターゲットソフトウェアパッケージの前記サイズ以上であることを示すために使用される、送信すること、又は、前記ターゲットソフトウェアパッケージを前記ノードECUに送信するように前記OTAサーバに指示するこ
と
を行うように更に構成される、請求項11に記載のマスタECU。
【請求項13】
前記UCM Masterモジュールが、前記ターゲットソフトウェアパッケージを前記ノードECUに送信するように前記OTAサーバに指示するように構成される場合、前記UCM Masterモジュールは、
第1のパラメータを前記ノードECUから取得することとであって、前記第1のパラメータの値は、前記ノードECUの前記残りの記憶スペースが前記ターゲットソフトウェアパッケージの前記サイズ以上であることを示すために使用される、取得することと、
前記第1のパラメータに基づいて、前記ターゲットソフトウェアパッケージを前記ノードECUに送信するように前記OTAサーバに指示する命令を送信することと
を行うように更に構成される、請求項12に記載のマスタECU。
【請求項14】
ノードECUの数はNであり、Nは1より大きい整数であり、
前記UCM Masterモジュールは、前記N個のノードECUに対応するN個の第1のパラメータを取得する際に前記ターゲットソフトウェアパッケージを前記ノードECUに送信するように前記OTAサーバに指示する前記命令を送信するよう
に構成される、
請求項13に記載のマスタECU。
【請求項15】
前記UCM Masterモジュールが、前記ターゲットソフトウェアパッケージのダウンロードアドレスを前記ノードECUに送信するように構成される場合、前記UCM Masterモジュールは、前記ターゲットソフトウェアパッケージの前記ダウンロードアドレスを前記OTAサーバから取得するように更に構成され、
前記UCM Masterモジュールは、第1のパラメータを前記ノードECUから取得し、前記第1のパラメータに基づいて、前記ダウンロードアドレスを前記ノードECUに送信するように更に構成され、前記第1のパラメータの値は、前記ノードECUの前記残りの記憶スペースが前記ターゲットソフトウェアパッケージの前記サイズ以上であることを示すために使用される、
請求項12に記載のマスタECU。
【請求項16】
ノードECUの数はNであり、Nは1より大きい整数であり、
前記UCM Masterモジュールは、前記N個のノードECUに対応するN個の第1のパラメータを取得する際に前記ダウンロードアドレスを前記ノードECUに送信するよう
に構成される、
請求項15に記載のマスタECU。
【請求項17】
ノードECUの数はNであり、Nは1より大きい整数であり、
前記マスタECUは、前記N個のノードECU内の各ノードECUのダウンロードアドレスを前記OTAサーバから取得するよう
に構成され、
前記マスタECUは、N個の第1のパラメータを前記N個のノードECUから取得するよう
に構成され、
前記マスタECUは、前記N個の第1のパラメータ内の各第1のパラメータの値が、前記N個のノードECU内の各ノードECUの残りの記憶スペースが前記N個のノードECU内の前記各ノードECUのためのそれぞれのターゲットソフトウェアパッケージのサイズ以上であることを示す場合にのみ、前記それぞれのターゲットソフトウェアパッケージの前記ダウンロードアドレスを前記N個のノードECU内の各ノードECUに送信するよう
に構成される、
請求項15に記載のマスタECU。
【請求項18】
ノード電子制御ユニット(ECU)であって、前記ノードECUは、更新及び構成管理(UCM)モジュールを備え、
前記UCMモジュールは、
前記ノードECUのターゲットソフトウェアパッケージのサイズをマスタECUから取得するか、又は前記ノードECUの残りの記憶スペースのサイズをマスタECUに送信することと、
前記残りの記憶スペースが前記ターゲットソフトウェアパッケージの前記サイズ以上である場合、OTAサーバから前記ターゲットソフトウェアパッケージを受信することと
を行うように構成され
、前記UCMモジュールは、
前記ターゲットソフトウェアパッケージのダウンロードアドレスを前記マスタECUから取得することと、
前記ターゲットソフトウェアパッケージを要求するための前記ダウンロードアドレスを含むメッセージを前記OTAサーバに送信することと
を行うように更に構成されている、ノードECU。
【請求項19】
前記ターゲットソフトウェアパッケージは、前記ノードECUによって前記OTAサーバに要求され、前記ターゲットソフトウェアパッケージは、前記ノードECUの前記残りの記憶スペースの前記サイズと前記ターゲットソフトウェアパッケージの前記サイズとの間の関係に基づいて、前記マスタECUによって指示された前記OTAサーバによって送信され、又は前記ターゲットソフトウェアパッケージは、前記ノードECUの前記残りの記憶スペースの前記サイズと前記ターゲットソフトウェアパッケージの前記サイズとの間の前記関係に基づいて、前記OTAサーバによって送信される、請求項18に記載のノードECU。
【請求項20】
前記ノードECUの前記ターゲットソフトウェアパッケージの前記サイズが前記ノードECUによって取得される場合、前記UCMモジュールは、
前記ノードECUの前記残りの記憶スペースの前記サイズと前記ターゲットソフトウェアパッケージの前記サイズとの間の前記関係を決定することと、
第1のパラメータを前記マスタECUに送信することであって、前記第1のパラメータの値は、前記ノードECUの前記残りの記憶スペースが前記ターゲットソフトウェアパッケージの前記サイズ以上であることを示すために使用され、前記ターゲットソフトウェアパッケージは、前記第1のパラメータに基づいて、前記マスタECUによって指示された前記OTAサーバによって送信される、送信することと
を行うように更に構成される、請求
項19に記載のノードECU。
【請求項21】
前記ノードECUの前記ターゲットソフトウェアパッケージのサイズが前記ノードECUによって取得される場合、前
記UCMモジュールは、
前記ノードECUの前記残りの記憶スペースの前記サイズと前記ターゲットソフトウェアパッケージの前記サイズとの間の前記関係を決定することと、
第1のパラメータを前記マスタECUに送信することであって、前記第1のパラメータの値は、前記ノードECUの前記残りの記憶スペースが前記ターゲットソフトウェアパッケージの前記サイズ以上であることを示すために使用される、送信することと
、
を行うように更に構成される、請求
項19に記載のノードECU。
【請求項22】
データ送信方法であって、
OTAサーバが、ノードECUのターゲットソフトウェアパッケージのサイズをマスタECUに送信するステップと、
前記ノードECUの残りの記憶スペースが前記ターゲットソフトウェアパッケージの前記サイズ以上である場合
において、前記ターゲットソフトウェアパッケージのダウンロードアドレスであって前記OTAサーバから前記マスタECUへ送信されたダウンロードアドレスを含むメッセージを、前記ノードECUから受信した場合に、前記ダウンロードアドレスに基づいて、前記OTAサーバが、前記ターゲットソフトウェアパッケージを前記ノードECUに送信するステップと
を含むデータ送信方法。
【請求項23】
第1のパラメータを含む前記メッセージは、前記マスタECUから受信され、前記第1のパラメータの値は、前記ノードECUの前記残りの記憶スペースが前記ターゲットソフトウェアパッケージの前記サイズ以上であることを示すために使用され、
又は、前記メッセージは、前記マスタECUから受信され、前記メッセージは、前記ターゲットソフトウェアパッケージを前記ノードECUに送信するように前記OTAサーバに指示するために使用され
る、請求項22に記載のデータ送信方法。
【請求項24】
前記メッセージは、前記ノードECUから受信され、前記メッセージは、前記ターゲットソフトウェアパッケージを前記OTAサーバに要求するために使用される、請求項23に記載のデータ送信方法。
【請求項25】
データ送信方法であって、
マスタECUが、ターゲットソフトウェアパッケージのサイズをOTAサーバから取得するステップと、
前記マスタECUが、前記ターゲットソフトウェアパッケージの前記サイズをノードECUに送信するか、又は前記ノードECUの残りの記憶スペースのサイズを前記ノードECUから取得するステップと
前記ターゲットソフトウェアパッケージのダウンロードアドレスを前記ノードECUに送信するステップと
を含
み、前記ターゲットソフトウェアパッケージは、前記ダウンロードアドレスに基づいて前記ノードECUによって前記OTAサーバに要求される、データ送信方法。
【請求項26】
前記方法は、
前記マスタECUが、前記ノードECUの前記残りの記憶スペースの前記サイズと前記ターゲットソフトウェアパッケージの前記サイズとの間の関係を取得するステップであって、前記ターゲットソフトウェアパッケージの前記サイズが前記ノードECUに送信される場合、前記ノードECUの前記残りの記憶スペースの前記サイズと前記ターゲットソフトウェアパッケージの前記サイズとの間の前記関係が前記ノードECUから取得され、又は、前記ノードECUの前記残りの記憶スペースの前記サイズが前記マスタECUによって取得される場合、前記ノードECUの前記残りの記憶スペースの前記サイズと前記ターゲットソフトウェアパッケージの前記サイズとの間の前記関係が前記マスタECUによって決定される、ステップと、
前記ノードECUの前記残りの記憶スペースが前記ターゲットソフトウェアパッケージの前記サイズ以上である場合、第1のパラメータを前記OTAサーバに送信するステップであって、前記第1のパラメータの値は、前記ノードECUの前記残りの記憶スペースが前記ターゲットソフトウェアパッケージの前記サイズ以上であることを示すために使用される、ステップ、又は、前記ターゲットソフトウェアパッケージを前記ノードECUに送信するように前記OTAサーバに指示するステッ
プと
を更に含む、請求項25に記載のデータ送信方法。
【請求項27】
前記方法は、
前記マスタECUが、第1のパラメータを前記ノードECUから取得するステップであって、前記第1のパラメータの値は、前記ノードECUの前記残りの記憶スペースが前記ターゲットソフトウェアパッケージの前記サイズ以上であることを示すために使用される、ステップを更に含み、前記ターゲットソフトウェアパッケージを前記ノードECUに送信するように前記OTAサーバに指示する前記ステップは、
前記第1のパラメータに基づいて、前記ターゲットソフトウェアパッケージを前記ノードECUに送信するように前記OTAサーバに指示する命令を送信するステップ
を更に含む、請求項26に記載のデータ送信方法。
【請求項28】
ノードECUの数はNであり、Nは1より大きい整数であり、
前記第1のパラメータに基づいて、前記ターゲットソフトウェアパッケージを前記ノードECUに送信するように前記OTAサーバに指示する命令を送信する前記ステップは、
前記N個のノードECUに対応するN個の第1のパラメータを取得する際に前記マスタECUが前記ターゲットソフトウェアパッケージを前記ノードECUに送信するように前記OTAサーバに指示する前記命令を送信するステップ
を含む、請求項27に記載のデータ送信方法。
【請求項29】
前記方法は、
前記マスタECUが、前記ターゲットソフトウェアパッケージの前記ダウンロードアドレスを前記OTAサーバから取得するステップと、
第1のパラメータを前記ノードECUから取得するステップとを更に含み、前記ターゲットソフトウェアパッケージのダウンロードアドレスを前記ノードECUに送信する前記ステップは、
前記第1のパラメータに基づいて前記ダウンロードアドレスを前記ノードECUに送信するステップであって、前記第1のパラメータの値は、前記ノードECUの前記残りの記憶スペースが前記ターゲットソフトウェアパッケージの前記サイズ以上であることを示すために使用される、ステップと
を更に含む、請求項26に記載のデータ送信方法。
【請求項30】
ノードECUの数はNであり、Nは1より大きい整数であり、
前記第1のパラメータに基づいて前記ダウンロードアドレスを前記ノードECUに送信する前記ステップは、
前記N個のノードECUに対応するN個の第1のパラメータを取得する際に前記マスタECUが前記ダウンロードアドレスを前記ノードECUに送信するステップ
を含む、請求項29に記載のデータ送信方法。
【請求項31】
ノードECUの数はNであり、Nは1より大きい整数であり、前記方法は、
前記マスタECUが、前記N個のノードECU内の各ノードECUのダウンロードアドレスを前記OTAサーバから取得するステップと、
前記マスタECUが、N個の第1のパラメータを前記N個のノードECUから取得するステップとを更に含み、前記第1のパラメータに基づいて前記ダウンロードアドレスを前記ノードECUに送信する前記ステップは、
前記N個の第1のパラメータ内の各第1のパラメータの値が、前記N個のノードECU内の各ノードECUの残りの記憶スペースが前記N個のノードECU内の前記各ノードECUのためのそれぞれのターゲットソフトウェアパッケージのサイズ以上であることを示す場合にのみ、前記それぞれのターゲットソフトウェアパッケージの前記ダウンロードアドレスを前記N個のノードECU内の各ノードECUに送信するステップ
を更に含む、請求項29に記載のデータ送信方法。
【請求項32】
データ送信方法であって、
ノードECUが、前記ノードECUのターゲットソフトウェアパッケージのサイズをマスタECUから取得するか、又は前記ノードECUの残りの記憶スペースのサイズをマスタECUに送信するステップと、
前記残りの記憶スペースが前記ターゲットソフトウェアパッケージの前記サイズ以上である場合、OTAサーバから前記ターゲットソフトウェアパッケージを受信するステップと
を含
み、前記データ送信方法は、
前記ノードECUが、前記ターゲットソフトウェアパッケージのダウンロードアドレスを前記マスタECUから取得するステップと、
前記ターゲットソフトウェアパッケージを要求するための前記ダウンロードアドレスを含むメッセージを前記OTAサーバに送信するステップと
を更に含むデータ送信方法。
【請求項33】
前記ターゲットソフトウェアパッケージは、前記ノードECUによって前記OTAサーバに要求され、前記ターゲットソフトウェアパッケージは、前記ノードECUの前記残りの記憶スペースの前記サイズと前記ターゲットソフトウェアパッケージの前記サイズとの間の関係に基づいて前記マスタECUによって指示された前記OTAサーバによって送信される、又は前記ノードECUの前記残りの記憶スペースの前記サイズと前記ターゲットソフトウェアパッケージの前記サイズとの間の前記関係に基づいて前記OTAサーバによって前記ターゲットソフトウェアパッケージが送信される、請求項32に記載のデータ送信方法。
【請求項34】
前記方法は、
前記ノードECUの前記ターゲットソフトウェアパッケージの前記サイズが前記ノードECUによって取得される場合、前記ノードECUが、前記ノードECUの前記残りの記憶スペースの前記サイズと前記ターゲットソフトウェアパッケージの前記サイズとの間の前記関係を決定するステップと、
前記ノードECUが、第1のパラメータを前記マスタECUに送信するステップであって、前記第1のパラメータの値は、前記ノードECUの前記残りの記憶スペースが前記ターゲットソフトウェアパッケージの前記サイズ以上であることを示すために使用され、前記ターゲットソフトウェアパッケージは、前記第1のパラメータに基づいて、前記マスタECUによって指示された前記OTAサーバによって送信される、ステップ
を更に含む、請求
項33に記載のデータ送信方法。
【請求項35】
前記方法は、
前記ノードECUの前記ターゲットソフトウェアパッケージの前記サイズが前記ノードECUによって取得される場合、前記ノードECUが、前記ノードECUの前記残りの記憶スペースの前記サイズと前記ターゲットソフトウェアパッケージの前記サイズとの間の前記関係を決定するステップと、
前記ノードECUが、第1のパラメータを前記マスタECUに送信するステップであって、前記第1のパラメータの値は、前記ノードECUの前記残りの記憶スペースが前記ターゲットソフトウェアパッケージの前記サイズ以上であることを示すために使用される、ステップと
、
を更に含む、請求
項33に記載のデータ送信方法。
【請求項36】
プログラムを含むコンピュータ可読記憶媒体であって、前記プログラムがコンピュータ上で実行されると、前記コンピュータは、請求項22から35のいずれか一項に記載の方法を実行することが可能になる、コンピュータ可読記憶媒体。
【請求項37】
インテリジェント車両であって、前記インテリジェント車両は、マスタ電子制御ユニット(ECU)とノードECUとを備え、前記マスタECUは、請求項11から17のいずれか一項に記載のマスタECUであり、前記ノードECUは、請求項18から21のいずれか一項に記載のノードECUである、インテリジェント車両。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、車両ネットワーク技術の分野に関し、特に、データ送信システム、データ送信方法、インテリジェント車両、及び装置に関する。
【背景技術】
【0002】
自動車オープンシステムアーキテクチャ(AutoSar:Automotive Open System Architecture)は、世界的な自動車製造業者、部品供給業者、及び電子ソフトウェアシステム会社によって共同で確立されたオープンで標準化されたソフトウェアアーキテクチャである。これは、100年以上にわたって開発された自動車技術における経験の集約である。AutoSarは、一連のシステムサービスインターフェースを定義する。これらのインターフェースは、異なるソフトウェアの互換性及び相互運用性を実装するために使用可能であり、それによって、自動車ソフトウェア開発を簡略化し、異なるモデルの車両上のソフトウェア展開を促進する。
【0003】
AutoSarでは、オーバージエア(OTA:over the air)技術を使用することによって車両内のソフトウェアのアップグレードを実施し得る。ソフトウェアパッケージは、OTA技術を使用することによって、クラウドサーバからローカルにダウンロードすることができる。車両は、複数の電子制御ユニット(ECU:electronic control units)を含み、複数のECUは、それぞれソフトウェアアップグレード要件を有するので、更新及び構成管理マスタ(UCM Master:update and configuration management master)モジュールが複数のECUの少なくとも1つにインストールされる必要があり、更新及び構成管理(UCM:update and configuration management)モジュールが、ソフトウェアアップグレード要件を有する他のECUのそれぞれにインストールされる必要がある。ソフトウェアパッケージは、OTA技術を使用することによって、クラウドサーバからUCM MasterモジュールがインストールされたECUにダウンロードされ、次いで、UCM MasterモジュールがインストールされたECUによって、UCMモジュールがそれぞれインストールされた複数のECUに分配されて、車両全体のソフトウェアアップグレードが完了する。
【発明の概要】
【0004】
本出願の実施形態は、データ送信システム、データ送信方法、インテリジェント車両、及び装置を提供する。本出願において提供される解決策によれば、OTA技術を使用することによって車載ソフトウェアアップグレードを実施するプロセスにおいて、マスタECUの記憶能力及び処理能力への依存が低減され、アップグレード効率が向上する。
【0005】
上記の目的を達成するために、以下の技術的解決策が本出願の実施形態において提供される。
【0006】
第1の態様によれば、本出願は、データ送信システムを提供する。データ送信システムは、オーバージエア(OTA)サーバと、マスタ電子制御ユニット(ECU)と、ノードECUとを含む。OTAサーバは、マスタECUの第1のインターフェースを呼び出すように構成される。インターフェースは、第1のデバイスと第2のデバイスとの間の対話方法及び規則として理解され得る。マスタECUは、OTAサーバが第1のインターフェースを呼び出したことに応答して、ターゲットソフトウェアパッケージのサイズを取得するように構成される。本出願では、ターゲットソフトウェアパッケージは、代替的に、略してソフトウェアパッケージと呼ばれることがあり、又は、アップグレードパッケージ若しくはソフトウェアアップグレードパッケージと呼ばれる。ソフトウェアパッケージは、ノードECUをアップグレードするためのデータを含む。言い換えると、OTAサーバは、マスタECUの第1のインターフェースを呼び出すことによって、ターゲットソフトウェアパッケージのサイズをマスタECUに送信し得る。マスタECUは、ノードECUの第2のインターフェースを呼び出すように更に構成される。ノードECUは、マスタECUが第2のインターフェースを呼び出したことに応答して、ターゲットソフトウェアパッケージのサイズを取得し、ノードECUの残りの記憶スペースをチェックし、残りの記憶スペースがターゲットソフトウェアパッケージのサイズ以上である場合、OTAサーバによって送信されたターゲットソフトウェアパッケージを受信するように構成される。本出願において提供されるデータ送信システムは、AutoSarであり得る。本出願において提供されるデータ送信システムがAutoSarである場合、マスタECUは、UCM Masterモジュールが車両内のECUにインストールされたECUであり、ノードECUは、UCMモジュールが車両内のECUにインストールされたECUであり、インターフェースは、第1のデバイスの第1のモジュールと第2のデバイスの第2のモジュールとの間の対話方法及び規則として理解され得る。本出願において提供される解決策では、OTAサーバは、複数の方式で、第1のECUのソフトウェアパッケージを第1のECUに送信すべきかどうかを知ることができる。第1の態様から分かるように、第1の態様による解決策では、ノードECUのターゲットソフトウェアパッケージは、OTAサーバによってノードECUに直接送信され、マスタECUは、ノードECUのソフトウェアパッケージをバッファする必要がなく、ノードECUのアップグレードパッケージを転送する必要がない。このようにして、マスタECUは、比較的大きい記憶スペース又は比較的高い処理性能を有する必要がない。OTA技術を使用することによって車載ソフトウェアアップグレードを実施するプロセスにおいて、マスタECUの記憶能力及び処理能力への依存が低減される。
【0007】
任意選択で、第1の態様に関連して、第1の可能な実装形態では、ノードECUは、第1の呼び出し結果をマスタECUに返すように更に構成される。第1の呼び出し結果は第1のパラメータ値を含み、第1のパラメータ値は、ノードECUの残りの記憶スペースがターゲットソフトウェアパッケージのサイズ以上であることを示すために使用される。マスタECUは、第1のパラメータ値を取得する際にOTAサーバの第3のインターフェースを呼び出すように更に構成される。OTAサーバは、マスタECUが第3のインターフェースを呼び出したことに応答して、ターゲットソフトウェアパッケージをノードECUに送信するように更に構成される。第1の態様の第1の可能な実装形態から分かるように、OTAサーバがターゲットソフトウェアパッケージをノードECUに直接送信すべきであることをOTAサーバが知る特定の方式が提供される。第1のパラメータ値が第1の呼び出し結果に追加される方式が使用され得、それにより、OTAサーバは、OTAサーバがターゲットソフトウェアパッケージをノードECUに直接送信すべきであることを知る。
【0008】
任意選択で、第1の態様の第1の可能な実装形態に関連して、第2の可能な実装形態では、第2のインターフェースは、転送開始(TransferStart)インターフェースである。TransferStartインターフェースは、AutoSarで定義されているインターフェースである。第1の態様の第2の可能な実装形態では、AutoSarによって定義された既存のTransferStartインターフェースの呼び出し結果にパラメータが追加され、このパラメータを使用して、ターゲットソフトウェアパッケージをノードECUに送信するようにOTAサーバに指示し得る。第1の態様の第2の可能な実装形態から分かるように、この解決策では、AutoSarによって指定された既存のソフトウェアアップグレード手順がわずかに変更される。ノードECUのTransferStartインターフェースの呼び出し結果にパラメータが追加され、パラメータがOTAサーバにフィードバックされ、それにより、OTAサーバは、分散ダウンロードを実行することができることを知り、マスタECUを使用せずにノードECUのターゲットソフトウェアパッケージをノードECUに直接送信する。
【0009】
任意選択で、第1の態様、第1の態様の第1の可能な実装形態、又は第1の態様の第2の可能な実装形態に関連して、第3の可能な実装形態では、ノードECUの数はNであり、Nは1より大きい整数である。マスタECUは、N個の第1のパラメータ値を取得する際にOTAサーバの第3のインターフェースを呼び出すように特に構成される。第1の態様の第3の可能な実装形態から分かるように、データ送信システムが複数のノードECUを含む場合、マスタECUは、複数のノードECU内の各ノードECUの残りの記憶スペースが各ノードECUのソフトウェアパッケージのサイズ以上であることをマスタECUが知った場合にのみ、OTAサーバの第3のインターフェースを呼び出し、それにより、OTAサーバは、ソフトウェアパッケージを各ノードECUに送信する。OTAサーバの第3のインターフェースが呼び出された後、OTAサーバは、ソフトウェアパッケージを各ノードECUに別々に送信してもよいし、それぞれのソフトウェアパッケージを複数のノードECUに同時に送信してもよい。第1の態様の第3の可能な実装形態から分かるように、マスタECUは、全てのノードECUの残りの記憶スペースが十分であるかどうかを事前に知ることができ、全てのノードECUの残りの記憶スペースがそれぞれのソフトウェアパッケージを記憶するのに十分である場合にのみ、ソフトウェアパッケージが送信される。これにより、ダウンロードプロセスにおける一部のノードECUのリソースの不足によって引き起こされるアップグレード失敗を防止し、アップグレード失敗によって引き起こされるユーザトラフィック消費及びリソース浪費を低減する。加えて、この実装形態では、第2のインターフェースは、この解決策におけるAutoSarにおいて新たに定義されたインターフェースとして理解され得る。マスタECUは、一度に複数の第1の呼び出し結果を取得するために、複数のノードECUの第2のインターフェースを呼び出し得る。
【0010】
任意選択で、第1の態様、第1の態様の第1の可能な実装形態、又は第1の態様の第2の可能な実装形態に関連して、第4の可能な実装形態では、ノードECUの数はNであり、Nは1より大きい整数である。マスタECUは、M個の第1のパラメータ値を取得する際にOTAサーバの第3のインターフェースを呼び出さないように特に構成され、Mは、Nより小さく、1より大きい整数である。第1の態様の第3の可能な実装形態から分かるように、複数のノードECU内の各ノードECUの残りの記憶スペースが各ノードECUのソフトウェアパッケージのサイズ以上であることをマスタECUが把握しない場合、マスタECUは、OTAサーバの第3のインターフェースを呼び出さない。言い換えると、複数のノードECUのうちの一部のノードECUの残りの記憶スペースが、ノードECUのソフトウェアパッケージを記憶するのに不十分である場合、OTAサーバは、複数のノードECUのうちのいずれのノードECUにもソフトウェアパッケージを送信しない。これにより、ダウンロードプロセスにおける一部のノードECUのリソースの不足によって引き起こされるアップグレード失敗を防止し、アップグレード失敗によって引き起こされるユーザトラフィック消費及びリソース浪費を低減する。
【0011】
任意選択で、第1の態様に関連して、第5の可能な実装形態では、マスタECUは、OTAサーバが第1のインターフェースを呼び出したことに応答して、ターゲットソフトウェアパッケージのダウンロードアドレスを取得するように更に構成される。ノードECUは、第1の呼び出し結果をマスタECUに返すように更に構成される。第1の呼び出し結果は第1のパラメータ値を含み、第1のパラメータ値は、ノードECUの残りの記憶スペースがターゲットソフトウェアパッケージのサイズ以上であることを示すために使用される。第1の態様の第4の可能な実装形態から分かるように、OTAサーバがターゲットソフトウェアパッケージをノードECUに直接送信すべきであることをOTAサーバが知り、OTAサーバが、ノードECUのターゲットソフトウェアパッケージのダウンロードアドレスをマスタECUに送信し得、ノードECUの残りの記憶スペースがノードECUのターゲットソフトウェアパッケージを記憶するのに十分である場合、マスタECUが、ダウンロードアドレスをノードECUに送信し、ノードECUが、ダウンロードアドレスに基づいて、ノードECUのターゲットソフトウェアパッケージを送信するようにOTAサーバに要求し得る特定の方式が提供される。
【0012】
任意選択で、第1の態様の第5の可能な実装形態に関連して、第6の可能な実装形態では、第1のインターフェースは、移送ビークルパッケージ(TransferVehiclePackage)インターフェースである。TransferVehiclePackageインターフェースは、AutoSarにおいて定義されるインターフェースである。第1の態様の第6の可能な実装形態では、この解決策において、ターゲットソフトウェアパッケージのダウンロードアドレスが既存のTransferVehiclePackageインターフェースに追加され、マスタECUは、TransferVehiclePackageインターフェースを使用することによってターゲットソフトウェアパッケージのダウンロードアドレスを取得し得る。これは、OTAサーバがAutoSarに基づいてソフトウェアパッケージをノードECUに直接送信する特定の方式を提供し、その結果、解決策の多様性が向上する。
【0013】
任意選択で、第1の態様の第5の可能な実装形態又は第1の態様の第6の可能な実装形態に関連して、第7の可能な実装形態では、ノードECUの数はNであり、Nは1より大きい整数である。マスタECUは、N個の第1のパラメータ値を取得する際にノードECUの第4のインターフェースを呼び出すように特に構成される。第1の態様の第7の可能な実装形態から分かるように、データ送信システムが複数のノードECUを含む場合、マスタECUは、複数のノードECU内の各ノードECUの残りの記憶スペースが各ノードECUのソフトウェアパッケージのサイズ以上であることをマスタECUが知った場合にのみ、ノードECUの第4のインターフェースを呼び出し、それにより、ノードECUは、ソフトウェアパッケージのダウンロードアドレスを取得する。複数のノードECU内の各ノードECUの残りの記憶スペースが各ノードECUのソフトウェアパッケージのサイズ以上であることをマスタECUが知った場合、各ノードECUは、OTAから取得されたソフトウェアパッケージ送信シーケンスに従って各ノードECUのソフトウェアパッケージのダウンロードアドレスを取得することを可能になり得る。代替的に、それぞれのソフトウェアパッケージのダウンロードアドレスが複数のノードECUに同時に送信されてもよい。第1の態様の第7の可能な実装形態から分かるように、全てのノードECUの残りの記憶スペースがそれぞれのソフトウェアパッケージを記憶するのに十分である場合にのみ、ソフトウェアパッケージが送信される。これにより、ダウンロードプロセスにおける一部のノードECUのリソースの不足によって引き起こされるアップグレード失敗を防止し、アップグレード失敗によって引き起こされるユーザトラフィック消費及びリソース浪費を低減する。
【0014】
任意選択で、第1の態様の第5の可能な実装形態又は第1の態様の第6の可能な実装形態に関連して、第8の可能な実装形態では、ノードECUの数はNであり、Nは1より大きい整数である。マスタECUは、M個の第1のパラメータ値を取得する際にノードECUの第4のインターフェースを呼び出さないように特に構成され、Mは、Nより小さく、1より大きい整数である。第1の態様の第8の可能な実装形態から分かるように、複数のノードECU内の各ノードECUの残りの記憶スペースが各ノードECUのソフトウェアパッケージのサイズ以上であることをマスタECUが把握しない場合、ノードECUの第4のインターフェースは呼び出されない。言い換えると、複数のノードECUのうちの一部のノードECUの残りの記憶スペースが、ノードECUのソフトウェアパッケージを記憶するのに不十分である場合、マスタECUは、複数のノードECUのうちの任意のノードのソフトウェアパッケージのダウンロードアドレスをノードに送信しない。これにより、ダウンロードプロセスにおける一部のノードECUのリソースの不足によって引き起こされるアップグレード失敗を防止し、アップグレード失敗によって引き起こされるユーザトラフィック消費及びリソース浪費を低減する。
【0015】
任意選択で、第1の態様又は第1の態様の第1の可能な実装形態から第1の態様の第6の可能な実装形態に関連して、第9の可能な実装形態では、データ送信システムは、AutoSarに基づくデータ送信システムである。
【0016】
任意選択で、第1の態様又は第1の態様の第1の可能な実装形態から第1の態様の第6の可能な実装形態に関連して、第10の可能な実装形態では、ノードECUは、プロンプトメッセージを送信するように更に構成される。このプロンプトメッセージは、ノードECUがOTAサーバからターゲットソフトウェアパッケージをダウンロードすることを示すために使用される。
【0017】
任意選択で、第1の態様又は第1の態様の第1の可能な実装形態から第1の態様の第6の可能な実装形態に関連して、第11の可能な実装形態では、マスタECUは、プロンプトメッセージを送信するように更に構成される。このプロンプトメッセージは、ノードECUがOTAサーバからターゲットソフトウェアパッケージをダウンロードすることを示すために使用される。
【0018】
第2の態様によれば、本出願は、オーバージエア(OTA)サーバを提供する。OTAサーバは、更新及び構成管理(UCM)モジュールを含む。UCMモジュールは、マスタECUの第1のインターフェースを呼び出すように構成され、OTAサーバが第1のインターフェースを呼び出したことに応答して、マスタECUがターゲットソフトウェアパッケージのサイズを取得し、マスタECUがノードECUの第2のインターフェースを呼び出し、マスタECUが第2のインターフェースを呼び出したことに応答して、ノードECUが、ターゲットソフトウェアパッケージのサイズを取得し、ノードECUの残りの記憶スペースをチェックし、残りの記憶スペースがターゲットソフトウェアパッケージのサイズ以上である場合、ノードECUが、OTAサーバによって送信されたターゲットソフトウェアパッケージを受信する。
【0019】
任意選択で、第2の態様に関連して、第1の可能な実装形態では、UCMモジュールは、マスタECUがUCMモジュールの第3のインターフェースを呼び出したことに応答して、ターゲットソフトウェアパッケージをノードECUに送信するように更に構成される。第3のインターフェースは、UCMモジュールのインターフェースであるとともに、マスタECUが第1のパラメータ値を取得する際にマスタECUによって呼び出されるインターフェースであり、第1のパラメータ値は、ノードECUによってマスタECUに返される第1の呼び出し結果に含まれるパラメータ値であり、第1のパラメータ値は、ノードECUの残りの記憶スペースがターゲットソフトウェアパッケージのサイズ以上であることを示すために使用される。
【0020】
任意選択で、第2の態様に関連して、第2の可能な実装形態では、UCMモジュールは、マスタECUの第1のインターフェースを呼び出すように更に構成され、OTAサーバが第1のインターフェースを呼び出したことに応答して、マスタECUがターゲットソフトウェアパッケージのダウンロードアドレスを取得し、次いで、マスタECUが第4のインターフェースを呼び出したことに応答して、ノードECUが、ターゲットソフトウェアパッケージのダウンロードアドレスを取得し、OTAサーバの第5のインターフェースを呼び出する。UCMモジュールは、ノードECUがUCMモジュールの第5のインターフェースを呼び出したことに応答して、ターゲットソフトウェアパッケージのダウンロードアドレスを受信し、ダウンロードアドレスに従ってターゲットソフトウェアパッケージをノードECUに送信するように更に構成される。
【0021】
第3の態様によれば、本出願は、マスタ電子制御ユニット(ECU)を提供する。マスタECUは、更新及び構成管理マスタ(UCM Master)モジュールを含む。UCM Masterモジュールは、OTAサーバが、UCM Masterモジュールの第1のインターフェースを呼び出したことに応答して、ターゲットソフトウェアパッケージのサイズを取得するように構成される。UCM Masterモジュールは、ノードECUの第2のインターフェースを呼び出すように更に構成され、第2のインターフェースが呼び出されたことに応答して、ノードECUが、ターゲットソフトウェアパッケージのサイズを取得し、ノードECUの残りの記憶スペースをチェックし、残りの記憶スペースがターゲットソフトウェアパッケージのサイズ以上である場合、ノードECUが、OTAサーバによって送信されたターゲットソフトウェアパッケージを受信する。
【0022】
任意選択で、第3の態様に関連して、第1の可能な実装形態では、UCM Masterモジュールは、第1のパラメータ値を取得する際にOTAサーバの第3のインターフェースを呼び出すように更に構成され、第3のインターフェースが呼び出されたことに応答して、OTAサーバがターゲットソフトウェアパッケージをノードECUに送信する。第1のパラメータ値は、ノードECUによってマスタECUに返される第1の呼び出し結果に含まれるパラメータ値であり、第1のパラメータ値は、ノードECUの残りの記憶スペースがターゲットソフトウェアパッケージのサイズ以上であることを示すために使用される。
【0023】
任意選択で、第3の態様の第1の可能な実装形態に関連して、第2の可能な実装形態では、ノードECUの数はNであり、Nは1より大きい整数である。UCM Masterモジュールは、N個の第1のパラメータ値を取得する際にOTAサーバの第3のインターフェースを呼び出すように特に構成される。
【0024】
任意選択で、第3の態様に関連して、第3の可能な実装形態では、UCM Masterモジュールは、OTAサーバが第1のインターフェースを呼び出したことに応答して、ターゲットソフトウェアパッケージのダウンロードアドレスを取得するように更に構成される。UCM Masterモジュールは、第1のパラメータ値を取得する際にノードECUの第4のインターフェースを呼び出すように更に構成され、第4のインターフェースが呼び出されたことに応答して、ノードECUが、ダウンロードアドレスを取得し、OTAサーバの第5のインターフェースを呼び出し、次いで、第5のインターフェースが呼び出されたことに応答して、OTAサーバが、ダウンロードアドレスを受信し、ダウンロードアドレスに従ってターゲットソフトウェアパッケージをノードECUに送信する。第1のパラメータ値は、ノードECUによってマスタECUに返される第1の呼び出し結果に含まれるパラメータ値であり、第1のパラメータ値は、ノードECUの残りの記憶スペースがターゲットソフトウェアパッケージのサイズ以上であることを示すために使用される。
【0025】
任意選択で、第3の態様の第3の可能な実装形態に関連して、第4の可能な実装形態では、ノードECUの数はNであり、Nは1より大きい整数である。UCM Masterモジュールは、N個の第1のパラメータ値を取得する際にノードECUの第4のインターフェースを呼び出すように特に構成される。
【0026】
第4の態様によれば、本出願は、ノード電子制御ユニット(ECU)を提供する。ノードECUは、更新及び構成管理(UCM)モジュールを含む。UCMモジュールは、マスタECUの第1のインターフェースが呼び出された後にマスタECUがUCMモジュールの第2のインターフェースを呼び出したことに応答して、ターゲットソフトウェアパッケージのサイズを取得し、ノードECUの残りの記憶スペースをチェックし、残りの記憶スペースがターゲットソフトウェアパッケージのサイズ以上である場合、OTAサーバによって送信されたターゲットソフトウェアパッケージを受信するように構成される。マスタECUの第1のインターフェースは、OTAサーバによって呼び出され、第1のインターフェースが呼び出されたことに応答して、マスタECUが、ターゲットソフトウェアパッケージのサイズを取得する。
【0027】
任意選択で、第4の態様に関連して、第1の可能な実装形態では、UCMモジュールは、第1の呼び出し結果をマスタECUに返すように更に構成される。第1の呼び出し結果は第1のパラメータ値を含み、第1のパラメータ値は、ノードECUの残りの記憶スペースがターゲットソフトウェアパッケージのサイズ以上であることを示すために使用され、マスタECUは、第1のパラメータ値を取得する際にOTAサーバの第3のインターフェースを呼び出し、次いで、マスタECUが第3のインターフェースを呼び出したことに応答して、OTAサーバがターゲットソフトウェアパッケージをノードECUに送信する。
【0028】
任意選択で、第4の態様に関連して、第2の可能な実装形態では、UCMモジュールは、第1の呼び出し結果をマスタECUに返すように更に構成される。第1の呼び出し結果は第1のパラメータ値を含み、第1のパラメータ値は、ノードECUの残りの記憶スペースがターゲットソフトウェアパッケージのサイズ以上であることを示すために使用され、マスタECUは、第1のパラメータ値を取得する際にノードECUの第4のインターフェースを呼び出す。UCMモジュールは、マスタECUが第4のインターフェースを呼び出したことに応答して、ターゲットソフトウェアパッケージのダウンロードアドレスを取得し、OTAサーバの第5のインターフェースを呼び出し、第5のインターフェースが呼び出されたことに応答して、OTAサーバが、ダウンロードアドレスを受信し、ダウンロードアドレスに従ってターゲットソフトウェアパッケージをノードECUに送信するように更に構成される。
【0029】
第5の態様によれば、本出願は、OTAサーバが、マスタECUの第1のインターフェースを呼び出し、OTAサーバが第1のインターフェースを呼び出したことに応答して、マスタECUがターゲットソフトウェアパッケージのサイズを取得し、マスタECUがノードECUの第2のインターフェースを呼び出し、マスタECUが第2のインターフェースを呼び出したことに応答して、ノードECUが、ターゲットソフトウェアパッケージのサイズを取得し、ノードECUの残りの記憶スペースをチェックし、残りの記憶スペースがターゲットソフトウェアパッケージのサイズ以上である場合、ノードECUが、OTAサーバによって送信されたターゲットソフトウェアパッケージを受信することを含むデータ送信方法を提供する。
【0030】
任意選択で、第5の態様に関連して、第1の可能な実装形態では、方法は、マスタECUがUCMモジュールの第3のインターフェースを呼び出したことに応答して、OTAサーバがターゲットソフトウェアパッケージをノードECUに送信することを更に含む。第3のインターフェースは、OTAサーバのインターフェースであるとともに、マスタECUが第1のパラメータ値を取得する際にマスタECUによって呼び出されるインターフェースであり、第1のパラメータ値は、ノードECUによってマスタECUに返される第1の呼び出し結果に含まれるパラメータ値であり、第1のパラメータ値は、ノードECUの残りの記憶スペースがターゲットソフトウェアパッケージのサイズ以上であることを示すために使用される。
【0031】
任意選択で、第5の態様に関連して、第2の可能な実装形態では、方法は、OTAサーバがマスタECUの第1のインターフェースを呼び出し、OTAサーバが第1のインターフェースを呼び出したことに応答して、マスタECUがターゲットソフトウェアパッケージのダウンロードアドレスを取得し、次いで、マスタECUが第4のインターフェースを呼び出したことに応答して、ノードECUが、ターゲットソフトウェアパッケージのダウンロードアドレスを取得し、OTAサーバの第5のインターフェースを呼び出すことを更に含む。ノードECUがUCMモジュールの第5のインターフェースを呼び出したことに応答して、OTAサーバがターゲットソフトウェアパッケージのダウンロードアドレスを受信し、ダウンロードアドレスに従ってターゲットソフトウェアパッケージをノードECUに送信する。
【0032】
第6の態様によれば、本出願は、マスタECUが、OTAサーバがUCM Masterモジュールの第1のインターフェースを呼び出したことに応答して、ターゲットソフトウェアパッケージのサイズを取得することを含むデータ送信方法を提供する。マスタECUがノードECUの第2のインターフェースを呼び出し、第2のインターフェースが呼び出されたことに応答して、ノードECUが、ターゲットソフトウェアパッケージのサイズを取得し、ノードECUの残りの記憶スペースをチェックし、残りの記憶スペースがターゲットソフトウェアパッケージのサイズ以上である場合、ノードECUが、OTAサーバによって送信されたターゲットソフトウェアパッケージを受信する。
【0033】
任意選択で、第6の態様に関連して、第1の可能な実装形態では、方法は、マスタECUが、第1のパラメータ値を取得する際にOTAサーバの第3のインターフェースを呼び出し、第3のインターフェースが呼び出されたことに応答して、OTAサーバがターゲットソフトウェアパッケージをノードECUに送信することを更に含む。第1のパラメータ値は、ノードECUによってマスタECUに返される第1の呼び出し結果に含まれるパラメータ値であり、第1のパラメータ値は、ノードECUの残りの記憶スペースがターゲットソフトウェアパッケージのサイズ以上であることを示すために使用される。
【0034】
任意選択で、第6の態様の第1の可能な実装形態に関連して、第2の可能な実装形態では、ノードECUの数はNであり、Nは1より大きい整数である。第1のパラメータ値を取得する際にマスタECUがOTAサーバの第3のインターフェースを呼び出すことは、N個の第1のパラメータ値を取得する際にマスタECUがOTAサーバの第3のインターフェースを呼び出すことを含む。
【0035】
任意選択で、第6の態様に関連して、第3の可能な実装形態では、方法は、OTAサーバが第1のインターフェースを呼び出したことに応答して、マスタECUがターゲットソフトウェアパッケージのダウンロードアドレスを取得することを更に含む。マスタECUが、第1のパラメータ値を取得する際にノードECUの第4のインターフェースを呼び出し、第4のインターフェースが呼び出されたことに応答して、ノードECUが、ダウンロードアドレスを取得し、OTAサーバの第5のインターフェースを呼び出し、次いで、第5のインターフェースが呼び出されたことに応答して、OTAサーバが、ダウンロードアドレスを受信し、ダウンロードアドレスに従ってターゲットソフトウェアパッケージをノードECUに送信する。第1のパラメータ値は、ノードECUによってマスタECUに返される第1の呼び出し結果に含まれるパラメータ値であり、第1のパラメータ値は、ノードECUの残りの記憶スペースがターゲットソフトウェアパッケージのサイズ以上であることを示すために使用される。
【0036】
任意選択で、第6の態様の第3の可能な実装形態に関連して、第4の可能な実装形態では、ノードECUの数はNであり、Nは1より大きい整数である。第1のパラメータ値を取得する際にマスタECUがノードECUの第4のインターフェースを呼び出すことは、N個の第1のパラメータ値を取得する際にマスタECUがノードECUの第4のインターフェースを呼び出すことを含む。
【0037】
第7の態様によれば、本出願は、マスタECUの第1のインターフェースが呼び出された後にマスタECUがUCMモジュールの第2のインターフェースを呼び出したことに応答して、ノードECUが、ターゲットソフトウェアパッケージのサイズを取得し、ノードECUの残りの記憶スペースをチェックし、残りの記憶スペースがターゲットソフトウェアパッケージのサイズ以上である場合、ノードECUが、OTAサーバによって送信されたターゲットソフトウェアパッケージを受信することを含むデータ送信方法を提供する。マスタECUの第1のインターフェースは、OTAサーバによって呼び出され、第1のインターフェースが呼び出されたことに応答して、マスタECUが、ターゲットソフトウェアパッケージのサイズを取得する。
【0038】
任意選択で、第7の態様に関連して、第1の可能な実装形態では、方法は、ノードECUが第1の呼び出し結果をマスタECUに返すことを更に含む。第1の呼び出し結果は第1のパラメータ値を含み、第1のパラメータ値は、ノードECUの残りの記憶スペースがターゲットソフトウェアパッケージのサイズ以上であることを示すために使用され、マスタECUは、第1のパラメータ値を取得する際にOTAサーバの第3のインターフェースを呼び出し、次いで、マスタECUが第3のインターフェースを呼び出したことに応答して、OTAサーバがターゲットソフトウェアパッケージをノードECUに送信する。
【0039】
任意選択で、第7の態様に関連して、第2の可能な実装形態では、方法は、ノードECUが第1の呼び出し結果をマスタECUに返すことを更に含む。第1の呼び出し結果は第1のパラメータ値を含み、第1のパラメータ値は、ノードECUの残りの記憶スペースがターゲットソフトウェアパッケージのサイズ以上であることを示すために使用され、マスタECUは、第1のパラメータ値を取得する際にノードECUの第4のインターフェースを呼び出す。マスタECUが第4のインターフェースを呼び出したことに応答して、ノードECUが、ターゲットソフトウェアパッケージのダウンロードアドレスを取得し、OTAサーバの第5のインターフェースを呼び出し、第5のインターフェースが呼び出されたことに応答して、OTAサーバが、ダウンロードアドレスを受信し、ダウンロードアドレスに従ってターゲットソフトウェアパッケージをノードECUに送信する。
【0040】
第8の態様によれば、本出願はOTAサーバを提供する。OTAサーバはプロセッサを含み得、プロセッサはメモリに結合され、メモリはプログラム命令を記憶し、メモリに記憶されたプログラム命令がプロセッサによって実行されると、第5の態様及び第5の態様の可能な実装形態のうちのいずれか1つによる方法が実装される。
【0041】
第9の態様によれば、本出願はECUを提供する。ECUはプロセッサを含み得、プロセッサはメモリに結合され、メモリはプログラム命令を記憶し、メモリに記憶されたプログラム命令がプロセッサによって実行されると、第6の態様及び第6の態様の可能な実装形態のうちのいずれか1つによる方法が実装される。
【0042】
第10の態様によれば、本出願はECUを提供する。ECUはプロセッサを含み得、プロセッサはメモリに結合され、メモリはプログラム命令を記憶し、メモリに記憶されたプログラム命令がプロセッサによって実行されると、第7の態様及び第7の態様の可能な実装形態のうちのいずれか1つによる方法が実装される。
【0043】
第11の態様によれば、本出願は、コンピュータ可読記憶媒体を提供する。コンピュータ可読記憶媒体は、プログラムを含み得る。プログラムがコンピュータ上で実行されると、コンピュータは、第5の態様及び第5の態様の可能な実装形態のいずれか1つによる方法を実行することが可能になる。
【0044】
第12の態様によれば、本出願は、コンピュータ可読記憶媒体を提供する。コンピュータ可読記憶媒体は、プログラムを含み得る。プログラムがコンピュータ上で実行されると、コンピュータは、第6の態様及び第6の態様の可能な実装形態のいずれか1つによる方法を実行することが可能になる。
【0045】
第13の態様によれば、本出願は、コンピュータ可読記憶媒体を提供する。コンピュータ可読記憶媒体は、プログラムを含み得る。プログラムがコンピュータ上で実行されると、コンピュータは、第7の態様及び第7の態様の可能な実装形態のいずれか1つによる方法を実行することが可能になる。
【0046】
第14の態様によれば、本出願はチップシステムを提供する。チップシステムは、第6の態様及び第6の態様の可能な実装形態のうちのいずれか1つによる方法における機能を実装するために車両をサポートするように構成されたプロセッサを含み得る。
【0047】
第15の態様によれば、本出願はチップシステムを提供する。チップシステムは、第7の態様及び第7の態様の可能な実装形態のうちのいずれか1つによる方法における機能を実装するために車両をサポートするように構成されたプロセッサを含み得る。
【0048】
第16の態様によれば、本出願はコンピュータプログラム製品を提供する。コンピュータプログラム製品がデバイス上で実行されると、デバイスは、第5の態様及び第5の態様の可能な実装形態のいずれか1つによる方法を実行することが可能になる。
【0049】
第17の態様によれば、本出願は、コンピュータプログラム製品を提供する。コンピュータプログラム製品がデバイス上で実行されると、デバイスは、第6の態様及び第6の態様の可能な実装形態のいずれか1つによる方法を実行することが可能になる。
【0050】
第18の態様によれば、本出願はコンピュータプログラム製品を提供する。コンピュータプログラム製品がデバイス上で実行されると、デバイスは、第7の態様及び第7の態様の可能な実装形態のいずれか1つによる方法を実行することが可能になる。
【0051】
第19の態様によれば、本出願は、インテリジェント車両を提供する。インテリジェント車両は、マスタECU及びノードECUを含み得、マスタECUは、第3の態様及び第3の態様の可能な実装形態のうちのいずれか1つによるECUであり、ノードECUは、第4の態様及び第4の態様の可能な実装形態のうちのいずれか1つによるECUである。
【0052】
第20の態様によれば、本出願は、インテリジェント車両を提供する。インテリジェント車両は、処理回路と記憶回路とを含み、処理回路及び記憶回路は、第6の態様及び第6の態様の可能な実装形態のうちのいずれか1つによる方法を実行するように構成される。
【0053】
第21の態様によれば、本出願は、インテリジェント車両を提供する。インテリジェント車両は、処理回路と記憶回路とを含み、処理回路及び記憶回路は、第7の態様及び第7の態様の可能な実装形態のうちのいずれか1つによる方法を実行するように構成される。
【0054】
本出願は、データ送信システム、データ送信方法、インテリジェント車両、及び装置を提供する。本出願において提供される解決策によれば、マスタECUは、依然として、各ノードECUのアップグレードプロセスを制御する。しかしながら、各ノードECUのソフトウェアパッケージは、OTAサーバによって各ノードECUに直接送信され、マスタECUは、各ノードECUのソフトウェアパッケージをバッファする必要がなく、各ノードECUのアップグレードパッケージを転送する必要がない。このようにして、マスタECUは、比較的大きい記憶スペース又は比較的高い処理性能を有する必要がなく、アップグレード効率を更に向上させることができる。加えて、本出願において提供されるデータ送信システムでは、新しいインターフェースが定義される。全てのノードECUがそれぞれのソフトウェアパッケージを記憶するのに十分な記憶スペースを有する場合、それぞれのソフトウェアパッケージはノードECUに送信される。これにより、ダウンロードプロセスにおける一部のノードECUのリソースの不足によって引き起こされるアップグレード失敗を防止し、アップグレード失敗によって引き起こされるユーザトラフィック消費及びリソース浪費を低減する。アップグレード効率を更に向上させることができる。
【図面の簡単な説明】
【0055】
【
図2】AutoSarにおいてソフトウェアアップグレードを実施するためのアーキテクチャの概略図である。
【
図3】AutoSarにおけるソフトウェアアップグレード手順の概略図である。
【
図4】本出願の一実施形態によるデータ送信方法の概略的なフローチャートである。
【
図5】本出願の一実施形態による別のデータ送信方法の概略フローチャートである。
【
図6】本出願の一実施形態による別のデータ送信方法の概略フローチャートである。
【
図7a】本出願の一実施形態による別のデータ送信方法の概略フローチャートである。
【
図7b】本出願の一実施形態による別のデータ送信方法の概略フローチャートである。
【
図8】本出願の一実施形態によるデータ送信システムの構造の概略図である。
【
図9】本出願の一実施形態による通信デバイスの構造の概略図である。
【
図10】本出願の一実施形態による車両の構造の概略図である。
【
図11】本出願の一実施形態による適用シナリオの概略図である。
【発明を実施するための形態】
【0056】
以下では、添付の図面を参照しながら本出願の実施形態について説明する。説明される実施形態が、本出願の実施形態の全てではなく一部にすぎないことは明らかである。当業者は、技術の発展及び新しいシナリオの出現とともに、本出願の実施形態で提供される技術的解決策が同様の技術的問題にも適用可能であることを知ることができる。
【0057】
本出願の明細書、特許請求の範囲、及び添付の図面では、「第1の」、「第2の」などの用語は、同様のオブジェクトを区別することが意図されており、必ずしも特定の順序又はシーケンスを示すとは限らない。そのような方法で使用されるデータは、適切な場合には交換可能であるので、本明細書で説明する実施形態は、本明細書で図示又は説明する順序以外の順序で実装可能であることを理解されたい。更に、「含む(including)」、「有する(having)」という用語、及びそれらの任意の他の変形は、非排他的な包含をカバーすることが意図されており、例えば、一連のステップ又はモジュールを含むプロセス、方法、システム、製品、又はデバイスは、明確に列挙されているステップ又はモジュールに必ずしも限定されるのではなく、明確に列挙されていないか、又はそのようなプロセス、方法、製品、若しくはデバイスに固有の他のステップ又はモジュールを含み得る。本出願におけるステップの命名又は番号付けは、方法手順におけるステップが、命名又は番号付けによって示される時間/論理シーケンスに従って実行される必要があることを意味しない。命名又は番号付けがなされた手順におけるステップの実行シーケンスは、同じ又は同様の技術的効果が達成され得るという条件で、達成されるべき技術的目的に従って変更され得る。本出願におけるモジュールへの分割は、論理的な分割である。実際の適用時には別の分割方式があり得る。例えば、複数のモジュールが別のシステムに組み合わされるか又は統合されてもよいし、いくつかの特徴が無視されるか又は実行されなくてもよい。加えて、表示又は議論される相互結合又は直接結合又は通信接続は、いくつかのインターフェースを使用することによって実装され得る。モジュール間の間接結合又は通信接続は、電子的形態又は別の同様の形態で実装され得る。これは、本出願において限定されない。加えて、別個の部分として説明されるモジュール又はサブモジュールは、物理的に別個であってもなくてもよいし、物理的モジュールであってもなくてもよいし、複数の回路モジュール上に分散されていてもよい。モジュールの一部又は全部は、本出願の解決策の目的を実装するための実際の要件に基づいて選択され得る。
【0058】
AutoSarは、世界的な自動車製造業者、部品供給業者、及び電子ソフトウェアシステム会社によって共同で確立されたオープンで標準化されたソフトウェアアーキテクチャである。これは、100年以上にわたって開発された自動車技術における経験の集約である。AutoSarは、一連のシステムサービスインターフェースを定義する。これらのインターフェースは、異なるソフトウェアの互換性及び相互運用性を実装するために使用可能であり、それによって、自動車ソフトウェア開発を簡略化し、異なるモデルの車両上のソフトウェア展開を促進する。AutoSarは、主に以下の特徴を有する。
【0059】
a.AutoSarは、ハードウェアプラットフォーム間の差異によって引き起こされるソフトウェア開発の困難性を解決することに専念し、その結果、開発者は、自動車ソフトウェア機能におけるイノベーションに集中することができる。
【0060】
b.AutoSarは、標準ソフトウェアインターフェース定義を提供する。エンジニアは、標準ソフトウェアコンポーネントの再利用性を実現するために、実際の要求に基づいて、必要なソフトウェアコンポーネントを車両の電子制御ユニット(ECU:electronic control unit)に割り当てることができる。
【0061】
c.AutoSarのアプリケーション層ソフトウェアコンポーネントは、ハードウェアから独立しており、従って、アプリケーション開発者は、最下位層ソフトウェアサービスとハードウェアインターフェースとの間の非互換性の問題を心配することなく、アプリケーションソフトウェアにおいて各車両機能の詳細を指定することができる。
【0062】
図1は、AutoSarの概略図である。通常、AutoSarは、アプリケーション層(application layer)とサービス層(services layer)とを含むと考えられ得る。
【0063】
アプリケーション層は、特定のモジュール機能の実装及び対応する記述を含む、自動車電子機器の機能及び挙動の一部又は全部をカプセル化し、定義されたインターフェースのみを外部に開放する。
【0064】
サービス層の主なサービスには、通信管理サービス(COM:communication management)、暗号サービス(CRYPTO:cryptography)、ログサービス(LOG:logging&tracing)、診断サービス(DIAG:diagnostics service)、永続記憶サービス(PER:persistency)、状態管理サービス(SM:state management)、実行管理サービス(EXEC:execution management)、時刻同期サービス(TSYNC:time synchronization)、更新及び構成管理サービス(UCM:update and configuration management)、更新及び構成管理マスタサービス(UCM Master:update and configuration management master)などが含まれる。本出願において提供される解決策は、主に、サービス層におけるUCM及びUCM Masterに関する。本出願において提供される実施形態は、主に、AutoSar内のサービス層におけるUCM及びUCM Masterに焦点を当てる。UCM及びUCM Masterは、車両内の車両ソフトウェアの更新及びアップグレードを管理する役割を担う。既存の規格は、UCMとUCM Masterサービスとの間のインターフェース及び対話手順を定義する。自動車のユーザ又は製造業者は、これらのインターフェースを使用することによって、AutoSarシステムにおいてソフトウェアのインストール、更新、及びアンインストールを容易に行うことができる。
図2及び
図3を参照して、以下に、AutoSar内のUCMを使用することによって車両内の自動車ソフトウェアをアップグレードするプロセスについて説明する。
【0065】
図2は、AutoSarにおいてソフトウェアアップグレードを実施するためのアーキテクチャの概略図である。AutoSarでは、OTA技術を使用することによって、車両内のソフトウェアのアップグレードを実施することができる。OTAは、自動車ソフトウェアが、無線通信インターフェース、例えば、ワイヤレスフィデリティ(Wi-Fi:wireless fidelity)、ロングタームエボリューション(LTE:long term evolution)、又は第5世代移動通信(5G:5th generation)を使用することによって更新又はアップグレードされることを意味する。OTAアップグレードは、固定の場所又は固定回線に依存しないので、OTAアップグレードは、従来の自動車ソフトウェアアップグレード方法にはない柔軟性及び利便性を有する。ソフトウェアアップグレードパッケージは、OTA技術を使用することによって、クラウドサーバからローカルにダウンロードすることができる。本出願では、クラウドサーバは、代替的に、OTAサーバ、OTAクラウド、又はOTAクラウドサーバと呼ばれることがあり、これらの用語は同じ意味を示す。本出願におけるローカルは、車両内のECUを指す。車両は複数のECUを含み、複数のECUのソフトウェアはアップグレード要件を有し、複数のECUのアップグレードシーケンスは依存関係を有し得、すなわち、複数のECUのソフトウェアアップグレードシーケンスは制御される必要がある。加えて、アップグレード条件、例えば、駆動状態でソフトウェアをアップグレードすることができるかどうか、又はユーザの同意が得られた後にのみソフトウェアをアップグレードすることができるかどうかが更に制限され得る。従って、複数のECUのうちの少なくとも1つに制御モジュールをインストールして、複数のECUのソフトウェアアップグレードを調整する必要がある。AutoSarでは、このモジュールは、UCM Master(UCM Master)モジュールである。通常、UCM Masterモジュールは、ゲートウェイ又はテレマティクスボックス(TBOX:telematics box)にインストールされ得る。加えて、車両内の他のECU上にはUCMモジュールがインストールされ、それにより、UCM MasterモジュールがインストールされたECUが、アップグレードされる必要がある他のECU上のUCMモジュールを制御及び調整して、車両全体のソフトウェアアップグレードを完了する。以下に、
図3を参照して、AutoSarにおけるソフトウェアアップグレード及びダウンロードの対話プロセスについて説明する。以下、UCM MasterモジュールがインストールされたECUをマスタECUと呼び、UCMモジュールがインストールされたECUをノードECUと呼ぶ。
【0066】
図3は、AutoSarにおけるソフトウェアアップグレード手順の概略図である。
図3に示すように、送信システムは、OTAサーバと、マスタECUと、複数のノードECUとを備える。例えば、
図3には、ノードECU1とノードECU2という2つのノードECUが示されている。マスタECUは、車両内のECUのうちUCM MasterモジュールがインストールされたECUであり、ノードECUは、車両内のECUのうちUCMモジュールがインストールされたECUである。AutoSarにおけるソフトウェアアップグレード手順は、以下のステップを含み得る。
【0067】
301:OTAサーバが、マスタECUのTransferVehiclePackageインターフェースを呼び出す。
【0068】
OTAサーバは、マスタECUのUCM MasterモジュールのTransferVehiclePackageインターフェースを呼び出す。UCM Masterモジュールは、代替的に、本出願ではUCM Masterサービスと呼ばれることもあることに留意されたい。加えて、本出願におけるマスタECUのインターフェースは、マスタECUのUCM Masterモジュールのインターフェースであることに留意されたい。詳細については、改めて後述しない。
【0069】
車両全体のアップグレードパッケージは、主にアップグレードポリシーなどの制御情報を含み、マスタECUは、その情報に基づいて各ノードECUのアップグレード及び更新プロセスを制御し得る。例えば、マスタECUは、制御情報に基づいて各ノードECUのアップグレードシーケンス及びアップグレード条件を制御し得る。アップグレード条件には、駆動状態でソフトウェアをアップグレードすることを許可するかどうか、ユーザの同意が得られた後にのみソフトウェアをアップグレードすることができるかどうか、などが含まれ得る。
【0070】
AutoSarは、UCM Masterモジュールの車両全体のアップグレードパッケージのダウンロード(TransferVehiclePackage)インターフェース全体を定義する。OTAサーバは、マスタECUのTransferVehiclePackageインターフェースを呼び出して、アップグレードポリシーなどの制御情報をマスタECUに送信し得る。具体的には、アップグレードポリシーなどの制御情報は、UCM Masterモジュールに送信される。
【0071】
車両全体のアップグレードパッケージは、各ECUのソフトウェアパッケージに関する情報を更に含む。例えば、ソフトウェアパッケージに関する情報は、パッケージ名及びサイズに関する情報を含み得る。
【0072】
302:OTAサーバが、マスタECUのTransferStartインターフェースを呼び出す。
【0073】
OTAサーバは、マスタECUのUCM MasterサービスのTransferStartインターフェースを呼び出す。
【0074】
本出願では、ソフトウェアパッケージは、代替的に、ソフトウェアアップグレードパッケージ又はアップグレードパッケージと呼ばれることもあり、これらの用語は同じ意味を示し、更新される必要があるECUのソフトウェアコード又はデータを示す。AutoSarは、UCM Masterサービスの転送開始(TransferStart)インターフェースを定義する。OTAサーバは、マスタECUのUCM MasterサービスのTransferStartインターフェースを呼び出して、各ノードECUのソフトウェアアップグレードパッケージの名前をマスタECUに送信し得る。
【0075】
303:マスタECUが、ノードECU1のTransferStartインターフェースを呼び出す。
【0076】
マスタECUは、ノードECU1のUCMモジュールのTransferStartインターフェースを呼び出す。本出願におけるノードECUのインターフェースは、ノードECUのUCMモジュールのインターフェースを指すことに留意されたい。詳細については、改めて後述しない。
【0077】
例えば、ノードECUは、ノードECU1を含む。
【0078】
マスタECUは、ノードECU1のTransferStartインターフェースを呼び出し、ノードECU1のTransferStartインターフェースのパラメータ値は、ノードECU1のソフトウェアアップグレードパッケージのサイズである。ECU1は、TransferStartインターフェースが呼び出されたことに応答して残りの記憶スペースを検出し、残りの記憶スペースがECU1のアップグレードパッケージを記憶するのに十分であるかどうかを決定する。
【0079】
304:ノードECU1が、ノードECU1のTransferStartインターフェースの呼び出し結果を返す。
【0080】
ノードECU1のUCMモジュールは、マスタECUがTransferStartインターフェースを呼び出したことに応答して、TransferStartインターフェースの呼び出し結果をマスタECUに返す。呼び出し結果は、ノードECU1がノードECU1のアップグレードパッケージを記憶するのに十分な残りの記憶スペースを有するかどうかを示し得る。
【0081】
305:マスタECUが、取得されたノードECU1のTransferStartインターフェースの呼び出し結果をOTAサーバにフィードバックする。
【0082】
306:OTAサーバが、マスタECUのTransferDataインターフェースを呼び出す。
【0083】
OTAサーバは、マスタECUのUCM MasterモジュールのTransferDataインターフェースを呼び出す。
【0084】
ステップ305に従って、ノードECU1が十分な記憶スペースを有するとOTAサーバが決定することができる場合、OTAサーバは、ECU1のアップグレードパッケージをマスタECUに送信する。ECU1のアップグレードパッケージは、更新される必要があるECU1のソフトウェアコード又はデータを含み得る。
【0085】
AutoSarは、UCM Masterモジュールのデータ転送(TransferData)インターフェース及びUCMサービスのデータ転送(TransferData)インターフェースを定義する。OTAサーバは、マスタECUのUCM MasterサービスのTransferDataインターフェースを呼び出す。TransferDataインターフェースのパラメータ値は、ECU1のソフトウェアパッケージである。このようにして、ノードECU1のソフトウェアパッケージがマスタECUに送信される。
【0086】
307:マスタECUが、ノードECU1のTransferDataインターフェースを呼び出す。
【0087】
マスタECUは、ノードECU1のUCMモジュールのTransferDataインターフェースを呼び出す。TransferDataインターフェースのパラメータ値は、ECU1のソフトウェアパッケージである。このようにして、ノードECU1のソフトウェアパッケージがノードECU1に送信される。
【0088】
308:ノードECU1が、ノードECU1のTransferDataインターフェースの呼び出し結果を返す。
【0089】
マスタECUがノードECU1のTransferDataインターフェースを呼び出したことに応答して、ノードECU1のUCMモジュールは、受信が成功したか失敗したかをマスタECUに通知するための呼び出し結果を返し得る。
【0090】
309:マスタECUが、ノードECU2のTransferStartインターフェースを呼び出す。
【0091】
マスタECUは、ノードECU2のUCMモジュールのTransferStartインターフェースを呼び出し、ノードECU2のTransferStartインターフェースのパラメータ値は、ノードECU2のソフトウェアアップグレードパッケージのサイズである。ECU2は、TransferStartインターフェースが呼び出されたことに応答して残りの記憶スペースを検出し、残りの記憶スペースがECU2のアップグレードパッケージを記憶するのに十分であるかどうかを決定する。
【0092】
310:ノードECU2が、ノードECU2のTransferStartインターフェースの呼び出し結果を返す。
【0093】
ノードECU2のUCMモジュールは、マスタECUがTransferStartインターフェースを呼び出したことに応答して、TransferStartインターフェースの呼び出し結果をマスタECUに返す。呼び出し結果は、ノードECU2がノードECU2のアップグレードパッケージを記憶するのに十分な残りの記憶スペースを有するかどうかを示し得る。
【0094】
311:マスタECUが、取得されたノードECU2のTransferStartインターフェースの呼び出し結果をOTAサーバにフィードバックする。
【0095】
312:OTAサーバが、マスタECUのTransferDataインターフェースを呼び出す。
【0096】
ステップ309に従って、ノードECU2が十分な記憶スペースを有するとOTAサーバが決定することができる場合、OTAサーバは、ECU2のアップグレードパッケージをマスタECUに送信する。ECU2のアップグレードパッケージは、更新される必要があるECU2のソフトウェアコード又はデータを含む。
【0097】
OTAサーバは、マスタECUのTransferDataインターフェースを呼び出して、ノードECU2のアップグレードパッケージをマスタECUに送信する。
【0098】
313:マスタECUが、ノードECU2のTransferDataインターフェースを呼び出す。
【0099】
例えば、ノードECUは、ノードECU2も含む。
【0100】
マスタECUは、ノードECU2のTransferDataインターフェースを呼び出す。TransferDataインターフェースのパラメータ値は、ECU2のソフトウェアパッケージである。このようにして、ノードECU2のソフトウェアパッケージがノードECU2に送信される。
【0101】
可能な実装形態では、ノードECU2がノードECU2のTransferDataインターフェースの呼び出し結果を返すステップ314が更に含まれ得る。
【0102】
マスタECUがノードECU2のTransferDataインターフェースを呼び出したことに応答して、ノードECU2は、受信が成功したか失敗したかをマスタECUに通知するための呼び出し結果を返し得る。
【0103】
別のアップグレードパッケージのダウンロードが更に含まれる場合、例えば、別のノードECUが更に含まれる場合、アップグレードパッケージをダウンロードするプロセスは、ノードECU1及びノードECU2のアップグレードパッケージをダウンロードするプロセスと同じである。理解のために、ステップ303からステップ308を参照するか、又はステップ309からステップ314を参照されたい。ステップ303からステップ314は、マスタECUがソフトウェアアップグレードパッケージのサイズを各ノードECUに送信して、ノードECUが十分な空きメモリがあるかどうかをチェックできるようにすることを表することを意図している。
【0104】
出願人は、AutoSarにおけるソフトウェアアップグレード手順に欠点があることを見つけた。アップグレードパッケージ送信手順では、マスタECUは、全てのノードECUのソフトウェアパッケージをバッファリングしてから、ノードECUのソフトウェアパッケージを対応するノードECUに転送する必要があり、例えば、ステップ306及びステップ307並びにステップ312及びステップ313が実行される必要がある。この設計は、マスタECUが制御情報に基づいて各ノードECUのアップグレードを制御し、複数のノードECUのアップグレードプロセスを調整することを可能にするものである。例えば、各ノードECUのアップグレードシーケンスを制御することは、各ノードECUのアップグレードパッケージをダウンロードし、インストールし、起動するシーケンスを制御することを含む。しかしながら、この設計は、マスタECUの記憶スペース及び処理性能に対して比較的高い要件を有する。マスタECUの記憶スペースが不十分である場合、アップグレードパッケージのダウンロードが失敗する可能性がある。マスタECUの処理性能が高くない場合、ダウンロード効率が影響を受け、すなわち、アップグレードパッケージの伝送速度が比較的低くなる。これは、車両全体のアップグレード効率に影響を与える。加えて、出願人は、前述の設計では、一部のノードECUが十分な記憶スペースを有していない場合、十分な記憶スペースを有するノードECUが、依然として、それぞれのソフトウェアパッケージをダウンロードする必要があることを見つけた。この場合、アップグレードシーケンスにおいて、十分な記憶スペースを有していないノードECUと十分な記憶スペースを有するノードECUとの間に依存関係がある場合、十分な記憶スペースを有するノードのアップグレードは、アップグレードパッケージがダウンロードされたとしても失敗する可能性がある。その結果として、ストレージリソースが浪費され、アップグレード効率が影響を受ける。例えば、ノードECU1は、十分な記憶スペースを有し、マスタECUからノードECU1のソフトウェアパッケージをダウンロードする。ノードECU2は、十分な記憶スペースを有しておらず、マスタECUは、ノードECU2のソフトウェアパッケージをノードECU2に送信しない。ノードECU1とノードECU2とがアップグレードにおいて依存関係を有する場合、ノードECU1がノードECU1のソフトウェアパッケージをダウンロードしても、ノードECU1のアップグレードが失敗する可能性がある。その結果として、ノードECU1の記憶スペースが浪費され、アップグレード効率も影響を受ける。アップグレードシーケンスにおけるノードECU間の依存関係に加えて、一部のノードECUが十分な記憶スペースを有していないためにアップグレードが失敗することもあり得ることに留意されたい。
【0105】
前述の問題を解決するために、本出願は、データ送信システムを提供する。マスタECUは、依然として、各ノードECUのアップグレードプロセスを制御する。例えば、マスタECUは、各ノードECUのアップグレードステータスを知ることができる。具体的には、本出願では、マスタECUは、依然として、ノードECUのダウンロードステータスを知ること、例えば、ソフトウェアパッケージをダウンロードするように所与のノードECUを制御したり、ソフトウェアパッケージをダウンロードしないように所与のノードECUを制御したり、複数のノードECUがそれぞれのソフトウェアパッケージをダウンロードするシーケンスを制御したりすることができる。言い換えると、マスタECUは、ソフトウェアパッケージを同時にダウンロードするか、又は特定のダウンロードシーケンスでソフトウェアパッケージをダウンロードするように複数のノードECUを制御し得る。代替的に、マスタECUは、ノードECUがソフトウェアパッケージをダウンロードするかどうかを制御してもよい。これに基づいて、すなわち、マスタECUが依然として各ノードECUのアップグレードプロセスを制御することに基づいて、各ノードECUのソフトウェアパッケージは、OTAサーバによって各ノードECUに直接送信され、マスタECUは、各ノードECUのソフトウェアパッケージをバッファする必要がなく、各ノードECUのアップグレードパッケージを転送する必要がない。このようにして、マスタECUは、比較的大きい記憶スペース又は比較的高い処理性能を有する必要がなく、アップグレード効率も向上させることができる。加えて、本出願において提供されるデータ送信システムでは、新しいインターフェースが定義される。全てのノードECUがそれぞれのソフトウェアパッケージを記憶するのに十分な記憶スペースを有する場合、それぞれのソフトウェアパッケージはノードECUに送信される。これにより、アップグレード効率を更に向上させることができる。
【0106】
本出願のこの実施形態において提供されるデータ送信システムは、AutoSarに基づいていてもよいし、車両内のECUをアップグレードするための別のデータ送信システムに基づいていてもよいことに留意されたい。本出願は、例として使用されるAutoSarに基づいて説明される。
【0107】
前述の研究思想に基づいて、以下では、本出願において提供される技術的解決策について具体的に説明する。
【0108】
図4は、本出願の一実施形態によるデータ送信方法の概略フローチャートである。
【0109】
本出願のこの実施形態において提供されるデータ送信方法は、以下のステップを含み得る。
【0110】
401:OTAサーバが、マスタECUのTransferVehiclePackageインターフェースを呼び出す。
【0111】
ステップ401の理解のために、
図3に対応する解決策におけるステップ301を参照されたい。詳細については本明細書で改めて説明しない。
【0112】
402:OTAサーバが、マスタECUのTransferStartインターフェースを呼び出す。
【0113】
ステップ402の理解のために、
図3に対応する解決策におけるステップ302を参照されたい。詳細については本明細書で改めて説明しない。
【0114】
403:マスタECUが、ノードECU1のTransferStartインターフェースを呼び出す。
【0115】
ステップ403の理解のために、
図3に対応する解決策におけるステップ303を参照されたい。詳細については本明細書で改めて説明しない。
【0116】
404:ノードECU1が、ノードECU1のTransferStartインターフェースの呼び出し結果を返す。
【0117】
ノードECU1は、マスタECUがTransferStartインターフェースを呼び出したことに応答して、TransferStartインターフェースの呼び出し結果をマスタECUに返す。呼び出し結果は、ノードECU1がノードECU1のアップグレードパッケージを記憶するのに十分な残りの記憶スペースを有するかどうかを示し得る。
【0118】
加えて、本出願において提供される解決策では、呼び出し結果は、第1のパラメータを更に含み得る。第1のパラメータ値は、ノードECU1のソフトウェアパッケージをノードECU1に直接送信するようにOTAサーバに指示するために使用される。以下では、いくつかの特定の実装形態を参照しながら説明を行う。
【0119】
可能な実装形態では、ノードECU1がノードECU1のアップグレードパッケージを記憶するのに十分な残りの記憶スペースを有する場合、呼び出し結果は、第1のパラメータ値を更に含む。マスタECUは、第1のパラメータ値をOTAサーバにフィードバックし得る。第1のパラメータ値を取得した後、OTAサーバは、マスタECUを使用せずに、ソフトウェアパッケージをノードECU1に直接送信し得る。
【0120】
可能な実装形態では、第1のパラメータが呼び出し結果に追加される。ノードECU1がノードECU1のアップグレードパッケージを記憶するのに十分な残りの記憶スペースを有する場合、第1のパラメータの値はAであり、また、ノードECU1がノードECU1のアップグレードパッケージを記憶するのに十分な残りの記憶スペースを有していない場合、第1のパラメータの値はBである。ここで、A及びBは、十分な残りの記憶スペースがあるとノードECU1が決定する場合と、十分な残りの記憶スペースがないとノードECU1が決定する場合という2つのケースにおける第1のパラメータの異なる値を説明するための例である。ノードECU1は、第1のパラメータをフィードバックして、OTAサーバが、ソフトウェアパッケージをノードECU1に直接送信することができるかどうかを知ることができるようにする。例えば、第1のパラメータの値がAであることをOTAサーバが知った場合、OTAサーバは、マスタECUを使用せずに、ソフトウェアパッケージをノードECU1に直接送信することができる。
【0121】
405:マスタECUが、取得されたノードECU1のTransferStartインターフェースの呼び出し結果をOTAサーバにフィードバックする。
【0122】
マスタECUのUCM Masterモジュールは、取得されたノードECU1のTransferStartインターフェースの呼び出し結果をOTAサーバのUCMモジュールにフィードバックする。
【0123】
この解決策では、ノードECU1がノードECU1のアップグレードパッケージを記憶するのに十分な残りの記憶スペースを有する場合、OTAサーバにフィードバックされる呼び出し結果は第1のパラメータを含む。
【0124】
可能な実装形態では、マスタECUは、OTAサーバのインターフェースを呼び出して、取得されたノードECU1のTransferStartインターフェースの呼び出し結果をOTAサーバに送信し得、このインターフェースが呼び出されたことに応答して、OTAサーバが、ソフトウェアパッケージをノードECUに送信する。本出願では、デバイスが情報を別のデバイスに送信するか、又はアクションを実行するように別のデバイスに指示することは、通常、デバイスが別のデバイスのインターフェースを呼び出すこと、すなわち、デバイスが別のデバイスのインターフェースを呼び出して、情報を別のデバイスに送信するか、又はアクションを実行するように別のデバイスに指示することとして説明されることに留意されたい。詳細については、本出願の実施形態で改めて説明しない。
【0125】
406:OTAサーバが、ノードECU1のTransferDataインターフェースを呼び出す。
【0126】
ノードECU1がノードECU1のアップグレードパッケージを記憶するのに十分な残りの記憶スペースを有する場合、OTAサーバは、ノードECU1のソフトウェアパッケージをノードECU1に直接送信し得、ソフトウェアパッケージは、マスタECUによって転送される必要はない。具体的には、OTAサーバは、第1のパラメータに基づいて、ノードECU1のソフトウェアパッケージをノードECU1に直接送信することができるかどうかを知る。第1のパラメータは、ノードECU1のTransferStartインターフェースの呼び出し結果に含まれるパラメータである。
【0127】
例えば、AutoSarにおいて、OTAサーバは、ノードECU1のTransferDataインターフェースを呼び出し得る。TransferDataインターフェースのパラメータ値は、ECU1のソフトウェアパッケージである。このようにして、ノードECU1のソフトウェアパッケージがノードECU1に送信される。
【0128】
可能な実装形態では、ノードECU1がノードECU1のTransferDataインターフェースの呼び出し結果を返すステップ407が更に含まれ得る。
【0129】
OTAサーバがノードECU1のTransferDataインターフェースを呼び出したことに応答して、ノードECU1は、受信が成功したか失敗したかをOTAサーバに通知するための呼び出し結果を返し得る。
【0130】
408:マスタECUが、ノードECU2のTransferStartインターフェースを呼び出す。
【0131】
例えば、ノードECUは、ノードECU2を更に含み、マスタECUは、ノードECU2のTransferStartインターフェースを呼び出す。
【0132】
409:ノードECU2が、ノードECU2のTransferStartインターフェースの呼び出し結果を返す。
【0133】
410:マスタECUが、取得されたノードECU2のTransferStartインターフェースの呼び出し結果をOTAサーバにフィードバックする。
【0134】
411:OTAサーバが、ノードECU2のTransferDataインターフェースを呼び出す。
【0135】
ノードECU2のTransferDataインターフェースのパラメータ値は、ノードECU2のソフトウェアパッケージである。
【0136】
可能な実装形態では、ノードECU2がノードECU2のTransferDataインターフェースの呼び出し結果を返すステップ412が更に含まれ得る。
【0137】
ステップ408からステップ412の理解のために、ステップ403からステップ407を参照されたい。詳細については本明細書で改めて説明しない。別のノードECUが更に含まれる場合、アップグレードパッケージをダウンロードするプロセスの理解のために、ECU1のアップグレードパッケージをダウンロードするプロセスされたい。すなわち、理解のために、ステップ403からステップ407を参照されたい。
【0138】
図4に対応する実施形態から分かるように、この解決策では、AutoSarによって指定された既存のソフトウェアアップグレード手順がわずかに変更されている。ノードECUのTransferStartインターフェースの呼び出し結果にパラメータが追加され、そのパラメータがOTAサーバにフィードバックされ、それにより、OTAサーバは、分散ダウンロードを実行できることを知り、マスタECUを使用せずに、ノードECUのアップグレードパッケージを対応するノードECUに直接送信する。この解決策では、マスタECUの記憶スペース及び処理性能への依存が低減される。加えて、本出願において提供される解決策によれば、複数のノードECUが同時にダウンロードを実行することができ、これにより、ダウンロード効率が向上する。
【0139】
図4に対応する実施形態で提供される解決策に加えて、本出願は、OTAサーバがアップグレードパッケージをノードECUに直接送信することがAutoSarに基づいて実施され得る別の解決策を更に提供することに留意されたい。加えて、本出願において提供される解決策によれば、マスタECUは、全てのノードECUの残りの記憶スペースが十分であるかどうかを事前に知ることができ、全てのノードECUの残りの記憶スペースがそれぞれのソフトウェアパッケージを記憶するのに十分である場合にのみ、ソフトウェアパッケージが送信される。これにより、ダウンロードプロセスにおける一部のノードECUのリソースの不足によって引き起こされるアップグレード失敗を防止し、アップグレード失敗によって引き起こされるユーザトラフィック消費及びリソース浪費を低減する。以下では、いくつかの特定の実施形態を参照しながら説明を行う。
【0140】
図5は、本出願の一実施形態によるデータ送信方法の概略フローチャートである。
【0141】
501:OTAサーバが、マスタECUのTransferVehiclePackageインターフェースを呼び出す。
【0142】
OTAサーバは、マスタECUのTransferVehiclePackageインターフェースを呼び出して、アップグレードポリシー、並びに各ノードECUのソフトウェアアップグレードパッケージの名前及びサイズなどの制御情報をマスタECUに送信する。例えば、OTAサーバは、マスタECUのTransferVehiclePackageインターフェースを呼び出して、ノードECU1のソフトウェアパッケージの名前及びサイズと、ノードECU2のソフトウェアパッケージの名前及びサイズとをマスタECUに送信する。
【0143】
502:マスタECUが、ノードECU1のターゲットインターフェースを呼び出す。
【0144】
本出願において提供される一実装形態では、新しいインターフェースが定義され、それにより、マスタECUは、全てのノードECUの残りの記憶スペースがそれぞれのソフトウェアパッケージを記憶するのに十分であるかどうかを一元的に知ることができる。
【0145】
ターゲットインターフェースのパラメータ値は、各ノードECUのソフトウェアパッケージのサイズであり得る。例えば、表1は、ターゲットインターフェースを定義する方式を提供する。ターゲットインターフェースの名前がTransferCheckであり、ターゲットインターフェースの入力パラメータ値がソフトウェアパッケージのサイズ(size)であり、ターゲットインターフェースの戻り値が真又は偽であると仮定される。ここで、真は、ノードECUの残りの記憶スペースがノードECUのソフトウェアパッケージを記憶するのに十分であることを表し得、偽は、ノードECUの残りの記憶スペースがノードECUのソフトウェアパッケージを記憶するのに不十分であることを表し得る。
【表1】
【0146】
マスタECUがターゲットインターフェースを呼び出したことに応答して、ノードECUは、ノードECUの記憶スペースがそれぞれのソフトウェアパッケージを記憶するのに十分であるかどうかをチェックする。
【0147】
例としてECU1を使用する。すなわち、マスタECUは、ノードECU1のターゲットインターフェースを呼び出し、ターゲットインターフェースのパラメータ値は、ノードECU1のソフトウェアパッケージのサイズを含む。ノードECU1は、ターゲットインターフェースが呼び出されたことに応答して残りの記憶スペースを検出し、残りの記憶スペースがノードECU1のアップグレードパッケージを記憶するのに十分であるかどうかを決定する。
【0148】
503:ノードECU1が、ノードECU1のターゲットインターフェースの呼び出し結果を返す。
【0149】
ノードECU1は、マスタECUがターゲットインターフェースを呼び出したことに応答して、ターゲットインターフェースの呼び出し結果をマスタECUに返す。呼び出し結果は、ノードECU1がノードECU1のアップグレードパッケージを記憶するのに十分な残りの記憶スペースを有するかどうかを示し得る。例えば、返される呼び出し結果は、真又は偽である。
【0150】
504:マスタECUが、ノードECU2のターゲットインターフェースを呼び出す。
【0151】
例えば、ノードECUは、ノードECU2を更に含む。この場合、マスタECUは、ノードECU2のターゲットインターフェースを呼び出し、ターゲットインターフェースのパラメータ値は、ECU2のソフトウェアパッケージのサイズを含む。ECU2は、ターゲットインターフェースが呼び出されたことに応答して残りの記憶スペースを検出し、残りの記憶スペースがECU2のアップグレードパッケージを記憶するのに十分であるかどうかを決定する。
【0152】
505:ノードECU2が、ノードECU2のターゲットインターフェースの呼び出し結果を返す。
【0153】
ノードECU2は、マスタECUがターゲットインターフェースを呼び出したことに応答して、ターゲットインターフェースの呼び出し結果をマスタECUに返す。呼び出し結果は、ノードECU2がノードECU2のアップグレードパッケージを記憶するのに十分な残りの記憶スペースを有するかどうかを示し得る。例えば、返される呼び出し結果は、真又は偽である。
【0154】
506:マスタECUが、取得されたノードECUのターゲットインターフェースの呼び出し結果に基づいて、フィードバック情報をOTAサーバに送信する。
【0155】
前述のステップ502からステップ506において、ノードECUがノードECU1及びノードECU2を含むことが説明のために使用される。別のノードECUが更に含まれる場合、ターゲットインターフェースを呼び出すプロセスの理解のために、ステップ502からステップ506を参照されたい。
【0156】
マスタECUが、全てのノードECUのターゲットインターフェースの呼び出し結果に基づいて、全てのノードECUがそれぞれのソフトウェアパッケージを記憶するのに十分な記憶スペースを有すると決定した場合、マスタECUは、フィードバックメッセージをOTAサーバに送信する。フィードバック情報は、分散ダウンロードを実行するようにOTAサーバに指示するために、すなわち、各ノードECUのソフトウェアパッケージを対応するノードECUに送信するようにOTAサーバに指示するために使用される。例えば、ノードECUがノードECU1及びノードECU2のみを含む場合には、以下の3つのケースが考えられる。
【0157】
1.ECU1によって返されたターゲットインターフェースの呼び出し結果が、ECU1がECU1のソフトウェアパッケージを記憶するのに十分な記憶スペースを有することを示し、ECU2によって返されたターゲットインターフェースの呼び出し結果が、ECU2がECU2のソフトウェアパッケージを記憶するのに十分な記憶スペースを有することを示す場合、マスタECUは、フィードバックメッセージをOTAサーバに送信する。
【0158】
2.ECU1によって返されたターゲットインターフェースの呼び出し結果が、ECU1がECU1のソフトウェアパッケージを記憶するのに十分な記憶スペースを有することを示し、ECU2によって返されたターゲットインターフェースの呼び出し結果が、ECU2がECU2のソフトウェアパッケージを記憶するのに十分な記憶スペースを有していないことを示す場合、マスタECUは、フィードバックメッセージをOTAサーバに送信しない。この場合、OTAサーバは、ECU1のソフトウェアパッケージをECU1に送信しない。
【0159】
3.ECU1によって返されたターゲットインターフェースの呼び出し結果が、ECU1がECU1のソフトウェアパッケージを記憶するのに十分な記憶スペースを有していないことを示し、ECU2によって返されたターゲットインターフェースの呼び出し結果が、ECU2がECU2のソフトウェアパッケージを記憶するのに十分な記憶スペースを有することを示す場合、マスタECUは、フィードバックメッセージをOTAサーバに送信しない。この場合、OTAサーバは、ECU2のソフトウェアパッケージをECU2に送信しない。
【0160】
可能な実装形態では、マスタECUは、ステータス情報を送信する際にフィードバック情報をOTAサーバに送信し得る。AutoSarでは、マスタECUがステータス情報をOTAサーバに送信して、現在のアップグレードステータスをOTAサーバに通知することが定義されている。例えば、アップグレードステータスは、アップグレードパッケージをダウンロードする段階、アップグレードパッケージをインストールする段階、アップグレードパッケージをアクティベートする段階などを含み得る。この出願のこの実施形態のこの実装形態では、新たなステータス情報が追加され得、例えば、第1のステータス情報が追加される。マスタECUが、全てのノードECUのターゲットインターフェースの呼び出し結果に基づいて、全てのノードECUがそれぞれのソフトウェアパッケージを記憶するのに十分な記憶スペースを有すると決定した場合、マスタECUは、ステータス情報をOTAサーバに送信する際に第1のステータス情報を送信する。第1のステータス情報は、分散ダウンロードが実行可能であることをOTAサーバに通知するために使用される。第1のステータス情報を受信した後、OTAサーバは、各ノードECUのソフトウェアパッケージを対応するノードECUに直接送信し、ソフトウェアパッケージは、マスタECUによって転送されない。
【0161】
507:OTAサーバが、ノードECU1のTransferDataインターフェースを呼び出す。
【0162】
OTAサーバが、フィードバックメッセージに基づいて、ノードECUのソフトウェアパッケージをノードECUに送信することができると決定した場合、OTAサーバは、これらのノードのTransferDataインターフェースを呼び出して、ソフトウェアパッケージをノードECUに送信する。
【0163】
フィードバックメッセージは、マスタECUによって送信されるステータス情報であり得る。ステータス情報は、分散ダウンロードが実行可能であることをOTAサーバに通知するために使用される。ステータス情報を受信した後、OTAサーバは、各ノードECUのソフトウェアパッケージを対応するノードECUに直接送信し、ソフトウェアパッケージは、マスタECUによって転送されない。
【0164】
ノードECUがノードECU1を含む場合、OTAサーバは、ノードECU1のTransferDataインターフェースを呼び出し得る。TransferDataインターフェースのパラメータ値は、ECU1のソフトウェアパッケージである。このようにして、ノードECU1のソフトウェアパッケージがノードECU1に送信される。
【0165】
可能な実装形態では、ノードECU1がノードECU1のTransferDataインターフェースの呼び出し結果を返すステップ508が更に含まれ得る。
【0166】
OTAサーバがノードECU1のTransferDataインターフェースを呼び出したことに応答して、ノードECU1は、受信が成功したか失敗したかをOTAサーバに通知するための呼び出し結果を返し得る。
【0167】
509:OTAサーバが、ノードECU2のTransferDataインターフェースを呼び出す。
【0168】
ノードECUがノードECU2を更に含む場合、OTAサーバは、ノードECU2のTransferDataインターフェースを呼び出す。
【0169】
可能な実装形態では、ノードECU2がノードECU2のTransferDataインターフェースの呼び出し結果を返すステップ510が更に含まれ得る。
【0170】
ステップ509及びステップ510の理解のために、ステップ507及びステップ508を参照されたい。別のノードECUが更に含まれる場合、ECU1とOTAサーバとの間又はECU2とOTAサーバとの間の対話のプロセスを参照し、すなわち、理解のためにステップ502からステップ509を参照することに留意されたい。
【0171】
図5に対応する実施形態から分かるように、マスタECUが、全てのノードECUの残りの記憶スペースが十分であるかどうかを事前に知ることができ、全てのノードECUの残りの記憶スペースがそれぞれのソフトウェアパッケージを記憶するのに十分である場合にのみ、ソフトウェアパッケージが送信される方式が提供される。これにより、ダウンロードプロセスにおける一部のノードECUのリソースの不足によって引き起こされるアップグレード失敗を防止し、アップグレード失敗によって引き起こされるユーザトラフィック消費及びリソース浪費を低減する。具体的には、
図5に対応する実装形態では、インターフェース、例えば、ターゲットインターフェースが、AutoSarにおいて新たに定義され得、それにより、マスタECUは、全てのノードECUの残りの記憶スペースが十分であるかどうかを知ることができる。加えて、新たなステータス情報が追加され得、マスタECUは、新たなステータス情報を使用することによって、分散ダウンロードが実行可能であること、すなわち、各ノードECUのソフトウェアパッケージを対応するノードECUに直接送信することができることをOTAサーバに通知し得る。
【0172】
図5に対応する実施形態では、マスタECUは、新たなステータス情報を使用することによって、分散ダウンロードが実行可能であること、すなわち、各ノードECUのソフトウェアパッケージを対応するノードECUに直接送信することができることをOTAサーバに通知し得る。いくつかの他の実装形態では、OTAサーバは、代替的に、別の方式で分散ダウンロードを実行し得、すなわち、各ノードECUのソフトウェアパッケージを対応するノードECUに直接送信し得る。以下では、いくつかの特定の実施形態を参照しながら説明を行う。
【0173】
図6は、本出願の一実施形態によるデータ送信方法の概略フローチャートである。
【0174】
601:OTAサーバが、マスタECUのTransferVehiclePackageインターフェースを呼び出す。
【0175】
OTAサーバは、マスタECUのTransferVehiclePackageインターフェースを呼び出して、アップグレードポリシー、各ノードECUのソフトウェアアップグレードパッケージの名前及びサイズ、並びに各ノードECUのソフトウェアパッケージのダウンロードアドレスなどの制御情報をマスタECUに送信する。例えば、OTAサーバは、マスタECUのTransferVehiclePackageインターフェースを呼び出して、ノードECU1のソフトウェアパッケージの名前及びサイズ、ノードECU1のソフトウェアパッケージのダウンロードアドレス、ノードECU2のソフトウェアパッケージの名前及びサイズ、並びにノードECU2のソフトウェアパッケージのダウンロードアドレスをマスタECUに送信する。
【0176】
可能な実装形態では、ダウンロードアドレスは、ユニフォームリソースロケータ(URL:uniform resource locator)の形態であり得る。
【0177】
602:マスタECUが、ノードECU1のターゲットインターフェースを呼び出す。
【0178】
603:ノードECU1が、ノードECU1のターゲットインターフェースの呼び出し結果を返す。
【0179】
604:マスタECUが、ノードECU2のターゲットインターフェースを呼び出す。
【0180】
605:ノードECU2が、ノードECU2のターゲットインターフェースの呼び出し結果を返す。
【0181】
ステップ602からステップ605の理解のために、
図5に対応する実施形態におけるステップ502からステップ505を参照されたい。詳細については本明細書で改めて説明しない。
【0182】
606:マスタECUは、ノードECU1のソフトウェアパッケージのダウンロードアドレスをノードECU1に送信する。
【0183】
全てのノードECUのターゲットインターフェースの呼び出し結果に基づいて、全てのノードECUがそれぞれのソフトウェアパッケージを記憶するのに十分な記憶スペースを有するとマスタECUが決定した場合、マスタECUは、それぞれのソフトウェアパッケージのダウンロードアドレスをノードECUに送信する。
【0184】
例えば、ノードECUは、ノードECU1及びノードECU2を含む。ノードECU1及びノードECU2の両方が、それぞれのソフトウェアパッケージを記憶するのに十分な記憶スペースを有する場合、マスタECUは、ノードECU1のソフトウェアパッケージのダウンロードアドレスをノードECU1に送信し、マスタECUは、ノードECU2のソフトウェアパッケージのダウンロードアドレスをノードECU2に送信する。
【0185】
可能な実装形態では、ノードECU1が十分な記憶スペースを有することを知ると、マスタECUは、ノードECU1のソフトウェアパッケージのダウンロードアドレスをノードECU1に送信し得る。
【0186】
可能な実装形態では、ノードECUのTransferStartインターフェースを呼び出す際に、マスタECUは、入力パラメータをTransferStartインターフェースに追加し得る。追加される入力パラメータは、ノードECUのソフトウェアパッケージのダウンロードアドレスである。例えば、マスタECUが、ノードECU1のTransferStartインターフェースを呼び出し、TransferStartインターフェースが新しいパラメータを含み、新しいパラメータの値はノードECU1のソフトウェアパッケージのダウンロードアドレスである。別の例として、マスタECUが、ノードECU2のTransferStartインターフェースを呼び出し、TransferStartインターフェースが新しいパラメータを含み、新しいパラメータの値はノードECU2のソフトウェアパッケージのダウンロードアドレスである。
【0187】
607:ノードECU1は、取得されたノードECU1のソフトウェアパッケージのダウンロードアドレスに基づいて、要求メッセージをOTAサーバに送信する。
【0188】
例えば、ECU1のソフトウェアパッケージのダウンロードアドレスを受信した後、ノードECU1は、要求メッセージをOTAサーバに送信する。要求メッセージは、ECU1のソフトウェアパッケージのダウンロードアドレスを搬送し、要求メッセージは、ノードECU1のソフトウェアパッケージをノードECU1に送信するようにOTAサーバに要求するために使用される。
【0189】
可能な実装形態では、新しいインターフェース、例えば、第2のインターフェースが定義され得る。第2のインターフェースのパラメータは、ソフトウェアパッケージのダウンロードアドレスである。OTAサーバの第2のインターフェースが呼び出されると、OTAサーバは、ノードECUのソフトウェアパッケージを対応するノードECUに送信し得る。例えば、ノードECU1が、OTAサーバの第2のインターフェースを呼び出し得る。第2のインターフェースのパラメータは、ノードECU1のソフトウェアパッケージのダウンロードアドレスである。第2のインターフェースが呼び出されたことに応答して、OTAサーバは、第2のインターフェースのパラメータ値に基づいて、ノードECU1のソフトウェアパッケージをノードECU1に送信し得る。本出願におけるOTAサーバのインターフェースは、OTAサーバのUCMインターフェースであることに留意されたい。詳細については、本出願で改めて説明しない。
【0190】
例えば、表2は、第2のインターフェースを定義する方式を提供する。第2のインターフェースの名前はGetTransferStartであり、第2のインターフェースの入力パラメータはソフトウェアパッケージのダウンロードアドレスを含むと仮定される。いくつかの可能な実装形態では、第2のインターフェースの入力パラメータは、ソフトウェアパッケージの名前又はソフトウェアパッケージの識別子IDを更に含み得る。
【表2】
【0191】
608:OTAサーバが、ノードECU1のTransferDataインターフェースを呼び出す。
【0192】
ノードECU1によって送信された要求メッセージに応答して、OTAサーバは、ノードECU1のソフトウェアパッケージをノードECU1に送信する。
【0193】
例えば、OTAサーバは、ノードECU1のTransferDataインターフェースを呼び出して、ECU1のソフトウェアパッケージをノードECU1に送信し得る。
【0194】
可能な実装形態では、ノードECU1がノードECU1のTransferDataインターフェースの呼び出し結果を返すステップ609が更に含まれ得る。
【0195】
OTAサーバがノードECU1のTransferDataインターフェースを呼び出したことに応答して、ノードECU1は、受信が成功したか失敗したかをOTAサーバに通知するための呼び出し結果を返し得る。
【0196】
610:マスタECUが、ノードECU2のソフトウェアパッケージのダウンロードアドレスをノードECU2に送信する。
【0197】
マスタECUが、全てのノードECUのターゲットインターフェースの呼び出し結果に基づいて、全てのノードECUがそれぞれのソフトウェアパッケージを記憶するのに十分な記憶スペースを有すると決定した場合、マスタECUは、それぞれのソフトウェアパッケージのダウンロードアドレスをノードECUに送信する。
【0198】
例えば、ノードECUは、ノードECU2を含む。この場合、マスタECUが、ノードECU2のソフトウェアパッケージのダウンロードアドレスをノードECU2に送信する。
【0199】
611:ノードECU2が、取得されたノードECU2のソフトウェアパッケージのダウンロードアドレスに基づいて、OTAサーバに要求メッセージを送信する。
【0200】
612:OTAサーバが、ノードECU2のTransferDataインターフェースを呼び出す。
【0201】
可能な実装形態では、ノードECU2がノードECU2のTransferDataインターフェースの呼び出し結果を返すステップ613が更に含まれ得る。
【0202】
ステップ610からステップ613の理解のために、ステップ606からステップ609を参照されたい。別のノードECUが更に含まれる場合、理解のためにECU1とOTAサーバとの間の対話のプロセスを参照、すなわち、理解のためにステップ602からステップ609を参照されたい。
【0203】
AutoSarに基づいて、本出願のこの実施形態において提供される解決策が上記で説明されている。マスタECUは、依然として、各ノードECUのアップグレードプロセスを制御し、例えば、各ノードECUのソフトウェアパッケージをダウンロードするシーケンスを制御する。しかしながら、各ノードECUのソフトウェアパッケージは、OTAサーバによって各ノードECUに直接送信され、マスタECUは、各ノードECUのソフトウェアパッケージをバッファする必要がなく、各ノードECUのアップグレードパッケージを転送する必要がない。このようにして、マスタECUは、比較的大きい記憶スペース又は比較的高い処理性能を有する必要がなく、アップグレード効率を更に向上させることができる。加えて、本出願において提供される解決策は、複数のノードECUが同時にダウンロードを実行することをサポートし、これにより、ダウンロード効率が向上し、後に、マスタECUが各ノードECUのインストールプロセス及びアクティベーションプロセスを制御することに影響を与えない。加えて、本出願において提供されるデータ送信システムでは、新しいインターフェースが定義される。全てのノードECUがそれぞれのソフトウェアパッケージを記憶するのに十分な記憶スペースを有する場合にのみ、それぞれのソフトウェアパッケージはノードECUに送信される。これにより、アップグレード効率を更に向上させることができる。
【0204】
既存のAutoSarにおけるソフトウェアアップグレードプロセスにおけるマスタECUの記憶スペース及び処理性能への依存の問題を解決するために、AutoSarに基づいて、AutoSarにおけるソフトウェアアップグレード手順を改善する前述の方式以外に、本出願において提供される解決策では、ECUの記憶スペース及び処理性能への依存の問題を解決するために、別の方式が代替的に使用され得る。以下では、いくつかの特定の実装形態を参照しながら説明を行う。
【0205】
図7aは、本出願の一実施形態によるデータ送信方法の概略フローチャートである。
【0206】
701:ノードECU1が、ノードECU1の残りの記憶スペースのサイズをマスタECUに送信する。
【0207】
702:ノードECU2が、ノードECU2の残りの記憶スペースのサイズをマスタECUに送信する。
【0208】
703:マスタECUが、各ノードECUの残りの記憶スペースのサイズをOTAサーバに送信する。
【表3】
【0209】
表3に示すように、マスタECUは、各ノードECUの残りの記憶スペースのサイズをOTAサーバに表形式で送信し得る。
【0210】
可能な実装形態では、ノードECUは、代替的に、それぞれの残りの記憶スペースのサイズをOTAサーバに直接送信してもよく、サイズは、マスタECUによって転送されない。
【0211】
704:OTAサーバが、マスタECUのTransferVehiclePackageインターフェースを呼び出す。
【0212】
各ノードECUの残りの記憶スペースのサイズ及び各ノードECUのソフトウェアパッケージのサイズに基づいて、各ノードECUが各ノードECUのソフトウェアパッケージを記憶するのに十分な記憶スペースを有するとOTAサーバが決定した場合、OTAサーバは、マスタECUのTransferVehiclePackageインターフェースを呼び出す。一例では、ノードECUは、ノードECU1及びノードECU2のみを含むと仮定される。以下の3つのケースが考えられる。
【0213】
1.OTAサーバによって取得されたノードECU1の残りの記憶スペースがECU1のソフトウェアパッケージのサイズ以上であり、取得されたECU2の残りの記憶スペースがECU2のソフトウェアパッケージのサイズ以上である場合、OTAサーバは、マスタECUのTransferVehiclePackageインターフェースを呼び出して、アップグレードポリシーなどの制御情報をマスタECUに送信する。
【0214】
2.OTAサーバによって取得されたノードECU1の残りの記憶スペースがノードECU1のソフトウェアパッケージのサイズ以上であり、取得されたノードECU2の残りの記憶スペースがノードECU2のソフトウェアパッケージのサイズ未満である場合、OTAサーバは、現在アップグレードを成功させることはできないと決定し、ソフトウェアパッケージアップグレードプログラムを開始しない。
【0215】
3.OTAサーバによって取得されたノードECU1の残りの記憶スペースがノードECU1のソフトウェアパッケージのサイズ未満であり、取得されたノードECU2の残りの記憶スペースがノードECU2のソフトウェアパッケージのサイズ以上である場合、OTAサーバは、現在アップグレードを成功させることはできないと決定し、ソフトウェアパッケージアップグレードプログラムを開始しない。
【0216】
705:OTAサーバが、ノードECU1のTransferDataインターフェースを呼び出す。
【0217】
可能な実装形態では、ノードECU1がノードECU1のTransferDataインターフェースの呼び出し結果を返すステップ706が更に含まれ得る。
【0218】
707:OTAサーバが、ノードECU2のTransferDataインターフェースを呼び出す。
【0219】
可能な実装形態では、ノードECU2がノードECU2のTransferDataインターフェースの呼び出し結果を返すステップ708が更に含まれ得る。
【0220】
ステップ705からステップ708の理解のために、
図4に対応する実施形態におけるステップ406、ステップ407、ステップ411、及びステップ412を参照されたい。
【0221】
別のノードECUが更に含まれる場合、理解のために、ノードECU1及びノードECU2によって実行されるステップを参照することに留意されたい。詳細については本明細書で改めて説明しない。
【0222】
図7bは、本出願の一実施形態によるデータ送信方法の概略フローチャートである。
【0223】
801:ノードECU1が、ノードECU1の残りの記憶スペースのサイズをマスタECUに送信する。
【0224】
802:ノードECU2が、ノードECU2の残りの記憶スペースのサイズをマスタECUに送信する。
【0225】
803:OTAサーバが、マスタECUのTransferVehiclePackageインターフェースを呼び出す。
【0226】
OTAサーバは、マスタECUのTransferVehiclePackageインターフェースを呼び出して、全てのノードECUのソフトウェアパッケージのサイズをマスタECUに送信する。この実施形態では、ノードECU1及びノードECU2を例に挙げて説明することに留意されたい。別のノードECUが更に含まれる場合、理解のために、ノードECU1及びノードECU2によって実行されるステップを参照されたい。詳細については、本明細書で改めて説明しない。
【0227】
804:マスタECUは、ノードECUのソフトウェアパッケージのサイズとノードECUの残りの記憶スペースとの間の関係に基づいて、通知メッセージをOTAサーバに送信する。
【0228】
各ノードECUの残りの記憶スペースのサイズ及び各ノードECUのソフトウェアパッケージのサイズに基づいて、各ノードECUが各ノードECUのソフトウェアパッケージを記憶するのに十分な記憶スペースを有するとマスタECUが決定した場合、マスタECUは、通知メッセージをOTAサーバに送信し、それにより、OTAサーバが、ソフトウェアパッケージをノードECUに送信する。
【0229】
一例では、ノードECUは、ノードECU1及びノードECU2のみを含むと仮定される。以下の3つのケースが考えられる。
【0230】
1.マスタECUによって取得されたノードECU1の残りの記憶スペースがノードECU1のソフトウェアパッケージのサイズ以上であり、取得されたECU2の残りの記憶スペースがECU2のソフトウェアパッケージのサイズ以上である場合、マスタECUは、通知メッセージをOTAサーバに送信し、それにより、OTAサーバがノードECU1のソフトウェアパッケージをノードECU1に送信し、OTAサーバがノードECU2のソフトウェアパッケージをノードECU2に送信する。
【0231】
2.マスタECUによって取得されたノードECU1の残りの記憶スペースがノードECU1のソフトウェアパッケージのサイズ以上であり、取得されたノードECU2の残りの記憶スペースがノードECU2のソフトウェアパッケージのサイズ未満である場合、マスタECUは、通知メッセージをOTAサーバに送信しない。すなわち、ソフトウェアパッケージのダウンロード手順は開始されない。
【0232】
3.マスタECUによって取得されたノードECU1の残りの記憶スペースがノードECU1のソフトウェアパッケージのサイズ未満であり、取得されたノードECU2の残りの記憶スペースがノードECU2のソフトウェアパッケージのサイズ以上である場合、マスタECUは、通知メッセージをOTAサーバに送信しない。すなわち、ソフトウェアパッケージのダウンロード手順は開始されない。
【0233】
805:OTAサーバが、ノードECU1のTransferDataインターフェースを呼び出す。
【0234】
可能な実装形態では、ノードECU1がノードECU1のTransferDataインターフェースの呼び出し結果を返すステップ806が更に含まれ得る。
【0235】
807:OTAサーバが、ノードECU2のTransferDataインターフェースを呼び出す。
【0236】
可能な実装形態では、ノードECU2がノードECU2のTransferDataインターフェースの呼び出し結果を返すステップ808が更に含まれ得る。
【0237】
ステップ805からステップ808の理解のために、
図4に対応する実施形態におけるステップ406、ステップ408、ステップ411、及びステップ412を参照されたい。
【0238】
上記では、本出願の実施形態において提供されるデータ送信方法について説明した。本出願の一実施形態は、データ送信システムを更に提供する。データ送信システムは、OTAサーバと、マスタECUと、複数のノードECUとを含む。OTAサーバは、
図4から
図7bに対応する実施形態で説明したOTAサーバであり、マスタECUは、
図4から
図7bに対応する実施形態で説明したマスタECUであり、ノードECUは、
図4から
図7bに対応する実施形態で説明したノードECUである。例えば、理解のためにノードECU1及びノードECU2を参照されたい。加えて、前述の実施形態と同じ発明概念に基づいて、本出願の一実施形態は、OTAクラウドサーバ、マスタECU、及びノードECUを更に提供する。以下では、いくつかの具体的な実装形態を参照して、本出願の一実施形態において提供されるデータ送信システムについて説明する。
【0239】
図8は、本出願の一実施形態によるデータ送信システムのアーキテクチャの概略図である。データ送信システムは、OTAサーバと、マスタECUと、複数のノードECUとを含む。
【0240】
ノードECUは、更新及び構成管理(UCM)モジュールを含み得る。ノードECUのUCMモジュールは、ノードECUのターゲットインターフェースが呼び出されたことを知ると、残りの記憶スペースをチェックし、第1の呼び出し結果を返すように構成される。ターゲットインターフェースのパラメータ値は、ノードECUのソフトウェアパッケージのサイズを含み得る。第1の呼び出し結果は、残りの記憶スペースがノードECUのソフトウェアパッケージのサイズ以上であるかどうかを示す。ノードECUのUCMモジュールは、残りの記憶スペースがノードECUのソフトウェアパッケージのサイズ以上である場合、OTAサーバによって送信されたノードECUのソフトウェアパッケージを受信するように更に構成される。
【0241】
可能な実装形態では、ターゲットインターフェースがTransferStartインターフェースであり、残りの記憶スペースがノードECUのソフトウェアパッケージのサイズ以上である場合、第1の呼び出し結果は、第1のパラメータ値を含み得る。第1のパラメータは、ノードECUのソフトウェアパッケージをノードECUに送信するようにOTAサーバに指示するために使用される。
【0242】
可能な実装形態では、ノードECUのUCMモジュールは、ノードECUのソフトウェアパッケージのダウンロードアドレスを取得し、取得されたダウンロードアドレスに基づいてOTAサーバのインターフェースを呼び出すように更に構成される。インターフェースのパラメータ値は、ノードECUのソフトウェアパッケージのダウンロードアドレスであるので、OTAサーバは、インターフェースが呼び出されたことに応答して、ノードECUのソフトウェアパッケージをUCMモジュールに送信する。
【0243】
可能な実装形態では、OTAサーバは、更新及び構成管理(UCM)モジュールを含み得る。OTAサーバのUCMモジュールは、ノードECUの残りの記憶スペースがノードECUのソフトウェアパッケージのサイズ以上であると決定すると、ノードECUのTransferDataインターフェースを呼び出して、ノードECUのソフトウェアパッケージをノードECUに送信するように構成される。
【0244】
可能な実装形態では、OTAサーバのUCMモジュールは、第1のパラメータ値を取得する際にノードECUのTransferDataインターフェースを呼び出すように特に構成される。第1のパラメータ値は、TransferStartインターフェースが呼び出されたことに応答して、ノードECUによって返される第1の呼び出し結果に含まれ得るパラメータ値である。第1のパラメータ値は、ノードECUの残りの記憶スペースがノードECUのソフトウェアパッケージのサイズ以上であることを示すために使用される。
【0245】
可能な実装形態では、OTAサーバのUCMモジュールは、マスタECUの車両全体のソフトウェアパッケージTransferVehiclePackageインターフェースを呼び出すように更に構成される。TransferVehiclePackageインターフェースのパラメータ値は、複数のノードECU内の各ノードECUのソフトウェアパッケージのダウンロードアドレスを含み得、マスタECUは、ノードECUのソフトウェアパッケージのダウンロードアドレスをノードECUに送信し、次いで、ノードECUは、ノードECUのダウンロードアドレスに基づいてUCMモジュールのインターフェースを呼び出し、インターフェースのパラメータは、ノードECUのソフトウェアパッケージのダウンロードアドレスを含み得る。UCMモジュールは、ノードECUがインターフェースを呼び出したことに応答して、ノードECUのソフトウェアパッケージをノードECUに送信するように特に構成される。
【0246】
可能な実装形態では、マスタECUは、UCM Masterモジュールを含み得る。UCM Masterモジュールは、ノードECUのターゲットインターフェースを呼び出すように構成される。ターゲットインターフェースのパラメータ値は、ノードECUのソフトウェアパッケージのサイズを含み得、ノードECUは、マスタECUがターゲットインターフェースを呼び出したことに応答して、ノードECUの残りの記憶スペースをチェックする。UCM Masterモジュールは、ノードECUによって送信されたターゲットインターフェースの第1の呼び出し結果を受信するように更に構成される。第1の呼び出し結果は、ノードECUの残りの記憶スペースがノードECUのソフトウェアパッケージのサイズ以上であるかどうかを示す。
【0247】
可能な実装形態では、ノードECUの残りの記憶スペースがノードECUのソフトウェアパッケージのサイズ以上である場合、第1の呼び出し結果は第1のパラメータ値を含み得、UCM Masterモジュールは、第1のフィードバックメッセージをOTAサーバに送信するように更に構成される。第1のフィードバックメッセージは、第1のパラメータ値を含み得、OTAサーバは、第1のパラメータ値を取得する際にノードECUのTransferDataインターフェースを呼び出して、ノードECUのソフトウェアパッケージをノードECUに送信する。
【0248】
可能な実装形態では、UCM Masterモジュールは、複数のノードECU内の各ノードECUの第1の呼び出し結果を受信するように更に構成される。ノードECUは、複数のノードECUのうちのいずれかである。第1の呼び出し結果に基づいて、各ノードECUの残りの記憶スペースが各ノードECUのソフトウェアパッケージのサイズ以上であると決定されると、第2のパラメータ値がOTAサーバに送信され、OTAサーバは、第2のパラメータ値を取得する際にノードECUのTransferDataインターフェースを呼び出す。
【0249】
本出願の一実施形態は、ECUを更に提供する。ECUは、
図8に対応する実施形態におけるノードECUである。理解のために、
図4から
図7bに対応する実施形態において説明されるノードECUを参照されたい。
【0250】
本出願の一実施形態は、ECUを更に提供する。ECUは、
図8に対応する実施形態におけるマスタECUである。理解のために、
図4から
図7bに対応する実施形態で説明したマスタECUを参照されたい。
【0251】
本出願の一実施形態は、OTAサーバを更に提供する。OTAサーバは、
図8に対応する実施形態におけるOTAサーバである。理解のために、
図4から
図7bに対応する実施形態で説明したOTAサーバを参照されたい。
【0252】
図9を参照されたい。本出願の一実施形態は、通信デバイスを更に提供する。通信デバイスは、
図4から
図7bに対応する実施形態におけるノードECUであってもよいし、通信デバイスは、
図4から
図7bに対応する実施形態におけるマスタECUであってもよいし、通信デバイスは、
図4から
図7bに対応する実施形態におけるOTAサーバであってもよい。
【0253】
通信デバイスはプロセッサ1001を含み得る。プロセッサ1001はメモリ1002に結合され、メモリはプログラム命令を記憶する。メモリに記憶されたプログラム命令がプロセッサによって実行されると、
図4から
図7bに対応する実施形態におけるマスタECUによって実行されるステップが実行される。代替的に、メモリに記憶されたプログラム命令がプロセッサによって実行されると、
図4から
図7bに対応する実施形態におけるノードECUによって実行されるステップが実行される。代替的に、メモリに記憶されたプログラム命令がプロセッサによって実行されると、
図4から
図7bに対応する実施形態におけるOTAサーバによって実行されるステップが実行される。
【0254】
本出願の一実施形態は、車両を更に提供する。
図10は、本出願の一実施形態による車両の構造の概略図である。
図4から
図7bに対応する実施形態で説明したノードECU及びマスタECUが車両上に配置され得る。
【0255】
可能な実装形態では、
図10に示すように、車両は、ディスプレイ1101とECU1102とを含み得る。ECU1102は、
図4から
図7bに対応する実施形態で説明したノードECU又はマスタECUである。車両は、ディスプレイを使用することによってユーザと対話し得、例えば、ディスプレイを使用することによってプロンプトメッセージを送信し得る。プロンプトメッセージは、第1のECUのソフトウェアパッケージをOTAサーバからダウンロードするようにノードECUに指示するために使用される。
図11は、本出願の一実施形態によるデータ送信方法の適用シナリオの概略図である。本出願のこの実施形態で提供される解決策では、車載ソフトウェアをアップグレードすべきかどうかをユーザが選択することが可能であり、又はデフォルトで車載ソフトウェアを直接アップグレードしてもよい。車両内の各デバイスがアップグレードされると、各ECUのソフトウェアのアップグレードパッケージをダウンロードする特定のプロセスでは、各デバイスがOTAサーバからソフトウェアパッケージをダウンロードしていることを促すプロンプトメッセージが送信される。
【0256】
車両は、自動車、トラック、オートバイ、バス、ボート、芝刈り機、レクリエーショナルビークル、遊び場の車両、建設機械、トロリー、ゴルフカートなどであり得る。これは、本出願のこの実施形態において特に限定されない。
【0257】
ECU及び車両がデータ送信方法を実行し、有益な効果をもたらした特定の実装形態については、
図4から
図7bに対応する方法の実施形態における説明をことに留意されたい。詳細については本明細書で改めて説明しない。
【0258】
本出願の一実施形態は、コンピュータ可読記憶媒体を更に提供する。コンピュータ可読記憶媒体は、ソフトウェアパッケージをダウンロードするために使用されるプログラムを記憶する。プログラムがコンピュータ上で実行されると、コンピュータは、
図4から
図7bに示される実施形態で説明した方法においてECUによって実行されるステップを実行することが可能になる。
【0259】
本出願の一実施形態は、コンピュータ可読記憶媒体を更に提供する。コンピュータ可読記憶媒体は、ソフトウェアパッケージをダウンロードするために使用されるプログラムを記憶する。プログラムがコンピュータ上で実行されると、コンピュータは、
図4から
図7bに示される実施形態で説明した方法においてOTAによって実行されるステップを実行することが可能になる。
【0260】
本出願の一実施形態は、コンピュータプログラム製品を更に提供する。コンピュータプログラム製品がコンピュータ上で実行されると、コンピュータは、
図4から
図7bに示される実施形態において説明される方法においてECUによって実行されるステップを実行することが可能になる。代替的に、コンピュータプログラム製品がコンピュータ上で実行されると、コンピュータは、
図4から
図7bに示される実施形態において説明される方法においてOTAによって実行されるステップを実行することが可能になる。コンピュータプログラム製品は、1つ又は複数のコンピュータ命令を含む。コンピュータプログラム命令が、ロードされ、コンピュータ上で実行されると、本出願の実施形態による手順又は機能が全て又は部分的に生成される。コンピュータは、汎用コンピュータ、専用コンピュータ、コンピュータネットワーク、又は別のプログラマブル装置であり得る。コンピュータ命令は、コンピュータ可読記憶媒体に記憶されてもよいし、コンピュータ可読記憶媒体から別のコンピュータ可読記憶媒体に送信されてもよい。例えば、コンピュータ命令は、ワイヤード(例えば、同軸ケーブル、光ファイバ、又はデジタル加入者線(DSL))又はワイヤレス(例えば、赤外線、無線、又はマイクロ波)方式で、ウェブサイト、コンピュータ、サーバ、又はデータセンタから、別のウェブサイト、コンピュータ、サーバ、又はデータセンタに送信されてもよい。コンピュータ可読記憶媒体は、コンピュータによってアクセス可能な任意の使用可能な媒体、又は1つ若しくは複数の使用可能な媒体を統合したサーバ若しくはデータセンタなどのデータ記憶デバイスであり得る。使用可能な媒体は、磁気媒体(例えば、フロッピー(登録商標)ディスク、ハードディスク、又は磁気テープ)、光媒体(例えば、DVD)、半導体媒体(例えば、ソリッドステートドライブ(SSD:solid-state drive))などであり得る。
【0261】
本出願の一実施形態は、回路システムを更に提供する。回路システムは、処理回路と記憶回路とを含む。処理回路及び記憶回路は、
図4から
図7bに示される実施形態で説明した方法においてECU又はOTAサーバによって実行されるステップを実行するように構成される。処理回路は、任意の適切なタイプのコンピューティングユニット、例えば、マイクロプロセッサ、デジタルシグナルプロセッサ(DSP:digital signal processor)、フィールドプログラマブルゲートアレイ(FPGA:field programmable gate array)、若しくは特定用途向け集積回路(ASIC:application-specific integrated circuit)、又は任意の他の形態の回路であり得る。記憶回路は、揮発性(volatile)及び/又は不揮発性(non-volatile)であり得る。例えば、記憶回路は、レジスタ、キャッシュなどであり得る。具体的には、揮発性記憶回路はキャッシュメモリを含み得、不揮発性記憶回路はフラッシュメモリを含み得る。
【0262】
本出願の実施形態において提供されるECU又はOTAサーバは、具体的にはチップであり得る。チップは、処理ユニット及び通信ユニットを含む。処理ユニットは、例えば、プロセッサであり得、通信ユニットは、例えば、入力/出力インターフェース、ピン、又は回路であり得る。処理ユニットは、記憶ユニットに記憶されたコンピュータ実行可能命令を実行し得、サーバ内のチップは、
図4から
図7bに示された実施形態で説明したデータ送信方法を実行する。任意選択で、記憶ユニットは、チップ内の記憶ユニット、例えば、レジスタ若しくはキャッシュである。又は、記憶ユニットは、無線アクセスデバイス端にあり、チップの外部に位置する記憶ユニット、例えば、読取り専用メモリ(ROM:read-only memory)、静的情報及び命令を記憶することができる別のタイプの静的記憶デバイス、若しくはランダムアクセスメモリ(RAM:random access memory)であり得る。
【0263】
加えて、説明した装置の実施形態は例にすぎないことに留意されたい。別個の部分として説明したユニットは、物理的に別個であってもなくてもよく、ユニットとして表示される部分は、物理ユニットであってもなくてもよく、言い換えると、1つの位置にあってもよいし、複数のネットワークユニット上に分散されていてもよい。モジュールの一部又は全部は、実施形態の解決策の目的を達成するために、実際の要件に従って選択され得る。加えて、本出願において提供される装置の実施形態の添付の図面において、モジュール間の接続関係は、モジュールが互いに通信接続を有することを示し、これは、1つ又は複数の通信バス又は信号ケーブルとして具体的に実装され得る。
【0264】
前述の実装形態の説明によれば、当業者は、本出願が、必要な汎用ハードウェアに加えてソフトウェアによって、又は特定用途向け集積回路、専用CLU、専用メモリ、専用コンポーネントなどを含む専用ハードウェアによって実装され得ることを明確に理解し得る。一般に、コンピュータプログラムによって実行される任意の機能は、対応するハードウェアを使用することによって容易に実装されることができ、同じ機能を達成するために使用される特定のハードウェア構造は、様々な形態、例えば、アナログ回路、デジタル回路、特定用途向け回路などの形態であり得る。しかしながら、本出願について、ソフトウェアプログラム実装形態は、ほとんどの場合、より良好な実装形態である。そのような理解に基づいて、本出願の技術的解決策は、本質的に、又は従来技術に寄与する部分は、ソフトウェア製品の形態で実装され得る。コンピュータソフトウェア製品は、コンピュータのフロッピー(登録商標)ディスク、USBフラッシュドライブ、リムーバブルハードディスク、ROM、RAM、磁気ディスク、又はコンパクトディスクなどの可読記憶媒体に記憶され、コンピュータデバイス(パーソナルコンピュータ、サーバ、ネットワークデバイスなどであってもよい)に本出願の実施形態で説明した方法を実行するように命令するためのいくつかの命令を含む。