KR20230024482A - 멀티캐스트 라우팅 트리 생성 장치 및 방법 - Google Patents

멀티캐스트 라우팅 트리 생성 장치 및 방법 Download PDF

Info

Publication number
KR20230024482A
KR20230024482A KR1020210106103A KR20210106103A KR20230024482A KR 20230024482 A KR20230024482 A KR 20230024482A KR 1020210106103 A KR1020210106103 A KR 1020210106103A KR 20210106103 A KR20210106103 A KR 20210106103A KR 20230024482 A KR20230024482 A KR 20230024482A
Authority
KR
South Korea
Prior art keywords
multicast routing
routing tree
multicast
generating
network
Prior art date
Application number
KR1020210106103A
Other languages
English (en)
Other versions
KR102583821B1 (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 KR1020210106103A priority Critical patent/KR102583821B1/ko
Publication of KR20230024482A publication Critical patent/KR20230024482A/ko
Application granted granted Critical
Publication of KR102583821B1 publication Critical patent/KR102583821B1/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/16Multipoint routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/48Routing tree calculation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/092Reinforcement learning
    • 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/02Topology update or discovery
    • H04L45/08Learning-based routing, e.g. using neural networks or artificial intelligence
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/30Routing of multiclass traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/70Routing based on monitoring results
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/76Routing in software-defined topologies, e.g. routing between virtual machines

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Medical Informatics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명은 멀티 캐스트 라우팅 기술에 관한 것으로, 더욱 상세하게는 소프트웨어 정의 네트워크 환경에 메타 강화 학습을 이용한 멀티 캐스트 라우팅 트리 생성 장치 및 방법에 대한 것이다. 본 발명의 일 실시 예에 따르면, 메타 강화 학습 기반으로 소프트웨어 정의 네트워크 (SDN, Software Define Networking) 환경에서 대표적인 가변적 특성인 링크 상태의 변화를 고려한 최적의 멀티캐스트 라우팅 트리를 생성할 수 있다.

Description

멀티캐스트 라우팅 트리 생성 장치 및 방법 {DEVICE AND METHOD FOR BUILDING MULTICAST ROUTING TREE}
본 발명은 멀티 캐스트 라우팅 기술에 관한 것으로, 더욱 상세하게는 소프트웨어 정의 네트워크 환경에 메타 강화학습을 이용한 멀티 캐스트 라우팅 트리 생성 장치 및 방법에 대한 것이다.
최근 인터넷을 통해 멀티미디어 기반의 온라인 스트리밍(OTT(Over The Top) 서비스가 크게 확대되고 있다. 그 결과 네트워크 상에서 멀티미디어 콘텐츠를 보다 효율적으로 전송할 수 있는 멀티캐스트 기술이 더욱 중요해지고 있다. 네트워크 자원을 효과적으로 사용하면서 다수의 사용자에게 동일한 콘텐츠를 전송하는 멀티캐스트 기술은 같은 네트워크 자원으로 보다 많은 사용자에게 멀티미디어 서비스를 제공할 수 있어 네트워크 분야에서 매우 관심있게 연구되어 왔다. 그러나 다양한 제조사에서 생산된 라우터들의 이질적 제어와 분산되어 독립적으로 운영되는 ISP(Internet Service Provider)의 폐쇄성을 가지는 전통적인 네트워크 플랫폼에서 멀티캐스트 기술은 효과적으로 구현되지 못했다. 이질적인고 폐쇄적 네트워크 구조는 인터넷에서 다양한 서비스가 인터넷에서 다양한 서비스가 확대될수록 새로운 서비스 구현과 사용자 품질 개선에 걸림돌로 작용한다.
복잡성과 폐쇄성으로 인해 새로운 서비스 구현과 개선이 어려운 기존의 네트워크 플랫폼을 인터넷 환경에서 유연하고 개방적인 스마트 네트워크 플랫폼으로 바꾸기 위해 소프트웨어 정의 네트워크(SDN, Software Defined Networking) 기술이 제안되었다. 소프트웨어 정의 네트워크 기반 스마트 네트워크 플랫폼에서는 데이터 전송을 위해 네트워크 구조를 제어 평면과 데이터 평면으로 나누고 데이터를 전달하는 스위치의 관리를 중앙집중적인 제어기를 통해 수행한다. 제어기는 자신이 관리하는 스위치로부터 플로우 관련 정보를 수집하고 이를 바탕으로 각 스위치를 위한 플로우 테이블을 전역적으로 생성함으로써 새로운 서비스의 구현과 기존 서비스의 갱신을 쉽게 수행할 수 있다. 이러한 소프트웨어 정의 네트워크 환경에서는 중앙집중적인 제어기에서 네트워크 자원을 전역적인 관점에서 관리하여 보다 효과적인 멀티캐스트 트리를 생성하고 그 결과를 각 스위치에게 플로우 테이블을 통해 쉽게 반영시킬 수 있다.
소프트웨어 정의 네트워크 환경에서 멀티캐스트 기술을 구현하기 위해서는 데이터의 출발지 노드에서 여러 목적지 노드로 동일 데이터를 전송하기 위한 플로우 테이블을 소프트웨어 정의 네트워크 제어기에서 생성하여 해당 스위치들에게 전달해야 한다. 중앙집중적인 소프트웨어 정의 네트워크 제어기는 스위치들과 링크들로 구성된 네트워크 토폴로지 정보를 바탕으로 출발지 노드에서 시작하여 모든 목적지 노드까지 연결되는 멀티캐스트 트리를 바탕으로 스위치들에 대한 플로우 테이블을 생성한다. 이때 형성되는 멀티캐스트 트리는 출발지 노드에서 목적지 노드들로 전달되는 데이터들이 지나가는 링크 들의 비용이 최소화 되도록 생성되어야 네트워크 자원의 활용성을 높일 수 있다. 주어진 출발지와 목적지들을 바탕으로 링크 비용을 최소화하여 생성되는 멀티캐스트 트리를 스타이너 트리라고 한다. 스타이너 트리를 구하는 문제는 NP-complete의 복잡성을 가진다고 알려져 있다. 따라서 네트워크 토폴로지가 커질수록 멀티캐스트 트리의 총 링크 비용의 합을 낮추어 네트워크 자원의 활용성을 높일 수 있는 효과적인 트리를 생성하기가 어려워진다. 이를 해결하기 위해 여러 근사 알고리즘들이 제안되었으나 현재 멀티미디어 서비스의 품질을 만족시킬 만큼 충분한 성능을 내지는 못했다.
1. 한국 등록특허공보 제10-1876051호 “기계 학습 시스템 및 그의 사용자 제어 패턴 학습 방법”(등록일자: 2018년 07월 02일)
본 발명은 메타 강화 학습 기반으로 멀티미디어 트래픽을 효과적으로 처리하는 소프트웨어 정의 네트워크(SDN) 환경에서 최적의 멀티캐스트 라우팅 트리를 생성하는 장치 및 방법을 제공한다.
또한 본 발명은 네트워크 규모가 커지더라도 종래의 기술에 비해 상대적으로 짧은 시간 내에 링크 비용을 일정 수준 이하로 유지하는 효과적인 멀티캐스트 라우팅 트리를 생성하는 장치 및 방법을 제공한다.
본 발명의 일 측면에 따르면, 멀티캐스트 라우팅 트리 생성 장치를 제공한다.
본 발명의 일 실시 예에 따른 멀티캐스트 라우팅 트리 생성 장치는 네트워크 정보를 취합하고, 생성된 플로우 테이블에 따라 패킷을 전달하는 제어부 및 소프트웨어 정의 네트워크 환경에서 최적의 경로로 멀티캐스트 라우팅 트리를 생성하는 학습부를 포함할 수 있다.
본 발명의 다른 일 측면에 따르면, 멀티캐스트 라우팅 트리 생성 방법 및 이를 실행하는 컴퓨터 프로그램을 제공한다.
본 발명의 일 실시 예에 따른 멀티캐스트 라우팅 트리 생성 방법 및 이를 실행하는 컴퓨터 프로그램은 스위치에서 전달되는 정보를 이용해 네트워크 토폴로지를 인식하는 단계, 네트워크 토폴로지를 이용해 출발지 노드로부터 목적지 노드들까지 연결된 최적의 멀티캐스트 라우팅 트리를 생성하는 단계, 플로우 테이블 구성을 명령하는 단계 및 플로우 테이블에 의해 멀티캐스트 라우팅 트리 경로로 목적지들까지 패킷을 전달하는 단계를 포함할 수 있다.
본 발명의 일 실시 예에 따르면, 메타 강화 학습 기반으로 소프트웨어 정의 네트워크 (SDN, Software Define Networking) 환경에서 대표적인 가변적 특성인 링크 상태의 변화를 고려한 최적의 멀티캐스트 라우팅 트리를 생성할 수 있다.
도 1 및 도 2는 본 발명의 일 실시 예에 따른 멀티캐스트 라우팅 트리 생성 장치를 간략히 예시한 블록도들.
도 3은 본 발명의 일 실시 예에 따른 멀티캐스트 라우팅 트리 생성 장치의 신경망 구조를 설명하기 위한 도면.
도 4는 본 발명의 일 실시 예에 따른 멀티캐스트 라우팅 트리 생성 장치의 신경망 학습 과정을 설명한 도면.
도 5는 본 발명의 일 실시 예에 따른 멀티캐스트 라우팅 트리 생성 방법을 설명하기 위한 도면.
도 6은 본 발명의 일 실시 예에 따른 멀티캐스트 라우팅 트리 생성 장치의 라우팅 트리 평균 길이를 비교한 실험 예시 데이터를 도시한 화면.
도 7은 본 발명의 일 실시 예에 따른 멀티캐스트 라우팅 트리 생성 장치의 라우팅 트리 평균 생성 시간을 비교한 실험 예시 데이터를 도시한 화면.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시 예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 이를 상세한 설명을 통해 상세히 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 본 발명을 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 본 명세서 및 청구항에서 사용되는 단수 표현은, 달리 언급하지 않는 한 일반적으로 "하나 이상"을 의미하는 것으로 해석되어야 한다.
이하, 본 발명의 바람직한 실시 예를 첨부도면을 참조하여 상세히 설명하기로 하며, 첨부 도면을 참조하여 설명함에 있어, 동일하거나 대응하는 구성 요소는 동일한 도면번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
본 발명은 소프트웨어 정의 네트워크(Software Defined Networking, SDN) 환경에서 딥 러닝 기술 중 기반 메타 강화 학습을 수행한다.
모델 기반 메타 강화 학습은 넓은 범위의 작업 및 목표를 행할 수 있는 환경 분포 내에서 유사한 작업을 추출하여 학습 과정에서 사용한다. 예를 들어 멀티캐스트 라우팅 트리 생성 장치(10)는 소프트웨어 정의 네트워크(SDN) 환경에서 소프트웨어 정의 네트워크 제어기가 인식하는 다양한 네트워크 링크 토폴로지와 멀티캐스트 라우팅 요청 정보를 학습 과정에서 사용할 수 있다. 따라서 멀티캐스트 라우팅 트리 생성 장치(10)는 매번 새로운 네트워크 링크 토폴로지와 멀티캐스트 요청에 대해서 최적의 멀티캐스트 라우팅 트리를 생성할 수 있다.
멀티캐스트 라우팅 트리 생성 장치(10)는 직전 상태에서 행했던 행동 정보를 현재 상태에서 행할 행동을 정하기 위한 추가 정보로 사용할 수 있다.
도 1 내지 도 4는 본 발명의 일 실시 예에 따른 멀티캐스트 라우팅 트리 생성 장치를 간략히 설명하기 위한 블록도 들이다.
도 1을 참조하면 멀티캐스트 라우팅 트리 생성 장치(10)는 제어부(100) 및 학습부(200)를 포함한다.
도 2를 참조하면, 제어부(100)는 인식부(110), 생성부(120) 및 패킷부(130)를 포함한다.
제어부(100)는 네트워크 정보를 취합하고, 생성된 플로우 테이블에 따라 패킷을 전달한다.
자세히 설명하면 제어부(100)는 네트워크 정보를 취합하여 학습부(200)에 전달하고, 생성된 멀티캐스트 라우팅 트리 정보에 따라 연결된 스위치들을 제어하고, 생성된 플로우 테이블에 따라 패킷을 전달한다.
인식부(210)는 스위치에서 전달되는 정보를 이용해 네트워크 토폴로지를 인식한다.
인식부(210)는 네트워크 토폴로지 정보를 학습부(200)로 전송한다.
다시 도 1을 참조하면, 학습부(200)는 학습된 모델을 바탕으로 현재 네트워크 토폴로지에서 최적의 경로로 멀티캐스트 라우팅 트리를 생성한다.
학습부(200)는 메타 강화 학습을 사용해 멀티캐스트 트리를 생성하는 에이전트를 학습시킨다.
메타 강화 학습은 기계 학습 중 학습 단계에서 경험하지 못했던 새로운 환경에서도 융통성 있게 일반화된 성능을 발휘할 수 있도록, 학습 데이터 뿐만 아니라 학습 방법에 대한 학습도 동시에 수행한다. 메타 강화 학습 방법을 사용하게 되면 학습하지 못한 네트워크 토폴로지와 멀티캐스트 노드 집합에 대해서도 전반적으로 좋은 성능을 낼 수 있게 학습할 수 있다. 예를 들면 학습부(200)는 내부에서 유사한 여러 작업 및 목표들에 대한 내재적이고 복합적 의미를 파악하기 위해 블랙박스 구조를 사용하는 모델 기반 메타 강화 학습을 한다. 블랙박스 구조는 기존의 강화 학습 방법과 유사하면서도 경험했던 것을 기억하기 위해 내부 메모리가 있는 순환 시경망을 추가로 사용할 수 있다. 모델 기반 강화 학습은 새로운 환경을 학습하기 위한 outer loop와 선택된 환경에서 목표를 달성하기 위한 inner loop로 나눌 수 있다. 예를 들면 학습부(200)는 목표를 달성하는 inner loop 학습에서는 A3C(Asynchronous Advantage Actor Critic) 방법을 사용할 수 있다.
멀티캐스트 트리 생성 문제는 출발지에서 목적지들까지 최소 비용의 트리를 생성하기 위해 어떤 링크를 거쳐야 하는지 순서에 따라 결정해야 하는 문제로 이해할 수 있다. 그러므로 멀티캐스트 트리 생성 문제는 순차적 행동 결정 문제로 정의될 수 있고 순차적 행동 결정 문제는 MDP(Markov Decision Process)로 표현할 수 있다. 학습부(200)는 먼저 다양한 네트워크 토폴로지와 다양한 멀티캐스트 노드 집합(출발지 및 목적지들)을 샘플링할 수 있다. 학습부(200)는 샘플링된 하나의 네트워크 토폴로지와 멀티캐스트 집합을 환경 분포 D에서 추출된 MDP Mi로 정의할 수 있다. 학습부(200)는 Mi를 표1과 같이 정의한다.
속성 설명
S(State) 네트워크 링크 연결 정보출발지/목적지 노드 정보
현재 연결된 멀티캐스트 라우팅 트리 정보
A(Action) 현재 연결된 멀티캐스트 라우팅 트리의 단말노드에서 연결 가능한 단일 링크 집합
R(Reward) 목적지 노드를 연결할 때마다 부여
γ (Discount Factor) 보상 함수에 대한 감쇠율
표 1을 참조하면, 학습부(200)는 전달 받은 네트워크 토폴로지 정보와 멀티캐스트 서비스를 위한 출발지 노드 및 목적지 노드들에 대한 집합 정보를 Mi에서 상태 S로 구성할 수 있다.
행동 A는 현재까지 연결된 멀티캐스트 트리에 포함된 노드와 인접한 링크 중에서 트리에 포함되지 않는 링크의 집합을 나타낸다.
보상 R은 멀티캐스트 트리가 여러 목적지 노드들 중 하나에 도착했을 때 주어지는 보상 값이다.
감쇠 요인 γ는 미래에 대한 보상을 현재에 얼마만큼 반영해야 하는지에 대한 감쇠율(Discount rate)로 (0, 1) 사이의 값이다.
도 3은 본 발명의 일 실시 예에 따른 멀티캐스트 라우팅 트리 생성 장치의 신경망 구조를 설명하기 위한 도면이다.
도 3을 참조하면, 학습부(200)는 순환 신경망 구조의 A3C(Asynchronous Advantage Actor-Critic) 알고리즘의 네트워크 구조를 사용한다. 학습부(200)는 액터(Actor)과 크리틱(Critic) 네트워크를 완전히 분리하지 않고 하부 네트워크를 공유할 수 있다. 학습부(200)는 행동을 결정하는 정책(Actor)과 상태의 가치(Critic)를 출력하기 위해 전달받은 네트워크 토폴로지(Network Topology) 정보, 멀티캐스트 노드 집합(Muticast node set) 정보, 현재까지 연결된 멀티캐스트 트리(Currently constructed multicast tree) 정보, 마지막 행동(last action)에서 선택한 링크 정보를 사용할 수 있다. 액터(Actor) 출력 계층은 이산 행동 공간의 크기를 가진다. 그러나 학습부(200)는 멀티캐스트 트리를 생성할 때, 연결 가능한 링크의 개수가 매 행동마다 변화하므로 동적인 크기의 이산 행동 공간을 가지게 된다. 즉, 학습부(200)는 액터(Actor) 출력 계층의 크기를 고정된 크기의 이산 행동 공간으로 설정하면 안 된다. 따라서 학습부(200)는 고정적인 출력을 위해 행동 변수를 서로 독립인 가우시안 분포로 가정하고, 액터(Actor) 출력 계층에서 각각의 행동 변수가 갖는 가우시안 분포의 평균값과 분산을 출력할 수 있다. 학습부(200)는 크리틱(critic) 출력 계층은 상태에 대한 평가 네트워크로 현재 상태에 대한 가치 함수를 추정할 수 있다.
도 4는 본 발명의 일 실시 예에 따른 멀티캐스트 라우팅 트리 생성 장치의 신경망 학습 과정을 설명한 도면이다.
도 4을 참조하면, 학습부(200)가 멀티캐스트 트리를 생성하기 위한 학습과정은 5 단계로 구성할 수 있다. 학습부(200)는 5단계가 끝나면 첫 번째 단계부터 반복하면서 최소 비용에 가까운 멀티캐스트 트리를 생성하는 정책을 학습할 수 있다.
단계 S410에서 학습부(200)는 링크로 구성된 네트워크 토폴로지 분포에서 새로운 네트워크 토폴로지 환경을 샘플링한다. 학습부(200)는 샘플링한 환경에 해당하는 멀티캐스트 집합 분포에서 출발지와 목적지 노드들에 대한 집합을 샘플링하고, 네트워크 환경을 초기화한다.
단계 S420에서 학습부(200)는 초기화된 네트워크 환경을 액터-크리틱(Actor-Critic) 네트워크에 전달한다.
단계 S430에서 학습부(200)는 액터-크리틱(Actor-Critic) 네트워크를 통해 행동 결정을 위한 정책과 현재 상태에 대한 가치를 계산하고, 액터(Actor) 출력 계층의 정책을 통해 현재 상태에 대한 행동을 결정한다.
단계 S440에서 학습부(200)는 멀티캐스트 라우팅 트리가 생성될 때까지 경험한 학습 데이터를 에피소드 버퍼에 저장한다.
학습부(200)는 출발지 노드에서 모든 목적지 노드들로 연결되는 멀티캐스트 라우팅 트리가 완성될 때까지 단계 S430 및 단계 S440를 반복한다.
단계 S450에서 학습부(200)는 에피소드 버퍼에 저장된 학습 데이터를 이용해 액터-크리틱(Actor-Critic) 네트워크를 학습시킨다. 학습부(200)는 에피소드에 대한 학습이 완료되면 단계 S310으로 돌아가 새로운 네트워크 환경에서의 학습을 시작한다.
학습부(200)는 인식된 네트워크 토폴로지를 출발지 노드로부터 목적지 노드들까지 연결된 멀티캐스트 트리를 생성하고, 에이전트는 생성된 멀티캐스트 라우팅 트리를 생성부(120)로 전송한다.
다시 도 2를 참조하면, 생성부(120)는 수신한 멀티캐스트 라우팅 트리를 포함한 스위치들에게 멀티캐스트 서비스를 위한 플로우 테이블 구성을 명령한다.
패킷부(130)는 출발지 노드에 연결된 스위치로 멀티캐스트 서비스를 위한 패킷이 들어오면 구성된 플로우 테이블들에 의해 멀티캐스트 트리 경로로 목적지들까지 패킷을 전달한다.
도 5는 본 발명의 일 실시 예에 따른 멀티캐스트 라우팅 트리 생성 방법을 설명하기 위한 도면이다.
도 5를 참조하면, 멀티캐스트 라우팅 트리 생성 장치(10)는 소프트웨어 정의 네트워크 기반 플랫폼에서 멀티캐스트 트리를 생성하고, 스위치들의 플로우 테이블들을 설정할 수 있다.
도 5를 자세히 설명하면, 단계 S510에서 제어부(100)는 스위치에서 전달되는 정보를 이용해 네트워크 토폴로지를 인식한다.
단계 S520에서 제어부(100)는 인식한 네트워크 토폴로지 정보를 학습부(200)에 전달한다.
단계 S530에서 학습부(200)는 학습된 모델을 바탕으로 현재 네트워크 토폴로지에서 출발지 노드로부터 목적지 노드들까지 연결된 멀티캐스트 라우팅 트리를 생성하고, 생성된 멀티캐스트 라우팅 트리를 제어부(100)로 다시 전송한다.
단계 S540에서 제어부(100)는 수신한 멀티캐스트 라우팅 트리를 포함한 스위치들에게 멀티캐스트 서비스를 위한 플로우 테이블 구성을 명령한다.
단계 S550에서 제어부(100)는 출발지 노드에 연결된 스위치로 멀티캐스트 서비스를 위한 패킷이 들어오면 해당 패킷은 구성된 플로우 테이블들에 의해 멀티캐스트 라우팅 트리 경로로 목적지들까지 전달한다.
도 6은 본 발명의 일 실시 예에 따른 멀티캐스트 라우팅 트리 생성 장치의 라우팅 트리 평균 길이를 비교한 실험 예시 데이터를 도시한 화면이다.
도 6을 참조하면, 멀티캐스트 라우팅 트리 생성 장치(10)가 산출한 멀티캐스트 라우팅 트리의 평균 길이는 근사 알고리즘인 TM 알고리즘, DQN 기법을 사용했을 때와 같이 네트워크 규모가 증가 할수록 멀티캐스트 라우팅 트리의 평균 길이는 증가한다. 하지만 멀티캐스트 라우팅 트리 생성 장치(10)가 산출한 멀티캐스트 라우팅 트리의 평균 길이가 가장 짧은 것을 알 수 있다. 다만 멀티캐스트 라우팅 트리 생성 장치(10)와 기존의 알고리즘과 비교하여 네트워크 규모가 작은 경우 성능 차이가 거의 발생하지 않는다.
도 7 본 발명의 일 실시 예에 따른 멀티캐스트 라우팅 트리 생성 장치의 라우팅 트리 평균 생성 시간을 비교한 실험 예시 데이터를 도시한 화면이다.
도 7 참조하면, 멀티캐스트 라우팅 트리 생성 장치(10)가 산출한 멀티캐스트 라우팅 트리의 평균 생성 시간은 근사 알고리즘인 TM 알고리즘, DQN 기법을 사용했을 때와 같이 네트워크 규모가 증가 할수록 멀티캐스트 라우팅 트리의 평균 생성 시간은 증가한다. 하지만 멀티캐스트 라우팅 트리 생성 장치(10)가 산출한 멀티캐스트 라우팅 트리의 평균 생성 시간이 가장 짧은 것을 알 수 있다. 다만 멀티캐스트 라우팅 트리 생성 장치(10)와 DQN알고리즘은 네트워크 규모가 작은 경우 성능 차이가 거의 발생하지 않는다.
상술한 멀티캐스트 라우팅 트리 생성 방법은 컴퓨터가 읽을 수 있는 매체 상에 컴퓨터가 읽을 수 있는 코드로 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체는, 예를 들어 전이형 기록 매체(CD, DVD, 블루레이 디스크, USB 저장 장치, 전이식 하드 디스크)이거나, 고정식 기록 매체(ROM, RAM, 컴퓨터 구비형 하드 디스크)일 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체에 기록된 상기 컴퓨터 프로그램은 인터넷 등의 네트워크를 통하여 다른 컴퓨팅 장치에 전송되어 상기 다른 컴퓨팅 장치에 설치될 수 있고, 이로써 상기 다른 컴퓨팅 장치에서 사용될 수 있다.
이상에서, 본 발명의 실시 예를 구성하는 모든 구성 요소들이 하나로 결합되거나 결합되어 동작하는 것으로 설명되었다고 해서, 본 발명이 반드시 이러한 실시 예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위안에서라면, 그 모든 구성요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다.
도면에서 동작들이 특정한 순서로 도시되어 있지만, 반드시 동작들이 도시된 특정한 순서로 또는 순차적 순서로 실행되어야만 하거나 또는 모든 도시 된 동작들이 실행되어야만 원하는 결과를 얻을 수 있는 것으로 이해되어서는 안 된다. 특정 상황에서는, 멀티태스킹 및 병렬 처리가 유리할 수도 있다. 더욱이, 위에 설명한 실시 예 들에서 다양한 구성들의 분리는 그러한 분리가 반드시 필요한 것으로 이해되어서는 안 되고, 설명된 프로그램 컴포넌트들 및 시스템들은 일반적으로 단일 소프트웨어 제품으로 함께 통합되거나 다수의 소프트웨어 제품으로 패키지 될 수 있음을 이해하여야 한다.
이제까지 본 발명에 대하여 그 실시 예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시 예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
10: 멀티캐스트 라우팅 트리 생성 장치
100: 제어부
110: 인식부
120: 생성부
130: 패킷부
200: 학습부

Claims (6)

  1. 네트워크 정보를 취합하고, 생성된 플로우 테이블에 따라 패킷을 전달하는 제어부 및
    소프트웨어 정의 네트워크 환경에서 최적의 경로로 멀티캐스트 라우팅 트리를 생성하는 학습부를 포함하는 멀티캐스트 라우팅 트리 생성 장치.
  2. 제1항에 있어서,
    상기 제어부는
    네트워크 토폴로지를 인식하는 인식부;
    스위치들에 멀티캐스트 서비스를 위한 플로우 테이블 구성을 명령하는 생성부 및
    상기 플로우 테이블 구성에 따라 패킷을 전달하는 패킷부를 포함하는 멀티캐스트 라우팅 트리 생성 장치.
  3. 제1항에 있어서,
    상기 학습부는
    모델 기반 메타 강화 학습을 수행하는 멀티캐스트 라우팅 트리 생성 장치.
  4. 멀티캐스트 라우팅 트리 생성 장치가 수행하는 멀티 멀티캐스트 라우팅 트리 생성 방법에 있어서,
    스위치에서 전달되는 정보를 이용해 네트워크 토폴로지를 인식하는 단계;
    상기 네트워크 토폴로지를 이용해 출발지 노드로부터 목적지 노드들까지 연결된 최적의 멀티캐스트 라우팅 트리를 생성하는 단계;
    플로우 테이블 구성을 명령하는 단계 및
    상기 플로우 테이블에 의해 상기 멀티캐스트 라우팅 트리 경로로 목적지들까지 패킷을 전달하는 단계를 포함하는 멀티캐스트 라우팅 트리 생성 방법.
  5. 제4항에 있어서,
    상기 네트워크 토폴로지를 이용해 출발지 노드로부터 목적지 노드들까지 연결된 멀티캐스트 라우팅 트리를 생성하는 단계는
    모델 기반 메타 강화 학습을 기반을 최적의 멀티캐스트 라우팅 트리를 생성하는 멀티캐스트 라우팅 트리 생성 방법.
  6. 제4항 및 제5항의 멀티캐스트 라우팅 트리 생성 방법 중 어느 하나를 실행하는 컴퓨터가 판독 가능한 기록매체에 기록된 컴퓨터 프로그램.
KR1020210106103A 2021-08-11 2021-08-11 멀티캐스트 라우팅 트리 생성 장치 및 방법 KR102583821B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210106103A KR102583821B1 (ko) 2021-08-11 2021-08-11 멀티캐스트 라우팅 트리 생성 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210106103A KR102583821B1 (ko) 2021-08-11 2021-08-11 멀티캐스트 라우팅 트리 생성 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20230024482A true KR20230024482A (ko) 2023-02-21
KR102583821B1 KR102583821B1 (ko) 2023-10-04

Family

ID=85328151

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210106103A KR102583821B1 (ko) 2021-08-11 2021-08-11 멀티캐스트 라우팅 트리 생성 장치 및 방법

Country Status (1)

Country Link
KR (1) KR102583821B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012199689A (ja) * 2011-03-18 2012-10-18 Fujitsu Ltd マルチキャストネットワークシステム
KR101876051B1 (ko) 2016-08-31 2018-08-02 현대자동차주식회사 기계 학습 시스템 및 그의 사용자 제어 패턴 학습 방법
KR102032362B1 (ko) * 2018-05-15 2019-11-08 경기대학교 산학협력단 강화학습을 통한 멀티 캐스트 라우팅 장치 및 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012199689A (ja) * 2011-03-18 2012-10-18 Fujitsu Ltd マルチキャストネットワークシステム
KR101876051B1 (ko) 2016-08-31 2018-08-02 현대자동차주식회사 기계 학습 시스템 및 그의 사용자 제어 패턴 학습 방법
KR102032362B1 (ko) * 2018-05-15 2019-11-08 경기대학교 산학협력단 강화학습을 통한 멀티 캐스트 라우팅 장치 및 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
‘Multi-Agent Meta Reinforcement Learning for Packet Routing in Dynamic Network Environments’, 2020.10.07.* *

Also Published As

Publication number Publication date
KR102583821B1 (ko) 2023-10-04

Similar Documents

Publication Publication Date Title
Sun et al. TIDE: Time-relevant deep reinforcement learning for routing optimization
US10817667B2 (en) Method and system for a chat box eco-system in a federated architecture
Kassabalidis et al. Swarm intelligence for routing in communication networks
CN103119900B (zh) 通信系统、控制设备、节点控制方法和节点控制程序
Yao et al. Machine learning aided load balance routing scheme considering queue utilization
Matsuo et al. Accelerated ants routing in dynamic networks
CN108075974B (zh) 一种流量转发控制方法、装置及sdn架构系统
Kompella et al. Two distributed algorithms for multicasting multimedia information
CN113395207B (zh) 一种sdn架构下基于深度强化学习的路由优化架构及方法
Campos et al. A fast algorithm for computing minimum routing cost spanning trees
CN111010341A (zh) 一种基于深度学习的覆盖网络路由决策方法
Kanzaki et al. Video streaming schemes for industrial IoT
KR102583821B1 (ko) 멀티캐스트 라우팅 트리 생성 장치 및 방법
CN103368770B (zh) 基于网关级拓扑的自适应alm覆盖网络构建及维护系统
Chen et al. Traffic engineering based on deep reinforcement learning in hybrid IP/SR network
Wittner et al. Cross entropy guided ant-like agents finding dependable primary/backup path patterns in networks
CN114938374A (zh) 跨协议负载均衡方法及系统
Novak et al. Steiner tree based distributed multicast routing in networks
CN115695280A (zh) 基于边缘节点的路由方法及装置、电子设备、存储介质
CN114422453A (zh) 一种在线规划时间敏感流的方法、装置及存储介质
Selvanathan et al. A genetic algorithm solution to solve the shortest path problem in OSPF and MPLS
De Miguel et al. Nature-inspired routing and wavelength assignment algorithms for optical circuit-switched polymorphic networks
Owoade et al. Efficient hybrid enhanced genetic algorithm and ant colony system model for rerouting multimedia message in multiple node–link failures within wireless network
Kwong et al. Optimization of spare capacity in self-healing multicast ATM network using genetic algorithm
CN115208821B (zh) 一种基于bp神经网络的跨网络路由转发方法和装置

Legal Events

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