KR20230015199A - 차량 컨트롤러의 업그레이드 관리 시스템 및 방법 - Google Patents

차량 컨트롤러의 업그레이드 관리 시스템 및 방법 Download PDF

Info

Publication number
KR20230015199A
KR20230015199A KR1020210096658A KR20210096658A KR20230015199A KR 20230015199 A KR20230015199 A KR 20230015199A KR 1020210096658 A KR1020210096658 A KR 1020210096658A KR 20210096658 A KR20210096658 A KR 20210096658A KR 20230015199 A KR20230015199 A KR 20230015199A
Authority
KR
South Korea
Prior art keywords
event
controller
version
virtual
vehicle
Prior art date
Application number
KR1020210096658A
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 KR1020210096658A priority Critical patent/KR20230015199A/ko
Publication of KR20230015199A publication Critical patent/KR20230015199A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/40Business processes related to the transportation industry
    • G06Q50/30
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R16/00Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
    • B60R16/02Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
    • B60R16/023Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements for transmission of signals between vehicle parts or subsystems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Mechanical Engineering (AREA)
  • Computer Security & Cryptography (AREA)
  • Tourism & Hospitality (AREA)
  • Operations Research (AREA)
  • Health & Medical Sciences (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명은 차량 업그레이트 관리 시스템에 관한 것으로, 차량을 제어하는 다수의 컨트롤러, 컨트롤러의 버전 정보를 외부의 서버로 제공하고 서버로부터 이벤트 단위로 컨트롤러의 소프트웨어를 제공받아서 컨트롤러를 업그레이드하는 통신제어장치, 및 통신제어장치로부터 제공받은 컨트롤러의 버전 조합이 미리 저장되어 있는 이벤트 상의 버전 조합과 일치하지 않는 경우 차량으로부터 제공받은 컨트롤러 버전 조합에 기초하여 가상 이벤트를 생성하고 가상 이벤트를 통신제어장치로 무선 전송하는 서버를 포함한다.

Description

차량 컨트롤러의 업그레이드 관리 시스템 및 방법{UPGRADE MANAGEMENT SYSTEM OF CONTROLLER FOR VEHICLE AND METHOD THEREOF}
본 발명은 차량에 구비된 컨트롤러의 소프트웨어를 원격으로 업그레이드할 수 있는 차량 컨트롤러의 업그레이드 관리 시스템 및 방법에 관한 것이다.
OTA(Over The Air) 서버에서 무선 통신망을 통해 차량에 구비된 각종 컨트롤러로 최신 소프트웨어(S/W)를 전송하여 업그레이드를 진행함으로써, 고객이 정비소를 방문하지 않고도 각 컨트롤러에서 최신 기능의 소프트웨어가 실행될 수 있게 한 OTA 서비스가 이용되고 있다.
이러한 OTA 서비스를 진행하기 위하여, 차량에 구비된 컨트롤러 각각에 대한 소프트웨어를 버전별로 관리함과 아울러 한 번의 업그레이드에 의해 버전이 변경되는 컨트롤러와 변경되지 않는 컨트롤러의 버전 조합을 이벤트 단위로 관리하고 컨트롤러에의 업그레이드 적용을 위한 스케줄링을 수행하도록 원격지에 구비되는 OTA 서버와, 이벤트 단위로 전송되는 소프트웨어를 상기 OTA 서버로부터 다운받아 차량에 구비된 각 컨트롤러의 버전을 업그레이드하도록 차량에 구비되는 통신제어장치(CCU : Central Communication Unit)를 포함한다.
이때, 상기 OTA 서버는 OTA 서비스를 이용하여 업그레이드할 수 있는 모든 컨트롤러의 버전으로 이루어진 버전 조합을 하나의 이벤트로 저장하고 이벤트 단위로 관리하게 되므로, 차량에의 업데이트 적용도 이벤트 단위로 순차적으로 진행되어야 한다.
그러나, 차량에 구비된 일부 컨트롤러의 고장 등으로 부품을 교체할 경우, 교체된 컨트롤러로 인하여 차량에 적용되어 있는 최근 이벤트 상의 컨트롤러 버전 조합과 달라질 수 있으며, 이와 같이 컨트롤러 버전 조합이 달라지면서 이벤트 룰이 깨지게 될 경우 더 이상 OTA 서버를 이용한 업그레이드를 실행할 수 없는 문제점이 있었다.
그에 따라, 차량에 구비된 일부 컨트롤러의 교체가 있을 경우 각 컨트롤러의 소프트웨어 버전을 수동으로 업그레이드하여야 하였으며, 이를 위해 불필요한 맨 아워(Man Hour)가 투입되어야 하였고, 그로 인한 추가적인 정비 비용이 소모되는 문제점이 있었다.
본 발명의 실시예는, 차량에 적용되어 있는 컨트롤러의 현재 버전 조합이 부품 교체 등에 의해 OTA 서버에 미리 저장되어 있는 이벤트상의 컨트롤러 버전 조합과 일치하지 않게 될 경우, OTA 서버에서 부품이 교체된 차량의 현재 컨트롤러 버전에 맞춘 새로운 가상 이벤트를 해당 차량만의 일시적인 이벤트로 생성하고 그러한 가상 이벤트에 의해 업그레이드가 진행되게 함으로써, 부품 교체 후에도 OTA 서비스에 의한 업그레이드를 가능하게 한 차량 컨트롤러의 업그레이드 관리 시스템 및 방법을 제공하는 것을 기술적 과제로 한다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재들로부터 당업자에게 명확하게 이해될 수 있을 것이다.
본 발명은 차량 업그레이트 관리 시스템에 관한 것으로, 차량을 제어하는 다수의 컨트롤러, 컨트롤러의 버전 정보를 외부의 서버로 제공하고 서버로부터 이벤트 단위로 컨트롤러의 소프트웨어를 제공받아서 컨트롤러를 업그레이드하는 통신제어장치, 및 통신제어장치로부터 제공받은 컨트롤러의 버전 조합이 미리 저장되어 있는 이벤트 상의 버전 조합과 일치하지 않는 경우 차량으로부터 제공받은 컨트롤러 버전 조합에 기초하여 가상 이벤트를 생성하고 가상 이벤트를 통신제어장치로 무선 전송하는 서버를 포함한다.
또한, 상기 통신제어장치는, 차량의 키 온시에 상기 컨트롤러에 현재 설치되어 있는 소프트웨어의 버전 정보를 확인하고, 확인된 버전 정보를 포함하는 버전 조합을 생성하여 상기 OTA 서버로 전송하는 버전 정보 송출부; 및 무선 통신망 상에서 상기 OTA 서버로부터 상기 가상 이벤트에 포함되어 있는 서브 이벤트들을 수신하여, 상기 컨트롤러에 설치되어 있는 소프트웨어의 버전을 순차적으로 업그레이드시키는 업그레이드 실행부;를 포함하는 것을 특징으로 한다.
또한, 상기 OTA 서버는, 상기 통신제어장치로부터 수신한 컨트롤러의 버전 조합을 데이터베이스에 저장되어 있는 이벤트 상의 버전 조합과 비교하는 버전 정보 확인부; 버전 조합이 일치하는 이벤트가 검색되지 않을 경우, 각 컨트롤러의 버전이 포함되어 있는 이벤트를 데이터베이스에서 탐색하여 최고 이벤트와 최저 이벤트를 결정하는 최고 및 최저 이벤트 결정부; 상기 최저 이벤트의 다음 이벤트에서 시작하여 최고 이벤트에 순차적으로 이르도록 연속적인 업그레이드를 진행할 수 있는 가상 이벤트를 생성하여 저장하는 가상 이벤트 생성부; 및 무선 통신망을 통해 상기 가상 이벤트에 포함되어 있는 각 서브 이벤트의 파일을 상기 통신제어장치로 순차 전송하는 가상 이벤트 전송부;를 포함하는 것을 특징으로 한다.
또한, 상기 최고 및 최저 이벤트 결정부는, 상기 통신제어장치로부터 수신한 버전 조합에서, 버전이 가장 높은 레벨에 도달한 컨트롤러가 그 레벨에 도달하기 위한 이벤트를 최고 이벤트로 결정하고, 버전이 가장 낮은 레벨에 머무르고 있는 컨트롤러가 그 레벨을 유지하기 위한 이벤트를 최저 이벤트로 결정하는 것을 특징으로 한다.
또한, 상기 가상 이벤트 생성부는, 상기 최저 이벤트의 다음 이벤트부터 시작하여 상기 최고 이벤트까지 연속적으로 이르기 위한 이벤트들을 서브 이벤트로 선택하여 순차적으로 결합한 가상 이벤트를 버전 조합이 일치하지 않는 특정 차량만을 위한 일시적인 이벤트로 생성하는 것을 특징으로 한다.
또한, 상기 가상 이벤트 생성부는, 상기 가상 이벤트에 포함되는 서브 이벤트를 상기 최고 및 최저 이벤트 결정부에서 가장 높은 버전이 적용된 것으로 특정된 컨트롤러의 소프트웨어 버전은 그대로 유지하면서 나머지 컨트롤러에 대한 버전을 업그레이드하도록 설정하는 것을 특징으로 한다.
또한, 상기 OTA 서버는, 상기 가상 이벤트에 포함되어 있는 서브 이벤트에 의해 순차적으로 진행될 업그레이드의 횟수를 산출한 후, 상기 통신제어장치로 전송하여 차량에 팝업 형태로 표출시키는 업그레이드 횟수 안내부;를 더 포함하는 것을 특징으로 한다.
또한, 상기 OTA 서버는, 상기 가상 이벤트 전송부에 의해 순차적으로 전송되는 각 서브 이벤트에 의한 컨트롤러의 업그레이드가 완료된 후, 해당 차량을 위해 생성되었던 가상 이벤트를 삭제하고 업그레이드를 종료하는 가상 이벤트 삭제부;를 더 포함하는 것을 특징으로 한다.
또한, 본 발명의 실시예에 따른 차량 컨트롤러의 업그레이드 관리 방법은, 서버가 차량의 통신제어장치로부터 컨트롤러의 버전 조합을 제공받고, 상기 버전 조합을 미리 저장된 이벤트 상의 버전 조합과 비교하는 버전 정보 확인단계, 상기 서버가, 상기 버전 조합이 일치하는 이벤트가 검색되지 않을 경우, 상기 차량으로부터 제공받은 컨트롤러 버전 조합에 기초하여 가상 이벤트를 생성하는 가상 이벤트 생성단계 및 상기 서버가, 상기 가상 이벤트에 포함되어 있는 각 서브 이벤트의 파일을 상기 통신제어장치로 제공하는 가상 이벤트 전송단계를 포함한다.
또한, 상기 통신제어장치로부터 수신한 버전 조합에서, 버전이 가장 높은 레벨에 도달한 컨트롤러가 그 레벨에 도달하기 위한 이벤트를 최고 이벤트로 결정하고, 버전이 가장 낮은 레벨에 머무르고 있는 컨트롤러가 그 레벨을 유지하고 있는 이벤트를 확인하여 최저 이벤트로 결정하는 최고 및 최저 이벤트 결정단계를 더 포함하는 것을 특징으로 한다.
또한, 상기 가상 이벤트 생성단계는, 상기 최저 이벤트의 다음 이벤트부터 시작하여 상기 최고 이벤트까지 연속적으로 이르기 위한 이벤트들을 서브 이벤트로 선택하여 순차적으로 결합한 가상 이벤트를 버전 조합이 일치하지 않는 특정 차량만을 위한 일시적인 이벤트로 생성하는 것을 특징으로 한다.
또한, 상기 가상 이벤트 생성단계는, 상기 가상 이벤트를 생성함에 있어, 상기 가상 이벤트에 포함되는 서브 이벤트를 상기 최고 및 최저 이벤트 결정단계에서 가장 높은 버전이 적용된 것으로 특정된 컨트롤러의 소프트웨어 버전은 그대로 유지하면서 나머지 컨트롤러에 대한 버전을 업그레이드하도록 설정하는 것을 특징으로 한다.
또한, 상기 가상 이벤트 전송단계 이후, 무선 통신망 상에서 상기 OTA 서버로부터 전송되는 가상 이벤트에 포함되어 있는 서브 이벤트들을 순차적으로 수신한 통신제어장치에서 각 서브 이벤트에 의해 컨트롤러의 소프트웨어 버전을 순차적으로 업그레이드하는 업그레이드 실행단계;를 더 포함하는 하는 것을 특징으로 한다.
또한, 상기 가상 이벤트 전송단계에서 상기 가상 이벤트에 포함되어 있는 서브 이벤트의 전송이 실행되기 전에, 상기 가상 이벤트에 포함되어 있는 서브 이벤트에 의해 순차적으로 진행될 업그레이드의 횟수를 산출한 후, 상기 통신제어장치로 전송하여 차량에 팝업 형태로 표출시키는 업그레이드 횟수 안내단계;를 더 포함하는 것을 특징으로 한다.
또한, 상기 가상 이벤트 전송단계에 의해 순차적으로 전송되는 각 서브 이벤트에 의한 컨트롤러의 업그레이드가 완료된 후, 해당 차량을 위해 생성되었던 가상 이벤트를 상기 OTA 서버에서 삭제하고 업그레이드를 종료하는 가상 이벤트 삭제단계;를 더 포함하는 것을 특징으로 한다.
본 발명은 부품의 교체 등으로 인해 일부 컨트롤러에 적용되는 소프트웨어의 버전이 변경되어 OTA 서버에 저장되어 있는 기존의 이벤트와 일치하지 않게 된 경우에도, OTA 서비스를 이용하여 무선으로 원격 업그레이드를 실행함으로써, 불필요한 시간과 비용의 소모를 감소시킬 수 있어 OTA 서비스의 적용 범위를 확대시킬 수 있는 효과가 있다.
이 외에, 본 문서를 통해 직접적 또는 간접적으로 파악되는 다양한 효과들이 제공될 수 있다.
도 1은 본 발명에 따른 차량 컨트롤러의 업그레이드 관리 시스템에 대한 블록 구성도.
도 2는 OTA 서버를 이용한 차량 컨트롤러의 업그레이드 관리 시스템에 대한 구성도.
도 3은 OTA 서버에 의해 이벤트 단위로 진행되는 업그레이드에 의한 컨트롤러의 버전 변경을 나타내는 예시도.
도 4는 부품 교체시 이벤트 룰이 깨지는 일 예를 나타내는 예시도.
도 5는 본 발명에 따라 부품 교체로 인해 이벤트 룰이 깨질 경우 OTA 서버에서 생성되는 가상 이벤트의 일 예를 나타내는 예시도.
도 6은 본 발명에 따른 차량 컨트롤러의 업그레이드 관리 방법에 대한 구성도.
도 7은 본 발명에 따라 가상 이벤트에 의한 업그레이드가 진행되는 플로우를 나타내는 흐름도.
이하, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명의 실시예를 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 실시예에 대한 이해를 방해한다고 판단되는 경우에는 그 상세한 설명은 생략한다.
본 발명의 실시예의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 또한, 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 도 1 내지 도 7을 참조하여, 본 발명의 실시예들을 구체적으로 설명하기로 한다.
도 1은 본 발명에 따른 차량 컨트롤러의 업그레이드 관리 시스템에 대한 블록 구성도이고, 도 2는 OTA 서버를 이용한 차량 컨트롤러의 업그레이드 시스템에 대한 구성도이다.
도 1 및 도 2를 참조하면, 본 발명에 따른 차량 컨트롤러의 업그레이드 관리 시스템은, 차량의 제어를 위해 구비되어 있는 다수의 컨트롤러(100)와, 차량의 키 온(Key On)시에 상기 컨트롤러의 버전 정보를 격지에 있는 OTA 서버로 무선 전송하고 상기 OTA 서버에서 이벤트 단위로 전송되는 상기 컨트롤러의 소프트웨어를 다운받아 각 컨트롤러에 대한 업그레이드를 실행하는 통신제어장치(CCU) (200)와, 상기 통신제어장치로부터 수신한 컨트롤러의 버전 조합이 미리 저장되어 있는 이벤트상의 버전 조합과 일치하지 않는 경우 각 컨트롤러의 버전이 포함되어 있는 최고 이벤트와 최저 이벤트를 결정하고 상기 최저 이벤트의 다음 이벤트에서 시작하여 최고 이벤트에 순차적으로 이르는 가상 이벤트를 생성한 후 상기 통신제어장치로 무선 전송하는 OTA 서버(300)를 포함할 수 있다.
이때, 상기 컨트롤러(100)는, 운전자의 요구에 대응하거나 주행을 위한 각종 신호를 최적의 상태로 제어하기 위하여 차량에 구비되어 있는 다수의 제어기로 구성될 수 있다. 현재 양산 중인 차량들은 최대 약 50개의 컨트롤러가 장착되어 있으며, 이러한 컨트롤러의 개수가 차량마다 상이하게 증감될 수 있음은 물론이다.
상기 컨트롤러(100)는 탑재되는 소프트웨어를 변경함으로써 수행되는 기능의 버전을 업그레이드할 수 있다. 그에 따라, 컨트롤러(100)의 소프트웨어를 변경하기 위한 방법 중의 하나로서, 차량을 정비 거점에 입고시킨 후 정비사가 진단기를 사용하여 각 컨트롤러에 탑재되어 있는 소프트웨어의 현재 버전을 확인하고 최신 소프트웨어로 업그레이드할 수 있다.
그러나, 이와 같이 차량을 정비 거점에 입고시켜 업그레이드할 경우에 발생될 수 있는 시간과 비용의 소모를 방지하기 위하여, 상기 컨트롤러(100)는 무선 통신망상에서 상기 OTA 서버로부터 업그레이드할 소프트웨어를 수신하는 OTA 서비스를 이용하여 원격으로 업그레이드를 수행할 수도 있다.
또한, 상기 통신제어장치(CCU : Central Communication Unit) (200)는, 차량의 키 온(Key On)시에 상기 컨트롤러에 현재 설치되어 있는 소프트웨어의 버전 정보를 확인하고 확인된 버전 정보를 포함하는 버전 조합을 생성하여 상기 OTA 서버로 전송하는 버전 정보 송출부(210)와, 무선 통신망 상에서 상기 OTA 서버로부터 상기 가상 이벤트에 포함되어 있는 서브 이벤트들을 수신하여 상기 컨트롤러에 설치되어 있는 소프트웨어의 버전을 순차적으로 업그레이드시키는 업그레이드 실행부(220)를 포함할 수 있다.
이때, 상기 버전 정보 송출부(210)는, 상기 컨트롤러(100)들에 현재 설치되어 있는 소프트웨어의 정보를 확인하여 상기 OTA 서버(300)로 전송함으로써, 상기 OTA 서버(300)에서 차량의 컨트롤러에 설치되어 있는 소프트웨어의 버전이 어느 이벤트에 상응하는지 여부를 파악하여, 다음에 업그레이드를 실행할 이벤트를 선택할 수 있게 한다.
또한, 상기 업그레이드 실행부(220)는, 상기 OTA 서버(300)로부터 차량에 구비된 컨트롤러를 업그레이드하기 위한 소프트웨어들로 이루어진 이벤트 단위의 파일을 제공받아 실행시킴으로써, 해당 컨트롤러(100)의 버전을 업그레이드할 수 있다.
이때, 상기 가상 이벤트가 두 개 이상 복수의 서브 이벤트들이 순차적으로 결합되어 있는 경우, 상기 업그레이드 실행부(220)는 먼저 수신한 서브 이벤트에 포함되어 있는 파일에 의해 컨트롤러의 소프트웨어를 업그레이드시켜 상기 OTA 서버에서 제공하는 이벤트 규칙에 어긋나지 않게 한 후, 다음 서브 이벤트에 포함되어 있는 파일에 의해 컨트롤러의 소프트웨어를 순차적으로 업그레이드할 수 있다.
그에 따라, 가상 이벤트를 형성하는 첫 번째 서브 이벤트뿐만 아니라, 그에 연속하는 두 번째 서브 이벤트에 의한 업그레이드 실행시에도 차량에 구비된 컨트롤러들의 버전 조합이 상기 OTA 서버에서 제공하는 이벤트 규칙에 어긋나지 않게 되어, OTA 서비스에 의한 업그레이드의 실행을 지속할 수 있게 된다.
또한, 상기 OTA 서버(300)는, 상기 컨트롤러 각각에 대한 소프트웨어를 버전별로 저장하여 관리함과 아울러, 상기 컨트롤러의 업그레이드를 완료할 경우 차량에 적용될 수 있는 컨트롤러들의 버전 조합을 하나의 이벤트로 관리할 수 있다. 그에 따라, 컨트롤러의 버전은 이러한 이벤트 단위로 개발 및 검증이 이루어진 후 차량에 적용된다.
예를 들어, 도 3에 도시된 바와 같이 컨트롤러 A, 컨트롤러 B, 컨트롤러 C, 컨트롤러 D, 컨트롤러 E 등으로 이루어진 차량의 첫번째 버전인 이벤트 0(도 3에서는 'E0(1st)'로 표현함)에서는 컨트롤러 A 부터 컨트롤러 E까지 모든 컨트롤러에 1번 버전의 소프트웨어가 설치되어 있는 상태를 나타낸다.
이후, 상기 OTA 서버(300)에 의해 컨트롤러 A, 컨트롤러 B 및 컨트롤러 E에 소프트웨어의 신규 버전이 설치되면서, 이러한 컨트롤러들을 포함하는 나머지 컨트롤러들의 묶음을 나타내는 두 번째 버전을 이벤트 1(E1(2nd))로 관리하게 된다.
그에 따라, 이벤트 1에 의한 업그레이드 이후 차량에 구비된 컨트롤러 A 내지 컨트롤러 E에 설치되어 있는 소프트웨어의 버전은 이벤트 0의 상태(소프트웨어의 버전만으로 표현할 경우 1,1,1,1,1로 나타낼 수 있다)에서 이벤트 1의 상태(2,2,1,1,2)로 변경된다.
이와 같이 컨트롤러의 버전을 이벤트 단위로 관리하는 것은 모든 경우의 수에 해당하는 컨트롤러의 버전 조합을 고려하여 차량을 개발하기 불가능하기 때문이라 할 것이다. 만약 모든 경우의 수에 해당하는 컨트롤러의 버전 조합을 갖는 차량을 운행하게 된다면, 이러한 모든 조합에 대하여 국가 기관의 인증 및 승인을 받아야 차량의 판매 및 운행이 가능하게 되므로, 현실적으로 적용하기는 어려운 실정이다. 그에 따라, 차량에 적용될 수 있는 모든 컨트롤러들의 버전 조합을 하나의 이벤트 단위로 관리함으로써, 이러한 버전 조합을 갖는 차량만이 판매 및 운행될 수 있게 하고 있다.
그로 인하여 차량에 구비되어 있는 컨트롤러들에 설치되는 소프트웨어의 버전은 상기 OTA 서버(300)에 저장되어 있는 이벤트 단위로 업그레이드 되어야 하며, 이벤트 단위를 건너뛰지 않고 순차적으로 업그레이드가 진행되어야 한다.
이때, 각 이벤트에 반영되어 있는 새로운 버전의 소프트웨어(S/W)는 하나의 패키지 개념이 아닌 특정 부분만 변경되는 경우가 자주 있다.
예를 들어, 컨트롤러 A에 설치된 소프트웨어 전체가 10개의 기능을 구현할 경우, 이벤트 1(E1)에 반영된 버전2(V2)에서는 상기 컨트롤러 A의 10개의 기능 중 1개의 기능만 변경하여 적용시키는 소프트웨어를 설치하게 된다. 즉, 상기 컨트롤러 A의 기능이 1,2,3,4,5,6,7,8,9,10 이라면, 이벤트 1(E1)에 의한 컨트롤러 A의 버전2(V2)는 기능 2를 기능 2a로 업그레이드할 수 있다, 그리고 이벤트 2(E2)에 의한 컨트롤러 A의 버전 3(V3)는 기능 6을 기능 6a로 업그레이드할 수 있다.
그러나, 차량이 장기간 방치되어 있어 이벤트 1에 의한 업그레이드가 이루어지지 않은 상태에서 상기 OTA 서버에 저장되어 있는 최근 이벤트인 이벤트 2에 의한 업그레이드만이 이루어진다면, 하기의 표 1과 같이 컨트롤러 A의 기능은 1,2,3,4,5,6a,7,8,9,10이 될 것이다. 따라서, 이벤트 1에 의해 먼저 업그레이드된 후 이벤트 2에 의해 업그레이드가 순차적으로 진행되었을 경우에 나타날 수 있는 컨트롤러 A의 기능 1,2a,3,4,5,6a,7,8,9,10과는 다른 조합이 발생하게 될 것이다.
이벤트
(Event)
버전
(Version)
컨트롤러 A의 S/W 상태 순차적 적용이 되지 않을 경우의 문제점
E0 V1 1,2,3,4,5,6,7,8,9,10 <- V3 1,2,3,4,5,
6a,7,8,9,10
E1 V2 2->2a 1,2a,3,4,5,6,7,8,9,10
E2 V3 6->6a 1,2a,3,4,5,6a,7,8,9,10
그에 따라, 차량의 모든 컨트롤러에 대한 소프트웨어 버전의 관리가 정확하게 진행되기 위해서는, 상기 OTA 서버와 차량의 통신제어장치(CCU) 상호간, 그리고 상기 통신제어장치(CCU)와 각 컨트롤러들 상호간에 정상적인 커뮤니케이션과 관리가 필요하게 되며, 모든 컨트롤러들에 대한 업그레이드가 순차적으로 진행되도록 관리될 수 있어야 한다.
그러나, 일부 컨트롤러의 경우 차량의 운행 중 발생하게 되는 고장 등으로 인하여 해당 컨트롤러를 비롯한 부품을 교체해야 하는 경우가 빈번하게 발생될 수 있다. 이 경우 교체된 컨트롤러의 버전이 교체 전의 컨트롤러 버전과 일치하지 않게 되면서 이벤트 규칙이 깨질 수 있게 된다. 이처럼 이벤트 규칙이 깨질 경우 상기 OTA 서버에서는 해당 차량에 구비된 컨트롤러의 버전 조합에 상응하는 이벤트를 찾을 수 없게 되고, 그로 인해 더 이상 OTA 서비스를 이용한 업그레이드를 진행하지 못하게 된다.
도 4에서는 상기 OTA 서버에서 차량에 구비된 컨트롤러 A 내지 컨트롤러 J에 대한 소프트웨어 버전을 관리하고 업그레이드하는 이벤트를 이벤트 1 내지 이벤트 5로 나타내고 있으며, 각 이벤트에서 소프트웨어의 버전이 변경(V1에서 V2로 변경, V2에서 V3로 변경 또는 V3에서 V4로 변경)되는 부분을 음영으로 구분 표시하였다.
또한, 차량 1의 경우 이벤트 1까지만 진행된 상태에서 컨트롤러 H가 소프트웨어의 버전이 V4인 부품으로 교체되는 것을 이벤트 1의 아래에 나타내었다. 그리고, 차량 2의 경우 이벤트 3까지 진행된 상태에서 컨트롤러 C가 소프트웨어의 버전이 V1인 재고 부품으로 교체되는 것을 이벤트 3의 아래에 나타내었다.
이때, 차량 1과 차량 2의 경우 교체된 부품의 버전이 그 이전의 이벤트 상에 나타나는 컨트롤러의 버전 조합과 상이하게 되므로 더 이상의 OTA 서비스를 이용한 업그레이드를 진행하지 못하고, 각 컨트롤러의 소프트웨어 버전을 수동으로 업그레이드해야 한다.
이처럼 부품 교체 등으로 인해 수동으로 업그레이드를 해야 할 경우 OTA 서비스의 장점을 충분히 활용하지 못하게 됨으로써, 불필요한 맨 아워(Man Hour)가 소비되어 추가적인 정비 비용과 인력 낭비를 초래할 수 있다.
이러한 정비 비용과 인력 낭비를 방지하기 위하여, 차량에 적용되어 있는 컨트롤러의 현재 버전 조합이 부품 교체 등에 의해 상기 OTA 서버에 미리 저장되어 있는 이벤트상의 컨트롤러 버전 조합과 일치하지 않게 될 경우, 상기 OTA 서버는 부품이 교체된 차량의 현재 컨트롤러 버전에 맞춘 새로운 가상 이벤트를 일시적인 이벤트로 생성하고, 그러한 가상 이벤트에 의해 업그레이드가 진행되게 함으로써 부품 교체 후에도 OTA 서비스에 의한 업그레이드를 가능하게 할 수 있다.
이를 위하여, 상기 OTA 서버(300)는, 상기 통신제어장치로부터 수신한 컨트롤러의 버전 조합을 데이터베이스에 저장되어 있는 이벤트 상의 버전 조합과 비교하는 버전 정보 확인부(310)와, 버전 조합이 일치하는 이벤트가 검색되지 않을 경우 각 컨트롤러의 버전이 포함되어 있는 최고 이벤트와 최저 이벤트를 데이터베이스에서 확인하고 결정하는 최고 및 최저 이벤트 결정부(320)와, 상기 최저 이벤트의 다음 이벤트에서 시작하여 최고 이벤트에 순차적으로 이르도록 연속적인 업그레이드를 진행할 수 있는 가상 이벤트를 생성하여 저장하는 가상 이벤트 생성부(330)와, 무선 통신망을 통해 상기 가상 이벤트에 포함되어 있는 각 서브 이벤트의 파일을 상기 통신제어장치로 순차 전송하는 가상 이벤트 전송부(340)를 포함할 수 있다.
이때, 상기 버전 정보 확인부(310)는, 차량이 키 온(Key On)된 후 상기 통신제어장치(CCU) (200)로부터 전송되는 해당 차량에 구비된 컨트롤러(100)들의 버전을 나타내는 버전 조합을 수신한 후, 데이터베이스에 저장되어 있는 버전 조합과 비교하여 일치하는 버전 조합을 나타내는 이벤트를 확인할 수 있다.
이와 같이, 상기 버전 정보 확인부(310)에서 상기 컨트롤러들에 대한 버전 조합을 이용하여 해당 차량에 어느 정도까지의 업그레이드가 진행되어 있는지 여부를 이벤트 단위로 확인할 수 있고, 다음에 업그레이드를 진행할 이벤트를 결정할 수 있다.
그러나, 상기 데이터베이스에 저장되어 있는 이벤트들 중에서 버전 조합이 일치하는 이벤트가 검색되지 않을 경우, 상기 데이터베이스에 저장되어 있는 이벤트들만으로는 OTA 서비스를 이용한 업그레이드를 진행할 수 없게 된다.
그에 따라, 상기 최고 및 최저 이벤트 결정부(320)는, 버전 조합이 일치하는 이벤트가 검색되지 않을 경우 상기 통신제어장치(CCU) (200)로부터 수신한 버전 조합에서 버전이 가장 높은 레벨에 도달한 컨트롤러가 그 레벨에 도달하기 위한 이벤트를 최고 이벤트로 결정하고, 버전이 가장 낮은 레벨에 머무르고 있는 컨트롤러가 그 레벨을 유지하기 위한 이벤트를 최저 이벤트로 결정할 수 있다.
이를 위하여 상기 최고 및 최저 이벤트 결정부(320)에서는, 각 컨트롤러의 버전 정보를 이벤트에 포함되어 있는 개별적인 컨트롤러의 버전에 매칭시키면서, 가장 높은 레벨에 도달한 컨트롤러가 그 레벨에 도달할 수 있는 가장 낮은 이벤트를 최고 이벤트로 결정하고, 해당 컨트롤러와 그 버전 정보도 함께 특정할 수 있다.
또한, 상기 최고 및 최저 이벤트 결정부(320)에서는, 가장 낮은 레벨을 유지하고 있는 컨트롤러가 그 레벨을 유지하고 있는 가장 높은 이벤트를 최저 이벤트로 결정할 수 있다.
예를 들어, 도 5에 도시된 바와 같이 차량1에 구비된 컨트롤러들이 이벤트 1의 상태를 유지하던 중 부품 교체로 인해 컨트롤러 H가 최신 버전인 버전4(V4)가 적용된 부품으로 교체될 경우, 상기 OTA 서버에 저장되어 있는 컨트롤러의 버전 조합과 일치하지 않는 새로운 버전 조합을 나타내게 된다.
그에 따라, 상기 최고 및 최저 이벤트 결정부(320)에서는, 상기 통신제어장치로부터 수신한 버전 조합 중 가장 높은 버전을 V4로 확인하고 V4가 적용되어 있는 컨트롤러 H를 특정한 후, 상기 컨트롤러 H의 버전이 V4가 되는 이벤트를 상기 데이터베이스에 저장되어 있는 이벤트들 중에서 탐색하여 이벤트 5를 최고 이벤트로 결정할 수 있다.
또한, 상기 최고 및 최저 이벤트 결정부(320)에서는, 상기 통신제어장치로부터 수신한 버전 조합 중 가장 낮은 버전을 V1로 확인하고 V1이 적용되어 있는 컨트롤러 A 내지 컨트롤러 G, 그리고 컨트롤러 I와 컨트롤러 J가 모두 버전1(V1)의 상태가 되는 이벤트를 탐색하여 이벤트 1을 최저 이벤트로 결정할 수 있다.
또한, 도 5에 도시된 새로운 차량2에 구비된 컨트롤러들 중 부품 교체로 인해 컨트롤러 C가 이전 버전인 버전1(V1)이 적용된 재고 부품으로 교체될 경우에도, 상기 OTA 서버에 저장되어 있는 컨트롤러의 버전 조합과 일치하지 않는 새로운 버전 조합을 나타내게 된다.
이 경우 상기 최고 및 최저 이벤트 결정부(320)에서는, 상기 통신제어장치(200)로부터 수신한 버전 조합 중 가장 높은 버전을 V3로 확인하고 V3가 적용되어 있는 컨트롤러 H를 특정한 후, 상기 컨트롤러 H의 버전이 V3가 되는 이벤트를 상기 데이터베이스에 저장되어 있는 이벤트들 중에서 탐색하여 이벤트 4를 최고 이벤트로 결정할 수 있다.
또한, 상기 최고 및 최저 이벤트 결정부(320)에서는, 상기 통신제어장치(200)로부터 수신한 버전 조합 중 가장 낮은 버전을 V1로 확인하고 V1이 적용되어 있는 컨트롤러 A, 컨트롤러 B, 컨트롤러 E, 컨트롤러 F, 컨트롤러 I 및 컨트롤러 J가 모두 버전 1의 상태가 되는 이벤트를 탐색하여 이벤트 1을 최저 이벤트로 결정할 수 있다.
이와 같이, 상기 최고 및 최저 이벤트 결정부(320)는, 교체된 부품의 버전에 의존하지 않고, 교체된 부품이 적용된 상태에서 획득한 컨트롤러들의 버전 조합을 토대로 최고 이벤트와 최저 이벤트를 결정할 수 있다.
그에 따라, 상기 도 5에 도시된 차량1과 같이 가장 높은 버전이 적용된 최신 부품으로 교체가 이루어지는 경우뿐만 아니라, 차량2와 같이 이전보다 낮은 버전이 적용된 재고 부품으로 교체가 이루어지는 경우에도, OTA 서비스를 이용한 업그레이드를 수행할 수 있다.
또한, 상기 가상 이벤트 생성부(330)는, 상기 최저 이벤트의 다음 이벤트부터 시작하여 상기 최고 이벤트까지 연속적으로 이르기 위한 이벤트들을 서브 이벤트로 선택하여 순차적으로 결합한 가상 이벤트를 생성할 수 있다. 이러한 가상 이벤트는 버전 조합이 일치하지 않는 특정 차량만을 위해 생성되는 일시적인 이벤트일 수 있다.
이때, 상기 가상 이벤트에 포함되는 서브 이벤트들에서는 상기 최고 및 최저 이벤트 결정부(320)에서 가장 높은 버전이 적용된 것으로 특정된 컨트롤러의 소프트웨어 버전은 그대로 유지하면서 나머지 컨트롤러들에 대한 버전을 업그레이드하기 위한 소프트웨어들만을 포함하여 가상 이벤트를 생성함으로써, 가상 이벤트에 포함되는 서브 이벤트가 순차적으로 진행되는 동안에도 해당 컨트롤러의 버전이 변경되는 것을 방지할 수 있다.
그에 따라, 상기 가상 이벤트 생성부(330)는, 데이터베이스에 저장되어 있는 순차적인 다수의 이벤트들 중에서, 상기 최저 이벤트의 다음 이벤트부터 시작하여 상기 최고 이벤트까지 연속적으로 이르기 위한 서브 이벤트들을 단순히 선택하여 복사하고, 그 이벤트들 중 가장 높은 버전이 적용된 것으로 특정된 컨트롤러의 버전을 유지하도록 설정한 후 결합하는 것만으로 가상 이벤트를 간편하게 자동으로 생성할 수 있다.
상기 도 5에 도시된 차량1의 경우에는 이벤트 2, 이벤트 3, 이벤트 4 및 이벤트 5가 연속적으로 실행될 수 있도록 복수의 서브 이벤트들이 순차적으로 결합된 가상 이벤트(차량1_2/3/4/5)를 생성할 수 있다.
그에 따라, 도 5에 도시된 바와 같이 가상 이벤트가 진행되는 동안 컨트롤러 H가 V4로 유지되는 상태에서, 차량1_2 서브 이벤트에서는 컨트롤러 D가 V2로 업그레이드되고, 그에 연속하는 차량1_3 서브 이벤트에서는 컨트롤러 C 및 컨트롤러 G가 V2로 업그레이드되며, 그에 연속하는 차량1_4 서브 이벤트에서는 컨트롤러 A와 컨트롤러 F가 V2로 업그레이드됨과 아울러 컨트롤러 G는 V3로 업그레이드되며, 그에 연속하는 차량1_5 서브 이벤트에서는 컨트롤러 B 및 컨트롤러 E가 V2로 업그레이드될 수 있다.
그 결과, 가상 이벤트에 포함되어 있는 모든 서브 이벤트들이 각 컨트롤러에 적용된 이후의 버전 조합은 부품 교체 없이 이벤트 1에서 이벤트 5를 정상적으로 거치면서 순차적으로 업그레이드되었던 것과 동일한 결과를 나타낼 수 있어, 이후 상기 OTA 서버를 이용한 이벤트를 안정적으로 진행할 수 있게 된다.
또한, 상기 도 5에 도시된 차량2의 경우에는 이벤트 2, 이벤트 3 및 이벤트 4가 연속적으로 실행될 수 있도록 복수의 서브 이벤트들이 순차적으로 결합된 가상 이벤트(차량2_2/3/4)를 생성할 수 있다.
그에 따라, 도 5에 도시된 바와 같이 가상 이벤트가 진행되는 동안 컨트롤러 H가 V3로 유지되는 상태에서, 차량2_2 서브 이벤트에서는 컨트롤러 D가 V2로 업그레이드되고, 그에 연속하는 차량2_3 서브 이벤트에서는 컨트롤러 C 및 컨트롤러 G가 V2로 업그레이드되며, 그에 연속하는 차량2_4 서브 이벤트에서는 컨트롤러 A와 컨트롤러 F가 V2로 업그레이드됨과 아울러 컨트롤러 G는 V3로 업그레이드될 수 있다.
그 결과, 가상 이벤트에 포함되어 있는 모든 서브 이벤트들이 각 컨트롤러에 적용된 이후의 버전 조합은 부품 교체 없이 이벤트 1에서 이벤트 4를 정상적으로 거치면서 순차적으로 업그레이드되었던 것과 동일한 결과를 나타낼 수 있어, 이후 상기 OTA 서버를 이용한 이벤트 5를 안정적으로 진행될 수 있게 된다.
또한, 상기 가상 이벤트 전송부(340)는, 상기 가상 이벤트에 포함되어 있는 서브 이벤트들을 무선 통신망을 통하여 상기 통신제어장치(200)로 순차 전송하여, 상기 통신제어장치(200)에서 각 서브 이벤트에 의해 업그레이드하고자 하는 각 컨트롤러(100)를 타겟으로 업그레이드를 실행할 수 있게 한다.
또한, 상기 OTA 서버(300)는, 가상 이벤트에 포함되어 있는 서브 이벤트의 전송과 업그레이드가 실행되기 전에, 상기 가상 이벤트에 포함되어 있는 서브 이벤트에 의해 순차적으로 진행될 업그레이드의 횟수를 산출한 후 상기 통신제어장치로 전송하여 차량에 팝업 형태 등으로 표출시켜 운전자가 인식할 수 있게 하는 업그레이드 횟수 안내부(360)를 더 포함할 수 있다.
이때, 상기 업그레이드 횟수 안내부(360)는, 상기 가상 이벤트에 포함되어 있는 서브 이벤트마다 업그레이드가 진행되는 것을 고려하여, 상기 서브 이벤트의 개수를 업그레이드 횟수로 안내할 수 있다.
이와 같이 상기 업그레이드 횟수 안내부(360)에 의해 전송되어 차량의 AVN(Audio Video Navigation) 시스템 등에 표출되는 팝업 안내창에 의해 업그레이드 진행 횟수를 운전자에게 인지시킬 수 있고, 그에 대한 운전자의 승인 입력을 수신하여, 최고 이벤트까지 가상 이벤트 상의 각 서브 이벤트들에 의한 업그레이드를 순차적으로 진행할 수 있다.
또한, 상기 OTA 서버()는, 상기 가상 이벤트 전송부에 의해 순차적으로 전송되는 각 서브 이벤트에 의한 컨트롤러의 업그레이드가 모두 완료된 후, 해당 차량을 위해 생성되었던 가상 이벤트를 삭제하고 업그레이드를 종료하는 가상 이벤트 삭제부(350)를 더 포함할 수 있다. 이때, 상기 가상 이벤트에 의한 차량에서의 업그레이드가 종료된 후 차량에서도 키 오프(Key Off)하게 됨은 물론이다.
상기 가상 이벤트는 부품 교체 등으로 인해 차량에 구비되어 있는 컨트롤러의 버전 조합이 OTA 서버의 데이터베이스에 저장되어 있는 기존의 이벤트와 일치하지 않는 경우, 컨트롤러의 버전 조합을 기존의 이벤트에 일치시키기 위해 특정의 차량만을 위해 일시적으로 생성된 것이므로 이를 저장할 필요성이 크지 않게 된다.
즉, 해당 차량의 경우 컨트롤러의 버전 조합이 데이터베이스에 저장되어 있는 이벤트와 일치하게 되었으므로 상기 가상 이벤트를 재사용할 필요가 없게 된다.
이와 같이, 본 발명에 의하면 부품의 교체 등으로 인해 일부 컨트롤러에 적용되는 소프트웨어의 버전이 변경되어 OTA 서버에 저장되어 있는 기존의 이벤트와 일치하지 않게 된 경우에도, 정비 거점 등에서만 실행될 수 있는 수동 업그레이드에 의하지 않고 OTA 서비스를 이용하여 무선으로 원격 업그레이드를 실행할 수 있어, 불필요한 시간과 비용의 소모를 감소시킬 수 있으므로 OTA 서비스의 적용 범위를 확대시킬 수 있다.
다음에는 도 6 및 도 7을 참조하여 본 발명의 다른 실시예에 따른 차량 컨트롤러의 업그레이드 관리 방법을 설명한다.
도 6은 본 발명에 따른 차량 컨트롤러의 업그레이드 관리 방법의 구성도이고, 도 7은 본 발명에 따라 가상 이벤트에 의한 업그레이드가 진행되는 플로우를 나타내는 흐름도이다.
도 6 및 도 7을 참조하면, 본 발명의 다른 실시예에 따른 차량 컨트롤러의 업그레이드 관리 방법은, 차량에 구비된 통신제어장치(CCU)로부터 전송되는 컨트롤러의 버전 조합을 OTA 서버에서 수신하고 상기 버전 조합을 데이터베이스에 저장되어 있는 이벤트 상의 버전 조합과 비교하는 버전 정보 확인단계(S100)와, 버전 조합이 일치하는 이벤트가 검색되지 않을 경우 각 컨트롤러의 버전이 포함되어 있는 이벤트를 상기 데이터베이스에서 탐색하여 최고 이벤트와 최저 이벤트를 결정하는 최고 및 최저 이벤트 결정단계(S200)와, 상기 최저 이벤트의 다음 이벤트에서 시작하여 최고 이벤트에 순차적으로 이르도록 연속적인 업그레이드를 진행할 수 있는 가상 이벤트를 생성하여 저장하는 가상 이벤트 생성단계(S300)와, 무선 통신망을 통해 상기 가상 이벤트에 포함되어 있는 각 서브 이벤트의 파일을 상기 통신제어장치로 순차 전송하는 가상 이벤트 전송단계(S500)를 포함할 수 있다.
이때, 상기 버전 정보 확인단계(S100)에서는, 차량의 컨트롤러를 업그레이드하기 위한 이벤트의 존부를 판단하고 적합한 이벤트를 선택하기 위해, 상기 통신제어장치로부터 차량에 구비된 컨트롤러들의 현재 버전 정보로 이루어진 버전 조합을 수신할 수 있다.
이를 위하여, 상기 통신제어장치(CCU)에서는 차량의 키 온(Key On)시에 상기 컨트롤러에 현재 설치되어 있는 소프트웨어의 버전 정보를 확인한 후, 확인된 버전 정보를 포함하는 버전 조합을 생성하여 상기 OTA 서버로 전송할 수 있다.
또한, 상기 버전 정보 확인단계(S100)에서는, 컨트롤러의 버전 정보를 수신한 상기 OTA 서버에서 데이터베이스에 저장되어 있는 각 이벤트 상의 버전 조합과 비교하여, 일치하는 버전 조합을 나타내는 이벤트의 존부를 확인할 수 있다.
이때, 차량에 구비되는 컨트롤러를 비롯한 부품 교체로 인하여 일부 컨트롤러의 버전이 변경된 경우, 상기 버전 정보 확인단계에서는 상기 통신제어장치로부터 전송된 버전 조합과 일치하는 버전 조합을 갖는 이벤트를 데이터베이스에서 탐색할 수 없게 된다.
또한, 상기 최고 및 최저 이벤트 결정단계(S200)는, 부품 교체 등으로 인하여 해당 컨트롤러의 버전이 바뀜으로써 버전 조합이 일치하는 이벤트가 검색되지 않을 경우, 상기 통신제어장치(CCU)로부터 수신한 버전 조합에서 버전이 가장 높은 레벨에 도달한 컨트롤러가 그 레벨에 도달하기 위한 이벤트를 확인하여 최고 이벤트로 결정하고, 버전이 가장 낮은 레벨에 머무르고 있는 컨트롤러가 그 레벨을 유지하고 있는 이벤트를 확인하여 최저 이벤트로 결정할 수 있다.
이를 위하여 상기 최고 및 최저 이벤트 결정단계(S200)에서는, 각 컨트롤러의 버전 정보를 이벤트에 포함되어 있는 개별적인 컨트롤러의 버전에 매칭시키면서, 가장 높은 레벨에 도달한 컨트롤러가 그 레벨에 도달할 수 있는 이벤트를 최고 이벤트로 결정하고, 해당 컨트롤러와 그 버전 정보도 함께 특정할 수 있다.
또한, 상기 최고 및 최저 이벤트 결정단계(S200)에서는, 가장 낮은 레벨을 유지하고 있는 컨트롤러가 그 레벨을 유지하기 위한 이벤트를 최저 이벤트로 결정할 수 있다.
이때, 상기 최고 및 최저 이벤트 결정단계(S200)에서는, 부품이 교체된 컨트롤러의 버전에 의존하지 않고, 교체된 부품이 적용된 상태에서 획득한 컨트롤러의 버전 조합을 토대로 최고 이벤트와 최저 이벤트를 결정할 수 있다.
그에 따라, 가장 높은 버전이 적용된 최신 부품으로 교체가 이루어지는 경우뿐만 아니라, 이전보다 낮은 버전이 적용된 재고 부품으로 교체가 이루어지는 경우에도, OTA 서비스를 이용한 업그레이드를 수행할 수 있다.
또한, 상기 가상 이벤트 생성단계(S300)는, 상기 최저 이벤트의 다음 이벤트부터 시작하여 상기 최고 이벤트까지 연속적으로 이르기 위한 이벤트들을 서브 이벤트로 선택하여 순차적으로 결합한 가상 이벤트를 생성할 수 있다. 이러한 가상 이벤트는 버전 조합이 일치하지 않는 특정 차량만을 위해 생성되는 일시적인 이벤트일 수 있다.
이때, 상기 가상 이벤트에 포함되는 서브 이벤트들에서 상기 최고 및 최저 이벤트 결정단계(S200)에서 가장 높은 버전이 적용된 것으로 특정된 컨트롤러의 소프트웨어 버전은 그대로 유지하면서 나머지 컨트롤러들에 대한 버전을 업그레이드하기 위한 소프트웨어들만을 포함하여 가상 이벤트를 생성함으로써, 가상 이벤트에 포함되는 서브 이벤트가 순차적으로 진행되는 동안에도 해당 컨트롤러의 버전이 변경되는 것을 방지할 수 있다.
그에 따라, 상기 가상 이벤트 생성단계(S300)에서는, 데이터베이스에 저장되어 있는 순차적인 다수의 이벤트들 중에서, 상기 최저 이벤트의 다음 이벤트부터 시작하여 상기 최고 이벤트까지 연속적으로 이르기 위한 서브 이벤트들을 단순히 선택하여 복사하고, 그 이벤트들 중 가장 높은 버전이 적용된 것으로 특정된 컨트롤러의 버전이 유지되도록 설정한 후 결합하는 것만으로 가상 이벤트를 간편하게 자동으로 생성할 수 있다.
이와 같이 상기 가상 이벤트가 최저 이벤트의 다음 이벤트부터 최고 이벤트에 이르는 연속적인 서브 이벤트들로 구성됨으로써, 모든 서브 이벤트들이 각 컨트롤러에 적용된 이후의 버전 조합은 부품 교체 없이 최고 이벤트에 이르기까지 모든 이벤트들이 순차적으로 업그레이드되었던 것과 동일한 결과를 나타낼 수 있어, 이후 상기 OTA 서버를 이용한 이벤트를 안정적으로 진행할 수 있게 된다.
또한, 상기 가상 이벤트 전송단계(S500)에서는, 상기 가상 이벤트에 포함되어 있는 서브 이벤트들을 무선 통신망을 통하여 상기 OTA 서버에서 상기 통신제어장치로 순차 전송함으로써, 상기 통신제어장치에서 각 서브 이벤트에 의해 업그레이드하고자 하는 각 컨트롤러를 타겟으로 업그레이드를 실행할 수 있게 한다.
그에 따라, 상기 가상 이벤트 전송단계(S500) 이후에는 무선 통신망 상에서 상기 OTA 서버로부터 전송되는 가상 이벤트에 포함되어 있는 서브 이벤트들을 순차적으로 수신한 통신제어장치에서 각 서브 이벤트에 의해 컨트롤러의 소프트웨어 버전을 순차적으로 업그레이드하는 업그레이드 실행단계(S600)를 더 포함할 수 있다.
이와 같이 상기 업그레이드 실행단계(S600)에서는, 순차적으로 수신하는 서브 이벤트에 의해 컨트롤러의 버전이 상기 OTA 서버에 저장되어 있는 각 이벤트의 버전 조합과 일치하게 될 수 있도록 순차적으로 업그레이드 할 수 있다.
그로 인하여, 가상 이벤트를 형성하는 첫 번째 서브 이벤트뿐만 아니라, 그에 연속하는 두 번째 서브 이벤트에 의한 업그레이드 실행시에도 가장 높은 버전이 적용된 것으로 특정된 컨트롤러를 제외한 나머지 컨트롤러들의 버전 조합이 상기 OTA 서버에서 제공하는 이벤트 규칙에 어긋나지 않게 되어, OTA 서비스에 의한 업그레이드의 실행을 지속할 수 있게 된다.
또한, 상기 가상 이벤트 전송단계(S500)에서 상기 가상 이벤트에 포함되어 있는 서브 이벤트의 전송이 실행되기 전에, 상기 가상 이벤트에 포함되어 있는 서브 이벤트에 의해 순차적으로 진행될 업그레이드의 횟수를 산출한 후 상기 통신제어장치로 전송하여 차량에 팝업 형태 등으로 표출시켜 운전자가 인식할 수 있게 하는 업그레이드 횟수 안내단계(S400)를 더 포함할 수 있다.
이때, 상기 업그레이드 횟수 안내단계(S400)에서는, 상기 가상 이벤트에 포함되어 있는 서브 이벤트마다 업그레이드가 진행되는 것을 고려하여, 상기 서브 이벤트의 개수를 업그레이드 횟수로 안내할 수 있다.
이와 같이 상기 업그레이드 횟수 안내단계(S400)에서 전송되어 차량의 AVN(Audio Video Navigation) 시스템 등에 표출되는 팝업 안내창에 의해 업그레이드 진행 횟수를 운전자에게 인지시킬 수 있고, 그에 대한 운전자의 승인 입력을 수신하여, 최고 이벤트까지 가상 이벤트 상의 각 서브 이벤트들에 의한 업그레이드를 순차적으로 진행할 수 있다.
또한, 상기 가상 이벤트 전송단계(S500)에 의해 순차적으로 전송되는 각 서브 이벤트에 의한 컨트롤러의 업그레이드가 모두 완료된 후, 해당 차량을 위해 생성되었던 가상 이벤트를 상기 OTA 서버에서 삭제하고 업그레이드를 종료하는 가상 이벤트 삭제단계(S700)를 더 포함할 수 있다
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다.
따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
100 : 컨트롤러
200 : 통신제어장치
210 : 버전 정보 송출부 220 : 업그레이드 실행부
300 : OTA 서버
310 : 버전 정보 확인부
320 : 최고 및 최저 이벤트 결정부
330 : 가상 이벤트 생성부 340 : 가상 이벤트 전송부
350 : 가상 이벤트 삭제부 360 : 업그레이드 횟수 안내부

Claims (15)

  1. 차량을 제어하는 다수의 컨트롤러;
    상기 컨트롤러의 버전 정보를 외부의 서버로 제공하고, 상기 서버로부터 이벤트 단위로 상기 컨트롤러의 소프트웨어를 제공받아서 상기 컨트롤러를 업그레이드하는 통신제어장치; 및
    상기 통신제어장치로부터 제공받은 상기 컨트롤러의 버전 조합이 미리 저장되어 있는 이벤트 상의 버전 조합과 일치하지 않는 경우, 상기 차량으로부터 제공받은 컨트롤러 버전 조합에 기초하여 가상 이벤트를 생성하고, 상기 가상 이벤트를 상기 통신제어장치로 무선 전송하는 서버;
    를 포함하는 차량 컨트롤러의 업그레이드 관리 시스템.
  2. 청구항 1에 있어서,
    상기 통신제어장치는,
    차량의 키 온시에 상기 컨트롤러에 현재 설치되어 있는 소프트웨어의 버전 정보를 확인하고, 확인된 버전 정보를 포함하는 버전 조합을 생성하여 상기 서버로 전송하는 버전 정보 송출부; 및
    무선 통신망 상에서 상기 서버로부터 상기 가상 이벤트에 포함되어 있는 서브 이벤트들을 수신하여, 상기 컨트롤러에 설치되어 있는 소프트웨어의 버전을 순차적으로 업그레이드시키는 업그레이드 실행부;
    를 포함하는 차량 컨트롤러의 업그레이드 관리 시스템.
  3. 청구항 1에 있어서,
    상기 서버는,
    상기 통신제어장치로부터 수신한 컨트롤러의 버전 조합을 데이터베이스에 저장되어 있는 이벤트 상의 버전 조합과 비교하는 버전 정보 확인부;
    버전 조합이 일치하는 이벤트가 검색되지 않을 경우, 각 컨트롤러의 버전이 포함되어 있는 이벤트를 데이터베이스에서 탐색하여 최고 이벤트와 최저 이벤트를 결정하는 최고 및 최저 이벤트 결정부;
    상기 최저 이벤트의 다음 이벤트에서 시작하여 최고 이벤트에 순차적으로 이르도록 연속적인 업그레이드를 진행할 수 있는 가상 이벤트를 생성하여 저장하는 가상 이벤트 생성부; 및
    무선 통신망을 통해 상기 가상 이벤트에 포함되어 있는 각 서브 이벤트의 파일을 상기 통신제어장치로 순차 전송하는 가상 이벤트 전송부;
    를 포함하는 차량 컨트롤러의 업그레이드 관리 시스템.
  4. 청구항 3에 있어서,
    상기 최고 및 최저 이벤트 결정부는,
    상기 통신제어장치로부터 수신한 버전 조합에서, 버전이 가장 높은 레벨에 도달한 컨트롤러가 그 레벨에 도달하기 위한 이벤트를 최고 이벤트로 결정하고, 버전이 가장 낮은 레벨에 머무르고 있는 컨트롤러가 그 레벨을 유지하기 위한 이벤트를 최저 이벤트로 결정하는 것을 특징으로 하는 차량 컨트롤러의 업그레이드 관리 시스템.
  5. 청구항 3에 있어서,
    상기 가상 이벤트 생성부는,
    상기 최저 이벤트의 다음 이벤트부터 시작하여 상기 최고 이벤트까지 연속적으로 이르기 위한 이벤트들을 서브 이벤트로 선택하여 순차적으로 결합한 가상 이벤트를 버전 조합이 일치하지 않는 특정 차량만을 위한 일시적인 이벤트로 생성하는 것을 특징으로 하는 차량 컨트롤러의 업그레이드 관리 시스템.
  6. 청구항 3에 있어서,
    상기 가상 이벤트 생성부는,
    상기 가상 이벤트에 포함되는 서브 이벤트를 상기 최고 및 최저 이벤트 결정부에서 가장 높은 버전이 적용된 것으로 특정된 컨트롤러의 소프트웨어 버전은 그대로 유지하면서 나머지 컨트롤러에 대한 버전을 업그레이드하도록 설정하는 것을 특징으로 하는 차량 컨트롤러의 업그레이드 관리 시스템.
  7. 청구항 3에 있어서,
    상기 서버는,
    상기 가상 이벤트에 포함되어 있는 서브 이벤트에 의해 순차적으로 진행될 업그레이드의 횟수를 산출한 후, 상기 통신제어장치로 전송하여 차량에 팝업 형태로 표출시키는 업그레이드 횟수 안내부;
    를 더 포함하는 차량 컨트롤러의 업그레이드 관리 시스템.
  8. 청구항 3에 있어서,
    상기 서버는,
    상기 가상 이벤트 전송부에 의해 순차적으로 전송되는 각 서브 이벤트에 의한 컨트롤러의 업그레이드가 완료된 후, 해당 차량을 위해 생성되었던 가상 이벤트를 삭제하고 업그레이드를 종료하는 가상 이벤트 삭제부;
    를 더 포함하는 차량 컨트롤러의 업그레이드 관리 시스템.
  9. 서버가, 차량의 통신제어장치로부터 컨트롤러의 버전 조합을 제공받고, 상기 버전 조합을 미리 저장된 이벤트 상의 버전 조합과 비교하는 버전 정보 확인단계;
    상기 서버가, 상기 버전 조합이 일치하는 이벤트가 검색되지 않을 경우, 상기 차량으로부터 제공받은 컨트롤러 버전 조합에 기초하여 가상 이벤트를 생성하는 가상 이벤트 생성단계; 및
    상기 서버가, 상기 가상 이벤트에 포함되어 있는 각 서브 이벤트의 파일을 상기 통신제어장치로 제공하는 가상 이벤트 전송단계;
    를 포함하는 차량 컨트롤러의 업그레이드 관리 방법.
  10. 청구항 9에 있어서,
    상기 통신제어장치로부터 수신한 버전 조합에서, 버전이 가장 높은 레벨에 도달한 컨트롤러가 그 레벨에 도달하기 위한 이벤트를 최고 이벤트로 결정하고, 버전이 가장 낮은 레벨에 머무르고 있는 컨트롤러가 그 레벨을 유지하고 있는 이벤트를 확인하여 최저 이벤트로 결정하는 최고 및 최저 이벤트 결정단계를 더 포함하는 것을 특징으로 하는 차량 컨트롤러의 업그레이드 관리 방법.
  11. 청구항 9에 있어서,
    상기 가상 이벤트 생성단계는,
    상기 최저 이벤트의 다음 이벤트부터 시작하여 상기 최고 이벤트까지 연속적으로 이르기 위한 이벤트들을 서브 이벤트로 선택하여 순차적으로 결합한 가상 이벤트를 버전 조합이 일치하지 않는 특정 차량만을 위한 일시적인 이벤트로 생성하는 것을 특징으로 하는 차량 컨트롤러의 업그레이드 관리 방법.
  12. 청구항 9에 있어서,
    상기 가상 이벤트 생성단계는,
    상기 가상 이벤트를 생성함에 있어, 상기 가상 이벤트에 포함되는 서브 이벤트를 상기 최고 및 최저 이벤트 결정단계에서 가장 높은 버전이 적용된 것으로 특정된 컨트롤러의 소프트웨어 버전은 그대로 유지하면서 나머지 컨트롤러에 대한 버전을 업그레이드하도록 설정하는 것을 특징으로 하는 차량 컨트롤러의 업그레이드 관리 방법.
  13. 청구항 9에 있어서,
    상기 가상 이벤트 전송단계 이후, 무선 통신망 상에서 상기 서버로부터 전송되는 가상 이벤트에 포함되어 있는 서브 이벤트들을 순차적으로 수신한 통신제어장치에서 각 서브 이벤트에 의해 컨트롤러의 소프트웨어 버전을 순차적으로 업그레이드하는 업그레이드 실행단계;
    를 더 포함하는 차량 컨트롤러의 업그레이드 관리 방법.
  14. 청구항 9에 있어서,
    상기 가상 이벤트 전송단계에서 상기 가상 이벤트에 포함되어 있는 서브 이벤트의 전송이 실행되기 전에, 상기 가상 이벤트에 포함되어 있는 서브 이벤트에 의해 순차적으로 진행될 업그레이드의 횟수를 산출한 후, 상기 통신제어장치로 전송하여 차량에 팝업 형태로 표출시키는 업그레이드 횟수 안내단계;
    를 더 포함하는 차량 컨트롤러의 업그레이드 관리 방법.
  15. 청구항 9에 있어서,
    상기 가상 이벤트 전송단계에 의해 순차적으로 전송되는 각 서브 이벤트에 의한 컨트롤러의 업그레이드가 완료된 후, 해당 차량을 위해 생성되었던 가상 이벤트를 상기 서버에서 삭제하고 업그레이드를 종료하는 가상 이벤트 삭제단계;
    를 더 포함하는 차량 컨트롤러의 업그레이드 관리 방법.
KR1020210096658A 2021-07-22 2021-07-22 차량 컨트롤러의 업그레이드 관리 시스템 및 방법 KR20230015199A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210096658A KR20230015199A (ko) 2021-07-22 2021-07-22 차량 컨트롤러의 업그레이드 관리 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210096658A KR20230015199A (ko) 2021-07-22 2021-07-22 차량 컨트롤러의 업그레이드 관리 시스템 및 방법

Publications (1)

Publication Number Publication Date
KR20230015199A true KR20230015199A (ko) 2023-01-31

Family

ID=85109371

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210096658A KR20230015199A (ko) 2021-07-22 2021-07-22 차량 컨트롤러의 업그레이드 관리 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR20230015199A (ko)

Similar Documents

Publication Publication Date Title
EP3297252B1 (en) Software update system
US10042635B2 (en) Method for wireless remote updating vehicle software
US9836300B2 (en) Method for updating vehicle ECUs using differential update packages
US10127036B2 (en) Method for OTA updating vehicle electronic control unit
US10101992B2 (en) Telematics control unit comprising a differential update package
US9841965B2 (en) Centralized system for software updating vehicle components
US10165084B2 (en) Method for software updating of vehicle components
KR20170034697A (ko) 차량 단말의 소프트웨어 업데이트 제어장치 및 그 방법이 구현된 컴퓨터로 판독 가능한 기록매체
JP2006252145A (ja) パラメータ表示装置およびパラメータ表示方法
KR20070120446A (ko) 시스템 정보 갱신 장치 및 방법
CN106648781B (zh) 通信设备远程固件升级方法及系统
JP5084633B2 (ja) 列車情報管理システムおよび列車情報管理装置のソフトウェア更新方法
US8988201B2 (en) Parameter setting method of tire monitor
KR20230015199A (ko) 차량 컨트롤러의 업그레이드 관리 시스템 및 방법
EP3982254A1 (en) Server, software update system, distribution method, and non-transitory storage medium
WO2020189281A1 (ja) 電子制御装置及び制御データの設定方法
US20100057839A1 (en) System and method for distributing design system, design system distributing server, and client system
JP6608889B2 (ja) 数値制御装置、産業機械に含まれる装置及び数値制御システム
KR100484159B1 (ko) 원격 펌웨어 업그레이드 방법 및 그 디스플레이 장치
JP5485944B2 (ja) 携帯端末におけるアプリケーションソフトの使用制限方法
KR102064519B1 (ko) 차량 ecu 소프트웨어 업데이트 방법, 그를 수행하기 위한 장치 및 시스템
US20230068491A1 (en) Method and system for automatically activating a connected car service
JP7211675B2 (ja) 情報管理装置および情報管理方法
KR20220149211A (ko) 매핑 프로파일 제공시스템 및 매핑 프로파일 제공방법
KR20230086377A (ko) 차량용 제어기의 롤백용 차분 데이터 생성 방법 및 차량용 제어기의 롤백 방법