KR20180052927A - virtual machine placement method in a virtual machine based service function chaining - Google Patents

virtual machine placement method in a virtual machine based service function chaining Download PDF

Info

Publication number
KR20180052927A
KR20180052927A KR1020160150093A KR20160150093A KR20180052927A KR 20180052927 A KR20180052927 A KR 20180052927A KR 1020160150093 A KR1020160150093 A KR 1020160150093A KR 20160150093 A KR20160150093 A KR 20160150093A KR 20180052927 A KR20180052927 A KR 20180052927A
Authority
KR
South Korea
Prior art keywords
service
node
nodes
link
service nodes
Prior art date
Application number
KR1020160150093A
Other languages
Korean (ko)
Other versions
KR102216746B1 (en
Inventor
나태흠
박평구
류호용
심재찬
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to KR1020160150093A priority Critical patent/KR102216746B1/en
Publication of KR20180052927A publication Critical patent/KR20180052927A/en
Application granted granted Critical
Publication of KR102216746B1 publication Critical patent/KR102216746B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0896Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
    • H04L41/0897Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities by horizontal or vertical scaling of resources, or by migrating entities, e.g. virtual resources or entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3051Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/40Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/036Updating the topology between route computation elements, e.g. between OpenFlow controllers
    • H04L45/037Routes obligatorily traversing service-related nodes
    • H04L45/0377Routes obligatorily traversing service-related nodes for service chaining

Abstract

Disclosed are a method and a device for arranging a virtual machine in virtual machine-based service function chaining. A method for arranging service nodes, comprises: a step of recognizing required resources of service nodes consisting of a service chain; a step of calculating link costs per link between the service nodes consisting of the service chain, and aligning links between the service nodes in accordance with the calculated link costs; a step of checking remaining resources of at least one computing node; and a step of constructing a pseudo service node by grouping the service nodes based on the remaining resources of the at least one computing node, and allocating the pseudo service node to at least one computing node among the at least one computing node.

Description

가상 머신 기반의 서비스 펑션 체이닝에 있어서 가상 머신의 배치 방법{virtual machine placement method in a virtual machine based service function chaining}[0001] The present invention relates to a virtual machine placement method, and more particularly, to a virtual machine placement method in a service function chaining based on a virtual machine,

본 발명은 가상 머신 기반의 서비스 펑션 체이닝(SFC: Service Function Chaining)에 관한 것으로, 더욱 상세하게는 서비스 성능 향상을 위하여 서비스 체인을 구성하는 가상 머신 기반의 서비스 노드(service node)들을 효율적인 배치하는 방법 및 장치에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a service function chaining (SFC) based on a virtual machine, and more particularly to a method of efficiently arranging service nodes based on virtual machines constituting a service chain And apparatus.

네트워크 기능 가상화(Network Functions Virtualization, NFV) 기술은 기존에 독립된 하드웨어 장치들로 구현된 네트워크 주소 변환(NAT: Network Address Translation), 방화벽(Firewall), 침입 방지 서비스(IPS: Intrusion Prevention System), 가상 사설 네트워크(VPN: Virtual Private Network) 등의 다양한 네트워크 기능을 소프트웨어 형태의 가상 머신 기반으로 구현하고 운용하는 가상화 기술이다. 따라서, NFV 기술을 활용하면 소프트웨어 기반 프레임워크를 사용하여 네트워크 서비스의 유연성을 향상시킬 수 있다. The Network Functions Virtualization (NFV) technology is a new technology that can be deployed on existing hardware devices such as Network Address Translation (NAT), Firewall, Intrusion Prevention System (IPS) And Virtual Private Network (VPN), which is a virtualization technology based on software. Thus, using NFV technology can increase the flexibility of network services using a software-based framework.

또한, 트래픽에 따라 필요한 네트워크 기능들을 선택적으로 조합 및 실행하여 하나의 네트워크 서비스를 구현하는 서비스 체이닝(Service Chaining) 또는 서비스 펑션 체이닝(Service Function Chaining, SFC) 기술에 대한 관심이 증대되고 있다. In addition, there is an increasing interest in service chaining or service function chaining (SFC) technology that selectively combines and executes necessary network functions according to traffic to implement one network service.

서비스 펑션 체이닝(Service Function Chaining, SFC)는 네트워크 이용자의 트래픽이 NAT, Firewall, IPS등과 같은 네트워크 서비스 중에서 이용자에게 필요한 기능들만 선택적으로 경유하도록 하는 개념이며, 이러한 서비스들은 물리적인 서버에서 동작할 수도 있고 가상 머신 상에서 동작할 수도 있다. 따라서, SFC는 NFV(Network Function Virtualization)와 밀접한 관계를 가지는 개념으로 이해될 수 있다.The service function chaining (SFC) is a concept in which the traffic of the network user selectively passes through the functions necessary for the user among network services such as NAT, Firewall, IPS, etc., and these services may operate in a physical server It may also run on a virtual machine. Therefore, SFC can be understood as a concept closely related to NFV (Network Function Virtualization).

가상화된 네트워크 서비스에 대한 관심에 따라, 다양한 공개 및 상용 가상화 서비스 플랫폼이 제공되고 있다. 이와 같은 가상 서비스 플랫폼에 가상 머신을 배치하여 서비스 기능을 제공하게 된다. 이때 가상 머신이 배치되는 물리적인 컴퓨터를 컴퓨팅 노드라하고 컴퓨팅 노드 상에 가상 머신을 구동하는 것을 배치(Placement) 혹은 스케쥴링(Scheduling)이라한다. 가상 머신을 이용한 서비스는 서비스 체이닝이라는 수단을 이용하여 정의되는데, 이 서비스 체이닝을 서비스 제공을 위해 각 가상 머신 간의 연결을 표현하게 된다. 이때 서비스 체이닝을 이루는 가상 머신을 서비스 노드라고 한다.With interest in virtualized network services, a variety of public and commercial virtualization services platforms are being provided. Virtual machines are deployed in such a virtual service platform to provide service functions. At this time, the physical computer on which the virtual machine is placed is called a computing node and the virtual machine on the computing node is called placement or scheduling. Service using virtual machine is defined by means of service chaining. This service chaining expresses the connection between each virtual machine to provide service. At this time, the virtual machine that performs service chaining is called a service node.

그러나, 서비스 제공이 목적인 가상 머신 간의 통신은 상당한 성능적 제한을 가져오게 된다. 즉, 다른 컴퓨팅 노드에 배치된 가상 머신은 다양한 방식(VLAN, VxLAN, GRE 등)의 통신 부하가 발생하게 된다. 따라서, 가상 머신으로 구성된 서비스 노드들을 적절하게 배치하는 것은 제공되는 네트워크 서비스의 성능에 중요한 영향을 미치게 된다.However, communication between virtual machines, whose purpose is to provide services, has significant performance limitations. That is, a virtual machine placed in another computing node is subjected to communication load in various ways (VLAN, VxLAN, GRE, etc.). Therefore, proper placement of service nodes composed of virtual machines has a significant effect on the performance of the provided network service.

상기와 같은 문제점을 해결하기 위한 본 발명의 목적은, NFV 기반의 서비스 펑션 체이닝 환경에서, 각 가상 머신 서비스 노드를 컴퓨팅 노드에 효율적으로 배치하여, 제공되는 네트워크 서비스의 성능을 향상시킬 수 있는, 가상 머신 서비스 노드의 배치 방법을 제공하는데 있다.In order to solve the above problems, an object of the present invention is to provide a method and system for efficiently allocating each virtual machine service node to a computing node in an NFV-based service function chaining environment, And a method of arranging the machine service nodes.

상기와 같은 문제점을 해결하기 위한 본 발명의 다른 목적은, NFV 기반의 서비스 펑션 체이닝 환경에서, 각 가상 머신 서비스 노드를 컴퓨팅 노드에 효율적으로 배치하여, 제공되는 네트워크 서비스의 성능을 향상시킬 수 있는, 가상 머신 서비스 노드의 배치 장치를 제공하는데 있다.It is another object of the present invention to solve the above problems and to provide a method and system for efficiently deploying a virtual machine service node in a computing node in an NFV-based service functioning environment, And to provide a placement apparatus for a virtual machine service node.

상기 목적을 달성하기 위한 본 발명은, 서비스 펑션 체이닝에 있어서, 서비스 체인을 구성하는 서비스 노드들의 배치 방법으로서, 상기 서비스 체인을 구성하는 서비스 노드들의 요구 자원들을 파악하는 단계(a); 상기 서비스 체인을 구성하는 서비스 노드들 간의 링크 별 링크 비용을 산출하고, 상기 산출된 링크 비용에 따라 서비스 노드들 간의 링크를 정렬하는 단계(b); 적어도 하나의 컴퓨팅 노드의 잔여 자원을 확인하는 단계(c); 및 상기 서비스 노드들의 요구 자원, 상기 링크별 비용, 및 상기 적어도 하나의 컴퓨팅 노드의 잔여 자원에 기초하여, 상기 서비스 노드들을 그룹핑하여 유사(pseudo) 서비스 노드를 구성하고, 상기 유사 서비스 노드를 상기 적어도 하나의 컴퓨팅 노드 중 하나의 컴퓨팅 노드에 할당하는 단계(d)를 포함할 수 있다.According to an aspect of the present invention, there is provided a method for arranging service nodes constituting a service chain in service function chaining, comprising the steps of: (a) identifying required resources of service nodes constituting the service chain; (B) calculating a link cost per link between service nodes constituting the service chain, and arranging a link between the service nodes according to the calculated link cost; Identifying (c) the remaining resources of at least one computing node; And configuring a pseudo service node by grouping the service nodes based on the requested resources of the service nodes, the cost per link, and the remaining resources of the at least one computing node, (D) of assigning one computing node to one of the computing nodes.

여기에서, 상기 서비스 노드들의 요구 자원은 각 서비스 노드의 동작에 필요한 컴퓨팅 자원, 디스크 용량, 및 메모리 용량 중 적어도 하나를 포함할 수 있다.Here, the requesting resources of the service nodes may include at least one of a computing resource, a disk capacity, and a memory capacity required for operation of each service node.

여기에서, 상기 링크 비용은 상기 서비스 노드들 간의 링크 간의 요구 트랜잭션 횟수, 요구 대역폭, 및 중요도 중 적어도 하나에 기초하여 산출될 수 있다. 또한, 상기 링크 비용은 상기 서비스 노드들 간의 링크 간의 요구 트랜잭션 횟수, 요구 대역폭, 및 중요도 중 적어도 하나에 기초한 비용함수(cost function)를 이용하여 산출될 수 있다.Here, the link cost may be calculated based on at least one of the number of required transactions, the required bandwidth, and the importance between links between the service nodes. Also, the link cost may be calculated using a cost function based on at least one of the number of required transactions, the required bandwidth, and the importance between the links between the service nodes.

여기에서, 상기 할당하는 단계에서, 상기 링크 비용의 순서대로 정렬된 링크들 중 높은 링크 비용을 가지는 링크부터, 해당 링크를 구성하는 서비스 노드들이 동일한 컴퓨팅 노드에 할당되어 상기 유사 서비스 노드를 구성할 수 있다.Here, in the allocating step, the service nodes constituting the link may be allocated to the same computing node from the link having the highest link cost among the links arranged in the order of the link cost to configure the similar service node have.

이때, 상기 유사 서비스 노드를 구성하는 서비스 노드들의 요구 자원들의 합이 상기 동일한 컴퓨팅 노드의 여유 자원보다 작도록 구성된다.At this time, the sum of the requested resources of the service nodes constituting the similar service node is smaller than the spare resources of the same computing node.

여기에서, 상기 서비스 노드는 가상 머신(virtual machine) 기반으로 동작될 수 있다.Here, the service node may be operated based on a virtual machine.

여기에서, 상기 단계(c) 및 단계(d)는 더 이상 유사 서비스 노드가 구성되지 않을 때까지 반복적으로 수행될 수 있다.Here, steps (c) and (d) may be repeatedly performed until no similar service node is constructed.

상기 다른 목적을 달성하기 위한 본 발명은, 네트워크 기능 가상화(NFV: Network Function Virtualization) 기반의 서비스 펑션 체이닝에 있어서, 프로그램 코드를 적재한 메모리 장치와 상기 프로그램 코드를 실행하는 적어도 하나의 프로세서를 포함하고, 서비스 체인을 구성하는 서비스 노드들의 배치를 수행하는 장치로서, 상기 프로그램 코드는, 오케스트레이터(Orchestrator) 또는 소정의 명세(description)로부터 상기 서비스 체인을 구성하는 서비스 노드들의 요구 자원들을 파악하는 단계(a); 상기 서비스 체인을 구성하는 서비스 노드들 간의 링크 별 링크 비용을 산출하고, 상기 산출된 링크 비용에 따라 서비스 노드들 간의 링크를 정렬하는 단계(b); 네트워크 기능 가상화 인프라스트럭춰(NFVI: Network Function Virtualization Infrastructure) 상에 존재하는, 적어도 하나의 컴퓨팅 노드의 잔여 자원을 확인하는 단계(c); 및 상기 서비스 노드들의 요구 자원, 상기 링크별 비용, 및 상기 적어도 하나의 컴퓨팅 노드의 잔여 자원에 기초하여, 상기 서비스 노드들을 그룹핑하여 유사(pseudo) 서비스 노드를 구성하고, 상기 유사 서비스 노드를 상기 적어도 하나의 컴퓨팅 노드 중 하나의 컴퓨팅 노드에 할당하는 단계(d)를 포함할 수 있다.According to another aspect of the present invention, there is provided a service function chaining based on network function virtualization (NFV), including: a memory device in which a program code is loaded; and at least one processor for executing the program code And arranging service nodes constituting a service chain, wherein the program code comprises the steps of: identifying requested resources of service nodes constituting the service chain from an orchestrator or a predetermined specification a); (B) calculating a link cost per link between service nodes constituting the service chain, and arranging a link between the service nodes according to the calculated link cost; (C) identifying the remaining resources of at least one computing node present on a Network Function Virtualization Infrastructure (NFVI); And configuring a pseudo service node by grouping the service nodes based on the requested resources of the service nodes, the cost per link, and the remaining resources of the at least one computing node, (D) of assigning one computing node to one of the computing nodes.

여기에서, 상기 서비스 노드들의 요구 자원은 각 서비스 노드의 동작에 필요한 컴퓨팅 자원, 디스크 용량, 및 메모리 용량 중 적어도 하나를 포함할 수 있다.Here, the requesting resources of the service nodes may include at least one of a computing resource, a disk capacity, and a memory capacity required for operation of each service node.

여기에서, 상기 링크 비용은 상기 서비스 노드들 간의 링크 간의 요구 트랜잭션 횟수, 요구 대역폭, 및 중요도 중 적어도 하나에 기초하여 산출될 수 있다. 또한, 상기 링크 비용은 상기 서비스 노드들 간의 링크 간의 요구 트랜잭션 횟수, 요구 대역폭, 및 중요도 중 적어도 하나에 기초한 비용함수(cost function)를 이용하여 산출될 수 있다.Here, the link cost may be calculated based on at least one of the number of required transactions, the required bandwidth, and the importance between links between the service nodes. Also, the link cost may be calculated using a cost function based on at least one of the number of required transactions, the required bandwidth, and the importance between the links between the service nodes.

여기에서, 상기 할당하는 단계에서, 상기 링크 비용의 순서대로 정렬된 링크들 중 높은 링크 비용을 가지는 링크부터, 해당 링크를 구성하는 서비스 노드들이 동일한 컴퓨팅 노드에 할당되어 상기 유사 서비스 노드를 구성할 수 있다.Here, in the allocating step, the service nodes constituting the link may be allocated to the same computing node from the link having the highest link cost among the links arranged in the order of the link cost to configure the similar service node have.

이때, 상기 유사 서비스 노드를 구성하는 서비스 노드들의 요구 자원들의 합이 상기 동일한 컴퓨팅 노드의 여유 자원보다 작도록 구성될 수 있다.At this time, the sum of the required resources of the service nodes constituting the similar service node may be smaller than the spare resources of the same computing node.

여기에서, 상기 단계(c) 및 단계(d)는 더 이상 유사 서비스 노드가 구성되지 않을 때까지 반복적으로 수행될 수 있다.Here, steps (c) and (d) may be repeatedly performed until no similar service node is constructed.

여기에서, 상기 장치는 가상화 인프라스트럭춰 관리자(VIM: Virtualized Infrastructure Manager)에 포함될 수 있다.Here, the device may be included in a Virtualized Infrastructure Manager (VIM).

상기와 같은 본 발명에 따른 서비스 노드 배치 방법 및 장치를 이용하면, 유사 서비스 노드를 구성하여 컴퓨팅 노드에 서비스 노드를 효율적으로 배치함으로써 가상 머신이 다른 컴퓨팅 노드에 배치된 가상 머신과 통신할 때 발생하는 부하를 경감할 수 있다.Using the method and apparatus for arranging service nodes according to the present invention as described above, it is possible to construct similar service nodes and efficiently arrange service nodes in the computing nodes, so that when a virtual machine communicates with a virtual machine placed in another computing node The load can be reduced.

도 1은 본 발명에 따른 서비스 노드 배치 방법이 적용될 수 있는 서비스 체인의 구성을 예시한 개념도이다.
도 2는 본 발명의 서비스 노드 배치 방법의 일 실시예에 따라 서비스 체인을 구성하는 서비스 노드간 링크들의 링크 비용 개념을 예시한 것이다.
도 3은 본 발명의 서비스 노드 배치 방법의 일 실시예에 따라 서비스 체인을 구성하는 서비스 노드간 링크들에 대해서 산출된 링크 비용들을 예시한 테이블이다.
도 4는 본 발명의 서비스 노드 배치 방법의 일 실시예에 따라 서비스 체인을 구성하는 서비스 노드들이 할당될 수 있는 컴퓨팅 노드들을 예시한 테이블이다.
도 5는 본 발명의 서비스 노드 배치 방법의 일 실시예에 따라 링크 비용에 유사 서비스 노드 구성 개념을 도시한 개념도이다.
도 6은 본 발명의 서비스 노드 배치 방법을 설명하기 위한 순서도이다.
도 7은 본 발명의 서비스 노드 배치 방법의 전체적인 개념도이다.
도 8은 본 발명의 서비스 노드 배치 방법이 NFV 아키텍춰 상에 수행되는 개념을 설명하기 위한 블록도이다.
1 is a conceptual diagram illustrating a configuration of a service chain to which a service node arrangement method according to the present invention can be applied.
FIG. 2 illustrates a link cost concept of inter-service node links constituting a service chain according to an embodiment of the present invention.
FIG. 3 is a table illustrating link costs calculated for links between service nodes constituting a service chain according to an embodiment of the present invention.
4 is a table illustrating exemplary computing nodes to which service nodes configuring a service chain can be allocated according to an exemplary embodiment of the present invention.
FIG. 5 is a conceptual diagram showing a concept of a similar service node in link cost according to an embodiment of the service node arrangement method of the present invention.
FIG. 6 is a flowchart illustrating a method of arranging service nodes according to the present invention.
7 is a general conceptual diagram of a method of arranging service nodes according to the present invention.
FIG. 8 is a block diagram illustrating a concept of a service node arrangement method of the present invention performed on an NFV architecture.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다. While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that the invention is not intended to be limited to the particular embodiments, but includes all modifications, equivalents, and alternatives falling within the spirit and scope of the invention. Like reference numerals are used for like elements in describing each drawing.

제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다. The terms first, second, A, B, etc. may be used to describe various elements, but the elements should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, the first component may be referred to as a second component, and similarly, the second component may also be referred to as a first component. And / or < / RTI > includes any combination of a plurality of related listed items or any of a plurality of related listed items.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. It is to be understood that when an element is referred to as being "connected" or "connected" to another element, it may be directly connected or connected to the other element, . On the other hand, when an element is referred to as being "directly connected" or "directly connected" to another element, it should be understood that there are no other elements in between.

본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used in this application is used only to describe a specific embodiment and is not intended to limit the invention. The singular expressions include plural expressions unless the context clearly dictates otherwise. In the present application, the terms "comprises" or "having" and the like are used to specify that there is a feature, a number, a step, an operation, an element, a component or a combination thereof described in the specification, But do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, or combinations thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Terms such as those defined in commonly used dictionaries are to be interpreted as having a meaning consistent with the contextual meaning of the related art and are to be interpreted as either ideal or overly formal in the sense of the present application Do not.

이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.Hereinafter, preferred embodiments according to the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명에 따른 서비스 노드 배치 방법이 적용될 수 있는 서비스 체인의 구성을 예시한 개념도이다.1 is a conceptual diagram illustrating a configuration of a service chain to which a service node arrangement method according to the present invention can be applied.

도 1은 일반적인 서비스 체이닝 그래프()로서, 서비스 체인(100)을 예시히고 있다. FIG. 1 illustrates a service chain 100 as a general service chaining graph ().

도 1을 참조하면, 서비스 체인(100)은 n개의 서비스 노드(101, 102, 103, 104)로 구성될 수 있다. 이때, 각 서비스 노드는 가상 머신 상에서 서비스 제공을 목적으로 하는 각 단위 기능(예컨대, 서버)을 의미할 수 있다. 즉, 각 서비스 노드는 수신된 패킷에 대해 지정된 처리를 수행하는 기능 블록으로서, 서비스 펑션 체인을 구성하는 서비스 서비스 펑션(SF: Service Function)으로 이해될 수 있다. 예를 들어, 각 서비스 노드는 방화벽(Firewall), IPS(Intrusion Prevention System), DPI(Deep Packet Inspection) 및 NAT(Network Address Translation) 등의 네트워크 기등들 중 적어도 하나를 수행하는 기능 단위일 수 있다. Referring to FIG. 1, a service chain 100 may include n service nodes 101, 102, 103, and 104. At this time, each service node may refer to each unit function (for example, a server) for providing a service on a virtual machine. That is, each service node is a functional block for performing a specified process on a received packet, and can be understood as a service service function (SF: Service Function) constituting a service function chain. For example, each service node may be a functional unit that performs at least one of a network such as a firewall, an Intrusion Prevention System (IPS), a Deep Packet Inspection (DPI), and a Network Address Translation (NAT).

한편, 각 서비스 노드 별로 동작에 필요한 요구 자원이 정의될 수 있다. 예컨대, 요구 자원은 각 서비스 노드별로 동작에 필요한 컴퓨팅 자원(예컨대, CPU 사용량, 필요한 코어(core)의 숫자), 디스크 용량, 및 메모리 용량등의 자원을 의미할 수 있다.On the other hand, a request resource necessary for operation can be defined for each service node. For example, the requested resource may mean resources such as computing resources (e.g., CPU usage, number of cores required), disk capacity, and memory capacity required for each service node.

여컨대, 도 1에서, 서비스 노드(101)의 요구 자원은 r1으로 정의되며, 서비스 노드(102)의 요구 자원은 r2로 정의되며, 서비스 노드(103)의 요구 자원은 r3로 정의되고, 서비스 노드(104)의 요구 자원은 rn으로 정의될 수 있다.1, the request resource of the service node 101 is defined as r1, the request resource of the service node 102 is defined as r2, the request resource of the service node 103 is defined as r3, The request resource of node 104 may be defined as rn.

이하에서, 요구 자원은 하나의 변수(r1, r2, r3, rn)으로 표현하고 있으나, 이는 다양한 자원들을 종합한 대표값을 의미한다. 즉, 실시예에 따라서는, 요구 자원은 둘 이상의 변수로 표현될 수도 있다.Hereinafter, the request resource is represented by one variable (r1, r2, r3, rn), but this represents a representative value which is a combination of various resources. That is, depending on the embodiment, the requested resource may be represented by two or more variables.

또한, 서비스 노드들간의 링크 별로 요구되는 트랜잭션(transaction)의 횟수, 요구 대역폭(bandwidth), 및 중요도(weight) 중 적어도 하나가 정의될 수 있다. 예컨대, 서비스 노드(101)과 서비스 노드(102) 간의 링크에 대해서 요구되는 트랜잭션의 횟수는 t1, 요구 대역폭은 b1, 중요도는 w1로 표현될 수 있다. 유사한 방식으로, 서비스 노드(102)와 서비스 노드(103) 간의 링크에 대해서 트랜잭션의 횟수는 t2, 요구 대역폭은 b2, 중요도는 w2로 표현될 수 있다. 유사한 방식으로, 소정의 서비스 노드와 서비스 노드(104) 간의 링크에 대해서 트랜잭션의 횟수는 ti, 요구 대역폭은 bi, 중요도는 wi로 표현될 수 있다.In addition, at least one of a number of transactions, a required bandwidth, and a weight required for each link between service nodes may be defined. For example, the number of transactions required for the link between the service node 101 and the service node 102 can be expressed as t1, the required bandwidth is b1, and the importance is w1. In a similar manner, the number of transactions for the link between the service node 102 and the service node 103 can be expressed as t2, the required bandwidth is b2, and the importance is w2. In a similar manner, for a link between a given service node and a service node 104, the number of transactions may be expressed as ti, the requested bandwidth may be bi, and the importance may be expressed as wi.

도 2는 본 발명의 서비스 노드 배치 방법의 일 실시예에 따라 서비스 체인을 구성하는 서비스 노드간 링크들의 링크 비용 개념을 예시한 것이다.FIG. 2 illustrates a link cost concept of inter-service node links constituting a service chain according to an embodiment of the present invention.

도 2를 참조하면, 서비스 노드(101)과 서비스 노드(102)간의 링크 비용(link cost)은 cost1으로 표현될 수 있고, 서비스 노드(102)와 서비스 노드(103)간의 링크 비용은 cost2로 표현될 수 있다. 또한, 서비스 노드(104)와 소정의 서비스 노드 간의 링크 비용은 costi로 표현될 수 있다.2, the link cost between the service node 101 and the service node 102 can be expressed as cost 1, and the link cost between the service node 102 and the service node 103 can be expressed as cost 2 . In addition, the link cost between the service node 104 and a predetermined service node can be expressed as costi.

이때, 링크 비용은 앞서 언급된 링크별로 요구되는 트랜잭션 횟수, 요구 대역폭, 및 중요도 중 적어도 하나에 기초한 비용 함수(cost function)에 의해서 산출될 수 있다. 예컨대, 상기 트랜잭션 횟수, 요구 대역폭, 및 중요도 중 적어도 둘 이상의 값에 각각의 가중치(또는, 스케일 값)를 곱한 다음 합산한 값이나, 미리 정의된 비용함수를 적용한 값이 링크 비용으로 이용될 수 있다. 본 발명의 다양한 실시예에서, 상기 링크 비용을 산출하는데 이용하는 비용함수는 특정한 함수에 한정되지 않는다At this time, the link cost can be calculated by a cost function based on at least one of the number of transactions, the required bandwidth, and the importance required for each of the links mentioned above. For example, a value obtained by multiplying at least two values among the transaction times, the required bandwidths, and the importance values by multiplying the respective weights (or the scale values), and then adding the values, or a value obtained by applying a predefined cost function, . In various embodiments of the present invention, the cost function used to calculate the link cost is not limited to a particular function

예컨대, 본 발명의 일 실시예에서 사용되는 링크 비용을 계산하기 위한 비용함수의 일예는 하기 수학식 1과 같이 정의될 수 있다.For example, an example of a cost function for calculating a link cost used in an embodiment of the present invention can be defined as Equation 1 below.

[수학식 1][Equation 1]

Figure pat00001
Figure pat00001

상기 수학식 1에서 Ci는 링크 i에 대한 링크 비용을 의미하며, wi와 bi는 각각 링크 i의 중요도와 대역폭을 의미한다. In Equation (1), Ci represents the link cost for link i, and wi and bi denote the importance and bandwidth of link i, respectively.

한편, 트랜잭션의 경우는 링크마다 그 편차를 고려해야 하고, 해당 서비스의 전반적인 성능에 교환하는 트랜젝션 마다 중요도가 다를 수 있다. 따라서, ti는 정규화(normalization)가 적용된 nti로 변환되어 상기 수학식1에 적용될 수 있다. 정규화는 하기 수학식 2에 의해서 표현될 수 있다.On the other hand, in the case of a transaction, the deviation must be considered for each link, and the overall performance of the service may be different for each transaction to be exchanged. Therefore, ti can be transformed into nti to which the normalization is applied and applied to Equation (1). The normalization can be expressed by the following equation (2).

[수학식 2]&Quot; (2) "

Figure pat00002
Figure pat00002

즉, 서비스 노드(101)와 서비스 노드(102) 간의 링크 비용(cost1)은 앞서 설명된 t1, b1, 및 w1 중 적어도 하나의 값에 기초한 비용함수에 의해서 산출될 수 있고, 서비스 노드(102)와 서비스 노드(103) 간의 링크 비용(cost2)은 앞서 설명된 t2, b2, 및 w2 중 적어도 하나의 값에 기초한 비용함수에 의해서 산출될 수 있으며, 소정의 서비스 노드와 서비스 노드(104) 간의 링크 비용(costi)은 앞서 설명된 ti, bi, 및 wi 중 적어도 하나의 값에 기초한 비용함수에 의해서 산출될 수 있다.That is, the link cost cost1 between the service node 101 and the service node 102 can be calculated by a cost function based on at least one of t1, b1, and w1 described above, The link cost cost2 between the service node 103 and the service node 103 can be calculated by a cost function based on the value of at least one of t2, The costi can be calculated by a cost function based on at least one of ti, bi, and wi described above.

이때, 사용되는 비용함수의 정의에 따라서 달라질 수 있겠으나, 일반적으로 링크 비용이 높은 링크는 링크 비용이 낮은 링크보다 더 많은 트랜잭션을 처리하거나, 더 큰 대역폭을 요구하거나, 더 중요도가 높은 링크일 수 있다.In this case, the link cost may be changed depending on the definition of the cost function used. However, a link with a high link cost may process more transactions than a link cost with a low link cost, require a larger bandwidth, have.

도 3은 본 발명의 서비스 노드 배치 방법의 일 실시예에 따라 서비스 체인을 구성하는 서비스 노드간 링크들에 대해서 산출된 링크 비용들을 예시한 테이블이다.FIG. 3 is a table illustrating link costs calculated for links between service nodes constituting a service chain according to an embodiment of the present invention.

도 3에 예시된 테이블은 도 1및 도 2에서 예시된 서비스 체인을 구성하는 서비스 노드들 및 링크들에 대해서 작성된 테이블이다.The table illustrated in FIG. 3 is a table created for service nodes and links constituting the service chain illustrated in FIG. 1 and FIG.

도 3에 도시된 테이블에서, 제1컬럼(301)은 산출된 링크 비용들을 표현하고 있고, 제2컬럼(302)에는 각 링크를 구성하는 서비스 노드 쌍이 표현되어 있고, 제3컬럼(303)에는 각 링크의 요구 트랜잭션 횟수, 제4컬럼(304)에는 각 링크의 요구 대역폭, 제5컬럼(305)에는 각 링크의 중요도, 제6컬럼(306)에는 각 링크를 구성하는 서비스 노드 쌍의 요구 자원에 대한 정보가 기재되어 있다.In the table shown in Fig. 3, the first column 301 represents the calculated link costs, the second column 302 represents the service node pair constituting each link, and the third column 303 represents The request bandwidth of each link in the fourth column 304, the importance of each link in the fifth column 305, the request resource of the service node pair constituting each link in the sixth column 306, Is described.

이때, 높은 링크 비용을 가지는 링크 순으로 상기 링크들은 정렬될 수 있다. 예컨대, 도 3에서 예시된 테이블에서는 cost1, cost2, …, costi의 순으로 높은 링크 비용을 가지는 것으로 예시되어 있다.At this time, the links can be arranged in order of links having a high link cost. For example, in the table illustrated in FIG. 3, cost 1, cost 2, ... , and costi are shown as having high link costs in that order.

즉, 서비스 노드(101)와 서비스 노드(102) 간의 링크는 서비스 노드(102)와 서비스 노드(103) 간의 링크보다 높은 링크 비용을 가지며(즉, cost1>cost2), 서비스 노드(102)와 서비스 노드(103) 간의 링크는 소정의 서비스 노드와 서비스 노드(104)의 링크보다 높은 링크 비용을 가짐(즉, cost2>costi)을 의미한다.That is, the link between the service node 101 and the service node 102 has a higher link cost (i.e., cost 1> cost 2) than the link between the service node 102 and the service node 103, Nodes 103 have a higher link cost (i. E., Cost 2 > costi) than links of a given service node and service node 104.

도 4는 본 발명의 서비스 노드 배치 방법의 일 실시예에 따라 서비스 체인을 구성하는 서비스 노드들이 할당될 수 있는 컴퓨팅 노드들을 예시한 테이블이다.4 is a table illustrating exemplary computing nodes to which service nodes configuring a service chain can be allocated according to an exemplary embodiment of the present invention.

먼저, 컴퓨팅 노드(computing node)는 가상머신이 배치되는 물리적인 노드로서, 전체 자원을 관리하여 각 가상머신에 분배하고 가상머신을 관리하는 노드이다. 즉, 본 발명에 따른 서비스 체인 상의 서비스 노드들은 가상 머신 상에 동작하는 서버(server) 인스턴스(instance)로 구성될 수 있으므로, 각 서비스 노드들은 컴퓨팅 노드에 할당되어 생성될 수 있다. 이때, 하나의 컴퓨팅 노드에는 적어도 하나의 서비스 노드가 배치될 수 있다.First, a computing node is a physical node in which a virtual machine is disposed, which manages all resources, distributes the resource to each virtual machine, and manages a virtual machine. That is, since the service nodes on the service chain according to the present invention can be configured as instances of a server operating on a virtual machine, each service node can be created and assigned to a computing node. At this time, at least one service node may be disposed in one computing node.

도 4예서 예시된 테이블에서, 제1컬럼(401)는 컴퓨팅 노드 풀(computing node pool)을 구성하는 컴퓨팅 노드들의 번호를 지정한다. 예컨대, 도 4에서는 j개의 컴퓨팅 노드가 존재하는 것을 예시하고 있다. In the example illustrated in FIG. 4, the first column 401 specifies the number of computing nodes that make up the computing node pool. For example, FIG. 4 illustrates that there are j computing nodes.

제2컬럼(402)는 각 컴퓨팅 노드가 보유한 전체 자원(total resource)을 표현하고 있다. 여기에서 자원은 앞서 설명된 서비스 노드의 요구 자원과 마찬가지로, 각 컴퓨팅 노드가 제공할 수 있는 컴퓨팅 자원(예컨대, CPU 사용량, 필요한 코어(core)의 숫자), 디스크 용량, 및 메모리 용량등의 자원을 의미할 수 있다. 예컨대, 제1컴퓨팅 노드(computing node#1)은 전체 자원 Rt1을 보유하고 있고, 제2컴퓨팅 노드(computing node#2)는 전제 자원 Rt2를 보유하고 있으며, 제j컴퓨팅 노드(computing node#j)는 전체 자원Rtj을 보유하고 있다.The second column 402 represents the total resources possessed by each computing node. Here, as with the requesting resources of the service node described above, the resources include resources such as computing resources (e.g., CPU usage, number of required cores), disk capacity, and memory capacity that each computing node can provide It can mean. For example, the first computing node # 1 has the entire resource Rt1, the second computing node # 2 has the prerequisite resource Rt2, and the computing node # Has a total resource Rtj.

제3컬럼(403)는 각 컴퓨팅 노드가 이미 사용하고 있는 자원(할당 자원; assigned resource)을 표현하고 있다. 예컨대, 제1컴퓨팅 노드는 Ra1만큼의 자원을 이미 할당하고 있고, 제2컴퓨팅 노드는 Ra2만큼의 자원을 이미 할당하고 있고, 제j컴퓨팅 노드는 Raj만큼의 자원을 이미 할당하고 있다.The third column 403 represents resources (allocated resources) already used by each computing node. For example, the first computing node has already allocated as many resources as Ra1, the second computing node has already allocated as many resources as Ra2, and the jth computing node has already allocated as many resources as Raj.

제4컬럼(404)은 각 컴퓨팅 노드의 잔여 자원(remaining resource)을 표현하고 있다. 예컨대, 제1컴퓨팅노드는 R1만큼의 잔여 자원을 보유하고 있고, 제2컴퓨팅노드는 R2만큼의 잔여 자원을 보유하고 있고, 제j컴퓨팅노드는 Rj만큼의 잔여 자원을 보유하고 있다.The fourth column 404 represents the remaining resources of each computing node. For example, the first computing node holds the remaining resources as R1, the second computing node holds the remaining resources as R2, and the j computing node holds the remaining resources as Rj.

따라서, 제2컬럼(402)의 전체자원, 제3컬럼(403)의 할당자원, 및 제4컬럼(404)의 잔여자원은 잔여자원=전체자원-할당자원의 관계를 가지게 된다.Thus, the entire resources of the second column 402, the allocated resources of the third column 403, and the remaining resources of the fourth column 404 have a relationship of remaining resources = total resource-allocated resources.

앞서 언급된 것과 같이, 전체자원/할당자원/잔여자원이 모두 하나의 변수(rt1, ra1, R1, …)으로 표현되어 있으나, 이는 다양한 자원들을 종합한 대표값을 의미한다. 즉, 실시예에 따라서는, 전체자원/할당자원/잔여자원은 둘 이상의 변수로 표현될 수도 있다.As mentioned above, all of the resources / allocated resources / remaining resources are all represented by one variable (rt1, ra1, R1, ...), which represents a representative value of various resources. That is, depending on the embodiment, the entire resource / allocated resource / remaining resource may be represented by two or more variables.

본 발명의 절차는 구성된 서비스 체인닝에서 각 노드간에 서비스를 위한 트랜잭션 횟수, 요구되는 네트워크 대역폭, 중요도 등을 이용하여 링크 비용을 계산하는 단계; 계산된 링크 비용 중 가장 높은 값을 가지는 링크를 구성하는 두 서비스 노드의 자원을 계산하여 컴퓨팅 노드 중에 남은 자원(Remaining Resource)이 수용 가능한 후보 컴퓨팅 노드를 찾는 단계; 두 서비스 노드를 배치하고 해당 컴퓨팅 노드의 잔여 자원을 갱신하는 단계; 배치된 두 서비스 노드를 하나의 유사 서비스 노드로하여 서비스 체인을 재 구성하여 유사 서비스 체인을 구성하는 단계로 구성된다. 이러한 일련의 동작을 반복하여 하나의 서비스 노드 혹은 더 이상 컴퓨팅 노드에 유사 서비스 노드가 배치가 불가능할 때까지 상기 단계들이 반복적으로 수행된다.The procedure of the present invention includes calculating a link cost by using a number of transactions, a required network bandwidth, a priority, and the like for each service between nodes in a configured service chaining; Calculating resources of the two service nodes constituting the link having the highest value of the calculated link cost, and searching for a candidate computing node that can be accommodated by a remaining resource among the computing nodes; Arranging two service nodes and updating the remaining resources of the corresponding computing node; And configuring a similar service chain by reconfiguring the service chain with two disposed service nodes as one similar service node. Such a series of operations is repeated so that the steps are repeatedly performed until a service node or a similar service node is no longer able to deploy to the computing node.

상술된 본 발명에 따른 일 실시예는 이하에서 도 6과 도 7을 병행 참조하여 설명된다.An embodiment according to the present invention described above will be described below with reference to FIG. 6 and FIG.

도 6은 본 발명의 서비스 노드 배치 방법을 설명하기 위한 순서도이며, 도 7은 본 발명의 서비스 노드 배치 방법의 전체적인 개념도이다.FIG. 6 is a flowchart for explaining a service node arrangement method of the present invention, and FIG. 7 is a conceptual diagram of a service node arrangement method of the present invention.

먼저, 본 발명에 따른 서비스 노드 배치 방법에서는 먼저 서비스 체인을 구성하는 각 서비스 노드의 요구 자원이 파악된다(S610). First, in the service node arrangement method according to the present invention, the requested resources of each service node constituting the service chain are grasped (S610).

예컨대, 도 7에서 예시된 서비스 체인(710)은 네개의 서비스 노드(SN1, SN2, SN3, SN4)로 구성되며, 각 서비스 노드의 요구자원은 r1, r2, r3, r4로 표현될 수 있다. 또한, 각 서비스 노드들 간의 링크에 대한 요구 트랜잭션 횟수, 요구 대역폭, 중요도가 정의될 수 있다. 예컨대, 서비스 노드(SN1)와 서비스노드(SN2)간의 링크는 요구 트랜잭션 횟수 t1, 요구 대역폭 b1, 중요도 w1로 정의될 수 있고, 서비스 노드(SN2)와 서비스노드(SN3)간의 링크는 요구 트랜잭션 횟수 t2, 요구 대역폭 b2, 중요도 w2로 정의될 수 있으며, 서비스 노드(SN3)와 서비스노드(SN4)간의 링크는 요구 트랜잭션 횟수 t3, 요구 대역폭 b3, 중요도 w3로 정의될 수 있다.For example, the service chain 710 illustrated in FIG. 7 comprises four service nodes SN 1 , SN 2 , SN 3 , and SN 4 , and the request resources of each service node are r 1 , r 2 , r 3 , r 4 < / RTI > In addition, the number of required transactions, the required bandwidth, and the importance of the links between the respective service nodes can be defined. For example, a link between a service node SN 1 and a service node SN 2 may be defined as a number of request transactions t 1, a request bandwidth b 1, an importance w 1 , a link between a service node SN 2 and a service node SN 3 may be defined as a request transaction number t2, required bandwidth, b2, importance w2, the link between the service node (SN 3) and the service node (SN 4) may be defined as a request transaction count t3, required bandwidth b3, importance w3 .

다음으로, 각 서비스 노드별 링크의 링크 비용이 산출될 수 있다(S620).Next, the link cost of the link for each service node can be calculated (S620).

예컨대, 도 7에서 서비스 노드(SN1)와 서비스 노드(SN2) 간의 링크 비용은 cost1, 서비스 노드(SN2)와 서비스 노드(SN3) 간의 링크 비용은 cost2로 정의될 수 있다. 또한, 산출된 링크 비용은 그 값에 따라 정렬될 수 있다.For example, in FIG. 7, the link cost between the service node SN 1 and the service node SN 2 may be defined as cost 1 , and the link cost between the service node SN 2 and the service node SN 3 may be defined as cost 2. Also, the calculated link cost can be sorted according to its value.

다음으로, 활용 가능한 컴퓨팅 노드들의 잔여 자원이 파악될 수 있다(S630).Next, the remaining resources of the available computing nodes may be grasped (S630).

예컨대, 도 7에서는, 5개의 컴퓨팅 노드(CN1, CN2, CN3, CN4, CN5)가 컴퓨팅 노드 풀(computing node pool)을 형성하는 경우를 예시하고 있으며(740), 각 컴퓨팅 노드의 잔여 자원은 ar1, ar2, ar3, ar4, 및 ar5로 표현될 수 있다.7 illustrates a case where five computing nodes CN 1 , CN 2 , CN 3 , CN 4 and CN 5 form a computing node pool 740, the remaining resources can be expressed as 1 ar, ar 2, 3 ar, ar 4, and 5 ar.

따라서, 5개의 컴퓨팅 노드들 중 유사 서비스 노드(750)의 요구 자원 이상의 잔여자원을 가진 컴퓨팅 노드들(CN2, CN3, CN5)이 후보 컴퓨팅 노드들(AN1, AN2, AN3)로 선택될 수 있다(730).Therefore, the computing nodes (CN 2 , CN 3 , CN 5 ) having the remaining resources larger than the requested resources of the similar service node 750 among the five computing nodes are selected as the candidate computing nodes AN 1 , AN 2 , AN 3 , (730).

다음으로, 상기 서비스 노드들의 요구 자원, 상기 링크별 비용, 및 상기 적어도 하나의 후보 컴퓨팅 노드의 잔여 자원에 기초하여, 상기 서비스 노드들을 그룹핑하여 유사 서비스 노드(예컨대, 750)를 구성한다(S640).Next, a similar service node (e.g., 750) is configured by grouping the service nodes based on the requested resources of the service nodes, the cost per link, and the remaining resources of the at least one candidate computing node (S640) .

서비스 노드들(SN1, SN2, SN3)의 요구자원의 합(r1+r2+r3)은 후술될 후보 컴퓨팅 노드들 중 하나의 컴퓨팅 노드의 잔여 자원보다 작기 때문에 하나의 유사 서비스 노드(750)로 그룹핑될 수 있다.Service nodes (SN 1, SN 2, SN 3) the sum (r1 + r2 + r3) is a similar service node is smaller than the remaining resources of the one of which will be described later, the candidate compute nodes compute nodes (750 of required resources of ). ≪ / RTI >

이 과정에 있어서, 도 3과 도 4에서 예시된, 링크별로 링크 비용을 산출하여 정렬되는 링크 비용 테이블과 컴퓨팅 노드의 잔여 자원 테이블이 생성되고 참조될 수 있다.In this process, the link cost table that is calculated by calculating the link cost for each link illustrated in FIG. 3 and FIG. 4 and the remaining resource table of the computing node can be generated and referenced.

하나의 유사 서비스 노드를 형성하는 서비스 노드들(SN1, SN2, SN3)은 동일한 컴퓨팅 노드(CN2)에 할당될 수 있다(S650). 즉, 서비스 노드(SN1)의 요구 자원 r1, 서비스 노드(SN2)의 요구 자원 r2, 서비스 노드(SN3)의 요구 자원 r3의 합(r1+r2+r3)은 컴퓨팅 노드(CN2)의 잔여 자원(ar2)보다 작기 때문에 컴퓨팅 노드(CN2)에 배치될 수 있다.The service nodes SN 1 , SN 2 , SN 3 forming one similar service node may be allocated to the same computing node CN 2 (S 650). That is, the service node (SN 1) of the requested resource r1, the service node (SN 2) of the requested resource r2, the service node (SN 3) (r1 + r2 + r3) the sum of the requested resource r3 of the computing nodes (CN 2) Lt; / RTI > is less than the remaining resources (ar 2 ) of the computing node (CN 2 ).

이때, 잔여자원이 유사 서비스 노드의 요구 자원(r1+r2+r3)보다 큰 후보 컴퓨팅 노드가 여러 개 존재하는 경우에는(예컨대, AN1, AN2, AN3), 컴퓨팅 노드들의 로드 밸런싱(load balancing)을 위해서 가장 많은 잔여자원을 가진 컴퓨팅 노드에 할당될 수 있다. 그러나, 미리 정해진 정책에 따라서는, 유사 서비스 노드를 할당한 이후의 잔여 자원이 가장 작아지는 컴퓨팅 노드(즉, 잔여자원과 유사 서비스 노드의 요구자원(r1+r2+r3)의 차이가 가장 작은 컴퓨팅 노드)에 유사 서비스 노드를 할당하거나(예컨대, 전력 소모 절감), 컴퓨팅 노드에 할당된 우선순위(priority)에 따라서 유사 서비스 노드를 할당할 수도 있다.In this case, when there are a plurality of candidate computing nodes (for example, AN 1 , AN 2 , AN 3 ) in which the remaining resources are larger than the required resources (r 1 + r 2 + r 3) of the similar service node, load balancing balancing can be assigned to the computing node with the most remaining resources. However, depending on the predetermined policy, it is possible that the difference between the remaining resources and the requested resources (r1 + r2 + r3) of the like service node is the smallest (E.g., reduce power consumption), or assign similar service nodes according to the priority assigned to the computing nodes.

한편, 유사 서비스 노드가 하나로 구성될 때까지 혹은 더 이상 남은 자원에 할당이 불가능하여 유사 서비스 노드가 구성할 수 없을 때까지 상기 단계(S630) 내지 단계(S650)는 반복적으로 수행된다.Meanwhile, the steps (S630) to (S650) are repeatedly performed until the similar service node is configured as one, or until the similar service node can not be configured because it can not be allocated to the remaining resources any more.

도 8은 본 발명의 서비스 노드 배치 방법이 NFV 아키텍춰 상에 수행되는 개념을 설명하기 위한 블록도이다.FIG. 8 is a block diagram illustrating a concept of a service node arrangement method of the present invention performed on an NFV architecture.

도 8을 참조하면, 일반적인 NFV 아키텍춰는 OSS/BSS(810), 가상화 네트워크 기능(VNF: Virtualized Network Function; 820), 및 네트워크 기능 가상화 인프라스트럭춰(NFVI: Network Function Virtualization Infrastructure; 840)을 포함하여 구성될 수 있다. 여기에서, OSS(Operations Support System)과 BSS(Business Support System)은 사업자의 망 운영과 고객 서비스의 제공 및 유지를 지원하기 위한 시스템이며, BSS(Business Support System)는 고객에 대한 과금(billing), 고객 관계 관리(CRM: Customer Relationship Management), 콜 센터 업무 자동화 등을 지원하는 시스템을 의미한다.8, a typical NFV architecture includes an OSS / BSS 810, a Virtualized Network Function (VNF) 820, and a Network Function Virtualization Infrastructure (NFVI) 840 . In this case, the Operations Support System (OSS) and the Business Support System (BSS) are systems to support the provider network operation and the provision and maintenance of the customer service. The BSS (Business Support System) Customer relationship management (CRM), and call center business automation.

VNF(820) 상에는 적어도 하나의 VNF 인스턴스들(821, 822)이 존재할 수 있다. NVFI(840) 상에는 실제 물리적 하드웨어(845, 846, 847), 실제 물리적 하드웨어 자원들을 가상화하는 가상화 계층(844), 및 가상화 계층(844)에 의해서 가상화된 가상화 자원(841, 842, 843)이 존재할 수 있다. There may be at least one VNF instance 821, 822 on the VNF 820. There are virtualization resources 841, 842, and 843 virtualized by the virtualization layer 844 and the virtualization layer 844 that virtualizes the actual physical hardware resources 845, 846, and 847 on the NVFI 840 .

또한, NFV 아키텍춰 상에는 상기 구성 요소들을 관리하고 조정하기 위한 NFV 관리 및 조정(Management and Orchestration) 구성요소(MANO; 900)이 존재할 수 있다. There may also be an NFV Management and Orchestration component (MANO) 900 on the NFV architecture for managing and coordinating the components.

MANO(900) 내에는 전체적인 동작을 조정하는 조정자(Orchestrator; 910), VNF(820)를 관리하는 가상화 네트워크 기능 관리자(VNFM: VNF manager; 920), 및 NFVI(840)를 관리하는 가상화 인프라스트럭춰 관리자(VIM: Virtualized Infrastructure Manager; 930)가 존재할 수 있다.MANO 900 includes an orchestrator 910 for adjusting the overall operation, a virtual network function manager (VNFM) 920 for managing the VNF 820, and a virtualization infrastructure server A virtualized infrastructure manager (VIM) 930 may exist.

여기에서, 본 발명의 서비스 노드 배치 방법은, 상기 NFV 아키텍춰 상에서, 상기 가상화 인프라스트럭춰 관리자(930)에 의해서 수행될 수 있다. 즉, VIM(930)은 오케스트레이터(Orchestrator; 910) 또는 소정의 명세(850)로부터 서비스 체인에 대한 정보와 서비스 체인을 구성하는 서비스 노드들의 요구 자원들을 파악하고, NFVI(840) 상에 존재하는 컴퓨팅 노드들의 잔여 자원을 확인하게 된다. Here, the service node placement method of the present invention can be performed by the virtualization infrastructure administrator 930 on the NFV architecture. That is, the VIM 930 obtains information on the service chain from the orchestrator 910 or a predetermined specification 850 and the requested resources of the service nodes constituting the service chain, The remaining resources of the computing nodes are checked.

따라서, 본 발명에 따른 VIM(930)은 본 발명의 서비스 노드 배치 방법을 실행하기 위한 프로그램 코드, 상기 프로그램 코드가 저장된 메모리 장치, 및 상기 프로그램 코드를 실행하기 위한 적어도 하나의 프로세서를 포함하여 구성될 수 있다. 또한, 본 발명의 서비스 노드 배치 방법은 상기 VIM에 포함된 적어도 하는 기능 블록 또는 모듈에 의해서 수행될 수도 있다.Accordingly, the VIM 930 according to the present invention comprises program code for executing the service node arrangement method of the present invention, a memory device in which the program code is stored, and at least one processor for executing the program code . In addition, the service node arrangement method of the present invention may be performed by at least the functional blocks or modules included in the VIM.

상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.It will be apparent to those skilled in the art that various modifications and variations can be made in the present invention without departing from the spirit or scope of the present invention as defined by the following claims It can be understood that

710: 서비스 체인, 720: 유사 서비스 체인
730: 후보 컴퓨팅 노드 740: 컴퓨팅 노드 풀
750: 유사 서비스 노드
SN1, SN2, SN3, SN4: 서비스 노드
AN1, AN2, AN3: 후보 컴퓨팅 노드
CN1, CN2, CN3, CN4, CN5: 컴퓨팅 노드
710: service chain, 720: similar service chain
730: candidate computing node 740: computing node pool
750: Pseudo-Service Node
SN 1 , SN 2 , SN 3 , SN 4 : Service node
AN 1 , AN 2 , AN 3 : Candidate Computing Node
CN 1 , CN 2 , CN 3 , CN 4 , CN 5 : computing node

Claims (17)

서비스 펑션 체이닝에 있어서, 서비스 체인을 구성하는 서비스 노드들의 배치 방법으로서,
상기 서비스 체인을 구성하는 서비스 노드들의 요구 자원들을 파악하는 단계(a);
상기 서비스 체인을 구성하는 서비스 노드들 간의 링크 별 링크 비용을 산출하고, 상기 산출된 링크 비용에 따라 서비스 노드들 간의 링크를 정렬하는 단계(b);
적어도 하나의 컴퓨팅 노드의 잔여 자원을 확인하는 단계(c); 및
상기 서비스 노드들의 요구 자원, 상기 링크별 비용, 및 상기 적어도 하나의 컴퓨팅 노드의 잔여 자원에 기초하여, 상기 서비스 노드들을 그룹핑하여 유사(pseudo) 서비스 노드를 구성하고, 상기 유사 서비스 노드를 상기 적어도 하나의 컴퓨팅 노드 중 하나의 컴퓨팅 노드에 할당하는 단계(d)를 포함하는,
서비스 노드들의 배치 방법.
A method for arranging service nodes constituting a service chain in service function chaining,
(A) identifying requested resources of service nodes constituting the service chain;
(B) calculating a link cost per link between service nodes constituting the service chain, and arranging a link between the service nodes according to the calculated link cost;
Identifying (c) the remaining resources of at least one computing node; And
Grouping the service nodes based on the requesting resources of the service nodes, the cost per link, and the remaining resources of the at least one computing node to construct a pseudo service node, (D) assigning to one of the computing nodes of the plurality of computing nodes,
A method of arranging service nodes.
청구항 1에 있어서,
상기 서비스 노드들의 요구 자원은 각 서비스 노드의 동작에 필요한 컴퓨팅 자원, 디스크 용량, 및 메모리 용량 중 적어도 하나를 포함하는,
서비스 노드들의 배치 방법.
The method according to claim 1,
Wherein the requesting resources of the service nodes include at least one of a computing resource, a disk capacity, and a memory capacity required for operation of each service node.
A method of arranging service nodes.
청구항 1에 있어서,
상기 링크 비용은 상기 서비스 노드들 간의 링크 간의 요구 트랜잭션 횟수, 요구 대역폭, 및 중요도 중 적어도 하나에 기초하여 산출되는,
서비스 노드들의 배치 방법.
The method according to claim 1,
Wherein the link cost is calculated based on at least one of a number of requested transactions, a requested bandwidth, and an importance level between links between the service nodes,
A method of arranging service nodes.
청구항 3에 있어서,
상기 링크 비용은 상기 서비스 노드들 간의 링크 간의 요구 트랜잭션 횟수, 요구 대역폭, 및 중요도 중 적어도 하나에 기초한 비용함수(cost function)를 이용하여 산출되는,
서비스 노드들의 배치 방법.
The method of claim 3,
Wherein the link cost is calculated using a cost function based on at least one of a number of required transactions, a requested bandwidth, and an importance level between links between the service nodes,
A method of arranging service nodes.
청구항 1에 있어서,
상기 할당하는 단계에서, 상기 링크 비용의 순서대로 정렬된 링크들 중 높은 링크 비용을 가지는 링크부터, 해당 링크를 구성하는 서비스 노드들이 동일한 컴퓨팅 노드에 할당되어 상기 유사 서비스 노드를 구성하는,
서비스 노드들의 배치 방법.
The method according to claim 1,
Wherein the service nodes constituting the link are allocated to the same computing node from the link having the highest link cost among the links arranged in the order of the link cost,
A method of arranging service nodes.
청구항 5에 있어서,
상기 할당하는 단계에서, 상기 유사 서비스 노드를 구성하는 서비스 노드들의 요구 자원들의 합이 상기 동일한 컴퓨팅 노드의 여유 자원보다 작은,
서비스 노드들의 배치 방법.
The method of claim 5,
The method of claim 1, wherein, in the allocating step, a sum of demand resources of service nodes constituting the similar service node is smaller than a spare resource of the same computing node,
A method of arranging service nodes.
청구항 1에 있어서,
상기 서비스 노드는 가상 머신(virtual machine) 기반으로 동작되는,
서비스 노드들의 배치 방법.
The method according to claim 1,
The service node is operated based on a virtual machine,
A method of arranging service nodes.
청구항 1에 있어서,
상기 단계(c) 및 단계(d)는 더 이상 유사 서비스 노드가 구성되지 않을 때까지 반복적으로 수행되는,
서비스 노드들의 배치 방법.
The method according to claim 1,
Wherein steps (c) and (d) are repeatedly performed until no similar service node is configured,
A method of arranging service nodes.
네트워크 기능 가상화(NFV: Network Function Virtualization) 기반의 서비스 펑션 체이닝에 있어서, 프로그램 코드를 적재한 메모리 장치와 상기 프로그램 코드를 실행하는 적어도 하나의 프로세서를 포함하고, 서비스 체인을 구성하는 서비스 노드들의 배치를 수행하는 장치로서, 상기 프로그램 코드는,
오케스트레이터(Orchestrator) 또는 소정의 명세(description)로부터 상기 서비스 체인을 구성하는 서비스 노드들의 요구 자원들을 파악하는 단계(a);
상기 서비스 체인을 구성하는 서비스 노드들 간의 링크 별 링크 비용을 산출하고, 상기 산출된 링크 비용에 따라 서비스 노드들 간의 링크를 정렬하는 단계(b);
네트워크 기능 가상화 인프라스트럭춰(NFVI: Network Function Virtualization Infrastructure) 상에 존재하는, 적어도 하나의 컴퓨팅 노드의 잔여 자원을 확인하는 단계(c); 및
상기 서비스 노드들의 요구 자원, 상기 링크별 비용, 및 상기 적어도 하나의 컴퓨팅 노드의 잔여 자원에 기초하여, 상기 서비스 노드들을 그룹핑하여 유사(pseudo) 서비스 노드를 구성하고, 상기 유사 서비스 노드를 상기 적어도 하나의 컴퓨팅 노드 중 하나의 컴퓨팅 노드에 할당하는 단계(d)를 포함하는,
서비스 노드 배치 장치.
A service function chaining based on network function virtualization (NFV), comprising: a memory device in which a program code is loaded; and at least one processor for executing the program code, wherein the arrangement of service nodes constituting the service chain The program code comprising:
(A) identifying requested resources of service nodes constituting the service chain from an orchestrator or a predetermined specification;
(B) calculating a link cost per link between service nodes constituting the service chain, and arranging a link between the service nodes according to the calculated link cost;
(C) identifying the remaining resources of at least one computing node present on a Network Function Virtualization Infrastructure (NFVI); And
Grouping the service nodes based on the requesting resources of the service nodes, the cost per link, and the remaining resources of the at least one computing node to construct a pseudo service node, (D) assigning to one of the computing nodes of the plurality of computing nodes,
Service Node Placement Device.
청구항 9에 있어서,
상기 서비스 노드들의 요구 자원은 각 서비스 노드의 동작에 필요한 컴퓨팅 자원, 디스크 용량, 및 메모리 용량 중 적어도 하나를 포함하는,
서비스 노드 배치 장치.
The method of claim 9,
Wherein the requesting resources of the service nodes include at least one of a computing resource, a disk capacity, and a memory capacity required for operation of each service node.
Service Node Placement Device.
청구항 9에 있어서,
상기 링크 비용은 상기 서비스 노드들 간의 링크 간의 요구 트랜잭션 횟수, 요구 대역폭, 및 중요도 중 적어도 하나에 기초하여 산출되는,
서비스 노드 배치 장치.
The method of claim 9,
Wherein the link cost is calculated based on at least one of a number of requested transactions, a requested bandwidth, and an importance level between links between the service nodes,
Service Node Placement Device.
청구항 11에 있어서,
상기 링크 비용은 상기 서비스 노드들 간의 링크 간의 요구 트랜잭션 횟수, 요구 대역폭, 및 중요도 중 적어도 하나에 기초한 비용함수(cost function)를 이용하여 산출되는,
서비스 노드 배치 장치.
The method of claim 11,
Wherein the link cost is calculated using a cost function based on at least one of a number of required transactions, a requested bandwidth, and an importance level between links between the service nodes,
Service Node Placement Device.
청구항 9에 있어서,
상기 할당하는 단계에서, 상기 링크 비용의 순서대로 정렬된 링크들 중 높은 링크 비용을 가지는 링크부터, 해당 링크를 구성하는 서비스 노드들이 동일한 컴퓨팅 노드에 할당되어 상기 유사 서비스 노드를 구성하는,
서비스 노드 배치 장치.
The method of claim 9,
Wherein the service nodes constituting the link are allocated to the same computing node from the link having the highest link cost among the links arranged in the order of the link cost,
Service Node Placement Device.
청구항 13에 있어서,
상기 할당하는 단계에서, 상기 유사 서비스 노드를 구성하는 서비스 노드들의 요구 자원들의 합이 상기 동일한 컴퓨팅 노드의 여유 자원보다 작은,
서비스 노드 배치 장치.
14. The method of claim 13,
The method of claim 1, wherein, in the allocating step, a sum of demand resources of service nodes constituting the similar service node is smaller than a spare resource of the same computing node,
Service Node Placement Device.
청구항 9에 있어서,
상기 서비스 노드는 가상 머신(virtual machine) 기반으로 동작되는,
서비스 노드 배치 장치.
The method of claim 9,
The service node is operated based on a virtual machine,
Service Node Placement Device.
청구항 9에 있어서,
상기 단계(c) 및 단계(d)는 더 이상 유사 서비스 노드가 구성되지 않을 때까지 반복적으로 수행되는,
서비스 노드 배치 장치.
The method of claim 9,
Wherein steps (c) and (d) are repeatedly performed until no similar service node is configured,
Service Node Placement Device.
청구항 9에 있어서,
상기 장치는 가상화 인프라스트럭춰 관리자(VIM: Virtualized Infrastructure Manager)에 포함되는,
서비스 노드 배치 장치.
The method of claim 9,
The device may be a virtualized infrastructure manager (VIM)
Service Node Placement Device.
KR1020160150093A 2016-11-11 2016-11-11 virtual machine placement method in a virtual machine based service function chaining KR102216746B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160150093A KR102216746B1 (en) 2016-11-11 2016-11-11 virtual machine placement method in a virtual machine based service function chaining

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160150093A KR102216746B1 (en) 2016-11-11 2016-11-11 virtual machine placement method in a virtual machine based service function chaining

Publications (2)

Publication Number Publication Date
KR20180052927A true KR20180052927A (en) 2018-05-21
KR102216746B1 KR102216746B1 (en) 2021-02-17

Family

ID=62453412

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160150093A KR102216746B1 (en) 2016-11-11 2016-11-11 virtual machine placement method in a virtual machine based service function chaining

Country Status (1)

Country Link
KR (1) KR102216746B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180107844A (en) * 2017-03-23 2018-10-04 경희대학교 산학협력단 Method of embedding network service chain

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150000160A (en) * 2013-06-24 2015-01-02 한국전자통신연구원 Method for deploying network using distributed virtual switch, apparatus for perfoming the same and network system based on distributed virtual switch

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150000160A (en) * 2013-06-24 2015-01-02 한국전자통신연구원 Method for deploying network using distributed virtual switch, apparatus for perfoming the same and network system based on distributed virtual switch

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Yanghao Xie et al. Service Function Chaining Resource Allocation: A Survey. Computer Science, 2016.07.30. https://arxiv.org/pdf/1608.00095.pdf* *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180107844A (en) * 2017-03-23 2018-10-04 경희대학교 산학협력단 Method of embedding network service chain

Also Published As

Publication number Publication date
KR102216746B1 (en) 2021-02-17

Similar Documents

Publication Publication Date Title
EP3637733A1 (en) Load balancing engine, client, distributed computing system, and load balancing method
Lee et al. Application-driven bandwidth guarantees in datacenters
US10884795B2 (en) Dynamic accelerator scheduling and grouping for deep learning jobs in a computing cluster
Krishnamurthy et al. Pratyaastha: an efficient elastic distributed sdn control plane
US11842214B2 (en) Full-dimensional scheduling and scaling for microservice applications
Masdari et al. Efficient task and workflow scheduling in inter-cloud environments: challenges and opportunities
US10558483B2 (en) Optimal dynamic placement of virtual machines in geographically distributed cloud data centers
US10719366B1 (en) Dynamic and selective hardware acceleration
Bai et al. Performance analysis of heterogeneous data centers in cloud computing using a complex queuing model
CN104067260A (en) Dynamically building a set of compute nodes to host the user's workload
WO2014208661A1 (en) Device, method, system, and program for designing placement of virtual machine
US20170063973A1 (en) Determining server level availability and resource allocations based on workload level availability requirements
US9473347B2 (en) Optimizing application availability
US10552217B2 (en) Workload placement in a hybrid cloud environment
US9984044B2 (en) Predicting performance regression of a computer system with a complex queuing network model
CN113348651A (en) Dynamic inter-cloud placement of sliced virtual network functions
Singh Study of response time in cloud computing
Shen et al. Performance modeling of big data applications in the cloud centers
CN115134371A (en) Scheduling method, system, equipment and medium containing edge network computing resources
Emeakaroha et al. Optimizing bioinformatics workflows for data analysis using cloud management techniques
Billingsley et al. Parallel algorithms for the multiobjective virtual network function placement problem
CN105827744A (en) Data processing method of cloud storage platform
US11552853B2 (en) Service chain accomodation apparatus and service chain accommodation method
US20060015841A1 (en) Control on demand data center service configurations
KR102216746B1 (en) virtual machine placement method in a virtual machine based service function chaining

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