KR102659770B1 - 시민감 네트워크 환경에서의 강화학습 기반 라우팅 및 스케줄링 통합 시스템 및 방법 - Google Patents
시민감 네트워크 환경에서의 강화학습 기반 라우팅 및 스케줄링 통합 시스템 및 방법 Download PDFInfo
- Publication number
- KR102659770B1 KR102659770B1 KR1020220006070A KR20220006070A KR102659770B1 KR 102659770 B1 KR102659770 B1 KR 102659770B1 KR 1020220006070 A KR1020220006070 A KR 1020220006070A KR 20220006070 A KR20220006070 A KR 20220006070A KR 102659770 B1 KR102659770 B1 KR 102659770B1
- Authority
- KR
- South Korea
- Prior art keywords
- scheduling
- reinforcement learning
- routing
- path
- based routing
- Prior art date
Links
- 230000002787 reinforcement Effects 0.000 title claims abstract description 88
- 238000000034 method Methods 0.000 title claims abstract description 48
- 230000005540 biological transmission Effects 0.000 claims abstract description 87
- 230000010354 integration Effects 0.000 claims abstract description 15
- 230000009471 action Effects 0.000 claims description 26
- 230000006870 function Effects 0.000 claims description 25
- 238000004422 calculation algorithm Methods 0.000 claims description 17
- 238000009826 distribution Methods 0.000 claims description 15
- 235000008694 Humulus lupulus Nutrition 0.000 claims description 6
- 239000011159 matrix material Substances 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 17
- 230000008569 process Effects 0.000 description 12
- 238000005516 engineering process Methods 0.000 description 8
- 230000000875 corresponding effect Effects 0.000 description 5
- 230000001419 dependent effect Effects 0.000 description 5
- 238000011156 evaluation Methods 0.000 description 5
- 230000007423 decrease Effects 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 238000004088 simulation Methods 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000001174 ascending effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000005315 distribution function Methods 0.000 description 1
- 238000012854 evaluation process Methods 0.000 description 1
- 238000007519 figuring Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/08—Learning-based routing, e.g. using neural networks or artificial intelligence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
- H04L45/125—Shortest path evaluation based on throughput or bandwidth
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Medical Informatics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
시민감 네트워크 환경에서의 강화학습 기반 라우팅 및 스케줄링 통합 시스템 및 방법이 개시된다. 본 발명의 일 측면에 따르면, 시민감 네트워크(TSN)에 대한 흐름 목록을 입력 받아, 모든 흐름에 대한 전송기한을 충족하는 경로 집합을 찾고, 강화학습에 기반하여 부하 분산 라우팅(Load-Balanced Routing)을 수행하는 강화학습 기반 라우팅부; 및 상기 강화학습 기반 라우팅부에서의 라우팅 결과를 입력받고, 상기 시민감 네트워크에 대해 경로 단계(Path Step)에 따른 스케줄을 생성하는 경로단계 스케줄링부를 포함하는 시민감 네트워크 환경에서의 강화학습 기반 라우팅 및 스케줄링 통합 시스템이 제공된다.
Description
본 발명은 시민감 네트워크 환경에서의 강화학습 기반 라우팅 및 스케줄링 통합 시스템 및 방법에 관한 것이다.
네트워크 기술의 발전으로 다양한 산업 분야(자율주행, 항공, 의료 및 스마트 팩토리 등)에서 실시간 서비스를 제공하기 위한 노력이 계속되고 있다. 이를 위한 기술로 최근 IEEE Time-Sensitive Networking Task Group에서 정의한 Time-Sensitive Networking (이하, 'TSN' 혹은 '시민감 네트워크') 기술이 주목받고 있다.
실시간 네트워크에는 각기 다른 요구조건(time-critical, audio/video, best-effort 등)을 가지는 데이터들이 동시다발적으로 [생성] 및 [전송]된다. 특히 time-critical 데이터(실시간성이 보장되어야 하는 데이터, 이하 '시민감 트래픽')는 무엇보다 우선하여 [전송]되어야 하고, 신뢰성(reliability), 낮은 종단 간 지연시간(low end-to-end latency) 및 낮은 지연 편차(low jitter) 등이 보장되어야 한다.
이를 위한 TSN의 대표적인 하위 표준 중 하나로 IEEE 802.1Qbv가 있다. IEEE 802.1Qbv는 ‘주기성을 가지는 시민감 트래픽’들의 전송시간을 [예약] 및 [통제](이하 '스케줄링')하여 ‘시민감 트래픽’의 요구조건을 보장하고 네트워크의 실시간성을 달성하기 위한 ‘Time-Aware Shaper(이하 'TAS' 혹은 '시간 인식 셰이퍼')’ 기술을 제공한다.
TAS는 입력받은 ‘시민감 트래픽’의 경로가 최선의 전송경로이며, 해당 값은 고정되어 변경되지 않는다는 가정하에 입력된 경로를 따라 스케줄링을 진행한다.
그러나 실제 네트워크 환경에는 다수의 네트워크 장비(이하 '디바이스')들이 상호 간에 복잡하게 연결되어 있으며, 하나의 출발지로부터 목적지까지 다양한 링크 상태와 홉 수를 가지는 여러 경로가 존재할 수 있다. 때문에, 어떠한 경로를 스케줄링 계산을 위한 입력 값으로 사용하는지에 따라 실시간 시스템의 성능에 큰 영향을 미칠 수 있고, 스케줄링의 결과는 입력받는 트래픽 전송경로에 종속적인 영향을 받는다고 말할 수 있다. 그러나 좋은 스케줄링을 만드는 트래픽 전송경로는 스케줄러의 알고리즘과 다른 트래픽의 전송경로에 긴말한 영향을 받기 때문에 매우 극적으로 바뀔 수 있고, 따라서 이를 별도의 문제로 고려하고 일반화하는 것은 매우 어려운 문제이다.
본 발명은 딥 Q-러닝(Deep Q-learning)이라는 강화학습을 기반으로 라우팅과 스케줄링을 통합하여 네트워크의 부하분산(load balancing) 및 트래픽의 요구조건을 달성할 수 있는 시민감 네트워크 환경에서의 강화학습 기반 라우팅 및 스케줄링 통합 시스템 및 방법을 제공하기 위한 것이다.
본 발명은 TSN 스케줄링과 라우팅 문제를 하나의 문제로 다룸으로써 다수의 네트워크 디바이스가 존재하는 복잡한 산업 TSN 환경에서 TAS 스케줄링과 트래픽 라우팅의 복잡성을 완화하고 두 문제 간의 종속성을 고려하여 더욱 좋은 성능을 보장할 수 있는 시민감 네트워크 환경에서의 강화학습 기반 라우팅 및 스케줄링 통합 시스템 및 방법을 제공하기 위한 것이다.
본 발명의 이외의 목적들은 하기의 설명을 통해 쉽게 이해될 수 있을 것이다.
본 발명의 일 측면에 따르면, 시민감 네트워크(TSN)에 대한 흐름 목록을 입력 받아, 모든 흐름에 대한 전송기한을 충족하는 경로 집합을 찾고, 강화학습에 기반하여 부하 분산 라우팅(Load-Balanced Routing)을 수행하는 강화학습 기반 라우팅부; 및 상기 강화학습 기반 라우팅부에서의 라우팅 결과를 입력받고, 상기 시민감 네트워크에 대해 경로 단계(Path Step)에 따른 스케줄을 생성하는 경로단계 스케줄링부를 포함하는 시민감 네트워크 환경에서의 강화학습 기반 라우팅 및 스케줄링 통합 시스템이 제공된다.
상기 강화학습 기반 라우팅부는 상기 시민감 네트워크의 현재 스케줄링 정보, 현재 위치 정보, 현재 흐름의 목적지, 현재 흐름이 사용한 링크 집합을 포함하는 상태 행렬에 기초하여, 현재 위치의 각 이웃에 대한 링크로 정의된 행동 공간에서 다음 방문할 스위치를 선택하는 행동을 수행할 수 있다.
상기 강화학습 기반 라우팅부는 전송기한을 준수하는 흐름이 많을수록 보상이 커지도록 상기 행동에 따른 스케줄링 결과가 흐름의 전송기한을 준수하는지 여부를 반영한 스케줄 점수를 보상으로 계산할 수 있다.
상기 강화학습 기반 라우팅부는 최대 링크 활용도를 최소화하는 최소-최대 공정성(min-max fairness) 기준을 사용하여 부하 분산을 달성할 수 있다.
상기 경로단계 스케줄링부는 상기 시민감 네트워크의 각 스위치에 대한 스케줄 목록을 초기화하고, 동일한 간격의 흐름을 그룹화하며, 간격이 작은 그룹 순으로 스케줄링을 수행하되, 경로의 홉을 의미하는 단계별 스케줄을 스케줄링할 수 있다.
한편 본 발명의 다른 측면에 따르면, 시민감 네트워크 환경에서 수행되는 강화학습 기반 라우팅 및 스케줄링 통합 방법으로서, 강화학습 기반 라우팅부에 흐름 목록이 입력되는 단계; 상기 흐름 목록에 속하는 각 흐름에 대한 라우팅 후보 경로를 탐색하는 단계; 목적 함수에 기초하여 상기 라우팅 후보 경로에 대한 보상을 계산하여 라우팅을 결정하는 단계; 및 경로단계 스케줄링부에서 라우팅 결과에 따라 경로 단계 스케줄링을 수행하는 단계를 포함하는 시민감 네트워크 환경에서의 강화학습 기반 라우팅 및 스케줄링 통합 방법이 제공된다.
상기 경로 단계 스케줄링을 수행하는 단계는, 상기 시민감 네트워크에 속하는 각 스위치에 대한 스케줄 목록을 초기화하고, 동일한 간격의 흐름을 그룹화하는 단계; 간격이 작은 그룹 순으로 스케줄링을 수행하는 단계; 경로의 홉을 의미하는 단계별 스케줄을 스케줄링하는 단계; 링크와 흐름의 관계를 파악하는 단계; 및 스케줄링해야 하는 흐름 및 링크 목록을 읽고, 실제 스케줄링을 수행하는 단계를 포함할 수 있다.
상기 목적 함수는 다음 수학식으로 표현될 수 있다.
SCH(t)는 설정된 경로(스케줄링된 경우)가 모든 흐름의 전송기한을 얼마나 잘 충족하는지 확인하는 스케줄 점수 함수(schedule score function)이고, L(t)는 부하 분산 점수 함수(load-balance score function)이며, η는 부하 분산의 강도/가중치를 나타내는 음이 아닌 조정 가능한 변수이고, t는 알고리즘 반복의 시간 단계임.
상기 스케줄 점수 함수 SCH(t)는 다음 수학식에 따라 전송기한을 준수하는 흐름이 많을수록 보상이 커져 스케줄링된 모든 흐름의 전송기한을 충족할 수 있는 라우팅 경로 집합이 만들어지게 할 수 있다.
상기 부하 분산 점수 함수 L(t)는 다음 수학식에 따라 과부하가 걸린 링크 선택 시 큰 음수 값을 가지도록 하여, 최소-최대 공정성 기준에 따른 부하 분산 달성이 가능하게 할 수 있다.
전술한 것 외의 다른 측면, 특징, 이점이 이하의 도면, 특허청구범위 및 발명의 상세한 설명으로부터 명확해질 것이다.
본 발명의 실시예에 따르면, 딥 Q-러닝(Deep Q-learning)이라는 강화학습을 기반으로 라우팅과 스케줄링을 통합하여 네트워크의 부하분산(load balancing) 및 트래픽의 요구조건을 달성할 수 있는 효과가 있다.
또한, TSN 스케줄링과 라우팅 문제를 하나의 문제로 다룸으로써 다수의 네트워크 디바이스가 존재하는 복잡한 산업 TSN 환경에서 TAS 스케줄링과 트래픽 라우팅의 복잡성을 완화하고 두 문제 간의 종속성을 고려하여 더욱 좋은 성능을 보장할 수 있는 효과도 있다.
도 1은 본 발명의 일 실시예에 따른 시민감 네트워크 환경에서의 강화학습 기반 라우팅 및 스케줄링 통합 시스템의 개략적인 구성 블록도,
도 2는 본 발명의 일 실시예에 따른 시민감 네트워크 환경에서의 강화학습 기반 라우팅 및 스케줄링 통합 방법의 순서도,
도 3은 경로 단계 스케줄링 방법의 상세 순서도,
도 4는 IEEE 802.1Qbv에 따른 TAS 및 게이트 제어 리스트를 나타낸 도면,
도 5는 강화학습 프로세스를 나타낸 도면,
도 6은 본 발명의 일 실시예에 따른 TSN 스케줄러를 나타낸 도면,
도 7은 강화학습 기반 라우팅 및 스케줄링 통합 방법을 설명하기 위한 예시도,
도 8은 스위치 sw3에서 라우팅되는 흐름 F2의 상태 예시,
도 9는 전송 스케줄링의 순서에 따른 차이점을 보여주는 도면,
도 10은 도 7에서 sw0에서 sw1로의 링크에 대한 스케줄링 시나리오,
도 11은 스마트 팩토리 네트워크 시나리오에서의 토폴로지, 스케줄링 성공률, 경로 길이, 파라미터, 지연시간, 링크 활용도를 나타낸 도면,
도 12는 CEV 시나리오에서의 토폴로지, 스케줄링 성공률, 경로 길이, 파라미터, 지연시간, 링크 활용도를 나타낸 도면.
도 2는 본 발명의 일 실시예에 따른 시민감 네트워크 환경에서의 강화학습 기반 라우팅 및 스케줄링 통합 방법의 순서도,
도 3은 경로 단계 스케줄링 방법의 상세 순서도,
도 4는 IEEE 802.1Qbv에 따른 TAS 및 게이트 제어 리스트를 나타낸 도면,
도 5는 강화학습 프로세스를 나타낸 도면,
도 6은 본 발명의 일 실시예에 따른 TSN 스케줄러를 나타낸 도면,
도 7은 강화학습 기반 라우팅 및 스케줄링 통합 방법을 설명하기 위한 예시도,
도 8은 스위치 sw3에서 라우팅되는 흐름 F2의 상태 예시,
도 9는 전송 스케줄링의 순서에 따른 차이점을 보여주는 도면,
도 10은 도 7에서 sw0에서 sw1로의 링크에 대한 스케줄링 시나리오,
도 11은 스마트 팩토리 네트워크 시나리오에서의 토폴로지, 스케줄링 성공률, 경로 길이, 파라미터, 지연시간, 링크 활용도를 나타낸 도면,
도 12는 CEV 시나리오에서의 토폴로지, 스케줄링 성공률, 경로 길이, 파라미터, 지연시간, 링크 활용도를 나타낸 도면.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
본 명세서에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
또한, 각 도면을 참조하여 설명하는 실시예의 구성 요소가 해당 실시예에만 제한적으로 적용되는 것은 아니며, 본 발명의 기술적 사상이 유지되는 범위 내에서 다른 실시예에 포함되도록 구현될 수 있으며, 또한 별도의 설명이 생략될지라도 복수의 실시예가 통합된 하나의 실시예로 다시 구현될 수도 있음은 당연하다.
또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일하거나 관련된 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
또한, 명세서에 기재된 "…부", "…유닛", "…모듈", "…기" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
도 1은 본 발명의 일 실시예에 따른 시민감 네트워크 환경에서의 강화학습 기반 라우팅 및 스케줄링 통합 시스템의 개략적인 구성 블록도이고, 도 2는 본 발명의 일 실시예에 따른 시민감 네트워크 환경에서의 강화학습 기반 라우팅 및 스케줄링 통합 방법의 순서도이며, 도 3은 경로 단계 스케줄링 방법의 상세 순서도이며, 도 4는 IEEE 802.1Qbv에 따른 TAS 및 게이트 제어 리스트를 나타낸 도면이고, 도 5는 강화학습 프로세스를 나타낸 도면이며, 도 6은 본 발명의 일 실시예에 따른 TSN 스케줄러를 나타낸 도면이고, 도 7은 강화학습 기반 라우팅 및 스케줄링 통합 방법을 설명하기 위한 예시도이며, 도 8은 스위치 sw3에서 라우팅되는 흐름 F2의 상태 예시이고, 도 9는 전송 스케줄링의 순서에 따른 차이점을 보여주는 도면이며, 도 10은 도 7에서 sw0에서 sw1로의 링크에 대한 스케줄링 시나리오이다.
본 발명의 일 실시예에 따른 시민감 네트워크 환경에서의 강화학습 기반 라우팅 및 스케줄링 통합 시스템 및 방법은 TSN 환경에서 최적의 스케줄링을 계산하기 위하여 라우팅과 스케줄링을 하나의 문제로 취급하여, 강화학습, 특히 딥 Q-러닝(Deep Q-learning)을 기반으로 네트워크의 혼잡을 방지하고, 시민감 트래픽을 위한 적절한 경로를 발견 및 결정하며, 해당 결과를 바탕으로 입력받은 트래픽들의 요구조건을 충족하는 스케줄을 계산함으로써 실시간 산업 시스템의 성능을 보장하기 위한 시제어 스케줄링 기술에 속한다.
사전에 정의된 트래픽들의 정보를 바탕으로 시민감 트래픽과 그 외의 트래픽으로 구분할 수 있다. 게이트 제어 기법을 통하여 시민감 트래픽을 위한 전송 공간(이하, ST 타임 윈도우)과 그 외의 트래픽을 위한 전송 공간(이하, NST 타임 윈도우)을 할당하여 서로의 전송 시간을 분리 및 예약함으로써, 시민감 트래픽의 요구조건을 보장하려는 TAS 기술이 존재하고 있다.
이러한 TAS 스케줄링의 복잡성을 줄이고 최소한의 자원을 사용하여 효율적이고 최적화된 스케줄을 계산하기 위한 스케줄링 연구들이 존재한다. 또한, 스케줄링 시 트래픽의 전송 경로를 고려한 연구들도 존재한다.
하지만, 상기 기술한 TAS 및 스케줄링 연구들은 사전 정의된 시민감 트래픽들의 정보를 기반으로 해당 트래픽의 목적지까지 경로가 고정되어 있다는 가정에 따라 입력된 경로를 따라 스케줄링을 진행하고 있다. 즉, 전송 경로와 스케줄 간의 종속적인 관계를 고려하지 않고 있다.
어떠한 경로를 스케줄링 계산을 위한 입력 값으로 사용하는지에 따라 실시간 시스템의 성능에 큰 영향을 미칠 수 있다. 이는 실시간 산업 시스템의 성능 향상 기회를 잃을 수 있으며, 최악의 경우 시스템의 성능을 달성하지 못할 가능성도 있다.
기존 스케줄링 시 전송 경로를 고려한 연구들은 토폴로지(fully connected mesh, hybrid 등), 규모(범위 및 디바이스 수) 등으로 실제 네트워크 환경에서 발생 가능한 라우팅/스케줄링의 비용 및 복잡성 문제를 적은 수의 디바이스들과 간단한 토폴로지 구조(line, bus, star 등)를 가지는 작은 네트워클 사용하여 간소화한 것에 불과하다.
또한, 다양한 전송 경로를 고려할지라도 전송 경로 자체를 만드는 라우팅(routing) 과정에는 중점을 두고 있지 않으며, 임의로 생성된 여러 가지의 전송 경로의 묶음을 미리 생성한 후 스케줄링 단계에서 이를 조합하고 있다. 따라서, 기존 연구들은 결국 본 문제를 스케줄링 단계에서만 해결하고자 하고 있다. 하지만, 스케줄링 결과는 라우팅 결과에 종속적이기 때문에, 라우팅 단계에서 스케줄링 문제 해결을 위한 고려가 선행되어야 한다.
도 1을 참조하면, 본 실시예에 따른 시민감 네트워크 환경에서의 강화학습 기반 라우팅 및 스케줄링 통합 시스템(100)은 강화학습 기반 라우팅부(110) 및 경로단계 스케줄링부(120)를 포함한다.
여기서, 강화학습 기반 라우팅 및 스케줄링 통합 시스템(100)은 기존 TSN(IEEE 801.1Q) 표준과 호환 가능하며, 시민감 트래픽 요구조건에 맞게 전달하기 위한 TAS 스케줄링과 라우팅을 한 문제로 통합하여 해결함으로써 더욱 효과적인 스케줄을 생성하도록 설계된 TSN 스케줄러일 수 있다.
강화학습 기반 라우팅부(110)는 강화학습, 특히 딥 Q 러닝에 기반한 부하 분산 라우팅(Load-Balanced Routing)을 수행한다.
경로단계 스케줄링부(120)는 강화학습 기반 라우팅부(110)에서 생성된 라우팅 결과를 입력으로 받아 네트워크에 대한 스케줄을 생성한다.
각 구성요소의 기능 및 동작에 대해 이하 도면을 참조하여 상세히 설명하기로 한다.
발명의 이해와 설명의 편의를 위해 TSN의 시간 인식 셰이퍼(TAS) 및 강화학습에 대해 우선 설명하기로 한다.
TSN의 목표 중 하나는 통합 네트워크에서 다양한 트래픽 유형을 지원하는 것이다. 일반적으로 요구조건에 따라 시간이 중요한 ST(스케줄링된 트래픽), 반(semi) 시간에 민감한 AWB(Audio-Video Bridging) 트래픽, BE(Best-Effort) 트래픽으로 나뉜다. ST 트래픽은 정체 손실 없이 결정적인 초저 지연시간과 낮은 지연편차를 요구하는 흐름이다. 이러한 요구조건을 보장하기 위해 TSN의 TAS는 미리 알려진 흐름 정보를 기반으로 각 스위치 내 송신 큐(egress queues)의 전송 게이트를 예약하는 게이팅 메커니즘을 사용하여 다른 트래픽 유형으로부터 해당 흐름의 전송 시간을 분리한다.
도 4를 참조하면, TAS가 TSN 스위치에서 어떻게 작동하는지에 대한 예가 도시되어 있다. 스위치는 각 송신 포트에 최대 8개의 큐(대기열)을 가질 수 있다. 각 큐는 IEEE 802.1Q 표준에서 권장하는 매핑에 따라 프레임 헤더의 VLAN 식별자에 있는 우선순위 코드 포인트(PCP, Priority Code Point)에서 결정되는 트래픽 클래스에 상응한다. 각 큐에는 CBS(신용 기반 셰이퍼) 또는 ATS(비동기 트래픽 셰이퍼)(또는 단순 FIFO)와 같은 개별 전송 선택 알고리즘이 적용될 수 있다. 이 알고리즘은 일부 스트림 예약 기준(혹은 그 부족)을 기반으로 전송을 제한할 수 있다.
또한, 각 큐는 열림 또는 닫힘의 두 가지 상태가 있는 전송 게이트를 포함한다. 해당 큐의 프레임은 게이트가 열려 있을 때만 전송될 수 있다. 여러 개의 게이트가 동시에 열려 있는 경우(예. 도 4의 T1 시간), 전송 선택 모듈은 엄격한 우선순위 규칙에 따라 열린 큐 중에서 트래픽 클래스의 내림차순으로 프레임을 선택하여 전송한다.
게이트는 게이트 제어 목록(GCL)에 의해 제어된다. GCL을 계산하기 위해 TAS는 먼저 주어진 간격으로 전송되어야 하는, 시간이 중요한 흐름의 전송 시간을 수용할 수 있는 스케줄링된 트래픽(ST) 시간 윈도우(ST time window)를 할당한다. 또한, ST 시간 윈도우 시작 직전에 전송을 시작하여 ST 윈도우에 침입하는 비 ST 프레임으로 인한 ST 프레임의 지연을 방지하기 위해, TAS는 도 4의 하단에 표시된 것과 같이 모든 ST 윈도우 이전에 모든 게이트를 닫는 가드 밴드(GB)를 할당한다. 마지막으로 ST 및 GB 윈도우를 제외한 나머지 모든 시간은 AVB 및 BE와 같은 다른 모든 트래픽 유형의 전송을 위한 NST(스케줄링되지 않은 트래픽) 윈도우로 할당된다.
강화학습(RL, Reinforcement Learning)은 특정 환경에서 보상을 극대화하기 위한 행동을 취함으로써 주어진 상황에 대해 에이전트의 최적화된 행동을 학습하는 것을 목표로 하는 머신러닝 기법이다.
도 5를 참조하면, 강화학습을 MDP(Markov Decision Process)로 표현한 다이어그램이 도시되어 있다. 본 실시예에서 입력 트래픽 흐름은 MDP에서 에이전트(Agent)가 되며, 현재 네트워크 상태는 환경(Environment)이 된다. 정책 반복 및 값 반복, Q-러닝과 같이 강화학습에서 MDP를 확률 모델로서 사용할 수 있다.
Q-러닝에서 에이전트는 MDP에서 특정 상태에 대한 행동의 미래 보상 값(Q-value, Q 값)을 예측하여 최적의 정책을 학습힌다. Q 값은 하기와 같은 벨만 방정식으로 얻을 수 있다.
Q 값을 생성하는 Q 함수는 다음과 같이 표현된다.
Qπ가 정책 π를 가질 때, 상태 st에서 행동 at으로 얻을 수 있는 기대 보상 E의 합을 반환한다. Rt+n은 n시간 단위로 얻을 수 있는 보상 값이고, γ는 현재 선택된 행동의 보상이 미래에 얻을 보상과 비교하여 얼마나 중요한지를 나타내는 할인율이다. γ는 0과 1 사이의 값을 가지며, 먼 미래의 보상이 현재의 보상보다 덜 영향을 받도록 설계되었다.
초기에 Q-function은 임의의 값으로 초기화된 후 다음 공식을 사용하여 학습한다.
β는 1에 가까워질수록 Q의 변화를 빠르게 하는 학습률이다. Q(st,at)는 현재 Q값, γt는 현재 행동에 대한 보상 값, γmaxaQ(st+1,a)는 다음 상태에서 얻을 수 있는 최대 Q 값이다. 상태가 st+1에 도달하면 반복이 종료되고, 사전 정의된 반복 횟수만큼 학습 프로세스가 실행된다.
전술한 학습 과정에는 한 가지 중요한 문제가 있다. 가장 좋은 Q 값을 갖는 행동을 취하므로, 아직 선택되지 않은 행동에 대한 알려지지 않은 보상을 알지 못한다. 이를 고려하기 위해, 본 실시예에서는 새로운 최적의 선택과 학습된 최적의 선택을 번갈아 가며 사용하는 ε-greedy 전략이 사용된다. 확률 1-ε이면 최적의 행동을 하고, 확률 ε이면 에이전트가 새로운 행동을 탐색하고 학습할 수 있도록 임의의 행동을 한다.
이러한 Q 러닝은 다양한 영역에서 성공적인 결과를 얻었지만, 저차원 상태의 경우에만 해당된다. 행동과 상태가 결합되면 많은 문제가 고차원적이 되고, 방대한 데이터 규모로 인해 Q 러닝으로 처리하기 어렵다. 딥 Q 네트워크(DQN, Deep Q-Network)는 인공신경망을 통해 Q 값을 근사화하는 방법을 학습하고, Q 러닝의 데이터 규모 문제를 해결한다. DQN 모델은 Q(s,a;θ)로 표현되며, 여기서 θ는 신경망에서 학습할 가중치를 나타내고 비용 함수는 다음과 같이 표현된다.
예측된 Q 값과 현재와 미래 보상의 합과의 차이를 제곱하여 비용으로 설정한 후 비용이 0(zero)에 수렴하도록 학습을 진행한다.
분포형 강화학습(DRL, Distribution Reinforcement Learning)은 DQN과 유사하지만, Q 값을 단일 스칼라 값 대신 분포(distribution)로 취급한다. 그 이유는 환경에 랜덤성이 포함되어 있으면, 같은 상태에서 같은 행동을 해도 다음 상태에서 얻을 수 있는 보상이 다를 수 있기 때문이다. 따라서, 보상을 분포로 표현함으로써 미래의 보상을 보다 정확하게 예측하는 것을 목표로 한다.
다시 도 1을 참조하면, 본 실시예에 따른 강화학습 기반 라우팅 및 스케줄링 통합 시스템(100)은 Q 러닝 기반의 강화학습 기반 라우팅부(110)와 경로단계 스케줄링부(120)를 포함한다.
도 6에는 본 실시예에 따른 강화학습 기반 라우팅 및 스케줄링 통합 시스템(100)에 상응하는 딥 Q 러닝 기반 라우팅(Deep Q-learning based Routing)을 사용한 TSN 스케줄러(TSQR)의 개요가 도시되어 있다.
강화학습 기반 라우팅부(110)는 흐름 목록을 입력으로 받는다(단계 S200).
강화학습 기반 라우팅부(110)는 정책에 따라 각 흐름의 라우팅 경로를 탐색한다(단계 S205).
강화학습 기반 라우팅부(110)의 목표는 모든 흐름의 전송기한(deadline)을 충족하는 경로 집합을 찾는 것이다. 또한, 강화학습 기반 라우팅부(110)는 네트워크의 유효 용량을 향상시키기 위해 가능한한 부하의 균형을 유지하려고 한다. 따라서, 목적 함수는 다음과 같다.
SCH(t)는 설정된 경로(스케줄링된 경우)가 모든 흐름의 전송기한을 얼마나 잘 충족하는지 확인하는 스케줄 점수 함수(schedule score function)이고, L(t)는 부하 분산 점수 함수(load-balance score function)이다. η는 부하 분산의 강도/가중치를 나타내는 음이 아닌 조정 가능한 변수이고, t는 알고리즘 반복의 시간 단계이다.
그러나 흐름이 전송기한을 충족하는지 확인하려면 흐름의 경로에 대한 링크 스케줄링이 완료되어야 한다. 이를 위해 경로단계 스케줄링부(120)를 통해 각 후보 경로에 대한 보상을 계산한다(단계 S210).
강화학습 기반 라우팅부(110)는 강화학습을 위해 분포형 DQN을 채택한다. 강화학습 기반 라우팅부(110)의 설계 시 부하 분산 및 전송기한 보장 라우팅을 위한 강화학습의 정책 및 Q 값(STATE-REWARD-ACTION 함수들)이 정의될 필요가 있다.
STATE: 강화학습 기반 라우팅부(110)의 상태 행렬 s(t)는 다음과 같이 구성된다.
si(t)는 네트워크의 현재 스케줄링 정보, loc(t)는 t에서의 현재 위치 정보, dst(t)는 현재 흐름의 목적지, path(t)는 현재 흐름이 t까지 사용된 링크 집합이다. 도 8은 흐름 F2가 도 6의 sw3으로부터 라우팅을 시도할 때의 예시적인 상태이다. 각 행은 링크에 해당하고 열은 수학식 (2)와 같이 4개의 구성요소로 구성된다.
상태 행렬과 관련하여, 스위치에 연결된 최종 장치(TSN 용어로 '발화자(talker)' 및 '수신자(listener)')는 행렬에 포함되지 않는다. 복잡성을 줄이기 위해 스위치를 연결하는 링크만 포함된다. 이는 일반적으로 종단 노드가 하나의 스위치에 직접 연결되어 있고 그래프에 종단 노드를 포함하는지 여부에 관계없이 스위치의 스케줄이 다르지 않기 때문에 가능하다. 결과적으로 강화학습 기반 라우팅부(110)는 라우팅을 위해 직접 연결된 스위치로 각 흐름의 출발지 및 목적지 지점을 대체한다.
si(t) 열은 네트워크에 있는 모든 링크의 스케줄링 정보를 나타낸다. TSN에서 TAS 스케줄러는 '주기 시간' Tcycle 내에서 게이트를 예약하고 Tcycle마다 스케줄을 반복해야 한다. Tcycle의 길이는 스위치를 통과하는 흐름 간격의 최소 공배수(LCM)로 설정해야 한다. 상태 행렬의 크기를 결정적으로 제한하기 위해 스케줄링 정보 si(t)는 다음과 같이 적응 단위가 a = Tcycle/100 ㎲인 고정된 총 100개 열을 사용하여 표현된다.
i와 j는 각각 행(링크)과 열(시간)을 나타낸다. 따라서 αj 및 βj는 열 j에 할당된 시간 범위의 시작과 끝을 의미한다. 버림(round down)은 Tcycle이 100의 배수가 아니더라도 각 열의 시간 범위가 겹치지 않도록 하는 것이다. si(t)의 모든 열은 할당된 시간 범위의 크기인 initj로 초기화된다. Scheduleik은 링크 i가 k 시간에 예약되었음을 바이너리로 나타낸다. 예를 들어 링크 A가 0 ㎲에 예약되어 있으면 Schedule(A,0)은 1이고 그렇지 않으면 0이다. 따라서 예약이 진행됨에 따라 si(t)ij는 initj에서 0으로 감소한다. 예를 들어 Tcycle이 100 ㎲이고 20~40 ㎲가 예약된다면, 링크의 20~40 열들은 0, 나머지 미예약 열들은 1로 표현된다. Tcycle이 500 ㎲인 경우 각 컬럼은 Tcycle 내 5 ㎲ 범위에 해당하며 5로 초기화된다. 0~5 사이의 값은 예약된 시간만큼 각 열에 반영된다. 예를 들어 링크의 2~4 ㎲가 예약된 경우 링크의 첫 번째 열 값은 2이다.
loc(t) 열은 현재 스위치에서 도달할 수 있는 링크를 나타낸다. 도 7에서 흐름 F2의 현재 위치가 sw3인 경우, F2는 sw1 또는 sw4로 이동할 수 있다. 이 경우, 도 8에 예시된 바와 같이 도달 가능한 링크를 나타내기 위해 10000의 값을 설정하고, 나머지는 0으로 초기화한다. 10000의 큰 값을 사용하는 이유는 si(t)의 값에 대한 상대적인 연결성을 명확하게 강조하기 위함이다.
dst(t) 열은 흐름의 목적지로 직접 연결된 링크를 나타내며, 다시 0 또는 10000으로 표현된다. path(t) 열은 링크가 흐름에 의해 사용(통과)되었는지 여부를 나타낸다. 간단히 말해서 방문한 링크의 열 값은 1이고 그렇지 않으면 0이다.
행동(action): 행동 a(t)은 라우팅을 위해 다음에 방문할 스위치를 선택하는 것이다. 따라서 스위치를 0부터 시작하는 정수로 인덱싱하면 에이전트가 취할 수 있는 a(t)의 범위는 0과 '스위치 수 - 1' 사이가 된다. 그러나 현재 위치에 직접 연결되지 않은 스위치를 선택하는 것은 잘못된 동작이다. 일반적인 솔루션은 피드백으로 큰 패널티를 제공하여 정책 최적화를 통해 이러한 문제를 방지하는 것이다. 그러나 이것은 계산량을 증가시키고 느린 학습을 초래한다.
강화학습 기반 라우팅부(110)는 행동 공간에서 해당 행동을 제거하여 이를 방지한다. 네트워크 토폴로지가 정적이면 각 스위치의 이웃 스위치와 각 이웃에 대한 링크가 결정적이다. 따라서 강화학습 기반 라우팅부(110)는 현재 위치의 각 이웃에 대한 링크로 행동 공간을 정의한다. 즉, a(t) ∈ loc(t) 이다. 다른 말로, 행동 a(t)는 현재 위치에서 도달할 수 있는 링크인 loc(t)에서 0이 아닌 값을 갖는 요소를 선택하는 것이다. 예를 들어 도 7과 도 8에서 흐름 F2가 sw3에서 라우팅을 시도하면 유효한 행동은 sw1에 대한 링크 또는 sw4에 대한 링크이다.
라우팅 루프를 생성하는 스위치를 선택하는 것도 무효 행동이다. 다만, 라우팅 전에는 이를 미리 알 수 없기 때문에 보상으로 패널티를 부여하여 처리한다.
보상 : 강화학습 기반 라우팅부(110)의 목적 함수(수학식 (1))를 최대화하려면, 보상 함수 r(t)는 다음과 같다.
강화학습 기반 라우팅부(110)의 첫번째 목표는 스케줄링된 모든 흐름의 전송기한을 충족할 수 있는 라우팅 경로 집합을 만드는 것이다. 따라서, SCH(t)는 스케줄링 결과가 흐름의 전송기한을 준수하는지 여부를 반영한다. 전송기한을 준수하는 흐름이 많을수록 보상이 커진다.
다음으로 강화학습 기반 라우팅부(110)는 최소-최대 공정성(min-max fairness) 기준(최대 링크 활용도 최소화)을 사용하여 부하 분산을 달성하고자 한다. L(t)가 양수이면 경로 길이가 증가함에 따라 보상이 증가할 수 있으며, 이는 불필요하게 더 긴 경로를 선택하도록 강화학습 기반 라우팅부(110)를 잘못 촉진할 수 있다. 이를 방지하기 위해 L(t)는 다음과 같이 항상 음수 값을 가질 수 있다.
그 결과 에이전트가 현재 스위치에서 선택할 수 있는 링크 중 가장 과부하가 걸린 링크를 선택하면, 링크 활용도와 해당 링크를 피하기 위한 η에 따라 보상에 -1˙η ~ -1025˙η 사이의 값이 추가된다.
수학식 (5)에 따르면, 강화학습 기반 라우팅부(110)는 -η˙1024에서 1024 사이의 보상 값을 가지며 여기서 η은 부하 분산의 상대적 강도를 조정하기 위한 음이 아닌 파라미터이다. 그러나 할당된 대역폭 이상을 사용하거나 라우팅 루프를 생성하는 등 하지 말아야 할 행동은 별도의 처벌이 필요하다. 따라서 이러한 경우 강화학습 기반 라우팅부(110)는 다음과 같이 큰 부정적인 보상을 제공하여 무효 작업을 방지한다.
다음으로 경로단계 스케줄링부(120)는 강화학습 기반 라우팅부(110)에서 생성된 라우팅 결과를 입력으로 받아 네트워크에 대한 스케줄을 생성한다(단계 S215).
알고리즘 1은 경로단계 스케줄링부(120)에서 수행되는 경로 단계 스케줄링(PSS, Path Step Scheduling)의 의사 코드이다. 도 7의 예제 시나리오를 사용하여 작동을 설명하고, 흐름 F0는 500 ㎲ 간격을 가지고 F1, F2는 250 ㎲ 간격을 가진다고 가정한다. 흐름의 전송기한은 간격과 동일하다.
초기화(2-5행) : PSS는 네트워크의 각 스위치에 대한 스케줄 목록(Tcycle로 반복되는 GCL이라고도 함) 집합을 나타내는 scheduleSet을 초기화한다(단계 S220). Tcycle은 flowList의 흐름 간격의 최소공배수로 계산되며, maxLength는 모든 흐름의 최대 경로 길이(hop-count)로 설정된다. 마지막으로 동일한 간격의 흐름을 함께 그룹화하고 이러한 그룹을 간격의 오름차순으로 정렬한다. 도 7의 예에서 초기화는 다음과 같이 수행된다.
6-8행: 간격이 작은 그룹 순으로 스케줄링을 수행한다(단계 S225). 각 그룹의 스케줄링은 하나의 Tcycle(ith itr) 내에서 전송 횟수(itrNUM)만큼 진행된다. 예를 들어, Tcycle이 500 ㎲이고 흐름의 간격이 250 ㎲이면 해당 흐름은 Tcycle 내에서 두 번 전송된다(예: 8행에서 itrNUM = 2). 또한 흐름의 모든 전송이 한 번에 스케줄링되는 것은 아니지만 동일한 흐름 그룹의 i번째 전송은 일괄적으로 스케줄링된다. 따라서, 도 7의 예에서, 스케줄링은 (1) F1 및 F2의 첫 번째 전송, (2) F1 및 F2의 두 번째 전송, (3) F0의 전송의 순서로 진행된다.
간격이 작은 흐름이 먼저 스케줄링되는 이유는 제약(전송기한)이 더 빡빡하고 Tcycle 내에서 다중 전송이 수행될 때 i번째 전송은 이전 전송이 차지하는 시간의 영향을 받기 때문이다. 또한 한 흐름의 모든 전송을 한 번에 스케줄링하지 않는 이유는 다른 흐름의 공정한 스케줄링 기회를 보장하기 위해서이다.
예를 들어, 도 9의 (a)에서 Tcycle이 500 ㎲이고 흐름 Fk-1, Fk의 간격과 전송기한(deadline), 흐름 그룹 FA, FB는 모두 250 ㎲이다. 흐름 Fk가 1-2-3의 순서로 링크를 사용하는 경우, 흐름 Fk는 FB의 두 번째 전송(FB 2)으로 인해 전송기한을 준수할 수 없다(즉, Fk 1가 250 ㎲ 이내에 전달되지 않음). 이것은 한 번에 한 흐름의 모든 간격 전송을 스케줄링하는 것이 다음 흐름 스케줄링에 더 큰 제약을 부과한다는 것을 보여준다. 따라서, PSS는 동일한 흐름 그룹 내 모든 i번째 간격 전송을 먼저 스케줄링한 다음 (i+1)번째 간격 전송을 스케줄링한다. 이 방법은 도 9의 (b)에 표시된 것처럼 링크 3에서 FB 2보다 먼저 Fk 1를 스케줄링함으로써 흐름 Fk가 전송기한을 준수할 수 있도록 한다.
9행: 이름에서 알 수 있듯이 PSS는 단계가 경로의 홉을 의미하는 단계별 스케줄을 스케줄링한다(단계 S230). 1회 반복에서 모든 흐름의 첫 번째 홉을 스케줄링한 후, 각 흐름에 대한 두 번째 홉의 스케줄링을 수행한다. 도 7에서 {F1 : 0 → 1} 및 {F2 : 3 → 4}가 먼저 스케줄링된 다음 {F1 : 1 → 2} 및 {F2 : 4 → 2}가 이어진다.
10-17행: 이 부분은 현재 단계에서 어떤 링크에 어떤 흐름을 스케줄링해야 하는지 파악하는 것이다. 즉, 링크-흐름 관계를 파악한다(단계 S235). 알고리즘은 흐름 경로의 m번째 단계(m번째 홉) 링크를 찾아 해당 링크에 예약해야 하는 흐름을 저장한다. 이 프로세스가 완료되면 현재 단계에서 스케줄링해야 하는 흐름 링크 목록이 curFlows에 저장된다.
18-22행: PSS는 스케줄링해야 하는 흐름 및 링크 목록을 읽고 실제 스케줄링을 수행한다(단계 S240). 흐름 목록은 전송기한이 임박한 흐름이 먼저 스케줄링되도록 전송기한의 오름차순으로 정렬된다. 그런 다음 getTimeSlots는 현재 링크에서 스케줄링할 수 있는 Tcycle 내의 여유 공간(타임슬롯(timeslot))을 확인한다. setSchedule에서 흐름은 흐름의 제약 조건을 고려하여 적절한 타임슬롯에 스케줄링된다. 타임슬롯이 여러 개인 경우 알고리즘은 스케줄링할 공간이 충분한지와 흐름의 제약 조건을 전면에서 순차적으로 충족하는지 확인한다. 있는 경우 스케줄러는 해당 타임슬롯에서 일정을 잡는다. 그렇지 않으면 스케줄러가 다음 타임슬롯을 확인한다. 사용 가능한 타임슬롯이 없으면 스케줄러가 스케줄링을 중지한다.
예: 도 11은 도 7의 sw0에서 sw1 링크로의 스케줄링 순서를 보여주는 예이다. 먼저 간격이 더 짧은(250 ㎲) F1이 먼저 스케줄링된다. Tcycle이 500 ㎲이므로 F1은 두 번 스케줄링된다. 첫 번째 전송은 T0~T1 기간에 스케줄링되며, 동일한 간격을 갖는 다른 흐름의 첫 번째 전송이 모두 완료되면(이 시나리오에서는 다른 해당 흐름이 없음) 두 번째 전송이 스케줄링된다. 두 번째 전송은 간격 조건에 따라 T2~T3 기간에 스케줄링된다. 간격이 250 ㎲이기 때문에 전송은 이전 전송보다 적어도 250 ㎲ 늦게 시작된다. 그런 다음 500 ㎲ 간격으로 F0이 스케줄링된다. 여기서 주목해야 할 한 가지는 F0을 스케줄링할 때 총 2개의 타임슬롯 t1과 t2가 있다는 것이다. 충돌이 발견되지 않았기 때문에 PSS는 스케줄링을 완료한다.
본 실시예에 따른 강화학습 기반 라우팅 및 스케줄링 통합 시스템 및 방법은 TAS 스케줄링의 진행을 위한 라우팅에 강화학습 기법의 하나인 딥 Q 러닝을 이용한다. 라우팅 결과는 학습을 통해 알고리즘에서 선정한 정책을 최적화시키는 방향을 향해 나아가면서 생성된다.
이를 위해 알고리즘에서 선정한 정책은 최소-최대 공정성(min-max fairness) 기반 부하 분산(load balancing)과 생성된 트래픽 경로를 이용하여 요구조건을 만족하며 성공적인 스케줄링을 달성한 트래픽의 비율을 최대화하는 것이다. 이 두 정책 모두 산업 네트워크의 성능 및 품질에 영향을 미친다.
특히 후자의 정책을 평가하고 최적화시키기 위해 라우팅 과정 중 스케줄링을 진행하여 현재까지 진행된 라우팅 결과가 어떠한 스케줄링 결과를 나타내는지 확인할 필요가 있다.
따라서, 본 실시예에서의 강화학습 알고리즘은 라우팅 학습을 진행할 때 스케줄링을 병행하여 라우팅 결과를 지속적으로 평가한다. 그리고 이 과정에서 알고리즘은 어떻게 라우팅을 해야 목표를 달성할 수 있는지 학습한다. 평가 결과가 목표를 달성하면, 해당 라우팅 결과를 최종값으로 반환한다. 이때 스케줄링 결과 또한 알고리즘의 평가 과정에서 이미 생성되어 있다.
알고리즘 내에서 평가에 사용하는 스케줄러는 제약조건에 강한 트래픽을 먼저 스케줄링하는 방식으로 진행된다. 여기서, 제약조건이란 트래픽 전송기한 내 전송에 영향을 미치는 조건으로, 트래픽의 전송기한, 전송주기, 전송경로 중 하나 이상이 포함될 수 있다.
또한, 유연한 스케줄링을 위해서 한 트래픽에 대한 스케줄링을 한번에 진행하는 것이 아닌 (즉, 한 트래픽 경로에 포함된 모든 링크와 스위치를 한번에 스케줄링 하지 않음), 각 트래픽마다 경로의 한 홉(hop) 씩 공평하게 스케줄링을 시행한다.
도 11은 스마트 팩토리 네트워크 시나리오에서의 토폴로지, 스케줄링 성공률, 경로 길이, 파라미터, 지연시간, 링크 활용도를 나타낸 도면이고, 도 12는 CEV 시나리오에서의 토폴로지, 스케줄링 성공률, 경로 길이, 파라미터, 지연시간, 링크 활용도를 나타낸 도면이다.
두 가지 다른 네트워크 토폴로지를 사용하여 광범위한 시뮬레이션 세트를 통해 본 실시예에 따른 강화학습 기반 라우팅 및 스케줄링 시스템 및 방법을 평가하고, SP(최단 경로 라우팅) 기반 스케줄링과 비교한다. 여기서, 다음의 세 가지 측정 항목이 사용된다. (1) 성공적으로 스케줄링된 흐름의 비율(스케줄링 가능성), (2) 스케줄링된 흐름의 지연시간, 및 (3) 경로 길이 분포. 또한, 파라미터 η의 영향을 조사한다.
평가에 사용된 두 토폴로지는 도 11의 (a)에 도시된 스마트 팩토리 네트워크 토폴로지와, 도 12의 (a)에 도시된 CEV(Orion Crew Exploration Vehicle) 네트워크 토폴로지이다. 스마트 팩토리 토폴로지는 12개의 스위치와 19개의 링크로 구성되며, Orion CEV 토폴로지는 15개의 스위치와 24개의 링크로 구성된다. 모든 링크는 100 Mbps 대역폭의 전 이중(full duplex)으로 설정되며 TSQR은 TSN 표준을 준수하기 위해 스케줄링에 링크 대역폭의 75%만 사용한다.
두 가지 유형의 ST 흐름이 표 1과 같이 사용되며 흐름의 절반이 각 유형(ST-1 또는 ST-2)인 경우 총 흐름 수를 60에서 200까지 다양화한다. 각 시나리오를 30번 반복하며 각 흐름의 출발지와 목적지는 모든 실행에 대해 무작위이다. 수학식 (1)의 η은 기본적으로 4로 설정되어 있다.
먼저 스마트 팩토리 시나리오에 대한 평가 결과이다.
스케줄링 성공률(스케줄링 가능성): '스케줄링 성공'은 전송기한 및 대역폭 요구조건을 충족하면서 모든 흐름에 대한 스케줄이 생성되었음을 의미한다. 스케줄링 성공률은 각 테스트 케이스에 대해 30개의 시뮬레이션 중 스케줄링이 성공한 횟수를 의미한다. 한편, 스케줄링 실패는 세 가지 경우로 나뉜다. 첫 번째는 허용된 링크 대역폭(75%) 내에서 스케줄링을 수행하지만 전송기한을 준수하지 못하는 흐름이 있는 경우이다. 두 번째는 생성된 스케줄에 허용된 링크 대역폭(75%) 이상을 사용하는 링크가 있는 경우이다. 세 번째는 최대 링크 대역폭(100 Mbps)을 초과하지 않고는 스케줄링이 불가능한 경우로 스케줄이 전혀 생성되지 않는 경우이다. 첫 번째 및 두 번째 실패 사례를 요구조건 실패(RF, Requirement Failure)라고 합니다. 도 8b는 SP 기반 스케줄링과 TSQR의 스케줄링 성공률을 나타낸다. 스케줄링은 가능했지만 요구조건을 만족하지 못한 SP 경우(SP-RF)도 포함된다. SP의 경우 흐름 세트 크기가 증가함에 따라 스케줄링 가능성이 급격히 감소한다. 반면에 TSQR은 SP가 처리할 수 있는 범위를 훨씬 초과하는 흐름 크기에 대해 100% 스케줄링 가능성을 유지한다.
지연시간: 도 11의 (e) 및 (f)는 ST 흐름(ST-1 및 ST-2)의 지연시간을 표시한다. 결과에는 각 시나리오의 세 번째 실패 사례에 해당하지 않는 흐름 집합이 포함되지 않는다. 따라서 TSQR은 모든 흐름 세트에 대한 지연시간 결과를 보여주지만 SP 기반 스케줄링은 그렇지 않다. 빨간색 수평선은 흐름이 충족해야 하는 전송기한이다. 전반적으로 TSQR은 부하 분산을 고려하여 최단 경로가 아닌 우회 경로를 취할 수 있기 때문에 TSQR의 평균 지연시간은 SP보다 약간 높다. 그러나 최단 경로를 사용함에도 불구하고 SP는 전송기한을 초과하는 흐름이 있다. 최단 경로만 엄격하게 사용하면 동일한 링크를 사용하는 흐름 간의 상호 간섭을 고려하지 않아 큐잉 지연이 발생하기 때문이다. TSN에서는 시간이 중요한 스케줄링된 트래픽의 지연시간 요구조건을 충족하는 것이 중요하며, 흐름이 전송기한 내에 도착하는 한 평균 지연시간의 약간의 증가는 허용된다. 이러한 점에서 흐름의 요구조건을 위반하는 SP의 성능은 TSQR보다 열등하다. 200개 흐름의 경우 SP는 모든 30개 시뮬레이션 실행에 대해 최대 링크 대역폭(세 번째 실패 사례)을 초과하지 않고 스케줄을 생성할 수 없기 때문에 SP에 대한 결과가 없다. 이러한 경우에도 TSQR은 100% 성공률을 달성한다. 한 가지 흥미로운 점은 SP와 TSQR 모두에서 전송기한 이 250 ㎲인 흐름이 전송기한이 500 ㎲인 흐름보다 지연시간이 훨씬 짧다는 것이다. 이것은 PSS가 스케줄링 동안 흐름의 전송기한을 적절하게 반영한다는 것을 의미한다.
경로 길이(홉): 도 11의 (c)는 흐름 경로 길이의 경험적 누적 분포 함수(eCDF)를 표시한다. SP는 정의에 따라 최단 경로를 취하므로 최적이다. 반면 TSQR은 우회 경로를 고려하기 때문에 경로 길이의 증가는 불가피하다. 그러나 증가량이 매우 적고 SP 기반 스케줄링보다 흐름 전송기한을 더 잘 만족시키며 더 나은 스케줄링 가능성을 달성한다.
목적 함수 분석: 도 11의 (d)와 (g)는 부하 분산 함수 L(t)가 140개 흐름의 경우 η를 조정하여 결과에 어떻게 영향을 미치는지 보여준다. η = 0은 부하 분산이 전혀 고려되지 않음을 의미한다. 도 11의 (g)는 학습이 진행됨에 따라 최대 링크 활용도가 어떻게 향상되는지 보여주고, 도 11의 (d)는 평균 실행 반복 단계와 최종 최대 링크 활용도를 보여준다. η가 커질수록 최대 링크 활용도가 낮아져 부하 분산이 잘 됨을 알 수 있다. 그러나 지나치게 큰 η은 최대 활용도를 더 이상 향상시키지 않고 실행 단계를 증가시킨다. 이것은 최적 값이 토폴로지에 따라 달라지는 파라미터 η을 통해 L(t) 및 SCH(t) 균형을 유지하는 것의 중요성을 보여준다.
다음으로 CEV 시나리오에 대한 평가 결과이다. 전반적으로 결과는 스마트 팩토리 시나리오와 매우 유사하다. CEV 토폴로지가 더 복잡하기 때문에 SP(도 12의 (b))의 스케줄링 성공률이 약간 증가했다. 그러나 TSQR은 여전히 훨씬 더 나은 스케줄링 가능성을 가지고 있다. 180개 및 200개 흐름의 경우 100% vs 0% 이다. 지연시간 결과(도 12의 (e) 및 (f))도 TSQR 100%가 모든 흐름 전송기한을 충족하는 반면 SP는 그렇지 않음을 보여준다. 또한 스마트 팩토리의 경우와 달리 TSQR의 평균 지연시간은 SP보다 약간 낮다. 이러한 개선은 경로 길이의 약간의 증가로 표시되는 약간의 우회로를 통해 달성되었다(도 12의 (c)).
TSN의 TAS 스케줄링은 각 트래픽에 대해 생성된 라우팅 결과를 기반으로 이루어진다. 따라서, 스케줄링의 결과는 라우팅 결과에 영향을 받는 종속성이 성립된다. 본 실시예에 따른 시스템 및 방법에서는 이러한 종속성을 최대한 고려하여 최적의 스케줄을 만들고자 하는 스케줄링과 라우팅을 통합한 기법이 적용된다.
딥 Q 러닝을 통한 라우팅 알고리즘은 최소-최대 공정성 기반의 부하 분산과 스케줄링 성공률을 정책으로 선정하고 학습을 진행하면서, 이 둘을 최대한 달성해나간다. 이런 머신러닝 기법을 통해 주어진 상황 속에서 최선을 향해 학습해 나감으로 다양한 네트워크 토폴로지와 입력 트래픽들의 요구조건과 관계없이 동작이 가능하게 일반화될 수 있다.
본 실시예에 따른 방법이 해결하고자 하는 문제의 형태가 성능(성공적인 스케줄링)에 근본적인 영향을 끼치지 못함으로 언제나 좋은 라우팅과 TAS 스케줄링 결과를 만들어내고 TSN 구현을 위한 복잡성을 보다 완화할 수 있다.
본 실시예는 TSN을 위한 TAS 스케줄링에서 스케줄링의 결과가 라우팅 결과에 종속되어 있음을 인지하고, 머신러닝을 통해 다양한 네트워크 토폴로지에 대해 언제나 좋은 라우팅 결과와 TSN 스케줄링을 최대한 달성할 수 있다.
또한, 라우팅 과정에서 네트워크의 부하 분산을 고려하여 성공적인 TSN 동작과 함께 전반적인 네트워크의 성능을 증가시킬 수 있다.
라우팅을 학습하는 과정에서 스케줄러의 스케줄링 결과만을 이용함으로, 추후 더 나은 스케줄링 알고리즘이 나오더라도 본 발명의 실시예에 따른 시스템과 방법에 그대로 적용 가능하며, 별도의 학습 데이터가 필요하지 않고 바로 사용할 수 있으므로 확장성이 매우 뛰어나다.
전술한 강화학습 기반 라우팅 및 스케줄링 통합 방법은, 컴퓨터에 의해 실행되는 애플리케이션이나 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독 가능 매체는 컴퓨터 저장 매체를 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다.
전술한 강화학습 기반 라우팅 및 스케줄링 통합 방법은, 단말기에 기본적으로 설치된 애플리케이션(이는 단말기에 기본적으로 탑재된 플랫폼이나 운영체제 등에 포함된 프로그램을 포함할 수 있음)에 의해 실행될 수 있고, 사용자가 애플리케이션 스토어 서버, 애플리케이션 또는 해당 서비스와 관련된 웹 서버 등의 애플리케이션 제공 서버를 통해 마스터 단말기에 직접 설치한 애플리케이션(즉, 프로그램)에 의해 실행될 수도 있다. 이러한 의미에서, 전술한 강화학습 기반 라우팅 및 스케줄링 통합 방법은 단말기에 기본적으로 설치되거나 사용자에 의해 직접 설치된 애플리케이션(즉, 프로그램)으로 구현되고 단말기 등의 컴퓨터로 읽을 수 있는 기록매체에 기록될 수 있다.
상기에서는 본 발명의 실시예를 참조하여 설명하였지만, 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
100: 강화학습 기반 라우팅 및 스케줄링 통합 시스템
110: 강화학습 기반 라우팅부
120: 경로단계 스케줄링부
110: 강화학습 기반 라우팅부
120: 경로단계 스케줄링부
Claims (10)
- 시민감 네트워크(TSN)에 대한 흐름 목록을 입력 받아, 모든 흐름에 대한 전송기한을 충족하는 경로 집합을 찾고, 강화학습에 기반하여 부하 분산 라우팅(Load-Balanced Routing)을 수행하는 강화학습 기반 라우팅부; 및
상기 강화학습 기반 라우팅부에서의 라우팅 결과를 입력받고, 상기 시민감 네트워크에 대해 경로 단계(Path Step)에 따른 스케줄을 생성하는 경로단계 스케줄링부를 포함하되,
상기 강화학습 기반 라우팅부는 분포형 DQN을 채택하며,
상기 강화학습 기반 라우팅부는 상기 시민감 네트워크의 현재 스케줄링 정보, 현재 위치 정보, 현재 흐름의 목적지, 현재 흐름이 사용한 링크 집합을 포함하는 상태 행렬에 기초하여, 현재 위치의 각 이웃에 대한 링크로 정의된 행동 공간에서 다음 방문할 스위치를 선택하는 행동을 수행하고,
상기 강화학습 기반 라우팅부는 전송기한을 준수하는 흐름이 많을수록 보상이 커지도록 상기 행동에 따른 스케줄링 결과가 흐름의 전송기한을 준수하는지 여부를 반영한 스케줄 점수를 보상으로 계산하며,
상기 경로단계 스케줄링부는 상기 시민감 네트워크의 각 스위치에 대한 스케줄 목록을 초기화하고, 동일한 간격의 흐름을 그룹화하며, 간격이 작은 그룹 순으로 스케줄링을 수행하되, 경로의 홉을 의미하는 단계별 스케줄을 스케줄링하는 것을 특징으로 하는 시민감 네트워크 환경에서의 강화학습 기반 라우팅 및 스케줄링 통합 시스템.
- 삭제
- 삭제
- 제1항에 있어서,
상기 강화학습 기반 라우팅부는 최대 링크 활용도를 최소화하는 최소-최대 공정성(min-max fairness) 기준을 사용하여 부하 분산을 달성하는 것을 특징으로 하는 시민감 네트워크 환경에서의 강화학습 기반 라우팅 및 스케줄링 통합 시스템.
- 삭제
- 시민감 네트워크 환경에서 수행되는 강화학습 기반 라우팅 및 스케줄링 통합 방법으로서,
강화학습 기반 라우팅부에 흐름 목록이 입력되는 단계;
상기 흐름 목록에 속하는 각 흐름에 대한 라우팅 후보 경로를 탐색하는 단계;
목적 함수에 기초하여 상기 라우팅 후보 경로에 대한 보상을 계산하여 라우팅을 결정하는 단계; 및
경로단계 스케줄링부에서 라우팅 결과에 따라 경로 단계 스케줄링을 수행하는 단계를 포함하되,
상기 목적 함수는 다음 수학식으로 표현되는 것을 특징으로 하는 시민감 네트워크 환경에서의 강화학습 기반 라우팅 및 스케줄링 통합 방법.
SCH(t)는 설정된 경로(스케줄링된 경우)가 모든 흐름의 전송기한을 얼마나 잘 충족하는지 확인하는 스케줄 점수 함수(schedule score function)이고, L(t)는 부하 분산 점수 함수(load-balance score function)이며, η는 부하 분산의 강도/가중치를 나타내는 음이 아닌 조정 가능한 변수이고, t는 알고리즘 반복의 시간 단계임.
- 제6항에 있어서,
상기 경로 단계 스케줄링을 수행하는 단계는,
상기 시민감 네트워크에 속하는 각 스위치에 대한 스케줄 목록을 초기화하고, 동일한 간격의 흐름을 그룹화하는 단계;
간격이 작은 그룹 순으로 스케줄링을 수행하는 단계;
경로의 홉을 의미하는 단계별 스케줄을 스케줄링하는 단계;
링크와 흐름의 관계를 파악하는 단계; 및
스케줄링해야 하는 흐름 및 링크 목록을 읽고, 실제 스케줄링을 수행하는 단계를 포함하는 것을 특징으로 하는 시민감 네트워크 환경에서의 강화학습 기반 라우팅 및 스케줄링 통합 방법.
- 삭제
- 제6항에 있어서,
상기 스케줄 점수 함수 SCH(t)는 다음 수학식에 따라 전송기한을 준수하는 흐름이 많을수록 보상이 커져 스케줄링된 모든 흐름의 전송기한을 충족할 수 있는 라우팅 경로 집합이 만들어지게 하는 것을 특징으로 하는 시민감 네트워크 환경에서의 강화학습 기반 라우팅 및 스케줄링 통합 방법.
- 제6항에 있어서,
상기 부하 분산 점수 함수 L(t)는 다음 수학식에 따라 과부하가 걸린 링크 선택 시 큰 음수 값을 가지도록 하여, 최소-최대 공정성 기준에 따른 부하 분산 달성이 가능하게 하는 것을 특징으로 하는 시민감 네트워크 환경에서의 강화학습 기반 라우팅 및 스케줄링 통합 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220006070A KR102659770B1 (ko) | 2022-01-14 | 2022-01-14 | 시민감 네트워크 환경에서의 강화학습 기반 라우팅 및 스케줄링 통합 시스템 및 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220006070A KR102659770B1 (ko) | 2022-01-14 | 2022-01-14 | 시민감 네트워크 환경에서의 강화학습 기반 라우팅 및 스케줄링 통합 시스템 및 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20230110047A KR20230110047A (ko) | 2023-07-21 |
KR102659770B1 true KR102659770B1 (ko) | 2024-04-22 |
Family
ID=87430060
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020220006070A KR102659770B1 (ko) | 2022-01-14 | 2022-01-14 | 시민감 네트워크 환경에서의 강화학습 기반 라우팅 및 스케줄링 통합 시스템 및 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102659770B1 (ko) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021136688A (ja) * | 2020-02-24 | 2021-09-13 | 四零四科技股▲ふん▼有限公司Moxa Inc. | タイムセンシティブネットワーキングネットワークにおけるストリームのルーティングパスを処理するデバイス及び方法 |
-
2022
- 2022-01-14 KR KR1020220006070A patent/KR102659770B1/ko active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021136688A (ja) * | 2020-02-24 | 2021-09-13 | 四零四科技股▲ふん▼有限公司Moxa Inc. | タイムセンシティブネットワーキングネットワークにおけるストリームのルーティングパスを処理するデバイス及び方法 |
Non-Patent Citations (1)
Title |
---|
Alexej Grigorjew et al. ML-Assisted Latency Assignments in Time-Sensitive Networking 2021 IFIP/IEEE International Symposium on Integrated Network Management (IM). 2021년 6월 30일. 2-6, 8 면.* |
Also Published As
Publication number | Publication date |
---|---|
KR20230110047A (ko) | 2023-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Gavriluţ et al. | AVB-aware routing and scheduling of time-triggered traffic for TSN | |
CN112953830B (zh) | 时间敏感网络中流量帧的路由规划调度方法及装置 | |
US20230217264A1 (en) | Dynamic spectrum sharing based on machine learning | |
Bülbül et al. | SDN-based self-configuration for time-sensitive IoT networks | |
Wu et al. | Queue-length stability of maximal greedy schedules in wireless networks | |
CN115484205B (zh) | 确定性网络路由与队列调度方法及装置 | |
Vahidipour et al. | Finding the shortest path in stochastic graphs using learning automata and adaptive stochastic petri nets | |
Zhong et al. | Drls: A deep reinforcement learning based scheduler for time-triggered ethernet | |
Quang et al. | Evolutionary actor-multi-critic model for VNF-FG embedding | |
Min et al. | Reinforcement learning based routing for time-aware shaper scheduling in time-sensitive networks | |
Shokrnezhad et al. | Near-optimal cloud-network integrated resource allocation for latency-sensitive b5g | |
Bülbül et al. | Reinforcement learning assisted routing for time sensitive networks | |
Shokrnezhad et al. | Double deep q-learning-based path selection and service placement for latency-sensitive beyond 5g applications | |
KR102659770B1 (ko) | 시민감 네트워크 환경에서의 강화학습 기반 라우팅 및 스케줄링 통합 시스템 및 방법 | |
Lieira et al. | Mechanism for optimizing resource allocation in VANETs based on the PSO bio-inspired algorithm | |
Liu et al. | Research on flow scheduling of train communication based on time-sensitive network | |
Yang et al. | Reuse-based online joint routing and scheduling optimization mechanism in deterministic networks | |
Sun et al. | Joint Routing and Scheduling Optimization of in Vehicle Time Sensitive Networks based on Improved Grey Wolf Optimizer | |
Garcia-Cantón et al. | Deep Reinforcement Learning-Based Joint Scheduling and Routing for Time-Sensitive Networks | |
Vallidevi et al. | HO-DQLN: hybrid optimization-based deep q-learning network for optimizing QoS requirements in service oriented model | |
Min et al. | Co-Optimization Framework for Heterogeneous Search Spaces in Time-Sensitive Network Planning | |
Idrissi et al. | VANET congestion control approach using empathy | |
Ren | Cross-Layer Scheduling and Routing for Ultra Reliable and Low Latency Communication | |
CN117768372B (zh) | 一种时间敏感网络中路由与调度联合优化方法及装置 | |
Garreau et al. | Link between real-time scheduling and time-triggered networks |
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 |