KR20210137204A - 패킷 교환 네트워크에서 통신 엔티티의 컴퓨터 수단에 의해 시행되는 방법, 컴퓨터 프로그램, 컴퓨터 판독 가능한 비일시적 기록 매체 및 패킷 교환 네트워크의 통신 엔티티 - Google Patents

패킷 교환 네트워크에서 통신 엔티티의 컴퓨터 수단에 의해 시행되는 방법, 컴퓨터 프로그램, 컴퓨터 판독 가능한 비일시적 기록 매체 및 패킷 교환 네트워크의 통신 엔티티 Download PDF

Info

Publication number
KR20210137204A
KR20210137204A KR1020217033510A KR20217033510A KR20210137204A KR 20210137204 A KR20210137204 A KR 20210137204A KR 1020217033510 A KR1020217033510 A KR 1020217033510A KR 20217033510 A KR20217033510 A KR 20217033510A KR 20210137204 A KR20210137204 A KR 20210137204A
Authority
KR
South Korea
Prior art keywords
frame
burst
transmission
queue
communication entity
Prior art date
Application number
KR1020217033510A
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 KR20210137204A publication Critical patent/KR20210137204A/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/22Traffic shaping
    • H04L47/225Determination of shaping rate, e.g. using a moving window
    • 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/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/245Traffic characterised by specific attributes, e.g. priority or QoS using preemption
    • 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/31Flow control; Congestion control by tagging of packets, e.g. using discard eligibility [DE] bits
    • 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/6215Individual queue per QOS, rate or priority
    • 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

Landscapes

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

Abstract

본 발명은 패킷 교환 네트워크에서의 통신 엔티티에 의한 통신 신호 프레임의 송신에 관한 것으로, 통신 엔티티는 통신 신호 프레임을 송신하는 출구 포트를 구비한다. 프레임은, 익스프레스 트래픽으로서 트래픽 형상이 정의되는 복수의 버스트에서 송신되는 것이 의도되는 제 1 타입 프레임과, 산발적인 트래픽으로서, 트래픽 형상이 정의되지 않는 제 2 타입의 프레임을 포함한다. 통신 엔티티는, 상기 복수의 버스트에 각각 관련된, 제 1 타입의 프레임의 복수의 제 1 큐와, 제 2 타입의 프레임을 위한 적어도 1개의 제 2 큐를 기억하도록 구성된다.
버스트는 각 버스트에 선행하는 시그널링 프레임과 함께 각각의 제 1 큐에 저장되고, 이 시그널링 프레임은 상기 버스트의 생성의 타임스탬프를 포함한다. 그 후, 상기 제 1 큐에 저장된 버스트 중에서 송신할 제 1 버스트를 선택하기 위해, 통신 엔티티는,
각 제 1 큐의 헤드에 위치하는 각 시그널링 프레임의 타임스탬프를 판독하고,
모든 시그널링 프레임 중에서 가장 오래된 타임스탬프를 갖는 시그널링 프레임을 결정하고,
그와 같이 결정된 시그널링 프레임을 갖는 버스트를 송신할 제 1 버스트로서 선택하도록 구성된다.

Description

패킷 교환 네트워크에서 통신 엔티티의 컴퓨터 수단에 의해 시행되는 방법, 컴퓨터 프로그램, 컴퓨터 판독 가능한 비일시적 기록 매체 및 패킷 교환 네트워크의 통신 엔티티
본 발명은 전기 통신에 관한 것으로, 보다 상세하게는 데이터 프레임 송신에 관한 것이다.
패킷 교환 네트워크는, 엄격하게 제한된 지연 시간 및 전송 지연 변동으로 제어 데이터의 전송을 가능하게 하는 계층 2 특징의 도입으로 인해 산업 제어 응용을 위해 점점 더 사용되고 있다.
예를 들면, 낮은 지연 시간 샘플링 데이터, (폐루프) 제어 및 화상 스트리밍(예를 들면, 실시간 화상 처리)은, 매우 엄격한 지연 시간 요건을 갖는다. 제어 루프의 일부로서의 화상 스트리밍 및 관련 처리는 수렴된 네트워크에서 베스트에포트 전송이 제공할 수 있는 것보다 더 큰 요건을 갖는다.
동시에, 베스트에포트 스트림은 시간 임계인 것이 아니라, 시간 임계 스트림에 대한 일정한 간섭원을 제공한다.
특히, 산업 분야의 버스, 즉 EtherCAT, Ethernet Powerlink, TCnet, PROFINET 등의 요건에 대한 교환 이더넷의 적응을 위해 해결책이 점진적으로 개발되고 있다.
이들 모든 해결책은 스케줄링된 스트림, 특히 주기적 통신을 구성하는 스트림을 위한 서포트를 제공하는, 표준 이더넷 프로토콜에 대한 특정의 추가 규격에 의거한다.
이들 적응에 의해 이용되는 공통의 방식은 시간 윈도우에서의 송신 다중화의 편성에 의지하고, 각 윈도우는 특정의 스트림을 위해 예약된다. 시간 윈도우의 수 및 반복 주파수는 응용의 요건에 따라 결정된다.
스케줄링된 스트림을 생성하는 전형적인 응용(예를 들면 산업 제어)이 주기적 활동을 갖는 것을 고려하여, 송신 다중화는 주기적 사이클 단위로 편성되는 것에 이르고, 각 사이클은, 스케줄링된(저 지연 시간) 스트림을 위해 예약된 일련의 시간 윈도우와 스케줄링되지 않은 스트림을 위해 예약된 일련의 시간 윈도우(도 1의 예에서는 점선으로 표현됨)를 포함한다.
스케줄링된 스트림과 스케줄링되지 않은 스트림 사이의 간섭에 기인하는 잠재적인 지연 시간의 발생원을 더욱 저감하기 위해 선점(pre-emption) 방법도 도입된다. 선점은 스케줄링되지 않은 스트림 시간 윈도우와 스케줄링된 스트림 시간 윈도우 사이의 이행에 개입한다. "스케줄링된 스트림"은 이후 "익스프레스 트래픽"이라고도 불린다. "스케줄링되지 않은 스트림"은, 이후, TSN 표준("TSN"은 "선점(Preemption)":IEEE 802.3 조항 99, IEEE 802.1Q에서 "타임 센시티브 네트워킹(Time Sensitive Networking)"의 약칭임)에서의 "산발적인 트래픽" 또는 단순히 "노멀 스트림"이라고도 불리고, 스케줄링된 스트림은 TSN 표준에서 "익스프레스 스트림"이라고도 불린다.
스케줄링되지 않은 스트림과 스케줄링된 스트림 사이의 그러한 이행 시에, 스케줄링된 스트림의 선두는, 이전의 스케줄링되지 않은 스트림의 시간 윈도우 중에 개시된 프레임의 송신의 말미와 동시에 있을 수 있다. 그러한 경우에, 스케줄링된 프레임은 현재의 스케줄링되지 않은 프레임 송신이 종료할 때까지 송신될 수 없다.
이 상황은 도 2에 도시되고, 제시되는 예에서, 2개의 스케줄링된 프레임이 스케줄링 타이밍에서 벗어나 있다.
스케줄링되지 않은 프레임의 나머지 부분의 송신 기회를 선점하는 것에 의해, 스케줄링된 스트림에 추가 지연이 부과되는 것을 회피하는 것이 가능하다. 선점 동작을 용이하기 위해서, 스케줄링되지 않은 프레임은 (도 3의 예에서 나타나고 있듯이 f1 및 f2로) 세분화될 수 있고, 나머지의 프래그먼트(들)의 송신은 스케줄링된 스트림의 송신이 완료할 때까지 지연되게 한다.
모든 타입의 스트림을 전송하는 것이 가능한, 수렴된 네트워크의 지원을 위한 단일의 표준을 제공하기 위해서, IEEE는 2개의 방식을 정의하고 있다.
· 표준 802.1Qbv에서 지정된 바와 같이, 다른 타입의 스트림(스케줄링된 것 및 스케줄링되지 않은 것)을 위한 시간 윈도우의 예약에 의거하는 스케줄링 방식,
· 표준 802.3br 및 802.1bu에서 제시된, 이른바 "익스프레스" 프레임의 동시 송신 시에 이른바 "노멀" 프레임의 세분화 방식을 특정하는 선점 방식.
802.1Qbv는 주기적 캘린더표에 근거하고, 그 각 엔트리는 도 4에 도시되어 있듯이 특정 클래스의 스트림, 예를 들면, 스케줄링된 또는 스케줄링되지 않은 송신을 위해 예약된 시간 윈도우를 정의한다.
따라서, 이들 표준은 상기의 산업 표준에 의해 제공되는 서비스와 유사한 서비스를 제공할 수 있는, 최소 지연 시간에서의 주기적으로 스케줄링된 스트림의 전송의 완전한 체계를 제공한다.
보다 일반적으로는, 네트워크 전체를 통한 다른 링크 상에서 동기화된 시간 윈도우의 시행에는,
· 스케줄링된 스트림을 반송하는 링크 및 포트에 따른 자원의 할당을 오프라인으로 계산하여 푸는 집중 구성 툴의 사용, 및, 이하의 능력:
· 클럭의 정확성, 지연 시간 및 지터의 관점에서 표준화된 또는 충분히 특성화된 브릿지 및 엔드스테이션의 타이밍 특성,
· 각 링크의 타이밍 특성화가 필요하고,
그것에 의해, 구성 툴은 스트림 경로에 걸쳐 일관된 자원 할당을 생성할 수 있다.
부가하여, 얻어진 네트워크 구성은 새로운 오프라인 계산을 수행하고 그 새로운 구성을 모든 관여하는 노드에 재분배하는 것에 의해서만 변경될 수 있다. 그 경우, 그러한 고정적인 스케줄링 방식은, 매우 엄격한 타이밍 제약(지연 시간 및 지터)을 갖는, 라인 또는 버스와 같은 한정된 토폴로지 복잡도의 네트워크 내에서의 어플리케이션을 지원하는 스트림에 대해 예약된다.
표준 802.1Qbv를 통해서 스케줄링된 스트림을 시행하는 것은, 또한 스케줄링된 스트림에 예약된 다른 시간 윈도우를 정의하기 위해서 사용되는 캘린더표의 성질에 기인하여 일부 제한을 부과한다. 전형적으로는, 표준 802.1Qbv는 순차적이고 주기적(리스트의 말미에 이르면 그 리스트의 선두에서 그 실행이 개시된다)으로 실행되는 게이트 개방/게이트 폐쇄 커맨드의 유한 리스트에 의거한다. 그 경우, 각 시간 윈도우의 발생은 필연적으로 주기적이며, 그 주기는 리스트 전체의 실행의 지속 기간에 의해 정의된 사이클의 정수분의 1이다.
본 발명은 이 상황을 개선하는 것을 목적으로 한다.
그 때문에, 본 발명은 패킷 교환 네트워크에서 통신 엔티티의 컴퓨터 수단에 의해 시행되는 방법을 제안하고, 상기 통신 엔티티는 통신 신호 프레임을 송신하는 적어도 1개의 출구 포트를 구비하고, 상기 프레임은,
- 익스프레스 트래픽으로서 트래픽 형상이 정의되는 복수의 버스트에서 송신되는 것이 의도되는 제 1 타입의 프레임과,
- 산발적인 트래픽으로서 트래픽 형상이 정의되지 않는 제 2 타입의 프레임을 포함하고,
통신 엔티티는,
- 제 1 타입의 프레임의 복수의 제 1 큐로서, 상기 제 1 큐는 상기 복수의 버스트에 각각 관련되는 복수의 제 1 큐와,
- 제 2 타입의 프레임을 위한 적어도 1개의 제 2 큐를 기억하도록 구성된다.
보다 구체적으로는, 상기 버스트는 각 버스트에 선행하는 시그널링 프레임과 함께 각각의 제 1 큐에 저장되고, 상기 시그널링 프레임은 상기 버스트의 생성의 타임스탬프를 포함하고, 상기 제 1 큐에 저장된 버스트 중에서 송신할 제 1 버스트를 선택하기 위해, 통신 엔티티는,
- 각 제 1 큐의 헤드에 위치하는 각 시그널링 프레임의 타임스탬프를 판독하고,
- 모든 시그널링 프레임 중에서 가장 오래된 타임스탬프를 갖는 시그널링 프레임을 결정하고,
- 그와 같이 결정된 시그널링 프레임을 갖는 버스트를 송신할 제 1 버스트로서 선택하도록 구성된다.
그러므로, 그 특성화가 지나치게 보수적인 계산 규칙 및 네트워크 접속의 자원 낭비를 초래하는 일련의 노드 및 링크의 타이밍 파라미터에 의거하는, 집중화된 계산 및 구성에 의지하지 않고 네트워크를 통해 예약 시간 윈도우를 할당하는 다른 방법이 제안된다.
일 실시예에서는, 상기 제 1 버스트의 송신 중에 제 2 타입 프레임의 송신은 상기 제 1 버스트 송신이 완료하지 않는 한 연기된다.
마찬가지로, 일 실시예에서는, 상기 제 1 버스트의 송신 중에 제 1 버스트의 큐 이외의 제 1 타입의 큐의 제 1 타입 프레임의 송신은 상기 제 1 버스트 송신이 완료하지 않는 한 연기된다.
일 실시예에서는, 송신할 제 1 버스트가 송신으로부터 선택되면, 제 1 버스트의 송신 전에, 제 2 타입의 프레임이 출구 포트에 의해 송신되고 있는지 여부가 판단되고, '예'인 경우, 사전 결정된 최소 사이즈를 갖는, 그 제 2 타입의 프레임의 프래그먼트가 상기 제 1 버스트의 송신의 직전에 상기 출구 포트의 다음의 송신을 위해 스케줄링된다.
그러한 최소 프래그먼트 사이즈의 세부 사항은 WO 2018/174302에서 찾을 수 있다.
전형적으로는, 상기 큐(제 1 큐 및 제 2 큐)는 선입선출(first-in-first-out) 메모리 버퍼에 저장될 수 있다.
일 실시예에서는, 복수의 통신 엔티티가 상기 네트워크에서 상기 제 1 타입 프레임 버스트의 송신기로서 제공되고, 상기 통신 엔티티의 각각은 상기 네트워크에서의 공통 클럭 기준에 따라, 대응하는 시그널링 프레임 내에 제 1 타입의 프레임 버스트의 생성의 타임스탬프를 추가하도록 구성된다.
그 실시예에서는, 이들 통신 엔티티의 일부는 상기 버스트의 발신기로서 기능할 수 있고, 상기 생성의 타임스탬프는 대응하는 버스트의 작성의 타임스탬프이다.
또한 그 실시예에서 이들 통신 엔티티의 일부는 상기 버스트의 트랜스폰더(본 명세서의 이하에서 "브릿지"라고도 불림)로서 기능할 수 있고, 상기 생성의 타임스탬프는 여전히 대응하는 버스트의 작성의 타임스탬프이다.
따라서, 본 실시예에 의해, 제 1 타입의 프레임 버스트가 많은 홉을 갖고 많은 연속한 송신 엔티티에 의해 송신되게 되어도, 네트워크를 통과하는 이 버스트 송신은 보다 최근의 제 1 타입의 프레임 버스트의 송신에 대한 우선권을 가질 수 있다.
일 실시예에서는, 시그널링 프레임은, 상기 제 1 버스트의 제 1 프레임 전체에서의 데이터의 제 1 수에 대응하는 데이터를 더 포함하고, 통신 엔티티는, 상기 제 1 버스트의 프레임의 송신 중에,
상기 제 1 버스트의 송신된 데이터의 제 2 수를 카운트하고,
제 2 수가 제 1 수에 이를 때까지, 제 1 버스트의 데이터 송신을 계속하도록 더 구성된다.
이하에 언급되는 도 5에서 나타내는 바와 같이, 동일한 버스트의 제 1 타입 프레임은 다른 길이(그러므로, 내부에 다른 "데이터의 수")를 가질 수 있다. 그러므로, 본 실시예에서는, 최종적으로, 버스트가 갖는 데이터의 수(또는 그 전체 "길이")와, 경우에 따라 EBS 프레임의 컨텐츠를 감산한 수를 카운트하는 것이 선택된다.
본 실시예는 송신 스케줄링을 유지하는 것을 가능하게 한다.
전형적으로는, 그 실시예에서 통신 엔티티는, 상기 제 2 수가 제 1 수에 이르면,
- 제 1 버스트의 데이터의 송신을 종료하고,
- 대응하는 제 1 큐로부터 제 1 버스트의 모든 가능한 나머지 데이터를 플러시하도록 더 구성될 수 있다.
일 실시예에서는, 동일한 제 1 큐 내의 다른 버스트는 상기 버스트의 각각의 시그널링 프레임에 의해 표현된다.
그러므로, 버스트의 말미에 이르면, 큐가 완전히 비어 있지 않아도, 다음의 프레임은 시그널링 프레임이어야 하거나, 또는 그렇지 않으면 본 명세서의 상기의 이전의 실시예에 따라 플러시되게 된다.
일 실시예에서는, 시그널링 프레임은, 태그의 데이터를 선언하는 1개의 이더타입(Ethertype) 필드로 구성되는 적어도 1개의 태그를 포함하는 이더넷 프레임으로 할 수 있고, 상기 데이터는 적어도 상기 타임스탬프에 대응한다(및 경우에 따라서는, 이들 데이터의 일부는 상기 설명된 바와 같이 버스트 내의 데이터의 제 1 총수와 관련시킬 수 있다).
본 실시예는 시그널링 프레임 내의 다른 임의의 데이터 타입을 위해 다른 이더타입 필드(또한 다른 태그에 의해 선언됨)를 예약하는 것을 가능하게 한다.
본 발명은 또한 상기에 제시된 방법의 적어도 일부를 시행하도록 구성된 컴퓨팅 회로를 포함하는 패킷 교환 네트워크의 통신 엔티티를 목적으로 한다(그러한 컴퓨팅 회로의 실시예의 일례는 이하에 언급되는 도 9에 나타나고 있다).
본 발명은 또한, 컴퓨터 소프트웨어이며, 그 소프트웨어가 프로세서에 의해 실행되면 상기에 제시된 바와 같은 방법의 적어도 일부를 시행하는 명령을 포함하는 컴퓨터 소프트웨어를 목적으로 한다(그러한 컴퓨터 프로그램의 흐름도의 일례가 이하에 언급되는 도 8a 및 도 8b에 나타나고 있다).
본 발명은 또한, 소프트웨어가 프로세서에 의해 실행되면 상기에 제시된 바와 같은 방법을 시행하기 위해 소프트웨어가 등록되는 컴퓨터 판독 가능한 비일시적 기록 매체를 목적으로 한다.
다른 특징, 세부사항 및 이점은 이하의 상세한 설명 및 도면에 나타낼 것이다.
도 1은 스케줄링된 스트림 및 스케줄링되지 않은 스트림의 일례를 나타낸다.
도 2는 불리한 상황의 일례를 나타낸다.
도 3은 선점 동작의 일례를 나타낸다.
도 4는 표준 802.1Qbv에서 특정된 스케줄링 방식을 나타낸다.
도 5는 제 1 큐 컨텐츠의 일례를 나타내며, 그 제 1 큐는 여기서 각각의 시그널링 프레임("EBS" 프레임으로서 지정됨)에 의해 분리된 몇 개의 익스프레스 버스트를 포함한다.
도 6a는 시그널링 프레임 구조의 일례를 나타낸다.
도 6b는 시그널링 프레임 구조의 일례를 나타낸다.
도 7은 관리할 다른 제 1 타입(익스프레스 스트림)의 큐 및 제 2 타입(노멀 스트림)의 큐를 갖는 출구 포트의 구조의 일례를 개략적으로 나타낸다.
도 8a는 본 명세서에 따른 방법의 주요 단계의 실시예의 일례의 흐름도이다.
도 8b는 본 명세서에 따른 방법의 주요 단계의 실시예의 일례의 흐름도이다.
도 9는 본 명세서에 따른 통신 엔티티의 컴퓨팅 회로의 일례를 개략적으로 나타낸다.
본 발명은 산업 오토메이션 응용, 차량 내 제어 응용 또는 열차 제어 응용에서 사용되는 것 등의, 이른바 실시간 이더넷 네트워크를 대상으로 한다. 본 발명은, 각 익스프레스 버스트의 선두를 시그널링하기 위해 각각 사용되는 특정의 짧은 프레임에 의해 표현되는 프레임열로서 저 지연 시간 통신의 프레임의(선점에 대해 이더넷 TSN 표준에 의해 정의되는 의미에서의) "익스프레스 버스트(Express Burst)"를 편성하는 것을 제안한다. 이 명시적인 대역내 익스프레스 버스트의 표현은, 익스프레스 버스트와 간섭할 가능성이 있는(선점에 대해서 TSN 표준에서 정의된 바와 같은) "노멀 프레임"에 대한 선점 동작을 트리거하고, 또한, 경우에 따라서는, 동시적인 갑작스러운 익스프레스 버스트의 다중화를 관리하기 위해 사용된다.
익스프레스 버스트의 송신은 네트워크 전체에 공통인 사이클과 동기시킬 수 있다. 이 경우에는, 익스프레스 버스트는, 그 사이클 중에 주어진 공통 시점에서 이른바 "토커(Talkers)"(발신기)에 의해 송신될 수 있고, 버스트 표현 프레임에 의해 제공되는 명시적인 표현을 사용하여 그들이 충돌하는 포트에서 다중화된다.
본 발명은 그 개방 시점 및 폐쇄 시점이 통신의 모든 참가자(토커, 청취자 및 브릿지) 사이에 고정적으로 동기되는 송신 윈도우에 의지하지 않고, 익스프레스 국면 및 노멀 국면에서의 송신 다중화를 유연하게 편성하는 것을 가능하게 한다.
이후:
-"토커"라는 단어는 스트림의 송신원 또는 생성자인 엔드스테이션을 가리킨다;
-"청취자"라는 단어는 스트림의 목적지, 수신기, 또는 소비자인 엔드스테이션을 가리킨다;
-"브릿지"라는 단어는 토커(또는 브릿지)로부터 프레임을 수신하고 그 프레임을 청취자(또는 브릿지)에게 송신하는 네트워크 내의 중간 노드를 가리킨다;
-"스트림"이라는 단어는 토커로부터 하나 이상의 청취자를 향하는 데이터의 단방향 플로우를 가리킨다;
-"익스프레스 버스트"라는 표현은 익스프레스 버스트 개시(EBS) 프레임이 선행하는 일련의 프레임을 가리킨다. 익스프레스 버스트에 속하는 프레임은 연속된 프레임으로서 연달아 송신된다;
-"익스프레스 버스트 개시 프레임"이라는 표현은 익스프레스 버스트의 선두에 삽입된 프레임을 가리킨다;
-"익스프레스 버스트 게이트"라는 표현은 익스프레스 버스트가 송신 중인 것을 나타내는, 포트에 로컬인 신호(또는 상태)를 가리킨다.
네트워크의 모든 엔드스테이션 및 브릿지는, 예를 들면 IEEE 802.1 AS(-Rev) 또는 IEEE 1588 등의 프로토콜에 의한(예를 들면 네트워크의 클럭에서의) 공통 기준 시간을 유지한다.
토커가 익스프레스 스트림을 생성하는 경우, 토커는 일련의 프레임의 선두에 EBS 프레임을 삽입하는 것에 의해 생성된 일련의 프레임을 익스프레스 버스트에 편성한다.
도 5에 나타내는 바와 같이, EBS 프레임을 포함하는 익스프레스 버스트의 모든 프레임은 연달아(프레임#1, 프레임#2, 프레임#3) 송신되고, 예를 들면, 예로서 매체 액세스 표준 IEEE 802.3에 의해 특정된 바와 같은, 최소의 사전 결정된 프레임간 갭에 의해서만 분리된다.
청취자가 익스프레스 버스트를 수신하면, 청취자는 EBS 프레임을 식별 및 파기하고, 그 익스프레스 버스트의 유효한 프레임을 상위 계층에 전달한다.
도 6a에 도시된 일반적인 실시예에서는, EBS 프레임은 전형적으로는 이하와 같은 데이터, 즉,
- 목적지 MAC 주소,
- 송신원 MAC 주소,
- 경우에 따라 VLAN-ID,
- 상기에 제시된 실시예에 따르면,
* 도 6a에서 EBSInitTxDate로서 참조되는, 버스트의 작성의 타임스탬프,
* 및 도 6a에서 EBLength로서 참조되는 그 길이(즉, 버스트 내에 포함된 데이터의 총 수)를 포함할 수 있다.
이더넷 배경에서 EBS 프레임은 도 6b에 나타나는 구조와 같은 구조를 가질 수가 있고, 예를 들면, 표준 이더넷 프레임의 최소 사이즈(64바이트 길이)를 가질 수가 있고, 그 경우 스트림의 프레임으로서 (전형적으로는 계층 2의) 동일한 정보, 즉,
- 목적지 MAC 주소,
- 송신원 MAC 주소, 및,
- VLAN 태그, 및 경우에 따라,
- 자신의 각각의 이더타입에 의해 식별되는 다른 태그를 포함한다.
그러나, EBS 프레임은, 도 6b에 나타내는 바와 같이, 특정의 이더타입 값(EBS 태그 이더타입)에 의해 식별된 추가 태그에 의해 그 버스트의 다른 프레임과 구별된다.
EBS 태그는 (EBS 태그 이더타입 필드를 포함하여)
- EBLength:EBS 프레임 자체를 제외한, 예를 들면 바이트 수로 표현되는, 프레임의 익스프레스 버스트의 길이,
- EBSInitTxDate:상기 "토커"에 의해 삽입되는, (예를 들면 네트워크 내의 기준 클럭에 의해 주어진) 네트워크 전체에 공통인 시간을 기준에 관한, EBS 프레임의 초기 송신 일자의 3개의 정보를 포함한다.
EBS 프레임 내의 이용 가능한 페이로드는, 경우에 따라, EBS 태그에 이어지는 그 자신의 이더타입에 의해 시그널링된 다른 임의의 어플리케이션(예를 들면, 네트워크 제어)을 위해 사용될 수 있다.
이후에 입구 포트 상에서 익스프레스 버스트를 수신하고, 그 익스프레스 버스트를 출구 포트에 송신하는 브릿지의 동작이 설명된다. 전형적으로는, 익스프레스 버스트에 속하는 모든 프레임이 필터링되어, (다른 수신된 프레임과 같이) 브릿지의 입구 포트(들)로부터 전송된다. 익스프레스 버스트의 처리는 브릿지의 출구 포트(들)에서 보다 구체적으로 행해진다.
도 7에 나타내는 바와 같이, 익스프레스 버스트의 프레임은 목적지 출구 포트 내에서 FIFO 순서로 전용의 익스프레스 스트림마다의 큐에 저장된다.
노멀 프레임도 또한 노멀 스트림에 할당된 1개 또는 몇개의 큐에 FIFO 순서로 저장된다. 목적지 큐(들)의 선택은 네트워크 관리에 의해 정의되는 기준(예를 들면, 트래픽 클래스, 우선도 등)에 근거하여 행해진다.
각 익스프레스 스트림에 대해, 출구 포트는, 스트림에 관련된 다른 정보 중에서도 특히, 이하의 익스프레스 버스트 관련 데이터를 포함하는 문맥을 유지한다.
- EBActive:익스프레스 스트림의 활동을 참조하여, 익스프레스 스트림 큐가 비어 있지 않거나 또는 그 스트림의 EBS 프레임이 수신되고 있는 것을 나타낸다;
- HeadEBSFrameTrxDate:스트림 큐의 헤드에서 저장되는 EBS 프레임의 초기 송신 일자(예를 들면 타임스탬프로서 나타냄)를 참조한다. EBS 프레임이 출구 포트 상에서 수신되고, 그 스트림에 관련된 큐가 비어 있는 경우, EBS 프레임 내에 포함되는 초기 송신 일자(EBSInitTxDate)가 스트림 문맥 내의 HeadEBSFrameTrxDate에 저장된다;
- RemEBLength:송신될 익스프레스 버스트의 나머지 부분의 길이를 참조한다. 이 파라미터의 값은 EBS 프레임의 송신시에 그 프레임의 EBLength 필드에 저장된 값으로 초기화된다. 이 값은 동일한 버스트의 후속의 익스프레스 버스트 프레임의 송신 중에 계속적으로 감소되고, 동일한 프레임의 송신 중 일정하게 유지된다.
또한 출구 포트는 이하의 2개의 플래그를 유지한다.
- XpressBurstGate:포트가 익스프레스 버스트를 현재 송신하고 있는 것을 나타낸다. XpressBurstGate는 출구 포트에 의한 EBS 프레임의 송신 시에 설정되고, RemEBLength가 0에 이르면 재설정된다;
- EBReady:적어도 1개의 익스프레스 버스트가 포트 상에서 송신 준비가 되어 있는 것, 즉, 익스프레스 스트림 큐 중 적어도 1개는 비어 있지 않은 것을 나타낸다. EBReady가 설정되지 않고, EBS 프레임이 수신되면, EBReady가 설정된다.
네트워크의 노드(여기에서는 프레임 버스트를 중계함)의 출구 포트 동작은 도 8a 및 도 8b를 참조하여 이하와 같이 설명할 수 있다. 도 8a는 프레임 버스트의 수신(수신 개시) 시에 수행되는 단계를 참조하고, 한편, 도 8b는 프레임 버스트를 송신(송신 개시)하기 위해 수행되는 단계를 참조한다.
이 예에서는, 일반적으로, 다른 노멀 프레임, 또는 익스프레스 스트림에 속하는 프레임은 현재의 익스프레스 버스트 송신이 완료되지 않는 한 송신될 수 없다.
따라서, 단계 S1 및 S9에서, 송신할(또는 수신(단계 S9) 및 재송신할) 노멀 트래픽 프레임과 송신할(또는 수신(단계 S1) 및 재송신할) 익스프레스 프레임 사이에 구별이 행해진다.
어느 경우에도, 노드는 수신된 프레임을 판독하고, EBS 프레임(그러므로, 익스프레스 버스트의 개시의 시그널링)이 출구 포트 상에서 수신되는지 여부를 판단한다.
EBS 프레임이 수신되면, 이것은 익스프레스 버스트가 존재하고 출구 포트로부터 송신될 준비가 되어 있는 것을 의미한다. 따라서, 테스트 S2에서, 변수 EBActive=1인 경우, 이것은, 송신될 적어도 1개의 익스프레스 프레임이 존재하는 것을 의미하고, 또한 (단계 S4에서) 플래그 XpressBurstGate가, 출구 포트가 익스프레스 프레임을 송신할 준비가 되어 있는(그리고 출구 포트가 노멀 트래픽을 위해 현재 사용되고 있지 않는) 것을 의미하는 1로 설정되는 경우, 단계 S5에서, 수신된 익스프레스 버스트 프레임(익스프레스 프레임 버스트 및 그 헤드에 있는 EBS 프레임 모두)은, 도 8b를 참조하여 이하에 설명되는 바와 같이 미래의 송신(B)을 위해 FIFO 타입 큐(i)에 남겨져 저장될 수 있다.
그렇지 않고, 익스프레스 프레임이 송신되게 되는(테스트 2로부터의 화살표 "예") 동안 (단계 S4에서) XpressBurstGate가 0으로 설정되어 있는 경우, 노멀 트래픽이 현재 송신되고 있다고 여겨지지만 중단되는 것이 당연하고, (도 3을 참조하여 상기 설명된 바와 같이) 경우에 따라 노멀 프레임의 최신 프래그먼트가 송신될 수도 있다. 다음에, 단계 S6에서, 노멀 프레임 송신이 현재 수행되고 있는지 여부가 판단된다. '예'인 경우, 단계 S7에서(이전에 설명된 단계 S5에서와 마찬가지로) 수신된 익스프레스 프레임 버스트가 큐(i) 내에 남겨진다. 그렇지 않은 경우, 노멀 프레임의 최신 프래그먼트가 송신되고, 다음에, 단계 S8에서, 노멀 프레임의 그 프래그먼트의 말미의 송신에 이르면(프래그먼트의 전체 길이는 사전 결정됨), 익스프레스 프레임의 송신은 도 8b를 참조하여 이하에 설명되는 바와 같이 마지막에 수행될 수 있다(B).
경우에 따라 단계 S8에서 송신할 프래그먼트의 최소 사이즈는, 예를 들면, WO 2018/174302에서 제시된 것과 같다.
노멀 트래픽의 수신시(단계 S9)의 그 노멀 트래픽의 처리에 관해서, 우선, 단계 S10에서, 익스프레스 버스트가 이미 수신되고 있는지 여부가 판단된다('예'이면:단계 S11에서 EBReady=1). '예'인 경우, 노멀 트래픽 프레임은, 단계 S13에서 익스프레스 트래픽을 노멀 트래픽에 대해서 우선시키는 선점 때문에 미래의 송신을 위해 FIFO 타입 큐(i)에 남겨져 저장된다. 익스프레스 버스트가 수신되고 있지 않은 경우(단계 S11에서 EBReady=0), 전의 큐로부터 들어오는 노멀 트래픽의 송신이 이미 수행되고 있는(단계 S12로부터의 화살표 '예':이 경우에는, 단계 S13에서 현재 수신된 노멀 프레임 버스트는 임시 보존 큐에 저장됨) 것이 아닌 한, 노멀 트래픽 송신이 발생할 수 있다(A).
(프로세스의 송신 부분에 대한) 도 8b를 참조하면, 단계 S14 및 S15에서 송신될 준비가 되어 있는 익스프레스 프레임이 존재하지 않는 경우(EBReady=0), 단계 S17에서 노멀 트래픽이 송신될 수 있다(테스트 S16로부터의 화살표 '아니오'). 그렇지 않으면(EBReady=1), 익스프레스 버스트 프레임은 송신되게 되고, 최초로 어느 큐로부터 익스프레스 프레임이 송신되어야 할지를 판단하기 위해, 단계 S18이 이하와 같이 수행된다. 다음 송신을 위해 선택되는 익스프레스 스트림 큐는, 그 익스프레스 스트림 큐의 헤드에 있는 EBS 프레임이 더 적은 HeadEBSFrameTrxDate을 갖도록 된다. 다음에, 단계 S19에서 플래그 XpressBurstGate가 1로 설정되고, 단계 S20에서 그 큐의 프레임이 송신된다.
또한 단계 S21에서, 카운터 RemEBLength(i)가, EBS 프레임 내의 EBLength 필드로부터 판독된 값으로 초기화된다. 단계 S22에서 그 EBS 프레임에 대응하는 익스프레스 버스트의 각 후속의 프레임은 링크 속도에서 송신되고, RemEBLength(i)는 바이트 단위로 표현된 프레임 길이의 값으로부터 감소된다. (단계 S23에서) RemEBLength(i)가 0에 이르면, 이 상황은 이 현재의 EBS 프레임을 갖는 그 익스프레스 버스트의 말미에 대응해야 하는 것이다. 다음에, 이하의 두 가지 타입의 상황이 일어날 수 있다(테스트 S24).
- 그 익스프레스 버스트의 큐(i) 전체가 비어 있거나, 또는,
- 동일한 큐(i) 내의 다음의 익스프레스 버스트가 새로운 EBS 프레임부터 개시된다(즉, 동일한 큐(i)의 다음의 최초 프레임은 EBS 프레임이다).
이들 두 가지 상황 중 하나에 처했을 때, 단계 S26에서 익스프레스 버스트 게이트는 0으로 재설정될 수 있고(XpressBurstGate=0), 이것은 출구 포트가 익스프레스 프레임 송신을 위해 현재 활성화되지 않은 것을 의미한다. 그 경우, 다음의 단계는, 존재하는 경우 노멀 프레임 또는 프래그먼트, 또는 경우에 따라 다른 익스프레스 스트림 큐 컨텐츠(존재하는 경우, 단계 S27에서 테스트됨)의 송신으로 할 수 있다. 보다 구체적으로는, 테스트 S27에서 모든 익스프레스 스트림 큐가 비어 있으면, 플래그 EBActive는 0으로 설정될 수 있다.
테스트 S24에서 상기의 2가지 상황의 어느 것에도 처하지 않는 경우, 이것은 익스프레스 버스트 송신 전체가 완료하고 있지 않는 동안에 RemEBLength가 0에 이른 것을 의미하고, 에러가 발생하고 있다. 그 경우, 그 큐로부터의 프레임의 임의의 현재 송신이 중지되고, 이 큐(i)는 (단계 S25에서) 다음의 EBS 프레임까지 플러시되거나, 또는 EBS 프레임이 큐(i) 내에 존재하지 않는 경우 전체적으로 플러시된다.
도 8a 및 도 8b에 대응하는 알고리즘은 최종적으로 이하와 같이 요약할 수 있다.
EBS 프레임이 출구 포트 상에서 수신되고, EBActive=0인(스트림에 할당된 큐가 빈) 경우, EBActive는 1로 설정된다.
XpressBurstGate=1, 즉, 익스프레스 버스트가 송신되고 있는 경우, 도래하는 EBS 프레임 및 경우에 따라 버스트의 후속 프레임은 대응하는 익스프레스 스트림 큐에 저장된다. 대응하는 익스프레스 스트림 큐가 비어 있는 경우, 익스프레스 스트림 문맥의 HeadEBSFrameTxDate 변수는 EBS 프레임의 EBSInitTxDate 필드의 값으로 설정된다.
EBReady가 1로 설정되어 있는 경우, 들어오는 노멀 스트림은 각각의 큐에 저장된다.
EBReady가 1로 설정되지 않고, 노멀 스트림 큐가 모두 비어 있는 것은 아닌 경우는 항상, 노멀 스트림 큐 중 하나의 헤드에 있는 프레임 또는 프래그먼트 또는 현재 수신된 노멀 프레임 또는 프래그먼트가 송신을 위해(네트워크 관리에 의해 정해진 규칙에 따라) 선택된다.
그렇지 않고, EBReady가 1로 설정되어 있는 경우:
XpressBurstGate=0이고, 어느 노멀 프레임도 현재 송신되지 않은 경우, 보다 적은 HeadEBSFrameTxDate를 갖는 ES 큐의 헤드에 있는 EBS 프레임이 송신되고, 익스프레스 버스트 송신 게이트가 개방되어(XpressBurstGate=1), 익스프레스 버스트에 속하는 후속 프레임의 송신을 위한 포트 용량 전체를 예약한다.
XpressBurstGate=0이고 노멀 프레임이 송신되는 경우, 노멀 프레임은 802.3br 및 802.1bu 표준에 따라 선점된다. 그 후, EBS 프레임은 선점 동작의 결과로 생기는 노멀 프레임 프래그먼트의 말미의 뒤에 송신되고 XpressBurstGate가 1로 설정된다.
상기의 감소에 관련하여, EBS 프레임이 송신되면, 스트림 문맥 내의 RemEBLength 데이터는, EBS 프레임 내의 EBLength 필드로부터 판독된 값으로 초기화된다. 그 후, 익스프레스 버스트의 각 후속 프레임이 송신되고, RemEBLength가 프레임 길이의 값에서 감소된다. RemEBLength가 0에 이르면, 익스프레스 버스트 게이트가 재설정된다(XpressBurstGate=0). RemEBLength가 익스프레스 프레임의 송신 중에 0에 도달하면, 그 익스프레스 프레임의 송신은 중지된다. 대응하는 익스프레스 스트림 큐가 비어 있지 않고, 그 헤드에 있는 프레임이 EBS 프레임이 아닌 경우, 이 큐는 다음의 EBS 프레임까지 플러시되거나, 또는 EBS 프레임이 이 큐 내에 존재하지 않는 경우 전체적으로 플러시된다.
익스프레스 버스트 송신 후, 익스프레스 스트림 큐가 비어 있지 않은 경우, 익스프레스 스트림 문맥의 변수 HeadEBSFrameTxDate는, 현재 큐의 헤드에서 저장된 새로운 EBS 프레임의 EBSInitTxDate 필드 내에 포함되는 값으로 갱신된다.
EBactive는 익스프레스 스트림 큐가 모두 비어 있는 경우, 0으로 재설정된다.
프로토콜은 임의의 현재의 어플리케이션 요건에 따라 네트워크를 거쳐 주기적 통신 시행에 따라 동작될 수 있다. 그러므로, 네트워크 내의 모든 링크에 동일한 사이클이 적용된다고 가정된다. 그러한 구성에서, 공통 클럭 분배의 이익을 얻고, 모든 토커는 이 사이클에 대해서 동기화될 수 있고, 이 사이클에 따라 그러한 송신을 편성할 수 있다. 그 경우, 가능한 시행예에서, 모든 토커가 사이클의 선두에서 각각 사이클 개시로부터 다른 오프셋으로 그러한 익스프레스 버스트를 송신한다. 이 오프셋은 익스프레스 버스트의 헤드에서의 EBS 프레임 내에 포함된 EBSInitTxDate에 의해 반영된다. 그 후, 이 오프셋 표시는 각 브릿지 노드에 의해 사용되고, 익스프레스 버스트가 공통 링크에 전송될 때 이러한 익스프레스 버스트를 다중화한다.
그러므로, 본 발명에 의해, 정적인 오프라인 구성을 사용할 필요없이, 시간 임계 어플리케이션에 초저 지연 시간(ultra-low latency) 데이터 전송을 제공하는 것이 가능하게 된다. 전형적으로, 본 발명은 산업 네트워크 또는 자동차 네트워크 등의 내장된 제어 네트워크에서 적용될 수 있다.
본 발명에 따른 통신 디바이스(예를 들면 상기에 설명된 바와 같은 "브릿지" 등)의 가능한 시행예가 도 9에서 제시된다. 그러한 디바이스는, 본 발명에 따른 방법의 단계, 예를 들면 도 8a 및 도 8b의 실시예에서 상기에 설명된 바와 같은 단계를 시행하는 처리 회로를 포함할 수 있다. 그 처리 회로는 전형적으로 이하의 것을 포함할 수 있다:
- 도 8a 및 도 8b를 참조하여 상기에 설명된 바와 같은 프레임을 송신하는 출구 포트 EgP,
- 경우에 따라, 프레임을 수신하는(및 경우에 따라서는 그러한 프레임의 적어도 일부를 출구 포트 EgP로부터 재송신하는) 입구 포트 InP,
- 본 발명에 따른 컴퓨터 프로그램의 적어도 명령(및 경우에 따라서는 예를 들면 FIFO 타입 큐에 따른 프레임)을 저장하는 메모리 MEM,
- 상기 명령을 판독하기 위해 메모리 MEM에 액세스하고, 그 후 본 발명의 방법을 실행하는 프로세서 PROC,
- 전형적으로는, 네트워크 내의 공통 기준인(및 예를 들면 네트워크 내에 제공되는 통신 클럭 디바이스에 의해 제공될 수 있는) 클럭 데이터 NCLK를 수신하는 입력 인터페이스 COM. 그 기준 NCLK는, EBS 프레임(및 대응하는 후속의 익스프레스 프레임의 버스트)이 미래의 송신을 위해 통신 디바이스 CDE에 의해 생성되면, 통신 디바이스 CDE가 그러한 EBS 프레임의 필드 내에 타임스탬프를 추가하는 것을 가능하게 한다.
간결함 및 예시의 명확함을 위해, 도면은 구축의 일반적인 방법을 나타내고, 주지의 특징 및 기법의 설명 및 세부사항은 본 발명의 설명된 실시예의 논의을 불필요하게 이해하기 어렵게 하는 것을 피하기 위해 생략될 수 있다. 특정의 도면은, 예를 들면 현실의 조건하에서는 지극히 대칭성이 낮고, 정돈되어 있지 않을 가능성이 높은 직선, 날카로운 각도, 및/또는 평행면 등을 갖는 구조가 나타나는 경우와 같이, 이해를 돕기 위해 이상적인 방식으로 도시될 수 있다. 다른 도면에서의 동일한 참조 부호는 동일한 요소를 가리키는 한편, 유사한 참조 부호는 유사한 요소를 가리킬 수 있지만, 반드시 그렇다고는 할 수 없다.
부가하여, 여기서의 교시는 다양한 형식으로 구현될 수 있고, 및 여기서 개시된 임의의 특정 구조 및/또는 기능도 단순히 예시인 것이 이해되어야 할 것이다. 특히, 당업자는, 여기에 개시된 한 양상이 임의의 다른 양상으로부터 독립적으로 시행될 수 있고, 몇 가지 양상은 여러 방식으로 조합될 수 있는 것이 이해될 것이다.
본 개시는, 하나 이상의 예시적인 실시예에 따른 방법, 시스템 및 컴퓨터 프로그램의 기능, 엔진, 블럭도 및 흐름도를 참조하여 이하에 설명된다. 블럭도 및 흐름도의 설명된 각 기능, 엔진, 블록은 하드웨어, 소프트웨어, 펌웨어, 미들웨어, 마이크로코드, 또는 그러한 임의의 적합한 조합으로 시행될 수 있다. 소프트웨어로 시행되는 경우, 블럭도 및/또는 흐름도의 기능, 엔진, 블록은 컴퓨터 프로그램 명령 또는 소프트웨어 코드에 의해 시행될 수 있고, 이러한 컴퓨터 프로그램 명령 또는 소프트웨어 코드는 컴퓨터 판독 가능 매체를 거쳐 기억 또는 송신될 수 있고, 또는 범용 컴퓨터, 전용 컴퓨터 또는 다른 프로그래머블 데이터 처리 장치에 로드되어 기계를 생성할 수도 있고, 그에 따라 컴퓨터 또는 다른 프로그래머블 데이터 처리 장치 상에서 실행되는 컴퓨터 프로그램 명령 또는 소프트웨어 코드는, 본 명세서에서 설명된 기능을 시행하는 수단을 생성한다.
컴퓨터 판독 가능 매체의 실시예는 한 장소로부터 다른 장소로 컴퓨터 프로그램의 전송을 용이하게 하는 임의의 매체를 포함하는 컴퓨터 스토리지 매체 및 통신 매체의 쌍방을 포함하지만, 이에 한정되지 않는다. 여기서 사용되는 경우, "컴퓨터 스토리지 매체"는 컴퓨터 또는 프로세서에 의해 액세스될 수 있는 임의의 물리 매체일 수 있다. 부가하여, "메모리" 및 "컴퓨터 기억 매체"라는 용어는, 한정하는 것은 아니지만, 하드 드라이브, 플래시 드라이브 또는 다른 플래시 메모리 디바이스(예를 들면, 메모리 키, 메모리 스틱, 키 드라이브, SSD 드라이브), CD-ROM 또는 다른 광학 스토리지, DVD, 자기 디스크 스토리지 또는 다른 자기 스토리지 디바이스, 메모리칩(들), 랜덤액세스 메모리(RAM), 판독 전용 메모리(ROM), 전기적 소거 가능한 프로그래머블 판독 전용 메모리(EEPROM), 스마트 카드, 또는 컴퓨터 프로세서에 의해 판독될 수 있는 명령 또는 데이터 구조의 형식으로 프로그램 코드를 반송 또는 기억하는데 사용될 수 있는 다른 임의의 적합한 매체 등의 임의의 타입의 데이터 스토리지 디바이스, 또는 이러한 조합을 포함한다. 또, 여러 가지의 형식의 컴퓨터 판독 가능 매체가 명령을 라우터, 게이트웨이, 서버, 또는 다른 송신 디바이스를 포함하는 컴퓨터에 유선(동축 케이블, 섬유, 트위스트페어선, DSL 케이블) 또는 무선(적외선, 무선, 셀룰러, 마이크로파)으로 송신 또는 반송할 수 있다. 명령은, 한정하는 것은 아니지만, 어셈블리, C, C++, 파이썬, 비주얼베이직, SQL, PHP, 및 JAVA를 포함하는 임의의 컴퓨터 프로그래밍 언어로 이루어진 코드를 포함할 수 있다.
특별히 구체적으로 명시되지 않는 한, 이하의 설명을 통해 처리, 컴퓨팅, 계산, 결정 등의 용어를 이용하는 논의는, 컴퓨팅 시스템의 레지스터 또는 메모리 내의 전자적 양 등의 물리적인 양으로서 표현되는 데이터를 조작하거나 또는 이 데이터를, 컴퓨팅 시스템의 메모리, 레지스터, 또는 다른 그러한 정보 스토리지, 송신 또는 표시 디바이스 내의 물리적인 양으로서 마찬가지로 표현되는 다른 데이터로 변환하는 컴퓨터 또는 컴퓨팅 시스템, 또는 유사한 전자 컴퓨팅 디바이스의 액션 또는 프로세스를 가리키는 것이 이해될 것이다.
여기서 사용되듯이, "포함하다", "구비하다", "갖다"라는 용어 및 이러한 임의의 변형은 비배타적 포함을 커버하는 것이 의도되고, 그것에 의해 요소의 리스트를 포함하는 프로세스, 방법, 물품, 또는 장치는, 반드시 이들 요소로 한정되는 것은 아니지만, 명시적으로 열거되어 있지 않은, 또는 그러한 프로세스, 방법, 물품, 또는 장치에 내재된 다른 요소를 포함할 수 있다.
부가하여, "예시적(exemplary)"이라는 단어는, 본 명세서에서, "예, 사례, 또 예시로서 기능한다"를 의미하도록 사용된다. 여기서 "예시적"으로 설명되는 임의의 실시예 또는 설계는 반드시 다른 실시예 또는 설계보다 바람직하거나 유리한 것이라고 해석되지는 않는다.
본 주제의 개시를 위해, "네트워크"는, 예를 들면, 무선 네트워크를 거쳐 연결된 무선 디바이스 사이를 포함하는 디바이스(본 명세서에서 "노드" 또는 "통신 엔티티"라고도 불림) 사이에 데이터 통신이 발생할 수 있도록, 그러한 디바이스를 연결할 수 있는 네트워크를 가리킨다고 이해될 것이다. 네트워크는, 예를 들면, 대용량 스토리지, 예를 들면 네트워크 부착 스토리지(NAS), 스토리지 영역 네트워크(SAN), 또는 다른 형식의 컴퓨터 또는 기계 판독 가능한 매체, 예를 들면, 디바이스에 클럭 기준을 부여하는 클럭 카운터도 포함할 수 있다. 네트워크 내에서 사용되는 여러 가지의 구조 또는 프로토콜을 위한 상호 운용 능력을 제공하기 위해 여러 가지의 타입의 디바이스, 예를 들면 게이트웨이를 이용 가능하게 할 수 있다. 본 명세서에 따른 컴퓨터 네트워크 내에서 임의의 수의 노드, 디바이스, 장치, 링크, 상호 접속 등이 사용될 수 있다.
네트워크의 컴퓨팅 디바이스, 예를 들면 센서 노드 또는 엑추에이터 노드는, 예를 들면 유선 또는 무선 네트워크를 거쳐 신호를 송신 또는 수신하는 것을 가능하게 할 수 있고, 및/또는, 데이터를 처리 및/또는 기억하는 것을 가능하게 할 수 있다.
본 주제 개시의 실시예는, 여러 가지의 응용, 특히, 한정되는 것은 아니지만, 산업 네트워크, 예를 들면 산업 버스, 또는 잠재적으로 다수의 센서가 다른 위치에서(예를 들면, 공장 또는 원자력 발전소 시설 내에서) 물리적 또는 환경적 조건을 협동하여 모니터링하는 센서 네트워크에서 사용될 수 있는 것이 이해될 것이다. 본 주제 개시는 이하의 점에서 한정되지 않지만, 본 명세서에서 개시되는 방법은, 여러 가지의 토폴로지를 갖는 많은 타입의 컴퓨터 네트워크, 예를 들면, 임의의 LLN 네트워크, 임의의 데이지 체인 토폴로지 네트워크, 임의의 차량 버스 네트워크, 임의의 멀티홉 시스템, 예를 들면, 메쉬 네트워크, 임의의 사물 인터넷(IoT) 네트워크 또는 시스템, 임의의 머신 투 머신(M2M) 네트워크 또는 시스템, 예를 들면, 스마트 오브젝트 네트워크, 예를 들면 센서 네트워크, 또는 이러한 임의의 조합에서 사용할 수 있고, 또, 컴퓨터 네트워크의 임의의 네트워크 노드, 예를 들면 루트 노드, 게이트웨이 노드, 센서 노드, 엑추에이터 노드, 또는 컴퓨터 네트워크에 접속되거나 또는 포함되는 임의의 서버 등의 많은 장치에서 사용될 수 있다.
바람직한 실시예에 관해서 본 발명이 설명되었지만, 당업자이면, 첨부의 특허 청구의 범위에 의해 정의되는 본 발명의 취지 또는 범위로부터 벗어나지 않고, 본 발명으로 여러 가지의 변경 및/또는 수정이 이루어질 수 있음을 용이하게 이해할 것이다.
특정의 바람직한 실시예의 상황에서 본 발명이 개시되었지만, 여러 가지의 다른 실시예에서 시스템, 디바이스, 및 방법의 특정의 이점, 특징 및 양상이 실현될 수 있는 것이 이해될 것이다. 부가적으로, 여기서 설명된 여러 가지의 양상 및 특징은, 개별적으로 실시될 수 있고, 다른 것과 조합하여, 또는 다른 것을 치환하여 실시할 수 있으며, 특징 및 양상의 여러 가지의 조합 및 부분 조합이 이루어질 수 있는 것과 동시에 그들은 여전히 본 발명의 범위 내인 것이 기획된다. 또한 상기에 설명된 시스템 및 디바이스는 바람직한 실시예에서 설명되는 모듈 및 기능의 전부를 포함할 필요는 없다.
여기서 설명된 정보 및 신호는 여러 가지의 다른 기술 및 기법의 임의의 것을 사용하여 나타낼 수 있다. 예를 들면, 데이터, 명령, 커맨드, 정보, 신호, 비트, 심볼 및 칩은 전압, 전류, 전자파, 자기장 또는 자기 입자, 광학장 또는 광 입자, 또는 이들의 임의의 조합에 의해 나타낼 수 있다.
실시예에 따라, 여기서 설명된 방법 중 임의의 특정 행위, 이벤트, 또는 기능은 다른 순서로 실행될 수 있고, 추가, 병합, 또는 모두 생략될 수 있다(예를 들면, 방법의 실시를 위해 모든 설명된 행위 또는 이벤트가 필요한 것은 아니다). 또한, 특정의 실시예에서, 행위 또는 이벤트는 순차적으로가 아니라 동시에 수행될 수 있다.

Claims (15)

  1. 패킷 교환 네트워크에서 통신 엔티티의 컴퓨터 수단에 의해 시행되는 방법으로서,
    상기 통신 엔티티는 통신 신호 프레임을 송신하는 적어도 1개의 출구 포트(EgP)를 구비하고,
    상기 프레임은,
    트래픽 형상이 익스프레스 트래픽으로서 정의되는 복수의 버스트에서 송신되는 것이 의도되는 제 1 타입 프레임과,
    산발적인 트래픽으로서 트래픽 형상이 정의되지 않는 제 2 타입의 프레임을 포함하고,
    상기 통신 엔티티는,
    상기 제 1 타입의 프레임의 복수의 제 1 큐로서, 상기 제 1 큐는 상기 복수의 버스트에 각각 관련되는 복수의 제 1 큐와,
    상기 제 2 타입의 프레임을 위한 적어도 1개의 제 2 큐
    를 기억하도록 구성되고,
    상기 버스트는 각 버스트에 선행하는 시그널링 프레임과 함께 각각의 제 1 큐에 저장되고, 상기 시그널링 프레임은 상기 버스트의 생성의 타임스탬프를 포함하고,
    상기 제 1 큐에 저장된 상기 버스트 중에서 송신할 제 1 버스트를 선택하기 위해, 상기 통신 엔티티는,
    각 제 1 큐의 헤드에 위치하는 각 시그널링 프레임의 상기 타임스탬프를 판독하고,
    모든 상기 시그널링 프레임 중에서 가장 오래된 타임스탬프를 갖는 시그널링 프레임을 결정하고,
    그와 같이 결정된 상기 시그널링 프레임을 갖는 상기 버스트를 상기 송신할 제 1 버스트로서 선택하도록 구성되는
    방법.
  2. 제 1 항에 있어서,
    상기 제 1 버스트의 송신 중, 제 2 타입 프레임의 송신은, 상기 제 1 버스트 송신이 완료되지 않는 한 연기되는 방법.
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 제 1 버스트의 송신 중, 상기 제 1 버스트의 상기 큐 이외의 제 1 타입 큐의 제 1 타입 프레임의 송신은, 상기 제 1 버스트 송신이 완료되지 않는 한 연기되는 방법.
  4. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    상기 송신할 제 1 버스트가 송신으로부터 선택되면, 상기 제 1 버스트의 송신 전에, 상기 제 2 타입의 프레임이 상기 출구 포트에 의해 송신되고 있는지 여부가 판단되고,
    송신되고 있다면, 사전 결정된 최소 사이즈를 갖는, 그 제 2 타입 프레임의 프래그먼트가 상기 제 1 버스트의 송신의 직전에 상기 출구 포트의 다음의 송신을 위해 스케줄링되는
    방법.
  5. 제 1 항 내지 제 4 항 중 어느 한 항에 있어서,
    상기 큐는 선입선출(first-in-first-out) 메모리 버퍼에 저장되는 방법.
  6. 제 1 항 내지 제 5 항 중 어느 한 항에 있어서,
    복수의 통신 엔티티가 상기 네트워크에서 상기 제 1 타입의 프레임 버스트의 송신기로서 제공되고, 상기 통신 엔티티의 각각은, 상기 네트워크에서의 공통 클럭 기준에 따라, 대응하는 시그널링 프레임 내에 제 1 타입 프레임 버스트의 생성의 타임스탬프를 추가하도록 구성되는 방법.
  7. 제 6 항에 있어서,
    적어도 상기 통신 엔티티의 일부는 상기 버스트의 발신기로서 기능하고, 상기 생성의 타임스탬프는 상기 대응하는 버스트의 작성의 타임스탬프인 방법.
  8. 제 6 항에 있어서,
    적어도 상기 통신 엔티티의 일부는 상기 버스트의 트랜스폰더로서 기능하고, 상기 생성의 타임스탬프는 상기 대응하는 버스트의 작성의 타임스탬프인 방법.
  9. 제 1 항 내지 제 8 항 중 어느 한 항에 있어서,
    상기 시그널링 프레임은 상기 제 1 버스트의 상기 제 1 프레임 전체의 데이터의 제 1 수에 대응하는 데이터를 더 포함하고,
    상기 통신 엔티티는, 상기 제 1 버스트의 프레임의 송신 중,
    상기 제 1 버스트의 송신된 데이터의 제 2 수를 카운트하고,
    상기 제 2 수가 상기 제 1 수에 이를 때까지 상기 제 1 버스트의 데이터의 상기 송신을 계속하도록 더 구성되는
    방법.
  10. 제 9 항에 있어서,
    상기 통신 엔티티는, 상기 제 2 수가 상기 제 1 수에 이르면,
    상기 제 1 버스트의 데이터의 상기 송신을 종료하고,
    상기 대응하는 제 1 큐로부터 상기 제 1 버스트의 모든 가능한 나머지 데이터를 플러시하도록 더 구성되는
    방법.
  11. 제 1 항 내지 제 10 항 중 어느 한 항에 있어서,
    동일한 제 1 큐 내의 상이한 버스트는 상기 버스트의 각각의 시그널링 프레임에 의해 표현되는 방법.
  12. 제 1 항 내지 제 11 항 중 어느 한 항에 있어서,
    상기 시그널링 프레임은 태그의 데이터를 선언하는 1개의 이더타입 필드로 구성되는 적어도 1개의 상기 태그를 포함하는 이더넷 프레임일 수 있고, 상기 데이터는 적어도 상기 타임스탬프에 대응하는 방법.
  13. 청구항 1 내지 12 중 어느 한 항에 따른 방법의 적어도 일부를 시행하도록 구성된 컴퓨팅 회로를 포함하는 패킷 교환 네트워크의 통신 엔티티.
  14. 컴퓨터 소프트웨어로서,
    상기 소프트웨어가 프로세서에 의해 실행되면, 청구항 1 내지 12 중 어느 한 항에 따른 방법 중 적어도 일부를 시행하는 명령을 포함하는 컴퓨터 소프트웨어.
  15. 소프트웨어가 프로세서에 의해 실행되면, 청구항 1 내지 12 중 어느 한 항에 따른 방법을 시행하기 위해 상기 소프트웨어가 등록되는 컴퓨터 판독 가능한 비일시적 기록 매체.
KR1020217033510A 2019-04-30 2020-02-27 패킷 교환 네트워크에서 통신 엔티티의 컴퓨터 수단에 의해 시행되는 방법, 컴퓨터 프로그램, 컴퓨터 판독 가능한 비일시적 기록 매체 및 패킷 교환 네트워크의 통신 엔티티 KR20210137204A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP19305557.1A EP3734919A1 (en) 2019-04-30 2019-04-30 In-band signalling for dynamic transmission time window control
EP19305557.1 2019-04-30
PCT/JP2020/009281 WO2020222289A1 (en) 2019-04-30 2020-02-27 Method implemented by computer means of a communicating entity in a packet-switched network, and computer program and computer-readable non-transient recording medium thereof, and communicating entity of a packet-switched network

Publications (1)

Publication Number Publication Date
KR20210137204A true KR20210137204A (ko) 2021-11-17

Family

ID=66625876

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217033510A KR20210137204A (ko) 2019-04-30 2020-02-27 패킷 교환 네트워크에서 통신 엔티티의 컴퓨터 수단에 의해 시행되는 방법, 컴퓨터 프로그램, 컴퓨터 판독 가능한 비일시적 기록 매체 및 패킷 교환 네트워크의 통신 엔티티

Country Status (7)

Country Link
US (1) US20220210078A1 (ko)
EP (1) EP3734919A1 (ko)
JP (1) JP7191253B2 (ko)
KR (1) KR20210137204A (ko)
CN (1) CN113748650A (ko)
TW (1) TWI756666B (ko)
WO (1) WO2020222289A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10893234B2 (en) * 2019-03-28 2021-01-12 David Clark Company Incorporated System and method of dynamic playback variation for multimedia communication
CN114513477A (zh) * 2020-11-17 2022-05-17 华为技术有限公司 报文处理方法以及相关装置
CN113708903B (zh) * 2021-07-09 2022-12-02 北京邮电大学 基于时间戳的信令确定性传输方法、装置、设备及介质

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5309432A (en) * 1992-05-06 1994-05-03 At&T Bell Laboratories High-speed packet switch
US6967951B2 (en) * 2002-01-11 2005-11-22 Internet Machines Corp. System for reordering sequenced based packets in a switching network
US7372865B2 (en) * 2003-07-09 2008-05-13 Fujitsu Limited Processing data packets using time stamped marker packets
US20070291768A1 (en) * 2006-06-16 2007-12-20 Harris Corporation Method and system for content-based differentiation and sequencing as a mechanism of prioritization for QOS
RU2549159C2 (ru) * 2010-05-03 2015-04-20 Нокиа Корпорейшн Сокращение служебной информации протокола
GB2496681A (en) * 2011-11-21 2013-05-22 Push Technology Ltd A publish/subscribe system with time-sensitive message delivery to subscribers
US9219693B2 (en) * 2012-02-22 2015-12-22 Marvell World Trade Ltd. Network devices with time aware medium access controller
US9705700B2 (en) * 2014-10-21 2017-07-11 Cisco Technology, Inc. Sparse graph coding scheduling for deterministic Ethernet
EP3057273B1 (en) * 2015-02-13 2019-03-27 Mitsubishi Electric R&D Centre Europe B.V. Method for a traffic shaping in a network
EP3379793A1 (en) 2017-03-22 2018-09-26 Mitsubishi Electric R&D Centre Europe B.V. Asynchronous frame scheduler with efficient support for fragmentation
US10754816B2 (en) * 2018-12-21 2020-08-25 Intel Corporation Time sensitive networking device

Also Published As

Publication number Publication date
TWI756666B (zh) 2022-03-01
JP7191253B2 (ja) 2022-12-16
TW202046690A (zh) 2020-12-16
CN113748650A (zh) 2021-12-03
WO2020222289A1 (en) 2020-11-05
US20220210078A1 (en) 2022-06-30
EP3734919A1 (en) 2020-11-04
JP2022518631A (ja) 2022-03-15

Similar Documents

Publication Publication Date Title
TWI601395B (zh) 對網路中之資料框進行流量整形的方法及用於該方法之裝置及電腦程式產品
JP6516930B2 (ja) イーサネットスイッチにおけるスケジューリングされたフレームの多重化方法
KR20210137204A (ko) 패킷 교환 네트워크에서 통신 엔티티의 컴퓨터 수단에 의해 시행되는 방법, 컴퓨터 프로그램, 컴퓨터 판독 가능한 비일시적 기록 매체 및 패킷 교환 네트워크의 통신 엔티티
US10652044B2 (en) Ultra-low transmission latency for sporadic network traffic
TWI665896B (zh) 用以傳輸通訊訊號訊框之方法、實體及程式
US10367743B2 (en) Method for traffic management at network node, and network node in packet-switched network
US20240171518A1 (en) Method implemented in packet-switched network for scheduling transmission of ethernet frame
Steiner et al. IEEE 802.1 Audio/Video Bridging and Time-Sensitive Networking
CN117938764A (zh) 一种基于fpga的时间敏感网络异步流量调度方法及系统
JP2002325092A (ja) 通信装置とその優先制御方法、及び優先制御プログラム

Legal Events

Date Code Title Description
WITB Written withdrawal of application