KR102626253B1 - Ota를 이용한 차량용 소프트웨어 업데이트 방법 및 장치 - Google Patents

Ota를 이용한 차량용 소프트웨어 업데이트 방법 및 장치 Download PDF

Info

Publication number
KR102626253B1
KR102626253B1 KR1020180146148A KR20180146148A KR102626253B1 KR 102626253 B1 KR102626253 B1 KR 102626253B1 KR 1020180146148 A KR1020180146148 A KR 1020180146148A KR 20180146148 A KR20180146148 A KR 20180146148A KR 102626253 B1 KR102626253 B1 KR 102626253B1
Authority
KR
South Korea
Prior art keywords
format
software
vehicle
differential data
software image
Prior art date
Application number
KR1020180146148A
Other languages
English (en)
Other versions
KR20200060943A (ko
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 KR1020180146148A priority Critical patent/KR102626253B1/ko
Priority to US16/373,468 priority patent/US11055083B2/en
Priority to DE102019206187.7A priority patent/DE102019206187A1/de
Priority to CN201910438157.5A priority patent/CN111221549A/zh
Publication of KR20200060943A publication Critical patent/KR20200060943A/ko
Application granted granted Critical
Publication of KR102626253B1 publication Critical patent/KR102626253B1/ko

Links

Classifications

    • 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 
    • 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
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates
    • 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
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • 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/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/18Information format or content conversion, e.g. adaptation by the network of the transmitted or received information for the purpose of wireless delivery to users or terminals
    • 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)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Mechanical Engineering (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 OTA를 이용한 차량용 소프트웨어 업데이트 방법 및 장치에 관한 것으로서, 일 실시 예에 따른 서버에서의 차량용 소프트웨어 업데이트 방법은 업데이트 대상 소프트웨어 이미지의 제1 포맷과 제2 포맷 각각에 상응하는 제1 포맷 차분 데이터와 제2 포맷 차분 데이터를 추출하는 단계와 상기 제1 포맷 차분 데이터와 상기 제2 포맷 차분 데이터의 크기를 비교하는 단계와 상기 비교 결과에 기반하여 전송할 차분 데이터의 포맷을 결정하는 단계와 상기 결정된 포맷의 차분 데이터를 무선망을 통해 업데이트 대상 차량 단말로 전송하는 단계를 포함할 수 있다. 따라서, 본 발명은 OTA를 이용한 차량 소프트웨어 업데이트 시 전송 데이터의 양을 최소화시킬 수 있는 장점이 있다.

Description

OTA를 이용한 차량용 소프트웨어 업데이트 방법 및 장치{METHOD AND APPARATUS FOR UPDATING VEHICLE SOFTWARE USING OTA}
본 발명은 차량용 소프트웨어 업데이트 방법 및 장치에 관한 것으로서, 보다 상세하게 OTA를 이용하여 차량용 소프트웨어 업데이트 시 전송 데이터의 양을 최소화시키는 것이 가능한 OTA를 이용한 차량용 소프트웨어 업데이트 방법 및 장치 를 제공하는 것이다.
종래의 차량용 소프트웨어를 업데이트하는 방법은 크게 백그라운드 업데이트 방법과 차분 업데이트 방법이 있었다.
백그라운드 업데이트 방법은 차량 운행 및 시스템 사용 중 소프트웨어를 업그레이드를 수행하기 위해 동일한 소프트웨어 이미지를 이중으로 메모리에 저장하여 업데이트를 수행하는 방식이다. 이때, 소프트웨어 이미지 저장에 사용되는 메모리 용량을 줄이기 위해 소프트웨어 이미지를 압축하여 관리할 수 있다.
차분 업데이트 방법은 차량용 소프트웨어를 OTA(Over-The-Air)를 통해 업데이트를 수행할 때 무선망을 통해 전송되는 데이터의 양을 줄이기 위해 원본 소프트웨어 이미지와 타겟 소프트웨어 이미지의 차분을 이용하여 업데이트를 수행하는 방식이다.
도 1을 참조하면, 무선으로 차량용 펌웨어를 업데이트하는 FOTA(Firmware Over-The-Air) 방식은 두 개의 소프트웨어 버전-즉, 소스 버전(V1) 및 타겟 버전(V2)- 사이의 차이점(차분, delta, diff)를 추출한 후, 추출한 차분으로 생성한 차분 패키지를 무선망을 통해 차량 단말로 전송한다. 차량 단말은 소스 버전(V1)만을 유지하며, 수신된 소스 버전(V1)과 차분 패키지를 이용하여 타겟 버전(V2)를 생성하여 업데이트를 수행할 수 있다.
도 2를 참조하면, 차량 단말은 수신된 차분 패키지가 존재하면, 업데이트 에이전트를 실행할 수 있다. 차량 단말은 구비된 플래시 메모리상의 특정 크기의 영역을 기준으로 업데이트를 진행할 수 있다. 업데이트 에이전트는 소스 버전(V1)에서 변경이 있는 한 영역을 휘발성 메모리(RAM)으로 가져온 후 차분 패키지의 해당 영역을 적용하여 타겟 버전(V2)를 생성할 수 있다.
업데이트 에이전트는 소스 버전(V1)과 차분 패키지를 이용하여 생성된 타겟 버전(V2)을 장치 내의 플래시 메모리에 다시 적재하기 위해 생성된 타겟 버전(V2)을 기존의 소스 버전(V1) 위에 덮어쓴다.
종래의 차분 업데이트 방식은 실제 단말에 저장되는 소프트웨어 이미지의 포맷에 관계 없이 원본 소프트웨어 이미지와 업데이트 소프트웨어 이미지-즉, 타겟 이미지- 사이의 단순 차분을 추출하여 업데이트를 수행한다. 하지만, 차량 단말에서 사용되는 소프트웨어 이미지가 압축되어 있는 경우, 비 압축 상태에서 차분을 추출할 때보다 차분 데이터의 크기-즉, 차분 패키지의 용량-이 커질 수 있다. 이는 압축 시 소프트웨어의 바이너리 배열이 랜덤하게 변경될 수 있기 때문이다.
반면, OTA를 전송되는 차분 데이터의 양을 줄이기 위해 소프트웨어 이미지를 비 압축 포맷으로 저장할 경우, 백그라운드 업데이트를 위한 차량 단말의 스토리지 용량이 과다하게 증가하는 문제점이 있다.
따라서, OTA를 통해 차량용 소프트웨어를 업데이트할 때 차분 데이터의 용량과 백그라운드 업데이트를 위해 사용되는 차량 단말의 스토리지 용량을 모두 최소화시킬 수 있는 방법이 요구되고 있다.
본 발명은 상술한 종래 기술의 문제점을 해결하기 위해 고안된 것으로, 본 발명의 목적은 OTA를 이용한 차량용 소프트웨어 업데이트 방법 및 장치를 제공하는 것이다.
본 발명의 다른 목적은 차분 데이터의 용량 및 백그라운드 업데이트를 위한 차량 단말에 요구되는 스토리지 용량을 최소화시키는 것이 가능한 OTA를 이용한 차량용 소프트웨어 업데이트 방법 및 장치를 제공하는 것이다.
본 발명에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 발명은 OTA를 이용한 차량용 소프트웨어 업데이트 방법 및 장치를 제공한다.
일 실시 예에 따른 서버에서의 차량용 소프트웨어 업데이트 방법은 업데이트 대상 소프트웨어 이미지의 제1 포맷과 제2 포맷 각각에 상응하는 제1 포맷 차분 데이터와 제2 포맷 차분 데이터를 추출하는 단계와 상기 제1 포맷 차분 데이터와 상기 제2 포맷 차분 데이터의 크기를 비교하는 단계와 상기 비교 결과에 기반하여 전송할 차분 데이터의 포맷을 결정하는 단계와 상기 결정된 포맷의 차분 데이터를 무선망을 통해 업데이트 대상 차량 단말로 전송하는 단계를 포함할 수 있다.
또한, 서버에서의 차량용 소프트웨어 업데이트 방법은 상기 결정된 포맷의 차분 데이터를 전송하기 이전에 어떤 포맷의 차분 데이터가 전송 대상으로 결정되었는지를 지시하는 제1 제어 신호를 상기 차량 단말로 전송하는 단계를 더 포함하고, 상기 제1 제어 신호에 따라 상기 차량 단말이 상기 결정된 포맷이 아닌 포맷의 소프트웨어 이미지로 시스템을 구동시킬 수 있다.
또한, 상기 서버에서의 차량용 소프트웨어 업데이트 방법은 상기 시스템 구동이 완료되었음을 지시하는 제2 제어 신호를 상기 차량 단말로부터 수신하는 단계를 포함하고, 상기 제2 제어 신호에 따라 상기 결정된 포맷의 차분 데이터 전송이 개시될 수 있다.
또한, 상기 결정된 포맷의 차분 데이터는 OTA(Over-The-Air) 방식으로 전송될 수 있다.
또한, 상기 제1 포맷은 압축 포맷이고 상기 제2 포맷은 비 압축 포맷일 수 있다.
또한, 상기 제1 포맷 차분 데이터는 제1 버전의 압축 소프트웨어 이미지와 제2 버전의 압축 소프트웨어 이미지의 차이에 기반하여 추출되고, 상기 제2 포맷 차분 데이터는 제1 버전의 비 압축 소프트웨어 이미지와 제2 버전의 비 압축 소프트웨어 이미지의 차이에 기반하여 추출되되, 상기 제2 버전은 상기 제1 버전보다 상위 버전일 수 있다.
또한, 상기 제1 포맷과 상기 제2 포맷은 상이한 파일 확장자를 가질 수 있다.
또한, 상기 소프트웨어 이미지는 카테고리 별로 구분되고, 상기 카테고리 별 상기 제1 포맷 및 상기 제2 포맷의 소프트웨어 이미지가 상기 서버에 구비된 스토리지의 해당 영역에 유지되어 관리될 수 있다.
다른 실시 예에 따른 서버는 제1 포맷의 소프트웨어 이미지와 제2 포맷의 소프트웨어 이미지를 유지하는 저장부와 업데이트 대상 소프트웨어 이미지의 제1 포맷과 제2 포맷 각각에 상응하는 제1 포맷 차분 데이터와 제2 포맷 차분 데이터를 추출하는 추출부와 상기 제1 포맷 차분 데이터와 상기 제2 포맷 차분 데이터의 크기를 비교하는 비교부와 상기 비교 결과에 기반하여 전송할 차분 데이터의 포맷을 결정하는 제어부와 상기 결정된 포맷의 차분 데이터를 무선망을 통해 업데이트 대상 차량 단말로 전송하는 통신부를 포함하고, 상기 제1 포맷 차분 데이터와 상기 제2 포맷 차분 데이터 중 크기가 작은 것이 전송 대상으로 결정될 수 있다.
또한, 상기 제어부가 상기 결정된 포맷의 차분 데이터를 전송하기 이전에 어떤 포맷의 차분 데이터가 전송 대상으로 결정되었는지를 지시하는 제1 제어 신호를 생성하여 상기 통신부를 통해 상기 차량 단말로 전송하고, 상기 제1 제어 신호에 따라 상기 차량 단말이 상기 결정된 포맷이 아닌 포맷의 소프트웨어 이미지로 시스템을 구동시킬 수 있다.
또한, 상기 시스템 구동이 완료되었음을 지시하는 제2 제어 신호가 상기 차량 단말로부터 수신되면, 상기 제어부가 상기 제2 제어 신호에 따라 상기 결정된 포맷의 차분 데이터가 상기 차량 단말에 전송되도록 제어할 수 있다.
또한, 상기 결정된 포맷의 차분 데이터는 OTA(Over-The-Air) 방식으로 전송될 수 있다.
또한, 상기 제1 포맷은 압축 포맷이고 상기 제2 포맷은 비 압축 포맷일 수 있다.
또한, 상기 제1 포맷 차분 데이터는 제1 버전의 압축 소프트웨어 이미지와 제2 버전의 압축 소프트웨어 이미지의 차이에 기반하여 추출되고, 상기 제2 포맷 차분 데이터는 제1 버전의 비 압축 소프트웨어 이미지와 제2 버전의 비 압축 소프트웨어 이미지의 차이에 기반하여 추출되되, 상기 제2 버전은 상기 제1 버전보다 상위 버전일 수 있다.
또한, 상기 제1 포맷과 상기 제2 포맷은 상이한 파일 확장자를 가질 수 있다.
또한, 상기 소프트웨어 이미지는 카테고리 별로 구분되고, 상기 카테고리 별 상기 제1 포맷 및 상기 제2 포맷의 소프트웨어 이미지가 상기 저장부에 유지되어 관리될 수 있다.
또 다른 실시 예에 따른 무선망을 통해 서버와 연동하는 차량에서 차량용 소프트웨어를 업데이트하는 방법은 어떤 포맷의 차분 데이터가 전송 대상으로 결정되었는지를 지시하는 제1 제어 신호를 상기 서버로부터 수신하는 단계와 상기 전송 대상으로 결정되지 않은 포맷의 소프트웨어 이미지를 이용하여 시스템을 구동시키는 단계와 상기 시스템의 구동이 완료되었음을 지시하는 제2 제어 신호를 상기 서버로 전송하는 단계와 상기 서버로부터 상기 전송 대상으로 결정된 포맷의 차분 데이터를 수신하는 단계와 상기 수신된 차분 데이터에 상응하는 포맷의 소프트웨어 이미지를 상기 수신된 차분 데이터를 이용하여 백그라운드 업데이트하는 단계를 포함할 수 있다.
또한, 상기 차량에서의 차량용 소프트웨어 업그레이드 방법은 상기 백그라운드 업데이트가 완료된 소프트웨어 이미지를 이용하여 상기 시스템을 재구동하는 단계를 더 포함할 수 있다.
또한, 상기 차량에서의 차량용 소프트웨어 업그레이드 방법은 상기 시스템 재구동 후, 차량 유휴 시간인지 여부를 확인하는 단계와 상기 확인 결과, 상기 차량 유휴 시간이면 상기 백그라운드 업데이트 완료된 소프트웨어 이미지의 포맷을 변환하는 단계와 상기 변환된 포맷의 소프트웨어 이미지를 이용하여 상기 전송 대상으로 결정되지 않은 포맷의 소프트웨어 이미지를 업데이트하는 단계를 포함할 수 있다.
또한, 상기 포맷을 변환하는 단계는 상기 백그라운드 업데이트 완료된 소프트웨어 이미지의 포맷이 압축 포맷이면 압축을 해제하는 단계와 상기 백그라운드 업데이트 완료된 소프트웨어 이미지의 포맷이 비 압축 포맷이면 압축하는 단계를 포함할 수 있다.
또한, 상기 차량에서의 차량용 소프트웨어 업그레이드 방법은 상기 확인 결과, 상기 차량 유휴 시간이 아니면, 수행중인 업데이트를 일시 중지시키는 단계를 더 포함할 수 있다.
또 다른 실시 예에 따른 무선망을 통해 서버와 연동하여 차량용 소프트웨어를 업데이트 장치는 복수의 상이한 포맷을 가지는 소프트웨어 이미지를 유지하는 저장부와 어떤 포맷의 차분 데이터가 전송 대상으로 결정되었는지를 지시하는 제1 제어 신호를 상기 서버로부터 수신하는 통신부와 상기 전송 대상으로 결정되지 않은 포맷의 소프트웨어 이미지를 이용하여 시스템을 구동시키는 구동부와 상기 시스템의 구동이 완료된 후 상기 서버로부터 수신되는 상기 전송 대상으로 결정된 포맷의 차분 데이터를 이용하여 상기 전송 대상으로 결정된 포맷에 상응하는 소프트웨어 이미지에 대한 백그라운드 업데이트를 수행하는 갱신부를 포함할 수 있다.
또한, 상기 구동부가 상기 백그라운드 업데이트가 완료된 소프트웨어 이미지를 이용하여 상기 시스템을 재구동시킬 수 있다.
또한, 상기 시스템이 재구동된 후, 차량 유휴 시간이면 상기 갱신부가 상기 백그라운드 업데이트 완료된 소프트웨어 이미지의 포맷을 변환하고, 상기 변환된 포맷의 소프트웨어 이미지를 이용하여 상기 전송 대상으로 결정되지 않은 포맷의 소프트웨어 이미지를 업데이트할 수 있다.
또한, 상기 갱신부는 상기 백그라운드 업데이트 완료된 소프트웨어 이미지의 포맷이 압축 포맷이면 압축을 해제하고, 상기 백그라운드 업데이트 완료된 소프트웨어 이미지의 포맷이 비 압축 포맷이면 압축하여 포맷을 변환할 수 있다.
또한, 상기 차량 유휴 시간이 아니면, 상기 갱신부가 수행중인 업데이트를 일시 중지할 수 있다.
상기 본 발명의 양태들은 본 발명의 바람직한 실시예들 중 일부에 불과하며, 본원 발명의 기술적 특징들이 반영된 다양한 실시예들이 당해 기술분야의 통상적인 지식을 가진 자에 의해 이하 상술할 본 발명의 상세한 설명을 기반으로 도출되고 이해될 수 있다.
본 발명에 따른 방법 및 장치에 대한 효과에 대해 설명하면 다음과 같다.
본 발명은 OTA를 이용한 차량용 소프트웨어 업데이트 방법 및 장치를 제공하는 장점이 있다.
또한, 본 발명은 무선망을 통해 전송되는 차분 데이터의 용량 및 백그라운드 업데이트를 위한 차량 단말에 요구되는 스토리지 용량을 최소화시키는 것이 가능한 OTA를 이용한 차량용 소프트웨어 업데이트 방법 및 장치를 제공하는 장점이 있다.
또한, 본 발명은 상기한 장점들을 통해 보다 빠르게 차량용 소프트웨어를 업데이트할 수 있다.
또한, 본 발명은 차량 단말에서 사용하는 소프트웨어 이미지의 특성을 고려하여 항상 최소화된 차분 데이터를 추출할 수 있는 장점이 있다.
본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
이하에 첨부되는 도면들은 본 발명에 관한 이해를 돕기 위한 것으로, 상세한 설명과 함께 본 발명에 대한 실시예들을 제공한다. 다만, 본 발명의 기술적 특징이 특정 도면에 한정되는 것은 아니며, 각 도면에서 개시하는 특징들은 서로 조합되어 새로운 실시예로 구성될 수 있다.
도 1 내지 2는 종래의 차분 패키지를 이용한 차량용 소프트웨어 업데이트 절차를 설명하기 위한 도면이다.
도 3은 실시 예에 따라 무선망을 통해 차량과 연동하여 차량용 소프트웨어를 업데이트하는 서버의 구조를 설명하기 위한 블록도이다.
도 4는 실시 예에 따라 무선망을 통해 서버와 연동하여 차량용 소프트웨어를 업데이트하는 차량용 소프트웨어 업데이트 장치의 구조를 설명하기 위한 블록도이다.
도 5는 실시 예에 따른 무선망을 통해 차량과 연동하는 서버에서의 차량용 소프트웨어를 업데이트 방법을 설명하기 위한 순서도이다.
도 6은 실시 예에 따른 무선망을 통해 서버와 연동하는 차량에서의 차량용 소프트웨어를 업데이트 방법을 설명하기 위한 순서도이다.
이하, 본 발명의 실시예들이 적용되는 장치 및 다양한 방법들에 대하여 도면을 참조하여 보다 상세하게 설명한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다.
이하에서는 하기 도 3 내지 6을 참조하여 다양한 실시 예에 따른 차량용 소프트웨어 업데이트 방법 및 장치를 상세히 설명하기로 한다.
도 3은 실시 예에 따라 무선망을 통해 차량과 연동하여 차량용 소프트웨어를 업데이트하는 서버의 구조를 설명하기 위한 블록도이다.
도 3을 참조하면, 서버(300)는 제어부(310), 압축부(320), 저장부(330), 추출부(340), 비교부(350) 및 통신부(360)를 포함하여 구성될 수 있다.
제어부(310)는 서버(300)의 전체적인 동작 및 입/출력을 제어할 수 있다. 제어부(310)의 제어 동작은 하기의 설명을 통해 보다 명확해질 것이다.
압축부(320)는 해당 소프트웨어 이미지를 압축하거나 압축 해제하는 기능을 수행할 수 있다.
일 예로, 압축부(320)는 서버(300)에 입력된 업데이트 대상 소프트웨어 이미지가 압축 포맷이면, 해당 소프트웨어 이미지를 압축 해제하고, 입력된 업데이트 대상 소프트웨어가 비 압축 포맷이면, 해당 소프트웨어 이미지를 압축할 수 있다. 이때, 압축 또는 압축 해제된 소프트웨어 이미지는 저장부(330)의 해당 기록 영역에 유지되어 관리될 수 있다.
저장부(330)에는 소프트웨어 버전 별 서로 상이한 포맷의 소프트웨어 이미지가 기록되어 유지될 수 있다.
일 예로, 소프트웨어 버전은 소스 버전과 타겟 버전을 포함할 수 있다. 여기서, 타겟 버전은 소스 버전의 상위 버전으로, 업데이트할 정보가 포함된 소프트웨어 버전을 의미할 수 있다. 이하 설명의 편의를 위해, 소스 버전을 '제1 버전', 타겟 버전을 '제2 버전'이라 명하기로 한다.
실시 예로, 포맷은 압축 여부로 구분될 수 있다. 이하 설명의 편의를 위해, 압축된 소프트웨어 이미지 포맷은 '제1 포맷', 압축되지 않은 소프트웨어 이미지 포맷은 '제2 포맷'이라 정의하여 설명하기로 한다. 이상의 실시 예에서는 포맷이 소프트웨어 이미지의 압축 여부로만 구분되는 것으로 설명하고 있으나, 이는 하나의 실시 예에 불과하며, 특정 포맷 변형이 해당 소프트웨어 이미지의 변경 데이터-즉, 차분 데이터-의 크기에 영향을 미치는 것이라면 해당 포맷 변경이 본 발명에 적용될 수도 있음을 주의해야 한다. 일 예로, 포맷은 파일 확장자에 의해 구분될 수도 있다. 이 경우, 포맷의 개수는 제한되지 않는다.
다른 실시 예로, 소프트웨어 이미지는 카테고리 별로 구분될 수 있으며, 해당카테고리 별 상이한 포맷의 소프트웨어 이미지가 저장부(330)에 유지될 수 있다.
여기서, 카테고리는 해당 소프트웨어 이미지의 용도/목적, 해당 소프트웨어 이미지가 적용되는 시스템의 종류 등에 의해 구분될 수 있으나, 이에 한정되지는 않는다.
또한, 카테고리에 따라 서로 상이한 차분 데이터 전송 알고리즘이 적용될 수도 있다. 일 예로, 서버(300)는 가상 현실 관련 소프트웨어 이미지는 비 압축 포맷의 차분 데이터를 이용하여 백그라운드 업데이트가 이루어지도록 제어하고, 길 안내 관련 소프트웨어 이미지는 압축 포맷의 차분 데이터를 이용하여 백그라운드 업데이트가 이루어지도록 제어하고, 차량 통신 관련 소프트웨어 이미지는 비 압축 포맷의 차분 데이터와 압축 포맷의 차분 데이터 중 보다 작은 크기의 차분 데이터를 이용하여 백그라운드 업데이트가 이루어지도록 제어할 수 있다.
추출부(340)는 업데이트 대상 소프트웨어 이미지의 제1 포맷과 제2 포맷 각각에 상응하는 제1 포맷 차분 데이터와 제2 포맷 차분 데이터를 추출할 수 있다.
도 3을 참조하면, 제1 차분 데이터 추출부는 제1 포맷-즉, 비 압축 포맷-에 상응하는 제1 포맷 차분 데이터를 추출하고, 제2 차분 데이터 추출부는 제2 포맷-즉, 압축 포맷-에 상응하는 제2 포맷 차분 데이터를 추출할 수 있다.
제1 포맷 차분 데이터는 제1 버전의 비 압축 소프트웨어 이미지(331)와 제2 버전의 비 압축 소프트웨어 이미지(332)의 차이에 기반하여 추출되고, 제2 포맷 차분 데이터는 제1 버전의 압축 소프트웨어 이미지(333)와 제2 버전의 압축 소프트웨어 이미지(334)의 차이에 기반하여 추출될 수 있다. 이때, 제2 버전은 제1 버전보다 상위 버전일 수 있다.
비교부(350)는 제1 포맷 차분 데이터의 크기와 제2 포맷 차분 데이터의 크기를 비교할 수 있다.
제어부(310)는 비교부(350)에 비교 결과에 기초하여 전송할 차분 데이터의 포맷을 결정할 수 있다. 일 예로, 제어부(310)는 제1 포맷 차분 데이터와 제2 포맷 차분 데이터 중 작은 크기의 차분 데이터를 전송할 차분 데이터로 결정할 수 있다.
통신부(360)는 제어부(310)의 결정에 따라 해당 포맷의 차분 데이터를 무선망을 통해 업데이트 대상 차량 단말로 전송할 수 있다.
이때, 업데이트 대상 차량 단말에 관한 정보는 서버(300)의 소정 기록 영역에 유지되거나, 네트워크 연결된 다른 서버로부터 획득될 수 있다.
제어부(310)는 결정된 포맷의 차분 데이터를 전송하기 이전에 어떤 포맷의 차분 데이터가 전송 대상으로 결정되었는지를 지시하는 제1 제어 신호를 생성하여 통신부(360)를 통해 해당 차량 단말로 전송할 수도 있다. 이 경우, 제1 제어 신호에 따라 해당 차량 단말은 결정된 포맷과 상이한 포맷의 소프트웨어 이미지를 이용하여 해당 시스템을 구동시킬 수 있다. 일 예로, 결정된 포맷이 압축 포맷인 경우, 차량 단말은 제1 제어 신호가 수신되면, 비 압축 포맷의 소프트웨어 이미지를 이용하여 시스템을 구동시키고, 압축 포맷의 소프트웨어 이미지는 수신된 압축 포맷 차분 데이터를 이용하여 갱신할 수 있다.
이는 차량 내 백그라운드 업데이트 절차가 수행중인 상태에서도 차량 시스템 기능을 정상적으로 유지시킬 수 있는 장점이 있다.
차량 단말은 백그라운드 업데이트 절차가 완료되면, 업그레이드된 최신 소프트웨어 이미지를 해당 시스템에 로딩하여 구동시킬 수 있다.
제어부(310)는 차량 단말로부터 시스템 구동이 완료되었음을 지시하는 제2 제어 신호를 수신하면, 결정된 포맷의 차분 데이터가 OTA 방식으로 차량 단말에 전송되도록 제어할 수 있다.
도 4은 실시 예에 따라 무선망을 통해 서버와 연동하여 차량용 소프트웨어를 업데이트하는 차량용 소프트웨어 업데이트 장치의 구조를 설명하기 위한 블록도이다.
도 4를 참조하면, 차량용 소프트웨어 업데이트 장치는 통신부(410), 갱신부(420), 저장부(430) 및 구동부(440)를 포함하여 구성될 수 있다.
통신부(410)는 무선망을 통해 서버(300)와 연결되어 각종 제어 신호 및 데이터를 송수신할 수 있다.
저장부(430)는 복수의 상이한 포맷을 가지는 소프트웨어 이미지가 기록되어 유지될 수 있다. 이하에서는 포맷이 압축 여부로 구분되는 것을 중심으로 설명하나, 이는 하나의 실시 예일 뿐 포맷의 구분은 이에 한정되지는 않는다.
통신부(410)는 어떤 포맷의 차분 데이터가 전송 대상으로 결정되었는지를 지시하는 제1 제어 신호를 서버(300)로부터 수신할 수 있다.
구동부(440)는 제1 제어 신호에 기초하여, 전송 대상으로 결정되지 않은 포맷을 식별할 수 있다.
구동부(440)는 전송 대상으로 결정되지 않은 포맷의 소프트웨어 이미지를 저장부(430)로부터 읽어 들인 후 해당 차량 시스템에 로딩하여 구동시킬 수 있다.
통신부(410)는 전송 대상으로 결정되지 않은 포맷의 소프트웨어 이미지를 이용하여 시스템 구동이 완료되었음을 지시하는 제2 제어 신호를 서버(300)로 전송할 수도 있다.
이후 통신부(410)는 전송 대상으로 결정된 포맷의 차분 데이터를 OTA 방식으로 서버(300)로부터 수신할 수 있다.
갱신부(420)는 전송 대상으로 결정되지 않은 포맷의 소프트웨어 이미지를 이용한 시스템 구동이 완료되면, 수신된 차분 데이터를 이용하여 전송 대상으로 결정된 포맷에 상응하는 소프트웨어 이미지에 대한 백그라운드 업데이트를 수행할 수 있다.
일 예로, 전송 대상으로 결정된 포맷이 압축 포맷인 제1 포맷이면, 갱신부(420)는 수신된 차분 데이터를 이용하여 저장부(430)에 기록된 압축 소프트웨어 이미지(432)를 갱신-즉, 업그레이드-할 수 있다.
반면, 전송 대상으로 결정된 포맷이 비 압축 포맷인 제2 포맷이면, 갱신부(420)는 수신된 차분 데이터를 이용하여 저장부(430)에 기록된 비 압축 소프트웨어 이미지(431)를 갱신-즉, 업그레이드-할 수 있다.
갱신부(420)는 수신된 차분 데이터를 이용한 백그라운드 업데이트 절차가 완료되면, 백그라운드 업데이트가 완료되었음을 지시하는 제3 제어 신호를 구동부(440)에 전송할 수 있다.
구동부(440)는 제3 제어 신호에 따라, 업데이트 완료된 포맷의 소프트웨어 이미지를 이용하여 해당 시스템을 재구동시킬 수 있다.
갱신부(420)는 시스템이 재구동된 후, 차량 유휴 시간인지 여부를 판단할 수 있다. 여기서, 차량 유휴 시간은 차량 운행 여부, 차량 단말의 CPU 사용율, 시간대 등에 기초하여 결정될 수 있으나, 이에 한정되지는 않는다.
차량 유휴 시간인 것으로 판단하면, 갱신부(420)는 백그라운드 업데이트 완료된 소프트웨어 이미지의 포맷을 변환하고, 변환된 포맷의 소프트웨어 이미지를 이용하여 전송 대상으로 결정되지 않은 포맷의 소프트웨어 이미지를 업데이트할 수 있다.
일 예로, 백그라운드 업데이트된 소프트웨어 이미지가 압축 소프트웨어 이미지(432)인 경우, 갱신부(420)는 최신 업그레이드된 압축 소프트웨어 이미지(432)를 압축 해제하고, 기존 비 압축 소프트웨어 이미지(431)를 압축 해제된 소프트웨어 이미지로 덮어써서 비압축 및 압축 포맷의 소프트웨어 이미지(431, 432)를 모두 최신 버전으로 업그레이드할 수 있다. 이를 통해, 갱신부(420)는 저장부(430)에 유지되는 비압축 및 압축 포맷의 소프트웨어 이미지(431, 432)를 모두 최신 버전으로 동기화시킬 수 있다.
반면, 백그라운드 업데이트된 소프트웨어 이미지가 비 압축 소프트웨어 이미지(431)인 경우, 갱신부(420)는 최신 업그레이드된 비 압축 소프트웨어 이미지(431)를 압축하고, 기존 압축 소프트웨어 이미지(432)를 압축된 소프트웨어 이미지로 덮어써서 압축 및 비압축 포맷의 소프트웨어 이미지(432, 431)를 모두 최신 버전으로 업그레이드할 수 있다. 이를 통해, 갱신부(420)는 저장부(430)에 유지되는 압축 및 비압축 포맷의 소프트웨어 이미지(432, 431)를 모두 최신 버전으로 동기화시킬 수 있다.
갱신부(420)는 차량 유휴 시간이 아닌 것으로 판단하면, 수행중인 업데이트-즉, 동기화 동작-을 일시 중지할 수도 있다.
일 예로, 차량 단말은 심야 시간대에 자동 부팅되어 동기화 동작을 수행할 수도 있다.
도 5는 실시 예에 따른 무선망을 통해 차량과 연동하는 서버에서의 차량용 소프트웨어를 업데이트 방법을 설명하기 위한 순서도이다.
도 5를 참조하면, 서버(300)는 업데이트 대상 소프트웨어 이미지의 제1 포맷과 제2 포맷 각각에 상응하는 제1 포맷 차분 데이터와 제2 포맷 차분 데이터를 추출할 수 있다(S501). 일 예로, 제1 포맷은 압축 포맷이고, 제2 포맷은 비 압축 포맷일 수 있다.
여기서, 제1 포맷 차분 데이터는 제1 버전의 압축 소프트웨어 이미지와 제2 버전의 압축 소프트웨어 이미지의 차이에 기반하여 추출되고, 제2 포맷 차분 데이터는 제1 버전의 비 압축 소프트웨어 이미지와 제2 버전의 비 압축 소프트웨어 이미지의 차이에 기반하여 추출되되, 제2 버전은 제1 버전보다 상위 버전일 수 있다.
서버(300)는 제1 포맷 차분 데이터의 크기 a와 제2 포맷 차분 데이터의 크기 b를 비교할 수 있다(S503).
서버(300)는 비교 결과에 기반하여 전송할 차분 데이터의 포맷을 결정할 수 있다.
일 예로, a가 b보다 크면, 서버(300)는 제2 포맷 차분 데이터를 전송 대상으로 결정하고(S505), 그렇지 않으면, 제2 포맷 차분 데이터를 전송 대상으로 결정할 수 있다(S507).
서버(300)는 결정된 포맷의 차분 데이터를 전송하기 이전에 어떤 포맷의 차분 데이터가 전송 대상으로 결정되었는지를 지시하는 제1 제어 신호를 해당 차량 단말로 전송할 수 있다(S509).
실시 예에 따른 차량 단말은 제1 제어 신호가 수신되면, 결정된 포맷이 아닌 포맷의 소프트웨어 이미지를 내부 메모리로부터 로딩하여 해당 시스템을 구동시킬 수 있다.
서버(300)는 전송 대상으로 결정되지 않은 포맷에 상응하는 소프트웨어 이미지로 시스템이 구동되었음을 확인하면, 전송 대상으로 결정된 포맷의 차분 데이터를 OTA를 통해 해당 차량 단말로 전송할 수 있다(S511).
상기 도 5의 실시 예에서는 소프트웨어 이미지의 포맷이 압축 여부에 따라 구분되는 것으로 설명하고 있으나, 이는 하나의 실시 예에 불과하며, 특정 포맷 변형이 해당 소프트웨어 이미지의 변경 데이터-즉, 차분 데이터-의 크기에 영향을 미치는 것이라면 해당 포맷 변경이 본 발명에 적용될 수도 있음을 주의해야 한다. 일 예로, 포맷은 파일 확장자에 의해 구분될 수도 있다. 이 경우, 포맷의 개수는 제한되지 않는다.
다른 실시 예로, 소프트웨어 이미지는 카테고리 별로 구분될 수 있으며, 해당카테고리 별 상이한 포맷의 소프트웨어 이미지가 저장부(330)에 유지될 수 있다.
여기서, 카테고리는 해당 소프트웨어 이미지의 용도/목적, 해당 소프트웨어 이미지가 적용되는 시스템의 종류 등에 의해 구분될 수 있으나, 이에 한정되지는 않는다.
도 6은 실시 예에 따른 무선망을 통해 서버와 연동하는 차량에서의 차량용 소프트웨어를 업데이트 방법을 설명하기 위한 순서도이다.
본 실시 예에 있어서, 차량은 실제 차량 내부에 장착되어 외부 서버와 무선 통신을 수행하는 차량 단말 또는 차량 텔레매틱스 단말 또는 AVN(Audio Video Navigation) 단말을 의미할 수 있다.
도 6을 참조하면, 차량은 백그라운드 업데이트를 위해 어떤 포맷의 차분 데이터가 전송 대상으로 결정되었는지를 지시하는 제1 제어 신호를 서버(300)로부터 수신할 수 있다(S601).
차량은 전송 대상으로 결정되지 않은 포맷의 소프트웨어 이미지를 이용하여 시스템을 구동시킬 수 있다. 이때, 전송 대상으로 결정되지 않은 포맷은 제1 신호에 기초하여 식별될 수 있다. 이 후, 차량은 전송 대상으로 결정되지 않은 포맷의 소프트웨어 이미지를 이용한 시스템 구동이 완료되었음을 지시하는 제2 제어 신호를 서버(300)로 전송할 수 있다(S603).
차량은 전송 대상으로 결정된 포맷의 차분 데이터를 OTA 방식으로 서버(300)로부터 수신할 수 있다(S605).
차량은 수신된 차분 데이터에 상응하는 포맷의 소프트웨어 이미지를 상기 수신된 차분 데이터를 이용하여 백그라운드 업데이트할 수 있다(S607).
차량은 백그라운드 업데이트가 완료된 소프트웨어 이미지를 이용하여 시스템을 재구동시킬 수 있다(S609).
차량은 시스템 재구동 후, 차량 유휴 시간인지 여부를 판단할 수 있다(S611).
판단 결과, 차량 유휴 시간이면, 차량은 백그라운드 업데이트가 완료된 소프트웨어 이미지의 포맷을 변환한 후, 포맷 변환된 소프트웨어 이미지를 이용하여 전송 대상으로 결정되지 않은 포맷의 소프트웨어 이미지를 최신 버전으로 업그레이드하는 동기화 절차를 개시할 수 있다(S615).
상기한 611 단계의 판단 결과, 차량 유휴 시간이 아니면, 차량은 수행중인 동기화 절차를 일시 중지시키고(S613) 차량 유휴 시간으로의 진입 여부를 모니터링할 수 있다.
차량은 동기화가 완료되었는지 여부를 확인할 수 있다(S617).
동기화가 완료되면, 차량은 차량용 소프트웨어 업데이트 절차를 종료한다.
반면, 동기화가 완료되지 않은 경우, 차량은 상기한 611 단계로 진입할 수 있다.
이상에서, 본 발명의 실시예를 구성하는 모든 구성 요소들이 하나로 결함되거나 결함되어 동작하는 것으로 설명되었다고 해서, 본 발명이 반드시 이러한 실시예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위 안에서라면, 그 모든 구성 요소들이 하나 이상으로 선택적으로 결함하여 동작할 수도 있다. 또한, 그 모든 구성 요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성 요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 그 컴퓨터 프로그램을 구성하는 코드들 및 코드 세그먼트들은 본 발명의 기술 분야의 당업자에 의해 용이하게 추론될 수 있을 것이다. 이러한 컴퓨터 프로그램은 컴퓨터가 읽을 수 있는 저장매체(Computer Readable Media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 발명의 실시예를 구현할 수 있다. 컴퓨터 프로그램의 저장매체로서는 자기 기록매체, 광 기록매체 등이 포함될 수 있다.
또한, 이상에서 기재된 "포함하다", "구성하다" 또는 "가지다" 등의 용어는, 특별히 반대되는 기재가 없는 한, 해당 구성 요소가 내재될 수 있음을 의미하는 것이므로, 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것으로 해석되어야 한다. 기술적이거나 과학적인 용어를 포함한 모든 용어들은, 다르게 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 사전에 정의된 용어와 같이 일반적으로 사용되는 용어들은 관련 기술의 문맥 상의 의미와 일치하는 것으로 해석되어야 하며, 본 발명에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
또한, 본 발명의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성 요소에 "연결", "결함" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성 요소에 직접적으로 연결되거나 또는 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결함" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.
상기와 같이 설명된 차량용 이더넷 전력 소모 절감 방법은 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터가 읽을 수 있는 코드로서 구현되는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체로는 컴퓨터 시스템에 의하여 해독될 수 있는 데이터가 저장된 모든 종류의 기록 매체를 포함한다. 예를 들어, ROM(Read Only Memory), RAM(Random Access Memory), 자기 테이프, 자기 디스크, 플래쉬 메모리, 광 데이터 저장장치 등이 있을 수 있다. 또한, 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 통신망으로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 읽을 수 있는 코드로서 저장되고 해당 장치에 다운로드되어 실행될 수도 있다.
또한, 상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.

Claims (25)

  1. 업데이트 대상 소프트웨어 이미지의 제1 포맷과 제2 포맷 각각에 상응하는 제1 포맷 차분 데이터와 제2 포맷 차분 데이터를 추출하는 단계;
    상기 제1 포맷 차분 데이터와 상기 제2 포맷 차분 데이터의 크기를 비교하는 단계;
    상기 비교 결과에 기반하여 전송할 차분 데이터의 포맷을 결정하는 단계;
    상기 결정된 포맷의 차분 데이터를 전송하기 이전에 어떤 포맷의 차분 데이터가 전송 대상으로 결정되었는지를 지시하는 제1 제어 신호를 차량 단말로 전송하고, 상기 제1 제어 신호에 따라 상기 차량 단말이 상기 결정된 포맷이 아닌 포맷의 소프트웨어 이미지로 시스템을 구동시키는 단계; 및
    상기 결정된 포맷의 차분 데이터를 무선망을 통해 업데이트 대상 차량 단말로 전송하는 단계
    를 포함하고, 상기 제1 포맷 차분 데이터와 상기 제2 포맷 차분 데이터 중 작은 크기의 차분 데이터를 전송 대상 차분 데이터로 결정하는, 서버에서의 차량용 소프트웨어 업데이트 방법.
  2. 삭제
  3. 제1항에 있어서,
    상기 시스템 구동이 완료되었음을 지시하는 제2 제어 신호를 상기 차량 단말로부터 수신하는 단계를 포함하고, 상기 제2 제어 신호에 따라 상기 결정된 포맷의 차분 데이터 전송을 개시하는 서버에서의 차량용 소프트웨어 업데이트 방법.
  4. 제1항에 있어서,
    상기 결정된 포맷의 차분 데이터는 OTA(Over-The-Air) 방식으로 전송되는 서버에서의 차량용 소프트웨어 업데이트 방법.
  5. 제1항에 있어서,
    상기 제1 포맷은 압축 포맷이고 상기 제2 포맷은 비 압축 포맷인 서버에서의 차량용 소프트웨어 업데이트 방법.
  6. 제5항에 있어서,
    상기 제1 포맷 차분 데이터는 제1 버전의 압축 소프트웨어 이미지와 제2 버전의 압축 소프트웨어 이미지의 차이에 기반하여 추출되고, 상기 제2 포맷 차분 데이터는 제1 버전의 비 압축 소프트웨어 이미지와 제2 버전의 비 압축 소프트웨어 이미지의 차이에 기반하여 추출되되, 상기 제2 버전은 상기 제1 버전보다 상위 버전인 서버에서의 차량용 소프트웨어 업데이트 방법.
  7. 제1항에 있어서,
    상기 제1 포맷과 상기 제2 포맷은 상이한 파일 확장자를 가지고,
    상기 소프트웨어 이미지는 카테고리 별로 구분되고, 상기 카테고리 별 상기 제1 포맷 및 상기 제2 포맷의 소프트웨어 이미지가 상기 서버에 구비된 스토리지의 해당 영역에 유지되어 관리되는, 서버에서의 차량용 소프트웨어 업데이트 방법.
  8. 제1 포맷의 소프트웨어 이미지와 제2 포맷의 소프트웨어 이미지가 유지되는 저장부;
    업데이트 대상 소프트웨어 이미지의 제1 포맷과 제2 포맷 각각에 상응하는 제1 포맷 차분 데이터와 제2 포맷 차분 데이터를 추출하는 추출부;
    상기 제1 포맷 차분 데이터와 상기 제2 포맷 차분 데이터의 크기를 비교하는 비교부;
    상기 비교 결과에 기반하여 전송할 차분 데이터의 포맷을 결정하는 제어부; 및
    상기 결정된 포맷의 차분 데이터를 무선망을 통해 업데이트 대상 차량 단말로 전송하는 통신부
    를 포함하고,
    상기 제어부는 상기 결정된 포맷의 차분 데이터를 전송하기 이전에 어떤 포맷의 차분 데이터가 전송 대상으로 결정되었는지를 지시하는 제1 제어 신호를 생성하여 상기 통신부를 통해 상기 차량 단말로 전송하고, 상기 제1 제어 신호에 따라 상기 차량 단말이 상기 결정된 포맷이 아닌 포맷의 소프트웨어 이미지로 시스템을 구동시키며,
    상기 제어부가 상기 제1 포맷 차분 데이터와 상기 제2 포맷 차분 데이터 중 작은 크기의 차분 데이터를 전송 대상 차분 데이터로 결정하는, 서버.
  9. 삭제
  10. 제8항에 있어서,
    상기 시스템 구동이 완료되었음을 지시하는 제2 제어 신호가 상기 차량 단말로부터 수신되면, 상기 제어부가 상기 제2 제어 신호에 따라 상기 결정된 포맷의 차분 데이터가 상기 차량 단말에 전송되도록 제어하는 서버.
  11. 제8항에 있어서,
    상기 결정된 포맷의 차분 데이터는 OTA(Over-The-Air) 방식으로 전송되는 서버.
  12. 제8항에 있어서,
    상기 제1 포맷은 압축 포맷이고 상기 제2 포맷은 비 압축 포맷인 서버.
  13. 제12항에 있어서,
    상기 제1 포맷 차분 데이터는 제1 버전의 압축 소프트웨어 이미지와 제2 버전의 압축 소프트웨어 이미지의 차이에 기반하여 추출되고, 상기 제2 포맷 차분 데이터는 제1 버전의 비 압축 소프트웨어 이미지와 제2 버전의 비 압축 소프트웨어 이미지의 차이에 기반하여 추출되되, 상기 제2 버전은 상기 제1 버전보다 상위 버전인 서버.
  14. 제8항에 있어서,
    상기 제1 포맷과 상기 제2 포맷은 상이한 파일 확장자를 가지는, 서버.
  15. 제8항에 있어서,
    상기 소프트웨어 이미지는 카테고리 별로 구분되고, 상기 카테고리 별 상기 제1 포맷 및 상기 제2 포맷의 소프트웨어 이미지가 상기 저장부에 유지되어 관리되는, 서버.
  16. 무선망을 통해 서버와 연동하는 차량에서 차량용 소프트웨어를 업데이트하는 방법에 있어서,
    어떤 포맷의 차분 데이터가 전송 대상으로 결정되었는지를 지시하는 제1 제어 신호를 상기 서버로부터 수신하는 단계;
    상기 전송 대상으로 결정되지 않은 포맷의 소프트웨어 이미지를 이용하여 시스템을 구동시키는 단계;
    상기 시스템의 구동이 완료되었음을 지시하는 제2 제어 신호를 상기 서버로 전송하는 단계;
    상기 서버로부터 상기 전송 대상으로 결정된 포맷의 차분 데이터를 수신하는 단계; 및
    상기 수신된 차분 데이터에 상응하는 포맷의 소프트웨어 이미지를 상기 수신된 차분 데이터를 이용하여 백그라운드 업데이트하는 단계
    를 포함하는 차량에서의 차량용 소프트웨어 업그레이드 방법.
  17. 제16항에 있어서,
    상기 백그라운드 업데이트가 완료된 소프트웨어 이미지를 이용하여 상기 시스템을 재구동하는 단계를 더 포함하는 차량에서의 차량용 소프트웨어 업그레이드 방법.
  18. 제17항에 있어서,
    상기 시스템 재구동 후, 차량 유휴 시간인지 여부를 확인하는 단계;
    상기 확인 결과, 상기 차량 유휴 시간이면 상기 백그라운드 업데이트 완료된 소프트웨어 이미지의 포맷을 변환하는 단계; 및
    상기 변환된 포맷의 소프트웨어 이미지를 이용하여 상기 전송 대상으로 결정되지 않은 포맷의 소프트웨어 이미지를 업데이트하는 단계
    를 포함하는 차량에서의 차량용 소프트웨어 업그레이드 방법.
  19. 제18항에 있어서,
    상기 포맷을 변환하는 단계는
    상기 백그라운드 업데이트 완료된 소프트웨어 이미지의 포맷이 압축 포맷이면 압축을 해제하는 단계; 및
    상기 백그라운드 업데이트 완료된 소프트웨어 이미지의 포맷이 비 압축 포맷이면 압축하는 단계
    를 포함하는 차량에서의 차량용 소프트웨어 업그레이드 방법.
  20. 제18항에 있어서,
    상기 확인 결과, 상기 차량 유휴 시간이 아니면, 수행중인 업데이트를 일시 중지시키는 단계를 더 포함하는 차량에서의 차량용 소프트웨어 업그레이드 방법.
  21. 무선망을 통해 서버와 연동하여 차량용 소프트웨어를 업데이트 하는 장치에 있어서,
    복수의 상이한 포맷을 가지는 소프트웨어 이미지를 유지하는 저장부;
    어떤 포맷의 차분 데이터가 전송 대상으로 결정되었는지를 지시하는 제1 제어 신호를 상기 서버로부터 수신하는 통신부;
    상기 전송 대상으로 결정되지 않은 포맷의 소프트웨어 이미지를 이용하여 시스템을 구동시키는 구동부; 및
    상기 시스템의 구동이 완료된 후 상기 서버로부터 수신되는 상기 전송 대상으로 결정된 포맷의 차분 데이터를 이용하여 상기 전송 대상으로 결정된 포맷에 상응하는 소프트웨어 이미지에 대한 백그라운드 업데이트를 수행하는 갱신부
    를 포함하는 차량용 소프트웨어 업데이트 장치.
  22. 제21항에 있어서,
    상기 구동부가 상기 백그라운드 업데이트가 완료된 소프트웨어 이미지를 이용하여 상기 시스템을 재구동시키는 차량용 소프트웨어 업데이트 장치.
  23. 제22항에 있어서,
    상기 시스템이 재구동된 후, 차량 유휴 시간이면 상기 갱신부가 상기 백그라운드 업데이트 완료된 소프트웨어 이미지의 포맷을 변환하고, 상기 변환된 포맷의 소프트웨어 이미지를 이용하여 상기 전송 대상으로 결정되지 않은 포맷의 소프트웨어 이미지를 업데이트하는 차량용 소프트웨어 업데이트 장치.
  24. 제23항에 있어서,
    상기 갱신부는 상기 백그라운드 업데이트 완료된 소프트웨어 이미지의 포맷이 압축 포맷이면 압축을 해제하고, 상기 백그라운드 업데이트 완료된 소프트웨어 이미지의 포맷이 비 압축 포맷이면 압축하여 포맷을 변환하는 차량용 소프트웨어 업데이트 장치.
  25. 제23항에 있어서,
    상기 차량 유휴 시간이 아니면, 상기 갱신부가 수행중인 업데이트를 일시 중지하는 차량용 소프트웨어 업데이트 장치.
KR1020180146148A 2018-11-23 2018-11-23 Ota를 이용한 차량용 소프트웨어 업데이트 방법 및 장치 KR102626253B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020180146148A KR102626253B1 (ko) 2018-11-23 2018-11-23 Ota를 이용한 차량용 소프트웨어 업데이트 방법 및 장치
US16/373,468 US11055083B2 (en) 2018-11-23 2019-04-02 Method and apparatus for updating vehicle software using OTA
DE102019206187.7A DE102019206187A1 (de) 2018-11-23 2019-04-30 Verfahren und Einrichtung zum Aktualisieren von Fahrzeug-Software und Autonivellierer
CN201910438157.5A CN111221549A (zh) 2018-11-23 2019-05-24 利用ota更新车辆软件的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180146148A KR102626253B1 (ko) 2018-11-23 2018-11-23 Ota를 이용한 차량용 소프트웨어 업데이트 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20200060943A KR20200060943A (ko) 2020-06-02
KR102626253B1 true KR102626253B1 (ko) 2024-01-17

Family

ID=70546365

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180146148A KR102626253B1 (ko) 2018-11-23 2018-11-23 Ota를 이용한 차량용 소프트웨어 업데이트 방법 및 장치

Country Status (4)

Country Link
US (1) US11055083B2 (ko)
KR (1) KR102626253B1 (ko)
CN (1) CN111221549A (ko)
DE (1) DE102019206187A1 (ko)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020071564A1 (ko) * 2018-10-01 2020-04-09 엘지전자 주식회사 이동 its 스테이션 및 상기 이동 its 스테이션의 메시지 송수신 방법
US11461087B2 (en) * 2020-02-28 2022-10-04 Toyota Motor North America, Inc. Transport sensor data update
US11514729B2 (en) 2020-02-28 2022-11-29 Toyota Motor North America, Inc. Transport behavior observation
CN111949299A (zh) * 2020-08-24 2020-11-17 上海博泰悦臻网络技术服务有限公司 一种车载软件ota升级的控制方法及装置
CN111949604A (zh) * 2020-08-24 2020-11-17 北京明略昭辉科技有限公司 一种文件存储方法、装置、电子设备及可读存储介质
US11163551B1 (en) * 2020-10-13 2021-11-02 Argo AI, LLC Systems and methods for improved smart infrastructure data transfer
KR102563562B1 (ko) * 2020-12-03 2023-08-07 주식회사 팝콘사 오토사 어댑티브 플랫폼에서 다이나믹 소프트웨어 설치를 위한 시스템 및 방법
KR102541439B1 (ko) * 2020-12-16 2023-06-07 현대오토에버 주식회사 차량 무선 업데이트의 관리 제어 방법 및 장치
CN112925538B (zh) * 2021-01-27 2024-05-03 国网北京市电力公司 设备更新方法、***及装置
CN114244828B (zh) * 2021-11-30 2023-02-24 三一汽车起重机械有限公司 一种数据传输方法及车载动态数据管理***
CN114500597B (zh) * 2022-01-19 2024-03-08 云控智行科技有限公司 一种车辆数据的处理方法及装置
KR20240042859A (ko) 2022-09-26 2024-04-02 주식회사 경신 Ota를 이용한 차량의 소프트웨어 업데이트 장치 및 방법
CN116389467B (zh) * 2023-06-07 2023-08-11 北京集度科技有限公司 数据传输装置、车辆的检验方法、车辆和计算机程序产品

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110225119A1 (en) * 2010-03-12 2011-09-15 Salesforce.Com, Inc. System, method and computer program product for versioning content in a database system using content type specific objects
US20170242678A1 (en) * 2016-02-19 2017-08-24 Ford Global Technologies, Llc Method and apparatus for vehicle software update installation
WO2018185994A1 (ja) * 2017-04-05 2018-10-11 住友電気工業株式会社 制御装置、転送方法、およびコンピュータプログラム

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6356961B1 (en) * 1994-06-03 2002-03-12 Motorola, Inc. Method and apparatus for minimizing an amount of data communicated between devices and necessary to modify stored electronic documents
US7149508B2 (en) * 2003-02-05 2006-12-12 Samsung Electronics Co., Ltd. System and method for delta-based over-the-air software upgrades for a wireless mobile station
CN100422931C (zh) * 2005-02-05 2008-10-01 西安大唐电信有限公司 一种软件功能更新的方法及***
JP2007298745A (ja) * 2006-04-28 2007-11-15 Aisin Aw Co Ltd 地図更新システム
JP4944686B2 (ja) * 2007-06-28 2012-06-06 ソニーモバイルコミュニケーションズ株式会社 ソフトウェア更新方法および携帯端末装置
JP2009086754A (ja) * 2007-09-27 2009-04-23 Kyocera Corp ソフトウェア更新方法および携帯端末
US8656020B1 (en) * 2010-01-21 2014-02-18 Google Inc. Delta compression of files in web applications
JP2012048540A (ja) * 2010-08-27 2012-03-08 Canon Inc 画像処理装置及びその制御方法、情報処理システム、並びにプログラム
CN102799448A (zh) * 2012-06-27 2012-11-28 惠州华阳通用电子有限公司 用于车载终端设备的软件智能升级方法
CN105404521B (zh) * 2014-05-30 2017-05-31 广州市动景计算机科技有限公司 一种增量升级方法及相关装置
CN106293793A (zh) * 2015-06-02 2017-01-04 西安中兴新软件有限责任公司 一种终端的软件升级方法、装置和***
CN105487905A (zh) * 2015-11-27 2016-04-13 东软集团股份有限公司 一种混合应用的更新方法和装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110225119A1 (en) * 2010-03-12 2011-09-15 Salesforce.Com, Inc. System, method and computer program product for versioning content in a database system using content type specific objects
US20170242678A1 (en) * 2016-02-19 2017-08-24 Ford Global Technologies, Llc Method and apparatus for vehicle software update installation
WO2018185994A1 (ja) * 2017-04-05 2018-10-11 住友電気工業株式会社 制御装置、転送方法、およびコンピュータプログラム

Also Published As

Publication number Publication date
CN111221549A (zh) 2020-06-02
KR20200060943A (ko) 2020-06-02
US11055083B2 (en) 2021-07-06
DE102019206187A1 (de) 2020-05-28
US20200167144A1 (en) 2020-05-28

Similar Documents

Publication Publication Date Title
KR102626253B1 (ko) Ota를 이용한 차량용 소프트웨어 업데이트 방법 및 장치
RU2419839C2 (ru) Система и способ обновления программы для мобильного терминала с поддержкой ота
US9021462B2 (en) Systems and methods for provisioning equipment
JP5658283B2 (ja) アプリケーションの稼働方法、装置及びシステム
CN108650287B (zh) 物联网中的终端设备的升级方法、设备及计算机可读介质
CN106406935A (zh) 一种蓝牙芯片ota升级的方法和蓝牙芯片
KR20070120446A (ko) 시스템 정보 갱신 장치 및 방법
US20210349710A1 (en) Software update agent device and software patching method through the same
US11775288B2 (en) Method and apparatus for generating difference between old and new versions of data for updating software
CN110162334B (zh) 一种代码管理方法、装置及存储介质
US11416236B2 (en) Over-the-air (OTA) updating of partially compressed firmware
CN111562933A (zh) 一种空调升级方法以及空调***
US10521611B2 (en) Method and system for emergency data destruction
US9588884B2 (en) Systems and methods for in-place reorganization of device storage
CN111566617A (zh) 无人飞行器的固件升级方法、固件升级装置、控制装置、无人飞行器及介质
CN114780120B (zh) 升级方法、设备及存储介质
EP3346642A1 (en) Method and device for managing network element model
CN113010195B (zh) 一种***升级方法、存储介质及终端设备
CN105593853A (zh) 服务器装置、客户端装置、信息处理方法和记录介质
KR102541439B1 (ko) 차량 무선 업데이트의 관리 제어 방법 및 장치
CN111953803A (zh) Bmc启动方法、设备、***及存储介质
CN111552498A (zh) 一种实现显示屏的屏参升级的方法及***
CN115562697B (zh) 升级方法、设备及存储介质
KR101835404B1 (ko) 사용자 편의를 위한 차량 탑재 하드웨어 정보 제공 시스템
KR100713971B1 (ko) 광디스크 장치에서의 펌웨어 다운로드 판별방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right