KR20230025107A - 차량 소프트웨어 관리 시스템 및 그의 소프트웨어 복구 방법 - Google Patents

차량 소프트웨어 관리 시스템 및 그의 소프트웨어 복구 방법 Download PDF

Info

Publication number
KR20230025107A
KR20230025107A KR1020210107197A KR20210107197A KR20230025107A KR 20230025107 A KR20230025107 A KR 20230025107A KR 1020210107197 A KR1020210107197 A KR 1020210107197A KR 20210107197 A KR20210107197 A KR 20210107197A KR 20230025107 A KR20230025107 A KR 20230025107A
Authority
KR
South Korea
Prior art keywords
package
rollback
update
controller
software
Prior art date
Application number
KR1020210107197A
Other languages
English (en)
Inventor
정혁상
정명규
김진아
정윤식
김학준
이동열
양영지
Original Assignee
현대자동차주식회사
기아 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 현대자동차주식회사, 기아 주식회사 filed Critical 현대자동차주식회사
Priority to KR1020210107197A priority Critical patent/KR20230025107A/ko
Priority to US17/708,812 priority patent/US20230051776A1/en
Priority to DE102022108309.8A priority patent/DE102022108309A1/de
Priority to CN202210363141.4A priority patent/CN115705268A/zh
Publication of KR20230025107A publication Critical patent/KR20230025107A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1433Saving, restoring, recovering or retrying at system level during software upgrading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/40Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/40Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
    • H04W4/44Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P] for communication between vehicles and infrastructures, e.g. vehicle-to-cloud [V2C] or vehicle-to-home [V2H]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/50Service provisioning or reconfiguring

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명은 차량 소프트웨어 관리 시스템 및 그의 소프트웨어 복구 방법에 관한 것으로, 차량에 탑재되어 수행제어기의 S/W 업데이트를 수행하는 관리제어기, 및 상기 관리제어기의 롤백용 S/W 패키지 보유 여부에 따라 상기 롤백용 S/W 패키지 및 업데이트용 S/W 패키지를 상기 관리제어기에 전송하는 OTA 서버를 포함하고, 상기 관리제어기는 상기 업데이트용 S/W 패키지를 이용한 상기 수행제어기의 S/W 업데이트 실패 시 상기 롤백용 S/W 패키지를 이용하여 상기 수행제어기의 S/W를 롤백한다.

Description

차량 소프트웨어 관리 시스템 및 그의 소프트웨어 복구 방법{VEHICULAR SOFTWARE MANAGEMENT SYSTEM AND METHOD FOR RECOVERING SOFTWARE THEREOF}
본 발명은 차량 소프트웨어 관리 시스템 및 그의 소프트웨어 복구 방법에 관한 것이다.
차량용 무선(Over-the-Air, 이하, OTA) 업데이트 기술은 차량 이동 중에 무선으로 업데이트 데이터(예: 펌웨어)를 다운받아 차량 소프트웨어를 업데이트할 수 있도록 지원하는 기능이다. 차량용 OTA 업데이트는 OTA 서버에 등록된 소프트웨어 버전과 차량에 임베디드된 소프트웨어 버전을 비교하여 신규 소프트웨어(최신 버전 소프트웨어)가 있을 경우 신규 소프트웨어 다운로드가 완료된 후 OTA 수행 조건 충족 시 실행된다. 이러한 종래의 차량용 OTA 업데이트 기술은 신규 소프트웨어 업데이트 실패 시 복구를 위해 메모리 이중화 방식을 적용하고 있다. 그러나, 차량에는 소프트웨어 업데이트가 필요한 제어기가 다수 존재하며, 모든 제어기에 메모리이중화 방식을 적용하기에는 비용 측면에서 어려움이 있다.
본 발명은 메모리 이중화 방식이 미적용된 제어기에 대한 소프트웨어 업데이트 실패 시 롤백(roll back)을 통해 복구하는 차량 소프트웨어 관리 시스템 및 그의 소프트웨어 방법을 제공하고자 한다.
본 발명의 실시 예들에 따른 차량 소프트웨어 관리 시스템은, 차량에 탑재되어 수행제어기의 S/W 업데이트를 수행하는 관리제어기, 및 상기 관리제어기의 롤백용 S/W 패키지 보유 여부에 따라 상기 롤백용 S/W 패키지 및 업데이트용 S/W 패키지를 상기 관리제어기에 전송하는 OTA 서버를 포함하고, 상기 관리제어기는 상기 업데이트용 S/W 패키지를 이용한 상기 수행제어기의 S/W 업데이트 실패 시 상기 롤백용 S/W 패키지를 이용하여 상기 수행제어기의 S/W를 롤백하는 것을 특징으로 한다.
상기 OTA 서버는, 상기 관리제어기가 상기 롤백용 S/W 패키지를 미보유한 경우, 상기 롤백용 S/W 패키지와 함께 차량 정보 및 상기 수행제어기에 탑재된 S/W 버전 정보를 상기 관리제어기에 전송하는 것을 특징으로 한다.
상기 OTA 서버는, 상기 관리제어기가 상기 롤백용 S/W 패키지를 보유한 경우, 상기 업데이트용 S/W 패키지와 함께 업데이트 실행 명령을 상기 관리제어기에 전송하는 것을 특징으로 한다.
상기 관리제어기는, 상기 수행제어기의 S/W 업데이트 성공 시 상기 업데이트용 S/W 패키지를 새로운 롤백용 S/W 패키지로 설정하는 것을 특징으로 한다.
상기 관리제어기는, 기존 롤백용 S/W 패키지를 삭제하는 것을 특징으로 한다.
본 발명의 실시 예들에 따른 관리제어기는, OTA 서버와 무선 통신을 수행하는 통신부, 및 상기 통신부와 전기적으로 연결되는 처리부를 포함하고, 상기 처리부는, 차량에 전원이 공급되면 롤백용 S/W 패키지 보유 여부를 확인하고, 상기 롤백용 S/W 패키지 미보유 시 상기 OTA 서버로부터 상기 롤백용 S/W 패키지를 다운로드하고, 상기 OTA 서버로부터 업데이트용 S/W 패키지를 다운로드하고, 상기 업데이트용 S/W 패키지를 이용하여 수행제어기의 S/W 업데이트를 수행하고, 상기 S/W 업데이트 실패 시 상기 롤백용 S/W 패키지를 이용하여 상기 수행제어기의 S/W를 롤백하는 것을 특징으로 한다.
상기 처리부는, 상기 롤백용 S/W 패키지 보유 여부를 확인한 후 확인 결과와 함께 차량 정보 및 상기 수행제어기에 탑재된 S/W 버전 정보를 상기 OTA 서버에 전송하는 것을 특징으로 한다.
상기 처리부는, 상기 롤백용 S/W 패키지 보유 시 상기 OTA 서버로부터 업데이트용 S/W 패키지를 다운로드하는 것을 특징으로 한다.
상기 처리부는, 상기 수행제어기의 S/W 업데이트 성공 시 상기 업데이트용 S/W 패키지를 새로운 롤백용 S/W 패키지로 설정하는 것을 특징으로 한다.
상기 처리부는, 기존 롤백용 S/W 패키지를 삭제하는 것을 특징으로 한다.
상기 수행제어기는, 차량에 탑재되어 기정해진 기능을 수행하는 전자제어장치인 것을 특징으로 한다.
본 발명의 실시 예들에 따른 차량 소프트웨어 관리 시스템의 소프트웨어 복구 방법은 관리제어기가 차량에 전원이 공급되면 롤백용 S/W 패키지 보유 여부를 확인하는 단계, 상기 관리제어기가 상기 롤백용 S/W 패키지 미보유 시 OTA 서버로부터 상기 롤백용 S/W 패키지를 다운로드하는 단계, 상기 관리제어기가 상기 OTA 서버로부터 업데이트용 S/W 패키지를 다운로드하는 단계, 상기 관리제어기가 상기 업데이트용 S/W 패키지를 이용하여 수행제어기의 S/W 업데이트를 수행하는 단계, 및 상기 관리제어기가 상기 S/W 업데이트 실패 시 상기 롤백용 S/W 패키지를 이용하여 상기 수행제어기의 S/W를 롤백하는 단계를 포함하는 것을 특징으로 한다.
상기 롤백용 S/W 패키지를 다운로드하는 단계는, 상기 관리제어기가 상기 롤백용 S/W 패키지 보유 여부를 확인한 결과와 함께 차량 정보 및 상기 수행제어기에 탑재된 S/W 버전 정보를 상기 OTA 서버에 전송하는 단계, 및 상기 OTA 서버가 상기 롤백용 S/W 패키지 보유 여부를 확인한 결과를 토대로 상기 관리제어기의 롤백용 S/W 패키지 미보유를 확인하면 상기 롤백용 S/W 패키지를 상기 관리제어기에 전송하는 단계를 포함하는 것을 특징으로 한다.
상기 소프트웨어 복구 방법은, 상기 OTA 서버가 상기 관리제어기의 롤백용 S/W 패키지 보유를 확인하면 상기 업데이트용 S/W 패키지와 함께 업데이트 실행 명령을 상기 관리제어기에 전송하는 것을 특징으로 한다.
상기 소프트웨어 복구 방법은, 상기 관리제어기가 상기 수행제어기의 S/W 업데이트 성공 시 상기 업데이트용 S/W 패키지를 새로운 롤백용 S/W 패키지로 설정하는 단계를 더 포함하는 것을 특징으로 한다.
상기 소프트웨어 복구 방법은, 상기 관리제어기가 기존 롤백용 S/W 패키지를 삭제하는 단계를 더 포함하는 것을 특징으로 한다.
본 발명에 따르면, 메모리 이중화 방식이 적용되지 않더라도 소프트웨어 업데이트 실패 시 서버로부터 제공받은 롤백용 소프트웨어 패키지를 이용하여 소프트웨어를 복구할 수 있어 보다 안전한 업데이트 실행을 가능하게 한다.
또한, 본 발명에 따르면, 소프트웨어 업데이트 실행 전 롤백용 소프트웨어 패키지를 서버로부터 다운로드함으로써, 관리제어기가 차량 조립 시 타 수행제어기 롤백용 소프트웨어 패키지를 보유하지 않아도 되므로, 차량 조립 전 납품 디펜던시를 삭제할 수 있게 한다.
도 1은 본 발명의 실시 예들에 따른 차량용 소프트웨어 관리 시스템을 도시한 블록구성도이다.
도 2는 본 발명의 실시 예들에 따른 차량 소프트웨어 관리 시스템의 소프트웨어 복구 방법을 도시한 흐름도이다.
도 3은 본 발명의 실시 예들에 따른 차량 소프트웨어 업데이트 실패 시 복구 방법을 실행하는 컴퓨팅 시스템을 보여주는 블록도이다.
이하, 본 발명의 일부 실시 예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명의 실시 예를 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 실시 예에 대한 이해를 방해한다고 판단되는 경우에는 그 상세한 설명은 생략한다.
본 발명의 실시 예의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 또한, 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
도 1은 본 발명의 실시 예들에 따른 차량용 소프트웨어 관리 시스템을 도시한 블록구성도이다.
도 1을 참조하면, 차량용 소프트웨어 관리 시스템은 OTA(Over-the-Air) 서버(100) 및 차량(200)을 포함할 수 있다.
OTA 서버(100)는 차종별 및 전자제어장치(ECU: Electric Control Unit)별로 소프트웨어(이하, S/W)를 저장 및 관리할 수 있다. OTA 서버(100)는 차량 제조사로부터 제공되는 신규 버전의 S/W를 최신 버전 S/W로 등록할 수 있다. OTA 서버(100)는 신규 등록된 S/W의 버전 정보를 차량(200)에 전송할 수 있다. 또한, OTA 서버(100)는 차량(200)의 요청에 따라 최신 버전 S/W를 전송할 수도 있다.
OTA 서버(100)는 차량(200)으로부터 전송되는 각 제어기 S/W들의 버전 및 차량 정보(예: 차종, 지역 및/또는 VIN(Vehicle Identification Number) 등)를 수신할 수 있다. OTA 서버(100)는 차량(200)의 현재 이벤트 버전을 판단하고 현재 이벤트 버전 기반으로 목표 이벤트 버전을 지정할 수 있다. OTA 서버(100)는 목표 이벤트 버전으로 업데이트 하기 위한 S/W 패키지(package) 다운로드를 명령할 수 있다.
또한, OTA 서버(100)는 현재 롤백용 S/W 패키지를 차량(200)이 가지고 있지 않을 경우, 현재 이벤트에 해당하는 S/W 패키지 다운로드를 명령할 수 있다.
차량(200)은 차량 내 통신망(IVN: In-Vehicle Network)을 통해 연결되는 관리제어기(210) 및 적어도 하나 이상의 수행제어기(220)를 포함할 수 있다. 차량 내 통신망은 CAN(Controller Area Network), MOST(Media Oriented Systems Transport) 네트워크, LIN(Local Interconnect Network), 이더넷(ethernet) 및/또는 X-by-Wire(Flexray) 등으로 구현될 수 있다.
관리제어기(210)는 수행제어기(220)별 S/W 버전 정보를 관리하며 업데이트 필요 시 OTA 업데이트를 주관하는 차량 소프트웨어 관리 장치이다. 관리제어기(210)는 OTA 서버(100)로부터 S/W 패키지를 다운로드하고, 수행제어기(220)로 S/W 패키지를 전송하여 리프로그래밍을 실행할 수 있다. 이러한 관리제어기(210)는 통신부(211), 저장부(212) 및 처리부(213)를 포함할 수 있다. 처리부(213)는 통신부(211) 및 저장부(212)와 전기적으로 연결될 수 있다.
통신부(211)는 관리제어기(210)와 OTA 서버(100) 간의 무선 통신을 지원할 수 있다. 통신부(211)는 차량과 인프라 간 통신(V2I: Vehicle to Infrastructure), WLAN(Wireless LAN)(Wi-Fi), Wibro(Wireless broadband), LTE(Long Term Evolution), IMT(International Mobile Telecommunication)-2020, 블루투스(Bluetooth), 및/또는 NFC(Near Field Communication) 등과 같은 무선 통신을 수행하는 통신 회로를 포함할 수 있다.
통신부(211)는 처리부(213)의 지시에 따라 OTA 서버(100)로부터 업데이트용 S/W 패키지 즉, 최신 버전 S/W 패키지를 다운로드 받을 수 있다. 통신부(211)는 OTA 서버(100)로부터 롤백용 S/W 패키지를 다운로드 받을 수 있다. 통신부(211)는 차량(200) 내 제어기들(210, 220)의 버전 정보 및/또는 업데이트 결과 등을 OTA 서버(100)에 전송할 수 있다. 통신부(211)는 OTA 서버(100)로부터 전송되는 업데이트 명령을 수신할 수 있다.
저장부(212)는 통신부(211)를 통해 수신되는 업데이트용 S/W 패키지 및/또는 롤백용 S/W 패키지를 저장할 수 있다. 저장부(212)는 처리부(213)에 의해 실행되는 업데이트 관리 로직 및 업데이트 실행 로직을 저장할 수 있다. 저장부(212)는 처리부(213)에 의해 실행되는 명령어들(instructions)을 저장하는 저장매체(non-transitory storage medium)일 수 있다. 저장부(212)는 플래시 메모리(flash memory), 하드디스크(hard disk), SSD(Solid State Disk), SD 카드(Secure Digital Card), RAM(Random Access Memory), SRAM(Static Random Access Memory), ROM(Read Only Memory), PROM(Programmable Read Only Memory), EEPROM(Electrically Erasable and Programmable ROM), EPROM(Erasable and Programmable ROM), 레지스터(register), eMMC(embedded multimedia card) 및/또는 UFS(universal flash storage) 등과 같은 저장매체 중 적어도 하나를 포함할 수 있다.
처리부(213)는 관리제어기(210)의 전반적인 동작을 제어할 수 있다. 처리부(213)는 ASIC(Application Specific Integrated Circuit), DSP(Digital Signal Processor), PLD(Programmable Logic Devices), FPGAs(Field Programmable Gate Arrays), CPU(Central Processing unit), 마이크로 컨트롤러(microcontrollers) 및 마이크로 프로세서(microprocessors) 등과 같은 처리장치 중 적어도 하나를 포함할 수 있다.
처리부(213)는 업데이트 관리 로직에 따라 업데이트를 주관하고, 통신부(211)에 관리제어기(210)와 OTA 서버(100) 간의 통신을 요청할 수 있다. 또한, 처리부(213)는 업데이트 실행 로직에 따라 업데이트 관리 로직에서 전송되는 명령에 따라 수행제어기(220)에 S/W를 전송하고, 업데이트 결과를 업데이트 관리 로직에 전달할 수 있다. 처리부(213)는 수행제어기(220)의 업데이트를 실패한 경우, 롤백용 S/W 패키지를 이용하여 수행제어기(220)의 S/W를 복구할 수 있다.
수행제어기(220)는 OTA 업데이트 대상으로, 차량에 탑재되어 기정해진 기능(예: 운전자 보조 기능 및/또는 장애물 감지 기능 등)을 수행하는 전자제어장치(ECU)일 수 있다. 수행제어기(220)는 도면에 도시하지 않았으나 프로세서 및 메모리를 포함할 수 있다. 수행제어기(220)는 관리제어기(210)로부터 전송되는 업데이트용 S/W 즉, 최신 버전 S/W를 수신하여 메모리에 저장할 수 있다. 수행제어기(220)는 메모리에 기저장된 제어 로직을 업데이트하기 위하여 업데이트용 S/W를 이용하여 리프로그래밍을 수행할 수 있다. 수행제어기(220)는 업데이트용 S/W와 롤백용 S/W를 동일한 방식으로 리프로그래밍할 수 있다.
이하에서는 관리제어기(210)가 수행제어기(220)의 S/W 업데이트 및 복구를 수행하는 과정을 구체적으로 설명한다.
관리제어기(210)의 처리부(213)는 IG(ignition) 온(ON) 또는 차량(200)에 전원이 공급되면, 관리제어기(210)의 롤백용 S/W 패키지 보유 여부를 확인(체크)할 수 있다. 처리부(213)는 각 수행제어기(220)에 탑재된 S/W 정보 및 차량 정보를 OTA 서버(100)에 전송할 수 있다. 관리제어기(210)는 각 수행제어기(220)의 S/W 정보 및 차량 정보를 전송할 때 롤백용 S/W 패키지 보유 여부 확인 결과를 함께 전송할 수 있다. OTA 서버(100)는 관리제어기(210)가 롤백용 S/W 패키지 미보유를 통지하면, 업데이트 필요 여부 판단을 하지 않고, 먼저 롤백용 S/W 패키지를 관리제어기(210)에 전송할 수 있다.
관리제어기(210)의 처리부(213)는 롤백용 S/W 패키지를 다운로드 받은 후, 다시 OTA 서버(100)에 차량 정보 및 각 수행제어기(220)의 S/W 버전을 전송할 때 롤백용 S/W 패키지를 보유하고 있다고 통지할 수 있다. OTA 서버(100)는 관리제어기(210)가 롤백용 S/W 패키지를 보유한 경우, 업데이트 필요 여부를 판단 후 신규 업데이트가 있으면 업데이트용 S/W 패키지를 관리제어기(210)에 전송하며 업데이트 실행을 지시할 수 있다.
처리부(213)는 OTA 서버(100)로부터 다운로드 받은 업데이트용 S/W 패키지를 파싱하여 수행제어기(220)에 업데이트용 S/W를 전송할 수 있다. 수행제어기(220)는 관리제어기(210)로부터 제공받은 업데이트용 S/W를 이용하여 이전 버전의 S/W를 최신 버전의 S/W로 업데이트할 수 있다. 수행제어기(220)는 업데이트 진행 후 업데이트 성공 여부를 포함하는 업데이트 결과를 관리제어기(210)에 전송할 수 있다. 수행제어기(220)는 업데이트 성공 또는 업데이트 실패를 포함하는 업데이트 결과를 관리제어기(210)에 전송할 수 있다.
처리부(213)는 수행제어기(220)로부터 전송되는 업데이트 결과에 근거하여 수행제어기(220)의 업데이트 성공 여부를 판단할 수 있다. 처리부(213)는 수행제어기(220)의 업데이트 성공 시 업데이트용 S/W 패키지를 롤백용 S/W 패키지로 치환할 수 있다. 다시 말해서, 처리부(213)는 업데이트용 S/W 패키지를 새로운 롤백용 S/W 패키지로 설정하여 다음 업데이트를 대비할 수 있다. 처리부(213)는 기저장된 기존의 롤백용 S/W 패키지를 삭제할 수 있다.
처리부(213)는 수행제어기(220)의 업데이트 실패 시 롤백용 S/W를 수행제어기(220)에 전송할 수 있다. 처리부(213)는 기저장된 롤백용 S/W 패키지를 파싱하여 롤백용 S/W를 수행제어기(220)에 전송할 수 있다. 수행제어기(220)는 롤백용 S/W를 이용하여 롤백을 수행하여 업데이트 실패를 복구할 수 있다.
도 2는 본 발명의 실시 예들에 따른 차량 소프트웨어 관리 시스템의 소프트웨어 복구 방법을 도시한 흐름도이다.
관리제어기(210)는 차량(200)에 전원이 공급되면 롤백용 S/W 패키지를 보유하고 있는지를 확인(체크)할 수 있다(S100). 관리제어기(210)의 처리부(213)는 롤백용 S/W 패키지가 저장부(212)에 저장되어 있는지를 확인할 수 있다.
관리제어기(210)는 롤백용 S/W 패키지 보유 여부 확인결과를 OTA 서버(100)에 전송할 수 있다(S110). 관리제어기(210)는 롤백용 S/W 패키지 보유 여부 확인결과 전송 시 차량 정보 및 각 수행제어기(220)에 탑재된 S/W 버전 정보를 함께 OTA 서버(100)에 전송할 수 있다. 관리제어기(210)는 차량(200)이 생산된 직후 또는 관리제어기(210)가 신품으로 교체된 경우, 롤백용 S/W 패키지를 보유하지 않을 수 있다.
OTA 서버(100)는 관리제어기(210)로부터 수신한 롤백용 S/W 패키지 보유 여부 확인결과를 통해 관리제어기(210)가 롤백용 S/W 패키지를 미보유했는지를 확인할 수 있다(S120).
OTA 서버(100)는 관리제어기(210)가 롤백용 S/W 패키지를 미보유한 경우, 롤백용 S/W 패키지를 관리제어기(210)에 전송할 수 있다(S130).
OTA 서버(100)는 관리제어기(210)가 롤백용 S/W 패키지를 보유한 경우, 업데이트용 S/W 패키지를 관리제어기(210)에 전송할 수 있다(S140). OTA 서버(100)는 관리제어기(210)가 롤백용 S/W 패키지를 보유하고 있으면, 관리제어기(210)로부터 수신한 차량 정보 및 S/W 버전 정보에 기반하여 S/W 업데이트 필요 여부를 판단할 수 있다. OTA 서버(100)는 수행제어기(220)에 탑재된 S/W의 버전 정보와 OTA 서버(100)에 등록된 신규 S/W의 버전 정보를 비교하여 최신 버전 S/W가 있는지를 확인할 수 있다. OTA 서버(100)는 수행제어기(220)에 탑재된 S/W에 대응하는 최신 버전 S/W가 있는 경우, 해당 최신 버전 S/W를 포함하는 업데이트용 S/W 패키지를 관리제어기(210)에 전송할 수 있다. 또한, OTA 서버(100)는 업데이트용 S/W 패키지와 함께 업데이트 실행 명령을 관리제어기(210)에 전송할 수 있다.
관리제어기(210)는 OTA 서버(100)로부터 업데이트용 S/W 패키지를 수신하여 수행제어기(220)에 업데이트용 S/W를 전송할 수 있다(S150). 관리제어기(210)는 OTA 서버(100)로부터 업데이트용 S/W 패키지를 다운로드 받은 후 업데이트용 S/W 패키지를 파싱하여 수행제어기(220)에 업데이트용 S/W를 전송할 수 있다.
수행제어기(220)는 관리제어기(210)로부터 제공받은 업데이트용 S/W를 이용하여 이전 버전의 S/W를 최신 버전의 S/W로 업데이트를 실행할 수 있다(S160). 수행제어기(220)는 업데이트용 S/W를 이용하여 리프로그래밍을 수행할 수 있다.
수행제어기(220)는 업데이트 진행 후 업데이트 성공 여부를 포함하는 업데이트 결과를 관리제어기(210)에 전송할 수 있다(S170). 수행제어기(220)는 업데이트 성공 또는 업데이트 실패를 포함하는 업데이트 처리 결과를 관리제어기(210)에 전송할 수 있다.
관리제어기(210)는 수행제어기(220)로부터 전송되는 업데이트 결과에 근거하여 수행제어기(220)의 업데이트 성공 여부를 판단할 수 있다(S180).
관리제어기(210)는 수행제어기(220)의 업데이트 성공 시 업데이트용 S/W 패키지를 롤백용 S/W 패키지로 치환할 수 있다(S190). 관리제어기(210)는 업데이트용 S/W 패키지를 새로운 롤백용 S/W 패키지로 설정할 수 있다.
관리제어기(210)는 기저장된 기존의 롤백용 S/W 패키지를 삭제할 수 있다(S200). 이후, 관리제어기(210)는 다음 업데이트 시 새로운 롤백용 S/W 패키지를 롤백에 이용할 수 있다.
S180에서, 수행제어기(220)의 업데이트 실패가 확인되면, 관리제어기(210)는 롤백용 S/W를 수행제어기(220)에 전송할 수 있다(S210). 관리제어기(210)는 기저장된 롤백용 S/W 패키지를 파싱하여 롤백용 S/W를 수행제어기(220)에 전송할 수 있다.
수행제어기(220)는 롤백용 S/W를 이용하여 롤백을 수행할 수 있다(S220). 수행제어기(220)는 롤백을 통해 이전 S/W로 되돌리므로 S/W를 복구할 수 있다.
도 3은 본 발명의 실시 예들에 따른 차량 소프트웨어 업데이트 실패 시 복구 방법을 실행하는 컴퓨팅 시스템을 보여주는 블록도이다.
도 3을 참조하면, 컴퓨팅 시스템(1000)은 버스(1200)를 통해 연결되는 적어도 하나의 프로세서(1100), 메모리(1300), 사용자 인터페이스 입력 장치(1400), 사용자 인터페이스 출력 장치(1500), 스토리지(1600), 및 네트워크 인터페이스(1700)를 포함할 수 있다.
프로세서(1100)는 중앙 처리 장치(CPU) 또는 메모리(1300) 및/또는 스토리지(1600)에 저장된 명령어들에 대한 처리를 실행하는 반도체 장치일 수 있다. 메모리(1300) 및 스토리지(1600)는 다양한 종류의 휘발성 또는 비휘발성 저장 매체를 포함할 수 있다. 예를 들어, 메모리(1300)는 ROM(Read Only Memory)(1310) 및 RAM(Random Access Memory)(1320)을 포함할 수 있다.
따라서, 본 명세서에 개시된 실시 예들과 관련하여 설명된 방법 또는 알고리즘의 단계는 프로세서(1100)에 의해 실행되는 하드웨어, 소프트웨어 모듈, 또는 그 2 개의 결합으로 직접 구현될 수 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터, 하드 디스크, 착탈형 디스크, CD-ROM과 같은 저장 매체(즉, 메모리(1300) 및/또는 스토리지(1600))에 상주할 수도 있다. 예시적인 저장 매체는 프로세서(1100)에 커플링되며, 그 프로세서(1100)는 저장 매체로부터 정보를 판독할 수 있고 저장 매체에 정보를 기입할 수 있다. 다른 방법으로, 저장 매체는 프로세서(1100)와 일체형일 수도 있다. 프로세서(1100) 및 저장 매체는 주문형 집적회로(ASIC) 내에 상주할 수도 있다. ASIC는 사용자 단말기 내에 상주할 수도 있다. 다른 방법으로, 프로세서(1100) 및 저장 매체는 사용자 단말기 내에 개별 컴포넌트로서 상주할 수도 있다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시 예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시 예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.

Claims (16)

  1. 차량에 탑재되어 수행제어기의 S/W 업데이트를 수행하는 관리제어기; 및
    상기 관리제어기의 롤백용 S/W 패키지 보유 여부에 따라 상기 롤백용 S/W 패키지 및 업데이트용 S/W 패키지를 상기 관리제어기에 전송하는 OTA 서버를 포함하고,
    상기 관리제어기는 상기 업데이트용 S/W 패키지를 이용한 상기 수행제어기의 S/W 업데이트 실패 시 상기 롤백용 S/W 패키지를 이용하여 상기 수행제어기의 S/W를 롤백하는 것을 특징으로 하는 차량 소프트웨어 관리 시스템.
  2. 청구항 1에 있어서,
    상기 OTA 서버는,
    상기 관리제어기가 상기 롤백용 S/W 패키지를 미보유한 경우, 상기 롤백용 S/W 패키지와 함께 차량 정보 및 상기 수행제어기에 탑재된 S/W 버전 정보를 상기 관리제어기에 전송하는 것을 특징으로 하는 차량 소프트웨어 관리 시스템.
  3. 청구항 1에 있어서,
    상기 OTA 서버는,
    상기 관리제어기가 상기 롤백용 S/W 패키지를 보유한 경우, 상기 업데이트용 S/W 패키지와 함께 업데이트 실행 명령을 상기 관리제어기에 전송하는 것을 특징으로 하는 차량 소프트웨어 관리 시스템.
  4. 청구항 1에 있어서,
    상기 관리제어기는,
    상기 수행제어기의 S/W 업데이트 성공 시 상기 업데이트용 S/W 패키지를 새로운 롤백용 S/W 패키지로 설정하는 것을 특징으로 하는 차량 소프트웨어 관리 시스템.
  5. 청구항 1에 있어서,
    상기 관리제어기는,
    기존 롤백용 S/W 패키지를 삭제하는 것을 특징으로 하는 차량 소프트웨어 관리 시스템.
  6. OTA 서버와 무선 통신을 수행하는 통신부; 및
    상기 통신부와 전기적으로 연결되는 처리부를 포함하고,
    상기 처리부는,
    차량에 전원이 공급되면 롤백용 S/W 패키지 보유 여부를 확인하고,
    상기 롤백용 S/W 패키지 미보유 시 상기 OTA 서버로부터 상기 롤백용 S/W 패키지를 다운로드하고,
    상기 OTA 서버로부터 업데이트용 S/W 패키지를 다운로드하고,
    상기 업데이트용 S/W 패키지를 이용하여 수행제어기의 S/W 업데이트를 수행하고,
    상기 S/W 업데이트 실패 시 상기 롤백용 S/W 패키지를 이용하여 상기 수행제어기의 S/W를 롤백하는 것을 특징으로 하는 관리제어기.
  7. 청구항 6에 있어서,
    상기 처리부는,
    상기 롤백용 S/W 패키지 보유 여부를 확인한 후 확인 결과와 함께 차량 정보 및 상기 수행제어기에 탑재된 S/W 버전 정보를 상기 OTA 서버에 전송하는 것을 특징으로 하는 관리제어기.
  8. 청구항 6에 있어서,
    상기 처리부는,
    상기 롤백용 S/W 패키지 보유 시 상기 OTA 서버로부터 업데이트용 S/W 패키지를 다운로드하는 것을 특징으로 하는 관리제어기.
  9. 청구항 6에 있어서,
    상기 처리부는,
    상기 수행제어기의 S/W 업데이트 성공 시 상기 업데이트용 S/W 패키지를 새로운 롤백용 S/W 패키지로 설정하는 것을 특징으로 하는 관리제어기.
  10. 청구항 9에 있어서,
    상기 처리부는,
    기존 롤백용 S/W 패키지를 삭제하는 것을 특징으로 하는 관리제어기.
  11. 청구항 6에 있어서,
    상기 수행제어기는,
    차량에 탑재되어 기정해진 기능을 수행하는 전자제어장치인 것을 특징으로 하는 관리제어기.
  12. 관리제어기가 차량에 전원이 공급되면 롤백용 S/W 패키지 보유 여부를 확인하는 단계;
    상기 관리제어기가 상기 롤백용 S/W 패키지 미보유 시 OTA 서버로부터 상기 롤백용 S/W 패키지를 다운로드하는 단계;
    상기 관리제어기가 상기 OTA 서버로부터 업데이트용 S/W 패키지를 다운로드하는 단계;
    상기 관리제어기가 상기 업데이트용 S/W 패키지를 이용하여 수행제어기의 S/W 업데이트를 수행하는 단계; 및
    상기 관리제어기가 상기 S/W 업데이트 실패 시 상기 롤백용 S/W 패키지를 이용하여 상기 수행제어기의 S/W를 롤백하는 단계를 포함하는 것을 특징으로 하는 차량 소프트웨어 관리 시스템의 소프트웨어 복구 방법.
  13. 청구항 12에 있어서,
    상기 롤백용 S/W 패키지를 다운로드하는 단계는,
    상기 관리제어기가 상기 롤백용 S/W 패키지 보유 여부를 확인한 결과와 함께 차량 정보 및 상기 수행제어기에 탑재된 S/W 버전 정보를 상기 OTA 서버에 전송하는 단계; 및
    상기 OTA 서버가 상기 롤백용 S/W 패키지 보유 여부를 확인한 결과를 토대로 상기 관리제어기의 롤백용 S/W 패키지 미보유를 확인하면 상기 롤백용 S/W 패키지를 상기 관리제어기에 전송하는 단계를 포함하는 것을 특징으로 하는 차량 소프트웨어 관리 시스템의 소프트웨어 복구 방법.
  14. 청구항 13에 있어서,
    상기 OTA 서버가 상기 관리제어기의 롤백용 S/W 패키지 보유를 확인하면 상기 업데이트용 S/W 패키지와 함께 업데이트 실행 명령을 상기 관리제어기에 전송하는 것을 특징으로 하는 차량 소프트웨어 관리 시스템의 소프트웨어 복구 방법.
  15. 청구항 12에 있어서,
    상기 관리제어기가 상기 수행제어기의 S/W 업데이트 성공 시 상기 업데이트용 S/W 패키지를 새로운 롤백용 S/W 패키지로 설정하는 단계를 더 포함하는 것을 특징으로 하는 차량 소프트웨어 관리 시스템의 소프트웨어 복구 방법.
  16. 청구항 15에 있어서,
    상기 관리제어기가 기존 롤백용 S/W 패키지를 삭제하는 단계를 더 포함하는 것을 특징으로 하는 차량 소프트웨어 관리 시스템의 소프트웨어 복구 방법.
KR1020210107197A 2021-08-13 2021-08-13 차량 소프트웨어 관리 시스템 및 그의 소프트웨어 복구 방법 KR20230025107A (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020210107197A KR20230025107A (ko) 2021-08-13 2021-08-13 차량 소프트웨어 관리 시스템 및 그의 소프트웨어 복구 방법
US17/708,812 US20230051776A1 (en) 2021-08-13 2022-03-30 Vehicle software management system and method for recovering software thereof
DE102022108309.8A DE102022108309A1 (de) 2021-08-13 2022-04-06 Fahrzeugsoftware-verwaltungssystem und verfahren zur wiederherstellung von software davon
CN202210363141.4A CN115705268A (zh) 2021-08-13 2022-04-07 车辆软件管理系统及用于恢复其软件的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210107197A KR20230025107A (ko) 2021-08-13 2021-08-13 차량 소프트웨어 관리 시스템 및 그의 소프트웨어 복구 방법

Publications (1)

Publication Number Publication Date
KR20230025107A true KR20230025107A (ko) 2023-02-21

Family

ID=85040008

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210107197A KR20230025107A (ko) 2021-08-13 2021-08-13 차량 소프트웨어 관리 시스템 및 그의 소프트웨어 복구 방법

Country Status (4)

Country Link
US (1) US20230051776A1 (ko)
KR (1) KR20230025107A (ko)
CN (1) CN115705268A (ko)
DE (1) DE102022108309A1 (ko)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10146520B1 (en) * 2010-12-14 2018-12-04 Ivanti, Inc. Updating a running application on a computing device
US9557981B2 (en) * 2011-07-26 2017-01-31 Ford Global Technologies, Llc Method and apparatus for automatic module upgrade
JP2019036238A (ja) * 2017-08-21 2019-03-07 株式会社東芝 更新制御装置、端末、更新制御方法およびプログラム
FI3780481T3 (fi) * 2018-04-30 2024-05-16 Huawei Int Pte Ltd Menetelmä ajoneuvoon asennetun laitteen päivittämiseksi, ja vastaava laite

Also Published As

Publication number Publication date
US20230051776A1 (en) 2023-02-16
DE102022108309A1 (de) 2023-02-16
CN115705268A (zh) 2023-02-17

Similar Documents

Publication Publication Date Title
CN109478155B (zh) 车载更新装置、车载更新系统及通信装置的更新方法
US10871959B2 (en) Vehicle control device and program update system
US11967188B2 (en) Vehicle mounted update apparatus, update processing program, and program update method
US11204757B2 (en) Server, software update system, and software update apparatus
US20220156057A1 (en) In-vehicle update device, update processing program, and program update method
US11630659B2 (en) In-vehicle update device, update processing program, and program update method
US11914871B2 (en) Electronic control device and program-update method
CN112416406A (zh) 终端设备升级方法、装置、终端设备和介质
KR102610730B1 (ko) 차량의 업데이트 제공 장치 및 컴퓨터 기록 매체
CN112698851B (zh) 程序更新系统、程序传送装置和程序传送方法
US11449329B2 (en) Vehicle control device and program update system
US11853742B2 (en) Server, software update system, distribution method, and non-transitory storage medium
US20220276851A1 (en) Vehicle controller, updated program, program updating system, and writing device
JP2022015169A (ja) ソフトウェア更新装置、方法、プログラムおよび車両
KR20230025107A (ko) 차량 소프트웨어 관리 시스템 및 그의 소프트웨어 복구 방법
KR20200121657A (ko) 차량의 업데이트 제공 장치 및 방법
US20220244946A1 (en) Ota master, update control method, non-transitory storage medium, and vehicle
CN110704076A (zh) 数据处理方法和装置、车载控制器及计算机可读存储介质
CN113672258A (zh) 车辆的系统升级方法、装置、计算机设备和存储介质
KR20210151498A (ko) 차량 업데이트 시스템 및 방법
CN114647424A (zh) Ecu应用程序更新方法、装置、系统、存储介质和电子设备
US20220405083A1 (en) Ota master, system, method, non-transitory storage medium, and vehicle
US20220342653A1 (en) Ota master, center, system, update method, non-transitory storage medium, and vehicle
CN113946356A (zh) 电子控制器程序的更新方法、装置、电子控制器
CN115244505A (zh) 信息处理装置、程序更新系统以及程序更新方法