KR20240106598A - Apparatus and method for transmitting Ethernet frame - Google Patents
Apparatus and method for transmitting Ethernet frame Download PDFInfo
- Publication number
- KR20240106598A KR20240106598A KR1020220189536A KR20220189536A KR20240106598A KR 20240106598 A KR20240106598 A KR 20240106598A KR 1020220189536 A KR1020220189536 A KR 1020220189536A KR 20220189536 A KR20220189536 A KR 20220189536A KR 20240106598 A KR20240106598 A KR 20240106598A
- Authority
- KR
- South Korea
- Prior art keywords
- transmission
- frame
- data
- transmission frame
- remaining
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/66—Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2425—Traffic characterised by specific attributes, e.g. priority or QoS for supporting services specification, e.g. SLA
- H04L47/2433—Allocation of priorities to traffic types
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/625—Queue scheduling characterised by scheduling criteria for service slots or service orders
- H04L47/6275—Queue scheduling characterised by scheduling criteria for service slots or service orders based on priority
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Small-Scale Networks (AREA)
Abstract
일 실시예에 따른 게이트웨이 장치는 이더넷(Ethernet) 프레임을 입력받도록 구성되는 입력부, 상기 이더넷 프레임에 포함된 데이터에 대한 우선순위 정보를 기반으로 상기 데이터의 전송 순서를 제어하도록 구성되는 제어부, 및 상기 전송 순서를 기반으로 제1 전송 프레임을 출력하도록 구성되는 출력부를 포함하되, 상기 제어부는 현재 전송 주기에서 상기 제1 전송 프레임을 전송하고 남은 잔여 전송 가능 시간보다 제2 전송 프레임의 전송에 필요한 시간이 짧은 경우, 상기 제2 전송 프레임이 상기 현재 전송 주기 내에서 전송되도록 제어하고, 상기 제2 전송 프레임의 전송에 필요한 시간이 상기 잔여 전송 가능 시간보다 긴 경우, 상기 제2 전송 프레임 내 데이터의 우선순위를 기반으로 상기 제2 전송 프레임에 대한 프리엠션(preemption) 여부를 결정할 수 있다.A gateway device according to an embodiment includes an input unit configured to receive an Ethernet frame, a control unit configured to control a transmission order of the data based on priority information about data included in the Ethernet frame, and the transmission An output unit configured to output a first transmission frame based on an order, wherein the control unit transmits the first transmission frame in the current transmission cycle and determines that the time required for transmission of the second transmission frame is shorter than the remaining transmission time. In this case, the second transmission frame is controlled to be transmitted within the current transmission period, and if the time required for transmission of the second transmission frame is longer than the remaining transmission time, the priority of the data in the second transmission frame is adjusted. Based on this, it is possible to determine whether to preempt the second transmission frame.
Description
본 발명은 이더넷 프레임(Ethernet frame) 전송 장치 및 방법에 관한 것으로, 보다 구체적으로 이더넷 프레임을 전송함에 있어서 프레임 프리엠션(preemption)의 발생 횟수를 감소시킬 수 있는 장치 및 방법에 관한 것이다.The present invention relates to an apparatus and method for transmitting an Ethernet frame, and more specifically, to an apparatus and method that can reduce the number of frame preemptions when transmitting an Ethernet frame.
근래의 차량에는 ECU(Electronic Control Unit)를 이용한 프로그램 기반의 제어 방식이 적용됨에 따라 차량의 신뢰성과 성능이 향상되고 있지만, 차량 네트워크의 구조는 점점 더 복잡해지고 있다. 최근에는 중앙 게이트웨이 방식의 네트워크가 차량에 사용되고 있으며, 도메인(domain) 기반 네트워크 구조에서 영역(zone) 기반 네트워크 구조로 변화하는 과정에 있다.As program-based control methods using ECUs (Electronic Control Units) are applied to recent vehicles, their reliability and performance are improving, but the structure of vehicle networks is becoming increasingly complex. Recently, central gateway-type networks are being used in vehicles, and are in the process of changing from a domain-based network structure to a zone-based network structure.
IEEE 802.1 그룹은 변화하는 차량 네트워크 시스템에 맞춰 TSN(Time-Sensitive Networking) 규약을 발표했다. TSN은 제한된(낮은) 대기 시간을 달성하기 위해 IEEE 802.1Qav, IEEE 802.1Qbv 및 IEEE 802.1Qbu 프로토콜을 사용한다. 이 중 IEEE 802.1 Qav 프로토콜을 사용하기 위해서는 보호 대역(guard band)을 추정하는 것이 필수적이다. 만약 프레임의 길이가 길거나 전송 시간이 부족하면 해당 프레임이 보호 대역을 넘어버려서, 제어 데이터가 전송되도록 스케줄링된 트래픽 영역(Scheduled traffic area)을 침범할 수도 있기 때문이다. The IEEE 802.1 group announced the Time-Sensitive Networking (TSN) protocol in line with changing vehicle network systems. TSN uses the IEEE 802.1Qav, IEEE 802.1Qbv, and IEEE 802.1Qbu protocols to achieve limited (low) latency. Among these, in order to use the IEEE 802.1 Qav protocol, it is essential to estimate the guard band. If the frame length is long or the transmission time is insufficient, the frame may exceed the guard band and invade the scheduled traffic area where control data is transmitted.
제어 데이터의 정주기성, 무손실 및 무지연을 보장하기 위해 TAS(Time-Aware Shaper) 알고리즘이 사용되는 경우, 필연적으로 보호 대역을 사용하게 된다. 보호 대역은 프레임들을 구분하기 위해 어떠한 정보도 전송되지 않는 시간 영역(사용되지 않는 시간 영역)을 의미한다. 그렇지만 CBS(Credit-Based Shaper) 알고리즘에 의해서 비디오, 오디오, 텍스트 등의 데이터가 전송될 때, 프레임의 길이가 길고 프레임 전송 주기의 종료 시점에 가까운 시점에서 전송이 시작되면, 전송되는 프레임이 보호 대역을 넘어 다음 전송 주기의 제어 데이터 영역을 침범할 수도 있다. 제어 데이터는 손실이나 지연에 민감한 데이터로 구성되어 있으므로 이와 같은 상황은 방지되어야 한다. 그러나 프레임이 보호 대역을 넘어 제어 데이터 영역을 침범하는 경우를 방지하기 위해 보호 대역을 확장한다면, 프레임 전송 시 불필요하게 대기하는 시간이 길어져 네트워크 시스템의 이용률이 감소하게 된다. 보호 대역을 최소화하기 위해서는 프레임 프리엠션 기능을 사용하는 것이 효율적이지만, 프레임 프리엠션 기능이 사용되는 경우, 하나의 프레임을 분할하거나 재결합하는데 추가적인 처리 시간이 소모된다. 또한, 분할된 프레임을 재결합하기 위해 프레임 헤더가 추가되기 때문에 오버헤드(overhead)가 발생하게 된다. 따라서 네트워크의 효율성을 높이기 위하여 보호 대역에서 사용되지 않는 영역을 최소화하고 프레임 프리엠션의 발생 횟수를 감소시킬 수 있는 방법이 요구되고 있다.When the Time-Aware Shaper (TAS) algorithm is used to ensure periodicity, no loss, and no delay of control data, a guard band is inevitably used. The guard band refers to a time region (unused time region) in which no information is transmitted to distinguish frames. However, when data such as video, audio, text, etc. are transmitted using the CBS (Credit-Based Shaper) algorithm, if the frame length is long and transmission begins close to the end of the frame transmission cycle, the transmitted frame is not in the guard band. It may go beyond and invade the control data area of the next transmission cycle. Control data consists of data that is sensitive to loss or delay, so situations like this must be prevented. However, if the guard band is expanded to prevent a frame from exceeding the guard band and invading the control data area, unnecessarily waiting time when transmitting a frame becomes longer, reducing the utilization rate of the network system. In order to minimize the guard band, it is efficient to use the frame preemption function, but when the frame preemption function is used, additional processing time is consumed to split or reassemble one frame. Additionally, overhead occurs because a frame header is added to reassemble the divided frames. Therefore, in order to increase network efficiency, a method is required to minimize the unused area in the guard band and reduce the number of frame preemptions.
본 발명의 기술적 과제는 네트워크의 전송 효율을 향상시킬 수 있는 이더넷 프레임 전송 장치 및 방법을 제공함에 있다.The technical object of the present invention is to provide an Ethernet frame transmission device and method that can improve network transmission efficiency.
본 발명의 다른 기술적 과제는 이더넷 프레임 전송 시 프레임 프리엠션의 발생 횟수를 최소화할 수 있는 이더넷 프레임 전송 장치 및 방법을 제공함에 있다.Another technical object of the present invention is to provide an Ethernet frame transmission device and method that can minimize the number of frame preemptions when transmitting an Ethernet frame.
본 발명의 또 다른 기술적 과제는 보호 대역에서 사용되지 않는 영역을 최소화할 수 있는 이더넷 프레임 전송 장치 및 방법을 제공함에 있다.Another technical problem of the present invention is to provide an Ethernet frame transmission device and method that can minimize the unused area in the guard band.
본 발명의 해결하고자 하는 과제는 이상에서 언급한 것으로 제한되지 않으며, 언급되지 않은 또 다른 해결하고자 하는 과제는 아래의 기재로부터 본 발명이 속하는 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The problems to be solved by the present invention are not limited to those mentioned above, and other problems to be solved that are not mentioned will be clearly understood by those skilled in the art to which the present invention pertains from the following description.
본 발명의 일 실시예에 따르면, 게이트웨이 장치는 이더넷(Ethernet) 프레임을 입력받도록 구성되는 입력부, 상기 이더넷 프레임에 포함된 데이터에 대한 우선순위 정보를 기반으로 상기 데이터의 전송 순서를 제어하도록 구성되는 제어부, 및 상기 전송 순서를 기반으로 제1 전송 프레임을 출력하도록 구성되는 출력부를 포함하되, 상기 제어부는 현재 전송 주기에서 상기 제1 전송 프레임을 전송하고 남은 잔여 전송 가능 시간보다 제2 전송 프레임의 전송에 필요한 시간이 짧은 경우, 상기 제2 전송 프레임이 상기 현재 전송 주기 내에서 전송되도록 제어하고, 상기 제2 전송 프레임의 전송에 필요한 시간이 상기 잔여 전송 가능 시간보다 긴 경우, 상기 제2 전송 프레임 내 데이터의 우선순위를 기반으로 상기 제2 전송 프레임에 대한 프리엠션(preemption) 여부를 결정할 수 있다.According to one embodiment of the present invention, the gateway device includes an input unit configured to receive an Ethernet frame, and a control unit configured to control the transmission order of the data based on priority information about the data included in the Ethernet frame. , and an output unit configured to output a first transmission frame based on the transmission order, wherein the control unit transmits the first transmission frame in the current transmission cycle and transmits the second transmission frame more than the remaining transmission time. If the required time is short, the second transmission frame is controlled to be transmitted within the current transmission period, and if the time required for transmission of the second transmission frame is longer than the remaining transmission time, the data in the second transmission frame is controlled. Based on the priority, it is possible to determine whether to preempt the second transmission frame.
여기서, 상기 제어부는 상기 제2 전송 프레임의 전송에 필요한 시간이 상기 잔여 전송 가능 시간보다 길고 상기 제2 전송 프레임 내 데이터의 우선순위가 설정값 이상인 경우, 상기 제2 전송 프레임에 대해서 상기 프리엠션을 수행할 수 있다.Here, when the time required for transmission of the second transmission frame is longer than the remaining transmission time and the priority of data in the second transmission frame is greater than the set value, the control unit performs the preemption for the second transmission frame. It can be done.
또한, 상기 제어부는 상기 제2 전송 프레임의 전송에 필요한 시간이 상기 잔여 전송 가능 시간보다 길고 상기 제2 전송 프레임 내 데이터의 우선순위가 상기 설정값 미만인 경우, 제3 전송 프레임 내 데이터의 우선순위가 상기 설정값 미만이고 상기 제3 전송 프레임 내 데이터의 크기가 제1 임계값 미만임을 기반으로 상기 제2 전송 프레임 보다 상기 제3 전송 프레임이 우선적으로 전송되도록 제어할 수 있다.In addition, if the time required for transmission of the second transmission frame is longer than the remaining transmission time and the priority of the data in the second transmission frame is less than the set value, the priority of the data in the third transmission frame is set to Based on the fact that it is less than the set value and the size of the data in the third transmission frame is less than the first threshold, the third transmission frame can be controlled to be transmitted preferentially over the second transmission frame.
여기서, 상기 제1 임계값은 상기 프리엠션이 발생하는 데이터 크기의 평균값을 기반으로 설정될 수 있다.Here, the first threshold may be set based on the average value of the data size in which the preemption occurs.
또한, 상기 제2 전송 프레임 내 데이터의 우선순위와 상기 제3 전송 프레임 내 데이터의 우선순위는 동일할 수 있다.Additionally, the priority of data in the second transmission frame and the priority of data in the third transmission frame may be the same.
또한, 상기 제어부는 상기 제3 전송 프레임의 전송에 필요한 시간이 상기 잔여 전송 가능 시간보다 짧은 경우, 상기 제3 전송 프레임이 상기 현재 전송 주기 내에서 전송되도록 제어하고, 상기 제3 전송 프레임의 전송에 필요한 시간이 상기 잔여 전송 가능 시간보다 긴 경우, 상기 제3 전송 프레임 내 데이터의 크기와 제2 임계값을 비교하여 상기 제3 전송 프레임에 대한 프리엠션 여부를 결정할 수 있다.In addition, if the time required for transmission of the third transmission frame is shorter than the remaining transmission time, the control unit controls the third transmission frame to be transmitted within the current transmission period, and controls the transmission of the third transmission frame. If the required time is longer than the remaining transmission time, it is possible to determine whether to preempt the third transmission frame by comparing the size of data in the third transmission frame with a second threshold.
여기서, 상기 제2 임계값은 적어도 120 바이트(byte)로 설정될 수 있다.Here, the second threshold may be set to at least 120 bytes.
또한, 상기 제어부는 상기 제3 전송 프레임 내 데이터의 크기가 상기 제2 임계값 이상임을 기반으로 상기 제3 전송 프레임에 대해서 상기 프리엠션을 수행하고, 상기 제3 전송 프레임 내 데이터의 크기가 상기 제2 임계값 미만임을 기반으로 상기 제3 전송 프레임이 상기 현재 전송 주기 이후의 전송 주기에서 전송되도록 제어할 수 있다.In addition, the control unit performs the preemption on the third transmission frame based on that the size of the data in the third transmission frame is greater than or equal to the second threshold, and the control unit performs the preemption on the third transmission frame, and Based on being less than the 2 threshold, the third transmission frame can be controlled to be transmitted in a transmission cycle after the current transmission cycle.
본 발명의 다른 실시예에 따르면, 게이트웨이 장치에 의한 송신 방법은 이더넷 프레임을 입력받는 단계, 상기 이더넷 프레임에 포함된 데이터에 대한 우선순위 정보를 기반으로 상기 데이터의 전송 순서를 제어하는 단계, 및 상기 전송 순서를 기반으로 제1 전송 프레임을 출력하는 단계를 포함하되, 현재 전송 주기에서 상기 제1 전송 프레임을 전송하고 남은 잔여 전송 가능 시간보다 제2 전송 프레임의 전송에 필요한 시간이 짧은 경우, 상기 제2 전송 프레임은 상기 현재 전송 주기 내에서 전송되고, 상기 제2 전송 프레임의 전송에 필요한 시간이 상기 잔여 전송 가능 시간보다 긴 경우, 상기 제2 전송 프레임 내 데이터의 우선순위를 기반으로 상기 제2 전송 프레임에 대한 프리엠션 여부가 결정될 수 있다.According to another embodiment of the present invention, a transmission method by a gateway device includes receiving an Ethernet frame, controlling a transmission order of the data based on priority information about data included in the Ethernet frame, and Outputting a first transmission frame based on a transmission order, wherein when the time required for transmission of the second transmission frame is shorter than the remaining transmission time remaining after transmitting the first transmission frame in the current transmission cycle, 2 The transmission frame is transmitted within the current transmission period, and if the time required for transmission of the second transmission frame is longer than the remaining transmission time, the second transmission is performed based on the priority of the data in the second transmission frame. Whether or not to preempt a frame may be determined.
본 발명의 또 다른 실시예에 따르면, 게이트웨이 장치는 이더넷 프레임을 입력받도록 구성되는 입력부, 상기 이더넷 프레임에 포함된 데이터에 대한 우선순위 정보 및 길이 정보 중 적어도 하나를 기반으로 상기 데이터를 복수개의 버퍼 중 해당하는 버퍼에 저장하고, 상기 복수개의 버퍼 내 데이터들의 전송 순서를 제어하도록 구성되는 제어부, 및 상기 전송 순서를 기반으로 제1 전송 프레임을 출력하도록 구성되는 출력부를 포함하되, 상기 제어부는 현재 전송 주기에서 상기 제1 전송 프레임을 전송하고 남은 잔여 전송 가능 시간보다 상기 복수개의 버퍼 중 제1 버퍼에 저장된 데이터를 포함하는 제2 전송 프레임의 전송에 필요한 시간이 짧은 경우, 상기 제2 전송 프레임이 상기 현재 전송 주기 내에서 전송되도록 제어하고, 상기 제2 전송 프레임의 전송에 필요한 시간이 상기 잔여 전송 가능 시간보다 긴 경우, 상기 복수개의 버퍼 중 제2 버퍼 내 데이터의 크기를 기반으로 상기 제2 전송 프레임에 대한 프리엠션 여부를 결정할 수 있다.According to another embodiment of the present invention, the gateway device has an input unit configured to receive an Ethernet frame, and stores the data among a plurality of buffers based on at least one of priority information and length information for data included in the Ethernet frame. A control unit configured to store data in a corresponding buffer and control the transmission order of the data in the plurality of buffers, and an output unit configured to output a first transmission frame based on the transmission order, wherein the control unit provides a current transmission period. If the time required to transmit the second transmission frame including data stored in the first buffer among the plurality of buffers is shorter than the remaining transmission time remaining after transmitting the first transmission frame, the second transmission frame is transmitted in the current Control to transmit within a transmission period, and when the time required for transmission of the second transmission frame is longer than the remaining transmission time, the second transmission frame is transmitted based on the size of data in the second buffer among the plurality of buffers. You can decide whether or not to preempt.
본 발명의 또 다른 실시예에 따르면, 게이트웨이 장치에 의한 송신 방법은 이더넷 프레임을 입력받는 단계, 상기 이더넷 프레임에 포함된 데이터에 대한 우선순위 정보를 기반으로 상기 데이터를 복수개의 버퍼 중 해당하는 버퍼에 저장하는 단계, 상기 복수개의 버퍼 내 데이터들의 전송 순서를 제어하는 단계, 및 상기 전송 순서를 기반으로 제1 전송 프레임을 출력하는 단계를 포함하되, 현재 전송 주기에서 상기 제1 전송 프레임을 전송하고 남은 잔여 전송 가능 시간보다 상기 복수개의 버퍼 중 제1 버퍼에 저장된 데이터를 포함하는 제2 전송 프레임의 전송에 필요한 시간이 짧은 경우, 상기 제2 전송 프레임은 상기 현재 전송 주기 내에서 전송되고, 상기 제2 전송 프레임의 전송에 필요한 시간이 상기 잔여 전송 가능 시간보다 긴 경우, 상기 복수개의 버퍼 중 제2 버퍼 내 데이터의 크기를 기반으로 상기 제2 전송 프레임에 대한 프리엠션 여부가 결정될 수 있다.According to another embodiment of the present invention, a transmission method by a gateway device includes receiving an Ethernet frame, and storing the data in a corresponding buffer among a plurality of buffers based on priority information about data included in the Ethernet frame. Storing, controlling the transmission order of the data in the plurality of buffers, and outputting the first transmission frame based on the transmission order, wherein the first transmission frame is transmitted in the current transmission cycle and the remaining If the time required for transmission of the second transmission frame including data stored in the first buffer among the plurality of buffers is shorter than the remaining transmission time, the second transmission frame is transmitted within the current transmission period, and the second transmission frame is transmitted within the current transmission period, and the second transmission frame is transmitted within the current transmission period. If the time required to transmit a transmission frame is longer than the remaining transmission time, whether to preempt the second transmission frame may be determined based on the size of data in a second buffer among the plurality of buffers.
본 발명의 또 다른 실시예에 따르면, 컴퓨터 판독 가능 기록매체에 저장되는 컴퓨터 프로그램은, 프로세서에 의해 실행되면, 이더넷 프레임을 입력받는 단계와, 상기 이더넷 프레임에 포함된 데이터에 대한 우선순위 정보를 기반으로 상기 데이터의 전송 순서를 제어하는 단계와, 상기 전송 순서를 기반으로 제1 전송 프레임을 출력하는 단계를 송신 방법을 상기 프로세서가 수행하도록 하기 위한 명령어를 포함하되, 현재 전송 주기에서 상기 제1 전송 프레임을 전송하고 남은 잔여 전송 가능 시간보다 제2 전송 프레임의 전송에 필요한 시간이 짧은 경우, 상기 제2 전송 프레임은 상기 현재 전송 주기 내에서 전송되고, 상기 제2 전송 프레임의 전송에 필요한 시간이 상기 잔여 전송 가능 시간보다 긴 경우, 상기 제2 전송 프레임 내 데이터의 우선순위를 기반으로 상기 제2 전송 프레임에 대한 프리엠션 여부가 결정될 수 있다.According to another embodiment of the present invention, a computer program stored in a computer-readable recording medium, when executed by a processor, includes the steps of receiving an Ethernet frame and based on priority information about data included in the Ethernet frame. Controlling the transmission order of the data and outputting a first transmission frame based on the transmission order. Includes instructions for causing the processor to perform a transmission method, wherein the first transmission frame is transmitted in the current transmission cycle. If the time required for transmission of the second transmission frame is shorter than the remaining transmission time remaining after transmitting the frame, the second transmission frame is transmitted within the current transmission period, and the time required for transmission of the second transmission frame is If it is longer than the remaining transmission time, whether to preempt the second transmission frame may be determined based on the priority of data in the second transmission frame.
본 발명의 또 다른 실시예에 따르면, 컴퓨터 프로그램이 저장되어 있는 컴퓨터 판독 가능 기록매체는, 프로세서에 의해 실행되면, 이더넷 프레임을 입력받는 단계와, 상기 이더넷 프레임에 포함된 데이터에 대한 우선순위 정보를 기반으로 상기 데이터의 전송 순서를 제어하는 단계와, 상기 전송 순서를 기반으로 제1 전송 프레임을 출력하는 단계를 송신 방법을 상기 프로세서가 수행하도록 하기 위한 명령어를 포함하되, 현재 전송 주기에서 상기 제1 전송 프레임을 전송하고 남은 잔여 전송 가능 시간보다 제2 전송 프레임의 전송에 필요한 시간이 짧은 경우, 상기 제2 전송 프레임은 상기 현재 전송 주기 내에서 전송되고, 상기 제2 전송 프레임의 전송에 필요한 시간이 상기 잔여 전송 가능 시간보다 긴 경우, 상기 제2 전송 프레임 내 데이터의 우선순위를 기반으로 상기 제2 전송 프레임에 대한 프리엠션 여부가 결정될 수 있다.According to another embodiment of the present invention, a computer-readable recording medium storing a computer program, when executed by a processor, includes the steps of receiving an Ethernet frame and priority information about data included in the Ethernet frame. Controlling the transmission order of the data based on the transmission order, and outputting a first transmission frame based on the transmission order, comprising instructions for causing the processor to perform a transmission method, wherein the first transmission frame is transmitted in the current transmission cycle. If the time required for transmission of the second transmission frame is shorter than the remaining transmission time remaining after transmitting the transmission frame, the second transmission frame is transmitted within the current transmission period, and the time required for transmission of the second transmission frame is If it is longer than the remaining transmission time, whether to preempt the second transmission frame may be determined based on the priority of data in the second transmission frame.
본 발명의 일 실시예에 따르면, 이더넷 프레임 전송 시 프레임 프리엠션의 발생 횟수가 최소화되기 때문에 오버헤드가 감소되어 전송 효율이 향상될 수 있다.According to an embodiment of the present invention, when transmitting an Ethernet frame, the number of frame preemptions is minimized, thereby reducing overhead and improving transmission efficiency.
본 발명의 일 실시예에 따르면, 게이트웨이 장치가 프레임 프리엠션을 수행하는 횟수가 감소되기 때문에 게이트웨이 장치 내 프로세서의 부하가 감소될 수 있다.According to one embodiment of the present invention, the load on the processor within the gateway device can be reduced because the number of times the gateway device performs frame preemption is reduced.
본 발명의 일 실시예에 따르면, 보호 대역에서 사용되지 않는 영역이 최소화되기 때문에 프레임의 전송 지연이 감소될 수 있다.According to one embodiment of the present invention, the transmission delay of the frame can be reduced because the unused area in the guard band is minimized.
도 1은 본 발명의 일 실시예에 따른 게이트웨이 장치를 나타내는 도면이다.
도 2는 본 발명의 일 실시예에 따른 게이트웨이 장치에서 사용되는 이더넷 프레임의 구조를 나타내는 도면이다.
도 3은 본 발명의 일 실시예에 따른 게이트웨이 장치가 프레임 프리엠션을 수행하는 경우 생성되는 조각 프레임의 구조를 나타내는 도면이다.
도 4 내지 도 8은 본 발명의 일 실시예에 따른 게이트웨이 장치가 프레임의 전송 순서를 결정하는 과정을 설명하기 위한 도면이다.
도 9는 본 발명의 일 실시예에 따른 게이트웨이 장치가 프레임을 전송 방법을 나타내는 도면이다.
도 10은 본 발명의 일 실시예에 따른 게이트웨이 장치가 데이터를 입력 받는 과정을 나타내는 도면이다.
도 11은 본 발명의 일 실시예에 따른 게이트웨이 장치가 데이터를 저장하는 과정을 나타내는 도면이다.
도 12 및 도 13은 본 발명의 일 실시예에 따른 게이트웨이 장치가 데이터를 처리하는 과정을 나타내는 도면이다.1 is a diagram showing a gateway device according to an embodiment of the present invention.
Figure 2 is a diagram showing the structure of an Ethernet frame used in a gateway device according to an embodiment of the present invention.
Figure 3 is a diagram showing the structure of a fragment frame generated when a gateway device performs frame preemption according to an embodiment of the present invention.
Figures 4 to 8 are diagrams for explaining a process by which a gateway device determines a frame transmission order according to an embodiment of the present invention.
Figure 9 is a diagram showing a method of transmitting a frame by a gateway device according to an embodiment of the present invention.
Figure 10 is a diagram showing a process in which a gateway device receives data according to an embodiment of the present invention.
Figure 11 is a diagram showing a process in which a gateway device stores data according to an embodiment of the present invention.
Figures 12 and 13 are diagrams showing a process in which a gateway device processes data according to an embodiment of the present invention.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.The advantages and features of the present invention and methods for achieving them will become clear with reference to the embodiments described below along with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below and may be implemented in various different forms. The present embodiments are merely provided to ensure that the disclosure of the present invention is complete and to be understood by those skilled in the art in the technical field to which the present invention pertains. It is provided to fully inform those who have the scope of the invention, and the present invention is only defined by the scope of the claims.
본 문서에서 사용되는 용어에 대해 간략히 설명하고, 본 발명에 대해 구체적으로 설명하기로 한다.The terms used in this document will be briefly explained, and the present invention will be described in detail.
본 발명에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다.The terms used in the present invention are general terms that are currently widely used as much as possible while considering the functions in the present invention, but this may vary depending on the intention or precedent of a person working in the art, the emergence of new technology, etc. In addition, in certain cases, there are terms arbitrarily selected by the applicant, and in this case, the meaning will be described in detail in the description of the relevant invention. Therefore, the terms used in the present invention should be defined based on the meaning of the term and the overall content of the present invention, rather than simply the name of the term.
본 문서 전체에서 어떤 부분이 어떤 구성요소를 ‘포함’한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. Throughout this document, when a part ‘includes’ a certain component, this does not mean excluding other components, but may include other components, unless specifically stated to the contrary.
또한, 본 문서에서 사용되는 ‘부’라는 용어는 소프트웨어 또는 FPGA나 ASIC과 같은 하드웨어 구성요소를 의미하며, ‘부’는 어떤 역할들을 수행한다. 그렇지만 ‘부’는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. ‘부’는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 ‘부’는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 ‘부’들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 ‘부’들로 결합되거나 추가적인 구성요소들과 ‘부’들로 더 분리될 수 있다.Additionally, the term ‘part’ used in this document refers to software or hardware components such as FPGA or ASIC, and the ‘part’ performs certain roles. However, ‘wealth’ is not limited to software or hardware. The 'part' may be configured to reside on an addressable storage medium and may be configured to reproduce on one or more processors. Therefore, as an example, 'part' refers to components such as software components, object-oriented software components, class components and task components, processes, functions, properties, procedures, Includes subroutines, segments of program code, drivers, firmware, microcode, circuits, data, databases, data structures, tables, arrays, and variables. The functionality provided within components and parts can be combined into a smaller number of components and parts or further separated into additional components and parts.
아래에서는 첨부한 도면을 참고하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략한다.Below, with reference to the attached drawings, embodiments of the present invention will be described in detail so that those skilled in the art can easily implement the present invention. In order to clearly explain the present invention in the drawings, parts unrelated to the description are omitted.
도 1은 본 발명의 일 실시예에 따른 게이트웨이 장치를 나타내는 도면이다.1 is a diagram showing a gateway device according to an embodiment of the present invention.
도 1을 참조하면, 게이트웨이 장치(100)는 입력부(110), 제어부(120) 및 출력부(130)를 포함한다. 도 1에는 일 예로서 게이트웨이 장치(110)가 제1 ECU(210) 및 제2 ECU(220)로부터 이더넷 프레임을 입력 받아 제3 ECU(230)로 출력하는 경우에 대해 도시되어 있지만, 게이트웨이 장치(100)는 네트워크 내 복수개의 장치들로부터 이더넷 프레임들을 입력받고 각 이더넷 프레임 내 데이터를 해당하는 장치로 전송할 수 있다.Referring to FIG. 1, the
입력부(110)는 이더넷에 포함된 제1 ECU(210) 및 제2 ECU(220)로부터 각각 이더넷 프레임을 입력받도록 구성될 수 있다. 이 경우 입력부(110)는 제1 ECU(210)로부터 수신되는 이더넷 프레임을 입력 받도록 구성되는 제1 입력 모듈 및 제2 ECU(220)로부터 수신되는 이더넷 프레임을 입력 받도록 구성되는 제2 입력 모듈을 포함할 수 있다. 입력부(110)는 제1 ECU(210) 및 제2 ECU(220)로부터 수신되는 이더넷 프레임 내 데이터를 입력 버퍼(buffer)에 저장할 수 있다. 여기서, 버퍼는 큐(queue)를 포함할 수 있다. 입력 버퍼가 큐로 구현되는 경우, 이는 입력 큐라 불릴 수 있다.The
제어부(120)는 입력부(110)에 입력되는 이더넷 프레임에 포함된 데이터에 대한 우선순위 정보를 기반으로 해당 데이터의 전송 순서를 제어하도록 구성될 수 있다. 일 예로, 제어부(120)는 현재 전송 주기에서 제1 전송 프레임의 전송이 완료된 후 현재 전송 주기의 잔여 전송 가능 시간을 판단할 수 있다. 만일 상기 잔여 전송 가능 시간보다 제2 전송 프레임의 전송에 필요한 시간이 짧은 경우, 제어부(120)는 제2 전송 프레임이 현재 전송 주기 내에서 전송되도록 제어하고, 상기 제2 전송 프레임의 전송에 필요한 시간이 상기 잔여 전송 가능 시간보다 긴 경우, 제어부(120)는 제2 전송 프레임 내 데이터의 우선순위를 기반으로 상기 제2 전송 프레임에 대한 프리엠션 여부를 결정할 수 있다.The
일 실시예로서, 제어부(120)는 상기 제2 전송 프레임의 전송에 필요한 시간이 상기 잔여 전송 가능 시간보다 길고 상기 제2 전송 프레임 내 데이터의 우선순위가 기 설정값 이상인 경우, 상기 제2 전송 프레임에 대해서 프리엠션을 수행할 수 있다.As an embodiment, the
제어부(120)는 상기 제2 전송 프레임의 전송에 필요한 시간이 상기 잔여 전송 가능 시간보다 길고 상기 제2 전송 프레임 내 데이터의 우선순위가 상기 설정값 미만인 경우, 상기 제2 전송 프레임 보다 제3 전송 프레임이 우선적으로 전송되도록 제어할 수 있다. 이 경우, 상기 제3 전송 프레임 내 데이터의 우선순위는 상기 설정값 미만이고 상기 제3 전송 프레임 내 데이터의 크기는 제1 임계값 미만임일 수 있다. 여기서 상기 제1 임계값은 프리엠션이 발생하는 데이터 크기의 평균값을 기반으로 설정될 수 있다. 그리고 상기 제2 전송 프레임 내 데이터의 우선순위와 상기 제3 전송 프레임 내 데이터의 우선순위는 동일할 수 있다.If the time required for transmission of the second transmission frame is longer than the remaining transmission time and the priority of data in the second transmission frame is less than the set value, the
한편, 제어부(120)는 상기 제3 전송 프레임의 전송에 필요한 시간이 현재 전송 주기의 잔여 전송 가능 시간보다 짧은 경우, 상기 제3 전송 프레임이 상기 현재 전송 주기 내에서 전송되도록 제어하고, 상기 제3 전송 프레임의 전송에 필요한 시간이 상기 잔여 전송 가능 시간보다 긴 경우, 상기 제3 전송 프레임 내 데이터의 크기와 제2 임계값(예를 들어, 최소 전송 가능 크기)을 비교하여 상기 제3 전송 프레임에 대한 프리엠션 여부를 결정할 수 있다. 여기서, 상기 제2 임계값은 적어도 120 바이트(byte)로 설정될 수 있다. 제어부(120)는 상기 제3 전송 프레임 내 데이터의 크기가 상기 제2 임계값 이상인 경우 상기 제3 전송 프레임에 대해서 프리엠션을 수행하고, 상기 제3 전송 프레임 내 데이터의 크기가 상기 제2 임계값 미만인 경우 상기 제3 전송 프레임이 상기 현재 전송 주기의 다음 전송 주기 또는 상기 현재 전송 주기 이후의 전송 주기에서 전송되도록 제어할 수 있다.Meanwhile, if the time required for transmission of the third transmission frame is shorter than the remaining transmission time of the current transmission cycle, the
출력부(130)는 제어부(120)에 의해 결정된 전송 순서를 기반으로 전송 프레임을 출력할 수 있다. 일 예로, 출력부(130)는 출력 버퍼에 저장된 데이터의 개수를 모니터링하고, 데이터의 입력이 확인되면 출력 버퍼의 데이터로 프레임을 구성하고 이를 이더넷 포트로 출력할 수 있다.The
도 2는 본 발명의 일 실시예에 따른 게이트웨이 장치에서 사용되는 이더넷 프레임의 구조를 나타내는 도면이다.Figure 2 is a diagram showing the structure of an Ethernet frame used in a gateway device according to an embodiment of the present invention.
도 2를 참조하면, 이더넷 프레임은 프리엠블(preamble) 필드, SFD(Start of Frame Delimiter) 필드, Des MAC 필드, Src MAC 필드, 802.1Q 헤더(header) 필드, 길이/타입(length/type) 필드, 데이터 필드 및 CRC(Cyclic Redundancy Check) 필드를 포함한다.Referring to FIG. 2, the Ethernet frame includes a preamble field, Start of Frame Delimiter (SFD) field, Des MAC field, Src MAC field, 802.1Q header field, and length/type field. , data field, and CRC (Cyclic Redundancy Check) field.
프리엠블 필드는 송신 장치와 수신 장치 간의 동기화를 위해 사용되며, 7바이트로 구성된다. 프리엠블 필드는 고정된 값을 가지며, ‘10101010’로 구성된 7개의 비트열을 포함할 수 있다.The preamble field is used for synchronization between the transmitting device and the receiving device and consists of 7 bytes. The preamble field has a fixed value and can include 7 bit strings consisting of ‘10101010’.
SFD 필드는 이더넷 프레임의 시작을 알리며, 1바이트로 구성된다. SFD 필드는 고정된 값을 가지며, ‘10101011’로 설정될 수 있다.The SFD field notifies the start of an Ethernet frame and consists of 1 byte. The SFD field has a fixed value and can be set to ‘10101011’.
Des MAC 필드는 목적지(destination)의 MAC 주소(address)를 포함하며, 6바이트로 구성된다.The Des MAC field contains the MAC address of the destination and consists of 6 bytes.
Src MAC 필드는 출발지(source)의 MAC 주소를 포함하며, 6바이트로 구성된다.The Src MAC field contains the MAC address of the source and consists of 6 bytes.
802.1Q 헤더 필드는 VLAN(Virtual Local Area Network) 상에서 스위치 간에 VLAN ID 정보를 전달하기 위해 사용되고, 4바이트로 구성된다. 802.1Q 헤더 필드는 802.1Q 태그(tag)라 불릴 수 있다. 802.1Q 헤더 필드는 2바이트의 TPID(Tag Protocol IDentifier) 필드 및 2바이트의 TCI(Tag Control Information) 필드를 포함한다. TCI 필드는 3비트의 PCP(Priority Code Point) 필드, 1비트의 CFI(Canonical Format Indicator) 필드 및 12 비트의 VID(VLAN ID) 필드를 포함한다. PCP 필드에는 데이터 필드 내 데이터의 우선순위에 대한 정보를 포함하며, 이는 0 내지 7 사이의 값으로 표현된다. 여기서 높은 숫자가 높은 우선순위를 나타낸다. 예를 들어, PCP 필드의 값이 7인 경우 이는 해당 데이터가 네트워크 제어 데이터임을 나타낼 수 있고, PCP 필드의 값이 6인 경우 이는 해당 데이터가 인터넷워크(internetwork) 제어 데이터임을 나타낼 수 있다. 또한, PCP 필드의 값이 5인 경우 이는 해당 데이터가 오디오 데이터임을 나타낼 수 있고, PCP 필드의 값이 4인 경우 이는 해당 데이터가 비디오 데이터임을 나타낼 수 있다. PCP 필드의 기본값(default value)은 0으로 설정될 수 있으며, 이는 해당 데이터가 텍스트 데이터임을 나타낼 수 있다.The 802.1Q header field is used to transfer VLAN ID information between switches on a VLAN (Virtual Local Area Network) and consists of 4 bytes. The 802.1Q header field may be called an 802.1Q tag. The 802.1Q header field includes a 2-byte Tag Protocol IDentifier (TPID) field and a 2-byte Tag Control Information (TCI) field. The TCI field includes a 3-bit PCP (Priority Code Point) field, a 1-bit CFI (Canonical Format Indicator) field, and a 12-bit VID (VLAN ID) field. The PCP field contains information about the priority of data in the data field, and is expressed as a value between 0 and 7. Here, higher numbers indicate higher priority. For example, if the value of the PCP field is 7, this may indicate that the data is network control data, and if the value of the PCP field is 6, this may indicate that the data is internetwork control data. Additionally, if the value of the PCP field is 5, this may indicate that the data is audio data, and if the value of the PCP field is 4, this may indicate that the data is video data. The default value of the PCP field may be set to 0, which may indicate that the data is text data.
길이/타입 필드는 네트워크 프로토콜 타입 및 데이터 필드의 길이(바이트 수)를 나타내며, 2바이트로 구성된다.The length/type field indicates the network protocol type and the length (number of bytes) of the data field and consists of 2 bytes.
데이터 필드는, 802.1Q 태그가 존재하는 경우 최소 42바이트에서 최대 1500바이트의 데이터를 포함한다. 데이터 필드는 페이로드(payload)라 불릴 수 있다.The data field contains a minimum of 42 bytes and a maximum of 1500 bytes of data if an 802.1Q tag is present. Data fields may be called payload.
CRC 필드는 프레임의 오류를 검출하기 위해 사용되며, 4바이트로 구성된다. CRC 필드는 FCS(Frame Check Sequence) 필드라 불릴 수 있다.The CRC field is used to detect frame errors and consists of 4 bytes. The CRC field may be called a Frame Check Sequence (FCS) field.
도 3은 본 발명의 일 실시예에 따른 게이트웨이 장치가 프레임 프리엠션을 수행하는 경우 생성되는 조각 프레임의 구조를 나타내는 도면이다.Figure 3 is a diagram showing the structure of a fragment frame generated when a gateway device performs frame preemption according to an embodiment of the present invention.
프레임 프리엠션이 수행되는 경우, 이더넷 프레임은 도 3과 같이 복수개의 조각(fragment)으로 분할될 수 있다.When frame preemption is performed, the Ethernet frame may be divided into a plurality of fragments as shown in FIG. 3.
제1 조각 프레임은 프레임 프리엠션을 통해 프레임이 분할될 때의 첫 번째 조각을 의미하며, 이를 나타내기 위하여 SFD 필드는 SMD-Sx(Start Mpacket Delimiter-Start fragment) 필드로 변경된다. 그리고, CRC 필드는 해당 프레임에 프리엠션이 적용되었음을 나타내는 mCRC 필드로 변경된다.The first fragment frame refers to the first fragment when the frame is divided through frame preemption, and to indicate this, the SFD field is changed to the SMD-Sx (Start Mpacket Delimiter-Start fragment) field. And, the CRC field is changed to an mCRC field indicating that preemption has been applied to the frame.
제2 조각 프레임 내지 마지막 조각 프레임은 프리엠블 필드에서 1 바이트가 줄어들고, 1바이트의 Frag Cnt 필드가 추가된다.For the second to last fragment frames, 1 byte is reduced in the preamble field, and a 1-byte Frag Cnt field is added.
SMD-Cx(SMD-Continue fragment) 필드는 분할된 프레임의 중간 조각임을 나타내며, Frag Cnt 필드를 통해서 몇 번째 조각인지가 지시된다.The SMD-Cx (SMD-Continue fragment) field indicates the middle fragment of a divided frame, and the fragment number is indicated through the Frag Cnt field.
제2 조각 프레임 내지 마지막 조각 프레임의 경우 이미 제1 조각 프레임을 통해 헤더 정보가 전송되었기 때문에, 헤더 정보를 포함하지 않는다. 즉, 제2 조각 프레임 내지 마지막 조각 프레임에는 Des MAC 필드, Src MAC 필드, 802.1Q 헤더 필드 및 길이/타입 필드가 포함되지 않는다.In the case of the second to last fragment frames, header information has already been transmitted through the first fragment frame, so they do not include header information. That is, the second to last fragment frames do not include the Des MAC field, Src MAC field, 802.1Q header field, and length/type field.
마지막 조각 프레임의 경우 원래 프레임(분할 전의 프레임)의 CRC 값을 포함한다. 수신 장치는 해당 CRC 필드를 기초로 해당 조각이 마지막 조각임을 알 수 있다.For the last fragment frame, it contains the CRC value of the original frame (frame before splitting). The receiving device can know that the fragment is the last fragment based on the CRC field.
각 조각 프레임의 데이터 필드는 최소 60바이트에서 최대 1500바이트의 데이터를 포함할 수 있다.The data field of each fragment frame can contain a minimum of 60 bytes and a maximum of 1500 bytes of data.
도 4 내지 도 8은 본 발명의 일 실시예에 따른 게이트웨이 장치가 프레임의 전송 순서를 결정하는 과정을 설명하기 위한 도면이다.Figures 4 to 8 are diagrams for explaining a process by which a gateway device determines a frame transmission order according to an embodiment of the present invention.
이하, 도 4 내지 도 8을 참조하여 게이트웨이 장치가 데이터의 전송 순서를 결정하는 과정을 예를 들어 설명한다.Hereinafter, a process by which a gateway device determines a data transmission order will be described as an example with reference to FIGS. 4 to 8 .
게이트웨이 장치는 각 데이터의 우선순위 및 크기(또는 길이) 중 적어도 하나를 기반으로 각 데이터의 전송 순서를 결정하고 상기 전송 순서에 따라 해당 데이터를 포함하는 프레임을 전송할 수 있다. 이를 위해 게이트웨이 장치는 이더넷 프레임을 수신 시 상기 이더넷 프레임의 802.1Q 헤더 필드 내 우선순위 정보를 기반으로 해당 데이터의 우선순위를 판단할 수 있으며, 길이/타입 필드 내 길이 정보를 기반으로 해당 데이터의 크기(또는 길이)를 판단할 수 있다. 게이트웨이 장치는 상기 길이 정보를 기반으로 해당 데이터를 포함하는 프레임의 전송에 필요한 시간을 계산할 수 있다.The gateway device may determine the transmission order of each data based on at least one of the priority and size (or length) of each data and transmit a frame containing the corresponding data according to the transmission order. To this end, when receiving an Ethernet frame, the gateway device can determine the priority of the data based on priority information in the 802.1Q header field of the Ethernet frame, and determine the size of the data based on the length information in the length/type field. (or length) can be judged. The gateway device can calculate the time required to transmit a frame containing the corresponding data based on the length information.
먼저 도 4를 참조하면, 각 전송 주기(transmission cycle)는 전송 구간 및 보호 대역을 포함한다. 각 전송 구간은 스케줄링된 트래픽 영역(또는 구간)과 스케줄링되지 않은 트래픽 영역(일반 트래픽 영역)으로 구분될 수 있다. 스케줄링된 트래픽 영역은 전송 구간의 앞 부분에 위치할 수 있다. 스케줄링된 트래픽 영역에서는 제어 데이터와 같이 주기적으로 전송될 데이터 및/또는 지연에 민감한 데이터가 전송될 수 있다. 일반 트래픽 영역은 전송 구간에서 스케줄링된 트래픽 영역 다음에 위치할 수 있다. 일반 트래픽 영역에서는 비디오 데이터, 오디오 데이터, 텍스트 데이터 등과 같이 상대적으로 지연에 민감하지 않은 데이터가 전송될 수 있다. 보호 대역은 프레임 간 구분 및/또는 간섭을 방지하기 위한 영역으로서, 일반적으로 어떠한 데이터도 전송되지 않는다.First, referring to FIG. 4, each transmission cycle includes a transmission section and a guard band. Each transmission section can be divided into a scheduled traffic area (or section) and an unscheduled traffic area (general traffic area). The scheduled traffic area may be located at the front of the transmission section. In the scheduled traffic area, data to be transmitted periodically, such as control data, and/or data sensitive to delay may be transmitted. The general traffic area may be located after the scheduled traffic area in the transmission section. In the general traffic area, data that is relatively insensitive to delay, such as video data, audio data, text data, etc., may be transmitted. The guard band is an area for distinguishing between frames and/or preventing interference, and generally no data is transmitted.
일 예로 도 4에 도시된 것과 같이, 게이트웨이 장치가 현재 전송 주기에서 제1 전송 프레임을 전송한 후 제2 전송 프레임을 전송하고자 하는 경우, 게이트웨이 장치는 제1 전송 프레임을 전송하고 남은 잔여 전송 가능 시간에 제2 전송 프레임을 전송할 수 있는지를 판단할 수 있다. 여기서, 제1 전송 프레임 내 데이터의 우선순위는 제2 전송 프레임 내 데이터의 우선순위 이상일 수 있다. 이 때, 제2 전송 프레임의 크기가 현재 전송 주기의 전송 구간 내에서는 전송할 수 없지만, 보호 대역을 포함하는 잔여 전송 가능 시간 내에는 전송 가능한 크기인 경우, 게이트웨이 장치는 보호 대역을 활용하여 제2 전송 프레임을 현재 전송 주기 내에 전송할 수 있다. 이를 위하여 게이트웨이 장치는 현재 전송 주기에서 제1 전송 프레임을 전송하고 남은 잔여 전송 가능 시간과 제2 전송 프레임의 전송에 필요한 시간을 비교할 수 있다. 예를 들어, 100바이트의 크기를 가지는 데이터를 포함하는 이더넷 프레임을 전송하고자 하는 경우, 데이터 필드를 제외한 나머지 필드의 크기는 30(7+1+6+6+4+2+4) 바이트로 고정되어 있으므로, 게이트웨이 장치는 해당 데이터를 포함하는 프레임을 구성하는데 130 바이트가 필요함을 알 수 있다. 따라서 게이트웨이 장치는 130 바이트의 크기를 가지는 프레임을 전송하는데 소요되는 시간을 계산하고, 이를 보호 대역을 포함하는 잔여 전송 가능 시간을 비교함으로써 현재 전송 주기에 해당 프레임을 전송할 수 있는지를 판단할 수 있다. 이 때, 12바이트의 패킷간 간격(interpacket gap)이 추가로 고려될 수 있다. 이 경우, 게이트웨이 장치는 잔여 전송 가능 시간에 100 바이트의 데이터를 전송할 수 있는지 여부를 판단함에 있어서 해당 잔여 전송 가능 시간이 142 바이트를 전송할 수 있는 시간인지를 판단할 수 있다.As an example, as shown in FIG. 4, when the gateway device wants to transmit a second transmission frame after transmitting the first transmission frame in the current transmission cycle, the gateway device transmits the first transmission frame and transmits the remaining transmission time. It can be determined whether the second transmission frame can be transmitted. Here, the priority of the data in the first transmission frame may be greater than or equal to the priority of the data in the second transmission frame. At this time, if the size of the second transmission frame cannot be transmitted within the transmission section of the current transmission cycle, but is a size that can be transmitted within the remaining transmission time including the guard band, the gateway device uses the guard band to transmit the second transmission frame. Frames can be transmitted within the current transmission cycle. To this end, the gateway device may transmit the first transmission frame in the current transmission cycle and compare the remaining transmission time remaining with the time required for transmission of the second transmission frame. For example, if you want to transmit an Ethernet frame containing data of 100 bytes in size, the size of the remaining fields except the data field is fixed to 30 (7+1+6+6+4+2+4) bytes. Therefore, it can be seen that the gateway device requires 130 bytes to construct a frame containing the corresponding data. Therefore, the gateway device can determine whether the frame can be transmitted in the current transmission cycle by calculating the time required to transmit a frame with a size of 130 bytes and comparing this with the remaining transmission time including the guard band. At this time, an interpacket gap of 12 bytes may be additionally considered. In this case, when determining whether 100 bytes of data can be transmitted in the remaining transmission time, the gateway device may determine whether the remaining transmission time is enough to transmit 142 bytes.
한편 도 5에 도시된 것과 같이, 제2 전송 프레임의 전송에 필요한 시간이 보호 대역을 포함하는 잔여 전송 가능 시간보다 긴 경우, 게이트웨이 장치는 제2 전송 프레임 내 데이터의 우선순위를 기반으로 상기 제2 전송 프레임에 대한 프리엠션 여부를 결정할 수 있다. 예를 들어, 게이트웨이 장치는 제2 전송 프레임의 전송에 필요한 시간이 상기 잔여 전송 가능 시간보다 길고, 제2 전송 프레임 내 데이터의 우선순위가 설정값 이상인 경우, 제2 전송 프레임에 대해서 프리엠션을 수행할 수 있다. 즉, 게이트웨이 장치는 해당 데이터를 복수개의 조각으로 분할하여 복수개의 조각 프레임을 구성할 수 있다. 이 경우, 해당 데이터는 일반적인 데이터보다 시간 지연에 민감한 데이터(예를 들어, 오디오 데이터, 동영상 데이터 등)일 수 있으며, 일 예로 해당 데이터의 우선순위는 2이상일 수 있다. 즉, 해당 데이터의 우선순위는 2 내지 7일 수 있다.Meanwhile, as shown in FIG. 5, when the time required for transmission of the second transmission frame is longer than the remaining transmission time including the guard band, the gateway device transmits the second transmission frame based on the priority of the data in the second transmission frame. It is possible to determine whether to preempt a transmission frame. For example, if the time required to transmit the second transmission frame is longer than the remaining transmission time and the priority of the data in the second transmission frame is higher than the set value, the gateway device performs preemption on the second transmission frame. can do. That is, the gateway device can divide the data into a plurality of pieces to form a plurality of fragment frames. In this case, the data may be data that is more sensitive to time delay than general data (e.g., audio data, video data, etc.), and for example, the priority of the data may be 2 or higher. That is, the priority of the data may be 2 to 7.
그러나 만일 도 6에 도시된 것과 같이 제2 전송 프레임의 전송에 필요한 시간이 보호 대역을 포함하는 잔여 전송 가능 시간보다 긴 상황에서 제2 전송 프레임 내 데이터의 우선순위가 상기 설정값 미만인 경우, 게이트웨이 장치는 제2 전송 프레임 보다 제3 전송 프레임이 우선적으로 전송되도록 제어할 수 있다. 즉, 게이트웨이 장치는 제1 전송 주기의 잔여 전송 가능 시간에 제3 전송 프레임을 전송하고, 이후 제2 전송 주기의 전송 구간에 제2 전송 프레임을 전송할 수 있다. 이 경우, 상기 제3 전송 프레임 내 데이터의 우선순위는 상기 설정값 미만이고 상기 제3 전송 프레임 내 데이터의 크기는 제1 임계값 미만임일 수 있다. 여기서 상기 제1 임계값은 프리엠션이 발생하는 데이터 크기의 평균값을 기반으로 설정될 수 있다. 우선순위가 상기 설정값 미만이고 그 크기가 상기 제1 임계값 미만인 데이터는 별도의 숏 버퍼(short buffer)에 저장될 수 있으며, 숏 버퍼 내 데이터는 우선순위가 상기 설정값 미만인 데이터가 현재 전송 주기의 잔여 전송 가능 시간에 전송될 수 없는 상황인 경우 해당 데이터 보다 우선적으로 전송될 수 있다. 도 6의 예시에서, 상기 제2 전송 프레임 내 데이터의 우선순위와 상기 제3 전송 프레임 내 데이터의 우선순위는 2보다 작을 수 있다. 즉, 해당 데이터들의 우선순위는 0 또는 1일 수 있다.However, as shown in FIG. 6, if the time required for transmission of the second transmission frame is longer than the remaining transmission time including the guard band and the priority of the data in the second transmission frame is less than the above set value, the gateway device Can control the third transmission frame to be transmitted preferentially over the second transmission frame. That is, the gateway device may transmit the third transmission frame in the remaining transmission time of the first transmission cycle, and then transmit the second transmission frame in the transmission section of the second transmission cycle. In this case, the priority of the data in the third transmission frame may be less than the set value and the size of the data in the third transmission frame may be less than the first threshold. Here, the first threshold may be set based on the average value of the data size at which preemption occurs. Data whose priority is less than the set value and whose size is less than the first threshold may be stored in a separate short buffer, and data in the short buffer whose priority is less than the set value may be stored in the current transmission cycle. In cases where data cannot be transmitted in the remaining transmission time, it may be transmitted with priority over the corresponding data. In the example of FIG. 6, the priority of data in the second transmission frame and the priority of data in the third transmission frame may be less than 2. That is, the priority of the data may be 0 or 1.
한편 도 7을 참조하면, 게이트웨이 장치는 제1 전송 주기에 제1 전송 프레임을 전송하고 남은 잔여 전송 가능 시간에 제3 전송 프레임의 전송함에 있어서 상기 잔여 전송 가능 시간이 상기 제3 전송 프레임의 전송 소요 시간보다 짧은 경우, 제3 전송 프레임 내 데이터의 크기와 제2 임계값을 비교하여 제3 전송 프레임에 대한 프리엠션 여부를 결정할 수 있다. 이 경우, 상기 제2 임계값은 적어도 120 바이트로 설정될 수 있다. 이는 프레임 프리엠션에 의해 구성 가능한 조각 프레임들 내 데이터 필드의 최소 크기는 60바이트이고, 하나의 이더넷 프레임은 최소 2개의 조각 프레임들로 분할되어야 하기 때문이다. 일 예로, 120바이트의 데이터에 대해 프레임 프리엠션이 적용되는 경우, 해당 데이터는 각각 60바이트의 데이터 필드를 포함하는 제1 조각 프레임 및 제2 조각 프레임을 통해 전송될 수 있으며, 이 때 제1 조각 프레임은 90바이트(7+1+6+6+4+2+60+4)로 구성될 수 있고, 제2 조각 프레임은 72바이트(6+1+1+60+4)로 구성될 수 있다. 각 조각 프레임은 최소 64바이트의 크기로 구성될 수 있다.Meanwhile, referring to FIG. 7, when the gateway device transmits the first transmission frame in the first transmission period and transmits the third transmission frame in the remaining transmission available time, the remaining transmission available time is the amount required for transmission of the third transmission frame. If it is shorter than the time, it is possible to determine whether to preempt the third transmission frame by comparing the size of the data in the third transmission frame and the second threshold. In this case, the second threshold may be set to at least 120 bytes. This is because the minimum size of the data field in fragment frames that can be configured by frame preemption is 60 bytes, and one Ethernet frame must be divided into at least two fragment frames. As an example, when frame preemption is applied to 120 bytes of data, the data may be transmitted through a first fragment frame and a second fragment frame each containing a data field of 60 bytes, where the first fragment A frame may consist of 90 bytes (7+1+6+6+4+2+60+4), and the second fragment frame may consist of 72 bytes (6+1+1+60+4) . Each fragment frame can be at least 64 bytes in size.
게이트웨이 장치는 제3 전송 프레임 내 데이터의 크기가 상기 제2 임계값 이상인 경우 상기 제3 전송 프레임에 대해서 프리엠션을 수행하여 제1 전송 주기의 잔여 전송 기능 시간에 제3 전송 프레임의 제1 조각 프레임을 전송하고, 제2 전송 주기에 제3 전송 프레임의 제2 조각 프레임을 전송할 수 있다. 이 때, 제2 전송 주기의 전송 구간에서는 도 7에 도시된 것과 같이 제3 프레임의 제2 조각 프레임보다 제2 전송 프레임이 우선적으로 전송되거나, 조각 프레임에 대한 전송 스케줄에 따라 제3 프레임의 제2 조각 프레임이 제2 전송 프레임보다 우선적으로 전송될 수 있다. 여기서, 제2 전송 주기는 제1 전송 주기의 다음 전송 주기이거나 제1 전송 주기 이후의 어느 한 시점에서의 전송 주기일 수 있다.If the size of data in the third transmission frame is greater than or equal to the second threshold, the gateway device performs preemption on the third transmission frame and generates the first fragment frame of the third transmission frame in the remaining transmission function time of the first transmission cycle. may be transmitted, and the second fragment frame of the third transmission frame may be transmitted in the second transmission cycle. At this time, in the transmission section of the second transmission cycle, the second transmission frame is transmitted preferentially over the second fragment frame of the third frame, as shown in FIG. 7, or the second transmission frame of the third frame is transmitted preferentially according to the transmission schedule for the fragment frame. A two-piece frame may be transmitted with priority over the second transmission frame. Here, the second transmission cycle may be a transmission cycle following the first transmission cycle or a transmission cycle at any point after the first transmission cycle.
그러나 만일 도 8에 도시된 것과 같이 제3 전송 프레임 내 데이터의 크기가 상기 제2 임계값 미만인 경우, 즉 제3 전송 프레임을 통해 전송될 데이터의 크기가 프레임 프리엠션을 통해 분할 가능한 최소 데이터 크기보다 작은 경우, 게이트웨이 장치는 그 크기가 상기 제1 임계값 미만인 데이터들 중에서 상기 잔여 전송 가능 시간에 전송 가능한 크기의 데이터를 포함하는 제4 전송 프레임을 제3 전송 프레임 보다 우선적으로 전송하고, 제3 전송 프레임은 상기 현재 전송 주기의 다음 전송 주기에서 전송되도록 제어할 수 있다. 이 때, 제2 전송 주기의 전송 구간에서는 도 8에 도시된 것과 같이 제3 전송 프레임보다 제2 전송 프레임이 우선적으로 전송되거나, 제3 전송 프레임이 제2 전송 프레임보다 우선적으로 전송될 수 있다.However, as shown in FIG. 8, if the size of the data in the third transmission frame is less than the second threshold, that is, the size of the data to be transmitted through the third transmission frame is larger than the minimum data size that can be divided through frame preemption. If it is small, the gateway device transmits the fourth transmission frame containing data of a size that can be transmitted in the remaining transmission time among the data whose size is less than the first threshold with priority over the third transmission frame, and transmits the third transmission frame. The frame can be controlled to be transmitted in the next transmission cycle of the current transmission cycle. At this time, in the transmission section of the second transmission period, as shown in FIG. 8, the second transmission frame may be transmitted preferentially over the third transmission frame, or the third transmission frame may be transmitted preferentially over the second transmission frame.
도 9는 본 발명의 일 실시예에 따른 게이트웨이 장치가 프레임을 전송 방법을 나타내는 도면이다.Figure 9 is a diagram showing a method of transmitting a frame by a gateway device according to an embodiment of the present invention.
도 9를 참조하면, 게이트웨이 장치는 외부 장치로부터 이더넷 프레임을 입력받을 수 있다(S900). 게이트웨이 장치는 상기 외부 장치로부터 수신된 이더넷 프레임 내 데이터를 입력 버퍼에 저장하고, 상기 입력 버퍼의 카운트 값을 증가시킬 수 있다.Referring to FIG. 9, the gateway device can receive an Ethernet frame from an external device (S900). The gateway device may store data in an Ethernet frame received from the external device in an input buffer and increase the count value of the input buffer.
게이트웨이 장치는 상기 외부 장치로부터 이더넷 프레임이 수신되면, 상기 이더넷 프레임에 포함된 데이터에 대한 우선순위 정보를 기반으로 해당 데이터의 전송 순서를 제어할 수 있다(S910). 예를 들어, 게이트웨이 장치는 상기 입력 버퍼의 카운트 값을 모니터링하여 입력 버퍼의 카운트 값이 0 보다 큰 경우, 데이터 분류 작업을 시작할 수 있다. 이 때, 게이트웨이 장치는 상기 입력 버퍼 내 데이터의 크기 및 해당 데이터의 우선순위를 기반으로 해당 데이터를 해당하는 버퍼에 저장할 수 있다. 여기서, 상기 버퍼는 제어 버퍼, 클래스A 버퍼, 클래스B 버퍼, PQ(priority queuing) 버퍼 및 숏 버퍼를 포함할 수 있다. 상기 제어 버퍼에는 제어 데이터가 저장될 수 있고, 상기 클래스A 버퍼에는 클래스 A에 해당하는 우선순위를 가지는 데이터(예를 들어, 오디오 데이터)가 저장될 수 있고, 상기 클래스B 버퍼에는 클래스 B에 해당하는 우선순위를 가지는 데이터(예를 들어, 비디오 데이터)가 저장될 수 있고, 상기 PQ 버퍼에는 PQ에 해당하는 우선순위를 가지는 데이터(예를 들어, 텍스트 데이터)가 저장될 수 있다. 데이터의 우선순위는 제어 데이터가 가장 높고, PQ 데이터가 가장 낮을 수 있다. 숏 버퍼에는 우선순위가 상기 설정된 미만이고 그 크기가 상기 제1 임계값 보다 작은 데이터가 저장될 수 있다. 여기서, 상기 제1 임계값은 프레임 프리엠션이 발생하는 데이터 크기(또는 프레임 크기)의 평균값을 기반으로 설정될 수 있다.When an Ethernet frame is received from the external device, the gateway device can control the transmission order of the data based on priority information about the data included in the Ethernet frame (S910). For example, the gateway device may monitor the count value of the input buffer and start a data classification task when the count value of the input buffer is greater than 0. At this time, the gateway device may store the data in the corresponding buffer based on the size of the data in the input buffer and the priority of the data. Here, the buffer may include a control buffer, class A buffer, class B buffer, priority queuing (PQ) buffer, and short buffer. Control data can be stored in the control buffer, data with priority corresponding to class A (e.g., audio data) can be stored in the class A buffer, and data corresponding to class B can be stored in the class B buffer. Data having a priority (for example, video data) may be stored, and data having a priority corresponding to PQ (for example, text data) may be stored in the PQ buffer. The priority of data may be the highest for control data and the lowest for PQ data. Data whose priority is less than the set value and whose size is smaller than the first threshold value may be stored in the short buffer. Here, the first threshold may be set based on the average value of the data size (or frame size) at which frame preemption occurs.
게이트웨이 장치는 데이터 분류 작업에 의해 각 버퍼에 저장된 데이터에 대한 전송 순서를 판단할 수 있다. 예를 들어, 게이트웨이 장치는 현재 전송 주기에서 남은 전송 가능 시간과 현재 프레임(또는 데이터)의 전송하는데 소요되는 시간을 계산하고, 남은 전송 가능 시간보다 프레임의 전송 시간이 짧은 경우 현재 프레임을 전송할 수 있다. 그러나 현재 프레임의 전송 시간이 남은 전송 가능 시간보다 긴 경우, 게이트웨이 장치는 숏 버퍼의 상태를 확인할 수 있다. 만일 숏 버퍼에 데이터가 존재하고 남은 전송 가능 시간보다 숏 버퍼에 저장된 데이터의 전송 소요 시간이 짧다면, 게이트웨이 장치는 숏 버퍼에 저장된 데이터를 출력 버퍼에 저장하고 숏 버퍼의 카운트 값(잔여 데이터의 개수)과 프레임 전송 시간을 조정할 수 있다.The gateway device can determine the transmission order for the data stored in each buffer by performing a data classification task. For example, the gateway device calculates the remaining transmission time in the current transmission cycle and the time required to transmit the current frame (or data), and transmits the current frame if the frame transmission time is shorter than the remaining transmission time. . However, if the transmission time of the current frame is longer than the remaining transmission time, the gateway device can check the status of the short buffer. If data exists in the short buffer and the transmission time of the data stored in the short buffer is shorter than the remaining transmission time, the gateway device stores the data stored in the short buffer in the output buffer and calculates the short buffer's count value (the number of remaining data). ) and frame transmission time can be adjusted.
일 예로, 게이트웨이 장치는 현재 전송 주기에서 제1 전송 프레임을 전송하고 남은 잔여 전송 가능 시간을 판단할 수 있다. 만일 상기 잔여 전송 가능 시간보다 제2 전송 프레임의 전송에 필요한 시간이 짧은 경우, 게이트웨이 장치는 제2 전송 프레임이 현재 전송 주기 내에서 전송하고, 상기 제2 전송 프레임의 전송에 필요한 시간이 상기 잔여 전송 가능 시간보다 긴 경우, 게이트웨이 장치는 제2 전송 프레임 내 데이터의 우선순위를 기반으로 상기 제2 전송 프레임에 대한 프리엠션 여부를 결정할 수 있다. As an example, the gateway device may transmit the first transmission frame in the current transmission cycle and determine the remaining transmission time. If the time required for transmission of the second transmission frame is shorter than the remaining transmission time, the gateway device transmits the second transmission frame within the current transmission period, and the time required for transmission of the second transmission frame is shorter than the remaining transmission time. If it is longer than the available time, the gateway device may determine whether to preempt the second transmission frame based on the priority of data in the second transmission frame.
일 실시예로서, 게이트웨이 장치는 상기 제2 전송 프레임의 전송에 필요한 시간이 상기 잔여 전송 가능 시간보다 길고 상기 제2 전송 프레임 내 데이터의 우선순위가 설정값 이상인 경우, 상기 제2 전송 프레임에 대해서 프리엠션을 수행할 수 있다.As an embodiment, when the time required for transmission of the second transmission frame is longer than the remaining transmission time and the priority of data in the second transmission frame is greater than or equal to a set value, the gateway device provides free access to the second transmission frame. Emtion can be performed.
다른 실시예로서, 게이트웨이 장치는 상기 제2 전송 프레임의 전송에 필요한 시간이 상기 잔여 전송 가능 시간보다 길고 상기 제2 전송 프레임 내 데이터의 우선순위가 상기 설정값 미만인 경우, 상기 제2 전송 프레임 보다 제3 전송 프레임을 우선적으로 전송할 수 있다. 이 경우, 상기 제3 전송 프레임 내 데이터의 우선순위는 상기 설정값 미만이고 상기 제3 전송 프레임 내 데이터의 크기는 제1 임계값 미만임일 수 있다. 여기서 상기 제1 임계값은 프리엠션이 발생하는 데이터 크기의 평균값을 기반으로 설정될 수 있다. 그리고 상기 제2 전송 프레임 내 데이터의 우선순위와 상기 제3 전송 프레임 내 데이터의 우선순위는 동일할 수 있다.As another embodiment, if the time required for transmission of the second transmission frame is longer than the remaining transmission time and the priority of data in the second transmission frame is less than the set value, the gateway device 3 Transmission frames can be transmitted preferentially. In this case, the priority of the data in the third transmission frame may be less than the set value and the size of the data in the third transmission frame may be less than the first threshold. Here, the first threshold may be set based on the average value of the data size at which preemption occurs. And the priority of the data in the second transmission frame and the priority of the data in the third transmission frame may be the same.
한편, 게이트웨이 장치는 상기 제3 전송 프레임의 전송에 필요한 시간이 상기 잔여 전송 가능 시간보다 짧은 경우, 상기 제3 전송 프레임이 상기 현재 전송 주기 내에서 전송되도록 제어하고, 상기 제3 전송 프레임의 전송에 필요한 시간이 상기 잔여 전송 가능 시간보다 긴 경우, 상기 제3 전송 프레임 내 데이터의 크기와 제2 임계값을 비교하여 상기 제3 전송 프레임에 대한 프리엠션 여부를 결정할 수 있다. 여기서, 상기 제2 임계값은 적어도 120 바이트로 설정될 수 있다. 게이트웨이 장치는 상기 제3 전송 프레임 내 데이터의 크기가 상기 제2 임계값 이상인 경우 상기 제3 전송 프레임에 대해서 프리엠션을 수행하고, 상기 제3 전송 프레임 내 데이터의 크기가 상기 제2 임계값 미만인 경우 상기 제3 전송 프레임이 상기 현재 전송 주기의 다음 전송 주기에서 전송되도록 제어할 수 있다.Meanwhile, if the time required for transmission of the third transmission frame is shorter than the remaining transmission time, the gateway device controls the third transmission frame to be transmitted within the current transmission period, and controls the transmission of the third transmission frame. If the required time is longer than the remaining transmission time, it is possible to determine whether to preempt the third transmission frame by comparing the size of data in the third transmission frame with a second threshold. Here, the second threshold may be set to at least 120 bytes. The gateway device performs preemption on the third transmission frame when the size of the data in the third transmission frame is greater than or equal to the second threshold, and when the size of the data in the third transmission frame is less than the second threshold. The third transmission frame can be controlled to be transmitted in the next transmission cycle of the current transmission cycle.
도 10은 본 발명의 일 실시예에 따른 게이트웨이 장치가 데이터를 입력 받는 과정을 나타내는 도면이다.Figure 10 is a diagram showing a process in which a gateway device receives data according to an embodiment of the present invention.
도 10을 참조하면, 게이트웨이 장치는 외부로부터 프레임(또는 신호)이 수신되면 해당 프레임의 헤더 정보를 기반으로 이더넷 프레임이 입력되는지를 확인할 수 있다(S1000). 이더넷 프레임의 입력이 확인되면, 게이트웨이 장치는 상기 이더넷 프레임에 포함된 데이터를 입력 버퍼에 저장하고(S1010), 상기 입력 버퍼의 카운트 값을 증가시킬 수 있다(S1020). 게이트웨이 장치는 상기 입력 버퍼의 카운트 값을 기반으로 상기 입력 버퍼에 저장되어 있는 데이터의 개수를 확인할 수 있다.Referring to FIG. 10, when a frame (or signal) is received from the outside, the gateway device can check whether an Ethernet frame is input based on header information of the frame (S1000). When the input of the Ethernet frame is confirmed, the gateway device may store the data included in the Ethernet frame in the input buffer (S1010) and increase the count value of the input buffer (S1020). The gateway device can check the number of data stored in the input buffer based on the count value of the input buffer.
도 11은 본 발명의 일 실시예에 따른 게이트웨이 장치가 데이터를 저장하는 과정을 나타내는 도면이다.Figure 11 is a diagram showing a process in which a gateway device stores data according to an embodiment of the present invention.
도 11을 참조하면, 게이트웨이 장치는 입력 버퍼를 모니터링하여 상기 입력 버퍼의 카운트 값을 확인할 수 있다(S1100). 입력 버퍼의 카운트 값이 0보다 큰 경우, 게이트웨이 장치는 입력 버퍼 내 각 데이터의 우선순위와 설정값을 비교할 수 있다(S1110). 만일 해당 데이터의 우선순위가 상기 설정값보다 작은 경우, 게이트웨이 장치는 해당 데이터의 크기를 제1 임계값과 비교할 수 있다(S1120). 만일 해당 데이터의 크기가 상기 제1 임계값보다 작은 경우, 게이트웨이 장치는 숏 버퍼에 저장 가능 공간이 존재하는지를 확인하고(S1130), 저장 가능 공간이 존재하는 경우 해당 데이터를 숏 버퍼에 저장할 수 있다(S1140). 그러나 만일 해당 데이터의 우선순위가 상기 설정값 이상이거나, 해당 데이터의 크기가 상기 제1 임계값 이상이거나, 또는 상기 숏 버퍼에 저장 가능 공간이 존재하지 않는 경우, 게이트웨이 장치는 해당 데이터를 해당하는 우선순위 버퍼에 저장할 수 있다(S1150). 여기서, 상기 우선순위 버퍼는 제어 데이터를 저장하는 제어 버퍼, 클래스 A 데이터를 저장하는 클래스A 버퍼, 클래스 B 데이터를 저장하는 클래스B 버퍼 및 PQ 데이터를 저장하는 PQ 버퍼를 포함할 수 있다. 상기 숏 버퍼는 프레임 프리엠션이 발생하는 평균 데이터 크기보다 작은 데이터들을 저장할 수 있다.Referring to FIG. 11, the gateway device can monitor the input buffer and check the count value of the input buffer (S1100). If the count value of the input buffer is greater than 0, the gateway device can compare the priority and setting value of each data in the input buffer (S1110). If the priority of the corresponding data is less than the setting value, the gateway device may compare the size of the corresponding data with the first threshold (S1120). If the size of the data is smaller than the first threshold, the gateway device checks whether storage space exists in the short buffer (S1130), and if storage space exists, the gateway device can store the data in the short buffer (S1130). S1140). However, if the priority of the data is greater than the set value, the size of the data is greater than the first threshold, or there is no storage space in the short buffer, the gateway device transfers the data to the corresponding priority. It can be stored in the ranking buffer (S1150). Here, the priority buffer may include a control buffer for storing control data, a class A buffer for storing class A data, a class B buffer for storing class B data, and a PQ buffer for storing PQ data. The short buffer can store data smaller than the average data size at which frame preemption occurs.
이후, 게이트웨이 장치는 숏 버퍼의 카운트 값을 증가시키고 해당 데이터의 전송 소요 시간을 계산하여 보관할 수 있으며(S1160), 입력 버퍼의 카운트 값을 감소시킬 수 있다(S1170).Afterwards, the gateway device can increase the count value of the short buffer, calculate and store the time required to transmit the corresponding data (S1160), and decrease the count value of the input buffer (S1170).
도 12 및 도 13은 본 발명의 일 실시예에 따른 게이트웨이 장치가 데이터를 처리하는 과정을 나타내는 도면이다.Figures 12 and 13 are diagrams showing a process in which a gateway device processes data according to an embodiment of the present invention.
도 12를 참조하면, 각 우선순위 버퍼(제어 버퍼, 클래스A 버퍼, 클래스B 버퍼 및 PQ 버퍼)에는 각각 출력을 제어하는 게이트(gate)가 연결될 수 있다. 게이트웨이 장치는 제어 버퍼의 게이트가 열려있는지를 확인하고(S1200), 해당 게이트가 열려 있다면 제어 버퍼에서 데이터를 가져와 출력 버퍼에 저장할 수 있다(S1240). 만일 제어 버퍼의 게이트가 닫혀 있다면 클래스A 버퍼의 게이트가 열려있는지를 확인하고(S1210), 해당 게이트가 열려 있다면 클래스A 버퍼에서 데이터를 가져와 출력 버퍼에 저장할 수 있다(S1240). 만일 클래스A 버퍼의 게이트가 닫혀 있다면 클래스B 버퍼의 게이트가 열려있는지를 확인하고(S1220), 해당 게이트가 열려 있다면 클래스B 버퍼에서 데이터를 가져와 출력 버퍼에 저장할 수 있다(S1240). PQ 버퍼의 경우, 게이트가 열려있다면(S1230) 게이트웨이 장치는 PQ 버퍼에서 데이터를 가져와 현재 전송 주기의 잔여 전송 가능 시간에 전송 가능한지에 대한 판단을 수행할 수 있다.Referring to FIG. 12, a gate that controls output may be connected to each priority buffer (control buffer, class A buffer, class B buffer, and PQ buffer). The gateway device checks whether the gate of the control buffer is open (S1200), and if the gate is open, it can retrieve data from the control buffer and store it in the output buffer (S1240). If the gate of the control buffer is closed, check whether the gate of the class A buffer is open (S1210), and if the gate is open, data can be retrieved from the class A buffer and stored in the output buffer (S1240). If the gate of the class A buffer is closed, check whether the gate of the class B buffer is open (S1220), and if the gate is open, data can be retrieved from the class B buffer and stored in the output buffer (S1240). In the case of the PQ buffer, if the gate is open (S1230), the gateway device can retrieve data from the PQ buffer and determine whether transmission is possible in the remaining transmission time of the current transmission cycle.
구체적으로 도 13을 참조하면, 게이트웨이 장치는 현재 전송 주기의 잔여 전송 시간(잔여 전송 가능 시간)과 해당 데이터의 전송 소요 시간을 계산할 수 있다. 만일 상기 잔여 전송 가능 시간보다 해당 데이터의 전송 소요 시간이 짧다면(S1300), 게이트웨이 장치는 해당 데이터를 출력 버퍼에 저장할 수 있다(S1310). 그러나 상기 잔여 전송 가능 시간보다 해당 데이터의 전송 소요 시간이 길면, 게이트웨이 장치는 숏 버퍼 내에 데이터가 존재하는지를 확인하고, 이를 상기 잔여 전송 가능 시간과 비교할 수 있다. 만일 상기 잔여 전송 가능 시간 보다 숏 버퍼에 저장된 데이터의 전송 소요 시간이 짧다면(S1320), 게이트웨이 장치는 해당 데이터를 출력 버퍼에 저장하고(S1310), 숏 버퍼의 카운트 값을 감소시킬 수 있다. 그러나 상기 잔여 전송 가능 시간보다 상기 숏 버퍼에 저장된 데이터의 전송 소요 시간이 길다면, 게이트웨이 장치는 해당 데이터의 크기와 제2 임계값을 비교할 수 있다. 만일 해당 데이터의 크기가 제2 임계값 이상이라면(S1330) 게이트웨이 장치는 해당 데이터를 포함하는 프레임에 대해 프리엠션을 수행하고(S1340), 해당 데이터의 크기가 제2 임계값보다 작다면(S1330) 게이트웨이 장치는 해당 데이터에 대해서는 프리엠션을 수행할 수 없다고 판단하고 숏 버퍼 내 다른 데이터가 잔여 전송 가능 시간 내에 전송 가능한지를 판단할 수 있다. 프리엠션에 의해 분할된 데이터 중 상기 잔여 전송 가능 시간에 전송되지 않고 남은 데이터는 PQ 버퍼 또는 숏 버퍼에 다시 저장될 수 있다.Specifically, referring to FIG. 13, the gateway device can calculate the remaining transmission time (remaining transmission time) of the current transmission cycle and the time required to transmit the corresponding data. If the transmission time for the data is shorter than the remaining transmission time (S1300), the gateway device can store the data in the output buffer (S1310). However, if the transmission time for the data is longer than the remaining transmission time, the gateway device may check whether data exists in the short buffer and compare it with the remaining transmission time. If the transmission time of the data stored in the short buffer is shorter than the remaining transmission time (S1320), the gateway device may store the data in the output buffer (S1310) and decrease the count value of the short buffer. However, if the transmission time of the data stored in the short buffer is longer than the remaining transmission time, the gateway device may compare the size of the data with the second threshold. If the size of the data is greater than the second threshold (S1330), the gateway device performs preemption on the frame containing the data (S1340), and if the size of the data is less than the second threshold (S1330) The gateway device may determine that preemption cannot be performed on the corresponding data and determine whether other data in the short buffer can be transmitted within the remaining transmission time. Among the data divided by preemption, remaining data that is not transmitted in the remaining transmission time may be stored again in the PQ buffer or short buffer.
게이트웨이 장치는 출력 버퍼에 저장되는 프레임의 개수를 모니터링할 수 있으며, 프레임의 입력이 확인되면 해당 프레임을 이더넷 포트로 출력할 수 있다.The gateway device can monitor the number of frames stored in the output buffer, and when the input of the frame is confirmed, it can output the frame to the Ethernet port.
한편, 전술한 실시예에 따른 게이트웨이 장치가 수행하는 송신 방법에 포함된 각각의 단계는, 이러한 단계를 프로세서가 수행하도록 하기 위한 명령어를 포함하여 기록매체에 기록된 컴퓨터 프로그램으로 구현될 수 있다.Meanwhile, each step included in the transmission method performed by the gateway device according to the above-described embodiment may be implemented as a computer program recorded on a recording medium including instructions for causing a processor to perform these steps.
또한, 전술한 실시예에 따른 게이트웨이 장치가 수행하는 송신 방법에 포함된 각각의 단계는, 이러한 단계를 프로세서가 수행하도록 하기 위한 명령어를 포함하는 컴퓨터 프로그램이 기록된 컴퓨터 판독 가능한 기록매체에서 구현될 수 있다.In addition, each step included in the transmission method performed by the gateway device according to the above-described embodiment may be implemented in a computer-readable recording medium on which a computer program including instructions for allowing a processor to perform these steps is recorded. there is.
본 발명에 첨부된 각 흐름도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수도 있다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 기록매체에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 기록매체에 저장된 인스트럭션들은 흐름도의 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 흐름도의 각 단계에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.Combinations of each step in each flowchart attached to the present invention may be performed by computer program instructions. Since these computer program instructions can be mounted on the processor of a general-purpose computer, special-purpose computer, or other programmable data processing equipment, the instructions performed through the processor of the computer or other programmable data processing equipment perform the functions described in each step of the flow chart. It creates the means to carry out these tasks. These computer program instructions may also be stored on a computer-usable or computer-readable recording medium that can be directed to a computer or other programmable data processing equipment to implement a function in a particular way, so that the computer program instructions are computer-usable or computer-readable. The instructions stored in the recording medium can also produce manufactured items containing instruction means that perform the functions described in each step of the flowchart. Computer program instructions can also be mounted on a computer or other programmable data processing equipment, so that a series of operational steps are performed on the computer or other programmable data processing equipment to create a process that is executed by the computer, thereby generating a process that is executed by the computer or other programmable data processing equipment. Instructions that perform processing equipment may also provide steps for executing the functions described in each step of the flowchart.
또한, 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실시예들에서는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.Additionally, each step may represent a module, segment, or portion of code containing one or more executable instructions for executing specified logical function(s). Additionally, it should be noted that in some alternative embodiments it is possible for the functions mentioned in the steps to occur out of order. For example, two steps shown in succession may in fact be performed substantially simultaneously, or the steps may sometimes be performed in reverse order depending on the corresponding function.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 품질에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 균등한 범위 내에 있는 모든 기술사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.The above description is merely an illustrative explanation of the technical idea of the present invention, and those skilled in the art will be able to make various modifications and variations without departing from the essential quality of the present invention. Accordingly, the embodiments disclosed in the present invention are not intended to limit the technical idea of the present invention, but are for illustrative purposes, and the scope of the technical idea of the present invention is not limited by these embodiments. The scope of protection of the present invention shall be interpreted in accordance with the claims below, and all technical ideas within the scope equivalent thereto shall be construed as being included in the scope of rights of the present invention.
100: 게이트웨이 장치
110: 입력부
120: 제어부
130: 출력부
210: 제1 ECU
220: 제2 ECU
230: 제3 ECU100: gateway device
110: input unit
120: control unit
130: output unit
210: first ECU
220: 2nd ECU
230: 3rd ECU
Claims (20)
이더넷(Ethernet) 프레임을 입력받도록 구성되는 입력부;
상기 이더넷 프레임에 포함된 데이터에 대한 우선순위 정보를 기반으로 상기 데이터의 전송 순서를 제어하도록 구성되는 제어부; 및
상기 전송 순서를 기반으로 제1 전송 프레임을 출력하도록 구성되는 출력부를 포함하되,
상기 제어부는,
현재 전송 주기에서 상기 제1 전송 프레임을 전송하고 남은 잔여 전송 가능 시간보다 제2 전송 프레임의 전송에 필요한 시간이 짧은 경우, 상기 제2 전송 프레임이 상기 현재 전송 주기 내에서 전송되도록 제어하고,
상기 제2 전송 프레임의 전송에 필요한 시간이 상기 잔여 전송 가능 시간보다 긴 경우, 상기 제2 전송 프레임 내 데이터의 우선순위를 기반으로 상기 제2 전송 프레임에 대한 프리엠션(preemption) 여부를 결정하는 것을 특징으로 하는 장치.In the gateway device,
An input unit configured to receive an Ethernet frame;
a control unit configured to control the transmission order of the data based on priority information about the data included in the Ethernet frame; and
An output unit configured to output a first transmission frame based on the transmission order,
The control unit,
If the time required to transmit the second transmission frame is shorter than the remaining transmission time remaining after transmitting the first transmission frame in the current transmission cycle, control the second transmission frame to be transmitted within the current transmission cycle,
When the time required for transmission of the second transmission frame is longer than the remaining transmission time, determining whether to preempt the second transmission frame based on the priority of data in the second transmission frame Featured device.
상기 제어부는,
상기 제2 전송 프레임의 전송에 필요한 시간이 상기 잔여 전송 가능 시간보다 길고 상기 제2 전송 프레임 내 데이터의 우선순위가 설정값 이상인 경우, 상기 제2 전송 프레임에 대해서 상기 프리엠션을 수행하는 것을 특징으로 하는 장치.According to paragraph 1,
The control unit,
When the time required for transmission of the second transmission frame is longer than the remaining transmission time and the priority of data in the second transmission frame is greater than a set value, the preemption is performed on the second transmission frame. A device that does.
상기 제어부는,
상기 제2 전송 프레임의 전송에 필요한 시간이 상기 잔여 전송 가능 시간보다 길고 상기 제2 전송 프레임 내 데이터의 우선순위가 상기 설정값 미만인 경우, 제3 전송 프레임 내 데이터의 우선순위가 상기 설정값 미만이고 상기 제3 전송 프레임 내 데이터의 크기가 제1 임계값 미만임을 기반으로 상기 제2 전송 프레임 보다 상기 제3 전송 프레임이 우선적으로 전송되도록 제어하는 것을 특징으로 하는 장치.According to paragraph 1,
The control unit,
If the time required to transmit the second transmission frame is longer than the remaining transmission time and the priority of the data in the second transmission frame is less than the set value, the priority of the data in the third transmission frame is less than the set value, and A device characterized in that the third transmission frame is controlled to be transmitted preferentially over the second transmission frame based on the size of the data in the third transmission frame being less than a first threshold.
상기 제1 임계값은,
상기 프리엠션이 발생하는 데이터 크기의 평균값을 기반으로 설정되는 것을 특징으로 하는 장치.According to paragraph 3,
The first threshold is,
A device wherein the preemption is set based on an average value of the data size generated.
상기 제2 전송 프레임 내 데이터의 우선순위와 상기 제3 전송 프레임 내 데이터의 우선순위는 동일한 것을 특징으로 하는 장치.According to paragraph 3,
A device characterized in that the priority of the data in the second transmission frame and the priority of the data in the third transmission frame are the same.
상기 제어부는,
상기 제3 전송 프레임의 전송에 필요한 시간이 상기 잔여 전송 가능 시간보다 짧은 경우, 상기 제3 전송 프레임이 상기 현재 전송 주기 내에서 전송되도록 제어하고,
상기 제3 전송 프레임의 전송에 필요한 시간이 상기 잔여 전송 가능 시간보다 긴 경우, 상기 제3 전송 프레임 내 데이터의 크기와 제2 임계값을 비교하여 상기 제3 전송 프레임에 대한 프리엠션 여부를 결정하는 것을 특징으로 하는 장치.According to paragraph 3,
The control unit,
If the time required to transmit the third transmission frame is shorter than the remaining transmission time, control the third transmission frame to be transmitted within the current transmission period,
When the time required for transmission of the third transmission frame is longer than the remaining transmission time, the size of the data in the third transmission frame is compared with a second threshold to determine whether to preempt the third transmission frame. A device characterized in that.
상기 제2 임계값은,
적어도 120 바이트(byte)로 설정되는 것을 특징으로 하는 장치.According to clause 6,
The second threshold is,
A device characterized in that it is set to at least 120 bytes.
상기 제어부는,
상기 제3 전송 프레임 내 데이터의 크기가 상기 제2 임계값 이상임을 기반으로 상기 제3 전송 프레임에 대해서 상기 프리엠션을 수행하고,
상기 제3 전송 프레임 내 데이터의 크기가 상기 제2 임계값 미만임을 기반으로 상기 제3 전송 프레임이 상기 현재 전송 주기 이후의 전송 주기에서 전송되도록 제어하는 것을 특징으로 하는 장치.According to clause 6,
The control unit,
Performing the preemption on the third transmission frame based on the size of the data in the third transmission frame being greater than or equal to the second threshold,
A device characterized in that controlling the third transmission frame to be transmitted in a transmission cycle after the current transmission cycle based on the size of the data in the third transmission frame being less than the second threshold.
이더넷(Ethernet) 프레임을 입력받는 단계;
상기 이더넷 프레임에 포함된 데이터에 대한 우선순위 정보를 기반으로 상기 데이터의 전송 순서를 제어하는 단계; 및
상기 전송 순서를 기반으로 제1 전송 프레임을 출력하는 단계를 포함하되,
현재 전송 주기에서 상기 제1 전송 프레임을 전송하고 남은 잔여 전송 가능 시간보다 제2 전송 프레임의 전송에 필요한 시간이 짧은 경우, 상기 제2 전송 프레임은 상기 현재 전송 주기 내에서 전송되고,
상기 제2 전송 프레임의 전송에 필요한 시간이 상기 잔여 전송 가능 시간보다 긴 경우, 상기 제2 전송 프레임 내 데이터의 우선순위를 기반으로 상기 제2 전송 프레임에 대한 프리엠션(preemption) 여부가 결정되는 것을 특징으로 하는 방법.In a transmission method by a gateway device,
Step of receiving an Ethernet frame;
Controlling the transmission order of the data based on priority information about the data included in the Ethernet frame; and
Including outputting a first transmission frame based on the transmission order,
If the time required to transmit the second transmission frame is shorter than the remaining transmission time remaining after transmitting the first transmission frame in the current transmission cycle, the second transmission frame is transmitted within the current transmission cycle,
When the time required for transmission of the second transmission frame is longer than the remaining transmission time, whether to preempt the second transmission frame is determined based on the priority of data in the second transmission frame. How to feature.
상기 제2 전송 프레임의 전송에 필요한 시간이 상기 잔여 전송 가능 시간보다 길고 상기 제2 전송 프레임 내 데이터의 우선순위가 설정값 이상인 경우, 상기 제2 전송 프레임에 대해서 상기 프리엠션이 수행되는 것을 특징으로 하는 방법.According to clause 9,
When the time required for transmission of the second transmission frame is longer than the remaining transmission time and the priority of data in the second transmission frame is greater than a set value, the preemption is performed on the second transmission frame. How to.
상기 제2 전송 프레임의 전송에 필요한 시간이 상기 잔여 전송 가능 시간보다 길고 상기 제2 전송 프레임 내 데이터의 우선순위가 상기 설정값 미만인 경우, 제3 전송 프레임 내 데이터의 우선순위가 상기 설정값 미만이고 상기 제3 전송 프레임 내 데이터의 크기가 제1 임계값 미만임을 기반으로 상기 제2 전송 프레임 보다 상기 제3 전송 프레임이 우선적으로 전송되는 것을 특징으로 하는 방법.According to clause 9,
If the time required to transmit the second transmission frame is longer than the remaining transmission time and the priority of the data in the second transmission frame is less than the set value, the priority of the data in the third transmission frame is less than the set value, and A method wherein the third transmission frame is transmitted preferentially over the second transmission frame based on the size of the data in the third transmission frame being less than a first threshold.
상기 제1 임계값은,
상기 프리엠션이 발생하는 데이터 크기의 평균값을 기반으로 설정되는 것을 특징으로 하는 방법.According to clause 11,
The first threshold is,
A method characterized in that the preemption is set based on the average value of the generated data size.
상기 제2 전송 프레임 내 데이터의 우선순위와 상기 제3 전송 프레임 내 데이터의 우선순위는 동일한 것을 특징으로 하는 방법.According to clause 11,
A method wherein the priority of the data in the second transmission frame and the priority of the data in the third transmission frame are the same.
상기 제3 전송 프레임의 전송에 필요한 시간이 상기 잔여 전송 가능 시간보다 짧은 경우, 상기 제3 전송 프레임은 상기 현재 전송 주기 내에서 전송되고,
상기 제3 전송 프레임의 전송에 필요한 시간이 상기 잔여 전송 가능 시간보다 긴 경우, 상기 제3 전송 프레임 내 데이터의 크기와 제2 임계값을 비교하여 상기 제3 전송 프레임에 대한 프리엠션 여부가 결정되는 것을 특징으로 하는 방법.According to clause 11,
If the time required for transmission of the third transmission frame is shorter than the remaining transmission time, the third transmission frame is transmitted within the current transmission period,
When the time required for transmission of the third transmission frame is longer than the remaining transmission time, whether to preempt the third transmission frame is determined by comparing the size of the data in the third transmission frame and the second threshold. A method characterized by:
상기 제2 임계값은,
적어도 120 바이트(byte)로 설정되는 것을 특징으로 하는 방법.According to clause 14,
The second threshold is,
A method characterized in that it is set to at least 120 bytes.
상기 제3 전송 프레임 내 데이터의 크기가 상기 제2 임계값 이상임을 기반으로 상기 제3 전송 프레임에 대해서 상기 프리엠션이 수행되고,
상기 제3 전송 프레임 내 데이터의 크기가 상기 제2 임계값 미만임을 기반으로 상기 제3 전송 프레임은 상기 현재 전송 주기 이후의 전송 주기에서 전송되는 것을 특징으로 하는 방법.According to clause 14,
The preemption is performed on the third transmission frame based on the size of the data in the third transmission frame being greater than or equal to the second threshold,
The method characterized in that the third transmission frame is transmitted in a transmission cycle after the current transmission cycle based on the size of the data in the third transmission frame being less than the second threshold.
이더넷(Ethernet) 프레임을 입력받도록 구성되는 입력부;
상기 이더넷 프레임에 포함된 데이터에 대한 우선순위 정보 및 길이 정보 중 적어도 하나를 기반으로 상기 데이터를 복수개의 버퍼 중 해당하는 버퍼에 저장하고, 상기 복수개의 버퍼 내 데이터들의 전송 순서를 제어하도록 구성되는 제어부; 및
상기 전송 순서를 기반으로 제1 전송 프레임을 출력하도록 구성되는 출력부를 포함하되,
상기 제어부는,
현재 전송 주기에서 상기 제1 전송 프레임을 전송하고 남은 잔여 전송 가능 시간보다 상기 복수개의 버퍼 중 제1 버퍼에 저장된 데이터를 포함하는 제2 전송 프레임의 전송에 필요한 시간이 짧은 경우, 상기 제2 전송 프레임이 상기 현재 전송 주기 내에서 전송되도록 제어하고,
상기 제2 전송 프레임의 전송에 필요한 시간이 상기 잔여 전송 가능 시간보다 긴 경우, 상기 복수개의 버퍼 중 제2 버퍼 내 데이터의 크기를 기반으로 상기 제2 전송 프레임에 대한 프리엠션(preemption) 여부를 결정하는 것을 특징으로 하는 장치.In the gateway device,
An input unit configured to receive an Ethernet frame;
A control unit configured to store the data in a corresponding buffer among a plurality of buffers based on at least one of priority information and length information for data included in the Ethernet frame and to control the transmission order of data in the plurality of buffers. ; and
An output unit configured to output a first transmission frame based on the transmission order,
The control unit,
If the time required to transmit the second transmission frame including data stored in the first buffer among the plurality of buffers is shorter than the remaining transmission time remaining after transmitting the first transmission frame in the current transmission cycle, the second transmission frame Control to transmit within the current transmission cycle,
If the time required to transmit the second transmission frame is longer than the remaining transmission time, whether to preempt the second transmission frame is determined based on the size of data in the second buffer among the plurality of buffers. A device characterized in that.
이더넷(Ethernet) 프레임을 입력받는 단계;
상기 이더넷 프레임에 포함된 데이터에 대한 우선순위 정보를 기반으로 상기 데이터를 복수개의 버퍼 중 해당하는 버퍼에 저장하는 단계;
상기 복수개의 버퍼 내 데이터들의 전송 순서를 제어하는 단계; 및
상기 전송 순서를 기반으로 제1 전송 프레임을 출력하는 단계를 포함하되,
현재 전송 주기에서 상기 제1 전송 프레임을 전송하고 남은 잔여 전송 가능 시간보다 상기 복수개의 버퍼 중 제1 버퍼에 저장된 데이터를 포함하는 제2 전송 프레임의 전송에 필요한 시간이 짧은 경우, 상기 제2 전송 프레임은 상기 현재 전송 주기 내에서 전송되고,
상기 제2 전송 프레임의 전송에 필요한 시간이 상기 잔여 전송 가능 시간보다 긴 경우, 상기 복수개의 버퍼 중 제2 버퍼 내 데이터의 크기를 기반으로 상기 제2 전송 프레임에 대한 프리엠션(preemption) 여부가 결정되는 것을 특징으로 하는 방법.In a transmission method by a gateway device,
Step of receiving an Ethernet frame;
storing the data in a corresponding buffer among a plurality of buffers based on priority information about data included in the Ethernet frame;
Controlling the transmission order of data in the plurality of buffers; and
Including outputting a first transmission frame based on the transmission order,
If the time required to transmit the second transmission frame including data stored in the first buffer among the plurality of buffers is shorter than the remaining transmission time remaining after transmitting the first transmission frame in the current transmission cycle, the second transmission frame is transmitted within the current transmission cycle,
If the time required to transmit the second transmission frame is longer than the remaining transmission time, whether to preempt the second transmission frame is determined based on the size of data in the second buffer among the plurality of buffers. A method characterized by being.
상기 컴퓨터 프로그램은, 프로세서에 의해 실행되면,
이더넷(Ethernet) 프레임을 입력받는 단계와,
상기 이더넷 프레임에 포함된 데이터에 대한 우선순위 정보를 기반으로 상기 데이터의 전송 순서를 제어하는 단계와,
상기 전송 순서를 기반으로 제1 전송 프레임을 출력하는 단계를 송신 방법을 상기 프로세서가 수행하도록 하기 위한 명령어를 포함하되,
현재 전송 주기에서 상기 제1 전송 프레임을 전송하고 남은 잔여 전송 가능 시간보다 제2 전송 프레임의 전송에 필요한 시간이 짧은 경우, 상기 제2 전송 프레임은 상기 현재 전송 주기 내에서 전송되고,
상기 제2 전송 프레임의 전송에 필요한 시간이 상기 잔여 전송 가능 시간보다 긴 경우, 상기 제2 전송 프레임 내 데이터의 우선순위를 기반으로 상기 제2 전송 프레임에 대한 프리엠션(preemption) 여부가 결정되는 것을 특징으로 하는 컴퓨터 프로그램.A computer program stored on a computer-readable recording medium,
When the computer program is executed by a processor,
A step of receiving an Ethernet frame,
controlling the transmission order of the data based on priority information about the data included in the Ethernet frame;
Includes instructions for causing the processor to perform a transmission method of outputting a first transmission frame based on the transmission order,
If the time required to transmit the second transmission frame is shorter than the remaining transmission time remaining after transmitting the first transmission frame in the current transmission cycle, the second transmission frame is transmitted within the current transmission cycle,
When the time required for transmission of the second transmission frame is longer than the remaining transmission time, whether to preempt the second transmission frame is determined based on the priority of data in the second transmission frame. A computer program characterized by
상기 컴퓨터 프로그램은, 프로세서에 의해 실행되면,
이더넷(Ethernet) 프레임을 입력받는 단계와,
상기 이더넷 프레임에 포함된 데이터에 대한 우선순위 정보를 기반으로 상기 데이터의 전송 순서를 제어하는 단계와,
상기 전송 순서를 기반으로 제1 전송 프레임을 출력하는 단계를 송신 방법을 상기 프로세서가 수행하도록 하기 위한 명령어를 포함하되,
현재 전송 주기에서 상기 제1 전송 프레임을 전송하고 남은 잔여 전송 가능 시간보다 제2 전송 프레임의 전송에 필요한 시간이 짧은 경우, 상기 제2 전송 프레임은 상기 현재 전송 주기 내에서 전송되고,
상기 제2 전송 프레임의 전송에 필요한 시간이 상기 잔여 전송 가능 시간보다 긴 경우, 상기 제2 전송 프레임 내 데이터의 우선순위를 기반으로 상기 제2 전송 프레임에 대한 프리엠션(preemption) 여부가 결정되는 것을 특징으로 하는 컴퓨터 판독 가능 기록매체.A computer-readable recording medium storing a computer program,
When the computer program is executed by a processor,
A step of receiving an Ethernet frame,
controlling the transmission order of the data based on priority information about the data included in the Ethernet frame;
Includes instructions for causing the processor to perform a transmission method of outputting a first transmission frame based on the transmission order,
If the time required to transmit the second transmission frame is shorter than the remaining transmission time remaining after transmitting the first transmission frame in the current transmission cycle, the second transmission frame is transmitted within the current transmission cycle,
When the time required for transmission of the second transmission frame is longer than the remaining transmission time, whether to preempt the second transmission frame is determined based on the priority of data in the second transmission frame. A computer-readable recording medium characterized by:
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220189536A KR20240106598A (en) | 2022-12-29 | 2022-12-29 | Apparatus and method for transmitting Ethernet frame |
US18/400,237 US20240250915A1 (en) | 2022-12-29 | 2023-12-29 | Method and apparatus for transmitting ethernet frame, and storage medium storing instructions to perform method for transmitting ethernet frame |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220189536A KR20240106598A (en) | 2022-12-29 | 2022-12-29 | Apparatus and method for transmitting Ethernet frame |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20240106598A true KR20240106598A (en) | 2024-07-08 |
Family
ID=91945289
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020220189536A Pending KR20240106598A (en) | 2022-12-29 | 2022-12-29 | Apparatus and method for transmitting Ethernet frame |
Country Status (2)
Country | Link |
---|---|
US (1) | US20240250915A1 (en) |
KR (1) | KR20240106598A (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210122289A (en) | 2019-02-13 | 2021-10-08 | 텔레폰악티에볼라겟엘엠에릭슨(펍) | Wireless time-sensitive networking |
-
2022
- 2022-12-29 KR KR1020220189536A patent/KR20240106598A/en active Pending
-
2023
- 2023-12-29 US US18/400,237 patent/US20240250915A1/en active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210122289A (en) | 2019-02-13 | 2021-10-08 | 텔레폰악티에볼라겟엘엠에릭슨(펍) | Wireless time-sensitive networking |
Also Published As
Publication number | Publication date |
---|---|
US20240250915A1 (en) | 2024-07-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10931589B2 (en) | Methods and apparatus for flow-controllable multi-staged queues | |
US12003319B2 (en) | Data transmission method and apparatus | |
US9166917B2 (en) | Link layer preemption | |
US9705827B2 (en) | Methods and apparatus for virtual channel flow control associated with a switch fabric | |
US8948204B2 (en) | Fabric channel control apparatus and method | |
EP2461529B1 (en) | Method and apparatus for flow control associated with a switch fabric | |
US8593970B2 (en) | Methods and apparatus for defining a flow control signal related to a transmit queue | |
US7876681B2 (en) | Systems and methods for controlling network-bound traffic | |
WO2018161672A1 (en) | Packet processing method, apparatus and system | |
KR20240106598A (en) | Apparatus and method for transmitting Ethernet frame | |
CN113556290B (en) | FC frame redundancy receiving method, system, equipment and medium based on frame characteristic symbol | |
US10333851B2 (en) | Systems and methods for customizing layer-2 protocol | |
Do et al. | Method and Analysis for the Improvement of Preemption Performance in IEEE 802.1 TSN | |
KR102154433B1 (en) | Communication method for reducing asymmetry of dual path of ring topology | |
US11876726B2 (en) | Disabling cut-through frame transfer based on a cycle time period and apparatus for disabling | |
EP4231610A1 (en) | An apparatus including a transceiver | |
EP2164210A1 (en) | Methods and apparatus for defining a flow control signal | |
Thiruchelvi et al. | Bandwidth-Availability-Traffic-Service: Real Time Service Orient Buffer Management for QoS Development in IP Networks | |
KR20230169371A (en) | Method implemented in packet switched networks for scheduling transmission of Ethernet frames |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20221229 |
|
PA0201 | Request for examination |
Patent event code: PA02011R01I Patent event date: 20221229 Comment text: Patent Application |
|
PG1501 | Laying open of application |