KR102621077B1 - 자동 색상 알고리즘에 기초한 경로 관리 방법 - Google Patents

자동 색상 알고리즘에 기초한 경로 관리 방법 Download PDF

Info

Publication number
KR102621077B1
KR102621077B1 KR1020200167724A KR20200167724A KR102621077B1 KR 102621077 B1 KR102621077 B1 KR 102621077B1 KR 1020200167724 A KR1020200167724 A KR 1020200167724A KR 20200167724 A KR20200167724 A KR 20200167724A KR 102621077 B1 KR102621077 B1 KR 102621077B1
Authority
KR
South Korea
Prior art keywords
color
colors
path
threshold
cosine similarity
Prior art date
Application number
KR1020200167724A
Other languages
English (en)
Other versions
KR20220078314A (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 KR1020200167724A priority Critical patent/KR102621077B1/ko
Publication of KR20220078314A publication Critical patent/KR20220078314A/ko
Application granted granted Critical
Publication of KR102621077B1 publication Critical patent/KR102621077B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/001Texturing; Colouring; Generation of texture or colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/90Determination of colour characteristics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10024Color image

Abstract

자동 색상 알고리즘에 기초한 경로 설정 방법이 개시된다. 이 방법은 적어도 하나의 프로세서에 의해 동작하는 컴퓨팅 장치가 복수의 네트워크 장치들간의 연결 경로에 색상을 설정하는 방법으로서, 소스 노드로부터 목적지 노드에 이르는 복수의 네트워크 장치들로 구성된 제1 경로에 대해 사전 설정된 복수의 색상 중에서 임의의 제1 색상을 할당하는 단계, 상기 제1 색상에 대한 RGB 코드를 토대로, 상기 제1 색상과 육안으로 구분되는 제2 색상을 상기 복수의 색상 중에서 선택하는 단계, 그리고 상기 제1 경로와 다른 제 2 경로에 대해 상기 제2 색상을 할당하는 단계를 포함한다.

Description

자동 색상 알고리즘에 기초한 경로 관리 방법{METHOD OF PATH MANAGING BASED ON AUTOMATIC COLOR ALGORITHM}
본 발명은 자동 색상 알고리즘에 기초한 경로 관리 방법에 관한 것이다.
현재의 네트워크 트렌드(Trend)는 네트워크를 구성하는 장비를 하나하나를 독립적으로 관리하는 것이 아니라 네트워크에서 제공하는 프로토콜 혹은 서비스 기반으로 해당 네트워크 전체를 관리하는 것이다. 이 때문에 네트워크를 통합 관리, 예를들어, SDN(Software-Defined Networking) 시스템에서 네트워크를 관제(provisioning) 및 관리(management)하는 것이 큰 이슈이나, 많은 문제에 봉착하고 있다.
해결하고자 하는 과제는 명시적(Explicit) 세그먼트 라우팅(Segment Routing, SR) 경로의 이름을 색상으로 자동 할당하는 자동 색상 알고리즘에 기초한 경로 관리 방법을 제공하는 것이다.
한 특징에 따르면, 적어도 하나의 프로세서에 의해 동작하는 컴퓨팅 장치가 복수의 네트워크 장치들간의 연결 경로에 색상을 설정하는 방법으로서, 소스 노드로부터 목적지 노드에 이르는 복수의 네트워크 장치들로 구성된 제1 경로에 대해 사전 설정된 복수의 색상 중에서 임의의 제1 색상을 할당하는 단계, 상기 제1 색상에 대한 RGB 코드를 토대로, 상기 제1 색상과 육안으로 구분되는 제2 색상을 상기 복수의 색상 중에서 선택하는 단계, 그리고 상기 제1 경로와 다른 제 2 경로에 대해 상기 제2 색상을 할당하는 단계를 포함한다.
상기 제2 색상을 선택하는 단계는, 유클리드 평면에서의 코사인 유사도 함수를 통해 상기 제1 색상과 상기 복수의 색상 중에서 상기 제1 색상을 제외한 후보 색상들 간의 코사인 유사도를 산출하는 단계, 루마 컴포넌트를 사용하여 상기 제1 색상과 상기 후보 색상들 간의 흑백 수치를 비교하여 명도(Brightness) 거리를 산출하는 단계, 그리고 상기 코사인 유사도가 사전에 설정된 제1 임계치보다 작은지, 그리고 상기 명도 거리가 사전에 설정된 제2 임계치보다 큰지를 판단하고, 상기 코사인 유사도가 상기 제1 임계치보다 작고 상기 명도 거리가 상기 제2 임계치보다 큰 제2 색상을 선택하는 단계를 포함할 수 있다.
상기 명도 거리를 산출하는 단계는, 루마 컴포넌트를 사용해서 흑백 수치를 산출하고, 상기 선택하는 단계는, 상기 흑백 수치가 상기 제2 임계치보다 큰지 판단할 수 있다.
상기 제2 색상을 선택하는 단계는, 상기 코사인 유사도가 상기 제1 임계치보다 큰 후보 색상들 중에서 상기 명도 거리가 상기 제2 임계치보다 큰 후보 색상들의 RGB 코드들을 나열하고 나열된 RGB 코드들 중에서 상기 명도 거리가 가장 큰 RGB 코드를 상기 제2 색상으로 선택할 수 있다.
상기 제2 색상을 선택하는 단계 이후, 상기 복수의 후보 색상을 저장하는 저장소에 상기 선택된 제2 색상을 경로에 미할당된 색상과 구분하여 설정하는 단계를 더 포함할 수 있다.
실시예에 따르면, 명시적(Explicit) 세그먼트 라우팅(SR) 경로 설정의 자동화와 문자열로 구성된 명시적 SR 경로의 이름을 관제 시스템이 색상 기반으로 자동 할당할 수 있다.
또한, 관제시스템에서 명시적 경로를 쉽게 구분하도록 색상의 이름으로 관제 시스템에서 경로의 표현에 대한 추가적인 개발없이 연동 및 표현이 가능하다.
도 1(a) 및 도 1(b)는 한 실시예에 따른 명시적(Explicit) 세그먼트 라우팅(Segment Routing, SR) 경로 설정 과정을 나타낸다.
도 2는 한 실시예에 따른 경로 생성 과정을 나타낸 순서도이다.
도 3은 한 실시예에 따른 색상 결정의 구체적인 과정을 설명한다.
도 4는 도 3에서 사용되는 RGB 코사인 유사도를 설명하는 도면이다.
도 5는 도 3의 과정을 통해 결정된 경로의 색상을 표시한 예시도이다.
도 6은 한 실시예에 따른 경로 색상 설정 장치의 하드웨어 구성도이다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
또한, 명세서에 기재된 "…부", "…기", "…모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
본 발명에서 설명하는 장치들은 적어도 하나의 프로세서, 메모리 장치, 통신 장치 등을 포함하는 하드웨어로 구성되고, 지정된 장소에 하드웨어와 결합되어 실행되는 프로그램이 저장된다. 하드웨어는 본 발명의 방법을 실행할 수 있는 구성과 성능을 가진다. 프로그램은 도면들을 참고로 설명한 본 발명의 동작 방법을 구현한 명령어(instructions)를 포함하고, 프로세서와 메모리 장치 등의 하드웨어와 결합하여 본 발명을 실행한다.
본 명세서에서 "전송 또는 제공"은 직접적인 전송 또는 제공하는 것 뿐만 아니라 다른 장치를 통해 또는 우회 경로를 이용하여 간접적으로 전송 또는 제공도 포함할 수 있다.
본 명세서에서 단수로 기재된 표현은 "하나" 또는 "단일" 등의 명시적인 표현을 사용하지 않은 이상, 단수 또는 복수로 해석될 수 있다.
본 명세서에서 도면에 관계없이 동일한 도면번호는 동일한 구성요소를 지칭하며, "및/또는" 은 언급된 구성 요소들의 각각 및 하나 이상의 모든 조합을 포함한다.
본 명세서에서, 제1, 제2 등과 같이 서수를 포함하는 용어들은 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를들어, 본 개시의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
본 명세서에서 도면을 참고하여 설명한 흐름도에서, 동작 순서는 변경될 수 있고, 여러 동작들이 병합되거나, 어느 동작이 분할될 수 있고, 특정 동작은 수행되지 않을 수 있다.
도 1(a) 및 도 1(b)는 한 실시예에 따른 명시적(Explicit) 세그먼트 라우팅(Segment Routing, SR) 경로 설정 과정을 나타낸다.
여기서, 세그먼트 라우팅(Segment Routing)은 MPLS-TE(Multiprotocol Label Switching Traffic Engineering)의 단점을 보완한 기술로서, 라벨(Label) 기반의 트래픽 엔지니어링(Traffic Engineering)을 제공한다. 세그먼트 라우팅은 더 간단하고 쉽게 라벨(Label) 기반의 경로를 설정할 수 있도록 지원한다. 세그먼트 라우팅은 동일하거나 상이한 종단(End-to-End) 레이턴시(Latency) 또는 트래픽 등의 특정 조건에 최적화된 경로를 지정하여 패킷을 송신할 수 있다.
세그먼트 라우팅은 다이나믹(Dynamic) SR(Segment Routing)-TE(Traffic Engineering) 경로와 명시적(Explicit) SR-TE 경로를 설정할 수 있다. 이러한 두 가지 경로의 가장 큰 차이는 다이나믹 SR-TE 경로는 네트워크 장비에 실제로 해당 경로에 대한 설정(configuration)을 수행하지 않고 경로를 설정할 수 있다는 점이다. 다시 말해, 명시적 SR-TE 경로는 장비에 SR-TE 경로를 설정해주어야 한다.
명시적 SR 경로 설정 방식에 따르면, 먼저, SRGB(Segment Routing Global Block)에서 장비를 대표하는 SID(Segment Identifier)를 정의해주어야 한다. SRGB는 보통 16,000에서 23,999 사이의 숫자 레이블의 영역을 의미하며 명시적 SR 경로를 정의하기 위해 각 장비에 이 영역의 숫자 중에 하나를 고유 할당할 수 있다. 또한, 프리픽스(prefix)를 정의해 주어야 한다.
네트워크에서 "경로"란 특정 목적지에 어떤 노드, 즉, 네트워크 장비를 거쳐 도착할 것인지를 정하는 것이라고 할 수 있다. 여기서, 특정 목적지는 OSI(Open Systems Interconnection)-7 계층의 L2 통신을 수행하느냐 또는 L3 통신을 수행하느냐에 따라 MAC(Media Access Control) 주소 혹은 IP(Internet Protocol address) 주소 등을 의미한다.
명시적 SR-TE 경로는 IP 네트워크 주소를 그 목적지로 사용하는데 IP 주소를 그대로 사용하기 보다는 32비트의 숫자를 목적지로 사용하고, 이러한 32비트의 숫자를 "프리픽스(Prefix)"라고 부른다. 이때, 프리픽스는 직관적으로 목적지에서 SR 네트워크 내의 다른 노드들로 광고(advertisement)한다.
명시적의 의미는 광고된 목적지로 어떤 노드들을 거쳐 갈 것인지를 설정(configuration)으로 정의한다는 의미로 해석하여도 무방하다. 즉, 명시적 SR 경로 설정의 마지막 단계로 목적지까지 거쳐갈 노드들을 정의하고 이러한 "경로"에 이름을 붙인다.
도 1a를 참조하면, 목적지 프리픽스 #101로 향하는 경로를 BLUE라고 지정하는 단계이다. 해당 경로를 도 1b와 같이 설정한다고 가정한다. 이러한 설정을 NX-OS 9.2.2 기반의 시스코(Cisco) 네트워크 장비에서 수행하면 그 설정은 표 1과 같을 수 있다.
explicit-path name BLUE
index 1 next-label 16005
index 2 next-label 16007
index 3 next-label 16002
index 4 next-label 16003
policy policy1
endpoint 1.1.1.1 (16003의 IP)
prefix 101
preference 1
explicit-path BLUE
표 1에 도식화되어 있는 설정을 SID(Segment ID) 16004 노드에서 수행한다면, 16004 노드는 자기 자신 노드(16004)로부터 "16005 노드 → 16007 노드 → 16002 노드"를 거쳐 16003 노드로 가는 "BLUE" 라는 경로를 갖게 된다.
이때, 본 발명의 실시예에 따르면, 명시적 SR 경로의 이름, 즉, "BLUE"를 색상(color)으로 자동 할당하는 기술로서, 이에 대해 도 2 내지 도 4를 참고하여 설명한다.
도 2는 한 실시예에 따른 경로 생성 과정을 나타낸 순서도로서, 메모리 및 적어도 하나의 프로세서를 포함하는 컴퓨팅 장치의 동작을 나타낸다. 이때, 프로세서는 메모리에 로드된 프로그램의 명령을 실행한다. 컴퓨팅 장치는 관제 시스템으로 구현될 수 있다.
도 2를 참조하면, 관제 시스템에서 경로 설정 트리거링을 수행한다(S101). 여기서, 관제 시스템은 네트워크를 구성하는 노드들 간의 경로를 설정하는 기능을 한다. 앞서, 도 1a 및 도 1b에서 SID=16000, 16001, 16002, 16003, 16004, 16005, 16006, 16007, 16008인 노드들은 명시적 SR 경로를 형성한다. 관제 시스템은 각 노드들을 토대로 명시적 SR 경로를 설정하는 관제 기능을 수행하며, 예를들어, SDN(Software-Defined Networking) 컨트롤러일 수 있다.
사용자는 관제 시스템의 UI(User Interface)를 통해 원하는 SR 경로를 설정한다. 이때, 명시적 SR 경로는 네트워크 토폴로지 상에 선으로 관리되며, 목적지 노드의 color(prefix)와 경로의 노드를 선택하는 것으로 경로 설정이 가능하다.
다음, 사용자가 관제 시스템의 UI 상에서 선택한 목적지 노드의 프리픽스(prefix)를 목적지 노드에 설정한다(S103). 이 S103 단계는 본 발명의 범위 밖으로 자세한 내용은 생략한다.
관제 시스템은 경로 정보를 토대로, 표 1과 같은 경로 설정을 수행하는데, 명시적 SR 경로의 이름 정보, 예를들어, "BLUE"가 필요하다. 이를 자동으로 생성하기 위하여 관제 시스템은 색상(color) 결정 단계(S105)를 수행한다.
여기서, 경로 정보는 도 1의 SID 정보와 S103의 프리픽스를 의미한다. 즉, 경로 정보는 '16004-16005-16006-16002-16003'라는 순서의 SID 집합과 prefix 101을 포함한다. 이때, prefix 101에는 endpoint(목적지 주소)와 라우팅을 위한 IP prefix 정보가 포함되어 있다.
관제 시스템은 S105에서 결정된 색상(color)으로 해당 경로의 출발지 노드에 명시적 SR 경로 및 정책(policy)를 설정할 수 있다(S107, S109). 즉, 출발지 노드에 명시적-경로-이름(explicit-path name)과 정책(policy)을 모두 설정할 수 있다(S107, S109).
관제 시스템은 S107 및 S109의 모든 설정을 마친 후, 색상 저장소(color repository)에서 이번, 즉, S105에서 선택된 색상(color)의 "사용중" 컬럼의 값을 True로 변경함(S111)으로써, 경로 설정을 완료한다.
위의 단계들에 의해서 실제로 SR 네트워크 상에 새로운 경로는 설정 완료되고 관제 시스템은 토폴로지를 업데이트 한다(S113).
이상 설명한 단계들(S101 ~ S113)을 수행함으로써, 명시적 SR 경로의 문자열 이름을 자동으로 할당하고, 이때, 할당된 이름은 각 명시적 SR 경로를 색상(color)으로 표현했을 때, 시각적으로 서로 구분하기 쉬운 색상(color)으로 할당된다. 즉, 관제 시스템에서는 색상 저장소(color repository)를 검색하여 해당 색상(color)의 RGB값을 추출하고 이에 기반하여 경로를 생성할 수 있다.
네트워크 관리를 수행하는 운용자 입장에서는 이러한 경로들을 "육안"으로 구분해야할 필요성이 있다.
육안 상 구분 가능한 색상(color)을 할당하는 시스템이 없는 경우, 여러가지 문제가 있다. 운용자가 장비에 설정된 SR 경로에 대해 직접, 즉, 수동으로 색상(color)을 고려하여 할당해야 한다. 예를들어, 100개의 경로가 설정되어 있는 상태이면, 운용자는 100개의 색상(color)을 하나하나 비교하여 101번째 육안 상 구분하기 쉬운 색상(color)을 찾아야 한다.
또한, 실제 장비에 설정된 경로와 관제 시스템 상의 경로가 일치하는지에 관한 동기화 문제가 있다. 경로에 적용할 색상(color)을 사람이 선택/설정하였으므로, 장비에는 'CoralBlue'로 정의된 색상(color)이 관제 시스템 상에서는 'IrishBlue'일 수 있다. 이와 같은 경우, 관제 시스템의 효율성이 떨어져 비효율적인 관제가 수행되거나 관제 시스템에서 색상(color) 관리상의 문제로 장애가 발생할 수도 있다. 관제 시스템의 모니터 상에 표시되는 동일한 회선 상에 여러가지 다양한 정책에 의해 결정된 여러 SR 경로가 있을 수 있고 네트워크 운용자는 이들을 "육안상" 구분해야 할 필요성이 있다. 본 발명의 실시예를 적용하면, 육안상 구분할 수 있는 색상(color)의 설정이 가능하다.
이에 대해 구체적으로 설명하면, 도 3과 같다.
도 3은 한 실시예에 따른 색상(color) 결정의 구체적인 과정을 설명하고, 도 4는 도 3에서 사용되는 RGB 코사인 유사도를 설명하는 도면이고, 도 5는 도 3의 과정을 통해 결정된 경로의 색상(color)을 표시한 예시도이다.
도 3을 참조하면, 관제 시스템은 색상 저장소의 사용중 필드에 수록된 값이 'False'로 설정된 즉, 미사용중인 가용 색상(colors_all)을 추출한다(S201).
본 발명의 실시예에서는 색상(color) 정보를 자동으로 제공하기 위해 색상 저장소(color repository)라는 색상(color)에 대한 저장소를 사용하는데 색상 저장소는 각 색상(color)에 대한 데이터(이하, '색상(color) 데이터'로 호칭함)가 저장된다.
인덱스 색상 이름 RGB(hex) RGB(0~255) 사용중
1 DodgerBlue1 #0087ff (0,135,255) False
n DarkViolet #8700d7 (135,0,215) False
표 2를 참조하면, 인덱스는 각 색상(color)의 고유 번호로 설정되고, 색상(color)에 대한 데이터는 색상 이름 필드, RGB(hex) 필드, RGB(0~255) 필드 및 사용중 필드로 구성된다.
색상 이름 필드는 색상의 문자열 이름이 수록되고,RGB(hex) 필드는 RGB값이 16진수로 표시되고, RGB(0~255)필드는RGB값이 10진수로 표시된다. 즉, 색상 저장소 에 있는 색상만 명시적 SR 경로의 이름으로 할당할 수 있으며 본 발명의 실시예에서는 228개의 색상을 이용할 수 있다.
S201에서, 관제 시스템은 표 2의 사용중 필드에 미사용(false)으로 설정된 색상들을 가용 색상(colors_all)으로 추출할 수 있다.
관제 시스템은 사전에 설정된 명시적 SR 경로들을 조회하여 각 경로에 설정된 사용중 색상(colors_using)를 추출한다(S203). 관제 시스템은 표 2의 사용중 필드에 사용(true)으로 설정된 색상들을 사용중 색상(colors_using)으로 추출할 수 있다.
관제 시스템은 기존에 설정된 명시적 SR 경로 색상들과 육안상 구분되는 색상을 자동으로 추천하여 제공한다. 이러한 작업을 위하여 가용 색상(colors_all)에서 사용중 색상(colors_using) 및 검은색 계열의 색상을 제거한다(S205). 여기서, 검은색 계열의 색상이란 검은색, 회색, 흰색 등 색상이 없는 색들을 의미한다. 이와 같은 검은색 계열의 색상을 제거하는 이유는 색상을 육안상 구분하기 쉽게 하는 척도로 brightness를 이용하는데, 이러한 검은색 계열의 색상은 brightness를 이용한 색상 유사도 측정에 불확실한 결과를 가져오기 때문이다.
S205를 통해 제거 작업을 거친 가용 색상(colors_all)을 후보 색상(colors_final)이라고 호칭하기로 한다.
이하, S207~S227은 nested loop 구조로 구성되어 있다. S213~S223은 inner loop 구조로 구성되어 있다. S209~S227은 outer loop 구조로 구성되어 있다. outer loop에서 사용중 색상(colors_using) 중에서 하나의 색상을 선택하여 inner loop에서 가용 색상(colors_all)의 각각의 색상과 S215~S221까지의 작업을 반복 수행하여 최종 추천 색상을 결정한다.
먼저, 관제 시스템은 사용중 색상(colors_using)에 속한 하나의 색상과 후보 색상(colors_final)에 속한 각각의 색상을 비교한다(S207, S209, S211, S213).
관제 시스템은 사용중 색상(colors_using)의 인덱스, 즉, N을 1로 설정한다(S207). 예를들어, S101에서 경로에 설정된 색상이 10개로 확인되면, N은 {1, ..., 10}과 같다.
관제 시스템은 'N≤len(colors_using)'인지를 판단한다(S209). 즉, 관제 시스템은 len 함수를 이용하여 N이 사용중 색상(colors_using)의 개수보다 작거나 같은지 판단한다(S209). len 함수는 ()안의 리스트에 속하는 원소 개수를 구하는데 사용된다.
S209에서 N이 사용중 색상(colors_using)의 개수보다 작거나 같으면, M을 1로 설정한다(S211). 여기서, M은 후보 색상(colors_final)의 개수가 100개라면, {1, ..., 100}과 같다.
관제 시스템은 'M≤len(colors_final)'인지를 판단한다(S213). 즉, 관제 시스템은 len 함수를 이용하여 M이 후보 색상(colors_final)의 개수보다 작거나 같은지 판단한다(S213).
S213에서 'M≤len(colors_final)'으로 판단되면, 관제 시스템은 두 가지의 유사도를 측정(S215, S217)하게 되는데, 유사하다고 판단되는 측정 기준에 의하여 두가지 유사도 검증에서 모두 유사하지 않다고 판단되는 경우, 해당 색상을 후보군으로 선정한다(S219, S221).
관제 시스템은 사용중 색상(colors_using)(N)과 후보 색상(colors_final)(M) 간의 코사인 유사도(Cos Similarity)를 측정한다(S215).
도 4를 참조하면, 비교 대상인 두개의 RGB(x1,y1,z1), RGB(x2,y2,z2),가 있다고 가정했을때, 코사인 유사도()는 다음의 수학식 1과 같이 계산될 수 있다.
이때, 사용중 색상(colors_using)(N)은 RGB(x1=215,y1=135,z1=215)값을 가지고 후보 색상(colors_final)(M)은 RGB(x2=255,y2=175,z2=215)값을 가진다고 가정하면, 코사인 유사도()는 수학식 1을 통해 다음의 수학식 2와 같이 계산될 수 있다.
다음, 관제 시스템은 사용중 색상(colors_using)(N)과 후보 색상(colors_final)(M) 간의 명도(Brightness) 거리를 측정한다(S217). 여기서, 명도(Brightness) 거리 측정은 루마 컴포넌트가 사용될 수 있다. 루마 컴포넌트는 RGB로 표현된 색상을 흑백으로 표현하는 데에 사용되는 명도(brightness) 계산 컴포넌트이다. 루마 컴포넌트를 이용하여 RGB 색상을 흑백으로 변환하고 흑백으로 변환된 수치를 서로 비교함으로써 유사한 두가지 색상에 대한 유사도를 판단하는 것이다. 흑백의 색상 역시 RGB color picker에서 볼 수 있듯이 0~255의 숫자로 표현된다.
관제 시스템은 S215에서 계산한 코사인 유사도가 0.8보다 작은지, 그리고 S217에서 계산한 명도(Brightness) 거리가 40보다 큰지를 판단할 수 있다(S219). 여기서, 코사인 유사도가 1에 가까울 수록 두 색상은 유사하고 0에 가까울 수록 두 색상은 다르다고 판단된다.
실시예에 따르면, 색상을 구분하는 기준은 2가지가 사용된다. RGB를 유클리드 평면에 놓고 코사인 유사도를 측정했을 때, 그 내적의 각이 0.8보다 작은지를 검증하는 것이 그 첫번째이다. 이는 RGB 혼합 색상에 대한 색상의 차이가 얼마나 유사한지를 판단하는 척도로 사용된다. 다만, 이러한 기준만 적용하면 육안 상 비슷한 색상에 대한 구분이 어렵다. 따라서, 육안 상 비슷한 색상을 구분하기 위해 본 발명의 실시예에서는 Y'UV 모델의 루마 컴포넌트 (Y')를 이용한다. 육안 상 구분하기 쉽다라는 기준이 되는 루마 컴포넌트값을 40으로 선정하였다.
관제 시스템은 S219에서 코사인 유사도가 0.8보다 작고 명도(Brightness) 거리가 40보다 크면, 후보 색상(colors_final)(M)을 추천 색상(colors_possible)으로 임시 저장한다(S221). 그리고 M은 다음 순번(M+1)으로 설정(S223)한 후, S213 ~ S223을 반복한다.
또한, 관제 시스템은 S213에서 M>len(colors_final)로 판단되면, S221에서 임시 저장된 추천 색상(colors_possible)과 후보 색상(colors_final)의 교집합을 최종 추천 색상으로 결정한다(S225 ). 그리고 N은 다음 순번(N+1)으로 설정(S227)하고, S209 ~ S227을 반복한다.
이후, S209에서 N>len(colors_using)로 판단되면, 즉, S209 ~ S227을 모든 사용중 색상(colors_using)에 대하여 완료하면 S225에서 결정한 추천 색상 중에서 임의의 색상을 경로에 설정할 색상으로 결정하여 출력한다(S229). 즉, 도 5와 같이 새로 생성하려는 명시적 SR 경로에서 사용할 수 있는 색상들이 결정된다(S229).
이때, S229는 S225에서 결정한 추천 색상들의 RGB 코드들을 나열하고 나열된 RGB 코드들 중에서 코사인 유사도와 명도 거리가 가장 큰 RGB 코드를 경로에 설정할 색상으로 선택할 수 있다. 한 실시예에 따르면, 코사인 유사도가 큰 순서대로 S225에서 결정한 추천 색상들의 RGB 코드를 나열할 수 있다. 그리고 코사인 유사도가 큰 RGB 코드들중에서 명도 거리가 가장 큰 RGB를 최종적으로 경로에 설정할 색상으로 결정할 수 있다.
관제 시스템은 S229에서 출력한 색상이 경로에 설정되면, 색상 저장소에 이를 업데이트한다(S231). 즉, 색상 저장소에 S229에서 출력한 색상을 경로에 미할당된 색상과 구분하여 설정할 수 있다. 즉, 표 2의 사용중 필드의 값을 'True'로 변경할 수 있다.
도 5는 한 실시예에 따른 경로 색상 예시도이다.
도 5를 참조하면, 색상이 설정된 기존의 명시적 SR 경로가 20개 존재(P1)할 때, 본 발명의 실시예에 따른, 즉 도 3의 절차를 통해 결정된 색상이 경로에 설정된 예시(P3)를 나타낸다.
즉, 점선의 위에 있는 20개의 색상은 기존의 20개 경로의 색상(P1)을 보여주고, 점선의 하단에 있는 색상(P3)은 본 발명의 알고리즘에 의해 선정된 17가지의 사용 가능한 색상을 보여준다. 이와 같이, 직관적으로 보아도 서로 구분된 색상이 각 경로에 할당되어 있음을 알 수 있다.
한편, 도 6은 한 실시예에 따른 경로 색상 설정 장치의 하드웨어 구성도이다.
도 6을 참고하면, 도 1 내지 도 5에서 설명한 경로 색상을 설정하는 장치인 관제 시스템은 적어도 하나의 컴퓨팅 장치(100)로 구현될 수 있고, 본 개시의 동작을 실행하도록 기술된 명령들(instructions)이 포함된 컴퓨터 프로그램을 실행할 수 있다.
컴퓨팅 장치(100)의 하드웨어는 버스를 통해 연결되는 적어도 하나의 프로세서(101), 메모리(103), 스토리지(105), 통신 장치(107), 디스플레이 장치(109), 입력 장치(111)를 포함할 수 있다. 컴퓨팅 장치(100)는 컴퓨터 프로그램을 구동할 수 있는 운영 체제를 비롯한 각종 소프트웨어가 탑재될 수 있다. 컴퓨터 프로그램은 어플리케이션 계층에서 동작하는 에이전트 프로그램을 포함할 수 있다. 컴퓨터 프로그램은 각종 네트워크 인터페이스 드라이버 소프트웨어를 포함할 수 있다.
프로세서(101)는 컴퓨팅 장치(100)의 동작을 제어하는 장치로서, 컴퓨터 프로그램에 포함된 명령들을 처리하는 다양한 형태의 프로세서일 수 있고, 예를 들면, CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit) 등 일 수 있다. 또한, 프로세서(101)는 위에서 설명한 방법을 실행하기 위한 프로그램에 대한 연산을 수행할 수 있다.
메모리(103)는 각종 데이터, 명령 및/또는 정보를 저장한다. 메모리(103)는 본 개시의 동작을 실행하도록 기술된 명령들이 프로세서(101)에 의해 처리되도록 해당 컴퓨터 프로그램을 스토리지(105)로부터 로드할 수 있다. 메모리(103)는 예를 들면, ROM(read only memory), RAM(random access memory) 등 일 수 있다. 스토리지(105)는 본 개시의 동작을 실행하는데 요구되는 각종 데이터, 컴퓨터 프로그램 등을 저장할 수 있다. 스토리지(105)는 컴퓨터 프로그램을 비임시적으로 저장할 수 있다. 스토리지(105)는 비휘발성 메모리로 구현될 수 있다. 여기서, 스토리지는 도 1 ~ 도 5에서 설명한 색상 스토리지를 포함할 수 있으며, 경로 설정에 사용된 색상 정보를 포함할 수 있다.
통신 장치(107)는 유/무선 통신 모듈일 수 있다. 디스플레이 장치(109)는 LCD(liquid crystal display) 기술 또는 LPD(light emitting polymer display) 기술을 사용할 수 있고, 이러한 디스플레이 장치(109)는 용량형, 저항형, 적외선형 등의 터치 디스플레이일 수 있다. 디스플레이 장치(109)는 프로세서(101)가 실행하는 프로그램의 동작 결과를 화면에 출력한다. 여기서, 디스플레이 장치(109)는 도 5의 경로에 설정된 색상을 표시할 수 있다. 혹은 도 3의 절차를 통해 결정된 색상을 출력할 수도 있다. 입력 장치(111)는 사용자 명령을 입력받기 위한 수단으로서, 터치 센서(Touch Sensor), 키패드, 버튼, 마우스, 키보드, 포인팅 장치와 같은 다양한 입력 장치를 포함할 수 있다.
이상에서 설명한 본 발명의 실시예는 장치 및 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.

