KR20160103114A - 패킷 흐름 제어 방법, 관련 장치, 및 컴퓨팅 노드 - Google Patents

패킷 흐름 제어 방법, 관련 장치, 및 컴퓨팅 노드 Download PDF

Info

Publication number
KR20160103114A
KR20160103114A KR1020167020644A KR20167020644A KR20160103114A KR 20160103114 A KR20160103114 A KR 20160103114A KR 1020167020644 A KR1020167020644 A KR 1020167020644A KR 20167020644 A KR20167020644 A KR 20167020644A KR 20160103114 A KR20160103114 A KR 20160103114A
Authority
KR
South Korea
Prior art keywords
flow control
virtual machine
host
control policy
enforcer
Prior art date
Application number
KR1020167020644A
Other languages
English (en)
Other versions
KR101875710B1 (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 후아웨이 테크놀러지 컴퍼니 리미티드
Publication of KR20160103114A publication Critical patent/KR20160103114A/ko
Application granted granted Critical
Publication of KR101875710B1 publication Critical patent/KR101875710B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • 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
    • H04L49/00Packet switching elements
    • H04L49/70Virtual switches
    • 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

메시지 트래픽 제어 방법 및 관련 장치, 및 계산 노드가 개시된다. 패킷 흐름 제어 방법은, 가상 머신과 호스트(Host) 사이에서, 상기 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하는 단계; 상기 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정되면, 상기 가상 머신이, 상기 흐름 제어 정책에 기초하여 포워드 프로세싱될 패킷(to-be-forward-processed packet)에 대해 포워드 프로세싱을 수행하는 단계; 및 상기 흐름 제어 정책의 협상된 시행자가 호스트인 것으로 결정되면, 상기 가상 머신이 상기 포워드 프로세싱될 패킷을 호스트에 송신함으로써, 상기 호스트가 상기 흐름 제어 정책에 기초하여 상기 수신된 패킷에 대해 포워드 프로세싱을 수행할 수 있는 단계를 포함한다. 본 발명의 실시예에서 제공하는 기술적 솔루션은 가상 머신의 아웃바운드 패킷 흐름을 처리하는 데 점유되는, 호스트의 어드레스 공간을 감소시킬 수 있다.

Description

메시지 트래픽 제어 방법 및 관련 장치, 및 계산 노드{MESSAGE TRAFFIC CONTROL METHOD AND RELATED DEVICE, AND CALCULATION NODE}
본 출원은 2013년 중국특허청에 출원되고 발명의 명칭이 "Packet flow control method, related apparatus, and computing node"인 중국특허출원 No. 201310746701.5에 대한 우선권을 주장하는 바이며, 상기 문헌은 본 명세서에 원용되어 병합된다.
본 발명은 컴퓨터 기술 분야에 관한 것이며, 특히 패킷 흐름 제어 방법, 관련 장치, 및 컴퓨팅 노드에 관한 것이다.
가상화 기술은 상위 계층 운영체제와 응용 프로그램으로부터 최하위 계층 하드웨어 장치를 분리하기 위한 디커플링 기술이다. 도 1에 도시된 바와 같이, 가상 머신 모니터(virtual machine monitor, VMM) 계층을 도입하여 최하위 계층 하드웨어 자원을 직접 관리하며, 최하위 계층 하드웨어와는 독립적인 가상 머신(virtual machine, VM)이 상위 계층 운영체제와 사용될 응용 프로그램에 생성된다.
현재 대중적인 클라우드 컴퓨팅(cloud computing) 플랫폼을 지원하는 중요한 최하위 계층 기술 중 하나로서, 가상화 기술은 물리적 장치의 자원 이용 효율을 크게 향상시킬 수 있다. 종래의 물리적 서버와 비교하여, 가상 머신은 격리 및 캡슐화 성능이 우수하다.
일부의 기존 가상화 시나리오에서, 호스트(Host)는 가상 머신의 아웃바운드 흐름에 대한 다른 정책에 기초하여 대역폭 제한 또는 액세스 제어를 수행한다. 예를 들어, VM이 패킷을 송신한 후, 호스트는 먼저 VM의 어드레스 공간으로부터 호스트의 어드레스 공간으로 패킷을 복사하고; 호스트는 그 패킷이 송신 제한을 초과하는지를 판정하고, 송신 제한을 초과하는 패킷을 일반적으로 폐기하거나 직접 또는 먼저 캐시하며, 캐시 제한을 초과하는 패킷을 일반적적으로 직접 폐기한다.
연구 및 실습 프로세스 동안, 발명자는 호스트가 흐름 제어를 실행하는 기존의 메커니즘은 어떤 경우에는 (예를 들어, VM의 수가 많은 일부의 시나리오 또는 VM에 의해 송신된 패킷의 수가 많은 시나리오) 호스트의 대량의 어드레스 공간을 점유하게 하, 심각한 프로세싱 지연을 야기하게 된다는 것을 알게 되었다.
본 발명의 실시예는 흐름 제어 방법, 관련 장치, 및 컴퓨팅 노드를 제공하여, 가상 머신의 아웃바운드 패킷 흐름을 처리하기 위해 점유되는 호스트의 어드레스 공간을 감소시킨다.
전술한 기술적 문제를 해결하기 위해, 본 발명의 실시에는 다음의 기술적 솔루션을 제공한다:
본 발명의 실시예의 제1 관점은 패킷 흐름 제어 방법을 제공하며, 상기 방법은:
가상 머신과 호스트(Host) 사이에서, 상기 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하는 단계;
상기 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정되면, 상기 가상 머신이, 상기 흐름 제어 정책에 기초하여 포워드 프로세싱될 패킷(to-be-forward-processed packet)에 대해 포워드 프로세싱을 수행하는 단계; 및
상기 흐름 제어 정책의 협상된 시행자가 호스트인 것으로 결정되면, 상기 호스트가 상기 흐름 제어 정책에 기초하여, 수신된 패킷에 대해 포워드 프로세싱을 수행할 수 있도록, 상기 가상 머신이 상기 포워드 프로세싱될 패킷을 호스트에 송신하는 단계
를 포함한다.
제1 관점을 참조해서, 제1 가능한 실시 방식에서, 상기 가상 머신과 호스트(Host) 사이에서, 상기 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하는 단계는:
상기 가상 머신이, 상기 가상 머신의 흐름 제어 능력에 관한 설명 정보를 반송(搬送)하는 시행자 협상 요구를 호스트에 송신하는 단계;
상기 호스트가, 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 흐름 제어 정책의 시행을 지원하는 것으로 결정한 후, 상기 가상 머신이 호스트에 의해 송신되는 협상 확인 지시(negotiation acknowledgement indication)를 수신하면, 상기 가상 머신이, 상기 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정하는 단계; 및
상기 호스트가, 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 흐름 제어 정책의 시행을 지원하지 않는 것으로 결정한 후, 상기 가상 머신이 호스트에 의해 송신되는 협상 비확인 지시(negotiation non-acknowledgement indication)를 수신하면, 상기 가상 머신이, 상기 흐름 제어 정책의 협상된 시행자가 호스트인 것으로 결정하는 단계
를 포함하거나,
또는
상기 가상 머신과 호스트(Host) 사이에서, 상기 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하는 단계는,
상기 가상 머신이, 상기 가상 머신의 흐름 제어 능력에 관한 설명 정보를 반송하는 시행자 협상 요구를 호스트에 송신하는 단계 - 상기 흐름 제어 능력에 관한 설명 정보는 시행이 가상 머신에 의해 지원되는 흐름 제어 정책의 버전을 설명하는 데 사용됨 - ;
상기 호스트가, 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하는 것으로 결정한 후, 상기 가상 머신이 호스트에 의해 송신되는 협상 확인 지시를 수신하면, 상기 가상 머신이, 상기 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정하는 단계; 및
상기 호스트가, 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하지 않는 것으로 결정한 후, 상기 가상 머신이 호스트에 의해 송신되는 협상 비확인 지시를 수신하면, 상기 가상 머신이, 상기 흐름 제어 정책의 협상된 시행자가 호스트인 것으로 결정하는 단계
를 포함하거나,
또는
상기 가상 머신과 호스트(Host) 사이에서, 상기 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하는 단계는,
상기 가상 머신이, 상기 가상 머신의 흐름 제어 능력에 관한 설명 정보를 반송하는 시행자 협상 요구를 호스트에 송신하는 단계;
상기 호스트가, 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 흐름 제어 정책의 시행을 지원하는 것으로 결정한 후, 상기 가상 머신이 호스트에 의해 송신되는 협상 확인 지시를 수신하면, 상기 가상 머신이, 상기 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정하는 단계; 및
상기 가상 머신이, 제1 설정 기간 내에서, 시행자 협상 요구에 대한 응답으로 호스트에 의해 송신되는 협상 확인 지시를 수신하지 않으면, 상기 가상 머신이, 상기 흐름 제어 정책의 협상된 시행자가 호스트인 것으로 결정하는 단계
를 포함하거나,
또는
상기 가상 머신과 호스트(Host) 사이에서, 상기 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하는 단계는,
상기 가상 머신이, 상기 가상 머신의 흐름 제어 능력에 관한 설명 정보를 반송하는 시행자 협상 요구를 호스트에 송신하는 단계 - 상기 흐름 제어 능력에 관한 설명 정보는 시행이 가상 머신에 의해 지원되는 흐름 제어 정책의 버전을 설명하는 데 사용됨 - ;
상기 호스트가, 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하는 것으로 결정한 후, 상기 가상 머신이 호스트에 의해 송신되는 협상 확인 지시를 수신하면, 상기 가상 머신이, 상기 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정하는 단계; 및
상기 호스트가, 제1 설정 기간 내에서, 시행자 협상 요구에 대한 응답으로 호스트에 의해 송신되는 협상 확인 지시를 수신하지 않으면, 상기 가상 머신이, 상기 흐름 제어 정책의 협상된 시행자가 호스트인 것으로 결정하는 단계
를 포함하거나,
또는
상기 가상 머신과 호스트(Host) 사이에서, 상기 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하는 단계는,
상기 가상 머신이, 상기 가상 머신의 흐름 제어 능력에 관한 설명 정보를 반송하는 시행자 협상 요구를 호스트에 송신하는 단계;
상기 호스트가, 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 흐름 제어 정책의 시행을 지원하지 않는 것으로 결정한 후, 상기 가상 머신이 호스트에 의해 송신되는 협상 비확인 지시를 수신하면, 상기 가상 머신이, 상기 흐름 제어 정책의 협상된 시행자가 호스트인 것으로 결정하는 단계; 및
상기 가상 머신이, 제2 설정 기간 내에서, 시행자 협상 요구에 대한 응답으로 호스트에 의해 송신되는 협상 비확인 지시를 수신하지 않으면, 상기 가상 머신이, 상기 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정하는 단계
를 포함하거나,
또는
상기 가상 머신과 호스트(Host) 사이에서, 상기 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하는 단계는,
상기 가상 머신이, 상기 가상 머신의 흐름 제어 능력에 관한 설명 정보를 반송하는 시행자 협상 요구를 호스트에 송신하는 단계 - 상기 흐름 제어 능력에 관한 설명 정보는 시행이 가상 머신에 의해 지원되는 흐름 제어 정책의 버전을 설명하는 데 사용됨 - ;
상기 호스트가, 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하는 것으로 결정한 후, 상기 가상 머신이 호스트에 의해 송신되는 협상 비확인 지시를 수신하면, 상기 가상 머신이, 상기 흐름 제어 정책의 협상된 시행자가 호스트인 것으로 결정하는 단계; 및
상기 가상 머신이, 제2 설정 기간 내에서, 시행자 협상 요구에 대한 응답으로 호스트에 의해 송신되는 협상 비확인 지시를 수신하지 않으면, 상기 가상 머신이, 상기 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정하는 단계
를 포함한다.
제1 관점의 제1 가능한 실시 방식을 참조해서, 제2 가능한 실시 방식에서, 상기 협상 확인 지시는 상기 흐름 제어 정책을 포함하며,
상기 가상 머신이, 상기 흐름 제어 정책에 기초하여 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 단계는:
상기 가상 머신이, 상기 협상 확인 지시에 포함되어 있는 상기 흐름 제어 정책에 기초하여 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 단계
를 포함한다.
제1 관점의 제1 가능한 실시 방식 또는 제1 관점의 제2 가능한 실시 방식을 참조해서, 제3 가능한 실시 방식에서,
상기 가상 머신이, 상기 가상 머신의 흐름 제어 능력에 관한 설명 정보를 반송하는 시행자 협상 요구를 호스트에 송신하는 단계는:
상기 가상 머신이, 사용자-모드 프로세스에 의해 개시된 협상 시작 요구를 수신한 후, 상기 가상 머신의 흐름 제어 능력에 관한 설명 정보를 반송하는 시행자 협상 요구를 호스트에 송신하는 단계; 또는 상기 가상 머신이, 호스트로부터 협상 시작 요구를 수신한 후, 상기 가상 머신의 흐름 제어 능력에 관한 설명 정보를 반송하는 시행자 협상 요구를 호스트에 송신하는 단계
를 포함한다.
제1 관점, 제1 관점의 제1 가능한 실시 방식, 제1 관점의 제2 가능한 실시 방식, 또는 제1 관점의 제3 가능한 실시 방식을 참조해서, 제4 가능한 실시 방식에서, 상기 가상 머신과 호스트(Host) 사이에서, 상기 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하는 단계는:
상기 가상 머신에 배치된 프리로드 클라이언트(preload client)와 호스트에 배치된 프리로드 서버 간의 접속이 구축된 후, 상기 프리로드 클라이언트가 상기 구축된 접속에 기초하여 상기 프리로드 서버와, 가상 머신과 호스트 사이에서, 상기 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하는 단계
를 포함한다.
제1 관점의 제4 가능한 실시 방식을 참조해서, 제5 가능한 실시 방식에서, 상기 방법은:
상기 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정된 후, 상기 프리로드 클라이언트가 상기 접속에 기초하여 상기 프리로드 서버에 심장박동 메시지(heartbeat message)를 주기적으로 송신하는 단계
를 더 포함한다.
제1 관점, 제1 관점의 제1 가능한 실시 방식, 제1 관점의 제2 가능한 실시 방식, 제1 관점의 제3 가능한 실시 방식, 또는 제1 관점의 제4 가능한 실시 방식, 또는 제1 관점의 제5 가능한 실시 방식을 참조해서, 제6 가능한 실시 방식에서, 상기 흐름 제어 정책은 서비스 품질에 기초한 흐름 제어 정책 및/또는 액세스 제어 목록에 기초한 흐름 제어 정책이다.
본 발명의 실시예의 제2 관점을 패킷 흐름 제어 방법을 제공하며, 상기 방법은:
가상 머신과 호스트(Host) 사이에서, 상기 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하는 단계; 및
상기 흐름 제어 정책의 협상된 시행자가 호스트인 것으로 결정되면, 상기 호스트가, 상기 가상 머신으로부터 패킷을 수신한 후, 상기 흐름 제어 정책에 기초하여 상기 수신된 패킷에 대해 포워드 프로세싱을 수행하는 단계
를 포함한다.
제2 관점을 참조해서, 제2 관점의 제1 가능한 실시 방식에서, 상기 가상 머신과 호스트(Host) 사이에서, 상기 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하는 단계는:
상기 호스트가, 상기 가상 머신에 의해 송신되고 상기 가상 머신의 흐름 제어 능력에 관한 설명 정보를 반송하는 시행자 협상 요구를 수신하는 단계;
상기 호스트가 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 상기 제어 흐름 정책의 시행을 지원하는 것으로 결정하면, 상기 가상 머신에 협상 확인 지시를 송신하는 단계 - 상기 협상 확인 지시는 상기 흐름 제어 정책의 협상된 시행자가 가상 머신이라는 것을 지시함 - ; 및
상기 호스트가 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 상기 흐름 제어 정책의 시행을 지원하지 않는 것으로 결정하면, 상기 가상 머신에 협상 비확인 지시를 송신하는 단계 - 상기 협상 비확인 지시는 상기 흐름 제어 정책의 협상된 시행자가 호스트라는 것을 지시함 - ;
또는
상기 가상 머신과 호스트(Host) 사이에서, 상기 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하는 단계는,
상기 호스트가, 상기 가상 머신에 의해 송신되고 상기 가상 머신의 흐름 제어 능력에 관한 설명 정보를 반송하는 시행자 협상 요구를 수신하는 단계 - 상기 흐름 제어 능력에 관한 설명 정보는 시행이 가상 머신에 의해 지원되는 흐름 제어 정책의 버전을 설명하는 데 사용됨 - ;
상기 호스트가 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 제어 흐름 정책의 시행을 지원하는 것으로 결정하면, 상기 가상 머신에 협상 확인 지시를 송신하는 단계 - 상기 협상 확인 지시는 상기 흐름 제어 정책의 협상된 시행자가 가상 머신이라는 것을 지시함 - ; 및
상기 호스트가 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하지 않는 것으로 결정하면, 상기 가상 머신에 협상 비확인 지시를 송신하는 단계 - 상기 협상 비확인 지시는 상기 흐름 제어 정책의 협상된 시행자가 호스트라는 것을 지시함 -
를 포함한다.
제2 관점 또는 제2 관점의 제1 가능한 실시 방식을 참조해서, 제2 가능한 실시 방식에서, 상기 가상 머신과 호스트(Host) 사이에서, 상기 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하는 단계는:
상기 호스트 내의 프리로드 서버와 상기 가상 머신 내의 프리로드 클라이언트와 간의 접속이 구축된 후, 상기 프리로드 클라이언트가 상기 접속을 사용함으로써 상기 프리로드 서버와, 가상 머신과 호스트 사이에서, 상기 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하는 단계
를 포함한다.
제2 관점 또는 제2 관점의 제1 가능한 실시 방식, 또는 제2 관점의 제2 가능한 실시 방식을 참조해서, 제3 가능한 실시 방식에서, 상기 방법은:
상기 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정된 후, 상기 가상 머신으로부터 심장박동 메시지가 설정 기간 내에 수신되지 않으면, 상기 흐름 제어 정책의 시행자가 호스트로 전환된다는 것을 지시하는 지시 메시지를 가상 머신에 송신하는 단계
를 더 포함한다.
제2 관점 또는 제2 관점의 제1 가능한 실시 방식, 제2 관점의 제2 가능한 실시 방식, 또는 제2 관점의 제3 가능한 실시 방식을 참조해서, 제4 가능한 실시 방식에서, 상기 흐름 제어 정책은 서비스 품질에 기초한 흐름 제어 정책 및/또는 액세스 제어 목록에 기초한 흐름 제어 정책이다.
본 발명의 제3 관점은 패킷 흐름 제어 방법을 제공하며, 상기 방법은:
프로세서가, 가상 머신과 호스트(Host) 사이에서, 상기 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하는 단계;
상기 흐름 제어 정책의 협상된 시행자가 가상 머신이면, 상기 프로세서가, 상기 흐름 제어 정책에 기초하여 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 단계; 및
상기 흐름 제어 정책의 협상된 시행자가 호스트이면, 상기 프로세서가 가상 머신의 포워드 프로세싱될 패킷을 가상 머신으로부터 호스트에 송신하고, 상기 프로세서가 상기 흐름 제어 정책에 기초하여 상기 호스트에 의해 수신된 상기 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 단계
를 포함한다.
제3 관점을 참조해서, 제1 가능한 실시 방식에서, 상기 프로세서가, 가상 머신과 호스트 사이에서, 상기 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하는 단계는,:
상기 프로세서가, 가상 머신에 의해 호스트에 송신되어야 하는 시행자 협상 요구를 호스트에 송신하는 단계 - 상기 시행자 협상 요구는 상기 가상 머신의 흐름 제어 능력에 관한 설명 정보를 반송함 - ; 및
상기 호스트가 상기 시행자 협상 요구를 수신한 후, 상기 프로세서는 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 상기 흐름 제어 정책의 시행을 지원하는 것으로 결정하면, 상기 프로세서가, 호스트에 의해 가상 머신에 송신되어야 하는 협상 확인 지시를 가상 머신에 송신하는 단계 - 상기 협상 확인 지시는 상기 흐름 제어 정책의 협상된 시행자가 가상 머신이라는 것을 지시함 - ; 및/또는 상기 프로세서가, 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 상기 흐름 제어 정책의 시행을 지원하지 않는 것으로 결정하면, 상기 프로세서가, 호스트에 의해 가상 머신에 송신되어야 하는 협상 비확인 지시를 가상 머신에 송신하는 단계 - 상기 협상 비확인 지시는 상기 흐름 제어 정책의 협상된 시행자가 호스트라는 것을 지시함 - ;
를 포함하며,
또는
상기 프로세서가, 가상 머신과 호스트 사이에서, 상기 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하는 단계는,
상기 프로세서가, 가상 머신에 의해 호스트에 송신되어야 하는 시행자 협상 요구를 호스트에 송신하는 단계 - 상기 시행자 협상 요구는 상기 가상 머신의 흐름 제어 능력에 관한 설명 정보를 반송하며, 상기 흐름 제어 능력에 관한 설명 정보는 시행이 가상 머신에 의해 지원되는 흐름 제어 정책의 버전을 설명하는 데 사용됨 - ; 및
상기 호스트가 상기 시행자 협상 요구를 수신한 후, 상기 프로세서가 상기 흐름 제어 능력에 관한 설명 정보에 따라, 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하는 것으로 결정하면, 상기 프로세서가, 호스트에 의해 가상 머신에 송신되어야 하는 협상 확인 지시를 가상 머신에 송신하는 단계 - 상기 협상 확인 지시는 상기 흐름 제어 정책의 협상된 시행자가 가상 머신이라는 것을 지시함 - ; 및/또는 상기 프로세서가, 상기 흐름 제어 능력에 관한 설명 정보에 따라, 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하지 않는 것으로 결정하면, 상기 프로세서가, 호스트에 의해 가상 머신에 송신되어야 하는 협상 비확인 지시를 가상 머신에 송신하는 단계 - 상기 협상 비확인 지시는 상기 흐름 제어 정책의 협상된 시행자가 호스트라는 것을 지시함 -
를 포함한다.
제3 관점 또는 제3 관점의 제1 가능한 실시 방식을 참조해서, 제2 가능한 실시 방식에서, 상기 협상 확인 지시는 상기 흐름 제어 정책을 포함하며,
상기 흐름 제어 정책에 기초하여 상기 가상 머신의 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 단계는:
상기 협상 확인 지시에 포함되어 있는 상기 흐름 제어 정책에 기초하여 상기 가상 머신의 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 단계
를 포함한다.
제3 관점, 제3 관점의 제1 가능한 실시 방식, 또는 제3 관점의 제2 가능한 실시 방식을 참조해서, 제3 가능한 실시 방식에서, 상기 흐름 제어 정책의 협상된 시행자가 가상 머신인 후, 상기 호스트가 가상 머신으로부터 심장박동 메시지를 설정 기간 내에 수신하지 않으면, 상기 프로세서가, 호스트에 의해 가상 머신에 송신되어야 하고 상기 흐름 제어 정책의 시행자가 호스트로 전환된다는 것을 지시하는 데 사용되는 지시 메시지를 가상 머신에 송신하는 단계를 더 포함한다.
제3 관점, 제3 관점의 제1 가능한 실시 방식, 제3 관점의 제2 가능한 실시 방식, 또는 제3 관점의 제3 가능한 실시 방식을 참조해서, 제4 가능한 실시 방식에서,
상기 흐름 제어 정책은 서비스 품질에 기초한 흐름 제어 정책 및/또는 액세스 제어 목록에 기초한 흐름 제어 정책이다.
제3 관점, 제3 관점의 제1 가능한 실시 방식, 제3 관점의 제2 가능한 실시 방식, 제3 관점의 제3 가능한 실시 방식, 또는 제3 관점의 제4 가능한 실시 방식을 참조해서, 제5 가능한 실시 방식에서,
상기 가상 머신에 의해 호스트에 송신되어야 하는 시행자 협상 요구를 호스트에 송신하는 단계는: 상기 가상 머신이 사용자-모드 프로세스에 의해 개시된 협상 시작 요구를 수신한 후, 상기 가상 머신에 의해 호스트에 송신되어야 하는 시행자 협상 요구를 호스트에 송신하는 단계; 또는 상기 가상 머신이, 호스트로부터 협상 시작 요구를 수신한 후, 상기 가상 머신에 의해 호스트에 송신되어야 하는 시행자 협상 요구를 호스트에 송신하는 단계를 포함한다.
제3 관점, 제3 관점의 제1 가능한 실시 방식, 제3 관점의 제2 가능한 실시 방식, 제3 관점의 제3 가능한 실시 방식, 제3 관점의 제4 가능한 실시 방식, 또는 제3 관점의 제5 가능한 실시 방식을 참조해서, 제6 가능한 실시 방식에서, 호스트(Host)와 가상 머신 사이에서, 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하는 단계는: 가상 머신에 배치된 프리로드 클라이언트와 호스트에 배치된 프리로드 서버 간의 접속이 구축된 후, 상기 구축된 접속을 사용함으로써, 가상 머신과 호스트 사이에서, 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하는 단계를 포함한다.
본 발명의 제4 관점은 패킷 흐름 제어 방법을 제공하며, 상기 방법은:
프로세서가, 가상 머신과 호스트(Host) 사이에서, 상기 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하는 단계;
상기 흐름 제어 정책의 협상된 시행자가 가상 머신이면, 상기 프로세서가, 상기 흐름 제어 정책에 기초하여 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 단계; 및
상기 흐름 제어 정책의 협상된 시행자가 호스트이면, 상기 프로세서가 가상 머신의 포워드 프로세싱될 패킷을 가상 머신으로부터 호스트에 송신하고, 상기 프로세서가 상기 흐름 제어 정책에 기초하여 상기 호스트에 의해 수신된 상기 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 단계
를 포함한다.
제4 관점을 참조해서, 제1 가능한 실시 방식에서, 상기 프로세서가, 가상 머신과 호스트 사이에서, 상기 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하는 단계는,:
상기 프로세서가, 가상 머신에 의해 호스트에 송신되어야 하는 시행자 협상 요구를 호스트에 송신하는 단계 - 상기 시행자 협상 요구는 상기 가상 머신의 흐름 제어 능력에 관한 설명 정보를 반송함 - ; 및
상기 호스트가 상기 시행자 협상 요구를 수신한 후, 상기 프로세서는 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 상기 흐름 제어 정책의 시행을 지원하는 것으로 결정하면, 상기 프로세서가, 호스트에 의해 가상 머신에 송신되어야 하는 협상 확인 지시를 가상 머신에 송신하는 단계 - 상기 협상 확인 지시는 상기 흐름 제어 정책의 협상된 시행자가 가상 머신이라는 것을 지시함 - ; 및/또는 상기 프로세서가, 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 상기 흐름 제어 정책의 시행을 지원하지 않는 것으로 결정하면, 상기 프로세서가, 호스트에 의해 가상 머신에 송신되어야 하는 협상 비확인 지시를 가상 머신에 송신하는 단계 - 상기 협상 비확인 지시는 상기 흐름 제어 정책의 협상된 시행자가 호스트라는 것을 지시함 - ;
를 포함하며,
또는
상기 프로세서가, 가상 머신과 호스트 사이에서, 상기 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하는 단계는,
상기 프로세서가, 가상 머신에 의해 호스트에 송신되어야 하는 시행자 협상 요구를 호스트에 송신하는 단계 - 상기 시행자 협상 요구는 상기 가상 머신의 흐름 제어 능력에 관한 설명 정보를 반송하며, 상기 흐름 제어 능력에 관한 설명 정보는 시행이 가상 머신에 의해 지원되는 흐름 제어 정책의 버전을 설명하는 데 사용됨 - ; 및
상기 호스트가 상기 시행자 협상 요구를 수신한 후, 상기 프로세서가 상기 흐름 제어 능력에 관한 설명 정보에 따라, 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하는 것으로 결정하면, 상기 프로세서가, 호스트에 의해 가상 머신에 송신되어야 하는 협상 확인 지시를 가상 머신에 송신하는 단계 - 상기 협상 확인 지시는 상기 흐름 제어 정책의 협상된 시행자가 가상 머신이라는 것을 지시함 - ; 및/또는 상기 프로세서가, 상기 흐름 제어 능력에 관한 설명 정보에 따라, 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하지 않는 것으로 결정하면, 상기 프로세서가, 호스트에 의해 가상 머신에 송신되어야 하는 협상 비확인 지시를 가상 머신에 송신하는 단계 - 상기 협상 비확인 지시는 상기 흐름 제어 정책의 협상된 시행자가 호스트라는 것을 지시함 -
를 포함한다.
제4 관점 또는 제4 관점의 제1 가능한 실시 방식을 참조해서, 제2 가능한 실시 방식에서, 상기 협상 확인 지시는 상기 흐름 제어 정책을 포함하며,
상기 흐름 제어 정책에 기초하여 상기 가상 머신의 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 단계는:
상기 협상 확인 지시에 포함되어 있는 상기 흐름 제어 정책에 기초하여 상기 가상 머신의 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 단계
를 포함한다.
제4 관점, 제4 관점의 제1 가능한 실시 방식, 또는 제4 관점의 제2 가능한 실시 방식을 참조해서, 제3 가능한 실시 방식에서, 상기 흐름 제어 정책의 협상된 시행자가 가상 머신인 후, 상기 호스트가 가상 머신으로부터 심장박동 메시지를 설정 기간 내에 수신하지 않으면, 상기 프로세서가, 호스트에 의해 가상 머신에 송신되어야 하고 상기 흐름 제어 정책의 시행자가 호스트로 전환된다는 것을 지시하는 데 사용되는 지시 메시지를 가상 머신에 송신하는 단계를 더 포함한다.
제4 관점, 제4 관점의 제1 가능한 실시 방식, 제4 관점의 제2 가능한 실시 방식, 또는 제4 관점의 제3 가능한 실시 방식을 참조해서, 제4 가능한 실시 방식에서,
상기 흐름 제어 정책은 서비스 품질에 기초한 흐름 제어 정책 및/또는 액세스 제어 목록에 기초한 흐름 제어 정책이다.
제4 관점, 제4 관점의 제1 가능한 실시 방식, 제4 관점의 제2 가능한 실시 방식, 제4 관점의 제3 가능한 실시 방식, 또는 제4 관점의 제4 가능한 실시 방식을 참조해서, 제5 가능한 실시 방식에서, 상기 가상 머신에 의해 호스트에 송신되어야 하는 시행자 협상 요구를 호스트에 송신하는 단계는:
상기 가상 머신이 사용자-모드 프로세스에 의해 개시된 협상 시작 요구를 수신한 후, 상기 가상 머신에 의해 호스트에 송신되어야 하는 시행자 협상 요구를 호스트에 송신하는 단계; 또는 상기 가상 머신이, 호스트로부터 협상 시작 요구를 수신한 후, 상기 가상 머신에 의해 호스트에 송신되어야 하는 시행자 협상 요구를 호스트에 송신하는 단계를 포함한다.
제4 관점, 제4 관점의 제1 가능한 실시 방식, 제4 관점의 제2 가능한 실시 방식, 제4 관점의 제3 가능한 실시 방식, 제4 관점의 제4 가능한 실시 방식, 또는 제4 관점의 제5 가능한 실시 방식을 참조해서, 제6 가능한 실시 방식에서, 호스트(Host)와 가상 머신 사이에서, 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하는 단계는: 가상 머신에 배치된 프리로드 클라이언트와 호스트에 배치된 프리로드 서버 간의 접속이 구축된 후, 상기 구축된 접속을 사용함으로써, 가상 머신과 호스트 사이에서, 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하는 단계를 포함한다.
본 발명의 제5 관점은 가상 머신을 제공하며, 상기 가상 머신은:
가상 머신과 호스트(Host) 사이에서, 상기 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하도록 구성되어 있는 제1 협상 유닛;
상기 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정되면, 상기 흐름 제어 정책에 기초하여 포워드 프로세싱될 패킷(to-be-forward-processed packet)에 대해 포워드 프로세싱을 수행하고, 상기 흐름 제어 정책의 협상된 시행자가 호스트인 것으로 결정되면, 상기 포워드 프로세싱될 패킷을 호스트에 송신하고, 상기 호스트가 상기 흐름 제어 정책에 기초하여 상기 수신된 패킷에 대해 포워드 프로세싱을 수행할 수 있도록 구성되어 있는 패킷 프로세싱 유닛
을 포함한다.
제5 관점을 참조해서, 제1 가능한 실시 방식에서,
상기 제1 협상 유닛은 구체적으로, 상기 가상 머신의 흐름 제어 능력에 관한 설명 정보를 반송하는 시행자 협상 요구를 호스트에 송신하고; 협상 확인 지시가 수신되면, 상기 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정하며 - 상기 호스트가, 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 흐름 제어 정책의 시행을 지원하는 것으로 결정한 후, 상기 협상 확인 지시가 상기 호스트에 의해 송신됨 - ; 그리고 협상 비확인 지시가 수신되면, 상기 흐름 제어 정책의 협상된 시행자가 호스트인 것으로 결정하도록 구성되어 있으며 - 상기 호스트가, 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 흐름 제어 정책의 시행을 지원하지 않는 것으로 결정한 후, 상기 협상 비확인 지시가 상기 호스트에 의해 송신됨 - ;
또는
상기 제1 협상 유닛은 구체적으로, 상기 가상 머신의 흐름 제어 능력에 관한 설명 정보를 반송하는 시행자 협상 요구를 호스트에 송신하고 - 상기 흐름 제어 능력에 관한 설명 정보는 시행이 가상 머신에 의해 지원되는 흐름 제어 정책의 버전을 설명하는 데 사용됨 - ; 상기 호스트가, 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하는 것으로 결정한 후, 상기 호스트에 의해 송신되는 협상 확인 지시가 수신되면, 상기 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정하며; 상기 호스트가, 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하지 않는 것으로 결정한 후, 상기 호스트에 의해 송신되는 협상 비확인 지시가 수신되면, 상기 흐름 제어 정책의 협상된 시행자가 호스트인 것으로 결정하도록 구성되어 있으며,
또는
상기 제1 협상 유닛은 구체적으로, 상기 가상 머신의 흐름 제어 능력에 관한 설명 정보를 반송하는 시행자 협상 요구를 호스트에 송신하고; 협상 확인 지시가 상기 호스트에 의해 수신되면, 상기 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정하며 - 상기 호스트가, 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 흐름 제어 정책의 시행을 지원하는 것으로 결정한 후, 협상 확인 지시가 호스트에 의해 송신됨 - ; 그리고 시행자 협상 요구에 대한 응답으로 호스트에 의해 송신되는 협상 확인 지시가 제1 설정 기간 내에 수신되지 않으면, 상기 흐름 제어 정책의 협상된 시행자가 호스트인 것으로 결정하도록 구성되어 있으며,
또는
상기 제1 협상 유닛은 구체적으로, 상기 가상 머신의 흐름 제어 능력에 관한 설명 정보를 반송하는 시행자 협상 요구를 호스트에 송신하고 - 상기 흐름 제어 능력에 관한 설명 정보는 시행이 가상 머신에 의해 지원되는 흐름 제어 정책의 버전을 설명하는 데 사용됨 - ; 상기 호스트가, 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하는 것으로 결정한 후, 상기 호스트에 의해 송신되는 협상 확인 지시가 수신되면, 상기 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정하며; 그리고 시행자 협상 요구에 대한 응답으로 호스트에 의해 송신되는 협상 확인 지시가 제1 설정 기간 내에 수신되지 않으면, 상기 흐름 제어 정책의 협상된 시행자가 호스트인 것으로 결정하도록 구성되어 있으며,
또는
상기 제1 협상 유닛은 구체적으로, 상기 가상 머신의 흐름 제어 능력에 관한 설명 정보를 반송하는 시행자 협상 요구를 호스트에 송신하고; 협상 비확인 지시가 수신되면, 상기 흐름 제어 정책의 협상된 시행자가 호스트인 것으로 결정하며 - 상기 호스트가, 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 흐름 제어 정책의 시행을 지원하지 않는 것으로 결정한 후, 협상 비확인 지시가 호스트에 의해 송신되며; 그리고 시행자 협상 요구에 대한 응답으로 호스트에 의해 송신되는 협상 비확인 지시가 제2 설정 기간 내에 수신되지 않으면, 상기 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정하도록 구성되어 있으며,
또는
상기 제1 협상 유닛은 구체적으로, 상기 가상 머신의 흐름 제어 능력에 관한 설명 정보를 반송하는 시행자 협상 요구를 호스트에 송신하고 - 상기 흐름 제어 능력에 관한 설명 정보는 시행이 가상 머신에 의해 지원되는 흐름 제어 정책의 버전을 설명하는 데 사용됨 - ; 상기 호스트가, 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하는 것으로 결정한 후, 상기 호스트에 의해 송신되는 협상 비확인 지시가 수신되면, 상기 흐름 제어 정책의 협상된 시행자가 호스트인 것으로 결정하고; 그리고 시행자 협상 요구에 대한 응답으로 호스트에 의해 송신되는 협상 비확인 지시가 제2 설정 기간 내에 수신되지 않으면, 상기 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정하도록 구성되어 있다.
제5 관점 또는 제5 관점의 제1 가능한 실시 방식을 참조해서, 제2 가능한 실시 방식에서, 상기 가상 머신은:
상기 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정된 후, 상기 호스트에 심장박동 메시지를 주기적으로 송신하도록 구성되어 있는 송신 유닛
을 더 포함한다.
제5 관점, 제5 관점의 제1 가능한 실시 방식, 또는 제5 관점의 제2 가능한 실시 방식을 참조해서, 제3 가능한 실시 방식에서,
상기 흐름 제어 정책은 서비스 품질에 기초한 흐름 제어 정책 및/또는 액세스 제어 목록에 기초한 흐름 제어 정책이다.
제5 관점, 제5 관점의 제1 가능한 실시 방식, 제5 관점의 제2 가능한 실시 방식, 또는 제5 관점의 제3 가능한 실시 방식을 참조해서, 제4 가능한 실시 방식에서, 가상 머신의 흐름 제어 정책에 관한 설명 정보를 반송하는 시행자 협상 요구를 호스트에 송신하는 것에 있어서, 협상 유닛은 구체적으로 사용자-모드 프로세스에 의해 개시된 협상 시작 요구가 수신된 후 가상 머신의 흐름 제어 능력에 관한 설명 정보를 반송하는 시행자 협상 요구를 호스트에 송신하거나; 또는 호스트로부터 협상 시작 요구가 수신된 후 가상 머신의 흐름 제어 능력에 관한 설명 정보를 반송하는 시행자 협상 요구를 호스트에 송신하도록 구성되어 있다.
본 발명의 제6 관점은 호스트를 제공하며, 상기 호스트는:
가상 머신과 호스트(Host) 사이에서, 상기 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하도록 구성되어 있는 제2 협상 유닛; 및
상기 흐름 제어 정책의 협상된 시행자가 호스트인 것으로 결정되면, 상기 가상 머신으로부터 패킷을 수신한 후, 상기 흐름 제어 정책에 기초하여 상기 수신된 패킷에 대해 포워드 프로세싱을 수행하도록 구성되어 있는 패킷 프로세싱 유닛
을 포함한다.
제6 관점을 참조해서, 제1 가능한 실시 방식에서,
상기 제2 협상 유닛은 구체적으로, 상기 가상 머신에 의해 송신되고 상기 가상 머신의 흐름 제어 능력에 관한 설명 정보를 반송하는 시행자 협상 요구를 수신하고; 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 상기 제어 흐름 정책의 시행을 지원하는 것으로 결정되면, 상기 가상 머신에 협상 확인 지시를 송신하며 - 상기 협상 확인 지시는 상기 흐름 제어 정책의 협상된 시행자가 가상 머신이라는 것을 지시함 - ; 그리고 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 상기 흐름 제어 정책의 시행을 지원하지 않는 것으로 결정되면, 상기 가상 머신에 협상 비확인 지시를 송신하도록 구성되어 있으며, 상기 협상 비확인 지시는 상기 흐름 제어 정책의 협상된 시행자가 호스트라는 것을 지시하며,
또는
상기 제2 협상 유닛은 구체적으로, 상기 호스트가, 상기 가상 머신에 의해 송신되고 상기 가상 머신의 흐름 제어 능력에 관한 설명 정보를 반송하는 시행자 협상 요구를 수신하고 - 상기 흐름 제어 능력에 관한 설명 정보는 시행이 가상 머신에 의해 지원되는 흐름 제어 정책의 버전을 설명하는 데 사용됨 - ; 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 제어 흐름 정책의 시행을 지원하는 것으로 결정되면, 상기 가상 머신에 협상 확인 지시를 송신하며 - 상기 협상 확인 지시는 상기 흐름 제어 정책의 협상된 시행자가 가상 머신이라는 것을 지시함 - ; 그리고 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하지 않는 것으로 결정되면, 상기 가상 머신에 협상 비확인 지시를 송신하도록 구성되어 있으며, 상기 협상 비확인 지시는 상기 흐름 제어 정책의 협상된 시행자가 호스트라는 것을 지시한다.
제6 관점 또는 제6 관점의 제1 가능한 실시 방식을 참조해서, 제2 가능한 실시 방식에서, 상기 패킷 프로세싱 유닛은, 상기 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정된 후, 상기 가상 머신으로부터 심장박동 메시지가 설정 기간 내에 수신되지 않으면, 상기 흐름 제어 정책의 시행자가 호스트로 전환된다는 것을 지시하는 지시 메시지를 가상 머신에 송신하도록 추가로 구성되어 있다.
제6 관점 또는 제6 관점의 제1 가능한 실시 방식, 또는 제6 관점의 제2 가능한 실시 방식을 참조해서, 제3 가능한 실시 방식에서,
상기 흐름 제어 정책은 서비스 품질에 기초한 흐름 제어 정책 및/또는 액세스 제어 목록에 기초한 흐름 제어 정책이다.
본 발명의 제7 관점은 컴퓨팅 노드를 제공하며, 상기 컴퓨팅 노드는 하드웨어 계층, 상기 하드웨어 계층에서 실행되는 호스트(Host), 및 상기 호스트에서 실행되는 적어도 하나의 가상 머신을 포함하며,
상기 가상 머신은, 상기 가상 머신과 호스트(Host) 사이에서, 상기 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하고; 상기 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정되면, 상기 흐름 제어 정책에 기초하여 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하며; 그리고 상기 흐름 제어 정책의 협상된 시행자가 호스트인 것으로 결정되면, 상기 포워드 프로세싱될 패킷을 호스트에 송신하도록 구성되어 있으며,
상기 호스트는, 상기 제어 흐름 정책의 협상된 시행자가 호스트인 것으로 결정되면, 상기 가상 머신으로부터 패킷을 수신한 후 상기 흐름 제어 정책에 기초하여 상기 수신된 패킷에 대해 포워드 프로세싱을 수행하도록 구성되어 있다.
제7 관점을 참조해서, 제1 가능한 실시 방식에서,
상기 가상 머신과 호스트 사이에서, 상기 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하기 위해, 상기 가상 머신은 구체적으로, 상기 가상 머신의 흐름 제어 능력에 관한 설명 정보를 반송하는 시행자 협상 요구를 호스트에 송신하고; 협상 확인 지시가 수신되면, 상기 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정하며 - 상기 호스트가, 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 흐름 제어 정책의 시행을 지원하는 것으로 결정한 후, 상기 협상 확인 지시가 상기 호스트에 의해 송신되며; 그리고 협상 비확인 지시가 수신되면, 상기 흐름 제어 정책의 협상된 시행자가 호스트인 것으로 결정하도록 구성되어 있으며, 상기 호스트가, 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 흐름 제어 정책의 시행을 지원하지 않는 것으로 결정한 후, 상기 협상 비확인 지시가 호스트에 의해 송신되며,
또는
상기 가상 머신과 호스트 사이에서, 상기 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하기 위해, 상기 가상 머신은 구체적으로, 상기 가상 머신의 흐름 제어 능력에 관한 설명 정보를 반송하는 시행자 협상 요구를 호스트에 송신하고 - 상기 흐름 제어 능력에 관한 설명 정보는 시행이 가상 머신에 의해 지원되는 흐름 제어 정책의 버전을 설명하는 데 사용됨 - ; 상기 호스트가, 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하는 것으로 결정한 후, 상기 호스트에 의해 송신되는 협상 확인 지시가 수신되면, 상기 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정하며; 그리고 상기 호스트가, 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하지 않는 것으로 결정한 후, 상기 호스트에 의해 송신되는 협상 비확인 지시가 수신되면, 상기 흐름 제어 정책의 협상된 시행자가 호스트인 것으로 결정하도록 구성되어 있으며,
또는
상기 가상 머신과 호스트 사이에서, 상기 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하기 위해, 상기 가상 머신은 구체적으로, 상기 가상 머신의 흐름 제어 능력에 관한 설명 정보를 반송하는 시행자 협상 요구를 호스트에 송신하며; 협상 확인 지시가 수신되면, 상기 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정하며 - 상기 호스트가, 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 흐름 제어 정책의 시행을 지원하는 것으로 결정한 후, 상기 협상 확인 지시가 호스트에 의해 송신됨 - ; 그리고 시행자 협상 요구에 대한 응답으로 호스트에 의해 송신되는 협상 확인 지시가 제1 설정 기간 내에 수신되지 않으면, 상기 흐름 제어 정책의 협상된 시행자가 호스트인 것으로 결정하도록 구성되어 있으며,
또는
상기 가상 머신과 호스트 사이에서, 상기 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하기 위해, 상기 가상 머신은 구체적으로, 상기 가상 머신의 흐름 제어 능력에 관한 설명 정보를 반송하는 시행자 협상 요구를 호스트에 송신하고 - 상기 흐름 제어 능력에 관한 설명 정보는 시행이 가상 머신에 의해 지원되는 흐름 제어 정책의 버전을 설명하는 데 사용됨 - ; 상기 호스트가, 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하는 것으로 결정한 후, 상기 호스트에 의해 송신되는 협상 확인 지시가 수신되면, 상기 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정하며; 그리고 시행자 협상 요구에 대한 응답으로 호스트에 의해 송신되는 협상 확인 지시가 제1 설정 기간 내에 수신되지 않으면, 상기 흐름 제어 정책의 협상된 시행자가 호스트인 것으로 결정하도록 구성되어 있으며,
또는
상기 가상 머신과 호스트 사이에서, 상기 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하기 위해, 상기 가상 머신은 구체적으로, 상기 가상 머신의 흐름 제어 능력에 관한 설명 정보를 반송하는 시행자 협상 요구를 호스트에 송신하고; 협상 비확인 지시가 수신되면, 상기 흐름 제어 정책의 협상된 시행자가 호스트인 것으로 결정하며 - 상기 호스트가, 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 흐름 제어 정책의 시행을 지원하지 않는 것으로 결정한 후, 상기 협상 비확인 지시가 호스트에 의해 송신됨 - ; 그리고 시행자 협상 요구에 대한 응답으로 호스트에 의해 송신되는 협상 비확인 지시가 제2 설정 기간 내에 수신되지 않으면, 상기 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정하도록 구성되어 있으며,
또는
상기 가상 머신과 호스트 사이에서, 상기 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하기 위해, 상기 가상 머신은 구체적으로, 상기 가상 머신의 흐름 제어 능력에 관한 설명 정보를 반송하는 시행자 협상 요구를 호스트에 송신하고 - 상기 흐름 제어 능력에 관한 설명 정보는 시행이 가상 머신에 의해 지원되는 흐름 제어 정책의 버전을 설명하는 데 사용됨 - ; 상기 호스트가, 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하는 것으로 결정한 후, 상기 호스트에 의해 송신되는 협상 비확인 지시가 수신되면, 상기 흐름 제어 정책의 협상된 시행자가 호스트인 것으로 결정하며; 그리고 시행자 협상 요구에 대한 응답으로 호스트에 의해 송신되는 협상 비확인 지시가 제2 설정 기간 내에 수신되지 않으면, 상기 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정하도록 구성되어 있다.
제7 관점 또는 제7 관점의 제1 가능한 실시 방식을 참조해서, 제2 가능한 실시 방식에서,
상기 호스트는, 상기 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정된 후, 상기 가상 머신으로부터 심장박동 메시지가 설정 기간 내에 수신되지 않으면, 상기 흐름 제어 정책의 시행자가 호스트로 전환된다는 것을 지시하는 지시 메시지를 가상 머신에 송신하도록 추가로 구성되어 있다.
본 발명의 제8 관점은 컴퓨팅 노드를 제공하며, 상기 컴퓨팅 노드는:
스토리지, 및 상기 스토리지에 접속되어 있는 프로세서
를 포함하며,
상기 프로세서는,
호스트(Host)와 가상 머신 사이에서, 상기 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하고; 그리고
상기 흐름 제어 정책의 협상된 시행자가 가상 머신이면, 상기 흐름 제어 정책에 기초하여 가상 머신의 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하며; 그리고 상기 흐름 제어 정책의 협상된 시행자가 호스트이면, 상기 포워드 프로세싱될 패킷을 가상 머신으로부터 호스트로 송신하고, 상기 흐름 제어 정책에 기초하여 상기 호스트에 의해 수신된 상기 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하도록 구성되어 있다.
제8 관점을 참조해서, 제8 관점의 제1 가능한 실시 방식에서,
상기 프로세서는, 가상 머신에 의해 호스트에 송신되어야 하는 시행자 협상 요구를 호스트에 송신하고 - 상기 시행자 협상 요구는 상기 가상 머신의 흐름 제어 능력에 관한 설명 정보를 반송함 - ; 상기 호스트가 상기 시행자 협상 요구를 수신한 후, 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 상기 흐름 제어 정책의 시행을 지원하는 것으로 결정되면, 호스트에 의해 가상 머신에 송신되어야 하는 협상 확인 지시를 가상 머신에 송신하며 - 상기 협상 확인 지시는 상기 흐름 제어 정책의 협상된 시행자가 가상 머신이라는 것을 지시함 - ; 및/또는 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 상기 흐름 제어 정책의 시행을 지원하지 않는 것으로 결정되면, 호스트에 의해 가상 머신에 송신되어야 하는 협상 비확인 지시를 가상 머신에 송신하도록 구성되어 있으며, 상기 협상 비확인 지시는 상기 흐름 제어 정책의 협상된 시행자가 호스트라는 것을 지시하며,
또는
상기 프로세서는, 가상 머신에 의해 호스트에 송신되어야 하는 시행자 협상 요구를 호스트에 송신하고 - 상기 시행자 협상 요구는 상기 가상 머신의 흐름 제어 능력에 관한 설명 정보를 반송하고, 상기 흐름 제어 능력에 관한 설명 정보는 시행이 가상 머신에 의해 지원되는 흐름 제어 정책이 버전을 설명하는 데 사용됨 - ; 상기 호스트가 상기 시행자 협상 요구를 수신한 후, 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하는 것으로 결정되면, 호스트에 의해 가상 머신에 송신되어야 하는 협상 확인 지시를 가상 머신에 송신하며 - 상기 협상 확인 지시는 상기 흐름 제어 정책의 협상된 시행자가 가상 머신이라는 것을 지시함 - ; 및/또는 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하지 않는 것으로 결정되면, 호스트에 의해 가상 머신에 송신되어야 하는 협상 비확인 지시를 가상 머신에 송신하도록 구성되어 있으며, 상기 협상 비확인 지시는 상기 흐름 제어 정책의 협상된 시행자가 호스트라는 것을 지시한다.
제8 관점의 제1 가능한 실시 방식을 참조해서, 제2 가능한 실시 방식에서, 상기 협상 확인 지시는 상기 흐름 제어 정책을 포함하며,
상기 프로세서는, 상기 협상 확인 지시에 포함되어 있는 상기 흐름 제어 정책에 기초하여 상기 가상 머신의 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하도록 구성되어 있다.
제8 관점, 제8 관점의 제1 가능한 실시 방식을 참조해서, 또는 제8 관점의 제2 가능한 실시 방식을 참조해서, 제3 가능한 실시 방식에서, 상기 프로세서는: 상기 흐름 제어 정책의 협상된 시행자가 가상 머신인 후, 상기 호스트가, 상기 가상 머신으로부터 심장박동 메시지를 설정 기간 내에 수신하지 않으면, 호스트에 의해 가상 머신에 송신되어야 하고 상기 흐름 제어 정책의 시행자가 호스트로 전환된다는 것을 지시하는 데 사용되는 지시 메시지를 가상 머신에 송신하도록 추가로 구성되어 있다.
본 발명의 실시예에 따른 일부의 기술적 솔루션에서, 가상 머신과 호스트 사이에서 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하고, 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정되면, 가상 머신은 흐름 제어 정책에 기초하여 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하며, 흐름 제어 정책의 협상된 시행자가 호스트인 것으로 결정되면, 가상 머신은 호스트에 상기 포워드 프로세싱될 패킷을 송신함으로써, 상기 호스트는 흐름 제어 정책에 기초하여 상기 수신된 패킷에 대해 포워드 프로세싱을 수행할 수 있다는 것을 알 수 있다. 가상 머신과 호스트가 흐름 제어 정책의 시행자를 협상하는 메커니즘이 도입됨으로써, 가상 머신과 Host 양자는 흐름 제어 정책의 시행자가 될 기회를 가지며, 이에 의해 가상 머신은 흐름 제어 정책을 시행할 수 있으며, 이것은 패킷에 대한 흐름 제어를 가능한 일찍 수행할 수 있게 해주며, 비효율적 프로세싱을 감소시키고 무효한 패킷 흐름에 의해 점유되는, 호스트의 대역폭 및 어드레스 공간을 더 감소시킬 수 있게 한다. 이 솔루션은 가상 머신의 아웃바운드 패킷 흐름을 처리하는 데 점유되는, 호스트의 어드레스 공간을 감소시킬 수 있게 한다는 것을 알 수 있다. 또한, 흐름 제어 정책의 시행자는 협상을 통해 결정되므로, 흐름 제어 정책의 시행자의 시행 능력은 확실하게 보장되며, 이것은 흐름 제어 정책을 시행하는 신뢰도를 높일 수 있게 해준다.
본 발명의 실시예의 기술적 솔루션을 더 명확하게 설명하기 위해, 이하에서는 본 발명의 실시예를 설명하는 데 필요한 첨부된 도면에 대해 간략하게 설명한다. 당연히, 이하의 실시예의 첨부된 도면은 본 발명의 일부의 실시예에 지나지 않으며, 당업자라면 창조적 노력 없이 첨부된 도면으로부터 다른 도면을 도출해낼 수 있을 것이다.
도 1은 본 발명의 실시예에 따른 가상화 아키텍처에 대한 개략도이다.
도 2는 본 발명의 실시예에 따른 다른 가상화 아키텍처에 대한 개략도이다.
도 3은 본 발명의 실시예에 따른 패킷 흐름 제어 방법에 대한 개략적인 흐름도이다.
도 4a는 본 발명의 실시예에 따른 다른 패킷 포워딩 및 제어 방법에 대한 개략적인 흐름도이다.
도 4b는 본 발명의 실시예에 따른 다른 패킷 포워딩 및 제어 방법에 대한 개략적인 흐름도이다.
도 5a는 본 발명의 실시예에 따른 다른 패킷 포워딩 및 제어 방법에 대한 개략적인 흐름도이다.
도 5b는 본 발명의 실시예에 따른 다른 컴퓨팅 노드에 대한 개략적인 구조도이다.
도 5c는 본 발명의 실시예에 따른 다른 패킷 흐름 제어의 효과에 대한 개략도이다.
도 6a는 본 발명의 실시예에 따른 다른 패킷 포워딩 및 제어 방법에 대한 개략적인 흐름도이다.
도 6b는 본 발명의 실시예에 따른 다른 패킷 흐름 제어의 효과에 대한 개략도이다.
도 7은 본 발명의 실시예에 따른 다른 패킷 포워딩 및 제어 방법에 대한 개략적인 흐름도이다.
도 8은 본 발명의 실시예에 따른 다른 패킷 포워딩 및 제어 방법에 대한 개략적인 흐름도이다.
도 9는 본 발명의 실시예에 따른 가상 머신에 에 대한 개략적인 구조도이다.
도 10은 본 발명의 실시예에 따른 호스트에 대한 개략적인 구조도이다.
도 11은 본 발명의 실시예에 따른 컴퓨팅 노드에 대한 개략적인 구조도이다.
도 12는 본 발명의 실시예에 따른 다른 컴퓨팅 노드에 대한 개략적인 구조도이다.
도 13은 본 발명의 실시예에 따른 다른 컴퓨팅 노드에 대한 개략적인 구조도이다.
본 발명의 실시예는 흐름 제어 방법, 관련 장치, 및 컴퓨팅 노드를 제공하여, 가상 머신의 아웃바운드 패킷 흐름을 처리하기 위해 점유되는 호스트의 어드레스 공간을 감소시킨다.
당업자가 본 발명의 기술적 솔루션을 더 잘 이해할 수 있도록 하기 위해, 이하에서는 본 발명의 실시예에 첨부된 도면을 참조하여 본 발명의 실시예의 기술적 솔루션에 대해 명확하고 완전하게 설명한다. 당연히, 설명된 실시예는 본 발명의 모든 실시예가 아닌 일부에 지나지 않는다. 당업자가 창조적 노력 없이 본 발명의 실시예에 기초하여 획득하는 모든 다른 실시예는 본 발명의 보호 범위 내에 있게 된다.
본 발명의 실시예를 쉽게 이해할 수 있도록 하기 위해, 본 발명의 실시예를 설명하는 데 소개되는 수 개의 요소에 대해 먼저 여기서 설명한다.
가상 머신 VM: 가상 머신 소프트웨어를 사용함으로써 하나 이상의 가상 컴퓨터가 하나의 물리적 컴퓨터에 시뮬레이트될 수 있다. 이러한 가상 머신은 실제의 컴퓨터처럼 작동하여, 운영체제 및 응용 프로그램이 이 가상 머신에 설치될 수 있으며, 가상 머신은 네트워크 자원에 추가로 액세스할 수 있다. 가상 머신에서 실행되는 응용 프로그램에 있어서, 응용 프로그램은 실제의 컴퓨터에서 작동하는 것처럼 가상 머신에서 작동한다.
하드웨어 계층: 하드웨어 계층은 가상화된 환경이 실행되는 하드웨어 플랫폼이다. 하드웨어 계층은 다양한 하드웨어를 포함할 수 있다. 예를 들어, 컴퓨팅 노드의 하드웨어 계층은 CPU 및 메모리를 포함할 수 있으며, 네트워크 인터페이스 카드 및 스토리지 장치와 같은 고속/저속 입력/출력(input/output) 장치, 및 입력/출력 메모리 관리 유닛(Input/Output Memory Managemenet Unit, IOMMU)과 같은 특정한 처리 가능을 가지는 다른 장치를 더 포함할 수 있으며, IOMMU는 가상 머신의 물리적 어드레스와 호스트의 물리적 어드레스 간의 변환을 수행하는 데 사용된다.
호스트(Host): 호스트는 관리 계층으로서 하드웨어 자원의 관리 및 할당을 수행하고, 가상 머신에 가상 하드웨어 플랫폼을 제공하며, 가상 머신의 스케줄링 및 격리를 수행하는 데 사용된다. 호스트는 가상 머신 모니터(virtual machine monitor, VMM)일 수 있다. 또한, 일부의 경우, VMM은 하나의 특권의 가상 머신과 협동하며, VMM 및 가상 머신은 Host를 형성하도록 결합된다. 가상 하드웨어 플랫폼은 가상의 하드웨어 플랫폼 상에서 실행되는 각각의 가상 머신에 다양한 하드웨어 자원을 제공하는데, 예를 들어, 가상의 중앙처리장치(Central Processing Unit, CPU), 메모리, 가상 디스크, 가상 네트워크 인터페이스 카드 등을 제공한다. 가상 디스크는 호스트의 파일 도는 논리적 블록 장치에 대응할 수 있다. 가상 머신은 가상 머신을 위해 호스트에 의해 준비된 가상 하드웨어 플랫폼 상에서 실행되며, 하나 이상의 가상 머신이 Host 상에서 실행된다.
도 2를 참조하면, 도 2는 본 발명의 실시예에 따른 컴퓨팅 노드의 가상화 아키텍처에 대한 개략도이고, 여기서 아키텍처는 3개의 계층: 하드웨어 계층, Host, 및 가상 머신(VM)을 포함할 수 있다. 하드웨어 계층은 네트워크 인터페이스 카드를 포함한다. 네트워크 인터페이스에 대응하는 백-엔드(Back-End, BE) 인스턴스는 호스트에 배치되고, VM은 네트워크 인터페이스 카드에 대응하는 프론트-엔드(Front-End, FE) 인스턴스를 가지며, 여기서 VM 내의 BE는 네트워크 인터페이스 카드의 프론트-엔드 드라이브로서 고려될 수 있으며, 호스트 내의 FE는 네트워크 인터페이스 카드의 백-엔드 드라이버로서 고려될 수 있다.
본 발명에 따른 흐름 제어 방법의 실시예에서, 패킷 흐름 제어 방법은: 가상 머신과 호스트(Host) 사이에서, 상기 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하는 단계; 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정되면, 상기 가상 머신이, 상기 흐름 제어 정책에 기초하여 포워드 프로세싱될 패킷(to-be-forward-processed packet)에 대해 포워드 프로세싱을 수행하는 단계; 및 상기 흐름 제어 정책의 협상된 시행자가 호스트인 것으로 결정되면, 상기 호스트가 상기 흐름 제어 정책에 기초하여, 수신된 패킷에 대해 포워드 프로세싱을 수행할 수 있도록, 상기 가상 머신이 상기 포워드 프로세싱될 패킷을 호스트에 송신하는 단계를 포함한다.
도 3을 참조하면, 도 3은 본 발명의 실시예에 따른 패킷 흐름 제어 방법에 대한 개략적인 흐름도이다. 도 3에 도시된 바와 같이, 본 발명의 실시예에 따른 패킷 흐름 제어 방법은 이하의 내용을 포함할 수 있다:
301. 가상 머신과 호스트 사이에서, 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상한다.
본 발명의 일부의 실시예에서, 가상 머신 및 호스트는, 가상 머신과 호스트 사이에서, 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 복수의 방식으로 협상할 수 있다.
예를 들어, 상기 가상 머신과 호스트(Host) 사이에서, 상기 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하는 단계는: 상기 가상 머신이, 상기 가상 머신의 흐름 제어 능력에 관한 설명 정보를 반송(搬送)하는 시행자 협상 요구를 호스트에 송신하는 단계; 상기 호스트가, 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 흐름 제어 정책의 시행을 지원하는 것으로 결정한 후, 상기 가상 머신이 호스트에 의해 송신되는 협상 확인 지시(negotiation acknowledgement indication)를 수신하면, 상기 가상 머신이, 상기 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정하는 단계; 및 상기 호스트가, 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 흐름 제어 정책의 시행을 지원하지 않는 것으로 결정한 후, 상기 가상 머신이 호스트에 의해 송신되는 협상 비확인 지시(negotiation non-acknowledgement indication)를 수신하면, 상기 가상 머신이, 상기 흐름 제어 정책의 협상된 시행자가 호스트인 것으로 결정하는 단계를 포함한다.
다른 예에 있어서, 상기 가상 머신과 호스트 사이에서, 상기 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하는 단계는: 상기 가상 머신이, 상기 가상 머신의 흐름 제어 능력에 관한 설명 정보를 반송하는 시행자 협상 요구를 호스트에 송신하는 단계 - 상기 흐름 제어 능력에 관한 설명 정보는 시행이 가상 머신에 의해 지원되는 흐름 제어 정책의 버전을 설명하는 데 사용됨 - ; 상기 호스트가, 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하는 것으로 결정한 후, 상기 가상 머신이 호스트에 의해 송신되는 협상 확인 지시를 수신하면, 상기 가상 머신이, 상기 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정하는 단계; 및 상기 호스트가, 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하지 않는 것으로 결정한 후, 상기 가상 머신이 호스트에 의해 송신되는 협상 비확인 지시를 수신하면, 상기 가상 머신이, 상기 흐름 제어 정책의 협상된 시행자가 호스트인 것으로 결정하는 단계를 포함한다.
다른 예에 있어서, 상기 가상 머신과 호스트(Host) 사이에서, 상기 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하는 단계는: 상기 가상 머신이, 상기 가상 머신의 흐름 제어 능력에 관한 설명 정보를 반송하는 시행자 협상 요구를 호스트에 송신하는 단계; 상기 호스트가, 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 흐름 제어 정책의 시행을 지원하는 것으로 결정한 후, 상기 가상 머신이 호스트에 의해 송신되는 협상 확인 지시를 수신하면, 상기 가상 머신이, 상기 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정하는 단계; 및 상기 가상 머신이, 제1 설정 기간 내에서, 시행자 협상 요구에 대한 응답으로 호스트에 의해 송신되는 협상 확인 지시를 수신하지 않으면, 상기 가상 머신이, 상기 흐름 제어 정책의 협상된 시행자가 호스트인 것으로 결정하는 단계를 포함한다.
다른 예에 있어서, 상기 가상 머신과 호스트(Host) 사이에서, 상기 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하는 단계는: 상기 가상 머신이, 상기 가상 머신의 흐름 제어 능력에 관한 설명 정보를 반송하는 시행자 협상 요구를 호스트에 송신하는 단계 - 상기 흐름 제어 능력에 관한 설명 정보는 시행이 가상 머신에 의해 지원되는 흐름 제어 정책의 버전을 설명하는 데 사용됨 - ; 상기 호스트가, 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하는 것으로 결정한 후, 상기 가상 머신이 호스트에 의해 송신되는 협상 확인 지시를 수신하면, 상기 가상 머신이, 상기 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정하는 단계; 및 상기 호스트가, 제1 설정 기간 내에서, 시행자 협상 요구에 대한 응답으로 호스트에 의해 송신되는 협상 확인 지시를 수신하지 않으면, 상기 가상 머신이, 상기 흐름 제어 정책의 협상된 시행자가 호스트인 것으로 결정하는 단계를 포함한다.
다른 예에 있어서, 상기 가상 머신과 호스트(Host) 사이에서, 상기 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하는 단계는: 상기 가상 머신이, 상기 가상 머신의 흐름 제어 능력에 관한 설명 정보를 반송하는 시행자 협상 요구를 호스트에 송신하는 단계; 상기 호스트가, 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 흐름 제어 정책의 시행을 지원하지 않는 것으로 결정한 후, 상기 가상 머신이 호스트에 의해 송신되는 협상 비확인 지시를 수신하면, 상기 가상 머신이, 상기 흐름 제어 정책의 협상된 시행자가 호스트인 것으로 결정하는 단계; 및 상기 가상 머신이, 제2 설정 기간 내에서, 시행자 협상 요구에 대한 응답으로 호스트에 의해 송신되는 협상 비확인 지시를 수신하지 않으면, 상기 가상 머신이, 상기 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정하는 단계를 포함한다.
다른 예에 있어서, 상기 가상 머신과 호스트 사이에서, 상기 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하는 단계는: 상기 가상 머신이, 상기 가상 머신의 흐름 제어 능력에 관한 설명 정보를 반송하는 시행자 협상 요구를 호스트에 송신하는 단계 - 상기 흐름 제어 능력에 관한 설명 정보는 시행이 가상 머신에 의해 지원되는 흐름 제어 정책의 버전을 설명하는 데 사용됨 - ; 상기 호스트가, 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하는 것으로 결정한 후, 상기 가상 머신이 호스트에 의해 송신되는 협상 비확인 지시를 수신하면, 상기 가상 머신이, 상기 흐름 제어 정책의 협상된 시행자가 호스트인 것으로 결정하는 단계; 및 상기 가상 머신이, 제2 설정 기간 내에서, 시행자 협상 요구에 대한 응답으로 호스트에 의해 송신되는 협상 비확인 지시를 수신하지 않으면, 상기 가상 머신이, 상기 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정하는 단계를 포함한다.
본 발명의 일부의 실시예에서, 흐름 제어 능력에 관한 설명 정보는 시행이 가상 머신에 의해 지원되는 흐름 제어 정책의 버전을 설명하는 데 사용되며; 그러므로 호스트가, 흐름 제어 능력에 관한 설명 정보에 따라, 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하는지를 판정하는 것은 구체적으로: 비교를 통해, 흐름 제어 능력에 관한 설명 정보에 의해 설명되는, 시행이 가상 머신에 의해 지원되는 흐름 제어 정책의 버전이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책과 동일한지를 판정하는 단계; 이것들이 동일하면, 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하는 것으로 결정하는 단계; 및 이것들이 다르면, 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하지 않는 것으로 결정하는 단계를 포함할 수 있다. 다른 예에 있어서, 호스트가, 흐름 제어 능력에 관한 설명 정보에 따라, 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하는지를 판정하는 것은 구체적으로: 비교를 통해, 흐름 제어 능력에 관한 설명 정보에 의해 설명되는, 시행이 가상 머신에 의해 지원되는 흐름 제어 정책의 k(단, k는 양의 정수)개의 버전의 각각의 버전이 흐름 제어 정책의 현재의 최신 버전 또는 사전설정된 버전과 동일한지를 판정하는 단계; 비교에 의해, k개의 버전 중 하나의 버전이 흐름 제어 정책의 현재의 최신 버전 또는 사전설정된 버전인 것이 획득되면, 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하는 것으로 결정하는 단계; 비교에 의해, k개의 버전 중 어느 하나의 버전이 흐름 제어 정책의 현재의 최신 버전 또는 사전설정된 버전과 다르다는 것이 획득되면, 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하지 않는 것으로 결정하는 단계를 포함한다.
가상 머신과 호스트가, 가상 머신과 호스트 사이에서, 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하는 특정한 방식은 전술한 예에 제한되지 않는다는 것을 이해할 수 있을 것이다.
302. 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정되면, 가상 머신이, 상기 흐름 제어 정책에 기초하여 포워드 프로세싱될 패킷(to-be-forward-processed packet)에 대해 포워드 프로세싱을 수행한다.
303. 흐름 제어 정책의 협상된 시행자가 호스트인 것으로 결정되면, 상기 호스트가 흐름 제어 정책에 기초하여, 수신된 패킷에 대해 포워드 프로세싱을 수행할 수 있도록, 가상 머신이 포워드 프로세싱될 패킷을 호스트에 송신한다.
본 실시예에서 언급된 흐름 제어 정책은 예를 들어 서비스 품질에 기초한 흐름 제어 정책 및/또는 액세스 제어 목록에 기초한 흐름 제어 정책일 수 있으며, 당연히, 흐름 제어 정책은 다른 요인을 참조하는 흐름 제어 정책일 수도 있다.
서비스 품질에 기초한 흐름 제어 정책에서, 패킷에 대해 포워드 프로세싱을 수행하는 특정한 방식은 주로, 포워드 프로세스될 패킷에 대응하는 서비스 우선권에 기초하여 결정된다(여기서 특정한 포워드 프로세싱 방식은 지연을 가지는 패킷을 송신하기, 지연을 가지지 않는 패킷을 송신하기, 또는 패킷을 폐기하기 등일 수 있다). 예를 들어, 복수의 포워드 프로세싱될 패킷이 현재 캐시 내에 존재하고, 상위의 서비스 우선권에 대응하는 패킷이 짧은 지연으로 또는 심지어 지연이 없이 송신될 수 있으며, 하위의 서비스 우선권에 대응하는 패킷은 긴 지연으로 송신될 수 있고, 설정된 우선권 임계값보다 낮은 서비스 우선권에 대응하는 포워드 프로세싱될 패킷은 심지어 폐기될 수도 있다. 이것은 고 우선권 서비스의 서비스 품질을 가능한 한 많이 보장할 수 있게 해준다. 즉, 서비스 품질에 기초하여 흐름 제어 정책에 따라 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 단계는 구체적으로: 포워드 프로세싱될 패킷의 서비스 우선권에 대응하는 포워드 프로세싱 방식에 따라 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 단계를 포함할 수 있다.
액세스 제어 목록에 기초하는 흐름 제어 정책에서, 패킷에 대해 포워드 프로세싱을 수행하는 특정한 방식은 주로, 포워드 프로세싱될 패킷에 반송되는 정보가 액세스 제어 목록에 포함된 레코드와 일치하는지에 기초하여 결정된다. 예를 들어, 액세스 제어 목록은 제한된 액세스 제어 목록(이것은 블랙리스트와 유사하다)이고, 제한된 액세스 제어 목록이 발신지/목적지 어드레스, 애플리케이션-계층 프로토콜 유형, 또는 포워드 프로세싱될 패킷의 트랜스포트-계층 프로토콜 유형 및/또는 패킷 헤더에 포함된 특정한 키워드와 같은 정보와 일치하는 레코드를 가지면, 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 방식은 직접적으로 패킷을 폐기하는 것일 수 있으며; 대조적으로, 제한된 액세스 제어 목록이 발신지/목적지 어드레스, 애플리케이션-계층 프로토콜 유형, 또는 포워드 프로세싱될 패킷의 트랜스포트-계층 프로토콜 유형 및/또는 패킷 헤더에 포함된 특정한 키워드와 같은 정보와 일치하는 레코드를 가지지 않으면, 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 방식은 직접적으로 패킷을 포워딩하는 것일 수 있다. 다른 예에 있어서, 액세스 제어 목록은 허용된 액세스 제어 목록(이것은 화이트리스트와 유사하다)이고, 허용된 액세스 제어 목록이 발신지/목적지 어드레스, 애플리케이션-계층 프로토콜 유형, 또는 포워드 프로세싱될 패킷의 트랜스포트-계층 프로토콜 유형 및/또는 패킷 헤더에 포함된 특정한 키워드와 같은 정보와 일치하는 레코드를 가지지 않으면, 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 방식은 직접적으로 패킷을 폐기하는 것일 수 있고; 허용된 액세스 제어 목록이 발신지/목적지 어드레스, 애플리케이션-계층 프로토콜 유형, 또는 포워드 프로세싱될 패킷의 트랜스포트-계층 프로토콜 유형 및/또는 패킷 헤더에 포함된 특정한 키워드와 같은 정보와 일치하는 레코드를 가지면, 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 방식은 직접적으로 패킷을 포워딩하는 것일 수 있다. 다른 경우도 유사하게 처리될 수 있다.
본 발명의 일부의 실시예에서, 협상 확인 지시는 흐름 제어 정책을 포함하며, 상기 가상 머신이, 상기 흐름 제어 정책에 기초하여 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 단계는: 상기 가상 머신이, 상기 협상 확인 지시에 포함되어 있는 상기 흐름 제어 정책에 기초하여 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 단계를 포함한다.
당연히, 호스트는 다른 방식으로 가상 머신에 흐름 제어 정책을 전달할 수도 있으며, 이에 따라 가상 머신은, 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정된 후, 호스트에 의해 전달된 흐름 제어 정책에 기초하여 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행할 수 있다. 당연히, 흐름 제어 정책은 가상 머신에 사전에 구성될 수도 있으며, 가상 머신이, 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정할 때, 가상 머신은 사전에 구성된 흐름 제어 정책에 기초하여 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행한다.
본 발명의 일부의 실시예에서, 가상 머신이 가상 머신의 흐름 제어 능력에 관한 설명 정보를 반송하는 시행자 협상 요구를 호스트에 송신하는 것은: 가상 머신이 사용자-모드 프로세스에 의해 개시된 협상 시작 요구(이것은, 즉 사용자-모드 애플리케이션 또는 사용자 명령에 의해 촉발될 수 있다)를 수신한 후, 상기 가상 머신의 흐름 제어 능력에 관한 설명 정보를 반송하는 시행자 협상 요구를 호스트에 송신하는 단계; 또는 상기 가상 머신이, 호스트로부터 협상 시작 요구를 수신한 후, 상기 가상 머신의 흐름 제어 능력에 관한 설명 정보를 반송하는 시행자 협상 요구를 호스트에 송신하는 단계를 포함한다. 당연히, 가상 머신은 상기 가상 머신의 흐름 제어 능력에 관한 설명 정보를 반송하는 시행자 협상 요구를 호스트에 송신하도록 독립적으로 촉발될 수도 있고 다른 조건에 의해 촉발될 수도 있다.
본 발명의 일부의 실시예에서, 가상 머신에는 프리로드 클라이언트(preload client)가 배치될 수 있고, 호스트에는 프리로드 서버가 배치될 수 있으며, 프리로드 클라이언트 및 프리로드 서버는, 가상 머신과 호스트 사이에서, 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상할 수 있다. 예를 들어, 상기 가상 머신과 호스트 사이에서, 상기 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하는 단계는: 상기 가상 머신에 배치된 프리로드 클라이언트와 호스트에 배치된 프리로드 서버 간의 접속이 구축된 후, 상기 프리로드 클라이언트가 상기 구축된 접속에 기초하여 상기 프리로드 서버와, 가상 머신과 호스트 사이에서, 상기 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하는 단계를 포함할 수 있다.
본 발명의 일부의 실시예에서, 추가로, 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정된 후, 프리로드 클라이언트는 상기 접속에 기초하여 프리로드 서버에 심장박동 메시지(heartbeat message)를 주기적으로 송신한다. 심장박동 메시지를 송신하는 목적 중 하나는 가상 머신이 적절하게 작동하는 상태에 대해 호스트에 통지하기 위한 것이며, 호스트가 설정 기간 내에 가상 머신으로부터 심장박동 메시지를 수신하지 않으면, 호스트는 디폴트에 의해 가상 머신에 장애가 발생한 것으로 결정할 수 있다. 예를 들어, 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정된 후, 호스트가 사전설정 기간 내에 가상 머신으로부터 심장박동 메시지를 수신하지 않으면, 호스트는 흐름 제어 정책의 시행자를 호스트로 전환할 수 있으며(즉, 호스트는 또한 패킷에 대해 포워드 프로세싱을 수행하며, 이것은 가상 머신으로부터, 가상 머신이 흐름 제어 정책에 기초하여 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는지에 관계없이 흐름 제어 정책에 기초하며, Host 및 가상 머신에서 시행되는 흐름 제어 정책은 동일하기 때문에, 동일한 패킷 흐름에 있어서, Host 또는 가상 머신 또는 양자가 흐름 제어 정책을 시행하면, 최종적인 패킷 출력 조건들은 기본적으로 동일하다), 흐름 제어 정책의 시행자가 호스트로 전환된다는 것을 지시하는 데 사용되는 지시 메시지를 가상 머신에 송신할 수도 있고 송신하지 않을 수도 있다.
본 발명의 일부의 실시예에서, 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정된 후, 프리로드 클라이언트는 또한, 가상 머신이 흐름 제어 정책을 시행할 때 장애가 발생하면, 가상 머신이 흐름 제어 정책을 시행할 때 장애가 발생한다는 것을 지시하는 지시 메시지를 프리로드 서버에 송신할 수도 있으며; 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정된 후, 호스트가 가상 머신이 흐름 제어 정책을 시행할 때 장애가 발생한다는 것을 지시하는 지시 메시지를 가상 머신으로부터 수신하면, 호스트는 흐름 제어 정책의 시행자를 호스트로 전환할 수 있다.
본 발명의 일부의 실시예에서, 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정된 후, 프리로드 서버는 가상 머신이 흐름 제어 정책을 적절하게 시행하는지를 질의하는 상태 질의 메시지를 프리로드 클라이언트에 주기적으로 또는 비주기적으로 송신할 수도 있으며; 상태 질의 메시지에 대한 응답으로 상태 지시 메시지가 설정 기간 내에 가상 머신으로부터 수신되지 않거나, 가상 머신이 흐름 제어 정책을 시행할 때 장애가 발생한다는 것을 지시하는 지시 메시지를 가상 머신으로부터 수신하면, 가상 머신이 흐름 제어 정책을 시행할 대 장애가 발생하는 것으로 결정될 수 있다. 당연히, 프리로드 서버는 가상 머신이 흐름 제어 정책을 시행할 때 장애가 발생하는지를 다른 방식으로 모니터링할 수도 있다. 가상 머신이 흐름 제어 정책을 시행할 때 장애가 발생하는 것으로 결정되면, 호스트는 흐름 제어 정책의 시행자를 호스트로 전환할 수 있다.
본 발명의 실시예에 따른 솔루션에서, 가상 머신과 호스트 사이에서 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하고, 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정되면, 가상 머신은 흐름 제어 정책에 기초하여 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하며, 흐름 제어 정책의 협상된 시행자가 호스트인 것으로 결정되면, 가상 머신은 호스트에 상기 포워드 프로세싱될 패킷을 송신함으로써, 상기 호스트는 흐름 제어 정책에 기초하여 상기 수신된 패킷에 대해 포워드 프로세싱을 수행할 수 있다는 것을 알 수 있다. 가상 머신과 호스트가 흐름 제어 정책의 시행자를 협상하는 메커니즘이 도입됨으로써, 가상 머신과 Host 양자는 흐름 제어 정책의 시행자가 될 기회를 가지며, 이에 의해 가상 머신은 흐름 제어 정책을 시행할 수 있으며, 이것은 패킷에 대한 흐름 제어를 가능한 일찍 수행할 수 있게 해주며, 비효율적 프로세싱을 감소시키고 무효한 패킷 흐름에 의해 점유되는, 호스트의 대역폭 및 어드레스 공간을 더 감소시킬 수 있게 한다. 이 솔루션은 가상 머신의 아웃바운드 패킷 흐름을 처리하는 데 점유되는, 호스트의 어드레스 공간을 감소시킬 수 있게 한다는 것을 알 수 있다. 또한, 흐름 제어 정책의 시행자는 협상을 통해 결정되므로, 흐름 제어 정책의 시행자의 시행 능력은 확실하게 보장되며, 이것은 흐름 제어 정책을 시행하는 신뢰도를 높일 수 있게 해준다.
또한, 가상 머신 및 Host 양자가 흐름 제어 정책의 시행을 지원할 때, 가상 머신은 흐름 제어 정책을 시행함에 있어서 우선권을 가지며, 이것은 추가로 패킷에 대해 흐름 제어를 가능한 일찍 수행할 수 있게 해주며, 비효율적인 프로세싱과 무효한 패킷 흐름에 의해 점유되는 대역폭을 더 감소시킬 수 있게 해준다.
본 발명에 따른 흐름 제어 방법의 다른 실시예에서, 다른 패킷 흐름 제어 방법은: 가상 머신과 호스트 사이에서, 상기 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하는 단계; 및 상기 흐름 제어 정책의 협상된 시행자가 호스트이면, 호스트가 가상 머신으로부터 패킷을 수신한 후, 흐름 제어 정책에 기초하여 상기 수신된 패킷에 대해 포워드 프로세싱을 수행하는 단계를 포함한다.
도 4a를 참조하면, 도 4a는 본 발명의 다른 실시예에 따른 다른 패킷 포워딩 및 제어 방법에 대한 개략적인 흐름도이다. 도 4a에 도시된 바와 같이, 본 발명의 다른 실시예에 따른 다른 패킷 흐름 제어 방법은 이하의 내용을 포함할 수 있다:
401. 가상 머신과 호스트 사이에서, 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상한다.
본 발명의 일부의 실시예에서, Host 및 가상 머신은, 가상 머신과 호스트 사이에서, 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 복수의 방식으로 협상할 수 있다.
예를 들어, Host와 가상 머신이, 가상 머신과 호스트 사이에서, 상기 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하는 것은: 상기 호스트가, 상기 가상 머신에 의해 송신되고 상기 가상 머신의 흐름 제어 능력에 관한 설명 정보를 반송하는 시행자 협상 요구를 수신하는 단계; 상기 호스트가, 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 흐름 제어 정책의 시행을 지원하는 것으로 결정한 후, 상기 가상 머신에 협상 확인 지시를 수신하는 단계 - 상기 협상 확인 지시는 상기 흐름 제어 정책의 협상된 시행자가 가상 머신인 것을 지시함 - ; 및/또는 상기 호스트가, 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 흐름 제어 정책의 시행을 지원하지 않는 것으로 결정한 후, 상기 가상 머신에 협상 비확인 지시를 송신하는 단계 - 상기 협상 비확인 지시는 상기 흐름 제어 정책의 협상된 시행자가 호스트인 것을 지시함 - 를 포함할 수 있다.
다른 예에 있어서, 호스트(Host)와 가상 머신이, 가상 머신과 호스트 사이에서, 상기 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하는 것은: 상기 호스트가, 상기 가상 머신에 의해 송신되고 상기 가상 머신의 흐름 제어 능력에 관한 설명 정보를 반송하는 시행자 협상 요구를 수신하는 단계 - 상기 흐름 제어 능력에 관한 설명 정보는 시행이 가상 머신에 의해 지원되는 흐름 제어 정책의 버전을 설명하는 데 사용됨 - ; 상기 호스트가 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 제어 흐름 정책의 시행을 지원하는 것으로 결정하면, 상기 가상 머신에 협상 확인 지시를 송신하는 단계 - 상기 협상 확인 지시는 상기 흐름 제어 정책의 협상된 시행자가 가상 머신이라는 것을 지시함 - ; 및/또는 상기 호스트가 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하지 않는 것으로 결정하면, 상기 가상 머신에 협상 비확인 지시를 송신하는 단계 - 상기 협상 비확인 지시는 상기 흐름 제어 정책의 협상된 시행자가 호스트라는 것을 지시함 - 를 포함할 수 있다.
가상 머신과 호스트(Host)가, 가상 머신과 호스트 사이에서, 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하는 특정한 방식은 전술한 예에 제한되지 않는다는 것을 이해할 수 있을 것이다.
402. 흐름 제어 정책의 협상된 시행자가 호스트인 것으로 결정되면, 호스트는 가상 머신으로부터 패킷을 수신한 후 흐름 제어 정책에 기초하여 수신된 패킷에 대해 포워드 프로세싱을 수행한다.
위에서 언급된 "양쪽 상대방"은 흐름 제어 정책의 시행자의 협상에 참여하는 양쪽 대상을 말한다는 것을 이해할 수 있을 것이며, 본 실시예에서, 양쪽 대상은 가상 머신과 호스트이다.
또한, 흐름 제어 정책의 협상된 시행자가 가상 머신이면, 가상 머신은 흐름 제어 정책에 기초하여 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행할 수 있다.
본 실시예에서 언급된 흐름 제어 정책은 예를 들어 서비스 품질에 기초한 흐름 제어 정책 및/또는 액세스 제어 목록에 기초한 흐름 제어 정책일 수 있으며, 당연히, 흐름 제어 정책은 다른 요인을 참조하는 흐름 제어 정책일 수도 있다.
서비스 품질에 기초한 흐름 제어 정책에서, 패킷에 대해 포워드 프로세싱을 수행하는 특정한 방식은 주로, 포워드 프로세스될 패킷에 대응하는 서비스 우선권에 기초하여 결정된다(여기서 특정한 포워드 프로세싱 방식은 지연을 가지는 패킷을 송신하기, 지연을 가지지 않는 패킷을 송신하기, 또는 패킷을 폐기하기 등일 수 있다). 예를 들어, 복수의 포워드 프로세싱될 패킷이 현재 캐시 내에 존재하고, 상위의 서비스 우선권에 대응하는 패킷이 짧은 지연으로 또는 심지어 지연이 없이 송신될 수 있으며, 하위의 서비스 우선권에 대응하는 패킷은 긴 지연으로 송신될 수 있고, 설정된 우선권 임계값보다 낮은 서비스 우선권에 대응하는 포워드 프로세싱될 패킷은 심지어 폐기될 수도 있다. 이것은 고 우선권 서비스의 서비스 품질을 가능한 한 많이 보장할 수 있게 해준다. 즉, 서비스 품질에 기초하여 흐름 제어 정책에 따라 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 단계는 구체적으로: 포워드 프로세싱될 패킷의 서비스 우선권에 대응하는 포워드 프로세싱 방식에 따라 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 단계를 포함할 수 있다.
액세스 제어 목록에 기초하는 흐름 제어 정책에서, 패킷에 대해 포워드 프로세싱을 수행하는 특정한 방식은 주로, 포워드 프로세싱될 패킷에 반송되는 정보가 액세스 제어 목록에 포함된 레코드와 일치하는지에 기초하여 결정된다. 예를 들어, 액세스 제어 목록은 제한된 액세스 제어 목록(이것은 블랙리스트와 유사하다)이고, 제한된 액세스 제어 목록이 발신지/목적지 어드레스, 애플리케이션-계층 프로토콜 유형, 또는 포워드 프로세싱될 패킷의 트랜스포트-계층 프로토콜 유형 및/또는 패킷 헤더에 포함된 특정한 키워드와 같은 정보와 일치하는 레코드를 가지면, 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 방식은 직접적으로 패킷을 폐기하는 것일 수 있으며; 대조적으로, 제한된 액세스 제어 목록이 발신지/목적지 어드레스, 애플리케이션-계층 프로토콜 유형, 또는 포워드 프로세싱될 패킷의 트랜스포트-계층 프로토콜 유형/패킷 헤더에 포함된 특정한 키워드와 같은 정보와 일치하는 레코드를 가지지 않으면, 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 방식은 직접적으로 패킷을 포워딩하는 것일 수 있다. 다른 예에 있어서, 액세스 제어 목록은 허용된 액세스 제어 목록(이것은 화이트리스트와 유사하다)이고, 허용된 액세스 제어 목록이 발신지/목적지 어드레스, 애플리케이션-계층 프로토콜 유형, 또는 포워드 프로세싱될 패킷의 트랜스포트-계층 프로토콜 유형/패킷 헤더에 포함된 특정한 키워드와 같은 정보와 일치하는 레코드를 가지지 않으면, 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 방식은 직접적으로 패킷을 폐기하는 것일 수 있고; 허용된 액세스 제어 목록이 발신지/목적지 어드레스, 애플리케이션-계층 프로토콜 유형, 또는 포워드 프로세싱될 패킷의 트랜스포트-계층 프로토콜 유형 및/또는 패킷 헤더에 포함된 특정한 키워드와 같은 정보와 일치하는 레코드를 가지면, 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 방식은 직접적으로 패킷을 포워딩하는 것일 수 있다. 다른 경우도 유사하게 처리될 수 있다.
본 발명의 일부의 실시예에서, 협상 확인 지시는 흐름 제어 정책을 포함하며, 상기 가상 머신이, 상기 흐름 제어 정책에 기초하여 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 단계는: 상기 가상 머신이, 상기 협상 확인 지시에 포함되어 있는 상기 흐름 제어 정책에 기초하여 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 단계를 포함한다.
당연히, 호스트는 다른 방식으로 가상 머신에 흐름 제어 정책을 전달할 수도 있으며, 이에 따라 가상 머신은, 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정된 후, 호스트에 의해 전달된 흐름 제어 정책에 기초하여 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행할 수 있다. 당연히, 흐름 제어 정책은 가상 머신에 사전에 구성될 수도 있으며, 가상 머신이, 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정할 때, 가상 머신은 사전에 구성된 흐름 제어 정책에 기초하여 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행한다.
본 발명의 일부의 실시예에서, 가상 머신에는 프리로드 클라이언트가 배치될 수 있고, 호스트에는 프리로드 서버가 배치될 수 있으며, 프리로드 클라이언트 및 프리로드 서버는, 가상 머신과 호스트 사이에서, 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상할 수 있다. 예를 들어, 상기 가상 머신과 호스트 사이에서, 상기 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하는 단계는: 호스트에 배치된 프리로드 서버와 가상 머신에 배치된 프리로드 클라이언트 간의 접속이 구축된 후, 상기 프리로드 서버가 상기 구축된 접속에 기초하여 상기 프리로드 클라이언트와, 가상 머신과 호스트 사이에서, 상기 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하는 단계를 포함할 수 있다.
본 발명의 일부의 실시예에서, 추가로, 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정된 후, 프리로드 클라이언트는 상기 접속에 기초하여 프리로드 서버에 심장박동 메시지를 주기적으로 송신한다. 심장박동 메시지를 송신하는 목적 중 하나는 가상 머신이 적절하게 작동하는 상태에 대해 호스트에 통지하기 위한 것이며, 호스트가 설정 기간 내에 가상 머신으로부터 심장박동 메시지를 수신하지 않으면, 호스트는 디폴트에 의해 가상 머신에 장애가 발생한 것으로 결정할 수 있다. 예를 들어, 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정된 후, 호스트가 사전설정 기간 내에 가상 머신으로부터 심장박동 메시지를 수신하지 않으면, 호스트는 흐름 제어 정책의 시행자를 호스트로 전환할 수 있으며(즉, 호스트는 또한 패킷에 대해 포워드 프로세싱을 수행하며, 이것은 가상 머신으로부터, 가상 머신이 흐름 제어 정책에 기초하여 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는지에 관계없이 흐름 제어 정책에 기초하며, Host 및 가상 머신에서 시행되는 흐름 제어 정책은 동일하기 때문에, 동일한 패킷 흐름에 있어서, Host 또는 가상 머신 또는 양자가 흐름 제어 정책을 시행하면, 최종적인 패킷 출력 조건들은 기본적으로 동일하다), 흐름 제어 정책의 시행자가 호스트로 전환된다는 것을 지시하는 데 사용되는 지시 메시지를 가상 머신에 송신할 수도 있고 송신하지 않을 수도 있다.
본 실시예에 따른 솔루션에서, Host와 가상 머신은, 가상 머신과 호스트 사이에서 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하고, 흐름 제어 정책의 협상된 시행자가 호스트인 것으로 결정되면, 호스트는 가상 머신으로부터 패킷을 수신한 후 그 수신된 흐름 제어 정책에 기초하여 포워드 프로세싱을 수행한다는 것을 알 수 있다. 가상 머신과 호스트가 흐름 제어 정책의 시행자를 협상하는 메커니즘이 도입됨으로써, 가상 머신과 Host 양자는 흐름 제어 정책의 시행자가 될 기회를 가지며, 이에 의해 가상 머신은 흐름 제어 정책을 시행할 수 있으며, 이것은 패킷에 대한 흐름 제어를 가능한 일찍 수행할 수 있게 해주며, 비효율적 프로세싱을 감소시키고 무효한 패킷 흐름에 의해 점유되는, 호스트의 대역폭 및 어드레스 공간을 더 감소시킬 수 있게 한다. 이 솔루션은 가상 머신의 아웃바운드 패킷 흐름을 처리하는 데 점유되는, 호스트의 어드레스 공간을 감소시킬 수 있게 한다는 것을 알 수 있다. 또한, 흐름 제어 정책의 시행자는 협상을 통해 결정되므로, 흐름 제어 정책의 시행자의 시행 능력은 확실하게 보장되며, 이것은 흐름 제어 정책을 시행하는 신뢰도를 높일 수 있게 해준다.
또한, 가상 머신 및 Host 양자가 흐름 제어 정책의 시행을 지원할 때, 가상 머신은 흐름 제어 정책을 시행함에 있어서 우선권을 가지며, 이것은 추가로 패킷에 대해 흐름 제어를 가능한 일찍 수행할 수 있게 해주며, 비효율적인 프로세싱과 무효한 패킷 흐름에 의해 점유되는 대역폭을 더 감소시킬 수 있게 해준다.
본 발명의 이 실시예는 패킷 흐름 제어 방법을 추가로 제공하며, 여기서 이 방법은: 호스트(Host)와 가상 머신 사이에서, 상기 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하는 단계; 및 상기 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정되면, 상기 흐름 제어 정책에 기초하여 상기 가상 머신의 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 단계; 및 상기 흐름 제어 정책의 협상된 시행자가 호스트이면, 가상 머신의 포워드 프로세싱될 패킷을 호스트에 송신하는 단계; 및 상기 흐름 제어 정책에 기초하여, 호스트에 의해 수신된 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 단계를 포함할 수 있다.
본 발명의 일부의 실시예에서, 호스트(Host)와 가상 머신 사이에서, 상기 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하는 단계는:
가상 머신에 의해 호스트에 송신되어야 하는 시행자 협상 요구를 호스트에 송신하는 단계 - 상기 시행자 협상 요구는 상기 가상 머신의 흐름 제어 능력에 관한 설명 정보를 반송함 - ; 및
상기 호스트가 상기 시행자 협상 요구를 수신한 후, 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 상기 흐름 제어 정책의 시행을 지원하는 것으로 결정하면, 호스트에 의해 가상 머신에 송신되어야 하는 협상 확인 지시를 가상 머신에 송신하는 단계 - 상기 협상 확인 지시는 상기 흐름 제어 정책의 협상된 시행자가 가상 머신이라는 것을 지시함 - ; 및/또는 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 상기 흐름 제어 정책의 시행을 지원하지 않는 것으로 결정하면, 호스트에 의해 가상 머신에 송신되어야 하는 협상 비확인 지시를 가상 머신에 송신하는 단계 - 상기 협상 비확인 지시는 상기 흐름 제어 정책의 협상된 시행자가 호스트라는 것을 지시함 - ;
를 포함하며,
또는
상기 프로세서가, 호스트(Host)와 가상 머신 사이에서, 상기 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하는 단계는:
가상 머신에 의해 호스트에 송신되어야 하는 시행자 협상 요구를 호스트에 송신하는 단계 - 상기 시행자 협상 요구는 상기 가상 머신의 흐름 제어 능력에 관한 설명 정보를 반송하며, 상기 흐름 제어 능력에 관한 설명 정보는 시행이 가상 머신에 의해 지원되는 흐름 제어 정책의 버전을 설명하는 데 사용됨 - ; 및
상기 호스트가 상기 시행자 협상 요구를 수신한 후, 상기 흐름 제어 능력에 관한 설명 정보에 따라, 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하는 것으로 결정하면, 호스트에 의해 가상 머신에 송신되어야 하는 협상 확인 지시를 가상 머신에 송신하는 단계 - 상기 협상 확인 지시는 상기 흐름 제어 정책의 협상된 시행자가 가상 머신이라는 것을 지시함 - ; 및/또는 상기 흐름 제어 능력에 관한 설명 정보에 따라, 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하지 않는 것으로 결정하면, 호스트에 의해 가상 머신에 송신되어야 하는 협상 비확인 지시를 가상 머신에 송신하는 단계 - 상기 협상 비확인 지시는 상기 흐름 제어 정책의 협상된 시행자가 호스트라는 것을 지시함 - 를 포함한다.
본 발명의 일부의 실시예에서, 협상 확인 지시는 흐름 제어 정책을 포함하다.
상기 흐름 제어 정책에 기초하여 상기 가상 머신의 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 단계는: 상기 협상 확인 지시에 포함되어 있는 상기 흐름 제어 정책에 기초하여 상기 가상 머신의 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 단계를 포함한다.
본 발명의 일부의 실시예에서, 상기 흐름 제어 정책의 협상된 시행자가 가상 머신인 후, 호스트가 가상 머신으로부터 심장박동 메시지를 설정 기간 내에 수신하지 않으면, 호스트는, 호스트에 의해 가상 머신에 송신되어야 하고 흐름 제어 정책의 시행자가 호스트로 전환된다는 것을 지시하는 데 사용되는 지시 메시지를 가상 머신에 송신한다.
본 실시예에 언급되어 있고 프로세서가 포워드 프로세싱될 패킷을 처리하는 것에 기초하는 흐름 제어 정책은, 예를 들어 서비스 품질에 기초한 흐름 제어 정책 및/또는 액세스 제어 목록에 기초한 흐름 제어 정책일 수 있으며, 당연히, 흐름 제어 정책은 다른 요인을 참조하는 흐름 제어 정책일 수도 있다.
서비스 품질에 기초한 흐름 제어 정책에서, 패킷에 대해 포워드 프로세싱을 수행하는 특정한 방식은 주로, 포워드 프로세스될 패킷에 대응하는 서비스 우선권에 기초하여 결정된다(여기서 특정한 포워드 프로세싱 방식은 지연을 가지는 패킷을 송신하기, 지연을 가지지 않는 패킷을 송신하기, 또는 패킷을 폐기하기 등일 수 있다). 예를 들어, 복수의 포워드 프로세싱될 패킷이 현재 캐시 내에 존재하고, 상위의 서비스 우선권에 대응하는 패킷이 짧은 지연으로 또는 심지어 지연이 없이 송신될 수 있으며, 하위의 서비스 우선권에 대응하는 패킷은 긴 지연으로 송신될 수 있고, 설정된 우선권 임계값보다 낮은 서비스 우선권에 대응하는 포워드 프로세싱될 패킷은 심지어 폐기될 수도 있다. 이것은 고 우선권 서비스의 서비스 품질을 가능한 한 많이 보장할 수 있게 해준다. 즉, 서비스 품질에 기초하여 흐름 제어 정책에 따라 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 단계는 구체적으로: 포워드 프로세싱될 패킷의 서비스 우선권에 대응하는 포워드 프로세싱 방식에 따라 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 단계를 포함할 수 있다.
액세스 제어 목록에 기초하는 흐름 제어 정책에서, 패킷에 대해 포워드 프로세싱을 수행하는 특정한 방식은 주로, 포워드 프로세싱될 패킷에 반송되는 정보가 액세스 제어 목록에 포함된 레코드와 일치하는지에 기초하여 결정된다. 예를 들어, 액세스 제어 목록은 제한된 액세스 제어 목록(이것은 블랙리스트와 유사하다)이고, 제한된 액세스 제어 목록이 발신지/목적지 어드레스, 애플리케이션-계층 프로토콜 유형, 또는 포워드 프로세싱될 패킷의 트랜스포트-계층 프로토콜 유형 및/또는 패킷 헤더에 포함된 특정한 키워드와 같은 정보와 일치하는 레코드를 가지면, 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 방식은 직접적으로 패킷을 폐기하는 것일 수 있으며; 대조적으로, 제한된 액세스 제어 목록이 발신지/목적지 어드레스, 애플리케이션-계층 프로토콜 유형, 또는 포워드 프로세싱될 패킷의 트랜스포트-계층 프로토콜 유형/패킷 헤더에 포함된 특정한 키워드와 같은 정보와 일치하는 레코드를 가지지 않으면, 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 방식은 직접적으로 패킷을 포워딩하는 것일 수 있다. 다른 예에 있어서, 액세스 제어 목록은 허용된 액세스 제어 목록(이것은 화이트리스트와 유사하다)이고, 허용된 액세스 제어 목록이 발신지/목적지 어드레스, 애플리케이션-계층 프로토콜 유형, 또는 포워드 프로세싱될 패킷의 트랜스포트-계층 프로토콜 유형/패킷 헤더에 포함된 특정한 키워드와 같은 정보와 일치하는 레코드를 가지지 않으면, 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 방식은 직접적으로 패킷을 폐기하는 것일 수 있고; 허용된 액세스 제어 목록이 발신지/목적지 어드레스, 애플리케이션-계층 프로토콜 유형, 또는 포워드 프로세싱될 패킷의 트랜스포트-계층 프로토콜 유형 및/또는 패킷 헤더에 포함된 특정한 키워드와 같은 정보와 일치하는 레코드를 가지면, 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 방식은 직접적으로 패킷을 포워딩하는 것일 수 있다. 다른 경우도 유사하게 처리될 수 있다.
본 발명의 일부의 실시예에서, 상기 가상 머신에 의해 호스트에 송신되어야 하는 시행자 협상 요구를 호스트에 송신하는 단계는: 상기 가상 머신이 사용자-모드 프로세스에 의해 개시된 협상 시작 요구를 수신한 후, 상기 가상 머신에 의해 호스트에 송신되어야 하는 시행자 협상 요구를 호스트에 송신하는 단계; 또는 상기 가상 머신이, 호스트로부터 협상 시작 요구를 수신한 후, 상기 가상 머신에 의해 호스트에 송신되어야 하는 시행자 협상 요구를 호스트에 송신하는 단계를 포함한다.
본 발명의 일부의 실시예에서, 호스트(Host)와 가상 머신 사이에서, 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하는 단계는: 가상 머신에 배치된 프리로드 클라이언트와 호스트에 배치된 프리로드 서버 간의 접속이 구축된 후, 상기 구축된 접속을 사용함으로써, 가상 머신과 호스트 사이에서, 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하는 단계를 포함한다.
본 실시예의 전술한 단계는 프로세서 또는 다른 하드웨어에 의해 실행될 수 있다.
도 4b를 참조하면, 도 4b는 본 발명의 실시예에 따른 다른 패킷 포워딩 및 제어 방법에 대한 개략적인 흐름도이다. 도 4b에 도시된 바와 같이, 본 발명의 다른 실시예에 따른 다른 패킷 흐름 제어 방법은 이하의 내용을 포함할 수 있다:
s401. 프로세서는 호스트(Host)와 가상 머신 사이에서, 상기 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상한다.
s402. 상기 흐름 제어 정책의 협상된 시행자가 가상 머신이면, 상기 프로세서가, 상기 흐름 제어 정책에 기초하여 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행한다.
s403. 상기 흐름 제어 정책의 협상된 시행자가 호스트이면, 상기 프로세서가 가상 머신의 포워드 프로세싱될 패킷을 가상 머신으로부터 호스트에 송신하고, 상기 프로세서가 상기 흐름 제어 정책에 기초하여 상기 호스트에 의해 수신된 상기 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행한다.
본 발명의 일부의 실시예에서, 프로세서가, 호스트(Host)와 가상 머신 사이에서, 상기 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하는 단계는:
상기 프로세서가, 가상 머신에 의해 호스트에 송신되어야 하는 시행자 협상 요구를 호스트에 송신하는 단계 - 상기 시행자 협상 요구는 상기 가상 머신의 흐름 제어 능력에 관한 설명 정보를 반송함 - ; 및
상기 호스트가 상기 시행자 협상 요구를 수신한 후, 상기 프로세서는 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 상기 흐름 제어 정책의 시행을 지원하는 것으로 결정하면, 상기 프로세서가, 호스트에 의해 가상 머신에 송신되어야 하는 협상 확인 지시를 가상 머신에 송신하는 단계 - 상기 협상 확인 지시는 상기 흐름 제어 정책의 협상된 시행자가 가상 머신이라는 것을 지시함 - ; 및/또는 상기 프로세서가, 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 상기 흐름 제어 정책의 시행을 지원하지 않는 것으로 결정하면, 상기 프로세서가, 호스트에 의해 가상 머신에 송신되어야 하는 협상 비확인 지시를 가상 머신에 송신하는 단계 - 상기 협상 비확인 지시는 상기 흐름 제어 정책의 협상된 시행자가 호스트라는 것을 지시함 - ;
를 포함하며,
또는
상기 프로세서가, 가상 머신과 호스트 사이에서, 상기 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하는 것은:
상기 프로세서가, 가상 머신에 의해 호스트에 송신되어야 하는 시행자 협상 요구를 호스트에 송신하는 단계 - 상기 시행자 협상 요구는 상기 가상 머신의 흐름 제어 능력에 관한 설명 정보를 반송하며, 상기 흐름 제어 능력에 관한 설명 정보는 시행이 가상 머신에 의해 지원되는 흐름 제어 정책의 버전을 설명하는 데 사용됨 - ; 및
상기 호스트가 상기 시행자 협상 요구를 수신한 후, 상기 프로세서가 상기 흐름 제어 능력에 관한 설명 정보에 따라, 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하는 것으로 결정하면, 상기 프로세서가, 호스트에 의해 가상 머신에 송신되어야 하는 협상 확인 지시를 가상 머신에 송신하는 단계 - 상기 협상 확인 지시는 상기 흐름 제어 정책의 협상된 시행자가 가상 머신이라는 것을 지시함 - ; 및/또는 상기 프로세서가, 상기 흐름 제어 능력에 관한 설명 정보에 따라, 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하지 않는 것으로 결정하면, 상기 프로세서가, 호스트에 의해 가상 머신에 송신되어야 하는 협상 비확인 지시를 가상 머신에 송신하는 단계 - 상기 협상 비확인 지시는 상기 흐름 제어 정책의 협상된 시행자가 호스트라는 것을 지시함 - 를 포함한다.
본 발명의 일부의 실시예에서, 협상 확인 지시는 흐름 제어 정책을 포함한다.
상기 프로세서가, 흐름 제어 정책에 기초하여 가상 머신의 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 것은: 상기 프로세서가, 협상 확인 지시에 포함되어 있는 상기 흐름 제어 정책에 기초하여 상기 가상 머신의 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 단계를 포함한다.
당연히, 호스트는 다른 방식으로 가상 머신에 흐름 제어 정책을 전달할 수도 있으며, 이에 따라 가상 머신은, 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정된 후, 호스트에 의해 전달된 흐름 제어 정책에 기초하여 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행할 수 있다. 당연히, 흐름 제어 정책은 가상 머신에 사전에 구성될 수도 있으며, 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정될 때, 프로세서는 사전에 구성된 흐름 제어 정책에 기초하여 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행한다.
본 발명의 일부의 실시예에서, 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정된 후, 호스트가 가상 머신으로부터 심장박동 메시지를 설정 기간 내에 수신하지 않으면, 프로세서는, 호스트에 의해 송신되어야 하고 흐름 제어 정책의 시행자가 호스트로 전환된다는 것을 지시하는 데 사용되는 지시 메시지를 가상 머신에 송신한다.
본 발명의 일부의 실시예에서, 흐름 제어 정책은 서비스 품질에 기초한 흐름 제어 정책 및/또는 액세스 제어 목록에 기초한 흐름 제어 정책이다.
본 발명의 일부의 실시예에서, 프로세서가 가상 머신에 의해 호스트에 송신되어야 하는 시행자 협상 요구를 호스트에 송신하는 단계는: 가상 머신이 사용자-모드 프로세스에 의해 개시된 협상 시작 요구를 수신한 후, 프로세서가, 가상 머신에 의해 호스트에 송신되어야 하는 시행자 협상 요구를 호스트에 송신하는 단계; 또는 가상 머신이 호스트로부터 협상 시작 요구를 수신한 후, 프로세서가, 가상 머신에 의해 호스트에 송신되어야 하는 시행자 협상 요구를 호스트에 송신하는 단계를 포함한다.
본 실시예에 언급되어 있고 프로세서가 포워드 프로세싱될 패킷을 처리하는 것에 기초하는 흐름 제어 정책은, 예를 들어 서비스 품질에 기초한 흐름 제어 정책 및/또는 액세스 제어 목록에 기초한 흐름 제어 정책일 수 있으며, 당연히, 흐름 제어 정책은 다른 요인을 참조하는 흐름 제어 정책일 수도 있다.
서비스 품질에 기초한 흐름 제어 정책에서, 패킷에 대해 포워드 프로세싱을 수행하는 특정한 방식은 주로, 포워드 프로세스될 패킷에 대응하는 서비스 우선권에 기초하여 결정된다(여기서 특정한 포워드 프로세싱 방식은 지연을 가지는 패킷을 송신하기, 지연을 가지지 않는 패킷을 송신하기, 또는 패킷을 폐기하기 등일 수 있다). 예를 들어, 복수의 포워드 프로세싱될 패킷이 현재 캐시 내에 존재하고, 상위의 서비스 우선권에 대응하는 패킷이 짧은 지연으로 또는 심지어 지연이 없이 송신될 수 있으며, 하위의 서비스 우선권에 대응하는 패킷은 긴 지연으로 송신될 수 있고, 설정된 우선권 임계값보다 낮은 서비스 우선권에 대응하는 포워드 프로세싱될 패킷은 심지어 폐기될 수도 있다. 이것은 고 우선권 서비스의 서비스 품질을 가능한 한 많이 보장할 수 있게 해준다. 즉, 서비스 품질에 기초하여 흐름 제어 정책에 따라 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 단계는 구체적으로: 포워드 프로세싱될 패킷의 서비스 우선권에 대응하는 포워드 프로세싱 방식에 따라 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 단계를 포함할 수 있다.
액세스 제어 목록에 기초하는 흐름 제어 정책에서, 패킷에 대해 포워드 프로세싱을 수행하는 특정한 방식은 주로, 포워드 프로세싱될 패킷에 반송되는 정보가 액세스 제어 목록에 포함된 레코드와 일치하는지에 기초하여 결정된다. 예를 들어, 액세스 제어 목록은 제한된 액세스 제어 목록(이것은 블랙리스트와 유사하다)이고, 제한된 액세스 제어 목록이 발신지/목적지 어드레스, 애플리케이션-계층 프로토콜 유형, 또는 포워드 프로세싱될 패킷의 트랜스포트-계층 프로토콜 유형 및/또는 패킷 헤더에 포함된 특정한 키워드와 같은 정보와 일치하는 레코드를 가지면, 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 방식은 직접적으로 패킷을 폐기하는 것일 수 있으며; 대조적으로, 제한된 액세스 제어 목록이 발신지/목적지 어드레스, 애플리케이션-계층 프로토콜 유형, 또는 포워드 프로세싱될 패킷의 트랜스포트-계층 프로토콜 유형/패킷 헤더에 포함된 특정한 키워드와 같은 정보와 일치하는 레코드를 가지지 않으면, 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 방식은 직접적으로 패킷을 포워딩하는 것일 수 있다. 다른 예에 있어서, 액세스 제어 목록은 허용된 액세스 제어 목록(이것은 화이트리스트와 유사하다)이고, 허용된 액세스 제어 목록이 발신지/목적지 어드레스, 애플리케이션-계층 프로토콜 유형, 또는 포워드 프로세싱될 패킷의 트랜스포트-계층 프로토콜 유형/패킷 헤더에 포함된 특정한 키워드와 같은 정보와 일치하는 레코드를 가지지 않으면, 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 방식은 직접적으로 패킷을 폐기하는 것일 수 있고; 허용된 액세스 제어 목록이 발신지/목적지 어드레스, 애플리케이션-계층 프로토콜 유형, 또는 포워드 프로세싱될 패킷의 트랜스포트-계층 프로토콜 유형 및/또는 패킷 헤더에 포함된 특정한 키워드와 같은 정보와 일치하는 레코드를 가지면, 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 방식은 직접적으로 패킷을 포워딩하는 것일 수 있다. 다른 경우도 유사하게 처리될 수 있다.
본 발명의 일부의 실시예에서, 호스트(Host)와 가상 머신 사이에서, 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하는 단계는: 가상 머신에 배치된 프리로드 클라이언트와 호스트에 배치된 프리로드 서버 간의 접속이 구축된 후, 프로세서가 상기 구축된 접속을 사용함으로써, 가상 머신과 호스트 사이에서, 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하는 단계를 포함할 수 있다.
본 실시예에 따른 솔루션에서, 프로세서의 도움으로, 가상 머신과 호스트(Host)는, 가상 머신과 호스트 사이에서 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하고, 가상 머신이 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정하면, 가상 머신은 흐름 제어 정책에 기초하여 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하며, 가상 머신이 흐름 제어 정책의 협상된 시행자가 호스트인 것으로 결정하면, 가상 머신은 포워드 프로세싱될 패킷을 호스트에 송신하며, 이에 따라 호스트는 흐름 제어 정책에 기초하여 상기 수신된 패킷에 대해 포워드 프로세싱을 수행한다. 가상 머신과 호스트가 흐름 제어 정책의 시행자를 협상하는 메커니즘이 도입됨으로써, 가상 머신과 Host 양자는 흐름 제어 정책의 시행자가 될 기회를 가지며, 이에 의해 가상 머신은 흐름 제어 정책을 시행할 수 있으며, 이것은 패킷에 대한 흐름 제어를 가능한 일찍 수행할 수 있게 해주며, 비효율적 프로세싱을 감소시키고 무효한 패킷 흐름에 의해 점유되는, 호스트의 대역폭 및 어드레스 공간을 더 감소시킬 수 있게 한다. 이 솔루션은 가상 머신의 아웃바운드 패킷 흐름을 처리하는 데 점유되는, 호스트의 어드레스 공간을 감소시킬 수 있게 한다는 것을 알 수 있다. 또한, 흐름 제어 정책의 시행자는 협상을 통해 결정되므로, 흐름 제어 정책의 시행자의 시행 능력은 확실하게 보장되며, 이것은 흐름 제어 정책을 시행하는 신뢰도를 높일 수 있게 해준다.
또한, 가상 머신 및 Host 양자가 흐름 제어 정책의 시행을 지원할 때, 가상 머신은 흐름 제어 정책을 시행함에 있어서 우선권을 가지며, 이것은 추가로 패킷에 대해 흐름 제어를 가능한 일찍 수행할 수 있게 해주며, 비효율적인 프로세싱과 무효한 패킷 흐름에 의해 점유되는 대역폭을 더 감소시킬 수 있게 해준다.
본 발명의 실시예에 따른 솔루션을 더 잘 이해하고 쉽게 실시하기 위해, 이하에서는 일부의 특정한 예를 사용하여 예시적으로 설명한다.
도 5a를 참조하면, 도 5a는 본 발명의 실시예에 따른 다른 패킷 포워딩 및 제어 방법에 대한 개략적인 흐름도이고, 도 5b는 본 발명의 이 실시예에 따라 도 5a에 도시된 흐름 제어 방법을 실시하는 데 사용될 수 있는 컴퓨팅 노드에 대한 개략적인 구조도이다. 도 5b는 컴퓨팅 노드에 배치되어 있는 가상 머신 및 호스트의 특정한 내부의 논리적 아키텍처를 예시적으로 도시하며; 당연히, Host 및 가상 머신은 도 5b에 도시된 예와는 다른 내부의 논리적 아키텍처를 가질 수도 있다. 이 실시예는 흐름 제어 방법이 도 5b에 도시된 아키텍처에 실시되는 예를 주로 사용함으로써 설명된다.
도 5a에 도시된 바와 같이, 본 발명의 다른 실시예에 따른 다른 패킷 흐름 제어 방법은 이하의 내용을 포함할 수 있다:
501. 가상 머신 VM-m에 배치된 프리로드 클라이언트(preload client)와 호스트에 배치된 프리로드 서버(preload server)는 접속을 구축한다. 이 접속은 전송 제어 프로토콜의 접속 또는 다른 유형의 통신 접속이다.
가상 머신 VM-m에 배치된 프리로드 클라이언트와 호스트에 배치된 프리로드 서버 사이에 내재적 통신 접속이 존재하거나 프리로드 클라이언트와 프리로드 서버가 서로 직접 통신할 수 있으면, 단계 501은 생략될 수도 있다.
502. 가상 머신 VM-m에 배치된 프리로드 클라이언트는 호스트에 배치된 프리로드 서버에 의해 송신된 협상 시작 요구를 수신한다.
503. 가상 머신 VM-m에 배치된 프리로드 클라이언트는 가상 머신 VM-m의 흐름 제어 능력에 관한 설명 정보를 반송하는 시행자 협상 요구를 호스트에 배치된 프리로드 서버에 송신한다.
단계 502에서, 호스트에 배치된 프리로드 서버는 가상 머신 VM-m에 배치된 프리로드 클라이언트에 협상 시작 요구를 송신하여, 가상 머신 VM-m에 배치된 프리로드 클라이언트로 하여금 흐름 제어 정책의 시행자의 협상을 개시하도록 촉발하며; 당연히, 가상 머신 VM-m에 배치된 프리로드 클라이언트도 흐름 제어 정책의 시행자의 협상을 개시하는 다른 조건에 의해 촉발될 수 있다(예를 들어, 사용자-모드 프로세스에 의해 개시되는 협상 시작 요구(이것은, 즉 사용자-모드 애플리케이션 또는 사용자 명령에 의해 촉발될 수 있다)가 수신된다). 가상 머신 VM-m에 배치된 프리로드 클라이언트가 흐름 제어 정책의 시행자의 협상을 독립적으로 개시하면, 단계 502는 생략될 수 있다.
504. 호스트에 배치된 프리로드 서버는 가상 머신 VM-m의 흐름 제어 능력에 관한 설명 정보를 반송하는 시행자 협상 요구를 수신하며, 여기서 상기 시행자 협상 요구에 반송된 흐름 제어 능력에 관한 설명 정보는 가상 머신 VM-m이 흐름 제어 정책의 시행을 지원하는지를 지시하고, 이에 따라 호스트에 배치된 프리로드 서버는 흐름 제어 성능에 관한 설명 정보에 따라, 가상 머신 VM-m이 흐름 제어 정책의 시행을 지원하는지를 판정할 수 있다.
본 실시예에서, 호스트에 배치된 프리로드 서버가 가상 머신 VM-m이 흐름 제어 정책의 시행을 지원하는 것으로 결정하는 것을 이하에서 예로 사용한다. 그러므로 호스트에 배치된 프리로드 서버는 가상 머신 VM-m에 배치된 프리로드 클라이언트에 협상 확인 지시를 송신할 수 있고, 여기서 협상 확인 지시는 흐름 제어 정책의 협상된 시행자가 가상 머신 VM-m이라는 것을 지시하며, 여기서 협상 확인 지시는 흐름 제어 정책을 반송할 수 있다. 호스트에 배치된 프리로드 서버는 호스트에 배치된 프리로드 커널(preload kernel)에 흐름 제어 정책을 시행하지 않도록 추가로 명령한다.
505. 호스트에 배치된 프리로드 서버에 의해 송신된 협상 확인 지시를 수신한 후, 가상 머신 VM-m에 배치된 프리로드 클라이언트는 흐름 제어 정책의 협상된 시행자가 가상 머신 VM-m인 것으로 결정하며, 그러므로 가상 머신 VM-m에 배치된 프리로드 클라이언트는 협상 확인 지시에 반송된 흐름 제어 정책을 가상 머신 VM-m에 배치된 프리로드 클라이언트에 대응하는 FE에 송신하여, 가상 머신 VM-m에 배치된 네트워크 인터페이스 카드에 대응하는 FE에 흐름 제어 정책을 시행하도록 명령한다.
단계 503 내지 505를 수행함으로써, 가상 머신 VM-m에 배치된 프리로드 클라이언트 및 호스트에 배치된 프리로드 서버는 협상을 통해 흐름 제어 정책의 시행자를 결정한다.
506. 흐름 제어 정책을 수신한 후, 가상 머신 VM-m에 배치된 네트워크 인터페이스 카드에 대응하는 FE는 수신된 흐름 제어 정책에 기초하여, 가상 머신 VM-m에 배치된 사용자-모드 애플리케이션으로부터 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행한다.
본 실시예에서, 서비스 품질에 기초한 흐름 제어 정책 및 액세스 제어 목록에 기초한 흐름 제어 정책은 흐름 제어 정책의 예로서 사용된다.
서비스 품질에 기초한 흐름 제어 정책에서, 패킷에 대해 포워드 프로세싱을 수행하는 특정한 방식은 주로, 포워드 프로세스될 패킷에 대응하는 서비스 우선권에 기초하여 결정된다(여기서 특정한 포워드 프로세싱 방식은 지연을 가지는 패킷을 송신하기, 지연을 가지지 않는 패킷을 송신하기, 또는 패킷을 폐기하기 등일 수 있다). 예를 들어, 복수의 포워드 프로세싱될 패킷이 현재 캐시 내에 존재하고, 상위의 서비스 우선권에 대응하는 패킷이 짧은 지연으로 또는 심지어 지연이 없이 송신될 수 있으며, 하위의 서비스 우선권에 대응하는 패킷은 긴 지연으로 송신될 수 있고, 설정된 우선권 임계값보다 낮은 서비스 우선권에 대응하는 포워드 프로세싱될 패킷은 심지어 폐기될 수도 있다. 이것은 고 우선권 서비스의 서비스 품질을 가능한 한 많이 보장할 수 있게 해준다.
액세스 제어 목록에 기초하는 흐름 제어 정책에서, 패킷에 대해 포워드 프로세싱을 수행하는 특정한 방식은 주로, 포워드 프로세싱될 패킷에 반송되는 정보가 액세스 제어 목록에 포함된 레코드와 일치하는지에 기초하여 결정된다. 예를 들어, 액세스 제어 목록은 제한된 액세스 제어 목록(이것은 블랙리스트와 유사하다)이고, 제한된 액세스 제어 목록이 발신지/목적지 어드레스, 애플리케이션-계층 프로토콜 유형, 또는 포워드 프로세싱될 패킷의 트랜스포트-계층 프로토콜 유형 및/또는 패킷 헤더에 포함된 특정한 키워드와 같은 정보와 일치하는 레코드를 가지면, 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 방식은 직접적으로 패킷을 폐기하는 것일 수 있으며; 대조적으로, 제한된 액세스 제어 목록이 발신지/목적지 어드레스, 애플리케이션-계층 프로토콜 유형, 또는 포워드 프로세싱될 패킷의 트랜스포트-계층 프로토콜 유형/패킷 헤더에 포함된 특정한 키워드와 같은 정보와 일치하는 레코드를 가지지 않으면, 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 방식은 직접적으로 패킷을 포워딩하는 것일 수 있다. 다른 예에 있어서, 액세스 제어 목록은 허용된 액세스 제어 목록(이것은 화이트리스트와 유사하다)이고, 허용된 액세스 제어 목록이 발신지/목적지 어드레스, 애플리케이션-계층 프로토콜 유형, 또는 포워드 프로세싱될 패킷의 트랜스포트-계층 프로토콜 유형/패킷 헤더에 포함된 특정한 키워드와 같은 정보와 일치하는 레코드를 가지지 않으면, 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 방식은 직접적으로 패킷을 폐기하는 것일 수 있고; 허용된 액세스 제어 목록이 발신지/목적지 어드레스, 애플리케이션-계층 프로토콜 유형, 또는 포워드 프로세싱될 패킷의 트랜스포트-계층 프로토콜 유형 및/또는 패킷 헤더에 포함된 특정한 키워드와 같은 정보와 일치하는 레코드를 가지면, 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 방식은 직접적으로 패킷을 포워딩하는 것일 수 있다. 다른 경우도 유사하게 처리될 수 있다.
그러므로 가상 머신 VM-m에 배치된 네트워크 인터페이스 카드에 대응하는 FE가, 수신된 흐름 제어 정책에 기초하여, 가상 머신 VM-m에 배치된 사용자-모드 애플리케이션으로부터 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 것은: 가상 머신 VM-m에 배치된 네트워크 인터페이스 카드에 대응하는 FE가 가상 머신 VM-m에 배치된 사용자-모드 애플리케이션으로부터 포워드 프로세싱될 패킷을 폐기하는 것; 또는 가상 머신 VM-m에 배치된 네트워크 인터페이스 카드에 대응하는 FE가 가상 머신 VM-m에 배치된 사용자-모드 애플리케이션으로부터 포워드 프로세싱될 패킷을 지연을 두고 송신하는 것(지연의 정도는 포워드 프로세싱될 패킷의 서비스 우선권 및 포워드 프로세싱될 패킷의 현재의 수와 관련될 수 있다); 또는 가상 머신 VM-m에 배치된 네트워크 인터페이스 카드에 대응하는 FE가 가상 머신 VM-m에 배치된 사용자-모드 애플리케이션으로부터 포워드 프로세싱될 패킷을 지연 없이 송신하는 것을 포함할 수 있다. 다른 방식을 여기서 다시 열거하지 않는다.
호스트에 배치된 네트워크 인터페이스 카드에 대응하는 BE가 가상 머신 VM-m에 배치된 네트워크 인터페이스 카드에 대응하는 FE의 패킷을 수신하면, 호스트에 배치된 네트워크 인터페이스 카드에 대응하는 BE는 호스트에 배치된 프리로드 커널에 대해 상기 수신된 패킷에 대한 포워드 프로세싱을 수행한다.
호스트에 배치된 프리로드 커널은 흐름 제어 정책을 실행하지 않아도 되므로, 호스트에 배치된 프리로드 커널은 네트워크 인터페이스 카드 드라이버를 사용함으로써 그 수신된 패킷을 네트워크 인터페이스 카드에 직접 포워딩할 수 있고, 이에 대응해서 네트워크 인터페이스 카드는 그 수신된 패킷에 대해 포워드 프로세싱을 수행할 수 있다.
본 발명의 일부의 실시예에서, 흐름 제어 정책의 협상된 시행자가 가상 머신 VM-m인 것으로 결정된 후, 프리로드 클라이언트는 그 접속에 기초하여 프리로드 서버에 심장박동 메시지를 주기적으로 송신할 수 있다. 심장박동 메시지를 송신하는 목적 중 하나는 가상 머신 VM-m이 적절하게 작동하는 상태에 대해 프리로드 서버에 통지하기 위한 것이며, 프리로드 서버가 설정 기간 내에 가상 머신 프리로드 클라이언트로부터 심장박동 메시지를 수신하지 않으면, 프리로드 서버는 디폴트에 의해 가상 머신 VM-m에 장애가 발생한 것으로 결정할 수 있다. 예를 들어, 흐름 제어 정책의 협상된 시행자가 가상 머신 VM-m인 것으로 결정된 후, 프리로드 서버가 사전설정 기간 내에 가상 머신 VM-m으로부터 심장박동 메시지를 수신하지 않으면, 프리로드 서버는 흐름 제어 정책의 시행자를 프리로드 서버로 전환할 수 있으며(즉, 가상 머신 VM-m에 배치된 네트워크 인터페이스 카드에 대응하는 FE가 흐름 제어 정책에 기초하여 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는지에 관계없이 프리로드 커널도 또한 흐름 제어 정책에 기초하여 가상 머신 VM-m으로부터 패킷에 대해 포워드 프로세싱을 수행하며; Host 및 가상 머신 VM-m에서 시행되는 흐름 제어 정책은 동일하기 때문에, 동일한 패킷 흐름에 있어서, 가상 머신 VM-m에 배치된 네트워크 인터페이스 카드에 대응하는 프리로드 커널 또는 FE 또는 양자가 동일한 흐름 제어 정책을 시행하면, 최종적인 패킷 출력 조건들은 기본적으로 동일하다), 흐름 제어 정책의 시행자가 호스트로 전환된다는 것을 지시하는 지시 메시지를 프리로드 클라이언트에 송신할 수 있다.
본 발명의 일부의 실시예에서, 흐름 제어 정책의 협상된 시행자가 가상 머신 VM-m인 것으로 결정된 후, 프리로드 클라이언트는 또한, 가상 머신 VM-m에 배치된 네트워크 인터페이스 카드에 대응하는 FE가 흐름 제어 정책을 시행할 때 장애가 발생하면, 가상 머신 VM-m이 흐름 제어 정책을 시행할 때 장애가 발생한다는 것을 지시하는 지시 메시지를 프리로드 서버에 송신할 수도 있다. 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정된 후, 프리로드 서버가 가상 머신이 흐름 제어 정책을 시행할 때 장애가 발생한다는 것을 지시하는 지시 메시지를 프리로드 클라이언트로부터 수신하면, 프리로드 서버는 흐름 제어 정책의 시행자를 호스트로 전환할 수 있고, 프리로드 서버는 흐름 제어 정책을 시행하도록 프리로드 커널에 명령한다.
본 발명의 일부의 실시예에서, 흐름 제어 정책의 협상된 시행자가 가상 머신 VM-m인 것으로 결정된 후, 프리로드 서버는 가상 머신이 흐름 제어 정책을 적절하게 시행하는지를 질의하는 상태 질의 메시지를 프리로드 클라이언트에 주기적으로 또는 비주기적으로 송신할 수도 있으며; 상태 질의 메시지에 대한 응답으로 상태 지시 메시지가 설정 기간 내에 프리로드 클라이언트로부터 수신되지 않거나, 가상 머신이 흐름 제어 정책을 시행할 때 장애가 발생한다는 것을 지시하는 지시 메시지를 가상 머신으로부터 수신하면, 가상 머신 VM-m이 흐름 제어 정책을 시행할 대 장애가 발생하는 것으로 결정될 수 있다. 당연히, 프리로드 서버는 가상 머신이 흐름 제어 정책을 시행할 때 장애가 발생하는지를 다른 방식으로 모니터링할 수도 있다. 가상 머신 VM-m이 흐름 제어 정책을 시행할 때 장애가 발생하는 것으로 결정되면, 프리로드 서버는 흐름 제어 정책의 시행자를 호스트로 전환할 수 있고, 프리로드 서버는 흐름 제어 정책을 시행하도록 프리로드 커널에 명령할 수 있다.
흐름 제어 정책을 시행하도록 명령을 받은 후, 프리로드 커널은 흐름 제어 정책에 기초하여 가상 머신 VM-m으로부터 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행한다.
도 5c를 참조하면, 도 5c는 본 발명의 실시예에 따른 패킷 흐름 효과에 대한 개략도이다. 도 5c에 도시된 바와 같이, 네트워크 인터페이스 카드에 대응하는 FE가 가상 머신 VM-m 내의 사용자-모드 애플리케이션으로부터 고대역폭 패킷 흐름에 대한 흐름 제어 정책을 시행한 후, 그 패킷 흐름의 대역폭이 감소한다. 조기의 스테이지(early stage)에서 흐름 제어를 수행하면 자원 소모의 감소에 일조한다는 것을 알 수 있다.
본 발명의 실시예에 따른 솔루션에서, 가상 머신과 호스트가 흐름 제어 정책의 시행자를 협상하는 메커니즘이 도입됨으로써, 가상 머신과 Host 양자는 흐름 제어 정책의 시행자가 될 기회를 가지며, 이에 의해 가상 머신은 흐름 제어 정책을 시행할 수 있으며, 이것은 패킷에 대한 흐름 제어를 가능한 일찍 수행할 수 있게 해주며, 비효율적 프로세싱을 감소시키고 무효한 패킷 흐름에 의해 점유되는, 호스트의 대역폭 및 어드레스 공간을 더 감소시킬 수 있게 한다. 이 솔루션은 가상 머신의 아웃바운드 패킷 흐름을 처리하는 데 점유되는, 호스트의 어드레스 공간을 감소시킬 수 있게 한다는 것을 알 수 있다. 또한, 흐름 제어 정책의 시행자는 협상을 통해 결정되므로, 흐름 제어 정책의 시행자의 시행 능력은 확실하게 보장되며, 이것은 흐름 제어 정책을 시행하는 신뢰도를 높일 수 있게 해준다.
또한, 가상 머신 및 Host 양자가 흐름 제어 정책의 시행을 지원할 때, 가상 머신은 흐름 제어 정책을 시행함에 있어서 우선권을 가지며, 이것은 추가로 패킷에 대해 흐름 제어를 가능한 일찍 수행할 수 있게 해주며, 비효율적인 프로세싱과 무효한 패킷 흐름에 의해 점유되는 대역폭을 더 감소시킬 수 있게 해준다.
또한, 가상 머신 및 호스트는 모듈러 아키텍처를 사용함으로써 설계되며, 이것은 복잡한 애플리케이션 환경에 대한 제품의 적응성을 개선할 수 있으며 환경 이동의 업그레이드 비용을 감소시킨다.
도 6a를 참조하면, 도 6a는 본 발명의 다른 실시예에 따른 다른 패킷 포워딩 및 제어 방법에 대한 개략적인 흐름도이다. 도 5b는 본 발명의 이 실시예에서 제공하면서 도 6에 도시된 흐름 제어 방법을 실행하는 데 사용될 수 있는 컴퓨팅 노드에 대한 개략적인 구조도이다. 도 5b는 일례로서, 컴퓨팅 노드에 배치되는 Host 및 가상 머신의 특정한 내부의 논리적 아키텍처를 도시하며, 당연히, Host 및 가상 머신은 도 5b에 도시된 실시예와는 내부의 논리적 아키텍처를 가질 수 있다. 본 실시예는 흐름 제어 방법이 도 5b에 도시된 아키텍처에서 실행되는 예를 주로 사용함으로써 설명된다.
도 6a에 도시된 바와 같이, 본 발명의 다른 실시예에 따른 다른 패킷 흐름 제어 방법은 이하의 내용을 포함할 수 있다:
601. 가상 머신 VM-m에 배치된 프리로드 클라이언트와 호스트에 배치된 프리로드 서버는 접속을 구축한다. 이 접속은 전송 제어 프로토콜의 접속 또는 다른 유형의 통신 접속이다.
가상 머신 VM-m에 배치된 프리로드 클라이언트와 호스트에 배치된 프리로드 서버 사이에 내재적 통신 접속이 존재하거나 프리로드 클라이언트와 프리로드 서버가 서로 직접 통신할 수 있으면, 단계 601은 생략될 수도 있다.
602. 가상 머신 VM-m에 배치된 프리로드 클라이언트는 호스트에 배치된 프리로드 서버에 의해 송신된 협상 시작 요구를 수신한다.
603. 가상 머신 VM-m에 배치된 프리로드 클라이언트는 가상 머신 VM-m의 흐름 제어 능력에 관한 설명 정보를 반송하는 시행자 협상 요구를 호스트에 배치된 프리로드 서버에 송신한다.
단계 601에서, 호스트에 배치된 프리로드 서버는 가상 머신 VM-m에 배치된 프리로드 클라이언트에 협상 시작 요구를 송신하여, 가상 머신 VM-m에 배치된 프리로드 클라이언트로 하여금 흐름 제어 정책의 시행자의 협상을 개시하도록 촉발하며; 당연히, 가상 머신 VM-m에 배치된 프리로드 클라이언트도 흐름 제어 정책의 시행자의 협상을 개시하는 다른 조건에 의해 촉발될 수 있다(예를 들어, 사용자-모드 프로세스에 의해 개시되는 협상 시작 요구(이것은, 즉 사용자-모드 애플리케이션 또는 사용자 명령에 의해 촉발될 수 있다)가 수신된다). 가상 머신 VM-m에 배치된 프리로드 클라이언트가 흐름 제어 정책의 시행자의 협상을 독립적으로 개시하면, 단계 602는 생략될 수 있다.
604. 호스트에 배치된 프리로드 서버는 가상 머신 VM-m의 흐름 제어 능력에 관한 설명 정보를 반송하는 시행자 협상 요구를 수신하며, 여기서 상기 시행자 협상 요구에 반송된 흐름 제어 능력에 관한 설명 정보는 가상 머신 VM-m이 흐름 제어 정책의 시행을 지원하는지를 지시하고, 이에 따라 호스트에 배치된 프리로드 서버는 흐름 제어 성능에 관한 설명 정보에 따라, 가상 머신 VM-m이 흐름 제어 정책의 시행을 지원하는지를 판정할 수 있다.
본 실시예에서, 호스트에 배치된 프리로드 서버가, 가상 머신 VM-m이 흐름 제어 정책의 시행을 지원하지 않는 것으로 결정하는 것을 이하에서 예로서 사용한다. 그러므로 호스트에 배치된 프리로드 서버는 가상 머신 VM-m에 배치된 프리로드 클라이언트에 협상 비확인 지시를 송신할 수 있고, 여기서 상기 협상 비확인 지시는 흐름 제어 정책의 협상된 시행자가 호스트이라는 것을 지시한다. 호스트에 배치된 프리로드 서버는 호스트에 배치된 프리로드 커널(preload kernel)에 흐름 제어 정책을 시행하도록 추가로 명령한다.
605. 호스트에 배치된 프리로드 서버에 의해 송신된 협상 비확인 지시를 수신한 후, 가상 머신 VM-m에 배치된 프리로드 클라이언트는 흐름 제어 정책의 협상된 시행자가 호스트라는 것으로 결정하고, 그러므로 가상 머신 VM-m에 배치된 프리로드 클라이언트는 가상 머신 VM-m에 배치된 네트워크 인터페이스 카드에 대응하는 EF에 흐름 제어 정책을 시행하지 않도록 명령한다.
단계 603 내지 605를 수행함으로써, 가상 머신 VM-m에 배치된 프리로드 클라이언트 및 호스트에 배치된 프리로드 서버는 협상을 통해 흐름 제어 정책의 시행자를 결정한다.
가상 머신 VM-m에 배치된 네트워크 인터페이스 카드에 대응하는 FE는 가상 머신 VM-m에 배치된 사용자-모드 애플리케이션으로부터 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행한다. 여기서, 가상 머신 VM-m에 배치된 네트워크 인터페이스 카드에 대응하는 EF는 포워드 프로세싱될 패킷에 대해 흐름 제어를 수행하지 않는다.
606. 호스트에 배치된 네트워크 인터페이스 카드에 대응하는 BE가 가상 머신 VM-m에 배치된 네트워크 인터페이스 카드에 대응하는 EF의 패킷을 수신하면, 호스트에 배치된 네트워크 인터페이스 카드에 대응하는 BE는 호스트에 배치된 프리로드 커널에 그 수신된 패킷을 포워딩한다.
프리로드 커널은 흐름 제어 정책에 기초하여 수신된 패킷에 대해 포워드 프로세싱을 수행한다.
본 실시예에서, 서비스 품질에 기초한 흐름 제어 정책 및 액세스 제어 목록에 기초한 흐름 제어 정책은 흐름 제어 정책의 예로서 사용된다.
서비스 품질에 기초한 흐름 제어 정책에서, 패킷에 대해 포워드 프로세싱을 수행하는 특정한 방식은 주로, 포워드 프로세스될 패킷에 대응하는 서비스 우선권에 기초하여 결정된다(여기서 특정한 포워드 프로세싱 방식은 지연을 가지는 패킷을 송신하기, 지연을 가지지 않는 패킷을 송신하기, 또는 패킷을 폐기하기 등일 수 있다). 예를 들어, 복수의 포워드 프로세싱될 패킷이 현재 캐시 내에 존재하고, 상위의 서비스 우선권에 대응하는 패킷이 짧은 지연으로 또는 심지어 지연이 없이 송신될 수 있으며, 하위의 서비스 우선권에 대응하는 패킷은 긴 지연으로 송신될 수 있고, 설정된 우선권 임계값보다 낮은 서비스 우선권에 대응하는 포워드 프로세싱될 패킷은 심지어 폐기될 수도 있다. 이것은 고 우선권 서비스의 서비스 품질을 가능한 한 많이 보장할 수 있게 해준다. 즉, 서비스 품질에 기초하여 흐름 제어 정책에 따라 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 단계는 구체적으로: 포워드 프로세싱될 패킷의 서비스 우선권에 대응하는 포워드 프로세싱 방식에 따라 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 단계를 포함할 수 있다.
액세스 제어 목록에 기초하는 흐름 제어 정책에서, 패킷에 대해 포워드 프로세싱을 수행하는 특정한 방식은 주로, 포워드 프로세싱될 패킷에 반송되는 정보가 액세스 제어 목록에 포함된 레코드와 일치하는지에 기초하여 결정된다. 예를 들어, 액세스 제어 목록은 제한된 액세스 제어 목록(이것은 블랙리스트와 유사하다)이고, 제한된 액세스 제어 목록이 발신지/목적지 어드레스, 애플리케이션-계층 프로토콜 유형, 또는 포워드 프로세싱될 패킷의 트랜스포트-계층 프로토콜 유형 및/또는 패킷 헤더에 포함된 특정한 키워드와 같은 정보와 일치하는 레코드를 가지면, 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 방식은 직접적으로 패킷을 폐기하는 것일 수 있으며; 대조적으로, 제한된 액세스 제어 목록이 발신지/목적지 어드레스, 애플리케이션-계층 프로토콜 유형, 또는 포워드 프로세싱될 패킷의 트랜스포트-계층 프로토콜 유형/패킷 헤더에 포함된 특정한 키워드와 같은 정보와 일치하는 레코드를 가지지 않으면, 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 방식은 직접적으로 패킷을 포워딩하는 것일 수 있다. 다른 예에 있어서, 액세스 제어 목록은 허용된 액세스 제어 목록(이것은 화이트리스트와 유사하다)이고, 허용된 액세스 제어 목록이 발신지/목적지 어드레스, 애플리케이션-계층 프로토콜 유형, 또는 포워드 프로세싱될 패킷의 트랜스포트-계층 프로토콜 유형/패킷 헤더에 포함된 특정한 키워드와 같은 정보와 일치하는 레코드를 가지지 않으면, 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 방식은 직접적으로 패킷을 폐기하는 것일 수 있고; 허용된 액세스 제어 목록이 발신지/목적지 어드레스, 애플리케이션-계층 프로토콜 유형, 또는 포워드 프로세싱될 패킷의 트랜스포트-계층 프로토콜 유형 및/또는 패킷 헤더에 포함된 특정한 키워드와 같은 정보와 일치하는 레코드를 가지면, 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 방식은 직접적으로 패킷을 포워딩하는 것일 수 있다. 다른 경우도 유사하게 처리될 수 있다.
그러므로 프리로드 커널이 흐름 제어 정책에 기초하여 가상 머신 VM-m으로부터 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 것은: 프리로드 커널이 가상 머신 VM-m으로부터 포워드 프로세싱될 패킷을 폐기하는 것; 또는 프리로드 커널이 가상 머신 VM-m으로부터 포워드 프로세싱될 패킷을 지연을 두고 송신하는 것(지연의 정도는 포워드 프로세싱될 패킷의 서비스 우선권 및 포워드 프로세싱될 패킷의 현재의 수와 관련될 수 있다); 또는 프리로드 커널이 가상 머신 VM-m으로부터 포워드 프로세싱될 패킷을 지연 없이 송신하는 것을 포함할 수 있다. 다른 방식을 여기서 다시 열거하지 않는다.
네트워크 인터페이스 카드가 네트워크 인터페이스 카드 드라이버를 사용함으로써 프리로드 커널에 의해 송신된 패킷을 수신하면, 이에 대응해서 네트워크 인터페이스 카드는 그 수신된 패킷에 대해 포워드 프로세싱을 수행한다.
도 6b를 참조하면, 도 6b는 본 발명의 실시예에 따른 다른 흐름 제어의 효과에 대한 개략도이다. 도 6b에 도시된 바와 같이, 네트워크 인터페이스 카드에 대응하는 EF가 가상 머신 VM-m 내의 사용자-모드 애플리케이션으로부터 고대역폭 패킷에 대한 흐름 제어 정책을 시행하지 않은 후, 호스트 내의 프리로드 커널이 흐름 제어 정책을 시행한 후 패킷 흐름의 대역폭이 감소한다.
본 발명의 실시예에 따른 솔루션에서, 가상 머신과 호스트가 흐름 제어 정책의 시행자를 협상하는 메커니즘이 도입됨으로써, 가상 머신과 Host 양자는 흐름 제어 정책의 시행자가 될 기회를 가지며, 이에 의해 가상 머신은 흐름 제어 정책을 시행할 수 있으며, 이것은 패킷에 대한 흐름 제어를 가능한 일찍 수행할 수 있게 해주며, 비효율적 프로세싱을 감소시키고 무효한 패킷 흐름에 의해 점유되는, 호스트의 대역폭 및 어드레스 공간을 더 감소시킬 수 있게 한다. 이 솔루션은 가상 머신의 아웃바운드 패킷 흐름을 처리하는 데 점유되는, 호스트의 어드레스 공간을 감소시킬 수 있게 한다는 것을 알 수 있다. 또한, 흐름 제어 정책의 시행자는 협상을 통해 결정되므로, 흐름 제어 정책의 시행자의 시행 능력은 확실하게 보장되며, 이것은 흐름 제어 정책을 시행하는 신뢰도를 높일 수 있게 해준다.
또한, 가상 머신 및 Host 양자가 흐름 제어 정책의 시행을 지원할 때, 가상 머신은 흐름 제어 정책을 시행함에 있어서 우선권을 가지며, 이것은 추가로 패킷에 대해 흐름 제어를 가능한 일찍 수행할 수 있게 해주며, 비효율적인 프로세싱과 무효한 패킷 흐름에 의해 점유되는 대역폭을 더 감소시킬 수 있게 해준다.
또한, 가상 머신 및 호스트는 모듈러 아키텍처를 사용함으로써 설계되며, 이것은 복잡한 애플리케이션 환경에 대한 제품의 적응성을 개선할 수 있으며 환경 이동의 업그레이드 비용을 감소시킨다.
도 7을 참조하면, 도 7은 본 발명의 다른 실시예에 따른 다른 패킷 흐름 제어 방법에 대한 개략적인 흐름도이다. 도 5b는 본 발명의 이 실시예에서 제공하면서 도 7에 도시된 흐름 제어 방법을 실행하는 데 사용될 수 있는 컴퓨팅 노드에 대한 개략적인 구조도이다. 도 7은 일례로서, 컴퓨팅 노드에 배치되는 Host 및 가상 머신의 특정한 내부의 논리적 아키텍처를 도시하며, 당연히, Host 및 가상 머신은 도 5b에 도시된 실시예와는 내부의 논리적 아키텍처를 가질 수 있다. 본 실시예는 흐름 제어 방법이 도 5b에 도시된 아키텍처에서 실행되는 예를 주로 사용함으로써 설명된다.
도 7에 도시된 바와 같이, 본 발명의 다른 실시예에 따른 다른 패킷 흐름 제어 방법은 이하의 내용을 포함할 수 있다:
701. 가상 머신 VM-m에 배치된 프리로드 클라이언트와 호스트에 배치된 프리로드 서버는 접속을 구축한다. 이 접속은 전송 제어 프로토콜의 접속 또는 다른 유형의 통신 접속이다.
가상 머신 VM-m에 배치된 프리로드 클라이언트와 호스트에 배치된 프리로드 서버 사이에 내재적 통신 접속이 존재하거나 프리로드 클라이언트와 프리로드 서버가 서로 직접 통신할 수 있으면, 단계 501은 생략될 수도 있다.
가상 머신 VM-m에 배치된 프리로드 클라이언트는 호스트에 배치된 프리로드 서버에 의해 송신된 협상 시작 요구를 수신한다.
가상 머신 VM-m에 배치된 프리로드 클라이언트는 가상 머신 VM-m의 흐름 제어 능력에 관한 설명 정보를 반송하는 시행자 협상 요구를 호스트에 배치된 프리로드 서버에 송신한다.
단계 702에서, 호스트에 배치된 프리로드 서버는 가상 머신 VM-m에 배치된 프리로드 클라이언트에 협상 시작 요구를 송신하여, 가상 머신 VM-m에 배치된 프리로드 클라이언트로 하여금 흐름 제어 정책의 시행자의 협상을 개시하도록 촉발하며; 당연히, 가상 머신 VM-m에 배치된 프리로드 클라이언트도 흐름 제어 정책의 시행자의 협상을 개시하는 다른 조건에 의해 촉발될 수 있다(예를 들어, 사용자-모드 프로세스에 의해 개시되는 협상 시작 요구(이것은, 즉 사용자-모드 애플리케이션 또는 사용자 명령에 의해 촉발될 수 있다)가 수신된다). 가상 머신 VM-m에 배치된 프리로드 클라이언트가 흐름 제어 정책의 시행자의 협상을 독립적으로 개시하면, 단계 702는 생략될 수 있다.
704. 호스트에 배치된 프리로드 서버는 가상 머신 VM-m의 흐름 제어 능력에 관한 설명 정보를 반송하는 시행자 협상 요구를 수신하며, 여기서 상기 시행자 협상 요구에 반송된 흐름 제어 능력에 관한 설명 정보는 시행이 가상 머신 VM-m에 의해 지원되는 흐름 제어 정책의 버전을 지시하며, 이에 따라 호스트에 배치된 프리로드 서버는 흐름 제어 성능에 관한 설명 정보에 따라, 가상 머신 VM-m이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하는지를 판정할 수 있다.
본 발명의 일부의 실시예에서, 흐름 제어 능력에 관한 설명 정보는 시행이 가상 머신에 의해 지원되는 흐름 제어 정책의 버전을 설명하는 데 사용되고, 그러므로 프리로드 서버가, 상기 흐름 제어 능력에 관한 설명 정보에 따라, 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하는지를 판정하는 단계는 구체적으로: 비교를 통해, 흐름 제어 능력에 관한 설명 정보에 의해 설명되는, 시행이 가상 머신에 의해 지원되는 흐름 제어 정책의 버전이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책과 동일한지를 판정하는 단계; 이것들이 동일하면, 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하는 것으로 결정하는 단계; 및 이것들이 다르면, 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하지 않는 것으로 결정하는 단계를 포함할 수 있다. 다른 예에 있어서, 프리로드 서버가, 흐름 제어 능력에 관한 설명 정보에 따라, 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하는지를 판정하는 것은 구체적으로: 비교를 통해, 흐름 제어 능력에 관한 설명 정보에 의해 설명되는, 시행이 가상 머신에 의해 지원되는 흐름 제어 정책의 k(단, k는 양의 정수)개의 버전의 각각의 버전이 흐름 제어 정책의 현재의 최신 버전 또는 사전설정된 버전과 동일한지를 판정하는 단계; 비교에 의해, k개의 버전 중 하나의 버전이 흐름 제어 정책의 현재의 최신 버전 또는 사전설정된 버전인 것이 획득되면, 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하는 것으로 결정하는 단계; 비교에 의해, k개의 버전 중 어느 하나의 버전이 흐름 제어 정책의 현재의 최신 버전 또는 사전설정된 버전과 다르다는 것이 획득되면, 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하지 않는 것으로 결정하는 단계를 포함한다.
본 실시예에서, 호스트에 배치된 프리로드 서버가 가상 머신 VM-m이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하는 것으로 결정하는 것을 이하에서 예로서 사용한다. 그러므로 호스트에 배치된 프리로드 서버는 가상 머신 VM-m에 배치된 프리로드 클라이언트에 협상 확인 지시를 송신할 수 있으며, 여기서 협상 확인 지시는 흐름 제어 정책의 협상된 시행자가 가상 머신 VM-m이라는 것을 지시하며, 여기서 협상 확인 지시는 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책을 반송할 수 있다. 호스트에 배치된 프리로드 서버는 호스트에 배치된 프리로드 커널에 흐름 제어 정책을 시행하지 않도록 추가로 명령한다.
705. 호스트에 배치된 프리로드 서버에 의해 송신된 협상 확인 지시를 수신한 후, 가상 머신 VM-m에 배치된 프리로드 클라이언트는 흐름 제어 정책의 협상된 시행자가 가상 머신 VM-m인 것으로 결정하며, 그러므로 가상 머신 VM-m에 배치된 프리로드 클라이언트는 협상 확인 지시에 반송된 흐름 제어 정책을 가상 머신 VM-m에 배치된 프리로드 클라이언트에 대응하는 FE에 송신한다.
단계 703 내지 705를 수행함으로써, 가상 머신 VM-m에 배치된 프리로드 클라이언트는 협상을 통해 흐름 제어 정책의 시행자를 결정한다.
706. 흐름 제어 정책을 수신한 후, 가상 머신 VM-m에 배치된 네트워크 인터페이스 카드에 대응하는 FE는 수신된 흐름 제어 정책에 기초하여, 가상 머신 VM-m에 배치된 사용자-모드 애플리케이션으로부터 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행한다.
본 실시예에서, 서비스 품질에 기초한 흐름 제어 정책 및 액세스 제어 목록에 기초한 흐름 제어 정책은 흐름 제어 정책의 예로서 사용된다.
서비스 품질에 기초한 흐름 제어 정책에서, 패킷에 대해 포워드 프로세싱을 수행하는 특정한 방식은 주로, 포워드 프로세스될 패킷에 대응하는 서비스 우선권에 기초하여 결정된다(여기서 특정한 포워드 프로세싱 방식은 지연을 가지는 패킷을 송신하기, 지연을 가지지 않는 패킷을 송신하기, 또는 패킷을 폐기하기 등일 수 있다). 예를 들어, 복수의 포워드 프로세싱될 패킷이 현재 캐시 내에 존재하고, 상위의 서비스 우선권에 대응하는 패킷이 짧은 지연으로 또는 심지어 지연이 없이 송신될 수 있으며, 하위의 서비스 우선권에 대응하는 패킷은 긴 지연으로 송신될 수 있고, 설정된 우선권 임계값보다 낮은 서비스 우선권에 대응하는 포워드 프로세싱될 패킷은 심지어 폐기될 수도 있다. 이것은 고 우선권 서비스의 서비스 품질을 가능한 한 많이 보장할 수 있게 해준다.
액세스 제어 목록에 기초하는 흐름 제어 정책에서, 패킷에 대해 포워드 프로세싱을 수행하는 특정한 방식은 주로, 포워드 프로세싱될 패킷에 반송되는 정보가 액세스 제어 목록에 포함된 레코드와 일치하는지에 기초하여 결정된다. 예를 들어, 액세스 제어 목록은 제한된 액세스 제어 목록(이것은 블랙리스트와 유사하다)이고, 제한된 액세스 제어 목록이 발신지/목적지 어드레스, 애플리케이션-계층 프로토콜 유형, 또는 포워드 프로세싱될 패킷의 트랜스포트-계층 프로토콜 유형 및/또는 패킷 헤더에 포함된 특정한 키워드와 같은 정보와 일치하는 레코드를 가지면, 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 방식은 직접적으로 패킷을 폐기하는 것일 수 있으며; 대조적으로, 제한된 액세스 제어 목록이 발신지/목적지 어드레스, 애플리케이션-계층 프로토콜 유형, 또는 포워드 프로세싱될 패킷의 트랜스포트-계층 프로토콜 유형/패킷 헤더에 포함된 특정한 키워드와 같은 정보와 일치하는 레코드를 가지지 않으면, 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 방식은 직접적으로 패킷을 포워딩하는 것일 수 있다. 다른 예에 있어서, 액세스 제어 목록은 허용된 액세스 제어 목록(이것은 화이트리스트와 유사하다)이고, 허용된 액세스 제어 목록이 발신지/목적지 어드레스, 애플리케이션-계층 프로토콜 유형, 또는 포워드 프로세싱될 패킷의 트랜스포트-계층 프로토콜 유형/패킷 헤더에 포함된 특정한 키워드와 같은 정보와 일치하는 레코드를 가지지 않으면, 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 방식은 직접적으로 패킷을 폐기하는 것일 수 있고; 허용된 액세스 제어 목록이 발신지/목적지 어드레스, 애플리케이션-계층 프로토콜 유형, 또는 포워드 프로세싱될 패킷의 트랜스포트-계층 프로토콜 유형 및/또는 패킷 헤더에 포함된 특정한 키워드와 같은 정보와 일치하는 레코드를 가지면, 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 방식은 직접적으로 패킷을 포워딩하는 것일 수 있다. 다른 경우도 유사하게 처리될 수 있다.
그러므로 가상 머신 VM-m에 배치된 네트워크 인터페이스 카드에 대응하는 FE가, 수신된 흐름 제어 정책에 기초하여, 가상 머신 VM-m에 배치된 사용자-모드 애플리케이션으로부터 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 것은: 가상 머신 VM-m에 배치된 네트워크 인터페이스 카드에 대응하는 FE가 가상 머신 VM-m에 배치된 사용자-모드 애플리케이션으로부터 포워드 프로세싱될 패킷을 폐기하는 것; 또는 가상 머신 VM-m에 배치된 네트워크 인터페이스 카드에 대응하는 FE가 가상 머신 VM-m에 배치된 사용자-모드 애플리케이션으로부터 포워드 프로세싱될 패킷을 지연을 두고 송신하는 것(지연의 정도는 포워드 프로세싱될 패킷의 서비스 우선권 및 포워드 프로세싱될 패킷의 현재의 수와 관련될 수 있다); 또는 가상 머신 VM-m에 배치된 네트워크 인터페이스 카드에 대응하는 FE가 가상 머신 VM-m에 배치된 사용자-모드 애플리케이션으로부터 포워드 프로세싱될 패킷을 지연 없이 송신하는 것을 포함할 수 있다. 다른 방식을 여기서 다시 열거하지 않는다.
호스트에 배치된 네트워크 인터페이스 카드에 대응하는 BE가 가상 머신 VM-m에 배치된 네트워크 인터페이스 카드에 대응하는 FE의 패킷을 수신하면, 호스트에 배치된 네트워크 인터페이스 카드에 대응하는 BE는 호스트에 배치된 프리로드 커널에 대해 상기 수신된 패킷에 대한 포워드 프로세싱을 수행한다.
호스트에 배치된 프리로드 커널은 흐름 제어 정책을 실행하지 않아도 되므로, 호스트에 배치된 프리로드 커널은 네트워크 인터페이스 카드 드라이버를 사용함으로써 그 수신된 패킷을 네트워크 인터페이스 카드에 직접 포워딩할 수 있고, 이에 대응해서 네트워크 인터페이스 카드는 그 수신된 패킷에 대해 포워드 프로세싱을 수행할 수 있다.
본 발명의 일부의 실시예에서, 흐름 제어 정책의 협상된 시행자가 가상 머신 VM-m인 것으로 결정된 후, 프리로드 클라이언트는 그 접속에 기초하여 프리로드 서버에 심장박동 메시지를 주기적으로 송신할 수 있다. 심장박동 메시지를 송신하는 목적 중 하나는 가상 머신 VM-m이 적절하게 작동하는 상태에 대해 프리로드 서버에 통지하기 위한 것이며, 프리로드 서버가 설정 기간 내에 가상 머신 프리로드 클라이언트로부터 심장박동 메시지를 수신하지 않으면, 프리로드 서버는 디폴트에 의해 가상 머신 VM-m에 장애가 발생한 것으로 결정할 수 있다. 예를 들어, 흐름 제어 정책의 협상된 시행자가 가상 머신 VM-m인 것으로 결정된 후, 프리로드 서버가 사전설정 기간 내에 가상 머신 VM-m으로부터 심장박동 메시지를 수신하지 않으면, 프리로드 서버는 흐름 제어 정책의 시행자를 프리로드 서버로 전환할 수 있으며(즉, 가상 머신 VM-m에 배치된 네트워크 인터페이스 카드에 대응하는 FE가 흐름 제어 정책에 기초하여 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는지에 관계없이 프리로드 커널도 또한 흐름 제어 정책에 기초하여 가상 머신 VM-m으로부터 패킷에 대해 포워드 프로세싱을 수행하며; Host 및 가상 머신 VM-m에서 시행되는 흐름 제어 정책은 동일하기 때문에, 동일한 패킷 흐름에 있어서, 가상 머신 VM-m에 배치된 네트워크 인터페이스 카드에 대응하는 프리로드 커널 또는 FE 또는 양자가 동일한 흐름 제어 정책을 시행하면, 최종적인 패킷 출력 조건들은 기본적으로 동일하다), 흐름 제어 정책의 시행자가 호스트로 전환된다는 것을 지시하는 지시 메시지를 프리로드 클라이언트에 송신할 수 있다.
본 발명의 일부의 실시예에서, 흐름 제어 정책의 협상된 시행자가 가상 머신 VM-m인 것으로 결정된 후, 프리로드 클라이언트는 또한, 가상 머신 VM-m에 배치된 네트워크 인터페이스 카드에 대응하는 FE가 흐름 제어 정책을 시행할 때 장애가 발생하면, 가상 머신 VM-m이 흐름 제어 정책을 시행할 때 장애가 발생한다는 것을 지시하는 지시 메시지를 프리로드 서버에 송신할 수도 있다. 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정된 후, 프리로드 서버가 가상 머신이 흐름 제어 정책을 시행할 때 장애가 발생한다는 것을 지시하는 지시 메시지를 프리로드 클라이언트로부터 수신하면, 프리로드 서버는 흐름 제어 정책의 시행자를 호스트로 전환할 수 있고, 프리로드 서버는 흐름 제어 정책을 시행하도록 프리로드 커널에 명령한다.
본 발명의 일부의 실시예에서, 흐름 제어 정책의 협상된 시행자가 가상 머신 VM-m인 것으로 결정된 후, 프리로드 서버는 가상 머신이 흐름 제어 정책을 적절하게 시행하는지를 질의하는 상태 질의 메시지를 프리로드 클라이언트에 주기적으로 또는 비주기적으로 송신할 수도 있으며; 상태 질의 메시지에 대한 응답으로 상태 지시 메시지가 설정 기간 내에 프리로드 클라이언트로부터 수신되지 않거나, 가상 머신이 흐름 제어 정책을 시행할 때 장애가 발생한다는 것을 지시하는 지시 메시지를 가상 머신으로부터 수신하면, 가상 머신 VM-m이 흐름 제어 정책을 시행할 대 장애가 발생하는 것으로 결정될 수 있다. 당연히, 프리로드 서버는 가상 머신이 흐름 제어 정책을 시행할 때 장애가 발생하는지를 다른 방식으로 모니터링할 수도 있다. 가상 머신 VM-m이 흐름 제어 정책을 시행할 때 장애가 발생하는 것으로 결정되면, 프리로드 서버는 흐름 제어 정책의 시행자를 호스트로 전환할 수 있고, 프리로드 서버는 흐름 제어 정책을 시행하도록 프리로드 커널에 명령할 수 있다.
흐름 제어 정책을 시행하도록 명령을 받은 후, 프리로드 커널은 흐름 제어 정책에 기초하여 가상 머신 VM-m으로부터 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행한다.
본 발명의 실시예에 따른 솔루션에서, 가상 머신과 호스트가 흐름 제어 정책의 시행자를 협상하는 메커니즘이 도입됨으로써, 가상 머신과 Host 양자는 흐름 제어 정책의 시행자가 될 기회를 가지며, 이에 의해 가상 머신은 흐름 제어 정책을 시행할 수 있으며, 이것은 패킷에 대한 흐름 제어를 가능한 일찍 수행할 수 있게 해주며, 비효율적 프로세싱을 감소시키고 무효한 패킷 흐름에 의해 점유되는, 호스트의 대역폭 및 어드레스 공간을 더 감소시킬 수 있게 한다. 이 솔루션은 가상 머신의 아웃바운드 패킷 흐름을 처리하는 데 점유되는, 호스트의 어드레스 공간을 감소시킬 수 있게 한다는 것을 알 수 있다. 또한, 흐름 제어 정책의 시행자는 협상을 통해 결정되므로, 흐름 제어 정책의 시행자의 시행 능력은 확실하게 보장되며, 이것은 흐름 제어 정책을 시행하는 신뢰도를 높일 수 있게 해준다.
또한, 가상 머신 및 Host 양자가 흐름 제어 정책의 시행을 지원할 때, 가상 머신은 흐름 제어 정책을 시행함에 있어서 우선권을 가지며, 이것은 추가로 패킷에 대해 흐름 제어를 가능한 일찍 수행할 수 있게 해주며, 비효율적인 프로세싱과 무효한 패킷 흐름에 의해 점유되는 대역폭을 더 감소시킬 수 있게 해준다.
또한, 가상 머신 및 호스트는 모듈러 아키텍처를 사용함으로써 설계되며, 이것은 복잡한 애플리케이션 환경에 대한 제품의 적응성을 개선할 수 있으며 환경 이동의 업그레이드 비용을 감소시킨다.
도 8을 참조하면, 도 8은 본 발명의 다른 실시예에 따른 다른 패킷 흐름 제어 방법에 대한 개략적인 흐름도이다. 도 5b는 본 발명의 이 실시예에서 제공하면서 도 8에 도시된 흐름 제어 방법을 실행하는 데 사용될 수 있는 컴퓨팅 노드에 대한 개략적인 구조도이다. 도 5b는 컴퓨팅 노드에 배치되어 있는 가상 머신 및 호스트의 특정한 내부의 논리적 아키텍처를 예시적으로 도시하며; 당연히, Host 및 가상 머신은 도 5b에 도시된 예와는 다른 내부의 논리적 아키텍처를 가질 수도 있다. 이 실시예는 흐름 제어 방법이 도 5b에 도시된 아키텍처에 실시되는 예를 주로 사용함으로써 설명된다.
도 8에 도시된 바와 같이, 본 발명의 다른 실시예에 따른 다른 패킷 흐름 제어 방법은 이하의 내용을 포함한다:
801. 가상 머신 VM-m에 배치된 프리로드 클라이언트와 호스트에 배치된 프리로드 서버는 접속을 구축한다. 이 접속은 전송 제어 프로토콜의 접속 또는 다른 유형의 통신 접속이다.
가상 머신 VM-m에 배치된 프리로드 클라이언트와 호스트에 배치된 프리로드 서버 사이에 내재적 통신 접속이 존재하거나 프리로드 클라이언트와 프리로드 서버가 서로 직접 통신할 수 있으면, 단계 601은 생략될 수도 있다.
802. 가상 머신 VM-m에 배치된 프리로드 클라이언트는 호스트에 배치된 프리로드 서버에 의해 송신된 협상 시작 요구를 수신한다.
803. 가상 머신 VM-m에 배치된 프리로드 클라이언트는 가상 머신 VM-m의 흐름 제어 능력에 관한 설명 정보를 반송하는 시행자 협상 요구를 호스트에 배치된 프리로드 서버에 송신한다.
단계 802에서, 호스트에 배치된 프리로드 서버는 가상 머신 VM-m에 배치된 프리로드 클라이언트에 협상 시작 요구를 송신하여, 가상 머신 VM-m에 배치된 프리로드 클라이언트로 하여금 흐름 제어 정책의 시행자의 협상을 개시하도록 촉발하며; 당연히, 가상 머신 VM-m에 배치된 프리로드 클라이언트도 흐름 제어 정책의 시행자의 협상을 개시하는 다른 조건에 의해 촉발될 수 있다(예를 들어, 사용자-모드 프로세스에 의해 개시되는 협상 시작 요구(이것은, 즉 사용자-모드 애플리케이션 또는 사용자 명령에 의해 촉발될 수 있다)가 수신된다). 가상 머신 VM-m에 배치된 프리로드 클라이언트가 흐름 제어 정책의 시행자의 협상을 독립적으로 개시하면, 단계 802는 생략될 수 있다.
804. 호스트에 배치된 프리로드 서버는 가상 머신 VM-m의 흐름 제어 능력에 관한 설명 정보를 반송하는 시행자 협상 요구를 수신하며, 여기서 상기 시행자 협상 요구에 반송된 흐름 제어 능력에 관한 설명 정보는 시행이 가상 머신 VM-m에 의해 지원되는 흐름 제어 정책의 버전을 지시하며, 그러므로 호스트에 배치된 프리로드 서버는 흐름 제어 능력에 관한 설명 정보에 따라, 가상 머신 VM-m이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하는지를 판정할 수 있다.
본 발명의 일부의 실시예에서, 흐름 제어 능력에 관한 설명 정보는 시행이 가상 머신에 의해 지원되는 흐름 제어 정책의 버전을 설명하는 데 사용되고, 그러므로 프리로드 서버가, 상기 흐름 제어 능력에 관한 설명 정보에 따라, 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하는지를 판정하는 단계는 구체적으로: 비교를 통해, 흐름 제어 능력에 관한 설명 정보에 의해 설명되는, 시행이 가상 머신에 의해 지원되는 흐름 제어 정책의 버전이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책과 동일한지를 판정하는 단계; 이것들이 동일하면, 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하는 것으로 결정하는 단계; 및 이것들이 다르면, 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하지 않는 것으로 결정하는 단계를 포함할 수 있다. 다른 예에 있어서, 프리로드 서버가, 흐름 제어 능력에 관한 설명 정보에 따라, 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하는지를 판정하는 것은 구체적으로: 비교를 통해, 흐름 제어 능력에 관한 설명 정보에 의해 설명되는, 시행이 가상 머신에 의해 지원되는 흐름 제어 정책의 k(단, k는 양의 정수)개의 버전의 각각의 버전이 흐름 제어 정책의 현재의 최신 버전 또는 사전설정된 버전과 동일한지를 판정하는 단계; 비교에 의해, k개의 버전 중 하나의 버전이 흐름 제어 정책의 현재의 최신 버전 또는 사전설정된 버전인 것이 획득되면, 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하는 것으로 결정하는 단계; 비교에 의해, k개의 버전 중 어느 하나의 버전이 흐름 제어 정책의 현재의 최신 버전 또는 사전설정된 버전과 다르다는 것이 획득되면, 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하지 않는 것으로 결정하는 단계를 포함한다.
본 실시예에서, 호스트에 배치된 프리로드 서버가 가상 머신 VM-m이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하는 것으로 결정하는 것을 이하에서 예로서 사용한다. 그러므로 호스트에 배치된 프리로드 서버는 가상 머신 VM-m에 배치된 프리로드 클라이언트에 협상 확인 지시를 송신할 수 있으며, 여기서 협상 확인 지시는 흐름 제어 정책의 협상된 시행자가 가상 머신 VM-m이라는 것을 지시하며, 여기서 협상 확인 지시는 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책을 반송할 수 있다. 호스트에 배치된 프리로드 서버는 호스트에 배치된 프리로드 커널(preload kernel)에 흐름 제어 정책을 시행하지 않도록 추가로 명령한다.
805. 호스트에 배치된 프리로드 서버에 의해 송신된 협상 비확인 지시를 수신한 후, 가상 머신 VM-m에 배치된 프리로드 클라이언트는 흐름 제어 정책의 협상된 시행자가 호스트인 것으로 결정하며, 그러므로 가상 머신 VM-m에 배치된 프리로드 클라이언트는 가상 머신 VM-m에 배치된 네트워크 인터페이스 카드에 대응하는 FE에 흐름 제어 정책을 수행하지 않도록 명령한다.
단계 803 내지 805를 수행함으로써, 가상 머신 VM-m에 배치된 프리로드 클라이언트는 협상을 통해 흐름 제어 정책의 시행자를 결정한다.
가상 머신 VM-m에 배치된 네트워크 인터페이스 카드에 대응하는 FE는 가상 머신 VM-m에 배치된 사용자-모드 애플리케이션으로부터 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행한다. 여기서, 가상 머신 VM-m에 배치된 네트워크 인터페이스 카드에 대응하는 FE는 포워드 프로세싱될 패킷에 대해 흐름 제어를 수행하지 않는다.
806. 호스트에 배치된 네트워크 인터페이스 카드에 대응하는 BE가 가상 머신 VM-m에 배치된 네트워크 인터페이스 카드에 대응하는 FE의 패킷을 수신하면, 호스트에 배치된 네트워크 인터페이스 카드에 대응하는 BE는 호스트에 배치된 프리로드 커널에 대해 그 수신된 패킷에 대한 포워딩 프로세싱을 수행한다.
프리로드 커널은 흐름 제어 정책에 기초하여 수신된 패킷에 대해 포워드 프로세싱을 수행한다.
본 실시예에서, 서비스 품질에 기초한 흐름 제어 정책 및 액세스 제어 목록에 기초한 흐름 제어 정책은 흐름 제어 정책의 예로서 사용된다.
서비스 품질에 기초한 흐름 제어 정책에서, 패킷에 대해 포워드 프로세싱을 수행하는 특정한 방식은 주로, 포워드 프로세스될 패킷에 대응하는 서비스 우선권에 기초하여 결정된다(여기서 특정한 포워드 프로세싱 방식은 지연을 가지는 패킷을 송신하기, 지연을 가지지 않는 패킷을 송신하기, 또는 패킷을 폐기하기 등일 수 있다). 예를 들어, 복수의 포워드 프로세싱될 패킷이 현재 캐시 내에 존재하고, 상위의 서비스 우선권에 대응하는 패킷이 짧은 지연으로 또는 심지어 지연이 없이 송신될 수 있으며, 하위의 서비스 우선권에 대응하는 패킷은 긴 지연으로 송신될 수 있고, 설정된 우선권 임계값보다 낮은 서비스 우선권에 대응하는 포워드 프로세싱될 패킷은 심지어 폐기될 수도 있다. 이것은 고 우선권 서비스의 서비스 품질을 가능한 한 많이 보장할 수 있게 해준다.
액세스 제어 목록에 기초하는 흐름 제어 정책에서, 패킷에 대해 포워드 프로세싱을 수행하는 특정한 방식은 주로, 포워드 프로세싱될 패킷에 반송되는 정보가 액세스 제어 목록에 포함된 레코드와 일치하는지에 기초하여 결정된다. 예를 들어, 액세스 제어 목록은 제한된 액세스 제어 목록(이것은 블랙리스트와 유사하다)이고, 제한된 액세스 제어 목록이 발신지/목적지 어드레스, 애플리케이션-계층 프로토콜 유형, 또는 포워드 프로세싱될 패킷의 트랜스포트-계층 프로토콜 유형 및/또는 패킷 헤더에 포함된 특정한 키워드와 같은 정보와 일치하는 레코드를 가지면, 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 방식은 직접적으로 패킷을 폐기하는 것일 수 있으며; 대조적으로, 제한된 액세스 제어 목록이 발신지/목적지 어드레스, 애플리케이션-계층 프로토콜 유형, 또는 포워드 프로세싱될 패킷의 트랜스포트-계층 프로토콜 유형/패킷 헤더에 포함된 특정한 키워드와 같은 정보와 일치하는 레코드를 가지지 않으면, 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 방식은 직접적으로 패킷을 포워딩하는 것일 수 있다. 다른 예에 있어서, 액세스 제어 목록은 허용된 액세스 제어 목록(이것은 화이트리스트와 유사하다)이고, 허용된 액세스 제어 목록이 발신지/목적지 어드레스, 애플리케이션-계층 프로토콜 유형, 또는 포워드 프로세싱될 패킷의 트랜스포트-계층 프로토콜 유형/패킷 헤더에 포함된 특정한 키워드와 같은 정보와 일치하는 레코드를 가지지 않으면, 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 방식은 직접적으로 패킷을 폐기하는 것일 수 있고; 허용된 액세스 제어 목록이 발신지/목적지 어드레스, 애플리케이션-계층 프로토콜 유형, 또는 포워드 프로세싱될 패킷의 트랜스포트-계층 프로토콜 유형 및/또는 패킷 헤더에 포함된 특정한 키워드와 같은 정보와 일치하는 레코드를 가지면, 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 방식은 직접적으로 패킷을 포워딩하는 것일 수 있다. 다른 경우도 유사하게 처리될 수 있다.
그러므로 프리로드 커널이 흐름 제어 정책에 기초하여 가상 머신 VM-m으로부터 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 것은: 프리로드 커널이 가상 머신 VM-m으로부터 포워드 프로세싱될 패킷을 폐기하는 것; 또는 프리로드 커널이 가상 머신 VM-m으로부터 포워드 프로세싱될 패킷을 지연을 두고 송신하는 것(지연의 정도는 포워드 프로세싱될 패킷의 서비스 우선권 및 포워드 프로세싱될 패킷의 현재의 수와 관련될 수 있다); 또는 프리로드 커널이 가상 머신 VM-m으로부터 포워드 프로세싱될 패킷을 지연 없이 송신하는 것을 포함할 수 있다. 다른 방식을 여기서 다시 열거하지 않는다.
네트워크 인터페이스 카드가 네트워크 인터페이스 카드 드라이버를 사용함으로써 프리로드 커널에 의해 송신된 패킷을 수신하면, 이에 대응해서 네트워크 인터페이스 카드는 그 수신된 패킷에 대해 포워드 프로세싱을 수행한다.
본 발명의 실시예에 따른 솔루션에서, 가상 머신과 호스트가 흐름 제어 정책의 시행자를 협상하는 메커니즘이 도입됨으로써, 가상 머신과 Host 양자는 흐름 제어 정책의 시행자가 될 기회를 가지며, 이에 의해 가상 머신은 흐름 제어 정책을 시행할 수 있으며, 이것은 패킷에 대한 흐름 제어를 가능한 일찍 수행할 수 있게 해주며, 비효율적 프로세싱을 감소시키고 무효한 패킷 흐름에 의해 점유되는, 호스트의 대역폭 및 어드레스 공간을 더 감소시킬 수 있게 한다. 이 솔루션은 가상 머신의 아웃바운드 패킷 흐름을 처리하는 데 점유되는, 호스트의 어드레스 공간을 감소시킬 수 있게 한다는 것을 알 수 있다. 또한, 흐름 제어 정책의 시행자는 협상을 통해 결정되므로, 흐름 제어 정책의 시행자의 시행 능력은 확실하게 보장되며, 이것은 흐름 제어 정책을 시행하는 신뢰도를 높일 수 있게 해준다.
또한, 가상 머신 및 Host 양자가 흐름 제어 정책의 시행을 지원할 때, 가상 머신은 흐름 제어 정책을 시행함에 있어서 우선권을 가지며, 이것은 추가로 패킷에 대해 흐름 제어를 가능한 일찍 수행할 수 있게 해주며, 비효율적인 프로세싱과 무효한 패킷 흐름에 의해 점유되는 대역폭을 더 감소시킬 수 있게 해준다.
또한, 가상 머신 및 호스트는 모듈러 아키텍처를 사용함으로써 설계되며, 이것은 복잡한 애플리케이션 환경에 대한 제품의 적응성을 개선할 수 있으며 환경 이동의 업그레이드 비용을 감소시킨다.
본 발명의 실시예에 따른 솔루션을 더 잘 실시하기 위해, 솔루션을 실행하기 위한 관련 장치가 다음과 같이 추가로 제공된다:
도면을 참조하면, 본 발명의 실시예에 따른 가상 머신(900)은: 제1 협상 유닛(910) 및 패킷 프로세싱 유닛(920)을 포함할 수 있다:
제1 협상 유닛(910)은 가상 머신(900)과 호스트 사이에서, 상기 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하도록 구성되어 있다.
패킷 프로세싱 유닛(920)은 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정되면, 상기 흐름 제어 정책에 기초하여 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하고, 상기 흐름 제어 정책의 협상된 시행자가 호스트인 것으로 결정되면, 상기 포워드 프로세싱될 패킷을 호스트에 송신하고, 상기 호스트가 상기 흐름 제어 정책에 기초하여 상기 수신된 패킷에 대해 포워드 프로세싱을 수행할 수 있도록 구성되어 있다.
본 발명의 일부의 실시예에서, 상기 제1 협상 유닛(910)은 구체적으로, 가상 머신의 흐름 제어 능력에 관한 설명 정보를 반송하는 시행자 협상 요구를 호스트에 송신하고; 협상 확인 지시가 수신되면, 상기 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정하며 - 상기 호스트가, 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 흐름 제어 정책의 시행을 지원하는 것으로 결정한 후, 상기 협상 확인 지시가 상기 호스트에 의해 송신됨 - ; 그리고 협상 비확인 지시가 수신되면, 상기 흐름 제어 정책의 협상된 시행자가 호스트인 것으로 결정하도록 구성되어 있으며 - 상기 호스트가, 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 흐름 제어 정책의 시행을 지원하지 않는 것으로 결정한 후, 상기 협상 비확인 지시가 상기 호스트에 의해 송신됨 - ;
또는
상기 제1 협상 유닛(910)은 구체적으로, 상기 가상 머신의 흐름 제어 능력에 관한 설명 정보를 반송하는 시행자 협상 요구를 호스트에 송신하고 - 상기 흐름 제어 능력에 관한 설명 정보는 시행이 가상 머신에 의해 지원되는 흐름 제어 정책의 버전을 설명하는 데 사용됨 - ; 상기 호스트가, 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하는 것으로 결정한 후, 상기 호스트에 의해 송신되는 협상 확인 지시가 수신되면, 상기 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정하며; 상기 호스트가, 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하지 않는 것으로 결정한 후, 상기 호스트에 의해 송신되는 협상 비확인 지시가 수신되면, 상기 흐름 제어 정책의 협상된 시행자가 호스트인 것으로 결정하도록 구성되어 있으며,
또는
상기 제1 협상 유닛(910)은 구체적으로, 상기 가상 머신의 흐름 제어 능력에 관한 설명 정보를 반송하는 시행자 협상 요구를 호스트에 송신하고; 협상 확인 지시가 상기 호스트에 의해 수신되면, 상기 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정하며 - 상기 호스트가, 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 흐름 제어 정책의 시행을 지원하는 것으로 결정한 후, 협상 확인 지시가 호스트에 의해 송신됨 - ; 그리고 시행자 협상 요구에 대한 응답으로 호스트에 의해 송신되는 협상 확인 지시가 제1 설정 기간 내에 수신되지 않으면, 상기 흐름 제어 정책의 협상된 시행자가 호스트인 것으로 결정하도록 구성되어 있으며,
또는
상기 제1 협상 유닛(910)은 구체적으로, 상기 가상 머신의 흐름 제어 능력에 관한 설명 정보를 반송하는 시행자 협상 요구를 호스트에 송신하고 - 상기 흐름 제어 능력에 관한 설명 정보는 시행이 가상 머신에 의해 지원되는 흐름 제어 정책의 버전을 설명하는 데 사용됨 - ; 상기 호스트가, 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하는 것으로 결정한 후, 상기 호스트에 의해 송신되는 협상 확인 지시가 수신되면, 상기 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정하며; 그리고 시행자 협상 요구에 대한 응답으로 호스트에 의해 송신되는 협상 확인 지시가 제1 설정 기간 내에 수신되지 않으면, 상기 흐름 제어 정책의 협상된 시행자가 호스트인 것으로 결정하도록 구성되어 있으며,
또는
상기 제1 협상 유닛(910)은 구체적으로, 상기 가상 머신의 흐름 제어 능력에 관한 설명 정보를 반송하는 시행자 협상 요구를 호스트에 송신하고; 협상 비확인 지시가 수신되면, 상기 흐름 제어 정책의 협상된 시행자가 호스트인 것으로 결정하며 - 상기 호스트가, 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 흐름 제어 정책의 시행을 지원하지 않는 것으로 결정한 후, 협상 비확인 지시가 호스트에 의해 송신되며; 그리고 시행자 협상 요구에 대한 응답으로 호스트에 의해 송신되는 협상 비확인 지시가 제2 설정 기간 내에 수신되지 않으면, 상기 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정하도록 구성되어 있으며,
또는
상기 제1 협상 유닛(910)은 구체적으로, 상기 가상 머신의 흐름 제어 능력에 관한 설명 정보를 반송하는 시행자 협상 요구를 호스트에 송신하고 - 상기 흐름 제어 능력에 관한 설명 정보는 시행이 가상 머신에 의해 지원되는 흐름 제어 정책의 버전을 설명하는 데 사용됨 - ; 상기 호스트가, 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하는 것으로 결정한 후, 상기 호스트에 의해 송신되는 협상 비확인 지시가 수신되면, 상기 흐름 제어 정책의 협상된 시행자가 호스트인 것으로 결정하고; 그리고 시행자 협상 요구에 대한 응답으로 호스트에 의해 송신되는 협상 비확인 지시가 제2 설정 기간 내에 수신되지 않으면, 상기 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정하도록 구성되어 있다.
본 발명의 일부의 실시예에서, 흐름 제어 능력에 관한 설명 정보가 시행이 가상 머신(900)에 의해 지원되는 흐름 제어 정책의 버전을 설명하는 데 사용되면, 호스트가, 흐름 제어 능력에 관한 설명 정보에 따라, 가상 머신(900)이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하는지를 판정하는 것은 구체적으로: 비교를 통해, 흐름 제어 능력에 관한 설명 정보에 의해 설명되는, 시행이 가상 머신(900)에 의해 지원되는 흐름 제어 정책의 버전이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책과 동일한지를 판정하는 단계; 이것들이 동일하면, 가상 머신(900)이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하는 것으로 결정하는 단계; 및 이것들이 다르면, 가상 머신(900)이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하지 않는 것으로 결정하는 단계를 포함할 수 있다. 다른 예에 있어서, 호스트가, 흐름 제어 능력에 관한 설명 정보에 따라, 가상 머신(900)이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하는지를 판정하는 것은 구체적으로: 비교를 통해, 흐름 제어 능력에 관한 설명 정보에 의해 설명되는, 시행이 가상 머신(900)에 의해 지원되는 흐름 제어 정책의 k(단, k는 양의 정수)개의 버전의 각각의 버전이 흐름 제어 정책의 현재의 최신 버전 또는 사전설정된 버전과 동일한지를 판정하는 단계; 비교에 의해, k개의 버전 중 하나의 버전이 흐름 제어 정책의 현재의 최신 버전 또는 사전설정된 버전인 것이 획득되면, 가상 머신(900)이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하는 것으로 결정하는 단계; 비교에 의해, k개의 버전 중 어느 하나의 버전이 흐름 제어 정책의 현재의 최신 버전 또는 사전설정된 버전과 다르다는 것이 획득되면, 가상 머신(900)이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하지 않는 것으로 결정하는 단계를 포함한다.
본 발명의 일부의 실시예에서, 가상 머신(900)은:
흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정된 후, 호스트에 심장박동 메시지를 주기적으로 송신하도록 구성되어 있는 송신 유닛(도 9에 도시되지 않음)
을 더 포함할 수 있다.
본 실시예에서 언급된 흐름 제어 정책은 예를 들어 서비스 품질에 기초한 흐름 제어 정책 및/또는 액세스 제어 목록에 기초한 흐름 제어 정책일 수 있으며, 당연히, 흐름 제어 정책은 다른 요인을 참조하는 흐름 제어 정책일 수도 있다.
서비스 품질에 기초한 흐름 제어 정책에서, 패킷에 대해 포워드 프로세싱을 수행하는 특정한 방식은 주로, 포워드 프로세스될 패킷에 대응하는 서비스 우선권에 기초하여 결정된다(여기서 특정한 포워드 프로세싱 방식은 지연을 가지는 패킷을 송신하기, 지연을 가지지 않는 패킷을 송신하기, 또는 패킷을 폐기하기 등일 수 있다). 예를 들어, 복수의 포워드 프로세싱될 패킷이 현재 캐시 내에 존재하고, 상위의 서비스 우선권에 대응하는 패킷이 짧은 지연으로 또는 심지어 지연이 없이 송신될 수 있으며, 하위의 서비스 우선권에 대응하는 패킷은 긴 지연으로 송신될 수 있고, 설정된 우선권 임계값보다 낮은 서비스 우선권에 대응하는 포워드 프로세싱될 패킷은 심지어 폐기될 수도 있다. 이것은 고 우선권 서비스의 서비스 품질을 가능한 한 많이 보장할 수 있게 해준다. 즉, 서비스 품질에 기초하여 흐름 제어 정책에 따라 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 단계는 구체적으로: 포워드 프로세싱될 패킷의 서비스 우선권에 대응하는 포워드 프로세싱 방식에 따라 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 단계를 포함할 수 있다.
액세스 제어 목록에 기초하는 흐름 제어 정책에서, 패킷에 대해 포워드 프로세싱을 수행하는 특정한 방식은 주로, 포워드 프로세싱될 패킷에 반송되는 정보가 액세스 제어 목록에 포함된 레코드와 일치하는지에 기초하여 결정된다. 예를 들어, 액세스 제어 목록은 제한된 액세스 제어 목록(이것은 블랙리스트와 유사하다)이고, 제한된 액세스 제어 목록이 발신지/목적지 어드레스, 애플리케이션-계층 프로토콜 유형, 또는 포워드 프로세싱될 패킷의 트랜스포트-계층 프로토콜 유형 및/또는 패킷 헤더에 포함된 특정한 키워드와 같은 정보와 일치하는 레코드를 가지면, 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 방식은 직접적으로 패킷을 폐기하는 것일 수 있으며; 대조적으로, 제한된 액세스 제어 목록이 발신지/목적지 어드레스, 애플리케이션-계층 프로토콜 유형, 또는 포워드 프로세싱될 패킷의 트랜스포트-계층 프로토콜 유형/패킷 헤더에 포함된 특정한 키워드와 같은 정보와 일치하는 레코드를 가지지 않으면, 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 방식은 직접적으로 패킷을 포워딩하는 것일 수 있다. 다른 예에 있어서, 액세스 제어 목록은 허용된 액세스 제어 목록(이것은 화이트리스트와 유사하다)이고, 허용된 액세스 제어 목록이 발신지/목적지 어드레스, 애플리케이션-계층 프로토콜 유형, 또는 포워드 프로세싱될 패킷의 트랜스포트-계층 프로토콜 유형/패킷 헤더에 포함된 특정한 키워드와 같은 정보와 일치하는 레코드를 가지지 않으면, 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 방식은 직접적으로 패킷을 폐기하는 것일 수 있고; 허용된 액세스 제어 목록이 발신지/목적지 어드레스, 애플리케이션-계층 프로토콜 유형, 또는 포워드 프로세싱될 패킷의 트랜스포트-계층 프로토콜 유형 및/또는 패킷 헤더에 포함된 특정한 키워드와 같은 정보와 일치하는 레코드를 가지면, 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 방식은 직접적으로 패킷을 포워딩하는 것일 수 있다. 다른 경우도 유사하게 처리될 수 있다.
본 실시예에서의 가상 머신(900)의 각각의 모듈의 기능은 구체적으로 전술한 방법 실시예에서 설명된 방법에 따라 실시될 수 있다. 그 특정한 실시 프로세스에 대해서는, 전술한 실시예에서의 관련 설명을 참조하면 되므로 이에 대해서는 여기서 다시 설명하지 않는다.
본 발명의 실시예에 따른 솔루션에서, 가상 머신과 호스트가 흐름 제어 정책의 시행자를 협상하는 메커니즘이 도입됨으로써, 가상 머신과 Host 양자는 흐름 제어 정책의 시행자가 될 기회를 가지며, 이에 의해 가상 머신은 흐름 제어 정책을 시행할 수 있으며, 이것은 패킷에 대한 흐름 제어를 가능한 일찍 수행할 수 있게 해주며, 비효율적 프로세싱을 감소시키고 무효한 패킷 흐름에 의해 점유되는, 호스트의 대역폭 및 어드레스 공간을 더 감소시킬 수 있게 한다. 이 솔루션은 가상 머신의 아웃바운드 패킷 흐름을 처리하는 데 점유되는, 호스트의 어드레스 공간을 감소시킬 수 있게 한다는 것을 알 수 있다. 또한, 흐름 제어 정책의 시행자는 협상을 통해 결정되므로, 흐름 제어 정책의 시행자의 시행 능력은 확실하게 보장되며, 이것은 흐름 제어 정책을 시행하는 신뢰도를 높일 수 있게 해준다.
또한, 가상 머신 및 Host 양자가 흐름 제어 정책의 시행을 지원할 때, 가상 머신은 흐름 제어 정책을 시행함에 있어서 우선권을 가지며, 이것은 추가로 패킷에 대해 흐름 제어를 가능한 일찍 수행할 수 있게 해주며, 비효율적인 프로세싱과 무효한 패킷 흐름에 의해 점유되는 대역폭을 더 감소시킬 수 있게 해준다.
또한, 가상 머신 및 호스트는 모듈러 아키텍처를 사용함으로써 설계되며, 이것은 복잡한 애플리케이션 환경에 대한 제품의 적응성을 개선할 수 있으며 환경 이동의 업그레이드 비용을 감소시킨다.
도 10을 참조하면, 본 발명의 실시예는 추가로 호스트(1000)를 제공하며, 상기 호스트는 제2 협상 유닛(1010) 및 패킷 프로세싱 유닛(1020)을 포함할 수 있다.
제2 협상 유닛(1010)은, 가상 머신과 호스트(1000) 사이에서, 상기 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하도록 구성되어 있다.
패킷 프로세싱 유닛(1020)은: 흐름 제어 정책의 협상된 시행자가 호스트인 것으로 결정되면, 상기 가상 머신으로부터 패킷을 수신한 후, 상기 흐름 제어 정책에 기초하여 상기 수신된 패킷에 대해 포워드 프로세싱을 수행하도록 구성되어 있다.
본 발명의 일부의 실시예에서, 상기 제2 협상 유닛(1010)은 구체적으로, 상기 가상 머신에 의해 송신되고 상기 가상 머신의 흐름 제어 능력에 관한 설명 정보를 반송하는 시행자 협상 요구를 수신하고; 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 상기 제어 흐름 정책의 시행을 지원하는 것으로 결정되면, 상기 가상 머신에 협상 확인 지시를 송신하며 - 상기 협상 확인 지시는 상기 흐름 제어 정책의 협상된 시행자가 가상 머신이라는 것을 지시함 - ; 및/또는 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 상기 흐름 제어 정책의 시행을 지원하지 않는 것으로 결정되면, 상기 가상 머신에 협상 비확인 지시를 송신하도록 구성되어 있으며, 상기 협상 비확인 지시는 상기 흐름 제어 정책의 협상된 시행자가 호스트라는 것을 지시한다.
본 발명의 일부의 다른 실시예에서, 상기 제2 협상 유닛(1010)은 구체적으로, 상기 호스트가, 상기 가상 머신에 의해 송신되고 상기 가상 머신의 흐름 제어 능력에 관한 설명 정보를 반송하는 시행자 협상 요구를 수신하고 - 상기 흐름 제어 능력에 관한 설명 정보는 시행이 가상 머신에 의해 지원되는 흐름 제어 정책의 버전을 설명하는 데 사용됨 - ; 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 제어 흐름 정책의 시행을 지원하는 것으로 결정되면, 상기 가상 머신에 협상 확인 지시를 송신하며 - 상기 협상 확인 지시는 상기 흐름 제어 정책의 협상된 시행자가 가상 머신이라는 것을 지시함 - ; 및/또는 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하지 않는 것으로 결정되면, 상기 가상 머신에 협상 비확인 지시를 송신하도록 구성되어 있으며, 상기 협상 비확인 지시는 상기 흐름 제어 정책의 협상된 시행자가 호스트라는 것을 지시한다.
본 발명의 일부의 실시예에서, 흐름 제어 능력에 관한 설명 정보가 시행이 가상 머신에 의해 지원되는 흐름 제어 정책의 버전을 설명하는 데 사용되면, 제2 협상 유닛(1010)이, 상기 흐름 제어 능력에 관한 설명 정보에 따라, 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하는지를 판정하는 단계는 구체적으로: 비교를 통해, 흐름 제어 능력에 관한 설명 정보에 의해 설명되는, 시행이 가상 머신에 의해 지원되는 흐름 제어 정책의 버전이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책과 동일한지를 판정하는 단계; 이것들이 동일하면, 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하는 것으로 결정하는 단계; 및 이것들이 다르면, 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하지 않는 것으로 결정하는 단계를 포함할 수 있다. 다른 예에 있어서, 제2 협상 유닛(1010)이, 흐름 제어 능력에 관한 설명 정보에 따라, 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하는지를 판정하는 것은 구체적으로: 비교를 통해, 흐름 제어 능력에 관한 설명 정보에 의해 설명되는, 시행이 가상 머신에 의해 지원되는 흐름 제어 정책의 k(단, k는 양의 정수)개의 버전의 각각의 버전이 흐름 제어 정책의 현재의 최신 버전 또는 사전설정된 버전과 동일한지를 판정하는 단계; 비교에 의해, k개의 버전 중 하나의 버전이 흐름 제어 정책의 현재의 최신 버전 또는 사전설정된 버전인 것이 획득되면, 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하는 것으로 결정하는 단계; 비교에 의해, k개의 버전 중 어느 하나의 버전이 흐름 제어 정책의 현재의 최신 버전 또는 사전설정된 버전과 다르다는 것이 획득되면, 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하지 않는 것으로 결정하는 단계를 포함한다.
본 발명의 일부의 실시예에서, 패킷 프로세싱 유닛(1020)은, 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정된 후, 상기 가상 머신으로부터 심장박동 메시지가 설정 기간 내에 수신되지 않으면, 흐름 제어 정책의 시행자가 호스트로 전환된다는 것을 지시하는 지시 메시지를 가상 머신에 송신하도록 추가로 구성되어 있다.
본 실시예에서, 패킷 프로세싱 유닛(1020)이 포워드 프로세싱될 패킷을 처리하는 흐름 제어 정책은, 예를 들어, 서비스 품질에 기초한 흐름 제어 정책 및/또는 액세스 제어 목록에 기초한 흐름 제어 정책일 수 있으며, 당연히, 흐름 제어 정책은 다른 요인을 참조하는 흐름 제어 정책일 수도 있다.
서비스 품질에 기초한 흐름 제어 정책에서, 패킷에 대해 포워드 프로세싱을 수행하는 특정한 방식은 주로, 포워드 프로세스될 패킷에 대응하는 서비스 우선권에 기초하여 결정된다(여기서 특정한 포워드 프로세싱 방식은 지연을 가지는 패킷을 송신하기, 지연을 가지지 않는 패킷을 송신하기, 또는 패킷을 폐기하기 등일 수 있다). 예를 들어, 복수의 포워드 프로세싱될 패킷이 현재 캐시 내에 존재하고, 상위의 서비스 우선권에 대응하는 패킷이 짧은 지연으로 또는 심지어 지연이 없이 송신될 수 있으며, 하위의 서비스 우선권에 대응하는 패킷은 긴 지연으로 송신될 수 있고, 설정된 우선권 임계값보다 낮은 서비스 우선권에 대응하는 포워드 프로세싱될 패킷은 심지어 폐기될 수도 있다. 이것은 고 우선권 서비스의 서비스 품질을 가능한 한 많이 보장할 수 있게 해준다. 즉, 서비스 품질에 기초하여 흐름 제어 정책에 따라 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 단계는 구체적으로: 포워드 프로세싱될 패킷의 서비스 우선권에 대응하는 포워드 프로세싱 방식에 따라 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 단계를 포함할 수 있다.
액세스 제어 목록에 기초하는 흐름 제어 정책에서, 패킷에 대해 포워드 프로세싱을 수행하는 특정한 방식은 주로, 포워드 프로세싱될 패킷에 반송되는 정보가 액세스 제어 목록에 포함된 레코드와 일치하는지에 기초하여 결정된다. 예를 들어, 액세스 제어 목록은 제한된 액세스 제어 목록(이것은 블랙리스트와 유사하다)이고, 제한된 액세스 제어 목록이 발신지/목적지 어드레스, 애플리케이션-계층 프로토콜 유형, 또는 포워드 프로세싱될 패킷의 트랜스포트-계층 프로토콜 유형 및/또는 패킷 헤더에 포함된 특정한 키워드와 같은 정보와 일치하는 레코드를 가지면, 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 방식은 직접적으로 패킷을 폐기하는 것일 수 있으며; 대조적으로, 제한된 액세스 제어 목록이 발신지/목적지 어드레스, 애플리케이션-계층 프로토콜 유형, 또는 포워드 프로세싱될 패킷의 트랜스포트-계층 프로토콜 유형/패킷 헤더에 포함된 특정한 키워드와 같은 정보와 일치하는 레코드를 가지지 않으면, 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 방식은 직접적으로 패킷을 포워딩하는 것일 수 있다. 다른 예에 있어서, 액세스 제어 목록은 허용된 액세스 제어 목록(이것은 화이트리스트와 유사하다)이고, 허용된 액세스 제어 목록이 발신지/목적지 어드레스, 애플리케이션-계층 프로토콜 유형, 또는 포워드 프로세싱될 패킷의 트랜스포트-계층 프로토콜 유형/패킷 헤더에 포함된 특정한 키워드와 같은 정보와 일치하는 레코드를 가지지 않으면, 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 방식은 직접적으로 패킷을 폐기하는 것일 수 있고; 허용된 액세스 제어 목록이 발신지/목적지 어드레스, 애플리케이션-계층 프로토콜 유형, 또는 포워드 프로세싱될 패킷의 트랜스포트-계층 프로토콜 유형 및/또는 패킷 헤더에 포함된 특정한 키워드와 같은 정보와 일치하는 레코드를 가지면, 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 방식은 직접적으로 패킷을 포워딩하는 것일 수 있다. 다른 경우도 유사하게 처리될 수 있다.
본 실시예에서의 호스트(1000)의 각각의 모듈의 기능은 구체적으로 전술한 방법 실시예에서 설명된 방법에 따라 실시될 수 있다. 그 특정한 실시 프로세스에 대해서는, 전술한 실시예에서의 관련 설명을 참조하면 되므로 이에 대해서는 여기서 다시 설명하지 않는다.
본 발명의 실시예에 따른 솔루션에서, 가상 머신과 호스트가 흐름 제어 정책의 시행자를 협상하는 메커니즘이 도입됨으로써, 가상 머신과 Host 양자는 흐름 제어 정책의 시행자가 될 기회를 가지며, 이에 의해 가상 머신은 흐름 제어 정책을 시행할 수 있으며, 이것은 패킷에 대한 흐름 제어를 가능한 일찍 수행할 수 있게 해주며, 비효율적 프로세싱을 감소시키고 무효한 패킷 흐름에 의해 점유되는, 호스트의 대역폭 및 어드레스 공간을 더 감소시킬 수 있게 한다. 이 솔루션은 가상 머신의 아웃바운드 패킷 흐름을 처리하는 데 점유되는, 호스트의 어드레스 공간을 감소시킬 수 있게 한다는 것을 알 수 있다. 또한, 흐름 제어 정책의 시행자는 협상을 통해 결정되므로, 흐름 제어 정책의 시행자의 시행 능력은 확실하게 보장되며, 이것은 흐름 제어 정책을 시행하는 신뢰도를 높일 수 있게 해준다.
또한, 가상 머신 및 Host 양자가 흐름 제어 정책의 시행을 지원할 때, 가상 머신은 흐름 제어 정책을 시행함에 있어서 우선권을 가지며, 이것은 추가로 패킷에 대해 흐름 제어를 가능한 일찍 수행할 수 있게 해주며, 비효율적인 프로세싱과 무효한 패킷 흐름에 의해 점유되는 대역폭을 더 감소시킬 수 있게 해준다.
또한, 가상 머신 및 호스트는 모듈러 아키텍처를 사용함으로써 설계되며, 이것은 복잡한 애플리케이션 환경에 대한 제품의 적응성을 개선할 수 있으며 환경 이동의 업그레이드 비용을 감소시킨다.
도 11을 참조하면, 본 발명의 실시예는 컴퓨팅 노드(1100)를 추가로 제공하며, 컴퓨팅 노드는 하드웨어 계층(1110), 하드웨어 계층에서 실행되는 호스트(1102), 및 호스트(1102)에서 실행되는 적어도 하나의 가상 머신(1103)을 포함할 수 있다.
가상 머신(1103)은, 가상 머신(1103)과 호스트(1102) 사이에서, 가상 머신(1103)의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하고; 상기 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정되면, 상기 흐름 제어 정책에 기초하여 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하며; 그리고 상기 흐름 제어 정책의 협상된 시행자가 Host(1102)인 것으로 결정되면, 상기 포워드 프로세싱될 패킷을 Host(1102)에 송신하도록 구성되어 있다.
Host(1102)는, 제어 흐름 정책의 협상된 시행자가 Host(1102)인 것으로 결정되면, 가상 머신으로부터 패킷을 수신한 후 흐름 제어 정책에 기초하여 상기 수신된 패킷에 대해 포워드 프로세싱을 수행하도록 구성되어 있다.
본 발명의 일부의 실시예에서, 가상 머신(1102)과 호스트 사이에서, 상기 가상 머신(1102)의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하기 위해, 상기 가상 머신은 구체적으로, 상기 가상 머신의 흐름 제어 능력에 관한 설명 정보를 반송하는 시행자 협상 요구를 Host(1102)에 송신하고; 협상 확인 지시가 수신되면, 상기 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정하며 - 상기 Host(1102)가, 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 흐름 제어 정책의 시행을 지원하는 것으로 결정한 후, 상기 협상 확인 지시가 상기 Host(1102)에 의해 송신되며; 그리고 협상 비확인 지시가 수신되면, 상기 흐름 제어 정책의 협상된 시행자가 Host(1102)인 것으로 결정하도록 구성되어 있으며, 상기 Host(1102)가, 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 흐름 제어 정책의 시행을 지원하지 않는 것으로 결정한 후, 상기 협상 비확인 지시가 Host(1102)에 의해 송신된다.
대안으로, 가상 머신(1103)과 Host(1102) 사이에서, 상기 가상 머신(1103)의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하기 위해, 상기 가상 머신은 구체적으로, 상기 가상 머신의 흐름 제어 능력에 관한 설명 정보를 반송하는 시행자 협상 요구를 Host(1102)에 송신하고 - 상기 흐름 제어 능력에 관한 설명 정보는 시행이 가상 머신에 의해 지원되는 흐름 제어 정책의 버전을 설명하는 데 사용됨 - ; 상기 Host(1102)가, 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하는 것으로 결정한 후, 상기 Host(1102)에 의해 송신되는 협상 확인 지시가 수신되면, 상기 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정하며; 그리고 상기 Host(1102)가, 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하지 않는 것으로 결정한 후, 상기 Host(1102)에 의해 송신되는 협상 비확인 지시가 수신되면, 상기 흐름 제어 정책의 협상된 시행자가 Host(1102)인 것으로 결정하도록 구성되어 있다.
대안으로, 가상 머신(1103)과 Host(1102) 사이에서, 상기 가상 머신(1103)의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하기 위해, 상기 가상 머신은 구체적으로, 상기 가상 머신의 흐름 제어 능력에 관한 설명 정보를 반송하는 시행자 협상 요구를 Host(1102)에 송신하며; 협상 확인 지시가 수신되면, 상기 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정하며 - 상기 Host(1102)가, 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 흐름 제어 정책의 시행을 지원하는 것으로 결정한 후, 상기 협상 확인 지시가 Host(1102)에 의해 송신됨 - ; 그리고 시행자 협상 요구에 대한 응답으로 Host(1102)에 의해 송신되는 협상 확인 지시가 제1 설정 기간 내에 수신되지 않으면, 상기 흐름 제어 정책의 협상된 시행자가 Host(1102)인 것으로 결정하도록 구성되어 있다.
대안으로, 가상 머신(1103)과 Host(1102) 사이에서, 상기 가상 머신(1103)의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하기 위해, 상기 가상 머신은 구체적으로, 상기 가상 머신의 흐름 제어 능력에 관한 설명 정보를 반송하는 시행자 협상 요구를 Host(1102)에 송신하고 - 상기 흐름 제어 능력에 관한 설명 정보는 시행이 가상 머신에 의해 지원되는 흐름 제어 정책의 버전을 설명하는 데 사용됨 - ; 상기 Host(1102)가, 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하는 것으로 결정한 후, 상기 Host(1102)에 의해 송신되는 협상 확인 지시가 수신되면, 상기 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정하며; 그리고 시행자 협상 요구에 대한 응답으로 Host(1102)에 의해 송신되는 협상 확인 지시가 제1 설정 기간 내에 수신되지 않으면, 상기 흐름 제어 정책의 협상된 시행자가 Host(1102)인 것으로 결정하도록 구성되어 있다.
대안으로, 가상 머신(1103)과 Host(1102) 사이에서, 상기 가상 머신(1103)의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하기 위해, 상기 가상 머신은 구체적으로, 상기 가상 머신의 흐름 제어 능력에 관한 설명 정보를 반송하는 시행자 협상 요구를 Host(1102)에 송신하고; 협상 비확인 지시가 수신되면, 상기 흐름 제어 정책의 협상된 시행자가 Host(1102)인 것으로 결정하며 - 상기 Host(1102)가, 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 흐름 제어 정책의 시행을 지원하지 않는 것으로 결정한 후, 상기 협상 비확인 지시가 호스트에 의해 송신됨 - ; 그리고 시행자 협상 요구에 대한 응답으로 Host(1102)에 의해 송신되는 협상 비확인 지시가 제2 설정 기간 내에 수신되지 않으면, 상기 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정하도록 구성되어 있다.
대안으로, 가상 머신(1103)과 Host(1102) 사이에서, 상기 가상 머신(1103)의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하기 위해, 상기 가상 머신(1103)은 구체적으로, 상기 가상 머신의 흐름 제어 능력에 관한 설명 정보를 반송하는 시행자 협상 요구를 Host(1102)에 송신하고 - 상기 흐름 제어 능력에 관한 설명 정보는 시행이 가상 머신에 의해 지원되는 흐름 제어 정책의 버전을 설명하는 데 사용됨 - ; 상기 Host(1102)가, 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하는 것으로 결정한 후, 상기 Host(1102)에 의해 송신되는 협상 비확인 지시가 수신되면, 상기 흐름 제어 정책의 협상된 시행자가 Host(1102)인 것으로 결정하며; 그리고 시행자 협상 요구에 대한 응답으로 Host(1102)에 의해 송신되는 협상 비확인 지시가 제2 설정 기간 내에 수신되지 않으면, 상기 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정하도록 구성되어 있다.
본 발명의 일부의 실시예에서, 호스트(1102)는 구체적으로, 상기 가상 머신에 의해 송신되고 상기 가상 머신의 흐름 제어 능력에 관한 설명 정보를 반송하는 시행자 협상 요구를 수신하고; 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 상기 제어 흐름 정책의 시행을 지원하는 것으로 결정되면, 상기 가상 머신에 협상 확인 지시를 송신하며 - 상기 협상 확인 지시는 상기 흐름 제어 정책의 협상된 시행자가 가상 머신이라는 것을 지시함 - ; 및/또는 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 상기 흐름 제어 정책의 시행을 지원하지 않는 것으로 결정되면, 상기 가상 머신에 협상 비확인 지시를 송신할 수 있으며, 상기 협상 비확인 지시는 상기 흐름 제어 정책의 협상된 시행자가 호스트라는 것을 지시한다.
본 발명의 일부의 다른 실시예에서, 호스트(1102)는 구체적으로, 호스트가, 가상 머신에 의해 송신되고 상기 가상 머신의 흐름 제어 능력에 관한 설명 정보를 반송하는 시행자 협상 요구를 수신하고 - 상기 흐름 제어 능력에 관한 설명 정보는 시행이 가상 머신에 의해 지원되는 흐름 제어 정책의 버전을 설명하는 데 사용됨 - ; 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 제어 흐름 정책의 시행을 지원하는 것으로 결정되면, 상기 가상 머신에 협상 확인 지시를 송신하며 - 상기 협상 확인 지시는 상기 흐름 제어 정책의 협상된 시행자가 가상 머신이라는 것을 지시함 - ; 및/또는 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하지 않는 것으로 결정되면, 상기 가상 머신에 협상 비확인 지시를 송신할 수 있으며, 상기 협상 비확인 지시는 상기 흐름 제어 정책의 협상된 시행자가 호스트라는 것을 지시한다.
본 발명의 일부의 실시예에서, 흐름 제어 능력에 관한 설명 정보가 시행이 가상 머신에 의해 지원되는 흐름 제어 정책의 버전을 설명하는 데 사용되면, 호스트(1102)가, 흐름 제어 능력에 관한 설명 정보에 따라, 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하는지를 판정하는 단계는 구체적으로: 비교를 통해, 흐름 제어 능력에 관한 설명 정보에 의해 설명되는, 시행이 가상 머신에 의해 지원되는 흐름 제어 정책의 버전이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책과 동일한지를 판정하는 단계; 이것들이 동일하면, 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하는 것으로 결정하는 단계; 및 이것들이 다르면, 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하지 않는 것으로 결정하는 단계를 포함할 수 있다. 다른 예에 있어서, 호스트(1102)가, 흐름 제어 능력에 관한 설명 정보에 따라, 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하는지를 판정하는 것은 구체적으로: 비교를 통해, 흐름 제어 능력에 관한 설명 정보에 의해 설명되는, 시행이 가상 머신에 의해 지원되는 흐름 제어 정책의 k(단, k는 양의 정수)개의 버전의 각각의 버전이 흐름 제어 정책의 현재의 최신 버전 또는 사전설정된 버전과 동일한지를 판정하는 단계; 비교에 의해, k개의 버전 중 하나의 버전이 흐름 제어 정책의 현재의 최신 버전 또는 사전설정된 버전인 것이 획득되면, 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하는 것으로 결정하는 단계; 비교에 의해, k개의 버전 중 어느 하나의 버전이 흐름 제어 정책의 현재의 최신 버전 또는 사전설정된 버전과 다르다는 것이 획득되면, 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하지 않는 것으로 결정하는 단계를 포함한다.
본 발명의 일부의 실시예에서, 호스트(1102)는 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정된 후, 상기 가상 머신으로부터 심장박동 메시지가 설정 기간 내에 수신되지 않으면, 흐름 제어 정책의 시행자가 Host(1102)로 전환된다는 것을 지시하는 지시 메시지를 가상 머신에 송신하도록 추가로 구성되어 있다.
본 발명의 일부의 실시예에서, 협상 확인 지시는 흐름 제어 정책을 포함할 수 있으며; 가상 머신이, 흐름 제어 정책에 기초하여 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 단계에 있어서, 가상 머신은 구체적으로 협상 확인 지시에 포함되어 있는 흐름 제어 정책에 기초하여 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하도록 구성되어 있다.
당연히, Host(1102)는 다른 방식으로 가상 머신에 흐름 제어 정책을 전달할 수도 있으며, 이에 따라 가상 머신(1103)은, 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정된 후, Host(1102)에 의해 전달된 흐름 제어 정책에 기초하여 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행할 수 있다. 당연히, 흐름 제어 정책은 가상 머신(1103)에 사전에 구성될 수도 있으며, 가상 머신(1103)이, 흐름 제어 정책의 협상된 시행자가 가상 머신(1103)인 것으로 결정할 때, 가상 머신(1103)은 사전에 구성된 흐름 제어 정책에 기초하여 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행한다.
본 발명의 일부의 실시예에서, 가상 머신(1102)이 가상 머신(1102)의 흐름 제어 정책에 관한 설명 정보를 반송하는 시행자 협상 요구를 호스트(1102)에 송신하는 것에 있어서, 가상 머신(1102)은 구체적으로 사용자-모드 프로세스에 의해 개시된 협상 시작 요구가 수신된 후 가상 머신(1102)의 흐름 제어 능력에 관한 설명 정보를 반송하는 시행자 협상 요구를 호스트(1102)에 송신하거나; 또는 호스트(1102)로부터 협상 시작 요구가 수신된 후 가상 머신(1102)의 흐름 제어 능력에 관한 설명 정보를 반송하는 시행자 협상 요구를 호스트(1102)에 송신한다.
본 실시예에서, 호스트(1102) 또는 가상 머신(1102)이 포워드 프로세싱될 패킷을 처리하는 흐름 제어 정책은 예를 들어 서비스 품질에 기초한 흐름 제어 정책 및/또는 액세스 제어 목록에 기초한 흐름 제어 정책일 수 있으며, 당연히, 흐름 제어 정책은 다른 요인을 참조하는 흐름 제어 정책일 수도 있다.
서비스 품질에 기초한 흐름 제어 정책에서, 패킷에 대해 포워드 프로세싱을 수행하는 특정한 방식은 주로, 포워드 프로세스될 패킷에 대응하는 서비스 우선권에 기초하여 결정된다(여기서 특정한 포워드 프로세싱 방식은 지연을 가지는 패킷을 송신하기, 지연을 가지지 않는 패킷을 송신하기, 또는 패킷을 폐기하기 등일 수 있다). 예를 들어, 복수의 포워드 프로세싱될 패킷이 현재 캐시 내에 존재하고, 상위의 서비스 우선권에 대응하는 패킷이 짧은 지연으로 또는 심지어 지연이 없이 송신될 수 있으며, 하위의 서비스 우선권에 대응하는 패킷은 긴 지연으로 송신될 수 있고, 설정된 우선권 임계값보다 낮은 서비스 우선권에 대응하는 포워드 프로세싱될 패킷은 심지어 폐기될 수도 있다. 이것은 고 우선권 서비스의 서비스 품질을 가능한 한 많이 보장할 수 있게 해준다. 즉, 서비스 품질에 기초하여 흐름 제어 정책에 따라 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 단계는 구체적으로: 포워드 프로세싱될 패킷의 서비스 우선권에 대응하는 포워드 프로세싱 방식에 따라 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 단계를 포함할 수 있다.
액세스 제어 목록에 기초하는 흐름 제어 정책에서, 패킷에 대해 포워드 프로세싱을 수행하는 특정한 방식은 주로, 포워드 프로세싱될 패킷에 반송되는 정보가 액세스 제어 목록에 포함된 레코드와 일치하는지에 기초하여 결정된다. 예를 들어, 액세스 제어 목록은 제한된 액세스 제어 목록(이것은 블랙리스트와 유사하다)이고, 제한된 액세스 제어 목록이 발신지/목적지 어드레스, 애플리케이션-계층 프로토콜 유형, 또는 포워드 프로세싱될 패킷의 트랜스포트-계층 프로토콜 유형 및/또는 패킷 헤더에 포함된 특정한 키워드와 같은 정보와 일치하는 레코드를 가지면, 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 방식은 직접적으로 패킷을 폐기하는 것일 수 있으며; 대조적으로, 제한된 액세스 제어 목록이 발신지/목적지 어드레스, 애플리케이션-계층 프로토콜 유형, 또는 포워드 프로세싱될 패킷의 트랜스포트-계층 프로토콜 유형/패킷 헤더에 포함된 특정한 키워드와 같은 정보와 일치하는 레코드를 가지지 않으면, 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 방식은 직접적으로 패킷을 포워딩하는 것일 수 있다. 다른 예에 있어서, 액세스 제어 목록은 허용된 액세스 제어 목록(이것은 화이트리스트와 유사하다)이고, 허용된 액세스 제어 목록이 발신지/목적지 어드레스, 애플리케이션-계층 프로토콜 유형, 또는 포워드 프로세싱될 패킷의 트랜스포트-계층 프로토콜 유형/패킷 헤더에 포함된 특정한 키워드와 같은 정보와 일치하는 레코드를 가지지 않으면, 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 방식은 직접적으로 패킷을 폐기하는 것일 수 있고; 허용된 액세스 제어 목록이 발신지/목적지 어드레스, 애플리케이션-계층 프로토콜 유형, 또는 포워드 프로세싱될 패킷의 트랜스포트-계층 프로토콜 유형 및/또는 패킷 헤더에 포함된 특정한 키워드와 같은 정보와 일치하는 레코드를 가지면, 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 방식은 직접적으로 패킷을 포워딩하는 것일 수 있다. 다른 경우도 유사하게 처리될 수 있다.
본 실시예에서의 컴퓨팅 노드(1100)의 각각의 유닛의 기능은 구체적으로 전술한 방법 실시예에서 설명된 방법에 따라 실시될 수 있다. 그 특정한 실시 프로세스에 대해서는, 전술한 실시예에서의 관련 설명을 참조하면 되므로 이에 대해서는 여기서 다시 설명하지 않는다.
본 발명의 실시예에 따른 솔루션에서, 가상 머신과 호스트가 흐름 제어 정책의 시행자를 협상하는 메커니즘이 컴퓨팅 노드(1100)에 도입됨으로써, 가상 머신과 Host 양자는 흐름 제어 정책의 시행자가 될 기회를 가지며, 이에 의해 가상 머신은 흐름 제어 정책을 시행할 수 있으며, 이것은 패킷에 대한 흐름 제어를 가능한 일찍 수행할 수 있게 해주며, 비효율적 프로세싱을 감소시키고 무효한 패킷 흐름에 의해 점유되는, 호스트의 대역폭 및 어드레스 공간을 더 감소시킬 수 있게 한다. 이 솔루션은 가상 머신의 아웃바운드 패킷 흐름을 처리하는 데 점유되는, 호스트의 어드레스 공간을 감소시킬 수 있게 한다는 것을 알 수 있다. 또한, 흐름 제어 정책의 시행자는 협상을 통해 결정되므로, 흐름 제어 정책의 시행자의 시행 능력은 확실하게 보장되며, 이것은 흐름 제어 정책을 시행하는 신뢰도를 높일 수 있게 해준다.
또한, 가상 머신 및 Host 양자가 흐름 제어 정책의 시행을 지원할 때, 가상 머신은 흐름 제어 정책을 시행함에 있어서 우선권을 가지며, 이것은 추가로 패킷에 대해 흐름 제어를 가능한 일찍 수행할 수 있게 해주며, 비효율적인 프로세싱과 무효한 패킷 흐름에 의해 점유되는 대역폭을 더 감소시킬 수 있게 해준다.
또한, 가상 머신 및 호스트는 모듈러 아키텍처를 사용함으로써 설계되며, 이것은 복잡한 애플리케이션 환경에 대한 제품의 적응성을 개선할 수 있으며 환경 이동의 업그레이드 비용을 감소시킨다.
도 12는 본 발명의 실시예에 따른 다른 컴퓨팅 노드(1200)에 대한 개략적인 구조도이다. 컴퓨팅 노드(1200)는: 적어도 하나의 프로세서(1201), 예를 들어, CPU, 적어도 하나의 네트워크 인터페이스(1204) 또는 다른 사용자 인터페이스(1203), 스토리지(1205), 및 적어도 하나의 통신 버스(1202)를 포함한다. 통신 버스(1202)는 이러한 구성요소 간의 접속 및 통신을 실행하도록 구성되어 있다. 선택적으로, 통신 노드(1200)는 사용자 인터페이스(1203)를 포함하며, 이 사용자 인터페이스는 디스플레이, 키보드, 또는 클릭 장치(예를 들어, 마우스, 트랙볼(trackball), 터치패드, 또는 터치스크린)를 포함한다. 스토리지(1205)는 고속 RAM 메모리를 포함할 수 있으며, 적어도 하나의 디스크 메모리와 같은 비휘발성 메모리(non-volatile memory)도 포함할 수 있다. 스토리지(1205)는 선택적으로 프로세서(1201)에서 멀리 떨어진 적어도 하나의 스토리지 장치를 포함할 수 있다. 네트워크 인터페이스(1204)는 물리적 네트워크 인터페이스 카드 등을 포함한다.
일부의 실시 방식에서, 스토리지(1205)는 다음의 구성요소, 실행 가능한 모듈 또는 데이터 구조, 또는 그것의 서브세트, 또는 그것의 확장된 세트: 호스트(12051) 및 적어도 하나의 가상 머신(12052)을 포함한다. 호스트(12051)는, 프로세서(1201)의 발동하에, 전술한 실시예에서 설명된 호스트의 기능 중 일부 또는 전부를 가지며, 가상 머신(12052)은 프로세서(1201)의 발동하에, 전술한 실시예에서 설명된 가상 머신의 기능 중 일부 또는 전부를 가진다.
본 발명의 이 실시예에서, 가상 머신(12052)은 프로세서(1201)의 발동하에, 가상 머신(12052)과 Host(12051) 사이에서, 상기 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하고; 상기 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정되면, 상기 흐름 제어 정책에 기초하여 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하며; 그리고 상기 흐름 제어 정책의 협상된 시행자가 Host(12051)인 것으로 결정되면, 상기 포워드 프로세싱될 패킷을 Host(12051)에 송신하도록 구성되어 있다.
호스트(12051)는 프로세서(1201)의 발동하에, 흐름 제어 정책의 협상된 시행자가 Host(12051)인 것으로 결정되면, 가상 머신(12052)으로부터 패킷을 수신한 후 흐름 제어 정책에 기초하여 상기 수신된 패킷에 대해 포워드 프로세싱을 수행할 수 있도록 구성되어 있다.
본 발명의 일부의 실시예에서, 상기 가상 머신(12052)과 Host(12051) 사이에서, 상기 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하기 위해, 상기 가상 머신(12052)은 프로세서(1201)의 발동하에 구체적으로, 상기 가상 머신의 흐름 제어 능력에 관한 설명 정보를 반송하는 시행자 협상 요구를 Host(12051)에 송신하고; 협상 확인 지시가 수신되면, 상기 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정하며 - 상기 Host(12051)가, 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 흐름 제어 정책의 시행을 지원하는 것으로 결정한 후, 상기 협상 확인 지시가 상기 Host(12051)에 의해 송신되며; 그리고 협상 비확인 지시가 수신되면, 상기 흐름 제어 정책의 협상된 시행자가 Host(12051)인 것으로 결정하도록 구성되어 있으며, 상기 Host(12051)가, 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 흐름 제어 정책의 시행을 지원하지 않는 것으로 결정한 후, 상기 협상 비확인 지시가 Host(12051)에 의해 송신된다.
대안으로, 가상 머신(12051)과 Host(12051) 사이에서, 상기 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하기 위해, 상기 가상 머신(12051)은 프로세서(1201)의 발동하에 구체적으로, 상기 가상 머신의 흐름 제어 능력에 관한 설명 정보를 반송하는 시행자 협상 요구를 Host(12051)에 송신하고 - 상기 흐름 제어 능력에 관한 설명 정보는 시행이 가상 머신에 의해 지원되는 흐름 제어 정책의 버전을 설명하는 데 사용됨 - ; 상기 Host(12051)가, 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하는 것으로 결정한 후, 상기 Host(12051)에 의해 송신되는 협상 확인 지시가 수신되면, 상기 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정하며; 그리고 상기 Host(12051)가, 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하지 않는 것으로 결정한 후, 상기 Host(12051)에 의해 송신되는 협상 비확인 지시가 수신되면, 상기 흐름 제어 정책의 협상된 시행자가 Host(12051)인 것으로 결정하도록 구성되어 있다.
대안으로, 가상 머신(12052)과 Host(12051) 사이에서, 상기 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하기 위해, 상기 가상 머신(12052)은 프로세서(1201)의 발동하에 구체적으로, 상기 가상 머신의 흐름 제어 능력에 관한 설명 정보를 반송하는 시행자 협상 요구를 Host(12051)에 송신하며; 협상 확인 지시가 수신되면, 상기 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정하며 - 상기 Host(12051)가, 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 흐름 제어 정책의 시행을 지원하는 것으로 결정한 후, 상기 협상 확인 지시가 Host(12051)에 의해 송신됨 - ; 그리고 시행자 협상 요구에 대한 응답으로 Host(12051)에 의해 송신되는 협상 확인 지시가 제1 설정 기간 내에 수신되지 않으면, 상기 흐름 제어 정책의 협상된 시행자가 Host(12051)인 것으로 결정하도록 구성되어 있다.
대안으로, 가상 머신(12052)과 Host(12051) 사이에서, 상기 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하기 위해, 상기 가상 머신(12052)은 프로세서(1201)의 발동하에 구체적으로, 상기 가상 머신의 흐름 제어 능력에 관한 설명 정보를 반송하는 시행자 협상 요구를 Host(12051)에 송신하고 - 상기 흐름 제어 능력에 관한 설명 정보는 시행이 가상 머신에 의해 지원되는 흐름 제어 정책의 버전을 설명하는 데 사용됨 - ; 상기 Host(12051)가, 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하는 것으로 결정한 후, 상기 Host(12051)에 의해 송신되는 협상 확인 지시가 수신되면, 상기 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정하며; 그리고 시행자 협상 요구에 대한 응답으로 Host(12051)에 의해 송신되는 협상 확인 지시가 제1 설정 기간 내에 수신되지 않으면, 상기 흐름 제어 정책의 협상된 시행자가 Host(12051)인 것으로 결정하도록 구성되어 있다.
대안으로, 가상 머신(12052)과 Host(12051) 사이에서, 상기 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하기 위해, 상기 가상 머신(12052)은 프로세서(1201)의 발동하에 구체적으로, 상기 가상 머신의 흐름 제어 능력에 관한 설명 정보를 반송하는 시행자 협상 요구를 Host(12051)에 송신하고; 협상 비확인 지시가 수신되면, 상기 흐름 제어 정책의 협상된 시행자가 Host(12051)인 것으로 결정하며 - 상기 Host(12051)가, 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 흐름 제어 정책의 시행을 지원하지 않는 것으로 결정한 후, 상기 협상 비확인 지시가 Host(12051)에 의해 송신됨 - ; 그리고 시행자 협상 요구에 대한 응답으로 Host(12051)에 의해 송신되는 협상 비확인 지시가 제2 설정 기간 내에 수신되지 않으면, 상기 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정하도록 구성되어 있다.
대안으로, 가상 머신(12052)과 Host(12051) 사이에서, 상기 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하기 위해, 상기 가상 머신(12052)은 구체적으로, 상기 가상 머신의 흐름 제어 능력에 관한 설명 정보를 반송하는 시행자 협상 요구를 Host(12051)에 송신하고 - 상기 흐름 제어 능력에 관한 설명 정보는 시행이 가상 머신에 의해 지원되는 흐름 제어 정책의 버전을 설명하는 데 사용됨 - ; 상기 Host(12051)가, 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하는 것으로 결정한 후, 상기 Host(12051)에 의해 송신되는 협상 비확인 지시가 수신되면, 상기 흐름 제어 정책의 협상된 시행자가 Host(12051)인 것으로 결정하며; 그리고 시행자 협상 요구에 대한 응답으로 Host(12051)에 의해 송신되는 협상 비확인 지시가 제2 설정 기간 내에 수신되지 않으면, 상기 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정하도록 구성되어 있다.
본 발명의 일부의 실시예에서, 흐름 제어 능력에 관한 설명 정보가 시행이 가상 머신에 의해 지원되는 흐름 제어 정책의 버전을 설명하는 데 사용되면, Host(12051)가, 프로세서(1201)의 발동하에, 흐름 제어 능력에 관한 설명 정보에 따라, 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하는지를 판정할 수 있는 것은 구체적으로: 비교를 통해, 흐름 제어 능력에 관한 설명 정보에 의해 설명되는, 시행이 가상 머신에 의해 지원되는 흐름 제어 정책의 버전이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책과 동일한지를 판정하는 단계; 이것들이 동일하면, 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하는 것으로 결정하는 단계; 및 이것들이 다르면, 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하지 않는 것으로 결정하는 단계를 포함할 수 있다. 다른 예에 있어서, Host(12051)가, 프로세서(1201)의 발동하에, 흐름 제어 능력에 관한 설명 정보에 따라, 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하는지를 판정할 수 있는 것은 구체적으로: 비교를 통해, 흐름 제어 능력에 관한 설명 정보에 의해 설명되는, 시행이 가상 머신에 의해 지원되는 흐름 제어 정책의 k(단, k는 양의 정수)개의 버전의 각각의 버전이 흐름 제어 정책의 현재의 최신 버전 또는 사전설정된 버전과 동일한지를 판정하는 단계; 비교에 의해, k개의 버전 중 하나의 버전이 흐름 제어 정책의 현재의 최신 버전 또는 사전설정된 버전인 것이 획득되면, 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하는 것으로 결정하는 단계; 비교에 의해, k개의 버전 중 어느 하나의 버전이 흐름 제어 정책의 현재의 최신 버전 또는 사전설정된 버전과 다르다는 것이 획득되면, 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하지 않는 것으로 결정하는 단계를 포함할 수 있다.
본 발명의 일부의 실시예에서, 호스트(12051)는 프로세서(1201)의 발동하에: 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정된 후, 상기 가상 머신으로부터 심장박동 메시지가 설정 기간 내에 수신되지 않으면, 흐름 제어 정책의 시행자가 Host(12051)로 전환된다는 것을 지시하는 지시 메시지를 가상 머신에 송신하도록 추가로 구성되어 있다.
본 발명의 일부의 실시예에서, 협상 확인 지시는 흐름 제어 정책을 포함할 수 있으며; 가상 머신이, 흐름 제어 정책에 기초하여 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 단계에 있어서, 가상 머신(12052)은 구체적으로 협상 확인 지시에 포함되어 있는 흐름 제어 정책에 기초하여 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하도록 구성되어 있다.
당연히, Host(12051)는 다른 방식으로 가상 머신에 흐름 제어 정책을 전달할 수도 있으며, 이에 따라 가상 머신(12052)은, 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정된 후, Host(12051)에 의해 전달된 흐름 제어 정책에 기초하여 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행할 수 있다. 당연히, 흐름 제어 정책은 가상 머신(12052)에 사전에 구성될 수도 있으며, 가상 머신(12052)이, 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정할 때, 가상 머신(12052)은 사전에 구성된 흐름 제어 정책에 기초하여 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행한다.
본 발명의 일부의 실시예에서, 가상 머신(12051)이 가상 머신(12051)의 흐름 제어 정책에 관한 설명 정보를 반송하는 시행자 협상 요구를 호스트(12051)에 송신하는 것에 있어서, 가상 머신(12051)은 프로세서(1201)의 발동하에 구체적으로 사용자-모드 프로세스에 의해 개시된 협상 시작 요구가 수신된 후 가상 머신(12051)의 흐름 제어 능력에 관한 설명 정보를 반송하는 시행자 협상 요구를 호스트(12051)에 송신하거나; 또는 호스트(12051)로부터 협상 시작 요구가 수신된 후 가상 머신(12051)의 흐름 제어 능력에 관한 설명 정보를 반송하는 시행자 협상 요구를 호스트(12051)에 송신한다.
본 실시예에서, 호스트(12051) 또는 가상 머신(12052)가 포워드 프로세싱될 패킷을 처리하는 것에 기초하는 흐름 제어 정책은, 예를 들어 서비스 품질에 기초한 흐름 제어 정책 및/또는 액세스 제어 목록에 기초한 흐름 제어 정책일 수 있으며, 당연히, 흐름 제어 정책은 다른 요인을 참조하는 흐름 제어 정책일 수도 있다.
서비스 품질에 기초한 흐름 제어 정책에서, 패킷에 대해 포워드 프로세싱을 수행하는 특정한 방식은 주로, 포워드 프로세스될 패킷에 대응하는 서비스 우선권에 기초하여 결정된다(여기서 특정한 포워드 프로세싱 방식은 지연을 가지는 패킷을 송신하기, 지연을 가지지 않는 패킷을 송신하기, 또는 패킷을 폐기하기 등일 수 있다). 예를 들어, 복수의 포워드 프로세싱될 패킷이 현재 캐시 내에 존재하고, 상위의 서비스 우선권에 대응하는 패킷이 짧은 지연으로 또는 심지어 지연이 없이 송신될 수 있으며, 하위의 서비스 우선권에 대응하는 패킷은 긴 지연으로 송신될 수 있고, 설정된 우선권 임계값보다 낮은 서비스 우선권에 대응하는 포워드 프로세싱될 패킷은 심지어 폐기될 수도 있다. 이것은 고 우선권 서비스의 서비스 품질을 가능한 한 많이 보장할 수 있게 해준다. 즉, 서비스 품질에 기초하여 흐름 제어 정책에 따라 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 단계는 구체적으로: 포워드 프로세싱될 패킷의 서비스 우선권에 대응하는 포워드 프로세싱 방식에 따라 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 단계를 포함할 수 있다.
액세스 제어 목록에 기초하는 흐름 제어 정책에서, 패킷에 대해 포워드 프로세싱을 수행하는 특정한 방식은 주로, 포워드 프로세싱될 패킷에 반송되는 정보가 액세스 제어 목록에 포함된 레코드와 일치하는지에 기초하여 결정된다. 예를 들어, 액세스 제어 목록은 제한된 액세스 제어 목록(이것은 블랙리스트와 유사하다)이고, 제한된 액세스 제어 목록이 발신지/목적지 어드레스, 애플리케이션-계층 프로토콜 유형, 또는 포워드 프로세싱될 패킷의 트랜스포트-계층 프로토콜 유형 및/또는 패킷 헤더에 포함된 특정한 키워드와 같은 정보와 일치하는 레코드를 가지면, 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 방식은 직접적으로 패킷을 폐기하는 것일 수 있으며; 대조적으로, 제한된 액세스 제어 목록이 발신지/목적지 어드레스, 애플리케이션-계층 프로토콜 유형, 또는 포워드 프로세싱될 패킷의 트랜스포트-계층 프로토콜 유형/패킷 헤더에 포함된 특정한 키워드와 같은 정보와 일치하는 레코드를 가지지 않으면, 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 방식은 직접적으로 패킷을 포워딩하는 것일 수 있다. 다른 예에 있어서, 액세스 제어 목록은 허용된 액세스 제어 목록(이것은 화이트리스트와 유사하다)이고, 허용된 액세스 제어 목록이 발신지/목적지 어드레스, 애플리케이션-계층 프로토콜 유형, 또는 포워드 프로세싱될 패킷의 트랜스포트-계층 프로토콜 유형/패킷 헤더에 포함된 특정한 키워드와 같은 정보와 일치하는 레코드를 가지지 않으면, 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 방식은 직접적으로 패킷을 폐기하는 것일 수 있고; 허용된 액세스 제어 목록이 발신지/목적지 어드레스, 애플리케이션-계층 프로토콜 유형, 또는 포워드 프로세싱될 패킷의 트랜스포트-계층 프로토콜 유형 및/또는 패킷 헤더에 포함된 특정한 키워드와 같은 정보와 일치하는 레코드를 가지면, 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 방식은 직접적으로 패킷을 포워딩하는 것일 수 있다. 다른 경우도 유사하게 처리될 수 있다.
본 실시예에서의 컴퓨팅 노드(1200)의 각각의 유닛의 기능은 구체적으로 전술한 방법 실시예에서 설명된 방법에 따라 실시될 수 있다. 그 특정한 실시 프로세스에 대해서는, 전술한 실시예에서의 관련 설명을 참조하면 되므로 이에 대해서는 여기서 다시 설명하지 않는다.
본 발명의 실시예에 따른 솔루션에서, 가상 머신과 호스트가 흐름 제어 정책의 시행자를 협상하는 메커니즘이 컴퓨팅 노드(1200)에 도입됨으로써, 가상 머신과 Host 양자는 흐름 제어 정책의 시행자가 될 기회를 가지며, 이에 의해 가상 머신은 흐름 제어 정책을 시행할 수 있으며, 이것은 패킷에 대한 흐름 제어를 가능한 일찍 수행할 수 있게 해주며, 비효율적 프로세싱을 감소시키고 무효한 패킷 흐름에 의해 점유되는, 호스트의 대역폭 및 어드레스 공간을 더 감소시킬 수 있게 한다. 이 솔루션은 가상 머신의 아웃바운드 패킷 흐름을 처리하는 데 점유되는, 호스트의 어드레스 공간을 감소시킬 수 있게 한다는 것을 알 수 있다. 또한, 흐름 제어 정책의 시행자는 협상을 통해 결정되므로, 흐름 제어 정책의 시행자의 시행 능력은 확실하게 보장되며, 이것은 흐름 제어 정책을 시행하는 신뢰도를 높일 수 있게 해준다.
또한, 가상 머신 및 Host 양자가 흐름 제어 정책의 시행을 지원할 때, 가상 머신은 흐름 제어 정책을 시행함에 있어서 우선권을 가지며, 이것은 추가로 패킷에 대해 흐름 제어를 가능한 일찍 수행할 수 있게 해주며, 비효율적인 프로세싱과 무효한 패킷 흐름에 의해 점유되는 대역폭을 더 감소시킬 수 있게 해준다.
도 13은 본 발명의 실시예에 따른 다른 컴퓨팅 노드(1300)에 대한 개략적인 구조도이다. 컴퓨팅 노드(1300)는: 적어도 하나의 프로세서(1301), 예를 들어, CPU, 적어도 하나의 네트워크 인터페이스(1304) 또는 다른 사용자 인터페이스(1303), 스토리지(1305), 및 적어도 하나의 통신 버스(1302)를 포함한다. 통신 버스(1302)는 이러한 구성요소 간의 접속 및 통신을 실행하도록 구성되어 있다. 선택적으로, 통신 노드(1300)는 사용자 인터페이스(1303)를 포함하며, 이 사용자 인터페이스는 디스플레이, 키보드, 또는 클릭 장치(예를 들어, 마우스, 트랙볼(trackball), 터치패드, 또는 터치스크린)를 포함한다. 스토리지(1305)는 고속 RAM 메모리를 포함할 수 있으며, 적어도 하나의 디스크 메모리와 같은 비휘발성 메모리(non-volatile memory)도 포함할 수 있다. 스토리지(1305)는 선택적으로 프로세서(1301)에서 멀리 떨어진 적어도 하나의 스토리지 장치를 포함할 수 있다. 네트워크 인터페이스(1304)는 물리적 네트워크 인터페이스 카드 등을 포함한다.
일부의 실시 방식에서, 스토리지(1305)는 다음의 구성요소, 실행 가능한 모듈 또는 데이터 구조, 또는 그것의 서브세트, 또는 그것의 확장된 세트: 호스트(13051) 및 적어도 하나의 가상 머신(13052)을 포함한다. 호스트(13051)는, 프로세서(1301)의 발동하에, 전술한 실시예에서 설명된 호스트의 기능 중 일부 또는 전부를 가지며, 가상 머신(13052)은 프로세서(1301)의 발동하에, 전술한 실시예에서 설명된 가상 머신의 기능 중 일부 또는 전부를 가진다.
본 발명의 일부의 실시예에서, 프로세서(1301)는, 스토리지(1305)에 저장되어 있는 프로그램 또는 명령을 불러내어, 호스트(13051)와 가상 머신(13052) 사이에서, 상기 가상 머신(13052)의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하고; 상기 흐름 제어 정책의 협상된 시행자가 가상 머신(13052)이면 흐름 제어 정책에 기초하여 가상 머신(13052)의 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하고; 그리고 상기 흐름 제어 정책의 협상된 시행자가 호스트(13051)이면 가상 머신(13052)의 포워드 프로세싱될 패킷을 호스트(13051)에 송신하고, 흐름 제어 정책에 기초하여, 호스트(13051)에 의해 수신된 상기 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행한다.
본 발명의 일부의 실시예에서, 프로세서(1301)가, 호스트(13051)와 가상 머신(13052) 사이에서, 가상 머신(13052)의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하는 것은: 프로세서(1301)가, 가상 머신(13052)에 의해 호스트(13051)에 송신되어야 하는 시행자 협상 요구를 호스트(13051)에 송신하는 단계 - 상기 시행자 협상 요구는 가상 머신(13052)의 흐름 제어 능력에 관한 설명 정보를 반송함 - ; 및 호스트(13051)가 시행자 협상 요구를 수신한 후, 상기 프로세서(1301)가 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신(13052)이 상기 흐름 제어 정책의 시행을 지원하는 것으로 결정하면, 상기 프로세서(1301)가, Host(13051)에 의해 가상 머신(13052)에 송신되어야 하는 협상 확인 지시를 가상 머신(13052)에 송신하는 단계 - 상기 협상 확인 지시는 상기 흐름 제어 정책의 협상된 시행자가 가상 머신(13052)이라는 것을 지시함 - ; 및/또는 상기 프로세서(1301)가, 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신(13052)이 상기 흐름 제어 정책의 시행을 지원하지 않는 것으로 결정하면, 상기 프로세서(1301)가, Host(13051)에 의해 가상 머신(13052)에 송신되어야 하는 협상 비확인 지시를 가상 머신(13052)에 송신하는 단계 - 상기 협상 비확인 지시는 상기 흐름 제어 정책의 협상된 시행자가 Host(13051)라는 것을 지시함 - ;
를 포함할 수 있다.
대안으로, 상기 프로세서(1301)가, 호스트(13051)와 가상 머신(13052) 사이에서, 상기 가상 머신(13051)의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하는 것은: 상기 프로세서(1301)가, 가상 머신(13052)에 의해 Host(13051)에 송신되어야 하는 시행자 협상 요구를 Host(13051)에 송신하는 단계 - 상기 시행자 협상 요구는 상기 가상 머신(13052)의 흐름 제어 능력에 관한 설명 정보를 반송하며, 상기 흐름 제어 능력에 관한 설명 정보는 시행이 가상 머신(13052)에 의해 지원되는 흐름 제어 정책의 버전을 설명하는 데 사용됨 - ; 및
상기 Host(13051)가 상기 시행자 협상 요구를 수신한 후, 상기 프로세서(1301)가, 상기 흐름 제어 능력에 관한 설명 정보에 따라, 가상 머신(13052)이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하는 것으로 결정하면, 상기 프로세서(1301)가, Host(13051)에 의해 가상 머신(13052)에 송신되어야 하는 협상 확인 지시를 가상 머신에 송신하는 단계 - 상기 협상 확인 지시는 상기 흐름 제어 정책의 협상된 시행자가 가상 머신(13052)이라는 것을 지시함 - ; 및/또는 상기 프로세서(1301)가, 상기 흐름 제어 능력에 관한 설명 정보에 따라, 가상 머신(13052)이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하지 않는 것으로 결정하면, Host(13051)에 의해 가상 머신(13052)에 송신되어야 하는 협상 비확인 지시를 가상 머신에 송신하는 단계 - 상기 협상 비확인 지시는 상기 흐름 제어 정책의 협상된 시행자가 Host(13051)라는 것을 지시함 - 를 포함한다.
본 발명의 일부의 실시예에서, 프로세서(1301)가, 가상 머신(13052)과 Host(13052) 사이에서, 가상 머신(13051)의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 복수의 방식으로 협상하는 것은: 프로세서(1301)가, 가상 머신(13052)에 의해 호스트(13051)에 송신되어야 하는 시행자 협상 요구를 Host(13051)에 송신하는 단계 - 상기 시행자 협상 요구는 가상 머신(13052)의 흐름 제어 능력에 관한 설명 정보를 반송함 - ; 상기 시행자 협상 요구에 대한 응답으로 호스트(3051)에 의해 송신되는 협상 확인 지시가 가상 머신(13052)에 의해 수신되면, 프로세서(1301)가, 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정하는 단계; 및 상기 시행자 협상 요구에 대한 응답으로 호스트(3051)에 의해 송신되는 협상 비확인 지시가 가상 머신(13052)에 의해 수신되면, 프로세서(13051)가, 흐름 제어 정책의 협상된 시행자가 호스트(13051)인 것으로 결정하는 단계를 포함한다.
대안으로, 프로세서(1301)가, 가상 머신(13052)과 Host(13051) 사이에서, 상기 가상 머신(13052)의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하는 것은: 프로세서(1301)가, 가상 머신(13052)에 의해 호스트(13051)에 송신되어야 하는 시행자 협상 요구를 Host(13051)에 송신하는 단계 - 상기 시행자 협상 요구는 가상 머신(13052)의 흐름 제어 정책에 관한 설명 정보를 반송하며, 상기 흐름 제어 능력에 관한 설명 정보는 시행이 가상 머신(13052)에 의해 지원되는 흐름 제어 정책의 버전을 설명하는 데 사용됨 - ; 상기 시행자 협상 요구에 대한 응답으로 Host(13051)에 의해 송신되는 협상 확인 지시가 가상 머신(13052)에 의해 수신되면, 프로세서(1301)가, 상기 흐름 제어 정책의 협상된 시행자가 가상 머신(13052)인 것으로 결정하는 단계; 및 상기 시행자 협상 요구에 대한 응답으로 Host(13051)에 의해 송신되는 협상 비확인 지시가 가상 머신(13052)에 의해 수신되면, 프로세서(1301)가, 상기 흐름 제어 정책의 협상된 시행자가 호스트(13051)인 것으로 결정하는 단계를 포함할 수 있다.
대안으로, 프로세서(1301)가, Host(13051)와 가상 머신(13052) 사이에서, 상기 가상 머신(13052)의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하는 것은: 프로세서(1301)가, 가상 머신(13052)에 의해 호스트(13051)에 송신되어야 하는 시행자 협상 요구를 Host(13051)에 송신하는 단계 - 상기 시행자 협상 요구는 가상 머신(13052)의 흐름 제어 정책에 관한 설명 정보를 반송함 - ; 상기 시행자 협상 요구에 대한 응답으로 Host(13051)에 의해 송신되는 협상 확인 지시가 가상 머신(13052)에 의해 수신되면, 프로세서(1301)가, 상기 흐름 제어 정책의 협상된 시행자가 가상 머신(13052)인 것으로 결정하는 단계; 및 상기 시행자 협상 요구에 대한 응답으로 Host(13051)에 의해 송신되는 협상 비확인 지시가 가상 머신(13052)에 의해 제1 설정 기간 내에 수신되지 않으면, 프로세서(1301)가, 상기 흐름 제어 정책의 협상된 시행자가 호스트(13051)인 것으로 결정하는 단계를 포함할 수 있다.
대안으로, 프로세서(1301)가, Host(13051)와 가상 머신(13052) 사이에서, 상기 가상 머신(13052)의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하는 것은: 프로세서(1301)가, 가상 머신(13052)에 의해 호스트(13051)에 송신되어야 하는 시행자 협상 요구를 Host(13051)에 송신하는 단계 - 상기 시행자 협상 요구는 가상 머신(13052)의 흐름 제어 정책에 관한 설명 정보를 반송하며, 상기 흐름 제어 능력에 관한 설명 정보는 시행이 가상 머신에 의해 지원되는 흐름 제어 정책의 버전을 설명하는 데 사용됨 - ; 상기 시행자 협상 요구에 대한 응답으로 Host(13051)에 의해 송신되는 협상 확인 지시가 가상 머신(13052)에 의해 수신되면, 프로세서(1301)가, 상기 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정하는 단계; 및 상기 시행자 협상 요구에 대한 응답으로 Host(13051)에 의해 송신되는 협상 비확인 지시가 가상 머신(13052)에 의해 제1 설정 기간 내에 수신되지 않으면, 프로세서(1301)가, 상기 흐름 제어 정책의 협상된 시행자가 호스트(13051)인 것으로 결정하는 단계를 포함할 수 있다.
대안으로, 프로세서(1301)가, Host(13051)와 가상 머신(13052) 사이에서, 상기 가상 머신(13052)의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하는 것은: 프로세서(1301)가, 가상 머신(13052)에 의해 호스트(13051)에 송신되어야 하는 시행자 협상 요구를 Host(13051)에 송신하는 단계 - 상기 시행자 협상 요구는 가상 머신(13052)의 흐름 제어 정책에 관한 설명 정보를 반송함 - ; 상기 시행자 협상 요구에 대한 응답으로 Host(13051)에 의해 송신되는 협상 비확인 지시가 가상 머신(13052)에 의해 수신되면, 프로세서(1301)가, 상기 흐름 제어 정책의 협상된 시행자가 호스트(13051)인 것으로 결정하는 단계; 및 상기 시행자 협상 요구에 대한 응답으로 Host(13051)에 의해 송신되는 협상 비확인 지시가 가상 머신(13052)에 의해 제2 설정 기간 내에 수신되지 않으면, 프로세서(1301)가, 상기 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정하는 단계를 포함할 수 있다.
대안으로, 프로세서(1301)가, Host(13051)와 가상 머신(13052) 사이에서, 상기 가상 머신(13052)의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하는 것은: 프로세서(1301)가, 가상 머신(13052)에 의해 호스트(13051)에 송신되어야 하는 시행자 협상 요구를 Host(13051)에 송신하는 단계 - 상기 시행자 협상 요구는 가상 머신(13052)의 흐름 제어 정책에 관한 설명 정보를 반송하며, 상기 흐름 제어 능력에 관한 설명 정보는 시행이 가상 머신에 의해 지원되는 흐름 제어 정책의 버전을 설명하는 데 사용됨 - ; 상기 시행자 협상 요구에 대한 응답으로 Host(13051)에 의해 송신되는 협상 비확인 지시가 가상 머신(13052)에 의해 수신되면, 프로세서(1301)가, 상기 흐름 제어 정책의 협상된 시행자가 호스트(13051)인 것으로 결정하는 단계; 및 상기 시행자 협상 요구에 대한 응답으로 Host(13051)에 의해 송신되는 협상 비확인 지시가 가상 머신(13052)에 의해 제2 설정 기간 내에 수신되지 않으면, 프로세서(1301)가, 상기 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정하는 단계를 포함할 수 있다.
본 발명의 일부의 실시예에서, 협상 확인 지시는 흐름 제어 정책을 포함한다.
상기 프로세서(1301)가, 흐름 제어 정책에 기초하여 가상 머신(13052)의 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 것은: 상기 프로세서(1301)가, 협상 확인 지시에 포함되어 있는 흐름 제어 정책에 기초하여 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 단계를 포함한다.
당연히, 호스트는 다른 방식으로 가상 머신(13052)에 흐름 제어 정책을 전달할 수도 있으며, 이에 따라 프로세서(1301)는, 흐름 제어 정책의 협상된 시행자가 가상 머신(13052)인 것으로 결정된 후, Host(13051)에 의해 전달된 흐름 제어 정책에 기초하여 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행할 수 있다. 당연히, 흐름 제어 정책은 가상 머신(13052)에 사전에 구성될 수도 있으며, 흐름 제어 정책의 협상된 시행자가 가상 머신(13052)인 것으로 결정할 때, 프로세서(1301)는 사전에 구성된 흐름 제어 정책에 기초하여 가상 머신(13052)의 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행한다.
본 발명의 일부의 실시예에서, 호스트(13051)가 시행자 협상 요구를 수신한 후, 흐름 제어 능력에 관한 설명 정보가 시행이 가상 머신에 의해 지원되는 흐름 제어 정책의 버전을 설명하는 데 사용되면, 프로세서(1301)가, 흐름 제어 능력에 관한 설명 정보에 따라, 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하는지를 판정하는 것은 구체적으로: 비교를 통해, 흐름 제어 능력에 관한 설명 정보에 의해 설명되는, 시행이 가상 머신(900)에 의해 지원되는 흐름 제어 정책의 버전이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책과 동일한지를 판정하는 단계; 이것들이 동일하면, 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하는 것으로 결정하는 단계; 및 이것들이 다르면, 가상 머신(900)이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하지 않는 것으로 결정하는 단계를 포함할 수 있다. 다른 예에 있어서, 프로세서(1301)가, 흐름 제어 능력에 관한 설명 정보에 따라, 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하는지를 판정하는 것은 구체적으로: 비교를 통해, 흐름 제어 능력에 관한 설명 정보에 의해 설명되는, 시행이 가상 머신(900)에 의해 지원되는 흐름 제어 정책의 k(단, k는 양의 정수)개의 버전의 각각의 버전이 흐름 제어 정책의 현재의 최신 버전 또는 사전설정된 버전과 동일한지를 판정하는 단계; 비교에 의해, k개의 버전 중 하나의 버전이 흐름 제어 정책의 현재의 최신 버전 또는 사전설정된 버전인 것이 획득되면, 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하는 것으로 결정하는 단계; 비교에 의해, k개의 버전 중 어느 하나의 버전이 흐름 제어 정책의 현재의 최신 버전 또는 사전설정된 버전과 다르다는 것이 획득되면, 가상 머신(900)이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하지 않는 것으로 결정하는 단계를 포함한다.
본 발명의 일부의 실시예에서, 프로세서(1301)는, 제어 흐름 정책의 협상된 시행자가 가상 머신(13052)인 것으로 결정된 후, 호스트(13051)가 설정 기간 내에 가상 머신(13052)으로부터 심장박동 메시지를 수신하지 않으면, 호스트(13051)에 의해 가상 머신(13052)으로 송신되며 흐름 제어 정책의 시행자가 호스트(13051)로 전환된다는 것을 지시하는 데 사용되는 지시 메시지를 송신하도록 구성되어 있다.
본 실시예에서, 프로세서(1301)가 호스트(13052) 또는 가상 머신(13051)의 포워드 프로세싱될 패킷을 처리하는 흐름 제어 정책은 예를 들어 서비스 품질에 기초한 흐름 제어 정책 및/또는 액세스 제어 목록에 기초한 흐름 제어 정책일 수 있으며, 당연히, 흐름 제어 정책은 다른 요인을 참조하는 흐름 제어 정책일 수도 있다.
서비스 품질에 기초한 흐름 제어 정책에서, 패킷에 대해 포워드 프로세싱을 수행하는 특정한 방식은 주로, 포워드 프로세스될 패킷에 대응하는 서비스 우선권에 기초하여 결정된다(여기서 특정한 포워드 프로세싱 방식은 지연을 가지는 패킷을 송신하기, 지연을 가지지 않는 패킷을 송신하기, 또는 패킷을 폐기하기 등일 수 있다). 예를 들어, 복수의 포워드 프로세싱될 패킷이 현재 캐시 내에 존재하고, 상위의 서비스 우선권에 대응하는 패킷이 짧은 지연으로 또는 심지어 지연이 없이 송신될 수 있으며, 하위의 서비스 우선권에 대응하는 패킷은 긴 지연으로 송신될 수 있고, 설정된 우선권 임계값보다 낮은 서비스 우선권에 대응하는 포워드 프로세싱될 패킷은 심지어 폐기될 수도 있다. 이것은 고 우선권 서비스의 서비스 품질을 가능한 한 많이 보장할 수 있게 해준다. 즉, 서비스 품질에 기초하여 흐름 제어 정책에 따라 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 단계는 구체적으로: 포워드 프로세싱될 패킷의 서비스 우선권에 대응하는 포워드 프로세싱 방식에 따라 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 단계를 포함할 수 있다.
액세스 제어 목록에 기초하는 흐름 제어 정책에서, 패킷에 대해 포워드 프로세싱을 수행하는 특정한 방식은 주로, 포워드 프로세싱될 패킷에 반송되는 정보가 액세스 제어 목록에 포함된 레코드와 일치하는지에 기초하여 결정된다. 예를 들어, 액세스 제어 목록은 제한된 액세스 제어 목록(이것은 블랙리스트와 유사하다)이고, 제한된 액세스 제어 목록이 발신지/목적지 어드레스, 애플리케이션-계층 프로토콜 유형, 또는 포워드 프로세싱될 패킷의 트랜스포트-계층 프로토콜 유형 및/또는 패킷 헤더에 포함된 특정한 키워드와 같은 정보와 일치하는 레코드를 가지면, 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 방식은 직접적으로 패킷을 폐기하는 것일 수 있으며; 대조적으로, 제한된 액세스 제어 목록이 발신지/목적지 어드레스, 애플리케이션-계층 프로토콜 유형, 또는 포워드 프로세싱될 패킷의 트랜스포트-계층 프로토콜 유형/패킷 헤더에 포함된 특정한 키워드와 같은 정보와 일치하는 레코드를 가지지 않으면, 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 방식은 직접적으로 패킷을 포워딩하는 것일 수 있다. 다른 예에 있어서, 액세스 제어 목록은 허용된 액세스 제어 목록(이것은 화이트리스트와 유사하다)이고, 허용된 액세스 제어 목록이 발신지/목적지 어드레스, 애플리케이션-계층 프로토콜 유형, 또는 포워드 프로세싱될 패킷의 트랜스포트-계층 프로토콜 유형/패킷 헤더에 포함된 특정한 키워드와 같은 정보와 일치하는 레코드를 가지지 않으면, 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 방식은 직접적으로 패킷을 폐기하는 것일 수 있고; 허용된 액세스 제어 목록이 발신지/목적지 어드레스, 애플리케이션-계층 프로토콜 유형, 또는 포워드 프로세싱될 패킷의 트랜스포트-계층 프로토콜 유형 및/또는 패킷 헤더에 포함된 특정한 키워드와 같은 정보와 일치하는 레코드를 가지면, 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 방식은 직접적으로 패킷을 포워딩하는 것일 수 있다. 다른 경우도 유사하게 처리될 수 있다.
본 발명의 일부의 실시예에서, 프로세서(1301)가, 가상 머신(13052)에 의해 호스트(13051)에 송신되는 시행자 협상 요구를 송신하는 것은:
가상 머신(13052)가 사용자-모드 프로세스에 의해 개시된 협상 시작 요구를 수신한 후, 프로세서(1301)가, 가상 머신(13052)에 의해 호스트(13051)에 송신되어야 하는 시행자 협상 요구를 호스트(13051)에 송신하는 단계; 또는 가상 머신(13052)이 호스트(13051)로부터 협상 시작 요구를 수신한 후, 프로세서(1301)가, 가상 머신(13052)에 의해 호스트(13051)에 송신되어야 하는 시행자 협상 요구를 호스트(13051)에 송신하는 단계
를 포함할 수 있다.
본 발명의 일부의 실시예에서, 호스트(13051)와 가상 머신(13052) 사이에서, 가상 머신(13052)의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하는 단계는: 가상 머신(13052)에 배치된 프리로드 클라이언트와 호스트(13051)에 배치된 프리로드 서버 간의 접속이 구축된 후, 프로세서(1301)가 상기 구축된 접속을 사용함으로써, Host(13051)와 가상 머신(13052) 사이에서, 가상 머신(13052)의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하는 단계를 포함할 수 있다.
본 실시예에서의 컴퓨팅 노드(1300)의 각각의 유닛의 기능은 구체적으로 전술한 방법 실시예에서 설명된 방법에 따라 실시될 수 있다. 그 특정한 실시 프로세스에 대해서는, 전술한 실시예에서의 관련 설명을 참조하면 되므로 이에 대해서는 여기서 다시 설명하지 않는다.
전술한 솔루션이 사용된 후, 가상 머신(13052)과 Host(13051)가 흐름 제어 정책의 시행자를 협상하는 메커니즘이 컴퓨팅 노드(1300)에 도입됨으로써, 프로세서(1301)의 도움으로, 가상 머신(13052)과 Host(13051) 양자는 흐름 제어 정책의 시행자가 될 기회를 가지며, 이에 의해 가상 머신(13052)은 흐름 제어 정책을 시행할 수 있으며, 이것은 패킷에 대한 흐름 제어를 가능한 일찍 수행할 수 있게 해주며, 비효율적 프로세싱을 감소시키고 무효한 패킷 흐름에 의한 Host(13051)의 대역폭 및 어드레스 공간을 더 감소시킬 수 있게 한다. 이 솔루션은 가상 머신(13-52)의 아웃바운드 패킷 흐름에 대해 포워드 프로세싱을 수행하는 호스트(13051)의 어드레스 공간의 점유를 감소시킬 수 있게 한다는 것을 알 수 있다. 또한, 흐름 제어 정책의 시행자는 협상을 통해 결정되므로, 흐름 제어 정책의 시행자의 시행 능력은 확실하게 보장되며, 이것은 흐름 제어 정책을 시행하는 신뢰도를 높일 수 있게 해준다.
또한, 가상 머신(13052) 및 Host(13051) 양자가 흐름 제어 정책의 시행을 지원할 때, 가상 머신(13052)은 흐름 제어 정책을 시행함에 있어서 우선권을 가지며, 이것은 추가로 패킷에 대해 흐름 제어를 가능한 일찍 수행할 수 있게 해주며, 비효율적인 프로세싱과 무효한 패킷 흐름에 의해 점유되는 대역폭을 더 감소시킬 수 있게 해준다.
본 발명의 실시예는 프로그램을 저장할 수 있는 컴퓨터 저장 매체를 추가로 제공하며, 프로그램이 실행될 때, 방법 실시예에 설명된 패킷 흐름 제어 방법의 단계 중 일부 또는 전부가 포함된다.
설명을 쉽게 하기 위해, 각각의 전술한 방법 실시예를 일련의 동작의 조합으로서 설명되었으나, 당업자라면 본 발명은 설명된 동작 순서에 제한되지 않으며, 그 이유는 본 발명에 따라 일부의 단계가 다른 순서로 또는 동시에 수행될 수도 있기 때문이라는 것을 이해하여야 한다. 또한, 당업자라면 명세서에 설명된 실시예는 예시적 실시예이며, 포함된 동작 및 모듈은 본 발명에서 반드시 필요한 것은 아니라는 것을 이해하여야 한다.
전술한 실시예에서, 각각의 실시예에 대한 설명은 다른 강조를 가진다. 실시예에서 상세하게 설명되지 않는 부분에 대해서는, 다른 실시예의 관련 부분을 참조하면 된다.
본 출원에서 제공하는 수 개의 실시예에서, 전술한 시스템, 장치, 및 방법은 다른 방식으로도 실현될 수 있다는 것은 물론이다. 예를 들어, 설명된 장치 실시예는 단지 예시에 불과하다. 예를 들어, 유닛의 분할은 단지 일종의 논리적 기능 분할일 뿐이며, 실제의 실행 동안 다른 분할 방식으로 있을 수 있다. 예를 들어, 복수의 유닛 또는 구성요소를 다른 시스템에 결합 또는 통합할 수 있거나, 또는 일부의 특징은 무시하거나 수행하지 않을 수도 있다. 또한, 도시되거나 논의된 상호 커플링 또는 직접 결합 또는 통신 접속은 일부의 인터페이스를 통해 실현될 수 있다. 장치 또는 유닛 간의 간접 결합 또는 통신 접속은 전자식 또는 다른 형태로 실현될 수 있다.
별도의 부분으로 설명된 유닛들은 물리적으로 별개일 수 있고 아닐 수도 있으며, 유닛으로 도시된 부분은 물리적 유닛일 수도 있고 아닐 수도 있으며, 한 위치에 위치할 수도 있고, 복수의 네트워크 유닛에 분산될 수도 있다. 유닛 중 일부 또는 전부는 실제의 필요에 따라 선택되어 실시예의 솔루션의 목적을 달성할 수 있다.
또한, 본 발명의 실시예에서의 기능 유닛은 하나의 프로세싱 유닛으로 통합될 수 있거나, 각각의 유닛이 물리적으로 단독으로 존재할 수도 있거나, 2개 이상의 유닛이 하나의 유닛으로 통합될 수도 있다. 통합 유닛은 하드웨어의 형태로 실현될 수도 있고, 소프트웨어 기능 유닛의 형태로 실현될 수도 있다.
통합 유닛이 소프트웨어 기능 유닛의 형태로 실현되어 독립 제품으로 시판되거나 사용되면, 이 통합 유닛은 컴퓨터 판독 가능형 저장 매체에 저장될 수 있다. 이러한 이해를 바탕으로, 본 발명의 필수적인 기술적 솔루션 또는 종래기술에 기여하는 부분, 또는 기술적 솔루션의 일부는 소프트웨어 제품의 형태로 실현될 수 있다. 컴퓨터 소프트웨어 제품은 저장 매체에 저장되고, 본 발명의 실시예에 설명된 방법의 단계 중 일부 또는 전부를 수행하도록 컴퓨터 장치(이것은 퍼스널 컴퓨터, 서버, 또는 네트워크 장치 등이 될 수 있다)에 명령하는 수개의 명령어를 포함한다. 전술한 저장 매체는: 프로그램 코드를 저장할 수 있는 임의의 저장 매체, 예를 들어, USB 플래시 디스크, 휴대형 하드디스크, 리드-온리 메모리(ROM), 랜덤 액세스 메모리(RAM), 자기디스크 또는 광디스크를 포함한다.
전술한 설명은 단지 본 발명의 특정한 실행 방식에 불과하며, 본 발명의 보호 범위를 제한하려는 것이 아니다. 본 발명을 전술한 실시예를 참조하여 상세히 설명하였으나, 그럼에도 당업자라면 본 발명의 실시예의 기술적 솔루션의 범주를 벗어남이 없이 전술한 실시예에 설명된 기술적 솔루션을 수정할 수 있거나 일부의 기술적 특징에 대해 등가의 대체를 수행할 수 있다는 것을 이해할 수 있을 것이다.

Claims (30)

  1. 패킷 흐름 제어 방법으로서,
    가상 머신과 호스트(Host) 사이에서, 상기 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하는 단계;
    상기 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정되면, 상기 가상 머신이, 상기 흐름 제어 정책에 기초하여 포워드 프로세싱될 패킷(to-be-forward-processed packet)에 대해 포워드 프로세싱을 수행하는 단계; 및
    상기 흐름 제어 정책의 협상된 시행자가 호스트인 것으로 결정되면, 상기 호스트가 상기 흐름 제어 정책에 기초하여, 수신된 패킷에 대해 포워드 프로세싱을 수행할 수 있도록, 상기 가상 머신이 상기 포워드 프로세싱될 패킷을 호스트에 송신하는 단계
    를 포함하는 패킷 흐름 제어 방법.
  2. 제1항에 있어서,
    상기 가상 머신과 호스트(Host) 사이에서, 상기 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하는 단계는,
    상기 가상 머신이, 상기 가상 머신의 흐름 제어 능력에 관한 설명 정보를 반송(搬送)하는 시행자 협상 요구를 호스트에 송신하는 단계;
    상기 호스트가, 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 흐름 제어 정책의 시행을 지원하는 것으로 결정한 후, 상기 가상 머신이 호스트에 의해 송신되는 협상 확인 지시(negotiation acknowledgement indication)를 수신하면, 상기 가상 머신이, 상기 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정하는 단계; 및
    상기 호스트가, 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 흐름 제어 정책의 시행을 지원하지 않는 것으로 결정한 후, 상기 가상 머신이 호스트에 의해 송신되는 협상 비확인 지시(negotiation non-acknowledgement indication)를 수신하면, 상기 가상 머신이, 상기 흐름 제어 정책의 협상된 시행자가 호스트인 것으로 결정하는 단계
    를 포함하거나,
    또는
    상기 가상 머신과 호스트(Host) 사이에서, 상기 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하는 단계는,
    상기 가상 머신이, 상기 가상 머신의 흐름 제어 능력에 관한 설명 정보를 반송하는 시행자 협상 요구를 호스트에 송신하는 단계 - 상기 흐름 제어 능력에 관한 설명 정보는 시행이 가상 머신에 의해 지원되는 흐름 제어 정책의 버전을 설명하는 데 사용됨 - ;
    상기 호스트가, 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하는 것으로 결정한 후, 상기 가상 머신이 호스트에 의해 송신되는 협상 확인 지시를 수신하면, 상기 가상 머신이, 상기 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정하는 단계; 및
    상기 호스트가, 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하지 않는 것으로 결정한 후, 상기 가상 머신이 호스트에 의해 송신되는 협상 비확인 지시를 수신하면, 상기 가상 머신이, 상기 흐름 제어 정책의 협상된 시행자가 호스트인 것으로 결정하는 단계
    를 포함하거나,
    또는
    상기 가상 머신과 호스트(Host) 사이에서, 상기 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하는 단계는,
    상기 가상 머신이, 상기 가상 머신의 흐름 제어 능력에 관한 설명 정보를 반송하는 시행자 협상 요구를 호스트에 송신하는 단계;
    상기 호스트가, 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 흐름 제어 정책의 시행을 지원하는 것으로 결정한 후, 상기 가상 머신이 호스트에 의해 송신되는 협상 확인 지시를 수신하면, 상기 가상 머신이, 상기 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정하는 단계; 및
    상기 가상 머신이, 제1 설정 기간 내에서, 시행자 협상 요구에 대한 응답으로 호스트에 의해 송신되는 협상 확인 지시를 수신하지 않으면, 상기 가상 머신이, 상기 흐름 제어 정책의 협상된 시행자가 호스트인 것으로 결정하는 단계
    를 포함하거나,
    또는
    상기 가상 머신과 호스트(Host) 사이에서, 상기 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하는 단계는,
    상기 가상 머신이, 상기 가상 머신의 흐름 제어 능력에 관한 설명 정보를 반송하는 시행자 협상 요구를 호스트에 송신하는 단계 - 상기 흐름 제어 능력에 관한 설명 정보는 시행이 가상 머신에 의해 지원되는 흐름 제어 정책의 버전을 설명하는 데 사용됨 - ;
    상기 호스트가, 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하는 것으로 결정한 후, 상기 가상 머신이 호스트에 의해 송신되는 협상 확인 지시를 수신하면, 상기 가상 머신이, 상기 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정하는 단계; 및
    상기 호스트가, 제1 설정 기간 내에서, 시행자 협상 요구에 대한 응답으로 호스트에 의해 송신되는 협상 확인 지시를 수신하지 않으면, 상기 가상 머신이, 상기 흐름 제어 정책의 협상된 시행자가 호스트인 것으로 결정하는 단계
    를 포함하거나,
    또는
    상기 가상 머신과 호스트(Host) 사이에서, 상기 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하는 단계는,
    상기 가상 머신이, 상기 가상 머신의 흐름 제어 능력에 관한 설명 정보를 반송하는 시행자 협상 요구를 호스트에 송신하는 단계;
    상기 호스트가, 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 흐름 제어 정책의 시행을 지원하지 않는 것으로 결정한 후, 상기 가상 머신이 호스트에 의해 송신되는 협상 비확인 지시를 수신하면, 상기 가상 머신이, 상기 흐름 제어 정책의 협상된 시행자가 호스트인 것으로 결정하는 단계; 및
    상기 가상 머신이, 제2 설정 기간 내에서, 시행자 협상 요구에 대한 응답으로 호스트에 의해 송신되는 협상 비확인 지시를 수신하지 않으면, 상기 가상 머신이, 상기 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정하는 단계
    를 포함하거나,
    또는
    상기 가상 머신과 호스트(Host) 사이에서, 상기 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하는 단계는,
    상기 가상 머신이, 상기 가상 머신의 흐름 제어 능력에 관한 설명 정보를 반송하는 시행자 협상 요구를 호스트에 송신하는 단계 - 상기 흐름 제어 능력에 관한 설명 정보는 시행이 가상 머신에 의해 지원되는 흐름 제어 정책의 버전을 설명하는 데 사용됨 - ;
    상기 호스트가, 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하는 것으로 결정한 후, 상기 가상 머신이 호스트에 의해 송신되는 협상 비확인 지시를 수신하면, 상기 가상 머신이, 상기 흐름 제어 정책의 협상된 시행자가 호스트인 것으로 결정하는 단계; 및
    상기 가상 머신이, 제2 설정 기간 내에서, 시행자 협상 요구에 대한 응답으로 호스트에 의해 송신되는 협상 비확인 지시를 수신하지 않으면, 상기 가상 머신이, 상기 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정하는 단계
    를 포함하는, 패킷 흐름 제어 방법.
  3. 제2항에 있어서,
    상기 협상 확인 지시는 상기 흐름 제어 정책을 포함하며,
    상기 가상 머신이, 상기 흐름 제어 정책에 기초하여 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 단계는,
    상기 가상 머신이, 상기 협상 확인 지시에 포함되어 있는 상기 흐름 제어 정책에 기초하여 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 단계
    를 포함하는, 패킷 흐름 제어 방법.
  4. 제2항 또는 제3항에 있어서,
    상기 가상 머신이, 상기 가상 머신의 흐름 제어 능력에 관한 설명 정보를 반송하는 시행자 협상 요구를 호스트에 송신하는 단계는,
    상기 가상 머신이, 사용자-모드 프로세스에 의해 개시된 협상 시작 요구를 수신한 후, 상기 가상 머신의 흐름 제어 능력에 관한 설명 정보를 반송하는 시행자 협상 요구를 호스트에 송신하는 단계; 또는 상기 가상 머신이, 호스트로부터 협상 시작 요구를 수신한 후, 상기 가상 머신의 흐름 제어 능력에 관한 설명 정보를 반송하는 시행자 협상 요구를 호스트에 송신하는 단계
    를 포함하는, 패킷 흐름 제어 방법.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서,
    상기 가상 머신과 호스트(Host) 사이에서, 상기 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하는 단계는,
    상기 가상 머신에 배치된 프리로드 클라이언트(preload client)와 호스트에 배치된 프리로드 서버 간의 접속이 구축된 후, 상기 프리로드 클라이언트가 상기 구축된 접속에 기초하여 상기 프리로드 서버와, 가상 머신과 호스트 사이에서, 상기 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하는 단계
    를 포함하는, 패킷 흐름 제어 방법.
  6. 제5항에 있어서,
    상기 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정된 후, 상기 프리로드 클라이언트가 상기 접속에 기초하여 상기 프리로드 서버에 심장박동 메시지(heartbeat message)를 주기적으로 송신하는 단계
    를 더 포함하는 패킷 흐름 제어 방법.
  7. 제1항 내지 제6항 중 어느 한 항에 있어서,
    상기 흐름 제어 정책은 서비스 품질에 기초한 흐름 제어 정책 및/또는 액세스 제어 목록에 기초한 흐름 제어 정책인, 패킷 흐름 제어 방법.
  8. 패킷 흐름 제어 방법으로서,
    가상 머신과 호스트(Host) 사이에서, 상기 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하는 단계; 및
    상기 흐름 제어 정책의 협상된 시행자가 호스트인 것으로 결정되면, 상기 호스트가, 상기 가상 머신으로부터 패킷을 수신한 후, 상기 흐름 제어 정책에 기초하여 상기 수신된 패킷에 대해 포워드 프로세싱을 수행하는 단계
    를 포함하는 패킷 흐름 제어 방법.
  9. 제8항에 있어서,
    상기 가상 머신과 호스트(Host) 사이에서, 상기 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하는 단계는,
    상기 호스트가, 상기 가상 머신에 의해 송신되고 상기 가상 머신의 흐름 제어 능력에 관한 설명 정보를 반송하는 시행자 협상 요구를 수신하는 단계;
    상기 호스트가 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 상기 제어 흐름 정책의 시행을 지원하는 것으로 결정하면, 상기 가상 머신에 협상 확인 지시를 송신하는 단계 - 상기 협상 확인 지시는 상기 흐름 제어 정책의 협상된 시행자가 가상 머신이라는 것을 지시함 - ; 및
    상기 호스트가 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 상기 흐름 제어 정책의 시행을 지원하지 않는 것으로 결정하면, 상기 가상 머신에 협상 비확인 지시를 송신하는 단계 - 상기 협상 비확인 지시는 상기 흐름 제어 정책의 협상된 시행자가 호스트라는 것을 지시함 - ;
    또는
    상기 가상 머신과 호스트(Host) 사이에서, 상기 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하는 단계는,
    상기 호스트가, 상기 가상 머신에 의해 송신되고 상기 가상 머신의 흐름 제어 능력에 관한 설명 정보를 반송하는 시행자 협상 요구를 수신하는 단계 - 상기 흐름 제어 능력에 관한 설명 정보는 시행이 가상 머신에 의해 지원되는 흐름 제어 정책의 버전을 설명하는 데 사용됨 - ;
    상기 호스트가 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 제어 흐름 정책의 시행을 지원하는 것으로 결정하면, 상기 가상 머신에 협상 확인 지시를 송신하는 단계 - 상기 협상 확인 지시는 상기 흐름 제어 정책의 협상된 시행자가 가상 머신이라는 것을 지시함 - ; 및
    상기 호스트가 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하지 않는 것으로 결정하면, 상기 가상 머신에 협상 비확인 지시를 송신하는 단계 - 상기 협상 비확인 지시는 상기 흐름 제어 정책의 협상된 시행자가 호스트라는 것을 지시함 -
    를 포함하는, 패킷 흐름 제어 방법.
  10. 제8항 또는 제9항에 있어서,
    상기 가상 머신과 호스트(Host) 사이에서, 상기 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하는 단계는,
    상기 호스트 내의 프리로드 서버와 상기 가상 머신 내의 프리로드 클라이언트와 간의 접속이 구축된 후, 상기 프리로드 클라이언트가 상기 접속을 사용함으로써 상기 프리로드 서버와, 가상 머신과 호스트 사이에서, 상기 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하는 단계
    를 포함하는, 패킷 흐름 제어 방법.
  11. 제8항 내지 제10항 중 어느 한 항에 있어서,
    상기 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정된 후, 상기 가상 머신으로부터 심장박동 메시지가 설정 기간 내에 수신되지 않으면, 상기 흐름 제어 정책의 시행자가 호스트로 전환된다는 것을 지시하는 지시 메시지를 가상 머신에 송신하는 단계
    를 더 포함하는 패킷 흐름 제어 방법.
  12. 제8항 내지 제11항 중 어느 한 항에 있어서,
    상기 흐름 제어 정책은 서비스 품질에 기초한 흐름 제어 정책 및/또는 액세스 제어 목록에 기초한 흐름 제어 정책인, 패킷 흐름 제어 방법.
  13. 가상 머신으로서,
    가상 머신과 호스트(Host) 사이에서, 상기 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하도록 구성되어 있는 제1 협상 유닛;
    상기 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정되면, 상기 흐름 제어 정책에 기초하여 포워드 프로세싱될 패킷(to-be-forward-processed packet)에 대해 포워드 프로세싱을 수행하고, 상기 흐름 제어 정책의 협상된 시행자가 호스트인 것으로 결정되면, 상기 포워드 프로세싱될 패킷을 호스트에 송신하고, 상기 호스트가 상기 흐름 제어 정책에 기초하여 상기 수신된 패킷에 대해 포워드 프로세싱을 수행할 수 있도록 구성되어 있는 패킷 프로세싱 유닛
    을 포함하는 가상 머신.
  14. 제13항에 있어서,
    상기 제1 협상 유닛은 구체적으로, 상기 가상 머신의 흐름 제어 능력에 관한 설명 정보를 반송하는 시행자 협상 요구를 호스트에 송신하고; 협상 확인 지시가 수신되면, 상기 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정하며 - 상기 호스트가, 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 흐름 제어 정책의 시행을 지원하는 것으로 결정한 후, 상기 협상 확인 지시가 상기 호스트에 의해 송신됨 - ; 그리고 협상 비확인 지시가 수신되면, 상기 흐름 제어 정책의 협상된 시행자가 호스트인 것으로 결정하도록 구성되어 있으며 - 상기 호스트가, 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 흐름 제어 정책의 시행을 지원하지 않는 것으로 결정한 후, 상기 협상 비확인 지시가 상기 호스트에 의해 송신됨 - ;
    또는
    상기 제1 협상 유닛은 구체적으로, 상기 가상 머신의 흐름 제어 능력에 관한 설명 정보를 반송하는 시행자 협상 요구를 호스트에 송신하고 - 상기 흐름 제어 능력에 관한 설명 정보는 시행이 가상 머신에 의해 지원되는 흐름 제어 정책의 버전을 설명하는 데 사용됨 - ; 상기 호스트가, 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하는 것으로 결정한 후, 상기 호스트에 의해 송신되는 협상 확인 지시가 수신되면, 상기 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정하며; 상기 호스트가, 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하지 않는 것으로 결정한 후, 상기 호스트에 의해 송신되는 협상 비확인 지시가 수신되면, 상기 흐름 제어 정책의 협상된 시행자가 호스트인 것으로 결정하도록 구성되어 있으며,
    또는
    상기 제1 협상 유닛은 구체적으로, 상기 가상 머신의 흐름 제어 능력에 관한 설명 정보를 반송하는 시행자 협상 요구를 호스트에 송신하고; 협상 확인 지시가 상기 호스트에 의해 수신되면, 상기 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정하며 - 상기 호스트가, 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 흐름 제어 정책의 시행을 지원하는 것으로 결정한 후, 협상 확인 지시가 호스트에 의해 송신됨 - ; 그리고 시행자 협상 요구에 대한 응답으로 호스트에 의해 송신되는 협상 확인 지시가 제1 설정 기간 내에 수신되지 않으면, 상기 흐름 제어 정책의 협상된 시행자가 호스트인 것으로 결정하도록 구성되어 있으며,
    또는
    상기 제1 협상 유닛은 구체적으로, 상기 가상 머신의 흐름 제어 능력에 관한 설명 정보를 반송하는 시행자 협상 요구를 호스트에 송신하고 - 상기 흐름 제어 능력에 관한 설명 정보는 시행이 가상 머신에 의해 지원되는 흐름 제어 정책의 버전을 설명하는 데 사용됨 - ; 상기 호스트가, 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하는 것으로 결정한 후, 상기 호스트에 의해 송신되는 협상 확인 지시가 수신되면, 상기 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정하며; 그리고 시행자 협상 요구에 대한 응답으로 호스트에 의해 송신되는 협상 확인 지시가 제1 설정 기간 내에 수신되지 않으면, 상기 흐름 제어 정책의 협상된 시행자가 호스트인 것으로 결정하도록 구성되어 있으며,
    또는
    상기 제1 협상 유닛은 구체적으로, 상기 가상 머신의 흐름 제어 능력에 관한 설명 정보를 반송하는 시행자 협상 요구를 호스트에 송신하고; 협상 비확인 지시가 수신되면, 상기 흐름 제어 정책의 협상된 시행자가 호스트인 것으로 결정하며 - 상기 호스트가, 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 흐름 제어 정책의 시행을 지원하지 않는 것으로 결정한 후, 협상 비확인 지시가 호스트에 의해 송신되며; 그리고 시행자 협상 요구에 대한 응답으로 호스트에 의해 송신되는 협상 비확인 지시가 제2 설정 기간 내에 수신되지 않으면, 상기 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정하도록 구성되어 있으며,
    또는
    상기 제1 협상 유닛은 구체적으로, 상기 가상 머신의 흐름 제어 능력에 관한 설명 정보를 반송하는 시행자 협상 요구를 호스트에 송신하고 - 상기 흐름 제어 능력에 관한 설명 정보는 시행이 가상 머신에 의해 지원되는 흐름 제어 정책의 버전을 설명하는 데 사용됨 - ; 상기 호스트가, 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하는 것으로 결정한 후, 상기 호스트에 의해 송신되는 협상 비확인 지시가 수신되면, 상기 흐름 제어 정책의 협상된 시행자가 호스트인 것으로 결정하고; 그리고 시행자 협상 요구에 대한 응답으로 호스트에 의해 송신되는 협상 비확인 지시가 제2 설정 기간 내에 수신되지 않으면, 상기 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정하도록 구성되어 있는, 가상 머신.
  15. 제13항 내지 제14항 중 어느 한 항에 있어서,
    상기 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정된 후, 상기 호스트에 심장박동 메시지를 주기적으로 송신하도록 구성되어 있는 송신 유닛
    을 더 포함하는 가상 머신.
  16. 제13항 내지 제15항 중 어느 한 항에 있어서,
    상기 흐름 제어 정책은 서비스 품질에 기초한 흐름 제어 정책 및/또는 액세스 제어 목록에 기초한 흐름 제어 정책인, 가상 머신.
  17. 호스트로서,
    가상 머신과 호스트(Host) 사이에서, 상기 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하도록 구성되어 있는 제2 협상 유닛; 및
    상기 흐름 제어 정책의 협상된 시행자가 호스트인 것으로 결정되면, 상기 가상 머신으로부터 패킷을 수신한 후, 상기 흐름 제어 정책에 기초하여 상기 수신된 패킷에 대해 포워드 프로세싱을 수행하도록 구성되어 있는 패킷 프로세싱 유닛
    을 포함하는 호스트.
  18. 제17항에 있어서,
    상기 제2 협상 유닛은 구체적으로, 상기 가상 머신에 의해 송신되고 상기 가상 머신의 흐름 제어 능력에 관한 설명 정보를 반송하는 시행자 협상 요구를 수신하고; 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 상기 제어 흐름 정책의 시행을 지원하는 것으로 결정되면, 상기 가상 머신에 협상 확인 지시를 송신하며 - 상기 협상 확인 지시는 상기 흐름 제어 정책의 협상된 시행자가 가상 머신이라는 것을 지시함 - ; 그리고 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 상기 흐름 제어 정책의 시행을 지원하지 않는 것으로 결정되면, 상기 가상 머신에 협상 비확인 지시를 송신하도록 구성되어 있으며, 상기 협상 비확인 지시는 상기 흐름 제어 정책의 협상된 시행자가 호스트라는 것을 지시하며,
    또는
    상기 제2 협상 유닛은 구체적으로,
    상기 호스트가, 상기 가상 머신에 의해 송신되고 상기 가상 머신의 흐름 제어 능력에 관한 설명 정보를 반송하는 시행자 협상 요구를 수신하고 - 상기 흐름 제어 능력에 관한 설명 정보는 시행이 가상 머신에 의해 지원되는 흐름 제어 정책의 버전을 설명하는 데 사용됨 - ; 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 제어 흐름 정책의 시행을 지원하는 것으로 결정되면, 상기 가상 머신에 협상 확인 지시를 송신하며 - 상기 협상 확인 지시는 상기 흐름 제어 정책의 협상된 시행자가 가상 머신이라는 것을 지시함 - ; 그리고 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하지 않는 것으로 결정되면, 상기 가상 머신에 협상 비확인 지시를 송신하도록 구성되어 있으며, 상기 협상 비확인 지시는 상기 흐름 제어 정책의 협상된 시행자가 호스트라는 것을 지시하는, 호스트.
  19. 제17항 또는 제18항에 있어서,
    상기 패킷 프로세싱 유닛은, 상기 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정된 후, 상기 가상 머신으로부터 심장박동 메시지가 설정 기간 내에 수신되지 않으면, 상기 흐름 제어 정책의 시행자가 호스트로 전환된다는 것을 지시하는 지시 메시지를 가상 머신에 송신하도록 추가로 구성되어 있는, 호스트.
  20. 컴퓨팅 노드로서,
    상기 컴퓨팅 노드는 하드웨어 계층, 상기 하드웨어 계층에서 실행되는 호스트(Host), 및 상기 호스트에서 실행되는 적어도 하나의 가상 머신을 포함하며,
    상기 가상 머신은, 상기 가상 머신과 호스트(Host) 사이에서, 상기 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하고; 상기 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정되면, 상기 흐름 제어 정책에 기초하여 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하며; 그리고 상기 흐름 제어 정책의 협상된 시행자가 호스트인 것으로 결정되면, 상기 포워드 프로세싱될 패킷을 호스트에 송신하도록 구성되어 있으며,
    상기 호스트는, 상기 제어 흐름 정책의 협상된 시행자가 호스트인 것으로 결정되면, 상기 가상 머신으로부터 패킷을 수신한 후 상기 흐름 제어 정책에 기초하여 상기 수신된 패킷에 대해 포워드 프로세싱을 수행하도록 구성되어 있는, 컴퓨팅 노드.
  21. 제20항에 있어서,
    상기 가상 머신과 호스트 사이에서, 상기 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하기 위해, 상기 가상 머신은 구체적으로, 상기 가상 머신의 흐름 제어 능력에 관한 설명 정보를 반송하는 시행자 협상 요구를 호스트에 송신하고; 협상 확인 지시가 수신되면, 상기 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정하며 - 상기 호스트가, 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 흐름 제어 정책의 시행을 지원하는 것으로 결정한 후, 상기 협상 확인 지시가 상기 호스트에 의해 송신되며; 그리고 협상 비확인 지시가 수신되면, 상기 흐름 제어 정책의 협상된 시행자가 호스트인 것으로 결정하도록 구성되어 있으며, 상기 호스트가, 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 흐름 제어 정책의 시행을 지원하지 않는 것으로 결정한 후, 상기 협상 비확인 지시가 호스트에 의해 송신되며,
    또는
    상기 가상 머신과 호스트 사이에서, 상기 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하기 위해, 상기 가상 머신은 구체적으로, 상기 가상 머신의 흐름 제어 능력에 관한 설명 정보를 반송하는 시행자 협상 요구를 호스트에 송신하고 - 상기 흐름 제어 능력에 관한 설명 정보는 시행이 가상 머신에 의해 지원되는 흐름 제어 정책의 버전을 설명하는 데 사용됨 - ; 상기 호스트가, 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하는 것으로 결정한 후, 상기 호스트에 의해 송신되는 협상 확인 지시가 수신되면, 상기 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정하며; 그리고 상기 호스트가, 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하지 않는 것으로 결정한 후, 상기 호스트에 의해 송신되는 협상 비확인 지시가 수신되면, 상기 흐름 제어 정책의 협상된 시행자가 호스트인 것으로 결정하도록 구성되어 있으며,
    또는
    상기 가상 머신과 호스트 사이에서, 상기 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하기 위해, 상기 가상 머신은 구체적으로, 상기 가상 머신의 흐름 제어 능력에 관한 설명 정보를 반송하는 시행자 협상 요구를 호스트에 송신하며; 협상 확인 지시가 수신되면, 상기 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정하며 - 상기 호스트가, 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 흐름 제어 정책의 시행을 지원하는 것으로 결정한 후, 상기 협상 확인 지시가 호스트에 의해 송신됨 - ; 그리고 시행자 협상 요구에 대한 응답으로 호스트에 의해 송신되는 협상 확인 지시가 제1 설정 기간 내에 수신되지 않으면, 상기 흐름 제어 정책의 협상된 시행자가 호스트인 것으로 결정하도록 구성되어 있으며,
    또는
    상기 가상 머신과 호스트 사이에서, 상기 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하기 위해, 상기 가상 머신은 구체적으로, 상기 가상 머신의 흐름 제어 능력에 관한 설명 정보를 반송하는 시행자 협상 요구를 호스트에 송신하고 - 상기 흐름 제어 능력에 관한 설명 정보는 시행이 가상 머신에 의해 지원되는 흐름 제어 정책의 버전을 설명하는 데 사용됨 - ; 상기 호스트가, 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하는 것으로 결정한 후, 상기 호스트에 의해 송신되는 협상 확인 지시가 수신되면, 상기 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정하며; 그리고 시행자 협상 요구에 대한 응답으로 호스트에 의해 송신되는 협상 확인 지시가 제1 설정 기간 내에 수신되지 않으면, 상기 흐름 제어 정책의 협상된 시행자가 호스트인 것으로 결정하도록 구성되어 있으며,
    또는
    상기 가상 머신과 호스트 사이에서, 상기 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하기 위해, 상기 가상 머신은 구체적으로, 상기 가상 머신의 흐름 제어 능력에 관한 설명 정보를 반송하는 시행자 협상 요구를 호스트에 송신하고; 협상 비확인 지시가 수신되면, 상기 흐름 제어 정책의 협상된 시행자가 호스트인 것으로 결정하며 - 상기 호스트가, 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 흐름 제어 정책의 시행을 지원하지 않는 것으로 결정한 후, 상기 협상 비확인 지시가 호스트에 의해 송신됨 - ; 그리고 시행자 협상 요구에 대한 응답으로 호스트에 의해 송신되는 협상 비확인 지시가 제2 설정 기간 내에 수신되지 않으면, 상기 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정하도록 구성되어 있으며,
    또는
    상기 가상 머신과 호스트 사이에서, 상기 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하기 위해, 상기 가상 머신은 구체적으로, 상기 가상 머신의 흐름 제어 능력에 관한 설명 정보를 반송하는 시행자 협상 요구를 호스트에 송신하고 - 상기 흐름 제어 능력에 관한 설명 정보는 시행이 가상 머신에 의해 지원되는 흐름 제어 정책의 버전을 설명하는 데 사용됨 - ; 상기 호스트가, 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하는 것으로 결정한 후, 상기 호스트에 의해 송신되는 협상 비확인 지시가 수신되면, 상기 흐름 제어 정책의 협상된 시행자가 호스트인 것으로 결정하며; 그리고 시행자 협상 요구에 대한 응답으로 호스트에 의해 송신되는 협상 비확인 지시가 제2 설정 기간 내에 수신되지 않으면, 상기 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정하도록 구성되어 있는, 컴퓨팅 노드.
  22. 제20항 또는 제21항에 있어서,
    상기 호스트는, 상기 흐름 제어 정책의 협상된 시행자가 가상 머신인 것으로 결정된 후, 상기 가상 머신으로부터 심장박동 메시지가 설정 기간 내에 수신되지 않으면, 상기 흐름 제어 정책의 시행자가 호스트로 전환된다는 것을 지시하는 지시 메시지를 가상 머신에 송신하도록 추가로 구성되어 있으며, 컴퓨팅 노드.
  23. 패킷 흐름 제어 방법으로서,
    프로세서가, 가상 머신과 호스트(Host) 사이에서, 상기 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하는 단계;
    상기 흐름 제어 정책의 협상된 시행자가 가상 머신이면, 상기 프로세서가, 상기 흐름 제어 정책에 기초하여 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 단계; 및
    상기 흐름 제어 정책의 협상된 시행자가 호스트이면, 상기 프로세서가 가상 머신의 포워드 프로세싱될 패킷을 가상 머신으로부터 호스트에 송신하고, 상기 프로세서가 상기 흐름 제어 정책에 기초하여 상기 호스트에 의해 수신된 상기 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 단계
    를 포함하는 패킷 흐름 제어 방법.
  24. 제23항에 있어서,
    상기 프로세서가, 가상 머신과 호스트 사이에서, 상기 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하는 단계는,
    상기 프로세서가, 가상 머신에 의해 호스트에 송신되어야 하는 시행자 협상 요구를 호스트에 송신하는 단계 - 상기 시행자 협상 요구는 상기 가상 머신의 흐름 제어 능력에 관한 설명 정보를 반송함 - ; 및
    상기 호스트가 상기 시행자 협상 요구를 수신한 후, 상기 프로세서는 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 상기 흐름 제어 정책의 시행을 지원하는 것으로 결정하면, 상기 프로세서가, 호스트에 의해 가상 머신에 송신되어야 하는 협상 확인 지시를 가상 머신에 송신하는 단계 - 상기 협상 확인 지시는 상기 흐름 제어 정책의 협상된 시행자가 가상 머신이라는 것을 지시함 - ; 및/또는 상기 프로세서가, 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 상기 흐름 제어 정책의 시행을 지원하지 않는 것으로 결정하면, 상기 프로세서가, 호스트에 의해 가상 머신에 송신되어야 하는 협상 비확인 지시를 가상 머신에 송신하는 단계 - 상기 협상 비확인 지시는 상기 흐름 제어 정책의 협상된 시행자가 호스트라는 것을 지시함 - ;
    를 포함하며,
    또는
    상기 프로세서가, 가상 머신과 호스트 사이에서, 상기 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하는 단계는,
    상기 프로세서가, 가상 머신에 의해 호스트에 송신되어야 하는 시행자 협상 요구를 호스트에 송신하는 단계 - 상기 시행자 협상 요구는 상기 가상 머신의 흐름 제어 능력에 관한 설명 정보를 반송하며, 상기 흐름 제어 능력에 관한 설명 정보는 시행이 가상 머신에 의해 지원되는 흐름 제어 정책의 버전을 설명하는 데 사용됨 - ; 및
    상기 호스트가 상기 시행자 협상 요구를 수신한 후, 상기 프로세서가 상기 흐름 제어 능력에 관한 설명 정보에 따라, 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하는 것으로 결정하면, 상기 프로세서가, 호스트에 의해 가상 머신에 송신되어야 하는 협상 확인 지시를 가상 머신에 송신하는 단계 - 상기 협상 확인 지시는 상기 흐름 제어 정책의 협상된 시행자가 가상 머신이라는 것을 지시함 - ; 및/또는 상기 프로세서가, 상기 흐름 제어 능력에 관한 설명 정보에 따라, 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하지 않는 것으로 결정하면, 상기 프로세서가, 호스트에 의해 가상 머신에 송신되어야 하는 협상 비확인 지시를 가상 머신에 송신하는 단계 - 상기 협상 비확인 지시는 상기 흐름 제어 정책의 협상된 시행자가 호스트라는 것을 지시함 -
    를 포함하는, 패킷 흐름 제어 방법.
  25. 제24항에 있어서,
    상기 협상 확인 지시는 상기 흐름 제어 정책을 포함하며,
    상기 흐름 제어 정책에 기초하여 상기 가상 머신의 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 단계는,
    상기 협상 확인 지시에 포함되어 있는 상기 흐름 제어 정책에 기초하여 상기 가상 머신의 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하는 단계
    를 포함하는, 패킷 흐름 제어 방법.
  26. 제23항 내지 제25항 중 어느 한 항에 있어서,
    상기 흐름 제어 정책의 협상된 시행자가 가상 머신인 후, 상기 호스트가 가상 머신으로부터 심장박동 메시지를 설정 기간 내에 수신하지 않으면, 상기 프로세서가, 호스트에 의해 가상 머신에 송신되어야 하고 상기 흐름 제어 정책의 시행자가 호스트로 전환된다는 것을 지시하는 데 사용되는 지시 메시지를 가상 머신에 송신하는 단계
    를 더 포함하는 패킷 흐름 제어 방법.
  27. 컴퓨팅 노드로서,
    스토리지, 및 상기 스토리지에 접속되어 있는 프로세서
    를 포함하며,
    상기 프로세서는,
    호스트(Host)와 가상 머신 사이에서, 상기 가상 머신의 흐름 제어 능력에 기초하여 흐름 제어 정책의 시행자를 협상하고; 그리고
    상기 흐름 제어 정책의 협상된 시행자가 가상 머신이면, 상기 흐름 제어 정책에 기초하여 가상 머신의 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하며; 그리고 상기 흐름 제어 정책의 협상된 시행자가 호스트이면, 상기 포워드 프로세싱될 패킷을 가상 머신으로부터 호스트로 송신하고, 상기 흐름 제어 정책에 기초하여 상기 호스트에 의해 수신된 상기 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하도록 구성되어 있는, 컴퓨팅 노드.
  28. 제27항에 있어서,
    상기 프로세서는, 가상 머신에 의해 호스트에 송신되어야 하는 시행자 협상 요구를 호스트에 송신하고 - 상기 시행자 협상 요구는 상기 가상 머신의 흐름 제어 능력에 관한 설명 정보를 반송함 - ; 상기 호스트가 상기 시행자 협상 요구를 수신한 후, 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 상기 흐름 제어 정책의 시행을 지원하는 것으로 결정되면, 호스트에 의해 가상 머신에 송신되어야 하는 협상 확인 지시를 가상 머신에 송신하며 - 상기 협상 확인 지시는 상기 흐름 제어 정책의 협상된 시행자가 가상 머신이라는 것을 지시함 - ; 및/또는 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 상기 흐름 제어 정책의 시행을 지원하지 않는 것으로 결정되면, 호스트에 의해 가상 머신에 송신되어야 하는 협상 비확인 지시를 가상 머신에 송신하도록 구성되어 있으며, 상기 협상 비확인 지시는 상기 흐름 제어 정책의 협상된 시행자가 호스트라는 것을 지시하며,
    또는
    상기 프로세서는, 가상 머신에 의해 호스트에 송신되어야 하는 시행자 협상 요구를 호스트에 송신하고 - 상기 시행자 협상 요구는 상기 가상 머신의 흐름 제어 능력에 관한 설명 정보를 반송하고, 상기 흐름 제어 능력에 관한 설명 정보는 시행이 가상 머신에 의해 지원되는 흐름 제어 정책이 버전을 설명하는 데 사용됨 - ; 상기 호스트가 상기 시행자 협상 요구를 수신한 후, 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하는 것으로 결정되면, 호스트에 의해 가상 머신에 송신되어야 하는 협상 확인 지시를 가상 머신에 송신하며 - 상기 협상 확인 지시는 상기 흐름 제어 정책의 협상된 시행자가 가상 머신이라는 것을 지시함 - ; 및/또는 상기 흐름 제어 능력에 관한 설명 정보에 따라, 상기 가상 머신이 현재의 최신 버전 또는 사전설정된 버전의 흐름 제어 정책의 시행을 지원하지 않는 것으로 결정되면, 호스트에 의해 가상 머신에 송신되어야 하는 협상 비확인 지시를 가상 머신에 송신하도록 구성되어 있으며, 상기 협상 비확인 지시는 상기 흐름 제어 정책의 협상된 시행자가 호스트라는 것을 지시하는, 컴퓨팅 노드.
  29. 제28항에 있어서,
    상기 협상 확인 지시는 상기 흐름 제어 정책을 포함하며,
    상기 프로세서는, 상기 협상 확인 지시에 포함되어 있는 상기 흐름 제어 정책에 기초하여 상기 가상 머신의 포워드 프로세싱될 패킷에 대해 포워드 프로세싱을 수행하도록 구성되어 있는, 컴퓨팅 노드.
  30. 제27항 내지 제29항 중 어느 한 항에 있어서,
    상기 프로세서는, 상기 흐름 제어 정책의 협상된 시행자가 가상 머신인 후, 상기 호스트가, 상기 가상 머신으로부터 심장박동 메시지를 설정 기간 내에 수신하지 않으면, 호스트에 의해 가상 머신에 송신되어야 하고 상기 흐름 제어 정책의 시행자가 호스트로 전환된다는 것을 지시하는 데 사용되는 지시 메시지를 가상 머신에 송신하도록 추가로 구성되어 있는, 컴퓨팅 노드.
KR1020167020644A 2013-12-30 2014-07-04 패킷 흐름 제어 방법, 관련 장치, 및 컴퓨팅 노드 KR101875710B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201310746701.5 2013-12-30
CN201310746701.5A CN103763403B (zh) 2013-12-30 2013-12-30 报文流量控制方法及相关装置和计算节点
PCT/CN2014/081642 WO2015101000A1 (zh) 2013-12-30 2014-07-04 报文流量控制方法及相关装置和计算节点

Publications (2)

Publication Number Publication Date
KR20160103114A true KR20160103114A (ko) 2016-08-31
KR101875710B1 KR101875710B1 (ko) 2018-08-02

Family

ID=50530561

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167020644A KR101875710B1 (ko) 2013-12-30 2014-07-04 패킷 흐름 제어 방법, 관련 장치, 및 컴퓨팅 노드

Country Status (5)

Country Link
EP (1) EP2905948B1 (ko)
JP (1) JP6336602B2 (ko)
KR (1) KR101875710B1 (ko)
CN (1) CN103763403B (ko)
WO (1) WO2015101000A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102137651B1 (ko) * 2019-06-10 2020-07-24 국방과학연구소 서비스 플로우 기반 패킷 스케줄링 장치 및 방법

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9921867B2 (en) 2013-12-30 2018-03-20 Huawei Technologies Co., Ltd. Negotiation between virtual machine and host to determine executor of packet flow control policy with reduced address space
CN103763403B (zh) * 2013-12-30 2017-03-15 华为技术有限公司 报文流量控制方法及相关装置和计算节点
CN104168205B (zh) * 2014-08-06 2017-08-08 新华三技术有限公司 报文处理方法及装置
CN105099821B (zh) * 2015-07-30 2020-05-12 奇安信科技集团股份有限公司 基于云的虚拟环境下流量监控的方法和装置
CN117478612B (zh) * 2023-12-27 2024-03-15 成都新希望金融信息有限公司 流量分配方法、装置及电子设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100054129A1 (en) * 2008-08-27 2010-03-04 Cisco Technology, Inc. Virtual switch quality of service for virtual machines
US20120093160A1 (en) * 2005-08-23 2012-04-19 Netronome Systems, Inc. System and Method for Processing and Forwarding Transmitted Information

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10353722B2 (en) * 2010-07-21 2019-07-16 Nec Corporation System and method of offloading cryptography processing from a virtual machine to a management module
CN102413183B (zh) * 2011-11-22 2014-07-16 中国联合网络通信集团有限公司 云智能交换机及其处理方法、系统
JP5783632B2 (ja) * 2011-12-14 2015-09-24 Kddi株式会社 ネットワークトラヒック制御装置、制御方法、およびプログラム
CN102594707A (zh) * 2012-03-21 2012-07-18 北京天地云箱科技有限公司 网络控制系统及网络交换适配器
JP5871233B2 (ja) * 2012-03-22 2016-03-01 株式会社日立製作所 計算機及び帯域制御方法
US9092269B2 (en) * 2012-06-21 2015-07-28 Microsoft Technology Licensing, Llc Offloading virtual machine flows to physical queues
CN103176833B (zh) * 2013-03-11 2016-12-28 华为技术有限公司 一种基于虚拟机的数据发送方法、接收方法及系统
CN103763403B (zh) * 2013-12-30 2017-03-15 华为技术有限公司 报文流量控制方法及相关装置和计算节点

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120093160A1 (en) * 2005-08-23 2012-04-19 Netronome Systems, Inc. System and Method for Processing and Forwarding Transmitted Information
US20100054129A1 (en) * 2008-08-27 2010-03-04 Cisco Technology, Inc. Virtual switch quality of service for virtual machines

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102137651B1 (ko) * 2019-06-10 2020-07-24 국방과학연구소 서비스 플로우 기반 패킷 스케줄링 장치 및 방법

Also Published As

Publication number Publication date
EP2905948A1 (en) 2015-08-12
CN103763403A (zh) 2014-04-30
EP2905948A4 (en) 2015-09-09
JP6336602B2 (ja) 2018-06-06
WO2015101000A1 (zh) 2015-07-09
CN103763403B (zh) 2017-03-15
KR101875710B1 (ko) 2018-08-02
EP2905948B1 (en) 2016-06-01
JP2017503420A (ja) 2017-01-26

Similar Documents

Publication Publication Date Title
KR101875710B1 (ko) 패킷 흐름 제어 방법, 관련 장치, 및 컴퓨팅 노드
JP5689526B2 (ja) マルチキュー・ネットワーク・アダプタの動的再構成によるリソース・アフィニティ
US10698717B2 (en) Accelerator virtualization method and apparatus, and centralized resource manager
CN107534579B (zh) 资源管理的系统和方法
US9996371B2 (en) Virtual switching method, related apparatus, and computer system
RU2436149C2 (ru) Мигрирование виртуальной машины, которая владеет ресурсом, таким, как аппаратное устройство
TWI430102B (zh) 網路卡資源配置方法、儲存媒體、及電腦
US8393000B2 (en) Method, apparatus, and system for enabling a secure location-aware platform
EP3206339B1 (en) Network card configuration method and resource management center
EP2256640A1 (en) Managing traffic on virtualized lanes between a network switch and a virtual machine
US8850090B2 (en) USB redirection for read transactions
EP3206125B1 (en) Resource management method, host, and endpoint
US20160239337A1 (en) Method and Computing Device for Selecting Protocol Stack
Kuperman et al. Paravirtual remote i/o
US20150370582A1 (en) At least one user space resident interface between at least one user space resident virtual appliance and at least one virtual data plane
EP3563534B1 (en) Transferring packets between virtual machines via a direct memory access device
WO2017186042A1 (zh) 一种用于虚拟交换机技术中数据传输的方法及装置
EP2359242A1 (en) Copy circumvention in a virtual network environment
Zhang et al. Workload adaptive shared memory management for high performance network i/o in virtualized cloud
Gebhardt et al. Challenges for inter virtual machine communication
US9921867B2 (en) Negotiation between virtual machine and host to determine executor of packet flow control policy with reduced address space
US10397140B2 (en) Multi-processor computing systems
Suzuki et al. Device-level IoT with virtual I/O device interconnection
JP2017531871A5 (ko)
Reto et al. Technical Report Distributed Systems Lab

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