KR101938455B1 - Method and apparatus for perforiming dynamic edge computing - Google Patents
Method and apparatus for perforiming dynamic edge computing Download PDFInfo
- Publication number
- KR101938455B1 KR101938455B1 KR1020160142741A KR20160142741A KR101938455B1 KR 101938455 B1 KR101938455 B1 KR 101938455B1 KR 1020160142741 A KR1020160142741 A KR 1020160142741A KR 20160142741 A KR20160142741 A KR 20160142741A KR 101938455 B1 KR101938455 B1 KR 101938455B1
- Authority
- KR
- South Korea
- Prior art keywords
- edge computing
- network
- data processing
- computing devices
- information
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 36
- 238000012545 processing Methods 0.000 claims abstract description 77
- 230000008569 process Effects 0.000 claims description 11
- 238000004891 communication Methods 0.000 claims description 10
- 238000003860 storage Methods 0.000 claims description 10
- 238000010586 diagram Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/10015—Access to distributed or replicated servers, e.g. using brokers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/04—Network management architectures or arrangements
- H04L41/042—Network management architectures or arrangements comprising distributed management centres cooperatively managing the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0811—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0817—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/101—Server selection for load balancing based on network conditions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1012—Server selection for load balancing based on compliance of requirements or conditions with available server resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1014—Server selection for load balancing based on the content of a request
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
네트워크에 연결된 유저 디바이스로부터 데이터 처리 요청을 수신하고, 데이터 처리 요청이 수신됨에 따라, 네트워크의 연결 상태 및 네트워크에 연결된 복수의 에지 컴퓨팅 디바이스들의 데이터 처리 능력에 관한 정보를 포함하는 네트워크 자원 정보를 획득하고, 획득된 네트워크 자원 정보를 기초로, 복수의 에지 컴퓨팅 디바이스들 중 유저 디바이스로부터 요청된 데이터 처리를 수행하는 에지 컴퓨팅 디바이스를 결정하는 네트워크 제어 장치가 동적인 에지 컴퓨팅을 수행하는 방법이 개시된다. Receiving network data requests from a user device connected to the network and acquiring network resource information including information on connection status of the network and data processing capabilities of a plurality of edge computing devices connected to the network as the data processing request is received A method for performing dynamic edge computing is provided by a network controller that determines an edge computing device that performs requested data processing from a user device of a plurality of edge computing devices based on the obtained network resource information.
Description
개시된 실시예는 동적인 에지 컴퓨팅을 수행하는 방법, 동적인 에지 컴퓨팅을 수행하는 장치 및 동적인 에지 컴퓨팅을 수행하는 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 기록매체에 관한 것이다. The disclosed embodiments relate to a method for performing dynamic edge computing, an apparatus for performing dynamic edge computing, and a recording medium on which a program for executing a method of performing dynamic edge computing is stored in a computer.
급격히 발전하는 IoT(Internet of Thing) 시장에서 폭발적으로 늘어나는 종단 디바이스의 트래픽 양과 늘어나는 사용자들의 요구를 만족시키기엔 현재의 클라우드 컴퓨팅(cloud computing) 모델로는 한계점이 보인다. 클라우드 컴퓨팅은 부하의 집중, 실시간 연결의 한계, 보안문제, 복잡한 DB설계의 필요 등 많은 문제점이 있다. 이런 문제점들을 극복하기 위한 에지 컴퓨팅(edge computing) 모델이 제시되고 있다. 에지 컴퓨팅 모델은 물리적으로 가까운 게이트웨이(gateway)나 PC, Phone, 셋탑박스(set top box) 등에서 연산 과정을 거치고 실시간으로 빠른 응답을 해주고 편리한 인터페이스를 제공하며 클라우드 서버의 부하를 분산시켜주고 보안성도 향상시켜 준다.The current cloud computing model has its limitations to meet the ever-increasing demand for end-to-end device traffic and the growing demand from the rapidly evolving IoT (Internet of Thing) market. Cloud computing has many problems such as load concentration, limitations of real-time connections, security problems, and the need for complex DB design. An edge computing model is proposed to overcome these problems. The edge computing model processes computation in a physically close gateway, PC, phone, set top box, etc., provides quick response in real time, provides a convenient interface, distributes load of cloud server and improves security I will.
다만, 기존의 에지 컴퓨팅은 네트워크 서비스 제공자로부터 물리적으로 고정적인 위치에 위치하며 사용자는 항상 같은 에지컴퓨팅 서비스를 제공받는 구조이다. 이에 따라 네트워크 자원의 상태에 관계 없이, 같은 도메인의 사용자들은 항상 같은 물리적 에지 컴퓨팅 환경의 서비스를 제공받게 된다는 문제점이 있다.However, the conventional edge computing is located at a physically fixed position from the network service provider, and the user is always provided with the same edge computing service. Accordingly, users in the same domain always receive services of the same physical edge computing environment regardless of the state of network resources.
본 발명의 일 실시예는, SDN(Software Defined Network) 기반의 네트워크에서, 데이터 처리를 요청하는 유저 디바이스에 최적화된 에지 컴퓨팅 디바이스를 동적으로 선택하고, 선택된 에지 컴퓨팅 디바이스를 통해 데이터를 처리함으로써 데이터의 처리 반응 속도 및 데이터 전송의 성능을 높이고 네트워크의 혼잡을 방지하는 동적인 에지 컴퓨팅을 수행하는 방법 및 장치를 제공하고자 한다. 다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.One embodiment of the present invention provides a method and apparatus for dynamically selecting an edge computing device optimized for a user device requesting data processing in a Software Defined Network (SDN) based network and processing the data through the selected edge computing device And to provide a method and apparatus for performing dynamic edge computing that improves processing response speed and data transmission performance and prevents network congestion. It should be understood, however, that the technical scope of the present invention is not limited to the above-described technical problems, and other technical problems may exist.
일 실시예에 따라 네트워크 제어 장치가 동적인 에지 컴퓨팅을 수행하는 방법은, 네트워크에 연결된 유저 디바이스로부터 데이터 처리 요청을 수신하는 단계; 데이터 처리 요청이 수신됨에 따라, 네트워크의 연결 상태 및 네트워크에 연결된 복수의 에지 컴퓨팅 디바이스들의 데이터 처리 능력에 관한 정보를 포함하는 네트워크 자원 정보를 획득하는 단계; 및 획득된 네트워크 자원 정보를 기초로, 복수의 에지 컴퓨팅 디바이스들 중 유저 디바이스로부터 요청된 데이터 처리를 수행하는 에지 컴퓨팅 디바이스를 결정하는 단계를 포함한다. According to one embodiment, a method for a network control device to perform dynamic edge computing includes receiving a data processing request from a user device connected to a network; Obtaining network resource information including information on a connection state of the network and data processing capability of a plurality of edge computing devices connected to the network as the data processing request is received; And determining an edge computing device that performs the requested data processing from the user device of the plurality of edge computing devices based on the obtained network resource information.
일 실시예에 따라 네트워크 제어 장치가 동적인 에지 컴퓨팅을 수행하는 방법에 있어서, 데이터 처리 능력은, 복수의 에지 컴퓨팅 디바이스들 각각의 연산 능력 및 저장 능력을 포함한다. In a method for performing dynamic edge computing in a network control device according to an embodiment, the data processing capability includes computing capability and storage capability of each of the plurality of edge computing devices.
일 실시예에 따라 네트워크 제어 장치가 동적인 에지 컴퓨팅을 수행하는 방법은, 획득된 네트워크 자원 정보를 기초로, 복수의 에지 컴퓨팅 디바이스들 각각의 처리 가능 자원값을 결정하는 단계를 더 포함한다. According to one embodiment, a method for a network controller to perform dynamic edge computing further comprises determining a processable resource value of each of the plurality of edge computing devices based on the obtained network resource information.
일 실시예에 따라 네트워크 제어 장치가 동적인 에지 컴퓨팅을 수행하는 방법에 있어서, 에지 컴퓨팅 디바이스를 결정하는 단계는, 요청된 데이터 처리에 필요한 대역폭, 연산 종류 및 메모리 용량 중 적어도 하나에 관한 소요 자원값을 결정하는 단계; 및 소요 자원값과 복수의 에지 컴퓨팅 디바이스들 각각의 처리 가능 자원값을 비교하는 단계; 및 비교 결과에 기초하여, 복수의 에지 컴퓨팅 디바이스들 중 어느 하나를 선택하는 단계를 포함한다.In a method for performing dynamic edge computing in a network control device according to an embodiment, the step of determining an edge computing device includes determining a required resource value for at least one of bandwidth, ; And comparing the required resource value with the processable resource value of each of the plurality of edge computing devices; And selecting one of the plurality of edge computing devices based on the comparison result.
일 실시예에 따라 네트워크 제어 장치가 동적인 에지 컴퓨팅을 수행하는 방법에 있어서, 에지 컴퓨팅 디바이스를 결정하는 단계는, 처리 가능 자원값이 상기 소요 자원값 이상인 적어도 하나의 에지 컴퓨팅 디바이스 중 유저 디바이스와 거리가 가장 가까운 에지 컴퓨팅 디바이스를 선택한다. A method for performing a dynamic edge computing in a network control device according to an embodiment, the step of determining an edge computing device comprises the steps of: Selects the nearest edge computing device.
일 실시예에 따라 네트워크 제어 장치가 동적인 에지 컴퓨팅을 수행하는 방법은, 유저 디바이스에 결정된 에지 컴퓨팅 디바이스의 식별 정보 및 경로 정보를 제공하는 단계를 더 포함한다. According to one embodiment, a method for a network control device to perform dynamic edge computing further comprises providing identification information and path information of a determined edge computing device to a user device.
일 실시예에 따라 동적인 에지 컴퓨팅을 수행하는 네트워크 제어 장치는, 네트워크에 연결된 유저 디바이스로부터 데이터 처리 요청을 수신하는 통신부; 데이터 처리 요청이 수신됨에 따라, 네트워크의 연결 상태 및 네트워크에 연결된 복수의 에지 컴퓨팅 디바이스들의 데이터 처리 능력에 관한 정보를 포함하는 네트워크 자원 정보를 획득하는 정보 획득부; 및 획득된 네트워크 자원 정보를 기초로, 복수의 에지 컴퓨팅 디바이스들 중 유저 디바이스로부터 요청된 데이터 처리를 수행하는 에지 컴퓨팅 디바이스를 결정하는 프로세서를 포함한다. According to an embodiment, a network control apparatus for performing dynamic edge computing includes a communication unit for receiving a data processing request from a user device connected to a network; An information obtaining unit that obtains network resource information including information on a connection state of the network and data processing capability of a plurality of edge computing devices connected to the network as the data processing request is received; And a processor for determining an edge computing device to perform the requested data processing from the user device of the plurality of edge computing devices based on the obtained network resource information.
일 실시예에 따라 동적인 에지 컴퓨팅을 수행하는 네트워크 제어 장치에 있어서, 데이터 처리 능력은, 복수의 에지 컴퓨팅 디바이스들 각각의 연산 능력 및 저장 능력을 포함한다. In a network control device that performs dynamic edge computing according to one embodiment, the data processing capabilities include computing and storage capabilities of each of the plurality of edge computing devices.
일 실시예에 따라 동적인 에지 컴퓨팅을 수행하는 네트워크 제어 장치에 있어서, 프로세서는, 획득된 네트워크 자원 정보를 기초로, 복수의 에지 컴퓨팅 디바이스들 각각의 처리 가능 자원값을 결정한다. In a network control apparatus for performing dynamic edge computing according to an embodiment, the processor determines the processable resource value of each of the plurality of edge computing devices based on the obtained network resource information.
일 실시예에 따라 동적인 에지 컴퓨팅을 수행하는 네트워크 제어 장치에 있어서, 프로세서는, 요청된 데이터 처리에 필요한 대역폭, 연산 종류 및 메모리 용량 중 적어도 하나에 관한 소요 자원값을 결정하고, 소요 자원값과 복수의 에지 컴퓨팅 디바이스들 각각의 처리 가능 자원값을 비교하며, 비교 결과에 기초하여, 복수의 에지 컴퓨팅 디바이스들 중 어느 하나를 선택한다. In a network control apparatus for performing dynamic edge computing according to an embodiment, a processor determines a required resource value for at least one of a bandwidth, an operation type, and a memory capacity required for processing a requested data, Compares the processable resource values of each of the plurality of edge computing devices, and selects one of the plurality of edge computing devices based on the comparison result.
일 실시예에 따라 동적인 에지 컴퓨팅을 수행하는 네트워크 제어 장치에 있어서, 프로세서는, 에지 컴퓨팅 디바이스를 결정하는 단계는, 처리 가능 자원값이 상기 소요 자원값 이상인 적어도 하나의 에지 컴퓨팅 디바이스 중 유저 디바이스와 거리가 가장 가까운 에지 컴퓨팅 디바이스를 선택한다.In a network control apparatus for performing dynamic edge computing in accordance with one embodiment, the processor may be configured to determine an edge computing device based on at least one of at least one edge computing device with a processable resource value equal to or greater than the required resource value, Select the edge computing device with the closest distance.
일 실시예에 따라 동적인 에지 컴퓨팅을 수행하는 네트워크 제어 장치에 있어서, 통신부는, 유저 디바이스에 결정된 에지 컴퓨팅 디바이스의 식별 정보 및 경로 정보를 제공한다. In the network control apparatus for performing dynamic edge computing according to an embodiment, the communication unit provides identification information and path information of the determined edge computing device to the user device.
일 실시예에 따른 동적인 에지 컴퓨팅을 수행하는 방법 및 장치를 통해 데이터 처리를 요청하는 유저 디바이스를 기준으로 최적화된 에지 컴퓨팅 디바이스에 자원을 할당하여 처리함으로써, 유저에게는 데이터 처리반응속도를 향상시키는 효과를 제공할 수 있고, 네트워크 서비스 제공자에게는 트래픽 양을 조절하는 효과를 제공할 수 있다. The method and apparatus for performing dynamic edge computing according to an exemplary embodiment allocate and process resources to an edge computing device optimized on the basis of a user device requesting data processing, And provide the network service provider with the effect of adjusting the amount of traffic.
도 1은 일 실시예에 따라 동적인 에지 컴퓨팅을 수행하는 시스템을 설명하기 위한 도면이다.
도 2는 일 실시예에 따른 네트워크 제어 장치가 동적인 에지 컴퓨팅을 수행하는 방법을 설명하기 위한 흐름도이다.
도 3는 일 실시예에 따른 네트워크 제어 장치가 동적인 에지 컴퓨팅을 수행하는 방법을 보다 구체적으로 설명하기 위한 흐름도이다.
도 4는 고정적으로 에지 컴퓨팅 디바이스를 통해 에지 컴퓨팅을 수행하는 경우 발생되는 문제점을 설명하기 위한 도면이다.
도 5는 일 실시예에 따른 네트워크 제어 장치가 동적으로 에지 컴퓨팅 디바이스를 결정하여 데이터를 처리하는 방법을 설명하기 위한 도면이다.
도 6는 일 실시예에 따른 네트워크 제어 장치의 블록도이다. Figure 1 is a diagram illustrating a system for performing dynamic edge computing in accordance with one embodiment.
FIG. 2 is a flowchart illustrating a method for performing dynamic edge computing by a network control apparatus according to an exemplary embodiment of the present invention. Referring to FIG.
3 is a flowchart illustrating a method of performing dynamic edge computing according to an exemplary embodiment of the present invention.
4 is a diagram for explaining a problem that occurs when edge computing is performed stably through an edge computing device.
5 is a diagram illustrating a method for a network control apparatus according to an embodiment to dynamically determine an edge computing device to process data.
6 is a block diagram of a network control apparatus according to an embodiment.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 본 발명에 대해 구체적으로 설명하기로 한다. The terms used in this specification will be briefly described and the present invention will be described in detail.
본 발명에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 해당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다. While the present invention has been described in connection with what is presently considered to be the most practical and preferred embodiment, it is to be understood that the invention is not limited to the disclosed embodiments. Also, in certain cases, there may be a term selected arbitrarily by the applicant, in which case the meaning thereof will be described in detail in the description of the corresponding invention. Therefore, the term used in the present invention should be defined based on the meaning of the term, not on the name of a simple term, but on the entire contents of the present invention.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 "...부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.When an element is referred to as "including" an element throughout the specification, it is to be understood that the element may include other elements as well, without departing from the spirit or scope of the present invention. Also, the terms "part," " module, "and the like described in the specification mean units for processing at least one function or operation, which may be implemented in hardware or software or a combination of hardware and software .
이하 첨부된 도면을 참고하여 본 발명을 상세히 설명하기로 한다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.
도 1은 일 실시예에 따라 동적인 에지 컴퓨팅을 수행하는 시스템(10)을 설명하기 위한 도면이다. 1 is a diagram for describing a
도 1을 참조하면, 동적인 에지 컴퓨팅을 수행하는 시스템(10)의 각 구성 요소들은 일반적으로 네트워크(network)를 통해 연결된다. 네트워크는 네트워크 장치들 간에 정보 교환이 가능한 연결 구조를 의미하는 것으로, 이러한 네트워크의 일 예는, Wi-Fi, 인터넷(Internet), LAN(Local Area Network), Wireless LAN(Wireless Local Area Network), WAN(Wide Area Network), PAN(Personal Area Network), 3G, 4G, LTE 등이 포함되나 이에 한정되지는 않는다.Referring to FIG. 1, each component of the
일 실시예에 따라 동적인 에지 컴퓨팅을 수행하는 시스템(10)은 복수의 네트워크 장치들(예를 들어, 12, 22, 32)을 제어하는 제어 장치(100) 및 복수의 네트워크 장치들(예를 들어, 12, 22, 32)을 포함할 수 있다. 여기에서, 복수의 네트워크 장치들(예를 들어, 12, 22, 32)은 적어도 하나의 유저 디바이스(12, 14, 16), 스위치, 라우터와 같은 적어도 하나의 연결 노드(22, 24, 26) 및 적어도 하나의 에지 컴퓨팅 디바이스(32, 34, 36)를 포함할 수 있다. 다만, 이는 일 실시예일 뿐 동적인 에지 컴퓨팅을 수행하는 시스템(10)의 구성 요소들이 전술한 예에 한정되는 것은 아니다. A
동적인 에지 컴퓨팅을 수행하는 시스템(10)는 소프트웨어 정의 네트워크 기반의 시스템으로, 복수의 네트워크 장치들(예를 들어, 12, 22, 32)은 기본적으로 소프트웨어를 통해 연산된 경로와 정책을 하드웨어로 적용하여 패킷을 처리하도록 하는 구조를 가진다. 또한, 네트워크 전체의 관점에서 다루어져야 하는 상태 감시, 라우팅(Routing) 및 QoS(Quality of Service) 등의 정책들은 소프트웨어를 통해 연산될 수 있다. A
제어 장치(100)는 동적인 에지 컴퓨팅을 수행하는 시스템(10)을 제어하는 일종의 지휘 컴퓨터로서, 다양하고 복잡한 기능들, 예를 들어, 라우팅, 정책 선언, 및 보안 체크 등을 할 수 있다. 제어 장치(100)는 하위 계층의 복수의 네트워크 장치들(예를 들어, 12, 22, 32)에서 발생하는 데이터의 플로우를 정의할 수 있다. 제어 장치(100)는 네트워크 정책 상 허용되는 플로우에 대해 네트워크 토폴로지 등을 참조하여 데이터 경로를 계산한 후, 경로 상의 복수의 네트워크 장치들(예를 들어, 12, 22, 32)에 플로우의 엔트리가 설정되도록 할 수 있다. The
또한, 일 실시예에 따른 제어 장치(100)는 유저 디바이스(예를 들어, 12)에서 데이터 처리 요청이 발생하는 경우, 유저 디바이스(예를 들어, 12)의 데이터를 처리하는 에지 컴퓨팅 디바이스를 결정할 수 있다. 예를 들어, 제어 장치(100)는 네트워크의 연결 상태 및 네트워크에 연결된 복수의 에지 컴퓨팅 디바이스들의 데이터 처리 능력에 관한 정보를 포함하는 네트워크 자원 정보를 기초로, 복수의 에지 컴퓨팅 디바이스들(32, 34, 36) 중 데이터를 처리하는데 최적화된 에지 컴퓨팅 디바이스를 결정할 수 있다.In addition, the
일 실시예에 따른 동적인 에지 컴퓨팅을 수행하는 시스템(100)는 네트워크 자원 정보를 기초로 유저 디바이스가 요청하는 데이터의 처리를 수행할 에지 컴퓨팅 디바이스를 동적으로 선택함으로써, 부하를 분산시켜 데이터 처리의 효율성을 높일 수 있다. The
도 2는 일 실시예에 따른 네트워크 제어 장치가 동적인 에지 컴퓨팅을 수행하는 방법을 설명하기 위한 흐름도이다. FIG. 2 is a flowchart illustrating a method for performing dynamic edge computing by a network control apparatus according to an exemplary embodiment of the present invention. Referring to FIG.
단계 S210에서, 네트워크 제어 장치는 네트워크에 연결된 유저 디바이스로부터 데이터 처리 요청을 수신할 수 있다. In step S210, the network control device can receive a data processing request from a user device connected to the network.
일 실시예에 따른 네트워크 제어 장치가 유저 디바이스로부터 수신하는 데이터 처리 요청에는 데이터의 처리에 필요한 연산 정보 및 유저 디바이스의 식별 정보 등이 포함될 수 있다. 데이터의 처리에 필요한 연산 정보에는 연산의 종류 및 데이터의 용량 등에 관한 정보가 포함될 수 있다. 다만, 이는 일 실시예일 뿐, 데이터의 처리에 필요한 연산 정보가 전술한 예에 한정되는 것은 아니다. The data processing request received from the user device by the network control apparatus according to an exemplary embodiment may include operation information required for processing data and identification information of the user device. The operation information necessary for processing the data may include information on the type of operation and the capacity of the data. However, this is only an embodiment, and the operation information necessary for processing the data is not limited to the above example.
단계 S220에서, 네트워크 제어 장치는 데이터 처리 요청이 수신됨에 따라, 네트워크의 연결 상태 및 네트워크에 연결된 복수의 에지 컴퓨팅 디바이스들의 데이터 처리 능력에 관한 정보를 포함하는 네트워크 자원 정보를 획득할 수 있다. In step S220, as the data processing request is received, the network control device can obtain network resource information including information on the connection state of the network and the data processing capability of a plurality of edge computing devices connected to the network.
일 실시예에 따른 네트워크의 연결 상태에 관한 정보에는 네트워크 상에 존재하는 복수의 네트워크 장치들을 연결하는 경로의 혼잡도 및 플로우의 방향 및 경로에 관한 정보가 포함될 수 있다. 또한, 복수의 에지 컴퓨팅 디바이스들의 데이터 처리 능력에 관한 정보에는 복수의 에지 컴퓨팅 디바이스들 각각에서 처리 가능한 연산의 종류, 연산량 등을 나타내는 연산 능력 및 저장 가능한 데이터의 용량을 나타내는 저장 능력에 관한 정보가 포함될 수 있다. The information on the connection state of the network according to an exemplary embodiment may include information on the congestion degree and the direction and path of the flow connecting the plurality of network devices existing on the network. The information on the data processing capability of the plurality of edge computing devices includes information on the storage capacity indicating the type of computation that can be processed in each of the plurality of edge computing devices, the computation capability indicating the amount of computation, and the capacity of the storable data .
단계 S230에서, 네트워크 제어 장치는 획득된 네트워크 자원 정보를 기초로, 복수의 에지 컴퓨팅 디바이스들 중 유저 디바이스로부터 요청된 데이터 처리를 수행하는 에지 컴퓨팅 디바이스를 결정할 수 있다. In step S230, the network control device may determine, based on the acquired network resource information, an edge computing device that performs the requested data processing from the user device among the plurality of edge computing devices.
일 실시예에 따른, 네트워크 제어 장치는 데이터를 요청한 유저 디바이스와 복수의 에지 컴퓨팅 디바이스들 각각 간의 가용 대역폭 및 요청된 데이터의 연산 종류, 연산량 등을 고려하여, 가장 신속하게 데이터를 처리할 수 있는 에지 컴퓨팅 디바이스를 선택할 수 있다. According to one embodiment, the network control apparatus determines an edge that can process data most quickly in consideration of the available bandwidth between each user device that has requested the data and each of the plurality of edge computing devices, A computing device can be selected.
예를 들어, 네트워크 제어 장치는 데이터 전송 혹은 계산 등을 요구하는 데이터 처리를 요청하는 유저 디바이스에서 가장 가까운 곳에 위치한 에지 컴퓨팅 디바이스에 저장 및 계산 자원을 할당하여 데이터가 처리될 수 있도록 에지 컴퓨팅 디바이스를 선택할 수 있다. For example, the network control device may allocate storage and computation resources to edge computing devices located closest to the user device requesting data processing, such as data transfer or computation, to select the edge computing devices so that the data can be processed .
이에 따라, 유저 디바이스 입장에서는 데이터 전송의 성능이 향상되고, 데이터 저장 및 계산에 대한 처리 반응 속도가 빨라지며, 네트워크 서비스 제공자 입장에서는 데이터 트래픽의 양을 조절할 수 있다. As a result, the performance of data transmission is improved in the case of a user device, the processing speed of data storage and calculation is increased, and the amount of data traffic can be controlled for a network service provider.
도 3는 일 실시예에 따른 네트워크 제어 장치가 동적인 에지 컴퓨팅을 수행하는 방법을 보다 구체적으로 설명하기 위한 흐름도이다. 3 is a flowchart illustrating a method of performing dynamic edge computing according to an exemplary embodiment of the present invention.
단계 S310에서, 네트워크 제어 장치는 네트워크에 연결된 유저 디바이스로부터 데이터 처리 요청을 수신할 수 있다. 예를 들어, 네트워크 제어 장치는 유저 디바이스로부터 데이터 전송, 계산 및 저장 중 적어도 하나에 대한 요청을 수신할 수 있다. In step S310, the network control device may receive a data processing request from a user device connected to the network. For example, the network control device may receive a request for at least one of data transfer, calculation and storage from a user device.
단계 S320에서, 네트워크 제어 장치는 데이터 처리 요청이 수신됨에 따라, 네트워크 자원 정보를 획득할 수 있다.In step S320, the network control device can acquire network resource information as the data processing request is received.
여기에서, 네트워크 자원 정보는 네트워크의 연결 상태 및 네트워크에 연결된 복수의 에지 컴퓨팅 디바이스들의 데이터 처리 능력에 관한 정보를 포함할 수 있다. 네트워크 제어 장치는 네트워크 상에 존재하는 복수의 네트워크 장치들과의 연결을 통해, 복수의 네트워크 장치들 각각으로부터 네트워크 자원 정보를 획득할 수 있다. Here, the network resource information may include information on a connection state of the network and data processing capabilities of a plurality of edge computing devices connected to the network. The network control device can obtain network resource information from each of the plurality of network devices through a connection with a plurality of network devices existing on the network.
단계 S330에서, 네트워크 제어 장치는 획득된 네트워크 자원 정보를 기초로, 복수의 에지 컴퓨팅 디바이스들 각각의 처리 가능 자원값을 결정할 수 있다. 여기에서, 처리 가능 자원값은 복수의 에지 컴퓨팅 디바이스들 각각에 대한 가용 대역폭 값, 복수의 에지 컴퓨팅 디바이스들 각각과 유저 디바이스 간의 거리, 연산량 값 및 메모리 용량 값 중 하나 또는 둘 이상의 조합으로부터 산출될 수 있다. In step S330, the network control device can determine the processable resource value of each of the plurality of edge computing devices based on the obtained network resource information. Here, the processable resource value can be calculated from one or a combination of one or more of an available bandwidth value for each of the plurality of edge computing devices, a distance between each of the plurality of edge computing devices and the user device, a computation amount value, have.
단계 S340에서, 네트워크 제어 장치는 복수의 에지 컴퓨팅 디바이스들 각각의 처리 가능 자원값을 비교하여 데이터 처리를 수행하는 에지 컴퓨팅 디바이스를 결정할 수 있다. In step S340, the network control device may compare the processable resource value of each of the plurality of edge computing devices to determine an edge computing device performing data processing.
예를 들어, 네트워크 제어 장치는 데이터 처리에 필요한 소요 자원값을 기준으로, 복수의 에지 컴퓨팅 디바이스들 각각의 처리 가능 자원값을 비교하여 복수의 에지 컴퓨팅 디바이스들 중 하나를 결정할 수 있다. For example, the network control device can determine the one of the plurality of edge computing devices by comparing the processable resource value of each of the plurality of edge computing devices, based on the required resource value required for data processing.
일 실시예에 따른 네트워크 제어 장치는 유저 디바이스로부터 수신한 데이터 처리 요청에 포함된 데이터 관련 정보를 통해 소요 자원값을 결정할 수 있다. 예를 들어, 네트워크 제어 장치는 유저 디바이스가 B 데이터의 저장을 요청한 경우, B 데이터를 저장하는데 필요한 메모리 용량, B 데이터를 전송하는데 필요한 대역폭 등에 관한 정보를 산출하여 소요 자원값을 결정할 수 있다. The network control apparatus according to an exemplary embodiment may determine a required resource value through data related information included in a data processing request received from a user device. For example, when the user device requests the storage of the B data, the network control device can determine the required resource value by calculating information on the memory capacity required to store the B data, the bandwidth required to transmit the B data, and the like.
한편, 네트워크 제어 장치는 복수의 에지 컴퓨팅 디바이스들 중 소요 자원값 이상의 처리 가능 자원값을 갖는 에지 컴퓨팅 디바이스를 선택할 수 있다. On the other hand, the network control apparatus can select an edge computing device having a processable resource value of a required resource value or more among a plurality of edge computing devices.
네트워크 제어 장치는 소요 자원값 이상의 처리 가능 자원값을 갖는 에지 컴퓨팅 디바이스가 복수인 경우, 복수의 에지 컴퓨팅 디바이스 중 보다 더 최적화된 에지 컴퓨팅 디바이스를 선택할 수 있다. 예를 들어, 네트워크 제어 장치는 소요 자원값 이상의 처리 가능 자원값을 갖는 제 1 에지 컴퓨팅 디바이스 및 제 2 에지 컴퓨팅 디바이스 중 데이터 처리를 요청한 유저 디바이스와 상대적으로 더 가까운 위치에 연결되어 있는 제 1 에지 컴퓨팅 디바이스를 선택할 수 있다. The network control apparatus can select a more optimized edge computing device among the plurality of edge computing devices when there are a plurality of edge computing devices having a processable resource value of a required resource value or more. For example, the network control device may include a first edge computing device having a processable resource value equal to or greater than a required resource value, and a first edge computing device connected to a second edge computing device, Device can be selected.
단계 S350에서, 네트워크 제어 장치는 유저 디바이스에, 결정된 에지 컴퓨팅 디바이스의 식별 정보 및 경로 정보를 제공할 수 있다.In step S350, the network control device may provide the user device with identification information and path information of the determined edge computing device.
이에 따라, 유저 디바이스는 네트워크 제어 장치로부터 제공 받은 경로 정보에 따라, 결정된 에지 컴퓨팅 디바이스에 처리하고자 하는 데이터를 전송할 수 있다. 여기에서, 데이터는 패킷 또는 기 설정된 크기의 데이터 단위로 유저 디바이스로부터 결정된 에지 컴퓨팅 디바이스에 전송될 수 있다. Accordingly, the user device can transmit data to be processed to the determined edge computing device according to the path information provided from the network control device. Here, the data may be transmitted to the edge computing device determined from the user device as a packet or data unit of predetermined size.
도 4는 고정적으로 에지 컴퓨팅 디바이스를 통해 에지 컴퓨팅을 수행하는 경우 발생되는 문제점을 설명하기 위한 도면이다. 4 is a diagram for explaining a problem that occurs when edge computing is performed stably through an edge computing device.
도 4를 참조하면, 네트워크 상에는 복수의 유저 디바이스들(412, 414, 416), 복수의 연결 장치들(422, 424, 426) 및 복수의 에지 컴퓨팅 디바이스들(432, 434, 436)이 연결될 수 있다. 4, a plurality of
기존의 에지 컴퓨팅 시스템의 경우, 유저 디바이스(예를 들어, 412)에서 발생되는 데이터를 처리하는 에지 컴퓨팅 디바이스가 물리적으로 고정적인 위치에 존재함에 따라, 유저 디바이스(예를 들어, 412)는 항상 동일한 에지 컴퓨팅 디바이스에 의해 데이터 처리 서비스를 제공받게 된다. In the case of an existing edge computing system, the user device (e.g., 412) is always the same as the edge computing device processing the data originating from the user device (e.g., 412) And the data processing service is provided by the edge computing device.
도 4에서는 제 1 유저 디바이스(412) 및 제 2 유저 디바이스(414)에서 각각 발생되는 데이터를 처리하는 에지 컴퓨팅 디바이스가 제 1 에지 컴퓨팅 디바이스(432)로 고정되어 있는 것으로 가정한다. 한편, 이러한 경우, 제 1 유저 디바이스(412) 및 제 2 유저 디바이스(414)에서 동시에 데이처 처리 요청이 발생한 경우에도, 모든 데이터 처리 요청이 기 설정된 제 1 에지 컴퓨팅 디바이스(432)로 전달되게 된다. In FIG. 4, it is assumed that the edge computing device processing data generated in each of the
이에 따라, 데이터 처리가 가능한 다른 제 2 에지 컴퓨팅 디바이스(434)가 데이터 처리를 요청한 제 1 유저 디바이스(412) 및 제 2 유저 디바이스(414)와 가까운 위치에 연결되어 있음에도 불구하고, 트래픽이 제 1 에지 컴퓨팅 디바이스(432)에 집중됨에 따라 혼잡이 야기될 수 있다. Thus, even though another second
도 5는 일 실시예에 따른 네트워크 제어 장치(미도시)가 동적으로 에지 컴퓨팅 디바이스를 결정하여 데이터를 처리하는 방법을 설명하기 위한 도면이다. 5 is a diagram illustrating a method for a network control apparatus (not shown) according to an embodiment to dynamically determine an edge computing device to process data.
도 5를 참조하면, 네트워크 상에는 복수의 유저 디바이스들(512, 514, 516), 복수의 연결 장치들(522, 524, 526) 및 복수의 에지 컴퓨팅 디바이스들(532, 534, 536)이 연결될 수 있다. 5, a plurality of
일 실시예에 따른 네트워크 제어 장치(미도시)는 제 1 유저 디바이스(512) 및 제 2 유저 디바이스(514) 각각으로부터 데이터 처리 요청을 수신할 수 있다. 이에 따라, 네트워크 제어 장치(미도시)는 데이터 처리 요청이 수신된 시점의 네트워크의 연결 상태 및 상기 네트워크에 연결된 복수의 에지 컴퓨팅 디바이스들의 데이터 처리 능력에 관한 정보를 포함하는 네트워크 자원 정보를 획득할 수 있다. A network control device (not shown) according to one embodiment may receive a data processing request from each of the
예를 들어, 네트워크 제어 장치(미도시)는 제 1 에지 컴퓨팅 디바이스(532)가 메모리의 30%를 다른 데이터를 저장하는데 사용 중이고, 제 2 에지 컴퓨팅 디바이스(534)는 가용 대역폭이 B이며, 제 3 에지 컴퓨팅 디바이스(536)는 쓰루풋(throughput) C의 데이터 전송 성능을 가지고 있음을 확인할 수 있다. 또한, 네트워크 제어 장치(미도시)는 요청이 발생한 유저 디바이스와 복수의 에지 컴퓨팅 디바이스들(532, 534, 536) 각각 간의 거리에 관한 정보를 획득할 수도 있다. For example, the network control device (not shown) may be configured such that the first
네트워크 제어 장치(미도시)는 획득된 네트워크 자원 정보를 기초로 판단한 결과 제 1 유저 디바이스(512)의 데이터는 제 1 에지 컴퓨팅 디바이스(532)에서 처리하고, 제 2 유저 디바이스(514)의 데이터는 제 2 에지 컴퓨팅 디바이스(534)에서 처리하는 것이 가장 최적화된 방법임을 도출할 수 있다. As a result of the determination based on the obtained network resource information, the network control device (not shown) processes the data of the
이에 따라, 네트워크 제어 장치(미도시)는 제 1 에지 컴퓨팅 디바이스(532)의 식별 정보 및 제 1 에지 컴퓨팅 디바이스(532)와 제 1 유저 디바이스(512) 간의 경로 정보를 제 1 유저 디바이스(512)에 제공할 수 있다. 또한, 네트워크 제어 장치(미도시)는 제 2 에지 컴퓨팅 디바이스(534)의 식별 정보 및 제 1 에지 컴퓨팅 디바이스(534)와 제 1 유저 디바이스(512) 간의 경로 정보를 제 1 유저 디바이스(512)에 제공할 수 있다.Accordingly, the network control device (not shown) provides identification information of the first
일 실시예에 따른 네트워크 제어 장치(미도시)는 요청이 발생된 요청 디바이스에 따라 에지 컴퓨팅 디바이스를 동적으로 선택하여, 도 4를 참고하여 전술한 바와 같이 발생될 수 있는 네트워크 혼잡의 문제를 줄일 수 있다. A network control device (not shown) according to one embodiment may dynamically select an edge computing device according to the requesting device for which the request originated, thereby reducing the problem of network congestion that may occur as described above with reference to FIG. 4 have.
도 6는 일 실시예에 따른 네트워크 제어 장치(100)의 블록도이다. 6 is a block diagram of a
도 6에 도시된 네트워크 제어 장치(100)에는 본 실시예와 관련된 구성 요소들만이 도시되어 있다. 도 6에 도시된 바와 같이, 일 실시예에 따른 네트워크 제어 장치(100)는 통신부(110), 정보 획득부(120), 프로세서(130) 및 메모리(140)를 포함할 수 있다. 그러나 도시된 구성요소 모두가 필수구성요소인 것은 아니다. 도시된 구성요소보다 많은 구성요소에 의해 네트워크 제어 장치(100)가 구현될 수도 있고, 그보다 적은 구성요소에 의해서도 네트워크 제어 장치(100)는 구현될 수 있다.Only the components related to the present embodiment are shown in the
통신부(110)는 네트워크 제어 장치(100)와 외부 디바이스(예를 들어, 도 1의 유저 디바이스(12, 14, 16), 연결 장치(22, 24, 26), 에지 컴퓨팅 디바이스(32, 34, 36)) 간의 통신을 하게 하는 하나 이상의 구성요소를 포함할 수 있다. The communication unit 110 is connected to the
일 실시예에 따른 통신부(110)는 네트워크에 연결된 유저 디바이스(예를 들어, 12)로부터 데이터 처리 요청을 수신할 수 있다. 또한, 통신부(110)는 유저 디바이스(예를 들어, 12)에 상기 결정된 에지 컴퓨팅 디바이스의 식별 정보 및 경로 정보를 제공할 수 있다. The communication unit 110 according to an embodiment may receive a data processing request from a user device (for example, 12) connected to the network. In addition, the communication unit 110 may provide the user device (e.g., 12) with the identification information and the path information of the determined edge computing device.
정보 획득부(120)는 데이터 처리 요청이 수신됨에 따라, 네트워크의 연결 상태 및 네트워크에 연결된 복수의 에지 컴퓨팅 디바이스들의 데이터 처리 능력에 관한 정보를 포함하는 네트워크 자원 정보를 획득할 수 있다. As the data processing request is received, the
프로세서(130)는 통상적으로 네트워크 제어 장치(100)의 전반적인 동작을 제어한다. The
프로세서(130)는 획득된 네트워크 자원 정보를 기초로, 복수의 에지 컴퓨팅 디바이스들 중 상기 유저 디바이스로부터 요청된 데이터 처리를 수행하는 에지 컴퓨팅 디바이스를 결정할 수 있다. The
예를 들어, 프로세서(130)는 획득된 네트워크 자원 정보를 기초로, 복수의 에지 컴퓨팅 디바이스들 각각의 처리 가능 자원값을 결정할 수 있다. 프로세서(130)는 요청된 데이터 처리에 필요한 대역폭, 연산 종류 및 메모리 용량 중 적어도 하나에 관한 소요 자원값을 결정할 수 있다. For example, the
프로세서(130)는 소요 자원값과 복수의 에지 컴퓨팅 디바이스들 각각의 처리 가능 자원값을 비교할 수 있다. 또한, 프로세서(130)는 비교 결과에 기초하여, 복수의 에지 컴퓨팅 디바이스들 중 어느 하나를 선택할 수 있다. The
메모리(140)는 프로세서(130)의 처리 및 제어를 위한 프로그램을 저장할 수도 있고, 입/출력되는 데이터들(예를 들어, 네트워크 자원 정보, 에지 컴퓨팅 디바이스의 식별 정보)을 저장할 수도 있다.
메모리(140)는 네트워크 상에 존재하는 복수의 네트워크 장치들의 식별 정보 및 기 설정된 프로토콜 정보 등을 저장할 수 있다. The
메모리(140)는 데이터 처리 요청이 수신됨에 따라 획득되는 네트워크의 연결 상태, 네트워크에 연결된 복수의 에지 컴퓨팅 디바이스들의 데이터 처리 능력에 관한 정보를 저장할 수 있다. The
메모리(140)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(RAM, Random Access Memory) SRAM(Static Random Access Memory), 롬(ROM, Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다.The
본 발명에 따른 장치는 프로세서, 프로그램 데이터를 저장하고 실행하는 메모리, 디스크 드라이브와 같은 영구 저장부(permanent storage), 외부 장치와 통신하는 통신 포트, 터치 패널, 키(key), 버튼 등과 같은 사용자 인터페이스 장치 등을 포함할 수 있다. An apparatus according to the present invention may include a processor, a memory for storing and executing program data, a permanent storage such as a disk drive, a communication port for communicating with an external device, a user interface such as a touch panel, a key, Devices, and the like.
소프트웨어 모듈 또는 알고리즘으로 구현되는 방법들은 상기 프로세서상에서 실행 가능한 컴퓨터가 읽을 수 있는 코드들 또는 프로그램 명령들로서 컴퓨터가 읽을 수 있는 기록 매체 상에 저장될 수 있다. 여기서 컴퓨터가 읽을 수 있는 기록 매체로 마그네틱 저장 매체(예컨대, ROM(read-only memory), RAM(random-access memory), 플로피 디스크, 하드 디스크 등) 및 광학적 판독 매체(예컨대, 시디롬(CD-ROM), 디브이디(DVD: Digital Versatile Disc)) 등이 있다. 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템들에 분산되어, 분산 방식으로 컴퓨터가 판독 가능한 코드가 저장되고 실행될 수 있다. 매체는 컴퓨터에 의해 판독가능하며, 메모리에 저장되고, 프로세서에서 실행될 수 있다. Methods implemented with software modules or algorithms may be stored on a computer readable recording medium as computer readable codes or program instructions executable on the processor. Here, the computer-readable recording medium may be a magnetic storage medium such as a read-only memory (ROM), a random-access memory (RAM), a floppy disk, a hard disk, ), And a DVD (Digital Versatile Disc). The computer-readable recording medium may be distributed over networked computer systems so that computer readable code can be stored and executed in a distributed manner. The medium is readable by a computer, stored in a memory, and executable on a processor.
본 발명에서 인용하는 공개 문헌, 특허 출원, 특허 등을 포함하는 모든 문헌들은 각 인용 문헌이 개별적으로 및 구체적으로 병합하여 나타내는 것 또는 본 발명에서 전체적으로 병합하여 나타낸 것과 동일하게 본 발명에 병합될 수 있다.All documents, including publications, patent applications, patents, etc., cited in the present invention may be incorporated into the present invention in the same manner as each cited document is shown individually and specifically in conjunction with one another, .
본 발명의 이해를 위하여, 도면에 도시된 바람직한 실시 예들에서 참조 부호를 기재하였으며, 본 발명의 실시 예들을 설명하기 위하여 특정 용어들을 사용하였으나, 특정 용어에 의해 본 발명이 한정되는 것은 아니며, 본 발명은 당업자에 있어서 통상적으로 생각할 수 있는 모든 구성 요소들을 포함할 수 있다. In order to facilitate understanding of the present invention, reference will be made to the preferred embodiments shown in the drawings, and specific terminology is used to describe the embodiments of the present invention. However, the present invention is not limited to the specific terminology, Lt; / RTI > may include all elements commonly conceivable by those skilled in the art.
본 발명은 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들은 특정 기능들을 실행하는 다양한 개수의 하드웨어 또는/및 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 본 발명은 하나 이상의 마이크로프로세서들의 제어 또는 다른 제어 장치들에 의해서 다양한 기능들을 실행할 수 있는, 메모리, 프로세싱, 로직(logic), 룩업 테이블(look-up table) 등과 같은 직접 회로 구성들을 채용할 수 있다. The present invention may be represented by functional block configurations and various processing steps. These functional blocks may be implemented in a wide variety of hardware and / or software configurations that perform particular functions. For example, the present invention may include integrated circuit configurations, such as memory, processing, logic, look-up tables, etc., that may perform various functions by control of one or more microprocessors or other control devices Can be adopted.
본 발명에의 구성 요소들이 소프트웨어 프로그래밍 또는 소프트웨어 요소들로 실행될 수 있는 것과 유사하게, 본 발명은 데이터 구조, 프로세스들, 루틴들 또는 다른 프로그래밍 구성들의 조합으로 구현되는 다양한 알고리즘을 포함하여, C, C++, 자바(Java), 어셈블러(assembler) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능적인 측면들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 발명은 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다. "매커니즘", "요소", "수단", "구성"과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성들로서 한정되는 것은 아니다. 상기 용어는 프로세서 등과 연계하여 소프트웨어의 일련의 처리들(routines)의 의미를 포함할 수 있다.Similar to the components of the present invention that may be implemented with software programming or software components, the present invention may be implemented as a combination of C, C ++, and C ++, including various algorithms implemented with data structures, processes, routines, , Java (Java), assembler, and the like. Functional aspects may be implemented with algorithms running on one or more processors. Further, the present invention can employ conventional techniques for electronic environment setting, signal processing, and / or data processing. Terms such as "mechanism", "element", "means", "configuration" may be used broadly and are not limited to mechanical and physical configurations. The term may include the meaning of a series of routines of software in conjunction with a processor or the like.
본 발명에서 설명하는 특정 실행들은 일 실시 예들로서, 어떠한 방법으로도 본 발명의 범위를 한정하는 것은 아니다. 명세서의 간결함을 위하여, 종래 전자적인 구성들, 제어 시스템들, 소프트웨어, 상기 시스템들의 다른 기능적인 측면들의 기재는 생략될 수 있다. 또한, 도면에 도시된 구성 요소들 간의 선들의 연결 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것으로서, 실제 장치에서는 대체 가능하거나 추가의 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들로서 나타내어질 수 있다. 또한, "필수적인", "중요하게" 등과 같이 구체적인 언급이 없다면 본 발명의 적용을 위하여 반드시 필요한 구성 요소가 아닐 수 있다.The specific acts described in the present invention are, by way of example, not intended to limit the scope of the invention in any way. For brevity of description, descriptions of conventional electronic configurations, control systems, software, and other functional aspects of such systems may be omitted. Also, the connections or connecting members of the lines between the components shown in the figures are illustrative of functional connections and / or physical or circuit connections, which may be replaced or additionally provided by a variety of functional connections, physical Connection, or circuit connections. Also, unless explicitly mentioned, such as "essential "," importantly ", etc., it may not be a necessary component for application of the present invention.
본 발명의 명세서(특히 특허청구범위에서)에서 "상기"의 용어 및 이와 유사한 지시 용어의 사용은 단수 및 복수 모두에 해당하는 것일 수 있다. 또한, 본 발명에서 범위(range)를 기재한 경우 상기 범위에 속하는 개별적인 값을 적용한 발명을 포함하는 것으로서(이에 반하는 기재가 없다면), 발명의 상세한 설명에 상기 범위를 구성하는 각 개별적인 값을 기재한 것과 같다. 마지막으로, 본 발명에 따른 방법을 구성하는 단계들에 대하여 명백하게 순서를 기재하거나 반하는 기재가 없다면, 상기 단계들은 적당한 순서로 행해질 수 있다. 반드시 상기 단계들의 기재 순서에 따라 본 발명이 한정되는 것은 아니다. 본 발명에서 모든 예들 또는 예시적인 용어(예들 들어, 등등)의 사용은 단순히 본 발명을 상세히 설명하기 위한 것으로서 특허청구범위에 의해 한정되지 않는 이상 상기 예들 또는 예시적인 용어로 인해 본 발명의 범위가 한정되는 것은 아니다. 또한, 당업자는 다양한 수정, 조합 및 변경이 부가된 특허청구범위 또는 그 균등물의 범주 내에서 설계 조건 및 팩터에 따라 구성될 수 있음을 알 수 있다.The use of the terms "above" and similar indication words in the specification of the present invention (particularly in the claims) may refer to both singular and plural. In addition, in the present invention, when a range is described, it includes the invention to which the individual values belonging to the above range are applied (unless there is contradiction thereto), and each individual value constituting the above range is described in the detailed description of the invention The same. Finally, the steps may be performed in any suitable order, unless explicitly stated or contrary to the description of the steps constituting the method according to the invention. The present invention is not necessarily limited to the order of description of the above steps. The use of all examples or exemplary language (e.g., etc.) in this invention is for the purpose of describing the present invention only in detail and is not to be limited by the scope of the claims, It is not. It will also be appreciated by those skilled in the art that various modifications, combinations, and alterations may be made depending on design criteria and factors within the scope of the appended claims or equivalents thereof.
Claims (13)
상기 네트워크에 연결된 유저 디바이스로부터 데이터 처리 요청을 수신하는 단계;
상기 데이터 처리 요청이 수신됨에 따라, 상기 네트워크의 연결 상태 및 상기 네트워크에 연결된 복수의 에지 컴퓨팅 디바이스들의 데이터 처리 능력에 관한 정보를 포함하는 네트워크 자원 정보를 획득하는 단계; 및
상기 획득된 네트워크 자원 정보를 기초로, 상기 복수의 에지 컴퓨팅 디바이스들 중 상기 유저 디바이스로부터 요청된 데이터 처리를 수행하는 에지 컴퓨팅 디바이스를 결정하는 단계를 포함하되,
상기 획득된 네트워크 자원 정보를 기초로, 상기 복수의 에지 컴퓨팅 디바이스들 각각의 처리 가능 자원값을 결정하는 단계를 더 포함하고,
상기 에지 컴퓨팅 디바이스를 결정하는 단계는, 상기 요청된 데이터 처리에 필요한 대역폭, 연산 종류 및 메모리 용량 중 적어도 하나에 관한 소요 자원값을 결정하는 단계; 및 상기 소요 자원값과 상기 복수의 에지 컴퓨팅 디바이스들 각각의 처리 가능 자원값을 비교하는 단계; 및 상기 비교의 결과에 기초하여, 상기 복수의 에지 컴퓨팅 디바이스들 중 어느 하나를 선택하는 단계를 포함하되,
상기 에지 컴퓨팅 디바이스를 결정하는 단계는,
상기 처리 가능 자원값이 상기 소요 자원값 이상인 적어도 하나의 에지 컴퓨팅 디바이스 중 상기 유저 디바이스와 거리가 가장 가까운 에지 컴퓨팅 디바이스를 선택하는 것을 특징으로 하되,
상기 네트워크 자원 정보를 기초로 상기 유저 디바이스가 요청하는 데이터의 처리를 수행할 상기 에지 컴퓨팅 디바이스를 동적으로 선택함으로써, 부하를 분산시켜 데이터 처리의 효율성을 높이는 것을 특징으로 하며,
상기 네트워크의 연결 상태에 관한 정보에는 상기 네트워크 상에 존재하는 복수의 네트워크 장치들을 연결하는 경로의 혼잡도 및 플로우의 방향 및 경로에 관한 정보가 포함되되,
상기 처리 가능 자원값은 상기 복수의 에지 컴퓨팅 디바이스들 각각에 대한 가용 대역폭 값, 상기 복수의 에지 컴퓨팅 디바이스들 각각과 상기 유저 디바이스 간의 거리, 연산량 값 및 메모리 용량 값 중 하나 또는 둘 이상의 조합으로부터 산출되는 것을 특징으로 하는, 동적인 에지 컴퓨팅을 수행하는 방법.A method for a network control device to perform dynamic edge computing,
Receiving a data processing request from a user device connected to the network;
Obtaining network resource information including information on connection status of the network and data processing capabilities of a plurality of edge computing devices connected to the network as the data processing request is received; And
Determining an edge computing device that performs the requested data processing from the user device of the plurality of edge computing devices based on the obtained network resource information,
Further comprising determining a processable resource value of each of the plurality of edge computing devices based on the obtained network resource information,
Wherein determining the edge computing device comprises: determining a required resource value for at least one of a bandwidth, an operation type, and a memory capacity required for the requested data processing; And comparing the required resource value with a processable resource value of each of the plurality of edge computing devices; And selecting any one of the plurality of edge computing devices based on a result of the comparison,
Wherein determining the edge computing device comprises:
And selects an edge computing device closest to the user device among the at least one edge computing devices whose processable resource value is equal to or higher than the required resource value,
Wherein the edge computing device is configured to dynamically select the edge computing device to process data requested by the user device based on the network resource information to increase the efficiency of data processing by distributing the load,
The information on the connection state of the network includes information on the congestion degree and flow direction and route of a path connecting the plurality of network devices existing on the network,
Wherein the processable resource value is calculated from one or more combinations of an available bandwidth value for each of the plurality of edge computing devices, a distance between each of the plurality of edge computing devices and the user device, a computation amount value, and a memory capacity value ≪ / RTI > wherein the method comprises the steps of:
상기 복수의 에지 컴퓨팅 디바이스들 각각의 연산 능력 및 저장 능력을 포함하는, 동적인 에지 컴퓨팅을 수행하는 방법.The data processing apparatus according to claim 1,
And computing capability and storage capability of each of the plurality of edge computing devices.
상기 유저 디바이스에 상기 결정된 에지 컴퓨팅 디바이스의 식별 정보 및 경로 정보를 제공하는 단계를 더 포함하는, 동적인 에지 컴퓨팅을 수행하는 방법.The method according to claim 1,
Further comprising providing the user device with identification information and path information of the determined edge computing device.
상기 네트워크에 연결된 유저 디바이스로부터 데이터 처리 요청을 수신하는 통신부;
상기 데이터 처리 요청이 수신됨에 따라, 상기 네트워크의 연결 상태 및 상기 네트워크에 연결된 복수의 에지 컴퓨팅 디바이스들의 데이터 처리 능력에 관한 정보를 포함하는 네트워크 자원 정보를 획득하는 정보 획득부; 및
상기 획득된 네트워크 자원 정보를 기초로, 상기 복수의 에지 컴퓨팅 디바이스들 중 상기 유저 디바이스로부터 요청된 데이터 처리를 수행하는 에지 컴퓨팅 디바이스를 결정하는 프로세서를 포함하되,
상기 프로세서는, 상기 획득된 네트워크 자원 정보를 기초로, 상기 복수의 에지 컴퓨팅 디바이스들 각각의 처리 가능 자원값을 결정하고,
상기 프로세서는, 상기 요청된 데이터 처리에 필요한 대역폭, 연산 종류 및 메모리 용량 중 적어도 하나에 관한 소요 자원값을 결정하고, 상기 소요 자원값과 상기 복수의 에지 컴퓨팅 디바이스들 각각의 처리 가능 자원값을 비교하며, 상기 비교의 결과에 기초하여, 상기 복수의 에지 컴퓨팅 디바이스들 중 어느 하나를 선택하며,
상기 프로세서는, 상기 처리 가능 자원값이 상기 소요 자원값 이상인 적어도 하나의 에지 컴퓨팅 디바이스 중 상기 유저 디바이스와 거리가 가장 가까운 에지 컴퓨팅 디바이스를 선택하는 것을 특징으로 하되,
상기 네트워크 자원 정보를 기초로 상기 유저 디바이스가 요청하는 데이터의 처리를 수행할 상기 에지 컴퓨팅 디바이스를 동적으로 선택함으로써, 부하를 분산시켜 데이터 처리의 효율성을 높이는 것을 특징으로 하며,
상기 네트워크의 연결 상태에 관한 정보에는 상기 네트워크 상에 존재하는 복수의 네트워크 장치들을 연결하는 경로의 혼잡도 및 플로우의 방향 및 경로에 관한 정보가 포함되되,
상기 처리 가능 자원값은 상기 복수의 에지 컴퓨팅 디바이스들 각각에 대한 가용 대역폭 값, 상기 복수의 에지 컴퓨팅 디바이스들 각각과 상기 유저 디바이스 간의 거리, 연산량 값 및 메모리 용량 값 중 하나 또는 둘 이상의 조합으로부터 산출되는 것을 특징으로 하는, 동적인 에지 컴퓨팅을 수행하는 장치.1. A network control apparatus for performing dynamic edge computing,
A communication unit for receiving a data processing request from a user device connected to the network;
An information obtaining unit for obtaining network resource information including information on a connection state of the network and data processing capabilities of a plurality of edge computing devices connected to the network as the data processing request is received; And
And a processor for determining an edge computing device to perform the requested data processing from the user device among the plurality of edge computing devices based on the obtained network resource information,
Wherein the processor is further configured to determine a processable resource value of each of the plurality of edge computing devices based on the obtained network resource information,
Wherein the processor determines a required resource value for at least one of a bandwidth, an operation type, and a memory capacity required for the requested data processing, and compares the required resource value with a processable resource value of each of the plurality of edge computing devices Selecting one of the plurality of edge computing devices based on a result of the comparison,
Wherein the processor selects an edge computing device that is closest to the user device among at least one edge computing device with the processable resource value equal to or greater than the required resource value,
Wherein the edge computing device is configured to dynamically select the edge computing device to process data requested by the user device based on the network resource information to increase the efficiency of data processing by distributing the load,
The information on the connection state of the network includes information on the congestion degree and flow direction and route of a path connecting the plurality of network devices existing on the network,
Wherein the processable resource value is calculated from one or more combinations of an available bandwidth value for each of the plurality of edge computing devices, a distance between each of the plurality of edge computing devices and the user device, a computation amount value, and a memory capacity value ≪ / RTI > wherein the device performs dynamic edge computing.
상기 복수의 에지 컴퓨팅 디바이스들 각각의 연산 능력 및 저장 능력을 포함하는, 동적인 에지 컴퓨팅을 수행하는 장치.8. The data processing apparatus according to claim 7,
And computing capability and storage capability of each of the plurality of edge computing devices.
상기 유저 디바이스에 상기 결정된 에지 컴퓨팅 디바이스의 식별 정보 및 경로 정보를 제공하는, 동적인 에지 컴퓨팅을 수행하는 장치.
8. The communication device according to claim 7,
And provides the user device with identification information and path information of the determined edge computing device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160142741A KR101938455B1 (en) | 2016-10-31 | 2016-10-31 | Method and apparatus for perforiming dynamic edge computing |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160142741A KR101938455B1 (en) | 2016-10-31 | 2016-10-31 | Method and apparatus for perforiming dynamic edge computing |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20180047070A KR20180047070A (en) | 2018-05-10 |
KR101938455B1 true KR101938455B1 (en) | 2019-04-11 |
Family
ID=62184981
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020160142741A KR101938455B1 (en) | 2016-10-31 | 2016-10-31 | Method and apparatus for perforiming dynamic edge computing |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101938455B1 (en) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SE545262C2 (en) | 2019-07-03 | 2023-06-13 | Telia Co Ab | A method and a device comprising an edge cloud agent for providing a service |
KR102173452B1 (en) * | 2019-07-05 | 2020-11-03 | 넷마블 주식회사 | Method to process data |
KR20210083117A (en) | 2019-12-26 | 2021-07-06 | 주식회사 코웰테크 | Edge computing processing method based on data type and sensitivity |
US11838384B2 (en) | 2020-07-03 | 2023-12-05 | Electronics And Telecommunications Research Institute | Intelligent scheduling apparatus and method |
KR102418896B1 (en) * | 2020-07-03 | 2022-07-11 | 한국전자통신연구원 | Apparatus and method for intelligent scheduling |
KR102425920B1 (en) * | 2020-12-21 | 2022-07-27 | 주식회사 엘지유플러스 | Method and system for multi-stage data processing |
CN113691626A (en) * | 2021-08-25 | 2021-11-23 | 杭州安恒信息安全技术有限公司 | Internet of things equipment identification method and system and storage medium |
CN118175586A (en) * | 2022-12-09 | 2024-06-11 | 华为技术有限公司 | Communication method, communication device, communication system, medium, chip, and program product |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101661842B1 (en) * | 2015-02-17 | 2016-10-05 | 이화여자대학교 산학협력단 | Cloud service system for mobile terminal and cloud server determination method for cloud service in hierarchical cloudlet system |
-
2016
- 2016-10-31 KR KR1020160142741A patent/KR101938455B1/en active IP Right Grant
Non-Patent Citations (1)
Title |
---|
주석진 외, 최적의 클라우드릿 기반 연산 오프로딩 기법. 한국통신학회 2014년도 추계종합학술발표회* |
Also Published As
Publication number | Publication date |
---|---|
KR20180047070A (en) | 2018-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101938455B1 (en) | Method and apparatus for perforiming dynamic edge computing | |
CN113647062B (en) | Producer Network Function (NF) service instance-wide egress rate limiting | |
US11570262B2 (en) | Methods, systems, and computer readable media for rank processing for network function selection | |
WO2020063335A1 (en) | Slice information processing method and apparatus | |
CN110832826B (en) | Method and system for controlling flow of probability relay in block chain network | |
RU2597227C2 (en) | Method and system for controlling bandwidth | |
US10721744B2 (en) | Resource reallocation | |
CN110972208A (en) | Slice information processing method and device | |
CN114788315A (en) | Policy-based access and mobility management function (AMF) selection using Network Slice Selection Assistance Information (NSSAI) availability information | |
US10469362B1 (en) | Network routing utilization of application programming interfaces | |
US11962478B2 (en) | Feasibility check for network slice instantiation | |
US9722930B2 (en) | Exploiting probabilistic latency expressions for placing cloud applications | |
US10721295B2 (en) | Popularity-based load-balancing for fog-cloud placement | |
CN108293200B (en) | Device throughput determination | |
US20140101316A1 (en) | Apparatus and method for provisioning | |
US9813840B2 (en) | Methods, devices and computer readable storage devices for guiding an application programming interface request | |
Casetti et al. | Network slices for vertical industries | |
EP4037270B1 (en) | Service traffic adjusting method and apparatus | |
CN109274589B (en) | Service transmission method and device | |
US20200007430A1 (en) | Network communications with optimized quality | |
US20180115498A1 (en) | Systems and methods for adaptive credit-based flow | |
JP2020028043A (en) | Network control device, network control method and program | |
CN112860427A (en) | Container cluster and load balancing method and device thereof | |
EP2930617A1 (en) | Resource management method and device | |
US9112807B2 (en) | System and method for managing network information |
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 |