KR102429410B1 - Routing method and apparatus - Google Patents
Routing method and apparatus Download PDFInfo
- Publication number
- KR102429410B1 KR102429410B1 KR1020200175257A KR20200175257A KR102429410B1 KR 102429410 B1 KR102429410 B1 KR 102429410B1 KR 1020200175257 A KR1020200175257 A KR 1020200175257A KR 20200175257 A KR20200175257 A KR 20200175257A KR 102429410 B1 KR102429410 B1 KR 102429410B1
- Authority
- KR
- South Korea
- Prior art keywords
- routing
- channel
- destination
- message
- descriptor
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/44—Distributed routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40052—High-speed IEEE 1394 serial bus
- H04L12/40065—Bandwidth and channel allocation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/66—Layer 2 routing, e.g. in Ethernet based MAN's
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/10—Packet switching elements characterised by the switching fabric construction
- H04L49/103—Packet switching elements characterised by the switching fabric construction using a shared central buffer; using a shared memory
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3009—Header conversion, routing tables or routing tags
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/55—Prevention, detection or correction of errors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/901—Buffering arrangements using storage descriptor, e.g. read or write pointers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40267—Bus for use in transportation systems
- H04L2012/40273—Bus for use in transportation systems the transportation system being a vehicle
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
본 발명은 차량 네트워크에서 발생하는 데이터의 누락을 최소화하여 안정적으로 데이터를 라우팅하는 방법 및 장치에 관한 것이다. 본 발명의 일 실시예에 따른 라우팅 방법은 수신 메시지를 각 채널이 공유하는 공유 버퍼에 저장하는 단계; 상기 수신 메시지가 전송되는 각 채널의 라우팅 규칙을 확인하는 단계; 상기 확인된 라우팅 규칙과 상기 수신 메시지가 저장된 공유 버퍼의 인덱스를 기초로, 송신 메시지 생성을 위한 디스크립터를 채널별로 생성하는 단계; 및 상기 디스크립터를 참조하여 상기 공유 버퍼에 저장된 수신 메시지의 일부를 페이로드로서 포함하고 상기 라우팅 규칙에 따라 작성된 헤더를 포함하는 송신 메시지를 해당 채널로 전송하는 단계를 포함할 수 있다. The present invention relates to a method and apparatus for stably routing data by minimizing omission of data occurring in a vehicle network. A routing method according to an embodiment of the present invention comprises: storing a received message in a shared buffer shared by each channel; checking a routing rule of each channel through which the received message is transmitted; generating a descriptor for each channel based on the checked routing rule and an index of a shared buffer in which the received message is stored; and including a part of the received message stored in the shared buffer as a payload with reference to the descriptor and transmitting a transmission message including a header prepared according to the routing rule to the corresponding channel.
Description
본 발명은 메시지를 라우팅하는 방법 및 장치에 관한 것이다. 보다 자세하게는 차량 네트워크에서 발생하는 데이터의 누락을 최소화하여 안정적으로 데이터를 라우팅하는 방법 및 장치에 관한 것이다. The present invention relates to a method and apparatus for routing messages. More particularly, it relates to a method and apparatus for stably routing data by minimizing omission of data occurring in a vehicle network.
종래의 자동차는 기계 장치의 집합이었으나, 최근의 자동차에는 점점 더 많은 전자 장치들이 장착되고 있으며, 이제 자동차는 다양한 전자 장치들의 집합이라 해도 과언이 아니다. 차량 자세 제어, 자동 주차, 지능형 운전 보조 및 자율 운전 등의 기능들이 보다 보편화 되면서 더욱 많은 전자 장치들이 자동차 내에서 서로 연동되고 있다. A conventional automobile is a set of mechanical devices, but more and more electronic devices are being installed in recent automobiles, and it is no exaggeration to say that the automobile is a collection of various electronic devices. As functions such as vehicle posture control, automatic parking, intelligent driving assistance, and autonomous driving become more common, more and more electronic devices are interlocking with each other in automobiles.
다양한 기능들이 여러 전자 장치들의 협력으로 구현되기 때문에, 분산된 전자 장치들 사이에 상당히 많은 정보 교환이 필요해졌다. 과거에는 전자 장치들 사이를 1:1로 케이블 연결하여 정보를 교환하였으나, 전자 장치들의 수가 점차 증가하면서 이러한 방식의 네트워크 구성은 기하급수적으로 증가하는 케이블 수로 인한 중량 증가, 설계 복잡도 증가, 생산성 저감으로 인하여 더 이상 사용되기 어려워졌다. Since various functions are implemented through cooperation of various electronic devices, a considerable amount of information exchange is required between distributed electronic devices. In the past, information was exchanged through 1:1 cable connection between electronic devices. However, as the number of electronic devices gradually increased, this type of network configuration was reduced due to weight increase, design complexity increase, and productivity decrease due to the exponentially increasing number of cables. As a result, it is no longer usable.
차량 내부의 복잡한 배선 작업에서 생기는 문제를 해결하고자, 차량 내부의 모든 통신을 단일 네트워크 상에서 구동하는 통신 방식이 필요해졌으며, 1980년대에 독일의 로버트 보쉬사에 의해 CAN(Controller Area Network)이라는 새로운 다중 접속 네트워크 및 통신 프로토콜이 정의되어 널리 사용되기 시작되었다. In order to solve the problem of complicated wiring inside the vehicle, a communication method that drives all communication inside the vehicle on a single network was needed. Networks and communication protocols were defined and started to be widely used.
CAN는 일반적으로 버스(BUS) 토폴로지를 가진다. CAN을 이용한 메시지 전송은, 송신하는 노드에서 하나의 버스 토폴로지에 연결된 모든 노드에 메시지를 전달하는 방식으로 이루어진다. 장치들 사이를 1:1로 케이블 연결하지 않고도, 하나의 BUS 토폴로지를 통해 다수의 장치들이 서로 메시지를 주고받을 수 있게 된다. 이론적으로 표준 CAN의 버스 토폴로지에는 최대 2,032개의 장치를 연결할 수 있고, 확장 CAN에서는 최대 5,120,000개 이상의 장치를 연결할 수 있다.CAN generally has a bus (BUS) topology. Message transmission using CAN is performed in such a way that the transmitting node transmits the message to all nodes connected to one bus topology. Multiple devices can send and receive messages through one BUS topology without a 1:1 cable connection between devices. In theory, up to 2,032 devices can be connected in the bus topology of standard CAN, and up to 5,120,000 devices can be connected in extended CAN.
한편, CAN는 지원하는 통신 속도와 용도에 따라 몇 개의 클래스로 구분되는데, 그 중에 저속 통신용 CAN(LS CAN)은 파워 윈도우, 좌석 조절장치, 계기판 같은 정보의 일반적인 전송을 담당하고, 10kbit/s에서 125kbit/s 정도로 작동한다. 고속 통신용 CAN(HS CAN)은 파워 트레인, 안정성 제어(ABS 브레이크, 서스펜션 등), 엔진 관리, 변속과 같은 정보의 실시간 전송 보장이 필요한 장치들에서 사용되고, 125kbit/s부터 1Mbit/s로 작동한다.On the other hand, CAN is divided into several classes according to the supported communication speed and purpose. Among them, CAN for low-speed communication (LS CAN) is responsible for general transmission of information such as power windows, seat control devices, and instrument clusters, and operates at 10 kbit/s. It operates at around 125 kbit/s. CAN for High-Speed Communication (HS CAN) is used in devices requiring real-time transmission of information such as powertrain, stability control (ABS brakes, suspension, etc.), engine management, and shifting, and operates from 125 kbit/s to 1 Mbit/s.
CAN의 하나의 버스(BUS)에 연결 가능한 최대 장치 수를 초과하거나, 서로 다른 통신 속도와 전기 규격으로 동작하는 서브 네트워크들(예컨대 LS CAN과 HS CAN) 사이의 통신을 제공하기 위해서, 서브 네트워크들 사이에 게이트웨이 장치가 사용된다. 요컨대 CAN의 게이트웨이는 서로 다른 규격의 서브 네트워크들 사이에서 신호와 메시지를 실시간으로 전달하고 교환해주는 장치이다.To provide communication between subnetworks (eg LS CAN and HS CAN) that exceed the maximum number of devices connectable to one bus (BUS) of CAN or operate at different communication speeds and electrical standards, A gateway device is used between them. In short, the CAN gateway is a device that transmits and exchanges signals and messages in real time between sub-networks of different standards.
차량 내 통신 트래픽이 증가함에 따라 CAN 채널 수가 증가되며 이는 곧 게이트웨이의 라우팅 처리 성능 향상을 요구하게 된다. 처리할 데이터의 양과 채널 수가 많아지면 특정 이벤트에 따라 버스 부하가 요동치게 되며 이런 갑작스러운 버스 부하는 라우팅할 메시지의 유실을 초래하게 된다. 메모리의 양이 충분하다면 지정된 시간 동안 메시지를 버퍼링 할 수 있지만 대개 부족한 메모리를 지닌 게이트웨이는 순간적인 버스 부하에 메시지를 유실하는 경우가 종종 발생하기도 한다. As the in-vehicle communication traffic increases, the number of CAN channels increases, which in turn requires an improvement in the routing processing performance of the gateway. As the amount of data to be processed and the number of channels increases, the bus load fluctuates according to certain events, and this sudden bus load causes the loss of messages to be routed. If the amount of memory is sufficient, messages can be buffered for a specified amount of time, but gateways with insufficient memory often lose messages due to momentary bus loads.
도 1은 종래의 게이트웨이를 통해 메시지가 라우팅되는 과정을 예시하는 도면이다.1 is a diagram illustrating a process in which a message is routed through a conventional gateway.
도 1을 참조하면, 게이트웨이는 서로 상이한 서브 네트워크와 채널(ch1 ~ ch3)을 형성할 수 있고, 더불어 게이트웨이는 채널별 버퍼(12, 13, 14)를 포함한다. 버퍼(12, 13, 14)는 해당 채널에서 단독으로 이용하는 임시 저장공간으로서, 메시지가 임시적으로 저장되는 영역이다.Referring to FIG. 1 , a gateway may form channels ch1 to ch3 with different subnetworks, and the gateway includes
도 1에 따르면, 종래의 게이트웨이는 메시지가 수신되면, 상기 메시지를 수신 버퍼(11)에 우선 저장하고, 상기 메시지가 출력되는 채널을 식별한 후, 각각 채널의 버퍼(12, 13, 14)에 상기 메시지를 저장한다. 즉, 메시지가 3개의 채널로 송신되는 경우에, 상기 메시지는 최소한 3번의 복사를 거치되게 된다. 특히, 상기 메시지가 분할 라우팅을 지원하는 서브 네트워크(예컨대, HS CAN)로 전송되는 경우, 상기 메시지는 소정의 개수로 분할되고 해당 채널의 버퍼에 저장되어, 복사 횟수가 더 증가하게 된다. According to FIG. 1, when a conventional gateway receives a message, it first stores the message in the
도 1에서는 서브 네트워크#2가 분할 라우팅을 지원하는 네트워크인 것으로 예시하고 있으며, 또한 수신 데이터가 4개로 분할되어 제2 채널의 버퍼(13)에 저장되고 있음을 예시하고 있다. 도 1에 따르면, 수신 데이터는 각각의 버퍼에 6 횟수로 복사되어 저장된다.In FIG. 1, the
그런데 이렇게 복사가 빈번하게 발생하는 경우, 게이트웨이의 부하도 증가할 뿐만 아니라, 데이터 라우팅도 지연된다. 물론, 수신한 데이터를 버퍼에 저장하는 것 없이 즉시 송신하는 것도 고려할 수 있으나, 서브 네트워크의 버스 Arbitration이나 버스 에러 등으로 메시지 송신이 지연될 수 있어, 버퍼를 이용하지 않은 No-Copy 정책을 차량 네트워크에서 고려될 수 없다.However, when the copy occurs frequently, not only the load of the gateway increases, but also data routing is delayed. Of course, it is also possible to immediately transmit the received data without storing it in the buffer, but message transmission may be delayed due to bus arbitration or bus errors in the subnetwork, so the no-copy policy that does not use a buffer is implemented in the vehicle network. cannot be considered in
또한, 특정 채널의 버퍼에 데이터가 가득 저장되는 경우(오퍼플로우되는 경우)에, 해당 채널의 과부하로 인하여 수신 버퍼가 비워지지 않거나 데이터가 유실되는 상황도 발생할 수 있다. Also, when the buffer of a specific channel is filled with data (when it overflows), a situation in which the reception buffer is not emptied or data is lost due to overload of the corresponding channel may occur.
이에 따라, 메시지 유실을 최소화하며 게이트웨이의 과부하를 예방하고, 최소한의 복사를 통해서 데이터를 라우팅하는 기술이 필요하다.Accordingly, there is a need for a technique for minimizing message loss, preventing overload of the gateway, and routing data through minimal copying.
본 발명이 해결하고자 하는 기술적 과제는 데이터 복사가 최소화되고 라우팅 지연이 예방되도록 데이터를 라우팅하는 방법 및 장치를 제공하는 것이다. The technical problem to be solved by the present invention is to provide a method and apparatus for routing data such that data copy is minimized and routing delay is prevented.
본 발명이 해결하고자 하는 다른 기술적 과제는 데이터를 라우팅하는 장치의 과부하와 버퍼의 오버플로우를 예방하여 데이터를 라우팅하는 방법 및 장치를 제공하는 것이다.Another technical problem to be solved by the present invention is to provide a method and an apparatus for routing data by preventing an overload of a data routing device and an overflow of a buffer.
본 발명이 해결하고자 하는 또 다른 기술적 과제는, 데이터 유실이 최소화되도록 데이터를 라우팅하는 방법 및 장치를 제공하는 것이다. Another technical problem to be solved by the present invention is to provide a method and apparatus for routing data such that data loss is minimized.
본 발명이 해결하고자 하는 또 다른 기술적 과제는, 버스 에러가 발생하는 상황을 고려하여 버퍼의 릴리즈를 진행하는 라우팅 방법 및 장치를 제공하는 것이다. Another technical problem to be solved by the present invention is to provide a routing method and apparatus for releasing a buffer in consideration of a situation in which a bus error occurs.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명의 기술분야에서의 통상의 기술자에게 명확하게 이해 될 수 있을 것이다.The technical problems of the present invention are not limited to the technical problems mentioned above, and other technical problems not mentioned will be clearly understood by those skilled in the art from the following description.
상기 기술적 과제를 해결하기 위한, 본 발명의 일 실시예에 따른 라우팅 방법은, 수신 메시지를 각 채널이 공유하는 공유 버퍼에 저장하는 단계; 상기 수신 메시지가 전송되는 각 채널의 라우팅 규칙을 확인하는 단계; 상기 확인된 라우팅 규칙과 상기 수신 메시지가 저장된 공유 버퍼의 인덱스를 기초로, 송신 메시지 생성을 위한 디스크립터를 채널별로 생성하는 단계; 및 상기 디스크립터를 참조하여 상기 공유 버퍼에 저장된 수신 메시지의 일부를 페이로드로서 포함하고 상기 라우팅 규칙에 따라 작성된 헤더를 포함하는 송신 메시지를 해당 채널로 전송하는 단계를 포함할 수 있다. In order to solve the above technical problem, a routing method according to an embodiment of the present invention comprises the steps of: storing a received message in a shared buffer shared by each channel; checking a routing rule of each channel through which the received message is transmitted; generating a descriptor for each channel based on the checked routing rule and an index of a shared buffer in which the received message is stored; and including a part of the received message stored in the shared buffer as a payload with reference to the descriptor and transmitting a transmission message including a header prepared according to the routing rule to the corresponding channel.
상기 라우팅 방법은 상기 수신 메시지가 참조되어야 하는 제1 개수를 확인하는 단계; 및 상기 수신 메시지가 참조되어 송신 메시지로서 전송된 제2 개수를 확인하는 단계; 및 상기 제2 개수가 상기 제1 개수에 도달하면, 상기 인덱스와 대응하는 상기 공유 버퍼의 영역을 릴리즈하는 단계를 더 포함할 수 있다. The routing method may include: identifying a first number to which the received message is to be referenced; and confirming a second number of transmitted messages by referring to the received message. and when the second number reaches the first number, releasing an area of the shared buffer corresponding to the index.
상기 라우팅 방법은, 각 채널의 상태를 확인하여 오류가 발생한 채널의 개수만큼 상기 제1 개수를 차감하는 단계를 더 포함할 수 있다. The routing method may further include the step of checking the status of each channel and subtracting the first number by the number of channels in which an error has occurred.
상기 전송하는 단계는, 해당 채널이 분할 라우팅을 수행하는 목적지 네트워크와 연결되는 채널인 경우, 상기 수신 메시지를 소정의 개수로 분할하고, 상기 분할된 어느 한 수신 메시지를 페이로드로서 포함하는 복수의 송신 메시지를 전송하는 단계를 포함할 수 있다.The transmitting may include dividing the received message into a predetermined number when the corresponding channel is a channel connected to a destination network for performing division routing, and includes a plurality of transmissions including one of the divided received messages as a payload. It may include sending a message.
일 실시예에서, 상기 디스크립터를 채널별로 생성하는 단계는, 상기 확인된 라우팅 규칙의 식별정보 및 상기 공유 버퍼의 인덱스를 포함하는 디스크립터를 채널로 생성하는 단계; 및 상기 생성한 디스크립터를 해당 채널의 저장영역에 저장하는 단계를 포함할 수 있다. In one embodiment, the generating of the descriptor for each channel may include: generating a descriptor including identification information of the checked routing rule and an index of the shared buffer as a channel; and storing the generated descriptor in a storage area of the corresponding channel.
다른 실시예에서, 상기 디스크립터를 채널별로 생성하는 단계는, 상기 확인된 라우팅 규칙의 식별정보 및 상기 공유 버퍼의 인덱스를 포함하는 디스크립터를 채널로 생성하는 단계; 및 생성한 디스크립터에 접근할 수 있는 어드레스를 해당 채널의 저장영역에 저장하는 단계를 포함할 수 있다. In another embodiment, the generating of the descriptor for each channel may include: generating a descriptor including identification information of the checked routing rule and an index of the shared buffer as a channel; and storing an address that can access the generated descriptor in a storage area of the corresponding channel.
일 실시예에서, 상기 전송하는 단계는 상기 수신 메시지의 페이로드를 상기 송신 메시지의 페이로드로 포함시키고, 상기 수신 메시지의 헤더를 상기 라우팅 규칙에 근거하여 유지하거나 변경하여 상기 송신 메시지의 헤더를 작성하는 단계를 포함할 수 있다. In one embodiment, the transmitting includes the payload of the received message as the payload of the outgoing message, and maintaining or changing the header of the received message based on the routing rule to create a header of the outgoing message may include the step of
상기 기술적 과제를 해결하기 위한, 본 발명의 다른 실시예에 따른 라우팅 장치는 각 채널에 의해 공유되며 수신 메시지를 저장하는 공유 버퍼; 수신 메시지가 전송되는 각 채널의 라우팅 규칙을 확인하고, 상기 확인된 라우팅 규칙과 상기 수신 메시지가 저장된 공유 버퍼의 인덱스를 기초로, 송신 메시지 생성을 위한 디스크립터를 채널별로 생성하는 제어부; 및 복수의 채널을 형성하며, 상기 디스크립터를 참조하여 상기 인덱스에 대응하는 상기 공유 버퍼의 영역에서 상기 수신 메시지를 확인하고, 상기 수신 메시지의 헤더, 페이로드 중에서 하나 이상이 상기 라우팅 규칙에 따라 변경하여 생성한 송신 메시지를 해당 채널로 전송하는 전송부를 포함할 수 있다.For solving the above technical problem, a routing device according to another embodiment of the present invention is shared by each channel and a shared buffer for storing a received message; a control unit that checks a routing rule of each channel through which a received message is transmitted, and generates a descriptor for generating a transmission message for each channel based on the checked routing rule and an index of a shared buffer in which the received message is stored; and forming a plurality of channels, checking the received message in the area of the shared buffer corresponding to the index by referring to the descriptor, and changing one or more of the header and payload of the received message according to the routing rule It may include a transmission unit for transmitting the generated transmission message to the corresponding channel.
도 1은 종래의 게이트웨이를 통해 메시지가 라우팅되는 과정을 예시하는 도면이다.
도 2는 본 발명의 일 실시예에 따른 CAN 시스템을 나타내는 도면이다.
도 3은 도 2를 참조하여 설명한 게이트웨이의 구성을 나타내는 도면이다.
도 4는 메시지의 데이터 구조를 예시하는 도면이다.
도 5는 라우팅 규칙 테이블을 예시하는 도면이다.
도 6은 본 발명의 또 다른 실시예에 따른, 게이트웨이에서 메시지를 라우팅하는 방법을 설명하기 위한 제1 흐름도이다.
도 7은 본 발명의 또 다른 실시예에 따른, 게이트웨이에서 메시지를 라우팅하는 방법을 설명하기 위한 제2 흐름도이다.
도 8은 본 발명의 또 다른 실시예에 따른, 게이트웨이에서 메시지를 라우팅하는 방법을 설명하기 위한 제3 흐름도이다.
도 9는 본 발명의 또 다른 실시예에 따른, 게이트웨이에서 메시지를 라우팅하는 방법을 설명하기 위한 제4 흐름도이다.1 is a diagram illustrating a process of routing a message through a conventional gateway.
2 is a diagram illustrating a CAN system according to an embodiment of the present invention.
FIG. 3 is a diagram illustrating the configuration of a gateway described with reference to FIG. 2 .
4 is a diagram illustrating a data structure of a message.
5 is a diagram illustrating a routing rule table.
6 is a first flowchart illustrating a method of routing a message in a gateway according to another embodiment of the present invention.
7 is a second flowchart illustrating a method of routing a message in a gateway according to another embodiment of the present invention.
8 is a third flowchart illustrating a method of routing a message in a gateway according to another embodiment of the present invention.
9 is a fourth flowchart illustrating a method of routing a message in a gateway according to another embodiment of the present invention.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명의 기술적 사상은 이하의 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 이하의 실시예들은 본 발명의 기술적 사상을 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명의 기술적 사상은 청구항의 범주에 의해 정의될 뿐이다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. Advantages and features of the present invention and methods of achieving them will become apparent with reference to the embodiments described below in detail in conjunction with the accompanying drawings. However, the technical idea of the present invention is not limited to the following embodiments, but may be implemented in various different forms, and only the following embodiments complete the technical idea of the present invention, and in the technical field to which the present invention belongs It is provided to fully inform those of ordinary skill in the art of the scope of the present invention, and the technical spirit of the present invention is only defined by the scope of the claims.
각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.In adding reference numerals to the components of each drawing, it should be noted that the same components are given the same reference numerals as much as possible even though they are indicated on different drawings. In addition, in describing the present invention, if it is determined that a detailed description of a related known configuration or function may obscure the gist of the present invention, the detailed description thereof will be omitted.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다. 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다.Unless otherwise defined, all terms (including technical and scientific terms) used herein may be used with the meaning commonly understood by those of ordinary skill in the art to which the present invention belongs. In addition, terms defined in a commonly used dictionary are not to be interpreted ideally or excessively unless clearly defined in particular. The terminology used herein is for the purpose of describing the embodiments and is not intended to limit the present invention. In this specification, the singular also includes the plural, unless specifically stated otherwise in the phrase.
또한, 본 발명의 구성 요소를 설명하는 데 있어서, 제1, 제2, A, B, (a), (b), #1, #2 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 또는 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.In addition, in describing the components of the present invention, terms such as first, second, A, B, (a), (b), #1, and #2 may be used. These terms are only for distinguishing the elements from other elements, and the essence, order, or order of the elements are not limited by the terms. When it is described that a component is “connected”, “coupled” or “connected” to another component, the component may be directly connected or connected to the other component, but another component is between each component. It should be understood that elements may be “connected,” “coupled,” or “connected.”
명세서에서 사용되는 "포함한다 (comprises)" 및/또는 "포함하는 (comprising)"은 언급된 구성 요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성 요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.As used herein, "comprises" and/or "comprising" refers to the presence of one or more other components, steps, operations and/or elements mentioned. or addition is not excluded.
이하, 본 발명의 몇몇 실시예들에 대하여 첨부된 도면에 따라 상세하게 설명한다.Hereinafter, some embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 2는 본 발명의 일 실시예에 따른 CAN 시스템을 나타내는 도면이다.2 is a diagram illustrating a CAN system according to an embodiment of the present invention.
도 2에 도시된 바와 같이, CAN(Controller Area Network) 시스템은 게이트웨이(100)와 복수의 서브 네트워크(210, 220, 230)를 포함할 수 있으며, 게이트웨이(100)와 각각의 서브 네트워크(210, 220, 230)는 버스를 통해서 서로 연결될 수 있다.As shown in FIG. 2 , a controller area network (CAN) system may include a
각각의 서브 네트워크(210, 220, 230)는 FD(Flexible Data rate) 네트워크, HS(High Speed) 네트워크 등 중에서 어느 하나에 해당하는 네트워크일 수 있다. Each of the
서브 네트워크(210, 220, 230)에는 하나 이상의 노드(241~ 246)가 포함되고, 상기 노드들(241 ~ 246)은 버스에 연결되어 게이트웨이(100)와 통신할 수 있다. 상기 노드(241~ 246)는 계기판을 제어하기 위한 FRONT AREA MODULE, 시트를 제어하기 위한 POWER SEAT MODULE, 조수석 도어의 제어하기 위한 ASSIST DOOR MODULE, 운전석 도어를 제어하기 위한 DRIVER DOOR MODULE, 운전자세 메모리 스위치인 IMS SWITCH 등일 수 있다. 노드(241~ 246)는 게이트웨이(100)로부터 메시지를 수신하여, 상기 메시지에 근거하여 동작할 수 있다. 도 2에는 두 개의 노드가 서브 네트워크에 포함된 것으로 예시하였으나, 더욱 많은 개수의 노드가 서브 네트워크에 포함될 수 있으며, 또한 4개 이상의 서브 네트워크가 게이트웨이(100)와 연결될 수 있다.The
게이트웨이(100)는 데이터를 라우팅하는 라우팅 장치로서, 메시지가 수신되면 상기 메시지를 공유 버퍼에 저장하고, 라우팅 규칙 테이블에서 상기 메시지의 송신지(source)와 목적지(destination)를 토대로 라우팅 규칙을 확인한 후, 상기 확인한 라우팅 규칙과 공유 버퍼에 저장된 메시지를 이용하여 각 채널별로 메시지가 전송되게 한다. 상기 게이트웨이(100)는 송신되어야 하는 채널이 복수 개이더라도 공유 버퍼에 한 번만 메시지를 복사하고, 상기 공유 버퍼에 저장된 메시지가 각각의 채널에서 참조되어 송신되게 함으로써, 최소한의 복수 횟수를 통하여 부하가 경감되게 하고 라우팅 지연을 최소화한다.The
도 3은 도 2를 참조하여 설명한 게이트웨이의 구성을 나타내는 도면이다.FIG. 3 is a diagram showing the configuration of a gateway described with reference to FIG. 2 .
도 3에 도시된 바와 같이, 게이트웨이(100)는 수신부(110), 공유 버퍼(120), 저장부(130), 전송부(140) 및 제어부(150)를 포함하고, 이러한 구성요소들은 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합을 통해서 구현될 수 있다.As shown in FIG. 3 , the
수신부(110)는 CAN을 통해서 외부 서브 네트워크(210, 220, 230)와 통신 라인을 형성할 수 있다. 수신부(110)는 전송부(140)와 같이 복수의 버스를 통해서 각각의 서브 네트워크(210, 220, 230)와 연결되어 통신을 수행할 수 있다. 다른 실시예로서, 상기 수신부(110)는 전송부(140)에서 형성한 버스를 공유하여 이용할 수 있다. 수신부(110)는 수신 버퍼(111)를 포함하고 있으며, 메시지가 수신되면 상기 수신 버퍼(111)에 메시지를 임시 저장할 수 있다.The
수신부(110)는 일정한 포맷을 가지는 메시지를 수신할 수 있다. The
도 4는 메시지의 데이터 구조를 예시하는 도면이다. 4 is a diagram illustrating a data structure of a message.
도 4를 참조하면, 메시지는 제1 헤더와 제2 헤더 및 페이로드를 포함한다. 상기 제1 헤더(Header1)는 RTR(Remote Transmission Request), IDE(Identifier Extension), ID(Identifier) 중에서 하나 이상을 포함할 수 있다. 또한, 제2 헤더(Header2)는 BRS(Bit Rate Switch), FDF(FD frame), DLC(Data Length Code) 중에서 하나 이상을 포함할 수 있다. 상기 페이로드(Payload)는 실질적인 데이터가 기록되는 영역으로서 소정의 바이트일 수 있다.Referring to FIG. 4 , a message includes a first header, a second header, and a payload. The first header Header1 may include one or more of a remote transmission request (RTR), an identifier extension (IDE), and an identifier (ID). In addition, the second header Header2 may include one or more of a bit rate switch (BRS), an FD frame (FDF), and a data length code (DLC). The payload is an area in which actual data is recorded and may be a predetermined byte.
공유 버퍼(120)는 일정한 크기의 저장 영역으로서, 수신 메시지를 임시적으로 저장할 수 있다. 상기 공유 버퍼(120)는 다수의 버퍼 영역을 포함하고 있으며, 각 버퍼 영역은 고유의 인덱스를 부여받을 수 있다. 상기 공유 버퍼(120)는 저장된 수신 메시지는 페이로드로서 참조되어, 전송부(140)를 통해서 하나 이상의 버스로 전송될 수 있다. 상기 공유 버퍼(120)에 저장된 메시지는 제어부(150)에 릴리즈(release) 될 수 있다.The shared
저장부(130)는 메모리, 디스크 장치와 같은 저장수단으로서, 라우팅 규칙 테이블을 저장하고, 더불어 채널별 디스크립터(Descriptor)를 저장할 수 있다.The
도 5는 라우팅 규칙 테이블을 예시하는 도면이다.5 is a diagram illustrating a routing rule table.
도 5를 참조하면, 라우팅 규칙 테이블은, 라우팅 방식, 송신지와 목적지의 네트워크 유형에 따라 서로 상이한 라우팅 규칙(Rule#N)을 저장할 수 있다. 상기 라우팅 규칙(Rule#N)은 헤더와 변경되거나 유지되는 규칙에 대해서 정의하고 있다. 예컨대, 도 5에서 Rule#1은 제1 헤더, 제2 헤더 및 페이로드 모두가 변동되지 않고 수신 상태를 유지하는 세부 규칙을 정의할 수 있으며, Rule#2는 제1 헤더의 ID가 재설정되는 제1 헤더에 대한 세부 규칙, 제2 헤더의 BRS, FDF 중에서 하나가 변경되는 제2 헤더에 대한 세부 규칙 및 페이로드가 그대로 유지되는 페이로드에 대한 세부 규칙을 포함할 수 있다. 또 다른 예로서, Rule#3은 제1 헤더가 네 개로 생성되고 각 헤더마다 별도의 아이디가 생성되는 제1 헤더에 대한 세부 규칙, 제2 헤더에 포함된 BRS, FDF, DLC 중에서 하나 이상을 변경하는 제2 헤더에 대한 세부 규칙 및 페이로드가 분할되는 크기와 분할된 페이로드의 순서를 나타내는 오프셋을 정의한 페이로드에 대한 세부 규칙을 포함할 수 있다. 상기 라우팅 규칙은, 소스 네트워크의 유형과 목적지 네트워크의 유형에 따라, 상이하게 설정되어 라우팅 규칙 테이블에 기록될 수 있다.Referring to FIG. 5 , the routing rule table may store different routing rules (Rule#N) according to a routing method and a network type of a transmission source and a destination. The routing rule (Rule#N) defines a header and a changed or maintained rule. For example, in FIG. 5,
디스크립터는 해당 채널에서 메시지를 전송하기 위해서 참조되는 일종의 작업 명세서로서, 공유 버퍼(120)의 인덱스와 라우팅 규칙 식별정보를 포함할 수 있다. 즉, 디스크립터는 페이로드로서 참조되는 메시지의 저장 주소인 공유 버퍼(120)의 인덱스와 페이로드와 헤더를 변경 또는 유지하는데 참조되는 라우팅 규칙의 식별정보를 저장한다. 상기 디스크립터는 단일의 채널에서만 이용될 수 있으며, 채널에서 정상적으로 메시지의 송신을 완료하면 저장부(130)에서 삭제될 수 있다. 상기 디스크립터가 저장되는 저장 영역도 버퍼 형태로 구현될 수 있으며, 이 경우 디스크립터의 인덱스를 할당하여 상기 인덱스와 대응되는 저장영역에 디스크립터를 저장할 수 있으며, 송신이 완료되면 상기 인덱스를 회수하고 디스크립터의 저장영역을 릴리즈할 수 있다.The descriptor is a kind of work specification referenced in order to transmit a message in the corresponding channel, and may include an index of the shared
제어부(150)는 마이크로 프로세서 등과 같은 연산처리 수단으로서, 게이트웨이(100)의 전반적인 동작을 제어할 수 있다. 상기 제어부(150)는 수신부(110)를 통해서 메시지가 수신되면, 버퍼 인덱스 풀(pool)에서 할당되지 않은 버퍼 인덱스를 확인하고, 상기 버퍼 인덱스를 가지는 공유 버퍼(120)의 영역에 상기 수신 메시지를 저장할 수 있다. 제어부(150)는 공유 버퍼(120)의 영역에 수신 메시지의 저장이 완료되면, 상기 수신 버퍼(111)에 상기 메시지를 삭제하여 수신 버퍼(111)를 릴리즈 할 수 있다.The
제어부(150)는 상기 메시지에서 발송지 주소와 목적지 주소를 확인하고, 상기 주소들을 토대로 소스 네트워크의 유형과 목적지 네트워크의 유형을 식별한 후, 상기 식별한 네트워크 유형에 근거하여 하나 이상의 라우팅 규칙을 라우팅 규칙 테이블에서 선정할 수 있다. 제어부(150)는 상기 선정한 라우팅 규칙의 식별정보와 상기 공유 버퍼의 인덱스를 포함하는 디스크립터를 생성하여 저장부(130)에 저장할 수 있다. 상기 제어부(150)는 목적지 주소가 복수 개인 경우에, 해당 목적지 네트워크의 유형과 소스 네트워크의 유형에 근거하여 채널(즉, 목적지 네트워크)별 디스크립터를 생성하여 저장부(130)에 저장할 수 있다.The
일 실시예에서, 상기 제어부(150)는 디스크립터를 해당 채널(버스)의 저장 영역에 저장할 수 있다. 예컨대, 제어부(150)는 제1 채널의 디스크립터를 제1 채널의 저장 영역(141)에 저장할 수 있고, 제2 채널의 디스크립터를 제2 채널의 저장 영역(142)에 저장할 수 있다. 다른 실시예에서, 상기 제어부(150)는 디스크립터에 접근할 수 있는 어드레스를 해당 채널의 저장 영역(141, 142, 143)에 저장할 수 있다. 예컨대, 제어부(150)는 제1 채널의 디스크립터에 접근할 수 있는 어드레스를 제1 채널의 저장 영역(141)에 저장할 수 있고, 제2 채널의 디스크립터에 접근할 수 있는 어드레스를 제2 채널의 저장 영역(142)에 저장할 수 있다. 상기 제어부(150)는 채널의 저장 영역(141, 142, 143)에 임계값 이상의 충분한 저장공간이 남아 있는 경우에, 상기 디스크립터의 어드레스 또는 디스크립터를 해당 저장 영역(141, 142, 143)에 저장할 수 있다. In an embodiment, the
제어부(150)는 디스크립터 또는 어드레스가 저장 영역(141, 142, 143)에 저장하면, 디스크립터의 개수에 대응하는 제1 개수를 설정할 수 있다. 상기 제1 개수는 공유 버퍼(120)에 저장된 메시지가 참조되어 전송되어야 하는 개수를 나타내는 것으로서, 공유 버퍼(120)의 영역을 릴리즈하기 위해서 이용될 수 있다.When descriptors or addresses are stored in the
제어부(150)는 공유 버퍼(120)에서 상기 저장된 메시지가 참조되어 이용 완료된 제2 개수를 카운팅하고, 상기 제2 개수가 상기 제1 개수에 도달하면 버퍼 인덱스에 해당하는 공유 버퍼(120)의 영역을 릴리즈하고, 상기 버퍼 인덱스를 사용 가능한 인덱스로서 인덱스 풀에 등록할 수 있다. 이에 따라, 공유 버퍼(120)의 특정 버퍼 영역은, 복수의 채널에서 이용되더라도 그 사용이 완료되면 릴리즈되어 다른 메시지가 저장될 수 있다.The
제어부(150)는 하나 이상의 버스에서 오류가 발생한 것을 감지할 수 있다. 제어부(150)는 CAN에서 버스 오류와 버스 오프(off)를 감지하는데 이용되는 TEC(Transmission Error Counter) 및 REC(Receive Error Counter)를 이용하여 버스 오류와 오프를 감지할 수 있다.The
제어부(150)는 버스 오류가 검출되면, 오류가 발생된 버스 개수만큼 제1 개수를 차감하여, 제1 개수를 감소시킨다. 제어부(150)는 버스 오프가 검출되면, 상기 인덱스에 해당하는 버퍼 영역을 즉시 릴리즈 할 수 있다. When a bus error is detected, the
전송부(140)는 각각의 서브 네트워크(210, 220, 230)와 버스(BUS#1, BUS#2, BUS#3)를 형성할 수 있다. 상기 전송부(140)는 각 채널(버스)별로 전송을 위한 저장 영역(141, 142, 143)을 포함할 수 있다. 예컨대, 전송부(140)는 제1 채널(버스)을 위한 제1 저장 영역(141), 제2 채널(버스)을 위한 제2 저장 영역(142) 및 제3 채널(버스)을 위한 제3 저장 영역(143)을 포함할 수 있다. 상기 저장 영역(141, 142, 143)에 저장된 디스크립터 또는 디스크립터 어드레스는 FIFO(First In First Out) 방식으로 처리될 수 있다. The
전송부(140)는 상기 저장 영역(141, 142, 143)에 디스크립터가 저장되면, 상기 저장 영역(141, 142, 143)에서 디스크립터를 확인할 수 있다. 다른 실시예로서, 저장 영역(141, 142, 143)에 디스크립터의 어드레스가 저장되면, 상기 전송부(140)는 상기 어드레스를 기초로 저장부(130)에서 디스크립터를 확인할 수 있다. 전송부(140)는 상기 디스크립터를 참조로 수신 메시지를 획득하고, 상기 수신 메시지를 라우팅 규칙에 따라 변경하거나 유지하여 해당 채널(버스)로 전송할 수 있다. 상기 전송부(140)는 상기 디스크립터에서 버퍼 인덱스를 확인하고, 상기 버퍼 인덱스에 해당하는 버퍼 영역에 접근하여 메시지를 획득할 수 있다. 전송부(140)는 상기 획득한 메시지의 일부를 페이로드로서 포함하고 상기 라우팅 규칙에 따라 작성된 헤더를 포함하는 송신 메시지를 해당 채널로 전송할 수 있다. 이때, 전송부(140)는 획득된 메시지(수신 메시지)의 페이로드를 포함하고, 상기 라우팅 규칙에 따라 수신 메시지의 헤더가 변경되거나 원본 상태로 유지되는 송신 메시지를 생성한 후, 상기 생성된 송신 메시지를 해당 채널로 전송할 수 있다. When the descriptor is stored in the
일 실시예에서, 전송부(140)는 상기 디스크립터에서 라우팅 규칙 식별정보를 확인하고, 라우팅 규칙 식별정보에 대응하는 라우팅 규칙을 저장부(130)의 라우팅 규칙 테이블에서 확인한 후, 상기 확인한 라우팅 규칙에 따라 메시지의 헤더, 페이로드 중에서 하나 이상을 선택적으로 변경하거나 상기 메시지의 원본 상태를 그대로 유지하여 송신 메시지를 생성할 수 있다. 전송부(140)는 변경 또는 유지된 메시지(즉, 송신 메시지)를 저장 영역(141, 142, 143)과 대응되는 채널(버스)로 전송하고, 상대방 노드(241~ 246)로부터 Ack 메시지를 수신하면, 상기 Ack 메시지를 제어부(150)로 전달할 수 있다. 전송부(140)는 Ack 메시지가 수신되면, 해당 저장 영역(141, 142, 143)에 저장된 디스크립터 또는 디스크립터의 어드레스를 삭제할 수 있다.In one embodiment, the
본 실시예에 따르면, 각각의 채널들이 공유 버퍼(120)하는 메시지를 한 번만 복사하고, 공유 버퍼(120)에 저장된 메시지가 각 채널에서 전송되게 함으로써, 데이터 복사를 최소화할 뿐만 아니라 신속하게 메시지가 라우팅되게 하는 효과를 발휘할 수 있다. 또한, 본 실시예에 따르면, 최소한의 메시지 복사 이루어지게 하여 게이트웨이(100)의 부하를 경감하고, 공유 버퍼(120)를 통해서 버퍼 오퍼플로우가 예방되게 함으로써 안정적으로 메시지를 라우팅할 뿐만 아니라 데이터 유실을 최소화하는 효과를 발휘할 수 있다. According to this embodiment, each channel copies the message to the shared
도 6은 본 발명의 또 다른 실시예에 따른, 게이트웨이에서 메시지를 라우팅하는 방법을 설명하기 위한 제1 흐름도이다.6 is a first flowchart illustrating a method of routing a message in a gateway according to another embodiment of the present invention.
도 6을 참조하면, 수신부(110)는 타 통신 장치로부터 메시지를 수신하여 수신 버퍼(111)에 저장할 수 있다(S101).Referring to FIG. 6 , the
다음으로, 제어부(150)는 버퍼 인덱스 풀(pool)에서 할당되지 않은 버퍼 인덱스를 확인하고, 상기 버퍼 인덱스를 가지는 공유 버퍼(120)의 영역에 상기 수신 메시지를 저장할 수 있다(S103). 이어서, 제어부(150)는 공유 버퍼(120)의 영역에 수신 메시지의 저장이 완료되면, 상기 수신 버퍼(111)에 상기 메시지를 삭제하여 수신 버퍼(111)를 릴리즈 할 수 있다(S105).Next, the
다음으로, 제어부(150)는 상기 메시지에서 발송지 주소와 목적지 주소를 확인하고, 상기 주소들을 토대로 소스 네트워크의 유형과 목적지 네트워크의 유형을 식별한 후, 상기 식별한 네트워크 유형에 근거하여 하나 이상의 라우팅 규칙을 라우팅 규칙 테이블(도 5 참조)에서 확인할 수 있다(S107). 상기 제어부(150)는 목적지 주소가 복수 개인 경우(즉, 전송되는 채널이 복수 개인 경우), 각 채널에서 적용되는 라우팅 규칙을 라우팅 규칙 테이블에서 확인할 수 있다. Next, the
이어서, 제어부(150)는 메시지를 전송하고자 하는 채널이 혼잡 상태인지 여부를 확인하여(S111), 혼잡 상태인 경우에 소정의 시간동안 대기할 수 있다. 제어부(150)는 전송부(140)로부터 각 채널의 상태 정보를 보고받아, 각 채널의 혼잡 상태인지 여부를 판별할 수 있다. 다른 실시예로서, 제어부(150)는 각 채널의 저장 영역(141, 142, 143)에서 남아 있는 디스크립터 개수를 토대로 각 채널의 혼잡 상태를 판별할 수도 있다. 예컨대, 특정 채널의 저장 영역(141, 142, 143)에 임계개수 이상의 디스크립터가 저장되어 있으면, 제어부(150)는 상기 채널이 혼잡 상태인 것으로 판별할 수 있으며, 특정 채널의 저장 영역(141, 142, 143)에 임계개수 미만의 디스크립터가 저장되어 있으면 상기 채널이 혼잡하지 않은 것으로 판별할 수 있다.Subsequently, the
일 실시예에서, 제어부(150)는 채널이 혼잡 상태가 아니면, 상기 채널의 저장 영역(141, 142, 143)에 해당 채널에서 참조되어야 되는 디스크립트를 저장할 수 있다(S113). 다른 실시예에서, 제어부(150)는 디스크립터에 접근할 수 있는 어드레스를 해당 채널의 저장 영역에 저장할 수 있다. 예컨대, 제어부(150)는 제1 채널의 디스크립터에 접근할 수 있는 어드레스를 제1 채널의 저장 영역(141, 142, 143)에 저장할 수 있고, 제2 채널의 디스크립터에 접근할 수 있는 어드레스를 제2 채널의 저장 영역(141, 142, 143)에 저장할 수 있다. In an embodiment, if the channel is not in a congested state, the
상기 제어부(150)는 상기 채널의 저장 영역(141, 142, 143)에 임계값 이상의 충분한 저장공간이 남아 있는 경우에, 상기 디스크립터의 어드레스 또는 디스크립터를 해당 저장 영역(141, 142, 143)에 저장할 수 있다. 제어부(150)는 상기 채널의 저장 영역(141, 142, 143)에 임계값 미만의 저장공간이 남아 있지 않은 경우(즉, 저장 영역의 저장공간이 충분하지 않은 경우), 상기 저장 영역(141, 142, 143)의 저장공간이 상기 임계값 이상으로 될 때까지 디스크립터 또는 디스크립터의 어드레스를 저장 영역(141, 142, 143)로 저장하지 않고 보류한다.The
제어부(150)는 디스크립터 또는 어드레스가 저장 영역(141, 142, 143)에 저장하면, 디스크립터의 개수에 확인하여 제1 개수가 상기 디스크립터의 개수가 되도록 상기 제1 개수를 설정할 수 있다(S115). 상기 제1 개수는 공유 버퍼(120)에 저장된 메시지가 참조되어 전송되어야 하는 개수를 나타내는 것으로서, 버퍼 영역을 릴리즈하기 위해서 이용될 수 있다.When the descriptors or addresses are stored in the
본 실시예에 따르면, 게이트웨이(100) 내에서 1번의 메시지 복사가 이루어지게 하고, 메시지 라우팅을 신속하게 처리할 뿐만 아니라 게이트웨이(100)의 부하를 경감시키는 효과를 발휘할 수 있다. According to this embodiment, one copy of a message is made within the
도 7은 본 발명의 또 다른 실시예에 따른, 게이트웨이에서 메시지를 라우팅하는 방법을 설명하기 위한 제2 흐름도이다.7 is a second flowchart illustrating a method of routing a message in a gateway according to another embodiment of the present invention.
도 7을 참조하면, 전송부(140)는 채널의 저장 영역(141, 142, 143)에 저장된 디스크립트 또는 디스크립터의 어드레스를 확인할 수 있다(S201).Referring to FIG. 7 , the
이어서, 전송부(140)는 디스크립터에 포함된 버퍼 인덱스를 접근하여 공유 버퍼(120)의 영역에서 수신 메시지를 획득하고, 상기 수신 메시지를 라우팅 규칙에 따라 변경하거나 원본을 그대로 유지하여, 송신 메시지를 생성할 수 있다(S203). 전송부(140)는 저장 영역(141, 142, 143)에 어드레스가 저장된 경우, 상기 어드레스를 근거로 저장부(130)에 저장된 디스크립트를 확인할 수 있다. 전송부(140)는 상기 디스크립터에서 버퍼 인덱스를 확인하고, 상기 버퍼 인덱스에 해당하는 버퍼 영역에 접근하여 메시지를 획득할 수 있다. 또한, 전송부(140)는 상기 디스크립터에서 라우팅 규칙 식별정보를 확인하고, 라우팅 규칙 식별정보에 대응하는 라우팅 규칙을 저장부(130)에서 확인한 후, 상기 확인한 라우팅 규칙에 따라 메시지의 헤더, 페이로드 중에서 하나 이상을 선택적으로 변경하거나 상기 메시지의 원본 상태를 그대로 유지함으로써, 송신 메시지를 생성할 수 있다.Subsequently, the
다음으로, 전송부(140)는 상기 생성한 송신 메시지를 해당 채널(버스)을 통해서 상대방 장치로 전송할 수 있다(S205). 이어서, 전송부(140)는 상기 송신 메시지를 정상적으로 수신하였음을 나타내는 Ack 메시지가 상기 채널(버스)을 통해서 상기 상대방 장치로부터 수신되는지 여부를 모니터링한다(S207). Next, the
이어서, 전송부(140)는 상기 Ack 메시지가 상대방 장치로부터 수신되면, 상기 Ack 메시지를 제어부(150)로 전달할 수 있다(S209). 상기 전송부(140)는 Ack 메시지를 전송할 때에 디스크립터에 포함된 공유 버퍼의 인덱스를 제어부(150)를 전달할 수 있으며, 해당 채널의 저장 영역(141, 142, 143)에 저장중인 디스크립터 또는 디스크립터의 어드레스를 삭제할 수 있다. 또한, 제어부(150)도 저장부(130)에 저장중인 상기 디스크립트를 삭제할 수 있다. Subsequently, when the Ack message is received from the counterpart device, the
본 실시예에 따르면, 공유 버퍼(120)에 저장된 메시지를 각 채널에서 이용하여 저장공간이 효율적으로 사용하게 하는 효과를 발휘할 수 있다. 또한, 본 실시예에 따르면, 라우팅 규칙에 따라 해당 채널에서 지원하는 형태로 메시지를 변형하여 전송하거나 원본 메시지를 그대로 전송하기 때문에, 다양한 네트워크 환경에서도 적용 가능한 효과를 발휘할 수 있다.According to this embodiment, the message stored in the shared
도 8은 본 발명의 또 다른 실시예에 따른, 게이트웨이에서 메시지를 라우팅하는 방법을 설명하기 위한 제3 흐름도이다.8 is a third flowchart illustrating a method of routing a message in a gateway according to another embodiment of the present invention.
도 8을 참조하면, 제어부(150)는 전송부(140)를 통해서 Ack 메시지가 수신되는지 여부를 확인하여(S301), Ack 메시지가 수신되면, 제2 개수를 수신된 Ack 메시지만큼 증가시킬 수 있다(S303). 상기 제2 개수의 초기값은 '0'으로 설정될 수 있다. 상기 제어부(150)는 상기 Ack 메시지와 함께 공유 버퍼(120)의 인덱스를 전송부(140)로부터 수신할 수 있다. Referring to FIG. 8 , the
제어부(150)는 제2 개수가 증가되면, 증가된 제2 개수가 제1 개수에 도달하였는지 여부를 확인할 수 있다(S305). 제어부(150)는 제2 개수가 제1 개수에 도달하면, 상기 인덱스를 해당하는 공유 버퍼(120)의 영역을 릴리즈하고(S307), 더불어 상기 인덱스를 회수하여 버퍼 인덱스 풀에 사용 가능한 상태로 다시 등록할 수 있다. When the second number is increased, the
본 실시예에 따르면, 공유 버퍼에서 메시지가 사용된 횟수(즉, 제2 개수)와 메시지가 참조되어야 하는 횟수(즉, 제1 개수)를 비교하여, 공유 버퍼(120)의 영역을 효과적으로 릴리즈할 수 있는 효과를 발휘할 수 있다.According to this embodiment, by comparing the number of times the message is used (ie, the second number) in the shared buffer with the number of times the message should be referenced (ie, the first number), the area of the shared
도 9는 본 발명의 또 다른 실시예에 따른, 게이트웨이에서 메시지를 라우팅하는 방법을 설명하기 위한 제4 흐름도이다.9 is a fourth flowchart illustrating a method of routing a message in a gateway according to another embodiment of the present invention.
도 9를 참조하면, 제어부(150)는 전송부(140)를 이용하여 하나 이상의 버스(채널)에서 오류가 발생하는지 여부를 모니터링할 수 있다(S401). 제어부(150)는 CAN에서 버스 오류와 버스 오프(off)를 감지하는데 이용되는 TEC(Transmission Error Counter) 및 REC(Receive Error Counter)를 이용하여 버스 오류와 에러를 감지할 수 있다.Referring to FIG. 9 , the
제어부(150)는 버스 오류가 검출되면, 에러가 발생된 버스 개수만큼 제1 개수를 차감하여, 제1 개수를 감소시킨다(S403). 제어부(150)는 제1 개수가 감소되면, 제2 개수가 감소된 제1 개수에 도달하였는지 여부를 확인할 수 있다(S405). 제어부(150)는 제1 개수가 제2 개수에 도달하면, 상기 인덱스를 해당하는 공유 버퍼(120)의 영역을 릴리즈하고(S407), 더불어 상기 인덱스를 회수하여 버퍼 인덱스 풀에 사용 가능한 상태로 다시 등록할 수 있다. When a bus error is detected, the
한편, 제어부(150)는 버스 오프(off)를 모니터링하여, 버스 오프가 검출되면, 상기 인덱스에 해당하는 공유 버퍼의 영역을 즉시 릴리즈할 수 있다. On the other hand, the
본 실시예에 따르면, 버스 에러가 발생할 경우를 대비하여, 버스 에러가 발생한 경우 제1 개수를 감소시키고 제1 개수와 제2 개수가 일치하는 경우에 공유 버퍼의 영역을 릴리즈함으로써, 버스 에러에 따라 공유 버퍼(120)의 영역이 계속적으로 유지되는 현상을 예방하는 효과를 발휘할 수 있다. According to the present embodiment, in case a bus error occurs, the first number is reduced when a bus error occurs, and the area of the shared buffer is released when the first number and the second number match, so that according to the bus error It is possible to exert the effect of preventing the phenomenon that the area of the shared
지금까지 설명된 본 발명의 실시예에 따른 방법들은 컴퓨터가 읽을 수 있는 코드로 구현된 컴퓨터프로그램의 실행에 의하여 수행될 수 있다. 상기 컴퓨터프로그램은 인터넷 등의 네트워크를 통하여 제1 컴퓨팅 장치로부터 제2 컴퓨팅 장치에 전송되어 상기 제2 컴퓨팅 장치에 설치될 수 있고, 이로써 상기 제2 컴퓨팅 장치에서 사용될 수 있다. 상기 제1 컴퓨팅 장치 및 상기 제2 컴퓨팅 장치는, 서버 장치, 클라우드 서비스를 위한 서버 풀에 속한 물리 서버, 데스크탑 피씨와 같은 고정식 컴퓨팅 장치를 모두 포함한다.The methods according to the embodiments of the present invention described so far may be performed by executing a computer program implemented as computer readable code. The computer program may be transmitted from the first computing device to the second computing device through a network such as the Internet and installed in the second computing device, thereby being used in the second computing device. The first computing device and the second computing device include all of a server device, a physical server belonging to a server pool for a cloud service, and a stationary computing device such as a desktop PC.
상기 컴퓨터프로그램은 DVD-ROM, 플래시 메모리 장치 등의 기록매체에 저장된 것일 수도 있다.The computer program may be stored in a recording medium such as a DVD-ROM or a flash memory device.
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다.Although the embodiments of the present invention have been described above with reference to the accompanying drawings, those of ordinary skill in the art to which the present invention pertains can realize that the present invention can be embodied in other specific forms without changing the technical spirit or essential features thereof. can understand Therefore, it should be understood that the embodiments described above are illustrative in all respects and not restrictive.
Claims (16)
수신 메시지를 각 목적지 채널이 공유하는 공유 버퍼에 저장하는 단계;
상기 수신 메시지의 송신지 네트워크 및 목적지 네트워크를 이용하여 상기 수신 메시지의 라우팅 규칙을 확인하는 단계;
상기 확인된 라우팅 규칙과 상기 수신 메시지가 저장된 공유 버퍼의 인덱스를 기초로, 디스크립터를 상기 수신 메시지의 각 목적지 채널별로 생성하는 단계; 및
상기 목적지 채널의 상기 디스크립터를 참조하여 상기 공유 버퍼에 저장된 수신 메시지의 일부를 페이로드로서 포함하고 상기 라우팅 규칙에 따라 작성된 헤더를 포함하는 송신 메시지를, 상기 목적지 채널을 통하여 목적지 네트워크로 전송하는 것을, 각 목적지 채널 별로 수행하는 단계를 포함하는,
라우팅 방법.A method performed by a gateway connected to a plurality of source networks and a plurality of destination networks to perform data routing,
storing the received message in a shared buffer shared by each destination channel;
checking a routing rule of the received message using a source network and a destination network of the received message;
generating a descriptor for each destination channel of the received message based on the checked routing rule and an index of a shared buffer in which the received message is stored; and
Transmitting a transmission message including a part of the received message stored in the shared buffer as a payload with reference to the descriptor of the destination channel and including a header prepared according to the routing rule to the destination network through the destination channel, Including the step of performing for each destination channel,
routing method.
상기 수신 메시지가 참조되어야 하는 제1 개수를 확인하는 단계; 및
상기 수신 메시지가 참조되어 송신 메시지로서 전송된 제2 개수를 확인하는 단계; 및
상기 제2 개수가 상기 제1 개수에 도달하면, 상기 인덱스와 대응하는 상기 공유 버퍼의 영역을 릴리즈하는 단계를 더 포함하는,
라우팅 방법.The method of claim 1,
checking a first number to which the received message should be referenced; and
checking the second number of transmitted messages by referring to the received message; and
When the second number reaches the first number, further comprising the step of releasing a region of the shared buffer corresponding to the index,
routing method.
각 목적지 채널의 상태를 확인하여 오류가 발생한 목적지 채널의 개수만큼 상기 제1 개수를 차감하는 단계를 더 포함하는,
라우팅 방법.3. The method of claim 2,
Further comprising the step of subtracting the first number by the number of destination channels in which an error has occurred by checking the state of each destination channel,
routing method.
각각의 상기 목적지 채널의 상태를 확인하여 버스 오프가 발생한 목적지 채널이 감지되면, 상기 인덱스에 해당하는 공유 버퍼의 영역을 릴리즈하는 단계를 더 포함하는,
라우팅 방법.The method of claim 1,
Checking the state of each of the destination channels, further comprising the step of releasing the area of the shared buffer corresponding to the index when the destination channel in which the bus-off has occurred is detected,
routing method.
상기 라우팅 규칙은, 소스 네트워크의 유형과 목적지 네트워크의 유형에 근거하여, 헤더의 변경 규칙, 페이로드의 변경 규칙 중에 하나 이상을 포함하는 것인,
라우팅 방법.The method of claim 1,
The routing rule includes one or more of a header change rule and a payload change rule, based on the type of the source network and the type of the destination network.
routing method.
상기 송신 메시지를, 상기 목적지 채널을 통하여 목적지 네트워크로 전송하는 것을, 각 목적지 채널 별로 수행하는 단계는,
상기 목적지 채널이 분할 라우팅을 수행하는 목적지 네트워크와 연결되는 채널인 경우, 상기 수신 메시지를 소정의 개수로 분할하고, 상기 분할된 어느 한 수신 메시지를 페이로드로서 포함하는 복수의 송신 메시지를 전송하는 단계를 포함하는,
라우팅 방법.The method of claim 1,
The step of transmitting the transmission message to the destination network through the destination channel for each destination channel comprises:
When the destination channel is a channel connected to a destination network performing segmentation routing, dividing the received message into a predetermined number and transmitting a plurality of transmission messages including the divided one received message as a payload; containing,
routing method.
상기 디스크립터를 상기 수신 메시지의 각 목적지 채널별로 생성하는 단계는,
상기 확인된 라우팅 규칙의 식별정보 및 상기 공유 버퍼의 인덱스를 포함하는 디스크립터를 채널로 생성하는 단계; 및
상기 생성한 디스크립터를 해당 채널의 저장영역에 저장하는 단계를 포함하는,
라우팅 방법. The method of claim 1,
The step of generating the descriptor for each destination channel of the received message comprises:
generating a descriptor including identification information of the identified routing rule and an index of the shared buffer as a channel; and
storing the generated descriptor in a storage area of the corresponding channel;
routing method.
상기 저장하는 단계는,
상기 채널의 저장영역에 임계값 이상의 저장공간이 남아 있는 경우에, 상기 생성된 디스크립터를 상기 채널의 저장영역에 저장하는 단계를 포함하는,
라우팅 방법.8. The method of claim 7,
The storing step is
storing the generated descriptor in the storage area of the channel when a storage space equal to or greater than a threshold value remains in the storage area of the channel;
routing method.
상기 디스크립터를 상기 수신 메시지의 각 목적지 채널별로 생성하는 단계는,
상기 확인된 라우팅 규칙의 식별정보 및 상기 공유 버퍼의 인덱스를 포함하는 디스크립터를 생성하는 단계; 및
상기 생성된 디스크립터에 접근할 수 있는 어드레스를 해당 채널의 저장영역에 저장하는 단계를 포함하는,
라우팅 방법.The method of claim 1,
The step of generating the descriptor for each destination channel of the received message comprises:
generating a descriptor including identification information of the checked routing rule and an index of the shared buffer; and
storing an address that can access the generated descriptor in a storage area of the corresponding channel;
routing method.
상기 송신 메시지를, 상기 목적지 채널을 통하여 목적지 네트워크로 전송하는 것을, 각 목적지 채널 별로 수행하는 단계는,
상기 수신 메시지의 페이로드를 상기 송신 메시지의 페이로드로 포함시키고, 상기 수신 메시지의 헤더를 상기 라우팅 규칙에 근거하여 유지하거나 변경하여 상기 송신 메시지의 헤더를 작성하는 단계를 포함하는,
라우팅 방법.The method of claim 1,
The step of transmitting the transmission message to the destination network through the destination channel for each destination channel comprises:
Including the payload of the received message as the payload of the outgoing message, and maintaining or changing the header of the received message based on the routing rule to create a header of the outgoing message,
routing method.
각 목적지 채널에 의해 공유되며 수신 메시지를 저장하는 공유 버퍼;
상기 수신 메시지의 송신지 네트워크 및 목적지 네트워크를 이용하여 상기 수신 메시지의 라우팅 규칙을 확인하고, 상기 확인된 라우팅 규칙과 상기 수신 메시지가 저장된 공유 버퍼의 인덱스를 기초로, 송신 메시지 생성을 위한 디스크립터를 상기 수신 메시지의 각 목적지 채널별로 생성하는 제어부; 및
각각의 목적지 네트워크와 복수의 목적지 채널을 형성하며, 상기 디스크립터를 참조하여 상기 인덱스에 대응하는 상기 공유 버퍼의 영역에서 상기 수신 메시지를 확인하고, 상기 수신 메시지의 헤더, 페이로드 중에서 하나 이상이 상기 라우팅 규칙에 따라 변경하여 생성한 송신 메시지를 상기 목적지 채널을 통하여 목적지 네트워크로 전송하는 것을, 각 목적지 채널 별로 수행하는 전송부를 포함하는,
라우팅 장치.A routing device connected to a plurality of source networks and a plurality of destination networks to perform data routing, the routing device comprising:
a shared buffer shared by each destination channel and storing incoming messages;
The routing rule of the received message is checked using the source network and the destination network of the received message, and a descriptor for generating the transmitted message is generated based on the checked routing rule and the index of the shared buffer in which the received message is stored. a control unit generating each destination channel of a received message; and
Each destination network and a plurality of destination channels are formed, the received message is identified in the area of the shared buffer corresponding to the index with reference to the descriptor, and at least one of a header and a payload of the received message is the routing A transmission unit configured to transmit a transmission message generated by changing according to a rule to a destination network through the destination channel, for each destination channel,
routing device.
상기 제어부는,
상기 수신 메시지가 참조되어야 하는 제1 개수를 확인하고, 상기 수신 메시지가 참조되어 송신 메시지로서 전송된 제2 개수를 확인한 후, 상기 제2 개수가 상기 제1 개수에 도달하면 상기 인덱스와 대응하는 상기 공유 버퍼의 영역을 릴리즈하는,
라우팅 장치.12. The method of claim 11,
The control unit is
After confirming the first number to which the received message is to be referenced, and confirming the second number of which the received message is referenced and transmitted as a transmission message, when the second number reaches the first number, the index corresponding to the to release an area of the shared buffer,
routing device.
상기 제어부는,
각 목적지 채널의 상태를 확인하여 오류가 발생한 목적지 채널의 개수만큼 상기 제1 개수를 차감하는,
라우팅 장치.13. The method of claim 12,
The control unit is
Checking the state of each destination channel and subtracting the first number by the number of destination channels in which an error has occurred,
routing device.
상기 전송부는,
특정 목적지 채널이 분할 라우팅을 수행하는 목적지 네트워크와 연결되는 채널인 경우, 상기 수신 메시지를 소정의 개수로 분할하고, 상기 분할된 어느 한 수신 메시지를 페이로드로서 포함하는 복수의 송신 메시지를 상기 특정 목적지 채널로 전송하는,
라우팅 장치.12. The method of claim 11,
The transmission unit,
When a specific destination channel is a channel connected to a destination network for performing segmentation routing, the received message is divided into a predetermined number, and a plurality of transmitted messages including one of the divided received messages as a payload are divided into the specific destination. transmitted to the channel,
routing device.
상기 제어부는, 상기 확인된 라우팅 규칙의 식별정보 및 상기 공유 버퍼의 인덱스를 포함하는 디스크립터를 생성하고, 상기 생성한 디스크립터를 해당 목적지 채널의 저장영역에 저장하고,
상기 전송부는, 목적지 채널의 저장영역에 저장된 디스크립터를 참조하여 해당 목적지 채널을 경유하여 상기 송신 메시지를 전송하는,
라우팅 장치. 12. The method of claim 11,
The control unit generates a descriptor including the identified identification information of the routing rule and the index of the shared buffer, and stores the generated descriptor in a storage area of the corresponding destination channel,
The transmitting unit transmits the transmission message via a corresponding destination channel with reference to a descriptor stored in a storage area of the destination channel.
routing device.
상기 제어부는,
상기 확인된 라우팅 규칙의 식별정보 및 상기 공유 버퍼의 인덱스를 포함하는 디스크립터를 생성하고, 생성된 상기 디스크립터에 접근할 수 있는 어드레스를 해당 목적지 채널의 저장영역에 저장하고,
상기 전송부는,
상기 목적지 채널의 저장영역에 저장된 어드레스를 기초로 상기 디스크립터를 획득한 후, 획득된 상기 디스크립터를 참조하여 해당 목적지 채널을 통해 상기 송신 메시지를 전송하는,
라우팅 장치.12. The method of claim 11,
The control unit is
generating a descriptor including the identified identification information of the routing rule and the index of the shared buffer, and storing an address that can access the created descriptor in a storage area of the corresponding destination channel;
The transmission unit,
After obtaining the descriptor based on the address stored in the storage area of the destination channel, the transmission message is transmitted through the corresponding destination channel with reference to the obtained descriptor,
routing device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200175257A KR102429410B1 (en) | 2020-12-15 | 2020-12-15 | Routing method and apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200175257A KR102429410B1 (en) | 2020-12-15 | 2020-12-15 | Routing method and apparatus |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20220085303A KR20220085303A (en) | 2022-06-22 |
KR102429410B1 true KR102429410B1 (en) | 2022-08-03 |
Family
ID=82216984
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200175257A KR102429410B1 (en) | 2020-12-15 | 2020-12-15 | Routing method and apparatus |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102429410B1 (en) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100524006B1 (en) * | 2003-03-13 | 2005-10-27 | 삼성전자주식회사 | Apparatus for reducing amount of data copyed for forwarding packet in network device and method thereof |
KR100793349B1 (en) * | 2006-01-26 | 2008-01-11 | 삼성전자주식회사 | Multicast forwarding apparatus and control method in system for using PPP multi-link |
KR101676239B1 (en) * | 2011-08-09 | 2016-11-15 | 현대자동차주식회사 | Method for Processing Data of a Gateway for a Vehicle Network System |
KR101567973B1 (en) | 2014-11-06 | 2015-11-11 | 현대오트론 주식회사 | Can communication apparatus and method |
KR101907438B1 (en) * | 2016-12-08 | 2018-10-15 | 현대오트론 주식회사 | Method for transmitting and receiving periodic message of gateway device for vehicle |
-
2020
- 2020-12-15 KR KR1020200175257A patent/KR102429410B1/en active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
KR20220085303A (en) | 2022-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7599772B2 (en) | Automotive switch fabric with improved resource reservation | |
US6044418A (en) | Method and apparatus for dynamically resizing queues utilizing programmable partition pointers | |
JP6961063B2 (en) | Network hub, transfer method and in-vehicle network system | |
US8301821B2 (en) | Communication module for connecting a serial bus to a plurality of system buses | |
JP6961062B2 (en) | Electronic control unit, communication method and in-vehicle network system | |
CN101385296B (en) | Gateway for the automatic routing of messages between buses | |
US8315274B2 (en) | System and method for supporting synchronous system communications and operations | |
KR20010080608A (en) | A multi link layer to single physical layer interface in a node of a data communication system | |
KR20040010707A (en) | Arrangement for creating multiple virtual queue pairs from a compressed queue pair based on shared attributes | |
US6539450B1 (en) | Method and system for adjusting isochronous bandwidths on a bus | |
US7123614B2 (en) | Method and device for communicating between a first and a second network | |
KR20200136751A (en) | Apparatus for communicating diagnosis of a vehicle, system having the same and method thereof | |
JP2006191337A (en) | Gateway device for transferring message between buses and network system using the device | |
CN107453895B (en) | Method for configuring a communication path and first communication node forming a vehicle network | |
CN112968821B (en) | Electronic control unit, communication method, and in-vehicle network system | |
KR102429410B1 (en) | Routing method and apparatus | |
CN112838992A (en) | Message scheduling method and network equipment | |
KR102585939B1 (en) | Gateway for vehicle Ethernet communication and message routing method thereof | |
CN116821042A (en) | FC equipment DMA communication method based on multiple partitions | |
JPH11239163A (en) | Inter-lan flow control method and switch | |
US7020149B1 (en) | Method for operating a switching system for data packets | |
KR101573549B1 (en) | Data transmission system and method for transmitting data between different type protocols | |
WO2017203906A1 (en) | Network hub, transfer method, and in-vehicle network system | |
WO2001038996A1 (en) | Method and system for adjusting isochronous bandwidths on a bus | |
WO2022259832A1 (en) | Communication device and data communication method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |