KR101233598B1 - Apparatus and method for controling network - Google Patents

Apparatus and method for controling network Download PDF

Info

Publication number
KR101233598B1
KR101233598B1 KR1020090128476A KR20090128476A KR101233598B1 KR 101233598 B1 KR101233598 B1 KR 101233598B1 KR 1020090128476 A KR1020090128476 A KR 1020090128476A KR 20090128476 A KR20090128476 A KR 20090128476A KR 101233598 B1 KR101233598 B1 KR 101233598B1
Authority
KR
South Korea
Prior art keywords
sliver
network
program
virtual
management unit
Prior art date
Application number
KR1020090128476A
Other languages
Korean (ko)
Other versions
KR20110071816A (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 KR1020090128476A priority Critical patent/KR101233598B1/en
Publication of KR20110071816A publication Critical patent/KR20110071816A/en
Application granted granted Critical
Publication of KR101233598B1 publication Critical patent/KR101233598B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/56Routing software
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40052High-speed IEEE 1394 serial bus
    • H04L12/40091Bus bridging
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/58Association of routers
    • H04L45/586Association of routers of virtual routers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

컴파일된 사용자 설정 정보에 따른 프로그램을 실장하는 서브스트래이트(substrate), 상기 프로그램에 따라 동적으로 동작하는 하나 이상의 가상 라우터인 슬리버를 상기 서브스트래이트 상에 실장되도록 처리하는 슬리버 처리부 및 상기 하나 이상의 슬리버를 관리하는 슬리버 관리부를 포함하는 네트워크 장치를 제공한다.Substrates for mounting a program according to the compiled user setting information, a sliver processing unit for processing a sliver, which is one or more virtual routers that operate dynamically according to the program to be mounted on the substrates and the one Provided is a network device including a sliver management unit for managing the above slivers.

네트워크, 슬리버, SEE, 라우터 Network, Sliber, SEE, Router

Description

네트워크 장치 및 네트워크 제어 방법{APPARATUS AND METHOD FOR CONTROLING NETWORK}Network devices and network control methods {APPARATUS AND METHOD FOR CONTROLING NETWORK}

본 발명의 실시예들은 네트워크 프로세서 블레이드 기반의 네트워크 가상화 지원 라우터에 관한 것이다.Embodiments of the present invention relate to a network processor blade-based network virtualization support router.

네트워크 가상화 기술은 하나의 물리적 네트워크 자원을 여러 개의 슬라이스로 나누어 동시에 여러 개의 가상 네트워크를 지원하는 기술이며 이를 위해서는 라우터의 가상화가 필요하다. 현재의 가상 라우터 기술은 크게 하드웨어 기반의 라우터 가상화 기술과 소프트웨어 기반의 라우터 가상화 기술로 나눌 수 있다.Network virtualization technology is a technology that supports multiple virtual networks at the same time by dividing a single physical network resource into multiple slices, which requires router virtualization. Current virtual router technology can be divided into hardware-based router virtualization technology and software-based router virtualization technology.

상기 하드웨어 기반의 가상 라우터로는 오픈 플로우 스위치(OpenFlow Switch)가 대표적인 예이다. An example of the hardware-based virtual router is an open flow switch.

도 1은 일반적인 오픈 플로우를 도시한 도면이다.1 is a diagram illustrating a general open flow.

도 1에 도시된 바와 같이 오픈 플로우는 플로우 테이블에 기반하여 패킷을 포워딩해주는 오픈 플로우 스위치와 플로우 테이블을 제어하는 콘트롤러로 구성될 수 있다.As shown in FIG. 1, the open flow may include an open flow switch for forwarding a packet based on a flow table and a controller for controlling the flow table.

이때, 오픈 플로우에서는 콘트롤러를 통해 플로우 테이블에 대한 조작을 통 해 패킷의 경로를 제어할 수 있고, 이를 통해 여러 가상 네트워크 상의 트래픽이 물리적으로 분리될 수 있으므로, 가상 네트워크의 지원이 가능해진다.At this time, in the open flow, the controller can control the path of the packet through an operation on the flow table, and through this, traffic on multiple virtual networks can be physically separated, thereby supporting the virtual network.

그러나, 하드웨어 기반의 가상 라우터는 패킷 처리 성능 측면에서는 포워딩 전용 하드웨어의 도움으로 트래픽을 빠르게 처리할 수 있는 장점이 있으나, 필요한 기능이 하드웨어 상에 구현되어 있어야 하기 때문에 유연성이 떨어져 가상 라우터의 기능적 측면에서 볼 때, 미래 인터넷에서 요구되는 새로운 네트워크 구조나 프로토콜의 지원, 새로운 패킷 헤더의 추가, 다양한 네트워크 정책의 적용, 사용자 요구에 대한 빠른 대처 등이 어렵다. However, hardware-based virtual routers have the advantage of speeding up traffic with the help of forwarding-only hardware in terms of packet processing performance, but they are inflexible because they need to be implemented on hardware. In view of this, it is difficult to support new network structures or protocols required in the future Internet, add new packet headers, apply various network policies, and respond quickly to user demands.

또한, 하드웨어 기반의 가상 라우터는 자원 이용의 측면에서도 물리적 네트워크 자원을 가상 네트워크에 동적을 할당하고 제어하기가 힘들다.In addition, hardware-based virtual routers have difficulty in allocating and controlling physical network resources to virtual networks in terms of resource utilization.

반면, 소프트웨어 기반의 가상 라우터는 하드웨어에 가상화 지원 소프트웨어를 올리고 그 위에 생성되는 여러 개의 가상 머신 (virtual machine) 상에 가상 라우터를 구현하는 구조로서, 하드웨어 기반의 가상 라우터에서 지원하기 힘들었던 여러 기능적 요구들을 프로그래밍을 통해 보다 손쉽게 지원할 수 있는 장점이 있으나, 가상화 소프트웨어 및 가상 머신의 오버헤드로 인해 패킷 처리 성능에는 한계가 있다.On the other hand, the software-based virtual router is a structure that puts virtualization support software on the hardware and implements the virtual router on a plurality of virtual machines created thereon, and meets the functional requirements that were difficult to support in the hardware-based virtual router. Programming has the advantage of easier support, but the overhead of virtualization software and virtual machines limits packet processing performance.

또한, 가상화 지원 소프트웨어는 물리적 자원에 대한 모니터링 기능 및 동적 제어 및 할당에 대한 지원이 미흡한 실정으로서 물리적 자원을 각 가상 네트워크에 동적으로 할당하고 제어하는데 한계가 있다.In addition, virtualization support software has a lack of support for monitoring functions and dynamic control and allocation of physical resources, and has limitations in dynamically allocating and controlling physical resources to each virtual network.

본 발명의 일실시예는 가상 라우터에서 사용자가 원하는 기능을 동적으로 정의할 수 있는 기능의 유연성을 제공하고, 동시에 HW의 고속 패킷 처리 기능의 활용이 가능한 네트워크 장치 및 제어 방법을 제공하는 데 목적이 있다.One embodiment of the present invention is to provide a network device and a control method that provides the flexibility of a function that can dynamically define a user desired function in a virtual router, and at the same time can utilize the high-speed packet processing function of HW have.

또한, 본 발명의 일실시예는 가상 라우터가 하이퍼바이저(hypervisor)나 가상 머신(virtual machine)에서 동작하는 것이 아니라 하드웨어 서브스트래이트(H/W substrate) 상에서 바로 동작함으로써 높은 성능을 낼 수 있음과 동시에 가상 라우터의 기능을 슬리버 프로그램에서 사용자가 직접 작성할 수 있도록 함으로써 가상 라우터의 유연성을 높일 수 있도록 함을 목적으로 한다.In addition, an embodiment of the present invention can achieve high performance by operating a virtual router directly on a hardware substrate (H / W substrate) rather than operating in a hypervisor or a virtual machine. At the same time, the purpose of the virtual router is to increase the flexibility of the virtual router by allowing the user to write the functions of the virtual router directly in the sliver program.

본 발명의 일실시예에 따른 네트워크 장치는 컴파일된 사용자 설정 정보에 따른 프로그램을 실장하는 서브스트래이트(substrate), 상기 프로그램에 따라 동적으로 동작하는 하나 이상의 가상 라우터인 슬리버를 상기 서브스트래이트 상에 실장되도록 처리하는 슬리버 처리부 및 상기 하나 이상의 슬리버를 관리하는 슬리버 관리부를 포함한다.According to an embodiment of the present invention, a network device includes a substrate that implements a program according to compiled user configuration information, and a sliver which is one or more virtual routers that dynamically operate according to the program. A sliver processing unit for processing to be mounted on the image and a sliver management unit for managing the one or more slivers.

또한, 본 발명의 다른 실시예에 따른 네트워크 장치는 사용자 설정 정보에 따라 가상 네트워크를 설정하는 네트워크 설정부, 상기 가상 네트워크에서 상기 사용자 설정 정보에 따라 프로그램을 수행하는 슬리버 프로그램을 작성하고, 상기 가상 네트워크의 토폴로지를 기록하는 프로그램 설정부, 상기 사용자 설정 정보에 대 한 상기 가상 네트워크에 대한 수용 여부를 네트워크 관리부에 요청하는 네트워크 생성 요청부 및 상기 네트워크 관리부의 상기 가상 네트워크 수용 여부에 따라 슬리버 실행 환경을 생성하여 하나 이상의 가상 라우터인 슬리버를 할당하는 슬리버 관리부를 포함한다.In addition, the network device according to another embodiment of the present invention, the network setting unit for setting the virtual network according to the user setting information, to create a sliver program for performing a program according to the user setting information in the virtual network, the virtual network A program setting unit for recording a topology of the network, a network generation requesting unit requesting a network management unit to accept the virtual network for the user setting information, and a sliver execution environment according to whether the network management unit accepts the virtual network; And a sliver management unit for allocating a sliver which is one or more virtual routers.

또한, 본 발명의 일실시예에 따른 네트워크 제어 방법은 컴파일된 사용자 설정 정보에 따른 프로그램을 실장하는 서브스트래이트(substrate)를 유지하는 단계, 상기 프로그램에 따라 동적으로 동작하는 하나 이상의 가상 라우터인 슬리버를 상기 서브스트래이트 상에 실장하는 단계 및 슬리버 관리부를 이용하여 상기 하나 이상의 슬리버를 관리하는 단계를 포함한다.In addition, the network control method according to an embodiment of the present invention comprises the steps of maintaining a sub-substrate for mounting a program according to the compiled user configuration information, at least one virtual router that operates dynamically according to the program Mounting a sliver on the substrate and managing the one or more slivers using a sliver manager.

또한, 본 발명의 다른 실시예에 따른 네트워크 제어 방법은 사용자 설정 정보에 따라 가상 네트워크를 설정하는 방법, 상기 가상 네트워크에서 상기 사용자 설정 정보에 따라 프로그램을 수행하는 슬리버 프로그램을 작성하는 단계, 상기 가상 네트워크의 토폴로지를 기록하는 단계, 상기 사용자 설정 정보에 대한 상기 가상 네트워크에 대한 수용 여부를 네트워크 관리부에 요청하는 단계 및 상기 네트워크 관리부의 상기 가상 네트워크 수용 여부에 따라 슬리버 실행 환경을 생성하여 하나 이상의 가상 라우터인 슬리버를 할당하는 단계를 포함한다. In addition, the network control method according to another embodiment of the present invention, a method for setting a virtual network according to the user setting information, creating a sliver program for performing a program according to the user setting information in the virtual network, the virtual network Recording a topology of the network, requesting whether the network management unit accepts the virtual network for the user setting information, and generating a sliver execution environment according to whether the network management unit accepts the virtual network. Assigning the sliver.

본 발명의 일실시예에 따르면 가상 라우터에서 사용자가 원하는 기능을 동적으로 정의할 수 있는 기능의 유연성을 제공하고, 동시에 HW의 고속 패킷 처리 기능의 활용이 가능하다.According to an embodiment of the present invention, the virtual router provides flexibility of a function that can dynamically define a desired function, and at the same time, it is possible to utilize a high speed packet processing function of the HW.

또한, 본 발명의 일실시예는 가상 라우터가 하이퍼바이저(hypervisor)나 가상 머신(virtual machine)에서 동작하는 것이 아니라 하드웨어 서브스트래이트(H/W substrate) 상에서 바로 동작함으로써 높은 성능을 낼 수 있음과 동시에 가상 라우터의 기능을 슬리버 프로그램에서 사용자가 직접 작성할 수 있도록 함으로써 가상 라우터의 유연성을 높일 수 있다.In addition, an embodiment of the present invention can achieve high performance by operating a virtual router directly on a hardware substrate (H / W substrate) rather than operating in a hypervisor or a virtual machine. At the same time, the flexibility of the virtual router can be increased by allowing the user to write the functions of the virtual router directly in the sliver program.

이하 첨부 도면들 및 첨부 도면들에 기재된 내용들을 참조하여 본 발명의 실시예를 상세하게 설명하지만, 본 발명이 실시예에 의해 제한되거나 한정되는 것은 아니다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings and accompanying drawings, but the present invention is not limited to or limited by the embodiments.

한편, 본 발명을 설명함에 있어서, 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는, 그 상세한 설명을 생략할 것이다. 그리고, 본 명세서에서 사용되는 용어(terminology)들은 본 발명의 실시예를 적절히 표현하기 위해 사용된 용어들로서, 이는 사용자, 운용자의 의도 또는 본 발명이 속하는 분야의 관례 등에 따라 달라질 수 있다. 따라서, 본 용어들에 대한 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.On the other hand, in describing the present invention, when it is determined that the detailed description of the related known function or configuration may unnecessarily obscure the subject matter of the present invention, the detailed description thereof will be omitted. The terminology used herein is a term used for appropriately expressing an embodiment of the present invention, which may vary depending on the user, the intent of the operator, or the practice of the field to which the present invention belongs. Therefore, the definitions of the terms should be made based on the contents throughout the specification.

도 2는 본 발명의 일실시예에 따른 네트워크 장치의 구성을 도시한 블록도이다.2 is a block diagram showing the configuration of a network device according to an embodiment of the present invention.

도 2에 도시된 바와 같이 본 발명의 일실시예에 따른 네트워크 장치는 크게 서브스트래이트(210), 슬리버 처리부(220) 및 슬리버 관리부(230)로 구성된다.As shown in FIG. 2, a network device according to an embodiment of the present invention is largely composed of a substrate 210, a sliver processing unit 220, and a sliver managing unit 230.

즉, 본 발명의 일실시예에 따른 네트워크 장치는 컴파일된 사용자 설정 정보에 따른 프로그램을 실장하는 서브스트래이트(substrate)(210), 상기 프로그램에 따라 동적으로 동작하는 하나 이상의 가상 라우터인 슬리버를 상기 서브스트래이트 상에 실장되도록 처리하는 슬리버 처리부(220) 및 상기 하나 이상의 슬리버를 관리하는 슬리버 관리부(230)로 구성될 수 있다.That is, the network device according to an embodiment of the present invention may include a substrate 210 that implements a program according to the compiled user setting information, and a sliver which is one or more virtual routers dynamically operating according to the program. A sliver processing unit 220 for processing to be mounted on the substrate and a sliver management unit 230 for managing the one or more slivers may be configured.

도 3은 본 발명의 일실시예에 따른 네트워크 장치의 상세 구성을 도시한 블록도이다.3 is a block diagram showing a detailed configuration of a network device according to an embodiment of the present invention.

즉, 본 발명의 일실시예에 따른 네트워크 장치는 도 3에 도시된 바와 같이, 컴파일된 프로그램 이미지를 올릴 수 있는 서브스트래이트(310)와 그 위에서 여러 개의 슬리버가 실행될 수 있도록 슬리버 실행 환경(SEE: Sliver Execution Environment)을 관리하는 슬리버 관리부(SEE Manager) 및 다수의 가상 라우터인 슬리버(Sliver)로 구성될 수 있다.That is, as shown in FIG. 3, the network device according to the embodiment of the present invention may include a substrate 310 capable of uploading a compiled program image and a sliver execution environment for executing multiple slivers thereon. SEE: A SEE Manager that manages a Sliver Execution Environment (SEE) and a Sliver, which is a plurality of virtual routers.

이때, 본 발명의 일실시예에 따른 다수의 슬리버(320)는 다시 하나의 슬리버 실행 환경과 슬리버 실행 환경 APE(SEE API), 그리고 사용자에 의해 정의된 슬리버 프로그램(sliver program)으로 정의될 수 있다.In this case, the plurality of slivers 320 according to an embodiment of the present invention may be defined as one sliver execution environment, a sliver execution environment APE (SEE API), and a sliver program defined by a user. .

또한, 본 발명의 일실시예에 따른 슬리버 실행 환경은 슬리버 관리부 에 의해 생성되는 슬리버 프로그램의 실행 환경으로서 슬리버의 설정 상황을 나타내는 일종의 테이블로 표현될 수 있다. In addition, the sliver execution environment according to an embodiment of the present invention may be represented as a kind of table representing a setting state of the sliver as the execution environment of the sliver program generated by the sliver management unit.

본 발명의 일실시예에 따른 슬리버는 해당 슬리버 실행 환경에 설정된 조건 내에서만 패킷 수신, 처리 및 포워딩을 수행할 수 있다.A sliver according to an embodiment of the present invention may perform packet reception, processing, and forwarding only within a condition set in a corresponding sliver execution environment.

또한, 본 발명의 일실시예에 따른 슬리버 실행 환경은 슬리버가 사용 가능한 인터페이스 및 다른 슬리버와의 링크 설정 등을 지원하며, 네트워크 프로세서의 코어 위에서 실행되는 슬리버 프로그램이 사용할 수 있는 메모리 및 CPU 등의 물리적 자원량을 제한할 수 있다.In addition, the sliver execution environment according to an embodiment of the present invention supports a sliver-enabled interface and a link setting with another sliver, and may use a physical memory such as a memory and a CPU that can be used by a sliver program executed on a core of a network processor. You can limit the amount of resources.

본 발명의 일실시예에 따른 슬리버 프로그램은 슬리버 실행 환경 API를 통해 패킷의 수신 및 포워딩 등을 서브스트래이트에 요청할 수 있고, 필요한 물리적 자원을 할당 받을 수 있다.The sliver program according to an embodiment of the present invention may request a substrate to receive and forward a packet through a sliver execution environment API, and may be allocated necessary physical resources.

한편, 본 발명의 일실시예에 따른 슬리버 실행 환경 관리부(220)는 서브스트래이트 상에서 새로운 가상 라우터에 어사인(assign) 되는 슬리버 실행 환경의 생성, 삭제, 관리할 수 있으며, 다수의 슬리버 실행 환경들이 물리적 자원을 공유할 수 있도록 각 슬리버 실행 환경에 대한 자원의 할당 및 스케쥴링 기능을 제공한다.Meanwhile, the sliver execution environment management unit 220 according to an embodiment of the present invention may create, delete, and manage a sliver execution environment that is assigned to a new virtual router on the substrate, and executes a plurality of slivers. It provides resource allocation and scheduling for each sliver execution environment so that environments can share physical resources.

도 4는 본 발명의 일실시예에 따른 네트워크 제어 방법을 도시한 흐름도이다.4 is a flowchart illustrating a network control method according to an embodiment of the present invention.

정리하면, 도 4에 도시된 바와 같이 본 발명의 일실시예에 따른 네트워크 장치는 컴파일된 사용자 설정 정보에 따른 프로그램을 실장하는 서브스트래이트(substrate)를 유지한다(410).In summary, as shown in FIG. 4, the network apparatus according to an embodiment of the present invention maintains a substrate for mounting a program according to the compiled user configuration information (410).

한편, 본 발명의 일실시예에 따른 네트워크 장치는 상기 프로그램에 따라 동적으로 동작하는 하나 이상의 가상 라우터인 슬리버를 상기 서브스트래이트 상에 실장한다(420).Meanwhile, the network device according to an embodiment of the present invention mounts the sliver which is one or more virtual routers operating dynamically according to the program on the substrate.

이때, 본 발명의 일실시예에 따른 네트워크 장치는 슬리버 관리부를 이용하 여 상기 하나 이상의 슬리버를 관리한다(430).In this case, the network device according to an embodiment of the present invention manages the one or more slivers using the sliver management unit (430).

도 5는 본 발명의 일실시예에 따른 네트워크 장치의 슬리부 처리부의 상세 구성을 도시한 블록도이다.5 is a block diagram illustrating a detailed configuration of a sleeve processing unit of a network device according to an embodiment of the present invention.

본 발명의 일실시예에 따른 슬리버 처리부(220)는 도 5에 도시된 바와 같이 상기 슬리버의 슬리버 실행 환경(SEE: Sliver Execution Environment)을 처리하는 환경 정보 처리부(510), 상기 사용자 설정 정보에 따라 정의되는 슬리버 프로그램를 구동하는 프로그램 구동부(520) 및 상기 서브스트래이트로부터 패킷에 대한 수신 및 포워딩을 요청하여 물리적 자원을 할당받는 슬리버 실행 환경 API (Application Programmer Interface)(530)로 구성될 수 있다.As illustrated in FIG. 5, the sliver processor 220 according to an embodiment of the present invention may include an environment information processor 510 for processing a sliver execution environment (SEE) of the sliver, according to the user setting information. A program driver 520 for driving a defined sliver program and a sliver execution environment API (530) for requesting reception and forwarding of a packet from the sub-strates are allocated.

이때, 본 발명의 일실시예에 따른 환경 정보 처리부(510)는, 전술한 바와 같이 상기 슬리버가 사용 가능한 인터페이스 및 다른 슬리버 간의 링크 설정을 지원하며, 네트워크 프로세서의 코어 상에서 실행되는 상기 슬리버 프로그램이 사용 가능한 메모리 및 CPU에 대한 상기 물리적 자원을 제한할 수 있다.At this time, the environment information processing unit 510 according to an embodiment of the present invention, as described above, supports the establishment of a link between the interface available to the sliver and another sliver, and is used by the sliver program executed on the core of the network processor. It is possible to limit the physical resources for possible memory and CPU.

한편 본 발명의 일실시예에 따른 슬리버 관리부는 도 6과 같은 구성으로 이루어질 수 있다.Meanwhile, the sliver manager according to the exemplary embodiment of the present invention may be configured as shown in FIG. 6.

도 6은 본 발명의 일실시예에 따른 네트워크 장치의 슬리버 관리부의 상세 구성을 도시한 블록도이고, 도 7은 본 발명의 일실시예에 따른 슬리버 관리 방법을 도시한 흐름도이다.6 is a block diagram illustrating a detailed configuration of a sliver management unit of a network device according to an embodiment of the present invention, and FIG. 7 is a flowchart illustrating a sliver management method according to an embodiment of the present invention.

먼저, 도 6 내지 도 7에 도시된 바와 같이 본 발명의 일실시예에 따른 슬리버 관리부(600)의 패킷 수신부는 네트워크 인터페이스로부터 패킷을 수신한 다(710).First, as illustrated in FIGS. 6 to 7, the packet receiver of the sliver manager 600 according to an embodiment of the present invention receives a packet from a network interface (710).

다음으로, 본 발명의 일실시예에 따른 패킷 전송부(620)는 상기 슬리버에 의하여 송신 요청된 패킷을 링크 정보에 대응하는 인터페이스로 전송한다(720).Next, the packet transmission unit 620 according to an embodiment of the present invention transmits a packet requested to be transmitted by the sliver to an interface corresponding to link information (720).

다음으로, 본 발명의 일실시예에 따른 패킷 전달부(630)는 상기 수신된 패킷을 상기 슬리버의 인터페이스로 전송하며(730), 본 발명의 일실시예에 따른 대역폭 제어부(640)는 상기 슬리버의 트래픽에 대한 대역폭을 제한할 수 있다(740).Next, the packet transfer unit 630 according to an embodiment of the present invention transmits the received packet to the interface of the sliver (730), the bandwidth control unit 640 according to an embodiment of the present invention is the sliver The bandwidth for the traffic of may be limited (740).

이때, 본 발명의 일실시예에 따른 환경 설정부(650)는 상기 슬리버가 사용 가능한 상기 인터페이스 및 상기 링크를 설정 및 관리하며(750), 본 발명의 일실시예에 따른 코어 할당부(660)는 상기 프로그램 간의 코어 할당을 관리하도록 제어한다(760).In this case, the environment setting unit 650 according to an embodiment of the present invention sets and manages the interface and the link that the sliver can use (750), and the core allocating unit 660 according to an embodiment of the present invention. Control 760 to manage core allocation between the programs.

이렇듯, 본 발명의 일실시예에 따른 네트워크 장치는 가상 라우터가 하드웨어 서브스트래이트 상에서 바로 동작함으로써, 높은 성능을 낼 수 있음과 동시에 가상 라우터의 기능을 슬리버 프로그램에서 사용자가 직접 작성할 수 있어, 가상 라우터의 유연성을 높일 수 있다.As such, the network device according to an embodiment of the present invention can perform high performance by directly operating a virtual router on a hardware substrate, and at the same time, a user can directly write a function of the virtual router in a sliver program, You can increase the flexibility of your router.

도 8은 본 발명의 다른 실시예에 따른 네트워크 장치의 구성을 도시한 블록도이며, 도 9는 본 발명의 다른 실시예에 따른 네트워크 제어 방법을 도시한 흐름도이다.8 is a block diagram showing a configuration of a network device according to another embodiment of the present invention, and FIG. 9 is a flowchart illustrating a network control method according to another embodiment of the present invention.

도 8 내지 도 9를 참조하여 본 발명의 다른 실시예에 따른 네트워크 장치(800)를 이용하여 네트워크를 제어하여 슬리버를 생성하는 방법을 설명하면 다음과 같다.8 to 9, a method of generating a sliver by controlling a network using the network device 800 according to another embodiment of the present invention will be described below.

본 발명의 다른 실시예에 따른 네트워크 설정부(810)는 사용자 설정 정보에 따라 가상 네트워크를 설정한다(910).The network setting unit 810 according to another embodiment of the present invention sets up a virtual network according to user setting information (910).

다름으로, 본 발명의 다른 실시예에 따른 프로그램 설정부(820)는 상기 가상 네트워크에서 상기 사용자 설정 정보에 따라 프로그램을 수행하는 슬리버 프로그램을 작성하고, 상기 가상 네트워크의 토폴로지를 기록한다(920).Alternatively, the program setting unit 820 according to another embodiment of the present invention creates a sliver program for executing a program according to the user setting information in the virtual network, and records the topology of the virtual network (920).

다음으로, 본 발명의 다른 실시예에 따른 네트워크 생성 요청부(830)는 상기 사용자 설정 정보에 대한 상기 가상 네트워크에 대한 수용 여부를 네트워크 관리부(미도시)에 요청한다(930).Next, the network generation requesting unit 830 according to another embodiment of the present invention requests a network management unit (not shown) for accepting the virtual network for the user setting information (930).

이때, 본 발명의 다른 실시예에 따른 네트워크 관리부는 슬리버 실행 노드를 선택한다(940)In this case, the network manager according to another embodiment of the present invention selects a sliver execution node (940).

최종적으로, 본 발명의 다른 실시예에 따른 슬리버 관리부(840)는 상기 네트워크 관리부의 상기 가상 네트워크 수용 여부에 따라 슬리버 실행 환경을 생성하여 하나 이상의 가상 라우터인 슬리버를 할당한다(950).Finally, the sliver management unit 840 according to another embodiment of the present invention generates a sliver execution environment according to whether the network management unit accepts the virtual network and allocates a sliver which is one or more virtual routers (950).

한편, 본 발명의 다른 실시예에 따른 슬리버 관리부(840)는 슬리버 프로그램을 다운로드 하고(960), 슬리버 프로그램을 실행한다(970). 본 발명의 다른 실시예에 따르면 슬리버 프로그램이 실행된 후, 사용자 단말기로부터 슬리버 제어 요청을 수신하여 해당 슬리버를 실행한다(980).Meanwhile, the sliver management unit 840 according to another embodiment of the present invention downloads the sliver program (960) and executes the sliver program (970). According to another embodiment of the present invention, after the sliver program is executed, the sliver control request is received from the user terminal to execute the sliver (980).

이때, 본 발명의 다른 실시예에 따른 슬리버 관리부(840)는 상기 네트워크 관리부가 상기 가상 네트워크를 수용하는 경우, 상기 슬리버 프로그램을 실행하는 노드를 선택하고 상기 노드에 대응하는 슬리버를 생성한다. 반대로, 본 발명의 다 른 실시예에 따른 슬리버 관리부(840)는 상기 네트워크 관리부가 상기 가상 네트워크를 수용 불가하는 경우, 실패 메시지(fail message)를 사용자 단말기로 전송한다.In this case, the sliver manager 840 according to another embodiment of the present invention selects a node that executes the sliver program and generates a sliver corresponding to the node when the network manager accepts the virtual network. On the contrary, the sliver manager 840 according to another embodiment of the present invention transmits a fail message to the user terminal when the network manager cannot accept the virtual network.

또한, 본 발명의 다른 실시예에 따른 슬리버 관리부(840)는 상기 사용자 설정 정보에 따라 상기 슬리버를 시작, 정지, 삭제 또는 재설정할 수 있다.In addition, the sliver manager 840 according to another embodiment of the present invention may start, stop, delete or reset the sliver according to the user setting information.

도 10은 본 발명의 일실시예에 따른 네트워크 장치를 이용하여 슬리버를 생성한 예를 도시한 도면이다.10 is a diagram illustrating an example of generating a sliver using a network device according to an embodiment of the present invention.

도 10을 참조하면, 본 발명의 일실시예에 따른 네트워크 장치에 의한 슬리버는 8코어 네트워크 프로세서 블레이드 상에서 7개(S1~S7)의 슬리버가 생성될 수 있다.Referring to FIG. 10, seven slivers S1 to S7 may be generated on an eight-core network processor blade by a sliver by a network device according to an embodiment of the present invention.

참고로, 네트워크 프로세서는 다수의 코어를 지원하기 때문에 각 코어에 독립적으로 여러 개의 프로그램을 실행 시킬 수 있으며, CPU 스케쥴러의 지원이 있다면 복수의 프로그램이 하나의 코어를 공유하며 실행 될 수도 있다. For reference, since a network processor supports a plurality of cores, multiple programs can be executed independently of each core. If a CPU scheduler is supported, a plurality of programs may share and share a single core.

본 발명의 일실시예에 따른 네트워크 장치의 슬리버 관리부는 코어 C1~C3에서 실행될 수 있으며, 경우에 따라 보다 많은 CPU 자원이 필요할 경우 좀더 많은 코어가 할당될 수도 있다. The sliver management unit of the network device according to an embodiment of the present invention may be executed in the cores C1 to C3, and in some cases, more cores may be allocated when more CPU resources are required.

예를 들어, 본 발명의 일실시예에 따른 네트워크 장치의 코어 C5~C8에는 슬리버 프로그램이 실행될 수 있는데, 슬리버 실행 환경 설정에 따라 각 슬리버 프로그램이 코어 자원의 사용량이 슬리버 관리부에 의해 제한되게 되며, 슬리버 실행 환경에서 CPU 자원 설정이 바뀌면 코어 C4의 경우처럼 CPU 자원 할당이 달라질 수 있다.For example, the sliver program may be executed in the cores C5 to C8 of the network device according to an embodiment of the present invention, and the amount of core resources of each sliver program is limited by the sliver management unit according to the sliver execution environment setting. If the CPU resource setting is changed in the sliver execution environment, the CPU resource allocation may be different as in the case of Core C4.

또한, 본 발명의 일실시예에 따른 네트워크 장치는 쉐어 메모리(Shared Memory)영역에는 각 슬리버에 대한 슬리버 실행 환경이 생성되어 슬리버 프로그램에 의해 접근될 수 있다.In addition, in the network device according to an embodiment of the present invention, a sliver execution environment for each sliver may be generated in the shared memory area and accessed by the sliver program.

한편, 본 발명의 일실시예에 따른 슬리버 실행 환경은 각 슬리버에 할당된 대역폭(bandwidth), CPU, 메모리 자원 등에 관한 설정 및 인터페이스 및 링크 설정 내역이 저장될 수 있으며, 각 슬리버에서 사용할 입출력 큐가 설정 내역에 따라 생성되어 슬리버에 의해 사용될 수 있다.Meanwhile, in the sliver execution environment according to an embodiment of the present invention, settings related to bandwidth, CPU, memory resources, and the like allocated to each sliver may be stored, and interface and link setting details may be stored. It can be generated according to the configuration details and used by the sliver.

본 발명에 따른 실시예들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(Floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.Embodiments according to the present invention may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer-readable medium. The computer readable medium may include program instructions, data files, data structures, etc. alone or in combination. The program instructions recorded on the medium may be those specially designed and constructed for the present invention or may be available to those skilled in the art of computer software. Examples of the computer-readable recording medium include magnetic media such as a hard disk, a floppy disk, and a magnetic tape; optical media such as CD-ROM and DVD; magnetic recording media such as a floppy disk; Magneto-optical media, and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like. The hardware device described above may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.

이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.In the present invention as described above has been described by the specific embodiments, such as specific components and limited embodiments and drawings, but this is provided to help a more general understanding of the present invention, the present invention is not limited to the above embodiments. For those skilled in the art, various modifications and variations are possible from these descriptions. Accordingly, the spirit of the present invention should not be construed as being limited to the embodiments described, and all of the equivalents or equivalents of the claims, as well as the following claims, belong to the scope of the present invention .

도 1은 일반적인 오픈 플로우를 도시한 도면이다.1 is a diagram illustrating a general open flow.

도 2는 본 발명의 일실시예에 따른 네트워크 장치의 구성을 도시한 블록도이다.2 is a block diagram showing the configuration of a network device according to an embodiment of the present invention.

도 3은 본 발명의 일실시예에 따른 네트워크 장치의 상세 구성을 도시한 블록도이다.3 is a block diagram showing a detailed configuration of a network device according to an embodiment of the present invention.

도 4는 본 발명의 일실시예에 따른 네트워크 제어 방법을 도시한 흐름도이다.4 is a flowchart illustrating a network control method according to an embodiment of the present invention.

도 5는 본 발명의 일실시예에 따른 네트워크 장치의 슬리부 처리부의 상세 구성을 도시한 블록도이다.5 is a block diagram illustrating a detailed configuration of a sleeve processing unit of a network device according to an embodiment of the present invention.

도 6은 본 발명의 일실시예에 따른 네트워크 장치의 슬리버 관리부의 상세 구성을 도시한 블록도이다.6 is a block diagram showing a detailed configuration of a sliver management unit of a network device according to an embodiment of the present invention.

도 7은 본 발명의 일실시예에 따른 슬리버 관리 방법을 도시한 흐름도이다.7 is a flowchart illustrating a sliver management method according to an embodiment of the present invention.

도 8은 본 발명의 다른 실시예에 따른 네트워크 장치의 구성을 도시한 블록도이다.8 is a block diagram showing the configuration of a network device according to another embodiment of the present invention.

도 9는 본 발명의 다른 실시예에 따른 네트워크 제어 방법을 도시한 흐름도이다.9 is a flowchart illustrating a network control method according to another embodiment of the present invention.

도 10은 본 발명의 일실시예에 따른 네트워크 장치를 이용하여 슬리버를 생성한 예를 도시한 도면이다.10 is a diagram illustrating an example of generating a sliver using a network device according to an embodiment of the present invention.

Claims (19)

컴파일된 사용자 설정 정보에 따른 프로그램을 실장하는 서브스트래이트(substrate)Substrates that implement programs based on compiled user configuration information 상기 프로그램에 따라 동적으로 동작하는 하나 이상의 가상 라우터인 슬리버를 상기 서브스트래이트 상에 실장되도록 처리하는 슬리버 처리부; 및A sliver processing unit configured to process a sliver, which is one or more virtual routers dynamically operating according to the program, to be mounted on the substrate; And 상기 하나 이상의 슬리버를 관리하는 슬리버 관리부Sliver management unit for managing the one or more slivers 를 포함하는 네트워크 장치.Network device comprising a. 제1항에 있어서,The method of claim 1, 상기 슬리버 처리부는,The sliver processing unit, 상기 슬리버의 슬리버 실행 환경(SEE: Sliver Execution Environment)을 처리하는 환경 정보 처리부;An environment information processor configured to process a sliver execution environment (SEE) of the sliver; 상기 사용자 설정 정보에 따라 정의되는 슬리버 프로그램를 구동하는 프로그램 구동부; 및A program driver for driving a sliver program defined according to the user setting information; And 상기 서브스트래이트로부터 패킷에 대한 수신 및 포워딩을 요청하여 물리적 자원을 할당받는 슬리버 실행 환경 API (Application Programmer Interface); A sliver execution environment API for requesting reception and forwarding of a packet from the sub-sphere to be allocated a physical resource; 를 포함하는 네트워크 장치.Network device comprising a. 제2항에 있어서,3. The method of claim 2, 상기 환경 정보 처리부는, The environment information processing unit, 상기 슬리버가 사용 가능한 인터페이스 및 다른 슬리버 간의 링크 설정을 지원하며, 네트워크 프로세서의 코어 상에서 실행되는 상기 슬리버 프로그램이 사용 가능한 메모리 및 CPU에 대한 상기 물리적 자원을 제한하는 것을 특징으로 하는 네트워크 장치.Support for establishing a link between an interface available to the sliver and another sliver, and limiting the physical resources for memory and CPU available to the sliver program running on the core of a network processor. 제2항에 있어서,3. The method of claim 2, 상기 슬리버 관리부는,The sliver management unit, 상기 서브스트래이트 상에서 다른 가상 라우터에 어사인(assign) 되는 상기 슬리버 실행 환경을 생성, 삭제 또는 관리하는 것을 특징으로 하는 네트워크 장치.And create, delete, or manage the sliver execution environment that is assigned to another virtual router on the substrate. 제2항에 있어서,3. The method of claim 2, 상기 슬리버 관리부는,The sliver management unit, 상기 하나 이상의 환경 정보 처리부가 물리적 자원을 공유하도록 상기 슬리버 실행 환경에 대한 자원을 할당 또는 관리하는 것을 특징으로 하는 네트워크 장치.And assigning or managing a resource for the sliver execution environment so that the one or more environment information processing units share a physical resource. 제1항에 있어서,The method of claim 1, 상기 슬리버 관리부는,The sliver management unit, 네트워크 인터페이스로부터 패킷을 수신하는 패킷 수신부;A packet receiver for receiving a packet from a network interface; 상기 슬리버에 의하여 송신 요청된 패킷을 링크 정보에 대응하는 인터페이스로 전송하는 패킷 전송부;A packet transmitter which transmits a packet requested to be transmitted by the sliver to an interface corresponding to link information; 상기 수신된 패킷을 상기 슬리버의 인터페이스로 전송하는 패킷 전달부;A packet forwarding unit for transmitting the received packet to an interface of the sliver; 상기 슬리버의 트래픽에 대한 대역폭을 제한하는 대역폭 제어부;A bandwidth controller for limiting a bandwidth of traffic of the sliver; 상기 슬리버가 사용 가능한 상기 인터페이스 및 상기 링크를 설정 및 관리하는 환경 설정부; 및An environment setting unit configured to set and manage the interface and the link available to the sliver; And 상기 프로그램 간의 코어 할당을 관리하도록 제어하는 코어 할당부Core allocation unit for controlling to manage the core allocation between the program 를 포함하는 네트워크 장치.Network device comprising a. 사용자 설정 정보에 따라 가상 네트워크를 설정하는 네트워크 설정부;A network setting unit configured to set a virtual network according to user setting information; 상기 가상 네트워크에서 상기 사용자 설정 정보에 따라 프로그램을 수행하는 슬리버 프로그램을 작성하고, 상기 가상 네트워크의 토폴로지를 기록하는 프로그램 설정부;A program setting unit which creates a sliver program for performing a program according to the user setting information in the virtual network, and records a topology of the virtual network; 상기 사용자 설정 정보에 대한 상기 가상 네트워크에 대한 수용 여부를 네트워크 관리부에 요청하는 네트워크 생성 요청부; 및A network creation request unit requesting a network manager to accept the virtual network for the user setting information; And 상기 네트워크 관리부의 상기 가상 네트워크 수용 여부에 따라 슬리버 실행 환경을 생성하여 하나 이상의 가상 라우터인 슬리버를 할당하는 슬리버 관리부Sliver management unit for generating a sliver execution environment according to whether the network management unit accepts the virtual network to allocate a sliver which is one or more virtual routers 를 포함하는 네트워크 장치.Network device comprising a. 제7항에 있어서,The method of claim 7, wherein 상기 슬리버 관리부는 상기 네트워크 관리부가 상기 가상 네트워크를 수용하는 경우, 상기 슬리버 프로그램을 실행하는 노드를 선택하고 상기 노드에 대응하는 슬리버를 생성하는 것을 특징으로 하는 네트워크 장치.And the sliver management unit selects a node executing the sliver program and generates a sliver corresponding to the node when the network management unit accepts the virtual network. 제7항에 있어서,The method of claim 7, wherein 상기 슬리버 관리부는, The sliver management unit, 상기 사용자 설정 정보에 따라 상기 슬리버를 시작, 정지, 삭제 또는 재설정하는 것을 특징으로 하는 네트워크 장치.And start, stop, delete or reset the sliver according to the user setting information. 컴파일된 사용자 설정 정보에 따른 프로그램을 실장하는 서브스트래이트(substrate)를 유지하는 단계;Maintaining a substrate for mounting a program according to the compiled user setting information; 상기 프로그램에 따라 동적으로 동작하는 하나 이상의 가상 라우터인 슬리버를 상기 서브스트래이트 상에 실장하는 단계; 및Mounting a sliver on the substrate, the sliver being one or more virtual routers that operate dynamically according to the program; And 슬리버 관리부를 이용하여 상기 하나 이상의 슬리버를 관리하는 단계;Managing the one or more slivers using a sliver manager; 를 포함하는 네트워크 제어 방법.Network control method comprising a. 제10항에 있어서,The method of claim 10, 상기 슬리버는,The sliver is, 상기 슬리버 관리부에 의하여 생성되는 상기 슬리버의 슬리버 실행 환경(SEE: Sliver Execution Environment)을 처리하고, 상기 사용자 설정 정보에 따 라 정의되는 슬리버 프로그램를 구동하며, 상기 서브스트래이트로부터 패킷에 대한 수신 및 포워딩을 요청하여 물리적 자원을 할당받는 것을 특징으로 하는 네트워크 제어 방법.Processes a sliver execution environment (SEE) of the sliver generated by the sliver management unit, runs a sliver program defined according to the user setting information, and receives and forwards a packet from the substrates. Requesting the request to allocate a physical resource. 제11항에 있어서,12. The method of claim 11, 상기 슬리버를 실장하는 단계는, Mounting the sliver, 상기 슬리버가 사용 가능한 인터페이스 및 다른 슬리버 간의 링크 설정을 지원하는 단계; 및Supporting a link establishment between an interface available to the sliver and another sliver; And 네트워크 프로세서의 코어 상에서 실행되는 상기 슬리버 프로그램이 사용 가능한 메모리 및 CPU에 대한 상기 물리적 자원을 제한하는 단계Limiting the physical resources for memory and CPU available to the sliver program running on the core of a network processor 를 포함하는 네트워크 제어 방법.Network control method comprising a. 제12항에 있어서,The method of claim 12, 상기 슬리버를 관리하는 단계는, Managing the sliver is, 상기 서브스트래이트 상에서 다른 가상 라우터에 어사인(assign) 되는 상기 슬리버 실행 환경을 생성, 삭제 또는 관리하는 단계Creating, deleting, or managing the sliver execution environment that is assigned to another virtual router on the substrate. 를 더 포함하는 네트워크 제어 방법.Network control method further comprising. 제12항에 있어서,The method of claim 12, 상기 슬리버를 관리하는 단계는,Managing the sliver is, 상기 하나 이상의 환경 정보 처리부가 물리적 자원을 공유하도록 상기 슬리버 실행 환경에 대한 자원을 할당 또는 관리하는 단계Allocating or managing a resource for the sliver execution environment so that the one or more environment information processing units share a physical resource; 를 더 포함하는 네트워크 제어 방법.Network control method further comprising. 제12항에 있어서,The method of claim 12, 상기 슬리버를 관리하는 단계는,Managing the sliver is, 네트워크 인터페이스로부터 패킷을 수신하는 단계;Receiving a packet from a network interface; 상기 슬리버에 의하여 송신 요청된 패킷을 링크 정보에 대응하는 인터페이스로 전송하는 단계;Transmitting a packet requested to be transmitted by the sliver to an interface corresponding to link information; 상기 수신된 패킷을 상기 슬리버의 인터페이스로 전송하는 단계;Sending the received packet to an interface of the sliver; 상기 슬리버의 트래픽에 대한 대역폭을 제한하는 단계;Limiting bandwidth for traffic of the sliver; 상기 슬리버가 사용 가능한 상기 인터페이스 및 상기 링크를 설정 및 관리하는 단계; 및Establishing and managing the interface and the link available to the sliver; And 상기 프로그램 간의 코어 할당을 관리하도록 제어하는 단계Controlling to manage core allocation between the programs 를 더 포함하는 네트워크 제어 방법.Network control method further comprising. 사용자 설정 정보에 따라 가상 네트워크를 설정하는 방법;Setting up a virtual network according to user setting information; 상기 가상 네트워크에서 상기 사용자 설정 정보에 따라 프로그램을 수행하는 슬리버 프로그램을 작성하는 단계;Creating a sliver program that executes a program according to the user setting information in the virtual network; 상기 가상 네트워크의 토폴로지를 기록하는 단계;Recording a topology of the virtual network; 상기 사용자 설정 정보에 대한 상기 가상 네트워크에 대한 수용 여부를 네트워크 관리부에 요청하는 단계; 및Requesting, by the network management unit, whether to accept the virtual network for the user setting information; And 상기 네트워크 관리부의 상기 가상 네트워크 수용 여부에 따라 슬리버 실행 환경을 생성하여 하나 이상의 가상 라우터인 슬리버를 할당하는 단계Allocating a sliver which is one or more virtual routers by creating a sliver execution environment according to whether the network manager accepts the virtual network. 를 포함하는 네트워크 제어 방법.Network control method comprising a. 제16항에 있어서,17. The method of claim 16, 상기 하나 이상의 가상 라우터인 슬리버를 할당하는 단계는,Assigning a sliver which is the one or more virtual routers, 상기 네트워크 관리부가 상기 가상 네트워크를 수용하는 경우, 상기 슬리버 프로그램을 실행하는 노드를 선택하고 상기 노드에 대응하는 슬리버를 생성하는 단계When the network manager accepts the virtual network, selecting a node that executes the sliver program and generating a sliver corresponding to the node 를 포함하는 네트워크 제어 방법.Network control method comprising a. 제16항에 있어서,17. The method of claim 16, 상기 사용자 설정 정보에 따라 상기 슬리버를 시작, 정지, 삭제 또는 재설정하는 단계Starting, stopping, deleting or resetting the sliver according to the user setting information 를 더 포함하는 네트워크 제어 방법.Network control method further comprising. 제10항 내지 제18항 중 어느 한 항의 방법을 수행하는 프로그램을 기록한 컴퓨터 판독 가능 기록 매체.19. A computer-readable recording medium recording a program for performing the method of any one of claims 10 to 18.
KR1020090128476A 2009-12-21 2009-12-21 Apparatus and method for controling network KR101233598B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090128476A KR101233598B1 (en) 2009-12-21 2009-12-21 Apparatus and method for controling network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090128476A KR101233598B1 (en) 2009-12-21 2009-12-21 Apparatus and method for controling network

Publications (2)

Publication Number Publication Date
KR20110071816A KR20110071816A (en) 2011-06-29
KR101233598B1 true KR101233598B1 (en) 2013-02-14

Family

ID=44402823

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090128476A KR101233598B1 (en) 2009-12-21 2009-12-21 Apparatus and method for controling network

Country Status (1)

Country Link
KR (1) KR101233598B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090249335A1 (en) 2007-12-20 2009-10-01 Virtual Computer, Inc. Delivery of Virtualized Workspaces as Virtual Machine Images with Virtualized Hardware, Operating System, Applications and User Data

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090249335A1 (en) 2007-12-20 2009-10-01 Virtual Computer, Inc. Delivery of Virtualized Workspaces as Virtual Machine Images with Virtualized Hardware, Operating System, Applications and User Data

Also Published As

Publication number Publication date
KR20110071816A (en) 2011-06-29

Similar Documents

Publication Publication Date Title
JP7252356B2 (en) MOBILE EDGE COMPUTING NODE SELECTION METHOD, APPARATUS AND SYSTEM AND COMPUTER PROGRAM
US10698717B2 (en) Accelerator virtualization method and apparatus, and centralized resource manager
CN111542064B (en) Container arrangement management system and arrangement method for wireless access network
US8863138B2 (en) Application service performance in cloud computing
US9264369B2 (en) Technique for managing traffic at a router
KR101880407B1 (en) Resource management method, host, and endpoint
JP6783850B2 (en) Methods and systems for limiting data traffic
CN108737271B (en) Message routing method, device and system
KR20110083084A (en) Apparatus and method for operating server by using virtualization technology
CN107809495B (en) Address management method and device
US11868164B2 (en) On-demand code execution with limited memory footprint
US10382344B2 (en) Generating and/or receiving at least one packet to facilitate, at least in part, network path establishment
JP2014016700A (en) Information processing system, method for controlling information processing system and control program
KR20220080271A (en) Method and apparatus for returning execution result of function in name-based in-network distributed computing system
KR20160025926A (en) Apparatus and method for balancing load to virtual application server
JP2010218151A (en) Virtual computer management mechanism and cpu time allocation control method in virtual computer system
KR101233598B1 (en) Apparatus and method for controling network
WO2016179803A1 (en) Method, device and system for establishing connection between vnfm and vim
JP2023065176A (en) Program, information processing method and information processing device
JP2014187430A (en) Communication system, relay device, communication method, and program
US10963296B1 (en) Load balancing of compute resources based on resource credits
KR102025425B1 (en) Network apparatus for deploying virtual network function and method thereof
WO2024169161A1 (en) Resource configuration method and apparatus, and system and device
WO2024130565A1 (en) Task processing method and apparatus, and electronic device
CN110365720B (en) Method, device and system for processing resource request

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20160113

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20181229

Year of fee payment: 7