KR20150088462A - 클라우드 환경에서 네트워크 장치의 연동 방법 및 장치 - Google Patents

클라우드 환경에서 네트워크 장치의 연동 방법 및 장치 Download PDF

Info

Publication number
KR20150088462A
KR20150088462A KR1020140008787A KR20140008787A KR20150088462A KR 20150088462 A KR20150088462 A KR 20150088462A KR 1020140008787 A KR1020140008787 A KR 1020140008787A KR 20140008787 A KR20140008787 A KR 20140008787A KR 20150088462 A KR20150088462 A KR 20150088462A
Authority
KR
South Korea
Prior art keywords
network device
command
operating system
plug
cloud
Prior art date
Application number
KR1020140008787A
Other languages
English (en)
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 KR1020140008787A priority Critical patent/KR20150088462A/ko
Priority to US14/603,974 priority patent/US20150212834A1/en
Publication of KR20150088462A publication Critical patent/KR20150088462A/ko

Links

Images

Classifications

    • 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/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • 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/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • G06F9/44526Plug-ins; Add-ons
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • 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
    • 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

Abstract

클라우드 환경에서 네트워크 장치의 연동 방법이 개시된다. 클라우드 운영체제를 포함하는 컴퓨팅 장치에서 수행되는 플러그인 기반 네트워크 장치의 연동 방법은 플러그인에 의해, 컴퓨팅 장치와 연결된 네트워크(network) 장치들 중 플러그인의 명령어를 지원하지 않는 이종 네트워크 장치에 대한 제어 정보를 획득하고, 클라우드 운영체제로부터 명령을 수신하고, 획득된 제어 정보를 기반으로 수신된 명령을 추가 네트워크 장치를 위한 명령으로 변환하고 변환된 명령을 추가 네트워크 장치에게 제공할 수 있다. 따라서, 클라우드 운영체제는 플러그인을 통해 컴퓨팅 장치와 여러 개의 네트워크 장치를 동시에 연동할 수 있다.

Description

클라우드 환경에서 네트워크 장치의 연동 방법 및 장치{METHOD FOR LINKING NETWORK DEVICE IN CLOUD ENVIRONMENT AND APPARATUS THEREFOR}
본 발명은 클라우드 서버와 네트워크 장치들을 연동하는 기술에 관한 것으로, 더욱 상세하게는 클라우드 네트워크를 구성하는 서버와 가상 네트워크 장치를 포함한 다수의 네트워크 장치들을 동시에 연동하는 방법 및 장치에 관한 것이다.
일반적으로 클라우드 컴퓨팅(cloud computing)이란 네트워크(network)를 통해 외부의 물리적인 장비를 사용하는 기술로, CPU(Central Process Unit), 메모리(memory), 스토리지(storage), 네트워크 등의 컴퓨팅 자원의 활용하고 관리하는 기술이다. 외부의 컴퓨팅 자원은 물리적 하드웨어(hardware)의 자원을 할당 받아 만들어지는 가상의 컴퓨터 자원인 가상 머신(machine)의 형태로 이용된다.
이동 통신 산업, 특히 스마트폰(smart phone) 및 태블릿 PC(tablet Personal Computer) 시장의 급격한 성장에 따라서 외부 네트워크에서 접할 수 있는 데이터(data)의 양이 기하급수적으로 증가하였다. 이러한 환경에서 주어진 정보를 제한된 컴퓨팅 자원만으로 처리하기에는 한계가 있게 되었고, 방대한 데이터의 처리를 위하여 클라우드 컴퓨팅의 적용 영역이 넓어지게 되었다.
클라우드 컴퓨팅을 도입하면 기업 또는 개인은 컴퓨터 시스템을 유지·보수·관리하기 위하여 들어가는 비용과 서버의 구매 및 설치 비용, 업데이트(update) 비용, 소프트웨어(software) 구매 비용 등 엄청난 비용과 시간·인력을 줄일 수 있고, 에너지 절감에도 기여할 수 있다.
클라우드 컴퓨팅이 제공하는 다양한 형태의 서비스(이하, '클라우드 서비스'라 지칭함)는 크게 서비스(SaaS, Software as a Service), 플랫폼(PaaS, Platform as a Service), 자원(IaaS, Infrastructure as a Service)으로 분류된다. SaaS는 어플리케이션의 기능을 인터넷을 통해 이용할 수 있는 서비스를 말한다. PaaS는 어플리케이션을 호스팅하는 플랫폼(platform)을 인터넷을 통해 이용할 수 있는 서비스이며, 클라우드 서비스 사업자는 서비스 구성 컴포넌트, 호환성 제공 서비스 등을 지원한다. IaaS는 어플리케이션을 호스팅(hosting)하는 자원을 인터넷을 통해 이용할 수 있는 서비스이며, 사용자에게 하드웨어 자원을 빌려주는 서비스를 말한다.
클라우드 서비스를 제공하기 운영체제를 클라우드 운영체제라고 하며, 클라우드 운영체제는 일반적인 운영체제와 마찬가지로 컴퓨팅 자원을 효율적으로 관리하고 운영함으로써, 사용자에게 최대의 편리성을 제공하기 위한 사용자와 컴퓨터간의 인터페이스 역할을 하며, 특히 가상의 컴퓨팅 자원(또는 가상 머신)을 사용하는 것에 특징이 있다.
클라우드 서비스의 증가에 따라 급격히 네트워크 영역이 확장되고 네트워크 트래픽이 증가되었는데, 이러한 네트워크 환경의 변화에 대응하기 위해서 클라우드 네트워크의 효율적인 사용이 필요하게 되었다.
기존의 클라우드 운영체제가 제공하는 클라우드 네트워크에서는 가상 머신간의 통신을 위한 가상 스위치만을 사용하였으나, 클라우드 네트워크의 효율적인 사용을 위해서는 클라우드 운영체제와 가상 스위치와 연동하는 것에 그치지 않고 L2/L3 스위치(switch), 라우터(router), 오픈 플로우 컨트롤러(Open Flow Controller) 등 물리적인 하드웨어 네트워크 장치와의 연동 필요성이 대두되었다. 네트워크 장치마다 서로 정의하고 있는 명령들이 다르기 때문에 네트워크 장치에 의존적인 연동 방법이 필요하였다. 이러한 연동 기능을 구현하는 방법 중 하나로 클라우드 운영체제는 각각의 네트워크 장치를 위한 연동 기능을 플러그인(plug-in)으로 내부에 포함하여 클라우드 서버에서 전달되어 오는 네트워킹 API(Application Program Interface)를 네트워크 장치를 위한 명령으로 변환하는 방법을 사용하였다.
상술한 바와 같은 기존의 플러그인을 통한 클라우드 환경에서 네트워크 장치의 연동 방법은 네트워킹 API를 통해 연동할 네트워크 장치를 구분하여 명령을 내릴 수 없기 때문에 여러 개의 플러그인을 동시에 사용할 수 없고, 동시에 하나의 플러그인만 사용이 가능하다는 문제점이 있다.
상기한 바와 같은 문제점을 극복하기 위한 본 발명의 목적은 클라우드 운영체제와 여러 개의 네트워크 장치를 동시에 연동하는 방법을 제공하는 것이다.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른, 클라우드 운영체제를 포함한 컴퓨팅 장치에서 수행되는 플러그인 기반의 연동 방법은, 상기 컴퓨팅 장치와 연결된 네트워크 장치들 중 상기 플러그인의 명령어를 지원하지 않는 이종 네트워크 장치에 대한 제어 정보를 획득하는 단계 및 상기 제어 정보를 기반으로 상기 이종 네트워크 장치에 특화된 명령어를 생성하는 단계를 포함한다.
여기서, 상기 제어 정보는 상기 이종 네트워크 장치가 지원하는 명령어에 대한 정보를 포함할 수 있다.
여기서, 상기 제어 정보를 획득하는 단계는, 상기 이종 네트워크 장치의 장치 드라이버로부터 상기 제어 정보를 획득할 수 있다.
여기서, 상기 연동 방법은, 상기 명령어를 생성한 후, 상기 이종 네트워크 장치와 클라우드 운영체제의 연동 관계 정보를 저장하는 단계를 더 포함할 수 있다.
여기서, 상기 연동 방법은, 상기 명령어를 생성한 후, 클라우드 운영체제로부터 명령어를 수신하는 경우, 상기 생성된 명령어 중 상기 수신된 명령어에 대응되는 명령어를 상기 이종 네트워크 장치에게 제공하는 단계를 더 포함할 수 있다.
여기서, 상기 명령어를 제공하는 단계는, 상기 이종 네트워크 장치가 지원하는 프로토콜을 통해 명령어를 제공할 수 있다.
여기서, 상기 명령어를 제공하는 단계는, 프로토콜을 통해 상기 이종 네트워크 장치에 포함된 에이전트에게 명령어를 제공할 수 있다.
여기서, 상기 이종 네트워크 장치는 물리 네트워크 장치일 수 있다.
상기 목적을 달성하기 위한 본 발명의 다른 실시예에 따른, 클라우드 운영체제를 포함한 컴퓨팅 장치에서 수행되는 연동 방법은, 상기 컴퓨팅 장치와 연결된 적어도 하나의 네트워크 장치 각각에 대한 제어 정보를 획득하는 단계 및 상기 제어 정보를 기반으로 각 네트워크 장치에 특화된 확장 API를 생성하는 단계를 포함한다.
여기서, 상기 제어 정보는 상기 각 네트워크 장치가 지원하는 명령어에 대한 정보를 포함할 수 있다.
여기서, 상기 제어 정보를 획득하는 단계는, 상기 추가 네트워크 장치의 장치 드라이버로부터 상기 제어 정보를 획득할 수 있다.
여기서, 상기 확장 API를 생성하는 단계는, 상기 확장 API를 구성하는 확장 명령어를 생성할 수 있다.
여기서, 상기 확장 명령어는 상기 네트워크 장치를 지시하는 정보를 반영할 수 있다.
여기서, 상기 연동 방법은, 상기 확장 API를 생성한 후, 네트워크 장치에게 제공할 명령어가 있는 경우, 상기 명령어를 제공할 네트워크 장치를 특정하고, 특정된 네트워크 장치에 특화된 확장 API로 상기 명령어를 제공하는 단계를 더 포함할 수 있다.
여기서, 상기 적어도 하나의 네트워크 장치는 물리 네트워크 장치를 포함할 수 있다.
상기 목적을 달성하기 위한 본 발명의 또 다른 실시예에 따른, 클라우드 운영체제를 포함한 컴퓨팅 장치에서 수행되는 복수의 플러그인 기반의 연동 방법은, 네트워크 장치에 명령어를 제공하는 상기 플러그인 각각에 대한 특성 정보를 획득하는 단계 및 상기 획득된 특성 정보를 기반으로 상기 플러그인 각각에 특화된 확장 API를 생성하는 단계를 포함한다.
여기서, 상기 확장 API를 생성하는 단계는, 상기 확장 API를 구성하는 확장 명령어를 생성할 수 있다.
여기서, 상기 확장 명령어는 상기 플러그인을 지시하는 정보를 반영할 수 있다.
여기서, 상기 연동 방법은, 상기 확장 API를 생성한 후, 네트워크 장치에게 제공할 명령어가 있는 경우, 상기 명령어를 제공할 플러그인을 특정하고, 특정된 플러그인에 특화된 확장 API로 상기 명령어를 제공하는 단계를 더 포함할 수 있다.
상술한 바와 같은 클라우드 환경에서 네트워크 장치의 연동 방법 및 장치에 따르면, 하나의 네트워크 장치에 대해 플러그인을 사용하고, 나머지 네트워크 장치들은 장치 드라이버를 사용함으로써, 클라우드 운영체제는 클라우드 서버와 복수의 가상 및 물리 네트워크 장치를 동시에 연동할 수 있다.
특히, 클라우드 운영체제는 나머지 네트워크 장치들의 연동에 장치 드라이버를 이용함으로써, 기존 네트워크 장치를 변경하지 않을 수 있다.
또한, 클라우드 운영체제는 확장 API를 통해 네트워크 장치들을 연동함으로써, 네트워크 연동 구조의 활용범위를 확장할 수 있다.
도 1은 본 클라우드 운영체제의 구성을 나타내는 블록도이다.
도 2는 클라우드 운영체제와 네트워크 장치의 연동 구조의 일 실시예를 나타내는 블록도이다.
도 3은 클라우드 운영체제와 네트워크 장치의 연동 구조의 다른 실시예를 나타내는 블록도이다.
도 4는 본 발명의 일 실시예에 따른 클라우드 운영체제와 네트워크 장치의 연동 구조를 나타내는 블록도이다.
도 5는 본 발명의 다른 실시예에 따른 클라우드 운영체제와 네트워크 장치의 연동 구조를 나타내는 블록도이다.
도 6은 본 발명의 다른 실시예에 따른 클라우드 운영체제와 네트워크 장치의 연동 구조를 나타내는 블록도이다.
도 7은 본 발명의 일 실시예에 따른 클라우드 운영체제와 네트워크 장치의 연동 과정을 나타내는 흐름도이다.
도 8은 본 발명의 다른 실실예에 따른 클라우드 운영체제와 네트워크 장치의 연동 과정을 나타내는 흐름도이다.
도 9는 본 발명의 다른 실시예에 따른 클라우드 운영체제와 네트워크 장치의 연동 과정을 나타내는 흐름도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다.
그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. 본 출원에서, "연결하다"의 용어는 명세서상에 기재된 요소의 물리적인 연결만을 의미하는 것이 아니라, 적기적인 연결, 네트워크적인 연결 등을 포함하는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
장치 드라이버(device driver)란 중앙처리장치, 입력장치, 출력장치 등의 하드웨어와 운영체제나 응용프로그램과 같은 소프트웨어의 연결을 위해 운영체제에 포함되는 해당 하드웨어의 정보로서, 하드웨어의 구동 방식, 특성 및 기능 등의 정보로 구성된다. 같은 역할을 하는 하드웨어라도 제조사에 따라, 혹은 세부 모델에 따라 구동 방식 및 세부 기능에 차이가 나고, 상기 하드웨어를 제어하기 위한 정보도 다양하기 때문에 상기 정보를 응용프로그램 보다는 운영체제에 내장시켜 하드웨어를 제어하고 있다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 본 클라우드 운영체제의 구성을 나타내는 블록도이다.
도 1을 참조하면, 클라우드 운영체제(100)는 가상 머신을 제어하는 컴퓨팅(computing) 부분(110), 가상 스위치를 포함하여 클라우드 네트워크를 제어하는 네트워킹(networking) 부분(120) 및 클라우드 컴퓨팅에 필요한 데이터를 저장하는 스토리지(storage) 부분(130)으로 나누어진다. 클라우드 서비스는 특성에 따라 몇 가지 분야로 분류할 수는 있지만, 그 범위가 넓기 때문에 서비스를 제공하기 위한 기능을 특정할 수는 없고, 상기 서비스를 제공에 필요한 클라우드 운영체제(100)의 기능도 특정할 수 없다. 따라서, 클라우드 운영체제가 제공할 수 있는 클라우드 서비스는 플러그인(plug-in)을 통해 확장될 수 있다. 예를 들면, 클라우드 운영체제(100)가 처음 제작될 때, 클라우드 서버의 물리 네트워크 장치를 사용하기 위한 가상 랜카드(LAN card)와 같은 네트워크 어댑터(adapter)만을 제어할 수 있는 기능은 포함하고, 클라우드 네트워크 구성을 위한 가상 스위치 및 라우터와 같은 가상 네트워크 장치를 제어할 수 있는 기능은 포함하지 않도록 설계될 수 있다. 이때, 클라우드 운영체제(100)은 플러그인 방법을 통해 상기 가상 네트워크 장치를 제어할 수 있는 기능을 추가할 수 있고, 추가된 기능로 네트워크 장치를 제어하여 클라우드 네트워크를 확장할 수도 있다.
플러그인은 원래 자체적 실행능력이 없는 프로그램을 다른 프로그램에 종속시켜 동작하게 하는 방법을 의미하지만, 일반적으로 방법뿐만 아니라 그 프로그램 자체를 의미하기도 한다. 이하에서는 클라우드 운영체제(100)에 종속하여 동작하는 프로그램을 '플러그인'으로 지칭한다.
도 2는 네트워크 장치의 연동 구조를 나타내는 블록도로서, 복수의 네트워크 장치가 각각 플러그인을 통하여 클라우드 운영체제와 연동된 구조를 나타낸다.
도 2를 참조하면, 클라우드 서버에는 복수의 네트워크 장치(210)가 연결될 수 있다. 이때, 클라우드 서버와 네트워크 장치(210)가 물리적으로 단순히 연결되는 것이 아니라 논리적으로 연동되기 위해서는 클라우드 서버를 제어하고 있는 클라우드 운영체제(100)가 네트워크 장치(210)를 제어할 수 있어야 한다. 따라서, 이하에서는 설명의 편의를 위해 클라우드 서버 대신 클라우드 운영체제(100)를 네트워크 장치(210)와 연동하는 것으로 설명한다.
도 1에서 설병한 바와 같이, 클라우드 운영체제(100)는 플러그인(205)을 통해 네트워크 장치(210)를 제어할 수 있다. 이때, 클라우드 운영체제(100)가 제어하는 네트워크 장치(210)가 복수인 경우, 네트워크 장치(210)는 각각 자신에게 특화된 플러그인(205)을 통해 상기 클라우드 운영체제(100)와 제어(또는 연동)될 수 있다. 여기서, 상기 추가된 네트워크(210) 장치는 가상 스위치(211)와 같은 가상 네트워크 장치(211)와 L2/L3 스위치(212), 라우터(213), 오픈 플로우 컨트롤러(Open Flow Controller)(214) 등의 다양한 물리 네트워크 장치를 포함할 수 있다.
클라우드 운영체제(100)는 적어도 하나의 클라우드 서버(200)에서 동작하며, 클라우드 운영체제(100)가 복수의 클라우드 서버(200)에서 동작하는 경우, 상기 클라우드 서버(200)는 각각 네트워크 어댑터를 포함할 수 있다. 클라우드 서버(200)는 네트워크 어댑터를 통해 다른 네트워크 장치와 연결되어 클라우드 서버(200) 서로간의 네트워크를 구성한다. 따라서, 복수의 네트워크 장치는 하나의 시스템(system)처럼 작동할 수 있다. 여기서, 클라우드 운영체제(100)는 네트워크 어댑터 및 물리 네트워크 장치뿐만 아니라 가상 네트워크 어댑터 및 가상 네트워크 장치를 포함할 수 있다. 따라서, 클라우드 서버(200)로 인한 물리적인 제한 없이 네트워크를 확장할 수 있다.
클라우드 운영체제(100)는 서브루틴 또는 함수의 집합으로 구성되는 API를 통해 네트워크 장치를 제어할 수 있다. API는 운영체제의 동작을 위한 범용적 기능을 위한 명령의 집합이기 때문에, 운영체제가 네트워크 장치를 제어하기 위해서는 API를 네트워크 장치가 이해할 수 있는 명령으로 변환할 필요가 있다. 클라우드 운영체제(100)은 플러그인(205)을 통해 API에 정의된 명령(또는 함수)을 네트워크 장치에 알맞게 조합하거나 변환할 수 있다.
여기서, 복수의 네트워크 장치(210)가 각각 플러그인(205)을 통해 클라우드 운영체제(100)와 연동된 경우, 클라우드 운영체제(100)는 연동된 네트워크 장치(210)를 제어하기 플러그인(205)에 명령을 제공할 수 있다. 이때, 명령은 범용적이므로, 각 플러그인은 클라우드 운영체제(100)로부터 동일한 명령을 수신하고, 수신된 명령을 자신에게 특정된 네트워크 장치에게 전달할 수 있다. 따라서, 모든 네트워크 장치에서 같은 동작이 각각 실행되는 문제가 발생할 수 있다. 상기와 같은 동작의 중복을 막기 위해서는 동시에 하나의 플러그인만 동작할 필요가 있다.
도 3은 네트워크 장치의 연동 구조를 나타내는 블록도로서, 네트워크 장치가 플러그인을 통해 클라우드 운영체제와 연동되는 구조를 나타낸다.
도 3을 참조하면, 플러그인(300)은 데이터베이스(database)(310)를 포함하고, 네트워크 장치(320)는 에이전트(agent)(330)를 포함할 수 있다. 데이터베이스(310)는 연동된 네트워크 장치(320)의 설치 및 제거에 관한 정보를 저장할 수 있다.
에이전트(330)는 플러그인(300)을 통해 전달되는 명령을 처리할 수 있다.
클라우드 운영체제(100)는 에이전트(330)를 통해 네트워크 장치를 관리 및 감시할 수 있다. 예를 들면, 클라우드 운영체제(100)가 SNMP(Simple Network Management Protocol)를 이용하여 네트워크 장치(320)를 관리 및 감시하는 경우, 네트워크 장치(320)는 SNMP 에이전트를 포함할 수 있고, 상기 SNMP 에이전트는 네트워크 장치(320)의 정보를 운영체제에 제공할 수 있다.
도 4는 본 발명의 일 실시예에 따른 네트워크 장치의 연동 구조를 나타내는 블록도로서, 하나의 플러그인을 사용하여 클라우드 운영체제에 복수의 네트워크 장치가 연동되는 구조를 나타낸다.
도 4를 참조하면, 복수의 가상 및 물리 네트워크 장치와 클라우드 운영체제(100)의 연동 구조는 하나의 플러그인(400)과 플러그인(400)에 연결되는 복수의 장치 드라이버(410)를 포함할 수 있다.
클라우드 운영체제(100)는 플러그인(400)을 통해 가상 네트워크 장치(210)와 연동될 수 있고, 플러그인(400) 및 장치 드라이버(410)를 통해 물리 네트워크 장치(220, 230, 240)와 연동될 수 있다. 이때, 각 네트워크 장치는 에이전트를 통해, 연동된 클라우드 운영체제(100)로부터 제공된 명령을 이해할 수 있다.
도 2에 도시한 바와 같이 클라우드 운영체제(100)는 네트워크 장치와 연동되기 위해 플러그인이 필요하다. 하지만, 클라우드 운영체제(100)가 플러그인을 구분하여 API로 명령을 내릴 수 없기 때문에 클라우드 운영체제(100)는 하나의 플러그인만(400)을 사용하여 복수의 네트워크 장치와 연동될 필요가 있다. 상기 하나의 플러그인을 '대표 플러그인'으로 지칭한다.
대표 플러그인(400)은 클라우드 운영체제(100)로부터 제공받은 명령을 네트워크 장치(210)가 지원하는(또는 이해할 수 있는) 명령으로 변환하여 상기 네트워크 장치에게 제공한다.
기존의 플러그인은 특정 네트워크 장치를 지원하지만, 대표 플러그인(400)은 특정되지 않은 다양한 네트워크 장치를 지원할 수 있다.
여기서, 네트워크 장치(210) 각각은 하드웨어적 또는 소프트웨어적 특징에 따라 이해할 수 있는 명령이 다를 수 있다. 따라서, 대표 플러그인(400)은 특정 네트워크 장치를 제어하기 위한 정보(이하, '제어 정보'라 지칭함)가 필요하다. 제어 정보는 상기 특정 네트워크 장치가 이해할 수 있는 명령에 대한 정보를 포함할 수 있다.
대표 플러그인(400)은 다양한 네트워크 장치를 지원하므로, 클라우드 운영체제(100)에 연결되는 모든 네트워크 장치의 제어 정보가 필요하다. 그런데, 대표 플러그인(400)은 여러 가지 실질적인 제약으로 인해 플러그인의 제작 시에 존재하는 모든 네트워크 장치의 제어 정보를 포함할 수 없고, 앞으로 연결될 네트워크 장치를 예측할 수도 없다. 따라서, 대표 플러그인(400)은 네트워크 장치 제공자나 클라우드 운영체제(100) 관리자 등으로부터 연결된 네트워크 장치의 제어 정보를 제공받아 클라우드 운영체제(100)와 네트워크 장치를 연동할 수 있다. 제어 정보는 장치 드라이버에 포함될 수 있다.
대표 플러그인(400)은 연결된 네트워크 장치(210)의 특성에 따라 명령을 전달하므로 도 2에 도시된 연동 구조에서 발생하는 명령의 중복 전달 문제는 발생하지 않는다.
물리 네트워크 장치들(211, 212, 213)은 각각 장치 드라이버(411, 412, 413)를 통해 대표 플러그인(400)에 연결되어 클라우드 운영체제(100)와 연동되므로, 대표 플러그인(400)에서 지원하지 않는 기능을 구현할 수 는 없다. 예를 들면, 대표 플러그인(400)이 스위치 기능만을 지원하는 경우, 상기 대표 플러그인(400)에 연결된 라우터는 동일한 네트워크(또는 동일한 서브넷 마스크를 가지는 네트워크)에 속한 단말간의 통신만을 지원할 뿐, 상이한 네트워크에 속한 단말간의 통신은 지원할 수 없다. 다른 예를 들면, 대표 플러그인(400)이 네트워크 장치의 컨트롤러 기능을 지원하지 않는 경우, 상기 대표 플러그인(400)에 연결된 오픈 플로우 컨트롤러는 그 기능을 수행하지 못할 수 있다. 따라서, 클라우드 운영체제(100)는 새로운 기능을 지원하는 네트워크 장치를 제어하기 위해서는 새로운 플러그인이 필요하다. 복수의 플러그인을 사용한 연동 방법은 이하 도 6에서 설명한다.
여기서, 클라우드 운영체제(100)는 네트워크 장치(210)에게 미리 약속된 '프로토콜'이라는 통신규약을 통해 명령을 전달할 수 있다.
네트워크 장치(210)는 에이전트(420)를 사용하여 프로토콜을 통해 전달된 명령을 처리할 수 있다. 이때, 물리 네트워크 장치(211, 212, 213)는 기존의 프로토콜을 그대로 사용하기 때문에, 기존의 에이전트(421, 422, 423)를 그대로 사용할 수 있다. 예를 들면, 클라우드 운영체제(100)가 대표 플러그인(400)과 장치 드라이버(410)를 통해 L2/L3 스위치와 연동되며, 상기 연동을 위한 프로토콜이 SNMP라고 가정하면, 상기 L2/L3 스위치에서는 클라우드 운영체제(100)와의 연동을 위해서 수정하는 부분이 없이 기존의 SNMP 에이전트를 그대로 사용하는 것이 가능하다.
도 5는 본 발명의 일 실시예에 따른 네트워크 장치의 연동 구조를 나타내는 블록도로서, 확장 API를 사용하여 클라우드 운영체제에 복수의 네트워크 장치를 연동하는 구조를 나타낸다.
도 5를 참조하면, 복수의 네트워크 장치(210)와 클라우드 운영체제(100)의 연동 구조에서 클라우드 운영체제는 복수의 네트워크(210) 장치 각각에 특화된 확장 API(500)를 포함할 수 있다. 또한, 각 네트워크 장치는 확장 API(500)를 통한 클라우드 운영체제(100)와의 연동을 위해 에이전트(420)를 포함할 수 있다.
도 2에서 설명한 바와 같이, API는 여러 종류의 네트워크 장치를 고려하여 범용적인 형태로 구현된 명령이므로, 네트워크 장치(210)는 클라우드 운영체제로부터 제공된 API의 명령을 직접 이해하지 못할 수 있다. 하지만, 클라우드 운영체제(100)가 네트워크 장치의 제어 정보를 이용하여 특정 네트워크 장치가 이해할 수 있는 확장 API(500)를 정의하고 확장 명령을 제공하면, 네트워크 장치는 제공된 명령을 직접 이해할 수 있다. 예를 들면, 클라우드 운영체제(100)에 새로운 네트워크 장치를 추가하기 위한 기존의 API에서 명령이 create_network 라면, 클라우드 운영체제(100)는 virtual_switch_create_network, l2l3_create_network, router_create_network, openflow_create_network와 같은 형식으로 확장 명령을 제공할 수 있다.
확장 API(500)는 플러그인의 기능을 클라우드 운영체제(100)에서 직접 제공하는 것 뿐이므로, 확장 API(500)을 사용한 연동 방법은 플러그인을 사용한 연동 방법과 마찬가지로 기존의 프로토콜과 에이전트(420)를 그대로 사용할 수 있다.
확장 API(500)는 클라우드 운영체제(100)에 포함되는 것이므로, 상기 클라우드 운영체제(100)의 제작시에 존재하는 가상 및 물리 네트워크 장치를 고려하여 정의될 수 있다. 또한, 클라우드 운영체제(100)의 제작시에 고려할 수 없었던 네트워크 장치에 대해서는 클라우드 운영체제(100)의 기능을 수정하는 방법으로 확장 API(500)를 추가할 수 있다. 예를 들면, 클라우드 운영체제(100)는 설치된 플러그인 또는 장치 드라이버에 포함된 네트워크 장치의 제어 정보를 이용하여 스스로 확장 API(500)를 생성할 수 있다. 또한, 클라우드 운영체제(100)의 버전 업그레이드(version upgrade)나 확장팩, 서비스팩 등의 다양한 방법으로 확장 API를 추가할 수 있다. 또한, 미리 정해진 다양한 확장 API(500)를 표준화함으로써, 네트워크 장치에 따라 확장 API(500)를 추가하는 것이 아니라, 확장 API(500)를 사용할 수 있는 네트워크 장치를 제작하는 방법도 가능하다.
확장 API(500)는 기존 API와 달리 네트워크 장치를 구분할 수 있으므로, 확장 API를 사용하여 플러그인을 통해 클라우드 운영체제(100)와 네트워크 장치를 연동하더라도, 복수의 네트워크 장치가 동일한 명령을 전달받아 동일한 동작을 수행하는 문제는 발생하지 않는다.
도 6은 본 발명의 일 실시예에 따른 클라우드 운영체제와 네트워크 장치의 연동 구조를 나타내는 블록도로서, 확장 API와 장치 드라이버를 사용하여 복수의 네트워크 장치를 연동하는 구조를 나타낸다.
도 6을 참조하면, 도 4에서 도시한 구조와 도 5에서 도시한 구조를 혼합하여 사용함으로써, 클라우드 운영체제(100)와 네트워크 장치의 연동 구조의 활용 범위를 확장할 수 있다.
도 4에 도시된 연동 구조에서 클라우드 운영체제(100)는 하나의 플러그인을 통해 복수의 네트워크 장치와 연동될 수는 있지만, 하나의 플러그인만을 사용한다는 점으로 인해, 수행할 수 있는 기능에 제약이 있을 수 있다. 따라서, 클라우드 운영체제(100)는 도 5에 도시된 네트워크 장치에 대한 확장 API를 사용한 연동 구조와 마찬가지로, 복수의 플러그인(600) 각각에 대한 확장 API(610)를 생성하여 네트워크 장치에게 명령을 전달할 수 있다. 또한, 각 플러그인(600)은 도 4에 도시된 네트워크 장치의 장치 드라이버를 사용한 연동 구조를 이용하여 복수의 네트워크 장치(210)를 제어할 수 있다. 따라서, 클라우드 운영체제(100)는 네트워크 장치의 종류나 수에 제약되지 않고, 다양한 기능을 지원하는 네트워크 장치를 제어할 수 있다.
도 7은 본 발명의 일 실시예에 따른 클라우드 운영체제와 네트워크 장치의 연동 과정를 나타내는 순서도이다.
컴퓨팅 장치에서 동작하는 클라우드 운영체제와 상기 운영체제에 설치되어 적어도 하나의 네트워크 장치의 제어하는 플러그인을 가정한다.
도 7을 참조하면, 먼저 플러그인은 자신이 제공하는 명령과 상이한 명령을 지원하는 네트워크 장치가 클라우드 운영체제에 연결된 것을 감지하면, 연결된 네트워크 장치의 제어 정보를 획득할 수 있다(S700).
여기서, 플러그인은 획득된 네트워크 장치의 제어 정보 및 설치 정보를 데이터베이스에 저장할 수 있다. 따라서, 플러그인은 한번 정보를 획득한 네트워크 장치에 대해서는 상기 네트워크 장치가 클라우드 운영체제로부터 제거되었다가 다시 설치되는 경우, 제어 정보를 획득할 필요가 없다.
다음으로, 플러그인은 클라우드 운영체제로부터 명령을 수신할 수 있다(S710).
다음으로, 플러그인은 제어 정보를 기반으로 수신된 명령을 네트워크 장치를 위한 명령으로 변환할 수 있다(S720).
다음으로, 플러그인은 변환된 명령을 네트워크 장치에 제공할 수 있다(S730).
여기서, 변환된 명령은 네트워크 특정 네트워크 장치를 위한 것이므로 플러그인은 네트워크 장치를 구분하여 명령을 제공할 수 있다.
도 8은 본 발명의 일 실시예에 따른 클라우드 운영체제와 네트워크 장치의 연동 과정을 나타내는 순서도이다.
도 8을 참조하면, 먼저 컴퓨팅 장치에서 동작하는 클라우드 운영체제는 자신이 제공하는 명령과 상이한 명령을 지원하는 네트워크 장치가 연결된 것을 감지하면, 감지된 네트워크 장치의 제어 정보를 획득할 수 있다(S800).
여기서, 클라우드 운영체제는 장치 드라이버를 통해 제어 정보를 획득할 수 있다.
여기서, 클라우드 운영체제는 획득된 네트워크 장치의 제어 정보 및 설치 정보를 데이터베이스에 저장할 수 있다. 따라서, 플러그인은 한번 정보를 획득한 네트워크 장치에 대해서는 상기 네트워크 장치가 클라우드 운영체제로부터 제거되었다가 다시 설치되는 경우, 제어 정보를 획득할 필요가 없다.
다음으로, 클라우드 운영체제는 획득된 제어 정보를 기반으로 특정 네트워크 장치를 위한 확장 명령을 생성할 수 있다(S810). 클라우드 운영체제가 제공할 수 있는 명령은 클라우드 운영체제가 제작될 때 미리 정의된 API에 포함되므로, 클라우드 운영체제는 확장 명령을 포함하는 확장 API를 생성할 수 있다.
다음으로, 클라우드 운영체제는 생성된 확장 명령을 네트워크 장치에게 제공할 수 있다(S820).
여기서, 생성된 확장 명령은 하나의 네트워크 장치에게 특화된 명령이므로, 클라우드 운영체제는 동일한 명령을 자신에게 연결된 모든 네트워크 장치에 제공하지 않고, 특정 네트워크 장치에만 제공할 수 있다.
도 9는 본 발명의 일 실시예에 따른 네트워크 장치의 연동 과정을 나타내는 순서도이다.
도 9를 참조하면, 먼저 컴퓨팅장치에서 동작하는 클라우드 운영체제는 클라우드 운영체제에 자신이 구별할 수 없는 플러그인이 설치되면, 플러그인 특성 정보를 획득할 수 있다(S900).
도 7 및 도 8에서 설명된 연동 방법은 클라우드 운영체제가 네트워크 장치에게 명령을 전달하기 위한 방법이고, 네트워크 장치는 클라우드 운영체제의 명령을 직접 이해할 수 없으므로, 클라우드 운영체제는 네트워크 장치의 제어 정보가 필요하다. 반면, 도 9에서 설명하는 방법은 클라우드 운영체제가 플러그인에 명령을 전달하는 방법이고, 플러그인은 클라우드 운영체제의 명령을 직접 이해할 수 있으므로, 클라우드 운영체제는 플러그인에 대한 제어 정보는 필요하지 않을 수 있다. 대신, 클라우드 운영체제는 설치된 플러그인들을 서로 구별하기 위해 플러그인의 특성 정보가 필요하다. 특성 정보는 플러그인의 이름 종류 등과 같이 하나의 플러그인이 다른 플러그인과 구별되기 위한 다양한 정보를 포함할 수 있다.
다음으로, 클라우드 운영체제는 플러그인에 특화된 확장 명령을 생성할 수 있다(S910). 또한, 클라우드 운영체제는 도 8에서 설명된 것과 마찬가지로 확장 API를 생성할 수 있다.
다음으로, 클라우드 운영체제는 생성된 확장 명령을 네트워크 장치에게 제공하여 네트워크 장치를 제어할 수 있다(S920).
이상 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
100 : 클라우드 운영체제 110 : 컴퓨팅 부분
120 : 네트워킹 부분 130 : 스토리지 부분
200 : 클라우드 서버 205, 300, 600 : 플러그인
210, 320 : 네트워크 장치 310 : 데이터베이스
330, 420 : 에이전트 400 : 대표 플러그인
410 : 장치 드라이버 500, 610 : 확장 API

Claims (19)

  1. 클라우드(cloud) 운영체제를 포함한 컴퓨팅(computing) 장치에서 수행되는 플러그인(plug-in) 기반의 연동 방법으로,
    상기 컴퓨팅 장치와 연결된 네트워크(network) 장치들 중 상기 플러그인의 명령어를 지원하지 않는 이종 네트워크 장치에 대한 제어 정보를 획득하는 단계; 및
    상기 제어 정보를 기반으로 상기 이종 네트워크 장치에 특화된 명령어를 생성하는 단계를 포함하는 클라우드 환경에서 네트워크 장치의 연동 방법.
  2. 청구항 1에 있어서,
    상기 제어 정보는 상기 이종 네트워크 장치가 지원하는 명령어에 대한 정보를 포함하는 것을 특징으로 하는 클라우드 환경에서 네트워크 장치의 연동 방법.
  3. 청구항 2에 있어서,
    상기 제어 정보를 획득하는 단계는,
    상기 이종 네트워크 장치의 장치 드라이버(device driver)로부터 상기 제어 정보를 획득하는 것을 특징으로 하는 클라우드 환경에서 네트워크 장치의 연동 방법.
  4. 청구항 1에 있어서,
    상기 연동 방법은,
    상기 명령어를 생성한 후,
    상기 이종 네트워크 장치와 클라우드 운영체제의 연동 관계 정보를 저장하는 단계를 더 포함하는 클라우드 환경에서 네트워크 장치의 연동 방법.
  5. 청구항 1에 있어서,
    상기 연동 방법은,
    상기 명령어를 생성한 후,
    클라우드 운영체제로부터 명령어를 수신하는 경우,
    상기 생성된 명령어 중 상기 수신된 명령어에 대응되는 명령어를 상기 이종 네트워크 장치에게 제공하는 단계를 더 포함하는 클라우드 환경에서 네트워크 장치의 연동 방법.
  6. 청구항 5에 있어서,
    상기 명령어를 제공하는 단계는,
    상기 이종 네트워크 장치가 지원하는 프로토콜(protocol)을 통해 명령어를 제공하는 것을 특징으로 하는 클라우드 환경에서 네트워크 장치의 연동 방법.
  7. 청구항 6에 있어서,
    상기 명령어를 제공하는 단계는,
    프로토콜을 통해 상기 이종 네트워크 장치에 포함된 에이전트(agent)에게 명령어를 제공하는 것을 특징으로 하는 클라우드 환경에서 네트워크 장치의 연동 방법.
  8. 청구항 1에 있어서,
    상기 이종 네트워크 장치는 물리 네트워크 장치인 것을 특징으로 하는 클라우드 환경에서 네트워크 장치의 연동 방법.
  9. 클라우드(cloud) 운영체제를 포함한 컴퓨팅(computing) 장치에서 수행되는 연동 방법으로,
    상기 컴퓨팅 장치와 연결된 적어도 하나의 네트워크(network) 장치 각각에 대한 제어 정보를 획득하는 단계; 및
    상기 제어 정보를 기반으로 각 네트워크 장치에 특화된 확장 API(Application Program Interface)를 생성하는 단계를 포함하는 클라우드 환경에서 네트워크 장치의 연동 방법.
  10. 청구항 9에 있어서,
    상기 제어 정보는 상기 각 네트워크 장치가 지원하는 명령어에 대한 정보를 포함하는 것을 특징으로 하는 클라우드 환경에서 네트워크 장치의 연동 방법.
  11. 청구항 10에 있어서,
    상기 제어 정보를 획득하는 단계는,
    상기 추가 네트워크 장치의 장치 드라이버로(device driver)부터 상기 제어 정보를 획득하는 것을 특징으로 하는 클라우드 환경에서 네트워크 장치의 연동 방법.
  12. 청구항 9에 있어서,
    상기 확장 API를 생성하는 단계는,
    상기 확장 API를 구성하는 확장 명령어를 생성하는 것을 특징으로 하는 클라우드 환경에서 네트워크 장치의 연동 방법.
  13. 청구항 12에 있어서,
    상기 확장 명령어는 상기 네트워크 장치를 지시하는 정보를 반영하는 것을 특징으로 하는 클라우드 환경에서 네트워크 장치의 연동 방법.
  14. 청구항 9에 있어서,
    상기 연동 방법은,
    상기 확장 API를 생성한 후,
    네트워크 장치에게 제공할 명령어가 있는 경우,
    상기 명령어를 제공할 네트워크 장치를 특정하고, 특정된 네트워크 장치에 특화된 확장 API로 상기 명령어를 제공하는 단계를 더 포함하는 클라우드 환경에서 네트워크 장치의 연동 방법.
  15. 청구항 9에 있어서,
    상기 적어도 하나의 네트워크 장치는 물리 네트워크 장치를 포함하는 것을 특징으로 하는 클라우드 환경에서 네트워크 장치의 연동 방법.
  16. 클라우드(cloud) 운영체제를 포함한 컴퓨팅(computing) 장치에서 수행되는 복수의 플러그인(plug-in) 기반의 연동 방법으로,
    네트워크 장치에 명령어를 제공하는 상기 플러그인 각각에 대한 특성 정보를 획득하는 단계; 및
    상기 획득된 특성 정보를 기반으로 상기 플러그인 각각에 특화된 확장 API(Application Program Interface)를 생성하는 단계를 포함하는 클라우드 환경에서 네트워크 장치의 연동 방법.
  17. 청구항 16에 있어서,
    상기 확장 API를 생성하는 단계는,
    상기 확장 API를 구성하는 확장 명령어를 생성하는 것을 특징으로 하는 클라우드 환경에서 네트워크 장치의 연동 방법.
  18. 청구항 17에 있어서,
    상기 확장 명령어는 상기 플러그인을 지시하는 정보를 반영하는 것을 특징으로 하는 클라우드 환경에서 네트워크 장치의 연동 방법.
  19. 청구항 16에 있어서,
    상기 연동 방법은,
    상기 확장 API를 생성한 후,
    네트워크 장치에게 제공할 명령어가 있는 경우,
    상기 명령어를 제공할 플러그인을 특정하고, 특정된 플러그인에 특화된 확장 API로 상기 명령어를 제공하는 단계를 더 포함하는 클라우드 환경에서 네트워크 장치의 연동 방법.
KR1020140008787A 2014-01-24 2014-01-24 클라우드 환경에서 네트워크 장치의 연동 방법 및 장치 KR20150088462A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020140008787A KR20150088462A (ko) 2014-01-24 2014-01-24 클라우드 환경에서 네트워크 장치의 연동 방법 및 장치
US14/603,974 US20150212834A1 (en) 2014-01-24 2015-01-23 Interoperation method of newtork device performed by computing device including cloud operating system in could environment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140008787A KR20150088462A (ko) 2014-01-24 2014-01-24 클라우드 환경에서 네트워크 장치의 연동 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20150088462A true KR20150088462A (ko) 2015-08-03

Family

ID=53679127

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140008787A KR20150088462A (ko) 2014-01-24 2014-01-24 클라우드 환경에서 네트워크 장치의 연동 방법 및 장치

Country Status (2)

Country Link
US (1) US20150212834A1 (ko)
KR (1) KR20150088462A (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170286523A1 (en) * 2016-03-29 2017-10-05 Electronics And Telecommunications Research Institute Apparatus and method for verifying cloud service compatibility
US10776385B2 (en) 2016-12-02 2020-09-15 Vmware, Inc. Methods and apparatus for transparent database switching using master-replica high availability setup in relational databases
US10873501B2 (en) * 2016-12-09 2020-12-22 Vmware, Inc. Methods, systems and apparatus to propagate node configuration changes to services in a distributed environment

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7467392B1 (en) * 2004-09-10 2008-12-16 Microsoft Corporation System and method for supporting new and existing extensions to application programming interfaces
US7433935B1 (en) * 2005-04-29 2008-10-07 Hewlett-Packard Development Company, L.P. Self-adapting plug-in service
US20080148298A1 (en) * 2006-12-18 2008-06-19 Palm, Inc. System and Methods for Providing Granular Security for Locally Running Scripted Environments and Web Applications
US8990390B2 (en) * 2011-12-12 2015-03-24 Cisco Technology, Inc. Remote monitoring and controlling of network utilization
US20130212574A1 (en) * 2012-02-14 2013-08-15 Microsoft Corporation Sub-Device Discovery and Management

Also Published As

Publication number Publication date
US20150212834A1 (en) 2015-07-30

Similar Documents

Publication Publication Date Title
EP3163975B1 (en) Configuration information management method, device, network element management system and storage medium
WO2016155394A1 (zh) 一种虚拟网络功能间链路建立方法及装置
US11178049B2 (en) Device deployment and net work management using a self-service portal
EP3143511B1 (en) Method and apparatus for affinity-based network configuration
EP3382942B1 (en) Network service configuration method and network management device
US9967852B2 (en) CPE network configuration systems and methods
CN104601695A (zh) 智能设备管控方法、装置和系统
US20120226740A1 (en) System and method to provide remote device management for mobile virtualized platforms
EP3099011B1 (en) Interface management service entity, functional service entity and network element management method
CN109600769B (zh) 通信方法及装置
CN104883266A (zh) 网络配置访问方法及装置
US20200260288A1 (en) Communication method and communications apparatus
CN108270591B (zh) 一种配置网络设备的方法和相关设备
KR20150088462A (ko) 클라우드 환경에서 네트워크 장치의 연동 방법 및 장치
KR102017631B1 (ko) 데이터 통신을 위한 단말 장치 및 방법
CN105827496A (zh) 管理pe设备的方法及装置
US20130097228A1 (en) Network storage system, data manipulation method in network storage system, storage device and computer program product for controlling client device
US20170034258A1 (en) Methods for centralized management api service across disparate storage platforms and devices thereof
WO2018145267A1 (zh) 一种转发器入网识别方法、sdn控制器及转发器
CN109962788B (zh) 多控制器调度方法、装置和系统及计算机可读存储介质
JP2017220240A (ja) ネットワーク制御システムのためのグラフィカルポリシインタフェース
EP2564552B1 (en) Network management in a communications network
US20190312929A1 (en) Information synchronization method and device
KR101581127B1 (ko) 네트워크 시스템과 통신 방법, 및 네트워크 장치
CN105471594B (zh) 管理资源的方法和设备

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid