KR102249222B1 - Apparatus and system and method for software update of vehicle - Google Patents

Apparatus and system and method for software update of vehicle Download PDF

Info

Publication number
KR102249222B1
KR102249222B1 KR1020190125295A KR20190125295A KR102249222B1 KR 102249222 B1 KR102249222 B1 KR 102249222B1 KR 1020190125295 A KR1020190125295 A KR 1020190125295A KR 20190125295 A KR20190125295 A KR 20190125295A KR 102249222 B1 KR102249222 B1 KR 102249222B1
Authority
KR
South Korea
Prior art keywords
update
software
vehicle
file
divided
Prior art date
Application number
KR1020190125295A
Other languages
Korean (ko)
Other versions
KR20210042575A (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 KR1020190125295A priority Critical patent/KR102249222B1/en
Publication of KR20210042575A publication Critical patent/KR20210042575A/en
Application granted granted Critical
Publication of KR102249222B1 publication Critical patent/KR102249222B1/en

Links

Images

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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • 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/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • 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
    • H04L67/18
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/52Network services specially adapted for the location of the user terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/10Integrity
    • H04W12/106Packet or message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/06Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information
    • H04W28/065Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information using assembly or disassembly of packets

Abstract

본 발명의 실시예에 따른 차량의 소프트웨어 업데이트 방법은, 업데이트 장치를 이용하여 차량에 배치된 차량 단말의 소프트웨어를 업데이트하는 방법으로서, 상기 업데이트 장치가 무선 전송 방식으로 소정의 크기로 분할된 업데이트 패키지 파일을 수신하는 단계; 상기 업데이트 장치가 수신된 업데이트 패키지 파일의 무결성 검사를 하는 단계; 상기 무결성 검사에 문제가 있으면 상기 무결성 검사에 문제가 있는 분할된 업데이트 패키지 파일을 상기 업데이트 장치가 업데이트 서버에 재요청하여 수신하는 단계; 및 상기 무결성 검사에 문제가 없으면 상기 업데이트 장치가 상기 업데이트 패키지 파일을 이용하여 상기 차량 단말의 소프트웨어를 업데이트 하는 단계;를 포함할 수 있다. 따라서, 본 발명의 실시예는 차량에 구비되는 복수의 ECU들에 설치되는 각종 소프트웨어 업데이트를 무선 전송(OTA) 방식으로 할 경우, 안전하게 업데이트를 할 수 있다. 또한, 본 발명의 실시예는 소프트웨어 업데이트 지연을 감소시킬 수 있다.A method for updating software of a vehicle according to an embodiment of the present invention is a method of updating software of a vehicle terminal disposed in a vehicle using an update device, wherein the update device is an update package file divided into a predetermined size by a wireless transmission method. Receiving; Performing, by the update device, an integrity check of the received update package file; If there is a problem in the integrity check, the update device re-requests and receives a divided update package file having a problem in the integrity check from an update server; And if there is no problem in the integrity check, updating, by the update device, software of the vehicle terminal using the update package file. Accordingly, according to an embodiment of the present invention, when various software updates installed in a plurality of ECUs provided in a vehicle are updated by a wireless transmission (OTA) method, the update can be performed safely. In addition, embodiments of the present invention can reduce software update delay.

Description

차량의 소프트웨어 업데이트 장치 및 시스템 및 방법{Apparatus and system and method for software update of vehicle}Apparatus and system and method for software update of vehicle

본 발명은 차량의 소프트웨어 업데이트 장치 및 시스템 및 방법에 관한 것이다. 보다 상세하게는 무선 전송(OTA) 방식으로 차량의 소프트웨어 업데이트를 수행하는 차량의 소프트웨어 업데이트 장치 및 시스템 및 방법에 관한 것이다.The present invention relates to a vehicle software update apparatus, system and method. More specifically, it relates to a vehicle software update apparatus, system, and method for performing a vehicle software update through a wireless transmission (OTA) method.

차량 기기의 소프트웨어 업데이트를 위한 방법으로 제조사에서 운영하는 서비스센터 방문이나 기사방문 A/S, 차량 소유자가 직접 설치하였다. 최근 이동통신의 발달과 더불어 OTA(Over-The-Air)에 관한 표준이 제정됨으로써 직접 서비스센터를 방문하지 않고도 차량 기기의 소프트웨어를 무선망을 통해 업데이트할 수 있는 무선 전송(OTA) 방식을 이용한 업그레이드 방안이 논의되고 있다. 최근 차량의 전장화가 확대되고 차량이 인터넷과 연결되는 커넥티드카의 양산이 증가하고 있기에 자동차에서 전자장비의 사용과 이를 지원, 운영하는 소프트웨어(S/W)가 갖는 중요성이 지속적으로 커지고 있으며 지속적인 S/W의 관리 능력 또한 매우 중요해지고 있다. 차량에 구비되는 복수의 ECU(Electronic Control Units)들에 설치되는 각종 소프트웨어의 업데이트를 무선 전송(OTA) 방식으로 업그레이드 시 해킹 또는 악성 코드가 심길 가능성이 있어 보안이 중요한 이슈가 되고 있다. 또한, 복수의 ECU의 소프트웨어 업그레이드시 용량이 큰 파일의 경우 전송속도가 저하되고, 전송 중 통신 끊김이 발생하면 처음부터 다시 다운로드되어 ECU의 소프트웨어 업데이트가 지연되는 문제가 있었다.As a method for updating the software of the vehicle device, a visit to a service center operated by the manufacturer or an A/S service visit to the driver, and the vehicle owner installed it. With the recent development of mobile communication, standards related to Over-The-Air (OTA) have been established, so that the software of vehicle equipment can be updated through a wireless network without visiting a service center. A plan is being discussed. The importance of the use of electronic equipment in automobiles and the software (S/W) that supports and operates them in automobiles and the importance of the use of electronic equipment in automobiles and the importance of the software (S/W) that continuously increases as the electronic equipment of vehicles has recently increased and the mass production of connected cars in which vehicles are connected to the Internet is increasing. The management ability of /W is also becoming very important. When updating various software installed in a plurality of ECUs (Electronic Control Units) installed in a vehicle through a wireless transmission (OTA) method, there is a possibility that hacking or malicious code may be planted, making security an important issue. In addition, when the software of a plurality of ECUs is upgraded, the transmission speed decreases in the case of a large file, and if a communication disconnection occurs during transmission, there is a problem that the software update of the ECU is delayed by being downloaded again from the beginning.

대한민국공개특허공보 10-2017-0119645Republic of Korea Patent Publication 10-2017-0119645

본 발명은 차량에 구비되는 복수의 ECU들에 설치되는 각종 소프트웨어 업데이트를 무선 전송(OTA) 방식으로 할 경우, 안전하게 업데이트를 할 수 있는 차량의 소프트웨어 업데이트 장치 및 시스템 및 방법을 제공하는 것이다.The present invention provides a vehicle software update apparatus, system, and method capable of safely updating various software updates installed in a plurality of ECUs provided in a vehicle through a wireless transmission (OTA) method.

또한, 본 발명은 소프트웨어 업데이트 지연을 감소시킨 차량의 소프트웨어 업데이트 장치 및 시스템 및 방법을 제공하는 것이다.In addition, the present invention is to provide a vehicle software update apparatus, system, and method with reduced software update delay.

또한, 본 발명은 무선 전송(OTA) 방식을 이용하여 차량에 구비되는 복수의 ECU들의 소프트웨어를 실시간으로 검사할 수 있는 차량의 소프트웨어 업데이트 장치 및 시스템 및 방법을 제공하는 것이다.In addition, the present invention provides a vehicle software update apparatus, system, and method capable of inspecting software of a plurality of ECUs provided in a vehicle in real time using a wireless transmission (OTA) method.

또한, 본 발명은 무선 전송(OTA) 방식을 이용하여 차량에 구비되는 복수의 ECU들을 제어할 수 있는 차량의 소프트웨어 업데이트 장치 및 시스템 및 방법을 제공하는 것이다.In addition, the present invention provides a vehicle software update apparatus, system, and method capable of controlling a plurality of ECUs provided in a vehicle using a wireless transmission (OTA) method.

또한, 본 발명은 무선 전송(OTA) 방식으로 차량의 소프트웨어를 업데이트하여 차량 유지보수비용을 절감하는 차량의 소프트웨어 업데이트 장치 및 시스템 및 방법을 제공하는 것이다.In addition, the present invention provides a vehicle software update apparatus, system, and method for reducing vehicle maintenance costs by updating vehicle software through a wireless transmission (OTA) method.

실시예에 따른 차량의 소프트웨어 업데이트 방법은, 업데이트 장치를 이용하여 차량에 배치된 차량 단말의 소프트웨어를 업데이트하는 방법으로서, 상기 업데이트 장치가 무선 전송 방식으로 소정의 크기로 분할된 업데이트 패키지 파일을 수신하는 단계; 상기 업데이트 장치가 수신된 업데이트 패키지 파일의 무결성 검사를 하는 단계; 상기 무결성 검사에 문제가 있으면 상기 무결성 검사에 문제가 있는 분할된 업데이트 패키지 파일을 상기 업데이트 장치가 업데이트 서버에 재요청하여 수신하는 단계; 및 상기 무결성 검사에 문제가 없으면 상기 업데이트 장치가 상기 업데이트 패키지 파일을 이용하여 상기 차량 단말의 소프트웨어를 업데이트 하는 단계;를 포함할 수 있다.A method of updating software of a vehicle according to an embodiment is a method of updating software of a vehicle terminal disposed in a vehicle using an update device, wherein the update device receives an update package file divided into a predetermined size by a wireless transmission method. step; Performing, by the update device, an integrity check of the received update package file; If there is a problem in the integrity check, the update device re-requests and receives a divided update package file having a problem in the integrity check from an update server; And if there is no problem in the integrity check, updating, by the update device, software of the vehicle terminal using the update package file.

또한, 차량의 소프트웨어 업데이트 방법은, 상기 업데이트 패키지 파일의 분할 크기가 일정할 수 있다.In addition, in the vehicle software update method, the divided size of the update package file may be constant.

또한, 차량의 소프트웨어 업데이트 방법은, 상기 업데이트 패키지 파일의 무결성 검사는 상기 업데이트 서버에서 제공하는 업데이트 패키지 파일과 상기 소정의 크기로 분할된 업데이트 패키지 파일을 서로 비교하여 동일한지 검사할 수 있다.In addition, in the vehicle software update method, the integrity check of the update package file may be performed by comparing the update package file provided by the update server and the update package file divided into the predetermined size to check whether they are identical.

또한, 차량의 소프트웨어 업데이트 방법은, 상기 업데이트 장치가 무선 전송 방식으로 소정의 크기로 분할된 업데이트 패키지 파일을 수신하는 단계는 상기 업데이트 장치가 상기 업데이트 패키지 파일을 제1 크기로 분할한 복수의 제1 분할 파일을 수신하고, 상기 무결성 검사에 문제가 있으면 상기 무결성 검사에 문제가 있는 분할된 업데이트 패키지 파일을 상기 업데이트 장치가 업데이트 서버에 재요청하여 수신하는 단계는 상기 복수의 제1 분할 파일의 무결성 검사에 문제가 있으면 상기 업데이트 장치가 무결성 검사에 문제가 있는 제1 분할 파일을 상기 업데이트 서버에 재요청하여 수신하고, 상기 제1 분할 파일의 무결성이 문제가 없으면, 상기 업데이트 장치가 무선 전송 방식으로 사용자 단말로부터 무결성 검사가 완료된 상기 업데이트 패키지 파일을 제2 크기로 분할한 복수의 제2 분할 파일을 수신하는 단계;를 더 포함할 수 있다.In addition, in the method of updating the software of a vehicle, the step of receiving, by the update device, an update package file divided into a predetermined size by a wireless transmission method, comprises: The step of receiving a divided file and receiving a divided update package file having a problem with the integrity check from the update server again when there is a problem in the integrity check may include checking the integrity of the plurality of first divided files. If there is a problem with the update device, the update device re-requests and receives the first split file having a problem with the integrity check to the update server, and if there is no problem with the integrity of the first split file, the update device sends the user And receiving a plurality of second divided files obtained by dividing the update package file for which the integrity check has been completed into a second size from the terminal.

또한, 차량의 소프트웨어 업데이트 방법은, 상기 제1 크기는 상기 제2 크기보다 클 수 있다.In addition, in the vehicle software update method, the first size may be larger than the second size.

또한, 차량의 소프트웨어 업데이트 방법은, 상기 업데이트 장치가 상기 업데이트 패키지 파일을 수신하기 전에 상기 차량 단말이 업데이트 지역에 배치되어 있는지 확인하는 단계; 및 상기 업데이트 패키지 파일의 수신이 완료되면 상기 차량 단말의 소프트웨어 업데이트 전에 상기 업데이트 장치가 사용자 단말이 업데이트 지역에 위치되어 있는지 확인하는 단계;를 더 포함할 수 있다.In addition, the method for updating the software of a vehicle may include: checking whether the vehicle terminal is disposed in an update area before the update device receives the update package file; And when the reception of the update package file is completed, before updating the software of the vehicle terminal, the update device checking whether the user terminal is located in the update area.

실시예에 따른 차량의 소프트웨어 업데이트 장치는, 차량에 배치된 차량 단말의 소프트웨어를 업데이트하는 차량의 소프트웨어 업데이트 장치로서, 업데이트 서버 및 사용자 단말과 무선 전송 방식으로 통신을 수행하고, 소정의 크기로 분할된 업데이트 패키지 파일을 수신하는 통신부; 상기 수신된 업데이트 패키지 파일를 저장하고, 저장된 업데이트 패키지 파일의 무결성 검사를 하는 다운로드 관리부; 및 상기 무결성 검사에 문제가 없으면 상기 업데이트 패키지 파일을 이용하여 상기 차량 단말의 소프트웨어를 업데이트 하는 업데이트 실행부;를 포함하고, 상기 다운로드 관리부는 상기 무결성 검사에 문제가 있으면 상기 무결성 검사에 문제가 있는 분할된 업데이트 패키지 파일을 상기 업데이트 서버에 재요청하여 수신할 수 있다.A vehicle software update device according to an embodiment is a vehicle software update device that updates software of a vehicle terminal disposed in a vehicle, and performs communication with an update server and a user terminal in a wireless transmission method, and is divided into a predetermined size. A communication unit for receiving an update package file; A download management unit that stores the received update package file and checks the integrity of the stored update package file; And an update execution unit that updates the software of the vehicle terminal using the update package file if there is no problem with the integrity check, wherein the download management unit has a problem in the integrity check when there is a problem with the integrity check. The updated package file may be re-requested to the update server and received.

또한, 실시예에 따른 차량의 소프트웨어 업데이트 장치는, 상기 사용자 단말과 상기 업데이트 서버에 접속을 위하여 상기 차량 단말의 인증 정보를 이용하여 상기 차량 단말의 인증을 수행하는 인증부; 및 상기 차량 단말의 소프트웨어를 검사하고 백신 프로그램을 가동하는 차량 단말 관리부;를 더 포함할 수 있다.In addition, an apparatus for updating software of a vehicle according to an embodiment includes: an authentication unit for performing authentication of the vehicle terminal using authentication information of the vehicle terminal in order to access the user terminal and the update server; And a vehicle terminal management unit that inspects the software of the vehicle terminal and operates a vaccine program.

본 발명의 실시예는 차량에 구비되는 복수의 ECU들에 설치되는 각종 소프트웨어 업데이트를 무선 전송(OTA) 방식으로 할 경우, 안전하게 업데이트를 할 수 있다.According to an embodiment of the present invention, when various software updates installed in a plurality of ECUs provided in a vehicle are updated by a wireless transmission (OTA) method, the update can be performed safely.

또한, 본 발명의 실시예는 소프트웨어 업데이트 지연을 감소시킬 수 있다.In addition, embodiments of the present invention can reduce software update delay.

또한, 본 발명의 실시예는 무선 전송(OTA) 방식을 이용하여 차량에 구비되는 복수의 ECU들의 소프트웨어를 실시간으로 검사할 수 있다.In addition, according to an embodiment of the present invention, software of a plurality of ECUs provided in a vehicle may be inspected in real time using a wireless transmission (OTA) method.

또한, 본 발명의 실시예는 무선 전송(OTA) 방식을 이용하여 차량에 구비되는 복수의 ECU들을 제어할 수 있다.In addition, an embodiment of the present invention may control a plurality of ECUs provided in a vehicle using a wireless transmission (OTA) method.

또한, 본 발명의 실시예는 무선 전송(OTA) 방식으로 차량의 소프트웨어를 업데이트하여 차량 유지보수비용을 절감할 수 있다.In addition, according to an embodiment of the present invention, it is possible to reduce vehicle maintenance costs by updating the software of the vehicle through a wireless transmission (OTA) method.

도 1은 본 발명의 실시예에 따른 차량의 소프트웨어 업데이트 시스템의 개략적인 구성을 도시하는 도면이다.
도 2는 본 발명의 실시예에 따른 차량 단말의 내부 구성을 나타낸 블록도이다.
도 3은 본 발명의 실시예에 따른 업데이트 장치의 내부 구성을 나타낸 블록도이다.
도 4는 본 발명의 실시예에 따른 사용자 단말의 내부 구성을 나타낸 블록도이다.
도 5는 본 발명의 실시예에 따른 업데이트 서버의 내부 구성을 나타낸 블록도이다.
도 6은 본 발명의 일 실시예에 따른 업데이트 장치의 소프트웨어 업데이트 방법에 대한 순서도이다.
도 7은 본 발명의 다른 실시예에 따른 업데이트 장치의 소프트웨어 업데이트 방법에 대한 순서도이다.
도 8은 본 발명의 또 다른 실시예에 따른 업데이트 장치의 소프트웨어 업데이트 방법에 대한 순서도이다.
1 is a diagram showing a schematic configuration of a software update system for a vehicle according to an embodiment of the present invention.
2 is a block diagram showing the internal configuration of a vehicle terminal according to an embodiment of the present invention.
3 is a block diagram showing an internal configuration of an update device according to an embodiment of the present invention.
4 is a block diagram showing an internal configuration of a user terminal according to an embodiment of the present invention.
5 is a block diagram showing an internal configuration of an update server according to an embodiment of the present invention.
6 is a flowchart of a software update method of an update device according to an embodiment of the present invention.
7 is a flowchart illustrating a software update method of an update device according to another embodiment of the present invention.
8 is a flowchart of a software update method of an update device according to another embodiment of the present invention.

본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 본 발명의 효과 및 특징, 그리고 그것들을 달성하는 방법은 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 다양한 형태로 구현될 수 있다. 이하의 실시예에서, 제1, 제2 등의 용어는 한정적인 의미가 아니라 하나의 구성 요소를 다른 구성 요소와 구별하는 목적으로 사용되었다. 또한, 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 또한, 포함하다 또는 가지다 등의 용어는 명세서상에 기재된 특징, 또는 구성요소가 존재함을 의미하는 것이고, 하나 이상의 다른 특징들 또는 구성요소가 부가될 가능성을 미리 배제하는 것은 아니다. 또한, 도면에서는 설명의 편의를 위하여 구성 요소들이 그 크기가 과장 또는 축소될 수 있다. 예컨대, 도면에서 나타난 각 구성의 크기 및 두께는 설명의 편의를 위해 임의로 나타내었으므로, 본 발명이 반드시 도시된 바에 한정되지 않는다.Since the present invention can apply various transformations and have various embodiments, specific embodiments are illustrated in the drawings and will be described in detail in the detailed description. Effects and features of the present invention, and a method of achieving them will become apparent with reference to the embodiments described below in detail together with the drawings. However, the present invention is not limited to the embodiments disclosed below and may be implemented in various forms. In the following embodiments, terms such as first and second are used for the purpose of distinguishing one constituent element from other constituent elements rather than a limiting meaning. In addition, expressions in the singular include plural expressions unless the context clearly indicates otherwise. In addition, terms such as include or have means that the features or components described in the specification are present, and do not preclude the possibility of adding one or more other features or components in advance. In addition, in the drawings, the size of components may be exaggerated or reduced for convenience of description. For example, the size and thickness of each component shown in the drawings are arbitrarily shown for convenience of description, and thus the present invention is not necessarily limited to what is shown.

이하, 첨부된 도면을 참조하여 본 발명의 실시예들을 상세히 설명하기로 하며, 도면을 참조하여 설명할 때 동일하거나 대응하는 구성 요소는 동일한 도면부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings, and when describing with reference to the drawings, the same or corresponding constituent elements are assigned the same reference numerals, and redundant descriptions thereof will be omitted. .

도 1은 본 발명의 실시예에 따른 차량의 소프트웨어 업데이트 시스템의 개략적인 구성을 도시하는 도면이다.1 is a diagram showing a schematic configuration of a software update system for a vehicle according to an embodiment of the present invention.

도 1을 참조하면, 본 발명의 실시예에 따른 차량의 소프트웨어 업데이트 시스템은 차량 단말(100), 업데이트 장치(200), 사용자 단말(300) 및 업데이트 서버(400)를 포함하며, 업데이트 장치(200), 사용자 단말(300), 및 업데이트 서버(400) 각각은 통신망(미도시)을 이용하여 연결될 수 있다. 또한, 본 발명의 실시예에 따른 차량의 소프트웨어 업데이트 시스템은 OTA(Over-The-Air) 기술을 이용하여 무선으로 차량에 구비된 차량 단말(100)의 소프트웨어를 업데이트 할 수 있다. Referring to FIG. 1, a vehicle software update system according to an embodiment of the present invention includes a vehicle terminal 100, an update device 200, a user terminal 300, and an update server 400, and the update device 200 ), the user terminal 300, and the update server 400 may each be connected using a communication network (not shown). In addition, the vehicle software update system according to an embodiment of the present invention may wirelessly update the software of the vehicle terminal 100 provided in the vehicle by using Over-The-Air (OTA) technology.