Claims (5)

  1. 적어도 하나의 프로세서에 의해 동작하는 컴퓨팅 장치가 복수의 네트워크 장치들간의 연결 경로에 색상을 설정하는 방법으로서,
    소스 노드로부터 목적지 노드에 이르는 복수의 네트워크 장치들로 구성된 제1 경로에 대해 사전 설정된 복수의 색상 중에서 임의의 제1 색상을 할당하는 단계,
    상기 제1 색상에 대한 RGB 코드를 토대로, 상기 복수의 색상 중에서 상기 제1 색상과 육안으로 구분되는 제2 색상을 선택하는 단계, 그리고
    상기 제1 경로와 다른 제2 경로에 대해 상기 제2 색상을 할당하는 단계를 포함하고,
    상기 제2 색상을 선택하는 단계는,
    유클리드 평면에서의 코사인 유사도 함수를 통해 상기 제1 색상과 상기 복수의 색상 중에서 상기 제1 색상을 제외한 후보 색상들 간의 코사인 유사도를 산출하는 단계,
    루마 컴포넌트를 사용하여 상기 제1 색상과 상기 후보 색상들 간의 흑백 수치를 비교하여 명도(Brightness) 거리를 산출하는 단계, 그리고
    상기 코사인 유사도와 상기 명도 거리를 기초로, 상기 복수의 색상 중에서 상기 제2 색상을 선택하는 단계
    를 포함하는, 방법.
  2. 제1항에서,
    상기 복수의 색상 중에서 상기 제2 색상을 선택하는 단계는,
    상기 코사인 유사도가 사전에 설정된 제1 임계치보다 작은지, 그리고 상기 명도 거리가 사전에 설정된 제2 임계치보다 큰지를 판단하고, 상기 코사인 유사도가 상기 제1 임계치보다 작고 상기 명도 거리가 상기 제2 임계치보다 큰 제2 색상을 선택하는, 방법.
  3. 제2항에서,
    상기 명도 거리를 산출하는 단계는,
    루마 컴포넌트를 사용해서 흑백 수치를 산출하고,
    상기 선택하는 단계는,
    상기 흑백 수치가 상기 제2 임계치보다 큰지 판단하는, 방법.
  4. 제3항에서,
    상기 제2 색상을 선택하는 단계는,
    상기 코사인 유사도가 상기 제1 임계치보다 큰 후보 색상들 중에서 상기 명도 거리가 상기 제2 임계치보다 큰 후보 색상들의 RGB 코드들을 나열하고 나열된 RGB 코드들 중에서 상기 명도 거리가 가장 큰 RGB 코드를 상기 제2 색상으로 선택하는, 방법.
  5. 제4항에서,
    상기 제2 색상을 선택하는 단계 이후,
    상기 복수의 후보 색상을 저장하는 저장소에 상기 선택된 제2 색상을 경로에 미할당된 색상과 구분하여 설정하는 단계
    를 더 포함하는, 방법.

KR1020200167724A 2020-12-03 2020-12-03 자동 색상 알고리즘에 기초한 경로 관리 방법 KR102621077B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200167724A KR102621077B1 (ko) 2020-12-03 2020-12-03 자동 색상 알고리즘에 기초한 경로 관리 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200167724A KR102621077B1 (ko) 2020-12-03 2020-12-03 자동 색상 알고리즘에 기초한 경로 관리 방법

Publications (2)

Publication Number Publication Date
KR20220078314A KR20220078314A (ko) 2022-06-10
KR102621077B1 true KR102621077B1 (ko) 2024-01-03

Family

ID=81986396

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200167724A KR102621077B1 (ko) 2020-12-03 2020-12-03 자동 색상 알고리즘에 기초한 경로 관리 방법

Country Status (1)

Country Link
KR (1) KR102621077B1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3567134B2 (ja) 1998-02-17 2004-09-22 モトローラ・インコーポレイテッド 電子デバイスおよび電子装置を製造および設計する方法
US20060212276A1 (en) 2001-09-29 2006-09-21 The Boeing Company Constraint-based method of designing a route for a transport element
JP2018169986A (ja) 2017-03-30 2018-11-01 株式会社大和総研 企業情報提供システムおよびプログラム
US10601724B1 (en) 2018-11-01 2020-03-24 Cisco Technology, Inc. Scalable network slice based queuing using segment routing flexible algorithm
CN111245644A (zh) * 2019-12-31 2020-06-05 网络通信与安全紫金山实验室 一种sdn场景下扩展pcep协议自动创建隧道的方法及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3567134B2 (ja) 1998-02-17 2004-09-22 モトローラ・インコーポレイテッド 電子デバイスおよび電子装置を製造および設計する方法
US20060212276A1 (en) 2001-09-29 2006-09-21 The Boeing Company Constraint-based method of designing a route for a transport element
JP2018169986A (ja) 2017-03-30 2018-11-01 株式会社大和総研 企業情報提供システムおよびプログラム
US10601724B1 (en) 2018-11-01 2020-03-24 Cisco Technology, Inc. Scalable network slice based queuing using segment routing flexible algorithm
CN111245644A (zh) * 2019-12-31 2020-06-05 网络通信与安全紫金山实验室 一种sdn场景下扩展pcep协议自动创建隧道的方法及系统

Also Published As

Publication number Publication date
KR20220078314A (ko) 2022-06-10

Similar Documents

Publication Publication Date Title
CN108234168B (zh) 一种基于业务拓扑的数据展示方法及系统
US10033623B2 (en) Multithreaded system and method for establishing network connections
US8089904B2 (en) Link inference in large networks based on incomplete data
US8775629B1 (en) System and method for managing internet protocol (IP) address space for enterprise network
US20100161805A1 (en) Surplus resource management system, method and server
US20140177471A1 (en) Virtual network prototyping environment
US20200084060A1 (en) Method of controlling iot device using cloud platform, cloud server and system for controlling iot device
CN106681678A (zh) 拼接屏地址参数修改方法及装置
CN112087379A (zh) 业务链的编排方法及装置、存储介质和电子装置
US10761681B2 (en) Visual representation of network-discovered components
KR102621077B1 (ko) 자동 색상 알고리즘에 기초한 경로 관리 방법
JP2008170581A (ja) 画像表示装置、端末制御プログラム及び画像表示システム
JP2021019348A (ja) ユーザの要求に基づいて効率的にネットワークを管理するためのトラフィック管理方法及び装置
US9087299B2 (en) Inferring connectivity in the presence of conflicting network data
US9141688B2 (en) Search in network management UI controls
CN113434372B (zh) 一种定位指示的方法、设备、系统及存储介质
US11528188B2 (en) Graphically managing a networking device configuration
JP6272569B2 (ja) ネットワーク管理装置およびネットワーク管理プログラム
CN114697291A (zh) 可用ip地址段获取方法、装置、服务器及存储介质
JP7018356B2 (ja) ビジュアルプログラミングツールを用いてプログラムを作成することを支援する装置および方法
CN112631532A (zh) 亮暗线调节方法、装置和系统以及计算机存储介质
CN109862602A (zh) 一种接入点ap的查找方法及装置
US20200050944A1 (en) Machine Learning Device, Information Processing Device and Output Device
KR101528803B1 (ko) 비즈 프로세스 기반 어플리케이션 구축 시스템 및 방법
CN117493616A (zh) 有向图布局方法、装置、电子设备及存储介质

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