KR20190081407A - 차량용 네트워크의 게이트웨이 및 그의 메시지 라우팅 방법 - Google Patents

차량용 네트워크의 게이트웨이 및 그의 메시지 라우팅 방법 Download PDF

Info

Publication number
KR20190081407A
KR20190081407A KR1020170183922A KR20170183922A KR20190081407A KR 20190081407 A KR20190081407 A KR 20190081407A KR 1020170183922 A KR1020170183922 A KR 1020170183922A KR 20170183922 A KR20170183922 A KR 20170183922A KR 20190081407 A KR20190081407 A KR 20190081407A
Authority
KR
South Korea
Prior art keywords
message
routing
gateway
received
interrupt service
Prior art date
Application number
KR1020170183922A
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 KR1020170183922A priority Critical patent/KR20190081407A/ko
Publication of KR20190081407A publication Critical patent/KR20190081407A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40143Bus networks involving priority mechanisms
    • H04L12/4015Bus networks involving priority mechanisms by scheduling the transmission of messages at the communication node
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40215Controller Area Network CAN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40267Bus for use in transportation systems
    • H04L2012/40273Bus for use in transportation systems the transportation system being a vehicle

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명은 차량용 네트워크를 게이트웨이 및 그의 메시지 라우팅 방법에 관한 것으로, 보다 상세히는 메시지 처리 속도와 지연 시간을 개선할 수 있는 게이트웨이 및 그의 메시지 라우팅 방법에 관한 것이다. 발명의 일 실시예에 따른 차량용 네트워크에서 게이트웨이의 라우팅 방법은, 소스 채널을 통해 적어도 제1 메시지가 수신됨에 따라 수신 인터럽트 서비스 이벤트가 발생하는 단계; 상기 이벤트에 대응되는 인터럽트 서비스 함수가 호출되는 단계; 및 상기 호출된 언터럽트 서비스 함수에 할당된 적어도 하나의 메시지 오브젝트에서 상기 제1 메시지를 탐색하는 단계를 포함하되, 상기 탐색하는 단계는 상기 적어도 하나의 메시지 오브젝트를 메시지 식별자(ID) 순서를 고려하여 순차적으로 탐색하는 단계를 포함할 수 있다.

Description

차량용 네트워크의 게이트웨이 및 그의 메시지 라우팅 방법{GATEWAY FOR IN-VEHICLE NETWORK AND METHOD OF ROUTING MESSAGES FOR THE SAME}
본 발명은 차량용 네트워크를 게이트웨이 및 그의 메시지 라우팅 방법에 관한 것으로, 보다 상세히는 메시지 처리 속도와 지연 시간을 개선할 수 있는 게이트웨이 및 그의 메시지 라우팅 방법에 관한 것이다.
최근 편의 기능, 안전장치, 인포테인먼트 등 차량의 전장화로 인해 차량에 탑재되는 전자제어기(ECU: Electronic Control Unit, 이하 "제어기"라 칭함)와 같은 전자장치의 숫자가 증가하고 있는 추세이다. 그에 따라 복수의 제어기 단위로 네트워크가 구성되고, 하나의 네트워크에서 다른 네트워크로 통신 메시지가 전달되는 경우가 빈번하다. 예컨대, CAN(Controller Area Network) 프로토콜이 제어기간 통신에 적용될 경우 하나의 CAN 버스를 공유하는 복수의 제어기를 하나의 네트워크로 볼 수 있다. 일반적인 차량용 통신망에서는 게이트웨이가 적어도 하나의 소스 네트워크에서 발생한 통신 메시지를 수신하여, 타켓 네트워크로 전달하는 라우팅 기능을 수행한다. 이를 도 1을 참조하여 설명한다.
도 1은 일반적인 차량용 네트워크 구성의 일례를 나타낸다.
도 1을 참조하면, 네트워크 1부터 네트워크 4까지 4개의 네트워크가 존재하며, 각 네트워크는 복수의 제어기를 포함한다. 또한, 게이트웨이는 각 네트워크별로 할당된 채널을 통해 연결된다. 이러한 네트워크 토폴로지에서, 네트워크 1에 포함된 제어기 중 어느 하나에서 네트워크 2에 포함된 제어기로 CAN 메시지를 전송할 경우, 해당 메시지는 채널 1(소스 채널에 해당)을 통해 게이트웨이에 수신된다. 게이트웨이는 라우팅 펑션을 통해 채널 2(타겟 채널에 해당)로 해당 메시지를 전달하는 방법으로 라우팅 기능을 수행하게 된다.
다음으로, 도 2를 참조하여 게이트웨이의 라우팅 과정을 보다 구체적으로 설명한다. 도 2는 일반적인 차량용 네트워크에서 게이트웨이가 라우팅을 수행하는 과정의 개략적인 형태를 나타낸다.
도 2를 참조하면, 게이트웨이에는 복수의 통신 채널이 구비되며, 그 중 일부는 소스 채널로 이용되고, 다른 일부는 타겟 채널로 이용된다. 소스 채널에서 수신된 메시지는 인터럽트 서비스 루틴(ISR: Interrupt Service Routine) 함수의 호출에 의해 메시지 오브젝트 버퍼에 저장되며, 라우팅 처리 함수 및 송신 함수 처리에 의해 지정된 송신 채널로 전달된다. 라우팅 방식에 따라 소스 네트워크로부터 발생한 메시지가 타겟 네트워크로 전달되는데 소요되는 지연시간이 상이할 수 있다. 예컨대, 직접 라우팅(Direct Routing) 방식의 경우 게이트웨이가 소스 네트워크로부터 수신된 메시지를 지연 없이 타겟 네트워크로 바로 전달하며, 간접 라우팅(Indirect Routing) 방식의 경우 일정 시간 동안 입력된 소스 네트워크의 메시지를 모두 수십한 후 이를 타겟 네트워크에 주기적으로 전달하게 된다.
실제 차량에서는 소스 네트워크로부터 게이트웨이로 수신되는 메시지가 서로 다른 다양한 전송 주기를 가지며, 경우에 따라 비주기적으로 전송될 수도 있다. 따라서, 소스 네트워크에서 발생한 메시지들은 계획된 타겟 네트워크로의 도착 시간과 실제 도착 시간의 차이가 다양하게 발생할 수 있으며, 이러한 현상은 라우팅을 처리하는 게이트웨이의 소프트웨어 태스크의 스케쥴링 성능과 동작 상황의 영향을 받는다. 즉, 출력 메시지의 수행 시간 차이(출력 지터)는 입력 신호간에 발생하는 시간 차이(입력 지터)에 게이트웨이의 라우팅 처리 시간 차이(라우팅 지터)가 합산된 만큼 발생한다. 그런데, 출력 지터가 임의의 메시지의 주기보다 길어지게 되면 타겟 제어기 입장에서는 계획된 주기를 초과하는 메시지를 수신하는 성능 불량이 발생하게 된다.
한편, 게이트웨이에서 다이렉트 라우팅 방식이 적용될 때 소스 채널에서 단시간에 많은 메시지가 발생하는 경우, 게이트웨이의 프로세서 부하가 순간적으로 급증하여 게이트웨이의 성능이 일시적으로 불안해지거나 저하될 수 있다.
따라서, 이러한 문제를 해결하기 위해서 라우팅 지터의 개선 및 게이트웨이의 과부하를 개선할 수 있는 방법이 요구된다.
본 발명은 차량 환경에서 보다 효율적인 메시지 라우팅을 수행할 수 있는 게이트웨이 및 그 라우팅 방법을 제공하기 위한 것이다.
특히, 본 발명은 차량 환경에서 게이트웨이의 과부하를 방지하고, 라우팅 지터를 개선할 수 있는 게이트웨이 및 그 라우팅 방법을 제공하기 위한 것이다.
본 발명에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
상기와 같은 기술적 과제를 해결하기 위하여, 본 발명의 일 실시예에 따른 차량용 네트워크에서 게이트웨이의 라우팅 방법은, 소스 채널을 통해 적어도 제1 메시지가 수신됨에 따라 수신 인터럽트 서비스 이벤트가 발생하는 단계; 상기 이벤트에 대응되는 인터럽트 서비스 함수가 호출되는 단계; 및 상기 호출된 언터럽트 서비스 함수에 할당된 적어도 하나의 메시지 오브젝트에서 상기 제1 메시지를 탐색하는 단계를 포함하되, 상기 탐색하는 단계는 상기 적어도 하나의 메시지 오브젝트를 메시지 식별자(ID) 순서를 고려하여 순차적으로 탐색하는 단계를 포함할 수 있다.
또한, 본 발명의 일 실시예에 따른 차량용 네트워크에서 라우팅을 수행하는 게이트웨이는, 적어도 하나의 소스 채널 및 타겟 채널과의 통신을 수행하는 통신모듈; 및 상기 적어도 하나의 소스 채널 중 어느 하나를 통해 적어도 제1 메시지가 수신됨에 따라 수신 인터럽트 서비스 이벤트가 발생하면, 상기 이벤트에 대응되는 인터럽트 서비스 함수를 호출하고, 상기 호출된 언터럽트 서비스 함수에 할당된 적어도 하나의 메시지 오브젝트에서 상기 제1 메시지가 탐색되도록 제어하는 프로세서를 포함할 수 있다. 여기서 상기 프로세서는, 상기 적어도 하나의 메시지 오브젝트를 메시지 식별자(ID) 순서를 고려하여 순차적으로 상기 제1 메시지가 탐색되도록 제어할 수 있다.
상기와 같이 구성되는 본 발명의 적어도 하나의 실시예에 관련된 게이트웨이 및 메시지 라우팅 방법을 통해 보다 신속한 메시지 라우팅이 수행될 수 있다.
특히, 메시지 오브젝트 내부의 데이터 탐색 시간이 감소하며 다이렉트 라우팅에 있어 라우팅 지터가 감소될 수 있다.
본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1은 일반적인 차량용 네트워크 구성의 일례를 나타낸다.
도 2는 일반적인 차량용 네트워크에서 게이트웨이가 라우팅을 수행하는 과정의 개략적인 형태를 나타낸다.
도 3은 본 발명의 실시예들에 따른 라우팅 방법이 적용되는 시점을 설명하기 위한 도면이다.
도 4는 본 발명의 일 실시예에 따른 메시지 ID를 고려한 메시지 오브젝트와 인터럽트 서비스 함수의 매칭 관계의 일례를 나타낸다.
도 5는 일반적인 다이렉트 라우팅 처리 방식의 일례를 설명하기 위한 도면이다.
도 6은 본 발명의 일 실시예에 따른 라우팅 최소 지연 시간의 도입에 따른 다이렉트 라우팅이 수행되는 형태를, 도 7은 본 발명의 일 실시예에 따른 반복 수신된 동일한 메시지의 처리 과정을 각각 설명하기 위한 도면이다.
도 8은 본 발명의 일 실시예에 따른 게이트웨이의 라우팅 과정의 일례를 나타내는 순서도이다.
이하, 본 발명과 관련된 주행기록 관리 방법 및 그를 위한 장치에 대하여 도면을 참조하여 보다 상세하게 설명한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다.
본 발명의 일 실시예에서는 게이트웨이를 통과하여 타겟 네트워크로 메시지가 출력되는 시간 차이, 즉, 출력 지터의 변동에 따른 성능 저하를 개선하기 위하여, 게이트웨이 처리 시간 및 처리 시간 간의 지터를 줄이는 방법이 제안된다.
본 발명의 일 실시예에 의하면, 1) 게이트웨이의 라우팅 성능 향상을 위하여 게이트웨이의 소스 네트워크로부터 수신되는 메시지의 입력 주기나 우선 순위를 고려하여 메시지가 저장되는 버퍼를 설정하여 메시지 탐색 시간이 절약되도록 할 것, 및 2) 라우팅 처리에 필요한 시간을 고려한 지연 시간을 설정하고, 해당 지연 시간 내에 수신된 다른 메시지는 다음 지연 시간에 처리하거나, 해당 지연 시간 내 동일한 복수의 메시지가 수신된 경우 마지막 메시지만 라우팅 처리되도록 할 것을 제안한다.
본 실시예에에 따른 두 방법을 자세히 설명하기 앞서, 라우팅 과정 전체에서 각 방법이 적용되는 시점을 도 3을 참조하여 설명한다.
도 3은 본 발명의 실시예들에 따른 라우팅 방법이 적용되는 시점을 설명하기 위한 도면이다.
도 3을 참조하면, 라우팅 과정은 크게 시간 구간 1 내지 시간 구간 7의 7개의 시간 구간으로 구분될 수 있다.
시간 구간 1은 소스 제어기에서 메시지를 생성하는 시간을 의미하며, 시간 구간 2는 소스 ECU에서 생성된 메시지가 소스 네트워크를 통해 게이트웨이로 전송되는 시간을 의미한다. 또한, 시간 구간 3 내지 시간 구간 5는 게이트웨이에서 라우팅에 소요되는 시간으로, 시간 구간 3은 메시지를 수신 처리하는 시간, 시간 구간 4는 라우팅 함수 처리에 소요되는 시간, 시간 구간 5는 타겟 네트워크로 메시지를 송신하는 송신 처리 시간을 각각 의미한다. 아울러, 시간 구간 6은 게이트웨이에서 출력된 메시지가 타겟 네트워크를 통해 타겟 ECU로 전송되는 시간을 의미하고, 시간 구간 7은 타겟 제어기에서 메시지를 수신하는 시간을 의미한다.
상술한 각 시간 구간에서, 본 실시예의 1)의 방법은 시간 구간 1 및 시간 구간 2에서 발생하는 시간 구간의 크기 변화 및 복수의 소스 제어기에서 발생하는 메시지들의 순간적인 몰림(Burst) 현상에 대비하여 시간 구간 3의 수행 시간을 단축시킬 수 있으며, 2)의 방법은 시간 구간 4에서 발생하는 처리 시간의 변화를 줄일 수 있다.
이하, 본 실시예에 따른 1)의 방법을 먼저 설명하고, 그 다음으로 2)의 방법을 설명하기로 한다.
1) 수신되는 메시지의 입력 주기나 우선 순위를 고려한 버퍼 설정 및 수신 인터럽트 서비스 함수의 할당
게이트웨이는 부팅시 하드웨어 버퍼의 메시지 오브젝트별로 메시지의 ID와 송수신 방향을 설정하는데, 이를 "하드웨어 버퍼 관리"라 칭할 수 있다. 여기서 수신 메시지가 저장될 하드웨어 버퍼는 하나 이상의 메시지 오브젝트를 포함할 수 있으며, 하나의 메시지 오브젝트는 하나 이상의 메시지 ID가 할당된다.
예컨대, 메시지 오브젝트 1에 메시지 ID 3, 5, 7이 할당되고, 메시지 오브젝트 2에 메시지 ID 4, 8이 할당되고, 메시지 ID가 5인 메시지와 8인 메시지가 각각 임의의 수신(소스) 채널을 통해 수신된 경우를 가정한다. 이러한 경우, 메시지 ID가 5인 메시지는 메시지 오브젝트 1에 저장되고, 메시지 ID가 8인 메시지는 메시지 오브젝트 2에 저장된다.
게이트웨이에서 임의의 통신 채널을 통해 메시지가 수신되면, 수신된 메시지 ID에 할당된 메시지 오브젝트가 검색되며, 해당 메시지 오브젝트와 연결된 인터럽트 서비스 함수(ISR)가 호출된다. 결국, 게이트웨이는 메시지 수신 처리를 복수의 인터럽트 서비스 함수(ISR)로 분산하여 처리하게 된다. 그런데, 게이트웨이에서 메시지가 수신되는 이벤트는 비정기적으로 발생될 수 있으며, 하나의 인터럽트 서비스 함수는 일반적으로 복수의 메시지 오브젝트에 지정된다. 따라서, 메시지 수신을 위한 수신 인터럽트 서비스 함수가 실행되면, 어떤 메시지가 수신되었는지 여부를 확인하는 과정이 필요하다. 수신 인터럽트 서비스 함수는 한 번 실행되면 실행 종료시까지 다른 함수에 의해 선점되지 않도록 설정될 수 있으므로 특정 인터럽트 서비스 함수의 수행 시간이 길어지면 게이트웨이 전체의 성능이 저하되므로 수행 시간의 최소화가 요구된다. 또한, 하나의 수신 채널에서의 가용 수신 인터럽트 서비스 함수의 개수는 제한되어 있기 때문에, 복수의 통신 메시지를 처리하도록 지정된 단일 수신 인터럽트 서비스 함수는 자신이 담당하는 메시지 ID를 갖는 메시지를 찾기 위해 자신에 지정된 메시지 오브젝트 내의 데이터를 순차적으로 검색해야 한다.
이때, 메시지 오브젝트 내의 데이터를 순차적으로 검색하는 시간을 줄이기 위해, 본 실시예에서는 메시지 ID의 순서대로 탐색을 진행할 것을 제안한다. 이를 위해, 메시지의 전송 주기가 빠르거나, 높은 중요도/우선 순위를 갖는 순서로 메시지 ID가 지정되는 것이 바람직하다. 메시지의 전송 주기가 빠름은 출력 지터에 민감함을 의미하기 때문이다. 이를 도 4를 참조하여 설명한다.
도 4는 본 발명의 일 실시예에 따른 메시지 ID를 고려한 메시지 오브젝트와 인터럽트 서비스 함수의 매칭 관계의 일례를 나타낸다.
도 4에서는 ID가 낮은 순에서 높은 순서로 메시지의 우선 순위가 높거나 전송 주기가 짧은 것으로 가정한다. 도 4를 참조하면, 메시지 ID가 낮은 순에서 높은 순으로 하나 이상의 메시지 ID가 순차적으로 하나의 메시지 오브젝트에 할당되며, 하나의 수신 인터럽트 서비스 함수(ISR)에는 서로 인접한 하나 이상의 메시지 오브젝트가 순차적으로 할당된다.
여기서 메시지 ID들은 해당 게이트웨이를 포함하는 차량용 네트워크에서 사용되는 메시지 ID들일 수 있으나, 반드시 이에 한정되는 것은 아니다. 또한, 인접한 메시지ID 간의 ID가 반드시 연속된 숫자를 부여받아야 하는 것은 아니다. 예컨대, 도 4에서 0x100과 0x110 없이 0x120이 위치할 수도 있고, 0x110이 아닌 0x100과 0x120 사이의 다른 ID (0x113 등)가 위치해도 무방하다.
이러한 할당 방법을 통해 게이트웨이에서 메시지 수신에 따라 그에 대응되는 수신 인터럽트 서비스 함수가 호출되면, 호출된 수신 인터럽트 서비스 함수는 수신된 메시지를 찾기 위해 자신에 할당된 메시지 오브젝트 중 보다 높은 우선 순위를 갖는 메시지가 저장되는 메시지 오브젝트부터 검색하게 된다. 따라서, 인터럽트 수행시간이 단축될 수 있으며, 특히 중요 메시지를 먼저 찾게 되므로 중요 메시지의 처리 속도가 향상된다.
다음으로, 2)의 방법을 이하 설명한다.
2) 라우팅 처리 시간을 고려한 다이렉트 라우팅 방식의 라우팅 지터 저감
본 실시예에 따른 라우팅 지터 저감 방법을 설명하기 앞서, 도 5를 참조하여 일반적인 다이렉트 라우팅 처리 방식을 설명한다. 도 5는 일반적인 다이렉트 라우팅 처리 방식의 일례를 설명하기 위한 도면이다.
도 5를 참조하면, 소스 채널로부터 하나의 메시지(M1)가 수신되면, 해당 메시지는 즉시 타켓 채널로 송신 요청된다. 그후 통신 드라이브에 의해 송신 통신 드라이브에 의해 송신 완료가 확인(confirmation) 되는 시간(①)까지 대기 후 다이렉트 라우팅 처리 함수가 종료되며 다음 순서 메시지(M2)의 라우팅 처리가 가능한 상태가 된다.
그런데, 전술된 바와 같이, 일반적인 다이렉트 라우팅 처리 방식은 게이트웨이의 복수의 소스 채널들에서 메시지들이 짧은 시간 간격으로 몰려 수신되는 경우에는 과도한 CPU 부하 증가 현상이 발생한다.
따라서, 본 실시예에서는 송신 완료 확인 시간 이후, 라우팅 내부 처리 시간 확보를 위해 설정된 라우팅 최소 지연 시간 값 이내로 소스 채널에서 수신된 메시지는 바로 라우팅 처리되지 않고 일정 시간동안 지연된 후 타겟 채널로 송신할 것을 제안한다. 또한, 본 실시예에서는 라우팅 최소 지연 시간 구간 동안에 동일한 메시지가 반복 수신된 경우에는, 수신 메시지의 저장 버퍼 크기를 초과하는 이전 메시지는 처리하지 않을 것을 제안한다. 이를 도 6 및 도 7을 참조하여 설명한다.
도 6은 본 발명의 일 실시예에 따른 라우팅 최소 지연 시간의 도입에 따른 다이렉트 라우팅이 수행되는 형태를, 도 7은 본 발명의 일 실시예에 따른 반복 수신된 동일한 메시지의 처리 과정을 각각 설명하기 위한 도면이다.
먼저 도 6을 참조하면, 게이트웨이는 소스 채널로부터 수신된 메시지(M1)를 타겟 채널로 바로 전송되되, 송신 완료가 확인(confirmation) 되는 시간(①)이 경과한 후 라우팅 최소 지연 시간(②) 동안 라우팅 처리 없이 대기한다. 따라서, 첫 메시지(M1)에 대한 송신 완료가 확인(confirmation)된 후라도, 라우팅 최소 지연 시간(②)이 경과되지 않은 시점에서 수신된 다른 메시지(M2)는 즉시 처리되지 않고 라우팅 최소 지연 시간(②)이 경과된 후 타겟 채널로 전송된다.
다음으로, 도 7의 경우 제4 메시지(M4)와 제5 메시지(M5)는 동일한 메시지인 것으로 가정한다. 이러한 경우, 제1 메시지(M1)에 대한 처리 시간(즉, ① + ②에 해당하는 시간)이 경과하기 전에 수신된 제2 메시지(M2)는 해당 시간(① + ②)이 경과된 후에 타겟 채널로 라우팅된다. 만일, 제2 메시지(M2)에 대한 처리 시간(① + ②)이 경과하기 전에 동일한 메시지들(M4, M5)이 수신된 경우, 두 메시지가 동일하므로 제2 메시지의 처리가 완료된 후 나중에 수신된 제5 메시지만 타겟 채널로 라우팅될 수 있다.
지금까지 설명한 라우팅 과정을 순서도로 정리하면 도 8과 같다. 도 8은 본 발명의 일 실시예에 따른 게이트웨이의 라우팅 과정의 일례를 나타내는 순서도이다.
도 8을 참조하면, 먼저 미리 준비된 하나 이상의 수신 채널 중 어느 하나를 통해 메시지가 수신됨에 따라 인터럽트 서비스 이벤트가 발생하면, 게이트웨이에서 수신 인터럽트 서비스 함수가 호출되고, 호출된 함수에 할당된 하드웨어 메시지 버퍼, 즉, 메시지 오브젝트가 순차적으로 탐색될 수 있다(S801). 이때, 전술된 바와 같이 메시지 ID 순서로 미리 메시지 오브젝트가 할당되어 있는 경우, 탐색 속도가 향상될 수 있다.
메시지 오브젝트의 탐색에 따라 수신된 메시지의 메시지 ID가 확인되면, 게이트웨이는 라우팅 테이블 등을 참조하여 타겟 채널 등 메시지의 처리를 위한 정보를 파악할 수 있다(S803).
메시지의 정보를 파악한 게이트웨이는 라우팅 방식을 판단하고(S805), 판단 결과에 따라 다이렉트 라우팅 방식인 경우 즉시 타겟 채널로 해당 메시지에 대한 송신 요청을 수행할 수 있다(S807). 이와 달리 인다이렉트 방식인 경우, 게이트웨이는 일정 시간동안 소스 채널로부터 수신되는 메시지를 수집하고, 이를 기반으로 타겟 메시지를 생성한 후(S809), 타겟 채널로 전송될 메시지가 임시로 저장되는 타겟 메시지 버퍼로 전달한다(S811). 타겟 메시지는 지정된 라우팅 타겟 전송 주기마다 타겟 채널로의 전송이 요청될 수 있다(S813).
라우팅 방식에 대응되는 타이밍에 타겟 메시지 채널로 전송이 요청된 후, 타겟 채널로부터 메시지 송신 완료 확인(confirmation) 이벤트가 수신될 수 있으며(S815), 게이트웨이는 송신 완료 확인 이벤트 수신 시점으로부터 라우팅 최소 지연 시간동안 다음 메시지를 처리하지 않고 대기할 수 있다(S817).
만일, 라우팅 최소 지연 시간동안 소스 채널에서 수신된 메시지가 있다면, 다이렉트 라우팅 방식의 경우 도 6 및 도 7을 참조하여 설명한 과정에 따른 후속 메시지 처리 절차가 수행될 수 있음은 물론이다.
지금까지 설명한 본 실시예에 따른 라우팅 방법의 효과를 설명하면 다음과 같다.
먼저, 라우팅 최소 지연 시간의 도입을 통해 게이트웨이에서 수신을 처리하는 인터럽트 함수가 빈번히 호출됨으로 인한 프로세서의 부하를 줄이는 효과가 있다. 또한, 라우팅 수신 기능 수행 시 메시지 오브젝트의 검색 속도 향상으로 수신 함수의 실행 시간을 단축시켜 부하를 줄이는 효과가 있다.
아울러, 프로세서의 부하가 감소됨은 프로세서의 여유 성능이 확보됨을 의미할 수 있다. 따라서, 게이트웨이는 라우팅 기능 이외의 기능을 수행하기 위한 리소를 확보할 수 있어 게이트웨이를 통해 다른 부가 기능이 수행될 환경이 마련될 수 있다.
한편, 기구적 구현에 있어서, 게이트웨이는 적어도 통신 모듈, 메모리 및 프로세서를 포함할 수 있다. 통신 모듈은 소스 채널과 타겟 채널을 통한 메시지 송수신을 수행할 수 있다. 메모리는 통신 모듈을 통해 수신되는 데이터나 송신될 데이터는 물론 프로세서의 입출력 데이터에 대한 (임시적) 저장 기능을 수행할 수 있다. 예컨대, 메시지 오브젝트는 하드웨어 메모리의 적어도 일부 영역을 통해 구현될 수 있다. 프로세서는 통신 모듈과 메모리 등 게이트웨이를 구성하는 나머지 구성 요소에 대한 전반적인 제어를 수행하며, 특히 라우팅 기능의 수행에 요구되는 연산과 결정을 수행할 수 있다. 예컨대, 게이트웨이의 프로세서는 수신 인터럽트 서비스 함수, 라우팅 함수 및 송신 함수를 호출하고, 그들의 동작을 위한 연산을 수행할 수 있다.
전술한 본 발명은, 프로그램이 기록된 매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 매체는, 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 매체의 예로는, HDD(Hard Disk Drive), SSD(Solid State Disk), SDD(Silicon Disk Drive), ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있다.
따라서, 상기의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 전환은 본 발명의 범위에 포함된다.

Claims (19)

  1. 차량용 네트워크에서 게이트웨이의 라우팅 방법에 있어서,
    소스 채널을 통해 적어도 제1 메시지가 수신됨에 따라 수신 인터럽트 서비스 이벤트가 발생하는 단계;
    상기 이벤트에 대응되는 인터럽트 서비스 함수가 호출되는 단계; 및
    상기 호출된 언터럽트 서비스 함수에 할당된 적어도 하나의 메시지 오브젝트에서 상기 제1 메시지를 탐색하는 단계를 포함하되,
    상기 탐색하는 단계는,
    상기 적어도 하나의 메시지 오브젝트를 메시지 식별자(ID) 순서를 고려하여 순차적으로 탐색하는 단계를 포함하는, 게이트웨이의 라우팅 방법.
  2. 제1 항에 있어서,
    상기 적어도 하나의 메시지 오브젝트에는,
    상기 차량용 네트워크에서 사용되는 복수의 메시지 식별자가 소정 순서로 정렬될 때 서로 인접한 적어도 하나의 메시지 식별자가 순차적으로 할당되는, 게이트웨이의 라우팅 방법.
  3. 제2 항에 있어서,
    상기 소정 순서는,
    메시지 식별자 순서가 낮은 순서에서 높은 순서를 포함하는, 게이트웨이의 라우팅 방법.
  4. 제3 항에 있어서,
    우선 순위가 높거나 입력 주기가 짧은 메시지에 상기 복수의 메시지 식별자 중 더 낮은 순서에 해당하는 메시지 식별자가 할당되는, 게이트웨이의 라우팅 방법.
  5. 제1 항에 있어서,
    상기 제1 메시지에 대하여 직접 라우팅 방식 또는 간접 라우팅 방식 중 어느 하나의 라우팅 방식을 결정하는 단계; 및
    상기 결정된 라우팅 방식이 상기 직접 라우팅 방식인 경우, 상기 제1 메시지를 상기 제1 메시지에 대응되는 타겟 채널로 송신 요청하는 단계를 더 포함하는, 게이트웨이의 라우팅 방법.
  6. 제5 항에 있어서,
    상기 요청하는 단계 이후 송신 완료 확인 이벤트가 수신되면, 상기 송신 완료 확인 이벤트가 수신된 시점으로부터 기 설정된 시간을 대기하는 단계를 더 포함하는, 게이트웨이의 라우팅 방법.
  7. 제6 항에 있어서,
    상기 제1 메시지가 수신된 이후 상기 기 설정된 시간이 경과하기 전에 적어도 하나의 제2 메시지가 상기 소스 채널을 통해 수신되면, 상기 기 설정된 시간이 경과된 후 상기 적어도 하나의 제2 메시지를 라우팅 처리하는 단계를 더 포함하는, 게이트웨이의 라우팅 방법.
  8. 제6 항에 있어서,
    상기 적어도 하나의 제2 메시지가 동일한 복수개의 메시지인 경우, 상기 라우팅 처리하는 단계는,
    상기 동일한 복수개의 메시지 중 마지막 메시지만 라우팅 처리하는 단계를 포함하는, 게이트웨이의 라우팅 방법.
  9. 제1 항에 있어서,
    상기 적어도 하나의 메시지 오브젝트는,
    하드웨어 버퍼를 포함하는, 게이트웨이의 라우팅 방법.
  10. 제1 항 내지 제9 항 중 어느 한 항에 따른 게이트웨이의 라우팅 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터 해독 가능 기록 매체.
  11. 차량용 네트워크에서 라우팅을 수행하는 게이트웨이에 있어서,
    적어도 하나의 소스 채널 및 타겟 채널과의 통신을 수행하는 통신모듈;
    상기 적어도 하나의 소스 채널 중 어느 하나를 통해 적어도 제1 메시지가 수신됨에 따라 수신 인터럽트 서비스 이벤트가 발생하면, 상기 이벤트에 대응되는 인터럽트 서비스 함수를 호출하고, 상기 호출된 언터럽트 서비스 함수에 할당된 적어도 하나의 메시지 오브젝트에서 상기 제1 메시지가 탐색되도록 제어하는 프로세서를 포함하되,
    상기 프로세서는,
    상기 적어도 하나의 메시지 오브젝트를 메시지 식별자(ID) 순서를 고려하여 순차적으로 상기 제1 메시지가 탐색되도록 제어하는, 게이트웨이.
  12. 제11 항에 있어서,
    상기 적어도 하나의 메시지 오브젝트에는,
    상기 차량용 네트워크에서 사용되는 복수의 메시지 식별자가 소정 순서로 정렬될 때 서로 인접한 적어도 하나의 메시지 식별자가 순차적으로 할당되는, 게이트웨이.
  13. 제12 항에 있어서,
    상기 소정 순서는,
    메시지 식별자 순서가 낮은 순서에서 높은 순서를 포함하는, 게이트웨이.
  14. 제13 항에 있어서,
    우선 순위가 높거나 입력 주기가 짧은 메시지에 상기 복수의 메시지 식별자 중 더 낮은 순서에 해당하는 메시지 식별자가 할당되는, 게이트웨이.
  15. 제11 항에 있어서,
    상기 프로세서는,
    상기 제1 메시지에 대하여 직접 라우팅 방식 또는 간접 라우팅 방식 중 어느 하나의 라우팅 방식을 결정하되, 상기 결정된 라우팅 방식이 상기 직접 라우팅 방식인 경우, 상기 제1 메시지를 상기 제1 메시지에 대응되는 타겟 채널로 송신 요청하는, 게이트웨이.
  16. 제15 항에 있어서,
    상기 프로세서는,
    상기 요청하는 단계 이후 송신 완료 확인 이벤트가 수신되면, 상기 송신 완료 확인 이벤트가 수신된 시점으로부터 기 설정된 시간을 대기하는, 게이트웨이.
  17. 제16 항에 있어서,
    상기 프로세서는,
    상기 제1 메시지가 수신된 이후 상기 기 설정된 시간이 경과하기 전에 적어도 하나의 제2 메시지가 상기 소스 채널을 통해 수신되면, 상기 기 설정된 시간이 경과된 후 상기 적어도 하나의 제2 메시지를 라우팅 처리하는, 게이트웨이.
  18. 제16 항에 있어서,
    상기 프로세서는,
    상기 적어도 하나의 제2 메시지가 동일한 복수개의 메시지인 경우 상기 동일한 복수개의 메시지 중 마지막 메시지만 라우팅 처리하는, 게이트웨이.
  19. 제11 항에 있어서,
    상기 적어도 하나의 메시지 오브젝트를 포함하는 하드웨어 메모리를 더 포함하는, 게이트웨이.
KR1020170183922A 2017-12-29 2017-12-29 차량용 네트워크의 게이트웨이 및 그의 메시지 라우팅 방법 KR20190081407A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170183922A KR20190081407A (ko) 2017-12-29 2017-12-29 차량용 네트워크의 게이트웨이 및 그의 메시지 라우팅 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170183922A KR20190081407A (ko) 2017-12-29 2017-12-29 차량용 네트워크의 게이트웨이 및 그의 메시지 라우팅 방법

Publications (1)

Publication Number Publication Date
KR20190081407A true KR20190081407A (ko) 2019-07-09

Family

ID=67261454

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170183922A KR20190081407A (ko) 2017-12-29 2017-12-29 차량용 네트워크의 게이트웨이 및 그의 메시지 라우팅 방법

Country Status (1)

Country Link
KR (1) KR20190081407A (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102154138B1 (ko) * 2020-06-18 2020-09-09 모베나코리아 유한책임회사 선박용 러더 캐리어
CN113949602A (zh) * 2021-09-24 2022-01-18 东风商用车有限公司 智能网关服务下发的方法及系统
US20220294735A1 (en) * 2021-03-12 2022-09-15 Mando Mobility Solutions Corporation Vehicle communication control device and method
US12034570B2 (en) 2022-03-14 2024-07-09 T-Mobile Usa, Inc. Multi-element routing system for mobile communications

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102154138B1 (ko) * 2020-06-18 2020-09-09 모베나코리아 유한책임회사 선박용 러더 캐리어
US20220294735A1 (en) * 2021-03-12 2022-09-15 Mando Mobility Solutions Corporation Vehicle communication control device and method
US11916792B2 (en) * 2021-03-12 2024-02-27 Hl Klemove Corp. Vehicle communication control device and method
CN113949602A (zh) * 2021-09-24 2022-01-18 东风商用车有限公司 智能网关服务下发的方法及系统
CN113949602B (zh) * 2021-09-24 2023-05-12 东风商用车有限公司 智能网关服务下发的方法及系统
US12034570B2 (en) 2022-03-14 2024-07-09 T-Mobile Usa, Inc. Multi-element routing system for mobile communications

Similar Documents

Publication Publication Date Title
CN108536526B (zh) 一种基于可编程硬件的资源管理方法以及装置
KR20190081407A (ko) 차량용 네트워크의 게이트웨이 및 그의 메시지 라우팅 방법
RU2415511C2 (ru) Шлюз для автоматической маршрутизации сообщений между шинами
EP3675420B1 (en) Distributed storage system upgrade management method and device, and distributed storage system
US20060165109A1 (en) Data communication device
US8719479B2 (en) Network adaptor optimization and interrupt reduction
US20160088577A1 (en) Timing value adjustment method and apparatus
WO2021017667A1 (zh) 业务数据的传输方法和装置
CN110086566B (zh) 一种车载数据的传输方法及车载设备
US7428608B2 (en) Communication system, communication circuit and communication method
CN111106987A (zh) 一种can报文发送方法、装置、存储介质及电子设备
JPH10257078A (ja) 車両多重通信装置
KR20190137666A (ko) 명령 포워딩 방법 및 디바이스, 태양광 시스템 및 중앙 콘트롤러
CN115189977A (zh) 一种基于axi协议的广播传输方法、系统及介质
US11256545B2 (en) System on chip comprising a plurality of master resources
CN103428273A (zh) 在异步式交互中进行响应询问的方法与装置
CN111459653B (zh) 集群调度方法、装置和系统以及电子设备
JP4257857B2 (ja) データ処理システムおよびデータ処理方法
CN108737293B (zh) 处理请求的方法和装置
CN111026699A (zh) 基于环形总线的多核网络通信方法、装置及系统
US20190236857A1 (en) On-vehicle relay device, relay device, relaying method, information processing device, information processing system, and vehicle
CN113360463B (zh) 数据处理方法、装置、服务器和可读存储介质
US20220019459A1 (en) Controlled early response in master-slave systems
WO2021135763A1 (zh) 数据处理方法和装置、存储介质及电子装置
US9336172B2 (en) Parallel computer system, data transfer device, and method for controlling parallel computer system for performing arbitration

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E601 Decision to refuse application
E801 Decision on dismissal of amendment