KR102500223B1 - 네트워크 기능 가상화 장치 및 그의 타임 동기화 방법 - Google Patents

네트워크 기능 가상화 장치 및 그의 타임 동기화 방법 Download PDF

Info

Publication number
KR102500223B1
KR102500223B1 KR1020150099611A KR20150099611A KR102500223B1 KR 102500223 B1 KR102500223 B1 KR 102500223B1 KR 1020150099611 A KR1020150099611 A KR 1020150099611A KR 20150099611 A KR20150099611 A KR 20150099611A KR 102500223 B1 KR102500223 B1 KR 102500223B1
Authority
KR
South Korea
Prior art keywords
time synchronization
ntp
clock information
cpu clock
nic
Prior art date
Application number
KR1020150099611A
Other languages
English (en)
Other versions
KR20170008435A (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 KR1020150099611A priority Critical patent/KR102500223B1/ko
Publication of KR20170008435A publication Critical patent/KR20170008435A/ko
Application granted granted Critical
Publication of KR102500223B1 publication Critical patent/KR102500223B1/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/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/45537Provision of facilities of other operating environments, e.g. WINE
    • 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication

Abstract

네트워크 기능 가상화 장치가 개시된다. 본 장치는 제1 OS, 적어도 하나의 제2 OS를 포함하며, 제1 OS가 주기적으로 NTP 서버와 타임 동기화를 수행하고, 적어도 하나의 제2 OS가 제1 OS 와 타임 동기화를 수행하며, 적어도 하나의 제2 OS가 제1 OS 로부터 물리적인 CPU 클럭 정보를 수신하고, 적어도 하나의 제2 OS 가 수신된 CPU 클럭 정보를 이용하여, 타임 오차를 수정할 수 있다. 이에 따라, 장치 효율성이 향상될 수 있다.

Description

네트워크 기능 가상화 장치 및 그의 타임 동기화 방법{NETWORK FUNCTION VIRTUAL APPARATUS AND METHOD FOR SYNCRONIZING TIME THE SAME}
본 발명은 네트워크 장치에 관한 것으로써, 보다 상세하게는 NTP(Network Time Protocol) 타임 동기화를 수행하는 네트워크 기능 가상화 장치 및 그의 타임 동기화 방법에 관한 것이다.
최근 정보 통신 기술이 급속도로 발전함에 따라, 정보 통신 기술을 기반으로 하는 유비쿼터스 사회가 이루어지고 있다. 유무선 통신망은 전세계적으로 연결되어 개인, 기업, 국가 등의 다양한 니즈가 해결되고 있다.
점점 네트워크 환경의 규모가 방대해져가고, 네트워크 중심의 IT 시대가 도래함에 따라, 특정 네트워크 장비 벤더(Vendor)에 대한 종속을 탈피하고, 고가의 네트워크 장비에 대한 투자비용과 운용비용을 절감하고자 통신 사업자 주도하에 연구개발이 다양하게 수행되고 있는 실정이다.
그 중에서 NFV(Network Functions Virtualization) 이 등장하게 된다. NFV 기술은 통신망 구성과 제어/관리에 필요한 소프트웨어적인 기능들을 가상화하여 이용하는 기술로, 이기종 하드웨어 장비들로 구성된 네트워크 장비가 가진 한계를 서버, 스토리지 및 스위치와 IT 가상화를 이용하여 네트워크 기능을 구현하는 기술이다.
도 1에서 NFV에 의한 네트워크는 이더넷 스위치(11), 스토리지(12), 서버(13), 가상화 기반(14), 가상 클라우드(15)을 포함할 수 있고, NFV 장치는 가상 클라우드(15)의 가상 라우터, 가상 SGSN/GGSN/PGW/S-GW, 가상 IMS 등의 자원을 이용할 수 있다.
또한, NFV 환경에서 성능 및 용량 확장을 위해 가상 머신(VM, Virtual Machine)을 추가 생성하는 경우, 가상 머신 간 트래픽 전송 시 순서 보장을 위해 타임 동기화가 필요하다.
종래기술에서는 아래와 같이 타임 동기화가 수행되었다. 구체적으로, VM 각각이 NTP(Network Time Protocol) 서버에 접속하여 타임 동기화를 수행하거나, Master VM 이 NTP 서버와 타임 동기화를 수행한 후, Master VM 이 VM 각각과 타임 동기화를 수행하기도 하였다.
이런 경우, NTP 서버 및 Master VM 에 큰 부하가 발생되는 문제점이 있었다. 따라서, NFV 환경하에서 보다 개선된 타임 동기화 방법의 대두가 요청된다.
본 발명은 상술한 종래 기술의 한계점을 해결하기 위해 고안된 것으로, 본 발명의 목적은 NTP 서버에 부하를 예방하는 네트워크 기능 가상화 장치 및 그의 타임 동기화 방법을 제공함에 있다.
또한, 본 발명의 다른 목적은 빈번하게 가상 머신(Virtual Machine)이 타임 동기화를 수행 빈도를 줄이는 네트워크 기능 가상화 장치를 제공함에 있다.
본 발명에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 발명의 다양한 실시예에 따른 네트워크 기능 가상화 장치의 타임 동기화 방법에 있어서, 제1 OS가 주기적으로 NTP(Network Time Protocol) 서버와 타임 동기화를 수행하는 단계; 적어도 하나의 제2 OS가 상기 제1 OS 와 타임 동기화를 수행하는 단계; 상기 적어도 하나의 제2 OS가 상기 제1 OS 로부터 물리적인 CPU 클럭 정보를 수신하는 단계; 및 상기 적어도 하나의 제2 OS 가 수신된 CPU 클럭 정보를 이용하여, 타임 오차를 수정하는 단계;를 포함한다.
상기 제1 OS가 물리적인 CPU 클럭 정보를 저장할 수 있다.
상기 적어도 하나의 제2 OS 가 주기적으로 상기 제1 OS 와 타임 동기화를 수행하는 단계;를 더 포함할 수 있다.
상기 제1 OS가 주기적으로 NTP 서버와 타임 동기화를 수행하는 단계는, 상기 제1 OS에서 구동되는 NTP 클라이언트 프로그램이 NIC(Network Interface Card) 를 통해 상기 NTP 서버와 주기적으로 타임 동기화를 수행할 수 있다.
상기 제1 OS 와 타임 동기화를 수행하는 단계는, 상기 적어도 하나의 제2 OS에서 구동되는 NTP 클라이언트 프로그램이 가상 NIC를 통해 상기 제1 OS 에서 구동되는 NTP Daemon 프로그램과 타임 동기화를 수행할 수 있다.
상기 제1 OS 와 타임 동기화를 수행하는 단계는, 상기 적어도 하나의 제2 OS에서 구동되는 NTP 클라이언트 프로그램이 가상 NIC를 통해, 하이퍼바이저(Hypervisor)의 가상스위치(vSwitch)를 경유하여, 상기 제1 OS 에서 구동되는 NTP Daemon 프로그램과 타임 동기화를 수행할 수 있다.
상기 적어도 하나의 제2 OS가 상기 제1 OS 로부터 물리적인 CPU 클럭 정보를 수신하는 단계는, 상기 적어도 하나의 제2 OS가 하이퍼바이저에 상기 제1 OS의 CPU 클럭 정보를 요청하고, 상기 하이퍼바이저가 상기 제1 OS에 상기 CPU 클럭 정보를 요청함으로써, 상기 CPU 클럭 정보를 수신할 수 있다.
상기 NTP 서버는 상기 가상화 장치 외부에 있을 수 있다.
상기 제1 OS 는 Host OS 이고, 상기 적어도 하나의 제2 OS는 Guest OS 일 수 있다.
또한, 상기 제1 NIC 는 물리적인 NIC 일 수 있다.
한편, 본 발명의 일 실시 예에 의한, 네트워크 기능 가상화 장치는 제1 OS;
적어도 하나의 제2 OS;를 포함하고, 상기 제1 OS는 주기적으로 NTP 서버와 타임 동기화를 수행하고, 상기 적어도 하나의 제2 OS는 상기 제1 OS 와 타임 동기화를 수행하고, 상기 제1 OS 로부터 물리적인 CPU 클럭 정보를 수신하며, 수신된 CPU 클럭 정보를 이용하여, 타임 오차를 수정할 수 있다.
상기 제1 OS는 물리적인 CPU 클럭 정보를 저장할 수 있다.
상기 적어도 하나의 제2 OS는 주기적으로 상기 제1 OS 와 타임 동기화를 수행할 수있다.
상기 제1 OS에서 구동되는 NTP 클라이언트 프로그램은, NIC를 통해 상기 NTP 서버와 주기적으로 타임 동기화를 수행할 수 있다.
상기 적어도 하나의 제2 OS에서 구동되는 NTP 클라이언트 프로그램은,
가상 NIC를 통해 상기 제1 OS 에서 구동되는 NTP Daemon 프로그램과 타임 동기화를 수행할 수 있다.
상기 적어도 하나의 제2 OS에서 구동되는 NTP 클라이언트 프로그램은, 가상 NIC를 통해, 하이퍼바이저(Hypervisor)의 가상스위치(vSwitch)를 경유하여, 상기 제1 OS 에서 구동되는 NTP Daemon 프로그램과 타임 동기화를 수행할 수 있다.
상기 적어도 하나의 제2 OS는 하이퍼바이저에 상기 제1 OS의 CPU 클럭 정보를 요청하고, 상기 하이퍼바이저에 의해 상기 제1 OS에 상기 CPU 클럭 정보가 요청됨으로써, 상기 CPU 클럭 정보를 수신할 수 있다.
상기 NTP 서버는 상기 가상화 장치 외부에 있을 수 있다.
상기 제1 OS 는 Host OS 이고, 상기 적어도 하나의 제2 OS는 Guest OS 일 수 있다.
상기 제1 NIC 는 물리적인 NIC일 수 있다.
한편, 프로세서에 의해 실행되는 것을 통하여 제1항 내지 제10항 중 하나에 기재된 네트워크 기능 가상화 장치의 타임 동기화 방법을 실현하는 것을 특징으로 하는 기록매체에 저장되는 프로그램이 제공될 수 있다.
또한, 본 프로그램은 기록매체에 저장될 수 있다.
상기 본 발명의 양태들은 본 발명의 바람직한 실시예들 중 일부에 불과하며, 본원 발명의 기술적 특징들이 반영된 다양한 실시예들이 당해 기술분야의 통상적인 지식을 가진 자에 의해 이하 상술할 본 발명의 상세한 설명을 기반으로 도출되고 이해될 수 있다.
본 발명의 다양한 실시예에 따라, 아래와 같은 효과가 기대된다.
NTP 서버 또는 Master VM에 부하를 예방하는 네트워크 기능 가상화 장치가 제공됨으로써, 장치 효율성, 네트워크 효율성이 향상될 수 있다.
가상 머신의 빈번한 타임 동기화 수행 빈도가 줄어듬으로써, 장치 효율성 및 장치 비용성이 향상될 수 있다.
본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
이하에 첨부되는 도면들은 본 발명에 관한 이해를 돕기 위한 것으로, 상세한 설명과 함께 본 발명에 대한 실시예들을 제공한다. 다만, 본 발명의 기술적 특징이 특정 도면에 한정되는 것은 아니며, 각 도면에서 개시하는 특징들은 서로 조합되어 새로운 실시예로 구성될 수 있다.
도 1은 네트워크 기능 가상화 장치를 나타내는 도면이다.
도 2는 실시예에 따른 네트워크 기능 가상화 장치의 구조를 나타내는 구성도이다.
도 3은 실시예에 따른 NTP 타임 동기화를 수행하는 방법을 나타내는 흐름도이다.
이하, 본 발명의 실시예들이 적용되는 장치 및 다양한 방법들에 대하여 도면을 참조하여 보다 상세하게 설명한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다.
이상에서, 본 발명의 실시예를 구성하는 모든 구성 요소들이 하나로 결합되거나 결합되어 동작하는 것으로 설명되었다고 해서, 본 발명이 반드시 이러한 실시예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위 안에서라면, 그 모든 구성 요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성 요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성 요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 그 컴퓨터 프로그램을 구성하는 코드들 및 코드 세그먼트들은 본 발명의 기술 분야의 당업자에 의해 용이하게 추론될 수 있을 것이다. 이러한 컴퓨터 프로그램은 컴퓨터가 읽을 수 있는 저장매체(Computer Readable Media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 발명의 실시예를 구현할 수 있다. 컴퓨터 프로그램의 저장매체로서는 자기 기록매체, 광 기록매체, 캐리어 웨이브 매체 등이 포함될 수 있다.
실시예의 설명에 있어서, 각 구성 요소의 " 상(위) 또는 하(아래)", "전(앞) 또는 후(뒤)"에 형성되는 것으로 기재되는 경우에 있어, "상(위) 또는 하(아래)" 및"전(앞) 또는 후(뒤)"는 두 개의 구성 요소들이 서로 직접 접촉되거나 하나 이상의 또 다른 구성 요소가 두 개의 구성 요소들 사이에 배치되어 형성되는 것을 모두 포함한다.
또한, 이상에서 기재된 "포함하다", "구성하다" 또는 "가지다" 등의 용어는, 특별히 반대되는 기재가 없는 한, 해당 구성 요소가 내재될 수 있음을 의미하는 것이므로, 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것으로 해석되어야 한다. 기술적이거나 과학적인 용어를 포함한 모든 용어들은, 다르게 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 사전에 정의된 용어와 같이 일반적으로 사용되는 용어들은 관련 기술의 문맥 상의 의미와 일치하는 것으로 해석되어야 하며, 본 발명에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
또한, 본 발명의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성 요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성 요소에 직접적으로 연결되거나 또는 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.
도 2는 실시예에 따른 네트워크 기능 가상화 장치의 구조를 나타내는 구성도이다.
도 2에 따르면, 네트워크 기능 가상화 장치(100)는 물리적 CPU(110), NIC(120), Host OS(130), Hypervisor(140), 복수의 가상 머신(150, 160)를 포함할 수 있다. 본 명세서에서 설명하지는 않으나, 본 네트워크 기능 가상화 장치(100)는 네트워크 기능 가상화 장치(100)에 필요한 스토리지, 서버 등을 포함한 다양한 구성요소를 포함할 수 있음은 당연하다.
네트워크 기능 가상화 장치(100)는 외부 NTP 서버(200)와 연결될 수 있다. 외부 NTP(200)서버는 네트워크 타임 프로토콜 서버로, 패킷 교환, 가변 레이턴시(latency) 데이터 네트워크를 통해 컴퓨터 시스템 간 타임 동기화를 위한 네트워크 타임 프로토콜을 지원한다.
네트워크 기능 가상화 장치(100)는 멀티 OS 가 구동될 수 있도록 가상화 기능을 제공할 수 있다. 네트워크 기능 가상화 장치(100)는 장치의 자원(CPU 점유할당량, 메모리 점유할당량 등)을 멀티 OS 가 공유할 수 있도록 가상화 기능을 제공할 수 있다.
물리적 CPU(110)는 네트워크 기능 가상화 장치(100)에 포함된 주 제어부이다. 네트워크 기능 가상화 장치(100)에 포함된 구성요소들(가령, 복수의 OS, 하드웨어 장치, 미들웨어, 소프트웨어 등)이 상기 물리적 CPU(110)를 다양한 기법에 의해 점유하고 사용할 수 있다.
본 명세서에서 물리적 CPU(110)가 하나인 것으로 설명하나, 복수 개로 구성될 수 있음은 당연하다. 또한, 도 2에서 물리적 CPU(110)가 Host OS(130), NIC(120) 등과 연결된 것으로 도시하였으나, 이에 한정되는 것은 아니다.
NIC(120, Network Interface Card)는 동종 또는 이기종 간의 장치 간에 통신하기 위해 필요한 하드웨어에 해당된다. NIC(120)는 Host OS(130)의 제어에 따라, 외부 NTP 서버(200)와 통신을 수행할 수 있다.
Host OS(130)는 본 네트워크 기능 가상화 장치(100)를 전체적으로 제어하는 할 수 있다. Host OS(130)는 네트워크 기능 가상화 장치(100)가 가상화 기반을 통해 다양한 네트워크망 구성요소(가령, 가상 라우터, 가상 SGSN/GGSN/PGW/S-GW, 가상 IMS 등)를 이용하도록 제어할 수 있다.
Host OS(130)는 NTP Daemon(132)과 NTP 클라이언트(134) 프로그램을 포함할 수 있다. NTP Daemon(132)은 OS 에서 구동되는 프로그램으로 NTP 을 이용하여 시스템 타임 동기화를 유지(maintenance)할 수 있다. NTP 클라이언트(134)는 NIC(120)를 통해 외부 NTP 서버(200)와 타임 동기화를 수행할 수 있다.
하이퍼바이저(140, Hypervisor)는 한 시스템의 자원(CPU, Memory, Disk 등)을 논리적으로 분배하고 복수개의 논리적 가상머신에 다양한 OS를 상호 연결해 주는 역할을 한다. 가상스위치(145, vSwitch)는 하나의 물리적 NIC를 다수의 가상머신이 가상 NIC를 부여받아 공유해주는 역할을 할 수 있다.
이외에도 다른 구성요소가 더 포함될 수 있다. 일 예로, 라이브 마이그레이션(Live Migration)이 더 포함될 수 있고, 상기 라이브 마이그레이션은 물리적 가상화 시스템의 장애 발생, 과부하, 이용률 저조시 중단 없이 서비스를 제공하기 위해 가상머신을 종료하지 않고 다른 물리적 가상화 시스템으로 이동시키는 역할을 할 수 있다.
복수의 가상 머신(VM, 150, 160)은 컴퓨팅 환경을 소프트웨어로 구현되어, 컴퓨터를 애뮬레이션하는 프로그램이다. 복수의 가상 머신(VM, 150, 160)은 시스템이 허용하는 한 더 구동될 수 있다.
복수의 가상 머신(VM, 150, 160)은 각각 Guest OS 를 구동시킬 수 있다. Guest OS(152, 162)는 NTP 클라이언트를 구동시킨다.
또한, 복수의 가상 머신(VM, 150, 160)은 가상 CPU(154, 164) 와 가상 NIC(156, 166)을 포함할 수 있다.
가상 CPU(154, 164)는 물리적 CPU(110)을 기 설정된 기준에 따라 이용할 수 있다. 가상 NIC(156, 164)는 가상 스위치(145)의 제어에 따라 NIC(120)를 공유할 수 있다.
이하에서는, NTP 서버를 이용하여 타임 동기화를 효율적으로 수행하는 방법을 검토하기로 한다.
도 3은 실시예에 따른 NTP 타임 동기화를 수행하는 방법을 나타내는 흐름도이다. Guest OS(150)는 하나인 것으로 도시되었으나, 복수 개의 Guest OS를 포함할 수 있다.
일단, Host OS(130)가 주기적으로 NTP 서버(200)와 통신도 수행하고, 타임 동기화도 수행하게 된다(S310).
Host OS(130)가 네트워크 기능 가상화 장치(100)를 대표하여, NTP 서버(200)와 타임 동기화를 수행하게 된다.
그러면, Host OS(130)은 하이퍼바이저(140) 및 가상스위치(145)를 통해, 적어도 하나의 Guest OS(150)와 타임 동기화를 수행한다(S320).
하이퍼바이저(140, Hypervisor) 및 가상 스위치(145)는 한 시스템의 자원(가령, NIC 자원)을 논리적으로 적어도 하나의 Guest OS(150)에 분배할 수 있다.
그 다음으로, Host OS(130)는 물리적 CPU 클럭 정보를 적어도 하나의 Guest OS(150)에 전송한다(S330).
Host OS(130)는 미리 물리적 CPU(110) 클럭 정보를 적절한 저장소에 저장한 후, Guest OS(150)로부터 하이퍼바이저(140)를 통해 해당 CPU 클럭 정보 전송 요청을 받으면, 해당 물리적 CPU(110) 클럭 정보를 수신할 수 있다.
마지막으로, Guest OS(150)는 수신된 CPU(110) 클럭 정보에 기초하여, 타임 오차를 각 Guest OS 별로 수정할 수 있다.
이에 따라, NTP 서버는 Host OS(130)하고만, 타임 동기화를 수행함으로써, NTP 서버 부하가 예방될 수 있다. 또한, 각 Guest OS(150)도 Host OS(130)와 최초 1회만, 타임 동기화를 수행한 후, CPU(110) 클럭 정보를 이용하여 타임 오차를 수정할 수 있으므로, 종래기술의 기술적 한계를 극복할 수 있다.
한편, Guest OS(150) 는 타임 동기화를 수행한 후에도, 수시로 Host OS(130)와 타임 동기화를 수행할 수 있음은 당연하다.
이하에서는 상술한 각 단계를 보다 상세하게 설명하기로 한다.
S310 단계(Host OS가 주기적으로 NTP 서버와 타임 동기화를 수행하는 단계)에서, Host OS(130)는 NTP 클라이언트 프로그램이 NIC(120)를 이용하여, NTP 서버(200)와 주기적으로 통신 및 타임 동기화를 수행하도록 제어할 수 있다.
또한, S320 단계(적어도 하나의 Guest OS가 Host OS와 타임 동기화를 수행하는 단계)에서, 적어도 하나의 Guest OS(150, 160)는 NTP 클라이언트를 구동시키며, 가상 NIC(156, 166)를 통해, 상기 Host OS(130)에서 구동되는 NTP Daemon(132)과 타임 동기화를 수행한다. 특히, 적어도 하나의 Guest OS(150, 160)는 하이퍼바이저(140)의 가상스위치(145)를 경유하여, 타임 동기화를 수행한다.
또한, S330 단계(적어도 하나의 Guest OS가 Host OS 로부터 물리적인 CPU 클럭 정보를 수신하는 단계)에서, 적어도 하나의 Guest OS(150, 160)가 하이퍼바이저(140)에 상기 Host OS(130)의 CPU(110) 클럭 정보를 요청하고, 하이퍼바이저(140)가 Host OS(130)에 CPU 클럭 정보를 요청함으로써, 적어도 하나의 Guest OS(150, 160)가 상기 CPU 클럭 정보를 수신할 수 있다.
본 발명은 본 발명의 정신 및 필수적 특징을 벗어나지 않는 범위에서 다른 특정한 형태로 구체화될 수 있음은 당업자에게 자명하다. 따라서, 상기의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.
상술한 실시예에 따른 방법은 컴퓨터에서 실행되기 위한 프로그램으로 제작되어 컴퓨터가 읽을 수 있는 기록 매체에 저장될 수 있으며, 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등을 포함한다.
컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고, 상술한 방법을 구현하기 위한 기능적인(function) 프로그램, 코드 및 코드 세그먼트들은 실시예가 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
본 발명은 본 발명의 정신 및 필수적 특징을 벗어나지 않는 범위에서 다른 특정한 형태로 구체화될 수 있음은 당업자에게 자명하다.
따라서, 상기의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.
100 : 네트워크 기능 가상화 장치

Claims (22)

  1. 네트워크 기능 가상화 장치의 타임 동기화 방법에 있어서,
    제1 OS가 주기적으로 NTP 서버와 타임 동기화를 수행하는 단계;
    적어도 하나의 제2 OS가 상기 제1 OS 와 타임 동기화를 수행하는 단계;
    상기 적어도 하나의 제2 OS가 상기 제1 OS 로부터 물리적인 CPU 클럭 정보를 수신하는 단계;및
    상기 적어도 하나의 제2 OS 가 수신된 CPU 클럭 정보를 이용하여, 타임 오차를 수정하는 단계;를 포함하는, 타임 동기화 방법.
  2. 제1항에 있어서,
    상기 제1 OS가 물리적인 CPU 클럭 정보를 저장하는 단계;를 더 포함하는, 타임 동기화 방법.
  3. 제1항에 있어서,
    상기 적어도 하나의 제2 OS 가 주기적으로 상기 제1 OS 와 타임 동기화를 수행하는 단계;를 더 포함하는, 타임 동기화 방법.
  4. 제1항에 있어서,
    상기 NTP 서버와 타임 동기화를 수행하는 단계는,
    상기 제1 OS에서 구동되는 NTP 클라이언트 프로그램이 NIC(Network Interface Card) 를 통해 NTP(Network Time Protocol) 서버와 주기적으로 타임 동기화를 수행하는, 타임 동기화 방법.
  5. 제1항에 있어서,
    상기 제1 OS 와 타임 동기화를 수행하는 단계는,
    상기 적어도 하나의 제2 OS에서 구동되는 NTP 클라이언트 프로그램이 가상 NIC를 통해 상기 제1 OS 에서 구동되는 NTP Daemon 프로그램과 타임 동기화를 수행하는, 타임 동기화 방법.
  6. 제5항에 있어서,
    상기 제1 OS 와 타임 동기화를 수행하는 단계는,
    상기 적어도 하나의 제2 OS에서 구동되는 NTP 클라이언트 프로그램이 가상 NIC를 통해, 하이퍼바이저(Hypervisor)의 가상스위치(vSwitch)를 경유하여, 상기 제1 OS 에서 구동되는 NTP Daemon 프로그램과 타임 동기화를 수행하는, 타임 동기화 방법.
  7. 제1항에 있어서,
    상기 물리적인 CPU 클럭 정보를 수신하는 단계는,
    상기 적어도 하나의 제2 OS가 하이퍼바이저에 상기 제1 OS의 CPU 클럭 정보를 요청하고, 상기 하이퍼바이저가 상기 제1 OS에 상기 CPU 클럭 정보를 요청함으로써, 상기 CPU 클럭 정보를 수신하는, 타임 동기화 방법.
  8. 제1항에 있어서,
    상기 NTP 서버는 상기 가상화 장치 외부에 있는, 타임 동기화 방법.
  9. 제1항에 있어서,
    상기 제1 OS 는 Host OS 이고, 상기 적어도 하나의 제2 OS는 Guest OS 인, 타임 동기화 방법.
  10. 제4항에 있어서,
    상기 NIC 는 물리적인 NIC인, 타임 동기화 방법.
  11. 네트워크 기능 가상화 장치에 있어서,
    제1 OS;
    적어도 하나의 제2 OS;
    제1 OS가 주기적으로 NTP 서버와 타임 동기화를 수행하고,
    상기 적어도 하나의 제2 OS가 상기 제1 OS 와 타임 동기화를 수행하며,
    상기 적어도 하나의 제2 OS가 상기 제1 OS 로부터 물리적인 CPU 클럭 정보를 수신하고,
    상기 적어도 하나의 제2 OS 가 수신된 CPU 클럭 정보를 이용하여, 타임 오차를 수정하는, 네트워크 기능 가상화 장치.
  12. 제11항에 있어서,
    상기 제1 OS가 물리적인 CPU 클럭 정보를 저장하는, 네트워크 기능 가상화 장치.
  13. 제11항에 있어서,
    상기 적어도 하나의 제2 OS 가 주기적으로 상기 제1 OS 와 타임 동기화를 수행하는, 네트워크 기능 가상화 장치.
  14. 제11항에 있어서,
    상기 제1 OS에서 구동되는 NTP 클라이언트 프로그램이 NIC(Network Interface Card) 를 통해 NTP(Network Time Protocol) 서버와 주기적으로 타임 동기화를 수행하는, 네트워크 기능 가상화 장치.
  15. 제11항에 있어서,
    상기 적어도 하나의 제2 OS에서 구동되는 NTP 클라이언트 프로그램이 가상 NIC를 통해 상기 제1 OS 에서 구동되는 NTP Daemon 프로그램과 타임 동기화를 수행하는, 네트워크 기능 가상화 장치.
  16. 제15항에 있어서,
    상기 적어도 하나의 제2 OS에서 구동되는 NTP 클라이언트 프로그램이 가상 NIC를 통해, 하이퍼바이저(Hypervisor)의 가상스위치(vSwitch)를 경유하여, 상기 제1 OS 에서 구동되는 NTP Daemon 프로그램과 타임 동기화를 수행하는, 네트워크 기능 가상화 장치.
  17. 제11항에 있어서,
    상기 적어도 하나의 제2 OS가 하이퍼바이저에 상기 제1 OS의 CPU 클럭 정보를 요청하고, 상기 하이퍼바이저가 상기 제1 OS에 상기 CPU 클럭 정보를 요청함으로써, 상기 CPU 클럭 정보를 수신하는, 네트워크 기능 가상화 장치.
  18. 제11항에 있어서,
    상기 NTP 서버는 상기 가상화 장치 외부에 있는, 네트워크 기능 가상화 장치.
  19. 제11항에 있어서,
    상기 제1 OS 는 Host OS 이고, 상기 적어도 하나의 제2 OS는 Guest OS 인, 네트워크 기능 가상화 장치.
  20. 제14항에 있어서,
    상기 NIC 는 물리적인 NIC인, 네트워크 기능 가상화 장치.
  21. 삭제
  22. 제1항 내지 제10항 중 하나에 기재된 상기 타임 동기화 방법을 실현하기 위한 프로그램을 기록한 컴퓨터 해독 가능 기록매체.
KR1020150099611A 2015-07-14 2015-07-14 네트워크 기능 가상화 장치 및 그의 타임 동기화 방법 KR102500223B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150099611A KR102500223B1 (ko) 2015-07-14 2015-07-14 네트워크 기능 가상화 장치 및 그의 타임 동기화 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150099611A KR102500223B1 (ko) 2015-07-14 2015-07-14 네트워크 기능 가상화 장치 및 그의 타임 동기화 방법

Publications (2)

Publication Number Publication Date
KR20170008435A KR20170008435A (ko) 2017-01-24
KR102500223B1 true KR102500223B1 (ko) 2023-02-15

Family

ID=57993138

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150099611A KR102500223B1 (ko) 2015-07-14 2015-07-14 네트워크 기능 가상화 장치 및 그의 타임 동기화 방법

Country Status (1)

Country Link
KR (1) KR102500223B1 (ko)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8881233B2 (en) * 2005-05-23 2014-11-04 Microsoft Corporation Resource management via periodic distributed time
US8473638B2 (en) * 2008-05-02 2013-06-25 James Aweya Method and apparatus for time and frequency transfer in communication networks
US20090310593A1 (en) * 2008-06-17 2009-12-17 Qualcomm Incorporated Self-positioning access points

Also Published As

Publication number Publication date
KR20170008435A (ko) 2017-01-24

Similar Documents

Publication Publication Date Title
US10050850B2 (en) Rack awareness data storage in a cluster of host computing devices
TWI598746B (zh) 伺服器系統及其電腦實現之方法
US11917446B1 (en) Mobility of cloud compute instances hosted within communications service provider networks
US20200314218A1 (en) Command communication via mpio driver agnostic of underlying communication protocols
US10965737B1 (en) Cloud computing in communications service provider networks
US8929377B2 (en) Systems and methods for automatic rack detection
US9582221B2 (en) Virtualization-aware data locality in distributed data processing
US20210168203A1 (en) Dynamic resource movement in heterogeneous computing environments including cloud edge locations
US10979534B1 (en) Latency-based placement of cloud compute instances within communications service provider networks
JP5710779B2 (ja) 非同期仮想マシン複製
EP2835953B1 (en) System for live migration of virtual machine
JP4579298B2 (ja) 仮想サーバー・ブレードを提供する方法および装置
US11294735B2 (en) Method and apparatus for accessing desktop cloud virtual machine, and desktop cloud controller
US11757792B2 (en) Using edge-optimized compute instances to execute user workloads at provider substrate extensions
EP2965200A1 (en) Method and system for providing a roaming remote desktop
CN104321749A (zh) 用于管理虚拟化环境中的中断的体系结构和方法
US11425054B1 (en) User-configured multi-location service deployment and scaling
US11875174B2 (en) Method and apparatus for virtual machine emulator upgrading virtualization emulator
CN103501295B (zh) 一种基于虚拟机迁移的远程访问方法和设备
US11765244B1 (en) Latency-based service discovery and routing for multi-location service-oriented applications
KR102500223B1 (ko) 네트워크 기능 가상화 장치 및 그의 타임 동기화 방법
CN117730319A (zh) 嵌套隔离主机虚拟机
CN204331713U (zh) 一种通用型存储装置
CN112965790A (zh) 一种基于pxe协议的虚拟机启动方法及电子设备

Legal Events

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