KR20230105437A - 산업용 IoT에서 사용되는 TSN 네트워크를 위한 비결정적 중단을 제거하는 공동 트래픽 라우팅 및 스케줄링 방법 - Google Patents

산업용 IoT에서 사용되는 TSN 네트워크를 위한 비결정적 중단을 제거하는 공동 트래픽 라우팅 및 스케줄링 방법 Download PDF

Info

Publication number
KR20230105437A
KR20230105437A KR1020220000811A KR20220000811A KR20230105437A KR 20230105437 A KR20230105437 A KR 20230105437A KR 1020220000811 A KR1020220000811 A KR 1020220000811A KR 20220000811 A KR20220000811 A KR 20220000811A KR 20230105437 A KR20230105437 A KR 20230105437A
Authority
KR
South Korea
Prior art keywords
time
flow
critical
flows
traffic
Prior art date
Application number
KR1020220000811A
Other languages
English (en)
Other versions
KR102595945B1 (ko
Inventor
홍승호
유팅
Original Assignee
네스트필드(주)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 네스트필드(주) filed Critical 네스트필드(주)
Priority to KR1020220000811A priority Critical patent/KR102595945B1/ko
Priority to PCT/KR2022/016062 priority patent/WO2023132443A1/ko
Priority to CN202280069226.XA priority patent/CN118104214A/zh
Publication of KR20230105437A publication Critical patent/KR20230105437A/ko
Application granted granted Critical
Publication of KR102595945B1 publication Critical patent/KR102595945B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/125Shortest path evaluation based on throughput or bandwidth
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/22Alternate routing
    • 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/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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

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

Abstract

본 발명은 시간이 중요한 플로우(time-critical flow)에 대한 경로를 계산하고 스케줄을 구성하기 위해 새로운 공동 트래픽 라우팅 및 스케줄링 방법을 제안한다. 본 발명에 따른 방법의 타당성을 무작위 합성 테스트 시나리오를 사용하여 검증하였다. 시뮬레이션 결과 본 발명에 따른 방법은 시간이 중요한 트래픽의 실시간 요구 사항을 보장할 수 있음을 보여주었다. 다음으로 스케줄링 가능한 플로우의 수와 네트워크 크기의 관점에서 제안하는 방법의 확장성을 평가하였다. 그 결과 실제 산업용 네트워크 토폴로지와 랜덤 네트워크 토폴로지(최대 21개의 스위치와 105개의 엔드 스테이션 포함)에서 4000개의 흐름에 대한 계산 시간이 1초 미만인 것으로 나타났으며 이는 제안한 방법의 완벽한 확장성을 나타낸다. 또한 잘 알려진 ILP 기반 접근 방식, 충돌 정도(DoC) 인식 반복 라우팅 및 스케줄링(DA/IRS) 접근 방식 및 HGA(하이브리드 유전 알고리즘) 기반 접근 방식에 비해 제안된 방법이 훨씬 더 빠르다. 즉, 본 발명에 따른 방법은 세 가지 접근 방식의 계산 시간의 각각 2.83%, 0.13% 및 0.069%만 필요하다.

Description

산업용 IoT에서 사용되는 TSN 네트워크를 위한 비결정적 중단을 제거하는 공동 트래픽 라우팅 및 스케줄링 방법 {Joint Traffic Routing and Scheduling Method Eliminating the Nondeterministic Interruption for TSN Networks Used in IIoT}
본 발명은 트래픽에 대한 라우팅 및 스케줄링 기술에 관한 것으로서, 상세하게는 시간이 중요한 트래픽의 실시간 요구 사항을 보장하고 네트워크 확장성을 가진 공동 트래픽 라우팅 및 스케줄링 방법에 관한 것이다.
산업 자동화 시스템에서 다양한 컨트롤러, 센서 및 액추에이터 간의 안정적인 정보 교환은 시스템 안정성을 보장하는 중요한 메커니즘이다. 정보 교환을 실현하기 위해 지난 수십 년 동안 여러 산업용 통신 솔루션(예: Fieldbus 시스템 및 산업용 이더넷 프로토콜)이 사용되었다.
계층적 산업 자동화 아키텍처(도 1 참조)의 하위 계층에 적용되는 이러한 레거시 산업 통신 솔루션은 서로 크게 호환되지 않는다. 이를 제조업체 종속이라고 하며 결과적으로 불필요한 비용이 발생한다. 일반적으로 게이트웨이를 사용하여 달성되는 자동화 아키텍처의 상위 계층에 있는 정보 기술(IT) 시스템과 하위 계층에 있는 운영 기술(OT) 시스템을 상호 연결하는 것은 어려운 일이었다.
도 1은 일반적인 산업 자동화 시스템의 계층적 아키텍처를 나타낸 것이다.
도 1에서, PLC는 프로그래머블 로직 컨트롤러, SCADA는 감독 제어 및 데이터 수집, MES는 제조 실행 시스템, ERP는 전사적 자원 관리를 나타낸다.
산업 자동화 시스템은 현재 최근 인더스트리 4.0 운동의 도래와 함께 극적인 변화를 겪고 있으며, 그 결과 도 2와 같이 산업용 사물 인터넷(IIoT)이라는 새로운 평면 자동화 아키텍처가 탄생했다. IT와 OT 시스템의 공존, IT와 OT 시스템 간의 커뮤니케이션 장벽을 허물고 있다. IIoT의 새로운 요구 사항(예: 컨버전스, 결정적인 지연, 현장 장치에 대한 IP 액세스)은 기존 산업용 통신 솔루션으로 충족할 수 없다. 따라서 산업 통신의 추가적 진화가 필요하고 합리적이다.
최근 IEEE 802.1 태스크 그룹에서 TSN(Time-Sensitive Networking)을 개발했다. TSN 표준은 분산 클록 동기화, 스케줄링된 트래픽 향상, 프레임 선점, 경로 제어 및 예약을 포함하여 IEEE 802.1 네트워크에서 실시간 통신을 용이하게 하는 표준 이더넷에 대한 일련의 개선 사항을 나타낸다. TSN은 위에서 언급한 IIoT의 요구 사항을 충족하는 유망한 실시간 통신 솔루션으로 간주된다.
TSN은 시간 제한 게이트(timed-gate) 메커니즘과 라우팅 메커니즘에 대한 명시적 제어를 제공하지만 라우팅 및 스케줄링 방법은 TSN 표준의 범위를 벗어난다. 이러한 메커니즘이 제대로 작동하려면 라우팅 및 스케줄링 방법을 개발해야 한다. 현재 SMT(satisfiability modulo 이론) 또는 휴리스틱(heuristic) 알고리즘을 사용하여 TSN 스케줄링 문제를 해결하기 위한 몇 가지 연구가 수행되었다.
그 연구들은 흐름의 경로가 미리 제공되었다고 가정했다. 라우팅 프로세스와 스케줄링 프로세스를 분리하면 솔루션 공간이 줄어든다. 여러 연구들은 시간 트리거 네트워크에 대한 라우팅 및 스케줄링을 고려했다. 그러나 여전히 계산 시간이 길어 실용화에 어려움이 있다.
한국공개특허공보 제10-2021-0018990호
본 발명은 상술한 문제점을 극복하기 위해 창안된 것으로서, 본 발명의 목적은 새롭고 실용적인 공동 트래픽 라우팅 및 스케줄링 방법을 제공하는 것이다.
이를 위해, 본 발명에 따른 공동 라우팅 및 스케줄링 방법은 산업 자동화 시스템의 제어 장치에서 수행되는 방법으로서, 네트워크 토폴로지(network topology), N개의 트래픽 흐름(traffic flow)의 사양(specification) 및 각 트래픽 흐름에 대해 초기 후보 경로 개수(K)를 입력받는 초기 입력 단계와, N개의 트래픽 흐름의 사양을 이용해 각 트래픽 흐름에 대해 K개의 후보 경로를 포함하는 유효 경로 집합을 생성하는 후보 경로 생성 단계와, 각 트래픽 흐름의 유효 경로 집합 및 모든 후보 경로에 속한 모든 링크의 잔여 대역폭에 근거하여 각 트래픽 흐름의 최적 경로를 결정하는 라우팅 단계와, 모든 N개의 트래픽 흐름의 최적 경로 및 사양에 근거하여 각 트래픽 흐름에 대해 메시지 전송 순간(message transmission instant) 및 경로 상의 스위치의 게이트 제어 리스트(Gate Control List)을 결정하는 스케줄링 단계를 포함한다.
상술한 바와 같이, 본 발명은 시간이 중요한 트래픽의 실시간 요구 사항을 보장할 수 있고 네트워크 확장성을 가진다.
도 1은 일반적인 산업 자동화 시스템의 계층적 구조를 나타낸 도면.
도 2는 TSN 네트워크가 적용된 산업 자동화 시스템의 계층적 구조를 나타낸 도면.
도 3은 TSN 엔드 스테이션/스위치의 출구 포트의 구성을 나타낸 도면.
도 4는 본 발명의 실시예에 따른 TSN 토폴로지를 나타낸 도면.
도 5는 본 발명의 실시예에 따른 흐름 fi의 경로 상에 출구 포트 ri opt[k]의 대역폭 할당을 나타낸 도면.
도 6은 본 발명에 따른 시간 슬롯 개수
Figure pat00001
를 결정하는 프로세스를 설명하기 위한 도면.
도 7은 출구 포트 ri opt[k]에서 흐름 fi에 첫 번째 TS를 결정하기 위해
Figure pat00002
Figure pat00003
를 사용하는 예를 설명하기 위한 도면.
도 8은 TSAImax 동안 각 출구 포트에서 흐름 fi에 첫 번째 TS를 할당하는 과정을 설명하기 위한 도면.
도 9는 본 발명에 따른 공동 라우팅 및 스케줄링 방법의 순서도.
도 10은 테스트 시나리오에서 TSN 네트워크를 나타낸 스크린샷.
도 11은 본 발명의 성능 평가에 사용된 15개의 스위치 및 31개의 엔드 스테이션을 가진 Orion CEV 네트워크를 나타낸 도면.
이하, 첨부된 도면을 참조하여 본 발명에 따른 실시예를 상세하게 설명한다. 본 발명의 구성 및 그에 따른 작용 효과는 이하의 상세한 설명을 통해 명확하게 이해될 것이다.
본 발명의 상세한 설명에 앞서, 동일한 구성요소에 대해서는 다른 도면상에 표시되더라도 가능한 동일한 부호로 표시하며, 공지된 구성에 대해서는 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 구체적인 설명은 생략하기로 함에 유의한다.
본 발명은 시간이 중요한 흐름에 대한 경로를 계산하고 스케줄을 구성하기 위해 새로운 공동 트래픽 라우팅 및 스케줄링 방법을 제안한다.
동일한 보호 윈도우 내에서 시간이 중요한 여러 프레임을 전송할 수 있다. 따라서 게이트 제어 목록(GCL)의 항목 수는 최대값, 즉 1024개 항목을 초과하지 않도록 제한될 수 있다. 계산된 GCL은 간결하므로 계산된 GCL을 실제 TSN 장치에서 쉽게 구현할 수 있다.
본 발명에 따른 방법의 타당성을 시뮬레이션 실험을 통해 검증한다. 시뮬레이션 결과, 하나의 네트워크 내에서 시간에 민감한 트래픽과 그렇지 않은 트래픽이 공존하는 경우에도 본 발명에 따른 방법을 사용하면 시간에 민감한 트래픽의 실시간 요구 사항을 보장할 수 있음을 보여준다.
본 발명에 따른 방법의 플로우 수와 네트워크 크기의 확장성을 평가한다. 실험은 실제 산업 네트워크 토폴로지(15개의 스위치와 31개의 엔드 스테이션 포함)에서 최대 4000개의 흐름에 대한 계산 시간이 1초 미만임을 보여준다. 또한 최대 21개의 스위치와 115개의 종단국이 있는 랜덤 네트워크에서 4000개의 흐름에 대한 계산 시간도 1초 미만 수준으로 본 발명에 따른 방법의 완벽한 확장성을 나타낸다.
또한, 잘 알려진 ILP 기반 접근 방식, 충돌 정도(DoC) 인식 반복 라우팅 및 스케줄링(DA/IRS) 접근 방식 및 하이브리드 유전 알고리즘(HGA) 기반 접근 방식과 비교하여, 본 발명에 따른 방법은 세 가지 접근 방식의 계산 시간의 각각 2.83%, 0.13% 및 0.069%만 필요로 하기 때문에 계산 시간 측면에서 훨씬 더 빠르다.
아키텍처 모델
아키텍처 모델은 실제 TSN 네트워크를 표현한 것으로, ES로 표시되는 종단 스테이션(end station)(TSN 및 비 TSN 종단국), SW로 표시되는 TSN 스위치 및 전이중(full-duplex) 물리적 링크를 포함한다. 각 TSN 스위치는 일부 TSN 및 비 TSN 종단 스테이션을 연결할 수 있다. IEEE 802.1AS-rev에 따라 모든 TSN 스위치와 TSN 종단 스테이션의 클럭은 충분히 동기화된 것으로 가정한다. TSN 스위치와 TSN 종단 스테이션은 모두 802.1Qbv 표준에 따라 예약된 프레임 전송을 지원한다.
TSN 종단 스테이션과 TSN 스위치의 각 출구 포트는 도 3과 같이, 시간 인식 셰이퍼(time-aware shaper)를 배치하고 8개의 대기열을 가지고 있다. 이 중 IEEE 802.1Q 트래픽 클래스 7 및 6에 해당하는 2개의 대기열(queue)은 시간이 중요한 트래픽을 관리하는데 특화되어 있고, 나머지 6개 대기열은 시간이 중요하지 않은 트래픽을 관리하는데 사용된다.
각 대기열에는 시간 제한 게이트(timed gate)가 있다. 대기열의 게이트가 열려 있으면 대기열 내부의 프레임이 전송될 수 있다. 그렇지 않으면 프레임은 게이트가 열릴 때까지 전송되기 전에 대기열에서 기다려야 한다. 따라서 "닫힘" 또는 "열림"과 같은 게이트 상태를 관리하여 프레임 전송을 예약하거나 제어할 수 있다. 특히 게이트 상태는 GCL(Gate Control List)의 항목에 따라 변경된다. GCL의 각 항목은 게이트 작업을 나타내며, "GateOperationName" 값, 8개 게이트의 상태를 결정하는 "GateStates" 값, 이 작업이 지속되는 시간을 결정하는 "TimeInterval" 값으로 구성된다. GCL에서의 동작은 주기적으로 반복되며, 반복 주기는 Tcycle로 표시된다. TSN 네트워크는 시간이 중요한 트래픽(time-critical traffic)과 시간이 중요하지 않은 트래픽(non-time-critical traffic)이 공존할 수 있는 통합 네트워크이다.
시간이 중요한 트래픽의 전송을 방해하는 시간이 중요하지 않은 트래픽의 전송을 방지하려면 이들 사이에 보호 대역을 배치해야 한다. 802.1Qbv 표준에 따르면 보호 대역의 길이는 최대 전송 단위(MTU) 크기 프레임의 전송 시간만큼 설정할 수 있다. 또는 스위치가 시간이 중요하지 않은 트래픽 프레임의 길이를 미리 알고 있는 경우에는 시간이 중요하지 않은 트래픽 프레임의 최대 전송 시간만큼 가드 밴드의 길이를 설정할 수 있다. 본 발명의 실시예에서는 보호 대역의 길이를 MTU(최대 전송 단위) 크기 프레임의 전송 시간만큼 설정한다.
네트워크 토폴로지는 방향성 그래프 G≡(V,E)로 모델링된다. 여기서 V=ES∪SW는 장치 집합, 즉 종단 스테이션 및 스위치를 나타내고, E⊆V×V는 두 개의 다른 장치를 연결하는 방향성 물리적 링크 집합을 나타낸다.
도 4는 ES={ESi|i=1,...,9} 및 SW={SWj|j=1,...,3}인 TSN 네트워크 토폴로지의 예를 나타낸다.
도 4를 참조하면, 다른 경로를 가진 두 개의 플로우(f1, f2)가 ES2에서 ES4와 ES9로 각각 보내진다.
두 장치 va 및 vb(va∈V, vb∈V) 간의 각 전이중 물리적 링크는 순서쌍 [va,vb] 및 [vb,va]로 표시되는 두 개의 개별 방향 링크로 간주되며, 여기서 첫 번째 요소는 발신자 장치(발화자)를 정의하고, 두 번째 요소는 수신자 장치(수신자)를 정의한다. 예를 들어, ES2와 SW1 사이의 물리적 링크는 [ES2, SW1] 및 [SW1, ES2]로 표시된 두 개의 개별 방향 링크로 간주된다.
어플리케이션 모델
시간이 중요한 애플리케이션 및 시간이 중요하지 않은 애플리케이션의 집합이 TSN 네트워크 내에서 실행되는 것으로 간주한다. 시간이 중요한 애플리케이션은 시간이 중요한 트래픽 흐름(예: 주기적인 센서 모니터링 메시지)으로 표시되고, 시간이 중요하지 않은 애플리케이션은 시간이 중요하지 않은 트래픽 흐름(예: 산발적인 오피스 애플리케이션 메시지)으로 표시된다.
흐름은 하나의 발신자(소스 엔드 스테이션)에서 하나 이상의 청취자(목적지 엔드 스테이션)로의 멀티캐스트 메시지 전송이다. 멀티캐스트 흐름은 유니캐스트 흐름의 집합으로 간주될 수 있다. 일반성을 잃지 않고 형식을 단순화하기 위해 청취자의 수를 하나(유니캐스트)로 줄이고 모델을 일반 시나리오로 확장하는 것은 간단한 단계이다.
흐름 fi는 투플(srci,dsti,pdi,szii,hopi j,Ri j)로 특징지어지며, 여기서 (1) srci∈ES는 소스 엔드 스테이션을 나타내고, (2) dsti∈ES는 목적지 엔드 스테이션을 나타낸다. (3) pdi는 메시지 주기를 나타내고, (4) szi는 메시지 크기를 나타내며, (5) φi는 최대 허용 가능한 종단 간 지연 요구 사항을 나타내고, (6) hopi j는 j번째 경로의 홉 개수(흐름 fi의 K개 후보 경로로부터)를 나타내고, (7) Ri j={ri j[k]∈E|k=0,...,hopi j}는 흐름 fi의 j번째 경로를 나타낸다. Ri j는 전파 경로에 있는 모든 물리적 링크(ri j[k])로 구성된 집합이다. 여기서 k는 경로에 있는 링크의 시퀀스이다.
예를 들어, ri j[0]은 흐름을 전송하는 소스 엔드 스테이션과 흐름을 수신하는 첫 번째 홉 스위치의 입구 포트 간의 물리적 링크를 나타낸다. 모든 출구 포트는 최대 하나의 링크에 연결되므로 출구 포트와 관련 링크 사이에 동등성이 설정된다. 예를 들어, ri j[0]은 또한 소스 엔드 스테이션의 출구 포트를 나타낸다. 각 주기적 메시지는 다음 주기적 메시지가 전송되기 전에 배달되어야 한다. 따라서 최대 허용 가능한 종단간(e2e) 지연 요구 사항이 있다.
투플 표기법의 이해를 돕기 위해 도 4의 흐름 f2(녹색으로 표시)에 대한 설명을 예로 든다. 소스 엔드 스테이션 src2는 ES2이고, 목적지 엔드 스테이션 dst2는 ES9이다. 주기 pd2는 300us로 설정되고(주기 값은 애플리케이션에 따라 다름), 메시지 크기 sz2는 MTU 크기로 설정되며, 최대 허용 e2e 지연 φ2의 요구 사항은 300us이다. f2에 대해 하나의 경로(즉, R2 1)만 존재하고, 경로 R2 1의 홉 개수 hop2 1은 3이고, 경로 R2 1은 {[ES2, SW1], [SW1, SW2], [SW2, SW3], [SW3, ES9]} 또는 ES2→SW1→SW2→SW3→ES9로 표현된다.
시간이 중요하지 않은 트래픽 흐름은 산발적이며 e2e 지연 요구 사항이 없다. 따라서 pdi 및 φi 매개변수는 시간이 중요하지 않은 트래픽 흐름에 대해 존재하지 않는다. 본 발명에 따른 방법은 주로 시간이 중요한 트래픽 흐름을 스케줄링하고 나머지 대역폭 자원은 시간이 중요하지 않은 트래픽 흐름에 할당한다. 다음 설명에서 트래픽 흐름은 특별한 설명이 제공되지 않은 경우 시간이 중요한 트래픽 흐름을 나타낸다.
흐름 fi의 메시지의 실제 e2e 지연(De2e i)은 리스너가 메시지를 수신한 시간과 해당 발화자가 메시지를 전송하기 시작한 시간의 차이이다. 시간이 중요한 애플리케이션의 요구 사항을 충족하려면, 각 시간이 중요한 메시지의 De2e i가 미리 결정된 최대 허용 e2e 지연(φi)보다 작거나 같아야 한다. 실제 e2e 지연의 구성은 데이터 전파 경로를 따라 도입된다. 메시지는 하나의 프레임만 포함한다고 가정한다.
본 발명에서는 MTU 크기의 프레임을 고려하며, 프레임 길이는 Lmtu이다. 메시지의 모든 비트를 물리적 링크로 전송하는 데 필요한 시간을 전송 지연 dtrans라고 한다. 결과적으로 물리적 링크에서 이 메시지의 전파 지연은 dprop으로 표시된다. 메시지가 스위치에 도착하면 dproc으로 표시되는 처리 지연이 발생한다. dproc 및 dprop은 모든 TSN 스위치 및 물리적 링크에 대해 동일한 것으로 가정한다. 이러한 가정은 TSN 스위치 및 링크의 속성에 따라 개별 처리 및 전파 지연을 정의함으로써 쉽게 완화될 수 있다. 메시지가 중단(또는 큐잉) 없이 화자에서 리스너로 전송되는데 필요한 시간은 Dphy i로 표시된다.
Figure pat00004
여기서, Mi는 흐름 fi의 발화자와 청취자 사이의 전파 경로에 있는 스위치의 수를 나타낸다.
문제 설명
시간이 중요한 메시지가 SWk 스위치의 출구 포트 대기열에서 기다려야 하는 경우, 비결정적 대기열 지연(
Figure pat00005
)이 발생하며 이 메시지의 전체 e2e 지연 De2e i는 다음과 같이 표현될 수 있다.
Figure pat00006
메시지의 De2e i 가 φi를 초과하면 시간이 중요한 산업 애플리케이션의 요구 사항을 충족할 수 없다.
본 발명에서는 시간이 중요한 흐름에 대한 경로를 계산하고, 예기치 않은 전송 충돌로 인한 시간이 중요한 흐름에 대한 비결정적 큐잉 지연(또는 중단)을 제거하고, 시간이 중요한 흐름과 중요하지 않은 흐름이 공존할 수 있고 모든 시간이 중요한 흐름의 e2e 지연 요구 사항을 동시에 충족할 수 있도록 스케줄을 구성하는 새로운 방법을 제안한다.
본 발명에 따른 방법은 시간이 중요하지 않은 흐름에 대한 경로도 계산할 수 있으나, 시간이 중요한 흐름에 대한 라우팅 및 일정을 결정하는 데 중점을 두고 있기 때문에 시간이 중요하지 않은 흐름에 대한 경로는 최단 경로 알고리즘을 사용하여 계산될 수 있다. 공동 라우팅 및 스케줄링 방법에 대한 상세한 내용은 후술하기로 한다.
공동 라우팅 및 스케줄링 방법
본 발명에 따른 방법은 표 1과 같이 입력과 출력을 가진다.
입력 ㆍ네트워크 토폴로지 G
ㆍN개의 시간이 중요한 트래픽 흐름의 사양
- 소스 엔드 스테이션 srci
- 목적지 엔드 스테이션 dsti
- 주기 pdi
- 최대 허용 e2e 지연 φi
- 메시지 크기 szi: Lmtu와 같다
ㆍ후보 경로의 개수 K: 각 시간이 중요한 트래픽 흐름에 대해 초기 계산된다
출력 ㆍ시간이 중요한 트래픽 흐름에 대한 경로
ㆍ스케줄 결과
- 대응하는 TSN 발화자로부터 각 시간이 중요한 트래픽 흐름의 첫번째 메시지의 전송 순간 FMTIi talker
- TSN 스위치에 대한 GCL
1) 공동 라우팅 및 스케줄링 방법의 전체 과정
입력: 네트워크 토폴로지(G), N개 흐름 사양, 각 흐름에 대해 초기에 계산할 후보 경로의 개수(K)
01. 각 흐름 fi, i=1, ..., N에 대해 유효 경로 집합(VRi)과 구 유효 경로 집합(oldVRi)을 빈 집합으로 초기화한다
02. φi의 오름차순에 따라 대응하는 흐름 fi의 K개 경로의 타당성을 순서대로 검토한다. 여기서, 각 새로운 경로의 Dphy i와 φi를 비교한다. Dphy i i인 경로를 유효 경로 집합(VRi)에 포함시키지 않는다.
03. 후술하는 최적 라우팅 방법을 사용하여 가장 작은 φi를 가진 흐름에 대한 함수값 |VRi|을 계산하여, 최적 경로로서 가장 큰 함수값을 가진 경로를 선택한다.
04. φi의 오름차순으로 남아 있는 흐름에 대한 최적 경로를 선택한다.
05. 모든 흐름의 최적 경로 및 사양을 입력으로서 후술하는 스케줄링 방법에 적용하여 스케줄 결과를 계산한다.
06. 스케줄 결과를 얻는데 실패하면
07. 흐름의 VRi에 있는 모든 유효 경로가 시도되지 않았으면,
08. 가장 작은 φi를 가진 흐름의 VRi에서 다음 차선 최적(suboptimal) 경로를 최적 경로로 선택한다.
09. 라인 04로 돌아간다.
10. 그렇지 않고 흐름의 VRi에 있는 모든 유효 경로가 시도되었으면
11. VRi과 oldVRi(i=1, ..., N)이 동일하지 않으면,
12. K값을 1 증가시킨다.
13. VRi 값을 oldVRi에 저장한다.
14. 라인 02로 돌아간다.
15. 그렇지 않고 VRi과 oldVRi(i=1, ..., N)이 동일하면
16. K값이 증가함에도 더 이상 유효한 경로가 없으며, 네트워크 시스템은 불안정 상태에 도달하고, 입력 트래픽은 네트워크의 대역폭 용량을 초과하여 흐름의 개수를 줄여야 하고 종료된다는 것을 나타낸다.
17. 그렇지 않고 스케줄 결과가 얻으면
18. 흐름에 대한 최적 경로 및 스케줄 결과가 출력된다.
출력: 흐름에 대한 경로 및 스케줄 결과
먼저 각각의 흐름 fi,i=1,... ,N에 대해 유효 경로 집합(VRi)과 구 유효 경로 집합(oldVRi)을 빈 집합으로 초기화한다(라인 01).
다음, 주어진 네트워크 토폴로지(G)와 N개의 시간이 중요한 트래픽 흐름의 사양을 기반으로 각 흐름 fi에 대한 첫 번째 K개의 후보 경로(Ri j,j=1,...,K)는 최대 허용 e2e 지연 φi의 오름차순에 따라 순차적으로 계산된다(라인 02).
다양한 알고리즘을 사용하여 첫 번째 K개 경로를 계산할 수 있다. 예를 들어, Yen의 K 최단 경로 알고리즘, Feng의 노드 분류 알고리즘, Kurtz의 사이드트랙 기반 알고리즘, Zoobi의 사이드트랙 기반 변형 알고리즘이 있다. 본 발명에서는 현재 K개의 최단 단순 경로를 계산하는 가장 빠른 솔루션인 Zoobi의 사이드트랙 기반 변형 알고리즘을 채택하였다. fi에 대한 첫 번째 K 경로를 계산하는 과정에서 다음 새 경로를 얻을 때마다 이 새 경로의 홉 번호를 얻을 수 있다. 수학식 1을 사용하여, fi의 메시지를 경로에서 중단(또는 큐잉) 없이 발화자로부터 청취자에게 전송하는데 필요한 시간인 Dphy i를 계산한 후 메시지의 φi와 비교한다. Dphy i가 φi보다 크면 이 새로운 경로는 유효하지 않은 경로로 간주되고 fi에 대한 유효한 경로 집합(VRi)에 포함되지 않는다. VRi의 유효한 경로 수는 |VRi|로 표시된다.
φi가 가장 작은 흐름에 대해 설정된 유효한 경로를 얻은 후 흐름의 경로 |VRi|의 함수값은 후술하는 최적의 라우팅 방법을 사용하여 계산된다. |VRi| 중에서 가장 큰 함수값을 가진 경로가 최적의 경로로 선택된다(라인 03).
그 후, 최적의 라우팅 방법을 사용하여 φi 값의 오름차순을 기반으로 나머지 흐름에 대한 최적의 경로를 순서대로 선택한다(라인 04).
N개의 시간이 중요한 트래픽 흐름의 최적 경로와 흐름 사양은 스케줄 결과를 계산하기 위해 후술하는 스케줄링 방법에 대한 입력으로 사용된다(라인 05).
스케줄 결과를 얻는데 실패하면 φi가 가장 작은 흐름의 다음 차선책 경로가 최적 경로로 선택된다. 그 후 나머지 흐름에 대한 최적의 경로가 다시 계산되고 스케줄 결과를 계산하는데 스케줄 방법이 재사용됩니다. 스케줄 결과가 성공적으로 계산되거나 가장 작은 φi를 가진 흐름에 대한 유효한 경로 집합 VRi의 모든 유효한 경로가 시도될 때까지 프로세스가 반복된다(라인 06-09).
φi가 가장 작은 흐름에 대한 VRi의 모든 유효한 경로를 시도했지만 스케줄 결과를 얻는데 여전히 실패한 후, 각 흐름의 유효한 경로 집합(VRi)과 이전 유효한 경로 집합(oldVRi, 초기에는 비어 있음)을 비교한다. VRi와 oldVRi가 같지 않으면 다음 반복 실행에서 유효한 추가 경로를 얻을 수 있음을 나타낸다. 따라서 K 값은 1씩 증가하고 VRi의 현재 값을 oldVRi에 저장하고, 스케줄 결과가 성공적으로 계산될 때까지 또는 새로 얻은 VRi와 oldVR_i가 동일할 때까지 전체 라우팅 및 스케줄링 프로세스가 반복된다. 즉, 라인 02로 돌아간다(라인 10-14).
각 흐름 fi에 대해 VRi가 oldVRi와 같으면 K 값이 증가하더라도 추가로 유효한 경로를 얻지 못하고 네트워크 시스템이 불안정한 상태에 도달하고 입력 트래픽이 네트워크 대역폭 용량을 초과하고, 네트워크의 흐름 수를 줄여야 한다(라인 15-16). 반면에 스케줄 결과가 성공적으로 계산되면 흐름에 대한 경로와 스케줄 결과가 출력된다(라인 17-18).
2) 최적 라우팅 방법
입력: 흐름 fi의 VRi, 네트워크 모든 링크의 잔여 대역폭
01. 경로 Ri j, Ri j∈VRi에 대해
02. 수학식 1을 이용해 Ri j.Dphy i 계산한다.
03. 수학식 3을 이용해 Ri j.B을 계산한다.
04. 종료
05. 모든 경로에 대해 (Ri j.Dphy i)mim 및 (Ri j.B)max를 계산한다.
06. 경로 Ri j, Ri j∈VRi에 대해
07. 수학식 4를 이용해
Figure pat00007
을 계산한다.
08. 종료
09. 가장 큰 함수값을 가지는 경로를 최적 경로(Ri opt)로 선택한다.
10. 최적 경로 상의 잔여 대역폭을 업데이트한다.
출력: 흐름 fi에 대한 최적 경로 Ri opt
최적의 라우팅 방법의 목표는 최대 허용 e2e 지연을 초과할 가능성을 줄이는 흐름의 최적 경로를 선택하고, 대역폭 측면에서 더 높은 정도의 혼잡이 있는 일부 링크를 피하는 것이다. 흐름 fi에 대한 최적의 경로를 결정하기 위해 경로 Ri j의 Ri j.Dphy i 및 Ri j.B가 메트릭 선택 기준을 참조하여 메트릭으로 선택된다.
흐름 fi의 경로 Ri j의 Ri j.Dphy i는 fi의 메시지를 중단(또는 큐잉)하지 않고 발화자에서 수신기로 전송하는 데 필요한 시간이며, 이는 수학식 1을 사용하여 계산된다. 경로 Ri j의 잔여 대역폭(Ri j.B)은 경로의 모든 링크 중 최소 잔여 대역폭이다.
Figure pat00008
여기서, ri j[k].b는 흐름 fi의 경로 Ri j 상의 링크 ri j[k], k=0, ..., hopi j의 잔여 대역폭이다. 메트릭 Ri j.Dphy i 및 Ri j.B에 근거하여, 경로 Ri j에 대한 함수 func(Ri j.Dphy i, Ri j.B)를 정의한다.
Figure pat00009
여기서,
Figure pat00010
, 이에 대해 ω1과 ω2는 시스템 설계자의 가중치 선호에 근거하여 0과 1사이의 값을 가진다. (Ri j.Dphy i)mim은 모든 경로 중에서 최소 이고, (Ri j.B)max는 모든 경로 중에서 최대 Ri j.B이다.
모든 경로에 대해 흐름 fi의 유효 경로 집합(VRi)에서 Ri j.Dphy i 및 Ri j.B가 계산된다(라인 01-04).
그러면 모든 경로에 대해 (Ri j.Dphy i)mim 및 (Ri j.B)max가 계산된다(라인 05).
다음, 모든 경로에 대해 유효 경로 집합(VRi)에서 함수값
Figure pat00011
이 계산된다(라인 06-08).
최대 함수값을 가지는 경로가 최적 경로(Ri opt)로 선택된다(라인 09).
Figure pat00012
을 최대화하는 것은 Ri j.Dphy i를 최소화하고 Ri j.B를 최대화하는 것을 의미한다.
더 적은 Ri j.Dphy i을 가진 경로를 선택하는 것은 φ1을 만족시키는데 도움이 되고, 더 큰 Ri j.B를 가진 경로를 선택하는 것은 전체 네트워크를 통해 흐름을 확산하고 대역폭 측면에서 더 낮은 정도의 혼잡도를 가진 경로를 선택하는데 도움이 된다.
다른 메트릭도 수학식 4에 포함될 수 있다. 예를 들어, 결정적 네트워킹(DetNet) 네트워크의 경로 비용이 포함될 수 있다. 흐름에 대한 최적의 경로를 결정한 후 최적의 경로에 있는 링크의 잔여 대역폭이 그에 따라 업데이트될 것이다(라인 10).
3) 스케줄링 방법
본 발명에 따른 스케줄링 방법은 4개의 단계를 포함한다. 스케줄링 방식의 기본 개념은 시분할 다중화를 이용하여 대역폭 자원을 시간 슬롯으로 나누는 것이다. 그런 다음, 각 흐름이 비결정적 대기열 지연을 경험하지 않고 최대 허용 가능한 e2e 지연 요구 사항을 충족하도록 시간이 중요한 각 트래픽 프레임을 적절한 시간 슬롯에 할당한다.
입력: N개의 흐름에 대한 사양 및 최적 경로
01. 단계 1: 수학식 8, 9에 근거하여 시분할 다중화를 위한 시분할 간격의 길이(
Figure pat00013
) 및 시간 슬롯(TS)을 결정한다
02. 단계 2: 수학식 10을 사용하여 각 흐름 fi에 대해 시간 슬롯 할당 간격(TSAIi)을 결정한다
03. 수학식 12를 사용하여 시간이 중요한 데이터 간격
Figure pat00014
에 할당되는 시간 슬롯 개수(
Figure pat00015
)를 결정한다
04. 수학식 13 및 14에 근거해
Figure pat00016
및 시간이 중요하지 않은 데이터 간격
Figure pat00017
의 길이를 계산한다
05. 단계 3: 특정 TS들을 각 흐름 fi에 할당하고 TSN 발화자로부터 첫 번째 시간이 중요한 메시지의 전송 순간(FTMIi talker)을 결정한다
06. 특별히, 먼저 할당 시퀀스 ASeq[n](n=0,...,N-1)를 결정한다
07. 할당 시퀀스 ASeq[n]에 따라 흐름 fi를 선택한다
08. 출구 포트 ri opt[0]에서 첫 번째
Figure pat00018
부터 시작한다
09. 만약
Figure pat00019
이면,
10. 각 fi에 대해 출구 포트 ri opt[0] 상에서
Figure pat00020
의 시작 번호
Figure pat00021
및 시간 슬롯의 시작 번호
Figure pat00022
를 결정하고, 라인 13으로 간다
11. 그렇지 않으면
12. 다음
Figure pat00023
로 이동하여, 라인 9로 간다
13.
Figure pat00024
Figure pat00025
를 결정한다. k=1, ..., hopi opt
14. 수학식 16을 사용하여 FTMIi talker를 결정한다
15. 출구 포트 ri opt[k](k=1, ..., hopi op)에서, TSAIi에 따라 fi에 다른 슬롯을 반복적으로 할당한다
16. 모든 흐름이 FTMIi talker를 할당받을 때까지 라인 07-15를 반복한다
17. 단계 4: TSN 스위치에 대한 GCL를 유도한다
출력: TSN 스위치에 대한 FTMIi talker, GCL
<단계 1>
이 단계는 시분할 다중화를 위한 시분할 간격의 길이(
Figure pat00026
) 및 시간 슬롯(TS)을 결정한다.
시간이 중요한 트래픽 흐름의 메시지가 전파 경로의 송신 포트를 통과할 때 송신 포트의 대역폭 리소스를 공유한다. 본 발명에서는 임의의 TSN 장치(즉, TSN 엔드 스테이션 또는 TSN 스위치)의 출구 포트의 대역폭을 "시분할 간격"이라고 하는 시분할 다중화 간격으로 나눈다. 여기서 임의의 흐름 fi의 최적 경로에 대한 출구 포트 ri opt[k]를 예로 사용한다.
출구 포트 ri opt[k]의 대역폭 할당은 도 5에 도시되어 있다. 각 시분할 간격
Figure pat00027
은 시간이 중요하지 않은 데이터 간격(
Figure pat00028
), 보호 대역 간격(
Figure pat00029
) 및 시간이 중요한 데이터 간격(
Figure pat00030
)으로 분류된다.
Figure pat00031
는 시간이 중요하지 않은 데이터에서 사용된다. 즉, 시간이 중요하지 않은 데이터는 이 시간 간격 동안 전송된다.
Figure pat00032
Figure pat00033
Figure pat00034
를 분리하여 시간이 중요한 트래픽의 전송을 방해하는 시간이 중요하지 않은 트래픽의 전송을 방지하는 데 사용된다.
Figure pat00035
는 여러 TS로 더 세분화되며, 다른 TS는 다른 시간이 중요한 데이터를 전송하는데 사용된다.
수학식 5에 나타낸 바와 같이, N개의 시간이 중요한 트래픽의 주기(pdi) 중에서 가장 작은 값으로서 기본 주기(pdbase)를 정의한다.
Figure pat00036
모든 주기의 최소 공배수인 초주기(hyperperiod)의 길이를 제한하기 위해 조화 주기(harmonic period)를 사용한다. 이 조건을 위반하는 흐름의 경우 수학식 6과 같이, 흐름의 주기(pdi)를 줄이고 조정하여, 주기가 조화(harmonic)된다
Figure pat00037
수학식 6의 첫번 째 항은 pdi가 정수 αi에 기본 주기 pdbase를 곱하여 조정됨을 나타낸다. 여기서, αi는 pdbase에 대한 비율이고 2의 거듭제곱 즉, 2m으로 정의되고 m은 바닥 함수(floor function)
Figure pat00038
으로 결정된다.
Figure pat00039
는 기본 스케줄링 단위이다. 한편,
Figure pat00040
는 시간이 중요한 데이터를 위한 더 많은 시간 슬롯을 포함하기 위해 가능한 한 클 것으로 예상된다. 반면에, 시간이 중요한 트래픽 흐름의 최대 허용 가능한 e2e 지연을 충족하는데 도움이 되도록
Figure pat00041
의 길이는 수학식 7과 같이 가장 작은 주기 값(pdbase)을 초과하지 않도록 설정해야 한다.
Figure pat00042
그리고 나서
Figure pat00043
은 수학식 8과 같이 결정된다.
Figure pat00044
다음으로,
Figure pat00045
의 길이는
Figure pat00046
=Lmtu/NLspd로 결정되며, 여기서 NLspd는 네트워크 링크 속도이다. TS의 길이와 관련하여, TS는 시간이 중요한 프레임의 완전한 전송을 위해 충분히 길어야 하는데, 이는 전송 지연 dtrans을 초래한다. 또한 시간이 중요한 프레임이 전송된 후 이 프레임은 다음 링크에서 전파 지연(dprop)이 발생하고 다음 홉 스위치 내부에서 처리 지연(dproc)이 발생하므로 이 프레임은 다음 홉 스위치에서 이를 위해 설계된 다음 TS 동안 전송될 수 있다. 따라서 TS의 길이는 다음과 같이 결정된다.
Figure pat00047
<단계 2>
이 단계는 시간이 중요한 트래픽 흐름 fi에 대한 시간 슬롯 할당 간격(TSAIi)과 시간이 중요한 데이터 간격
Figure pat00048
에 할당된 시간 슬롯의 수 (
Figure pat00049
)를 결정한다.
Figure pat00050
의 TS는 다른 흐름의 메시지와 스위치에서 수반되는 비결정적 큐 지연 간의 전송 충돌을 피하기 위해 시간이 중요한 트래픽 흐름에 적절하게 할당되어야 한다.
이를 위해서는 먼저 각 흐름에 대해 TSAIi를 결정해야 한다. fi의 각 주기 동안 새로운 메시지가 전송된다. 따라서 TSAIi 값은 수학식 10을 사용하여 결정된다.
Figure pat00051
수학식 10의 TSAIi 정의를 기반으로 최대 시간 슬롯 할당 간격(TSAImax)은 수학식 11에서 나타낸 바와 같이, N개의 시간이 중요한 트래픽 흐름의 TSAIi들의 최소 공배수이다. 스케줄링은 TSAImax 간격으로 반복된다.
Figure pat00052
전술한 바와 같이, 일부 흐름은 동일한 송신 포트를 통과할 때 송신 포트의 대역폭 리소스를 공유한다. 흐름 또는 일부 흐름이 출구 포트를 통과하는 경우 출구 포트를 공유 출구 포트로 정의한다. 모든 시간이 중요한 트래픽 흐름의 경로(Ri opt)는 이미 결정되었으므로 전체 네트워크에서 공유 출구 포트의 수와 각 공유 출구 포트의 대역폭 리소스를 공유하는 흐름의 수를 얻을 수 있다.
전체 네트워크의 공유 출구 포트 집합을 SEP로 표시하고 전체 네트워크의 공유 출구 포트 수를 |SEP|로 표시한다. 네트워크의 l 번째(l=1,...,|SEP|) 공유 출구 포트의 경우, 이 포트를 통과하는 일부 흐름을 포함하는 흐름 집합을 Fl로 표시하고 집합 Fl의 흐름 수는 |Fl|로 표시된다.
예를 들어, 도 4와 같이 네트워크에는 두 개의 흐름(f1 및 f2)이 있으며, 이는 각각 ES2에서 ES4 및 ES9로 전송됩니다. f1의 경로는 ES2→SW1→SW2→ES4이고 f2의 경로는 ES2→SW1→SW2→SW3→ES9이다. 모든 송신 포트는 최대 하나의 링크에 연결되므로 송신 포트와 관련 링크 간에 동등성이 설정된다. 두 흐름의 경로를 기반으로 하여 집합 SEP에는 5개의 공유 송신 포트가 있다. 즉, 첫 번째 공유 출구 포트[ES2, SW1], 두 번째 포트[SW1, SW2], 세 번째 포트[SW2, ES4], 네 번째 포트[SW2, SW3], 다섯 번째 포트[SW3, ES9]가 있다. 따라서 5개 포트에 대응하는 흐름 집합은 F1={f1,f2}, F2={f1,f2}, F3={f1}, F4={f2}, F4={f2}이다.
다음, 시간 슬롯 할당 간격(TSAIi)을 시분할 간격(
Figure pat00053
)으로 나눈 비율을 βi로 표시한다. 즉,
Figure pat00054
이다. TSAIi는 시간 슬롯이 흐름 fi에 얼마나 자주 할당되는지를 나타낸다. 비율 βi의 역수는 단일
Figure pat00055
에서 흐름 fi에 할당하기 위해 필요한 시간 슬롯의 수를 나타낸다. 출구 포트
Figure pat00056
가 네트워크에서 l 번째(l=1,...,|SEP|) 공유 출구 포트라고 가정한다.
Figure pat00057
에서 출구 포트
Figure pat00058
를 통과하는 모든 흐름(집합 Fl 내부)을 수용하려면 최소한
Figure pat00059
시간 슬롯이 단일
Figure pat00060
Figure pat00061
내부에 포함되어야 한다.
또한, 다음 홉 스위치로 메시지가 전송되기 위해서는 하나의 TS가 필요하므로 흐름의 홉 개수를 고려해야 한다. 집합 Fl의 모든 흐름 중 가장 큰 홉 개수를 max(hopi opt),fi∈Fl로 표기하고, 가장 큰 홉 개수를 갖는 흐름의 흐름 ID를 argmax(max(hopi opt))로 표기한다.
최대 홉 개수 max(hopi opt) 및 흐름 ID argmax(max(hopi opt)를 갖는 집합 Fl에서 흐름
Figure pat00062
을 고려하면, 시분할 간격으로 나눈 시간 슬롯 할당 간격
Figure pat00063
의 비율은
Figure pat00064
이다.
흐름
Figure pat00065
의 메시지는 해당 기간 또는 시간 슬롯 할당 간격
Figure pat00066
동안 max(hopi opt) 홉으로 전송된다. 이것은 이 메시지가 단일 시분할 간격 동안 평균적으로
Figure pat00067
홉을 경험한다는 것을 나타낸다.
따라서 시간이 중요한 데이터 간격의 시간 슬롯 수를
Figure pat00068
만큼 추가로 확장해야 한다. 마지막으로
Figure pat00069
(정수)는 수학식 12와 같이 결정된다.
Figure pat00070
다음, 간단한 예를 통해
Figure pat00071
를 결정하는 프로세스를 설명한다. 도 4에서 도시된 바와 같이, ES2는 두 개의 흐름(f1 및 f2)을 각각 ES4 및 ES9로 보낸다.
f1(보라색으로 표시)의 주기와 경로는 각각 150us이고 ES2→SW1→SW2→ES4(홉 개수는 2)이다. f2(녹색으로 표시)의 주기와 경로는 각각 300us이고 ES2→SW1→SW2→SW3→ES9(홉 개수는 3)이다. 시분할 간격의 길이를 150us로 결정할 수 있다. 시간 슬롯 할당 간격 TSAI1 및 TSAI2는 각각 150us 및 300us로 결정된다. TSAImax는 300us로 결정된다.
전술한 바와 같이 5개의 공유 출구 포트, 즉 포트 [ES2, SW1], [SW1, SW2], [SW2, ES4], [SW2, SW3], [SW3, ES9]가 있다. F1={f1,f2}, F2={f1,f2}, F3={f1}, F4={f2}, F4={f2}의 5가지 흐름 집합이 있다.
Figure pat00072
에 의해 시간이 중요한 데이터 구간의 시간 슬롯 개수가 결정되면, 포트 [ES2, SW1], [SW1, SW2], [SW2, ES4], [SW2, SW3], [SW3, ES9]는 각각 2, 2, 1, 1, 1이다.
f1 및 f2의 최대 허용 가능한 e2e 지연 요구 사항이 충족되지 않음을 알 수 있다(도 6(a) 참조). 그러나 시간이 중요한 데이터 간격의 시간 슬롯 수는 수학식 12에 의해 결정된다. 포트 [ES2, SW1], [SW1, SW2], [SW2, ES4], [SW2, SW3], [SW3, ES9]의 시간이 중요한 데이터 간격의 타임 슬롯 수는 각각 3이고, f1 및 f2의 최대 허용 e2e 지연 요구 사항이 충족된다(도 6(b) 참조).
다음으로
Figure pat00073
의 길이가 결정된다. TS의 길이는 단계 1에서
Figure pat00074
와 같이 결정되며,
Figure pat00075
는 수학식 12에 의해 결정된다. 따라서
Figure pat00076
의 길이는 수학식 13과 같이 얻을 수 있다.
Figure pat00077
보호대역 간격
Figure pat00078
의 길이는
Figure pat00079
=Lmtu/NLspd로 결정되며, 여기서 NLspd는 네트워크 링크 속도이고, 시간이 중요하지 않은 데이터 간격
Figure pat00080
의 길이는 수학식 14와 같이 결정된다.
Figure pat00081
<단계 3>
이 단계는 각 시간이 중요한 트래픽 흐름 fi에 특정 TS를 할당하고, TSN 발화자로부터 fi의 첫 번째 시간이 중요한 메시지의 전송 순간(FMTIi talker)을 결정한다. 이 단계에서 더 작은 최대 허용 e2e 지연을 갖는 시간이 중요한 흐름이 우선적으로 시간 슬롯을 할당 받는다. 두 개의 시간이 중요한 흐름의 최대 허용 가능한 e2e 지연이 동일한 경우, 더 많은 홉 개수(hopi opt)를 가진 시간이 중요한 흐름에 우선적으로 시간 슬롯이 할당된다. 2개의 시간이 중요한 흐름의 최대 허용 e2e 지연 및 홉 수가 동일한 경우, 2개의 시간이 중요한 흐름 중 어느 하나에 시간 슬롯을 우선적으로 할당할 수 있다. 본 발명에서는 흐름 ID가 더 작은 시간이 중요한 흐름에 우선적으로 시간 슬롯을 할당한다.
이 규칙을 기반으로 fi의 흐름 ID를 나타내는 정수 값인 할당 시퀀스 ASeq [n](n=0,...,N-1)을 결정한다. 예를 들어, ASeq[0]=1은 흐름 f1이 시간 슬롯을 할당받는 첫 번째 흐름이 될 것임을 나타내고, ASeq[N-1]=5는 흐름 f5가 시간 슬롯을 할당 받는 마지막 흐름이 될 것임을 나타낸다.
단계 2에서 언급한 바와 같이 스케줄링은 TSAImax 간격으로 반복된다. 따라서 다음 설명에서 첫 번째 TSAImax 동안의 스케줄링 과정(즉, 시간 슬롯 할당 과정)만을 기술한다.
TSAImax에서 사용 가능한 TS는 할당 시퀀스 ASeq[n](n=0,...,N-1)에 따라 각 흐름에 순서대로 할당된다. 할당 프로세스의 원리는 할당 시퀀스 ASeq[n]에 따라 TSAImax의 "첫 번째 사용 가능한" TS에 fi의 시간이 중요한 메시지를 할당하는 것이다. 할당 프로세스의 과정은 다음과 같다.
(1) fi에 의해 통과되는 화자/스위치의 출구 포트(ri opt[k],k=0,...,hopi opt)에 대해, TSAImax에서 첫 번째 사용 가능한 TS를 선택하여 흐름 fi에 할당되는 첫 번째 TS를 결정한다.
(2) 단계 2에서 결정된 시간 슬롯 할당 간격 TSAIi에 따라 fi에 출구 포트(ri opt[k],k=0,...,hopi opt)의 다른 시간 슬롯을 반복적으로 할당한다.
다음으로,
Figure pat00082
의 시작 번호(
Figure pat00083
)및 슬롯의 시작 번호(
Figure pat00084
)를 사용하여 각 출구 포트(ri opt[k],k=0,...,hopi opt)에서 흐름 fi에 할당되는 첫 번째 TS를 유일하게 결정하는 방법을 설명한다.
예를 들어, 도 7과 같이,
Figure pat00085
은 두 번째
Figure pat00086
Figure pat00087
내의 세 번째 TS(빨간색 * 표시)가 출구 포트 ri opt[k]에서 흐름 fi에 할당되는 첫 번째 TS라는 것을 의미한다.
흐름 fi에 대해 fi의 발화자의 출구 포트(ri opt[0])에서 fi에 할당된 첫 번째 TS가 먼저 결정된다.
도 8에 도시된 바와 같이, 흐름 fi에 대한
Figure pat00088
Figure pat00089
을 결정하기 위해,
Figure pat00090
에 할당되지 않은 나머지 시간 슬롯
Figure pat00091
의 수를 첫 번째
Figure pat00092
부터 시작해서 반드시 확인해야 한다.
Figure pat00093
가 수학식 15를 만족하면, 나머지 TS 중 첫 번째 할당되지 않은 TS는 흐름 fi에 대한 첫 번째 TS가 될 것이다.
Figure pat00094
이어서, fi에 대한
Figure pat00095
Figure pat00096
가 결정될 수 있다. 그렇지 않으면 할당은 다음
Figure pat00097
로 이동하고 남아 있는 시간 슬롯의 수를 확인해야 한다. fi의 발화자의 출구 포트( ri opt[0])에서 흐름 fi에 대한 첫 번째 TS(빨간색 * 표시)가 결정될 때까지 동일한 프로세스가 반복된다.
이후, fi의 경로에서 다음 스위치의 출구 포트에서 흐름 fi에 할당된 첫 번째 TS가 반복적으로 결정될 수 있다. fi의 메시지가 다음 홉 스위치의 출구 포트(ri opt[k+1])로 전달될 때마다 흐름 fi에 할당된 TS의 위치는 1만큼 이동한다.
현재 출구 포트 ri opt[k]의 시작 슬롯 번호(
Figure pat00098
) 값이 단계 2에서 정의된
Figure pat00099
값보다 작은 경우, 이는 다음 스위치의 출구 포트(ri opt[k+1]) 상에서 동일한 위치에 있는 시분할 간격
Figure pat00100
내부에 흐름 fi에 할당할 수 있는 TS가 사용 가능하다는 것을 의미한다.
따라서 동일한 위치
Figure pat00101
의 다음 TS는 다음 홉 스위치(ri opt[k+1])의 흐름 fi에 할당된 첫 번째 TS가 된다. 현재 출구 포트 ri opt[k]의 시작 슬롯(
Figure pat00102
) 번호 값이
Figure pat00103
와 같으면, 다음 스위치의 출구 포트(ri opt[k+1])에서 동일한 위치 시분할 간격
Figure pat00104
에서 흐름 fi에 할당하기 위해 사용할 수 있는 적합한 TS가 없다는 것을 의미한다.
따라서 다음 스위치의 출구 포트 ri opt[k+1] 상의
Figure pat00105
의 슬롯 시작 번호(
Figure pat00106
)의 값은 1만큼 증가되어야 하고, 다음 스위치의 출구 포트(ri opt[k+1]) 상에서 슬롯 시작 번호
Figure pat00107
값은 1이 되어야 한다.
다음, 경로 상의 발화자/스위치의 출구 포트에서 흐름 fi에 할당되는 첫 번째 TS를 결정한 후, 각 출구 포트에서 흐름 fi에 할당된 TS들과 시간 슬롯 할당이 완료된 이전의 모든 흐름에 할당된 TS들이 충돌(시간 슬롯 중첩)하는지 여부를 확인해야 한다.
만약 시간 슬롯 중첩이 존재하면,
Figure pat00108
의 시작 번호(
Figure pat00109
) 값 및 슬롯의 시작 번호(
Figure pat00110
) 값이 전술한 바와 같이 다음의 첫 번째 사용 가능한 TS로 조정될 것이다.
시간 슬롯 중첩 확인 프로세스는 중첩이 없을 때까지 반복된다. 더 이상 사용 가능한 TS가 없으면, 이는 스케줄링 방법의 절차가 스케줄 결과를 획득하는데 실패하고 시간이 중요한 흐름에서 현재 선택된 경로가 적합하지 않다는 것을 나타낸다. 따라서, 시간이 중요한 흐름의 경로는 다시 계산되어야 하고, 스케줄링 방법의 절차가 재실행되어야 한다. 흐름 fi에 대한 첫 번째 TS 할당이 완료되면, 발화자 출구 포트(ri opt[0])로부터 첫 번째 시간이 중요한 메시지의 전송 순간(FMTIi talker)이 수학식 16을 사용하여 결정될 수 있다.
Figure pat00111
이후, 단계 2에서 결정된 시간 슬롯 할당 간격 TSAIi에 따라 흐름 fi의 경로 상에 있는 각 출구 포트에서, 다른 시간 슬롯이 흐름 fi에 반복적으로 할당된다.
<단계 4>
이 단계는 TSN 스위치에 대한 GCL을 도출하는 단계이다.
단계 2는 스케줄링이 TSAImax 초마다 반복되는 것을 나타낸다. 따라서, 각 GCL의 길이 Tcycle은 수학식 17과 같이 결정될 수 있다.
Figure pat00112
다음, 스위치의 출구 포트에 대한 GCL을 결정한다. 흐름 fi의 데이터 전파 경로 상의 출구 포트(ri opt[k],k=0,...,hopi opt)를 예로 든다. 가 Tcycle 동안 시분할 간격(
Figure pat00113
)의 개수이면, NTDIi k는 수학식 18과 같이 결정된다.
Figure pat00114
Tcycle
Figure pat00115
의 배수이다. 따라서 NTDIi k는 수학식 18식에 의해 결정되는 정수이다.
전술한 바와 같이 포트 ri opt[k]에는 8개의 대기열이 있다. 대기열 6과 7은 시간이 중요한 트래픽 관리에 특화되어 있으며 애플리케이션에 따라 시간이 중요한 메시지에 임의의 대기열(대기열 6 또는 7)이 할당된다. 다른 대기열(대기열 0-5)은 시간이 중요하지 않은 메시지에 할당된다.
첫 번째
Figure pat00116
Figure pat00117
동안 시간이 중요하지 않은 트래픽은 출구 포트 ri opt[k]에서 전송되도록 설계된다. 따라서 대기열 6-7의 게이트는 닫힌 것으로 설정되고 대기열 0-5의 게이트는 열린 것으로 설정된다. 8개 대기열의 게이트 상태에 따라 첫 번째 게이트 작업("GateOperationName" 값이 "operation 0")은 포트 ri opt[k]에 대한 GCL에서 표 2와 같이 설정된다.
첫 번째
Figure pat00118
에서
Figure pat00119
동안 모든 게이트가 닫힌 것으로 설정되고 두 번째 게이트 작업("GateOperationName" 값이 "operation 1")이 GCL에 설정된다. 첫 번째
Figure pat00120
Figure pat00121
동안 시간이 중요한 트래픽은 포트 ri opt[k]에서 전송되도록 설계된다. 따라서 대기열 6-7의 게이트는 열린 것으로 설정되고 대기열 0-5의 게이트는 닫힌 것으로 설정된다. 이에 따라 세 번째 게이트 작업("GateOperationName" 값이 "operation 2")이 GCL에 설정된다
처음 세 개의 게이트 작업은 이후에 반복된다. 각 연산의 "GateStates"와 "TimeInterval" 값은 표 2와 같다. 본 발명에 따른 방법은 대기열 6과 7의 게이트가 열려있을 때 가능한 많은 시간이 중요한 흐름을 전송하고, 보호 대역(Guard band)과 게이트 개방(gate opening) 이벤트의 수가 대폭 감소될 수 있다.
따라서 GCL의 항목 수는 최대값, 즉 1024개 항목을 초과하지 않도록 제한될 수 있다. 또한 계산된 GCL이 간결하여 실제 TSN 스위치에서 계산된 GCL을 쉽게 구현할 수 있다. TSN 발화자의 경우 시간이 중요하지 않은 트래픽은 전송하지 않는다. TSN 발화자는 수학식 16에서 계산된 순간에 흐름 fi의 첫 번째 시간이 중요한 메시지를 전송하고, 이 전송은 TSAIi 간격으로 반복된다. 8개의 게이트 상태는 항상 열려 있을 수 있다.
Figure pat00122
도 9는 본 발명에 따른 TSN 네트워크가 적용되는 산업 자동화 시스템에서 공동 라우팅 및 스케줄링 처리 과정을 나타낸 것이다.
도 9에 도시된 처리 과정은 산업 자동화 시스템의 제어 장치 또는 별도의 컴퓨터 장치에서 수행되며, 이러한 처리 과정을 통해 생성된 각 흐름의 최적 경로 및 스케줄링 결과가 산업 자동화 시스템에 적용된다.
구체적으로 도 9에 도시된 처리 과정은 산업 자동화 시스템의 운영 관리를 최적화하기 위한 것이며, 이러한 처리 과정은 산업 자동화 시스템의 제어 장치 또는 별도의 컴퓨터 장치의 프로세서에 의해 수행될 것이다. 이하에서는 프로세서에 의해 수행되는 것으로 상술한다.
도 9를 참조하면, 본 발명에 따른 공동 라우팅 및 스케줄링 방법은 라우팅 단계(S104) 및 스케줄링 단계(S106)로 크게 구분된다.
먼저, 산업 자동화 시스템의 프로세서는 네트워크 토폴로지(network topology), N개의 트래픽 흐름(traffic flow)의 사양(specification) 및 각 트래픽 흐름에 대해 초기 후보 경로 개수(K)를 입력받는다(S100).
다음, 프로세서는 N개의 트래픽 흐름의 사양을 이용해 각 트래픽 흐름에 대해 K개의 후보 경로를 포함하는 유효 경로 집합을 생성한다(S102).
이후, 프로세서는 각 트래픽 흐름의 유효 경로 집합 및 모든 후보 경로에 속한 모든 링크의 잔여 대역폭에 근거하여 각 트래픽 흐름의 최적 경로를 결정하는 라우팅 단계를 수행한다(S104). 이때 프로세서는 메시지가 중단 없이 발신자 장치에서 수신자 장치로 전송되는데 필요한 시간 및 잔여 대역폭을 변수로 하는 함수를 이용해 함수의 값이 최대가 되는 경로를 최적 경로로 결정하게 된다.
마지막으로 프로세서는 라우팅 단계에서 결정된 모든 N개의 트래픽 흐름의 최적 경로 및 사양에 근거하여 각 트래픽 흐름에 대해 메시지 전송 순간(message transmission instant) 및 경로 상의 스위치의 게이트 제어 리스트(Gate Control List)을 결정하는 스케줄링 단계를 수행한다.
이러한 스케줄링 단계(S106)는 시분할 다중화를 위한 시분할 간격(TDI)의 길이 및 시간 슬롯(TS)를 결정하는 과정과, 각 트래픽 흐름에 대한 시간 슬롯 할당 간격(TSAI)의 길이를 결정하는 과정과, 시간이 중요한 데이터(time-critical data) 간격에 할당되는 시간 슬롯 개수를 결정하는 과정과, 시간이 중요한 데이터 간격의 길이 및 시간이 중요하지 않은 데이터(non-time-critical) 간격의 길이를 계산하는 과정과, 상기 결정한 시간 슬롯을 각 트래픽 흐름에 할당하여 시간이 중요한 메시지 전송 순간을 결정하는 과정을 포함한다.
또한, 상기 시간이 중요한 메시지 전송 순간을 결정하는 과정에서는 각 흐름의 각 출구 포트의 첫 번째 시분할 간격(TDI)에서 시작하여 잔여 시간 슬롯(RTS)이 존재하는 경우 해당 시분할 간격(TDi)의 시작 번호 및 시간 슬롯(TS)의 시작 번호를 결정하는 방식으로 각 흐름에서 모든 출구 포트의 시분할 간격의 시작 번호 및 시간 슬롯의 시작 번호를 결정하여 모든 흐름에 대해 시간이 중요한 메시지 전송 순간을 결정하게 된다.
다음, 프로세서는 스케줄링 단계를 수행한 후 스케줄 결과를 출력할 수 있는지 판단한다(S108). 스케줄 결과를 출력할 수 있는 경우이면, 프로세서는 메시지 전송 수간 및 스위치의 게이트 리스트(GCL)를 결정하게 되고, 만약 스케줄 결과를 출력할 수 없는 경우 즉, 메시지 전송 순간을 결정할 수 없는 경우에는 다음의 단계를 수행하게 된다.
즉, 프로세서는 각 트래픽 흐름의 유효 경로 집합에 포함된 후보 경로가 모두 최적 경로로 사용되었는지 판단한다(S112).
모두 최적 경로로 사용되지 않았으면 라우팅 단계(S104)로 돌아가 각 트래픽 흐름에 대해 다음의 차선 최적 경로를 최적 경로로 결정한 후 스케줄링 단계(S106)를 수행한다.
만약, 모두 최적 경로로 사용되었으면 유효 경로 집합이 이전의 유효 경로 집합과 동일한지 판단한다(S114).
유효 경로 집합이 동일하지 않으면 후보 경로 생성 단계(S102)로 돌아가 새로운 유효 경로 집합을 생성한 후 라우팅 단계(S104) 및 스케줄링 단계(S106)를 수행하고, 동일하면 네트워크 불안정 상태를 출력한다(S116).
성능 평가
1. 유효성 평가
본 발명에 따른 공동 라우팅 및 스케줄링 방법의 타당성을 검토하기 위해 연구 개발된 시뮬레이션 모델을 기반으로 OMNET++에서 시뮬레이션 실험을 구현했다.
시뮬레이션 실험은 무작위 합성 테스트 시나리오에서 수행되었다. 도 10과 같이 TSN 네트워크는 9개의 TSN 스위치(SW1 ~ SW9), TSN 스위치에 연결된 27개의 종단 스테이션(ES1 ~ ES27), 34개의 시간이 중요한 트래픽 흐름(f1 ~ f34) 및 두 개의 시간이 중요하지 않은 트래픽 흐름(f35 및 f36)을 포함한다.
흐름 사양은 표 3에 나열되어 있다. 표 3은 36개 흐름의 사양이며, 여기서 TC는 시간이 중요한 트래픽, NTC는 시간이 중요하지 않은 트래픽을 의미한다. 채택된 TSN 네트워크 매개변수는 표 4에 나열되어 있다. 가중치 조합(0.5, 0.5)은 메트릭
Figure pat00123
Figure pat00124
에 대해 채택되었다.
Figure pat00125
Figure pat00126
다음으로, 네트워크 토폴로지, 흐름 사양 및 각 시간이 중요한 흐름에 대해 계산할 경로의 수(K, 초기값은 3으로 설정)를 공동 라우팅 및 스케줄링 방법에 입력하였다.
먼저 표 5과 같이, 상술한 최적 라우팅 방법을 기반으로 시간이 중요한 흐름에 대한 최적의 경로를 계산하였다. 그런 다음 상술한 스케쥴링 방법의 단계 1에 따라 시분할 간격의 길이는 수학식 5 및 8에 따라 150 us로 결정된다. 보호 대역 간격의 길이는 12.24us로 결정되었고, 타임 슬롯 TS의 길이는 수학식 9에 따라 13.29us로 결정되었다.
단계 2에 따르면, 시간이 중요한 트래픽 흐름의 시간 슬롯 할당 간격(TSAIi 값)은 수학식 10에 따라 [TSAI1, TSAI2, ... , TSAI34]=[600, 600, 300, 300, 150, 150, 300, 300, 300, 300, 600, 600, 600, 600, 600, 600, 600, 600, 300, 300, 150, 150, 300, 300, 300, 300, 300, 600, 600, 600, 600, 600, 300, 300 us]으로 결정되었다.
최대 시간 슬롯 할당 간격(TSAImax)은 수학식 11에 따라 600us로 결정되었다. 시간이 중요한 데이터 간격에 할당된 시간 슬롯의 수는 수학식 12를 사용하여 8로 결정되었다. 시간이 중요한 데이터 간격의 길이는 수학식 13을 통해 106.32us로 결정되었다. 시간이 중요하지 않은 데이터 간격의 길이는 수학식 14를 통해 31.44us로 결정되었다.
단계 3에 따르면 TSN 발화자로부터의 각 시간이 중요한 트래픽 흐름의 첫 번째 프레임의 전송 순간(FMTIi talker)은 [FMTI1 talker, FMTI2 talker, ... , FMTI34 talker] =[ 96.84, 110.13, 43.68, 56.97, 43.68, 56.97, 70.26, 83.55, 96.84, 110.13, 220.26, 233.55, 246.84, 260.13, 273.42, 286.71, 423.42, 436.71, 43.68, 56.97, 43.68, 56.97, 83.55, 96.84, 110.13, 123.42, 136.71, 220.26, 233.55, 246.84, 260.13, 273.42, 43.68, 43.68 us]으로 결정되었다.
단계 4에 따라 TSN 스위치에 대한 GCL이 도출되었다. 제한된 공간으로 인해 출구 포트 [SW1, SW2]에 대한 GCL이 예로 제시되었다. Tcycle 동안의 시분할 간격의 수는 수학식 18을 통해 4로 결정되었다. 표 2에 따르면 출구 포트[SW1, SW2]에 대한 GCL이 표 6에 도시된 바와 같이 도출되었다. TSN 스위치의 다른 출구 포트에 대한 GCL도 유사하게 결정되었다. 지금까지 흐름에 대한 경로와 스케줄 결과를 얻었다.
Figure pat00127
Figure pat00128
기존 연구(예: SMT 기반 방법, 휴리스틱 알고리즘, ILP 기반 방법)에서는 소스 코드를 제공하지 않아 스케줄 결과의 비교를 배제한다. 본 발명에 따른 방법의 성능을 검증하기 위해 벤치마크(즉, 동일한 네트워크 토폴로지와 흐름 사양이나 본 발명에 따른 방법을 사용하지 않음)를 설정했다. 흐름의 경로는 최단 경로 알고리즘을 사용하여 계산되었다. TSN 스위치의 출구 포트 게이트는 항상 "열려" 있었고, 시간이 중요한 트래픽 흐름의 발화자는 순간 0에서 첫 번째 시간이 중요한 메시지를 전송하기 시작했다 이후, 본 발명에 따른 방법을 사용하거나 사용하지 않은 시뮬레이션 실험을 수행하였다. 시뮬레이션 실험은 30초 동안 실행되었다. 시간이 중요한 흐름의 주기는 "us" 수준이었다. 예를 들어 흐름 f5의 주기는 150us였으며, 이는 시뮬레이션 시간 동안 200,000개의 메시지가 전송된다는 것을 나타낸다. 따라서 30초는 시뮬레이션 실험에 충분하였다.
표 7은 본 발명에 따른 방법을 적용한 경우와 사용하지 않은 경우에 대한 각 흐름에서 측정된 e2e 지연의 최대값, 최소값, 평균값, 지터 값을 나열한 것이다. 여기서 지터는 흐름의 두 후속 메시지에 대해 측정된 e2e 지연의 편차로 정의된다.
먼저 두 경우 사이에 시간이 중요한 트래픽 흐름의 시간이 중요한 메시지의 e2e 지연을 측정하여 비교했다. 본 발명에 따른 방법을 사용하지 않은 경우 시간이 중요한 일부 트래픽 흐름(예: f5, f6, f21 및 f22)의 최대 허용 e2e 지연 요구 사항(φi 값)이 충족되지 않고 많은 e2e 지연이 변동함을 관찰할 수 있다.
반면에 본 발명에 따른 방법을 사용하는 경우 시간이 중요한 트래픽 흐름의 모든 메시지의 e2e 지연은 결정적이었고 계산된 스케줄 결과를 준수했으며 최대 허용 가능한 e2e 지연 요구 사항(φi 값)을 충족했다.
그런 다음, 두 경우 사이에서 측정된 시간이 중요하지 않은 흐름(즉, f35 및 f36) 메시지의 e2e 지연을 비교했다. f35 및 f36에는 실시간 요구 사항이 없다. 본 발명에 따른 방법을 사용할 경우 측정된 e2e 지연의 최대값, 최소값, 평균값이 크게 감소함을 확인할 수 있었다. 시뮬레이션 결과 본 발명에 따른 방법이 유효한 것으로 나타났다. 본 발명에 따른 방법은 하나의 네트워크 내에서 시간이 중요한 트래픽 흐름과 시간이 중요하지 않은 트래픽 흐름이 공존하는 경우에도 시간이 중요한 트래픽 흐름의 최대 허용 e2e 지연 요구 사항을 충족할 수 있다.
Figure pat00129
2. 계산 시간 평가
1) 계산 시간 대 트래픽 부하
흐름의 수를 조절하여 트래픽 부하에 따른 제안 방법의 계산 시간을 평가하였다. 도 11과 같이, 전형적인 실제 네트워크 즉, 기존 연구에서 일반적으로 채택된 네트워크인 Orion CEV(Crew Explosion Vehicle)를 테스트 토폴로지로 선택했다.
실험 동안에 흐름의 수가 500에서 4000까지 변했다. 모든 흐름의 발화자와 청취자는 엔드 스테이션에 무작위로 분배되었다. 흐름의 주기는 8, 16 및 32ms에서 무작위로 선택되었다. 본 발명에 따른 방법은 C++를 이용하여 구현하였으며, 모든 실험은 Intel Core i7-8559 @ 2.70GHz CPU와 16GB RAM이 장착된 PC에서 수행하였다. 표 8은 다른 수의 흐름 시나리오에서 계산 시간을 보여준다. 스케줄링할 흐름의 수가 증가할수록 계산 시간이 증가하는 것을 관찰할 수 있다. 실제 산업 네트워크 토폴로지에서 최대 4000개의 흐름에 대한 계산 시간은 여전히 1초 미만 수준으로 본 발명에 따른 방법의 완벽한 확장성을 나타낸다.
Figure pat00130
2) 계산 시간 대 네트워크 크기
스위치와 단말국(엔드 스테이션)의 수를 조정하여 다양한 네트워크 크기에 대해 본 발명에 따른 방법의 계산 시간을 평가하였다. 실험 동안 무작위 네트워크 토폴로지가 채택되었으며 스위치 수를 3개에서 21개로 변경했다. 각 스위치는 동일한 수의 엔드 스테이션에 연결되었다. 흐름의 수는 4000개였으며, 흐름 주기는 8, 16, 32ms 중에서 무작위로 선택하였다. 모든 흐름의 발화자와 청취자는 엔드 스테이션에 무작위로 분배되었다. 표 9의 결과는 본 발명에 따른 방법의 계산 시간이 네트워크 크기가 커질수록 거의 선형적으로 증가함을 보였다. 21개 스위치 네트워크에서 4000개의 흐름에 대한 계산 시간은 여전히 1초 미만 수준으로 본 발명에 따른 방법의 확장성이 우수함을 나타낸다.
Figure pat00131
3) 계산 시간 비교
본 발명에 따른 공동 라우팅 및 스케줄링 방법의 계산 시간은 라우팅 및 스케줄링 문제를 모두 고려한 최근의 여러 접근법의 계산 시간과 비교되었으며, DoC-Aware Iterative Routing and Scheduling (DA/IRS) 접근 방식은 다른 두 가지 ILP 기반 접근 방식보다 빠른 것으로 나타났다. 따라서 이 두 ILP 기반 접근 방식과의 비교를 생략했다.
표 10, 11, 12와 같이 네트워크 토폴로지, 스위치 및 엔드 스테이션 수, 흐름 수는 기존 연구를 준수했다. 발화자와 청취자는 종단 스테이션 간에 무작위로 분포되었다. 기존 연구는 소스 코드를 제공하지 않았기 때문에 계산 시간은 연구에서 직접 얻었다.
먼저 계산 시간을 ILP 기반 접근 방식과 비교한다. 네트워크 토폴로지는 랜덤 그래프(Erdos-Renyi 네트워크 모델)를 채택했으며 스위치 수는 8개이며 각 스위치는 평균 3개의 엔드 스테이션을 연결한다. 흐름 주기는 기존 연구의 흐름 주기와 일치하여 1, 2, 4, 8ms에서 무작위로 선택되었다. 표 10은 다른 수의 흐름에 대한 계산 시간을 비교했다. 본 발명에 따른 방법은 표 10의 2개 흐름 경우에 대해 ILP 기반 접근 방식에 소요되는 계산 시간의 단지 2.83%을 필요로 하며 다른 경우에는 훨씬 더 낮다.
Figure pat00132
다음으로, DA/IRS 접근법의 계산 시간과 비교한다. 스위치 및 종단국 수 및 흐름 수는 기존 연구를 준수한다. 흐름의 주기는 5ms와 10ms에서 선택되었다. 표 11은 계산 시간의 비교를 보여준다. DA/IRS 접근 방식은 MATLAB에서 구현되었다. MATLAB과 C/C++ 구현 간의 성능 차이를 고려하여(C/C++에서 20배 빠름), 표 11의 "DA/IRS (20x)"에서 나타난 바와 같이 DA/IRS 접근 방식의 계산 시간을 20배까지 단축시켰다.
DR/IRS 접근 방식과 비교하여 본 발명에 따른 방법은 표 14의 20개 흐름 시나리오에 대해 DA/IRS 접근 방식의 계산 시간의 단지 0.13%(즉, 약 770배 더 빠름)만 필요하며, 다른 시나리오의 경우 더 낮다.
Figure pat00133
다음 계산 시간을 하이브리드 유전 알고리즘(HGA)의 계산 시간과 비교한다. 네트워크 토폴로지는 링 토폴로지였으며 스위치의 수는 10개이며 각 스위치는 5개의 엔드 스테이션을 연결한다. 흐름의 주기는 2, 4, 8ms에서 무작위로 선택되었다.
표 12는 다른 수의 흐름에 대한 계산 시간을 비교했다. 본 발명에 따른 방법은 표 12의 10개 흐름 사례에 대해 HGA 기반 접근 방식의 계산 시간의 0.069%만 필요하고 다른 경우에는 훨씬 더 낮다.
Figure pat00134
IEEE TSN 태스크 그룹(Task Group)은 IIoT의 통신 요구 사항을 충족할 수 있는 산업 영역의 애플리케이션을 위한 실시간 통신 솔루션을 표준화하고 있다. 그러나 현재 IEEE 802.1 표준에서는 라우팅 및 스케줄링 방법을 무시한다. 본 발명에서는 시간이 중요한 흐름에 대한 경로를 획득하고 스케줄을 구성하기 위한 공동 라우팅 및 스케줄링 방법을 제안하였다.
본 발명에 따른 방법의 타당성을 검증하기 위해 시뮬레이션 실험을 수행하였다. 시뮬레이션 결과 본 발명에 따른 방법이 시간이 중요한 트래픽의 실시간 요구 사항을 충족할 수 있음을 보여주었다. 또한 본 발명에 따른 방법의 확장성을 흐름우 수와 네트워크 크기 측면에서 평가하였다. 실험 결과는 실제 산업 네트워크 토폴로지에서 최대 4000개의 플로우를 라우팅 및 스케줄링하는 계산 시간이 1초 미만 수준임을 보여주고, 최대 21개의 스위치가 있는 랜덤 네트워크에서 4000개의 흐름을 라우팅 및 스케줄링하는 계산 시간을 보여준다. 그리고 155개의 종단국도 1초 미만(sub-second) 수준에 있어서 본 발명에 따른 방법의 완벽한 확장성을 나타냈다. 또한 ILP 기반 접근 방식, DA/IRS 접근 방식 및 HGA 기반 접근 방식과 비교하여 경로 및 스케줄 계산에 필요한 계산 시간을 평가한 결과 본 발명에 따른 방법이 훨씬 빠르고 세 가지 접근 방식의 계산 시간의 각각 2.83%, 0.13%, 0.0069%만 필요한 것으로 나타났다.
이상의 설명은 본 발명을 예시적으로 설명한 것에 불과하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 본 발명의 기술적 사상에서 벗어나지 않는 범위에서 다양한 변형이 가능할 것이다.
따라서 본 발명의 명세서에 개시된 실시예들은 본 발명을 한정하는 것이 아니다. 본 발명의 범위는 아래의 특허청구범위에 의해 해석되어야 하며, 그와 균등한 범위 내에 있는 모든 기술도 본 발명의 범위에 포함되는 것으로 해석해야 할 것이다.

Claims (5)

  1. 산업 자동화 시스템의 제어 장치에서 수행되는 방법으로서,
    네트워크 토폴로지(network topology), N개의 트래픽 흐름(traffic flow)의 사양(specification) 및 각 트래픽 흐름에 대해 초기 후보 경로 개수(K)를 입력받는 초기 입력 단계와,
    N개의 트래픽 흐름의 사양을 이용해 각 트래픽 흐름에 대해 K개의 후보 경로를 포함하는 유효 경로 집합을 생성하는 후보 경로 생성 단계와,
    각 트래픽 흐름의 유효 경로 집합 및 모든 후보 경로에 속한 모든 링크의 잔여 대역폭에 근거하여 각 트래픽 흐름의 최적 경로를 결정하는 라우팅 단계와,
    모든 N개의 트래픽 흐름의 최적 경로 및 사양에 근거하여 각 트래픽 흐름에 대해 메시지 전송 순간(message transmission instant) 및 경로 상의 스위치의 게이트 제어 리스트(Gate Control List)을 결정하는 스케줄링 단계를 포함하는 방법.
  2. 제1항에 있어서,
    상기 라우팅 단계는 메시지가 중단 없이 발신자 장치에서 수신자 장치로 전송되는데 필요한 시간 및 잔여 대역폭을 변수로 하는 함수의 값이 최대가 되는 경로를 최적 경로로 결정하는 것을 특징으로 하는 방법.
  3. 제1항에 있어서,
    상기 스케줄링 단계에서 메시지 전송 순간을 결정하는데 실패한 경우, 각 트래픽 흐름의 유효 경로 집합에 포함된 후보 경로가 모두 최적 경로로 사용되었는지 판단하여,
    모두 최적 경로로 사용되지 않았으면 각 트래픽 흐름에 대해 다음의 차선 최적 경로를 최적 경로로 결정한 후 상기 스케줄링 단계를 수행하고,
    모두 최적 경로로 사용되었으면 유효 경로 집합이 이전의 유효 경로 집합과 동일한지 판단하여, 동일하지 않으면 새로운 유효 경로 집합을 생성한 후 상기 라우팅 단계 및 상기 스케줄링 단계를 수행하고, 동일하면 네트워크 불안정 상태를 출력하는 것을 특징으로 하는 방법.
  4. 제1항에 있어서,
    상기 스케줄링 단계는 시분할 다중화를 위한 시분할 간격(TDI)의 길이 및 시간 슬롯(TS)를 결정하는 과정과,
    각 트래픽 흐름에 대한 시간 슬롯 할당 간격(TSAI)의 길이를 결정하는 과정과,
    시간이 중요한 데이터(time-critical data) 간격에 할당되는 시간 슬롯 개수를 결정하는 과정과,
    상기 시간이 중요한 데이터 간격의 길이 및 시간이 중요하지 않은 데이터(non-time-critical) 간격의 길이를 계산하는 과정과,
    상기 결정한 시간 슬롯을 각 트래픽 흐름에 할당하여 시간이 중요한 메시지 전송 순간을 결정하는 과정을 포함하는 것을 특징으로 하는 방법.
  5. 제4항에 있어서,
    상기 시간이 중요한 메시지 전송 순간을 결정하는 과정은 각 흐름의 각 출구 포트의 첫 번째 시분할 간격(TDI)에서 시작하여 잔여 시간 슬롯(RTS)이 존재하는 경우 해당 시분할 간격(TDi)의 시작 번호 및 시간 슬롯(TS)의 시작 번호를 결정하는 방식으로 각 흐름에서 모든 출구 포트의 시분할 간격의 시작 번호 및 시간 슬롯의 시작 번호를 결정하여 모든 흐름에 대해 시간이 중요한 메시지 전송 순간을 결정하는 것을 특징으로 하는 방법.
KR1020220000811A 2022-01-04 2022-01-04 산업용 IoT에서 사용되는 TSN 네트워크를 위한 비결정적 중단을 제거하는 공동 트래픽 라우팅 및 스케줄링 방법 KR102595945B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020220000811A KR102595945B1 (ko) 2022-01-04 2022-01-04 산업용 IoT에서 사용되는 TSN 네트워크를 위한 비결정적 중단을 제거하는 공동 트래픽 라우팅 및 스케줄링 방법
PCT/KR2022/016062 WO2023132443A1 (ko) 2022-01-04 2022-10-20 산업용 IoT에서 사용되는 TSN 네트워크를 위한 비결정적 중단을 제거하는 공동 트래픽 라우팅 및 스케줄링 방법
CN202280069226.XA CN118104214A (zh) 2022-01-04 2022-10-20 消除用于工业物联网所使用的时间敏感网络的非确定性中断的联合业务路由及调度方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220000811A KR102595945B1 (ko) 2022-01-04 2022-01-04 산업용 IoT에서 사용되는 TSN 네트워크를 위한 비결정적 중단을 제거하는 공동 트래픽 라우팅 및 스케줄링 방법

Publications (2)

Publication Number Publication Date
KR20230105437A true KR20230105437A (ko) 2023-07-11
KR102595945B1 KR102595945B1 (ko) 2023-10-30

Family

ID=87073933

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220000811A KR102595945B1 (ko) 2022-01-04 2022-01-04 산업용 IoT에서 사용되는 TSN 네트워크를 위한 비결정적 중단을 제거하는 공동 트래픽 라우팅 및 스케줄링 방법

Country Status (3)

Country Link
KR (1) KR102595945B1 (ko)
CN (1) CN118104214A (ko)
WO (1) WO2023132443A1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210018990A (ko) 2018-07-08 2021-02-19 인텔 코포레이션 Tsn 무선 통신 스케줄링 장치, 시스템 및 방법
KR20210044683A (ko) * 2019-10-15 2021-04-23 한양대학교 에리카산학협력단 중앙 네트워크 구성개체 및 이를 포함하는 시간 민감 네트워크 제어 시스템
JP2021136688A (ja) * 2020-02-24 2021-09-13 四零四科技股▲ふん▼有限公司Moxa Inc. タイムセンシティブネットワーキングネットワークにおけるストリームのルーティングパスを処理するデバイス及び方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10511353B2 (en) * 2017-07-12 2019-12-17 Micron Technology, Inc. System for optimizing routing of communication between devices and resource reallocation in a network
CN110891026B (zh) * 2018-09-07 2022-11-25 华为技术有限公司 一种流量调度方法、设备及系统
EP3935795A1 (en) * 2019-03-29 2022-01-12 Huawei Technologies Co., Ltd. Switch device, control device and corresponding methods for enhanced schedulability and throughput on a tsn network

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210018990A (ko) 2018-07-08 2021-02-19 인텔 코포레이션 Tsn 무선 통신 스케줄링 장치, 시스템 및 방법
KR20210044683A (ko) * 2019-10-15 2021-04-23 한양대학교 에리카산학협력단 중앙 네트워크 구성개체 및 이를 포함하는 시간 민감 네트워크 제어 시스템
JP2021136688A (ja) * 2020-02-24 2021-09-13 四零四科技股▲ふん▼有限公司Moxa Inc. タイムセンシティブネットワーキングネットワークにおけるストリームのルーティングパスを処理するデバイス及び方法

Also Published As

Publication number Publication date
CN118104214A (zh) 2024-05-28
WO2023132443A1 (ko) 2023-07-13
KR102595945B1 (ko) 2023-10-30

Similar Documents

Publication Publication Date Title
Nasrallah et al. Performance comparison of IEEE 802.1 TSN time aware shaper (TAS) and asynchronous traffic shaper (ATS)
Zhao et al. Timing analysis of AVB traffic in TSN networks using network calculus
Gavriluţ et al. Traffic-type assignment for TSN-based mixed-criticality cyber-physical systems
Nayak et al. Incremental flow scheduling and routing in time-sensitive software-defined networks
JP6395170B2 (ja) ネットワークにおけるデータフレームのトラフィックシェーピングの方法並びにそのデバイス及びコンピュータープログラム製品
US10833987B2 (en) Supporting asynchronous packet operations in a deterministic network
Tămaş–Selicean et al. Design optimization of TTEthernet-based distributed real-time systems
Li et al. An enhanced reconfiguration for deterministic transmission in time-triggered networks
EP3468118B1 (en) Method and device to configure real-time networks
Houtan et al. Synthesising schedules to improve QoS of best-effort traffic in TSN networks
US20210073689A1 (en) Method for generating a schedule for mixed critical computer networks
Kentis et al. Effects of port congestion in the gate control list scheduling of time sensitive networks
Suethanuwong Scheduling time-triggered traffic in TTEthernet systems
US11411818B2 (en) Method and apparatus for a communication network
Li et al. Joint traffic routing and scheduling algorithm eliminating the nondeterministic interruption for TSN networks used in IIoT
Ashjaei et al. Improved message forwarding for multi-hop hartes real-time ethernet networks
Berisa et al. AVB-aware routing and scheduling for critical traffic in time-sensitive networks with preemption
CN111698787B (zh) 调度规则确定方法及其装置
Jiang et al. Assessing the traffic scheduling method for time-sensitive networking (TSN) by practical implementation
KR102595945B1 (ko) 산업용 IoT에서 사용되는 TSN 네트워크를 위한 비결정적 중단을 제거하는 공동 트래픽 라우팅 및 스케줄링 방법
Zheng et al. Mix-flow scheduling for concurrent multipath transmission in time-sensitive networking
US11743174B2 (en) Supporting asynchronous packet operations in a deterministic network
Grigorjew et al. Dynamic Real-Time Stream Reservation with TAS and Shared Time Windows
Papathanail et al. Dynamic schedule computation for time-aware shaper in converged iot-cloud environments
Wisniewski et al. Scheduling of profinet irt communication in redundant network topologies

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant