KR102316971B1 - 소프트웨어 정의 네트워크에서 동적 자원 할당 방법 및 장치 - Google Patents

소프트웨어 정의 네트워크에서 동적 자원 할당 방법 및 장치 Download PDF

Info

Publication number
KR102316971B1
KR102316971B1 KR1020170057526A KR20170057526A KR102316971B1 KR 102316971 B1 KR102316971 B1 KR 102316971B1 KR 1020170057526 A KR1020170057526 A KR 1020170057526A KR 20170057526 A KR20170057526 A KR 20170057526A KR 102316971 B1 KR102316971 B1 KR 102316971B1
Authority
KR
South Korea
Prior art keywords
packet
virtual switch
host
resource
resource allocation
Prior art date
Application number
KR1020170057526A
Other languages
English (en)
Other versions
KR20180123379A (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 KR1020170057526A priority Critical patent/KR102316971B1/ko
Priority to US15/974,088 priority patent/US11134025B2/en
Publication of KR20180123379A publication Critical patent/KR20180123379A/ko
Application granted granted Critical
Publication of KR102316971B1 publication Critical patent/KR102316971B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/78Architectures of resource allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/76Admission control; Resource allocation using dynamic resource allocation, e.g. in-call renegotiation requested by the user or requested by the network in response to changing network conditions
    • H04L47/762Admission control; Resource allocation using dynamic resource allocation, e.g. in-call renegotiation requested by the user or requested by the network in response to changing network conditions triggered by the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/76Admission control; Resource allocation using dynamic resource allocation, e.g. in-call renegotiation requested by the user or requested by the network in response to changing network conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0896Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0896Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
    • H04L41/0897Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities by horizontal or vertical scaling of resources, or by migrating entities, e.g. virtual resources or entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0888Throughput
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0894Packet rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/52Queue scheduling by attributing bandwidth to queues
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/6215Individual queue per QOS, rate or priority
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/78Architectures of resource allocation
    • H04L47/781Centralised allocation of resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/82Miscellaneous aspects
    • H04L47/822Collecting or measuring resource availability data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/60Software-defined switches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/65Re-configuration of fast packet switches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/70Virtual switches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1025Dynamic adaptation of the criteria on which the server selection is based
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9005Buffering arrangements using dynamic buffer space allocation

Abstract

본 개시는 LTE와 같은 4G 통신 시스템 이후 보다 높은 데이터 전송률을 지원하기 제공될 5G 또는 pre-5G 통신 시스템에 관련된 것이다. 본 발명의 실시예에 따른 소프트웨어 정의 네트워크(software defined network)에서 지능형 오케스트레이터(intelligent orchestrator)의 동적 자원 할당 방법은, 상기 소프트웨어 정의 네트워크에서 자원 할당과 관련된 운영 데이터를 획득하는 단계와, 상기 운영 데이터와 미리 설정된 스케줄링 정책에 기반하여 가상 스위치 및 호스트 파라미터 중에서 적어도 하나를 조정하는 단계와, 상기 조정 결과에 따라 동적으로 자원을 할당하는 단계를 포함한다.

Description

소프트웨어 정의 네트워크에서 동적 자원 할당 방법 및 장치{METHOD AND APPARATUS FOR ALLOCATING RESOURCE IN SOFTWARE DEFINED NETWORK}
본 발명은 소프트웨어 정의 네트워크에서 동적으로 자원을 할당하는 지능형 장치(intelligent device)에 관한 것이다.
4G 통신 시스템 상용화 이후 증가 추세에 있는 무선 데이터 트래픽 수요를 충족시키기 위해, 개선된 5G 통신 시스템 또는 pre-5G 통신 시스템을 개발하기 위한 노력이 이루어지고 있다. 이러한 이유로, 5G 통신 시스템 또는 pre-5G 통신 시스템은 4G 네트워크 이후 (Beyond 4G Network) 통신 시스템 또는 LTE 시스템 이후 (Post LTE) 이후의 시스템이라 불리어지고 있다.
높은 데이터 전송률을 달성하기 위해, 5G 통신 시스템은 초고주파(mmWave) 대역 (예를 들어, 60기가(60GHz) 대역과 같은)에서의 구현이 고려되고 있다. 초고주파 대역에서의 전파의 경로손실 완화 및 전파의 전달 거리를 증가시키기 위해, 5G 통신 시스템에서는 빔포밍(beamforming), 거대 배열 다중 입출력(massive MIMO), 전차원 다중입출력(Full Dimensional MIMO: FD-MIMO), 어레이 안테나(array antenna), 아날로그 빔형성(analog beam-forming), 및 대규모 안테나 (large scale antenna) 기술들이 논의되고 있다.
또한 시스템의 네트워크 개선을 위해, 5G 통신 시스템에서는 진화된 소형 셀, 개선된 소형 셀 (advanced small cell), 클라우드 무선 액세스 네트워크 (cloud radio access network: cloud RAN), 초고밀도 네트워크 (ultra-dense network), 기기 간 통신 (Device to Device communication: D2D), 무선 백홀 (wireless backhaul), 이동 네트워크 (moving network), 협력 통신 (cooperative communication), CoMP (Coordinated Multi-Points), 및 수신 간섭제거 (interference cancellation) 등의 기술 개발이 이루어지고 있다.
이 밖에도, 5G 시스템에서는 진보된 코딩 변조(Advanced Coding Modulation: ACM) 방식인 FQAM (Hybrid FSK and QAM Modulation) 및 SWSC (Sliding Window Superposition Coding)과, 진보된 접속 기술인 FBMC(Filter Bank Multi Carrier), NOMA(non orthogonal multiple access), 및SCMA(sparse code multiple access) 등이 개발되고 있다.
클라우드 컴퓨팅(Cloud Computing)이란 인터넷 상의 서버를 통하여 데이터 저장, 네트워크, 콘텐츠 사용 등 IT 관련 서비스를 한번에 사용할 수 있는 컴퓨팅 기술을 말한다. 클라우딩 컴퓨팅에서 정보는 인터넷 상의 서버에 저장되고, 데스크톱, 태블릿컴퓨터, 노트북, 넷북, 스마트폰 등의 IT 기기 등과 같은 클라이언트에는 일시적으로 보관된다. 즉, 클라우딩 컴퓨팅을 통해 이용자의 정보를 인터넷 상의 서버에 저장하고, 이 정보를 각종 IT 기기를 통하여 언제 어디서든 이용할 수 있다.
브라우저 기반의 네트워크가 모바일 환경으로 전환되면서, 멀티미디어 클라우드 컴퓨팅이 큰 관심사로 대두되고 있다. 멀티미디어 클라우드 컴퓨팅은 멀티미디어 컨텐츠의 인코딩과 디코딩을 클라우드에서 제공하여 모바일 디바이스의 제한된 자원에서 복잡한 연산을 피할 수 있게 했다. 멀티미디어 클라우드 컴퓨팅 서비스의 품질요구(QoS: Quality of Service)를 보장하는 것이 중요한 이슈 중 하나인데, 이러한 서비스 품질 요구를 보장하기 위해서 효율적인 네트워크 관리가 필요하다.
이처럼 효율적인 네트워크 관리를 위해 사용되는 SDN(Software Defined Network)은 소프트웨어로 네트워크를 제어하는 기술로서, 전달 계층(forwarding plane)과 제어 계층(control plane)을 논리적으로 분리시켜 네트워크를 동적으로 관리한다.
본 발명의 실시예에 따른 동적 자원 할당 방법 및 장치는, 작동 조건이 자주 변경되는 환경(특히, 5G 및 이후 기술을 사용할 수 있는 클라우드 및 NFV 환경)에서 소프트웨어 정의 네트워크 전체의 자원 효율성을 향상시키는 방법 및 장치를 제공한다.
본 발명의 실시예에 따른 소프트웨어 정의 네트워크(software defined network)에서 지능형 오케스트레이터(intelligent orchestrator)의 동적 자원 할당 방법은, 상기 소프트웨어 정의 네트워크에서 자원 할당과 관련된 운영 데이터를 획득하는 단계와, 상기 운영 데이터와 미리 설정된 스케줄링 정책에 기반하여 가상 스위치 및 호스트 파라미터 중에서 적어도 하나를 조정하는 단계와, 상기 조정 결과에 따라 동적으로 자원을 할당하는 단계를 포함한다.
상기 운영 데이터는, 패킷 크기(packet-size), 패킷 속도(packet-rate), 호스트의 자원 사용 및 요구량, 상기 가상 스위치의 자원 사용 및 요구량, 및 애플리케이션의 자원 사용 및 요구량 중에서 적어도 하나를 포함할 수 있다.
상기 스케줄링 정책은, 데이터에 대한 QoS(quality of service), 애플리케이션에 대한 우선순위, 가입자 정보 관련 정책, 상기 가상 스위치에 대한 최소 및 최대 자원 할당량, 및 애플리케이션에 대한 최소 및 최대 자원 할당량 중에서 적어도 하나를 포함할 수 있다.
실시예에 따라, 상기 동적으로 자원을 할당하는 단계는, 상기 조정 결과에 따라 상기 가상 스위치와 애플리케이션 사이의 자원 할당을 변경하는 단계, 상기 조정 결과에 따라 임의의 호스트에 대한 패킷 버퍼를 변경하는 단계, 및 상기 조정 결과에 따라 자원에 대한 과다-커밋(over-commit) 비율을 변경하는 단계 중에서 적어도 하나를 포함할 수 있다.
다른 실시예에 따라, 상기 동적으로 자원을 할당하는 단계는, 상기 가상 스위치가 처리하는 패킷 트래픽(packet traffic)에 따라 애플리케이션의 스케줄링을 위해 사용되는 적어도 하나의 코어를 조정하는 단계를 포함할 수 있다.
실시예에 따라, 상기 패킷 버퍼를 변경하는 단계는, 패킷에 대한 속성 정보에 기반하여 상기 패킷을 홀딩하는 큐(queue)의 크기를 조정하는 단계를 포함할 수 있다.
다른 실시예에 따라, 상기 패킷 버퍼를 변경하는 단계는, 패킷 속도에 기반하여 복수의 큐(queue)들 각각을 PMD(poll mode driver) 스레드에 할당하는 단계를 포함할 수 있다.
실시예에 따라, 본 발명의 지능형 오케스트레이터는 데이터 센터(data center) 또는 호스트 내 컴퓨팅 노드(computing node)에 구현될 수 있다.
본 발명의 실시예에 따른 소프트웨어 정의 네트워크(software defined network)에서 동적으로 자원을 할당하는 지능형 오케스트레이터(intelligent orchestrator)는, 신호를 송수신하는 송수신부, 및 상기 소프트웨어 정의 네트워크에서 자원 할당과 관련된 운영 데이터를 획득하고, 상기 운영 데이터와 미리 설정된 스케줄링 정책에 기반하여 가상 스위치 및 호스트 파라미터 중에서 적어도 하나를 조정하고, 상기 조정 결과에 따라 동적으로 자원을 할당하는 제어부를 포함한다.
본 발명의 실시예에 따른 동적 자원 할당 방법 및 장치는, 소프트웨어 정의 네트워크에서 전체 네트워크 환경을 고려하여 가상 스위치가 최적화되도록 조정(또는 설정)함으로써 자원 효율성 및 비용 효율성을 증가시킬 수 있다.
도 1은 본 발명의 실시 예에 따른 네트워크 시스템을 나타내는 도면이다.
도 2는 본 발명의 실시예에 따른 지능형 오케스트레이터의 동작을 설명하기 위한 도면이다.
도 3은 PMD 스레드와 포트 내의 큐들이 패킷 속도에 상관 없이 균등하게 할당되는 과정을 설명하는 도면이다.
도 4는 본 발명의 실시예에 따라 패킷 속도에 따라 PMD 스레드와 포트 내의 큐들이 재할당되는 과정을 설명하는 도면이다.
도 5는 본 발명의 실시예에 따른 지능형 오케스트레이터의 동작 방법을 설명하기 위한 순서도이다.
도 6은 본 발명의 실시예에 따른 지능형 오케스트레이터의 블록도를 나타내는 도면이다.
이하, 본 발명의 실시 예를 첨부된 도면을 참조하여 상세하게 설명한다.
실시 예를 설명함에 있어서 본 발명이 속하는 기술 분야에 익히 알려져 있고 본 발명과 직접적으로 관련이 없는 기술 내용에 대해서는 설명을 생략한다. 이는 불필요한 설명을 생략함으로써 본 발명의 요지를 흐리지 않고 더욱 명확히 전달하기 위함이다.
마찬가지 이유로 첨부 도면에 있어서 일부 구성요소는 과장되거나 생략되거나 개략적으로 도시되었다. 또한, 각 구성요소의 크기는 실제 크기를 전적으로 반영하는 것이 아니다. 각 도면에서 동일한 또는 대응하는 구성요소에는 동일한 참조 번호를 부여하였다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
이 때, 처리 흐름도 도면들의 각 블록과 흐름도 도면들의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수 있음을 이해할 수 있을 것이다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 흐름도 블록(들)에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 흐름도 블록(들)에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 흐름도 블록(들)에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록은 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실행 예들에서는 블록들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
이 때, 본 실시 예에서 사용되는 '~부'라는 용어는 소프트웨어 또는 FPGA또는 ASIC과 같은 하드웨어 구성요소를 의미하며, '~부'는 어떤 역할들을 수행한다. 그렇지만 '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다. 구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로 더 분리될 수 있다. 뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU들을 재생시키도록 구현될 수도 있다.
또한 실시 예에서 방법을 설명하는 도면에서 설명의 순서가 반드시 실행의 순서와 대응되지는 않으며, 선후 관계가 변경되거나 병렬적으로 실행될 수도 있다. 또한 실시 예에서 필수적이라 언급되지 않은 단계는 선택적으로 수행될 수 있음이 자명하다.
클라우드 컴퓨팅의 기하 급수적인 성장으로 인해 소프트웨어 정의 네트워크(Software Defined Network, SDN)와 같은 소프트웨어 정의 시스템(Software Defined System)에 대한 업계의 연구가 활발해지고 있다. 소프트웨어 정의 네트워크는 소프트웨어 프로그래밍을 통해 네트워크 경로 설정과 제어 및 복잡한 운용 관리를 편리하게 처리할 수 있다. 예컨대, 소프트웨어 정의 네트워크는 리소스 할당(resource-allocation), 스케줄링(scheduling), 프로비저닝 및 모니터링(provisioning and monitoring), 관리(management) 등을 수행할 수 있다.
도 1은 본 발명의 실시 예에 따른 네트워크 시스템을 나타내는 도면이다.
도 1을 참조하면, 네트워크 시스템은 데이터 센터(100), 네트워크 기능 가상화(110), 스위치(120~122), 호스트(130~135)를 포함할 수 있다. 데이터 센터(100)는 네트워크 기능 가상화(110) 및 스위치(120~122)를 통해 호스트(130~135)와 데이터를 송수신할 수 있다.
실시예에 따라, 데이터 센터(100)는 본 발명의 실시예에 따른 지능형 스케줄러(intelligent scheduler) 또는 지능형 오케스트레이터(intelligent orchestrator)를 포함할 수 있다. 다른 실시예에 따라, 호스트(130~135)가 본 발명의 실시예에 따른 지능형 스케줄러(intelligent scheduler) 또는 지능형 오케스트레이터(intelligent orchestrator)를 포함할 수 도 있다.
네트워크 기능 가상화(110)는 NFV(Network Function Virtualization)를 의미하며, 통신망 구성에 필요한 하드웨어를 소프트웨어화해서 서버 단에서 구현한 것을 의미한다. 네트워크 기능 가상화(110)는 데이터 센터(100)와 스위치(120~122)를 연결하고, 스위치(120~122)는 호스트(130~135)와 연결된 물리적 스위치를 의미할 수 있다.
SDN 아키텍처는 라우팅, 멀티 캐스트, 보안, 액세스 제어, 대역폭 관리, 트래픽 엔지니어링, 프로세서 및 스토리지 최적화, 서비스 품질, 에너지 사용량 및 모든 형태의 정책 관리를 포함하여, 사용자가 비즈니스 목표에 부합하는 맞춤형으로 네트워크 서비스를 구현할 수 있도록 한다. SDN 제어와 애플리케이션 계층 사이에 개방형 API(application programming interface)를 사용함으로써 비즈니스 애플리케이션들의 수행을 위한 세부 사항에 얽매이지 않고, 네트워크 서비스와 기능을 활용하여 네트워크에서 작동할 수 있다.
OpenFlow 기술은 기존의 폐쇄적인 네트워킹 기술을 개방형 네트워킹 기술로 변화시켜, 새로운 네트워킹 기술 발전을 위한 기반을 제공한다. 이러한 OpenFlow 기술의 상용화 및 표준화를 촉진시키기 위해서 설립된 ONF(Open Networking Foundation)는 네트워킹 기술을 컴퓨팅 기술로 재해석하고 OpenFlow 기술을 기반으로 SDN(Software-Defined Networking) 기술을 정의할 수 있다.
상기 OpenFlow는 표준 통신 인터페이스에 해당하는 일종의 라우팅 프로토콜로서, SDN 컨트롤러와 스위치(또는 라우터)와 같은 OpenFlow 지원 네트워크 장비 사이에서 커뮤니케이션 역할을 담당한다.
본 발명은 일반적으로 클라우드 또는 텔코(Telco) NFV(network function virtualization)에서 사용되는 소프트웨어 정의 네트워크(특히, 5G 및 차세대 네트워크 인프라스트럭처)를 제어하기 위한 지능형 시스템(intelligent systems)에 관한 것으로, 이때 지능형 시스템은 소프트웨어로 구현되거나 하드웨어로 구현될 수 있다.
또한, 본 발명은 네트워크 시스템의 물리적 하드웨어와 긴밀하게 작동하는 소프트웨어 스위치 또는 가상 스위치(vSwitch)를 실행(또는 구현)하기 위해 CPU 코어(core)와 호스트 메모리(host memory)를 사용하는 기술에 관한 것이다.
다만, 조정, 최적화, 및 설정(tune, optimize, and configure)의 유연성을 갖는 가상 스위치(vSwitch)의 실행(또는 구현)에 있어서는 아래와 같이 몇 가지 어려움이 있다.
첫째, 가상 스위치(vSwitch)에 대한 최적화된 조정 및 설정을 결정하기 위한 관련된 팩터들의 전체적인 고려(각각의 노드가 아닌 전체 네트워크에 대한 고려)가 부족하다.
둘째, 소프트웨어/하드웨어 가속을 이용하는 가상 스위치(vSwitch) 내에서 향상된 기능을 구현하기 위한 리소스 요구사항이 금지되어 있다.
셋째, 작동 조건에 따른 적응성(adaptability)이 부족하다. 가상 스위치(vSwitch)에 대한 설정 및 조정은 특정한 가정을 기반으로 초기에 결정되고, 작동 조건이 자주 변경되는 환경(특히, 5G 및 이후 기술을 사용할 수 있는 클라우드 및 NFV 환경)에서 가상 스위치(vSwitch)의 실제 사용 조건과 일치하지 않는다.
넷째, 더 나은 자원 효율성 및 비용 효율성을 위해 가상 스위치(vSwitch)를 구현하는 데 사용되는 컴퓨팅 노드(computing node)는 종종 애플리케이션(applications) 또는 VM(virtual machine)과 공유될 수 있다. 예컨대, NFV를 활용하는 5G 환경(그러나 이에 국한되지 않음)에서 동일한 호스트는 가상 스위치(vSwitch)를 실행하고 또한 NFV VM 또는 애플리케이션의 일부를 실행할 수 있다. 이때, 리소스의 정적 할당(CPU 코어 격리(CPU core isolation)/예약(reservation) 및 메모리)은 값 비싸고 비효율적인 인프라스트럭쳐(infrastructure)의 오버-프로비저닝(over-provisioning)을 발생시키거나, 낮은 QoS의 언더-프로비저닝(under-provisioning)을 발생시킬 수 있는 문제가 있다.
전술한 문제점 및 제한사항으로 인해, 비록 가상 스위치(vSwitch)가 최적의 조정 및 설정을 제공하더라도 실제 사용 환경에서는 가상 스위치(vSwitch)가 차선의(sub-optimally) 조정 및 설정으로 동작될 수 밖에 없다.
본 발명에서는 전술한 문제점 및 제한사항을 극복하기 위해 클라우딩 컴퓨팅 시스템에서 자원을 동적으로 할당하는 지능형 소프트웨어 정의 네트워크(intelligent SDN)를 제안한다. 특히, 본 발명에서 제안하는 지능형 스케줄러(intelligent scheduler) 또는 지능형 오케스트레이터(intelligent orchestrator)는 각각의 노드들이 아닌 전체 네트워크 환경을 관찰(observe)함으로써 전체 네트워크 환경의 최적화를 위해 가상 스위치(vSwitch) 및 관련된 컴퓨팅 호스트들의 설정을 동적으로 조정(또는 결정)할 수 있다.
도 2는 본 발명의 실시예에 따른 지능형 오케스트레이터의 동작을 설명하기 위한 도면이다. 본 발명의 지능형 오케스트레이터(intelligent orchestrator)는 지능형 스케줄러(intelligent scheduler)로도 불릴 수 있다.
실시예에 따라, 지능형 오케스트레이터(200)는 데이터 센터(data center), 클라우드 중앙국(cloud central office) 등의 내부에 구현될 수 있다. 다른 실시예에 따라, 지능형 오케스트레이터(200)는 호스트 내부의 컴퓨팅 노드에 구현될 수도 있다.
도 2를 참조하면, 지능형 오케스트레이터(200)는 네트워크 환경을 위해 설정된 정책들(scheduler pollicies)을 가져올 수 있다(fetch, 210). 상기 정책들은 비교적 정적이며 주기적으로 업데이트될 수 있다. 이때, 상기 정책들은 음성/데이터에 대한 QoS, 애플리케이션의 우선 순위, 가상 스위치(vSwitch) 대 애플리케이션의 최대 및 최소 리소스 할당, 에너지 세이빙(더 적은 서버들에 의한 워크로드 통합) 등일 수 있으며, 본 발명은 이에 제한되지 않는다. 즉, 지능형 스케줄러(intelligent scheduler) 또는 지능형 오케스트레이터(intelligent orchestrator)는 네트워크 환경을 위한 추가적인 정책을 정의하여 사용할 수도 있다.
지능형 오케스트레이터(200)는 네트워크 환경에서 노드들을 통해 주요 파라미터를 계속해서 모니터링하고, 운영 데이터를 수집(또는 수신)할 수 있다(220). 이때, 상기 운영 데이터는 패킷 크기(packet-size), 패킷 속도(packet-rate), 적어도 하나의 호스트의 자원 사용량(resource usage on the Hosts), 가상 스위치의 자원 사용/요구량(resource usage and demand of vSwitch), 적어도 하나의 애플리케이션(또는 적어도 하나의 VM)의 자원 사용/요구량(resource usage and demand for Applications/VMs)일 수 있으며, 본 발명은 이에 제한되지 않는다.
실시예에 따라, 지능형 오케스트레이터(200)는 스케줄링 과정에서 획득된 데이터베이스(database)를 통해 상기 운영 데이터를 획득할 수 있다. 다른 실시예에 따라, 지능형 오케스트레이터(200)는 가상 스위치(vSwitch)가 수집한 운영 데이터를 수신할 수 있다. 지능형 오케스트레이터(200)는 VNF 디스크립터(descriptor)를 디플로이(deploy)하고 최적화할 수 있다. 상기 VNF 디스크립터는 네트워크 관련 정보, 리소스 관련 정보, 메타데이터 등을 포함할 수 있다.
지능형 오케스트레이터(200)는 수집(또는 수신)된 운영 데이터 및 설정된 정책들에 기반하여 노드들을 통해(가상 스위치 또는 호스트 OS에 지시함으로써) 임의의 동작을 수행할 수 있다. 상기 임의의 동작은 가상 스위치(vSwitch) 또는 호스트 파라미터들 중에서 적어도 하나를 동적으로 조정하기 위한 것이다.
예컨대, 상기 임의의 동작은 가상 스위치(vSwitch)와 애플리케이션 사이의 자원 할당을 변경하는 동작, 임의의 호스트에 대한 패킷 버퍼를 변경하는 동작, 자원에 대한 과다-커밋(over-commit) 비율을 변경하는 동작 등을 포함할 수 있다.
도 2를 참조하면, 호스트(240, 250, 260 중에서 어느 하나)는 컴퓨팅 노드(241, 251, 261 중에서 어느 하나)를 포함하고, 컴퓨팅 노드(241, 251, 261 중에서 어느 하나)는 적어도 하나의 VNF(virtual network functions) 및 가속화된 가상 스위치(244, 254, 264 중에서 어느 하나)를 포함할 수 있다.
VNF(242, 243, 252, 253, 262, 263)는 네트워크 애플리케이션, 게스트 운영 시스템(guest OS), 버트 IO(VirtIO) 등을 포함할 수 있다. 이때, VNF는 VNF-C 또는 VM으로도 구현될 수 있다. 가속화된 가상 스위치(244, 254, 264 중에서 어느 하나)는 DPDK vhost-user, Open vSwitch + DPDK, DPDK PMD(poll mode driver) 등을 포함할 수 있다.
지능형 오케스트레이터(200)는 NIC(network interface card)를 통해 타겟 호스트(240, 250, 260 중에서 어느 하나)에 대한 가상 스위치(vSwitch) 또는 호스트 파라미터를 동적으로 조정할 수 있다.
본 발명의 실시예에 따른 지능형 스케줄러(intelligent scheduler) 또는 지능형 오케스트레이터(intelligent orchestrator)의 구체적인 동작은 다음과 같다.
1. 가상 스위치(vSwitch)를 위해 격리(isolate)되거나 예약된 CPU 코어들과 애플리케이션(들)을 위한 이용 가능한 CPU 코어들의 동적인 조정
실시예에 따라, 가상 스위치(vSwitch)가 처리할 패킷 트래픽이 적을 때, 애플리케이션 스케줄링을 위해 사용되는 ovs-dpdk에서 적은 수의 코어가 PMD(poll mode driver) 스레드로부터 릴리즈(relaease)될 수 있다. 반대로, 패킷 버스트(packet-burst)의 경우, PMD 스레드를 작동하기 위해 더 많은 코어들이 이용가능해 질 수 있다. 호스트의 애플리이케이션은 다른 이용가능한 호스트로 실시간으로 마이그레이션(migration)하거나 오버 커밋 리소스(over-commit resource)로 이동할 수 있다.
다른 실시예에 따라, 데이터 트래픽(음성 대 스트리밍 데이터 또는 정적 데이터 개체)의 특성에 따라 PMD 스레드를 실행하기 위해 할당된 코어를 변경할 수 있다.
다른 실시예에 따라, 애플리케이션과 패킷 트래픽의 상대적인 우선 순위에 따라 특정 호스트에서 CPU 코어의 할당을 변경할 수 있다. 예컨대, 패킷 트래픽이 갑자기 급증할 경우 우선 순위가 낮은 일괄 처리 작업에 비해 PMD 스레드 및 가상 스위치(vSwitch)에 더 많은 코어를 사용할 수 있다.
다른 실시예에 따라, 512 B에 가까운 패킷 크기의 경우 PMD 스레드에 더 많은 코어를 추가해도 처리량이 상대적으로 증가하지 않으므로 패킷 크기에 따라 (들어오는 패킷의 대부분이 512 B 이상인 경우) PMD 스레드에 대한 코어 할당이 제한되고 애플리케이션을 위해 더 많은 코어들이 릴리즈될 수 있다.
2. 큐 사이즈(queue size)의 동적인 조정
PMD 스레드(PMD threads)에 대한 데이터 패킷을 보관(hold)하기 위한 큐 사이즈는 대기 시간(latency)과 패킷 손실률(packet-drop rate)의 균형을 맞추기 위해 패킷의 속성 정보(크기, 속도 등)에 따라 특정 호스트에서 다르게 변경 또는 구성 될 수 있다.
3. 수신되는(incoming) 트래픽 소스에 기반하여 동적인 조정
프리미엄 가입자(premium subscriber)로부터의 데이터인지 일반 가입자(regular subscriber)로부터의 데이터인지 여부에 따라 다른 애플리케이션과 공유되는 자원과 달리 호스트에 더 많은 자원들이 가상 스위치(vSwitch)에 할당되어 스케줄링될 수 있다. 이를 통해 네트워크(vSwitch)와 애플리케이션 사이에서 복수의 호스트들의 컴퓨팅 리소스 풀을 동적으로 분할할 수 있다.
4. 패킷 속도에 따라 동적인 조정
각 큐에 들어오는 패킷 속도를 기반으로 더 나은 통합된 처리량(aggregated through-put)을 얻기 위해 PMD 스레드에 각각의 큐가 할당될 수 있다. 예컨대, PMD 스레드는 포트 큐들 전체에 균등하게 할당되어 비효율적인 코어 사용과 처리량 저하를 초래할 수 있다. 패킷 속도에 따라 동적인 조정을 적용하는 경우 PMD 스레드는 실제 패킷 트래픽을 기반으로 큐에 할당되므로 효율적인 코어 활용과 높은 집계 처리량을 얻을 수 있다.
도 3은 PMD 스레드와 포트 내의 큐들이 패킷 속도에 상관 없이 균등하게 할당되는 과정을 설명하는 도면이다.
도 3을 참조하면, 호스트는 제1 포트(port#1)에 포함된 큐들과 제2 포트(port#2)에 포함된 큐들을 PMD 스레드 풀(PMD thread #0, PMD thread #1)에 폴링(polling)할 수 있다.
종래에는 예컨대, 제1 포트(port#1)에 포함된 큐들과 제2 포트(port#2)에 포함된 큐들을 시퀀스(sequence)에 따라 하나씩 PMD 스레드 풀(PMD thread #0, PMD thread #1)에 폴링(polling)하였다. 이 경우, 제1 PMD 스레드(PMD thread #0)에는 300kpps(100+100+100)의 패킷이 할당되고, 제2 PMD 스레드(PMD thread #1)에는 900kpps(300+300+300)의 패킷이 할당되므로, PMD 스레드 풀(PMD thread #0, PMD thread #1)의 최적의 처리량(throughput)을 제공하기 힘든 문제점이 있었다.
도 4는 본 발명의 실시예에 따라 패킷 속도에 따라 PMD 스레드와 포트 내의 큐들이 재할당되는 과정을 설명하는 도면이다.
도 3과 달리 도 4를 참조하면, 본 발명의 호스트는 지능형 오케스트레이터의 조정(또는 제어)에 따라 복수의 큐들로 들어 오는 패킷 속도를 고려하여, 제1 포트(port#1)에 포함된 큐들과 제2 포트(port#2)에 포함된 큐들을 PMD 스레드 풀(PMD thread #0, PMD thread #1)에 폴링(polling)할 수 있다.
이 경우, 제1 PMD 스레드(PMD thread #0)에는 600kpps(300+300)의 패킷이 할당되고, 제2 PMD 스레드(PMD thread #1)에도 600kpps(100+100+100+300)의 패킷이 할당되므로, PMD 스레드 풀(PMD thread #0, PMD thread #1)의 최적의 처리량(throughput)을 제공할 수 있다.
도 5는 본 발명의 실시예에 따른 지능형 오케스트레이터의 동작 방법을 설명하기 위한 순서도이다.
도 5를 참조하면, 소프트웨어 정의 네트워크(software defined network)에서 지능형 오케스트레이터(intelligent orchestrator)는 상기 소프트웨어 정의 네트워크에서 자원 할당과 관련된 운영 데이터를 획득할 수 있다(S510).
상기 운영 데이터는, 패킷 크기(packet-size), 패킷 속도(packet-rate), 호스트의 자원 사용 및 요구량, 상기 가상 스위치의 자원 사용 및 요구량, 및 애플리케이션의 자원 사용 및 요구량 중에서 적어도 하나를 포함할 수 있다.
지능형 오케스트레이터(intelligent orchestrator)는 상기 운영 데이터와 미리 설정된 스케줄링 정책에 기반하여 가상 스위치 및 호스트 파라미터 중에서 적어도 하나를 조정할 수 있다(S520). 상기 가상 스위치는 상기 소프트웨어 정의 네트워크와 호스트를 연결하는 기능을 수행하고, 상기 호스트 파라미터는 상기 호스트의 자원 할당과 관련된 파라미터들을 의미할 수 있다.
이때, 상기 스케줄링 정책은, 데이터에 대한 QoS(quality of service), 애플리케이션에 대한 우선순위, 가입자 정보 관련 정책, 상기 가상 스위치에 대한 최소 및 최대 자원 할당량, 및 애플리케이션에 대한 최소 및 최대 자원 할당량 중에서 적어도 하나를 포함할 수 있다. 상기 스케줄링 정책은 소프트웨어 정의 네트워크에 의해 미리 결정될 수 있고, 필요에 따라 정의되어 생성될 수도 있다.
지능형 오케스트레이터(intelligent orchestrator)는 S520 단계의 상기 조정 결과에 따라 동적으로 자원을 할당할 수 있다(S530).
실시예에 따라, 지능형 오케스트레이터(intelligent orchestrator)는 상기 조정 결과에 따라 상기 가상 스위치와 애플리케이션 사이의 자원 할당을 변경하거나, 상기 조정 결과에 따라 임의의 호스트에 대한 패킷 버퍼를 변경하거나, 상기 조정 결과에 따라 자원에 대한 과다-커밋(over-commit) 비율을 변경할 수 있다.
다른 실시예에 따라, 지능형 오케스트레이터(intelligent orchestrator)는, 상기 가상 스위치가 처리하는 패킷 트래픽(packet traffic)에 따라 애플리케이션의 스케줄링을 위해 사용되는 적어도 하나의 코어를 조정할 수 있다. 예컨대, 지능형 오케스트레이터(intelligent orchestrator)는 가상 스위치가 처리하는 패킷 트래픽이 적다고 판단되면 상기 적어도 하나의 코어의 개수를 감소시킬 수 있고, 반대로, 상기 가상 스위치가 처리하는 패킷 트래픽이 많다고 판단되면 상기 적어도 하나의 코어의 개수를 증가시킬 수 있다.
실시예에 따라, 지능형 오케스트레이터(intelligent orchestrator)는, 패킷에 대한 속성 정보에 기반하여 상기 패킷을 홀딩하는 큐(queue)의 크기를 조정할 수 있다. 이때, 상기 패킷에 대한 속성 정보는 패킷 크기, 패킷 속도 등일 수 있다.
다른 실시예에 따라, 지능형 오케스트레이터(intelligent orchestrator)는, 패킷 속도에 기반하여 복수의 큐(queue)들 각각을 PMD 스레드에 할당할 수 있다. 예컨대, 지능형 오케스트레이터(intelligent orchestrator)는 정해진 할당 관계에 따라 큐(queue)를 PMD 스레드에 할당하기 보다는, 각각의 큐(queue)로 들어 오는(incoming) 패킷의 속도를 고려하여 전체 PMD 스레드의 처리량이 극대화되도록 큐(queue)를 PMD 스레드에 할당할 수 있다.
실시예에 따라, 본 발명의 지능형 오케스트레이터는 데이터 센터(data center) 또는 호스트 내 컴퓨팅 노드(computing node)에 구현될 수 있다. 또 따른 실시예에 따라, 본 발명의 지능형 오케스트레이터는 클라우드 중앙국(cloud central offfice) 내에 구현될 수도 있다.
도 6은 본 발명의 실시예에 따른 지능형 오케스트레이터의 블록도를 나타내는 도면이다.
도 6을 참조하면, 지능형 오케스트레이터(intelligent orchestrator)는, 다른 장치와 신호를 송수신하는 송수신부(610), 및 송수신부(610)를 제어하고 본 발명의 실시예들에 따른 방법을 수행(또는 제공)하는 제어부(620)를 포함할 수 있다.
제어부(620)는 소프트웨어 정의 네트워크에서 자원 할당과 관련된 운영 데이터를 획득하고, 상기 운영 데이터와 미리 설정된 스케줄링 정책에 기반하여 가상 스위치 및 호스트 파라미터 중에서 적어도 하나를 조정하고, 상기 조정 결과에 따라 동적으로 자원을 할당할 수 있다. 또한, 제어부(620)는 도 1 내지 도 5에서 전술한 본 발명의 실시예들에 따른 동작을 수행할 수 있다.
한편, 본 명세서와 도면에는 본 발명의 바람직한 실시 예에 대하여 개시하였으며, 비록 특정 용어들이 사용되었으나, 이는 단지 본 발명의 기술 내용을 쉽게 설명하고 발명의 이해를 돕기 위한 일반적인 의미에서 사용된 것이지, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시 예 외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다.
100: 데이터 센터
110: 네트워크 기능 가상화
130, 131, 132, 133, 134, 135, 240, 250, 260: 호스트
200: 지능형 오케스트레이터
242, 243, 252, 253, 262, 263: VNF
244, 254, 264: 가속화된 가상 스위치
610: 송수신부
620: 제어부

Claims (15)

  1. 소프트웨어 정의 네트워크(software defined network, SDN)에서 지능형 오케스트레이터(intelligent orchestrator)의 동적 자원 할당 방법에 있어서,
    상기 SDN에서 자원 할당과 관련된 운영 데이터를 획득하는 단계;
    상기 운영 데이터와 미리 설정된 스케줄링 정책에 기반하여 가상 스위치 및 호스트 파라미터를 조정하는 단계 - 상기 가상 스위치는 상기 SDN 및 호스트를 연결함; 및
    상기 조정 결과에 따라, 임의의 호스트에 대한 패킷 버퍼 및 상기 가상 스위치와 상기 호스트에 포함된 애플리케이션 사이의 자원 할당 비율을 변경하여 동적으로 자원을 할당하는 단계; 를 포함하고,
    상기 패킷 버퍼를 변경하는 것은, 패킷 속도에 기반하여 복수의 큐(multiple queues) 각각을 폴 모드 드라이버(poll mode driver, PMD) 스레드(threads)에 할당하는 것을 포함하고,
    상기 자원을 할당하는 단계는, 상기 가상 스위치에 의해 처리되는 패킷 트래픽의 양에 따라 상기 애플리케이션을 스케줄링하기 위해 사용 중인 적어도 하나의 코어를 조정하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  2. 제1항에 있어서, 상기 운영 데이터는,
    패킷 크기(packet-size), 상기 패킷 속도(packet-rate), 상기 호스트의 자원 사용 및 요구량, 상기 가상 스위치의 자원 사용 및 요구량, 및 상기 애플리케이션의 자원 사용 및 요구량 중에서 적어도 하나를 포함하는 것을 특징으로 하는 방법.
  3. 제1항에 있어서, 상기 스케줄링 정책은,
    데이터에 대한 QoS(quality of service), 애플리케이션에 대한 우선순위, 가입자 정보 관련 정책, 상기 가상 스위치에 대한 최소 및 최대 자원 할당량, 및 애플리케이션에 대한 최소 및 최대 자원 할당량 중에서 적어도 하나를 포함하는 것을 특징으로 하는 방법.
  4. 제1항에 있어서, 상기 동적으로 자원을 할당하는 단계는,
    상기 조정 결과에 따라 상기 자원에 대한 과다-커밋(over-commit) 비율을 변경하는 단계; 를 포함하는 것을 특징으로 하는 방법.
  5. 삭제
  6. 제1항에 있어서, 상기 패킷 버퍼를 변경하는 단계는,
    상기 패킷에 대한 속성 정보에 기반하여 상기 패킷을 홀딩하는 큐(queue)의 크기를 조정하는 단계; 를 더 포함하는 것을 특징으로 하는 방법.
  7. 삭제
  8. 제1항에 있어서, 상기 지능형 오케스트레이터는 데이터 센터(data center) 또는 호스트 내 컴퓨팅 노드(computing node)에 구현되는 것을 특징으로 하는 방법.
  9. 소프트웨어 정의 네트워크(software defined network, SDN)에서 동적으로 자원을 할당하는 지능형 오케스트레이터(intelligent orchestrator)에 있어서,
    신호를 송수신하는 송수신부; 및
    상기 SDN에서 자원 할당과 관련된 운영 데이터를 획득하고, 상기 운영 데이터와 미리 설정된 스케줄링 정책에 기반하여 가상 스위치 및 호스트 파라미터를 조정하며 - 상기 가상 스위치는 상기 SDN 및 호스트를 연결함, 상기 조정 결과에 따라, 임의의 호스트에 대한 패킷 버퍼 및 상기 가상 스위치와 상기 호스트에 포함된 애플리케이션 사이의 자원 할당 비율을 변경하여 동적으로 자원을 할당하도록 제어하는 제어부; 를 포함하고,
    상기 제어부는,
    패킷 속도에 기반하여 복수의 큐(multiple queues) 각각을 폴 모드 드라이버(poll mode driver, PMD) 스레드(threads)에 할당함으로써 상기 패킷 버퍼를 변경하도록 제어하고,
    상기 가상 스위치에 의해 처리되는 패킷 트래픽의 양에 따라 상기 애플리케이션을 스케줄링하기 위해 사용 중인 적어도 하나의 코어를 조정함으로써 상기 자원을 할당하도록 제어하는 것을 특징으로 하는 지능형 오케스트레이터.
  10. 제9항에 있어서, 상기 운영 데이터는,
    패킷 크기(packet-size), 상기 패킷 속도(packet-rate), 상기 호스트의 자원 사용 및 요구량, 상기 가상 스위치의 자원 사용 및 요구량, 및 상기 애플리케이션의 자원 사용 및 요구량 중에서 적어도 하나를 포함하는 것을 특징으로 하는 지능형 오케스트레이터.
  11. 제9항에 있어서, 상기 스케줄링 정책은,
    데이터에 대한 QoS(quality of service), 애플리케이션에 대한 우선순위, 가입자 정보 관련 정책, 상기 가상 스위치에 대한 최소 및 최대 자원 할당량, 및 애플리케이션에 대한 최소 및 최대 자원 할당량 중에서 적어도 하나를 포함하는 것을 특징으로 하는 지능형 오케스트레이터.
  12. 제9항에 있어서, 상기 제어부는,
    상기 조정 결과에 따라 상기 자원에 대한 과다-커밋(over-commit) 비율을 변경하는 것을 특징으로 하는 지능형 오케스트레이터.
  13. 삭제
  14. 제9항에 있어서, 상기 제어부는,
    상기 패킷에 대한 속성 정보에 기반하여 상기 패킷을 홀딩하는 큐(queue)의 크기를 조정하는 것을 특징으로 하는 지능형 오케스트레이터.
  15. 삭제
KR1020170057526A 2017-05-08 2017-05-08 소프트웨어 정의 네트워크에서 동적 자원 할당 방법 및 장치 KR102316971B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020170057526A KR102316971B1 (ko) 2017-05-08 2017-05-08 소프트웨어 정의 네트워크에서 동적 자원 할당 방법 및 장치
US15/974,088 US11134025B2 (en) 2017-05-08 2018-05-08 Dynamic resource allocation method and apparatus in software-defined network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170057526A KR102316971B1 (ko) 2017-05-08 2017-05-08 소프트웨어 정의 네트워크에서 동적 자원 할당 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20180123379A KR20180123379A (ko) 2018-11-16
KR102316971B1 true KR102316971B1 (ko) 2021-10-25

Family

ID=64015594

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170057526A KR102316971B1 (ko) 2017-05-08 2017-05-08 소프트웨어 정의 네트워크에서 동적 자원 할당 방법 및 장치

Country Status (2)

Country Link
US (1) US11134025B2 (ko)
KR (1) KR102316971B1 (ko)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7056454B2 (ja) * 2018-08-03 2022-04-19 日本電信電話株式会社 通信システム及び通信方法
CN111125208A (zh) * 2018-10-30 2020-05-08 华为技术有限公司 一种数据采集处理方法、装置及系统
KR102053596B1 (ko) * 2018-11-30 2019-12-10 한국과학기술정보연구원 Sdn 기반의 동적 네트워크 트래픽 분석을 통한 네트워크 슬라이싱 방법 및 장치
US11108849B2 (en) * 2018-12-03 2021-08-31 At&T Intellectual Property I, L.P. Global internet of things (IOT) quality of service (QOS) realization through collaborative edge gateways
US10659144B1 (en) 2019-01-31 2020-05-19 At&T Intellectual Property I, L.P. Management of massively distributed internet of things (IOT) gateways based on software-defined networking (SDN) via fly-by master drones
US11831560B2 (en) * 2019-02-04 2023-11-28 Nec Corporation Communication apparatus, communication control system, communication control method, and non-transitory computer-readable medium storing program for at least distribution of a packet to a queue and update of a distribution rule thereof
CN109819522B (zh) * 2019-03-15 2021-08-24 电子科技大学 一种平衡能耗与用户服务质量的用户带宽资源分配方法
US11184234B2 (en) * 2019-04-16 2021-11-23 Ciena Corporation Self-optimizing fabric architecture and self-assembling network
US11044618B2 (en) 2019-04-18 2021-06-22 At&T Intellectual Property I, L.P. Facilitating automatic latency discovery and dynamic network selection using data analytics in advanced networks
CN110333899B (zh) * 2019-06-27 2022-11-01 腾讯科技(深圳)有限公司 数据处理方法、装置和存储介质
CN111158905A (zh) * 2019-12-16 2020-05-15 华为技术有限公司 调整资源的方法和装置
CN111211942A (zh) * 2020-01-03 2020-05-29 山东超越数控电子股份有限公司 一种数据包的收发方法、设备及介质
CN111580957B (zh) * 2020-04-17 2022-03-01 山东信通电子股份有限公司 一种无源设备虚拟空间的资源分配方法、设备及装置
US20210119878A1 (en) * 2020-12-09 2021-04-22 Intel Corporation Detection and remediation of virtual environment performance issues
US11899585B2 (en) 2021-12-24 2024-02-13 Western Digital Technologies, Inc. In-kernel caching for distributed cache
US11934663B2 (en) 2022-01-10 2024-03-19 Western Digital Technologies, Inc. Computational acceleration for distributed cache
US11797379B2 (en) 2022-02-04 2023-10-24 Western Digital Technologies, Inc. Error detection and data recovery for distributed cache

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080019371A1 (en) * 2006-07-24 2008-01-24 Bellsouth Intellectual Property Corporation Methods, systems, and computer program products for marking data packets based on content thereof
US20150103844A1 (en) * 2013-10-11 2015-04-16 Futurewei Technologies, Inc. Using PCE as SDN Controller
US20150334716A1 (en) * 2014-05-15 2015-11-19 Cisco Technology, Inc. Managing computational resources in a network environment

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7136800B1 (en) * 2002-10-18 2006-11-14 Microsoft Corporation Allocation of processor resources in an emulated computing environment
EP1769353A2 (en) * 2004-05-21 2007-04-04 Computer Associates Think, Inc. Method and apparatus for dynamic memory resource management
US7979863B2 (en) * 2004-05-21 2011-07-12 Computer Associates Think, Inc. Method and apparatus for dynamic CPU resource management
US7937499B1 (en) * 2004-07-09 2011-05-03 Oracle America, Inc. Methods and apparatus for dynamically switching between polling and interrupt mode for a ring buffer of a network interface card
JP5011191B2 (ja) * 2007-04-02 2012-08-29 株式会社日立製作所 計算機システム及び通信制御方法
US8767535B2 (en) * 2007-07-11 2014-07-01 Hewlett-Packard Development Company, L.P. Dynamic feedback control of resources in computing environments
US9379973B2 (en) 2013-02-11 2016-06-28 Cisco Technology, Inc. Binary compatible extension architecture in an openflow compliant network environment
US9778943B2 (en) * 2013-05-28 2017-10-03 Red Hat Israel, Ltd. Timer based virtual processor scheduling and suspension on physical processor for use of physical processor by other processing
US9612854B2 (en) 2013-12-18 2017-04-04 Telefonaktiebolaget Lm Ericsson (Publ) System and method for virtualizing a remote device
US9755901B2 (en) * 2014-01-21 2017-09-05 Huawei Technologies Co., Ltd. System and method for a software defined protocol network node
US9450884B2 (en) * 2014-06-11 2016-09-20 Alcatel-Lucent Software defined networking based congestion control
US20160261418A1 (en) 2015-03-06 2016-09-08 Avaya Inc. Power over ethernet (poe) powered network adapter incorporating open vswitch (ovs) and fabric attach (fa) capabilities
US20170031622A1 (en) * 2015-07-31 2017-02-02 Netapp, Inc. Methods for allocating storage cluster hardware resources and devices thereof
CN106959889A (zh) * 2016-01-11 2017-07-18 阿里巴巴集团控股有限公司 一种服务器资源调整的方法和装置
US9569277B1 (en) * 2016-01-29 2017-02-14 International Business Machines Corporation Rebalancing virtual resources for virtual machines based on multiple resource capacities
US10123210B2 (en) * 2017-03-17 2018-11-06 Nokia Of America Corporation System and method for dynamic activation and deactivation of user plane integrity in wireless networks
US10523655B2 (en) * 2017-04-19 2019-12-31 Verizon Patent And Licensing Inc. System and method for applications to share single sign on through lightweight directory access protocol (LDAP) integration
US11275709B2 (en) * 2017-05-02 2022-03-15 Intel Corporation Systems and methods for multi-architecture computing

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080019371A1 (en) * 2006-07-24 2008-01-24 Bellsouth Intellectual Property Corporation Methods, systems, and computer program products for marking data packets based on content thereof
US20150103844A1 (en) * 2013-10-11 2015-04-16 Futurewei Technologies, Inc. Using PCE as SDN Controller
US20150334716A1 (en) * 2014-05-15 2015-11-19 Cisco Technology, Inc. Managing computational resources in a network environment

Also Published As

Publication number Publication date
US20180324106A1 (en) 2018-11-08
US11134025B2 (en) 2021-09-28
KR20180123379A (ko) 2018-11-16

Similar Documents

Publication Publication Date Title
KR102316971B1 (ko) 소프트웨어 정의 네트워크에서 동적 자원 할당 방법 및 장치
Foukas et al. Orion: RAN slicing for a flexible and cost-effective multi-service mobile network architecture
Ksentini et al. Toward enforcing network slicing on RAN: Flexibility and resources abstraction
US9740513B2 (en) System and method for real time virtualization
CN111095870B (zh) 用于无线通信中业务数据管理的设备、系统、和方法
US20200170022A1 (en) Spectrum sharing optimization within a base station node
US20160014787A1 (en) System and Method for Information Centric Network Resource Allocation
Wu et al. PRAN: Programmable radio access networks
CN112673593A (zh) 在电信网络中的和与电信网络相关的改进
US11902108B2 (en) Dynamic adaptive network
US11012312B2 (en) Network slice management
US10831553B2 (en) System and method for fair resource allocation
CN111971944A (zh) 配置网络切片
US20220342719A1 (en) Autonomous virtual radio access network control
KR20200133478A (ko) 클라우드 시스템에서 자원을 조정하기 위한 장치 및 방법
Crippa et al. Resource Sharing for a 5G Multi-tenant and Multi-service Architecture
WO2023098665A1 (zh) 任务处理方法及装置
TW202021299A (zh) 功能分割無線前端通訊下品質體驗導向的跨層資料存取控制與波束分配之通訊系統
US11641309B2 (en) Intelligent policy control engine for 5G or other next generation network
Koutsopoulos The impact of baseband functional splits on resource allocation in 5G radio access networks
Gao et al. R-cloud: A cloud framework for enabling radio-as-a-service over a wireless substrate
Tsirakis et al. State-of-the-art on Virtualization and Software Defined Networking for Efficient Resource Allocation on Multi-tenant 5G Networks
Ugwuanyi Resource Management in Multi-Access Edge Computing (MEC).
Liu et al. An optical and radio access network resource management scheme based on hierarchical edge cloud and baseband function split for 5G network slicing

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