[go: up one dir, main page]

KR20220165059A - 차량의 업데이트 관리 장치 및 그것의 동작 방법, 차량 - Google Patents

차량의 업데이트 관리 장치 및 그것의 동작 방법, 차량 Download PDF

Info

Publication number
KR20220165059A
KR20220165059A KR1020210073543A KR20210073543A KR20220165059A KR 20220165059 A KR20220165059 A KR 20220165059A KR 1020210073543 A KR1020210073543 A KR 1020210073543A KR 20210073543 A KR20210073543 A KR 20210073543A KR 20220165059 A KR20220165059 A KR 20220165059A
Authority
KR
South Korea
Prior art keywords
controller
vehicle
ota server
connection
application
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
KR1020210073543A
Other languages
English (en)
Inventor
조용운
Original Assignee
현대자동차주식회사
기아 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 현대자동차주식회사, 기아 주식회사 filed Critical 현대자동차주식회사
Priority to KR1020210073543A priority Critical patent/KR20220165059A/ko
Priority to US17/497,232 priority patent/US11907702B2/en
Publication of KR20220165059A publication Critical patent/KR20220165059A/ko
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/0252Traffic management, e.g. flow control or congestion control per individual bearer or channel
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/60Context-dependent security
    • H04W12/63Location-dependent; Proximity-dependent
    • 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/0273Traffic management, e.g. flow control or congestion control adapting protocols for flow control or congestion control to wireless environment, e.g. adapting transmission control protocol [TCP]
    • 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/10Flow control between communication endpoints
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/40Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/40Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
    • H04W4/44Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P] for communication between vehicles and infrastructures, e.g. vehicle-to-cloud [V2C] or vehicle-to-home [V2H]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/50Service provisioning or reconfiguring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/60Subscription-based services using application servers or record carriers, e.g. SIM application toolkits
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/22Processing or transfer of terminal data, e.g. status or physical capabilities
    • H04W8/24Transfer of terminal data
    • H04W8/245Transfer of terminal data from a network towards a terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices
    • H04W88/04Terminal devices adapted for relaying to or from another terminal or user
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/18Service support devices; Network management devices
    • H04W88/182Network node acting on behalf of an other network entity, e.g. proxy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W92/00Interfaces specially adapted for wireless communication networks
    • H04W92/04Interfaces between hierarchically different network devices
    • H04W92/10Interfaces between hierarchically different network devices between terminal device and access point, i.e. wireless air interface
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W48/00Access restriction; Network selection; Access point selection
    • H04W48/18Selecting a network or a communication service

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Computer Hardware Design (AREA)
  • Stored Programmes (AREA)

Abstract

본 문서에 개시된 일 실시예에 따른 차량의 업데이트 관리 장치는 차량의 적어도 하나의 제어기와 통신하고, 상기 적어도 하나의 제어기의 소프트웨어 업데이트를 위한 OTA(Over The Air) 서버와 통신하는 통신부와 상기 적어도 하나의 제어기와 상기 OTA 서버의 연결을 중계하고, 상기 적어도 하나의 제어기를 제어하는 컨트롤러를 포함할 수 있다.

Description

차량의 업데이트 관리 장치 및 그것의 동작 방법, 차량{UPDATE MANAGEMENT APPARATUS OF VEHICLE AND OPERATING METHOD OF THE SAME, VEHICLE}
본 문서에 개시된 실시예들은 차량의 업데이트 관리 장치 및 그것의 동작 방법, 차량에 관한 것이다.
차량 관련 기술들의 비약적인 발전에 힘입어 최근에 출시되는 차량에는 ABS, EPS, ADAS 등 다양한 전장 기능을 제어하기 위한 제어기들이 탑재되어 있다. 각각의 제어기들의 유지 및 관리를 위해서는 설치된 소프트웨어의 지속적인 관리능력이 매우 중요한 바, 버그, 결함 및 변화하는 법률과 제도에 신속하고 지속적으로 대응하기 위해서 OTA(Over The Air)를 통한 소프트웨어 업데이트 기술이 개발되고 있다.
자율 주행 기능을 수행하기 위한 제어기들의 소프트웨어의 경우 주행 환경에 따른 잦은 기능 개선, 고객 맞춤형 R&H(Ride & Handling) 캘리브레이션(Calibration) 등으로 인해 다른 제어기들의 소프트웨어보다 업데이트의 빈도수가 높다. 따라서, 자율 주행 기능을 수행하는 제어기들의 효율적인 업데이트를 위한 기술이 필요한 실정이다.
본 문서에 개시된 실시예들의 일 목적은 제어기에 설치된 소프트웨어의 OTA 업데이트를 통합 관리하는 차량의 업데이트 관리 장치를 제공하는데 있다.
본 문서에 개시된 실시예들의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재들로부터 당업자에게 명확하게 이해될 수 있을 것이다.
본 문서에 개시된 일 실시예에 따른 차량의 업데이트 관리 장치는 차량의 적어도 하나의 제어기와 통신하고, 상기 적어도 하나의 제어기의 소프트웨어 업데이트를 위한 OTA(Over The Air) 서버와 통신하는 통신부와 상기 적어도 하나의 제어기와 상기 OTA 서버의 연결을 중계하고, 상기 적어도 하나의 제어기를 제어하는 컨트롤러를 포함할 수 있다.
일 실시예에서, 상기 컨트롤러는, 상기 적어도 하나의 제어기의 적어도 하나의 애플리케이션으로부터 연결 요청을 수신할 수 있고, 상기 연결 요청에 응답하여 상기 적어도 하나의 애플리케이션과 통신을 연결할 수 있다.
일 실시예에서, 상기 컨트롤러는, 상기 차량이 위치한 지역에 기초하여 상기 OTA 서버와 통신을 연결하기 위한 통신 사업자를 선택할 수 있다.
일 실시예에서, 상기 컨트롤러는, 상기 차량이 위치한 지역에 기초하여 연결 정책을 설정할 수 있고, 상기 연결 정책을 기초로 상기 통신 사업자를 통하여 상기 OTA 서버와 통신을 연결할 수 있다.
일 실시예에서, 상기 컨트롤러는, 상기 적어도 하나의 제어기의 적어도 하나의 애플리케이션으로부터 사용자 정보 및 버전 정보를 획득하여 인증할 수 있고, 인증된 상기 사용자 정보 및 상기 버전 정보를 상기 OTA 서버로 전달할 수 있다.
일 실시예에서, 상기 컨트롤러는, 상기 적어도 하나의 제어기와 상기 OTA 서버의 연결을 중계하는 경우, 상기 적어도 하나의 제어기의 적어도 하나의 애플리케이션이 상기 OTA 서버로부터 소프트웨어의 업데이트에 관한 정보를 직접적으로 수신할 수 있도록 중계할 수 있다.
일 실시예에서, 상기 컨트롤러는, 상기 적어도 하나의 제어기와 상기 OTA 서버의 연결을 중계하는 경우, 외부로부터의 상기 차량으로의 접속을 차단할 수 있다.
일 실시예에서, 상기 컨트롤러는, 상기 적어도 하나의 제어기와 상기 OTA 서버의 연결을 중계하는 경우, 무선 데이터의 사용량 또는 상기 무선 데이터의 속도를 확인하고, 상기 무선 데이터의 사용량 또는 상기 무선 데이터의 속도에 기초하여 대역폭 관리 및 흐름 제어를 수행할 수 있다.
일 실시예에서, 상기 컨트롤러는 프록시 서버(Proxy Server)를 포함할 수 있다.
본 문서에 개시된 일 실시예에 따른 차량의 업데이트 관리 장치의 동작 방법은, 차량의 적어도 하나의 제어기와 통신을 연결하는 단계, 상기 적어도 하나의 제어기의 소프트웨어 업데이트를 위한 OTA 서버와 통신을 연결하는 단계 및 상기 적어도 하나의 제어기와 상기 OTA 서버의 연결을 중계하는 단계를 포함할 수 있다.
일 실시예에서, 상기 차량의 적어도 하나의 제어기와 통신을 연결하는 단계는, 상기 적어도 하나의 제어기의 적어도 하나의 애플리케이션으로부터 연결 요청을 수신하는 단계 및 상기 연결 요청에 응답하여 상기 적어도 하나의 애플리케이션과 통신을 연결하는 단계를 포함할 수 있다.
일 실시예에서, 상기 차량이 위치한 지역에 기초하여 상기 OTA 서버와 통신을 연결하기 위한 통신 사업자를 선택하는 단계를 더 포함할 수 있다.
일 실시예에서, 상기 적어도 하나의 제어기의 소프트웨어 업데이트를 위한 OTA 서버와 통신을 연결하는 단계는, 상기 차량이 위치한 지역에 기초하여 연결 정책을 설정하는 단계 및 상기 연결 정책을 기초로 상기 통신 사업자를 통하여 상기 OTA 서버와 통신을 연결하는 단계를 포함할 수 있다.
일 실시예에서, 상기 적어도 하나의 제어기의 적어도 하나의 애플리케이션으로부터 사용자 정보 및 버전 정보를 획득하는 단계, 상기 사용자 정보 및 상기 버전 정보를 인증하는 단계 및 인증된 상기 사용자 정보 및 상기 버전 정보를 상기 OTA 서버로 전달하는 단계를 더 포함할 수 있다.
일 실시예에서, 상기 적어도 하나의 제어기와 상기 OTA 서버의 연결을 중계하는 단계는, 상기 적어도 하나의 제어기의 적어도 하나의 애플리케이션이 상기 OTA 서버로부터 직접적으로 소프트웨어의 업데이트를 위한 정보를 수신하도록 중계할 수 있다.
일 실시예에서, 상기 적어도 하나의 제어기와 상기 OTA 서버의 연결을 중계하는 단계는, 상기 적어도 하나의 제어기와 상기 OTA 서버의 연결을 중계하는 경우, 외부로부터의 상기 차량으로의 접속을 차단할 수 있다.
일 실시예에서, 상기 적어도 하나의 제어기와 상기 OTA 서버의 연결을 중계하는 단계는, 상기 적어도 하나의 제어기와 상기 OTA 서버의 연결을 중계하는 경우, 무선 데이터의 사용량 및 상기 무선 데이터의 속도를 확인하고, 상기 무선 데이터의 사용량 및 상기 무선 데이터의 속도에 기초하여 대역폭 관리 및 흐름 제어를 수행할 수 있다.
본 문서에 개시된 일 실시예에 따른 차량은 차량의 적어도 하나의 제어기 및 상기 적어도 하나의 제어기와 통신하고, 상기 적어도 하나의 제어기의 소프트웨어 업데이트를 위한 OTA 서버와 통신하고, 상기 적어도 하나의 제어기와 상기 OTA 서버의 연결을 중계하고 및 상기 적어도 하나의 제어기를 제어하는 통합 제어기를 포함할 수 있다.
일 실시예에서, 상기 통합 제어기는, 상기 적어도 하나의 제어기로부터 획득한 사용자 정보 및 버전 정보를 인증하고, 인증된 상기 사용자 정보 및 상기 버전 정보를 상기 OTA 서버에 전달할 수 있고, 상기 적어도 하나의 제어기와 상기 OTA 서버의 연결을 중계하는 경우, 상기 적어도 하나의 제어기의 적어도 하나의 애플리케이션이 상기 OTA 서버로부터 직접적으로 소프트웨어의 업데이트에 관한 정보를 수신하도록 중계할 수 있다.
일 실시예에서, 상기 적어도 하나의 제어기는 상기 차량의 자율 주행 기능을 관리하기 위한 적어도 하나의 제어기를 포함할 수 있고, 상기 통합 제어기는, 상기 차량의 자율 주행 기능을 관리하기 위한 적어도 하나의 제어기의 자율 주행 기능을 통합 관리할 수 있고, 프록시 서버(Proxy Server)를 포함할 수 있다.
본 문서에 개시된 일 실시예에 따른 차량의 업데이트 관리 장치는 제어기들의 OTA 업데이트를 통합하여 관리할 수 있다.
도 1은 본 문서에 개시된 일 실시예에 따른 차량을 보여주는 도면이다.
도 2는 본 문서에 개시된 일 실시예에 따른 차량의 업데이트 관리 장치를 보여주는 블록도이다.
도 3은 본 문서에 개시된 일 실시예에 따른 차량의 업데이트 관리 장치의 동작 방법을 보여주는 흐름도이다.
도 4, 도 5 및 도 6는 본 문서에 개시된 일 실시예에 따른 차량의 업데이트 관리 장치의 동작 방법을 더욱 구체적으로 보여주는 흐름도이다.
도 7은 본 문서에 개시된 일 실시예에 따른 차량과 OTA 서버를 보여주는 개념도이다.
도 8은 본 문서에 개시된 일 실시예에 따른 차량의 업데이트 동작을 예시적으로 보여주는 도면이다.
이하, 본 문서에 개시된 실시예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면 상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 문서에 개시된 실시예를 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 문서에 개시된 실시예에 대한 이해를 방해한다고 판단되는 경우에는 그 상세한 설명은 생략한다.
본 문서에 개시된 실시예의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 또한, 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 문서에 개시된 실시예들이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
도 1은 본 문서에 개시된 일 실시예에 따른 차량을 보여주는 도면이다.
도 1을 참조하면 본 문서에 개시된 일 실시예에 따른 차량(1000)은 통합 제어기(1100) 및 적어도 하나의 제어기(1200)를 포함할 수 있다.
통합 제어기(1100)는 차량의 적어도 하나의 제어기와 통신할 수 있다. 예를 들어, 통합 제어기(1100)는 적어도 하나의 제어기(1200)와 차량 통신(ex. CAN 통신)을 할 수 있다.
일 실시예에서, 적어도 하나의 제어기(1200)는 차량의 자율 주행 기능을 수행하는 적어도 하나의 제어기를 포함할 수 있다.
통합 제어기(1100)는 적어도 하나의 제어기(1200)에 포함되는 자율 주행 기능을 수행하는 제어기의 자율 주행 기능을 통합 관리할 수 있다. 구체적으로, 통합 제어기(1100)는 ADAS DRV를 포함할 수 있고, 적어도 하나의 제어기(1200)는 ADAS PRK, ADAS VP, HDM 등을 포함할 수 있다.
통합 제어기(1100)는 적어도 하나의 제어기(1200)의 소프트웨어 업데이트를 위한 OTA 서버와 통신할 수 있다. 예를 들어, 통합 제어기(1100)는 OTA 서버와 무선 통신할 수 있고, 무선 통신을 위하여 통신 사업자를 선택할 수 있다. 여기서, 무선 통신은 와이파이(WIFI), 데이터 통신(LTE, 5G) 중 적어도 하나를 포함할 수 있다. 한편, OTA 서버는 차량(1000) 외부의 클라우드 서버일 수 있다.
통합 제어기(1100)는 적어도 하나의 제어기(1200)와 OTA 서버의 연결을 중계할 수 있다. 예를 들어, 적어도 하나의 제어기(1200)의 적어도 하나의 애플리케이션과 OTA 서버의 연결을 중계할 수 있다. 구체적으로, 통합 제어기(1100)는 적어도 하나의 제어기(1200)의 적어도 하나의 애플리케이션으로부터 획득한 사용자 정보 및 버전 정보를 인증할 수 있고, 인증된 사용자 및 버전 정보를 OTA 서버에 전달할 수 있다. 또한, 통합 제어기(1100)는 적어도 하나의 제어기(1200)와 OTA 서버의 연결을 중계하는 경우에, 적어도 하나의 제어기(1200)의 적어도 하나의 애플리케이션이 OTA 서버로부터 직접적으로 소프트웨어의 업데이트에 관한 정보를 수신하도록 중계할 수 있다.
여기서, 직접적으로 소프트웨어의 업데이트에 관한 정보를 수신한다는 것은, 통합 제어기(1100)에 업데이트에 관한 정보가 통합 제어기(1100)에 저장되지 않고 적어도 하나의 애플리케이션으로 바로 전달되는 것을 의미한다.
적어도 하나의 제어기(1200)는 제1 제어기(1210)를 포함할 수 있다. 이때, 도 1에서는 적어도 하나의 제어기(1200)가 제1 제어기(1210)만을 포함하는 것으로 도시되어 있지만, 이에 한정되는 것은 아니다. 즉, 적어도 하나의 제어기(1200)는 n(n은 2 이상의 자연수)개의 제어기들을 포함하여 구성될 수 있다.
적어도 하나의 제어기(1200)는 적어도 하나의 애플리케이션을 포함할 수 있다. 예를 들어, 적어도 하나의 제어기(1200)는 자율 주행 기능의 수행을 위한 적어도 하나의 애플리케이션이 설치되어 있을 수 있다.
즉, 차량(1000)은 통합 제어기(1100)의 동작으로 적어도 하나의 제어기(1200)와 OTA 서버의 연결을 중계할 수 있고, 적어도 하나의 제어기(1200)의 적어도 하나의 애플리케이션이 직접적으로 OTA 서버와 정보를 주고받을 수 있도록 중계할 수 있다. 차량(1000)은 차량의 독자적인 OTA 관리 제어 기술을 통합 제어기(1100)의 동작으로 구현할 수 있다. 다른 예를 들어, 차량(1000)은 차량의 자율 주행 기능을 위한 독자적인 OTA 관리 제어 기술을 통합 제어기(1100)의 동작으로 구현할 수 있다.
이하에서 도 2를 참조하여 차량의 업데이트 관리 장치(100)에 대하여 구체적으로 설명한다.
도 2는 본 문서에 개시된 일 실시예에 따른 차량의 업데이트 관리 장치를 보여주는 블록도이다.
도 2를 참조하면, 차량의 업데이트 관리 장치(100)는 통신부(110) 및 컨트롤러(120)를 포함할 수 있다.
이때, 차량의 업데이트 관리 장치(100)는 도 1에서의 통합 제어기(1100)와 실질적으로 동일할 수 있다.
통신부(110)는 적어도 하나의 제어기(1200)와 통신할 수 있다. 예를 들어, 통신부(110)는 적어도 하나의 제어기(1200)와 유선 차량 통신(ex. CAN 통신)을 할 수 있다.
통신부(110)는 적어도 하나의 제어기(1200)의 소프트웨어 업데이트를 위한 OTA(Over The Air) 서버와 통신할 수 있다. 예를 들어, 통신부(110)는 OTA 서버와 무선 통신을 할 수 있다. 여기서, 무선 통신은 와이파이(Wifi), 데이터 통신(LTE, 5G)을 포함할 수 있다.
컨트롤러(120)는 적어도 하나의 제어기(1200)의 적어도 하나의 애플리케이션으로부터 연결 요청을 수신할 수 있다. 예를 들어, 컨트롤러(120)는 적어도 하나의 애플리케이션으로부터 TCP/IP 통신 연결 요청을 수신할 수 있다. 이때, 적어도 하나의 애플리케이션의 소켓(Socket) 단에서 연결 요청이 있을 수 있고, 컨트롤러(120)는 연결 요청을 수신할 수 있다.
컨트롤러(120)는 연결 요청에 응답하여 적어도 하나의 애플리케이션과 통신을 연결할 수 있다. 예를 들어, 컨트롤러(120)는 적어도 하나의 애플리케이션과 TCP/IP 통신을 연결할 수 있다.
한편, 컨트롤러(120)는 적어도 하나의 애플리케이션에서 API(ex. libcurl)를 이용하여 통신부(110)와 연결을 수행할 수도 있고, 적어도 하나의 애플리케이션의 OS(Operating System)가 리눅스(Linux)인 경우에는 system environment variable을 사용하여 통신부(110)와 연결을 수행할 수도 있다.
컨트롤러(120)는 차량(1000)이 위치한 지역에 기초하여 OTA 서버와 통신을 연결하기 위한 통신 사업자를 선택할 수 있다. 예를 들어, 컨트롤러(120)는 OTA 서버와 무선 통신을 하기 위하여 외부 무선망을 사용할 수 있고, 외부 무선망을 사용하기 위한 통신 사업자는 국가별, 지역별로 종류가 달라지기 때문에, 차량(1000)이 위치한 지역을 기초로 통신 사업자를 선택할 수 있다.
컨트롤러(120)는 차량(1000)이 위치한 지역에 기초하여 OTA 서버와의 통신 연결을 위한 연결 정책을 설정할 수 있다. 예를 들어, 컨트롤러(120)는 x번(x는 1 이상의 자연수)의 연결 재시도와, y초(y는 1 이상의 자연수)의 연결 타임 아웃(connection time out)을 연결 정책으로 설정할 수 있다. 구체적으로, 컨트롤러(120)는 차량(1000)이 위치한 지역마다 무선망의 속도가 다를 수 있고, 무선망 연결의 원활한 정도가 다를 수 있기 때문에 연결 정책을 차량(1000)이 위치한 지역 마다 다르게 설정함으로서 OTA 서버와 통신부(110)의 연결을 원활하게 진행할 수 있다.
컨트롤러(120)는 설정된 연결 정책 및 선택된 통신 사업자를 기초로 OTA 서버와 통신부(110)의 연결을 수행할 수 있다. 예를 들어, 컨트롤러(120)는 통신부(110)와 OTA 서버의 TCP/IP 통신 연결을 수행할 수 있다.
컨트롤러(120)는 적어도 하나의 제어기(1200)의 적어도 하나의 애플리케이션으로부터 사용자 정보 및 버전 정보를 획득할 수 있다. 예를 들어, 컨트롤러(120)는 적어도 하나의 제어기(1200)의 적어도 하나의 애플리케이션으로부터 차량(1000)의 VIN 정보, 적어도 하나의 애플리케이션의 소프트웨어 버전 정보를 획득할 수 있다.
컨트롤러(120)는 적어도 하나의 애플리케이션으로부터 획득한 사용자 정보 및 버전 정보를 인증할 수 있다. 예를 들어, 컨트롤러(120)는 차량(1000)의 VIN 정보를 인증하여 차량(1000) 내의 제어기인 것을 인증할 수 있고, 소프트웨어 버전 정보를 인증하여 차량 상태를 확인할 수 있다.
컨트롤러(120)는 인증된 사용자 정보 및 버전 정보를 OTA 서버로 전달할 수 있다. 예를 들어, 컨트롤러(120)는 적어도 하나의 애플리케이션의 사용자 정보 및 버전 정보를 미리 인증하고, 인증된 사용자 정보 및 버전 정보만 OTA 서버로 전달할 수 있다. OTA 서버는 인증된 사용자 정보 및 버전 정보에 기초하여 적어도 하나의 애플리케이션의 업데이트 필요 유무를 판단할 수 있다. 컨트롤러(120)는 상술한 사용자 정보 인증 및 버전 정보 인증을 적어도 하나의 제어기(1200)의 적어도 하나의 애플리케이션과 연결을 수행한 이후에 수행할 수 있다.
컨트롤러(120)는 적어도 하나의 제어기(1200)와 OTA 서버의 연결을 중계할 수 있다. 예를 들어, 컨트롤러(120)는 적어도 하나의 제어기(1200)와 OTA 서버의 연결을 중계하는 경우, 적어도 하나의 제어기(1200)의 적어도 하나의 애플리케이션과 OTA 서버가 직접적으로 정보를 주고받을 수 있도록 연결을 중계할 수 있다. 이때, 적어도 하나의 애플리케이션과 OTA 서버가 직접적으로 정보를 주고받는다는 것은 컨트롤러(120)에는 정보가 저장되어 적어도 하나의 애플리케이션으로 전달 되는 것이 아니고, OTA 서버에서 적어도 하나의 애플리케이션으로 정보를 바로 송신할 수 있다는 것을 의미할 수 있다.
구체적으로, OTA 서버는 적어도 하나의 애플리케이션의 업데이트가 필요하다고 판단한 경우, 적어도 하나의 애플리케이션의 업데이트에 관한 정보를 컨트롤러(120)에 송신하여 저장하지 않고, 직접적으로 적어도 하나의 애플리케이션으로 업데이트에 관한 정보를 전달할 수 있다. 즉, 적어도 하나의 애플리케이션은 OTA 서버로부터 소프트웨어의 업데이트에 관한 정보의 다운로드를 직접적으로 진행할 수 있다. 이때, 적어도 하나의 애플리케이션의 업데이트에 관한 정보는, 소프트웨어 버전 정보, ROM 정보, 펌웨어의 내용 중 적어도 하나를 포함할 수 있다.
컨트롤러(120)는 적어도 하나의 제어기(1200)와 OTA 서버의 연결을 중계하는 경우, 외부로부터의 차량(1000)으로의 접속을 차단할 수 있다. 예를 들어, 통신부(110)와 OTA 서버는 무선 통신을 수행하기 때문에, 외부로부터 무선 통신에 대한 접속 시도 또는 해킹 시도가 있을 수 있는데, 컨트롤러(120)는 접속 제어 또는 접근 제어 기능의 수행을 통하여 외부로부터의 차량(1000)으로의 접속 시도를 차단할 수 있다.
컨트롤러(120)는 적어도 하나의 제어기(1200)와 OTA 서버의 연결을 중계하는 경우, 무선 데이터의 사용량 또는 무선 데이터의 속도를 확인할 수 있다. 예를 들어, 컨트롤러(120)는 무선 데이터의 사용량이 임계값 이상인지 여부를 확인할 수 있고, 무선 데이터의 속도가 기준값 이상인지 여부를 확인할 수 있다.
컨트롤러(120)는 적어도 하나의 제어기(1200)와 OTA 서버의 연결을 중계하는 경우, 확인한 무선 데이터의 사용량 또는 속도에 기초하여 대역폭 관리(Bandwidth Throttling) 및 흐름 제어(Flow Control)를 수행할 수 있다. 예를 들어, 컨트롤러(120)는 확인한 무선 데이터의 사용량이 임계값 이상인 경우, 무선 데이터의 사용량을 감소하기 위하여 대역폭을 제한할 수 있다. 또한, 컨트롤러(120)는 확인한 무선 데이터의 속도가 기준값 이상인 경우에, OTA 서버에서 적어도 하나의 애플리케이션으로 전달되는 정보가 손실될 수 있기 때문에 무선 데이터의 흐름을 제한할 수 있다. 예를 들어, 흐름 제어는 Stop and Wait 방식 또는 슬라이딩 윈도우 기법을 사용하여 구현될 수 있다.
한편, 컨트롤러(120)는 프록시 서버(Proxy Server)를 포함할 수 있다. 프록시 서버는 중계 서버이기 때문에 적어도 하나의 제어기(1200)와 OTA 서버의 연결을 중계할 수 있고, 통신 사업자를 선택할 수 있고, 접속 제어를 수행할 수 있고, 대역폭 관리를 수행할 수 있고, 흐름 제어를 수행할 수 있다. 즉, 컨트롤러(120)는 프록시 서버로 구현될 수 있다.
또한, 컨트롤러(120)는 적어도 하나의 제어기(1200)를 제어할 수 있다. 예를 들어, 컨트롤러(120)는 적어도 하나의 제어기(1200) 중 자율 주행 기능을 수행하는 적어도 하나의 제어기를 제어할 수 있다. 다른 예를 들어, 컨트롤러(120)는 차량의 자율 주행 기능을 통합 관리하는 기능을 수행할 수 있다. 즉, 차량의 업데이트 관리 장치(100)는 적어도 하나의 제어기(1200)의 업데이트를 관리하는 것에 한정되는 것이 아니라, 적어도 하나의 제어기(1200)에 포함된 차량의 자율 주행 기능을 수행하는 적어도 하나의 제어기가 수행하는 차량의 자율 주행 기능을 통합 관리할 수 있다.
차량의 업데이트 관리 장치(100)는 적어도 하나의 제어기(1200)의 적어도 하나의 애플리케이션과 통신을 연결하고 OTA 서버와 통신을 연결하기 때문에 복수의 애플리케이션이 있는 경우에도 OTA 서버와의 통신은 일원화하여 관리할 수 있다. 따라서, 차량의 업데이트 관리 장치(100)는 적어도 하나의 애플리케이션이 OTA 서버로부터 업데이트에 관한 정보를 직접적으로 획득할 수 있도록 연결을 중계할 수 있고, 통신 사업자 선택, 접속 제어, 대역폭 관리, 흐름 제어를 수행할 수 있다. 즉, 차량의 업데이트 관리 장치(100)는 차량의 제어기의 적어도 하나의 애플리케이션의 업데이트를 관리할 수 있다. 다른 예를 들어, 차량의 업데이트 관리 장치(100)는 자율 주행 기능을 수행하는 적어도 하나의 애플리케이션의 업데이트를 관리할 수 있다.
이하에서 도 3을 참조하여 차량의 업데이트 관리 장치(100)의 동작 방법에 대하여 구체적으로 설명한다.
도 3은 본 문서에 개시된 일 실시예에 따른 차량의 업데이트 관리 장치의 동작 방법을 보여주는 흐름도이다.
도 3을 참조하면, 차량의 업데이트 관리 장치(100)의 동작 방법은, 차량의 적어도 하나의 제어기와 통신을 연결하는 단계(S100), 적어도 하나의 제어기의 소프트웨어 업데이트를 위한 OTA 서버와 통신을 연결하는 단계(S200) 및 적어도 하나의 제어기와 OTA 서버의 연결을 중계하는 단계(S300)를 포함할 수 있다.
이하에서 도 1 및 도 2를 참조하여 구체적으로 설명한다.
차량의 적어도 하나의 제어기와 통신을 연결하는 단계(S100)에서 컨트롤러(120)는 적어도 하나의 제어기(1200)와 통신부(110)의 통신을 연결할 수 있다. 예를 들어, 컨트롤러(120)는 적어도 하나의 제어기(1200)의 적어도 하나의 애플리케이션과 통신부(110)의 TCP/IP 통신을 연결할 수 있다.
적어도 하나의 제어기의 소프트웨어 업데이트를 위한 OTA 서버와 통신을 연결하는 단계(S200)에서 컨트롤러(120)는 적어도 하나의 제어기(1200)의 소프트웨어 업데이트를 위한 OTA 서버와 통신부(110)의 통신을 연결할 수 있다. 예를 들어, 컨트롤러(120)는 통신부(110)와 OTA 서버의 TCP/IP 통신을 연결할 수 있다.
적어도 하나의 제어기와 OTA 서버의 연결을 중계하는 단계(S300)에서 컨트롤러(120)는 적어도 하나의 제어기(1200)와 OTA 서버의 연결을 중계할 수 있다. 예를 들어, 컨트롤러(120)는 적어도 하나의 제어기(1200)의 적어도 하나의 애플리케이션과 OTA 서버의 연결을 중계할 수 있다.
적어도 하나의 제어기와 OTA 서버의 연결을 중계하는 단계(S300)에서 컨트롤러(120)는 적어도 하나의 제어기(1200)와 OTA 서버의 연결을 중계할 수 있다. 예를 들어, 컨트롤러(120)는 적어도 하나의 제어기(1200)의 적어도 하나의 애플리케이션이 OTA 서버로부터 직접적으로 소프트웨어의 업데이트를 위한 정보를 수신하도록 중계할 수 있다.
적어도 하나의 제어기와 OTA 서버의 연결을 중계하는 단계(S300)에서 컨트롤러(120)는 적어도 하나의 제어기(1200)와 OTA 서버의 연결을 중계하는 경우, 외부로부터의 차량(1000)으로의 접속을 차단할 수 있다. 예를 들어, 컨트롤러(120)는 접속 제어 또는 접근 제어 기능의 수행을 통해, 통신부(110)와 OTA 서버의 무선 통신 수행 시 외부로부터 차량(1000)으로의 접속 시도 및 해킹 시도를 차단할 수 있다.
적어도 하나의 제어기와 OTA 서버의 연결을 중계하는 단계(S300)에서 컨트롤러(120)는 적어도 하나의 제어기(1200)와 OTA 서버의 연결을 중계하는 경우, 무선 데이터의 사용량 및 무선 데이터의 속도를 확인할 수 있다. 예를 들어, 컨트롤러(120)는 무선 데이터의 사용량이 임계값 이상인지 여부와 무선 데이터의 속도가 기준값 이상인지 여부를 확인할 수 있다.
적어도 하나의 제어기와 OTA 서버의 연결을 중계하는 단계(S300)에서 컨트롤러(120)는 적어도 하나의 제어기(1200)와 OTA 서버의 연결을 중계하는 경우, 확인된 무선 데이터의 사용량 및 무선 데이터의 속도를 기초로 대역폭 관리 및 흐름 제어를 수행할 수 있다. 예를 들어, 컨트롤러(120)는 무선 데이터의 사용량이 임계값 이상으로 확인된 경우에 무선 통신의 대역폭을 제한하여 무선 데이터의 사용량을 조절할 수 있고, 무선 데이터의 속도가 기준값 이상인 경우에는 정보의 손실을 방지하기 위하여 무선 데이터의 흐름을 제한할 수 있다.
이하에서 차량의 업데이트 관리 장치(100)의 동작 방법을 더욱 구체적으로 설명하기 위하여 도 4 내지 도 6을 참조한다.
도 4, 도 5 및 도 6는 본 문서에 개시된 일 실시예에 따른 차량의 업데이트 관리 장치의 동작 방법을 더욱 구체적으로 보여주는 흐름도이다.
도 4를 참조하면, 차량의 업데이트 관리 장치(100)의 동작 방법은 적어도 하나의 제어기의 적어도 하나의 애플리케이션으로부터 연결 요청 수신 단계(S110), 연결 요청에 응답하여 적어도 하나의 애플리케이션과 통신을 연결하는 단계(S120)를 포함할 수 있다.
적어도 하나의 제어기의 적어도 하나의 애플리케이션으로부터 연결 요청 수신 단계(S110)에서 컨트롤러(120)는 적어도 하나의 제어기(1200)의 적어도 하나의 애플리케이션으로부터 연결 요청을 수신할 수 있다. 예를 들어, 컨트롤러(120)는 적어도 하나의 애플리케이션의 소켓 단에서 전달한 연결 요청을 수신할 수 있다.
연결 요청에 응답하여 적어도 하나의 애플리케이션과 통신을 연결하는 단계(S120)에서 컨트롤러(120)는 적어도 하나의 제어기(1200)의 적어도 하나의 애플리케이션에서의 연결 요청에 응답하여 통신부(110)와 적어도 하나의 애플리케이션의 통신을 연결할 수 있다.
한편, 도 3 에서의 S100 단계는 S110 단계 및 S120 단계를 포함할 수 있다.
도 5를 참조하면, 차량의 업데이트 관리 장치(100)의 동작 방법은차량이 위치한 지역에 기초하여 OTA 서버와 통신을 연결하기 위한 통신 사업자를 선택하는 단계(S210), 차량이 위치한 지역에 기초하여 연결 정책을 설정하는 단계(S220) 및 연결 정책을 기초로 통신 사업자를 통하여 OTA 서버와 통신을 연결하는 단계(S230)를 포함할 수 있다.
차량이 위치한 지역에 기초하여 OTA 서버와 통신을 연결하기 위한 통신 사업자를 선택하는 단계(S210)에서 컨트롤러(120)는 차량이 위치한 지역에 기초하여 통신 사업자를 선택할 수 있다. 예를 들어, 컨트롤러(120)는 무선 통신을 통하여 OTA 서버와 연결하기 위하여 차량(1000)이 위치한 지역별로 통신 사업자를 변경할 수 있다.
차량이 위치한 지역에 기초하여 연결 정책을 설정하는 단계(S220)에서 컨트롤러(120)는 OTA 서버와 통신을 연결할 때 사용되는 연결 정책을 설정할 수 있다. 예를 들어, 컨트롤러(120)는 차량이 위치한 지역 별로 무선 통신의 속도 및 통신 사업자가 다를 수 있으므로, 차량이 위치한 지역에 기초하여 연결 정책을 설정할 수 있다.
연결 정책을 기초로 통신 사업자를 통하여 OTA 서버와 통신을 연결하는 단계(S230)에서 컨트롤러(120)는 차량이 위치한 지역에 기초하여 설정된 연결 정책 및 선택된 통신 사업자를 기초로 OTA 서버와 통신을 연결할 수 있다. 예를 들어, 컨트롤러(120)는 선택된 통신 사업자를 통하여 통신부(110)와 OTA 서버 간의 통신을 연결 할 때 설정된 연결 정책을 기반으로 연결을 수행할 수 있다.
한편, 도 3 에서의 S200 단계는 S210 단계 내지 S230 단계를 포함할 수 있다.
이하에서 도 6을 참조하여 차량의 업데이트 관리 장치(100)의 동작 방법에서 더 포함할 수 있는 단계를 구체적으로 설명한다.
도 6을 참조하면, 차량의 업데이트 관리 장치(100)의 동작 방법은 적어도 하나의 애플리케이션으로부터 사용자 정보 및 버전 정보를 획득하는 단계(S410), 사용자 정보 및 버전 정보를 인증하는 단계(S420) 및 인증된 사용자 정보 및 버전 정보를 OTA 서버로 전달하는 단계(S430)를 더 포함할 수 있다.
적어도 하나의 애플리케이션으로부터 사용자 정보 및 버전 정보를 획득하는 단계(S410)에서 컨트롤러(120)는 적어도 하나의 제어기(1200)의 적어도 하나의 애플리케이션으로부터 사용자 정보 및 버전 정보를 획득할 수 있다. 예를 들어, 컨트롤러(120)는 적어도 하나의 애플리케이션으로부터 차량의 VIN 정보, 소프트웨어의 버전 정보를 획득할 수 있다.
사용자 정보 및 버전 정보를 인증하는 단계(S420)에서 컨트롤러(120)는 획득된 사용자 정보 및 버전 정보를 인증할 수 있다. 예를 들어, 컨트롤러(120)는 획득된 사용자 정보를 기초로 적어도 하나의 애플리케이션이 차량(1000) 내부에 있다는 것을 인증할 수 있고, 소프트웨어 버전 정보를 통해 적어도 하나의 애플리케이션의 상태를 인증할 수 있다.
인증된 사용자 정보 및 버전 정보를 OTA 서버로 전달하는 단계(S430)에서 컨트롤러(120)는, 인증된 사용자 정보 및 버전 정보를 OTA 서버로 전달할 수 있다. 예를 들어, OTA 서버는 인증된 사용자 정보 및 버전 정보를 컨트롤러(120)로부터 획득하여 적어도 하나의 애플리케이션의 업데이트 필요 여부에 대하여 판단할 수 있다.
한편, S410 단계 및 S420 단계는 도 3에서의 S100 단계 이후에 수행될 수 있고 S200 단계 이전, 또는 이후에 수행될 수 있다. 반면에, S430 단계의 경우 도 3 에서의 S200 단계 이후에 수행될 수 있다.
결론적으로, 차량의 업데이트 관리 장치(100)는 동작 방법의 수행을 통하여 적어도 하나의 제어기(1200)의 적어도 하나의 애플리케이션과 OTA 서버와 연결을 중계할 수 있고, 적어도 하나의 애플리케이션의 업데이트를 관리할 수 이다. 즉, 차량의 업데이트 관리 장치(100)는 제어기의 애플리케이션들의 업데이트를 통합 관리할 수 있다. 다른 예를 들어, 차량의 업데이트 관리 장치(100)는 차량의 자율 주행 기능을 수행하는 애플리케이션들의 업데이트를 통합 관리할 수 있다.
이하에서, 도 7을 참조하여 본 문서에 개시된 차량(1000)과 OTA 서버(2000)에 대하여 구체적으로 한다.
도 7은 본 문서에 개시된 일 실시예에 따른 차량과 OTA 서버를 보여주는 개념도이다.
도 7을 참조하면 차량(1000)은 통합 제어기(1100), 통합 제어기(1100)에 포함된 프록시 서버(Proxy Server, 1110), 통합 제어기(1100)의 제1 애플리케이션(App1), 통합 제어기(1100)의 제2 애플리케이션(App2), 제1 제어기(1210), 제1 제어기(1210)의 제3 애플리케이션(App3) 및 제1 제어기(1210)의 제4 애플리케이션(App4)을 포함할 수 있다.
차량(1000), 통합 제어기(1100) 및 제1 제어기(1210)는 상술한 도 1에서의 차량(1000), 통합 제어기(1100) 및 제1 제어기(1210)와 실질적으로 동일할 수 있다.
프록시 서버(1110)는 통합 제어기(1100)의 제1 애플리케이션(App1) 및 제2 애플리케이션(App2)로부터 정보를 수신할 수 있다. 예를 들어, 제1 애플리케이션(App1) 및 제2 애플리케이션(App2)은 통합 제어기(1100)에 설치된 애플리케이션들이기 때문에 프록시 서버(1110)와 정보를 주고받을 수 있다.
프록시 서버(1110)는 통합 제어기(1100)와 제1 제어기(1210)의 제3 애플리케이션(App3) 및 제4 애플리케이션(App4)의 통신을 연결할 수 있다. 예를 들어, 프록시 서버(1110)는 제3 애플리케이션(App3) 및 제4 애플리케이션(App4)의 소켓 단으로부터 TCP/IP 통신 연결 요청을 수신하고, 연결 요청에 응답하여 TCP/IP 통신을 연결할 수 있다.
프록시 서버(1110)는 OTA 서버(2000)와 통합 제어기(1100)의 통신을 연결할 수 있다. 예를 들어, 프록시 서버(1110)는 차량(1000)이 위치한 지역에 따라서 통신 사업자를 선택할 수 있고, 연결 정책을 설정할 수 있고, 선택한 통신 사업자 및 설정한 연결 정책에 기반하여 OTA 서버(2000)와 무선 통신을 연결할 수 있다. 구체적으로, 무선 통신은 TCP/IP 통신을 포함할 수 있다.
프록시 서버(1110)는 통합 제어기(1100)와 제3 애플리케이션(App3), 제4 애플리케이션(App4)과 통신이 연결되고, 통합 제어기(1100)와 OTA 서버(2000)간의 통신이 연결된 경우에, 제3 애플리케이션(App3), 제4 애플리케이션(App4)과 OTA 서버(2000)와의 연결을 중계할 수 있다. 즉, 프록시 서버(1110)는 중계하는 역할을 하고, 제3 애플리케이션(App3)과 제4 애플리케이션(App4)은 OTA 서버(2000)와 직접적으로 소프트웨어의 업데이트에 관한 정보를 주고받을 수 있다.
프록시 서버(1110)는 제3 애플리케이션(App3) 및 제4 애플리케이션(App4)와 OTA 서버(2000) 간의 연결을 중계하는 경우에, 접속 제어 기능, 대역폭 관리 기능, 흐름 제어 기능을 수행할 수 있다. 예를 들어, 프록시 서버(1110)는 외부로부터 차량(1000)으로 접속을 차단할 수 있고, 무선 데이터의 사용량이 임계값 이상인 경우 무선 통신의 대역폭을 제한할 수 있고, 무선 데이터의 속도가 기준값 이상인 경우 무선 통신의 흐름을 제한할 수 있다.
한편, 프록시 서버(1110)는 상술한 도 2에서 컨트롤러(120)과 실질적으로 동일할 수 있다.
이때, 도 7에서는 제1 제어기(1210), 제3 애플리케이션(App3) 및 제4 애플리케이션(App4)만 도시하고 있지만, 이에 한정되지 않는다. 즉, 복수의 제어기들이 존재할 수 있고, 복수의 제어기들의 복수의 애플리케이션들이 존재할 수 있으며, 프록시 서버(1110)는 통합 제어기(1100)와 복수의 애플리케이션들의 통신을 연결할 수 있고, 따라서 OTA 서버(2000)와는 한번의 통신 연결로 복수의 애플리케이션들과 OTA 서버(2000)와의 연결을 중계할 수 있다. 결론적으로, 프록시 서버(1110)는 복수의 애플리케이션들의 OTA 업데이트를 일원화하여 관리할 수 있다.
한편, 복수의 제어기들은 차량의 자율 주행 기능을 수행하기 위한 제어기일 수 있고, 복수의 애플리케이션들은 차량의 자율 주행 기능을 수행하기 위한 제어기의 애플리케이션일 수 있다.
이하에서 도 8을 참조하여 차량(1000)에서 제3 애플리케이션(App3)의 업데이트 방법에 대하여 구체적으로 설명한다.
도 8은 본 문서에 개시된 일 실시예에 따른 차량 레벨에서의 업데이트 방법의 예시를 보여주는 도면이다.
도 8을 참조하면, 제3 애플리케이션(App3)의 업데이트 방법은 제1 통신을 연결하는 단계(S1000), 사용자 및 버전 정보 인증 단계(S2000), 통신 사업자 선택 단계(S3000), 연결 정책 설정 단계(S4000), 연결 정책 및 통신 사업자에 기초하여 제2 통신 연결 단계(S5000) 및 애플리케이션과 OTA 서버의 연결을 중계하는 단계(S6000)를 포함할 수 있다.
제1 통신을 연결하는 단계(S1000)에서 프록시 서버(1110)는 제3 애플리케이션(App3)과 통합 제어기(1100)의 제1 통신을 연결할 수 있다.
사용자 및 버전 정보 인증 단계(S2000)에서 프록시 서버(1110)는 제3 애플리케이션(App3)으로부터 사용자 및 버전 정보 인증을 요청 받고, 사용자 인증 및 버전 정보 인증을 수행할 수 있다.
통신 사업자 선택 단계(S3000)에서 프록시 서버(1110)는 차량(1000)이 위치한 위치 정보에 기반하여 통신 사업자를 선택할 수 있다. 예를 들어, 프록시 서버(1110)는 차량(1000)이 위치한 국가에 따라 통신 사업자를 선택할 수 있다.
연결 정책 설정 단계(S4000)에서 프록시 서버(1110)는 차량(1000)이 위치한 위치 정보에 기반하여 제2 통신 연결을 위한 연결 정책을 설정할 수 있다.
연결 정책 및 통신 사업자에 기초하여 제2 통신 연결 단계(S5000)에서 프록시 서버(1110)는 설정한 연결 정책 및 선택한 통신 사업자를 기초로 통합 제어기(1100)와 OTA 서버(2000) 간의 통신 연결을 수행할 수 있다.
애플리케이션과 OTA 서버의 연결을 중계하는 단계(S6000)에서 프록시 서버(1100)는 제3 애플리케이션(App3)와 OTA 서버(2000)의 연결을 중계할 수 있다. 즉, S6000 단계에서 제3 애플리케이션(App3)은 OTA 서버(2000)로부터 직접적으로 소프트웨어의 업데이트에 관한 정보를 다운로드할 수 있다. 이때, 프록시 서버(1100)에서 업데이트에 관한 정보가 저장되어 전달되는 것은 아니고, OTA 서버(2000)는 직접적으로 제3 애플리케이션(App3)에 업데이트에 관한 정보를 송신할 수 있다.
이상의 설명은 본 문서에 개시된 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 문서에 개시된 실시예들이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 문서에 개시된 실시예들의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다.
따라서, 본 문서에 개시된 실시예들은 본 문서에 개시된 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 문서에 개시된 기술 사상의 범위가 한정되는 것은 아니다. 본 문서에 개시된 기술 사상의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 문서의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
100: 차량의 업데이트 관리 장치
110: 통신부
120: 컨트롤러
1000: 차량
1100: 통합 제어기
1110: 프록시 서버
1200: 적어도 하나의 제어기
1210: 제1 제어기
2000: OTA 서버

Claims (20)

  1. 차량의 적어도 하나의 제어기와 통신하고, 상기 적어도 하나의 제어기의 소프트웨어 업데이트를 위한 OTA(Over The Air) 서버와 통신하는 통신부; 및
    상기 적어도 하나의 제어기와 상기 OTA 서버의 연결을 중계하고, 상기 적어도 하나의 제어기를 제어하는 컨트롤러; 를 포함하는 차량의 업데이트 관리 장치.
  2. 제 1 항에 있어서,
    상기 컨트롤러는,
    상기 적어도 하나의 제어기의 적어도 하나의 애플리케이션으로부터 연결 요청을 수신하고, 상기 연결 요청에 응답하여 상기 적어도 하나의 애플리케이션과 통신을 연결하는 것을 특징으로 하는 차량의 업데이트 관리 장치.
  3. 제 1 항에 있어서,
    상기 컨트롤러는,
    상기 차량이 위치한 지역에 기초하여 상기 OTA 서버와 통신을 연결하기 위한 통신 사업자를 선택하는 것을 특징으로 하는 차량의 업데이트 관리 장치.
  4. 제 3 항에 있어서,
    상기 컨트롤러는,
    상기 차량이 위치한 지역에 기초하여 연결 정책을 설정하고, 상기 연결 정책을 기초로 상기 통신 사업자를 통하여 상기 OTA 서버와 통신을 연결하는 것을 특징으로 하는 차량의 업데이트 관리 장치.
  5. 제 1 항에 있어서,
    상기 컨트롤러는,
    상기 적어도 하나의 제어기의 적어도 하나의 애플리케이션으로부터 사용자 정보 및 버전 정보를 획득하여 인증하고, 인증된 상기 사용자 정보 및 상기 버전 정보를 상기 OTA 서버로 전달하는 것을 특징으로 하는 차량의 업데이트 관리 장치.
  6. 제 1 항에 있어서,
    상기 컨트롤러는,
    상기 적어도 하나의 제어기와 상기 OTA 서버의 연결을 중계하는 경우, 상기 적어도 하나의 제어기의 적어도 하나의 애플리케이션이 상기 OTA 서버로부터 소프트웨어의 업데이트에 관한 정보를 직접적으로 수신할 수 있도록 중계하는 것을 특징으로 하는 차량의 업데이트 관리 장치.
  7. 제 1 항에 있어서,
    상기 컨트롤러는,
    상기 적어도 하나의 제어기와 상기 OTA 서버의 연결을 중계하는 경우, 외부로부터의 상기 차량으로의 접속을 차단하는 것을 특징으로 하는 차량의 업데이트 관리 장치.
  8. 제 1 항에 있어서,
    상기 컨트롤러는,
    상기 적어도 하나의 제어기와 상기 OTA 서버의 연결을 중계하는 경우, 무선 데이터의 사용량 또는 상기 무선 데이터의 속도를 확인하고, 상기 무선 데이터의 사용량 또는 상기 무선 데이터의 속도에 기초하여 대역폭 관리 및 흐름 제어를 수행하는 것을 특징으로 하는 차량의 업데이트 관리 장치.
  9. 제 1 항에 있어서,
    상기 컨트롤러는,
    프록시 서버(Proxy Server)를 포함하는 것을 특징으로 하는 차량의 업데이트 관리 장치.
  10. 차량의 적어도 하나의 제어기와 통신을 연결하는 단계;
    상기 적어도 하나의 제어기의 소프트웨어 업데이트를 위한 OTA 서버와 통신을 연결하는 단계; 및
    상기 적어도 하나의 제어기와 상기 OTA 서버의 연결을 중계하는 단계; 를 포함하는 차량의 업데이트 관리 장치의 동작 방법.
  11. 제 10 항에 있어서,
    상기 차량의 적어도 하나의 제어기와 통신을 연결하는 단계는,
    상기 적어도 하나의 제어기의 적어도 하나의 애플리케이션으로부터 연결 요청을 수신하는 단계; 및
    상기 연결 요청에 응답하여 상기 적어도 하나의 애플리케이션과 통신을 연결하는 단계; 를 포함하는 것을 특징으로 하는 차량의 업데이트 관리 장치의 동작 방법.
  12. 제 10 항에 있어서,
    상기 적어도 하나의 제어기의 소프트웨어 업데이트를 위한 OTA 서버와 통신을 연결하는 단계는,
    상기 차량이 위치한 지역에 기초하여 상기 OTA 서버와 통신을 연결하기 위한 통신 사업자를 선택하는 단계; 를 포함하는 것을 특징으로 하는 차량의 업데이트 관리 장치의 동작 방법.
  13. 제 12 항에 있어서,
    상기 적어도 하나의 제어기의 소프트웨어 업데이트를 위한 OTA 서버와 통신을 연결하는 단계는,
    상기 차량이 위치한 지역에 기초하여 연결 정책을 설정하는 단계; 및
    상기 연결 정책을 기초로 상기 통신 사업자를 통하여 상기 OTA 서버와 통신을 연결하는 단계; 를 포함하는 것을 특징으로 하는 차량의 업데이트 관리 장치의 동작 방법.
  14. 제 10 항에 있어서,
    상기 적어도 하나의 제어기의 적어도 하나의 애플리케이션으로부터 사용자 정보 및 버전 정보를 획득하는 단계;
    상기 사용자 정보 및 상기 버전 정보를 인증하는 단계; 및
    인증된 상기 사용자 정보 및 상기 버전 정보를 상기 OTA 서버로 전달하는 단계; 를 더 포함하는 것을 특징으로 하는 차량의 업데이트 관리 장치의 동작 방법.
  15. 제 10 항에 있어서,
    상기 적어도 하나의 제어기와 상기 OTA 서버의 연결을 중계하는 단계는,
    상기 적어도 하나의 제어기의 적어도 하나의 애플리케이션이 상기 OTA 서버로부터 직접적으로 소프트웨어의 업데이트를 위한 정보를 수신하도록 중계하는 것을 특징으로 하는 차량의 업데이트 관리 장치의 동작 방법.
  16. 제 10 항에 있어서,
    상기 적어도 하나의 제어기와 상기 OTA 서버의 연결을 중계하는 단계는,
    상기 적어도 하나의 제어기와 상기 OTA 서버의 연결을 중계하는 경우, 외부로부터의 상기 차량으로의 접속을 차단하는 것을 특징으로 하는 차량의 업데이트 관리 장치의 동작 방법.
  17. 제 10 항에 있어서,
    상기 적어도 하나의 제어기와 상기 OTA 서버의 연결을 중계하는 단계는,
    상기 적어도 하나의 제어기와 상기 OTA 서버의 연결을 중계하는 경우, 무선 데이터의 사용량 및 상기 무선 데이터의 속도를 확인하고, 상기 무선 데이터의 사용량 및 상기 무선 데이터의 속도에 기초하여 대역폭 관리 및 흐름 제어를 수행하는 것을 특징으로 하는 차량의 업데이트 관리 장치의 동작 방법.
  18. 차량의 적어도 하나의 제어기; 및
    상기 적어도 하나의 제어기와 통신하고, 상기 적어도 하나의 제어기의 소프트웨어 업데이트를 위한 OTA 서버와 통신하고, 상기 적어도 하나의 제어기와 상기 OTA 서버의 연결을 중계하고 및 상기 적어도 하나의 제어기를 제어하는 통합 제어기를 포함하는 차량.
  19. 제 18 항에 있어서,
    상기 통합 제어기는,
    상기 적어도 하나의 제어기로부터 획득한 사용자 정보 및 버전 정보를 인증하고, 인증된 상기 사용자 정보 및 상기 버전 정보를 상기 OTA 서버에 전달하고,
    상기 적어도 하나의 제어기와 상기 OTA 서버의 연결을 중계하는 경우, 상기 적어도 하나의 제어기의 적어도 하나의 애플리케이션이 상기 OTA 서버로부터 직접적으로 소프트웨어의 업데이트에 관한 정보를 수신하도록 중계하는 것을 특징으로 하는 차량.
  20. 제 19 항에 있어서,
    상기 적어도 하나의 제어기는 상기 차량의 자율 주행 기능을 수행하기 위한 적어도 하나의 제어기를 포함하고,
    상기 통합 제어기는,
    상기 차량의 자율 주행 기능을 수행하기 위한 적어도 하나의 제어기의 자율 주행 기능을 통합 관리하고, 프록시 서버(Proxy Server)를 포함하는 것을 특징으로 하는 차량.
KR1020210073543A 2021-06-07 2021-06-07 차량의 업데이트 관리 장치 및 그것의 동작 방법, 차량 Pending KR20220165059A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020210073543A KR20220165059A (ko) 2021-06-07 2021-06-07 차량의 업데이트 관리 장치 및 그것의 동작 방법, 차량
US17/497,232 US11907702B2 (en) 2021-06-07 2021-10-08 Device for managing update of vehicle, method for operating the same, and vehicle

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210073543A KR20220165059A (ko) 2021-06-07 2021-06-07 차량의 업데이트 관리 장치 및 그것의 동작 방법, 차량

Publications (1)

Publication Number Publication Date
KR20220165059A true KR20220165059A (ko) 2022-12-14

Family

ID=84284119

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210073543A Pending KR20220165059A (ko) 2021-06-07 2021-06-07 차량의 업데이트 관리 장치 및 그것의 동작 방법, 차량

Country Status (2)

Country Link
US (1) US11907702B2 (ko)
KR (1) KR20220165059A (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20240111684A (ko) * 2023-01-10 2024-07-17 주식회사 엘지에너지솔루션 차량 데이터 관리 서버, 플랫폼 관리 서버 및 서비스 서버, 그리고 자율주행 플랫폼과 연계한 서비스 제공 시스템
KR20240111685A (ko) * 2023-01-10 2024-07-17 주식회사 엘지에너지솔루션 차량 데이터 관리 서버, 플랫폼 관리 서버 및 서비스 서버, 그리고 자율주행 플랫폼과 연계한 서비스 제공 시스템
WO2024150903A1 (ko) * 2023-01-10 2024-07-18 주식회사 엘지에너지솔루션 차량 데이터 관리 서버, 플랫폼 관리 서버 및 서비스 서버, 그리고 자율주행 플랫폼과 연계한 서비스 제공 시스템
WO2024150902A1 (ko) * 2023-01-10 2024-07-18 주식회사 엘지에너지솔루션 차량 데이터 관리 서버, 플랫폼 관리 서버 및 서비스 서버, 그리고 자율주행 플랫폼과 연계한 서비스 제공 시스템

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7704053B2 (ja) * 2022-03-10 2025-07-08 トヨタ自動車株式会社 通信制御システム、通信制御方法及び通信制御プログラム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8798623B2 (en) * 2009-08-14 2014-08-05 General Motors Llc Network selection and base station acquisition with OTA programming for a vehicle telematics unit
US20140309867A1 (en) * 2013-04-15 2014-10-16 Flextronics Ap, Llc Storing user gestures in a user profile data template
US9412208B2 (en) * 2014-10-09 2016-08-09 Wrap Media, LLC Generating and delivering a wrap package of cards including custom content and/or services in response to a vehicle diagnostic system triggered event
US9720680B2 (en) * 2015-07-23 2017-08-01 Honda Motor Co., Ltd. Methods and apparatus for wirelessly updating vehicle systems
US11210871B2 (en) * 2015-08-05 2021-12-28 EZ Lynk SEZC System and method for remote emissions control unit monitoring and reprogramming
EP3780481B1 (en) * 2018-04-30 2024-02-14 Huawei International Pte. Ltd. Method for upgrading vehicle-mounted device, and related device
US12103479B2 (en) * 2020-03-06 2024-10-01 Sonatus, Inc. System, method, and apparatus for managing vehicle automation

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20240111684A (ko) * 2023-01-10 2024-07-17 주식회사 엘지에너지솔루션 차량 데이터 관리 서버, 플랫폼 관리 서버 및 서비스 서버, 그리고 자율주행 플랫폼과 연계한 서비스 제공 시스템
KR20240111685A (ko) * 2023-01-10 2024-07-17 주식회사 엘지에너지솔루션 차량 데이터 관리 서버, 플랫폼 관리 서버 및 서비스 서버, 그리고 자율주행 플랫폼과 연계한 서비스 제공 시스템
WO2024150903A1 (ko) * 2023-01-10 2024-07-18 주식회사 엘지에너지솔루션 차량 데이터 관리 서버, 플랫폼 관리 서버 및 서비스 서버, 그리고 자율주행 플랫폼과 연계한 서비스 제공 시스템
WO2024150902A1 (ko) * 2023-01-10 2024-07-18 주식회사 엘지에너지솔루션 차량 데이터 관리 서버, 플랫폼 관리 서버 및 서비스 서버, 그리고 자율주행 플랫폼과 연계한 서비스 제공 시스템
US12128773B2 (en) 2023-01-10 2024-10-29 Lg Energy Solution, Ltd. Vehicle data managing server, platform managing server and service server, and service providing system associated with autonomous driving platform

Also Published As

Publication number Publication date
US20220391191A1 (en) 2022-12-08
US11907702B2 (en) 2024-02-20

Similar Documents

Publication Publication Date Title
KR20220165059A (ko) 차량의 업데이트 관리 장치 및 그것의 동작 방법, 차량
CN107432053B (zh) 通信系统、通信控制设备、节点设备和通信方法
KR100850656B1 (ko) 무선 디바이스와 서버 사이의 핸드쉐이킹을 위한 시스템 및방법
US20030100297A1 (en) Method of software configuration assurance in programmable terminal devices
KR20070086208A (ko) 통신 시스템들에서 반송파 커스토마이제이션을 위한 방법및 장치
US20190007082A1 (en) Embedded subscriber identity module including communication profiles
US20170214692A1 (en) Relayed network access control systems and methods
EP3606119A1 (en) Method for managing subscription profiles, subscription managing server and uicc
EP2532188A1 (en) A method of supervising a node in a communication system
CN110169099B (zh) 简档在嵌入式订户标识模块中的安装
EP2171917B1 (en) System and method for providing device management service to electronic device having no broadband communication module
US10893407B2 (en) Method for controlling an embedded subscriber identity module
KR20150002208A (ko) 중계 네트워크 제공 방법, 그를 이용한 모바일 라우터 및 네트워크 중계 시스템
CN108462984A (zh) 一种进行接入网络管理的方法及终端
US20210250750A1 (en) System and method for interoperability in remote provisioning architectures for embedded universal integrated circuit cards
KR102014005B1 (ko) 가상적 주거용 게이트웨이를 통해 노마딕 서비스를 제공하는 방법
CN118339864A (zh) eUICC上的订户简档的管理
US11625492B2 (en) Method and system for securely providing vehicle services data to a vehicle
JP7439717B2 (ja) 車両システムにおける通信方法、および、車載ネットワークの通信管理方法
US11910198B2 (en) Methods for certificate issuance in remote provisioning architectures for embedded UICCS
KR20130015980A (ko) Cpns시스템에서 개인망과 cpns서버의 접속 관리 방법
US8020061B2 (en) Method for detecting errors and supporting reconfiguration decisions in mobile radio networks comprising reconfigurable terminals, and corresponding network elements and components
KR101566979B1 (ko) 엠투엠(m2m) 단말의 펌웨어 업데이트 장치
KR101648402B1 (ko) 어플리케이션 처리 시스템
KR20030087195A (ko) 휴대정보단말기와, 이 휴대정보단말기의 바이러스 검출 및치료 서비스 방법

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20210607

PG1501 Laying open of application
A201 Request for examination
PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 20240523

Comment text: Request for Examination of Application

Patent event code: PA02011R01I

Patent event date: 20210607

Comment text: Patent Application