실시예에 따른 업데이트 장치(200)는 차량 내에 설치될 수 있다. 여기서 차량이란, 자동차, 기차, 전차 등 움직일 수 있는 모든 종류의 기관을 통틀어 이르는 용어로 사용된다. 업데이트 장치(200)는 차량 내에 설치된 차량 단말(100) 과 연결된다. 업데이트 장치(200) 및 차량 단말(100) 간의 연결에는, 예를 들어 CAN(Controller Area Network) 등 자동차 유선데이터통신 등이 이용될 수도 있으나 이에 한정되는 것은 아니다. 또한 업데이트 장치(200)는 사용자의 요청 등 필요에 따라 차량 단말(100)의 업데이트를 수행하며, 이에 대하여는 도 3 및 도 6 내지 도 8을 참조하여 이하에서 자세하게 설명한다.The update device 200 according to the embodiment may be installed in a vehicle. Here, the term vehicle is used as a term that encompasses all types of movable engines such as automobiles, trains, and trams. The update device 200 is connected to the vehicle terminal 100 installed in the vehicle. For the connection between the update device 200 and the vehicle terminal 100, for example, wired vehicle data communication such as a controller area network (CAN) may be used, but is not limited thereto. In addition, the update device 200 updates the vehicle terminal 100 according to a need such as a user's request, which will be described in detail below with reference to FIGS. 3 and 6 to 8.

본 발명의 실시예에 따른 사용자 단말(300)은 통신망을 통하여 업데이트 장치 또는 서버와의 직간접적 연결을 위한 기능을 포함하는 모든 종류의 기기를 의미하며, 예를 들어 데스크탑 컴퓨터, 노트북 컴퓨터, 팜톱(palmtop) 컴퓨터, 개인 휴대 정보 단말기(PDA ; Personal Digital Assistant), 태블릿 PC, 웹 패드, 스마트폰, 웨어러블 단말(wearable device)을 포함하는 이동 전화기 등과 같은 디지털 기기를 포함할 수 있다.The user terminal 300 according to the embodiment of the present invention refers to all kinds of devices including a function for direct or indirect connection with an update device or a server through a communication network, for example, a desktop computer, a notebook computer, and a palmtop ( It may include digital devices such as palmtop) computers, personal digital assistants (PDAs), tablet PCs, web pads, smart phones, and mobile phones including wearable devices.

본 발명의 실시예에 따른 사용자 단말(300)은 업데이트 장치(200)를 통하여 차량 단말(100)의 업데이트를 관리 및 제어하게 된다. 보다 구체적으로, 업데이트 장치(200)와의 통신(예를 들어 Wi-Fi, 블루투스 등 무선 통신)을 통하여 차량에 설치된 각종 전자장치 정보 및/또는 최신 전자장치 버전 등을 확인하고, 전자장치 소프트웨어의 다운로드 및/또는 업데이트를 지시할 수 있다. 이러한 사용자 단말(300)의 기능은 단말 자체 내장되어 있을 수도 있고, 어플리케이션 형태로 구현되어 사용자에 의하여 설치될 수 있다. 일반적으로 스마트폰이나 스마트 패드와 같은 스마트 기기에서 어플리케이션 설치 방식이 유용하게 이용될 수 있으며, 이러한 어플리케이션은 앱스토어 등을 통하여 다운로드 가능하도록 제공될 수 있다. 사용자 단말(300)의 구체적인 구성 및 기능에 대하여는 도 4를 참조하여 이하에서 상세하게 설명한다.The user terminal 300 according to an embodiment of the present invention manages and controls the update of the vehicle terminal 100 through the update device 200. More specifically, through communication with the update device 200 (for example, wireless communication such as Wi-Fi and Bluetooth), information on various electronic devices installed in the vehicle and/or the latest electronic device version is checked, and the electronic device software is downloaded. And/or an update may be instructed. The functions of the user terminal 300 may be embedded in the terminal itself, or may be implemented in the form of an application and installed by the user. In general, an application installation method may be usefully used in a smart device such as a smart phone or a smart pad, and such an application may be provided to be downloadable through an app store or the like. A detailed configuration and function of the user terminal 300 will be described in detail below with reference to FIG. 4.

본 발명의 실시에 따른 업데이트 서버(400)는 차량 단말(100)의 업데이트 소프트웨어를 저장하고 관리하는 역할을 수행한다. 업데이트 장치(200)는 업데이트 서버(400) 로부터 최신 차량 단말(100)의 각종 전자 장치에 대한 정보(예를 들면, 최신 소프트웨어 버전 정보 또는 소프트웨어 배포 일자 등)를 확인하고, 차량 단말(100)의 각종 전자 장치의 최신 소프트웨어를 다운로드 받아 전자장치를 업데이트 시키게 된다. 업데이트 서버(400)의 구성과 기능에 관하여는 도 5를 참조하여 이하에서 상세하게 설명한다.The update server 400 according to an embodiment of the present invention serves to store and manage update software of the vehicle terminal 100. The update device 200 checks information on various electronic devices of the latest vehicle terminal 100 from the update server 400 (for example, the latest software version information or software distribution date, etc.), and The latest software of various electronic devices is downloaded and the electronic devices are updated. The configuration and function of the update server 400 will be described in detail below with reference to FIG. 5.

도 2는 본 발명의 실시예에 따른 차량 단말의 내부 구성을 나타낸 블록도이다.2 is a block diagram showing the internal configuration of a vehicle terminal according to an embodiment of the present invention.

도 2를 참조하면, 실시예에 따른 차량 단말(100)은 ECU(110; Electronic Control Unit; 전자제어장치), GPS(120)를 포함할 수 있다Referring to FIG. 2, the vehicle terminal 100 according to the embodiment may include an ECU 110 (Electronic Control Unit) and a GPS 120.

ECU(100)는 차량에 탑재된 다양한 종류의 전자제어시스템을 제어하기 위한 장치를 의미한다. 예를 들어, 연료 공급 계통의 전자 제어, EGR 환류량, 점화 시기, 아이들링(idling) 회전 수 등의 관련 성능을 마이크로컴퓨터를 사용해서 제어하는 장치 등을 포함할 수 있다. 또한 만일에 발생할 수 있는 트러블 감시 기능으로서 자기 진단 시스템, 예를 들어 연료 분사 제어, 점화 시기 제어, 공회전 속도 제어, EGR 제어, 연료 펌프 제어, 배기 온도 경보 제어, 자기 진단 기능 등의 시스템을 포함하며, 본 발명은 그 종류나 기능에 제한되지는 않으며 존재하는 다양한 종류의 업데이트 가능한 ECU에 적용 가능하다.The ECU 100 refers to a device for controlling various types of electronic control systems mounted on a vehicle. For example, it may include a device that controls the electronic control of the fuel supply system, the amount of EGR reflux, the ignition timing, the number of idling rotations, and the like, using a microcomputer. In addition, as a function to monitor possible troubles, it includes a self-diagnosis system such as fuel injection control, ignition timing control, idle speed control, EGR control, fuel pump control, exhaust temperature alarm control, and self-diagnosis function. In addition, the present invention is not limited to its type or function, and can be applied to various types of updateable ECUs.

GPS(120)는 차량에 탑재되어, GPS 위성에서 보내는 신호를 수신해 차량의 현재 위치를 계산하는 위성항법시스템이다. The GPS 120 is a satellite navigation system that is mounted on a vehicle and receives signals from GPS satellites and calculates the current position of the vehicle.

도 3은 본 발명의 실시예에 따른 업데이트 장치의 내부 구성을 나타낸 블록도이다.3 is a block diagram showing an internal configuration of an update device according to an embodiment of the present invention.

도 3을 참조하면, 본 발명의 실시예에 따른 업데이트 장치(200)는 통신부(210), 다운로드 관리부(220) 및 업데이트 실행부(230)를 포함하며, 정보 관리부(240), 인증부(250), 차량 단말 관리부(260)를 더 포함할 수 있다.3, the update device 200 according to the embodiment of the present invention includes a communication unit 210, a download management unit 220, and an update execution unit 230, the information management unit 240, the authentication unit 250 ), a vehicle terminal management unit 260 may be further included.

통신부(210)는 사용자 단말(300) 또는 업데이트 서버(400)과 통신을 수행할 수 있다. 앞서 설명한 다양한 종류의 통신 방법이 이용 가능하며, 대표적으로 Wi-Fi, 블루투스(Bluetooth) 같은 무선 통신이 이용될 수 있다. 본 발명의 실시예에 따르면, 사용자 단말(300)의 요청이 있는 경우, 통신부(210)를 통하여 업데이트 서버(400)에 접속을 하게 된다. 일 예로, 통신부(210)는 하나의 통신망만을 이용 가능한 것이 아니라 필요에 따라서는 이종 통신망(예를 들면 Wi-Fi 및, 3G 나 LTE 등의 이동통신망)을 이용할 수 있도록 구성될 수도 있다. 따라서, Wi-Fi 접속이 가능한 곳에서는 Wi-Fi를 이용하여 사용자 단말(300)이나 업데이트 서버(400)에 접속하고, 그 외의 지역에서는 이동통신망을 이용하게 하여 무선 접속 범위를 넓힐 수 있다. 다른 예로, 통신부(210)는 업데이트 장치(200) 외부에 구성되어, 업데이트 장치에 유선 또는 무선으로 연결되어 동작할 수 있다. 이 때 통신부(210)에서 필요에 따라 차량 회사와 미리 계약된 이동통신사에 대한 연결 지원을 선택하도록 할 수도 있다.The communication unit 210 may communicate with the user terminal 300 or the update server 400. Various types of communication methods described above may be used, and wireless communication such as Wi-Fi and Bluetooth may be used as a representative example. According to an embodiment of the present invention, when there is a request from the user terminal 300, the update server 400 is accessed through the communication unit 210. For example, the communication unit 210 may be configured to use not only one communication network, but a heterogeneous communication network (for example, Wi-Fi and a mobile communication network such as 3G or LTE), if necessary. Accordingly, in a place where Wi-Fi access is possible, the user terminal 300 or the update server 400 is accessed using Wi-Fi, and a mobile communication network is used in other areas, thereby expanding the wireless access range. As another example, the communication unit 210 may be configured outside the update device 200 and may be connected to the update device by wire or wirelessly to operate. In this case, the communication unit 210 may select a connection support for a mobile communication company contracted in advance with the vehicle company, if necessary.

다운로드 관리부(220)는 업데이트 서버(400) 또는 사용자 단말(300)로부터 복수의 업데이트 소프트웨어를 포함하는 업데이트 패키지를 다운받아 저장할 수 있다. 보다 구체적으로, 다운로드 관리부(220)는 다운로드 관리부(220)의 업데이트 패키지 전송 요청 또는 사용자 단말(300)의 업데이트 패키지 전송 요청에 따라 요청된 업데이트 패키지를 업데이트 서버(400) 또는 사용자 단말(300)로부터 다운받아 저장할 수 있다. 또한, 다운로드 관리부(220)가 업데이트 서버(400) 또는 사용자 단말(300)에서 업데이트 패키지를 다운받는 방법에 대한 구체적인 설명은 후술하는 도 6 내지 도 8의 설명을 따른다.The download management unit 220 may download and store an update package including a plurality of update software from the update server 400 or the user terminal 300. More specifically, the download management unit 220 transmits the requested update package from the update server 400 or the user terminal 300 according to the update package transmission request of the download management unit 220 or the update package transmission request of the user terminal 300. You can download and save it. In addition, a detailed description of how the download management unit 220 downloads the update package from the update server 400 or the user terminal 300 follows the description of FIGS. 6 to 8 to be described later.

업데이트 실행부(230)는 다운로드 관리부(220)에 저장된 업데이트 소프트웨어를 이용하여 해당 차량 단말(100)를 업데이트 한다. 일 예로, 업데이트 실행은 사용자 단말(300)로부터의 요청이 있을 경우에 수행될 수 있다. 다른 예로, 업데이트 실행부(230)에서는 다운로드 관리부(220)에 저장된 업데이트 소프트웨어를 현재 차량 단말(100)의 소프트웨어 정보와 비교하여, 다운받은 업데이트 소프트웨어가 더 최신의 것인 경우, 해당 차량 단말(110)에 대한 업데이트를 수행할 수도 있다. 또 다른 예로, 업데이트 실행부(230)는 수신된 업데이트 패키지의 무결성 검사를 하여 무결성 문제가 없으면 차량 단말(100)을 업데이트 할 수 있다. 업데이트 패키지의 무결성 검사는 업데이트 서버(400)에서 제공하는 업데이트 패키지 정보 및/또는 사용자 단말(300)에서 제공하는 업데이트 패키지 정보가 저장된 업데이트 패키지 정보와 일치하는지 여부를 검사하는 것일 수 있다. 무결성 검사에 문제가 있는 업데이트 패키지의 파일이 있으면 업데이트 실행부(230)는 차량 단말(100) 업데이트를 중지한 상태에서 다운로드 관리부(220)의 요청 또는 사용자 단말(300)의 요청에 따라 필요한 업데이트 패키지 파일을 다운로드 후 다시 무결성 검사를 하여 문제가 없으면 차량 단말(100)의 업데이트를 진행하고, 다시 문제가 있으면 상기 과정을 반복할 수 있다. 또 다른 예로, 업데이트 실행부(230)는 사용자 단말(300)과 차량 단말(100)이 업데이트 지역에 위치함이 확인되었을 때 차량 단말(100)을 업데이트 할 수 있다. 업데이트 지역은 업데이트 장치(200)가 차량 단말(100)의 소프트웨어를 업데이트를 할 수 있도록 사용자 또는 공급자가 미리 설정한 위치일 수 있다. The update execution unit 230 updates the vehicle terminal 100 using the update software stored in the download management unit 220. For example, the update execution may be performed when there is a request from the user terminal 300. As another example, the update execution unit 230 compares the update software stored in the download management unit 220 with software information of the current vehicle terminal 100, and if the downloaded update software is more recent, the corresponding vehicle terminal 110 ) Can also be updated. As another example, the update execution unit 230 may check the integrity of the received update package and update the vehicle terminal 100 if there is no integrity problem. The integrity check of the update package may be checking whether the update package information provided by the update server 400 and/or the update package information provided by the user terminal 300 match the stored update package information. If there is a file of the update package having a problem with the integrity check, the update execution unit 230 stops the update of the vehicle terminal 100, and the update package required at the request of the download management unit 220 or the user terminal 300 After downloading the file, if there is no problem by performing an integrity check again, the vehicle terminal 100 may be updated, and if there is a problem again, the above process may be repeated. As another example, the update execution unit 230 may update the vehicle terminal 100 when it is confirmed that the user terminal 300 and the vehicle terminal 100 are located in the update area. The update area may be a location previously set by a user or a supplier so that the update device 200 can update the software of the vehicle terminal 100.

또한, 업데이트 장치(200)는 정보 관리부(240)를 더 포함할 수 있다. 정보관리부(240)는 ECU(110)에 대한 정보를 관리한다. 이 때 ECU(110)에 대한 정보는, 예를 들어 ECU(110)가 소프트웨어 업데이트가 가능한 장치인지 여부, ECU(110)에 설치된 소프트웨어 버전 정보 및/또는 최근 업데이트 시기 등이 포함될 수 있다. 정보 관리부(240)은 사용자 단말(300)의 요청에 따라 통신부(210)를 통하여 사용자 단말(300)로 각 ECU(110)에대한 정보들을 전송할 수 있다. 이 때, 모든 ECU(110)에 대한 정보들 대신, 업데이트 가능한 ECU(110)에 대한 정보만 전송할 수도 있다. 또한, 정보 관리부(240)에서는 차량에 설치된 ECU(110)에 대한 정보 및 업데이트 서버(400)에 저장된 업데이트 소프트웨어 정보를 비교할 수도 있다. In addition, the update device 200 may further include an information management unit 240. The information management unit 240 manages information on the ECU 110. In this case, the information on the ECU 110 may include, for example, whether the ECU 110 is a device capable of software update, software version information installed in the ECU 110, and/or a recent update time. The information management unit 240 may transmit information on each ECU 110 to the user terminal 300 through the communication unit 210 at the request of the user terminal 300. In this case, instead of information on all the ECUs 110, only information on the ECU 110 that can be updated may be transmitted. In addition, the information management unit 240 may compare information on the ECU 110 installed in the vehicle and update software information stored in the update server 400.

또한, 업데이트 장치(200)는 인증부(250)를 더 포함할 수 있다. 인증부(250)는 사용자 단말(300) 또는 업데이트 서버(400)에 접속을 위하여 차량 단말(100)의 인증 정보를 이용하여 차량 단말(100)에 대한 인증을 할 수 있다. 이에, 업데이트 장치(200)는 엔드 투 엔드 상호 인증을 사용하여 안전한 통신을 보장할 수 있고, 데이터 처리를 격리 수행 할 수 있다.In addition, the update device 200 may further include an authentication unit 250. The authentication unit 250 may authenticate the vehicle terminal 100 using authentication information of the vehicle terminal 100 in order to access the user terminal 300 or the update server 400. Accordingly, the update device 200 may ensure secure communication using end-to-end mutual authentication, and may perform data processing in isolation.

또한, 업데이트 장치(200)는 차량 단말 관리부(260)를 더 포함할 수 있다. 일 예로, 차량 단말 관리부(260)는 차량 운전 중에도 차량 단말(100)의 소프트웨어를 항시 검사하여 오류 또는 악성 코드 발견 등의 문제가 발견되면 백신 프로그램을 가동할 수 있다. 이에, 업데이트 장치(200)는 사고위험에 신속하게 대처할 수 있다. 다른 예로, 차량 단말 관리부(260)는 차량 운전 중에도 차량 단말(100)의 소프트웨어를 항시 검사하여 급발진과 같은 엔진 이상이 발생했을 때, 차량 단말(100) 내의 신호를 제어하여 브레이크 제어가 원활히 동작할 수 있도록 할 수 있다. 또 다른 예로, 차량 단말 관리부(260)는 차량 단말(100)의 제어 동작에서 예기치 않은 제어량의 변화가 확인되면 업데이트 서버(400) 또는 사용자 단말(300)에 제어량 정보를 전송하여 구동제어가 이루어 질 수 있다. 또한, 사용자가 사용자 단말(300)을 이용하여 업데이트 장치(200)에 접속하여 업데이트 장치(200)가 차량 단말(100)을 직접 제어할 수 있다. 또한, 차량 단말 관리부(260)는 차량 단말(100)로 위협이 되는 것을 방지하기 위하여 방어벽을 실행할 수 있다. 또한, 차량 단말 관리부(260)는 차량 단말(100)의 소프트웨어가 메모리(미도시)에서 실행되는 모든 것을 지속적으로 모니터링하고, 악석 파일이 탐지되면, 인식된 파일이 악성 파일인지의 여부를 신속하게 판단한 후 해당 데이터를 업데이트 서버(400)에 전송할 수 있다. 또한, 차량 단말 관리부(260)는 운전자의 운전 습관, 차량 단말(100) 등 전반적인 차량 상태, 현재 위치, 주행 경로 정보를 사용자 단말(300)에 전송하여 사용자 단말(300)이 실시간으로 모니터링 할 수 있다. 이에, 차량 단말 관리부(260)는 차량의 수리 및 교환에 즉각 대응할 수 있다.In addition, the update device 200 may further include a vehicle terminal management unit 260. For example, the vehicle terminal management unit 260 may always inspect the software of the vehicle terminal 100 while driving the vehicle, and if a problem such as an error or a malicious code is found, may run a vaccine program. Accordingly, the update device 200 can quickly cope with the risk of an accident. As another example, the vehicle terminal management unit 260 always inspects the software of the vehicle terminal 100 even while driving the vehicle, and when an engine abnormality such as sudden start occurs, the vehicle terminal 100 controls the signal in the vehicle terminal 100 to smoothly operate the brake control. You can do it. As another example, the vehicle terminal management unit 260 transmits the control amount information to the update server 400 or the user terminal 300 when an unexpected change in the control amount is confirmed in the control operation of the vehicle terminal 100 to perform driving control. I can. In addition, a user may access the update device 200 using the user terminal 300 and the update device 200 may directly control the vehicle terminal 100. In addition, the vehicle terminal management unit 260 may execute a barrier to prevent threats to the vehicle terminal 100. In addition, the vehicle terminal management unit 260 continuously monitors everything that the software of the vehicle terminal 100 is executed in the memory (not shown), and when a malicious file is detected, it quickly determines whether or not the recognized file is a malicious file. After determining, the corresponding data may be transmitted to the update server 400. In addition, the vehicle terminal management unit 260 transmits information on the driver's driving habits, overall vehicle status such as the vehicle terminal 100, current location, and driving route information to the user terminal 300 so that the user terminal 300 can monitor it in real time. have. Accordingly, the vehicle terminal management unit 260 may immediately respond to vehicle repair and replacement.

