KR20230070039A - 데이터 송신 시스템, 데이터 송신 방법, 스마트 차량 및 디바이스 - Google Patents

데이터 송신 시스템, 데이터 송신 방법, 스마트 차량 및 디바이스 Download PDF

Info

Publication number
KR20230070039A
KR20230070039A KR1020237013439A KR20237013439A KR20230070039A KR 20230070039 A KR20230070039 A KR 20230070039A KR 1020237013439 A KR1020237013439 A KR 1020237013439A KR 20237013439 A KR20237013439 A KR 20237013439A KR 20230070039 A KR20230070039 A KR 20230070039A
Authority
KR
South Korea
Prior art keywords
ecu
node
interface
master
software package
Prior art date
Application number
KR1020237013439A
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 후아웨이 테크놀러지 컴퍼니 리미티드
Publication of KR20230070039A publication Critical patent/KR20230070039A/ko

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/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/50Service provisioning or reconfiguring
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R16/00Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
    • B60R16/02Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
    • B60R16/023Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements for transmission of signals between vehicle parts or subsystems
    • B60R16/0231Circuits relating to the driving or the functioning of the vehicle
    • 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
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • 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/10Protocols in which an application is distributed across nodes in the network
    • 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/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
    • 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 
    • 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
    • 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
    • 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
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/10Architectures or entities
    • H04L65/1016IP multimedia subsystem [IMS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1069Session establishment or de-establishment

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Automation & Control Theory (AREA)
  • Mechanical Engineering (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)
  • Multimedia (AREA)

Abstract

본 출원의 실시예들은 오버 디 에어(OTA) 서버, 마스터 전자 제어 유닛(ECU), 및 노드 ECU를 포함하는 데이터 송신 시스템을 개시한다. OTA 서버는 마스터 ECU의 제1 인터페이스를 호출하도록 구성된다. 마스터 ECU는 OTA 서버가 제1 인터페이스를 호출한다는 사실에 응답하여 타겟 소프트웨어 패키지의 사이즈를 획득하도록 구성된다. 마스터 ECU는 노드 ECU의 제2 인터페이스를 호출하도록 추가로 구성된다. 노드 ECU는: 마스터 ECU가 제2 인터페이스를 호출한다는 사실에 응답하여, 타겟 소프트웨어 패키지의 사이즈를 획득하고 노드 ECU의 잔여 저장 공간을 체크하고, 잔여 저장 공간이 타겟 소프트웨어 패키지의 사이즈보다 작지 않을 때, OTA 서버에 의해 전송된 타겟 소프트웨어 패키지를 수신하도록 구성된다. 본 출원에서 제공되는 솔루션들은 지능형 차량, 커넥티드 차량, 신에너지 차량, 및 자율 주행 차량에 적용될 수 있다. 본 출원에서 제공되는 솔루션들에 따르면, OTA 기술을 사용함으로써 차량-내 소프트웨어 업그레이드를 구현하는 프로세스에서, 마스터 ECU의 저장 능력 및 프로세싱 능력에 대한 의존도가 감소되고, 업그레이드 효율성이 개선된다.

Description

데이터 송신 시스템, 데이터 송신 방법, 스마트 차량 및 디바이스
본 출원은 차량 네트워크 기술 분야에 관한 것으로, 특히, 데이터 송신 시스템, 데이터 송신 방법, 지능형 차량(intelligent vehicle), 및 장치에 관한 것이다.
자동차 개방형 시스템 아키텍처(Automotive Open System Architecture, AutoSar)는 글로벌 자동차 제조업체들, 컴포넌트 공급업체들, 및 전자 소프트웨어 시스템 회사들에 의해 공동으로 확립된 개방형 표준화 소프트웨어 아키텍처이다. 이것은 100년 이상 동안 개발된 자동차 기술들에서의 경험의 요약이다. AutoSar는 일련의 시스템 서비스 인터페이스들을 정의한다. 이들 인터페이스들은 상이한 소프트웨어의 호환성 및 상호운용성을 구현하는 데 사용되고, 이에 의해, 자동차 소프트웨어 개발을 단순화하고 상이한 모델들의 차량들에 대한 소프트웨어 디플로이먼트를 용이하게 할 수 있다.
AutoSar에서는, 오버 디 에어(over the air, OTA) 기술을 사용함으로써 차량의 소프트웨어 업그레이드가 구현될 수 있다. 소프트웨어 패키지가 OTA 기술을 사용함으로써 클라우드 서버로부터 로컬로 다운로드될 수 있다. 차량은 복수의 전자 제어 유닛들(electronic control units, ECUs)을 포함하고, 복수의 ECU들 각각은 소프트웨어 업그레이드 요구사항을 갖기 때문에, 업데이트 및 구성 관리 마스터(update and configuration management master, UCM Master) 모듈이 복수의 ECU들 중 적어도 하나에 설치될 필요가 있고, 업데이트 및 구성 관리(update and configuration management, UCM) 모듈이 소프트웨어 업그레이드 요구사항을 갖는 다른 ECU들 각각에 설치될 필요가 있다. 소프트웨어 패키지는, OTA 기술을 사용함으로써, 클라우드 서버로부터 UCM Master 모듈이 설치된 ECU로 다운로드된 다음, UCM Master 모듈이 설치된 ECU에 의해 각각이 UCM 모듈이 설치된 복수의 ECU들에 배포되어, 전체 차량의 소프트웨어 업그레이드를 완료한다.
본 출원의 실시예들은 데이터 송신 시스템, 데이터 송신 방법, 지능형 차량, 및 장치를 제공한다. 본 출원에서 제공되는 솔루션들에 따르면, OTA 기술을 사용함으로써 차량-내 소프트웨어 업그레이드를 구현하는 프로세스에서, 마스터 ECU의 저장 능력 및 프로세싱 능력에 대한 의존도가 감소되고, 업그레이드 효율성이 개선된다.
전술한 목적을 달성하기 위해, 본 출원의 실시예들에서 다음의 기술적 솔루션들이 제공된다.
제1 양태에 따르면, 본 출원은 데이터 송신 시스템을 제공한다. 데이터 송신 시스템은 오버 디 에어(over the air)(OTA) 서버, 마스터 전자 제어 유닛(electronic control unit)(ECU), 및 노드 ECU를 포함한다. OTA 서버는 마스터 ECU의 제1 인터페이스를 호출(invoke)하도록 구성된다. 인터페이스는 제1 디바이스와 제2 디바이스 사이의 상호작용 방법 및 규칙으로서 이해될 수 있다. 마스터 ECU는 OTA 서버가 제1 인터페이스를 호출한다는 사실에 응답하여 타겟 소프트웨어 패키지의 사이즈를 획득하도록 구성된다. 본 출원에서, 타겟 소프트웨어 패키지는 대안적으로 때때로 간단히 소프트웨어 패키지로서 지칭되거나, 또는 업그레이드 패키지 또는 소프트웨어 업그레이드 패키지로서 지칭된다. 소프트웨어 패키지는 노드 ECU 업그레이드를 위한 데이터를 포함한다. 즉, OTA 서버는 마스터 ECU의 제1 인터페이스를 호출함으로써 타겟 소프트웨어 패키지의 사이즈를 마스터 ECU에 전송할 수 있다. 마스터 ECU는 노드 ECU의 제2 인터페이스를 호출하도록 추가로 구성된다. 노드 ECU는: 마스터 ECU가 제2 인터페이스를 호출한다는 사실에 응답하여, 타겟 소프트웨어 패키지의 사이즈를 획득하고 노드 ECU의 잔여 저장 공간을 체크하고, 잔여 저장 공간이 타겟 소프트웨어 패키지의 사이즈보다 작지 않을 때, OTA 서버에 의해 전송된 타겟 소프트웨어 패키지를 수신하도록 구성된다. 본 출원에서 제공되는 데이터 송신 시스템은 AutoSar일 수 있다. 본 출원에서 제공되는 데이터 송신 시스템이 AutoSar일 때, 마스터 ECU는 차량 내 ECU들에서 UCM Master 모듈이 설치되는 ECU이고, 노드 ECU는 차량 내 ECU들에서 UCM 모듈이 설치되는 ECU이고, 인터페이스는 또한 제1 디바이스의 제1 모듈과 제2 디바이스의 제2 모듈 사이의 상호작용 방법 및 규칙으로서 이해될 수 있다. 본 출원에서 제공되는 솔루션에서, OTA 서버는 제1 ECU의 소프트웨어 패키지를 제1 ECU에 전송할지 여부를 복수의 방식들로 알 수 있다. 제1 양태로부터, 제1 양태에 따른 솔루션에서, 노드 ECU의 타겟 소프트웨어 패키지가 OTA 서버에 의해 노드 ECU에 직접 전송되고, 마스터 ECU가 노드 ECU의 소프트웨어 패키지를 버퍼링할 필요가 없고 노드 ECU의 업그레이드 패키지를 포워딩할 필요가 없음을 알 수 있다. 이러한 방식으로, 마스터 ECU는 상대적으로 큰 저장 공간 또는 상대적으로 높은 프로세싱 성능을 가질 필요가 없다. OTA 기술을 사용함으로써 차량-내 소프트웨어 업그레이드를 구현하는 프로세스에서, 마스터 ECU의 저장 능력 및 프로세싱 능력에 대한 의존도가 감소된다.
임의적으로, 제1 양태를 참조하여, 제1 가능한 구현에서, 노드 ECU는 제1 호출 결과를 마스터 ECU에 리턴하도록 추가로 구성된다. 제1 호출 결과는 제1 파라미터 값을 포함하고, 제1 파라미터 값은 노드 ECU의 잔여 저장 공간이 타겟 소프트웨어 패키지의 사이즈보다 작지 않음을 지시하는 데 사용된다. 마스터 ECU는 제1 파라미터 값을 획득할 때 OTA 서버의 제3 인터페이스를 호출하도록 추가로 구성된다. OTA 서버는 마스터 ECU가 제3 인터페이스를 호출한다는 사실에 응답하여 타겟 소프트웨어 패키지를 노드 ECU에 전송하도록 추가로 구성된다. 제1 양태의 제1 가능한 구현으로부터, OTA 서버가 타겟 소프트웨어 패키지를 노드 ECU에 직접 전송해야 함을 OTA 서버가 알게 하도록 하는 특정 방식이 제공됨을 알 수 있다. 제1 호출 결과에 제1 파라미터 값이 추가되는 방식이 사용되어, OTA 서버가 타겟 소프트웨어 패키지를 노드 ECU에 직접 전송해야 함을 OTA 서버가 알게 할 수 있다.
임의적으로, 제1 양태의 제1 가능한 구현을 참조하여, 제2 가능한 구현에서, 제2 인터페이스는 트랜스퍼 시작 TransferStart 인터페이스이다. TransferStart 인터페이스는 AutoSar에 정의된 인터페이스이다. 제1 양태의 제2 가능한 구현에서, AutoSar에 의해 정의된 기존 TransferStart 인터페이스의 호출 결과에 파라미터가 추가되고, 파라미터는 타겟 소프트웨어 패키지를 노드 ECU에 전송하도록 OTA 서버에 지시하는 데 사용될 수 있다. 제1 양태의 제2 가능한 구현으로부터, 이 솔루션에서, AutoSar에 의해 지정된 기존 소프트웨어 업그레이드 절차가 약간 변경되었음을 알 수 있다. 노드 ECU의 TransferStart 인터페이스의 호출 결과에 파라미터가 추가되고, 파라미터는 OTA 서버에 피드백되어, OTA 서버가 분산 다운로드가 수행될 수 있음을 알게 하고, 마스터 ECU를 사용하지 않고 노드 ECU의 타겟 소프트웨어 패키지를 노드 ECU에 직접 전송하게 한다.
임의적으로, 제1 양태, 제1 양태의 제1 가능한 구현, 또는 제1 양태의 제2 가능한 구현을 참조하여, 제3 가능한 구현에서, 노드 ECU들의 수는 N이고, N은 1보다 큰 정수이다. 마스터 ECU는 N개의 제1 파라미터 값을 획득할 때 OTA 서버의 제3 인터페이스를 호출하도록 구체적으로 구성된다. 제1 양태의 제3 가능한 구현으로부터, 데이터 송신 시스템이 복수의 노드 ECU들을 포함할 때, 마스터 ECU가 마스터 ECU가 복수의 노드 ECU들의 각각의 노드 ECU의 잔여 저장 공간이 각각의 노드 ECU의 소프트웨어 패키지의 사이즈보다 작지 않음을 알 때에만 OTA 서버의 제3 인터페이스를 호출하여, OTA 서버가 소프트웨어 패키지를 각각의 노드 ECU에 전송하게 함을 알 수 있다. OTA 서버의 제3 인터페이스가 호출된 후에, OTA 서버는 소프트웨어 패키지를 각각의 노드 ECU에 별도로 전송할 수 있거나, 또는 개개의 소프트웨어 패키지들을 복수의 노드 ECU들에 동시에 전송할 수 있다. 제1 양태의 제3 가능한 구현으로부터, 마스터 ECU가 모든 노드 ECU들의 잔여 저장 공간이 충분한지 여부를 사전에 알 수 있고, 모든 노드 ECU들의 잔여 저장 공간이 개개의 소프트웨어 패키지들을 저장하기에 충분할 때에만, 소프트웨어 패키지들이 송신된다는 점을 알 수 있다. 이는 다운로드 프로세스에서 일부 노드 ECU들의 리소스 부족에 의해 야기되는 업그레이드 실패를 방지하고, 업그레이드 실패에 의해 야기되는 사용자 트래픽 소모 및 리소스 낭비를 감소시킨다. 또한, 본 구현에서, 제2 인터페이스는 이 솔루션에서 AutoSar에 새롭게 정의된 인터페이스로서 이해될 수 있다. 마스터 ECU는 한 번에 복수의 제1 호출 결과들을 획득하기 위해, 복수의 노드 ECU들의 제2 인터페이스들을 호출할 수 있다.
임의적으로, 제1 양태, 제1 양태의 제1 가능한 구현, 또는 제1 양태의 제2 가능한 구현을 참조하여, 제4 가능한 구현에서, 노드 ECU들의 수는 N이고, N은 1보다 큰 정수이다. 마스터 ECU는 M개의 제1 파라미터 값을 획득할 때 OTA 서버의 제3 인터페이스를 호출하지 않도록 구체적으로 구성되고, M은 N보다 작고 1보다 큰 정수이다. 제1 양태의 제3 가능한 구현으로부터, 마스터 ECU가 복수의 노드 ECU들의 각각의 노드 ECU의 잔여 저장 공간이 각각의 노드 ECU의 소프트웨어 패키지의 사이즈보다 작지 않음을 알지 못할 때, 마스터 ECU는 OTA 서버의 제3 인터페이스를 호출하지 않음을 알 수 있다. 즉, 복수의 노드 ECU들 중 일부 노드 ECU들의 잔여 저장 공간이 노드 ECU들의 소프트웨어 패키지들을 저장하기에 부족한 경우, OTA 서버는 소프트웨어 패키지를 복수의 노드 ECU들의 임의의 노드 ECU에 전송하지 않는다. 이는 다운로드 프로세스에서 일부 노드 ECU들의 리소스 부족에 의해 야기되는 업그레이드 실패를 방지하고, 업그레이드 실패에 의해 야기되는 사용자 트래픽 소모 및 리소스 낭비를 감소시킨다.
임의적으로, 제1 양태를 참조하여, 제5 가능한 구현에서, 마스터 ECU는 OTA 서버가 제1 인터페이스를 호출한다는 사실에 응답하여 타겟 소프트웨어 패키지의 다운로드 주소를 획득하도록 추가로 구성된다. 노드 ECU는 제1 호출 결과를 마스터 ECU에 리턴하도록 추가로 구성된다. 제1 호출 결과는 제1 파라미터 값을 포함하고, 제1 파라미터 값은 노드 ECU의 잔여 저장 공간이 타겟 소프트웨어 패키지의 사이즈보다 작지 않음을 지시하는 데 사용된다. 제1 양태의 제4 가능한 구현으로부터, OTA 서버가 타겟 소프트웨어 패키지를 노드 ECU에 직접 전송해야 함을 OTA 서버가 알게 하고, OTA 서버가 노드 ECU의 타겟 소프트웨어 패키지의 다운로드 주소를 마스터 ECU에 전송할 수 있게 하도록 하는 특정 방식이 제공되고; 노드 ECU의 잔여 저장 공간이 노드 ECU의 타겟 소프트웨어 패키지를 저장하기에 충분할 때, 마스터 ECU는 다운로드 주소를 노드 ECU에 전송하여, 노드 ECU가, 다운로드 주소에 기초하여, 노드 ECU의 타겟 소프트웨어 패키지를 전송하도록 OTA 서버에 요청하게 할 수 있음을 알 수 있다.
임의적으로, 제1 양태의 제5 가능한 구현을 참조하여, 제6 가능한 구현에서, 제1 인터페이스는 트랜스퍼 차량 패키지 TransferVehiclePackage 인터페이스이다. TransferVehiclePackage 인터페이스는 AutoSar에 정의된 인터페이스이다. 제1 양태의 제6 가능한 구현에서, 이 솔루션에서는, 타겟 소프트웨어 패키지의 다운로드 주소가 기존 TransferVehiclePackage 인터페이스에 추가되어, 마스터 ECU가 TransferVehiclePackage 인터페이스를 사용함으로써 타겟 소프트웨어 패키지의 다운로드 주소를 획득하게 할 수 있다. 이는 AutoSar에 기초하여 OTA 서버가 소프트웨어 패키지를 노드 ECU에 직접 전송하는 특정 방식을 제공하여, 솔루션의 다양성이 개선되게 한다.
임의적으로, 제1 양태의 제5 가능한 구현 또는 제1 양태의 제6 가능한 구현을 참조하여, 제7 가능한 구현에서, 노드 ECU들의 수는 N이고, N은 1보다 큰 정수이다. 마스터 ECU는 N개의 제1 파라미터 값을 획득할 때 노드 ECU들의 제4 인터페이스들을 호출하도록 구체적으로 구성된다. 제1 양태의 제7 가능한 구현으로부터, 데이터 송신 시스템이 복수의 노드 ECU들을 포함할 때, 마스터 ECU가 복수의 노드 ECU들의 각각의 노드 ECU의 잔여 저장 공간이 각각의 노드 ECU의 소프트웨어 패키지의 사이즈보다 작지 않음을 알 때에만 마스터 ECU가 노드 ECU들의 제4 인터페이스들을 호출하여, 노드 ECU들이 소프트웨어 패키지들의 다운로드 주소들을 획득하게 함을 알 수 있다. 마스터 ECU가 복수의 노드 ECU들의 각각의 노드 ECU의 잔여 저장 공간이 각각의 노드 ECU의 소프트웨어 패키지의 사이즈보다 작지 않음을 알 때, 각각의 노드 ECU는 OTA로부터 획득된 소프트웨어 패키지 전송 시퀀스에 따라 각각의 노드 ECU의 소프트웨어 패키지의 다운로드 주소를 획득할 수 있도록 될 수 있다. 대안적으로, 개개의 소프트웨어 패키지들의 다운로드 주소들은 복수의 노드 ECU들에 동시에 전송될 수 있다. 제1 양태의 제7 가능한 구현으로부터, 모든 노드 ECU들의 잔여 저장 공간이 개개의 소프트웨어 패키지들을 저장하기에 충분할 때에만, 소프트웨어 패키지들이 송신된다는 점을 알 수 있다. 이는 다운로드 프로세스에서 일부 노드 ECU들의 리소스 부족에 의해 야기되는 업그레이드 실패를 방지하고, 업그레이드 실패에 의해 야기되는 사용자 트래픽 소모 및 리소스 낭비를 감소시킨다.
임의적으로, 제1 양태의 제5 가능한 구현 또는 제1 양태의 제6 가능한 구현을 참조하여, 제8 가능한 구현에서, 노드 ECU들의 수는 N이고, N은 1보다 큰 정수이다. 마스터 ECU는 M개의 제1 파라미터 값을 획득할 때 노드 ECU들의 제4 인터페이스들을 호출하지 않도록 구체적으로 구성되고, M은 N보다 작고 1보다 큰 정수이다. 제1 양태의 제8 가능한 구현으로부터, 마스터 ECU가 복수의 노드 ECU들의 각각의 노드 ECU의 잔여 저장 공간이 각각의 노드 ECU의 소프트웨어 패키지의 사이즈보다 작지 않음을 알지 못할 때, 노드 ECU들의 제4 인터페이스들이 호출되지 않음을 알 수 있다. 즉, 복수의 노드 ECU들 중 일부 노드 ECU들의 잔여 저장 공간이 노드 ECU들의 소프트웨어 패키지들을 저장하기에 부족한 경우, 마스터 ECU는 복수의 노드 ECU들에서 임의의 노드의 소프트웨어 패키지의 다운로드 주소를 노드에 전송하지 않는다. 이는 다운로드 프로세스에서 일부 노드 ECU들의 리소스 부족에 의해 야기되는 업그레이드 실패를 방지하고, 업그레이드 실패에 의해 야기되는 사용자 트래픽 소모 및 리소스 낭비를 감소시킨다.
임의적으로, 제1 양태 또는 제1 양태의 제1 가능한 구현 내지 제1 양태의 제6 가능한 구현을 참조하여, 제9 가능한 구현에서, 데이터 송신 시스템은 AutoSar에 기초한 데이터 송신 시스템이다.
임의적으로, 제1 양태 또는 제1 양태의 제1 가능한 구현 내지 제1 양태의 제6 가능한 구현을 참조하여, 제10 가능한 구현에서, 노드 ECU는 프롬프트 메시지를 전송하도록 추가로 구성된다. 프롬프트 메시지는 노드 ECU가 OTA 서버로부터 타겟 소프트웨어 패키지를 다운로드함을 지시하는 데 사용된다.
임의적으로, 제1 양태 또는 제1 양태의 제1 가능한 구현 내지 제1 양태의 제6 가능한 구현을 참조하여, 제11 가능한 구현에서, 마스터 ECU는 프롬프트 메시지를 전송하도록 추가로 구성된다. 프롬프트 메시지는 노드 ECU가 OTA 서버로부터 타겟 소프트웨어 패키지를 다운로드함을 지시하는 데 사용된다.
제2 양태에 따르면, 본 출원은 오버 디 에어(OTA) 서버를 제공한다. OTA 서버는 업데이트 및 구성 관리(update and configuration management)(UCM) 모듈을 포함한다. UCM 모듈은 마스터 ECU의 제1 인터페이스를 호출하여, 마스터 ECU가 OTA 서버가 제1 인터페이스를 호출한다는 사실에 응답하여 타겟 소프트웨어 패키지의 사이즈를 획득하게 하고, 마스터 ECU가 노드 ECU의 제2 인터페이스를 호출하여, 노드 ECU가 마스터 ECU가 제2 인터페이스를 호출한다는 사실에 응답하여 타겟 소프트웨어 패키지의 사이즈를 획득하고 노드 ECU의 잔여 저장 공간을 체크하게 하고, 잔여 저장 공간이 타겟 소프트웨어 패키지의 사이즈보다 작지 않을 때, 노드 ECU가 OTA 서버에 의해 전송된 타겟 소프트웨어 패키지를 수신하게 하도록 구성된다.
임의적으로, 제2 양태를 참조하여, 제1 가능한 구현에서, UCM 모듈은 마스터 ECU가 UCM 모듈의 제3 인터페이스를 호출한다는 사실에 응답하여 타겟 소프트웨어 패키지를 노드 ECU에 전송하도록 추가로 구성된다. 제3 인터페이스는 UCM 모듈의 것이고 마스터 ECU가 제1 파라미터 값을 획득할 때 마스터 ECU에 의해 호출되는 인터페이스이고, 제1 파라미터 값은 노드 ECU에 의해 마스터 ECU에 리턴된 제1 호출 결과에 포함된 파라미터 값이고, 제1 파라미터 값은 노드 ECU의 잔여 저장 공간이 타겟 소프트웨어 패키지의 사이즈보다 작지 않음을 지시하는 데 사용된다.
임의적으로, 제2 양태를 참조하여, 제2 가능한 구현에서, UCM 모듈은 마스터 ECU의 제1 인터페이스를 호출하여, 마스터 ECU가 OTA 서버가 제1 인터페이스를 호출한다는 사실에 응답하여 타겟 소프트웨어 패키지의 다운로드 주소를 획득하게 한 다음, 노드 ECU가 마스터 ECU가 제4 인터페이스를 호출한다는 사실에 응답하여 타겟 소프트웨어 패키지의 다운로드 주소를 획득하고 OTA 서버의 제5 인터페이스를 호출하게 하도록 추가로 구성된다. UCM 모듈은: 노드 ECU가 UCM 모듈의 제5 인터페이스를 호출한다는 사실에 응답하여 타겟 소프트웨어 패키지의 다운로드 주소를 수신하고 다운로드 주소에 따라 타겟 소프트웨어 패키지를 노드 ECU에 전송하도록 추가로 구성된다.
제3 양태에 따르면, 본 출원은 마스터 전자 제어 유닛(ECU)을 제공한다. 마스터 ECU는 업데이트 및 구성 관리 마스터(update and configuration management master)(UCM Master) 모듈을 포함한다. UCM Master 모듈은 OTA 서버가 UCM Master 모듈의 제1 인터페이스를 호출한다는 사실에 응답하여 타겟 소프트웨어 패키지의 사이즈를 획득하도록 구성된다. UCM Master 모듈은 노드 ECU의 제2 인터페이스를 호출하여, 노드 ECU가 제2 인터페이스가 호출된다는 사실에 응답하여 타겟 소프트웨어 패키지의 사이즈를 획득하고 노드 ECU의 잔여 저장 공간을 체크하게 하고, 잔여 저장 공간이 타겟 소프트웨어 패키지의 사이즈보다 작지 않을 때, 노드 ECU가 OTA 서버에 의해 전송된 타겟 소프트웨어 패키지를 수신하게 하도록 추가로 구성된다.
임의적으로, 제3 양태를 참조하여, 제1 가능한 구현에서, UCM Master 모듈은 제1 파라미터 값을 획득할 때 OTA 서버의 제3 인터페이스를 호출하여, OTA 서버가 제3 인터페이스가 호출된다는 사실에 응답하여 타겟 소프트웨어 패키지를 노드 ECU에 전송하게 하도록 추가로 구성된다. 제1 파라미터 값은 노드 ECU에 의해 마스터 ECU에 리턴된 제1 호출 결과에 포함된 파라미터 값이고, 제1 파라미터 값은 노드 ECU의 잔여 저장 공간이 타겟 소프트웨어 패키지의 사이즈보다 작지 않음을 지시하는 데 사용된다.
임의적으로, 제3 양태의 제1 가능한 구현을 참조하여, 제2 가능한 구현에서, 노드 ECU들의 수는 N이고, N은 1보다 큰 정수이다. UCM Master 모듈은 N개의 제1 파라미터 값을 획득할 때 OTA 서버의 제3 인터페이스를 호출하도록 구체적으로 구성된다.
임의적으로, 제3 양태를 참조하여, 제3 가능한 구현에서, UCM Master 모듈은 OTA 서버가 제1 인터페이스를 호출한다는 사실에 응답하여 타겟 소프트웨어 패키지의 다운로드 주소를 획득하도록 추가로 구성된다. UCM Master 모듈은 제1 파라미터 값을 획득할 때 노드 ECU의 제4 인터페이스를 호출하여, 노드 ECU가 제4 인터페이스가 호출된다는 사실에 응답하여 다운로드 주소를 획득하고 OTA 서버의 제5 인터페이스를 호출하게 한 다음, OTA 서버가 제5 인터페이스가 호출된다는 사실에 응답하여 다운로드 주소를 수신하고 다운로드 주소에 따라 타겟 소프트웨어 패키지를 노드 ECU에 전송하게 하도록 추가로 구성된다. 제1 파라미터 값은 노드 ECU에 의해 마스터 ECU에 리턴된 제1 호출 결과에 포함된 파라미터 값이고, 제1 파라미터 값은 노드 ECU의 잔여 저장 공간이 타겟 소프트웨어 패키지의 사이즈보다 작지 않음을 지시하는 데 사용된다.
임의적으로, 제3 양태의 제3 가능한 구현을 참조하여, 제4 가능한 구현에서, 노드 ECU들의 수는 N이고, N은 1보다 큰 정수이다. UCM Master 모듈은 N개의 제1 파라미터 값을 획득할 때 노드 ECU들의 제4 인터페이스들을 호출하도록 구체적으로 구성된다.
제4 양태에 따르면, 본 출원은 노드 전자 제어 유닛(ECU)을 제공한다. 노드 ECU는 업데이트 및 구성 관리(UCM) 모듈을 포함한다. UCM 모듈은: 마스터 ECU가 마스터 ECU의 제1 인터페이스가 호출된 후에 UCM 모듈의 제2 인터페이스를 호출한다는 사실에 응답하여, 타겟 소프트웨어 패키지의 사이즈를 획득하고 노드 ECU의 잔여 저장 공간을 체크하고, 잔여 저장 공간이 타겟 소프트웨어 패키지의 사이즈보다 작지 않을 때, OTA 서버에 의해 전송된 타겟 소프트웨어 패키지를 수신하도록 구성된다. 마스터 ECU의 제1 인터페이스는 OTA 서버에 의해 호출되어, 마스터 ECU가 제1 인터페이스가 호출된다는 사실에 응답하여 타겟 소프트웨어 패키지의 사이즈를 획득하게 한다.
임의적으로, 제4 양태를 참조하여, 제1 가능한 구현에서, UCM 모듈은 제1 호출 결과를 마스터 ECU에 리턴하도록 추가로 구성된다. 제1 호출 결과는 제1 파라미터 값을 포함하고, 제1 파라미터 값은 노드 ECU의 잔여 저장 공간이 타겟 소프트웨어 패키지의 사이즈보다 작지 않음을 지시하는 데 사용되어, 마스터 ECU가 제1 파라미터 값을 획득할 때 OTA 서버의 제3 인터페이스를 호출하게 한 다음, OTA 서버가 마스터 ECU가 제3 인터페이스를 호출한다는 사실에 응답하여 타겟 소프트웨어 패키지를 노드 ECU에 전송하게 한다.
임의적으로, 제4 양태를 참조하여, 제2 가능한 구현에서, UCM 모듈은 제1 호출 결과를 마스터 ECU에 리턴하도록 추가로 구성된다. 제1 호출 결과는 제1 파라미터 값을 포함하고, 제1 파라미터 값은 노드 ECU의 잔여 저장 공간이 타겟 소프트웨어 패키지의 사이즈보다 작지 않음을 지시하는 데 사용되어, 마스터 ECU가 제1 파라미터 값을 획득할 때 노드 ECU의 제4 인터페이스를 호출하게 한다. UCM 모듈은: 마스터 ECU가 제4 인터페이스를 호출한다는 사실에 응답하여, 타겟 소프트웨어 패키지의 다운로드 주소를 획득하고 OTA 서버의 제5 인터페이스를 호출하여, OTA 서버가 제5 인터페이스가 호출된다는 사실에 응답하여 다운로드 주소를 수신하고 다운로드 주소에 따라 타겟 소프트웨어 패키지를 노드 ECU에 전송하게 하도록 추가로 구성된다.
제5 양태에 따르면, 본 출원은 데이터 송신 방법으로서, OTA 서버가 마스터 ECU의 제1 인터페이스를 호출하여, 마스터 ECU가 OTA 서버가 제1 인터페이스를 호출한다는 사실에 응답하여 타겟 소프트웨어 패키지의 사이즈를 획득하게 하고, 마스터 ECU가 노드 ECU의 제2 인터페이스를 호출하여, 노드 ECU가 마스터 ECU가 제2 인터페이스를 호출한다는 사실에 응답하여 타겟 소프트웨어 패키지의 사이즈를 획득하고 노드 ECU의 잔여 저장 공간을 체크하게 하고, 잔여 저장 공간이 타겟 소프트웨어 패키지의 사이즈보다 작지 않을 때, 노드 ECU가 OTA 서버에 의해 전송된 타겟 소프트웨어 패키지를 수신하게 하는 단계를 포함하는 데이터 송신 방법을 제공한다.
임의적으로, 제5 양태를 참조하여, 제1 가능한 구현에서, 방법은: OTA 서버가 마스터 ECU가 UCM 모듈의 제3 인터페이스를 호출한다는 사실에 응답하여 타겟 소프트웨어 패키지를 노드 ECU에 전송하는 단계를 더 포함한다. 제3 인터페이스는 OTA 서버의 것이고 마스터 ECU가 제1 파라미터 값을 획득할 때 마스터 ECU에 의해 호출되는 인터페이스이고, 제1 파라미터 값은 노드 ECU에 의해 마스터 ECU에 리턴된 제1 호출 결과에 포함된 파라미터 값이고, 제1 파라미터 값은 노드 ECU의 잔여 저장 공간이 타겟 소프트웨어 패키지의 사이즈보다 작지 않음을 지시하는 데 사용된다.
임의적으로, 제5 양태를 참조하여, 제2 가능한 구현에서, 방법은: OTA 서버가 마스터 ECU의 제1 인터페이스를 호출하여, 마스터 ECU가 OTA 서버가 제1 인터페이스를 호출한다는 사실에 응답하여 타겟 소프트웨어 패키지의 다운로드 주소를 획득하게 한 다음, 노드 ECU가 마스터 ECU가 제4 인터페이스를 호출한다는 사실에 응답하여 타겟 소프트웨어 패키지의 다운로드 주소를 획득하고 OTA 서버의 제5 인터페이스를 호출하게 하는 단계를 더 포함한다. 노드 ECU가 UCM 모듈의 제5 인터페이스를 호출한다는 사실에 응답하여, OTA 서버는 타겟 소프트웨어 패키지의 다운로드 주소를 수신하고 다운로드 주소에 따라 타겟 소프트웨어 패키지를 노드 ECU에 전송한다.
제6 양태에 따르면, 본 출원은 데이터 송신 방법으로서, 마스터 ECU가 OTA 서버가 UCM Master 모듈의 제1 인터페이스를 호출한다는 사실에 응답하여 타겟 소프트웨어 패키지의 사이즈를 획득하는 단계를 포함하는 데이터 송신 방법을 제공한다. 마스터 ECU는 노드 ECU의 제2 인터페이스를 호출하여, 노드 ECU가 제2 인터페이스가 호출된다는 사실에 응답하여 타겟 소프트웨어 패키지의 사이즈를 획득하고 노드 ECU의 잔여 저장 공간을 체크하게 하고, 잔여 저장 공간이 타겟 소프트웨어 패키지의 사이즈보다 작지 않을 때, 노드 ECU가 OTA 서버에 의해 전송된 타겟 소프트웨어 패키지를 수신한다.
임의적으로, 제6 양태를 참조하여, 제1 가능한 구현에서, 방법은: 마스터 ECU가 제1 파라미터 값을 획득할 때 OTA 서버의 제3 인터페이스를 호출하여, OTA 서버가 제3 인터페이스가 호출된다는 사실에 응답하여 타겟 소프트웨어 패키지를 노드 ECU에 전송하게 하는 단계를 더 포함한다. 제1 파라미터 값은 노드 ECU에 의해 마스터 ECU에 리턴된 제1 호출 결과에 포함된 파라미터 값이고, 제1 파라미터 값은 노드 ECU의 잔여 저장 공간이 타겟 소프트웨어 패키지의 사이즈보다 작지 않음을 지시하는 데 사용된다.
임의적으로, 제6 양태의 제1 가능한 구현을 참조하여, 제2 가능한 구현에서, 노드 ECU들의 수는 N이고, N은 1보다 큰 정수이다. 마스터 ECU가 제1 파라미터 값을 획득할 때 OTA 서버의 제3 인터페이스를 호출하는 것은 마스터 ECU가 N개의 제1 파라미터 값을 획득할 때 OTA 서버의 제3 인터페이스를 호출하는 것을 포함한다.
임의적으로, 제6 양태를 참조하여, 제3 가능한 구현에서, 방법은: 마스터 ECU가 OTA 서버가 제1 인터페이스를 호출한다는 사실에 응답하여 타겟 소프트웨어 패키지의 다운로드 주소를 획득하는 단계를 더 포함한다. 마스터 ECU는 제1 파라미터 값을 획득할 때 노드 ECU의 제4 인터페이스를 호출하여, 노드 ECU가 제4 인터페이스가 호출된다는 사실에 응답하여 다운로드 주소를 획득하고 OTA 서버의 제5 인터페이스를 호출하게 한 다음, OTA 서버가 제5 인터페이스가 호출된다는 사실에 응답하여 다운로드 주소를 수신하고 다운로드 주소에 따라 타겟 소프트웨어 패키지를 노드 ECU에 전송하게 한다. 제1 파라미터 값은 노드 ECU에 의해 마스터 ECU에 리턴된 제1 호출 결과에 포함된 파라미터 값이고, 제1 파라미터 값은 노드 ECU의 잔여 저장 공간이 타겟 소프트웨어 패키지의 사이즈보다 작지 않음을 지시하는 데 사용된다.
임의적으로, 제6 양태의 제3 가능한 구현을 참조하여, 제4 가능한 구현에서, 노드 ECU들의 수는 N이고, N은 1보다 큰 정수이다. 마스터 ECU가 제1 파라미터 값을 획득할 때 노드 ECU의 제4 인터페이스를 호출하는 것은 마스터 ECU가 N개의 제1 파라미터 값을 획득할 때 노드 ECU들의 제4 인터페이스들을 호출하는 것을 포함한다.
제7 양태에 따르면, 본 출원은 데이터 송신 방법으로서, 마스터 ECU가 마스터 ECU의 제1 인터페이스가 호출된 후에 UCM 모듈의 제2 인터페이스를 호출한다는 사실에 응답하여, 노드 ECU가 타겟 소프트웨어 패키지의 사이즈를 획득하고 노드 ECU의 잔여 저장 공간을 체크하고; 잔여 저장 공간이 타겟 소프트웨어 패키지의 사이즈보다 작지 않을 때, 노드 ECU가 OTA 서버에 의해 전송된 타겟 소프트웨어 패키지를 수신하는 단계를 포함하는 데이터 송신 방법을 제공한다. 마스터 ECU의 제1 인터페이스는 OTA 서버에 의해 호출되어, 마스터 ECU가 제1 인터페이스가 호출된다는 사실에 응답하여 타겟 소프트웨어 패키지의 사이즈를 획득하게 한다.
임의적으로, 제7 양태를 참조하여, 제1 가능한 구현에서, 방법은: 노드 ECU가 제1 호출 결과를 마스터 ECU에 리턴하는 단계를 더 포함한다. 제1 호출 결과는 제1 파라미터 값을 포함하고, 제1 파라미터 값은 노드 ECU의 잔여 저장 공간이 타겟 소프트웨어 패키지의 사이즈보다 작지 않음을 지시하는 데 사용되어, 마스터 ECU가 제1 파라미터 값을 획득할 때 OTA 서버의 제3 인터페이스를 호출하게 한 다음, OTA 서버가 마스터 ECU가 제3 인터페이스를 호출한다는 사실에 응답하여 타겟 소프트웨어 패키지를 노드 ECU에 전송하게 한다.
임의적으로, 제7 양태를 참조하여, 제2 가능한 구현에서, 방법은: 노드 ECU가 제1 호출 결과를 마스터 ECU에 리턴하는 단계를 더 포함한다. 제1 호출 결과는 제1 파라미터 값을 포함하고, 제1 파라미터 값은 노드 ECU의 잔여 저장 공간이 타겟 소프트웨어 패키지의 사이즈보다 작지 않음을 지시하는 데 사용되어, 마스터 ECU가 제1 파라미터 값을 획득할 때 노드 ECU의 제4 인터페이스를 호출하게 한다. 마스터 ECU가 제4 인터페이스를 호출한다는 사실에 응답하여, 노드 ECU는 타겟 소프트웨어 패키지의 다운로드 주소를 획득하고 OTA 서버의 제5 인터페이스를 호출하여, OTA 서버가 제5 인터페이스가 호출된다는 사실에 응답하여 다운로드 주소를 수신하고 다운로드 주소에 따라 타겟 소프트웨어 패키지를 노드 ECU에 전송하게 한다.
제8 양태에 따르면, 본 출원은 OTA 서버를 제공한다. OTA 서버는 프로세서를 포함할 수 있으며, 프로세서는 메모리에 커플링되고, 메모리는 프로그램 명령어를 저장하고, 메모리에 저장된 프로그램 명령어가 프로세서에 의해 실행될 때, 제5 양태 및 제5 양태의 가능한 구현들 중 어느 하나에 따른 방법이 구현된다.
제9 양태에 따르면, 본 출원은 ECU를 제공한다. ECU는 프로세서를 포함할 수 있으며, 프로세서는 메모리에 커플링되고, 메모리는 프로그램 명령어를 저장하고, 메모리에 저장된 프로그램 명령어가 프로세서에 의해 실행될 때, 제6 양태 및 제6 양태의 가능한 구현들 중 어느 하나에 따른 방법이 구현된다.
제10 양태에 따르면, 본 출원은 ECU를 제공한다. ECU는 프로세서를 포함할 수 있으며, 프로세서는 메모리에 커플링되고, 메모리는 프로그램 명령어를 저장하고, 메모리에 저장된 프로그램 명령어가 프로세서에 의해 실행될 때, 제7 양태 및 제7 양태의 가능한 구현들 중 어느 하나에 따른 방법이 구현된다.
제11 양태에 따르면, 본 출원은 컴퓨터 판독가능 저장 매체를 제공한다. 컴퓨터 판독가능 저장 매체는 프로그램을 포함할 수 있다. 프로그램이 컴퓨터에서 실행될 때, 컴퓨터는 제5 양태 및 제5 양태의 가능한 구현들 중 어느 하나에 따른 방법을 수행할 수 있게 된다.
제12 양태에 따르면, 본 출원은 컴퓨터 판독가능 저장 매체를 제공한다. 컴퓨터 판독가능 저장 매체는 프로그램을 포함할 수 있다. 프로그램이 컴퓨터에서 실행될 때, 컴퓨터는 제6 양태 및 제6 양태의 가능한 구현들 중 어느 하나에 따른 방법을 수행할 수 있게 된다.
제13 양태에 따르면, 본 출원은 컴퓨터 판독가능 저장 매체를 제공한다. 컴퓨터 판독가능 저장 매체는 프로그램을 포함할 수 있다. 프로그램이 컴퓨터에서 실행될 때, 컴퓨터는 제7 양태 및 제7 양태의 가능한 구현들 중 어느 하나에 따른 방법을 수행할 수 있게 된다.
제14 양태에 따르면, 본 출원은 칩 시스템을 제공한다. 칩 시스템은 제6 양태 및 제6 양태의 가능한 구현들 중 어느 하나에 따른 방법의 기능들을 구현하기 위해 차량을 지원하도록 구성되는 프로세서를 포함할 수 있다.
제15 양태에 따르면, 본 출원은 칩 시스템을 제공한다. 칩 시스템은 제7 양태 및 제7 양태의 가능한 구현들 중 어느 하나에 따른 방법의 기능들을 구현하기 위해 차량을 지원하도록 구성되는 프로세서를 포함할 수 있다.
제16 양태에 따르면, 본 출원은 컴퓨터 프로그램 제품을 제공한다. 컴퓨터 프로그램 제품이 디바이스에서 실행될 때, 디바이스는 제5 양태 및 제5 양태의 가능한 구현들 중 어느 하나에 따른 방법을 수행할 수 있게 된다.
제17 양태에 따르면, 본 출원은 컴퓨터 프로그램 제품을 제공한다. 컴퓨터 프로그램 제품이 디바이스에서 실행될 때, 디바이스는 제6 양태 및 제6 양태의 가능한 구현들 중 어느 하나에 따른 방법을 수행할 수 있게 된다.
제18 양태에 따르면, 본 출원은 컴퓨터 프로그램 제품을 제공한다. 컴퓨터 프로그램 제품이 디바이스에서 실행될 때, 디바이스는 제7 양태 및 제7 양태의 가능한 구현들 중 어느 하나에 따른 방법을 수행할 수 있게 된다.
제19 양태에 따르면, 본 출원은 지능형 차량을 제공한다. 지능형 차량은 마스터 ECU 및 노드 ECU를 포함할 수 있고, 마스터 ECU는 제3 양태 및 제3 양태의 가능한 구현들 중 어느 하나에 따른 ECU이고, 노드 ECU는 제4 양태 및 제4 양태의 가능한 구현들 중 어느 하나에 따른 ECU이다.
제20 양태에 따르면, 본 출원은 지능형 차량을 제공한다. 지능형 차량은 프로세싱 회로 및 저장 회로를 포함하고, 프로세싱 회로 및 저장 회로는 제6 양태 및 제6 양태의 가능한 구현들 중 어느 하나에 따른 방법을 수행하도록 구성된다.
제21 양태에 따르면, 본 출원은 지능형 차량을 제공한다. 지능형 차량은 프로세싱 회로 및 저장 회로를 포함하고, 프로세싱 회로 및 저장 회로는 제7 양태 및 제7 양태의 가능한 구현들 중 어느 하나에 따른 방법을 수행하도록 구성된다.
본 출원은 데이터 송신 시스템, 데이터 송신 방법, 지능형 차량, 및 장치를 제공한다. 본 출원에서 제공되는 솔루션들에 따르면, 마스터 ECU는 여전히 각각의 노드 ECU의 업그레이드 프로세스를 제어한다. 그러나, 각각의 노드 ECU의 소프트웨어 패키지는 OTA 서버에 의해 각각의 노드 ECU에 직접 전송되고, 마스터 ECU는 각각의 노드 ECU의 소프트웨어 패키지를 버퍼링할 필요가 없고 각각의 노드 ECU의 업그레이드 패키지를 포워딩할 필요가 없다. 이러한 방식으로, 마스터 ECU는 상대적으로 큰 저장 공간 또는 상대적으로 높은 프로세싱 성능을 가질 필요가 없으며, 업그레이드 효율성이 더욱 개선될 수 있다. 또한, 본 출원에서 제공되는 데이터 송신 시스템에는, 새로운 인터페이스가 정의된다. 모든 노드 ECU들이 개개의 소프트웨어 패키지들을 저장하기에 충분한 저장 공간을 가질 때, 개개의 소프트웨어 패키지들이 노드 ECU들에 전송된다. 이는 다운로드 프로세스에서 일부 노드 ECU들의 리소스 부족에 의해 야기되는 업그레이드 실패를 방지하고, 업그레이드 실패에 의해 야기되는 사용자 트래픽 소모 및 리소스 낭비를 감소시킨다. 업그레이드 효율성이 더욱 개선될 수 있다.
도 1은 AutoSar의 개략도이다.
도 2는 AutoSar에서 소프트웨어 업그레이드를 구현하기 위한 아키텍처의 개략도이다.
도 3은 AutoSar에서 소프트웨어 업그레이드 절차의 개략도이다.
도 4는 본 출원의 실시예에 따른 데이터 송신 방법의 개략적인 흐름도이다.
도 5는 본 출원의 실시예에 따른 다른 데이터 송신 방법의 개략적인 흐름도이다.
도 6은 본 출원의 실시예에 따른 다른 데이터 송신 방법의 개략적인 흐름도이다.
도 7a는 본 출원의 실시예에 따른 다른 데이터 송신 방법의 개략적인 흐름도이다.
도 7b는 본 출원의 실시예에 따른 다른 데이터 송신 방법의 개략적인 흐름도이다.
도 8은 본 출원의 실시예에 따른 데이터 송신 시스템의 구조의 개략도이다.
도 9는 본 출원의 실시예에 따른 통신 디바이스의 구조의 개략도이다.
도 10은 본 출원의 실시예에 따른 차량의 구조의 개략도이다.
도 11은 본 출원의 실시예에 따른 애플리케이션 시나리오의 개략도이다.
다음은 첨부된 도면들을 참조하여 본 출원의 실시예들을 설명한다. 설명된 실시예들은 본 출원의 모든 실시예들이 아니라 단지 일부에 불과함은 명백하다. 본 기술분야의 통상의 기술자는, 기술들의 발전과 새로운 시나리오들의 출현으로, 본 출원의 실시예들에서 제공되는 기술적 솔루션들이 유사한 기술적 문제들에도 적용가능함을 알 수 있다.
본 출원의 명세서, 청구범위, 및 첨부된 도면들에서, "제1", "제2" 등의 용어들은 유사한 객체들을 구별하도록 의도되며, 반드시 특정한 순서 또는 시퀀스를 나타내는 것은 아니다. 이러한 방식으로 사용되는 데이터는 적절한 경우들에 상호교환 가능하므로, 본 명세서에서 설명되는 실시예들은 본 명세서에서 예시되거나 또는 설명되는 순서와 다른 순서들로 구현될 수 있음이 이해되어야 한다. 또한, 용어들 "포함하는(including)", "갖는(having)", 및 이들의 임의의 다른 변형들은 비배타적인 포함을 커버하도록 의도되며, 예를 들어, 일련의 단계들 또는 모듈들을 포함하는 프로세스, 방법, 시스템, 제품, 또는 디바이스는 명확하게 나열되는 해당 단계들 또는 모듈들에 반드시 제한되지는 않으며, 명확하게 나열되지 않거나 또는 이러한 프로세스, 방법, 제품, 또는 디바이스에 고유한 다른 단계들 또는 모듈들을 포함할 수 있다. 본 출원에서의 단계들의 명명 또는 넘버링은 방법 절차에서의 단계들이 명명 또는 넘버링에 의해 지시된 시간/논리적 시퀀스에 따라 수행될 필요가 있음을 의미하지 않는다. 명명되었거나 또는 넘버링된 절차에서의 단계들의 실행 시퀀스는, 동일하거나 유사한 기술적 효과가 달성될 수 있는 경우, 달성될 기술적 목적에 따라 변경될 수 있다. 본 출원에서 모듈들로의 분할은 논리적 분할이다. 실제 적용 동안 다른 분할 방식이 있을 수 있다. 예를 들어, 복수의 모듈들이 다른 시스템에 결합되거나 또는 통합될 수 있고, 또는 일부 피처들이 무시되거나 또는 수행되지 않을 수 있다. 또한, 디스플레이되거나 논의되는 상호 커플링들 또는 직접 커플링들 또는 통신 연결들은 일부 인터페이스들을 사용함으로써 구현될 수 있다. 모듈들 사이의 간접 커플링들 또는 통신 연결들은 전자적 또는 다른 유사한 형태로 구현될 수 있다. 이는 본 출원에서 제한되지 않는다. 또한, 별도의 부분들로서 설명되는 모듈들 또는 서브모듈들은 물리적으로 분리될 수도 있고 아닐 수도 있고, 물리적인 모듈들일 수도 있고 아닐 수도 있고, 또는 복수의 회로 모듈들에 분산되어 있을 수도 있다. 일부 또는 모든 모듈들은 본 출원의 솔루션들의 목적들을 구현하기 위해 실제 요구사항에 기초하여 선택될 수 있다.
AutoSar는 글로벌 자동차 제조업체들, 컴포넌트 공급업체들, 및 전자 소프트웨어 시스템 회사들에 의해 공동으로 확립된 개방형 표준화 소프트웨어 아키텍처이다. 이것은 100년 이상 동안 개발된 자동차 기술들에서의 경험의 요약이다. AutoSar는 일련의 시스템 서비스 인터페이스들을 정의한다. 이들 인터페이스들은 상이한 소프트웨어의 호환성 및 상호운용성을 구현하는 데 사용되고, 이에 의해, 자동차 소프트웨어 개발을 단순화하고 상이한 모델들의 차량들에 대한 소프트웨어 디플로이먼트를 용이하게 할 수 있다. AutoSar는 주로 다음의 피처들을 갖는다:
a. AutoSar는 하드웨어 플랫폼들 사이의 차이에 의해 야기되는 소프트웨어 개발 어려움들을 해결하는 데 전용되어, 개발자들이 자동차 소프트웨어 기능들의 혁신에 집중할 수 있게 한다.
b. AutoSar는 표준 소프트웨어 인터페이스 정의들을 제공한다. 엔지니어는 표준 소프트웨어 컴포넌트의 재사용성을 구현하기 위해, 실제 요구사항에 기초하여 차량의 전자 제어 유닛(electronic control unit, ECU)에 요구되는 소프트웨어 컴포넌트를 할당할 수 있다.
c. AutoSar의 애플리케이션-계층 소프트웨어 컴포넌트는 하드웨어와 독립적이고, 따라서, 애플리케이션 개발자는 바텀-계층 소프트웨어 서비스(bottom-layer software service)와 하드웨어 인터페이스 사이의 비호환성 문제를 걱정하지 않고 애플리케이션 소프트웨어에서 각각의 차량 기능의 세부사항들을 지정할 수 있다.
도 1은 AutoSar의 개략도이다. 대개, AutoSar는 애플리케이션 계층(application layer) 및 서비스들 계층(services layer)을 포함하는 것으로 고려될 수 있다.
애플리케이션 계층은 특정 모듈 기능들의 구현 및 대응하는 설명들을 포함하여 자동차 일렉트로닉스(automotive electronics)의 일부 또는 모든 기능들 및 거동을 캡슐화하고, 정의된 인터페이스들만 외부에 개방한다.
서비스들 계층의 주요 서비스들은 통신 관리 서비스(communication management, COM), 암호 서비스(cryptography, CRYPTO), 로그 서비스(logging & tracing, LOG), 진단 서비스(diagnostics service, DIAG), 영구 저장 서비스(persistency, PER), 상태 관리 서비스(state management, SM), 실행 관리 서비스(execution management, EXEC), 시간 동기화 서비스(time synchronization, TSYNC), 업데이트 및 구성 관리 서비스(update and configuration management, UCM), 업데이트 및 구성 관리 마스터 서비스(update and configuration management master, UCM Master) 등을 포함한다. 본 출원에서 제공되는 솔루션들은 주로 서비스들 계층에서의 UCM 및 UCM Master와 관련된다. 본 출원에서 제공되는 실시예들은 주로 AutoSar의 서비스들 계층에서의 UCM 및 UCM Master에 초점을 둔다. UCM 및 UCM Master는 차량에서 차량 소프트웨어의 업데이트 및 업그레이드를 관리하는 역할을 한다. 기존 표준들은 UCM과 UCM Master 서비스들 사이의 인터페이스들 및 상호작용 절차들을 정의한다. 자동차 사용자들 또는 제조업체들은 이들 인터페이스들을 사용함으로써 AutoSar 시스템에서 소프트웨어를 쉽게 설치, 업데이트, 및 제거할 수 있다. 도 2 및 도 3을 참조하여, 다음은 AutoSar에서 UCM을 사용함으로써 차량에서 자동차 소프트웨어를 업그레이드하는 프로세스를 설명한다.
도 2는 AutoSar에서 소프트웨어 업그레이드를 구현하기 위한 아키텍처의 개략도이다. AutoSar에서는, OTA 기술을 사용함으로써 차량의 소프트웨어 업그레이드가 구현될 수 있다. OTA는 자동차 소프트웨어가 에어 통신 인터페이스, 예를 들어, 무선 피델리티(wireless fidelity, Wi-Fi), 롱 텀 에볼루션(long term evolution, LTE), 또는 5세대 모바일 통신(5th generation, 5G)을 사용함으로써 업데이트되거나 또는 업그레이드됨을 의미한다. OTA 업그레이드는 고정된 장소들 또는 고정된 라인들에 의존하지 않기 때문에, OTA 업그레이드는 종래의 자동차 소프트웨어 업그레이드 방법들이 갖지 않는 유연성 및 편의성을 갖는다. 소프트웨어 업그레이드 패키지가 OTA 기술을 사용함으로써 클라우드 서버로부터 로컬로 다운로드될 수 있다. 본 출원에서, 클라우드 서버는 대안적으로 때때로 OTA 서버, OTA 클라우드, 또는 OTA 클라우드 서버로서 지칭되며, 이들 용어들은 동일한 의미를 나타낸다. 본 출원에서 로컬은 차량 내 ECU를 지칭한다. 차량은 복수의 ECU들을 포함하고, 복수의 ECU들의 소프트웨어는 업그레이드 요구사항을 갖고, 복수의 ECU들의 업그레이드 시퀀스는 종속 관계를 가질 수 있으며, 즉, 복수의 ECU들의 소프트웨어 업그레이드 시퀀스는 제어될 필요가 있다. 또한, 예를 들어, 주행 중인 상태에서 소프트웨어가 업그레이드될 수 있는지 여부, 또는 소프트웨어가 사용자의 동의가 획득된 후에만 업그레이드될 수 있는지 여부와 같은 업그레이드 조건이 추가로 제한될 수 있다. 따라서, 복수의 ECU들의 소프트웨어 업그레이드를 조율하기 위해서는, 복수의 ECU들 중 적어도 하나에 제어 모듈이 설치되어야 한다. AutoSar에서, 이 모듈은 UCM 마스터(UCM Master) 모듈이다. 대개, UCM Master 모듈은 게이트웨이 또는 텔레매틱스 박스(telematics box, TBOX)에 설치될 수 있다. 또한, UCM 모듈들이 차량 내 다른 ECU들에 설치되어, UCM Master 모듈이 설치되는 ECU가 업그레이드될 필요가 있는 다른 ECU들의 UCM 모듈들을 제어 및 조율하게 하여, 전체 차량 소프트웨어 업그레이드를 완료한다. 다음은 도 3을 참조하여 AutoSar에서 소프트웨어 업그레이드 및 다운로드의 상호작용 프로세스를 설명한다. 이하, UCM Master 모듈이 설치되는 ECU는 마스터 ECU로서 지칭되고, UCM 모듈이 설치되는 ECU는 노드 ECU로서 지칭된다.
도 3은 AutoSar에서 소프트웨어 업그레이드 절차의 개략도이다. 도 3에 도시된 바와 같이, 송신 시스템은 OTA 서버, 마스터 ECU, 및 복수의 노드 ECU들을 포함한다. 예를 들어, 도 3은 노드 ECU 1 및 노드 ECU 2의 2개의 노드 ECU를 도시한다. 마스터 ECU는 차량 내 ECU들에서 UCM Master 모듈이 설치되는 ECU이고, 노드 ECU는 차량 내 ECU들에서 UCM 모듈이 설치되는 ECU이다. AutoSar의 소프트웨어 업그레이드 절차는 다음 단계들을 포함할 수 있다.
301: OTA 서버가 마스터 ECU의 TransferVehiclePackage 인터페이스를 호출한다.
OTA 서버는 마스터 ECU의 UCM Master 모듈의 TransferVehiclePackage 인터페이스를 호출한다. UCM Master 모듈은 대안적으로 때때로 본 출원에서 UCM Master 서비스로서 지칭된다는 점에 유의해야 한다. 또한, 본 출원에서 마스터 ECU의 인터페이스는 마스터 ECU의 UCM Master 모듈의 인터페이스라는 점에 유의해야 한다. 세부사항들은 아래에서 다시 설명되지 않는다.
전체 차량 업그레이드 패키지는 주로 업그레이드 정책과 같은 제어 정보를 포함하고, 마스터 ECU는 정보에 기초하여 각각의 노드 ECU의 업그레이드 및 업데이트 프로세스를 제어할 수 있다. 예를 들어, 마스터 ECU는 제어 정보에 기초하여 각각의 노드 ECU의 업그레이드 시퀀스 및 업그레이드 조건을 제어할 수 있다. 업그레이드 조건은: 주행 중인 상태에서 소프트웨어가 업그레이드되도록 허용되는지 여부, 소프트웨어가 사용자의 동의가 획득된 후에만 업그레이드될 수 있는지 여부 등을 포함할 수 있다.
AutoSar는 UCM Master 모듈의 전체 차량 업그레이드 패키지 다운로드(TransferVehiclePackage) 인터페이스를 정의한다. OTA 서버는 업그레이드 정책과 같은 제어 정보를 마스터 ECU에 전송하기 위해 마스터 ECU의 TransferVehiclePackage 인터페이스를 호출할 수 있다. 구체적으로, 업그레이드 정책과 같은 제어 정보는 UCM Master 모듈에 전송된다.
전체 차량 업그레이드 패키지는 각각의 ECU의 소프트웨어 패키지에 대한 정보를 더 포함한다. 예를 들어, 소프트웨어 패키지에 대한 정보는 패키지 이름 및 사이즈에 대한 정보를 포함할 수 있다.
302: OTA 서버가 마스터 ECU의 TransferStart 인터페이스를 호출한다.
OTA 서버는 마스터 ECU의 UCM Master 서비스의 TransferStart 인터페이스를 호출한다.
본 출원에서, 소프트웨어 패키지는 대안적으로 때때로 소프트웨어 업그레이드 패키지 또는 업그레이드 패키지로서 지칭되고, 이들 용어들은 동일한 의미를 나타내어, 업데이트될 필요가 있는 ECU의 소프트웨어 코드 또는 데이터를 나타낸다. AutoSar는 UCM Master 서비스의 트랜스퍼 시작(TransferStart) 인터페이스를 정의한다. OTA 서버는 각각의 노드 ECU의 소프트웨어 업그레이드 패키지의 이름을 마스터 ECU에 전송하기 위해 마스터 ECU의 UCM Master 서비스의 TransferStart 인터페이스를 호출할 수 있다.
303: 마스터 ECU가 노드 ECU 1의 TransferStart 인터페이스를 호출한다.
마스터 ECU는 노드 ECU 1의 UCM 모듈의 TransferStart 인터페이스를 호출한다. 본 출원에서 노드 ECU의 인터페이스는 노드 ECU의 UCM 모듈의 인터페이스를 지칭한다는 점에 유의해야 한다. 세부사항들은 아래에서 다시 설명되지 않는다.
예를 들어, 노드 ECU는 노드 ECU 1을 포함한다.
마스터 ECU는 노드 ECU 1의 TransferStart 인터페이스를 호출하고, 노드 ECU 1의 TransferStart 인터페이스의 파라미터 값은 노드 ECU 1의 소프트웨어 업그레이드 패키지의 사이즈이다. ECU 1은 TransferStart 인터페이스가 호출된다는 사실에 응답하여 잔여 저장 공간을 검출하고, 잔여 저장 공간이 ECU 1의 업그레이드 패키지를 저장하기에 충분한지 여부를 결정한다.
304: 노드 ECU 1은 노드 ECU 1의 TransferStart 인터페이스의 호출 결과를 리턴한다.
노드 ECU 1의 UCM 모듈은 마스터 ECU가 TransferStart 인터페이스를 호출한다는 사실에 응답하여 TransferStart 인터페이스의 호출 결과를 마스터 ECU에 리턴한다. 호출 결과는 노드 ECU 1이 노드 ECU 1의 업그레이드 패키지를 저장하기에 충분한 잔여 저장 공간을 갖는지 여부를 지시할 수 있다.
305: 마스터 ECU가 획득된 노드 ECU 1의 TransferStart 인터페이스의 호출 결과를 OTA 서버에 피드백한다.
306: OTA 서버가 마스터 ECU의 TransferData 인터페이스를 호출한다.
OTA 서버는 마스터 ECU의 UCM Master 모듈의 TransferData 인터페이스를 호출한다.
OTA 서버가, 단계 305에 따라, 노드 ECU 1이 충분한 저장 공간을 갖는다고 결정할 수 있는 경우, OTA 서버는 ECU 1의 업그레이드 패키지를 마스터 ECU에 전송한다. ECU 1의 업그레이드 패키지는 업데이트될 필요가 있는 ECU 1의 소프트웨어 코드 또는 데이터를 포함할 수 있다.
AutoSar는 UCM Master 모듈의 데이터 트랜스퍼(TransferData) 인터페이스 및 UCM 서비스의 데이터 트랜스퍼(TransferData) 인터페이스를 정의한다. OTA 서버는 마스터 ECU의 UCM Master 서비스의 TransferData 인터페이스를 호출한다. TransferData 인터페이스의 파라미터 값은 ECU 1의 소프트웨어 패키지이다. 이러한 방식으로, 노드 ECU 1의 소프트웨어 패키지가 마스터 ECU에 전송된다.
307: 마스터 ECU는 노드 ECU 1의 TransferData 인터페이스를 호출한다.
마스터 ECU는 노드 ECU 1의 UCM 모듈의 TransferData 인터페이스를 호출한다. TransferData 인터페이스의 파라미터 값은 ECU 1의 소프트웨어 패키지이다. 이러한 방식으로, 노드 ECU 1의 소프트웨어 패키지가 노드 ECU 1에 전송된다.
308: 노드 ECU 1이 노드 ECU 1의 TransferData 인터페이스의 호출 결과를 리턴한다.
마스터 ECU가 노드 ECU 1의 TransferData 인터페이스를 호출한다는 사실에 응답하여, 노드 ECU 1의 UCM 모듈은 수신 성공 또는 실패를 마스터 ECU에 알리기 위해 호출 결과를 리턴할 수 있다.
309: 마스터 ECU가 노드 ECU 2의 TransferStart 인터페이스를 호출한다.
마스터 ECU는 노드 ECU 2의 UCM 모듈의 TransferStart 인터페이스를 호출하고, 노드 ECU 2의 TransferStart 인터페이스의 파라미터 값은 노드 ECU 2의 소프트웨어 업그레이드 패키지의 사이즈이다. ECU 2는 TransferStart 인터페이스가 호출된다는 사실에 응답하여 잔여 저장 공간을 검출하고, 잔여 저장 공간이 ECU 2의 업그레이드 패키지를 저장하기에 충분한지 여부를 결정한다.
310: 노드 ECU 2가 노드 ECU 2의 TransferStart 인터페이스의 호출 결과를 리턴한다.
노드 ECU 2의 UCM 모듈은 마스터 ECU가 TransferStart 인터페이스를 호출한다는 사실에 응답하여 TransferStart 인터페이스의 호출 결과를 마스터 ECU에 리턴한다. 호출 결과는 노드 ECU 2가 노드 ECU 2의 업그레이드 패키지를 저장하기에 충분한 잔여 저장 공간을 갖는지 여부를 지시할 수 있다.
311: 마스터 ECU가 획득된 노드 ECU 2의 TransferStart 인터페이스의 호출 결과를 OTA 서버에 피드백한다.
312: OTA 서버가 마스터 ECU의 TransferData 인터페이스를 호출한다.
OTA 서버가, 단계 309에 따라, 노드 ECU 2가 충분한 저장 공간을 갖는다고 결정할 수 있는 경우, OTA 서버는 ECU 2의 업그레이드 패키지를 마스터 ECU에 전송한다. ECU 2의 업그레이드 패키지는 업데이트될 필요가 있는 ECU 2의 소프트웨어 코드 또는 데이터를 포함한다.
OTA 서버는 노드 ECU 2의 업그레이드 패키지를 마스터 ECU에 전송하기 위해 마스터 ECU의 TransferData 인터페이스를 호출한다.
313: 마스터 ECU가 노드 ECU 2의 TransferData 인터페이스를 호출한다.
예를 들어, 노드 ECU는 또한 노드 ECU 2를 포함한다.
마스터 ECU는 노드 ECU 2의 TransferData 인터페이스를 호출한다. TransferData 인터페이스의 파라미터 값은 ECU 2의 소프트웨어 패키지이다. 이러한 방식으로, 노드 ECU 2의 소프트웨어 패키지가 노드 ECU 2에 전송된다.
가능한 구현에서, 단계 314가 더 포함될 수 있다: 노드 ECU 2가 노드 ECU 2의 TransferData 인터페이스의 호출 결과를 리턴한다.
마스터 ECU가 노드 ECU 2의 TransferData 인터페이스를 호출한다는 사실에 응답하여, 노드 ECU 2는 수신 성공 또는 실패를 마스터 ECU에 알리기 위해 호출 결과를 리턴할 수 있다.
다른 업그레이드 패키지의 다운로드가 더 포함되는 경우, 예를 들어, 다른 노드 ECU가 더 포함되는 경우, 업그레이드 패키지를 다운로드하는 프로세스는 노드 ECU 1 및 노드 ECU 2의 업그레이드 패키지들을 다운로드하는 프로세스들과 동일하다. 이해를 위해, 단계 303 내지 단계 308을 참조하거나, 또는 단계 309 내지 단계 314를 참조하도록 한다. 단계 303 내지 단계 314는 마스터 ECU가 소프트웨어 업그레이드 패키지의 사이즈를 각각의 노드 ECU에 전송하여 노드 ECU가 충분한 이용가능한 메모리가 있는지 여부를 체크할 수 있도록 하는 것을 표현하도록 의도된다.
출원인은 AutoSar의 소프트웨어 업그레이드 절차가 단점을 갖고 있음을 발견했다. 업그레이드 패키지 송신 절차에서, 마스터 ECU는 모든 노드 ECU들의 소프트웨어 패키지들을 버퍼링한 다음, 노드 ECU들의 소프트웨어 패키지들을 대응하는 노드 ECU들에 포워딩할 필요가 있으며, 예를 들어, 단계 306 및 단계 307, 및 단계 312 및 단계 313이 수행될 필요가 있다. 이 설계는 마스터 ECU가 제어 정보에 기초하여 각각의 노드 ECU의 업그레이드를 제어하고 복수의 노드 ECU들의 업그레이드 프로세스들을 조율할 수 있게 하기 위한 것이다. 예를 들어, 각각의 노드 ECU의 업그레이드 시퀀스를 제어하는 것은 각각의 노드 ECU의 업그레이드 패키지를 다운로드, 설치, 및 활성화하는 시퀀스들을 제어하는 것을 포함한다. 그러나, 이 설계는 마스터 ECU의 저장 공간 및 프로세싱 성능에 대해 상대적으로 높은 요구사항들을 갖는다. 마스터 ECU의 저장 공간이 부족한 경우, 업그레이드 패키지의 다운로드가 실패할 수 있다. 마스터 ECU의 프로세싱 성능이 높지 않은 경우, 다운로드 효율성에 영향을 미치며, 즉, 업그레이드 패키지의 송신 속도가 상대적으로 낮다. 이는 전체 차량 업그레이드 효율성에 영향을 미친다. 또한, 출원인은, 상기 설계에서, 일부 노드 ECU들이 충분한 저장 공간을 갖지 않을 때, 충분한 저장 공간을 갖는 노드 ECU들은 여전히 개개의 소프트웨어 패키지들을 다운로드할 필요가 있음을 발견하였다. 이 경우, 업그레이드 시퀀스에서 충분한 저장 공간을 갖지 않는 노드 ECU들과 충분한 저장 공간을 갖는 노드 ECU들 사이에 종속 관계가 있는 경우, 업그레이드 패키지들이 다운로드되는 경우에도 충분한 저장 공간을 갖는 노드들의 업그레이드는 실패할 수 있다. 결과적으로, 저장 리소스들이 낭비되고, 업그레이드 효율성에 영향을 미친다. 예를 들어, 노드 ECU 1은 충분한 저장 공간을 갖고 마스터 ECU로부터 노드 ECU 1의 소프트웨어 패키지를 다운로드한다. 노드 ECU 2는 충분한 저장 공간을 갖지 않고, 마스터 ECU는 노드 ECU 2의 소프트웨어 패키지를 노드 ECU 2에 전송하지 않는다. 노드 ECU 1 및 노드 ECU 2가 업그레이드에서 종속 관계를 갖는 경우, 노드 ECU 1이 노드 ECU 1의 소프트웨어 패키지를 다운로드하는 경우에도 노드 ECU 1의 업그레이드는 실패할 수 있다. 결과적으로, 노드 ECU 1의 저장 공간이 낭비되고, 업그레이드 효율성에도 영향을 미친다. 업그레이드 시퀀스에서의 노드 ECU들 사이의 종속 관계 외에도, 일부 노드 ECU들이 충분한 저장 공간을 갖지 않기 때문에 업그레이드 실패가 발생할 수도 있음에 유의해야 한다.
전술한 문제를 해결하기 위해, 본 출원은 데이터 송신 시스템을 제공한다. 마스터 ECU는 여전히 각각의 노드 ECU의 업그레이드 프로세스를 제어한다. 예를 들어, 마스터 ECU는 각각의 노드 ECU의 업그레이드 상태를 알 수 있다. 구체적으로, 본 출원에서, 마스터 ECU는 여전히 노드 ECU의 다운로드 상태를 알 수 있으며, 예를 들어, 소프트웨어 패키지를 다운로드하도록 주어진 노드 ECU를 제어하거나, 소프트웨어 패키지를 다운로드하지 않도록 주어진 노드 ECU를 제어하거나, 또는 복수의 노드 ECU들이 개개의 소프트웨어 패키지들을 다운로드하는 시퀀스를 제어할 수 있다. 즉, 마스터 ECU는 소프트웨어 패키지들을 동시에 다운로드하거나 또는 특정 다운로드 시퀀스로 소프트웨어 패키지들을 다운로드하도록 복수의 노드 ECU들을 제어할 수 있다. 대안적으로, 마스터 ECU는 노드 ECU가 소프트웨어 패키지를 다운로드할지 여부를 제어할 수 있다. 이에 기반하여, 즉, 마스터 ECU가 여전히 각각의 노드 ECU의 업그레이드 프로세스를 제어한다는 점에 기반하여, 각각의 노드 ECU의 소프트웨어 패키지는 OTA 서버에 의해 각각의 노드 ECU에 직접 전송되고, 마스터 ECU는 각각의 노드 ECU의 소프트웨어 패키지를 버퍼링할 필요가 없고 각각의 노드 ECU의 업그레이드 패키지를 포워딩할 필요가 없다. 이러한 방식으로, 마스터 ECU는 상대적으로 큰 저장 공간 또는 상대적으로 높은 프로세싱 성능을 가질 필요가 없으며, 업그레이드 효율성이 또한 개선될 수 있다. 또한, 본 출원에서 제공되는 데이터 송신 시스템에는, 새로운 인터페이스가 정의된다. 모든 노드 ECU들이 개개의 소프트웨어 패키지들을 저장하기에 충분한 저장 공간을 가질 때, 개개의 소프트웨어 패키지들이 노드 ECU들에 전송된다. 이는 업그레이드 효율성을 더욱 개선할 수 있다.
본 출원의 본 실시예에서 제공되는 데이터 송신 시스템은 AutoSar에 기초할 수 있거나, 또는 차량 내 ECU를 업그레이드하기 위한 다른 데이터 송신 시스템에 기초할 수 있다는 점에 유의해야 한다. 본 출원은 예로서 사용되는 AutoSar에 기초하여 설명된다.
전술한 연구 아이디어에 기초하여, 다음은 본 출원에서 제공되는 기술적 솔루션들을 구체적으로 설명한다.
도 4는 본 출원의 실시예에 따른 데이터 송신 방법의 개략적인 흐름도이다.
본 출원의 본 실시예에서 제공되는 데이터 송신 방법은 다음 단계들을 포함할 수 있다.
401: OTA 서버가 마스터 ECU의 TransferVehiclePackage 인터페이스를 호출한다.
단계 401의 이해를 위해, 도 3에 대응하는 솔루션의 단계 301을 참조하도록 한다. 세부사항들은 여기에서 다시 설명되지 않는다.
402: OTA 서버가 마스터 ECU의 TransferStart 인터페이스를 호출한다.
단계 402의 이해를 위해, 도 3에 대응하는 솔루션의 단계 302를 참조하도록 한다. 세부사항들은 여기에서 다시 설명되지 않는다.
403: 마스터 ECU가 노드 ECU 1의 TransferStart 인터페이스를 호출한다.
단계 403의 이해를 위해, 도 3에 대응하는 솔루션의 단계 303을 참조하도록 한다. 세부사항들은 여기에서 다시 설명되지 않는다.
404: 노드 ECU 1이 노드 ECU 1의 TransferStart 인터페이스의 호출 결과를 리턴한다.
노드 ECU 1은 마스터 ECU가 TransferStart 인터페이스를 호출한다는 사실에 응답하여 TransferStart 인터페이스의 호출 결과를 마스터 ECU에 리턴한다. 호출 결과는 노드 ECU 1이 노드 ECU 1의 업그레이드 패키지를 저장하기에 충분한 잔여 저장 공간을 갖는지 여부를 지시할 수 있다.
또한, 본 출원에서 제공되는 솔루션에서, 호출 결과는 제1 파라미터를 더 포함할 수 있다. 제1 파라미터 값은 노드 ECU 1의 소프트웨어 패키지를 노드 ECU 1에 직접 전송하도록 OTA 서버에 지시하는 데 사용된다. 다음은 여러 특정 구현들을 참조하여 설명을 제공한다.
가능한 구현에서, 노드 ECU 1이 노드 ECU 1의 업그레이드 패키지를 저장하기에 충분한 잔여 저장 공간을 갖는 경우, 호출 결과는 제1 파라미터 값을 더 포함한다. 마스터 ECU는 제1 파라미터 값을 OTA 서버에 피드백할 수 있다. 제1 파라미터 값을 획득한 후에, OTA 서버는, 마스터 ECU를 사용하지 않고, 소프트웨어 패키지를 노드 ECU 1에 직접 전송할 수 있다.
가능한 구현에서, 호출 결과에 제1 파라미터가 추가된다. 노드 ECU 1이 노드 ECU 1의 업그레이드 패키지를 저장하기에 충분한 잔여 저장 공간을 갖는 경우, 제1 파라미터의 값은 A이고; 또는 노드 ECU 1이 노드 ECU 1의 업그레이드 패키지를 저장하기에 충분한 잔여 저장 공간을 갖지 않는 경우, 제1 파라미터의 값은 B이다. 여기서, A 및 B는 노드 ECU 1이 충분한 잔여 저장 공간이 있다고 결정하는 경우 및 노드 ECU 1이 충분한 잔여 저장 공간이 없다고 결정하는 경우의 두 가지 경우에서 제1 파라미터의 상이한 값들을 설명하기 위한 예들이다. 노드 ECU 1은 OTA 서버가 소프트웨어 패키지가 노드 ECU 1에 직접 전송될 수 있는지 여부를 알 수 있게 하기 위해 제1 파라미터를 피드백할 수 있다. 예를 들어, OTA 서버가 제1 파라미터의 값이 A임을 아는 경우, OTA 서버는, 마스터 ECU를 사용하지 않고, 소프트웨어 패키지를 노드 ECU 1에 직접 전송할 수 있다.
405: 마스터 ECU가 획득된 노드 ECU 1의 TransferStart 인터페이스의 호출 결과를 OTA 서버에 피드백한다.
마스터 ECU의 UCM master 모듈이 획득된 노드 ECU 1의 TransferStart 인터페이스의 호출 결과를 OTA 서버의 UCM 모듈에 피드백한다.
이 솔루션에서, 노드 ECU 1이 노드 ECU 1의 업그레이드 패키지를 저장하기에 충분한 잔여 저장 공간을 갖는 경우, OTA 서버에 피드백된 호출 결과는 제1 파라미터를 포함한다.
가능한 구현에서, 마스터 ECU는 획득된 노드 ECU 1의 TransferStart 인터페이스의 호출 결과를 OTA 서버에 전송하기 위해, OTA 서버의 인터페이스를 호출할 수 있어, OTA 서버가 인터페이스가 호출된다는 사실에 응답하여 소프트웨어 패키지를 노드 ECU에 전송하게 한다. 본 출원에서, 디바이스가 정보를 다른 디바이스에 전송하거나 또는 액션을 실행하도록 다른 디바이스에 지시하는 것은 대개 디바이스가 다른 디바이스의 인터페이스를 호출하는 것, 즉, 디바이스가 정보를 다른 디바이스에 전송하거나 또는 액션을 실행하도록 다른 디바이스에 지시하기 위해 다른 디바이스의 인터페이스를 호출하는 것으로서 설명된다는 점에 유의해야 한다. 세부사항들은 본 출원의 실시예들에서 다시 설명되지 않는다.
406: OTA 서버가 노드 ECU 1의 TransferData 인터페이스를 호출한다.
노드 ECU 1이 노드 ECU 1의 업그레이드 패키지를 저장하기에 충분한 잔여 저장 공간을 갖는 경우, OTA 서버는 노드 ECU 1의 소프트웨어 패키지를 노드 ECU 1에 직접 전송할 수 있고, 소프트웨어 패키지는 마스터 ECU에 의해 포워딩될 필요가 없다. 구체적으로, OTA 서버는, 제1 파라미터에 기초하여, 노드 ECU 1의 소프트웨어 패키지가 노드 ECU 1에 직접 전송될 수 있는지 여부를 안다. 제1 파라미터는 노드 ECU 1의 TransferStart 인터페이스의 호출 결과에 포함된 파라미터이다.
예를 들어, AutoSar에서, OTA 서버는 노드 ECU 1의 TransferData 인터페이스를 호출할 수 있다. TransferData 인터페이스의 파라미터 값은 ECU 1의 소프트웨어 패키지이다. 이러한 방식으로, 노드 ECU 1의 소프트웨어 패키지가 노드 ECU 1에 전송된다.
가능한 구현에서, 단계 407이 더 포함될 수 있다: 노드 ECU 1이 노드 ECU 1의 TransferData 인터페이스의 호출 결과를 리턴한다.
OTA 서버가 노드 ECU 1의 TransferData 인터페이스를 호출한다는 사실에 응답하여, 노드 ECU 1은 수신 성공 또는 실패를 OTA 서버에 알리기 위해 호출 결과를 리턴할 수 있다.
408: 마스터 ECU가 노드 ECU 2의 TransferStart 인터페이스를 호출한다.
예를 들어, 노드 ECU들은 노드 ECU 2를 더 포함하고, 마스터 ECU는 노드 ECU 2의 TransferStart 인터페이스를 호출한다.
409: 노드 ECU 2가 노드 ECU 2의 TransferStart 인터페이스의 호출 결과를 리턴한다.
410: 마스터 ECU가 획득된 노드 ECU 2의 TransferStart 인터페이스의 호출 결과를 OTA 서버에 피드백한다.
411: OTA 서버가 노드 ECU 2의 TransferData 인터페이스를 호출한다.
노드 ECU 2의 TransferData 인터페이스의 파라미터 값은 노드 ECU 2의 소프트웨어 패키지이다.
가능한 구현에서, 단계 412가 더 포함될 수 있다: 노드 ECU 2가 노드 ECU 2의 TransferData 인터페이스의 호출 결과를 리턴한다.
단계 408 내지 단계 412의 이해를 위해, 단계 403 내지 단계 407을 참조하도록 한다. 세부사항들은 여기에서 다시 설명되지 않는다. 다른 노드 ECU가 더 포함되는 경우, 업그레이드 패키지를 다운로드하는 프로세스를 이해하기 위해, ECU 1의 업그레이드 패키지를 다운로드하는 프로세스를 참조하도록 하며, 즉, 이해를 위해, 단계 403 내지 단계 407을 참조하도록 한다.
도 4에 대응하는 실시예로부터, 이 솔루션에서, AutoSar에 의해 지정된 기존 소프트웨어 업그레이드 절차가 약간 변경되었음을 알 수 있다. 노드 ECU의 TransferStart 인터페이스의 호출 결과에 파라미터가 추가되고, 파라미터는 OTA 서버에 피드백되어, OTA 서버가 분산 다운로드가 수행될 수 있음을 알게 하고, 마스터 ECU를 사용하지 않고 노드 ECU의 업그레이드 패키지를 대응하는 노드 ECU에 직접 전송하게 한다. 이 솔루션에서, 마스터 ECU의 저장 공간 및 프로세싱 성능에 대한 의존도가 감소된다. 또한, 본 출원에서 제공되는 솔루션에 따르면, 복수의 노드 ECU들이 동시에 다운로드를 수행할 수 있어, 다운로드 효율성을 개선한다.
도 4에 대응하는 실시예에서 제공되는 솔루션 외에도, 본 출원은 AutoSar에 기초하여 OTA 서버가 업그레이드 패키지를 노드 ECU에 직접 전송하는 것이 구현될 수 있는 다른 솔루션을 더 제공한다는 점에 유의해야 한다. 또한, 본 출원에서 제공되는 솔루션에 따르면, 마스터 ECU는 모든 노드 ECU들의 잔여 저장 공간이 충분한지 여부를 사전에 알 수 있고, 모든 노드 ECU들의 잔여 저장 공간이 개개의 소프트웨어 패키지들을 저장하기에 충분할 때에만, 소프트웨어 패키지들이 송신된다. 이는 다운로드 프로세스에서 일부 노드 ECU들의 리소스 부족에 의해 야기되는 업그레이드 실패를 방지하고, 업그레이드 실패에 의해 야기되는 사용자 트래픽 소모 및 리소스 낭비를 감소시킨다. 다음은 여러 특정 실시예들을 참조하여 설명을 제공한다.
도 5는 본 출원의 실시예에 따른 데이터 송신 방법의 개략적인 흐름도이다.
501: OTA 서버가 마스터 ECU의 TransferVehiclePackage 인터페이스를 호출한다.
OTA 서버는 업그레이드 정책과 같은 제어 정보, 및 각각의 노드 ECU의 소프트웨어 업그레이드 패키지의 이름 및 사이즈를 마스터 ECU에 전송하기 위해, 마스터 ECU의 TransferVehiclePackage 인터페이스를 호출한다. 예를 들어, OTA 서버는 노드 ECU 1의 소프트웨어 패키지의 이름 및 사이즈와 노드 ECU 2의 소프트웨어 패키지의 이름 및 사이즈를 마스터 ECU에 전송하기 위해 마스터 ECU의 TransferVehiclePackage 인터페이스를 호출한다.
502: 마스터 ECU가 노드 ECU 1의 타겟 인터페이스를 호출한다.
본 출원에서 제공되는 구현에서는, 마스터 ECU가 모든 노드 ECU들의 잔여 저장 공간이 개개의 소프트웨어 패키지들을 저장하기에 충분한지 여부를 중앙에서 알 수 있도록 하는 새로운 인터페이스가 정의된다.
타겟 인터페이스의 파라미터 값은 각각의 노드 ECU의 소프트웨어 패키지의 사이즈일 수 있다. 예를 들어, 표 1은 타겟 인터페이스를 정의하는 방식을 제공한다. 타겟 인터페이스의 이름은 TransferCheck이고, 타겟 인터페이스의 입력 파라미터 값은 소프트웨어 패키지의 사이즈(size)이고, 타겟 인터페이스의 리턴 값은 참(true) 또는 거짓(false)이라고 가정하며, 여기서, 참은 노드 ECU의 잔여 저장 공간이 노드 ECU의 소프트웨어 패키지를 저장하기에 충분함을 표현할 수 있고, 거짓은 노드 ECU의 잔여 저장 공간이 노드 ECU의 소프트웨어 패키지를 저장하기에 부족함을 표현할 수 있다.
Figure pct00001
마스터 ECU가 타겟 인터페이스들을 호출한다는 사실에 응답하여, 노드 ECU들은 노드 ECU들의 저장 공간이 개개의 소프트웨어 패키지들을 저장하기에 충분한지 여부를 체크한다.
ECU 1이 예로서 사용된다. 즉, 마스터 ECU는 노드 ECU 1의 타겟 인터페이스를 호출하고, 타겟 인터페이스의 파라미터 값은 노드 ECU 1의 소프트웨어 패키지의 사이즈를 포함한다. 노드 ECU 1은 타겟 인터페이스가 호출된다는 사실에 응답하여 잔여 저장 공간을 검출하고, 잔여 공간이 노드 ECU 1의 업그레이드 패키지를 저장하기에 충분한지 여부를 결정한다.
503: 노드 ECU 1이 노드 ECU 1의 타겟 인터페이스의 호출 결과를 리턴한다.
노드 ECU 1은 마스터 ECU가 타겟 인터페이스를 호출한다는 사실에 응답하여 타겟 인터페이스의 호출 결과를 마스터 ECU에 리턴한다. 호출 결과는 노드 ECU 1이 노드 ECU 1의 업그레이드 패키지를 저장하기에 충분한 잔여 저장 공간을 갖는지 여부를 지시할 수 있다. 예를 들어, 리턴된 호출 결과는 참 또는 거짓이다.
504: 마스터 ECU가 노드 ECU 2의 타겟 인터페이스를 호출한다.
예를 들어, 노드 ECU들은 노드 ECU 2를 더 포함한다. 이 경우, 마스터 ECU는 노드 ECU 2의 타겟 인터페이스를 호출하고, 타겟 인터페이스의 파라미터 값은 ECU 2의 소프트웨어 패키지의 사이즈를 포함한다. ECU 2는 타겟 인터페이스가 호출된다는 사실에 응답하여 잔여 저장 공간을 검출하고, 잔여 저장 공간이 ECU 2의 업그레이드 패키지를 저장하기에 충분한지 여부를 결정한다.
505: 노드 ECU 2가 노드 ECU 2의 타겟 인터페이스의 호출 결과를 리턴한다.
노드 ECU 2는 마스터 ECU가 타겟 인터페이스를 호출한다는 사실에 응답하여 타겟 인터페이스의 호출 결과를 마스터 ECU에 리턴한다. 호출 결과는 노드 ECU 2가 노드 ECU 2의 업그레이드 패키지를 저장하기에 충분한 잔여 저장 공간을 갖는지 여부를 지시할 수 있다. 예를 들어, 리턴된 호출 결과는 참 또는 거짓이다.
506: 마스터 ECU가 획득된 노드 ECU들의 타겟 인터페이스들의 호출 결과들에 기초하여 OTA 서버에 피드백 정보를 전송한다.
전술한 단계 502 내지 단계 506에서는, 설명을 위해 노드 ECU들이 노드 ECU 1 및 노드 ECU 2를 포함하는 것이 사용된다. 다른 노드 ECU가 더 포함되는 경우, 타겟 인터페이스를 호출하는 프로세스의 이해를 위해, 단계 502 내지 단계 506을 참조하도록 한다.
마스터 ECU가, 모든 노드 ECU들의 타겟 인터페이스들의 호출 결과들에 기초하여, 모든 노드 ECU들이 개개의 소프트웨어 패키지들을 저장하기에 충분한 저장 공간을 갖는다고 결정할 때, 마스터 ECU는 OTA 서버에 피드백 메시지를 전송한다. 피드백 정보는 분산 다운로드를 수행하도록 OTA에 지시하는 데, 즉, 각각의 노드 ECU의 소프트웨어 패키지를 대응하는 노드 ECU에 전송하도록 OTA 서버에 지시하는 데 사용된다. 예를 들어, 노드 ECU들이 노드 ECU 1 및 노드 ECU 2만 포함하는 경우, 다음 세 가지 경우가 있다:
1. ECU 1에 의해 리턴된 타겟 인터페이스의 호출 결과가 ECU 1이 ECU 1의 소프트웨어 패키지를 저장하기에 충분한 저장 공간을 갖고 있음을 지시하고, ECU 2에 의해 리턴된 타겟 인터페이스의 호출 결과가 ECU 2가 ECU 2의 소프트웨어 패키지를 저장하기에 충분한 저장 공간을 갖고 있음을 지시할 때, 마스터 ECU는 OTA 서버에 피드백 메시지를 전송한다.
2. ECU 1에 의해 리턴된 타겟 인터페이스의 호출 결과가 ECU 1이 ECU 1의 소프트웨어 패키지를 저장하기에 충분한 저장 공간을 갖고 있음을 지시하고, ECU 2에 의해 리턴된 타겟 인터페이스의 호출 결과가 ECU 2가 ECU 2의 소프트웨어 패키지를 저장하기에 충분한 저장 공간을 갖지 않음을 지시할 때, 마스터 ECU는 OTA 서버에 피드백 메시지를 전송하지 않는다. 이 경우, OTA 서버는 ECU 1의 소프트웨어 패키지를 ECU 1에 전송하지 않는다.
3. ECU 1에 의해 리턴된 타겟 인터페이스의 호출 결과가 ECU 1이 ECU 1의 소프트웨어 패키지를 저장하기에 충분한 저장 공간을 갖지 않음을 지시하고, ECU 2에 의해 리턴된 타겟 인터페이스의 호출 결과가 ECU 2가 ECU 2의 소프트웨어 패키지를 저장하기에 충분한 저장 공간을 갖고 있음을 지시할 때, 마스터 ECU는 OTA 서버에 피드백 메시지를 전송하지 않는다. 이 경우, OTA 서버는 ECU 1의 소프트웨어 패키지를 ECU 2에 전송하지 않는다.
가능한 구현에서, 마스터 ECU는 상태 정보를 전송할 때 OTA 서버에 피드백 정보를 전송할 수 있다. AutoSar에서는, 마스터 ECU가 현재 업그레이드 상태를 OTA 서버에 알리기 위해 상태 정보를 OTA 서버에 전송하는 것이 정의된다. 예를 들어, 업그레이드 상태는 업그레이드 패키지를 다운로드하는 스테이지, 업그레이드 패키지를 설치하는 스테이지, 업그레이드 패키지를 활성화하는 스테이지 등을 포함할 수 있다. 본 출원의 본 실시예의 이 구현에서는, 새로운 상태 정보가 추가될 수 있는데, 예를 들어, 제1 상태 정보가 추가된다. 마스터 ECU가, 모든 노드 ECU들의 타겟 인터페이스들의 호출 결과들에 기초하여, 모든 노드 ECU들이 개개의 소프트웨어 패키지들을 저장하기에 충분한 저장 공간을 갖는다고 결정하는 경우, 마스터 ECU는 상태 정보를 OTA 서버에 전송할 때 제1 상태 정보를 전송한다. 제1 상태 정보는 분산 다운로드가 수행될 수 있음을 OTA 서버에 알리는 데 사용된다. 제1 상태 정보를 수신한 후에, OTA 서버는 각각의 노드 ECU의 소프트웨어 패키지를 대응하는 노드 ECU에 직접 전송하고, 소프트웨어 패키지는 마스터 ECU에 의해 포워딩되지 않는다.
507: OTA 서버가 노드 ECU 1의 TransferData 인터페이스를 호출한다.
OTA 서버가, 피드백 메시지에 기초하여, 노드 ECU들의 소프트웨어 패키지들이 노드 ECU들에 전송될 수 있다고 결정하는 경우, OTA 서버는 소프트웨어 패키지들을 노드 ECU들에 전송하기 위해 노드들의 TransferData 인터페이스를 호출한다.
피드백 메시지는 마스터 ECU에 의해 전송된 상태 정보일 수 있다. 상태 정보는 분산 다운로드가 수행될 수 있음을 OTA 서버에 알리는 데 사용된다. 상태 정보를 수신한 후에, OTA 서버는 각각의 노드 ECU의 소프트웨어 패키지를 대응하는 노드 ECU에 직접 전송하고, 소프트웨어 패키지는 마스터 ECU에 의해 포워딩되지 않는다.
노드 ECU들이 노드 ECU 1을 포함할 때, OTA 서버는 노드 ECU 1의 TransferData 인터페이스를 호출할 수 있다. TransferData 인터페이스의 파라미터 값은 ECU 1의 소프트웨어 패키지이다. 이러한 방식으로, 노드 ECU 1의 소프트웨어 패키지가 노드 ECU 1에 전송된다.
가능한 구현에서, 단계 508이 더 포함될 수 있다: 노드 ECU 1이 노드 ECU 1의 TransferData 인터페이스의 호출 결과를 리턴한다.
OTA 서버가 노드 ECU 1의 TransferData 인터페이스를 호출한다는 사실에 응답하여, 노드 ECU 1은 수신 성공 또는 실패를 OTA 서버에 알리기 위해 호출 결과를 리턴할 수 있다.
509: OTA 서버가 노드 ECU 2의 TransferData 인터페이스를 호출한다.
노드 ECU들이 노드 ECU 2를 더 포함하는 경우, OTA 서버는 노드 ECU 2의 TransferData 인터페이스를 호출한다.
가능한 구현에서, 단계 510이 더 포함될 수 있다: 노드 ECU 2가 노드 ECU 2의 TransferData 인터페이스의 호출 결과를 리턴한다.
단계 509 및 단계 510의 이해를 위해, 단계 507 및 단계 508을 참조하도록 한다. 다른 노드 ECU가 더 포함되는 경우, ECU 1와 OTA 서버 사이 또는 ECU 2와 OTA 서버 사이의 상호작용 프로세스를 참조하도록 하며, 즉, 이해를 위해 단계 502 내지 단계 509를 참조하도록 한다는 점에 유의해야 한다.
도 5에 대응하는 실시예로부터, 마스터 ECU는 모든 노드 ECU들의 잔여 저장 공간이 충분한지 여부를 사전에 알 수 있고, 모든 노드 ECU들의 잔여 저장 공간이 개개의 소프트웨어 패키지들을 저장하기에 충분할 때에만, 소프트웨어 패키지들이 송신되도록 하는 방식이 제공됨을 알 수 있다. 이는 다운로드 프로세스에서 일부 노드 ECU들의 리소스 부족에 의해 야기되는 업그레이드 실패를 방지하고, 업그레이드 실패에 의해 야기되는 사용자 트래픽 소모 및 리소스 낭비를 감소시킨다. 구체적으로, 도 5에 대응하는 구현에서는, 마스터 ECU가 모든 노드 ECU들의 잔여 저장 공간이 충분한지 여부를 알 수 있도록 하는 인터페이스, 예를 들어, 타겟 인터페이스가 AutoSar에 새롭게 정의될 수 있다. 또한, 새로운 상태 정보가 추가될 수 있고, 마스터 ECU는, 새로운 상태 정보를 사용함으로써, 분산 다운로드가 수행될 수 있음을, 즉, 각각의 노드 ECU의 소프트웨어 패키지가 대응하는 노드 ECU에 직접 전송될 수 있음을 OTA 서버에 알릴 수 있다.
도 5에 대응하는 실시예에서, 마스터 ECU는, 새로운 상태 정보를 사용함으로써, 분산 다운로드가 수행될 수 있음을, 즉, 각각의 노드 ECU의 소프트웨어 패키지가 대응하는 노드 ECU에 직접 전송될 수 있음을 OTA 서버에 알릴 수 있다. 일부 다른 구현들에서는, OTA 서버가 대안적으로 다른 방식으로 분산 다운로드를 수행할 수 있으며, 즉, 각각의 노드 ECU의 소프트웨어 패키지를 대응하는 노드 ECU에 직접 전송할 수 있다. 다음은 특정 실시예를 참조하여 설명을 제공한다.
도 6은 본 출원의 실시예에 따른 데이터 송신 방법의 개략적인 흐름도이다.
601: OTA 서버가 마스터 ECU의 TransferVehiclePackage 인터페이스를 호출한다.
OTA 서버는 업그레이드 정책과 같은 제어 정보, 및 각각의 노드 ECU의 소프트웨어 업그레이드 패키지의 이름 및 사이즈, 및 각각의 노드 ECU의 소프트웨어 패키지의 다운로드 주소를 마스터 ECU에 전송하기 위해, 마스터 ECU의 TransferVehiclePackage 인터페이스를 호출한다. 예를 들어, OTA 서버는 노드 ECU 1의 소프트웨어 패키지의 이름 및 사이즈, 노드 ECU 1의 소프트웨어 패키지의 다운로드 주소, 노드 ECU 2의 소프트웨어 패키지의 이름 및 사이즈, 및 노드 ECU 2의 소프트웨어 패키지의 다운로드 주소를 마스터 ECU에 전송하기 위해 마스터 ECU의 TransferVehiclePackage 인터페이스를 호출한다.
가능한 구현에서, 다운로드 주소는 유니폼 리소스 로케이터(uniform resource locator, URL)의 형태일 수 있다.
602: 마스터 ECU가 노드 ECU 1의 타겟 인터페이스를 호출한다.
603: 노드 ECU 1이 노드 ECU 1의 타겟 인터페이스의 호출 결과를 리턴한다.
604: 마스터 ECU가 노드 ECU 2의 타겟 인터페이스를 호출한다.
605: 노드 ECU 2가 노드 ECU 2의 타겟 인터페이스의 호출 결과를 리턴한다.
단계 602 내지 단계 605의 이해를 위해, 도 5에 대응하는 실시예에서 단계 502 내지 단계 505를 참조하도록 한다. 세부사항들은 여기에서 다시 설명되지 않는다.
606: 마스터 ECU가 노드 ECU 1의 소프트웨어 패키지의 다운로드 주소를 노드 ECU 1에 전송한다.
마스터 ECU가, 모든 노드 ECU들의 타겟 인터페이스들의 호출 결과들에 기초하여, 모든 노드 ECU들이 개개의 소프트웨어 패키지들을 저장하기에 충분한 저장 공간을 갖는다고 결정할 때, 마스터 ECU는 개개의 소프트웨어 패키지들의 다운로드 주소들을 노드 ECU들에 전송한다.
예를 들어, 노드 ECU들은 노드 ECU 1 및 노드 ECU 2를 포함한다. 노드 ECU 1 및 노드 ECU 2 모두 개개의 소프트웨어 패키지들을 저장하기에 충분한 저장 공간을 가질 때, 마스터 ECU는 노드 ECU 1의 소프트웨어 패키지의 다운로드 주소를 노드 ECU 1에 전송하고, 마스터 ECU는 노드 ECU 2의 소프트웨어 패키지의 다운로드 주소를 노드 ECU 2에 전송한다.
가능한 구현에서, 노드 ECU 1이 충분한 저장 공간을 갖고 있음을 알 때, 마스터 ECU는 노드 ECU 1의 소프트웨어 패키지의 다운로드 주소를 노드 ECU 1에 전송할 수 있다.
가능한 구현에서, 노드 ECU의 TransferStart 인터페이스를 호출할 때, 마스터 ECU는 TransferStart 인터페이스에 입력 파라미터를 추가할 수 있다. 추가된 입력 파라미터는 노드 ECU의 소프트웨어 패키지의 다운로드 주소이다. 예를 들어, 마스터 ECU는 노드 ECU 1의 TransferStart 인터페이스를 호출하며, 여기서, TransferStart 인터페이스는 새로운 파라미터를 포함하고, 새로운 파라미터의 값은 노드 ECU 1의 소프트웨어 패키지의 다운로드 주소이다. 다른 예를 들면, 마스터 ECU는 노드 ECU 2의 TransferStart 인터페이스를 호출하며, 여기서, TransferStart 인터페이스는 새로운 파라미터를 포함하고, 새로운 파라미터의 값은 노드 ECU 2의 소프트웨어 패키지의 다운로드 주소이다.
607: 노드 ECU 1이 획득된 노드 ECU 1의 소프트웨어 패키지의 다운로드 주소에 기초하여 OTA 서버에 요청 메시지를 전송한다.
예를 들어, ECU 1의 소프트웨어 패키지의 다운로드 주소를 수신한 후에, 노드 ECU 1은 OTA 서버에 요청 메시지를 전송한다. 요청 메시지는 ECU 1의 소프트웨어 패키지의 다운로드 주소를 운반하고, 요청 메시지는 노드 ECU 1의 소프트웨어 패키지를 노드 ECU 1에 전송하도록 OTA 서버에 요청하는 데 사용된다.
가능한 구현에서, 새로운 인터페이스, 예를 들어, 제2 인터페이스가 정의될 수 있다. 제2 인터페이스의 파라미터는 소프트웨어 패키지의 다운로드 주소이다. OTA 서버의 제2 인터페이스가 호출될 때, OTA 서버는 노드 ECU의 소프트웨어 패키지를 대응하는 노드 ECU에 전송할 수 있다. 예를 들어, 노드 ECU 1은 OTA 서버의 제2 인터페이스를 호출할 수 있다. 제2 인터페이스의 파라미터는 노드 ECU 1의 소프트웨어 패키지의 다운로드 주소이다. 제2 인터페이스가 호출된다는 사실에 응답하여, OTA 서버는 제2 인터페이스의 파라미터 값에 기초하여 노드 ECU 1의 소프트웨어 패키지를 노드 ECU 1에 전송할 수 있다. 본 출원에서 OTA 서버의 인터페이스는 OTA 서버의 UCM 인터페이스인 점에 유의해야 한다. 세부사항들은 본 출원에서 다시 설명되지 않는다.
예를 들어, 표 2는 제2 인터페이스를 정의하는 방식을 제공한다. 제2 인터페이스의 이름은 GetTransferStart이고, 제2 인터페이스의 입력 파라미터는 소프트웨어 패키지의 다운로드 주소를 포함한다고 가정한다. 일부 가능한 구현들에서, 제2 인터페이스의 입력 파라미터는 소프트웨어 패키지의 이름 또는 소프트웨어 패키지의 식별자 ID를 더 포함할 수 있다.
Figure pct00002
608: OTA 서버가 노드 ECU 1의 TransferData 인터페이스를 호출한다.
노드 ECU 1에 의해 전송된 요청 메시지에 응답하여, OTA 서버는 노드 ECU 1의 소프트웨어 패키지를 노드 ECU 1에 전송한다.
예를 들어, OTA 서버는 ECU 1의 소프트웨어 패키지를 노드 ECU 1에 전송하기 위해 노드 ECU 1의 TransferData 인터페이스를 호출할 수 있다.
가능한 구현에서, 단계 609가 더 포함될 수 있다: 노드 ECU 1이 노드 ECU 1의 TransferData 인터페이스의 호출 결과를 리턴한다.
OTA 서버가 노드 ECU 1의 TransferData 인터페이스를 호출한다는 사실에 응답하여, 노드 ECU 1은 수신 성공 또는 실패를 OTA 서버에 알리기 위해 호출 결과를 리턴할 수 있다.
610: 마스터 ECU가 노드 ECU 2의 소프트웨어 패키지의 다운로드 주소를 노드 ECU 2에 전송한다.
마스터 ECU가, 모든 노드 ECU들의 타겟 인터페이스들의 호출 결과들에 기초하여, 모든 노드 ECU들이 개개의 소프트웨어 패키지들을 저장하기에 충분한 저장 공간을 갖는다고 결정할 때, 마스터 ECU는 개개의 소프트웨어 패키지들의 다운로드 주소들을 노드 ECU들에 전송한다.
예를 들어, 노드 ECU들은 노드 ECU 2를 포함한다. 이 경우, 마스터 ECU는 노드 ECU 2의 소프트웨어 패키지의 다운로드 주소를 노드 ECU 2에 전송한다.
611: 노드 ECU 2가 획득된 노드 ECU 2의 소프트웨어 패키지의 다운로드 주소에 기초하여 OTA 서버에 요청 메시지를 전송한다.
612: OTA 서버가 노드 ECU 2의 TransferData 인터페이스를 호출한다.
가능한 구현에서, 단계 613이 더 포함될 수 있다: 노드 ECU 2가 노드 ECU 2의 TransferData 인터페이스의 호출 결과를 리턴한다.
단계 610 내지 단계 613의 이해를 위해, 단계 606 내지 단계 609를 참조하도록 한다. 다른 노드 ECU가 더 포함되는 경우, 이해를 위해 ECU 1와 OTA 서버 사이의 상호작용 프로세스를 참조하도록 하며, 즉, 이해를 위해 단계 602 내지 단계 609를 참조하도록 한다.
AutoSar에 기초하여, 본 출원의 본 실시예에서 제공되는 솔루션이 위에 설명되어 있다. 마스터 ECU는 여전히 각각의 노드 ECU의 업그레이드 프로세스를 제어하며, 예를 들어, 각각의 노드 ECU의 소프트웨어 패키지를 다운로드하는 시퀀스를 제어한다. 그러나, 각각의 노드 ECU의 소프트웨어 패키지는 OTA 서버에 의해 각각의 노드 ECU에 직접 전송되고, 마스터 ECU는 각각의 노드 ECU의 소프트웨어 패키지를 버퍼링할 필요가 없고 각각의 노드 ECU의 업그레이드 패키지를 포워딩할 필요가 없다. 이러한 방식으로, 마스터 ECU는 상대적으로 큰 저장 공간 또는 상대적으로 높은 프로세싱 성능을 가질 필요가 없으며, 업그레이드 효율성이 더욱 개선될 수 있다. 또한, 본 출원에서 제공되는 솔루션은 복수의 노드 ECU들이 동시에 다운로드를 수행하도록 지원하여, 다운로드 효율성을 개선하고; 마스터 ECU가 후속하여 각각의 노드 ECU의 설치 프로세스 및 활성화 프로세스를 제어하는 데 영향을 미치지 않는다. 또한, 본 출원에서 제공되는 데이터 송신 시스템에는, 새로운 인터페이스가 정의된다. 모든 노드 ECU들이 개개의 소프트웨어 패키지들을 저장하기에 충분한 저장 공간을 가질 때에만, 개개의 소프트웨어 패키지들이 노드 ECU들에 전송된다. 이는 업그레이드 효율성을 더욱 개선할 수 있다.
기존 AutoSar에서의 소프트웨어 업그레이드 프로세스에서 마스터 ECU의 저장 공간 및 프로세싱 성능에 대한 의존도 문제를 해결하기 위해 AutoSar에 기초하여 AutoSar에서의 소프트웨어 업그레이드 절차가 개선되는 전술한 방식과 달리, 본 출원에서 제공되는 솔루션들에서는, ECU의 저장 공간 및 프로세싱 성능에 대한 의존도 문제를 해결하는 데 다른 방식이 대안적으로 사용될 수 있다. 다음은 여러 특정 구현들을 참조하여 설명을 제공한다.
도 7a는 본 출원의 실시예에 따른 다른 데이터 송신 방법의 개략적인 흐름도이다.
701: 노드 ECU 1이 노드 ECU 1의 잔여 저장 공간의 사이즈를 마스터 ECU에 전송한다.
702: 노드 ECU 2가 노드 ECU 2의 잔여 저장 공간의 사이즈를 마스터 ECU에 전송한다.
703: 마스터 ECU가 각각의 노드 ECU의 잔여 저장 공간의 사이즈를 OTA 서버에 전송한다.
Figure pct00003
표 3에 나타낸 바와 같이, 마스터 ECU는 테이블 방식으로 각각의 노드 ECU의 잔여 저장 공간의 사이즈를 OTA 서버에 전송할 수 있다.
가능한 구현에서는, 노드 ECU들이 대안적으로 개개의 잔여 저장 공간의 사이즈들을 OTA 서버에 직접 전송할 수 있고, 사이즈들은 마스터 ECU에 의해 포워딩되지 않는다.
704: OTA 서버가 마스터 ECU의 TransferVehiclePackage 인터페이스를 호출한다.
OTA 서버가, 각각의 노드 ECU의 잔여 저장 공간의 사이즈 및 각각의 노드 ECU의 소프트웨어 패키지의 사이즈에 기초하여, 각각의 노드 ECU가 각각의 노드 ECU의 소프트웨어 패키지를 저장하기에 충분한 저장 공간을 갖는다고 결정하는 경우, OTA 서버는 마스터 ECU의 TransferVehiclePackage 인터페이스를 호출한다. 예에서, 노드 ECU들은 노드 ECU 1 및 노드 ECU 2만 포함한다고 가정한다. 다음 세 가지 경우가 있을 수 있다:
1. OTA 서버에 의해 획득된 노드 ECU 1의 잔여 저장 공간이 ECU 1의 소프트웨어 패키지의 사이즈보다 작지 않고, 획득된 ECU 2의 잔여 저장 공간이 ECU 2의 소프트웨어 패키지의 사이즈보다 작지 않은 경우, OTA 서버는 업그레이드 정책과 같은 제어 정보를 마스터 ECU에 전송하기 위해, 마스터 ECU의 TransferVehiclePackage 인터페이스를 호출한다.
2. OTA 서버에 의해 획득된 노드 ECU 1의 잔여 저장 공간이 노드 ECU 1의 소프트웨어 패키지의 사이즈보다 작지 않고, 획득된 노드 ECU 2의 잔여 저장 공간이 노드 ECU 2의 소프트웨어 패키지의 사이즈보다 작은 경우, OTA 서버는 현재 업그레이드가 성공할 수 없다고 결정하고, 소프트웨어 패키지 업그레이드 프로그램을 시작하지 않는다.
3. OTA 서버에 의해 획득된 노드 ECU 1의 잔여 저장 공간이 노드 ECU 1의 소프트웨어 패키지의 사이즈보다 작고, 획득된 노드 ECU 2의 잔여 저장 공간이 노드 ECU 2의 소프트웨어 패키지의 사이즈보다 작지 않은 경우, OTA 서버는 현재 업그레이드가 성공할 수 없다고 결정하고, 소프트웨어 패키지 업그레이드 프로그램을 시작하지 않는다.
705: OTA 서버가 노드 ECU 1의 TransferData 인터페이스를 호출한다.
가능한 구현에서, 단계 706이 더 포함될 수 있다: 노드 ECU 1이 노드 ECU 1의 TransferData 인터페이스의 호출 결과를 리턴한다.
707: OTA 서버가 노드 ECU 2의 TransferData 인터페이스를 호출한다.
가능한 구현에서, 단계 708이 더 포함될 수 있다: 노드 ECU 2가 노드 ECU 2의 TransferData 인터페이스의 호출 결과를 리턴한다.
단계 705 내지 단계 708의 이해를 위해, 도 4에 대응하는 실시예에서 단계 406, 단계 407, 단계 411, 및 단계 412를 참조하도록 한다.
다른 노드 ECU가 더 포함되는 경우, 이해를 위해, 노드 ECU 1 및 노드 ECU 2에 의해 수행되는 단계들을 참조하도록 한다는 점에 유의해야 한다. 세부사항들은 여기에서 다시 설명되지 않는다.
도 7b는 본 출원의 실시예에 따른 데이터 송신 방법의 개략적인 흐름도이다.
801: 노드 ECU 1이 노드 ECU 1의 잔여 저장 공간의 사이즈를 마스터 ECU에 전송한다.
802: 노드 ECU 2가 노드 ECU 2의 잔여 저장 공간의 사이즈를 마스터 ECU에 전송한다.
803: OTA 서버가 마스터 ECU의 TransferVehiclePackage 인터페이스를 호출한다.
OTA 서버는 모든 노드 ECU들의 소프트웨어 패키지들의 사이즈들을 마스터 ECU에 전송하기 위해 마스터 ECU의 TransferVehiclePackage 인터페이스를 호출한다. 본 실시예에서, 노드 ECU 1 및 노드 ECU 2는 설명을 위한 예로서 사용된다는 점에 유의해야 한다. 다른 노드 ECU가 더 포함되는 경우, 이해를 위해, 노드 ECU 1 및 노드 ECU 2에 의해 수행되는 단계들을 참조하도록 한다. 세부사항들은 본 명세서에서 다시 설명되지 않는다.
804: 마스터 ECU가 노드 ECU의 소프트웨어 패키지의 사이즈와 노드 ECU의 잔여 저장 공간 사이의 관계에 기초하여 OTA 서버에 알림 메시지를 전송한다.
마스터 ECU가, 각각의 노드 ECU의 잔여 저장 공간의 사이즈 및 각각의 노드 ECU의 소프트웨어 패키지의 사이즈에 기초하여, 각각의 노드 ECU가 각각의 노드 ECU의 소프트웨어 패키지를 저장하기에 충분한 저장 공간을 갖는다고 결정하는 경우, 마스터 ECU는 OTA 서버에 알림 메시지를 전송하여, OTA 서버가 소프트웨어 패키지들을 노드 ECU들에 전송하게 한다.
예에서, 노드 ECU들은 노드 ECU 1 및 노드 ECU 2만 포함한다고 가정한다. 다음 세 가지 경우가 있을 수 있다:
1. 마스터 ECU에 의해 획득된 노드 ECU 1의 잔여 저장 공간이 노드 ECU 1의 소프트웨어 패키지의 사이즈보다 작지 않고, 획득된 ECU 2의 잔여 저장 공간이 ECU 2의 소프트웨어 패키지의 사이즈보다 작지 않은 경우, 마스터 ECU는 OTA 서버에 알림 메시지를 전송하여, OTA 서버가 노드 ECU 1의 소프트웨어 패키지를 노드 ECU 1에 전송하게 하고, OTA 서버가 노드 ECU 2의 소프트웨어 패키지를 노드 ECU 2에 전송하게 한다.
2. 마스터 ECU에 의해 획득된 노드 ECU 1의 잔여 저장 공간이 노드 ECU 1의 소프트웨어 패키지의 사이즈보다 작지 않고, 획득된 노드 ECU 2의 잔여 저장 공간이 노드 ECU 2의 소프트웨어 패키지의 사이즈보다 작은 경우, 마스터 ECU는 OTA 서버에 알림 메시지를 전송하지 않는다. 즉, 소프트웨어 패키지의 다운로드 절차가 시작되지 않는다.
3. 마스터 ECU에 의해 획득된 노드 ECU 1의 잔여 저장 공간이 노드 ECU 1의 소프트웨어 패키지의 사이즈보다 작고, 획득된 노드 ECU 2의 잔여 저장 공간이 노드 ECU 2의 소프트웨어 패키지의 사이즈보다 작지 않은 경우, 마스터 ECU는 OTA 서버에 알림 메시지를 전송하지 않는다. 즉, 소프트웨어 패키지의 다운로드 절차가 시작되지 않는다.
805: OTA 서버가 노드 ECU 1의 TransferData 인터페이스를 호출한다.
가능한 구현에서, 단계 806이 더 포함될 수 있다: 노드 ECU 1이 노드 ECU 1의 TransferData 인터페이스의 호출 결과를 리턴한다.
807: OTA 서버가 노드 ECU 2의 TransferData 인터페이스를 호출한다.
가능한 구현에서, 단계 808이 더 포함될 수 있다: 노드 ECU 2가 노드 ECU 2의 TransferData 인터페이스의 호출 결과를 리턴한다.
단계 805 내지 단계 808의 이해를 위해, 도 4에 대응하는 실시예에서 단계 406, 단계 408, 단계 411, 및 단계 412를 참조하도록 한다.
전술한 내용은 본 출원의 실시예들에서 제공되는 데이터 송신 방법을 설명한다. 본 출원의 실시예는 데이터 송신 시스템을 더 제공한다. 데이터 송신 시스템은 OTA 서버, 마스터 ECU, 및 복수의 노드 ECU들을 포함한다. OTA 서버는 도 4 내지 도 7b에 대응하는 실시예들에서 설명된 OTA 서버이고, 마스터 ECU는 도 4 내지 도 7b에 대응하는 실시예들에서 설명된 마스터 ECU이고, 노드 ECU는 도 4 내지 도 7b에 대응하는 실시예들에서 설명된 노드 ECU이다. 예를 들어, 이해를 위해 노드 ECU 1 및 노드 ECU 2를 참조하도록 한다. 또한, 전술한 실시예들과 동일한 발명 개념에 기초하여, 본 출원의 실시예는 OTA 클라우드 서버, 마스터 ECU, 및 노드 ECU를 더 제공한다. 다음은 여러 특정 구현들을 참조하여 본 출원의 실시예에서 제공되는 데이터 송신 시스템을 설명한다.
도 8은 본 출원의 실시예에 따른 데이터 송신 시스템의 아키텍처의 개략도이다. 데이터 송신 시스템은 OTA 서버, 마스터 ECU, 및 복수의 노드 ECU들을 포함한다.
노드 ECU는 업데이트 및 구성 관리(UCM) 모듈을 포함할 수 있다. 노드 ECU의 UCM 모듈은: 노드 ECU의 타겟 인터페이스가 호출되었음을 알 때, 잔여 저장 공간을 체크하고, 제1 호출 결과를 리턴하도록 구성된다. 타겟 인터페이스의 파라미터 값은 노드 ECU의 소프트웨어 패키지의 사이즈를 포함할 수 있다. 제1 호출 결과는 잔여 저장 공간이 노드 ECU의 소프트웨어 패키지의 사이즈보다 작지 않은지 여부를 지시한다. 노드 ECU의 UCM 모듈은: 잔여 저장 공간이 노드 ECU의 소프트웨어 패키지의 사이즈보다 작지 않을 때, OTA 서버에 의해 전송된 노드 ECU의 소프트웨어 패키지를 수신하도록 추가로 구성된다.
가능한 구현에서, 타겟 인터페이스가 TransferStart 인터페이스이고, 잔여 저장 공간이 노드 ECU의 소프트웨어 패키지의 사이즈보다 작지 않을 때, 제1 호출 결과는 제1 파라미터 값을 포함할 수 있다. 제1 파라미터는 노드 ECU의 소프트웨어 패키지를 노드 ECU에 전송하도록 OTA 서버에 지시하는 데 사용된다.
가능한 구현에서, 노드 ECU의 UCM 모듈은 노드 ECU의 소프트웨어 패키지의 다운로드 주소를 획득하고, 획득된 다운로드 주소에 기초하여 OTA 서버의 인터페이스를 호출하도록 추가로 구성된다. 인터페이스의 파라미터 값은 노드 ECU의 소프트웨어 패키지의 다운로드 주소이므로, OTA 서버는 인터페이스가 호출된다는 사실에 응답하여 노드 ECU의 소프트웨어 패키지를 UCM 모듈에 전송한다.
가능한 구현에서, OTA 서버는 업데이트 및 구성 관리(UCM) 모듈을 포함할 수 있다. OTA 서버의 UCM 모듈은: 노드 ECU의 잔여 저장 공간이 노드 ECU의 소프트웨어 패키지의 사이즈보다 작지 않다고 결정할 때, 노드 ECU의 소프트웨어 패키지를 노드 ECU에 전송하기 위해, 노드 ECU의 TransferData 인터페이스를 호출하도록 구성된다.
가능한 구현에서, OTA 서버의 UCM 모듈은: 제1 파라미터 값을 획득할 때, 노드 ECU의 TransferData 인터페이스를 호출하도록 구체적으로 구성된다. 제1 파라미터 값은 TransferStart 인터페이스가 호출된다는 사실에 응답하여 노드 ECU에 의해 리턴된 제1 호출 결과에 포함될 수 있는 파라미터 값이다. 제1 파라미터 값은 노드 ECU의 잔여 저장 공간이 노드 ECU의 소프트웨어 패키지의 사이즈보다 작지 않음을 지시하는 데 사용된다.
가능한 구현에서, OTA 서버의 UCM 모듈은 마스터 ECU의 전체 차량 소프트웨어 패키지 TransferVehiclePackage 인터페이스를 호출하도록 추가로 구성된다. TransferVehiclePackage 인터페이스의 파라미터 값은 복수의 노드 ECU들의 각각의 노드 ECU의 소프트웨어 패키지의 다운로드 주소를 포함할 수 있으므로, 마스터 ECU가 노드 ECU의 소프트웨어 패키지의 다운로드 주소를 노드 ECU에 전송한 다음, 노드 ECU가 노드 ECU의 다운로드 주소에 기초하여 UCM 모듈의 인터페이스를 호출하며, 여기서, 인터페이스의 파라미터는 노드 ECU의 소프트웨어 패키지의 다운로드 주소를 포함할 수 있다. UCM 모듈은 노드 ECU가 인터페이스를 호출한다는 사실에 응답하여 노드 ECU의 소프트웨어 패키지를 노드 ECU에 전송하도록 구체적으로 구성된다.
가능한 구현에서, 마스터 ECU는 UCM Master 모듈을 포함할 수 있다. UCM Master 모듈은 노드 ECU의 타겟 인터페이스를 호출하도록 구성된다. 타겟 인터페이스의 파라미터 값은 노드 ECU의 소프트웨어 패키지의 사이즈를 포함할 수 있으므로, 노드 ECU는 마스터 ECU가 타겟 인터페이스를 호출한다는 사실에 응답하여 노드 ECU의 잔여 저장 공간을 체크한다. UCM Master 모듈은 노드 ECU에 의해 전송된 타겟 인터페이스의 제1 호출 결과를 수신하도록 추가로 구성된다. 제1 호출 결과는 노드 ECU의 잔여 저장 공간이 노드 ECU의 소프트웨어 패키지의 사이즈보다 작지 않은지 여부를 지시한다.
가능한 구현에서, 노드 ECU의 잔여 저장 공간이 노드 ECU의 소프트웨어 패키지의 사이즈보다 작지 않을 때, 제1 호출 결과는 제1 파라미터 값을 포함할 수 있고, UCM Master 모듈은 OTA 서버에 제1 피드백 메시지를 전송하도록 추가로 구성된다. 제1 피드백 메시지는 제1 파라미터 값을 포함할 수 있으므로, OTA 서버는 노드 ECU의 소프트웨어 패키지를 노드 ECU에 전송하기 위해, 제1 파라미터 값을 획득할 때 노드 ECU의 TransferData 인터페이스를 호출한다.
가능한 구현에서, UCM Master 모듈은 복수의 노드 ECU들의 각각의 노드 ECU의 제1 호출 결과를 수신하도록 추가로 구성된다. 노드 ECU는 복수의 노드 ECU들 중 어느 하나이다. 제1 호출 결과에 기초하여, 각각의 노드 ECU의 잔여 저장 공간이 각각의 노드 ECU의 소프트웨어 패키지의 사이즈보다 작지 않다고 결정될 때, 제2 파라미터 값이 OTA 서버에 전송되어, OTA 서버는 제2 파라미터 값을 획득할 때 노드 ECU의 TransferData 인터페이스를 호출한다.
본 출원의 실시예는 ECU를 더 제공한다. ECU는 도 8에 대응하는 실시예의 노드 ECU이다. 이해를 위해, 도 4 내지 도 7b에 대응하는 실시예들에서 설명된 노드 ECU를 참조하도록 한다.
본 출원의 실시예는 ECU를 더 제공한다. ECU는 도 8에 대응하는 실시예의 마스터 ECU이다. 이해를 위해, 도 4 내지 도 7b에 대응하는 실시예들에서 설명된 마스터 ECU를 참조하도록 한다.
본 출원의 실시예는 OTA 서버를 더 제공한다. OTA 서버는 도 8에 대응하는 실시예의 OTA 서버이다. 이해를 위해, 도 4 내지 도 7b에 대응하는 실시예들에서 설명된 OTA 서버를 참조하도록 한다.
도 9를 참조하도록 한다. 본 출원의 실시예는 통신 디바이스를 더 제공한다. 통신 디바이스는 도 4 내지 도 7b에 대응하는 실시예들의 노드 ECU일 수 있거나, 또는 통신 디바이스는 도 4 내지 도 7b에 대응하는 실시예들의 마스터 ECU일 수 있거나, 또는 통신 디바이스는 도 4 내지 도 7b에 대응하는 실시예들의 OTA 서버일 수 있다.
통신 디바이스는 프로세서(1001)를 포함할 수 있다. 프로세서(1001)는 메모리(1002)에 커플링되고, 메모리는 프로그램 명령어를 저장한다. 메모리에 저장된 프로그램 명령어가 프로세서에 의해 실행될 때, 도 4 내지 도 7b에 대응하는 실시예들의 마스터 ECU에 의해 수행되는 단계들이 수행된다. 대안적으로, 메모리에 저장된 프로그램 명령어가 프로세서에 의해 실행될 때, 도 4 내지 도 7b에 대응하는 실시예들의 노드 ECU에 의해 수행되는 단계들이 수행된다. 대안적으로, 메모리에 저장된 프로그램 명령어가 프로세서에 의해 실행될 때, 도 4 내지 도 7b에 대응하는 실시예들의 OTA 서버에 의해 수행되는 단계들이 수행된다.
본 출원의 실시예는 차량을 더 제공한다. 도 10은 본 출원의 실시예에 따른 차량의 구조의 개략도이다. 도 4 내지 도 7b에 대응하는 실시예들에서 설명된 노드 ECU 및 마스터 ECU가 차량에 디플로이될 수 있다.
가능한 구현에서, 도 10에 도시된 바와 같이, 차량은 디스플레이(1101) 및 ECU(1102)를 포함할 수 있다. ECU(1102)는 도 4 내지 도 7b에 대응하는 실시예들에서 설명된 노드 ECU 또는 마스터 ECU이다. 차량은 디스플레이를 사용함으로써 사용자와 상호작용할 수 있으며, 예를 들어, 디스플레이를 사용함으로써 프롬프트 메시지를 전송할 수 있다. 프롬프트 메시지는 OTA 서버로부터 제1 ECU의 소프트웨어 패키지를 다운로드하도록 노드 ECU에 지시하는 데 사용된다. 도 11은 본 출원의 실시예에 따른 데이터 송신 방법의 애플리케이션 시나리오의 개략도이다. 본 출원의 본 실시예에서 제공되는 솔루션에서, 사용자는 차량-내 소프트웨어를 업그레이드할지, 또는 차량-내 소프트웨어가 디폴트로 직접 업그레이드될 수 있는지 여부를 선택하도록 허용된다. 차량 내 각각의 디바이스가 업그레이드될 때, 각각의 ECU의 소프트웨어의 업그레이드 패키지를 다운로드하는 특정 프로세스에서는, 각각의 디바이스가 OTA 서버로부터 소프트웨어 패키지를 다운로드 중임을 프롬프트하기 위해 프롬프트 메시지가 전송된다.
차량은 자동차, 트럭, 오토바이, 버스, 보트, 잔디 깎는 기계(lawn mower), 레저용 차량, 놀이터 차량, 건설 디바이스, 트롤리, 골프 카트 등일 수 있다. 이는 본 출원의 본 실시예에서 구체적으로 제한되지 않는다.
ECU 및 차량이 데이터 송신 방법을 수행하고 유익한 효과들을 가져온 특정 구현에 대해, 도 4 내지 도 7b에 대응하는 방법 실시예들의 설명을 참조하도록 한다는 점에 유의해야 한다. 세부사항들은 여기에서 다시 설명되지 않는다.
본 출원의 실시예는 컴퓨터 판독가능 저장 매체를 더 제공한다. 컴퓨터 판독가능 저장 매체는 소프트웨어 패키지를 다운로드하는 데 사용되는 프로그램을 저장한다. 프로그램이 컴퓨터에서 실행될 때, 컴퓨터는 도 4 내지 도 7b에 도시된 실시예들에서 설명된 방법들에서 ECU에 의해 수행되는 단계들을 수행할 수 있게 된다.
본 출원의 실시예는 컴퓨터 판독가능 저장 매체를 더 제공한다. 컴퓨터 판독가능 저장 매체는 소프트웨어 패키지를 다운로드하는 데 사용되는 프로그램을 저장한다. 프로그램이 컴퓨터에서 실행될 때, 컴퓨터는 도 4 내지 도 7b에 도시된 실시예들에서 설명된 방법들에서 OTA에 의해 수행되는 단계들을 수행할 수 있게 된다.
본 출원의 실시예는 컴퓨터 프로그램 제품을 더 제공한다. 컴퓨터 프로그램 제품이 컴퓨터에서 실행될 때, 컴퓨터는 도 4 내지 도 7b에 도시된 실시예들에서 설명된 방법들에서 ECU에 의해 수행되는 단계들을 수행할 수 있게 된다. 대안적으로, 컴퓨터 프로그램 제품이 컴퓨터에서 실행될 때, 컴퓨터는 도 4 내지 도 7b에 도시된 실시예들에서 설명된 방법들에서 OTA에 의해 수행되는 단계들을 수행할 수 있게 된다. 컴퓨터 프로그램 제품은 하나 이상의 컴퓨터 명령어를 포함한다. 컴퓨터 프로그램 명령어들이 컴퓨터에서 로드되고 실행될 때, 본 출원의 실시예들에 따른 절차들 또는 기능들이 모두 또는 부분적으로 생성된다. 컴퓨터는 범용 컴퓨터, 전용 컴퓨터, 컴퓨터 네트워크, 또는 다른 프로그램가능한 장치일 수 있다. 컴퓨터 명령어들은 컴퓨터 판독가능 저장 매체에 저장될 수 있거나 또는 컴퓨터 판독가능 저장 매체로부터 다른 컴퓨터 판독가능 저장 매체로 송신될 수 있다. 예를 들어, 컴퓨터 명령어들은 유선(예를 들어, 동축 케이블, 광섬유, 또는 디지털 가입자 라인(digital subscriber line)(DSL)) 또는 무선(예를 들어, 적외선, 라디오, 또는 마이크로웨이브) 방식으로 웹사이트, 컴퓨터, 서버, 또는 데이터 센터로부터 다른 웹사이트, 컴퓨터, 서버, 또는 데이터 센터로 송신될 수 있다. 컴퓨터 판독가능 저장 매체는 컴퓨터에 의해 액세스가능한 임의의 사용가능한 매체이거나, 또는 하나 이상의 사용가능한 매체를 통합하는, 서버 또는 데이터 센터와 같은, 데이터 저장 디바이스일 수 있다. 사용가능한 매체는 자기 매체(예를 들어, 플로피 디스크, 하드 디스크, 또는 자기 테이프), 광학 매체(예를 들어, DVD), 반도체 매체(예를 들어, 솔리드 스테이트 드라이브(solid-state drive, SSD)) 등일 수 있다.
본 출원의 실시예는 회로 시스템을 더 제공한다. 회로 시스템은 프로세싱 회로 및 저장 회로를 포함한다. 프로세싱 회로 및 저장 회로는 도 4 내지 도 7b에 도시된 실시예들에서 설명된 방법들에서 ECU 또는 OTA 서버에 의해 수행되는 단계들을 수행하도록 구성된다. 프로세싱 회로는 임의의 적절한 유형의 컴퓨팅 유닛, 예를 들어, 마이크로프로세서, 디지털 신호 프로세서(digital signal processor, DSP), 필드 프로그램가능한 게이트 어레이(field programmable gate array, FPGA), 또는 애플리케이션 특정 집적 회로(application-specific integrated circuit, ASIC) 또는 임의의 다른 형태의 회로일 수 있다. 저장 회로는 휘발성(volatile) 및/또는 비휘발성(non-volatile)일 수 있다. 예를 들어, 저장 회로는 레지스터, 캐시 등일 수 있다. 구체적으로, 휘발성 저장 회로는 캐시 메모리를 포함할 수 있고, 비휘발성 저장 회로는 플래시 메모리를 포함할 수 있다.
본 출원의 실시예들에서 제공되는 ECU 또는 OTA 서버는 구체적으로 칩일 수 있다. 칩은 프로세싱 유닛 및 통신 유닛을 포함한다. 프로세싱 유닛은, 예를 들어, 프로세서일 수 있고, 통신 유닛은, 예를 들어, 입/출력 인터페이스, 핀, 또는 회로일 수 있다. 프로세싱 유닛은 저장 유닛에 저장된 컴퓨터 실행가능 명령어들을 실행하여, 서버의 칩이 도 4 내지 도 7b에 도시된 실시예들에서 설명된 데이터 송신 방법을 수행할 수 있게 한다. 임의적으로, 저장 유닛은 칩의 저장 유닛, 예를 들어, 레지스터 또는 캐시이거나; 또는 저장 유닛은 라디오 액세스 디바이스에 있고 칩 외부에 위치되는 저장 유닛, 예를 들어, 판독 전용 메모리(read-only memory, ROM), 정적 정보 및 명령어들을 저장할 수 있는 다른 유형의 정적 저장 디바이스, 또는 랜덤 액세스 메모리(random access memory, RAM)일 수 있다.
또한, 설명된 장치 실시예들은 단지 예들이라는 점에 유의해야 한다. 별개의 부분들로서 설명된 유닛들은 물리적으로 분리될 수도 있고 아닐 수도 있고, 유닛들로서 디스플레이된 부분들은 물리적 유닛들일 수도 있고 아닐 수도 있으며, 즉, 하나의 포지션에 위치될 수도 있고 또는 복수의 네트워크 유닛들에 분산될 수도 있다. 일부 또는 모든 모듈들은 실시예들의 솔루션들의 목적들을 달성하기 위해 실제 요구사항에 따라 선택될 수 있다. 또한, 본 출원에서 제공되는 장치 실시예들의 첨부 도면들에서, 모듈들 사이의 연결 관계들은 모듈들이 서로 통신 연결들을 갖는 점을 나타내며, 이는 하나 이상의 통신 버스 또는 신호 케이블로서 구체적으로 구현될 수 있다.
전술한 구현들에 대한 설명들에 따르면, 본 기술분야의 통상의 기술자는 본 출원이 필요한 유니버셜 하드웨어(universal hardware)에 더하여 소프트웨어에 의해, 또는 애플리케이션 특정 집적 회로, 전용 CLU, 전용 메모리, 전용 컴포넌트 등을 포함한 전용 하드웨어에 의해 구현될 수 있음을 명백히 이해할 수 있다. 일반적으로, 컴퓨터 프로그램에 의해 수행되는 임의의 기능들은 대응하는 하드웨어를 사용함으로써 쉽게 구현될 수 있으며, 동일한 기능을 달성하는 데 사용되는 특정 하드웨어 구조는, 예를 들어, 아날로그 회로, 디지털 회로, 애플리케이션 특정 회로 등의 형태의 다양한 형태들일 수 있다. 그러나, 본 출원에 있어서, 대부분의 경우, 소프트웨어 프로그램 구현이 더 나은 구현이다. 이러한 이해에 기초하여, 본질적으로 본 출원의 기술적 솔루션들 또는 종래의 기술에 기여하는 부분은 소프트웨어 제품의 형태로 구현될 수 있다. 컴퓨터 소프트웨어 제품은 판독가능 저장 매체, 이를테면, 플로피 디스크, USB 플래시 드라이브, 이동식 하드 디스크, ROM, RAM, 자기 디스크, 또는 컴퓨터의 컴팩트 디스크에 저장되며, 본 출원의 실시예들에서 설명된 방법들을 수행하도록 컴퓨터 디바이스(개인용 컴퓨터, 서버, 네트워크 디바이스 등일 수 있음)에 지시하기 위한 여러 명령어들을 포함한다.

Claims (31)

  1. 데이터 송신 시스템으로서,
    상기 데이터 송신 시스템은 오버 디 에어(over the air)(OTA) 서버, 마스터 전자 제어 유닛(electronic control unit)(ECU), 및 노드 ECU를 포함하고;
    상기 OTA 서버는 상기 마스터 ECU의 제1 인터페이스를 호출(invoke)하도록 구성되고;
    상기 마스터 ECU는 상기 OTA 서버가 상기 제1 인터페이스를 호출한다는 사실에 응답하여 타겟 소프트웨어 패키지의 사이즈를 획득하도록 구성되고;
    상기 마스터 ECU는 상기 노드 ECU의 제2 인터페이스를 호출하도록 추가로 구성되고;
    상기 노드 ECU는: 상기 마스터 ECU가 상기 제2 인터페이스를 호출한다는 사실에 응답하여, 상기 타겟 소프트웨어 패키지의 사이즈를 획득하고 상기 노드 ECU의 잔여 저장 공간을 체크하고, 상기 잔여 저장 공간이 상기 타겟 소프트웨어 패키지의 사이즈보다 작지 않을 때, 상기 OTA 서버에 의해 전송된 타겟 소프트웨어 패키지를 수신하도록 구성되는, 데이터 송신 시스템.
  2. 제1항에 있어서,
    상기 노드 ECU는 제1 호출 결과를 상기 마스터 ECU에 리턴하도록 추가로 구성되고, 상기 제1 호출 결과는 제1 파라미터 값을 포함하고, 상기 제1 파라미터 값은 상기 노드 ECU의 잔여 저장 공간이 상기 타겟 소프트웨어 패키지의 사이즈보다 작지 않음을 지시하는 데 사용되고;
    상기 마스터 ECU는 상기 제1 파라미터 값을 획득할 때 상기 OTA 서버의 제3 인터페이스를 호출하도록 추가로 구성되고;
    상기 OTA 서버는 상기 마스터 ECU가 상기 제3 인터페이스를 호출한다는 사실에 응답하여 상기 타겟 소프트웨어 패키지를 상기 노드 ECU에 전송하도록 추가로 구성되는, 데이터 송신 시스템.
  3. 제2항에 있어서, 노드 ECU들의 수는 N이고, N은 1보다 큰 정수이고;
    상기 마스터 ECU는 N개의 제1 파라미터 값을 획득할 때 상기 OTA 서버의 제3 인터페이스를 호출하도록 구체적으로 구성되는, 데이터 송신 시스템.
  4. 제1항에 있어서,
    상기 마스터 ECU는 상기 OTA 서버가 상기 제1 인터페이스를 호출한다는 사실에 응답하여 상기 타겟 소프트웨어 패키지의 다운로드 주소를 획득하도록 추가로 구성되고;
    상기 노드 ECU는 제1 호출 결과를 상기 마스터 ECU에 리턴하도록 추가로 구성되고, 상기 제1 호출 결과는 제1 파라미터 값을 포함하고, 상기 제1 파라미터 값은 상기 노드 ECU의 잔여 저장 공간이 상기 타겟 소프트웨어 패키지의 사이즈보다 작지 않음을 지시하는 데 사용되고;
    상기 마스터 ECU는 상기 제1 파라미터 값을 획득할 때 상기 노드 ECU의 제4 인터페이스를 호출하도록 추가로 구성되고;
    상기 노드 ECU는: 상기 마스터 ECU가 상기 제4 인터페이스를 호출한다는 사실에 응답하여, 상기 타겟 소프트웨어 패키지의 다운로드 주소를 획득하고 상기 OTA 서버의 제5 인터페이스를 호출하도록 추가로 구성되고;
    상기 OTA 서버는: 상기 노드 ECU가 상기 제5 인터페이스를 호출한다는 사실에 응답하여, 상기 다운로드 주소를 수신하고 상기 다운로드 주소에 따라 상기 타겟 소프트웨어 패키지를 상기 노드 ECU에 전송하도록 추가로 구성되는, 데이터 송신 시스템.
  5. 제4항에 있어서, 상기 노드 ECU들의 수는 N이고, N은 1보다 큰 정수이고;
    상기 마스터 ECU는 N개의 제1 파라미터 값을 획득할 때 상기 노드 ECU들의 제4 인터페이스들을 호출하도록 구체적으로 구성되는, 데이터 송신 시스템.
  6. 오버 디 에어(OTA) 서버로서,
    상기 OTA 서버는 업데이트 및 구성 관리(update and configuration management)(UCM) 모듈을 포함하고;
    상기 UCM 모듈은 마스터 ECU의 제1 인터페이스를 호출하여, 상기 마스터 ECU가 상기 OTA 서버가 상기 제1 인터페이스를 호출한다는 사실에 응답하여 타겟 소프트웨어 패키지의 사이즈를 획득하게 하고, 상기 마스터 ECU가 노드 ECU의 제2 인터페이스를 호출하여, 상기 노드 ECU가 상기 마스터 ECU가 상기 제2 인터페이스를 호출한다는 사실에 응답하여 상기 타겟 소프트웨어 패키지의 사이즈를 획득하고 상기 노드 ECU의 잔여 저장 공간을 체크하게 하고, 상기 잔여 저장 공간이 상기 타겟 소프트웨어 패키지의 사이즈보다 작지 않을 때, 상기 노드 ECU가 상기 OTA 서버에 의해 전송된 타겟 소프트웨어 패키지를 수신하게 하도록 구성되는, OTA 서버.
  7. 제6항에 있어서,
    상기 UCM 모듈은 상기 마스터 ECU가 상기 UCM 모듈의 제3 인터페이스를 호출한다는 사실에 응답하여 상기 타겟 소프트웨어 패키지를 상기 노드 ECU에 전송하도록 추가로 구성되고, 상기 제3 인터페이스는 상기 UCM 모듈의 것이고 상기 마스터 ECU가 제1 파라미터 값을 획득할 때 상기 마스터 ECU에 의해 호출되는 인터페이스이고, 상기 제1 파라미터 값은 상기 노드 ECU에 의해 상기 마스터 ECU에 리턴된 제1 호출 결과에 포함된 파라미터 값이고, 상기 제1 파라미터 값은 상기 노드 ECU의 잔여 저장 공간이 상기 타겟 소프트웨어 패키지의 사이즈보다 작지 않음을 지시하는 데 사용되는, OTA 서버.
  8. 제6항에 있어서,
    상기 UCM 모듈은 상기 마스터 ECU의 제1 인터페이스를 호출하여, 상기 마스터 ECU가 상기 OTA 서버가 상기 제1 인터페이스를 호출한다는 사실에 응답하여 상기 타겟 소프트웨어 패키지의 다운로드 주소를 획득하게 한 다음, 상기 노드 ECU가 상기 마스터 ECU가 제4 인터페이스를 호출한다는 사실에 응답하여 상기 타겟 소프트웨어 패키지의 다운로드 주소를 획득하고 상기 OTA 서버의 제5 인터페이스를 호출하게 하도록 추가로 구성되고;
    상기 UCM 모듈은: 상기 노드 ECU가 상기 UCM 모듈의 제5 인터페이스를 호출한다는 사실에 응답하여, 상기 타겟 소프트웨어 패키지의 다운로드 주소를 수신하고 상기 다운로드 주소에 따라 상기 타겟 소프트웨어 패키지를 상기 노드 ECU에 전송하도록 추가로 구성되는, OTA 서버.
  9. 마스터 전자 제어 유닛(ECU)으로서,
    상기 마스터 ECU는 업데이트 및 구성 관리 마스터(update and configuration management master)(UCM Master) 모듈을 포함하고;
    상기 UCM Master 모듈은 OTA 서버가 상기 UCM Master 모듈의 제1 인터페이스를 호출한다는 사실에 응답하여 타겟 소프트웨어 패키지의 사이즈를 획득하도록 구성되고;
    상기 UCM Master 모듈은 노드 ECU의 제2 인터페이스를 호출하여, 상기 노드 ECU가 상기 제2 인터페이스가 호출된다는 사실에 응답하여 상기 타겟 소프트웨어 패키지의 사이즈를 획득하고 상기 노드 ECU의 잔여 저장 공간을 체크하게 하고, 상기 잔여 저장 공간이 상기 타겟 소프트웨어 패키지의 사이즈보다 작지 않을 때, 상기 노드 ECU가 상기 OTA 서버에 의해 전송된 타겟 소프트웨어 패키지를 수신하게 하도록 추가로 구성되는, 마스터 ECU.
  10. 제9항에 있어서,
    상기 UCM Master 모듈은 제1 파라미터 값을 획득할 때 상기 OTA 서버의 제3 인터페이스를 호출하여, 상기 OTA 서버가 상기 제3 인터페이스가 호출된다는 사실에 응답하여 상기 타겟 소프트웨어 패키지를 상기 노드 ECU에 전송하게 하도록 추가로 구성되고, 상기 제1 파라미터 값은 상기 노드 ECU에 의해 상기 마스터 ECU에 리턴된 제1 호출 결과에 포함된 파라미터 값이고, 상기 제1 파라미터 값은 상기 노드 ECU의 잔여 저장 공간이 상기 타겟 소프트웨어 패키지의 사이즈보다 작지 않음을 지시하는 데 사용되는, 마스터 ECU.
  11. 제10항에 있어서, 노드 ECU들의 수는 N이고, N은 1보다 큰 정수이고;
    상기 UCM Master 모듈은 N개의 제1 파라미터 값을 획득할 때 상기 OTA 서버의 제3 인터페이스를 호출하도록 구체적으로 구성되는, 마스터 ECU.
  12. 제9항에 있어서,
    상기 UCM Master 모듈은 상기 OTA 서버가 상기 제1 인터페이스를 호출한다는 사실에 응답하여 상기 타겟 소프트웨어 패키지의 다운로드 주소를 획득하도록 추가로 구성되고;
    상기 UCM Master 모듈은 제1 파라미터 값을 획득할 때 상기 노드 ECU의 제4 인터페이스를 호출하여, 상기 노드 ECU가 상기 제4 인터페이스가 호출된다는 사실에 응답하여 상기 다운로드 주소를 획득하고 상기 OTA 서버의 제5 인터페이스를 호출하게 한 다음, 상기 OTA 서버가 상기 제5 인터페이스가 호출된다는 사실에 응답하여 상기 다운로드 주소를 수신하고 상기 다운로드 주소에 따라 상기 타겟 소프트웨어 패키지를 상기 노드 ECU에 전송하게 하도록 추가로 구성되고, 상기 제1 파라미터 값은 상기 노드 ECU에 의해 상기 마스터 ECU에 리턴된 제1 호출 결과에 포함된 파라미터 값이고, 상기 제1 파라미터 값은 상기 노드 ECU의 잔여 저장 공간이 상기 타겟 소프트웨어 패키지의 사이즈보다 작지 않음을 지시하는 데 사용되는, 마스터 ECU.
  13. 제12항에 있어서, 노드 ECU들의 수는 N이고, N은 1보다 큰 정수이고;
    상기 UCM Master 모듈은 N개의 제1 파라미터 값을 획득할 때 상기 노드 ECU들의 제4 인터페이스들을 호출하도록 구체적으로 구성되는, 마스터 ECU.
  14. 노드 전자 제어 유닛(ECU)으로서,
    상기 노드 ECU는 업데이트 및 구성 관리(UCM) 모듈을 포함하고;
    상기 UCM 모듈은: 마스터 ECU가 상기 마스터 ECU의 제1 인터페이스가 호출된 후에 상기 UCM 모듈의 제2 인터페이스를 호출한다는 사실에 응답하여, 타겟 소프트웨어 패키지의 사이즈를 획득하고 상기 노드 ECU의 잔여 저장 공간을 체크하고, 상기 잔여 저장 공간이 상기 타겟 소프트웨어 패키지의 사이즈보다 작지 않을 때, 상기 OTA 서버에 의해 전송된 타겟 소프트웨어 패키지를 수신하도록 구성되고, 상기 마스터 ECU의 제1 인터페이스는 상기 OTA 서버에 의해 호출되어, 상기 마스터 ECU가 상기 제1 인터페이스가 호출된다는 사실에 응답하여 상기 타겟 소프트웨어 패키지의 사이즈를 획득하게 하는, 노드 ECU.
  15. 제14항에 있어서,
    상기 UCM 모듈은 제1 호출 결과를 상기 마스터 ECU에 리턴하도록 추가로 구성되고, 상기 제1 호출 결과는 제1 파라미터 값을 포함하고, 상기 제1 파라미터 값은 상기 노드 ECU의 잔여 저장 공간이 상기 타겟 소프트웨어 패키지의 사이즈보다 작지 않음을 지시하는 데 사용되어, 상기 마스터 ECU가 상기 제1 파라미터 값을 획득할 때 상기 OTA 서버의 제3 인터페이스를 호출하게 한 다음, 상기 OTA 서버가 상기 마스터 ECU가 상기 제3 인터페이스를 호출한다는 사실에 응답하여 상기 타겟 소프트웨어 패키지를 상기 노드 ECU에 전송하게 하는, 노드 ECU.
  16. 제14항에 있어서,
    상기 UCM 모듈은 제1 호출 결과를 상기 마스터 ECU에 리턴하도록 추가로 구성되고, 상기 제1 호출 결과는 제1 파라미터 값을 포함하고, 상기 제1 파라미터 값은 상기 노드 ECU의 잔여 저장 공간이 상기 타겟 소프트웨어 패키지의 사이즈보다 작지 않음을 지시하는 데 사용되어, 상기 마스터 ECU가 상기 제1 파라미터 값을 획득할 때 상기 노드 ECU의 제4 인터페이스를 호출하게 하고;
    상기 UCM 모듈은: 상기 마스터 ECU가 상기 제4 인터페이스를 호출한다는 사실에 응답하여, 상기 타겟 소프트웨어 패키지의 다운로드 주소를 획득하고 상기 OTA 서버의 제5 인터페이스를 호출하여, 상기 OTA 서버가 상기 제5 인터페이스가 호출된다는 사실에 응답하여 상기 다운로드 주소를 수신하고 상기 다운로드 주소에 따라 상기 타겟 소프트웨어 패키지를 상기 노드 ECU에 전송하게 하도록 추가로 구성되는, 노드 ECU.
  17. 데이터 송신 방법으로서,
    OTA 서버에 의해, 마스터 ECU의 제1 인터페이스를 호출하여, 상기 마스터 ECU가 상기 OTA 서버가 상기 제1 인터페이스를 호출한다는 사실에 응답하여 타겟 소프트웨어 패키지의 사이즈를 획득하게 하고, 상기 마스터 ECU가 상기 노드 ECU의 제2 인터페이스를 호출하여, 상기 노드 ECU가 상기 마스터 ECU가 상기 제2 인터페이스를 호출한다는 사실에 응답하여 상기 타겟 소프트웨어 패키지의 사이즈를 획득하고 상기 노드 ECU의 잔여 저장 공간을 체크하게 하고, 상기 잔여 저장 공간이 상기 타겟 소프트웨어 패키지의 사이즈보다 작지 않을 때, 상기 노드 ECU가 상기 OTA 서버에 의해 전송된 타겟 소프트웨어 패키지를 수신하게 하는 단계
    를 포함하는, 데이터 송신 방법.
  18. 제17항에 있어서, 상기 방법은:
    상기 OTA 서버에 의해, 상기 마스터 ECU가 상기 UCM 모듈의 제3 인터페이스를 호출한다는 사실에 응답하여 상기 타겟 소프트웨어 패키지를 상기 노드 ECU에 전송하는 단계 - 상기 제3 인터페이스는 상기 OTA 서버의 것이고 상기 마스터 ECU가 제1 파라미터 값을 획득할 때 상기 마스터 ECU에 의해 호출되는 인터페이스이고, 상기 제1 파라미터 값은 상기 노드 ECU에 의해 상기 마스터 ECU에 리턴된 제1 호출 결과에 포함된 파라미터 값이고, 상기 제1 파라미터 값은 상기 노드 ECU의 잔여 저장 공간이 상기 타겟 소프트웨어 패키지의 사이즈보다 작지 않음을 지시하는 데 사용됨 -
    를 더 포함하는, 데이터 송신 방법.
  19. 제17항에 있어서, 상기 방법은:
    상기 OTA 서버에 의해, 상기 마스터 ECU의 제1 인터페이스를 호출하여, 상기 마스터 ECU가 상기 OTA 서버가 상기 제1 인터페이스를 호출한다는 사실에 응답하여 상기 타겟 소프트웨어 패키지의 다운로드 주소를 획득하게 한 다음, 상기 노드 ECU가 상기 마스터 ECU가 제4 인터페이스를 호출한다는 사실에 응답하여 상기 타겟 소프트웨어 패키지의 다운로드 주소를 획득하고 상기 OTA 서버의 제5 인터페이스를 호출하게 하는 단계; 및
    상기 노드 ECU가 상기 UCM 모듈의 제5 인터페이스를 호출한다는 사실에 응답하여, 상기 OTA 서버에 의해, 상기 타겟 소프트웨어 패키지의 다운로드 주소를 수신하고 상기 다운로드 주소에 따라 상기 타겟 소프트웨어 패키지를 상기 노드 ECU에 전송하는 단계
    를 더 포함하는, 데이터 송신 방법.
  20. 데이터 송신 방법으로서,
    마스터 ECU에 의해, OTA 서버가 UCM Master 모듈의 제1 인터페이스를 호출한다는 사실에 응답하여 타겟 소프트웨어 패키지의 사이즈를 획득하는 단계; 및
    상기 마스터 ECU에 의해, 노드 ECU의 제2 인터페이스를 호출하여, 상기 노드 ECU가 상기 제2 인터페이스가 호출된다는 사실에 응답하여 상기 타겟 소프트웨어 패키지의 사이즈를 획득하고 상기 노드 ECU의 잔여 저장 공간을 체크하게 하고, 상기 잔여 저장 공간이 상기 타겟 소프트웨어 패키지의 사이즈보다 작지 않을 때, 상기 노드 ECU가 상기 OTA 서버에 의해 전송된 타겟 소프트웨어 패키지를 수신하게 하는 단계
    를 포함하는, 데이터 송신 방법.
  21. 제20항에 있어서, 상기 방법은:
    상기 마스터 ECU에 의해, 제1 파라미터 값을 획득할 때 상기 OTA 서버의 제3 인터페이스를 호출하여, 상기 OTA 서버가 상기 제3 인터페이스가 호출된다는 사실에 응답하여 상기 타겟 소프트웨어 패키지를 상기 노드 ECU에 전송하게 하는 단계 - 상기 제1 파라미터 값은 상기 노드 ECU에 의해 상기 마스터 ECU에 리턴된 제1 호출 결과에 포함된 파라미터 값이고, 상기 제1 파라미터 값은 상기 노드 ECU의 잔여 저장 공간이 상기 타겟 소프트웨어 패키지의 사이즈보다 작지 않음을 지시하는 데 사용됨 -
    를 더 포함하는, 데이터 송신 방법.
  22. 제21항에 있어서, 노드 ECU들의 수는 N이고, N은 1보다 큰 정수이고;
    상기 마스터 ECU에 의해, 제1 파라미터 값을 획득할 때 상기 OTA 서버의 제3 인터페이스를 호출하는 것은,
    상기 마스터 ECU에 의해, N개의 제1 파라미터 값을 획득할 때 상기 OTA 서버의 제3 인터페이스를 호출하는 것
    을 포함하는, 데이터 송신 방법.
  23. 제20항에 있어서, 상기 방법은:
    상기 마스터 ECU에 의해, 상기 OTA 서버가 상기 제1 인터페이스를 호출한다는 사실에 응답하여 상기 타겟 소프트웨어 패키지의 다운로드 주소를 획득하는 단계;
    상기 마스터 ECU에 의해, 제1 파라미터 값을 획득할 때 상기 노드 ECU의 제4 인터페이스를 호출하여, 상기 노드 ECU가 상기 제4 인터페이스가 호출된다는 사실에 응답하여 상기 다운로드 주소를 획득하고 상기 OTA 서버의 제5 인터페이스를 호출하게 한 다음, 상기 OTA 서버가 상기 제5 인터페이스가 호출된다는 사실에 응답하여 상기 다운로드 주소를 수신하고 상기 다운로드 주소에 따라 상기 타겟 소프트웨어 패키지를 상기 노드 ECU에 전송하게 하는 단계 - 상기 제1 파라미터 값은 상기 노드 ECU에 의해 상기 마스터 ECU에 리턴된 제1 호출 결과에 포함된 파라미터 값이고, 상기 제1 파라미터 값은 상기 노드 ECU의 잔여 저장 공간이 상기 타겟 소프트웨어 패키지의 사이즈보다 작지 않음을 지시하는 데 사용됨 -
    를 더 포함하는, 데이터 송신 방법.
  24. 제23항에 있어서, 노드 ECU들의 수는 N이고, N은 1보다 큰 정수이고;
    상기 마스터 ECU에 의해, 제1 파라미터 값을 획득할 때 상기 노드 ECU의 제4 인터페이스를 호출하는 것은,
    상기 마스터 ECU에 의해, N개의 제1 파라미터 값을 획득할 때 상기 노드 ECU들의 제4 인터페이스들을 호출하는 것
    을 포함하는, 데이터 송신 방법.
  25. 데이터 송신 방법으로서,
    마스터 ECU가 상기 마스터 ECU의 제1 인터페이스가 호출된 후에 UCM 모듈의 제2 인터페이스를 호출한다는 사실에 응답하여, 노드 ECU에 의해, 타겟 소프트웨어 패키지의 사이즈를 획득하고 상기 노드 ECU의 잔여 저장 공간을 체크하고; 상기 잔여 저장 공간이 상기 타겟 소프트웨어 패키지의 사이즈보다 작지 않을 때, 상기 OTA 서버에 의해 전송된 타겟 소프트웨어 패키지를 수신하는 단계 - 상기 마스터 ECU의 제1 인터페이스는 상기 OTA 서버에 의해 호출되어, 상기 마스터 ECU가 상기 제1 인터페이스가 호출된다는 사실에 응답하여 상기 타겟 소프트웨어 패키지의 사이즈를 획득하게 함 -
    를 포함하는, 데이터 송신 방법.
  26. 제25항에 있어서, 상기 방법은:
    상기 노드 ECU에 의해, 제1 호출 결과를 상기 마스터 ECU에 리턴하는 단계 - 상기 제1 호출 결과는 제1 파라미터 값을 포함하고, 상기 제1 파라미터 값은 상기 노드 ECU의 잔여 저장 공간이 상기 타겟 소프트웨어 패키지의 사이즈보다 작지 않음을 지시하는 데 사용되어, 상기 마스터 ECU가 상기 제1 파라미터 값을 획득할 때 상기 OTA 서버의 제3 인터페이스를 호출하게 한 다음, 상기 OTA 서버가 상기 마스터 ECU가 상기 제3 인터페이스를 호출한다는 사실에 응답하여 상기 타겟 소프트웨어 패키지를 상기 노드 ECU에 전송하게 함 -
    를 더 포함하는, 데이터 송신 방법.
  27. 제25항에 있어서, 상기 방법은:
    상기 노드 ECU에 의해, 제1 호출 결과를 상기 마스터 ECU에 리턴하는 단계 - 상기 제1 호출 결과는 제1 파라미터 값을 포함하고, 상기 제1 파라미터 값은 상기 노드 ECU의 잔여 저장 공간이 상기 타겟 소프트웨어 패키지의 사이즈보다 작지 않음을 지시하는 데 사용되어, 상기 마스터 ECU가 상기 제1 파라미터 값을 획득할 때 상기 노드 ECU의 제4 인터페이스를 호출하게 함 -; 및
    상기 마스터 ECU가 상기 제4 인터페이스를 호출한다는 사실에 응답하여, 상기 노드 ECU에 의해, 상기 타겟 소프트웨어 패키지의 다운로드 주소를 획득하고 상기 OTA 서버의 제5 인터페이스를 호출하여, 상기 OTA 서버가 상기 제5 인터페이스가 호출된다는 사실에 응답하여 상기 다운로드 주소를 수신하고 상기 다운로드 주소에 따라 상기 타겟 소프트웨어 패키지를 상기 노드 ECU에 전송하게 하는 단계
    를 더 포함하는, 데이터 송신 방법.
  28. 프로그램을 포함하는 컴퓨터 판독가능 저장 매체로서, 상기 프로그램이 컴퓨터에서 실행될 때, 상기 컴퓨터는 제17항 내지 제19항 중 어느 한 항에 따른 방법을 수행할 수 있게 되는, 컴퓨터 판독가능 저장 매체.
  29. 프로그램을 포함하는 컴퓨터 판독가능 저장 매체로서, 상기 프로그램이 컴퓨터에서 실행될 때, 상기 컴퓨터는 제20항 내지 제24항 중 어느 한 항에 따른 방법을 수행할 수 있게 되는, 컴퓨터 판독가능 저장 매체.
  30. 프로그램을 포함하는 컴퓨터 판독가능 저장 매체로서, 상기 프로그램이 컴퓨터에서 실행될 때, 상기 컴퓨터는 제25항 내지 제27항 중 어느 한 항에 따른 방법을 수행할 수 있게 되는, 컴퓨터 판독가능 저장 매체.
  31. 지능형 차량(intelligent vehicle)으로서, 상기 지능형 차량은 마스터 전자 제어 유닛(ECU) 및 노드 ECU를 포함하고, 상기 마스터 ECU는 제9항 내지 제13항 중 어느 한 항에 따른 마스터 ECU이고, 상기 노드 ECU는 제14항 내지 제16항 중 어느 한 항에 따른 노드 ECU인, 지능형 차량.
KR1020237013439A 2020-09-27 2020-09-27 데이터 송신 시스템, 데이터 송신 방법, 스마트 차량 및 디바이스 KR20230070039A (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2020/118080 WO2022061804A1 (zh) 2020-09-27 2020-09-27 一种数据传输系统、数据传输方法,智能车以及装置

Publications (1)

Publication Number Publication Date
KR20230070039A true KR20230070039A (ko) 2023-05-19

Family

ID=75413911

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020237013439A KR20230070039A (ko) 2020-09-27 2020-09-27 데이터 송신 시스템, 데이터 송신 방법, 스마트 차량 및 디바이스

Country Status (6)

Country Link
US (1) US20230236822A1 (ko)
EP (1) EP4207707A4 (ko)
JP (1) JP2023544123A (ko)
KR (1) KR20230070039A (ko)
CN (2) CN114666362A (ko)
WO (1) WO2022061804A1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022187189A (ja) * 2021-06-07 2022-12-19 トヨタ自動車株式会社 Otaマスタ、センタ、システム、方法、プログラム、及び車両
JP2022187162A (ja) * 2021-06-07 2022-12-19 トヨタ自動車株式会社 Otaマスタ、システム、方法、プログラム、及び車両
CN115878139A (zh) * 2021-09-29 2023-03-31 华为技术有限公司 芯片升级方法及装置
CN114020662A (zh) * 2021-11-02 2022-02-08 上海兆芯集成电路有限公司 桥接模块、数据传输系统和数据传输方法
CN114124842B (zh) * 2021-11-10 2023-07-14 北京经纬恒润科技股份有限公司 一种数据传输方法、系统、电子设备及存储介质

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6832373B2 (en) * 2000-11-17 2004-12-14 Bitfone Corporation System and method for updating and distributing information
US7752618B2 (en) * 2002-12-05 2010-07-06 Samsung Electronics Co., Ltd. Apparatus and method for remote DLL linking of software upgrades for a wireless mobile station
US20170292467A1 (en) * 2016-04-08 2017-10-12 Infineon Technologies Ag Control infrastructure for automotive applications
CN109561118B (zh) * 2017-09-26 2020-12-25 比亚迪股份有限公司 软件升级方法、装置、系统、存储介质、电子设备及车辆
US10834206B2 (en) * 2018-02-27 2020-11-10 Excelfore Corporation Broker-based bus protocol and multi-client architecture
US11204751B2 (en) * 2018-09-07 2021-12-21 International Business Machines Corporation Mitigating incompatibilities due to code updates in a system containing multiple networked electronic control units
US11290437B2 (en) * 2018-12-27 2022-03-29 Beijing Voyager Technology Co., Ltd. Trusted platform protection in an autonomous vehicle
JP7200708B2 (ja) * 2019-01-31 2023-01-10 富士通株式会社 車載システム及びecu
CN110377307A (zh) * 2019-07-18 2019-10-25 上海擎感智能科技有限公司 一种车身控制器固件升级方法、终端、系统
CN110597538B (zh) * 2019-09-03 2023-06-30 广州小鹏汽车科技有限公司 一种基于ota升级系统的软件升级方法和ota升级系统
CN111580840A (zh) * 2020-03-27 2020-08-25 惠州市德赛西威汽车电子股份有限公司 一种基于分布式内存管理实现ecu更新的方法

Also Published As

Publication number Publication date
WO2022061804A1 (zh) 2022-03-31
CN112673609B (zh) 2022-03-04
CN114666362A (zh) 2022-06-24
JP2023544123A (ja) 2023-10-20
CN112673609A (zh) 2021-04-16
EP4207707A1 (en) 2023-07-05
EP4207707A4 (en) 2023-11-01
US20230236822A1 (en) 2023-07-27

Similar Documents

Publication Publication Date Title
KR20230070039A (ko) 데이터 송신 시스템, 데이터 송신 방법, 스마트 차량 및 디바이스
CN105939213B (zh) 用于车辆的分系统和相应的车辆
US20230289174A1 (en) Vehicle upgrade method and apparatus
US20230004381A1 (en) Software version rollback method, apparatus, and system
US11972247B2 (en) Software upgrading method, apparatus, and system
CN110377307A (zh) 一种车身控制器固件升级方法、终端、系统
CN112740642B (zh) 通信方法及多接入边缘计算服务器
US20240045657A1 (en) System architecture for implementing dds communication based on autosar, communication method, and device
CN107193609B (zh) 应用中功能模块调用方法及装置、电子设备
CN113824795A (zh) 车端与云端的通信方法、装置、系统
CN113485920B (zh) 实现DoIP实体的方法、装置、可读存储介质及电子设备
CN116016156A (zh) 一种车载通信方法、装置及系统
CN116506419A (zh) 一种用于智能选择升级包下载路径的方法及系统
CN113076128B (zh) 用于机器人配置的方法、装置、电子设备及存储介质
CN113227968B (zh) 一种版本管理方法和装置
EP3992778B1 (en) A computer-implemented method for transferring ota data to a fleet of vehicles, a backend server, a transportation system
CN115277671A (zh) 车辆的ota升级方法、装置、车辆及存储介质
CN110677466A (zh) 应用程序的下载方法、装置、网关和存储介质
CN115134244B (zh) 车辆接入设备管理方法、装置、电子设备及存储介质
CN115079618A (zh) 域控制器的控制方法和装置、存储介质及电子装置
CN118276962A (zh) 服务管理方法、应用管理方法、装置以及车辆
JP2020184120A (ja) 通信電子制御装置、管理電子制御装置、及びアプリケーションインストール方法
CN116319745A (zh) 应用资源下载方法、装置、车机、车辆及存储介质
CN117707570A (zh) 车载信息娱乐系统升级方法及装置
CN116319711A (zh) 业务请求的处理方法、车辆及计算机可读存储介质

Legal Events

Date Code Title Description
A201 Request for examination