KR102423755B1 - 패킷 전송을 제어하는 서버 및 방법 - Google Patents

패킷 전송을 제어하는 서버 및 방법 Download PDF

Info

Publication number
KR102423755B1
KR102423755B1 KR1020170172641A KR20170172641A KR102423755B1 KR 102423755 B1 KR102423755 B1 KR 102423755B1 KR 1020170172641 A KR1020170172641 A KR 1020170172641A KR 20170172641 A KR20170172641 A KR 20170172641A KR 102423755 B1 KR102423755 B1 KR 102423755B1
Authority
KR
South Korea
Prior art keywords
virtual machine
host server
packet
packet transmission
group
Prior art date
Application number
KR1020170172641A
Other languages
English (en)
Other versions
KR20190071530A (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 KR1020170172641A priority Critical patent/KR102423755B1/ko
Priority to CN201880080866.4A priority patent/CN111492621B/zh
Priority to PCT/KR2018/004284 priority patent/WO2019117404A1/ko
Priority to US16/767,299 priority patent/US11494218B2/en
Publication of KR20190071530A publication Critical patent/KR20190071530A/ko
Application granted granted Critical
Publication of KR102423755B1 publication Critical patent/KR102423755B1/ko

Links

Images

Classifications

    • 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/0893Assignment of logical groups to network elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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/28Restricting access to network management systems or functions, e.g. using authorisation function to access network configuration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/50Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/64Routing or path finding of packets in data switching networks using an overlay routing layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • 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/783Distributed allocation of resources, e.g. bandwidth brokers
    • H04L47/787Bandwidth trade among domains
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0263Rule management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45587Isolation or security of virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • H04L12/4675Dynamic sharing of VLAN information amongst network nodes
    • H04L12/4679Arrangements for the registration or de-registration of VLAN attribute values, e.g. VLAN identifiers, port VLAN membership
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

복수의 호스트 서버에 의해 제공되는 적어도 하나의 서비스에 관련된 네트워크 서비스 디스크립터(Network Service Descriptor)에 기초하여, 제1 호스트 서버 내의 복수의 가상 머신들 중 적어도 하나를 그룹핑함으로써 복수의 제1 가상 머신 그룹들을 생성하는데 이용되는 제1 그룹 생성 정보를 생성하는 단계; 제1 그룹 생성 정보를 제1 호스트 서버에게 전송하는 단계; 복수의 제1 가상 머신 그룹들 간에 전송되는 패킷에 관련된 패킷 전송 규칙을 네트워크 서비스 디스크립터에 기초하여 생성하는 단계; 생성된 패킷 전송 규칙을 제1 호스트 서버에게 전송하는 단계; 전송된 패킷 전송 규칙에 위반되는 패킷 전송 요청이 제1 호스트 서버에게 수신됨에 따라, 위반된 패킷 전송 요청이 수신됨을 알리는 알림 메시지를 제1 호스트 서버로부터 수신하는 단계; 및 제1 호스트 서버로부터 수신된 알림 메시지를 출력하는 단계를 포함하는, 패킷의 전송을 제어하는 방법이 개시된다.

Description

패킷 전송을 제어하는 서버 및 방법 {SERVER AND METHOD FOR CONTROLLING PACKET TRANSMISSION}
본 개시는 패킷 전송을 제어하는 서버 및 방법에 관한 것으로서, 보다 상세하게는, 네트워크 기능 가상화(Network Function Virtualisation, NFV) 환경에서 패킷 전송 규칙에 따라 안전하게 패킷이 송수신되도록 가상 머신들 간에 패킷 전송을 제어하는 서버 및 방법에 관한 것이다.
기존에는 중앙 서버의 관리자에 의해 네트워크 라우팅이 관리되어, 보안에 문외한인 관리자에 의해 보안이 관리될 경우, 해킹에 취약한 문제가 있었다. 통신 및 네트워크 기술이 발전함에 따라 네트워크 기능(Network Function) 및 NFV 인프라의 일부를 소프트웨어로 구현할 수 있게 됨으로써, 중앙 서버가 자동으로 가상 머신들 간의 통신을 제어하고, 패킷들이 허용된 가상 머신들 간에 안전하게 전송되는지를 효과적으로 알릴 수 있는 기술이 요구되고 있다.
일 실시예는, 패킷 전송 규칙을 호스트 서버에 전송함으로써, 호스트 서버로부터 패킷 전송 규칙에 위반되는 패킷 전송 요청이 수신됨을 알리는 알림 메시지를 수신하는, 패킷 전송을 제어하는 중앙 서버 및 방법을 제공하고자 한다.
또한, 일 실시예는, 패킷 전송 규칙을 호스트 서버로부터 수신함으로써, 패킷 전송 규칙에 위반되는 패킷 전송 요청이 수신됨을 알리는 알림 메시지를 중앙 서버에게 전송하는, 패킷 전송을 제어하는 호스트 서버 및 방법을 제공하고자 한다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 개시의 제 1 측면은 적어도 하나의 프로그램이 저장되는 메모리; 통신부; 및 적어도 하나의 프로그램을 실행함으로써 복수의 가상 머신(Virtual Machines) 간에 패킷(packet)의 전송을 제어하도록 하는 적어도 하나의 프로세서를 포함하고, 적어도 하나의 프로그램은, 복수의 호스트 서버에 의해 제공되는 적어도 하나의 서비스에 관련된 네트워크 서비스 디스크립터(Network Service Descriptor)에 기초하여, 제1 호스트 서버 내의 복수의 가상 머신들 중 적어도 하나를 그룹핑함으로써 복수의 제1 가상 머신 그룹들을 생성하는데 이용되는 제1 그룹 생성 정보를 생성하는 단계; 제1 그룹 생성 정보를 제1 호스트 서버에게 전송하는 단계; 복수의 제1 가상 머신 그룹들 간에 전송되는 패킷에 관련된 패킷 전송 규칙을 네트워크 서비스 디스크립터에 기초하여 생성하는 단계; 생성된 패킷 전송 규칙을 제1 호스트 서버에게 전송하는 단계; 전송된 패킷 전송 규칙에 위반되는 패킷 전송 요청이 제1 호스트 서버에게 수신됨에 따라, 위반된 패킷 전송 요청이 수신됨을 알리는 알림 메시지를 제1 호스트 서버로부터 수신하는 단계; 및 제1 호스트 서버로부터 수신된 알림 메시지를 출력하는 단계를 실행하는 명령어들을 포함하는, 중앙 서버를 제공할 수 있다.
또한, 본 개시의 제 2 측면은, 복수의 호스트 서버에 의해 제공되는 적어도 하나의 서비스에 관련된 네트워크 서비스 디스크립터(Network Service Descriptor)에 기초하여, 제1 호스트 서버 내의 복수의 가상 머신들 중 적어도 하나를 그룹핑함으로써 복수의 제1 가상 머신 그룹들을 생성하는데 이용되는 제1 그룹 생성 정보를 생성하는 단계; 제1 그룹 생성 정보를 제1 호스트 서버에게 전송하는 단계; 복수의 제1 가상 머신 그룹들 간에 전송되는 패킷에 관련된 패킷 전송 규칙을 네트워크 서비스 디스크립터에 기초하여 생성하는 단계; 생성된 패킷 전송 규칙을 제1 호스트 서버에게 전송하는 단계; 전송된 패킷 전송 규칙에 위반되는 패킷 전송 요청이 제1 호스트 서버에게 수신됨에 따라, 위반된 패킷 전송 요청이 수신됨을 알리는 알림 메시지를 제1 호스트 서버로부터 수신하는 단계; 및 제1 호스트 서버로부터 수신된 알림 메시지를 출력하는 단계를 포함하는, 패킷의 전송을 제어하는 방법을 제공할 수 있다.
또한, 본 개시의 제 3 측면은, 적어도 하나의 프로그램이 저장되는 메모리; 통신부; 및 적어도 하나의 프로그램을 실행함으로써 가상 머신들 간에 패킷의 전송을 제어하도록 하는 적어도 하나의 프로세서를 포함하고, 적어도 하나의 프로그램은, 호스트 서버 내의 복수의 가상 머신들 중 적어도 하나를 그룹핑함으로써 복수의 가상 머신 그룹들을 생성하는데 이용되는 그룹 생성 정보를 중앙 서버로부터 수신하는 단계; 그룹 생성 정보에 기초하여, 복수의 가상 머신 그룹들을 생성하는 단계; 복수의 가상 머신 그룹들이 생성됨에 따라, 각각의 가상 머신 그룹 내의 가상 머신의 식별 정보를 가상 머신 그룹의 식별 정보로 대체하는 단계; 복수의 가상 머신 그룹들 간에 전송되는 패킷에 관련된 패킷 전송 규칙을 중앙 서버로부터 수신하는 단계; 및 패킷 전송 규칙에 위반되는 패킷 전송 요청이 수신됨에 따라, 위반된 패킷 전송 요청이 수신됨을 알리는 알림 메시지를 중앙 서버에게 전송하는 단계; 를 실행하는 명령어들을 포함하는, 호스트 서버를 제공할 수 있다.
또한, 본 개시의 제 4 측면은, 제 2 측면의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공할 수 있다.
도 1은 일 실시예에 따른, 중앙 서버와 호스트 서버가 통신하는 예시를 나타내는 도면이다.
도 2는 일 실시예에 따른, 패킷 전송을 제어하는 방법을 나타내는 흐름도이다.
도 3은 일 실시예에 따른, 패킷 전송을 제어하는 방법을 나타내는 흐름도이다.
도 4는 일 실시예에 따른 가상 머신 그룹을 생성하는 예시를 나타내는 도면이다.
도 5a 내지 도 5c는 일 실시예에 따른 가상 머신 그룹들 간에 패킷을 전송하는 예시를 나타내는 도면이다.
도 6은 일 실시예에 따른, 패킷 전송 규칙을 생성하는 예시를 나타내는 도면이다.
도 7은 일 실시예에 따른, 가상 머신 그룹 및 패킷 전송 규칙을 업데이트하는 예시를 나타내는 도면이다.
도 8은 일 실시예에 따른, 가상 머신 그룹 및 패킷 전송 규칙을 업데이트하는 예시를 나타내는 도면이다.
도 9는 일 실시예에 따른, 알림 메시지에 대응하는 관리자로부터의 입력에 기초하여 상기 패킷 전송 규칙을 업데이트하는 예시를 나타내는 도면이다.
도 10은 일 실시예에 따른, 알림 메시지를 출력하는 예시이다.
도 11은 일 실시예에 따른 중앙 서버를 나타내는 블록도이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
이하 첨부된 도면을 참고하여 본 발명을 상세히 설명하기로 한다.
도 1은 일 실시예에 따른, 중앙 서버와 호스트 서버가 통신하는 예시를 나타내는 도면이다.
도 1을 참조하면, 중앙 서버(100)는 제1 호스트 서버(200) 및 제2 호스트 서버(300)와 통신할 수 있다. 네트워크 기능 가상화(NFV) 환경에서, 복수의 호스트 서버들에 설치된 가상 머신들의 보안이 소프트웨어에 의해 관리되므로, 보안을 강화하기 위해서는 제1 호스트 서버(200)와 제2 호스트 서버(300)가 통신하기 위해서는, 별도의 패킷 전송 규칙이 필요할 수 있다.
중앙 서버(100)는, 복수의 호스트 서버에 의해 제공되는 적어도 하나의 서비스에 관련된 네트워크 서비스 디스크립터에 기초하여, 패킷 전송 규칙을 생성할 수 있다. 네트워크 서비스 디스크립터는 통신 표준화 단체로부터 제공될 수 있다. 중앙 서버(100)는 각각의 호스트 서버에서 다른 호스트 서버와 통신하는데 필요한 패킷 전송 규칙을 복수의 호스트 서버에게 분배할 수 있다. 일 실시예에서, 중앙 서버(100)는 제1 호스트 서버(200) 및 제2 호스트 서버(300)에게 패킷 전송 규칙을 전송할 수 있다. 제1 호스트 서버(200)는 중앙 서버(100)로부터 수신된 패킷 전송 규칙에 기초하여, 제1 호스트 서버(200) 및 제2 호스트 서버(300)는, 제1 호스트 서버(200) 및 제2 호스트 서버(300)에 설치된 복수의 가상 머신 중 적어도 하나를 고립(isolation)시키거나, 복수의 가상 머신 간에 통신 환경을 구축할 수 있다. 따라서, 제1 호스트 서버(200) 및 제2 호스트 서버(300)는 패킷 전송 규칙에 위반되지 않는 패킷 전송 만을 허용함으로써, 보안을 강화할 수 있다.
중앙 서버(100), 제1 호스트 서버(200), 및 제2 호스트 서버(300)는, 클라우드 서버 및 웹 서버 등의 네트워크를 통해 정보나 서비스를 제공하는 컴퓨팅 장치 또는 프로그램일 수 있으나, 이에 제한되지 않는다. 중앙 서버(100)는 제1 호스트 서버(200) 및/또는 제2 호스트 서버(300)에게 패킷 전송 규칙을 전송하고, 제1 호스트 서버(200) 및/또는 제2 호스트 서버(300)로부터 알림 메시지를 수신할 수 있는 모든 종류의 기기를 포함할 수 있다. 제1 호스트 서버(200) 및 제2 호스트 서버(300)는 중앙 서버(100)로부터 패킷 전송 규칙을 수신하고, 중앙 서버(100)에게 알림 메시지를 전송할 수 있는 모든 종류의 기기를 포함할 수 있다.
또한, 중앙 서버(100)는 다양한 가상 머신들 간에 패킷 전송을 제어하기 위하여, 소정의 네트워크를 통하여 제1 호스트 서버(200) 및 제2 호스트 서버(300)와 통신할 수 있다. 일 실시예에서, 네트워크는 근거리 통신망(Local Area Network; LAN), 광역 통신망(Wide Area Network; WAN), 부가가치 통신망(Value Added Network; VAN), 이동 통신망(mobile radio communication network), 위성 통신망 및 이들의 상호 조합을 포함할 수 있다. 또한, 네트워크는 각 네트워크 구성 주체가 서로 원활하게 통신을 할 수 있도록 하는 포괄적인 의미의 데이터 통신망이고, 전술한 이종의 통신망이 통합된 형태일 수 있으며, 유선 인터넷, 무선 인터넷 및 모바일 무선 통신망을 포함할 수 있다. 예를 들어, 무선 통신은, 무선 랜(Wi-Fi), 블루투스, 블루투스 저 에너지(Bluetooth low energy), 지그비, WFD(Wi-Fi Direct), UWB(ultra wideband), 적외선 통신(IrDA, infrared Data Association), NFC(Near Field Communication) 등이 있을 수 있으나, 이에 한정되는 것은 아니다.
도 2는 일 실시예에 따른, 패킷 전송을 제어하는 방법을 나타내는 흐름도이다.
동작 S210에서 중앙 서버(100)는 복수의 호스트 서버에 의해 제공되는 적어도 하나의 서비스에 관련된 네트워크 서비스 디스크립터(Network Service Descriptor)에 기초하여, 제1 호스트 서버(200) 내의 복수의 가상 머신들 중 적어도 하나를 그룹핑함으로써 복수의 제1 가상 머신 그룹들을 생성하는데 이용되는 제1 그룹 생성 정보를 생성할 수 있다.
편의상, 제1 호스트 서버(200) 내의 복수의 가상 머신들 중 적어도 하나를 그룹핑함으로써 복수의 제1 가상 머신 그룹들을 생성하는데 이용되는 제1 그룹 생성 정보를 생성한다고 기재하였으나, 일 실시예에서, 제1 호스트 서버(200)는 하나의 가상 머신만을 포함할 수도 있다. 제1 호스트 서버(200)는 하나의 가상 머신을 그룹핑함으로써 하나의 제1 가상 머신 그룹을 생성하는데 이용되는 제1 그룹 생성 정보를 생성할 수 있다. 또는, 제1 호스트 서버(200)는 복수의 가상 머신들을 포함할 수 있으며, 복수의 가상 머신들 중 적어도 하나를 그룹핑함으로써 하나의 제1 가상 머신 그룹을 생성하는데 이용되는 제1 그룹 생성 정보를 생성할 수도 있다. 네트워크 서비스 디스크립터에 기초하여 제1 그룹 생성 정보를 생성하는 예시는 도 4에서 후술하기로 한다.
앞서 하나의 호스트 서버 내의 복수의 가상 머신들 중 적어도 하나를 그룹핑 하는 것으로 설명하였으나, 일 실시예에서, 중앙 서버(100)는 네트워크 서비스 디스크립터(Network Service Descriptor)에 기초하여, 서로 다른 호스트 서버 내의 복수의 가상 머신들을 그룹핑 할 수도 있다. 예를 들어, 중앙 서버(100)는 제1 호스트 서버(200) 내의 적어도 하나의 가상 머신과 제2 호스트 서버(300) 내의 적어도 하나의 가상 머신을 그룹핑함으로써, 제3 가상 머신 그룹을 생성하는데 이용되는 제3 그룹 생성 정보를 생성할 수 있다.
동작 S220에서 중앙 서버(100)는 제1 그룹 생성 정보를 제1 호스트 서버(200)에게 전송할 수 있다. 일 실시예에서, 중앙 서버(100)는 제1 호스트 서버(200)에서 복수의 제1 가상 머신 그룹들을 통해 서비스를 제공하도록 하기 위해, 제1 그룹 생성 정보를 제1 호스트 서버(200)에게 전송할 수 있다. 일 실시예에서, 제1 호스트 서버(200)는 복수의 제1 가상 머신 그룹들을 생성하기 위해 중앙 서버(100)에게 제1 그룹 생성 정보를 전송해줄 것을 요청할 수 있다. 중앙 서버(100)는 제1 호스트 서버(200)로부터의 요청에 대응하여 제1 그룹 생성 정보를 제1 호스트 서버(200)에게 전송할 수 있다. 중앙 서버(100)는 소정의 네트워크를 통하여 제1 호스트 서버(200)와 통신할 수 있으며, 소정의 네트워크를 통해 제1 그룹 생성 정보를 제1 호스트 서버(200)에게 전송할 수 있다.
일 실시예에서, 중앙 서버(100)가 제3 그룹 생성 정보를 생성한 경우, 중앙 서버(100)는 제1 호스트 서버(200) 및 제2 호스트 서버(300)에게 제3 그룹 생성 정보를 전송할 수 있다.
동작 S230에서 중앙 서버(100)는 복수의 제1 가상 머신 그룹들 간에 전송되는 패킷에 관련된 패킷 전송 규칙을 상기 네트워크 서비스 디스크립터에 기초하여 생성할 수 있다. 네트워크 서비스 디스크립터에 기초하여 패킷 전송 규칙을 생성하는 예시는 도 6에서 후술하기로 한다.
동작 S240에서 중앙 서버(100)는 패킷 전송 규칙을 제1 호스트 서버(200)에게 전송할 수 있다. 일 실시예에서, 중앙 서버(100)는 소정의 네트워크를 통하여 제1 호스트 서버(200)와 통신할 수 있으며, 소정의 네트워크를 통해 패킷 전송 규칙을 제1 호스트 서버(200)에게 전송할 수 있다.
동작 S250에서 중앙 서버(100)는 패킷 전송 규칙에 위반되는 패킷 전송 요청이 제1 호스트 서버(200)에게 수신됨에 따라, 위반된 패킷 전송 요청이 수신됨을 알리는 알림 메시지를 상기 제1 호스트 서버(200)로부터 수신할 수 있다.
동작 S260에서 중앙 서버(100)는 제1 호스트 서버(200)로부터 수신된 알림 메시지를 출력할 수 있다. 일 실시예에서, 중앙 서버(100)는 알림 메시지를 외부 디스플레이 장치로 전송하여 디스플레이하거나, 중앙 서버(100)의 디스플레이에 디스플레이할 수 있다. 일 실시예에서, 알림 메시지는 패킷 전송 규칙에 위반되는 패킷의 전송 출발지인 소스 가상 머신(Source VM), 위반되는 패킷의 전송 목적지인 목적(Destination VM) 가상 머신, 소스 가상 머신이 설치된 호스트 서버, 및 목적 가상 머신이 설치된 호스트 서버 중 적어도 하나에 관한 정보를 포함할 수 있다.
알림 메시지를 출력하는 예시에 대해서는 도 10에서 후술하기로 한다.
도 3은 일 실시예에 따른, 패킷 전송을 제어하는 방법을 나타내는 흐름도이다.
동작 S310 및 S320은 도 2의 동작 S210 및 S220에 대응하므로 구체적인 설명은 생략하기로 한다.
동작 S330에서 제1 호스트 서버(200)는 제1 그룹 생성 정보에 기초하여, 복수의 제1 가상 머신 그룹들을 생성할 수 있다. 일 실시예에서, 제1 호스트 서버(200)는 제1 그룹 생성 정보에 기초하여, 제1 가상 머신 그룹을 생성하지 않을 수 있다. 또한, 제1 호스트 서버(200)는 제1 그룹 생성 정보에 기초하여, 하나의 제1 가상 머신 그룹을 생성할 수도 있고, 복수의 제1 가상 머신 그룹을 생성할 수도 있다. 제1 그룹 생성 정보에 기초하여 를 제1 가상 머신 그룹들을 생성하는 예시는 도 4에서 후술하기로 한다.
동작 S340에서 제1 호스트 서버(200)는 복수의 제1 가상 머신 그룹들이 생성됨에 따라, 각각의 제1 가상 머신 그룹 내의 가상 머신의 식별 정보를 제1 가상 머신 그룹의 식별 정보로 대체할 수 있다. 일 실시예에서, 각각의 가상 고유의 식별 정보를 가질 수 있다. 또한, 각각의 가상 머신 그룹은 고유의 식별 정보를 가질 수 있다. 예를 들어, 식별 정보는 소프트웨어 구축에 이용되는 식별자 표준인 범용 고유 식별자(Universally Unique Identifier, UUID)일 수 있으나, 이에 제한되지 않는다.
일 실시예에서, 제1 호스트 서버(200)는 UUID가 “8365”인 가상 머신을 UUID가 “133556797”인 가상 머신 그룹으로 그룹핑하도록 하는 제1 그룹 생성 정보를 수신함에 따라, UUID가 “133556797”인 가상 머신 그룹을 생성할 수 있다. 제1 호스트 서버(200)는 UUID가 “133556797”인 가상 머신 그룹이 생성됨에 따라, UUID가 “8365”인 가상 머신의 UUID “8365”를 삭제하고 가상 머신 그룹의 UUID “1234567890”을 부여할 수 있다.
동작 S350 및 S360은 도 2의 동작 S230 및 S240에 대응하므로 구체적인 설명은 생략하기로 한다.
동작 S370에서 제1 호스트 서버(200)는 패킷 전송 규칙에 위반되는 패킷 전송 요청이 수신됨에 따라, 패킷 전송 규칙에 위반되는 패킷의 전송을 차단할 수 있다. 일 실시예에서, 제1 호스트 서버(200)는 패킷이 출력된 가상 머신을 나타내는 패킷 레이블이 대체된 가상 머신 그룹의 식별 정보에 매칭되지 않는 경우, 가상 머신에서 출력되는 패킷들 중 패킷 전송 규칙에 위반되는 패킷의 전송을 차단할 수 있다.
일 실시예에서, 패킷 레이블은 가상 머신에서 패킷들을 출력하는 인터페이스의 이름 및 가상 머신의 IP 주소에 기초하여 결정될 수 있다. 예를 들어, 제1 호스트 서버(200)에는 제1 호스트 서버(200)에 포함된 가상 머신에 대응하는 가상 머신의 입력 인터페이스 이름, 출력 인터페이스 이름, 및 가상 머신의 IP 주소가 저장되어 있을 수 있다. 예를 들어, 가상 머신의 입력 인터페이스는 출력 인터페이스와 상이할 수도 있고, 하나의 통합된 인터페이스일 수도 있다. 가상 머신의 IP 주소는 해킹을 통해 위조될 수 있으나, 가상 머신에서 패킷들을 출력하는 인터페이스의 이름은 가상 머신의 생성 시에 고유하게 결정된 것이므로 위조될 수 없다. 따라서, IP 주소가 위조되더라도 출력 인터페이스의 이름은 진정한 것이므로, 위조된 IP 주소 및 진정한 출력 인터페이스 이름에 매칭되는 가상 머신이 존재하지 않아, 위조된 IP 주소를 갖는 가상 머신으로부터 출력된 패킷들은 기본 패킷 레이블(default packet label)을 가질 수 있다. 기본 패킷 레이블에 매칭되는 가상 머신의 식별 정보는 존재하지 않으므로, 기본 패킷 레이블이 부여된 패킷은 전송이 차단되게 되어, 네트워크 보안이 강화될 수 있다. 예를 들어, 출력 인터페이스 이름이 위조될 수 없기 때문에, 출력 인터페이스 이름 및 IP 주소에 기초하여 패킷 레이블이 결정됨으로써 해킹된 가상 머신을 검출할 수 있다.
동작 S380에서 제1 호스트 서버(200)는 패킷 전송 규칙에 위반되는 패킷 전송 요청이 수신됨에 따라, 위반된 패킷 전송 요청이 수신됨을 알리는 알림 메시지를 중앙 서버(100)에게 전송할 수 있다. 일 실시예에서, 제1 호스트 서버(200)는, 패킷 레이블 및 가상 머신의 식별 정보에 기초하여, 패킷 전송 규칙에 위반되는 패킷 전송 요청이 수신되었는지를 검출할 수 있다. 제1 호스트 서버(200)는 패킷 전송 요청이 패킷 전송 규칙에 위반된다고 판단되면, 위반된 패킷 전송 요청이 수신됨을 알리는 알림 메시지를 중앙 서버(100)에게 전송함과 동시에 위반된 패킷 전송 요청을 무시하도록 할 수 있다. 또는, 제1 호스트 서버(200)는 알림 메시지를 중앙 서버(100)에게 전송한 이후 기 설정된 시간 내에 알림 메시지에 대응되는 동작을 제어하는 입력이 중앙 서버(100)로부터 수신되지 않으면, 제1 호스트 서버(200)가 패킷 전송 규칙에 위반되는 패킷의 전송을 차단할 수 있다. 또는, 제1 호스트 서버(200)는 알림 메시지는 중앙 서버(100)에게 전송하지 않고, 패킷 전송 규칙에 위반되는 패킷의 전송을 차단할 수 있다.
동작 S390은 도 2의 동작 S260에 대응하므로 구체적인 설명은 생략하기로 한다.
본 개시에 따른 방법을 설명하는 동작들의 순서를 명백하게 지정하는 기재가 없다면, 기재된 단계들은 적당한 순서로 행해질 수 있다. 기재된 동작들의 기재 순서에 따라 본 개시가 한정되는 것은 아니다. 예를 들어, 동작 S370 이후에 동작 S380이 수행될 수도 있고, 동작 S380 이후에 동작 S370이 수행될 수도 있으며, S370 및 S380이 동시에 수행될 수도 있다.
도 4는 일 실시예에 따른 가상 머신 그룹을 생성하는 예시를 나타내는 도면이다.
도 4에 도시된 바와 같이, 중앙 서버(100)는 제1 호스트 서버(200) 내의 복수의 가상 머신들(410, 420, 430) 중 적어도 하나를 그룹핑함으로써 적어도 하나의 가상 머신 그룹을 생성하는데 이용되는 제1 그룹 생성 정보(410)를 생성할 수 있다. 제1 그룹 생성 정보(410)는 복수의 호스트 서버에 의해 제공되는 적어도 하나의 서비스에 관련된 네트워크 서비스 디스크립터에 기초하여, 네트워크 서비스 디스크립터에 기재된 바와 같이 생성된 것일 수 있다. 예를 들어, 네트워크 서비스 디스크립터에는 제1 호스트 서버(200) 내에 어떤 VNF(Virtualized Network Function) 및 VNFC(Virtualized Network Function Component)가 포함되는지 명시되어 있을 수 있다. 본 명세서에서, VNF는 네트워크 서비스의 개별적인 기능을 수행하는 단위로서, 하나 이상의 VNFC를 포함할 수 있다. 또한, VNFC는 가상 머신(Virtual Machine) 및 컨테이너(Container) 등일 수 있으나, 본 명세서에서는 편의상 가상 머신으로 설명하기로 한다. 예를 들어, 네트워크 서비스 디스크립터에는 제1 호스트 서버(200)는 제1 가상 머신(420), 제2 가상 머신(430) 및 제3 가상 머신(430)을 포함하며, 제2 가상 머신(430) 및 제3 가상 머신(430)은 하나의 VNF에 포함된다는 것이 기재되어 있을 수 있다.
일 실시예에서, 최초로 가상 머신 그룹을 생성할 때는, 하나의 VNF가 하나의 가상 머신 그룹에 대응될 수 있다. 이에 따라, 중앙 서버(100)는 제1 호스트 서버(200) 내의 제2 가상 머신(430) 및 제3 가상 머신(430)을 그룹핑함으로써 가상 머신 그룹 A를 생성하는데 이용되는 제1 그룹 생성 정보(410)를 생성하고, 제1 호스트 서버(200)에게 제1 그룹 생성 정보(410)를 전송할 수 있다.
일 실시예에서, 제1 호스트 서버(200)는 제1 그룹 생성 정보(410)에 기초하여, 제2 가상 머신(430) 및 제3 가상 머신(430)을 그룹핑함으로써 가상 머신 그룹 A를 생성할 수 있다. 하나의 가상 머신 그룹에 포함된 복수의 가상 머신들 간에는 패킷 전송 규칙과 무관하게 패킷 전송이 가능하므로, 가상 머신 그룹 A에 포함된 제2 가상 머신(430) 및 제3 가상 머신(430) 간에는 자유롭게 패킷을 전송할 수 있다. 하지만, 가상 머신 그룹 A에 포함된 제2 가상 머신(430) 및 제3 가상 머신(430)은, 패킷 전송 규칙 없이는 가상 머신 그룹 A에 포함되지 않은 가상 머신과 통신할 수 없다. 예를 들어, 제2 가상 머신(430)은 제3 가상 머신(440)에게 패킷을 전송할 수는 있지만, 제1 가상 머신(420)에게 패킷을 전송할 수는 없다. 또한, 제1 호스트 서버(200) 내의 복수의 가상 머신들(410, 420, 430) 중 그룹핑되지 않은 제1 가상 머신(420)은 다른 가상 머신과 통신할 수 없다. 예를 들어, 제1 가상 머신(420)은, 제2 가상 머신(430) 및 제3 가상 머신(430)에게 패킷을 전송할 수 없다.
도 5a 내지 도 5c는 일 실시예에 따른 가상 머신 그룹들 간에 패킷을 전송하는 예시를 나타내는 도면이다.
도 5a에 도시된 바와 같이, 일 실시예에서, 중앙 서버(100)는 네트워크 서비스 디스크립터에 기초하여, 제1 호스트 서버(200) 내의 복수의 가상 머신들 중 적어도 하나를 그룹핑함으로써 복수의 가상 머신 그룹들을 생성하는데 이용되는 제1 그룹 생성 정보를 생성할 수 있다.
일 실시예에서, 중앙 서버(100)는 제1 호스트 서버(200)에게 제1 그룹 생성 정보를 전송할 수 있다. 예를 들어, 제1 호스트 서버(200)는 중앙 서버(100)로부터 수신된 제1 그룹 생성 정보를 제1 호스트 서버(200)의 메모리에 저장할 수 있다. 제1 호스트 서버(200)는 제1 그룹 생성 정보에 기초하여, 제1 호스트 서버(200) 내의 제1 가상 머신(520)을 그룹핑함으로써 가상 머신 그룹 B를 생성할 수 있다. 또한, 제1 호스트 서버(200)는 제1 그룹 생성 정보에 기초하여, 제1 호스트 서버(200) 내의 제2 가상 머신(530) 및 제3 가상 머신(540)을 그룹핑함으로써 가상 머신 그룹 A를 생성할 수 있다.
일 실시예에서, 중앙 서버(100)는 제1 호스트 서버(200)에 의해 생성되는 가상 머신 그룹 A 및 가상 머신 그룹 B 간에 전송되는 패킷에 관련된 패킷 전송 규칙(510)을 상기 네트워크 서비스 디스크립터에 기초하여 생성할 수 있다. 또한, 중앙 서버(100)는 패킷 전송 규칙(510)을 제1 호스트 서버(200)에게 전송할 수 있다. 예를 들어, 패킷 전송 규칙(510)은 가상 머신 그룹 A와 가상 머신 그룹 B 간의 통신을 허용하는 규칙일 수 있다. 패킷 전송 규칙(510)에 따라, 가상 머신 그룹 A에 포함된 제2 가상 머신(530)과 가상 머신 그룹 B에 포함된 제1 가상 머신(520) 간에는 자유롭게 패킷을 전송할 수 있다. 또한, 가상 머신 그룹 A에 포함된 제3 가상 머신(540)과 가상 머신 그룹 B에 포함된 제1 가상 머신(520) 간에는 자유롭게 패킷을 전송할 수 있다.
도 5b에 도시된 바와 같이, 일 실시예에서, 중앙 서버(100)는 네트워크 서비스 디스크립터에 기초하여, 제1 호스트 서버(200) 내의 적어도 하나의 가상 머신 중 적어도 하나를 그룹핑함으로써 적어도 하나의 가상 머신 그룹을 생성하는데 이용되는 제1 그룹 생성 정보를 생성할 수 있다. 또한, 중앙 서버(100)는 네트워크 서비스 디스크립터에 기초하여, 제2 호스트 서버(300) 내의 적어도 하나의 가상 머신 중 적어도 하나를 그룹핑함으로써 적어도 하나의 가상 머신 그룹을 생성하는데 이용되는 제2 그룹 생성 정보를 생성할 수 있다.
일 실시예에서, 중앙 서버(100)는 제1 호스트 서버(200)에게 제1 그룹 생성 정보를 전송하고, 제2 호스트 서버(300)에게 제2 그룹 생성 정보를 전송할 수 있다. 예를 들어, 제1 호스트 서버(200)는 중앙 서버(100)로부터 수신된 제1 그룹 생성 정보를 제1 호스트 서버(200)의 메모리에 저장할 수 있다. 또한, 제1 호스트 서버(200)는 제1 그룹 생성 정보에 기초하여, 제1 호스트 서버(200) 내의 제1 가상 머신(560)을 그룹핑함으로써 가상 머신 그룹 B를 생성할 수 있다. 예를 들어, 제2 호스트 서버(300)는 중앙 서버(100)로부터 수신된 제2 그룹 생성 정보를 제2 호스트 서버(300)의 메모리에 저장할 수 있다. 또한, 제2 호스트 서버(300)는 제2 그룹 생성 정보에 기초하여, 제2 호스트 서버(300) 내의 제2 가상 머신(570) 및 제3 가상 머신(580)을 그룹핑함으로써 가상 머신 그룹 A를 생성할 수 있다.
일 실시예에서, 중앙 서버(100)는 제1 호스트 서버(200)에 의해 생성되는 가상 머신 그룹 A 및 제2 호스트 서버(300)에 의해 생성되는 가상 머신 그룹 B 간에 전송되는 패킷에 관련된 패킷 전송 규칙(550)을 상기 네트워크 서비스 디스크립터에 기초하여 생성할 수 있다. 또한, 중앙 서버(100)는 패킷 전송 규칙(550)을 제1 호스트 서버(200) 및 제2 호스트 서버(300)에게 전송할 수 있다. 예를 들어, 패킷 전송 규칙(550)은 가상 머신 그룹 A와 가상 머신 그룹 B 간의 통신을 허용하는 규칙일 수 있다. 패킷 전송 규칙(550)에 따라, 가상 머신 그룹 A에 포함된 제2 가상 머신(570)과 가상 머신 그룹 B에 포함된 제1 가상 머신(560) 간에는 자유롭게 패킷을 전송할 수 있다. 또한, 가상 머신 그룹 A에 포함된 제3 가상 머신(580)과 가상 머신 그룹 B에 포함된 제1 가상 머신(560) 간에는 자유롭게 패킷을 전송할 수 있다.
도 5c에 도시된 바와 같이, 중앙 서버(100)는 네트워크 서비스 디스크립터에 기초하여, 제1 호스트 서버(200) 내의 적어도 하나의 가상 머신과 제2 호스트 서버(300) 내의 적어도 하나의 가상 머신을 그룹핑함으로써 제3 가상 머신 그룹을 생성하는데 이용되는 제3 그룹 생성 정보를 생성할 수 있다.
일 실시예에서, 중앙 서버(100)는 제1 호스트 서버(200) 내의 제1 가상 머신(594) 및 제2 호스트 서버(300) 내의 제3 가상 머신(598)을 그룹핑함으로써 가상 머신 그룹 A를 생성하는데 이용되는 제3 그룹 생성 정보를 생성할 수 있다. 중앙 서버(100)는 제1 그룹 생성 정보(410)를 제1 호스트 서버(200) 및 제2 호스트 서버(300)에게 전송할 수 있다. 또한, 중앙 서버(100)는 제1 호스트 서버(200) 내의 복수의 가상 머신들(594, 596) 중 제2 가상 머신(596)을 그룹핑함으로써 가상 머신 그룹 B를 생성하는데 이용되는 제1 그룹 생성 정보를 생성할 수 있다. 중앙 서버(100)는 제1 그룹 생성 정보를 제1 호스트 서버(200)에게 전송할 수 있다.
일 실시예에서, 제1 호스트 서버(200) 및 제2 호스트 서버(300)는 제3 그룹 생성 정보에 기초하여, 제1 가상 머신(594) 및 제3 가상 머신(598)을 그룹핑함으로써 가상 머신 그룹 A를 생성할 수 있다. 하나의 가상 머신 그룹에 포함된 복수의 가상 머신들 간에는 패킷 전송 규칙과 무관하게 패킷 전송이 가능하므로, 가상 머신 그룹 A에 포함된 제1 가상 머신(594) 및 제3 가상 머신(598) 간에는 자유롭게 패킷을 전송할 수 있다. 즉, 서로 다른 호스트 서버 내의 가상 머신들 간에도 가상 머신 그룹 간에는 자유롭게 패킷을 전송할 수 있다. 또한, 제1 호스트 서버(200)는 제1 그룹 생성 정보에 기초하여, 제2 가상 머신(596)을 그룹핑함으로써 가상 머신 그룹 B를 생성할 수 있다.
일 실시예에서, 중앙 서버(100)는 제1 호스트 서버(200) 및 제2 호스트 서버(300)에 의해 생성되는 가상 머신 그룹 A와 제1 호스트 서버(200)에 의해 생성되는 가상 머신 그룹 B 간에 전송되는 패킷에 관련된 패킷 전송 규칙(592)을 네트워크 서비스 디스크립터에 기초하여 생성할 수 있다. 또한, 중앙 서버(100)는 패킷 전송 규칙(550)을 제1 호스트 서버(200) 및 제2 호스트 서버(300)에게 전송할 수 있다. 예를 들어, 패킷 전송 규칙(592)은 가상 머신 그룹 A와 가상 머신 그룹 B 간의 통신을 허용하는 규칙일 수 있다. 패킷 전송 규칙(592)에 따라, 가상 머신 그룹 A에 포함된 제1 가상 머신(594)과 가상 머신 그룹 B에 포함된 제2 가상 머신(596) 간에는 자유롭게 패킷을 전송할 수 있다. 또한, 가상 머신 그룹 A에 포함된 제3 가상 머신(598)과 가상 머신 그룹 B에 포함된 제2 가상 머신(596) 간에는 자유롭게 패킷을 전송할 수 있다.
도 6은 일 실시예에 따른, 패킷 전송 규칙을 생성하는 예시를 나타내는 도면이다.
도 6에 도시된 바와 같이, 중앙 서버(100)는 네트워크 서비스 디스크립터의 포워딩 그래프(620)에 기초하여 패킷 전송 규칙을 생성할 수 있다. 일 실시예에서, 포워딩 그래프(620)는 네트워크 서비스 디스크립터에 포함된 패킷의 흐름을 나타내는 포워딩 경로 코드(610)를 그래프 형태로 도시한 것일 수 있다. 예를 들어, 포워딩 경로 코드(610)는 NFV 환경에서 이용되는 표준 양식일 수 있다.
일 실시예에서, 제1 호스트 서버(200)는 각각 가상 머신 그룹 A, 가상 머신 그룹 B, 및 가상 머신 그룹 C에 대응되는 VNF 1, VNF 2, 및 VNF 3를 포함할 수 있다. 또한, 일 실시예에서, 제1 호스트 서버(200)는 입력 인터페이스 CP01(630) 및 출력 인터페이스 CP02(680)을 포함할 수 있다. VNF 1은 입력 인터페이스 CP11(640) 및 출력 인터페이스 CP12(650)를 포함할 수 있고, VNF 2는 입/출력 인터페이스 CP21을 포함할 수 있으며, VNF 3은 입력 인터페이스 CP31(660) 및 출력 인터페이스 CP32(670)를 포함할 수 있다. 포워딩 경로 코드(610)를 도시한 포워딩 그래프(620)는 패킷이 CP01(630), CP11(640), CP12(650), CP31(660), CP32(670), 및 CP02(680)를 순차적으로 지나가는 것을 나타내고 있으므로, 중앙 서버(100)는 가상 머신 그룹 A에서 가상 머신 그룹 C로 패킷의 전송이 허용됨을 검출할 수 있다. 중앙 서버(100)는 가상 머신 그룹 A와 가상 머신 그룹 C 간의 패킷 전송을 허용하는 패킷 전송 규칙(690)을 생성할 수 있다. 따라서, 중앙 서버(100)는 네트워크 서비스 디스크립터에 기초하여 패킷 전송 규칙을 자동으로 생성하므로, 보안 정책을 잘 알지 못하는 중앙 서버(100)의 관리자에게 패킷 전송 규칙에 따라 패킷 전송을 제어하는 보안 서비스를 제공할 수 있다.
도 7은 일 실시예에 따른, 가상 머신 그룹 및 패킷 전송 규칙을 업데이트하는 예시를 나타내는 도면이다.
일 실시예에서, 중앙 서버(100)의 관리자는 네트워크 서비스 디스크립터에 기초하여 생성된 가상 머신 그룹을 업데이트할 수 있다. 중앙 서버(100)는 관리자로부터 가상 머신 그룹 생성 코드(710)의 입력을 수신함으로써, 기존에 네트워크 서비스 디스크립터에 기초하여 생성된 가상 머신 그룹에 더하여, 신규 가상 머신 그룹을 생성하도록 적어도 하나의 호스트 서버에게 명령할 수 있다. 예를 들어, 가상 머신들은 각각의 가상 머신마다 고유의 식별 정보를 가질 수 있다. 또한, 가상 머신 그룹들은 가상 머신 그룹들 마다 고유의 식별 정보를 가질 수 있다. 식별 정보는 소프트웨어 구축에 이용되는 식별자 표준인 범용 고유 식별자(Universally Unique Identifier, UUID)일 수 있다. 가상 머신 그룹 생성 코드(710)에 기재된 바와 같이, 중앙 서버(100)는 관리자로부터의 입력에 기초하여, UUID가 “111111”인 가상 머신 및 UUID가 “567822”인 가상 머신을, UUID가 “1234567890”인 가상 머신 그룹으로 그룹핑하도록 하는 명령을 호스트 서버에게 전송할 수 있다.
일 실시예에서, 가상 머신 그룹이 생성됨에 따라, 가상 머신 그룹 내의 가상 머신의 식별 정보를 가상 머신 그룹의 식별 정보로 대체될 수 있다. 예를 들어, UUID가 “1234567890”인 가상 머신 그룹이 생성됨에 따라, UUID가 “111111”인 가상 머신을 포함하는 호스트 서버는, UUID “111111”을 삭제하고 UUID “1234567890”을 부여할 수 있다. 또한, UUID가 “567822”인 가상 머신을 포함하는 호스트 서버는, UUID “567822”를 삭제하고 UUID “1234567890”을 부여할 수 있다.
일 실시예에서, UUID가 동일한 가상 머신들 간에는 패킷 전송 규칙과 관계 없이 자유롭게 통신할 수 있다. 예를 들어, 대체된 UUID가 “1234567890”인 가상 머신들 간에는 패킷을 전송할 수 있다.
일 실시예에서, 중앙 서버(100)는 관리자로부터 가상 머신 그룹 제거 코드(720)의 입력을 수신함으로써, 기존에 네트워크 서비스 디스크립터에 기초하여 생성된 복수의 가상 머신 그룹들 중 적어도 하나를 제거하도록 적어도 하나의 호스트 서버에게 명령할 수 있다. 중앙 서버(100)는 관리자로부터의 입력에 기초하여, UUID가 “1234567890”인 가상 머신 그룹 및 UUID가 “8888888888”인 가상 머신을 그룹을 제거하는 명령을 적어도 하나의 호스트 서버에게 전송할 수 있다.
일 실시예에서, 가상 머신 그룹이 제거됨에 따라, 가상 머신 그룹의 식별 정보는, 가상 머신 그룹 내의 각각의 가상 머신의 식별 정보로 대체될 수 있다. 예를 들어, UUID가 “1234567890”인 가상 머신 그룹이 제거됨에 따라, UUID가 “1234567890”인 가상 머신 그룹을 포함하는 호스트 서버는, 기존에 UUID가 “111111”이었던 가상 머신의 UUID “1234567890”을 삭제하고, 기존의 UUID “111111”을 부여할 수 있다. 또한, 호스트 서버는 기존에 UUID가 “567822”이었던 가상 머신의 UUID “1234567890”을 삭제하고, 기존의 UUID “567822”를 부여할 수 있다.
일 실시예에서, 제1 호스트 서버(200) 내의 복수의 가상 머신들 중 그룹핑되지 않은 제1 가상 머신은 제1 호스트 서버(200) 내의 제2 가상 머신 및 제2 호스트 서버(300) 내의 제3 가상 머신에게 패킷 전송이 불가능하다. 예를 들어, UUID가 상이한 가상 머신들 간에는 패킷 전송 규칙 없이는 통신할 수 없다. 예를 들어, UUID가 “11111”인 가상 머신 및 UUID가 “567822”인 가상 머신은 고립(isolation)되고, 이후에 가상 머신으로 그룹핑되거나, 관리자로부터 패킷 전송 규칙을 추가하는 입력을 수신하지 않고는 패킷을 전송이 불가능하다.
일 실시예에서, 중앙 서버(100)의 관리자는 네트워크 서비스 디스크립터에 기초하여 생성된 패킷 전송 규칙을 업데이트할 수 있다. 관리자는 패킷 전송 규칙에 위반되는 요청이 수신됨을 알리는 알림 메시지에 대응하여 패킷 전송 규칙을 업데이트할 수도 있고, 알림 메시지를 수신하지 않고도 패킷 전송 규칙을 업데이트할 수 있다.
일 실시예에서, 중앙 서버(100)는 관리자로부터 패킷 전송 규칙을 추가하는 입력 또는 패킷 전송 규칙을 삭제하는 입력을 수신할 수 있다. 예를 들어, 패킷 전송 규칙을 추가하는 입력은, 가상 머신 그룹들 간에 패킷 전송을 허용하는 규칙, 또는 가상 머신 그룹들 간에 패킷 전송을 허용하지 않는 규칙을 추가하는 입력일 수 있다.
일 실시예에서, 중앙 서버(100)는 관리자로부터 패킷 전송 규칙 추가 코드(730)의 입력을 수신함으로써, 기존에 네트워크 서비스 디스크립터에 기초하여 생성된 패킷 전송 규칙에 더하여, 신규 패킷 전송 규칙을 생성하도록 적어도 하나의 호스트 서버에게 명령할 수 있다. 중앙 서버(100)는 관리자로부터의 입력에 기초하여, UUID가 “0100000456”인 가상 머신 그룹 D 및 UUID가 “9876543210”인 가상 머신 그룹 E 간에 패킷 전송을 허용하지 않는 패킷 전송 규칙을 추가하는 명령을 적어도 하나의 호스트 서버에게 전송할 수 있다. 가상 머신 그룹 D 및 가상 머신 그룹 E 간에는 패킷 전송이 불가능해질 수 있다.
일 실시예에서, 중앙 서버(100)는 관리자로부터 패킷 전송 규칙 추가 코드(730)의 입력을 수신함으로써, 기존에 네트워크 서비스 디스크립터에 기초하여 생성된 패킷 전송 규칙들 중 적어도 하나를 삭제하도록 적어도 하나의 호스트 서버에게 명령할 수 있다. 중앙 서버(100)는 관리자로부터의 입력에 기초하여, UUID가 “0100000456”인 가상 머신 그룹 D 및 UUID가 “9876543210”인 가상 머신 그룹 E 간에 패킷 전송을 허용하지 않는 패킷 전송 규칙을 삭제하는 명령을 적어도 하나의 호스트 서버에게 전송할 수 있다. 가상 머신 그룹 D 및 가상 머신 그룹 E 간에는 패킷 전송이 가능해질 수 있다.
일 실시예에서, 중앙 서버(100)를 관리하는 관리자는 복수일 수 있다. 중앙 서버(100)는 복수의 관리자 중 기설정된 제1 등급의 제1 관리자로부터 제1 패킷 전송 규칙을 추가하는 입력을 수신하고, 기설정된 제2 등급의 제2 관리자로부터 제2 패킷 전송 규칙을 추가하는 입력을 수신할 수 있다. 예를 들어, 제1 패킷 전송 규칙과 제2 패킷 전송 규칙이 충돌하는 경우, 중앙 서버(100)는 제1 등급 및 제2 등급을 비교함으로써, 패킷 전송 규칙을 업데이트할 수 있다. 예를 들어, 관리자의 등급은 "Priority" 코드로 구현될 수 있는데, "Priority"가 낮을수록 관리자의 등급이 높을 수 있다. 예를 들어, 제1 패킷 전송 규칙은 가상 머신 그룹 A 및 가상 머신 그룹 B 간의 패킷 전송을 허용하는 것이고, 제2 패킷 전송 규칙은 가상 머신 그룹 A 및 가상 머신 그룹 B 간의 패킷 전송을 허용하지 않는 것일 경우, 중앙 서버(100)는 제1 등급 및 제2 등급을 비교함으로써, 제1 등급이 제2 등급 보다 등급이 높을 경우, 제1 패킷 전송 규칙에 따라 가상 머신 그룹 A 및 가상 머신 그룹 B 간의 패킷 전송을 허용하도록 하는 요청을 적어도 하나의 호스트 서버에게 전송할 수 있다.
도 8은 일 실시예에 따른, 가상 머신 그룹 및 패킷 전송 규칙을 업데이트하는 예시를 나타내는 도면이다.
도 7에서 전술한 바와 같이 코드를 입력하지 않고도, 일 실시예에서, 중앙 서버(100)의 관리자는 네트워크 서비스 디스크립터에 기초하여 생성된 가상 머신 그룹 및 패킷 전송 규칙을 업데이트할 수 있다.
일 실시예에서, 중앙 서버(100)는 관리자로부터 VNF 보안 관리 탭(810)을 선택하는 입력을 수신함으로써, VNF 보안 관리 화면을 디스플레이할 수 있다. VNF 보안 관리 화면에는 가상 머신 그룹 정보(820)가 포함될 수 있다. 가상 머신 그룹 정보(820)는 가상 머신 그룹 이름, 가상 머신 그룹의 생성 타입, 및 VNF 카탈로그 ID가 포함될 수 있다. 가상 머신 그룹의 생성 타입은 자동 생성 타입 및 수동 생성 타입이 있을 수 있는데, 네트워크 서비스 디스크립터에 기초하여 생성된 가상 머신 그룹은 자동 생성 타입에 해당하고, 관리자의 입력에 기초하여 생성된 가상 머신 그룹은 수동 생성 타입에 해당할 수 있다. 자동 생성 타입에 해당하는 가상 머신 그룹의 경우, 하나의 가상 머신 그룹이 하나의 VNF에 대응하므로, 고유의 VNF 카탈로그 ID가 있으나, 수동 생성 타입에 해당하는 가상 머신 그룹의 경우, 하나의 가상 머신이 하나의 VNF에 대응하는 것은 아니므로, 고유의 VNF 카탈로그 ID가 없을 수 있다. 중앙 서버(100)가 관리자로부터 가상 머신 그룹 정보(820) 중 일부를 선택하는 입력을 수신하면, 해당하는 가상 머신 그룹의 보다 상세한 정보를 나타내는 가상 머신 그룹 상세 정보(830)가 디스플레이될 수 있다. 가상 머신 그룹 상세 정보(830)에는 가상 머신 그룹 정보(820)에 포함되지 않은 가상 머신 그룹에 포함된 가상 머신에 관한 정보가 포함될 수 있다. 가상 머신에 관한 정보는, 가상 머신의 UUID, 메모리, 이미지, 및 IP 주소에 관한 정보가 포함될 수 있다.
일 실시예에서, 중앙 서버(100)는 관리자로부터 가상 머신 그룹 생성 버튼(840)을 선택하는 입력을 수신함으로써, 신규 가상 머신 그룹으로 그룹핑될 적어도 하나의 가상 머신 그룹을 선택하기 위한 가상 머신 선택 윈도우(850)를 디스플레이할 수 있다. 관리자는 가상 머신 선택 윈도우(850)를 통해, UUID가 “Idg-278db”인 가상 머신 및 UUID가 “c68-d135xt”인 가상 머신을 선택함으로써, 새로운 가상 머신 그룹을 생성할 수 있다. 또한, 중앙 서버(100)는 신규 패킷 전송 규칙이 적용될 가상 머신 그룹을 선택하기 위한 가상 머신 그룹 선택 윈도우(860)를 디스플레이할 수 있다. 관리자는 가상 머신 그룹 선택 윈도우(860)를 통해, UUID가 “621d74f-556d4sb3b”인 가상 머신 그룹 및 UUID가 “bdb6sd5-qwe13qr7”인 가상 머신 그룹 간에 패킷 전송을 허용하도록 하는 패킷 전송 규칙을 추가할 수 있다.
도 9는 일 실시예에 따른, 알림 메시지에 대응하는 관리자로부터의 입력에 기초하여 상기 패킷 전송 규칙을 업데이트하는 예시를 나타내는 도면이다.
일 실시예에서, 중앙 서버(100)는 알림 메시지(920)에 대응하는 관리자(910)로부터의 입력에 기초하여, 패킷 전송 규칙에 위반되는 패킷의 전송을 차단(930)하도록 할 수 있다. 예를 들어, 중앙 서버(100)는 패킷 전송 규칙에 위반되는 패킷이 출력된 소스 가상 머신을 종료(960)하도록 하는 요청을 소스 가상 머신이 설치된 호스트 서버에게 전송할 수 있다. 예를 들어, 중앙 서버(100)는 패킷 전송 규칙에 위반되는 패킷이 출력된 소스 가상 머신을 재설치(970)하도록 하는 요청을 소스 가상 머신이 설치된 호스트 서버에게 전송할 수 있다. 예를 들어, 중앙 서버(100)는 패킷 전송 규칙에 위반되는 패킷의 전송을 추가적으로 제약하거나 부분적으로 허용하도록 패킷 전송 규칙을 업데이트(990)할 수 있다. 예를 들어, 중앙 서버(100)는 패킷 전송 규칙에 위반되는 패킷이 출력된 소스 가상 머신을 검사(980)하도록 하는 요청을 소스 가상 머신이 설치된 호스트 서버에게 전송할 수 있다. 예를 들어, 중앙 서버(100)는 외부 보안 서비스를 이용하여, 소스 가상 머신에 보안 문제가 있는지 검사하도록 할 수 있다.
일 실시예에서, 중앙 서버(100)는 알림 메시지(920)에 대응하는 관리자(910)로부터의 입력을 수신하지 않을 수 있다. 예를 들어, 관리자(910)는 알림 메시지(920)를 무시(940)할 수 있다. 관리자(910)가 알림 메시지(920)를 무시(940)하더라도, 호스트 서버는 패킷 전송 규칙에 위반되는 패킷의 전송을 차단하므로, 위반되는 패킷의 전송은 허용되지 않는다.
일 실시예에서, 중앙 서버(100)는 알림 메시지(920)에 대응하는 관리자(910)로부터의 입력에 기초하여, 패킷 전송 규칙에 위반되는 패킷의 전송을 허용(950)하도록 패킷 전송 규칙을 업데이트(990)할 수 있다.
도 10은 일 실시예에 따른, 알림 메시지를 출력하는 예시이다.
중앙 서버(100)는 제1 호스트 서버(200)로부터 수신된 알림 메시지를 출력할 수 있다. 일 실시예에서, 중앙 서버(100)는 알림 메시지를 외부 디스플레이 장치로 전송하여 디스플레이하거나, 중앙 서버(100)의 디스플레이에 디스플레이할 수 있다. 또는, 중앙 서버(100)는 알림 메시지를 음성 형태로 출력할 수 있다.
일 실시예에서, 알림 메시지는 패킷 전송 규칙에 위반되는 패킷의 전송 출발지인 소스 가상 머신, 위반되는 패킷의 전송 목적지인 목적 가상 머신, 소스 가상 머신이 설치된 호스트 서버, 및 목적 가상 머신이 설치된 호스트 서버 중 적어도 하나에 관한 정보를 포함할 수 있다. 도 10에 도시된 바와 같이, 소스 가상 머신이 설치된 호스트 서버의 이름, 소스 가상 머신이 포함된 가상 머신 그룹의 UUID, 소스 가상 머신의 UUID, 목적 가상 머신이 포함된 가상 머신 그룹의 UUID, 및 목적 가상 머신의 UUID를 포함하는 알림 메시지가 출력될 수 있다.
일 실시예에서, 관리자는 출력된 알림 메시지로부터 어떤 가상 머신의 패킷이 어떤 가상 머신으로 전송되려고 했는지를 확인할 수 있다. 이후, 관리자는 출력된 알림 메시지에 대응하여 어떤 입력을 입력할 지를 액션 탭(Action Tap, 1010)에서 설정할 수 있다. 도 9에서 전술한 바와 같이, 예를 들어, 관리자는 알림 메시지를 무시하거나, 알림 메시지에 대응하여 패킷 전송 규칙에 위반되는 패킷의 전송을 차단하도록 설정하거나 위반되는 패킷의 전송을 허용하도록 설정할 수 있다.
도 11은 일 실시예에 따른 중앙 서버를 나타내는 블록도이다.
도 11에 도시된 바와 같이, 일 실시예에 따른 중앙 서버(100)는 프로세서(1300), 통신부(1500) 및 메모리(1700)를 포함할 수 있다. 그러나, 도 11에 도시된 구성 요소 모두가 중앙 서버(100)의 필수 구성 요소인 것은 아니다. 도 11에 도시된 구성 요소보다 많은 구성 요소에 의해 중앙 서버(100)가 구현될 수도 있고, 도 11에 도시된 구성 요소보다 적은 구성 요소에 의해 중앙 서버(100)가 구현될 수도 있다.
예를 들어, 일 실시예에 따른 중앙 서버(100)는, 프로세서(1300), 통신부(1500) 및 메모리(1700) 이외에 입력부(미도시) 및 출력부(미도시)를 더 포함할 수도 있다.
입력부(1100)는, 관리자가 중앙 서버(100)를 제어하기 위한 데이터를 입력하는 수단을 의미한다. 예를 들어, 입력부(미도시)에는 키 패드(key pad), 돔 스위치 (dome switch), 터치 패드(접촉식 정전 용량 방식, 압력식 저항막 방식, 적외선 감지 방식, 표면 초음파 전도 방식, 적분식 장력 측정 방식, 피에조 효과 방식 등), 조그 휠, 조그 스위치 등이 있을 수 있으나 이에 한정되는 것은 아니다.
입력부(미도시)는, 패킷 전송 규칙을 업데이트하기 위한 관리자로부터의 입력을 수신할 수 있다.
출력부(미도시)는, 오디오 신호 또는 비디오 신호를 출력할 수 있으며, 출력부(미도시)는 디스플레이부(미도시) 및 음향 출력부(미도시)를 포함할 수 있다.
디스플레이부(미도시)는 중앙 서버(100)에서 처리되는 정보를 표시 출력한다. 예를 들어, 디스플레이부(미도시)는, 가상 머신 그룹 및 패킷 전송 규칙을 업데이트하기 위한 사용자 인터페이스를 디스플레이할 수 있다. 또한, 디스플레이부(미도시)는 패킷 전송 규칙에 위반되는 패킷 전송 요청이 수신됨을 알리는 알림메시지를 디스플레이할 수 있다.
음향 출력부(미도시)는 통신부(1500)로부터 수신되거나 메모리(1700)에 저장된 오디오 데이터를 출력한다. 또한, 음향 출력부(1220)는 중앙 서버(100)에서 수행되는 기능(예를 들어, 호신호 수신음, 메시지 수신음, 알림음)과 관련된 음향 신호를 출력한다.
프로세서(1300)는, 통상적으로 중앙 서버(100)의 전반적인 동작을 제어한다. 예를 들어, 프로세서(1300)는, 메모리(1700)에 저장된 프로그램들을 실행함으로써, 입력부(미도시), 출력부(미도시) 및 통신부(1500) 등을 전반적으로 제어할 수 있다. 또한, 프로세서(1300)는 메모리(1700)에 저장된 프로그램들을 실행함으로써, 도 1 내지 도 10에 기재된 중앙 서버(100)의 기능을 수행할 수 있다. 프로세서(1300)는 적어도 하나의 프로세서로 이루어질 수 있다. 프로세서(1300)는 그 기능 및 역할에 따라, 복수의 프로세서들, 또는 통합된 형태의 하나의 프로세서로 이루어질 수 있다.
일 실시예에서, 프로세서(1300)는 복수의 호스트 서버에 의해 제공되는 적어도 하나의 서비스에 관련된 네트워크 서비스 디스크립터에 기초하여, 제1 호스트 서버(200) 내의 복수의 가상 머신들 중 적어도 하나를 그룹핑함으로써 복수의 제1 가상 머신 그룹들을 생성하는데 이용되는 제1 그룹 생성 정보를 생성할 수 있다. 프로세서(1300)는 제1 그룹 생성 정보를 제1 호스트 서버(200)에게 전송하도록 통신부(1500)를 제어할 수 있다. 또한, 프로세서(1300)는 네트워크 서비스 디스크립터에 기초하여, 제2 호스트 서버(300) 내의 복수의 가상 머신 중 적어도 하나를 그룹핑함으로써 복수의 제2 가상 머신 그룹들을 생성하는데 이용되는 제2 그룹 생성 정보를 생성할 수 있다. 프로세서(1300)는 제2 그룹 생성 정보를 제2 호스트 서버(300)에게 전송하도록 통신부(1500)를 제어할 수 있다.
일 실시예에서, 프로세서(1300)는 복수의 제1 가상 머신 그룹들 간에 전송되는 패킷에 관련된 패킷 전송 규칙을 네트워크 서비스 디스크립터에 기초하여 생성할 수 있다. 또한, 프로세서(1300)는 제1 호스트 서버(200)에 의해 생성되는 복수의 제1 가상 머신 그룹들 및 제2 호스트 서버(300)에 의해 생성되는 복수의 제2 가상 머신 그룹들 간에 전송되는 패킷에 관련된 패킷 전송 규칙을 네트워크 서비스 디스크립터에 기초하여 생성할 수 있다. 프로세서(1300)는 생성된 패킷 전송 규칙을 제1 호스트 서버(200) 및/또는 제2 호스트 서버(300)에게 전송하도록 통신부(1500)를 제어할 수 있다.
일 실시예에서, 프로세서(1300)는 패킷 전송 규칙에 위반되는 패킷 전송 요청이 제1 호스트 서버(200)에게 수신됨에 따라, 위반된 패킷 전송 요청이 수신됨을 알리는 알림 메시지를 제1 호스트 서버(200)로부터 통신부(1500)를 통하여 수신할 수 있다. 통신부(1500)를 통하여 전송된 제1 그룹 생성 정보에 기초하여 제1 호스트 서버(200)에 의해 제1 가상 머신 그룹이 생성됨에 따라, 각각의 제1 가상 머신 그룹 내의 가상 머신의 식별 정보가 제1 가상 머신 그룹의 식별 정보로 대체될 수 있다. 또한, 패킷이 출력된 가상 머신을 나타내는 패킷 레이블이 대체된 제1 가상 머신 그룹의 식별 정보에 매칭되지 않는 경우, 알림 메시지가 제1 호스트 서버(200)로부터 수신될 수 있다.
일 실시예에서, 프로세서(1300)는 제1 호스트 서버(200)로부터 수신된 알림 메시지를 출력하도록 출력부(미도시)를 제어할 수 있다.
일 실시예에서, 프로세서(1300)는 입력부(미도시)를 통한 중앙 서버(100)의 관리자로부터의 입력에 기초하여, 패킷 전송 규칙을 업데이트할 수 있다. 예를 들어, 프로세서(1300)는 알림 메시지에 대응하는 관리자로부터의 입력에 기초하여, 패킷 전송 규칙에 위반되는 패킷의 전송을 허용하도록 패킷 전송 규칙을 업데이트할 수 있다. 또한, 예를 들어, 프로세서(1300)는 알림 메시지에 대응하는 관리자로부터의 입력에 기초하여, 패킷 전송 규칙에 위반되는 패킷이 출력된 가상 머신을 재설치하도록 하는 요청을 제1 호스트 서버(200)에게 전송하도록 통신부(1500)를 제어할 수 있다. 예를 들어, 관리자가 복수이고, 기설정된 제1 등급의 제1 관리자로부터 업데이트된 제1 패킷 전송 규칙과 기설정된 제2 등급의 제2 관리자로부터 업데이트된 제2 패킷 전송 규칙이 충돌하는 경우, 프로세서(1300)는 제1 등급 및 제2 등급을 비교함으로써 패킷 전송 규칙을 업데이트할 수 있다.
통신부(1500)는, 중앙 서버(100)가 제1 호스트 서버(200), 제2 호스트 서버(300) 및 다른 디바이스(미도시)와 통신을 하게 하는 하나 이상의 구성요소를 포함할 수 있다. 다른 디바이스(미도시)는 중앙 서버(100)와 같은 컴퓨팅 장치일 수 있으나, 이에 제한되지 않는다. 예를 들어, 통신부(1500)는, 이동 통신부(미도시)를 포함할 수 있다.
이동 통신부(미도시)는, 이동 통신망 상에서 기지국, 외부의 단말, 제1 호스트 서버(200) 및 제2 호스트 서버(300) 중 적어도 하나와 무선 신호를 송수신한다. 여기에서, 무선 신호는, 음성 호 신호, 화상 통화 호 신호 또는 문자/멀티미디어 메시지 송수신에 따른 다양한 형태의 데이터를 포함할 수 있다.
일 실시예에서, 통신부(1500)는 제1 호스트 서버(200) 및 제2 호스트 서버(300)에게 각각 제1 그룹 생성 정보 및 제2 그룹 생성 정보를 전송할 수 있고, 제1 호스트 서버(200) 및 제2 호스트 서버(300)로부터 알림 메시지를 수신할 수 있다. 또한, 일 실시예에서, 통신부(1500)는, 제1 그룹 생성 정보, 제2 그룹 생성 정보, 및 패킷 전송 규칙을 생성하고 전송하기 위해 필요한 정보를, 다른 디바이스(미도시)와 송수신할 수 있다.
메모리(1700)는, 프로세서(1300)의 처리 및 제어를 위한 프로그램을 저장할 수 있고, 중앙 서버(100)로 입력되거나 중앙 서버(100)로부터 출력되는 데이터를 저장할 수도 있다.
메모리(1700)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(RAM, Random Access Memory) SRAM(Static Random Access Memory), 롬(ROM, Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다.
메모리(1700)에 저장된 프로그램들은 그 기능에 따라 복수 개의 모듈들로 분류할 수 있는데, 예를 들어, UI 모듈(미도시), 터치 스크린 모듈(미도시), 알림 모듈(미도시) 등으로 분류될 수 있다.
UI 모듈(미도시)은, 애플리케이션 별로 중앙 서버(100)와 연동되는 특화된 UI, GUI 등을 제공할 수 있다. 터치 스크린 모듈(미도시)은 사용자의 터치 스크린 상의 터치 제스처를 감지하고, 터치 제스처에 관한 정보를 프로세서(1300)로 전달할 수 있다. 일 실시예에 따른 터치 스크린 모듈(미도시)은 터치 코드를 인식하고 분석할 수 있다. 터치 스크린 모듈(미도시)은 컨트롤러를 포함하는 별도의 하드웨어로 구성될 수도 있다.
알림 모듈(미도시)은 중앙 서버(100)의 이벤트 발생을 알리기 위한 신호를 발생할 수 있다. 중앙 서버(100)에서 발생되는 이벤트의 예로는 호 신호 수신, 메시지 수신, 키 신호 입력 등이 있을 수 있다. 알림 모듈(미도시)은 디스플레이부(미도시)를 통해 비디오 신호 형태로 알림 신호를 출력할 수도 있고, 음향 출력부(미도시)를 통해 오디오 신호 형태로 알림 신호를 출력할 수도 있다.
예를 들어, 메모리(1700)는, 중앙 서버(100)의 적어도 하나의 다른 구성요소에 관계된 명령 또는 데이터를 함께 저장할 수도 있다. 또한, 메모리는 소프트웨어 및/또는 프로그램을 저장할 수도 있다. 프로그램은, 예를 들면, 커널, 미들웨어, 애플리케이션 프로그래밍 인터페이스(API) 및/또는 애플리케이션 프로그램(또는 "애플리케이션") 등을 포함할 수 있다.
일부 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체를 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다.
또한, 본 명세서에서, “부”는 프로세서 또는 회로와 같은 하드웨어 구성(hardware component), 및/또는 프로세서와 같은 하드웨어 구성에 의해 실행되는 소프트웨어 구성(software component)일 수 있다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.

Claims (20)

  1. 적어도 하나의 프로그램이 저장되는 메모리;
    통신부; 및
    상기 적어도 하나의 프로그램을 실행함으로써 복수의 가상 머신(Virtual Machines) 간에 패킷(packet)의 전송을 제어하도록 하는 적어도 하나의 프로세서를 포함하고,
    상기 적어도 하나의 프로그램은,
    복수의 호스트 서버에 의해 제공되는 적어도 하나의 서비스에 관련된 네트워크 서비스 디스크립터(Network Service Descriptor)에 기초하여, 제1 호스트 서버 내의 복수의 가상 머신들 중 적어도 하나를 그룹핑함으로써 복수의 제1 가상 머신 그룹들을 생성하는데 이용되는 제1 그룹 생성 정보를 생성하는 단계;
    상기 통신부를 통해 상기 제1 그룹 생성 정보를 상기 제1 호스트 서버로 전송하는 단계;
    상기 복수의 제1 가상 머신 그룹들 간에 패킷 전송 허용에 관련된 패킷 전송 규칙을 상기 네트워크 서비스 디스크립터에 기초하여 생성하는 단계;
    상기 통신부를 통해 상기 생성된 패킷 전송 규칙을 상기 제1 호스트 서버에게 전송하는 단계;
    상기 제1 호스트 서버에서 상기 전송된 패킷 전송 규칙에 위반되는 패킷 전송 요청이 수신됨에 따라, 상기 통신부를 통해 상기 위반된 패킷 전송 요청이 수신됨을 알리는 알림 메시지를 상기 제1 호스트 서버로부터 수신하고, 상기 알림 메시지는 패킷의 전송 출발지인 소스 가상 머신에 관한 정보, 상기 소스 가상 머신이 포함된 소스 가상 머신 그룹에 관한 정보, 상기 패킷의 전송 목적지인 목적 가상 머신에 관한 정보, 및 상기 목적 가상 머신이 포함된 목적 가상 머신 그룹에 관한 정보를 포함하는 단계; 및
    상기 제1 호스트 서버로부터 수신된 상기 알림 메시지를 출력하는 단계;
    를 실행하는 명령어들을 포함하는, 중앙 서버.
  2. 제 1항에 있어서,
    상기 복수의 제1 가상 머신 그룹이 생성됨에 따라, 각각의 제1 가상 머신 그룹 내의 가상 머신의 식별 정보가 상기 제1 가상 머신 그룹의 식별 정보로 대체되고,
    상기 패킷이 출력된 가상 머신을 나타내는 패킷 레이블이 상기 대체된 제1 가상 머신 그룹의 식별 정보에 매칭되지 않는 경우, 상기 알림 메시지가 상기 제1 호스트 서버로부터 수신되는 것인, 중앙 서버.
  3. 제 2항에 있어서,
    상기 패킷 레이블은 가상 머신에서 패킷들을 출력하는 인터페이스의 이름 및 상기 가상 머신의 IP 주소에 기초하여 결정되는 것인, 중앙 서버.
  4. 제 1항에 있어서, 상기 적어도 하나의 프로그램은,
    상기 네트워크 서비스 디스크립터에 기초하여, 제2 호스트 서버 내의 복수의 가상 머신들 중 적어도 하나를 그룹핑함으로써 복수의 제2 가상 머신 그룹들을 생성하는데 이용되는 제2 그룹 생성 정보를 생성하는 단계; 및
    상기 통신부를 통해 상기 제2 그룹 생성 정보를 상기 제2 호스트 서버에게 전송하는 단계;
    를 실행하는 명령어들을 더 포함하고,
    상기 패킷 전송 규칙을 생성하는 단계는,
    상기 제1 호스트 서버에 의해 생성되는 상기 복수의 제1 가상 머신 그룹들 및 상기 제2 호스트 서버에 의해 생성되는 상기 복수의 제2 가상 머신 그룹들 간에 패킷 전송 허용에 관련된 패킷 전송 규칙을 상기 네트워크 서비스 디스크립터에 기초하여 생성하는 단계를 포함하는, 중앙 서버.
  5. 제 1항에 있어서, 상기 적어도 하나의 프로그램은,
    상기 네트워크 서비스 디스크립터에 기초하여, 상기 제1 호스트 서버 내의 상기 복수의 가상 머신들 중 적어도 하나와 제2 호스트 서버 내의 복수의 가상 머신들 중 적어도 하나를 그룹핑함으로써 제3 가상 머신 그룹을 생성하는데 이용되는 제3 그룹 생성 정보를 생성하는 단계; 및
    상기 통신부를 통해 상기 제3 그룹 생성 정보를 상기 제1 호스트 서버 및 상기 제2 호스트 서버에게 전송하는 단계;
    를 실행하는 명령어들을 더 포함하는, 중앙 서버.
  6. 제 1항에 있어서,
    상기 복수의 제1 가상 머신 그룹들 중 하나의 가상 머신 그룹에 포함된 가상 머신들 간에는 상기 패킷 전송 규칙에 무관하게 패킷 전송이 가능한 것인, 중앙 서버.
  7. 제 1항에 있어서,
    상기 제1 호스트 서버 내의 복수의 가상 머신 중 그룹핑되지 않은 제1 가상 머신은 상기 제1 호스트 서버 내의 제2 가상 머신 및 제2 호스트 서버 내의 제3 가상 머신에게 패킷 전송이 불가능한 것인, 중앙 서버.
  8. 제 1항에 있어서,
    상기 적어도 하나의 프로그램은,
    상기 중앙 서버의 관리자로부터의 입력에 기초하여, 상기 패킷 전송 규칙을 업데이트하는 단계
    를 실행하는 명령어들을 더 포함하는, 중앙 서버.
  9. 제 8항에 있어서,
    상기 패킷 전송 규칙을 업데이트하는 단계는,
    상기 알림 메시지에 대응하는 상기 관리자로부터의 입력에 기초하여, 상기 패킷 전송 규칙에 위반되는 패킷의 전송을 허용하도록 상기 패킷 전송 규칙을 업데이트하는 단계를 포함하는, 중앙 서버.
  10. 제 8항에 있어서,
    상기 적어도 하나의 프로그램은,
    상기 알림 메시지에 대응하는 상기 관리자로부터의 입력에 기초하여, 상기 패킷 전송 규칙에 위반되는 패킷이 출력된 가상 머신을 재설치하도록 하는 요청을 상기 제1 호스트 서버에게 전송하는 단계
    를 실행하는 명령어들을 더 포함하는, 중앙 서버.
  11. 제 8항에 있어서,
    상기 패킷 전송 규칙을 업데이트하는 단계는,
    상기 중앙 서버를 관리하는 복수의 관리자 중 기설정된 제1 등급의 제1 관리자로부터 제1 패킷 전송 규칙을 추가하는 입력을 수신하는 단계;
    상기 복수의 관리자 중 기설정된 제2 등급의 제2 관리자로부터 제2 패킷 전송 규칙을 추가하는 입력을 수신하는 단계; 및
    상기 제1 패킷 전송 규칙과 상기 제2 패킷 전송 규칙이 충돌하는 경우, 상기 제1 등급 및 상기 제2 등급을 비교함으로써, 상기 패킷 전송 규칙을 업데이트하는 단계;
    를 포함하는, 중앙 서버.
  12. 중앙 서버의 프로세서에 의해, 상기 중앙 서버에 연결된 복수의 호스트 서버에 의해 제공되는 적어도 하나의 서비스에 관련된 네트워크 서비스 디스크립터(Network Service Descriptor)에 기초하여, 제1 호스트 서버 내의 복수의 가상 머신들 중 적어도 하나를 그룹핑함으로써 복수의 제1 가상 머신 그룹들을 생성하는데 이용되는 제1 그룹 생성 정보를 생성하는 단계;
    상기 중앙 서버의 통신부를 통해 상기 생성된 제1 그룹 생성 정보를 상기 제1 호스트 서버에게 전송하는 단계;
    상기 프로세서에 의해, 상기 복수의 제1 가상 머신 그룹들 간에 패킷 전송 허용에 관련된 패킷 전송 규칙을 상기 네트워크 서비스 디스크립터에 기초하여 생성하는 단계;
    상기 통신부를 통해 상기 생성된 패킷 전송 규칙을 상기 제1 호스트 서버에게 전송하는 단계;
    상기 제 1 호스트 서버에서 상기 전송된 패킷 전송 규칙에 위반되는 패킷 전송 요청이 수신됨에 따라, 상기 위반된 패킷 전송 요청이 수신됨을 알리는 알림 메시지를 상기 통신부를 통해 상기 제1 호스트 서버로부터 수신하고, 상기 알림 메시지는 패킷의 전송 출발지인 소스 가상 머신에 관한 정보, 상기 소스 가상 머신이 포함된 소스 가상 머신 그룹에 관한 정보, 상기 패킷의 전송 목적지인 목적 가상 머신에 관한 정보, 및 상기 목적 가상 머신이 포함된 목적 가상 머신 그룹에 관한 정보를 포함하는 단계; 및
    상기 프로세서에 의해, 상기 제1 호스트 서버로부터 수신된 상기 알림 메시지를 출력하는 단계;
    를 포함하는, 패킷의 전송을 제어하는 방법.
  13. 제 12항에 있어서,
    상기 복수의 제1 가상 머신 그룹이 생성됨에 따라, 상기 제 1 호스트 서버에 의해 각각의 제1 가상 머신 그룹 내의 가상 머신의 식별 정보가 상기 제1 가상 머신 그룹의 식별 정보로 대체되고,
    상기 제 1 호스트 서버에 의해 상기 패킷이 출력된 가상 머신을 나타내는 패킷 레이블이 상기 대체된 제1 가상 머신 그룹의 식별 정보에 매칭되지 않는 것으로 판단되는 경우, 상기 알림 메시지가 상기 제1 호스트 서버로부터 수신되는 것인, 방법.
  14. 제 13항에 있어서,
    상기 패킷 레이블은 가상 머신에서 패킷들을 출력하는 인터페이스의 이름 및 상기 가상 머신의 IP 주소에 기초하여 결정되는 것인, 방법.
  15. 제 12항에 있어서, 상기 방법은,
    상기 프로세서에 의해 상기 네트워크 서비스 디스크립터에 기초하여, 제2 호스트 서버 내의 복수의 가상 머신 중 적어도 하나를 그룹핑함으로써 복수의 제2 가상 머신 그룹들을 생성하는데 이용되는 제2 그룹 생성 정보를 생성하는 단계; 및
    상기 통신부를 통해 상기 생성된 제2 그룹 생성 정보를 상기 제2 호스트 서버에게 전송하는 단계;
    를 더 포함하고,
    상기 패킷 전송 규칙을 생성하는 단계는,
    상기 제1 호스트 서버에 의해 생성되는 상기 복수의 제1 가상 머신 그룹들 및 상기 제2 호스트 서버에 의해 생성되는 상기 복수의 제2 가상 머신 그룹들 간에 패킷 전송 허용에 관련된 패킷 전송 규칙을 상기 네트워크 서비스 디스크립터에 기초하여 생성하는 단계를 포함하는, 방법.
  16. 제 12항에 있어서,
    상기 복수의 제1 가상 머신 그룹들 중 하나의 가상 머신 그룹에 포함된 가상 머신들 간에는 상기 패킷 전송 규칙에 무관하게 패킷 전송이 가능한 것인, 방법.
  17. 제 12항에 있어서,
    상기 제1 호스트 서버 내의 복수의 가상 머신들 중 그룹핑되지 않은 제1 가상 머신은 상기 제1 호스트 서버 내의 제2 가상 머신 및 제2 호스트 서버 내의 제3 가상 머신에게 패킷 전송이 불가능한 것인, 방법.

  18. 제 12 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  19. 적어도 하나의 프로그램이 저장되는 메모리;
    통신부; 및
    상기 적어도 하나의 프로그램을 실행함으로써 가상 머신들 간에 패킷의 전송을 제어하도록 하는 적어도 하나의 프로세서를 포함하고,
    상기 적어도 하나의 프로그램은,
    호스트 서버 내의 복수의 가상 머신들 중 적어도 하나를 그룹핑함으로써 복수의 제1 가상 머신 그룹들을 생성하는데 이용되는 제1 그룹 생성 정보를 중앙 서버로부터 수신하는 단계;
    상기 제1 그룹 생성 정보에 기초하여, 상기 복수의 제1 가상 머신 그룹들을 생성하는 단계;
    상기 복수의 제1 가상 머신 그룹들이 생성됨에 따라, 각각의 제1 가상 머신 그룹 내의 가상 머신의 식별 정보를 상기 제1 가상 머신 그룹의 식별 정보로 대체하는 단계;
    상기 복수의 제1 가상 머신 그룹들 간에 패킷 전송 허용에 관련된 패킷 전송 규칙을 상기 중앙 서버로부터 수신하는 단계; 및
    상기 패킷 전송 규칙에 위반되는 패킷 전송 요청이 수신됨에 따라, 상기 위반된 패킷 전송 요청이 수신됨을 알리는 알림 메시지를 상기 중앙 서버에게 전송하고, 상기 알림 메시지는 패킷의 전송 출발지인 소스 가상 머신에 관한 정보, 상기 소스 가상 머신이 포함된 소스 가상 머신 그룹에 관한 정보, 상기 패킷의 전송 목적지인 목적 가상 머신에 관한 정보, 및 상기 목적 가상 머신이 포함된 목적 가상 머신 그룹에 관한 정보를 포함하는 단계;
    를 실행하는 명령어들을 포함하는, 호스트 서버.
  20. 제 19항에 있어서, 상기 적어도 하나의 프로그램은,
    상기 패킷이 출력된 가상 머신을 나타내는 패킷 레이블이 상기 대체된 가상 머신 그룹의 식별 정보에 매칭되지 않는 경우, 상기 가상 머신에서 출력되는 패킷들 중 상기 패킷 전송 규칙에 위반되는 패킷의 전송을 차단하는 단계
    를 실행하는 명령어들을 더 포함하는, 호스트 서버.
KR1020170172641A 2017-12-14 2017-12-14 패킷 전송을 제어하는 서버 및 방법 KR102423755B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020170172641A KR102423755B1 (ko) 2017-12-14 2017-12-14 패킷 전송을 제어하는 서버 및 방법
CN201880080866.4A CN111492621B (zh) 2017-12-14 2018-04-12 用于控制分组传输的服务器和方法
PCT/KR2018/004284 WO2019117404A1 (ko) 2017-12-14 2018-04-12 패킷 전송을 제어하는 서버 및 방법
US16/767,299 US11494218B2 (en) 2017-12-14 2018-04-12 Server and method for controlling packet transmission

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170172641A KR102423755B1 (ko) 2017-12-14 2017-12-14 패킷 전송을 제어하는 서버 및 방법

Publications (2)

Publication Number Publication Date
KR20190071530A KR20190071530A (ko) 2019-06-24
KR102423755B1 true KR102423755B1 (ko) 2022-07-21

Family

ID=66819661

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170172641A KR102423755B1 (ko) 2017-12-14 2017-12-14 패킷 전송을 제어하는 서버 및 방법

Country Status (4)

Country Link
US (1) US11494218B2 (ko)
KR (1) KR102423755B1 (ko)
CN (1) CN111492621B (ko)
WO (1) WO2019117404A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102415567B1 (ko) * 2021-11-18 2022-07-05 프라이빗테크놀로지 주식회사 가상화 인스턴스의 네트워크 접속을 제어하기 위한 시스템 및 그에 관한 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101685471B1 (ko) * 2011-04-18 2016-12-20 닛본 덴끼 가부시끼가이샤 단말, 제어 디바이스, 통신 방법, 통신 시스템, 통신 모듈, 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체, 및 정보 처리 디바이스

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9400669B2 (en) 2013-01-16 2016-07-26 International Business Machines Corporation Virtual appliance chaining and management
US9130901B2 (en) * 2013-02-26 2015-09-08 Zentera Systems, Inc. Peripheral firewall system for application protection in cloud computing environments
KR20150032085A (ko) * 2013-09-17 2015-03-25 김정호 대용량 데이터 처리 및 고성능 nfv 시스템 구축 방법
CN104717081B (zh) * 2013-12-13 2018-01-23 杭州华为数字技术有限公司 一种网关功能的实现方法及装置
US20170024237A1 (en) * 2014-03-04 2017-01-26 Nec Corporation Server, control apparatus, and operation method
US10356225B2 (en) 2014-04-03 2019-07-16 Centurylink Intellectual Property Llc System and method for implementing isolated service overlays between provider network service point and customer premises
US9407612B2 (en) 2014-10-31 2016-08-02 Intel Corporation Technologies for secure inter-virtual network function communication
JP6787573B2 (ja) 2015-01-28 2020-11-18 日本電気株式会社 仮想ネットワークファンクション管理装置、システム、ヒーリング方法及びプログラム
US9560078B2 (en) 2015-02-04 2017-01-31 Intel Corporation Technologies for scalable security architecture of virtualized networks
CN105141526B (zh) * 2015-08-19 2019-01-15 北京百度网讯科技有限公司 虚拟网络通信的方法及装置
US9729441B2 (en) 2015-10-09 2017-08-08 Futurewei Technologies, Inc. Service function bundling for service function chains
US10129108B2 (en) 2015-11-13 2018-11-13 Huawei Technologies Co., Ltd. System and methods for network management and orchestration for network slicing
KR102216061B1 (ko) 2015-11-25 2021-02-16 에스케이텔레콤 주식회사 가상 머신 간의 통신 보안을 관리하는 장치 및 방법
US10305858B2 (en) * 2015-12-18 2019-05-28 Nicira, Inc. Datapath processing of service rules with qualifiers defined in terms of dynamic groups
US10182035B2 (en) * 2016-06-29 2019-01-15 Nicira, Inc. Implementing logical network security on a hardware switch
US10102024B2 (en) * 2016-08-09 2018-10-16 Vmware, Inc. System and methods to create virtual machines with affinity rules and services asymmetry
US10178003B2 (en) * 2016-12-15 2019-01-08 Keysight Technologies Singapore (Holdings) Pte Ltd Instance based management and control for VM platforms in virtual processing environments
US11405335B2 (en) * 2017-01-13 2022-08-02 Nicira, Inc. Managing network traffic in virtual switches based on logical port identifiers
US11068314B2 (en) * 2017-03-29 2021-07-20 Juniper Networks, Inc. Micro-level monitoring, visibility and control of shared resources internal to a processor of a host machine for a virtual environment
US11429410B2 (en) * 2017-05-09 2022-08-30 Vmware, Inc. Tag based firewall implementation in software defined networks
US11070521B2 (en) * 2017-05-10 2021-07-20 Vmware, Inc. Application attachment based firewall management
US10666508B2 (en) * 2017-06-09 2020-05-26 Nicira, Inc. Unified software defined networking configuration management over multiple hosting environments

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101685471B1 (ko) * 2011-04-18 2016-12-20 닛본 덴끼 가부시끼가이샤 단말, 제어 디바이스, 통신 방법, 통신 시스템, 통신 모듈, 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체, 및 정보 처리 디바이스

Also Published As

Publication number Publication date
US11494218B2 (en) 2022-11-08
CN111492621B (zh) 2023-04-28
CN111492621A (zh) 2020-08-04
KR20190071530A (ko) 2019-06-24
WO2019117404A1 (ko) 2019-06-20
US20200409737A1 (en) 2020-12-31

Similar Documents

Publication Publication Date Title
US10148511B2 (en) Managing servers based on pairing keys to implement an administrative domain-wide policy
US10521245B2 (en) Method and system for recursive plug-in application recipe generation
TWI631475B (zh) 用於能力監控之系統及方法
US9973472B2 (en) Methods and systems for orchestrating physical and virtual switches to enforce security boundaries
JP6707153B2 (ja) クラウドコンピューティングノードのセキュアな設定
US10084886B2 (en) Hub-and-spoke connection architecture
US20170244596A1 (en) Configuration Information Management Method, Device, Network Element Management System and Storage Medium
US20140344806A1 (en) Context Aware Virtual Desktop
US10447703B2 (en) VNF package operation method and apparatus
US20160191411A1 (en) Cloud service system and method
EP3812899B1 (en) Operation request allocation method, apparatus and device
US10425475B2 (en) Distributed data management
CN109639449B (zh) 虚拟化流镜像策略自动化管理的方法、设备及介质
US11546287B2 (en) Multi-device workspace notifications
KR102423755B1 (ko) 패킷 전송을 제어하는 서버 및 방법
US11381665B2 (en) Tracking client sessions in publish and subscribe systems using a shared repository
KR101712609B1 (ko) 초기 정보를 제공하는 클라우드 서비스 방법 및 시스템
US11740807B2 (en) Method and system for mapping data protection policies to data clusters
US11853560B2 (en) Conditional role decision based on source environments
US11652877B2 (en) Method and system for establishing trust between nodes in a network based on recommendations
US20240095099A1 (en) Decentralized framework for providing application programming interface gateways
US20230342125A1 (en) Enforcement of environmental conditions for cloud applications
KR102222006B1 (ko) 홈허브 단말의 암호 관리 방법, 그 방법을 수행하는 장치 및 컴퓨터 프로그램
WO2022206606A1 (zh) Led显示设备的控制方法、装置、存储介质以及电子设备
KR20150120220A (ko) 가상화 기반의 서비스 배치 및 제어 장치 및 방법

Legal Events

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