KR20230169371A - 이더넷 프레임의 송신을 스케줄링하기 위해 패킷 교환 네트워크에서 실시되는 방법 - Google Patents

이더넷 프레임의 송신을 스케줄링하기 위해 패킷 교환 네트워크에서 실시되는 방법 Download PDF

Info

Publication number
KR20230169371A
KR20230169371A KR1020237039697A KR20237039697A KR20230169371A KR 20230169371 A KR20230169371 A KR 20230169371A KR 1020237039697 A KR1020237039697 A KR 1020237039697A KR 20237039697 A KR20237039697 A KR 20237039697A KR 20230169371 A KR20230169371 A KR 20230169371A
Authority
KR
South Korea
Prior art keywords
time
transmission
frame
critical traffic
frames
Prior art date
Application number
KR1020237039697A
Other languages
English (en)
Inventor
크리스토프 만진
Original Assignee
미쓰비시덴키 가부시키가이샤
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 미쓰비시덴키 가부시키가이샤 filed Critical 미쓰비시덴키 가부시키가이샤
Publication of KR20230169371A publication Critical patent/KR20230169371A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/625Queue scheduling characterised by scheduling criteria for service slots or service orders
    • H04L47/6275Queue scheduling characterised by scheduling criteria for service slots or service orders based on priority

Abstract

본 발명은 이더넷 프레임의 송신을 스케줄링하기 위해 패킷 교환 네트워크에서 실시되는 방법에 관한 것으로, 송신할 몇개의 시간 임계 트래픽 프레임 중에서, 장래의 시간 임계 트래픽 프레임(익스프레스 프레임)의 다음의 송신 시간은 시간 임계 트래픽 프레임의 각각의 우선도 레벨에 근거하여 결정된다. 이 다음의 송신 시간의 결정은 여러 가지 스트림에 속할 수 있는 이러한 시간 임계 트래픽 프레임의 송신의 공정한 타이밍을 가능하게 한다. 전술한 다음의 송신 시간의 전에, 비 시간 임계 트래픽의 선점 가능한 프레임을 송신하는 것도 가능하게 된다.

Description

이더넷 프레임의 송신을 스케줄링하기 위해 패킷 교환 네트워크에서 실시되는 방법
본 발명은 이더넷 프레임의 통신의 관리에 관한 것이다.
패킷 교환 네트워크는, 레이턴시 및 전송 지연 변동을 겪을 가능성이 없는 제어 데이터의 전송을 가능하게 하는 계층 2 특징의 도입에 의해, 산업 제어 애플리케이션을 위해 점점 더 사용되고 있다.
예를 들면, 저 레이턴시 샘플링 데이터, (폐루프) 제어 및 화상 스트리밍(예를 들면, 프로세스 제어)은, 매우 엄격한 레이턴시 요건을 갖는다. 제어 루프의 일부로서의 화상 스트리밍 및 관련된 처리는, 수렴된 네트워크에서 제공할 수 있는 베스트 에포트 운송(best effort transport)보다 더 큰 요건을 갖는다.
동시에, 베스트 에포트 스트림은 시간 임계가 아니라, 시간 임계 스트림에 대한 간섭의 일정한 발생원을 제공한다.
특히 산업 필드버스(예를 들면, EtherCAT, Ethernet Powerlink, TCnet, PROFINET 등)의 요건에 대한 교환 이더넷의 적응을 위해, 해결 방안이 점진적으로 개발되고 있다.
이러한 해결 방안은 모두, 송신에는 제어된 스케줄링이 필요한 시간 임계 스트림에 대한 지원을 제공하는 표준 이더넷 프로토콜에 특정의 독자적인 개발을 더하는 것에 의거한다.
이러한 적응에 의해 이용되는 공통의 방식은 시간 윈도우에서의 송신 다중화의 구성에 근거하고, 각 윈도우는 특정의 스트림 타입을 위해 예약되고 있다. 시간 윈도우의 수 및 반복 주파수는 애플리케이션의 요건에 따라 결정된다.
스케줄링된 스트림을 생성하는 (산업 제어) 애플리케이션이 주기적 액티비티를 갖는 것을 고려하면, 송신 다중화는 최종적으로는 주기적인 사이클로 구성되고, 각 사이클은 스케줄링된 (저 레이턴시의) 스트림에 대해서 예약된 일련의 시간 윈도우를 포함하고, 송신 기회의 나머지는 스케줄링되지 않은 스트림에 사용된다. 송신 다중화의 주기적인 구성을 예시하는 통신 방식이 도 1에 도시된다.
그러나, 일부 환경에서는, 일부의 다른 제어 애플리케이션에는 레이턴시 또는 지터 요건이 그만큼 어렵지 않은 것도 있고, 내장된 자동차 제어 네트워크는 이러한 애플리케이션의 하나이다. 이러한 환경에서는, 선택한 트래픽 관리 방법에 의해 중요한 제어 스트림에 대한 지터의 제한, 레이턴시의 제한, 및 패킷 무손실이 보증된다면, 스케줄의 계산 및 트래픽 소스의 네트워크와의 동기에 의해 요구되는 여분의 네트워크 엔지니어링을 피할 수 있다.
네트워크 전체에 걸쳐서 예약되고 소스에 의해 네트워크와 협상되는 사전 정의된 데이터 레이트에 따른 트래픽 쉐이핑(traffic shaping)은, 이러한 성능 목표를 달성하는 것에 충분히 적응된 기술이다. 그것은 스케줄링된 스트림 사이의 송신 지연 한계 및 공정성을 보증하는 수단을 제공한다.
스케줄링된 스트림과 스케줄링되지 않은 스트림 사이의 간섭에 의한 잠재적인 레이턴시의 원인을 더 줄이기 위해, 선점(pre-emption) 메커니즘이 도입된다. 스케줄링되지 않은 프레임의 세분화(fragmentation)에 의해 보증되는 스케줄링된 프레임 송신을 예시하는 도 2에 도시되는 바와 같이, 선점은 스케줄링되지 않은 스트림의 송신 기회와 스케줄링된 스트림의 송신 기회 사이의 천이 시에 일어난다. 특히, 이러한 천이 시에는, 스케줄링된 스트림의 송신 기회의 개시가 스케줄링되지 않은 스트림의 송신 기회의 종료와 겹칠 가능성이 있다. 그러한 경우, 스케줄링된 스트림의 프레임은 스케줄링되지 않은 스트림의 프레임의 현재의 송신이 종료될 때까지 송신될 수 없다.
스케줄링되지 않은 프레임의 나머지 부분의 송신 기회를 선점하는 것에 의해, 스케줄링된 스트림이 추가 지연을 겪는 것을 피하는 것이 가능하다. 선점 동작을 촉진하기 위해서, 스케줄링되지 않은 스트림의 프레임을 세분화하여, 스케줄링된 스트림의 송신 기회가 완료할 때까지, 나머지의 프래그먼트(들)의 송신을 지연시킬 수 있다.
스케줄링된 스트림과 스케줄링되지 않은 스트림 사이의 효율적인 상호 동작을 제공하는 노력으로, 2개의 규격이 개발되었다.
ㆍ 802.1Qbv:여러 가지의 트래픽 클래스에 대한 시간 윈도우의 예약에 의거하여 스케줄링 방식을 규정한다.
ㆍ 802.3br(MAC 부분용) 및 802.1Qbu(브리지 관리 부분용):통상은, 스케줄링된 스트림에 속하는 이른바 "익스프레스" 프레임의 동시 송신 시에, 이른바 "선점 가능한" 프레임에 적용되는 세분화 메커니즘을 특정하는 선점 방식을 규정한다.
802.1Qbv는 주기적인 캘린더 테이블에 근거하고, 그 항목은 여러 가지의 트래픽 클래스의 스트림의 송신용으로 예약된 시간 윈도우의 개폐 시간을 규정한다. 스케줄링된 스트림과 스케줄링되지 않은 스트림은 이러한 트래픽 클래스에 속한다. 802.1Qbv에 의해 사용되는 캘린더 테이블의 주기성으로 인해, 이러한 규격은, 주기적인 스케줄링된 스트림을 최소의 레이턴시를 갖고 송신하기 위해 적응된 체제를 제공하고, 이와 유사한 서비스가 상기에 언급한 산업 규격에 의해 제공된다.
선점 동작에 대해서, 2개의 MAC 서비스 인터페이스, 즉, 선점 가능한 MAC(pMAC) 서비스 인터페이스와 익스프레스 MAC(eMAC) 서비스 인터페이스는, 선점 프로토콜 스택을 나타내는 도 3에 예시되는 바와 같이, 브리지의 송신 포트 또는 종단국의 송신 포트에서 1 레벨의 프레임 선점을 실시하도록 특정된다. 익스프레스 트래픽을 선점 가능한 트래픽에 의해 분산시키는 것은, 익스프레스 매체 액세스 제어(eMAC) 및 선점 가능한 MAC(pMAC)를 공통의 조정 서브레이어(RS; Reconciliation Sublayer) 서비스에 링크하는 MAC 머지 서브레이어(MAC Merge Sublayer)에 의해 실현된다.
선점 가능한 것으로 식별되는 트래픽 클래스의 경우, 송신에 선택되는 프레임은 pMAC 서비스 인스턴스를 사용하여 송신되고, 익스프레스로서 식별되는 트래픽 클래스의 경우, 송신에 선택되는 프레임은 eMAC 서비스 인스턴스를 사용하여 송신된다.
선점은 선점 가능한 프레임보다 더 높은 우선도를 갖는 익스프레스 프레임을 사용하여, 익스프레스 프레임과 선점 가능한 프레임 사이에서만 발생할 수 있다. 선점이 발생하면, 선점된 프레임의 송신은 익스프레스 프레임이 완전히 송신되었을 때에만 재개된다. 선점 가능한 프레임은 여러 번 선점될 수 있다. 익스프레스 프레임은 임의의 다른 프레임에 의해 선점될 수 없지만, 선점 가능한 프레임은 임의의 익스프레스 프레임에 의해 선점될 수 있다.
MAC 머지 서브레이어는, 익스프레스 프레임이 송신되지 않을 때에 선점 프로세스를 강제하는 하나의 커맨드인 MM_CTL.request primitive를 제공하고, 이것은 선점 가능한 트래픽의 송신을 유지 또는 해제하는 MAC 클라이언트로부터 MAC 머지 서브레이어로의 요구를 규정한다. "유지(hold)" 커맨드를 설정하는 것은, 조건이 선점을 허가했을 때 선점을 초래하고, 커맨드가 "해제(release)"로 설정될 때까지 pMAC 프레임의 송신의 개시를 방지한다. 후자의 경우, eMAC가 송신할 패킷을 갖지 않을 때에, MAC 머지 서브레이어는 pMAC로부터 패킷을 송신한다.
선점되면, 프레임은 프래그먼트로 분할되고 MAC 머지 서브레이어에 의해 재포맷되어, 완전한 프레임으로서 이더넷의 물리층에 보내진다. 이러한 완전한 프레임은 분할된 페이로드를 송신하고, 선점된 프레임의 최초, 중간, 및 마지막 프래그먼트를 특정할 수 있도록 다양한 포맷을 갖는다. 프레임 선점을 지원하는 포트는,
ㆍ 익스프레스 프레임에 대한 SMD-E,
ㆍ 선점 가능한 프레임의 개시 프래그먼트에 대한 SMD-Sx, 또는
ㆍ 선점 가능한 프레임의 계속 프래그먼트에 대한 SMD-Cx
중 어느 것에 의해 치환되는 개시 프레임 딜리미터(SFD; Start Frame Delimiter) 바이트에 의해 프레임을 송신한다.
도 4에, 대응하는 프레임 및 프래그먼트의 포맷을 예시한다.
계속 프래그먼트는 1바이트 더 짧은 프리앰블을 갖고 프래그먼트 카운터인 FCnt 바이트에 장소를 부여한다. 중간 및 마지막 프래그먼트는 부분적인 4바이트 CRC 체크섬(mCRC)으로 종료한다. 마지막 프래그먼트는 익스프레스 프레임의 경우와 같이 전체 프레임의 FCS에 의해 종료한다.
최소의 최종이 아닌 프래그먼트의 사이즈(FCS를 제외함)는 구성에 의해 고정될 수 있고, 64바이트의 이더넷 최소 프레임 사이즈 요건과의 호환성을 유지한다. 그것은 값 64×(1+n)-4(0≤n≤3)를 취할 수 있다. 세분화에 의해 최소의 최종이 아닌 프래그먼트의 사이즈보다 작은 프래그먼트가 생성되는 경우에는, 세분화는 수행될 수 없다. 이 결과, 64×2×(1+n)-4바이트보다 더 짧은 프레임은 세분화될 수 없다.
선점을 지원하지 않는 교환에서는, 우선도가 높은 프레임은 100Mbps 포트에서 최대 123.36μs, 즉, 100Mbps에서의 최대 사이즈의 프레임의 지속 시간만큼 지연될 수 있다. 프레임 선점이 실시되면, 선점 가능한 프레임 간섭에 기인하는 최대의 익스프레스 프레임 레이턴시가 10.16μs로 저감된다.
이 나머지 지연은, 익스프레스 스트림 타이밍의 요건에 따라, 성능에 대한 악영향을 잠재적으로 가질 가능성이 있다.
우선도가 낮은 프레임에 의한 우선도가 높은 프레임에 대한 송신 간섭의 영향을 완화하기 위해서, 우선도가 높은 프레임의 송신이 개시하기 전에 이른바 가드 밴드가 제공될 수 있다.
선점이 실시되면, 최소의 최종이 아닌 프래그먼트의 사이즈가 60바이트일 때, 이러한 가드 밴드의 지속 시간을, 세분화 불가능한 프레임 또는 프래그먼트의 최대 사이즈, 예를 들면, 123바이트에 대응하는 최소값까지 저감할 수 있다. 이 경우, 선점 제어 커맨드는, 익스프레스 프레임 송신이 스케줄링되기 전에, 그 가드 밴드에 대응하는 시간을 "유지"하도록 설정해야 한다.
도 5에, HOLD 커맨드를 사용한 선점 제어에 의한 이러한 가드 밴드 제공을 예시하는데, 선점 가능한 프레임이 2개의 프래그먼트로 분할되는 한편, 익스프레스 프레임의 송신은 정시(on-time)에 스케줄링된다.
IEEE TSN 규격의 체제에서는, 선점과 가드 밴드의 제공의 이 조합은, 익스프레스 트래픽 송신이 이러한 트래픽의 송신에 대해서 예약되는 시간 윈도우를 명시적으로 규정하는 802.1Qbv 규격에 따라 취급되는 경우에만 사용된다. 가드 밴드는 개개의 프레임의 송신 전에 삽입될 수 없다.
우선도가 높은 프레임의 정시 송신을 보증하는 가드 밴드의 실시형태를 가능하게 하는 유일한 IEEE TSN 규격은 802.1Qbv인데, 그 이유는, 그 송신 선택 메커니즘이 기초를 두는 시간 윈도우가 가드 밴드의 시간내(in-time) 삽입을 가능하게 하는 시간 기준에 따라 규정되기 때문이다. 그러한 구성에서는, 가드 밴드는, 공통 클럭에 동기되어 사이클이 공통의 기본 사이클의 배수인 주기적인 트래픽을 보호하기 위해서만 제공될 수 있다.
그러나, 엄격한 지연 제약은 있지만 개개의 독립적인 사이클을 수반하는 통신, 또는 보다 일반적으로는, 공통의 사이클과 동기하지 않는 여러 가지의 트래픽 형상을 갖는 통신을 혼합할 필요가 있는 경우에는, IEEE 규격 묶음은 아무런 해결책도 제공하지 않는다.
따라서, 패킷 교환 네트워크에서 이더넷 프레임의 송신을 스케줄링하는 상황에서, 시간 임계 트래픽 프레임의 공정한 다음의 송신 시간을, 특히, 여러 가지의 시간 임계 트래픽 스트림의 우선도 레벨을 고려하여, 해결해야 할 일반적 문제로서 결정하는 것이 요구되고, 선택적으로, 가능한 비 시간 임계 트래픽 프레임을 송신해야 할 실시예에서, 비 시간 임계 트래픽 프레임(또는 적어도 프레임 프래그먼트)의 이러한 송신이 가능한지 여부를, 시간 임계 트래픽 프레임의 다음 송신 시간을 고려하여 판정하는 것이 요구된다.
본 발명은 이러한 상황을 개선하는 것을 목적으로 한다. 이를 위해,
a) 송신할 이더넷 프레임 중에서, 시간 임계 트래픽 프레임(time-critical traffic frames)과, 상기 시간 임계 트래픽 프레임의 각각의 우선도 레벨을 특정하는 것과,
b) 각각의 시간 임계 트래픽 프레임의 송신 시간(첨부 도면에서 TCiNextTx로 표기됨)의 데이터와, 각각의 시간 임계 트래픽 프레임의 송신 지속 시간(FrameDur(i)로 표기됨)의 데이터를 획득하는 것과,
c) 각각의 시간 임계 트래픽 프레임의 송신 시간을 비교하여, 오름차순에 의한 상기 송신 시간의 리스트를 결정하는 것과,
d) 리스트의 최상부에서의 제1 송신 시간을 갖는 제1 프레임에 대해서, 상기 제1 프레임의 상기 제1 송신 시간과 송신 지속 시간의 가산 결과를 결정하는 것과,
e) 상기 리스트에서의 적어도 하나의 제2 송신 시간이 상기 가산 결과보다 작은지 여부를 판정하여,
작지 않은 경우는, 시간 임계 트래픽 프레임의 다음 송신 시간이 제1 송신 시간으로서 결정되고,
작은 경우에는, 리스트에서의 상기 제2 송신 시간을 갖는 제2 프레임의 우선도가 제1 프레임의 우선도보다 높은지 여부를 판정하고,
높지 않은 경우는, 시간 임계 트래픽 프레임의 다음 송신 시간이 제1 송신 시간으로서 결정되고,
높은 경우에는, 제1 송신 시간을 리스트로부터 삭제하고, 리스트에서의 제1 송신 시간에 이어지는 새로운 송신 시간을 이용하여 d) 및 e)를 반복하는 것 - 상기 새로운 송신 시간은 d) 및 e)의 반복의 실시에 대한 제1 송신 시간으로 됨 - 과,
 f) 리스트의 제1 송신 시간인 채로 송신 시간을 갖는 시간 임계 트래픽 프레임의 다음 송신 시간을 스케줄링하는 것
을 포함하는 방법이 제안된다.
일 실시예에서, 각각의 시간 임계 트래픽 프레임의 상기의 송신 지속 시간 데이터는 상기 시간 임계 트래픽 프레임의 데이터 구조 내에 제공되는 프레임 기술자 필드로부터 획득된다.
실제로는, 프레임의 길이는 그 필드로부터 공지이고, 따라서, 그 송신 지속 시간은 그 길이 및 링크 속도(통상, 송신기 디바이스의 임의의 출구 포트에 대해 공지임)에 따라 결정될 수 있다.
일 실시예에서, 각각의 시간 임계 트래픽 프레임의 상기 우선도 레벨은 상기 시간 임계 트래픽 프레임이 속하는 트래픽 클래스(TCiNextTx로 나타낸 것 중 "TCi")에 따라 규정된다.
예를 들면, 클래스 TCi를 규정하는 스트림 문맥(context)은, 통상 이더넷 프레임의 VLAN 태그에서의 우선도 코드 포인트로부터 얻을 수 있다. 이 트래픽 클래스 파라미터 TCi는, 그 클래스 파라미터 TCi에 관한 프레임이 송신되어야 할 "계약 상의" 시간을 규정한다. 그 트래픽 클래스 TCi의 이러한 프레임의 다음 송신 시간은 이후 및 첨부 도면에서 TCiNextTx로 표기된다.
예를 들면, 일부 실시예에서, 연속적인 시간 임계 트래픽 프레임은 동일한 시간 주기에 의해 분리된 각각의 연속적인 송신 시간에서 송신되어야 한다(주기적인 캘린더 테이블에 근거하는 규격 802.1Qbv에 관해 전술한 바와 같음). 그러나, 다른 시간 임계 트래픽 프레임(예를 들면, 일부 시그널링 프레임)은 주기적으로 스케줄링되지 않은 스트림에 관련될 수 있으므로, 반드시 사이클에 관련되지 않는 특정 시간에 송신되어야 한다.
따라서, 프레임이 속하는 트래픽 클래스 TCi, TCj 등에 근거하여 그러한 각각의 우선도 레벨을 결정하고, 또, 전술한 방법에 의해, 시간 임계 트래픽 프레임을 송신하는 가장 공정한 다음의 송신 시간을 결정하는 것이 중요하다.
일 실시예에서, 시간 임계 트래픽 프레임은, 그러한 시간 임계 트래픽 프레임의 송신 전에, 각각, 시간 임계 트래픽 프레임이 속하는 트래픽 클래스에 따라 FIFO 큐에 적층될 수 있고, 각 큐는 하나의 트래픽 클래스에 대응한다.
이하에서 더 설명하는 도 6에 도시되는 바와 같이, 다수의 FIFO 큐를 하나의 동일한 트래픽 클래스에 더 할당할 수 있다.
일 실시예에서, 시간 임계 트래픽 프레임의 송신 시간(TCiNextTx)은 패킷 교환 네트워크의 공통 클럭에 의해 주어지는 현재 시각에 대해서 상대적으로 규정될 수 있다.
실제로는, 트래픽 클래스 기간은 공지이고 공통의 네트워크 시간이 공지이기 때문에, 시간 임계 트래픽 프레임의 각각의 송신 시간을 최종적으로 결정할 수 있다.
시간 임계 트래픽 프레임이, 송신되어야 할 시간 임계 트래픽 프레임이 없을 때는 언제라도 송신될 선점 가능한 트래픽 프레임으로서 특정되는 비 시간 임계 트래픽 프레임과 구별되어야 하는 일 실시예에서, f)에서 결정된 시간 임계 트래픽 프레임의 상기 다음의 송신 시간은, 현재 시각에 대해서 상대적으로, 비 시간 임계 트래픽 프레임의 적어도 하나의 최소 사이즈의 프래그먼트가 송신될 수 있는지 여부를 규정한다.
본 실시예에서, f)까지의 방법의 실시를, 시간 임계 트래픽 프레임이 송신될 때에 시작하여, 새로운 시간 임계 트래픽 프레임의 다음 송신 시간을 규정한다.
본 실시예는, 시간 임계 트래픽 프레임의 다음 송신 시간까지의 나머지의 시간에 따라, 비 시간 임계 트래픽 프레임의 적어도 프래그먼트를 송신할 수 있는지 여부를 충분히 빨리 판정하는 것을 가능하게 한다.
비 시간 임계 트래픽 프레임의 상기의 하나의 최소 사이즈의 프래그먼트는 가드 밴드 간격(도 5를 참조하여 상기에 설명함)의 지속 시간에 대응하여,
- f)에서의 다음의 송신 시간이 상기 가드 밴드 간격의 개시 후에 일어나는 것으로 결정되면, 비 시간 임계 트래픽의 임의의 송신이 연기되고,
- 그렇지 않으면, 비 시간 임계 트래픽 프레임의 적어도 하나의 프래그먼트가 송신된다.
본 실시예에서, 가드 밴드 간격의 적절한 지속 시간을 결정하기 위해, 예를 들면, 커맨드 레이턴시에 기인하는 오프셋이 비 시간 임계 트래픽 프레임의 하나의 최소 사이즈의 프래그먼트의 송신 지속 시간에 부가될 수 있다.
이러한 실시예에서, 시간 임계 트래픽 프레임의 상기 다음의 송신 시간이 발생할 때 비 시간 임계 트래픽 프레임의 어떠한 송신도 방지하도록, 송신 커맨드는 상기 가드 밴드 간격(도 5에 나타냄)의 개시 전에 "유지" 상태로 설정되는 것을 규정할 수 있다.
여기서, "가드 밴드 간격의 개시 전"이라는 표현은 가드 밴드 간격의 개시 "직전" 또는 가드 밴드 간격의 개시 시를 의미한다.
또, 이 송신 커맨드는 상기 시간 임계 트래픽 프레임의 송신의 개시 (직) 후(또는 개시 시)에 "해제" 상태로 설정될 수 있다.
본 발명은 또한, 프로그램이 처리 회로에 의해 실행될 때에, 처리 회로가 상기 방법을 수행하게 하는 명령을 포함하는 컴퓨터 프로그램을 목적으로 한다. 본 발명은 또한, 처리 회로에 의해 실행될 때에, 처리 회로가 상기 방법을 수행하게 하는 명령을 포함하는 컴퓨터 판독 가능한 기록 매체를 목적으로 한다.
본 발명은 또한,
- 상기 방법을 실시하도록 구성된 처리 회로와,
- 패킷 교환 네트워크에 접속되고, 이더넷 프레임의 송신이 처리 회로에 의해 스케줄링되는 경우 상기 이더넷 프레임을 송신하도록 처리 회로에 의해 조종되도록 구성된 통신 인터페이스
를 구비하는 장치를 목적으로 한다.
본 발명의 더 상세한 것 및 이점은 상세한 가능하고 선택적인 실시예로부터 및 첨부의 도면으로부터도 분명해질 것이다.
도 1은 송신 다중화의 주기적인 구성을 예시한다.
도 2는 스케줄링되지 않은 프레임의 세분화에 의해 보증된 스케줄링된 프레임 송신을 예시한다.
도 3은 선점 프로토콜 스택의 예를 예시한다.
도 4는 프레임 및 프래그먼트의 포맷을 나타낸다.
도 5는 HOLD 커맨드에 의한 선점 제어에 의해 제공되는 가드 밴드를 예시한다.
도 6은 다음의 시간 임계 송신 시간을 결정하기 위한 상황, 특히 그 목적을 위한 입력의 예를 예시한다.
도 7은 시간 임계 트래픽 프레임의 다음 송신 시간의 결정을 고려하여, 전술한 방법의 일부 스텝을 나타내는 흐름도이다.
도 8은 본 방법을 수행하기 위한 디바이스의 예를 나타낸다.
이후에 제시되는 실시예에서, 다른 경우라면 개개의 프레임 또는 프레임의 버스트의 송신 선택에 대해서 실시되는 MAC 머지 서브레이어 선점 제어 커맨드의 관리를, 일반적인 스케줄링 방식에 통합하는 것이 제안된다.
제안되는 메커니즘은 각 트래픽의 우선도 레벨과 프레임/버스트 스케줄링 방식에 공통인 시간 기준으로의 동기에 근거한다.
이후, "시간 임계 트래픽(time-critical traffics)"은 엄격한 송신 지연 및 지터 제약을 갖는 트래픽이다. 그러한 프레임의 송신 시간은, 애플리케이션의 모든 참가자 사이의 조밀한 동기를 보증하기 위해 네트워크의 모든 노드(종단국 및 브리지) 사이에서 공유되는 공통의 시간 기준을 기준으로 한다. 시간 임계 트래픽의 지연 및 지터 요건을 강제하기 위해서 비 시간 임계 트래픽과의 송신 간섭을 피해야 한다.
따라서, 시간 임계 트래픽은 우선도 레벨에 의해 익스프레스 트래픽으로 간주되는 트래픽 클래스에 속한다.
시간 임계 트래픽에 관련된 다수의 트래픽 클래스가 존재하는 경우, 어느 우선도 레벨의 트래픽 클래스의 프레임의 송신이, 더 높은 우선도 레벨의 트래픽 클래스의 임의의 프레임의 송신과 간섭할 수 없다.
따라서, 시간 임계 트래픽 프레임이 익스프레스 프레임으로서 취급된다.
시간 임계 트래픽의 각 프레임은 네트워크 시간과 동일한 시간 기준으로 표현되는 송신 시간과 관련된다. 그리고, 시간 임계 트래픽의 프레임은 그 송신 시간이 만료했을 때에 송신된다고 여겨진다.
이후, "비 시간 임계 트래픽"은, 반대로, 우선도 레벨에 의해 선점 가능한 트래픽으로 간주되는 트래픽 클래스에 속하고, 그러한 프레임의 송신 시간은 반드시 공통의 네트워크 시간에 관련되지는 않는다. 그것들은 여기서 상술할 필요는 없는 송신 선택 메커니즘에 따라 시간 임계 트래픽의 송신이 없을 때 언제라도 송신된다.
또, 유지 커맨드 스케줄링이 수행되고, 그 목표는, 시간 임계 프레임의 송신 전에 충분한 송신 가드 밴드가 제공되는 것이 보증되는 시간에, MAC 머지 제어(MM_CTL.request primitive) 커맨드를 HOLD 상태로 설정하는 것이다.
이 이른바 "유지 커맨드"의 설정 시간은 네트워크 시간을 기준으로 하고, 다음의 시간 임계 프레임의 송신 시간에 근거하여 고정된다.
이 다음의 시간 임계 프레임의 송신 시간의 결정에 대해 이하에 나타낸다.
제1 스케줄링 단계에서는, 다음의 시간 임계 프레임의 송신 시간이 각 트래픽 클래스 TCiNextTx에 대해서 결정되고, 여기서, i는 트래픽 클래스의 식별자이다. 이 파라미터 표현 TCiNextTx에서는, 인덱스 i가 트래픽 클래스의 우선도 레벨 p(i)도 결정한다.
각 프레임의 송신 지속 시간은 프레임에 관련된 데이터 구조(프레임 기술자)에서 입수 가능하다. 송신에 대한 트래픽 클래스 TCi 후보(즉, 송신 시간이 TCiNextTx인)의 프레임의 프레임 지속 시간은 FrameDur(i)로 표기된다.
프레임은 그 송신 전에 큐 내에 기억된다. 이러한 큐가 편성되는 방법에 대해 여기서 상술할 필요는 없다.
TCiNextTx는,
ㆍ TCi의 프레임이 송신될(즉, MAC 서비스 계층에 전달될) 때마다, 또는
ㆍ TCi의 프레임이 상위 계층으로부터 수신될 때마다, 평가된다.
TCiNextTx 자체의 평가에 대해 여기서 상술할 필요는 없다.
송신에 이용할 수 있는 트래픽 클래스 i의 프레임이 없는 경우, 즉, 트래픽 클래스 i의 프레임을 기억하는 모든 큐가 비어 있는 경우, TCiNextTx에 "널(null)"값이 할당된다.
도 6에 도시되는 바와 같이, "널"이 아닌 값을 갖는 임의의 우선도 레벨의 모든 시간 임계 TC의 TCiNextTx가 서로 비교되고, 그러한 값의 오름차순으로 순서화된 리스트 내에 들어갈 수 있고, 즉, 이 리스트 내의 각 요소는 인덱스 o에 의해, TciNextTx[o]≤TcjNextTx[o+1]로 되도록 인덱스가 붙여진다.
이 리스트 내의 각 요소에 대해서, 트래픽 클래스에 대한 송신의 프레임 후보의 송신 지속 시간을 관련시킬, 즉, FrameDur(i)를 TCiNextTx에 관련시킬 수 있다.
그 후, 다음의 시간 임계 프레임의 송신 시간의 결정이 도 7에도 예시되는 이하의 알고리즘을 수행하는 것에 의해 얻어진다.
즉, 순서화된 리스트에서의 최초(즉 최소의) TCxNextTx로부터 시작해서, 트래픽 클래스 x의 송신에 대한 프레임 후보의 송신 시간의 마지막(즉, TCxNextTx 및 FrameDur(x)의 합계) TcxNextTxEnd가 계산된다. TCyNextTx가 TCxNextTxEnd 이하이며, 그 우선도 레벨 p(y)가 p(x)보다 더 높은 트래픽 클래스인 경우, 트래픽 클래스 TCx의 송신에 대한 프레임 후보의 송신은 더 높은 우선도 레벨의 트래픽 클래스에 속한 프레임의 송신과 간섭할 것이다.
그 경우는, 다음의 시간 임계 프레임의 송신 시간이 순서화된 리스트에서의 다음의 요소에 의해 반복된다. 그렇지 않으면, TCxNextTx가 다음의 시간 임계 프레임의 송신 시간으로서 선택된다. 순서화된 리스트의 마지막 요소에 이를 때까지 이 선택 프로세스가 반복된다.
여기서, MAC 머지 서브레이어 제어 동작에 관해서, 파라미터 HOLDTime은, 만료했을 때(즉, 현재 시각이 HOLDTime 이상일 때), MM_CTL.request primitive의 HOLD로의 설정을 일으키는 날짜이다.
HOLDTime은 감산 TCxNextTx-HOLDOffset의 결과로서 계산되고,
ㆍ TCxNextTx는, 송신되어야 할 다음의 시간 임계 프레임으로서 선택된 프레임의 송신 시간이며, 상기와 같이 결정되고,
ㆍ HOLDOffset는, 세분화 불가능한 선점 가능 프레임 또는 적어도 세분화 불가능한 마지막 프래그먼트의 송신을 완료할 수 있도록 MM_CTL.request primitive가 충분히 긴 HOLD에 미리 설정되도록 선택되는 지속 시간이다.
그렇게 하는 것에 의해, 익스프레스 프레임의 송신 전에 예약된 송신 가드 밴드가 실시된다. HOLDOffset는, 세분화 불가능한 프레임 또는 마지막 프래그먼트의 구성 가능한 길이와 송신 링크의 비트레이트로부터 계산된다.
또, 익스프레스 프레임의 송신의 개시 시에 MM_CTL.request primitive가 RELEASE로 설정된다.
도 8에 도시되는 바와 같이, 종단국(end station) 등의 디바이스 DEV는 상술한 방법을 행하기 위해, 프로세서 PROC와 본 발명에 의한 컴퓨터 프로그램의 명령 데이터를 적어도 기억하는 메모리 MEM를 포함하는 처리 회로 CIR를 포함할 수 있다. 메모리 MEM는 들어오는 프레임을 일시적으로 기억하는 FIFO 큐로서 배치된 메모리 유닛을 더 포함할 수 있다. 프로세서 PROC는 메모리 MEM에 액세스하여 메모리 내에 기억된 명령을 판독하고 실행할 수 있다. 또, 종단국 DEV는, 적어도, 출구 포트 EGP를 갖는 통신 인터페이스 COM와, 인터페이스 COM이 접속되는 네트워크 NTW의 클럭과 동기하여 프로세서 PROC를 동작할 수 있도록 하는 클럭 CLK를 더 포함한다. 클럭 CLK는 일반적으로 상술한 시각 동기 프로토콜의 사용을 보증하도록 할 수 있다.
따라서, 본 발명은 산업 자동화 네트워크에서 접할 수 있는 시간 임계 트래픽과 비 시간 임계 트래픽의 조합을 지원하는 패킷 교환 네트워크에서 사용될 수 있다.
본 발명은 산업 자동화 종단국(디바이스)에서의 이더넷 TSN 네트워크 인터페이스의 설계, 및 네트워크의 송신 리소스의 사용을 최적화한다.
통상은, 본 발명은 시간 임계 트래픽과 비 시간 임계 트래픽의 조합이 지원되는 산업 네트워크, 자동차 네트워크, 및 항공 우주 네트워크 등의 내장된 제어 네트워크에서 적용될 수 있다.

Claims (14)

  1. 이더넷 프레임의 송신을 스케줄링하기 위해 패킷 교환 네트워크에서 실시되는 방법으로서,
    a) 송신할 상기 이더넷 프레임 중에서, 시간 임계 트래픽 프레임(time-critical traffic frames)과, 상기 시간 임계 트래픽 프레임의 각각의 우선도 레벨(p(x), p(y))을 특정하는 단계와,
    b) 각각의 시간 임계 트래픽 프레임의 송신 시간(TCiNextTx)의 데이터와, 각각의 시간 임계 트래픽 프레임의 송신 지속 시간(FrameDur(i))의 데이터를 획득하는 단계와,
    c) 상기 각각의 시간 임계 트래픽 프레임의 상기 송신 시간을 비교하여, 오름차순에 의한 상기 송신 시간의 리스트를 결정하는 단계와,
    d) 상기 리스트의 최상부에서의 제1 송신 시간을 갖는 제1 프레임에 대해서, 상기 제1 프레임의 상기 제1 송신 시간과 송신 지속 시간의 가산 결과를 결정하는 단계와,
    e) 상기 리스트에서의 적어도 하나의 제2 송신 시간이 상기 가산 결과보다 작은지 여부를 판정하여,
    작지 않은 경우는, 시간 임계 트래픽 프레임의 다음 송신 시간이 상기 제1 송신 시간으로서 결정되고,
    작은 경우에는, 상기 리스트에서의 상기 제2 송신 시간을 갖는 제2 프레임의 우선도가 상기 제1 프레임의 우선도보다 높은지 여부를 판정하고,
    높지 않은 경우에는, 시간 임계 트래픽 프레임의 다음 송신 시간이 상기 제1 송신 시간으로서 결정되고,
    높은 경우에는, 상기 제1 송신 시간을 상기 리스트로부터 삭제하고, 상기 리스트에서의 상기 제1 송신 시간에 이어지는 새로운 송신 시간을 이용하여 d) 및 e)를 반복하는 단계 - 상기 새로운 송신 시간은 d) 및 e)의 상기 반복의 실시에 대한 상기 제1 송신 시간으로 됨 - 와,
    f) 상기 리스트의 상기 제1 송신 시간인 채로 송신 시간을 갖는 상기 시간 임계 트래픽 프레임의 상기 다음의 송신 시간을 스케줄링하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서,
    각각의 시간 임계 트래픽 프레임의 상기 송신 지속 시간 데이터는 상기 시간 임계 트래픽 프레임의 데이터 구조 내에 제공된 프레임 기술자 필드로부터 획득되는 방법.
  3. 제1항 또는 제2항에 있어서,
    각각의 시간 임계 트래픽 프레임의 상기 우선도 레벨은 상기 시간 임계 트래픽 프레임이 속하는 트래픽 클래스에 따라 규정되는 방법.
  4. 제3항에 있어서,
    상기 시간 임계 트래픽 프레임은, 상기 시간 임계 트래픽 프레임의 송신 전에, 상기 시간 임계 트래픽 프레임이 속하는 상기 트래픽 클래스에 따라 FIFO 큐에 적층되고, 각 큐는 하나의 트래픽 클래스에 대응하는 방법.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서,
    상기 시간 임계 트래픽 프레임의 상기 송신 시간(TCiNextTx)은 상기 패킷 교환 네트워크의 공통 클럭에 의해 주어지는 현재 시각에 대해 상대적으로 규정되는 방법.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서,
    상기 시간 임계 트래픽 프레임은 비 시간 임계 트래픽 프레임(non-time-critical traffic frames)과 구별되고, 상기 비 시간 임계 트래픽 프레임은, 송신되어야 할 시간 임계 트래픽 프레임이 없을 때는 언제라도 송신되는 선점 가능한(preemptable) 트래픽 프레임으로서 특정되고, f)에서 결정한 시간 임계 트래픽 프레임의 상기 다음의 송신 시간은, 현재 시각에 대해서 상대적으로, 비 시간 임계 트래픽 프레임의 적어도 하나의 최소 사이즈의 프래그먼트가 송신될 수 있는지 여부를 규정하는 방법.
  7. 제6항에 있어서,
    f)까지의 상기 방법의 실시는, 적어도, 시간 임계 트래픽 프레임이 송신될 때에 시작되어, 새로운 시간 임계 트래픽 프레임의 상기 다음의 송신 시간을 규정하는 방법.
  8. 제6항 또는 제7항에 있어서,
    비 시간 임계 트래픽 프레임의 상기 하나의 최소 사이즈의 프래그먼트는 가드 밴드 간격의 지속 시간에 대응하고,
    - f)에서의 상기 다음의 송신 시간이 상기 가드 밴드 간격의 개시 후에 일어나는 것으로 결정되면, 비 시간 임계 트래픽의 임의의 송신이 연기되고,
    - 그렇지 않으면, 비 시간 임계 트래픽 프레임의 적어도 하나의 프래그먼트가 송신되는
    방법.
  9. 제8항에 있어서,
    상기 가드 밴드 간격의 상기 지속 시간을 결정하기 위해, 커맨드 레이턴시에 기인하는 오프셋이 비 시간 임계 트래픽 프레임의 하나의 최소 사이즈의 프래그먼트의 송신 지속 시간에 더해지는 방법.
  10. 제8항 또는 제9항에 있어서,
    시간 임계 트래픽 프레임의 상기 다음의 송신 시간이 발생할 때에 비 시간 임계 트래픽 프레임의 어떠한 송신도 방지하도록, 송신 커맨드는 상기 가드 밴드 간격의 상기 개시 전에 "유지" 상태로 설정되는 방법.
  11. 제10항에 있어서,
    상기 송신 커맨드는 상기 시간 임계 트래픽 프레임의 송신의 개시 후에 "해제" 상태로 설정되는 방법.
  12. 명령을 포함하는 컴퓨터 프로그램으로서,
    상기 명령은, 상기 프로그램이 처리 회로에 의해 실행될 때에, 상기 처리 회로가 청구항 1 내지 11 중 어느 한 항에 기재된 방법을 수행하게 하는 컴퓨터 프로그램.
  13. 명령을 포함하는 컴퓨터 판독 가능한 기록 매체로서,
    상기 명령은, 처리 회로에 의해 실행될 때에, 상기 처리 회로가 청구항 1 내지 11 중 어느 한 항에 기재된 방법을 수행하게 하는 컴퓨터 판독 가능한 기록 매체.
  14. 장치로서,
    - 청구항 1 내지 11 중 어느 한 항에 기재된 방법을 실시하도록 구성된 처리 회로(PROC, MEM)와,
    - 상기 패킷 교환 네트워크에 접속되고, 이더넷 프레임의 송신이 상기 처리 회로에 의해 스케줄링되는 경우 이더넷 프레임을 송신하도록 상기 처리 회로에 의해 조종되도록 구성된 통신 인터페이스(COM, EGP)
    를 구비하는 장치.
KR1020237039697A 2021-05-31 2021-12-08 이더넷 프레임의 송신을 스케줄링하기 위해 패킷 교환 네트워크에서 실시되는 방법 KR20230169371A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP21305724.3A EP4099650A1 (en) 2021-05-31 2021-05-31 Ethernet frame pre-emption control
EP21305724.3 2021-05-31
PCT/JP2021/046163 WO2022254759A1 (en) 2021-05-31 2021-12-08 Method implemented in packet-switched network for scheduling transmission of ethernet frame

Publications (1)

Publication Number Publication Date
KR20230169371A true KR20230169371A (ko) 2023-12-15

Family

ID=76355425

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020237039697A KR20230169371A (ko) 2021-05-31 2021-12-08 이더넷 프레임의 송신을 스케줄링하기 위해 패킷 교환 네트워크에서 실시되는 방법

Country Status (5)

Country Link
EP (1) EP4099650A1 (ko)
JP (1) JP2024504520A (ko)
KR (1) KR20230169371A (ko)
CN (1) CN117356080A (ko)
WO (1) WO2022254759A1 (ko)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11072356B2 (en) * 2016-06-30 2021-07-27 Transportation Ip Holdings, Llc Vehicle control system

Also Published As

Publication number Publication date
CN117356080A (zh) 2024-01-05
JP2024504520A (ja) 2024-01-31
WO2022254759A1 (en) 2022-12-08
EP4099650A1 (en) 2022-12-07

Similar Documents

Publication Publication Date Title
TWI601395B (zh) 對網路中之資料框進行流量整形的方法及用於該方法之裝置及電腦程式產品
TWI665896B (zh) 用以傳輸通訊訊號訊框之方法、實體及程式
CN113163450B (zh) 门控制列表生成方法、网络设备及计算机可读存储介质
JP6576571B2 (ja) スポラディックネットワークトラフィックの超低送信レイテンシー
EP2048831A1 (en) Method and systems for QoS-aware flow control in communication networks, corresponding network and computer program product
TWI756666B (zh) 在封包交換網路中藉由通訊實體之電腦手段實施之方法、及其電腦程式及電腦可讀取之非暫時性記錄媒體、以及封包交換網路之通訊實體
KR20230169371A (ko) 이더넷 프레임의 송신을 스케줄링하기 위해 패킷 교환 네트워크에서 실시되는 방법
EP4099649A1 (en) Integrated scheduler for iec/ieee 60802 end-stations
CN117675606A (zh) 一种基于数字化仿真的时间敏感网络资源调度算法组合方法
JP2002325092A (ja) 通信装置とその優先制御方法、及び優先制御プログラム