도 4는 본 발명의 실시예에 따른 사용자 단말의 내부 구성을 나타낸 블록도이다.4 is a block diagram showing an internal configuration of a user terminal according to an embodiment of the present invention.

도 4를 참조하면, 본 발명의 실시예에 따른 사용자 단말(300)은 통신부(310), 정보 관리부(320), 표시부(330), 입력부(340), 차량 단말 제어부(350) 및 인증부(360)를 포함할 수 있다.4, the user terminal 300 according to an embodiment of the present invention includes a communication unit 310, an information management unit 320, a display unit 330, an input unit 340, a vehicle terminal control unit 350, and an authentication unit ( 360).

통신부(310)는 업데이트 서버(400) 및 차량에 설치된 업데이트 장치(110)와 직접 또는 간접적으로 유무선 통신을 수행한다. 일 예로, 사용자 단말(300)은 통신부(310)를 통하여 차량에 설치된 차량 단말(100)에 대한 정보 및 업데이트 서버(400)에 저장된 업데이트 소프트웨어 정보를 전송받고, 업데이트 패키지 다운로드 또는 업데이트 요청을 전송할 수 있다. 업데이트 소프트웨어 정보의 경우에는, 업데이트 장치(200)를 통하여 업데이트 장치(200)에서 관리하는 정보 및/또는 비교 결과 정보 등을 전송받을 수 있다. 다른 예로, 사용자 단말(300)이 업데이트 서버(400)에 직접 접속하여 필요한 정보를 요청할 수도 있다. The communication unit 310 performs wired or wireless communication directly or indirectly with the update server 400 and the update device 110 installed in the vehicle. For example, the user terminal 300 may receive information about the vehicle terminal 100 installed in the vehicle and update software information stored in the update server 400 through the communication unit 310, and transmit an update package download or an update request. have. In the case of update software information, information managed by the update device 200 and/or comparison result information may be transmitted through the update device 200. As another example, the user terminal 300 may directly access the update server 400 and request necessary information.

정보 관리부(320)는 차량에 설치된 차량 단말(100)에 대한 정보 및/또는 업데이트 서버(400)에 저장된 업데이트 소프트웨어 정보를 관리한다. 또한, 업데이트 장치(200)에서 전송받은 비교 결과 정보를 포함할 수도 있다. 차량 단 말(100)에 대한 정보는, 예를 들면, ECU가 소프트웨어 업데이트가 가능한 장치인지 여부, ECU에 설치된 소프트웨어 버전 정보 및/또는 최근 업데이트 시기 등을 포함할 수 있다. 업데이트 소프트웨어 정보는, 예를 들면, 최신 소프트웨어 버전 정보 또는 소프트웨어 배포 일자 등을 포함할 수 있다. 또한, 정보 관리부(320)에서는 차량에 설치된 ECU에 대한 정보 및 업데이트 소프트웨어 정보를 비교할 수 있다. 보다 구체적으로 예를 들면, 현재 설치된 ECU의 소프트웨어 버전정보 및 업데이트 서버에 저장된 최신 업데이트 소프트웨어 버전 정보가 일치하는지 여부를 확인하여, 두 버전이 일치하면 현재 설치된 ECU 소프트웨어가 가장 최신 소프트웨어임을 알 수 있다. 또 다른 예로, 현재 설치된 ECU의 최근 업데이트 일자 및 업데이트 서버의 최신 업데이트 소프트웨어의 배포일을 비교하여, ECU의 최근 업데이트 일자가 더 최근이면 현재 설치된 ECU의 소프트웨어 버전이 가장 최근 버전임을 알 수 있다. 한편 이러한 비교는 전술한 바와 같이 사용자 단말(300)이 아닌 업데이트 장치(200) 내에서 수행될 수도 있다. The information management unit 320 manages information on the vehicle terminal 100 installed in the vehicle and/or update software information stored in the update server 400. In addition, the comparison result information transmitted from the update device 200 may be included. The information on the vehicle terminal 100 may include, for example, whether the ECU is a device capable of software update, software version information installed in the ECU, and/or a recent update time. The updated software information may include, for example, latest software version information or software distribution date. In addition, the information management unit 320 may compare information on the ECU installed in the vehicle and update software information. More specifically, for example, it is checked whether the software version information of the currently installed ECU and the latest updated software version information stored in the update server match. If the two versions match, it can be seen that the currently installed ECU software is the most recent software. As another example, the latest update date of the currently installed ECU and the distribution date of the latest update software of the update server are compared, and if the latest update date of the ECU is more recent, it can be seen that the software version of the currently installed ECU is the most recent version. Meanwhile, as described above, such comparison may be performed within the update device 200 instead of the user terminal 300.

표시부(330)은 정보 관리부(320)에 저장된 정보를 나타내어, 사용자에게 다운로드 또는 업데이트의 수행 여부를 판단할 수 있도록 한다. The display unit 330 displays information stored in the information management unit 320 so that the user can determine whether to download or update.

입력부(340)는 사용자로부터 특정 차량 단말(100)에 대한 다운로드 및/또는 업데이트 요청을 입력 받는다. 보다 구체적으로, 사용자는 표시부(330)를 통하여 차량 단말(100)에 대한 정보를 확인한 후, 다운로드 및/또는 업데이트가 필요한 ECU를 선택하여 다운로드 및/또는 업데이트를 요청할 수 있다. 또한 입력부(340)로는 터치스크린을 사용할 수 있으며, 이러한 경우에 입력부(340) 및 표시부(330)는 동일할 수 있다.The input unit 340 receives a download and/or update request for a specific vehicle terminal 100 from a user. More specifically, after checking information on the vehicle terminal 100 through the display unit 330, the user may select an ECU that needs to be downloaded and/or updated and request the download and/or update. In addition, a touch screen may be used as the input unit 340, and in this case, the input unit 340 and the display unit 330 may be the same.

차량 단말 제어부(350)는 통신부(310)를 통해 차량 단말(100) 업데이트시 업데이트 확인 메시지를 수신하면 백신 프로그램을 자동으로 실행할 수 있다. 또한, 차량 단말 제어부(350)는 통신부(310)를 통해 차량 단말(100) 업데이트시 업데이트 확인 메시지를 수신하면 업데이트 장치(200)의 업데이트 실행부(230)에서 백신 프로그램을 자동으로 실행할 수 있다. 이에, 차량 단말 제어부(350)는 무선 방식(OTA)으로 데이터를 안전하게 처리할 수 있다.The vehicle terminal control unit 350 may automatically execute a vaccine program upon receiving an update confirmation message when the vehicle terminal 100 is updated through the communication unit 310. In addition, when the vehicle terminal control unit 350 receives an update confirmation message when the vehicle terminal 100 is updated through the communication unit 310, the update execution unit 230 of the update device 200 may automatically execute the vaccine program. Accordingly, the vehicle terminal control unit 350 may safely process data in a wireless method (OTA).

또한, 인증부(360)는 업데이트 장치(200) 또는 업데이트 서버(400)에 접속을 위하여 인증을 수행할 수 있다. In addition, the authentication unit 360 may perform authentication to access the update device 200 or the update server 400.

도 5는 본 발명의 실시예에 따른 업데이트 서버의 내부 구성을 나타낸 블록도이다.5 is a block diagram showing an internal configuration of an update server according to an embodiment of the present invention.

도 5를 참조하면, 업데이트 서버(400)는 통신부(410), 소프트웨어 관리부(420) 및 다운로드 제어부(430)을 포함하며, 인증부(440)를 더 포함할 수 있다.Referring to FIG. 5, the update server 400 includes a communication unit 410, a software management unit 420, and a download control unit 430, and may further include an authentication unit 440.

통신부(410)는 차량의 업데이트 장치(200) 및 사용자 단말(300)과 직접 또는 간접적으로 유무선 통신을 수행할 수 있다.The communication unit 410 may perform wired or wireless communication directly or indirectly with the vehicle update device 200 and the user terminal 300.

소프트웨어 관리부(420)에서는 차량 단말(100)에 대한 업데이트 소프트웨어를 저장하고 관리할 수 있다. 소프트웨어 관리부(420)에서는 하나 이상이 ECU에 대한 소프트웨어를 각각 저장하여 이들의 정보를 관리할 수 있다. 업데이트 소프트웨어 정보는, 예를 들면, 최신 소프트웨어 버전 정보 또는 소프트웨어 배포 일자 등을 포함할 수 있다.The software management unit 420 may store and manage update software for the vehicle terminal 100. The software management unit 420 may store software for one or more ECUs and manage their information. The updated software information may include, for example, latest software version information or software distribution date.

다운로드 제어부(430)에서는 전체 ECU 또는 특정 ECU에 대한 차량 단말(100)의 업데이트 패키지에 대한 다운로드 요청이 있는 경우, 소프트웨어 관리부(420)에 저장된 해당 업데이트 패키지를 전송할 수 있다. 보다 구체적으로, 일 예로, 다운로드 제어부(430)는 업데이트 패키지를 소정의 크기로 분할하여 전송할 수 있다. 분할된 파일들의 크기는 일정할 수 있고, 업데이트 패키지 내의 파일 정보에 따라 파일의 크기를 달리할 수 있다. 다른 예로, 다운로드 제어부(430)는 업데이트 패키지를 제1 크기의 복수의 제1 분할 파일과 제2 크기의 복수의 제2 분할 파일로 생성하여 전송할 수 있다. 제1 크기는 대용량일 수 있고, 제2 크기는 저용량일 수 있다. 즉, 제1 크기가 제2 크기보다 클 수 있다. The download control unit 430 may transmit a corresponding update package stored in the software management unit 420 when there is a request to download an update package of the vehicle terminal 100 for an entire ECU or a specific ECU. More specifically, as an example, the download control unit 430 may divide and transmit the update package into a predetermined size. The size of the divided files may be constant, and the size of the file may be changed according to the file information in the update package. As another example, the download control unit 430 may generate and transmit the update package as a plurality of first divided files having a first size and a plurality of second divided files having a second size. The first size may be a large capacity, and the second size may be a low capacity. That is, the first size may be larger than the second size.

인증부(440)는 사용자 단말(300) 또는 업데이트 장치(200)가 업데이트 서버(400)의 접속을 위하여 사용자에 대한 인증을 할 수 있다.The authentication unit 440 may authenticate a user in order for the user terminal 300 or the update device 200 to access the update server 400.

도 6은 본 발명의 일 실시예에 따른 업데이트 장치의 소프트웨어 업데이트 방법에 대한 순서도이다.6 is a flowchart of a software update method of an update device according to an embodiment of the present invention.

도 6을 참조하면, 일 실시예에 따른 업데이트 장치의 소프트웨어 업데이트 방법은 업데이트 장치가 무선 전송(OTA) 방식으로 소정의 크기로 분할된 업데이트 패키지를 수신하는 단계(S110)를 포함할 수 있다. 일 예로, 업데이트 패키지의 분할 파일은 동일한 크기로 분할될 수 있다. 다른 예로, 업데이트 패키지의 분할 파일은 파일 내용에 따라 서로 동일하지 않은 크기로 분할 될 수 있다. 예를 들어, 업데이트 패키지의 파일 내용이 서로 같은 카테고리의 파일들은 동일한 분할 파일에 포함되록하여 특정 카테고리에 대한 정보가 많을수록 ?아 카테고리를 포함하는 분할 파일의 크기가 클 수 있다. Referring to FIG. 6, a method of updating software of an update device according to an embodiment may include receiving, by the update device, an update package divided into a predetermined size using an OTA method (S110). As an example, the divided files of the update package may be divided into the same size. As another example, the divided files of the update package may be divided into different sizes according to the file contents. For example, files of categories having the same file contents of the update package are included in the same divided file, so the more information on a specific category is, the larger the size of the divided file including the category may be.

일 실시예에 따른 업데이트 장치의 소프트웨어 업데이트 방법은, 업데이트 장치가 수신된 업데이트 패키지의 무결성 검사를 하는 단계(S120)을 포함할 수 있다. 무결성 검사는 업데이트 서버에서 제공하는 업데이트 패키지 정보와 수신된 업데이트 장치가 수신한 업데이트 패키지 정보를 비교하여 동일한지 검사하는 것이다. 이에 수신된 업데이트 패키지의 오류가 있는지 악성 코드가 심겨져 있는지 파악할 수 있다.A method of updating software of an update device according to an embodiment may include the step S120 of performing, by the update device, checking the integrity of a received update package. The integrity check compares the update package information provided by the update server with the update package information received by the received update device to check whether they are the same. Accordingly, it is possible to determine whether there is an error in the received update package or whether a malicious code is planted.

일 실시예에 따른 업데이트 장치의 소프트웨어 업데이트 방법은, 업데이트 패키지의 특정 분할 파일에 무결성에 문제가 있다고 판단하면, 업데이트 장치가 필요한 업데이트 패키지의 분할 파일을 수신하는 단계(S130, S140)를 포함할 수 있다. 무결성에 문제가 있는 경우는, 업데이트 장치가 업데이트 패키지의 분할 파일을 수신하는 도중 예기치 않은 이유로 전송이 안된 경우일 수 있다. 이 경우, 전송이 안된 업데이트 패키지의 분할 파일을 업데이트 장치가 업데이트 서버 또는 사용자 단말에 요청할 수 있다. 따라서, 업데이트 장치는 업데이트 패키지 전송이 중단된 경우 처음부터 다시 다운로드하는 업데이트 지연을 방지할 수 있다. 또한, 무결성에 문제가 있는 경우는, 수신한 업데이트 패키지의 특정 분할 파일에 업데이트 서버에 저장된 원본의 데이터와 다른 오류가 있거나 악성 코드가 발견될 경우 일 수 있다. 이 경우, 업데이트 장치는 해당 업데이트 패키지의 분할 파일을 삭제하고 업데이트 서버 또는 사용자 단말에 해당 업데이트 패키지의 분할 파일 전송을 요청할 수 있다.The method for updating software of an update device according to an embodiment may include the steps of receiving, by the update device, a split file of a necessary update package (S130, S140), if it is determined that a specific split file of the update package has an integrity problem. have. When there is an integrity problem, transmission may not be performed for an unexpected reason while the update device receives the divided file of the update package. In this case, the update device may request a split file of the update package that has not been transmitted from the update server or the user terminal. Accordingly, the update device may prevent an update delay of downloading again from the beginning when transmission of the update package is stopped. In addition, if there is an integrity problem, a specific split file of the received update package may have an error different from the original data stored in the update server, or a malicious code may be found. In this case, the update device may delete the divided file of the corresponding update package and request the update server or the user terminal to transmit the divided file of the corresponding update package.

일 실시예에 따른 업데이트 장치의 소프트웨어 업데이트 방법은, 업데이트 패키지의 특정 분할 파일에 무결성에 문제가 없다고 판단하면, 업데이트 장치가 차량 단말의 소프트웨어를 업데이트 하는 단계(S130, S150)를 포함할 수 있다.The method of updating software of an update device according to an embodiment may include, when it is determined that there is no problem with integrity in a specific split file of the update package, the update device updating software of the vehicle terminal (S130, S150).

따라서, 일 실시예는 차량에 구비되는 복수의 ECU들에 설치되는 각종 소프트웨어 업데이트를 무선 전송(OTA) 방식으로 할 경우, 안전하게 업데이트를 할 수 있다. 또한, 일 실시예는 소프트웨어 업데이트 지연을 감소시킬 수 있다. 또한, 또한, 일 실시예는 무선 전송(OTA) 방식으로 차량의 소프트웨어를 업데이트하여 차량 유지보수비용을 절감할 수 있다.Accordingly, according to an embodiment, when various software updates installed in a plurality of ECUs provided in a vehicle are updated by a wireless transmission (OTA) method, the update can be performed safely. In addition, an embodiment may reduce software update delay. In addition, according to an exemplary embodiment, the vehicle maintenance cost may be reduced by updating the software of the vehicle through a wireless transmission (OTA) method.

도 7은 본 발명의 다른 실시예에 따른 업데이트 장치의 소프트웨어 업데이트 방법에 대한 순서도이다.7 is a flowchart illustrating a software update method of an update device according to another embodiment of the present invention.

도 7을 참조하면, 다른 실시예에 따른 업데이트 장치의 소프트웨어 업데이트 방법은, 업데이트 장치가 무선 전송(OTA) 방식으로 업데이트 패키지의 복수의 제1 분할 파일을 수신하는 단계(S210)를 포함할 수 있다. 보다 구체적으로, 업데이트 패키지의 복수의 제1 분할 파일은 제1 크기로 분할된 파일 일 수 있다. 제1 크기는 대용량일 수 있고, 제2 크기는 저용량일 수 있다. 즉, 제1 크기가 제2 크기보다 클 수 있다.Referring to FIG. 7, a method of updating software of an update device according to another exemplary embodiment may include receiving, by the update device, a plurality of first divided files of an update package in a wireless transmission (OTA) method (S210). . More specifically, the plurality of first divided files of the update package may be files divided by the first size. The first size may be a large capacity, and the second size may be a low capacity. That is, the first size may be larger than the second size.

또한, 다른 실시예에 따른 업데이트 장치의 소프트웨어 업데이트 방법은, 업데이트 장치가 수신된 복수의 제1 분할 파일의 무결성 검사를 하는 단계(S220)을 포함할 수 있다. 무결성 검사는 업데이트 서버에서 제공하는 제1 분할 파일 정보와 수신된 업데이트 장치가 수신한 제1 분할 파일 정보를 비교하여 동일한지 검사하는 것이다. 이에 수신된 제1 분할 파일의 오류가 있는지 악성 코드가 심겨져 있는지 파악할 수 있다.In addition, a method of updating software of an update device according to another exemplary embodiment may include performing, by the update device, an integrity check of the received first divided files (S220). The integrity check is to compare the first divided file information provided by the update server with the first divided file information received by the received update device to check whether they are the same. Accordingly, it is possible to determine whether there is an error in the received first split file or whether a malicious code is planted.

또한, 다른 실시예에 따른 업데이트 장치의 소프트웨어 업데이트 방법은, 수신된 복수의 제1 분할 파일에 무결성에 문제가 있다고 판단하면, 업데이트 장치가 필요한 제1 분할 파일을 수신하는 단계(S230, S240)를 포함할 수 있다. 무결성에 문제가 있는 경우는, 업데이트 장치가 제1 분할 파일을 수신하는 도중 예기치 않은 이유로 전송이 안된 경우일 수 있다. 이 경우, 복수의 제1 분할 파일 중 전송이 안된 제1 분할 파일을 업데이트 장치가 업데이트 서버 또는 사용자 단말에 요청할 수 있다. 따라서, 업데이트 장치는 업데이트 패키지 전송이 중단된 경우 처음부터 다시 다운로드하는 업데이트 지연을 방지할 수 있다. 또한, 무결성에 문제가 있는 경우는, 수신한 복수의 제1 분할 파일의 특정 제1 분할 파일에 업데이트 서버에 저장된 원본의 데이터와 다른 오류가 있거나 악성 코드가 발견될 경우 일 수 있다. 이 경우, 업데이트 장치는 해당 제1 분할 파일을 삭제하고 업데이트 서버 또는 사용자 단말에 해당 제1 분할 파일 전송을 요청할 수 있다.In addition, in the software update method of an update device according to another embodiment, if it is determined that the plurality of received first split files have a problem with integrity, the update device receives the necessary first split files (S230, S240). Can include. When there is an integrity problem, transmission may not be performed for an unexpected reason while the update device is receiving the first split file. In this case, the update device may request the update server or the user terminal for a first split file that has not been transmitted among the plurality of first split files. Accordingly, the update device may prevent an update delay of downloading again from the beginning when transmission of the update package is stopped. In addition, when there is an integrity problem, a specific first divided file of the plurality of received first divided files may have an error different from the original data stored in the update server, or a malicious code may be found. In this case, the update device may delete the corresponding first divided file and request the update server or the user terminal to transmit the corresponding first divided file.

또한, 다른 실시예에 따른 업데이트 장치의 소프트웨어 업데이트 방법은, 업데이트 장치가 무선 전송(OTA) 방식으로 사용자 단말로부터 무결성 검사가 완료된 업데이트 패키지의 복수의 제2 분할 파일을 수신하는 단계(S250)를 포함할 수 있다. 보다 구체적으로, 업데이트 패키지의 복수의 제2 분할 파일을 제2 크기로 분할된 파일일 수 있다. 제1 분할 파일보다 상대적으로 저용량인 제2 분할 파일은 업데이트 서버에서 업데이트 장치로 바로 전송되는 것이 아니라 업데이트 서버에서 사용자 단말로 전송될 수 있다. 이 후 사용자 단말은 업데이트 패키지의 복수의 제2 분할 파일의 무결성 검사를 수행할 수 있다. 사용자 단말은 무결성 검사가 완료되어 무결성에 문제가 없는 복수의 제2 분할 파일을 업데이트 장치에 전송할 수 있다. 이에, 무결성 검사를 업데이트 장치와 사용자 단말이 하게 되므로 업데이트 패키지의 무결성 여부 판단을 이중으로 할 수 있으므로 보다 안전하게 차량 단말의 업데이트를 할 수 잇다. In addition, a method of updating software of an update device according to another embodiment includes the step of receiving, by the update device, a plurality of second divided files of the update package for which the integrity check has been completed from the user terminal in a wireless transmission (OTA) method (S250). can do. More specifically, a plurality of second divided files of the update package may be divided into a second size. The second split file, which has a relatively lower capacity than the first split file, may not be directly transmitted from the update server to the update device, but may be transmitted from the update server to the user terminal. Thereafter, the user terminal may perform an integrity check of the plurality of second divided files of the update package. The user terminal may transmit a plurality of second divided files having no integrity problem to the update device after the integrity check is completed. Accordingly, since the update device and the user terminal perform the integrity check, it is possible to double determine the integrity of the update package, so that the vehicle terminal can be updated more safely.

또한, 다른 실시예에 따른 업데이트 장치의 소프트웨어 업데이트 방법은, 업데이트 패키지의 제1 분할 파일의 무결성에 문제가 없고 제2 분할 파일을 수신하면 업데이트 장치가 차량 단말의 소프트웨어를 업데이트 하는 단계(S260)를 포함할 수 있다.In addition, the method of updating software of an update device according to another embodiment includes the step of updating the software of the vehicle terminal by the update device when there is no problem in the integrity of the first divided file of the update package and the second divided file is received. Can include.

따라서, 다른 실시예는 차량에 구비되는 복수의 ECU들에 설치되는 각종 소프트웨어 업데이트를 무선 전송(OTA) 방식으로 할 경우, 안전하게 업데이트를 할 수 있다. 또한, 다른 실시예는 소프트웨어 업데이트 지연을 감소시킬 수 있다. 또한, 다른 실시예는 무선 전송(OTA) 방식으로 차량의 소프트웨어를 업데이트하여 차량 유지보수비용을 절감할 수 있다.Accordingly, according to another embodiment, when various software updates installed in a plurality of ECUs provided in a vehicle are updated by a wireless transmission (OTA) method, the update can be performed safely. Further, another embodiment may reduce software update delay. In addition, another embodiment may reduce vehicle maintenance costs by updating the software of the vehicle through a wireless transmission (OTA) method.

도 8은 본 발명의 또 다른 실시예에 따른 업데이트 장치의 소프트웨어 업데이트 방법에 대한 순서도이다.8 is a flowchart of a software update method of an update device according to another embodiment of the present invention.

도 8을 참조하면, 또 다른 실시예에 따른 업데이트 장치의 소프트웨어 업데이트 방법은, 업데이트 장치가 차량 단말이 업데이트 지역에 배치되어 있는지 확인하는 단계(S310)를 포함할 수 있다. 보다 구체적으로, 업데이트 장치는 차량 단말의 GPS를 통해 차량 단말의 위치 정보를 알 수 있고, 미리 사용자 또는 업데이트 장치 공급자가 설정한 업데이트 지역에 차량 단말이 배치되어 있는지 확인할 수 있다. Referring to FIG. 8, a method of updating software of an update device according to another exemplary embodiment may include a step S310 of checking whether a vehicle terminal is disposed in an update area by the update device. More specifically, the update device can know the location information of the vehicle terminal through the GPS of the vehicle terminal, and can check whether the vehicle terminal is disposed in the update area set by the user or the update device provider in advance.

또한, 또 다른 실시예에 따른 업데이트 장치의 소프트웨어 업데이트 방법은, 데이트 장치가 무선 전송(OTA) 방식으로 업데이트 패키지를 수신하는 단계(S320)를 포함할 수 있다. 업데이트 장치가 업데이트 패키지를 수신하는 방법은 도 6 및 도 7에 따른 업데이트 패키지 수신 방법을 따를 수 있다.In addition, a method of updating software of an update device according to another embodiment may include the step S320 of receiving, by the data device, an update package through a wireless transmission (OTA) method. The method of receiving the update package by the update device may follow the method of receiving the update package according to FIGS. 6 and 7.

또한, 또 다른 실시예에 따른 업데이트 장치의 소프트웨어 업데이트 방법은, 업데이트 장치가 사용자 단말이 업데이트 지역에 위치함을 확인하는 단계(S330)을 포함할 수 있다. 즉, 업데이트 장치는 사용자 단말의 위치 정보를 사용자 단말로부터 수신하여 사용자 단말이 업데이트 지역에 위치하고 있음을 확인할 수 있다. 이에, 업데이트 장치는 사용자 단말 없이 차량 단말이 업데이트 되는 것을 방지하여 안전을 강화할 수 있다. 또한, 사용자 단말이 없을 때에도 S320에서 미리 업데이트 장치가 업데이트 패키지를 수신할 수 있도록 하여 차량 단말의 업데이트 시간을 단축시킬 수 있다. In addition, a method of updating software of an update device according to another embodiment may include the step S330 of confirming that the user terminal is located in an update area by the update device. That is, the update device may receive location information of the user terminal from the user terminal and confirm that the user terminal is located in the update area. Accordingly, the update device can enhance safety by preventing the vehicle terminal from being updated without the user terminal. In addition, even when there is no user terminal, the update device can receive the update package in advance in S320, thereby reducing the update time of the vehicle terminal.

또한, 또 다른 실시예에 따른 업데이트 장치의 소프트웨어 업데이트 방법은, 사용자 단말과 차량 단말이 모두 업데이트 지역에 배치됨을 확인하면 업데이트 장치가 차량 단말의 소프트웨어를 업데이트 하는 단계(S340)를 포함할 수 있다.In addition, a method of updating software of an update device according to another embodiment may include a step (S340) of updating software of the vehicle terminal by the update device when it is confirmed that both the user terminal and the vehicle terminal are disposed in the update area.

따라서, 또 다른 실시예는 차량에 구비되는 복수의 ECU들에 설치되는 각종 소프트웨어 업데이트를 무선 전송(OTA) 방식으로 할 경우, 안전하게 업데이트를 할 수 있다. 또한, 또 다른 실시예는 소프트웨어 업데이트 지연을 감소시킬 수 있다. 또한, 또 다른 실시예는 무선 전송(OTA) 방식으로 차량의 소프트웨어를 업데이트하여 차량 유지보수비용을 절감할 수 있다.Accordingly, in another embodiment, when various software updates installed in a plurality of ECUs provided in a vehicle are updated by a wireless transmission (OTA) method, the update can be performed safely. In addition, another embodiment can reduce the software update delay. In addition, another embodiment may reduce vehicle maintenance costs by updating the vehicle software through a wireless transmission (OTA) method.

이상 설명된 본 발명에 따른 실시예는 다양한 컴퓨터 구성요소를 통하여 실행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등과 같은, 프로그램 명령어를 저장하고 실행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의하여 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용하여 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위하여 하나 이상의 소프트웨어 모듈로 변경될 수 있으며, 그 역도 마찬가지이다.The embodiments according to the present invention described above may be implemented in the form of program instructions that can be executed through various computer components and recorded in a computer-readable recording medium. The computer-readable recording medium may include program instructions, data files, data structures, and the like alone or in combination. The program instructions recorded on the computer-readable recording medium may be specially designed and configured for the present invention or may be known and usable to those skilled in the computer software field. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks and magnetic tapes, optical recording media such as CD-ROMs and DVDs, magnetic-optical media such as floptical disks. medium), and a hardware device specially configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine language codes such as those produced by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like. The hardware device can be changed to one or more software modules to perform the processing according to the present invention, and vice versa.

본 발명에서 설명하는 특정 실행들은 일 실시 예들로서, 어떠한 방법으로도 본 발명의 범위를 한정하는 것은 아니다. 명세서의 간결함을 위하여, 종래 전자적인 구성들, 제어 시스템들, 소프트웨어, 상기 시스템들의 다른 기능적인 측면들의 기재는 생략될 수 있다. 또한, 도면에 도시된 구성 요소들 간의 선들의 연결 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것으로서, 실제 장치에서는 대체 가능하거나 추가의 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들로서 나타내어질 수 있다. 또한, “필수적인”, “중요하게” 등과 같이 구체적인 언급이 없다면 본 발명의 적용을 위하여 반드시 필요한 구성 요소가 아닐 수 있다.Specific implementations described in the present invention are examples, and do not limit the scope of the present invention in any way. For brevity of the specification, descriptions of conventional electronic configurations, control systems, software, and other functional aspects of the systems may be omitted. In addition, the connection or connection members of the lines between the components shown in the drawings exemplarily represent functional connections and/or physical or circuit connections. It may be referred to as a connection, or circuit connections. In addition, if there is no specific mention such as “essential” or “importantly”, it may not be an essential component for the application of the present invention.

또한 설명한 본 발명의 상세한 설명에서는 본 발명의 바람직한 실시 예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자 또는 해당 기술분야에 통상의 지식을 갖는 자라면 후술할 특허청구범위에 기재된 본 발명의 사상 및 기술 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다. 따라서, 본 발명의 기술적 범위는 명세서의 상세한 설명에 기재된 내용으로 한정되는 것이 아니라 특허청구범위에 의해 정하여져야만 할 것이다.In addition, although the detailed description of the present invention has been described with reference to a preferred embodiment of the present invention, the spirit of the present invention described in the claims to be described later if one of ordinary skill in the relevant technical field or those of ordinary skill in the relevant technical field And it will be understood that various modifications and changes can be made to the present invention within a range not departing from the technical field. Accordingly, the technical scope of the present invention should not be limited to the contents described in the detailed description of the specification, but should be determined by the claims.

100 차량 단말
200 업데이트 장치
300 사용자 단말
400 업데이트 서버
100 vehicle terminals
200 update device
300 user terminals
400 update server

Claims (8)

업데이트 장치를 이용하여 차량에 배치된 차량 단말의 소프트웨어를 업데이트하는 방법으로서,
상기 업데이트 장치가 무선 전송 방식으로 소정의 크기로 분할된 업데이트 패키지 파일을 수신하는 단계;
상기 업데이트 장치가 수신된 업데이트 패키지 파일의 무결성 검사를 하는 단계;
상기 무결성 검사에 문제가 있으면, 상기 무결성 검사에 문제가 있는 분할된 업데이트 패키지 파일을 상기 업데이트 장치가 업데이트 서버에 재요청하여 수신하는 단계; 및
상기 무결성 검사에 문제가 없으면, 상기 업데이트 장치가 상기 업데이트 패키지 파일을 이용하여 상기 차량 단말의 소프트웨어를 업데이트 하는 단계;를 포함하고,
상기 업데이트 장치가 무선 전송 방식으로 소정의 크기로 분할된 업데이트 패키지 파일을 수신하는 단계는, 상기 업데이트 장치가 상기 업데이트 패키지 파일을 제1 크기로 분할한 복수의 제1 분할 파일을 수신하는 단계를 포함하고,
상기 업데이트 장치가 수신된 업데이트 패키지 파일의 무결성 검사를 하는 단계는, 상기 복수의 제1 분할 파일을 기초로 한 업데이트 패키지 파일과 상기 업데이트 서버에서 제공하는 업데이트 패키지 파일을 서로 비교하여 동일한지 검사하는 단계를 포함하고,
상기 업데이트 장치가 무선 전송 방식으로 사용자 단말로부터 무결성 검사가 상기 사용자 단말에서 완료된 상기 업데이트 패키지 파일을 상기 제1 크기보다 작은 제2 크기로 분할한 복수의 제2 분할 파일을 수신하는 단계와, 상기 사용자 단말이 상기 제2 분할 파일의 무결성 검사를 수행하는 단계를 포함하고,
상기 무결성 검사에 문제가 있으면, 상기 무결성 검사에 문제가 있는 분할된 업데이트 패키지 파일을 상기 업데이트 장치가 업데이트 서버에 재요청하여 수신하는 단계는, 상기 분할된 업데이트 패키지 파일에서 무결성 문제가 있는 특정 제1 분할 파일을 검출하는 단계와, 업데이트를 중지한 상태에서 상기 특정 제1 분할 파일을 삭제하는 단계와, 상기 특정 제1 분할 파일에 대응하는 필요한 업데이트 파일을 상기 사용자 단말에 요청하는 단계와, 상기 사용자 단말로부터 상기 필요한 업데이트 파일을 수신하는 단계를 포함하고,
상기 무결성 검사에 문제가 없으면, 상기 업데이트 장치가 상기 업데이트 패키지 파일을 이용하여 상기 차량 단말의 소프트웨어를 업데이트 하는 단계는, 무결성 문제가 없는 상기 복수의 제1 분할 파일로 구성된 업데이트 패키지 파일과, 상기 복수의 제2 분할 파일 구성된 업데이트 패키지 파일을 수신하면 상기 업데이트 패키지 파일을 기초로 상기 차량 단말의 소프트웨어를 업데이트 하는 단계를 포함하고,
상기 차량 단말이 업데이트 지역에 배치되어 있는지 확인하는 단계와, 상기 사용자 단말이 상기 업데이트 지역에 위치하고 있는지 확인하는 단계와,
상기 무결성 검사에 문제가 없으면, 상기 업데이트 장치가 상기 업데이트 패키지 파일을 이용하여 상기 차량 단말의 소프트웨어를 업데이트 하는 단계는, 상기 업데이트 장치와 상기 사용자 단말이 모두 상기 업데이트 지역에 위치한 경우, 상기 복수의 제1 분할 파일로 구성된 업데이트 패키지 파일 및 상기 복수의 제2 분할 파일로 구성된 업데이트 패키지 파일을 기초로 상기 차량 단말의 소프트웨어를 업데이트하는 단계를 포함하는
차량의 소프트웨어 업데이트 방법.
A method of updating software of a vehicle terminal disposed in a vehicle using an update device,
Receiving, by the update device, an update package file divided into a predetermined size by a wireless transmission method;
Performing, by the update device, an integrity check of the received update package file;
If there is a problem in the integrity check, receiving a segmented update package file having a problem in the integrity check by the update device by re-requesting the update server; And
If there is no problem in the integrity check, the update device updating the software of the vehicle terminal using the update package file; Including,
The step of receiving, by the update device, an update package file divided into a predetermined size by a wireless transmission method, includes receiving, by the update device, a plurality of first divided files obtained by dividing the update package file into a first size. and,
The step of checking the integrity of the received update package file by the update device may include comparing an update package file based on the plurality of first divided files and an update package file provided by the update server to check whether they are the same. Including,
Receiving, by the update device, a plurality of second divided files obtained by dividing the update package file, for which integrity check has been completed at the user terminal, into a second size smaller than the first size from the user terminal through a wireless transmission method, and the user A terminal comprising the step of performing an integrity check of the second divided file,
If there is a problem with the integrity check, the step of receiving, by the update device, re-requesting and receiving a divided update package file having a problem with the integrity check to an update server may include a first specific integrity problem in the divided update package file. Detecting a divided file, deleting the specific first divided file while stopping the update, requesting a necessary update file corresponding to the specific first divided file from the user terminal, and the user Including the step of receiving the necessary update file from the terminal,
If there is no problem with the integrity check, the updating of the software of the vehicle terminal by the update device using the update package file includes: an update package file consisting of the plurality of first divided files having no integrity problem, and the plurality of Upon receiving the update package file composed of the second divided file of, updating the software of the vehicle terminal based on the update package file,
Checking whether the vehicle terminal is located in the update area, and checking whether the user terminal is located in the update area,
If there is no problem with the integrity check, the updating of the software of the vehicle terminal by the update device using the update package file may include: when both the update device and the user terminal are located in the update area, the plurality of Comprising the step of updating software of the vehicle terminal based on an update package file composed of one divided file and an update package file composed of the plurality of second divided files.
How to update the vehicle's software.
삭제delete 제1 항에 있어서,
상기 업데이트 패키지 파일의 무결성 검사는 상기 업데이트 서버에서 제공하는 업데이트 패키지 파일과 상기 소정의 크기로 분할된 업데이트 패키지 파일을 서로 비교하여 동일한지 검사하는 차량의 소프트웨어 업데이트 방법.
The method of claim 1,
In the integrity check of the update package file, the update package file provided by the update server and the update package file divided by a predetermined size are compared with each other to check whether they are the same.
삭제delete 삭제delete 삭제delete 삭제delete 삭제delete
KR1020190125295A 2019-10-10 2019-10-10 Apparatus and system and method for software update of vehicle KR102249222B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190125295A KR102249222B1 (en) 2019-10-10 2019-10-10 Apparatus and system and method for software update of vehicle

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190125295A KR102249222B1 (en) 2019-10-10 2019-10-10 Apparatus and system and method for software update of vehicle

Publications (2)

Publication Number Publication Date
KR20210042575A KR20210042575A (en) 2021-04-20
KR102249222B1 true KR102249222B1 (en) 2021-05-06

Family

ID=75743366

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190125295A KR102249222B1 (en) 2019-10-10 2019-10-10 Apparatus and system and method for software update of vehicle

Country Status (1)

Country Link
KR (1) KR102249222B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102481219B1 (en) 2022-01-25 2022-12-26 쌍용자동차 주식회사 System and Method for software update of vehicle software through vehicle security management server
KR102585388B1 (en) * 2022-11-30 2023-10-23 펜타시큐리티 주식회사 Method for extending message nodes of oma-dm protocol for improving efficiency of vehicle ota update and apparatus using the same

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102621442B1 (en) * 2021-11-11 2024-01-09 엘아이지넥스원 주식회사 Software update system and software update method
CN117032745A (en) * 2023-07-19 2023-11-10 零束科技有限公司 OTA-based vehicle software upgrading method, device and related equipment

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190138298A1 (en) * 2016-04-27 2019-05-09 Hitachi Automotive Systems, Ltd. Electric control device for vehicles, program updating method, and server apparatus

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160045191A (en) * 2014-10-16 2016-04-27 현대오트론 주식회사 Apparatus and method for updating software of vehicle
KR101963776B1 (en) 2016-04-19 2019-07-31 주식회사 엔지스테크널러지 Method and apparatus for secure updates of software in vehicle electric system
KR102025808B1 (en) * 2017-11-24 2019-09-26 엘지전자 주식회사 Driving assistance Apparatus for Vehicle and Control method thereof
KR20190079333A (en) * 2017-12-27 2019-07-05 주식회사대성엘텍 An AVN terminal and a method for updating the AVN terminal

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190138298A1 (en) * 2016-04-27 2019-05-09 Hitachi Automotive Systems, Ltd. Electric control device for vehicles, program updating method, and server apparatus

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102481219B1 (en) 2022-01-25 2022-12-26 쌍용자동차 주식회사 System and Method for software update of vehicle software through vehicle security management server
KR102585388B1 (en) * 2022-11-30 2023-10-23 펜타시큐리티 주식회사 Method for extending message nodes of oma-dm protocol for improving efficiency of vehicle ota update and apparatus using the same

Also Published As

Publication number Publication date
KR20210042575A (en) 2021-04-20

Similar Documents

Publication Publication Date Title
KR102249222B1 (en) Apparatus and system and method for software update of vehicle
US11163549B2 (en) Vehicle information communication system
US11811883B2 (en) Cryptographic hash chain for vehicle configuration verification
US10782955B2 (en) Pre-shutdown swap verification
US20200050442A1 (en) Vehicle information communication system
US20140325500A1 (en) Method, system, and computer-readable recording media for updating electronic control unit
US6694235B2 (en) Vehicular relay device, in-vehicle communication system, failure diagnostic system, vehicle management device, server device and detection and diagnostic program
CN104866336B (en) Silent in-vehicle software update
US10027672B2 (en) Access restriction device, on-board communication system and method for communication restriction
CN102630320B (en) Information processing device and method for preventing unauthorized application cooperation
US20170344355A1 (en) Updating vehicle system modules
CN111263352A (en) OTA (over the air) upgrading method and system of vehicle-mounted equipment, storage medium and vehicle-mounted equipment
CN111638894A (en) Software upgrading method and device and computer storage medium
US20220012043A1 (en) Vehicle information communication system
JP2023033568A (en) Vehicle, in-vehicle control device, information processing device, vehicle network system, method for providing application program, and program
CN116028092A (en) Method, device, equipment and storage medium for fusing automobile OTA upgrading task
CN115344281A (en) Finished automobile OTA (over the air) upgrading method, system, storage medium and equipment
KR20070076201A (en) Rom program update system and method do electron control unit in vehicles
CN104348616A (en) Method for visiting terminal security component, device thereof and system thereof
US20140279019A1 (en) Electronic glovebox for a vehicle
CN114095538A (en) Bidirectional authentication method for OTA (over the air) upgrading of Internet of things equipment based on block chain technology
US20170228741A1 (en) Dynamic display of open source software compliance information
US20220308857A1 (en) Control device and terminal device
US20220391192A1 (en) Ota master, center, system, method, non-transitory storage medium, and vehicle
US11670117B2 (en) Vehicle and software update method

Legal Events

Date Code Title Description
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant