KR102313599B1 - 차량의 소프트웨어 업데이트 방법 및 장치 - Google Patents

차량의 소프트웨어 업데이트 방법 및 장치 Download PDF

Info

Publication number
KR102313599B1
KR102313599B1 KR1020170123231A KR20170123231A KR102313599B1 KR 102313599 B1 KR102313599 B1 KR 102313599B1 KR 1020170123231 A KR1020170123231 A KR 1020170123231A KR 20170123231 A KR20170123231 A KR 20170123231A KR 102313599 B1 KR102313599 B1 KR 102313599B1
Authority
KR
South Korea
Prior art keywords
software
update
communication node
vehicle
phy layer
Prior art date
Application number
KR1020170123231A
Other languages
English (en)
Other versions
KR20180038973A (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 US15/727,300 priority Critical patent/US10630538B2/en
Priority to DE102017123252.4A priority patent/DE102017123252A1/de
Publication of KR20180038973A publication Critical patent/KR20180038973A/ko
Application granted granted Critical
Publication of KR102313599B1 publication Critical patent/KR102313599B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/082Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40006Architecture of a communication node

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Small-Scale Networks (AREA)

Abstract

소프트웨어의 업데이트 시 전력 소모를 줄이고, 업데이트 오동작을 방지할 수 있는 차량의 소프트웨어 업데이트 방법 및 장치에 관한 것이다. 본 발명의 실시 예에 따른 제1 통신 노드의 동작 방법은, 이더넷(ethernet) 기반의 차량 네트워크(network)를 구성하는 제1 통신 노드의 동작 방법으로서, 슬립 상태에서 준비 상태로 전환하여 상기 제1 통신 노드의 PHY 계층을 웨이크업 시키는 단계와, 상기 차량 네트워크에 접속된 다른 통신 노드로 네트워크 요청 전송을 방지하는 단계와, 상기 소프트웨어의 업데이트를 수행하는 단계를 포함한다.

Description

차량의 소프트웨어 업데이트 방법 및 장치{METHOD FOR SOFTWARE UPDATE OF VEHICLE AND DEVICE FOR THE SAME}
본 발명은 차량의 소프트웨어 업데이트 방법 및 장치에 관한 것으로, 더욱 상세하게는 소프트웨어의 업데이트 시 전력 소모를 줄이고, 업데이트 오동작을 방지할 수 있는 차량의 소프트웨어 업데이트 방법 및 장치에 관한 것이다.
차량용 부품의 전자화가 급속도로 진행됨에 따라 차량에 탑재되는 전자 장치(예를 들어, ECU(electronic control unit))의 종류와 수가 크게 증가되고 있다. 전자 장치는 크게 파워트레인(power train) 제어 시스템, 바디(body) 제어 시스템, 새시(chassis) 제어 시스템, 차량 네트워크(network), 멀티미디어(multimedia) 시스템 등에서 사용될 수 있다. 파워트레인 제어 시스템은 엔진 제어 시스템, 자동 변속 제어 시스템 등을 의미할 수 있다. 바디 제어 시스템은 바디 전장품 제어 시스템, 편의 장치 제어 시스템, 램프(lamp) 제어 시스템 등을 의미할 수 있다. 새시 제어 시스템은 조향 장치 제어 시스템, 브레이크(brake) 제어 시스템, 서스팬션(suspension) 제어 시스템 등을 의미할 수 있다. 차량 네트워크는 CAN(controller area network), 플렉스레이(FlexRay) 기반의 네트워크, MOST(media oriented system transport) 기반의 네트워크 등을 의미할 수 있다. 멀티미디어 시스템은 항법 장치 시스템, 텔레매틱스(telematics) 시스템, 인포테이먼트(infotainment) 시스템 등을 의미할 수 있다.
이러한 시스템들 및 시스템들 각각을 구성하는 전자 장치들은 차량 네트워크를 통해 연결되어 있으며, 전자 장치들 각각의 기능을 지원하기 위한 차량 네트워크가 요구되고 있다. CAN은 최대 1Mbps의 전송 속도를 지원할 수 있으며, 충돌된 프레임의 자동 재전송, CRC(cycle redundancy check) 기반의 오류 검출 등을 지원할 수 있다. 플렉스레이 기반의 네트워크는 최대 10Mbps의 전송 속도를 지원할 수 있으며, 2채널을 통한 데이터의 동시 전송, 동기 방식의 데이터 전송 등을 지원할 수 있다. MOST 기반의 네트워크는 고품질의 멀티미디어를 위한 통신 네트워크로, 최대 150Mbps의 전송 속도를 지원할 수 있다.
한편, 차량의 텔레매틱스 시스템, 인포테이먼트 시스템, 향상된 안전 시스템 등은 높은 전송 속도, 시스템 확장성 등을 요구하며, CAN, 플렉스레이 기반의 네트워크 등은 이를 충분히 지원하지 못한다. MOST 기반의 네트워크는 CAN 및 플렉스레이 기반의 네트워크에 비해 높은 전송 속도를 지원할 수 있으나, 차량의 모든 네트워크에 MOST 기반의 네트워크가 적용되기 위해서는 많은 비용이 소모된다. 이러한 문제들에 의해, 차량 네트워크로 이더넷(ethernet) 기반의 네트워크가 고려될 수 있다. 이더넷 기반의 네트워크는 한 쌍의 권선을 통한 양방향 통신을 지원할 수 있으며, 최대 10Gbps의 전송 속도를 지원할 수 있다.
차량의 배치된 제어장치들의 소프트웨어 업데이트 요구가 증가하고 있고, 제어장치들의 소프트웨어 업데이트를 위한 여러 방법이 제안된 바 있다. 소프트웨어 업데이트 방법 중에서, 예약 업데이트 방법은 특정 시간(예로서, 차량을 운행하지 않는 시간)을 설정하여 제어장치의 소프트웨어를 업데이트 할 수 있다.
종래 기술의 예약 업데이트 방법은 예약 시점에 차량에 배치된 통신 유닛(예로서, 텔레매틱스 유닛 또는 멀티미디어 헤드 유닛)을 웨이크업(wake up) 시킨 후, 업데이트 할 소프트웨어를 소프트웨어 센터로부터 다운로드 할 수 있다. 이후, 다운로드 된 소프트웨어를 각 제어장치에서 업데이트 할 수 있다.
이러한, 종래 기술의 소프트웨어 업데이트 방법은, 예약 업데이트를 위해 웨이크업 한 제어장치의 ECU(electronic control unit)가 동작함으로 인해 많은 전력이 소비되는 문제가 있다. 특히, 소프트웨어의 업데이트가 이루어지는 제어장치뿐만 아니라 다른 제어장치들도 웨이크업하게 됨으로 인해 전력 소비가 증가하는 문제점이 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은 소프트웨어의 예약 업데이트 시 전력 소모를 줄일 수 있는 차량의 소프트웨어 업데이트 방법 및 장치를 제공하는 데 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은 소프트웨어의 예약 업데이트 시 업데이트 오동작을 방지할 수 있는 차량의 소프트웨어 업데이트 방법 및 장치를 제공하는 데 있다.
상기 목적을 달성하기 위한 본 발명의 실시 예에 따른 제1 통신 노드의 동작 방법은, 이더넷(ethernet) 기반의 차량 네트워크(network)를 구성하는 제1 통신 노드의 동작 방법으로서, 슬립 상태에서 준비 상태로 전환하여 상기 제1 통신 노드의 PHY 계층을 웨이크업 시키는 단계와, 상기 소프트웨어의 업데이트를 수행하는 단계와, 상기 차량 네트워크에 접속된 다른 통신 노드로 네트워크 요청 전송을 방지하는 단계를 포함한다.
본 발명의 실시 예에 따른 제1 통신 노드의 동작 방법은, 상기 제1 통신 노드의 소프트웨어의 업데이트 시 상기 슬립 상태에서 준비 상태로 전환이 수행된다.
본 발명의 실시 예에 따른 제1 통신 노드의 동작 방법은, 상기 제1 통신 노드의 메모리에 업데이트할 소프트웨어가 저장되어 있을 때 상기 소프트웨어의 업데이트를 수행한다.
본 발명의 실시 예에 따른 제1 통신 노드의 동작 방법은, 상기 차량 네트워크에 접속된 제2 통신 노드로부터 수신한 업데이트 예약 시간에 상기 소프트웨어의 업데이트를 수행한다.
본 발명의 실시 예에 따른 제1 통신 노드의 동작 방법은, 차량의 시동이 꺼진 경우에 상기 소프트웨어의 업데이트를 수행한다.
본 발명의 실시 예에 따른 제1 통신 노드의 동작 방법은, 차량이 시동이 켜진 이후 상기 소프트웨어의 업데이트 결과를 상기 제2 통신 노드로 전송하는 단계를 더 포함한다.
본 발명의 실시 예에 따른 제1 통신 노드의 동작 방법은, 상기 소프트웨어의 업데이트를 수행한 후, 재 부팅하여 상기 소프트웨어의 업데이트를 점검하는 단계를 더 포함한다.
본 발명의 실시 예에 따른 제1 통신 노드의 동작 방법은, 상기 소프트웨어의 업데이트가 실패한 경우, 업데이트 이전의 소프트웨어를 복구하는 단계를 더 포함한다.
상기 목적을 달성하기 위한 본 발명의 실시 예에 따른 통신 유닛의 동작 방법은, 이더넷(ethernet) 기반의 차량 네트워크(network)를 구성하는 통신 유닛의 동작 방법으로서, 업데이트 예약 시간에 슬립 상태에서 준비 상태로 전환하여 PHY 계층을 웨이크업 시키는 단계와, 상기 차량 네트워크에 접속된 통신 노드들로 네트워크 요청 전송을 방지하는 단계를 포함한다.
본 발명의 실시 예에 따른 통신 유닛의 동작 방법은, 소프트웨어 센터로부터 소프트웨어를 다운로드 하는 단계를 더 포함하다.
본 발명의 실시 예에 따른 통신 유닛의 동작 방법은, 상기 소프트웨어를 업데이트 하는 단계를 더 포함한다.
본 발명의 실시 예에 따른 통신 유닛의 동작 방법은, 상기 업데이트 예약 시간에 상기 소프트웨어를 다운로드 한다.
본 발명의 실시 예에 따른 통신 유닛의 동작 방법은, 차량의 주행 중 상기 소프트웨어를 다운로드 한다.
본 발명의 실시 예에 따른 통신 유닛의 동작 방법은, 상기 차량 네트워크에 접속된 특정 통신 노드의 소프트웨어를 다운로드 한 경우, 상기 소프트웨어를 상기 특정 통신 노드로 전송하는 단계를 더 포함한다.
본 발명의 실시 예에 따른 통신 유닛의 동작 방법은, 상기 특정 통신 노드로부터 상기 소프트웨어의 업데이트 결과를 수신하는 단계를 더 포함한다.
상기 목적을 달성하기 위한 본 발명의 실시 예에 따른 통신 노드는, 이더넷(ethernet) 기반의 차량 네트워크(network)를 구성되어 프로그램의 업데이트를 수행하는 통신 노드로서, PHY 계층 프로세서를 포함하는 PHY 계층 유닛과, 컨트롤러 프로세서를 포함하는 컨트롤러 유닛과, 상기 PHY 계층 유닛 및 상기 컨트롤러 유닛 각각에 의해 수행되는 적어도 하나의 명령이 저장된 메모리를 포함한다. 상기 적어도 하나의 명령은, 슬립 상태에서 준비 상태로 전환하여 상기 제1 통신 노드의 PHY 계층을 웨이크업 시킨다. 그리고, 상기 차량 네트워크에 접속된 다른 통신 노드로 네트워크 요청 전송을 방지한다.
본 발명의 실시 예에 따른 통신 노드의 상기 적어도 하나의 명령은, 차량의 주행 중 차량에 배치된 통신 유닛으로부터 소프트웨어를 수신한다. 그리고, 상기 수신된 소프트웨어를 메모리에 저장한다. 그리고, 상기 통신 유닛으로부터 상기 소프트웨어의 업데이트 예약 시간을 수신한다. 그리고, 상기 소프트웨어의 업데이트 예약 시간에 상기 소프트웨어를 업데이트 한다.
본 발명의 실시 예에 따른 통신 노드의 상기 적어도 하나의 명령은, 상기 차량의 시동이 꺼진 이후에 상기 소프트웨어를 업데이트 한다.
본 발명의 실시 예에 따른 통신 노드의 상기 적어도 하나의 명령은, 상기 소프트웨어를 업데이트 한 후, 재 부팅하여 상기 소프트웨어의 업데이트를 점검한다.
본 발명의 실시 예에 따른 통신 노드의 상기 적어도 하나의 명령은, 상기 소프트웨어의 업데이트가 실패한 경우, 업데이트 이전의 소프트웨어를 복구한다.
본 발명의 실시 예에 따른 차량의 소프트웨어 업데이트 방법 및 장치는 소프트웨어의 업데이트 시, 이더넷 네트워크에 연결된 복수의 엔드노드 중에서 타겟 엔드노드만을 웨이크업 시켜 소프트웨어의 업데이트로 인한 차량의 전력 소모를 줄일 수 있다.
또한, 본 발명의 실시 예에 따른 차량의 소프트웨어 업데이트 방법 및 장치는 소프트웨어의 업데이트 시, 차량의 시동이 꺼진 상태에서 타겟 엔드노드의 소프트웨어 업데이트가 수행되도록 함으로써 소프트웨어 업데이트의 오동작을 방지할 수 있다.
또한, 본 발명의 실시 예에 따른 차량의 소프트웨어 업데이트 방법 및 장치는 타겟 엔드노드에서의 소프트웨어 업데이트 결과를 통신 유닛이 수신하고, 통신 유닛이 소프트웨어 업데이트 결과에 기초하여 소프트웨어 업데이트를 재시도 할 수 있다.
도 1은 차량 네트워크의 토폴로지에 대한 일 실시예를 도시한 블록도이다.
도 2는 차량 네트워크를 구성하는 통신 노드의 일 실시예를 도시한 블록도이다.
도 3은 본 발명의 실시 예에 따른 차량의 소프트웨어 업데이트 장치를 나타내는 도면이다.
도 4는 본 발명의 실시 예에 따른 차량의 소프트웨어 업데이트 방법을 나타내는 도면이다.
도 5는 차량의 소프트웨어 업데이트 방법의 일 예로서, 통신유닛과 타겟 엔드노드의 동작을 나타내는 도면이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시 예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시 예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 차량 네트워크의 토폴로지(network topology)의 일 실시예를 도시한 블록도이다.
도 1을 참조하면, 차량 네트워크를 구성하는 통신 노드(communication node)는 게이트웨이(gateway), 스위치(switch)(또는, 브릿지(bridge)) 또는 엔드노드(end node) 등을 의미할 수 있다. 게이트웨이(100)는 적어도 하나의 스위치(110, 110-1, 110-2, 120, 130)와 연결될 수 있으며, 서로 다른 네트워크를 연결할 수 있다. 예를 들어, 게이트웨이(100)는 CAN(controller area network)(또는, 플렉스레이(FlexRay), MOST(media oriented system transport), LIN(local interconnect network) 등) 프로토콜을 지원하는 통신 노드와 이더넷(ethernet) 프로토콜을 지원하는 스위치 간을 연결할 수 있다. 스위치들(110, 110-1, 110-2, 120, 130) 각각은 적어도 하나의 엔드노드(111, 112, 113, 121, 122, 123, 131, 132, 133)와 연결될 수 있다. 스위치들(110, 110-1, 110-2, 120, 130) 각각은 엔드노드(111, 112, 113, 121, 122, 123, 131, 132, 133)를 상호 연결할 수 있고, 자신과 연결된 엔드노드(111, 112, 113, 121, 122, 123, 131, 132, 133)를 제어할 수 있다.
엔드노드(111, 112, 113, 121, 122, 123, 131, 132, 133)는 차량에 포함된 각종 장치를 제어하는 ECU(electronic control unit)를 의미할 수 있다. 예를 들어, 엔드노드(111, 112, 113, 121, 122, 123, 131, 132, 133)는 인포테인먼트(infortainment) 장치(예를 들어, 디스플레이(display) 장치, 내비게이션(navigation) 장치, 어라운드 뷰 모니터링(around view monitoring) 장치) 등을 구성하는 ECU를 의미할 수 있다.
한편, 차량 네트워크를 구성하는 통신 노드들(즉, 게이트웨이, 스위치, 엔드노드 등)은 스타(star) 토폴로지, 버스(bus) 토폴로지, 링(ring) 토폴로지, 트리(tree) 토폴로지, 메쉬(mesh) 토폴로지 등으로 연결될 수 있다. 또한, 차량 네트워크를 구성하는 통신 노드들 각각은 CAN 프로토콜, 플렉스레이 프로토콜, MOST 프로토콜, LIN 프로토콜, 이더넷 프로토콜 등을 지원할 수 있다. 본 발명에 따른 실시예들은 앞서 설명된 네트워크 토폴로지에 적용될 수 있으며, 본 발명에 따른 실시예들이 적용되는 네트워크 토폴로지는 이에 한정되지 않고 다양하게 구성될 수 있다.
도 2는 차량 네트워크를 구성하는 통신 노드의 일 실시예를 도시한 블록도이다.
도 2를 참조하면, 네트워크를 구성하는 통신 노드(200)는 PHY 계층 유닛(physical layer unit)(210) 및 컨트롤러(controller) 유닛(220)을 포함할 수 있다. 또한, 통신 노드(200)는 파워(power)를 공급하는 레귤레이터(regulator)(미도시)를 더 포함할 수 있다. 이때, 컨트롤러 유닛(220)은 MAC(medium access control) 계층을 포함하여 구현될 수 있다. PHY 계층 유닛(210)은 다른 통신 노드로부터 신호를 수신할 수 있거나, 다른 통신 노드로 신호를 전송할 수 있다. 컨트롤러 유닛(220)은 PHY 계층 유닛(210)을 제어할 수 있고, 다양한 기능들(예를 들어, 인포테인먼트 기능 등)을 수행할 수 있다. PHY 계층 유닛(210)과 컨트롤러 유닛(220)은 하나의 SoC(System on Chip)로 구현될 수도 있고, 별도의 칩으로 구성될 수도 있다.
PHY 계층 유닛(210)과 컨트롤러 유닛(220)은 매체 독립 인터페이스(media independent interface, MII)(230)를 통해 연결될 수 있다. MII(230)는 IEEE 802.3에 규정된 인터페이스를 의미할 수 있으며, PHY 계층 유닛(210)과 컨트롤러 유닛(220) 간의 데이터 인터페이스 및 관리 인터페이스로 구성될 수 있다. MII(230) 대신에 RMII(reduced MII), GMII(gigabit MII), RGMII(reduced GMII), SGMII(serial GMII), XGMII(10 GMII) 중 하나의 인터페이스가 사용될 수 있다. 데이터 인터페이스는 전송 채널(channel) 및 수신 채널을 포함할 수 있으며, 채널들 각각은 독립적인 클럭(clock), 데이터 및 제어 신호를 가질 수 있다. 관리 인터페이스는 2-신호 인터페이스로 구성될 수 있으며, 하나는 클럭을 위한 신호이고 다른 하나는 데이터를 위한 신호일 수 있다.
PHY 계층 유닛(210)은 PHY 계층 인터페이스 유닛(211), PHY 계층 프로세서(processor)(212) 및 PHY 계층 메모리(memory)(213) 등을 포함할 수 있다. PHY 계층 유닛(210)의 구성은 이에 한정되지 않으며, PHY 계층 유닛(210)은 다양하게 구성될 수 있다. PHY 계층 인터페이스 유닛(211)은 컨트롤러 유닛(220)으로부터 수신된 신호를 PHY 계층 프로세서(212)로 전송할 수 있고, PHY 계층 프로세서(212)로부터 수신된 신호를 컨트롤러 유닛(220)에 전송할 수 있다. PHY 계층 프로세서(212)는 PHY 계층 인터페이스 유닛(211) 및 PHY 계층 메모리(213) 각각의 동작을 제어할 수 있다. PHY 계층 프로세서(212)는 전송할 신호의 변조 또는 수신된 신호의 복조를 수행할 수 있다. PHY 계층 프로세서(212)는 신호를 입력 또는 출력하도록 PHY 계층 메모리(213)를 제어할 수 있다. PHY 계층 메모리(213)는 수신된 신호를 저장할 수 있고, PHY 계층 프로세서(212)의 요청에 따라 저장된 신호를 출력할 수 있다. 여기서, PHY 계층 유닛(210)은 출력 신호를 코딩하기 위한 PCS(Physical Coding Sublayer)를 포함할 수 있다.
컨트롤러 유닛(220)은 MII(230)를 통해 PHY 계층 유닛(210)에 대한 모니터링 및 제어를 수행할 수 있다. 컨트롤러 유닛(220)은 컨트롤러 인터페이스 유닛(221), 컨트롤러 프로세서(222), 주 메모리(223) 및 보조 메모리(224) 등을 포함할 수 있다. 컨트롤러 유닛(220)의 구성은 이에 한정되지 않으며, 컨트롤러 유닛(220)은 다양하게 구성될 수 있다. 컨트롤러 인터페이스 유닛(221)은 PHY 계층 유닛(210)(즉, PHY 계층 인터페이스 유닛(211)) 또는 상위 계층(미도시)으로부터 신호를 수신할 수 있고, 수신된 신호를 컨트롤러 프로세서(222)에 전송할 수 있고, 컨트롤러 프로세서(222)로부터 수신된 신호를 PHY 계층 유닛(210) 또는 상위 계층에 전송할 수 있다. 컨트롤러 프로세서(222)는 컨트롤러 인터페이스 유닛(221), 주 메모리(223) 및 보조 메모리(224)를 제어하기 위한 독립된 메모리 컨트롤 로직(control logic) 또는 통합 메모리 컨트롤 로직을 더 포함할 수 있다. 메모리 컨트롤 로직은 주 메모리(223) 및 보조 메모리(224)에 포함되어 구현될 수도 있으며, 또는 컨트롤러 프로세서(222)에 포함되어 구현될 수도 있다.
주 메모리(223) 및 보조 메모리(224) 각각은 컨트롤러 프로세서(222)에 의해 처리된 신호를 저장할 수 있고, 컨트롤러 프로세서(222)의 요청에 따라 저장된 신호를 출력할 수 있다. 주 메모리(223)는 컨트롤러 프로세서(222)의 동작을 위해 필요한 데이터를 일시 저장하는 휘발성 메모리(예를 들어, RAM(random access memory) 등)를 의미할 수 있다. 보조 메모리(224)는 운영체제 코드(operating system code)(예를 들어, 커널(kernel) 및 디바이스 드라이버(device driver))와 컨트롤러 프로세서(220)의 기능을 수행하기 위한 응용 프로그램(application program) 코드 등이 저장되는 비휘발성 메모리를 의미할 수 있다. 비휘발성 메모리로 빠른 처리 속도를 가지는 플래쉬 메모리(flash memory)가 사용될 수 있고, 또는 대용량의 데이터 저장을 위한 하드 디스크 드라이브(hard disc drive, HDD), CD-ROM(compact disc-read only memory) 등이 사용될 수 있다. 컨트롤러 프로세서(222)는 통상적으로 적어도 하나의 프로세싱 코어(core)를 포함하는 로직 회로로 구성될 수 있다. 컨트롤러 프로세서(222)로 ARM(Advanced RISC Machines Ltd.) 계열의 코어, 아톰(atom) 계열의 코어 등이 사용될 수 있다.
아래에서는, 차량 네트워크에 속하는 통신 노드와 이에 대응하는 상대(counterpart) 통신 노드에서 수행되는 방법이 설명될 것이다. 이하에서, 제1 통신 노드에서 수행되는 방법(예를 들어, 신호의 전송 또는 수신)이 설명되는 경우에도 이에 대응하는 제2 통신 노드는 제1 통신 노드에서 수행되는 방법과 상응하는 방법(예를 들어, 신호의 수신 또는 전송)을 수행할 수 있다. 즉, 제1 통신 노드의 동작이 설명된 경우에 이에 대응하는 제2 통신 노드는 제1 통신 노드의 동작과 상응하는 동작을 수행할 수 있다. 반대로, 제2 통신 노드의 동작이 설명된 경우에 이에 대응하는 제1 통신 노드는 스위치의 동작과 상응하는 동작을 수행할 수 있다
도 3은 본 발명의 실시 예에 따른 차량의 소프트웨어 업데이트 장치를 나타내는 도면이다.
도 3을 참조하면, 본 발명의 실시 예에 따른 차량의 소프트웨어 업데이트 장치는 차량에 배치된 통신 유닛(300)과, 복수의 스위치(110-1, 110-2) 및 복수의 엔드노드(401~404)를 포함한다. 여기서, 복수의 엔드노드(401~404) 각각은 차량의 제어장치(예로서, 브레이크 제어장치, 현가 제어장치, 속도 제어장치 등)가 될 수 있다. 도 3에서는 4개의 엔드노드(401~404)를 도시했으나, 이에 한정되지 않고 차량에 배치된 제어장치의 개수에 따라서 엔드노드의 개수가 변화될 수 있다.
통신 유닛(300)은 텔레매틱스(telematics) 또는 멀티미디어 헤드 유닛이 적용될 수 있으며, 외부 통신장치들과 접속을 위한 통신 모뎀 및 사용자에게 정보를 표시하기 위한 디스플레이 모듈을 포함할 수 있다.
통신 유닛(300)은 통신 모뎀을 이용하여 소프트웨어 센터로부터 차량에 배치된 엔드노드들(401~404)의 소프트웨어를 다운로드 할 수 있다. 여기서, 통신 유닛(300)은 차량이 주행 중인 경우에 소프트웨어 센터로부터 통신 유닛(300) 또는 엔드노드들(401~404)의 소프트웨어를 다운로드 할 수 있다. 통신 유닛(300)은 다운로드 된 소프트웨어가 통신 유닛(300)의 소프트웨어인지 또는 차량에 배치된 복수의 엔드노드 중 어느 엔드노드에 해당하는지 판단할 수 있다. 통신 유닛(300)은 판단 결과, 엔드노드들(401~404) 중 특정 엔드노드의 소프트웨어가 다운로드 된 경우, 판단 결과에 기초하여 소프트웨어의 업데이트가 필요한 타겟 엔드노드(401)로 소프트웨어를 전송할 수 있다. 이때, 통신 유닛(300)은 차량의 주행 중인 경우에 타겟 엔드노드(401)로 업데이트를 위한 소프트웨어를 전송할 수 있다.
또한, 통신 유닛(300)은 업데이트 예약 시간을 설정할 수 있다. 이때, 통신 유닛(300)은 이전에 설정했던 업데이트 예약 시간을 그대로 유지할 수도 있고, 사용자로부터 새로운 업데이트 예약 시간을 입력 받아 새롭데 업데이트 예약 시간을 설정할 수도 있다. 이를 위해서, 통신 유닛(300)은 디스플레이 화면에 업데이트 예약 시간의 유지 또는 변경을 위한 메뉴를 표시하여 사용자로부터 업데이트 예약 시간의 유지 또는 변경에 대한 정보를 입력 받을 수 있다. 그리고, 통신 유닛(300)은 설정된 업데이트 예약 시간을 저장하고, 타겟 엔드노드(401)로 전송할 수 있다. 여기서, 업데이트 예약 시간은 통신 유닛(300) 및 엔드노드들(401~404)의 소프트웨어의 업데이트에 적용될 수 있다.
여기서, 차량이 주행 중인 경우 통신 유닛(300)의 PHY 계층은 노멀(normal) 상태이고, 시동이 꺼지면 PHY 계층이 슬립(sleep) 상태로 전환되고, 예약 시간이 되면 PHY 계층이 준비(ready) 상태로 상태로 전환되고, 소프트웨어의 업데이트가 완료되면 PHY 계층이 슬립(sleep) 상태로 전환될 수 있다.
소프트웨어 센터로부터 통신 유닛(300)의 소프트웨어가 다운로드 된 경우, 통신 유닛(300)의 내부 메모리에 소프트웨어를 저장할 수 있다. 이후, 업데이트 예약 시간에 통신 유닛(300)이 웨이크업 되어 소프트웨어의 업데이트 동작을 수행할 수 있다. 차량이 시동이 꺼진 이후 주행하지 않는 경우에 소프트웨어의 업데이트 동작이 수행될 수 있다. 통신 유닛(300)의 소프트웨어의 업데이트 시, 통신 유닛(300)의 PHY 계층이 웨이크업 되고, PHY 계층의 PCS(Physical Coding Sublayer)를 제어하여 네트워크 요청(Network Request)이 엔드노드들(401~404)로 전송되지 않도록 할 수 있다. 즉, 통신 유닛(300)은 엔드노드들(401~404)로의 네트워크 요청 전송을 방지할 수 있다.
본 발명의 다른 실시 예로서, 통신 유닛(300)은 차량이 주행하지 않은 경우에도 소프트웨어 센터로부터 통신 유닛(300) 또는 엔드노드들(401~404)의 소프트웨어를 다운로드 할 수 있다. 이 경우, 차량의 시동이 꺼진 상태에서 통신 유닛(300)이 업데이트 예약 시점에 웨이크업하여 소프트웨어 센터로부터 통신 유닛(300) 또는 엔드노드들(401~404)의 소프트웨어를 다운로드 할 수 있다. 통신 유닛(300)의 소프트웨어가 다운로드 된 경우, 통신 유닛(300)은 소프트웨어의 업데이트를 수행함과 아울러, 엔드노드들(401~404)로의 네트워크 요청 전송을 방지할 수 있다.
도 2를 결부하여 설명하면, 통신 유닛(300) 및 복수의 엔드노드들(401~404) 각각은 이더넷(ethernet) 기반의 차량 네트워크(network)에 접속되며, 설정된 예약 시간에 소프트웨어의 업데이트를 수행할 수 있다. 이더넷 기반의 차량 네트워크에서 통신 유닛(300)은 제1 통신 노드일 수 있고, 엔드노드들(401~404) 각각은 제2 통신 노드일 수 있다. 반대로, 이더넷 기반의 차량 네트워크에서 엔드노드들(401~404) 각각은 제1 통신 노드일 수 있고, 통신 유닛(300)은 제2 통신 노드일 수 있다.
이러한, 통신 유닛(300) 및 복수의 엔드노드들(401~404) 각각은 PHY 계층 프로세서(212)를 포함하는 PHY 계층 유닛(210)과, 컨트롤러 프로세서(222)를 포함하는 컨트롤러 유닛(220)과, PHY 계층 유닛(210) 및 상기 컨트롤러 유닛(220) 각각에 의해 수행되는 적어도 하나의 명령이 저장된 메모리를 포함한다.
여기서, 통신 유닛(300) 및 복수의 엔드노드들(401~404) 각각은 메모리에 저장된 적어도 하나의 명령을 통해서 다음의 동작을 수행할 수 있다. 복수의 엔드노드들(401~404) 각각은 차량의 주행 중 차량에 배치된 통신 유닛(300)으로부터 소프트웨어를 수신할 수 있다. 또한, 복수의 엔드노드들(401~404) 각각은 차량의 주행 중 수신된 소프트웨어를 메모리에 저장할 수 있다. 또한, 복수의 엔드노드들(401~404) 각각은 차량의 주행 중 통신 유닛(300)으로부터 소프트웨어의 업데이트 예약 시간을 수신할 수 있다. 그리고, 복수의 엔드노드들(401~404) 각각은 차량의 시동이 꺼진 이후, 상기 소프트웨어의 업데이트 예약 시간에 메모리에 저장된 소프트웨어의 업데이트를 수행할 수 있다.
이하, 복수의 엔드노드들(401~404) 중에서 소프트웨어의 업데이트가 이루어지는 엔드노드를 타겟 엔드노드(401)로 정의한다. 복수의 엔드노드들(401~404) 중에서 통신 유닛(300)으로부터 소프트웨어를 수신한 타겟 엔드노드(401)는 수신된 소프트웨어를 메모리에 저장할 수 있다. 타겟 엔드노드(401)는 소프트웨어의 수신 및 및 소프트웨어를 메모리에 저장하는 동작을 차량의 주행 중에 수행될 수 있다.
여기서, 차량의 주행 중에 타겟 엔드노드(401)의 소프트웨어의 업데이트가 이루어지는 경우, 소프트웨어 업데이트 중에는 타겟 엔드노드(401)가 정상적으로 동작하지 않게 된다. 따라서, 소프트웨어 업데이트로 인해 타겟 엔드노드(401)의 동작 불능을 방지하기 위해서, 타겟 엔드노드(401)는 소프트웨어의 업데이트를 바로 수행하지 않고, 기 설정된 예약 시간에 소프트웨어의 업데이트가 이루어질 수 있도록 메모리에 소프트웨어를 저장할 수 있다.
타겟 엔드노드(401)는 차량의 시동이 꺼졌는지 판단하고, 시동이 꺼진 상태에서 소프트웨어 업데이트 시간에 메모리에 저장된 소프트웨어의 업데이트를 수행할 수 있다. 이때, 타겟 엔드노드(401)는 예약 시간에 웨이크업하여, 타겟 엔드노드(401)의 PHY 계층에 전력이 공급되도록 할 수 있다. 이때, 타겟 엔드노드(401)는 통신 유닛(300)으로 링크업(linkup)과 웨이크업 요청(wakeup request)를 전송할 수 있다.
타겟 엔드노드(401)는 소프트웨어의 업데이트 수행 후, 재 부팅을 수행하고, 소프트웨어의 업데이트가 정상적으로 수행되었는지 점검할 수 있다.
타겟 엔드노드(401)는 소프트웨어의 업데이트에 오류가 발생한 경우, 이전 소프트웨어를 복구할 수 있다. 반면, 타겟 엔드노드(401)는 소프트웨어의 업데이트가 정상적으로 수행된 경우에는 업데이트를 완료시킬 수 있다. 이때, 타겟 엔드노드(401)는 소프트웨어의 업데이트 결과를 통신 유닛(300)으로 전송할 수 있다.
여기서, 통신 유닛(300)은 타겟 엔드노드(401)에서 수신된 소프트웨어 업데이트 결과에 기초하여, 타겟 엔드노드(401)에서 소프트웨어의 업데이트가 성공한 경우에는 소프트웨어 센터(500)로부터 동일한 버전의 소프트웨어를 다운로드 하지 않을 수 있다. 한편, 통신 유닛(300)은 타겟 엔드노드(401)에서 소프트웨어의 업데이트가 실패한 경우에는 소프트웨어 센터(500)로부터 동일한 버전의 소프트웨어를 다시 다운로드 할 수 있다.
본 발명에서, 소프트웨어의 업데이트 시 타겟 엔드노드(401)를 제외한 다른 엔드노드들(402~404)이 웨이크업되지 않도록, 타겟 엔드노드(410)는 통신 유닛(300)으로 네트워크 요청(Network Request)의 전송방지를 요청할 수 있다.
여기서, 타겟 엔드노드(401)는 다음의 2가지 시점 중 적어도 하나의 시점에 통신 유닛(300)으로 네트워크 요청(Network Request)의 전송방지를 요청할 수 있다.
첫 번째, 타겟 엔드노드(401)는 업데이트 예약 시간에 웨이크업 되면서 PHY 계층에 전원을 공급함과 아울러, PHY 계층의 PCS(Physical Coding Sublayer)를 제어하여 네트워크 요청(Network Request)이 통신 유닛(300) 또는 다른 엔드노드들(402~404)로 전송되지 않도록 할 수 있다. 다른 예로서, 타겟 엔드노드(401)는 업데이트 예약 시간에 웨이크업 되면서 PHY 계층에 전원을 공급함과 아울러, 타겟 엔드노드(401)는 통신 유닛(300)으로 네트워크 요청(Network Request)의 전송방지를 요청할 수 있다. 즉, 타겟 엔드노드(401)는 통신 유닛(300) 또는 다른 엔드노드들(402~404)로의 네트워크 요청 전송을 방지할 수 있다.
두 번째, 타겟 엔드노드(401)는 소프트웨어의 업데이트 동작을 수행한 이후, 소프트웨어 업데이트가 정상적으로 수행되었는지를 확인하기 위해서 재 부팅을 수행할 수 있다. 타겟 엔드노드(401)는 재 부팅을 수행한 후, PHY 계층에 전원을 공급함과 아울러, PHY 계층의 PCS(Physical Coding Sublayer)를 제어하여 네트워크 요청(Network Request)이 통신 유닛(300) 또는 다른 엔드노드들(402~404)로 전송되지 않도록 할 수 있다. 다른 예로서, 타겟 엔드노드(401)는 업데이트 예약 시간에 웨이크업 되면서 PHY 계층에 전원을 공급함과 아울러, 통신 유닛(300)으로 네트워크 요청(Network Request)의 전송방지를 요청할 수 있다.
통신 유닛(300)은 타겟 엔드노드(401)에서 네트워크 요청(예를 들면, Network Management message: NM 메시지)의 전송방지 요청이 수신되면 PHY 계층에 배치된 PCS(Physical Coding Sublayer)를 제어하여 네트워크 요청이 다른 엔드노드(402~404)들로 전송되지 않도록 한다. 한편, 다른 예로서, 통신 유닛(300)은 타겟 엔드노드(401)에서 네트워크 요청(예를 들면, Network Management message: NM 메시지)의 전송방지 요청이 수신되면 각 엔드노드들(402~404)의 PHY 단에 배치된 PCS(Physical Coding Sublayer)를 제어하여 네트워크 요청이 전송되지 않도록 할 수 있다.
이를 통해, 소프트웨어의 업데이트 시, 타겟 엔드노드(401)를 제외한 다른 엔드노드들(402~404)이 웨이크업되지 않도록 할 수 있다. 즉, 타겟 엔드노드(401)의 소프트웨어 업데이트 시, 다른 엔드노드들(402~404)이 웨이크업 되는 차량의 전력 소모가 증가하게 됨으로, 이를 방지하기 위해서 통신 유닛(300)은 타겟 엔드노드(401)만 웨이크업 시킬 수 있다.
도 4는 본 발명의 실시 예에 따른 차량의 소프트웨어 업데이트 방법을 나타내는 도면이다.
도 4를 참조하면, 차량에 배치된 통신 유닛(300)은 통신 모뎀을 이용하여 소프트웨어 센터(500)로부터 소프트웨어를 다운로드 할 수 있다(S10). 여기서, 통신 유닛(300)으로 텔레매틱스(telematics) 또는 멀티미디어 헤드 유닛이 적용될 수 있으며, 차량의 주행 중에 소프트웨어의 다운로드가 이루어질 수 있다.
이어서, 통신 유닛(300)은 다운로드 된 소프트웨어가 차량에 배치된 복수의 엔드노드 중 어느 엔드노드에 해당하는지 판단할 수 있다. 그리고, 통신 유닛(300)은 판단 결과에 기초하여 소프트웨어의 업데이트가 필요한 타겟 엔드노드(401)로 소프트웨어를 전송할 수 있다(S20). 차량이 주행일 때 타겟 엔드노드(401)의 PHY 계층은 노멀(normal) 상태이며, 타겟 엔드노드(401)는 통신 유닛(300)으로부터 소프트웨어를 수신할 수 있다.
이어서, 통신 유닛(300)으로부터 소프트웨어를 수신한 타겟 엔드노드(401)는 수신된 소프트웨어를 메모리에 저장할 수 있다(S30). 이때, 타겟 엔드노드(401)는 소프트웨어의 업데이트를 바로 수행하지 않고, 기 설정된 예약 시간에 소프트웨어의 업데이트가 이루어질 수 있도록 메모리에 소프트웨어를 저장할 수 있다.
이어서, 통신 유닛(300)은 업데이트 예약 시간을 설정할 수 있다. 이때, 이전에 설정했던 업데이트 예약 시간을 그대로 유지할 수도 있고, 사용자로부터 새로운 업데이트 예약 시간을 입력 받아 새롭데 업데이트 예약 시간을 설정할 수도 있다.
이어서, 통신 유닛(300)은 설정된 업데이트 예약 시간에 대한 정보를 타겟 엔드노드(401)로 전송할 수 있다(S40). 이를 통해, 예약 시간에 타겟 엔드노드(401)가 웨이크업 될 수 있도록 할 수 있다. 차량의 주행이 완료된 후 시동이 꺼지면 타겟 엔드노드(401)는 PHY 계층을 노멀(normal) 상태에서 슬립(sleep) 상태로 전환시킬 수 있다.
여기서, 슬립 상태의 타겟 엔드노드(401)는 설정된 예약 시간이 되면 PHY 계층을 슬립(sleep) 상태에서 준비(ready)로 전환시킬 수 있다. 타겟 엔드노드(401)는 예약 시간에 웨이크업하여 타겟 엔드노드(401)의 PHY 계층에 전력을 공급되도록 할 수 있다. 타겟 엔드노드(401)는 통신 유닛(300)으로 링크업(linkup)과 웨이크업 요청(wakeup request)를 전송할 수 있다.
이때, 타겟 엔드노드(401)는 다른 엔드노드들이 웨이크업되지 않도록, PHY 계층에 배치된 PCS(Physical Coding Sublayer)를 제어하여 네트워크 요청(Network Request)이 통신 유닛(300) 또는 다른 엔드노드들(402~404)로 전송되지 않도록 할 수 있다.
다른 예로서, 타겟 엔드노드(401)는 다른 엔드노드들이 웨이크업되지 않도록, 통신 유닛(300)으로 네트워크 요청(Network Request)의 전송방지를 요청할 수 있다. 통신 유닛(300)은 타겟 엔드노드(401)에서 네트워크 요청의 전송방지가 수신되면 통신 유닛(300)의 PHY 계층에 배치된 PCS(Physical Coding Sublayer)를 제어하여 네트워크 요청이 다른 엔드노드들(402~404)로 전송되지 않도록 한다.
이를 통해, 소프트웨어의 업데이트 시, 타겟 엔드노드(401)를 제외한 다른 엔드노드들(402~404)이 웨이크업되지 않도록 할 수 있다.
타겟 엔드노드(401)를 웨이크업은 차량의 시동이 꺼진 상태, 즉, 차량이 주행하지 않는 상태에서 이루어 질 수 있다. 만약, 업데이트 예약 시간이 되었더라도 차량의 시동이 켜진 상태인 경우에는 타겟 엔드노드(401)의 소프트웨어의 업데이트가 수행되지 않도록 한다.
이어서, 타겟 엔드노드(401)는 메모리에 저장된 소프트웨어의 업데이트를 수행할 수 있다(S60). 이때, 차량의 시동이 꺼져 차량이 주행하지 않는 상태에서 타겟 엔드노드(401)에서의 소프트웨어의 업데이트가 이루질 수 있다.
이어서, 타겟 엔드노드(401)는 소프트웨어의 업데이트가 정상적으로 수행된 경우에는 업데이트를 완료시킬 수 있다(S70). 한편, 타겟 엔드노드(401)는 소프트웨어의 업데이트에 오류가 발생한 경우, 이전 소프트웨어를 복구할 수 있다. 타겟 엔드노드(401)는 소프트웨어의 업데이트 결과를 통신 유닛(300)으로 전송할 수 있다.
한편, S50의 설명에서 타겟 엔드노드(401)가 통신 유닛(300)으로 네트워크 요청(Network Request)의 전송방지를 요청할 수 있는 것으로 설명하였다. 그러나 이에 한정되지 않고 본 발명의 다른 예로서, S60 이후에 타겟 엔드노드(401)는 소프트웨어의 업데이트 동작을 수행한 이후, 소프트웨어 업데이트가 정상적으로 수행되었는지를 확인하기 위해서 재 부팅을 수행할 수 있다. 타겟 엔드노드(401)는 재 부팅을 수행한 후 PHY 계층에 전원을 공급함과 아울러, 통신 유닛(300)으로 네트워크 요청(Network Request)의 전송방지를 요청할 수 있다. 소프트웨어의 업데이트가 완료될 때까지 타겟 엔드노드(401)의 PHY 계층은 준비(ready) 상태를 유지할 수 있다. 타겟 엔드노드(401)는 소프트웨어의 업데이트가 완료된 후, PHY 계층을 준비(ready) 상태에서 슬립(sleep) 상태로 전환시킬 수 있다.
도 5는 차량의 소프트웨어 업데이트 방법의 일 예로서, 통신유닛과 타겟 엔드노드의 동작을 나타내는 도면이다.
도 5를 참조하면, 차량에 배치된 통신 유닛(300)은 차량이 주행 중인지 판단한다(S110).
S110의 판단 결과, 차량이 주행 중인 경우, 통신 유닛(300)은 통신 모뎀을 이용하여 소프트웨어 센터(500)로부터 차량에 배치된 엔드노드들의 소프트웨어를 다운로드 할 수 있다(S120). 한편, S110의 판단 결과, 차량이 주행하지 않는 경우, 통신 유닛(300)은 S110 이전 단계로 돌아가 차량이 주행 중인지를 다시 판단할 수 있다.
여기서, 통신 유닛(300)으로 텔레매틱스(telematics) 또는 멀티미디어 헤드 유닛이 적용될 수 있으며, 차량의 주행 중에 소프트웨어의 다운로드가 이루어질 수 있다. 또한, 차량에 배치된 엔드노드(401~404)들 각각은 차량의 제어장치(예로서, 브레이크 제어장치, 현가 제어장치, 속도 제어장치 등)가 될 수 있다.
이어서, 통신 유닛(300)은 다운로드 된 소프트웨어가 차량에 배치된 복수의 엔드노드 중 어느 엔드노드에 해당하는지 판단할 수 있다. 그리고, 통신 유닛(300)은 판단 결과에 기초하여 소프트웨어의 업데이트가 필요한 타겟 엔드노드(401)로 소프트웨어를 전송할 수 있다(S130). 이때, 통신 유닛(300)은 차량의 주행 중인 경우에 타겟 엔드노드(401)로 소프트웨어를 전송할 수 있다. 차량이 주행일 때 타겟 엔드노드(401)의 PHY 계층은 노멀(normal) 상태이며, 타겟 엔드노드(401)는 통신 유닛(300)으로부터 소프트웨어를 수신할 수 있다.
이어서, 통신 유닛(300)으로부터 소프트웨어를 수신한 타겟 엔드노드(401)는 수신된 소프트웨어를 메모리에 저장할 수 있다(S140). 이때, 차량의 주행 중에 타겟 엔드노드(401)의 소프트웨어의 업데이트가 이루어지는 경우, 소프트웨어 업데이트 중에는 타겟 엔드노드(401)가 정상적으로 동작하지 않게 된다. 따라서, 소프트웨어 업데이트로 인해 타겟 엔드노드(401)의 동작 불능을 방지하기 위해서, 타겟 엔드노드(401)는 소프트웨어의 업데이트를 바로 수행하지 않고, 기 설정된 예약 시간에 소프트웨어의 업데이트가 이루어질 수 있도록 메모리에 소프트웨어를 저장할 수 있다. 타겟 엔드노드(410)는 설정된 예약 시간에 차량이 주행 중인 경우에는 소프트웨어의 업데이트를 수행하지 않고, 차량이 주행하지 않는 경우에 소프트웨어의 업데이트를 수행할 수 있다.
이어서, 통신 유닛(300)은 업데이트 예약 시간을 설정할 수 있다(S150). 이때, 통신 유닛(300)은 이전에 설정했던 업데이트 예약 시간을 그대로 유지할 수도 있고, 사용자로부터 새로운 업데이트 예약 시간을 입력 받아 새롭데 업데이트 예약 시간을 설정할 수도 있다. 이를 위해서, 통신 유닛(300)은 디스플레이 화면에 업데이트 예약 시간의 유지 또는 변경을 위한 메뉴를 표시하여 사용자로부터 업데이트 예약 시간의 유지 또는 변경에 대한 정보를 입력 받을 수 있다. 그리고, 통신 유닛(300)은 설정된 업데이트 예약 시간을 타겟 엔드노드(401)로 전송할 수 있다.
이어서, 타겟 엔드노드(401)는 차량의 시동이 꺼졌는지 판단한다(S160). 위에서 설명했듯이 차량의 주행 중에 타겟 엔드노드(401)의 소프트웨어 업데이트가 이루어지면 타겟 엔드노드(401)가 정상적으로 동작하지 않을 수 있음으로, 이를 방지하기 위해서, 타겟 엔드노드(401)는 소프트웨어의 업데이트 전에 차량의 시동이 꺼졌는지를 판단 할 수 있다.
S160의 판단 결과, 차량의 시동이 꺼지지 않은 경우, 타겟 엔드노드(401)는 S160 이전 단계로 돌아가 차량의 시동이 꺼졌는지를 다시 판단 할 수 있다.
한편, S160의 판단 결과, 차량의 시동이 꺼진 경우, 타겟 엔드노드(401)는 PHY 계층을 노멀(normal) 상태에서 슬립(sleep) 상태로 전환시킬 수 있다.
타겟 엔드노드(401)는 현재 시간이 업데이트 예약 시간이 되었는지 판단할 수 있다(S170).
S170의 판단 결과, 현재 시간이 업데이트 예약 시간이 아닌 경우, 타겟 엔드노드(401)은 S170 이전 단계로 돌아가 현재 시간이 업데이트 예약 시간이 되었는지 다시 판단할 수 있다.
한편, S170의 판단 결과, 현재 시간이 업데이트 예약 시간인 경우, 타겟 엔드노드(401)는 PHY 계층을 슬립(sleep) 상태에서 준비(ready)로 전환시킬 수 있다. 타겟 엔드노드(401)는 설정된 업데이트 예약 시간에 ECU를 웨이크업 시킬 수 있다(S180).
여기서, 타겟 엔드노드(401)는 예약 시간에 웨이크업하여 타겟 엔드노드(401)의 PHY 계층에 전력을 공급되도록 할 수 있다. 타겟 엔드노드(401)는 통신 유닛(300)으로 링크업(linkup)과 웨이크업 요청(wakeup request)를 전송할 수 있다.
이때, 타겟 엔드노드(401)는 다른 엔드노드들(402~404)이 웨이크업되지 않도록, PHY 계층에 배치된 PCS(Physical Coding Sublayer)를 제어하여 네트워크 요청(Network Request)이 통신 유닛(300) 또는 다른 엔드노드들(402~404)로 전송되지 않도록 할 수 있다.
다른 예로서, 타겟 엔드노드(401)는 다른 엔드노드들이 웨이크업되지 않도록, 통신 유닛(300)으로 네트워크 요청(Network Request)의 전송방지를 요청할 수 있다. 통신 유닛(300)은 타겟 엔드노드(401)에서 네트워크 요청의 전송방지가 수신되면 통신 유닛(300)의 PHY 계층에 배치된 PCS(Physical Coding Sublayer)를 제어하여 네트워크 요청이 다른 엔드노드들(402~404)로 전송되지 않도록 한다.
또 다른 예로서, 타겟 엔드노드(401)는 다른 엔드노드들(402~404)이 웨이크업되지 않도록, 다른 엔드노드(402~404)로 네트워크 요청(Network Request)의 전송방지를 요청할 수도 있다. 이를 통해, 소프트웨어의 업데이트 시, 타겟 엔드노드(401)를 제외한 다른 엔드노드들이 웨이크업되지 않도록 할 수 있다.
즉, 소프트웨어의 예약 시간에 타겟 엔드노드(401)의 PHY 계층에 전력이 공급되어 타겟 엔드노드(401)의 ECU를 웨이크업 시키고, 타겟 엔드노드(401)를 제외한 다른 엔드노드들(402~404)은 웨이크업 시키지 않는다. 즉, 통신 유닛(300)은 소프트웨어 업데이트가 필요한 타겟 엔드노드(401)만 웨이크업 시키고, 네트워크를 슬립 상태로 유지시켜 타겟 엔드노드(401)를 제외한 다른 엔드노드들은 웨이크업 시키지 않는다(S190). 여기서, 타겟 엔드노드(401)는 PHY 계층은 준비(ready) 상태를 유지하고, 네트워크의 다른 엔드노드들(402~404)은 슬립(sleep) 상태를 유지한다.
이어서, 타겟 엔드노드(401)의 ECU는 메모리에 저장된 소프트웨어의 업데이트를 수행할 수 있다(S200). 이때, 차량의 시동이 꺼져 차량이 주행하지 않는 상태에서 타겟 엔드노드(401)에서의 소프트웨어의 업데이트가 이루질 수 있다.
이어서, 타겟 엔드노드(401)는 소프트웨어의 업데이트 수행 후, 재 부팅을 수행할 수 있다(S210).
이어서, 타겟 엔드노드(401)는 소프트웨어의 업데이트가 정상적으로 수행되었는지 점검할 수 있다(S220).
이어서, 타겟 엔드노드(401)는 소프트웨어의 업데이트의 성공 여부를 판단할 수 있다(S230).
이어서, S230의 판단 결과, 타겟 엔드노드(401)는 소프트웨어의 업데이트에 오류가 발생한 경우, 이전 소프트웨어를 복구할 수 있다(S240). 이때, 시동이 켜진 이후에 타겟 엔드노드(401)가 정상적으로 동작할 수 있도록 업데이트 오류가 발생한 소프트웨어는 삭제하고, 이전 소프트웨어를 복구할 수 있다.
한편, S230의 판단 결과, 타겟 엔드노드(401)는 소프트웨어의 업데이트가 정상적으로 수행된 경우에는 업데이트를 완료시킬 수 있다(S250).
이어서, 타겟 엔드노드(401)는 소프트웨어의 업데이트 결과를 통신 유닛(300)으로 전송할 수 있다. 이때, 타겟 엔드노드(401)는 차량의 시동이 켜진 이후에 소프트웨어의 업데이트 결과를 통신 유닛(300)으로 전송할 수 있다.
소프트웨어의 업데이트가 완료될 때까지 타겟 엔드노드(401)의 PHY 계층은 준비(ready) 상태를 유지할 수 있다. 타겟 엔드노드(401)는 소프트웨어의 업데이트가 완료된 후, PHY 계층을 준비(ready) 상태에서 슬립(sleep) 상태로 전환시킬 수 있다.
이후, 통신 유닛(300)은 타겟 엔드노드(401)의 소프트웨어 업데이트 결과에 기초하여, 타겟 엔드노드(401)에서 소프트웨어의 업데이트가 성공한 경우에는 소프트웨어 센터(500)로부터 동일한 버전의 소프트웨어를 다운로드 하지 않을 수 있다. 한편, 통신 유닛(300)은 타겟 엔드노드(401)에서 소프트웨어의 업데이트가 실패한 경우에는 소프트웨어 센터(500)로부터 동일한 버전의 소프트웨어를 다시 다운로드 할 수 있다. 이때, 통신 유닛(300)은 S120 내지 S250 동작을 재 수행하여 타겟 엔드노드(401)의 소프트웨어 업데이트를 재 수행할 수 있다.
한편, S180의 설명에서 타겟 엔드노드(401)가 통신 유닛(300)으로 네트워크 요청(Network Request)의 전송방지를 요청할 수 있는 것으로 설명하였다. 그러나 이에 한정되지 않고 본 발명의 다른 예로서, S210에서 타겟 엔드노드(401)는 소프트웨어의 업데이트 동작을 수행한 이후, 소프트웨어 업데이트가 정상적으로 수행되었는지를 확인하기 위해서 재 부팅을 수행할 수 있다. 타겟 엔드노드(401)는 재 부팅을 수행한 후 PHY 계층에 전원을 공급함과 아울러, PHY 계층에 배치된 PCS(Physical Coding Sublayer)를 제어하여 네트워크 요청(Network Request)이 통신 유닛(300) 또는 다른 엔드노드들(402~404)로 전송되지 않도록 할 수 있다. 다른 예로서, 타겟 엔드노드(401)는 다른 엔드노드들이 웨이크업되지 않도록, 통신 유닛(300)으로 네트워크 요청(Network Request)의 전송방지를 요청할 수 있다.
타겟 엔드노드(401)의 소프트웨어를 예약 업데이트 방법뿐만 아니라, 차량진단장치(On Board Diagnostics: OBD)를 이용하여 타겟 엔드노드(401)의 소프트웨어를 업데이트할 때에도 도 5를 참조하여 설명한 차량의 소프트웨어 업데이트 방법을 적용할 수 있다. 이 경우, 차량의 시동이 꺼진 상태에서 차량진단장치(OBD)를 차량의 네트워크에 연결하여 타겟 엔드노드(401)를 웨이크업 시킨 후, S190 내지 S250 동작을 수행하여 타겟 엔드노드(401)의 소프트웨어를 업데이트 할 수 있다. 이때, 타겟 엔드노드(401)는 다른 엔드노드들(402~404)이 웨이크업되지 않도록, PHY 계층에 배치된 PCS(Physical Coding Sublayer)를 제어하여 네트워크 요청(Network Request)이 통신 유닛(300) 또는 다른 엔드노드들(402~404)로 전송되지 않도록 할 수 있다.
다른 예로서, 타겟 엔드노드(401)는 다른 엔드노드들(402~404)이 웨이크업되지 않도록, 통신 유닛(300)으로 네트워크 요청(Network Request)의 전송방지를 요청할 수 있다. 통신 유닛(300)은 타겟 엔드노드(401)에서 네트워크 요청의 전송방지가 수신되면 PHY 계층에 배치된 PCS(Physical Coding Sublayer)를 제어하여 네트워크 요청이 다른 엔드노드들(402~404)로 전송되지 않도록 한다.
본 발명의 실시 예에 따른 차량의 소프트웨어 업데이트 방법 및 장치는 소프트웨어의 업데이트 시, 이더넷 네트워크에 연결된 복수의 엔드노드 중에서 타겟 엔드노드만을 웨이크업 시켜 소프트웨어의 업데이트로 인한 차량의 전력 소모를 줄일 수 있다.
또한, 본 발명의 실시 예에 따른 차량의 소프트웨어 업데이트 방법 및 장치는 소프트웨어의 업데이트 시, 차량의 시동이 꺼진 상태에서 타겟 엔드노드의 소프트웨어 업데이트가 수행되도록 함으로써 소프트웨어 업데이트의 오동작을 방지할 수 있다.
또한, 본 발명의 실시 예에 따른 차량의 소프트웨어 업데이트 방법 및 장치는 타겟 엔드노드에서의 소프트웨어 업데이트 결과를 통신 유닛이 수신하고, 통신 유닛이 소프트웨어 업데이트 결과에 기초하여 소프트웨어 업데이트를 재시도 할 수 있다.
본 발명에 따른 방법들은 다양한 컴퓨터 수단을 통해 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 컴퓨터 판독 가능 매체에 기록되는 프로그램 명령은 본 발명을 위해 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.
컴퓨터 판독 가능 매체의 예에는 롬(rom), 램(ram), 플래시 메모리(flash memory) 등과 같이 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러(compiler)에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터(interpreter) 등을 사용해서 컴퓨터에 의해 실행될 수 있는 고급 언어 코드를 포함한다. 상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 적어도 하나의 소프트웨어 모듈로 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상 실시 예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
100: 게이트웨이
110, 110-1, 110-2, 120, 130: 스위치
111, 112, 113, 121, 122, 123, 131, 132, 133: 엔드노드
200: 통신 노드
210: PHY 계층 유닛
220: 컨트롤러 유닛
300: 통신 유닛
401~404: 엔드노드
500: 소프트웨어 센터

Claims (20)

  1. 이더넷(ethernet) 기반의 차량 네트워크(network)를 구성하는 제1 통신 노드의 동작 방법으로서,
    상기 제1 통신 노드의 소프트웨어가 업데이트 되는 업데이트 예약 시간에 상기 제1 통신 노드에 포함된 PHY 계층(physical layer)이 슬립(sleep) 상태에서 준비(ready) 상태로 전환하는 단계;
    상기 준비 상태에서 상기 PHY 계층이 PCS(Physical Coding Sub-layer)를 제어하여 상기 차량 네트워크에 접속된 적어도 하나의 다른 노드들로 네트워크 요청을 전송하는 것을 방지하는 단계; 및
    상기 제1 통신 노드에 포함된 컨트롤러에 의하여 상기 업데이트 예약 시간에 상기 소프트웨어의 업데이트를 수행하는 단계;를 포함하며,
    상기 PHY 계층은 상기 슬립 상태, 상기 준비 상태 및 노멀(normal) 상태 중 하나에서 작동하며, 상기 PHY 계층은 상기 노멀 상태에서 상기 PCS를 제어하여 상기 적어도 하나의 다른 노드들로 네트워크 요청을 전송하는,
    제1 통신 노드의 동작 방법.
  2. 삭제
  3. 청구항 1에 있어서,
    상기 제1 통신 노드의 메모리에 업데이트할 소프트웨어가 저장되어 있을 때 상기 소프트웨어의 업데이트를 수행하는,
    제1 통신 노드의 동작 방법.
  4. 청구항 1에 있어서,
    상기 차량 네트워크에 접속된 제2 통신 노드로부터 수신한 업데이트 예약 시간에 상기 소프트웨어의 업데이트를 수행하는,
    제1 통신 노드의 동작 방법.
  5. 청구항 4에 있어서,
    차량의 시동이 꺼진 경우에 상기 소프트웨어의 업데이트를 수행하는,
    제1 통신 노드의 동작 방법.
  6. 청구항 5에 있어서,
    차량이 시동이 켜진 이후 상기 소프트웨어의 업데이트 결과를 상기 제2 통신 노드로 전송하는 단계를 더 포함하는,
    제1 통신 노드의 동작 방법.
  7. 청구항 5에 있어서,
    상기 소프트웨어의 업데이트를 수행한 후, 재 부팅하여 상기 소프트웨어의 업데이트를 점검하는 단계를 더 포함하는,
    제1 통신 노드의 동작 방법.
  8. 청구항 7에 있어서,
    상기 소프트웨어의 업데이트가 실패한 경우, 업데이트 이전의 소프트웨어를 복구하는 단계를 더 포함하는,
    제1 통신 노드의 동작 방법.
  9. 이더넷(ethernet) 기반의 차량 네트워크(network)를 구성하는 통신 유닛의 동작 방법으로서,
    상기 통신 유닛의 소프트웨어가 업데이트되는 업데이트 예약 시간에 상기 통신 유닛에 포함된 PHY 계층(Physical layer)이 슬립(sleep) 상태에서 준비(ready) 상태로 전환하는 단계; 및
    상기 준비 상태에서 상기 PHY 계층이 PCS(Physical Coding Sub-layer)를 제어하여 상기 차량 네트워크에 접속된 적어도 하나의 통신 노드들로 네트워크 요청 전송을 방지하는 단계; 및
    상기 통신 유닛에 포함된 컨트롤러가 상기 통신 유닛의 업데이트를 상기 업데이트 예약 시간에 수행하는 단계를 포함하며,
    상기 PHY 계층은 상기 슬립 상태, 상기 준비 상태 및 노멀(normal) 상태 중 하나에서 작동하며, 상기 PHY 계층은 상기 노멀 상태에서 상기 PCS를 제어하여 상기 적어도 하나의 통신 노드들로 네트워크 요청을 전송하는,
    통신 유닛의 동작 방법.
  10. 청구항 9에 있어서,
    소프트웨어 센터로부터 소프트웨어를 다운로드 하는 단계를 더 포함하는,
    통신 유닛의 동작 방법.
  11. 삭제
  12. 청구항 10에 있어서,
    상기 업데이트 예약 시간에 상기 소프트웨어를 다운로드 하는,
    통신 유닛의 동작 방법.
  13. 청구항 10에 있어서,
    차량의 주행 중 상기 소프트웨어를 다운로드 하는,
    통신 유닛의 동작 방법.
  14. 청구항 10에 있어서,
    상기 차량 네트워크에 접속된 특정 통신 노드의 소프트웨어를 다운로드 한 경우,
    상기 소프트웨어를 상기 특정 통신 노드로 전송하는 단계를 더 포함하는,
    통신 유닛의 동작 방법.
  15. 청구항 14에 있어서,
    상기 특정 통신 노드로부터 상기 소프트웨어의 업데이트 결과를 수신하는 단계를 더 포함하는,
    통신 유닛의 동작 방법.
  16. 이더넷(ethernet) 기반의 차량 네트워크(network)를 구성되어 프로그램의 업데이트를 수행하는 통신 노드로서,
    PHY 계층(Physical layer) 프로세서를 포함하는 PHY 계층 유닛;
    컨트롤러 프로세서를 포함하는 컨트롤러 유닛; 및
    상기 PHY 계층 유닛 및 상기 컨트롤러 유닛 각각에 의해 수행되는 적어도 하나의 명령이 저장된 메모리를 포함하고,
    상기 적어도 하나의 명령은,
    상기 통신 노드의 소프트웨어가 업데이트되는 업데이트 예약 시간에 상기 PHY 계층 유닛이 슬립(sleep) 상태에서 준비 상태로 전환하고,
    상기 준비 상태에서 상기 PHY 계층 유닛이 PCS(Physical Coding Sub-layer)를 제어하여 상기 차량 네트워크에 접속된 적어도 하나의 다른 통신 노드들로 네트워크 요청 전송을 방지하며, 그리고
    상기 컨트롤러 유닛이 상기 통신 노드의 업데이트를 상기 업데이트 예약 시간에 수행하고,
    상기 PHY 계층 유닛이 상기 슬립 상태, 상기 준비 상태 및 노멀(normal) 상태 중 하나에서 작동하며, 상기 PHY 계층 유닛은 상기 노멀 상태에서 상기 PCS를 제어하여 상기 적어도 하나의 다른 통신 노드들로 네트워크 요청을 전송하는,
    통신 노드.
  17. 청구항 16에 있어서,
    상기 적어도 하나의 명령은,
    차량의 주행 중 차량에 배치된 통신 유닛으로부터 소프트웨어를 수신하고,
    상기 수신된 소프트웨어를 메모리에 저장하고, 그리고
    상기 통신 유닛으로부터 상기 소프트웨어의 업데이트 예약 시간을 수신하는,
    통신 노드.
  18. 청구항 17에 있어서,
    상기 적어도 하나의 명령은,
    상기 차량의 시동이 꺼진 이후에 상기 소프트웨어를 업데이트 하는,
    통신 노드.
  19. 청구항 16에 있어서,
    상기 적어도 하나의 명령은,
    상기 소프트웨어를 업데이트 한 후, 재 부팅하여 상기 소프트웨어의 업데이트를 점검하는,
    통신 노드.
  20. 청구항 18에 있어서,
    상기 적어도 하나의 명령은,
    상기 소프트웨어의 업데이트가 실패한 경우, 업데이트 이전의 소프트웨어를 복구하는,
    통신 노드.
KR1020170123231A 2016-10-07 2017-09-25 차량의 소프트웨어 업데이트 방법 및 장치 KR102313599B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US15/727,300 US10630538B2 (en) 2016-10-07 2017-10-06 Software update method and apparatus for vehicle
DE102017123252.4A DE102017123252A1 (de) 2016-10-07 2017-10-06 Softwareaktualisierungsverfahren und -vorrichtung für Fahrzeug

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020160130001 2016-10-07
KR20160130001 2016-10-07

Publications (2)

Publication Number Publication Date
KR20180038973A KR20180038973A (ko) 2018-04-17
KR102313599B1 true KR102313599B1 (ko) 2021-10-18

Family

ID=62083102

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170123231A KR102313599B1 (ko) 2016-10-07 2017-09-25 차량의 소프트웨어 업데이트 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102313599B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200142945A (ko) 2019-06-14 2020-12-23 현대자동차주식회사 자동차 및 그를 위한 사용자 설정 메뉴 관리 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050228856A1 (en) * 1999-11-22 2005-10-13 Swildens Eric S Distributed on-demand computing system
US20150169311A1 (en) * 2013-12-18 2015-06-18 International Business Machines Corporation Automated Software Update Scheduling

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050228856A1 (en) * 1999-11-22 2005-10-13 Swildens Eric S Distributed on-demand computing system
US20150169311A1 (en) * 2013-12-18 2015-06-18 International Business Machines Corporation Automated Software Update Scheduling

Also Published As

Publication number Publication date
KR20180038973A (ko) 2018-04-17

Similar Documents

Publication Publication Date Title
KR102338503B1 (ko) 차량 네트워크에서 웨이크업 신호의 송수신 방법
US10630538B2 (en) Software update method and apparatus for vehicle
KR102589373B1 (ko) 차량 네트워크에서 통신 노드의 웨이크업 방법 및 장치
US11336470B2 (en) Method and apparatus for transmitting and receiving wake-up signal in vehicle network
KR102357886B1 (ko) 차량 네트워크에서 nm 기능을 지원하는 통신 노드의 동작 방법
CN110535667B (zh) 用于选择性唤醒车辆网络中的通信节点的方法和装置
KR102286050B1 (ko) 차량 네트워크에서 진단 오류 방지를 위한 방법 및 장치
KR102422404B1 (ko) 네트워크에서 전력 공급 방법 및 장치
CN107659494B (zh) 数据处理方法及智能车载网关
KR102292827B1 (ko) 네트워크에서 통신 노드의 동작 방법
KR102355092B1 (ko) 차량 네트워크에서 진단을 위한 통신 노드의 동작 방법
KR20160146055A (ko) 차량 네트워크에서 통신 노드의 동작방법
KR102300764B1 (ko) 차량 네트워크에서 진단 방법 및 장치
US20160366646A1 (en) Operation method of communication node in automotive network
KR20210147495A (ko) 차량 네트워크에서 nm 기능을 이용하는 통신 노드의 동작 방법 및 장치
KR102293037B1 (ko) 네트워크에서 통신 노드의 동작 방법
KR102313599B1 (ko) 차량의 소프트웨어 업데이트 방법 및 장치
KR102355085B1 (ko) 차량 네트워크에서 선택적 웨이크업을 위한 통신 노드의 동작 방법
KR102313636B1 (ko) 차량 네트워크에서 시간 동기화를 위한 통신 노드의 동작 방법
KR102398873B1 (ko) 차량 네트워크의 통신 노드 및 통신 노드의 동작 방법
KR102610921B1 (ko) 차량 네트워크에서 백업 경로를 설정하는 방법 및 장치
KR20200106443A (ko) 차량 네트워크에서 수행되는 데이터 송수신 방법 및 장치

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant